aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes/chatbot/agentsystem
diff options
context:
space:
mode:
authorA.J. Shulman <Shulman.aj@gmail.com>2025-04-03 12:30:58 -0400
committerA.J. Shulman <Shulman.aj@gmail.com>2025-04-03 12:30:58 -0400
commit6e646b38523c84f0285863865e2c929870105e2a (patch)
treec8a1d65c4ccf8e7865fd4a4ba7363baccfd3b5ab /src/client/views/nodes/chatbot/agentsystem
parent5400cf24ded3bde5ba319bb9ab50602ce0fb9927 (diff)
better editing of texts
Diffstat (limited to 'src/client/views/nodes/chatbot/agentsystem')
-rw-r--r--src/client/views/nodes/chatbot/agentsystem/Agent.ts32
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
+ }
}
}