mirror of
https://github.com/logseq/logseq.git
synced 2026-05-24 04:34:14 +00:00
enhance: record whether agent session has been created
This commit is contained in:
6
deps/db/src/logseq/db/frontend/property.cljs
vendored
6
deps/db/src/logseq/db/frontend/property.cljs
vendored
@@ -425,6 +425,12 @@
|
||||
[[:logseq.property/agent.codex "Codex"]
|
||||
[:logseq.property/agent.claude-code "Claude Code"]])
|
||||
:queryable? true}
|
||||
:logseq.property/agent-session-created?
|
||||
{:title "Agent session created?"
|
||||
:schema {:type :checkbox
|
||||
:public? false
|
||||
:hide? true}
|
||||
:queryable? false}
|
||||
:logseq.property/git-repo
|
||||
{:title "Git Repo"
|
||||
:schema {:type :url
|
||||
|
||||
2
deps/db/src/logseq/db/frontend/schema.cljs
vendored
2
deps/db/src/logseq/db/frontend/schema.cljs
vendored
@@ -30,7 +30,7 @@
|
||||
(map (juxt :major :minor)
|
||||
[(parse-schema-version x) (parse-schema-version y)])))
|
||||
|
||||
(def version (parse-schema-version "65.23"))
|
||||
(def version (parse-schema-version "65.24"))
|
||||
|
||||
(defn major-version
|
||||
"Return a number.
|
||||
|
||||
@@ -2520,8 +2520,10 @@
|
||||
ready? (agent-handler/task-ready? block)
|
||||
running? (contains? #{"running" "paused"} status)
|
||||
session-started? (boolean (:session-id session))
|
||||
session-created? (or session-started?
|
||||
(true? (pu/get-block-property-value block :logseq.property/agent-session-created?)))
|
||||
btn-title (if ready?
|
||||
(if session-started? "Open chat" "Run agent")
|
||||
(if session-created? "Open chat" "Run agent")
|
||||
"Set Project + Agent + Git Repo")]
|
||||
[:div.flex.flex-row.items-center.gap-1
|
||||
(shui/button
|
||||
@@ -2535,7 +2537,7 @@
|
||||
(agent-chat/open-agent-chat-dialog! block))}
|
||||
(cond
|
||||
running? "Running"
|
||||
session-started? "Thread"
|
||||
session-created? "Thread"
|
||||
:else "Run"))])))
|
||||
|
||||
(rum/defc ^:large-vars/cleanup-todo block-content < rum/reactive
|
||||
|
||||
@@ -211,6 +211,7 @@
|
||||
"completed" :logseq.property/status.done
|
||||
"failed" :logseq.property/status.canceled
|
||||
"canceled" :logseq.property/status.canceled})
|
||||
(def ^:private task-session-created-property :logseq.property/agent-session-created?)
|
||||
|
||||
(defn- terminal-status? [status]
|
||||
(contains? #{"completed" "failed" "canceled"} status))
|
||||
@@ -246,6 +247,12 @@
|
||||
(when (and desired (not= current desired))
|
||||
(property-handler/set-block-property! block-uuid :logseq.property/status status-ident))))))
|
||||
|
||||
(defn- mark-task-session-created!
|
||||
[block-uuid]
|
||||
(when-let [block (db/entity [:block/uuid block-uuid])]
|
||||
(when-not (true? (pu/get-block-property-value block task-session-created-property))
|
||||
(property-handler/set-block-property! block-uuid task-session-created-property true))))
|
||||
|
||||
(defn- update-session!
|
||||
[block-uuid f]
|
||||
(state/update-state! :agent/sessions
|
||||
@@ -475,6 +482,7 @@
|
||||
|
||||
(:session-id session)
|
||||
(do
|
||||
(mark-task-session-created! block-uuid)
|
||||
(when-not (:streaming? session)
|
||||
(<connect-session-stream! block-uuid (or (:stream-url session)
|
||||
(session-stream-url base session-id))))
|
||||
@@ -493,6 +501,7 @@
|
||||
:terminal-enabled (true? (:terminal-enabled resp))
|
||||
:stream-url stream-url
|
||||
:loading? false})
|
||||
(mark-task-session-created! block-uuid)
|
||||
(maybe-update-task-status! block-uuid (:status resp))
|
||||
(<connect-session-stream! block-uuid stream-url)
|
||||
resp)
|
||||
@@ -550,6 +559,7 @@
|
||||
:terminal-enabled (true? (:terminal-enabled resp))
|
||||
:stream-url stream-url
|
||||
:started-at (util/time-ms)})
|
||||
(mark-task-session-created! block-uuid)
|
||||
(<connect-session-stream! block-uuid stream-url)
|
||||
resp)))))))
|
||||
|
||||
|
||||
@@ -82,7 +82,8 @@
|
||||
:logseq.property/agent
|
||||
:logseq.property/git-repo
|
||||
:logseq.property/agent-api-token
|
||||
:logseq.property/agent-auth-json]}]])
|
||||
:logseq.property/agent-auth-json]}]
|
||||
["65.24" {:properties [:logseq.property/agent-session-created?]}]])
|
||||
|
||||
(let [[major minor] (last (sort (map (comp (juxt :major :minor) db-schema/parse-schema-version first)
|
||||
schema-version->updates)))]
|
||||
|
||||
Reference in New Issue
Block a user