feat(P0-A): 整合第一版并冻结最终发布 #1

Merged
tuyixuan merged 115 commits from codex/wp7-07 into codex/wp0-09 2026-08-05 10:29:22 +08:00
Showing only changes of commit f931c04853 - Show all commits
+19 -4
View File
@@ -206,6 +206,24 @@ export function normalizeProviderResponse(modelConfig, response) {
}
export function describeProviderResponseShape(value, depth = 0) {
if (typeof value === "string") {
const trimmed = value.trim();
const representation = /^data:image\/(?:jpeg|png|webp);base64,/i.test(trimmed)
? "inline_media"
: /!\[[^\]]*\]\(\s*https?:\/\/[^)\s]+\s*\)/i.test(trimmed)
? "markdown_uri"
: /^https?:\/\/\S+$/i.test(trimmed)
? "uri"
: "plain_text";
return {
kind: "string",
representation,
size: value.length === 0 ? "empty" : value.length > 256 ? "large" : "small",
};
}
if (typeof value === "number") return { kind: "number" };
if (typeof value === "boolean") return { kind: "boolean" };
if (value === null || value === undefined) return { kind: value === null ? "null" : "undefined" };
if (depth >= 6) return { kind: "depth_limit" };
if (Array.isArray(value)) {
return {
@@ -220,10 +238,7 @@ export function describeProviderResponseShape(value, depth = 0) {
kind: "object",
};
}
if (typeof value === "string") return { kind: "string", size: value.length === 0 ? "empty" : value.length > 256 ? "large" : "small" };
if (typeof value === "number") return { kind: "number" };
if (typeof value === "boolean") return { kind: "boolean" };
return { kind: value === null ? "null" : "undefined" };
return { kind: "undefined" };
}
export function buildSanitizedResponseEvidence(normalized) {