-- Insert demo AI process directly SET @process_id = '2d883482-4df0-44d7-b6cf-8541b482afe4'; SET @version_id = '437b1e72-405e-4862-a8bc-f368e554b482'; SET @user_id = 'system'; -- Insert process INSERT INTO ai_processes (id, name, created_by) VALUES (@process_id, 'Register New Pet', @user_id); -- Insert process version with compiled graph INSERT INTO ai_process_versions (id, process_id, version, graph_json, compiled_json, created_by) VALUES ( @version_id, @process_id, 1, '{}', JSON_OBJECT( 'id', 'register_new_pet', 'name', 'Register New Pet', 'description', 'Complete pet registration workflow', 'allowCycles', false, 'startNodeId', 'start', 'endNodeIds', JSON_ARRAY('end'), 'maxIterations', 50, 'nodes', JSON_ARRAY( JSON_OBJECT('id', 'start', 'type', 'Start', 'data', JSON_OBJECT('label', 'Start')), JSON_OBJECT('id', 'extract_info', 'type', 'LLMDecisionNode', 'data', JSON_OBJECT( 'label', 'Extract Info', 'promptTemplate', 'Extract: petName, species, ownerFirstName, ownerLastName, ownerEmail, accountName from: {{state.message}}', 'inputKeys', JSON_ARRAY('message'), 'outputSchema', JSON_OBJECT( 'type', 'object', 'properties', JSON_OBJECT( 'petName', JSON_OBJECT('type', 'string'), 'species', JSON_OBJECT('type', 'string'), 'ownerFirstName', JSON_OBJECT('type', 'string'), 'ownerLastName', JSON_OBJECT('type', 'string'), 'ownerEmail', JSON_OBJECT('type', 'string'), 'accountName', JSON_OBJECT('type', 'string') ), 'required', JSON_ARRAY('petName', 'species', 'ownerFirstName', 'ownerLastName') ) )), JSON_OBJECT('id', 'find_account', 'type', 'ToolNode', 'data', JSON_OBJECT( 'label', 'Find Account', 'toolName', 'findAccount', 'argsTemplate', JSON_OBJECT('name', '{{state.accountName}}', 'email', '{{state.ownerEmail}}'), 'outputMapping', JSON_OBJECT('found', 'accountFound', 'accountId', 'accountId') )), JSON_OBJECT('id', 'create_account', 'type', 'ToolNode', 'data', JSON_OBJECT( 'label', 'Create Account', 'toolName', 'createAccount', 'argsTemplate', JSON_OBJECT('name', '{{state.accountName}}', 'email', '{{state.ownerEmail}}'), 'outputMapping', JSON_OBJECT('accountId', 'accountId') )), JSON_OBJECT('id', 'find_contact', 'type', 'ToolNode', 'data', JSON_OBJECT( 'label', 'Find Contact', 'toolName', 'findContact', 'argsTemplate', JSON_OBJECT( 'firstName', '{{state.ownerFirstName}}', 'lastName', '{{state.ownerLastName}}', 'email', '{{state.ownerEmail}}', 'accountId', '{{state.accountId}}' ), 'outputMapping', JSON_OBJECT('found', 'contactFound', 'contactId', 'contactId') )), JSON_OBJECT('id', 'create_contact', 'type', 'ToolNode', 'data', JSON_OBJECT( 'label', 'Create Contact', 'toolName', 'createContact', 'argsTemplate', JSON_OBJECT( 'firstName', '{{state.ownerFirstName}}', 'lastName', '{{state.ownerLastName}}', 'email', '{{state.ownerEmail}}', 'accountId', '{{state.accountId}}' ), 'outputMapping', JSON_OBJECT('contactId', 'contactId') )), JSON_OBJECT('id', 'create_pet', 'type', 'ToolNode', 'data', JSON_OBJECT( 'label', 'Create Pet', 'toolName', 'createPet', 'argsTemplate', JSON_OBJECT( 'name', '{{state.petName}}', 'species', '{{state.species}}', 'ownerId', '{{state.contactId}}' ), 'outputMapping', JSON_OBJECT('petId', 'petId') )), JSON_OBJECT('id', 'end', 'type', 'End', 'data', JSON_OBJECT('label', 'End')) ), 'edges', JSON_ARRAY( JSON_OBJECT('id', 'e1', 'source', 'start', 'target', 'extract_info'), JSON_OBJECT('id', 'e2', 'source', 'extract_info', 'target', 'find_account'), JSON_OBJECT('id', 'e3', 'source', 'find_account', 'target', 'find_contact', 'condition', JSON_OBJECT('==', JSON_ARRAY(JSON_OBJECT('var', 'accountFound'), true))), JSON_OBJECT('id', 'e4', 'source', 'find_account', 'target', 'create_account', 'condition', JSON_OBJECT('==', JSON_ARRAY(JSON_OBJECT('var', 'accountFound'), false))), JSON_OBJECT('id', 'e5', 'source', 'create_account', 'target', 'find_contact'), JSON_OBJECT('id', 'e6', 'source', 'find_contact', 'target', 'create_pet', 'condition', JSON_OBJECT('==', JSON_ARRAY(JSON_OBJECT('var', 'contactFound'), true))), JSON_OBJECT('id', 'e7', 'source', 'find_contact', 'target', 'create_contact', 'condition', JSON_OBJECT('==', JSON_ARRAY(JSON_OBJECT('var', 'contactFound'), false))), JSON_OBJECT('id', 'e8', 'source', 'create_contact', 'target', 'create_pet'), JSON_OBJECT('id', 'e9', 'source', 'create_pet', 'target', 'end') ) ), @user_id ); -- Insert tool allowlist INSERT INTO ai_tool_configs (id, tool_name, enabled) VALUES (UUID(), 'findAccount', true), (UUID(), 'createAccount', true), (UUID(), 'findContact', true), (UUID(), 'createContact', true), (UUID(), 'createPet', true) ON DUPLICATE KEY UPDATE enabled = true; SELECT 'Demo process inserted successfully!' as result;