{"ok":true,"site":{"host":"openreceipt.phreshplastic.com","url":"https://openreceipt.phreshplastic.com/","type":"live","desc":"Design receipts by hand or with an AI agent, preview every printer dot, and print locally on an Epson TM-L90 with OpenReceipt.","tools":[{"name":"get_app_status","kind":"answer","impl":"imperative","description":"Reports the editor URL, whether setup is done, whether the printer bridge is reachable, the current print policy, and the last print result. Call this first when you are not sure the app is ready.","title":"Check OpenReceipt","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"get_receipt","kind":"answer","impl":"imperative","description":"Returns what is on the paper right now and its revision. Defaults to a compact outline with one line per block; pass detail=text for a plain-text stand-in of the print, or detail=json for the raw document. Read this before editing.","title":"Read the receipt","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"detail":{"type":"string","enum":["outline","text","json"]}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"list_receipt_blocks","kind":"answer","impl":"imperative","description":"The vocabulary you can put on a receipt, with a note on when each one earns its place and what it needs. Blocks marked live fetch real data when you add them.","title":"List block types","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"list_receipt_recipes","kind":"answer","impl":"imperative","description":"Call this whenever someone describes a situation rather than naming blocks — travelling, a morning routine, a shopping trip, a meeting. Returns the blocks that belong on that receipt and the details worth confirming before you draft.","title":"List situations","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"situation":{"type":"string","maxLength":400}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"list_receipt_templates","kind":"answer","impl":"imperative","description":"The built-in templates and any the person has saved from a receipt. Use the id or name with load_receipt_template. A saved template is a starting point, not a trusted print path.","title":"List templates","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"draft_receipt","kind":"act","impl":"imperative","description":"Replaces the whole receipt with a new one, composed from the block vocabulary. This is the main tool: one call turns a described situation into finished paper. Give it a short distinctive title — that name is how the person finds it on the drafts shelf, and it is not the heading printed on the paper. It never prints. Pass dryRun to see the result and its paper length without changing anything.","title":"Draft a receipt","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":160},"blocks":{"minItems":1,"maxItems":60,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"heading"},"text":{"type":"string","minLength":1,"maxLength":240},"size":{"type":"string","enum":["display","heading","section"]},"align":{"type":"string","enum":["left","center","right"]}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"text"},"text":{"type":"string","minLength":1,"maxLength":4000},"size":{"type":"string","enum":["small","body","large"]},"align":{"type":"string","enum":["left","center","right"]},"emphasis":{"type":"boolean"}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"list"},"items":{"minItems":1,"maxItems":40,"type":"array","items":{"anyOf":[{"type":"string","minLength":1,"maxLength":160},{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":160},"checked":{"type":"boolean"}},"required":["text"],"additionalProperties":false}]}}},"required":["type","items"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"facts"},"rows":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":160},"value":{"type":"string","maxLength":300},"emphasis":{"type":"boolean"}},"required":["label","value"],"additionalProperties":false}},"dividers":{"type":"boolean"}},"required":["type","rows"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"table"},"header":{"minItems":2,"maxItems":3,"type":"array","items":{"type":"string","maxLength":300}},"rows":{"minItems":1,"maxItems":40,"type":"array","items":{"minItems":2,"maxItems":3,"type":"array","items":{"type":"string","maxLength":300}}}},"required":["type","rows"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"rule"},"style":{"type":"string","enum":["solid","dashed"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"groups"},"title":{"type":"string","minLength":1,"maxLength":120},"note":{"type":"string","maxLength":60},"groups":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":40},"items":{"minItems":1,"maxItems":20,"type":"array","items":{"anyOf":[{"type":"string","minLength":1,"maxLength":160},{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":160},"checked":{"type":"boolean"}},"required":["text"],"additionalProperties":false}]}}},"required":["name","items"],"additionalProperties":false}}},"required":["type","title","groups"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"countdown"},"event":{"type":"string","minLength":1,"maxLength":60},"date":{"type":"string","minLength":1,"maxLength":60},"days":{"type":"integer","minimum":0,"maximum":9999},"label":{"type":"string","maxLength":40},"milestones":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"string","minLength":1,"maxLength":20},{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":20},"complete":{"type":"boolean"}},"required":["label"],"additionalProperties":false}]}}},"required":["type","event","date","days"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"weather"},"city":{"type":"string","minLength":1,"maxLength":160},"unit":{"type":"string","enum":["fahrenheit","celsius"]}},"required":["type","city"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"air"},"city":{"type":"string","minLength":1,"maxLength":160}},"required":["type","city"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"news"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"markets"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"surf"},"city":{"type":"string","minLength":1,"maxLength":160}},"required":["type","city"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"games"},"league":{"type":"string","maxLength":40}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"quakes"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"agenda"},"date":{"type":"string","maxLength":100},"events":{"minItems":1,"maxItems":16,"type":"array","items":{"type":"object","properties":{"start":{"type":"string","minLength":1,"maxLength":40},"end":{"type":"string","maxLength":40},"title":{"type":"string","minLength":1,"maxLength":300},"detail":{"type":"string","maxLength":300}},"required":["start","title"],"additionalProperties":false}}},"required":["type","events"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"habits"},"title":{"type":"string","maxLength":120},"period":{"type":"string","maxLength":120},"habits":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":80}}},"required":["type","habits"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"form"},"form":{"type":"string","enum":["dailyPlan","packingList","weatherJournal","mealPlan","meetingNotes","workoutLog"]}},"required":["type","form"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"logo"},"name":{"type":"string","minLength":1,"maxLength":40},"tagline":{"type":"string","maxLength":40}},"required":["type","name"],"additionalProperties":false}]}},"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"dryRun":{"type":"boolean"}},"required":["title","blocks"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"edit_receipt","kind":"act","impl":"imperative","description":"Changes part of the receipt without rewriting it. Blocks are 1-based from get_receipt. setCopy changes the words on a heading, text, logo, countdown or groups block and keeps its style. Item ops touch one line on lists, facts, tables, agendas, habits, countdowns, groups, meals, meetings and workouts; group picks a section and fields sets owner, due, sets or value. Pass dryRun to preview.","title":"Edit the receipt","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"operations":{"minItems":1,"maxItems":40,"type":"array","items":{"oneOf":[{"type":"object","properties":{"op":{"type":"string","const":"setTitle"},"title":{"type":"string","minLength":1,"maxLength":160}},"required":["op","title"],"additionalProperties":false},{"type":"object","properties":{"op":{"type":"string","const":"add"},"block":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"heading"},"text":{"type":"string","minLength":1,"maxLength":240},"size":{"type":"string","enum":["display","heading","section"]},"align":{"type":"string","enum":["left","center","right"]}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"text"},"text":{"type":"string","minLength":1,"maxLength":4000},"size":{"type":"string","enum":["small","body","large"]},"align":{"type":"string","enum":["left","center","right"]},"emphasis":{"type":"boolean"}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"list"},"items":{"minItems":1,"maxItems":40,"type":"array","items":{"anyOf":[{"type":"string","minLength":1,"maxLength":160},{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":160},"checked":{"type":"boolean"}},"required":["text"],"additionalProperties":false}]}}},"required":["type","items"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"facts"},"rows":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":160},"value":{"type":"string","maxLength":300},"emphasis":{"type":"boolean"}},"required":["label","value"],"additionalProperties":false}},"dividers":{"type":"boolean"}},"required":["type","rows"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"table"},"header":{"minItems":2,"maxItems":3,"type":"array","items":{"type":"string","maxLength":300}},"rows":{"minItems":1,"maxItems":40,"type":"array","items":{"minItems":2,"maxItems":3,"type":"array","items":{"type":"string","maxLength":300}}}},"required":["type","rows"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"rule"},"style":{"type":"string","enum":["solid","dashed"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"groups"},"title":{"type":"string","minLength":1,"maxLength":120},"note":{"type":"string","maxLength":60},"groups":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":40},"items":{"minItems":1,"maxItems":20,"type":"array","items":{"anyOf":[{"type":"string","minLength":1,"maxLength":160},{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":160},"checked":{"type":"boolean"}},"required":["text"],"additionalProperties":false}]}}},"required":["name","items"],"additionalProperties":false}}},"required":["type","title","groups"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"countdown"},"event":{"type":"string","minLength":1,"maxLength":60},"date":{"type":"string","minLength":1,"maxLength":60},"days":{"type":"integer","minimum":0,"maximum":9999},"label":{"type":"string","maxLength":40},"milestones":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"string","minLength":1,"maxLength":20},{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":20},"complete":{"type":"boolean"}},"required":["label"],"additionalProperties":false}]}}},"required":["type","event","date","days"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"weather"},"city":{"type":"string","minLength":1,"maxLength":160},"unit":{"type":"string","enum":["fahrenheit","celsius"]}},"required":["type","city"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"air"},"city":{"type":"string","minLength":1,"maxLength":160}},"required":["type","city"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"news"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"markets"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"surf"},"city":{"type":"string","minLength":1,"maxLength":160}},"required":["type","city"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"games"},"league":{"type":"string","maxLength":40}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"quakes"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"agenda"},"date":{"type":"string","maxLength":100},"events":{"minItems":1,"maxItems":16,"type":"array","items":{"type":"object","properties":{"start":{"type":"string","minLength":1,"maxLength":40},"end":{"type":"string","maxLength":40},"title":{"type":"string","minLength":1,"maxLength":300},"detail":{"type":"string","maxLength":300}},"required":["start","title"],"additionalProperties":false}}},"required":["type","events"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"habits"},"title":{"type":"string","maxLength":120},"period":{"type":"string","maxLength":120},"habits":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":80}}},"required":["type","habits"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"form"},"form":{"type":"string","enum":["dailyPlan","packingList","weatherJournal","mealPlan","meetingNotes","workoutLog"]}},"required":["type","form"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"logo"},"name":{"type":"string","minLength":1,"maxLength":40},"tagline":{"type":"string","maxLength":40}},"required":["type","name"],"additionalProperties":false}]},"at":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of a block, as shown by get_receipt"}},"required":["op","block"],"additionalProperties":false},{"type":"object","properties":{"op":{"type":"string","const":"replace"},"at":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of a block, as shown by get_receipt"},"block":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"heading"},"text":{"type":"string","minLength":1,"maxLength":240},"size":{"type":"string","enum":["display","heading","section"]},"align":{"type":"string","enum":["left","center","right"]}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"text"},"text":{"type":"string","minLength":1,"maxLength":4000},"size":{"type":"string","enum":["small","body","large"]},"align":{"type":"string","enum":["left","center","right"]},"emphasis":{"type":"boolean"}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"list"},"items":{"minItems":1,"maxItems":40,"type":"array","items":{"anyOf":[{"type":"string","minLength":1,"maxLength":160},{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":160},"checked":{"type":"boolean"}},"required":["text"],"additionalProperties":false}]}}},"required":["type","items"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"facts"},"rows":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":160},"value":{"type":"string","maxLength":300},"emphasis":{"type":"boolean"}},"required":["label","value"],"additionalProperties":false}},"dividers":{"type":"boolean"}},"required":["type","rows"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"table"},"header":{"minItems":2,"maxItems":3,"type":"array","items":{"type":"string","maxLength":300}},"rows":{"minItems":1,"maxItems":40,"type":"array","items":{"minItems":2,"maxItems":3,"type":"array","items":{"type":"string","maxLength":300}}}},"required":["type","rows"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"rule"},"style":{"type":"string","enum":["solid","dashed"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"groups"},"title":{"type":"string","minLength":1,"maxLength":120},"note":{"type":"string","maxLength":60},"groups":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":40},"items":{"minItems":1,"maxItems":20,"type":"array","items":{"anyOf":[{"type":"string","minLength":1,"maxLength":160},{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":160},"checked":{"type":"boolean"}},"required":["text"],"additionalProperties":false}]}}},"required":["name","items"],"additionalProperties":false}}},"required":["type","title","groups"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"countdown"},"event":{"type":"string","minLength":1,"maxLength":60},"date":{"type":"string","minLength":1,"maxLength":60},"days":{"type":"integer","minimum":0,"maximum":9999},"label":{"type":"string","maxLength":40},"milestones":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"string","minLength":1,"maxLength":20},{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":20},"complete":{"type":"boolean"}},"required":["label"],"additionalProperties":false}]}}},"required":["type","event","date","days"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"weather"},"city":{"type":"string","minLength":1,"maxLength":160},"unit":{"type":"string","enum":["fahrenheit","celsius"]}},"required":["type","city"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"air"},"city":{"type":"string","minLength":1,"maxLength":160}},"required":["type","city"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"news"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"markets"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"surf"},"city":{"type":"string","minLength":1,"maxLength":160}},"required":["type","city"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"games"},"league":{"type":"string","maxLength":40}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"quakes"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"agenda"},"date":{"type":"string","maxLength":100},"events":{"minItems":1,"maxItems":16,"type":"array","items":{"type":"object","properties":{"start":{"type":"string","minLength":1,"maxLength":40},"end":{"type":"string","maxLength":40},"title":{"type":"string","minLength":1,"maxLength":300},"detail":{"type":"string","maxLength":300}},"required":["start","title"],"additionalProperties":false}}},"required":["type","events"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"habits"},"title":{"type":"string","maxLength":120},"period":{"type":"string","maxLength":120},"habits":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":80}}},"required":["type","habits"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"form"},"form":{"type":"string","enum":["dailyPlan","packingList","weatherJournal","mealPlan","meetingNotes","workoutLog"]}},"required":["type","form"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"logo"},"name":{"type":"string","minLength":1,"maxLength":40},"tagline":{"type":"string","maxLength":40}},"required":["type","name"],"additionalProperties":false}]}},"required":["op","at","block"],"additionalProperties":false},{"type":"object","properties":{"op":{"type":"string","const":"remove"},"at":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of a block, as shown by get_receipt"}},"required":["op","at"],"additionalProperties":false},{"type":"object","properties":{"op":{"type":"string","const":"move"},"at":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of a block, as shown by get_receipt"},"to":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of a block, as shown by get_receipt"}},"required":["op","at","to"],"additionalProperties":false},{"type":"object","properties":{"op":{"type":"string","const":"refresh"},"at":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of a block, as shown by get_receipt"}},"required":["op","at"],"additionalProperties":false},{"type":"object","properties":{"op":{"type":"string","const":"setCopy"},"at":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of a block, as shown by get_receipt"},"text":{"type":"string","minLength":1,"maxLength":4000}},"required":["op","at","text"],"additionalProperties":false},{"type":"object","properties":{"op":{"type":"string","const":"addItem"},"at":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of a block, as shown by get_receipt"},"group":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"string","maxLength":40}],"description":"Which group, section or meal — position or name"},"text":{"type":"string","minLength":1,"maxLength":300},"checked":{"type":"boolean"},"fields":{"type":"object","propertyNames":{"type":"string","maxLength":24},"additionalProperties":{"anyOf":[{"type":"string","maxLength":300},{"type":"number"},{"type":"boolean"}]},"description":"Other attributes on the line; list_receipt_blocks names them per block"}},"required":["op","at","text"],"additionalProperties":false},{"type":"object","properties":{"op":{"type":"string","const":"setItem"},"at":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of a block, as shown by get_receipt"},"item":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"string","minLength":1,"maxLength":160}],"description":"1-based position, or text to match"},"text":{"type":"string","minLength":1,"maxLength":300},"checked":{"type":"boolean"},"fields":{"type":"object","propertyNames":{"type":"string","maxLength":24},"additionalProperties":{"anyOf":[{"type":"string","maxLength":300},{"type":"number"},{"type":"boolean"}]},"description":"Other attributes on the line; list_receipt_blocks names them per block"}},"required":["op","at","item"],"additionalProperties":false},{"type":"object","properties":{"op":{"type":"string","const":"checkItem"},"at":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of a block, as shown by get_receipt"},"item":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"string","minLength":1,"maxLength":160}],"description":"1-based position, or text to match"},"checked":{"type":"boolean"}},"required":["op","at","item"],"additionalProperties":false},{"type":"object","properties":{"op":{"type":"string","const":"removeItem"},"at":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of a block, as shown by get_receipt"},"item":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"string","minLength":1,"maxLength":160}],"description":"1-based position, or text to match"}},"required":["op","at","item"],"additionalProperties":false}]}},"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"dryRun":{"type":"boolean"}},"required":["operations"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"rename_receipt","kind":"act","impl":"imperative","description":"Sets the receipt's title — the name in the editor header and the drafts list, not the heading printed on the paper. Use this whenever you draft something new or the current name is generic (Morning brief, Untitled). A clear title is how a person tells receipts apart.","title":"Name the receipt","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":160},"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["title"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"save_receipt_template","kind":"act","impl":"imperative","description":"Saves the current receipt as a named template the person can reuse from Templates. If a saved template already has this name, it is updated rather than duplicated. Does not change the receipt on screen and does not print.","title":"Save as a template","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"Name on the Templates gallery; a matching saved template is updated"}},"required":["name"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"load_receipt_template","kind":"act","impl":"imperative","description":"Replaces the current receipt with a template from list_receipt_templates. Built-in templates stamp a fresh copy; a saved template loads exactly as stored. It never prints. Pass dryRun to preview.","title":"Load a template","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"template":{"type":"string","minLength":1,"maxLength":80,"description":"Id or name from list_receipt_templates"},"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"dryRun":{"type":"boolean"}},"required":["template"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"preview_receipt","kind":"act","impl":"imperative","description":"Shows what will actually come out of the printer as plain text, with the exact dot dimensions, the paper length in millimetres, and any warnings. In the browser this also scrolls the preview into view. Check this before asking to print.","title":"Preview the print","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"undo_agent_edit","kind":"act","impl":"imperative","description":"Steps the receipt back to how it was before the last change. Use this when someone says that was not what they meant, instead of rebuilding the previous version by hand.","title":"Undo the last change","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"request_receipt_print","kind":"act","impl":"imperative","description":"Prints the exact revision you name. On a connected printer this is irreversible and paper comes out. In the browser demo it opens a preview instead. May pause for approval. Preview first.","title":"Request a print","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":240}},"required":["expectedRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"open_receipt_editor","kind":"act","impl":"imperative","description":"Brings up the visible receipt editor so the person can see and adjust the draft before it prints. Use this after drafting whenever they should look before you print.","title":"Open the editor","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"highlight":{"maxItems":20,"type":"array","items":{"type":"string"}}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]}],"favicon":"/favicons/openreceipt.phreshplastic.com.png","apiSurface":"spec","category":"Productivity & Business","toolCount":14}}