praetom 0.2.3 → 0.2.4
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/_esm-loader.js +5 -2
- package/dist/_esm-loader.js.map +1 -1
- package/dist/_internal.d.ts.map +1 -1
- package/dist/_internal.js +78 -14
- package/dist/_internal.js.map +1 -1
- package/dist/server.d.ts +13 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +237 -27
- package/dist/server.js.map +1 -1
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +21 -2
- package/dist/vite/index.js.map +1 -1
- package/dist/webpack/shared.d.ts +9 -1
- package/dist/webpack/shared.d.ts.map +1 -1
- package/dist/webpack/shared.js +21 -2
- package/dist/webpack/shared.js.map +1 -1
- package/package.json +1 -1
package/dist/_esm-loader.js
CHANGED
|
@@ -70,8 +70,11 @@ export async function load(url, context, nextLoad) {
|
|
|
70
70
|
function matchFeature(absPath) {
|
|
71
71
|
const normalized = absPath.replace(/\\/g, "/");
|
|
72
72
|
for (const [featurePath, info] of _featureMap) {
|
|
73
|
-
if (normalized === featurePath
|
|
74
|
-
|
|
73
|
+
if (normalized === featurePath)
|
|
74
|
+
return info;
|
|
75
|
+
// Anchored suffix: see server.ts matchFeatureForPath. Single-
|
|
76
|
+
// segment featurePaths are skipped (ambiguous).
|
|
77
|
+
if (featurePath.includes("/") && normalized.endsWith(`/${featurePath}`)) {
|
|
75
78
|
return info;
|
|
76
79
|
}
|
|
77
80
|
}
|
package/dist/_esm-loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_esm-loader.js","sourceRoot":"","sources":["../src/_esm-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAsBH,IAAI,WAAW,GAAiC,IAAI,GAAG,EAAE,CAAC;AAC1D,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,YAAY,GAAG,IAAI,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,GAAW,EACX,OAAsD,EACtD,QAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,YAAY;QAAE,OAAO,MAAM,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,MAAM,CAAC;IAE9C,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,kBAAkB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,MAAM,GACV,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;QAC/B,CAAC,CAAC,MAAM,CAAC,MAAM;QACf,CAAC,CAAC,MAAM,CAAC,MAAM;YACb,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CACtB,MAAM,CAAC,MAAM,YAAY,WAAW;gBAClC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC/B,CAAC,CAAE,MAAM,CAAC,MAAqB,CAClC;YACH,CAAC,CAAC,EAAE,CAAC;IAEX,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACxE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,sCAAsC;QACtC,OAAO,CAAC,IAAI,CACV,4BAA4B,QAAQ,uDAAuD,CAC5F,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/C,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;QAC9C,
|
|
1
|
+
{"version":3,"file":"_esm-loader.js","sourceRoot":"","sources":["../src/_esm-loader.ts"],"names":[],"mappings":"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"}
|
package/dist/_internal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_internal.d.ts","sourceRoot":"","sources":["../src/_internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"_internal.d.ts","sourceRoot":"","sources":["../src/_internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA4CH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAsCD,wBAAgB,IAAI,CAAC,IAAI,EAAE;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,IAAI,CAOP;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAC7B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,CAAC,CAAC,CAAC,CAOZ;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAiB3D;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG;IAAE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,EAC3F,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,CAAC,CAAC,CAAC,CAOZ;AAqBD,wBAAgB,qBAAqB,IAAI,cAAc,GAAG,SAAS,CAElE;AAYD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GACxC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAsBjC;AA8CD;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAgBN;AAqCD,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3C;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAM9C"}
|
package/dist/_internal.js
CHANGED
|
@@ -14,6 +14,20 @@ import { randomBytes } from "node:crypto";
|
|
|
14
14
|
const DEFAULT_ENDPOINT = "https://praetom.com/api/otlp/v1/traces";
|
|
15
15
|
const FLUSH_INTERVAL_MS = 5_000;
|
|
16
16
|
const FLUSH_BATCH_SIZE = 50;
|
|
17
|
+
/**
|
|
18
|
+
* OTLP delivery retry policy. Each batch gets up to MAX_FLUSH_ATTEMPTS
|
|
19
|
+
* total tries (so 1 + 3 retries by default). Delay grows exponentially
|
|
20
|
+
* with jitter; max ~2s of blocking on a sustained outage. After all
|
|
21
|
+
* attempts fail, spans go to the in-memory dead-letter queue capped
|
|
22
|
+
* at DLQ_MAX_SPANS. Older DLQ entries are dropped to make room for
|
|
23
|
+
* newer ones (telemetry freshness matters more than retroactive
|
|
24
|
+
* completeness — drop the dirt-old spans first). Every Nth drop logs
|
|
25
|
+
* a warning so the customer notices.
|
|
26
|
+
*/
|
|
27
|
+
const MAX_FLUSH_ATTEMPTS = 4;
|
|
28
|
+
const RETRY_BASE_MS = 200;
|
|
29
|
+
const DLQ_MAX_SPANS = 5_000;
|
|
30
|
+
const DROP_LOG_EVERY = 100;
|
|
17
31
|
const g = globalThis;
|
|
18
32
|
if (!g.__praetom) {
|
|
19
33
|
g.__praetom = {
|
|
@@ -22,9 +36,17 @@ if (!g.__praetom) {
|
|
|
22
36
|
flushTimer: null,
|
|
23
37
|
fetchPatched: false,
|
|
24
38
|
als: new AsyncLocalStorage(),
|
|
39
|
+
dlq: [],
|
|
40
|
+
dropCount: 0,
|
|
25
41
|
};
|
|
26
42
|
}
|
|
27
43
|
const _state = g.__praetom;
|
|
44
|
+
// Older versions of the SDK that wrote to globalThis before the dlq/
|
|
45
|
+
// dropCount fields existed will hit undefined here. Backfill defensively.
|
|
46
|
+
if (!_state.dlq)
|
|
47
|
+
_state.dlq = [];
|
|
48
|
+
if (typeof _state.dropCount !== "number")
|
|
49
|
+
_state.dropCount = 0;
|
|
28
50
|
const als = _state.als;
|
|
29
51
|
export function init(opts) {
|
|
30
52
|
_state.config = {
|
|
@@ -234,25 +256,67 @@ export async function shutdown() {
|
|
|
234
256
|
async function flushNow() {
|
|
235
257
|
if (!_state.config)
|
|
236
258
|
return;
|
|
237
|
-
|
|
259
|
+
// Drain DLQ alongside current buffer so a retry of older spans gets
|
|
260
|
+
// a fresh attempt every time we successfully drain.
|
|
261
|
+
const spans = _state.dlq.concat(_state.buffer);
|
|
262
|
+
if (spans.length === 0)
|
|
238
263
|
return;
|
|
239
|
-
const spans = _state.buffer;
|
|
240
264
|
_state.buffer = [];
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
265
|
+
_state.dlq = [];
|
|
266
|
+
const ok = await sendWithRetry(spans);
|
|
267
|
+
if (ok)
|
|
268
|
+
return;
|
|
269
|
+
// All retries failed. Push back to DLQ, capping size — newer spans
|
|
270
|
+
// win when over capacity.
|
|
271
|
+
for (const s of spans)
|
|
272
|
+
_state.dlq.push(s);
|
|
273
|
+
while (_state.dlq.length > DLQ_MAX_SPANS) {
|
|
274
|
+
_state.dlq.shift();
|
|
275
|
+
_state.dropCount += 1;
|
|
251
276
|
}
|
|
252
|
-
|
|
253
|
-
//
|
|
277
|
+
if (_state.dropCount > 0 && _state.dropCount % DROP_LOG_EVERY === 0) {
|
|
278
|
+
// Telemetry must not crash the host, but it should let the host
|
|
279
|
+
// notice when ingest is broken. Console.warn is the smallest
|
|
280
|
+
// possible signal that survives Next.js / pm2 / systemd logs.
|
|
281
|
+
// eslint-disable-next-line no-console
|
|
282
|
+
console.warn(`[praetom] dropped ${_state.dropCount} spans (ingest failing). dlq=${_state.dlq.length}/${DLQ_MAX_SPANS}`);
|
|
254
283
|
}
|
|
255
284
|
}
|
|
285
|
+
async function sendWithRetry(spans) {
|
|
286
|
+
if (!_state.config)
|
|
287
|
+
return false;
|
|
288
|
+
const body = encodeOtlp(spans, _state.config);
|
|
289
|
+
for (let attempt = 0; attempt < MAX_FLUSH_ATTEMPTS; attempt++) {
|
|
290
|
+
try {
|
|
291
|
+
const res = await fetch(_state.config.endpoint, {
|
|
292
|
+
method: "POST",
|
|
293
|
+
headers: {
|
|
294
|
+
"content-type": "application/json",
|
|
295
|
+
authorization: `Bearer ${_state.config.token}`,
|
|
296
|
+
},
|
|
297
|
+
body: JSON.stringify(body),
|
|
298
|
+
});
|
|
299
|
+
if (res.ok)
|
|
300
|
+
return true;
|
|
301
|
+
// 4xx (except 429) is a permanent failure — bad token, malformed
|
|
302
|
+
// body. Retrying won't help and we don't want to spam.
|
|
303
|
+
if (res.status >= 400 && res.status < 500 && res.status !== 429) {
|
|
304
|
+
return false;
|
|
305
|
+
}
|
|
306
|
+
// 429 / 5xx — fall through to backoff and retry.
|
|
307
|
+
}
|
|
308
|
+
catch {
|
|
309
|
+
// Network error / abort — fall through to backoff and retry.
|
|
310
|
+
}
|
|
311
|
+
if (attempt < MAX_FLUSH_ATTEMPTS - 1) {
|
|
312
|
+
await sleep(RETRY_BASE_MS * Math.pow(2, attempt) + Math.random() * 100);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
return false;
|
|
316
|
+
}
|
|
317
|
+
function sleep(ms) {
|
|
318
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
319
|
+
}
|
|
256
320
|
function patchFetch() {
|
|
257
321
|
if (_state.fetchPatched)
|
|
258
322
|
return;
|
package/dist/_internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_internal.js","sourceRoot":"","sources":["../src/_internal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_internal.js","sourceRoot":"","sources":["../src/_internal.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -50,6 +50,19 @@ export interface RegisterOptions {
|
|
|
50
50
|
configEndpoint?: string;
|
|
51
51
|
/** Suppress the boot-time console.warn lines (for tests). */
|
|
52
52
|
silent?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* How often to re-fetch the runtime config and apply any new feature
|
|
55
|
+
* paths without restarting the process. Defaults to 60_000 (1 minute);
|
|
56
|
+
* set to 0 to disable polling and keep boot-only behavior. The poll
|
|
57
|
+
* sends `If-None-Match` so unchanged config short-circuits to 304.
|
|
58
|
+
*
|
|
59
|
+
* New mappings affect future `require()` / `import` calls; modules
|
|
60
|
+
* already loaded keep the wrap (or lack of wrap) they got at boot.
|
|
61
|
+
* For server frameworks that load route handlers lazily (Next.js's
|
|
62
|
+
* per-request route module load), new features apply on the next
|
|
63
|
+
* request to that route.
|
|
64
|
+
*/
|
|
65
|
+
refreshIntervalMs?: number;
|
|
53
66
|
}
|
|
54
67
|
export declare function register(opts?: RegisterOptions): Promise<void>;
|
|
55
68
|
export { emit };
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAOH,OAAO,EAAE,IAAI,EAAQ,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA8G5D,MAAM,WAAW,eAAe;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAID,wBAAsB,QAAQ,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DxE;AAuPD,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,uBAAiB,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAGrC"}
|
package/dist/server.js
CHANGED
|
@@ -42,9 +42,86 @@
|
|
|
42
42
|
*/
|
|
43
43
|
import Module from "node:module";
|
|
44
44
|
import { register as registerEsmLoader } from "node:module";
|
|
45
|
+
import { readFileSync } from "node:fs";
|
|
46
|
+
import { dirname, join, resolve } from "node:path";
|
|
45
47
|
import { emit, init, wrapEntryPoint } from "./_internal.js";
|
|
46
48
|
const mapByPath = new Map();
|
|
47
49
|
let _hookInstalled = false;
|
|
50
|
+
let _lastEtag = null;
|
|
51
|
+
let _refreshTimer = null;
|
|
52
|
+
let _serviceName = null;
|
|
53
|
+
/**
|
|
54
|
+
* SDK version stamp emitted on every config fetch so the server can
|
|
55
|
+
* record which release is running where. Read from this package's
|
|
56
|
+
* package.json at build time via tsc — falls back to "unknown" if the
|
|
57
|
+
* file isn't reachable (bundled customer envs).
|
|
58
|
+
*/
|
|
59
|
+
function readSdkVersion() {
|
|
60
|
+
try {
|
|
61
|
+
const pkgPath = resolve(dirname(new URL(import.meta.url).pathname), "..", "package.json");
|
|
62
|
+
const pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
|
|
63
|
+
return pkg.version ?? "unknown";
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return "unknown";
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
const SDK_VERSION = readSdkVersion();
|
|
70
|
+
/**
|
|
71
|
+
* Find the "name" field of the nearest package.json walking up from
|
|
72
|
+
* the file that called register(). Used as the heartbeat identity —
|
|
73
|
+
* the server records (workspace, repo, service_name) so the path-
|
|
74
|
+
* matching LLM knows which subdirectories of a monorepo actually run
|
|
75
|
+
* the SDK and will emit spans.
|
|
76
|
+
*
|
|
77
|
+
* Returns null when no package.json is reachable (bundled apps,
|
|
78
|
+
* single-file scripts). Customers in that situation get the old
|
|
79
|
+
* "guess by manifest layout" behavior.
|
|
80
|
+
*/
|
|
81
|
+
function detectServiceName() {
|
|
82
|
+
// The file that called register() is two frames up in the stack:
|
|
83
|
+
// register → caller. Pull its absolute path via Error stack parsing.
|
|
84
|
+
// Works in both CJS and ESM, no Node-version surprises.
|
|
85
|
+
const stack = new Error().stack ?? "";
|
|
86
|
+
const lines = stack.split("\n").slice(1);
|
|
87
|
+
let callerFile = null;
|
|
88
|
+
for (const line of lines) {
|
|
89
|
+
// Skip frames inside this module — the customer file is whatever
|
|
90
|
+
// comes first that isn't praetom's own code.
|
|
91
|
+
if (line.includes("/praetom/dist/") || line.includes("/praetom/src/")) {
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
// V8 stack frames look like " at fn (file:///path/to/file.ts:1:1)"
|
|
95
|
+
// or " at file:///path/to/file.ts:1:1". Pull the file:// URL or
|
|
96
|
+
// bare path before the line:col suffix.
|
|
97
|
+
const m = /\((?:file:\/\/)?([^):]+):\d+:\d+\)/.exec(line) ??
|
|
98
|
+
/at (?:file:\/\/)?([^\s:]+):\d+:\d+/.exec(line);
|
|
99
|
+
if (m && m[1]) {
|
|
100
|
+
callerFile = m[1];
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (!callerFile)
|
|
105
|
+
return null;
|
|
106
|
+
// Walk up from the caller's directory until a package.json appears.
|
|
107
|
+
let dir = dirname(callerFile);
|
|
108
|
+
for (let depth = 0; depth < 20; depth++) {
|
|
109
|
+
try {
|
|
110
|
+
const raw = readFileSync(join(dir, "package.json"), "utf8");
|
|
111
|
+
const pkg = JSON.parse(raw);
|
|
112
|
+
if (pkg.name && typeof pkg.name === "string")
|
|
113
|
+
return pkg.name;
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
// No package.json here; keep walking.
|
|
117
|
+
}
|
|
118
|
+
const parent = dirname(dir);
|
|
119
|
+
if (parent === dir)
|
|
120
|
+
return null;
|
|
121
|
+
dir = parent;
|
|
122
|
+
}
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
48
125
|
const DEFAULT_CONFIG_ENDPOINT = "https://praetom.com/api/runtime/config";
|
|
49
126
|
export async function register(opts = {}) {
|
|
50
127
|
const ingestId = opts.ingestId ?? process.env.PRAETOM_INGEST_ID;
|
|
@@ -58,45 +135,170 @@ export async function register(opts = {}) {
|
|
|
58
135
|
warn("PRAETOM_INGEST_ID not set; instrumentation disabled");
|
|
59
136
|
return;
|
|
60
137
|
}
|
|
61
|
-
|
|
62
|
-
//
|
|
63
|
-
//
|
|
64
|
-
|
|
138
|
+
const cfgUrl = opts.configEndpoint ?? DEFAULT_CONFIG_ENDPOINT;
|
|
139
|
+
// Identify the calling service once — the server uses this as the
|
|
140
|
+
// heartbeat key (workspace_instrumented_services.service_name). Null
|
|
141
|
+
// is fine; it just means the server can't record this heartbeat for
|
|
142
|
+
// path-matcher use.
|
|
143
|
+
_serviceName = detectServiceName();
|
|
144
|
+
// Initial fetch — must succeed before we install hooks; otherwise we
|
|
145
|
+
// have nothing to wrap and would just slow down every require().
|
|
146
|
+
const initial = await fetchConfig(cfgUrl, ingestId, warn);
|
|
147
|
+
if (!initial)
|
|
148
|
+
return;
|
|
149
|
+
init({
|
|
150
|
+
token: ingestId,
|
|
151
|
+
endpoint: opts.endpoint,
|
|
152
|
+
serviceName: initial.repo,
|
|
153
|
+
});
|
|
154
|
+
applyConfig(initial, warn);
|
|
155
|
+
if (mapByPath.size === 0) {
|
|
156
|
+
warn(`workspace ${initial.workspaceSlug} has no features for ${initial.repo}; instrumentation idle`);
|
|
157
|
+
// Still start the refresh loop so a feature added later via the
|
|
158
|
+
// dashboard wakes the SDK up without a redeploy.
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
installRequireHook();
|
|
162
|
+
// module.register() (the ESM loader hook) needs Node 20.6+. Older
|
|
163
|
+
// Node silently throws inside Node's internals — customers would
|
|
164
|
+
// see "ESM loader registration failed: ..." with no context. Tell
|
|
165
|
+
// them clearly before we even try.
|
|
166
|
+
if (nodeSupportsModuleRegister()) {
|
|
167
|
+
installEsmLoader(warn);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
warn(`Node ${process.versions.node} is too old for ESM auto-wrap (need 20.6+). CommonJS features will still be instrumented via the require() hook, but ESM imports won't be. Upgrade Node to wrap both.`);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
scheduleRefresh(cfgUrl, ingestId, warn, opts.refreshIntervalMs);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Whether the running Node has `module.register()` (added in 20.6.0,
|
|
177
|
+
* also backported to 18.19.0). Below those, `module.register()` exists
|
|
178
|
+
* as a property but throws on call.
|
|
179
|
+
*/
|
|
180
|
+
function nodeSupportsModuleRegister() {
|
|
181
|
+
const v = process.versions.node;
|
|
182
|
+
const m = /^(\d+)\.(\d+)\.(\d+)/.exec(v);
|
|
183
|
+
if (!m)
|
|
184
|
+
return false;
|
|
185
|
+
const major = Number(m[1]);
|
|
186
|
+
const minor = Number(m[2]);
|
|
187
|
+
if (major >= 21)
|
|
188
|
+
return true;
|
|
189
|
+
if (major === 20 && minor >= 6)
|
|
190
|
+
return true;
|
|
191
|
+
if (major === 18 && minor >= 19)
|
|
192
|
+
return true;
|
|
193
|
+
return false;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Fetch the runtime config. Sends `If-None-Match` when we've fetched
|
|
197
|
+
* before so unchanged config short-circuits to 304. Returns null on
|
|
198
|
+
* network/parse failure (caller decides what to do) and on 304 (which
|
|
199
|
+
* is "no change" — caller should leave mapByPath alone).
|
|
200
|
+
*/
|
|
201
|
+
async function fetchConfig(cfgUrl, ingestId, warn) {
|
|
65
202
|
try {
|
|
66
|
-
const
|
|
203
|
+
const headers = {
|
|
204
|
+
authorization: `Bearer ${ingestId}`,
|
|
205
|
+
"x-praetom-sdk-version": SDK_VERSION,
|
|
206
|
+
"x-praetom-node-version": process.versions.node,
|
|
207
|
+
};
|
|
208
|
+
if (_serviceName)
|
|
209
|
+
headers["x-praetom-service"] = _serviceName;
|
|
210
|
+
if (_lastEtag)
|
|
211
|
+
headers["if-none-match"] = _lastEtag;
|
|
67
212
|
const abort = new AbortController();
|
|
68
213
|
const timer = setTimeout(() => abort.abort(), 5_000);
|
|
69
|
-
const res = await fetch(cfgUrl, {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
214
|
+
const res = await fetch(cfgUrl, { headers, signal: abort.signal }).finally(() => clearTimeout(timer));
|
|
215
|
+
if (res.status === 304) {
|
|
216
|
+
return null;
|
|
217
|
+
}
|
|
73
218
|
if (!res.ok) {
|
|
74
219
|
warn(`runtime/config fetch failed: HTTP ${res.status}`);
|
|
75
|
-
return;
|
|
220
|
+
return null;
|
|
76
221
|
}
|
|
77
|
-
config = (await res.json());
|
|
222
|
+
const config = (await res.json());
|
|
223
|
+
_lastEtag = res.headers.get("etag") ?? config.etag ?? _lastEtag;
|
|
224
|
+
return config;
|
|
78
225
|
}
|
|
79
226
|
catch (e) {
|
|
80
227
|
warn(`runtime/config fetch error: ${e.message}`);
|
|
81
|
-
return;
|
|
228
|
+
return null;
|
|
82
229
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Replace `mapByPath` with the entries from a fresh config. Called on
|
|
233
|
+
* initial fetch AND on every successful refresh. The hooks read this
|
|
234
|
+
* Map at call time, so updates take effect for future requires/imports
|
|
235
|
+
* without re-installing anything. Already-loaded modules keep whatever
|
|
236
|
+
* wrap (or no-wrap) they got at boot.
|
|
237
|
+
*/
|
|
238
|
+
function applyConfig(config, warn) {
|
|
88
239
|
mapByPath.clear();
|
|
89
240
|
for (const f of config.features) {
|
|
90
|
-
|
|
91
|
-
|
|
241
|
+
// Prefer the per-entry shape — each file has its own entrySymbol.
|
|
242
|
+
// Fall back to the legacy paths[] + feature-level entrySymbol when
|
|
243
|
+
// the server is older than this SDK build.
|
|
244
|
+
if (f.entries && f.entries.length > 0) {
|
|
245
|
+
for (const e of f.entries) {
|
|
246
|
+
mapByPath.set(e.path, {
|
|
247
|
+
slug: f.slug,
|
|
248
|
+
entrySymbol: e.entrySymbol,
|
|
249
|
+
side: e.side,
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
else if (f.paths) {
|
|
254
|
+
for (const p of f.paths) {
|
|
255
|
+
mapByPath.set(p, {
|
|
256
|
+
slug: f.slug,
|
|
257
|
+
entrySymbol: f.entrySymbol,
|
|
258
|
+
side: f.side,
|
|
259
|
+
});
|
|
260
|
+
}
|
|
92
261
|
}
|
|
93
262
|
}
|
|
94
|
-
|
|
95
|
-
|
|
263
|
+
// Touch warn so tree-shaking doesn't complain when this becomes a
|
|
264
|
+
// useful logging surface later (e.g. on config diffs).
|
|
265
|
+
void warn;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Start periodic re-fetch of the runtime config. Default cadence is
|
|
269
|
+
* 60s (RFC 8126's "private cache max-age" matches; lets the dashboard
|
|
270
|
+
* deliver a new feature definition to a long-lived process within ~a
|
|
271
|
+
* minute). Set `refreshIntervalMs: 0` to disable.
|
|
272
|
+
*
|
|
273
|
+
* The timer is unref()'d so polling never keeps the process alive past
|
|
274
|
+
* its real work.
|
|
275
|
+
*/
|
|
276
|
+
function scheduleRefresh(cfgUrl, ingestId, warn, refreshIntervalMs) {
|
|
277
|
+
const ms = refreshIntervalMs ?? 60_000;
|
|
278
|
+
if (ms === 0)
|
|
96
279
|
return;
|
|
280
|
+
if (_refreshTimer)
|
|
281
|
+
return; // idempotent — register() can be called more than once safely
|
|
282
|
+
_refreshTimer = setInterval(() => {
|
|
283
|
+
void (async () => {
|
|
284
|
+
const next = await fetchConfig(cfgUrl, ingestId, warn);
|
|
285
|
+
if (!next)
|
|
286
|
+
return; // 304 or error — mapByPath stays as it is
|
|
287
|
+
applyConfig(next, warn);
|
|
288
|
+
if (mapByPath.size > 0 && !_hookInstalled) {
|
|
289
|
+
// A feature was just defined for a workspace that had none at
|
|
290
|
+
// boot; flip the hooks on now.
|
|
291
|
+
installRequireHook();
|
|
292
|
+
if (nodeSupportsModuleRegister())
|
|
293
|
+
installEsmLoader(warn);
|
|
294
|
+
}
|
|
295
|
+
})();
|
|
296
|
+
}, ms);
|
|
297
|
+
// Don't let polling keep the process alive (e.g. for short-lived
|
|
298
|
+
// tasks that happen to call register()).
|
|
299
|
+
if (typeof _refreshTimer.unref === "function") {
|
|
300
|
+
_refreshTimer.unref();
|
|
97
301
|
}
|
|
98
|
-
installRequireHook();
|
|
99
|
-
installEsmLoader(warn);
|
|
100
302
|
}
|
|
101
303
|
function installEsmLoader(warn) {
|
|
102
304
|
if (_esmLoaderInstalled)
|
|
@@ -142,11 +344,19 @@ function installRequireHook() {
|
|
|
142
344
|
_hookInstalled = true;
|
|
143
345
|
}
|
|
144
346
|
function matchFeatureForPath(absolutePath) {
|
|
347
|
+
// Normalize Windows separators once up front.
|
|
348
|
+
const normalized = absolutePath.replace(/\\/g, "/");
|
|
145
349
|
for (const [featurePath, info] of mapByPath) {
|
|
146
|
-
if (
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
350
|
+
if (normalized === featurePath)
|
|
351
|
+
return info;
|
|
352
|
+
// Anchored suffix match: featurePath must be multi-segment, and the
|
|
353
|
+
// absolute path must end with "/" + featurePath. That "/" before
|
|
354
|
+
// the match is what prevents `/api/cart/checkout` from matching a
|
|
355
|
+
// featurePath of `checkout` — single-segment paths get NO suffix
|
|
356
|
+
// match at all because the directory boundary check isn't strong
|
|
357
|
+
// enough to disambiguate them. Discovery emits full repo-relative
|
|
358
|
+
// paths today, so this rule never costs us a real match.
|
|
359
|
+
if (featurePath.includes("/") && normalized.endsWith(`/${featurePath}`)) {
|
|
150
360
|
return info;
|
|
151
361
|
}
|
|
152
362
|
}
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/vite/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAwBnC,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAeD,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,IAAI,GAAE,kBAAuB,GAAG,MAAM,CA8FrE"}
|
package/dist/vite/index.js
CHANGED
|
@@ -91,9 +91,28 @@ export default function praetom(opts = {}) {
|
|
|
91
91
|
},
|
|
92
92
|
};
|
|
93
93
|
function matchFeatureForPath(relPath) {
|
|
94
|
+
const matches = (p) => {
|
|
95
|
+
if (relPath === p)
|
|
96
|
+
return true;
|
|
97
|
+
// Anchored suffix: featurePath must be multi-segment so the
|
|
98
|
+
// "/" boundary is real. Single-segment paths get NO suffix
|
|
99
|
+
// match — would false-positive on `/api/cart/checkout` vs "checkout".
|
|
100
|
+
return p.includes("/") && relPath.endsWith(`/${p}`);
|
|
101
|
+
};
|
|
94
102
|
for (const feature of featureMap) {
|
|
95
|
-
|
|
96
|
-
|
|
103
|
+
// Per-file entry shape: each path carries its own entrySymbol.
|
|
104
|
+
if (feature.entries && feature.entries.length > 0) {
|
|
105
|
+
for (const entry of feature.entries) {
|
|
106
|
+
if (matches(entry.path)) {
|
|
107
|
+
return { slug: feature.slug, entrySymbol: entry.entrySymbol };
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else if (feature.paths) {
|
|
112
|
+
// Legacy fallback: single feature-level entrySymbol for all paths.
|
|
113
|
+
if (feature.paths.some(matches)) {
|
|
114
|
+
return { slug: feature.slug, entrySymbol: feature.entrySymbol };
|
|
115
|
+
}
|
|
97
116
|
}
|
|
98
117
|
}
|
|
99
118
|
return null;
|
package/dist/vite/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"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"}
|
package/dist/webpack/shared.d.ts
CHANGED
|
@@ -4,9 +4,17 @@
|
|
|
4
4
|
* because the webpack plugin needs the same transform but webpack
|
|
5
5
|
* exposes it through a loader function (vite uses `transform`).
|
|
6
6
|
*/
|
|
7
|
+
export interface FeatureEntry {
|
|
8
|
+
path: string;
|
|
9
|
+
entrySymbol?: string;
|
|
10
|
+
side?: string;
|
|
11
|
+
}
|
|
7
12
|
export interface FeatureMapEntry {
|
|
8
13
|
slug: string;
|
|
9
|
-
|
|
14
|
+
/** Preferred: per-file entries with their own entry symbols. */
|
|
15
|
+
entries?: FeatureEntry[];
|
|
16
|
+
/** Legacy: kept for back-compat with older server responses. */
|
|
17
|
+
paths?: string[];
|
|
10
18
|
entrySymbol?: string;
|
|
11
19
|
}
|
|
12
20
|
export interface RuntimeConfigResponse {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/webpack/shared.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/webpack/shared.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAcD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,OAAO,EAAE,MAAM,GACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAwB/C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAGjF;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAkCf;AAED,wBAAsB,eAAe,CACnC,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,CAAC,CAQhC"}
|
package/dist/webpack/shared.js
CHANGED
|
@@ -15,9 +15,28 @@ const HTTP_METHODS = new Set([
|
|
|
15
15
|
]);
|
|
16
16
|
const PRAETOM_IMPORT_MARKER = "__praetom_wrap_import__";
|
|
17
17
|
export function matchFeatureForPath(features, relPath) {
|
|
18
|
+
const matches = (p) => {
|
|
19
|
+
if (relPath === p)
|
|
20
|
+
return true;
|
|
21
|
+
// Anchored suffix: featurePath must be multi-segment so the "/"
|
|
22
|
+
// boundary is real. Single-segment paths get NO suffix match —
|
|
23
|
+
// would false-positive on `/api/cart/checkout` vs "checkout".
|
|
24
|
+
return p.includes("/") && relPath.endsWith(`/${p}`);
|
|
25
|
+
};
|
|
18
26
|
for (const feature of features) {
|
|
19
|
-
|
|
20
|
-
|
|
27
|
+
// Per-file entry shape: each path carries its own entrySymbol.
|
|
28
|
+
if (feature.entries && feature.entries.length > 0) {
|
|
29
|
+
for (const entry of feature.entries) {
|
|
30
|
+
if (matches(entry.path)) {
|
|
31
|
+
return { slug: feature.slug, entrySymbol: entry.entrySymbol };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else if (feature.paths) {
|
|
36
|
+
// Legacy fallback: single feature-level entrySymbol for all paths.
|
|
37
|
+
if (feature.paths.some(matches)) {
|
|
38
|
+
return { slug: feature.slug, entrySymbol: feature.entrySymbol };
|
|
39
|
+
}
|
|
21
40
|
}
|
|
22
41
|
}
|
|
23
42
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/webpack/shared.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/webpack/shared.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "praetom",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "Praetom — production intelligence for AI-generated code. One package: runtime SDK, bundler plugins, and CLI. `register()` once, the praetom server defines what gets wrapped at runtime; the bundler plugin handles bundled code; the CLI wires it all up from the terminal.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|