Add @deepseek-ai/dsh-telemetry, a launcher-side (non-plugin) library for the ConsentResolver (parses cordis.yml consent + DO_NOT_TRACK/CI), buildTelemetryPayload (redacted cordis.yml + package.json full content, never .env), getOrCreateAnonymousId (random UUID in a per-machine global config file), and TelemetryReporter (fire-and-forget, never blocks or crashes the command). Endpoint is a fixed .invalid placeholder pending the real endpoint. Launcher dispatch wiring and the helper feature-catalog entry are intentionally out of scope. Registers the package in tsconfig references, the module graph, and the README model-experience audit map. Per-file 100% coverage.
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
/**
|
|
* Launcher-side telemetry for the dsh-sdk toolchain: secret redaction, consent
|
|
* resolution, anonymous id, payload assembly, and a fire-and-forget reporter.
|
|
*
|
|
* This package is a plain library the launcher imports around each command — it
|
|
* is NOT a Cordis plugin (several commands never boot Cordis). Wiring it into
|
|
* the launcher command dispatch and the helper feature catalog lives outside
|
|
* this package.
|
|
*
|
|
* @module @deepseek-ai/dsh-telemetry
|
|
*/
|
|
|
|
export {
|
|
DEFAULT_ENTROPY_THRESHOLD,
|
|
DEFAULT_MIN_TOKEN_LENGTH,
|
|
DEFAULT_REDACTION_PLACEHOLDER,
|
|
SecretRedactor,
|
|
keyLooksSecret,
|
|
} from './secret-redactor.ts'
|
|
export type { SecretRedactorOptions } from './secret-redactor.ts'
|
|
export {
|
|
ConsentResolver,
|
|
DEFAULT_TELEMETRY_PLUGIN_NAME,
|
|
} from './consent-resolver.ts'
|
|
export type {
|
|
ConsentDecision,
|
|
ConsentReason,
|
|
ConsentResolverOptions,
|
|
} from './consent-resolver.ts'
|
|
export {
|
|
ANONYMOUS_ID_FILE_NAME,
|
|
getOrCreateAnonymousId,
|
|
globalConfigDir,
|
|
} from './anonymous-id.ts'
|
|
export type { AnonymousId, AnonymousIdOptions } from './anonymous-id.ts'
|
|
export { buildTelemetryPayload } from './payload.ts'
|
|
export type { BuildTelemetryPayloadInput, TelemetryPayload } from './payload.ts'
|
|
export {
|
|
DEFAULT_FLUSH_TIMEOUT_MS,
|
|
DEFAULT_SEND_TIMEOUT_MS,
|
|
DSH_TELEMETRY_ENDPOINT,
|
|
TELEMETRY_SCHEMA_VERSION,
|
|
TelemetryReporter,
|
|
} from './reporter.ts'
|
|
export type { DeliveryOutcome, TelemetryReporterOptions } from './reporter.ts'
|