AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
InvokeInlineAgentHandler.h
1
6#pragma once
7#include <aws/core/utils/HashingUtils.h>
8#include <aws/core/utils/event/EventStreamHandler.h>
9#include <aws/core/client/AWSError.h>
10#include <aws/bedrock-agent-runtime/BedrockAgentRuntime_EXPORTS.h>
11#include <aws/bedrock-agent-runtime/BedrockAgentRuntimeErrors.h>
12
13#include <aws/bedrock-agent-runtime/model/InvokeInlineAgentInitialResponse.h>
14#include <aws/bedrock-agent-runtime/model/InlineAgentPayloadPart.h>
15#include <aws/bedrock-agent-runtime/model/InlineAgentFilePart.h>
16#include <aws/bedrock-agent-runtime/model/InlineAgentReturnControlPayload.h>
17#include <aws/bedrock-agent-runtime/model/InlineAgentTracePart.h>
18
19namespace Aws
20{
21namespace BedrockAgentRuntime
22{
23namespace Model
24{
26 {
28 CHUNK,
29 FILES,
31 TRACE,
33 };
34
36 {
37 typedef std::function<void(const InvokeInlineAgentInitialResponse&)> InvokeInlineAgentInitialResponseCallback;
38 typedef std::function<void(const InvokeInlineAgentInitialResponse&, const Utils::Event::InitialResponseType)> InvokeInlineAgentInitialResponseCallbackEx;
39 typedef std::function<void(const InlineAgentPayloadPart&)> InlineAgentPayloadPartCallback;
40 typedef std::function<void(const InlineAgentFilePart&)> InlineAgentFilePartCallback;
41 typedef std::function<void(const InlineAgentReturnControlPayload&)> InlineAgentReturnControlPayloadCallback;
42 typedef std::function<void(const InlineAgentTracePart&)> InlineAgentTracePartCallback;
43 typedef std::function<void(const Aws::Client::AWSError<BedrockAgentRuntimeErrors>& error)> ErrorCallback;
44
45 public:
46 AWS_BEDROCKAGENTRUNTIME_API InvokeInlineAgentHandler();
47 AWS_BEDROCKAGENTRUNTIME_API InvokeInlineAgentHandler& operator=(const InvokeInlineAgentHandler&) = default;
48 AWS_BEDROCKAGENTRUNTIME_API InvokeInlineAgentHandler(const InvokeInlineAgentHandler&) = default;
49
50 AWS_BEDROCKAGENTRUNTIME_API virtual void OnEvent() override;
51
53
59 inline void SetInitialResponseCallbackEx(const InvokeInlineAgentInitialResponseCallbackEx& callback) { m_onInitialResponse = callback; }
63 inline void SetInitialResponseCallback(const InvokeInlineAgentInitialResponseCallback& noArgCallback)
64 {
65 m_onInitialResponse = [noArgCallback](const InvokeInlineAgentInitialResponse& rs, const Utils::Event::InitialResponseType) { return noArgCallback(rs); };
66 }
68 inline void SetInlineAgentPayloadPartCallback(const InlineAgentPayloadPartCallback& callback) { m_onInlineAgentPayloadPart = callback; }
69 inline void SetInlineAgentFilePartCallback(const InlineAgentFilePartCallback& callback) { m_onInlineAgentFilePart = callback; }
70 inline void SetInlineAgentReturnControlPayloadCallback(const InlineAgentReturnControlPayloadCallback& callback) { m_onInlineAgentReturnControlPayload = callback; }
71 inline void SetInlineAgentTracePartCallback(const InlineAgentTracePartCallback& callback) { m_onInlineAgentTracePart = callback; }
72 inline void SetOnErrorCallback(const ErrorCallback& callback) { m_onError = callback; }
73
74 inline InvokeInlineAgentInitialResponseCallbackEx& GetInitialResponseCallbackEx() { return m_onInitialResponse; }
75
76 private:
77 AWS_BEDROCKAGENTRUNTIME_API void HandleEventInMessage();
78 AWS_BEDROCKAGENTRUNTIME_API void HandleErrorInMessage();
79 AWS_BEDROCKAGENTRUNTIME_API void MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage);
80
81 InvokeInlineAgentInitialResponseCallbackEx m_onInitialResponse;
82 InlineAgentPayloadPartCallback m_onInlineAgentPayloadPart;
83 InlineAgentFilePartCallback m_onInlineAgentFilePart;
84 InlineAgentReturnControlPayloadCallback m_onInlineAgentReturnControlPayload;
85 InlineAgentTracePartCallback m_onInlineAgentTracePart;
86 ErrorCallback m_onError;
87 };
88
89namespace InvokeInlineAgentEventMapper
90{
92
94} // namespace InvokeInlineAgentEventMapper
95} // namespace Model
96} // namespace BedrockAgentRuntime
97} // namespace Aws
void SetInlineAgentReturnControlPayloadCallback(const InlineAgentReturnControlPayloadCallback &callback)
AWS_BEDROCKAGENTRUNTIME_API InvokeInlineAgentHandler & operator=(const InvokeInlineAgentHandler &)=default
void SetInitialResponseCallbackEx(const InvokeInlineAgentInitialResponseCallbackEx &callback)
void SetInlineAgentFilePartCallback(const InlineAgentFilePartCallback &callback)
void SetInitialResponseCallback(const InvokeInlineAgentInitialResponseCallback &noArgCallback)
AWS_BEDROCKAGENTRUNTIME_API InvokeInlineAgentHandler(const InvokeInlineAgentHandler &)=default
void SetInlineAgentTracePartCallback(const InlineAgentTracePartCallback &callback)
void SetInlineAgentPayloadPartCallback(const InlineAgentPayloadPartCallback &callback)
virtual AWS_BEDROCKAGENTRUNTIME_API void OnEvent() override
InvokeInlineAgentInitialResponseCallbackEx & GetInitialResponseCallbackEx()
AWS_BEDROCKAGENTRUNTIME_API Aws::String GetNameForInvokeInlineAgentEventType(InvokeInlineAgentEventType value)
AWS_BEDROCKAGENTRUNTIME_API InvokeInlineAgentEventType GetInvokeInlineAgentEventTypeForName(const Aws::String &name)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String