@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user