it("derives claude-only anthropic replay policy from the model id", () => { // Sonnet 4.6 preserves thinking blocks (no drop)
expect(buildAnthropicReplayPolicyForModel("claude-sonnet-4-6")).toMatchObject({
sanitizeToolCallIds: true,
toolCallIdMode: "strict",
validateAnthropicTurns: true,
});
expect(buildAnthropicReplayPolicyForModel("claude-sonnet-4-6")).not.toHaveProperty( "dropThinkingBlocks",
); // Legacy models still drop thinking blocks
expect(buildAnthropicReplayPolicyForModel("claude-3-7-sonnet-20250219")).toMatchObject({
dropThinkingBlocks: true,
});
expect(buildAnthropicReplayPolicyForModel("amazon.nova-pro-v1")).not.toHaveProperty( "dropThinkingBlocks",
);
});
it("preserves thinking blocks for Claude Opus 4.5+ and Sonnet 4.5+ models", () => { // These models should NOT drop thinking blocks for (const modelId of [ "claude-opus-4-5-20251101", "claude-opus-4-6", "claude-sonnet-4-5-20250929", "claude-sonnet-4-6", "claude-haiku-4-5-20251001",
]) { const policy = buildAnthropicReplayPolicyForModel(modelId);
expect(policy).not.toHaveProperty("dropThinkingBlocks");
}
// These legacy models SHOULD drop thinking blocks for (const modelId of ["claude-3-7-sonnet-20250219", "claude-3-5-sonnet-20240620"]) { const policy = buildAnthropicReplayPolicyForModel(modelId);
expect(policy).toMatchObject({ dropThinkingBlocks: true });
}
});
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.