refactor: consolidate coercion contracts (#122458)

* refactor: consolidate coercion contracts

Centralize exact string, record, numeric, date, Boolean, argument, and structured-error coercions while preserving call-site semantics.

Migrate canonical-name collisions and deprecated internal SDK bypasses, deleting 55 net production/tooling lines. Expand declaration ownership enforcement to 101 allowed helpers and add a narrow export-completeness audit.

* fix: preserve standalone script coercions

Keep copied Control UI tooling self-contained and retain the trusted release harness module-relative source seam when the harness runs against an old target cwd.
This commit is contained in:
Peter Steinberger
2026-08-11 23:26:37 -07:00
committed by GitHub
parent 66fe424590
commit b080dd1e76
276 changed files with 1685 additions and 1663 deletions
+5 -9
View File
@@ -1,5 +1,9 @@
// Shared web provider config, credential, and definition resolution.
import { coerceSecretRef, isLegacySecretRefEnvMarker } from "../config/types.secrets.js";
import {
coerceSecretRef,
isLegacySecretRefEnvMarker,
normalizeSecretInputString,
} from "../config/types.secrets.js";
type WebProviderConfigSource = {
tools?: {
@@ -23,14 +27,6 @@ type ProviderWithCredential = {
type WebContentProcessEnv = Record<string, string | undefined>;
function normalizeSecretInputString(value: unknown): string | undefined {
if (typeof value !== "string") {
return undefined;
}
const trimmed = value.trim();
return trimmed.length > 0 ? trimmed : undefined;
}
function normalizeSecretInput(value: unknown): string {
if (typeof value !== "string") {
return "";