/ examples / workflows / simple_nested_test.yaml
simple_nested_test.yaml
  1  log:
  2    stdout_log_level: INFO
  3    log_file_level: DEBUG
  4    log_file: simple_nested_test.log
  5  
  6  !include ../shared_config.yaml
  7  
  8  apps:
  9    # Simple echo agent
 10    - name: simple_echo_agent
 11      app_base_path: .
 12      app_module: solace_agent_mesh.agent.sac.app
 13      broker:
 14        <<: *broker_connection
 15  
 16      app_config:
 17        namespace: ${NAMESPACE}
 18        agent_name: "SimpleEcho"
 19        model: *planning_model
 20        model_provider: 
 21          - "planning"
 22  
 23        instruction: |
 24          Echo back the input message.
 25          1. Read 'message' from input
 26          2. Create a JSON artifact with: {"echoed": "<message>"}
 27          3. End with: «result:artifact=<artifact_name> status=success»
 28  
 29        input_schema:
 30          type: object
 31          properties:
 32            message: {type: string}
 33          required: [message]
 34  
 35        output_schema:
 36          type: object
 37          properties:
 38            echoed: {type: string}
 39          required: [echoed]
 40  
 41        tools:
 42          - tool_type: builtin-group
 43            group_name: "artifact_management"
 44  
 45        session_service:
 46          <<: *default_session_service
 47        artifact_service:
 48          <<: *default_artifact_service
 49  
 50        agent_card:
 51          description: "Echoes back the input message"
 52          skills: [{id: "echo", name: "Echo", description: "Echoes input", tags: ["echo"]}]
 53        agent_card_publishing: { interval_seconds: 10 }
 54        agent_discovery: { enabled: false }
 55  
 56    # Child workflow with one agent
 57    - name: simple_child_workflow
 58      app_base_path: .
 59      app_module: solace_agent_mesh.workflow.app
 60      broker:
 61        <<: *broker_connection
 62  
 63      app_config:
 64        namespace: ${NAMESPACE}
 65        name: "SimpleChildWorkflow"
 66        display_name: "Simple Child Workflow"
 67  
 68        workflow:
 69          version: "1.0.0"
 70          description: "A simple child workflow with one agent"
 71          max_call_depth: 5
 72  
 73          input_schema:
 74            type: object
 75            properties:
 76              message: {type: string}
 77            required: [message]
 78  
 79          output_schema:
 80            type: object
 81            properties:
 82              echoed: {type: string}
 83            required: [echoed]
 84  
 85          nodes:
 86            - id: echo_it
 87              type: agent
 88              agent_name: "SimpleEcho"
 89              input:
 90                message: "{{workflow.input.message}}"
 91  
 92          output_mapping:
 93            echoed: "{{echo_it.output.echoed}}"
 94  
 95          skills:
 96            - id: "child_echo"
 97              name: "Child Echo"
 98              description: "Child workflow that echoes"
 99              tags: ["echo", "child"]
100  
101        session_service:
102          <<: *default_session_service
103        artifact_service:
104          <<: *default_artifact_service
105  
106        agent_card_publishing: { interval_seconds: 10 }
107        agent_discovery: { enabled: false }
108  
109    # Parent workflow that calls child workflow
110    - name: simple_parent_workflow
111      app_base_path: .
112      app_module: solace_agent_mesh.workflow.app
113      broker:
114        <<: *broker_connection
115  
116      app_config:
117        namespace: ${NAMESPACE}
118        name: "SimpleParentWorkflow"
119        display_name: "Simple Parent Workflow"
120  
121        workflow:
122          version: "1.0.0"
123          description: "A simple parent workflow that calls a child workflow"
124          max_call_depth: 10
125  
126          input_schema:
127            type: object
128            properties:
129              message: {type: string}
130            required: [message]
131  
132          output_schema:
133            type: object
134            properties:
135              result: {type: string}
136            required: [result]
137  
138          nodes:
139            - id: call_child
140              type: workflow
141              workflow_name: "SimpleChildWorkflow"
142              input:
143                message: "{{workflow.input.message}}"
144  
145          output_mapping:
146            result: "{{call_child.output.echoed}}"
147  
148          skills:
149            - id: "parent_echo"
150              name: "Parent Echo"
151              description: "Parent workflow that calls child"
152              tags: ["echo", "parent"]
153  
154        session_service:
155          <<: *default_session_service
156        artifact_service:
157          <<: *default_artifact_service
158  
159        agent_card_publishing: { interval_seconds: 10 }
160        agent_discovery: { enabled: false }