@vauban-org/agent-sdk 1.4.0 → 1.6.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;IA+WtB;;;;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.
@@ -229,6 +316,10 @@ export class OODAAgentImpl {
229
316
  toolCalls: 0,
230
317
  costUsd: 0,
231
318
  };
319
+ // Captures the OutcomeRecord returned by this._config.outcomeMapping so
320
+ // finishTelemetry can propagate it on the wire event. Set late (after
321
+ // phase chain). Sink-agnostic — the SDK never persists this itself.
322
+ let capturedOutcome;
232
323
  const finishTelemetry = (status, stopReason, errorMessage) => {
233
324
  if (!telemetry)
234
325
  return;
@@ -242,6 +333,7 @@ export class OODAAgentImpl {
242
333
  totalOutputTokens: telemetryTotals.outputTokens,
243
334
  totalCostUsd: telemetryTotals.costUsd,
244
335
  totalToolCalls: telemetryTotals.toolCalls,
336
+ ...(capturedOutcome ? { outcome: capturedOutcome } : {}),
245
337
  })
246
338
  .catch((err) => logger.warn({ err: err?.message ?? String(err) }, "telemetry.finish.failed")));
247
339
  };
@@ -268,7 +360,8 @@ export class OODAAgentImpl {
268
360
  // best-effort.
269
361
  if (telemetry) {
270
362
  const stepIndex = stepsThisCycle - 1;
271
- const payload = (input.payload ?? {});
363
+ const rawPayload = (input.payload ?? {});
364
+ const payload = rawPayload;
272
365
  const inT = Number(payload.inputTokens ?? 0);
273
366
  const outT = Number(payload.outputTokens ?? 0);
274
367
  const cost = Number(payload.costUsd ?? 0);
@@ -277,6 +370,10 @@ export class OODAAgentImpl {
277
370
  telemetryTotals.outputTokens += outT;
278
371
  telemetryTotals.costUsd += cost;
279
372
  telemetryTotals.toolCalls += tools;
373
+ // SDK 1.5.0 — propagate the full step payload as `metadata` so the
374
+ // dashboard can show real phase content (LLM prompt, tool output,
375
+ // decision body). PII-redacted + 4 KB-capped by default.
376
+ const metadata = buildTelemetryMetadata(rawPayload);
280
377
  void telemetryStartFired.then(() => telemetry
281
378
  .step(runId, {
282
379
  stepIndex,
@@ -289,6 +386,7 @@ export class OODAAgentImpl {
289
386
  durationMs: payload.durationMs !== undefined
290
387
  ? Number(payload.durationMs)
291
388
  : undefined,
389
+ ...(metadata !== undefined ? { metadata } : {}),
292
390
  })
293
391
  .catch((err) => logger.warn({ err: err?.message ?? String(err) }, "telemetry.step.failed")));
294
392
  }
@@ -381,6 +479,22 @@ export class OODAAgentImpl {
381
479
  const outcome = this._config.outcomeMapping(feedback);
382
480
  if (outcome) {
383
481
  logger.info({ runId, outcome_type: outcome.outcome_type }, "ooda.cycle.outcome");
482
+ // Propagate to telemetry.finish wire event so sinks can persist
483
+ // it (CC sink writes agent_run.outcome_quality, OTLP exports as
484
+ // span attributes, etc.). The SDK itself never touches storage.
485
+ capturedOutcome = {
486
+ type: outcome.outcome_type,
487
+ valueCents: outcome.value_cents,
488
+ ...(outcome.quality !== undefined
489
+ ? { quality: outcome.quality }
490
+ : {}),
491
+ ...(outcome.confidence !== undefined
492
+ ? { confidence: outcome.confidence }
493
+ : {}),
494
+ ...(outcome.metadata !== undefined
495
+ ? { metadata: outcome.metadata }
496
+ : {}),
497
+ };
384
498
  }
385
499
  }
386
500
  catch (e) {
@@ -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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"}
@@ -178,6 +178,15 @@ export interface OutcomeRecord {
178
178
  readonly value_cents: number;
179
179
  /** Confidence score (0.0 - 1.0). EconomicObserver weights ROI by confidence. */
180
180
  readonly confidence?: number;
181
+ /**
182
+ * Outcome quality score (0.0 - 1.0). Distinct from confidence : measures
183
+ * the BUSINESS quality of the cycle output (publishedCount, threatsBlocked,
184
+ * invoicesProcessed, etc.). Persisted to `agent_run.outcome_quality` by
185
+ * the CC backend's telemetry-ingest finish handler (SDK 1.6 / ADR-ECO-039).
186
+ * Use `@vauban-org/forge`'s shared `computeQuality()` helper for consistent
187
+ * scoring across agents, or override with a custom score.
188
+ */
189
+ readonly quality?: number;
181
190
  readonly is_pending_backfill?: boolean;
182
191
  readonly metadata?: Record<string, unknown>;
183
192
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/orchestration/ooda/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/orchestration/ooda/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,GAAG,EAAE,eAAe,CAAC;IACrB,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,UAAU,GACV,WAAW,GACX,UAAU,GACV,aAAa,CAAC;AAElB;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;AAE/C;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW,CAAC,OAAO,GAAG,OAAO;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnD,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAEtC,iEAAiE;IACjE,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE;QAC3B,IAAI,EAAE,aAAa,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAElC,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,EAAE,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEnC,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ,CAAC,MAAM,EAAE,OAAO;IACvC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACpE;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtC;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzE;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,gFAAgF;IAChF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,8DAA8D;IAC9D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,oEAAoE;IACpE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAI5D,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,eAAe,CAC9B,OAAO,GAAG,OAAO,EACjB,IAAI,GAAG,OAAO,EACd,OAAO,GAAG,OAAO,EACjB,SAAS,GAAG,OAAO,EACnB,OAAO,GAAG,OAAO,EACjB,SAAS,GAAG,OAAO;IAEnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnD,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAEhC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAE7B,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC9C,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3C;;;;;;WAMG;QACH,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,GAAG;YAAE,QAAQ,EAAE,SAAS,CAAA;SAAE,EAAE,SAAS,CAAC,CAAC;QAC1E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;KACjD,CAAC;IAEF,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC3C,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,aAAa,GAAG,IAAI,CAAC;IACxE,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IAEzC,+CAA+C;IAC/C,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IACpD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IACxD,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAClD,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IAEtD;;;;;;;;;OASG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,yBAAyB,EAAE,aAAa,CAAC;IAErE;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE;QAC3B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;KAClB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpB;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE;QACtB,wEAAwE;QACxE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;QAC7B,mDAAmD;QACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;QAC9B,+DAA+D;QAC/D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC;QAC5C,4EAA4E;QAC5E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QACjC;;;;;WAKG;QACH,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,UAAU,CAAC;KAC/D,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,qEAAqE;IACrE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,gEAAgE;IAChE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE;QACjB,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,CAAC;IACpD;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC1C,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAC9B,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,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAI7D;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GACtB;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACZ,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;CACZ,GACD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ,GACD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ,GACD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;CACZ,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEN;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GACtB;IACE,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,GAAG,YAAY,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;CACZ,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEN;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/orchestration/ooda/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAsLH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA6B;IAC/D,cAAc,EAAE,MAAM;IACtB,gBAAgB,EAAE,GAAG;IACrB,SAAS,EAAE,GAAG;CACf,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/orchestration/ooda/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AA+LH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA6B;IAC/D,cAAc,EAAE,MAAM;IACtB,gBAAgB,EAAE,GAAG;IACrB,SAAS,EAAE,GAAG;CACf,CAAC"}
@@ -68,6 +68,23 @@ export interface TelemetryRunFinish {
68
68
  totalOutputTokens?: number;
69
69
  totalCostUsd?: number;
70
70
  totalToolCalls?: number;
71
+ /**
72
+ * Outcome record emitted by the agent's `outcomeMapping(feedback)`. The SDK
73
+ * propagates it as-is on the finish event ; consuming sinks decide what to
74
+ * do with it (CC sink writes `agent_run.outcome_quality`, OTLP collector
75
+ * surfaces as span attributes, etc.). Pure data — no coupling to any
76
+ * specific backend.
77
+ *
78
+ * @since 1.6.0 (ADR-ECO-039)
79
+ */
80
+ outcome?: {
81
+ type: string;
82
+ valueCents: number;
83
+ /** Business quality of the cycle output, 0..1. Distinct from confidence. */
84
+ quality?: number;
85
+ confidence?: number;
86
+ metadata?: Record<string, unknown>;
87
+ };
71
88
  }
72
89
  /**
73
90
  * TelemetrySink — pluggable destination for run lifecycle events.
@@ -1 +1 @@
1
- {"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../src/telemetry/port.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,QAAQ,GACR,SAAS,GACT,SAAS,GACT,YAAY,CAAC;AAEjB,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAID;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,aAAa;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAExD,uCAAuC;IACvC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D,yBAAyB;IACzB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;OAGG;IACH,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAID;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAWjC,CAAC;AAIF;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,QAAQ,EAAE,MAAM;aAChB,KAAK,CAAC,EAAE,OAAO;gBAF/B,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,OAAO,YAAA;CAKlC"}
1
+ {"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../src/telemetry/port.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/telemetry/port.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA+GH,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD,IAAI,EAAE,MAAM;IACZ,KAAK,CAAC,KAAK;QACT,WAAW;IACb,CAAC;IACD,KAAK,CAAC,IAAI;QACR,WAAW;IACb,CAAC;IACD,KAAK,CAAC,MAAM;QACV,WAAW;IACb,CAAC;CACF,CAAC;AAEF,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAGzB;IACA;IAHlB,YACE,OAAe,EACC,QAAgB,EAChB,KAAe;QAE/B,KAAK,CAAC,cAAc,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;QAH5B,aAAQ,GAAR,QAAQ,CAAQ;QAChB,UAAK,GAAL,KAAK,CAAU;QAG/B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/telemetry/port.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAgIH,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD,IAAI,EAAE,MAAM;IACZ,KAAK,CAAC,KAAK;QACT,WAAW;IACb,CAAC;IACD,KAAK,CAAC,IAAI;QACR,WAAW;IACb,CAAC;IACD,KAAK,CAAC,MAAM;QACV,WAAW;IACb,CAAC;CACF,CAAC;AAEF,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAGzB;IACA;IAHlB,YACE,OAAe,EACC,QAAgB,EAChB,KAAe;QAE/B,KAAK,CAAC,cAAc,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;QAH5B,aAAQ,GAAR,QAAQ,CAAQ;QAChB,UAAK,GAAL,KAAK,CAAU;QAG/B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF"}
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.6.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",
@@ -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.
@@ -325,6 +417,18 @@ export class OODAAgentImpl<
325
417
  toolCalls: 0,
326
418
  costUsd: 0,
327
419
  };
420
+ // Captures the OutcomeRecord returned by this._config.outcomeMapping so
421
+ // finishTelemetry can propagate it on the wire event. Set late (after
422
+ // phase chain). Sink-agnostic — the SDK never persists this itself.
423
+ let capturedOutcome:
424
+ | {
425
+ type: string;
426
+ valueCents: number;
427
+ quality?: number;
428
+ confidence?: number;
429
+ metadata?: Record<string, unknown>;
430
+ }
431
+ | undefined;
328
432
  const finishTelemetry = (
329
433
  status: "success" | "failed" | "skipped",
330
434
  stopReason?: string,
@@ -342,6 +446,7 @@ export class OODAAgentImpl<
342
446
  totalOutputTokens: telemetryTotals.outputTokens,
343
447
  totalCostUsd: telemetryTotals.costUsd,
344
448
  totalToolCalls: telemetryTotals.toolCalls,
449
+ ...(capturedOutcome ? { outcome: capturedOutcome } : {}),
345
450
  })
346
451
  .catch((err: unknown) =>
347
452
  logger.warn(
@@ -379,7 +484,8 @@ export class OODAAgentImpl<
379
484
  // best-effort.
380
485
  if (telemetry) {
381
486
  const stepIndex = stepsThisCycle - 1;
382
- const payload = (input.payload ?? {}) as {
487
+ const rawPayload = (input.payload ?? {}) as Record<string, unknown>;
488
+ const payload = rawPayload as {
383
489
  inputTokens?: number;
384
490
  outputTokens?: number;
385
491
  costUsd?: number;
@@ -394,6 +500,10 @@ export class OODAAgentImpl<
394
500
  telemetryTotals.outputTokens += outT;
395
501
  telemetryTotals.costUsd += cost;
396
502
  telemetryTotals.toolCalls += tools;
503
+ // SDK 1.5.0 — propagate the full step payload as `metadata` so the
504
+ // dashboard can show real phase content (LLM prompt, tool output,
505
+ // decision body). PII-redacted + 4 KB-capped by default.
506
+ const metadata = buildTelemetryMetadata(rawPayload);
397
507
  void telemetryStartFired.then(() =>
398
508
  telemetry
399
509
  .step(runId, {
@@ -408,6 +518,7 @@ export class OODAAgentImpl<
408
518
  payload.durationMs !== undefined
409
519
  ? Number(payload.durationMs)
410
520
  : undefined,
521
+ ...(metadata !== undefined ? { metadata } : {}),
411
522
  })
412
523
  .catch((err: unknown) =>
413
524
  logger.warn(
@@ -577,6 +688,22 @@ export class OODAAgentImpl<
577
688
  { runId, outcome_type: outcome.outcome_type },
578
689
  "ooda.cycle.outcome"
579
690
  );
691
+ // Propagate to telemetry.finish wire event so sinks can persist
692
+ // it (CC sink writes agent_run.outcome_quality, OTLP exports as
693
+ // span attributes, etc.). The SDK itself never touches storage.
694
+ capturedOutcome = {
695
+ type: outcome.outcome_type,
696
+ valueCents: outcome.value_cents,
697
+ ...(outcome.quality !== undefined
698
+ ? { quality: outcome.quality }
699
+ : {}),
700
+ ...(outcome.confidence !== undefined
701
+ ? { confidence: outcome.confidence }
702
+ : {}),
703
+ ...(outcome.metadata !== undefined
704
+ ? { metadata: outcome.metadata }
705
+ : {}),
706
+ };
580
707
  }
581
708
  } catch (e) {
582
709
  logger.error(
@@ -192,6 +192,15 @@ export interface OutcomeRecord {
192
192
  readonly value_cents: number;
193
193
  /** Confidence score (0.0 - 1.0). EconomicObserver weights ROI by confidence. */
194
194
  readonly confidence?: number;
195
+ /**
196
+ * Outcome quality score (0.0 - 1.0). Distinct from confidence : measures
197
+ * the BUSINESS quality of the cycle output (publishedCount, threatsBlocked,
198
+ * invoicesProcessed, etc.). Persisted to `agent_run.outcome_quality` by
199
+ * the CC backend's telemetry-ingest finish handler (SDK 1.6 / ADR-ECO-039).
200
+ * Use `@vauban-org/forge`'s shared `computeQuality()` helper for consistent
201
+ * scoring across agents, or override with a custom score.
202
+ */
203
+ readonly quality?: number;
195
204
  readonly is_pending_backfill?: boolean;
196
205
  readonly metadata?: Record<string, unknown>;
197
206
  }
@@ -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
+ });
@@ -79,6 +79,23 @@ export interface TelemetryRunFinish {
79
79
  totalOutputTokens?: number;
80
80
  totalCostUsd?: number;
81
81
  totalToolCalls?: number;
82
+ /**
83
+ * Outcome record emitted by the agent's `outcomeMapping(feedback)`. The SDK
84
+ * propagates it as-is on the finish event ; consuming sinks decide what to
85
+ * do with it (CC sink writes `agent_run.outcome_quality`, OTLP collector
86
+ * surfaces as span attributes, etc.). Pure data — no coupling to any
87
+ * specific backend.
88
+ *
89
+ * @since 1.6.0 (ADR-ECO-039)
90
+ */
91
+ outcome?: {
92
+ type: string;
93
+ valueCents: number;
94
+ /** Business quality of the cycle output, 0..1. Distinct from confidence. */
95
+ quality?: number;
96
+ confidence?: number;
97
+ metadata?: Record<string, unknown>;
98
+ };
82
99
  }
83
100
 
84
101
  // ─── Sink interface ──────────────────────────────────────────────────────────