@burdenoff/be-sdk 2026.518.1 → 2026.518.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-CFUKZDDU.js → chunk-5FJZI7VX.js} +3 -3
- package/dist/{chunk-CFUKZDDU.js.map → chunk-5FJZI7VX.js.map} +1 -1
- package/dist/{chunk-QLEZPUAV.js → chunk-BESBOSX2.js} +3 -3
- package/dist/{chunk-QLEZPUAV.js.map → chunk-BESBOSX2.js.map} +1 -1
- package/dist/{chunk-4XAEES25.js → chunk-KTPFSXZF.js} +4 -850
- package/dist/chunk-KTPFSXZF.js.map +1 -0
- package/dist/chunk-REF7PANB.js +852 -0
- package/dist/chunk-REF7PANB.js.map +1 -0
- package/dist/graph/index.js +3 -3
- package/dist/index.js +14 -13
- package/dist/index.js.map +1 -1
- package/dist/instrumentation/index.js +2 -1
- package/dist/metrics/index.d.ts +17 -0
- package/dist/metrics/index.js +53 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/telemetry/index.js +3 -2
- package/dist/telemetry/index.js.map +1 -1
- package/dist/tracker/index.js +2 -2
- package/package.json +3 -3
- package/dist/chunk-4XAEES25.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/instrumentation/config.ts","../src/instrumentation/metrics-collector.ts"],"names":["ENV_VARS","INSTRUMENTATION_ENABLED","INSTRUMENTATION_TRACING","INSTRUMENTATION_METRICS","INSTRUMENTATION_LOGGING","INSTRUMENTATION_GRAPHQL","INSTRUMENTATION_DATABASE","INSTRUMENTATION_HTTP","INSTRUMENTATION_CACHE","INSTRUMENTATION_EVENT_QUEUE","OTEL_SERVICE_NAME","OTEL_SERVICE_VERSION","OTEL_ENVIRONMENT","OTEL_EXPORTER_OTLP_ENDPOINT","OTEL_EXPORTER_TYPE","OTEL_SAMPLING_RATE","OTEL_PROPAGATION_FORMAT","METRICS_EXPORTER_TYPE","METRICS_PROMETHEUS_ENDPOINT","METRICS_PROMETHEUS_PORT","METRICS_COLLECT_INTERVAL","METRICS_DEFAULT_ENABLED","METRICS_PREFIX","DB_INSTRUMENTATION_INCLUDE_STATEMENT","DB_INSTRUMENTATION_SLOW_QUERY_THRESHOLD","GRAPHQL_INSTRUMENTATION_INCLUDE_DOCUMENT","GRAPHQL_INSTRUMENTATION_INCLUDE_VARIABLES","GRAPHQL_INSTRUMENTATION_INCLUDE_RESOLVERS","getEnvBoolean","key","defaultValue","value","process","env","undefined","toLowerCase","getEnvNumber","parsed","parseFloat","isNaN","getEnvString","DEFAULT_FEATURE_FLAGS","tracing","metrics","logging","graphql","database","http","cache","eventQueue","DEFAULT_TRACING_CONFIG","enabled","serviceName","serviceVersion","environment","exporterType","samplingRate","propagationFormat","resourceAttributes","ignoredRoutes","ignoredOperations","DEFAULT_METRICS_CONFIG","prometheusEndpoint","prometheusPort","collectInterval","defaultMetrics","metricPrefix","DEFAULT_LOGGING_CONFIG","includeTraceId","includeSpanId","includeTraceFlags","level","DEFAULT_GRAPHQL_CONFIG","includeDocument","includeVariables","includeResult","documentDepth","includeResolvers","resolverSpanDepth","DEFAULT_DATABASE_CONFIG","includeStatement","includeParameters","includeRowCount","slowQueryThreshold","DEFAULT_HTTP_CONFIG","includeRequestHeaders","includeResponseHeaders","includeRequestBody","includeResponseBody","redactedHeaders","maxBodySize","DEFAULT_CACHE_CONFIG","includeKey","includeValueSize","includeTTL","DEFAULT_EVENT_QUEUE_CONFIG","includePayload","includeHeaders","maxPayloadSize","globalConfig","buildFeatureFlags","overrides","buildTracingConfig","exporterEndpoint","buildMetricsConfig","buildDatabaseConfig","buildGraphQLConfig","buildInstrumentationConfig","features","initializeInstrumentationConfig","getInstrumentationConfig","Error","isInstrumentationConfigInitialized","isFeatureEnabled","feature","updateInstrumentationConfig","updates","resetInstrumentationConfig","getLabelKey","labels","Object","keys","length","entries","sort","a","b","localeCompare","map","k","v","join","InMemoryCounter","values","Map","name","description","add","current","get","set","inc","getValue","getName","getDescription","getAllValues","reset","clear","InMemoryHistogram","boundaries","record","existing","push","shift","getData","count","sum","min","max","avg","buckets","percentiles","p50","p75","p90","p95","p99","sorted","reduce","boundary","filter","Infinity","percentile","p","index","Math","ceil","getAllData","result","parseLabels","part","split","InMemoryGauge","sub","InMemoryUpDownCounter","NoOpCounter","NoOpHistogram","NoOpGauge","NoOpUpDownCounter","MetricsRegistry","counters","histograms","gauges","upDownCounters","getServiceName","isEnabled","getPrefixedName","createCounter","prefixedName","counter","createHistogram","histogram","createGauge","gauge","createUpDownCounter","createFromDefinition","definition","type","getAllMetrics","Array","from","c","h","data","g","exportCountersToPrometheus","lines","labelStr","exportHistogramsToPrometheus","le","leStr","toString","exportGaugesToPrometheus","exportUpDownCountersToPrometheus","toPrometheusFormat","globalRegistry","initializeMetricsRegistry","getMetricsRegistry","isMetricsRegistryInitialized","resetMetricsRegistry"],"mappings":"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","file":"chunk-REF7PANB.js","sourcesContent":["/**\n * Instrumentation Configuration\n *\n * Provides configuration management for OpenTelemetry instrumentation\n * with environment variable support and sensible defaults.\n *\n * @module instrumentation/config\n * @category Observability\n */\n\nimport type {\n CacheInstrumentationConfig,\n DatabaseInstrumentationConfig,\n EventQueueInstrumentationConfig,\n GraphQLInstrumentationConfig,\n HTTPInstrumentationConfig,\n InstrumentationConfig,\n InstrumentationFeatureFlags,\n LoggingConfig,\n MetricsConfig,\n TracingConfig,\n} from './types.js';\n\n/**\n * Environment variable names for instrumentation configuration\n */\nexport const ENV_VARS = {\n // Master switch\n INSTRUMENTATION_ENABLED: 'INSTRUMENTATION_ENABLED',\n\n // Feature flags\n INSTRUMENTATION_TRACING: 'INSTRUMENTATION_TRACING',\n INSTRUMENTATION_METRICS: 'INSTRUMENTATION_METRICS',\n INSTRUMENTATION_LOGGING: 'INSTRUMENTATION_LOGGING',\n INSTRUMENTATION_GRAPHQL: 'INSTRUMENTATION_GRAPHQL',\n INSTRUMENTATION_DATABASE: 'INSTRUMENTATION_DATABASE',\n INSTRUMENTATION_HTTP: 'INSTRUMENTATION_HTTP',\n INSTRUMENTATION_CACHE: 'INSTRUMENTATION_CACHE',\n INSTRUMENTATION_EVENT_QUEUE: 'INSTRUMENTATION_EVENT_QUEUE',\n\n // Tracing\n OTEL_SERVICE_NAME: 'OTEL_SERVICE_NAME',\n OTEL_SERVICE_VERSION: 'OTEL_SERVICE_VERSION',\n OTEL_ENVIRONMENT: 'OTEL_ENVIRONMENT',\n OTEL_EXPORTER_OTLP_ENDPOINT: 'OTEL_EXPORTER_OTLP_ENDPOINT',\n OTEL_EXPORTER_TYPE: 'OTEL_EXPORTER_TYPE',\n OTEL_SAMPLING_RATE: 'OTEL_SAMPLING_RATE',\n OTEL_PROPAGATION_FORMAT: 'OTEL_PROPAGATION_FORMAT',\n\n // Metrics\n METRICS_EXPORTER_TYPE: 'METRICS_EXPORTER_TYPE',\n METRICS_PROMETHEUS_ENDPOINT: 'METRICS_PROMETHEUS_ENDPOINT',\n METRICS_PROMETHEUS_PORT: 'METRICS_PROMETHEUS_PORT',\n METRICS_COLLECT_INTERVAL: 'METRICS_COLLECT_INTERVAL',\n METRICS_DEFAULT_ENABLED: 'METRICS_DEFAULT_ENABLED',\n METRICS_PREFIX: 'METRICS_PREFIX',\n\n // Database\n DB_INSTRUMENTATION_INCLUDE_STATEMENT: 'DB_INSTRUMENTATION_INCLUDE_STATEMENT',\n DB_INSTRUMENTATION_SLOW_QUERY_THRESHOLD: 'DB_INSTRUMENTATION_SLOW_QUERY_THRESHOLD',\n\n // GraphQL\n GRAPHQL_INSTRUMENTATION_INCLUDE_DOCUMENT: 'GRAPHQL_INSTRUMENTATION_INCLUDE_DOCUMENT',\n GRAPHQL_INSTRUMENTATION_INCLUDE_VARIABLES: 'GRAPHQL_INSTRUMENTATION_INCLUDE_VARIABLES',\n GRAPHQL_INSTRUMENTATION_INCLUDE_RESOLVERS: 'GRAPHQL_INSTRUMENTATION_INCLUDE_RESOLVERS',\n} as const;\n\n/**\n * Get environment variable as boolean\n */\nfunction getEnvBoolean(key: string, defaultValue: boolean): boolean {\n const value = process.env[key];\n if (value === undefined || value === '') return defaultValue;\n return value.toLowerCase() === 'true' || value === '1';\n}\n\n/**\n * Get environment variable as number\n */\nfunction getEnvNumber(key: string, defaultValue: number): number {\n const value = process.env[key];\n if (value === undefined || value === '') return defaultValue;\n const parsed = parseFloat(value);\n return isNaN(parsed) ? defaultValue : parsed;\n}\n\n/**\n * Get environment variable as string\n */\nfunction getEnvString(key: string, defaultValue: string): string {\n const value = process.env[key];\n return value !== undefined && value !== '' ? value : defaultValue;\n}\n\n/**\n * Default feature flags\n */\nexport const DEFAULT_FEATURE_FLAGS: InstrumentationFeatureFlags = {\n tracing: true,\n metrics: true,\n logging: true,\n graphql: true,\n database: true,\n http: true,\n cache: true,\n eventQueue: true,\n};\n\n/**\n * Default tracing configuration\n */\nexport const DEFAULT_TRACING_CONFIG: TracingConfig = {\n enabled: true,\n serviceName: 'unknown-service',\n serviceVersion: '1.0.0',\n environment: 'development',\n exporterType: 'none',\n samplingRate: 1.0,\n propagationFormat: 'w3c',\n resourceAttributes: {},\n ignoredRoutes: ['/health', '/ready', '/live', '/metrics'],\n ignoredOperations: ['IntrospectionQuery'],\n};\n\n/**\n * Default metrics configuration\n */\nexport const DEFAULT_METRICS_CONFIG: MetricsConfig = {\n enabled: true,\n serviceName: 'unknown-service',\n exporterType: 'none',\n prometheusEndpoint: '/metrics',\n prometheusPort: 9090,\n collectInterval: 60000,\n defaultMetrics: true,\n metricPrefix: '',\n};\n\n/**\n * Default logging configuration\n */\nexport const DEFAULT_LOGGING_CONFIG: LoggingConfig = {\n enabled: true,\n includeTraceId: true,\n includeSpanId: true,\n includeTraceFlags: false,\n level: 'info',\n};\n\n/**\n * Default GraphQL instrumentation configuration\n */\nexport const DEFAULT_GRAPHQL_CONFIG: GraphQLInstrumentationConfig = {\n enabled: true,\n includeDocument: false,\n includeVariables: false,\n includeResult: false,\n documentDepth: 3,\n ignoredOperations: ['IntrospectionQuery'],\n includeResolvers: true,\n resolverSpanDepth: 3,\n};\n\n/**\n * Default database instrumentation configuration\n */\nexport const DEFAULT_DATABASE_CONFIG: DatabaseInstrumentationConfig = {\n enabled: true,\n includeStatement: false,\n includeParameters: false,\n includeRowCount: true,\n slowQueryThreshold: 1000,\n ignoredOperations: [],\n};\n\n/**\n * Default HTTP instrumentation configuration\n */\nexport const DEFAULT_HTTP_CONFIG: HTTPInstrumentationConfig = {\n enabled: true,\n includeRequestHeaders: false,\n includeResponseHeaders: false,\n includeRequestBody: false,\n includeResponseBody: false,\n redactedHeaders: ['authorization', 'cookie', 'set-cookie', 'x-api-key'],\n ignoredRoutes: ['/health', '/ready', '/live', '/metrics'],\n maxBodySize: 10240,\n};\n\n/**\n * Default cache instrumentation configuration\n */\nexport const DEFAULT_CACHE_CONFIG: CacheInstrumentationConfig = {\n enabled: true,\n includeKey: true,\n includeValueSize: true,\n includeTTL: true,\n};\n\n/**\n * Default event queue instrumentation configuration\n */\nexport const DEFAULT_EVENT_QUEUE_CONFIG: EventQueueInstrumentationConfig = {\n enabled: true,\n includePayload: false,\n includeHeaders: true,\n maxPayloadSize: 1024,\n};\n\n/**\n * Global instrumentation configuration state\n */\nlet globalConfig: InstrumentationConfig | null = null;\n\n/**\n * Build feature flags from environment variables\n */\nexport function buildFeatureFlags(overrides?: Partial<InstrumentationFeatureFlags>): InstrumentationFeatureFlags {\n return {\n tracing: getEnvBoolean(ENV_VARS.INSTRUMENTATION_TRACING, DEFAULT_FEATURE_FLAGS.tracing),\n metrics: getEnvBoolean(ENV_VARS.INSTRUMENTATION_METRICS, DEFAULT_FEATURE_FLAGS.metrics),\n logging: getEnvBoolean(ENV_VARS.INSTRUMENTATION_LOGGING, DEFAULT_FEATURE_FLAGS.logging),\n graphql: getEnvBoolean(ENV_VARS.INSTRUMENTATION_GRAPHQL, DEFAULT_FEATURE_FLAGS.graphql),\n database: getEnvBoolean(ENV_VARS.INSTRUMENTATION_DATABASE, DEFAULT_FEATURE_FLAGS.database),\n http: getEnvBoolean(ENV_VARS.INSTRUMENTATION_HTTP, DEFAULT_FEATURE_FLAGS.http),\n cache: getEnvBoolean(ENV_VARS.INSTRUMENTATION_CACHE, DEFAULT_FEATURE_FLAGS.cache),\n eventQueue: getEnvBoolean(ENV_VARS.INSTRUMENTATION_EVENT_QUEUE, DEFAULT_FEATURE_FLAGS.eventQueue),\n ...overrides,\n };\n}\n\n/**\n * Build tracing configuration from environment variables\n */\nexport function buildTracingConfig(serviceName: string, overrides?: Partial<TracingConfig>): TracingConfig {\n return {\n enabled: getEnvBoolean(ENV_VARS.INSTRUMENTATION_TRACING, DEFAULT_TRACING_CONFIG.enabled),\n serviceName: getEnvString(ENV_VARS.OTEL_SERVICE_NAME, serviceName),\n serviceVersion: getEnvString(ENV_VARS.OTEL_SERVICE_VERSION, DEFAULT_TRACING_CONFIG.serviceVersion!),\n environment: getEnvString(ENV_VARS.OTEL_ENVIRONMENT, process.env['NODE_ENV'] || 'development'),\n exporterEndpoint: process.env[ENV_VARS.OTEL_EXPORTER_OTLP_ENDPOINT],\n exporterType: getEnvString(ENV_VARS.OTEL_EXPORTER_TYPE, DEFAULT_TRACING_CONFIG.exporterType!) as\n | 'otlp'\n | 'console'\n | 'none',\n samplingRate: getEnvNumber(ENV_VARS.OTEL_SAMPLING_RATE, DEFAULT_TRACING_CONFIG.samplingRate!),\n propagationFormat: getEnvString(ENV_VARS.OTEL_PROPAGATION_FORMAT, DEFAULT_TRACING_CONFIG.propagationFormat!) as\n | 'w3c'\n | 'b3'\n | 'jaeger',\n resourceAttributes: DEFAULT_TRACING_CONFIG.resourceAttributes,\n ignoredRoutes: DEFAULT_TRACING_CONFIG.ignoredRoutes,\n ignoredOperations: DEFAULT_TRACING_CONFIG.ignoredOperations,\n ...overrides,\n };\n}\n\n/**\n * Build metrics configuration from environment variables\n */\nexport function buildMetricsConfig(serviceName: string, overrides?: Partial<MetricsConfig>): MetricsConfig {\n return {\n enabled: getEnvBoolean(ENV_VARS.INSTRUMENTATION_METRICS, DEFAULT_METRICS_CONFIG.enabled),\n serviceName: getEnvString(ENV_VARS.OTEL_SERVICE_NAME, serviceName),\n exporterEndpoint: process.env[ENV_VARS.OTEL_EXPORTER_OTLP_ENDPOINT],\n exporterType: getEnvString(ENV_VARS.METRICS_EXPORTER_TYPE, DEFAULT_METRICS_CONFIG.exporterType!) as\n | 'otlp'\n | 'prometheus'\n | 'console'\n | 'none',\n prometheusEndpoint: getEnvString(ENV_VARS.METRICS_PROMETHEUS_ENDPOINT, DEFAULT_METRICS_CONFIG.prometheusEndpoint!),\n prometheusPort: getEnvNumber(ENV_VARS.METRICS_PROMETHEUS_PORT, DEFAULT_METRICS_CONFIG.prometheusPort!),\n collectInterval: getEnvNumber(ENV_VARS.METRICS_COLLECT_INTERVAL, DEFAULT_METRICS_CONFIG.collectInterval!),\n defaultMetrics: getEnvBoolean(ENV_VARS.METRICS_DEFAULT_ENABLED, DEFAULT_METRICS_CONFIG.defaultMetrics!),\n metricPrefix: getEnvString(ENV_VARS.METRICS_PREFIX, DEFAULT_METRICS_CONFIG.metricPrefix!),\n ...overrides,\n };\n}\n\n/**\n * Build database instrumentation configuration\n */\nexport function buildDatabaseConfig(overrides?: Partial<DatabaseInstrumentationConfig>): DatabaseInstrumentationConfig {\n return {\n enabled: getEnvBoolean(ENV_VARS.INSTRUMENTATION_DATABASE, DEFAULT_DATABASE_CONFIG.enabled),\n includeStatement: getEnvBoolean(\n ENV_VARS.DB_INSTRUMENTATION_INCLUDE_STATEMENT,\n DEFAULT_DATABASE_CONFIG.includeStatement!\n ),\n includeParameters: DEFAULT_DATABASE_CONFIG.includeParameters,\n includeRowCount: DEFAULT_DATABASE_CONFIG.includeRowCount,\n slowQueryThreshold: getEnvNumber(\n ENV_VARS.DB_INSTRUMENTATION_SLOW_QUERY_THRESHOLD,\n DEFAULT_DATABASE_CONFIG.slowQueryThreshold!\n ),\n ignoredOperations: DEFAULT_DATABASE_CONFIG.ignoredOperations,\n ...overrides,\n };\n}\n\n/**\n * Build GraphQL instrumentation configuration\n */\nexport function buildGraphQLConfig(overrides?: Partial<GraphQLInstrumentationConfig>): GraphQLInstrumentationConfig {\n return {\n enabled: getEnvBoolean(ENV_VARS.INSTRUMENTATION_GRAPHQL, DEFAULT_GRAPHQL_CONFIG.enabled),\n includeDocument: getEnvBoolean(\n ENV_VARS.GRAPHQL_INSTRUMENTATION_INCLUDE_DOCUMENT,\n DEFAULT_GRAPHQL_CONFIG.includeDocument!\n ),\n includeVariables: getEnvBoolean(\n ENV_VARS.GRAPHQL_INSTRUMENTATION_INCLUDE_VARIABLES,\n DEFAULT_GRAPHQL_CONFIG.includeVariables!\n ),\n includeResult: DEFAULT_GRAPHQL_CONFIG.includeResult,\n documentDepth: DEFAULT_GRAPHQL_CONFIG.documentDepth,\n ignoredOperations: DEFAULT_GRAPHQL_CONFIG.ignoredOperations,\n includeResolvers: getEnvBoolean(\n ENV_VARS.GRAPHQL_INSTRUMENTATION_INCLUDE_RESOLVERS,\n DEFAULT_GRAPHQL_CONFIG.includeResolvers!\n ),\n resolverSpanDepth: DEFAULT_GRAPHQL_CONFIG.resolverSpanDepth,\n ...overrides,\n };\n}\n\n/**\n * Build complete instrumentation configuration\n */\nexport function buildInstrumentationConfig(\n serviceName: string,\n overrides?: Partial<InstrumentationConfig>\n): InstrumentationConfig {\n const enabled = getEnvBoolean(ENV_VARS.INSTRUMENTATION_ENABLED, true);\n\n return {\n enabled,\n features: buildFeatureFlags(overrides?.features),\n tracing: buildTracingConfig(serviceName, overrides?.tracing),\n metrics: buildMetricsConfig(serviceName, overrides?.metrics),\n logging: { ...DEFAULT_LOGGING_CONFIG, ...overrides?.logging },\n graphql: buildGraphQLConfig(overrides?.graphql),\n database: buildDatabaseConfig(overrides?.database),\n http: { ...DEFAULT_HTTP_CONFIG, ...overrides?.http },\n cache: { ...DEFAULT_CACHE_CONFIG, ...overrides?.cache },\n eventQueue: { ...DEFAULT_EVENT_QUEUE_CONFIG, ...overrides?.eventQueue },\n };\n}\n\n/**\n * Initialize global instrumentation configuration\n */\nexport function initializeInstrumentationConfig(\n serviceName: string,\n overrides?: Partial<InstrumentationConfig>\n): InstrumentationConfig {\n globalConfig = buildInstrumentationConfig(serviceName, overrides);\n return globalConfig;\n}\n\n/**\n * Get current instrumentation configuration\n * @throws Error if configuration not initialized\n */\nexport function getInstrumentationConfig(): InstrumentationConfig {\n if (!globalConfig) {\n throw new Error('Instrumentation config not initialized. Call initializeInstrumentationConfig() first.');\n }\n return globalConfig;\n}\n\n/**\n * Check if instrumentation configuration is initialized\n */\nexport function isInstrumentationConfigInitialized(): boolean {\n return globalConfig !== null;\n}\n\n/**\n * Check if a specific feature is enabled\n */\nexport function isFeatureEnabled(feature: keyof InstrumentationFeatureFlags): boolean {\n if (!globalConfig) return false;\n return globalConfig.enabled && globalConfig.features[feature];\n}\n\n/**\n * Update instrumentation configuration at runtime\n */\nexport function updateInstrumentationConfig(updates: Partial<InstrumentationConfig>): InstrumentationConfig {\n if (!globalConfig) {\n throw new Error('Instrumentation config not initialized. Call initializeInstrumentationConfig() first.');\n }\n globalConfig = { ...globalConfig, ...updates };\n return globalConfig;\n}\n\n/**\n * Reset instrumentation configuration (useful for testing)\n */\nexport function resetInstrumentationConfig(): void {\n globalConfig = null;\n}\n","/**\n * Metrics Collector Module\n *\n * OpenTelemetry-style metrics collection with counters, histograms,\n * and gauges for comprehensive service monitoring.\n *\n * @module instrumentation/metrics-collector\n * @category Observability\n */\n\nimport { isFeatureEnabled, isInstrumentationConfigInitialized } from './config.js';\nimport type { MetricDefinition } from './types.js';\n\n/**\n * Metric labels\n */\nexport type MetricLabels = Record<string, string>;\n\n/**\n * Counter metric interface\n */\nexport interface Counter {\n /** Add value to counter */\n add(value: number, labels?: MetricLabels): void;\n /** Increment counter by 1 */\n inc(labels?: MetricLabels): void;\n /** Get current value */\n getValue(labels?: MetricLabels): number;\n}\n\n/**\n * Histogram metric interface\n */\nexport interface Histogram {\n /** Record a value */\n record(value: number, labels?: MetricLabels): void;\n /** Get histogram data */\n getData(labels?: MetricLabels): HistogramData;\n}\n\n/**\n * Histogram data\n */\nexport interface HistogramData {\n count: number;\n sum: number;\n min: number;\n max: number;\n avg: number;\n buckets: Map<number, number>;\n percentiles: {\n p50: number;\n p75: number;\n p90: number;\n p95: number;\n p99: number;\n };\n}\n\n/**\n * Gauge metric interface\n */\nexport interface Gauge {\n /** Set gauge value */\n set(value: number, labels?: MetricLabels): void;\n /** Add to gauge value */\n add(value: number, labels?: MetricLabels): void;\n /** Subtract from gauge value */\n sub(value: number, labels?: MetricLabels): void;\n /** Get current value */\n getValue(labels?: MetricLabels): number;\n}\n\n/**\n * UpDownCounter metric interface (can go up or down)\n */\nexport interface UpDownCounter {\n /** Add value (can be negative) */\n add(value: number, labels?: MetricLabels): void;\n /** Get current value */\n getValue(labels?: MetricLabels): number;\n}\n\n/**\n * Generate label key for storage\n */\nfunction getLabelKey(labels?: MetricLabels): string {\n if (!labels || Object.keys(labels).length === 0) return '';\n return Object.entries(labels)\n .sort(([a], [b]) => a.localeCompare(b))\n .map(([k, v]) => `${k}=${v}`)\n .join(',');\n}\n\n/**\n * In-memory counter implementation\n */\nclass InMemoryCounter implements Counter {\n private values: Map<string, number> = new Map();\n private readonly name: string;\n private readonly description: string;\n\n constructor(name: string, description: string) {\n this.name = name;\n this.description = description;\n }\n\n add(value: number, labels?: MetricLabels): void {\n const key = getLabelKey(labels);\n const current = this.values.get(key) || 0;\n this.values.set(key, current + value);\n }\n\n inc(labels?: MetricLabels): void {\n this.add(1, labels);\n }\n\n getValue(labels?: MetricLabels): number {\n const key = getLabelKey(labels);\n return this.values.get(key) || 0;\n }\n\n getName(): string {\n return this.name;\n }\n\n getDescription(): string {\n return this.description;\n }\n\n getAllValues(): Map<string, number> {\n return new Map(this.values);\n }\n\n reset(): void {\n this.values.clear();\n }\n}\n\n/**\n * In-memory histogram implementation\n */\nclass InMemoryHistogram implements Histogram {\n private values: Map<string, number[]> = new Map();\n private readonly name: string;\n private readonly description: string;\n private readonly boundaries: number[];\n\n constructor(name: string, description: string, boundaries?: number[]) {\n this.name = name;\n this.description = description;\n this.boundaries = boundaries || [5, 10, 25, 50, 100, 250, 500, 1000, 2500, 5000, 10000];\n }\n\n record(value: number, labels?: MetricLabels): void {\n const key = getLabelKey(labels);\n const existing = this.values.get(key) || [];\n existing.push(value);\n\n // Keep only last 10000 values per label combination\n if (existing.length > 10000) {\n existing.shift();\n }\n\n this.values.set(key, existing);\n }\n\n getData(labels?: MetricLabels): HistogramData {\n const key = getLabelKey(labels);\n const values = this.values.get(key) || [];\n\n if (values.length === 0) {\n return {\n count: 0,\n sum: 0,\n min: 0,\n max: 0,\n avg: 0,\n buckets: new Map(),\n percentiles: { p50: 0, p75: 0, p90: 0, p95: 0, p99: 0 },\n };\n }\n\n const sorted = [...values].sort((a, b) => a - b);\n const sum = values.reduce((a, b) => a + b, 0);\n\n // Calculate bucket counts\n const buckets = new Map<number, number>();\n for (const boundary of this.boundaries) {\n buckets.set(boundary, values.filter((v) => v <= boundary).length);\n }\n buckets.set(Infinity, values.length);\n\n // Calculate percentiles\n const percentile = (p: number): number => {\n const index = Math.ceil((p / 100) * sorted.length) - 1;\n return sorted[Math.max(0, index)] || 0;\n };\n\n return {\n count: values.length,\n sum,\n min: sorted[0] || 0,\n max: sorted[sorted.length - 1] || 0,\n avg: sum / values.length,\n buckets,\n percentiles: {\n p50: percentile(50),\n p75: percentile(75),\n p90: percentile(90),\n p95: percentile(95),\n p99: percentile(99),\n },\n };\n }\n\n getName(): string {\n return this.name;\n }\n\n getDescription(): string {\n return this.description;\n }\n\n getAllData(): Map<string, HistogramData> {\n const result = new Map<string, HistogramData>();\n for (const [key] of this.values) {\n result.set(key, this.getData(key ? this.parseLabels(key) : undefined));\n }\n return result;\n }\n\n private parseLabels(key: string): MetricLabels {\n const labels: MetricLabels = {};\n for (const part of key.split(',')) {\n const [k, v] = part.split('=');\n if (k && v) labels[k] = v;\n }\n return labels;\n }\n\n reset(): void {\n this.values.clear();\n }\n}\n\n/**\n * In-memory gauge implementation\n */\nclass InMemoryGauge implements Gauge {\n private values: Map<string, number> = new Map();\n private readonly name: string;\n private readonly description: string;\n\n constructor(name: string, description: string) {\n this.name = name;\n this.description = description;\n }\n\n set(value: number, labels?: MetricLabels): void {\n const key = getLabelKey(labels);\n this.values.set(key, value);\n }\n\n // eslint-disable-next-line sonarjs/no-identical-functions -- Shared implementation across metric types by design\n add(value: number, labels?: MetricLabels): void {\n const key = getLabelKey(labels);\n const current = this.values.get(key) || 0;\n this.values.set(key, current + value);\n }\n\n sub(value: number, labels?: MetricLabels): void {\n this.add(-value, labels);\n }\n\n getValue(labels?: MetricLabels): number {\n const key = getLabelKey(labels);\n return this.values.get(key) || 0;\n }\n\n getName(): string {\n return this.name;\n }\n\n getDescription(): string {\n return this.description;\n }\n\n getAllValues(): Map<string, number> {\n return new Map(this.values);\n }\n\n reset(): void {\n this.values.clear();\n }\n}\n\n/**\n * In-memory UpDownCounter implementation\n */\nclass InMemoryUpDownCounter implements UpDownCounter {\n private values: Map<string, number> = new Map();\n private readonly name: string;\n private readonly description: string;\n\n constructor(name: string, description: string) {\n this.name = name;\n this.description = description;\n }\n\n // eslint-disable-next-line sonarjs/no-identical-functions -- Shared implementation across metric types by design\n add(value: number, labels?: MetricLabels): void {\n const key = getLabelKey(labels);\n const current = this.values.get(key) || 0;\n this.values.set(key, current + value);\n }\n\n getValue(labels?: MetricLabels): number {\n const key = getLabelKey(labels);\n return this.values.get(key) || 0;\n }\n\n getName(): string {\n return this.name;\n }\n\n getDescription(): string {\n return this.description;\n }\n\n getAllValues(): Map<string, number> {\n return new Map(this.values);\n }\n\n reset(): void {\n this.values.clear();\n }\n}\n\n/**\n * No-op implementations for when metrics are disabled\n */\nclass NoOpCounter implements Counter {\n add(): void {}\n inc(): void {}\n getValue(): number {\n return 0;\n }\n}\n\nclass NoOpHistogram implements Histogram {\n record(): void {}\n getData(): HistogramData {\n return {\n count: 0,\n sum: 0,\n min: 0,\n max: 0,\n avg: 0,\n buckets: new Map(),\n percentiles: { p50: 0, p75: 0, p90: 0, p95: 0, p99: 0 },\n };\n }\n}\n\nclass NoOpGauge implements Gauge {\n set(): void {}\n add(): void {}\n sub(): void {}\n getValue(): number {\n return 0;\n }\n}\n\nclass NoOpUpDownCounter implements UpDownCounter {\n add(): void {}\n getValue(): number {\n return 0;\n }\n}\n\n/**\n * Metrics registry for managing all metrics\n */\nexport class MetricsRegistry {\n private counters: Map<string, InMemoryCounter> = new Map();\n private histograms: Map<string, InMemoryHistogram> = new Map();\n private gauges: Map<string, InMemoryGauge> = new Map();\n private upDownCounters: Map<string, InMemoryUpDownCounter> = new Map();\n private serviceName: string;\n private metricPrefix: string;\n\n constructor(serviceName: string, metricPrefix = '') {\n this.serviceName = serviceName;\n this.metricPrefix = metricPrefix;\n }\n\n /**\n * Get service name\n */\n getServiceName(): string {\n return this.serviceName;\n }\n\n /**\n * Check if metrics are enabled\n */\n private isEnabled(): boolean {\n return isInstrumentationConfigInitialized() && isFeatureEnabled('metrics');\n }\n\n /**\n * Get prefixed metric name\n */\n private getPrefixedName(name: string): string {\n return this.metricPrefix ? `${this.metricPrefix}_${name}` : name;\n }\n\n /**\n * Create or get a counter\n */\n createCounter(name: string, description: string): Counter {\n if (!this.isEnabled()) {\n return new NoOpCounter();\n }\n\n const prefixedName = this.getPrefixedName(name);\n let counter = this.counters.get(prefixedName);\n if (!counter) {\n counter = new InMemoryCounter(prefixedName, description);\n this.counters.set(prefixedName, counter);\n }\n return counter;\n }\n\n /**\n * Create or get a histogram\n */\n createHistogram(name: string, description: string, boundaries?: number[]): Histogram {\n if (!this.isEnabled()) {\n return new NoOpHistogram();\n }\n\n const prefixedName = this.getPrefixedName(name);\n let histogram = this.histograms.get(prefixedName);\n if (!histogram) {\n histogram = new InMemoryHistogram(prefixedName, description, boundaries);\n this.histograms.set(prefixedName, histogram);\n }\n return histogram;\n }\n\n /**\n * Create or get a gauge\n */\n createGauge(name: string, description: string): Gauge {\n if (!this.isEnabled()) {\n return new NoOpGauge();\n }\n\n const prefixedName = this.getPrefixedName(name);\n let gauge = this.gauges.get(prefixedName);\n if (!gauge) {\n gauge = new InMemoryGauge(prefixedName, description);\n this.gauges.set(prefixedName, gauge);\n }\n return gauge;\n }\n\n /**\n * Create or get an up-down counter\n */\n createUpDownCounter(name: string, description: string): UpDownCounter {\n if (!this.isEnabled()) {\n return new NoOpUpDownCounter();\n }\n\n const prefixedName = this.getPrefixedName(name);\n let counter = this.upDownCounters.get(prefixedName);\n if (!counter) {\n counter = new InMemoryUpDownCounter(prefixedName, description);\n this.upDownCounters.set(prefixedName, counter);\n }\n return counter;\n }\n\n /**\n * Create metric from definition\n */\n createFromDefinition(definition: MetricDefinition): Counter | Histogram | Gauge | UpDownCounter {\n switch (definition.type) {\n case 'counter':\n return this.createCounter(definition.name, definition.description);\n case 'histogram':\n return this.createHistogram(definition.name, definition.description, definition.boundaries);\n case 'gauge':\n return this.createGauge(definition.name, definition.description);\n case 'upDownCounter':\n return this.createUpDownCounter(definition.name, definition.description);\n default:\n throw new Error(`Unknown metric type: ${definition.type}`);\n }\n }\n\n /**\n * Get all metrics data\n */\n getAllMetrics(): {\n counters: Array<{ name: string; description: string; values: Map<string, number> }>;\n histograms: Array<{ name: string; description: string; data: Map<string, HistogramData> }>;\n gauges: Array<{ name: string; description: string; values: Map<string, number> }>;\n upDownCounters: Array<{ name: string; description: string; values: Map<string, number> }>;\n } {\n return {\n counters: Array.from(this.counters.values()).map((c) => ({\n name: c.getName(),\n description: c.getDescription(),\n values: c.getAllValues(),\n })),\n histograms: Array.from(this.histograms.values()).map((h) => ({\n name: h.getName(),\n description: h.getDescription(),\n data: h.getAllData(),\n })),\n gauges: Array.from(this.gauges.values()).map((g) => ({\n name: g.getName(),\n description: g.getDescription(),\n values: g.getAllValues(),\n })),\n upDownCounters: Array.from(this.upDownCounters.values()).map((c) => ({\n name: c.getName(),\n description: c.getDescription(),\n values: c.getAllValues(),\n })),\n };\n }\n\n /**\n * Export counter metrics to Prometheus format\n */\n private exportCountersToPrometheus(lines: string[]): void {\n for (const counter of this.counters.values()) {\n lines.push(`# HELP ${counter.getName()} ${counter.getDescription()}`);\n lines.push(`# TYPE ${counter.getName()} counter`);\n for (const [labels, value] of counter.getAllValues()) {\n const labelStr = labels ? `{${labels}}` : '';\n lines.push(`${counter.getName()}${labelStr} ${value}`);\n }\n }\n }\n\n /**\n * Export histogram metrics to Prometheus format\n */\n private exportHistogramsToPrometheus(lines: string[]): void {\n for (const histogram of this.histograms.values()) {\n lines.push(`# HELP ${histogram.getName()} ${histogram.getDescription()}`);\n lines.push(`# TYPE ${histogram.getName()} histogram`);\n for (const [labels, data] of histogram.getAllData()) {\n const labelStr = labels ? `,${labels}` : '';\n for (const [le, count] of data.buckets) {\n const leStr = le === Infinity ? '+Inf' : le.toString();\n lines.push(`${histogram.getName()}_bucket{le=\"${leStr}\"${labelStr}} ${count}`);\n }\n lines.push(`${histogram.getName()}_sum{${labels || ''}} ${data.sum}`);\n lines.push(`${histogram.getName()}_count{${labels || ''}} ${data.count}`);\n }\n }\n }\n\n /**\n * Export gauge metrics to Prometheus format\n */\n private exportGaugesToPrometheus(lines: string[]): void {\n for (const gauge of this.gauges.values()) {\n lines.push(`# HELP ${gauge.getName()} ${gauge.getDescription()}`);\n lines.push(`# TYPE ${gauge.getName()} gauge`);\n for (const [labels, value] of gauge.getAllValues()) {\n const labelStr = labels ? `{${labels}}` : '';\n lines.push(`${gauge.getName()}${labelStr} ${value}`);\n }\n }\n }\n\n /**\n * Export up-down counter metrics to Prometheus format (as gauges)\n */\n private exportUpDownCountersToPrometheus(lines: string[]): void {\n for (const counter of this.upDownCounters.values()) {\n lines.push(`# HELP ${counter.getName()} ${counter.getDescription()}`);\n lines.push(`# TYPE ${counter.getName()} gauge`);\n for (const [labels, value] of counter.getAllValues()) {\n const labelStr = labels ? `{${labels}}` : '';\n lines.push(`${counter.getName()}${labelStr} ${value}`);\n }\n }\n }\n\n /**\n * Export metrics in Prometheus format\n */\n toPrometheusFormat(): string {\n const lines: string[] = [];\n\n this.exportCountersToPrometheus(lines);\n this.exportHistogramsToPrometheus(lines);\n this.exportGaugesToPrometheus(lines);\n this.exportUpDownCountersToPrometheus(lines);\n\n return lines.join('\\n');\n }\n\n /**\n * Reset all metrics\n */\n reset(): void {\n for (const counter of this.counters.values()) {\n counter.reset();\n }\n for (const histogram of this.histograms.values()) {\n histogram.reset();\n }\n for (const gauge of this.gauges.values()) {\n gauge.reset();\n }\n for (const counter of this.upDownCounters.values()) {\n counter.reset();\n }\n }\n\n /**\n * Clear all metrics (remove registrations)\n */\n clear(): void {\n this.counters.clear();\n this.histograms.clear();\n this.gauges.clear();\n this.upDownCounters.clear();\n }\n}\n\n/**\n * Global metrics registry\n */\nlet globalRegistry: MetricsRegistry | null = null;\n\n/**\n * Initialize global metrics registry\n */\nexport function initializeMetricsRegistry(serviceName: string, metricPrefix = ''): MetricsRegistry {\n globalRegistry = new MetricsRegistry(serviceName, metricPrefix);\n return globalRegistry;\n}\n\n/**\n * Get global metrics registry\n */\nexport function getMetricsRegistry(): MetricsRegistry {\n if (!globalRegistry) {\n globalRegistry = new MetricsRegistry('unknown-service');\n }\n return globalRegistry;\n}\n\n/**\n * Check if metrics registry is initialized\n */\nexport function isMetricsRegistryInitialized(): boolean {\n return globalRegistry !== null;\n}\n\n/**\n * Reset global metrics registry (useful for testing)\n */\nexport function resetMetricsRegistry(): void {\n if (globalRegistry) {\n globalRegistry.clear();\n }\n globalRegistry = null;\n}\n\n/**\n * Convenience functions for creating metrics\n */\nexport function createCounter(name: string, description: string): Counter {\n return getMetricsRegistry().createCounter(name, description);\n}\n\nexport function createHistogram(name: string, description: string, boundaries?: number[]): Histogram {\n return getMetricsRegistry().createHistogram(name, description, boundaries);\n}\n\nexport function createGauge(name: string, description: string): Gauge {\n return getMetricsRegistry().createGauge(name, description);\n}\n\nexport function createUpDownCounter(name: string, description: string): UpDownCounter {\n return getMetricsRegistry().createUpDownCounter(name, description);\n}\n"]}
|
package/dist/graph/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { AUDIT_FIELDS, GraphEventsPublisher, GraphExportService, GraphModule, SOFT_DELETE_FIELDS, STANDARD_FIELDS, TENANT_FIELDS, createGraphEventsHelper, createGraphExportService, createPrismaGraphIntegration, createRelationshipFromEntity, defineEntity, defineGraphConfig, defineModuleGraph, defineRelationship, getGraphEventsPublisher, getGraphStats, initializeGraph, isGraphInitialized } from '../chunk-
|
|
1
|
+
export { AUDIT_FIELDS, GraphEventsPublisher, GraphExportService, GraphModule, SOFT_DELETE_FIELDS, STANDARD_FIELDS, TENANT_FIELDS, createGraphEventsHelper, createGraphExportService, createPrismaGraphIntegration, createRelationshipFromEntity, defineEntity, defineGraphConfig, defineModuleGraph, defineRelationship, getGraphEventsPublisher, getGraphStats, initializeGraph, isGraphInitialized } from '../chunk-BESBOSX2.js';
|
|
2
2
|
export { GraphRegistry, addGraphExtension, createEntityEvent, createRelationshipEvent, extractEntityTitle, extractMinimalFields, getCollectionForEntity, parseRelationship, shouldSyncEntity, shouldSyncRelationship } from '../chunk-5CESUKWC.js';
|
|
3
|
-
import '../chunk-O6RHB2YP.js';
|
|
4
|
-
import '../chunk-HP6JTFNR.js';
|
|
5
3
|
import '../chunk-WCBKW3CL.js';
|
|
6
4
|
import '../chunk-SO57HNXV.js';
|
|
7
5
|
import '../chunk-TM5RQ6P2.js';
|
|
8
6
|
import '../chunk-MVHOP4IG.js';
|
|
7
|
+
import '../chunk-O6RHB2YP.js';
|
|
8
|
+
import '../chunk-HP6JTFNR.js';
|
|
9
9
|
import '../chunk-CBZNP6RF.js';
|
|
10
10
|
import '../chunk-XE4OXN2W.js';
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js
CHANGED
|
@@ -1,23 +1,28 @@
|
|
|
1
1
|
export { TemporalClient, TemporalClientFactory, TemporalModule, TemporalWorker, TemporalWorkerFactory, TemporalWorkerManager } from './chunk-5SD7DU3L.js';
|
|
2
|
-
import { ActivityModule, UsageModule, TrackerModule } from './chunk-
|
|
3
|
-
export { ActivityModule, TrackerModule, UsageModule } from './chunk-
|
|
4
|
-
|
|
2
|
+
import { ActivityModule, UsageModule, TrackerModule } from './chunk-5FJZI7VX.js';
|
|
3
|
+
export { ActivityModule, TrackerModule, UsageModule } from './chunk-5FJZI7VX.js';
|
|
4
|
+
import { RBACModule } from './chunk-O2MEBPDT.js';
|
|
5
|
+
export { RBACModule, createRBACDirective, createRBACDirectiveForLayer, createRBACDirectiveFromEnv } from './chunk-O2MEBPDT.js';
|
|
6
|
+
export { instrumentation_exports as Instrumentation } from './chunk-KTPFSXZF.js';
|
|
7
|
+
import './chunk-REF7PANB.js';
|
|
5
8
|
export { middleware_exports as Middleware } from './chunk-2HANKZZM.js';
|
|
6
9
|
import { TenantNotificationsModule, NotificationsModule } from './chunk-RMDKB5O7.js';
|
|
7
10
|
export { tenant_notifications_exports as Notifications, NotificationsModule } from './chunk-RMDKB5O7.js';
|
|
8
11
|
export { observability_exports as Observability } from './chunk-5LXDPGDH.js';
|
|
9
12
|
export { prisma_exports as Prisma } from './chunk-S5S6OBS6.js';
|
|
10
13
|
import './chunk-GTEMQXCA.js';
|
|
11
|
-
import { RBACModule } from './chunk-O2MEBPDT.js';
|
|
12
|
-
export { RBACModule, createRBACDirective, createRBACDirectiveForLayer, createRBACDirectiveFromEnv } from './chunk-O2MEBPDT.js';
|
|
13
14
|
export { export_exports as Export } from './chunk-VLEOOG2L.js';
|
|
14
|
-
export { dataloader_exports as DataLoader } from './chunk-NUB5GQTU.js';
|
|
15
15
|
export { feature_flags_exports as FeatureFlags } from './chunk-VWCN5PMD.js';
|
|
16
|
-
import { GraphModule } from './chunk-
|
|
17
|
-
export { graph_exports as Graph, GraphModule } from './chunk-
|
|
16
|
+
import { GraphModule } from './chunk-BESBOSX2.js';
|
|
17
|
+
export { graph_exports as Graph, GraphModule } from './chunk-BESBOSX2.js';
|
|
18
18
|
import './chunk-5CESUKWC.js';
|
|
19
|
+
import { EventsModule } from './chunk-WCBKW3CL.js';
|
|
20
|
+
export { event_queue_exports as EventQueue, EventsModule } from './chunk-WCBKW3CL.js';
|
|
21
|
+
import './chunk-SO57HNXV.js';
|
|
22
|
+
import { QueueType, EventQueueFactory } from './chunk-TM5RQ6P2.js';
|
|
19
23
|
export { graphql_exports as GraphQL } from './chunk-RRFNSBDZ.js';
|
|
20
24
|
import './chunk-QLVKMWFA.js';
|
|
25
|
+
import './chunk-MVHOP4IG.js';
|
|
21
26
|
export { i18n_exports as I18n, createTranslator, getLanguage, getLocale, hasI18n, t } from './chunk-IYE2NTRX.js';
|
|
22
27
|
export { init_exports as Init } from './chunk-EZOXXSD4.js';
|
|
23
28
|
export { gateway_exports as Gateway } from './chunk-3F4SLVRL.js';
|
|
@@ -34,13 +39,9 @@ import { DatabaseModule } from './chunk-UFQQSQG6.js';
|
|
|
34
39
|
export { DatabaseModule } from './chunk-UFQQSQG6.js';
|
|
35
40
|
import { APIError, NetworkError, TimeoutError, ValidationError } from './chunk-O6RHB2YP.js';
|
|
36
41
|
export { DEFAULT_CIRCUIT_BREAKER_CONFIG, DEFAULT_GATEWAY_RETRY_CONFIG, DEFAULT_GATEWAY_ROUTING, DEFAULT_LAYER_RESOURCES, DEFAULT_LAYER_STREAMS } from './chunk-HP6JTFNR.js';
|
|
37
|
-
import { EventsModule } from './chunk-WCBKW3CL.js';
|
|
38
|
-
export { event_queue_exports as EventQueue, EventsModule } from './chunk-WCBKW3CL.js';
|
|
39
|
-
import './chunk-SO57HNXV.js';
|
|
40
|
-
import { QueueType, EventQueueFactory } from './chunk-TM5RQ6P2.js';
|
|
41
|
-
import './chunk-MVHOP4IG.js';
|
|
42
42
|
import { logger } from './chunk-CBZNP6RF.js';
|
|
43
43
|
export { logger_exports as Logger } from './chunk-CBZNP6RF.js';
|
|
44
|
+
export { dataloader_exports as DataLoader } from './chunk-NUB5GQTU.js';
|
|
44
45
|
import { __name } from './chunk-XE4OXN2W.js';
|
|
45
46
|
import { GraphQLClient } from 'graphql-request';
|
|
46
47
|
import { AsyncLocalStorage } from 'async_hooks';
|