@thirdweb-dev/service-utils 0.8.1 → 0.8.2
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/cf-worker/usageV2.js +3 -1
- package/dist/cjs/cf-worker/usageV2.js.map +1 -1
- package/dist/cjs/core/usageV2.js +4 -0
- package/dist/cjs/core/usageV2.js.map +1 -1
- package/dist/cjs/node/usageV2.js +10 -12
- package/dist/cjs/node/usageV2.js.map +1 -1
- package/dist/esm/cf-worker/usageV2.js +3 -1
- package/dist/esm/cf-worker/usageV2.js.map +1 -1
- package/dist/esm/core/usageV2.js +3 -1
- package/dist/esm/core/usageV2.js.map +1 -1
- package/dist/esm/node/usageV2.js +10 -12
- package/dist/esm/node/usageV2.js.map +1 -1
- package/dist/types/cf-worker/usageV2.d.ts +3 -1
- package/dist/types/cf-worker/usageV2.d.ts.map +1 -1
- package/dist/types/core/usageV2.d.ts +5 -7
- package/dist/types/core/usageV2.d.ts.map +1 -1
- package/dist/types/node/usageV2.d.ts +7 -1
- package/dist/types/node/usageV2.d.ts.map +1 -1
- package/package.json +1 -1
@@ -1,6 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.sendUsageV2Events = sendUsageV2Events;
|
4
|
+
const usageV2_js_1 = require("../core/usageV2.js");
|
4
5
|
/**
|
5
6
|
* Send events to Kafka.
|
6
7
|
* This method may throw. To call this non-blocking:
|
@@ -20,7 +21,8 @@ async function sendUsageV2Events(events, options) {
|
|
20
21
|
const baseUrl = options.environment === "production"
|
21
22
|
? "https://u.thirdweb.com"
|
22
23
|
: "https://u.thirdweb-dev.com";
|
23
|
-
const
|
24
|
+
const topic = (0, usageV2_js_1.getTopicName)(options.productName);
|
25
|
+
const resp = await fetch(`${baseUrl}/usage-v2/${topic}`, {
|
24
26
|
method: "POST",
|
25
27
|
headers: {
|
26
28
|
"Content-Type": "application/json",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/cf-worker/usageV2.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/cf-worker/usageV2.ts"],"names":[],"mappings":";;AAkBA,8CA6BC;AA9CD,mDAAqE;AAErE;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAAsB,EACtB,OAIC;IAED,MAAM,OAAO,GACX,OAAO,CAAC,WAAW,KAAK,YAAY;QAClC,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,4BAA4B,CAAC;IAEnC,MAAM,KAAK,GAAG,IAAA,yBAAY,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,aAAa,KAAK,EAAE,EAAE;QACvD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,mBAAmB,EAAE,OAAO,CAAC,UAAU;SACxC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,iCAAiC,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CACrE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;AACtB,CAAC"}
|
package/dist/cjs/core/usageV2.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/core/usageV2.ts"],"names":[],"mappings":""}
|
1
|
+
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/core/usageV2.ts"],"names":[],"mappings":";;AAuDA,oCAEC;AAFD,SAAgB,YAAY,CAAC,WAAwB;IACnD,OAAO,gBAAgB,WAAW,EAAE,CAAC;AACvC,CAAC"}
|
package/dist/cjs/node/usageV2.js
CHANGED
@@ -4,7 +4,7 @@ exports.UsageV2Producer = void 0;
|
|
4
4
|
const node_crypto_1 = require("node:crypto");
|
5
5
|
const node_tls_1 = require("node:tls");
|
6
6
|
const kafkajs_1 = require("kafkajs");
|
7
|
-
const
|
7
|
+
const usageV2_js_1 = require("../core/usageV2.js");
|
8
8
|
/**
|
9
9
|
* Creates a UsageV2Producer which opens a persistent TCP connection.
|
10
10
|
* This class is thread-safe so your service should re-use one instance.
|
@@ -32,6 +32,12 @@ class UsageV2Producer {
|
|
32
32
|
writable: true,
|
33
33
|
value: null
|
34
34
|
});
|
35
|
+
Object.defineProperty(this, "topic", {
|
36
|
+
enumerable: true,
|
37
|
+
configurable: true,
|
38
|
+
writable: true,
|
39
|
+
value: void 0
|
40
|
+
});
|
35
41
|
this.kafka = new kafkajs_1.Kafka({
|
36
42
|
clientId: `${config.producerName}-${config.environment}`,
|
37
43
|
brokers: config.environment === "production"
|
@@ -48,6 +54,7 @@ class UsageV2Producer {
|
|
48
54
|
password: config.password,
|
49
55
|
},
|
50
56
|
});
|
57
|
+
this.topic = (0, usageV2_js_1.getTopicName)(config.productName);
|
51
58
|
}
|
52
59
|
/**
|
53
60
|
* Connect the producer.
|
@@ -75,26 +82,17 @@ class UsageV2Producer {
|
|
75
82
|
}
|
76
83
|
const parsedEvents = events.map((event) => {
|
77
84
|
return {
|
85
|
+
...event,
|
78
86
|
id: event.id ?? (0, node_crypto_1.randomUUID)(),
|
79
87
|
created_at: event.created_at ?? new Date(),
|
80
|
-
source: event.source,
|
81
|
-
action: event.action,
|
82
88
|
// Remove the "team_" prefix, if any.
|
83
89
|
team_id: event.team_id.startsWith("team_")
|
84
90
|
? event.team_id.slice(5)
|
85
91
|
: event.team_id,
|
86
|
-
project_id: event.project_id,
|
87
|
-
sdk_name: event.sdk_name,
|
88
|
-
sdk_platform: event.sdk_platform,
|
89
|
-
sdk_version: event.sdk_version,
|
90
|
-
sdk_os: event.sdk_os,
|
91
|
-
product_name: event.product_name,
|
92
|
-
product_version: event.product_version,
|
93
|
-
data: JSON.stringify(event.data),
|
94
92
|
};
|
95
93
|
});
|
96
94
|
await this.producer.send({
|
97
|
-
topic:
|
95
|
+
topic: this.topic,
|
98
96
|
messages: parsedEvents.map((event) => ({
|
99
97
|
value: JSON.stringify(event),
|
100
98
|
})),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/node/usageV2.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,uCAA+C;AAC/C,qCAA+C;
|
1
|
+
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/node/usageV2.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,uCAA+C;AAC/C,qCAA+C;AAE/C,mDAAqE;AAErE;;;;;;;;;;;;GAYG;AACH,MAAa,eAAe;IAK1B,YAAY,MAgBX;QApBO;;;;;WAAa;QACb;;;;mBAA4B,IAAI;WAAC;QACjC;;;;;WAAc;QAmBpB,IAAI,CAAC,KAAK,GAAG,IAAI,eAAK,CAAC;YACrB,QAAQ,EAAE,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,WAAW,EAAE;YACxD,OAAO,EACL,MAAM,CAAC,WAAW,KAAK,YAAY;gBACjC,CAAC,CAAC,CAAC,8BAA8B,CAAC;gBAClC,CAAC,CAAC,CAAC,kCAAkC,CAAC;YAC1C,GAAG,EAAE;gBACH,mBAAmB,CAAC,QAAQ,EAAE,IAAI;oBAChC,OAAO,IAAA,8BAAmB,EAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC3D,CAAC;aACF;YACD,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO;gBAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,IAAA,yBAAY,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAClC,sBAAsB,EAAE,KAAK;SAC9B,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,UAAU,CAAC,MAAsB;QACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACxC,OAAO;gBACL,GAAG,KAAK;gBACR,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAA,wBAAU,GAAE;gBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE;gBAC1C,qCAAqC;gBACrC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;oBACxC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;oBACxB,CAAC,CAAC,KAAK,CAAC,OAAO;aAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;aAC7B,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;CACF;AAnGD,0CAmGC"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { getTopicName } from "../core/usageV2.js";
|
1
2
|
/**
|
2
3
|
* Send events to Kafka.
|
3
4
|
* This method may throw. To call this non-blocking:
|
@@ -17,7 +18,8 @@ export async function sendUsageV2Events(events, options) {
|
|
17
18
|
const baseUrl = options.environment === "production"
|
18
19
|
? "https://u.thirdweb.com"
|
19
20
|
: "https://u.thirdweb-dev.com";
|
20
|
-
const
|
21
|
+
const topic = getTopicName(options.productName);
|
22
|
+
const resp = await fetch(`${baseUrl}/usage-v2/${topic}`, {
|
21
23
|
method: "POST",
|
22
24
|
headers: {
|
23
25
|
"Content-Type": "application/json",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/cf-worker/usageV2.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/cf-worker/usageV2.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAErE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAsB,EACtB,OAIC;IAED,MAAM,OAAO,GACX,OAAO,CAAC,WAAW,KAAK,YAAY;QAClC,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,4BAA4B,CAAC;IAEnC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,aAAa,KAAK,EAAE,EAAE;QACvD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,mBAAmB,EAAE,OAAO,CAAC,UAAU;SACxC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,iCAAiC,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CACrE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;AACtB,CAAC"}
|
package/dist/esm/core/usageV2.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/core/usageV2.ts"],"names":[],"mappings":""}
|
1
|
+
{"version":3,"file":"usageV2.js","sourceRoot":"","sources":["../../../src/core/usageV2.ts"],"names":[],"mappings":"AAuDA,MAAM,UAAU,YAAY,CAAC,WAAwB;IACnD,OAAO,gBAAgB,WAAW,EAAE,CAAC;AACvC,CAAC"}
|
package/dist/esm/node/usageV2.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
2
2
|
import { checkServerIdentity } from "node:tls";
|
3
3
|
import { Kafka } from "kafkajs";
|
4
|
-
|
4
|
+
import { getTopicName } from "../core/usageV2.js";
|
5
5
|
/**
|
6
6
|
* Creates a UsageV2Producer which opens a persistent TCP connection.
|
7
7
|
* This class is thread-safe so your service should re-use one instance.
|
@@ -29,6 +29,12 @@ export class UsageV2Producer {
|
|
29
29
|
writable: true,
|
30
30
|
value: null
|
31
31
|
});
|
32
|
+
Object.defineProperty(this, "topic", {
|
33
|
+
enumerable: true,
|
34
|
+
configurable: true,
|
35
|
+
writable: true,
|
36
|
+
value: void 0
|
37
|
+
});
|
32
38
|
this.kafka = new Kafka({
|
33
39
|
clientId: `${config.producerName}-${config.environment}`,
|
34
40
|
brokers: config.environment === "production"
|
@@ -45,6 +51,7 @@ export class UsageV2Producer {
|
|
45
51
|
password: config.password,
|
46
52
|
},
|
47
53
|
});
|
54
|
+
this.topic = getTopicName(config.productName);
|
48
55
|
}
|
49
56
|
/**
|
50
57
|
* Connect the producer.
|
@@ -72,26 +79,17 @@ export class UsageV2Producer {
|
|
72
79
|
}
|
73
80
|
const parsedEvents = events.map((event) => {
|
74
81
|
return {
|
82
|
+
...event,
|
75
83
|
id: event.id ?? randomUUID(),
|
76
84
|
created_at: event.created_at ?? new Date(),
|
77
|
-
source: event.source,
|
78
|
-
action: event.action,
|
79
85
|
// Remove the "team_" prefix, if any.
|
80
86
|
team_id: event.team_id.startsWith("team_")
|
81
87
|
? event.team_id.slice(5)
|
82
88
|
: event.team_id,
|
83
|
-
project_id: event.project_id,
|
84
|
-
sdk_name: event.sdk_name,
|
85
|
-
sdk_platform: event.sdk_platform,
|
86
|
-
sdk_version: event.sdk_version,
|
87
|
-
sdk_os: event.sdk_os,
|
88
|
-
product_name: event.product_name,
|
89
|
-
product_version: event.product_version,
|
90
|
-
data: JSON.stringify(event.data),
|
91
89
|
};
|
92
90
|
});
|
93
91
|
await this.producer.send({
|
94
|
-
topic:
|
92
|
+
topic: this.topic,
|
95
93
|
messages: parsedEvents.map((event) => ({
|
96
94
|
value: JSON.stringify(event),
|
97
95
|
})),
|
@@ -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,EAAE,KAAK,EAAiB,MAAM,SAAS,CAAC;
|
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,EAAE,KAAK,EAAiB,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAqB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAErE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,eAAe;IAK1B,YAAY,MAgBX;QApBO;;;;;WAAa;QACb;;;;mBAA4B,IAAI;WAAC;QACjC;;;;;WAAc;QAmBpB,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC;YACrB,QAAQ,EAAE,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,WAAW,EAAE;YACxD,OAAO,EACL,MAAM,CAAC,WAAW,KAAK,YAAY;gBACjC,CAAC,CAAC,CAAC,8BAA8B,CAAC;gBAClC,CAAC,CAAC,CAAC,kCAAkC,CAAC;YAC1C,GAAG,EAAE;gBACH,mBAAmB,CAAC,QAAQ,EAAE,IAAI;oBAChC,OAAO,mBAAmB,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC3D,CAAC;aACF;YACD,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO;gBAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAClC,sBAAsB,EAAE,KAAK;SAC9B,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,UAAU,CAAC,MAAsB;QACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACxC,OAAO;gBACL,GAAG,KAAK;gBACR,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,UAAU,EAAE;gBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE;gBAC1C,qCAAqC;gBACrC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;oBACxC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;oBACxB,CAAC,CAAC,KAAK,CAAC,OAAO;aAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;aAC7B,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;CACF"}
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import type {
|
1
|
+
import type { ServiceName } from "../core/services.js";
|
2
|
+
import { type UsageV2Event } from "../core/usageV2.js";
|
2
3
|
/**
|
3
4
|
* Send events to Kafka.
|
4
5
|
* This method may throw. To call this non-blocking:
|
@@ -16,6 +17,7 @@ import type { UsageV2Event } from "../core/usageV2.js";
|
|
16
17
|
*/
|
17
18
|
export declare function sendUsageV2Events(events: UsageV2Event[], options: {
|
18
19
|
environment: "development" | "production";
|
20
|
+
productName: ServiceName;
|
19
21
|
serviceKey: string;
|
20
22
|
}): Promise<void>;
|
21
23
|
//# sourceMappingURL=usageV2.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usageV2.d.ts","sourceRoot":"","sources":["../../../src/cf-worker/usageV2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
1
|
+
{"version":3,"file":"usageV2.d.ts","sourceRoot":"","sources":["../../../src/cf-worker/usageV2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,oBAAoB,CAAC;AAErE;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EAAE,EACtB,OAAO,EAAE;IACP,WAAW,EAAE,aAAa,GAAG,YAAY,CAAC;IAC1C,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,GACA,OAAO,CAAC,IAAI,CAAC,CAsBf"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import type { ServiceName } from "../node/index.js";
|
1
2
|
export interface UsageV2Event {
|
2
3
|
/**
|
3
4
|
* A unique identifier for the event. Defaults to a random UUID.
|
@@ -8,10 +9,6 @@ export interface UsageV2Event {
|
|
8
9
|
* The event timestamp. Defaults to now().
|
9
10
|
*/
|
10
11
|
created_at?: Date;
|
11
|
-
/**
|
12
|
-
* The source of the event. Example: "storage"
|
13
|
-
*/
|
14
|
-
source: string;
|
15
12
|
/**
|
16
13
|
* The action of the event. Example: "upload"
|
17
14
|
*/
|
@@ -49,9 +46,10 @@ export interface UsageV2Event {
|
|
49
46
|
*/
|
50
47
|
product_version?: string;
|
51
48
|
/**
|
52
|
-
* An object of
|
53
|
-
*
|
49
|
+
* An object of arbitrary key-value pairs.
|
50
|
+
* Values can be boolean, number, string, Date, or null.
|
54
51
|
*/
|
55
|
-
|
52
|
+
[key: string]: boolean | number | string | Date | null | undefined;
|
56
53
|
}
|
54
|
+
export declare function getTopicName(productName: ServiceName): string;
|
57
55
|
//# sourceMappingURL=usageV2.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usageV2.d.ts","sourceRoot":"","sources":["../../../src/core/usageV2.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,EAAE,CAAC,EAAE,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;IACzD;;OAEG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,
|
1
|
+
{"version":3,"file":"usageV2.d.ts","sourceRoot":"","sources":["../../../src/core/usageV2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,EAAE,CAAC,EAAE,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;IACzD;;OAEG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;CACpE;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,WAAW,UAEpD"}
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import type {
|
1
|
+
import type { ServiceName } from "../core/services.js";
|
2
|
+
import { type UsageV2Event } from "../core/usageV2.js";
|
2
3
|
/**
|
3
4
|
* Creates a UsageV2Producer which opens a persistent TCP connection.
|
4
5
|
* This class is thread-safe so your service should re-use one instance.
|
@@ -15,6 +16,7 @@ import type { UsageV2Event } from "../core/usageV2.js";
|
|
15
16
|
export declare class UsageV2Producer {
|
16
17
|
private kafka;
|
17
18
|
private producer;
|
19
|
+
private topic;
|
18
20
|
constructor(config: {
|
19
21
|
/**
|
20
22
|
* A descriptive name for your service. Example: "storage-server"
|
@@ -24,6 +26,10 @@ export declare class UsageV2Producer {
|
|
24
26
|
* The environment the service is running in.
|
25
27
|
*/
|
26
28
|
environment: "development" | "production";
|
29
|
+
/**
|
30
|
+
* The product "source" where usage is coming from.
|
31
|
+
*/
|
32
|
+
productName: ServiceName;
|
27
33
|
username: string;
|
28
34
|
password: string;
|
29
35
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usageV2.d.ts","sourceRoot":"","sources":["../../../src/node/usageV2.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,
|
1
|
+
{"version":3,"file":"usageV2.d.ts","sourceRoot":"","sources":["../../../src/node/usageV2.ts"],"names":[],"mappings":"AAGA,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,CAAQ;IACrB,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,KAAK,CAAS;gBAEV,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;QAEzB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB;IAsBD;;;OAGG;IACG,IAAI;IAOV;;;;;;;;;OASG;IACG,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBvD;;;OAGG;IACG,UAAU;CAMjB"}
|