-
Notifications
You must be signed in to change notification settings - Fork 32
feat(agent): introduce generalized reverse proxy bidirectional streaming evaluation #575
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
saurabh-net
wants to merge
3
commits into
main
Choose a base branch
from
feat/agentic-reverse-proxy
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
45cdbfd
feat(agent): introduce reverse proxy bidirectional streaming evaluation
saurabh-net ee40316
chore: clean up unused imports and add comment to cancelled exception…
saurabh-net 1964430
chore: adhere to repository linter standards and logging conventions
saurabh-net File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,142 @@ | ||
| edition = "2023"; | ||
|
|
||
| package cloud_databases_eval_proto; | ||
|
|
||
| message AgentStreamMessage { | ||
| string session_id = 1; | ||
| string scenario_id = 2; | ||
| string correlation_id = 3; // Correlates async requests and responses across threads | ||
|
|
||
| oneof payload { | ||
| // 0. Pre-Flight Health & Readiness Probe | ||
| HealthCheckRequest health_check_request = 5; | ||
| HealthCheckResponse health_check_response = 6; | ||
|
|
||
| // 1. Scenario Lifecycle | ||
| LifecycleRequest lifecycle_request = 10; | ||
| LifecycleResponse lifecycle_response = 11; | ||
|
|
||
| // 2. Turn Execution | ||
| TurnRequest turn_request = 20; | ||
| TurnResponse turn_response = 21; | ||
|
|
||
| // 3. In-Flight Scoring Execution (Named Remote Scorers) | ||
| ScoringRequest scoring_request = 30; | ||
| ScoringResponse scoring_response = 31; | ||
|
|
||
| // 4. Remote Workspace Archival | ||
| ArtifactRequest artifact_request = 40; | ||
| ArtifactResponse artifact_response = 41; | ||
|
|
||
| // 5. Final Session Completion | ||
| SessionSummaryMessage session_summary = 50; | ||
| } | ||
| } | ||
|
|
||
| // --- 0. Health Check Messages --- | ||
| message HealthCheckRequest { | ||
| string probe_command = 1; | ||
| float timeout_seconds = 2; | ||
| } | ||
|
|
||
| message HealthCheckResponse { | ||
| bool is_healthy = 1; | ||
| bool internet_egress_ok = 2; | ||
| int32 active_skills_count = 3; | ||
| repeated string available_tools = 4; | ||
| string diagnostic_output = 5; | ||
| string error_message = 6; | ||
| } | ||
|
|
||
| // --- 1. Lifecycle Messages --- | ||
| message LifecycleRequest { | ||
| enum Stage { STAGE_UNSPECIFIED = 0; SETUP = 1; RESET = 2; TEARDOWN = 3; } | ||
| Stage stage = 1; | ||
| string command = 2; | ||
| map<string, string> env_vars = 3; | ||
| } | ||
|
|
||
| message LifecycleResponse { | ||
| int32 exit_code = 1; | ||
| string stdout = 2; | ||
| string stderr = 3; | ||
| string error_message = 4; | ||
| } | ||
|
|
||
| // --- 2. Turn Execution Messages --- | ||
| message TurnRequest { | ||
| int32 turn_index = 1; | ||
| string prompt = 2; | ||
| string system_instruction = 3; | ||
| map<string, string> env = 4; | ||
| string working_dir = 5; | ||
| float timeout_seconds = 6; | ||
| bool resume = 7; | ||
| } | ||
|
|
||
| message ToolCallRecord { | ||
| string tool_id = 1; | ||
| string tool_name = 2; | ||
| string parameters_json = 3; | ||
| string output = 4; | ||
| string status = 5; // "success", "error" | ||
| int64 duration_ms = 6; | ||
| } | ||
|
|
||
| message TurnResponse { | ||
| int32 turn_index = 1; | ||
| string response_text = 2; | ||
| string stdout = 3; | ||
| string stderr = 4; | ||
| int32 exit_code = 5; | ||
| repeated ToolCallRecord tool_calls = 6; | ||
| map<string, int64> token_stats = 7; | ||
| bool execution_completed = 8; | ||
| string error_message = 9; | ||
| } | ||
|
|
||
| // --- 3. In-Flight Scoring Messages --- | ||
| message RemoteScorerSpec { | ||
| string name = 1; // Scorer identifier, e.g. "dataform_compile", "dbt_run", "notebook_eval" | ||
| string config_json = 2; // Serialized configuration dictionary from YAML | ||
| float timeout_seconds = 3; // Timeout per scorer | ||
| } | ||
|
|
||
| message ScoringRequest { | ||
| repeated RemoteScorerSpec scorers = 1; | ||
| } | ||
|
|
||
| message ScoreResult { | ||
| string name = 1; | ||
| float score = 2; // 100.0 (PASS), 0.0 (FAIL), or continuous score | ||
| int32 exit_code = 3; | ||
| string stdout = 4; | ||
| string stderr = 5; | ||
| string logs = 6; | ||
| string error_message = 7; | ||
| } | ||
|
|
||
| message ScoringResponse { | ||
| repeated ScoreResult results = 1; | ||
| } | ||
|
|
||
| // --- 4. Artifact Archival Messages --- | ||
| message ArtifactRequest { | ||
| string target_gcs_bucket = 1; | ||
| string target_gcs_prefix = 2; | ||
| string export_path = 3; | ||
| repeated string exclude_patterns = 4; | ||
| } | ||
|
|
||
| message ArtifactResponse { | ||
| string gcs_uri = 1; | ||
| int64 archive_size_bytes = 2; | ||
| repeated string exported_files = 3; | ||
| string error_message = 4; | ||
| } | ||
|
|
||
| // --- 5. Session Summary --- | ||
| message SessionSummaryMessage { | ||
| string job_id = 1; | ||
| string summary_json = 2; | ||
| } |
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.