diff --git a/extensions/qqbot/src/engine/utils/string-normalize.ts b/extensions/qqbot/src/engine/utils/string-normalize.ts index 491479e78c6..40a7d08630a 100644 --- a/extensions/qqbot/src/engine/utils/string-normalize.ts +++ b/extensions/qqbot/src/engine/utils/string-normalize.ts @@ -49,23 +49,8 @@ export function normalizeLowercaseStringOrEmpty(value: unknown): string { return normalizeOptionalLowercaseString(value) ?? ""; } -/** Return the raw string value or `undefined`. No trimming. */ -export function readStringValue(value: unknown): string | undefined { - return typeof value === "string" ? value : undefined; -} - -/** Return true when the value is a non-empty trimmed string. */ -export function hasNonEmptyString(value: unknown): value is string { - return normalizeOptionalString(value) !== undefined; -} - // ---- Record coercion ---- -/** Coerce a value into a `Record`, defaulting to `{}`. */ -export function asRecord(value: unknown): Record { - return typeof value === "object" && value !== null ? (value as Record) : {}; -} - /** Coerce a value into a `Record` or `undefined`. */ export function asOptionalObjectRecord(value: unknown): Record | undefined { return value && typeof value === "object" ? (value as Record) : undefined; @@ -80,37 +65,6 @@ export function readStringField( return typeof v === "string" ? v : undefined; } -/** Read a number field from a record. */ -export function readNumberField( - record: Record | null | undefined, - key: string, -): number | undefined { - const v = record?.[key]; - return typeof v === "number" ? v : undefined; -} - -/** Read a boolean field from a record. */ -export function readBooleanField( - record: Record | null | undefined, - key: string, -): boolean | undefined { - const v = record?.[key]; - return typeof v === "boolean" ? v : undefined; -} - -/** Coerce a value into a string→string map, filtering out non-string values. */ -export function readStringMap(value: unknown): Record { - const record = asOptionalObjectRecord(value); - if (!record) { - return {}; - } - return Object.fromEntries( - Object.entries(record).flatMap(([key, entryValue]) => - typeof entryValue === "string" ? [[key, entryValue]] : [], - ), - ); -} - // ---- Filename normalization ---- /** diff --git a/extensions/qqbot/src/engine/utils/text-chunk.ts b/extensions/qqbot/src/engine/utils/text-chunk.ts index 577d153da2e..c13e1a3c5e5 100644 --- a/extensions/qqbot/src/engine/utils/text-chunk.ts +++ b/extensions/qqbot/src/engine/utils/text-chunk.ts @@ -12,9 +12,6 @@ /** Maximum text length for a single QQ Bot message. */ export const TEXT_CHUNK_LIMIT = 5000; -/** Text chunker function signature. */ -export type ChunkTextFn = (text: string, limit: number) => string[]; - /** * Naive text chunking fallback. *