- 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
41 lines
1.9 KiB
JavaScript
41 lines
1.9 KiB
JavaScript
/*
|
|
* Copyright The OpenTelemetry Authors
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
import { getNumberFromEnv, getStringFromEnv } from '@opentelemetry/core';
|
|
import { diag } from '@opentelemetry/api';
|
|
function parseAndValidateTimeoutFromEnv(timeoutEnvVar) {
|
|
const envTimeout = getNumberFromEnv(timeoutEnvVar);
|
|
if (envTimeout != null) {
|
|
if (Number.isFinite(envTimeout) && envTimeout > 0) {
|
|
return envTimeout;
|
|
}
|
|
diag.warn(`Configuration: ${timeoutEnvVar} is invalid, expected number greater than 0 (actual: ${envTimeout})`);
|
|
}
|
|
return undefined;
|
|
}
|
|
function getTimeoutFromEnv(signalIdentifier) {
|
|
const specificTimeout = parseAndValidateTimeoutFromEnv(`OTEL_EXPORTER_OTLP_${signalIdentifier}_TIMEOUT`);
|
|
const nonSpecificTimeout = parseAndValidateTimeoutFromEnv('OTEL_EXPORTER_OTLP_TIMEOUT');
|
|
return specificTimeout ?? nonSpecificTimeout;
|
|
}
|
|
function parseAndValidateCompressionFromEnv(compressionEnvVar) {
|
|
const compression = getStringFromEnv(compressionEnvVar)?.trim();
|
|
if (compression == null || compression === 'none' || compression === 'gzip') {
|
|
return compression;
|
|
}
|
|
diag.warn(`Configuration: ${compressionEnvVar} is invalid, expected 'none' or 'gzip' (actual: '${compression}')`);
|
|
return undefined;
|
|
}
|
|
function getCompressionFromEnv(signalIdentifier) {
|
|
const specificCompression = parseAndValidateCompressionFromEnv(`OTEL_EXPORTER_OTLP_${signalIdentifier}_COMPRESSION`);
|
|
const nonSpecificCompression = parseAndValidateCompressionFromEnv('OTEL_EXPORTER_OTLP_COMPRESSION');
|
|
return specificCompression ?? nonSpecificCompression;
|
|
}
|
|
export function getSharedConfigurationFromEnvironment(signalIdentifier) {
|
|
return {
|
|
timeoutMillis: getTimeoutFromEnv(signalIdentifier),
|
|
compression: getCompressionFromEnv(signalIdentifier),
|
|
};
|
|
}
|
|
//# sourceMappingURL=shared-env-configuration.js.map
|