You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2026/07/27 11:39:27 UTC
(camel) branch main updated: CAMEL-23467: camel-aws-bedrock - add invokeAgent and invokeInlineAgent operations (#25086)
This is an automated email from the ASF dual-hosted git repository.
oscerd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 9fd4b20814aa CAMEL-23467: camel-aws-bedrock - add invokeAgent and invokeInlineAgent operations (#25086)
9fd4b20814aa is described below
commit 9fd4b20814aa3d20316de69368518b1cc2127454
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon Jul 27 13:39:19 2026 +0200
CAMEL-23467: camel-aws-bedrock - add invokeAgent and invokeInlineAgent operations (#25086)
* CAMEL-23467: camel-aws-bedrock - add invokeAgent and invokeInlineAgent operations
The aws-bedrock-agent-runtime component did not expose InvokeAgent (invoking a
deployed Bedrock agent) or InvokeInlineAgent (defining the agent at invocation
time), the primary entry points for agent-based workflows on Bedrock.
Both APIs return event streams, so they are implemented on the async client the
same way the existing invokeFlow operation is: a response handler whose visitor
collects the emitted events, awaited with join() and unwrapping the
CompletionException around AWS service exceptions.
- Add invokeAgent and invokeInlineAgent to BedrockAgentRuntimeOperations.
- Add agentId, agentAliasId, sessionId, streamOutputMode and the inline
foundationModel/instruction options, each overridable by a header.
- Provision the async client for the two new operations, as done for invokeFlow.
- Collect the ResponseStream events (chunk, trace, returnControl, files) and
publish traces, return-control payloads, files and citations as headers.
Citations arrive on the chunk attribution rather than as their own event.
- Honor streamOutputMode: complete (default) accumulates the chunks into a
String body, chunks exposes the List of chunks, matching the runtime component.
- The agent APIs are session based, so a session id is generated when none is
configured, and the one used is always echoed back on the session id header.
invokeAgent and invokeInlineAgent use parallel but distinct SDK event types, so
the collected traces/returnControls/files are held as the SDK objects and the
header metadata documents both variants.
Co-Authored-By: Claude Fable 5 <no...@anthropic.com>
Signed-off-by: Andrea Cosentino <an...@gmail.com>
* CAMEL-23467: address review - AssertJ assertions and package-private test visibility
Per project conventions, converted BedrockAgentRuntimeProducerInvokeAgentTest to
AssertJ assertions and dropped the public modifier from the class and its
lifecycle/test methods. Adds the test-scoped assertj-core dependency, which was
not yet declared in camel-aws-bedrock (other camel-aws modules already declare
it the same way; the version is managed in the parent).
Co-Authored-By: Claude Opus 4.8 (1M context) <no...@anthropic.com>
Signed-off-by: Andrea Cosentino <an...@gmail.com>
---------
Signed-off-by: Andrea Cosentino <an...@gmail.com>
Co-authored-by: Claude Fable 5 <no...@anthropic.com>
---
.../components/aws-bedrock-agent-runtime.json | 99 +++++---
.../catalog/components/aws-bedrock-agent.json | 35 ++-
.../docs/aws-bedrock-agent-runtime-component.adoc | 60 +++++
components/camel-aws/camel-aws-bedrock/pom.xml | 5 +
.../BedrockAgentRuntimeComponentConfigurer.java | 33 +++
.../BedrockAgentRuntimeEndpointConfigurer.java | 33 +++
.../BedrockAgentRuntimeEndpointUriFactory.java | 8 +-
.../aws2/bedrock/agent/aws-bedrock-agent.json | 35 ++-
.../agentruntime/aws-bedrock-agent-runtime.json | 99 +++++---
.../docs/aws-bedrock-agent-runtime-component.adoc | 60 +++++
.../BedrockAgentRuntimeConfiguration.java | 86 ++++++-
.../agentruntime/BedrockAgentRuntimeConstants.java | 45 ++++
.../agentruntime/BedrockAgentRuntimeEndpoint.java | 10 +-
.../BedrockAgentRuntimeOperations.java | 2 +
.../agentruntime/BedrockAgentRuntimeProducer.java | 269 +++++++++++++++++++++
...BedrockAgentRuntimeProducerInvokeAgentTest.java | 241 ++++++++++++++++++
...BedrockAgentRuntimeComponentBuilderFactory.java | 115 ++++++++-
.../dsl/BedrockAgentEndpointBuilderFactory.java | 157 ++++++++++++
.../BedrockAgentRuntimeEndpointBuilderFactory.java | 268 +++++++++++++++++++-
19 files changed, 1540 insertions(+), 120 deletions(-)
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent-runtime.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent-runtime.json
index e49f62ba10e8..d35a041658e6 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent-runtime.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent-runtime.json
@@ -28,7 +28,7 @@
"knowledgeBaseId": { "index": 1, "kind": "property", "displayName": "Knowledge Base Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Define the Knowledge Base Id we are going to use" },
"lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail [...]
"modelId": { "index": 3, "kind": "property", "displayName": "Model Id", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "java.lang.String", "enum": [ "amazon.titan-text-express-v1", "amazon.titan-text-lite-v1", "amazon.titan-image-generator-v1", "amazon.titan-embed-text-v1", "amazon.titan-embed-image-v1", "amazon.titan-text-premier-v1:0", "amazon.titan-embed-text-v2:0", "amazon.titan-image-generator-v2:0", "amazon.nova-canvas-v1:0", "amazon.nova-lite-v [...]
- "operation": { "index": 4, "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate", "invokeFlow", "retrieve" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfigurat [...]
+ "operation": { "index": 4, "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate", "invokeFlow", "invokeAgent", "invokeInlineAgent", "retrieve" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentr [...]
"overrideEndpoint": { "index": 5, "kind": "property", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set the need for overriding the endpoint. This option ne [...]
"pojoRequest": { "index": 6, "kind": "property", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want to use a POJO request as body or not" },
"profileCredentialsName": { "index": 7, "kind": "property", "displayName": "Profile Credentials Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If using a profile credentials pr [...]
@@ -39,42 +39,59 @@
"autowiredEnabled": { "index": 12, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching [...]
"bedrockAgentRuntimeAsyncClient": { "index": 13, "kind": "property", "displayName": "Bedrock Agent Runtime Async Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration" [...]
"bedrockAgentRuntimeClient": { "index": 14, "kind": "property", "displayName": "Bedrock Agent Runtime Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configuration [...]
- "enableTrace": { "index": 15, "kind": "property", "displayName": "Enable Trace", "group": "flow", "label": "flow", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Enables tracing for the invokeFlow operation. When enabled, the p [...]
- "flowAliasIdentifier": { "index": 16, "kind": "property", "displayName": "Flow Alias Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow alias to invoke (used [...]
- "flowIdentifier": { "index": 17, "kind": "property", "displayName": "Flow Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow to invoke (used by the invokeFlo [...]
- "healthCheckConsumerEnabled": { "index": 18, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
- "healthCheckProducerEnabled": { "index": 19, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on produce [...]
- "proxyHost": { "index": 20, "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" },
- "proxyPort": { "index": 21, "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" },
- "proxyProtocol": { "index": 22, "kind": "property", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To [...]
- "accessKey": { "index": 23, "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
- "secretKey": { "index": 24, "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
- "sessionToken": { "index": 25, "kind": "property", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user needs [...]
- "trustAllCertificates": { "index": 26, "kind": "property", "displayName": "Trust All Certificates", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want [...]
- "useSessionCredentials": { "index": 27, "kind": "property", "displayName": "Use Session Credentials", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Agent Runtim [...]
+ "agentAliasId": { "index": 15, "kind": "property", "displayName": "Agent Alias Id", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the agent alias to invoke, used by the invokeAgent [...]
+ "agentId": { "index": 16, "kind": "property", "displayName": "Agent Id", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the agent to invoke, used by the invokeAgent operation." },
+ "enableTrace": { "index": 17, "kind": "property", "displayName": "Enable Trace", "group": "agent", "label": "flow,agent", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Enables tracing for the invokeFlow and agent operations. W [...]
+ "foundationModel": { "index": 18, "kind": "property", "displayName": "Foundation Model", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The foundation model used by the invokeInlineAgent operation." },
+ "instruction": { "index": 19, "kind": "property", "displayName": "Instruction", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The instruction given to the agent defined by the invokeInlineAgent operation." },
+ "sessionId": { "index": 20, "kind": "property", "displayName": "Session Id", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the agent session. Reuse the same value across invocation [...]
+ "streamOutputMode": { "index": 21, "kind": "property", "displayName": "Stream Output Mode", "group": "agent", "label": "agent", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "complete", "chunks" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "complete", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The str [...]
+ "flowAliasIdentifier": { "index": 22, "kind": "property", "displayName": "Flow Alias Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow alias to invoke (used [...]
+ "flowIdentifier": { "index": 23, "kind": "property", "displayName": "Flow Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow to invoke (used by the invokeFlo [...]
+ "healthCheckConsumerEnabled": { "index": 24, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
+ "healthCheckProducerEnabled": { "index": 25, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on produce [...]
+ "proxyHost": { "index": 26, "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" },
+ "proxyPort": { "index": 27, "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" },
+ "proxyProtocol": { "index": 28, "kind": "property", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To [...]
+ "accessKey": { "index": 29, "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
+ "secretKey": { "index": 30, "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
+ "sessionToken": { "index": 31, "kind": "property", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user needs [...]
+ "trustAllCertificates": { "index": 32, "kind": "property", "displayName": "Trust All Certificates", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want [...]
+ "useSessionCredentials": { "index": 33, "kind": "property", "displayName": "Use Session Credentials", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Agent Runtim [...]
},
"headers": {
"CamelAwsBedrockAgentRuntimeOperation": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation we want to perform", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#OPERATION" },
"CamelAwsBedrockAgentRuntimeCitations": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain the citations", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#CITATIONS" },
"CamelAwsBedrockAgentRuntimeSessionId": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain he unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.", "constantName": "org.apache.camel.component [...]
- "CamelAwsBedrockAgentRuntimeFlowIdentifier": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow to invoke. Overrides the flowIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_IDENTIFIER" },
- "CamelAwsBedrockAgentRuntimeFlowAliasIdentifier": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow alias to invoke. Overrides the flowAliasIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#F [...]
- "CamelAwsBedrockAgentRuntimeFlowEnableTrace": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Enables tracing for the flow invocation. When set, overrides the enableTrace option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_ENABLE_TRACE" },
- "CamelAwsBedrockAgentRuntimeFlowExecutionId": { "index": 6, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of an in-progress flow execution to continue. Used for multi-turn flow conversations.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_EXECU [...]
- "CamelAwsBedrockAgentRuntimeFlowOutputs": { "index": 7, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the list of FlowOutputEvent emitted by the flow.", "constantName": "org.apache.camel.componen [...]
- "CamelAwsBedrockAgentRuntimeFlowTraces": { "index": 8, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow with tracing enabled, this header will contain the list of FlowTraceEvent emitted during execution.", "constantName": "or [...]
- "CamelAwsBedrockAgentRuntimeFlowCompletionReason": { "index": 9, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the reason the flow completed (set when a FlowCompletionEvent is received).", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntime [...]
- "CamelAwsBedrockAgentRuntimeRetrievedResults": { "index": 10, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.KnowledgeBaseRetrievalResult>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When performing a retrieve operation, this header will contain the list of KnowledgeBaseRetrievalResult chunks returned b [...]
- "CamelAwsBedrockAgentRuntimeNumberOfResults": { "index": 11, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Overrides the maximum number of results returned by the retrieve operation. Must be a positive Integer; when not set the AWS service default is used.", "constantName": "org.apache.camel.component.aws2.bedrock.agentrun [...]
- "CamelAwsBedrockAgentRuntimeSearchType": { "index": 12, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Overrides the search type used by the retrieve operation. Accepts the AWS SearchType enum (HYBRID, SEMANTIC) or its String representation.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgent [...]
- "CamelAwsBedrockAgentRuntimeNextToken": { "index": 13, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Pagination token used by the retrieve operation. Set on the in-message to request the next page; set on the out-message when the response carries one.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.B [...]
- "CamelAwsBedrockAgentRuntimeRetrieveGuardrailAction": { "index": 14, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When performing a retrieve operation, this header will contain the guardrail action (if any) applied by the knowledge base.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRu [...]
+ "CamelAwsBedrockAgentRuntimeAgentId": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the agent to invoke. Overrides the agentId configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_ID" },
+ "CamelAwsBedrockAgentRuntimeAgentAliasId": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the agent alias to invoke. Overrides the agentAliasId configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_ALIAS_ID" },
+ "CamelAwsBedrockAgentRuntimeAgentEnableTrace": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Enables tracing for the agent invocation. When set, overrides the enableTrace option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_ENABLE_T [...]
+ "CamelAwsBedrockAgentRuntimeAgentEndSession": { "index": 6, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Ends the agent session after this invocation.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_END_SESSION" },
+ "CamelAwsBedrockAgentRuntimeAgentMemoryId": { "index": 7, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the agent memory to use across sessions.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_MEMORY_ID" },
+ "CamelAwsBedrockAgentRuntimeAgentStreamOutputMode": { "index": 8, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The streaming output mode (complete or chunks) for an agent invocation. When set, overrides the streamOutputMode option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.Bedr [...]
+ "CamelAwsBedrockAgentRuntimeAgentFoundationModel": { "index": 9, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The foundation model used by an inline agent. Overrides the foundationModel configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_FOU [...]
+ "CamelAwsBedrockAgentRuntimeAgentInstruction": { "index": 10, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The instruction given to an inline agent. Overrides the instruction configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_INSTRUCTION" },
+ "CamelAwsBedrockAgentRuntimeAgentTraces": { "index": 11, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking an agent with tracing enabled, this header will contain the list of TracePart emitted during the invocation. The elements are TracePart for invokeAgent and InlineAgentTracePart for invokeInlineAgent." [...]
+ "CamelAwsBedrockAgentRuntimeAgentReturnControl": { "index": 12, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When an agent invocation requires the caller to fulfil an action, this header will contain the list of return-control payloads emitted by the agent. The elements are ReturnControlPayload for invokeAgent and [...]
+ "CamelAwsBedrockAgentRuntimeAgentFiles": { "index": 13, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When an agent invocation returns files, this header will contain the files emitted by the agent. The elements are FilePart for invokeAgent and InlineAgentFilePart for invokeInlineAgent.", "constantName": "org.apache [...]
+ "CamelAwsBedrockAgentRuntimeFlowIdentifier": { "index": 14, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow to invoke. Overrides the flowIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_IDENTIFIER" },
+ "CamelAwsBedrockAgentRuntimeFlowAliasIdentifier": { "index": 15, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow alias to invoke. Overrides the flowAliasIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants# [...]
+ "CamelAwsBedrockAgentRuntimeFlowEnableTrace": { "index": 16, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Enables tracing for the flow invocation. When set, overrides the enableTrace option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_ENABLE_TRACE" },
+ "CamelAwsBedrockAgentRuntimeFlowExecutionId": { "index": 17, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of an in-progress flow execution to continue. Used for multi-turn flow conversations.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_EXEC [...]
+ "CamelAwsBedrockAgentRuntimeFlowOutputs": { "index": 18, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the list of FlowOutputEvent emitted by the flow.", "constantName": "org.apache.camel.compone [...]
+ "CamelAwsBedrockAgentRuntimeFlowTraces": { "index": 19, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow with tracing enabled, this header will contain the list of FlowTraceEvent emitted during execution.", "constantName": "o [...]
+ "CamelAwsBedrockAgentRuntimeFlowCompletionReason": { "index": 20, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the reason the flow completed (set when a FlowCompletionEvent is received).", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntim [...]
+ "CamelAwsBedrockAgentRuntimeRetrievedResults": { "index": 21, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.KnowledgeBaseRetrievalResult>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When performing a retrieve operation, this header will contain the list of KnowledgeBaseRetrievalResult chunks returned b [...]
+ "CamelAwsBedrockAgentRuntimeNumberOfResults": { "index": 22, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Overrides the maximum number of results returned by the retrieve operation. Must be a positive Integer; when not set the AWS service default is used.", "constantName": "org.apache.camel.component.aws2.bedrock.agentrun [...]
+ "CamelAwsBedrockAgentRuntimeSearchType": { "index": 23, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Overrides the search type used by the retrieve operation. Accepts the AWS SearchType enum (HYBRID, SEMANTIC) or its String representation.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgent [...]
+ "CamelAwsBedrockAgentRuntimeNextToken": { "index": 24, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Pagination token used by the retrieve operation. Set on the in-message to request the next page; set on the out-message when the response carries one.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.B [...]
+ "CamelAwsBedrockAgentRuntimeRetrieveGuardrailAction": { "index": 25, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When performing a retrieve operation, this header will contain the guardrail action (if any) applied by the knowledge base.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRu [...]
},
"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, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Logical name" },
"knowledgeBaseId": { "index": 1, "kind": "parameter", "displayName": "Knowledge Base Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Define the Knowledge Base Id we are going to use" },
"modelId": { "index": 2, "kind": "parameter", "displayName": "Model Id", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "java.lang.String", "enum": [ "amazon.titan-text-express-v1", "amazon.titan-text-lite-v1", "amazon.titan-image-generator-v1", "amazon.titan-embed-text-v1", "amazon.titan-embed-image-v1", "amazon.titan-text-premier-v1:0", "amazon.titan-embed-text-v2:0", "amazon.titan-image-generator-v2:0", "amazon.nova-canvas-v1:0", "amazon.nova-lite- [...]
- "operation": { "index": 3, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate", "invokeFlow", "retrieve" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfigura [...]
+ "operation": { "index": 3, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate", "invokeFlow", "invokeAgent", "invokeInlineAgent", "retrieve" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agent [...]
"overrideEndpoint": { "index": 4, "kind": "parameter", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set the need for overriding the endpoint. This option n [...]
"pojoRequest": { "index": 5, "kind": "parameter", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want to use a POJO request as body or not" },
"profileCredentialsName": { "index": 6, "kind": "parameter", "displayName": "Profile Credentials Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If using a profile credentials p [...]
@@ -85,16 +102,22 @@
"lazyStartProducer": { "index": 11, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
"bedrockAgentRuntimeAsyncClient": { "index": 12, "kind": "parameter", "displayName": "Bedrock Agent Runtime Async Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration [...]
"bedrockAgentRuntimeClient": { "index": 13, "kind": "parameter", "displayName": "Bedrock Agent Runtime Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configuratio [...]
- "enableTrace": { "index": 14, "kind": "parameter", "displayName": "Enable Trace", "group": "flow", "label": "flow", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Enables tracing for the invokeFlow operation. When enabled, the [...]
- "flowAliasIdentifier": { "index": 15, "kind": "parameter", "displayName": "Flow Alias Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow alias to invoke (use [...]
- "flowIdentifier": { "index": 16, "kind": "parameter", "displayName": "Flow Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow to invoke (used by the invokeFl [...]
- "proxyHost": { "index": 17, "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" },
- "proxyPort": { "index": 18, "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" },
- "proxyProtocol": { "index": 19, "kind": "parameter", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "T [...]
- "accessKey": { "index": 20, "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
- "secretKey": { "index": 21, "kind": "parameter", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
- "sessionToken": { "index": 22, "kind": "parameter", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user need [...]
- "trustAllCertificates": { "index": 23, "kind": "parameter", "displayName": "Trust All Certificates", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we wan [...]
- "useSessionCredentials": { "index": 24, "kind": "parameter", "displayName": "Use Session Credentials", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Agent Runti [...]
+ "agentAliasId": { "index": 14, "kind": "parameter", "displayName": "Agent Alias Id", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the agent alias to invoke, used by the invokeAgen [...]
+ "agentId": { "index": 15, "kind": "parameter", "displayName": "Agent Id", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the agent to invoke, used by the invokeAgent operation." },
+ "enableTrace": { "index": 16, "kind": "parameter", "displayName": "Enable Trace", "group": "agent", "label": "flow,agent", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Enables tracing for the invokeFlow and agent operations. [...]
+ "foundationModel": { "index": 17, "kind": "parameter", "displayName": "Foundation Model", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The foundation model used by the invokeInlineAgent operation." },
+ "instruction": { "index": 18, "kind": "parameter", "displayName": "Instruction", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The instruction given to the agent defined by the invokeInlineAgent operation." },
+ "sessionId": { "index": 19, "kind": "parameter", "displayName": "Session Id", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the agent session. Reuse the same value across invocatio [...]
+ "streamOutputMode": { "index": 20, "kind": "parameter", "displayName": "Stream Output Mode", "group": "agent", "label": "agent", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "complete", "chunks" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "complete", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The st [...]
+ "flowAliasIdentifier": { "index": 21, "kind": "parameter", "displayName": "Flow Alias Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow alias to invoke (use [...]
+ "flowIdentifier": { "index": 22, "kind": "parameter", "displayName": "Flow Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow to invoke (used by the invokeFl [...]
+ "proxyHost": { "index": 23, "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" },
+ "proxyPort": { "index": 24, "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" },
+ "proxyProtocol": { "index": 25, "kind": "parameter", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "T [...]
+ "accessKey": { "index": 26, "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
+ "secretKey": { "index": 27, "kind": "parameter", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
+ "sessionToken": { "index": 28, "kind": "parameter", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user need [...]
+ "trustAllCertificates": { "index": 29, "kind": "parameter", "displayName": "Trust All Certificates", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we wan [...]
+ "useSessionCredentials": { "index": 30, "kind": "parameter", "displayName": "Use Session Credentials", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Agent Runti [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent.json
index bdb31a25e539..975fae15f0b0 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent.json
@@ -55,18 +55,29 @@
"CamelAwsBedrockAgentRuntimeOperation": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation we want to perform", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#OPERATION" },
"CamelAwsBedrockAgentRuntimeCitations": { "index": 1, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain the citations", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#CITATIONS" },
"CamelAwsBedrockAgentRuntimeSessionId": { "index": 2, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain he unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.", "constantName": "org.apache.camel.component.a [...]
- "CamelAwsBedrockAgentRuntimeFlowIdentifier": { "index": 3, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow to invoke. Overrides the flowIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_IDENTIFIER" },
- "CamelAwsBedrockAgentRuntimeFlowAliasIdentifier": { "index": 4, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow alias to invoke. Overrides the flowAliasIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLO [...]
- "CamelAwsBedrockAgentRuntimeFlowEnableTrace": { "index": 5, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Enables tracing for the flow invocation. When set, overrides the enableTrace option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_ENABLE_TRACE" },
- "CamelAwsBedrockAgentRuntimeFlowExecutionId": { "index": 6, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of an in-progress flow execution to continue. Used for multi-turn flow conversations.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_EXECUTI [...]
- "CamelAwsBedrockAgentRuntimeFlowOutputs": { "index": 7, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the list of FlowOutputEvent emitted by the flow.", "constantName": "org.apache.camel.component. [...]
- "CamelAwsBedrockAgentRuntimeFlowTraces": { "index": 8, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow with tracing enabled, this header will contain the list of FlowTraceEvent emitted during execution.", "constantName": "org. [...]
- "CamelAwsBedrockAgentRuntimeFlowCompletionReason": { "index": 9, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the reason the flow completed (set when a FlowCompletionEvent is received).", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeCo [...]
- "CamelAwsBedrockAgentRuntimeRetrievedResults": { "index": 10, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.KnowledgeBaseRetrievalResult>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When performing a retrieve operation, this header will contain the list of KnowledgeBaseRetrievalResult chunks returned by [...]
- "CamelAwsBedrockAgentRuntimeNumberOfResults": { "index": 11, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Overrides the maximum number of results returned by the retrieve operation. Must be a positive Integer; when not set the AWS service default is used.", "constantName": "org.apache.camel.component.aws2.bedrock.agentrunti [...]
- "CamelAwsBedrockAgentRuntimeSearchType": { "index": 12, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Overrides the search type used by the retrieve operation. Accepts the AWS SearchType enum (HYBRID, SEMANTIC) or its String representation.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRu [...]
- "CamelAwsBedrockAgentRuntimeNextToken": { "index": 13, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Pagination token used by the retrieve operation. Set on the in-message to request the next page; set on the out-message when the response carries one.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.Bed [...]
- "CamelAwsBedrockAgentRuntimeRetrieveGuardrailAction": { "index": 14, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When performing a retrieve operation, this header will contain the guardrail action (if any) applied by the knowledge base.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRunt [...]
+ "CamelAwsBedrockAgentRuntimeAgentId": { "index": 3, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the agent to invoke. Overrides the agentId configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_ID" },
+ "CamelAwsBedrockAgentRuntimeAgentAliasId": { "index": 4, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the agent alias to invoke. Overrides the agentAliasId configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_ALIAS_ID" },
+ "CamelAwsBedrockAgentRuntimeAgentEnableTrace": { "index": 5, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Enables tracing for the agent invocation. When set, overrides the enableTrace option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_ENABLE_TRACE" },
+ "CamelAwsBedrockAgentRuntimeAgentEndSession": { "index": 6, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Ends the agent session after this invocation.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_END_SESSION" },
+ "CamelAwsBedrockAgentRuntimeAgentMemoryId": { "index": 7, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the agent memory to use across sessions.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_MEMORY_ID" },
+ "CamelAwsBedrockAgentRuntimeAgentStreamOutputMode": { "index": 8, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The streaming output mode (complete or chunks) for an agent invocation. When set, overrides the streamOutputMode option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.Bedroc [...]
+ "CamelAwsBedrockAgentRuntimeAgentFoundationModel": { "index": 9, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The foundation model used by an inline agent. Overrides the foundationModel configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_FOUND [...]
+ "CamelAwsBedrockAgentRuntimeAgentInstruction": { "index": 10, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The instruction given to an inline agent. Overrides the instruction configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_INSTRUCTION" },
+ "CamelAwsBedrockAgentRuntimeAgentTraces": { "index": 11, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking an agent with tracing enabled, this header will contain the list of TracePart emitted during the invocation. The elements are TracePart for invokeAgent and InlineAgentTracePart for invokeInlineAgent.", [...]
+ "CamelAwsBedrockAgentRuntimeAgentReturnControl": { "index": 12, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When an agent invocation requires the caller to fulfil an action, this header will contain the list of return-control payloads emitted by the agent. The elements are ReturnControlPayload for invokeAgent and In [...]
+ "CamelAwsBedrockAgentRuntimeAgentFiles": { "index": 13, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When an agent invocation returns files, this header will contain the files emitted by the agent. The elements are FilePart for invokeAgent and InlineAgentFilePart for invokeInlineAgent.", "constantName": "org.apache.c [...]
+ "CamelAwsBedrockAgentRuntimeFlowIdentifier": { "index": 14, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow to invoke. Overrides the flowIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_IDENTIFIER" },
+ "CamelAwsBedrockAgentRuntimeFlowAliasIdentifier": { "index": 15, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow alias to invoke. Overrides the flowAliasIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FL [...]
+ "CamelAwsBedrockAgentRuntimeFlowEnableTrace": { "index": 16, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Enables tracing for the flow invocation. When set, overrides the enableTrace option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_ENABLE_TRACE" },
+ "CamelAwsBedrockAgentRuntimeFlowExecutionId": { "index": 17, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of an in-progress flow execution to continue. Used for multi-turn flow conversations.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_EXECUT [...]
+ "CamelAwsBedrockAgentRuntimeFlowOutputs": { "index": 18, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the list of FlowOutputEvent emitted by the flow.", "constantName": "org.apache.camel.component [...]
+ "CamelAwsBedrockAgentRuntimeFlowTraces": { "index": 19, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow with tracing enabled, this header will contain the list of FlowTraceEvent emitted during execution.", "constantName": "org [...]
+ "CamelAwsBedrockAgentRuntimeFlowCompletionReason": { "index": 20, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the reason the flow completed (set when a FlowCompletionEvent is received).", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeC [...]
+ "CamelAwsBedrockAgentRuntimeRetrievedResults": { "index": 21, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.KnowledgeBaseRetrievalResult>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When performing a retrieve operation, this header will contain the list of KnowledgeBaseRetrievalResult chunks returned by [...]
+ "CamelAwsBedrockAgentRuntimeNumberOfResults": { "index": 22, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Overrides the maximum number of results returned by the retrieve operation. Must be a positive Integer; when not set the AWS service default is used.", "constantName": "org.apache.camel.component.aws2.bedrock.agentrunti [...]
+ "CamelAwsBedrockAgentRuntimeSearchType": { "index": 23, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Overrides the search type used by the retrieve operation. Accepts the AWS SearchType enum (HYBRID, SEMANTIC) or its String representation.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRu [...]
+ "CamelAwsBedrockAgentRuntimeNextToken": { "index": 24, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Pagination token used by the retrieve operation. Set on the in-message to request the next page; set on the out-message when the response carries one.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.Bed [...]
+ "CamelAwsBedrockAgentRuntimeRetrieveGuardrailAction": { "index": 25, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When performing a retrieve operation, this header will contain the guardrail action (if any) applied by the knowledge base.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRunt [...]
},
"properties": {
"label": { "index": 0, "kind": "path", "displayName": "Label", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agent.BedrockAgentConfiguration", "configurationField": "configuration", "description": "Logical name" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-bedrock-agent-runtime-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-bedrock-agent-runtime-component.adoc
index 32c2e143c7b8..83b1e1e2f520 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-bedrock-agent-runtime-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-bedrock-agent-runtime-component.adoc
@@ -57,6 +57,8 @@ The component supports the following operations on the `operation` URI option:
* `retrieveAndGenerate` — Query a Bedrock Knowledge Base and generate a grounded response from the selected model.
* `retrieve` — Run a semantic search against a Bedrock Knowledge Base and return the matched chunks without LLM generation.
* `invokeFlow` — Invoke a Bedrock Flow by id/alias and stream the resulting events back as Camel message headers.
+* `invokeAgent` — Invoke a deployed Bedrock Agent by id/alias and stream the response back.
+* `invokeInlineAgent` — Invoke an agent defined inline at invocation time (foundation model plus instruction).
=== Retrieving from a Bedrock Knowledge Base
@@ -118,6 +120,64 @@ The producer collects emitted events into headers:
The out-message body is the document of the last `FlowOutputEvent` (decoded as `String` when the document is a string,
otherwise the raw `Document`). When the flow emits no outputs, the body is left untouched.
+=== Invoking a Bedrock Agent
+
+The `invokeAgent` operation invokes a deployed Bedrock Agent. Like `invokeFlow` it uses the AWS SDK async client, and
+the producer transparently allocates a `BedrockAgentRuntimeAsyncClient` when the endpoint is configured with
+`operation=invokeAgent`.
+
+Mandatory options:
+
+* `agentId` — the unique id of the agent to invoke (overridable via the `CamelAwsBedrockAgentRuntimeAgentId` header).
+* `agentAliasId` — the unique id of the agent alias (overridable via the
+ `CamelAwsBedrockAgentRuntimeAgentAliasId` header).
+
+The in-message body is the input text sent to the agent. When `pojoRequest=true`, the body must be an
+`InvokeAgentRequest` and is sent unchanged.
+
+The agent APIs are session based. Set `sessionId` on the endpoint, or the `CamelAwsBedrockAgentRuntimeSessionId`
+header, to continue an existing conversation; when neither is supplied a random session id is generated for the
+invocation. The session id used is always echoed back on the `CamelAwsBedrockAgentRuntimeSessionId` header of the
+out-message so a route can reuse it on the next call.
+
+[source,java]
+----
+from("direct:agent")
+ .to("aws-bedrock-agent-runtime://label?operation=invokeAgent&agentId=RAWAGENTID&agentAliasId=RAWALIASID");
+----
+
+=== Invoking an inline Bedrock Agent
+
+The `invokeInlineAgent` operation defines the agent at invocation time instead of referencing a deployed one.
+
+Mandatory options:
+
+* `foundationModel` — the model backing the agent (overridable via the
+ `CamelAwsBedrockAgentRuntimeAgentFoundationModel` header).
+* `instruction` — the instruction given to the agent (overridable via the
+ `CamelAwsBedrockAgentRuntimeAgentInstruction` header).
+
+For the richer inline options (action groups, knowledge bases, collaborators, guardrails), set `pojoRequest=true` and
+send an `InvokeInlineAgentRequest` body, which is passed to AWS unchanged.
+
+=== Agent response and streaming output
+
+Both agent operations stream their response. The producer collects the emitted events into headers:
+
+* `CamelAwsBedrockAgentRuntimeAgentTraces` — the trace events (only when tracing is enabled via `enableTrace` or the
+ `CamelAwsBedrockAgentRuntimeAgentEnableTrace` header).
+* `CamelAwsBedrockAgentRuntimeAgentReturnControl` — the return-control payloads, emitted when the agent asks the
+ caller to fulfil an action.
+* `CamelAwsBedrockAgentRuntimeAgentFiles` — the files emitted by the agent.
+* `CamelAwsBedrockAgentRuntimeCitations` — the citations attributed to the response chunks.
+
+The out-message body depends on `streamOutputMode`:
+
+* `complete` (the default) — the response chunks are accumulated and the body is the full text as a `String`.
+* `chunks` — the body is the `List<String>` of individual chunks.
+
+The mode can be overridden per exchange with the `CamelAwsBedrockAgentRuntimeAgentStreamOutputMode` header.
+
=== Static credentials, Default Credential Provider and Profile Credentials Provider
You have the possibility of avoiding the usage of explicit static credentials by specifying the useDefaultCredentialsProvider option and set it to true.
diff --git a/components/camel-aws/camel-aws-bedrock/pom.xml b/components/camel-aws/camel-aws-bedrock/pom.xml
index f8191c204d92..957461f82318 100644
--- a/components/camel-aws/camel-aws-bedrock/pom.xml
+++ b/components/camel-aws/camel-aws-bedrock/pom.xml
@@ -107,5 +107,10 @@
<version>${mockito-version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
diff --git a/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeComponentConfigurer.java b/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeComponentConfigurer.java
index c4e5ed6614ec..48443f0c3515 100644
--- a/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeComponentConfigurer.java
+++ b/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeComponentConfigurer.java
@@ -32,6 +32,10 @@ public class BedrockAgentRuntimeComponentConfigurer extends PropertyConfigurerSu
switch (ignoreCase ? name.toLowerCase() : name) {
case "accesskey":
case "accessKey": getOrCreateConfiguration(target).setAccessKey(property(camelContext, java.lang.String.class, value)); return true;
+ case "agentaliasid":
+ case "agentAliasId": getOrCreateConfiguration(target).setAgentAliasId(property(camelContext, java.lang.String.class, value)); return true;
+ case "agentid":
+ case "agentId": getOrCreateConfiguration(target).setAgentId(property(camelContext, java.lang.String.class, value)); return true;
case "autowiredenabled":
case "autowiredEnabled": target.setAutowiredEnabled(property(camelContext, boolean.class, value)); return true;
case "bedrockagentruntimeasyncclient":
@@ -45,10 +49,13 @@ public class BedrockAgentRuntimeComponentConfigurer extends PropertyConfigurerSu
case "flowAliasIdentifier": getOrCreateConfiguration(target).setFlowAliasIdentifier(property(camelContext, java.lang.String.class, value)); return true;
case "flowidentifier":
case "flowIdentifier": getOrCreateConfiguration(target).setFlowIdentifier(property(camelContext, java.lang.String.class, value)); return true;
+ case "foundationmodel":
+ case "foundationModel": getOrCreateConfiguration(target).setFoundationModel(property(camelContext, java.lang.String.class, value)); return true;
case "healthcheckconsumerenabled":
case "healthCheckConsumerEnabled": target.setHealthCheckConsumerEnabled(property(camelContext, boolean.class, value)); return true;
case "healthcheckproducerenabled":
case "healthCheckProducerEnabled": target.setHealthCheckProducerEnabled(property(camelContext, boolean.class, value)); return true;
+ case "instruction": getOrCreateConfiguration(target).setInstruction(property(camelContext, java.lang.String.class, value)); return true;
case "knowledgebaseid":
case "knowledgeBaseId": getOrCreateConfiguration(target).setKnowledgeBaseId(property(camelContext, java.lang.String.class, value)); return true;
case "lazystartproducer":
@@ -71,8 +78,12 @@ public class BedrockAgentRuntimeComponentConfigurer extends PropertyConfigurerSu
case "region": getOrCreateConfiguration(target).setRegion(property(camelContext, java.lang.String.class, value)); return true;
case "secretkey":
case "secretKey": getOrCreateConfiguration(target).setSecretKey(property(camelContext, java.lang.String.class, value)); return true;
+ case "sessionid":
+ case "sessionId": getOrCreateConfiguration(target).setSessionId(property(camelContext, java.lang.String.class, value)); return true;
case "sessiontoken":
case "sessionToken": getOrCreateConfiguration(target).setSessionToken(property(camelContext, java.lang.String.class, value)); return true;
+ case "streamoutputmode":
+ case "streamOutputMode": getOrCreateConfiguration(target).setStreamOutputMode(property(camelContext, java.lang.String.class, value)); return true;
case "trustallcertificates":
case "trustAllCertificates": getOrCreateConfiguration(target).setTrustAllCertificates(property(camelContext, boolean.class, value)); return true;
case "uriendpointoverride":
@@ -97,6 +108,10 @@ public class BedrockAgentRuntimeComponentConfigurer extends PropertyConfigurerSu
switch (ignoreCase ? name.toLowerCase() : name) {
case "accesskey":
case "accessKey": return java.lang.String.class;
+ case "agentaliasid":
+ case "agentAliasId": return java.lang.String.class;
+ case "agentid":
+ case "agentId": return java.lang.String.class;
case "autowiredenabled":
case "autowiredEnabled": return boolean.class;
case "bedrockagentruntimeasyncclient":
@@ -110,10 +125,13 @@ public class BedrockAgentRuntimeComponentConfigurer extends PropertyConfigurerSu
case "flowAliasIdentifier": return java.lang.String.class;
case "flowidentifier":
case "flowIdentifier": return java.lang.String.class;
+ case "foundationmodel":
+ case "foundationModel": return java.lang.String.class;
case "healthcheckconsumerenabled":
case "healthCheckConsumerEnabled": return boolean.class;
case "healthcheckproducerenabled":
case "healthCheckProducerEnabled": return boolean.class;
+ case "instruction": return java.lang.String.class;
case "knowledgebaseid":
case "knowledgeBaseId": return java.lang.String.class;
case "lazystartproducer":
@@ -136,8 +154,12 @@ public class BedrockAgentRuntimeComponentConfigurer extends PropertyConfigurerSu
case "region": return java.lang.String.class;
case "secretkey":
case "secretKey": return java.lang.String.class;
+ case "sessionid":
+ case "sessionId": return java.lang.String.class;
case "sessiontoken":
case "sessionToken": return java.lang.String.class;
+ case "streamoutputmode":
+ case "streamOutputMode": return java.lang.String.class;
case "trustallcertificates":
case "trustAllCertificates": return boolean.class;
case "uriendpointoverride":
@@ -158,6 +180,10 @@ public class BedrockAgentRuntimeComponentConfigurer extends PropertyConfigurerSu
switch (ignoreCase ? name.toLowerCase() : name) {
case "accesskey":
case "accessKey": return getOrCreateConfiguration(target).getAccessKey();
+ case "agentaliasid":
+ case "agentAliasId": return getOrCreateConfiguration(target).getAgentAliasId();
+ case "agentid":
+ case "agentId": return getOrCreateConfiguration(target).getAgentId();
case "autowiredenabled":
case "autowiredEnabled": return target.isAutowiredEnabled();
case "bedrockagentruntimeasyncclient":
@@ -171,10 +197,13 @@ public class BedrockAgentRuntimeComponentConfigurer extends PropertyConfigurerSu
case "flowAliasIdentifier": return getOrCreateConfiguration(target).getFlowAliasIdentifier();
case "flowidentifier":
case "flowIdentifier": return getOrCreateConfiguration(target).getFlowIdentifier();
+ case "foundationmodel":
+ case "foundationModel": return getOrCreateConfiguration(target).getFoundationModel();
case "healthcheckconsumerenabled":
case "healthCheckConsumerEnabled": return target.isHealthCheckConsumerEnabled();
case "healthcheckproducerenabled":
case "healthCheckProducerEnabled": return target.isHealthCheckProducerEnabled();
+ case "instruction": return getOrCreateConfiguration(target).getInstruction();
case "knowledgebaseid":
case "knowledgeBaseId": return getOrCreateConfiguration(target).getKnowledgeBaseId();
case "lazystartproducer":
@@ -197,8 +226,12 @@ public class BedrockAgentRuntimeComponentConfigurer extends PropertyConfigurerSu
case "region": return getOrCreateConfiguration(target).getRegion();
case "secretkey":
case "secretKey": return getOrCreateConfiguration(target).getSecretKey();
+ case "sessionid":
+ case "sessionId": return getOrCreateConfiguration(target).getSessionId();
case "sessiontoken":
case "sessionToken": return getOrCreateConfiguration(target).getSessionToken();
+ case "streamoutputmode":
+ case "streamOutputMode": return getOrCreateConfiguration(target).getStreamOutputMode();
case "trustallcertificates":
case "trustAllCertificates": return getOrCreateConfiguration(target).isTrustAllCertificates();
case "uriendpointoverride":
diff --git a/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointConfigurer.java b/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointConfigurer.java
index dee54f0400c6..bba9657881cd 100644
--- a/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointConfigurer.java
+++ b/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointConfigurer.java
@@ -25,6 +25,10 @@ public class BedrockAgentRuntimeEndpointConfigurer extends PropertyConfigurerSup
switch (ignoreCase ? name.toLowerCase() : name) {
case "accesskey":
case "accessKey": target.getConfiguration().setAccessKey(property(camelContext, java.lang.String.class, value)); return true;
+ case "agentaliasid":
+ case "agentAliasId": target.getConfiguration().setAgentAliasId(property(camelContext, java.lang.String.class, value)); return true;
+ case "agentid":
+ case "agentId": target.getConfiguration().setAgentId(property(camelContext, java.lang.String.class, value)); return true;
case "bedrockagentruntimeasyncclient":
case "bedrockAgentRuntimeAsyncClient": target.getConfiguration().setBedrockAgentRuntimeAsyncClient(property(camelContext, software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient.class, value)); return true;
case "bedrockagentruntimeclient":
@@ -35,6 +39,9 @@ public class BedrockAgentRuntimeEndpointConfigurer extends PropertyConfigurerSup
case "flowAliasIdentifier": target.getConfiguration().setFlowAliasIdentifier(property(camelContext, java.lang.String.class, value)); return true;
case "flowidentifier":
case "flowIdentifier": target.getConfiguration().setFlowIdentifier(property(camelContext, java.lang.String.class, value)); return true;
+ case "foundationmodel":
+ case "foundationModel": target.getConfiguration().setFoundationModel(property(camelContext, java.lang.String.class, value)); return true;
+ case "instruction": target.getConfiguration().setInstruction(property(camelContext, java.lang.String.class, value)); return true;
case "knowledgebaseid":
case "knowledgeBaseId": target.getConfiguration().setKnowledgeBaseId(property(camelContext, java.lang.String.class, value)); return true;
case "lazystartproducer":
@@ -57,8 +64,12 @@ public class BedrockAgentRuntimeEndpointConfigurer extends PropertyConfigurerSup
case "region": target.getConfiguration().setRegion(property(camelContext, java.lang.String.class, value)); return true;
case "secretkey":
case "secretKey": target.getConfiguration().setSecretKey(property(camelContext, java.lang.String.class, value)); return true;
+ case "sessionid":
+ case "sessionId": target.getConfiguration().setSessionId(property(camelContext, java.lang.String.class, value)); return true;
case "sessiontoken":
case "sessionToken": target.getConfiguration().setSessionToken(property(camelContext, java.lang.String.class, value)); return true;
+ case "streamoutputmode":
+ case "streamOutputMode": target.getConfiguration().setStreamOutputMode(property(camelContext, java.lang.String.class, value)); return true;
case "trustallcertificates":
case "trustAllCertificates": target.getConfiguration().setTrustAllCertificates(property(camelContext, boolean.class, value)); return true;
case "uriendpointoverride":
@@ -83,6 +94,10 @@ public class BedrockAgentRuntimeEndpointConfigurer extends PropertyConfigurerSup
switch (ignoreCase ? name.toLowerCase() : name) {
case "accesskey":
case "accessKey": return java.lang.String.class;
+ case "agentaliasid":
+ case "agentAliasId": return java.lang.String.class;
+ case "agentid":
+ case "agentId": return java.lang.String.class;
case "bedrockagentruntimeasyncclient":
case "bedrockAgentRuntimeAsyncClient": return software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient.class;
case "bedrockagentruntimeclient":
@@ -93,6 +108,9 @@ public class BedrockAgentRuntimeEndpointConfigurer extends PropertyConfigurerSup
case "flowAliasIdentifier": return java.lang.String.class;
case "flowidentifier":
case "flowIdentifier": return java.lang.String.class;
+ case "foundationmodel":
+ case "foundationModel": return java.lang.String.class;
+ case "instruction": return java.lang.String.class;
case "knowledgebaseid":
case "knowledgeBaseId": return java.lang.String.class;
case "lazystartproducer":
@@ -115,8 +133,12 @@ public class BedrockAgentRuntimeEndpointConfigurer extends PropertyConfigurerSup
case "region": return java.lang.String.class;
case "secretkey":
case "secretKey": return java.lang.String.class;
+ case "sessionid":
+ case "sessionId": return java.lang.String.class;
case "sessiontoken":
case "sessionToken": return java.lang.String.class;
+ case "streamoutputmode":
+ case "streamOutputMode": return java.lang.String.class;
case "trustallcertificates":
case "trustAllCertificates": return boolean.class;
case "uriendpointoverride":
@@ -137,6 +159,10 @@ public class BedrockAgentRuntimeEndpointConfigurer extends PropertyConfigurerSup
switch (ignoreCase ? name.toLowerCase() : name) {
case "accesskey":
case "accessKey": return target.getConfiguration().getAccessKey();
+ case "agentaliasid":
+ case "agentAliasId": return target.getConfiguration().getAgentAliasId();
+ case "agentid":
+ case "agentId": return target.getConfiguration().getAgentId();
case "bedrockagentruntimeasyncclient":
case "bedrockAgentRuntimeAsyncClient": return target.getConfiguration().getBedrockAgentRuntimeAsyncClient();
case "bedrockagentruntimeclient":
@@ -147,6 +173,9 @@ public class BedrockAgentRuntimeEndpointConfigurer extends PropertyConfigurerSup
case "flowAliasIdentifier": return target.getConfiguration().getFlowAliasIdentifier();
case "flowidentifier":
case "flowIdentifier": return target.getConfiguration().getFlowIdentifier();
+ case "foundationmodel":
+ case "foundationModel": return target.getConfiguration().getFoundationModel();
+ case "instruction": return target.getConfiguration().getInstruction();
case "knowledgebaseid":
case "knowledgeBaseId": return target.getConfiguration().getKnowledgeBaseId();
case "lazystartproducer":
@@ -169,8 +198,12 @@ public class BedrockAgentRuntimeEndpointConfigurer extends PropertyConfigurerSup
case "region": return target.getConfiguration().getRegion();
case "secretkey":
case "secretKey": return target.getConfiguration().getSecretKey();
+ case "sessionid":
+ case "sessionId": return target.getConfiguration().getSessionId();
case "sessiontoken":
case "sessionToken": return target.getConfiguration().getSessionToken();
+ case "streamoutputmode":
+ case "streamOutputMode": return target.getConfiguration().getStreamOutputMode();
case "trustallcertificates":
case "trustAllCertificates": return target.getConfiguration().isTrustAllCertificates();
case "uriendpointoverride":
diff --git a/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointUriFactory.java b/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointUriFactory.java
index f8842c55d665..ad850d430f87 100644
--- a/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointUriFactory.java
+++ b/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointUriFactory.java
@@ -24,13 +24,17 @@ public class BedrockAgentRuntimeEndpointUriFactory extends org.apache.camel.supp
private static final Set<String> ENDPOINT_IDENTITY_PROPERTY_NAMES;
private static final Map<String, String> MULTI_VALUE_PREFIXES;
static {
- Set<String> props = new HashSet<>(25);
+ Set<String> props = new HashSet<>(31);
props.add("accessKey");
+ props.add("agentAliasId");
+ props.add("agentId");
props.add("bedrockAgentRuntimeAsyncClient");
props.add("bedrockAgentRuntimeClient");
props.add("enableTrace");
props.add("flowAliasIdentifier");
props.add("flowIdentifier");
+ props.add("foundationModel");
+ props.add("instruction");
props.add("knowledgeBaseId");
props.add("label");
props.add("lazyStartProducer");
@@ -44,7 +48,9 @@ public class BedrockAgentRuntimeEndpointUriFactory extends org.apache.camel.supp
props.add("proxyProtocol");
props.add("region");
props.add("secretKey");
+ props.add("sessionId");
props.add("sessionToken");
+ props.add("streamOutputMode");
props.add("trustAllCertificates");
props.add("uriEndpointOverride");
props.add("useDefaultCredentialsProvider");
diff --git a/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agent/aws-bedrock-agent.json b/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agent/aws-bedrock-agent.json
index bdb31a25e539..975fae15f0b0 100644
--- a/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agent/aws-bedrock-agent.json
+++ b/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agent/aws-bedrock-agent.json
@@ -55,18 +55,29 @@
"CamelAwsBedrockAgentRuntimeOperation": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation we want to perform", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#OPERATION" },
"CamelAwsBedrockAgentRuntimeCitations": { "index": 1, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain the citations", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#CITATIONS" },
"CamelAwsBedrockAgentRuntimeSessionId": { "index": 2, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain he unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.", "constantName": "org.apache.camel.component.a [...]
- "CamelAwsBedrockAgentRuntimeFlowIdentifier": { "index": 3, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow to invoke. Overrides the flowIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_IDENTIFIER" },
- "CamelAwsBedrockAgentRuntimeFlowAliasIdentifier": { "index": 4, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow alias to invoke. Overrides the flowAliasIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLO [...]
- "CamelAwsBedrockAgentRuntimeFlowEnableTrace": { "index": 5, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Enables tracing for the flow invocation. When set, overrides the enableTrace option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_ENABLE_TRACE" },
- "CamelAwsBedrockAgentRuntimeFlowExecutionId": { "index": 6, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of an in-progress flow execution to continue. Used for multi-turn flow conversations.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_EXECUTI [...]
- "CamelAwsBedrockAgentRuntimeFlowOutputs": { "index": 7, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the list of FlowOutputEvent emitted by the flow.", "constantName": "org.apache.camel.component. [...]
- "CamelAwsBedrockAgentRuntimeFlowTraces": { "index": 8, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow with tracing enabled, this header will contain the list of FlowTraceEvent emitted during execution.", "constantName": "org. [...]
- "CamelAwsBedrockAgentRuntimeFlowCompletionReason": { "index": 9, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the reason the flow completed (set when a FlowCompletionEvent is received).", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeCo [...]
- "CamelAwsBedrockAgentRuntimeRetrievedResults": { "index": 10, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.KnowledgeBaseRetrievalResult>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When performing a retrieve operation, this header will contain the list of KnowledgeBaseRetrievalResult chunks returned by [...]
- "CamelAwsBedrockAgentRuntimeNumberOfResults": { "index": 11, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Overrides the maximum number of results returned by the retrieve operation. Must be a positive Integer; when not set the AWS service default is used.", "constantName": "org.apache.camel.component.aws2.bedrock.agentrunti [...]
- "CamelAwsBedrockAgentRuntimeSearchType": { "index": 12, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Overrides the search type used by the retrieve operation. Accepts the AWS SearchType enum (HYBRID, SEMANTIC) or its String representation.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRu [...]
- "CamelAwsBedrockAgentRuntimeNextToken": { "index": 13, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Pagination token used by the retrieve operation. Set on the in-message to request the next page; set on the out-message when the response carries one.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.Bed [...]
- "CamelAwsBedrockAgentRuntimeRetrieveGuardrailAction": { "index": 14, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When performing a retrieve operation, this header will contain the guardrail action (if any) applied by the knowledge base.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRunt [...]
+ "CamelAwsBedrockAgentRuntimeAgentId": { "index": 3, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the agent to invoke. Overrides the agentId configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_ID" },
+ "CamelAwsBedrockAgentRuntimeAgentAliasId": { "index": 4, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the agent alias to invoke. Overrides the agentAliasId configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_ALIAS_ID" },
+ "CamelAwsBedrockAgentRuntimeAgentEnableTrace": { "index": 5, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Enables tracing for the agent invocation. When set, overrides the enableTrace option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_ENABLE_TRACE" },
+ "CamelAwsBedrockAgentRuntimeAgentEndSession": { "index": 6, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Ends the agent session after this invocation.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_END_SESSION" },
+ "CamelAwsBedrockAgentRuntimeAgentMemoryId": { "index": 7, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the agent memory to use across sessions.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_MEMORY_ID" },
+ "CamelAwsBedrockAgentRuntimeAgentStreamOutputMode": { "index": 8, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The streaming output mode (complete or chunks) for an agent invocation. When set, overrides the streamOutputMode option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.Bedroc [...]
+ "CamelAwsBedrockAgentRuntimeAgentFoundationModel": { "index": 9, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The foundation model used by an inline agent. Overrides the foundationModel configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_FOUND [...]
+ "CamelAwsBedrockAgentRuntimeAgentInstruction": { "index": 10, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The instruction given to an inline agent. Overrides the instruction configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_INSTRUCTION" },
+ "CamelAwsBedrockAgentRuntimeAgentTraces": { "index": 11, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking an agent with tracing enabled, this header will contain the list of TracePart emitted during the invocation. The elements are TracePart for invokeAgent and InlineAgentTracePart for invokeInlineAgent.", [...]
+ "CamelAwsBedrockAgentRuntimeAgentReturnControl": { "index": 12, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When an agent invocation requires the caller to fulfil an action, this header will contain the list of return-control payloads emitted by the agent. The elements are ReturnControlPayload for invokeAgent and In [...]
+ "CamelAwsBedrockAgentRuntimeAgentFiles": { "index": 13, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When an agent invocation returns files, this header will contain the files emitted by the agent. The elements are FilePart for invokeAgent and InlineAgentFilePart for invokeInlineAgent.", "constantName": "org.apache.c [...]
+ "CamelAwsBedrockAgentRuntimeFlowIdentifier": { "index": 14, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow to invoke. Overrides the flowIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_IDENTIFIER" },
+ "CamelAwsBedrockAgentRuntimeFlowAliasIdentifier": { "index": 15, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow alias to invoke. Overrides the flowAliasIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FL [...]
+ "CamelAwsBedrockAgentRuntimeFlowEnableTrace": { "index": 16, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Enables tracing for the flow invocation. When set, overrides the enableTrace option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_ENABLE_TRACE" },
+ "CamelAwsBedrockAgentRuntimeFlowExecutionId": { "index": 17, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of an in-progress flow execution to continue. Used for multi-turn flow conversations.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_EXECUT [...]
+ "CamelAwsBedrockAgentRuntimeFlowOutputs": { "index": 18, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the list of FlowOutputEvent emitted by the flow.", "constantName": "org.apache.camel.component [...]
+ "CamelAwsBedrockAgentRuntimeFlowTraces": { "index": 19, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow with tracing enabled, this header will contain the list of FlowTraceEvent emitted during execution.", "constantName": "org [...]
+ "CamelAwsBedrockAgentRuntimeFlowCompletionReason": { "index": 20, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the reason the flow completed (set when a FlowCompletionEvent is received).", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeC [...]
+ "CamelAwsBedrockAgentRuntimeRetrievedResults": { "index": 21, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.KnowledgeBaseRetrievalResult>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When performing a retrieve operation, this header will contain the list of KnowledgeBaseRetrievalResult chunks returned by [...]
+ "CamelAwsBedrockAgentRuntimeNumberOfResults": { "index": 22, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Overrides the maximum number of results returned by the retrieve operation. Must be a positive Integer; when not set the AWS service default is used.", "constantName": "org.apache.camel.component.aws2.bedrock.agentrunti [...]
+ "CamelAwsBedrockAgentRuntimeSearchType": { "index": 23, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Overrides the search type used by the retrieve operation. Accepts the AWS SearchType enum (HYBRID, SEMANTIC) or its String representation.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRu [...]
+ "CamelAwsBedrockAgentRuntimeNextToken": { "index": 24, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Pagination token used by the retrieve operation. Set on the in-message to request the next page; set on the out-message when the response carries one.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.Bed [...]
+ "CamelAwsBedrockAgentRuntimeRetrieveGuardrailAction": { "index": 25, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When performing a retrieve operation, this header will contain the guardrail action (if any) applied by the knowledge base.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRunt [...]
},
"properties": {
"label": { "index": 0, "kind": "path", "displayName": "Label", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agent.BedrockAgentConfiguration", "configurationField": "configuration", "description": "Logical name" },
diff --git a/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agentruntime/aws-bedrock-agent-runtime.json b/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agentruntime/aws-bedrock-agent-runtime.json
index e49f62ba10e8..d35a041658e6 100644
--- a/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agentruntime/aws-bedrock-agent-runtime.json
+++ b/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agentruntime/aws-bedrock-agent-runtime.json
@@ -28,7 +28,7 @@
"knowledgeBaseId": { "index": 1, "kind": "property", "displayName": "Knowledge Base Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Define the Knowledge Base Id we are going to use" },
"lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail [...]
"modelId": { "index": 3, "kind": "property", "displayName": "Model Id", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "java.lang.String", "enum": [ "amazon.titan-text-express-v1", "amazon.titan-text-lite-v1", "amazon.titan-image-generator-v1", "amazon.titan-embed-text-v1", "amazon.titan-embed-image-v1", "amazon.titan-text-premier-v1:0", "amazon.titan-embed-text-v2:0", "amazon.titan-image-generator-v2:0", "amazon.nova-canvas-v1:0", "amazon.nova-lite-v [...]
- "operation": { "index": 4, "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate", "invokeFlow", "retrieve" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfigurat [...]
+ "operation": { "index": 4, "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate", "invokeFlow", "invokeAgent", "invokeInlineAgent", "retrieve" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentr [...]
"overrideEndpoint": { "index": 5, "kind": "property", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set the need for overriding the endpoint. This option ne [...]
"pojoRequest": { "index": 6, "kind": "property", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want to use a POJO request as body or not" },
"profileCredentialsName": { "index": 7, "kind": "property", "displayName": "Profile Credentials Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If using a profile credentials pr [...]
@@ -39,42 +39,59 @@
"autowiredEnabled": { "index": 12, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching [...]
"bedrockAgentRuntimeAsyncClient": { "index": 13, "kind": "property", "displayName": "Bedrock Agent Runtime Async Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration" [...]
"bedrockAgentRuntimeClient": { "index": 14, "kind": "property", "displayName": "Bedrock Agent Runtime Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configuration [...]
- "enableTrace": { "index": 15, "kind": "property", "displayName": "Enable Trace", "group": "flow", "label": "flow", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Enables tracing for the invokeFlow operation. When enabled, the p [...]
- "flowAliasIdentifier": { "index": 16, "kind": "property", "displayName": "Flow Alias Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow alias to invoke (used [...]
- "flowIdentifier": { "index": 17, "kind": "property", "displayName": "Flow Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow to invoke (used by the invokeFlo [...]
- "healthCheckConsumerEnabled": { "index": 18, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
- "healthCheckProducerEnabled": { "index": 19, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on produce [...]
- "proxyHost": { "index": 20, "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" },
- "proxyPort": { "index": 21, "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" },
- "proxyProtocol": { "index": 22, "kind": "property", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To [...]
- "accessKey": { "index": 23, "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
- "secretKey": { "index": 24, "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
- "sessionToken": { "index": 25, "kind": "property", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user needs [...]
- "trustAllCertificates": { "index": 26, "kind": "property", "displayName": "Trust All Certificates", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want [...]
- "useSessionCredentials": { "index": 27, "kind": "property", "displayName": "Use Session Credentials", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Agent Runtim [...]
+ "agentAliasId": { "index": 15, "kind": "property", "displayName": "Agent Alias Id", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the agent alias to invoke, used by the invokeAgent [...]
+ "agentId": { "index": 16, "kind": "property", "displayName": "Agent Id", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the agent to invoke, used by the invokeAgent operation." },
+ "enableTrace": { "index": 17, "kind": "property", "displayName": "Enable Trace", "group": "agent", "label": "flow,agent", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Enables tracing for the invokeFlow and agent operations. W [...]
+ "foundationModel": { "index": 18, "kind": "property", "displayName": "Foundation Model", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The foundation model used by the invokeInlineAgent operation." },
+ "instruction": { "index": 19, "kind": "property", "displayName": "Instruction", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The instruction given to the agent defined by the invokeInlineAgent operation." },
+ "sessionId": { "index": 20, "kind": "property", "displayName": "Session Id", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the agent session. Reuse the same value across invocation [...]
+ "streamOutputMode": { "index": 21, "kind": "property", "displayName": "Stream Output Mode", "group": "agent", "label": "agent", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "complete", "chunks" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "complete", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The str [...]
+ "flowAliasIdentifier": { "index": 22, "kind": "property", "displayName": "Flow Alias Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow alias to invoke (used [...]
+ "flowIdentifier": { "index": 23, "kind": "property", "displayName": "Flow Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow to invoke (used by the invokeFlo [...]
+ "healthCheckConsumerEnabled": { "index": 24, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
+ "healthCheckProducerEnabled": { "index": 25, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on produce [...]
+ "proxyHost": { "index": 26, "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" },
+ "proxyPort": { "index": 27, "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" },
+ "proxyProtocol": { "index": 28, "kind": "property", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To [...]
+ "accessKey": { "index": 29, "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
+ "secretKey": { "index": 30, "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
+ "sessionToken": { "index": 31, "kind": "property", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user needs [...]
+ "trustAllCertificates": { "index": 32, "kind": "property", "displayName": "Trust All Certificates", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want [...]
+ "useSessionCredentials": { "index": 33, "kind": "property", "displayName": "Use Session Credentials", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Agent Runtim [...]
},
"headers": {
"CamelAwsBedrockAgentRuntimeOperation": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation we want to perform", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#OPERATION" },
"CamelAwsBedrockAgentRuntimeCitations": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain the citations", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#CITATIONS" },
"CamelAwsBedrockAgentRuntimeSessionId": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain he unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.", "constantName": "org.apache.camel.component [...]
- "CamelAwsBedrockAgentRuntimeFlowIdentifier": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow to invoke. Overrides the flowIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_IDENTIFIER" },
- "CamelAwsBedrockAgentRuntimeFlowAliasIdentifier": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow alias to invoke. Overrides the flowAliasIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#F [...]
- "CamelAwsBedrockAgentRuntimeFlowEnableTrace": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Enables tracing for the flow invocation. When set, overrides the enableTrace option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_ENABLE_TRACE" },
- "CamelAwsBedrockAgentRuntimeFlowExecutionId": { "index": 6, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of an in-progress flow execution to continue. Used for multi-turn flow conversations.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_EXECU [...]
- "CamelAwsBedrockAgentRuntimeFlowOutputs": { "index": 7, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the list of FlowOutputEvent emitted by the flow.", "constantName": "org.apache.camel.componen [...]
- "CamelAwsBedrockAgentRuntimeFlowTraces": { "index": 8, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow with tracing enabled, this header will contain the list of FlowTraceEvent emitted during execution.", "constantName": "or [...]
- "CamelAwsBedrockAgentRuntimeFlowCompletionReason": { "index": 9, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the reason the flow completed (set when a FlowCompletionEvent is received).", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntime [...]
- "CamelAwsBedrockAgentRuntimeRetrievedResults": { "index": 10, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.KnowledgeBaseRetrievalResult>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When performing a retrieve operation, this header will contain the list of KnowledgeBaseRetrievalResult chunks returned b [...]
- "CamelAwsBedrockAgentRuntimeNumberOfResults": { "index": 11, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Overrides the maximum number of results returned by the retrieve operation. Must be a positive Integer; when not set the AWS service default is used.", "constantName": "org.apache.camel.component.aws2.bedrock.agentrun [...]
- "CamelAwsBedrockAgentRuntimeSearchType": { "index": 12, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Overrides the search type used by the retrieve operation. Accepts the AWS SearchType enum (HYBRID, SEMANTIC) or its String representation.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgent [...]
- "CamelAwsBedrockAgentRuntimeNextToken": { "index": 13, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Pagination token used by the retrieve operation. Set on the in-message to request the next page; set on the out-message when the response carries one.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.B [...]
- "CamelAwsBedrockAgentRuntimeRetrieveGuardrailAction": { "index": 14, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When performing a retrieve operation, this header will contain the guardrail action (if any) applied by the knowledge base.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRu [...]
+ "CamelAwsBedrockAgentRuntimeAgentId": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the agent to invoke. Overrides the agentId configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_ID" },
+ "CamelAwsBedrockAgentRuntimeAgentAliasId": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the agent alias to invoke. Overrides the agentAliasId configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_ALIAS_ID" },
+ "CamelAwsBedrockAgentRuntimeAgentEnableTrace": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Enables tracing for the agent invocation. When set, overrides the enableTrace option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_ENABLE_T [...]
+ "CamelAwsBedrockAgentRuntimeAgentEndSession": { "index": 6, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Ends the agent session after this invocation.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_END_SESSION" },
+ "CamelAwsBedrockAgentRuntimeAgentMemoryId": { "index": 7, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the agent memory to use across sessions.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_MEMORY_ID" },
+ "CamelAwsBedrockAgentRuntimeAgentStreamOutputMode": { "index": 8, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The streaming output mode (complete or chunks) for an agent invocation. When set, overrides the streamOutputMode option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.Bedr [...]
+ "CamelAwsBedrockAgentRuntimeAgentFoundationModel": { "index": 9, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The foundation model used by an inline agent. Overrides the foundationModel configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_FOU [...]
+ "CamelAwsBedrockAgentRuntimeAgentInstruction": { "index": 10, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The instruction given to an inline agent. Overrides the instruction configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#AGENT_INSTRUCTION" },
+ "CamelAwsBedrockAgentRuntimeAgentTraces": { "index": 11, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking an agent with tracing enabled, this header will contain the list of TracePart emitted during the invocation. The elements are TracePart for invokeAgent and InlineAgentTracePart for invokeInlineAgent." [...]
+ "CamelAwsBedrockAgentRuntimeAgentReturnControl": { "index": 12, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When an agent invocation requires the caller to fulfil an action, this header will contain the list of return-control payloads emitted by the agent. The elements are ReturnControlPayload for invokeAgent and [...]
+ "CamelAwsBedrockAgentRuntimeAgentFiles": { "index": 13, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When an agent invocation returns files, this header will contain the files emitted by the agent. The elements are FilePart for invokeAgent and InlineAgentFilePart for invokeInlineAgent.", "constantName": "org.apache [...]
+ "CamelAwsBedrockAgentRuntimeFlowIdentifier": { "index": 14, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow to invoke. Overrides the flowIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_IDENTIFIER" },
+ "CamelAwsBedrockAgentRuntimeFlowAliasIdentifier": { "index": 15, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow alias to invoke. Overrides the flowAliasIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants# [...]
+ "CamelAwsBedrockAgentRuntimeFlowEnableTrace": { "index": 16, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Enables tracing for the flow invocation. When set, overrides the enableTrace option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_ENABLE_TRACE" },
+ "CamelAwsBedrockAgentRuntimeFlowExecutionId": { "index": 17, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of an in-progress flow execution to continue. Used for multi-turn flow conversations.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_EXEC [...]
+ "CamelAwsBedrockAgentRuntimeFlowOutputs": { "index": 18, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the list of FlowOutputEvent emitted by the flow.", "constantName": "org.apache.camel.compone [...]
+ "CamelAwsBedrockAgentRuntimeFlowTraces": { "index": 19, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow with tracing enabled, this header will contain the list of FlowTraceEvent emitted during execution.", "constantName": "o [...]
+ "CamelAwsBedrockAgentRuntimeFlowCompletionReason": { "index": 20, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the reason the flow completed (set when a FlowCompletionEvent is received).", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntim [...]
+ "CamelAwsBedrockAgentRuntimeRetrievedResults": { "index": 21, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.KnowledgeBaseRetrievalResult>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When performing a retrieve operation, this header will contain the list of KnowledgeBaseRetrievalResult chunks returned b [...]
+ "CamelAwsBedrockAgentRuntimeNumberOfResults": { "index": 22, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Overrides the maximum number of results returned by the retrieve operation. Must be a positive Integer; when not set the AWS service default is used.", "constantName": "org.apache.camel.component.aws2.bedrock.agentrun [...]
+ "CamelAwsBedrockAgentRuntimeSearchType": { "index": 23, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Overrides the search type used by the retrieve operation. Accepts the AWS SearchType enum (HYBRID, SEMANTIC) or its String representation.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgent [...]
+ "CamelAwsBedrockAgentRuntimeNextToken": { "index": 24, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Pagination token used by the retrieve operation. Set on the in-message to request the next page; set on the out-message when the response carries one.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.B [...]
+ "CamelAwsBedrockAgentRuntimeRetrieveGuardrailAction": { "index": 25, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When performing a retrieve operation, this header will contain the guardrail action (if any) applied by the knowledge base.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRu [...]
},
"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, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Logical name" },
"knowledgeBaseId": { "index": 1, "kind": "parameter", "displayName": "Knowledge Base Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Define the Knowledge Base Id we are going to use" },
"modelId": { "index": 2, "kind": "parameter", "displayName": "Model Id", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "java.lang.String", "enum": [ "amazon.titan-text-express-v1", "amazon.titan-text-lite-v1", "amazon.titan-image-generator-v1", "amazon.titan-embed-text-v1", "amazon.titan-embed-image-v1", "amazon.titan-text-premier-v1:0", "amazon.titan-embed-text-v2:0", "amazon.titan-image-generator-v2:0", "amazon.nova-canvas-v1:0", "amazon.nova-lite- [...]
- "operation": { "index": 3, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate", "invokeFlow", "retrieve" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfigura [...]
+ "operation": { "index": 3, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate", "invokeFlow", "invokeAgent", "invokeInlineAgent", "retrieve" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agent [...]
"overrideEndpoint": { "index": 4, "kind": "parameter", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set the need for overriding the endpoint. This option n [...]
"pojoRequest": { "index": 5, "kind": "parameter", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want to use a POJO request as body or not" },
"profileCredentialsName": { "index": 6, "kind": "parameter", "displayName": "Profile Credentials Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If using a profile credentials p [...]
@@ -85,16 +102,22 @@
"lazyStartProducer": { "index": 11, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
"bedrockAgentRuntimeAsyncClient": { "index": 12, "kind": "parameter", "displayName": "Bedrock Agent Runtime Async Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration [...]
"bedrockAgentRuntimeClient": { "index": 13, "kind": "parameter", "displayName": "Bedrock Agent Runtime Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configuratio [...]
- "enableTrace": { "index": 14, "kind": "parameter", "displayName": "Enable Trace", "group": "flow", "label": "flow", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Enables tracing for the invokeFlow operation. When enabled, the [...]
- "flowAliasIdentifier": { "index": 15, "kind": "parameter", "displayName": "Flow Alias Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow alias to invoke (use [...]
- "flowIdentifier": { "index": 16, "kind": "parameter", "displayName": "Flow Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow to invoke (used by the invokeFl [...]
- "proxyHost": { "index": 17, "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" },
- "proxyPort": { "index": 18, "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" },
- "proxyProtocol": { "index": 19, "kind": "parameter", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "T [...]
- "accessKey": { "index": 20, "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
- "secretKey": { "index": 21, "kind": "parameter", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
- "sessionToken": { "index": 22, "kind": "parameter", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user need [...]
- "trustAllCertificates": { "index": 23, "kind": "parameter", "displayName": "Trust All Certificates", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we wan [...]
- "useSessionCredentials": { "index": 24, "kind": "parameter", "displayName": "Use Session Credentials", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Agent Runti [...]
+ "agentAliasId": { "index": 14, "kind": "parameter", "displayName": "Agent Alias Id", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the agent alias to invoke, used by the invokeAgen [...]
+ "agentId": { "index": 15, "kind": "parameter", "displayName": "Agent Id", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the agent to invoke, used by the invokeAgent operation." },
+ "enableTrace": { "index": 16, "kind": "parameter", "displayName": "Enable Trace", "group": "agent", "label": "flow,agent", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Enables tracing for the invokeFlow and agent operations. [...]
+ "foundationModel": { "index": 17, "kind": "parameter", "displayName": "Foundation Model", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The foundation model used by the invokeInlineAgent operation." },
+ "instruction": { "index": 18, "kind": "parameter", "displayName": "Instruction", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The instruction given to the agent defined by the invokeInlineAgent operation." },
+ "sessionId": { "index": 19, "kind": "parameter", "displayName": "Session Id", "group": "agent", "label": "agent", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the agent session. Reuse the same value across invocatio [...]
+ "streamOutputMode": { "index": 20, "kind": "parameter", "displayName": "Stream Output Mode", "group": "agent", "label": "agent", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "complete", "chunks" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "complete", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The st [...]
+ "flowAliasIdentifier": { "index": 21, "kind": "parameter", "displayName": "Flow Alias Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow alias to invoke (use [...]
+ "flowIdentifier": { "index": 22, "kind": "parameter", "displayName": "Flow Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow to invoke (used by the invokeFl [...]
+ "proxyHost": { "index": 23, "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" },
+ "proxyPort": { "index": 24, "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" },
+ "proxyProtocol": { "index": 25, "kind": "parameter", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "T [...]
+ "accessKey": { "index": 26, "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
+ "secretKey": { "index": 27, "kind": "parameter", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
+ "sessionToken": { "index": 28, "kind": "parameter", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user need [...]
+ "trustAllCertificates": { "index": 29, "kind": "parameter", "displayName": "Trust All Certificates", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we wan [...]
+ "useSessionCredentials": { "index": 30, "kind": "parameter", "displayName": "Use Session Credentials", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Agent Runti [...]
}
}
diff --git a/components/camel-aws/camel-aws-bedrock/src/main/docs/aws-bedrock-agent-runtime-component.adoc b/components/camel-aws/camel-aws-bedrock/src/main/docs/aws-bedrock-agent-runtime-component.adoc
index 32c2e143c7b8..83b1e1e2f520 100644
--- a/components/camel-aws/camel-aws-bedrock/src/main/docs/aws-bedrock-agent-runtime-component.adoc
+++ b/components/camel-aws/camel-aws-bedrock/src/main/docs/aws-bedrock-agent-runtime-component.adoc
@@ -57,6 +57,8 @@ The component supports the following operations on the `operation` URI option:
* `retrieveAndGenerate` — Query a Bedrock Knowledge Base and generate a grounded response from the selected model.
* `retrieve` — Run a semantic search against a Bedrock Knowledge Base and return the matched chunks without LLM generation.
* `invokeFlow` — Invoke a Bedrock Flow by id/alias and stream the resulting events back as Camel message headers.
+* `invokeAgent` — Invoke a deployed Bedrock Agent by id/alias and stream the response back.
+* `invokeInlineAgent` — Invoke an agent defined inline at invocation time (foundation model plus instruction).
=== Retrieving from a Bedrock Knowledge Base
@@ -118,6 +120,64 @@ The producer collects emitted events into headers:
The out-message body is the document of the last `FlowOutputEvent` (decoded as `String` when the document is a string,
otherwise the raw `Document`). When the flow emits no outputs, the body is left untouched.
+=== Invoking a Bedrock Agent
+
+The `invokeAgent` operation invokes a deployed Bedrock Agent. Like `invokeFlow` it uses the AWS SDK async client, and
+the producer transparently allocates a `BedrockAgentRuntimeAsyncClient` when the endpoint is configured with
+`operation=invokeAgent`.
+
+Mandatory options:
+
+* `agentId` — the unique id of the agent to invoke (overridable via the `CamelAwsBedrockAgentRuntimeAgentId` header).
+* `agentAliasId` — the unique id of the agent alias (overridable via the
+ `CamelAwsBedrockAgentRuntimeAgentAliasId` header).
+
+The in-message body is the input text sent to the agent. When `pojoRequest=true`, the body must be an
+`InvokeAgentRequest` and is sent unchanged.
+
+The agent APIs are session based. Set `sessionId` on the endpoint, or the `CamelAwsBedrockAgentRuntimeSessionId`
+header, to continue an existing conversation; when neither is supplied a random session id is generated for the
+invocation. The session id used is always echoed back on the `CamelAwsBedrockAgentRuntimeSessionId` header of the
+out-message so a route can reuse it on the next call.
+
+[source,java]
+----
+from("direct:agent")
+ .to("aws-bedrock-agent-runtime://label?operation=invokeAgent&agentId=RAWAGENTID&agentAliasId=RAWALIASID");
+----
+
+=== Invoking an inline Bedrock Agent
+
+The `invokeInlineAgent` operation defines the agent at invocation time instead of referencing a deployed one.
+
+Mandatory options:
+
+* `foundationModel` — the model backing the agent (overridable via the
+ `CamelAwsBedrockAgentRuntimeAgentFoundationModel` header).
+* `instruction` — the instruction given to the agent (overridable via the
+ `CamelAwsBedrockAgentRuntimeAgentInstruction` header).
+
+For the richer inline options (action groups, knowledge bases, collaborators, guardrails), set `pojoRequest=true` and
+send an `InvokeInlineAgentRequest` body, which is passed to AWS unchanged.
+
+=== Agent response and streaming output
+
+Both agent operations stream their response. The producer collects the emitted events into headers:
+
+* `CamelAwsBedrockAgentRuntimeAgentTraces` — the trace events (only when tracing is enabled via `enableTrace` or the
+ `CamelAwsBedrockAgentRuntimeAgentEnableTrace` header).
+* `CamelAwsBedrockAgentRuntimeAgentReturnControl` — the return-control payloads, emitted when the agent asks the
+ caller to fulfil an action.
+* `CamelAwsBedrockAgentRuntimeAgentFiles` — the files emitted by the agent.
+* `CamelAwsBedrockAgentRuntimeCitations` — the citations attributed to the response chunks.
+
+The out-message body depends on `streamOutputMode`:
+
+* `complete` (the default) — the response chunks are accumulated and the body is the full text as a `String`.
+* `chunks` — the body is the `List<String>` of individual chunks.
+
+The mode can be overridden per exchange with the `CamelAwsBedrockAgentRuntimeAgentStreamOutputMode` header.
+
=== Static credentials, Default Credential Provider and Profile Credentials Provider
You have the possibility of avoiding the usage of explicit static credentials by specifying the useDefaultCredentialsProvider option and set it to true.
diff --git a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConfiguration.java b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConfiguration.java
index 2775b0264448..425342694ac4 100644
--- a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConfiguration.java
+++ b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConfiguration.java
@@ -57,8 +57,20 @@ public class BedrockAgentRuntimeConfiguration implements Cloneable, AwsCommonCon
private String flowIdentifier;
@UriParam(label = "flow")
private String flowAliasIdentifier;
- @UriParam(label = "flow", defaultValue = "false")
+ @UriParam(label = "flow,agent", defaultValue = "false")
private boolean enableTrace;
+ @UriParam(label = "agent")
+ private String agentId;
+ @UriParam(label = "agent")
+ private String agentAliasId;
+ @UriParam(label = "agent")
+ private String sessionId;
+ @UriParam(label = "agent", enums = "complete,chunks", defaultValue = "complete")
+ private String streamOutputMode;
+ @UriParam(label = "agent")
+ private String foundationModel;
+ @UriParam(label = "agent")
+ private String instruction;
@UriParam(label = "proxy", enums = "HTTP,HTTPS", defaultValue = "HTTPS")
private Protocol proxyProtocol = Protocol.HTTPS;
@UriParam(label = "proxy")
@@ -335,13 +347,81 @@ public class BedrockAgentRuntimeConfiguration implements Cloneable, AwsCommonCon
this.flowAliasIdentifier = flowAliasIdentifier;
}
+ public String getAgentId() {
+ return agentId;
+ }
+
+ /**
+ * The unique identifier of the agent to invoke, used by the invokeAgent operation.
+ */
+ public void setAgentId(String agentId) {
+ this.agentId = agentId;
+ }
+
+ public String getAgentAliasId() {
+ return agentAliasId;
+ }
+
+ /**
+ * The unique identifier of the agent alias to invoke, used by the invokeAgent operation.
+ */
+ public void setAgentAliasId(String agentAliasId) {
+ this.agentAliasId = agentAliasId;
+ }
+
+ public String getSessionId() {
+ return sessionId;
+ }
+
+ /**
+ * The unique identifier of the agent session. Reuse the same value across invocations to continue the same
+ * conversation. When not set, a random session id is generated for each invocation.
+ */
+ public void setSessionId(String sessionId) {
+ this.sessionId = sessionId;
+ }
+
+ public String getStreamOutputMode() {
+ return streamOutputMode;
+ }
+
+ /**
+ * The streaming output mode (complete or chunks) used by the agent operations. In complete mode the response chunks
+ * are accumulated and the body is the full text. In chunks mode the body is the list of chunks.
+ */
+ public void setStreamOutputMode(String streamOutputMode) {
+ this.streamOutputMode = streamOutputMode;
+ }
+
+ public String getFoundationModel() {
+ return foundationModel;
+ }
+
+ /**
+ * The foundation model used by the invokeInlineAgent operation.
+ */
+ public void setFoundationModel(String foundationModel) {
+ this.foundationModel = foundationModel;
+ }
+
+ public String getInstruction() {
+ return instruction;
+ }
+
+ /**
+ * The instruction given to the agent defined by the invokeInlineAgent operation.
+ */
+ public void setInstruction(String instruction) {
+ this.instruction = instruction;
+ }
+
public boolean isEnableTrace() {
return enableTrace;
}
/**
- * Enables tracing for the invokeFlow operation. When enabled, the producer collects FlowTraceEvent entries and
- * publishes them in the CamelAwsBedrockAgentRuntimeFlowTraces header.
+ * Enables tracing for the invokeFlow and agent operations. When enabled, the producer collects the trace events and
+ * publishes them in the CamelAwsBedrockAgentRuntimeFlowTraces or CamelAwsBedrockAgentRuntimeAgentTraces header.
*/
public void setEnableTrace(boolean enableTrace) {
this.enableTrace = enableTrace;
diff --git a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConstants.java b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConstants.java
index 359934baaa20..a3172395527e 100644
--- a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConstants.java
+++ b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConstants.java
@@ -35,6 +35,51 @@ public interface BedrockAgentRuntimeConstants {
javaType = "String")
String SESSION_ID = "CamelAwsBedrockAgentRuntimeSessionId";
+ @Metadata(description = "The unique identifier of the agent to invoke. Overrides the agentId configured on the endpoint.",
+ javaType = "String")
+ String AGENT_ID = "CamelAwsBedrockAgentRuntimeAgentId";
+
+ @Metadata(description = "The unique identifier of the agent alias to invoke. Overrides the agentAliasId configured on the endpoint.",
+ javaType = "String")
+ String AGENT_ALIAS_ID = "CamelAwsBedrockAgentRuntimeAgentAliasId";
+
+ @Metadata(description = "Enables tracing for the agent invocation. When set, overrides the enableTrace option on the endpoint.",
+ javaType = "Boolean")
+ String AGENT_ENABLE_TRACE = "CamelAwsBedrockAgentRuntimeAgentEnableTrace";
+
+ @Metadata(description = "Ends the agent session after this invocation.", javaType = "Boolean")
+ String AGENT_END_SESSION = "CamelAwsBedrockAgentRuntimeAgentEndSession";
+
+ @Metadata(description = "The unique identifier of the agent memory to use across sessions.", javaType = "String")
+ String AGENT_MEMORY_ID = "CamelAwsBedrockAgentRuntimeAgentMemoryId";
+
+ @Metadata(description = "The streaming output mode (complete or chunks) for an agent invocation. When set, overrides the "
+ + "streamOutputMode option on the endpoint.",
+ javaType = "String")
+ String AGENT_STREAM_OUTPUT_MODE = "CamelAwsBedrockAgentRuntimeAgentStreamOutputMode";
+
+ @Metadata(description = "The foundation model used by an inline agent. Overrides the foundationModel configured on the endpoint.",
+ javaType = "String")
+ String AGENT_FOUNDATION_MODEL = "CamelAwsBedrockAgentRuntimeAgentFoundationModel";
+
+ @Metadata(description = "The instruction given to an inline agent. Overrides the instruction configured on the endpoint.",
+ javaType = "String")
+ String AGENT_INSTRUCTION = "CamelAwsBedrockAgentRuntimeAgentInstruction";
+
+ @Metadata(description = "When invoking an agent with tracing enabled, this header will contain the list of TracePart emitted "
+ + "during the invocation. The elements are TracePart for invokeAgent and InlineAgentTracePart for invokeInlineAgent.",
+ javaType = "java.util.List")
+ String AGENT_TRACES = "CamelAwsBedrockAgentRuntimeAgentTraces";
+
+ @Metadata(description = "When an agent invocation requires the caller to fulfil an action, this header will contain the list "
+ + "of return-control payloads emitted by the agent. The elements are ReturnControlPayload for invokeAgent and InlineAgentReturnControlPayload for invokeInlineAgent.",
+ javaType = "java.util.List")
+ String AGENT_RETURN_CONTROL = "CamelAwsBedrockAgentRuntimeAgentReturnControl";
+
+ @Metadata(description = "When an agent invocation returns files, this header will contain the files emitted by the agent. The elements are FilePart for invokeAgent and InlineAgentFilePart for invokeInlineAgent.",
+ javaType = "java.util.List")
+ String AGENT_FILES = "CamelAwsBedrockAgentRuntimeAgentFiles";
+
@Metadata(description = "The unique identifier of the flow to invoke. Overrides the flowIdentifier configured on the endpoint.",
javaType = "String")
String FLOW_IDENTIFIER = "CamelAwsBedrockAgentRuntimeFlowIdentifier";
diff --git a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpoint.java b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpoint.java
index 6dc48a703674..763710ecb770 100644
--- a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpoint.java
+++ b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpoint.java
@@ -71,12 +71,14 @@ public class BedrockAgentRuntimeEndpoint extends ScheduledPollEndpoint implement
? configuration.getBedrockAgentRuntimeClient()
: BedrockAgentRuntimeClientFactory.getBedrockAgentRuntimeClient(configuration);
- // Only build the async client when the operation needs event-stream support (invokeFlow), or when the user
- // explicitly supplied one. This avoids creating a Netty-based async HTTP client for users that only need
- // synchronous operations like retrieveAndGenerate.
+ // Only build the async client when the operation needs event-stream support (invokeFlow, invokeAgent,
+ // invokeInlineAgent), or when the user explicitly supplied one. This avoids creating a Netty-based async HTTP
+ // client for users that only need synchronous operations like retrieveAndGenerate.
if (ObjectHelper.isNotEmpty(configuration.getBedrockAgentRuntimeAsyncClient())) {
bedrockAgentRuntimeAsyncClient = configuration.getBedrockAgentRuntimeAsyncClient();
- } else if (configuration.getOperation() == BedrockAgentRuntimeOperations.invokeFlow) {
+ } else if (configuration.getOperation() == BedrockAgentRuntimeOperations.invokeFlow
+ || configuration.getOperation() == BedrockAgentRuntimeOperations.invokeAgent
+ || configuration.getOperation() == BedrockAgentRuntimeOperations.invokeInlineAgent) {
bedrockAgentRuntimeAsyncClient
= BedrockAgentRuntimeClientFactory.getBedrockAgentRuntimeAsyncClient(configuration);
}
diff --git a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeOperations.java b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeOperations.java
index 785ae1f74c66..f43fdaafbef6 100644
--- a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeOperations.java
+++ b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeOperations.java
@@ -20,5 +20,7 @@ public enum BedrockAgentRuntimeOperations {
retrieveAndGenerate,
invokeFlow,
+ invokeAgent,
+ invokeInlineAgent,
retrieve
}
diff --git a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducer.java b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducer.java
index 5eb27f4d1490..b20349c8d5de 100644
--- a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducer.java
+++ b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducer.java
@@ -19,6 +19,9 @@ package org.apache.camel.component.aws2.bedrock.agentruntime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.UUID;
+import java.util.concurrent.CompletableFuture;
+import java.util.function.Supplier;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
@@ -30,21 +33,30 @@ import org.apache.camel.util.URISupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
+import software.amazon.awssdk.core.SdkBytes;
import software.amazon.awssdk.core.document.Document;
import software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient;
import software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient;
+import software.amazon.awssdk.services.bedrockagentruntime.model.Attribution;
+import software.amazon.awssdk.services.bedrockagentruntime.model.Citation;
import software.amazon.awssdk.services.bedrockagentruntime.model.FlowCompletionEvent;
import software.amazon.awssdk.services.bedrockagentruntime.model.FlowInput;
import software.amazon.awssdk.services.bedrockagentruntime.model.FlowInputContent;
import software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent;
import software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent;
+import software.amazon.awssdk.services.bedrockagentruntime.model.InlineAgentPayloadPart;
+import software.amazon.awssdk.services.bedrockagentruntime.model.InvokeAgentRequest;
+import software.amazon.awssdk.services.bedrockagentruntime.model.InvokeAgentResponseHandler;
import software.amazon.awssdk.services.bedrockagentruntime.model.InvokeFlowRequest;
import software.amazon.awssdk.services.bedrockagentruntime.model.InvokeFlowResponseHandler;
+import software.amazon.awssdk.services.bedrockagentruntime.model.InvokeInlineAgentRequest;
+import software.amazon.awssdk.services.bedrockagentruntime.model.InvokeInlineAgentResponseHandler;
import software.amazon.awssdk.services.bedrockagentruntime.model.KnowledgeBaseQuery;
import software.amazon.awssdk.services.bedrockagentruntime.model.KnowledgeBaseRetrievalConfiguration;
import software.amazon.awssdk.services.bedrockagentruntime.model.KnowledgeBaseRetrievalResult;
import software.amazon.awssdk.services.bedrockagentruntime.model.KnowledgeBaseRetrieveAndGenerateConfiguration;
import software.amazon.awssdk.services.bedrockagentruntime.model.KnowledgeBaseVectorSearchConfiguration;
+import software.amazon.awssdk.services.bedrockagentruntime.model.PayloadPart;
import software.amazon.awssdk.services.bedrockagentruntime.model.RetrieveAndGenerateConfiguration;
import software.amazon.awssdk.services.bedrockagentruntime.model.RetrieveAndGenerateInput;
import software.amazon.awssdk.services.bedrockagentruntime.model.RetrieveAndGenerateRequest;
@@ -75,6 +87,12 @@ public class BedrockAgentRuntimeProducer extends DefaultProducer {
case invokeFlow:
invokeFlow(exchange);
break;
+ case invokeAgent:
+ invokeAgent(exchange);
+ break;
+ case invokeInlineAgent:
+ invokeInlineAgent(exchange);
+ break;
case retrieve:
retrieve(getEndpoint().getBedrockAgentRuntimeClient(), exchange);
break;
@@ -406,6 +424,257 @@ public class BedrockAgentRuntimeProducer extends DefaultProducer {
}
}
+ /**
+ * Collects the event-stream output of an agent invocation. Both invokeAgent and invokeInlineAgent emit the same
+ * event set (chunk, trace, returnControl, files), so the collected state and the way it is published on the message
+ * are shared between them.
+ */
+ private static final class AgentInvocationResult {
+ private final List<String> chunks = Collections.synchronizedList(new ArrayList<>());
+ private final List<Citation> citations = Collections.synchronizedList(new ArrayList<>());
+ // invokeAgent and invokeInlineAgent emit parallel but distinct SDK types (TracePart vs InlineAgentTracePart,
+ // and so on), so these are collected as the SDK objects and published as-is on the message headers.
+ private final List<Object> traces = Collections.synchronizedList(new ArrayList<>());
+ private final List<Object> returnControls = Collections.synchronizedList(new ArrayList<>());
+ private final List<Object> files = Collections.synchronizedList(new ArrayList<>());
+
+ private void onChunk(PayloadPart part) {
+ addChunk(part.bytes(), part.attribution());
+ }
+
+ private void onInlineChunk(InlineAgentPayloadPart part) {
+ addChunk(part.bytes(), part.attribution());
+ }
+
+ private void addChunk(SdkBytes bytes, Attribution attribution) {
+ if (bytes != null) {
+ chunks.add(bytes.asUtf8String());
+ }
+ // citations travel on the chunk attribution rather than as their own event
+ if (attribution != null && attribution.citations() != null) {
+ citations.addAll(attribution.citations());
+ }
+ }
+ }
+
+ private void invokeAgent(Exchange exchange) throws InvalidPayloadException {
+ BedrockAgentRuntimeAsyncClient asyncClient = requireAsyncClient("invokeAgent");
+
+ InvokeAgentRequest request;
+ if (getConfiguration().isPojoRequest()) {
+ Object payload = exchange.getMessage().getMandatoryBody();
+ if (payload instanceof InvokeAgentRequest agentRequest) {
+ request = agentRequest;
+ } else {
+ throw new IllegalArgumentException(
+ "invokeAgent operation requires an InvokeAgentRequest body when pojoRequest=true");
+ }
+ } else {
+ request = buildInvokeAgentRequest(exchange);
+ }
+
+ AgentInvocationResult result = new AgentInvocationResult();
+ InvokeAgentResponseHandler handler = InvokeAgentResponseHandler.builder()
+ .subscriber(InvokeAgentResponseHandler.Visitor.builder()
+ .onChunk(result::onChunk)
+ .onTrace(result.traces::add)
+ .onReturnControl(result.returnControls::add)
+ .onFiles(result.files::add)
+ .build())
+ .build();
+
+ joinAgentInvocation(() -> asyncClient.invokeAgent(request, handler), "InvokeAgent");
+
+ prepareAgentResponse(result, request.sessionId(), exchange);
+ }
+
+ private void invokeInlineAgent(Exchange exchange) throws InvalidPayloadException {
+ BedrockAgentRuntimeAsyncClient asyncClient = requireAsyncClient("invokeInlineAgent");
+
+ InvokeInlineAgentRequest request;
+ if (getConfiguration().isPojoRequest()) {
+ Object payload = exchange.getMessage().getMandatoryBody();
+ if (payload instanceof InvokeInlineAgentRequest inlineRequest) {
+ request = inlineRequest;
+ } else {
+ throw new IllegalArgumentException(
+ "invokeInlineAgent operation requires an InvokeInlineAgentRequest body when pojoRequest=true");
+ }
+ } else {
+ request = buildInvokeInlineAgentRequest(exchange);
+ }
+
+ AgentInvocationResult result = new AgentInvocationResult();
+ InvokeInlineAgentResponseHandler handler = InvokeInlineAgentResponseHandler.builder()
+ .subscriber(InvokeInlineAgentResponseHandler.Visitor.builder()
+ .onChunk(result::onInlineChunk)
+ .onTrace(result.traces::add)
+ .onReturnControl(result.returnControls::add)
+ .onFiles(result.files::add)
+ .build())
+ .build();
+
+ joinAgentInvocation(() -> asyncClient.invokeInlineAgent(request, handler), "InvokeInlineAgent");
+
+ prepareAgentResponse(result, request.sessionId(), exchange);
+ }
+
+ private BedrockAgentRuntimeAsyncClient requireAsyncClient(String operation) {
+ BedrockAgentRuntimeAsyncClient asyncClient = getEndpoint().getBedrockAgentRuntimeAsyncClient();
+ if (asyncClient == null) {
+ throw new IllegalStateException(
+ "BedrockAgentRuntimeAsyncClient is not available. The " + operation
+ + " operation requires an async client; set operation=" + operation
+ + " on the endpoint or autowire a BedrockAgentRuntimeAsyncClient.");
+ }
+ return asyncClient;
+ }
+
+ /**
+ * Awaits an agent invocation, unwrapping the CompletionException that CompletableFuture.join() puts around AWS
+ * service exceptions so callers see the same behavior as synchronous AWS calls.
+ */
+ private void joinAgentInvocation(Supplier<CompletableFuture<?>> invocation, String operationName) {
+ try {
+ invocation.get().join();
+ } catch (AwsServiceException ase) {
+ LOG.trace("{} command returned the error code {}", operationName, ase.awsErrorDetails().errorCode());
+ throw ase;
+ } catch (RuntimeException re) {
+ Throwable cause = re.getCause();
+ if (cause instanceof AwsServiceException awsCause) {
+ throw awsCause;
+ }
+ throw re;
+ }
+ }
+
+ private InvokeAgentRequest buildInvokeAgentRequest(Exchange exchange) throws InvalidPayloadException {
+ String agentId = resolveRequired(exchange, BedrockAgentRuntimeConstants.AGENT_ID, getConfiguration().getAgentId(),
+ "invokeAgent", "agentId");
+ String agentAliasId = resolveRequired(exchange, BedrockAgentRuntimeConstants.AGENT_ALIAS_ID,
+ getConfiguration().getAgentAliasId(), "invokeAgent", "agentAliasId");
+
+ InvokeAgentRequest.Builder builder = InvokeAgentRequest.builder()
+ .agentId(agentId)
+ .agentAliasId(agentAliasId)
+ .sessionId(resolveSessionId(exchange))
+ .enableTrace(resolveEnableTrace(exchange))
+ .inputText(resolveInputText(exchange, "invokeAgent"));
+
+ Boolean endSession = exchange.getMessage().getHeader(BedrockAgentRuntimeConstants.AGENT_END_SESSION, Boolean.class);
+ if (endSession != null) {
+ builder.endSession(endSession);
+ }
+
+ String memoryId = exchange.getMessage().getHeader(BedrockAgentRuntimeConstants.AGENT_MEMORY_ID, String.class);
+ if (ObjectHelper.isNotEmpty(memoryId)) {
+ builder.memoryId(memoryId);
+ }
+
+ return builder.build();
+ }
+
+ private InvokeInlineAgentRequest buildInvokeInlineAgentRequest(Exchange exchange) throws InvalidPayloadException {
+ String foundationModel = resolveRequired(exchange, BedrockAgentRuntimeConstants.AGENT_FOUNDATION_MODEL,
+ getConfiguration().getFoundationModel(), "invokeInlineAgent", "foundationModel");
+ String instruction = resolveRequired(exchange, BedrockAgentRuntimeConstants.AGENT_INSTRUCTION,
+ getConfiguration().getInstruction(), "invokeInlineAgent", "instruction");
+
+ InvokeInlineAgentRequest.Builder builder = InvokeInlineAgentRequest.builder()
+ .foundationModel(foundationModel)
+ .instruction(instruction)
+ .sessionId(resolveSessionId(exchange))
+ .enableTrace(resolveEnableTrace(exchange))
+ .inputText(resolveInputText(exchange, "invokeInlineAgent"));
+
+ Boolean endSession = exchange.getMessage().getHeader(BedrockAgentRuntimeConstants.AGENT_END_SESSION, Boolean.class);
+ if (endSession != null) {
+ builder.endSession(endSession);
+ }
+
+ return builder.build();
+ }
+
+ private String resolveRequired(
+ Exchange exchange, String header, String configured, String operation, String optionName) {
+ String value = exchange.getMessage().getHeader(header, String.class);
+ if (ObjectHelper.isEmpty(value)) {
+ value = configured;
+ }
+ if (ObjectHelper.isEmpty(value)) {
+ throw new IllegalArgumentException(
+ operation + " operation requires " + optionName + " in configuration or header " + header);
+ }
+ return value;
+ }
+
+ /**
+ * The agent APIs require a session id. When the user does not supply one, a random id is generated so a single
+ * invocation still works; reusing the same id across exchanges is what continues a conversation.
+ */
+ private String resolveSessionId(Exchange exchange) {
+ String sessionId = exchange.getMessage().getHeader(BedrockAgentRuntimeConstants.SESSION_ID, String.class);
+ if (ObjectHelper.isEmpty(sessionId)) {
+ sessionId = getConfiguration().getSessionId();
+ }
+ if (ObjectHelper.isEmpty(sessionId)) {
+ sessionId = UUID.randomUUID().toString();
+ }
+ return sessionId;
+ }
+
+ private boolean resolveEnableTrace(Exchange exchange) {
+ Boolean enableTrace = exchange.getMessage().getHeader(BedrockAgentRuntimeConstants.AGENT_ENABLE_TRACE, Boolean.class);
+ return enableTrace != null ? enableTrace : getConfiguration().isEnableTrace();
+ }
+
+ private String resolveInputText(Exchange exchange, String operation) throws InvalidPayloadException {
+ Object body = exchange.getMessage().getMandatoryBody();
+ if (body instanceof String text) {
+ return text;
+ }
+ String converted = exchange.getMessage().getBody(String.class);
+ if (ObjectHelper.isEmpty(converted)) {
+ throw new IllegalArgumentException(
+ operation + " expects the body to be the input text as a String when pojoRequest=false. Got: "
+ + body.getClass().getName());
+ }
+ return converted;
+ }
+
+ private void prepareAgentResponse(AgentInvocationResult result, String sessionId, Exchange exchange) {
+ Message message = getMessageForResponse(exchange);
+
+ String streamOutputMode = exchange.getMessage()
+ .getHeader(BedrockAgentRuntimeConstants.AGENT_STREAM_OUTPUT_MODE, String.class);
+ if (ObjectHelper.isEmpty(streamOutputMode)) {
+ streamOutputMode = getConfiguration().getStreamOutputMode();
+ }
+
+ // Mirrors the runtime component: chunks mode exposes the individual chunks, complete mode (the default)
+ // exposes the accumulated text.
+ if ("chunks".equals(streamOutputMode)) {
+ message.setBody(new ArrayList<>(result.chunks));
+ } else {
+ message.setBody(String.join("", result.chunks));
+ }
+
+ message.setHeader(BedrockAgentRuntimeConstants.SESSION_ID, sessionId);
+ if (!result.traces.isEmpty()) {
+ message.setHeader(BedrockAgentRuntimeConstants.AGENT_TRACES, new ArrayList<>(result.traces));
+ }
+ if (!result.returnControls.isEmpty()) {
+ message.setHeader(BedrockAgentRuntimeConstants.AGENT_RETURN_CONTROL, new ArrayList<>(result.returnControls));
+ }
+ if (!result.files.isEmpty()) {
+ message.setHeader(BedrockAgentRuntimeConstants.AGENT_FILES, new ArrayList<>(result.files));
+ }
+ if (!result.citations.isEmpty()) {
+ message.setHeader(BedrockAgentRuntimeConstants.CITATIONS, new ArrayList<>(result.citations));
+ }
+ }
+
public static Message getMessageForResponse(final Exchange exchange) {
return exchange.getMessage();
}
diff --git a/components/camel-aws/camel-aws-bedrock/src/test/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducerInvokeAgentTest.java b/components/camel-aws/camel-aws-bedrock/src/test/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducerInvokeAgentTest.java
new file mode 100644
index 000000000000..da6e71bf116d
--- /dev/null
+++ b/components/camel-aws/camel-aws-bedrock/src/test/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducerInvokeAgentTest.java
@@ -0,0 +1,241 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.bedrock.agentruntime;
+
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.atomic.AtomicReference;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelExecutionException;
+import org.apache.camel.Exchange;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.support.SimpleRegistry;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+import software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient;
+import software.amazon.awssdk.services.bedrockagentruntime.model.InvokeAgentRequest;
+import software.amazon.awssdk.services.bedrockagentruntime.model.InvokeAgentResponseHandler;
+import software.amazon.awssdk.services.bedrockagentruntime.model.InvokeInlineAgentRequest;
+import software.amazon.awssdk.services.bedrockagentruntime.model.InvokeInlineAgentResponseHandler;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.lenient;
+
+@ExtendWith(MockitoExtension.class)
+class BedrockAgentRuntimeProducerInvokeAgentTest {
+
+ @Mock
+ private BedrockAgentRuntimeAsyncClient asyncClient;
+
+ private CamelContext camelContext;
+ private ProducerTemplate template;
+ private AtomicReference<InvokeAgentRequest> capturedAgentRequest;
+ private AtomicReference<InvokeInlineAgentRequest> capturedInlineRequest;
+
+ @BeforeEach
+ void setup() throws Exception {
+ capturedAgentRequest = new AtomicReference<>();
+ capturedInlineRequest = new AtomicReference<>();
+ // Capture the request and complete the future immediately. No events are emitted, so the tests focus on how
+ // the producer translates the exchange into a correctly-shaped request, and on how the response body is
+ // shaped by streamOutputMode. lenient(): the validation tests throw before ever reaching the client.
+ lenient().doAnswer(invocation -> {
+ capturedAgentRequest.set(invocation.getArgument(0, InvokeAgentRequest.class));
+ return CompletableFuture.completedFuture(null);
+ }).when(asyncClient).invokeAgent(any(InvokeAgentRequest.class), any(InvokeAgentResponseHandler.class));
+
+ lenient().doAnswer(invocation -> {
+ capturedInlineRequest.set(invocation.getArgument(0, InvokeInlineAgentRequest.class));
+ return CompletableFuture.completedFuture(null);
+ }).when(asyncClient).invokeInlineAgent(any(InvokeInlineAgentRequest.class),
+ any(InvokeInlineAgentResponseHandler.class));
+
+ SimpleRegistry registry = new SimpleRegistry();
+ registry.bind("asyncClient", asyncClient);
+ camelContext = new DefaultCamelContext(registry);
+ camelContext.addRoutes(new RouteBuilder() {
+ @Override
+ public void configure() {
+ String common = "?bedrockAgentRuntimeAsyncClient=#asyncClient"
+ + "®ion=us-east-1&accessKey=unused&secretKey=unused";
+
+ from("direct:agent")
+ .to("aws-bedrock-agent-runtime://label" + common
+ + "&operation=invokeAgent&agentId=agent-1&agentAliasId=alias-1&sessionId=session-1");
+
+ from("direct:agent-no-config")
+ .to("aws-bedrock-agent-runtime://label2" + common + "&operation=invokeAgent");
+
+ from("direct:agent-chunks")
+ .to("aws-bedrock-agent-runtime://label3" + common
+ + "&operation=invokeAgent&agentId=agent-1&agentAliasId=alias-1&streamOutputMode=chunks");
+
+ from("direct:inline")
+ .to("aws-bedrock-agent-runtime://label4" + common
+ + "&operation=invokeInlineAgent&foundationModel=anthropic.claude-3-haiku-20240307-v1:0"
+ + "&instruction=Be%20helpful");
+
+ from("direct:inline-no-config")
+ .to("aws-bedrock-agent-runtime://label5" + common + "&operation=invokeInlineAgent");
+ }
+ });
+ camelContext.start();
+ template = camelContext.createProducerTemplate();
+ }
+
+ @AfterEach
+ void teardown() {
+ if (template != null) {
+ template.stop();
+ }
+ if (camelContext != null) {
+ camelContext.stop();
+ }
+ }
+
+ @Test
+ void invokeAgentBuildsRequestFromStringBodyAndEndpointConfig() {
+ Exchange result = template.send("direct:agent", exchange -> exchange.getMessage().setBody("hello agent"));
+
+ assertThat(result).isNotNull();
+ InvokeAgentRequest request = capturedAgentRequest.get();
+ assertThat(request).as("Producer must have invoked the async client").isNotNull();
+ assertThat(request.agentId()).isEqualTo("agent-1");
+ assertThat(request.agentAliasId()).isEqualTo("alias-1");
+ assertThat(request.sessionId()).isEqualTo("session-1");
+ assertThat(request.inputText()).as("The body is sent as the agent input text").isEqualTo("hello agent");
+ assertThat(request.enableTrace()).isFalse();
+
+ // The session id is echoed back so a route can reuse it to continue the conversation.
+ assertThat(result.getMessage().getHeader(BedrockAgentRuntimeConstants.SESSION_ID)).isEqualTo("session-1");
+ }
+
+ @Test
+ void invokeAgentAllowsHeaderOverrides() {
+ template.send("direct:agent", exchange -> {
+ exchange.getMessage().setHeader(BedrockAgentRuntimeConstants.AGENT_ID, "agent-override");
+ exchange.getMessage().setHeader(BedrockAgentRuntimeConstants.AGENT_ALIAS_ID, "alias-override");
+ exchange.getMessage().setHeader(BedrockAgentRuntimeConstants.SESSION_ID, "session-override");
+ exchange.getMessage().setHeader(BedrockAgentRuntimeConstants.AGENT_ENABLE_TRACE, Boolean.TRUE);
+ exchange.getMessage().setHeader(BedrockAgentRuntimeConstants.AGENT_END_SESSION, Boolean.TRUE);
+ exchange.getMessage().setHeader(BedrockAgentRuntimeConstants.AGENT_MEMORY_ID, "memory-1");
+ exchange.getMessage().setBody("hi");
+ });
+
+ InvokeAgentRequest request = capturedAgentRequest.get();
+ assertThat(request).isNotNull();
+ assertThat(request.agentId()).as("AGENT_ID header must override the endpoint agentId").isEqualTo("agent-override");
+ assertThat(request.agentAliasId()).as("AGENT_ALIAS_ID header must override the endpoint agentAliasId")
+ .isEqualTo("alias-override");
+ assertThat(request.sessionId()).as("SESSION_ID header must override the endpoint sessionId")
+ .isEqualTo("session-override");
+ assertThat(request.enableTrace()).isTrue();
+ assertThat(request.endSession()).isTrue();
+ assertThat(request.memoryId()).isEqualTo("memory-1");
+ }
+
+ @Test
+ void invokeAgentGeneratesSessionIdWhenNotConfigured() {
+ template.send("direct:agent-chunks", exchange -> exchange.getMessage().setBody("hi"));
+
+ InvokeAgentRequest request = capturedAgentRequest.get();
+ assertThat(request).isNotNull();
+ // The API requires a session id, so one is generated when neither config nor header supplies it.
+ assertThat(request.sessionId()).as("A session id must always be sent").isNotNull().isNotEmpty();
+ }
+
+ @Test
+ void invokeAgentFailsWhenAgentIdIsMissing() {
+ assertThatThrownBy(() -> template.sendBody("direct:agent-no-config", "hi"))
+ .isInstanceOf(CamelExecutionException.class)
+ .cause()
+ .isInstanceOf(IllegalArgumentException.class)
+ .as("Error message should mention the missing agentId")
+ .hasMessageContaining("agentId");
+ }
+
+ @Test
+ void completeModeReturnsTheAccumulatedTextAndChunksModeReturnsTheChunkList() {
+ // No events are emitted by the mock, so complete mode yields the empty accumulated string while chunks mode
+ // yields an empty list. This asserts the streamOutputMode branching shapes the body differently.
+ Exchange complete = template.send("direct:agent", exchange -> exchange.getMessage().setBody("hi"));
+ assertThat(complete.getMessage().getBody())
+ .as("complete mode (the default) must produce the accumulated text as a String")
+ .isInstanceOf(String.class);
+
+ Exchange chunks = template.send("direct:agent-chunks", exchange -> exchange.getMessage().setBody("hi"));
+ assertThat(chunks.getMessage().getBody()).as("chunks mode must produce the list of chunks")
+ .isInstanceOf(List.class);
+ }
+
+ @Test
+ void streamOutputModeCanBeOverriddenByHeader() {
+ Exchange result = template.send("direct:agent", exchange -> {
+ exchange.getMessage().setHeader(BedrockAgentRuntimeConstants.AGENT_STREAM_OUTPUT_MODE, "chunks");
+ exchange.getMessage().setBody("hi");
+ });
+
+ assertThat(result.getMessage().getBody())
+ .as("AGENT_STREAM_OUTPUT_MODE header must override the endpoint streamOutputMode")
+ .isInstanceOf(List.class);
+ }
+
+ @Test
+ void invokeInlineAgentBuildsRequestFromEndpointConfig() {
+ template.send("direct:inline", exchange -> exchange.getMessage().setBody("hello inline"));
+
+ InvokeInlineAgentRequest request = capturedInlineRequest.get();
+ assertThat(request).as("Producer must have invoked the async client").isNotNull();
+ assertThat(request.foundationModel()).isEqualTo("anthropic.claude-3-haiku-20240307-v1:0");
+ assertThat(request.instruction()).isEqualTo("Be helpful");
+ assertThat(request.inputText()).isEqualTo("hello inline");
+ assertThat(request.sessionId()).as("A session id must always be sent").isNotNull();
+ }
+
+ @Test
+ void invokeInlineAgentAllowsHeaderOverrides() {
+ template.send("direct:inline", exchange -> {
+ exchange.getMessage().setHeader(BedrockAgentRuntimeConstants.AGENT_FOUNDATION_MODEL, "model-override");
+ exchange.getMessage().setHeader(BedrockAgentRuntimeConstants.AGENT_INSTRUCTION, "instruction-override");
+ exchange.getMessage().setBody("hi");
+ });
+
+ InvokeInlineAgentRequest request = capturedInlineRequest.get();
+ assertThat(request).isNotNull();
+ assertThat(request.foundationModel()).isEqualTo("model-override");
+ assertThat(request.instruction()).isEqualTo("instruction-override");
+ }
+
+ @Test
+ void invokeInlineAgentFailsWhenFoundationModelIsMissing() {
+ assertThatThrownBy(() -> template.sendBody("direct:inline-no-config", "hi"))
+ .isInstanceOf(CamelExecutionException.class)
+ .cause()
+ .isInstanceOf(IllegalArgumentException.class)
+ .as("Error message should mention the missing foundationModel")
+ .hasMessageContaining("foundationModel");
+ }
+}
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsBedrockAgentRuntimeComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsBedrockAgentRuntimeComponentBuilderFactory.java
index bedac7b29efa..95b76a5b0faa 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsBedrockAgentRuntimeComponentBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsBedrockAgentRuntimeComponentBuilderFactory.java
@@ -316,16 +316,49 @@ public interface AwsBedrockAgentRuntimeComponentBuilderFactory {
return this;
}
+ /**
+ * The unique identifier of the agent alias to invoke, used by the
+ * invokeAgent operation.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: agent
+ *
+ * @param agentAliasId the value to set
+ * @return the dsl builder
+ */
+ default AwsBedrockAgentRuntimeComponentBuilder agentAliasId(java.lang.String agentAliasId) {
+ doSetProperty("agentAliasId", agentAliasId);
+ return this;
+ }
+
+ /**
+ * The unique identifier of the agent to invoke, used by the invokeAgent
+ * operation.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: agent
+ *
+ * @param agentId the value to set
+ * @return the dsl builder
+ */
+ default AwsBedrockAgentRuntimeComponentBuilder agentId(java.lang.String agentId) {
+ doSetProperty("agentId", agentId);
+ return this;
+ }
+
/**
- * Enables tracing for the invokeFlow operation. When enabled, the
- * producer collects FlowTraceEvent entries and publishes them in the
- * CamelAwsBedrockAgentRuntimeFlowTraces header.
+ * Enables tracing for the invokeFlow and agent operations. When
+ * enabled, the producer collects the trace events and publishes them in
+ * the CamelAwsBedrockAgentRuntimeFlowTraces or
+ * CamelAwsBedrockAgentRuntimeAgentTraces header.
*
* The option is a: <code>boolean</code> type.
*
* Default: false
- * Group: flow
+ * Group: agent
*
* @param enableTrace the value to set
* @return the dsl builder
@@ -335,6 +368,74 @@ public interface AwsBedrockAgentRuntimeComponentBuilderFactory {
return this;
}
+ /**
+ * The foundation model used by the invokeInlineAgent operation.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: agent
+ *
+ * @param foundationModel the value to set
+ * @return the dsl builder
+ */
+ default AwsBedrockAgentRuntimeComponentBuilder foundationModel(java.lang.String foundationModel) {
+ doSetProperty("foundationModel", foundationModel);
+ return this;
+ }
+
+ /**
+ * The instruction given to the agent defined by the invokeInlineAgent
+ * operation.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: agent
+ *
+ * @param instruction the value to set
+ * @return the dsl builder
+ */
+ default AwsBedrockAgentRuntimeComponentBuilder instruction(java.lang.String instruction) {
+ doSetProperty("instruction", instruction);
+ return this;
+ }
+
+ /**
+ * The unique identifier of the agent session. Reuse the same value
+ * across invocations to continue the same conversation. When not set, a
+ * random session id is generated for each invocation.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: agent
+ *
+ * @param sessionId the value to set
+ * @return the dsl builder
+ */
+ default AwsBedrockAgentRuntimeComponentBuilder sessionId(java.lang.String sessionId) {
+ doSetProperty("sessionId", sessionId);
+ return this;
+ }
+
+
+ /**
+ * The streaming output mode (complete or chunks) used by the agent
+ * operations. In complete mode the response chunks are accumulated and
+ * the body is the full text. In chunks mode the body is the list of
+ * chunks.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Default: complete
+ * Group: agent
+ *
+ * @param streamOutputMode the value to set
+ * @return the dsl builder
+ */
+ default AwsBedrockAgentRuntimeComponentBuilder streamOutputMode(java.lang.String streamOutputMode) {
+ doSetProperty("streamOutputMode", streamOutputMode);
+ return this;
+ }
+
/**
* The unique identifier of the Bedrock flow alias to invoke (used by
* the invokeFlow operation). Can be overridden per exchange via the
@@ -576,7 +677,13 @@ public interface AwsBedrockAgentRuntimeComponentBuilderFactory {
case "autowiredEnabled": ((BedrockAgentRuntimeComponent) component).setAutowiredEnabled((boolean) value); return true;
case "bedrockAgentRuntimeAsyncClient": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setBedrockAgentRuntimeAsyncClient((software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient) value); return true;
case "bedrockAgentRuntimeClient": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setBedrockAgentRuntimeClient((software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient) value); return true;
+ case "agentAliasId": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setAgentAliasId((java.lang.String) value); return true;
+ case "agentId": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setAgentId((java.lang.String) value); return true;
case "enableTrace": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setEnableTrace((boolean) value); return true;
+ case "foundationModel": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setFoundationModel((java.lang.String) value); return true;
+ case "instruction": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setInstruction((java.lang.String) value); return true;
+ case "sessionId": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setSessionId((java.lang.String) value); return true;
+ case "streamOutputMode": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setStreamOutputMode((java.lang.String) value); return true;
case "flowAliasIdentifier": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setFlowAliasIdentifier((java.lang.String) value); return true;
case "flowIdentifier": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setFlowIdentifier((java.lang.String) value); return true;
case "healthCheckConsumerEnabled": ((BedrockAgentRuntimeComponent) component).setHealthCheckConsumerEnabled((boolean) value); return true;
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentEndpointBuilderFactory.java
index c8b14e9856b5..05f6f68c7742 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentEndpointBuilderFactory.java
@@ -2270,6 +2270,163 @@ public interface BedrockAgentEndpointBuilderFactory {
public String awsBedrockAgentRuntimeSessionId() {
return "CamelAwsBedrockAgentRuntimeSessionId";
}
+ /**
+ * The unique identifier of the agent to invoke. Overrides the agentId
+ * configured on the endpoint.
+ *
+ * The option is a: {@code String} type.
+ *
+ * Group: common
+ *
+ * @return the name of the header {@code AwsBedrockAgentRuntimeAgentId}.
+ */
+ public String awsBedrockAgentRuntimeAgentId() {
+ return "CamelAwsBedrockAgentRuntimeAgentId";
+ }
+ /**
+ * The unique identifier of the agent alias to invoke. Overrides the
+ * agentAliasId configured on the endpoint.
+ *
+ * The option is a: {@code String} type.
+ *
+ * Group: common
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentAliasId}.
+ */
+ public String awsBedrockAgentRuntimeAgentAliasId() {
+ return "CamelAwsBedrockAgentRuntimeAgentAliasId";
+ }
+ /**
+ * Enables tracing for the agent invocation. When set, overrides the
+ * enableTrace option on the endpoint.
+ *
+ * The option is a: {@code Boolean} type.
+ *
+ * Group: common
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentEnableTrace}.
+ */
+ public String awsBedrockAgentRuntimeAgentEnableTrace() {
+ return "CamelAwsBedrockAgentRuntimeAgentEnableTrace";
+ }
+ /**
+ * Ends the agent session after this invocation.
+ *
+ * The option is a: {@code Boolean} type.
+ *
+ * Group: common
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentEndSession}.
+ */
+ public String awsBedrockAgentRuntimeAgentEndSession() {
+ return "CamelAwsBedrockAgentRuntimeAgentEndSession";
+ }
+ /**
+ * The unique identifier of the agent memory to use across sessions.
+ *
+ * The option is a: {@code String} type.
+ *
+ * Group: common
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentMemoryId}.
+ */
+ public String awsBedrockAgentRuntimeAgentMemoryId() {
+ return "CamelAwsBedrockAgentRuntimeAgentMemoryId";
+ }
+ /**
+ * The streaming output mode (complete or chunks) for an agent
+ * invocation. When set, overrides the streamOutputMode option on the
+ * endpoint.
+ *
+ * The option is a: {@code String} type.
+ *
+ * Group: common
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentStreamOutputMode}.
+ */
+ public String awsBedrockAgentRuntimeAgentStreamOutputMode() {
+ return "CamelAwsBedrockAgentRuntimeAgentStreamOutputMode";
+ }
+ /**
+ * The foundation model used by an inline agent. Overrides the
+ * foundationModel configured on the endpoint.
+ *
+ * The option is a: {@code String} type.
+ *
+ * Group: common
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentFoundationModel}.
+ */
+ public String awsBedrockAgentRuntimeAgentFoundationModel() {
+ return "CamelAwsBedrockAgentRuntimeAgentFoundationModel";
+ }
+ /**
+ * The instruction given to an inline agent. Overrides the instruction
+ * configured on the endpoint.
+ *
+ * The option is a: {@code String} type.
+ *
+ * Group: common
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentInstruction}.
+ */
+ public String awsBedrockAgentRuntimeAgentInstruction() {
+ return "CamelAwsBedrockAgentRuntimeAgentInstruction";
+ }
+ /**
+ * When invoking an agent with tracing enabled, this header will contain
+ * the list of TracePart emitted during the invocation. The elements are
+ * TracePart for invokeAgent and InlineAgentTracePart for
+ * invokeInlineAgent.
+ *
+ * The option is a: {@code java.util.List} type.
+ *
+ * Group: common
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentTraces}.
+ */
+ public String awsBedrockAgentRuntimeAgentTraces() {
+ return "CamelAwsBedrockAgentRuntimeAgentTraces";
+ }
+ /**
+ * When an agent invocation requires the caller to fulfil an action,
+ * this header will contain the list of return-control payloads emitted
+ * by the agent. The elements are ReturnControlPayload for invokeAgent
+ * and InlineAgentReturnControlPayload for invokeInlineAgent.
+ *
+ * The option is a: {@code java.util.List} type.
+ *
+ * Group: common
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentReturnControl}.
+ */
+ public String awsBedrockAgentRuntimeAgentReturnControl() {
+ return "CamelAwsBedrockAgentRuntimeAgentReturnControl";
+ }
+ /**
+ * When an agent invocation returns files, this header will contain the
+ * files emitted by the agent. The elements are FilePart for invokeAgent
+ * and InlineAgentFilePart for invokeInlineAgent.
+ *
+ * The option is a: {@code java.util.List} type.
+ *
+ * Group: common
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentFiles}.
+ */
+ public String awsBedrockAgentRuntimeAgentFiles() {
+ return "CamelAwsBedrockAgentRuntimeAgentFiles";
+ }
/**
* The unique identifier of the flow to invoke. Overrides the
* flowIdentifier configured on the endpoint.
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentRuntimeEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentRuntimeEndpointBuilderFactory.java
index 037e4ce8e5ed..5142a159b5d8 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentRuntimeEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentRuntimeEndpointBuilderFactory.java
@@ -283,14 +283,45 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory {
return this;
}
/**
- * Enables tracing for the invokeFlow operation. When enabled, the
- * producer collects FlowTraceEvent entries and publishes them in the
- * CamelAwsBedrockAgentRuntimeFlowTraces header.
+ * The unique identifier of the agent alias to invoke, used by the
+ * invokeAgent operation.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: agent
+ *
+ * @param agentAliasId the value to set
+ * @return the dsl builder
+ */
+ default BedrockAgentRuntimeEndpointBuilder agentAliasId(String agentAliasId) {
+ doSetProperty("agentAliasId", agentAliasId);
+ return this;
+ }
+ /**
+ * The unique identifier of the agent to invoke, used by the invokeAgent
+ * operation.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: agent
+ *
+ * @param agentId the value to set
+ * @return the dsl builder
+ */
+ default BedrockAgentRuntimeEndpointBuilder agentId(String agentId) {
+ doSetProperty("agentId", agentId);
+ return this;
+ }
+ /**
+ * Enables tracing for the invokeFlow and agent operations. When
+ * enabled, the producer collects the trace events and publishes them in
+ * the CamelAwsBedrockAgentRuntimeFlowTraces or
+ * CamelAwsBedrockAgentRuntimeAgentTraces header.
*
* The option is a: <code>boolean</code> type.
*
* Default: false
- * Group: flow
+ * Group: agent
*
* @param enableTrace the value to set
* @return the dsl builder
@@ -300,14 +331,15 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory {
return this;
}
/**
- * Enables tracing for the invokeFlow operation. When enabled, the
- * producer collects FlowTraceEvent entries and publishes them in the
- * CamelAwsBedrockAgentRuntimeFlowTraces header.
+ * Enables tracing for the invokeFlow and agent operations. When
+ * enabled, the producer collects the trace events and publishes them in
+ * the CamelAwsBedrockAgentRuntimeFlowTraces or
+ * CamelAwsBedrockAgentRuntimeAgentTraces header.
*
* The option will be converted to a <code>boolean</code> type.
*
* Default: false
- * Group: flow
+ * Group: agent
*
* @param enableTrace the value to set
* @return the dsl builder
@@ -316,6 +348,69 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory {
doSetProperty("enableTrace", enableTrace);
return this;
}
+ /**
+ * The foundation model used by the invokeInlineAgent operation.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: agent
+ *
+ * @param foundationModel the value to set
+ * @return the dsl builder
+ */
+ default BedrockAgentRuntimeEndpointBuilder foundationModel(String foundationModel) {
+ doSetProperty("foundationModel", foundationModel);
+ return this;
+ }
+ /**
+ * The instruction given to the agent defined by the invokeInlineAgent
+ * operation.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: agent
+ *
+ * @param instruction the value to set
+ * @return the dsl builder
+ */
+ default BedrockAgentRuntimeEndpointBuilder instruction(String instruction) {
+ doSetProperty("instruction", instruction);
+ return this;
+ }
+ /**
+ * The unique identifier of the agent session. Reuse the same value
+ * across invocations to continue the same conversation. When not set, a
+ * random session id is generated for each invocation.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: agent
+ *
+ * @param sessionId the value to set
+ * @return the dsl builder
+ */
+ default BedrockAgentRuntimeEndpointBuilder sessionId(String sessionId) {
+ doSetProperty("sessionId", sessionId);
+ return this;
+ }
+ /**
+ * The streaming output mode (complete or chunks) used by the agent
+ * operations. In complete mode the response chunks are accumulated and
+ * the body is the full text. In chunks mode the body is the list of
+ * chunks.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Default: complete
+ * Group: agent
+ *
+ * @param streamOutputMode the value to set
+ * @return the dsl builder
+ */
+ default BedrockAgentRuntimeEndpointBuilder streamOutputMode(String streamOutputMode) {
+ doSetProperty("streamOutputMode", streamOutputMode);
+ return this;
+ }
/**
* The unique identifier of the Bedrock flow alias to invoke (used by
* the invokeFlow operation). Can be overridden per exchange via the
@@ -767,6 +862,163 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory {
public String awsBedrockAgentRuntimeSessionId() {
return "CamelAwsBedrockAgentRuntimeSessionId";
}
+ /**
+ * The unique identifier of the agent to invoke. Overrides the agentId
+ * configured on the endpoint.
+ *
+ * The option is a: {@code String} type.
+ *
+ * Group: producer
+ *
+ * @return the name of the header {@code AwsBedrockAgentRuntimeAgentId}.
+ */
+ public String awsBedrockAgentRuntimeAgentId() {
+ return "CamelAwsBedrockAgentRuntimeAgentId";
+ }
+ /**
+ * The unique identifier of the agent alias to invoke. Overrides the
+ * agentAliasId configured on the endpoint.
+ *
+ * The option is a: {@code String} type.
+ *
+ * Group: producer
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentAliasId}.
+ */
+ public String awsBedrockAgentRuntimeAgentAliasId() {
+ return "CamelAwsBedrockAgentRuntimeAgentAliasId";
+ }
+ /**
+ * Enables tracing for the agent invocation. When set, overrides the
+ * enableTrace option on the endpoint.
+ *
+ * The option is a: {@code Boolean} type.
+ *
+ * Group: producer
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentEnableTrace}.
+ */
+ public String awsBedrockAgentRuntimeAgentEnableTrace() {
+ return "CamelAwsBedrockAgentRuntimeAgentEnableTrace";
+ }
+ /**
+ * Ends the agent session after this invocation.
+ *
+ * The option is a: {@code Boolean} type.
+ *
+ * Group: producer
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentEndSession}.
+ */
+ public String awsBedrockAgentRuntimeAgentEndSession() {
+ return "CamelAwsBedrockAgentRuntimeAgentEndSession";
+ }
+ /**
+ * The unique identifier of the agent memory to use across sessions.
+ *
+ * The option is a: {@code String} type.
+ *
+ * Group: producer
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentMemoryId}.
+ */
+ public String awsBedrockAgentRuntimeAgentMemoryId() {
+ return "CamelAwsBedrockAgentRuntimeAgentMemoryId";
+ }
+ /**
+ * The streaming output mode (complete or chunks) for an agent
+ * invocation. When set, overrides the streamOutputMode option on the
+ * endpoint.
+ *
+ * The option is a: {@code String} type.
+ *
+ * Group: producer
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentStreamOutputMode}.
+ */
+ public String awsBedrockAgentRuntimeAgentStreamOutputMode() {
+ return "CamelAwsBedrockAgentRuntimeAgentStreamOutputMode";
+ }
+ /**
+ * The foundation model used by an inline agent. Overrides the
+ * foundationModel configured on the endpoint.
+ *
+ * The option is a: {@code String} type.
+ *
+ * Group: producer
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentFoundationModel}.
+ */
+ public String awsBedrockAgentRuntimeAgentFoundationModel() {
+ return "CamelAwsBedrockAgentRuntimeAgentFoundationModel";
+ }
+ /**
+ * The instruction given to an inline agent. Overrides the instruction
+ * configured on the endpoint.
+ *
+ * The option is a: {@code String} type.
+ *
+ * Group: producer
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentInstruction}.
+ */
+ public String awsBedrockAgentRuntimeAgentInstruction() {
+ return "CamelAwsBedrockAgentRuntimeAgentInstruction";
+ }
+ /**
+ * When invoking an agent with tracing enabled, this header will contain
+ * the list of TracePart emitted during the invocation. The elements are
+ * TracePart for invokeAgent and InlineAgentTracePart for
+ * invokeInlineAgent.
+ *
+ * The option is a: {@code java.util.List} type.
+ *
+ * Group: producer
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentTraces}.
+ */
+ public String awsBedrockAgentRuntimeAgentTraces() {
+ return "CamelAwsBedrockAgentRuntimeAgentTraces";
+ }
+ /**
+ * When an agent invocation requires the caller to fulfil an action,
+ * this header will contain the list of return-control payloads emitted
+ * by the agent. The elements are ReturnControlPayload for invokeAgent
+ * and InlineAgentReturnControlPayload for invokeInlineAgent.
+ *
+ * The option is a: {@code java.util.List} type.
+ *
+ * Group: producer
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentReturnControl}.
+ */
+ public String awsBedrockAgentRuntimeAgentReturnControl() {
+ return "CamelAwsBedrockAgentRuntimeAgentReturnControl";
+ }
+ /**
+ * When an agent invocation returns files, this header will contain the
+ * files emitted by the agent. The elements are FilePart for invokeAgent
+ * and InlineAgentFilePart for invokeInlineAgent.
+ *
+ * The option is a: {@code java.util.List} type.
+ *
+ * Group: producer
+ *
+ * @return the name of the header {@code
+ * AwsBedrockAgentRuntimeAgentFiles}.
+ */
+ public String awsBedrockAgentRuntimeAgentFiles() {
+ return "CamelAwsBedrockAgentRuntimeAgentFiles";
+ }
/**
* The unique identifier of the flow to invoke. Overrides the
* flowIdentifier configured on the endpoint.