@traccia2/sdk 0.0.1
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/LICENSE +23 -0
- package/README.md +503 -0
- package/dist/auto.d.ts +27 -0
- package/dist/auto.d.ts.map +1 -0
- package/dist/auto.js +171 -0
- package/dist/auto.js.map +1 -0
- package/dist/config/env-config.d.ts +21 -0
- package/dist/config/env-config.d.ts.map +1 -0
- package/dist/config/env-config.js +111 -0
- package/dist/config/env-config.js.map +1 -0
- package/dist/config/pricing-config.d.ts +27 -0
- package/dist/config/pricing-config.d.ts.map +1 -0
- package/dist/config/pricing-config.js +74 -0
- package/dist/config/pricing-config.js.map +1 -0
- package/dist/config/runtime-config.d.ts +65 -0
- package/dist/config/runtime-config.d.ts.map +1 -0
- package/dist/config/runtime-config.js +97 -0
- package/dist/config/runtime-config.js.map +1 -0
- package/dist/context/context.d.ts +29 -0
- package/dist/context/context.d.ts.map +1 -0
- package/dist/context/context.js +48 -0
- package/dist/context/context.js.map +1 -0
- package/dist/exporter/console-exporter.d.ts +18 -0
- package/dist/exporter/console-exporter.d.ts.map +1 -0
- package/dist/exporter/console-exporter.js +39 -0
- package/dist/exporter/console-exporter.js.map +1 -0
- package/dist/exporter/http-exporter.d.ts +57 -0
- package/dist/exporter/http-exporter.d.ts.map +1 -0
- package/dist/exporter/http-exporter.js +181 -0
- package/dist/exporter/http-exporter.js.map +1 -0
- package/dist/exporter/index.d.ts +7 -0
- package/dist/exporter/index.d.ts.map +1 -0
- package/dist/exporter/index.js +12 -0
- package/dist/exporter/index.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/index.d.ts +9 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +16 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/langchain-callback.d.ts +72 -0
- package/dist/integrations/langchain-callback.d.ts.map +1 -0
- package/dist/integrations/langchain-callback.js +201 -0
- package/dist/integrations/langchain-callback.js.map +1 -0
- package/dist/integrations/langgraph-instrumentation.d.ts +57 -0
- package/dist/integrations/langgraph-instrumentation.d.ts.map +1 -0
- package/dist/integrations/langgraph-instrumentation.js +162 -0
- package/dist/integrations/langgraph-instrumentation.js.map +1 -0
- package/dist/processor/batch-processor.d.ts +68 -0
- package/dist/processor/batch-processor.d.ts.map +1 -0
- package/dist/processor/batch-processor.js +150 -0
- package/dist/processor/batch-processor.js.map +1 -0
- package/dist/processor/cost-processor.d.ts +16 -0
- package/dist/processor/cost-processor.d.ts.map +1 -0
- package/dist/processor/cost-processor.js +50 -0
- package/dist/processor/cost-processor.js.map +1 -0
- package/dist/processor/index.d.ts +9 -0
- package/dist/processor/index.d.ts.map +1 -0
- package/dist/processor/index.js +18 -0
- package/dist/processor/index.js.map +1 -0
- package/dist/processor/logging-processor.d.ts +13 -0
- package/dist/processor/logging-processor.d.ts.map +1 -0
- package/dist/processor/logging-processor.js +26 -0
- package/dist/processor/logging-processor.js.map +1 -0
- package/dist/processor/sampler.d.ts +20 -0
- package/dist/processor/sampler.d.ts.map +1 -0
- package/dist/processor/sampler.js +33 -0
- package/dist/processor/sampler.js.map +1 -0
- package/dist/processor/token-counter.d.ts +13 -0
- package/dist/processor/token-counter.d.ts.map +1 -0
- package/dist/processor/token-counter.js +40 -0
- package/dist/processor/token-counter.js.map +1 -0
- package/dist/tracer/index.d.ts +8 -0
- package/dist/tracer/index.d.ts.map +1 -0
- package/dist/tracer/index.js +15 -0
- package/dist/tracer/index.js.map +1 -0
- package/dist/tracer/provider.d.ts +59 -0
- package/dist/tracer/provider.d.ts.map +1 -0
- package/dist/tracer/provider.js +114 -0
- package/dist/tracer/provider.js.map +1 -0
- package/dist/tracer/span-context.d.ts +23 -0
- package/dist/tracer/span-context.d.ts.map +1 -0
- package/dist/tracer/span-context.js +34 -0
- package/dist/tracer/span-context.js.map +1 -0
- package/dist/tracer/span.d.ts +49 -0
- package/dist/tracer/span.d.ts.map +1 -0
- package/dist/tracer/span.js +118 -0
- package/dist/tracer/span.js.map +1 -0
- package/dist/tracer/tracer.d.ts +28 -0
- package/dist/tracer/tracer.d.ts.map +1 -0
- package/dist/tracer/tracer.js +75 -0
- package/dist/tracer/tracer.js.map +1 -0
- package/dist/types.d.ts +135 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +16 -0
- package/dist/types.js.map +1 -0
- package/package.json +79 -0
- package/src/__tests__/exporter.test.ts +62 -0
- package/src/__tests__/integrations-langchain.test.ts +384 -0
- package/src/__tests__/integrations-langgraph.test.ts +479 -0
- package/src/__tests__/processor.test.ts +89 -0
- package/src/__tests__/span.test.ts +103 -0
- package/src/__tests__/tracer.test.ts +89 -0
- package/src/auto.ts +198 -0
- package/src/config/env-config.ts +93 -0
- package/src/config/pricing-config.ts +84 -0
- package/src/config/runtime-config.ts +108 -0
- package/src/context/context.ts +52 -0
- package/src/exporter/console-exporter.ts +38 -0
- package/src/exporter/http-exporter.ts +188 -0
- package/src/exporter/index.ts +7 -0
- package/src/index.ts +51 -0
- package/src/integrations/README.md +287 -0
- package/src/integrations/index.ts +13 -0
- package/src/integrations/langchain-callback.ts +229 -0
- package/src/integrations/langgraph-instrumentation.ts +174 -0
- package/src/processor/batch-processor.ts +180 -0
- package/src/processor/cost-processor.ts +57 -0
- package/src/processor/index.ts +9 -0
- package/src/processor/logging-processor.ts +26 -0
- package/src/processor/sampler.ts +35 -0
- package/src/processor/token-counter.ts +42 -0
- package/src/tracer/index.ts +8 -0
- package/src/tracer/provider.ts +130 -0
- package/src/tracer/span-context.ts +46 -0
- package/src/tracer/span.ts +145 -0
- package/src/tracer/tracer.ts +100 -0
- package/src/types.ts +155 -0
package/dist/auto.js
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* SDK initialization and global tracer management.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getTracerProvider = getTracerProvider;
|
|
7
|
+
exports.initSDK = getTracerProvider;
|
|
8
|
+
exports.setTracerProvider = setTracerProvider;
|
|
9
|
+
exports.getTracer = getTracer;
|
|
10
|
+
exports.startTracing = startTracing;
|
|
11
|
+
exports.stopTracing = stopTracing;
|
|
12
|
+
const provider_1 = require("./tracer/provider");
|
|
13
|
+
const batch_processor_1 = require("./processor/batch-processor");
|
|
14
|
+
const sampler_1 = require("./processor/sampler");
|
|
15
|
+
const token_counter_1 = require("./processor/token-counter");
|
|
16
|
+
const cost_processor_1 = require("./processor/cost-processor");
|
|
17
|
+
const logging_processor_1 = require("./processor/logging-processor");
|
|
18
|
+
const http_exporter_1 = require("./exporter/http-exporter");
|
|
19
|
+
const console_exporter_1 = require("./exporter/console-exporter");
|
|
20
|
+
const env_config_1 = require("./config/env-config");
|
|
21
|
+
const pricing_config_1 = require("./config/pricing-config");
|
|
22
|
+
const runtime_config_1 = require("./config/runtime-config");
|
|
23
|
+
let globalProvider = null;
|
|
24
|
+
let started = false;
|
|
25
|
+
/**
|
|
26
|
+
* Get the global tracer provider.
|
|
27
|
+
*/
|
|
28
|
+
function getTracerProvider() {
|
|
29
|
+
if (!globalProvider) {
|
|
30
|
+
globalProvider = new provider_1.TracerProvider();
|
|
31
|
+
}
|
|
32
|
+
return globalProvider;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Set the global tracer provider.
|
|
36
|
+
*/
|
|
37
|
+
function setTracerProvider(provider) {
|
|
38
|
+
globalProvider = provider;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get a tracer from the global provider.
|
|
42
|
+
*/
|
|
43
|
+
function getTracer(name, version) {
|
|
44
|
+
return getTracerProvider().getTracer(name, version);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Initialize tracing with automatic setup.
|
|
48
|
+
*/
|
|
49
|
+
async function startTracing(config = {}) {
|
|
50
|
+
if (started) {
|
|
51
|
+
return getTracerProvider();
|
|
52
|
+
}
|
|
53
|
+
started = true;
|
|
54
|
+
// Load environment
|
|
55
|
+
if (config.loadEnv !== false) {
|
|
56
|
+
(0, env_config_1.loadEnvFile)();
|
|
57
|
+
}
|
|
58
|
+
const overrides = {};
|
|
59
|
+
if (config.apiKey)
|
|
60
|
+
overrides.apiKey = config.apiKey;
|
|
61
|
+
if (config.endpoint)
|
|
62
|
+
overrides.endpoint = config.endpoint;
|
|
63
|
+
if (config.sampleRate !== undefined)
|
|
64
|
+
overrides.sampleRate = config.sampleRate.toString();
|
|
65
|
+
const envConfig = (0, env_config_1.loadEnvConfig)(overrides);
|
|
66
|
+
// Find agent config
|
|
67
|
+
const agentConfigPath = (0, env_config_1.findAgentConfigPath)();
|
|
68
|
+
if (agentConfigPath) {
|
|
69
|
+
process.env.AGENT_DASHBOARD_AGENT_CONFIG = agentConfigPath;
|
|
70
|
+
}
|
|
71
|
+
// Set up runtime config
|
|
72
|
+
(0, runtime_config_1.updateConfig)({
|
|
73
|
+
autoInstrumentTools: config.autoInstrument ?? false,
|
|
74
|
+
toolInclude: config.toolInclude || [],
|
|
75
|
+
maxToolSpans: config.maxToolSpans ?? 100,
|
|
76
|
+
maxSpanDepth: config.maxSpanDepth ?? 10,
|
|
77
|
+
debug: config.debug ?? false,
|
|
78
|
+
attrTruncationLimit: config.attrTruncationLimit,
|
|
79
|
+
});
|
|
80
|
+
(0, runtime_config_1.setSessionId)(config.sessionId);
|
|
81
|
+
(0, runtime_config_1.setUserId)(config.userId);
|
|
82
|
+
(0, runtime_config_1.setTenantId)(config.tenantId);
|
|
83
|
+
(0, runtime_config_1.setProjectId)(config.projectId);
|
|
84
|
+
// Get or create provider
|
|
85
|
+
const provider = getTracerProvider();
|
|
86
|
+
// Set sampler
|
|
87
|
+
const sampleRate = config.sampleRate ?? (envConfig.sampleRate || 1.0);
|
|
88
|
+
const sampler = new sampler_1.Sampler(Math.min(1, Math.max(0, sampleRate)));
|
|
89
|
+
provider.setSampler(sampler);
|
|
90
|
+
// Create exporter
|
|
91
|
+
const apiKey = config.apiKey || envConfig.apiKey || '';
|
|
92
|
+
const endpoint = config.endpoint || envConfig.endpoint || http_exporter_1.DEFAULT_ENDPOINT;
|
|
93
|
+
let exporter = new http_exporter_1.HttpExporter({
|
|
94
|
+
endpoint,
|
|
95
|
+
apiKey,
|
|
96
|
+
});
|
|
97
|
+
if (config.enableConsoleExporter) {
|
|
98
|
+
const consoleExporter = new console_exporter_1.ConsoleExporter();
|
|
99
|
+
exporter = new CompositeExporter([exporter, consoleExporter]);
|
|
100
|
+
}
|
|
101
|
+
// Add processors
|
|
102
|
+
if (config.enableTokenCounting !== false) {
|
|
103
|
+
provider.addSpanProcessor(new token_counter_1.TokenCountingProcessor());
|
|
104
|
+
}
|
|
105
|
+
if (config.enableCostTracking !== false) {
|
|
106
|
+
const pricingTable = config.pricingOverride
|
|
107
|
+
? config.pricingOverride
|
|
108
|
+
: undefined;
|
|
109
|
+
const [pricing] = await (0, pricing_config_1.loadPricingWithSource)(pricingTable);
|
|
110
|
+
provider.addSpanProcessor(new cost_processor_1.CostAnnotatingProcessor(pricing));
|
|
111
|
+
}
|
|
112
|
+
if (config.enableSpanLogging) {
|
|
113
|
+
provider.addSpanProcessor(new logging_processor_1.LoggingSpanProcessor());
|
|
114
|
+
}
|
|
115
|
+
// Add batch processor with exporter
|
|
116
|
+
const processor = new batch_processor_1.BatchSpanProcessor({
|
|
117
|
+
exporter,
|
|
118
|
+
maxQueueSize: config.maxQueueSize ?? 5000,
|
|
119
|
+
maxExportBatchSize: config.maxExportBatchSize ?? 512,
|
|
120
|
+
scheduleDelayMs: config.scheduleDelayMs ?? 5000,
|
|
121
|
+
sampler,
|
|
122
|
+
});
|
|
123
|
+
provider.addSpanProcessor(processor);
|
|
124
|
+
registerShutdown(provider, processor);
|
|
125
|
+
return provider;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Stop tracing and shutdown all processors.
|
|
129
|
+
*/
|
|
130
|
+
async function stopTracing() {
|
|
131
|
+
if (!globalProvider) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
await globalProvider.shutdown();
|
|
135
|
+
started = false;
|
|
136
|
+
globalProvider = null;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Register shutdown hooks.
|
|
140
|
+
*/
|
|
141
|
+
function registerShutdown(provider, _processor) {
|
|
142
|
+
const shutdown = async () => {
|
|
143
|
+
try {
|
|
144
|
+
await provider.shutdown();
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
// Silently fail
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
151
|
+
process.on('SIGTERM', shutdown);
|
|
152
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
153
|
+
process.on('SIGINT', shutdown);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Composite exporter combining multiple exporters.
|
|
157
|
+
*/
|
|
158
|
+
class CompositeExporter {
|
|
159
|
+
constructor(exporters) {
|
|
160
|
+
this.exporters = exporters;
|
|
161
|
+
}
|
|
162
|
+
async export(spans) {
|
|
163
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument
|
|
164
|
+
const results = await Promise.all(this.exporters.map((e) => e.export(spans)));
|
|
165
|
+
return results.every((r) => r);
|
|
166
|
+
}
|
|
167
|
+
async shutdown() {
|
|
168
|
+
await Promise.all(this.exporters.map((e) => e.shutdown()));
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=auto.js.map
|
package/dist/auto.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto.js","sourceRoot":"","sources":["../src/auto.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment configuration loading.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Load .env file into process.env.
|
|
6
|
+
*/
|
|
7
|
+
export declare function loadEnvFile(envPath?: string): void;
|
|
8
|
+
/**
|
|
9
|
+
* Load configuration from environment variables.
|
|
10
|
+
*/
|
|
11
|
+
export interface EnvConfig {
|
|
12
|
+
apiKey?: string;
|
|
13
|
+
endpoint?: string;
|
|
14
|
+
sampleRate?: number;
|
|
15
|
+
}
|
|
16
|
+
export declare function loadEnvConfig(overrides?: Record<string, string>): EnvConfig;
|
|
17
|
+
/**
|
|
18
|
+
* Find agent config file automatically.
|
|
19
|
+
*/
|
|
20
|
+
export declare function findAgentConfigPath(): string | undefined;
|
|
21
|
+
//# sourceMappingURL=env-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,MAAe,GAAG,IAAI,CA8B1D;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAsB3E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAcxD"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Environment configuration loading.
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.loadEnvFile = loadEnvFile;
|
|
40
|
+
exports.loadEnvConfig = loadEnvConfig;
|
|
41
|
+
exports.findAgentConfigPath = findAgentConfigPath;
|
|
42
|
+
const fs = __importStar(require("fs"));
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
/**
|
|
45
|
+
* Load .env file into process.env.
|
|
46
|
+
*/
|
|
47
|
+
function loadEnvFile(envPath = '.env') {
|
|
48
|
+
if (!fs.existsSync(envPath)) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
const content = fs.readFileSync(envPath, 'utf-8');
|
|
53
|
+
const lines = content.split('\n');
|
|
54
|
+
for (const line of lines) {
|
|
55
|
+
const trimmed = line.trim();
|
|
56
|
+
if (!trimmed || trimmed.startsWith('#')) {
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
const eqIndex = trimmed.indexOf('=');
|
|
60
|
+
if (eqIndex === -1) {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
const key = trimmed.substring(0, eqIndex).trim();
|
|
64
|
+
const value = trimmed.substring(eqIndex + 1).trim().replace(/^["']|["']$/g, '');
|
|
65
|
+
if (key && !(key in process.env)) {
|
|
66
|
+
process.env[key] = value;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
// Silently fail; best-effort loading
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function loadEnvConfig(overrides) {
|
|
75
|
+
const config = {
|
|
76
|
+
apiKey: process.env.AGENT_DASHBOARD_API_KEY,
|
|
77
|
+
endpoint: process.env.AGENT_DASHBOARD_ENDPOINT,
|
|
78
|
+
sampleRate: process.env.AGENT_DASHBOARD_SAMPLE_RATE
|
|
79
|
+
? parseFloat(process.env.AGENT_DASHBOARD_SAMPLE_RATE)
|
|
80
|
+
: undefined,
|
|
81
|
+
};
|
|
82
|
+
if (overrides) {
|
|
83
|
+
if (overrides.apiKey !== undefined) {
|
|
84
|
+
config.apiKey = overrides.apiKey;
|
|
85
|
+
}
|
|
86
|
+
if (overrides.endpoint !== undefined) {
|
|
87
|
+
config.endpoint = overrides.endpoint;
|
|
88
|
+
}
|
|
89
|
+
if (overrides.sampleRate !== undefined) {
|
|
90
|
+
config.sampleRate = parseFloat(overrides.sampleRate);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return config;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Find agent config file automatically.
|
|
97
|
+
*/
|
|
98
|
+
function findAgentConfigPath() {
|
|
99
|
+
const candidates = [
|
|
100
|
+
'./agent_config.json',
|
|
101
|
+
'./agent-config.json',
|
|
102
|
+
'./.config/agent_config.json',
|
|
103
|
+
];
|
|
104
|
+
for (const candidate of candidates) {
|
|
105
|
+
if (fs.existsSync(candidate)) {
|
|
106
|
+
return path.resolve(candidate);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=env-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-config.js","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQH,kCA8BC;AAWD,sCAsBC;AAKD,kDAcC;AAxFD,uCAAyB;AACzB,2CAA6B;AAE7B;;GAEG;AACH,SAAgB,WAAW,CAAC,UAAkB,MAAM;IAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;gBACnB,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAEhF,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qCAAqC;IACvC,CAAC;AACH,CAAC;AAWD,SAAgB,aAAa,CAAC,SAAkC;IAC9D,MAAM,MAAM,GAAc;QACxB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB;QAC3C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;QAC9C,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B;YACjD,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;YACrD,CAAC,CAAC,SAAS;KACd,CAAC;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QACnC,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACvC,CAAC;QACD,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,MAAM,UAAU,GAAG;QACjB,qBAAqB;QACrB,qBAAqB;QACrB,6BAA6B;KAC9B,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pricing configuration management.
|
|
3
|
+
*/
|
|
4
|
+
export interface PricingTable {
|
|
5
|
+
[model: string]: {
|
|
6
|
+
inputCost: number;
|
|
7
|
+
outputCost: number;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export type PricingSource = 'default' | 'env' | 'override';
|
|
11
|
+
/**
|
|
12
|
+
* Default pricing table.
|
|
13
|
+
*/
|
|
14
|
+
export declare const DEFAULT_PRICING: PricingTable;
|
|
15
|
+
/**
|
|
16
|
+
* Fetch remote pricing (placeholder).
|
|
17
|
+
*/
|
|
18
|
+
export declare function fetchRemotePricing(): Promise<PricingTable>;
|
|
19
|
+
/**
|
|
20
|
+
* Load pricing configuration with source tracking.
|
|
21
|
+
*/
|
|
22
|
+
export declare function loadPricingWithSource(override?: PricingTable): Promise<[PricingTable, PricingSource]>;
|
|
23
|
+
/**
|
|
24
|
+
* Load pricing configuration.
|
|
25
|
+
*/
|
|
26
|
+
export declare function loadPricing(override?: PricingTable): Promise<PricingTable>;
|
|
27
|
+
//# sourceMappingURL=pricing-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pricing-config.d.ts","sourceRoot":"","sources":["../../src/config/pricing-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,CAAC,KAAK,EAAE,MAAM,GAAG;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,YAqB7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,CAG1D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAuBxC;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAGhF"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Pricing configuration management.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DEFAULT_PRICING = void 0;
|
|
7
|
+
exports.fetchRemotePricing = fetchRemotePricing;
|
|
8
|
+
exports.loadPricingWithSource = loadPricingWithSource;
|
|
9
|
+
exports.loadPricing = loadPricing;
|
|
10
|
+
/**
|
|
11
|
+
* Default pricing table.
|
|
12
|
+
*/
|
|
13
|
+
exports.DEFAULT_PRICING = {
|
|
14
|
+
'gpt-3.5-turbo': {
|
|
15
|
+
inputCost: 0.0005,
|
|
16
|
+
outputCost: 0.0015,
|
|
17
|
+
},
|
|
18
|
+
'gpt-4': {
|
|
19
|
+
inputCost: 0.03,
|
|
20
|
+
outputCost: 0.06,
|
|
21
|
+
},
|
|
22
|
+
'gpt-4-turbo': {
|
|
23
|
+
inputCost: 0.01,
|
|
24
|
+
outputCost: 0.03,
|
|
25
|
+
},
|
|
26
|
+
'claude-2': {
|
|
27
|
+
inputCost: 0.008,
|
|
28
|
+
outputCost: 0.024,
|
|
29
|
+
},
|
|
30
|
+
'claude-3-opus': {
|
|
31
|
+
inputCost: 0.015,
|
|
32
|
+
outputCost: 0.075,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Fetch remote pricing (placeholder).
|
|
37
|
+
*/
|
|
38
|
+
function fetchRemotePricing() {
|
|
39
|
+
// In production, this would fetch from a backend service
|
|
40
|
+
return Promise.resolve(exports.DEFAULT_PRICING);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Load pricing configuration with source tracking.
|
|
44
|
+
*/
|
|
45
|
+
function loadPricingWithSource(override) {
|
|
46
|
+
let pricing = { ...exports.DEFAULT_PRICING };
|
|
47
|
+
let source = 'default';
|
|
48
|
+
const envOverride = process.env.AGENT_DASHBOARD_PRICING_JSON;
|
|
49
|
+
if (envOverride) {
|
|
50
|
+
try {
|
|
51
|
+
const envPricing = JSON.parse(envOverride);
|
|
52
|
+
if (typeof envPricing === 'object') {
|
|
53
|
+
pricing = { ...pricing, ...envPricing };
|
|
54
|
+
source = 'env';
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
// Ignore parsing errors
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (override) {
|
|
62
|
+
pricing = { ...pricing, ...override };
|
|
63
|
+
source = 'override';
|
|
64
|
+
}
|
|
65
|
+
return Promise.resolve([pricing, source]);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Load pricing configuration.
|
|
69
|
+
*/
|
|
70
|
+
async function loadPricing(override) {
|
|
71
|
+
const [pricing] = await loadPricingWithSource(override);
|
|
72
|
+
return pricing;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=pricing-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pricing-config.js","sourceRoot":"","sources":["../../src/config/pricing-config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAwCH,gDAGC;AAKD,sDAyBC;AAKD,kCAGC;AAtED;;GAEG;AACU,QAAA,eAAe,GAAiB;IAC3C,eAAe,EAAE;QACf,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,MAAM;KACnB;IACD,OAAO,EAAE;QACP,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,IAAI;KACjB;IACD,aAAa,EAAE;QACb,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,IAAI;KACjB;IACD,UAAU,EAAE;QACV,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,KAAK;KAClB;IACD,eAAe,EAAE;QACf,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,KAAK;KAClB;CACF,CAAC;AAEF;;GAEG;AACH,SAAgB,kBAAkB;IAChC,yDAAyD;IACzD,OAAO,OAAO,CAAC,OAAO,CAAC,uBAAe,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CACnC,QAAuB;IAEvB,IAAI,OAAO,GAAG,EAAE,GAAG,uBAAe,EAAE,CAAC;IACrC,IAAI,MAAM,GAAkB,SAAS,CAAC;IAEtC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC7D,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAiB,CAAC;YAC3D,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC;gBACxC,MAAM,GAAG,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;QACtC,MAAM,GAAG,UAAU,CAAC;IACtB,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,WAAW,CAAC,QAAuB;IACvD,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime configuration management.
|
|
3
|
+
*/
|
|
4
|
+
interface RuntimeConfig {
|
|
5
|
+
autoInstrumentTools: boolean;
|
|
6
|
+
toolInclude: string[];
|
|
7
|
+
maxToolSpans: number;
|
|
8
|
+
maxSpanDepth: number;
|
|
9
|
+
sessionId?: string;
|
|
10
|
+
userId?: string;
|
|
11
|
+
tenantId?: string;
|
|
12
|
+
projectId?: string;
|
|
13
|
+
debug: boolean;
|
|
14
|
+
attrTruncationLimit?: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Get the current runtime configuration.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getConfig(): RuntimeConfig;
|
|
20
|
+
/**
|
|
21
|
+
* Update the runtime configuration.
|
|
22
|
+
*/
|
|
23
|
+
export declare function updateConfig(partial: Partial<RuntimeConfig>): void;
|
|
24
|
+
/**
|
|
25
|
+
* Set auto-instrument tools flag.
|
|
26
|
+
*/
|
|
27
|
+
export declare function setAutoInstrumentTools(value: boolean): void;
|
|
28
|
+
/**
|
|
29
|
+
* Set tool include list.
|
|
30
|
+
*/
|
|
31
|
+
export declare function setToolInclude(tools: string[]): void;
|
|
32
|
+
/**
|
|
33
|
+
* Set max tool spans.
|
|
34
|
+
*/
|
|
35
|
+
export declare function setMaxToolSpans(max: number): void;
|
|
36
|
+
/**
|
|
37
|
+
* Set max span depth.
|
|
38
|
+
*/
|
|
39
|
+
export declare function setMaxSpanDepth(max: number): void;
|
|
40
|
+
/**
|
|
41
|
+
* Set session ID.
|
|
42
|
+
*/
|
|
43
|
+
export declare function setSessionId(id?: string): void;
|
|
44
|
+
/**
|
|
45
|
+
* Set user ID.
|
|
46
|
+
*/
|
|
47
|
+
export declare function setUserId(id?: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Set tenant ID.
|
|
50
|
+
*/
|
|
51
|
+
export declare function setTenantId(id?: string): void;
|
|
52
|
+
/**
|
|
53
|
+
* Set project ID.
|
|
54
|
+
*/
|
|
55
|
+
export declare function setProjectId(id?: string): void;
|
|
56
|
+
/**
|
|
57
|
+
* Set debug flag.
|
|
58
|
+
*/
|
|
59
|
+
export declare function setDebug(value: boolean): void;
|
|
60
|
+
/**
|
|
61
|
+
* Set attribute truncation limit.
|
|
62
|
+
*/
|
|
63
|
+
export declare function setAttrTruncationLimit(limit?: number): void;
|
|
64
|
+
export {};
|
|
65
|
+
//# sourceMappingURL=runtime-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-config.d.ts","sourceRoot":"","sources":["../../src/config/runtime-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,UAAU,aAAa;IACrB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAUD;;GAEG;AACH,wBAAgB,SAAS,IAAI,aAAa,CAEzC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAElE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAEpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE7C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAE3D"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Runtime configuration management.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getConfig = getConfig;
|
|
7
|
+
exports.updateConfig = updateConfig;
|
|
8
|
+
exports.setAutoInstrumentTools = setAutoInstrumentTools;
|
|
9
|
+
exports.setToolInclude = setToolInclude;
|
|
10
|
+
exports.setMaxToolSpans = setMaxToolSpans;
|
|
11
|
+
exports.setMaxSpanDepth = setMaxSpanDepth;
|
|
12
|
+
exports.setSessionId = setSessionId;
|
|
13
|
+
exports.setUserId = setUserId;
|
|
14
|
+
exports.setTenantId = setTenantId;
|
|
15
|
+
exports.setProjectId = setProjectId;
|
|
16
|
+
exports.setDebug = setDebug;
|
|
17
|
+
exports.setAttrTruncationLimit = setAttrTruncationLimit;
|
|
18
|
+
let config = {
|
|
19
|
+
autoInstrumentTools: false,
|
|
20
|
+
toolInclude: [],
|
|
21
|
+
maxToolSpans: 100,
|
|
22
|
+
maxSpanDepth: 10,
|
|
23
|
+
debug: false,
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Get the current runtime configuration.
|
|
27
|
+
*/
|
|
28
|
+
function getConfig() {
|
|
29
|
+
return config;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Update the runtime configuration.
|
|
33
|
+
*/
|
|
34
|
+
function updateConfig(partial) {
|
|
35
|
+
config = { ...config, ...partial };
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Set auto-instrument tools flag.
|
|
39
|
+
*/
|
|
40
|
+
function setAutoInstrumentTools(value) {
|
|
41
|
+
config.autoInstrumentTools = value;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Set tool include list.
|
|
45
|
+
*/
|
|
46
|
+
function setToolInclude(tools) {
|
|
47
|
+
config.toolInclude = tools;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Set max tool spans.
|
|
51
|
+
*/
|
|
52
|
+
function setMaxToolSpans(max) {
|
|
53
|
+
config.maxToolSpans = max;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Set max span depth.
|
|
57
|
+
*/
|
|
58
|
+
function setMaxSpanDepth(max) {
|
|
59
|
+
config.maxSpanDepth = max;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Set session ID.
|
|
63
|
+
*/
|
|
64
|
+
function setSessionId(id) {
|
|
65
|
+
config.sessionId = id;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Set user ID.
|
|
69
|
+
*/
|
|
70
|
+
function setUserId(id) {
|
|
71
|
+
config.userId = id;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Set tenant ID.
|
|
75
|
+
*/
|
|
76
|
+
function setTenantId(id) {
|
|
77
|
+
config.tenantId = id;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Set project ID.
|
|
81
|
+
*/
|
|
82
|
+
function setProjectId(id) {
|
|
83
|
+
config.projectId = id;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Set debug flag.
|
|
87
|
+
*/
|
|
88
|
+
function setDebug(value) {
|
|
89
|
+
config.debug = value;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Set attribute truncation limit.
|
|
93
|
+
*/
|
|
94
|
+
function setAttrTruncationLimit(limit) {
|
|
95
|
+
config.attrTruncationLimit = limit;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=runtime-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-config.js","sourceRoot":"","sources":["../../src/config/runtime-config.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA0BH,8BAEC;AAKD,oCAEC;AAKD,wDAEC;AAKD,wCAEC;AAKD,0CAEC;AAKD,0CAEC;AAKD,oCAEC;AAKD,8BAEC;AAKD,kCAEC;AAKD,oCAEC;AAKD,4BAEC;AAKD,wDAEC;AA1FD,IAAI,MAAM,GAAkB;IAC1B,mBAAmB,EAAE,KAAK;IAC1B,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,EAAE;IAChB,KAAK,EAAE,KAAK;CACb,CAAC;AAEF;;GAEG;AACH,SAAgB,SAAS;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,OAA+B;IAC1D,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,KAAc;IACnD,MAAM,CAAC,mBAAmB,GAAG,KAAK,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,KAAe;IAC5C,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,GAAW;IACzC,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,GAAW;IACzC,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,EAAW;IACtC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,EAAW;IACnC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,EAAW;IACrC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,EAAW;IACtC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,KAAc;IACrC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,KAAc;IACnD,MAAM,CAAC,mBAAmB,GAAG,KAAK,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context management for spans using async local storage.
|
|
3
|
+
*/
|
|
4
|
+
import { ISpan } from '../types';
|
|
5
|
+
interface SpanContext {
|
|
6
|
+
span?: ISpan;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Get the current span from context.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getCurrentSpan(): ISpan | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Set the current span in context.
|
|
14
|
+
*/
|
|
15
|
+
export declare function setCurrentSpan(span: ISpan | undefined): void;
|
|
16
|
+
/**
|
|
17
|
+
* Run a function with a specific span as the current span.
|
|
18
|
+
*/
|
|
19
|
+
export declare function runWithSpan<T>(span: ISpan, fn: () => T): T;
|
|
20
|
+
/**
|
|
21
|
+
* Run a function with a specific span as the current span (async).
|
|
22
|
+
*/
|
|
23
|
+
export declare function runWithSpanAsync<T>(span: ISpan, fn: () => Promise<T>): Promise<T>;
|
|
24
|
+
/**
|
|
25
|
+
* Get the current context store.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getContext(): SpanContext;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC;CACd;AAID;;GAEG;AACH,wBAAgB,cAAc,IAAI,KAAK,GAAG,SAAS,CAGlD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI,CAM5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEjF;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,WAAW,CAExC"}
|