mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-25 03:45:46 -06:00
347ee45895
* 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
18 lines
601 B
TypeScript
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";
|
|
}
|