{"ok":true,"site":{"host":"schematic-hardware-workspace.decipherer71.chatgpt.site","url":"https://schematic-hardware-workspace.decipherer71.chatgpt.site/","type":"live","desc":"Design connected hardware, preview typed outcomes, and edit source with an agent-native workbench.","tools":[{"name":"behavior.get_capabilities","kind":"act","impl":"imperative","description":"Read exact typed preview actions and events declared by the checked-in behavior profiles for every component instance. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"behavior.plan.write","kind":"act","impl":"imperative","description":"Create or replace a versioned Behavior Plan after validating exact component definitions, typed payloads, and profile support. This does not run source code or start preview. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"plan":{"type":"object","description":"Version 1 Behavior Plan JSON"},"expectedRevision":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Current plan revision, or null to create only"}},"required":["plan","expectedRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"behavior.preview","kind":"act","impl":"imperative","description":"Prepare and open the saved Behavior Plan for deterministic typed-action preview; source code is never read or executed. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"planId":{"type":"string","minLength":1,"maxLength":200},"onUnsupported":{"type":"string","enum":["block","skip"],"default":"block"},"durationMs":{"type":"integer","minimum":1,"maximum":600000,"default":1000,"description":"Minimum logical playback window; scheduled plan items extend it automatically."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"behavior.invoke","kind":"act","impl":"imperative","description":"Dispatch exactly one validated component event, input change, or typed component action into the active Behavior Preview session. It never mutates the durable plan; a schema-valid request that the profile rejects is returned as data.status=rejected with diagnostics. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"componentId":{"type":"string","minLength":1,"maxLength":200},"definitionId":{"type":"string","minLength":1,"maxLength":200},"eventId":{"type":"string","minLength":1,"maxLength":200},"inputId":{"type":"string","minLength":1,"maxLength":200},"actionId":{"type":"string","minLength":1,"maxLength":200},"payload":{},"value":{}},"required":["componentId","definitionId"],"oneOf":[{"required":["eventId","payload"]},{"required":["inputId","value"]},{"required":["actionId","payload"]}],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"behavior.press_key","kind":"act","impl":"imperative","description":"Press one calculator key on a membrane keypad instance through its exact keypad.press action. The keypad's deterministic calculator state emits the resulting display value for Behavior Plan routing to an LCD. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"componentId":{"type":"string","minLength":1,"maxLength":200,"description":"Membrane keypad instance id."},"definitionId":{"type":"string","minLength":1,"maxLength":200,"description":"Optional catalog definition id; resolved from the instance when omitted."},"key":{"type":"string","enum":["0","1","2","3","4","5","6","7","8","9","+","-","*","/",".","=","C"],"description":"Calculator key to press."}},"required":["componentId","key"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"behavior.get_state","kind":"act","impl":"imperative","description":"Read compact active Behavior Preview state. Logs and timeline entries are bounded by pagination parameters so default tool output stays small. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"detail":{"type":"string","enum":["compact","full"],"default":"compact"},"logLimit":{"type":"integer","minimum":0,"maximum":200,"default":12},"logOffset":{"type":"integer","minimum":0,"default":0},"eventsLimit":{"type":"integer","minimum":0,"maximum":200,"default":12}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"code.write","kind":"act","impl":"imperative","description":"Write editable board source using exact-hash concurrency. expectedContentSha256=null creates source and may replace only Schematic's marked generated starter scaffold; real existing source still requires its exact hash. Browser Check can execute its supported bounded subset separately. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"targetComponentId":{"type":"string","minLength":1,"maxLength":200},"files":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":240},"content":{"type":"string","maxLength":1048576}},"required":["name","content"],"additionalProperties":false},"minItems":1,"maxItems":128},"language":{"type":"string","enum":["arduino","micropython","espidf","c","cpp","python"]},"dependencies":{"type":"array","items":{"type":"object","properties":{"ecosystem":{"type":"string","enum":["arduino-library","platformio","python-package","vendor-sdk","other"]},"name":{"type":"string","minLength":1,"maxLength":240},"version":{"type":"string","maxLength":120},"sourceUrl":{"type":"string","maxLength":2000}},"required":["ecosystem","name"],"additionalProperties":false},"maxItems":256},"expectedContentSha256":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{64}$"},{"type":"null"}]},"origin":{"type":"string","enum":["ai-generated","human-authored","imported","mixed"]},"boardFqbn":{"type":"string","minLength":1,"maxLength":200},"linkToBehaviorPlan":{"type":"object","properties":{"planId":{"type":"string","minLength":1,"maxLength":200},"planSha256":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"},"projectSha256":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}},"required":["planId","planSha256","projectSha256"],"additionalProperties":false}},"required":["targetComponentId","files","language","expectedContentSha256"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"code.read","kind":"act","impl":"imperative","description":"Read an editable source document and its origin, revision, hash, preview-link status, and external-use honesty claims. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"targetComponentId":{"type":"string","minLength":1,"maxLength":200},"documentId":{"type":"string","minLength":1,"maxLength":200}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"code.export","kind":"act","impl":"imperative","description":"Create a machine-readable external code handoff manifest with file hashes and graph diagnostics. No compiler, uploader, network, or source execution is involved. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"targetComponentId":{"type":"string","minLength":1,"maxLength":200},"documentId":{"type":"string","minLength":1,"maxLength":200}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"design.propose","kind":"act","impl":"imperative","description":"Stage a non-mutating goal-level hardware proposal. Calculator/math requests produce the reviewed Arduino + membrane keypad + I2C LCD workflow; use design.preview before design.apply. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"goal":{"type":"string","minLength":1,"maxLength":500}},"required":["goal"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"design.preview","kind":"act","impl":"imperative","description":"Preview the staged design without mutating the active project. Returns component/wiring summary, static graph diagnostics, and an explicit approval token requirement for apply. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"proposalId":{"type":"string","minLength":1,"maxLength":200}},"required":["proposalId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"design.apply","kind":"act","impl":"imperative","description":"Apply one staged proposal only after explicit exact-id confirmation. The whole design is one undoable transaction; any failed component, wire, or Behavior Plan step rolls back to the prior project. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"proposalId":{"type":"string","minLength":1,"maxLength":200},"confirmProposalId":{"type":"string","minLength":1,"maxLength":200}},"required":["proposalId","confirmProposalId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"design.discard","kind":"act","impl":"imperative","description":"Discard the staged proposal without mutating the hardware project. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"proposalId":{"type":"string","minLength":1,"maxLength":200}},"required":["proposalId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"design.undo","kind":"act","impl":"imperative","description":"Undo the latest agent design mutation for the active project by restoring its exact prior project snapshot. Undo itself is reversible with design.redo. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"design.redo","kind":"act","impl":"imperative","description":"Redo the most recently undone agent design mutation for the active project. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"design.verify","kind":"act","impl":"imperative","description":"Return a compact goal-level verification summary for the active design, including calculator interactivity, graph/behavior/source stages, and honest browser/external boundaries. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"durationMs":{"type":"integer","minimum":0,"maximum":10000,"default":250}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"workspace.get_tool_surface","kind":"act","impl":"imperative","description":"Read a small state-aware shortlist of the WebMCP tools most relevant to the current project stage instead of choosing from the full registry blindly. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"project.get_graph","kind":"act","impl":"imperative","description":"Get the current hardware graph and source-document metadata. Source contents and quarantined legacy data are excluded; use code.read for source. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"project.verify","kind":"act","impl":"imperative","description":"Produce one honest browser-side readiness report: static graph checks, Behavior Plan coverage, board source coverage, bounded Browser Check execution, static source preflight, and explicit no-compile/no-physical-hardware claims. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"componentId":{"type":"string","minLength":1,"maxLength":200},"durationMs":{"type":"integer","minimum":0,"maximum":10000,"default":1000}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"project.list","kind":"act","impl":"imperative","description":"List all projects saved in this browser and identify the active project — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"project.create","kind":"act","impl":"imperative","description":"Create and activate a new empty hardware project saved in this browser — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"name":{"type":"string"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"project.switch","kind":"act","impl":"imperative","description":"Switch the active project; the selected project becomes live in every same-origin Schematic tab — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string"}},"required":["projectId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"project.duplicate","kind":"act","impl":"imperative","description":"Duplicate a saved project and activate the copy — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string"},"name":{"type":"string"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"project.delete","kind":"transact","impl":"imperative","description":"Delete one saved project after confirming its exact id; the final remaining project cannot be deleted — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"consequentialHint":true},"inputSchema":{"type":"object","properties":{"projectId":{"type":"string","description":"Exact id of the project to delete"},"confirmProjectId":{"type":"string","description":"Repeat the exact project id to confirm this irreversible operation"}},"required":["projectId","confirmProjectId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"project.save","kind":"act","impl":"imperative","description":"Persist the active project collection to this browser and broadcast it to same-origin tabs — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"project.clear","kind":"transact","impl":"imperative","description":"Clear the current project after confirming its exact id (remove all components, connections, and firmware) — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"consequentialHint":true},"inputSchema":{"type":"object","properties":{"projectId":{"type":"string","description":"Exact id of the active project to clear"},"confirmProjectId":{"type":"string","description":"Repeat the exact active project id to confirm this irreversible operation"}},"required":["projectId","confirmProjectId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"project.rename","kind":"act","impl":"imperative","description":"Rename the active hardware project — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"project.apply_blueprint","kind":"act","impl":"imperative","description":"Create a complete hardware design as a new project by default and prepare fallback Outcome behavior for mapped parts. Replacing the active project requires replace=true and its exact id in confirmProjectId. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"consequentialHint":true},"inputSchema":{"type":"object","properties":{"blueprintId":{"type":"string","enum":["meta-glasses"]},"replace":{"type":"boolean","default":false},"confirmProjectId":{"type":"string"}},"required":["blueprintId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"workspace.get_state","kind":"answer","impl":"imperative","description":"Read a compact workspace summary: project counts, current stage, validation status, selection, and the latest few agent actions. Use paginated specialist tools for detailed logs or Behavior state. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"workspace.get_activity","kind":"answer","impl":"imperative","description":"Read bounded paginated WebMCP activity without inflating workspace.get_state. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":80,"default":12},"offset":{"type":"integer","minimum":0,"default":0}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"workspace.set_panel","kind":"act","impl":"imperative","description":"Open a live bottom workspace panel for the user or agent: webmcp, terminal, debug, or validation — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"panel":{"type":"string","enum":["webmcp","terminal","debug","validation"]}},"required":["panel"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"workspace.set_right_width","kind":"act","impl":"imperative","description":"Resize the right code and inspector panel in pixels; keeps the value across sessions — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"width":{"type":"number","minimum":300,"maximum":720}},"required":["width"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"component.search","kind":"act","impl":"imperative","description":"Search components in catalog by query, category, or domain. e.g. ESP32, TI DRV, sensor — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search text"},"category":{"type":"string","enum":["board","sensor","actuator","display","power","logic","communication","mechanical","rf","custom","analog","passive",""]},"domain":{"type":"string","enum":["power","power_output","ground","gpio","adc","pwm","i2c","spi","uart","usb","ethernet","can","pcie","csi","hdmi","displayport","rf","mechanical","optical",""]}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"component.inspect","kind":"act","impl":"imperative","description":"Inspect a component definition by id — returns ports, exact typed-preview mapping, and catalog metadata — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"componentId":{"type":"string","description":"Catalog id, e.g. bmp280"}},"required":["componentId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"component.add","kind":"act","impl":"imperative","description":"Add a hardware component to the current project; omit x and y for collision-aware automatic placement, or provide both finite numeric coordinates. Behavior-mapped parts also keep the fallback Outcome plan synchronized without starting playback. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"componentId":{"type":"string","description":"Catalog definition id"},"x":{"type":"number","description":"Canvas x"},"y":{"type":"number","description":"Canvas y"}},"required":["componentId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"component.remove","kind":"act","impl":"imperative","description":"Remove a component instance and its connections after confirming the exact instance id, then refresh generated fallback Outcome behavior so it does not target the removed instance — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"consequentialHint":true},"inputSchema":{"type":"object","properties":{"instanceId":{"type":"string"},"confirmInstanceId":{"type":"string"}},"required":["instanceId","confirmInstanceId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"component.list_ports","kind":"answer","impl":"imperative","description":"List ports for a component instance (or catalog definition). Use componentId; instanceId is accepted as a compatibility alias. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"componentId":{"type":"string","description":"Instance id or catalog definition id"},"instanceId":{"type":"string","description":"Compatibility alias for componentId"}},"anyOf":[{"required":["componentId"]},{"required":["instanceId"]}]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"connection.connect","kind":"act","impl":"imperative","description":"Connect two existing ports. Use instance IDs from component.add and port IDs from component.list_ports; source and target may be supplied in either direction and the graph will orient them. Typed domains, self-wiring, duplicates, and missing endpoints are rejected with structured repair details. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"sourceComponentId":{"type":"string","minLength":1,"description":"Instance id returned by component.add"},"sourcePortId":{"type":"string","minLength":1,"description":"Port id returned by component.list_ports"},"targetComponentId":{"type":"string","minLength":1,"description":"Instance id returned by component.add"},"targetPortId":{"type":"string","minLength":1,"description":"Port id returned by component.list_ports"},"source":{"type":"object","description":"Compatibility shape: {componentId|instanceId, portId}","properties":{"componentId":{"type":"string"},"instanceId":{"type":"string"},"portId":{"type":"string"}},"required":["portId"]},"target":{"type":"object","description":"Compatibility shape: {componentId|instanceId, portId}","properties":{"componentId":{"type":"string"},"instanceId":{"type":"string"},"portId":{"type":"string"}},"required":["portId"]}},"anyOf":[{"required":["sourceComponentId","sourcePortId","targetComponentId","targetPortId"]},{"required":["source","target"]}]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"connection.disconnect","kind":"act","impl":"imperative","description":"Disconnect (remove) a connection after confirming its exact id — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"consequentialHint":true},"inputSchema":{"type":"object","properties":{"connectionId":{"type":"string"},"confirmConnectionId":{"type":"string"}},"required":["connectionId","confirmConnectionId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"connection.get_connections","kind":"answer","impl":"imperative","description":"Get all connections in current project — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"firmware.write","kind":"act","impl":"imperative","description":"Compatibility alias for code.write. expectedContentSha256=null may create source or replace only Schematic's marked generated starter scaffold; real existing source still requires its exact current hash. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{"componentId":{"type":"string","minLength":1,"maxLength":200,"description":"Board instance id"},"files":{"type":"array","minItems":1,"maxItems":128,"items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":240},"content":{"type":"string","maxLength":1048576}},"required":["name","content"],"additionalProperties":false}},"language":{"type":"string","enum":["arduino","micropython","espidf","c","cpp","python"]},"boardFqbn":{"type":"string","minLength":1,"maxLength":200},"expectedContentSha256":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{64}$"},{"type":"null"}],"description":"null to create source or replace only Schematic's marked generated starter scaffold; otherwise use the exact current hash from firmware.read/code.read"}},"required":["componentId","files","expectedContentSha256"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"firmware.read","kind":"answer","impl":"imperative","description":"Compatibility alias for code.read. Read editable source metadata for a board; source is not executed. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"componentId":{"type":"string","minLength":1,"maxLength":200}},"required":["componentId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"firmware.check","kind":"act","impl":"imperative","description":"Run Schematic's bounded Browser Check for one board. It executes the supported Arduino/C++ subset and returns topology/protocol/serial/static diagnostics; it is not compilation, electrical simulation, upload, or physical verification. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"componentId":{"type":"string","minLength":1,"maxLength":200},"durationMs":{"type":"integer","minimum":0,"maximum":10000,"default":1000},"inputs":{"type":"object","maxProperties":64,"additionalProperties":{"anyOf":[{"type":"number"},{"type":"boolean"}]}}},"required":["componentId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"validation.check","kind":"act","impl":"imperative","description":"Run static graph-rule validation for wiring and component constraints. Source is not read or executed, and physical wiring/hardware are not verified. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"validation.explain_error","kind":"act","impl":"imperative","description":"Explain a static graph-check error code with fix guidance. Physical wiring, hardware behavior, and editable source remain unverified. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":200}},"required":["code"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"shopping.search","kind":"act","impl":"imperative","description":"Discover electronics parts through the configured bounded shopping source when listings are omitted, then publish agent-attributed listings into the Parts desk after checking them. Discovery is cached and rate-limited; candidates never become offers automatically. Return the schematic.parts.lookup.v1 handoff to a browsing agent when publication is unavailable. — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":240,"description":"Exact part, board, manufacturer, or catalog id"},"quantity":{"type":"integer","minimum":1,"maximum":999,"description":"Required quantity"},"listings":{"type":"array","minItems":1,"maxItems":24,"description":"Agent-found listings only; every item must identify one canonical catalog part and its reported offers.","items":{"type":"object","required":["id","catalogId","title","partNumber","requestedQuantity","exactMatch","offers","updatedAt"],"properties":{"id":{"type":"string"},"catalogId":{"type":"string","description":"Schematic catalog id; do not invent one"},"title":{"type":"string"},"partNumber":{"type":"string","description":"Manufacturer or distributor part number"},"requestedQuantity":{"type":"integer","minimum":1},"exactMatch":{"const":true,"description":"Agent's exact-match claim; the boundary does not independently verify real-world identity."},"updatedAt":{"type":"string","format":"date-time","description":"Recent time at which the agent refreshed this claimed catalog record."},"offers":{"type":"array","minItems":1,"maxItems":3,"items":{"type":"object","required":["id","retailer","title","price","currency","url","fetchedAt","provider"],"properties":{"id":{"type":"string"},"retailer":{"type":"string"},"title":{"type":"string"},"price":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"url":{"type":"string","format":"uri","description":"HTTPS retailer URL supplied by the agent; the UI does not verify the page."},"fetchedAt":{"type":"string","format":"date-time","description":"Recent time at which the agent observed this offer."},"provider":{"type":"string"}}}},"alternatives":{"type":"array","maxItems":3,"description":"Optional context-aware alternatives; publish each alternative as its own canonical catalog-ID claim too."}}}},"publication":{"type":"object","description":"Sourcing provenance supplied by the agent. Authentication and agent identity come from the verified WebMCP session, not from these fields. publishedAt must be recent.","properties":{"provider":{"type":"string","minLength":1},"publishedAt":{"type":"string","format":"date-time"}},"required":["provider","publishedAt"]}},"description":"Omit listings/publication to run bounded public discovery and receive a handoff request. Include both to publish agent-attributed results."},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"shopping.get_state","kind":"answer","impl":"imperative","description":"Read agent-sourced part listings, cart lines, budget, and cheapest-price quote for the current build — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"shopping.cart_add","kind":"act","impl":"imperative","description":"Add an agent-published shopping result to the build cart — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"resultId":{"type":"string","maxLength":160},"quantity":{"type":"integer","minimum":1,"maximum":999}},"required":["resultId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"shopping.cart_remove","kind":"act","impl":"imperative","description":"Remove a part from the shopping cart — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"resultId":{"type":"string","maxLength":160}},"required":["resultId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"shopping.cart_set_quantity","kind":"act","impl":"imperative","description":"Set the quantity for a shopping cart line, or remove it with zero — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"resultId":{"type":"string","maxLength":160},"quantity":{"type":"integer","minimum":0,"maximum":999}},"required":["resultId","quantity"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"shopping.cart_set_budget","kind":"act","impl":"imperative","description":"Set or clear the target build budget in USD — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"budget":{"type":["number","null"],"minimum":0,"maximum":1000000000}},"required":["budget"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"shopping.cart_undo","kind":"act","impl":"imperative","description":"Undo the last cart change — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"shopping.cart_reset","kind":"act","impl":"imperative","description":"Reset the cart to one of every catalog part currently required by the project, after listings have been searched — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"requiredCatalogIds":{"type":"array","maxItems":500,"items":{"type":"string","maxLength":120}}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"shopping.choose_alternative","kind":"act","impl":"imperative","description":"Replace a cart part with an agent-recommended context-aware alternative — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"resultId":{"type":"string","maxLength":160},"catalogId":{"type":"string","maxLength":120}},"required":["resultId","catalogId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"shopping.quote","kind":"act","impl":"imperative","description":"Calculate the total using the cheapest priced agent-sourced offer per cart line and report missing prices or budget overage — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"design.auto_layout","kind":"act","impl":"imperative","description":"Auto-layout components on canvas (simple grid) — Scoped to your verified account and its local project room. Agent may place hardware on your behalf within your room only.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Developer Tools","favicon":"/favicons/schematic-hardware-workspace.decipherer71.chatgpt.site.png","apiSurface":"spec","toolCount":56}}