fix(schema-generator): support Stream types nested in OpaqueRef wrappers #1974
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.
Fixes CT-1006: "Error: Unexpected CommonTools type: Stream" when building patterns with llm() function.
The issue occurred when Stream types were wrapped in nested OpaqueRef layers (e.g., Opaque<OpaqueRef<Stream>>). The schema generator's wrapper detection via typeNode worked, but getWrapperTypeInfo(type) failed due to complex union structure.
Solution: Added recursivelyUnwrapOpaqueRef() method that:
Includes test fixture opaque-opaqueref-stream to verify the fix.
Summary by cubic
Fixes handling of Stream types wrapped in nested OpaqueRef layers in the schema generator. Resolves CT-1006 so patterns using llm() build without the “Unexpected CommonTools type: Stream” error.