mirror of
https://github.com/simstudioai/sim.git
synced 2026-02-01 10:14:56 -05:00
fix(copilot): add lock checks for insert and extract operations
- insert_into_subflow: Check if existing block being moved is locked - extract_from_subflow: Check if block or parent subflow is locked These operations now match the UI behavior where locked blocks cannot be moved into/out of containers. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -2296,6 +2296,17 @@ function applyOperationsToWorkflowState(
|
||||
break
|
||||
}
|
||||
|
||||
// Check if existing block is locked
|
||||
if (existingBlock.locked) {
|
||||
logSkippedItem(skippedItems, {
|
||||
type: 'block_locked',
|
||||
operationType: 'insert_into_subflow',
|
||||
blockId: block_id,
|
||||
reason: `Block "${block_id}" is locked and cannot be moved into a subflow`,
|
||||
})
|
||||
break
|
||||
}
|
||||
|
||||
// Moving existing block into subflow - just update parent
|
||||
existingBlock.data = {
|
||||
...existingBlock.data,
|
||||
@@ -2441,6 +2452,30 @@ function applyOperationsToWorkflowState(
|
||||
break
|
||||
}
|
||||
|
||||
// Check if block is locked
|
||||
if (block.locked) {
|
||||
logSkippedItem(skippedItems, {
|
||||
type: 'block_locked',
|
||||
operationType: 'extract_from_subflow',
|
||||
blockId: block_id,
|
||||
reason: `Block "${block_id}" is locked and cannot be extracted from subflow`,
|
||||
})
|
||||
break
|
||||
}
|
||||
|
||||
// Check if parent subflow is locked
|
||||
const parentSubflow = modifiedState.blocks[subflowId]
|
||||
if (parentSubflow?.locked) {
|
||||
logSkippedItem(skippedItems, {
|
||||
type: 'block_locked',
|
||||
operationType: 'extract_from_subflow',
|
||||
blockId: block_id,
|
||||
reason: `Subflow "${subflowId}" is locked - cannot extract block "${block_id}"`,
|
||||
details: { subflowId },
|
||||
})
|
||||
break
|
||||
}
|
||||
|
||||
// Verify it's actually a child of this subflow
|
||||
if (block.data?.parentId !== subflowId) {
|
||||
logger.warn('Block is not a child of specified subflow', {
|
||||
|
||||
Reference in New Issue
Block a user