@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.
- package/dist/orchestration/ooda/agent.d.ts +7 -0
- package/dist/orchestration/ooda/agent.d.ts.map +1 -1
- package/dist/orchestration/ooda/agent.js +94 -1
- package/dist/orchestration/ooda/agent.js.map +1 -1
- package/package.json +19 -18
- package/src/orchestration/ooda/agent.ts +99 -1
- package/src/telemetry/metadata.test.ts +195 -0
|
@@ -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;
|
|
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
|
|
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.
|
|
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
|
|
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
|
+
});
|