# Conflicts: # .agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.i18n.yaml # .agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.md # .agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.zh.md # .agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.i18n.yaml # docs/rfc/INDEX.md # packages/AGENTS.md
19 lines
721 B
TypeScript
19 lines
721 B
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import { SecretRedactor } from '../src/secret-redactor.ts'
|
|
import { telemetryRedactionViolation } from '../src/redaction-contract.ts'
|
|
|
|
describe('telemetryRedactionViolation', () => {
|
|
it('accepts the shipped redactor and rejects one that preserves credentials', () => {
|
|
expect(telemetryRedactionViolation(
|
|
new SecretRedactor(),
|
|
'[REDACTED]',
|
|
'@deepseek-ai/dsh-telemetry',
|
|
)).toBeUndefined()
|
|
expect(telemetryRedactionViolation(
|
|
{ redactText: value => value },
|
|
'[REDACTED]',
|
|
'@deepseek-ai/dsh-telemetry',
|
|
)).toBe('telemetry redaction must remove credential values, preserve package metadata, and remain idempotent')
|
|
})
|
|
})
|