@@ -596,14 +596,20 @@ Return ONLY the expression - no explanations.`,
596596 secretAccessKey : params . secretAccessKey ,
597597 }
598598
599- // Table name (introspect uses introspectTableName, all others use tableName)
599+ // Table name (introspect uses introspectTableName, all others use tableName).
600+ // Legacy blocks stored both operations under 'tableName'; fall back to tableName
601+ // for introspect if introspectTableName is not present (migration grace period).
600602 if ( op === 'introspect' ) {
601- if ( params . introspectTableName ) result . tableName = params . introspectTableName
603+ const tbl = params . introspectTableName || params . tableName
604+ if ( tbl ) result . tableName = tbl
602605 } else {
603606 result . tableName = params . tableName
604607 }
605608
606- // Operation-specific params — map unique subBlock IDs back to tool param names
609+ // Operation-specific params — map unique subBlock IDs back to tool param names.
610+ // Where a fallback to the legacy migrated ID is present (e.g. params.getKey as
611+ // fallback for update/delete), it covers blocks saved before the subblock rename
612+ // whose migration entry routed the shared old ID to the query/get slot.
607613 if ( op === 'get' ) {
608614 const key = parseJson ( params . getKey , 'key' )
609615 if ( key !== undefined ) result . key = key
@@ -615,11 +621,20 @@ Return ONLY the expression - no explanations.`,
615621 if ( op === 'put' ) {
616622 const item = parseJson ( params . item , 'item' )
617623 if ( item !== undefined ) result . item = item
618- if ( params . putConditionExpression )
619- result . conditionExpression = params . putConditionExpression
620- const names = parseJson ( params . putExpressionAttributeNames , 'expressionAttributeNames' )
624+ // conditionExpression: fall back to updateConditionExpression (legacy migration target)
625+ const condExpr = params . putConditionExpression || params . updateConditionExpression
626+ if ( condExpr ) result . conditionExpression = condExpr
627+ // expressionAttributeNames: fall back to queryExpressionAttributeNames (legacy migration target)
628+ const names = parseJson (
629+ params . putExpressionAttributeNames || params . queryExpressionAttributeNames ,
630+ 'expressionAttributeNames'
631+ )
621632 if ( names !== undefined ) result . expressionAttributeNames = names
622- const values = parseJson ( params . putExpressionAttributeValues , 'expressionAttributeValues' )
633+ // expressionAttributeValues: fall back to queryExpressionAttributeValues (legacy migration target)
634+ const values = parseJson (
635+ params . putExpressionAttributeValues || params . queryExpressionAttributeValues ,
636+ 'expressionAttributeValues'
637+ )
623638 if ( values !== undefined ) result . expressionAttributeValues = values
624639 }
625640
@@ -644,28 +659,43 @@ Return ONLY the expression - no explanations.`,
644659 }
645660
646661 if ( op === 'scan' ) {
647- if ( params . scanFilterExpression ) result . filterExpression = params . scanFilterExpression
662+ // filterExpression: fall back to queryFilterExpression (legacy migration target for 'filterExpression')
663+ const filterExpr = params . scanFilterExpression || params . queryFilterExpression
664+ if ( filterExpr ) result . filterExpression = filterExpr
648665 if ( params . projectionExpression ) result . projectionExpression = params . projectionExpression
649- const names = parseJson ( params . scanExpressionAttributeNames , 'expressionAttributeNames' )
666+ // expressionAttributeNames: fall back to queryExpressionAttributeNames (legacy migration target)
667+ const names = parseJson (
668+ params . scanExpressionAttributeNames || params . queryExpressionAttributeNames ,
669+ 'expressionAttributeNames'
670+ )
650671 if ( names !== undefined ) result . expressionAttributeNames = names
672+ // expressionAttributeValues: fall back to queryExpressionAttributeValues (legacy migration target)
651673 const values = parseJson (
652- params . scanExpressionAttributeValues ,
674+ params . scanExpressionAttributeValues || params . queryExpressionAttributeValues ,
653675 'expressionAttributeValues'
654676 )
655677 if ( values !== undefined ) result . expressionAttributeValues = values
656- if ( params . scanLimit ) result . limit = Number . parseInt ( String ( params . scanLimit ) , 10 )
678+ // limit: fall back to queryLimit (legacy migration target for 'limit')
679+ const lim = params . scanLimit || params . queryLimit
680+ if ( lim ) result . limit = Number . parseInt ( String ( lim ) , 10 )
657681 const esk = parseJson ( params . scanExclusiveStartKey , 'exclusiveStartKey' )
658682 if ( esk !== undefined ) result . exclusiveStartKey = esk
659683 }
660684
661685 if ( op === 'update' ) {
662- const key = parseJson ( params . updateKey , 'key' )
686+ // key: fall back to getKey (legacy migration target for shared 'key' subblock)
687+ const key = parseJson ( params . updateKey || params . getKey , 'key' )
663688 if ( key !== undefined ) result . key = key
664689 if ( params . updateExpression ) result . updateExpression = params . updateExpression
665- const names = parseJson ( params . updateExpressionAttributeNames , 'expressionAttributeNames' )
690+ // expressionAttributeNames: fall back to queryExpressionAttributeNames (legacy migration target)
691+ const names = parseJson (
692+ params . updateExpressionAttributeNames || params . queryExpressionAttributeNames ,
693+ 'expressionAttributeNames'
694+ )
666695 if ( names !== undefined ) result . expressionAttributeNames = names
696+ // expressionAttributeValues: fall back to queryExpressionAttributeValues (legacy migration target)
667697 const values = parseJson (
668- params . updateExpressionAttributeValues ,
698+ params . updateExpressionAttributeValues || params . queryExpressionAttributeValues ,
669699 'expressionAttributeValues'
670700 )
671701 if ( values !== undefined ) result . expressionAttributeValues = values
@@ -674,14 +704,20 @@ Return ONLY the expression - no explanations.`,
674704 }
675705
676706 if ( op === 'delete' ) {
677- const key = parseJson ( params . deleteKey , 'key' )
707+ // key: fall back to getKey (legacy migration target for shared 'key' subblock)
708+ const key = parseJson ( params . deleteKey || params . getKey , 'key' )
678709 if ( key !== undefined ) result . key = key
679710 if ( params . deleteConditionExpression )
680711 result . conditionExpression = params . deleteConditionExpression
681- const names = parseJson ( params . deleteExpressionAttributeNames , 'expressionAttributeNames' )
712+ // expressionAttributeNames: fall back to queryExpressionAttributeNames (legacy migration target)
713+ const names = parseJson (
714+ params . deleteExpressionAttributeNames || params . queryExpressionAttributeNames ,
715+ 'expressionAttributeNames'
716+ )
682717 if ( names !== undefined ) result . expressionAttributeNames = names
718+ // expressionAttributeValues: fall back to queryExpressionAttributeValues (legacy migration target)
683719 const values = parseJson (
684- params . deleteExpressionAttributeValues ,
720+ params . deleteExpressionAttributeValues || params . queryExpressionAttributeValues ,
685721 'expressionAttributeValues'
686722 )
687723 if ( values !== undefined ) result . expressionAttributeValues = values
0 commit comments