{"ok":true,"site":{"host":"flowlens.quytn-ebuy.chatgpt.site","url":"https://flowlens.quytn-ebuy.chatgpt.site/","type":"live","desc":"FlowLens turns a selected workflow path into live, typed context for WebMCP agents.","tools":[{"name":"get_workflow_summary","kind":"answer","impl":"imperative","description":"Read the current workflow, validation, selection, and run summary.","title":"Get workflow summary","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"detail":{"type":"string","enum":["compact","nodes","runs"]}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_workflow_node_types","kind":"answer","impl":"imperative","description":"Read the finite node catalog and safe configuration contracts.","title":"List node types","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"category":{"type":"string","enum":["all","logic","actions","flow"]}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"add_workflow_node","kind":"act","impl":"imperative","description":"Add a configured node at a bounded canvas position with a version guard.","title":"Add workflow node","inputSchema":{"type":"object","properties":{"nodeType":{"type":"string","enum":["event","transform","condition","assign","notification","delay","end"]},"x":{"type":"number","minimum":0,"maximum":1400},"y":{"type":"number","minimum":0,"maximum":600},"expectedVersion":{"type":"integer","minimum":1,"maximum":100000,"description":"Workflow version visible in the app."},"config":{"oneOf":[{"type":"object","properties":{"eventType":{"type":"string","minLength":1,"maxLength":120}},"required":["eventType"],"additionalProperties":false},{"type":"object","properties":{"mappings":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"object","properties":{"from":{"type":"string","minLength":1,"maxLength":120},"to":{"type":"string","minLength":1,"maxLength":120},"defaultValue":{"type":"string","minLength":1,"maxLength":120}},"required":["from","to"],"additionalProperties":false}}},"required":["mappings"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":120},"operator":{"type":"string","enum":["equals","not_equals","exists"]},"value":{"type":"string","minLength":1,"maxLength":120}},"required":["field","operator"],"additionalProperties":false},{"type":"object","properties":{"queue":{"type":"string","minLength":1,"maxLength":120}},"required":["queue"],"additionalProperties":false},{"type":"object","properties":{"channel":{"type":"string","enum":["in_app","email"]},"template":{"type":"string","minLength":1,"maxLength":120}},"required":["channel","template"],"additionalProperties":false},{"type":"object","properties":{"milliseconds":{"type":"integer","minimum":0,"maximum":60000}},"required":["milliseconds"],"additionalProperties":false},{"type":"object","properties":{"outcome":{"type":"string","minLength":1,"maxLength":120}},"required":["outcome"],"additionalProperties":false}]}},"required":["nodeType","x","y","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"update_workflow_node","kind":"act","impl":"imperative","description":"Update an allowed node configuration field with a version guard.","title":"Update workflow node","inputSchema":{"type":"object","properties":{"nodeId":{"type":"string","minLength":1,"maxLength":120},"field":{"type":"string","enum":["condition.field"]},"value":{"type":"string","minLength":1,"maxLength":120},"expectedVersion":{"type":"integer","minimum":1,"maximum":100000,"description":"Workflow version visible in the app."}},"required":["nodeId","field","value","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"connect_workflow_nodes","kind":"act","impl":"imperative","description":"Create a valid non-duplicate connection with a version guard.","title":"Connect workflow nodes","inputSchema":{"type":"object","properties":{"source":{"type":"string","minLength":1,"maxLength":120},"sourcePort":{"type":"string","enum":["output","true","false"]},"target":{"type":"string","minLength":1,"maxLength":120},"targetPort":{"type":"string","enum":["input"]},"expectedVersion":{"type":"integer","minimum":1,"maximum":100000,"description":"Workflow version visible in the app."}},"required":["source","sourcePort","target","targetPort","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"validate_workflow","kind":"act","impl":"imperative","description":"Run structural, reachability, configuration, and cycle checks.","title":"Validate workflow","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"workflowVersion":{"type":"integer","minimum":1,"maximum":100000,"description":"Workflow version visible in the app."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_workflow_fixtures","kind":"answer","impl":"imperative","description":"Read safe fixture metadata without returning complete payloads.","title":"List fixtures","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"run_workflow_simulation","kind":"act","impl":"imperative","description":"Run a deterministic fixture and open its trace in the workspace.","title":"Run simulation","inputSchema":{"type":"object","properties":{"fixtureId":{"type":"string","minLength":1,"maxLength":120},"expectedVersion":{"type":"integer","minimum":1,"maximum":100000,"description":"Workflow version visible in the app."}},"required":["fixtureId","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_run_summary","kind":"answer","impl":"imperative","description":"Read a bounded run result, branch path, and step identifiers.","title":"Get run summary","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"runId":{"type":"string","minLength":1,"maxLength":120}},"required":["runId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"compare_workflow_runs","kind":"act","impl":"imperative","description":"Compare two runs by branch, outcome, status, and duration.","title":"Compare workflow runs","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"beforeRunId":{"type":"string","minLength":1,"maxLength":120},"afterRunId":{"type":"string","minLength":1,"maxLength":120}},"required":["beforeRunId","afterRunId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"AI & Agents","favicon":"/favicons/flowlens.quytn-ebuy.chatgpt.site.png","apiSurface":"spec","toolCount":10}}