sentienceapi 0.90.4 → 0.90.6
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/snapshot.d.ts.map +1 -1
- package/dist/snapshot.js +12 -1
- package/dist/snapshot.js.map +1 -1
- package/dist/tracing/cloud-sink.d.ts +23 -1
- package/dist/tracing/cloud-sink.d.ts.map +1 -1
- package/dist/tracing/cloud-sink.js +86 -5
- package/dist/tracing/cloud-sink.js.map +1 -1
- package/dist/tracing/tracer-factory.d.ts +3 -0
- package/dist/tracing/tracer-factory.d.ts.map +1 -1
- package/dist/tracing/tracer-factory.js +2 -1
- package/dist/tracing/tracer-factory.js.map +1 -1
- package/package.json +1 -1
package/dist/snapshot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAOnC,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAwBD,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,QAAQ,CAAC,CAiBnB"}
|
package/dist/snapshot.js
CHANGED
|
@@ -39,6 +39,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.snapshot = snapshot;
|
|
40
40
|
const fs = __importStar(require("fs"));
|
|
41
41
|
const path = __importStar(require("path"));
|
|
42
|
+
// Maximum payload size for API requests (10MB server limit)
|
|
43
|
+
const MAX_PAYLOAD_BYTES = 10 * 1024 * 1024;
|
|
42
44
|
/**
|
|
43
45
|
* Save raw_elements to a JSON file for benchmarking/training
|
|
44
46
|
*
|
|
@@ -160,6 +162,15 @@ async function snapshotViaApi(browser, options, apiKey, apiUrl) {
|
|
|
160
162
|
filter: options.filter,
|
|
161
163
|
},
|
|
162
164
|
};
|
|
165
|
+
// Check payload size before sending (server has 10MB limit)
|
|
166
|
+
const payloadJson = JSON.stringify(payload);
|
|
167
|
+
const payloadSize = new TextEncoder().encode(payloadJson).length;
|
|
168
|
+
if (payloadSize > MAX_PAYLOAD_BYTES) {
|
|
169
|
+
const sizeMB = (payloadSize / 1024 / 1024).toFixed(2);
|
|
170
|
+
const limitMB = (MAX_PAYLOAD_BYTES / 1024 / 1024).toFixed(0);
|
|
171
|
+
throw new Error(`Payload size (${sizeMB}MB) exceeds server limit (${limitMB}MB). ` +
|
|
172
|
+
`Try reducing the number of elements on the page or filtering elements.`);
|
|
173
|
+
}
|
|
163
174
|
const headers = {
|
|
164
175
|
'Authorization': `Bearer ${apiKey}`,
|
|
165
176
|
'Content-Type': 'application/json',
|
|
@@ -168,7 +179,7 @@ async function snapshotViaApi(browser, options, apiKey, apiUrl) {
|
|
|
168
179
|
const response = await fetch(`${apiUrl}/v1/snapshot`, {
|
|
169
180
|
method: 'POST',
|
|
170
181
|
headers,
|
|
171
|
-
body:
|
|
182
|
+
body: payloadJson,
|
|
172
183
|
});
|
|
173
184
|
if (!response.ok) {
|
|
174
185
|
const errorText = await response.text();
|
package/dist/snapshot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,14 @@
|
|
|
9
9
|
* - Preserves traces locally on upload failure
|
|
10
10
|
*/
|
|
11
11
|
import { TraceSink } from './sink';
|
|
12
|
+
/**
|
|
13
|
+
* Optional logger interface for SDK users
|
|
14
|
+
*/
|
|
15
|
+
export interface SentienceLogger {
|
|
16
|
+
info(message: string): void;
|
|
17
|
+
warn(message: string): void;
|
|
18
|
+
error(message: string): void;
|
|
19
|
+
}
|
|
12
20
|
/**
|
|
13
21
|
* CloudTraceSink writes trace events to a local temp file,
|
|
14
22
|
* then uploads the complete trace to cloud storage on close()
|
|
@@ -36,13 +44,21 @@ export declare class CloudTraceSink extends TraceSink {
|
|
|
36
44
|
private runId;
|
|
37
45
|
private writeStream;
|
|
38
46
|
private closed;
|
|
47
|
+
private apiKey?;
|
|
48
|
+
private apiUrl;
|
|
49
|
+
private logger?;
|
|
50
|
+
private traceFileSizeBytes;
|
|
51
|
+
private screenshotTotalSizeBytes;
|
|
39
52
|
/**
|
|
40
53
|
* Create a new CloudTraceSink
|
|
41
54
|
*
|
|
42
55
|
* @param uploadUrl - Pre-signed PUT URL from Sentience API
|
|
43
56
|
* @param runId - Run ID for persistent cache naming
|
|
57
|
+
* @param apiKey - Sentience API key for calling /v1/traces/complete
|
|
58
|
+
* @param apiUrl - Sentience API base URL (default: https://api.sentienceapi.com)
|
|
59
|
+
* @param logger - Optional logger instance for logging file sizes and errors
|
|
44
60
|
*/
|
|
45
|
-
constructor(uploadUrl: string, runId?: string);
|
|
61
|
+
constructor(uploadUrl: string, runId?: string, apiKey?: string, apiUrl?: string, logger?: SentienceLogger);
|
|
46
62
|
/**
|
|
47
63
|
* Emit a trace event to local temp file (fast, non-blocking)
|
|
48
64
|
*
|
|
@@ -66,6 +82,12 @@ export declare class CloudTraceSink extends TraceSink {
|
|
|
66
82
|
* Internal upload logic (called by both blocking and non-blocking close)
|
|
67
83
|
*/
|
|
68
84
|
private _doUpload;
|
|
85
|
+
/**
|
|
86
|
+
* Call /v1/traces/complete to report file sizes to gateway.
|
|
87
|
+
*
|
|
88
|
+
* This is a best-effort call - failures are logged but don't affect upload success.
|
|
89
|
+
*/
|
|
90
|
+
private _completeTrace;
|
|
69
91
|
/**
|
|
70
92
|
* Get unique identifier for this sink
|
|
71
93
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-sink.d.ts","sourceRoot":"","sources":["../../src/tracing/cloud-sink.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"cloud-sink.d.ts","sourceRoot":"","sources":["../../src/tracing/cloud-sink.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAkBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAC3C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAC,CAAkB;IAGjC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,wBAAwB,CAAa;IAE7C;;;;;;;;OAQG;gBAED,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,eAAe;IAkC1B;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAkBtC;;OAEG;YACW,cAAc;IAwC5B;;;;;;;OAOG;IACG,KAAK,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BpD;;OAEG;YACW,SAAS;IAiEvB;;;;OAIG;YACW,cAAc;IA+D5B;;OAEG;IACH,WAAW,IAAI,MAAM;CAGtB"}
|
|
@@ -45,6 +45,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
45
45
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
46
|
exports.CloudTraceSink = void 0;
|
|
47
47
|
const fs = __importStar(require("fs"));
|
|
48
|
+
const fs_1 = require("fs");
|
|
48
49
|
const os = __importStar(require("os"));
|
|
49
50
|
const path = __importStar(require("path"));
|
|
50
51
|
const zlib = __importStar(require("zlib"));
|
|
@@ -92,13 +93,22 @@ class CloudTraceSink extends sink_1.TraceSink {
|
|
|
92
93
|
*
|
|
93
94
|
* @param uploadUrl - Pre-signed PUT URL from Sentience API
|
|
94
95
|
* @param runId - Run ID for persistent cache naming
|
|
96
|
+
* @param apiKey - Sentience API key for calling /v1/traces/complete
|
|
97
|
+
* @param apiUrl - Sentience API base URL (default: https://api.sentienceapi.com)
|
|
98
|
+
* @param logger - Optional logger instance for logging file sizes and errors
|
|
95
99
|
*/
|
|
96
|
-
constructor(uploadUrl, runId) {
|
|
100
|
+
constructor(uploadUrl, runId, apiKey, apiUrl, logger) {
|
|
97
101
|
super();
|
|
98
102
|
this.writeStream = null;
|
|
99
103
|
this.closed = false;
|
|
104
|
+
// File size tracking (NEW)
|
|
105
|
+
this.traceFileSizeBytes = 0;
|
|
106
|
+
this.screenshotTotalSizeBytes = 0;
|
|
100
107
|
this.uploadUrl = uploadUrl;
|
|
101
108
|
this.runId = runId || `trace-${Date.now()}`;
|
|
109
|
+
this.apiKey = apiKey;
|
|
110
|
+
this.apiUrl = apiUrl || 'https://api.sentienceapi.com';
|
|
111
|
+
this.logger = logger;
|
|
102
112
|
// PRODUCTION FIX: Use persistent cache directory instead of /tmp
|
|
103
113
|
// This ensures traces survive process crashes!
|
|
104
114
|
const cacheDir = getPersistentCacheDir();
|
|
@@ -225,20 +235,32 @@ class CloudTraceSink extends sink_1.TraceSink {
|
|
|
225
235
|
});
|
|
226
236
|
});
|
|
227
237
|
}
|
|
228
|
-
// 2. Read and compress trace data
|
|
229
|
-
|
|
238
|
+
// 2. Read and compress trace data (using async operations)
|
|
239
|
+
try {
|
|
240
|
+
await fs_1.promises.access(this.tempFilePath);
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
230
243
|
console.warn('[CloudTraceSink] Temp file does not exist, skipping upload');
|
|
231
244
|
return;
|
|
232
245
|
}
|
|
233
|
-
const traceData =
|
|
246
|
+
const traceData = await fs_1.promises.readFile(this.tempFilePath);
|
|
234
247
|
const compressedData = zlib.gzipSync(traceData);
|
|
248
|
+
// Measure trace file size (NEW)
|
|
249
|
+
this.traceFileSizeBytes = compressedData.length;
|
|
250
|
+
// Log file sizes if logger is provided (NEW)
|
|
251
|
+
if (this.logger) {
|
|
252
|
+
this.logger.info(`Trace file size: ${(this.traceFileSizeBytes / 1024 / 1024).toFixed(2)} MB`);
|
|
253
|
+
this.logger.info(`Screenshot total: ${(this.screenshotTotalSizeBytes / 1024 / 1024).toFixed(2)} MB`);
|
|
254
|
+
}
|
|
235
255
|
// 3. Upload to cloud via pre-signed URL
|
|
236
256
|
console.log(`📤 [Sentience] Uploading trace to cloud (${compressedData.length} bytes)...`);
|
|
237
257
|
const statusCode = await this._uploadToCloud(compressedData);
|
|
238
258
|
if (statusCode === 200) {
|
|
239
259
|
console.log('✅ [Sentience] Trace uploaded successfully');
|
|
260
|
+
// Call /v1/traces/complete to report file sizes (NEW)
|
|
261
|
+
await this._completeTrace();
|
|
240
262
|
// 4. Delete temp file on success
|
|
241
|
-
|
|
263
|
+
await fs_1.promises.unlink(this.tempFilePath);
|
|
242
264
|
}
|
|
243
265
|
else {
|
|
244
266
|
console.error(`❌ [Sentience] Upload failed: HTTP ${statusCode}`);
|
|
@@ -251,6 +273,65 @@ class CloudTraceSink extends sink_1.TraceSink {
|
|
|
251
273
|
// Don't throw - preserve trace locally even if upload fails
|
|
252
274
|
}
|
|
253
275
|
}
|
|
276
|
+
/**
|
|
277
|
+
* Call /v1/traces/complete to report file sizes to gateway.
|
|
278
|
+
*
|
|
279
|
+
* This is a best-effort call - failures are logged but don't affect upload success.
|
|
280
|
+
*/
|
|
281
|
+
async _completeTrace() {
|
|
282
|
+
if (!this.apiKey) {
|
|
283
|
+
// No API key - skip complete call
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
return new Promise((resolve) => {
|
|
287
|
+
const url = new url_1.URL(`${this.apiUrl}/v1/traces/complete`);
|
|
288
|
+
const protocol = url.protocol === 'https:' ? https : http;
|
|
289
|
+
const body = JSON.stringify({
|
|
290
|
+
run_id: this.runId,
|
|
291
|
+
stats: {
|
|
292
|
+
trace_file_size_bytes: this.traceFileSizeBytes,
|
|
293
|
+
screenshot_total_size_bytes: this.screenshotTotalSizeBytes,
|
|
294
|
+
},
|
|
295
|
+
});
|
|
296
|
+
const options = {
|
|
297
|
+
hostname: url.hostname,
|
|
298
|
+
port: url.port || (url.protocol === 'https:' ? 443 : 80),
|
|
299
|
+
path: url.pathname + url.search,
|
|
300
|
+
method: 'POST',
|
|
301
|
+
headers: {
|
|
302
|
+
'Content-Type': 'application/json',
|
|
303
|
+
'Content-Length': Buffer.byteLength(body),
|
|
304
|
+
Authorization: `Bearer ${this.apiKey}`,
|
|
305
|
+
},
|
|
306
|
+
timeout: 10000, // 10 second timeout
|
|
307
|
+
};
|
|
308
|
+
const req = protocol.request(options, (res) => {
|
|
309
|
+
// Consume response data
|
|
310
|
+
res.on('data', () => { });
|
|
311
|
+
res.on('end', () => {
|
|
312
|
+
if (res.statusCode === 200) {
|
|
313
|
+
this.logger?.info('Trace completion reported to gateway');
|
|
314
|
+
}
|
|
315
|
+
else {
|
|
316
|
+
this.logger?.warn(`Failed to report trace completion: HTTP ${res.statusCode}`);
|
|
317
|
+
}
|
|
318
|
+
resolve();
|
|
319
|
+
});
|
|
320
|
+
});
|
|
321
|
+
req.on('error', (error) => {
|
|
322
|
+
// Best-effort - log but don't fail
|
|
323
|
+
this.logger?.warn(`Error reporting trace completion: ${error.message}`);
|
|
324
|
+
resolve();
|
|
325
|
+
});
|
|
326
|
+
req.on('timeout', () => {
|
|
327
|
+
req.destroy();
|
|
328
|
+
this.logger?.warn('Trace completion request timeout');
|
|
329
|
+
resolve();
|
|
330
|
+
});
|
|
331
|
+
req.write(body);
|
|
332
|
+
req.end();
|
|
333
|
+
});
|
|
334
|
+
}
|
|
254
335
|
/**
|
|
255
336
|
* Get unique identifier for this sink
|
|
256
337
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-sink.js","sourceRoot":"","sources":["../../src/tracing/cloud-sink.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAC7B,2CAA6B;AAC7B,6CAA+B;AAC/B,2CAA6B;AAC7B,6BAA0B;AAC1B,iCAAmC;
|
|
1
|
+
{"version":3,"file":"cloud-sink.js","sourceRoot":"","sources":["../../src/tracing/cloud-sink.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* - Passes runId to CloudTraceSink for persistent cache naming (Risk #1)
|
|
9
9
|
*/
|
|
10
10
|
import { Tracer } from './tracer';
|
|
11
|
+
import { SentienceLogger } from './cloud-sink';
|
|
11
12
|
/**
|
|
12
13
|
* Sentience API base URL (constant)
|
|
13
14
|
*/
|
|
@@ -23,6 +24,7 @@ export declare const SENTIENCE_API_URL = "https://api.sentienceapi.com";
|
|
|
23
24
|
* @param options.apiKey - Sentience API key (e.g., "sk_pro_xxxxx")
|
|
24
25
|
* @param options.runId - Unique identifier for this agent run (generates UUID if not provided)
|
|
25
26
|
* @param options.apiUrl - Sentience API base URL (default: https://api.sentienceapi.com)
|
|
27
|
+
* @param options.logger - Optional logger instance for logging file sizes and errors
|
|
26
28
|
* @returns Tracer configured with appropriate sink
|
|
27
29
|
*
|
|
28
30
|
* @example
|
|
@@ -45,6 +47,7 @@ export declare function createTracer(options: {
|
|
|
45
47
|
apiKey?: string;
|
|
46
48
|
runId?: string;
|
|
47
49
|
apiUrl?: string;
|
|
50
|
+
logger?: SentienceLogger;
|
|
48
51
|
}): Promise<Tracer>;
|
|
49
52
|
/**
|
|
50
53
|
* Synchronous version of createTracer for non-async contexts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer-factory.d.ts","sourceRoot":"","sources":["../../src/tracing/tracer-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"tracer-factory.d.ts","sourceRoot":"","sources":["../../src/tracing/tracer-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAkB,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/D;;GAEG;AACH,eAAO,MAAM,iBAAiB,iCAAiC,CAAC;AA2IhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,CAgElB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAYxD"}
|
|
@@ -181,6 +181,7 @@ function httpPost(url, data, headers) {
|
|
|
181
181
|
* @param options.apiKey - Sentience API key (e.g., "sk_pro_xxxxx")
|
|
182
182
|
* @param options.runId - Unique identifier for this agent run (generates UUID if not provided)
|
|
183
183
|
* @param options.apiUrl - Sentience API base URL (default: https://api.sentienceapi.com)
|
|
184
|
+
* @param options.logger - Optional logger instance for logging file sizes and errors
|
|
184
185
|
* @returns Tracer configured with appropriate sink
|
|
185
186
|
*
|
|
186
187
|
* @example
|
|
@@ -220,7 +221,7 @@ async function createTracer(options) {
|
|
|
220
221
|
const uploadUrl = response.data.upload_url;
|
|
221
222
|
console.log('☁️ [Sentience] Cloud tracing enabled (Pro tier)');
|
|
222
223
|
// PRODUCTION FIX: Pass runId for persistent cache naming
|
|
223
|
-
return new tracer_1.Tracer(runId, new cloud_sink_1.CloudTraceSink(uploadUrl, runId));
|
|
224
|
+
return new tracer_1.Tracer(runId, new cloud_sink_1.CloudTraceSink(uploadUrl, runId, options.apiKey, apiUrl, options.logger));
|
|
224
225
|
}
|
|
225
226
|
else if (response.status === 403) {
|
|
226
227
|
console.log('⚠️ [Sentience] Cloud tracing requires Pro tier');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer-factory.js","sourceRoot":"","sources":["../../src/tracing/tracer-factory.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"tracer-factory.js","sourceRoot":"","sources":["../../src/tracing/tracer-factory.ts"],"names":[],"mappings":"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"}
|