{"ok":true,"site":{"host":"remnic-canvas.pages.dev","url":"https://remnic-canvas.pages.dev/","type":"live","desc":"Shared memory for you and your browser agent, on one web page.","tools":[{"name":"recall_memories","kind":"act","impl":"imperative","description":"Search the user's memories on this page by meaning. Read-only. Returns ranked matches; pending and superseded memories are excluded. If nothing matches, ask the user and then use remember.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"What to look for, in natural language."},"limit":{"type":"number","description":"Max results, default 8, max 25."}},"required":["query"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"remember","kind":"act","impl":"imperative","description":"Propose a new memory. The card appears on the canvas and WAITS for the human to approve, edit, or reject it; this call resolves with their decision, or with status pending if the human has not decided within about a minute (the card stays on the canvas). Only store durable facts, preferences, decisions, or notes the user would want kept.","inputSchema":{"type":"object","properties":{"content":{"type":"string","description":"The memory text, 1 to 2000 characters."},"kind":{"type":"string","enum":["fact","preference","decision","note"]},"tags":{"type":"array","items":{"type":"string"}}},"required":["content"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"correct_memory","kind":"act","impl":"imperative","description":"Propose a replacement for a stale or wrong memory by id. The human approves or rejects; on approval the old memory is superseded and stays visible in the card's history. Resolves with the decision.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Id of the memory to correct."},"replacement":{"type":"string","description":"Corrected text, 1 to 2000 characters."}},"required":["id","replacement"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"forget_memory","kind":"act","impl":"imperative","description":"Ask to remove a memory by id. The human must confirm; the memory is tombstoned (its text is cleared, the id is kept). Resolves with forgotten or declined, or pending when the human has not decided yet.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"reason":{"type":"string"}},"required":["id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"load_context","kind":"answer","impl":"imperative","description":"Pull a compact markdown digest of the user's active memories into your context, optionally focused on a topic. Read-only. Use this at the start of a task to know what is already established.","inputSchema":{"type":"object","properties":{"topic":{"type":"string","description":"Optional topic to focus the digest."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"AI & Agents","apiSurface":"spec","toolCount":5}}