Merge remote-tracking branch 'upstream/main'
Browse files- app/commit.json +1 -1
- app/components/chat/AssistantMessage.tsx +18 -1
- app/components/chat/Chat.client.tsx +10 -1
- app/components/chat/Messages.client.tsx +5 -1
- app/components/chat/UserMessage.tsx +15 -21
- app/components/settings/features/FeaturesTab.tsx +2 -2
- app/lib/hooks/useSettings.tsx +0 -1
- app/routes/api.chat.ts +38 -11
- app/routes/api.enhancer.ts +35 -29
- package.json +1 -1
- pnpm-lock.yaml +40 -305
app/commit.json
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{ "commit": "
|
|
|
|
| 1 |
+
{ "commit": "78505ed2f347dd3a7778b4c1c7c38c89ecacedd3" , "version": "" }
|
app/components/chat/AssistantMessage.tsx
CHANGED
|
@@ -1,13 +1,30 @@
|
|
| 1 |
import { memo } from 'react';
|
| 2 |
import { Markdown } from './Markdown';
|
|
|
|
| 3 |
|
| 4 |
interface AssistantMessageProps {
|
| 5 |
content: string;
|
|
|
|
| 6 |
}
|
| 7 |
|
| 8 |
-
export const AssistantMessage = memo(({ content }: AssistantMessageProps) => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
return (
|
| 10 |
<div className="overflow-hidden w-full">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
<Markdown html>{content}</Markdown>
|
| 12 |
</div>
|
| 13 |
);
|
|
|
|
| 1 |
import { memo } from 'react';
|
| 2 |
import { Markdown } from './Markdown';
|
| 3 |
+
import type { JSONValue } from 'ai';
|
| 4 |
|
| 5 |
interface AssistantMessageProps {
|
| 6 |
content: string;
|
| 7 |
+
annotations?: JSONValue[];
|
| 8 |
}
|
| 9 |
|
| 10 |
+
export const AssistantMessage = memo(({ content, annotations }: AssistantMessageProps) => {
|
| 11 |
+
const filteredAnnotations = (annotations?.filter(
|
| 12 |
+
(annotation: JSONValue) => annotation && typeof annotation === 'object' && Object.keys(annotation).includes('type'),
|
| 13 |
+
) || []) as { type: string; value: any }[];
|
| 14 |
+
|
| 15 |
+
const usage: {
|
| 16 |
+
completionTokens: number;
|
| 17 |
+
promptTokens: number;
|
| 18 |
+
totalTokens: number;
|
| 19 |
+
} = filteredAnnotations.find((annotation) => annotation.type === 'usage')?.value;
|
| 20 |
+
|
| 21 |
return (
|
| 22 |
<div className="overflow-hidden w-full">
|
| 23 |
+
{usage && (
|
| 24 |
+
<div className="text-sm text-bolt-elements-textSecondary mb-2">
|
| 25 |
+
Tokens: {usage.totalTokens} (prompt: {usage.promptTokens}, completion: {usage.completionTokens})
|
| 26 |
+
</div>
|
| 27 |
+
)}
|
| 28 |
<Markdown html>{content}</Markdown>
|
| 29 |
</div>
|
| 30 |
);
|
app/components/chat/Chat.client.tsx
CHANGED
|
@@ -116,13 +116,22 @@ export const ChatImpl = memo(
|
|
| 116 |
apiKeys,
|
| 117 |
files,
|
| 118 |
},
|
|
|
|
| 119 |
onError: (error) => {
|
| 120 |
logger.error('Request failed\n\n', error);
|
| 121 |
toast.error(
|
| 122 |
'There was an error processing your request: ' + (error.message ? error.message : 'No details were returned'),
|
| 123 |
);
|
| 124 |
},
|
| 125 |
-
onFinish: () => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 126 |
logger.debug('Finished streaming');
|
| 127 |
},
|
| 128 |
initialMessages,
|
|
|
|
| 116 |
apiKeys,
|
| 117 |
files,
|
| 118 |
},
|
| 119 |
+
sendExtraMessageFields: true,
|
| 120 |
onError: (error) => {
|
| 121 |
logger.error('Request failed\n\n', error);
|
| 122 |
toast.error(
|
| 123 |
'There was an error processing your request: ' + (error.message ? error.message : 'No details were returned'),
|
| 124 |
);
|
| 125 |
},
|
| 126 |
+
onFinish: (message, response) => {
|
| 127 |
+
const usage = response.usage;
|
| 128 |
+
|
| 129 |
+
if (usage) {
|
| 130 |
+
console.log('Token usage:', usage);
|
| 131 |
+
|
| 132 |
+
// You can now use the usage data as needed
|
| 133 |
+
}
|
| 134 |
+
|
| 135 |
logger.debug('Finished streaming');
|
| 136 |
},
|
| 137 |
initialMessages,
|
app/components/chat/Messages.client.tsx
CHANGED
|
@@ -65,7 +65,11 @@ export const Messages = React.forwardRef<HTMLDivElement, MessagesProps>((props:
|
|
| 65 |
</div>
|
| 66 |
)}
|
| 67 |
<div className="grid grid-col-1 w-full">
|
| 68 |
-
{isUserMessage ?
|
|
|
|
|
|
|
|
|
|
|
|
|
| 69 |
</div>
|
| 70 |
{!isUserMessage && (
|
| 71 |
<div className="flex gap-2 flex-col lg:flex-row">
|
|
|
|
| 65 |
</div>
|
| 66 |
)}
|
| 67 |
<div className="grid grid-col-1 w-full">
|
| 68 |
+
{isUserMessage ? (
|
| 69 |
+
<UserMessage content={content} />
|
| 70 |
+
) : (
|
| 71 |
+
<AssistantMessage content={content} annotations={message.annotations} />
|
| 72 |
+
)}
|
| 73 |
</div>
|
| 74 |
{!isUserMessage && (
|
| 75 |
<div className="flex gap-2 flex-col lg:flex-row">
|
app/components/chat/UserMessage.tsx
CHANGED
|
@@ -12,42 +12,36 @@ interface UserMessageProps {
|
|
| 12 |
export function UserMessage({ content }: UserMessageProps) {
|
| 13 |
if (Array.isArray(content)) {
|
| 14 |
const textItem = content.find((item) => item.type === 'text');
|
| 15 |
-
const textContent =
|
| 16 |
const images = content.filter((item) => item.type === 'image' && item.image);
|
| 17 |
|
| 18 |
return (
|
| 19 |
<div className="overflow-hidden pt-[4px]">
|
| 20 |
-
<div className="flex
|
| 21 |
-
<
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
{
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
className="w-full h-[160px] rounded-lg object-cover border border-bolt-elements-borderColor"
|
| 32 |
-
/>
|
| 33 |
-
</div>
|
| 34 |
-
))}
|
| 35 |
-
</div>
|
| 36 |
-
)}
|
| 37 |
</div>
|
| 38 |
</div>
|
| 39 |
);
|
| 40 |
}
|
| 41 |
|
| 42 |
-
const textContent =
|
| 43 |
|
| 44 |
return (
|
| 45 |
<div className="overflow-hidden pt-[4px]">
|
| 46 |
-
<Markdown
|
| 47 |
</div>
|
| 48 |
);
|
| 49 |
}
|
| 50 |
|
| 51 |
-
function
|
| 52 |
return content.replace(MODEL_REGEX, '').replace(PROVIDER_REGEX, '');
|
| 53 |
}
|
|
|
|
| 12 |
export function UserMessage({ content }: UserMessageProps) {
|
| 13 |
if (Array.isArray(content)) {
|
| 14 |
const textItem = content.find((item) => item.type === 'text');
|
| 15 |
+
const textContent = stripMetadata(textItem?.text || '');
|
| 16 |
const images = content.filter((item) => item.type === 'image' && item.image);
|
| 17 |
|
| 18 |
return (
|
| 19 |
<div className="overflow-hidden pt-[4px]">
|
| 20 |
+
<div className="flex flex-col gap-4">
|
| 21 |
+
{textContent && <Markdown html>{textContent}</Markdown>}
|
| 22 |
+
{images.map((item, index) => (
|
| 23 |
+
<img
|
| 24 |
+
key={index}
|
| 25 |
+
src={item.image}
|
| 26 |
+
alt={`Image ${index + 1}`}
|
| 27 |
+
className="max-w-full h-auto rounded-lg"
|
| 28 |
+
style={{ maxHeight: '512px', objectFit: 'contain' }}
|
| 29 |
+
/>
|
| 30 |
+
))}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
</div>
|
| 32 |
</div>
|
| 33 |
);
|
| 34 |
}
|
| 35 |
|
| 36 |
+
const textContent = stripMetadata(content);
|
| 37 |
|
| 38 |
return (
|
| 39 |
<div className="overflow-hidden pt-[4px]">
|
| 40 |
+
<Markdown html>{textContent}</Markdown>
|
| 41 |
</div>
|
| 42 |
);
|
| 43 |
}
|
| 44 |
|
| 45 |
+
function stripMetadata(content: string) {
|
| 46 |
return content.replace(MODEL_REGEX, '').replace(PROVIDER_REGEX, '');
|
| 47 |
}
|
app/components/settings/features/FeaturesTab.tsx
CHANGED
|
@@ -3,8 +3,8 @@ import { Switch } from '~/components/ui/Switch';
|
|
| 3 |
import { useSettings } from '~/lib/hooks/useSettings';
|
| 4 |
|
| 5 |
export default function FeaturesTab() {
|
| 6 |
-
|
| 7 |
-
|
| 8 |
|
| 9 |
const handleToggle = (enabled: boolean) => {
|
| 10 |
enableDebugMode(enabled);
|
|
|
|
| 3 |
import { useSettings } from '~/lib/hooks/useSettings';
|
| 4 |
|
| 5 |
export default function FeaturesTab() {
|
| 6 |
+
|
| 7 |
+
const { debug, enableDebugMode, isLocalModel, enableLocalModels, enableEventLogs, latestBranch, enableLatestBranch } = useSettings();
|
| 8 |
|
| 9 |
const handleToggle = (enabled: boolean) => {
|
| 10 |
enableDebugMode(enabled);
|
app/lib/hooks/useSettings.tsx
CHANGED
|
@@ -99,7 +99,6 @@ export function useSettings() {
|
|
| 99 |
if (checkCommit === undefined) {
|
| 100 |
checkCommit = commit.commit;
|
| 101 |
}
|
| 102 |
-
|
| 103 |
if (savedLatestBranch === undefined || checkCommit !== commit.commit) {
|
| 104 |
// If setting hasn't been set by user, check version
|
| 105 |
checkIsStableVersion().then((isStable) => {
|
|
|
|
| 99 |
if (checkCommit === undefined) {
|
| 100 |
checkCommit = commit.commit;
|
| 101 |
}
|
|
|
|
| 102 |
if (savedLatestBranch === undefined || checkCommit !== commit.commit) {
|
| 103 |
// If setting hasn't been set by user, check version
|
| 104 |
checkIsStableVersion().then((isStable) => {
|
app/routes/api.chat.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
| 1 |
import { type ActionFunctionArgs } from '@remix-run/cloudflare';
|
|
|
|
| 2 |
import { MAX_RESPONSE_SEGMENTS, MAX_TOKENS } from '~/lib/.server/llm/constants';
|
| 3 |
import { CONTINUE_PROMPT } from '~/lib/.server/llm/prompts';
|
| 4 |
import { streamText, type Messages, type StreamingOptions } from '~/lib/.server/llm/stream-text';
|
|
@@ -9,17 +10,15 @@ export async function action(args: ActionFunctionArgs) {
|
|
| 9 |
return chatAction(args);
|
| 10 |
}
|
| 11 |
|
| 12 |
-
function parseCookies(cookieHeader: string) {
|
| 13 |
-
const cookies:
|
| 14 |
|
| 15 |
-
// Split the cookie string by semicolons and spaces
|
| 16 |
const items = cookieHeader.split(';').map((cookie) => cookie.trim());
|
| 17 |
|
| 18 |
items.forEach((item) => {
|
| 19 |
const [name, ...rest] = item.split('=');
|
| 20 |
|
| 21 |
if (name && rest) {
|
| 22 |
-
// Decode the name and value, and join value parts in case it contains '='
|
| 23 |
const decodedName = decodeURIComponent(name.trim());
|
| 24 |
const decodedValue = decodeURIComponent(rest.join('=').trim());
|
| 25 |
cookies[decodedName] = decodedValue;
|
|
@@ -36,8 +35,6 @@ async function chatAction({ context, request }: ActionFunctionArgs) {
|
|
| 36 |
}>();
|
| 37 |
|
| 38 |
const cookieHeader = request.headers.get('Cookie');
|
| 39 |
-
|
| 40 |
-
// Parse the cookie's value (returns an object or null if no cookie exists)
|
| 41 |
const apiKeys = JSON.parse(parseCookies(cookieHeader || '').apiKeys || '{}');
|
| 42 |
const providerSettings: Record<string, IProviderSetting> = JSON.parse(
|
| 43 |
parseCookies(cookieHeader || '').providers || '{}',
|
|
@@ -45,12 +42,42 @@ async function chatAction({ context, request }: ActionFunctionArgs) {
|
|
| 45 |
|
| 46 |
const stream = new SwitchableStream();
|
| 47 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 48 |
try {
|
| 49 |
const options: StreamingOptions = {
|
| 50 |
toolChoice: 'none',
|
| 51 |
-
onFinish: async ({ text: content, finishReason }) => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 52 |
if (finishReason !== 'length') {
|
| 53 |
-
return stream
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 54 |
}
|
| 55 |
|
| 56 |
if (stream.switches >= MAX_RESPONSE_SEGMENTS) {
|
|
@@ -73,7 +100,7 @@ async function chatAction({ context, request }: ActionFunctionArgs) {
|
|
| 73 |
providerSettings,
|
| 74 |
});
|
| 75 |
|
| 76 |
-
return stream.switchSource(result.
|
| 77 |
},
|
| 78 |
};
|
| 79 |
|
|
@@ -86,7 +113,7 @@ async function chatAction({ context, request }: ActionFunctionArgs) {
|
|
| 86 |
providerSettings,
|
| 87 |
});
|
| 88 |
|
| 89 |
-
stream.switchSource(result.
|
| 90 |
|
| 91 |
return new Response(stream.readable, {
|
| 92 |
status: 200,
|
|
@@ -95,7 +122,7 @@ async function chatAction({ context, request }: ActionFunctionArgs) {
|
|
| 95 |
},
|
| 96 |
});
|
| 97 |
} catch (error: any) {
|
| 98 |
-
console.
|
| 99 |
|
| 100 |
if (error.message?.includes('API key')) {
|
| 101 |
throw new Response('Invalid or missing API key', {
|
|
|
|
| 1 |
import { type ActionFunctionArgs } from '@remix-run/cloudflare';
|
| 2 |
+
import { createDataStream } from 'ai';
|
| 3 |
import { MAX_RESPONSE_SEGMENTS, MAX_TOKENS } from '~/lib/.server/llm/constants';
|
| 4 |
import { CONTINUE_PROMPT } from '~/lib/.server/llm/prompts';
|
| 5 |
import { streamText, type Messages, type StreamingOptions } from '~/lib/.server/llm/stream-text';
|
|
|
|
| 10 |
return chatAction(args);
|
| 11 |
}
|
| 12 |
|
| 13 |
+
function parseCookies(cookieHeader: string): Record<string, string> {
|
| 14 |
+
const cookies: Record<string, string> = {};
|
| 15 |
|
|
|
|
| 16 |
const items = cookieHeader.split(';').map((cookie) => cookie.trim());
|
| 17 |
|
| 18 |
items.forEach((item) => {
|
| 19 |
const [name, ...rest] = item.split('=');
|
| 20 |
|
| 21 |
if (name && rest) {
|
|
|
|
| 22 |
const decodedName = decodeURIComponent(name.trim());
|
| 23 |
const decodedValue = decodeURIComponent(rest.join('=').trim());
|
| 24 |
cookies[decodedName] = decodedValue;
|
|
|
|
| 35 |
}>();
|
| 36 |
|
| 37 |
const cookieHeader = request.headers.get('Cookie');
|
|
|
|
|
|
|
| 38 |
const apiKeys = JSON.parse(parseCookies(cookieHeader || '').apiKeys || '{}');
|
| 39 |
const providerSettings: Record<string, IProviderSetting> = JSON.parse(
|
| 40 |
parseCookies(cookieHeader || '').providers || '{}',
|
|
|
|
| 42 |
|
| 43 |
const stream = new SwitchableStream();
|
| 44 |
|
| 45 |
+
const cumulativeUsage = {
|
| 46 |
+
completionTokens: 0,
|
| 47 |
+
promptTokens: 0,
|
| 48 |
+
totalTokens: 0,
|
| 49 |
+
};
|
| 50 |
+
|
| 51 |
try {
|
| 52 |
const options: StreamingOptions = {
|
| 53 |
toolChoice: 'none',
|
| 54 |
+
onFinish: async ({ text: content, finishReason, usage }) => {
|
| 55 |
+
console.log('usage', usage);
|
| 56 |
+
|
| 57 |
+
if (usage) {
|
| 58 |
+
cumulativeUsage.completionTokens += usage.completionTokens || 0;
|
| 59 |
+
cumulativeUsage.promptTokens += usage.promptTokens || 0;
|
| 60 |
+
cumulativeUsage.totalTokens += usage.totalTokens || 0;
|
| 61 |
+
}
|
| 62 |
+
|
| 63 |
if (finishReason !== 'length') {
|
| 64 |
+
return stream
|
| 65 |
+
.switchSource(
|
| 66 |
+
createDataStream({
|
| 67 |
+
async execute(dataStream) {
|
| 68 |
+
dataStream.writeMessageAnnotation({
|
| 69 |
+
type: 'usage',
|
| 70 |
+
value: {
|
| 71 |
+
completionTokens: cumulativeUsage.completionTokens,
|
| 72 |
+
promptTokens: cumulativeUsage.promptTokens,
|
| 73 |
+
totalTokens: cumulativeUsage.totalTokens,
|
| 74 |
+
},
|
| 75 |
+
});
|
| 76 |
+
},
|
| 77 |
+
onError: (error: any) => `Custom error: ${error.message}`,
|
| 78 |
+
}),
|
| 79 |
+
)
|
| 80 |
+
.then(() => stream.close());
|
| 81 |
}
|
| 82 |
|
| 83 |
if (stream.switches >= MAX_RESPONSE_SEGMENTS) {
|
|
|
|
| 100 |
providerSettings,
|
| 101 |
});
|
| 102 |
|
| 103 |
+
return stream.switchSource(result.toDataStream());
|
| 104 |
},
|
| 105 |
};
|
| 106 |
|
|
|
|
| 113 |
providerSettings,
|
| 114 |
});
|
| 115 |
|
| 116 |
+
stream.switchSource(result.toDataStream());
|
| 117 |
|
| 118 |
return new Response(stream.readable, {
|
| 119 |
status: 200,
|
|
|
|
| 122 |
},
|
| 123 |
});
|
| 124 |
} catch (error: any) {
|
| 125 |
+
console.error(error);
|
| 126 |
|
| 127 |
if (error.message?.includes('API key')) {
|
| 128 |
throw new Response('Invalid or missing API key', {
|
app/routes/api.enhancer.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
| 1 |
import { type ActionFunctionArgs } from '@remix-run/cloudflare';
|
| 2 |
-
|
|
|
|
| 3 |
import { streamText } from '~/lib/.server/llm/stream-text';
|
| 4 |
import { stripIndents } from '~/utils/stripIndent';
|
| 5 |
import type { IProviderSetting, ProviderInfo } from '~/types/model';
|
|
@@ -73,32 +74,32 @@ async function enhancerAction({ context, request }: ActionFunctionArgs) {
|
|
| 73 |
`[Model: ${model}]\n\n[Provider: ${providerName}]\n\n` +
|
| 74 |
stripIndents`
|
| 75 |
You are a professional prompt engineer specializing in crafting precise, effective prompts.
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
},
|
| 103 |
],
|
| 104 |
env: context.cloudflare.env,
|
|
@@ -113,7 +114,7 @@ async function enhancerAction({ context, request }: ActionFunctionArgs) {
|
|
| 113 |
|
| 114 |
for (const line of lines) {
|
| 115 |
try {
|
| 116 |
-
const parsed =
|
| 117 |
|
| 118 |
if (parsed.type === 'text') {
|
| 119 |
controller.enqueue(encoder.encode(parsed.value));
|
|
@@ -128,7 +129,12 @@ async function enhancerAction({ context, request }: ActionFunctionArgs) {
|
|
| 128 |
|
| 129 |
const transformedStream = result.toDataStream().pipeThrough(transformStream);
|
| 130 |
|
| 131 |
-
return new
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 132 |
} catch (error: unknown) {
|
| 133 |
console.log(error);
|
| 134 |
|
|
|
|
| 1 |
import { type ActionFunctionArgs } from '@remix-run/cloudflare';
|
| 2 |
+
|
| 3 |
+
//import { StreamingTextResponse, parseStreamPart } from 'ai';
|
| 4 |
import { streamText } from '~/lib/.server/llm/stream-text';
|
| 5 |
import { stripIndents } from '~/utils/stripIndent';
|
| 6 |
import type { IProviderSetting, ProviderInfo } from '~/types/model';
|
|
|
|
| 74 |
`[Model: ${model}]\n\n[Provider: ${providerName}]\n\n` +
|
| 75 |
stripIndents`
|
| 76 |
You are a professional prompt engineer specializing in crafting precise, effective prompts.
|
| 77 |
+
Your task is to enhance prompts by making them more specific, actionable, and effective.
|
| 78 |
+
|
| 79 |
+
I want you to improve the user prompt that is wrapped in \`<original_prompt>\` tags.
|
| 80 |
+
|
| 81 |
+
For valid prompts:
|
| 82 |
+
- Make instructions explicit and unambiguous
|
| 83 |
+
- Add relevant context and constraints
|
| 84 |
+
- Remove redundant information
|
| 85 |
+
- Maintain the core intent
|
| 86 |
+
- Ensure the prompt is self-contained
|
| 87 |
+
- Use professional language
|
| 88 |
+
|
| 89 |
+
For invalid or unclear prompts:
|
| 90 |
+
- Respond with clear, professional guidance
|
| 91 |
+
- Keep responses concise and actionable
|
| 92 |
+
- Maintain a helpful, constructive tone
|
| 93 |
+
- Focus on what the user should provide
|
| 94 |
+
- Use a standard template for consistency
|
| 95 |
+
|
| 96 |
+
IMPORTANT: Your response must ONLY contain the enhanced prompt text.
|
| 97 |
+
Do not include any explanations, metadata, or wrapper tags.
|
| 98 |
+
|
| 99 |
+
<original_prompt>
|
| 100 |
+
${message}
|
| 101 |
+
</original_prompt>
|
| 102 |
+
`,
|
| 103 |
},
|
| 104 |
],
|
| 105 |
env: context.cloudflare.env,
|
|
|
|
| 114 |
|
| 115 |
for (const line of lines) {
|
| 116 |
try {
|
| 117 |
+
const parsed = JSON.parse(line);
|
| 118 |
|
| 119 |
if (parsed.type === 'text') {
|
| 120 |
controller.enqueue(encoder.encode(parsed.value));
|
|
|
|
| 129 |
|
| 130 |
const transformedStream = result.toDataStream().pipeThrough(transformStream);
|
| 131 |
|
| 132 |
+
return new Response(transformedStream, {
|
| 133 |
+
status: 200,
|
| 134 |
+
headers: {
|
| 135 |
+
'Content-Type': 'text/plain; charset=utf-8',
|
| 136 |
+
},
|
| 137 |
+
});
|
| 138 |
} catch (error: unknown) {
|
| 139 |
console.log(error);
|
| 140 |
|
package.json
CHANGED
|
@@ -73,7 +73,7 @@
|
|
| 73 |
"@xterm/addon-fit": "^0.10.0",
|
| 74 |
"@xterm/addon-web-links": "^0.11.0",
|
| 75 |
"@xterm/xterm": "^5.5.0",
|
| 76 |
-
"ai": "^
|
| 77 |
"date-fns": "^3.6.0",
|
| 78 |
"diff": "^5.2.0",
|
| 79 |
"file-saver": "^2.0.5",
|
|
|
|
| 73 |
"@xterm/addon-fit": "^0.10.0",
|
| 74 |
"@xterm/addon-web-links": "^0.11.0",
|
| 75 |
"@xterm/xterm": "^5.5.0",
|
| 76 |
+
"ai": "^4.0.13",
|
| 77 |
"date-fns": "^3.6.0",
|
| 78 |
"diff": "^5.2.0",
|
| 79 |
"file-saver": "^2.0.5",
|
pnpm-lock.yaml
CHANGED
|
@@ -141,8 +141,8 @@ importers:
|
|
| 141 |
specifier: ^5.5.0
|
| 142 |
version: 5.5.0
|
| 143 |
ai:
|
| 144 |
-
specifier: ^
|
| 145 |
-
version:
|
| 146 |
date-fns:
|
| 147 |
specifier: ^3.6.0
|
| 148 |
version: 3.6.0
|
|
@@ -351,8 +351,8 @@ packages:
|
|
| 351 |
zod:
|
| 352 |
optional: true
|
| 353 |
|
| 354 |
-
'@ai-sdk/provider-utils@1.0.
|
| 355 |
-
resolution: {integrity: sha512-
|
| 356 |
engines: {node: '>=18'}
|
| 357 |
peerDependencies:
|
| 358 |
zod: ^3.0.0
|
|
@@ -360,8 +360,8 @@ packages:
|
|
| 360 |
zod:
|
| 361 |
optional: true
|
| 362 |
|
| 363 |
-
'@ai-sdk/provider-utils@
|
| 364 |
-
resolution: {integrity: sha512-
|
| 365 |
engines: {node: '>=18'}
|
| 366 |
peerDependencies:
|
| 367 |
zod: ^3.0.0
|
|
@@ -369,8 +369,8 @@ packages:
|
|
| 369 |
zod:
|
| 370 |
optional: true
|
| 371 |
|
| 372 |
-
'@ai-sdk/provider-utils@2.0.
|
| 373 |
-
resolution: {integrity: sha512-
|
| 374 |
engines: {node: '>=18'}
|
| 375 |
peerDependencies:
|
| 376 |
zod: ^3.0.0
|
|
@@ -390,16 +390,16 @@ packages:
|
|
| 390 |
resolution: {integrity: sha512-XMsNGJdGO+L0cxhhegtqZ8+T6nn4EoShS819OvCgI2kLbYTIvk0GWFGD0AXJmxkxs3DrpsJxKAFukFR7bvTkgQ==}
|
| 391 |
engines: {node: '>=18'}
|
| 392 |
|
| 393 |
-
'@ai-sdk/provider@0.0.26':
|
| 394 |
-
resolution: {integrity: sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg==}
|
| 395 |
-
engines: {node: '>=18'}
|
| 396 |
-
|
| 397 |
'@ai-sdk/provider@1.0.1':
|
| 398 |
resolution: {integrity: sha512-mV+3iNDkzUsZ0pR2jG0sVzU6xtQY5DtSCBy3JFycLp6PwjyLw/iodfL3MwdmMCRJWgs3dadcHejRnMvF9nGTBg==}
|
| 399 |
engines: {node: '>=18'}
|
| 400 |
|
| 401 |
-
'@ai-sdk/
|
| 402 |
-
resolution: {integrity: sha512-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 403 |
engines: {node: '>=18'}
|
| 404 |
peerDependencies:
|
| 405 |
react: ^18 || ^19 || ^19.0.0-rc
|
|
@@ -410,26 +410,8 @@ packages:
|
|
| 410 |
zod:
|
| 411 |
optional: true
|
| 412 |
|
| 413 |
-
'@ai-sdk/
|
| 414 |
-
resolution: {integrity: sha512-
|
| 415 |
-
engines: {node: '>=18'}
|
| 416 |
-
peerDependencies:
|
| 417 |
-
solid-js: ^1.7.7
|
| 418 |
-
peerDependenciesMeta:
|
| 419 |
-
solid-js:
|
| 420 |
-
optional: true
|
| 421 |
-
|
| 422 |
-
'@ai-sdk/svelte@0.0.57':
|
| 423 |
-
resolution: {integrity: sha512-SyF9ItIR9ALP9yDNAD+2/5Vl1IT6kchgyDH8xkmhysfJI6WrvJbtO1wdQ0nylvPLcsPoYu+cAlz1krU4lFHcYw==}
|
| 424 |
-
engines: {node: '>=18'}
|
| 425 |
-
peerDependencies:
|
| 426 |
-
svelte: ^3.0.0 || ^4.0.0 || ^5.0.0
|
| 427 |
-
peerDependenciesMeta:
|
| 428 |
-
svelte:
|
| 429 |
-
optional: true
|
| 430 |
-
|
| 431 |
-
'@ai-sdk/ui-utils@0.0.50':
|
| 432 |
-
resolution: {integrity: sha512-Z5QYJVW+5XpSaJ4jYCCAVG7zIAuKOOdikhgpksneNmKvx61ACFaf98pmOd+xnjahl0pIlc/QIe6O4yVaJ1sEaw==}
|
| 433 |
engines: {node: '>=18'}
|
| 434 |
peerDependencies:
|
| 435 |
zod: ^3.0.0
|
|
@@ -437,15 +419,6 @@ packages:
|
|
| 437 |
zod:
|
| 438 |
optional: true
|
| 439 |
|
| 440 |
-
'@ai-sdk/vue@0.0.59':
|
| 441 |
-
resolution: {integrity: sha512-+ofYlnqdc8c4F6tM0IKF0+7NagZRAiqBJpGDJ+6EYhDW8FHLUP/JFBgu32SjxSxC6IKFZxEnl68ZoP/Z38EMlw==}
|
| 442 |
-
engines: {node: '>=18'}
|
| 443 |
-
peerDependencies:
|
| 444 |
-
vue: ^3.3.4
|
| 445 |
-
peerDependenciesMeta:
|
| 446 |
-
vue:
|
| 447 |
-
optional: true
|
| 448 |
-
|
| 449 |
'@ampproject/remapping@2.3.0':
|
| 450 |
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
|
| 451 |
engines: {node: '>=6.0.0'}
|
|
@@ -2370,35 +2343,6 @@ packages:
|
|
| 2370 |
'@vitest/utils@2.1.8':
|
| 2371 |
resolution: {integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==}
|
| 2372 |
|
| 2373 |
-
'@vue/compiler-core@3.5.13':
|
| 2374 |
-
resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==}
|
| 2375 |
-
|
| 2376 |
-
'@vue/compiler-dom@3.5.13':
|
| 2377 |
-
resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==}
|
| 2378 |
-
|
| 2379 |
-
'@vue/compiler-sfc@3.5.13':
|
| 2380 |
-
resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==}
|
| 2381 |
-
|
| 2382 |
-
'@vue/compiler-ssr@3.5.13':
|
| 2383 |
-
resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==}
|
| 2384 |
-
|
| 2385 |
-
'@vue/reactivity@3.5.13':
|
| 2386 |
-
resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==}
|
| 2387 |
-
|
| 2388 |
-
'@vue/runtime-core@3.5.13':
|
| 2389 |
-
resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==}
|
| 2390 |
-
|
| 2391 |
-
'@vue/runtime-dom@3.5.13':
|
| 2392 |
-
resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==}
|
| 2393 |
-
|
| 2394 |
-
'@vue/server-renderer@3.5.13':
|
| 2395 |
-
resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==}
|
| 2396 |
-
peerDependencies:
|
| 2397 |
-
vue: 3.5.13
|
| 2398 |
-
|
| 2399 |
-
'@vue/shared@3.5.13':
|
| 2400 |
-
resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==}
|
| 2401 |
-
|
| 2402 |
'@web3-storage/multipart-parser@1.0.0':
|
| 2403 |
resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==}
|
| 2404 |
|
|
@@ -2434,11 +2378,6 @@ packages:
|
|
| 2434 |
peerDependencies:
|
| 2435 |
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
|
| 2436 |
|
| 2437 |
-
acorn-typescript@1.4.13:
|
| 2438 |
-
resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==}
|
| 2439 |
-
peerDependencies:
|
| 2440 |
-
acorn: '>=8.9.0'
|
| 2441 |
-
|
| 2442 |
acorn-walk@8.3.4:
|
| 2443 |
resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
|
| 2444 |
engines: {node: '>=0.4.0'}
|
|
@@ -2452,24 +2391,15 @@ packages:
|
|
| 2452 |
resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
|
| 2453 |
engines: {node: '>=8'}
|
| 2454 |
|
| 2455 |
-
ai@
|
| 2456 |
-
resolution: {integrity: sha512-
|
| 2457 |
engines: {node: '>=18'}
|
| 2458 |
peerDependencies:
|
| 2459 |
-
openai: ^4.42.0
|
| 2460 |
react: ^18 || ^19 || ^19.0.0-rc
|
| 2461 |
-
sswr: ^2.1.0
|
| 2462 |
-
svelte: ^3.0.0 || ^4.0.0 || ^5.0.0
|
| 2463 |
zod: ^3.0.0
|
| 2464 |
peerDependenciesMeta:
|
| 2465 |
-
openai:
|
| 2466 |
-
optional: true
|
| 2467 |
react:
|
| 2468 |
optional: true
|
| 2469 |
-
sswr:
|
| 2470 |
-
optional: true
|
| 2471 |
-
svelte:
|
| 2472 |
-
optional: true
|
| 2473 |
zod:
|
| 2474 |
optional: true
|
| 2475 |
|
|
@@ -2506,10 +2436,6 @@ packages:
|
|
| 2506 |
resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==}
|
| 2507 |
engines: {node: '>=10'}
|
| 2508 |
|
| 2509 |
-
aria-query@5.3.2:
|
| 2510 |
-
resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
|
| 2511 |
-
engines: {node: '>= 0.4'}
|
| 2512 |
-
|
| 2513 |
array-flatten@1.1.1:
|
| 2514 |
resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
|
| 2515 |
|
|
@@ -2537,10 +2463,6 @@ packages:
|
|
| 2537 |
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
|
| 2538 |
engines: {node: '>= 0.4'}
|
| 2539 |
|
| 2540 |
-
axobject-query@4.1.0:
|
| 2541 |
-
resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
|
| 2542 |
-
engines: {node: '>= 0.4'}
|
| 2543 |
-
|
| 2544 |
bail@2.0.2:
|
| 2545 |
resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
|
| 2546 |
|
|
@@ -3149,9 +3071,6 @@ packages:
|
|
| 3149 |
jiti:
|
| 3150 |
optional: true
|
| 3151 |
|
| 3152 |
-
esm-env@1.2.1:
|
| 3153 |
-
resolution: {integrity: sha512-U9JedYYjCnadUlXk7e1Kr+aENQhtUaoaV9+gZm1T8LC/YBAPJx3NSPIAurFOC0U5vrdSevnUJS2/wUVxGwPhng==}
|
| 3154 |
-
|
| 3155 |
espree@10.3.0:
|
| 3156 |
resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
|
| 3157 |
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
|
@@ -3164,9 +3083,6 @@ packages:
|
|
| 3164 |
resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
|
| 3165 |
engines: {node: '>=0.10'}
|
| 3166 |
|
| 3167 |
-
esrap@1.2.3:
|
| 3168 |
-
resolution: {integrity: sha512-ZlQmCCK+n7SGoqo7DnfKaP1sJZa49P01/dXzmjCASSo04p72w8EksT2NMK8CEX8DhKsfJXANioIw8VyHNsBfvQ==}
|
| 3169 |
-
|
| 3170 |
esrecurse@4.3.0:
|
| 3171 |
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
|
| 3172 |
engines: {node: '>=4.0'}
|
|
@@ -3820,9 +3736,6 @@ packages:
|
|
| 3820 |
resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==}
|
| 3821 |
engines: {node: '>=14'}
|
| 3822 |
|
| 3823 |
-
locate-character@3.0.0:
|
| 3824 |
-
resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
|
| 3825 |
-
|
| 3826 |
locate-path@6.0.0:
|
| 3827 |
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
|
| 3828 |
engines: {node: '>=10'}
|
|
@@ -5190,11 +5103,6 @@ packages:
|
|
| 5190 |
resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==}
|
| 5191 |
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
|
| 5192 |
|
| 5193 |
-
sswr@2.1.0:
|
| 5194 |
-
resolution: {integrity: sha512-Cqc355SYlTAaUt8iDPaC/4DPPXK925PePLMxyBKuWd5kKc5mwsG3nT9+Mq2tyguL5s7b4Jg+IRMpTRsNTAfpSQ==}
|
| 5195 |
-
peerDependencies:
|
| 5196 |
-
svelte: ^4.0.0 || ^5.0.0-next.0
|
| 5197 |
-
|
| 5198 |
stackback@0.0.2:
|
| 5199 |
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
|
| 5200 |
|
|
@@ -5285,23 +5193,11 @@ packages:
|
|
| 5285 |
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
| 5286 |
engines: {node: '>= 0.4'}
|
| 5287 |
|
| 5288 |
-
svelte@5.4.0:
|
| 5289 |
-
resolution: {integrity: sha512-2I/mjD8cXDpKfdfUK+T6yo/OzugMXIm8lhyJUFM5F/gICMYnkl3C/+4cOSpia8TqpDsi6Qfm5+fdmBNMNmaf2g==}
|
| 5290 |
-
engines: {node: '>=18'}
|
| 5291 |
-
|
| 5292 |
swr@2.2.5:
|
| 5293 |
resolution: {integrity: sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==}
|
| 5294 |
peerDependencies:
|
| 5295 |
react: ^16.11.0 || ^17.0.0 || ^18.0.0
|
| 5296 |
|
| 5297 |
-
swrev@4.0.0:
|
| 5298 |
-
resolution: {integrity: sha512-LqVcOHSB4cPGgitD1riJ1Hh4vdmITOp+BkmfmXRh4hSF/t7EnS4iD+SOTmq7w5pPm/SiPeto4ADbKS6dHUDWFA==}
|
| 5299 |
-
|
| 5300 |
-
swrv@1.0.4:
|
| 5301 |
-
resolution: {integrity: sha512-zjEkcP8Ywmj+xOJW3lIT65ciY/4AL4e/Or7Gj0MzU3zBJNMdJiT8geVZhINavnlHRMMCcJLHhraLTAiDOTmQ9g==}
|
| 5302 |
-
peerDependencies:
|
| 5303 |
-
vue: '>=3.2.26 < 4'
|
| 5304 |
-
|
| 5305 |
sync-child-process@1.0.2:
|
| 5306 |
resolution: {integrity: sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==}
|
| 5307 |
engines: {node: '>=16.0.0'}
|
|
@@ -5721,14 +5617,6 @@ packages:
|
|
| 5721 |
vm-browserify@1.1.2:
|
| 5722 |
resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==}
|
| 5723 |
|
| 5724 |
-
vue@3.5.13:
|
| 5725 |
-
resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==}
|
| 5726 |
-
peerDependencies:
|
| 5727 |
-
typescript: '*'
|
| 5728 |
-
peerDependenciesMeta:
|
| 5729 |
-
typescript:
|
| 5730 |
-
optional: true
|
| 5731 |
-
|
| 5732 |
w3c-keyname@2.2.8:
|
| 5733 |
resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
|
| 5734 |
|
|
@@ -5843,9 +5731,6 @@ packages:
|
|
| 5843 |
youch@3.3.4:
|
| 5844 |
resolution: {integrity: sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==}
|
| 5845 |
|
| 5846 |
-
zimmerframe@1.1.2:
|
| 5847 |
-
resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==}
|
| 5848 |
-
|
| 5849 |
zod-to-json-schema@3.23.5:
|
| 5850 |
resolution: {integrity: sha512-5wlSS0bXfF/BrL4jPAbz9da5hDlDptdEppYfe+x4eIJ7jioqKG9uUxOwPzqof09u/XeVdrgFu29lZi+8XNDJtA==}
|
| 5851 |
peerDependencies:
|
|
@@ -5908,15 +5793,6 @@ snapshots:
|
|
| 5908 |
optionalDependencies:
|
| 5909 |
zod: 3.23.8
|
| 5910 |
|
| 5911 |
-
'@ai-sdk/provider-utils@1.0.22(zod@3.23.8)':
|
| 5912 |
-
dependencies:
|
| 5913 |
-
'@ai-sdk/provider': 0.0.26
|
| 5914 |
-
eventsource-parser: 1.1.2
|
| 5915 |
-
nanoid: 3.3.8
|
| 5916 |
-
secure-json-parse: 2.7.0
|
| 5917 |
-
optionalDependencies:
|
| 5918 |
-
zod: 3.23.8
|
| 5919 |
-
|
| 5920 |
'@ai-sdk/provider-utils@1.0.9(zod@3.23.8)':
|
| 5921 |
dependencies:
|
| 5922 |
'@ai-sdk/provider': 0.0.17
|
|
@@ -5935,6 +5811,15 @@ snapshots:
|
|
| 5935 |
optionalDependencies:
|
| 5936 |
zod: 3.23.8
|
| 5937 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5938 |
'@ai-sdk/provider@0.0.12':
|
| 5939 |
dependencies:
|
| 5940 |
json-schema: 0.4.0
|
|
@@ -5947,61 +5832,32 @@ snapshots:
|
|
| 5947 |
dependencies:
|
| 5948 |
json-schema: 0.4.0
|
| 5949 |
|
| 5950 |
-
'@ai-sdk/provider@
|
| 5951 |
dependencies:
|
| 5952 |
json-schema: 0.4.0
|
| 5953 |
|
| 5954 |
-
'@ai-sdk/provider@1.0.
|
| 5955 |
dependencies:
|
| 5956 |
json-schema: 0.4.0
|
| 5957 |
|
| 5958 |
-
'@ai-sdk/react@
|
| 5959 |
dependencies:
|
| 5960 |
-
'@ai-sdk/provider-utils':
|
| 5961 |
-
'@ai-sdk/ui-utils':
|
| 5962 |
swr: 2.2.5(react@18.3.1)
|
| 5963 |
throttleit: 2.1.0
|
| 5964 |
optionalDependencies:
|
| 5965 |
react: 18.3.1
|
| 5966 |
zod: 3.23.8
|
| 5967 |
|
| 5968 |
-
'@ai-sdk/
|
| 5969 |
-
dependencies:
|
| 5970 |
-
'@ai-sdk/provider-utils': 1.0.22(zod@3.23.8)
|
| 5971 |
-
'@ai-sdk/ui-utils': 0.0.50(zod@3.23.8)
|
| 5972 |
-
transitivePeerDependencies:
|
| 5973 |
-
- zod
|
| 5974 |
-
|
| 5975 |
-
'@ai-sdk/svelte@0.0.57(svelte@5.4.0)(zod@3.23.8)':
|
| 5976 |
-
dependencies:
|
| 5977 |
-
'@ai-sdk/provider-utils': 1.0.22(zod@3.23.8)
|
| 5978 |
-
'@ai-sdk/ui-utils': 0.0.50(zod@3.23.8)
|
| 5979 |
-
sswr: 2.1.0(svelte@5.4.0)
|
| 5980 |
-
optionalDependencies:
|
| 5981 |
-
svelte: 5.4.0
|
| 5982 |
-
transitivePeerDependencies:
|
| 5983 |
-
- zod
|
| 5984 |
-
|
| 5985 |
-
'@ai-sdk/ui-utils@0.0.50(zod@3.23.8)':
|
| 5986 |
dependencies:
|
| 5987 |
-
'@ai-sdk/provider':
|
| 5988 |
-
'@ai-sdk/provider-utils':
|
| 5989 |
-
json-schema: 0.4.0
|
| 5990 |
-
secure-json-parse: 2.7.0
|
| 5991 |
zod-to-json-schema: 3.23.5(zod@3.23.8)
|
| 5992 |
optionalDependencies:
|
| 5993 |
zod: 3.23.8
|
| 5994 |
|
| 5995 |
-
'@ai-sdk/vue@0.0.59(vue@3.5.13(typescript@5.7.2))(zod@3.23.8)':
|
| 5996 |
-
dependencies:
|
| 5997 |
-
'@ai-sdk/provider-utils': 1.0.22(zod@3.23.8)
|
| 5998 |
-
'@ai-sdk/ui-utils': 0.0.50(zod@3.23.8)
|
| 5999 |
-
swrv: 1.0.4(vue@3.5.13(typescript@5.7.2))
|
| 6000 |
-
optionalDependencies:
|
| 6001 |
-
vue: 3.5.13(typescript@5.7.2)
|
| 6002 |
-
transitivePeerDependencies:
|
| 6003 |
-
- zod
|
| 6004 |
-
|
| 6005 |
'@ampproject/remapping@2.3.0':
|
| 6006 |
dependencies:
|
| 6007 |
'@jridgewell/gen-mapping': 0.3.5
|
|
@@ -8045,60 +7901,6 @@ snapshots:
|
|
| 8045 |
loupe: 3.1.2
|
| 8046 |
tinyrainbow: 1.2.0
|
| 8047 |
|
| 8048 |
-
'@vue/compiler-core@3.5.13':
|
| 8049 |
-
dependencies:
|
| 8050 |
-
'@babel/parser': 7.26.2
|
| 8051 |
-
'@vue/shared': 3.5.13
|
| 8052 |
-
entities: 4.5.0
|
| 8053 |
-
estree-walker: 2.0.2
|
| 8054 |
-
source-map-js: 1.2.1
|
| 8055 |
-
|
| 8056 |
-
'@vue/compiler-dom@3.5.13':
|
| 8057 |
-
dependencies:
|
| 8058 |
-
'@vue/compiler-core': 3.5.13
|
| 8059 |
-
'@vue/shared': 3.5.13
|
| 8060 |
-
|
| 8061 |
-
'@vue/compiler-sfc@3.5.13':
|
| 8062 |
-
dependencies:
|
| 8063 |
-
'@babel/parser': 7.26.2
|
| 8064 |
-
'@vue/compiler-core': 3.5.13
|
| 8065 |
-
'@vue/compiler-dom': 3.5.13
|
| 8066 |
-
'@vue/compiler-ssr': 3.5.13
|
| 8067 |
-
'@vue/shared': 3.5.13
|
| 8068 |
-
estree-walker: 2.0.2
|
| 8069 |
-
magic-string: 0.30.14
|
| 8070 |
-
postcss: 8.4.49
|
| 8071 |
-
source-map-js: 1.2.1
|
| 8072 |
-
|
| 8073 |
-
'@vue/compiler-ssr@3.5.13':
|
| 8074 |
-
dependencies:
|
| 8075 |
-
'@vue/compiler-dom': 3.5.13
|
| 8076 |
-
'@vue/shared': 3.5.13
|
| 8077 |
-
|
| 8078 |
-
'@vue/reactivity@3.5.13':
|
| 8079 |
-
dependencies:
|
| 8080 |
-
'@vue/shared': 3.5.13
|
| 8081 |
-
|
| 8082 |
-
'@vue/runtime-core@3.5.13':
|
| 8083 |
-
dependencies:
|
| 8084 |
-
'@vue/reactivity': 3.5.13
|
| 8085 |
-
'@vue/shared': 3.5.13
|
| 8086 |
-
|
| 8087 |
-
'@vue/runtime-dom@3.5.13':
|
| 8088 |
-
dependencies:
|
| 8089 |
-
'@vue/reactivity': 3.5.13
|
| 8090 |
-
'@vue/runtime-core': 3.5.13
|
| 8091 |
-
'@vue/shared': 3.5.13
|
| 8092 |
-
csstype: 3.1.3
|
| 8093 |
-
|
| 8094 |
-
'@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.7.2))':
|
| 8095 |
-
dependencies:
|
| 8096 |
-
'@vue/compiler-ssr': 3.5.13
|
| 8097 |
-
'@vue/shared': 3.5.13
|
| 8098 |
-
vue: 3.5.13(typescript@5.7.2)
|
| 8099 |
-
|
| 8100 |
-
'@vue/shared@3.5.13': {}
|
| 8101 |
-
|
| 8102 |
'@web3-storage/multipart-parser@1.0.0': {}
|
| 8103 |
|
| 8104 |
'@webcontainer/api@1.3.0-internal.10': {}
|
|
@@ -8129,10 +7931,6 @@ snapshots:
|
|
| 8129 |
dependencies:
|
| 8130 |
acorn: 8.14.0
|
| 8131 |
|
| 8132 |
-
acorn-typescript@1.4.13(acorn@8.14.0):
|
| 8133 |
-
dependencies:
|
| 8134 |
-
acorn: 8.14.0
|
| 8135 |
-
|
| 8136 |
acorn-walk@8.3.4:
|
| 8137 |
dependencies:
|
| 8138 |
acorn: 8.14.0
|
|
@@ -8144,29 +7942,18 @@ snapshots:
|
|
| 8144 |
clean-stack: 2.2.0
|
| 8145 |
indent-string: 4.0.0
|
| 8146 |
|
| 8147 |
-
ai@
|
| 8148 |
dependencies:
|
| 8149 |
-
'@ai-sdk/provider':
|
| 8150 |
-
'@ai-sdk/provider-utils':
|
| 8151 |
-
'@ai-sdk/react':
|
| 8152 |
-
'@ai-sdk/
|
| 8153 |
-
'@ai-sdk/svelte': 0.0.57(svelte@5.4.0)(zod@3.23.8)
|
| 8154 |
-
'@ai-sdk/ui-utils': 0.0.50(zod@3.23.8)
|
| 8155 |
-
'@ai-sdk/vue': 0.0.59(vue@3.5.13(typescript@5.7.2))(zod@3.23.8)
|
| 8156 |
'@opentelemetry/api': 1.9.0
|
| 8157 |
-
eventsource-parser: 1.1.2
|
| 8158 |
-
json-schema: 0.4.0
|
| 8159 |
jsondiffpatch: 0.6.0
|
| 8160 |
-
secure-json-parse: 2.7.0
|
| 8161 |
zod-to-json-schema: 3.23.5(zod@3.23.8)
|
| 8162 |
optionalDependencies:
|
| 8163 |
react: 18.3.1
|
| 8164 |
-
sswr: 2.1.0(svelte@5.4.0)
|
| 8165 |
-
svelte: 5.4.0
|
| 8166 |
zod: 3.23.8
|
| 8167 |
-
transitivePeerDependencies:
|
| 8168 |
-
- solid-js
|
| 8169 |
-
- vue
|
| 8170 |
|
| 8171 |
ajv@6.12.6:
|
| 8172 |
dependencies:
|
|
@@ -8198,8 +7985,6 @@ snapshots:
|
|
| 8198 |
dependencies:
|
| 8199 |
tslib: 2.8.1
|
| 8200 |
|
| 8201 |
-
aria-query@5.3.2: {}
|
| 8202 |
-
|
| 8203 |
array-flatten@1.1.1: {}
|
| 8204 |
|
| 8205 |
as-table@1.0.55:
|
|
@@ -8230,8 +8015,6 @@ snapshots:
|
|
| 8230 |
dependencies:
|
| 8231 |
possible-typed-array-names: 1.0.0
|
| 8232 |
|
| 8233 |
-
axobject-query@4.1.0: {}
|
| 8234 |
-
|
| 8235 |
bail@2.0.2: {}
|
| 8236 |
|
| 8237 |
balanced-match@1.0.2: {}
|
|
@@ -8931,8 +8714,6 @@ snapshots:
|
|
| 8931 |
transitivePeerDependencies:
|
| 8932 |
- supports-color
|
| 8933 |
|
| 8934 |
-
esm-env@1.2.1: {}
|
| 8935 |
-
|
| 8936 |
espree@10.3.0:
|
| 8937 |
dependencies:
|
| 8938 |
acorn: 8.14.0
|
|
@@ -8949,11 +8730,6 @@ snapshots:
|
|
| 8949 |
dependencies:
|
| 8950 |
estraverse: 5.3.0
|
| 8951 |
|
| 8952 |
-
esrap@1.2.3:
|
| 8953 |
-
dependencies:
|
| 8954 |
-
'@jridgewell/sourcemap-codec': 1.5.0
|
| 8955 |
-
'@types/estree': 1.0.6
|
| 8956 |
-
|
| 8957 |
esrecurse@4.3.0:
|
| 8958 |
dependencies:
|
| 8959 |
estraverse: 5.3.0
|
|
@@ -9680,8 +9456,6 @@ snapshots:
|
|
| 9680 |
mlly: 1.7.3
|
| 9681 |
pkg-types: 1.2.1
|
| 9682 |
|
| 9683 |
-
locate-character@3.0.0: {}
|
| 9684 |
-
|
| 9685 |
locate-path@6.0.0:
|
| 9686 |
dependencies:
|
| 9687 |
p-locate: 5.0.0
|
|
@@ -11492,11 +11266,6 @@ snapshots:
|
|
| 11492 |
dependencies:
|
| 11493 |
minipass: 7.1.2
|
| 11494 |
|
| 11495 |
-
sswr@2.1.0(svelte@5.4.0):
|
| 11496 |
-
dependencies:
|
| 11497 |
-
svelte: 5.4.0
|
| 11498 |
-
swrev: 4.0.0
|
| 11499 |
-
|
| 11500 |
stackback@0.0.2: {}
|
| 11501 |
|
| 11502 |
stacktracey@2.1.8:
|
|
@@ -11587,34 +11356,12 @@ snapshots:
|
|
| 11587 |
|
| 11588 |
supports-preserve-symlinks-flag@1.0.0: {}
|
| 11589 |
|
| 11590 |
-
svelte@5.4.0:
|
| 11591 |
-
dependencies:
|
| 11592 |
-
'@ampproject/remapping': 2.3.0
|
| 11593 |
-
'@jridgewell/sourcemap-codec': 1.5.0
|
| 11594 |
-
'@types/estree': 1.0.6
|
| 11595 |
-
acorn: 8.14.0
|
| 11596 |
-
acorn-typescript: 1.4.13(acorn@8.14.0)
|
| 11597 |
-
aria-query: 5.3.2
|
| 11598 |
-
axobject-query: 4.1.0
|
| 11599 |
-
esm-env: 1.2.1
|
| 11600 |
-
esrap: 1.2.3
|
| 11601 |
-
is-reference: 3.0.3
|
| 11602 |
-
locate-character: 3.0.0
|
| 11603 |
-
magic-string: 0.30.14
|
| 11604 |
-
zimmerframe: 1.1.2
|
| 11605 |
-
|
| 11606 |
swr@2.2.5(react@18.3.1):
|
| 11607 |
dependencies:
|
| 11608 |
client-only: 0.0.1
|
| 11609 |
react: 18.3.1
|
| 11610 |
use-sync-external-store: 1.2.2(react@18.3.1)
|
| 11611 |
|
| 11612 |
-
swrev@4.0.0: {}
|
| 11613 |
-
|
| 11614 |
-
swrv@1.0.4(vue@3.5.13(typescript@5.7.2)):
|
| 11615 |
-
dependencies:
|
| 11616 |
-
vue: 3.5.13(typescript@5.7.2)
|
| 11617 |
-
|
| 11618 |
sync-child-process@1.0.2:
|
| 11619 |
dependencies:
|
| 11620 |
sync-message-port: 1.1.3
|
|
@@ -12092,16 +11839,6 @@ snapshots:
|
|
| 12092 |
|
| 12093 |
vm-browserify@1.1.2: {}
|
| 12094 |
|
| 12095 |
-
vue@3.5.13(typescript@5.7.2):
|
| 12096 |
-
dependencies:
|
| 12097 |
-
'@vue/compiler-dom': 3.5.13
|
| 12098 |
-
'@vue/compiler-sfc': 3.5.13
|
| 12099 |
-
'@vue/runtime-dom': 3.5.13
|
| 12100 |
-
'@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.7.2))
|
| 12101 |
-
'@vue/shared': 3.5.13
|
| 12102 |
-
optionalDependencies:
|
| 12103 |
-
typescript: 5.7.2
|
| 12104 |
-
|
| 12105 |
w3c-keyname@2.2.8: {}
|
| 12106 |
|
| 12107 |
wcwidth@1.0.1:
|
|
@@ -12214,8 +11951,6 @@ snapshots:
|
|
| 12214 |
mustache: 4.2.0
|
| 12215 |
stacktracey: 2.1.8
|
| 12216 |
|
| 12217 |
-
zimmerframe@1.1.2: {}
|
| 12218 |
-
|
| 12219 |
zod-to-json-schema@3.23.5(zod@3.23.8):
|
| 12220 |
dependencies:
|
| 12221 |
zod: 3.23.8
|
|
|
|
| 141 |
specifier: ^5.5.0
|
| 142 |
version: 5.5.0
|
| 143 |
ai:
|
| 144 |
+
specifier: ^4.0.13
|
| 145 |
+
version: 4.0.18(react@18.3.1)(zod@3.23.8)
|
| 146 |
date-fns:
|
| 147 |
specifier: ^3.6.0
|
| 148 |
version: 3.6.0
|
|
|
|
| 351 |
zod:
|
| 352 |
optional: true
|
| 353 |
|
| 354 |
+
'@ai-sdk/provider-utils@1.0.9':
|
| 355 |
+
resolution: {integrity: sha512-yfdanjUiCJbtGoRGXrcrmXn0pTyDfRIeY6ozDG96D66f2wupZaZvAgKptUa3zDYXtUCQQvcNJ+tipBBfQD/UYA==}
|
| 356 |
engines: {node: '>=18'}
|
| 357 |
peerDependencies:
|
| 358 |
zod: ^3.0.0
|
|
|
|
| 360 |
zod:
|
| 361 |
optional: true
|
| 362 |
|
| 363 |
+
'@ai-sdk/provider-utils@2.0.2':
|
| 364 |
+
resolution: {integrity: sha512-IAvhKhdlXqiSmvx/D4uNlFYCl8dWT+M9K+IuEcSgnE2Aj27GWu8sDIpAf4r4Voc+wOUkOECVKQhFo8g9pozdjA==}
|
| 365 |
engines: {node: '>=18'}
|
| 366 |
peerDependencies:
|
| 367 |
zod: ^3.0.0
|
|
|
|
| 369 |
zod:
|
| 370 |
optional: true
|
| 371 |
|
| 372 |
+
'@ai-sdk/provider-utils@2.0.4':
|
| 373 |
+
resolution: {integrity: sha512-GMhcQCZbwM6RoZCri0MWeEWXRt/T+uCxsmHEsTwNvEH3GDjNzchfX25C8ftry2MeEOOn6KfqCLSKomcgK6RoOg==}
|
| 374 |
engines: {node: '>=18'}
|
| 375 |
peerDependencies:
|
| 376 |
zod: ^3.0.0
|
|
|
|
| 390 |
resolution: {integrity: sha512-XMsNGJdGO+L0cxhhegtqZ8+T6nn4EoShS819OvCgI2kLbYTIvk0GWFGD0AXJmxkxs3DrpsJxKAFukFR7bvTkgQ==}
|
| 391 |
engines: {node: '>=18'}
|
| 392 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 393 |
'@ai-sdk/provider@1.0.1':
|
| 394 |
resolution: {integrity: sha512-mV+3iNDkzUsZ0pR2jG0sVzU6xtQY5DtSCBy3JFycLp6PwjyLw/iodfL3MwdmMCRJWgs3dadcHejRnMvF9nGTBg==}
|
| 395 |
engines: {node: '>=18'}
|
| 396 |
|
| 397 |
+
'@ai-sdk/provider@1.0.2':
|
| 398 |
+
resolution: {integrity: sha512-YYtP6xWQyaAf5LiWLJ+ycGTOeBLWrED7LUrvc+SQIWhGaneylqbaGsyQL7VouQUeQ4JZ1qKYZuhmi3W56HADPA==}
|
| 399 |
+
engines: {node: '>=18'}
|
| 400 |
+
|
| 401 |
+
'@ai-sdk/react@1.0.6':
|
| 402 |
+
resolution: {integrity: sha512-8Hkserq0Ge6AEi7N4hlv2FkfglAGbkoAXEZ8YSp255c3PbnZz6+/5fppw+aROmZMOfNwallSRuy1i/iPa2rBpQ==}
|
| 403 |
engines: {node: '>=18'}
|
| 404 |
peerDependencies:
|
| 405 |
react: ^18 || ^19 || ^19.0.0-rc
|
|
|
|
| 410 |
zod:
|
| 411 |
optional: true
|
| 412 |
|
| 413 |
+
'@ai-sdk/ui-utils@1.0.5':
|
| 414 |
+
resolution: {integrity: sha512-DGJSbDf+vJyWmFNexSPUsS1AAy7gtsmFmoSyNbNbJjwl9hRIf2dknfA1V0ahx6pg3NNklNYFm53L8Nphjovfvg==}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 415 |
engines: {node: '>=18'}
|
| 416 |
peerDependencies:
|
| 417 |
zod: ^3.0.0
|
|
|
|
| 419 |
zod:
|
| 420 |
optional: true
|
| 421 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 422 |
'@ampproject/remapping@2.3.0':
|
| 423 |
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
|
| 424 |
engines: {node: '>=6.0.0'}
|
|
|
|
| 2343 |
'@vitest/utils@2.1.8':
|
| 2344 |
resolution: {integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==}
|
| 2345 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2346 |
'@web3-storage/multipart-parser@1.0.0':
|
| 2347 |
resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==}
|
| 2348 |
|
|
|
|
| 2378 |
peerDependencies:
|
| 2379 |
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
|
| 2380 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2381 |
acorn-walk@8.3.4:
|
| 2382 |
resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
|
| 2383 |
engines: {node: '>=0.4.0'}
|
|
|
|
| 2391 |
resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
|
| 2392 |
engines: {node: '>=8'}
|
| 2393 |
|
| 2394 |
+
ai@4.0.18:
|
| 2395 |
+
resolution: {integrity: sha512-BTWzalLNE1LQphEka5xzJXDs5v4xXy1Uzr7dAVk+C/CnO3WNpuMBgrCymwUv0VrWaWc8xMQuh+OqsT7P7JyekQ==}
|
| 2396 |
engines: {node: '>=18'}
|
| 2397 |
peerDependencies:
|
|
|
|
| 2398 |
react: ^18 || ^19 || ^19.0.0-rc
|
|
|
|
|
|
|
| 2399 |
zod: ^3.0.0
|
| 2400 |
peerDependenciesMeta:
|
|
|
|
|
|
|
| 2401 |
react:
|
| 2402 |
optional: true
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2403 |
zod:
|
| 2404 |
optional: true
|
| 2405 |
|
|
|
|
| 2436 |
resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==}
|
| 2437 |
engines: {node: '>=10'}
|
| 2438 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2439 |
array-flatten@1.1.1:
|
| 2440 |
resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
|
| 2441 |
|
|
|
|
| 2463 |
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
|
| 2464 |
engines: {node: '>= 0.4'}
|
| 2465 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2466 |
bail@2.0.2:
|
| 2467 |
resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
|
| 2468 |
|
|
|
|
| 3071 |
jiti:
|
| 3072 |
optional: true
|
| 3073 |
|
|
|
|
|
|
|
|
|
|
| 3074 |
espree@10.3.0:
|
| 3075 |
resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
|
| 3076 |
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
|
|
|
| 3083 |
resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
|
| 3084 |
engines: {node: '>=0.10'}
|
| 3085 |
|
|
|
|
|
|
|
|
|
|
| 3086 |
esrecurse@4.3.0:
|
| 3087 |
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
|
| 3088 |
engines: {node: '>=4.0'}
|
|
|
|
| 3736 |
resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==}
|
| 3737 |
engines: {node: '>=14'}
|
| 3738 |
|
|
|
|
|
|
|
|
|
|
| 3739 |
locate-path@6.0.0:
|
| 3740 |
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
|
| 3741 |
engines: {node: '>=10'}
|
|
|
|
| 5103 |
resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==}
|
| 5104 |
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
|
| 5105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5106 |
stackback@0.0.2:
|
| 5107 |
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
|
| 5108 |
|
|
|
|
| 5193 |
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
| 5194 |
engines: {node: '>= 0.4'}
|
| 5195 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5196 |
swr@2.2.5:
|
| 5197 |
resolution: {integrity: sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==}
|
| 5198 |
peerDependencies:
|
| 5199 |
react: ^16.11.0 || ^17.0.0 || ^18.0.0
|
| 5200 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5201 |
sync-child-process@1.0.2:
|
| 5202 |
resolution: {integrity: sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==}
|
| 5203 |
engines: {node: '>=16.0.0'}
|
|
|
|
| 5617 |
vm-browserify@1.1.2:
|
| 5618 |
resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==}
|
| 5619 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5620 |
w3c-keyname@2.2.8:
|
| 5621 |
resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
|
| 5622 |
|
|
|
|
| 5731 |
youch@3.3.4:
|
| 5732 |
resolution: {integrity: sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==}
|
| 5733 |
|
|
|
|
|
|
|
|
|
|
| 5734 |
zod-to-json-schema@3.23.5:
|
| 5735 |
resolution: {integrity: sha512-5wlSS0bXfF/BrL4jPAbz9da5hDlDptdEppYfe+x4eIJ7jioqKG9uUxOwPzqof09u/XeVdrgFu29lZi+8XNDJtA==}
|
| 5736 |
peerDependencies:
|
|
|
|
| 5793 |
optionalDependencies:
|
| 5794 |
zod: 3.23.8
|
| 5795 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5796 |
'@ai-sdk/provider-utils@1.0.9(zod@3.23.8)':
|
| 5797 |
dependencies:
|
| 5798 |
'@ai-sdk/provider': 0.0.17
|
|
|
|
| 5811 |
optionalDependencies:
|
| 5812 |
zod: 3.23.8
|
| 5813 |
|
| 5814 |
+
'@ai-sdk/provider-utils@2.0.4(zod@3.23.8)':
|
| 5815 |
+
dependencies:
|
| 5816 |
+
'@ai-sdk/provider': 1.0.2
|
| 5817 |
+
eventsource-parser: 3.0.0
|
| 5818 |
+
nanoid: 3.3.8
|
| 5819 |
+
secure-json-parse: 2.7.0
|
| 5820 |
+
optionalDependencies:
|
| 5821 |
+
zod: 3.23.8
|
| 5822 |
+
|
| 5823 |
'@ai-sdk/provider@0.0.12':
|
| 5824 |
dependencies:
|
| 5825 |
json-schema: 0.4.0
|
|
|
|
| 5832 |
dependencies:
|
| 5833 |
json-schema: 0.4.0
|
| 5834 |
|
| 5835 |
+
'@ai-sdk/provider@1.0.1':
|
| 5836 |
dependencies:
|
| 5837 |
json-schema: 0.4.0
|
| 5838 |
|
| 5839 |
+
'@ai-sdk/provider@1.0.2':
|
| 5840 |
dependencies:
|
| 5841 |
json-schema: 0.4.0
|
| 5842 |
|
| 5843 |
+
'@ai-sdk/react@1.0.6(react@18.3.1)(zod@3.23.8)':
|
| 5844 |
dependencies:
|
| 5845 |
+
'@ai-sdk/provider-utils': 2.0.4(zod@3.23.8)
|
| 5846 |
+
'@ai-sdk/ui-utils': 1.0.5(zod@3.23.8)
|
| 5847 |
swr: 2.2.5(react@18.3.1)
|
| 5848 |
throttleit: 2.1.0
|
| 5849 |
optionalDependencies:
|
| 5850 |
react: 18.3.1
|
| 5851 |
zod: 3.23.8
|
| 5852 |
|
| 5853 |
+
'@ai-sdk/ui-utils@1.0.5(zod@3.23.8)':
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5854 |
dependencies:
|
| 5855 |
+
'@ai-sdk/provider': 1.0.2
|
| 5856 |
+
'@ai-sdk/provider-utils': 2.0.4(zod@3.23.8)
|
|
|
|
|
|
|
| 5857 |
zod-to-json-schema: 3.23.5(zod@3.23.8)
|
| 5858 |
optionalDependencies:
|
| 5859 |
zod: 3.23.8
|
| 5860 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5861 |
'@ampproject/remapping@2.3.0':
|
| 5862 |
dependencies:
|
| 5863 |
'@jridgewell/gen-mapping': 0.3.5
|
|
|
|
| 7901 |
loupe: 3.1.2
|
| 7902 |
tinyrainbow: 1.2.0
|
| 7903 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7904 |
'@web3-storage/multipart-parser@1.0.0': {}
|
| 7905 |
|
| 7906 |
'@webcontainer/api@1.3.0-internal.10': {}
|
|
|
|
| 7931 |
dependencies:
|
| 7932 |
acorn: 8.14.0
|
| 7933 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7934 |
acorn-walk@8.3.4:
|
| 7935 |
dependencies:
|
| 7936 |
acorn: 8.14.0
|
|
|
|
| 7942 |
clean-stack: 2.2.0
|
| 7943 |
indent-string: 4.0.0
|
| 7944 |
|
| 7945 |
+
ai@4.0.18(react@18.3.1)(zod@3.23.8):
|
| 7946 |
dependencies:
|
| 7947 |
+
'@ai-sdk/provider': 1.0.2
|
| 7948 |
+
'@ai-sdk/provider-utils': 2.0.4(zod@3.23.8)
|
| 7949 |
+
'@ai-sdk/react': 1.0.6(react@18.3.1)(zod@3.23.8)
|
| 7950 |
+
'@ai-sdk/ui-utils': 1.0.5(zod@3.23.8)
|
|
|
|
|
|
|
|
|
|
| 7951 |
'@opentelemetry/api': 1.9.0
|
|
|
|
|
|
|
| 7952 |
jsondiffpatch: 0.6.0
|
|
|
|
| 7953 |
zod-to-json-schema: 3.23.5(zod@3.23.8)
|
| 7954 |
optionalDependencies:
|
| 7955 |
react: 18.3.1
|
|
|
|
|
|
|
| 7956 |
zod: 3.23.8
|
|
|
|
|
|
|
|
|
|
| 7957 |
|
| 7958 |
ajv@6.12.6:
|
| 7959 |
dependencies:
|
|
|
|
| 7985 |
dependencies:
|
| 7986 |
tslib: 2.8.1
|
| 7987 |
|
|
|
|
|
|
|
| 7988 |
array-flatten@1.1.1: {}
|
| 7989 |
|
| 7990 |
as-table@1.0.55:
|
|
|
|
| 8015 |
dependencies:
|
| 8016 |
possible-typed-array-names: 1.0.0
|
| 8017 |
|
|
|
|
|
|
|
| 8018 |
bail@2.0.2: {}
|
| 8019 |
|
| 8020 |
balanced-match@1.0.2: {}
|
|
|
|
| 8714 |
transitivePeerDependencies:
|
| 8715 |
- supports-color
|
| 8716 |
|
|
|
|
|
|
|
| 8717 |
espree@10.3.0:
|
| 8718 |
dependencies:
|
| 8719 |
acorn: 8.14.0
|
|
|
|
| 8730 |
dependencies:
|
| 8731 |
estraverse: 5.3.0
|
| 8732 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8733 |
esrecurse@4.3.0:
|
| 8734 |
dependencies:
|
| 8735 |
estraverse: 5.3.0
|
|
|
|
| 9456 |
mlly: 1.7.3
|
| 9457 |
pkg-types: 1.2.1
|
| 9458 |
|
|
|
|
|
|
|
| 9459 |
locate-path@6.0.0:
|
| 9460 |
dependencies:
|
| 9461 |
p-locate: 5.0.0
|
|
|
|
| 11266 |
dependencies:
|
| 11267 |
minipass: 7.1.2
|
| 11268 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11269 |
stackback@0.0.2: {}
|
| 11270 |
|
| 11271 |
stacktracey@2.1.8:
|
|
|
|
| 11356 |
|
| 11357 |
supports-preserve-symlinks-flag@1.0.0: {}
|
| 11358 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11359 |
swr@2.2.5(react@18.3.1):
|
| 11360 |
dependencies:
|
| 11361 |
client-only: 0.0.1
|
| 11362 |
react: 18.3.1
|
| 11363 |
use-sync-external-store: 1.2.2(react@18.3.1)
|
| 11364 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11365 |
sync-child-process@1.0.2:
|
| 11366 |
dependencies:
|
| 11367 |
sync-message-port: 1.1.3
|
|
|
|
| 11839 |
|
| 11840 |
vm-browserify@1.1.2: {}
|
| 11841 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11842 |
w3c-keyname@2.2.8: {}
|
| 11843 |
|
| 11844 |
wcwidth@1.0.1:
|
|
|
|
| 11951 |
mustache: 4.2.0
|
| 11952 |
stacktracey: 2.1.8
|
| 11953 |
|
|
|
|
|
|
|
| 11954 |
zod-to-json-schema@3.23.5(zod@3.23.8):
|
| 11955 |
dependencies:
|
| 11956 |
zod: 3.23.8
|