- 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
23 lines
1.0 KiB
JavaScript
23 lines
1.0 KiB
JavaScript
import { decorateServiceException } from "./exceptions";
|
|
export const throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => {
|
|
const $metadata = deserializeMetadata(output);
|
|
const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + "" : undefined;
|
|
const response = new exceptionCtor({
|
|
name: parsedBody?.code || parsedBody?.Code || errorCode || statusCode || "UnknownError",
|
|
$fault: "client",
|
|
$metadata,
|
|
});
|
|
throw decorateServiceException(response, parsedBody);
|
|
};
|
|
export const withBaseException = (ExceptionCtor) => {
|
|
return ({ output, parsedBody, errorCode }) => {
|
|
throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode });
|
|
};
|
|
};
|
|
const deserializeMetadata = (output) => ({
|
|
httpStatusCode: output.statusCode,
|
|
requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"],
|
|
extendedRequestId: output.headers["x-amz-id-2"],
|
|
cfId: output.headers["x-amz-cf-id"],
|
|
});
|