Revert container padding to py-[8px] (MCP tools were correct).
Wrap SubBlock-first output in a div with pt-[4px] so only registry
tools get extra breathing room from the container top.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Bump the expanded tool body container's top padding from 8px to 12px
for more breathing room between the header bar and the first parameter.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use items-baseline instead of items-center on Label flex containers
so the smaller (optional) text aligns with the label text baseline
rather than sitting slightly below it.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Set workflowId param to user-only in workflow_executor tool config
so "Select Workflow" no longer shows "(optional)" indicator
- Tighten (optional) label spacing with -ml-[3px] to counteract
parent Label's gap-[6px], making it feel inline with the label text
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
After redeploying a child workflow via the stale badge, the workflow
state cache was not invalidated, so WorkflowInputMapperInput kept
showing stale input fields until page refresh. Now invalidates
workflowKeys.state on deploy success.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The SubBlock-first rendering path was hard-returning after rendering
subblocks, so tool params without matching subblocks (like inputMapping
for workflow tools) were never rendered. Now renders subblocks first,
then any remaining displayParams not covered by subblocks via the legacy
ParameterWithLabel fallback.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Attach resolved paramVisibility to subblocks from getSubBlocksForToolInput
- Add labelSuffix prop to SubBlock for "(optional)" badge on user-or-llm params
- Fix folder selector missing for tools with canonicalParamId (e.g. Google Drive)
- Fix canonical toggle not clickable by letting SubBlock handle dependsOn internally
- Extract ParameterWithLabel, ToolSubBlockRenderer, ToolCredentialSelector to components/tools/
- Extract StoredTool interface to types.ts, selection helpers to utils.ts
- Remove dead code (mcpError, refreshTools, oldParamIds, initialParams)
- Strengthen typing: replace any with proper types on icon components and evaluateParameterCondition
Replace 17+ individual SyncWrapper components with a single centralized
ToolSubBlockRenderer that bridges the subblock store with StoredTool.params
via synthetic store keys. This reduces ~1000 lines of duplicated wrapper
code and ensures tool-input renders subblock components identically to
the standalone SubBlock path.
- Add ToolSubBlockRenderer with bidirectional store sync
- Add basic/advanced mode toggle (ArrowLeftRight) using collaborative functions
- Add dependsOn gating via useDependsOnGate (fields disable instead of hiding)
- Add paramVisibility field to SubBlockConfig for tool-input visibility control
- Pass canonicalModeOverrides through getSubBlocksForToolInput
- Show (optional) label for non-user-only fields (LLM can inject at runtime)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(terminal): reconnect to running executions after page refresh
* fix(terminal): use ExecutionEvent type instead of any in reconnection stream
* fix(execution): type event buffer with ExecutionEvent instead of Record<string, unknown>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(execution): validate fromEventId query param in reconnection endpoint
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Fix some bugs
* fix(variables): fix tag dropdown and cursor alignment in variables block (#3199)
* feat(confluence): added list space labels, delete label, delete page prop (#3201)
* updated route
* ack comments
* fix(execution): reset execution state in reconnection cleanup to unblock re-entry
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(execution): restore running entries when reconnection is interrupted by navigation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* done
* remove cast in ioredis types
* ack PR comments
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Siddharth Ganesan <siddharthganesan@gmail.com>
* feat(providers): add Gemini Deep Research via Interactions API
* fix(providers): hide memory UI for deep research models
* feat(providers): add multi-turn support and token logging for deep research
* fix(providers): only collect user messages as deep research input
* fix(providers): forward previousInteractionId to provider request
* fix(blocks): hide memory child fields for deep research models
* remove memory params from models that don't support it in provider requests
* update blog
* fix(execution): scope execution state per workflow to prevent cross-workflow bleed
* fix(execution): use validated workflowId param instead of non-null assertion in handleRunUntilBlock
* improvement(execution): use individual selectors to avoid unnecessary re-renders from unselectored store hook
* improvement(execution): use useShallow selector in workflow.tsx to avoid re-renders from lastRunPath/lastRunEdges changes
Adds the AgentSkillsIcon to trace spans in logs when displaying the
load_skill tool. Previously, skills appeared with a default gray color.
Now they display with the proper skill icon and a purple (#8B5CF6)
background color, consistent with the skills icon used in the settings
modal and skill input components.
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Emir Karabeg <emir-karabeg@users.noreply.github.com>
* improvement(preview): added trigger mode context for deploy preview
* use existing helper
* enhance disabled mode for subblocks
* update
* update all subblocks to allow scrolling in read only mode
* updated short and long input to match others, reverted triggerutils change
* fix(mcp): harden notification system against race conditions
- Guard concurrent connect() calls in connection manager with connectingServers Set
- Suppress post-disconnect notification handler firing in MCP client
- Clean up Redis event listeners in pub/sub dispose()
- Add tests for all three hardening fixes (11 new tests)
* updated tests
* plugged in new mcp event based system and create sse route to publish notifs
* ack commetns
* fix reconnect timer
* cleanup when running onClose
* fixed spacing on mcp settings tab
* keep error listeners before quiet in redis
* feat(models): updated model configs, updated anthropic provider to propagate errors back to user if any
* moved max tokens to advanced
* updated model configs and testesd
* removed default in max config for output tokens
* moved more stuff to advanced mode in the agent block
* stronger typing
* move api key under model, update mistral and groq
* update openrouter, fixed serializer to allow ollama/vllm models without api key
* removed ollama handling
* improvement(preview): nested workflow snapshots/preview when not executed
* improvements to resolve nested subblock values
* few more things
* add try catch
* fix fallback case
* deps
* fix(logs): execution files should always use our internal route
* correct degree of access control
* fix tests
* fix tag defs flag
* fix type check
* fix mcp tools
* make webhooks consistent
* fix ollama and vllm visibility
* remove dup test
* feat(icons): add Airweave icon and update registry with Airweave block and tool
* feat(icons): add Airweave icon and update icon mapping and metadata
* fix(search): update API key header from Authorization to X-API-Key for Airweave search tool
* refactor(icon-mapping): reorder icon imports for consistency and formatting improvements; update airweave block retrieval strategy description formatting; add newline at end of meta.json
* refactor(search): update visibility settings for retrieval strategy and query options to allow access for both users and LLMs