diff --git a/apps/gateway/wrangler.jsonc b/apps/gateway/wrangler.jsonc index 6a1543a2..fdd6f922 100644 --- a/apps/gateway/wrangler.jsonc +++ b/apps/gateway/wrangler.jsonc @@ -3,10 +3,16 @@ */ { "$schema": "node_modules/wrangler/config-schema.json", - "name": "agentic-api-gateway", + "name": "agentic-gateway", "main": "src/worker.ts", "compatibility_date": "2025-05-25", "compatibility_flags": ["nodejs_compat"], + "placement": { "mode": "smart" }, + "upload_source_maps": true, + "observability": { + "enabled": true, + "head_sampling_rate": 1 + }, "migrations": [ { "tag": "v1", @@ -33,15 +39,10 @@ } ] }, - "observability": { - "enabled": true - }, - "placement": { "mode": "smart" }, - "upload_source_maps": true, "analytics_engine_datasets": [ { "binding": "AE_USAGE_DATASET", - "dataset": "agentic_api_gateway_usage" + "dataset": "agentic_gateway_usage" } ] } diff --git a/apps/web/src/lib/developer-config.ts b/apps/web/src/lib/developer-config.ts index 1354902e..07dc23df 100644 --- a/apps/web/src/lib/developer-config.ts +++ b/apps/web/src/lib/developer-config.ts @@ -211,6 +211,7 @@ const res = await openai.responses.create({ }) const toolCall = res.output[0] +assert(toolCall?.type === 'function_call') const toolResult = await searchTool.callTool(toolCall.name, toolCall.arguments) console.log(toolResult) diff --git a/examples/search/.dev.vars.example b/examples/mcp-servers/search/.dev.vars.example similarity index 100% rename from examples/search/.dev.vars.example rename to examples/mcp-servers/search/.dev.vars.example diff --git a/examples/search/.env.example b/examples/mcp-servers/search/.env.example similarity index 100% rename from examples/search/.env.example rename to examples/mcp-servers/search/.env.example diff --git a/examples/search/agentic.config.ts b/examples/mcp-servers/search/agentic.config.ts similarity index 100% rename from examples/search/agentic.config.ts rename to examples/mcp-servers/search/agentic.config.ts diff --git a/examples/search/package.json b/examples/mcp-servers/search/package.json similarity index 100% rename from examples/search/package.json rename to examples/mcp-servers/search/package.json diff --git a/examples/search/src/env.ts b/examples/mcp-servers/search/src/env.ts similarity index 100% rename from examples/search/src/env.ts rename to examples/mcp-servers/search/src/env.ts diff --git a/examples/search/src/worker.ts b/examples/mcp-servers/search/src/worker.ts similarity index 100% rename from examples/search/src/worker.ts rename to examples/mcp-servers/search/src/worker.ts diff --git a/examples/search/tsconfig.json b/examples/mcp-servers/search/tsconfig.json similarity index 100% rename from examples/search/tsconfig.json rename to examples/mcp-servers/search/tsconfig.json diff --git a/examples/search/wrangler.jsonc b/examples/mcp-servers/search/wrangler.jsonc similarity index 100% rename from examples/search/wrangler.jsonc rename to examples/mcp-servers/search/wrangler.jsonc diff --git a/legacy/examples/ai-sdk/bin/mcp-filesystem.ts b/examples/ts-sdks/ai-sdk/bin/mcp-filesystem.ts similarity index 100% rename from legacy/examples/ai-sdk/bin/mcp-filesystem.ts rename to examples/ts-sdks/ai-sdk/bin/mcp-filesystem.ts diff --git a/legacy/examples/ai-sdk/bin/weather-experimental-active-tools.ts b/examples/ts-sdks/ai-sdk/bin/weather-experimental-active-tools.ts similarity index 69% rename from legacy/examples/ai-sdk/bin/weather-experimental-active-tools.ts rename to examples/ts-sdks/ai-sdk/bin/weather-experimental-active-tools.ts index ed69e56f..cd676204 100644 --- a/legacy/examples/ai-sdk/bin/weather-experimental-active-tools.ts +++ b/examples/ts-sdks/ai-sdk/bin/weather-experimental-active-tools.ts @@ -1,18 +1,18 @@ import 'dotenv/config' import { createAISDKTools } from '@agentic/ai-sdk' -import { WeatherClient } from '@agentic/stdlib' +import { AgenticToolClient } from '@agentic/platform-tool-client' import { createOpenAI } from '@ai-sdk/openai' import { generateText } from 'ai' async function main() { - const weather = new WeatherClient() + const searchTool = await AgenticToolClient.fromIdentifier('@agentic/search') const openai = createOpenAI({ compatibility: 'strict' }) const result = await generateText({ model: openai('gpt-4o-mini'), - tools: createAISDKTools(weather), - experimental_activeTools: Array.from(weather.functions).map( + tools: createAISDKTools(searchTool), + experimental_activeTools: Array.from(searchTool.functions).map( (fn) => fn.spec.name ), toolChoice: 'required', diff --git a/legacy/examples/ai-sdk/bin/weather.ts b/examples/ts-sdks/ai-sdk/bin/weather.ts similarity index 74% rename from legacy/examples/ai-sdk/bin/weather.ts rename to examples/ts-sdks/ai-sdk/bin/weather.ts index 7aa3ed4b..dd43dfba 100644 --- a/legacy/examples/ai-sdk/bin/weather.ts +++ b/examples/ts-sdks/ai-sdk/bin/weather.ts @@ -1,17 +1,17 @@ import 'dotenv/config' import { createAISDKTools } from '@agentic/ai-sdk' -import { WeatherClient } from '@agentic/stdlib' +import { AgenticToolClient } from '@agentic/platform-tool-client' import { createOpenAI } from '@ai-sdk/openai' import { generateText } from 'ai' async function main() { - const weather = new WeatherClient() + const searchTool = await AgenticToolClient.fromIdentifier('@agentic/search') const openai = createOpenAI({ compatibility: 'strict' }) const result = await generateText({ model: openai('gpt-4o-mini'), - tools: createAISDKTools(weather), + tools: createAISDKTools(searchTool), toolChoice: 'required', temperature: 0, system: 'You are a helpful assistant. Be as concise as possible.', diff --git a/legacy/examples/ai-sdk/package.json b/examples/ts-sdks/ai-sdk/package.json similarity index 77% rename from legacy/examples/ai-sdk/package.json rename to examples/ts-sdks/ai-sdk/package.json index 75a34de4..bb205890 100644 --- a/legacy/examples/ai-sdk/package.json +++ b/examples/ts-sdks/ai-sdk/package.json @@ -1,16 +1,15 @@ { - "name": "agentic-examples-ai-sdk", + "name": "agentic-ts-examples-ai-sdk", "type": "module", "private": true, "scripts": { "test": "run-s test:*", - "test:lint": "eslint .", "test:typecheck": "tsc --noEmit" }, "dependencies": { "@agentic/ai-sdk": "workspace:*", "@agentic/mcp": "workspace:*", - "@agentic/stdlib": "workspace:*", + "@agentic/platform-tool-client": "workspace:*", "@ai-sdk/openai": "catalog:", "ai": "catalog:", "exit-hook": "catalog:", diff --git a/legacy/examples/ai-sdk/tsconfig.json b/examples/ts-sdks/ai-sdk/tsconfig.json similarity index 100% rename from legacy/examples/ai-sdk/tsconfig.json rename to examples/ts-sdks/ai-sdk/tsconfig.json diff --git a/legacy/examples/genaiscript/calculator.genai.mts b/examples/ts-sdks/genaiscript/calculator.genai.mts similarity index 100% rename from legacy/examples/genaiscript/calculator.genai.mts rename to examples/ts-sdks/genaiscript/calculator.genai.mts diff --git a/legacy/examples/genkit/bin/weather.ts b/examples/ts-sdks/genkit/bin/weather.ts similarity index 70% rename from legacy/examples/genkit/bin/weather.ts rename to examples/ts-sdks/genkit/bin/weather.ts index 489fa928..900c381a 100644 --- a/legacy/examples/genkit/bin/weather.ts +++ b/examples/ts-sdks/genkit/bin/weather.ts @@ -1,12 +1,12 @@ import 'dotenv/config' import { createGenkitTools } from '@agentic/genkit' -import { WeatherClient } from '@agentic/stdlib' +import { AgenticToolClient } from '@agentic/platform-tool-client' import { genkit } from 'genkit' import { gpt4oMini, openAI } from 'genkitx-openai' async function main() { - const weather = new WeatherClient() + const searchTool = await AgenticToolClient.fromIdentifier('@agentic/search') const ai = genkit({ plugins: [openAI()] @@ -14,7 +14,7 @@ async function main() { const result = await ai.generate({ model: gpt4oMini, - tools: createGenkitTools(ai, weather), + tools: createGenkitTools(ai, searchTool), system: 'You are a helpful assistant. Be as concise as possible.', prompt: 'What is the weather in San Francisco?' }) diff --git a/legacy/examples/genkit/package.json b/examples/ts-sdks/genkit/package.json similarity index 86% rename from legacy/examples/genkit/package.json rename to examples/ts-sdks/genkit/package.json index 0b10565d..e10bec9d 100644 --- a/legacy/examples/genkit/package.json +++ b/examples/ts-sdks/genkit/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@agentic/genkit": "workspace:*", - "@agentic/stdlib": "workspace:*", + "@agentic/platform-tool-client": "workspace:*", "genkit": "catalog:", "genkitx-openai": "catalog:", "zod": "catalog:" diff --git a/legacy/examples/genkit/tsconfig.json b/examples/ts-sdks/genkit/tsconfig.json similarity index 100% rename from legacy/examples/genkit/tsconfig.json rename to examples/ts-sdks/genkit/tsconfig.json diff --git a/legacy/examples/langchain/bin/weather.ts b/examples/ts-sdks/langchain/bin/weather.ts similarity index 82% rename from legacy/examples/langchain/bin/weather.ts rename to examples/ts-sdks/langchain/bin/weather.ts index 990cd2a3..fef6eaf3 100644 --- a/legacy/examples/langchain/bin/weather.ts +++ b/examples/ts-sdks/langchain/bin/weather.ts @@ -1,15 +1,15 @@ import 'dotenv/config' import { createLangChainTools } from '@agentic/langchain' -import { WeatherClient } from '@agentic/stdlib' +import { AgenticToolClient } from '@agentic/platform-tool-client' import { ChatPromptTemplate } from '@langchain/core/prompts' import { ChatOpenAI } from '@langchain/openai' import { AgentExecutor, createToolCallingAgent } from 'langchain/agents' async function main() { - const weather = new WeatherClient() + const searchTool = await AgenticToolClient.fromIdentifier('@agentic/search') - const tools = createLangChainTools(weather) + const tools = createLangChainTools(searchTool) const agent = createToolCallingAgent({ llm: new ChatOpenAI({ model: 'gpt-4o-mini', temperature: 0 }), tools, diff --git a/legacy/examples/langchain/package.json b/examples/ts-sdks/langchain/package.json similarity index 88% rename from legacy/examples/langchain/package.json rename to examples/ts-sdks/langchain/package.json index 7d39894c..2194b52d 100644 --- a/legacy/examples/langchain/package.json +++ b/examples/ts-sdks/langchain/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@agentic/langchain": "workspace:*", - "@agentic/stdlib": "workspace:*", + "@agentic/platform-tool-client": "workspace:*", "@langchain/core": "catalog:", "@langchain/openai": "catalog:", "langchain": "catalog:", diff --git a/legacy/examples/langchain/tsconfig.json b/examples/ts-sdks/langchain/tsconfig.json similarity index 100% rename from legacy/examples/langchain/tsconfig.json rename to examples/ts-sdks/langchain/tsconfig.json diff --git a/legacy/examples/llamaindex/bin/weather.ts b/examples/ts-sdks/llamaindex/bin/weather.ts similarity index 72% rename from legacy/examples/llamaindex/bin/weather.ts rename to examples/ts-sdks/llamaindex/bin/weather.ts index d47dc21a..a23a11d0 100644 --- a/legacy/examples/llamaindex/bin/weather.ts +++ b/examples/ts-sdks/llamaindex/bin/weather.ts @@ -1,14 +1,14 @@ import 'dotenv/config' import { createLlamaIndexTools } from '@agentic/llamaindex' -import { WeatherClient } from '@agentic/stdlib' +import { AgenticToolClient } from '@agentic/platform-tool-client' import { openai } from '@llamaindex/openai' import { agent } from '@llamaindex/workflow' async function main() { - const weather = new WeatherClient() + const searchTool = await AgenticToolClient.fromIdentifier('@agentic/search') - const tools = createLlamaIndexTools(weather) + const tools = createLlamaIndexTools(searchTool) const weatherAgent = agent({ llm: openai({ model: 'gpt-4o-mini', temperature: 0 }), systemPrompt: 'You are a helpful assistant. Be as concise as possible.', diff --git a/legacy/examples/llamaindex/package.json b/examples/ts-sdks/llamaindex/package.json similarity index 89% rename from legacy/examples/llamaindex/package.json rename to examples/ts-sdks/llamaindex/package.json index 6f644252..8db462e4 100644 --- a/legacy/examples/llamaindex/package.json +++ b/examples/ts-sdks/llamaindex/package.json @@ -10,7 +10,7 @@ "dependencies": { "@agentic/core": "workspace:*", "@agentic/llamaindex": "workspace:*", - "@agentic/stdlib": "workspace:*", + "@agentic/platform-tool-client": "workspace:*", "@llamaindex/openai": "catalog:", "@llamaindex/workflow": "catalog:", "llamaindex": "catalog:", diff --git a/legacy/examples/llamaindex/tsconfig.json b/examples/ts-sdks/llamaindex/tsconfig.json similarity index 100% rename from legacy/examples/llamaindex/tsconfig.json rename to examples/ts-sdks/llamaindex/tsconfig.json diff --git a/legacy/examples/mastra/bin/weather.ts b/examples/ts-sdks/mastra/bin/weather.ts similarity index 64% rename from legacy/examples/mastra/bin/weather.ts rename to examples/ts-sdks/mastra/bin/weather.ts index 286ef4d1..68ecdf60 100644 --- a/legacy/examples/mastra/bin/weather.ts +++ b/examples/ts-sdks/mastra/bin/weather.ts @@ -1,19 +1,18 @@ import 'dotenv/config' import { createMastraTools } from '@agentic/mastra' -import { WeatherClient } from '@agentic/weather' +import { AgenticToolClient } from '@agentic/platform-tool-client' import { openai } from '@ai-sdk/openai' import { Agent } from '@mastra/core/agent' async function main() { - const weather = new WeatherClient() + const searchTool = await AgenticToolClient.fromIdentifier('@agentic/search') const weatherAgent = new Agent({ name: 'Weather Agent', instructions: 'You are a helpful assistant. Be as concise as possible.', - // TODO: this appears to be a recent bug in mastra or ai-sdk requiring an `any` here - model: openai('gpt-4o-mini') as any, - tools: createMastraTools(weather) + model: openai('gpt-4o-mini'), + tools: createMastraTools(searchTool) }) const res = await weatherAgent.generate( diff --git a/legacy/examples/mastra/package.json b/examples/ts-sdks/mastra/package.json similarity index 86% rename from legacy/examples/mastra/package.json rename to examples/ts-sdks/mastra/package.json index 9cfde456..d65ee435 100644 --- a/legacy/examples/mastra/package.json +++ b/examples/ts-sdks/mastra/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@agentic/mastra": "workspace:*", - "@agentic/weather": "workspace:*", + "@agentic/platform-tool-client": "workspace:*", "@ai-sdk/openai": "catalog:", "@mastra/core": "catalog:", "zod": "catalog:" diff --git a/legacy/examples/mastra/tsconfig.json b/examples/ts-sdks/mastra/tsconfig.json similarity index 100% rename from legacy/examples/mastra/tsconfig.json rename to examples/ts-sdks/mastra/tsconfig.json diff --git a/legacy/examples/openai/bin/weather-responses.ts b/examples/ts-sdks/openai/bin/weather-responses.ts similarity index 59% rename from legacy/examples/openai/bin/weather-responses.ts rename to examples/ts-sdks/openai/bin/weather-responses.ts index c8c9a07e..e48accc3 100644 --- a/legacy/examples/openai/bin/weather-responses.ts +++ b/examples/ts-sdks/openai/bin/weather-responses.ts @@ -1,11 +1,11 @@ import 'dotenv/config' import { assert } from '@agentic/core' -import { WeatherClient } from '@agentic/stdlib' +import { AgenticToolClient } from '@agentic/platform-tool-client' import OpenAI from 'openai' async function main() { - const weather = new WeatherClient() + const searchTool = await AgenticToolClient.fromIdentifier('@agentic/search') const openai = new OpenAI() const messages: OpenAI.Responses.ResponseInput = [ @@ -17,28 +17,26 @@ async function main() { ] { - // First call to OpenAI to invoke the weather tool + // First call to OpenAI to invoke the tool const res = await openai.responses.create({ model: 'gpt-4o-mini', temperature: 0, - tools: weather.functions.responsesToolSpecs, + tools: searchTool.functions.responsesToolSpecs, tool_choice: 'required', input: messages }) - const message = res.output[0] - console.log(JSON.stringify(message, null, 2)) - assert(message?.type === 'function_call') - assert(message.name === 'get_current_weather') + const toolCall = res.output[0] + assert(toolCall?.type === 'function_call') + const toolResult = await searchTool.callTool( + toolCall.name, + toolCall.arguments + ) - const fn = weather.functions.get('get_current_weather')! - assert(fn) - const toolResult = await fn(message.arguments) - - messages.push(message) + messages.push(toolCall) messages.push({ type: 'function_call_output', - call_id: message.call_id, + call_id: toolCall.call_id, output: JSON.stringify(toolResult) }) } @@ -50,7 +48,7 @@ async function main() { const res = await openai.responses.create({ model: 'gpt-4o-mini', temperature: 0, - tools: weather.functions.responsesToolSpecs, + tools: searchTool.functions.responsesToolSpecs, input: messages }) diff --git a/legacy/examples/openai/bin/weather.ts b/examples/ts-sdks/openai/bin/weather.ts similarity index 59% rename from legacy/examples/openai/bin/weather.ts rename to examples/ts-sdks/openai/bin/weather.ts index ccd578b6..93b3cc1c 100644 --- a/legacy/examples/openai/bin/weather.ts +++ b/examples/ts-sdks/openai/bin/weather.ts @@ -1,11 +1,10 @@ import 'dotenv/config' -import { assert } from '@agentic/core' -import { WeatherClient } from '@agentic/stdlib' +import { AgenticToolClient } from '@agentic/platform-tool-client' import OpenAI from 'openai' async function main() { - const weather = new WeatherClient() + const searchTool = await AgenticToolClient.fromIdentifier('@agentic/search') const openai = new OpenAI() const messages: OpenAI.ChatCompletionMessageParam[] = [ @@ -17,28 +16,26 @@ async function main() { ] { - // First call to OpenAI to invoke the weather tool + // First call to OpenAI to invoke the tool const res = await openai.chat.completions.create({ messages, model: 'gpt-4o-mini', temperature: 0, - tools: weather.functions.toolSpecs, + tools: searchTool.functions.toolSpecs, tool_choice: 'required' }) + const message = res.choices[0]!.message! - console.log(JSON.stringify(message, null, 2)) - assert(message.tool_calls?.[0]?.function?.name === 'get_current_weather') - - const fn = weather.functions.get('get_current_weather')! - assert(fn) - - const toolParams = message.tool_calls[0].function.arguments - const toolResult = await fn(toolParams) + const toolCall = message.tool_calls![0]!.function! + const toolResult = await searchTool.callTool( + toolCall.name, + toolCall.arguments + ) messages.push(message) messages.push({ role: 'tool', - tool_call_id: message.tool_calls[0].id, + tool_call_id: message.tool_calls![0]!.id, content: JSON.stringify(toolResult) }) } @@ -51,10 +48,10 @@ async function main() { messages, model: 'gpt-4o-mini', temperature: 0, - tools: weather.functions.toolSpecs + tools: searchTool.functions.toolSpecs }) const message = res.choices?.[0]?.message - console.log(message?.content) + console.log(message) } } diff --git a/legacy/examples/openai/package.json b/examples/ts-sdks/openai/package.json similarity index 85% rename from legacy/examples/openai/package.json rename to examples/ts-sdks/openai/package.json index 57b251f2..d8940f08 100644 --- a/legacy/examples/openai/package.json +++ b/examples/ts-sdks/openai/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@agentic/core": "workspace:*", - "@agentic/stdlib": "workspace:*", + "@agentic/platform-tool-client": "workspace:*", "openai": "catalog:", "zod": "catalog:" } diff --git a/legacy/examples/openai/tsconfig.json b/examples/ts-sdks/openai/tsconfig.json similarity index 100% rename from legacy/examples/openai/tsconfig.json rename to examples/ts-sdks/openai/tsconfig.json diff --git a/legacy/examples/ai-sdk/bin/tavily.ts b/legacy/examples/ai-sdk/bin/tavily.ts deleted file mode 100644 index 78b569e7..00000000 --- a/legacy/examples/ai-sdk/bin/tavily.ts +++ /dev/null @@ -1,27 +0,0 @@ -import 'dotenv/config' - -import { createAISDKTools } from '@agentic/ai-sdk' -import { TavilyClient } from '@agentic/stdlib' -import { createOpenAI } from '@ai-sdk/openai' -import { generateText } from 'ai' - -async function main() { - const tavily = new TavilyClient() - const openai = createOpenAI({ compatibility: 'compatible' }) - - const result = await generateText({ - model: openai('gpt-4o-mini', { - // TODO: https://github.com/transitive-bullshit/agentic/issues/702 - // structuredOutputs: true - }), - tools: createAISDKTools(tavily), - toolChoice: 'required', - temperature: 0, - system: 'You are a helpful assistant. Be as concise as possible.', - prompt: 'What is the latest news in the US right now?' - }) - - console.log(JSON.stringify(result.toolResults[0], null, 2)) -} - -await main() diff --git a/package.json b/package.json index b411b218..656eead9 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "@types/node": "catalog:", "bumpp": "catalog:", "del-cli": "catalog:", + "dotenv": "catalog:", "eslint": "catalog:", "eslint-plugin-drizzle": "catalog:", "knip": "catalog:", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cbc2fb18..c4b70aaa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,6 +12,9 @@ catalogs: '@agentic/serper': specifier: ^7.6.9 version: 7.6.9 + '@ai-sdk/openai': + specifier: ^1.3.22 + version: 1.3.22 '@apideck/better-ajv-errors': specifier: ^0.3.6 version: 0.3.6 @@ -66,6 +69,15 @@ catalogs: '@langchain/core': specifier: ^0.3.60 version: 0.3.61 + '@langchain/openai': + specifier: ^0.5.14 + version: 0.5.16 + '@llamaindex/openai': + specifier: ^0.4.4 + version: 0.4.6 + '@llamaindex/workflow': + specifier: ^1.1.9 + version: 1.1.12 '@mastra/core': specifier: ^0.10.6 version: 0.10.8 @@ -229,7 +241,7 @@ catalogs: specifier: ^6.0.0 version: 6.0.0 dotenv: - specifier: ^16.5.0 + specifier: 16.5.0 version: 16.5.0 drizzle-kit: specifier: ^0.31.4 @@ -264,6 +276,9 @@ catalogs: genkit: specifier: ^1.13.0 version: 1.14.0 + genkitx-openai: + specifier: ^0.22.3 + version: 0.22.3 get-port: specifier: ^7.1.0 version: 7.1.0 @@ -285,6 +300,9 @@ catalogs: ky: specifier: ^1.8.1 version: 1.8.1 + langchain: + specifier: ^0.3.29 + version: 0.3.29 lint-staged: specifier: ^16.1.2 version: 16.1.2 @@ -321,6 +339,9 @@ catalogs: open: specifier: ^10.1.2 version: 10.1.2 + openai: + specifier: ^5.5.1 + version: 5.8.2 openai-fetch: specifier: ^3.4.2 version: 3.4.2 @@ -479,6 +500,9 @@ importers: del-cli: specifier: 'catalog:' version: 6.0.0 + dotenv: + specifier: 'catalog:' + version: 16.5.0 eslint: specifier: 'catalog:' version: 9.30.0(jiti@2.4.2) @@ -904,11 +928,11 @@ importers: specifier: 'catalog:' version: 4.1.97(@types/node@24.0.7)(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) - examples/search: + examples/mcp-servers/search: dependencies: '@agentic/platform': specifier: workspace:* - version: link:../../packages/platform + version: link:../../../packages/platform '@agentic/serper': specifier: 'catalog:' version: 7.6.9(zod@3.25.67) @@ -935,6 +959,129 @@ importers: specifier: 'catalog:' version: 4.22.0(@cloudflare/workers-types@4.20250620.0) + examples/ts-sdks/ai-sdk: + dependencies: + '@agentic/ai-sdk': + specifier: workspace:* + version: link:../../../stdlib/ai-sdk + '@agentic/mcp': + specifier: workspace:* + version: link:../../../stdlib/mcp + '@agentic/platform-tool-client': + specifier: workspace:* + version: link:../../../packages/tool-client + '@ai-sdk/openai': + specifier: 'catalog:' + version: 1.3.22(zod@3.25.67) + ai: + specifier: 'catalog:' + version: 4.3.16(react@19.1.0)(zod@3.25.67) + exit-hook: + specifier: 'catalog:' + version: 4.0.0 + openai: + specifier: 'catalog:' + version: 5.8.2(ws@8.18.0)(zod@3.25.67) + zod: + specifier: 'catalog:' + version: 3.25.67 + + examples/ts-sdks/genkit: + dependencies: + '@agentic/genkit': + specifier: workspace:* + version: link:../../../stdlib/genkit + '@agentic/platform-tool-client': + specifier: workspace:* + version: link:../../../packages/tool-client + genkit: + specifier: 'catalog:' + version: 1.14.0 + genkitx-openai: + specifier: 'catalog:' + version: 0.22.3(genkit@1.14.0)(ws@8.18.0)(zod@3.25.67) + zod: + specifier: 'catalog:' + version: 3.25.67 + + examples/ts-sdks/langchain: + dependencies: + '@agentic/langchain': + specifier: workspace:* + version: link:../../../stdlib/langchain + '@agentic/platform-tool-client': + specifier: workspace:* + version: link:../../../packages/tool-client + '@langchain/core': + specifier: 'catalog:' + version: 0.3.61(openai@5.8.2(ws@8.18.0)(zod@3.25.67)) + '@langchain/openai': + specifier: 'catalog:' + version: 0.5.16(@langchain/core@0.3.61(openai@5.8.2(ws@8.18.0)(zod@3.25.67)))(ws@8.18.0) + langchain: + specifier: 'catalog:' + version: 0.3.29(@langchain/core@0.3.61(openai@5.8.2(ws@8.18.0)(zod@3.25.67)))(axios@1.10.0)(handlebars@4.7.8)(openai@5.8.2(ws@8.18.0)(zod@3.25.67))(ws@8.18.0) + zod: + specifier: 'catalog:' + version: 3.25.67 + + examples/ts-sdks/llamaindex: + dependencies: + '@agentic/core': + specifier: workspace:* + version: link:../../../stdlib/core + '@agentic/llamaindex': + specifier: workspace:* + version: link:../../../stdlib/llamaindex + '@agentic/platform-tool-client': + specifier: workspace:* + version: link:../../../packages/tool-client + '@llamaindex/openai': + specifier: 'catalog:' + version: 0.4.6(@llamaindex/core@0.6.12)(@llamaindex/env@0.1.30)(ws@8.18.0)(zod@3.25.67) + '@llamaindex/workflow': + specifier: 'catalog:' + version: 1.1.12(@llamaindex/core@0.6.12)(@llamaindex/env@0.1.30)(@modelcontextprotocol/sdk@1.13.2)(hono@4.8.3)(next@15.3.4(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(p-retry@6.2.1)(rxjs@7.8.2)(zod-to-json-schema@3.24.6(zod@3.25.67))(zod@3.25.67) + llamaindex: + specifier: 'catalog:' + version: 0.11.11(@llama-flow/core@0.4.4(@modelcontextprotocol/sdk@1.13.2)(hono@4.8.3)(next@15.3.4(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(p-retry@6.2.1)(rxjs@7.8.2)(zod@3.25.67))(@modelcontextprotocol/sdk@1.13.2)(hono@4.8.3)(next@15.3.4(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(p-retry@6.2.1)(rxjs@7.8.2)(tree-sitter@0.22.4)(web-tree-sitter@0.24.7)(zod-to-json-schema@3.24.6(zod@3.25.67))(zod@3.25.67) + zod: + specifier: 'catalog:' + version: 3.25.67 + + examples/ts-sdks/mastra: + dependencies: + '@agentic/mastra': + specifier: workspace:* + version: link:../../../stdlib/mastra + '@agentic/platform-tool-client': + specifier: workspace:* + version: link:../../../packages/tool-client + '@ai-sdk/openai': + specifier: 'catalog:' + version: 1.3.22(zod@3.25.67) + '@mastra/core': + specifier: 'catalog:' + version: 0.10.8(openapi-types@12.1.3)(react@19.1.0)(zod@3.25.67) + zod: + specifier: 'catalog:' + version: 3.25.67 + + examples/ts-sdks/openai: + dependencies: + '@agentic/core': + specifier: workspace:* + version: link:../../../stdlib/core + '@agentic/platform-tool-client': + specifier: workspace:* + version: link:../../../packages/tool-client + openai: + specifier: 'catalog:' + version: 5.8.2(ws@8.18.0)(zod@3.25.67) + zod: + specifier: 'catalog:' + version: 3.25.67 + packages/api-client: dependencies: '@agentic/platform-core': @@ -1370,7 +1517,7 @@ importers: devDependencies: '@langchain/core': specifier: 'catalog:' - version: 0.3.61 + version: 0.3.61(openai@5.8.2(ws@8.18.0)(zod@3.25.67)) stdlib/llamaindex: dependencies: @@ -1404,6 +1551,18 @@ importers: specifier: 'catalog:' version: 0.10.8(openapi-types@12.1.3)(react@19.1.0)(zod@3.25.67) + stdlib/mcp: + dependencies: + '@agentic/core': + specifier: workspace:* + version: link:../core + '@modelcontextprotocol/sdk': + specifier: 'catalog:' + version: 1.13.2 + zod: + specifier: 'catalog:' + version: 3.25.67 + stdlib/serpapi: dependencies: '@agentic/core': @@ -1440,6 +1599,12 @@ packages: peerDependencies: zod: ^3.25.67 + '@ai-sdk/openai@1.3.22': + resolution: {integrity: sha512-QwA+2EkG0QyjVR+7h6FE7iOu2ivNqAVMm9UJZkVxxTk5OIq5fFJDTEI/zICEMuHImTTXR2JjsL6EirJ28Jc4cw==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + '@ai-sdk/provider-utils@2.2.8': resolution: {integrity: sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA==} engines: {node: '>=18'} @@ -3052,6 +3217,18 @@ packages: resolution: {integrity: sha512-4O7fw5SXNSE+uBnathLQrhm3t+7dZGagt/5kt37A+pXw0AkudxEBvveg73sSnpBd9SIz3/Vc7F4k8rCKXGbEDA==} engines: {node: '>=18'} + '@langchain/openai@0.5.16': + resolution: {integrity: sha512-TqzPE3PM0bMkQi53qs8vCFkwaEp3VgwGw+s1e8Nas5ICCZZtc2XqcDPz4hf2gpo1k7/AZd6HuPlAsDy6wye9Qw==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.3.58 <0.4.0' + + '@langchain/textsplitters@0.1.0': + resolution: {integrity: sha512-djI4uw9rlkAb5iMhtLED+xJebDdAG935AdP4eRTB02R7OB/act55Bj9wsskhZsvuyQRpO4O1wQOp85s6T6GWmw==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.21 <0.4.0' + '@leichtgewicht/ip-codec@2.0.5': resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} @@ -3107,6 +3284,12 @@ packages: tree-sitter: ^0.22.0 web-tree-sitter: ^0.24.3 + '@llamaindex/openai@0.4.6': + resolution: {integrity: sha512-Qp5nIzWSpZZJhXmKTGwddTYnjpwNr6Tl3aplfdu3cWUO2rZYW7OdnhGYzKAQnk3Z5zX3tXui9M5VyEq7NJXNfA==} + peerDependencies: + '@llamaindex/core': 0.6.12 + '@llamaindex/env': 0.1.30 + '@llamaindex/workflow-core@1.0.0': resolution: {integrity: sha512-pMQk89x11wvJu+uNHqB9gIZ1Ww069CikgltNcuxo4Bi1ajzrvScsu3H+3VS1XmkinKxhQjHjT+BJdObfWBfNCQ==} peerDependencies: @@ -5587,6 +5770,12 @@ packages: '@types/nlcst@2.0.3': resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} + '@types/node-fetch@2.6.12': + resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} + + '@types/node@18.19.113': + resolution: {integrity: sha512-TmSTE9vyebJ9vSEiU+P+0Sp4F5tMgjiEOZaQUW6wA3ODvi6uBgkHQ+EsIu0pbiKvf9QHEvyRCiaz03rV0b+IaA==} + '@types/node@20.19.2': resolution: {integrity: sha512-9pLGGwdzOUBDYi0GNjM97FIA+f92fqSke6joWeBjWXllfNxZBs7qeMF7tvtOIsbY45xkWkxrdwUfUf3MnQa9gA==} @@ -5831,6 +6020,10 @@ packages: resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} engines: {node: '>= 14'} + agentkeepalive@4.6.0: + resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} + engines: {node: '>= 8.0.0'} + agents@0.0.99: resolution: {integrity: sha512-5WxixlI4cXczZtSfEoXmnKPxL/EaLNrRgIKmvG6IslBXXgDpxN4pj0CacJcSkQHGN2szkzY83lAZli1KmnGzSw==} peerDependencies: @@ -7476,6 +7669,9 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} + form-data-encoder@1.7.2: + resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} + form-data-encoder@2.1.4: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} engines: {node: '>= 14.17'} @@ -7497,6 +7693,10 @@ packages: engines: {node: '>=18.3.0'} hasBin: true + formdata-node@4.4.1: + resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} + engines: {node: '>= 12.20'} + formdata-node@6.0.3: resolution: {integrity: sha512-8e1++BCiTzUno9v5IZ2J6bv4RU+3UKDmqWUQD0MIMVCd9AdhWkO1gw57oo1mNEX1dMq2EGI+FbWz4B92pscSQg==} engines: {node: '>= 18'} @@ -7578,6 +7778,11 @@ packages: genkit@1.14.0: resolution: {integrity: sha512-H5kla5K7j3CqlpfSeuTIaaBRaYuJYzdluLTZB8Z6/7A+Gs5684D+amZHGoEmnUCLt+rUnGa3bPtwuq2bPDiMuQ==} + genkitx-openai@0.22.3: + resolution: {integrity: sha512-g+4I2QOHfBcHz6R9N/z5mqXsMNc7+jtF258jwBOi1X5YuJ7hFIpbTxF8QktfUdH8w440t7s7Upa0aZRw+JhfsA==} + peerDependencies: + genkit: ^0.9.0 || ^1.0.0 + get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -7893,6 +8098,9 @@ packages: resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} engines: {node: '>=18.18.0'} + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + hyphenate-style-name@1.1.0: resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==} @@ -8382,6 +8590,64 @@ packages: resolution: {integrity: sha512-4YAVLoF0Sf0UTqlhgQMFU9iQECdah7n+13ANkiuVfRvlK+uI0Etbgd7bVP36dKlG+NXWbhGua8vnGt+sdhvT7A==} engines: {node: '>=18.0.0'} + langchain@0.3.29: + resolution: {integrity: sha512-L389pKlApVJPqu4hp58qY6NZAobI+MFPoBjSfjT1z3mcxtB68wLFGhaH4DVsTVg21NYO+0wTEoz24BWrxu9YGw==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/anthropic': '*' + '@langchain/aws': '*' + '@langchain/cerebras': '*' + '@langchain/cohere': '*' + '@langchain/core': '>=0.3.58 <0.4.0' + '@langchain/deepseek': '*' + '@langchain/google-genai': '*' + '@langchain/google-vertexai': '*' + '@langchain/google-vertexai-web': '*' + '@langchain/groq': '*' + '@langchain/mistralai': '*' + '@langchain/ollama': '*' + '@langchain/xai': '*' + axios: '*' + cheerio: '*' + handlebars: ^4.7.8 + peggy: ^3.0.2 + typeorm: '*' + peerDependenciesMeta: + '@langchain/anthropic': + optional: true + '@langchain/aws': + optional: true + '@langchain/cerebras': + optional: true + '@langchain/cohere': + optional: true + '@langchain/deepseek': + optional: true + '@langchain/google-genai': + optional: true + '@langchain/google-vertexai': + optional: true + '@langchain/google-vertexai-web': + optional: true + '@langchain/groq': + optional: true + '@langchain/mistralai': + optional: true + '@langchain/ollama': + optional: true + '@langchain/xai': + optional: true + axios: + optional: true + cheerio: + optional: true + handlebars: + optional: true + peggy: + optional: true + typeorm: + optional: true + langsmith@0.3.34: resolution: {integrity: sha512-rxYuuypqaSzIuNjZMTsCVAgG0cYdI516dwuKn58bu4YuBRlLaLeNlHewRyoqP9lrEAlpkekCV9fUwwZ7lO8f2g==} peerDependencies: @@ -9254,6 +9520,30 @@ packages: peerDependencies: zod: ^3.23.8 + openai@4.104.0: + resolution: {integrity: sha512-p99EFNsA/yX6UhVO93f5kJsDRLAg+CTA2RBqdHK4RtK8u5IJw32Hyb2dTGKbnnFmnuoBv5r7Z2CURI9sGZpSuA==} + hasBin: true + peerDependencies: + ws: ^8.18.0 + zod: ^3.23.8 + peerDependenciesMeta: + ws: + optional: true + zod: + optional: true + + openai@5.8.2: + resolution: {integrity: sha512-8C+nzoHYgyYOXhHGN6r0fcb4SznuEn1R7YZMvlqDbnCuE0FM2mm3T1HiYW6WIcMS/F1Of2up/cSPjLPaWt0X9Q==} + hasBin: true + peerDependencies: + ws: ^8.18.0 + zod: ^3.23.8 + peerDependenciesMeta: + ws: + optional: true + zod: + optional: true + openapi-types@12.1.3: resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} @@ -10848,6 +11138,9 @@ packages: unconfig@7.3.2: resolution: {integrity: sha512-nqG5NNL2wFVGZ0NA/aCFw0oJ2pxSf1lwg4Z5ill8wd7K4KX/rQbHlwbh+bjctXL5Ly1xtzHenHGOK0b+lG6JVg==} + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} @@ -11117,6 +11410,10 @@ packages: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} + web-streams-polyfill@4.0.0-beta.3: + resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} + engines: {node: '>= 14'} + web-tree-sitter@0.24.7: resolution: {integrity: sha512-CdC/TqVFbXqR+C51v38hv6wOPatKEUGxa39scAeFSm98wIhZxAYonhRQPSMmfZ2w7JDI0zQDdzdmgtNk06/krQ==} @@ -11432,6 +11729,12 @@ snapshots: transitivePeerDependencies: - babel-plugin-macros + '@ai-sdk/openai@1.3.22(zod@3.25.67)': + dependencies: + '@ai-sdk/provider': 1.1.3 + '@ai-sdk/provider-utils': 2.2.8(zod@3.25.67) + zod: 3.25.67 + '@ai-sdk/provider-utils@2.2.8(zod@3.25.67)': dependencies: '@ai-sdk/provider': 1.1.3 @@ -13038,14 +13341,14 @@ snapshots: dependencies: jsep: 1.4.0 - '@langchain/core@0.3.61': + '@langchain/core@0.3.61(openai@5.8.2(ws@8.18.0)(zod@3.25.67))': dependencies: '@cfworker/json-schema': 4.1.1 ansi-styles: 5.2.0 camelcase: 6.3.0 decamelize: 1.2.0 js-tiktoken: 1.0.20 - langsmith: 0.3.34 + langsmith: 0.3.34(openai@5.8.2(ws@8.18.0)(zod@3.25.67)) mustache: 4.2.0 p-queue: 6.6.2 p-retry: 4.6.2 @@ -13055,6 +13358,20 @@ snapshots: transitivePeerDependencies: - openai + '@langchain/openai@0.5.16(@langchain/core@0.3.61(openai@5.8.2(ws@8.18.0)(zod@3.25.67)))(ws@8.18.0)': + dependencies: + '@langchain/core': 0.3.61(openai@5.8.2(ws@8.18.0)(zod@3.25.67)) + js-tiktoken: 1.0.20 + openai: 5.8.2(ws@8.18.0)(zod@3.25.67) + zod: 3.25.67 + transitivePeerDependencies: + - ws + + '@langchain/textsplitters@0.1.0(@langchain/core@0.3.61(openai@5.8.2(ws@8.18.0)(zod@3.25.67)))': + dependencies: + '@langchain/core': 0.3.61(openai@5.8.2(ws@8.18.0)(zod@3.25.67)) + js-tiktoken: 1.0.20 + '@leichtgewicht/ip-codec@2.0.5': {} '@llama-flow/core@0.4.4(@modelcontextprotocol/sdk@1.13.2)(hono@4.8.3)(next@15.3.4(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(p-retry@6.2.1)(rxjs@7.8.2)(zod@3.25.67)': @@ -13099,6 +13416,16 @@ snapshots: tree-sitter: 0.22.4 web-tree-sitter: 0.24.7 + '@llamaindex/openai@0.4.6(@llamaindex/core@0.6.12)(@llamaindex/env@0.1.30)(ws@8.18.0)(zod@3.25.67)': + dependencies: + '@llamaindex/core': 0.6.12 + '@llamaindex/env': 0.1.30 + openai: 4.104.0(ws@8.18.0)(zod@3.25.67) + transitivePeerDependencies: + - encoding + - ws + - zod + '@llamaindex/workflow-core@1.0.0(@modelcontextprotocol/sdk@1.13.2)(hono@4.8.3)(next@15.3.4(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(p-retry@6.2.1)(rxjs@7.8.2)(zod@3.25.67)': optionalDependencies: '@modelcontextprotocol/sdk': 1.13.2 @@ -13145,7 +13472,7 @@ snapshots: ai: 4.3.16(react@19.1.0)(zod@3.25.67) cohere-ai: 7.17.1 date-fns: 3.6.0 - dotenv: 16.5.0 + dotenv: 16.6.1 hono: 4.8.3 hono-openapi: 0.4.8(hono@4.8.3)(openapi-types@12.1.3)(zod@3.25.67) json-schema: 0.4.0 @@ -16334,6 +16661,15 @@ snapshots: dependencies: '@types/unist': 3.0.3 + '@types/node-fetch@2.6.12': + dependencies: + '@types/node': 24.0.7 + form-data: 4.0.3 + + '@types/node@18.19.113': + dependencies: + undici-types: 5.26.5 + '@types/node@20.19.2': dependencies: undici-types: 6.21.0 @@ -16617,6 +16953,10 @@ snapshots: agent-base@7.1.3: {} + agentkeepalive@4.6.0: + dependencies: + humanize-ms: 1.2.1 + agents@0.0.99(@cloudflare/workers-types@4.20250620.0)(react@19.1.0): dependencies: '@modelcontextprotocol/sdk': 1.13.2 @@ -18486,6 +18826,8 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 + form-data-encoder@1.7.2: {} + form-data-encoder@2.1.4: {} form-data-encoder@4.1.0: {} @@ -18504,6 +18846,11 @@ snapshots: dependencies: fd-package-json: 2.0.0 + formdata-node@4.4.1: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 4.0.0-beta.3 + formdata-node@6.0.3: {} formdata-polyfill@4.0.10: @@ -18587,6 +18934,15 @@ snapshots: transitivePeerDependencies: - supports-color + genkitx-openai@0.22.3(genkit@1.14.0)(ws@8.18.0)(zod@3.25.67): + dependencies: + genkit: 1.14.0 + openai: 4.104.0(ws@8.18.0)(zod@3.25.67) + transitivePeerDependencies: + - encoding + - ws + - zod + get-caller-file@2.0.5: {} get-east-asian-width@1.3.0: {} @@ -19020,6 +19376,10 @@ snapshots: human-signals@8.0.1: {} + humanize-ms@1.2.1: + dependencies: + ms: 2.1.3 + hyphenate-style-name@1.1.0: {} iconv-lite@0.4.24: @@ -19454,7 +19814,28 @@ snapshots: kysely@0.28.2: optional: true - langsmith@0.3.34: + langchain@0.3.29(@langchain/core@0.3.61(openai@5.8.2(ws@8.18.0)(zod@3.25.67)))(axios@1.10.0)(handlebars@4.7.8)(openai@5.8.2(ws@8.18.0)(zod@3.25.67))(ws@8.18.0): + dependencies: + '@langchain/core': 0.3.61(openai@5.8.2(ws@8.18.0)(zod@3.25.67)) + '@langchain/openai': 0.5.16(@langchain/core@0.3.61(openai@5.8.2(ws@8.18.0)(zod@3.25.67)))(ws@8.18.0) + '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.61(openai@5.8.2(ws@8.18.0)(zod@3.25.67))) + js-tiktoken: 1.0.20 + js-yaml: 4.1.0 + jsonpointer: 5.0.1 + langsmith: 0.3.34(openai@5.8.2(ws@8.18.0)(zod@3.25.67)) + openapi-types: 12.1.3 + p-retry: 4.6.2 + uuid: 10.0.0 + yaml: 2.8.0 + zod: 3.25.67 + optionalDependencies: + axios: 1.10.0 + handlebars: 4.7.8 + transitivePeerDependencies: + - openai + - ws + + langsmith@0.3.34(openai@5.8.2(ws@8.18.0)(zod@3.25.67)): dependencies: '@types/uuid': 10.0.0 chalk: 4.1.2 @@ -19463,6 +19844,8 @@ snapshots: p-retry: 4.6.2 semver: 7.7.2 uuid: 10.0.0 + optionalDependencies: + openai: 5.8.2(ws@8.18.0)(zod@3.25.67) language-subtag-registry@0.3.23: {} @@ -20604,6 +20987,26 @@ snapshots: dependencies: zod: 3.25.67 + openai@4.104.0(ws@8.18.0)(zod@3.25.67): + dependencies: + '@types/node': 18.19.113 + '@types/node-fetch': 2.6.12 + abort-controller: 3.0.0 + agentkeepalive: 4.6.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0 + optionalDependencies: + ws: 8.18.0 + zod: 3.25.67 + transitivePeerDependencies: + - encoding + + openai@5.8.2(ws@8.18.0)(zod@3.25.67): + optionalDependencies: + ws: 8.18.0 + zod: 3.25.67 + openapi-types@12.1.3: {} openapi-typescript@7.8.0(typescript@5.8.3): @@ -22556,6 +22959,8 @@ snapshots: jiti: 2.4.2 quansync: 0.2.10 + undici-types@5.26.5: {} + undici-types@6.21.0: {} undici-types@7.8.0: {} @@ -22850,6 +23255,8 @@ snapshots: web-streams-polyfill@3.3.3: {} + web-streams-polyfill@4.0.0-beta.3: {} + web-tree-sitter@0.24.7: {} web-vitals@4.2.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 9851288b..243dbacc 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,16 +2,11 @@ packages: - packages/* - stdlib/* - apps/* - - examples/* + - examples/mcp-servers/* + - examples/ts-sdks/* - packages/fixtures/valid/* - docs -ignoredBuiltDependencies: - - '@fisch0920/config' - - puppeteer -onlyBuiltDependencies: - - '@sentry/cli' - - protobufjs - - tree-sitter + catalog: '@agentic/core': ^7.6.9 '@agentic/serper': ^7.6.9 @@ -96,7 +91,7 @@ catalog: dedent: ^1.6.0 del-cli: ^6.0.0 delay: ^6.0.0 - dotenv: ^16.5.0 + dotenv: 16.5.0 drizzle-kit: ^0.31.4 drizzle-orm: ^0.44.2 duck-duck-scrape: ^2.2.7 @@ -137,6 +132,7 @@ catalog: octokit: ^5.0.3 only-allow: ^1.2.1 open: ^10.1.2 + openai: ^5.5.1 openai-fetch: ^3.4.2 openapi-typescript: ^7.8.0 ora: ^8.2.0 @@ -188,6 +184,16 @@ catalog: zod-to-json-schema: ^3.24.5 zod-validation-error: ^3.5.2 zoominfo-api-auth-client: ^1.0.1 + +ignoredBuiltDependencies: + - '@fisch0920/config' + - puppeteer + +onlyBuiltDependencies: + - '@sentry/cli' + - protobufjs + - tree-sitter + updateConfig: ignoreDependencies: - p-throttle diff --git a/legacy/packages/mcp/package.json b/stdlib/mcp/package.json similarity index 100% rename from legacy/packages/mcp/package.json rename to stdlib/mcp/package.json diff --git a/legacy/packages/mcp/src/index.ts b/stdlib/mcp/src/index.ts similarity index 100% rename from legacy/packages/mcp/src/index.ts rename to stdlib/mcp/src/index.ts diff --git a/legacy/packages/mcp/src/mcp-tools.ts b/stdlib/mcp/src/mcp-tools.ts similarity index 100% rename from legacy/packages/mcp/src/mcp-tools.ts rename to stdlib/mcp/src/mcp-tools.ts diff --git a/legacy/packages/mcp/src/paginate.ts b/stdlib/mcp/src/paginate.ts similarity index 100% rename from legacy/packages/mcp/src/paginate.ts rename to stdlib/mcp/src/paginate.ts diff --git a/legacy/packages/mcp/src/types.ts b/stdlib/mcp/src/types.ts similarity index 100% rename from legacy/packages/mcp/src/types.ts rename to stdlib/mcp/src/types.ts diff --git a/legacy/packages/mcp/tsconfig.json b/stdlib/mcp/tsconfig.json similarity index 100% rename from legacy/packages/mcp/tsconfig.json rename to stdlib/mcp/tsconfig.json