Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
b7a779c
CAMEL-24961: camel-catalog - the body a component or data format need…
davsclaus Oct 21, 2026
09db3be
CAMEL-24961: camel-catalog - the body types of platform-http, rest, f…
davsclaus Oct 21, 2026
82f4901
CAMEL-24961: camel-catalog - the body types of paho-mqtt5 and mongodb
davsclaus Oct 21, 2026
cd44efe
CAMEL-24961: camel-catalog - an iterator carrier, and the build rejec…
davsclaus Oct 21, 2026
80d2a4d
Merge branch 'feature/CAMEL-24961-catalog-body-types' into feature/CA…
davsclaus Oct 21, 2026
daec206
CAMEL-24961: camel-catalog - csv with lazyLoad gives an iterator, and…
davsclaus Oct 21, 2026
b64c881
CAMEL-24961: camel-yaml-dsl-validator - the body walks read the body …
davsclaus Oct 21, 2026
4d64270
CAMEL-24961: camel-ai - body types of openai, langchain4j-chat, a2a, …
davsclaus Oct 21, 2026
9069642
CAMEL-24961: camel-yaml-dsl-validator - the options in the path of an…
davsclaus Oct 21, 2026
8f830c0
CAMEL-24961: camel-package-maven-plugin - the build rejects a body ty…
davsclaus Oct 21, 2026
0be66c5
CAMEL-24961: Rename When.carrier to carriers, as the catalog names it
davsclaus Oct 21, 2026
617b873
Merge branch 'feature/CAMEL-24961-catalog-body-types' into feature/CA…
davsclaus Oct 21, 2026
15aaf46
CAMEL-24961: Use When.carriers in the annotations of slice 2
davsclaus Oct 21, 2026
a3605e6
Merge branch 'feature/CAMEL-24961-catalog-body-types-2' into feature/…
davsclaus Oct 21, 2026
bc9d696
Merge branch 'feature/CAMEL-24961-catalog-body-types-3' into feature/…
davsclaus Oct 21, 2026
1ef9d76
CAMEL-24961: Use When.carriers in the annotations of the AI group
davsclaus Oct 21, 2026
07e8497
CAMEL-24961: camel-yaml-dsl-maven-plugin - ignore the bodyTypes of th…
davsclaus Oct 22, 2026
920feb7
Merge remote-tracking branch 'origin/feature/CAMEL-24961-catalog-body…
davsclaus Oct 22, 2026
8175555
Merge branch 'feature/CAMEL-24961-catalog-body-types-2' into feature/…
davsclaus Oct 22, 2026
5cfc2d2
Merge branch 'feature/CAMEL-24961-catalog-body-types-3' into feature/…
davsclaus Oct 22, 2026
4017dd4
CAMEL-24961: camel-jbang - the options that make a body type not know…
davsclaus Oct 22, 2026
d4d61c9
Merge branch 'feature/CAMEL-24961-catalog-body-types-2' into feature/…
davsclaus Oct 22, 2026
134daf5
Merge branch 'feature/CAMEL-24961-catalog-body-types-3' into feature/…
davsclaus Oct 22, 2026
5b3a95b
Merge remote-tracking branch 'origin/main' into feature/CAMEL-24961-c…
davsclaus Oct 23, 2026
ac4b080
Merge branch 'feature/CAMEL-24961-catalog-body-types-3' into feature/…
davsclaus Oct 24, 2026
a7c76d3
Merge remote-tracking branch 'origin/main' into feature/CAMEL-24961-c…
davsclaus Oct 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,12 @@
"CamelA2AListStatus": { "index": 17, "kind": "header", "displayName": "", "group": "common", "label": "common", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated status filter for task listing", "constantName": "org.apache.camel.component.a2a.A2AConstants#LIST_STATUS" },
"CamelA2AExtensions": { "index": 18, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Negotiated A2A extension URIs requested by the client", "constantName": "org.apache.camel.component.a2a.A2AConstants#EXTENSIONS" }
},
"bodyTypes": {
"consumerOut": { "carriers": [ "text" ], "byOption": [ { "option": "dataFormat", "value": "POJO", "carriers": [ "pojo" ], "javaType": "org.apache.camel.component.a2a.model.Message" } ], "description": "The message of the caller, for SendMessage and SendStreamingMessage (the component answers the task and push config requests itself): the text of its parts, one per line, a data part as JSON and a file part as its URL. With dataFormat POJO the Message, with RAW the Message as JSON" },
"consumerReply": { "carriers": [ "text", "bytes", "stream", "file", "pojo" ], "description": "The reply of the agent: text, sent as one text part (bytes, a stream or a file as their text), or a Message sent as it is. Another body is sent as text: a Task as the text of its last message, a Map or a POJO as its toString(): marshal it first. The reply goes in a Task, completed unless the CamelA2ATaskState header says another state, or as a Message when the CamelA2AResponseType header is message" },
"producerIn": { "carriers": [ "text", "bytes", "stream", "file", "pojo" ], "byOption": [ { "option": "operation", "value": "TASK_GET", "carriers": [ "any" ] }, { "option": "operation", "value": "TASK_LIST", "carriers": [ "any" ] }, { "option": "operation", "value": "TASK_CANCEL", "carriers": [ "any" ] }, { "option": "operation", "value": "TASK_SUBSCRIBE", "carriers": [ "any" ] }, { "option": "operation", "value": "PUSH_CONFIG_CREATE", "carriers": [ "pojo" ], "javaType": "org.apache.camel.component.a2a.model.TaskPushNotificationConfig" }, { "option": "operation", "value": "PUSH_CONFIG_GET", "carriers": [ "any" ] }, { "option": "operation", "value": "PUSH_CONFIG_LIST", "carriers": [ "any" ] }, { "option": "operation", "value": "PUSH_CONFIG_DELETE", "carriers": [ "any" ] } ], "description": "The message to send: text, sent as one text part (bytes, a stream or a file as their text), or a Message sent as it is; MESSAGE_STREAM also takes a SendMessageRequest. Another body is sent as its toString(), so a Map or a POJO needs marshalling first, and JSON text is sent as text. PUSH_CONFIG_CREATE needs a TaskPushNotificationConfig, and the other operations read headers, not the body" },
"producerOut": { "carriers": [ "text" ], "byOption": [ { "option": "operation", "value": "MESSAGE_STREAM", "carriers": [ "iterator" ], "javaType": "org.apache.camel.component.a2a.streaming.SseEventIterator" }, { "option": "operation", "value": "TASK_GET", "carriers": [ "text" ] }, { "option": "operation", "value": "TASK_LIST", "carriers": [ "list", "null" ] }, { "option": "operation", "value": "TASK_CANCEL", "carriers": [ "text" ] }, { "option": "operation", "value": "TASK_SUBSCRIBE", "carriers": [ "iterator" ], "javaType": "org.apache.camel.component.a2a.streaming.SseEventIterator" }, { "option": "operation", "value": "PUSH_CONFIG_CREATE", "carriers": [ "pojo" ], "javaType": "org.apache.camel.component.a2a.model.TaskPushNotificationConfig" }, { "option": "operation", "value": "PUSH_CONFIG_GET", "carriers": [ "pojo" ], "javaType": "org.apache.camel.component.a2a.model.TaskPushNotificationConfig" }, { "option": "operation", "value": "PUSH_CONFIG_LIST", "carriers": [ "list", "null" ] }, { "option": "operation", "value": "PUSH_CONFIG_DELETE", "carriers": [ "map" ] }, { "option": "dataFormat", "value": "POJO", "carriers": [ "pojo" ] }, { "option": "dataFormat", "value": "RAW", "carriers": [ "text" ] } ], "description": "The reply of the agent as text: the parts of the Message, or of the last message in the history of the Task, one per line. TASK_GET and TASK_CANCEL give the text of the Task, TASK_LIST a List of Task, MESSAGE_STREAM and TASK_SUBSCRIBE an Iterator of the events as they arrive (split it), and the push config operations a TaskPushNotificationConfig, a List of them, or an empty Map for delete. With dataFormat POJO the Task or the Message, with RAW the JSON of the response as text (a stream of the events for MESSAGE_STREAM and TASK_SUBSCRIBE)" }
},
"properties": {
"agentCardSource": { "index": 0, "kind": "path", "displayName": "Agent Card Source", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The agent card source (classpath:, file:, http:\/\/, https:\/\/, or plain name)" },
"agentCard": { "index": 1, "kind": "parameter", "displayName": "Agent Card", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.a2a.model.AgentCard", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.a2a.A2AConfiguration", "configurationField": "configuration", "description": "Agent card bean reference or inline configuration" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@
"CamelAiToolCallId": { "index": 0, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The tool invocation identifier supplied by the calling framework. Absent when the framework does not supply one.", "constantName": "org.apache.camel.component.ai.tool.AiToolConstants#TOOL_CALL_ID" },
"CamelAiToolConversationId": { "index": 1, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The conversation identifier supplied by the calling framework. Absent when the framework does not supply one.", "constantName": "org.apache.camel.component.ai.tool.AiToolConstants#CONVERSATION_ID" }
},
"bodyTypes": {
"consumerOut": { "carriers": [ "null" ], "description": "No body: each argument of the tool call is a header named as its parameter, a Map or a List for a nested JSON value. Undeclared arguments and names starting with camel are dropped" },
"consumerReply": { "carriers": [ "any" ], "dependsOn": [ "outputSchema", "outputParameters" ], "description": "The tool result, as text: the body converted to a String, so a Map, a List or a POJO is sent as its toString(): marshal it to JSON first. No body gives No result. With outputSchema or outputParameter.NAME options the body must be JSON: a JSON String, a Map, a List, a number or a boolean, and bytes, a stream or another object fail the call" }
},
"properties": {
"toolName": { "index": 0, "kind": "path", "displayName": "Tool Name", "group": "consumer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The tool name. This is the name the LLM sees and uses to invoke the tool." },
"argSchema": { "index": 1, "kind": "parameter", "displayName": "Arg Schema", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "Raw JSON Schema for tool input parameters. Supports inline JSON and resource references (classpath:, file:, resource:). Mutually exclusive with the parameter multi-value options. Use for nested objects, arrays, oneOf, and other complex schemas." },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,11 @@
"CamelDoclingChunkingMaxTokens": { "index": 30, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Maximum tokens per chunk for hybrid chunking", "constantName": "org.apache.camel.component.docling.DoclingHeaders#CHUNKING_MAX_TOKENS" },
"CamelDoclingChunkingMergePeers": { "index": 31, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether to merge peer chunks in hybrid chunking", "constantName": "org.apache.camel.component.docling.DoclingHeaders#CHUNKING_MERGE_PEERS" }
},
"bodyTypes": {
"consumerOut": { "carriers": [ "text" ], "description": "The document of an async conversion that completed (SUBMIT_ASYNC_CONVERSION on the same component), as text in the outputFormat it was submitted with: markdown by default, JSON text for json. The task id is in the CamelDoclingTaskId header, and a failed conversion goes to the error handler" },
"producerIn": { "carriers": [ "any" ], "byOption": [ { "option": "operation", "value": "BATCH_CONVERT_TO_MARKDOWN", "carriers": [ "list" ] }, { "option": "operation", "value": "BATCH_CONVERT_TO_HTML", "carriers": [ "list" ] }, { "option": "operation", "value": "BATCH_CONVERT_TO_JSON", "carriers": [ "list" ] }, { "option": "operation", "value": "BATCH_EXTRACT_TEXT", "carriers": [ "list" ] }, { "option": "operation", "value": "BATCH_EXTRACT_STRUCTURED_DATA", "carriers": [ "list" ] } ], "description": "The document: its content as text or bytes, or a File (the GenericFile of the file consumers too). A stream or a Path fails: convert it to bytes first. Text that looks like a URL or a path (it starts with http:\/\/, https:\/\/ or \/, or has a backslash) is read as one only with allowUrlSource or allowFilePathSource, and fails otherwise. With the CamelDoclingInputFilePath header the body is not read. The batch operations take a List or an array of paths or files (a directory path with allowFilePathSource), and CHECK_CONVERSION_STATUS the task id, unless the CamelDoclingTaskId header gives it" },
"producerOut": { "carriers": [ "text" ], "byOption": [ { "option": "operation", "value": "CONVERT_TO_JSON", "carriers": [ "pojo" ], "javaType": "ai.docling.core.DoclingDocument" }, { "option": "operation", "value": "EXTRACT_STRUCTURED_DATA", "carriers": [ "pojo" ], "javaType": "ai.docling.core.DoclingDocument" }, { "option": "operation", "value": "CHECK_CONVERSION_STATUS", "carriers": [ "pojo" ], "javaType": "org.apache.camel.component.docling.ConversionStatus" }, { "option": "operation", "value": "EXTRACT_METADATA", "carriers": [ "pojo" ], "javaType": "org.apache.camel.component.docling.DocumentMetadata" }, { "option": "operation", "value": "BATCH_CONVERT_TO_MARKDOWN", "carriers": [ "pojo", "list" ] }, { "option": "operation", "value": "BATCH_CONVERT_TO_HTML", "carriers": [ "pojo", "list" ] }, { "option": "operation", "value": "BATCH_CONVERT_TO_JSON", "carriers": [ "pojo", "list" ] }, { "option": "operation", "value": "BATCH_EXTRACT_TEXT", "carriers": [ "pojo", "list" ] }, { "option": "operation", "value": "BATCH_EXTRACT_STRUCTURED_DATA", "carriers": [ "pojo", "list" ] }, { "option": "operation", "value": "CHUNK_HYBRID", "carriers": [ "pojo", "list" ] }, { "option": "operation", "value": "CHUNK_HIERARCHICAL", "carriers": [ "pojo", "list" ] } ], "description": "By the operation: text for the conversions to markdown, HTML and text, which with the docling CLI is the path of the output file unless contentInBody (useDoclingServe gives the content); the task id for SUBMIT_ASYNC_CONVERSION; a DoclingDocument for CONVERT_TO_JSON and EXTRACT_STRUCTURED_DATA; a BatchProcessingResults for the batch operations, a List of BatchConversionResult with splitBatchResults; and a ChunkDocumentResponse for the chunking, a List of Chunk with contentInBody" }
},
"properties": {
"operationId": { "index": 0, "kind": "path", "displayName": "Operation Id", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation identifier" },
"contentInBody": { "index": 1, "kind": "parameter", "displayName": "Content In Body", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.docling.DoclingConfiguration", "configurationField": "configuration", "description": "Include the content of the output file in the exchange body and delete the output file" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@
"CamelIBMWatsonLanguageSentimentScore": { "index": 10, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Double", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The sentiment score", "constantName": "org.apache.camel.component.ibm.watson.language.WatsonLanguageConstants#SENTIMENT_SCORE" },
"CamelIBMWatsonLanguageSentimentLabel": { "index": 11, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The sentiment label (positive, negative, neutral)", "constantName": "org.apache.camel.component.ibm.watson.language.WatsonLanguageConstants#SENTIMENT_LABEL" }
},
"bodyTypes": {
"producerIn": { "carriers": [ "any" ], "description": "The text to analyze for analyzeText, or the URL of the page for analyzeUrl, read as text, unless the CamelIBMWatsonLanguageText or CamelIBMWatsonLanguageUrl header gives it. Without the header, no body or a blank one fails, and a Map or a POJO is analyzed as its toString(): marshal it first" },
"producerOut": { "carriers": [ "pojo" ], "javaType": "com.ibm.watson.natural_language_understanding.v1.model.AnalysisResults", "description": "The results of the features enabled (sentiment, entities, keywords and so on), with the sentiment score and label and the language in headers too. Converted to text, it is the JSON of the results" }
},
"properties": {
"label": { "index": 0, "kind": "path", "displayName": "Label", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Logical name" },
"serviceUrl": { "index": 1, "kind": "parameter", "displayName": "Service Url", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.ibm.watson.language.WatsonLanguageConfiguration", "configurationField": "configuration", "description": "The service endpoint URL. If not specified, the default URL will be used." },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@
"CamelLangChain4jChatRequestModel": { "index": 6, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The request model name.", "constantName": "org.apache.camel.component.langchain4j.chat.LangChain4jChatHeaders#REQUEST_MODEL" },
"CamelLangChain4jChatResponseModel": { "index": 7, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The response model name.", "constantName": "org.apache.camel.component.langchain4j.chat.LangChain4jChatHeaders#RESPONSE_MODEL" }
},
"bodyTypes": {
"producerIn": { "carriers": [ "any" ], "byOption": [ { "option": "chatOperation", "value": "CHAT_SINGLE_MESSAGE_WITH_PROMPT", "carriers": [ "map" ] }, { "option": "chatOperation", "value": "CHAT_MULTIPLE_MESSAGES", "carriers": [ "list" ] } ], "description": "The prompt as text, or a ChatMessage; another body is sent as its toString(), and no body fails. CHAT_SINGLE_MESSAGE_WITH_PROMPT takes the variables of the template in the CamelLangChain4jChatPromptTemplate header as a Map, and CHAT_MULTIPLE_MESSAGES a List of ChatMessage" },
"producerOut": { "carriers": [ "text" ], "description": "The answer of the model as text, also when it is asked for JSON: unmarshal it to read its fields" }
},
"properties": {
"chatId": { "index": 0, "kind": "path", "displayName": "Chat Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id" },
"chatOperation": { "index": 1, "kind": "parameter", "displayName": "Chat Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.langchain4j.chat.LangChain4jChatOperations", "enum": [ "CHAT_SINGLE_MESSAGE", "CHAT_SINGLE_MESSAGE_WITH_PROMPT", "CHAT_MULTIPLE_MESSAGES" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "CHAT_SINGLE_MESSAGE", "configurationClass": "org.apache.camel.component.langchain4j.chat.LangChain4jChatConfiguration", "configurationField": "configuration", "description": "Operation in case of Endpoint of type CHAT. The value is one of the values of org.apache.camel.component.langchain4j.chat.LangChain4jChatOperations" },
Expand Down
Loading
Loading