feat(go.d): support managed metadata for payload-aware functions - #23940
Merged
Merged
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Contributor
There was a problem hiding this comment.
All reported issues were addressed across 8 files
Architecture diagram
sequenceDiagram
participant UI as UI Client
participant AM as Agent Manager
participant JG as Job Generation
participant MG as Method Generation
participant H as Handler
participant R as Raw Handler
participant C as Collector
Note over UI,C: Managed Metadata for Payload-Aware Functions
UI->>AM: Function request (info)
AM->>JG: Route to generation
JG->>MG: handle(info request)
MG->>MG: Parse args & payload
alt Structured or raw without job selection
MG->>MG: Return declaration metadata
MG-->>UI: Info response (no handler call)
else Raw with managed info and job selection
MG->>MG: Resolve selected job
MG->>R: HandleRaw with Info:true
R-->>MG: RequiredParams + Help
MG->>MG: Merge metadata & selectors
MG-->>UI: Scoped info response
end
Note over UI,C: Data Request Flow
UI->>AM: Function request (data + __job)
AM->>JG: Route to generation
JG->>MG: handle(data request)
MG->>MG: Parse args & payload
MG->>MG: Resolve target job
alt Structured method
MG->>H: MethodParams + Handle
H-->>MG: FunctionResponse
else Raw method
MG->>R: HandleRaw (preserve payload)
R-->>MG: FunctionResponse
end
alt Managed info requested
MG->>MG: Include metadata only
else Data response
MG->>MG: Include columns & data
end
MG-->>UI: Composed response
Note over MG,H: Validation and Failures
alt Invalid declaration (ManagedInfo without RawRequest)
MG-->>UI: 400 error
else Unknown job or multiple jobs
MG-->>UI: 4xx error
else Job stopped during request
MG-->>UI: 503 error
end
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
ilyam8
enabled auto-merge (squash)
September 17, 2026 19:34
vkalintiris
approved these changes
Sep 17, 2026
|
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.
Summary
Add opt-in initial and job-scoped metadata handling, keeping job selection and response composition in the framework. Support history and accepted-input declarations while preserving existing structured Functions and SDK passthrough.
Test Plan
Additional Information
For users: How does this change affect me?
Summary by cubic
Adds opt-in framework-managed metadata for payload-aware Functions. Raw-input methods can now declare
ManagedInfo: trueto get framework-composed info responses with job selection and domain selectors, while existing structured and raw passthrough behavior is unchanged.ManagedInfoandAcceptedParamsrequireRawRequest; invalid declarations are rejected.__jobreturns declaration metadata and available jobs without calling the handler.Info: true; the handler supplies domain selectors viaRequiredParams.HasHistoryandAcceptedParamsdeclaration fields that advertise time-range and extra input support without implementing them.RawResponsestill bypasses managed serialization.Written for commit 4b10aef. Summary will update on new commits.
Summary by CodeRabbit
New Features
Bug Fixes
Tests