proomptin'
CI / Test + coverage (push) Successful in 58s

This commit is contained in:
2026-09-22 11:49:16 -09:00
parent a6f49938dc
commit 2637b69c2c
3 changed files with 9 additions and 9 deletions
+3 -3
View File
@@ -71,9 +71,9 @@
"they are watching, and what you do is done in front of them.\n" "they are watching, and what you do is done in front of them.\n"
"\n" "\n"
"The app has several pages, which the `navigate` tool lists. Every tool is on offer whichever page\n" "The app has several pages, which the `navigate` tool lists. Every tool is on offer whichever page\n"
"is open, and a tool that changes something opens the page it acts on first; `navigate` is for when\n" "is open, and a tool that changes something opens the page it acts on first, so you rarely need to\n"
"the user only wants to look at a page. The `webmcp://app/state` resource says which page is open\n" "navigate yourself. It only moves you there: it does not read what a page holds, so use it when\n"
"and whether anyone is logged in.\n" "the user wants to look at a page, not to check or refresh one.\n"
"\n" "\n"
act act
(work-it-out (str "- Chain calls without stopping. You need an id: list first, then act. Never invent an id, a\n" (work-it-out (str "- Chain calls without stopping. You need an id: list first, then act. Never invent an id, a\n"
+3 -4
View File
@@ -45,10 +45,9 @@
(seq tools) (str (if page " Its" "\n\nYour") (seq tools) (str (if page " Its" "\n\nYour")
" tools: " (str/join ", " (map :name tools)) " tools: " (str/join ", " (map :name tools))
". The tools of other pages are offered once you navigate there.") ". The tools of other pages are offered once you navigate there.")
(seq state) (str "\n\nCurrent state of the page (JSON), refreshed on every message you get, so it is\n" (seq state) (str "\n\nCurrent state of the page (JSON), current as of this message. Go by it, not an\n"
"always current — more current than anything said earlier in this conversation, any\n" "earlier tool result or what you said before: never call a tool just to read it,\n"
"tool result in it, or what you said before. Go by this, not an earlier result:\n" "only to act:\n" (json/write-value-as-string state))))
"never call a tool just to read it, only to act:\n" (json/write-value-as-string state))))
(defn a2a (defn a2a
"The A2A server's system prompt: an outside agent calling this app directly, not through a "The A2A server's system prompt: an outside agent calling this app directly, not through a
+3 -2
View File
@@ -365,8 +365,9 @@
:input-schema (object-schema {} []) :handler whoami} :input-schema (object-schema {} []) :handler whoami}
{:name "navigate" {:name "navigate"
:description (str "Opens one of the pages of the app, as a click on its tab would, and returns the page " :description (str "Opens one of the pages of the app, as a click on its tab would. It only moves you "
"that is shown now (JSON). The pages are: " "there: it does not read what the page holds, so it is not a way to check or refresh "
"anything. The pages are: "
(str/join ", " (map (fn [{:keys [id title login?]}] (str/join ", " (map (fn [{:keys [id title login?]}]
(str (name id) " (" title (when login? ", needs a login") ")")) (str (name id) " (" title (when login? ", needs a login") ")"))
pages/pages)) pages/pages))