diff --git a/example/convex/agents/config.ts b/example/convex/agents/config.ts index 11d0c19e..506e6c47 100644 --- a/example/convex/agents/config.ts +++ b/example/convex/agents/config.ts @@ -1,5 +1,5 @@ import { type Config } from "@convex-dev/agent"; -import { languageModel, textEmbeddingModel } from "../modelsForDemo"; +import { languageModel, embeddingModel } from "../modelsForDemo"; import { rawRequestResponseHandler } from "../debugging/rawRequestResponseHandler"; import { usageHandler } from "../usage_tracking/usageHandler"; @@ -11,5 +11,5 @@ export const defaultConfig = { temperature: 1.0, }, // If you want to use vector search, you need to set this. - textEmbeddingModel, + embeddingModel, } satisfies Config; diff --git a/example/convex/modelsForDemo.ts b/example/convex/modelsForDemo.ts index b3414b41..f851d14f 100644 --- a/example/convex/modelsForDemo.ts +++ b/example/convex/modelsForDemo.ts @@ -8,13 +8,13 @@ import { mockModel } from "@convex-dev/agent"; let languageModel: LanguageModelV3; // Note: This is only defined when OPENAI_API_KEY is set. Consumers should // handle the undefined case at runtime when using non-OpenAI providers. -let textEmbeddingModel: EmbeddingModel; +let embeddingModel: EmbeddingModel; if (process.env.ANTHROPIC_API_KEY) { languageModel = anthropic.chat("claude-opus-4-20250514"); } else if (process.env.OPENAI_API_KEY) { languageModel = openai.chat("gpt-4o-mini"); - textEmbeddingModel = openai.embedding("text-embedding-3-small"); + embeddingModel = openai.embedding("text-embedding-3-small"); } else if (process.env.GROQ_API_KEY) { languageModel = groq.languageModel( "meta-llama/llama-4-scout-17b-16e-instruct", @@ -27,4 +27,4 @@ if (process.env.ANTHROPIC_API_KEY) { } // If you want to use different models for examples, you can change them here. -export { languageModel, textEmbeddingModel }; +export { languageModel, embeddingModel }; diff --git a/example/convex/rag/ragAsPrompt.ts b/example/convex/rag/ragAsPrompt.ts index 122bc540..66c09d3c 100644 --- a/example/convex/rag/ragAsPrompt.ts +++ b/example/convex/rag/ragAsPrompt.ts @@ -3,12 +3,12 @@ import { RAG } from "@convex-dev/rag"; import { v } from "convex/values"; import { components, internal } from "../_generated/api"; import { action, internalAction, mutation } from "../_generated/server"; -import { textEmbeddingModel } from "../modelsForDemo"; +import { embeddingModel } from "../modelsForDemo"; import { agent } from "../agents/simple"; import { authorizeThreadAccess } from "../threads"; export const rag = new RAG(components.rag, { - textEmbeddingModel, + textEmbeddingModel: embeddingModel, embeddingDimension: 1536, }); diff --git a/example/convex/rag/ragAsTools.ts b/example/convex/rag/ragAsTools.ts index 0df481bb..2d7e35b0 100644 --- a/example/convex/rag/ragAsTools.ts +++ b/example/convex/rag/ragAsTools.ts @@ -7,10 +7,10 @@ import { components, internal } from "../_generated/api"; import { action } from "../_generated/server"; import { agent } from "../agents/simple"; import { getAuthUserId } from "../utils"; -import { textEmbeddingModel } from "../modelsForDemo"; +import { embeddingModel } from "../modelsForDemo"; const rag = new RAG(components.rag, { - textEmbeddingModel, + textEmbeddingModel: embeddingModel, embeddingDimension: 1536, }); diff --git a/example/convex/tools/searchMessages.ts b/example/convex/tools/searchMessages.ts index 8ceb38ee..8a400561 100644 --- a/example/convex/tools/searchMessages.ts +++ b/example/convex/tools/searchMessages.ts @@ -3,7 +3,7 @@ import { components } from "../_generated/api"; import { createTool, fetchContextMessages } from "@convex-dev/agent"; import z from "zod/v3"; import { embed } from "ai"; -import { textEmbeddingModel } from "../modelsForDemo"; +import { embeddingModel } from "../modelsForDemo"; /** * Manual search @@ -30,10 +30,10 @@ export const searchMessages = createTool({ }, }, getEmbedding: async (text) => { - const e = await embed({ model: textEmbeddingModel, value: text }); + const e = await embed({ model: embeddingModel, value: text }); return { embedding: e.embedding, - textEmbeddingModel, + embeddingModel, }; }, }); diff --git a/package-lock.json b/package-lock.json index 2ac13b05..f4274d20 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,9 +15,9 @@ "@ai-sdk/openai": "3.0.10", "@ai-sdk/provider": "3.0.3", "@ai-sdk/provider-utils": "4.0.6", - "@convex-dev/rag": "0.7.2", + "@convex-dev/rag": "0.7.5", "@convex-dev/rate-limiter": "0.3.2", - "@convex-dev/workflow": "0.3.6", + "@convex-dev/workflow": "0.4.3", "@edge-runtime/vm": "5.0.0", "@eslint/js": "9.39.4", "@hookform/resolvers": "5.2.2", @@ -38,9 +38,9 @@ "chokidar-cli": "3.0.0", "class-variance-authority": "0.7.1", "clsx": "2.1.1", - "convex": "1.35.1", + "convex": "1.39.1", "convex-helpers": "0.1.114", - "convex-test": "0.0.44", + "convex-test": "0.0.53", "dayjs": "1.11.20", "dotenv": "16.6.1", "eslint": "9.39.4", @@ -617,16 +617,16 @@ "peer": true }, "node_modules/@convex-dev/rag": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@convex-dev/rag/-/rag-0.7.2.tgz", - "integrity": "sha512-LuwiJdnE6twrM+5tVldmOpZqmR6eIQpMroCOyXWTNE7XDfqWz52GKDenraLG95xNRbn5wcxg8mkOrZIUUgwGDg==", + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@convex-dev/rag/-/rag-0.7.5.tgz", + "integrity": "sha512-u48NNcYdnBpGaAYq9GAbqEsCgFlKbaTj3Fc3cA+mNFis1flpy3Zz4eP2XdDavuyf/cNYE1dbxbnU20OcTvekOA==", "dev": true, "license": "Apache-2.0", "dependencies": { + "@convex-dev/workpool": "^0.4.3 || ^0.4.7-alpha", "ai": "^6.0.0" }, "peerDependencies": { - "@convex-dev/workpool": "^0.3.0", "convex": "^1.24.8", "convex-helpers": "^0.1.94" } @@ -648,29 +648,28 @@ } }, "node_modules/@convex-dev/workflow": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@convex-dev/workflow/-/workflow-0.3.6.tgz", - "integrity": "sha512-qLPOZ5lXleCRFlVGchC9Q9v9L72dCNgjF3+GLaPnS03Up7RusNLZxdszgAeyKjY6a02DBQQWPdc1RWn8WCWQDw==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@convex-dev/workflow/-/workflow-0.4.3.tgz", + "integrity": "sha512-Dq4PzVj4/cv0eTTN8VDIU8ButhToxRjNc9fbdLrTApA3V4litqiluXl9BpKRZcWNFmSagZieMG9r4/7sOBJ/Xw==", "dev": true, "license": "Apache-2.0", "dependencies": { "async-channel": "^0.2.0" }, "peerDependencies": { - "@convex-dev/workpool": "^0.3.0 || ^0.4.0", - "convex": "^1.31.7", + "@convex-dev/workpool": "^0.4.4", + "convex": "^1.36.1", "convex-helpers": "^0.1.99" } }, "node_modules/@convex-dev/workpool": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@convex-dev/workpool/-/workpool-0.3.1.tgz", - "integrity": "sha512-uw4Mi+irhhoYA/KwaMo5wXyYJ7BbxqeaLcCZbst3t1SxPN5488rpnR0OwBcPDCmwcdQjBVHOx+q8S4GUjq0Csg==", + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/@convex-dev/workpool/-/workpool-0.4.7.tgz", + "integrity": "sha512-4O3VKcJXqYZ9icDgKdVPxjDGUAFK3oG0hbUwLcyYMYgsvVKlZDhvZRmczqSBZHLyrCGPpf925byh0dBigCfAGA==", "dev": true, "license": "Apache-2.0", - "peer": true, "peerDependencies": { - "convex": "^1.24.8", + "convex": "^1.31.7", "convex-helpers": "^0.1.94" } }, @@ -4599,9 +4598,9 @@ "license": "MIT" }, "node_modules/convex": { - "version": "1.35.1", - "resolved": "https://registry.npmjs.org/convex/-/convex-1.35.1.tgz", - "integrity": "sha512-g23KrTjBiXqRHzWIN0PVFagKjrmFxWUaOSiBsAWPTpXX2rXl0L1F4PR0YpAcMJEzMgfZR9AGymJvLTM+KA6lsQ==", + "version": "1.39.1", + "resolved": "https://registry.npmjs.org/convex/-/convex-1.39.1.tgz", + "integrity": "sha512-W+gVXA7BpRF1xLlS1kGTtKVaqd5yonqbGESKiPtIUXjV744GdDz8IG7RVsSY5KzHbgxuJBHKaJYk+92OIHTskQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -4619,7 +4618,7 @@ "peerDependencies": { "@auth0/auth0-react": "^2.0.1", "@clerk/clerk-react": "^4.12.8 || ^5.0.0", - "@clerk/react": "^6.0.0", + "@clerk/react": "^6.4.3", "react": "^18.0.0 || ^19.0.0-0 || ^19.0.0" }, "peerDependenciesMeta": { @@ -4673,9 +4672,9 @@ } }, "node_modules/convex-test": { - "version": "0.0.44", - "resolved": "https://registry.npmjs.org/convex-test/-/convex-test-0.0.44.tgz", - "integrity": "sha512-2tv5XRx1n9z4kKwIiUU1UZgC0UDgUGpqAL2D2Hq45cHJ6HBTemfP2wKPMOcfag6ATFfmyqK3Xau0fKiJCtrdxQ==", + "version": "0.0.53", + "resolved": "https://registry.npmjs.org/convex-test/-/convex-test-0.0.53.tgz", + "integrity": "sha512-bouZQTnTvZi8IHljHL++yClj1vcV+/9ZxEcd8JZz7RDxOfPkRKrkMgkk/xlX4M1EAiwcEJPNiQE7VJFvDM3lCQ==", "dev": true, "license": "Apache-2.0", "peerDependencies": { diff --git a/package.json b/package.json index ddd92f8a..b273991d 100644 --- a/package.json +++ b/package.json @@ -87,9 +87,9 @@ "@ai-sdk/openai": "3.0.10", "@ai-sdk/provider": "3.0.3", "@ai-sdk/provider-utils": "4.0.6", - "@convex-dev/rag": "0.7.2", + "@convex-dev/rag": "0.7.5", "@convex-dev/rate-limiter": "0.3.2", - "@convex-dev/workflow": "0.3.6", + "@convex-dev/workflow": "0.4.3", "@edge-runtime/vm": "5.0.0", "@eslint/js": "9.39.4", "@hookform/resolvers": "5.2.2", @@ -110,9 +110,9 @@ "chokidar-cli": "3.0.0", "class-variance-authority": "0.7.1", "clsx": "2.1.1", - "convex": "1.35.1", + "convex": "1.39.1", "convex-helpers": "0.1.114", - "convex-test": "0.0.44", + "convex-test": "0.0.53", "dayjs": "1.11.20", "dotenv": "16.6.1", "eslint": "9.39.4", diff --git a/src/client/types.ts b/src/client/types.ts index ea07439a..24db4583 100644 --- a/src/client/types.ts +++ b/src/client/types.ts @@ -32,8 +32,6 @@ export interface Output<_T = any, _P = any, _E = any> { import type { GenericActionCtx, GenericDataModel, - GenericMutationCtx, - GenericQueryCtx, WithoutSystemFields, } from "convex/server"; import type { @@ -629,9 +627,9 @@ export type SyncStreamsReturnValue = | undefined; /* Type utils follow */ -export type QueryCtx = Pick, "runQuery">; +export type QueryCtx = Pick, "runQuery">; export type MutationCtx = Pick< - GenericMutationCtx, + GenericActionCtx, "runQuery" | "runMutation" >; export type ActionCtx = Pick<