Revert "Upgrade linter and formatter to Ultracite" (#1226)
This commit is contained in:
parent
0e320b391d
commit
1aff7d9868
177 changed files with 8334 additions and 6943 deletions
|
|
@ -1,14 +1,12 @@
|
|||
import type { LanguageModelV2StreamPart } from "@ai-sdk/provider";
|
||||
import { generateId, type ModelMessage } from "ai";
|
||||
import { TEST_PROMPTS } from "./basic";
|
||||
import { generateId, type ModelMessage } from 'ai';
|
||||
import { TEST_PROMPTS } from './basic';
|
||||
import type { LanguageModelV2StreamPart } from '@ai-sdk/provider';
|
||||
|
||||
export function compareMessages(
|
||||
firstMessage: ModelMessage,
|
||||
secondMessage: ModelMessage
|
||||
secondMessage: ModelMessage,
|
||||
): boolean {
|
||||
if (firstMessage.role !== secondMessage.role) {
|
||||
return false;
|
||||
}
|
||||
if (firstMessage.role !== secondMessage.role) return false;
|
||||
|
||||
if (
|
||||
!Array.isArray(firstMessage.content) ||
|
||||
|
|
@ -25,21 +23,15 @@ export function compareMessages(
|
|||
const item1 = firstMessage.content[i];
|
||||
const item2 = secondMessage.content[i];
|
||||
|
||||
if (item1.type !== item2.type) {
|
||||
return false;
|
||||
}
|
||||
if (item1.type !== item2.type) return false;
|
||||
|
||||
if (item1.type === "file" && item2.type === "file") {
|
||||
if (item1.type === 'file' && item2.type === 'file') {
|
||||
// if (item1.image.toString() !== item2.image.toString()) return false;
|
||||
// if (item1.mimeType !== item2.mimeType) return false;
|
||||
} else if (item1.type === "text" && item2.type === "text") {
|
||||
if (item1.text !== item2.text) {
|
||||
return false;
|
||||
}
|
||||
} else if (item1.type === "tool-result" && item2.type === "tool-result") {
|
||||
if (item1.toolCallId !== item2.toolCallId) {
|
||||
return false;
|
||||
}
|
||||
} else if (item1.type === 'text' && item2.type === 'text') {
|
||||
if (item1.text !== item2.text) return false;
|
||||
} else if (item1.type === 'tool-result' && item2.type === 'tool-result') {
|
||||
if (item1.toolCallId !== item2.toolCallId) return false;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
|
@ -51,63 +43,61 @@ export function compareMessages(
|
|||
const textToDeltas = (text: string): LanguageModelV2StreamPart[] => {
|
||||
const id = generateId();
|
||||
|
||||
const deltas = text.split(" ").map((char) => ({
|
||||
const deltas = text.split(' ').map((char) => ({
|
||||
id,
|
||||
type: "text-delta" as const,
|
||||
type: 'text-delta' as const,
|
||||
delta: `${char} `,
|
||||
}));
|
||||
|
||||
return [{ id, type: "text-start" }, ...deltas, { id, type: "text-end" }];
|
||||
return [{ id, type: 'text-start' }, ...deltas, { id, type: 'text-end' }];
|
||||
};
|
||||
|
||||
const reasoningToDeltas = (text: string): LanguageModelV2StreamPart[] => {
|
||||
const id = generateId();
|
||||
|
||||
const deltas = text.split(" ").map((char) => ({
|
||||
const deltas = text.split(' ').map((char) => ({
|
||||
id,
|
||||
type: "reasoning-delta" as const,
|
||||
type: 'reasoning-delta' as const,
|
||||
delta: `${char} `,
|
||||
}));
|
||||
|
||||
return [
|
||||
{ id, type: "reasoning-start" },
|
||||
{ id, type: 'reasoning-start' },
|
||||
...deltas,
|
||||
{ id, type: "reasoning-end" },
|
||||
{ id, type: 'reasoning-end' },
|
||||
];
|
||||
};
|
||||
|
||||
export const getResponseChunksByPrompt = (
|
||||
prompt: ModelMessage[],
|
||||
isReasoningEnabled = false
|
||||
isReasoningEnabled = false,
|
||||
): LanguageModelV2StreamPart[] => {
|
||||
const recentMessage = prompt.at(-1);
|
||||
|
||||
if (!recentMessage) {
|
||||
throw new Error("No recent message found!");
|
||||
throw new Error('No recent message found!');
|
||||
}
|
||||
|
||||
if (isReasoningEnabled) {
|
||||
if (compareMessages(recentMessage, TEST_PROMPTS.USER_SKY)) {
|
||||
return [
|
||||
...reasoningToDeltas("The sky is blue because of rayleigh scattering!"),
|
||||
...reasoningToDeltas('The sky is blue because of rayleigh scattering!'),
|
||||
...textToDeltas("It's just blue duh!"),
|
||||
{
|
||||
type: "finish",
|
||||
finishReason: "stop",
|
||||
type: 'finish',
|
||||
finishReason: 'stop',
|
||||
usage: { inputTokens: 3, outputTokens: 10, totalTokens: 13 },
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
if (compareMessages(recentMessage, TEST_PROMPTS.USER_GRASS)) {
|
||||
} else if (compareMessages(recentMessage, TEST_PROMPTS.USER_GRASS)) {
|
||||
return [
|
||||
...reasoningToDeltas(
|
||||
"Grass is green because of chlorophyll absorption!"
|
||||
'Grass is green because of chlorophyll absorption!',
|
||||
),
|
||||
...textToDeltas("It's just green duh!"),
|
||||
{
|
||||
type: "finish",
|
||||
finishReason: "stop",
|
||||
type: 'finish',
|
||||
finishReason: 'stop',
|
||||
usage: { inputTokens: 3, outputTokens: 10, totalTokens: 13 },
|
||||
},
|
||||
];
|
||||
|
|
@ -118,98 +108,90 @@ export const getResponseChunksByPrompt = (
|
|||
return [
|
||||
...textToDeltas("You're welcome!"),
|
||||
{
|
||||
type: "finish",
|
||||
finishReason: "stop",
|
||||
type: 'finish',
|
||||
finishReason: 'stop',
|
||||
usage: { inputTokens: 3, outputTokens: 10, totalTokens: 13 },
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
if (compareMessages(recentMessage, TEST_PROMPTS.USER_GRASS)) {
|
||||
} else if (compareMessages(recentMessage, TEST_PROMPTS.USER_GRASS)) {
|
||||
return [
|
||||
...textToDeltas("It's just green duh!"),
|
||||
{
|
||||
type: "finish",
|
||||
finishReason: "stop",
|
||||
type: 'finish',
|
||||
finishReason: 'stop',
|
||||
usage: { inputTokens: 3, outputTokens: 10, totalTokens: 13 },
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
if (compareMessages(recentMessage, TEST_PROMPTS.USER_SKY)) {
|
||||
} else if (compareMessages(recentMessage, TEST_PROMPTS.USER_SKY)) {
|
||||
return [
|
||||
...textToDeltas("It's just blue duh!"),
|
||||
{
|
||||
type: "finish",
|
||||
finishReason: "stop",
|
||||
type: 'finish',
|
||||
finishReason: 'stop',
|
||||
usage: { inputTokens: 3, outputTokens: 10, totalTokens: 13 },
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
if (compareMessages(recentMessage, TEST_PROMPTS.USER_NEXTJS)) {
|
||||
} else if (compareMessages(recentMessage, TEST_PROMPTS.USER_NEXTJS)) {
|
||||
return [
|
||||
...textToDeltas("With Next.js, you can ship fast!"),
|
||||
...textToDeltas('With Next.js, you can ship fast!'),
|
||||
|
||||
{
|
||||
type: "finish",
|
||||
finishReason: "stop",
|
||||
type: 'finish',
|
||||
finishReason: 'stop',
|
||||
usage: { inputTokens: 3, outputTokens: 10, totalTokens: 13 },
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
if (compareMessages(recentMessage, TEST_PROMPTS.USER_IMAGE_ATTACHMENT)) {
|
||||
} else if (
|
||||
compareMessages(recentMessage, TEST_PROMPTS.USER_IMAGE_ATTACHMENT)
|
||||
) {
|
||||
return [
|
||||
...textToDeltas("This painting is by Monet!"),
|
||||
...textToDeltas('This painting is by Monet!'),
|
||||
{
|
||||
type: "finish",
|
||||
finishReason: "stop",
|
||||
type: 'finish',
|
||||
finishReason: 'stop',
|
||||
usage: { inputTokens: 3, outputTokens: 10, totalTokens: 13 },
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
if (compareMessages(recentMessage, TEST_PROMPTS.USER_TEXT_ARTIFACT)) {
|
||||
} else if (compareMessages(recentMessage, TEST_PROMPTS.USER_TEXT_ARTIFACT)) {
|
||||
const toolCallId = generateId();
|
||||
|
||||
return [
|
||||
{
|
||||
id: toolCallId,
|
||||
type: "tool-input-start",
|
||||
toolName: "createDocument",
|
||||
type: 'tool-input-start',
|
||||
toolName: 'createDocument',
|
||||
},
|
||||
{
|
||||
id: toolCallId,
|
||||
type: "tool-input-delta",
|
||||
type: 'tool-input-delta',
|
||||
delta: JSON.stringify({
|
||||
title: "Essay about Silicon Valley",
|
||||
kind: "text",
|
||||
title: 'Essay about Silicon Valley',
|
||||
kind: 'text',
|
||||
}),
|
||||
},
|
||||
{
|
||||
id: toolCallId,
|
||||
type: "tool-input-end",
|
||||
type: 'tool-input-end',
|
||||
},
|
||||
{
|
||||
toolCallId,
|
||||
type: "tool-result",
|
||||
toolName: "createDocument",
|
||||
toolCallId: toolCallId,
|
||||
type: 'tool-result',
|
||||
toolName: 'createDocument',
|
||||
result: {
|
||||
id: "doc_123",
|
||||
title: "Essay about Silicon Valley",
|
||||
kind: "text",
|
||||
id: 'doc_123',
|
||||
title: 'Essay about Silicon Valley',
|
||||
kind: 'text',
|
||||
},
|
||||
},
|
||||
{
|
||||
type: "finish",
|
||||
finishReason: "stop",
|
||||
type: 'finish',
|
||||
finishReason: 'stop',
|
||||
usage: { inputTokens: 3, outputTokens: 10, totalTokens: 13 },
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
if (compareMessages(recentMessage, TEST_PROMPTS.CREATE_DOCUMENT_TEXT_CALL)) {
|
||||
} else if (
|
||||
compareMessages(recentMessage, TEST_PROMPTS.CREATE_DOCUMENT_TEXT_CALL)
|
||||
) {
|
||||
return [
|
||||
...textToDeltas(`\n
|
||||
# Silicon Valley: The Epicenter of Innovation
|
||||
|
|
@ -231,52 +213,46 @@ Despite its remarkable success, Silicon Valley faces significant challenges incl
|
|||
As we move forward, Silicon Valley continues to reinvent itself. While some predict its decline due to remote work trends and competition from other tech hubs, the region's adaptability and innovative spirit suggest it will remain influential in shaping our technological future for decades to come.
|
||||
`),
|
||||
{
|
||||
type: "finish",
|
||||
finishReason: "stop",
|
||||
type: 'finish',
|
||||
finishReason: 'stop',
|
||||
usage: { inputTokens: 3, outputTokens: 10, totalTokens: 13 },
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
if (
|
||||
} else if (
|
||||
compareMessages(recentMessage, TEST_PROMPTS.CREATE_DOCUMENT_TEXT_RESULT)
|
||||
) {
|
||||
return [
|
||||
...textToDeltas("A document was created and is now visible to the user."),
|
||||
...textToDeltas('A document was created and is now visible to the user.'),
|
||||
{
|
||||
type: "finish",
|
||||
finishReason: "stop",
|
||||
type: 'finish',
|
||||
finishReason: 'stop',
|
||||
usage: { inputTokens: 3, outputTokens: 10, totalTokens: 13 },
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
if (compareMessages(recentMessage, TEST_PROMPTS.GET_WEATHER_CALL)) {
|
||||
} else if (compareMessages(recentMessage, TEST_PROMPTS.GET_WEATHER_CALL)) {
|
||||
return [
|
||||
{
|
||||
type: "tool-call",
|
||||
toolCallId: "call_456",
|
||||
toolName: "getWeather",
|
||||
type: 'tool-call',
|
||||
toolCallId: 'call_456',
|
||||
toolName: 'getWeather',
|
||||
input: JSON.stringify({ latitude: 37.7749, longitude: -122.4194 }),
|
||||
},
|
||||
{
|
||||
type: "finish",
|
||||
finishReason: "stop",
|
||||
type: 'finish',
|
||||
finishReason: 'stop',
|
||||
usage: { inputTokens: 3, outputTokens: 10, totalTokens: 13 },
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
if (compareMessages(recentMessage, TEST_PROMPTS.GET_WEATHER_RESULT)) {
|
||||
} else if (compareMessages(recentMessage, TEST_PROMPTS.GET_WEATHER_RESULT)) {
|
||||
return [
|
||||
...textToDeltas("The current temperature in San Francisco is 17°C."),
|
||||
...textToDeltas('The current temperature in San Francisco is 17°C.'),
|
||||
{
|
||||
type: "finish",
|
||||
finishReason: "stop",
|
||||
type: 'finish',
|
||||
finishReason: 'stop',
|
||||
usage: { inputTokens: 3, outputTokens: 10, totalTokens: 13 },
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
return [{ id: "6", type: "text-delta", delta: "Unknown test prompt!" }];
|
||||
return [{ id: '6', type: 'text-delta', delta: 'Unknown test prompt!' }];
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue