{"ok":true,"site":{"host":"jonathanturnock.github.io","url":"https://jonathanturnock.github.io/bpmn-svelte-flow/","type":"live","desc":"BSF Studio","tools":[{"name":"get_model","kind":"answer","impl":"imperative","description":"The whole model: elements (with doc/script/mock/binding flags), flows (with conditions and default markers), lanes, scenarios, tests, plus current validation issues.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"get_element","kind":"answer","impl":"imperative","description":"Full detail for one element: documentation, script or mock source, binding, condition, incoming/outgoing flows.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"element id"}},"required":["id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"get_issues","kind":"answer","impl":"imperative","description":"Validation and portability findings for the current model.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"add_element","kind":"act","impl":"imperative","description":"Add a flow node. type: task, userTask, serviceTask, scriptTask, sendTask, receiveTask, businessRuleTask, manualTask, callActivity, subProcess, exclusiveGateway, parallelGateway, inclusiveGateway, eventBasedGateway, startEvent, endEvent, intermediateCatchEvent, intermediateThrowEvent, boundaryEvent, textAnnotation. Pass afterElementId to auto-place it to the right and auto-connect with a sequence flow; attachToId attaches a boundaryEvent to an activity. eventDefinition (message|timer|error|signal|escalation|terminate|conditional|compensation) decorates events.","inputSchema":{"type":"object","properties":{"type":{"type":"string","description":"element type"},"name":{"type":"string","description":"display name"},"afterElementId":{"type":"string","description":"place after and connect from this element"},"attachToId":{"type":"string","description":"boundaryEvent host activity"},"eventDefinition":{"type":"string","description":"event definition for event types"},"x":{"type":"number","description":"explicit x (centre)"},"y":{"type":"number","description":"explicit y (centre)"}},"required":["type"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"connect","kind":"act","impl":"imperative","description":"Connect two elements with a sequence flow (or a message flow across pools). Optional label names the flow.","inputSchema":{"type":"object","properties":{"sourceId":{"type":"string","description":"source element id"},"targetId":{"type":"string","description":"target element id"},"label":{"type":"string","description":"flow label"}},"required":["sourceId","targetId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"update_element","kind":"act","impl":"imperative","description":"Rename an element.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"element id"},"name":{"type":"string","description":"new display name"}},"required":["id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"delete_element","kind":"transact","impl":"imperative","description":"Delete an element (its connections go with it). Undoable.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"element id"}},"required":["id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"move_element","kind":"act","impl":"imperative","description":"Move a shape to an absolute diagram position (top-left corner).","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"element id"},"x":{"type":"number","description":"x"},"y":{"type":"number","description":"y"}},"required":["id","x","y"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"add_lane","kind":"act","impl":"imperative","description":"Add a lane. Wraps the process in a pool (participant) first when none exists.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"lane name"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"move_to_lane","kind":"act","impl":"imperative","description":"Assign an element to a lane and move it into the lane band.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"element id"},"laneId":{"type":"string","description":"target lane id"}},"required":["id","laneId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"auto_layout","kind":"act","impl":"imperative","description":"Re-place the top-level flow nodes left-to-right by graph depth and re-route their connections.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"set_condition","kind":"act","impl":"imperative","description":"Set (or clear, with empty expression) the JavaScript conditionExpression on a sequence flow. The expression reads `payload`, e.g. payload.amount > 1000.","inputSchema":{"type":"object","properties":{"flowId":{"type":"string","description":"sequence flow id"},"expression":{"type":"string","description":"JavaScript boolean expression over payload"}},"required":["flowId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"set_default_flow","kind":"act","impl":"imperative","description":"Mark one outgoing flow as the gateway default (taken when no condition matches).","inputSchema":{"type":"object","properties":{"gatewayId":{"type":"string","description":"gateway id"},"flowId":{"type":"string","description":"outgoing flow id; omit to clear"}},"required":["gatewayId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"set_script","kind":"act","impl":"imperative","description":"Set the JavaScript body of a bpmn:ScriptTask (scriptFormat text/javascript). The script mutates `payload`.","inputSchema":{"type":"object","properties":{"scriptTaskId":{"type":"string","description":"script task id"},"code":{"type":"string","description":"JavaScript body"}},"required":["scriptTaskId","code"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"set_mock","kind":"act","impl":"imperative","description":"Set (or clear, with empty code) the bsf:mock browser stand-in on a service/send/user/rule task. The mock mutates `payload`; throw to exercise error boundaries.","inputSchema":{"type":"object","properties":{"taskId":{"type":"string","description":"task id"},"code":{"type":"string","description":"JavaScript body"}},"required":["taskId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"set_instructions","kind":"act","impl":"imperative","description":"Set (or clear, with empty text) the bsf:instructions on a task — the natural-language work item an LLM agent performs when the workflow runs under the bsf-agent CLI. The bsf:mock remains the simulation stand-in.","inputSchema":{"type":"object","properties":{"taskId":{"type":"string","description":"task id"},"text":{"type":"string","description":"instructions for the agent"}},"required":["taskId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"set_binding","kind":"act","impl":"imperative","description":"Declare the real-world implementation intent (bsf:binding) for a task: a type (http, kafka-producer, queue, decision, stream-consumer, manual, custom) plus name/value properties. Descriptive — feeds the binding inventory and per-engine export.","inputSchema":{"type":"object","properties":{"taskId":{"type":"string","description":"task id"},"type":{"type":"string","description":"binding type; omit to clear"},"properties":{"type":"array","description":"name/value pairs","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}}},"required":["taskId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"set_documentation","kind":"act","impl":"imperative","description":"Set the bpmn:documentation text on any element — the human-readable business logic.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"element id"},"text":{"type":"string","description":"documentation text"}},"required":["id","text"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"define_scenario","kind":"act","impl":"imperative","description":"Add or replace a named bsf:scenario (a JSON payload the process can be run with).","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"scenario name"},"payload":{"type":"string","description":"JSON payload"},"description":{"type":"string","description":"what this scenario shows"}},"required":["name","payload"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"run_scenario","kind":"act","impl":"imperative","description":"Run a scenario (by name, or the first one; or pass an ad-hoc JSON payload) to completion in the browser engine. Returns the full trace, end-event results, and errors. The canvas shows the covered path.","inputSchema":{"type":"object","properties":{"scenario":{"type":"string","description":"scenario name"},"payload":{"type":"string","description":"ad-hoc JSON payload instead"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"step_scenario","kind":"act","impl":"imperative","description":"Advance the visible token one step (starts a run with the named scenario if none is active). Returns the run state after the step.","inputSchema":{"type":"object","properties":{"scenario":{"type":"string","description":"scenario name for a fresh run"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"reset_run","kind":"act","impl":"imperative","description":"Clear the active run and its canvas highlighting.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"add_test","kind":"act","impl":"imperative","description":"Add or replace a bsf:test: a JSON payload plus a JavaScript assertion body run after a fresh simulation, with `state` (visited/traversedEdges Sets, log, finished), `payloads` (end-event payloads), `payload` (= payloads[0]) and `assert`/`assert.equal`.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"test name"},"payload":{"type":"string","description":"JSON payload"},"script":{"type":"string","description":"JavaScript assertion body"}},"required":["name","payload","script"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"run_tests","kind":"act","impl":"imperative","description":"Run every embedded bsf:test (fresh engine per test). Returns per-test pass/fail.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"new_document","kind":"act","impl":"imperative","description":"Start a fresh document (one start event) in the workspace.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"document name"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"load_document","kind":"act","impl":"imperative","description":"Load a complete BPMN 2.0 XML document into the canvas.","inputSchema":{"type":"object","properties":{"xml":{"type":"string","description":"BPMN 2.0 XML"},"name":{"type":"string","description":"document name"}},"required":["xml"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"export_document","kind":"act","impl":"imperative","description":"The current model as standards-compliant BPMN 2.0 XML — the single artifact.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"list_documents","kind":"answer","impl":"imperative","description":"Documents saved in this browser workspace.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"save_document","kind":"act","impl":"imperative","description":"Save the current model into the browser workspace under a name.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"document name (default: current)"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"open_document","kind":"act","impl":"imperative","description":"Open a document from the browser workspace.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"document name"}},"required":["name"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"delete_document","kind":"transact","impl":"imperative","description":"Delete a document from the browser workspace.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"document name"}},"required":["name"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]},{"name":"undo","kind":"act","impl":"imperative","description":"Undo the last model mutation (shared human/agent undo stack).","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/bpmn-svelte-flow/","pages":["/bpmn-svelte-flow/"]}],"category":"Developer Tools","favicon":"/favicons/jonathanturnock.github.io.png","apiSurface":"spec","toolCount":32}}