- Add full Telegram bot functionality with Z.AI API integration
- Implement 4 tools: Bash, FileEdit, WebSearch, Git
- Add 3 agents: Code Reviewer, Architect, DevOps Engineer
- Add 6 skills for common coding tasks
- Add systemd service file for 24/7 operation
- Add nginx configuration for HTTPS webhook
- Add comprehensive documentation
- Implement WebSocket server for real-time updates
- Add logging system with Winston
- Add environment validation
🤖 zCode CLI X - Agentic coder with Z.AI + Telegram integration
58 lines
2.1 KiB
JavaScript
58 lines
2.1 KiB
JavaScript
import { resolveAwsSdkSigV4Config, } from "@aws-sdk/core/httpAuthSchemes";
|
|
import { doesIdentityRequireRefresh, isIdentityExpired, memoizeIdentityProvider } from "@smithy/core";
|
|
import { getSmithyContext, normalizeProvider } from "@smithy/util-middleware";
|
|
export const defaultBedrockRuntimeHttpAuthSchemeParametersProvider = async (config, context, input) => {
|
|
return {
|
|
operation: getSmithyContext(context).operation,
|
|
region: await normalizeProvider(config.region)() || (() => {
|
|
throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
|
|
})(),
|
|
};
|
|
};
|
|
function createAwsAuthSigv4HttpAuthOption(authParameters) {
|
|
return {
|
|
schemeId: "aws.auth#sigv4",
|
|
signingProperties: {
|
|
name: "bedrock",
|
|
region: authParameters.region,
|
|
},
|
|
propertiesExtractor: (config, context) => ({
|
|
signingProperties: {
|
|
config,
|
|
context,
|
|
},
|
|
}),
|
|
};
|
|
}
|
|
function createSmithyApiHttpBearerAuthHttpAuthOption(authParameters) {
|
|
return {
|
|
schemeId: "smithy.api#httpBearerAuth",
|
|
propertiesExtractor: ({ profile, filepath, configFilepath, ignoreCache, }, context) => ({
|
|
identityProperties: {
|
|
profile,
|
|
filepath,
|
|
configFilepath,
|
|
ignoreCache,
|
|
},
|
|
}),
|
|
};
|
|
}
|
|
export const defaultBedrockRuntimeHttpAuthSchemeProvider = (authParameters) => {
|
|
const options = [];
|
|
switch (authParameters.operation) {
|
|
default: {
|
|
options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
|
|
options.push(createSmithyApiHttpBearerAuthHttpAuthOption(authParameters));
|
|
}
|
|
}
|
|
return options;
|
|
};
|
|
export const resolveHttpAuthSchemeConfig = (config) => {
|
|
const token = memoizeIdentityProvider(config.token, isIdentityExpired, doesIdentityRequireRefresh);
|
|
const config_0 = resolveAwsSdkSigV4Config(config);
|
|
return Object.assign(config_0, {
|
|
authSchemePreference: normalizeProvider(config.authSchemePreference ?? []),
|
|
token,
|
|
});
|
|
};
|