@doow/track 0.1.0
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/CHANGELOG.md +33 -0
- package/README.md +222 -0
- package/dist/cjs/debug.js +19 -0
- package/dist/cjs/debug.js.map +1 -0
- package/dist/cjs/event-processor.js +147 -0
- package/dist/cjs/event-processor.js.map +1 -0
- package/dist/cjs/exporter.js +477 -0
- package/dist/cjs/exporter.js.map +1 -0
- package/dist/cjs/file-offline-store.js +101 -0
- package/dist/cjs/file-offline-store.js.map +1 -0
- package/dist/cjs/index.js +10 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/tracker.js +292 -0
- package/dist/cjs/tracker.js.map +1 -0
- package/dist/cjs/uuid.js +13 -0
- package/dist/cjs/uuid.js.map +1 -0
- package/dist/cli.cjs +1491 -0
- package/dist/cli.cjs.map +1 -0
- package/dist/esm/debug.js +17 -0
- package/dist/esm/debug.js.map +1 -0
- package/dist/esm/event-processor.js +145 -0
- package/dist/esm/event-processor.js.map +1 -0
- package/dist/esm/exporter.js +475 -0
- package/dist/esm/exporter.js.map +1 -0
- package/dist/esm/file-offline-store.js +99 -0
- package/dist/esm/file-offline-store.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/tracker.js +290 -0
- package/dist/esm/tracker.js.map +1 -0
- package/dist/esm/uuid.js +11 -0
- package/dist/esm/uuid.js.map +1 -0
- package/dist/sidecar.cjs +1285 -0
- package/dist/sidecar.cjs.map +1 -0
- package/dist/types/index.d.ts +224 -0
- package/package.json +71 -0
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
import { generateUUID } from './uuid.js';
|
|
2
|
+
import { createDebugLogger } from './debug.js';
|
|
3
|
+
import { Exporter } from './exporter.js';
|
|
4
|
+
import { EventProcessor } from './event-processor.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* S76: DoowTracker — public API surface
|
|
8
|
+
*
|
|
9
|
+
* The customer-facing class. Four lines to start emitting:
|
|
10
|
+
*
|
|
11
|
+
* import { DoowTracker } from '@doow/track';
|
|
12
|
+
* const meter = new DoowTracker('dk_...');
|
|
13
|
+
* meter.track({ metric: 'api_calls', quantity: 1, license_id: '...' });
|
|
14
|
+
* await meter.shutdown();
|
|
15
|
+
*/
|
|
16
|
+
// ─── Defaults ──────────────────────────────────────────────────────────────
|
|
17
|
+
const DEFAULTS = {
|
|
18
|
+
endpoint: 'https://api.doow.co',
|
|
19
|
+
enabled: true,
|
|
20
|
+
debug: false,
|
|
21
|
+
flushAt: 20,
|
|
22
|
+
flushInterval: 10000,
|
|
23
|
+
maxPayloadBytes: 450 * 1024,
|
|
24
|
+
maxQueueSize: 10000,
|
|
25
|
+
timeout: 10000,
|
|
26
|
+
retryCount: 3,
|
|
27
|
+
disableCompression: false,
|
|
28
|
+
maxConcurrentFlushes: 30,
|
|
29
|
+
shutdownTimeout: 5000,
|
|
30
|
+
};
|
|
31
|
+
// ─── Env var parsing ───────────────────────────────────────────────────────
|
|
32
|
+
function resolveEnvOverrides(opts) {
|
|
33
|
+
const env = typeof process !== 'undefined' ? process.env : undefined;
|
|
34
|
+
// Spread opts without creating explicit undefined keys that would override DEFAULTS
|
|
35
|
+
const result = { ...opts };
|
|
36
|
+
if (env === null || env === void 0 ? void 0 : env.DOOW_TRACK_ENDPOINT)
|
|
37
|
+
result.endpoint = env.DOOW_TRACK_ENDPOINT;
|
|
38
|
+
if ((env === null || env === void 0 ? void 0 : env.DOOW_TRACK_DISABLED) === 'true')
|
|
39
|
+
result.enabled = false;
|
|
40
|
+
if ((env === null || env === void 0 ? void 0 : env.DOOW_TRACK_DEBUG) === 'true')
|
|
41
|
+
result.debug = true;
|
|
42
|
+
if ((env === null || env === void 0 ? void 0 : env.DOOW_TRACK_FLUSH_AT) !== undefined) {
|
|
43
|
+
const n = parseInt(env.DOOW_TRACK_FLUSH_AT, 10);
|
|
44
|
+
if (!isNaN(n) && n > 0)
|
|
45
|
+
result.flushAt = n;
|
|
46
|
+
}
|
|
47
|
+
if ((env === null || env === void 0 ? void 0 : env.DOOW_TRACK_FLUSH_INTERVAL) !== undefined) {
|
|
48
|
+
const n = parseInt(env.DOOW_TRACK_FLUSH_INTERVAL, 10);
|
|
49
|
+
if (!isNaN(n) && n > 0)
|
|
50
|
+
result.flushInterval = n;
|
|
51
|
+
}
|
|
52
|
+
if ((env === null || env === void 0 ? void 0 : env.DOOW_TRACK_ATTRIBUTION) !== undefined) {
|
|
53
|
+
try {
|
|
54
|
+
result.attribution = JSON.parse(env.DOOW_TRACK_ATTRIBUTION);
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
/* keep opts.attribution */
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
62
|
+
// ─── DoowTracker ───────────────────────────────────────────────────────────
|
|
63
|
+
class DoowTracker {
|
|
64
|
+
constructor(apiKey, options = {}) {
|
|
65
|
+
var _a, _b, _c;
|
|
66
|
+
this._shutdownCalled = false;
|
|
67
|
+
this._sigHandlers = null;
|
|
68
|
+
// Validate API key prefix
|
|
69
|
+
const envApiKey = typeof process !== 'undefined' ? ((_a = process.env['DOOW_TRACK_API_KEY']) !== null && _a !== void 0 ? _a : apiKey) : apiKey;
|
|
70
|
+
if (!envApiKey.startsWith('dk_')) {
|
|
71
|
+
console.warn(`[doow/track] API key must start with "dk_". Got: "${envApiKey.slice(0, 10)}..."`);
|
|
72
|
+
}
|
|
73
|
+
this._apiKey = envApiKey;
|
|
74
|
+
// Merge options with env var overrides (env takes precedence)
|
|
75
|
+
const merged = resolveEnvOverrides(options);
|
|
76
|
+
// Log unknown options in debug mode
|
|
77
|
+
const knownKeys = new Set([
|
|
78
|
+
'endpoint',
|
|
79
|
+
'enabled',
|
|
80
|
+
'attribution',
|
|
81
|
+
'debug',
|
|
82
|
+
'flushAt',
|
|
83
|
+
'flushInterval',
|
|
84
|
+
'maxPayloadBytes',
|
|
85
|
+
'maxQueueSize',
|
|
86
|
+
'timeout',
|
|
87
|
+
'retryCount',
|
|
88
|
+
'disableCompression',
|
|
89
|
+
'onError',
|
|
90
|
+
'beforeSend',
|
|
91
|
+
'beforeFlush',
|
|
92
|
+
'transport',
|
|
93
|
+
'offlineStore',
|
|
94
|
+
'maxConcurrentFlushes',
|
|
95
|
+
'shutdownTimeout',
|
|
96
|
+
]);
|
|
97
|
+
this._options = {
|
|
98
|
+
...DEFAULTS,
|
|
99
|
+
...merged,
|
|
100
|
+
};
|
|
101
|
+
const unknownKeys = Object.keys(options).filter((k) => !knownKeys.has(k));
|
|
102
|
+
const debugLogger = createDebugLogger((_b = this._options.debug) !== null && _b !== void 0 ? _b : false);
|
|
103
|
+
if (unknownKeys.length > 0) {
|
|
104
|
+
debugLogger.warn(`Unknown init options ignored: ${unknownKeys.join(', ')}`);
|
|
105
|
+
}
|
|
106
|
+
// If disabled — complete no-op, no buffers allocated
|
|
107
|
+
if (!this._options.enabled) {
|
|
108
|
+
debugLogger.log('SDK disabled — all operations are no-ops');
|
|
109
|
+
this._processor = null;
|
|
110
|
+
this._exporter = null;
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
const onError = (_c = this._options.onError) !== null && _c !== void 0 ? _c : ((e) => console.warn(`[doow/track] ${e.kind}: ${e.message}`));
|
|
114
|
+
const exporterConfig = {
|
|
115
|
+
endpoint: this._options.endpoint,
|
|
116
|
+
apiKey: this._apiKey,
|
|
117
|
+
timeout: this._options.timeout,
|
|
118
|
+
retryCount: this._options.retryCount,
|
|
119
|
+
disableCompression: this._options.disableCompression,
|
|
120
|
+
maxConcurrentFlushes: this._options.maxConcurrentFlushes,
|
|
121
|
+
onError,
|
|
122
|
+
debug: debugLogger,
|
|
123
|
+
};
|
|
124
|
+
if (this._options.transport)
|
|
125
|
+
exporterConfig.transport = this._options.transport;
|
|
126
|
+
if (this._options.offlineStore)
|
|
127
|
+
exporterConfig.offlineStore = this._options.offlineStore;
|
|
128
|
+
this._exporter = new Exporter(exporterConfig);
|
|
129
|
+
const processorConfig = {
|
|
130
|
+
flushAt: this._options.flushAt,
|
|
131
|
+
flushInterval: this._options.flushInterval,
|
|
132
|
+
maxPayloadBytes: this._options.maxPayloadBytes,
|
|
133
|
+
maxQueueSize: this._options.maxQueueSize,
|
|
134
|
+
debug: debugLogger,
|
|
135
|
+
};
|
|
136
|
+
if (this._options.beforeSend)
|
|
137
|
+
processorConfig.beforeSend = this._options.beforeSend;
|
|
138
|
+
if (this._options.beforeFlush)
|
|
139
|
+
processorConfig.beforeFlush = this._options.beforeFlush;
|
|
140
|
+
this._processor = new EventProcessor(processorConfig, this._exporter);
|
|
141
|
+
if (typeof process !== 'undefined') {
|
|
142
|
+
const sigterm = () => {
|
|
143
|
+
void this.shutdown();
|
|
144
|
+
};
|
|
145
|
+
const beforeExit = () => {
|
|
146
|
+
void this.shutdown();
|
|
147
|
+
};
|
|
148
|
+
process.setMaxListeners(process.getMaxListeners() + 2);
|
|
149
|
+
process.on('SIGTERM', sigterm);
|
|
150
|
+
process.on('beforeExit', beforeExit);
|
|
151
|
+
this._sigHandlers = { sigterm, beforeExit };
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Track a usage event.
|
|
156
|
+
* - Generates UUID v4 event_id at call time
|
|
157
|
+
* - Merges SDK-level attribution defaults
|
|
158
|
+
* - Enqueues to EventProcessor
|
|
159
|
+
* - No-op if SDK is disabled or stopped
|
|
160
|
+
*/
|
|
161
|
+
track(event) {
|
|
162
|
+
var _a, _b, _c, _d;
|
|
163
|
+
if (!this._processor || !this._exporter)
|
|
164
|
+
return; // disabled
|
|
165
|
+
if (this._exporter.stopped)
|
|
166
|
+
return; // auth failure
|
|
167
|
+
if (this._shutdownCalled)
|
|
168
|
+
return;
|
|
169
|
+
const serialized = {
|
|
170
|
+
...event,
|
|
171
|
+
event_id: generateUUID(),
|
|
172
|
+
timestamp: (_a = event.timestamp) !== null && _a !== void 0 ? _a : new Date().toISOString(),
|
|
173
|
+
attribution: {
|
|
174
|
+
...((_b = this._options.attribution) !== null && _b !== void 0 ? _b : {}),
|
|
175
|
+
...((_c = event.attribution) !== null && _c !== void 0 ? _c : {}),
|
|
176
|
+
},
|
|
177
|
+
kind: (_d = event.kind) !== null && _d !== void 0 ? _d : 'USAGE',
|
|
178
|
+
};
|
|
179
|
+
// Fire-and-forget enqueue — errors surface via onError
|
|
180
|
+
void this._processor.enqueue(serialized);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Manually flush the current buffer.
|
|
184
|
+
* Returns a Promise that resolves when the flush completes.
|
|
185
|
+
*/
|
|
186
|
+
async flush() {
|
|
187
|
+
if (!this._processor)
|
|
188
|
+
return;
|
|
189
|
+
await this._processor.flush();
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Drain all pending events and shut down.
|
|
193
|
+
* Registers SIGTERM + beforeExit handlers automatically.
|
|
194
|
+
* Best-effort — hard kill loses buffered events.
|
|
195
|
+
*/
|
|
196
|
+
async shutdown(timeout) {
|
|
197
|
+
if (this._shutdownCalled)
|
|
198
|
+
return;
|
|
199
|
+
this._shutdownCalled = true;
|
|
200
|
+
// Remove signal handlers
|
|
201
|
+
if (this._sigHandlers && typeof process !== 'undefined') {
|
|
202
|
+
process.removeListener('SIGTERM', this._sigHandlers.sigterm);
|
|
203
|
+
process.removeListener('beforeExit', this._sigHandlers.beforeExit);
|
|
204
|
+
process.setMaxListeners(Math.max(0, process.getMaxListeners() - 2));
|
|
205
|
+
this._sigHandlers = null;
|
|
206
|
+
}
|
|
207
|
+
if (!this._processor)
|
|
208
|
+
return;
|
|
209
|
+
const timeoutMs = timeout !== null && timeout !== void 0 ? timeout : this._options.shutdownTimeout;
|
|
210
|
+
const shutdownPromise = this._processor.shutdown();
|
|
211
|
+
const timeoutPromise = new Promise((resolve) => setTimeout(resolve, timeoutMs));
|
|
212
|
+
await Promise.race([shutdownPromise, timeoutPromise]);
|
|
213
|
+
}
|
|
214
|
+
/** True if the SDK is enabled */
|
|
215
|
+
get enabled() {
|
|
216
|
+
return !!this._processor;
|
|
217
|
+
}
|
|
218
|
+
/** True if auth has failed and SDK stopped emitting */
|
|
219
|
+
get stopped() {
|
|
220
|
+
var _a, _b;
|
|
221
|
+
return (_b = (_a = this._exporter) === null || _a === void 0 ? void 0 : _a.stopped) !== null && _b !== void 0 ? _b : false;
|
|
222
|
+
}
|
|
223
|
+
/** S79: True if a per-category rate limit is currently active */
|
|
224
|
+
get rateLimited() {
|
|
225
|
+
var _a, _b;
|
|
226
|
+
return (_b = (_a = this._exporter) === null || _a === void 0 ? void 0 : _a.rateLimited) !== null && _b !== void 0 ? _b : false;
|
|
227
|
+
}
|
|
228
|
+
// ─── S81: Serverless wrappers ─────────────────────────────────────────────
|
|
229
|
+
/**
|
|
230
|
+
* Wrap an AWS Lambda handler.
|
|
231
|
+
* Sets flushAt=1 internally, calls shutdown() in a finally block.
|
|
232
|
+
*
|
|
233
|
+
* @example
|
|
234
|
+
* export const handler = meter.withLambda(async (event, context) => {
|
|
235
|
+
* meter.track({ ... });
|
|
236
|
+
* return { statusCode: 200 };
|
|
237
|
+
* });
|
|
238
|
+
*/
|
|
239
|
+
withLambda(handler) {
|
|
240
|
+
// Override flushAt to 1 so every track() flushes immediately
|
|
241
|
+
if (this._processor) {
|
|
242
|
+
this._processor.setFlushAt(1);
|
|
243
|
+
}
|
|
244
|
+
return async (event, context) => {
|
|
245
|
+
try {
|
|
246
|
+
return await handler(event, context);
|
|
247
|
+
}
|
|
248
|
+
finally {
|
|
249
|
+
await this.flush();
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Wrap a Vercel serverless function handler.
|
|
255
|
+
* Sets flushAt=1 internally, calls flush() in a finally block.
|
|
256
|
+
*/
|
|
257
|
+
withVercel(handler) {
|
|
258
|
+
if (this._processor) {
|
|
259
|
+
this._processor.setFlushAt(1);
|
|
260
|
+
}
|
|
261
|
+
return async (req, res) => {
|
|
262
|
+
try {
|
|
263
|
+
await handler(req, res);
|
|
264
|
+
}
|
|
265
|
+
finally {
|
|
266
|
+
await this.flush();
|
|
267
|
+
}
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Wrap an Azure Function handler.
|
|
272
|
+
* Sets flushAt=1 internally, calls flush() in a finally block.
|
|
273
|
+
*/
|
|
274
|
+
withAzureFunction(handler) {
|
|
275
|
+
if (this._processor) {
|
|
276
|
+
this._processor.setFlushAt(1);
|
|
277
|
+
}
|
|
278
|
+
return async (context, input) => {
|
|
279
|
+
try {
|
|
280
|
+
return await handler(context, input);
|
|
281
|
+
}
|
|
282
|
+
finally {
|
|
283
|
+
await this.flush();
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
export { DoowTracker };
|
|
290
|
+
//# sourceMappingURL=tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracker.js","sources":["../../../src/tracker.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/esm/uuid.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid.js","sources":["../../../src/uuid.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;AAEG;SAGa,YAAY,GAAA;IAC1B,OAAO,UAAU,EAAE;AACrB;;;;"}
|