diff options
| author | A.J. Shulman <Shulman.aj@gmail.com> | 2025-04-03 12:30:58 -0400 |
|---|---|---|
| committer | A.J. Shulman <Shulman.aj@gmail.com> | 2025-04-03 12:30:58 -0400 |
| commit | 6e646b38523c84f0285863865e2c929870105e2a (patch) | |
| tree | c8a1d65c4ccf8e7865fd4a4ba7363baccfd3b5ab /src/client/views/nodes/chatbot/agentsystem | |
| parent | 5400cf24ded3bde5ba319bb9ab50602ce0fb9927 (diff) | |
better editing of texts
Diffstat (limited to 'src/client/views/nodes/chatbot/agentsystem')
| -rw-r--r-- | src/client/views/nodes/chatbot/agentsystem/Agent.ts | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/src/client/views/nodes/chatbot/agentsystem/Agent.ts b/src/client/views/nodes/chatbot/agentsystem/Agent.ts index 0610dc198..3c76cf348 100644 --- a/src/client/views/nodes/chatbot/agentsystem/Agent.ts +++ b/src/client/views/nodes/chatbot/agentsystem/Agent.ts @@ -462,10 +462,34 @@ export class Agent { console.log(actionInput); // Special handling for documentMetadata tool with numeric or boolean fieldValue - if (action === 'documentMetadata' && 'fieldValue' in actionInput) { - if (typeof actionInput.fieldValue === 'number' || typeof actionInput.fieldValue === 'boolean') { - // Convert number or boolean to string to pass validation - actionInput.fieldValue = String(actionInput.fieldValue); + if (action === 'documentMetadata') { + // Handle single field edit + if ('fieldValue' in actionInput) { + if (typeof actionInput.fieldValue === 'number' || typeof actionInput.fieldValue === 'boolean') { + // Convert number or boolean to string to pass validation + actionInput.fieldValue = String(actionInput.fieldValue); + } + } + + // Handle fieldEdits parameter (for multiple field edits) + if ('fieldEdits' in actionInput && actionInput.fieldEdits) { + try { + // If it's already an array, stringify it to ensure it passes validation + if (Array.isArray(actionInput.fieldEdits)) { + actionInput.fieldEdits = JSON.stringify(actionInput.fieldEdits); + } + // If it's an object but not an array, it might be a single edit - convert to array and stringify + else if (typeof actionInput.fieldEdits === 'object') { + actionInput.fieldEdits = JSON.stringify([actionInput.fieldEdits]); + } + // Otherwise, ensure it's a string for the validator + else if (typeof actionInput.fieldEdits !== 'string') { + actionInput.fieldEdits = String(actionInput.fieldEdits); + } + } catch (error) { + console.error('Error processing fieldEdits:', error); + // Don't fail validation here, let the tool handle it + } } } |
