@rasputin-ai/core 0.7.0 → 0.7.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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -17
- package/dist/instrumentation-manifest/upload-instrumentation-manifest.d.ts.map +1 -1
- package/dist/sdk-meta.d.ts +1 -1
- package/dist/transport/encode-json-request-body.d.ts +5 -0
- package/dist/transport/encode-json-request-body.d.ts.map +1 -0
- package/dist/transport/node-http-fetch.d.ts.map +1 -1
- package/dist/transport/send-batch.d.ts +4 -0
- package/dist/transport/send-batch.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -30,5 +30,6 @@ export { resetSourceIdentityCache, runtimeFunctionId, sourceDisplayPath, sourceL
|
|
|
30
30
|
export { createSuppression } from './suppression/create-suppression';
|
|
31
31
|
export type { CreateSuppressionOptions, IngestSummary, PrepareSummaryFrames, SummaryIdentity, SuppressionDecideInput, SuppressionDecideResult, } from './suppression/suppression-types';
|
|
32
32
|
export { createTransport } from './transport/create-transport';
|
|
33
|
+
export { encodeJsonRequestBody } from './transport/encode-json-request-body';
|
|
33
34
|
export type { CreateTransportOptions, Transport, TransportPriority, TransportStats, } from './transport/transport-types';
|
|
34
35
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -14,10 +14,18 @@ var writeBody = (req, body) => {
|
|
|
14
14
|
req.end();
|
|
15
15
|
return;
|
|
16
16
|
}
|
|
17
|
-
if (typeof body === "string"
|
|
17
|
+
if (typeof body === "string") {
|
|
18
18
|
req.end(body);
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
|
+
if (ArrayBuffer.isView(body)) {
|
|
22
|
+
req.end(Buffer.from(body.buffer, body.byteOffset, body.byteLength));
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (body instanceof ArrayBuffer) {
|
|
26
|
+
req.end(Buffer.from(body));
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
21
29
|
req.end();
|
|
22
30
|
};
|
|
23
31
|
var createNodeHttpFetch = (unrefSockets = false) => (input, init) => new Promise((resolve4, reject) => {
|
|
@@ -800,7 +808,7 @@ var resolveSourceMaps = async (frames) => {
|
|
|
800
808
|
|
|
801
809
|
// src/sdk-meta.ts
|
|
802
810
|
var SDK_NAME = "@rasputin-ai/core";
|
|
803
|
-
var SDK_VERSION = "0.7.
|
|
811
|
+
var SDK_VERSION = "0.7.1";
|
|
804
812
|
|
|
805
813
|
// src/suppression/identity-needs-message-template.ts
|
|
806
814
|
var identityNeedsMessageTemplate = (type, code) => {
|
|
@@ -1155,8 +1163,21 @@ var registerProcessShutdownHooks = (participant) => {
|
|
|
1155
1163
|
};
|
|
1156
1164
|
};
|
|
1157
1165
|
|
|
1158
|
-
// src/transport/
|
|
1166
|
+
// src/transport/encode-json-request-body.ts
|
|
1159
1167
|
import { gzipSync } from "node:zlib";
|
|
1168
|
+
var GZIP_JSON_THRESHOLD_BYTES = 10 * 1024;
|
|
1169
|
+
var encodeJsonRequestBody = (payload, gzipThresholdBytes = GZIP_JSON_THRESHOLD_BYTES) => {
|
|
1170
|
+
const json = JSON.stringify(payload);
|
|
1171
|
+
if (Buffer.byteLength(json, "utf8") < gzipThresholdBytes) {
|
|
1172
|
+
return { body: json, gzip: false };
|
|
1173
|
+
}
|
|
1174
|
+
const compressed = gzipSync(json);
|
|
1175
|
+
const body = new Uint8Array(compressed.byteLength);
|
|
1176
|
+
body.set(compressed);
|
|
1177
|
+
return { body, gzip: true };
|
|
1178
|
+
};
|
|
1179
|
+
|
|
1180
|
+
// src/transport/send-batch.ts
|
|
1160
1181
|
var sleep = (ms, signal) => new Promise((resolve4) => {
|
|
1161
1182
|
if (ms <= 0 || signal?.aborted) {
|
|
1162
1183
|
resolve4();
|
|
@@ -1237,21 +1258,13 @@ var sendBatch = async (options) => {
|
|
|
1237
1258
|
return { signal: controller.signal, cancel: () => clearTimeout(timer) };
|
|
1238
1259
|
};
|
|
1239
1260
|
const requestTimeoutMs = options.requestTimeoutMs ?? 5e3;
|
|
1240
|
-
const
|
|
1241
|
-
const jsonBytes = Buffer.byteLength(json, "utf8");
|
|
1261
|
+
const { body, gzip } = encodeJsonRequestBody(payload, options.gzipThresholdBytes);
|
|
1242
1262
|
const headers = {
|
|
1243
1263
|
Authorization: `Bearer ${options.projectApiKey}`,
|
|
1244
1264
|
"Content-Type": "application/json",
|
|
1245
1265
|
Accept: "application/json"
|
|
1246
1266
|
};
|
|
1247
|
-
|
|
1248
|
-
if (jsonBytes >= options.gzipThresholdBytes) {
|
|
1249
|
-
const compressed = gzipSync(json);
|
|
1250
|
-
const bytes = new Uint8Array(compressed.byteLength);
|
|
1251
|
-
bytes.set(compressed);
|
|
1252
|
-
body = bytes;
|
|
1253
|
-
headers["Content-Encoding"] = "gzip";
|
|
1254
|
-
}
|
|
1267
|
+
if (gzip) headers["Content-Encoding"] = "gzip";
|
|
1255
1268
|
for (let attempt = 0; attempt <= options.maxRetries; attempt++) {
|
|
1256
1269
|
if (options.signal?.aborted) return result("failed", "aborted");
|
|
1257
1270
|
attempts++;
|
|
@@ -2298,19 +2311,21 @@ var uploadInstrumentationManifest = async (options) => {
|
|
|
2298
2311
|
if (!release) return { ok: false };
|
|
2299
2312
|
const fetchFn = options.fetch ?? defaultIngestFetch();
|
|
2300
2313
|
try {
|
|
2314
|
+
const encoded = encodeJsonRequestBody({ release, manifest: options.manifest });
|
|
2301
2315
|
const response = await fetchFn(options.url, {
|
|
2302
2316
|
method: "POST",
|
|
2303
2317
|
headers: {
|
|
2304
2318
|
Authorization: `Bearer ${options.projectApiKey}`,
|
|
2305
2319
|
"Content-Type": "application/json",
|
|
2306
|
-
Accept: "application/json"
|
|
2320
|
+
Accept: "application/json",
|
|
2321
|
+
...encoded.gzip ? { "Content-Encoding": "gzip" } : {}
|
|
2307
2322
|
},
|
|
2308
|
-
body:
|
|
2323
|
+
body: encoded.body,
|
|
2309
2324
|
...options.signal ? { signal: options.signal } : {}
|
|
2310
2325
|
});
|
|
2311
2326
|
if (!response.ok) return { ok: false };
|
|
2312
|
-
const
|
|
2313
|
-
const verification =
|
|
2327
|
+
const payload = await response.json();
|
|
2328
|
+
const verification = payload.payload?.verification;
|
|
2314
2329
|
return verification ? { ok: true, verification } : { ok: false };
|
|
2315
2330
|
} catch {
|
|
2316
2331
|
return { ok: false };
|
|
@@ -2325,6 +2340,7 @@ export {
|
|
|
2325
2340
|
createSuppression,
|
|
2326
2341
|
createTransport,
|
|
2327
2342
|
defaultSensitivePropertyNames,
|
|
2343
|
+
encodeJsonRequestBody,
|
|
2328
2344
|
foldSyntheticFrames,
|
|
2329
2345
|
hashInstrumentationManifest,
|
|
2330
2346
|
isClientEnabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-instrumentation-manifest.d.ts","sourceRoot":"","sources":["../../src/instrumentation-manifest/upload-instrumentation-manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upload-instrumentation-manifest.d.ts","sourceRoot":"","sources":["../../src/instrumentation-manifest/upload-instrumentation-manifest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EACX,8BAA8B,EAC9B,kBAAkB,EAClB,MAAM,kCAAkC,CAAC;AAE1C,KAAK,oCAAoC,GAAG;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,8BAA8B,CAAC;IACzC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GACzC,SAAS,oCAAoC,KAC3C,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,YAAY,EAAE,kBAAkB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CA2BxE,CAAC"}
|
package/dist/sdk-meta.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode-json-request-body.d.ts","sourceRoot":"","sources":["../../src/transport/encode-json-request-body.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,GACjC,SAAS,OAAO,EAChB,2BAA8C,KAC5C;IAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAUzD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-http-fetch.d.ts","sourceRoot":"","sources":["../../src/transport/node-http-fetch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"node-http-fetch.d.ts","sourceRoot":"","sources":["../../src/transport/node-http-fetch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAuGxD,eAAO,MAAM,kBAAkB,GAAI,UAAU;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,cACtB,CAAC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Posts one ingest batch with gzip, retries, and abort. Isolated from the queue so tests can cover
|
|
3
|
+
* HTTP failure kinds without standing up the full transport lifecycle.
|
|
4
|
+
*/
|
|
1
5
|
import type { IngestEvent } from '../create-ingest-event/create-ingest-event-types';
|
|
2
6
|
import type { IngestSummary } from '../suppression/suppression-types';
|
|
3
7
|
import type { TransportFetch } from './transport-types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-batch.d.ts","sourceRoot":"","sources":["../../src/transport/send-batch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"send-batch.d.ts","sourceRoot":"","sources":["../../src/transport/send-batch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,KAAK,gBAAgB,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC7B,SAAS,GACT,eAAe,GACf,cAAc,GACd,cAAc,GACd,oBAAoB,CAAC;AAExB,MAAM,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,IAAI,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACzC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AA6DF,iGAAiG;AACjG,eAAO,MAAM,SAAS,GAAU,SAAS,gBAAgB,KAAG,OAAO,CAAC,eAAe,CAsGlF,CAAC"}
|