mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-06 05:51:15 +08:00
Extract shared normalization/coercion helpers into private @openclaw/normalization-core workspace package while preserving existing plugin SDK helper subpaths.\n\nAlso keeps direct normalization-core imports internal, wires UI/build/loader resolution, and replaces the slow PR network CodeQL lane with a fast added-line boundary scan while retaining full CodeQL for scheduled/manual runs.\n\nVerification: local moved tests, plugin SDK boundary tests, extension loader tests, agents-support shard, UI build/test, build artifacts, lint, workflow guards, autoreview, and GitHub CI passed on PR head 963d893715.
10 lines
823 B
TypeScript
10 lines
823 B
TypeScript
//#region packages/normalization-core/src/record-coerce.d.ts
|
|
declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
declare function asRecord(value: unknown): Record<string, unknown>;
|
|
declare function readStringField(record: Record<string, unknown> | null | undefined, key: string): string | undefined;
|
|
declare function asOptionalRecord(value: unknown): Record<string, unknown> | undefined;
|
|
declare function asNullableRecord(value: unknown): Record<string, unknown> | null;
|
|
declare function asOptionalObjectRecord(value: unknown): Record<string, unknown> | undefined;
|
|
declare function asNullableObjectRecord(value: unknown): Record<string, unknown> | null;
|
|
//#endregion
|
|
export { asNullableObjectRecord, asNullableRecord, asOptionalObjectRecord, asOptionalRecord, asRecord, isRecord, readStringField }; |