@n8n/n8n-nodes-langchain 2.27.4 → 2.28.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/dist/node-definitions/.nodes-hash +1 -1
  2. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v1.schema.js +1 -1
  3. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v1.ts +4 -0
  4. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v11.schema.js +1 -1
  5. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v11.ts +4 -0
  6. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v12.schema.js +1 -1
  7. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v12.ts +4 -0
  8. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v13.schema.js +1 -1
  9. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v13.ts +4 -0
  10. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v14.schema.js +1 -1
  11. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v14.ts +4 -0
  12. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v15.schema.js +1 -1
  13. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v15.ts +4 -0
  14. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v16.schema.js +1 -1
  15. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v16.ts +4 -0
  16. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v17.schema.js +1 -1
  17. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v17.ts +4 -0
  18. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v18.schema.js +1 -1
  19. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v18.ts +4 -0
  20. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v19.schema.js +1 -1
  21. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v19.ts +4 -0
  22. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v2.schema.js +1 -1
  23. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v2.ts +4 -0
  24. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v21.schema.js +1 -1
  25. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v21.ts +4 -0
  26. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v22.schema.js +1 -1
  27. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v22.ts +4 -0
  28. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v3.schema.js +1 -1
  29. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v3.ts +4 -0
  30. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v31.schema.js +1 -1
  31. package/dist/node-definitions/nodes/n8n-nodes-langchain/agent/v31.ts +4 -0
  32. package/dist/node-definitions/nodes/n8n-nodes-langchain/agentTool/v22.schema.js +1 -1
  33. package/dist/node-definitions/nodes/n8n-nodes-langchain/agentTool/v22.ts +4 -0
  34. package/dist/node-definitions/nodes/n8n-nodes-langchain/agentTool/v3.schema.js +1 -1
  35. package/dist/node-definitions/nodes/n8n-nodes-langchain/agentTool/v3.ts +4 -0
  36. package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v1/resource_image/operation_generate.schema.js +1 -1
  37. package/dist/node-definitions/nodes/n8n-nodes-langchain/alibabaCloud/v11/resource_image/operation_generate.schema.js +1 -1
  38. package/dist/node-definitions/nodes/n8n-nodes-langchain/chainRetrievalQa/v1.schema.js +1 -1
  39. package/dist/node-definitions/nodes/n8n-nodes-langchain/chainRetrievalQa/v11.schema.js +1 -1
  40. package/dist/node-definitions/nodes/n8n-nodes-langchain/chainRetrievalQa/v12.schema.js +1 -1
  41. package/dist/node-definitions/nodes/n8n-nodes-langchain/chainRetrievalQa/v13.schema.js +1 -1
  42. package/dist/node-definitions/nodes/n8n-nodes-langchain/chainRetrievalQa/v14.schema.js +1 -1
  43. package/dist/node-definitions/nodes/n8n-nodes-langchain/chainRetrievalQa/v15.schema.js +1 -1
  44. package/dist/node-definitions/nodes/n8n-nodes-langchain/chainRetrievalQa/v16.schema.js +1 -1
  45. package/dist/node-definitions/nodes/n8n-nodes-langchain/chainRetrievalQa/v17.schema.js +1 -1
  46. package/dist/node-definitions/nodes/n8n-nodes-langchain/chainSummarization/v1.schema.js +1 -1
  47. package/dist/node-definitions/nodes/n8n-nodes-langchain/chainSummarization/v2.schema.js +1 -1
  48. package/dist/node-definitions/nodes/n8n-nodes-langchain/chainSummarization/v21.schema.js +1 -1
  49. package/dist/node-definitions/nodes/n8n-nodes-langchain/chat/v1.schema.js +2 -2
  50. package/dist/node-definitions/nodes/n8n-nodes-langchain/chat/v1.ts +1 -0
  51. package/dist/node-definitions/nodes/n8n-nodes-langchain/chat/v11.schema.js +2 -2
  52. package/dist/node-definitions/nodes/n8n-nodes-langchain/chat/v11.ts +1 -0
  53. package/dist/node-definitions/nodes/n8n-nodes-langchain/chat/v12.schema.js +2 -2
  54. package/dist/node-definitions/nodes/n8n-nodes-langchain/chat/v12.ts +1 -0
  55. package/dist/node-definitions/nodes/n8n-nodes-langchain/chat/v13.schema.js +2 -2
  56. package/dist/node-definitions/nodes/n8n-nodes-langchain/chat/v13.ts +1 -0
  57. package/dist/node-definitions/nodes/n8n-nodes-langchain/chatTrigger/v12.schema.js +1 -1
  58. package/dist/node-definitions/nodes/n8n-nodes-langchain/chatTrigger/v13.schema.js +1 -1
  59. package/dist/node-definitions/nodes/n8n-nodes-langchain/chatTrigger/v14.schema.js +1 -1
  60. package/dist/node-definitions/nodes/n8n-nodes-langchain/guardrails/v1.schema.js +1 -1
  61. package/dist/node-definitions/nodes/n8n-nodes-langchain/guardrails/v2.schema.js +1 -1
  62. package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatAnthropic/v1.schema.js +1 -1
  63. package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatAnthropic/v11.schema.js +1 -1
  64. package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatAnthropic/v12.schema.js +1 -1
  65. package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatAnthropic/v13.schema.js +1 -1
  66. package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatAnthropic/v14.schema.js +1 -1
  67. package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatAnthropic/v15.schema.js +1 -1
  68. package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatOpenAi/v1.schema.js +1 -1
  69. package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatOpenAi/v11.schema.js +1 -1
  70. package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatOpenAi/v12.schema.js +1 -1
  71. package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatOpenAi/v13.schema.js +1 -1
  72. package/dist/node-definitions/nodes/n8n-nodes-langchain/mcpTrigger/v1.schema.js +1 -1
  73. package/dist/node-definitions/nodes/n8n-nodes-langchain/mcpTrigger/v1.ts +1 -1
  74. package/dist/node-definitions/nodes/n8n-nodes-langchain/mcpTrigger/v11.schema.js +1 -1
  75. package/dist/node-definitions/nodes/n8n-nodes-langchain/mcpTrigger/v11.ts +1 -1
  76. package/dist/node-definitions/nodes/n8n-nodes-langchain/mcpTrigger/v2.schema.js +1 -1
  77. package/dist/node-definitions/nodes/n8n-nodes-langchain/mcpTrigger/v2.ts +1 -1
  78. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v1/resource_image/operation_generate.schema.js +1 -1
  79. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v11/resource_image/operation_generate.schema.js +1 -1
  80. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v12/resource_image/operation_generate.schema.js +1 -1
  81. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v13/resource_image/operation_generate.schema.js +1 -1
  82. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v14/resource_image/operation_generate.schema.js +1 -1
  83. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v15/resource_image/operation_generate.schema.js +1 -1
  84. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v16/resource_image/operation_generate.schema.js +1 -1
  85. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v17/resource_image/operation_generate.schema.js +1 -1
  86. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v18/resource_image/operation_generate.schema.js +1 -1
  87. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v2/resource_image/operation_generate.schema.js +1 -1
  88. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v2/resource_text/operation_response.schema.js +1 -1
  89. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v21/resource_image/operation_generate.schema.js +1 -1
  90. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v21/resource_text/operation_response.schema.js +1 -1
  91. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_image/operation_generate.schema.js +1 -1
  92. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_text/operation_response.schema.js +1 -1
  93. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v23/resource_image/operation_generate.schema.js +1 -1
  94. package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v23/resource_text/operation_response.schema.js +1 -1
  95. package/dist/nodes/agents/Agent/agents/ToolsAgent/V1/execute.js +1 -0
  96. package/dist/nodes/agents/Agent/agents/ToolsAgent/V1/execute.js.map +1 -1
  97. package/dist/nodes/agents/Agent/agents/ToolsAgent/V2/execute.js +1 -0
  98. package/dist/nodes/agents/Agent/agents/ToolsAgent/V2/execute.js.map +1 -1
  99. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/executeBatch.js +1 -1
  100. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/executeBatch.js.map +1 -1
  101. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/prepareItemContext.d.ts +2 -1
  102. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/prepareItemContext.js +3 -1
  103. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/prepareItemContext.js.map +1 -1
  104. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/types.d.ts +1 -0
  105. package/dist/nodes/agents/Agent/agents/ToolsAgent/common.d.ts +12 -4
  106. package/dist/nodes/agents/Agent/agents/ToolsAgent/common.js +83 -22
  107. package/dist/nodes/agents/Agent/agents/ToolsAgent/common.js.map +1 -1
  108. package/dist/nodes/agents/Agent/agents/ToolsAgent/options.js +7 -0
  109. package/dist/nodes/agents/Agent/agents/ToolsAgent/options.js.map +1 -1
  110. package/dist/nodes/mcp/McpTrigger/McpServer.d.ts +3 -2
  111. package/dist/nodes/mcp/McpTrigger/McpServer.js +15 -2
  112. package/dist/nodes/mcp/McpTrigger/McpServer.js.map +1 -1
  113. package/dist/nodes/mcp/McpTrigger/McpTrigger.node.js +19 -7
  114. package/dist/nodes/mcp/McpTrigger/McpTrigger.node.js.map +1 -1
  115. package/dist/nodes/mcp/McpTrigger/n8n-oauth2-auth.d.ts +5 -1
  116. package/dist/nodes/mcp/McpTrigger/n8n-oauth2-auth.js +5 -1
  117. package/dist/nodes/mcp/McpTrigger/n8n-oauth2-auth.js.map +1 -1
  118. package/dist/nodes/mcp/McpTrigger/protocol/MessageFormatter.d.ts +2 -0
  119. package/dist/nodes/mcp/McpTrigger/protocol/MessageFormatter.js +17 -0
  120. package/dist/nodes/mcp/McpTrigger/protocol/MessageFormatter.js.map +1 -1
  121. package/dist/nodes/trigger/ChatTrigger/error.d.ts +2 -2
  122. package/dist/nodes/trigger/ChatTrigger/error.js +2 -2
  123. package/dist/nodes/trigger/ChatTrigger/error.js.map +1 -1
  124. package/dist/nodes/vector_store/VectorStoreChromaDB/VectorStoreChromaDB.node.js +2 -2
  125. package/dist/nodes/vector_store/VectorStoreInMemory/VectorStoreInMemory.node.js +1 -1
  126. package/dist/nodes/vector_store/VectorStoreInMemory/VectorStoreInMemory.node.js.map +1 -1
  127. package/dist/nodes/vector_store/VectorStoreWeaviate/VectorStoreWeaviate.node.js +2 -2
  128. package/dist/nodes/vector_store/VectorStoreWeaviate/VectorStoreWeaviate.node.js.map +1 -1
  129. package/dist/nodes/vector_store/shared/methods/listSearch.js +1 -1
  130. package/dist/nodes/vector_store/shared/methods/listSearch.js.map +1 -1
  131. package/dist/nodes/vendors/GoogleGemini/helpers/utils.js +8 -9
  132. package/dist/nodes/vendors/GoogleGemini/helpers/utils.js.map +1 -1
  133. package/dist/nodes/vendors/OpenAi/v1/actions/assistant/message.operation.js +1 -1
  134. package/dist/nodes/vendors/OpenAi/v1/actions/assistant/message.operation.js.map +1 -1
  135. package/dist/nodes/vendors/OpenAi/v1/actions/assistant/update.operation.js +1 -1
  136. package/dist/nodes/vendors/OpenAi/v1/actions/assistant/update.operation.js.map +1 -1
  137. package/dist/nodes/vendors/OpenAi/v2/actions/text/index.js +3 -0
  138. package/dist/nodes/vendors/OpenAi/v2/actions/text/index.js.map +1 -1
  139. package/dist/typecheck.tsbuildinfo +1 -1
  140. package/dist/types/nodes.json +8 -8
  141. package/dist/utils/aws/resolveAwsCredentials.js +35 -2
  142. package/dist/utils/aws/resolveAwsCredentials.js.map +1 -1
  143. package/package.json +18 -16
