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"
"\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"
"the user only wants to look at a page. The `webmcp://app/state` resource says which page is open\n"
"and whether anyone is logged in.\n"
"is open, and a tool that changes something opens the page it acts on first, so you rarely need to\n"
"navigate yourself. It only moves you there: it does not read what a page holds, so use it when\n"
"the user wants to look at a page, not to check or refresh one.\n"
"\n"
act
(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")
" tools: " (str/join ", " (map :name tools))
". 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"
"always current — more current than anything said earlier in this conversation, any\n"
"tool result in it, or what you said before. Go by this, not an earlier result:\n"
"never call a tool just to read it, only to act:\n" (json/write-value-as-string state))))
(seq state) (str "\n\nCurrent state of the page (JSON), current as of this message. Go by it, not an\n"
"earlier tool result or what you said before: never call a tool just to read it,\n"
"only to act:\n" (json/write-value-as-string state))))
(defn a2a
"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}
{:name "navigate"
:description (str "Opens one of the pages of the app, as a click on its tab would, and returns the page "
"that is shown now (JSON). The pages are: "
:description (str "Opens one of the pages of the app, as a click on its tab would. It only moves you "
"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 (name id) " (" title (when login? ", needs a login") ")"))
pages/pages))