@@ -381,9 +381,9 @@ export const SquareBlock: BlockConfig<SquareResponse> = {
381381 placeholder : '["L123", "L456"]' ,
382382 condition : {
383383 field : 'operation' ,
384- value : [ 'search_orders' , 'search_invoices' , ' batch_retrieve_inventory_counts'] ,
384+ value : [ 'search_orders' , 'batch_retrieve_inventory_counts' ] ,
385385 } ,
386- required : { field : 'operation' , value : [ 'search_orders' , 'search_invoices' ] } ,
386+ required : { field : 'operation' , value : 'search_orders' } ,
387387 } ,
388388
389389 // Invoices
@@ -563,9 +563,16 @@ export const SquareBlock: BlockConfig<SquareResponse> = {
563563 placeholder : 'Square location ID' ,
564564 condition : {
565565 field : 'operation' ,
566- value : [ 'create_payment' , 'list_payments' , 'list_invoices' , 'list_refunds' , 'get_location' ] ,
566+ value : [
567+ 'create_payment' ,
568+ 'list_payments' ,
569+ 'list_invoices' ,
570+ 'search_invoices' ,
571+ 'list_refunds' ,
572+ 'get_location' ,
573+ ] ,
567574 } ,
568- required : { field : 'operation' , value : [ 'list_invoices' , 'get_location' ] } ,
575+ required : { field : 'operation' , value : [ 'list_invoices' , 'search_invoices' , ' get_location'] } ,
569576 } ,
570577 {
571578 id : 'limit' ,
@@ -725,6 +732,22 @@ export const SquareBlock: BlockConfig<SquareResponse> = {
725732 const parsedCatalogObjectIds = parseJsonField ( catalogObjectIds , 'catalogObjectIds' )
726733 const parsedStates = parseJsonField ( states , 'states' )
727734
735+ // Coerce a numeric input, failing locally with a clear message rather than
736+ // forwarding NaN to Square when the value is non-numeric.
737+ const coerceNumber = ( value : unknown , field : string ) : number | undefined => {
738+ if ( value === undefined || value === null || value === '' ) return undefined
739+ const num = Number ( value )
740+ if ( ! Number . isFinite ( num ) ) {
741+ throw new Error ( `"${ field } " must be a valid number` )
742+ }
743+ return num
744+ }
745+
746+ const coercedAmount = coerceNumber ( amount , 'amount' )
747+ const coercedLimit = coerceNumber ( limit , 'limit' )
748+ const coercedVersion = coerceNumber ( version , 'version' )
749+ const coercedOrderVersion = coerceNumber ( orderVersion , 'orderVersion' )
750+
728751 return {
729752 ...rest ,
730753 ...( normalizedFile && { file : normalizedFile } ) ,
@@ -738,11 +761,10 @@ export const SquareBlock: BlockConfig<SquareResponse> = {
738761 ...( parsedPaymentIds !== undefined && { paymentIds : parsedPaymentIds } ) ,
739762 ...( parsedCatalogObjectIds !== undefined && { catalogObjectIds : parsedCatalogObjectIds } ) ,
740763 ...( parsedStates !== undefined && { states : parsedStates } ) ,
741- ...( amount !== undefined && amount !== '' && { amount : Number ( amount ) } ) ,
742- ...( limit !== undefined && limit !== '' && { limit : Number ( limit ) } ) ,
743- ...( version !== undefined && version !== '' && { version : Number ( version ) } ) ,
744- ...( orderVersion !== undefined &&
745- orderVersion !== '' && { orderVersion : Number ( orderVersion ) } ) ,
764+ ...( coercedAmount !== undefined && { amount : coercedAmount } ) ,
765+ ...( coercedLimit !== undefined && { limit : coercedLimit } ) ,
766+ ...( coercedVersion !== undefined && { version : coercedVersion } ) ,
767+ ...( coercedOrderVersion !== undefined && { orderVersion : coercedOrderVersion } ) ,
746768 ...( autocomplete !== undefined && { autocomplete : autocomplete === 'true' } ) ,
747769 ...( includeRelatedObjects !== undefined && {
748770 includeRelatedObjects : includeRelatedObjects === 'true' ,
0 commit comments