@@ -41,6 +41,10 @@ export interface LcAgentV21Params {
41
41
  * @default true
42
42
  */
43
43
  passthroughBinaryImages?: boolean | Expression<boolean>;
44
+ /** Whether or not binary PDF documents should be automatically passed through to the agent. Useful for models that natively support PDF input (e.g. Google Gemini).
45
+ * @default false
46
+ */
47
+ passthroughBinaryPdfs?: boolean | Expression<boolean>;
44
48
  /** Custom metadata added to tracing events
45
49
  * @default {}
46
50
  */
@@ -28,7 +28,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
28
28
  text: resolveSchema({ parameters, schema: stringOrExpression, required: true, displayOptions: {"show":{"promptType":["define"]}}, defaults: {"promptType":"auto"} }),
29
29
  hasOutputParser: z.boolean().optional(),
30
30
  needsFallback: z.boolean().optional(),
31
- options: z.object({ systemMessage: stringOrExpression.optional(), maxIterations: numberOrExpression.optional(), returnIntermediateSteps: booleanOrExpression.optional(), passthroughBinaryImages: booleanOrExpression.optional(), tracingMetadata: z.object({ values: z.array(z.object({ key: stringOrExpression.optional(), type: z.union([z.literal('arrayValue'), z.literal('booleanValue'), z.literal('numberValue'), z.literal('objectValue'), z.literal('stringValue'), expressionSchema]).optional(), stringValue: stringOrExpression.optional(), numberValue: stringOrExpression.optional(), booleanValue: z.union([z.literal('true'), z.literal('false'), expressionSchema]).optional(), arrayValue: stringOrExpression.optional(), objectValue: z.union([iDataObjectSchema, z.string()]).optional() })).optional() }).optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional(), enableStreaming: booleanOrExpression.optional() }).optional(),
31
+ options: z.object({ systemMessage: stringOrExpression.optional(), maxIterations: numberOrExpression.optional(), returnIntermediateSteps: booleanOrExpression.optional(), passthroughBinaryImages: booleanOrExpression.optional(), passthroughBinaryPdfs: booleanOrExpression.optional(), tracingMetadata: z.object({ values: z.array(z.object({ key: stringOrExpression.optional(), type: z.union([z.literal('arrayValue'), z.literal('booleanValue'), z.literal('numberValue'), z.literal('objectValue'), z.literal('stringValue'), expressionSchema]).optional(), stringValue: stringOrExpression.optional(), numberValue: stringOrExpression.optional(), booleanValue: z.union([z.literal('true'), z.literal('false'), expressionSchema]).optional(), arrayValue: stringOrExpression.optional(), objectValue: z.union([iDataObjectSchema, z.string()]).optional() })).optional() }).optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional(), enableStreaming: booleanOrExpression.optional() }).optional(),
32
32
  });
33
33
 
34
34
  // Return combined config schema
