{"ok":true,"site":{"host":"morita-atsuya.github.io","url":"https://morita-atsuya.github.io/screen-blueprint-studio/","type":"live","desc":"Screen Blueprint Studio","tools":[{"name":"get_current_screen_context","kind":"answer","impl":"imperative","description":"Start here. Returns a bounded active-screen outline, canonical selection target, revision, state/event/API/Definition indexes, and proposal summary. Use get_component for component detail; include+detailId returns one state, event, API, or Definition.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"include":{"type":"string","enum":["state","event","api","definition"]},"detailId":{"type":"string","minLength":1},"index":{"type":"string","enum":["screens","definitions","components","states","events","apis"]},"offset":{"type":"integer","minimum":0}},"required":[],"description":"For one full entity, provide include+detailId. For a truncated index, provide index+offset.","additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/screen-blueprint-studio/"},{"name":"get_component","kind":"answer","impl":"imperative","description":"After get_current_screen_context, read one effective component spec, canonical target, hierarchy/order, state override, events, and API bindings. Pass target for Shared/Collection nodes.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"componentId":{"type":"string","minLength":1,"description":"Component to inspect; omit to use the currently selected component."},"target":{"type":"object","description":"Required by type: inline componentId; definitionNode instanceId+nodePath; collectionItemNode collectionId+nodePath.","properties":{"type":{"type":"string","enum":["inline","definitionNode","collectionItemNode"]},"componentId":{"type":"string","minLength":1},"instanceId":{"type":"string","minLength":1},"collectionId":{"type":"string","minLength":1},"nodePath":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}}},"required":["type"],"additionalProperties":false}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/screen-blueprint-studio/"},{"name":"get_pending_change_set","kind":"answer","impl":"imperative","description":"After get_current_screen_context writes, review bounded operation summaries and compact diffs. Use offset when nextOffset is returned. No commands, full values, or snapshots are echoed. Only a human can Accept or Reject.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"offset":{"type":"integer","minimum":0}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/screen-blueprint-studio/"},{"name":"change_screen_structure","kind":"act","impl":"imperative","description":"Add, update, or remove a screen. Required: add name+route; update/remove screenId. Read get_current_screen_context first. The first valid mutation automatically creates a reviewable proposal; later mutations append to it. Check get_pending_change_set before mixing unrelated work. Only a human can Accept or Reject.","inputSchema":{"type":"object","properties":{"operation":{"type":"string","enum":["add","update","remove"]},"screenId":{"type":"string","minLength":1},"name":{"type":"string"},"route":{"type":"string"}},"required":["operation"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/screen-blueprint-studio/"},{"name":"change_component_structure","kind":"act","impl":"imperative","description":"Add, move, duplicate, or remove components. Add requires screenId,parentId,kind,placement,sizing,config (modal parentId=null); move requires componentId+newParentId. Read get_current_screen_context first. The first valid mutation automatically creates a reviewable proposal; later mutations append to it. Check get_pending_change_set before mixing unrelated work. Only a human can Accept or Reject.","inputSchema":{"type":"object","properties":{"operation":{"type":"string","enum":["add","move","duplicate","remove"]},"screenId":{"type":"string","minLength":1},"parentId":{"type":["string","null"]},"componentId":{"type":"string","minLength":1},"newParentId":{"type":"string","minLength":1},"kind":{"type":"string","enum":["container","text","textInput","select","button","image","link","collection","modal"]},"placement":{"type":"object","description":"Required by mode: flow only mode; sticky edge+inset; overlay/viewport anchor+insetX+insetY.","properties":{"mode":{"type":"string","enum":["flow","sticky","overlay","viewport"]},"edge":{"type":"string","enum":["top","bottom"]},"anchor":{"type":"string","enum":["topLeft","topCenter","topRight","centerLeft","center","centerRight","bottomLeft","bottomCenter","bottomRight"]},"inset":{"type":"string","enum":["none","xs","sm","md","lg"]},"insetX":{"type":"string","enum":["none","xs","sm","md","lg"]},"insetY":{"type":"string","enum":["none","xs","sm","md","lg"]}},"required":["mode"],"additionalProperties":false},"sizing":{"type":"object","properties":{"inlineSize":{"type":"string","enum":["auto","content","fill"]},"minWidth":{"type":"string","enum":["none","xs","sm","md","lg","xl"]},"maxWidth":{"type":"string","enum":["none","xs","sm","md","lg","xl"]},"gridSpan":{"type":"integer","minimum":1,"maximum":12},"grow":{"type":"integer","minimum":0,"maximum":3},"shrink":{"type":"string","enum":["allow","prevent"]}},"required":["inlineSize","minWidth","maxWidth","gridSpan","grow","shrink"],"additionalProperties":false},"config":{"type":"object","description":"Complete config. Required fields depend on kind and are validated exactly at runtime: layout kinds need layout/gap/columns/justify/align/wrap; text needs text/style; textInput and select need field fields; other kinds need their typed fields.","properties":{"kind":{"type":"string","enum":["page","container","text","textInput","select","button","image","link","collection","modal"]},"layout":{"type":"string","enum":["vertical","horizontal","grid"]},"gap":{"type":"string","enum":["none","sm","md","lg"]},"columns":{"type":"integer","minimum":1,"maximum":12},"justify":{"type":"string","enum":["start","center","end","between"]},"align":{"type":"string","enum":["start","center","end","stretch"]},"wrap":{"type":"boolean"},"text":{"type":"string"},"style":{"type":"string","enum":["heading1","heading2","heading3","body","caption"]},"fieldKey":{"type":"string"},"label":{"type":"string"},"inputType":{"type":"string","enum":["text","email","password"]},"required":{"type":"boolean"},"placeholder":{"type":"string"},"defaultValue":{"type":"string"},"validationRules":{"type":"array","items":{"type":"object","description":"Required: id, type, message. minLength/maxLength/pattern also require value; custom requires description.","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["required","email","minLength","maxLength","pattern","custom"]},"message":{"type":"string","minLength":1},"value":{"type":["string","integer"]},"description":{"type":"string","minLength":1}},"required":["id","type","message"],"additionalProperties":false}},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"}},"required":["value","label"],"additionalProperties":false}},"variant":{"type":"string","enum":["primary","secondary","danger"]},"eventId":{"type":["string","null"]},"confirmationMessage":{"type":["string","null"]},"preventDoubleSubmit":{"type":"boolean"},"source":{"type":"string"},"alt":{"type":"string","minLength":1},"fit":{"type":"string","enum":["contain","cover"]},"aspectRatio":{"type":"string","enum":["auto","square","4:3","16:9"]},"placeholderStyle":{"type":"string","enum":["icon","skeleton"]},"destination":{"type":"object","description":"Required by type: internal screenId; external url; resource resourceId, url, displayName.","properties":{"type":{"type":"string","enum":["internal","external","resource"]},"screenId":{"type":"string","minLength":1},"url":{"type":"string","minLength":1},"resourceId":{"type":"string","minLength":1},"displayName":{"type":"string","minLength":1}},"required":["type"],"additionalProperties":false},"openMode":{"type":"string","enum":["sameContext","newContext","download"]},"dataSource":{"type":"object","properties":{"apiOperationId":{"type":["string","null"]},"itemsPath":{"type":"string"},"previewItems":{"type":"array","maxItems":20,"items":{"type":"object","description":"JSON preview object; nested JSON is accepted and validated at runtime."}}},"required":["apiOperationId","itemsPath","previewItems"],"additionalProperties":false},"itemKeyPath":{"type":"string","minLength":1},"itemTemplate":{"type":"object","properties":{"source":{"type":"object","properties":{"$ref":{"type":"string","minLength":1,"description":"Local #/componentDefinitions/... reference."}},"required":["$ref"],"additionalProperties":false},"props":{"type":"object","additionalProperties":{"type":["string","number","boolean"]}},"variantId":{"type":["string","null"]}},"required":["source","props","variantId"],"additionalProperties":false},"propBindings":{"type":"array","items":{"type":"object","properties":{"propKey":{"type":"string","minLength":1},"source":{"type":"object","description":"Use type=item with path, or type=literal with scalar value. Runtime validation enforces the matching fields.","properties":{"type":{"type":"string","enum":["item","literal"]},"path":{"type":"string"},"value":{"type":["string","number","boolean","null"]}},"required":["type"],"additionalProperties":false}},"required":["propKey","source"],"additionalProperties":false}},"variantSelection":{"type":"object","properties":{"cases":{"type":"array","items":{"type":"object","properties":{"source":{"type":"object","description":"Use type=item with path, or type=literal with scalar value. Runtime validation enforces the matching fields.","properties":{"type":{"type":"string","enum":["item","literal"]},"path":{"type":"string"},"value":{"type":["string","number","boolean","null"]}},"required":["type"],"additionalProperties":false},"equals":{"type":["string","number","boolean","null"]},"variantId":{"type":"string","minLength":1}},"required":["source","equals","variantId"],"additionalProperties":false}},"fallbackVariantId":{"type":["string","null"]}},"required":["cases","fallbackVariantId"],"additionalProperties":false},"visibility":{"type":["object","null"],"properties":{"source":{"type":"object","description":"Use type=item with path, or type=literal with scalar value. Runtime validation enforces the matching fields.","properties":{"type":{"type":"string","enum":["item","literal"]},"path":{"type":"string"},"value":{"type":["string","number","boolean","null"]}},"required":["type"],"additionalProperties":false},"equals":{"type":["string","number","boolean","null"]},"visibleWhenMatched":{"type":"boolean"},"fallback":{"type":"boolean"}},"required":["source","equals","visibleWhenMatched","fallback"],"additionalProperties":false}},"required":["kind"],"additionalProperties":false},"position":{"type":"integer","minimum":0}},"required":["operation"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/screen-blueprint-studio/"},{"name":"update_component_spec","kind":"act","impl":"imperative","description":"Patch component common/config/placement/sizing fields. Partial sizing merges with current sizing; incompatible kind fields and unknown keys are rejected. Read get_current_screen_context first. The first valid mutation automatically creates a reviewable proposal; later mutations append to it. Check get_pending_change_set before mixing unrelated work. Only a human can Accept or Reject.","inputSchema":{"type":"object","properties":{"componentId":{"type":"string","minLength":1},"patch":{"type":"object","properties":{"common":{"type":"object","properties":{"description":{"type":"string"},"visible":{"type":"boolean"},"enabled":{"type":"boolean"}},"additionalProperties":false},"config":{"type":"object","properties":{"kind":{"type":"string","enum":["page","container","text","textInput","select","button","image","link","collection","modal"]},"layout":{"type":"string","enum":["vertical","horizontal","grid"]},"gap":{"type":"string","enum":["none","sm","md","lg"]},"columns":{"type":"integer","minimum":1,"maximum":12},"justify":{"type":"string","enum":["start","center","end","between"]},"align":{"type":"string","enum":["start","center","end","stretch"]},"wrap":{"type":"boolean"},"text":{"type":"string"},"style":{"type":"string","enum":["heading1","heading2","heading3","body","caption"]},"fieldKey":{"type":"string"},"label":{"type":"string"},"inputType":{"type":"string","enum":["text","email","password"]},"required":{"type":"boolean"},"placeholder":{"type":"string"},"defaultValue":{"type":"string"},"validationRules":{"type":"array","items":{"type":"object","description":"Required: id, type, message. minLength/maxLength/pattern also require value; custom requires description.","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["required","email","minLength","maxLength","pattern","custom"]},"message":{"type":"string","minLength":1},"value":{"type":["string","integer"]},"description":{"type":"string","minLength":1}},"required":["id","type","message"],"additionalProperties":false}},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"}},"required":["value","label"],"additionalProperties":false}},"variant":{"type":"string","enum":["primary","secondary","danger"]},"eventId":{"type":["string","null"]},"confirmationMessage":{"type":["string","null"]},"preventDoubleSubmit":{"type":"boolean"},"source":{"type":"string"},"alt":{"type":"string","minLength":1},"fit":{"type":"string","enum":["contain","cover"]},"aspectRatio":{"type":"string","enum":["auto","square","4:3","16:9"]},"placeholderStyle":{"type":"string","enum":["icon","skeleton"]},"destination":{"type":"object","description":"Required by type: internal screenId; external url; resource resourceId, url, displayName.","properties":{"type":{"type":"string","enum":["internal","external","resource"]},"screenId":{"type":"string","minLength":1},"url":{"type":"string","minLength":1},"resourceId":{"type":"string","minLength":1},"displayName":{"type":"string","minLength":1}},"required":["type"],"additionalProperties":false},"openMode":{"type":"string","enum":["sameContext","newContext","download"]},"dataSource":{"type":"object","properties":{"apiOperationId":{"type":["string","null"]},"itemsPath":{"type":"string"},"previewItems":{"type":"array","maxItems":20,"items":{"type":"object","description":"JSON preview object; nested JSON is accepted and validated at runtime."}}},"required":["apiOperationId","itemsPath","previewItems"],"additionalProperties":false},"itemKeyPath":{"type":"string","minLength":1},"itemTemplate":{"type":"object","properties":{"source":{"type":"object","properties":{"$ref":{"type":"string","minLength":1,"description":"Local #/componentDefinitions/... reference."}},"required":["$ref"],"additionalProperties":false},"props":{"type":"object","additionalProperties":{"type":["string","number","boolean"]}},"variantId":{"type":["string","null"]}},"required":["source","props","variantId"],"additionalProperties":false},"propBindings":{"type":"array","items":{"type":"object","properties":{"propKey":{"type":"string","minLength":1},"source":{"type":"object","description":"Use type=item with path, or type=literal with scalar value. Runtime validation enforces the matching fields.","properties":{"type":{"type":"string","enum":["item","literal"]},"path":{"type":"string"},"value":{"type":["string","number","boolean","null"]}},"required":["type"],"additionalProperties":false}},"required":["propKey","source"],"additionalProperties":false}},"variantSelection":{"type":"object","properties":{"cases":{"type":"array","items":{"type":"object","properties":{"source":{"type":"object","description":"Use type=item with path, or type=literal with scalar value. Runtime validation enforces the matching fields.","properties":{"type":{"type":"string","enum":["item","literal"]},"path":{"type":"string"},"value":{"type":["string","number","boolean","null"]}},"required":["type"],"additionalProperties":false},"equals":{"type":["string","number","boolean","null"]},"variantId":{"type":"string","minLength":1}},"required":["source","equals","variantId"],"additionalProperties":false}},"fallbackVariantId":{"type":["string","null"]}},"required":["cases","fallbackVariantId"],"additionalProperties":false},"visibility":{"type":["object","null"],"properties":{"source":{"type":"object","description":"Use type=item with path, or type=literal with scalar value. Runtime validation enforces the matching fields.","properties":{"type":{"type":"string","enum":["item","literal"]},"path":{"type":"string"},"value":{"type":["string","number","boolean","null"]}},"required":["type"],"additionalProperties":false},"equals":{"type":["string","number","boolean","null"]},"visibleWhenMatched":{"type":"boolean"},"fallback":{"type":"boolean"}},"required":["source","equals","visibleWhenMatched","fallback"],"additionalProperties":false}},"minProperties":1,"additionalProperties":false},"placement":{"type":"object","description":"Required by mode: flow only mode; sticky edge+inset; overlay/viewport anchor+insetX+insetY.","properties":{"mode":{"type":"string","enum":["flow","sticky","overlay","viewport"]},"edge":{"type":"string","enum":["top","bottom"]},"anchor":{"type":"string","enum":["topLeft","topCenter","topRight","centerLeft","center","centerRight","bottomLeft","bottomCenter","bottomRight"]},"inset":{"type":"string","enum":["none","xs","sm","md","lg"]},"insetX":{"type":"string","enum":["none","xs","sm","md","lg"]},"insetY":{"type":"string","enum":["none","xs","sm","md","lg"]}},"required":["mode"],"additionalProperties":false},"sizing":{"type":"object","properties":{"inlineSize":{"type":"string","enum":["auto","content","fill"]},"minWidth":{"type":"string","enum":["none","xs","sm","md","lg","xl"]},"maxWidth":{"type":"string","enum":["none","xs","sm","md","lg","xl"]},"gridSpan":{"type":"integer","minimum":1,"maximum":12},"grow":{"type":"integer","minimum":0,"maximum":3},"shrink":{"type":"string","enum":["allow","prevent"]}},"minProperties":1,"additionalProperties":false}},"minProperties":1,"additionalProperties":false}},"required":["componentId","patch"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/screen-blueprint-studio/"},{"name":"upsert_screen_state","kind":"act","impl":"imperative","description":"Create, update, or remove a screen state. Required: create screenId+name; update/remove stateId. Read get_current_screen_context first. The first valid mutation automatically creates a reviewable proposal; later mutations append to it. Check get_pending_change_set before mixing unrelated work. Only a human can Accept or Reject.","inputSchema":{"type":"object","properties":{"operation":{"type":"string","enum":["create","update","remove"]},"screenId":{"type":"string","minLength":1},"stateId":{"type":"string","minLength":1},"name":{"type":"string"},"description":{"type":"string"},"overrides":{"type":"array","items":{"type":"object","properties":{"target":{"type":"object","description":"Required by type: inline componentId; definitionNode instanceId+nodePath; collectionItemNode collectionId+nodePath.","properties":{"type":{"type":"string","enum":["inline","definitionNode","collectionItemNode"]},"componentId":{"type":"string","minLength":1},"instanceId":{"type":"string","minLength":1},"collectionId":{"type":"string","minLength":1},"nodePath":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}}},"required":["type"],"additionalProperties":false},"override":{"type":"object","properties":{"visible":{"type":"boolean"},"enabled":{"type":"boolean"},"text":{"type":"string"},"value":{"type":"string"}},"minProperties":1,"additionalProperties":false}},"required":["target","override"],"additionalProperties":false}}},"required":["operation"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/screen-blueprint-studio/"},{"name":"connect_behavior","kind":"act","impl":"imperative","description":"Create, update, or remove events/APIs without changing IDs. Event writes require name,trigger,actions plus screenId or eventId; API writes require name,method,path plus screenId or operationId. Read get_current_screen_context first. The first valid mutation automatically creates a reviewable proposal; later mutations append to it. Check get_pending_change_set before mixing unrelated work. Only a human can Accept or Reject.","inputSchema":{"type":"object","properties":{"operation":{"type":"string","enum":["connectEvent","updateEvent","removeEvent","bindApi","updateApi","removeApi"]},"screenId":{"type":"string","minLength":1},"eventId":{"type":"string","minLength":1},"operationId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"trigger":{"type":"object","properties":{"type":{"type":"string","enum":["click","submit"]},"target":{"type":"object","description":"Required by type: inline componentId; definitionNode instanceId+nodePath; collectionItemNode collectionId+nodePath.","properties":{"type":{"type":"string","enum":["inline","definitionNode","collectionItemNode"]},"componentId":{"type":"string","minLength":1},"instanceId":{"type":"string","minLength":1},"collectionId":{"type":"string","minLength":1},"nodePath":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}}},"required":["type"],"additionalProperties":false}},"required":["type","target"],"additionalProperties":false},"actions":{"type":"array","items":{"type":"object","description":"Required by type: setScenario scenarioId; callApi apiOperationId; navigate destinationScreenId. clearScenario needs only type.","properties":{"type":{"type":"string","enum":["setScenario","clearScenario","callApi","navigate"]},"scenarioId":{"type":"string","minLength":1},"apiOperationId":{"type":"string","minLength":1},"destinationScreenId":{"type":"string","minLength":1},"routeParameters":{"type":"object","propertyNames":{"type":"string","minLength":1,"pattern":"\\S"},"additionalProperties":{"type":"object","description":"Required by type: item path; literal scalar value.","properties":{"type":{"type":"string","enum":["item","literal"]},"path":{"type":"string"},"value":{"type":["string","number","boolean","null"]}},"required":["type"],"additionalProperties":false}},"queryParameters":{"type":"object","propertyNames":{"type":"string","minLength":1,"pattern":"\\S"},"additionalProperties":{"type":"object","description":"Required by type: item path; literal scalar value.","properties":{"type":{"type":"string","enum":["item","literal"]},"path":{"type":"string"},"value":{"type":["string","number","boolean","null"]}},"required":["type"],"additionalProperties":false}}},"required":["type"],"additionalProperties":false}},"method":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"path":{"type":"string","minLength":1},"requestBindings":{"type":"array","items":{"type":"object","properties":{"source":{"type":"object","description":"A component target (inline/definitionNode/collectionItemNode) or item/literal value source.","properties":{"type":{"type":"string","enum":["inline","definitionNode","collectionItemNode","item","literal"]},"componentId":{"type":"string","minLength":1},"instanceId":{"type":"string","minLength":1},"collectionId":{"type":"string","minLength":1},"nodePath":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}},"path":{"type":"string"},"value":{"type":["string","number","boolean","null"]}},"required":["type"],"additionalProperties":false},"targetPath":{"type":"string","minLength":1}},"required":["source","targetPath"],"additionalProperties":false}},"successStateId":{"type":["string","null"]},"errorStateId":{"type":["string","null"]}},"required":["operation"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/screen-blueprint-studio/"},{"name":"manage_component_definition","kind":"act","impl":"imperative","description":"Manage shared Definitions. create needs name; all other operations need definitionId. updateNode needs nodePath+patch; publishStringProp needs key+name+nodePath+field; addVariant needs name+propertyKey+propertyValue. Read get_current_screen_context first. The first valid mutation automatically creates a reviewable proposal; later mutations append to it. Check get_pending_change_set before mixing unrelated work. Only a human can Accept or Reject.","inputSchema":{"type":"object","properties":{"operation":{"type":"string","enum":["create","updateMeta","duplicate","remove","updateNode","publishStringProp","addVariant"]},"definitionId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"description":{"type":"string"},"nodePath":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}},"patch":{"type":"object","properties":{"common":{"type":"object","properties":{"description":{"type":"string"},"visible":{"type":"boolean"},"enabled":{"type":"boolean"}},"minProperties":1,"additionalProperties":false},"config":{"type":"object","properties":{"kind":{"type":"string","enum":["page","container","text","textInput","select","button","image","link","collection","modal"]},"layout":{"type":"string","enum":["vertical","horizontal","grid"]},"gap":{"type":"string","enum":["none","sm","md","lg"]},"columns":{"type":"integer","minimum":1,"maximum":12},"justify":{"type":"string","enum":["start","center","end","between"]},"align":{"type":"string","enum":["start","center","end","stretch"]},"wrap":{"type":"boolean"},"text":{"type":"string"},"style":{"type":"string","enum":["heading1","heading2","heading3","body","caption"]},"fieldKey":{"type":"string"},"label":{"type":"string"},"inputType":{"type":"string","enum":["text","email","password"]},"required":{"type":"boolean"},"placeholder":{"type":"string"},"defaultValue":{"type":"string"},"validationRules":{"type":"array","items":{"type":"object","description":"Required: id, type, message. minLength/maxLength/pattern also require value; custom requires description.","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["required","email","minLength","maxLength","pattern","custom"]},"message":{"type":"string","minLength":1},"value":{"type":["string","integer"]},"description":{"type":"string","minLength":1}},"required":["id","type","message"],"additionalProperties":false}},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"}},"required":["value","label"],"additionalProperties":false}},"variant":{"type":"string","enum":["primary","secondary","danger"]},"eventId":{"type":["string","null"]},"confirmationMessage":{"type":["string","null"]},"preventDoubleSubmit":{"type":"boolean"},"source":{"type":"string"},"alt":{"type":"string","minLength":1},"fit":{"type":"string","enum":["contain","cover"]},"aspectRatio":{"type":"string","enum":["auto","square","4:3","16:9"]},"placeholderStyle":{"type":"string","enum":["icon","skeleton"]},"destination":{"type":"object","description":"Required by type: internal screenId; external url; resource resourceId, url, displayName.","properties":{"type":{"type":"string","enum":["internal","external","resource"]},"screenId":{"type":"string","minLength":1},"url":{"type":"string","minLength":1},"resourceId":{"type":"string","minLength":1},"displayName":{"type":"string","minLength":1}},"required":["type"],"additionalProperties":false},"openMode":{"type":"string","enum":["sameContext","newContext","download"]},"dataSource":{"type":"object","properties":{"apiOperationId":{"type":["string","null"]},"itemsPath":{"type":"string"},"previewItems":{"type":"array","maxItems":20,"items":{"type":"object","description":"JSON preview object; nested JSON is accepted and validated at runtime."}}},"required":["apiOperationId","itemsPath","previewItems"],"additionalProperties":false},"itemKeyPath":{"type":"string","minLength":1},"itemTemplate":{"type":"object","properties":{"source":{"type":"object","properties":{"$ref":{"type":"string","minLength":1,"description":"Local #/componentDefinitions/... reference."}},"required":["$ref"],"additionalProperties":false},"props":{"type":"object","additionalProperties":{"type":["string","number","boolean"]}},"variantId":{"type":["string","null"]}},"required":["source","props","variantId"],"additionalProperties":false},"propBindings":{"type":"array","items":{"type":"object","properties":{"propKey":{"type":"string","minLength":1},"source":{"type":"object","description":"Use type=item with path, or type=literal with scalar value. Runtime validation enforces the matching fields.","properties":{"type":{"type":"string","enum":["item","literal"]},"path":{"type":"string"},"value":{"type":["string","number","boolean","null"]}},"required":["type"],"additionalProperties":false}},"required":["propKey","source"],"additionalProperties":false}},"variantSelection":{"type":"object","properties":{"cases":{"type":"array","items":{"type":"object","properties":{"source":{"type":"object","description":"Use type=item with path, or type=literal with scalar value. Runtime validation enforces the matching fields.","properties":{"type":{"type":"string","enum":["item","literal"]},"path":{"type":"string"},"value":{"type":["string","number","boolean","null"]}},"required":["type"],"additionalProperties":false},"equals":{"type":["string","number","boolean","null"]},"variantId":{"type":"string","minLength":1}},"required":["source","equals","variantId"],"additionalProperties":false}},"fallbackVariantId":{"type":["string","null"]}},"required":["cases","fallbackVariantId"],"additionalProperties":false},"visibility":{"type":["object","null"],"properties":{"source":{"type":"object","description":"Use type=item with path, or type=literal with scalar value. Runtime validation enforces the matching fields.","properties":{"type":{"type":"string","enum":["item","literal"]},"path":{"type":"string"},"value":{"type":["string","number","boolean","null"]}},"required":["type"],"additionalProperties":false},"equals":{"type":["string","number","boolean","null"]},"visibleWhenMatched":{"type":"boolean"},"fallback":{"type":"boolean"}},"required":["source","equals","visibleWhenMatched","fallback"],"additionalProperties":false}},"minProperties":1,"additionalProperties":false},"placement":{"type":"object","description":"Required by mode: flow only mode; sticky edge+inset; overlay/viewport anchor+insetX+insetY.","properties":{"mode":{"type":"string","enum":["flow","sticky","overlay","viewport"]},"edge":{"type":"string","enum":["top","bottom"]},"anchor":{"type":"string","enum":["topLeft","topCenter","topRight","centerLeft","center","centerRight","bottomLeft","bottomCenter","bottomRight"]},"inset":{"type":"string","enum":["none","xs","sm","md","lg"]},"insetX":{"type":"string","enum":["none","xs","sm","md","lg"]},"insetY":{"type":"string","enum":["none","xs","sm","md","lg"]}},"required":["mode"],"additionalProperties":false},"sizing":{"type":"object","properties":{"inlineSize":{"type":"string","enum":["auto","content","fill"]},"minWidth":{"type":"string","enum":["none","xs","sm","md","lg","xl"]},"maxWidth":{"type":"string","enum":["none","xs","sm","md","lg","xl"]},"gridSpan":{"type":"integer","minimum":1,"maximum":12},"grow":{"type":"integer","minimum":0,"maximum":3},"shrink":{"type":"string","enum":["allow","prevent"]}},"required":["inlineSize","minWidth","maxWidth","gridSpan","grow","shrink"],"additionalProperties":false}},"minProperties":1,"additionalProperties":false},"key":{"type":"string","minLength":1},"field":{"type":"string","minLength":1,"description":"A supported common.*, config.*, placement.*, or sizing.* public field path."},"propertyKey":{"type":"string","minLength":1},"propertyValue":{"type":"string","minLength":1},"defaultPropertyValue":{"type":"string","minLength":1}},"required":["operation"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/screen-blueprint-studio/"},{"name":"manage_definition_instance","kind":"act","impl":"imperative","description":"Manage Definition Instances. add requires screenId+parentId+definitionId; update/detach require componentId; extract requires componentId+name. Optional props are typed scalars. Read get_current_screen_context first. The first valid mutation automatically creates a reviewable proposal; later mutations append to it. Check get_pending_change_set before mixing unrelated work. Only a human can Accept or Reject.","inputSchema":{"type":"object","properties":{"operation":{"type":"string","enum":["add","update","extract","detach"]},"screenId":{"type":"string","minLength":1},"parentId":{"type":"string","minLength":1},"definitionId":{"type":"string","minLength":1},"componentId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"position":{"type":"integer","minimum":0},"variantId":{"type":["string","null"]},"props":{"type":"object","additionalProperties":{"type":["string","number","boolean"]}},"placement":{"type":"object","description":"Required by mode: flow only mode; sticky edge+inset; overlay/viewport anchor+insetX+insetY.","properties":{"mode":{"type":"string","enum":["flow","sticky","overlay","viewport"]},"edge":{"type":"string","enum":["top","bottom"]},"anchor":{"type":"string","enum":["topLeft","topCenter","topRight","centerLeft","center","centerRight","bottomLeft","bottomCenter","bottomRight"]},"inset":{"type":"string","enum":["none","xs","sm","md","lg"]},"insetX":{"type":"string","enum":["none","xs","sm","md","lg"]},"insetY":{"type":"string","enum":["none","xs","sm","md","lg"]}},"required":["mode"],"additionalProperties":false},"sizing":{"type":"object","properties":{"inlineSize":{"type":"string","enum":["auto","content","fill"]},"minWidth":{"type":"string","enum":["none","xs","sm","md","lg","xl"]},"maxWidth":{"type":"string","enum":["none","xs","sm","md","lg","xl"]},"gridSpan":{"type":"integer","minimum":1,"maximum":12},"grow":{"type":"integer","minimum":0,"maximum":3},"shrink":{"type":"string","enum":["allow","prevent"]}},"required":["inlineSize","minWidth","maxWidth","gridSpan","grow","shrink"],"additionalProperties":false}},"required":["operation"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/screen-blueprint-studio/"}],"category":"Developer Tools","favicon":"/favicons/morita-atsuya.github.io.svg","apiSurface":"spec","toolCount":10}}