@thirdweb-dev/service-utils 0.8.3-nightly-a22457a69cc6667ac13599d10ebddc41ceafa0ff-20250130210855 → 0.8.3-nightly-9abdb9202800e0bc0d51fde56e54a912a7f761b0-20250131000035
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/cjs/node/usageV2.js
CHANGED
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UsageV2Producer = void 0;
|
4
4
|
const node_crypto_1 = require("node:crypto");
|
5
5
|
const node_tls_1 = require("node:tls");
|
6
|
-
const
|
6
|
+
const KafkaJS = require("kafkajs");
|
7
|
+
const kafkajs_lz4_1 = require("kafkajs-lz4");
|
7
8
|
const usageV2_js_1 = require("../core/usageV2.js");
|
8
9
|
/**
|
9
10
|
* Creates a UsageV2Producer which opens a persistent TCP connection.
|
@@ -38,9 +39,16 @@ class UsageV2Producer {
|
|
38
39
|
writable: true,
|
39
40
|
value: void 0
|
40
41
|
});
|
41
|
-
this
|
42
|
-
|
43
|
-
|
42
|
+
Object.defineProperty(this, "compression", {
|
43
|
+
enumerable: true,
|
44
|
+
configurable: true,
|
45
|
+
writable: true,
|
46
|
+
value: void 0
|
47
|
+
});
|
48
|
+
const { producerName, environment, productName, compression = KafkaJS.CompressionTypes.LZ4, username, password, } = config;
|
49
|
+
this.kafka = new KafkaJS.Kafka({
|
50
|
+
clientId: `${producerName}-${environment}`,
|
51
|
+
brokers: environment === "production"
|
44
52
|
? ["warpstream.thirdweb.xyz:9092"]
|
45
53
|
: ["warpstream-dev.thirdweb.xyz:9092"],
|
46
54
|
ssl: {
|
@@ -50,17 +58,22 @@ class UsageV2Producer {
|
|
50
58
|
},
|
51
59
|
sasl: {
|
52
60
|
mechanism: "plain",
|
53
|
-
username
|
54
|
-
password
|
61
|
+
username,
|
62
|
+
password,
|
55
63
|
},
|
56
64
|
});
|
57
|
-
this.topic = (0, usageV2_js_1.getTopicName)(
|
65
|
+
this.topic = (0, usageV2_js_1.getTopicName)(productName);
|
66
|
+
this.compression = compression;
|
58
67
|
}
|
59
68
|
/**
|
60
69
|
* Connect the producer.
|
61
70
|
* This must be called before calling `sendEvents()`.
|
62
71
|
*/
|
63
72
|
async init(configOverrides) {
|
73
|
+
if (this.compression === KafkaJS.CompressionTypes.LZ4) {
|
74
|
+
KafkaJS.CompressionCodecs[KafkaJS.CompressionTypes.LZ4] =
|
75
|
+
new kafkajs_lz4_1.default().codec;
|
76
|
+
}
|
64
77
|
this.producer = this.kafka.producer({
|
65
78
|
allowAutoTopicCreation: false,
|
66
79
|
...configOverrides,
|
@@ -103,7 +116,7 @@ class UsageV2Producer {
|
|
103
116
|
})),
|
104
117
|
acks: -1, // All brokers must acknowledge
|
105
118
|
timeout: 10_000, // 10 seconds
|
106
|
-
compression:
|
119
|
+
compression: this.compression,
|
107
120
|
...configOverrides,
|
108
121
|
});
|
109
122
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/node/usageV2.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,uCAA+C;AAC/C,
|
1
|
+
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/node/usageV2.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/node/usageV2.js
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
2
2
|
import { checkServerIdentity } from "node:tls";
|
3
|
-
import
|
3
|
+
import * as KafkaJS from "kafkajs";
|
4
|
+
import LZ4Codec from "kafkajs-lz4";
|
4
5
|
import { getTopicName } from "../core/usageV2.js";
|
5
6
|
/**
|
6
7
|
* Creates a UsageV2Producer which opens a persistent TCP connection.
|
@@ -35,9 +36,16 @@ export class UsageV2Producer {
|
|
35
36
|
writable: true,
|
36
37
|
value: void 0
|
37
38
|
});
|
38
|
-
this
|
39
|
-
|
40
|
-
|
39
|
+
Object.defineProperty(this, "compression", {
|
40
|
+
enumerable: true,
|
41
|
+
configurable: true,
|
42
|
+
writable: true,
|
43
|
+
value: void 0
|
44
|
+
});
|
45
|
+
const { producerName, environment, productName, compression = KafkaJS.CompressionTypes.LZ4, username, password, } = config;
|
46
|
+
this.kafka = new KafkaJS.Kafka({
|
47
|
+
clientId: `${producerName}-${environment}`,
|
48
|
+
brokers: environment === "production"
|
41
49
|
? ["warpstream.thirdweb.xyz:9092"]
|
42
50
|
: ["warpstream-dev.thirdweb.xyz:9092"],
|
43
51
|
ssl: {
|
@@ -47,17 +55,22 @@ export class UsageV2Producer {
|
|
47
55
|
},
|
48
56
|
sasl: {
|
49
57
|
mechanism: "plain",
|
50
|
-
username
|
51
|
-
password
|
58
|
+
username,
|
59
|
+
password,
|
52
60
|
},
|
53
61
|
});
|
54
|
-
this.topic = getTopicName(
|
62
|
+
this.topic = getTopicName(productName);
|
63
|
+
this.compression = compression;
|
55
64
|
}
|
56
65
|
/**
|
57
66
|
* Connect the producer.
|
58
67
|
* This must be called before calling `sendEvents()`.
|
59
68
|
*/
|
60
69
|
async init(configOverrides) {
|
70
|
+
if (this.compression === KafkaJS.CompressionTypes.LZ4) {
|
71
|
+
KafkaJS.CompressionCodecs[KafkaJS.CompressionTypes.LZ4] =
|
72
|
+
new LZ4Codec().codec;
|
73
|
+
}
|
61
74
|
this.producer = this.kafka.producer({
|
62
75
|
allowAutoTopicCreation: false,
|
63
76
|
...configOverrides,
|
@@ -100,7 +113,7 @@ export class UsageV2Producer {
|
|
100
113
|
})),
|
101
114
|
acks: -1, // All brokers must acknowledge
|
102
115
|
timeout: 10_000, // 10 seconds
|
103
|
-
compression:
|
116
|
+
compression: this.compression,
|
104
117
|
...configOverrides,
|
105
118
|
});
|
106
119
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/node/usageV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,
|
1
|
+
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/node/usageV2.ts"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import * as KafkaJS from "kafkajs";
|
2
2
|
import type { ServiceName } from "../core/services.js";
|
3
3
|
import { type UsageV2Event } from "../core/usageV2.js";
|
4
4
|
/**
|
@@ -18,6 +18,7 @@ export declare class UsageV2Producer {
|
|
18
18
|
private kafka;
|
19
19
|
private producer;
|
20
20
|
private topic;
|
21
|
+
private compression;
|
21
22
|
constructor(config: {
|
22
23
|
/**
|
23
24
|
* A descriptive name for your service. Example: "storage-server"
|
@@ -31,6 +32,10 @@ export declare class UsageV2Producer {
|
|
31
32
|
* The product "source" where usage is coming from.
|
32
33
|
*/
|
33
34
|
productName: ServiceName;
|
35
|
+
/**
|
36
|
+
* The compression algorithm to use.
|
37
|
+
*/
|
38
|
+
compression?: KafkaJS.CompressionTypes;
|
34
39
|
username: string;
|
35
40
|
password: string;
|
36
41
|
});
|
@@ -38,7 +43,7 @@ export declare class UsageV2Producer {
|
|
38
43
|
* Connect the producer.
|
39
44
|
* This must be called before calling `sendEvents()`.
|
40
45
|
*/
|
41
|
-
init(configOverrides?: ProducerConfig): Promise<void>;
|
46
|
+
init(configOverrides?: KafkaJS.ProducerConfig): Promise<void>;
|
42
47
|
/**
|
43
48
|
* Send usageV2 events.
|
44
49
|
* This method may throw. To call this non-blocking:
|
@@ -56,7 +61,6 @@ export declare class UsageV2Producer {
|
|
56
61
|
configOverrides?: {
|
57
62
|
acks?: number;
|
58
63
|
timeout?: number;
|
59
|
-
compression?: CompressionTypes;
|
60
64
|
}): Promise<void>;
|
61
65
|
/**
|
62
66
|
* Disconnects UsageV2Producer.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usageV2.d.ts","sourceRoot":"","sources":["../../../src/node/usageV2.ts"],"names":[],"mappings":"AAEA,OAAO,
|
1
|
+
{"version":3,"file":"usageV2.d.ts","sourceRoot":"","sources":["../../../src/node/usageV2.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,oBAAoB,CAAC;AAErE;;;;;;;;;;;;GAYG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAA2B;gBAElC,MAAM,EAAE;QAClB;;WAEG;QACH,YAAY,EAAE,MAAM,CAAC;QACrB;;WAEG;QACH,WAAW,EAAE,aAAa,GAAG,YAAY,CAAC;QAC1C;;WAEG;QACH,WAAW,EAAE,WAAW,CAAC;QACzB;;WAEG;QACH,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;QAEvC,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB;IAgCD;;;OAGG;IACG,IAAI,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,cAAc;IAanD;;;;;;;;;OASG;IACG,UAAU,CACd,MAAM,EAAE,YAAY,EAAE;IACtB;;OAEG;IACH,eAAe,CAAC,EAAE;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,OAAO,CAAC,IAAI,CAAC;IA6BhB;;;OAGG;IACG,UAAU;CAMjB"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@thirdweb-dev/service-utils",
|
3
|
-
"version": "0.8.3-nightly-
|
3
|
+
"version": "0.8.3-nightly-9abdb9202800e0bc0d51fde56e54a912a7f761b0-20250131000035",
|
4
4
|
"type": "module",
|
5
5
|
"main": "dist/cjs/index.js",
|
6
6
|
"module": "dist/esm/index.js",
|
@@ -47,6 +47,7 @@
|
|
47
47
|
"dependencies": {
|
48
48
|
"aws4fetch": "1.0.20",
|
49
49
|
"kafkajs": "2.2.4",
|
50
|
+
"kafkajs-lz4": "2.0.0-beta.0",
|
50
51
|
"zod": "3.24.1"
|
51
52
|
},
|
52
53
|
"devDependencies": {
|