File tree Expand file tree Collapse file tree 3 files changed +13
-11
lines changed Expand file tree Collapse file tree 3 files changed +13
-11
lines changed Original file line number Diff line number Diff line change 66
66
[nil " --nostream" " disable streaming responses"
67
67
:id :stream
68
68
:assoc-fn (fn [m k _] (assoc m k false ))]
69
- [nil " --register ref" " register a prompt REF" ]
69
+ [nil " --register ref" " register a prompt REF"
70
+ :multi true
71
+ :default []
72
+ :update-fn conj]
70
73
[nil " --mcp" " use the mcp jsonrpc protocol" ]
71
74
[nil " --debug" " add debug logging" ]
72
75
[nil " --help" " print option summary" ]])
Original file line number Diff line number Diff line change 7
7
(def db* (atom {}))
8
8
9
9
(defn get-prompt-data [{:keys [register] :as opts}]
10
- (let [f (git/prompt-file register)
11
- {:keys [messages metadata functions] :as entry} (prompts/get-prompts (assoc opts :prompts f))]
12
- entry))
10
+ (->> register
11
+ (map (fn [ref] [ref (git/prompt-file ref)]))
12
+ (map (fn [[ref f]]
13
+ (let [m (prompts/get-prompts (assoc opts :prompts f))]
14
+ [(or (-> m :metadata :name ) ref) m])))
15
+ (into {})))
13
16
14
17
(defn add [opts]
15
18
(logger/info " adding prompts" (:register opts))
16
19
(let [m (get-prompt-data opts)]
17
- (swap! db* update-in [:mcp.prompts/registry ]
18
- (fnil assoc {})
19
- #_(:register opts)
20
- (or (-> m :metadata :name ) (:register opts))
21
- m)))
20
+ (swap! db* update-in [:mcp.prompts/registry ] (fnil merge {}) m)))
22
21
23
22
(comment
24
- (add {:register " github:docker/labs-ai-tools-for-devs?path=prompts/examples/explain_dockerfile.md&ref=slim/server" }))
23
+ (add {:register [ " github:docker/labs-ai-tools-for-devs?path=prompts/examples/explain_dockerfile.md&ref=slim/server" ] }))
25
24
Original file line number Diff line number Diff line change 94
94
(defn entry->prompt-listing [k v m]
95
95
(merge
96
96
{:name (str k)}
97
- (select-keys m [:description ])))
97
+ (select-keys ( :metadata v) [:description ])))
98
98
99
99
(defmethod lsp.server /receive-request " prompts/list" [_ {:keys [db*]} params]
100
100
; ; TODO might contain a cursor
You can’t perform that action at this time.
0 commit comments