-
Notifications
You must be signed in to change notification settings - Fork 2.1k
improvement(copilot): structured metadata context + start block deprecation #1362
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
improvement(copilot): structured metadata context + start block deprecation #1362
Conversation
…/metadata-tool-and-trigger-split-from-staging
…ign bgColor to triggers green
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Greptile Summary
This PR implements a major architectural refactoring that combines two significant improvements: structured metadata context for copilot functionality and deprecation of the unified start block system. The changes introduce a new trigger architecture that separates workflow initiation concerns into dedicated, specialized blocks.
Start Block Deprecation & Trigger System Overhaul
The unified 'starter' block that previously handled multiple trigger types (manual, chat, API, webhook, schedule) through configuration modes has been deprecated in favor of dedicated trigger blocks: ChatTriggerBlock
, ApiTriggerBlock
, InputTriggerBlock
, and WorkflowInputBlock
. The starter block is now hidden from the toolbar (hideFromToolbar: true
) but remains functional for backward compatibility. This architectural shift provides cleaner separation of concerns, with each trigger type having its own specialized configuration UI and behavior patterns.
Structured Authentication Metadata
All blocks now include explicit authMode
declarations using a new AuthMode
enum (OAuth, ApiKey, BotToken), replacing implicit authentication requirements mentioned in text descriptions. This standardization enables programmatic understanding of authentication needs across 50+ blocks, supporting better tooling integration and cleaner copilot context generation.
Enhanced Copilot Context System
The copilot metadata system has been restructured with separate endpoints for basic block listing (get-blocks-and-tools
) and detailed metadata (get-blocks-metadata
). The new system provides hierarchical metadata organization, separating common parameters from operation-specific ones, and filters out UI-specific elements to reduce LLM context overhead.
Workflow Creation & Execution Changes
New workflows now start with empty canvases instead of pre-configured starter blocks, allowing users to explicitly select appropriate triggers. The execution system has been enhanced with TriggerUtils
for dynamic trigger detection, proper validation of trigger connectivity, and context-aware start block resolution that handles both new trigger blocks and legacy starter compatibility.
UI/UX Improvements
The toolbar now features a tabbed interface separating 'Blocks' and 'Triggers', with comprehensive trigger selection modals, warning dialogs for invalid configurations, and placeholder components for trigger-less workflows. New components like InputMapping
enable sophisticated workflow composition with parent-to-child input mapping capabilities.
Confidence score: 3/5
- This PR introduces complex architectural changes that significantly modify core workflow execution logic, trigger handling, and metadata systems across the entire codebase
- Score reflects the extensive scope of changes affecting critical execution paths, authentication systems, and user workflow creation patterns that could impact existing functionality
- Pay close attention to executor logic in
executor/index.ts
, trigger validation inTriggerUtils
, and the new copilot metadata endpoints which handle complex parameter resolution and filtering logic
100 files reviewed, 21 comments
...orkspace/[workspaceId]/w/[workflowId]/components/trigger-selector/trigger-selector-modal.tsx
Outdated
Show resolved
Hide resolved
apps/sim/lib/copilot/tools/server/blocks/get-blocks-and-tools.ts
Outdated
Show resolved
Hide resolved
…g' of github.com:simstudioai/sim into integration/metadata-tool-and-trigger-split-from-staging
…g' of github.com:simstudioai/sim into integration/metadata-tool-and-trigger-split-from-staging
…g' of github.com:simstudioai/sim into integration/metadata-tool-and-trigger-split-from-staging
Summary
Combining #1345 and #1326
Type of Change
Testing
Manually
Checklist