From e18875a75250799de795c35754e08c504651d85a Mon Sep 17 00:00:00 2001 From: zach Date: Mon, 24 Aug 2026 23:55:51 +0200 Subject: [PATCH] add markdown parsing + latex + tree-sitter highlighting for codeblocks in llm responses --- Helpers/Picker.qml | 26 +- .../Sidebar/Chat/ChatContent.qml | 34 +- .../Sidebar/Chat/Content/Actions.qml | 19 +- .../Sidebar/Chat/Content/CodeBlockView.qml | 157 ++++ .../Sidebar/Chat/Content/ContentBubble.qml | 120 +++ .../Sidebar/Chat/Content/MarkdownBlocks.qml | 88 ++ .../Sidebar/Chat/Content/MathBlockView.qml | 50 ++ .../Sidebar/Chat/Content/MessageDelegate.qml | 162 ++-- .../Sidebar/Chat/Content/ProcessBlock.qml | 149 ++++ .../Sidebar/Chat/Content/Reasoning.qml | 107 --- Plugins/ZShell/Config/llm.hpp | 3 + Plugins/ZShell/Llm/CMakeLists.txt | 59 ++ Plugins/ZShell/Llm/chat.cpp | 21 + Plugins/ZShell/Llm/chat.hpp | 4 + Plugins/ZShell/Llm/chatstore.cpp | 164 +++- Plugins/ZShell/Llm/codehighlighter.cpp | 384 +++++++++ Plugins/ZShell/Llm/codehighlighter.hpp | 69 ++ .../fonts/latinmodern/GUST-FONT-LICENSE.txt | 40 + .../fonts/latinmodern/latinmodern-math.otf | Bin 0 -> 733736 bytes .../Llm/fonts/latinmodern/lmroman10-bold.otf | Bin 0 -> 96536 bytes .../latinmodern/lmroman10-bolditalic.otf | Bin 0 -> 108172 bytes .../fonts/latinmodern/lmroman10-italic.otf | Bin 0 -> 107896 bytes .../fonts/latinmodern/lmroman10-regular.otf | Bin 0 -> 95432 bytes Plugins/ZShell/Llm/generation.cpp | 258 ++++-- Plugins/ZShell/Llm/generation.hpp | 60 +- Plugins/ZShell/Llm/highlight-queries/bash.scm | 59 ++ Plugins/ZShell/Llm/highlight-queries/c.scm | 84 ++ Plugins/ZShell/Llm/highlight-queries/cpp.scm | 73 ++ Plugins/ZShell/Llm/highlight-queries/go.scm | 126 +++ .../Llm/highlight-queries/javascript.scm | 207 +++++ Plugins/ZShell/Llm/highlight-queries/json.scm | 19 + .../ZShell/Llm/highlight-queries/python.scm | 140 ++++ Plugins/ZShell/Llm/highlight-queries/rust.scm | 164 ++++ Plugins/ZShell/Llm/highlight-queries/sql.scm | 463 ++++++++++ Plugins/ZShell/Llm/highlight-queries/toml.scm | 36 + .../Llm/highlight-queries/typescript.scm | 38 + Plugins/ZShell/Llm/highlight-queries/yaml.scm | 82 ++ Plugins/ZShell/Llm/llmclient.cpp | 790 ++++++++++++------ Plugins/ZShell/Llm/llmclient.hpp | 65 +- Plugins/ZShell/Llm/markdownblock.hpp | 28 + Plugins/ZShell/Llm/markdownparser.cpp | 144 ++++ Plugins/ZShell/Llm/markdownparser.hpp | 25 + Plugins/ZShell/Llm/mathtext.cpp | 176 ++++ Plugins/ZShell/Llm/mathtext.hpp | 72 ++ Plugins/ZShell/Llm/message.cpp | 13 +- Plugins/ZShell/Llm/message.hpp | 8 +- Plugins/ZShell/Llm/messagemodel.cpp | 3 +- Plugins/ZShell/Llm/segment.cpp | 138 +++ Plugins/ZShell/Llm/segment.hpp | 113 +++ Plugins/ZShell/Llm/tool.cpp | 59 ++ Plugins/ZShell/Llm/tool.hpp | 70 ++ Plugins/ZShell/Llm/webfetchtool.cpp | 428 ++++++++++ Plugins/ZShell/Llm/webfetchtool.hpp | 64 ++ 53 files changed, 5043 insertions(+), 618 deletions(-) create mode 100644 Modules/Notifications/Sidebar/Chat/Content/CodeBlockView.qml create mode 100644 Modules/Notifications/Sidebar/Chat/Content/ContentBubble.qml create mode 100644 Modules/Notifications/Sidebar/Chat/Content/MarkdownBlocks.qml create mode 100644 Modules/Notifications/Sidebar/Chat/Content/MathBlockView.qml create mode 100644 Modules/Notifications/Sidebar/Chat/Content/ProcessBlock.qml delete mode 100644 Modules/Notifications/Sidebar/Chat/Content/Reasoning.qml create mode 100644 Plugins/ZShell/Llm/codehighlighter.cpp create mode 100644 Plugins/ZShell/Llm/codehighlighter.hpp create mode 100644 Plugins/ZShell/Llm/fonts/latinmodern/GUST-FONT-LICENSE.txt create mode 100644 Plugins/ZShell/Llm/fonts/latinmodern/latinmodern-math.otf create mode 100644 Plugins/ZShell/Llm/fonts/latinmodern/lmroman10-bold.otf create mode 100644 Plugins/ZShell/Llm/fonts/latinmodern/lmroman10-bolditalic.otf create mode 100644 Plugins/ZShell/Llm/fonts/latinmodern/lmroman10-italic.otf create mode 100644 Plugins/ZShell/Llm/fonts/latinmodern/lmroman10-regular.otf create mode 100644 Plugins/ZShell/Llm/highlight-queries/bash.scm create mode 100644 Plugins/ZShell/Llm/highlight-queries/c.scm create mode 100644 Plugins/ZShell/Llm/highlight-queries/cpp.scm create mode 100644 Plugins/ZShell/Llm/highlight-queries/go.scm create mode 100644 Plugins/ZShell/Llm/highlight-queries/javascript.scm create mode 100644 Plugins/ZShell/Llm/highlight-queries/json.scm create mode 100644 Plugins/ZShell/Llm/highlight-queries/python.scm create mode 100644 Plugins/ZShell/Llm/highlight-queries/rust.scm create mode 100644 Plugins/ZShell/Llm/highlight-queries/sql.scm create mode 100644 Plugins/ZShell/Llm/highlight-queries/toml.scm create mode 100644 Plugins/ZShell/Llm/highlight-queries/typescript.scm create mode 100644 Plugins/ZShell/Llm/highlight-queries/yaml.scm create mode 100644 Plugins/ZShell/Llm/markdownblock.hpp create mode 100644 Plugins/ZShell/Llm/markdownparser.cpp create mode 100644 Plugins/ZShell/Llm/markdownparser.hpp create mode 100644 Plugins/ZShell/Llm/mathtext.cpp create mode 100644 Plugins/ZShell/Llm/mathtext.hpp create mode 100644 Plugins/ZShell/Llm/segment.cpp create mode 100644 Plugins/ZShell/Llm/segment.hpp create mode 100644 Plugins/ZShell/Llm/tool.cpp create mode 100644 Plugins/ZShell/Llm/tool.hpp create mode 100644 Plugins/ZShell/Llm/webfetchtool.cpp create mode 100644 Plugins/ZShell/Llm/webfetchtool.hpp diff --git a/Helpers/Picker.qml b/Helpers/Picker.qml index 05b4146..b87f53e 100755 --- a/Helpers/Picker.qml +++ b/Helpers/Picker.qml @@ -126,33 +126,29 @@ Item { focus: true opacity: 0 - Behavior on opacity { - Anim { - duration: 300 - } - } Behavior on rsx { enabled: !selectArea.pressed && root.mode === "select" - ExAnim { - } + ExAnim {} } Behavior on rsy { enabled: !selectArea.pressed && root.mode === "select" - ExAnim { - } + ExAnim {} } Behavior on sh { enabled: !selectArea.pressed && root.mode === "select" - ExAnim { - } + ExAnim {} } Behavior on sw { enabled: !selectArea.pressed && root.mode === "select" - ExAnim { + ExAnim {} + } + Behavior on opacity { + Anim { + duration: 300 } } @@ -352,8 +348,7 @@ Item { y: selectionRect.y - root.realBorderWidth Behavior on border.color { - Anim { - } + Anim {} } } @@ -402,6 +397,5 @@ Item { onUndoRequested: annotations.undo() } - component ExAnim: Anim { - } + component ExAnim: Anim {} } diff --git a/Modules/Notifications/Sidebar/Chat/ChatContent.qml b/Modules/Notifications/Sidebar/Chat/ChatContent.qml index 4a1220d..2908013 100644 --- a/Modules/Notifications/Sidebar/Chat/ChatContent.qml +++ b/Modules/Notifications/Sidebar/Chat/ChatContent.qml @@ -70,7 +70,7 @@ Item { fadeAmount: 0.05 fadeThreshold: Tokens.padding.medium model: root.chatData.messagesModel - spacing: Tokens.spacing.medium + spacing: 0 verticalLayoutDirection: VerticalFadeListView.BottomToTop add: Transition { @@ -127,26 +127,38 @@ Item { visible: !root.chatData } - IconButton { - id: scrollToBottom - + Item { anchors.bottom: input.top anchors.bottomMargin: Tokens.spacing.extraLarge anchors.horizontalCenter: parent.horizontalCenter - font.pointSize: Tokens.font.size.large - icon: "arrow_downward" - isRound: true - padding: Tokens.padding.extraSmall + implicitHeight: scrollToBottom.implicitHeight + implicitWidth: scrollToBottom.implicitWidth scale: list.visibleArea.yPosition + list.visibleArea.heightRatio < 1 && list.contentHeight > list.height ? 1 : 0 - type: IconButton.Filled visible: scale > 0 Behavior on scale { Anim {} } - onClicked: { - list.positionViewAtBeginning(); + Elevation { + anchors.fill: parent + level: 2 + radius: scrollToBottom.radius + } + + IconButton { + id: scrollToBottom + + anchors.centerIn: parent + font.pointSize: Tokens.font.size.large + icon: "arrow_downward" + isRound: true + padding: Tokens.padding.extraSmall + type: IconButton.Tonal + + onClicked: { + list.positionViewAtBeginning(); + } } } diff --git a/Modules/Notifications/Sidebar/Chat/Content/Actions.qml b/Modules/Notifications/Sidebar/Chat/Content/Actions.qml index 2b0bade..1d4efdf 100644 --- a/Modules/Notifications/Sidebar/Chat/Content/Actions.qml +++ b/Modules/Notifications/Sidebar/Chat/Content/Actions.qml @@ -12,10 +12,11 @@ Item { required property ChatGeneration current required property TextEdit edit required property bool hovered - readonly property bool isUser: message.role === ChatMessage.Role.User + required property bool isUser required property ChatMessage message + required property LlmSegment segment - implicitHeight: root.current.content !== "" ? editButton.implicitHeight : 0 + implicitHeight: editButton.implicitHeight implicitWidth: generationTools.implicitWidth + editTools.implicitWidth + Tokens.spacing.small ButtonRow { @@ -66,8 +67,7 @@ Item { visible: opacity > 0 Behavior on opacity { - Anim { - } + Anim {} } IconButton { @@ -78,8 +78,7 @@ Item { visible: !root.isUser Behavior on scale { - Anim { - } + Anim {} } onClicked: { @@ -94,8 +93,7 @@ Item { scale: root.edit.readOnly ? 1 : 0 Behavior on scale { - Anim { - } + Anim {} } onClicked: Quickshell.clipboardText = root.current.content @@ -107,8 +105,11 @@ Item { icon: root.edit.readOnly ? "edit" : "check" inactiveColor: Colors.palette.m3tertiary inactiveOnColor: Colors.palette.m3onTertiary + visible: root.isUser - onClicked: root.edit.readOnly = !root.edit.readOnly + onClicked: { + root.edit.readOnly = !root.edit.readOnly; + } } } } diff --git a/Modules/Notifications/Sidebar/Chat/Content/CodeBlockView.qml b/Modules/Notifications/Sidebar/Chat/Content/CodeBlockView.qml new file mode 100644 index 0000000..617c0a1 --- /dev/null +++ b/Modules/Notifications/Sidebar/Chat/Content/CodeBlockView.qml @@ -0,0 +1,157 @@ +import QtQuick +import QtQuick.Layouts +import Quickshell +import ZShell.Config +import ZShell.Llm +import qs.Components +import qs.Services + +CustomClippingRect { + id: root + + required property string language + required property string code + property bool copied: false + property color codeColor: Colors.palette.m3onSurfaceVariant + property color codeBackgroundColor: Colors.palette.m3surfaceContainerLow + property color codeHeaderColor: Colors.palette.m3outline + property color codeAccentColor: Colors.palette.m3primary + + // Highlighter spans for the current code; refreshed when the code or + // its language changes. + property var codeSpans: [] + + function refresh() { + codeSpans = CodeHighlighter.highlight(root.code, root.language); + } + + function roleColor(kind) { + switch (kind) { + case "comment": + return Colors.palette.m3outline; + case "string": + return Colors.palette.m3tertiary; + case "string.key": + return Colors.palette.m3secondary; + case "number": + case "constant": + return Colors.palette.m3tertiaryFixed; + case "keyword": + return root.codeAccentColor; + case "type": + return Colors.palette.m3secondary; + case "function": + case "method": + return Colors.palette.m3onSurface; + case "macro": + case "preproc": + return Colors.palette.m3secondaryContainer; + case "operator": + case "property": + return root.codeColor; + case "label": + case "attribute": + return Colors.palette.m3tertiaryFixedDim; + default: + return root.codeColor; + } + } + + function escapeHtml(text) { + return text.replace(/&/g, "&").replace(//g, ">"); + } + + // Wraps the code in tags following the highlighter spans. + function highlightedHtml(code, spans) { + let out; + if (!spans.length) { + out = escapeHtml(code); + } else { + out = ""; + let pos = 0; + for (let i = 0; i < spans.length; i++) { + const span = spans[i]; + if (span.start > pos) + out += escapeHtml(code.slice(pos, span.start)); + out += `` + escapeHtml(code.slice(span.start, span.start + span.length)) + ""; + pos = span.start + span.length; + } + if (pos < code.length) + out += escapeHtml(code.slice(pos)); + } + // RichText collapses HTML whitespace: break newlines, and protect + // line-leading indentation with nbsp (internal spaces stay normal + // so long lines can still wrap). + return out + .replace(/(^|\n)[ \t]+/g, ws => ws.replace(/[ \t]/g, " ")) + .replace(/\n/g, "
"); + } + + implicitWidth: headerRow.implicitWidth + headerRow.anchors.leftMargin + headerRow.anchors.rightMargin + implicitHeight: headerRow.anchors.topMargin + headerRow.implicitHeight + codeText.implicitHeight + codeText.anchors.margins * 2 + color: root.codeBackgroundColor + radius: Tokens.rounding.medium + + onLanguageChanged: refresh() + onCodeChanged: refresh() + + CustomText { + id: codeText + + anchors.left: parent.left + anchors.top: headerRow.bottom + anchors.right: parent.right + anchors.margins: Tokens.padding.small + color: root.codeColor + font.family: Config.appearance.font.family.mono + font.pointSize: Tokens.font.size.small + textFormat: Text.RichText + text: root.highlightedHtml(root.code, root.codeSpans) + wrapMode: Text.WrapAtWordBoundaryOrAnywhere + } + + RowLayout { + id: headerRow + + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.topMargin: Tokens.padding.small + anchors.leftMargin: Tokens.padding.small + anchors.rightMargin: Tokens.padding.small + spacing: Tokens.spacing.small + + CustomText { + Layout.alignment: Qt.AlignVCenter + color: root.codeHeaderColor + font.pointSize: Tokens.font.size.small + text: root.language + visible: root.language.length > 0 + } + + Item { + Layout.fillWidth: true + } + + IconButton { + icon: root.copied ? "check" : "content_copy" + inactiveColor: "transparent" + inactiveOnColor: root.codeHeaderColor + type: IconButton.Text + + onClicked: { + Quickshell.clipboardText = root.code; + root.copied = true; + copyResetTimer.restart(); + } + + Timer { + id: copyResetTimer + + interval: 1500 + + onTriggered: root.copied = false + } + } + } +} diff --git a/Modules/Notifications/Sidebar/Chat/Content/ContentBubble.qml b/Modules/Notifications/Sidebar/Chat/Content/ContentBubble.qml new file mode 100644 index 0000000..c937931 --- /dev/null +++ b/Modules/Notifications/Sidebar/Chat/Content/ContentBubble.qml @@ -0,0 +1,120 @@ +import QtQuick +import QtQuick.Layouts +import ZShell.Llm +import ZShell.Config +import qs.Components +import qs.Services + +Item { + id: root + + required property bool isUser + required property LlmSegment segment + required property bool hovered + required property Repeater repeater + required property int index + required property ChatMessage message + required property ChatGeneration current + + // Widest the bubble may grow to; assistant bubbles always use it so + // the markdown blocks have a deterministic width to wrap against. + readonly property real contentMaxWidth: width - Tokens.spacing.extraSmall - Tokens.spacing.extraLarge + + signal edit(text: string) + + implicitHeight: bubble.implicitHeight + actionsRow.implicitHeight + actionsRow.anchors.topMargin + + CustomRect { + id: bubble + + radius: Tokens.rounding.medium + color: root.isUser ? Colors.palette.m3primary : Colors.palette.m3surfaceContainer + implicitWidth: root.isUser ? Math.min(msgText.implicitWidth + Tokens.padding.medium * 2, root.contentMaxWidth) : root.contentMaxWidth + implicitHeight: root.isUser ? msgText.contentHeight + Tokens.padding.medium * 2 : blocks.implicitHeight + Tokens.padding.medium * 2 + anchors.right: root.isUser ? parent.right : undefined + + // User messages stay a plain editable text field. + TextEditBase { + id: msgText + + visible: root.isUser + anchors.left: parent.left + anchors.margins: Tokens.padding.medium + anchors.right: parent.right + anchors.top: parent.top + animateCursor: false + color: root.isUser ? Colors.palette.m3onPrimary : Colors.palette.m3onSurface + cursor.color: root.isUser ? Colors.palette.m3onPrimary : Colors.palette.m3primary + font.pointSize: Tokens.font.size.smaller + readOnly: true + selectionColor: Qt.alpha((root.isUser ? Colors.palette.m3onPrimary : Colors.palette.m3primary), 0.4) + text: root.isUser ? root.segment.text : "" + textFormat: CustomText.MarkdownText + wrapMode: Text.WordWrap + + Keys.onPressed: event => { + if (event.key == Qt.Key_Return) { + if (!(event.modifiers & Qt.ShiftModifier)) { + readOnly = true; + event.accepted = true; + } + } else if (event.key == Qt.Key_Escape) { + text = root.segment.text; + readOnly = true; + event.accepted = true; + } + } + onEditingFinished: { + const old = root.segment.text; + if (old !== text) + root.edit(text); + + readOnly = true; + } + onReadOnlyChanged: { + if (readOnly) { + animateCursor = false; + root.forceActiveFocus(); + textFormat = CustomText.MarkdownText; + } else { + var raw = root.segment.text; + textFormat = CustomText.PlainText; + text = raw; + forceActiveFocus(); + cursorPosition = text.length; + animateCursor = true; + } + } + } + + // Assistant content: parsed markdown blocks. + MarkdownBlocks { + id: blocks + + visible: !root.isUser + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.margins: Tokens.padding.medium + blocks: root.segment.markdown + } + } + + Actions { + id: actionsRow + + anchors.left: parent.left + anchors.right: (implicitWidth > bubble.implicitWidth) ? undefined : bubble.right + anchors.top: bubble.bottom + visible: { + return (root.segment.type === LlmSegment.Type.Content) && root.segment.status !== LlmSegment.Status.Running && root.repeater.count === (root.index + 1); + } + anchors.topMargin: Tokens.spacing.medium + edit: msgText + hovered: root.hovered + isUser: root.isUser + segment: root.segment + current: root.current + message: root.message + } +} diff --git a/Modules/Notifications/Sidebar/Chat/Content/MarkdownBlocks.qml b/Modules/Notifications/Sidebar/Chat/Content/MarkdownBlocks.qml new file mode 100644 index 0000000..f9654e7 --- /dev/null +++ b/Modules/Notifications/Sidebar/Chat/Content/MarkdownBlocks.qml @@ -0,0 +1,88 @@ +import QtQuick +import ZShell.Config +import ZShell.Llm +import qs.Components +import qs.Services + +Column { + id: root + + // Top-level markdown blocks (see MarkdownParser / LlmSegment.markdown). + required property var blocks + + spacing: Tokens.spacing.small + + Repeater { + id: blockRep + + model: root.blocks + + delegate: DelegateChooser { + role: "type" + + DelegateChoice { + roleValue: LlmMarkdown.Type.Code + + delegate: CodeBlockView { + required property var modelData + + language: modelData.language + code: modelData.code + anchors.right: parent.right + anchors.left: parent.left + } + } + + DelegateChoice { + roleValue: LlmMarkdown.Type.Math + + delegate: MathBlockView { + required property var modelData + + latex: modelData.latex + anchors.right: parent.right + anchors.left: parent.left + } + } + + DelegateChoice { + roleValue: LlmMarkdown.Type.Heading + + delegate: CustomText { + required property var modelData + + color: Colors.palette.m3onSurface + anchors.right: parent.right + anchors.left: parent.left + text: modelData.text + textFormat: Text.MarkdownText + font.bold: true + font.pointSize: { + if (modelData.level <= 1) + return Tokens.font.size.larger; + if (modelData.level === 2) + return Tokens.font.size.normal; + return Tokens.font.size.smaller; + } + wrapMode: Text.WrapAtWordBoundaryOrAnywhere + } + } + + DelegateChoice { + roleValue: LlmMarkdown.Type.Text + + delegate: CustomText { + required property var modelData + + color: Colors.palette.m3onSurface + anchors.right: parent.right + anchors.left: parent.left + text: modelData.text + textFormat: Text.MarkdownText + font.pointSize: Tokens.font.size.smaller + wrapMode: Text.WrapAtWordBoundaryOrAnywhere + } + } + } + } +} diff --git a/Modules/Notifications/Sidebar/Chat/Content/MathBlockView.qml b/Modules/Notifications/Sidebar/Chat/Content/MathBlockView.qml new file mode 100644 index 0000000..856005d --- /dev/null +++ b/Modules/Notifications/Sidebar/Chat/Content/MathBlockView.qml @@ -0,0 +1,50 @@ +import QtQuick +import ZShell.Config +import ZShell.Llm +import qs.Components +import qs.Services + +Item { + id: root + + required property string latex + property color mathColor: Colors.palette.m3onSurface + property real fontSize: Tokens.font.size.large + + implicitWidth: Math.max(fallbackText.implicitWidth, root.width) + implicitHeight: Math.max(equationImage.height, fallbackText.contentHeight) + Tokens.padding.small * 2 + + LlmMathText { + id: math + + latex: root.latex + color: root.mathColor + fontPointSize: root.fontSize + devicePixelRatio: Screen.devicePixelRatio + } + + Image { + id: equationImage + + anchors.centerIn: parent + source: math.imageUrl + asynchronous: true + visible: math.ok + fillMode: Image.PreserveAspectFit + smooth: true + width: Math.min(math.width, root.width) + height: math.width > 0 ? width * (math.height / math.width) : 0 + } + + CustomText { + id: fallbackText + + anchors.centerIn: parent + color: root.mathColor + font.family: Config.appearance.font.family.mono + font.pointSize: Tokens.font.size.small + text: root.latex + wrapMode: Text.WrapAtWordBoundaryOrAnywhere + visible: !math.ok + } +} diff --git a/Modules/Notifications/Sidebar/Chat/Content/MessageDelegate.qml b/Modules/Notifications/Sidebar/Chat/Content/MessageDelegate.qml index 73e758d..0133a1e 100644 --- a/Modules/Notifications/Sidebar/Chat/Content/MessageDelegate.qml +++ b/Modules/Notifications/Sidebar/Chat/Content/MessageDelegate.qml @@ -1,6 +1,8 @@ pragma ComponentBehavior: Bound import QtQuick +import QtQuick.Layouts +import Quickshell import ZShell.Config import ZShell.Llm import qs.Components @@ -14,6 +16,7 @@ MouseArea { readonly property bool isUser: modelData.role === ChatMessage.Role.User required property ChatMessage modelData property bool reasoningExpanded: false + readonly property var blocks: blockify(current.segments) property real savedContentY: -1 function handleReasoningToggle(expanded: bool): void { @@ -34,14 +37,36 @@ MouseArea { } } - anchors.left: parent.left - anchors.leftMargin: root.isUser ? 0 : Tokens.spacing.extraSmall - anchors.right: parent.right - anchors.rightMargin: root.isUser ? Tokens.spacing.extraSmall : 0 + function blockify(segs) { + const blocks = []; + for (let i = 0; i < segs.length; i++) { + const seg = segs[i]; + if (seg.type === LlmSegment.Type.Content) { + blocks.push({ + kind: "content", + id: i, + segments: [seg] + }); + } else { + const last = blocks.length ? blocks[blocks.length - 1] : null; + if (last && last.kind === "process") { + last.segments.push(seg); + } else { + blocks.push({ + kind: "process", + id: i, + segments: [seg] + }); + } + } + } + return blocks; + } + + implicitWidth: ListView.view.width hoverEnabled: true - // Explicit, synchronous height — sum of children, no Layout polish involved. - implicitHeight: reasoningLoader.implicitHeight + (reasoningLoader.active ? Tokens.spacing.medium : 0) + bubble.implicitHeight + actionsRow.implicitHeight + actionsRow.anchors.topMargin preventStealing: true + implicitHeight: layout.implicitHeight + Tokens.padding.medium Binding { property: "contentY" @@ -59,106 +84,61 @@ MouseArea { type: Anim.DefaultEffects } - Loader { - id: reasoningLoader + Column { + id: layout - readonly property bool shouldBeActive: root.current.reasoningActive || root.current.content === "" - - active: !root.isUser + anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right - anchors.rightMargin: Tokens.spacing.extraLarge - anchors.top: parent.top - sourceComponent: Reasoning { - current: root.current + Repeater { + id: segmentRep - onExpandedChanged: { - root.handleReasoningToggle(expanded); + model: ScriptModel { + values: root.blocks + objectProp: "id" } - } - } + delegate: DelegateChooser { + role: "kind" - CustomRect { - id: bubble + DelegateChoice { + roleValue: "process" - anchors.left: root.isUser ? undefined : parent.left - anchors.right: root.isUser ? parent.right : undefined - anchors.top: reasoningLoader.active ? reasoningLoader.bottom : parent.top - anchors.topMargin: reasoningLoader.active ? Tokens.spacing.medium : 0 - color: root.isUser ? Colors.palette.m3primary : Colors.palette.m3surfaceContainer - implicitHeight: root.current.content !== "" ? msgText.contentHeight + Tokens.padding.medium * 2 : 0 - implicitWidth: Math.min(msgText.implicitWidth + Tokens.padding.medium * 2, root.width - Tokens.spacing.extraSmall - Tokens.spacing.extraLarge) - radius: Tokens.rounding.medium - visible: !root.current.reasoningActive + delegate: ProcessBlock { + required property int index + required property var modelData - TextEditBase { - id: msgText + segments: modelData.segments + isActive: index === root.blocks.length - 1 + width: root.width - anchors.left: parent.left - anchors.margins: Tokens.padding.medium - anchors.right: parent.right - anchors.top: parent.top - animateCursor: false - color: root.isUser ? Colors.palette.m3onPrimary : Colors.palette.m3onSurface - cursor.color: root.isUser ? Colors.palette.m3onPrimary : Colors.palette.m3primary - font.pointSize: Tokens.font.size.smaller - readOnly: true - selectionColor: Qt.alpha((root.isUser ? Colors.palette.m3onPrimary : Colors.palette.m3primary), 0.4) - text: root.current.content - textFormat: CustomText.MarkdownText - wrapMode: Text.WordWrap - - Keys.onPressed: event => { - if (event.key == Qt.Key_Return) { - if (!(event.modifiers & Qt.ShiftModifier)) { - readOnly = true; - event.accepted = true; + onExpandedChanged: root.handleReasoningToggle(expanded) } - } else if (event.key == Qt.Key_Escape) { - text = root.current.content; - readOnly = true; - event.accepted = true; - } - } - onEditingFinished: { - const old = root.current.content; - if (old !== text) { - root.modelData.edit(text); - - if (root.isUser) - root.modelData.generate(); } - readOnly = true; - } - onReadOnlyChanged: { - if (readOnly) { - animateCursor = false; - root.forceActiveFocus(); - textFormat = CustomText.MarkdownText; - } else { - var raw = root.current.content; - textFormat = CustomText.PlainText; - text = raw; - forceActiveFocus(); - cursorPosition = text.length; - animateCursor = true; + DelegateChoice { + roleValue: "content" + + delegate: ContentBubble { + required property var modelData + + isUser: root.isUser + segment: modelData.segments[0] + width: root.width + repeater: segmentRep + message: root.modelData + current: root.current + hovered: root.containsMouse + + onEdit: text => { + root.modelData.edit(text); + + if (root.isUser) + root.modelData.generate(); + } + } } } } } - - Actions { - id: actionsRow - - anchors.left: parent.left - anchors.right: (implicitWidth > bubble.implicitWidth) ? undefined : bubble.right - anchors.top: bubble.bottom - anchors.topMargin: Tokens.spacing.medium - current: root.current - edit: msgText - hovered: root.containsMouse - message: root.modelData - } } diff --git a/Modules/Notifications/Sidebar/Chat/Content/ProcessBlock.qml b/Modules/Notifications/Sidebar/Chat/Content/ProcessBlock.qml new file mode 100644 index 0000000..18f7c85 --- /dev/null +++ b/Modules/Notifications/Sidebar/Chat/Content/ProcessBlock.qml @@ -0,0 +1,149 @@ +import QtQuick +import QtQuick.Layouts +import ZShell.Config +import ZShell.Llm +import qs.Components +import qs.Services + +Item { + id: root + + required property var segments + required property bool isActive + property bool expanded: false + readonly property LlmSegment lastSegment: root.segments[root.segments.length - 1] + readonly property real totalElapsedMs: root.segments.reduce((sum, s) => sum + (s.elapsedMs ?? 0), 0) + + implicitHeight: expandedRect.implicitHeight + collapsedText.implicitHeight + expandedRect.anchors.topMargin + + LoadingIndicator { + id: spinnerReasoning + + anchors.centerIn: expandBtn + implicitSize: collapsedText.implicitHeight + opacity: root.isActive ? 1 : 0 + visible: opacity > 0 + + Behavior on opacity { + Anim {} + } + } + + IconButton { + id: expandBtn + + anchors.left: parent.left + anchors.verticalCenter: collapsedText.verticalCenter + font.pointSize: Tokens.font.size.large + anchors.topMargin: 0 + icon: "keyboard_arrow_down" + inactiveOnColor: hovered ? Colors.palette.m3onSurface : Colors.palette.m3outline + opacity: root.isActive ? 0 : 1 + rotation: root.expanded ? 180 : 0 + type: IconButton.Text + + Behavior on rotation { + Anim {} + } + + onClicked: root.expanded = !root.expanded + } + + CustomText { + id: collapsedText + + anchors.left: expandBtn.right + anchors.margins: Tokens.padding.medium + anchors.right: parent.right + anchors.top: parent.top + anchors.topMargin: 0 + color: Colors.palette.m3outline + font.pointSize: Tokens.font.size.small + text: { + if (root.isActive) { + if (root.lastSegment.type === LlmSegment.Type.ToolCall) + return qsTr("Using %1...").arg(root.lastSegment.name); + return qsTr("Thinking..."); + } + return qsTr("Worked for %1s").arg((root.totalElapsedMs / 1000).toFixed(1)); + } + + Behavior on opacity { + Anim {} + } + } + + CustomClippingRect { + id: expandedRect + + anchors.left: parent.left + anchors.right: parent.right + anchors.top: collapsedText.bottom + anchors.topMargin: Tokens.spacing.medium + color: Colors.palette.m3surfaceContainerLow + implicitHeight: root.expanded ? expandedContent.contentHeight + expandedContent.anchors.margins * 2 : 0 + opacity: root.expanded ? 1 : 0 + radius: Tokens.rounding.medium + visible: opacity > 0 + + Behavior on implicitHeight { + Anim { + type: Anim.DefaultEffects + } + } + Behavior on opacity { + Anim {} + } + + ListView { + id: expandedContent + + anchors.fill: parent + anchors.margins: Tokens.padding.medium + model: root.segments + spacing: Tokens.spacing.medium + + delegate: Item { + id: segment + + required property LlmSegment modelData + required property int index + + implicitWidth: ListView.view.width + implicitHeight: header.implicitHeight + content.implicitHeight + content.anchors.topMargin + + RowLayout { + id: header + + anchors.left: parent.left + anchors.right: parent.right + spacing: Tokens.spacing.small + + MaterialIcon { + text: segment.modelData.type === LlmSegment.Type.Reasoning ? "cognition" : "build" + fill: 1 + } + + CustomText { + Layout.fillWidth: true + text: segment.modelData.type === LlmSegment.Type.Reasoning ? qsTr("Thought for %1s").arg((segment.modelData.elapsedMs / 1000).toFixed(1)) : qsTr("Used %1 for %2s").arg(segment.modelData.name).arg((segment.modelData.elapsedMs / 1000).toFixed(1)) + } + } + + CustomText { + id: content + + anchors.left: parent.left + anchors.leftMargin: Tokens.padding.small + anchors.top: header.bottom + anchors.topMargin: Tokens.spacing.small + anchors.right: parent.right + color: Colors.palette.m3outline + font.pointSize: Tokens.font.size.small + wrapMode: CustomText.WrapAtWordBoundaryOrAnywhere + text: segment.modelData.type === LlmSegment.Type.Reasoning ? segment.modelData.text : qsTr("Fetched %1").arg(JSON.parse(segment.modelData.arguments)?.url ?? "website") + } + } + } + } +} diff --git a/Modules/Notifications/Sidebar/Chat/Content/Reasoning.qml b/Modules/Notifications/Sidebar/Chat/Content/Reasoning.qml deleted file mode 100644 index 74bad30..0000000 --- a/Modules/Notifications/Sidebar/Chat/Content/Reasoning.qml +++ /dev/null @@ -1,107 +0,0 @@ -import QtQuick -import ZShell.Config -import ZShell.Llm -import qs.Components -import qs.Services - -Item { - id: root - - required property ChatGeneration current - property bool expanded: false - readonly property bool isReasoning: root.current.reasoningActive || root.current.content === "" - - implicitHeight: expandedRect.implicitHeight + collapsedText.implicitHeight + expandedRect.anchors.topMargin - - LoadingIndicator { - id: spinnerReasoning - - anchors.left: parent.left - anchors.margins: Tokens.padding.medium - anchors.verticalCenter: parent.verticalCenter - implicitSize: collapsedText.implicitHeight - opacity: root.isReasoning ? 1 : 0 - visible: opacity > 0 - - Behavior on opacity { - Anim { - } - } - } - - IconButton { - id: expandBtn - - anchors.left: parent.left - anchors.margins: Tokens.padding.medium - anchors.verticalCenter: collapsedText.verticalCenter - font.pointSize: Tokens.font.size.large - icon: "keyboard_arrow_down" - inactiveOnColor: hovered ? Colors.palette.m3onSurface : Colors.palette.m3outline - opacity: root.isReasoning ? 0 : 1 - rotation: root.expanded ? 180 : 0 - type: IconButton.Text - - Behavior on rotation { - Anim { - } - } - - onClicked: root.expanded = !root.expanded - } - - CustomText { - id: collapsedText - - anchors.left: root.current.reasoningActive ? spinnerReasoning.right : expandBtn.right - anchors.margins: Tokens.padding.medium - anchors.right: parent.right - anchors.top: parent.top - anchors.topMargin: 0 - color: Colors.palette.m3outline - font.pointSize: Tokens.font.size.small - text: root.current.reasoningActive ? qsTr("Thinking...") : qsTr("Thought for %1s").arg((root.current.reasoningElapsedMs / 1000).toFixed(1)) - - Behavior on opacity { - Anim { - } - } - } - - CustomClippingRect { - id: expandedRect - - anchors.left: parent.left - anchors.right: parent.right - anchors.top: collapsedText.bottom - anchors.topMargin: Tokens.spacing.medium - color: Colors.palette.m3surfaceContainerLow - implicitHeight: root.expanded ? expandedText.implicitHeight + expandedText.anchors.margins * 2 : -anchors.topMargin - implicitWidth: expandedText.implicitWidth + expandedText.anchors.margins * 2 - opacity: root.expanded ? 1 : 0 - radius: Tokens.rounding.medium - visible: opacity > 0 - - Behavior on implicitHeight { - Anim { - type: Anim.DefaultEffects - } - } - Behavior on opacity { - Anim { - } - } - - CustomText { - id: expandedText - - anchors.fill: parent - anchors.margins: Tokens.padding.medium - color: Colors.palette.m3onSurface - font.pointSize: Tokens.font.size.small - text: root.current.reasoning - textFormat: CustomText.MarkdownText - wrapMode: Text.WordWrap - } - } -} diff --git a/Plugins/ZShell/Config/llm.hpp b/Plugins/ZShell/Config/llm.hpp index e68584d..e7859f0 100644 --- a/Plugins/ZShell/Config/llm.hpp +++ b/Plugins/ZShell/Config/llm.hpp @@ -11,6 +11,9 @@ class Llm : public ConfigObject { CFG_PROPERTY(QString, endpoint, "http://localhost:8080") CFG_PROPERTY(QString, model, "") CFG_PROPERTY(double, temperature, 0.7) + // Whether tools are offered to the model. Models without a tool-calling + // template should run with this off. + CFG_PROPERTY(bool, tools, true) public: explicit Llm(QObject* parent = nullptr) : ConfigObject(parent) {} diff --git a/Plugins/ZShell/Llm/CMakeLists.txt b/Plugins/ZShell/Llm/CMakeLists.txt index 05aca8c..c3a358e 100644 --- a/Plugins/ZShell/Llm/CMakeLists.txt +++ b/Plugins/ZShell/Llm/CMakeLists.txt @@ -1,17 +1,76 @@ +# cmark-gfm: markdown -> block structure (pkg-config; no CMake config +# package is installed). +pkg_check_modules(CMARK_GFM REQUIRED IMPORTED_TARGET libcmark-gfm) + +# tree-sitter runtime for code block highlighting (grammars are +# dlopen()'d at runtime and optional). +pkg_check_modules(TREE_SITTER REQUIRED IMPORTED_TARGET tree-sitter) + +# JKQTMathText (JKQtPlotter) for LaTeX rendering. The config files live +# in a shared JKQTPlotter6 directory, not one named after the package. +find_path(JKQTPlotter6_CMAKE_DIR + NAMES JKQTMathText6Config.cmake + HINTS /usr/lib/cmake/JKQTPlotter6 /usr/local/lib/cmake/JKQTPlotter6 + DOC "Directory containing the JKQtPlotter cmake package files") +find_package(JKQTMathText6 REQUIRED PATHS "${JKQTPlotter6_CMAKE_DIR}") + +# Embed the vendored highlight queries as C++ string literals. +set(HIGHLIGHT_QUERY_LANGS c cpp python javascript typescript bash json rust go yaml toml sql) +set(HIGHLIGHT_QUERIES_HPP "${CMAKE_CURRENT_BINARY_DIR}/highlight-queries.hpp") +set(_hl_header "#pragma once\n\n// Vendored tree-sitter highlight queries (MIT; see the per-file\n// source headers in the highlight-queries/ directory).\nnamespace ZShell::llm::hq {\n") +foreach(_hl_lang IN LISTS HIGHLIGHT_QUERY_LANGS) + file(READ "${CMAKE_CURRENT_SOURCE_DIR}/highlight-queries/${_hl_lang}.scm" _hl_src) + string(APPEND _hl_header "inline constexpr const char* ${_hl_lang} = R\"ZSQUERY(${_hl_src})ZSQUERY\";\n") +endforeach() +string(APPEND _hl_header "}\n") +file(WRITE "${HIGHLIGHT_QUERIES_HPP}" "${_hl_header}") + +# Embed the vendored Latin Modern fonts (GUST Font License; provenance +# in fonts/latinmodern/GUST-FONT-LICENSE.txt) as byte arrays. +set(LM_FONTS + lmroman10-regular + lmroman10-italic + lmroman10-bold + lmroman10-bolditalic + latinmodern-math) +set(LM_FONTS_HPP "${CMAKE_CURRENT_BINARY_DIR}/latinmodern-fonts.hpp") +set(_lm_header "#pragma once\n\n// Vendored Latin Modern fonts (GUST Font License; see\n// fonts/latinmodern/GUST-FONT-LICENSE.txt).\nnamespace ZShell::llm::lmfont {\n") +foreach(_lm_font IN LISTS LM_FONTS) + string(REPLACE "-" "_" _lm_sym "${_lm_font}") + file(READ "${CMAKE_CURRENT_SOURCE_DIR}/fonts/latinmodern/${_lm_font}.otf" _lm_hex HEX) + string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1," _lm_bytes "${_lm_hex}") + string(APPEND _lm_header "inline const unsigned char ${_lm_sym}[] = { ${_lm_bytes} };\n") +endforeach() +string(APPEND _lm_header "}\n") +file(WRITE "${LM_FONTS_HPP}" "${_lm_header}") + qml_module(ZShell-llm URI ZShell.Llm SOURCES chat.hpp chat.cpp chatstore.hpp chatstore.cpp + codehighlighter.hpp codehighlighter.cpp generation.hpp generation.cpp llmclient.hpp llmclient.cpp + markdownblock.hpp + markdownparser.hpp markdownparser.cpp + mathtext.hpp mathtext.cpp message.hpp message.cpp messagemodel.hpp messagemodel.cpp + segment.hpp segment.cpp session.hpp session.cpp + tool.hpp tool.cpp + webfetchtool.hpp webfetchtool.cpp LIBRARIES Qt::Network Qt::Sql + Qt::Gui + Qt::Widgets ZShell-config + JKQTPlotter::JKQTMathText + PkgConfig::CMARK_GFM + PkgConfig::TREE_SITTER ) +target_include_directories(ZShell-llm PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) target_include_directories(ZShell-llm PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../Config) diff --git a/Plugins/ZShell/Llm/chat.cpp b/Plugins/ZShell/Llm/chat.cpp index 08ae399..6387699 100644 --- a/Plugins/ZShell/Llm/chat.cpp +++ b/Plugins/ZShell/Llm/chat.cpp @@ -3,6 +3,7 @@ #include "config.hpp" #include "llm.hpp" #include "llmclient.hpp" +#include "webfetchtool.hpp" #include @@ -14,11 +15,13 @@ Chat::Chat(QObject* parent) new config::Config(); m_store->setLlmClient(m_client); + m_client->tools()->registerTool(new WebFetchTool(m_client->tools())); const auto* llm = config::Config::instance()->llm(); m_client->setEndpoint(llm->endpoint()); m_client->setModel(llm->model()); m_client->setTemperature(llm->temperature()); + m_client->setToolsEnabled(llm->tools()); connect(llm, &config::Llm::endpointChanged, this, [this, llm]() { m_client->setEndpoint(llm->endpoint()); @@ -29,6 +32,9 @@ Chat::Chat(QObject* parent) connect(llm, &config::Llm::temperatureChanged, this, [this, llm]() { m_client->setTemperature(llm->temperature()); }); + connect(llm, &config::Llm::toolsChanged, this, [this, llm]() { + m_client->setToolsEnabled(llm->tools()); + }); connect(m_client, &LlmClient::busyChanged, this, [this]() { // A fresh run supersedes the previous error. @@ -57,6 +63,11 @@ Chat::Chat(QObject* parent) &LlmClient::streamingChatIdChanged, this, &Chat::streamingChatIdChanged); + connect( + m_client, + &LlmClient::toolsEnabledChanged, + this, + &Chat::toolsEnabledChanged); connect( m_client, &LlmClient::errorOccurred, @@ -113,6 +124,16 @@ int Chat::contextSize() const { return m_client->contextSize(); } +bool Chat::toolsEnabled() const { + return m_client->toolsEnabled(); +} + +void Chat::setToolsEnabled(bool value) { + m_client->setToolsEnabled(value); + if (auto* config = config::Config::instance()) + config->llm()->set_tools(value); +} + QString Chat::streamingChatId() const { return m_client->streamingChatId(); } diff --git a/Plugins/ZShell/Llm/chat.hpp b/Plugins/ZShell/Llm/chat.hpp index c9e98ac..bbafabe 100644 --- a/Plugins/ZShell/Llm/chat.hpp +++ b/Plugins/ZShell/Llm/chat.hpp @@ -27,6 +27,7 @@ class Chat : public QObject { Q_PROPERTY(QString model READ model NOTIFY modelChanged) Q_PROPERTY(QStringList availableModels READ availableModels NOTIFY availableModelsChanged) Q_PROPERTY(int contextSize READ contextSize NOTIFY contextSizeChanged) + Q_PROPERTY(bool toolsEnabled READ toolsEnabled WRITE setToolsEnabled NOTIFY toolsEnabledChanged) Q_PROPERTY(QString lastError READ lastError NOTIFY lastErrorChanged) Q_PROPERTY(ZShell::llm::ChatStore* chats READ chats CONSTANT) Q_PROPERTY(QString streamingChatId READ streamingChatId NOTIFY streamingChatIdChanged) @@ -39,6 +40,8 @@ class Chat : public QObject { [[nodiscard]] QString model() const; [[nodiscard]] QStringList availableModels() const; [[nodiscard]] int contextSize() const; + [[nodiscard]] bool toolsEnabled() const; + void setToolsEnabled(bool value); [[nodiscard]] QString lastError() const { return m_lastError; } [[nodiscard]] ChatStore* chats() const { return m_store; } [[nodiscard]] QString streamingChatId() const; @@ -56,6 +59,7 @@ class Chat : public QObject { void modelChanged(); void availableModelsChanged(); void contextSizeChanged(); + void toolsEnabledChanged(); void errorOccurred(const QString& message); void lastErrorChanged(); void streamingChatIdChanged(); diff --git a/Plugins/ZShell/Llm/chatstore.cpp b/Plugins/ZShell/Llm/chatstore.cpp index 3d4b286..e8aff1f 100644 --- a/Plugins/ZShell/Llm/chatstore.cpp +++ b/Plugins/ZShell/Llm/chatstore.cpp @@ -2,6 +2,7 @@ #include "llmclient.hpp" #include "message.hpp" +#include "segment.hpp" #include #include @@ -17,6 +18,38 @@ namespace ZShell::llm { +namespace { + +QString segmentTypeName(LlmSegment::Type type) { + switch (type) { + case LlmSegment::Type::Reasoning: + return QStringLiteral("reasoning"); + case LlmSegment::Type::ToolCall: + return QStringLiteral("tool_call"); + case LlmSegment::Type::Content: + return QStringLiteral("content"); + } + return QStringLiteral("reasoning"); +} + +LlmSegment::Type segmentTypeFromName(const QString& name) { + if (name == QLatin1String("tool_call")) + return LlmSegment::Type::ToolCall; + if (name == QLatin1String("content")) + return LlmSegment::Type::Content; + return LlmSegment::Type::Reasoning; +} + +// A null QString binds as SQL NULL, which violates the NOT NULL columns; +// DEFAULT only applies to omitted columns, not explicit NULLs. +QString sqlText(const QString& value) { + if (value.isNull()) + return QStringLiteral(""); + return value; +} + +} // namespace + ChatStore::ChatStore(QObject* parent) : QObject(parent), m_connectionName(QUuid::createUuid().toString()) { openDb(); @@ -86,14 +119,29 @@ void ChatStore::openDb() { " id INTEGER PRIMARY KEY AUTOINCREMENT,\n" " message_id INTEGER NOT NULL REFERENCES messages " "(id) ON DELETE CASCADE,\n" - " content TEXT,\n" - " reasoning TEXT,\n" " timestamp INTEGER NOT NULL,\n" - " reasoning_elapsed_ms INTEGER NOT NULL DEFAULT 0,\n" - " content_elapsed_ms INTEGER NOT NULL DEFAULT 0,\n" " is_active INTEGER NOT NULL DEFAULT 1\n" ")")); } + { + QSqlQuery query(db); + query.exec( + QStringLiteral( + "CREATE TABLE IF NOT EXISTS segments (\n" + " id INTEGER PRIMARY KEY AUTOINCREMENT,\n" + " generation_id INTEGER NOT NULL REFERENCES generations " + "(id) ON DELETE CASCADE,\n" + " type TEXT NOT NULL,\n" + " text TEXT NOT NULL DEFAULT '',\n" + " name TEXT NOT NULL DEFAULT '',\n" + " tool_call_id TEXT NOT NULL DEFAULT '',\n" + " arguments TEXT NOT NULL DEFAULT '',\n" + " result TEXT NOT NULL DEFAULT '',\n" + " status INTEGER NOT NULL DEFAULT 0,\n" + " elapsed_ms INTEGER NOT NULL DEFAULT 0,\n" + " timestamp INTEGER NOT NULL\n" + ")")); + } { QSqlQuery query(db); query.exec(QStringLiteral( @@ -102,6 +150,9 @@ void ChatStore::openDb() { query.exec(QStringLiteral( "CREATE INDEX IF NOT EXISTS idx_generations_message " "ON generations (message_id)")); + query.exec(QStringLiteral( + "CREATE INDEX IF NOT EXISTS idx_segments_generation " + "ON segments (generation_id)")); } } @@ -212,8 +263,8 @@ void ChatStore::saveMeta(ChatSession* session) { QSqlQuery query(db()); query.prepare("UPDATE sessions SET title = :title, icon = :icon " "WHERE id = :id"); - query.bindValue(":title", session->title()); - query.bindValue(":icon", session->icon()); + query.bindValue(":title", sqlText(session->title())); + query.bindValue(":icon", sqlText(session->icon())); query.bindValue(":id", session->id()); if (!query.exec()) qWarning() << "ChatStore: failed to save meta for" << session->id() @@ -234,7 +285,7 @@ bool ChatStore::saveSession(ChatSession* session) { query.prepare( "UPDATE sessions SET title = :title, updated_at = :updated_at " "WHERE id = :id"); - query.bindValue(":title", session->title()); + query.bindValue(":title", sqlText(session->title())); query.bindValue(":updated_at", session->updatedAtMs()); query.bindValue(":id", session->id()); ok = query.exec(); @@ -252,10 +303,15 @@ bool ChatStore::saveSession(ChatSession* session) { "VALUES (:id, :role, :timestamp)"); QSqlQuery generationInsert(handle); ok = ok && generationInsert.prepare( - "INSERT INTO generations (message_id, content, reasoning, " - "timestamp, reasoning_elapsed_ms, content_elapsed_ms, " - "is_active) VALUES (:mid, :content, :reasoning, :timestamp, " - ":reasoning_elapsed_ms, :content_elapsed_ms, :is_active)"); + "INSERT INTO generations (message_id, timestamp, is_active) " + "VALUES (:mid, :timestamp, :is_active)"); + QSqlQuery segmentInsert(handle); + ok = ok && segmentInsert.prepare( + "INSERT INTO segments (generation_id, type, text, name, " + "tool_call_id, arguments, result, status, elapsed_ms, " + "timestamp) VALUES (:gid, :type, :text, :name, " + ":tool_call_id, :arguments, :result, :status, :elapsed_ms, " + ":timestamp)"); // The model holds messages most recent first; the database keeps // natural rowid order, so iterate from the oldest row up. const auto* model = session->messagesModel(); @@ -279,14 +335,8 @@ bool ChatStore::saveSession(ChatSession* session) { for (int i = 0; ok && i < message->generationCount(); ++i) { const auto* generation = message->generation(i); generationInsert.bindValue(":mid", messageId); - generationInsert.bindValue(":content", generation->content()); generationInsert.bindValue( - ":reasoning", generation->reasoning()); - generationInsert.bindValue(":timestamp", generation->timestamp()); - generationInsert.bindValue( - ":reasoning_elapsed_ms", generation->reasoningElapsedMs()); - generationInsert.bindValue( - ":content_elapsed_ms", generation->contentElapsedMs()); + ":timestamp", generation->timestamp()); generationInsert.bindValue( ":is_active", i == message->activeGenerationIndex() ? 1 : 0); @@ -297,6 +347,33 @@ bool ChatStore::saveSession(ChatSession* session) { << generationInsert.lastError().text(); break; } + const int generationId = + generationInsert.lastInsertId().toInt(); + for (const auto* segment : generation->segments()) { + segmentInsert.bindValue(":gid", generationId); + segmentInsert.bindValue( + ":type", segmentTypeName(segment->type())); + segmentInsert.bindValue(":text", sqlText(segment->text())); + segmentInsert.bindValue(":name", sqlText(segment->name())); + segmentInsert.bindValue( + ":tool_call_id", sqlText(segment->toolCallId())); + segmentInsert.bindValue( + ":arguments", sqlText(segment->arguments())); + segmentInsert.bindValue(":result", sqlText(segment->result())); + segmentInsert.bindValue( + ":status", static_cast(segment->status())); + segmentInsert.bindValue( + ":elapsed_ms", segment->elapsedMs()); + segmentInsert.bindValue( + ":timestamp", segment->timestamp()); + if (!segmentInsert.exec()) { + ok = false; + qWarning() << "ChatStore: saveSession" << id + << "segment insert failed:" + << segmentInsert.lastError().text(); + break; + } + } } } } @@ -333,21 +410,54 @@ void ChatStore::loadMessagesInto(ChatSession* session) { query.value(2).toLongLong()); QSqlQuery generationQuery(db()); generationQuery.prepare( - "SELECT content, reasoning, timestamp, reasoning_elapsed_ms, " - "content_elapsed_ms, is_active FROM generations " + "SELECT id, timestamp, is_active FROM generations " "WHERE message_id = :mid ORDER BY rowid"); generationQuery.bindValue(":mid", messageId); int activeIndex = 0; if (generationQuery.exec()) { int index = 0; while (generationQuery.next()) { - message->addGeneration( - generationQuery.value(2).toLongLong(), - generationQuery.value(0).toString(), - generationQuery.value(1).toString(), - generationQuery.value(3).toLongLong(), - generationQuery.value(4).toLongLong()); - if (generationQuery.value(5).toInt() != 0) + auto* generation = message->addGeneration( + generationQuery.value(1).toLongLong()); + QSqlQuery segmentQuery(db()); + segmentQuery.prepare( + "SELECT type, text, name, tool_call_id, arguments, " + "result, status, elapsed_ms, timestamp FROM segments " + "WHERE generation_id = :gid ORDER BY rowid"); + segmentQuery.bindValue( + ":gid", generationQuery.value(0).toInt()); + if (segmentQuery.exec()) { + while (segmentQuery.next()) { + auto* segment = new LlmSegment( + segmentTypeFromName( + segmentQuery.value(0).toString()), + segmentQuery.value(8).toLongLong(), + generation); + segment->setText( + segmentQuery.value(1).toString()); + segment->setName( + segmentQuery.value(2).toString()); + segment->setToolCallId( + segmentQuery.value(3).toString()); + segment->appendArguments( + segmentQuery.value(4).toString()); + segment->setResult( + segmentQuery.value(5).toString()); + segment->setStatus( + static_cast( + segmentQuery.value(6).toInt())); + segment->restore( + segmentQuery.value(7).toLongLong()); + generation->addSegment(segment); + } + } else { + qWarning() << "ChatStore: failed to load segments for " + << "generation" + << generationQuery.value(0).toInt() + << ":" + << segmentQuery.lastError().text(); + } + if (generationQuery.value(2).toInt() != 0) activeIndex = index; ++index; } diff --git a/Plugins/ZShell/Llm/codehighlighter.cpp b/Plugins/ZShell/Llm/codehighlighter.cpp new file mode 100644 index 0000000..7f31413 --- /dev/null +++ b/Plugins/ZShell/Llm/codehighlighter.cpp @@ -0,0 +1,384 @@ +#include "codehighlighter.hpp" + +#include "highlight-queries.hpp" + +#include + +#include +#include +#include + +#include + +namespace ZShell::llm { + +namespace hl { + +// Role ids; 0 means "no color". +enum Role : uint8_t { + None = 0, + Comment, + String, + StringKey, + Number, + Constant, + Keyword, + Type, + Function, + Method, + Macro, + Preproc, + Operator, + Property, + Label, + Attribute, +}; + +const char* roleName(Role role) { + switch (role) { + case Comment: return "comment"; + case String: return "string"; + case StringKey: return "string.key"; + case Number: return "number"; + case Constant: return "constant"; + case Keyword: return "keyword"; + case Type: return "type"; + case Function: return "function"; + case Method: return "method"; + case Macro: return "macro"; + case Preproc: return "preproc"; + case Operator: return "operator"; + case Property: return "property"; + case Label: return "label"; + case Attribute: return "attribute"; + default: return ""; + } +} + +using LanguageFn = const TSLanguage* (*)(); + +// Query sources, indexed by Grammar::queries. +struct QuerySources { + std::vector sources; + int c, cpp, python, javascript, typescriptExtended, typescript, bash, json, rust, go, yaml, toml, sql, cppExtended; +}; + +const QuerySources& querySources() { + static const QuerySources sources = [] { + QuerySources qs; + // javascript + typescript concatenated: the TS grammar reuses the + // JS node names, so the JS query usually compiles against it and + // gives full coverage; the TS-only query is the fallback. + const std::string tsExtended = + std::string(hq::javascript) + "\n" + std::string(hq::typescript); + // Same for cpp: the C++ grammar is a superset of C, and the C++ + // query only covers the C++-specific delta. Base C coverage + // (keywords, types, calls, strings, comments) comes from the C + // query. + const std::string cppExtended = + std::string(hq::c) + "\n" + std::string(hq::cpp); + qs.sources.reserve(14); + qs.sources.push_back(hq::c); + qs.sources.push_back(hq::cpp); + qs.sources.push_back(hq::python); + qs.sources.push_back(hq::javascript); + qs.sources.push_back(tsExtended); + qs.sources.push_back(hq::typescript); + qs.sources.push_back(hq::bash); + qs.sources.push_back(hq::json); + qs.sources.push_back(hq::rust); + qs.sources.push_back(hq::go); + qs.sources.push_back(hq::yaml); + qs.sources.push_back(hq::toml); + qs.sources.push_back(hq::sql); + qs.sources.push_back(cppExtended); + qs.c = 0; + qs.cpp = 1; + qs.python = 2; + qs.javascript = 3; + qs.typescriptExtended = 4; + qs.typescript = 5; + qs.bash = 6; + qs.json = 7; + qs.rust = 8; + qs.go = 9; + qs.yaml = 10; + qs.toml = 11; + qs.sql = 12; + qs.cppExtended = 13; + return qs; + }(); + return sources; +} + +const QHash& grammars() { + static const QHash grammars = [] { + const auto& qs = querySources(); + QHash map; + map.insert("c", {"libtree-sitter-c.so", "tree_sitter_c", {qs.c}}); + map.insert("cpp", {"libtree-sitter-cpp.so", "tree_sitter_cpp", {qs.cppExtended, qs.cpp}}); + map.insert("python", {"libtree-sitter-python.so", "tree_sitter_python", {qs.python}}); + map.insert("javascript", {"libtree-sitter-javascript.so", "tree_sitter_javascript", {qs.javascript}}); + map.insert("typescript", {"libtree-sitter-typescript.so", "tree_sitter_typescript", {qs.typescriptExtended, qs.typescript}}); + map.insert("tsx", {"libtree-sitter-tsx.so", "tree_sitter_tsx", {qs.typescriptExtended, qs.typescript}}); + map.insert("bash", {"libtree-sitter-bash.so", "tree_sitter_bash", {qs.bash}}); + map.insert("json", {"libtree-sitter-json.so", "tree_sitter_json", {qs.json}}); + map.insert("rust", {"libtree-sitter-rust.so", "tree_sitter_rust", {qs.rust}}); + map.insert("go", {"libtree-sitter-go.so", "tree_sitter_go", {qs.go}}); + map.insert("yaml", {"libtree-sitter-yaml.so", "tree_sitter_yaml", {qs.yaml}}); + map.insert("toml", {"libtree-sitter-toml.so", "tree_sitter_toml", {qs.toml}}); + map.insert("sql", {"libtree-sitter-sql.so", "tree_sitter_sql", {qs.sql}}); + return map; + }(); + return grammars; +} + +} // namespace hl + +CodeHighlighter* CodeHighlighter::s_instance = nullptr; + +const QHash& CodeHighlighter::aliases() { + // Language tags as written in code fences (and common variants) to + // grammar id. + static const QHash aliases = [] { + QHash map; + map.insert("c", "c"); + map.insert("h", "c"); + map.insert("cpp", "cpp"); + map.insert("c++", "cpp"); + map.insert("cc", "cpp"); + map.insert("cxx", "cpp"); + map.insert("h++", "cpp"); + map.insert("hpp", "cpp"); + map.insert("hh", "cpp"); + map.insert("python", "python"); + map.insert("py", "python"); + map.insert("javascript", "javascript"); + map.insert("js", "javascript"); + map.insert("jsx", "javascript"); + map.insert("mjs", "javascript"); + map.insert("cjs", "javascript"); + map.insert("typescript", "typescript"); + map.insert("ts", "typescript"); + map.insert("mts", "typescript"); + map.insert("cts", "typescript"); + map.insert("tsx", "tsx"); + map.insert("bash", "bash"); + map.insert("sh", "bash"); + map.insert("shell", "bash"); + map.insert("shellscript", "bash"); + map.insert("shell-session", "bash"); + map.insert("zsh", "bash"); + map.insert("console", "bash"); + map.insert("json", "json"); + map.insert("jsonc", "json"); + map.insert("rust", "rust"); + map.insert("rs", "rust"); + map.insert("go", "go"); + map.insert("golang", "go"); + map.insert("yaml", "yaml"); + map.insert("yml", "yaml"); + map.insert("toml", "toml"); + map.insert("sql", "sql"); + map.insert("mysql", "sql"); + map.insert("postgres", "sql"); + map.insert("postgresql", "sql"); + map.insert("sqlite", "sql"); + map.insert("sqlite3", "sql"); + return map; + }(); + return aliases; +} + +const std::vector& CodeHighlighter::querySources() const { + return hl::querySources().sources; +} + +uint8_t CodeHighlighter::roleFor(const char* name, uint32_t length) { + const QString n = QString::fromUtf8(name, length); + if (n == "comment") + return hl::Role::Comment; + if (n.startsWith("string")) + return n == "string.special.key" ? hl::Role::StringKey : hl::Role::String; + if (n == "escape" || n == "regexp") + return hl::Role::String; + if (n.startsWith("number")) + return hl::Role::Number; + if (n.startsWith("constant")) + return hl::Role::Constant; + if (n.startsWith("keyword")) + return hl::Role::Keyword; + if (n == "type" || n.startsWith("type.")) + return hl::Role::Type; + if (n == "namespace" || n == "module") + return hl::Role::Type; + if (n.startsWith("function") || n == "constructor") + return hl::Role::Function; + if (n == "method" || n == "method.builtin") + return hl::Role::Method; + if (n.startsWith("macro")) + return hl::Role::Macro; + if (n.startsWith("preproc")) + return hl::Role::Preproc; + if (n == "operator" || n == "punctuation.operator" || n.startsWith("operator.")) + return hl::Role::Operator; + if (n == "property" || n == "field" || n.startsWith("property.")) + return hl::Role::Property; + if (n == "label") + return hl::Role::Label; + if (n.startsWith("attribute") || n == "annotation") + return hl::Role::Attribute; + return hl::Role::None; +} + +const char* CodeHighlighter::roleName(uint8_t role) { + return hl::roleName(static_cast(role)); +} + +QVariantList CodeHighlighter::highlight(const QString& code, const QString& language) const { + QVariantList spans; + if (code.isEmpty()) + return spans; + + const QString id = aliases().value(language.trimmed().toLower()); + if (id.isEmpty()) + return spans; + const Grammar& grammar = hl::grammars().value(id); + + // Guard against pathological blocks; highlighting is best-effort. + static constexpr size_t kMaxBytes = 512 * 1024; + const QByteArray utf8 = code.toUtf8(); + if (static_cast(utf8.size()) > kMaxBytes) + return spans; + + State& state = m_states[id]; + if (state.bad) + return spans; + + if (!state.lang) { + // Missing library is retriable (it may be installed while the + // shell runs); ABI/query failures below are not. + state.lib = dlopen(grammar.lib.toUtf8().constData(), RTLD_NOW | RTLD_LOCAL); + if (!state.lib) + return spans; + auto* symbol = reinterpret_cast( + dlsym(state.lib, grammar.symbol.toUtf8().constData())); + if (!symbol) { + dlclose(state.lib); + state.lib = nullptr; + return spans; + } + const TSLanguage* lang = symbol(); + const uint32_t version = ts_language_abi_version(lang); + if (version < TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION || + version > TREE_SITTER_LANGUAGE_VERSION) { + state.bad = true; + return spans; + } + state.lang = lang; + } + + if (!state.query) { + // Candidates in priority order; first that compiles wins. + for (const int candidate : grammar.queries) { + const std::string& source = + querySources()[static_cast(candidate)]; + TSQueryError errorType = TSQueryErrorNone; + uint32_t errorOffset = 0; + TSQuery* query = ts_query_new( + static_cast(state.lang), + source.data(), + static_cast(source.size()), + &errorOffset, + &errorType); + if (!query) + continue; + state.query = query; + break; + } + if (!state.query) { + state.bad = true; + return spans; + } + } + + TSParser* parser = ts_parser_new(); + ts_parser_set_language(parser, static_cast(state.lang)); + TSTree* tree = ts_parser_parse_string( + parser, nullptr, utf8.constData(), static_cast(utf8.size())); + if (!tree) { + ts_parser_delete(parser); + return spans; + } + + TSQuery* query = static_cast(state.query); + TSQueryCursor* cursor = ts_query_cursor_new(); + ts_query_cursor_exec(cursor, query, ts_tree_root_node(tree)); + + // Per-byte winner table: captures arrive in document order and later + // captures overwrite earlier ones (tree-sitter highlight convention). + const uint32_t size = static_cast(utf8.size()); + std::vector kinds(size, 0); + + // QML slices the code by UTF-16 code unit, so spans must be in code + // units, not bytes. cu[b] = code units before byte b. + std::vector cu(size + 1, 0); + for (uint32_t b = 0; b < size; ++b) { + cu[b + 1] = cu[b]; + const unsigned char c = static_cast(utf8[b]); + if (c < 0x80) + cu[b + 1] += 1; + else if (c < 0xC0) + ; // continuation byte + else if (c < 0xF0) + cu[b + 1] += 1; // 2/3-byte lead -> BMP -> one unit + else + cu[b + 1] += 2; // 4-byte lead -> surrogate pair + } + + TSQueryMatch match; + uint32_t captureIndex = 0; + while (ts_query_cursor_next_capture(cursor, &match, &captureIndex)) { + const TSQueryCapture& capture = match.captures[captureIndex]; + uint32_t nameLength = 0; + const char* name = ts_query_capture_name_for_id(query, capture.index, &nameLength); + const uint8_t role = roleFor(name, nameLength); + if (role == 0) + continue; + const uint32_t start = ts_node_start_byte(capture.node); + const uint32_t end = ts_node_end_byte(capture.node); + if (end <= start || end > size) + continue; + std::fill(kinds.begin() + start, kinds.begin() + end, role); + } + + uint32_t position = 0; + while (position < size) { + if (kinds[position] == 0) { + ++position; + continue; + } + const uint8_t role = kinds[position]; + const uint32_t start = position; + while (position < size && kinds[position] == role) + ++position; + QVariantMap span; + span.insert("start", static_cast(cu[start])); + span.insert("length", static_cast(cu[position] - cu[start])); + span.insert("kind", roleName(role)); + spans.append(span); + } + + ts_query_cursor_delete(cursor); + ts_tree_delete(tree); + ts_parser_delete(parser); + return spans; +} + +CodeHighlighter* CodeHighlighter::create(QQmlEngine*, QJSEngine*) { + if (!s_instance) + s_instance = new CodeHighlighter(); + return s_instance; +} + +} // namespace ZShell::llm diff --git a/Plugins/ZShell/Llm/codehighlighter.hpp b/Plugins/ZShell/Llm/codehighlighter.hpp new file mode 100644 index 0000000..659d764 --- /dev/null +++ b/Plugins/ZShell/Llm/codehighlighter.hpp @@ -0,0 +1,69 @@ +#pragma once + +#include +#include +#include +#include + +#include +#include + +class QQmlEngine; +class QJSEngine; + +namespace ZShell::llm { + +// Syntax highlighting for LLM code blocks via tree-sitter. +// +// The tree-sitter runtime is linked. Grammar libraries +// (libtree-sitter-.so) are dlopen()'d lazily, so a missing +// grammar package degrades that language to plain text instead of +// breaking the build or the app. Highlight queries are embedded at +// build time (highlight-queries/*.scm, vendored from the grammar +// repos, MIT). +// +// The fence language the LLM wrote (```cpp, ```python, ...) is mapped +// to a grammar through an alias table. +// +// highlight() returns a list of span maps: +// { "start": int, "length": int, "kind": QString } +// where kind is a semantic role (keyword, string, comment, number, +// function, type, ...) that QML maps to theme colors. An empty list +// means "no highlighting" (unknown language or grammar not installed). +class CodeHighlighter : public QObject { + Q_OBJECT + QML_ELEMENT + QML_SINGLETON + + public: + Q_INVOKABLE QVariantList highlight(const QString& code, const QString& language) const; + + static CodeHighlighter* create(QQmlEngine*, QJSEngine*); + + struct Grammar { + QString lib; // soname to dlopen + QString symbol; // tree_sitter_() entry point + // Candidate query sources, first wins. Lets typescript reuse + // the javascript query when it compiles against the grammar. + std::vector queries; // indices into querySources() + }; + + private: + struct State { + bool bad = false; // permanent failure, do not retry + void* lib = nullptr; + const void* lang = nullptr; // const TSLanguage* + void* query = nullptr; // TSQuery* + }; + + [[nodiscard]] static const QHash& aliases(); + [[nodiscard]] const std::vector& querySources() const; + // Maps a tree-sitter capture name to a role index (0 = unstyled). + [[nodiscard]] static uint8_t roleFor(const char* name, uint32_t length); + [[nodiscard]] static const char* roleName(uint8_t role); + + mutable QHash m_states; + static CodeHighlighter* s_instance; +}; + +} // namespace ZShell::llm diff --git a/Plugins/ZShell/Llm/fonts/latinmodern/GUST-FONT-LICENSE.txt b/Plugins/ZShell/Llm/fonts/latinmodern/GUST-FONT-LICENSE.txt new file mode 100644 index 0000000..d656332 --- /dev/null +++ b/Plugins/ZShell/Llm/fonts/latinmodern/GUST-FONT-LICENSE.txt @@ -0,0 +1,40 @@ +% This is a preliminary version (2006-09-30), barring acceptance from +% the LaTeX Project Team and other feedback, of the GUST Font License. +% (GUST is the Polish TeX Users Group, http://www.gust.org.pl) +% +% For the most recent version of this license see +% http://www.gust.org.pl/fonts/licenses/GUST-FONT-LICENSE.txt +% or +% http://tug.org/fonts/licenses/GUST-FONT-LICENSE.txt +% +% This work may be distributed and/or modified under the conditions +% of the LaTeX Project Public License, either version 1.3c of this +% license or (at your option) any later version. +% +% Please also observe the following clause: +% 1) it is requested, but not legally required, that derived works be +% distributed only after changing the names of the fonts comprising this +% work and given in an accompanying "manifest", and that the +% files comprising the Work, as listed in the manifest, also be given +% new names. Any exceptions to this request are also given in the +% manifest. +% +% We recommend the manifest be given in a separate file named +% MANIFEST-.txt, where is some unique identification +% of the font family. If a separate "readme" file accompanies the Work, +% we recommend a name of the form README-.txt. +% +% The latest version of the LaTeX Project Public License is in +% http://www.latex-project.org/lppl.txt and version 1.3c or later +% is part of all distributions of LaTeX version 2006/05/20 or later. + + +--- + +Provenance: + lmroman10-*.otf: Latin Modern v2.007 (GUST, 31-03-2026) + https://www.gust.org.pl/projects/e-foundry/latin-modern/download + (Latin_Modern-otf-2_007-31_03_2026.zip) + latinmodern-math.otf: Latin Modern Math v1.959 (GUST) + https://www.gust.org.pl/projects/e-foundry/lm-math/download + (latinmodern-math-1959.zip; same release as CTAN fonts/lm-math) diff --git a/Plugins/ZShell/Llm/fonts/latinmodern/latinmodern-math.otf b/Plugins/ZShell/Llm/fonts/latinmodern/latinmodern-math.otf new file mode 100644 index 0000000000000000000000000000000000000000..0e4642e916c3e8206c8bf9c490c90eb3b20d9365 GIT binary patch literal 733736 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

1WqRB+)`&4rkF^#c#(W}7`xx-=!VMBU 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%0A+cVsA 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
Er`u0lNSZ%dE!ryx%)Q2w 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

KHd%&|8S^QlTavNt-kJ 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 OGPjg*S?asglm7=Ph_8_V literal 0 HcmV?d00001 diff --git a/Plugins/ZShell/Llm/fonts/latinmodern/lmroman10-bold.otf b/Plugins/ZShell/Llm/fonts/latinmodern/lmroman10-bold.otf new file mode 100644 index 0000000000000000000000000000000000000000..e54ad3614c538215e7928f8bcd6b8afb083a727b GIT binary patch literal 96536 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ⅈ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 literal 0 HcmV?d00001 diff --git a/Plugins/ZShell/Llm/fonts/latinmodern/lmroman10-regular.otf b/Plugins/ZShell/Llm/fonts/latinmodern/lmroman10-regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..2d10885aa0c647fc67bf6b71e7ee7f26c172687c GIT binary patch literal 95432 zcmce-2V7J~^e=u3%U%~)gk>QyaapXfp<>tAMeJa~-WFH^U07Ha5ETTZ4uTix8%Gj|pCfDrFvZ3g}TNFio=rzW3tm3J2Hbr+Y1$&&A zkN5O}t%GQa_83D^{c^mf`;L0Q%}*;Sx`&#gB<;MX_w;!GpyN%7qDMgZ#r`3hu#(;n z>?x|%eTq_i7Npe#xPQrA0lzzd{z2ftd0L-<@J?Xw5ENoue&1*AT*&`-in9GOM6*1M z?e7C#^g#GnhiXE!FO1>S!Cp#H+=wuJgz;T6^%0c64*b;=4PS=7SipPiU1b09E6Rp_ z0xs0|&oxWUrvA@qf8Ld(TLprhqZr}}KZs`)_~%`y!yfQ|D@hkp68(fP+n1tzD7HUX ztQc=Po03qrOa^lV?3toT-=})hkRC%xScas_0@Q%j0P=e$d{0p7ckkFv?}k$6tpe$G zkaaF`r}r{75L!)Hfkj1!HswE>N;A_m)rz`rrWr~~y)n})^&$PSnYN-F=vXr?p(J#% znYIS^GiI8jqQ#a zC$+u^HKwgvLHSbvB280{)MYcxP;%;-nP#bhz$-C~71fTOW2PmPj9zD^t--y_Omk4j zn`XKdRnAzMX&Y(=^M{$Xqtn?1} z`X%Z~dVh`X@8KYkNz`O&8sr)RxrS1`sb1hTd73^%6WSZdX;8*MD8CMT4Peyow$G((3W|6g=E}^%^jQ6mLjVHa(h>{bynRk-)#iYAy^VB>!)f z`aem>QV}&&x(78@Xt+=+04g3sQ36M`J;v%ILjw$89|M6RpzQ;JYg!1Th7o17z{fD) zml50y;5Hdt0tA}0_!6*%f?ovH1#EthtQyiGZbS-58lJ#cH8l}jNE$&@cd&&(hzPK$ zAw?}nhgL{KC&VU_6#%hGek6V{_^F{42f?2Q6jB=z92lw%P=7R99}*U6)Ed;2^#NK# zsCtP$)ELo4?H8jSqYu^S0@R-F>WQI|#-Q%%5EvlU2Ccs~)ToP5M}`GxjF3WbsJi!{ zL6Bw;WM+hHBdEbtPxy-#{@evIA;olu;u^r_4q9eg0Ab((5Ck?MT1( zhZxN{lU`49o&+I$guF>xlCgq}5Nco(Vazh1NUtX@q=iWwOAON18leqIdlIP#6>6o1 z&_=KsA!ibAaf@(bc+&cvg}PeO91UR&@F&)jNTMZWOAI2PdSUD#asFOL(caAK|LPKB zL6FpwfC0WT5g98&&NS>8A_! z7b8bNcxT^xN8GC zcNapAjx-n`PxWLHn0Oe-*k^1?5mNqpNB+N+=jKk_(<}sp#ia3xY+D#c#t(053N(KY zXx{NKGc3=O=$bu&GuqGyZA4E}-X3GUr_AUvY5Zu-%q^B;+q3Raru9OZY*igp{Z*q>vsHd7ohn|HqbgNxSJkTORQpvY zRA*J6t8S_8sJ>G@Qaw|>P`6h1QV&v3QfO6{58j=4cN|Jay(@Wl9*nQaJWGCmUKLHt_fI)R{juU@=EHjw^~ed}@u>eJvVw%) z!_EK)zyLrFpx|Nl!_OanDf(Kz_sA-ly7vIko}#{e^KBtT-KK9Z{03IgU)z4ce*Ob^ zlNKevOge)Ybe8ZfptsVsV0%vg4BUE2zhzWR2UwkUCB9(J00fz79TUaGgFOw93D^W6 z>uKS~>|#zZ&zYZDjBw}VyVBj59<+q+On<}-V}>&$n2}K4QOsy&EaSzDVLX{}%y_yN z-J6-lOlM{?vzQr-FO&oiBwkC=tbBBqwv$tW0*1SriYdNebXP>{Mk)0)0V-v`;g z#l$lS^cS=s2lOBGpMrlEvDKKR%re2A#-t18E@ro2<}(|aP0VIS#>nY3I+c0=yQ^z7 zOE0E}(gwN%T}kKCo9PA`LeqJ4IY>qoy@#%W-2wdQQa~YHAp`UlA z-=`YckJv73S9&SijqOf%XM3>jbUfRWp2&jK(}8SndL=!9^`IxwBN#WP9plQVNlGwg zd?=XRnC^@ZGZp&k9A+*vkNKSWg1O9GVXiUPneQ1Qzwl$q=o|D`^w;z^^ac7NeTlwI zAEl4c$LSLc%`gnhSTQz?E&Ut)JN=4&&Gce=Gww`JM#qFOp^Tnc%xD-t#-9me!kHt? zQRZvr8|Ef+i@D9*VZLSVvJ%!B$||Ett6-pJ(zEE<&^i>$u%!3Apnj#kA>{x+j`pI* z(rf4>dI8wFK&ZZKAG6PEtod} zcYr4GzZJpQf%yaAF}N$hd+!jIl3Pa)mh%7MQiXeR&q6nZX!2})<5Um&sOd+5*g9(8M=ms!>KLn(0$;d8@ z?s;HJMbPD70^bPetzZKG1i7dJ6Y5Mr?*S9~8v$JdCh(Sk%!w?t83A1iCh(YmE(Ei^ z2r^f)okY+jV7dc(LKxsVnH7bZaW9y?MbJCJ^bkSTWUNL6=_l-Z0Fhgg9;q{cjFs#L z5mY0Xq;4Al9{~zPkp9P#G8F;30Z6$4WXxlsy;;Ju9sp84038qJ7Bir%EU6oSj5}1etIH6L_KO474klT>(%(BF8G=vkJ=2fL#S?sRjWJWl)U*j0V~V z%rO8jph3n}1Pg%90MifP4>a&kr2_!(8ITPX@I{pX^ygqE0@eV18O$U=GSDE~Drg@S zvJz|W$cqLOc&LJ~j18F3PgUSg{|4p>z!{)1m}dd!fPMw$ zc>v_kK%1&A0w7O@@Q>8(D$s-nq;A)NUJNFw|4pC+z`O;3dN71%(3e%Wfer%``mX8$ z&_*!713U!U0OljWQ=m!Np8LB4b*ogm>-H@DKOiLAY+GGC4!78YBj(O0zkRc z?L?4upBm(ifUJYmy+n}tSq*YeK;~@qAi!XtK|a(&M38w@JyZl)f2cvW3D~}1ju1iC zj_NTY$T~>v34rv-+^(J`g8CE886se1NvX?3kTs?nWQl;RU)0-0&;!A&5<%ueHOLnM zS@Wqu#t7&{F!zX{$Aeiff~>RLfJp?@Jurcv1Y~{V<|2ZuKio(-09h}%sYQ@=fE)0Q zfXv};z%v3ep1MJQC4f~fpnsR-HD=j@FpN@WggmwfUJ>uMg&EY|AhK~{G(xM z!BSR~gtDfjaN^YpG(R@5udt)!ls(m&asa)Lf^wpilr!Z*y+^%IwV^(sKBU@GD$12o zQ*Kl{U}^`dBh?ACk{^KQG)O%_Dcln@AH6|0-G}N+^`rX33Bo{X5U7%eP#;r6 zsbSP`Y6LZs8U+foF_b4Y78GjZsPWVU(1{a`*A&W|@}Z_u(X2F@u9BM8# zkD5;{pcYb#pw?@sBsfn>qq36QdBav5o9P_;4R2@i{DZz zh8{sxPzPYI1v+JV9$7!YZyB`$Mv296rk6-A90=VHKKDL%gk3wN!GWlJ08QTy8r2ILZWb^l2#UHK zDn+VM0*z4%%sLL;`8o_+?|=n8U>iM;Hqz;!PAsN((Dn2Q*x>)nNSP0re#`{et}h3r z%UV#o6f+f|8fgHf%5~VT|H%Bxyk`DjY1WQ?pLGM}!$9_9c04^e4w-NlxNs z>qzT#>tgFY)`zUmTYql-!1@R4AFW?nH%cj~owSYgBWX8j59v_pNa;AKk958?SQ;Ts zkY-7@NNc4BrDvsINbgI3l)jYy!AUqrt~2Msjp8PAzT9FigfnuhxfE_aSHNxKs<}Pf z5$+WC8Fz!b&pqaTbzHRlS z)oYoR%wE<;)0>k4 zW{k}g8(*9GHbFKd>^n=G3RHbpk2HZ?Z;ZBE!+w7F*UmCZeyCpIr_-r6#@oUPo} z$+m-SUt2HRxwcDfSJ-CRZndqq{nYl7?U%N9ZJ*fwYWv2{%1&;lwENKRBfGwKL+!@e zO|qM2H^*+FU4Y$EyD+;byH$3Hc5Cel?8@!x><-zTw!3QgjotTlFYFrSjNC@-z48Aua@tVpO9ac-;&>zKaxL_zmPY|-`UIT zmG*A-J?#6~53(O_?`c2Peu2HlUTYs}A8nsvpJ!iUUuj=wf6)H8{Tcg9_SfydwSQ{= zoBbcHty|l-R<{12wOi}Xtp~LBYCX4gNbA_vYg?DK-q-p}>l>}_wtn3DMe9Zf*1^uf z#lg+N-C>A>r-Qe{0*7S|kq)aJG93yXN*yX48XS&0Ty(hMaNFU5!()e^92y-Zj&esA zM>ofAj(r`6I!44LxPFI}1a=PdA zz0;3Qubkc~B}yBmgVIImrtGHds~oBvqx4qJRxVZsDGkb%$|Pl`GGAG$tWxe*eyaRT zc}MwF`P!LrZtbjc?&jRj`D5qN&fd;*oc)}GogpF2h~CT)bUoxh!%CbkVy+yR3Fea!GSp=aTD^?^5Kl z#ih(;n@hFJPM12D2A4xFCtc3FTzRkcdv5P_eXmz!XmGDyBhAJbW3=8qA~H;C2-X{n zK?be1$)*o&rZxU>sOs*o2@?rpL~lsN1Ady&K%G{nU1AgnLvUb_ail&FqAt^z4TC`+ z9iWd6)eu4mNeCgN;1n6AiGTy!;D}`*8e@>329Aq@G{OGC27jH_Pp1i877-KTr`N$z zn8976Gx`~{Q9?;X0!k7Ah0-n}wd&KWzuD|f%KEP!|K`~1ze4x=x6p(BEA*g$3*G0x zLih3481$jUS0tb&EJ+vCO}Jg5gD>Xr(OQ{v^@T+x=kJ}i)3;9 zM|GP#{w?%Bs%r`Tm+D#^|54p0j}~cr^!L|?K^2!6{i8$RUlRc}hvRx;(}V>ZH98_) z13deS#()-4dyV}&55@-g>3~fj6u?2CqqGL$EY?qB2=F)PHO4Vool!$l>eH)NK(ICd zV1WAq5hS4|n#2u`@Q1T^V?c0}-rx`6^g6f$($pRS`q01ty;0*Yw9;S2%cBqY=(G_L zOSPm2xEnPfv0^iNh6ZXw13ksgpfwv2#$XV3ZNQR6%a$x!0{@GG$wx=bU{aIj_{3Eo zX=v%>r3neqOkXse)XB5=K(X>rpe8O5k6xoZ#sLeULm67K?;ou>C@3;CP-BP;(P<)$ zge8Bm16zV(!h)c6{B+|NO$c7JR7ktenDJswf<P)-W_OL~GD{2k8x=dh+oOfs=MJ9<^YM zx0towY=mh;{UUWbtuahv&;TdGg2-qA<620JAy^XtgfU1T8KDUcSOH0k9O~^86zmi1 z6A>InPUs_ov;l&9-+rReKRgnO2sQW9M8J>}@>grbU#w6&i=D`Ii_pSI_fNYRJt7#! zPa%0r0)mSm%h2@+o8X2@FqB@q1ORsefQQQr+Q48kW@-aS9SxAi-#f*~{~8#YJf?$$ z2ZMk^*Aq>xAqtM-N%9de!iKhF_4MFC=%c~QTe`uV5eD5T0xoC4B?V#PXwf*vV6E6u zK%hu}{=3~hR2$vorqf45-v=K5(?txY3lQg?2>;+c0G+RctaB(X?BV2eM57tHh4j2zBdw6J<`T z$twB^>=5G!Y^fVm@^($+LlBgMY05e>`IS7-`x)DdHnfk8~F zi5e}~{e|ynu^$QF(aq)bZze}Wk<24%6E#K%A0T|kSc(kG7O}<05b+nQm12`$wkj9~Y) zG#Hti#gw54B6qY+l&7Uw#7W?TXHyQ^CdyN6IGFdya>cw%6M4|0{XEI0!w{i`HL98L z6ia6QMjGI1UW9*8w8l$_E4Hm~3xQ22T^b33q^^zzrkvQDf;U<=x-sYcDq z&v8PULZyP5$#Knz1vQi7ENk2#3o*{ZkRS^&&ODa&39=C5g=B+;?|7lquoeLhjkmBo z*g}lABrDWB_%F8cO=TyPP~Kn*F}|q{f}5!EVl%+vn6!r3M&?Yj3n9%bPcgR^Z8TnJ z3vqogLGWEFd?%QzG8{;;}f5~3*(Q52`p zCW^QT#UV}t;Vm?=Uif+o>A?khV7_-VbA%lAf3vsnwd=ilDa;u$?f^Y_O*=Q^FQQtRGo03Y6exi3C9n&AcKO zu^vs75V|QnA$XHb@Ds~R!iyzsxxdo4w0Mi608bK#@SC?cV%b`VxpxGt*@HyqW^$U~ zU=Y63g!Y34HKa1Fg*+Hq(93STjhuqN~9J!*z|pJFtdGt3=jAney+ zREGWh3`-(L3o)Z<;xjf;mUw-PmY(J-$bO{o^%WgG#ztBQU$HF0*Vn?VNDJX>$y}&& zz}eqst1KXXdvLJQK=6i=}ET8bZOAz(*imRH!;m?>eGBj!qEOP~ZdOC$)|EV+V@ zm{*hJ3T{p53Bj9ef}bF-g1bQZwiMRLmKI;J`6ETcmn?B2$;VerLHN!RN*FDCXEh5% zbTc{2!l7sjF-s_MwD6tN95AMtoMWkNjD?sZgpLv8G}R}jiJBvnCPw(q6-u*0_|Am{ zMEPIQL=iVZEQymqfJ}Py_81`QMBL%kMwqZeBm_}U5R>di1yk4)6H3tE2n5mX5Q6Nb z1yk5*6H3$@5lYa75JE`VqDCUATWFF)6D{Oou?aafSx9ac3(2vG7IL-N#GEZQA$N;K zD1k7@cpLPAps>=5#u6B4jKQGYf$7-Hih#&4k%GbzCiUuVRva~lfj&blA`ANqOm~N9 z8ZG&b^dw(%-xkQGF@xAF5<%!d(CL60$4?hQY@*B&N-rejEhMBDN=;nF@sd!2enwEv zSS+F%0BnLZkT7Fl=+%(%Lr~@s7cX;}0?p<`v$@P{PBNQ1vpL0Vf~rQ)t4uSSM59Rb zEhBYdL7GvZGw~GF5pxM?)Qkt|o2Us3(@c(>66qZhOs0ToLHZe*$k9Q;0z>?&XR>~9%pCxS zmIEl@mV&P?rfl8(kwGK{iOW;U-8?_RS&THWOwhj)_ zcf$eo9yma+hhubdh`t|Abw7dQ=|j{pI7~kRC%i}D*nKTrAwCILD^5{osLgONe+kZg zFTnMRi*S`9oBE9UoVp5^0zQh+Y5}(~IErcoUTX7uZYaE$|4W46d(lgG=lc zl#$*}rNQO)9dMn!nu>!9?X_@meHT0vsiXJ6d2@HT^1heeNAIT(z$Jii`V;yfeTY0u zuv{*uPtu>#r|8r48Tu@_s81!rm96#U0y;d%OQ-a34gCuJ8GV($Mqj5tC)e_YYwB=K zpYj(jtCMFA-_m!5%lqV+!$T?s9ynMYJHSH+cs}!-{)zq>j{I|k#}2>3NqGT0#}KZv z!zF+XR4V-XgG1oeho$QLf=x2IM!9jHR`ghF_b0FMe7ayh?;aFw21 zsrP{E4LW#a(HG9=`@{1Z^5|kPGlcn=8EScGAw07nPb|n&3wUM$=lBzuNz7zs3gazY z^CwR(;JJnH?80*8pFFrA&mR_>ujvOcT4o6o$OJLL)*v?c6k2$KD8sS+6Jf&djm_1BA+(X#Q>|^#b2bfQogUli3 zu<)ed7(9PE!JK41WloXDAHri0@(_eP3?a`M$U_kFq=7td5Fdn)2MFXLg831G@Id4N z^PTWW1Rg#xkC`XTQ|1}mcX-bH#Qe^j!|=>o<`3pi z<{ex!q2a*-%UY2K4XhL%@6AwkO+*?F~=6`oM#Ser$hs0NlG6#13YM z!0n5n>@apXb%Oeq9l?%dN3o;XF{~#$mi1!C!Oe^b>_m1FJDHurdb2+4RCXFWot?q@ z!i|kt>}+-pJC~iu&Sw|E{f$NJVphZYvHolTt7Vt4fou>P%r0e@u{t({4Tbw1VQe_u z@rYoJaL*%(jb@j#G3*L`nF-`!(E9=})fI z%!Hdxh}ufWLgz^Z7A<2>S}CozTm3BQ0@qE(Nn#~=lI@ZclIPYkYjt)t?aGm6u z)D*u!y%Da^Nb!E$2j+{w{|1H192c z@8$aq@1K7EbsK4$XKh}6(Bp%Y58iy3{$cTlFWNF~m2JDVt!TTy?K4%C>ulGHu8-AL zYB%*rwNAZLeaUT<+akABZiQ}V-M)4Ey`4?FZtc9RW3tCW4}(Xs$6k-C9#8v7`gG`1-sgCqJAHoX^RBObU-!Nb`YumMK~93SxMfHMPA23;8R+u#od_a5vuc;Vp4 z!Pkbg8FKk!F969toK|wcJkOCz3jc>y^6dly&A_28Fy{mcjG%xaF}p%qUXdp6GJAZPAr>vaN@Oz zuO}HMTTgC3IbibTDYv|fy&HY}d>VX?`Ix5Op88~(ZrX$Cr>8%g@w=~^?-bu0--Ev2 z&2*aCY378P%Vy@yd^*c>R`#r#*{-uM&heP@a&F+y`9;{l3*pn$l5 za{*rlJP3HM{Z{*2`)*06B|(ACf#pFxf-VK!4!*F=ep$}48r>(li@Mt(b|K}VR-pl* zQK4y}MWMB!M?$ZJejWOK=u5q|zKy=8-b+6Zb{;AEP5L_hY5gtzbNwG-E@8dHCWQHi zMTVt@6^88$I~jH}?5FTn;T^;KhK~-P8onreRd``|Rrta13*kQ)tPLFuV+?+VcteHZ zVT65zZ$xs$m54^;aASn=it%maXxIsFi2Nkd6xBY;KPolqT-2-RkasMmsh=v z{U~-yY-Vg#?9JH5xbAV&s7=`bB)7`04Qp@mu4s$G=PHn=m~g zA)zkeS>pV}%ZWd&>Ac2!P4t?|HNPeGNV=57Cy!5#Nj{&#r1+$yr`$+=FV!nGAT>30 zZ|bu&yR?33Gt*+z3e(P|-A$LK_e_sW-<1AU`tKQvjNuuYjI|j%GOlO*i0n`=G#5pq zZRiwwnmI2sKC?9QOyq*A=hZ zx9;n8zhygT_s^c69h<#1`*ilx_4ezBu3xY|ZvD3P7uMsPPC1iu3^}DaH*=ZX9=S7f z({t-{zuG`==)A#qL+XaZ8-C9FAa8PBYTn8G_wy&`$K==KU&;SvW1Ed*HU@9Z-gsi; zcLk0GeG7C21qHVYCl)3Y?kfDg$fjsQQ9{v#ixs3Y-+P<@TO&( zHf}nr7KFel-?<8RkolEm3_O_ zX6vG@30n_sy}M1lZSuB)ZJ(8YP(Hpqul%zL*NV7`ixt0Y|9JbH?b+K8RWg-sm2)fg zl_{0QmGzZ3Dos1&J38$cwqx#&*c~NR!>VRg8LJAbj#S;MdR^VR+P&JVI-q(@b$Rva z>hEhZYc|*Huenh3eXV1yNA2v|_}YTnQ?*ZbvO8UNcH237r*UV|&QEuKwTs^M(XJD_ zop<}~UcGzM?gP8e?!LME$?nEFd0of4p>_JYgt~)uH|w6&z1icir_Y{YdzS4f*t37n zjXh8I@bz4Mhx!rqE9%eJ|IlF9(6wPKt1{PYM0qGHJ986PZ<;Tu4ci3g2$P?hW{MG;LDvV^858%IFeQsKR~GP=22zBRy?3N=5M-67x|p$|}gp z=kDNB*yn%pG$Ki13EHw{Ia=k)2O>xw4@Z(B(J9uI?~A_1`y`obvo@l2C_iySJX(p; z;?m-|!Tc%S=YR5qlw+5pXeeNjD-J~dygLsmuL37moUuhoa`GXr5_xqN3@kndzAch*MxHJUT|ND_>QbwLkNSD|$ZuOWtZd_la(SlxGvh^@ffde-ppGq-1+#)MkTgvVZzqSH)}Un2A=RbB8Y6 z&gJ+bDQ{nq`T%X=u*cgHCEhPpyo|@ThMcY_0*#wD?&AawnreC(=Amcdtg`RQ98X=q z)5`H+@>Lv?oY$v;rp=>WRIlS$p>>yLzi|;5p$gy2ywdsRuTwF%)ySwKi{-7LR zENAy&CuQGnC;hCtkIwF|tG(uZcI9Do6J0#L_5o+GPWyP`(uK$u%{sPh&%qN7R}X$u zf2DNSqf8D}cTJPTqXC&=YdM|tVEJ-`D@sU7%1E2hb)nbdnQ=utjoU85(v#<|-b7cp zgDdZjnLKian+j>xkKX0M_3A2FxF9?X`Eqw_l<3aR-6xNi%`XbsKeCr%Be2z|XFHHTF_Zn(;okMO&g~ku=8xbCMJM9dr=AZ+Z#n~*(a=!HEGwjbeONoZ& z^LC%|l5@QMg9&+PJzAHAa!?jpyJ8dXfE}0NsR;K#c+?&|3fp4`u3#ft3*I@YS;;5? z_4e}N6|;F}HP4~}9Hfd@o?%b(Ny_APsq0mF==-Z@vEmqJHewdtLtn>ZyBS#GjqUqg zPC&^hH5EQ-D7_?x`{|?8d>_PX5kGthKZbA3JI1X>=_rkpn|gnW-~W`x5hvKorpZc# z^tCFiezA%lCRtUGP*9w|u|Ty755vygCE00NX}Qqp@{3Rb%1_N*0ixn|1-o96lx$d+ zgEpdq_@b343DON;&hhM^B0Nk|6qgsbGJbWOs)!%PxBgxdo1YGaT8ZLUp*R%3Zq24O z9CjPeyN;JEPfSfht3j~r@QMc7Bx!)IpJnd)wS290ELy&03o3zupcdCi&HWiVZw;=s zE<`2K(P(+BiieO=(j#4=P52Q}*!LBUy|$5IDST7dZdDN~T%Vt}_GA5&Me~!BGcr&r zmz15Fz44oGu=G;IUVl*Qg~RA{3wxiT^YLajAA2i1$%Fx}X>^mH;#Vli_@gRB>+-Vl zIQ;a@C`on!%0@^WJz`O6LRtdHKmBu*Bqa`|AjHWd%NpM+qwDYD+`DW&{!-alc6X!l zBbgjko9e1*9Cm|!WV)*C0uHzE@4vsOc0Bq!Ui5>ZT=Dx+=dLn^shdn5S$Pw)xI+b& zzPM2CxDQ+P{}m5;Jp85NZTvp`fwH?y!BahCU~?zQ;x^T$$Y>g$_?)f8gOojGmCiWL z)C#?AC4rPM^Any_hF$JD9{qV3=MAN6rbIUJ0W>1-xDhH6rjrI`nsPO=< zIAA=gc(f09Qx23VZVi$t9vyWa3{4j|F}_ezkVJZ9KH9JW zKKV)6tJiaH%W$R%AlbM+C!4sEIRkncic8|&k~r}xYf{X@{63k@=%#7R^rLmtT=e#- zwK!GGv>MSO|7cOVV30rsIZy^%D9O*x&4v!PaZPr7Hsk;d<0tUWxHtB~({X#;5f8*|@o=8ulY1uh9v_5` z!Cadx-I|eURIPw`8JWpB3ogzo3_x6m?(V!J@A%C9rRzy_ct_Q~yjjPW??K$d!k4dc z96ubt&-dde@?H5p{5)5@&>6F5AAG5*L5ElFo?fsV_!-0T!=xw%rN%}rnlw8(8gZk& zA7Iv1{scPIoNCj8Xu8IEqzo^>%ax;K@?+q7r3}|sJ7U+n_{{TBzbJm+?K~Q~>lhiH z(xAi@*hi}P-BX4STa5)*FPZ#uWOZW?SOdH?h1NjtesT&wQ;w4 zkttSq%M?d^WQs#mWdgG+CC&FKcO^2>}Ys4(dwNwmWQ{^DH4#fpZ^Lng&%ujyuyiN?=-d957Vmzj2yJD&Ol zcQ3;Sepy+j_=6gu8KgG2adM=O?ImFTMxgm-lo1#Tgf1^_|Dh@rV8RTooF+ zns;*>8hL8jQ6DrL=@uhD6jrc2Gu?L!Z}la@D>yuguT<_Rt*uv`L}i-%slm&arA8ud z_L_r5uJUgp%RnYhl;Ptbl&S}K_si$yinv|Q3uKC83uTJ9MWmWvDHqG+oj?+MRXU!! zG_eA|x-_d?aqHAtr3S`lKNy|;K~iCA;;ZT1o2#{SiG3D_6NzU@@v;wpVt=_JQ9O2d&6tw~ExPv-cEZ=?9>rnQn}m|CbBVTDfU53`Lui!NS~;)$pc!gCmyV zwtU+L#eFQ}vy`}PgSFyX*Eij*75ASv@NKQ-ry4_HQG`;m<2d}}&k>S!@$2FXEwcea z*(n7a|K!aGNosy-eyn*sCJRDdOuh`a^@qgE_$5kz-1f~XzOBDhaqan^-L2)FOlR=~ zI>mHHnIDO_!RoJ^x8GRC@5X&4@+Z8ig66HP!W$DSq;gXZ_Mx#Op2A|s#;(exGI@O2 zifX*9bo=9jWsWts<~_y(u6H4L+;Qh!JnQkQ3dQd`u}&EZ?$aH$NIH zUpd}?J@|@ZZ>@8@Oz~xcOi^&$bX}Q9%EoKTOt;N}{2w2CJ^qT~kU#IBTq9F_lO$7Y z!tEPFgpf+H7U5#UDQ;CdC&MgZ&IblNXiv;uQPkBsr^po7z#WefVnE$6a}8_Bzte|` zBQ?&cGR2)VvG9`WCU3Wrpl-t`b2Eer7d{f2Q}V zW6K?1UBkt96?ZE60ZOF9R#{k*hN>mw;?XCr2!D(=NU~S%^S#+DL|uR8tw4x0i=rbr zbVZ_g4l)FN{qvmUMXqmyqzmKGI2G=UtCToGs<^Y`*pVH_5clQzKD>mt^BgeJ)gNiM zgzW|S$%L(_oL8F5(zTox*F1?>b|f>vwP5-q&}gig%NuWijw(A})4W*nGr|n(_!sUFG~{3qxOBdG$c? zNu_fp@M|r!VsU(#seg%M?csUbarR-wt=a-*7BtQ}@XiMBQedcawXV$Zw`+!S+@@Ty zw**9RJ%~b%OmR6^rr5i|BJ)IE%1Oz|PY_a%y2zH>Y%T9nX_ zd%_S4K`x?o$ptzNci^#PeeBwl0@#tQ+prGyA};uA$%d_)_Fo}GtT8<_!-%-PWQ48D z$Ty5h~kJd;SaVW@kxme8EcC-6bZj3d`W238*Z|c2u8Hl@3Mm zMKNoQ&_HeQNJ-V6Jx8`xRPWwfbcmEPJUs*^f)F%wZCoa7;!D$W<6wulG9fM{nVURx z=nF|=9xR2|qoSe>TgZ-|r_v-*Xui1Rzm7694taAw^GeBlZ(@A+*OLI(6RKqxGNJY z0`jqJC;A*!a(J8+eSylhm2cj>b=&oI*_rFsK~?hCpw*}|@|c}I8fH5w>VZ~<>tkcX z!Y08cI4J{xg5|9}wrOCo4IiQ`{+D9%Yn1VMC{OhZdUR~<7aWE}o}%K4%EH3!+b_ay zJSP)0Z$c>-XZ0^dzi=4paR%+2RkwJ@#0|?pxsZThx)N&oO-kLu4S`wlumlg{c&JAR zn!PrmVEm=<`gmRzjK&~6$3s0vqsRzDOpGzYGc_fHXcstnC+xewazBliSZ$KYq0AIZ0#gs^mW-n* zRXR@b)-NqN1jTXTo1-f$wrr|Wp(|tdjLhN+q`ApCiEEOQ)~I5oykzyDj)-r?-Ce6h z*zLlxqxsz1&eGWhQ%)ei%Wl3lkq8?&gjk9=e8GkDWEuOEnJ7IxuTL`YPr|{0$Cwui|@ID^@Q~+m>FA z$`PivV%ZaDhhs~(%u7S5nW=~~L`4}4rBUVOrKRN$MqKgWTa5(;jgu=fWErv|pglrx zPwNfS3a4jJ3*D^S7zl&Y80|RM3g;47&fVWa)~hEQ@Z|;?`!?W9ATm9Qltr-x1$lYg zjT@4kVf$AcLWj`)O|{#(uSQDp5(?r9;TKnskjIVuO0vDSct3a_TDf1plZ4O9D=dgD zTvZqsmyp1X94QIjuGusn7P5<1EDhsEd?iW9iz`?a8yi~~o0q`d7%2%0UP0Em^EWNt zzLXm|LXwaW8&??1-Nvhx53XN-@Zg$fzkXu@p4T6!gpGl76_!=uE3kevFVHqyUq!j` z#o-(t%J1OS2!-H2s4Nf-;>QyjJ_9A<7DQ*gJL_}U+|)zQBAXkdbXZzmz3Ux3v5KGg zt+Z@6?uSqn-wxsKus5$ee|B9BGA}g4VAPkAVQ_Ep@@Q8SpB$G8>&&ivS_t9?<86{8 zGQ?zarRD2B5muU`U@y$^&al$7^h4ZR`Bo-v(n6VJ(hUjg;lw66QH7^iCFUjP<>js4 zpaS%P{WTl^SXJzjiH`?bOpUx&{s(XewZ9K7 zqla{JMT?94D}uR&VSxc?4yQ0tUpqsxXlGVk$<|FPwyY{!O-gvc(6B`Cjz>Xhfy*OS zY>F<5EFc*!D)+BLM?sf(@)?aK&+j~EvBdPNvQ&o0I+x1i6{z9GW)rjNMFS1Gck9!5 za{;JCSp3YYOxEDMRfesddFw}gUp_i{>rysamjp`7WL3&gpM~CtTgp?LVgEnqb;(ZG zbLhyN{K1)^V9Z5aE?S%Kie01|U?xk+s4*oM=t z^-%#*zo^tieOgTxXhg~2zCEO3>2^)NAL6{GE?p2+yt-^#QDKQI%1zxGkhyi+-rVho z+j}@{l54nhak@|X%qVVBL{uQsaYekfGC3zDSB1Z@&dteQpPiJw#+CoVdQDPFiYpZ5 zD3&VGo?U0L>pIR;I&MnD5|t*ne3z@dQ)v_pI=>X0*H*CmP;h9pRjZ*y~v5rqnj0Yb4U6~2Z@fx;dc+f^XXw&NkM`)ArhjFh{ zCkvl8D7M^(X5pve9()hjC;H$X@CPQ?dhk9fek$x)fp8_wrZ|2dJMa^fw=?f#piQwz zqRCjl#TC0=gf`iVN|u*KqZMcg3PO=vqd3LA`(@G9sl|xfpLeh*3$0(14C)@&w1DV@ zSQL&@D%Tw2k`71`c7<&Y$v;uBe<#|{otS)Zu!`YKfBkt&h^dZ{Vg@aw?rU%vZb<+c7IZQFTOkErBoCf*``Lah$ zdzHg4OulvV!iAf+CSMpnZ1Ut`ss`sz4;=XP1Y9ow4Y^Nfj^}_)=k3L~jxG z(9OC#LGN6FYb?6F|I|a1qbpZj%U2K$wxE~hkKwZiap1-Cn;m!G#GNk3YzCbX3CuE??K&Xg~) z?PoJ?fU39(w6GOKaeTIT-#&DhJ2J6$>?q&Bh0(?FTecP!Y^n-I@v5y=hjJ=F{_Epl zgi6W?S{@!1YDfp=V8)7!6!?OII~nxos6bV14QZa;?&mXjPK?e~hkWzHcU7d76`-wL zS@gzeRg5t)9GXYi&-#%4tdFT&xgB=saPHUmsKN0Re&FA5y#dr>CV!>k7UFy3L1VB} z3itMd=ApOo)b&43wX_~>aU76p&8vB)9q;H$`pP~~|37-g;zyvQ64o31{0bV+KECZ9 z`-mT80ytjznb`8f~XSbQ^mA$?j_tUTU zuRVG+;6}%GgNOHpGmW{*ZhhH0F&Vn`NxVpjwxc~;s<+lO6xE_Sw0l*V zt}F!kqcCJZ+U2?!-I8bx;sVijS!?Y6{Iz(g|yxTX}uSZC8D@qn{c?#;F;4!aV^i?2I6V}aV-XM-3Q`Y zWfs?fB}8165*QQGiMX1pJlZU>Rngmv9M2J<=GxYLpz~x>5=X6`tzQhl^Rc zRF5XZu`Nuig+$T*ui9un%=Ejm_P;#4o3fQV|KT~KQLEe~(|%>0tTsd0ux)ewp7IrbD#cy@h!}WwxM?qpzZsy$+*OUwSJS4xcd<`7WVJ_z z&L4W?0XwyMK`waFDvv7O9D;}|e8!fG?Ph95L9gT2}3$L)o z6n-ClcF1>&uj?mL+&%Amu)@h{9?F5UNRWk$gf)D7^&p-`+!TKHPJ9d>$Fp{xcUAle z+W9{~JO8grcs#7}7UBE9dnPs-3E%(SvzNgBX3ta496`IUC7c~ou4p7Ge#P(D9oX9d zDk!|fxdDczzp2rS#oYhyd{4~x@6Kz*9L>%rp3#-h^B)yF7Zmc1$yTsrTSAs>a14Qu zRN=$0O1GRu>=jNT_6bc3x~CIFL~ygR9gh(t1qR*!(78V`=8KgFq1OMR^v28aB%#Oso8OUpLVx==ucg;WMZ^@L382ZhkU~~j zl<7F=MN|2pPYTBxP1Q}P0#(m zkMoUb3|ULG(2e7?|H|iz$xC^Zk(5I1P-{PF*bweJ9os@mF33^Q{ag{vF~uUGGkAWamoV;2z+1r+HhO+b1m zfi%)4eP;H|r1wsGLQm)=p-7WpK%@jnf*>GL6ear%C-HyZK4)e!p@{!`?{W=f=A2#E z-h1t}*7q&XoMnZ~JF6opQ7a~yIey2QqE*|Hah2V+XT~eKnX2)IL55+TT>m*<s_;*L(#)Un?r88%w{g?R&%xnwxWDTntZ|~4a40zReX}~uL*_!bizuBSX z-=AH@cI9g9vXZ5JHFGj-IyoLrh9fkfW??bHhc;c(>{KHRX%}4dZYMkKR?{N-nr4rh z|HJKDY*BOA_WagzhqeDV?9ZPt+sM2D^h~dWJ8dL^kuMro;Dxzyy6_1nf#;hs-STQQBJ( z9j8wYBplrK{<^G|UYh-CeiIQq6#U81dla%s@<-sSjY1^rSZgiI?X?68Md(TAmLc~m z>FFySEmu=&tXKJL3vT%p>aynF*|R&OTI)mAw1;q%=>RZ+_syeTh3>@-w73Cog*mX+ z-{?s@z*@g^WpPpM_oNnfi|wTDiyJc!j;s27Eq7vLK+#KM6<-yO%O0D;g)dfY2&wQ} zy@VU^b^4-n+Z9JgRew`_8QA0Laca?4`-LO6#i{$vhm&Nwt z7*QSJr~8^r%UiT*@kZlbvKFef-Ih-|w!UQ#3BN;ffz%t+r=j8F=#U&C5Q)2eA?d;} zX-i_Bl6yXI61Op zSnIJ06LC;oYu0?H-YfRk9CCF;NWv!hj`&q}U&LhiB38i{p_P0QtC%kWQK12BEZ|#| zc73~$KKQ+1SJ?=;yvC&Nfv^2?9b@PE7DNzleS=|HSj(@_JDetZ<~7kXw~1c%o9J0% zd9@pLrvsP@^{|^fUJl;?&GBt@5741-in7)@-As0uspR##{(tB7qDK{clkE1A{H-mM z+q%8}fzwO!V$hCP(9(SL*zU}rZg3JpiIFU9LMZL$PCud3Jm@D-v!F!@Np!e7ok53r z&>6U5N2Y|u;+mJ2lagGyvT+wF<+7J$`e`Ff3O_^0QhgBjy6B;ZiiEuYHhtP&*eOTf zA+RVS!N3XQ#J3g8rY)VZV3yHfj7C746n+~=;;b>TWorvIWN+f=GZPf4QE5pejU-0J zhg&)EzuOg=Rf#*vF0w0Z=dvn};)4WhY&|RaI1#V-ZSvYMe{FPZB;p zXp5m_*76yd)3|0X_KD2@I)gJUA8lxd$ zaiLa36u#d4wj$0ieqIi9)Wcsuk|I(JiClEDsHH8wRSH8wR3iL1F_su}4405YIl4!Y zxhZ>7`X)1r^+L2)L=r9ph%+{t0u7Oiq5|0kwRy=fg&{NoP7_w|t_}3R8$5Q2{<0O$ zqD(QzroaQ2kW01nul$1wYf?P?MDW2RMJICNYr@-#=!Eb}Uwg6PMnt5AaYmInBt9fo z&mwJKQ&_{}LgCnm#$`L23-=Y@Z2m}Lj50*BS-C9E+CtxSL?H>@Tj`sbxD(YlgOS+x zz3+$%xVANu9r*Q)IPecc6>I!njbG%z02XSENK5?ZQM_716^nm*IZssPQRPoRQ$-7zrL^s$oBF5Acok6kF)Ki!z3wMCm0%R>Ep0{p(7Fn?(1r>G+5w{K5h+L;ua z9Fr6m8mEs5jqSVhi_^Zpp}>@PHovj=%ectcsQ75E1+Rt#8vS8*dbffugPDhQSa?^{ zkbQLfmRi;+vZ#WPBG%C@gO5&V@I&84Md52ddsC&isC?~ZQLz~9>U4mr4|JqnyQUZL zwKen=O;B=B24X-{Qj!z6raA@RNX7(?L@04UYDl`)qD)W9NY#-z6aH}F7ZrT1G0TvR zK!~Py70KZ#A!+cOrZV?wj(2=eJU1gtu_$#x)`CRNqAE!&$tp_a)@3Qu;`8E34oQd4 zg#?k15PdlJ?7Iq*WzDu^aS152(Hv*SI^>eWvzBR%%D~`|03BaTMx~D-qq%466#9ga zlpq#w8-(|Law5|sxOM)DqTmw$5+-~L!WQ^13g%|`D*_{YBZ&`pM@XA{DSewowcWSj}Xv~Hz}Z$=m$jM%~r=1;)SR!@R6*d@t_+M^~|xXY+wVWft&T^oZnZ?SOI z+ex#30bzkJ#eW<4^1-E_6jrMluaU&aIIK)!Fc}Qoz#-%h1^<=HzD@=Y7^E<;%@H=T z9%5r_lnlq`-!D+cHA;qagvrq0a*tTLM?-=x&fMsi8J-!M70JCLcGvqV3~XbF;tZk_FHUDwnPQDGh8Rwt^A7E< z$coEM%1qdpeQ^yo>iFoG2#7^sRFGj@*!Ylf;hZmmj|}OS@?gS2mRS zwSN`5_Re<-XlHgGmz#3OOOEgG*2!$tRJJ!ar($QRqy1&{In5ErtCc=;TKT7C1q_Pkv;my4LE zFowk=Gy~S-SaUoVU#!T8&NODiPVk>{`e+h!(jypBa?(o|w*cZFvLQYU(;hn`+SjN1%glZ_kbJUYVl_AN(6S4pk$fM2v}`|I zV3nuO?Yl_mW8{peP8Hp(`bhs=!lhZ_l5{j)6>oyuE|5%o*ANksq)!b=`g-NqYqE3sE7qM=y$$KBT2Xj^Zqk{4j5{gZ~OGD*B%i;b9shj0@< zRLolS<<^(1T!M=2;L?c{rV$lEG$8^ciFVyzm%_F5P`#TXc0E970#v+i zb?&qz%Y#nqtoc#)VrL2-b}x3HG@7-WDqYSV+UIl4(4Fu9{QHHUsFJpO^?XHS%M6b5DbwbXl7!qitGOUP$71v{ z_(pkgd}Gi@SVCio_(HPyZsLpPAai6gP6-lgNsZfXt+wolIT(AB{K_F(AU^0Q$Ja(J zH{=?Nl1(|$*-_b%CE*ayRhHt|)X3cVIv=ti+$Yjt@`~^^nsdy>$%jxu?3%bWWDUIW zE9TB2^TM=bcH$Q?OHfk$Bq9@o_YJ{f_)3J^&T;83h z2~6_O*XEP_xa631N%7`Pi*aG}l8CQ4{x|(7gat=&v-6^pOJfSsw4@|_L*z=1zidd3 zDl?WYH(E^<`W0bWScY7FQdW9qNQRFNo@c}S@WtT~K*CyzWAfwIqom~Ba7)K>tGr|M zp3z=GTCyNvYTO)@WYx#cw|FkK7|hd?=Or$K+l%uG^9|Ms6WiT2vL?@nIffvV7CAR! zI>Mq_+m#bt60r)UMN~!=n+pHI5SGTTw5Fk?xE1jg2o#Ga<#R%p8fIyUZ_I-D*(fP~ zTI@pe;(HBYyl7#;%hlmmM!?18<$v_~?m z)q}$0x9NnDr%K;LKnK6oMXj1EzV1n17kjG~te#rP_Cj@+=S7W9js!-u>j~QvzV2HR zG~sb1Lu>m~nGr`4bhu$zqj2TAXnR``k!p-x25Yu4Dgrpji!E;}qL_z`aEHIw(B;A! zn%BGr{?hiJRS4@U+)uHe9=nIhSGqW?6Kf3j%VovRuYOoiM`(XS5#PZ6u3PZKm%F&j zmlZKqODv1$V*nsTG#CxhT%SIQ(OW+%d5?(wiKr8G?C*C=25ueA^?|j{V1&nlrhI-P6o*vu=YZS~quzUO`szt#vHg^r5Ki3P&}%t545d;IBze-1C0 zSc!w~m(A{UUaiMQ+N>er=CDK~6uwN7X~{Hm^iivVh)RQ~4i%M9SfikmhQ>uFX*Vbl zerU18aw#g3U`jM4gi$vm9AMOKGua%yiCtDrNhU5S-jbn9RwWtZgS7!dW|4*FP%{@AVO++JtSjzU zB~Rg1p_th#B&UmT_=fw<>sOGS#pb42nzg8;I6t=}-@njPYhVgCSrYBy&`;>|6&rr@h_Izx@kP~=dM{iw zc5$B3OS}-zL#H(Vrr~GY;|co%9ae3jKX2_QezBPrlY(kt+%u|#b67F{AlhgJqY*m z*FT-n@glt~p3?-YEKxB===tlFDY4c}1R(+28xLr3c!R0I*uasErmG5aHnt)DEXRvx z7&_P;CMqVv%zdrIC}W(XjRpg@)<_izGl!YOhPe7?lBZH&fo-^zV(vQ4;;?vVh!Bk*K zfPn8)4M`eRw&;gg+}Byuo!CD=FSEGFH`_}$GnAnODIn5H4XHh~W=A?FMyV!dPEK7= z%|)dE-;&DF*P3&nN9?ZiBjRdBkTJ-F=$!yR3(*O>b~HgnmRr)bl_nyVD9W1KX=tvB z|D*rDW#3PRsyJZC^v}Fup7t!w&kZdRl)2|h8cLJkxvHbq8a_>59w=X4g`tQtiBCv~ zh!58_4@K};L^$-ucKj*5*#2^F>aN{KHmt}m<;XAvzg174O(rFZArbMLb;7$pmV8Jb zQ}Ji@;(tSlr=lhyVv=sY*n0t@y1JFS^lt+MPX-jGwWx_k#& zK`H`EzfNNCyk(p?PQ~`p(0~P#rus}HUz6Dd-mAUV8FrF&5(wJ&mV0B9N29PpbCS6h zgst}9f0KU~C(6HzJ>=i*4h{#10YHgb_$*oh5*?>sx>Un&vSTAoM*MGZrKyAkBL9p( z9#1TiSPAI(POyfvAFwgu;_6Nl+T9Mw`zrv*Hu*OpI0@Juru=R{(OM)vY&WIIbV!Ag_pKQ7SL{)nFzAbujq6NA!GVF<`=_*g3gY{*|(K;s+pImM-Vr2bDdW6wlnZi zI8Zs+p#`))mmXT~UVKw{>k1q~*D+KdKz(_iP7UPJlvfFTJhS>&Yb=b!Flqs-OJMez z6&N^j^vn7I`@sB<2*?`5F5;U+9L3$t z(OBtIdobRwBmVx|sVfGT3{MzDKE~1csw8(b!#6RH;h{de2msENA^;ug#FI)1lmhI6 zhn0G?j_gS~OFZd>mbCef-285r;$-LbqW~WDTNdr7m4Oc>q{LLhfDbc?H~FR-s5Sbr z!eohpQcq%z?n_EIxMRH~m%$$v7=i&&o<)XRf*AZE+l0d@nD_>Tghy~`ZKfU@=qQQ>ds7;?kKH_3WR`H zK&pLI9~vRm^f*9o~ zoH5OkDwNmHRUFWklGUL(OQ#tl7eW=7TNs?Ze0fIc-qGtn)V@kaPWKO7y6Wqk354q{ zK0ID@cj@hopVsZg9cEQj(ZU(Vuq7bc@lFZIf}5k0v!_m(Lq8?4yY~Om&HD}k5&m+K zn6vZJrop!|h>Y=`>FHBBip4KKFDl1A>(chCXVxFqW|EbL!hlfY;xICo1ja4P3pX%H z)Wg%NI>eZ)sF zAzCJW9mM(fWH^}XN^l_ez&R!VuiHSIF~8?3Wq!qeh}L0@44rMM>3&c$n`*2r03@P z=jP@D>|<4(OF6WS)N*$OJuaQ`rQg&DZh`Qcg1>04B>9TJjdiS#(8!^YX*tQ+i8;ktT(|AsDwEoDWWz`+wFfW$!p>YbfQ#?zEpL7c7~mB#%g<3U?={u*b;h!j*eDey09&HNV=84p6O&i9N)?bsY?f z>EsPE3nzTJ>SwEdrf#T8Y$x(z3$-C6!0Zo4SyxqtHO-s^x$mQIA{SrI5qnsIh#`$| zpgPLc-EG^NS3YKEPwc1g8k)F7mDA_KZ_o#;#Mc&xoy6{FFL$#Op^KVMoG##6I;q|& z>T;4$Pq-8jLk65aUrHa7yiRyjnL`bJq;01EvaPIkx@aE0Z zt|wKiEy*Xf`DM!4h7SSP{)Y6Ilp4DS=zX#3K~Hq`yxIJw(@!*-UIrW)mGdfT&v9B3 z?BH93l>Utt6y!Vs9GcQNM8=s)IXbG1`qPh0`8;42XQH3~UfPX5schr3pZlKYspd&? zNgZsj!|K^vwuaK)HYIZ!*ao-x>`BRyz$_~CQ)W`3PY4#x1)MKpH~b}ARh-}CxPFsF zKX<2Zoj-M+y_2i?8Mc*9KV$WsJinJdy%&r$*&fN~H5b+N>2?>P#eT}L{zVdlf~2E$ zmRJ;6*xe{Ky?92$?*N%XcLXQXp{=mw<4pr=R$QuT8dAfbc9Wukesu#pxyEh1gioeV zw|HvC?OwP?%b)6h{J?h?bwof6#V`HE7a4Zf?3ha*KNz*5YLq~ zzh;_7mMF|2iBOWb6cU%E%TOWIkheM6y$<(G=lCmTt73(BmXD7Q*u)H~ z*F!%2k_^VqK%bSENKOdtG+8u3u|9xIfm;2UJ}}TH$XD+d<_oj#Hd(iYg5U9vtpOJ< zW&%In=@J0km)V^~{!#{UcfQpzf2;M@pqjmzxH{#F?KQvP5Y%5$^N002Y~Gqhd5g=6 z3v$cLy>b_7=Yw=x*I^C9H9uq|A(!pw=rQJ{MPS^E1q&Jo5PAtS;po>ZVnGpvn8Nu1F~o(e;lznHcSU4&q=k`@8Ka|c`5N7PNfGMlJ7W;gt@PIk z`3Q=pLksBXe0Lg_Pm2mXLgF-J>89wS@clvGMI0o8g3vm;Vz2OUY)MQRDdEb+_w)K` zLzMo;WyIekUY;v%6=O$;Le%`Ixnv$!kgbW|97V1O+V&uVBE9ZIj76^lpo6(3&+?Q1k$sG;jsX_mCuH0!qH>bM=y z+K=gv_;TVoF;Ma4P>s-;mMEgV$o!xnk^~H^z3> ziYjPBZRk^kEK*F9y@*2JEeKON5J9I($pcRi@BT6E;#&xIoQ{N!QLH3sSF|h2l(P&k z0f{h!yyv=+6EX9Zfq7nscM@^29iEAM>W{dH^!BBJ5~N*M!=Kzri!>R&$9EGkSaHv* z6``xn><`HO^eaMlDfr7SwqG$G%ol_Kxd;Pt(e}3ID%|UB{WKv-;b~f7jWU+Ro8k$V znjV*)5f~c?XJfc2jBw4xcKcSS5w_lNuEXlhbnA}r%^ly{Oed7zLIllbe#d*T!-?GG zo>Z-^AmyoR@+@Yng;BFD_fL<^4=ao+#Cqg@zKI=G)#rxzux=We7d+EjQb-L(n9aZl z5^Y_WJw0VMPU{^EO#<&^=ipb~0Yf6Uxzo@4>wX8ZP+@pk@T{->#sW7rHfP+buRZmP zL+8Pe_u+Sc>ZpGwzMgE)u3WJSipk1Z+0y{tn&3Nq?yOm5%eIm&+*z@wX4U$fDpE~$ z`c=<@4`WAJYGFb-;jY$v_+sx*`aiFmM;0e}CSyBj&q8M8xIae#8zS@C$n#*)3CKl%UcPpZ~HZl$%$cPu(rdb1$3qGxo^i^v~fE4Pj=Dvnpf&S zYtWt~4OKC}5?I-=6Y#a>ql9ieCiYh3k1qR^3^xZFmgX8ci!wDnB}Hc}HWWt|&!L^W zQO=KcGbIA|nFuW>H8MR2TUf9bwaqP^oHm(o{d-S)Ste;p#3n!!m^x$U0iq9E>BDSe z?Mk*3>FB34P(?ozixi0=W+pv|g2>jwBC_QsQ{Wyp zh!3+M`I}_oBAxh&_>M~aj20@wQcPw)Y+>)uFHs_z2RQfT2D6EP0&m%yDrTe$i;qmu z)lYa+ve?PLh@UDKk%?WkplevC*-i(mR!&fevrlWNpDH%WY>J6wK_v4P^kGj8?J+@A zD04kEm&9kV!sg$DFO8Br_|j-fXo=N_zEQTXfCeoupih5Y)^P{*C@H21#l_Sk?C{a= z`OTMi)M}=#owecHlE&Ry!Bdq)W1264HqHNXOjs=Z`T)dUPK-%R)Cs;Svc+0kSe}rS z5|?WB!)XdTz}$kR<*Ty_OE=6~J>{c7(S48>r-e99_zK3y%TX!e<`9g@+w(Um^H(DH zs(FNpOfh}9cy_oxI5LRjCZvEmk}F%1KVLh`caf(~*i9dT={^boRuEjr$0X|zoss}! zwdkePM@EI}__t2x(OH_2E8abFWJTSceRCTJX$Q@HZ;0;jI1PPNm6u#zP>?jw8{47S zqi9j+JTEVOc@Z#xHi-{uKf@A{ypBh1(5ojXoXy2YK;`tSn)kg5E&ZDMM!M!Y+hSU& zWlqx4S{f)tyBFhZx&b@ZZ|ajVn%~v*Mv3Mow(MD3-09O&6drvVs==f!Q@+z~Cspe* z_E=K_W1~Ws&06R?4|bjL%gJVvla!T~k(r&7zC4ASsGKr?+E)b8i*~Gw_pOcyQ|NJP z!cD$%7uxj)Lb(3~Rmd&%%?wSG6fWF1Z`myblGB1eyVvuT#dNlYy5TA6j>qUjj7yMu zAYh*y68_5TxUnD@#oY`p;2Ss6H#D>zZgy0m=J!w~`F)P^vX)6c9v3_W!BI~)DnfM>%Za9YEyQ##CzIWHW13yF65_< zVjJ&KEXZY~qTKheG7u8g-C3iA2z$JgcCu5HU7%YSMcF-XU8i7ZV+0wD-9jfSXeauf zl0Hh^&fK`x^St<9op@`0zEY09>-Va(AF)U{-TC*Fc3w9J?HTyK{#Y(}EdQg-9h_&t z+`WARp`EzzcBLM#(B}iWQK~s4=tb>ZM#FFkYI!BO?8-3*&_-VnkzOXhkv~M`Me)TH zZnvschv*9(VjAfq-G5i8u8`o_x=|{zci^*q;X}Fsr$bc|4%=QiT(gHt?2_&OJ2}A7 zXmOZEP^hRjptvvjfP5bKtoVYzbaAztNdD%^Dtu3?n!kU*l{MFKU2XZmIZQ5$cOats zqd?&Du3?QlUQeH?r(Nnj_6QXk5@n5wGp&d&2r`Rmvef$S)*|gMG*n>yuhs6D* z>#C}bn(JWB$S_~n86Rf`TT3FO8cc}aC})r_BTQm9llaiw&Z665P8jj`qlm3ld~#J3 z?L!WkX!|MIQwTRx85l}{{YR7}Rc6wc)9448R3XtX%-%}-?VjKAdO<8_ljS zzhg11Bg4l`4*x>B*je(0X+^>}aP7=H;_(BG)sTQ9YpQWg#OkHlbCPj)fZtgBP(}1O zob+VGtT6+^LJZz5$zkAB{JNn4w9v&C;$P$Pl*#*J4uNrf zL*i!8a29%JdCd>>UZSP%g2yJ%8fXdPmWxvrmL--YF-!4u!u8DS2{#ZU42KGr5B#~8 zw?7DO!O}y=AQBqHhOAXDBC3nFmzvcc_K8N|NS>6wSz*(-wAcO?xCQZ2b(?o2;vZJz z4|yIx$loykA1i5Cp2s=47}R zFD6`0x@bPv_|mEH{Ha>Wtx!xen4 zCBza855saLNwMG$7q>Hqexl&3&8ac)V{pqu3g>DUdk1(zREOJ!;*fe}t4BV4Mw1q} z?-zx2QNp6wMcfLpU-C$W8K49>hZB`~U>c9j;?^N%qqk76up;Q(oXlNQCYcieQR6ZL ztRdQ$m9q(160v|2Uv0jrFa$>h8H2e|v>fq@?zR|cKRLT-YLo10Y0O3NSDlxR+ix#RQ*L_<#51iqY9u^H1$3 zr?_85WrNs5D;{=kjrl5921(jJ@zTvpe_V2>J@E4;rm+W*N3?@FP7DF0mX55@EY9&Q zEXd6%WRB3qzCK=B;pui>IX?JIrnHehqvOQ!?6nT!=d>{YP&`Sxo^UWx3asUeJ}BrPP%2<5jh zwkXj8J24`@jXL9!kVtIK#E=B69stXovUT_e6P^#4xz|+6bil_e%@bsf|#_Bc#v1zWm#(0Epd~&v5 z4ktcQ2IP|-4ul(UDu6GKRXEH?7-r|p^FW1uTlwqY&68@2C1!JWw#7m$S=l8EOGB3% z{uUp~-@2B#?f^MVsy$0XQs$P=NccKoRPvBiP;0F!tUO2PLnQWP%Y4p^GyyQQft)*A z_nRCU8ii1X;1EM}Xjru2o8oD3F^e6@H$%uMGCN~ok$3sx;>aI@xV-4I0U$gZKYRLn zxCvd4g<|YONp@tm@NkwPqvOi8-=x#oYv-rm$fUK~_~h!9G+m=7U}cX%N5H>EES8+| zEZ=qB)#M1-x)*F0`(|t#pTd2Rt>DwDze!wLPF9iiAc z_NpXCYXn{uMr-6VTj8JOl|L5Sz=UyRD49?;WlI28=c~w!&Wg@}O#*~D0de3zCsRGA zP5^uHWb3?=*(;1|NuDW=^%gOt>;^TpnpTP(G)F8)j3iqzoD^s1=t;ARb_FH4HQX8* z2LZLjTH-m{Q+SMs*Azach)LQYKV_b!5{rj{zVnP+cA#pKDIU&i0{}wNTxcP!2Dpm5ScK1(HZZ=1F>%?kR09p7M4xUF(I+?<0Ib#YxMAi#U&^T>9 zHPj;hC5DOlicrQxXW;ZnBwZ_1!Ca+>xyoOB=i^1<%eYjQ5E?_*C;;q=L%j&CH^gw_ z*K`{VAPV{(**+^*e8uh%t0IaeMzU1*Pua{t_O*hxb1$MH9z{U(CV5itdVL8C5cFP7 zcb}lU!4GhCPXXOmu;;485imi0wG*O;bwB<38-4mEF%G}aUao^!~L>7EX5X@*Aj|XPYQpOyVE{p!ehlAv=4j=B*GGj z<0)2|W{zGSm$dxb%lWlf06*$CeU%UvA8HM;h8dQn6D~#>Z?Q0x&<(NI%J;#Z^ijCT zFCe|Z*o6`|mQY&cu~D$H@*)yVFh*q%LrzRe;r_GB523u8;L3>!VL;Y}Si+0}a7H=H zyDt8BReuP;aZr~Hv z^h8q@iB7ksq;B4yw*`0P?|f6oqlVxVBf6AeMvLRgk+(JuVa7IC*G5EqJTH7O+UzR@ zlM7J@Chs8Zl7BhEe(6pa7hxu&B81_)G+W@Z-Sg6E?`lvyG_ZB*ktb}@q$?AyCgxm( zuPy`VtW*QyHiI~^R^>y&hiRAiDf2D+NiqKHCk2r9C8}X0L6UZuffJIgapp`!5MCsS zz6rg!bfTwEH+v9;(6zZ27S>Vc!XgMm=+>-OSR>?hWsbFCUG)(DWrl&`s>0h8IY}ER zudIBmtO{vm1z}~y<;g26ZnHKmyF2L3i76VX1fI07tVpaZfOER}rDJ79I#$+jZHFY9 z2(>q{ovlw^OCMziaty{l_g!^#$t8~sX&U+%Vou{`;6K-Mqwc*zP zINbWQqnf`?d3(SvJzJ7on&O*)N8OLm>9t9>_zDSTOP^5lv-DJ>=3mg0Y6U)}ouq%$ zAK5Qrj}S&)%nS$)j_Cc&K5$s3ws2fT+pCE9_{AQS^O?86>l@fenDGQa@H>qs+^q4- zH|u2MNnCtV{5Yr{7^-|NX%EW3csxYa?((m?ENH9x{F~;l2?c%LTjK2ym>g(|u2Nf05ePj06pd zgaZ#_st(u6WDo&@*AJHV2yXsF#ggUo%0LGws=EQ7#BKnB*&bWClf@EBtxY32^ovyb zMfP!t)UM}FI{483j6D*m-Tj-bb+j9#c4#-0w|a4&X1Qe}qDTvHLtk#>aspLfn&Ou0 z=xfJtFc*?M?|eq33w8nGRS2*{Lu296mC@NC=t!>0j3EfmL}w#S(T2(1`T(f!QRQKK zx$x}@eZ~CT*(v+ex2+@FxP2d0_tlDDVj*ucM=aHejZAM`YKr_)8>pm@(8(J5rV2No z1i*vLS!Kc@%mhHl1yew@TarOf1xARO;W0@gRX&6z$+GAH23 zbou0Maz)&ru!dPfQ&G4jJ|>m>g|0^!$uIZ%_#Jqy9F}mDld+w4cKzf@vY(DnWbN6I zw2tv?dK%}OJTXVo8a!;unTs)sG=ziDeFPFZd`bq>nF>>kky-vrza@nd&*sMn5a7fP zY}M`|xg=#4mpAAuKy!xT>DdaC6()M?-A^lMnpg_}7zvmFhCD?gtmGbKG*Z@Fq!Tq6 z+kZy470;j6tfua(MR&yweC>EN3IBdbdbC3lIYP;i9lrF7BVYvnp@3e*50CZq9ZiDx zj&P79(08DA7$%t(hX+OK$Ki&+iN7iR$!HRh6rO4*$aNdc)fM8Wg7I5aQaenHBmG)_tg~apcls%(EeWI#fv+j4S44XW04f5fyOr= zDU7#<{u}FtKBey9>0L@QO3#+kbX*XWztOr5B@j&^dmwf5Wl8(E}mY$+d{J_dTqzOqe#UP=SCB_<`eQ;x90pV8fosX0&?Zzya zsf!|W$dXKszq&l09lBgzVCE9Uq3wdy0+Vrm%_0%fq9emrsH7h z0{UBma2=lz=@Z+tPUx_ZuAxsuH&nHL5-NQn201_ZjDcT!I)4>|^kI{Rybd%^O?Vri?lXxy=t$Xux5}vvF zx!WJHD)FEUX?A`tL4ff&Yn<~#sd+8k&_L%$_9nJ;yZv96Pi^qgps%P4{dYcV9|3%t z1bA+9ci?lIyWj4|0J>-ZgY4QrlR>*}pR?sNVwASe$xu)<67WTFX_kk$MS?Hl#aKin zHNVLslA7PV-P4KZ!s`s@<@mkEV0^lt+P0h%e}cmJSz2pd5&M^8lG?7Bw!HtTy6x#-KXeZcr{KQmD5F=qef$h?jhWUH? zFMK~+WE^34A+j>)GK5aju}Erm@3-lacKCiU0MPe%+k!pw2cRm%K>OP@j=HbgcHtX~ z=#4LAmKqjrDCJPvzSf=kNNY{vgB*MN5v;esmL7~_(uKP02qP4bDAmU0(J{3VdEbJ% ztf!s2tOV3$?~kt)F5y*t8q|D|(XsuLD#XuhBQP9y)wJK|&bkuixyt`A;x)RidL zwbsT46_=ffw|;5UuVYQe^JHF3*N%z*#SIbb0gub@ZQfb4 zOsv4z=*HRKo+tNtTTOqt(}64dvzg7Tws#v}$o<}gfIIqMHUFNqKh?HvjYOE>Dp7-O z55T&Sm=W$HR*XjB&gnjApYAfy{Moc9fd3#_Dub^&c&B{H?5Lw{2O;AInLX8|uYboo zcp6(fzoXhH(+)ZZ)lr}eA1ee^cZZ-#O};zX&tc&c4ga1VOs<`qVQtZ|>_7Bb^;+TL zog(T^e{7P4vkmp@y`|I9jSY}Yun09Qk_TwVZ}Zi5{=|kwcK*aWrSjh03BN-c|Cimd zecDD2>HlQA3y;W$fh2)#y7VSkQ`<_Q@N~9R;nltIwWGoPkp_y!lX91Wz=S9b;`^!g zLBv-()U>m0n1*%+vEnA$#YN`m9JXCcbq>1yI3z{pIdJgkx=KQ%L(t?|Ys)2h%l<0= z!Bm&ItD1_rYh7;cbPzkkq}saKD9-KOEj+eLQEB7xi|ZPr7J0uMfESEx%33KXv8djS z-3m>QJ_qr8sigTk?3au%QY(DNK5Mg)wMvPc=Ae@EEK?~oZc`FAgG z6gIL(IUB#POcttswmHx*);1U1aU#;rWiCs`l{a;*5QaCfudHj%l@3B?)%qK@FwxEj zEgQd_$;8;`v)$Rw8z!xI@P_U9?R#YKT_nw_on_V8=KB*oe`b3FbKB~fx+l-G%Ub!T zRHbXNIor#a>;yYS4R>_N_3DY4Z;(tPf*Kd0=7mFjM*E!m2?yev=MsqC**f%54^`GXxy~ z4a)6L)wDvGBPkpX9-o`H(7Izy>5Ryyh4HYWvwxwpFA4u<&w=t;A{ut^JtOnvf2HHC zqGcURK|Twb)HWxZ5*o zaRuyWtj+AHN81+863hMID4Lb*rT$L5F1>YyUSk>NoLt>CYZ%YmP@im|3WftXKvX5}9n)+1xvdVw!|Z0VE04eN*ObfUx8Ad8oNFsB6V# z!l!JBHA znxA9u{%yNu>Y@K#!&fowz*(yBuWShvqr&#S3?vK^Zh1JwU1~q5irBgSm!6&Lt<^9U z0psm~cZzDp?p%a^IHr>IqwP@f!Wu~dI8@g$>w#eSjrA_nZBj9TTCw~t{;JC z_p-UU?U);piD#2rzVJDFYac9>sN)aFr`Sp8%XAB8r%oY~=a~zwQV?g$mFM3PF^k=$ zxZXbZE?tpXls}<=N;7_6p^C%B79zojqn+aPcjet7K{QvI>n!Oc4=TX4vhkoZZMUTf z`X4toK`z6AlfSq=O?tYN4aomECs}U?tBXs8r`gf$9DozBV!5nTUOJ&&%f!*_m`WGU z=`=xsbNL7;AAC@l{ZM`Ys-D_&2DpIh*+ErY--@qqakB&LoAp50|AlFk2ii_o?QFF> z1?K)s07+@GX1$m!{76XI5~7eGeS$Ogv3Z|zq3B&e6d6=kvAb|O0%c=z`Bm-DVvcgIF=C=td`bzzgQds3Xdl=uopjnAi)%h9q-FK|)nfXH z#&4780k&Y(pI1S{@_65yBB$m56dxbctEZ2Zz|~o6;#?)zf zJ6X=u8|~z_Tz_d^3=-IsBO+~iX3n~Wl^{C3OloV%NrcXr$eMsPUdvanTpbI1GJN`0 zlRi31j|jbGsUaCj+40LWL&|4peaV!_ucvW{8A6w?Kg+r_WUVcUnRhO=3vWr%APZ|# ztUU{>Yrj}7?fa#oro-(zTAMKq|7T;m%4TGD^@~$uT2ff;j4LR_gw*Y8P%n z(?jjz(|1)5+wMl!RNOQri*{y{S}!4#F{wKk{J6mllUlFGq;6^+%{c7ZOzQqRyJQ{8 zqL0csaIY`2%hqKkTT_{AHL{6VB+J%RdGuFPgl<0HR=8wU^y4P_Z`O<*j%Eb2W>m3e z>|o7UWmidE$Kx6f4oSdwHC6s^T2V+3up{F#jPZ1wgkxTbjMvXxFf$1^UEo_-(s4Sb zuf`&}9UJ;1_Ljd+kt2sKe{$YR<7=Nx906C@ux-Xh5bwxEI2BMJi>Kw$fZEA<{53Zz zx9=^t5HvZv^59Ux|ipjz0i;+Wt@qTRcU7uf?uV5CN%GQ&Chv!PN?K>$!!_TvI|s6 z*##OHKhPZsa4fRY>@0*jGZ{!OlNEPnGO)kjG5P4u3loom7w~o`ru}68)k!l78GLCk zS%*T50p?Nx1RX8*?KuDF(VA&T`PBJvkKp0&TJYCHR>dl^%DB=5-#5SQljzuWz)BGwdWlg)GXhB(O?F96(^?Q?Qn3av+E){n+RGlaYk})kq(z)f*j!9~j zhuLO;npD(Mj45y_<{h*e39eJ8NgkFTTin{_q_DThUIy#;Zm4C<>Dby5dlAmO7m30y z>50FCf!lK@wFQGC3rGIebqosLU`K-AxT3DM{g)lH_J-JVB3cXaM?+Y@YKd{80JG0O+wY2E5-^_e_cwP-h@qUwES2bK=fF3y__qH2@Mv?omth_*h1LQ;~n7$ z8&Gx)h|faC?@srHQVXRjep4&-=^pTDM($?(NXg4W^R*IpwLTb&(2oXAiDMzU1lGXswV!7R3dWS)A95oduEAoEdiTG1I$xSwl2O-VnPD}l7hd2TI?H`9RcrLpV`v-OvCydEB8`r;<47{X#i*id!7~N+rQYJW~=hDLugp-G&GC8T?`>W19r$#)!nh8?7etAtEQH(mzr=L zO_(e{B{!j(SqX~i%T4sY>_AO?zrvbMMg6*bniLthd-l z;*MhELA9$b4jw$InAXOOwvW7=gRXKd(!ZTy>R?@)^lxW`15A&TlJGceccJXDkb2%G z=h)$!jtPs{)x#Fj45)1%w(s00uU(yBU{>IJXZ;aoV2GRNwnNUJzbSy_wUaG%QYme6 z0v)AC@huVueSoAutA*KYE5aT)@zxIxgzms5I`Ae&dpD576J&s{oGQ;@qhlr&ma|Ao zNz~ZXSPxZ@bOC?7e(&_p*(Zsa-P(-tZXwwD zjD4gXrJ}%nFq_fW+q8P0u-+LyBTu|!V4II8kJR%`b{V=}C5&M@Am3Eh4D&%BHGM`H z&a7$=oIg6S*}&!k(=1ILS}V^R78jehdXTNC+s+q_md5xgX^iQ=+ccLxg|K(#3zftm zDjUVEm!7MXVcYfs*9&j4r|jeT08l#pkMI(cMU=^~>GTa|ppxO~TO9E8Z491X=Y*$k zLskoBlWL?2<$_p^5Bdp)4<*KWzscRHw9+CAifu!Gje^{kp} z&T1N)RW5S;fNuOEBuYN%f8L997|0Qy+~)X?AArS(F;HZwDpom39WfI@q1MU^SV z8<4_zg?H(EEuTEwpRv{!F3wuCN(;g>FaYa)`~sFnas0RT1|1Tf)$p0Po7v|ukCp0} z#O;p8>|kvB0$9@k7&&yq8vidinYz^$5F=lE^Koy=eXwWx2&ioic8 z@l#1Lh-ywnxnLl0lnDKxZHXDOc2I}YeYJxX zig=cb+Hk8TBJ0XIzD{cG6^r_?Qybk&U%qP`#y~`_vl;^A8n&_;0#F0r4`>_ta?Zb_ z-`Tt#U9dImGS$zbvg zA&a?%xq*3E1u5m_^Gl{`2as7qf~Io76M`$$qNZ=*T8|yvWuV!`TYK*3rgN;xA##(e zSd&9q2gL{eI<}oVhZ{=Jts2j!l5_lq;!gAxHNSomB9LSLF=_$CUvp$_>efkx(*4S(9eg_RDf6~r936$u`>8J^c8IBY& z1KA4S$Ywr|6A?>wP1qvcQ6F5IhFw#c*1WNmbki$~Dj2%Mg=**`#3!p_S zBuU2HXfQo2<#68yc}W-T^!ZAjuCksaRp2YWZ~oa@)edqBY`9$6bQLdlA!#dhLcWUR zkhH9rWJ?h;H=+FWxoP6-z<2mj?`BGnFe#ToocpH)i7Fwsyc%@_I)j62FQ&*=I@RfS|03UP12p?tTR_YVge5zX>-OOys zadulWQmwQ7L>_DtER1X_o8*d+kv_KNkYr~>=b5g`ganf~uc=1?{Z9dZ%3jGYsN+1U zIE5O%r5&1U*gJ>h7>>4*_l&&@9b2}^vHiJH42QF1FR9#JX>xovUndH%KtTwvpoWX6 zp{{jon3~@z(jDvtKl>xJ7#E2)GOdTnG;8m6dwb8Kw9_bUd!jm#rm`30Y~3(l!_1M- zE{iLj*}CV`5O$wz&1x!}v2n|tkVivn$LH~@94SgCvlOMP80=3g!~RyuDN5V-ze-ai z=R(i5>m10*JFEE%5NQAiy7yeW-H~>cU8NnB{OD%SgSyfUmHg<2N-SP_KsY#a!ft{sGgbO zD;!QhZn?U(CEvWHfz5RzRxPr6q2Q}Z`jYZa1sL=p9rR{?Tplz6coBH8z_~-Sb zW_vbW2^S#M4`=`z0r_ZpQZ^+%(uD9Vj}-tXexs(}wH#%~j5E}Wxf@uWlKJL@eaKg1 z#7|(rW2Esu!G@cTZa&UllsgB{16zG3q?^`H&cbu)0(Loa=@N?ud8pPRJ(mg*s&>dw zH4~z0CPme<7*$KPJdb-9O8930X`0)>loY8tCrp}Me_N5#QhgFqx>`a?S4&9gY6&Tg ziWyQG6^AJ3>(`hbBMqD@Hv4K5?ZeR7RKLOw&%U8&_-v{NK$}*!9ZY8%SOYdS?P6H% zQ;n?0tOXT~tOZGptOchUSqt!Q)`C-wQVT{m|0oZzYyJ1bhEqQ}jNO+1zx18Q>cu^} zb0E^7OL)-)MC7zoC)!|3)M0zw3NEJ5O<&M*ribm*XV7y5JatS%NeRf;0<) zGz)?}3xYHTeUJ~k&GbvxYbQqjymJOy z#1_M!*iX}(OCkEW<0cKBX_o~d@26#W_Vd~Y9!B)BOO8_5ef(c;>_RTDK-or5ZO#gZ zA7giMmztQn?SZEPOP-6@j(wA4iUG#Xr5~6j#}vsfU)fbB_vCMmpwqMqdyxUMZGeq2EcQ&b@PV{L97^&L z`j)X2<5^gYscO1XN`BtZAQe-r7! z=~9N%v)45Z3C|t4t2=5Gp$Aybv5N&`c=o9vs&BfH0^f;0;ShE{<2&+{~JAs{fv34H6SWqc1u9w&g=#n z-o$Up79Z10UO#KQ_8_U;lfQ?f1BDM1g$H+-GZ@-@sd0g6DdAqT0yI1_t|8gXx9M(BEF#m*o)+X-*$NFlZ8qq*o87%eD7;5696S^x zBf#`$mBl3FkqoZTFJr0J*E`r#M^7x(@P6zJvb$(n$HiA3Naw(`NhaUkRwQk2(p$`D z4p2hmxe?4Ee#PGPCYmE3UCt6xvN5#ZNqd-mfN4)Sx!C3;l_NW_T3hg?B(~1ic_!G- zxv4{x0AzC#S;@E(YYT+o1s=OIHFKCdF-*E=&mjfE6M0NR*B8(O|EIn0fQ#aI``=wS zZo}FUYPbsrq7bM39G6diA;|&u_|u zLCt082U?evJnu#|J@r*Le#7&`-k6xEdgPqvJE)wIG}qSq4cGqs`_C9^8mpgbT7I8q zSU^V`ngZ9nfn=_}0nI>*{mKobzBI!H*PQbITxhcYg$vaE<(U{2ZrB{XF@DpAw5Yf< zgukQbV_`pk;W*ylrsYWM(PS_$nZSvwuK1xiRBVA=-mO*Sw)JJptBWqKJmhl<`OlE3 zfDK-}!Ra{X4Qn?eId6fU8})r5>H=(BMG?v_1m%V07T(cUF)OwX=n*TkMG zawG5a{4Y{Vwmm>ljO#P^t!B*C{H$WQc`V5=U-|&z}8U(B%3vanZLlcItJbF8T)LUG*Du zciE!tVCcH2+wT`~(04KfbC{Bn~iqUye&s{vLr- zC_KnTD~`(bC-VzL_cDV&u8V!O1F7JV;q%&2m0Uj zGVF^r@cmHi9^tO#U*Fv3#unwq<$nAfUS|b$0fpF_cW;jUBy7Rj)Hm+14vlI= zcEJ{U?NBr?s<1{Vn!48@b)Z#Mduj(-?^1hO-lJbs-z(mu)je^y+!ON=;`4MTMMzL+ zU})gV(ZL^*L1bujui_zl2Y%*u7#<2wB<(%I@0@giSo|2Dq1bkL!z~0zyAyn8+4TjF z2c#{A6p?9{Zgm-;uL?y69w> zcds-y2Vv(fdSrG=uz=IoiEw!~CD4L;OO}SYibJam`m1t8NA=7Akrs%Zq#ok%AYK{@ z@03b$RIJ!e>`BCVL`0N!@dIfTye|!Nf$vXgM3B@`>P@7D{L>V}dFYk6=LC%}V-eiY zKs_f02Sq=27ZteU1cc9kce~i{9}%%3qBnQ{RpMiKag>WRN-5O~>S;=(`n)_N2Y-?p zADP!=ADJ3YnAF{8eLQGVmG{eu@~>ZO`}@R|YG;|$x2DElrp8U^pY7Grfuz-Pcpz|& zDQ6H0Bts_=nhiLI`h=R5)PADEM}0|}e2JKLMoQCbP~lT+P?1_A5x9Y`zO!p-dH+6K z{7lvnr>fm7yx8SebBiA~$jDp#L@{!nl6%M(AKoBMucu(|JzI|w0DV0UB1IWV^A zlu5%4w?H4O4t1^xj16xEHFm_SH>CTi%_!mq8hb4N+M^qmH)!ybgRuJ?!u-o&+z9*o zuc){8zms$DcXB%pYj>ZV*Uc5tiN-g~IAM)Wb(edC=hYf+(y-G@JiJvr1U6W;*{c{+ zO?wPW(3z?ia=jXS5l)`|cdR@9N0xxe7HaiUlQQuiSV{HItfToi=G&l4s{JsiH=C+A z$Tm2Nvlny3-59``+!N3IF#IQjXFH8XK&u!DzZ`oE#m(YWrNOgN`r;wo(KtIsYjcb| znwqEHAXbaw_+rVkoKdrYxN6lTJtwaQMpv&|21P@k%>>~mYfhMMDc_`CT~)1zzgQ|o zNkk(QUYaYGw~6f1I8pyvJVKqQ&!@Ah=M60>ORIg>qv{cxjO_FqxYg#%&eV-9`WmnT$FPh6(}js+@|j}hICGBqgYCgC zVb`-Cvv;}n+!)TEi`U_Gn&}MJS)j8*CtT;Q&NJN>y8U#g>#o+#)IG0zPq$n#S7D=Y zQ6wq0DoPZ`6~E}|>2=nduIHooh29fAN!debtNelQ#=F1Q;=Kj$eW^cQ-(Ejh|AhWc zK~I=0%o5fLnZhsijOwkbccs32gRTwo8vNSOprL6)kA_hVk2Sp8@JYk}G-}moS|i^^ zF^#et{oJ@=<5`VYH1=(r-1tb7dQD85^lvhu$-*Y~O_B@*1C>F#L6O0Knzm>HsoAqes(rkUR=w|87b~L-(>}hlJ=0loK zZN9R3Nb{pD*cQE8*tZ}pHn%8g@k5LMvX&(uJK;u$E~}yp3r(m>jkZswsvUk*E+rR-PRSVR;n$k2PPkxSeooLDK)um^2D^c z>0nc9Q)knYW;$m5&8*Cv%+{F&m=Uu?v#V`%+O%miw#}3_@oi4G`Lk{7wmsTf_IY7$Ng$!R~-9xRg@&Y+eF28L^`V`P3S}LUP8GN{%VKA zaa^!N;39voz<_bG?x|woghE)qF%2%QUggb?ET&rM@Urqj-=wv9-Eh` z-~$m}(>7i>QFI1AM)wXR1IVDcgJ(=afGlZ+!jJmJUCRqSAC7|!zQMQO{-PpZOuW@L zn-{*wJ9CBH=D+B3s%wWKQ--X_anCQv%E>=sNxW1Ahc71Yglou?F4$Y=8#ZmtB8U0Q zL!H6{!qS`QD70f_c`u41`D z=zF;f7Pa%gJcbuFVZcukqY~y5t95p;#LQM^1#J&RXd|)Vm2Z<{LN^4O5bFFf)NTDd zx3SdGW~^m)Koo+e5#FB!tTT}gD?JF}Kw;@dRCG*YTG5HSnA6Q&5a*G$G}4yLCCkW^ zwTsu~cwu{b?xszixhqV(mmv(cAZ3aC$cLiNqwmG$qCxM+ zl8$N&SvtpUKEFvR#)yq}9z|5wlAxUByx?U+7TUv&e%jXf-RBk^GB<(0%T_SItT7R8 zZTsngDh*z23nuYG#!@l|!JOukxt?|oQx*g}V-VwTE-2OGAh|;_cp+CWDlPt#P~O5AiTsiPIJFNm#9t z%}XJA@LL_09Foa9=?P}PjD0359^Lz0MRxk_UsB?py)I$G9$vUsbody8C4blZbkB|h zhxJeqkI023mWjSaPPv}^G{?Rc2)-eZGuzI8br4nmp<;{sK?gFKA2xLM09D@+AKx<( zN-vaL{p|eg5h^m>cK(!QywvE9V!_ssLXr+X(fFIr;1Q*yxMbrQex*|KX}e&W%9G5D zTwTZu`{MG`3)ZH>)Bbwfu_vry*~U&#V{xUJBPlQSHkm=@c~~vvtrt2khRH-AC&xn&5q^mhm7#FFI@c+8vk8QALPR8g0FjpnIgZFvh^ib!LU;!Y zvKpcIc1B&1L-94k1s+5(g?PvMZRaKX=L+i7I(8j(0v{9%f5A2tj}#trY`kWM^8z|G zqOeG}6hgVNp4j3++4m;o{(u{jP7*Ktka_t$xz68z{|m`TRl#X_($}p27oL>#7&~(I zfOaNQV|5@lK@3;NcNH7y2|w)UH*3PY{*n$lstrs|y~N34{~tvY5uQ?GeK3m*N2C4$ zQd`pj5=;2W(wstsaXTi?E-VG5vZSnMmee6qD~71>Y7o(-JLeqf3h#weq`nCKW@RFj zb9&-nQ3W>`QxUDamDo!fVp40-%Xg^@`jg(rft;bJBN8}AeIBqiCGVnKP0Z~XOb&sIO+BEv+ttnB?jtkkBmL2 z!bW85N6wp(CYiwIwhBuv&ea;@R)7QW52QYD^s5QLDkQt?u>rNmlekpWL|wwLj+f@` zkSlNQ_H!!X9pbO@(qyTh)LU9?BGek9N32Wm)J?VfC$`rFPL+J5W1`QS^Sszpf^yUr ztRByZO1!PwOoOuyhUeASMw}PwzD?*&n}p;&LbcZk5l4tT99NE$vK2Aw<7vPS2V3GM zN5fQ;piHwfiEFgOK3-ZUJ`~4_!xV9G$B*8nQPbCit|Y6mcYHcoj@?SiJ>fCVh=aS% z-=9WJzbG9e;#I{PBhhMA)|>Y6)NvP&P&3S2`A+!N5Bif+Z1AC>)DlTlTy!EYhCi<# zK}f|_O~6EZy`rc~WH6> zKCI>>p-MTF+{-0MuZkpB-mT(?8qw~`4=Za8X-6uCNWYb*y*{8_MW*IaAhsS-PjNIH zOLrCfzy-9G)D^sGyfjAY4%@dibhRY0!=-!o#kM1*cqv0_-T(crQp<0|6jklLL0m6> zsC-S-s_LCmg1Ax5Zp!q;KE!OEB|&JFJ|;pPL#T`=HpNSL;Y|@z=8=G--Vgb@#6c0N z*teLZq>)8(q7owWu|kZ0AnJxl?MJU2D0MOsUJ0a8u>8DT84=$jcMvOs(~6ZLOiHyq z0cZPHPL$pv;vkYEna3pD4i69X<(ExYIOJOw!;q;%`lB|8 z`SIbmRwsrW^}XVm7q~TW%Tiv*UX!o_q1;E#9nqgSk|7&r9iDa~^nCcv@Pq*9Ry_1~ z4-@DjZ(A@|9Q6w%@&WQxR`P6=bz2W7ym0m|nTfoFVZQ30b=@v#++K^870+wBv=#@H zZx9Do#JqIYqWsIcc&nDWR9H(Nl>5}lSvB^H43qjIMDlBWRSVccrYJ&$&7B}|<$?&$ zJSzFd zKz#T$8E#uPXQgkwG-UTjDyi}N;DL>BH-jHLiF&H@WPf4qHlB>bShFLI;;IfdQ2whz z(2lHYuXNmLwRt9LRliMV_|q3iQRKP&{n-V(wx6J3X}k&+CVFD53AwXaiOLG|^K_WM z(8UU~Id+@Z?pjkEdYTkN{criKi>MSE>=$)169OWG=_>?<1uSdV3n7)}5}U2gMGl7$ z`DP~%KQBT~6v=)v^9QN1iNwF(4v7#WcK$NAknm3vq*k^j!kgnAi#J3)#9$S9jYlZK@IWSQznS1_m7ZzaG7%B0Ic~&e<|+%QP|>>jbO_ z0*eZ-b6KM8u7rQ9zY<~b_Qg>yh-)}{H2H`u%2|@@$_qYT9xE^awNGAB;Kon!TxmsY z&=(KvD%uytpVj*s0p|M7967hMNr%x#kE8PQBDSUG#wBgsLTwAABZzo)_)0IQ0AJ@- zHdx_6e%c5Pwkm+VyunqRsQmTnsq>#C&YZ52-Z{wq&wARup(0%!+Fq#P(4g9#fgqXE z=)V`@gXWn?Ihw4iH?G-Qn6)K0&v~pJV#r(TcAC0xrV%8BrhEB?UkL=ZZ}I-{Yyz#}z^CMzcBn62s3q9fKNIUq z=uhlUyMGm$93Jgor6bX``%=S)zB{jOxq4nzV`09aUYRdQZN-VO!-NlTFzp<|3$;d# zA-&Me+Pz@Qhyf#D0cv$Uj8=Xyf6VayAqS7Cgd-#=G-)L-Hj#c;Z19c>paJY6V>YDl zKZ`qmk%|=2e(G~k@zIE*`JQ-Jk#VFTc?YEc7p#mzu!!~?4m>0Z>dsY_7Oi}$YP?M)DH?Fq#aB_hae45x@>W;apsfeB+r})-gnkr4h7z-)JSOZ}XY$Xn&Da?=qr9t@A zr1U%pJ2WCRGW`7bLmzJK7ePZr62w-QgM&mW-S4ivWp#D$)onL3@A8rAP$6M7=0;d} zh(q7`A5NGM7Dgj_f!6;lkp9#YW_)UU`${@!UIE-c_H0H>?Sr)#K*=ZA~sfr zM}`Mt>G}CV%@fvaR*H<+0>J@iX3aFYI=jn@9WO!(B9;`T@zQyvYgoW|m9vN5=E#o; z7(DryY!2fyoR#ClV&NL@0U9I1Q?+o(L^|LVf}#;zFH(+I5)r-it3$WWUx)5r-5#nZL5<&b=&=?7Vj9DWUDuhVic>ly;Ui_$g3br?iMv9PV|2SXBE>E{; z7hXtl6+il3k+>l~Au=gC$1}@?APQwb2p*ZRPBgtJnvP3K!;tztg^=c@AiJRNY$Ul} z>Hc}^G6K_4gv^|yr}%ZL3bJJWB9$|7O7%=wo#qki37+llGRJ}!sAJqy#d{7Pur8iC z&DLrWrg|dwMD9W7SDQj3)^0*)jw2BplKC4Lg!DyNGJnNFKQc~bU+%B0veb3*87vLP zPAQF{F8C|u_wg(Gs||Ji*RSZV>L+Ha4Rw$7#5N>rTAF06vD2M~oo+u-Ak0uWOx)7E ziX#edTgO$S(3F_GIISoShy7+9!p$gabbb}>{ckftN)hcGo=TBbE>r|DUhKV9>Mh3A z-5ieTm_~(=CpMcWh>|7CN6H=1BQ@m1qeEbnXW-k8li^4y_ zC)vx}+dIWO!5?>!_)~eT;`ERWrdS{~C(P7h;G#*Rmy95j$mBdL*vNm3QY4ae zk`c<6pHzx^cM`LTPullUkqOHt_YOc%SOmqvY>Gbu{t2SszXzI8TOt{bU$F#sH0MZ< z^u)-_1hR?GS(oDG>F(=fQ)GAM>$1=2l;E|M*p6s;oEOS+_mz?}{EZQxcKWFIJVc6Z z{Gt6V>83`1N%n@Bnh{MTCOJjwCiYXjG!UZWAeErqOHG6-AJH~zJ#3dar5CG&!QZX@ zRCSkpyl2zlvjcAhAh@llDA5c!Ox7bhUhq1vxeF{YMD&+h6A>$RH><}QqRzChB-UgR zu~;`}vg4sC`4b2~Xyk&i4q2X?w`62tDj+F%`+|tvZ3k0!68`8(>kmxkD`CeKCUu2Q zexl^2*e`~xC2sNdQGNsl6Mn+<=_6E@HiZXGgaom}y)C#(ctkcxts-st>amQV8O*$@ zObgO08W<`}R>APRL3_rYSi(<|m_Ywb-%FytVxv!ycL@;%^7too81m!HPnT@rKNWfR zq;V3ja86y4YDFZ0bTvbxp|g}kp32+5_1Ka0oe)?B9vPsl8PeB^r6s|q$tkq31-4D? zUJyAPG0RqvDUJ&q7tHstg{)d0yJ{2vPE#cLk;fu-lld!F*kU=uYvSK&0{87H+OcC3 z?3-b`pt^e~>o%LBH71XANpMbEH_u_t%-SBsd)lpXTL~p~&PG_L_UtOyfj5c6vTvBo zvP)C$nw)a7P)>6S@>>zIe}hW2RAQoXw_TC#?zw663IDExc#Rvu+INQiT2*-S>m}jFf%xB6*Z^$gt_yA_OOtS3ROb+hk6TFuUuSP^J%vpPxj>H?cM_E z^rlH7;cw3p5y|MsZlX@mG6(ymFax}$_wLHyg{k%X8@GRjP@&Yo0nYda1INk~YwR`V z+eoZMTN6oduo7cR<-^YpTvrM4B#&%a&kO5A*7?K5fIvLrywYI~Ge@3GiGTBay2#TB z^`S3Ms83eBs?bCrAb6ER6M*1*FDo?Bp{W6p;rw@E6HFsVMPuDYhDVw^^s69G?3@sC z{BHlQh)+&U!{lzXGBnc@Rv>K18hFoIiSt(ObGsVQm=vmp@T4H+k zHI-Q-6lPjRW@>g~5h)2rSjB=hN?~wl;!e7^x~}t5^dYKO1BGgMKvn|6ZK|KaKcXgu zH(D`>{k2HNVp{lxuw^ZQA-0=1RFzB8ql)5q;ZR~STAeR%R^1~zdwnPkfhxmkw4rQ~ zQT~)--&Zql>1_`I$cVw3iA!BQL{-e0nkKb^LZlGr)a83b;Yqy7jHJa0p0uY(LosRi zzGMd*$aE?w#U`q6NaFmM=^GZ2ewf@Kk^z|-vLJArmsNk{Hf)3SBlBSEGy1Wks8rn{ zpB&nLYTxi{_NDJC6XE%Exy@L+(-Zg6_tERrNisqiW+IqgZid((K$mo^Vb8To2Y>BaMxw|`3>kw+^YPPiHnzdkMi6{zKohHjU8 z)e(&_bNBd-W3eWspUsr9{DhIqdysA*jW1H}9lW^bROzluK~+0GgUQJ6)nbDVcN>(>Ua3k{eCg+(v=s4s zHxVUeGRgK*`4SIrzaUGu*&(pYrP?--`B1l`v(~!o52(@-}bw z%(H_NYH$Cbpm2E&T5;HBGQuYK}y5;cNE@v*_t!G7jLBz-zycg@|Lm7TlUEo+UF zs~c{liN+l%N6(H)+;Z@G#%U}``ra$sB5Hk@S27LM9ZREH$M9cE&9;m|9PV*JJ=b~- z#fmRlHh~03AW|n^uB!(h*)fR2o+~y+NOL!`VVX;bFU*?jK&;k89QCu}lbz@G!@0Jo zBQ?$MIaXp;_FSFem9r@|6BeC~>yllgx9mQUc92{k*O$S{ICSWQSxb5F8cyNk?-fkt zc|L4@89|A`F?8a+qJ@%--8}J-DDp^N*hcR(zXT8B&P#tP$y9fXrHk!s<~h$I5EYvoci9*F9U~X` zay&UHCOK(CddzMZ0C=)h>KH0@goP;wUz67-Q_Tsp5NnmhCTVG&bAi+Dz(d$Xvae|4 zF`o3UGN(C1O8Lb5#AE(7ofq?zpClYFCg=D<*MgPHJV5Z&2Nw1MMnsc!E~~v)!a#wI zzbNNM`5{T`BRuIy)Iu3PaPGLV(2v)|dS&>eg(3Veq}^yN@6i=U(G;t+MoXjcsY&U1 zH2k=PF?;9iUU<%vvY&J5yZ7%sns5p89vA&DSsk_AKP7!C;ir-*p0*3E=J<~xux0K?8o1e#*OhtivRBZB`Oq zsDquP(}^x(W0C*vDLz}a`9V^`@YY}<7BKn8g>AspTVzaR+>WOYpeP+7dmJ_{-8!F) zBX+#BO;6tVht*ViK~m@bPRj}3&R=Y`+eDb3VZU{AN>)~;Pu6NI&+-ci2nauyy?^`8 z=;(+D@Q@9d>Rmr|YF|~Yg?>Yk`6}Cvwo=avT53J?OfAJ8Y`5-qeZI=DucaXhwW)~O z57&CM_Jc7(sWCes3=4yj2X9;NFg?KF9}Cn2Tmg=0jPF*!V*GK8HRFlnb&L;=eOaDi z+4op|hGPY`A&widO>u0<8sgZ9HNtT-wgZkkvYl|;nO%uvd)6Mu4qPR}>M%MS!|CYg z^u;}O<)`5T#|)#-{LF?kIwMC^c4WrN`IyQ|hL>~dGI}_A5BY^R z{L+I_4x2a1lo>f<`V4$dnljOpnKyajNK?jX>ck1AOz89}lW=CnbR3UlYQOu7vpQPO zq-Wo&E{U?bEH83%FXdL3TcLHfo~`|IJ7)Y+r^PnRR2(j5X33vc^5;_d)6w41#es3P zUu9#@c&(zx>sQmyP-prX<+;RZ6%#L)Ly$jd9afc-)~Fu7(~>APslJ>`NB+bIa&Yn| zZ3UK5$e;C?`iwEtj_JmHzzjycOk`#-mW(Z9&p0z)ax1aSGP%}SxmVCDPpi+fO*H9h zO?pzDkA136xu%-5w40N zbh`L#!n9=Cpl9kZjTl3kvdxit$=?lVith$;9W-FPHMx+=x#-(BVbFJRuV$z^CHE`$ zjQfrIofElo?m71dhcHddy;{$5s4e=3tMJEyURvTl*7&Q(ea}5b9m;pbZ`R1wf-yp= zTHOL>-p<}ap?P{j! z$|X*YOv|;)J(n=1a;a#!C@3GX1-ECIMT{e!sVBcT{jHJwJKLuX!}ju$^Ic?f*}b|= zb$2MYD|hqDber-!^o@nY2D%M&8|yXBHF(<89J`K|89Ev!8|E2xGt4v0Yii!q+~|*H zJ)4bgzN|%f%XD_H`mbeP%RFOC+)Ms5wlub+*Q@`G4;mjdoMrrsUQ7R4FKoRKcaZ;D zgsY5O=BWxybd8@GI+}Db8Ei7#q{!H^^+MC7X2oV_&2E}KX`|b$C%f0+Y1{GbLf-`_ z5uU65Gq!BE8*fqlXZ);Pd3(?HKXmBOZg=}1jGxJWcq)DRyMUIIqJtIv>loYF9LQ_d zv-9Q7m#f~f^Np@|wb9K}W!%lPN4@v08|StNrzu6xZaoL~9NTkpPupHgb-|_CS(PsA z>`E6M2H+}Pm?WlMWf{{6=n3=&`c@V){gC#rjA6`yf%rZW-$wzXfvLcBU?wmNn2kJh zkY^qcjPEf(ED#680|`J9kPM^%sX!W#j{JE@w*dLTR-gdb3G4!P1ABmCpaj?l><112 z2Z2MtVcg>=P+nQaHUI_zgMp8LA;5581mFR90$&67fp35^-~sS0@E!0Fcm(_mJO!Qs zzXSB%e*hJgWgG)=fG(g1)B_pS9Nvpt2Y3PAKx$?x9^eFm2FE{Q+}e05A~n1^fViU_B531Oh=oI)DymZ5ZI%rTTK=9Rub9AzE} zi~>djV}Z%Q6ksYa4X^-a0JDJEKvmzLk7Hll(+}_m)&l`RAP|J#g7MTCAQpI;HnJ)o zGuf4;Ob*hGz$PFU*o^D)fGs%A$M0K_763)SE?_s#?Lk@$lmPpXcR$htIDZi7A>c5M zk0L#da-6~M<&}k?l|s-;p@vQhHFQ$Q+TxriaHukdJzV)1EfB+kzR(IW>~W+gke)<( z3h8O2XONyn`Z3Z^ke)|+0qI4gpCY}4^fJ;bNUtKjjuia{trf$fzo5lp*t>X+nl4K< zbop3Amyb1c`51Kh7H9|`1v^ny%K-v=DEs%F6Qnaatb{}hKw@^d7g&Nu|)X;9BhIR`z zv|Fg5-9ioR7HVj>P(!JrQ-9}335wysCg*^B1y$pSUg>Gfcbg%CJz0oHr zU&p(nKbOgUbr;gzz#c%02h04G^41XmZMScL2LO2JYkA=U{I(dd0hR!i?@^vd`5onT zl+RHfNBJA&Z63fnz#9OieZe@74GU!WGLTO7U%IQ)8no{mXITz(xlw(nDRmG_& zm!cdB+=-db)W>H-pban__Z#0Hxt9{GJWu02_f#KrXNu*aCpp zR?D&1)F0@u5Ok=PSA&sO)#V}d<-_=X1nE(v$B-UJdIIT5q^FQl&IlR?%~4KR2%4kZ zun;syIbtDbj&j99&>ZEAg`hdg9ScEoltUJR<|vme1kJs>ockMX$SkbxX+2Rxw71o! zWz59+S-@<7_QH94?fMN=H<7Q97csi_#I5U6hWf?4oo;Wf!F* zD!V8hQQ1Z5h{`TXM~|UTma^cf&?6s1hx}`@ipnV}qo{nMvWd#2mu1odoL`LdHoy|V z4p%)3BY#kH zYpPYf%&n`mD$22`R;399 z-bpnp%H{tJ&8lj|Q>9tGZNyWXW<^IlRhktY@w}{AsYgCd(G%2~m3jp9LbEETYU0BTFZL!>pW2z8?=wFICe6goOlk4#!3RgX&4w4>I*-cb~9> zc3R^a+8Q_;<%--O#+VxdyrjEpsE5iANmxN`QTUrX)-`W6U-H1_LM&I|8^5lmXuY4}nL(&%jgQ8Spzm zulob2z*{f?2j~KNKs})94Hw{eF<=8M0qlU~fCI1!SOcsDTmUz~16T)m19hn#U1l8K zd?M;f1q{P6i?L53ti>piZ1FZl`VmTM0n7kq0kaun7hr&)Q5VUiETL%!m#L2i2~XEPPjU)l!T(OEKmw#h9~H9&^4!jbY4L`bw?AHUu5H6#8)~ zbmLO!#ih`ROQ8>!LKiND9$X3?xD@(tDRkdb=)I-Tc}ry*>i<-2(;6y!sfJ!ZDu1^c zdUaHe7L`ZibR>QfI1QWy=*XLny6K4fGC)V#H-Ou~UEqJRKaQ-nZP1z;4N&U(Cu|qB z*)9HR4gH%Gig`S6yoP|oEBaY&mIz9JqqOR7I*woP%Kv@y9cbsjI?o|&(Q>nt0f5ZEXGnfV2^HKP#o*=^7Q{Q+}e05A~n1^fVi zU_B531Oh=oIzVal5O4>j0j<_LFK`R_8vG?a29%DO|Gz6mX-&ONdeSGo|F3CDZ_$us zZHQ_?+8WTCG#Xm^w$=3a-{eSW3wdmP7paE3RQGP$gK6(Y&&B$PvCxaCra29$(lY1a zm%{+nUmM~5ngC4!BcM6Z5~zCT+B7%%p6{VA8MDw|Yt_bBjYg*XiUpgc8XME9PQ4sG zTkh3IkRAh00H*--B-pZEJ3IEu3|RL%_b6?h`(=Hb))>{5scv1H?p&oeSLw{}sw>|_ zYoKPUM++8Mkzw%)4_D6y6oM;Y&JMp%0Mv6CrOZ6W{Eb#3YBfHLJV${a84Feq7=(JP z8kbMS_c=gqt6MCvUgJl`9DUUs zqXu(~7|bNJ*NK0+?d@z_$RkV!cU%Hh4vXp+~)S4i+s2`PdiF?q7KWn%oUpi-SDFm2`%TYH2sX+irlb z-2hL!0e+@ly+O6KiPiPo6W?fE*G3gHaefw{E!BhZJqFOGgamv~0+Inr5hwwZ22jdC zPpj1eLZt%qm%lWB=!rM+0{))XT(@~ZHD#1B%m0?OcOGit?H1qv*}1=(Gb`$OzdFpz z$?HYvI+420yVZ3b?d|I_o`VBDuQ6xVs#Y#E2enUI;4lD=M77eFb;{bf(#yO-w!Yo2 zEUUH#>etCug)3lZq-F3&ANv0@dV}9Elc!$8^iDHv)uR$R=B9m+a{MNMtV1F-1dM=Y zz}sfhJduZvY$$iZ=teWw`}&!#S4W(5?NH4bF0{XtQW%B>US*=%j+l#e3Z!s`ExpV{;n%H_Td`5 z3+AE=ncj7>qG;=WFX?^qS~E&vRGPetMf+{~Kh^!I-cNOYs_#=>pX&Kk$6o_b-QERo z1E9}iqu8U$JKW>SC*04N$q}82Z}$lo(W(AnP?`4iN$(>cqRdR z1k#x-CY#A&HZq%-T+G83VcvB&=3I+0-@1?4&m3S5GKXMAIf@-)XP6(^dTe91C)|yo@dz3xK9%oOmC)rc%Y4!|z7IAexVb8M{*o*9^ z>?QUxdxgEqUT1Hxx7ge49riAJpT+2eeaL>#KH?g2O}M6<5!ak+$*H)Z+%Rr9H-?&W5w)mT*fsJ8l`boU`W~I7e<3x0+kSIdN+_XU>Il<=i-T z&V%#h)^T2(H@BV(bzUF1IHE^(K+E8JD?8uuA@ zox8z(&fVm0aksfU++FSq?jH9L`@a6ben?h_(`gA!N+11MiLnpMTth3h#m=MlSR3Dw z>BMwKdv%pttOsnowAFf}-9A9e^{Z~XK{Z+?hzVvwm{2B+31uRvCm=8IE0dZmb7d;s{#d1X|z>YX3ZH{t{~a8fyJ> z)cPIv3-(L)YxW!V0s9?l{W1F^`xE;M`z!k!E3(g7iT#tU8^U!uyXg6E5*)nbgTFeox<%E`UMJsutg?ue+ow~@=`^0<7ifZM_C<@R$2xx?I1?l^anJI$TtO1V$alAod#uc8HM``tp@eZhUn zea(HtJwTh$e{|;)^W}~6y=eO2hs7&2=_>XsrV~2}8H|`&tSe)uGYpooXP{7|I{Hi( zoVR0x7#m;!&JV*mb2;xMMvznF#rclFT%b451)vtxs$=>)JxA{~ivstsp!cCE3%edY z=AJO7+-asAcNNDKOj~X%W5z`?W;%`K-^^IL5`kknBd-}&BADqUFzs=TnSAY5rmdWQ zh3mQ@|5e-vzX1lix=a(K%>e-`8)(^GQ5KpSaos83ir>PKFNiUqzu}w#%F+aBJ$fwP^BFT1 z*Sq1mvB*Q8t*(3e+$YROc#k+*Ryj`@(;mOC;kF^q3HjYt(f34q3G%sT%xKn)=_Q}D zW7@HHj0*V=)A!WT2d6rWHgRNzvYYV!-I&!n1DK&245syt=a|+8oe-R-?LgZ=3$zWi zA-9vJ4QLr&LLB{$`_p#NhJf~KhjP+BLhJ7p;Mv`2JIM7#+o1|ZOhdUHj4FRc%F%mN zwSne-YRf&&%XRWht~0rvWYp8}!xpHTBUAzbyvr0Nk%~1ZRzRR`>6j zsM9LQeI0qaaG9Xjhw6Tcx}htHOlhB>ZNlZEo_jK_U_)$$XUM?4TH(6hn$(!nisQ-Sl1QeNoS}Jt+-$(TQjJ==?6{p=}p}JaW6DUTK}o)6@^`H^1R| z{S~_yb6sbqFKBuI-nXqx59+=?K&HLr%tVxFEUu;H4gx4mCj<0(eNmT`&MCi}f_@c` z)Drh?&Vfha8FB0lM#Vj0n`zJpX(N=`obnHywdnh3A5EK6zS&AszAktl2K1kb-@D;F zgs?COVdt^#QLbU~Z< zV53kTiWlu8_ji1+N=M_EVg|$fr&NPANNa;5&THc~zFTVGjg;cD7Q%5%u~~x%q!iO% zLLRQVk#N{?_MF+NS*fbt#pHpktZeYNu6n_%ElF z_9-Y0qh9Nrq8@7W$Jc#V(|YCan)FwskcX9DtG|QqSIHqNlj*TKg=de-&$YhO^Ud)c zGNbYV)g5H{{Za~=FoP_hs~gSeed>_b$NerMp8>ru)k9=mppNgRq2ns~^iQNRAH#j$ zma5wdJV0)&R6rSD&F`*qZp{k z2X7N^%7^xEUDXdElg0wGDBw|{9n~%AGbyk_S)h>RtXfVUM!R&Ud=2HM`o1+l`7D*G zRQ?)M8H;0C9|t|DWgz4Orunning()) + continue; + anyRunning = true; + segment->elapsedMsChanged(); } - Q_EMIT elapsedMsChanged(); + if (anyRunning) + Q_EMIT elapsedMsChanged(); + if (!anyRunning && !m_streaming) + m_timer.stop(); }); } +QString ChatGeneration::content() const { + QStringList parts; + for (const auto* segment : m_segments) { + if (segment->type() != LlmSegment::Type::Content || + segment->text().isEmpty()) + continue; + parts.append(segment->text()); + } + return parts.join(QStringLiteral("\n\n")); +} + +QString ChatGeneration::reasoning() const { + QStringList parts; + for (const auto* segment : m_segments) { + if (segment->type() != LlmSegment::Type::Reasoning || + segment->text().isEmpty()) + continue; + parts.append(segment->text()); + } + return parts.join(QStringLiteral("\n\n")); +} + +bool ChatGeneration::reasoningActive() const { + if (!m_streaming) + return false; + if (!content().isEmpty()) + return false; + return !hasRunningTool(); +} + qint64 ChatGeneration::reasoningElapsedMs() const { - if (m_reasoningStartedAt <= 0) - return 0; - const qint64 end = m_reasoningEndedAt > 0 - ? m_reasoningEndedAt - : QDateTime::currentMSecsSinceEpoch(); - return end - m_reasoningStartedAt; + qint64 total = 0; + for (const auto* segment : m_segments) + if (segment->type() == LlmSegment::Type::Reasoning) + total += segment->elapsedMs(); + return total; } qint64 ChatGeneration::contentElapsedMs() const { - if (m_contentStartedAt <= 0) - return 0; - const qint64 end = m_contentEndedAt > 0 - ? m_contentEndedAt - : QDateTime::currentMSecsSinceEpoch(); - return end - m_contentStartedAt; + qint64 total = 0; + for (const auto* segment : m_segments) + if (segment->type() == LlmSegment::Type::Content) + total += segment->elapsedMs(); + return total; +} + +qint64 ChatGeneration::toolsElapsedMs() const { + qint64 total = 0; + for (const auto* segment : m_segments) + if (segment->type() == LlmSegment::Type::ToolCall) + total += segment->elapsedMs(); + return total; +} + +int ChatGeneration::toolCallCount() const { + int count = 0; + for (const auto* segment : m_segments) + if (segment->type() == LlmSegment::Type::ToolCall) + ++count; + return count; +} + +bool ChatGeneration::hasRunningTool() const { + for (const auto* segment : m_segments) + if (segment->type() == LlmSegment::Type::ToolCall && + segment->running()) + return true; + return false; } void ChatGeneration::updateReasoningActive() { - const bool active = m_streaming && m_content.isEmpty(); + const bool active = reasoningActive(); if (m_reasoningActive == active) return; m_reasoningActive = active; @@ -45,60 +103,51 @@ void ChatGeneration::updateReasoningActive() { } void ChatGeneration::setContent(const QString& value) { - if (m_content == value) - return; - m_content = value; - Q_EMIT contentChanged(); -} - -void ChatGeneration::setReasoning(const QString& value) { - if (m_reasoning == value) - return; - m_reasoning = value; - Q_EMIT reasoningChanged(); + // Replaces the entire answer: the first content segment takes the + // new text, any later content bursts are cleared. + LlmSegment* first = nullptr; + for (auto* segment : m_segments) { + if (segment->type() != LlmSegment::Type::Content) + continue; + if (!first) + first = segment; + else + segment->setText(QString()); + } + if (!first) { + // Do not materialize an empty content segment (e.g. the assistant + // placeholder created before the stream starts). + if (value.isEmpty()) + return; + first = new LlmSegment( + LlmSegment::Type::Content, + QDateTime::currentMSecsSinceEpoch(), + this); + addSegment(first); + } + first->setText(value); } void ChatGeneration::appendContent(const QString& piece) { if (piece.isEmpty()) return; - if (m_content.isEmpty()) { - const qint64 now = QDateTime::currentMSecsSinceEpoch(); - if (reasoningInFlight()) - m_reasoningEndedAt = now; - m_contentStartedAt = now; - if (!m_timer.isActive()) - m_timer.start(); + for (auto* segment : m_segments) { + if (segment->type() == LlmSegment::Type::Reasoning && + segment->running()) + segment->close(); } - m_content += piece; - Q_EMIT contentChanged(); - updateReasoningActive(); - Q_EMIT elapsedMsChanged(); + openContentSegment()->appendText(piece); } void ChatGeneration::appendReasoning(const QString& piece) { if (piece.isEmpty()) return; - if (m_reasoning.isEmpty()) { - if (m_reasoningStartedAt <= 0) - m_reasoningStartedAt = QDateTime::currentMSecsSinceEpoch(); - if (!m_timer.isActive()) - m_timer.start(); - } - m_reasoning += piece; - Q_EMIT reasoningChanged(); - updateReasoningActive(); - Q_EMIT elapsedMsChanged(); -} - -void ChatGeneration::setElapsedMs(qint64 reasoningMs, qint64 contentMs) { - if (reasoningMs > 0) { - m_reasoningStartedAt = m_timestamp; - m_reasoningEndedAt = m_timestamp + reasoningMs; - } - if (contentMs > 0) { - m_contentStartedAt = m_timestamp; - m_contentEndedAt = m_timestamp + contentMs; + for (auto* segment : m_segments) { + if (segment->type() == LlmSegment::Type::Content && + segment->running()) + segment->close(); } + openReasoningSegment()->appendText(piece); } void ChatGeneration::setStreaming(bool value) { @@ -107,19 +156,94 @@ void ChatGeneration::setStreaming(bool value) { m_streaming = value; Q_EMIT streamingChanged(); if (value) { - if (m_reasoningStartedAt <= 0) - m_reasoningStartedAt = QDateTime::currentMSecsSinceEpoch(); if (!m_timer.isActive()) m_timer.start(); } else { - const qint64 now = QDateTime::currentMSecsSinceEpoch(); - if (reasoningInFlight()) - m_reasoningEndedAt = now; - if (contentInFlight()) - m_contentEndedAt = now; + closeOpenSegments(); m_timer.stop(); - Q_EMIT elapsedMsChanged(); } + Q_EMIT elapsedMsChanged(); + updateReasoningActive(); +} + +LlmSegment* ChatGeneration::openContentSegment() { + for (auto* segment : m_segments) + if (segment->type() == LlmSegment::Type::Content && + segment->running()) + return segment; + auto* segment = new LlmSegment( + LlmSegment::Type::Content, + QDateTime::currentMSecsSinceEpoch(), + this); + segment->begin(); + addSegment(segment); + return segment; +} + +LlmSegment* ChatGeneration::openReasoningSegment() { + for (auto* segment : m_segments) + if (segment->type() == LlmSegment::Type::Reasoning && + segment->running()) + return segment; + auto* segment = new LlmSegment( + LlmSegment::Type::Reasoning, + QDateTime::currentMSecsSinceEpoch(), + this); + segment->begin(); + addSegment(segment); + return segment; +} + +LlmSegment* ChatGeneration::beginToolCall( + const QString& name, const QString& toolCallId) { + closeOpenSegments(); + auto* segment = new LlmSegment( + LlmSegment::Type::ToolCall, + QDateTime::currentMSecsSinceEpoch(), + this); + segment->setName(name); + segment->setToolCallId(toolCallId); + segment->setStatus(LlmSegment::Status::Running); + segment->begin(); + addSegment(segment); + Q_EMIT toolStateChanged(); + return segment; +} + +void ChatGeneration::addSegment(LlmSegment* segment) { + if (!segment || m_segments.contains(segment)) + return; + segment->setParent(this); + connect( + segment, &LlmSegment::textChanged, this, [this, segment]() { + if (segment->type() == LlmSegment::Type::Reasoning) + Q_EMIT reasoningChanged(); + else if (segment->type() == LlmSegment::Type::Content) + Q_EMIT contentChanged(); + updateReasoningActive(); + }); + connect( + segment, &LlmSegment::statusChanged, this, [this]() { + Q_EMIT toolStateChanged(); + }); + connect( + segment, &LlmSegment::resultChanged, this, [this]() { + Q_EMIT toolStateChanged(); + }); + connect( + segment, &LlmSegment::runningChanged, this, [this]() { + Q_EMIT elapsedMsChanged(); + Q_EMIT toolStateChanged(); + updateReasoningActive(); + }); + m_segments.append(segment); + Q_EMIT segmentsChanged(); +} + +void ChatGeneration::closeOpenSegments() { + for (auto* segment : m_segments) + if (segment->running()) + segment->close(); updateReasoningActive(); } diff --git a/Plugins/ZShell/Llm/generation.hpp b/Plugins/ZShell/Llm/generation.hpp index 0ec1a83..c6e093e 100644 --- a/Plugins/ZShell/Llm/generation.hpp +++ b/Plugins/ZShell/Llm/generation.hpp @@ -1,5 +1,8 @@ #pragma once +#include "segment.hpp" + +#include #include #include #include @@ -7,6 +10,11 @@ namespace ZShell::llm { +// One attempt at answering a message: a chronologically ordered list +// of segments. Content bursts, reasoning bursts and tool calls all +// appear in the order the model produced them; a new content (or +// reasoning) segment starts whenever the model switches between them. +// Together with the attempt's aggregate state. class ChatGeneration : public QObject { Q_OBJECT QML_ELEMENT @@ -16,55 +24,71 @@ class ChatGeneration : public QObject { Q_PROPERTY(QString reasoning READ reasoning NOTIFY reasoningChanged) Q_PROPERTY(qint64 reasoningElapsedMs READ reasoningElapsedMs NOTIFY elapsedMsChanged) Q_PROPERTY(qint64 contentElapsedMs READ contentElapsedMs NOTIFY elapsedMsChanged) + Q_PROPERTY(qint64 toolsElapsedMs READ toolsElapsedMs NOTIFY elapsedMsChanged) Q_PROPERTY(bool streaming READ streaming NOTIFY streamingChanged) Q_PROPERTY(bool reasoningActive READ reasoningActive NOTIFY reasoningActiveChanged) + Q_PROPERTY(bool hasRunningTool READ hasRunningTool NOTIFY toolStateChanged) Q_PROPERTY(qint64 timestamp READ timestamp CONSTANT) + Q_PROPERTY( + QList segments READ segments + NOTIFY segmentsChanged) + Q_PROPERTY(int toolCallCount READ toolCallCount NOTIFY segmentsChanged) public: explicit ChatGeneration(qint64 timestamp, QObject* parent = nullptr); - [[nodiscard]] QString content() const { return m_content; } - [[nodiscard]] QString reasoning() const { return m_reasoning; } - [[nodiscard]] bool reasoningActive() const { return m_reasoningActive; } + // All content bursts, joined (the model's full answer). + [[nodiscard]] QString content() const; + // Every reasoning burst, joined. + [[nodiscard]] QString reasoning() const; + // True while the model is thinking: streaming, no content yet, and + // no tool call in flight. + [[nodiscard]] bool reasoningActive() const; [[nodiscard]] qint64 reasoningElapsedMs() const; [[nodiscard]] qint64 contentElapsedMs() const; + [[nodiscard]] qint64 toolsElapsedMs() const; [[nodiscard]] bool streaming() const { return m_streaming; } [[nodiscard]] qint64 timestamp() const { return m_timestamp; } + [[nodiscard]] QList segments() const { return m_segments; } + [[nodiscard]] int toolCallCount() const; + [[nodiscard]] bool hasRunningTool() const; void setContent(const QString& value); - void setReasoning(const QString& value); void appendContent(const QString& piece); void appendReasoning(const QString& piece); - void setElapsedMs(qint64 reasoningMs, qint64 contentMs); void setStreaming(bool value); + // The in-flight content segment, or a fresh one. A new content + // segment starts whenever the model resumes writing after reasoning + // or a tool call. + [[nodiscard]] LlmSegment* openContentSegment(); + // The in-flight reasoning segment, or a fresh one. + [[nodiscard]] LlmSegment* openReasoningSegment(); + // Creates and appends a running tool-call segment. + [[nodiscard]] LlmSegment* beginToolCall( + const QString& name, const QString& toolCallId); + // Appends a segment created by the persistence layer. + void addSegment(LlmSegment* segment); + // Stops the clocks of every in-flight segment. + void closeOpenSegments(); + Q_SIGNALS: void contentChanged(); void reasoningChanged(); void reasoningActiveChanged(); void elapsedMsChanged(); void streamingChanged(); + void toolStateChanged(); + void segmentsChanged(); private: void updateReasoningActive(); - [[nodiscard]] bool reasoningInFlight() const { - return m_reasoningStartedAt > 0 && m_reasoningEndedAt <= 0; - } - [[nodiscard]] bool contentInFlight() const { - return m_contentStartedAt > 0 && m_contentEndedAt <= 0; - } - QTimer m_timer; - QString m_content; - QString m_reasoning; + QList m_segments; bool m_reasoningActive = false; bool m_streaming = false; qint64 m_timestamp; - qint64 m_reasoningStartedAt = 0; - qint64 m_reasoningEndedAt = 0; - qint64 m_contentStartedAt = 0; - qint64 m_contentEndedAt = 0; }; } // namespace ZShell::llm diff --git a/Plugins/ZShell/Llm/highlight-queries/bash.scm b/Plugins/ZShell/Llm/highlight-queries/bash.scm new file mode 100644 index 0000000..a45327d --- /dev/null +++ b/Plugins/ZShell/Llm/highlight-queries/bash.scm @@ -0,0 +1,59 @@ +; Vendored from bash (MIT License) +; Source: https://github.com/tree-sitter/tree-sitter-bash + +[ + (string) + (raw_string) + (heredoc_body) + (heredoc_start) +] @string + +(command_name) @function + +(variable_name) @property + +[ + "case" + "do" + "done" + "elif" + "else" + "esac" + "export" + "fi" + "for" + "function" + "if" + "in" + "select" + "then" + "unset" + "until" + "while" +] @keyword + +(comment) @comment + +(function_definition name: (word) @function) + +(file_descriptor) @number + +[ + (command_substitution) + (process_substitution) + (expansion) +]@embedded + +[ + "$" + "&&" + ">" + ">>" + "<" + "|" +] @operator + +( + (command (_) @constant) + (#match? @constant "^-") +) diff --git a/Plugins/ZShell/Llm/highlight-queries/c.scm b/Plugins/ZShell/Llm/highlight-queries/c.scm new file mode 100644 index 0000000..c9652e5 --- /dev/null +++ b/Plugins/ZShell/Llm/highlight-queries/c.scm @@ -0,0 +1,84 @@ +; Vendored from c (MIT License) +; Source: https://github.com/tree-sitter/tree-sitter-c + +(identifier) @variable + +((identifier) @constant + (#match? @constant "^[A-Z][A-Z\\d_]*$")) + +"break" @keyword +"case" @keyword +"const" @keyword +"continue" @keyword +"default" @keyword +"do" @keyword +"else" @keyword +"enum" @keyword +"extern" @keyword +"for" @keyword +"if" @keyword +"inline" @keyword +"return" @keyword +"sizeof" @keyword +"static" @keyword +"struct" @keyword +"switch" @keyword +"typedef" @keyword +"union" @keyword +"volatile" @keyword +"while" @keyword + +"#define" @keyword +"#elif" @keyword +"#else" @keyword +"#endif" @keyword +"#if" @keyword +"#ifdef" @keyword +"#ifndef" @keyword +"#include" @keyword +(preproc_directive) @keyword + +"--" @operator +"-" @operator +"-=" @operator +"->" @operator +"=" @operator +"!=" @operator +"*" @operator +"&" @operator +"&&" @operator +"+" @operator +"++" @operator +"+=" @operator +"<" @operator +"==" @operator +">" @operator +"||" @operator + +"." @delimiter +";" @delimiter + +(string_literal) @string +(system_lib_string) @string + +(null) @constant +(number_literal) @number +(char_literal) @number + +(field_identifier) @property +(statement_identifier) @label +(type_identifier) @type +(primitive_type) @type +(sized_type_specifier) @type + +(call_expression + function: (identifier) @function) +(call_expression + function: (field_expression + field: (field_identifier) @function)) +(function_declarator + declarator: (identifier) @function) +(preproc_function_def + name: (identifier) @function.special) + +(comment) @comment diff --git a/Plugins/ZShell/Llm/highlight-queries/cpp.scm b/Plugins/ZShell/Llm/highlight-queries/cpp.scm new file mode 100644 index 0000000..127c6a9 --- /dev/null +++ b/Plugins/ZShell/Llm/highlight-queries/cpp.scm @@ -0,0 +1,73 @@ +; Vendored from cpp (MIT License) +; Source: https://github.com/tree-sitter/tree-sitter-cpp (tag v0.23.4, matching the distro grammar) + +; Functions + +(call_expression + function: (qualified_identifier + name: (identifier) @function)) + +(template_function + name: (identifier) @function) + +(template_method + name: (field_identifier) @function) + +(template_function + name: (identifier) @function) + +(function_declarator + declarator: (qualified_identifier + name: (identifier) @function)) + +(function_declarator + declarator: (field_identifier) @function) + +; Types + +((namespace_identifier) @type + (#match? @type "^[A-Z]")) + +(auto) @type + +; Constants + +(this) @variable.builtin +(null "nullptr" @constant) + +; Keywords + +[ + "catch" + "class" + "co_await" + "co_return" + "co_yield" + "constexpr" + "constinit" + "consteval" + "delete" + "explicit" + "final" + "friend" + "mutable" + "namespace" + "noexcept" + "new" + "override" + "private" + "protected" + "public" + "template" + "throw" + "try" + "typename" + "using" + "concept" + "requires" + "virtual" +] @keyword + +; Strings + +(raw_string_literal) @string diff --git a/Plugins/ZShell/Llm/highlight-queries/go.scm b/Plugins/ZShell/Llm/highlight-queries/go.scm new file mode 100644 index 0000000..481d5cc --- /dev/null +++ b/Plugins/ZShell/Llm/highlight-queries/go.scm @@ -0,0 +1,126 @@ +; Vendored from go (MIT License) +; Source: https://github.com/tree-sitter/tree-sitter-go + +; Function calls + +(call_expression + function: (identifier) @function) + +(call_expression + function: (identifier) @function.builtin + (#match? @function.builtin "^(append|cap|close|complex|copy|delete|imag|len|make|new|panic|print|println|real|recover)$")) + +(call_expression + function: (selector_expression + field: (field_identifier) @function.method)) + +; Function definitions + +(function_declaration + name: (identifier) @function) + +(method_declaration + name: (field_identifier) @function.method) + +; Identifiers + +(type_identifier) @type +(field_identifier) @property +(identifier) @variable + +; Operators + +[ + "--" + "-" + "-=" + ":=" + "!" + "!=" + "..." + "*" + "*" + "*=" + "/" + "/=" + "&" + "&&" + "&=" + "%" + "%=" + "^" + "^=" + "+" + "++" + "+=" + "<-" + "<" + "<<" + "<<=" + "<=" + "=" + "==" + ">" + ">=" + ">>" + ">>=" + "|" + "|=" + "||" + "~" +] @operator + +; Keywords + +[ + "break" + "case" + "chan" + "const" + "continue" + "default" + "defer" + "else" + "fallthrough" + "for" + "func" + "go" + "goto" + "if" + "import" + "interface" + "map" + "package" + "range" + "return" + "select" + "struct" + "switch" + "type" + "var" +] @keyword + +; Literals + +[ + (interpreted_string_literal) + (raw_string_literal) + (rune_literal) +] @string + +(escape_sequence) @escape + +[ + (int_literal) + (float_literal) + (imaginary_literal) +] @number + +[ + (true) + (false) + (nil) + (iota) +] @constant.builtin + +(comment) @comment diff --git a/Plugins/ZShell/Llm/highlight-queries/javascript.scm b/Plugins/ZShell/Llm/highlight-queries/javascript.scm new file mode 100644 index 0000000..92b1a52 --- /dev/null +++ b/Plugins/ZShell/Llm/highlight-queries/javascript.scm @@ -0,0 +1,207 @@ +; Vendored from javascript (MIT License) +; Source: https://github.com/tree-sitter/tree-sitter-javascript + +; Variables +;---------- + +(identifier) @variable + +; Properties +;----------- + +(property_identifier) @property + +; Function and method definitions +;-------------------------------- + +(function_expression + name: (identifier) @function) +(function_declaration + name: (identifier) @function) +(method_definition + name: (property_identifier) @function.method) + +(pair + key: (property_identifier) @function.method + value: [(function_expression) (arrow_function)]) + +(assignment_expression + left: (member_expression + property: (property_identifier) @function.method) + right: [(function_expression) (arrow_function)]) + +(variable_declarator + name: (identifier) @function + value: [(function_expression) (arrow_function)]) + +(assignment_expression + left: (identifier) @function + right: [(function_expression) (arrow_function)]) + +; Function and method calls +;-------------------------- + +(call_expression + function: (identifier) @function) + +(call_expression + function: (member_expression + property: (property_identifier) @function.method)) + +; Special identifiers +;-------------------- + +((identifier) @constructor + (#match? @constructor "^[A-Z]")) + +([ + (identifier) + (shorthand_property_identifier) + (shorthand_property_identifier_pattern) + ] @constant + (#match? @constant "^[A-Z_][A-Z\\d_]+$")) + +((identifier) @variable.builtin + (#match? @variable.builtin "^(arguments|module|console|window|document)$") + (#is-not? local)) + +((identifier) @function.builtin + (#eq? @function.builtin "require") + (#is-not? local)) + +; Literals +;--------- + +(this) @variable.builtin +(super) @variable.builtin + +[ + (true) + (false) + (null) + (undefined) +] @constant.builtin + +(comment) @comment + +[ + (string) + (template_string) +] @string + +(regex) @string.special +(number) @number + +; Tokens +;------- + +[ + ";" + (optional_chain) + "." + "," +] @punctuation.delimiter + +[ + "-" + "--" + "-=" + "+" + "++" + "+=" + "*" + "*=" + "**" + "**=" + "/" + "/=" + "%" + "%=" + "<" + "<=" + "<<" + "<<=" + "=" + "==" + "===" + "!" + "!=" + "!==" + "=>" + ">" + ">=" + ">>" + ">>=" + ">>>" + ">>>=" + "~" + "^" + "&" + "|" + "^=" + "&=" + "|=" + "&&" + "||" + "??" + "&&=" + "||=" + "??=" +] @operator + +[ + "(" + ")" + "[" + "]" + "{" + "}" +] @punctuation.bracket + +(template_substitution + "${" @punctuation.special + "}" @punctuation.special) @embedded + +[ + "as" + "async" + "await" + "break" + "case" + "catch" + "class" + "const" + "continue" + "debugger" + "default" + "delete" + "do" + "else" + "export" + "extends" + "finally" + "for" + "from" + "function" + "get" + "if" + "import" + "in" + "instanceof" + "let" + "new" + "of" + "return" + "set" + "static" + "switch" + "target" + "throw" + "try" + "typeof" + "var" + "void" + "while" + "with" + "yield" +] @keyword diff --git a/Plugins/ZShell/Llm/highlight-queries/json.scm b/Plugins/ZShell/Llm/highlight-queries/json.scm new file mode 100644 index 0000000..ede99aa --- /dev/null +++ b/Plugins/ZShell/Llm/highlight-queries/json.scm @@ -0,0 +1,19 @@ +; Vendored from json (MIT License) +; Source: https://github.com/tree-sitter/tree-sitter-json + +(pair + key: (_) @string.special.key) + +(string) @string + +(number) @number + +[ + (null) + (true) + (false) +] @constant.builtin + +(escape_sequence) @escape + +(comment) @comment diff --git a/Plugins/ZShell/Llm/highlight-queries/python.scm b/Plugins/ZShell/Llm/highlight-queries/python.scm new file mode 100644 index 0000000..fd315a9 --- /dev/null +++ b/Plugins/ZShell/Llm/highlight-queries/python.scm @@ -0,0 +1,140 @@ +; Vendored from python (MIT License) +; Source: https://github.com/tree-sitter/tree-sitter-python + +; Identifier naming conventions + +(identifier) @variable + +((identifier) @constructor + (#match? @constructor "^[A-Z]")) + +((identifier) @constant + (#match? @constant "^[A-Z][A-Z_]*$")) + +; Function calls + +(decorator) @function +(decorator + (identifier) @function) + +(call + function: (attribute attribute: (identifier) @function.method)) +(call + function: (identifier) @function) + +; Builtin functions + +((call + function: (identifier) @function.builtin) + (#match? + @function.builtin + "^(abs|all|any|ascii|bin|bool|breakpoint|bytearray|bytes|callable|chr|classmethod|compile|complex|delattr|dict|dir|divmod|enumerate|eval|exec|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|isinstance|issubclass|iter|len|list|locals|map|max|memoryview|min|next|object|oct|open|ord|pow|print|property|range|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|vars|zip|__import__)$")) + +; Function definitions + +(function_definition + name: (identifier) @function) + +(attribute attribute: (identifier) @property) +(type (identifier) @type) + +; Literals + +[ + (none) + (true) + (false) +] @constant.builtin + +[ + (integer) + (float) +] @number + +(comment) @comment +(string) @string +(escape_sequence) @escape + +(interpolation + "{" @punctuation.special + "}" @punctuation.special) @embedded + +[ + "-" + "-=" + "!=" + "*" + "**" + "**=" + "*=" + "/" + "//" + "//=" + "/=" + "&" + "&=" + "%" + "%=" + "^" + "^=" + "+" + "->" + "+=" + "<" + "<<" + "<<=" + "<=" + "<>" + "=" + ":=" + "==" + ">" + ">=" + ">>" + ">>=" + "|" + "|=" + "~" + "@=" + "and" + "in" + "is" + "not" + "or" + "is not" + "not in" +] @operator + +[ + "as" + "assert" + "async" + "await" + "break" + "class" + "continue" + "def" + "del" + "elif" + "else" + "except" + "exec" + "finally" + "for" + "from" + "global" + "if" + "import" + "lambda" + "nonlocal" + "pass" + "print" + "raise" + "return" + "try" + "while" + "with" + "yield" + "match" + "case" +] @keyword diff --git a/Plugins/ZShell/Llm/highlight-queries/rust.scm b/Plugins/ZShell/Llm/highlight-queries/rust.scm new file mode 100644 index 0000000..c1acc9e --- /dev/null +++ b/Plugins/ZShell/Llm/highlight-queries/rust.scm @@ -0,0 +1,164 @@ +; Vendored from rust (MIT License) +; Source: https://github.com/tree-sitter/tree-sitter-rust + +; Identifiers + +(type_identifier) @type +(primitive_type) @type.builtin +(field_identifier) @property + +; Identifier conventions + +; Assume all-caps names are constants +((identifier) @constant + (#match? @constant "^[A-Z][A-Z\\d_]+$'")) + +; Assume uppercase names are enum constructors +((identifier) @constructor + (#match? @constructor "^[A-Z]")) + +; Assume that uppercase names in paths are types +((scoped_identifier + path: (identifier) @type) + (#match? @type "^[A-Z]")) +((scoped_identifier + path: (scoped_identifier + name: (identifier) @type)) + (#match? @type "^[A-Z]")) +((scoped_type_identifier + path: (identifier) @type) + (#match? @type "^[A-Z]")) +((scoped_type_identifier + path: (scoped_identifier + name: (identifier) @type)) + (#match? @type "^[A-Z]")) + +; Assume all qualified names in struct patterns are enum constructors. (They're +; either that, or struct names; highlighting both as constructors seems to be +; the less glaring choice of error, visually.) +(struct_pattern + type: (scoped_type_identifier + name: (type_identifier) @constructor)) + +; Function calls + +(call_expression + function: (identifier) @function) +(call_expression + function: (field_expression + field: (field_identifier) @function.method)) +(call_expression + function: (scoped_identifier + "::" + name: (identifier) @function)) + +(generic_function + function: (identifier) @function) +(generic_function + function: (scoped_identifier + name: (identifier) @function)) +(generic_function + function: (field_expression + field: (field_identifier) @function.method)) + +(macro_invocation + macro: (identifier) @function.macro + "!" @function.macro) + +; Function definitions + +(function_item (identifier) @function) +(function_signature_item (identifier) @function) + +(line_comment) @comment +(block_comment) @comment + +(line_comment (doc_comment)) @comment.documentation +(block_comment (doc_comment)) @comment.documentation + +"(" @punctuation.bracket +")" @punctuation.bracket +"[" @punctuation.bracket +"]" @punctuation.bracket +"{" @punctuation.bracket +"}" @punctuation.bracket + +(type_arguments + "<" @punctuation.bracket + ">" @punctuation.bracket) +(type_parameters + "<" @punctuation.bracket + ">" @punctuation.bracket) + +"::" @punctuation.delimiter +":" @punctuation.delimiter +"." @punctuation.delimiter +"," @punctuation.delimiter +";" @punctuation.delimiter + +(parameter (identifier) @variable.parameter) + +(lifetime (identifier) @label) + +"as" @keyword +"async" @keyword +"await" @keyword +"break" @keyword +"const" @keyword +"continue" @keyword +"default" @keyword +"dyn" @keyword +"else" @keyword +"enum" @keyword +"extern" @keyword +"fn" @keyword +"for" @keyword +"gen" @keyword +"if" @keyword +"impl" @keyword +"in" @keyword +"let" @keyword +"loop" @keyword +"macro_rules!" @keyword +"match" @keyword +"mod" @keyword +"move" @keyword +"pub" @keyword +"raw" @keyword +"ref" @keyword +"return" @keyword +"static" @keyword +"struct" @keyword +"trait" @keyword +"type" @keyword +"union" @keyword +"unsafe" @keyword +"use" @keyword +"where" @keyword +"while" @keyword +"yield" @keyword +(crate) @keyword +(mutable_specifier) @keyword +(use_list (self) @keyword) +(scoped_use_list (self) @keyword) +(scoped_identifier (self) @keyword) +(super) @keyword + +(self) @variable.builtin + +(char_literal) @string +(string_literal) @string +(raw_string_literal) @string + +(boolean_literal) @constant.builtin +(integer_literal) @constant.builtin +(float_literal) @constant.builtin + +(escape_sequence) @escape + +(attribute_item) @attribute +(inner_attribute_item) @attribute + +"*" @operator +"&" @operator +"'" @operator diff --git a/Plugins/ZShell/Llm/highlight-queries/sql.scm b/Plugins/ZShell/Llm/highlight-queries/sql.scm new file mode 100644 index 0000000..de1438a --- /dev/null +++ b/Plugins/ZShell/Llm/highlight-queries/sql.scm @@ -0,0 +1,463 @@ +; Vendored from sql (MIT License) +; Source: https://github.com/DerekStride/tree-sitter-sql + +(object_reference + name: (identifier) @type) + +(invocation + (object_reference + name: (identifier) @function.call)) + +[ + (keyword_gist) + (keyword_btree) + (keyword_hash) + (keyword_spgist) + (keyword_gin) + (keyword_brin) + (keyword_array) + (keyword_object_id) +] @function.call + +(relation + alias: (identifier) @variable) + +(field + name: (identifier) @field) + +(term + alias: (identifier) @variable) + +((term + value: (cast + name: (keyword_cast) @function.call + parameter: [(literal)]?))) + +(literal) @string +(comment) @comment @spell +(marginalia) @comment + +((literal) @number + (#match? @number "^[-+]?%d+$")) + +((literal) @float + (#match? @float "^[-+]?%d*\.%d*$")) + +(parameter) @parameter + +[ + (keyword_true) + (keyword_false) +] @boolean + +[ + (keyword_asc) + (keyword_desc) + (keyword_terminated) + (keyword_escaped) + (keyword_unsigned) + (keyword_nulls) + (keyword_last) + (keyword_delimited) + (keyword_replication) + (keyword_auto_increment) + (keyword_default) + (keyword_collate) + (keyword_concurrently) + (keyword_engine) + (keyword_always) + (keyword_generated) + (keyword_preceding) + (keyword_following) + (keyword_first) + (keyword_current_timestamp) + (keyword_immutable) + (keyword_atomic) + (keyword_parallel) + (keyword_leakproof) + (keyword_safe) + (keyword_cost) + (keyword_strict) +] @attribute + +[ + (keyword_materialized) + (keyword_recursive) + (keyword_temp) + (keyword_temporary) + (keyword_unlogged) + (keyword_external) + (keyword_parquet) + (keyword_csv) + (keyword_rcfile) + (keyword_textfile) + (keyword_orc) + (keyword_avro) + (keyword_jsonfile) + (keyword_sequencefile) + (keyword_volatile) +] @storageclass + +[ + (keyword_case) + (keyword_when) + (keyword_then) + (keyword_else) +] @conditional + +[ + (keyword_select) + (keyword_from) + (keyword_where) + (keyword_index) + (keyword_join) + (keyword_primary) + (keyword_delete) + (keyword_create) + (keyword_show) + (keyword_unload) + (keyword_insert) + (keyword_merge) + (keyword_distinct) + (keyword_replace) + (keyword_update) + (keyword_into) + (keyword_overwrite) + (keyword_matched) + (keyword_values) + (keyword_value) + (keyword_attribute) + (keyword_set) + (keyword_left) + (keyword_right) + (keyword_outer) + (keyword_inner) + (keyword_full) + (keyword_order) + (keyword_partition) + (keyword_group) + (keyword_with) + (keyword_without) + (keyword_as) + (keyword_having) + (keyword_limit) + (keyword_offset) + (keyword_table) + (keyword_tables) + (keyword_key) + (keyword_references) + (keyword_foreign) + (keyword_constraint) + (keyword_force) + (keyword_use) + (keyword_include) + (keyword_for) + (keyword_if) + (keyword_exists) + (keyword_column) + (keyword_columns) + (keyword_cross) + (keyword_lateral) + (keyword_natural) + (keyword_alter) + (keyword_drop) + (keyword_add) + (keyword_view) + (keyword_end) + (keyword_is) + (keyword_using) + (keyword_between) + (keyword_window) + (keyword_no) + (keyword_data) + (keyword_type) + (keyword_rename) + (keyword_refresh) + (keyword_to) + (keyword_schema) + (keyword_owner) + (keyword_authorization) + (keyword_all) + (keyword_any) + (keyword_some) + (keyword_returning) + (keyword_begin) + (keyword_commit) + (keyword_rollback) + (keyword_transaction) + (keyword_only) + (keyword_like) + (keyword_rlike) + (keyword_similar) + (keyword_over) + (keyword_change) + (keyword_modify) + (keyword_after) + (keyword_before) + (keyword_range) + (keyword_rows) + (keyword_groups) + (keyword_exclude) + (keyword_current) + (keyword_ties) + (keyword_others) + (keyword_zerofill) + (keyword_format) + (keyword_fields) + (keyword_row) + (keyword_sort) + (keyword_compute) + (keyword_comment) + (keyword_location) + (keyword_cached) + (keyword_uncached) + (keyword_lines) + (keyword_stored) + (keyword_virtual) + (keyword_partitioned) + (keyword_analyze) + (keyword_explain) + (keyword_verbose) + (keyword_truncate) + (keyword_rewrite) + (keyword_optimize) + (keyword_vacuum) + (keyword_cache) + (keyword_language) + (keyword_called) + (keyword_conflict) + (keyword_declare) + (keyword_filter) + (keyword_function) + (keyword_input) + (keyword_name) + (keyword_oid) + (keyword_oids) + (keyword_precision) + (keyword_regclass) + (keyword_regnamespace) + (keyword_regproc) + (keyword_regtype) + (keyword_restricted) + (keyword_return) + (keyword_returns) + (keyword_separator) + (keyword_setof) + (keyword_stable) + (keyword_support) + (keyword_tblproperties) + (keyword_trigger) + (keyword_unsafe) + (keyword_admin) + (keyword_connection) + (keyword_cycle) + (keyword_database) + (keyword_encrypted) + (keyword_increment) + (keyword_logged) + (keyword_none) + (keyword_owned) + (keyword_password) + (keyword_reset) + (keyword_role) + (keyword_current_role) + (keyword_sequence) + (keyword_start) + (keyword_restart) + (keyword_tablespace) + (keyword_split) + (keyword_tablets) + (keyword_until) + (keyword_user) + (keyword_current_user) + (keyword_session_user) + (keyword_valid) + (keyword_action) + (keyword_definer) + (keyword_invoker) + (keyword_enable) + (keyword_disable) + (keyword_security) + (keyword_policy) + (keyword_permissive) + (keyword_restrictive) + (keyword_public) + (keyword_extension) + (keyword_version) + (keyword_out) + (keyword_inout) + (keyword_variadic) + (keyword_ordinality) + (keyword_session) + (keyword_isolation) + (keyword_level) + (keyword_serializable) + (keyword_repeatable) + (keyword_read) + (keyword_write) + (keyword_committed) + (keyword_uncommitted) + (keyword_deferrable) + (keyword_names) + (keyword_zone) + (keyword_immediate) + (keyword_deferred) + (keyword_constraints) + (keyword_snapshot) + (keyword_characteristics) + (keyword_off) + (keyword_follows) + (keyword_precedes) + (keyword_each) + (keyword_instead) + (keyword_of) + (keyword_initially) + (keyword_old) + (keyword_new) + (keyword_referencing) + (keyword_statement) + (keyword_execute) + (keyword_procedure) + (keyword_copy) + (keyword_delimiter) + (keyword_encoding) + (keyword_escape) + (keyword_force_not_null) + (keyword_force_null) + (keyword_force_quote) + (keyword_freeze) + (keyword_header) + (keyword_match) + (keyword_program) + (keyword_quote) + (keyword_stdin) + (keyword_extended) + (keyword_main) + (keyword_plain) + (keyword_storage) + (keyword_compression) + (keyword_duplicate) + (keyword_while) +] @keyword + +[ + (keyword_restrict) + (keyword_unbounded) + (keyword_unique) + (keyword_cascade) + (keyword_delayed) + (keyword_high_priority) + (keyword_low_priority) + (keyword_ignore) + (keyword_nothing) + (keyword_check) + (keyword_option) + (keyword_local) + (keyword_cascaded) + (keyword_wait) + (keyword_nowait) + (keyword_metadata) + (keyword_incremental) + (keyword_bin_pack) + (keyword_noscan) + (keyword_stats) + (keyword_statistics) + (keyword_maxvalue) + (keyword_minvalue) +] @type.qualifier + +[ + (keyword_int) + (keyword_null) + (keyword_boolean) + (keyword_binary) + (keyword_varbinary) + (keyword_image) + (keyword_bit) + (keyword_inet) + (keyword_character) + (keyword_smallserial) + (keyword_serial) + (keyword_bigserial) + (keyword_smallint) + (keyword_mediumint) + (keyword_bigint) + (keyword_tinyint) + (keyword_decimal) + (keyword_float) + (keyword_double) + (keyword_numeric) + (keyword_real) + (double) + (keyword_money) + (keyword_smallmoney) + (keyword_char) + (keyword_nchar) + (keyword_varchar) + (keyword_nvarchar) + (keyword_varying) + (keyword_text) + (keyword_string) + (keyword_uuid) + (keyword_json) + (keyword_jsonb) + (keyword_xml) + (keyword_bytea) + (keyword_enum) + (keyword_date) + (keyword_datetime) + (keyword_time) + (keyword_datetime2) + (keyword_datetimeoffset) + (keyword_smalldatetime) + (keyword_timestamp) + (keyword_timestamptz) + (keyword_geometry) + (keyword_geography) + (keyword_box2d) + (keyword_box3d) + (keyword_interval) +] @type.builtin + +[ + (keyword_in) + (keyword_and) + (keyword_or) + (keyword_not) + (keyword_by) + (keyword_on) + (keyword_do) + (keyword_union) + (keyword_except) + (keyword_intersect) +] @keyword.operator + +[ + "+" + "-" + "*" + "/" + "%" + "^" + ":=" + "=" + "<" + "<=" + "!=" + ">=" + ">" + "<>" + (op_other) + (op_unary_other) +] @operator + +[ + "(" + ")" +] @punctuation.bracket + +[ + ";" + "," + "." +] @punctuation.delimiter diff --git a/Plugins/ZShell/Llm/highlight-queries/toml.scm b/Plugins/ZShell/Llm/highlight-queries/toml.scm new file mode 100644 index 0000000..b26f3a9 --- /dev/null +++ b/Plugins/ZShell/Llm/highlight-queries/toml.scm @@ -0,0 +1,36 @@ +; Vendored from toml (MIT License) +; Source: https://github.com/tree-sitter/tree-sitter-toml + +; Properties +;----------- + +(bare_key) @property +(quoted_key) @string + +; Literals +;--------- + +(boolean) @constant.builtin +(comment) @comment +(string) @string +(integer) @number +(float) @number +(offset_date_time) @string.special +(local_date_time) @string.special +(local_date) @string.special +(local_time) @string.special + +; Punctuation +;------------ + +"." @punctuation.delimiter +"," @punctuation.delimiter + +"=" @operator + +"[" @punctuation.bracket +"]" @punctuation.bracket +"[[" @punctuation.bracket +"]]" @punctuation.bracket +"{" @punctuation.bracket +"}" @punctuation.bracket diff --git a/Plugins/ZShell/Llm/highlight-queries/typescript.scm b/Plugins/ZShell/Llm/highlight-queries/typescript.scm new file mode 100644 index 0000000..72500ee --- /dev/null +++ b/Plugins/ZShell/Llm/highlight-queries/typescript.scm @@ -0,0 +1,38 @@ +; Vendored from typescript (MIT License) +; Source: https://github.com/tree-sitter/tree-sitter-typescript + +; Types + +(type_identifier) @type +(predefined_type) @type.builtin + +((identifier) @type + (#match? @type "^[A-Z]")) + +(type_arguments + "<" @punctuation.bracket + ">" @punctuation.bracket) + +; Variables + +(required_parameter (identifier) @variable.parameter) +(optional_parameter (identifier) @variable.parameter) + +; Keywords + +[ "abstract" + "declare" + "enum" + "export" + "implements" + "interface" + "keyof" + "namespace" + "private" + "protected" + "public" + "type" + "readonly" + "override" + "satisfies" +] @keyword diff --git a/Plugins/ZShell/Llm/highlight-queries/yaml.scm b/Plugins/ZShell/Llm/highlight-queries/yaml.scm new file mode 100644 index 0000000..bbfa7e6 --- /dev/null +++ b/Plugins/ZShell/Llm/highlight-queries/yaml.scm @@ -0,0 +1,82 @@ +; Vendored from yaml (MIT License) +; Source: https://github.com/tree-sitter-grammars/tree-sitter-yaml + +(boolean_scalar) @boolean + +(null_scalar) @constant.builtin + +[ + (double_quote_scalar) + (single_quote_scalar) + (block_scalar) + (string_scalar) +] @string + +[ + (integer_scalar) + (float_scalar) +] @number + +(comment) @comment + +[ + (anchor_name) + (alias_name) +] @label + +(tag) @type + +[ + (yaml_directive) + (tag_directive) + (reserved_directive) +] @attribute + +(block_mapping_pair + key: (flow_node + [ + (double_quote_scalar) + (single_quote_scalar) + ] @property)) + +(block_mapping_pair + key: (flow_node + (plain_scalar + (string_scalar) @property))) + +(flow_mapping + (_ + key: (flow_node + [ + (double_quote_scalar) + (single_quote_scalar) + ] @property))) + +(flow_mapping + (_ + key: (flow_node + (plain_scalar + (string_scalar) @property)))) + +[ + "," + "-" + ":" + ">" + "?" + "|" +] @punctuation.delimiter + +[ + "[" + "]" + "{" + "}" +] @punctuation.bracket + +[ + "*" + "&" + "---" + "..." +] @punctuation.special diff --git a/Plugins/ZShell/Llm/llmclient.cpp b/Plugins/ZShell/Llm/llmclient.cpp index 5f4e1a5..b898456 100644 --- a/Plugins/ZShell/Llm/llmclient.cpp +++ b/Plugins/ZShell/Llm/llmclient.cpp @@ -1,7 +1,9 @@ #include "llmclient.hpp" +#include "generation.hpp" #include "message.hpp" #include "messagemodel.hpp" +#include "segment.hpp" #include "session.hpp" #include @@ -62,12 +64,19 @@ void LlmClient::setStreamingChatId(const QString& id) { } LlmClient::LlmClient(QObject* parent) : QObject(parent) { + m_tools = new ToolRegistry(this); + connect( + m_tools, + &ToolRegistry::enabledChanged, + this, + &LlmClient::toolsEnabledChanged); probeContextSize(); } LlmClient::~LlmClient() { if (m_reply) m_reply->abort(); + m_tools->cancelAll(); endStream(); } @@ -111,10 +120,6 @@ void LlmClient::startGeneration( return; } - QNetworkRequest request(url); - request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); - request.setRawHeader("Accept", "text/event-stream"); - const auto* model = session->messagesModel(); const int targetRow = model->rowOf(qobject_cast(target->parent())); @@ -124,25 +129,50 @@ void LlmClient::startGeneration( return; } - // Context: every message older than the target, oldest first. - QJsonArray messages; - for (int row = model->rowCount() - 1; row > targetRow; --row) { - const auto* message = model->at(row); - const auto* generation = message->activeGeneration(); - if (!generation) - continue; - QJsonObject messageObj; - messageObj[QStringLiteral("role")] = - message->role() == ChatMessage::Role::User - ? QStringLiteral("user") - : QStringLiteral("assistant"); - messageObj[QStringLiteral("content")] = generation->content(); - if (!generation->reasoning().isEmpty()) - messageObj[QStringLiteral("reasoning_content")] = - generation->reasoning(); - messages.append(messageObj); + m_transcript = QJsonArray(); + m_callBuilders.clear(); + m_callResults.clear(); + m_finishReason.clear(); + m_round = 0; + m_contentMark = 0; + m_reasoningMark = 0; + + sendRound(); +} + +void LlmClient::sendRound() { + if (!m_active || !m_streaming) + return; + m_finishReason.clear(); + m_callBuilders.clear(); + m_callResults.clear(); + m_roundDone = false; + m_toolPhase = false; + m_pendingCalls = 0; + m_buffer.clear(); + + const QUrl url = + QUrl::fromUserInput(completionsPath(m_endpoint, "/chat/completions")); + if (!url.isValid() || url.host().isEmpty()) { + fail(QStringLiteral("Invalid LLM endpoint: %1").arg(m_endpoint)); + return; } + const auto* model = m_active->messagesModel(); + const int targetRow = + model->rowOf(qobject_cast(m_streaming->parent())); + if (targetRow < 0) { + fail(QStringLiteral("Internal error: generation target is not in the " + "session")); + return; + } + + // Context: every message older than the target, oldest first, plus + // the tool exchanges of the current turn so far. + QJsonArray messages = buildContextMessages(m_active, targetRow); + for (const QJsonValue& value : m_transcript) + messages.append(value); + QJsonObject body; QJsonObject streamOptions; streamOptions[QStringLiteral("include_usage")] = true; @@ -152,8 +182,14 @@ void LlmClient::startGeneration( body[QStringLiteral("temperature")] = m_temperature; if (!m_model.isEmpty()) body[QStringLiteral("model")] = m_model; + const QJsonArray toolSpecs = m_tools->specifications(); + if (!toolSpecs.isEmpty()) + body[QStringLiteral("tools")] = toolSpecs; + + QNetworkRequest request(url); + request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + request.setRawHeader("Accept", "text/event-stream"); - m_buffer.clear(); m_reply = m_manager.post(request, QJsonDocument(body).toJson()); connect(m_reply, &QNetworkReply::readyRead, this, [this]() { @@ -178,14 +214,493 @@ void LlmClient::startGeneration( if (!m_streaming) return; - if (error == QNetworkReply::NoError || - error == QNetworkReply::OperationCanceledError) - finalize(); + if (error == QNetworkReply::NoError) + roundFinished(); + else if (error == QNetworkReply::OperationCanceledError) + finishTurn(); else fail(serverErrorMessage(responseBody, errorString)); }); } +QJsonArray LlmClient::buildContextMessages( + ChatSession* session, int stopBeforeRow) const { + const auto* model = session->messagesModel(); + QJsonArray messages; + for (int row = model->rowCount() - 1; row > stopBeforeRow; --row) { + const auto* message = model->at(row); + const auto* generation = message->activeGeneration(); + if (!generation) + continue; + + if (message->role() == ChatMessage::Role::User) { + QJsonObject user; + user[QStringLiteral("role")] = QStringLiteral("user"); + user[QStringLiteral("content")] = generation->content(); + messages.append(user); + continue; + } + + // Assistant message: replay its tool calls (and their results) + // so the model keeps the full history of the turn. + QList toolSegments; + for (const auto* segment : generation->segments()) + if (segment->type() == LlmSegment::Type::ToolCall) + toolSegments.append(segment); + + QJsonObject assistant; + assistant[QStringLiteral("role")] = QStringLiteral("assistant"); + if (toolSegments.isEmpty()) + assistant[QStringLiteral("content")] = generation->content(); + else if (!generation->content().isEmpty()) + assistant[QStringLiteral("content")] = generation->content(); + if (!generation->reasoning().isEmpty()) + assistant[QStringLiteral("reasoning_content")] = + generation->reasoning(); + + if (toolSegments.isEmpty()) { + messages.append(assistant); + continue; + } + QJsonArray calls; + for (const auto* segment : toolSegments) { + QJsonObject function; + function[QStringLiteral("name")] = segment->name(); + function[QStringLiteral("arguments")] = segment->arguments(); + QJsonObject call; + call[QStringLiteral("id")] = segment->toolCallId(); + call[QStringLiteral("type")] = QStringLiteral("function"); + call[QStringLiteral("function")] = function; + calls.append(call); + } + assistant[QStringLiteral("tool_calls")] = calls; + messages.append(assistant); + for (const auto* segment : toolSegments) { + QJsonObject toolMessage; + toolMessage[QStringLiteral("role")] = QStringLiteral("tool"); + toolMessage[QStringLiteral("tool_call_id")] = + segment->toolCallId(); + toolMessage[QStringLiteral("content")] = segment->result(); + messages.append(toolMessage); + } + } + return messages; +} + +void LlmClient::applyToolCallDelta(const QJsonObject& call) { + if (!m_streaming) + return; + const int index = call[QStringLiteral("index")].toInt(-1); + if (index < 0) + return; + while (m_callBuilders.size() <= index) + m_callBuilders.append(ToolCallBuilder{}); + ToolCallBuilder& builder = m_callBuilders[index]; + builder.seen = true; + const QString id = call[QStringLiteral("id")].toString(); + if (!id.isEmpty()) + builder.id = id; + const QJsonObject function = call[QStringLiteral("function")].toObject(); + const QString name = function[QStringLiteral("name")].toString(); + if (!name.isEmpty()) + builder.name = name; + const QString arguments = + function[QStringLiteral("arguments")].toString(); + if (!arguments.isEmpty()) + builder.arguments += arguments; + + if (!builder.segment) { + // A new call: close the in-flight text segments and open a + // running tool-call segment so the UI can track it live. + m_streaming->closeOpenSegments(); + builder.segment = + m_streaming->beginToolCall(builder.name, builder.id); + } + builder.segment->setName(builder.name); + builder.segment->setToolCallId(builder.id); + if (!arguments.isEmpty()) + builder.segment->appendArguments(arguments); +} + +void LlmClient::roundFinished() { + // [DONE] and the reply's finished signal both funnel here; only the + // first may act. + if (m_roundDone || !m_streaming) + return; + m_roundDone = true; + + bool hasCalls = false; + for (const auto& builder : m_callBuilders) + if (builder.seen) + hasCalls = true; + if (m_finishReason != QLatin1String("tool_calls") && !hasCalls) { + finishTurn(); + return; + } + if (m_round >= kMaxToolRounds) { + qWarning() << "LlmClient: tool round limit reached, ending turn"; + finishTurn(); + return; + } + + m_streaming->closeOpenSegments(); + + // Record the assistant's tool-call message in the transcript so the + // next round (and the model) can see it. + const QString content = m_streaming->content(); + const QString reasoning = m_streaming->reasoning(); + QJsonObject assistant; + assistant[QStringLiteral("role")] = QStringLiteral("assistant"); + if (content.size() > m_contentMark) { + assistant[QStringLiteral("content")] = content.mid(m_contentMark); + m_contentMark = content.size(); + } + if (reasoning.size() > m_reasoningMark) { + assistant[QStringLiteral("reasoning_content")] = + reasoning.mid(m_reasoningMark); + m_reasoningMark = reasoning.size(); + } + QJsonArray calls; + for (const auto& builder : m_callBuilders) { + if (!builder.seen) + continue; + QJsonObject function; + function[QStringLiteral("name")] = builder.name; + function[QStringLiteral("arguments")] = builder.arguments; + QJsonObject call; + call[QStringLiteral("id")] = builder.id; + call[QStringLiteral("type")] = QStringLiteral("function"); + call[QStringLiteral("function")] = function; + calls.append(call); + } + assistant[QStringLiteral("tool_calls")] = calls; + m_transcript.append(assistant); + m_round++; + + executeAllCalls(); +} + +void LlmClient::executeAllCalls() { + m_toolPhase = true; + m_pendingCalls = 0; + m_callResults = QList(m_callBuilders.size()); + + for (int i = 0; i < m_callBuilders.size(); ++i) { + const auto& call = m_callBuilders.at(i); + if (!call.seen) + continue; + + LlmTool* tool = m_tools->tool(call.name); + QJsonObject args; + QString errorText; + if (!tool) { + errorText = QStringLiteral("Error: unknown tool '%1'") + .arg(call.name); + } else if (!call.arguments.isEmpty()) { + const QJsonDocument doc = + QJsonDocument::fromJson(call.arguments.toUtf8()); + if (!doc.isObject()) { + errorText = + QStringLiteral("Error: tool arguments are not valid " + "JSON: %1") + .arg(call.arguments); + } else { + args = doc.object(); + } + } + if (!errorText.isEmpty()) { + m_callResults[i] = { errorText, false }; + if (LlmSegment* segment = call.segment) + segment->finishTool(errorText, false); + continue; + } + + ++m_pendingCalls; + tool->execute( + args, + [this, i, call](const QJsonObject& result) { + if (!m_streaming) + return; + const bool success = + result.contains(QStringLiteral("output")); + const QString content = success + ? result[QStringLiteral("output")].toString() + : QStringLiteral("Error: ") + + result[QStringLiteral("error")].toString(); + m_callResults[i] = { content, success }; + if (LlmSegment* segment = call.segment) + segment->finishTool(content, success); + if (--m_pendingCalls == 0) + flushCallResults(); + }); + } + if (m_pendingCalls == 0) + flushCallResults(); +} + +void LlmClient::flushCallResults() { + if (!m_toolPhase) + return; + m_toolPhase = false; + if (!m_streaming) + return; + for (int i = 0; i < m_callBuilders.size(); ++i) { + const auto& call = m_callBuilders.at(i); + if (!call.seen) + continue; + QJsonObject toolMessage; + toolMessage[QStringLiteral("role")] = QStringLiteral("tool"); + toolMessage[QStringLiteral("tool_call_id")] = call.id; + toolMessage[QStringLiteral("content")] = + m_callResults.at(i).content; + m_transcript.append(toolMessage); + } + sendRound(); +} + +void LlmClient::stop() { + if (!m_busy) + return; + if (m_toolPhase) { + m_tools->cancelAll(); + if (m_streaming) { + for (auto* segment : m_streaming->segments()) { + if (segment->type() == LlmSegment::Type::ToolCall && + segment->running()) + segment->finishTool( + QStringLiteral("Cancelled"), false); + } + } + finishTurn(); + return; + } + if (m_reply) + m_reply->abort(); +} + +void LlmClient::endStream() { + if (!m_streaming) + return; + auto* generation = m_streaming; + auto* session = m_active; + m_streaming = nullptr; + m_active = nullptr; + generation->setStreaming(false); + if (generation->content().isEmpty() && + generation->reasoning().isEmpty() && + generation->toolCallCount() == 0) { + if (auto* message = qobject_cast(generation->parent())) { + if (message->generationCount() <= 1) { + if (session) + session->removeMessage(message); + } else { + message->removeGeneration(generation); + } + } + } + setBusy(false); + setStreamingChatId(QString()); +} + +void LlmClient::finishTurn() { + if (!m_streaming) + return; + ChatSession* session = m_active; + endStream(); + if (session && m_pendingClear == session) { + session->clearMessages(); + m_pendingClear.clear(); + } + if (session) + session->persist(); +} + +void LlmClient::clearOnFinish(ChatSession* session) { + m_pendingClear = session; +} + +void LlmClient::sessionRemoved(ChatSession* session) { + if (m_pendingClear == session) + m_pendingClear.clear(); + if (m_active == session) { + stop(); + endStream(); + } +} + +void LlmClient::fail(const QString& message) { + qWarning() << "LlmClient:" << message; + finishTurn(); + Q_EMIT errorOccurred(message); +} + +void LlmClient::drainBuffer() { + while (true) { + const qsizetype newline = m_buffer.indexOf('\n'); + if (newline < 0) + break; + const QByteArray line = m_buffer.left(newline).trimmed(); + m_buffer.remove(0, newline + 1); + handleLine(line); + } +} + +void LlmClient::handleLine(const QByteArray& line) { + if (!m_streaming || line.isEmpty() || !line.startsWith("data:")) + return; + + const QByteArray data = line.mid(5).trimmed(); + if (data == "[DONE]") { + roundFinished(); + return; + } + + const QJsonDocument doc = QJsonDocument::fromJson(data); + if (!doc.isObject()) + return; + const QJsonObject obj = doc.object(); + updateTokenUsage(obj); + + if (obj.contains("error")) { + const QJsonObject error = obj["error"].toObject(); + const QString message = error["message"].toString(); + fail(message.isEmpty() + ? QStringLiteral("LLM server returned an error") + : message); + return; + } + + for (const QJsonValue& choiceValue : obj["choices"].toArray()) { + if (!m_streaming) + continue; + const QJsonObject choice = choiceValue.toObject(); + const QJsonObject delta = choice["delta"].toObject(); + + const QString finishReason = + choice[QStringLiteral("finish_reason")].toString(); + if (!finishReason.isEmpty()) + m_finishReason = finishReason; + + m_streaming->appendContent(delta["content"].toString()); + QString reasoning = + delta["reasoning_content"].toString(); + if (reasoning.isEmpty()) + reasoning = delta["reasoning"].toString(); + m_streaming->appendReasoning(reasoning); + + for (const QJsonValue& callValue : + delta["tool_calls"].toArray()) { + if (!m_streaming) + break; + applyToolCallDelta(callValue.toObject()); + } + } +} + +void LlmClient::refreshModels() { + const QUrl url = + QUrl::fromUserInput(completionsPath(m_endpoint, "/models")); + if (!url.isValid() || url.host().isEmpty()) + return; + + auto* reply = m_manager.get(QNetworkRequest(url)); + connect(reply, &QNetworkReply::finished, this, [this, reply]() { + const QNetworkReply::NetworkError error = reply->error(); + const QByteArray data = reply->readAll(); + reply->deleteLater(); + + if (error != QNetworkReply::NoError) { + qWarning() << "LlmClient: failed to fetch models:" << error; + return; + } + const QJsonArray dataArr = + QJsonDocument::fromJson(data).object()["data"].toArray(); + + QStringList models; + QSet seen; + for (const QJsonValue& value : dataArr) { + const QString id = value.toObject()["id"].toString(); + if (!id.isEmpty() && !seen.contains(id)) { + seen.insert(id); + models.append(id); + } + } + if (models.isEmpty()) + return; + + m_availableModels = models; + Q_EMIT availableModelsChanged(); + + if (m_model.isEmpty()) { + m_model = models.first(); + Q_EMIT modelChanged(); + } + }); +} + +void LlmClient::setContextSize(int size) { + if (size <= 0 || m_contextSize == size) + return; + m_contextSize = size; + Q_EMIT contextSizeChanged(); +} + +void LlmClient::probeContextSize() { + // llama.cpp-specific endpoint; other servers fall back to 4096. + QString base = m_endpoint.trimmed(); + while (base.endsWith('/')) + base.chop(1); + const QUrl url = QUrl::fromUserInput(base + "/props"); + if (!url.isValid() || url.host().isEmpty()) + return; + + auto* reply = m_manager.get(QNetworkRequest(url)); + connect( + reply, + &QNetworkReply::finished, + this, + [this, reply]() { + const QNetworkReply::NetworkError error = reply->error(); + const QByteArray data = reply->readAll(); + reply->deleteLater(); + + int size = 0; + if (error == QNetworkReply::NoError) { + const QJsonDocument doc = QJsonDocument::fromJson(data); + if (doc.isArray()) { + for (const auto& value : doc.array()) { + const QJsonObject slot = value.toObject(); + if (slot.contains("n_ctx")) { + size = slot["n_ctx"].toInt(0); + if (size > 0) + break; + } + } + } else if (doc.isObject()) { + const QJsonObject obj = doc.object(); + size = obj["n_ctx"].toInt(0); + if (size <= 0) + size = obj["default_generation_settings"].toObject() + ["n_ctx"].toInt(0); + } + } + setContextSize(size > 0 ? size : 4096); + }); +} + +void LlmClient::updateTokenUsage(const QJsonObject& data) { + if (!m_active || m_contextSize <= 0) + return; + const QJsonObject usage = data["usage"].toObject(); + if (usage.isEmpty()) + return; + const double used = + usage.value("prompt_tokens").toDouble() + + usage.value("completion_tokens").toDouble(); + if (used > 0) + m_active->setLastTokenCount(static_cast(used)); +} + void LlmClient::shortRequest( const QString& tag, const QString& systemPrompt, @@ -340,229 +855,4 @@ void LlmClient::requestIcon(ChatSession* session, const QString& userText) { }); } -void LlmClient::stop() { - if (!m_busy) - return; - if (m_reply) - m_reply->abort(); -} - -void LlmClient::endStream() { - if (!m_streaming) - return; - auto* generation = m_streaming; - auto* session = m_active; - m_streaming = nullptr; - m_active = nullptr; - generation->setStreaming(false); - if (generation->content().isEmpty() && - generation->reasoning().isEmpty()) { - if (auto* message = qobject_cast(generation->parent())) { - if (message->generationCount() <= 1) { - if (session) - session->removeMessage(message); - } else { - message->removeGeneration(generation); - } - } - } - setBusy(false); - setStreamingChatId(QString()); -} - -void LlmClient::finalize() { - if (!m_streaming) - return; - ChatSession* session = m_active; - endStream(); - if (session && m_pendingClear == session) { - session->clearMessages(); - m_pendingClear.clear(); - } - if (session) - session->persist(); -} - -void LlmClient::clearOnFinish(ChatSession* session) { - m_pendingClear = session; -} - -void LlmClient::sessionRemoved(ChatSession* session) { - if (m_pendingClear == session) - m_pendingClear.clear(); - if (m_active == session) { - stop(); - endStream(); - } -} - -void LlmClient::fail(const QString& message) { - qWarning() << "LlmClient:" << message; - - if (m_streaming) { - ChatSession* session = m_active; - endStream(); - if (session && m_pendingClear == session) { - session->clearMessages(); - m_pendingClear.clear(); - } - if (session) - session->persist(); - } - Q_EMIT errorOccurred(message); -} - -void LlmClient::drainBuffer() { - while (true) { - const qsizetype newline = m_buffer.indexOf('\n'); - if (newline < 0) - break; - const QByteArray line = m_buffer.left(newline).trimmed(); - m_buffer.remove(0, newline + 1); - handleLine(line); - } -} - -void LlmClient::handleLine(const QByteArray& line) { - if (!m_streaming || line.isEmpty() || !line.startsWith("data:")) - return; - - const QByteArray data = line.mid(5).trimmed(); - if (data == "[DONE]") { - finalize(); - return; - } - - const QJsonDocument doc = QJsonDocument::fromJson(data); - if (!doc.isObject()) - return; - const QJsonObject obj = doc.object(); - updateTokenUsage(obj); - - if (obj.contains("error")) { - const QJsonObject error = obj["error"].toObject(); - const QString message = error["message"].toString(); - fail(message.isEmpty() - ? QStringLiteral("LLM server returned an error") - : message); - return; - } - - for (const QJsonValue& choiceValue : obj["choices"].toArray()) { - if (!m_streaming) - continue; - const QJsonObject delta = - choiceValue.toObject()["delta"].toObject(); - m_streaming->appendContent(delta["content"].toString()); - QString reasoning = delta["reasoning_content"].toString(); - if (reasoning.isEmpty()) - reasoning = delta["reasoning"].toString(); - m_streaming->appendReasoning(reasoning); - } -} - -void LlmClient::refreshModels() { - const QUrl url = - QUrl::fromUserInput(completionsPath(m_endpoint, "/models")); - if (!url.isValid() || url.host().isEmpty()) - return; - - auto* reply = m_manager.get(QNetworkRequest(url)); - connect(reply, &QNetworkReply::finished, this, [this, reply]() { - const QNetworkReply::NetworkError error = reply->error(); - const QByteArray data = reply->readAll(); - reply->deleteLater(); - - if (error != QNetworkReply::NoError) { - qWarning() << "LlmClient: failed to fetch models:" << error; - return; - } - const QJsonArray dataArr = - QJsonDocument::fromJson(data).object()["data"].toArray(); - - QStringList models; - QSet seen; - for (const QJsonValue& value : dataArr) { - const QString id = value.toObject()["id"].toString(); - if (!id.isEmpty() && !seen.contains(id)) { - seen.insert(id); - models.append(id); - } - } - if (models.isEmpty()) - return; - - m_availableModels = models; - Q_EMIT availableModelsChanged(); - - if (m_model.isEmpty()) { - m_model = models.first(); - Q_EMIT modelChanged(); - } - }); -} - -void LlmClient::setContextSize(int size) { - if (size <= 0 || m_contextSize == size) - return; - m_contextSize = size; - Q_EMIT contextSizeChanged(); -} - -void LlmClient::probeContextSize() { - // llama.cpp-specific endpoint; other servers fall back to 4096. - QString base = m_endpoint.trimmed(); - while (base.endsWith('/')) - base.chop(1); - const QUrl url = QUrl::fromUserInput(base + "/props"); - if (!url.isValid() || url.host().isEmpty()) - return; - - auto* reply = m_manager.get(QNetworkRequest(url)); - connect( - reply, - &QNetworkReply::finished, - this, - [this, reply]() { - const QNetworkReply::NetworkError error = reply->error(); - const QByteArray data = reply->readAll(); - reply->deleteLater(); - - int size = 0; - if (error == QNetworkReply::NoError) { - const QJsonDocument doc = QJsonDocument::fromJson(data); - if (doc.isArray()) { - for (const auto& value : doc.array()) { - const QJsonObject slot = value.toObject(); - if (slot.contains("n_ctx")) { - size = slot["n_ctx"].toInt(0); - if (size > 0) - break; - } - } - } else if (doc.isObject()) { - const QJsonObject obj = doc.object(); - size = obj["n_ctx"].toInt(0); - if (size <= 0) - size = obj["default_generation_settings"].toObject() - ["n_ctx"].toInt(0); - } - } - setContextSize(size > 0 ? size : 4096); - }); -} - -void LlmClient::updateTokenUsage(const QJsonObject& data) { - if (!m_active || m_contextSize <= 0) - return; - const QJsonObject usage = data["usage"].toObject(); - if (usage.isEmpty()) - return; - const double used = - usage.value("prompt_tokens").toDouble() + - usage.value("completion_tokens").toDouble(); - if (used > 0) - m_active->setLastTokenCount(static_cast(used)); -} - } // namespace ZShell::llm diff --git a/Plugins/ZShell/Llm/llmclient.hpp b/Plugins/ZShell/Llm/llmclient.hpp index 4f3f339..1397d57 100644 --- a/Plugins/ZShell/Llm/llmclient.hpp +++ b/Plugins/ZShell/Llm/llmclient.hpp @@ -1,11 +1,16 @@ #pragma once +#include "segment.hpp" +#include "tool.hpp" + #include +#include #include #include #include #include #include + #include class QJsonObject; @@ -15,9 +20,12 @@ namespace ZShell::llm { class ChatGeneration; class ChatSession; +class LlmSegment; +class LlmTool; // The only component that talks to the LLM server: owns the network -// manager, the in-flight streaming state and the SSE parsing. +// manager, the in-flight streaming state, the SSE parsing and the +// tool-calling loop. class LlmClient : public QObject { Q_OBJECT @@ -32,6 +40,7 @@ class LlmClient : public QObject { return m_availableModels; } [[nodiscard]] int contextSize() const { return m_contextSize; } + [[nodiscard]] ToolRegistry* tools() const { return m_tools; } void setEndpoint(const QString& value); void setModel(const QString& value); void setTemperature(double value); @@ -39,12 +48,16 @@ class LlmClient : public QObject { void probeContextSize(); [[nodiscard]] bool busy() const { return m_busy; } + [[nodiscard]] bool toolsEnabled() const { return m_tools->enabled(); } + void setToolsEnabled(bool value) { m_tools->setEnabled(value); } [[nodiscard]] QString streamingChatId() const { return m_streamingChatId; } [[nodiscard]] ChatSession* streamingSession() const { return m_active; } - // Streams a new assistant reply into `target` (the active generation of - // a message of `session`). The context sent to the model is every + // Streams a new assistant reply into `target` (the active generation + // of a message of `session`). The context sent to the model is every // message of the session that is older than the target message. + // Tool calls made by the model are executed and fed back + // transparently until the model produces its final answer. void startGeneration(ChatSession* session, ChatGeneration* target); void stop(); void endStream(); @@ -63,13 +76,39 @@ class LlmClient : public QObject { void modelChanged(); void availableModelsChanged(); void contextSizeChanged(); + void toolsEnabledChanged(); void streamingChatIdChanged(); void errorOccurred(const QString& message); void titleSuggested(ZShell::llm::ChatSession* session, const QString& title); void iconSuggested(ZShell::llm::ChatSession* session, const QString& icon); private: - void finalize(); + struct ToolCallBuilder { + QString id; + QString name; + QString arguments; + QPointer segment; + bool seen = false; + }; + + // Sends one streaming round: context + transcript so far. + void sendRound(); + // The session context for a round, oldest first, ending just before + // `stopBeforeRow` (the message of the generation being streamed). + QJsonArray buildContextMessages( + ChatSession* session, int stopBeforeRow) const; + void applyToolCallDelta(const QJsonObject& call); + // One round's stream ended; either ends the turn or executes the + // requested tool calls and sends the next round. Runs at most once + // per round ([DONE] and the reply's finished signal both reach it). + void roundFinished(); + // Dispatches every call of the round; tools run concurrently. + void executeAllCalls(); + // All results in: appends the tool messages (in call order) and + // sends the next round. + void flushCallResults(); + // Ends the current turn gracefully and persists the session. + void finishTurn(); void fail(const QString& message); void handleLine(const QByteArray& line); void drainBuffer(); @@ -86,6 +125,7 @@ class LlmClient : public QObject { const QByteArray& body, const QString& fallback); QNetworkAccessManager m_manager; + ToolRegistry* m_tools = nullptr; QNetworkReply* m_reply = nullptr; QByteArray m_buffer; ChatSession* m_active = nullptr; @@ -98,6 +138,23 @@ class LlmClient : public QObject { QStringList m_availableModels; double m_temperature = 0.7; int m_contextSize = 0; + + // State of the multi-round tool loop of the current turn. + QJsonArray m_transcript; + QList m_callBuilders; + struct ToolCallResult { + QString content; + bool success = false; + }; + QList m_callResults; + QString m_finishReason; + int m_round = 0; + qsizetype m_contentMark = 0; + qsizetype m_reasoningMark = 0; + bool m_roundDone = false; + bool m_toolPhase = false; + int m_pendingCalls = 0; + static constexpr int kMaxToolRounds = 12; }; } // namespace ZShell::llm diff --git a/Plugins/ZShell/Llm/markdownblock.hpp b/Plugins/ZShell/Llm/markdownblock.hpp new file mode 100644 index 0000000..cbc6408 --- /dev/null +++ b/Plugins/ZShell/Llm/markdownblock.hpp @@ -0,0 +1,28 @@ +#pragma once + +#include +#include + +namespace ZShell::llm { + +// Marker class exposing the LlmMarkdown block type enum to QML +// (LlmMarkdown.Type.*). Blocks themselves are value maps produced by +// MarkdownParser and stored on LlmSegment. +class LlmMarkdown : public QObject { + Q_OBJECT + QML_ELEMENT + QML_UNCREATABLE("Blocks are produced by LlmSegment") + + public: + enum class Type : int { + Text = 0, // Paragraph, list, quote, table; "text" is markdown source + Heading, // "level" + "text" (markdown source of the content) + Code, // "language" + "code" + Math // "latex" (display math, without the $$ delimiters) + }; + Q_ENUM(Type) + + explicit LlmMarkdown(QObject* parent = nullptr) : QObject(parent) {} +}; + +} // namespace ZShell::llm diff --git a/Plugins/ZShell/Llm/markdownparser.cpp b/Plugins/ZShell/Llm/markdownparser.cpp new file mode 100644 index 0000000..1203d72 --- /dev/null +++ b/Plugins/ZShell/Llm/markdownparser.cpp @@ -0,0 +1,144 @@ +#include "markdownparser.hpp" + +#include "markdownblock.hpp" + +#include +#include + +#include +#include +#include + +namespace ZShell::llm { + +QVariantList MarkdownParser::parse(const QString& source) { + QVariantList blocks; + if (source.trimmed().isEmpty()) + return blocks; + + const QStringList lines = source.split('\n'); + + // cmark-gfm line/column numbers are 1-based and inclusive. + auto sliceSource = [&](int startLine, int endLine) -> QString { + if (startLine < 1 || endLine < startLine) + return QString(); + const int from = startLine; + const int to = qMin(endLine, static_cast(lines.size())); + return lines.mid(from - 1, to - from + 1).join('\n').trimmed(); + }; + + const QByteArray utf8 = source.toUtf8(); + cmark_node* doc = cmark_parse_document( + utf8.constData(), static_cast(utf8.size()), + CMARK_OPT_DEFAULT | CMARK_OPT_SOURCEPOS); + if (!doc) + return blocks; + + // cmark-gfm has no math extension, so $$...$$ parses as an ordinary + // paragraph. Re-detect display math (a $$...$$ pair) here and split it + // out as its own block. Single-$ inline math is intentionally left + // untouched (rendered raw) for now. + const QRegularExpression mathRe( + QStringLiteral("\\$\\$(.+?)\\$\\$"), + QRegularExpression::DotMatchesEverythingOption); + + auto makeBlock = [](LlmMarkdown::Type type) { + QVariantMap block; + block.insert("type", static_cast(type)); + return block; + }; + + auto appendText = [&](const QString& text) { + if (text.trimmed().isEmpty()) + return; + QVariantMap block = makeBlock(LlmMarkdown::Type::Text); + block.insert("text", text); + blocks.append(block); + }; + + auto appendMath = [&](const QString& latex) { + if (latex.trimmed().isEmpty()) + return; + QVariantMap block = makeBlock(LlmMarkdown::Type::Math); + block.insert("latex", latex); + blocks.append(block); + }; + + auto appendCode = [&](const QString& language, const QString& code) { + QVariantMap block = makeBlock(LlmMarkdown::Type::Code); + block.insert("language", language); + block.insert("code", code); + blocks.append(block); + }; + + auto appendHeading = [&](int level, const QString& text) { + if (text.trimmed().isEmpty()) + return; + QVariantMap block = makeBlock(LlmMarkdown::Type::Heading); + block.insert("level", level); + block.insert("text", text); + blocks.append(block); + }; + + for (cmark_node* node = cmark_node_first_child(doc); node; + node = cmark_node_next(node)) { + const cmark_node_type type = cmark_node_get_type(node); + const int startLine = cmark_node_get_start_line(node); + const int endLine = cmark_node_get_end_line(node); + + if (type == CMARK_NODE_CODE_BLOCK) { + const char* literal = cmark_node_get_literal(node); + QString code = literal ? QString::fromUtf8(literal) : QString(); + // Fenced block literals carry a trailing newline; drop one. + if (code.endsWith('\n')) + code.chop(1); + + QString language; + if (const char* info = cmark_node_get_fence_info(node); info) + language = QString::fromUtf8(info).section(' ', 0, 0).trimmed().toLower(); + + appendCode(language, code); + continue; + } + + if (type == CMARK_NODE_HEADING) { + // Inline content only (no leading #), so QML can style by + // level. + const char* content = cmark_node_get_string_content(node); + appendHeading( + cmark_node_get_heading_level(node), + content ? QString::fromUtf8(content).trimmed() : QString()); + continue; + } + + if (type == CMARK_NODE_PARAGRAPH) { + const QString text = sliceSource(startLine, endLine); + int cursor = 0; + bool anyMath = false; + for (auto it = mathRe.globalMatch(text, cursor); it.hasNext(); + it = mathRe.globalMatch(text, cursor)) { + const QRegularExpressionMatch m = it.next(); + anyMath = true; + appendText( + text.mid(cursor, static_cast(m.capturedStart() - cursor))); + appendMath(m.captured(1).trimmed()); + cursor = static_cast(m.capturedEnd()); + } + if (!anyMath) + appendText(text); + else + appendText(text.mid(cursor)); + continue; + } + + // Lists, block quotes, tables, horizontal rules, custom blocks: + // hand the raw markdown source to QML (rendered via + // Text.MarkdownText). + appendText(sliceSource(startLine, endLine)); + } + + cmark_node_free(doc); + return blocks; +} + +} // namespace ZShell::llm diff --git a/Plugins/ZShell/Llm/markdownparser.hpp b/Plugins/ZShell/Llm/markdownparser.hpp new file mode 100644 index 0000000..ea739d7 --- /dev/null +++ b/Plugins/ZShell/Llm/markdownparser.hpp @@ -0,0 +1,25 @@ +#pragma once + +#include +#include + +namespace ZShell::llm { + +// Splits a markdown document into top-level blocks for QML rendering +// (cmark-gfm AST walk). Inline structure is not flattened; Text and +// Heading blocks carry markdown source that QML renders with +// Text.MarkdownText. +// +// Block map keys: +// "type" int (LlmMarkdown::Type) +// "level" int (Heading) +// "language" QString (Code, lowercased, empty when unknown) +// "code" QString (Code) +// "text" QString (Text/Heading, markdown source) +// "latex" QString (Math, without the $$ delimiters) +class MarkdownParser { + public: + [[nodiscard]] static QVariantList parse(const QString& source); +}; + +} // namespace ZShell::llm diff --git a/Plugins/ZShell/Llm/mathtext.cpp b/Plugins/ZShell/Llm/mathtext.cpp new file mode 100644 index 0000000..4b87f30 --- /dev/null +++ b/Plugins/ZShell/Llm/mathtext.cpp @@ -0,0 +1,176 @@ +#include "mathtext.hpp" + +#include "latinmodern-fonts.hpp" + +#include + +#include +#include +#include +#include + +namespace ZShell::llm { + +namespace { +// A few px of breathing room around the equation. +constexpr int kRenderMargin = 2; +constexpr unsigned int kResolutionDpi = 96; + +// Registers the embedded Latin Modern faces with the font database +// (once per process) and reports which families became available. +struct LatinModern { + bool roman = false; + bool math = false; +}; + +const LatinModern& loadLatinModern() { + static const LatinModern fonts = [] { + LatinModern result; + // addApplicationFont(QByteArray) fails in this environment, so + // the embedded bytes are staged to a per-process temp file and + // registered through the (stable) file-based API. + const auto add = [](const unsigned char* data, size_t size, + const QString& fileName, const QString& family) { + const QString path = QDir::tempPath() + QLatin1Char('/') + fileName; + { + QFile f(path); + if (!f.open(QIODevice::WriteOnly) || + f.write(reinterpret_cast(data), + static_cast(size)) != static_cast(size)) + return false; + } + const int key = QFontDatabase::addApplicationFont(path); + if (key < 0) + return false; + return QFontDatabase::applicationFontFamilies(key).contains(family); + }; + result.roman = + add(lmfont::lmroman10_regular, sizeof(lmfont::lmroman10_regular), + QStringLiteral("lmroman10-regular.otf"), QStringLiteral("LMRoman10")) + && add(lmfont::lmroman10_italic, sizeof(lmfont::lmroman10_italic), + QStringLiteral("lmroman10-italic.otf"), QStringLiteral("LMRoman10")) + && add(lmfont::lmroman10_bold, sizeof(lmfont::lmroman10_bold), + QStringLiteral("lmroman10-bold.otf"), QStringLiteral("LMRoman10")) + && add(lmfont::lmroman10_bolditalic, sizeof(lmfont::lmroman10_bolditalic), + QStringLiteral("lmroman10-bolditalic.otf"), + QStringLiteral("LMRoman10")); + result.math = add( + lmfont::latinmodern_math, sizeof(lmfont::latinmodern_math), + QStringLiteral("latinmodern-math.otf"), QStringLiteral("Latin Modern Math")); + return result; + }(); + return fonts; +} + +} // namespace + +LlmMathText::LlmMathText(QObject* parent) +: QObject(parent), m_renderer(parent, /* useFontsForGUI */ true) { + // Latin Modern is the default font of modern LaTeX; use the embedded + // faces instead of whatever the system happens to have installed. + const LatinModern& fonts = loadLatinModern(); + if (fonts.roman) + m_renderer.setFontRomanAndMath(QStringLiteral("LMRoman10"), + JKQTMathTextFontEncoding::MTFEUnicode); + if (fonts.math) { + // Same pattern as JKQTMathText's useXITS(): the OpenType math + // font supplies the math alphabet and operators from its MATH + // table. + m_renderer.setFontMathRoman(QStringLiteral("Latin Modern Math"), + JKQTMathTextFontEncoding::MTFEUnicode); + m_renderer.setFallbackFontSymbols( + QStringLiteral("Latin Modern Math"), + JKQTMathTextFontEncoding::MTFEUnicode); + } +} + +void LlmMathText::setLatex(const QString& value) { + if (m_latex == value) + return; + m_latex = value; + reRender(); +} + +void LlmMathText::setColor(const QColor& value) { + if (m_color == value) + return; + m_color = value; + reRender(); +} + +void LlmMathText::setFontPointSize(double value) { + if (qFuzzyCompare(m_fontPointSize, value)) + return; + m_fontPointSize = value; + reRender(); +} + +void LlmMathText::setDevicePixelRatio(qreal value) { + if (qFuzzyCompare(m_devicePixelRatio, value)) + return; + m_devicePixelRatio = value; + reRender(); +} + +void LlmMathText::reRender() { + if (m_latex.trimmed().isEmpty()) { + m_image = QImage(); + m_imageUrl = QUrl(); + m_width = 0; + m_height = 0; + m_ok = false; + Q_EMIT changed(); + return; + } + + m_renderer.setFontPointSize(m_fontPointSize); + m_renderer.setFontColor(m_color); + + const bool ok = m_renderer.parse( + m_latex, + JKQTMathText::LatexParser, + JKQTMathText::DefaultParseOptions); + if (!ok) { + m_image = QImage(); + m_imageUrl = QUrl(); + m_width = 0; + m_height = 0; + m_ok = false; + Q_EMIT changed(); + return; + } + + const QImage image = m_renderer.drawIntoImage( + /* drawBoxes */ false, + QColor(Qt::transparent), + kRenderMargin, + m_devicePixelRatio, + kResolutionDpi); + if (image.isNull()) { + m_image = QImage(); + m_imageUrl = QUrl(); + m_width = 0; + m_height = 0; + m_ok = false; + Q_EMIT changed(); + return; + } + + m_image = image; + QByteArray png; + { + QBuffer buffer(&png); + buffer.open(QIODevice::WriteOnly); + image.save(&buffer, "PNG"); + } + m_imageUrl = QUrl( + QStringLiteral("data:image/png;base64,") + QString::fromLatin1(png.toBase64())); + // drawIntoImage renders at devicePixelRatio; convert back to + // logical pixels. + m_width = image.width() / m_devicePixelRatio; + m_height = image.height() / m_devicePixelRatio; + m_ok = true; + Q_EMIT changed(); +} + +} // namespace ZShell::llm diff --git a/Plugins/ZShell/Llm/mathtext.hpp b/Plugins/ZShell/Llm/mathtext.hpp new file mode 100644 index 0000000..3b713fc --- /dev/null +++ b/Plugins/ZShell/Llm/mathtext.hpp @@ -0,0 +1,72 @@ +#pragma once + +#include +#include +#include +#include +#include +#include + +#include + +namespace ZShell::llm { + +// QML wrapper around JKQTMathText (JKQtPlotter's LaTeX renderer). +// +// Parses a display-math string and renders it into a transparent +// QImage at the given device pixel ratio. QML displays the image +// (scaling it to the bubble width when needed) and falls back to the +// raw LaTeX when parsing fails. +class LlmMathText : public QObject { + Q_OBJECT + QML_ELEMENT + + Q_PROPERTY(QString latex READ latex WRITE setLatex NOTIFY changed) + Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY changed) + Q_PROPERTY(double fontPointSize READ fontPointSize WRITE setFontPointSize NOTIFY changed) + Q_PROPERTY(qreal devicePixelRatio READ devicePixelRatio WRITE setDevicePixelRatio NOTIFY changed) + Q_PROPERTY(QImage image READ image NOTIFY changed) + // data: URL of the rendered equation; usable directly as + // Image.source (a raw QImage is not). + Q_PROPERTY(QUrl imageUrl READ imageUrl NOTIFY changed) + // Logical (CSS pixel) size of the rendered equation. + Q_PROPERTY(qreal width READ width NOTIFY changed) + Q_PROPERTY(qreal height READ height NOTIFY changed) + Q_PROPERTY(bool ok READ ok NOTIFY changed) + + public: + explicit LlmMathText(QObject* parent = nullptr); + + [[nodiscard]] QString latex() const { return m_latex; } + void setLatex(const QString& value); + [[nodiscard]] QColor color() const { return m_color; } + void setColor(const QColor& value); + [[nodiscard]] double fontPointSize() const { return m_fontPointSize; } + void setFontPointSize(double value); + [[nodiscard]] qreal devicePixelRatio() const { return m_devicePixelRatio; } + void setDevicePixelRatio(qreal value); + [[nodiscard]] QImage image() const { return m_image; } + [[nodiscard]] QUrl imageUrl() const { return m_imageUrl; } + [[nodiscard]] qreal width() const { return m_width; } + [[nodiscard]] qreal height() const { return m_height; } + [[nodiscard]] bool ok() const { return m_ok; } + + Q_SIGNALS: + void changed(); + + private: + void reRender(); + + JKQTMathText m_renderer; + QString m_latex; + QColor m_color; + double m_fontPointSize = 12.0; + qreal m_devicePixelRatio = 1.0; + QImage m_image; + QUrl m_imageUrl; + qreal m_width = 0; + qreal m_height = 0; + bool m_ok = false; +}; + +} // namespace ZShell::llm diff --git a/Plugins/ZShell/Llm/message.cpp b/Plugins/ZShell/Llm/message.cpp index b0cde7c..6c5f2b5 100644 --- a/Plugins/ZShell/Llm/message.cpp +++ b/Plugins/ZShell/Llm/message.cpp @@ -18,16 +18,8 @@ ChatSession* sessionOf(const ChatMessage* message) { ChatMessage::ChatMessage(Role role, qint64 timestamp, QObject* parent) : QObject(parent), m_role(role), m_timestamp(timestamp) {} -ChatGeneration* ChatMessage::addGeneration( - qint64 timestamp, - const QString& content, - const QString& reasoning, - qint64 reasoningElapsedMs, - qint64 contentElapsedMs) { +ChatGeneration* ChatMessage::addGeneration(qint64 timestamp) { auto* generation = new ChatGeneration(timestamp, this); - generation->setContent(content); - generation->setReasoning(reasoning); - generation->setElapsedMs(reasoningElapsedMs, contentElapsedMs); m_generations.append(generation); if (m_active < 0) m_active = static_cast(m_generations.size() - 1); @@ -36,8 +28,7 @@ ChatGeneration* ChatMessage::addGeneration( } ChatGeneration* ChatMessage::appendGeneration(qint64 timestamp) { - auto* generation = - addGeneration(timestamp, QString(), QString(), 0, 0); + auto* generation = addGeneration(timestamp); setActiveInternal(static_cast(m_generations.size() - 1)); return generation; } diff --git a/Plugins/ZShell/Llm/message.hpp b/Plugins/ZShell/Llm/message.hpp index 19abc4a..5fbaaf5 100644 --- a/Plugins/ZShell/Llm/message.hpp +++ b/Plugins/ZShell/Llm/message.hpp @@ -58,12 +58,8 @@ class ChatMessage : public QObject { Q_INVOKABLE void retry(); Q_INVOKABLE void generate(); - ChatGeneration* addGeneration( - qint64 timestamp, - const QString& content, - const QString& reasoning, - qint64 reasoningElapsedMs, - qint64 contentElapsedMs); + // Creates an empty generation; callers fill it with segments. + ChatGeneration* addGeneration(qint64 timestamp); ChatGeneration* appendGeneration(qint64 timestamp); void removeGeneration(ChatGeneration* generation); diff --git a/Plugins/ZShell/Llm/messagemodel.cpp b/Plugins/ZShell/Llm/messagemodel.cpp index 03f40b8..534c409 100644 --- a/Plugins/ZShell/Llm/messagemodel.cpp +++ b/Plugins/ZShell/Llm/messagemodel.cpp @@ -44,7 +44,8 @@ ChatMessage* ChatMessageModel::createMessage( ChatMessage* ChatMessageModel::appendNewest( ChatMessage::Role role, const QString& content, qint64 timestamp) { auto* message = new ChatMessage(role, timestamp, this); - message->addGeneration(timestamp, content, QString(), 0, 0); + auto* generation = message->addGeneration(timestamp); + generation->setContent(content); beginInsertRows(QModelIndex(), 0, 0); m_messages.prepend(message); diff --git a/Plugins/ZShell/Llm/segment.cpp b/Plugins/ZShell/Llm/segment.cpp new file mode 100644 index 0000000..c0a66a0 --- /dev/null +++ b/Plugins/ZShell/Llm/segment.cpp @@ -0,0 +1,138 @@ +#include "segment.hpp" + +#include "markdownparser.hpp" + +#include + +namespace ZShell::llm { + +namespace { +// Re-parse cadence while a segment streams; content between refreshes is +// at most this stale. +constexpr int kMarkdownRefreshMs = 150; +} // namespace + +LlmSegment::LlmSegment(Type type, qint64 timestamp, QObject* parent) +: QObject(parent), m_type(type), m_timestamp(timestamp) { + m_markdownTimer.setInterval(kMarkdownRefreshMs); + connect( + &m_markdownTimer, &QTimer::timeout, this, [this]() { + if (!m_markdownDirty) + return; + m_markdownDirty = false; + parseMarkdown(); + }); +} + +qint64 LlmSegment::elapsedMs() const { + if (m_startedAt <= 0) + return 0; + const qint64 end = m_endedAt > 0 ? m_endedAt + : QDateTime::currentMSecsSinceEpoch(); + return end - m_startedAt; +} + +void LlmSegment::begin() { + if (m_running) + return; + m_running = true; + m_startedAt = QDateTime::currentMSecsSinceEpoch(); + m_endedAt = 0; + Q_EMIT runningChanged(); + Q_EMIT elapsedMsChanged(); +} + +void LlmSegment::close() { + if (m_running) { + m_running = false; + m_endedAt = QDateTime::currentMSecsSinceEpoch(); + Q_EMIT runningChanged(); + Q_EMIT elapsedMsChanged(); + } + // The segment is final; parse immediately so the UI does not wait + // out the debounce. + if (m_type == Type::Content && m_markdownDirty) { + m_markdownTimer.stop(); + parseMarkdown(); + } +} + +void LlmSegment::appendText(const QString& piece) { + if (piece.isEmpty()) + return; + m_text += piece; + Q_EMIT textChanged(); + scheduleMarkdown(); +} + +void LlmSegment::setText(const QString& value) { + if (m_text == value) + return; + m_text = value; + Q_EMIT textChanged(); + scheduleMarkdown(); +} + +void LlmSegment::setName(const QString& value) { + if (m_name == value) + return; + m_name = value; + Q_EMIT nameChanged(); +} + +void LlmSegment::setToolCallId(const QString& value) { + if (m_toolCallId == value) + return; + m_toolCallId = value; + Q_EMIT toolCallIdChanged(); +} + +void LlmSegment::appendArguments(const QString& piece) { + if (piece.isEmpty()) + return; + m_arguments += piece; + Q_EMIT argumentsChanged(); +} + +void LlmSegment::setResult(const QString& value) { + if (m_result == value) + return; + m_result = value; + Q_EMIT resultChanged(); +} + +void LlmSegment::setStatus(Status value) { + if (m_status == value) + return; + m_status = value; + Q_EMIT statusChanged(); +} + +void LlmSegment::finishTool(const QString& resultText, bool success) { + setResult(resultText); + setStatus(success ? Status::Success : Status::Error); + close(); +} + +void LlmSegment::restore(qint64 elapsedMs) { + m_startedAt = m_timestamp; + m_endedAt = m_timestamp + qMax(0, elapsedMs); +} + +void LlmSegment::scheduleMarkdown() { + // Content segments only; reasoning/tool output is never parsed. + // (User content is parsed too, so it can later be rendered as blocks + // as well; the QML currently only does that for assistant messages.) + if (m_type != Type::Content) + return; + m_markdownDirty = true; + if (!m_markdownTimer.isActive()) + m_markdownTimer.start(); +} + +void LlmSegment::parseMarkdown() { + m_markdown = MarkdownParser::parse(m_text); + Q_EMIT markdownChanged(); +} + +} // namespace ZShell::llm diff --git a/Plugins/ZShell/Llm/segment.hpp b/Plugins/ZShell/Llm/segment.hpp new file mode 100644 index 0000000..9033e32 --- /dev/null +++ b/Plugins/ZShell/Llm/segment.hpp @@ -0,0 +1,113 @@ +#pragma once + +#include +#include +#include +#include +#include + +namespace ZShell::llm { + +// One unit of activity within a ChatGeneration. A generation keeps its +// segments in chronological order: zero or more reasoning bursts and +// tool calls interleaved, plus at most one content segment holding the +// final answer. +class LlmSegment : public QObject { + Q_OBJECT + QML_ELEMENT + QML_UNCREATABLE("Segments are managed by ChatGeneration") + + Q_PROPERTY(Type type READ type CONSTANT) + Q_PROPERTY(qint64 timestamp READ timestamp CONSTANT) + Q_PROPERTY(QString text READ text NOTIFY textChanged) + Q_PROPERTY(QString name READ name NOTIFY nameChanged) + Q_PROPERTY(QString toolCallId READ toolCallId NOTIFY toolCallIdChanged) + Q_PROPERTY(QString arguments READ arguments NOTIFY argumentsChanged) + Q_PROPERTY(QString result READ result NOTIFY resultChanged) + Q_PROPERTY(Status status READ status NOTIFY statusChanged) + Q_PROPERTY(bool running READ running NOTIFY runningChanged) + Q_PROPERTY(qint64 elapsedMs READ elapsedMs NOTIFY elapsedMsChanged) + // Parsed markdown blocks (QVariantList of maps, see MarkdownParser). + // Only Content segments are parsed. Refreshes are debounced so a + // streaming segment re-parses at a steady cadence rather than per + // chunk. + Q_PROPERTY(QVariantList markdown READ markdown NOTIFY markdownChanged) + + public: + enum class Type : int { + Reasoning = 0, + ToolCall, + Content + }; + Q_ENUM(Type) + + enum class Status : int { + None = 0, + Running, + Success, + Error + }; + Q_ENUM(Status) + + explicit LlmSegment(Type type, qint64 timestamp, QObject* parent = nullptr); + + [[nodiscard]] Type type() const { return m_type; } + [[nodiscard]] qint64 timestamp() const { return m_timestamp; } + [[nodiscard]] QString text() const { return m_text; } + [[nodiscard]] QString name() const { return m_name; } + [[nodiscard]] QString toolCallId() const { return m_toolCallId; } + [[nodiscard]] QString arguments() const { return m_arguments; } + [[nodiscard]] QString result() const { return m_result; } + [[nodiscard]] Status status() const { return m_status; } + [[nodiscard]] bool running() const { return m_running; } + [[nodiscard]] qint64 elapsedMs() const; + [[nodiscard]] QVariantList markdown() const { return m_markdown; } + + // Starts the segment's clock; a no-op while already running. + void begin(); + // Stops the segment's clock; a no-op when not running. + void close(); + void appendText(const QString& piece); + void setText(const QString& value); + void setName(const QString& value); + void setToolCallId(const QString& value); + void appendArguments(const QString& piece); + void setResult(const QString& value); + void setStatus(Status value); + // Completes a tool call with the model-facing result text. + void finishTool(const QString& resultText, bool success); + // Restores persisted timing without a live clock. + void restore(qint64 elapsedMs); + + Q_SIGNALS: + void textChanged(); + void markdownChanged(); + void nameChanged(); + void toolCallIdChanged(); + void argumentsChanged(); + void resultChanged(); + void statusChanged(); + void runningChanged(); + void elapsedMsChanged(); + + private: + void scheduleMarkdown(); + void parseMarkdown(); + + Type m_type; + qint64 m_timestamp; + QString m_text; + QString m_name; + QString m_toolCallId; + QString m_arguments; + QString m_result; + Status m_status = Status::None; + bool m_running = false; + qint64 m_startedAt = 0; + qint64 m_endedAt = 0; + QVariantList m_markdown; + QTimer m_markdownTimer; + bool m_markdownDirty = false; +}; + +} // namespace ZShell::llm diff --git a/Plugins/ZShell/Llm/tool.cpp b/Plugins/ZShell/Llm/tool.cpp new file mode 100644 index 0000000..15a9c25 --- /dev/null +++ b/Plugins/ZShell/Llm/tool.cpp @@ -0,0 +1,59 @@ +#include "tool.hpp" + +namespace ZShell::llm { + +LlmTool::LlmTool(QObject* parent) : QObject(parent) {} + +LlmTool::~LlmTool() = default; + +void LlmTool::cancel() {} + +QJsonObject LlmTool::specification() const { + QJsonObject function; + function[QStringLiteral("name")] = name(); + function[QStringLiteral("description")] = description(); + function[QStringLiteral("parameters")] = parameters(); + QJsonObject spec; + spec[QStringLiteral("type")] = QStringLiteral("function"); + spec[QStringLiteral("function")] = function; + return spec; +} + +ToolRegistry::ToolRegistry(QObject* parent) : QObject(parent) {} + +void ToolRegistry::setEnabled(bool value) { + if (m_enabled == value) + return; + m_enabled = value; + Q_EMIT enabledChanged(); +} + +void ToolRegistry::registerTool(LlmTool* tool) { + if (!tool || m_tools.contains(tool)) + return; + tool->setParent(this); + m_tools.append(tool); +} + +LlmTool* ToolRegistry::tool(const QString& name) const { + for (const auto* tool : m_tools) + if (tool->name() == name) + return const_cast(tool); + return nullptr; +} + +QJsonArray ToolRegistry::specifications() const { + if (!m_enabled) + return {}; + QJsonArray specs; + for (const auto* tool : m_tools) + specs.append(tool->specification()); + return specs; +} + +void ToolRegistry::cancelAll() { + for (auto* tool : m_tools) + tool->cancel(); +} + +} // namespace ZShell::llm diff --git a/Plugins/ZShell/Llm/tool.hpp b/Plugins/ZShell/Llm/tool.hpp new file mode 100644 index 0000000..ef2195c --- /dev/null +++ b/Plugins/ZShell/Llm/tool.hpp @@ -0,0 +1,70 @@ +#pragma once + +#include +#include +#include +#include +#include + +#include + +namespace ZShell::llm { + +// A capability the model may invoke mid-turn. Tools run asynchronously +// and report exactly one result: `{"output": ...}` on success or +// `{"error": ...}` on failure. +class LlmTool : public QObject { + Q_OBJECT + + public: + explicit LlmTool(QObject* parent = nullptr); + ~LlmTool() override; + + [[nodiscard]] virtual QString name() const = 0; + [[nodiscard]] virtual QString description() const = 0; + // JSON Schema describing the tool's `arguments` object. + [[nodiscard]] virtual QJsonObject parameters() const = 0; + + // Runs the tool; `done` is invoked exactly once, with + // `{"output": ...}` on success or `{"error": ...}` on failure. + // `done` must be invoked asynchronously (on a later event loop + // iteration), never synchronously within execute(). + virtual void execute( + const QJsonObject& args, + std::function done) = 0; + // Abandons in-flight work, if any. + virtual void cancel(); + + // The OpenAI-compatible `tools` entry for this tool. + [[nodiscard]] QJsonObject specification() const; +}; + +// Owns the set of tools available to the model. +class ToolRegistry : public QObject { + Q_OBJECT + + Q_PROPERTY(bool enabled READ enabled WRITE setEnabled NOTIFY enabledChanged) + + public: + explicit ToolRegistry(QObject* parent = nullptr); + + [[nodiscard]] bool enabled() const { return m_enabled; } + void setEnabled(bool value); + + // Takes ownership; tools become children of the registry. + void registerTool(LlmTool* tool); + [[nodiscard]] LlmTool* tool(const QString& name) const; + // The request body's `tools` array; empty while disabled. + [[nodiscard]] QJsonArray specifications() const; + // Abandons in-flight work in every tool. + void cancelAll(); + + Q_SIGNALS: + void enabledChanged(); + + private: + bool m_enabled = true; + QList m_tools; +}; + +} // namespace ZShell::llm diff --git a/Plugins/ZShell/Llm/webfetchtool.cpp b/Plugins/ZShell/Llm/webfetchtool.cpp new file mode 100644 index 0000000..bc573f8 --- /dev/null +++ b/Plugins/ZShell/Llm/webfetchtool.cpp @@ -0,0 +1,428 @@ +#include "webfetchtool.hpp" + +#include +#include +#include +#include +#include + +namespace ZShell::llm { + +namespace { + +const char* kUserAgent = + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " + "(KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"; + +QJsonObject makeOutput(const QString& text) { + QJsonObject obj; + obj[QStringLiteral("output")] = text; + return obj; +} + +QJsonObject makeError(const QString& message) { + QJsonObject obj; + obj[QStringLiteral("error")] = message; + return obj; +} + +} // namespace + +WebFetchTool::WebFetchTool(QObject* parent) : LlmTool(parent) {} + +WebFetchTool::~WebFetchTool() { + for (auto* job : m_jobs) { + if (job->timer) + job->timer->stop(); + if (job->reply) + job->reply->abort(); + } + // Pending result callbacks are dropped; the client is going away. + qDeleteAll(m_jobs); +} + +QString WebFetchTool::name() const { + return QStringLiteral("webfetch"); +} + +QString WebFetchTool::description() const { + return QStringLiteral( + "Fetch content from an HTTP or HTTPS URL and return it as plain " + "text or raw HTML. HTML pages are reduced to their visible text " + "by default. This tool is read-only."); +} + +QJsonObject WebFetchTool::parameters() const { + QJsonObject url; + url[QStringLiteral("type")] = QStringLiteral("string"); + url[QStringLiteral("description")] = + QStringLiteral("The HTTP or HTTPS URL to fetch content from"); + + QJsonArray formats; + formats.append(QStringLiteral("text")); + formats.append(QStringLiteral("html")); + QJsonObject format; + format[QStringLiteral("type")] = QStringLiteral("string"); + format[QStringLiteral("enum")] = formats; + format[QStringLiteral("description")] = + QStringLiteral("The format to return the content in. Defaults to " + "text."); + + QJsonObject timeout; + timeout[QStringLiteral("type")] = QStringLiteral("integer"); + timeout[QStringLiteral("minimum")] = 1; + timeout[QStringLiteral("maximum")] = MaxTimeoutSeconds; + timeout[QStringLiteral("description")] = + QStringLiteral("Optional timeout in seconds"); + + QJsonObject properties; + properties[QStringLiteral("url")] = url; + properties[QStringLiteral("format")] = format; + properties[QStringLiteral("timeout")] = timeout; + + QJsonObject schema; + schema[QStringLiteral("type")] = QStringLiteral("object"); + schema[QStringLiteral("properties")] = properties; + QJsonArray required; + required.append(QStringLiteral("url")); + schema[QStringLiteral("required")] = required; + return schema; +} + +void WebFetchTool::completeJob(Job* job, QJsonObject result) { + // Deliver on a later event loop iteration; LlmClient relies on tool + // results never arriving synchronously within execute(). + QMetaObject::invokeMethod( + this, + [this, job, result = std::move(result)]() mutable { + if (!m_jobs.contains(job)) + return; + auto done = std::move(job->done); + m_jobs.removeAll(job); + job->timer->deleteLater(); + if (job->reply) + job->reply->deleteLater(); + delete job; + done(std::move(result)); + }, + Qt::QueuedConnection); +} + +void WebFetchTool::execute( + const QJsonObject& args, std::function done) { + auto* job = new Job; + job->done = std::move(done); + m_jobs.append(job); + + auto fail = [this, job](const QString& message) { + job->timer->stop(); + completeJob(job, makeError(message)); + }; + + const QString urlText = args[QStringLiteral("url")].toString().trimmed(); + const QUrl url = QUrl::fromUserInput(urlText); + if (!url.isValid() || url.host().isEmpty()) { + fail(QStringLiteral("Invalid URL: %1").arg(urlText)); + return; + } + if (url.scheme() != QLatin1String("http") && + url.scheme() != QLatin1String("https")) { + fail(QStringLiteral("URL must use http:// or https://")); + return; + } + + job->format = + args[QStringLiteral("format")].toString(QStringLiteral("text")); + if (job->format != QLatin1String("html")) + job->format = QStringLiteral("text"); + + const int timeoutMs = qBound( + 1, + args[QStringLiteral("timeout")].toInt( + DefaultTimeoutSeconds), + MaxTimeoutSeconds) * + 1000; + + job->timer = new QTimer(this); + job->timer->setSingleShot(true); + connect( + job->timer, &QTimer::timeout, this, [this, job]() { + if (job->reply) + job->reply->abort(); + }); + job->timer->start(timeoutMs); + + QNetworkRequest request(url); + request.setRawHeader("User-Agent", QByteArray(kUserAgent)); + request.setRawHeader( + "Accept", + job->format == QLatin1String("html") + ? "text/html;q=1.0, application/xhtml+xml;q=0.9, */*;q=0.1" + : "text/plain;q=1.0, text/markdown;q=0.9, text/html;q=0.8, " + "*/*;q=0.1"); + request.setRawHeader("Accept-Language", "en-US,en;q=0.9"); + + job->reply = m_manager.get(request); + connect(job->reply, &QNetworkReply::readyRead, this, [this, job]() { + if (!job->reply) + return; + job->body += job->reply->readAll(); + if (job->body.size() > MaxResponseBytes) { + job->tooLarge = true; + job->reply->abort(); + } + }); + connect(job->reply, &QNetworkReply::finished, this, [this, job]() { + QNetworkReply* reply = job->reply; + job->reply = nullptr; + job->timer->stop(); + if (!reply) + return; + + const QNetworkReply::NetworkError error = reply->error(); + const QString errorString = reply->errorString(); + QByteArray body = job->body; + body += reply->readAll(); + job->body.clear(); + const QByteArray contentType = + reply->rawHeader("Content-Type").toLower(); + const int status = + reply->attribute(QNetworkRequest::HttpStatusCodeAttribute) + .toInt(); + + if (job->tooLarge) { + completeJob(job, makeError( + QStringLiteral("Response too large (exceeds the 5 MB " + "limit"))); + return; + } + if (error != QNetworkReply::NoError) { + completeJob( + job, + makeError( + QStringLiteral("Request failed: %1").arg(errorString))); + return; + } + if (status < 200 || status >= 300) { + completeJob( + job, + makeError( + QStringLiteral("Server returned status %1") + .arg(status))); + return; + } + + const QString mime = + QString::fromLatin1(contentType).section(QLatin1Char(';'), 0, 0) + .trimmed(); + if (mime.startsWith(QLatin1String("image/"))) { + completeJob( + job, + makeError( + QStringLiteral( + "Unsupported fetched image content type: %1") + .arg(mime))); + return; + } + const bool textual = mime.isEmpty() || + mime.startsWith(QLatin1String("text/")) || + mime == QLatin1String("application/json") || + mime.endsWith(QLatin1String("+json")) || + mime == QLatin1String("application/xml") || + mime.endsWith(QLatin1String("+xml")) || + mime.startsWith(QLatin1String("application/javascript")) || + mime.startsWith(QLatin1String("text/javascript")); + if (!textual) { + completeJob( + job, + makeError( + QStringLiteral( + "Unsupported fetched file content type: %1") + .arg(mime))); + return; + } + + QString content = QString::fromUtf8(body); + if (mime.contains(QLatin1String("text/html")) && + job->format == QLatin1String("text")) + content = extractTextFromHtml(content); + if (content.size() > MaxOutputChars) + content = content.left(MaxOutputChars) + + QStringLiteral("\n[... truncated ...]"); + completeJob(job, makeOutput(content)); + }); +} + +void WebFetchTool::cancel() { + for (auto* job : m_jobs) { + job->timer->stop(); + if (job->reply) + job->reply->abort(); + } +} + +QString WebFetchTool::decodeEntities(const QString& text) { + if (!text.contains(QLatin1Char('&'))) + return text; + QString out; + out.reserve(text.size()); + for (qsizetype i = 0; i < text.size(); ++i) { + if (text.at(i) != QLatin1Char('&')) { + out += text.at(i); + continue; + } + const qsizetype semi = text.indexOf(QLatin1Char(';'), i); + if (semi < 0 || semi - i > 12) { + out += QLatin1Char('&'); + continue; + } + const QString entity = text.mid(i + 1, semi - i - 1); + QString replacement; + if (entity == QLatin1String("amp")) + replacement = QLatin1Char('&'); + else if (entity == QLatin1String("lt")) + replacement = QLatin1Char('<'); + else if (entity == QLatin1String("gt")) + replacement = QLatin1Char('>'); + else if (entity == QLatin1String("quot")) + replacement = QLatin1Char('"'); + else if (entity == QLatin1String("apos")) + replacement = QLatin1Char('\''); + else if (entity == QLatin1String("nbsp")) + replacement = QLatin1Char(' '); + else { + bool ok = false; + const quint32 codePoint = entity.startsWith(QLatin1String("#x")) || + entity.startsWith(QLatin1String("#X")) + ? entity.mid(2).toUInt(&ok, 16) + : entity.toUInt(&ok); + if (ok && codePoint != 0) { + const char32_t ucs4[2] = { + static_cast(codePoint), + 0, + }; + replacement = QString::fromUcs4(ucs4); + } + } + if (replacement.isEmpty()) { + out += QLatin1Char('&'); + continue; + } + out += replacement; + i = semi; + } + return out; +} + +QString WebFetchTool::extractTextFromHtml(const QString& html) { + static const QSet kSkipTags = { + QStringLiteral("noscript"), + QStringLiteral("iframe"), + QStringLiteral("object"), + QStringLiteral("head"), + }; + static const QSet kRawTags = { + QStringLiteral("script"), + QStringLiteral("style"), + }; + static const QSet kVoidTags = { + QStringLiteral("area"), QStringLiteral("base"), + QStringLiteral("br"), QStringLiteral("col"), + QStringLiteral("embed"), QStringLiteral("hr"), + QStringLiteral("img"), QStringLiteral("input"), + QStringLiteral("link"), QStringLiteral("meta"), + QStringLiteral("source"), QStringLiteral("track"), + QStringLiteral("wbr"), + }; + + QString text; + text.reserve(html.size() / 2); + int skipDepth = 0; + qsizetype i = 0; + while (i < html.size()) { + const qsizetype open = html.indexOf(QLatin1Char('<'), i); + if (open < 0) { + if (skipDepth == 0) + text += html.mid(i); + break; + } + if (skipDepth == 0) + text += html.mid(i, open - i); + const qsizetype close = html.indexOf(QLatin1Char('>'), open); + if (close < 0) + break; + const QString tag = + html.mid(open + 1, close - open - 1).trimmed().toLower(); + i = close + 1; + + if (tag.startsWith(QLatin1Char('!')) || + tag.startsWith(QLatin1Char('?'))) + continue; + + QString name = tag; + if (name.startsWith(QLatin1Char('/'))) { + if (skipDepth > 0) + --skipDepth; + continue; + } + qsizetype j = 0; + while (j < name.size() && + (name.at(j).isLetterOrNumber() || + name.at(j) == QLatin1Char(':') || + name.at(j) == QLatin1Char('-'))) + ++j; + name = name.left(j); + + if (kRawTags.contains(name)) { + // Raw-text element: swallow everything up to its close tag. + const qsizetype rawEnd = + html.indexOf(QStringLiteral("'), rawEnd); + if (rawClose < 0) + break; + i = rawClose + 1; + continue; + } + if (kVoidTags.contains(name)) + continue; + if (skipDepth > 0) { + // Browsers implicitly close at ; malformed pages + // without a would otherwise swallow the whole page. + if (name == QLatin1String("body")) { + skipDepth = 0; + continue; + } + ++skipDepth; + continue; + } + if (kSkipTags.contains(name)) { + ++skipDepth; + continue; + } + // Normal tag: replace with a space so words do not merge. + text += QLatin1Char(' '); + } + + QString out = decodeEntities(text); + QStringList lines; + for (const QString& line : out.split(QLatin1Char('\n'))) { + const QString flat = line.simplified(); + if (flat.isEmpty()) { + if (!lines.isEmpty() && lines.last().isEmpty()) + continue; + lines.append(QString()); + } else { + lines.append(flat); + } + } + while (lines.size() > 1 && lines.first().isEmpty()) + lines.removeFirst(); + while (lines.size() > 1 && lines.last().isEmpty()) + lines.removeLast(); + return lines.join(QLatin1Char('\n')); +} + +} // namespace ZShell::llm diff --git a/Plugins/ZShell/Llm/webfetchtool.hpp b/Plugins/ZShell/Llm/webfetchtool.hpp new file mode 100644 index 0000000..70046d1 --- /dev/null +++ b/Plugins/ZShell/Llm/webfetchtool.hpp @@ -0,0 +1,64 @@ +#pragma once + +#include "tool.hpp" + +#include +#include +#include + +#include + +class QNetworkReply; +class QTimer; + +namespace ZShell::llm { + +// Fetches an http(s) URL and returns its content as plain text or raw +// HTML. Read-only. Mirrors opencode's webfetch tool, without markdown +// conversion and the permission prompt. Concurrent fetches are +// supported; results are always delivered on a later event loop +// iteration, never synchronously from execute(). +class WebFetchTool : public LlmTool { + Q_OBJECT + + public: + static constexpr int MaxResponseBytes = 5 * 1024 * 1024; + static constexpr int DefaultTimeoutSeconds = 30; + static constexpr int MaxTimeoutSeconds = 120; + // Caps the characters handed to the model so a large page cannot + // blow out the context. + static constexpr int MaxOutputChars = 64 * 1024; + + explicit WebFetchTool(QObject* parent = nullptr); + ~WebFetchTool() override; + + QString name() const override; + QString description() const override; + QJsonObject parameters() const override; + void execute( + const QJsonObject& args, + std::function done) override; + void cancel() override; + + // Strips tags (skipping script/style/noscript/iframe/object/embed/ + // head) and decodes common entities. + static QString extractTextFromHtml(const QString& html); + static QString decodeEntities(const QString& text); + + private: + struct Job { + QNetworkReply* reply = nullptr; + QTimer* timer = nullptr; + QByteArray body; + bool tooLarge = false; + QString format; + std::function done; + }; + + void completeJob(Job* job, QJsonObject result); + + QNetworkAccessManager m_manager; + QList m_jobs; +}; + +} // namespace ZShell::llm