@vauban-org/agent-sdk 1.4.0 → 1.5.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.
@@ -7,6 +7,13 @@
7
7
  * @public
8
8
  */
9
9
  import type { CycleEvent, CycleStatus, OODAAgent, OODAAgentConfig } from "./types.js";
10
+ /**
11
+ * Prepare an `insertStep` payload for emission on `telemetry.step.metadata`.
12
+ *
13
+ * Returns `undefined` when the payload is empty or absent — telemetry.step
14
+ * keeps backward compat (metadata field omitted from the wire event).
15
+ */
16
+ export declare function buildTelemetryMetadata(payload: Record<string, unknown> | undefined): Record<string, unknown> | undefined;
10
17
  /**
11
18
  * OODAAgentImpl — concrete implementation. Prefer `createOODAAgent` factory.
12
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/orchestration/ooda/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAEX,SAAS,EACT,eAAe,EAMhB,MAAM,YAAY,CAAC;AAyGpB;;GAEG;AACH,qBAAa,aAAa,CACxB,OAAO,GAAG,OAAO,EACjB,IAAI,GAAG,OAAO,EACd,OAAO,GAAG,OAAO,EACjB,SAAS,GAAG,OAAO,EACnB,OAAO,GAAG,OAAO,EACjB,SAAS,GAAG,OAAO,CACnB,YAAW,SAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAOtB;IACF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAmB;gBAGtC,MAAM,EAAE,eAAe,CACrB,OAAO,EACP,IAAI,EACJ,OAAO,EACP,SAAS,EACT,OAAO,EACP,SAAS,CACV;IAgBG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAWrB,YAAY,CAAC,IAAI,EAAE;QACvB,MAAM,EAAE,OAAO,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC1C,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC;IAS5C,WAAW,CAAC,IAAI,EAAE;QACvB,MAAM,EAAE,OAAO,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC1C,GAAG,cAAc,CAAC,UAAU,CAAC;IAyD9B,SAAS,IAAI;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB;YAUa,QAAQ;IA4UtB;;;;OAIG;YACW,iBAAiB;IAuY/B;;OAEG;YACW,aAAa;YA4Db,mBAAmB;YAWnB,gBAAgB;CAY/B"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/orchestration/ooda/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAEX,SAAS,EACT,eAAe,EAMhB,MAAM,YAAY,CAAC;AA6GpB;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC3C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAyBrC;AAuDD;;GAEG;AACH,qBAAa,aAAa,CACxB,OAAO,GAAG,OAAO,EACjB,IAAI,GAAG,OAAO,EACd,OAAO,GAAG,OAAO,EACjB,SAAS,GAAG,OAAO,EACnB,OAAO,GAAG,OAAO,EACjB,SAAS,GAAG,OAAO,CACnB,YAAW,SAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAOtB;IACF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAmB;gBAGtC,MAAM,EAAE,eAAe,CACrB,OAAO,EACP,IAAI,EACJ,OAAO,EACP,SAAS,EACT,OAAO,EACP,SAAS,CACV;IAgBG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAWrB,YAAY,CAAC,IAAI,EAAE;QACvB,MAAM,EAAE,OAAO,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC1C,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC;IAS5C,WAAW,CAAC,IAAI,EAAE;QACvB,MAAM,EAAE,OAAO,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC1C,GAAG,cAAc,CAAC,UAAU,CAAC;IAyD9B,SAAS,IAAI;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB;YAUa,QAAQ;IAkVtB;;;;OAIG;YACW,iBAAiB;IAuY/B;;OAEG;YACW,aAAa;YA4Db,mBAAmB;YAWnB,gBAAgB;CAY/B"}
@@ -52,6 +52,93 @@ function defaultErrorStep() {
52
52
  function defaultNotifySlack() {
53
53
  return async () => { };
54
54
  }
55
+ // ─── Telemetry metadata sanitization (SDK 1.5.0 — sprint-B) ─────────────────
56
+ //
57
+ // `insertStep` callers pass arbitrary `input.payload` objects which we want to
58
+ // surface on `telemetry.step` events so the dashboard can render the real phase
59
+ // content (LLM prompt, tool output, decision body, etc.). The payload may
60
+ // contain secrets : we apply two transforms before emission.
61
+ //
62
+ // 1. PII redaction : recursively replace string values whose key matches
63
+ // /secret|token|password|api[_-]?key/i with `"[REDACTED]"`. Bypassed when
64
+ // `process.env.TELEMETRY_INCLUDE_PAYLOADS === "true"` (escape hatch for
65
+ // sovereign self-hosters auditing their own runs).
66
+ //
67
+ // 2. Size cap : JSON-serialise and truncate at TELEMETRY_METADATA_MAX_BYTES
68
+ // (4 KB). When truncated, the metadata object is replaced by a marker
69
+ // `{ truncated: true, originalBytes }` so dashboards can flag the
70
+ // omission rather than silently render half a payload.
71
+ //
72
+ // Side-effect free : caller's `input.payload` is never mutated.
73
+ const TELEMETRY_METADATA_MAX_BYTES = 4096;
74
+ const TELEMETRY_SENSITIVE_KEY_RE = /secret|token|password|api[_-]?key/i;
75
+ /**
76
+ * Recursive redaction. Returns a structurally-cloned, sanitized copy.
77
+ *
78
+ * `seen` tracks references to detect cycles ; on a cycle we throw, which the
79
+ * caller (`buildTelemetryMetadata`) converts to the `metadata_serialization_failed`
80
+ * marker. We also cap depth at 32 to bound CPU on pathological nesting.
81
+ */
82
+ const TELEMETRY_REDACT_MAX_DEPTH = 32;
83
+ function redactSensitiveKeys(value, seen = new WeakSet(), depth = 0) {
84
+ if (value === null || typeof value !== "object")
85
+ return value;
86
+ if (depth > TELEMETRY_REDACT_MAX_DEPTH) {
87
+ throw new Error("metadata depth exceeded");
88
+ }
89
+ if (seen.has(value)) {
90
+ throw new Error("metadata cycle detected");
91
+ }
92
+ seen.add(value);
93
+ if (Array.isArray(value)) {
94
+ return value.map((v) => redactSensitiveKeys(v, seen, depth + 1));
95
+ }
96
+ const out = {};
97
+ for (const [k, v] of Object.entries(value)) {
98
+ if (TELEMETRY_SENSITIVE_KEY_RE.test(k)) {
99
+ out[k] = "[REDACTED]";
100
+ }
101
+ else {
102
+ out[k] = redactSensitiveKeys(v, seen, depth + 1);
103
+ }
104
+ }
105
+ return out;
106
+ }
107
+ /**
108
+ * Prepare an `insertStep` payload for emission on `telemetry.step.metadata`.
109
+ *
110
+ * Returns `undefined` when the payload is empty or absent — telemetry.step
111
+ * keeps backward compat (metadata field omitted from the wire event).
112
+ */
113
+ export function buildTelemetryMetadata(payload) {
114
+ if (!payload || Object.keys(payload).length === 0)
115
+ return undefined;
116
+ const includeRaw = process.env.TELEMETRY_INCLUDE_PAYLOADS === "true";
117
+ let sanitized;
118
+ try {
119
+ sanitized = includeRaw
120
+ ? payload
121
+ : redactSensitiveKeys(payload);
122
+ }
123
+ catch {
124
+ // Circular structure crashes the recursive redactor — fail closed.
125
+ return { error: "metadata_serialization_failed" };
126
+ }
127
+ let json;
128
+ try {
129
+ json = JSON.stringify(sanitized);
130
+ }
131
+ catch {
132
+ return { error: "metadata_serialization_failed" };
133
+ }
134
+ if (Buffer.byteLength(json, "utf8") > TELEMETRY_METADATA_MAX_BYTES) {
135
+ return {
136
+ truncated: true,
137
+ originalBytes: Buffer.byteLength(json, "utf8"),
138
+ };
139
+ }
140
+ return sanitized;
141
+ }
55
142
  /**
56
143
  * Race a promise against an `AbortSignal.timeout`-driven rejection.
57
144
  * Anti-pattern #9 enforcement.
@@ -268,7 +355,8 @@ export class OODAAgentImpl {
268
355
  // best-effort.
269
356
  if (telemetry) {
270
357
  const stepIndex = stepsThisCycle - 1;
271
- const payload = (input.payload ?? {});
358
+ const rawPayload = (input.payload ?? {});
359
+ const payload = rawPayload;
272
360
  const inT = Number(payload.inputTokens ?? 0);
273
361
  const outT = Number(payload.outputTokens ?? 0);
274
362
  const cost = Number(payload.costUsd ?? 0);
@@ -277,6 +365,10 @@ export class OODAAgentImpl {
277
365
  telemetryTotals.outputTokens += outT;
278
366
  telemetryTotals.costUsd += cost;
279
367
  telemetryTotals.toolCalls += tools;
368
+ // SDK 1.5.0 — propagate the full step payload as `metadata` so the
369
+ // dashboard can show real phase content (LLM prompt, tool output,
370
+ // decision body). PII-redacted + 4 KB-capped by default.
371
+ const metadata = buildTelemetryMetadata(rawPayload);
280
372
  void telemetryStartFired.then(() => telemetry
281
373
  .step(runId, {
282
374
  stepIndex,
@@ -289,6 +381,7 @@ export class OODAAgentImpl {
289
381
  durationMs: payload.durationMs !== undefined
290
382
  ? Number(payload.durationMs)
291
383
  : undefined,
384
+ ...(metadata !== undefined ? { metadata } : {}),
292
385
  })
293
386
  .catch((err) => logger.warn({ err: err?.message ?? String(err) }, "telemetry.step.failed")));
294
387
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/orchestration/ooda/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/orchestration/ooda/agent.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vauban-org/agent-sdk",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "Vauban agent primitives: loop, budget, routing, HITL, permissions, tracking, durable execution",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -113,6 +113,23 @@
113
113
  "registry": "https://registry.npmjs.org",
114
114
  "access": "public"
115
115
  },
116
+ "scripts": {
117
+ "build": "tsc",
118
+ "test": "vitest run",
119
+ "lint": "biome check src/ tests/",
120
+ "size": "size-limit",
121
+ "size:legacy": "node scripts/measure-size.mjs",
122
+ "bench": "node --import tsx/esm bench/run.ts",
123
+ "bench:sdk": "node --import tsx/esm benchmarks/sdk.bench.ts",
124
+ "bench:baseline": "node --import tsx/esm benchmarks/sdk.bench.ts --write-baseline",
125
+ "mutation": "stryker run",
126
+ "stryker": "stryker run --concurrency 2",
127
+ "api:extract": "api-extractor run --local --verbose",
128
+ "api:check": "api-extractor run",
129
+ "depcruise": "depcruise src",
130
+ "docs": "typedoc",
131
+ "prepublishOnly": "pnpm build && pnpm test"
132
+ },
116
133
  "dependencies": {
117
134
  "@anthropic-ai/sdk": "^0.39.0",
118
135
  "@opentelemetry/exporter-trace-otlp-http": "^0.213.0",
@@ -164,21 +181,5 @@
164
181
  },
165
182
  "engines": {
166
183
  "node": ">=20"
167
- },
168
- "scripts": {
169
- "build": "tsc",
170
- "test": "vitest run",
171
- "lint": "biome check src/ tests/",
172
- "size": "size-limit",
173
- "size:legacy": "node scripts/measure-size.mjs",
174
- "bench": "node --import tsx/esm bench/run.ts",
175
- "bench:sdk": "node --import tsx/esm benchmarks/sdk.bench.ts",
176
- "bench:baseline": "node --import tsx/esm benchmarks/sdk.bench.ts --write-baseline",
177
- "mutation": "stryker run",
178
- "stryker": "stryker run --concurrency 2",
179
- "api:extract": "api-extractor run --local --verbose",
180
- "api:check": "api-extractor run",
181
- "depcruise": "depcruise src",
182
- "docs": "typedoc"
183
184
  }
184
- }
185
+ }
@@ -72,6 +72,98 @@ function defaultNotifySlack(): OODAContext["notifySlack"] {
72
72
  return async () => {};
73
73
  }
74
74
 
75
+ // ─── Telemetry metadata sanitization (SDK 1.5.0 — sprint-B) ─────────────────
76
+ //
77
+ // `insertStep` callers pass arbitrary `input.payload` objects which we want to
78
+ // surface on `telemetry.step` events so the dashboard can render the real phase
79
+ // content (LLM prompt, tool output, decision body, etc.). The payload may
80
+ // contain secrets : we apply two transforms before emission.
81
+ //
82
+ // 1. PII redaction : recursively replace string values whose key matches
83
+ // /secret|token|password|api[_-]?key/i with `"[REDACTED]"`. Bypassed when
84
+ // `process.env.TELEMETRY_INCLUDE_PAYLOADS === "true"` (escape hatch for
85
+ // sovereign self-hosters auditing their own runs).
86
+ //
87
+ // 2. Size cap : JSON-serialise and truncate at TELEMETRY_METADATA_MAX_BYTES
88
+ // (4 KB). When truncated, the metadata object is replaced by a marker
89
+ // `{ truncated: true, originalBytes }` so dashboards can flag the
90
+ // omission rather than silently render half a payload.
91
+ //
92
+ // Side-effect free : caller's `input.payload` is never mutated.
93
+
94
+ const TELEMETRY_METADATA_MAX_BYTES = 4096;
95
+ const TELEMETRY_SENSITIVE_KEY_RE = /secret|token|password|api[_-]?key/i;
96
+
97
+ /**
98
+ * Recursive redaction. Returns a structurally-cloned, sanitized copy.
99
+ *
100
+ * `seen` tracks references to detect cycles ; on a cycle we throw, which the
101
+ * caller (`buildTelemetryMetadata`) converts to the `metadata_serialization_failed`
102
+ * marker. We also cap depth at 32 to bound CPU on pathological nesting.
103
+ */
104
+ const TELEMETRY_REDACT_MAX_DEPTH = 32;
105
+ function redactSensitiveKeys(
106
+ value: unknown,
107
+ seen: WeakSet<object> = new WeakSet(),
108
+ depth = 0
109
+ ): unknown {
110
+ if (value === null || typeof value !== "object") return value;
111
+ if (depth > TELEMETRY_REDACT_MAX_DEPTH) {
112
+ throw new Error("metadata depth exceeded");
113
+ }
114
+ if (seen.has(value as object)) {
115
+ throw new Error("metadata cycle detected");
116
+ }
117
+ seen.add(value as object);
118
+ if (Array.isArray(value)) {
119
+ return value.map((v) => redactSensitiveKeys(v, seen, depth + 1));
120
+ }
121
+ const out: Record<string, unknown> = {};
122
+ for (const [k, v] of Object.entries(value as Record<string, unknown>)) {
123
+ if (TELEMETRY_SENSITIVE_KEY_RE.test(k)) {
124
+ out[k] = "[REDACTED]";
125
+ } else {
126
+ out[k] = redactSensitiveKeys(v, seen, depth + 1);
127
+ }
128
+ }
129
+ return out;
130
+ }
131
+
132
+ /**
133
+ * Prepare an `insertStep` payload for emission on `telemetry.step.metadata`.
134
+ *
135
+ * Returns `undefined` when the payload is empty or absent — telemetry.step
136
+ * keeps backward compat (metadata field omitted from the wire event).
137
+ */
138
+ export function buildTelemetryMetadata(
139
+ payload: Record<string, unknown> | undefined
140
+ ): Record<string, unknown> | undefined {
141
+ if (!payload || Object.keys(payload).length === 0) return undefined;
142
+ const includeRaw = process.env.TELEMETRY_INCLUDE_PAYLOADS === "true";
143
+ let sanitized: Record<string, unknown>;
144
+ try {
145
+ sanitized = includeRaw
146
+ ? payload
147
+ : (redactSensitiveKeys(payload) as Record<string, unknown>);
148
+ } catch {
149
+ // Circular structure crashes the recursive redactor — fail closed.
150
+ return { error: "metadata_serialization_failed" };
151
+ }
152
+ let json: string;
153
+ try {
154
+ json = JSON.stringify(sanitized);
155
+ } catch {
156
+ return { error: "metadata_serialization_failed" };
157
+ }
158
+ if (Buffer.byteLength(json, "utf8") > TELEMETRY_METADATA_MAX_BYTES) {
159
+ return {
160
+ truncated: true,
161
+ originalBytes: Buffer.byteLength(json, "utf8"),
162
+ };
163
+ }
164
+ return sanitized;
165
+ }
166
+
75
167
  /**
76
168
  * Race a promise against an `AbortSignal.timeout`-driven rejection.
77
169
  * Anti-pattern #9 enforcement.
@@ -379,7 +471,8 @@ export class OODAAgentImpl<
379
471
  // best-effort.
380
472
  if (telemetry) {
381
473
  const stepIndex = stepsThisCycle - 1;
382
- const payload = (input.payload ?? {}) as {
474
+ const rawPayload = (input.payload ?? {}) as Record<string, unknown>;
475
+ const payload = rawPayload as {
383
476
  inputTokens?: number;
384
477
  outputTokens?: number;
385
478
  costUsd?: number;
@@ -394,6 +487,10 @@ export class OODAAgentImpl<
394
487
  telemetryTotals.outputTokens += outT;
395
488
  telemetryTotals.costUsd += cost;
396
489
  telemetryTotals.toolCalls += tools;
490
+ // SDK 1.5.0 — propagate the full step payload as `metadata` so the
491
+ // dashboard can show real phase content (LLM prompt, tool output,
492
+ // decision body). PII-redacted + 4 KB-capped by default.
493
+ const metadata = buildTelemetryMetadata(rawPayload);
397
494
  void telemetryStartFired.then(() =>
398
495
  telemetry
399
496
  .step(runId, {
@@ -408,6 +505,7 @@ export class OODAAgentImpl<
408
505
  payload.durationMs !== undefined
409
506
  ? Number(payload.durationMs)
410
507
  : undefined,
508
+ ...(metadata !== undefined ? { metadata } : {}),
411
509
  })
412
510
  .catch((err: unknown) =>
413
511
  logger.warn(
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Telemetry metadata sanitization tests (SDK 1.5.0 — sprint-B).
3
+ *
4
+ * Covers :
5
+ * - propagation when payload non-empty
6
+ * - PII redaction by default (keys matching /secret|token|password|api[_-]?key/i)
7
+ * - PII bypass when TELEMETRY_INCLUDE_PAYLOADS=true
8
+ * - 4 KB truncation marker
9
+ * - backward compat : metadata omitted when payload empty/absent
10
+ * - circular structures fallback
11
+ *
12
+ * Ref: command-center:sprint-B:telemetry-metadata
13
+ */
14
+
15
+ import { afterEach, beforeEach, describe, expect, it } from "vitest";
16
+
17
+ import { buildTelemetryMetadata } from "../orchestration/ooda/agent.js";
18
+
19
+ describe("buildTelemetryMetadata", () => {
20
+ const ORIGINAL_ENV = process.env.TELEMETRY_INCLUDE_PAYLOADS;
21
+
22
+ beforeEach(() => {
23
+ delete process.env.TELEMETRY_INCLUDE_PAYLOADS;
24
+ });
25
+
26
+ afterEach(() => {
27
+ if (ORIGINAL_ENV === undefined) {
28
+ delete process.env.TELEMETRY_INCLUDE_PAYLOADS;
29
+ } else {
30
+ process.env.TELEMETRY_INCLUDE_PAYLOADS = ORIGINAL_ENV;
31
+ }
32
+ });
33
+
34
+ describe("backward compat (1.4.0 → 1.5.0)", () => {
35
+ it("returns undefined for absent payload", () => {
36
+ expect(buildTelemetryMetadata(undefined)).toBeUndefined();
37
+ });
38
+
39
+ it("returns undefined for empty payload object", () => {
40
+ expect(buildTelemetryMetadata({})).toBeUndefined();
41
+ });
42
+ });
43
+
44
+ describe("propagation", () => {
45
+ it("propagates a plain payload", () => {
46
+ const payload = {
47
+ prompt: "Explain quantum entanglement",
48
+ response: "Two particles ...",
49
+ latencyMs: 240,
50
+ };
51
+ const out = buildTelemetryMetadata(payload);
52
+ expect(out).toEqual(payload);
53
+ });
54
+
55
+ it("propagates nested structures", () => {
56
+ const payload = {
57
+ decision: {
58
+ action: "publish",
59
+ reasoning: ["claim", "support", "warrant"],
60
+ },
61
+ meta: { ok: true },
62
+ };
63
+ const out = buildTelemetryMetadata(payload);
64
+ expect(out).toEqual(payload);
65
+ });
66
+
67
+ it("does not mutate caller payload", () => {
68
+ const payload = {
69
+ secret: "ttt",
70
+ nested: { apiKey: "kkk" },
71
+ };
72
+ const snapshot = JSON.parse(JSON.stringify(payload));
73
+ buildTelemetryMetadata(payload);
74
+ expect(payload).toEqual(snapshot);
75
+ });
76
+ });
77
+
78
+ describe("PII redaction (default behavior)", () => {
79
+ it("redacts top-level `secret` key", () => {
80
+ const out = buildTelemetryMetadata({
81
+ secret: "supersecret",
82
+ keep: "ok",
83
+ });
84
+ expect(out).toEqual({ secret: "[REDACTED]", keep: "ok" });
85
+ });
86
+
87
+ it("redacts `token`, `password`, `apiKey`, `api_key`, `api-key` keys", () => {
88
+ const out = buildTelemetryMetadata({
89
+ token: "tok-1",
90
+ password: "p@ss",
91
+ apiKey: "k1",
92
+ api_key: "k2",
93
+ "api-key": "k3",
94
+ normal: "visible",
95
+ });
96
+ expect(out).toEqual({
97
+ token: "[REDACTED]",
98
+ password: "[REDACTED]",
99
+ apiKey: "[REDACTED]",
100
+ api_key: "[REDACTED]",
101
+ "api-key": "[REDACTED]",
102
+ normal: "visible",
103
+ });
104
+ });
105
+
106
+ it("redacts nested sensitive keys", () => {
107
+ const out = buildTelemetryMetadata({
108
+ outer: {
109
+ inner: {
110
+ secret: "nested-secret",
111
+ ok: "yes",
112
+ },
113
+ },
114
+ });
115
+ expect(out).toEqual({
116
+ outer: { inner: { secret: "[REDACTED]", ok: "yes" } },
117
+ });
118
+ });
119
+
120
+ it("redacts sensitive keys inside arrays", () => {
121
+ const out = buildTelemetryMetadata({
122
+ items: [{ token: "t1" }, { token: "t2", value: 1 }],
123
+ });
124
+ expect(out).toEqual({
125
+ items: [{ token: "[REDACTED]" }, { token: "[REDACTED]", value: 1 }],
126
+ });
127
+ });
128
+
129
+ it("case-insensitive key matching", () => {
130
+ const out = buildTelemetryMetadata({
131
+ SECRET: "x",
132
+ Token: "y",
133
+ Password: "z",
134
+ });
135
+ expect(out).toEqual({
136
+ SECRET: "[REDACTED]",
137
+ Token: "[REDACTED]",
138
+ Password: "[REDACTED]",
139
+ });
140
+ });
141
+ });
142
+
143
+ describe("PII bypass when TELEMETRY_INCLUDE_PAYLOADS=true", () => {
144
+ it("propagates secrets unchanged when env flag set", () => {
145
+ process.env.TELEMETRY_INCLUDE_PAYLOADS = "true";
146
+ const out = buildTelemetryMetadata({
147
+ secret: "visible-now",
148
+ nested: { apiKey: "also-visible" },
149
+ });
150
+ expect(out).toEqual({
151
+ secret: "visible-now",
152
+ nested: { apiKey: "also-visible" },
153
+ });
154
+ });
155
+
156
+ it("does NOT bypass for other truthy strings", () => {
157
+ process.env.TELEMETRY_INCLUDE_PAYLOADS = "1";
158
+ const out = buildTelemetryMetadata({ token: "still-hidden" });
159
+ expect(out).toEqual({ token: "[REDACTED]" });
160
+ });
161
+ });
162
+
163
+ describe("size cap (4 KB)", () => {
164
+ it("propagates payload under 4 KB unchanged", () => {
165
+ const payload = { prompt: "a".repeat(1024) };
166
+ const out = buildTelemetryMetadata(payload);
167
+ expect(out).toEqual(payload);
168
+ });
169
+
170
+ it("replaces oversized payload with truncation marker", () => {
171
+ const payload = { prompt: "x".repeat(8192) };
172
+ const out = buildTelemetryMetadata(payload) as {
173
+ truncated?: boolean;
174
+ originalBytes?: number;
175
+ };
176
+ expect(out?.truncated).toBe(true);
177
+ expect(out?.originalBytes).toBeGreaterThan(4096);
178
+ });
179
+
180
+ it("4 KB cap applies on JSON-serialised size, not key count", () => {
181
+ // 5 keys of small size = under cap, returned verbatim
182
+ const small = { a: 1, b: 2, c: 3, d: 4, e: 5 };
183
+ expect(buildTelemetryMetadata(small)).toEqual(small);
184
+ });
185
+ });
186
+
187
+ describe("fallback behaviors", () => {
188
+ it("returns serialization_failed marker on circular structures", () => {
189
+ const payload: Record<string, unknown> = { name: "loop" };
190
+ payload.self = payload;
191
+ const out = buildTelemetryMetadata(payload);
192
+ expect(out).toEqual({ error: "metadata_serialization_failed" });
193
+ });
194
+ });
195
+ });