@@ -41,6 +41,10 @@ export interface LcAgentV22Params {
41
41
  * @default true
42
42
  */
43
43
  passthroughBinaryImages?: boolean | Expression<boolean>;
44
+ /** Whether or not binary PDF documents should be automatically passed through to the agent. Useful for models that natively support PDF input (e.g. Google Gemini).
45
+ * @default false
46
+ */
47
+ passthroughBinaryPdfs?: boolean | Expression<boolean>;
44
48
  /** Custom metadata added to tracing events
45
49
  * @default {}
46
50
  */
@@ -28,7 +28,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
28
28
  text: resolveSchema({ parameters, schema: stringOrExpression, required: true, displayOptions: {"show":{"promptType":["define"]}}, defaults: {"promptType":"auto"} }),
29
29
  hasOutputParser: z.boolean().optional(),
30
30
  needsFallback: z.boolean().optional(),
31
- options: z.object({ systemMessage: stringOrExpression.optional(), maxIterations: numberOrExpression.optional(), returnIntermediateSteps: booleanOrExpression.optional(), passthroughBinaryImages: booleanOrExpression.optional(), tracingMetadata: z.object({ values: z.array(z.object({ key: stringOrExpression.optional(), type: z.union([z.literal('arrayValue'), z.literal('booleanValue'), z.literal('numberValue'), z.literal('objectValue'), z.literal('stringValue'), expressionSchema]).optional(), stringValue: stringOrExpression.optional(), numberValue: stringOrExpression.optional(), booleanValue: z.union([z.literal('true'), z.literal('false'), expressionSchema]).optional(), arrayValue: stringOrExpression.optional(), objectValue: z.union([iDataObjectSchema, z.string()]).optional() })).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional(), enableStreaming: booleanOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional(), maxTokensFromMemory: z.unknown().optional() }).optional(),
31
+ options: z.object({ systemMessage: stringOrExpression.optional(), maxIterations: numberOrExpression.optional(), returnIntermediateSteps: booleanOrExpression.optional(), passthroughBinaryImages: booleanOrExpression.optional(), passthroughBinaryPdfs: booleanOrExpression.optional(), tracingMetadata: z.object({ values: z.array(z.object({ key: stringOrExpression.optional(), type: z.union([z.literal('arrayValue'), z.literal('booleanValue'), z.literal('numberValue'), z.literal('objectValue'), z.literal('stringValue'), expressionSchema]).optional(), stringValue: stringOrExpression.optional(), numberValue: stringOrExpression.optional(), booleanValue: z.union([z.literal('true'), z.literal('false'), expressionSchema]).optional(), arrayValue: stringOrExpression.optional(), objectValue: z.union([iDataObjectSchema, z.string()]).optional() })).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional(), enableStreaming: booleanOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional(), maxTokensFromMemory: z.unknown().optional() }).optional(),
32
32
  });
33
33
 
34
34
  // Return combined config schema
@@ -42,6 +42,10 @@ export interface LcAgentV3Params {
42
42
  * @default true
43
43
  */
44
44
  passthroughBinaryImages?: boolean | Expression<boolean>;
45
+ /** Whether or not binary PDF documents should be automatically passed through to the agent. Useful for models that natively support PDF input (e.g. Google Gemini).
46
+ * @default false
47
+ */
48
+ passthroughBinaryPdfs?: boolean | Expression<boolean>;
45
49
  /** Custom metadata added to tracing events
46
50
  * @default {}
47
51
  */
@@ -28,7 +28,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
28
28
  text: resolveSchema({ parameters, schema: stringOrExpression, required: true, displayOptions: {"show":{"promptType":["define"]}}, defaults: {"promptType":"auto"} }),
29
29
  hasOutputParser: z.boolean().optional(),
30
30
  needsFallback: z.boolean().optional(),
31
- options: z.object({ systemMessage: stringOrExpression.optional(), maxIterations: numberOrExpression.optional(), returnIntermediateSteps: booleanOrExpression.optional(), passthroughBinaryImages: booleanOrExpression.optional(), tracingMetadata: z.object({ values: z.array(z.object({ key: stringOrExpression.optional(), type: z.union([z.literal('arrayValue'), z.literal('booleanValue'), z.literal('numberValue'), z.literal('objectValue'), z.literal('stringValue'), expressionSchema]).optional(), stringValue: stringOrExpression.optional(), numberValue: stringOrExpression.optional(), booleanValue: z.union([z.literal('true'), z.literal('false'), expressionSchema]).optional(), arrayValue: stringOrExpression.optional(), objectValue: z.union([iDataObjectSchema, z.string()]).optional() })).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional(), enableStreaming: booleanOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional(), maxTokensFromMemory: z.unknown().optional() }).optional(),
31
+ options: z.object({ systemMessage: stringOrExpression.optional(), maxIterations: numberOrExpression.optional(), returnIntermediateSteps: booleanOrExpression.optional(), passthroughBinaryImages: booleanOrExpression.optional(), passthroughBinaryPdfs: booleanOrExpression.optional(), tracingMetadata: z.object({ values: z.array(z.object({ key: stringOrExpression.optional(), type: z.union([z.literal('arrayValue'), z.literal('booleanValue'), z.literal('numberValue'), z.literal('objectValue'), z.literal('stringValue'), expressionSchema]).optional(), stringValue: stringOrExpression.optional(), numberValue: stringOrExpression.optional(), booleanValue: z.union([z.literal('true'), z.literal('false'), expressionSchema]).optional(), arrayValue: stringOrExpression.optional(), objectValue: z.union([iDataObjectSchema, z.string()]).optional() })).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional(), enableStreaming: booleanOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional(), maxTokensFromMemory: z.unknown().optional() }).optional(),
32
32
  });
33
33
 
34
34
  // Return combined config schema
@@ -43,6 +43,10 @@ export interface LcAgentV31Params {
43
43
  * @default true
44
44
  */
45
45
  passthroughBinaryImages?: boolean | Expression<boolean>;
46
+ /** Whether or not binary PDF documents should be automatically passed through to the agent. Useful for models that natively support PDF input (e.g. Google Gemini).
47
+ * @default false
48
+ */
49
+ passthroughBinaryPdfs?: boolean | Expression<boolean>;
46
50
  /** Custom metadata added to tracing events
47
51
  * @default {}
48
52
  */
@@ -28,7 +28,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
28
28
  text: stringOrExpression,
29
29
  hasOutputParser: z.boolean().optional(),
30
30
  needsFallback: z.boolean().optional(),
31
- options: z.object({ systemMessage: stringOrExpression.optional(), maxIterations: numberOrExpression.optional(), returnIntermediateSteps: booleanOrExpression.optional(), passthroughBinaryImages: booleanOrExpression.optional(), tracingMetadata: z.object({ values: z.array(z.object({ key: stringOrExpression.optional(), type: z.union([z.literal('arrayValue'), z.literal('booleanValue'), z.literal('numberValue'), z.literal('objectValue'), z.literal('stringValue'), expressionSchema]).optional(), stringValue: stringOrExpression.optional(), numberValue: stringOrExpression.optional(), booleanValue: z.union([z.literal('true'), z.literal('false'), expressionSchema]).optional(), arrayValue: stringOrExpression.optional(), objectValue: z.union([iDataObjectSchema, z.string()]).optional() })).optional() }).optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
31
+ options: z.object({ systemMessage: stringOrExpression.optional(), maxIterations: numberOrExpression.optional(), returnIntermediateSteps: booleanOrExpression.optional(), passthroughBinaryImages: booleanOrExpression.optional(), passthroughBinaryPdfs: booleanOrExpression.optional(), tracingMetadata: z.object({ values: z.array(z.object({ key: stringOrExpression.optional(), type: z.union([z.literal('arrayValue'), z.literal('booleanValue'), z.literal('numberValue'), z.literal('objectValue'), z.literal('stringValue'), expressionSchema]).optional(), stringValue: stringOrExpression.optional(), numberValue: stringOrExpression.optional(), booleanValue: z.union([z.literal('true'), z.literal('false'), expressionSchema]).optional(), arrayValue: stringOrExpression.optional(), objectValue: z.union([iDataObjectSchema, z.string()]).optional() })).optional() }).optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
32
32
  });
33
33
 
34
34
  // Return combined config schema
@@ -44,6 +44,10 @@ export interface LcAgentToolV22Params {
44
44
  * @default true
45
45
  */
46
46
  passthroughBinaryImages?: boolean | Expression<boolean>;
47
+ /** Whether or not binary PDF documents should be automatically passed through to the agent. Useful for models that natively support PDF input (e.g. Google Gemini).
48
+ * @default false
49
+ */
50
+ passthroughBinaryPdfs?: boolean | Expression<boolean>;
47
51
  /** Custom metadata added to tracing events
48
52
  * @default {}
49
53
  */
@@ -28,7 +28,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
28
28
  text: stringOrExpression,
29
29
  hasOutputParser: z.boolean().optional(),
30
30
  needsFallback: z.boolean().optional(),
31
- options: z.object({ systemMessage: stringOrExpression.optional(), maxIterations: numberOrExpression.optional(), returnIntermediateSteps: booleanOrExpression.optional(), passthroughBinaryImages: booleanOrExpression.optional(), tracingMetadata: z.object({ values: z.array(z.object({ key: stringOrExpression.optional(), type: z.union([z.literal('arrayValue'), z.literal('booleanValue'), z.literal('numberValue'), z.literal('objectValue'), z.literal('stringValue'), expressionSchema]).optional(), stringValue: stringOrExpression.optional(), numberValue: stringOrExpression.optional(), booleanValue: z.union([z.literal('true'), z.literal('false'), expressionSchema]).optional(), arrayValue: stringOrExpression.optional(), objectValue: z.union([iDataObjectSchema, z.string()]).optional() })).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional(), enableStreaming: booleanOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional(), maxTokensFromMemory: z.unknown().optional() }).optional(),
31
+ options: z.object({ systemMessage: stringOrExpression.optional(), maxIterations: numberOrExpression.optional(), returnIntermediateSteps: booleanOrExpression.optional(), passthroughBinaryImages: booleanOrExpression.optional(), passthroughBinaryPdfs: booleanOrExpression.optional(), tracingMetadata: z.object({ values: z.array(z.object({ key: stringOrExpression.optional(), type: z.union([z.literal('arrayValue'), z.literal('booleanValue'), z.literal('numberValue'), z.literal('objectValue'), z.literal('stringValue'), expressionSchema]).optional(), stringValue: stringOrExpression.optional(), numberValue: stringOrExpression.optional(), booleanValue: z.union([z.literal('true'), z.literal('false'), expressionSchema]).optional(), arrayValue: stringOrExpression.optional(), objectValue: z.union([iDataObjectSchema, z.string()]).optional() })).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional(), enableStreaming: booleanOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional(), maxTokensFromMemory: z.unknown().optional() }).optional(),
32
32
  });
33
33
 
34
34
  // Return combined config schema
@@ -41,6 +41,10 @@ export interface LcAgentToolV3Params {
41
41
  * @default true
42
42
  */
43
43
  passthroughBinaryImages?: boolean | Expression<boolean>;
44
+ /** Whether or not binary PDF documents should be automatically passed through to the agent. Useful for models that natively support PDF input (e.g. Google Gemini).
45
+ * @default false
46
+ */
47
+ passthroughBinaryPdfs?: boolean | Expression<boolean>;
44
48
  /** Custom metadata added to tracing events
45
49
  * @default {}
46
50
  */
@@ -24,7 +24,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
24
24
  modelId: z.union([z.literal('qwen-image'), z.literal('qwen-image-max'), z.literal('qwen-image-plus'), z.literal('wan2.6-t2i'), z.literal('z-image-turbo'), expressionSchema]).optional(),
25
25
  prompt: stringOrExpression,
26
26
  downloadImage: booleanOrExpression.optional(),
27
- imageOptions: z.object({ size: z.union([z.literal('1024*1024'), z.literal('720*1280'), z.literal('1280*720'), expressionSchema]).optional(), size: z.union([z.literal('1104*1472'), z.literal('1328*1328'), z.literal('1472*1104'), z.literal('1664*928'), z.literal('928*1664'), expressionSchema]).optional(), promptExtend: booleanOrExpression.optional() }).optional(),
27
+ imageOptions: z.object({ size: z.union([z.union([z.literal('1024*1024'), z.literal('720*1280'), z.literal('1280*720'), expressionSchema]), z.union([z.literal('1104*1472'), z.literal('1328*1328'), z.literal('1472*1104'), z.literal('1664*928'), z.literal('928*1664'), expressionSchema])]).optional(), promptExtend: booleanOrExpression.optional() }).optional(),
28
28
  }).optional(),
29
29
  subnodes: subnodesSchema.optional(),
30
30
  });
@@ -24,7 +24,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
24
24
  modelId: z.union([z.object({ __rl: z.literal(true), mode: z.union([z.literal('list'), z.literal('id')]), value: z.union([z.string(), z.number()]), cachedResultName: z.string().optional(), cachedResultUrl: z.string().optional() }), expressionSchema]).optional(),
25
25
  prompt: stringOrExpression,
26
26
  downloadImage: booleanOrExpression.optional(),
27
- imageOptions: z.object({ size: z.union([z.literal('1024*1024'), z.literal('720*1280'), z.literal('1280*720'), expressionSchema]).optional(), size: z.union([z.literal('1104*1472'), z.literal('1328*1328'), z.literal('1472*1104'), z.literal('1664*928'), z.literal('928*1664'), expressionSchema]).optional(), promptExtend: booleanOrExpression.optional() }).optional(),
27
+ imageOptions: z.object({ size: z.union([z.union([z.literal('1024*1024'), z.literal('720*1280'), z.literal('1280*720'), expressionSchema]), z.union([z.literal('1104*1472'), z.literal('1328*1328'), z.literal('1472*1104'), z.literal('1664*928'), z.literal('928*1664'), expressionSchema])]).optional(), promptExtend: booleanOrExpression.optional() }).optional(),
28
28
  }).optional(),
29
29
  subnodes: subnodesSchema.optional(),
30
30
  });
@@ -22,7 +22,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
22
22
  const parametersSchema = z.object({
23
23
  query: stringOrExpression.optional(),
24
24
  text: resolveSchema({ parameters, schema: stringOrExpression, required: true, displayOptions: {"show":{"promptType":["define"]}} }),
25
- options: z.object({ systemPromptTemplate: stringOrExpression.optional(), systemPromptTemplate: stringOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
25
+ options: z.object({ systemPromptTemplate: stringOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
26
26
  });
27
27
 
28
28
  // Return combined config schema
@@ -22,7 +22,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
22
22
  const parametersSchema = z.object({
23
23
  query: stringOrExpression.optional(),
24
24
  text: resolveSchema({ parameters, schema: stringOrExpression, required: true, displayOptions: {"show":{"promptType":["define"]}} }),
25
- options: z.object({ systemPromptTemplate: stringOrExpression.optional(), systemPromptTemplate: stringOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
25
+ options: z.object({ systemPromptTemplate: stringOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
26
26
  });
27
27
 
28
28
  // Return combined config schema
@@ -22,7 +22,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
22
22
  const parametersSchema = z.object({
23
23
  query: stringOrExpression.optional(),
24
24
  text: resolveSchema({ parameters, schema: stringOrExpression, required: true, displayOptions: {"show":{"promptType":["define"]}} }),
25
- options: z.object({ systemPromptTemplate: stringOrExpression.optional(), systemPromptTemplate: stringOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
25
+ options: z.object({ systemPromptTemplate: stringOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
26
26
  });
27
27
 
28
28
  // Return combined config schema
@@ -22,7 +22,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
22
22
  const parametersSchema = z.object({
23
23
  promptType: z.union([z.literal('auto'), z.literal('guardrails'), z.literal('define'), expressionSchema]).optional(),
24
24
  text: resolveSchema({ parameters, schema: stringOrExpression, required: true, displayOptions: {"show":{"promptType":["define"]}}, defaults: {"promptType":"auto"} }),
25
- options: z.object({ systemPromptTemplate: stringOrExpression.optional(), systemPromptTemplate: stringOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
25
+ options: z.object({ systemPromptTemplate: stringOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
26
26
  });
27
27
 
28
28
  // Return combined config schema
@@ -22,7 +22,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
22
22
  const parametersSchema = z.object({
23
23
  promptType: z.union([z.literal('auto'), z.literal('guardrails'), z.literal('define'), expressionSchema]).optional(),
24
24
  text: resolveSchema({ parameters, schema: stringOrExpression, required: true, displayOptions: {"show":{"promptType":["define"]}}, defaults: {"promptType":"auto"} }),
25
- options: z.object({ systemPromptTemplate: stringOrExpression.optional(), systemPromptTemplate: stringOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
25
+ options: z.object({ systemPromptTemplate: stringOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
26
26
  });
27
27
 
28
28
  // Return combined config schema
@@ -22,7 +22,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
22
22
  const parametersSchema = z.object({
23
23
  promptType: z.union([z.literal('auto'), z.literal('guardrails'), z.literal('define'), expressionSchema]).optional(),
24
24
  text: resolveSchema({ parameters, schema: stringOrExpression, required: true, displayOptions: {"show":{"promptType":["define"]}}, defaults: {"promptType":"auto"} }),
25
- options: z.object({ systemPromptTemplate: stringOrExpression.optional(), systemPromptTemplate: stringOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
25
+ options: z.object({ systemPromptTemplate: stringOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
26
26
  });
27
27
 
28
28
  // Return combined config schema
@@ -22,7 +22,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
22
22
  const parametersSchema = z.object({
23
23
  promptType: z.union([z.literal('auto'), z.literal('guardrails'), z.literal('define'), expressionSchema]).optional(),
24
24
  text: resolveSchema({ parameters, schema: stringOrExpression, required: true, displayOptions: {"show":{"promptType":["define"]}}, defaults: {"promptType":"auto"} }),
25
- options: z.object({ systemPromptTemplate: stringOrExpression.optional(), systemPromptTemplate: stringOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
25
+ options: z.object({ systemPromptTemplate: stringOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
26
26
  });
27
27
 
28
28
  // Return combined config schema
@@ -22,7 +22,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
22
22
  const parametersSchema = z.object({
23
23
  promptType: z.union([z.literal('auto'), z.literal('define'), expressionSchema]).optional(),
24
24
  text: resolveSchema({ parameters, schema: stringOrExpression, required: true, displayOptions: {"show":{"promptType":["define"]}}, defaults: {"promptType":"auto"} }),
25
- options: z.object({ systemPromptTemplate: stringOrExpression.optional(), systemPromptTemplate: stringOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
25
+ options: z.object({ systemPromptTemplate: stringOrExpression.optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
26
26
  });
27
27
 
28
28
  // Return combined config schema
@@ -21,7 +21,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
21
21
  // Parameters schema
22
22
  const parametersSchema = z.object({
23
23
  type: z.union([z.literal('map_reduce'), z.literal('refine'), z.literal('stuff'), expressionSchema]).optional(),
24
- options: z.object({ combineMapPrompt: stringOrExpression.optional(), prompt: stringOrExpression.optional(), prompt: stringOrExpression.optional(), refinePrompt: stringOrExpression.optional(), refineQuestionPrompt: stringOrExpression.optional() }).optional(),
24
+ options: z.object({ combineMapPrompt: stringOrExpression.optional(), prompt: stringOrExpression.optional(), refinePrompt: stringOrExpression.optional(), refineQuestionPrompt: stringOrExpression.optional() }).optional(),
25
25
  });
26
26
 
27
27
  // Return combined config schema
@@ -27,7 +27,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
27
27
  chunkingMode: resolveSchema({ parameters, schema: z.union([z.literal('simple'), z.literal('advanced')]), required: false, displayOptions: {"show":{"/operationMode":["nodeInputJson","nodeInputBinary"]}} }),
28
28
  chunkSize: resolveSchema({ parameters, schema: numberOrExpression, required: false, displayOptions: {"show":{"/chunkingMode":["simple"]}} }),
29
29
  chunkOverlap: resolveSchema({ parameters, schema: numberOrExpression, required: false, displayOptions: {"show":{"/chunkingMode":["simple"]}} }),
30
- options: z.object({ binaryDataKey: stringOrExpression.optional(), summarizationMethodAndPrompts: z.object({ values: z.object({ summarizationMethod: z.union([z.literal('map_reduce'), z.literal('refine'), z.literal('stuff'), expressionSchema]).optional(), combineMapPrompt: stringOrExpression.optional(), prompt: stringOrExpression.optional(), prompt: stringOrExpression.optional(), refinePrompt: stringOrExpression.optional(), refineQuestionPrompt: stringOrExpression.optional() }).optional() }).optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
30
+ options: z.object({ binaryDataKey: stringOrExpression.optional(), summarizationMethodAndPrompts: z.object({ values: z.object({ summarizationMethod: z.union([z.literal('map_reduce'), z.literal('refine'), z.literal('stuff'), expressionSchema]).optional(), combineMapPrompt: stringOrExpression.optional(), prompt: stringOrExpression.optional(), refinePrompt: stringOrExpression.optional(), refineQuestionPrompt: stringOrExpression.optional() }).optional() }).optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
31
31
  });
32
32
 
33
33
  // Return combined config schema
@@ -27,7 +27,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
27
27
  chunkingMode: resolveSchema({ parameters, schema: z.union([z.literal('simple'), z.literal('advanced')]), required: false, displayOptions: {"show":{"/operationMode":["nodeInputJson","nodeInputBinary"]}} }),
28
28
  chunkSize: resolveSchema({ parameters, schema: numberOrExpression, required: false, displayOptions: {"show":{"/chunkingMode":["simple"]}} }),
29
29
  chunkOverlap: resolveSchema({ parameters, schema: numberOrExpression, required: false, displayOptions: {"show":{"/chunkingMode":["simple"]}} }),
30
- options: z.object({ binaryDataKey: stringOrExpression.optional(), summarizationMethodAndPrompts: z.object({ values: z.object({ summarizationMethod: z.union([z.literal('map_reduce'), z.literal('refine'), z.literal('stuff'), expressionSchema]).optional(), combineMapPrompt: stringOrExpression.optional(), prompt: stringOrExpression.optional(), prompt: stringOrExpression.optional(), refinePrompt: stringOrExpression.optional(), refineQuestionPrompt: stringOrExpression.optional() }).optional() }).optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
30
+ options: z.object({ binaryDataKey: stringOrExpression.optional(), summarizationMethodAndPrompts: z.object({ values: z.object({ summarizationMethod: z.union([z.literal('map_reduce'), z.literal('refine'), z.literal('stuff'), expressionSchema]).optional(), combineMapPrompt: stringOrExpression.optional(), prompt: stringOrExpression.optional(), refinePrompt: stringOrExpression.optional(), refineQuestionPrompt: stringOrExpression.optional() }).optional() }).optional(), batching: z.object({ batchSize: numberOrExpression.optional(), delayBetweenBatches: numberOrExpression.optional() }).optional() }).optional(),
31
31
  });
32
32
 
33
33
  // Return combined config schema
@@ -25,9 +25,9 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
25
25
  blockUserInput: resolveSchema({ parameters, schema: booleanOrExpression, required: false, displayOptions: {"show":{"responseType":["approval"]}}, defaults: {"responseType":"freeTextChat"} }),
26
26
  defineForm: resolveSchema({ parameters, schema: z.union([z.literal('fields'), z.literal('json')]), required: false, displayOptions: {"show":{"responseType":["customForm"],"operation":["sendAndWait"]}}, defaults: {"responseType":"freeTextChat"} }),
27
27
  jsonOutput: resolveSchema({ parameters, schema: z.union([iDataObjectSchema, z.string()]), required: false, displayOptions: {"show":{"defineForm":["json"],"responseType":["customForm"],"operation":["sendAndWait"]}}, defaults: {"defineForm":"fields","responseType":"freeTextChat"} }),
28
- formFields: resolveSchema({ parameters, schema: z.object({ values: z.array(z.object({ fieldName: stringOrExpression.optional(), fieldLabel: stringOrExpression.optional(), fieldLabel: stringOrExpression.optional(), fieldName: stringOrExpression.optional(), fieldType: z.union([z.literal('checkbox'), z.literal('html'), z.literal('date'), z.literal('dropdown'), z.literal('email'), z.literal('file'), z.literal('hiddenField'), z.literal('number'), z.literal('password'), z.literal('radio'), z.literal('text'), z.literal('textarea'), expressionSchema]).optional(), elementName: stringOrExpression.optional(), fieldName: stringOrExpression.optional(), placeholder: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), fieldValue: stringOrExpression.optional(), fieldOptions: z.object({ values: z.array(z.object({ option: stringOrExpression.optional() })).optional() }).optional(), fieldOptions: z.object({ values: z.array(z.object({ option: stringOrExpression.optional() })).optional() }).optional(), fieldOptions: z.object({ values: z.array(z.object({ option: stringOrExpression.optional() })).optional() }).optional(), multiselect: booleanOrExpression.optional(), limitSelection: z.union([z.literal('exact'), z.literal('range'), z.literal('unlimited'), expressionSchema]).optional(), numberOfSelections: numberOrExpression.optional(), minSelections: numberOrExpression.optional(), maxSelections: numberOrExpression.optional(), html: z.string().optional(), multipleFiles: booleanOrExpression.optional(), acceptFileTypes: stringOrExpression.optional(), requiredField: booleanOrExpression.optional() })).optional() }), required: false, displayOptions: {"show":{"defineForm":["fields"],"responseType":["customForm"],"operation":["sendAndWait"]}}, defaults: {"defineForm":"fields","responseType":"freeTextChat"} }),
28
+ formFields: resolveSchema({ parameters, schema: z.object({ values: z.array(z.object({ fieldName: stringOrExpression.optional(), fieldLabel: stringOrExpression.optional(), fieldType: z.union([z.literal('checkbox'), z.literal('html'), z.literal('date'), z.literal('dropdown'), z.literal('email'), z.literal('file'), z.literal('hiddenField'), z.literal('number'), z.literal('password'), z.literal('radio'), z.literal('text'), z.literal('textarea'), expressionSchema]).optional(), elementName: stringOrExpression.optional(), placeholder: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), fieldValue: stringOrExpression.optional(), fieldOptions: z.object({ values: z.array(z.object({ option: stringOrExpression.optional() })).optional() }).optional(), multiselect: booleanOrExpression.optional(), limitSelection: z.union([z.literal('exact'), z.literal('range'), z.literal('unlimited'), expressionSchema]).optional(), numberOfSelections: numberOrExpression.optional(), minSelections: numberOrExpression.optional(), maxSelections: numberOrExpression.optional(), html: z.string().optional(), multipleFiles: booleanOrExpression.optional(), acceptFileTypes: stringOrExpression.optional(), requiredField: booleanOrExpression.optional() })).optional() }), required: false, displayOptions: {"show":{"defineForm":["fields"],"responseType":["customForm"],"operation":["sendAndWait"]}}, defaults: {"defineForm":"fields","responseType":"freeTextChat"} }),
29
29
  approvalOptions: resolveSchema({ parameters, schema: z.object({ values: z.object({ approvalType: z.union([z.literal('single'), z.literal('double'), expressionSchema]).optional(), approveLabel: stringOrExpression.optional(), buttonApprovalStyle: z.union([z.literal('primary'), z.literal('secondary'), expressionSchema]).optional(), disapproveLabel: stringOrExpression.optional(), buttonDisapprovalStyle: z.union([z.literal('primary'), z.literal('secondary'), expressionSchema]).optional() }).optional() }), required: false, displayOptions: {"show":{"responseType":["approval"],"operation":["sendAndWait"]}}, defaults: {"responseType":"freeTextChat"} }),
30
- options: resolveOneOfSchemas({ parameters, variants: [{ schema: z.object({ memoryConnection: booleanOrExpression.optional(), limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"hide":{"@tool":[true]}} }, { schema: z.object({ limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"@tool":[true],"/waitUserReply":[true]}} }, { schema: z.object({ limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"@tool":[true],"/operation":["sendAndWait"]}} }] }),
30
+ options: resolveOneOfSchemas({ parameters, variants: [{ schema: z.object({ memoryConnection: booleanOrExpression.optional(), limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"hide":{"@tool":[true]}} }, { schema: z.object({ limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"@tool":[true],"/waitUserReply":[true]}} }, { schema: z.object({ limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"@tool":[true],"/operation":["sendAndWait"]}} }] }),
31
31
  });
32
32
 
33
33
  // Return combined config schema
@@ -61,6 +61,7 @@ export interface LcChatV1Params {
61
61
  */
62
62
  fieldName?: string | Expression<string>;
63
63
  /** The type of field to add to the form
64
+ * @builderHint Valid values: text, number, email, textarea, dropdown, date, file, html, hiddenField, radio, checkbox, password. There is NO 'time' type — use fieldType: 'text' with placeholder 'e.g. 2:30 PM' for time-of-day inputs.
64
65
  * @default text
65
66
  */
66
67
  fieldType?: 'checkbox' | 'html' | 'date' | 'dropdown' | 'email' | 'file' | 'hiddenField' | 'number' | 'password' | 'radio' | 'text' | 'textarea' | Expression<string>;
@@ -25,9 +25,9 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
25
25
  blockUserInput: resolveSchema({ parameters, schema: booleanOrExpression, required: false, displayOptions: {"show":{"responseType":["approval"]}}, defaults: {"responseType":"freeTextChat"} }),
26
26
  defineForm: resolveSchema({ parameters, schema: z.union([z.literal('fields'), z.literal('json')]), required: false, displayOptions: {"show":{"responseType":["customForm"],"operation":["sendAndWait"]}}, defaults: {"responseType":"freeTextChat","operation":"send"} }),
27
27
  jsonOutput: resolveSchema({ parameters, schema: z.union([iDataObjectSchema, z.string()]), required: false, displayOptions: {"show":{"defineForm":["json"],"responseType":["customForm"],"operation":["sendAndWait"]}}, defaults: {"defineForm":"fields","responseType":"freeTextChat","operation":"send"} }),
28
- formFields: resolveSchema({ parameters, schema: z.object({ values: z.array(z.object({ fieldName: stringOrExpression.optional(), fieldLabel: stringOrExpression.optional(), fieldLabel: stringOrExpression.optional(), fieldName: stringOrExpression.optional(), fieldType: z.union([z.literal('checkbox'), z.literal('html'), z.literal('date'), z.literal('dropdown'), z.literal('email'), z.literal('file'), z.literal('hiddenField'), z.literal('number'), z.literal('password'), z.literal('radio'), z.literal('text'), z.literal('textarea'), expressionSchema]).optional(), elementName: stringOrExpression.optional(), fieldName: stringOrExpression.optional(), placeholder: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), fieldValue: stringOrExpression.optional(), fieldOptions: z.object({ values: z.array(z.object({ option: stringOrExpression.optional() })).optional() }).optional(), fieldOptions: z.object({ values: z.array(z.object({ option: stringOrExpression.optional() })).optional() }).optional(), fieldOptions: z.object({ values: z.array(z.object({ option: stringOrExpression.optional() })).optional() }).optional(), multiselect: booleanOrExpression.optional(), limitSelection: z.union([z.literal('exact'), z.literal('range'), z.literal('unlimited'), expressionSchema]).optional(), numberOfSelections: numberOrExpression.optional(), minSelections: numberOrExpression.optional(), maxSelections: numberOrExpression.optional(), html: z.string().optional(), multipleFiles: booleanOrExpression.optional(), acceptFileTypes: stringOrExpression.optional(), requiredField: booleanOrExpression.optional() })).optional() }), required: false, displayOptions: {"show":{"defineForm":["fields"],"responseType":["customForm"],"operation":["sendAndWait"]}}, defaults: {"defineForm":"fields","responseType":"freeTextChat","operation":"send"} }),
28
+ formFields: resolveSchema({ parameters, schema: z.object({ values: z.array(z.object({ fieldName: stringOrExpression.optional(), fieldLabel: stringOrExpression.optional(), fieldType: z.union([z.literal('checkbox'), z.literal('html'), z.literal('date'), z.literal('dropdown'), z.literal('email'), z.literal('file'), z.literal('hiddenField'), z.literal('number'), z.literal('password'), z.literal('radio'), z.literal('text'), z.literal('textarea'), expressionSchema]).optional(), elementName: stringOrExpression.optional(), placeholder: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), fieldValue: stringOrExpression.optional(), fieldOptions: z.object({ values: z.array(z.object({ option: stringOrExpression.optional() })).optional() }).optional(), multiselect: booleanOrExpression.optional(), limitSelection: z.union([z.literal('exact'), z.literal('range'), z.literal('unlimited'), expressionSchema]).optional(), numberOfSelections: numberOrExpression.optional(), minSelections: numberOrExpression.optional(), maxSelections: numberOrExpression.optional(), html: z.string().optional(), multipleFiles: booleanOrExpression.optional(), acceptFileTypes: stringOrExpression.optional(), requiredField: booleanOrExpression.optional() })).optional() }), required: false, displayOptions: {"show":{"defineForm":["fields"],"responseType":["customForm"],"operation":["sendAndWait"]}}, defaults: {"defineForm":"fields","responseType":"freeTextChat","operation":"send"} }),
29
29
  approvalOptions: resolveSchema({ parameters, schema: z.object({ values: z.object({ approvalType: z.union([z.literal('single'), z.literal('double'), expressionSchema]).optional(), approveLabel: stringOrExpression.optional(), buttonApprovalStyle: z.union([z.literal('primary'), z.literal('secondary'), expressionSchema]).optional(), disapproveLabel: stringOrExpression.optional(), buttonDisapprovalStyle: z.union([z.literal('primary'), z.literal('secondary'), expressionSchema]).optional() }).optional() }), required: false, displayOptions: {"show":{"responseType":["approval"],"operation":["sendAndWait"]}}, defaults: {"responseType":"freeTextChat","operation":"send"} }),
30
- options: resolveOneOfSchemas({ parameters, variants: [{ schema: z.object({ memoryConnection: booleanOrExpression.optional(), limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"hide":{"@tool":[true]}} }, { schema: z.object({ limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"@tool":[true],"/waitUserReply":[true]}} }, { schema: z.object({ limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"@tool":[true],"/operation":["sendAndWait"]}} }] }),
30
+ options: resolveOneOfSchemas({ parameters, variants: [{ schema: z.object({ memoryConnection: booleanOrExpression.optional(), limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"hide":{"@tool":[true]}} }, { schema: z.object({ limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"@tool":[true],"/waitUserReply":[true]}} }, { schema: z.object({ limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"@tool":[true],"/operation":["sendAndWait"]}} }] }),
31
31
  });
32
32
 
33
33
  // Return combined config schema
@@ -61,6 +61,7 @@ export interface LcChatV11Params {
61
61
  */
62
62
  fieldName?: string | Expression<string>;
63
63
  /** The type of field to add to the form
64
+ * @builderHint Valid values: text, number, email, textarea, dropdown, date, file, html, hiddenField, radio, checkbox, password. There is NO 'time' type — use fieldType: 'text' with placeholder 'e.g. 2:30 PM' for time-of-day inputs.
64
65
  * @default text
65
66
  */
66
67
  fieldType?: 'checkbox' | 'html' | 'date' | 'dropdown' | 'email' | 'file' | 'hiddenField' | 'number' | 'password' | 'radio' | 'text' | 'textarea' | Expression<string>;
@@ -25,9 +25,9 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
25
25
  blockUserInput: resolveSchema({ parameters, schema: booleanOrExpression, required: false, displayOptions: {"show":{"responseType":["approval"]}}, defaults: {"responseType":"freeTextChat"} }),
26
26
  defineForm: resolveSchema({ parameters, schema: z.union([z.literal('fields'), z.literal('json')]), required: false, displayOptions: {"show":{"responseType":["customForm"],"operation":["sendAndWait"]}}, defaults: {"responseType":"freeTextChat","operation":"send"} }),
27
27
  jsonOutput: resolveSchema({ parameters, schema: z.union([iDataObjectSchema, z.string()]), required: false, displayOptions: {"show":{"defineForm":["json"],"responseType":["customForm"],"operation":["sendAndWait"]}}, defaults: {"defineForm":"fields","responseType":"freeTextChat","operation":"send"} }),
28
- formFields: resolveSchema({ parameters, schema: z.object({ values: z.array(z.object({ fieldName: stringOrExpression.optional(), fieldLabel: stringOrExpression.optional(), fieldLabel: stringOrExpression.optional(), fieldName: stringOrExpression.optional(), fieldType: z.union([z.literal('checkbox'), z.literal('html'), z.literal('date'), z.literal('dropdown'), z.literal('email'), z.literal('file'), z.literal('hiddenField'), z.literal('number'), z.literal('password'), z.literal('radio'), z.literal('text'), z.literal('textarea'), expressionSchema]).optional(), elementName: stringOrExpression.optional(), fieldName: stringOrExpression.optional(), placeholder: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), fieldValue: stringOrExpression.optional(), fieldOptions: z.object({ values: z.array(z.object({ option: stringOrExpression.optional() })).optional() }).optional(), fieldOptions: z.object({ values: z.array(z.object({ option: stringOrExpression.optional() })).optional() }).optional(), fieldOptions: z.object({ values: z.array(z.object({ option: stringOrExpression.optional() })).optional() }).optional(), multiselect: booleanOrExpression.optional(), limitSelection: z.union([z.literal('exact'), z.literal('range'), z.literal('unlimited'), expressionSchema]).optional(), numberOfSelections: numberOrExpression.optional(), minSelections: numberOrExpression.optional(), maxSelections: numberOrExpression.optional(), html: z.string().optional(), multipleFiles: booleanOrExpression.optional(), acceptFileTypes: stringOrExpression.optional(), requiredField: booleanOrExpression.optional() })).optional() }), required: false, displayOptions: {"show":{"defineForm":["fields"],"responseType":["customForm"],"operation":["sendAndWait"]}}, defaults: {"defineForm":"fields","responseType":"freeTextChat","operation":"send"} }),
28
+ formFields: resolveSchema({ parameters, schema: z.object({ values: z.array(z.object({ fieldName: stringOrExpression.optional(), fieldLabel: stringOrExpression.optional(), fieldType: z.union([z.literal('checkbox'), z.literal('html'), z.literal('date'), z.literal('dropdown'), z.literal('email'), z.literal('file'), z.literal('hiddenField'), z.literal('number'), z.literal('password'), z.literal('radio'), z.literal('text'), z.literal('textarea'), expressionSchema]).optional(), elementName: stringOrExpression.optional(), placeholder: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), fieldValue: stringOrExpression.optional(), fieldOptions: z.object({ values: z.array(z.object({ option: stringOrExpression.optional() })).optional() }).optional(), multiselect: booleanOrExpression.optional(), limitSelection: z.union([z.literal('exact'), z.literal('range'), z.literal('unlimited'), expressionSchema]).optional(), numberOfSelections: numberOrExpression.optional(), minSelections: numberOrExpression.optional(), maxSelections: numberOrExpression.optional(), html: z.string().optional(), multipleFiles: booleanOrExpression.optional(), acceptFileTypes: stringOrExpression.optional(), requiredField: booleanOrExpression.optional() })).optional() }), required: false, displayOptions: {"show":{"defineForm":["fields"],"responseType":["customForm"],"operation":["sendAndWait"]}}, defaults: {"defineForm":"fields","responseType":"freeTextChat","operation":"send"} }),
29
29
  approvalOptions: resolveSchema({ parameters, schema: z.object({ values: z.object({ approvalType: z.union([z.literal('single'), z.literal('double'), expressionSchema]).optional(), approveLabel: stringOrExpression.optional(), buttonApprovalStyle: z.union([z.literal('primary'), z.literal('secondary'), expressionSchema]).optional(), disapproveLabel: stringOrExpression.optional(), buttonDisapprovalStyle: z.union([z.literal('primary'), z.literal('secondary'), expressionSchema]).optional() }).optional() }), required: false, displayOptions: {"show":{"responseType":["approval"],"operation":["sendAndWait"]}}, defaults: {"responseType":"freeTextChat","operation":"send"} }),
30
- options: resolveOneOfSchemas({ parameters, variants: [{ schema: z.object({ memoryConnection: booleanOrExpression.optional(), limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"hide":{"@tool":[true]}} }, { schema: z.object({ limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"@tool":[true],"/waitUserReply":[true]}} }, { schema: z.object({ limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"@tool":[true],"/operation":["sendAndWait"]}} }] }),
30
+ options: resolveOneOfSchemas({ parameters, variants: [{ schema: z.object({ memoryConnection: booleanOrExpression.optional(), limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"hide":{"@tool":[true]}} }, { schema: z.object({ limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"@tool":[true],"/waitUserReply":[true]}} }, { schema: z.object({ limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"@tool":[true],"/operation":["sendAndWait"]}} }] }),
31
31
  });
32
32
 
33
33
  // Return combined config schema
@@ -61,6 +61,7 @@ export interface LcChatV12Params {
61
61
  */
62
62
  fieldName?: string | Expression<string>;
63
63
  /** The type of field to add to the form
64
+ * @builderHint Valid values: text, number, email, textarea, dropdown, date, file, html, hiddenField, radio, checkbox, password. There is NO 'time' type — use fieldType: 'text' with placeholder 'e.g. 2:30 PM' for time-of-day inputs.
64
65
  * @default text
65
66
  */
66
67
  fieldType?: 'checkbox' | 'html' | 'date' | 'dropdown' | 'email' | 'file' | 'hiddenField' | 'number' | 'password' | 'radio' | 'text' | 'textarea' | Expression<string>;
@@ -25,9 +25,9 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
25
25
  blockUserInput: resolveSchema({ parameters, schema: booleanOrExpression, required: false, displayOptions: {"show":{"responseType":["approval"]}}, defaults: {"responseType":"freeTextChat"} }),
26
26
  defineForm: resolveSchema({ parameters, schema: z.union([z.literal('fields'), z.literal('json')]), required: false, displayOptions: {"show":{"responseType":["customForm"],"operation":["sendAndWait"]}}, defaults: {"responseType":"freeTextChat","operation":"send"} }),
27
27
  jsonOutput: resolveSchema({ parameters, schema: z.union([iDataObjectSchema, z.string()]), required: false, displayOptions: {"show":{"defineForm":["json"],"responseType":["customForm"],"operation":["sendAndWait"]}}, defaults: {"defineForm":"fields","responseType":"freeTextChat","operation":"send"} }),
28
- formFields: resolveSchema({ parameters, schema: z.object({ values: z.array(z.object({ fieldName: stringOrExpression.optional(), fieldLabel: stringOrExpression.optional(), fieldLabel: stringOrExpression.optional(), fieldName: stringOrExpression.optional(), fieldType: z.union([z.literal('checkbox'), z.literal('html'), z.literal('date'), z.literal('dropdown'), z.literal('email'), z.literal('file'), z.literal('hiddenField'), z.literal('number'), z.literal('password'), z.literal('radio'), z.literal('text'), z.literal('textarea'), expressionSchema]).optional(), elementName: stringOrExpression.optional(), fieldName: stringOrExpression.optional(), placeholder: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), fieldValue: stringOrExpression.optional(), fieldOptions: z.object({ values: z.array(z.object({ option: stringOrExpression.optional() })).optional() }).optional(), fieldOptions: z.object({ values: z.array(z.object({ option: stringOrExpression.optional() })).optional() }).optional(), fieldOptions: z.object({ values: z.array(z.object({ option: stringOrExpression.optional() })).optional() }).optional(), multiselect: booleanOrExpression.optional(), limitSelection: z.union([z.literal('exact'), z.literal('range'), z.literal('unlimited'), expressionSchema]).optional(), numberOfSelections: numberOrExpression.optional(), minSelections: numberOrExpression.optional(), maxSelections: numberOrExpression.optional(), html: z.string().optional(), multipleFiles: booleanOrExpression.optional(), acceptFileTypes: stringOrExpression.optional(), requiredField: booleanOrExpression.optional() })).optional() }), required: false, displayOptions: {"show":{"defineForm":["fields"],"responseType":["customForm"],"operation":["sendAndWait"]}}, defaults: {"defineForm":"fields","responseType":"freeTextChat","operation":"send"} }),
28
+ formFields: resolveSchema({ parameters, schema: z.object({ values: z.array(z.object({ fieldName: stringOrExpression.optional(), fieldLabel: stringOrExpression.optional(), fieldType: z.union([z.literal('checkbox'), z.literal('html'), z.literal('date'), z.literal('dropdown'), z.literal('email'), z.literal('file'), z.literal('hiddenField'), z.literal('number'), z.literal('password'), z.literal('radio'), z.literal('text'), z.literal('textarea'), expressionSchema]).optional(), elementName: stringOrExpression.optional(), placeholder: stringOrExpression.optional(), defaultValue: stringOrExpression.optional(), fieldValue: stringOrExpression.optional(), fieldOptions: z.object({ values: z.array(z.object({ option: stringOrExpression.optional() })).optional() }).optional(), multiselect: booleanOrExpression.optional(), limitSelection: z.union([z.literal('exact'), z.literal('range'), z.literal('unlimited'), expressionSchema]).optional(), numberOfSelections: numberOrExpression.optional(), minSelections: numberOrExpression.optional(), maxSelections: numberOrExpression.optional(), html: z.string().optional(), multipleFiles: booleanOrExpression.optional(), acceptFileTypes: stringOrExpression.optional(), requiredField: booleanOrExpression.optional() })).optional() }), required: false, displayOptions: {"show":{"defineForm":["fields"],"responseType":["customForm"],"operation":["sendAndWait"]}}, defaults: {"defineForm":"fields","responseType":"freeTextChat","operation":"send"} }),
29
29
  approvalOptions: resolveSchema({ parameters, schema: z.object({ values: z.object({ approvalType: z.union([z.literal('single'), z.literal('double'), expressionSchema]).optional(), approveLabel: stringOrExpression.optional(), buttonApprovalStyle: z.union([z.literal('primary'), z.literal('secondary'), expressionSchema]).optional(), disapproveLabel: stringOrExpression.optional(), buttonDisapprovalStyle: z.union([z.literal('primary'), z.literal('secondary'), expressionSchema]).optional() }).optional() }), required: false, displayOptions: {"show":{"responseType":["approval"],"operation":["sendAndWait"]}}, defaults: {"responseType":"freeTextChat","operation":"send"} }),
30
- options: resolveOneOfSchemas({ parameters, variants: [{ schema: z.object({ memoryConnection: booleanOrExpression.optional(), limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"hide":{"@tool":[true]}} }, { schema: z.object({ limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"@tool":[true],"/waitUserReply":[true]}} }, { schema: z.object({ limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"@tool":[true],"/operation":["sendAndWait"]}} }] }),
30
+ options: resolveOneOfSchemas({ parameters, variants: [{ schema: z.object({ memoryConnection: booleanOrExpression.optional(), limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"hide":{"@tool":[true]}} }, { schema: z.object({ limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"@tool":[true],"/waitUserReply":[true]}} }, { schema: z.object({ limitWaitTime: z.object({ values: z.object({ limitType: z.union([z.literal('afterTimeInterval'), z.literal('atSpecifiedTime'), expressionSchema]).optional(), resumeAmount: numberOrExpression.optional(), resumeUnit: z.union([z.literal('minutes'), z.literal('hours'), z.literal('days'), expressionSchema]).optional(), maxDateAndTime: stringOrExpression.optional() }).optional() }).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"@tool":[true],"/operation":["sendAndWait"]}} }] }),
31
31
  });
32
32
 
33
33
  // Return combined config schema
@@ -61,6 +61,7 @@ export interface LcChatV13Params {
61
61
  */
62
62
  fieldName?: string | Expression<string>;
63
63
  /** The type of field to add to the form
64
+ * @builderHint Valid values: text, number, email, textarea, dropdown, date, file, html, hiddenField, radio, checkbox, password. There is NO 'time' type — use fieldType: 'text' with placeholder 'e.g. 2:30 PM' for time-of-day inputs.
64
65
  * @default text
65
66
  */
66
67
  fieldType?: 'checkbox' | 'html' | 'date' | 'dropdown' | 'email' | 'file' | 'hiddenField' | 'number' | 'password' | 'radio' | 'text' | 'textarea' | Expression<string>;
@@ -30,7 +30,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
30
30
  agentName: resolveSchema({ parameters, schema: z.string(), required: false, displayOptions: {"show":{"availableInChat":[true]}}, defaults: {"availableInChat":false} }),
31
31
  agentDescription: resolveSchema({ parameters, schema: z.string(), required: false, displayOptions: {"show":{"availableInChat":[true]}}, defaults: {"availableInChat":false} }),
32
32
  suggestedPrompts: resolveSchema({ parameters, schema: z.object({ prompts: z.array(z.object({ icon: z.object({ type: z.union([z.literal('icon'), z.literal('emoji')]), value: z.string() }).optional(), text: z.string().optional() })).optional() }), required: false, displayOptions: {"show":{"availableInChat":[true]}}, defaults: {"availableInChat":false} }),
33
- options: resolveSchema({ parameters, schema: z.object({ allowedOrigins: stringOrExpression.optional(), allowFileUploads: booleanOrExpression.optional(), allowedFilesMimeTypes: stringOrExpression.optional(), inputPlaceholder: stringOrExpression.optional(), loadPreviousSession: z.union([z.literal('notSupported'), z.literal('memory'), z.literal('manually'), expressionSchema]).optional(), showWelcomeScreen: booleanOrExpression.optional(), getStarted: stringOrExpression.optional(), subtitle: stringOrExpression.optional(), title: stringOrExpression.optional(), customCss: stringOrExpression.optional(), responseMode: z.union([z.literal('lastNode'), z.literal('responseNode'), z.literal('streaming'), expressionSchema]).optional(), responseMode: z.union([z.literal('streaming'), z.literal('lastNode'), expressionSchema]).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"mode":["hostedChat","webhook"],"public":[true]}}, defaults: {"mode":"hostedChat","public":false} }),
33
+ options: resolveSchema({ parameters, schema: z.object({ allowedOrigins: stringOrExpression.optional(), allowFileUploads: booleanOrExpression.optional(), allowedFilesMimeTypes: stringOrExpression.optional(), inputPlaceholder: stringOrExpression.optional(), loadPreviousSession: z.union([z.literal('notSupported'), z.literal('memory'), z.literal('manually'), expressionSchema]).optional(), showWelcomeScreen: booleanOrExpression.optional(), getStarted: stringOrExpression.optional(), subtitle: stringOrExpression.optional(), title: stringOrExpression.optional(), customCss: stringOrExpression.optional(), responseMode: z.union([z.union([z.literal('lastNode'), z.literal('responseNode'), z.literal('streaming'), expressionSchema]), z.union([z.literal('streaming'), z.literal('lastNode'), expressionSchema])]).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"mode":["hostedChat","webhook"],"public":[true]}}, defaults: {"mode":"hostedChat","public":false} }),
34
34
  });
35
35
 
36
36
  // Return combined config schema
@@ -30,7 +30,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
30
30
  agentName: resolveSchema({ parameters, schema: z.string(), required: false, displayOptions: {"show":{"availableInChat":[true]}}, defaults: {"availableInChat":false} }),
31
31
  agentDescription: resolveSchema({ parameters, schema: z.string(), required: false, displayOptions: {"show":{"availableInChat":[true]}}, defaults: {"availableInChat":false} }),
32
32
  suggestedPrompts: resolveSchema({ parameters, schema: z.object({ prompts: z.array(z.object({ icon: z.object({ type: z.union([z.literal('icon'), z.literal('emoji')]), value: z.string() }).optional(), text: z.string().optional() })).optional() }), required: false, displayOptions: {"show":{"availableInChat":[true]}}, defaults: {"availableInChat":false} }),
33
- options: resolveOneOfSchemas({ parameters, variants: [{ schema: z.object({ allowFileUploads: booleanOrExpression.optional(), allowedFilesMimeTypes: stringOrExpression.optional(), responseMode: z.union([z.literal('lastNode'), z.literal('responseNodes'), z.literal('streaming'), expressionSchema]).optional(), responseMode: z.union([z.literal('streaming'), z.literal('lastNode'), z.literal('responseNodes'), expressionSchema]).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"public":[false]}}, defaults: {"public":false} }, { schema: z.object({ allowedOrigins: stringOrExpression.optional(), allowFileUploads: booleanOrExpression.optional(), allowedFilesMimeTypes: stringOrExpression.optional(), inputPlaceholder: stringOrExpression.optional(), loadPreviousSession: z.union([z.literal('notSupported'), z.literal('memory'), z.literal('manually'), expressionSchema]).optional(), showWelcomeScreen: booleanOrExpression.optional(), getStarted: stringOrExpression.optional(), subtitle: stringOrExpression.optional(), title: stringOrExpression.optional(), customCss: stringOrExpression.optional(), responseMode: z.union([z.literal('lastNode'), z.literal('streaming'), z.literal('responseNode'), expressionSchema]).optional(), responseMode: z.union([z.literal('streaming'), z.literal('lastNode'), expressionSchema]).optional(), responseMode: z.union([z.literal('lastNode'), z.literal('streaming'), z.literal('responseNodes'), expressionSchema]).optional(), responseMode: z.union([z.literal('streaming'), z.literal('lastNode'), z.literal('responseNodes'), expressionSchema]).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"mode":["hostedChat","webhook"],"public":[true]}}, defaults: {"mode":"hostedChat","public":false} }] }),
33
+ options: resolveOneOfSchemas({ parameters, variants: [{ schema: z.object({ allowFileUploads: booleanOrExpression.optional(), allowedFilesMimeTypes: stringOrExpression.optional(), responseMode: z.union([z.union([z.literal('lastNode'), z.literal('responseNodes'), z.literal('streaming'), expressionSchema]), z.union([z.literal('streaming'), z.literal('lastNode'), z.literal('responseNodes'), expressionSchema])]).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"public":[false]}}, defaults: {"public":false} }, { schema: z.object({ allowedOrigins: stringOrExpression.optional(), allowFileUploads: booleanOrExpression.optional(), allowedFilesMimeTypes: stringOrExpression.optional(), inputPlaceholder: stringOrExpression.optional(), loadPreviousSession: z.union([z.literal('notSupported'), z.literal('memory'), z.literal('manually'), expressionSchema]).optional(), showWelcomeScreen: booleanOrExpression.optional(), getStarted: stringOrExpression.optional(), subtitle: stringOrExpression.optional(), title: stringOrExpression.optional(), customCss: stringOrExpression.optional(), responseMode: z.union([z.union([z.literal('lastNode'), z.literal('streaming'), z.literal('responseNode'), expressionSchema]), z.union([z.literal('streaming'), z.literal('lastNode'), expressionSchema]), z.union([z.literal('lastNode'), z.literal('streaming'), z.literal('responseNodes'), expressionSchema]), z.union([z.literal('streaming'), z.literal('lastNode'), z.literal('responseNodes'), expressionSchema])]).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"mode":["hostedChat","webhook"],"public":[true]}}, defaults: {"mode":"hostedChat","public":false} }] }),
34
34
  });
35
35
 
36
36
  // Return combined config schema
@@ -30,7 +30,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
30
30
  agentName: resolveSchema({ parameters, schema: z.string(), required: false, displayOptions: {"show":{"availableInChat":[true]}}, defaults: {"availableInChat":false} }),
31
31
  agentDescription: resolveSchema({ parameters, schema: z.string(), required: false, displayOptions: {"show":{"availableInChat":[true]}}, defaults: {"availableInChat":false} }),
32
32
  suggestedPrompts: resolveSchema({ parameters, schema: z.object({ prompts: z.array(z.object({ icon: z.object({ type: z.union([z.literal('icon'), z.literal('emoji')]), value: z.string() }).optional(), text: z.string().optional() })).optional() }), required: false, displayOptions: {"show":{"availableInChat":[true]}}, defaults: {"availableInChat":false} }),
33
- options: resolveOneOfSchemas({ parameters, variants: [{ schema: z.object({ allowFileUploads: booleanOrExpression.optional(), allowedFilesMimeTypes: stringOrExpression.optional(), responseMode: z.union([z.literal('lastNode'), z.literal('responseNodes'), z.literal('streaming'), expressionSchema]).optional(), responseMode: z.union([z.literal('streaming'), z.literal('lastNode'), z.literal('responseNodes'), expressionSchema]).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"public":[false]}}, defaults: {"public":false} }, { schema: z.object({ allowedOrigins: stringOrExpression.optional(), allowFileUploads: booleanOrExpression.optional(), allowedFilesMimeTypes: stringOrExpression.optional(), inputPlaceholder: stringOrExpression.optional(), loadPreviousSession: z.union([z.literal('notSupported'), z.literal('memory'), z.literal('manually'), expressionSchema]).optional(), showWelcomeScreen: booleanOrExpression.optional(), getStarted: stringOrExpression.optional(), subtitle: stringOrExpression.optional(), title: stringOrExpression.optional(), customCss: stringOrExpression.optional(), responseMode: z.union([z.literal('lastNode'), z.literal('streaming'), z.literal('responseNode'), expressionSchema]).optional(), responseMode: z.union([z.literal('streaming'), z.literal('lastNode'), expressionSchema]).optional(), responseMode: z.union([z.literal('lastNode'), z.literal('streaming'), z.literal('responseNodes'), expressionSchema]).optional(), responseMode: z.union([z.literal('streaming'), z.literal('lastNode'), z.literal('responseNodes'), expressionSchema]).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"mode":["hostedChat","webhook"],"public":[true]}}, defaults: {"mode":"hostedChat","public":false} }] }),
33
+ options: resolveOneOfSchemas({ parameters, variants: [{ schema: z.object({ allowFileUploads: booleanOrExpression.optional(), allowedFilesMimeTypes: stringOrExpression.optional(), responseMode: z.union([z.union([z.literal('lastNode'), z.literal('responseNodes'), z.literal('streaming'), expressionSchema]), z.union([z.literal('streaming'), z.literal('lastNode'), z.literal('responseNodes'), expressionSchema])]).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"public":[false]}}, defaults: {"public":false} }, { schema: z.object({ allowedOrigins: stringOrExpression.optional(), allowFileUploads: booleanOrExpression.optional(), allowedFilesMimeTypes: stringOrExpression.optional(), inputPlaceholder: stringOrExpression.optional(), loadPreviousSession: z.union([z.literal('notSupported'), z.literal('memory'), z.literal('manually'), expressionSchema]).optional(), showWelcomeScreen: booleanOrExpression.optional(), getStarted: stringOrExpression.optional(), subtitle: stringOrExpression.optional(), title: stringOrExpression.optional(), customCss: stringOrExpression.optional(), responseMode: z.union([z.union([z.literal('lastNode'), z.literal('streaming'), z.literal('responseNode'), expressionSchema]), z.union([z.literal('streaming'), z.literal('lastNode'), expressionSchema]), z.union([z.literal('lastNode'), z.literal('streaming'), z.literal('responseNodes'), expressionSchema]), z.union([z.literal('streaming'), z.literal('lastNode'), z.literal('responseNodes'), expressionSchema])]).optional(), autoSaveHighlightedData: booleanOrExpression.optional() }), required: false, displayOptions: {"show":{"mode":["hostedChat","webhook"],"public":[true]}}, defaults: {"mode":"hostedChat","public":false} }] }),
34
34
  });
35
35
 
36
36
  // Return combined config schema
@@ -21,7 +21,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
21
21
  const parametersSchema = z.object({
22
22
  operation: z.union([z.literal('classify'), z.literal('sanitize')]).optional(),
23
23
  text: stringOrExpression,
24
- guardrails: z.object({ keywords: stringOrExpression.optional(), jailbreak: z.object({ value: z.object({ threshold: numberOrExpression.optional(), customizePrompt: booleanOrExpression.optional(), prompt: stringOrExpression.optional() }).optional() }).optional(), nsfw: z.object({ value: z.object({ threshold: numberOrExpression.optional(), customizePrompt: booleanOrExpression.optional(), prompt: stringOrExpression.optional() }).optional() }).optional(), pii: z.object({ value: z.object({ type: z.union([z.literal('all'), z.literal('selected'), expressionSchema]).optional(), entities: z.array(z.union([z.literal('CREDIT_CARD'), z.literal('CRYPTO'), z.literal('DATE_TIME'), z.literal('EMAIL_ADDRESS'), z.literal('IBAN_CODE'), z.literal('IP_ADDRESS'), z.literal('LOCATION'), z.literal('PHONE_NUMBER'), z.literal('MEDICAL_LICENSE'), z.literal('US_BANK_NUMBER'), z.literal('US_DRIVER_LICENSE'), z.literal('US_ITIN'), z.literal('US_PASSPORT'), z.literal('US_SSN'), z.literal('UK_NHS'), z.literal('UK_NINO'), z.literal('ES_NIF'), z.literal('ES_NIE'), z.literal('IT_FISCAL_CODE'), z.literal('IT_DRIVER_LICENSE'), z.literal('IT_VAT_CODE'), z.literal('IT_PASSPORT'), z.literal('IT_IDENTITY_CARD'), z.literal('PL_PESEL'), z.literal('SG_NRIC_FIN'), z.literal('SG_UEN'), z.literal('AU_ABN'), z.literal('AU_ACN'), z.literal('AU_TFN'), z.literal('AU_MEDICARE'), z.literal('IN_PAN'), z.literal('IN_AADHAAR'), z.literal('IN_VEHICLE_REGISTRATION'), z.literal('IN_VOTER'), z.literal('IN_PASSPORT'), z.literal('FI_PERSONAL_IDENTITY_CODE')])).optional() }).optional() }).optional(), secretKeys: z.object({ value: z.object({ permissiveness: z.union([z.literal('strict'), z.literal('balanced'), z.literal('permissive'), expressionSchema]).optional() }).optional() }).optional(), topicalAlignment: z.object({ value: z.object({ threshold: numberOrExpression.optional(), prompt: stringOrExpression.optional() }).optional() }).optional(), urls: z.object({ value: z.object({ allowedUrls: stringOrExpression.optional(), allowedSchemes: z.array(z.union([z.literal('https'), z.literal('http'), z.literal('ftp'), z.literal('data'), z.literal('javascript'), z.literal('vbscript'), z.literal('mailto')])).optional(), blockUserinfo: booleanOrExpression.optional(), blockUserinfo: booleanOrExpression.optional(), allowSubdomains: booleanOrExpression.optional() }).optional() }).optional(), custom: z.object({ guardrail: z.array(z.object({ name: stringOrExpression.optional(), threshold: numberOrExpression.optional(), prompt: stringOrExpression.optional() })).optional() }).optional(), customRegex: z.object({ regex: z.array(z.object({ name: stringOrExpression.optional(), value: stringOrExpression.optional() })).optional() }).optional() }).optional(),
24
+ guardrails: z.object({ keywords: stringOrExpression.optional(), jailbreak: z.object({ value: z.object({ threshold: numberOrExpression.optional(), customizePrompt: booleanOrExpression.optional(), prompt: stringOrExpression.optional() }).optional() }).optional(), nsfw: z.object({ value: z.object({ threshold: numberOrExpression.optional(), customizePrompt: booleanOrExpression.optional(), prompt: stringOrExpression.optional() }).optional() }).optional(), pii: z.object({ value: z.object({ type: z.union([z.literal('all'), z.literal('selected'), expressionSchema]).optional(), entities: z.array(z.union([z.literal('CREDIT_CARD'), z.literal('CRYPTO'), z.literal('DATE_TIME'), z.literal('EMAIL_ADDRESS'), z.literal('IBAN_CODE'), z.literal('IP_ADDRESS'), z.literal('LOCATION'), z.literal('PHONE_NUMBER'), z.literal('MEDICAL_LICENSE'), z.literal('US_BANK_NUMBER'), z.literal('US_DRIVER_LICENSE'), z.literal('US_ITIN'), z.literal('US_PASSPORT'), z.literal('US_SSN'), z.literal('UK_NHS'), z.literal('UK_NINO'), z.literal('ES_NIF'), z.literal('ES_NIE'), z.literal('IT_FISCAL_CODE'), z.literal('IT_DRIVER_LICENSE'), z.literal('IT_VAT_CODE'), z.literal('IT_PASSPORT'), z.literal('IT_IDENTITY_CARD'), z.literal('PL_PESEL'), z.literal('SG_NRIC_FIN'), z.literal('SG_UEN'), z.literal('AU_ABN'), z.literal('AU_ACN'), z.literal('AU_TFN'), z.literal('AU_MEDICARE'), z.literal('IN_PAN'), z.literal('IN_AADHAAR'), z.literal('IN_VEHICLE_REGISTRATION'), z.literal('IN_VOTER'), z.literal('IN_PASSPORT'), z.literal('FI_PERSONAL_IDENTITY_CODE')])).optional() }).optional() }).optional(), secretKeys: z.object({ value: z.object({ permissiveness: z.union([z.literal('strict'), z.literal('balanced'), z.literal('permissive'), expressionSchema]).optional() }).optional() }).optional(), topicalAlignment: z.object({ value: z.object({ threshold: numberOrExpression.optional(), prompt: stringOrExpression.optional() }).optional() }).optional(), urls: z.object({ value: z.object({ allowedUrls: stringOrExpression.optional(), allowedSchemes: z.array(z.union([z.literal('https'), z.literal('http'), z.literal('ftp'), z.literal('data'), z.literal('javascript'), z.literal('vbscript'), z.literal('mailto')])).optional(), blockUserinfo: booleanOrExpression.optional(), allowSubdomains: booleanOrExpression.optional() }).optional() }).optional(), custom: z.object({ guardrail: z.array(z.object({ name: stringOrExpression.optional(), threshold: numberOrExpression.optional(), prompt: stringOrExpression.optional() })).optional() }).optional(), customRegex: z.object({ regex: z.array(z.object({ name: stringOrExpression.optional(), value: stringOrExpression.optional() })).optional() }).optional() }).optional(),
25
25
  customizeSystemMessage: resolveSchema({ parameters, schema: booleanOrExpression, required: false, displayOptions: {"show":{"/operation":["classify"]}} }),
26
26
  systemMessage: resolveSchema({ parameters, schema: stringOrExpression, required: false, displayOptions: {"show":{"/customizeSystemMessage":[true]}} }),
27
27
  });
@@ -23,7 +23,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
23
23
  const parametersSchema = z.object({
24
24
  operation: z.union([z.literal('classify'), z.literal('sanitize')]).optional(),
25
25
  text: stringOrExpression,
26
- guardrails: z.object({ keywords: stringOrExpression.optional(), jailbreak: z.object({ value: z.object({ threshold: numberOrExpression.optional(), customizePrompt: booleanOrExpression.optional(), prompt: stringOrExpression.optional() }).optional() }).optional(), nsfw: z.object({ value: z.object({ threshold: numberOrExpression.optional(), customizePrompt: booleanOrExpression.optional(), prompt: stringOrExpression.optional() }).optional() }).optional(), pii: z.object({ value: z.object({ type: z.union([z.literal('all'), z.literal('selected'), expressionSchema]).optional(), entities: z.array(z.union([z.literal('CREDIT_CARD'), z.literal('CRYPTO'), z.literal('DATE_TIME'), z.literal('EMAIL_ADDRESS'), z.literal('IBAN_CODE'), z.literal('IP_ADDRESS'), z.literal('LOCATION'), z.literal('PHONE_NUMBER'), z.literal('MEDICAL_LICENSE'), z.literal('US_BANK_NUMBER'), z.literal('US_DRIVER_LICENSE'), z.literal('US_ITIN'), z.literal('US_PASSPORT'), z.literal('US_SSN'), z.literal('UK_NHS'), z.literal('UK_NINO'), z.literal('ES_NIF'), z.literal('ES_NIE'), z.literal('IT_FISCAL_CODE'), z.literal('IT_DRIVER_LICENSE'), z.literal('IT_VAT_CODE'), z.literal('IT_PASSPORT'), z.literal('IT_IDENTITY_CARD'), z.literal('PL_PESEL'), z.literal('SG_NRIC_FIN'), z.literal('SG_UEN'), z.literal('AU_ABN'), z.literal('AU_ACN'), z.literal('AU_TFN'), z.literal('AU_MEDICARE'), z.literal('IN_PAN'), z.literal('IN_AADHAAR'), z.literal('IN_VEHICLE_REGISTRATION'), z.literal('IN_VOTER'), z.literal('IN_PASSPORT'), z.literal('FI_PERSONAL_IDENTITY_CODE')])).optional() }).optional() }).optional(), secretKeys: z.object({ value: z.object({ permissiveness: z.union([z.literal('strict'), z.literal('balanced'), z.literal('permissive'), expressionSchema]).optional() }).optional() }).optional(), topicalAlignment: z.object({ value: z.object({ threshold: numberOrExpression.optional(), prompt: stringOrExpression.optional() }).optional() }).optional(), urls: z.object({ value: z.object({ allowedUrls: stringOrExpression.optional(), allowedSchemes: z.array(z.union([z.literal('https'), z.literal('http'), z.literal('ftp'), z.literal('data'), z.literal('javascript'), z.literal('vbscript'), z.literal('mailto')])).optional(), blockUserinfo: booleanOrExpression.optional(), blockUserinfo: booleanOrExpression.optional(), allowSubdomains: booleanOrExpression.optional() }).optional() }).optional(), custom: z.object({ guardrail: z.array(z.object({ name: stringOrExpression.optional(), threshold: numberOrExpression.optional(), prompt: stringOrExpression.optional() })).optional() }).optional(), customRegex: z.object({ regex: z.array(z.object({ name: stringOrExpression.optional(), value: stringOrExpression.optional() })).optional() }).optional() }).optional(),
26
+ guardrails: z.object({ keywords: stringOrExpression.optional(), jailbreak: z.object({ value: z.object({ threshold: numberOrExpression.optional(), customizePrompt: booleanOrExpression.optional(), prompt: stringOrExpression.optional() }).optional() }).optional(), nsfw: z.object({ value: z.object({ threshold: numberOrExpression.optional(), customizePrompt: booleanOrExpression.optional(), prompt: stringOrExpression.optional() }).optional() }).optional(), pii: z.object({ value: z.object({ type: z.union([z.literal('all'), z.literal('selected'), expressionSchema]).optional(), entities: z.array(z.union([z.literal('CREDIT_CARD'), z.literal('CRYPTO'), z.literal('DATE_TIME'), z.literal('EMAIL_ADDRESS'), z.literal('IBAN_CODE'), z.literal('IP_ADDRESS'), z.literal('LOCATION'), z.literal('PHONE_NUMBER'), z.literal('MEDICAL_LICENSE'), z.literal('US_BANK_NUMBER'), z.literal('US_DRIVER_LICENSE'), z.literal('US_ITIN'), z.literal('US_PASSPORT'), z.literal('US_SSN'), z.literal('UK_NHS'), z.literal('UK_NINO'), z.literal('ES_NIF'), z.literal('ES_NIE'), z.literal('IT_FISCAL_CODE'), z.literal('IT_DRIVER_LICENSE'), z.literal('IT_VAT_CODE'), z.literal('IT_PASSPORT'), z.literal('IT_IDENTITY_CARD'), z.literal('PL_PESEL'), z.literal('SG_NRIC_FIN'), z.literal('SG_UEN'), z.literal('AU_ABN'), z.literal('AU_ACN'), z.literal('AU_TFN'), z.literal('AU_MEDICARE'), z.literal('IN_PAN'), z.literal('IN_AADHAAR'), z.literal('IN_VEHICLE_REGISTRATION'), z.literal('IN_VOTER'), z.literal('IN_PASSPORT'), z.literal('FI_PERSONAL_IDENTITY_CODE')])).optional() }).optional() }).optional(), secretKeys: z.object({ value: z.object({ permissiveness: z.union([z.literal('strict'), z.literal('balanced'), z.literal('permissive'), expressionSchema]).optional() }).optional() }).optional(), topicalAlignment: z.object({ value: z.object({ threshold: numberOrExpression.optional(), prompt: stringOrExpression.optional() }).optional() }).optional(), urls: z.object({ value: z.object({ allowedUrls: stringOrExpression.optional(), allowedSchemes: z.array(z.union([z.literal('https'), z.literal('http'), z.literal('ftp'), z.literal('data'), z.literal('javascript'), z.literal('vbscript'), z.literal('mailto')])).optional(), blockUserinfo: booleanOrExpression.optional(), allowSubdomains: booleanOrExpression.optional() }).optional() }).optional(), custom: z.object({ guardrail: z.array(z.object({ name: stringOrExpression.optional(), threshold: numberOrExpression.optional(), prompt: stringOrExpression.optional() })).optional() }).optional(), customRegex: z.object({ regex: z.array(z.object({ name: stringOrExpression.optional(), value: stringOrExpression.optional() })).optional() }).optional() }).optional(),
27
27
  customizeSystemMessage: resolveSchema({ parameters, schema: booleanOrExpression, required: false, displayOptions: {"show":{"/operation":["classify"]}} }),
28
28
  systemMessage: resolveSchema({ parameters, schema: stringOrExpression, required: false, displayOptions: {"show":{"/customizeSystemMessage":[true]}} }),
29
29
  });