Files
zCode-CLI-X/~/.npm-cache/@opentelemetry/sdk-logs@0.214.0@@@1/build/esnext/internal/LoggerProviderSharedState.js
admin 875c7f9b91 feat: Complete zCode CLI X with Telegram bot integration
- 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
2026-05-05 09:01:26 +00:00

67 lines
2.5 KiB
JavaScript

/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
import { SeverityNumber } from '@opentelemetry/api-logs';
import { NoopLogRecordProcessor } from '../export/NoopLogRecordProcessor';
import { MultiLogRecordProcessor } from '../MultiLogRecordProcessor';
import { getInstrumentationScopeKey } from './utils';
const DEFAULT_LOGGER_CONFIG = {
disabled: false,
minimumSeverity: SeverityNumber.UNSPECIFIED,
traceBased: false,
};
/**
* Default LoggerConfigurator that returns the default config for all loggers
*/
export const DEFAULT_LOGGER_CONFIGURATOR = () => ({
...DEFAULT_LOGGER_CONFIG,
});
export class LoggerProviderSharedState {
loggers = new Map();
activeProcessor;
registeredLogRecordProcessors = [];
resource;
forceFlushTimeoutMillis;
logRecordLimits;
processors;
_loggerConfigurator;
_loggerConfigs = new Map();
constructor(resource, forceFlushTimeoutMillis, logRecordLimits, processors, loggerConfigurator) {
this.resource = resource;
this.forceFlushTimeoutMillis = forceFlushTimeoutMillis;
this.logRecordLimits = logRecordLimits;
this.processors = processors;
if (processors.length > 0) {
this.registeredLogRecordProcessors = processors;
this.activeProcessor = new MultiLogRecordProcessor(this.registeredLogRecordProcessors, this.forceFlushTimeoutMillis);
}
else {
this.activeProcessor = new NoopLogRecordProcessor();
}
this._loggerConfigurator =
loggerConfigurator ?? DEFAULT_LOGGER_CONFIGURATOR;
}
/**
* Get the LoggerConfig for a given instrumentation scope.
* Uses the LoggerConfigurator function to compute the config on first access
* and caches the result.
*
* @experimental This feature is in development as per the OpenTelemetry specification.
*/
getLoggerConfig(instrumentationScope) {
const key = getInstrumentationScopeKey(instrumentationScope);
// Return cached config if available
let config = this._loggerConfigs.get(key);
if (config) {
return config;
}
// Compute config using the configurator
// The configurator always returns a complete config
config = this._loggerConfigurator(instrumentationScope);
// Cache the result
this._loggerConfigs.set(key, config);
return config;
}
}
//# sourceMappingURL=LoggerProviderSharedState.js.map