{"ok":true,"site":{"host":"sigma-studio-webmcp-demo.choco954303.chatgpt.site","url":"https://sigma-studio-webmcp-demo.choco954303.chatgpt.site/sigma/","type":"live","desc":"Sigma Studio","tools":[{"name":"get_agent_instructions","kind":"answer","impl":"imperative","description":"Return the person's Web agent instructions plus SigmaDoc editing guidance. Call this before the first edit.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"inspect_document","kind":"answer","impl":"imperative","description":"Inspect the active SigmaDoc. context returns revision, selection, target, neighbors, page layout, all overlays, and outline; full returns the canonical document only when truly needed.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"detail":{"type":"string","enum":["context","full"],"default":"context"},"targetId":{"type":"string","description":"Optional body block or overlay shape ID to inspect in context mode."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"read_blocks","kind":"answer","impl":"imperative","description":"Read one or more complete body or problem-area blocks by stable SigmaDoc ID. Prefer this over reading the full document.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"blockIds":{"type":"array","minItems":1,"maxItems":50,"items":{"type":"string"}}},"required":["blockIds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"search_document","kind":"answer","impl":"imperative","description":"Search body text, TeX, table cells, and overlay text. Use results to choose IDs before reading or editing.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string"},"limit":{"type":"integer","minimum":1,"maximum":50}},"required":["query"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"validate_document","kind":"act","impl":"imperative","description":"Validate the current document or accumulated pending draft without changing it.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"get_pending_proposal","kind":"answer","impl":"imperative","description":"Return the one accumulated draft, its ordered operation summaries, changed targets, and base revision.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"withdraw_pending_proposal","kind":"act","impl":"imperative","description":"Withdraw the agent's one pending draft. This does not modify the document. Before the first edit, call get_agent_instructions and inspect_document. This appends to the one pending human-reviewed draft and never applies changes automatically.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"insert_markdown","kind":"act","impl":"imperative","description":"Insert Word-like flowing content from Markdown. It converts paragraphs, headings, nested lists, fenced code, bold, italic, $...$/$$...$$ math, and escaped \\$ into canonical SigmaDoc. Optionally wrap the result in a native box style or apply pagination hints. Unavailable on whiteboard documents (WHITEBOARD_NO_BODY); use create_overlay kind:\"text\" there. Before the first edit, call get_agent_instructions and inspect_document. This appends to the one pending human-reviewed draft and never applies changes automatically.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Revision returned by inspect_document. Required for every write."},"targetId":{"type":"string","description":"Insert after this block ID, or END_OF_DOCUMENT."},"area":{"type":"string","enum":["lead","prompt","solution","hints"]},"markdown":{"type":"string","minLength":1},"container":{"type":"object","properties":{"type":{"type":"string","enum":["box"]},"styleId":{"type":"string","description":"Native SigmaDoc box style such as fancybox, tcolorbox-note, doublebox, shadebox, or leftbar."},"title":{"type":"string"}},"required":["type","styleId"],"additionalProperties":false},"pagination":{"type":"object","properties":{"break":{"type":"boolean"},"keepTogether":{"type":"boolean"},"keepWithNext":{"type":"boolean"}},"additionalProperties":false}},"required":["expectedRevision","markdown"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"edit_text","kind":"act","impl":"imperative","description":"Apply 1-20 precise text replacements or inline-format changes. Use block, exact text, or offset range targets; replacements may include $...$ math. This is for existing content—use insert_markdown for new flowing content. Before the first edit, call get_agent_instructions and inspect_document. This appends to the one pending human-reviewed draft and never applies changes automatically.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Revision returned by inspect_document. Required for every write."},"operations":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"object","properties":{"op":{"type":"string","enum":["replace_text","format_inline"]},"target":{"type":"object","additionalProperties":true},"replacement":{"oneOf":[{"type":"string"},{"type":"array","minItems":1,"items":{"oneOf":[{"type":"string"},{"type":"object","description":"A typed SigmaDoc inline run, for example {type:'text',text:'Let '} or {type:'mathInline',tex:'x^2',display:'inline'}.","additionalProperties":true}]}}]},"style":{"type":"object","properties":{"fontFamily":{"type":["string","null"]},"fontSize":{"type":["number","null"],"exclusiveMinimum":0},"boxed":{"type":"object","properties":{"enabled":{"type":"boolean"},"paddingY":{"type":"number","minimum":0,"maximum":100},"variant":{"type":"string","enum":["frame","thick","double","oval","shade"]},"tone":{"type":"string","enum":["gray","blue","green","red","yellow"]}},"required":["enabled"],"additionalProperties":false}},"additionalProperties":false}},"required":["op","target"],"additionalProperties":false}}},"required":["expectedRevision","operations"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"edit_problem","kind":"act","impl":"imperative","description":"Create or partially update a semantic teaching problem with lead, prompt, answer, solution, hints, tags, and pagination. Use Markdown strings inside each area; never fake a problem with visual headings alone. Unavailable on whiteboard documents (WHITEBOARD_NO_BODY); use create_overlay kind:\"text\" there. Before the first edit, call get_agent_instructions and inspect_document. This appends to the one pending human-reviewed draft and never applies changes automatically.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Revision returned by inspect_document. Required for every write."},"action":{"type":"string","enum":["create","update"]},"targetId":{"type":"string"},"id":{"type":"string"},"expectedProblem":{"type":"object","additionalProperties":true},"tags":{"type":"array","items":{"type":"string"}},"lead":{"oneOf":[{"oneOf":[{"type":"string"},{"type":"object","description":"A rich body input. Use type paragraph/heading/list/codeBlock/boxBlock and typed runs in children or runs.","additionalProperties":true}]},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object","description":"A rich body input. Use type paragraph/heading/list/codeBlock/boxBlock and typed runs in children or runs.","additionalProperties":true}]}}]},"prompt":{"oneOf":[{"oneOf":[{"type":"string"},{"type":"object","description":"A rich body input. Use type paragraph/heading/list/codeBlock/boxBlock and typed runs in children or runs.","additionalProperties":true}]},{"type":"array","minItems":1,"items":{"oneOf":[{"type":"string"},{"type":"object","description":"A rich body input. Use type paragraph/heading/list/codeBlock/boxBlock and typed runs in children or runs.","additionalProperties":true}]}}]},"answer":{"oneOf":[{"type":"object","additionalProperties":true},{"type":"null"}]},"answerText":{"type":"string"},"answerTex":{"type":"string"},"solution":{"oneOf":[{"oneOf":[{"type":"string"},{"type":"object","description":"A rich body input. Use type paragraph/heading/list/codeBlock/boxBlock and typed runs in children or runs.","additionalProperties":true}]},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object","description":"A rich body input. Use type paragraph/heading/list/codeBlock/boxBlock and typed runs in children or runs.","additionalProperties":true}]}}]},"hints":{"oneOf":[{"oneOf":[{"type":"string"},{"type":"object","description":"A rich body input. Use type paragraph/heading/list/codeBlock/boxBlock and typed runs in children or runs.","additionalProperties":true}]},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object","description":"A rich body input. Use type paragraph/heading/list/codeBlock/boxBlock and typed runs in children or runs.","additionalProperties":true}]}}]},"pagination":{"oneOf":[{"type":"object","properties":{"break":{"type":"boolean"},"keepTogether":{"type":"boolean"},"keepWithNext":{"type":"boolean"}},"additionalProperties":false},{"type":"null"}]}},"required":["expectedRevision","action","targetId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"organize_blocks","kind":"act","impl":"imperative","description":"Move or delete existing body blocks while preserving SigmaDoc structure. Overlay objects use delete_overlay or arrange_overlay instead. Before the first edit, call get_agent_instructions and inspect_document. This appends to the one pending human-reviewed draft and never applies changes automatically.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Revision returned by inspect_document. Required for every write."},"action":{"type":"string","enum":["move","delete"]},"blockIds":{"type":"array","minItems":1,"items":{"type":"string"}},"expectedBlocks":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":true}},"targetId":{"type":"string"},"position":{"type":"string","enum":["before","after"]}},"required":["expectedRevision","action","blockIds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"update_layout","kind":"act","impl":"imperative","description":"Update paper size/margins or column layout without replacing document content. Choose one intent with action. Before the first edit, call get_agent_instructions and inspect_document. This appends to the one pending human-reviewed draft and never applies changes automatically.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Revision returned by inspect_document. Required for every write."},"action":{"type":"string","enum":["page","document_columns","wrap_blocks","update_section","unwrap_section"]},"preset":{"type":"string","enum":["A4","A3","B5","B4","custom"]},"orientation":{"type":"string","enum":["portrait","landscape"]},"customSizeMm":{"type":"object","additionalProperties":true},"marginsMm":{"type":"object","additionalProperties":true},"blockIds":{"type":"array","items":{"type":"string"}},"sectionId":{"type":"string"},"columnCount":{"type":"integer","minimum":1,"maximum":4},"columnGapMm":{"type":"number","minimum":0}},"required":["expectedRevision","action"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"create_overlay","kind":"act","impl":"imperative","description":"Create one drawable overlay shape, text object, or callout. kind:\"text\" accepts markdown for multi-paragraph rich text (headings, lists, $math$). Tables and graphs use their dedicated insert tools. Use semantic placement relative to a block when possible; use absolute page coordinates only for deliberate composition. Before the first edit, call get_agent_instructions and inspect_document. This appends to the one pending human-reviewed draft and never applies changes automatically.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Revision returned by inspect_document. Required for every write."},"targetId":{"type":"string","description":"Anchor block ID, END_OF_DOCUMENT is not valid for overlays. Use \"CANVAS\" on a whiteboard document together with absolute x/y."},"area":{"type":"string","enum":["lead","prompt","solution","hints"]},"id":{"type":"string"},"kind":{"type":"string","enum":["rectangle","circle","ellipse","triangle","diamond","pentagon","blockArrow","arc","sector","arrow","line","polyline","curve","freehand","highlight","text","callout"]},"x":{"type":"number","description":"Absolute page X coordinate in pixels."},"y":{"type":"number","description":"Absolute page Y coordinate in pixels."},"placement":{"type":"object","properties":{"anchorBlockId":{"type":"string"},"position":{"type":"string","enum":["below","above","rightOf","leftOf"]},"offsetX":{"type":"number"},"offsetY":{"type":"number"}},"required":["anchorBlockId","position"],"additionalProperties":false},"w":{"type":"number","exclusiveMinimum":0},"h":{"type":"number","exclusiveMinimum":0},"rotationDeg":{"type":"number","description":"Clockwise rotation in degrees."},"label":{"type":"string"},"text":{"type":"string"},"tex":{"type":"string"},"markdown":{"type":"string","description":"Multi-paragraph rich text for kind:\"text\" only. Same Markdown rules as insert_markdown (paragraphs, headings, nested lists, fenced code, bold, italic, $...$ and $$...$$ math, \\$ for a literal dollar). Mutually exclusive with text/tex/label."},"points":{"type":"array","minItems":2,"maxItems":256,"items":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"additionalProperties":false}},"start":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"additionalProperties":false},"end":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"additionalProperties":false},"closed":{"type":"boolean"},"color":{"type":"string"},"fill":{"type":"string","enum":["none","solid"]},"fillColor":{"type":"string"},"fillOpacity":{"type":"number","minimum":0,"maximum":1},"strokeOpacity":{"type":"number","minimum":0,"maximum":1},"opacity":{"type":"number","minimum":0,"maximum":1},"dash":{"type":"string","enum":["solid","dashed","dotted"]},"size":{"type":"string","enum":["s","m","l","xl"]},"fontSize":{"type":"number","exclusiveMinimum":0},"arrowheadStart":{"type":"string"},"arrowheadEnd":{"type":"string"},"tailBaseStart":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"additionalProperties":false},"tailBaseEnd":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"additionalProperties":false},"tailTip":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"additionalProperties":false},"cornerRadius":{"type":"number","minimum":0},"startAngleDeg":{"type":"number"},"endAngleDeg":{"type":"number"},"r":{"type":"number","exclusiveMinimum":0},"rx":{"type":"number","exclusiveMinimum":0},"ry":{"type":"number","exclusiveMinimum":0},"stackLayer":{"type":"string","enum":["foreground","background"]},"reserveSpace":{"type":"boolean"}},"required":["expectedRevision","kind"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"update_overlay","kind":"act","impl":"imperative","description":"Partially update an existing drawable shape, text object, or callout in place. Tables and graphs use their dedicated update tools. The current complete expectedShape is required as a freshness guard; unspecified fields remain unchanged. Before the first edit, call get_agent_instructions and inspect_document. This appends to the one pending human-reviewed draft and never applies changes automatically.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Revision returned by inspect_document. Required for every write."},"shapeId":{"type":"string"},"expectedShape":{"type":"object","description":"The complete current canonical shape returned by inspect_document. Used as a freshness guard.","additionalProperties":true},"targetId":{"type":"string","description":"Anchor block ID, END_OF_DOCUMENT is not valid for overlays. Use \"CANVAS\" on a whiteboard document together with absolute x/y."},"area":{"type":"string","enum":["lead","prompt","solution","hints"]},"id":{"type":"string"},"kind":{"type":"string","enum":["rectangle","circle","ellipse","triangle","diamond","pentagon","blockArrow","arc","sector","arrow","line","polyline","curve","freehand","highlight","text","callout"]},"x":{"type":"number","description":"Absolute page X coordinate in pixels."},"y":{"type":"number","description":"Absolute page Y coordinate in pixels."},"placement":{"type":"object","properties":{"anchorBlockId":{"type":"string"},"position":{"type":"string","enum":["below","above","rightOf","leftOf"]},"offsetX":{"type":"number"},"offsetY":{"type":"number"}},"required":["anchorBlockId","position"],"additionalProperties":false},"w":{"type":"number","exclusiveMinimum":0},"h":{"type":"number","exclusiveMinimum":0},"rotationDeg":{"type":"number","description":"Clockwise rotation in degrees."},"label":{"type":"string"},"text":{"type":"string"},"tex":{"type":"string"},"markdown":{"type":"string","description":"Multi-paragraph rich text for kind:\"text\" only. Same Markdown rules as insert_markdown (paragraphs, headings, nested lists, fenced code, bold, italic, $...$ and $$...$$ math, \\$ for a literal dollar). Mutually exclusive with text/tex/label."},"points":{"type":"array","minItems":2,"maxItems":256,"items":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"additionalProperties":false}},"start":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"additionalProperties":false},"end":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"additionalProperties":false},"closed":{"type":"boolean"},"color":{"type":"string"},"fill":{"type":"string","enum":["none","solid"]},"fillColor":{"type":"string"},"fillOpacity":{"type":"number","minimum":0,"maximum":1},"strokeOpacity":{"type":"number","minimum":0,"maximum":1},"opacity":{"type":"number","minimum":0,"maximum":1},"dash":{"type":"string","enum":["solid","dashed","dotted"]},"size":{"type":"string","enum":["s","m","l","xl"]},"fontSize":{"type":"number","exclusiveMinimum":0},"arrowheadStart":{"type":"string"},"arrowheadEnd":{"type":"string"},"tailBaseStart":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"additionalProperties":false},"tailBaseEnd":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"additionalProperties":false},"tailTip":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"additionalProperties":false},"cornerRadius":{"type":"number","minimum":0},"startAngleDeg":{"type":"number"},"endAngleDeg":{"type":"number"},"r":{"type":"number","exclusiveMinimum":0},"rx":{"type":"number","exclusiveMinimum":0},"ry":{"type":"number","exclusiveMinimum":0},"stackLayer":{"type":"string","enum":["foreground","background"]},"reserveSpace":{"type":"boolean"},"autoSize":{"type":"boolean"},"locked":{"type":"boolean"},"hidden":{"type":"boolean"}},"required":["expectedRevision","shapeId","expectedShape"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"arrange_overlay","kind":"act","impl":"imperative","description":"Align or evenly distribute two or more existing overlay objects as one composition operation. Before the first edit, call get_agent_instructions and inspect_document. This appends to the one pending human-reviewed draft and never applies changes automatically.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Revision returned by inspect_document. Required for every write."},"shapeIds":{"type":"array","minItems":2,"items":{"type":"string"}},"expectedShapes":{"type":"array","minItems":2,"items":{"type":"object","description":"The complete current canonical shape returned by inspect_document. Used as a freshness guard.","additionalProperties":true}},"mode":{"type":"string","enum":["left","right","top","bottom","centerX","centerY","distributeX","distributeY"]}},"required":["expectedRevision","shapeIds","expectedShapes","mode"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"delete_overlay","kind":"transact","impl":"imperative","description":"Delete one or more overlay shapes, text objects, callouts, tables, or graphs. Never delete and recreate an object merely to make a partial update. Before the first edit, call get_agent_instructions and inspect_document. This appends to the one pending human-reviewed draft and never applies changes automatically.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Revision returned by inspect_document. Required for every write."},"shapeIds":{"type":"array","minItems":1,"items":{"type":"string"}},"expectedShapes":{"type":"array","minItems":1,"items":{"type":"object","description":"The complete current canonical shape returned by inspect_document. Used as a freshness guard.","additionalProperties":true}}},"required":["expectedRevision","shapeIds","expectedShapes"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"insert_table","kind":"act","impl":"imperative","description":"Insert a plain or variation table. Use structured cells or variation semantics, not LaTeX approximations. Before the first edit, call get_agent_instructions and inspect_document. This appends to the one pending human-reviewed draft and never applies changes automatically.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Revision returned by inspect_document. Required for every write."},"targetId":{"type":"string","description":"Use \"CANVAS\" on a whiteboard document together with absolute x/y."},"area":{"type":"string","enum":["lead","prompt","solution","hints"]},"id":{"type":"string"},"x":{"type":"number"},"y":{"type":"number"},"placement":{"type":"object","properties":{"anchorBlockId":{"type":"string"},"position":{"type":"string","enum":["below","above","rightOf","leftOf"]},"offsetX":{"type":"number"},"offsetY":{"type":"number"}},"required":["anchorBlockId","position"],"additionalProperties":false},"w":{"type":"number","exclusiveMinimum":0},"h":{"type":"number","exclusiveMinimum":0},"kind":{"type":"string","enum":["plain","variation"]},"columns":{"type":"array","items":{"type":"object","additionalProperties":true}},"rows":{"type":"array","items":{"type":"object","additionalProperties":true}},"cells":{"type":"array","items":{"type":"array","items":{}}},"table":{"type":"object","additionalProperties":true},"grid":{"type":"object","additionalProperties":true},"defaultCellStyle":{"type":"object","additionalProperties":true},"variableLabel":{"type":"string"},"derivativeLabel":{"type":"string"},"functionLabel":{"type":"string"},"leftEndpoint":{},"rightEndpoint":{},"endpointValues":{"type":"array"},"criticalPoints":{"type":"array"},"criticalValues":{"type":"array"},"intervalSigns":{"type":"array"},"derivativeSigns":{"type":"array"},"trends":{"type":"array"},"functionValues":{"type":"array"},"reserveSpace":{"type":"boolean"}},"required":["expectedRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"update_table","kind":"act","impl":"imperative","description":"Update a table in place. cellPatches replaces only named cells and preserves column widths, row heights, grid, defaultCellStyle, every other cell, position, anchor, and shape ID. Before the first edit, call get_agent_instructions and inspect_document. This appends to the one pending human-reviewed draft and never applies changes automatically.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Revision returned by inspect_document. Required for every write."},"shapeId":{"type":"string"},"expectedShape":{"type":"object","description":"The complete current canonical shape returned by inspect_document. Used as a freshness guard.","additionalProperties":true},"targetId":{"type":"string","description":"Use \"CANVAS\" on a whiteboard document together with absolute x/y."},"area":{"type":"string","enum":["lead","prompt","solution","hints"]},"id":{"type":"string"},"x":{"type":"number"},"y":{"type":"number"},"placement":{"type":"object","properties":{"anchorBlockId":{"type":"string"},"position":{"type":"string","enum":["below","above","rightOf","leftOf"]},"offsetX":{"type":"number"},"offsetY":{"type":"number"}},"required":["anchorBlockId","position"],"additionalProperties":false},"w":{"type":"number","exclusiveMinimum":0},"h":{"type":"number","exclusiveMinimum":0},"kind":{"type":"string","enum":["plain","variation"]},"columns":{"type":"array","items":{"type":"object","additionalProperties":true}},"rows":{"type":"array","items":{"type":"object","additionalProperties":true}},"cells":{"type":"array","items":{"type":"array","items":{}}},"table":{"type":"object","additionalProperties":true},"grid":{"type":"object","additionalProperties":true},"defaultCellStyle":{"type":"object","additionalProperties":true},"variableLabel":{"type":"string"},"derivativeLabel":{"type":"string"},"functionLabel":{"type":"string"},"leftEndpoint":{},"rightEndpoint":{},"endpointValues":{"type":"array"},"criticalPoints":{"type":"array"},"criticalValues":{"type":"array"},"intervalSigns":{"type":"array"},"derivativeSigns":{"type":"array"},"trends":{"type":"array"},"functionValues":{"type":"array"},"reserveSpace":{"type":"boolean"},"cellPatches":{"type":"array","minItems":1,"items":{"type":"object","properties":{"row":{"type":"integer","minimum":0},"col":{"type":"integer","minimum":0},"content":{}},"required":["row","col","content"],"additionalProperties":false}}},"required":["expectedRevision","shapeId","expectedShape"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"insert_graph","kind":"act","impl":"imperative","description":"Insert a graph2dShape using evaluation expressions (not TeX), typed axes, curves, points, annotations, fills, and view boxes. Before the first edit, call get_agent_instructions and inspect_document. This appends to the one pending human-reviewed draft and never applies changes automatically.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Revision returned by inspect_document. Required for every write."},"targetId":{"type":"string","description":"Use \"CANVAS\" on a whiteboard document together with absolute x/y."},"area":{"type":"string","enum":["lead","prompt","solution","hints"]},"id":{"type":"string"},"x":{"type":"number"},"y":{"type":"number"},"w":{"type":"number","exclusiveMinimum":0},"h":{"type":"number","exclusiveMinimum":0},"kind":{"type":"string","enum":["cartesian","numberLine"]},"title":{"type":"string"},"width":{"type":"number","exclusiveMinimum":0},"height":{"type":"number","exclusiveMinimum":0},"viewBox":{"type":"object","additionalProperties":true},"graphViewBox":{"type":"object","additionalProperties":true},"axes":{"type":"object","additionalProperties":true},"curves":{"type":"array","maxItems":16,"items":{"type":"object","additionalProperties":true}},"points":{"type":"array","maxItems":64,"items":{"type":"object","additionalProperties":true}},"annotations":{"type":"array","maxItems":32,"items":{"type":"object","additionalProperties":true}},"fills":{"type":"array","maxItems":24,"items":{"type":"object","additionalProperties":true}},"showFormulaLabels":{"type":"boolean"}},"required":["expectedRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"update_graph","kind":"act","impl":"imperative","description":"Partially update an existing graph in place while preserving all unspecified spec fields, position, anchor, shape ID, and size. Before the first edit, call get_agent_instructions and inspect_document. This appends to the one pending human-reviewed draft and never applies changes automatically.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Revision returned by inspect_document. Required for every write."},"shapeId":{"type":"string"},"expectedShape":{"type":"object","description":"The complete current canonical shape returned by inspect_document. Used as a freshness guard.","additionalProperties":true},"targetId":{"type":"string","description":"Use \"CANVAS\" on a whiteboard document together with absolute x/y."},"area":{"type":"string","enum":["lead","prompt","solution","hints"]},"id":{"type":"string"},"x":{"type":"number"},"y":{"type":"number"},"w":{"type":"number","exclusiveMinimum":0},"h":{"type":"number","exclusiveMinimum":0},"kind":{"type":"string","enum":["cartesian","numberLine"]},"title":{"type":"string"},"width":{"type":"number","exclusiveMinimum":0},"height":{"type":"number","exclusiveMinimum":0},"viewBox":{"type":"object","additionalProperties":true},"graphViewBox":{"type":"object","additionalProperties":true},"axes":{"type":"object","additionalProperties":true},"curves":{"type":"array","maxItems":16,"items":{"type":"object","additionalProperties":true}},"points":{"type":"array","maxItems":64,"items":{"type":"object","additionalProperties":true}},"annotations":{"type":"array","maxItems":32,"items":{"type":"object","additionalProperties":true}},"fills":{"type":"array","maxItems":24,"items":{"type":"object","additionalProperties":true}},"showFormulaLabels":{"type":"boolean"}},"required":["expectedRevision","shapeId","expectedShape"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"insert_graph3d","kind":"act","impl":"imperative","description":"Insert a 3D figure (graph3dShape) from a preset and typed Graph3D fields. Coordinates are z-up (zUp) right-handed; object rotation is in radians (pi/2 = 90 degrees) while camera.fov is in degrees, and w/h are px. Expressions are evaluation expressions, not TeX. Use insert_graph for 2D function graphs, coordinate planes and number lines. Before the first edit, call get_agent_instructions and inspect_document. This appends to the one pending human-reviewed draft and never applies changes automatically.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Revision returned by inspect_document. Required for every write."},"targetId":{"type":"string","description":"Use \"CANVAS\" on a whiteboard document together with absolute x/y."},"area":{"type":"string","enum":["lead","prompt","solution","hints"]},"id":{"type":"string"},"x":{"type":"number"},"y":{"type":"number"},"w":{"type":"number","exclusiveMinimum":0,"description":"Figure width in px (default 360)."},"h":{"type":"number","exclusiveMinimum":0,"description":"Figure height in px (default 280)."},"preset":{"type":"string","enum":["revolution","surface","tricylinder","sphereTetrahedron","blank"],"description":"Starting point: revolution (solid of revolution with a section), surface (surface with contours), tricylinder (common part of three cylinders), sphereTetrahedron (sphere and tetrahedron), blank (axes and grid only)."},"spec":{"type":"object","additionalProperties":true,"description":"A whole Graph3DSpec, minus version and cuts. Individual fields below override it."},"parameters":{"type":"array","maxItems":16,"items":{"type":"object","additionalProperties":true}},"objects":{"type":"array","maxItems":64,"items":{"type":"object","additionalProperties":true},"description":"Solids, surfaces, curves, points and planes. Replaces the whole list (it does not append). Expressions are evaluation expressions, not TeX; rotation/translation/scale are expression strings and rotation is in radians (pi/2 = 90 degrees)."},"regions":{"type":"array","maxItems":32,"items":{"type":"object","additionalProperties":true},"description":"Parts two or more objects have in common, drawn in their own colour. Nothing is cut away."},"annotations":{"type":"array","maxItems":64,"items":{"type":"object","additionalProperties":true},"description":"labelTex is TeX. Labels are never baked into the picture; they stay a vector layer."},"camera":{"type":"object","additionalProperties":true,"description":"Shallow-merged onto the current camera. fov is in degrees (the one degree-valued field)."},"view":{"type":"object","additionalProperties":true,"description":"Shallow-merged onto the current view settings. Coordinates are z-up (zUp) right-handed."}},"required":["expectedRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"update_graph3d","kind":"act","impl":"imperative","description":"Partially update an existing 3D figure in place. The shape ID, position, anchor and every unspecified field are preserved; supplied arrays replace the whole list while camera and view are shallow-merged. Never rebuild a figure with delete_shapes plus insert_graph3d — that loses its position, size and camera. Before the first edit, call get_agent_instructions and inspect_document. This appends to the one pending human-reviewed draft and never applies changes automatically.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Revision returned by inspect_document. Required for every write."},"shapeId":{"type":"string"},"expectedShape":{"type":"object","description":"The complete current canonical shape returned by inspect_document. Used as a freshness guard.","additionalProperties":true},"targetId":{"type":"string","description":"Use \"CANVAS\" on a whiteboard document together with absolute x/y."},"area":{"type":"string","enum":["lead","prompt","solution","hints"]},"id":{"type":"string"},"x":{"type":"number"},"y":{"type":"number"},"w":{"type":"number","exclusiveMinimum":0,"description":"Figure width in px (default 360)."},"h":{"type":"number","exclusiveMinimum":0,"description":"Figure height in px (default 280)."},"preset":{"type":"string","enum":["revolution","surface","tricylinder","sphereTetrahedron","blank"],"description":"Starting point: revolution (solid of revolution with a section), surface (surface with contours), tricylinder (common part of three cylinders), sphereTetrahedron (sphere and tetrahedron), blank (axes and grid only)."},"spec":{"type":"object","additionalProperties":true,"description":"A whole Graph3DSpec, minus version and cuts. Individual fields below override it."},"parameters":{"type":"array","maxItems":16,"items":{"type":"object","additionalProperties":true}},"objects":{"type":"array","maxItems":64,"items":{"type":"object","additionalProperties":true},"description":"Solids, surfaces, curves, points and planes. Replaces the whole list (it does not append). Expressions are evaluation expressions, not TeX; rotation/translation/scale are expression strings and rotation is in radians (pi/2 = 90 degrees)."},"regions":{"type":"array","maxItems":32,"items":{"type":"object","additionalProperties":true},"description":"Parts two or more objects have in common, drawn in their own colour. Nothing is cut away."},"annotations":{"type":"array","maxItems":64,"items":{"type":"object","additionalProperties":true},"description":"labelTex is TeX. Labels are never baked into the picture; they stay a vector layer."},"camera":{"type":"object","additionalProperties":true,"description":"Shallow-merged onto the current camera. fov is in degrees (the one degree-valued field)."},"view":{"type":"object","additionalProperties":true,"description":"Shallow-merged onto the current view settings. Coordinates are z-up (zUp) right-handed."}},"required":["expectedRevision","shapeId","expectedShape"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"list_comments","kind":"answer","impl":"imperative","description":"List the comment threads on the document: where each is pinned, who wrote it, and whether it is resolved. Call this before commenting so you do not repeat a point that is already raised.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"includeResolved":{"type":"boolean","default":false,"description":"Include threads a person already marked resolved."},"targetId":{"type":"string","description":"Only threads pinned to this body block or overlay shape."},"limit":{"type":"integer","minimum":1,"maximum":100,"default":50}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"add_comment","kind":"act","impl":"imperative","description":"Pin a new comment thread to any place in the document: a whole block, an exact phrase inside it, one inline formula, or one or more figures. State who you are in author so the reader sees which AI wrote it. The target must exist in the document as it stands; content that only exists inside the pending edit draft cannot be commented on until a person applies it. Comments annotate the document without changing any content, so they apply immediately and never occupy the pending edit draft.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"author":{"type":"object","description":"Who is writing. Required: the person reading the document must be able to see which AI left the comment.","properties":{"name":{"type":"string","minLength":1,"description":"Display name on the comment, for example ChatGPT, Claude, or Gemini."},"vendor":{"type":"string","enum":["openai","anthropic","google","microsoft","meta","xai","mistral","other"],"description":"Which company's model is writing. This chooses the logo drawn on the comment avatar; use other when none of these fit."},"model":{"type":"string","minLength":1,"description":"Optional exact model name shown next to the display name."}},"required":["name","vendor"],"additionalProperties":false},"target":{"type":"object","description":"Where the comment is pinned. Pass shapeIds for a figure, blockId plus mathInlineId for one formula, blockId plus text for a phrase, or blockId alone for the whole block.","properties":{"blockId":{"type":"string","description":"Body or problem-area block ID from inspect_document."},"text":{"type":"string","minLength":1,"description":"Exact phrase inside that block to underline. Must appear verbatim."},"occurrence":{"type":"integer","minimum":1,"description":"Which occurrence of text to use when it appears more than once."},"mathInlineId":{"type":"string","description":"Inline math ID inside that block."},"shapeIds":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"string"},"description":"Overlay shape IDs (figures, tables, graphs)."}},"additionalProperties":false},"text":{"type":"string","minLength":1,"description":"Comment body. $...$ becomes math and **bold** / *italic* are honoured."}},"required":["author","target","text"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"reply_comment","kind":"act","impl":"imperative","description":"Reply inside an existing comment thread. Use this to answer a person's question or to follow up on your own comment instead of pinning a second thread to the same place. Comments annotate the document without changing any content, so they apply immediately and never occupy the pending edit draft.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"author":{"type":"object","description":"Who is writing. Required: the person reading the document must be able to see which AI left the comment.","properties":{"name":{"type":"string","minLength":1,"description":"Display name on the comment, for example ChatGPT, Claude, or Gemini."},"vendor":{"type":"string","enum":["openai","anthropic","google","microsoft","meta","xai","mistral","other"],"description":"Which company's model is writing. This chooses the logo drawn on the comment avatar; use other when none of these fit."},"model":{"type":"string","minLength":1,"description":"Optional exact model name shown next to the display name."}},"required":["name","vendor"],"additionalProperties":false},"threadId":{"type":"string","description":"Thread ID from list_comments or add_comment."},"text":{"type":"string","minLength":1}},"required":["author","threadId","text"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"},{"name":"resolve_comment","kind":"act","impl":"imperative","description":"Mark a comment thread resolved, or reopen one. Resolve only threads whose point is actually settled. Comments annotate the document without changing any content, so they apply immediately and never occupy the pending edit draft.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"threadId":{"type":"string"},"resolved":{"type":"boolean","default":true}},"required":["threadId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/sigma/"}],"category":"Health & Education","favicon":"/favicons/sigma-studio-webmcp-demo.choco954303.chatgpt.site.png","apiSurface":"spec","toolCount":26}}