@v0-sdk/ai-tools 0.3.7 → 3.0.0-canary.bf3a020
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -249
- package/dist/index.cjs +1 -1031
- package/dist/index.d.cts +22 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +22 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +36 -50
- package/LICENSE +0 -13
- package/dist/index.d.ts +0 -2034
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -1021
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ToolSet } from "ai";
|
|
2
|
+
import { createV0Client } from "v0";
|
|
3
|
+
|
|
4
|
+
//#region src/generated/tools.d.ts
|
|
5
|
+
type V0ToolsConfig = Parameters<typeof createV0Client>[0] & {
|
|
6
|
+
apiKey?: string;
|
|
7
|
+
};
|
|
8
|
+
type V0GeneratedTool = NonNullable<ToolSet[string]>;
|
|
9
|
+
type V0ToolName = 'chatsCreate' | 'chatsCreateAsync' | 'chatsCreateFromFiles' | 'chatsCreateFromRepo' | 'chatsCreateFromZip' | 'chatsCreateStream' | 'chatsCreateVercelProject' | 'chatsDelete' | 'chatsDeploy' | 'chatsDownloadFiles' | 'chatsDuplicate' | 'chatsGet' | 'chatsGetFiles' | 'chatsGetPreview' | 'chatsList' | 'chatsRestoreMessage' | 'chatsResume' | 'chatsUpdate' | 'chatsUpdateFiles' | 'mcpServersCreate' | 'mcpServersDelete' | 'mcpServersGet' | 'mcpServersList' | 'mcpServersUpdate' | 'messagesGet' | 'messagesList' | 'messagesResolve' | 'messagesResolveAsync' | 'messagesResolveStream' | 'messagesSend' | 'messagesSendAsync' | 'messagesSendStream' | 'messagesStop' | 'webhooksCreate' | 'webhooksDelete' | 'webhooksGet' | 'webhooksList' | 'webhooksUpdate';
|
|
10
|
+
type V0ToolsFlat = Record<V0ToolName, V0GeneratedTool>;
|
|
11
|
+
type V0ToolsByCategory = {
|
|
12
|
+
chats: Pick<V0ToolsFlat, 'chatsCreate' | 'chatsCreateAsync' | 'chatsCreateFromFiles' | 'chatsCreateFromRepo' | 'chatsCreateFromZip' | 'chatsCreateStream' | 'chatsCreateVercelProject' | 'chatsDelete' | 'chatsDeploy' | 'chatsDownloadFiles' | 'chatsDuplicate' | 'chatsGet' | 'chatsGetFiles' | 'chatsGetPreview' | 'chatsList' | 'chatsRestoreMessage' | 'chatsResume' | 'chatsUpdate' | 'chatsUpdateFiles'>;
|
|
13
|
+
mcpServers: Pick<V0ToolsFlat, 'mcpServersCreate' | 'mcpServersDelete' | 'mcpServersGet' | 'mcpServersList' | 'mcpServersUpdate'>;
|
|
14
|
+
messages: Pick<V0ToolsFlat, 'messagesGet' | 'messagesList' | 'messagesResolve' | 'messagesResolveAsync' | 'messagesResolveStream' | 'messagesSend' | 'messagesSendAsync' | 'messagesSendStream' | 'messagesStop'>;
|
|
15
|
+
webhooks: Pick<V0ToolsFlat, 'webhooksCreate' | 'webhooksDelete' | 'webhooksGet' | 'webhooksList' | 'webhooksUpdate'>;
|
|
16
|
+
};
|
|
17
|
+
type V0ToolCategory = keyof V0ToolsByCategory;
|
|
18
|
+
declare function v0Tools(config?: V0ToolsConfig): V0ToolsFlat;
|
|
19
|
+
declare function v0ToolsByCategory(config?: V0ToolsConfig): V0ToolsByCategory;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { type V0ToolCategory, type V0ToolsByCategory, type V0ToolsConfig, type V0ToolsFlat, v0Tools, v0ToolsByCategory };
|
|
22
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/generated/tools.ts"],"mappings":";;;;KAQY,aAAA,GAAgB,UAAA,QAAkB,cAAA;EAC5C,MAAA;AAAA;AAAA,KAGG,eAAA,GAAkB,WAAA,CAAY,OAAA;AAAA,KAEvB,UAAA;AAAA,KAwCA,WAAA,GAAc,MAAA,CAAO,UAAA,EAAY,eAAA;AAAA,KAEjC,iBAAA;EACV,KAAA,EAAO,IAAA,CACL,WAAA;EAqBF,UAAA,EAAY,IAAA,CACV,WAAA;EAOF,QAAA,EAAU,IAAA,CACR,WAAA;EAWF,QAAA,EAAU,IAAA,CACR,WAAA;AAAA;AAAA,KAKQ,cAAA,SAAuB,iBAAA;AAAA,iBAykCnB,OAAA,CAAQ,MAAA,GAAQ,aAAA,GAAqB,WAAA;AAAA,iBAmfrC,iBAAA,CAAkB,MAAA,GAAQ,aAAA,GAAqB,iBAAA"}
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ToolSet } from "ai";
|
|
2
|
+
import { createV0Client } from "v0";
|
|
3
|
+
|
|
4
|
+
//#region src/generated/tools.d.ts
|
|
5
|
+
type V0ToolsConfig = Parameters<typeof createV0Client>[0] & {
|
|
6
|
+
apiKey?: string;
|
|
7
|
+
};
|
|
8
|
+
type V0GeneratedTool = NonNullable<ToolSet[string]>;
|
|
9
|
+
type V0ToolName = 'chatsCreate' | 'chatsCreateAsync' | 'chatsCreateFromFiles' | 'chatsCreateFromRepo' | 'chatsCreateFromZip' | 'chatsCreateStream' | 'chatsCreateVercelProject' | 'chatsDelete' | 'chatsDeploy' | 'chatsDownloadFiles' | 'chatsDuplicate' | 'chatsGet' | 'chatsGetFiles' | 'chatsGetPreview' | 'chatsList' | 'chatsRestoreMessage' | 'chatsResume' | 'chatsUpdate' | 'chatsUpdateFiles' | 'mcpServersCreate' | 'mcpServersDelete' | 'mcpServersGet' | 'mcpServersList' | 'mcpServersUpdate' | 'messagesGet' | 'messagesList' | 'messagesResolve' | 'messagesResolveAsync' | 'messagesResolveStream' | 'messagesSend' | 'messagesSendAsync' | 'messagesSendStream' | 'messagesStop' | 'webhooksCreate' | 'webhooksDelete' | 'webhooksGet' | 'webhooksList' | 'webhooksUpdate';
|
|
10
|
+
type V0ToolsFlat = Record<V0ToolName, V0GeneratedTool>;
|
|
11
|
+
type V0ToolsByCategory = {
|
|
12
|
+
chats: Pick<V0ToolsFlat, 'chatsCreate' | 'chatsCreateAsync' | 'chatsCreateFromFiles' | 'chatsCreateFromRepo' | 'chatsCreateFromZip' | 'chatsCreateStream' | 'chatsCreateVercelProject' | 'chatsDelete' | 'chatsDeploy' | 'chatsDownloadFiles' | 'chatsDuplicate' | 'chatsGet' | 'chatsGetFiles' | 'chatsGetPreview' | 'chatsList' | 'chatsRestoreMessage' | 'chatsResume' | 'chatsUpdate' | 'chatsUpdateFiles'>;
|
|
13
|
+
mcpServers: Pick<V0ToolsFlat, 'mcpServersCreate' | 'mcpServersDelete' | 'mcpServersGet' | 'mcpServersList' | 'mcpServersUpdate'>;
|
|
14
|
+
messages: Pick<V0ToolsFlat, 'messagesGet' | 'messagesList' | 'messagesResolve' | 'messagesResolveAsync' | 'messagesResolveStream' | 'messagesSend' | 'messagesSendAsync' | 'messagesSendStream' | 'messagesStop'>;
|
|
15
|
+
webhooks: Pick<V0ToolsFlat, 'webhooksCreate' | 'webhooksDelete' | 'webhooksGet' | 'webhooksList' | 'webhooksUpdate'>;
|
|
16
|
+
};
|
|
17
|
+
type V0ToolCategory = keyof V0ToolsByCategory;
|
|
18
|
+
declare function v0Tools(config?: V0ToolsConfig): V0ToolsFlat;
|
|
19
|
+
declare function v0ToolsByCategory(config?: V0ToolsConfig): V0ToolsByCategory;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { type V0ToolCategory, type V0ToolsByCategory, type V0ToolsConfig, type V0ToolsFlat, v0Tools, v0ToolsByCategory };
|
|
22
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/generated/tools.ts"],"mappings":";;;;KAQY,aAAA,GAAgB,UAAA,QAAkB,cAAA;EAC5C,MAAA;AAAA;AAAA,KAGG,eAAA,GAAkB,WAAA,CAAY,OAAA;AAAA,KAEvB,UAAA;AAAA,KAwCA,WAAA,GAAc,MAAA,CAAO,UAAA,EAAY,eAAA;AAAA,KAEjC,iBAAA;EACV,KAAA,EAAO,IAAA,CACL,WAAA;EAqBF,UAAA,EAAY,IAAA,CACV,WAAA;EAOF,QAAA,EAAU,IAAA,CACR,WAAA;EAWF,QAAA,EAAU,IAAA,CACR,WAAA;AAAA;AAAA,KAKQ,cAAA,SAAuB,iBAAA;AAAA,iBAykCnB,OAAA,CAAQ,MAAA,GAAQ,aAAA,GAAqB,WAAA;AAAA,iBAmfrC,iBAAA,CAAkB,MAAA,GAAQ,aAAA,GAAqB,iBAAA"}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{tool as e}from"ai";import{createV0Client as t}from"v0";import{z as n}from"zod";const r=n.object({message:n.string().describe(`The prompt or instruction to send to the model.`),systemPrompt:n.string().describe(`System-level context for the chat, such as frameworks or development environment details.`).optional(),modelConfiguration:n.object({modelId:n.enum([`v0-auto`,`v0-mini`,`v0-pro`,`v0-max`,`v0-max-fast`]).describe("Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`."),imageGenerations:n.boolean().describe(`Enables image generations to generate up to 5 images per version.`)}).describe(`Overrides for the model behavior.`).optional(),attachments:n.array(n.object({url:n.string().describe(`URL of the attachment.`)})).describe(`Files or assets to include with the message.`).optional(),mcpServerIds:n.array(n.string()).describe(`MCP server IDs to enable. When omitted, uses default enabled servers.`).optional(),skills:n.array(n.union([n.object({type:n.enum([`remote`]).describe(`Discriminator: a skills.sh skill.`),id:n.string().describe(`Skill ID from skills.sh.`)}),n.object({type:n.enum([`memory`]).describe(`Discriminator: a user- or team-scoped memory skill.`),scope:n.enum([`user`,`team`]).describe(`Whether the skill lives in user or team memory.`),skillName:n.string().describe(`Name of the memory skill to attach.`)}),n.object({type:n.enum([`project`]).describe(`Discriminator: a skill defined in the project repo.`),skillName:n.string().describe(`Name of the project skill to attach.`)})])).describe("Skills to force-attach to the chat. Supports skills.sh (`remote`), user/team memory (`memory`), and project (`project`) skills. Maximum 3.").optional(),privacy:n.enum([`public`,`private`,`team`,`team-edit`,`unlisted`]).describe(`Visibility setting for the new chat.`).optional(),title:n.string().describe(`Title for the new chat.`).optional(),metadata:n.record(n.string(),n.string()).describe(`Arbitrary key-value data to attach to the chat.`).optional()}),i=n.object({message:n.string().describe(`The prompt or instruction to send to the model.`),systemPrompt:n.string().describe(`System-level context for the chat, such as frameworks or development environment details.`).optional(),modelConfiguration:n.object({modelId:n.enum([`v0-auto`,`v0-mini`,`v0-pro`,`v0-max`,`v0-max-fast`]).describe("Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`."),imageGenerations:n.boolean().describe(`Enables image generations to generate up to 5 images per version.`)}).describe(`Overrides for the model behavior.`).optional(),attachments:n.array(n.object({url:n.string().describe(`URL of the attachment.`)})).describe(`Files or assets to include with the message.`).optional(),mcpServerIds:n.array(n.string()).describe(`MCP server IDs to enable. When omitted, uses default enabled servers.`).optional(),skills:n.array(n.union([n.object({type:n.enum([`remote`]).describe(`Discriminator: a skills.sh skill.`),id:n.string().describe(`Skill ID from skills.sh.`)}),n.object({type:n.enum([`memory`]).describe(`Discriminator: a user- or team-scoped memory skill.`),scope:n.enum([`user`,`team`]).describe(`Whether the skill lives in user or team memory.`),skillName:n.string().describe(`Name of the memory skill to attach.`)}),n.object({type:n.enum([`project`]).describe(`Discriminator: a skill defined in the project repo.`),skillName:n.string().describe(`Name of the project skill to attach.`)})])).describe("Skills to force-attach to the chat. Supports skills.sh (`remote`), user/team memory (`memory`), and project (`project`) skills. Maximum 3.").optional(),privacy:n.enum([`public`,`private`,`team`,`team-edit`,`unlisted`]).describe(`Visibility setting for the new chat.`).optional(),title:n.string().describe(`Title for the new chat.`).optional(),metadata:n.record(n.string(),n.string()).describe(`Arbitrary key-value data to attach to the chat.`).optional()}),a=n.object({files:n.array(n.object({name:n.string().describe(`Path of the file in the project.`),content:n.string().describe(`UTF-8 text content of the file.`)})).describe(`Source files used to seed the new chat.`),privacy:n.enum([`public`,`private`,`team`,`team-edit`,`unlisted`]).describe(`Visibility setting for the new chat.`).optional(),title:n.string().describe(`Title for the new chat.`).optional(),metadata:n.record(n.string(),n.string()).describe(`Arbitrary key-value data to attach to the chat.`).optional()}),o=n.object({repo:n.object({url:n.string().describe(`GitHub repository URL, for example https://github.com/vercel/next.js.`),branch:n.string().describe(`Branch to import. If omitted, v0 uses the repository default branch.`).optional()}).describe(`Repository source for initialization. Supports public GitHub repositories and private repositories connected through Vercel.`),privacy:n.enum([`public`,`private`,`team`,`team-edit`,`unlisted`]).describe(`Visibility setting for the new chat.`).optional(),title:n.string().describe(`Title for the new chat.`).optional(),metadata:n.record(n.string(),n.string()).describe(`Arbitrary key-value data to attach to the chat.`).optional()}),s=n.object({url:n.string().url().describe(`Zip archive used to seed the new chat.`),privacy:n.enum([`public`,`private`,`team`,`team-edit`,`unlisted`]).describe(`Visibility setting for the new chat.`).optional(),title:n.string().describe(`Title for the new chat.`).optional(),metadata:n.record(n.string(),n.string()).describe(`Arbitrary key-value data to attach to the chat.`).optional()}),c=n.object({message:n.string().describe(`The prompt or instruction to send to the model.`),systemPrompt:n.string().describe(`System-level context for the chat, such as frameworks or development environment details.`).optional(),modelConfiguration:n.object({modelId:n.enum([`v0-auto`,`v0-mini`,`v0-pro`,`v0-max`,`v0-max-fast`]).describe("Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`."),imageGenerations:n.boolean().describe(`Enables image generations to generate up to 5 images per version.`)}).describe(`Overrides for the model behavior.`).optional(),attachments:n.array(n.object({url:n.string().describe(`URL of the attachment.`)})).describe(`Files or assets to include with the message.`).optional(),mcpServerIds:n.array(n.string()).describe(`MCP server IDs to enable. When omitted, uses default enabled servers.`).optional(),skills:n.array(n.union([n.object({type:n.enum([`remote`]).describe(`Discriminator: a skills.sh skill.`),id:n.string().describe(`Skill ID from skills.sh.`)}),n.object({type:n.enum([`memory`]).describe(`Discriminator: a user- or team-scoped memory skill.`),scope:n.enum([`user`,`team`]).describe(`Whether the skill lives in user or team memory.`),skillName:n.string().describe(`Name of the memory skill to attach.`)}),n.object({type:n.enum([`project`]).describe(`Discriminator: a skill defined in the project repo.`),skillName:n.string().describe(`Name of the project skill to attach.`)})])).describe("Skills to force-attach to the chat. Supports skills.sh (`remote`), user/team memory (`memory`), and project (`project`) skills. Maximum 3.").optional(),privacy:n.enum([`public`,`private`,`team`,`team-edit`,`unlisted`]).describe(`Visibility setting for the new chat.`).optional(),title:n.string().describe(`Title for the new chat.`).optional(),metadata:n.record(n.string(),n.string()).describe(`Arbitrary key-value data to attach to the chat.`).optional()}),l=n.object({chatId:n.string(),name:n.string().describe(`Name for the Vercel project. When omitted, the chat's title is used.`).optional()}),u=n.object({chatId:n.string()}),d=n.object({chatId:n.string()}),f=n.object({chatId:n.string()}),p=n.object({chatId:n.string(),privacy:n.enum([`public`,`private`,`team`,`team-edit`,`unlisted`]).describe(`Visibility setting for the duplicated chat.`),title:n.string().describe(`Custom title for the duplicated chat. If omitted, the original title is reused with an incremented suffix (e.g. "My Chat (2)").`).optional()}),m=n.object({chatId:n.string()}),h=n.object({chatId:n.string()}),g=n.object({chatId:n.string()}),_=n.object({limit:n.number().int().describe(`Maximum number of chats to return (1-100, default 20).`).optional(),cursor:n.string().describe(`Pagination cursor returned from a previous response.`).optional(),authorId:n.string().describe(`Restrict results to chats created by this user. Must be a member of the calling scope.`).optional(),vercelProjectId:n.string().describe(`Restrict results to chats associated with this Vercel project.`).optional(),metadata:n.record(n.string(),n.string()).describe(`Filter by metadata, e.g. metadata[environment]=production. Returns chats matching all supplied key-value pairs.`).optional()}),v=n.object({chatId:n.string(),messageId:n.string().describe(`The unique identifier of the message whose files to restore.`)}),y=n.object({chatId:n.string()}),b=n.object({chatId:n.string(),title:n.string().describe(`A new title to assign to the chat.`).optional(),privacy:n.enum([`public`,`private`,`team`,`team-edit`,`unlisted`]).describe(`Updated visibility setting for the chat.`).optional(),metadata:n.union([n.record(n.string(),n.union([n.string(),n.null()])),n.null()]).describe("User-defined key-value metadata. Merged with existing entries. Pass `null` for a value to delete that key, or pass `null` for the whole field to delete all entries. Maximum 50 active entries.").optional()}),x=n.object({chatId:n.string(),files:n.array(n.object({path:n.string().describe(`Project-relative file path, e.g. "app/page.tsx".`),content:n.union([n.string(),n.null()]).describe("New file content. Pass `null` to delete the file at this path.")})).describe(`The files to create, update, or delete. Each path must be unique.`)}),S=n.object({name:n.string().describe(`Display name for the MCP server.`),url:n.string().url().describe(`URL endpoint of the MCP server.`),description:n.string().describe(`Optional description of the MCP server.`).optional(),enabled:n.boolean().describe(`Whether the server should be enabled.`),auth:n.union([n.object({type:n.enum([`none`])}),n.object({type:n.enum([`bearer`]),token:n.string().describe(`Bearer token for authentication.`)}),n.object({type:n.enum([`custom-headers`]),headers:n.record(n.string(),n.string()).describe(`Custom headers to include in requests.`)}),n.object({type:n.enum([`oauth`]),config:n.object({authorizationUrl:n.string().url(),tokenUrl:n.string().url(),registrationUrl:n.string().url().optional(),clientId:n.string(),clientSecret:n.string().optional(),scopes:n.array(n.string()),usePKCE:n.boolean(),issuer:n.string().optional(),resource:n.string().optional(),clientIdMetadataDocumentSupported:n.boolean().optional()}).describe(`OAuth configuration discovered or manually set.`).optional(),connected:n.boolean().describe(`Whether OAuth is currently connected.`),expiresAt:n.string().describe(`ISO timestamp when the token expires.`).optional()})]).describe(`Authentication configuration.`),scope:n.enum([`user`,`team`]).describe(`Scope of the MCP server configuration.`)}),C=n.object({mcpServerId:n.string()}),w=n.object({mcpServerId:n.string()}),T=n.object({}),E=n.object({mcpServerId:n.string(),name:n.string().describe(`New display name.`).optional(),url:n.string().url().describe(`New URL endpoint.`).optional(),description:n.string().describe(`New description.`).optional(),enabled:n.boolean().describe(`Enable or disable.`).optional(),auth:n.union([n.object({type:n.enum([`none`])}),n.object({type:n.enum([`bearer`]),token:n.string().describe(`Bearer token for authentication.`)}),n.object({type:n.enum([`custom-headers`]),headers:n.record(n.string(),n.string()).describe(`Custom headers to include in requests.`)}),n.object({type:n.enum([`oauth`]),config:n.object({authorizationUrl:n.string().url(),tokenUrl:n.string().url(),registrationUrl:n.string().url().optional(),clientId:n.string(),clientSecret:n.string().optional(),scopes:n.array(n.string()),usePKCE:n.boolean(),issuer:n.string().optional(),resource:n.string().optional(),clientIdMetadataDocumentSupported:n.boolean().optional()}).describe(`OAuth configuration discovered or manually set.`).optional(),connected:n.boolean().describe(`Whether OAuth is currently connected.`),expiresAt:n.string().describe(`ISO timestamp when the token expires.`).optional()})]).describe(`New authentication configuration.`).optional(),scope:n.enum([`user`,`team`]).describe(`New scope.`).optional()}),D=n.object({chatId:n.string(),messageId:n.string()}),O=n.object({chatId:n.string(),limit:n.number().int(),cursor:n.string().optional()}),k=n.object({chatId:n.string(),task:n.union([n.object({type:n.enum([`confirmed-steps`]),connectedIntegrationNames:n.array(n.string()).describe(`Names of integrations that were successfully connected (e.g. "Neon", "Supabase"). Pass an empty array to skip.`),connectedMcpPresetNames:n.array(n.enum([`Linear`,`Notion`,`Context7`,`Sentry`,`Zapier`,`Glean`,`Hex`,`Sanity`,`Granola`,`PostHog`,`Contentful`,`Slack`])).describe(`Names of MCP presets that were connected (e.g. "Linear", "Sentry"). Pass an empty array to skip.`),appliedScripts:n.array(n.string()).describe(`Names of scripts that were applied.`),addedEnvVars:n.array(n.string()).describe(`Names of environment variables that were added.`)}),n.object({type:n.enum([`plan-exit-response`]),status:n.enum([`approved`,`rejected`,`request-changes`]).describe(`Whether the plan is approved, rejected, or needs changes.`),content:n.string().describe(`Feedback or instructions for the agent.`)}),n.object({type:n.enum([`answered-questions`]),answers:n.array(n.object({questionId:n.string().describe(`The ID of the question being answered.`),questionText:n.string().describe(`The text of the question being answered.`),selectedLabels:n.array(n.string()).describe(`The labels of the selected options. For single-select questions, pass one item.`),customText:n.string().describe(`Free-form text input, used when the user selects "Other" or wants to add context.`).optional()})).describe(`Answers to the questions the agent asked.`)}),n.object({type:n.enum([`confirmed-permissions`]),permissions:n.array(n.object({type:n.enum([`ALLOW_DYNAMIC_TOOL_STRICT`]),toolName:n.string().describe(`The name of the tool being permitted.`),input:n.unknown().describe(`The tool call input arguments. Pass the exact input from the stopped task.`),taskNameActive:n.union([n.string(),n.null()]).describe(`Label shown while the tool is running (e.g. "Running migration").`).optional(),taskNameComplete:n.union([n.string(),n.null()]).describe(`Label shown after the tool completes (e.g. "Migration complete").`).optional(),userMessage:n.string().describe(`Optional message from the user about this permission.`).optional()})).describe(`The permissions to grant. Pass the suggestedPermissions from the stopped task.`),userMessage:n.string().describe(`Optional message from the user about the permission grant.`).optional()})]).describe(`The task resolution data. The latest message in the active chat fork must be an assistant message blocked on the matching task type.`),modelConfiguration:n.object({modelId:n.enum([`v0-auto`,`v0-mini`,`v0-pro`,`v0-max`,`v0-max-fast`]).describe("Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`."),imageGenerations:n.boolean().describe(`Enables image generations to generate up to 5 images per version.`)}).describe(`Overrides for the model behavior.`).optional()}),A=n.object({chatId:n.string(),task:n.union([n.object({type:n.enum([`confirmed-steps`]),connectedIntegrationNames:n.array(n.string()).describe(`Names of integrations that were successfully connected (e.g. "Neon", "Supabase"). Pass an empty array to skip.`),connectedMcpPresetNames:n.array(n.enum([`Linear`,`Notion`,`Context7`,`Sentry`,`Zapier`,`Glean`,`Hex`,`Sanity`,`Granola`,`PostHog`,`Contentful`,`Slack`])).describe(`Names of MCP presets that were connected (e.g. "Linear", "Sentry"). Pass an empty array to skip.`),appliedScripts:n.array(n.string()).describe(`Names of scripts that were applied.`),addedEnvVars:n.array(n.string()).describe(`Names of environment variables that were added.`)}),n.object({type:n.enum([`plan-exit-response`]),status:n.enum([`approved`,`rejected`,`request-changes`]).describe(`Whether the plan is approved, rejected, or needs changes.`),content:n.string().describe(`Feedback or instructions for the agent.`)}),n.object({type:n.enum([`answered-questions`]),answers:n.array(n.object({questionId:n.string().describe(`The ID of the question being answered.`),questionText:n.string().describe(`The text of the question being answered.`),selectedLabels:n.array(n.string()).describe(`The labels of the selected options. For single-select questions, pass one item.`),customText:n.string().describe(`Free-form text input, used when the user selects "Other" or wants to add context.`).optional()})).describe(`Answers to the questions the agent asked.`)}),n.object({type:n.enum([`confirmed-permissions`]),permissions:n.array(n.object({type:n.enum([`ALLOW_DYNAMIC_TOOL_STRICT`]),toolName:n.string().describe(`The name of the tool being permitted.`),input:n.unknown().describe(`The tool call input arguments. Pass the exact input from the stopped task.`),taskNameActive:n.union([n.string(),n.null()]).describe(`Label shown while the tool is running (e.g. "Running migration").`).optional(),taskNameComplete:n.union([n.string(),n.null()]).describe(`Label shown after the tool completes (e.g. "Migration complete").`).optional(),userMessage:n.string().describe(`Optional message from the user about this permission.`).optional()})).describe(`The permissions to grant. Pass the suggestedPermissions from the stopped task.`),userMessage:n.string().describe(`Optional message from the user about the permission grant.`).optional()})]).describe(`The task resolution data. The latest message in the active chat fork must be an assistant message blocked on the matching task type.`),modelConfiguration:n.object({modelId:n.enum([`v0-auto`,`v0-mini`,`v0-pro`,`v0-max`,`v0-max-fast`]).describe("Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`."),imageGenerations:n.boolean().describe(`Enables image generations to generate up to 5 images per version.`)}).describe(`Overrides for the model behavior.`).optional()}),j=n.object({chatId:n.string(),task:n.union([n.object({type:n.enum([`confirmed-steps`]),connectedIntegrationNames:n.array(n.string()).describe(`Names of integrations that were successfully connected (e.g. "Neon", "Supabase"). Pass an empty array to skip.`),connectedMcpPresetNames:n.array(n.enum([`Linear`,`Notion`,`Context7`,`Sentry`,`Zapier`,`Glean`,`Hex`,`Sanity`,`Granola`,`PostHog`,`Contentful`,`Slack`])).describe(`Names of MCP presets that were connected (e.g. "Linear", "Sentry"). Pass an empty array to skip.`),appliedScripts:n.array(n.string()).describe(`Names of scripts that were applied.`),addedEnvVars:n.array(n.string()).describe(`Names of environment variables that were added.`)}),n.object({type:n.enum([`plan-exit-response`]),status:n.enum([`approved`,`rejected`,`request-changes`]).describe(`Whether the plan is approved, rejected, or needs changes.`),content:n.string().describe(`Feedback or instructions for the agent.`)}),n.object({type:n.enum([`answered-questions`]),answers:n.array(n.object({questionId:n.string().describe(`The ID of the question being answered.`),questionText:n.string().describe(`The text of the question being answered.`),selectedLabels:n.array(n.string()).describe(`The labels of the selected options. For single-select questions, pass one item.`),customText:n.string().describe(`Free-form text input, used when the user selects "Other" or wants to add context.`).optional()})).describe(`Answers to the questions the agent asked.`)}),n.object({type:n.enum([`confirmed-permissions`]),permissions:n.array(n.object({type:n.enum([`ALLOW_DYNAMIC_TOOL_STRICT`]),toolName:n.string().describe(`The name of the tool being permitted.`),input:n.unknown().describe(`The tool call input arguments. Pass the exact input from the stopped task.`),taskNameActive:n.union([n.string(),n.null()]).describe(`Label shown while the tool is running (e.g. "Running migration").`).optional(),taskNameComplete:n.union([n.string(),n.null()]).describe(`Label shown after the tool completes (e.g. "Migration complete").`).optional(),userMessage:n.string().describe(`Optional message from the user about this permission.`).optional()})).describe(`The permissions to grant. Pass the suggestedPermissions from the stopped task.`),userMessage:n.string().describe(`Optional message from the user about the permission grant.`).optional()})]).describe(`The task resolution data. The latest message in the active chat fork must be an assistant message blocked on the matching task type.`),modelConfiguration:n.object({modelId:n.enum([`v0-auto`,`v0-mini`,`v0-pro`,`v0-max`,`v0-max-fast`]).describe("Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`."),imageGenerations:n.boolean().describe(`Enables image generations to generate up to 5 images per version.`)}).describe(`Overrides for the model behavior.`).optional()}),M=n.object({chatId:n.string(),message:n.string().describe(`The prompt or instruction to send to the model.`),systemPrompt:n.string().describe(`System-level context for the chat, such as frameworks or development environment details.`).optional(),modelConfiguration:n.object({modelId:n.enum([`v0-auto`,`v0-mini`,`v0-pro`,`v0-max`,`v0-max-fast`]).describe("Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`."),imageGenerations:n.boolean().describe(`Enables image generations to generate up to 5 images per version.`)}).describe(`Overrides for the model behavior.`).optional(),mcpServerIds:n.array(n.string()).describe(`MCP server IDs to enable. When omitted, uses default enabled servers.`).optional(),attachments:n.array(n.object({url:n.string().describe(`URL of the attachment.`)})).describe(`Files or assets to include with the message.`).optional(),skills:n.array(n.union([n.object({type:n.enum([`remote`]).describe(`Discriminator: a skills.sh skill.`),id:n.string().describe(`Skill ID from skills.sh.`)}),n.object({type:n.enum([`memory`]).describe(`Discriminator: a user- or team-scoped memory skill.`),scope:n.enum([`user`,`team`]).describe(`Whether the skill lives in user or team memory.`),skillName:n.string().describe(`Name of the memory skill to attach.`)}),n.object({type:n.enum([`project`]).describe(`Discriminator: a skill defined in the project repo.`),skillName:n.string().describe(`Name of the project skill to attach.`)})])).describe("Skills to force-attach to the message. Supports skills.sh (`remote`), user/team memory (`memory`), and project (`project`) skills. Maximum 3.").optional(),action:n.object({type:n.enum([`fix-with-v0`])}).describe("An optional action. Use `fix-with-v0` to trigger automatic error fixing — the message should contain the error context.").optional()}),N=n.object({chatId:n.string(),message:n.string().describe(`The prompt or instruction to send to the model.`),systemPrompt:n.string().describe(`System-level context for the chat, such as frameworks or development environment details.`).optional(),modelConfiguration:n.object({modelId:n.enum([`v0-auto`,`v0-mini`,`v0-pro`,`v0-max`,`v0-max-fast`]).describe("Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`."),imageGenerations:n.boolean().describe(`Enables image generations to generate up to 5 images per version.`)}).describe(`Overrides for the model behavior.`).optional(),mcpServerIds:n.array(n.string()).describe(`MCP server IDs to enable. When omitted, uses default enabled servers.`).optional(),attachments:n.array(n.object({url:n.string().describe(`URL of the attachment.`)})).describe(`Files or assets to include with the message.`).optional(),skills:n.array(n.union([n.object({type:n.enum([`remote`]).describe(`Discriminator: a skills.sh skill.`),id:n.string().describe(`Skill ID from skills.sh.`)}),n.object({type:n.enum([`memory`]).describe(`Discriminator: a user- or team-scoped memory skill.`),scope:n.enum([`user`,`team`]).describe(`Whether the skill lives in user or team memory.`),skillName:n.string().describe(`Name of the memory skill to attach.`)}),n.object({type:n.enum([`project`]).describe(`Discriminator: a skill defined in the project repo.`),skillName:n.string().describe(`Name of the project skill to attach.`)})])).describe("Skills to force-attach to the message. Supports skills.sh (`remote`), user/team memory (`memory`), and project (`project`) skills. Maximum 3.").optional(),action:n.object({type:n.enum([`fix-with-v0`])}).describe("An optional action. Use `fix-with-v0` to trigger automatic error fixing — the message should contain the error context.").optional()}),P=n.object({chatId:n.string(),message:n.string().describe(`The prompt or instruction to send to the model.`),systemPrompt:n.string().describe(`System-level context for the chat, such as frameworks or development environment details.`).optional(),modelConfiguration:n.object({modelId:n.enum([`v0-auto`,`v0-mini`,`v0-pro`,`v0-max`,`v0-max-fast`]).describe("Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`."),imageGenerations:n.boolean().describe(`Enables image generations to generate up to 5 images per version.`)}).describe(`Overrides for the model behavior.`).optional(),mcpServerIds:n.array(n.string()).describe(`MCP server IDs to enable. When omitted, uses default enabled servers.`).optional(),attachments:n.array(n.object({url:n.string().describe(`URL of the attachment.`)})).describe(`Files or assets to include with the message.`).optional(),skills:n.array(n.union([n.object({type:n.enum([`remote`]).describe(`Discriminator: a skills.sh skill.`),id:n.string().describe(`Skill ID from skills.sh.`)}),n.object({type:n.enum([`memory`]).describe(`Discriminator: a user- or team-scoped memory skill.`),scope:n.enum([`user`,`team`]).describe(`Whether the skill lives in user or team memory.`),skillName:n.string().describe(`Name of the memory skill to attach.`)}),n.object({type:n.enum([`project`]).describe(`Discriminator: a skill defined in the project repo.`),skillName:n.string().describe(`Name of the project skill to attach.`)})])).describe("Skills to force-attach to the message. Supports skills.sh (`remote`), user/team memory (`memory`), and project (`project`) skills. Maximum 3.").optional(),action:n.object({type:n.enum([`fix-with-v0`])}).describe("An optional action. Use `fix-with-v0` to trigger automatic error fixing — the message should contain the error context.").optional()}),F=n.object({chatId:n.string(),messageId:n.string()}),I=n.object({name:n.string().describe(`A human-readable name for the webhook.`),events:n.array(n.enum([`chat.created`,`chat.updated`,`chat.deleted`,`message.created`,`message.updated`,`message.deleted`,`message.finished`])).describe(`List of event types the webhook should subscribe to.`),url:n.string().url().describe(`The target URL to receive the webhook payloads.`),chatId:n.union([n.string(),n.null()]).describe(`The ID of a chat to scope the webhook to.`)}),L=n.object({hookId:n.string()}),R=n.object({hookId:n.string()}),z=n.object({}),B=n.object({hookId:n.string(),name:n.string().describe(`A new display name for the webhook.`).optional(),events:n.array(n.enum([`chat.created`,`chat.updated`,`chat.deleted`,`message.created`,`message.updated`,`message.deleted`,`message.finished`])).describe(`Updated list of event types to subscribe to.`).optional(),url:n.string().url().describe(`A new target URL to receive webhook payloads.`).optional()});function V(n={}){let V=t(U(n));return{chatsCreate:e({description:`Create Chat: Creates a new chat from a prompt. The request blocks until the model response is complete and returns the chat.`,inputSchema:r,execute:async e=>{let t={message:e.message,systemPrompt:e.systemPrompt,modelConfiguration:e.modelConfiguration,attachments:e.attachments,mcpServerIds:e.mcpServerIds,skills:e.skills,privacy:e.privacy,title:e.title,metadata:e.metadata};return G(await V.chats.create(t))}}),chatsCreateAsync:e({description:`Create Chat (Async): Creates a new chat with a user message and processes it in the background. Returns immediately with the chat ID and a "queued" status. Poll the apiUrl to check for completion.`,inputSchema:i,execute:async e=>{let t={message:e.message,systemPrompt:e.systemPrompt,modelConfiguration:e.modelConfiguration,attachments:e.attachments,mcpServerIds:e.mcpServerIds,skills:e.skills,privacy:e.privacy,title:e.title,metadata:e.metadata};return G(await V.chats.createAsync(t))}}),chatsCreateFromFiles:e({description:`Create Chat From Files: Creates a new chat from inline source files.`,inputSchema:a,execute:async e=>{let t={files:e.files,privacy:e.privacy,title:e.title,metadata:e.metadata};return G(await V.chats.createFromFiles(t))}}),chatsCreateFromRepo:e({description:`Create Chat From Repository: Creates a new chat from a GitHub repository.`,inputSchema:o,execute:async e=>{let t={repo:e.repo,privacy:e.privacy,title:e.title,metadata:e.metadata};return G(await V.chats.createFromRepo(t))}}),chatsCreateFromZip:e({description:`Create Chat From ZIP: Creates a new chat from a zip archive.`,inputSchema:s,execute:async e=>{let t={url:e.url,privacy:e.privacy,title:e.title,metadata:e.metadata};return G(await V.chats.createFromZip(t))}}),chatsCreateStream:e({description:"Create Chat (Streaming): Creates a new chat with a user message and returns a Server-Sent Events stream. Events include initial chat state, title deltas, content chunk deltas, and final chat state. The response is `text/event-stream`; each event is `data: <JSON>\\n\\n` where the JSON conforms to ChatStreamEvent.",inputSchema:c,execute:async function*(e){let t={message:e.message,systemPrompt:e.systemPrompt,modelConfiguration:e.modelConfiguration,attachments:e.attachments,mcpServerIds:e.mcpServerIds,skills:e.skills,privacy:e.privacy,title:e.title,metadata:e.metadata};yield*(await V.chats.createStream(t)).stream}}),chatsCreateVercelProject:e({description:`Create Vercel Project: Creates a Vercel project and attaches it to the chat.`,inputSchema:l,execute:async e=>{let t={chatId:e.chatId,name:e.name};return G(await V.chats.createVercelProject(t))}}),chatsDelete:e({description:`Delete Chat: Deletes a chat and all its associated messages and blocks. The requester must have edit access to the chat.`,inputSchema:u,execute:async e=>{let t={chatId:e.chatId};return G(await V.chats.delete(t))}}),chatsDeploy:e({description:`Deploy Chat: Triggers a Vercel deployment for a chat. Creates a Vercel project if one does not exist.`,inputSchema:d,execute:async e=>{let t={chatId:e.chatId};return G(await V.chats.deploy(t))}}),chatsDownloadFiles:e({description:`Download Chat Files: Downloads the source files for a chat as a ZIP archive.`,inputSchema:f,execute:async e=>{let t={chatId:e.chatId};return G(await V.chats.downloadFiles(t))}}),chatsDuplicate:e({description:`Duplicate Chat: Creates a new chat by duplicating an existing chat.`,inputSchema:p,execute:async e=>{let t={chatId:e.chatId,privacy:e.privacy,title:e.title};return G(await V.chats.duplicate(t))}}),chatsGet:e({description:`Get Chat: Retrieves a chat by ID.`,inputSchema:m,execute:async e=>{let t={chatId:e.chatId};return G(await V.chats.get(t))}}),chatsGetFiles:e({description:`Get Chat Files: Returns the source files for a chat.`,inputSchema:h,execute:async e=>{let t={chatId:e.chatId};return G(await V.chats.getFiles(t))}}),chatsGetPreview:e({description:`Get Preview URL: Returns the preview URL for a chat. If the preview isn't ready, the response is null. Poll this endpoint until the response is non-null.`,inputSchema:g,execute:async e=>{let t={chatId:e.chatId};return G(await V.chats.getPreview(t))}}),chatsList:e({description:`List Chats: Lists chats accessible to the authenticated user. Use metadata[key]=value style query parameters to filter by metadata.`,inputSchema:_,execute:async e=>{let t={limit:e.limit,cursor:e.cursor,authorId:e.authorId,vercelProjectId:e.vercelProjectId,metadata:e.metadata};return G(await V.chats.list(t))}}),chatsRestoreMessage:e({description:`Restore Message: Restores the files associated with a message. Pass an assistant message, or pass a user message to restore the files from its assistant reply. The associated files must not already be the latest files in the chat.`,inputSchema:v,execute:async e=>{let t={chatId:e.chatId,messageId:e.messageId};return G(await V.chats.restoreMessage(t))}}),chatsResume:e({description:"Resume Chat Stream: Resumes consumption of the active assistant generation as Server-Sent Events. If the latest message has already finished, returns a closing chat-state event. The response is `text/event-stream`; each event is `data: <JSON>\\n\\n` where the JSON conforms to ChatStreamEvent.",inputSchema:y,execute:async function*(e){let t={chatId:e.chatId};yield*(await V.chats.resume(t)).stream}}),chatsUpdate:e({description:`Update Chat: Updates a chat's title, privacy, or metadata.`,inputSchema:b,execute:async e=>{let t={chatId:e.chatId,title:e.title,privacy:e.privacy,metadata:e.metadata};return G(await V.chats.update(t))}}),chatsUpdateFiles:e({description:`Update Chat Files: Creates, updates, or deletes files for a chat. Pass null to delete. This requires the chat's preview to be running.`,inputSchema:x,execute:async e=>{let t={chatId:e.chatId,files:e.files};return G(await V.chats.updateFiles(t))}}),mcpServersCreate:e({description:`Create MCP Server: Creates a new MCP server configuration. Limited to 10 servers per user.`,inputSchema:S,execute:async e=>{let t={name:e.name,url:e.url,description:e.description,enabled:e.enabled,auth:e.auth,scope:e.scope};return G(await V.mcpServers.create(t))}}),mcpServersDelete:e({description:`Delete MCP Server: Deletes an MCP server and cleans up associated OAuth tokens. This action is irreversible.`,inputSchema:C,execute:async e=>{let t={mcpServerId:e.mcpServerId};return G(await V.mcpServers.delete(t))}}),mcpServersGet:e({description:`Get MCP Server: Retrieves a specific MCP server by ID.`,inputSchema:w,execute:async e=>{let t={mcpServerId:e.mcpServerId};return G(await V.mcpServers.get(t))}}),mcpServersList:e({description:`List MCP Servers: Retrieves all MCP servers configured for the current user.`,inputSchema:T,execute:async()=>G(await V.mcpServers.list())}),mcpServersUpdate:e({description:`Update MCP Server: Updates an existing MCP server configuration.`,inputSchema:E,execute:async e=>{let t={mcpServerId:e.mcpServerId,name:e.name,url:e.url,description:e.description,enabled:e.enabled,auth:e.auth,scope:e.scope};return G(await V.mcpServers.update(t))}}),messagesGet:e({description:`Get Message: Fetches a single message in a chat.`,inputSchema:D,execute:async e=>{let t={chatId:e.chatId,messageId:e.messageId};return G(await V.messages.get(t))}}),messagesList:e({description:`Get Messages: Get all messages in a chat.`,inputSchema:O,execute:async e=>{let t={chatId:e.chatId,limit:e.limit,cursor:e.cursor};return G(await V.messages.list(t))}}),messagesResolve:e({description:`Resolve Task: Resolves a pending task in a chat, continuing the conversation. The latest message in the active chat fork must be an assistant message currently blocked on a matching task (integration setup, plan approval, question answers, or permission grants). Blocks until the model response is complete and returns the resulting message.`,inputSchema:k,execute:async e=>{let t={chatId:e.chatId,task:e.task,modelConfiguration:e.modelConfiguration};return G(await V.messages.resolve(t))}}),messagesResolveAsync:e({description:"Resolve Task (Async): Resolves a pending task and processes it in the background. Returns immediately with the assistant message ID. Poll GET /chats/:chatId/messages/:messageId and check `finishReason` to detect completion.",inputSchema:A,execute:async e=>{let t={chatId:e.chatId,task:e.task,modelConfiguration:e.modelConfiguration};return G(await V.messages.resolveAsync(t))}}),messagesResolveStream:e({description:"Resolve Task (Streaming): Resolves a pending task in a chat and returns a Server-Sent Events stream. Events include the initial assistant-message snapshot, content chunk deltas, final usage, and a closing message snapshot. The response is `text/event-stream`; each event is `data: <JSON>\\n\\n` where the JSON conforms to MessageStreamEvent.",inputSchema:j,execute:async function*(e){let t={chatId:e.chatId,task:e.task,modelConfiguration:e.modelConfiguration};yield*(await V.messages.resolveStream(t)).stream}}),messagesSend:e({description:`Send Message: Sends a new message to an existing chat. Blocks until the model response is complete and returns the message response.`,inputSchema:M,execute:async e=>{let t={chatId:e.chatId,message:e.message,systemPrompt:e.systemPrompt,modelConfiguration:e.modelConfiguration,mcpServerIds:e.mcpServerIds,attachments:e.attachments,skills:e.skills,action:e.action};return G(await V.messages.send(t))}}),messagesSendAsync:e({description:"Send Message (Async): Sends a new message to an existing chat and processes it in the background. Returns immediately with the assistant message ID. Poll GET /chats/:chatId/messages/:messageId and check `finishReason` to detect completion.",inputSchema:N,execute:async e=>{let t={chatId:e.chatId,message:e.message,systemPrompt:e.systemPrompt,modelConfiguration:e.modelConfiguration,mcpServerIds:e.mcpServerIds,attachments:e.attachments,skills:e.skills,action:e.action};return G(await V.messages.sendAsync(t))}}),messagesSendStream:e({description:"Send Message (Streaming): Sends a new message to an existing chat and returns a Server-Sent Events stream. Events include the initial assistant-message snapshot, content chunk deltas, final usage, and a closing message snapshot. The response is `text/event-stream`; each event is `data: <JSON>\\n\\n` where the JSON conforms to MessageStreamEvent.",inputSchema:P,execute:async function*(e){let t={chatId:e.chatId,message:e.message,systemPrompt:e.systemPrompt,modelConfiguration:e.modelConfiguration,mcpServerIds:e.mcpServerIds,attachments:e.attachments,skills:e.skills,action:e.action};yield*(await V.messages.sendStream(t)).stream}}),messagesStop:e({description:`Stop Message: Stops an in-flight assistant message generation. The agent aborts at the next safe point and the message is marked finished.`,inputSchema:F,execute:async e=>{let t={chatId:e.chatId,messageId:e.messageId};return G(await V.messages.stop(t))}}),webhooksCreate:e({description:`Create Webhook: Creates a new webhook that listens for specific events. Supports optional association with a chat.`,inputSchema:I,execute:async e=>{let t={name:e.name,events:e.events,url:e.url,chatId:e.chatId};return G(await V.webhooks.create(t))}}),webhooksDelete:e({description:`Delete Webhook: Deletes a webhook. This action is irreversible.`,inputSchema:L,execute:async e=>{let t={hookId:e.hookId};return G(await V.webhooks.delete(t))}}),webhooksGet:e({description:`Get Webhook: Retrieves the details of a specific webhook using its ID.`,inputSchema:R,execute:async e=>{let t={hookId:e.hookId};return G(await V.webhooks.get(t))}}),webhooksList:e({description:`List Webhooks: Retrieves a list of all webhooks in your workspace.`,inputSchema:z,execute:async()=>G(await V.webhooks.list())}),webhooksUpdate:e({description:`Update Webhook: Updates the configuration of an existing webhook, including its name, event subscriptions, or target URL.`,inputSchema:B,execute:async e=>{let t={hookId:e.hookId,name:e.name,events:e.events,url:e.url};return G(await V.webhooks.update(t))}})}}function H(e={}){let t=V(e);return{chats:{chatsCreate:W(t,`chatsCreate`),chatsCreateAsync:W(t,`chatsCreateAsync`),chatsCreateFromFiles:W(t,`chatsCreateFromFiles`),chatsCreateFromRepo:W(t,`chatsCreateFromRepo`),chatsCreateFromZip:W(t,`chatsCreateFromZip`),chatsCreateStream:W(t,`chatsCreateStream`),chatsCreateVercelProject:W(t,`chatsCreateVercelProject`),chatsDelete:W(t,`chatsDelete`),chatsDeploy:W(t,`chatsDeploy`),chatsDownloadFiles:W(t,`chatsDownloadFiles`),chatsDuplicate:W(t,`chatsDuplicate`),chatsGet:W(t,`chatsGet`),chatsGetFiles:W(t,`chatsGetFiles`),chatsGetPreview:W(t,`chatsGetPreview`),chatsList:W(t,`chatsList`),chatsRestoreMessage:W(t,`chatsRestoreMessage`),chatsResume:W(t,`chatsResume`),chatsUpdate:W(t,`chatsUpdate`),chatsUpdateFiles:W(t,`chatsUpdateFiles`)},mcpServers:{mcpServersCreate:W(t,`mcpServersCreate`),mcpServersDelete:W(t,`mcpServersDelete`),mcpServersGet:W(t,`mcpServersGet`),mcpServersList:W(t,`mcpServersList`),mcpServersUpdate:W(t,`mcpServersUpdate`)},messages:{messagesGet:W(t,`messagesGet`),messagesList:W(t,`messagesList`),messagesResolve:W(t,`messagesResolve`),messagesResolveAsync:W(t,`messagesResolveAsync`),messagesResolveStream:W(t,`messagesResolveStream`),messagesSend:W(t,`messagesSend`),messagesSendAsync:W(t,`messagesSendAsync`),messagesSendStream:W(t,`messagesSendStream`),messagesStop:W(t,`messagesStop`)},webhooks:{webhooksCreate:W(t,`webhooksCreate`),webhooksDelete:W(t,`webhooksDelete`),webhooksGet:W(t,`webhooksGet`),webhooksList:W(t,`webhooksList`),webhooksUpdate:W(t,`webhooksUpdate`)}}}function U(e){let{apiKey:t,...n}=e,r=typeof process<`u`?process.env.V0_API_KEY:void 0,i=n.auth??t??r;return i===void 0?n:{...n,auth:i}}function W(e,t){let n=e[t];if(!n)throw Error(`Missing generated v0 tool: ${t}`);return n}function G(e){if(e&&typeof e==`object`&&(`data`in e||`error`in e)){let t=e;return t.error===void 0?t.data??null:{error:t.error}}return e}export{V as v0Tools,H as v0ToolsByCategory};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/generated/tools.ts"],"sourcesContent":["// This file is generated by packages/ai-tools/src/scripts/generate.ts.\n// Do not edit this file directly.\n\nimport { tool, type ToolSet } from 'ai'\nimport { createV0Client } from 'v0'\nimport type { createV0Client as createV0ClientType } from 'v0'\nimport { z } from 'zod'\n\nexport type V0ToolsConfig = Parameters<typeof createV0ClientType>[0] & {\n apiKey?: string\n}\n\ntype V0GeneratedTool = NonNullable<ToolSet[string]>\n\nexport type V0ToolName =\n | 'chatsCreate'\n | 'chatsCreateAsync'\n | 'chatsCreateFromFiles'\n | 'chatsCreateFromRepo'\n | 'chatsCreateFromZip'\n | 'chatsCreateStream'\n | 'chatsCreateVercelProject'\n | 'chatsDelete'\n | 'chatsDeploy'\n | 'chatsDownloadFiles'\n | 'chatsDuplicate'\n | 'chatsGet'\n | 'chatsGetFiles'\n | 'chatsGetPreview'\n | 'chatsList'\n | 'chatsRestoreMessage'\n | 'chatsResume'\n | 'chatsUpdate'\n | 'chatsUpdateFiles'\n | 'mcpServersCreate'\n | 'mcpServersDelete'\n | 'mcpServersGet'\n | 'mcpServersList'\n | 'mcpServersUpdate'\n | 'messagesGet'\n | 'messagesList'\n | 'messagesResolve'\n | 'messagesResolveAsync'\n | 'messagesResolveStream'\n | 'messagesSend'\n | 'messagesSendAsync'\n | 'messagesSendStream'\n | 'messagesStop'\n | 'webhooksCreate'\n | 'webhooksDelete'\n | 'webhooksGet'\n | 'webhooksList'\n | 'webhooksUpdate'\n\nexport type V0ToolsFlat = Record<V0ToolName, V0GeneratedTool>\n\nexport type V0ToolsByCategory = {\n chats: Pick<\n V0ToolsFlat,\n | 'chatsCreate'\n | 'chatsCreateAsync'\n | 'chatsCreateFromFiles'\n | 'chatsCreateFromRepo'\n | 'chatsCreateFromZip'\n | 'chatsCreateStream'\n | 'chatsCreateVercelProject'\n | 'chatsDelete'\n | 'chatsDeploy'\n | 'chatsDownloadFiles'\n | 'chatsDuplicate'\n | 'chatsGet'\n | 'chatsGetFiles'\n | 'chatsGetPreview'\n | 'chatsList'\n | 'chatsRestoreMessage'\n | 'chatsResume'\n | 'chatsUpdate'\n | 'chatsUpdateFiles'\n >\n mcpServers: Pick<\n V0ToolsFlat,\n | 'mcpServersCreate'\n | 'mcpServersDelete'\n | 'mcpServersGet'\n | 'mcpServersList'\n | 'mcpServersUpdate'\n >\n messages: Pick<\n V0ToolsFlat,\n | 'messagesGet'\n | 'messagesList'\n | 'messagesResolve'\n | 'messagesResolveAsync'\n | 'messagesResolveStream'\n | 'messagesSend'\n | 'messagesSendAsync'\n | 'messagesSendStream'\n | 'messagesStop'\n >\n webhooks: Pick<\n V0ToolsFlat,\n 'webhooksCreate' | 'webhooksDelete' | 'webhooksGet' | 'webhooksList' | 'webhooksUpdate'\n >\n}\n\nexport type V0ToolCategory = keyof V0ToolsByCategory\n\nconst chatsCreateInputSchema = z.object({\n message: z.string().describe('The prompt or instruction to send to the model.'),\n systemPrompt: z\n .string()\n .describe(\n 'System-level context for the chat, such as frameworks or development environment details.',\n )\n .optional(),\n modelConfiguration: z\n .object({\n modelId: z\n .enum(['v0-auto', 'v0-mini', 'v0-pro', 'v0-max', 'v0-max-fast'])\n .describe(\n 'Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`.',\n ),\n imageGenerations: z\n .boolean()\n .describe('Enables image generations to generate up to 5 images per version.'),\n })\n .describe('Overrides for the model behavior.')\n .optional(),\n attachments: z\n .array(\n z.object({\n url: z.string().describe('URL of the attachment.'),\n }),\n )\n .describe('Files or assets to include with the message.')\n .optional(),\n mcpServerIds: z\n .array(z.string())\n .describe('MCP server IDs to enable. When omitted, uses default enabled servers.')\n .optional(),\n skills: z\n .array(\n z.union([\n z.object({\n type: z.enum(['remote']).describe('Discriminator: a skills.sh skill.'),\n id: z.string().describe('Skill ID from skills.sh.'),\n }),\n z.object({\n type: z.enum(['memory']).describe('Discriminator: a user- or team-scoped memory skill.'),\n scope: z\n .enum(['user', 'team'])\n .describe('Whether the skill lives in user or team memory.'),\n skillName: z.string().describe('Name of the memory skill to attach.'),\n }),\n z.object({\n type: z.enum(['project']).describe('Discriminator: a skill defined in the project repo.'),\n skillName: z.string().describe('Name of the project skill to attach.'),\n }),\n ]),\n )\n .describe(\n 'Skills to force-attach to the chat. Supports skills.sh (`remote`), user/team memory (`memory`), and project (`project`) skills. Maximum 3.',\n )\n .optional(),\n privacy: z\n .enum(['public', 'private', 'team', 'team-edit', 'unlisted'])\n .describe('Visibility setting for the new chat.')\n .optional(),\n title: z.string().describe('Title for the new chat.').optional(),\n metadata: z\n .record(z.string(), z.string())\n .describe('Arbitrary key-value data to attach to the chat.')\n .optional(),\n})\n\nconst chatsCreateAsyncInputSchema = z.object({\n message: z.string().describe('The prompt or instruction to send to the model.'),\n systemPrompt: z\n .string()\n .describe(\n 'System-level context for the chat, such as frameworks or development environment details.',\n )\n .optional(),\n modelConfiguration: z\n .object({\n modelId: z\n .enum(['v0-auto', 'v0-mini', 'v0-pro', 'v0-max', 'v0-max-fast'])\n .describe(\n 'Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`.',\n ),\n imageGenerations: z\n .boolean()\n .describe('Enables image generations to generate up to 5 images per version.'),\n })\n .describe('Overrides for the model behavior.')\n .optional(),\n attachments: z\n .array(\n z.object({\n url: z.string().describe('URL of the attachment.'),\n }),\n )\n .describe('Files or assets to include with the message.')\n .optional(),\n mcpServerIds: z\n .array(z.string())\n .describe('MCP server IDs to enable. When omitted, uses default enabled servers.')\n .optional(),\n skills: z\n .array(\n z.union([\n z.object({\n type: z.enum(['remote']).describe('Discriminator: a skills.sh skill.'),\n id: z.string().describe('Skill ID from skills.sh.'),\n }),\n z.object({\n type: z.enum(['memory']).describe('Discriminator: a user- or team-scoped memory skill.'),\n scope: z\n .enum(['user', 'team'])\n .describe('Whether the skill lives in user or team memory.'),\n skillName: z.string().describe('Name of the memory skill to attach.'),\n }),\n z.object({\n type: z.enum(['project']).describe('Discriminator: a skill defined in the project repo.'),\n skillName: z.string().describe('Name of the project skill to attach.'),\n }),\n ]),\n )\n .describe(\n 'Skills to force-attach to the chat. Supports skills.sh (`remote`), user/team memory (`memory`), and project (`project`) skills. Maximum 3.',\n )\n .optional(),\n privacy: z\n .enum(['public', 'private', 'team', 'team-edit', 'unlisted'])\n .describe('Visibility setting for the new chat.')\n .optional(),\n title: z.string().describe('Title for the new chat.').optional(),\n metadata: z\n .record(z.string(), z.string())\n .describe('Arbitrary key-value data to attach to the chat.')\n .optional(),\n})\n\nconst chatsCreateFromFilesInputSchema = z.object({\n files: z\n .array(\n z.object({\n name: z.string().describe('Path of the file in the project.'),\n content: z.string().describe('UTF-8 text content of the file.'),\n }),\n )\n .describe('Source files used to seed the new chat.'),\n privacy: z\n .enum(['public', 'private', 'team', 'team-edit', 'unlisted'])\n .describe('Visibility setting for the new chat.')\n .optional(),\n title: z.string().describe('Title for the new chat.').optional(),\n metadata: z\n .record(z.string(), z.string())\n .describe('Arbitrary key-value data to attach to the chat.')\n .optional(),\n})\n\nconst chatsCreateFromRepoInputSchema = z.object({\n repo: z\n .object({\n url: z\n .string()\n .describe('GitHub repository URL, for example https://github.com/vercel/next.js.'),\n branch: z\n .string()\n .describe('Branch to import. If omitted, v0 uses the repository default branch.')\n .optional(),\n })\n .describe(\n 'Repository source for initialization. Supports public GitHub repositories and private repositories connected through Vercel.',\n ),\n privacy: z\n .enum(['public', 'private', 'team', 'team-edit', 'unlisted'])\n .describe('Visibility setting for the new chat.')\n .optional(),\n title: z.string().describe('Title for the new chat.').optional(),\n metadata: z\n .record(z.string(), z.string())\n .describe('Arbitrary key-value data to attach to the chat.')\n .optional(),\n})\n\nconst chatsCreateFromZipInputSchema = z.object({\n url: z.string().url().describe('Zip archive used to seed the new chat.'),\n privacy: z\n .enum(['public', 'private', 'team', 'team-edit', 'unlisted'])\n .describe('Visibility setting for the new chat.')\n .optional(),\n title: z.string().describe('Title for the new chat.').optional(),\n metadata: z\n .record(z.string(), z.string())\n .describe('Arbitrary key-value data to attach to the chat.')\n .optional(),\n})\n\nconst chatsCreateStreamInputSchema = z.object({\n message: z.string().describe('The prompt or instruction to send to the model.'),\n systemPrompt: z\n .string()\n .describe(\n 'System-level context for the chat, such as frameworks or development environment details.',\n )\n .optional(),\n modelConfiguration: z\n .object({\n modelId: z\n .enum(['v0-auto', 'v0-mini', 'v0-pro', 'v0-max', 'v0-max-fast'])\n .describe(\n 'Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`.',\n ),\n imageGenerations: z\n .boolean()\n .describe('Enables image generations to generate up to 5 images per version.'),\n })\n .describe('Overrides for the model behavior.')\n .optional(),\n attachments: z\n .array(\n z.object({\n url: z.string().describe('URL of the attachment.'),\n }),\n )\n .describe('Files or assets to include with the message.')\n .optional(),\n mcpServerIds: z\n .array(z.string())\n .describe('MCP server IDs to enable. When omitted, uses default enabled servers.')\n .optional(),\n skills: z\n .array(\n z.union([\n z.object({\n type: z.enum(['remote']).describe('Discriminator: a skills.sh skill.'),\n id: z.string().describe('Skill ID from skills.sh.'),\n }),\n z.object({\n type: z.enum(['memory']).describe('Discriminator: a user- or team-scoped memory skill.'),\n scope: z\n .enum(['user', 'team'])\n .describe('Whether the skill lives in user or team memory.'),\n skillName: z.string().describe('Name of the memory skill to attach.'),\n }),\n z.object({\n type: z.enum(['project']).describe('Discriminator: a skill defined in the project repo.'),\n skillName: z.string().describe('Name of the project skill to attach.'),\n }),\n ]),\n )\n .describe(\n 'Skills to force-attach to the chat. Supports skills.sh (`remote`), user/team memory (`memory`), and project (`project`) skills. Maximum 3.',\n )\n .optional(),\n privacy: z\n .enum(['public', 'private', 'team', 'team-edit', 'unlisted'])\n .describe('Visibility setting for the new chat.')\n .optional(),\n title: z.string().describe('Title for the new chat.').optional(),\n metadata: z\n .record(z.string(), z.string())\n .describe('Arbitrary key-value data to attach to the chat.')\n .optional(),\n})\n\nconst chatsCreateVercelProjectInputSchema = z.object({\n chatId: z.string(),\n name: z\n .string()\n .describe(\"Name for the Vercel project. When omitted, the chat's title is used.\")\n .optional(),\n})\n\nconst chatsDeleteInputSchema = z.object({\n chatId: z.string(),\n})\n\nconst chatsDeployInputSchema = z.object({\n chatId: z.string(),\n})\n\nconst chatsDownloadFilesInputSchema = z.object({\n chatId: z.string(),\n})\n\nconst chatsDuplicateInputSchema = z.object({\n chatId: z.string(),\n privacy: z\n .enum(['public', 'private', 'team', 'team-edit', 'unlisted'])\n .describe('Visibility setting for the duplicated chat.'),\n title: z\n .string()\n .describe(\n 'Custom title for the duplicated chat. If omitted, the original title is reused with an incremented suffix (e.g. \"My Chat (2)\").',\n )\n .optional(),\n})\n\nconst chatsGetInputSchema = z.object({\n chatId: z.string(),\n})\n\nconst chatsGetFilesInputSchema = z.object({\n chatId: z.string(),\n})\n\nconst chatsGetPreviewInputSchema = z.object({\n chatId: z.string(),\n})\n\nconst chatsListInputSchema = z.object({\n limit: z\n .number()\n .int()\n .describe('Maximum number of chats to return (1-100, default 20).')\n .optional(),\n cursor: z.string().describe('Pagination cursor returned from a previous response.').optional(),\n authorId: z\n .string()\n .describe(\n 'Restrict results to chats created by this user. Must be a member of the calling scope.',\n )\n .optional(),\n vercelProjectId: z\n .string()\n .describe('Restrict results to chats associated with this Vercel project.')\n .optional(),\n metadata: z\n .record(z.string(), z.string())\n .describe(\n 'Filter by metadata, e.g. metadata[environment]=production. Returns chats matching all supplied key-value pairs.',\n )\n .optional(),\n})\n\nconst chatsRestoreMessageInputSchema = z.object({\n chatId: z.string(),\n messageId: z.string().describe('The unique identifier of the message whose files to restore.'),\n})\n\nconst chatsResumeInputSchema = z.object({\n chatId: z.string(),\n})\n\nconst chatsUpdateInputSchema = z.object({\n chatId: z.string(),\n title: z.string().describe('A new title to assign to the chat.').optional(),\n privacy: z\n .enum(['public', 'private', 'team', 'team-edit', 'unlisted'])\n .describe('Updated visibility setting for the chat.')\n .optional(),\n metadata: z\n .union([z.record(z.string(), z.union([z.string(), z.null()])), z.null()])\n .describe(\n 'User-defined key-value metadata. Merged with existing entries. Pass `null` for a value to delete that key, or pass `null` for the whole field to delete all entries. Maximum 50 active entries.',\n )\n .optional(),\n})\n\nconst chatsUpdateFilesInputSchema = z.object({\n chatId: z.string(),\n files: z\n .array(\n z.object({\n path: z.string().describe('Project-relative file path, e.g. \"app/page.tsx\".'),\n content: z\n .union([z.string(), z.null()])\n .describe('New file content. Pass `null` to delete the file at this path.'),\n }),\n )\n .describe('The files to create, update, or delete. Each path must be unique.'),\n})\n\nconst mcpServersCreateInputSchema = z.object({\n name: z.string().describe('Display name for the MCP server.'),\n url: z.string().url().describe('URL endpoint of the MCP server.'),\n description: z.string().describe('Optional description of the MCP server.').optional(),\n enabled: z.boolean().describe('Whether the server should be enabled.'),\n auth: z\n .union([\n z.object({\n type: z.enum(['none']),\n }),\n z.object({\n type: z.enum(['bearer']),\n token: z.string().describe('Bearer token for authentication.'),\n }),\n z.object({\n type: z.enum(['custom-headers']),\n headers: z\n .record(z.string(), z.string())\n .describe('Custom headers to include in requests.'),\n }),\n z.object({\n type: z.enum(['oauth']),\n config: z\n .object({\n authorizationUrl: z.string().url(),\n tokenUrl: z.string().url(),\n registrationUrl: z.string().url().optional(),\n clientId: z.string(),\n clientSecret: z.string().optional(),\n scopes: z.array(z.string()),\n usePKCE: z.boolean(),\n issuer: z.string().optional(),\n resource: z.string().optional(),\n clientIdMetadataDocumentSupported: z.boolean().optional(),\n })\n .describe('OAuth configuration discovered or manually set.')\n .optional(),\n connected: z.boolean().describe('Whether OAuth is currently connected.'),\n expiresAt: z.string().describe('ISO timestamp when the token expires.').optional(),\n }),\n ])\n .describe('Authentication configuration.'),\n scope: z.enum(['user', 'team']).describe('Scope of the MCP server configuration.'),\n})\n\nconst mcpServersDeleteInputSchema = z.object({\n mcpServerId: z.string(),\n})\n\nconst mcpServersGetInputSchema = z.object({\n mcpServerId: z.string(),\n})\n\nconst mcpServersListInputSchema = z.object({})\n\nconst mcpServersUpdateInputSchema = z.object({\n mcpServerId: z.string(),\n name: z.string().describe('New display name.').optional(),\n url: z.string().url().describe('New URL endpoint.').optional(),\n description: z.string().describe('New description.').optional(),\n enabled: z.boolean().describe('Enable or disable.').optional(),\n auth: z\n .union([\n z.object({\n type: z.enum(['none']),\n }),\n z.object({\n type: z.enum(['bearer']),\n token: z.string().describe('Bearer token for authentication.'),\n }),\n z.object({\n type: z.enum(['custom-headers']),\n headers: z\n .record(z.string(), z.string())\n .describe('Custom headers to include in requests.'),\n }),\n z.object({\n type: z.enum(['oauth']),\n config: z\n .object({\n authorizationUrl: z.string().url(),\n tokenUrl: z.string().url(),\n registrationUrl: z.string().url().optional(),\n clientId: z.string(),\n clientSecret: z.string().optional(),\n scopes: z.array(z.string()),\n usePKCE: z.boolean(),\n issuer: z.string().optional(),\n resource: z.string().optional(),\n clientIdMetadataDocumentSupported: z.boolean().optional(),\n })\n .describe('OAuth configuration discovered or manually set.')\n .optional(),\n connected: z.boolean().describe('Whether OAuth is currently connected.'),\n expiresAt: z.string().describe('ISO timestamp when the token expires.').optional(),\n }),\n ])\n .describe('New authentication configuration.')\n .optional(),\n scope: z.enum(['user', 'team']).describe('New scope.').optional(),\n})\n\nconst messagesGetInputSchema = z.object({\n chatId: z.string(),\n messageId: z.string(),\n})\n\nconst messagesListInputSchema = z.object({\n chatId: z.string(),\n limit: z.number().int(),\n cursor: z.string().optional(),\n})\n\nconst messagesResolveInputSchema = z.object({\n chatId: z.string(),\n task: z\n .union([\n z.object({\n type: z.enum(['confirmed-steps']),\n connectedIntegrationNames: z\n .array(z.string())\n .describe(\n 'Names of integrations that were successfully connected (e.g. \"Neon\", \"Supabase\"). Pass an empty array to skip.',\n ),\n connectedMcpPresetNames: z\n .array(\n z.enum([\n 'Linear',\n 'Notion',\n 'Context7',\n 'Sentry',\n 'Zapier',\n 'Glean',\n 'Hex',\n 'Sanity',\n 'Granola',\n 'PostHog',\n 'Contentful',\n 'Slack',\n ]),\n )\n .describe(\n 'Names of MCP presets that were connected (e.g. \"Linear\", \"Sentry\"). Pass an empty array to skip.',\n ),\n appliedScripts: z.array(z.string()).describe('Names of scripts that were applied.'),\n addedEnvVars: z\n .array(z.string())\n .describe('Names of environment variables that were added.'),\n }),\n z.object({\n type: z.enum(['plan-exit-response']),\n status: z\n .enum(['approved', 'rejected', 'request-changes'])\n .describe('Whether the plan is approved, rejected, or needs changes.'),\n content: z.string().describe('Feedback or instructions for the agent.'),\n }),\n z.object({\n type: z.enum(['answered-questions']),\n answers: z\n .array(\n z.object({\n questionId: z.string().describe('The ID of the question being answered.'),\n questionText: z.string().describe('The text of the question being answered.'),\n selectedLabels: z\n .array(z.string())\n .describe(\n 'The labels of the selected options. For single-select questions, pass one item.',\n ),\n customText: z\n .string()\n .describe(\n 'Free-form text input, used when the user selects \"Other\" or wants to add context.',\n )\n .optional(),\n }),\n )\n .describe('Answers to the questions the agent asked.'),\n }),\n z.object({\n type: z.enum(['confirmed-permissions']),\n permissions: z\n .array(\n z.object({\n type: z.enum(['ALLOW_DYNAMIC_TOOL_STRICT']),\n toolName: z.string().describe('The name of the tool being permitted.'),\n input: z\n .unknown()\n .describe(\n 'The tool call input arguments. Pass the exact input from the stopped task.',\n ),\n taskNameActive: z\n .union([z.string(), z.null()])\n .describe('Label shown while the tool is running (e.g. \"Running migration\").')\n .optional(),\n taskNameComplete: z\n .union([z.string(), z.null()])\n .describe('Label shown after the tool completes (e.g. \"Migration complete\").')\n .optional(),\n userMessage: z\n .string()\n .describe('Optional message from the user about this permission.')\n .optional(),\n }),\n )\n .describe(\n 'The permissions to grant. Pass the suggestedPermissions from the stopped task.',\n ),\n userMessage: z\n .string()\n .describe('Optional message from the user about the permission grant.')\n .optional(),\n }),\n ])\n .describe(\n 'The task resolution data. The latest message in the active chat fork must be an assistant message blocked on the matching task type.',\n ),\n modelConfiguration: z\n .object({\n modelId: z\n .enum(['v0-auto', 'v0-mini', 'v0-pro', 'v0-max', 'v0-max-fast'])\n .describe(\n 'Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`.',\n ),\n imageGenerations: z\n .boolean()\n .describe('Enables image generations to generate up to 5 images per version.'),\n })\n .describe('Overrides for the model behavior.')\n .optional(),\n})\n\nconst messagesResolveAsyncInputSchema = z.object({\n chatId: z.string(),\n task: z\n .union([\n z.object({\n type: z.enum(['confirmed-steps']),\n connectedIntegrationNames: z\n .array(z.string())\n .describe(\n 'Names of integrations that were successfully connected (e.g. \"Neon\", \"Supabase\"). Pass an empty array to skip.',\n ),\n connectedMcpPresetNames: z\n .array(\n z.enum([\n 'Linear',\n 'Notion',\n 'Context7',\n 'Sentry',\n 'Zapier',\n 'Glean',\n 'Hex',\n 'Sanity',\n 'Granola',\n 'PostHog',\n 'Contentful',\n 'Slack',\n ]),\n )\n .describe(\n 'Names of MCP presets that were connected (e.g. \"Linear\", \"Sentry\"). Pass an empty array to skip.',\n ),\n appliedScripts: z.array(z.string()).describe('Names of scripts that were applied.'),\n addedEnvVars: z\n .array(z.string())\n .describe('Names of environment variables that were added.'),\n }),\n z.object({\n type: z.enum(['plan-exit-response']),\n status: z\n .enum(['approved', 'rejected', 'request-changes'])\n .describe('Whether the plan is approved, rejected, or needs changes.'),\n content: z.string().describe('Feedback or instructions for the agent.'),\n }),\n z.object({\n type: z.enum(['answered-questions']),\n answers: z\n .array(\n z.object({\n questionId: z.string().describe('The ID of the question being answered.'),\n questionText: z.string().describe('The text of the question being answered.'),\n selectedLabels: z\n .array(z.string())\n .describe(\n 'The labels of the selected options. For single-select questions, pass one item.',\n ),\n customText: z\n .string()\n .describe(\n 'Free-form text input, used when the user selects \"Other\" or wants to add context.',\n )\n .optional(),\n }),\n )\n .describe('Answers to the questions the agent asked.'),\n }),\n z.object({\n type: z.enum(['confirmed-permissions']),\n permissions: z\n .array(\n z.object({\n type: z.enum(['ALLOW_DYNAMIC_TOOL_STRICT']),\n toolName: z.string().describe('The name of the tool being permitted.'),\n input: z\n .unknown()\n .describe(\n 'The tool call input arguments. Pass the exact input from the stopped task.',\n ),\n taskNameActive: z\n .union([z.string(), z.null()])\n .describe('Label shown while the tool is running (e.g. \"Running migration\").')\n .optional(),\n taskNameComplete: z\n .union([z.string(), z.null()])\n .describe('Label shown after the tool completes (e.g. \"Migration complete\").')\n .optional(),\n userMessage: z\n .string()\n .describe('Optional message from the user about this permission.')\n .optional(),\n }),\n )\n .describe(\n 'The permissions to grant. Pass the suggestedPermissions from the stopped task.',\n ),\n userMessage: z\n .string()\n .describe('Optional message from the user about the permission grant.')\n .optional(),\n }),\n ])\n .describe(\n 'The task resolution data. The latest message in the active chat fork must be an assistant message blocked on the matching task type.',\n ),\n modelConfiguration: z\n .object({\n modelId: z\n .enum(['v0-auto', 'v0-mini', 'v0-pro', 'v0-max', 'v0-max-fast'])\n .describe(\n 'Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`.',\n ),\n imageGenerations: z\n .boolean()\n .describe('Enables image generations to generate up to 5 images per version.'),\n })\n .describe('Overrides for the model behavior.')\n .optional(),\n})\n\nconst messagesResolveStreamInputSchema = z.object({\n chatId: z.string(),\n task: z\n .union([\n z.object({\n type: z.enum(['confirmed-steps']),\n connectedIntegrationNames: z\n .array(z.string())\n .describe(\n 'Names of integrations that were successfully connected (e.g. \"Neon\", \"Supabase\"). Pass an empty array to skip.',\n ),\n connectedMcpPresetNames: z\n .array(\n z.enum([\n 'Linear',\n 'Notion',\n 'Context7',\n 'Sentry',\n 'Zapier',\n 'Glean',\n 'Hex',\n 'Sanity',\n 'Granola',\n 'PostHog',\n 'Contentful',\n 'Slack',\n ]),\n )\n .describe(\n 'Names of MCP presets that were connected (e.g. \"Linear\", \"Sentry\"). Pass an empty array to skip.',\n ),\n appliedScripts: z.array(z.string()).describe('Names of scripts that were applied.'),\n addedEnvVars: z\n .array(z.string())\n .describe('Names of environment variables that were added.'),\n }),\n z.object({\n type: z.enum(['plan-exit-response']),\n status: z\n .enum(['approved', 'rejected', 'request-changes'])\n .describe('Whether the plan is approved, rejected, or needs changes.'),\n content: z.string().describe('Feedback or instructions for the agent.'),\n }),\n z.object({\n type: z.enum(['answered-questions']),\n answers: z\n .array(\n z.object({\n questionId: z.string().describe('The ID of the question being answered.'),\n questionText: z.string().describe('The text of the question being answered.'),\n selectedLabels: z\n .array(z.string())\n .describe(\n 'The labels of the selected options. For single-select questions, pass one item.',\n ),\n customText: z\n .string()\n .describe(\n 'Free-form text input, used when the user selects \"Other\" or wants to add context.',\n )\n .optional(),\n }),\n )\n .describe('Answers to the questions the agent asked.'),\n }),\n z.object({\n type: z.enum(['confirmed-permissions']),\n permissions: z\n .array(\n z.object({\n type: z.enum(['ALLOW_DYNAMIC_TOOL_STRICT']),\n toolName: z.string().describe('The name of the tool being permitted.'),\n input: z\n .unknown()\n .describe(\n 'The tool call input arguments. Pass the exact input from the stopped task.',\n ),\n taskNameActive: z\n .union([z.string(), z.null()])\n .describe('Label shown while the tool is running (e.g. \"Running migration\").')\n .optional(),\n taskNameComplete: z\n .union([z.string(), z.null()])\n .describe('Label shown after the tool completes (e.g. \"Migration complete\").')\n .optional(),\n userMessage: z\n .string()\n .describe('Optional message from the user about this permission.')\n .optional(),\n }),\n )\n .describe(\n 'The permissions to grant. Pass the suggestedPermissions from the stopped task.',\n ),\n userMessage: z\n .string()\n .describe('Optional message from the user about the permission grant.')\n .optional(),\n }),\n ])\n .describe(\n 'The task resolution data. The latest message in the active chat fork must be an assistant message blocked on the matching task type.',\n ),\n modelConfiguration: z\n .object({\n modelId: z\n .enum(['v0-auto', 'v0-mini', 'v0-pro', 'v0-max', 'v0-max-fast'])\n .describe(\n 'Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`.',\n ),\n imageGenerations: z\n .boolean()\n .describe('Enables image generations to generate up to 5 images per version.'),\n })\n .describe('Overrides for the model behavior.')\n .optional(),\n})\n\nconst messagesSendInputSchema = z.object({\n chatId: z.string(),\n message: z.string().describe('The prompt or instruction to send to the model.'),\n systemPrompt: z\n .string()\n .describe(\n 'System-level context for the chat, such as frameworks or development environment details.',\n )\n .optional(),\n modelConfiguration: z\n .object({\n modelId: z\n .enum(['v0-auto', 'v0-mini', 'v0-pro', 'v0-max', 'v0-max-fast'])\n .describe(\n 'Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`.',\n ),\n imageGenerations: z\n .boolean()\n .describe('Enables image generations to generate up to 5 images per version.'),\n })\n .describe('Overrides for the model behavior.')\n .optional(),\n mcpServerIds: z\n .array(z.string())\n .describe('MCP server IDs to enable. When omitted, uses default enabled servers.')\n .optional(),\n attachments: z\n .array(\n z.object({\n url: z.string().describe('URL of the attachment.'),\n }),\n )\n .describe('Files or assets to include with the message.')\n .optional(),\n skills: z\n .array(\n z.union([\n z.object({\n type: z.enum(['remote']).describe('Discriminator: a skills.sh skill.'),\n id: z.string().describe('Skill ID from skills.sh.'),\n }),\n z.object({\n type: z.enum(['memory']).describe('Discriminator: a user- or team-scoped memory skill.'),\n scope: z\n .enum(['user', 'team'])\n .describe('Whether the skill lives in user or team memory.'),\n skillName: z.string().describe('Name of the memory skill to attach.'),\n }),\n z.object({\n type: z.enum(['project']).describe('Discriminator: a skill defined in the project repo.'),\n skillName: z.string().describe('Name of the project skill to attach.'),\n }),\n ]),\n )\n .describe(\n 'Skills to force-attach to the message. Supports skills.sh (`remote`), user/team memory (`memory`), and project (`project`) skills. Maximum 3.',\n )\n .optional(),\n action: z\n .object({\n type: z.enum(['fix-with-v0']),\n })\n .describe(\n 'An optional action. Use `fix-with-v0` to trigger automatic error fixing — the message should contain the error context.',\n )\n .optional(),\n})\n\nconst messagesSendAsyncInputSchema = z.object({\n chatId: z.string(),\n message: z.string().describe('The prompt or instruction to send to the model.'),\n systemPrompt: z\n .string()\n .describe(\n 'System-level context for the chat, such as frameworks or development environment details.',\n )\n .optional(),\n modelConfiguration: z\n .object({\n modelId: z\n .enum(['v0-auto', 'v0-mini', 'v0-pro', 'v0-max', 'v0-max-fast'])\n .describe(\n 'Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`.',\n ),\n imageGenerations: z\n .boolean()\n .describe('Enables image generations to generate up to 5 images per version.'),\n })\n .describe('Overrides for the model behavior.')\n .optional(),\n mcpServerIds: z\n .array(z.string())\n .describe('MCP server IDs to enable. When omitted, uses default enabled servers.')\n .optional(),\n attachments: z\n .array(\n z.object({\n url: z.string().describe('URL of the attachment.'),\n }),\n )\n .describe('Files or assets to include with the message.')\n .optional(),\n skills: z\n .array(\n z.union([\n z.object({\n type: z.enum(['remote']).describe('Discriminator: a skills.sh skill.'),\n id: z.string().describe('Skill ID from skills.sh.'),\n }),\n z.object({\n type: z.enum(['memory']).describe('Discriminator: a user- or team-scoped memory skill.'),\n scope: z\n .enum(['user', 'team'])\n .describe('Whether the skill lives in user or team memory.'),\n skillName: z.string().describe('Name of the memory skill to attach.'),\n }),\n z.object({\n type: z.enum(['project']).describe('Discriminator: a skill defined in the project repo.'),\n skillName: z.string().describe('Name of the project skill to attach.'),\n }),\n ]),\n )\n .describe(\n 'Skills to force-attach to the message. Supports skills.sh (`remote`), user/team memory (`memory`), and project (`project`) skills. Maximum 3.',\n )\n .optional(),\n action: z\n .object({\n type: z.enum(['fix-with-v0']),\n })\n .describe(\n 'An optional action. Use `fix-with-v0` to trigger automatic error fixing — the message should contain the error context.',\n )\n .optional(),\n})\n\nconst messagesSendStreamInputSchema = z.object({\n chatId: z.string(),\n message: z.string().describe('The prompt or instruction to send to the model.'),\n systemPrompt: z\n .string()\n .describe(\n 'System-level context for the chat, such as frameworks or development environment details.',\n )\n .optional(),\n modelConfiguration: z\n .object({\n modelId: z\n .enum(['v0-auto', 'v0-mini', 'v0-pro', 'v0-max', 'v0-max-fast'])\n .describe(\n 'Model to use for the generation. `v0-auto` is deprecated and falls back to `v0-pro`.',\n ),\n imageGenerations: z\n .boolean()\n .describe('Enables image generations to generate up to 5 images per version.'),\n })\n .describe('Overrides for the model behavior.')\n .optional(),\n mcpServerIds: z\n .array(z.string())\n .describe('MCP server IDs to enable. When omitted, uses default enabled servers.')\n .optional(),\n attachments: z\n .array(\n z.object({\n url: z.string().describe('URL of the attachment.'),\n }),\n )\n .describe('Files or assets to include with the message.')\n .optional(),\n skills: z\n .array(\n z.union([\n z.object({\n type: z.enum(['remote']).describe('Discriminator: a skills.sh skill.'),\n id: z.string().describe('Skill ID from skills.sh.'),\n }),\n z.object({\n type: z.enum(['memory']).describe('Discriminator: a user- or team-scoped memory skill.'),\n scope: z\n .enum(['user', 'team'])\n .describe('Whether the skill lives in user or team memory.'),\n skillName: z.string().describe('Name of the memory skill to attach.'),\n }),\n z.object({\n type: z.enum(['project']).describe('Discriminator: a skill defined in the project repo.'),\n skillName: z.string().describe('Name of the project skill to attach.'),\n }),\n ]),\n )\n .describe(\n 'Skills to force-attach to the message. Supports skills.sh (`remote`), user/team memory (`memory`), and project (`project`) skills. Maximum 3.',\n )\n .optional(),\n action: z\n .object({\n type: z.enum(['fix-with-v0']),\n })\n .describe(\n 'An optional action. Use `fix-with-v0` to trigger automatic error fixing — the message should contain the error context.',\n )\n .optional(),\n})\n\nconst messagesStopInputSchema = z.object({\n chatId: z.string(),\n messageId: z.string(),\n})\n\nconst webhooksCreateInputSchema = z.object({\n name: z.string().describe('A human-readable name for the webhook.'),\n events: z\n .array(\n z.enum([\n 'chat.created',\n 'chat.updated',\n 'chat.deleted',\n 'message.created',\n 'message.updated',\n 'message.deleted',\n 'message.finished',\n ]),\n )\n .describe('List of event types the webhook should subscribe to.'),\n url: z.string().url().describe('The target URL to receive the webhook payloads.'),\n chatId: z.union([z.string(), z.null()]).describe('The ID of a chat to scope the webhook to.'),\n})\n\nconst webhooksDeleteInputSchema = z.object({\n hookId: z.string(),\n})\n\nconst webhooksGetInputSchema = z.object({\n hookId: z.string(),\n})\n\nconst webhooksListInputSchema = z.object({})\n\nconst webhooksUpdateInputSchema = z.object({\n hookId: z.string(),\n name: z.string().describe('A new display name for the webhook.').optional(),\n events: z\n .array(\n z.enum([\n 'chat.created',\n 'chat.updated',\n 'chat.deleted',\n 'message.created',\n 'message.updated',\n 'message.deleted',\n 'message.finished',\n ]),\n )\n .describe('Updated list of event types to subscribe to.')\n .optional(),\n url: z.string().url().describe('A new target URL to receive webhook payloads.').optional(),\n})\n\nexport function v0Tools(config: V0ToolsConfig = {}): V0ToolsFlat {\n const client = createV0Client(resolveV0ToolsConfig(config))\n\n return {\n chatsCreate: tool({\n description:\n 'Create Chat: Creates a new chat from a prompt. The request blocks until the model response is complete and returns the chat.',\n inputSchema: chatsCreateInputSchema,\n execute: async (input) => {\n const parameters = {\n message: input.message,\n systemPrompt: input.systemPrompt,\n modelConfiguration: input.modelConfiguration,\n attachments: input.attachments,\n mcpServerIds: input.mcpServerIds,\n skills: input.skills,\n privacy: input.privacy,\n title: input.title,\n metadata: input.metadata,\n }\n return toToolResult(await client.chats.create(parameters))\n },\n }),\n chatsCreateAsync: tool({\n description:\n 'Create Chat (Async): Creates a new chat with a user message and processes it in the background. Returns immediately with the chat ID and a \"queued\" status. Poll the apiUrl to check for completion.',\n inputSchema: chatsCreateAsyncInputSchema,\n execute: async (input) => {\n const parameters = {\n message: input.message,\n systemPrompt: input.systemPrompt,\n modelConfiguration: input.modelConfiguration,\n attachments: input.attachments,\n mcpServerIds: input.mcpServerIds,\n skills: input.skills,\n privacy: input.privacy,\n title: input.title,\n metadata: input.metadata,\n }\n return toToolResult(await client.chats.createAsync(parameters))\n },\n }),\n chatsCreateFromFiles: tool({\n description: 'Create Chat From Files: Creates a new chat from inline source files.',\n inputSchema: chatsCreateFromFilesInputSchema,\n execute: async (input) => {\n const parameters = {\n files: input.files,\n privacy: input.privacy,\n title: input.title,\n metadata: input.metadata,\n }\n return toToolResult(await client.chats.createFromFiles(parameters))\n },\n }),\n chatsCreateFromRepo: tool({\n description: 'Create Chat From Repository: Creates a new chat from a GitHub repository.',\n inputSchema: chatsCreateFromRepoInputSchema,\n execute: async (input) => {\n const parameters = {\n repo: input.repo,\n privacy: input.privacy,\n title: input.title,\n metadata: input.metadata,\n }\n return toToolResult(await client.chats.createFromRepo(parameters))\n },\n }),\n chatsCreateFromZip: tool({\n description: 'Create Chat From ZIP: Creates a new chat from a zip archive.',\n inputSchema: chatsCreateFromZipInputSchema,\n execute: async (input) => {\n const parameters = {\n url: input.url,\n privacy: input.privacy,\n title: input.title,\n metadata: input.metadata,\n }\n return toToolResult(await client.chats.createFromZip(parameters))\n },\n }),\n chatsCreateStream: tool({\n description:\n 'Create Chat (Streaming): Creates a new chat with a user message and returns a Server-Sent Events stream. Events include initial chat state, title deltas, content chunk deltas, and final chat state. The response is `text/event-stream`; each event is `data: <JSON>\\\\n\\\\n` where the JSON conforms to ChatStreamEvent.',\n inputSchema: chatsCreateStreamInputSchema,\n execute: async function* (input) {\n const parameters = {\n message: input.message,\n systemPrompt: input.systemPrompt,\n modelConfiguration: input.modelConfiguration,\n attachments: input.attachments,\n mcpServerIds: input.mcpServerIds,\n skills: input.skills,\n privacy: input.privacy,\n title: input.title,\n metadata: input.metadata,\n }\n const result = await client.chats.createStream(parameters)\n yield* result.stream\n },\n }),\n chatsCreateVercelProject: tool({\n description: 'Create Vercel Project: Creates a Vercel project and attaches it to the chat.',\n inputSchema: chatsCreateVercelProjectInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n name: input.name,\n }\n return toToolResult(await client.chats.createVercelProject(parameters))\n },\n }),\n chatsDelete: tool({\n description:\n 'Delete Chat: Deletes a chat and all its associated messages and blocks. The requester must have edit access to the chat.',\n inputSchema: chatsDeleteInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n }\n return toToolResult(await client.chats.delete(parameters))\n },\n }),\n chatsDeploy: tool({\n description:\n 'Deploy Chat: Triggers a Vercel deployment for a chat. Creates a Vercel project if one does not exist.',\n inputSchema: chatsDeployInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n }\n return toToolResult(await client.chats.deploy(parameters))\n },\n }),\n chatsDownloadFiles: tool({\n description: 'Download Chat Files: Downloads the source files for a chat as a ZIP archive.',\n inputSchema: chatsDownloadFilesInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n }\n return toToolResult(await client.chats.downloadFiles(parameters))\n },\n }),\n chatsDuplicate: tool({\n description: 'Duplicate Chat: Creates a new chat by duplicating an existing chat.',\n inputSchema: chatsDuplicateInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n privacy: input.privacy,\n title: input.title,\n }\n return toToolResult(await client.chats.duplicate(parameters))\n },\n }),\n chatsGet: tool({\n description: 'Get Chat: Retrieves a chat by ID.',\n inputSchema: chatsGetInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n }\n return toToolResult(await client.chats.get(parameters))\n },\n }),\n chatsGetFiles: tool({\n description: 'Get Chat Files: Returns the source files for a chat.',\n inputSchema: chatsGetFilesInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n }\n return toToolResult(await client.chats.getFiles(parameters))\n },\n }),\n chatsGetPreview: tool({\n description:\n \"Get Preview URL: Returns the preview URL for a chat. If the preview isn't ready, the response is null. Poll this endpoint until the response is non-null.\",\n inputSchema: chatsGetPreviewInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n }\n return toToolResult(await client.chats.getPreview(parameters))\n },\n }),\n chatsList: tool({\n description:\n 'List Chats: Lists chats accessible to the authenticated user. Use metadata[key]=value style query parameters to filter by metadata.',\n inputSchema: chatsListInputSchema,\n execute: async (input) => {\n const parameters = {\n limit: input.limit,\n cursor: input.cursor,\n authorId: input.authorId,\n vercelProjectId: input.vercelProjectId,\n metadata: input.metadata,\n }\n return toToolResult(await client.chats.list(parameters))\n },\n }),\n chatsRestoreMessage: tool({\n description:\n 'Restore Message: Restores the files associated with a message. Pass an assistant message, or pass a user message to restore the files from its assistant reply. The associated files must not already be the latest files in the chat.',\n inputSchema: chatsRestoreMessageInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n messageId: input.messageId,\n }\n return toToolResult(await client.chats.restoreMessage(parameters))\n },\n }),\n chatsResume: tool({\n description:\n 'Resume Chat Stream: Resumes consumption of the active assistant generation as Server-Sent Events. If the latest message has already finished, returns a closing chat-state event. The response is `text/event-stream`; each event is `data: <JSON>\\\\n\\\\n` where the JSON conforms to ChatStreamEvent.',\n inputSchema: chatsResumeInputSchema,\n execute: async function* (input) {\n const parameters = {\n chatId: input.chatId,\n }\n const result = await client.chats.resume(parameters)\n yield* result.stream\n },\n }),\n chatsUpdate: tool({\n description: \"Update Chat: Updates a chat's title, privacy, or metadata.\",\n inputSchema: chatsUpdateInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n title: input.title,\n privacy: input.privacy,\n metadata: input.metadata,\n }\n return toToolResult(await client.chats.update(parameters))\n },\n }),\n chatsUpdateFiles: tool({\n description:\n \"Update Chat Files: Creates, updates, or deletes files for a chat. Pass null to delete. This requires the chat's preview to be running.\",\n inputSchema: chatsUpdateFilesInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n files: input.files,\n }\n return toToolResult(await client.chats.updateFiles(parameters))\n },\n }),\n mcpServersCreate: tool({\n description:\n 'Create MCP Server: Creates a new MCP server configuration. Limited to 10 servers per user.',\n inputSchema: mcpServersCreateInputSchema,\n execute: async (input) => {\n const parameters = {\n name: input.name,\n url: input.url,\n description: input.description,\n enabled: input.enabled,\n auth: input.auth,\n scope: input.scope,\n }\n return toToolResult(await client.mcpServers.create(parameters))\n },\n }),\n mcpServersDelete: tool({\n description:\n 'Delete MCP Server: Deletes an MCP server and cleans up associated OAuth tokens. This action is irreversible.',\n inputSchema: mcpServersDeleteInputSchema,\n execute: async (input) => {\n const parameters = {\n mcpServerId: input.mcpServerId,\n }\n return toToolResult(await client.mcpServers.delete(parameters))\n },\n }),\n mcpServersGet: tool({\n description: 'Get MCP Server: Retrieves a specific MCP server by ID.',\n inputSchema: mcpServersGetInputSchema,\n execute: async (input) => {\n const parameters = {\n mcpServerId: input.mcpServerId,\n }\n return toToolResult(await client.mcpServers.get(parameters))\n },\n }),\n mcpServersList: tool({\n description: 'List MCP Servers: Retrieves all MCP servers configured for the current user.',\n inputSchema: mcpServersListInputSchema,\n execute: async () => {\n return toToolResult(await client.mcpServers.list())\n },\n }),\n mcpServersUpdate: tool({\n description: 'Update MCP Server: Updates an existing MCP server configuration.',\n inputSchema: mcpServersUpdateInputSchema,\n execute: async (input) => {\n const parameters = {\n mcpServerId: input.mcpServerId,\n name: input.name,\n url: input.url,\n description: input.description,\n enabled: input.enabled,\n auth: input.auth,\n scope: input.scope,\n }\n return toToolResult(await client.mcpServers.update(parameters))\n },\n }),\n messagesGet: tool({\n description: 'Get Message: Fetches a single message in a chat.',\n inputSchema: messagesGetInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n messageId: input.messageId,\n }\n return toToolResult(await client.messages.get(parameters))\n },\n }),\n messagesList: tool({\n description: 'Get Messages: Get all messages in a chat.',\n inputSchema: messagesListInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n limit: input.limit,\n cursor: input.cursor,\n }\n return toToolResult(await client.messages.list(parameters))\n },\n }),\n messagesResolve: tool({\n description:\n 'Resolve Task: Resolves a pending task in a chat, continuing the conversation. The latest message in the active chat fork must be an assistant message currently blocked on a matching task (integration setup, plan approval, question answers, or permission grants). Blocks until the model response is complete and returns the resulting message.',\n inputSchema: messagesResolveInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n task: input.task,\n modelConfiguration: input.modelConfiguration,\n }\n return toToolResult(await client.messages.resolve(parameters))\n },\n }),\n messagesResolveAsync: tool({\n description:\n 'Resolve Task (Async): Resolves a pending task and processes it in the background. Returns immediately with the assistant message ID. Poll GET /chats/:chatId/messages/:messageId and check `finishReason` to detect completion.',\n inputSchema: messagesResolveAsyncInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n task: input.task,\n modelConfiguration: input.modelConfiguration,\n }\n return toToolResult(await client.messages.resolveAsync(parameters))\n },\n }),\n messagesResolveStream: tool({\n description:\n 'Resolve Task (Streaming): Resolves a pending task in a chat and returns a Server-Sent Events stream. Events include the initial assistant-message snapshot, content chunk deltas, final usage, and a closing message snapshot. The response is `text/event-stream`; each event is `data: <JSON>\\\\n\\\\n` where the JSON conforms to MessageStreamEvent.',\n inputSchema: messagesResolveStreamInputSchema,\n execute: async function* (input) {\n const parameters = {\n chatId: input.chatId,\n task: input.task,\n modelConfiguration: input.modelConfiguration,\n }\n const result = await client.messages.resolveStream(parameters)\n yield* result.stream\n },\n }),\n messagesSend: tool({\n description:\n 'Send Message: Sends a new message to an existing chat. Blocks until the model response is complete and returns the message response.',\n inputSchema: messagesSendInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n message: input.message,\n systemPrompt: input.systemPrompt,\n modelConfiguration: input.modelConfiguration,\n mcpServerIds: input.mcpServerIds,\n attachments: input.attachments,\n skills: input.skills,\n action: input.action,\n }\n return toToolResult(await client.messages.send(parameters))\n },\n }),\n messagesSendAsync: tool({\n description:\n 'Send Message (Async): Sends a new message to an existing chat and processes it in the background. Returns immediately with the assistant message ID. Poll GET /chats/:chatId/messages/:messageId and check `finishReason` to detect completion.',\n inputSchema: messagesSendAsyncInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n message: input.message,\n systemPrompt: input.systemPrompt,\n modelConfiguration: input.modelConfiguration,\n mcpServerIds: input.mcpServerIds,\n attachments: input.attachments,\n skills: input.skills,\n action: input.action,\n }\n return toToolResult(await client.messages.sendAsync(parameters))\n },\n }),\n messagesSendStream: tool({\n description:\n 'Send Message (Streaming): Sends a new message to an existing chat and returns a Server-Sent Events stream. Events include the initial assistant-message snapshot, content chunk deltas, final usage, and a closing message snapshot. The response is `text/event-stream`; each event is `data: <JSON>\\\\n\\\\n` where the JSON conforms to MessageStreamEvent.',\n inputSchema: messagesSendStreamInputSchema,\n execute: async function* (input) {\n const parameters = {\n chatId: input.chatId,\n message: input.message,\n systemPrompt: input.systemPrompt,\n modelConfiguration: input.modelConfiguration,\n mcpServerIds: input.mcpServerIds,\n attachments: input.attachments,\n skills: input.skills,\n action: input.action,\n }\n const result = await client.messages.sendStream(parameters)\n yield* result.stream\n },\n }),\n messagesStop: tool({\n description:\n 'Stop Message: Stops an in-flight assistant message generation. The agent aborts at the next safe point and the message is marked finished.',\n inputSchema: messagesStopInputSchema,\n execute: async (input) => {\n const parameters = {\n chatId: input.chatId,\n messageId: input.messageId,\n }\n return toToolResult(await client.messages.stop(parameters))\n },\n }),\n webhooksCreate: tool({\n description:\n 'Create Webhook: Creates a new webhook that listens for specific events. Supports optional association with a chat.',\n inputSchema: webhooksCreateInputSchema,\n execute: async (input) => {\n const parameters = {\n name: input.name,\n events: input.events,\n url: input.url,\n chatId: input.chatId,\n }\n return toToolResult(await client.webhooks.create(parameters))\n },\n }),\n webhooksDelete: tool({\n description: 'Delete Webhook: Deletes a webhook. This action is irreversible.',\n inputSchema: webhooksDeleteInputSchema,\n execute: async (input) => {\n const parameters = {\n hookId: input.hookId,\n }\n return toToolResult(await client.webhooks.delete(parameters))\n },\n }),\n webhooksGet: tool({\n description: 'Get Webhook: Retrieves the details of a specific webhook using its ID.',\n inputSchema: webhooksGetInputSchema,\n execute: async (input) => {\n const parameters = {\n hookId: input.hookId,\n }\n return toToolResult(await client.webhooks.get(parameters))\n },\n }),\n webhooksList: tool({\n description: 'List Webhooks: Retrieves a list of all webhooks in your workspace.',\n inputSchema: webhooksListInputSchema,\n execute: async () => {\n return toToolResult(await client.webhooks.list())\n },\n }),\n webhooksUpdate: tool({\n description:\n 'Update Webhook: Updates the configuration of an existing webhook, including its name, event subscriptions, or target URL.',\n inputSchema: webhooksUpdateInputSchema,\n execute: async (input) => {\n const parameters = {\n hookId: input.hookId,\n name: input.name,\n events: input.events,\n url: input.url,\n }\n return toToolResult(await client.webhooks.update(parameters))\n },\n }),\n } satisfies V0ToolsFlat\n}\n\nexport function v0ToolsByCategory(config: V0ToolsConfig = {}): V0ToolsByCategory {\n const tools = v0Tools(config)\n\n return {\n chats: {\n chatsCreate: pickTool(tools, 'chatsCreate'),\n chatsCreateAsync: pickTool(tools, 'chatsCreateAsync'),\n chatsCreateFromFiles: pickTool(tools, 'chatsCreateFromFiles'),\n chatsCreateFromRepo: pickTool(tools, 'chatsCreateFromRepo'),\n chatsCreateFromZip: pickTool(tools, 'chatsCreateFromZip'),\n chatsCreateStream: pickTool(tools, 'chatsCreateStream'),\n chatsCreateVercelProject: pickTool(tools, 'chatsCreateVercelProject'),\n chatsDelete: pickTool(tools, 'chatsDelete'),\n chatsDeploy: pickTool(tools, 'chatsDeploy'),\n chatsDownloadFiles: pickTool(tools, 'chatsDownloadFiles'),\n chatsDuplicate: pickTool(tools, 'chatsDuplicate'),\n chatsGet: pickTool(tools, 'chatsGet'),\n chatsGetFiles: pickTool(tools, 'chatsGetFiles'),\n chatsGetPreview: pickTool(tools, 'chatsGetPreview'),\n chatsList: pickTool(tools, 'chatsList'),\n chatsRestoreMessage: pickTool(tools, 'chatsRestoreMessage'),\n chatsResume: pickTool(tools, 'chatsResume'),\n chatsUpdate: pickTool(tools, 'chatsUpdate'),\n chatsUpdateFiles: pickTool(tools, 'chatsUpdateFiles'),\n },\n mcpServers: {\n mcpServersCreate: pickTool(tools, 'mcpServersCreate'),\n mcpServersDelete: pickTool(tools, 'mcpServersDelete'),\n mcpServersGet: pickTool(tools, 'mcpServersGet'),\n mcpServersList: pickTool(tools, 'mcpServersList'),\n mcpServersUpdate: pickTool(tools, 'mcpServersUpdate'),\n },\n messages: {\n messagesGet: pickTool(tools, 'messagesGet'),\n messagesList: pickTool(tools, 'messagesList'),\n messagesResolve: pickTool(tools, 'messagesResolve'),\n messagesResolveAsync: pickTool(tools, 'messagesResolveAsync'),\n messagesResolveStream: pickTool(tools, 'messagesResolveStream'),\n messagesSend: pickTool(tools, 'messagesSend'),\n messagesSendAsync: pickTool(tools, 'messagesSendAsync'),\n messagesSendStream: pickTool(tools, 'messagesSendStream'),\n messagesStop: pickTool(tools, 'messagesStop'),\n },\n webhooks: {\n webhooksCreate: pickTool(tools, 'webhooksCreate'),\n webhooksDelete: pickTool(tools, 'webhooksDelete'),\n webhooksGet: pickTool(tools, 'webhooksGet'),\n webhooksList: pickTool(tools, 'webhooksList'),\n webhooksUpdate: pickTool(tools, 'webhooksUpdate'),\n },\n }\n}\n\nfunction resolveV0ToolsConfig(config: V0ToolsConfig): Parameters<typeof createV0ClientType>[0] {\n const { apiKey, ...clientConfig } = config\n const envApiKey = typeof process !== 'undefined' ? process.env['V0_API_KEY'] : undefined\n const auth = clientConfig.auth ?? apiKey ?? envApiKey\n\n return auth === undefined ? clientConfig : { ...clientConfig, auth }\n}\n\nfunction pickTool(tools: V0ToolsFlat, key: V0ToolName): V0GeneratedTool {\n const selected = tools[key]\n if (!selected) {\n throw new Error(`Missing generated v0 tool: ${key}`)\n }\n\n return selected\n}\n\nfunction toToolResult(result: unknown): unknown {\n if (result && typeof result === 'object' && ('data' in result || 'error' in result)) {\n const response = result as { data?: unknown; error?: unknown }\n\n if (response.error !== undefined) {\n return { error: response.error }\n }\n\n return response.data ?? null\n }\n\n return result\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,68 +1,54 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@v0-sdk/ai-tools",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "3.0.0-canary.bf3a020",
|
|
4
4
|
"description": "AI SDK tools for the v0 Platform API",
|
|
5
|
-
"
|
|
5
|
+
"keywords": [
|
|
6
|
+
"ai",
|
|
7
|
+
"sdk",
|
|
8
|
+
"tools",
|
|
9
|
+
"v0",
|
|
10
|
+
"vercel"
|
|
11
|
+
],
|
|
12
|
+
"license": "Apache-2.0",
|
|
6
13
|
"repository": {
|
|
7
14
|
"type": "git",
|
|
8
|
-
"url": "https://github.com/vercel/v0-sdk.git"
|
|
15
|
+
"url": "git+https://github.com/vercel/v0-sdk.git",
|
|
16
|
+
"directory": "packages/ai-tools"
|
|
9
17
|
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist"
|
|
20
|
+
],
|
|
10
21
|
"type": "module",
|
|
11
|
-
"
|
|
12
|
-
"
|
|
22
|
+
"sideEffects": false,
|
|
23
|
+
"main": "./dist/index.cjs",
|
|
24
|
+
"module": "./dist/index.mjs",
|
|
25
|
+
"types": "./dist/index.d.cts",
|
|
13
26
|
"exports": {
|
|
14
27
|
".": {
|
|
15
|
-
"
|
|
16
|
-
"import": "./dist/index.js",
|
|
28
|
+
"import": "./dist/index.mjs",
|
|
17
29
|
"require": "./dist/index.cjs"
|
|
18
|
-
}
|
|
30
|
+
},
|
|
31
|
+
"./package.json": "./package.json"
|
|
32
|
+
},
|
|
33
|
+
"scripts": {
|
|
34
|
+
"generate": "bun src/scripts/generate.ts",
|
|
35
|
+
"build": "tsdown",
|
|
36
|
+
"typecheck": "tsc",
|
|
37
|
+
"test": "bun test",
|
|
38
|
+
"prepublishOnly": "bun run generate && bun run build"
|
|
19
39
|
},
|
|
20
|
-
"files": [
|
|
21
|
-
"dist"
|
|
22
|
-
],
|
|
23
|
-
"keywords": [
|
|
24
|
-
"v0",
|
|
25
|
-
"vercel",
|
|
26
|
-
"ai",
|
|
27
|
-
"ai-sdk",
|
|
28
|
-
"tools",
|
|
29
|
-
"chat",
|
|
30
|
-
"sdk"
|
|
31
|
-
],
|
|
32
|
-
"license": "Apache-2.0",
|
|
33
40
|
"dependencies": {
|
|
34
|
-
"
|
|
35
|
-
"
|
|
41
|
+
"v0": "workspace:*",
|
|
42
|
+
"zod": "^4.1.11"
|
|
36
43
|
},
|
|
37
44
|
"devDependencies": {
|
|
38
|
-
"@
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
45
|
+
"@tsconfig/strictest": "^2.0.8",
|
|
46
|
+
"@types/bun": "latest",
|
|
47
|
+
"ai": "^5.0.0",
|
|
48
|
+
"tsdown": "^0.21.4",
|
|
49
|
+
"typescript": "^5.9.3"
|
|
43
50
|
},
|
|
44
51
|
"peerDependencies": {
|
|
45
52
|
"ai": "^5.0.0"
|
|
46
|
-
},
|
|
47
|
-
"engines": {
|
|
48
|
-
"node": ">=22",
|
|
49
|
-
"pnpm": ">=9"
|
|
50
|
-
},
|
|
51
|
-
"publishConfig": {
|
|
52
|
-
"access": "public"
|
|
53
|
-
},
|
|
54
|
-
"prettier": {
|
|
55
|
-
"semi": false,
|
|
56
|
-
"singleQuote": true,
|
|
57
|
-
"trailingComma": "all"
|
|
58
|
-
},
|
|
59
|
-
"scripts": {
|
|
60
|
-
"type-check": "tsc --noEmit",
|
|
61
|
-
"build": "bunchee",
|
|
62
|
-
"clean": "rm -rf dist *.tsbuildinfo",
|
|
63
|
-
"format": "prettier --write \"**/*.{ts,tsx,md}\"",
|
|
64
|
-
"lint": "echo 'No linting configured for ai-tools package'",
|
|
65
|
-
"test": "vitest run",
|
|
66
|
-
"test:watch": "vitest"
|
|
67
53
|
}
|
|
68
|
-
}
|
|
54
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
Copyright 2025 Vercel, Inc.
|
|
2
|
-
|
|
3
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
you may not use this file except in compliance with the License.
|
|
5
|
-
You may obtain a copy of the License at
|
|
6
|
-
|
|
7
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
|
|
9
|
-
Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
See the License for the specific language governing permissions and
|
|
13
|
-
limitations under the License.
|