Files
openclaw/src/secrets/runtime-assignment-provenance.ts
T
Peter Steinberger 347ee45895 fix(secrets): surface degradation in logs and doctor (#109792)
* fix(secrets): surface degraded owners safely

* fix(secrets): preserve degradation ownership across reloads

* fix(secrets): require cold ownership for source recovery

* refactor(secrets): keep assignment provenance internal

* test(secrets): use provider error contract

* fix(secrets): attribute provider failures to active co-owners

* test(secrets): clarify provider failure fixture

* fix(secrets): redact doctor degradation reasons

* test(secrets): align reload harness with runtime state

* test(secrets): cover atomic source publication

* fix(secrets): preserve web owner degradation context

* fix(secrets): retain active web degradation co-owners

* fix(secrets): keep web provider error internal

* refactor(secrets): unify reload degradation state

* refactor(config): remove obsolete source snapshot setter
2026-07-18 11:46:53 +01:00

18 lines
601 B
TypeScript

/** Internal provenance for assignments collected outside openclaw.json. */
import type { SecretAssignment } from "./runtime-shared.js";
type SecretAssignmentSource = "auth-store" | "config";
const assignmentSources = new WeakMap<SecretAssignment, SecretAssignmentSource>();
export function setSecretAssignmentSource(
assignment: SecretAssignment,
source: SecretAssignmentSource,
): void {
assignmentSources.set(assignment, source);
}
export function getSecretAssignmentSource(assignment: SecretAssignment): SecretAssignmentSource {
return assignmentSources.get(assignment) ?? "config";
}