@n8n/n8n-nodes-langchain
Version:
33 lines • 1.71 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createBedrockRuntimeClient = createBedrockRuntimeClient;
const client_bedrock_runtime_1 = require("@aws-sdk/client-bedrock-runtime");
const ai_utilities_1 = require("@n8n/ai-utilities");
const node_http_handler_1 = require("@smithy/node-http-handler");
const aws_credentials_1 = require("n8n-nodes-base/aws-credentials");
const KEEP_ALIVE_AGENT_OPTIONS = { keepAlive: true, keepAliveMsecs: 30_000 };
function createBedrockRuntimeClient(params) {
const { region, credentials, bedrockRuntimeEndpoint, maxRetries, timeout } = params;
const endpoint = bedrockRuntimeEndpoint
? (0, aws_credentials_1.validateBedrockEndpointOverride)(bedrockRuntimeEndpoint, region)
: `https://bedrock-runtime.${region}.${(0, aws_credentials_1.getAwsDomain)(region)}`;
const proxyAgent = (0, ai_utilities_1.getNodeProxyAgent)(endpoint, KEEP_ALIVE_AGENT_OPTIONS);
const clientConfig = {
region,
credentials,
...(bedrockRuntimeEndpoint ? { endpoint } : {}),
};
if (maxRetries !== undefined)
clientConfig.maxAttempts = maxRetries + 1;
const requestHandlerOptions = {
httpAgent: proxyAgent ?? KEEP_ALIVE_AGENT_OPTIONS,
httpsAgent: proxyAgent ?? KEEP_ALIVE_AGENT_OPTIONS,
};
if (timeout !== undefined) {
requestHandlerOptions.requestTimeout = timeout;
requestHandlerOptions.throwOnRequestTimeout = true;
}
clientConfig.requestHandler = new node_http_handler_1.NodeHttpHandler(requestHandlerOptions);
return new client_bedrock_runtime_1.BedrockRuntimeClient(clientConfig);
}
//# sourceMappingURL=createBedrockRuntimeClient.js.map