-
Notifications
You must be signed in to change notification settings - Fork 3.2k
fix(resolver): agent response format, input formats, root level #2925
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
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile SummaryThis PR consolidates code and improves handling of agent response formats, start block input formats, and root-level reference resolution. Key Changes:
Technical improvements:
Confidence Score: 4/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant WorkflowStore
participant BlockResolver
participant BlockOutputs
participant FunctionExecute
participant ResponseHandler
Note over WorkflowStore: Initial Block Setup
User->>WorkflowStore: Create Agent/Start Block
WorkflowStore->>WorkflowStore: prepareBlockState()
WorkflowStore->>WorkflowStore: Check subBlock.type === 'response-format'
WorkflowStore->>WorkflowStore: Initialize with default field structure
Note over BlockResolver,BlockOutputs: Runtime Resolution
User->>BlockResolver: Resolve block reference
BlockResolver->>BlockResolver: Get block output schema
BlockResolver->>BlockOutputs: getBlockOutputs(blockType, subBlocks)
alt blockType === 'agent'
BlockOutputs->>BlockOutputs: Extract responseFormat subblock value
BlockOutputs->>BlockOutputs: parseResponseFormatSafely()
BlockOutputs->>BlockOutputs: extractFieldsFromSchema()
BlockOutputs->>BlockResolver: Return dynamic output schema
else blockType === 'start'
BlockOutputs->>BlockOutputs: Extract inputFormat subblock value
BlockOutputs->>BlockOutputs: normalizeInputFormatValue()
BlockOutputs->>BlockResolver: Return formatted outputs
end
BlockResolver->>BlockResolver: navigatePath(output, pathParts)
BlockResolver->>User: Return resolved value
Note over FunctionExecute: Variable Resolution
User->>FunctionExecute: Execute function block
FunctionExecute->>FunctionExecute: resolveCodeVariables()
FunctionExecute->>FunctionExecute: resolveWorkflowVariables()
FunctionExecute->>FunctionExecute: resolveEnvironmentVariables()
FunctionExecute->>FunctionExecute: resolveTagVariables()
FunctionExecute->>FunctionExecute: navigatePath(blockOutput, pathParts)
FunctionExecute->>User: Execute with resolved code
Note over ResponseHandler: Data Parsing
User->>ResponseHandler: Process response block
ResponseHandler->>ResponseHandler: getResponseData()
ResponseHandler->>ResponseHandler: parseObjectStrings() from utils
ResponseHandler->>User: Return parsed data
|
|
@cursor review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
* fix(zustand): updated to useShallow from deprecated createWithEqualityFn (#2919) * fix(logger): use direct env access for webpack inlining (#2920) * fix(notifications): text overflow with line-clamp (#2921) * chore(helm): add env vars for Vertex AI, orgs, and telemetry (#2922) * fix(auth): improve reset password flow and consolidate brand detection (#2924) * fix(auth): improve reset password flow and consolidate brand detection * fix(auth): set errorHandled for EMAIL_NOT_VERIFIED to prevent duplicate error * fix(auth): clear success message on login errors * chore(auth): fix import order per lint * fix(action-bar): duplicate subflows with children (#2923) * fix(action-bar): duplicate subflows with children * fix(action-bar): add validateTriggerPaste for subflow duplicate * fix(resolver): agent response format, input formats, root level (#2925) * fix(resolvers): agent response format, input formats, root level * fix response block initial seeding * fix tests * fix(messages-input): fix cursor alignment and auto-resize with overlay (#2926) * fix(messages-input): fix cursor alignment and auto-resize with overlay * fixed remaining zustand warnings * fix(stores): remove dead code causing log spam on startup (#2927) * fix(stores): remove dead code causing log spam on startup * fix(stores): replace custom tools zustand store with react query cache * improvement(ui): use BrandedButton and BrandedLink components (#2930) - Refactor auth forms to use BrandedButton component - Add BrandedLink component for changelog page - Reduce code duplication in login, signup, reset-password forms - Update star count default value * fix(custom-tools): remove unsafe title fallback in getCustomTool (#2929) * fix(custom-tools): remove unsafe title fallback in getCustomTool * fix(custom-tools): restore title fallback in getCustomTool lookup Custom tools are referenced by title (custom_${title}), not database ID. The title fallback is required for client-side tool resolution to work. * fix(null-bodies): empty bodies handling (#2931) * fix(null-statuses): empty bodies handling * address bugbot comment * fix(token-refresh): microsoft, notion, x, linear (#2933) * fix(microsoft): proactive refresh needed * fix(x): missing token refresh flag * notion and linear missing flag too * address bugbot comment * fix(auth): handle EMAIL_NOT_VERIFIED in onError callback (#2932) * fix(auth): handle EMAIL_NOT_VERIFIED in onError callback * refactor(auth): extract redirectToVerify helper to reduce duplication * fix(workflow-selector): use dedicated selector for workflow dropdown (#2934) * feat(workflow-block): preview (#2935) * improvement(copilot): tool configs to show nested props (#2936) * fix(auth): add genericOAuth providers to trustedProviders (#2937) --------- Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com> Co-authored-by: Emir Karabeg <78010029+emir-karabeg@users.noreply.github.com>
Summary
Type of Change
Testing
Tested manually
Checklist