feat(telemetry): session-telemetry seam with mandatory redaction + OTel backend
Revive the reviewed session-telemetry packages from the closed
session-telemetry-otlp-rfc branch (PR #222/#231) on current master, renamed
to @deepseek-ai/dsh-session-telemetry{,-otel} (the SDK component-telemetry
package holds the dsh-telemetry name).
Delta over the branch version: every record now passes a telemetry/redact
waterfall between projection and emit() — the innermost next() applies a
non-configurable conservative credential-shape rule set, listeners stack
stricter rules, a throwing rule withholds the record fail-closed, and the
canonical log is never rewritten. This answers the export-side concern that
closed PR #222; the boundary axiom (our aspect ends at emit(); delivery is
the reporting SDK's) is unchanged, and the runtime-telemetry RFC's outbox /
readCommitted lane is recorded as deferred in the Agent Note.
Covered by seam/redact/OTel-wire unit tiers (100% per-file) and a keyless
Loader-composition e2e that boots the examples fixture against a mock OTLP
collector and pins redaction on the wire plus the untouched canonical log.
This commit is contained in:
@@ -48,6 +48,8 @@
|
||||
{ "path": "./packages/session-title/session-title-llm" },
|
||||
{ "path": "./packages/session-title/session-title-first-message-llm" },
|
||||
{ "path": "./packages/session-title/session-title-all-messages-llm" },
|
||||
{ "path": "./packages/telemetry/session-telemetry" },
|
||||
{ "path": "./packages/telemetry/session-telemetry-otel" },
|
||||
{ "path": "./packages/core/system-prompt" },
|
||||
{ "path": "./packages/core/agent" },
|
||||
{ "path": "./packages/ui/commands" },
|
||||
|
||||
Reference in New Issue
Block a user