


!include shared_config.yaml

  
apps:  
  - name: test_agent_app
    app_base_path: .
    app_module: src.solace_agent_mesh.agent.sac.app
    broker:
      <<: *broker_connection

    app_config:
      namespace: ${NAMESPACE}
      supports_streaming: true
      agent_name: "TestAgent"
      diplay_name: "Test"
      model: *planning_model
      instruction: |
        You are an agent that helps test the system. You will do as asked to ensure that
        all aspects of agent to agent communication are working. You will also output
        very frequent and verbose status updates.


      tools:
        - tool_type: builtin
          tool_name: "time_delay"
        - tool_type: builtin
          tool_name: "always_fail_tool"
        - tool_type: builtin
          tool_name: "dangling_tool_call_test_tool"
        - tool_type: builtin-group
          group_name: "artifact_management"
        - tool_type: builtin-group
          group_name: "data_analysis"

      session_service:
        type: "memory"
        default_behavior: "PERSISTENT"

      artifact_service:
        type: "filesystem"
        base_path: "/tmp/samv2"
        artifact_scope: namespace
      artifact_handling_mode: "reference"
      enable_embed_resolution: true
      enable_artifact_content_instruction: true

      agent_card:
        description: |
          Use this agent to test the system. It can do basic artifact management and will
          generate lots of status updates. 
        defaultInputModes: ["text"]
        defaultOutputModes: ["text", "file"]
        skills: 
          - id: time_delay
            name: Time Delay
            description: "Delays for a specified number of seconds."
            examples:
              - "Delay for 5 seconds."
              - "Wait for 10 seconds."

      agent_card_publishing: { interval_seconds: 10 }
      agent_discovery: { enabled: true }
      inter_agent_communication:
        allow_list: ["*"]
        request_timeout_seconds: 120
