new chatlistview component, file attachments, performance & primitive test
C++ / fmt (pull_request) Failing after 5s
C++ / build (pull_request) Failing after 9s
C++ / clang-tidy (pull_request) Failing after 10s
JS/TS / fmt (pull_request) Failing after 11s
JS/TS / lint (pull_request) Successful in 9s
Python / static (pull_request) Failing after 31s
Rust / build (pull_request) Successful in 49s
Python / verify (pull_request) Successful in 1m37s
Rust / fmt (pull_request) Successful in 27s
Rust / clippy (pull_request) Successful in 58s

This commit is contained in:
2026-09-17 15:20:41 +02:00
parent a3178ad9cd
commit 99949ff255
36 changed files with 4368 additions and 310 deletions
+9
View File
@@ -21,6 +21,8 @@ class ChatGeneration : public QObject {
Q_PROPERTY(
QString content READ content WRITE setContent NOTIFY contentChanged)
Q_PROPERTY(QString reasoning READ reasoning NOTIFY reasoningChanged)
Q_PROPERTY(bool error READ error NOTIFY errorChanged)
Q_PROPERTY(QString errorMessage READ errorMessage NOTIFY errorChanged)
Q_PROPERTY(
qint64 reasoningElapsedMs READ reasoningElapsedMs NOTIFY
elapsedMsChanged)
@@ -48,6 +50,8 @@ class ChatGeneration : public QObject {
[[nodiscard]] QString content() const;
[[nodiscard]] QString reasoning() const;
[[nodiscard]] bool error() const { return m_hasError; }
[[nodiscard]] QString errorMessage() const { return m_errorMessage; }
[[nodiscard]] bool reasoningActive() const;
[[nodiscard]] qint64 reasoningElapsedMs() const;
[[nodiscard]] qint64 contentElapsedMs() const;
@@ -65,11 +69,13 @@ class ChatGeneration : public QObject {
Q_INVOKABLE void approveTools();
Q_INVOKABLE void denyTools();
Q_INVOKABLE void dismissError();
void setContent(const QString& value);
void appendContent(const QString& piece);
void appendReasoning(const QString& piece);
void setStreaming(bool value);
void setError(const QString& value);
[[nodiscard]] LlmSegment* openContentSegment();
[[nodiscard]] LlmSegment* openReasoningSegment();
@@ -81,6 +87,7 @@ class ChatGeneration : public QObject {
Q_SIGNALS:
void contentChanged();
void reasoningChanged();
void errorChanged();
void reasoningActiveChanged();
void elapsedMsChanged();
void streamingChanged();
@@ -98,6 +105,8 @@ class ChatGeneration : public QObject {
bool m_streaming = false;
bool m_approvalPending = false;
qint64 m_timestamp;
bool m_hasError = false;
QString m_errorMessage;
};
} // namespace ZShell::llm