feat: add support for USE_STRUCTURED_RESPONSE (v2)#799
Merged
suwhang-cisco merged 23 commits intomainfrom Feb 13, 2026
Merged
Conversation
…ed response tool call as its final output Signed-off-by: suwhang-cisco <suwhang@cisco.com>
Signed-off-by: suwhang-cisco <suwhang@cisco.com>
…to feat/add-structured-response-v2
…put if USE_STRUCTURED_RESPONSE is true Signed-off-by: suwhang-cisco <suwhang@cisco.com>
13 tasks
Contributor
|
✅ No proprietary content detected. This PR is clear for review! |
1 similar comment
Contributor
|
✅ No proprietary content detected. This PR is clear for review! |
Contributor
📊 Test Coverage ReportMain Tests Coverage
📁 Coverage Artifacts
|
Contributor
📊 Test Coverage ReportMain Tests Coverage
📁 Coverage Artifacts
|
Signed-off-by: suwhang-cisco <suwhang@cisco.com>
Contributor
|
✅ No proprietary content detected. This PR is clear for review! |
Contributor
📊 Test Coverage ReportMain Tests Coverage
📁 Coverage Artifacts
|
…ed response tool call as its final output Signed-off-by: suwhang-cisco <suwhang@cisco.com>
Signed-off-by: suwhang-cisco <suwhang@cisco.com>
…put if USE_STRUCTURED_RESPONSE is true Signed-off-by: suwhang-cisco <suwhang@cisco.com>
Signed-off-by: suwhang-cisco <suwhang@cisco.com>
…NSE feature New test files: - test_response_format.py (32 tests): PlatformEngineerResponse, Metadata, InputField Pydantic model validation, serialization, roundtrips, defaults, edge cases - test_prompts.py (18 tests): generate_system_prompt with use_structured_response flag, FINAL_ANSWER_MARKER_SECTION inclusion/exclusion, agent descriptions, RAG instructions, YAML vs fallback template paths - test_handle_structured_response.py (22 tests): Pydantic object, dict, and string inputs; JSON parsing with markdown fences; multiple JSON objects; [FINAL ANSWER] marker detection; metadata/input_fields propagation; fallback behavior - test_executor_structured_response.py (22 tests): from_response_format_tool handling in execute(), _handle_task_complete content bypass, _handle_user_input_required with metadata form fields, event ordering priority, StreamState defaults, new_data_artifact Also fix lint errors: - Remove unused `re` import from agent.py - Fix f-string without placeholders in agent.py - Fix pre-existing lint issues in test_base_langgraph_agent.py and test_base_langgraph_agent_executor.py Signed-off-by: Sri Aradhyula <sraradhy@cisco.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Add platform_engineer/tests/ and utils/a2a_common/tests/ to the test-multi-agents target so all new unit tests run as part of make test. Signed-off-by: Sri Aradhyula <sraradhy@cisco.com> Co-authored-by: Cursor <cursoragent@cursor.com>
6e7b367 to
c3b832e
Compare
Contributor
|
✅ No proprietary content detected. This PR is clear for review! |
Contributor
📊 Test Coverage ReportMain Tests Coverage
📁 Coverage Artifacts
|
…ai-platform-engineering into feat/add-structured-response-v2
Signed-off-by: suwhang-cisco <suwhang@cisco.com>
Signed-off-by: suwhang-cisco <suwhang@cisco.com>
Contributor
|
✅ No proprietary content detected. This PR is clear for review! |
1 similar comment
Contributor
|
✅ No proprietary content detected. This PR is clear for review! |
…al output using field_values Signed-off-by: suwhang-cisco <suwhang@cisco.com>
…ai-platform-engineering into feat/add-structured-response-v2
Contributor
|
✅ No proprietary content detected. This PR is clear for review! |
Contributor
🧪 CAIPE UI Test Results✅ All tests passed 🔴 Overall Coverage: 30%📊 Detailed Coverage
✅ Test Suites
📈 Coverage Thresholds
|
Signed-off-by: suwhang-cisco <suwhang@cisco.com>
Contributor
|
✅ No proprietary content detected. This PR is clear for review! |
Contributor
📊 Test Coverage ReportMain Tests Coverage
📁 Coverage Artifacts
|
Signed-off-by: suwhang-cisco <suwhang@cisco.com>
Contributor
|
✅ No proprietary content detected. This PR is clear for review! |
Contributor
📊 Test Coverage ReportMain Tests Coverage
📁 Coverage Artifacts
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
USE_STRUCTURED_RESPONSEwhere LLM uses structured response tool call as its final output.[Final Answer]stamps instead.)request_user_inputtool will be dropped from the agent as the structured response itself has the ability to include this (fields"user_input": True,and"input_fields")was_task_successfulto indicate the task success and instruct the agent to setis_task_completeto true to indicate this is the FINAL output to be shown to the user.Type of Change
Pre-release Helm Charts (Optional)
For chart changes, you can test pre-release versions before merging:
pre/for automatic pre-release buildshelm-prereleaselabelghcr.io/cnoe-io/pre-release-helm-chartsChecklist