Skip to content

Commit bac296d

Browse files
committed
Support chat/queryFiles
1 parent 3734d58 commit bac296d

File tree

4 files changed

+26
-9
lines changed

4 files changed

+26
-9
lines changed

src/eca/features/chat.clj

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -926,9 +926,16 @@
926926
db*
927927
config]
928928
{:chat-id chat-id
929-
:contexts (set/difference (set (f.context/all-contexts query db* config))
929+
:contexts (set/difference (set (f.context/all-contexts query false db* config))
930930
(set contexts))})
931931

932+
(defn query-files
933+
[{:keys [query chat-id]}
934+
db*
935+
config]
936+
{:chat-id chat-id
937+
:files (set (f.context/all-contexts query true db* config))})
938+
932939
(defn query-commands
933940
[{:keys [query chat-id]}
934941
db*

src/eca/features/context.clj

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@
101101
{:type "file"
102102
:path path})))
103103

104-
(defn all-contexts [query db* config]
104+
(defn all-contexts [query files-only? db* config]
105105
(let [query (or (some-> query string/trim) "")
106106
first-project-path (shared/uri->filename (:uri (first (:workspace-folders @db*))))
107107
relative-path (and query
@@ -133,9 +133,12 @@
133133
:path (shared/uri->filename uri)})
134134
(:workspace-folders @db*))
135135
mcp-resources (mapv #(assoc % :type "mcpResource") (f.mcp/all-resources @db*))]
136-
(concat [{:type "repoMap"}
137-
{:type "cursor"}]
138-
root-dirs
139-
relative-files
140-
workspace-files
141-
mcp-resources)))
136+
(if files-only?
137+
(concat relative-files
138+
workspace-files)
139+
(concat [{:type "repoMap"}
140+
{:type "cursor"}]
141+
root-dirs
142+
relative-files
143+
workspace-files
144+
mcp-resources))))

src/eca/handlers.clj

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,13 @@
101101
(metrics/task metrics :eca/chat-query-context
102102
(f.chat/query-context params db* config)))
103103

104+
(defn chat-query-files [{:keys [db* config metrics]} params]
105+
(metrics/task metrics :eca/chat-query-files
106+
(f.chat/query-files params db* config)))
107+
104108
(defn chat-query-commands [{:keys [db* config metrics]} params]
105109
(metrics/task metrics :eca/chat-query-commands
106-
(f.chat/query-commands params db* config)))
110+
(f.chat/query-commands params db* config)))
107111

108112
(defn chat-tool-call-approve [{:keys [messenger db* metrics]} params]
109113
(metrics/task metrics :eca/chat-tool-call-approve

src/eca/server.clj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@
5050
(defmethod jsonrpc.server/receive-request "chat/queryContext" [_ components params]
5151
(handlers/chat-query-context (with-config components) params))
5252

53+
(defmethod jsonrpc.server/receive-request "chat/queryFiles" [_ components params]
54+
(handlers/chat-query-files (with-config components) params))
55+
5356
(defmethod jsonrpc.server/receive-request "chat/queryCommands" [_ components params]
5457
(handlers/chat-query-commands (with-config components) params))
5558

0 commit comments

Comments
 (0)