{"ok":true,"site":{"host":"akash-aman.github.io","url":"https://akash-aman.github.io/system-design-simulator/","type":"live","desc":"System Design Interview Simulator","tools":[{"name":"list_components","kind":"answer","impl":"imperative","description":"List every infrastructure component available in the palette: id (use as typeId), name, category, behavior primitive, capacity and latency baseline.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/system-design-simulator/"},{"name":"get_design","kind":"answer","impl":"imperative","description":"Read the design currently on the canvas: nodes (with typeId, label, overrides, groupId), edges (source/target + ports), groups (zones/regions).","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/system-design-simulator/"},{"name":"apply_design","kind":"act","impl":"imperative","description":"Replace the canvas with a new design (undoable). Nodes: {id, typeId, label?, group?, overrides?, x?, y?} — positions auto-layout when omitted. Edges: {source, target, sourcePort?, targetPort?} — ports default to the first out/in port. Groups: {id, kind: zone|region|vpc, label?}; nodes join via their \"group\" field. Validate typeIds with list_components first.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"nodes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"typeId":{"type":"string"},"label":{"type":"string"},"x":{"type":"number"},"y":{"type":"number"},"group":{"type":"string"},"overrides":{"type":"object","additionalProperties":{"type":"number"}}},"required":["id","typeId"]}},"edges":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"target":{"type":"string"},"sourcePort":{"type":"string"},"targetPort":{"type":"string"},"readShare":{"type":"number"},"writeShare":{"type":"number"},"callsPerRequest":{"type":"number"}},"required":["source","target"]}},"groups":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["region","zone","vpc"]},"label":{"type":"string"}},"required":["id"]}}},"required":["nodes"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/system-design-simulator/"},{"name":"load_pattern","kind":"act","impl":"imperative","description":"Load a canonical reference architecture onto the canvas (replaces it, undoable). Available ids: amazon-storefront.","inputSchema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/system-design-simulator/"},{"name":"run_simulation","kind":"act","impl":"imperative","description":"Simulate the current design headless (fresh engine, live sim untouched) and report per-node utilization, served/dropped RPS, error rate, and p99. Use to find bottlenecks before giving feedback.","inputSchema":{"type":"object","properties":{"seconds":{"type":"number","description":"Sim-seconds to run (default 30, max 300)"},"rps":{"type":"number","description":"Offered load (default: current slider value)"},"readRatio":{"type":"number","description":"0..1 (default: current setting)"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/system-design-simulator/"},{"name":"get_analysis","kind":"answer","impl":"imperative","description":"Static + live analysis of the current design: single points of failure, composite availability, monthly cost, CAP trade-off warnings, and capacity headroom (headroom needs live sim traffic).","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/system-design-simulator/"},{"name":"get_live_metrics","kind":"answer","impl":"imperative","description":"Current state of the LIVE simulation: sim clock, running flag, per-node metrics, recent failure-timeline events.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/system-design-simulator/"},{"name":"inject_fault","kind":"act","impl":"imperative","description":"Chaos-inject into the LIVE simulation: kill a node, multiply its latency, or fill its disk. Use resolve to heal.","inputSchema":{"type":"object","properties":{"nodeId":{"type":"string"},"kind":{"type":"string","enum":["kill","latency","disk-fill","resolve"]},"factor":{"type":"number","description":"Latency multiplier (kind=latency only, default 8)"}},"required":["nodeId","kind"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/system-design-simulator/"}],"category":"Developer Tools","apiSurface":"spec","toolCount":8}}