@agentskit/adapters 0.16.0 → 0.17.0
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 +129 -2
- package/dist/cli/index.cjs +220 -59
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.d.cts +146 -11
- package/dist/cli/index.d.ts +146 -11
- package/dist/cli/index.js +214 -59
- package/dist/cli/index.js.map +1 -1
- package/dist/langchain-bridge.cjs +232 -0
- package/dist/langchain-bridge.cjs.map +1 -0
- package/dist/langchain-bridge.d.cts +77 -0
- package/dist/langchain-bridge.d.ts +77 -0
- package/dist/langchain-bridge.js +229 -0
- package/dist/langchain-bridge.js.map +1 -0
- package/package.json +18 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/langchain-bridge.ts"],"names":[],"mappings":"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","file":"langchain-bridge.js","sourcesContent":["import type { AdapterContext, AdapterFactory, AdapterRequest, Message, StreamChunk, ToolDefinition } from '@agentskit/core'\nimport type { CallbackManagerForLLMRun } from '@langchain/core/callbacks/manager'\nimport {\n BaseChatModel,\n type BaseChatModelCallOptions,\n type BaseChatModelParams,\n type BindToolsInput,\n type LangSmithParams,\n} from '@langchain/core/language_models/chat_models'\nimport type { ModelProfile } from '@langchain/core/language_models/profile'\nimport type { BaseLanguageModelInput } from '@langchain/core/language_models/base'\nimport {\n AIMessage,\n AIMessageChunk,\n type BaseMessage,\n type InvalidToolCall,\n type ToolCall as LangChainToolCall,\n type UsageMetadata,\n} from '@langchain/core/messages'\nimport { ChatGenerationChunk, type ChatResult } from '@langchain/core/outputs'\nimport type { Runnable } from '@langchain/core/runnables'\nimport { convertToOpenAITool } from '@langchain/core/utils/function_calling'\n\n/**\n * Call options accepted by the bridged model. `tools` and `tool_choice` are\n * populated by `bindTools()` and by LangChain's agent machinery.\n */\nexport interface AgentsKitChatModelCallOptions extends BaseChatModelCallOptions {\n tools?: BindToolsInput[]\n}\n\nexport interface AdapterToLangChainModelOptions extends BaseChatModelParams {\n /** Reported as the LangSmith model name and `_llmType()` suffix. Default: `agentskit`. */\n modelName?: string\n /** Static `AdapterContext` fields (temperature, maxTokens, metadata) sent with every request. */\n context?: Omit<AdapterContext, 'systemPrompt' | 'tools'>\n /**\n * LangChain model profile. Defaults to `toolCalling` from the adapter's\n * capabilities (assumed supported when unknown) and no native\n * `structuredOutput`, so `createAgent({ responseFormat })` uses its tool\n * strategy, which every tool-calling adapter can satisfy.\n */\n profile?: ModelProfile\n}\n\ninterface CollectedResponse {\n text: string\n reasoning: string\n toolCalls: LangChainToolCall[]\n invalidToolCalls: InvalidToolCall[]\n usage?: UsageMetadata\n metadata: Record<string, unknown>\n}\n\nfunction contentText(content: BaseMessage['content']): string {\n if (typeof content === 'string') return content\n return content\n .map(part => (typeof part === 'object' && part !== null && 'text' in part && typeof part.text === 'string' ? part.text : ''))\n .filter(Boolean)\n .join('\\n')\n}\n\nfunction toolCallArgs(args: unknown): Record<string, unknown> {\n if (typeof args === 'string') {\n try {\n const parsed: unknown = JSON.parse(args)\n return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? (parsed as Record<string, unknown>) : { value: parsed }\n } catch {\n return {}\n }\n }\n return args && typeof args === 'object' && !Array.isArray(args) ? (args as Record<string, unknown>) : {}\n}\n\nfunction toAgentsKitMessages(messages: BaseMessage[]): { messages: Message[]; systemPrompt?: string } {\n const createdAt = new Date()\n const output: Message[] = []\n const systemParts: string[] = []\n messages.forEach((message, index) => {\n const type = message.type\n const id = message.id ?? `lc-${type}-${index}`\n if (type === 'system') {\n const content = contentText(message.content)\n systemParts.push(content)\n output.push({ id, role: 'system', content, status: 'complete', createdAt })\n return\n }\n if (type === 'ai') {\n const ai = message as AIMessage\n output.push({\n id,\n role: 'assistant',\n content: contentText(ai.content),\n status: 'complete',\n createdAt,\n toolCalls: ai.tool_calls?.map((call, callIndex) => ({\n id: call.id ?? `${id}-call-${callIndex}`,\n name: call.name,\n args: toolCallArgs(call.args),\n status: 'complete' as const,\n })),\n })\n return\n }\n if (type === 'tool') {\n const toolCallId = (message as { tool_call_id?: string }).tool_call_id\n output.push({ id, role: 'tool', content: contentText(message.content), status: 'complete', createdAt, toolCallId })\n return\n }\n output.push({ id, role: 'user', content: contentText(message.content), status: 'complete', createdAt })\n })\n return { messages: output, systemPrompt: systemParts.length > 0 ? systemParts.join('\\n\\n') : undefined }\n}\n\nfunction toToolDefinitions(tools: readonly BindToolsInput[] | undefined): ToolDefinition[] | undefined {\n if (!tools || tools.length === 0) return undefined\n return tools.map(tool => {\n const converted = convertToOpenAITool(tool as Parameters<typeof convertToOpenAITool>[0])\n const fn = converted.function\n return {\n name: fn.name,\n description: fn.description,\n schema: (fn.parameters ?? { type: 'object', properties: {} }) as ToolDefinition['schema'],\n }\n })\n}\n\nfunction usageMetadata(chunk: StreamChunk): UsageMetadata | undefined {\n if (!chunk.usage) return undefined\n return {\n input_tokens: chunk.usage.promptTokens,\n output_tokens: chunk.usage.completionTokens,\n total_tokens: chunk.usage.totalTokens,\n }\n}\n\nfunction invalidToolCall(call: NonNullable<StreamChunk['toolCall']>, error: string): InvalidToolCall {\n return { id: call.id, name: call.name, args: call.args, error, type: 'invalid_tool_call' }\n}\n\n/**\n * A LangChain `BaseChatModel` backed by any AgentsKit `AdapterFactory`.\n *\n * Drop it into any LangChain `model:` slot (`createAgent`, `AgentNode`, a\n * plain chain). `bindTools()` forwards LangChain tools as AgentsKit\n * `ToolDefinition`s on `context.tools`; `tool_call` chunks come back as\n * `AIMessage.tool_calls` so LangChain's agent loop, middleware, and\n * tool-strategy structured output work unchanged. Every response is a real\n * `AIMessage`/`AIMessageChunk` instance.\n */\nexport class AgentsKitChatModel extends BaseChatModel<AgentsKitChatModelCallOptions> {\n static override lc_name(): string {\n return 'AgentsKitChatModel'\n }\n\n override lc_namespace = ['agentskit', 'adapters', 'langchain_bridge']\n override lc_serializable = false\n\n readonly adapter: AdapterFactory\n readonly modelName: string\n private readonly baseContext: Omit<AdapterContext, 'systemPrompt' | 'tools'>\n private readonly profileOverride?: ModelProfile\n\n constructor(adapter: AdapterFactory, options: AdapterToLangChainModelOptions = {}) {\n const { modelName, context, profile, ...params } = options\n super(params)\n this.adapter = adapter\n this.modelName = modelName ?? 'agentskit'\n this.baseContext = context ?? {}\n this.profileOverride = profile\n }\n\n _llmType(): string {\n return 'agentskit'\n }\n\n override get profile(): ModelProfile {\n return { toolCalling: this.adapter.capabilities?.tools !== false, ...this.profileOverride }\n }\n\n override bindTools(\n tools: BindToolsInput[],\n kwargs?: Partial<AgentsKitChatModelCallOptions>,\n ): Runnable<BaseLanguageModelInput, AIMessageChunk, AgentsKitChatModelCallOptions> {\n return this.withConfig({ tools, ...kwargs })\n }\n\n override invocationParams(options?: this['ParsedCallOptions']): Record<string, unknown> {\n return {\n model: this.modelName,\n tools: toToolDefinitions(options?.tools)?.map(tool => ({ name: tool.name, description: tool.description })),\n tool_choice: options?.tool_choice,\n }\n }\n\n override getLsParams(options: this['ParsedCallOptions']): LangSmithParams {\n return {\n ls_provider: 'agentskit',\n ls_model_name: this.modelName,\n ls_model_type: 'chat',\n ls_temperature: this.baseContext.temperature,\n ls_max_tokens: this.baseContext.maxTokens,\n ls_stop: options.stop,\n }\n }\n\n private buildRequest(messages: BaseMessage[], options: this['ParsedCallOptions']): AdapterRequest {\n const { messages: converted, systemPrompt } = toAgentsKitMessages(messages)\n const tools = toToolDefinitions(options.tools)\n const metadata = options.tool_choice === undefined\n ? this.baseContext.metadata\n : { ...this.baseContext.metadata, toolChoice: options.tool_choice }\n const context: AdapterContext = { ...this.baseContext, systemPrompt, tools, metadata }\n return { messages: converted, context }\n }\n\n private async *chunks(messages: BaseMessage[], options: this['ParsedCallOptions']): AsyncIterableIterator<StreamChunk> {\n const source = this.adapter.createSource(this.buildRequest(messages, options))\n const signal = options.signal\n const onAbort = (): void => source.abort()\n if (signal?.aborted) {\n source.abort()\n throw signal.reason instanceof Error ? signal.reason : new Error('Aborted')\n }\n signal?.addEventListener('abort', onAbort, { once: true })\n try {\n for await (const chunk of source.stream()) {\n if (chunk.type === 'error') {\n const cause = chunk.metadata?.error\n throw cause instanceof Error ? cause : new Error(chunk.content ?? 'AgentsKit adapter stream failed')\n }\n if (chunk.type === 'done') return\n yield chunk\n }\n } finally {\n signal?.removeEventListener('abort', onAbort)\n }\n }\n\n private static collect(response: CollectedResponse, chunk: StreamChunk): void {\n if (chunk.metadata) Object.assign(response.metadata, chunk.metadata)\n switch (chunk.type) {\n case 'text':\n response.text += chunk.content ?? ''\n break\n case 'reasoning':\n response.reasoning += chunk.content ?? ''\n break\n case 'tool_call':\n if (!chunk.toolCall) break\n try {\n response.toolCalls.push({ id: chunk.toolCall.id, name: chunk.toolCall.name, args: toolCallArgs(chunk.toolCall.args), type: 'tool_call' })\n } catch (error) {\n response.invalidToolCalls.push(invalidToolCall(chunk.toolCall, error instanceof Error ? error.message : String(error)))\n }\n break\n case 'usage':\n response.usage = usageMetadata(chunk)\n break\n default:\n break\n }\n }\n\n async _generate(\n messages: BaseMessage[],\n options: this['ParsedCallOptions'],\n runManager?: CallbackManagerForLLMRun,\n ): Promise<ChatResult> {\n const response: CollectedResponse = { text: '', reasoning: '', toolCalls: [], invalidToolCalls: [], metadata: {} }\n for await (const chunk of this.chunks(messages, options)) {\n AgentsKitChatModel.collect(response, chunk)\n if (chunk.type === 'text' && chunk.content) await runManager?.handleLLMNewToken(chunk.content)\n }\n const message = new AIMessage({\n content: response.text,\n tool_calls: response.toolCalls,\n invalid_tool_calls: response.invalidToolCalls,\n usage_metadata: response.usage,\n additional_kwargs: response.reasoning ? { reasoning: response.reasoning } : {},\n response_metadata: { ...response.metadata, model_name: this.modelName },\n })\n return {\n generations: [{ text: response.text, message }],\n llmOutput: response.usage ? { tokenUsage: { promptTokens: response.usage.input_tokens, completionTokens: response.usage.output_tokens, totalTokens: response.usage.total_tokens } } : {},\n }\n }\n\n override async *_streamResponseChunks(\n messages: BaseMessage[],\n options: this['ParsedCallOptions'],\n runManager?: CallbackManagerForLLMRun,\n ): AsyncGenerator<ChatGenerationChunk> {\n let toolCallIndex = 0\n for await (const chunk of this.chunks(messages, options)) {\n let message: AIMessageChunk | undefined\n if (chunk.type === 'text') {\n message = new AIMessageChunk({ content: chunk.content ?? '', response_metadata: chunk.metadata ?? {} })\n } else if (chunk.type === 'reasoning') {\n message = new AIMessageChunk({ content: '', additional_kwargs: { reasoning: chunk.content ?? '' } })\n } else if (chunk.type === 'tool_call' && chunk.toolCall) {\n message = new AIMessageChunk({\n content: '',\n tool_call_chunks: [{\n id: chunk.toolCall.id,\n name: chunk.toolCall.name,\n args: typeof chunk.toolCall.args === 'string' ? chunk.toolCall.args : JSON.stringify(chunk.toolCall.args ?? {}),\n index: toolCallIndex++,\n type: 'tool_call_chunk',\n }],\n })\n } else if (chunk.type === 'usage') {\n message = new AIMessageChunk({ content: '', usage_metadata: usageMetadata(chunk) })\n }\n if (!message) continue\n const generation = new ChatGenerationChunk({ message, text: chunk.type === 'text' ? chunk.content ?? '' : '' })\n yield generation\n if (chunk.type === 'text' && chunk.content) await runManager?.handleLLMNewToken(chunk.content, undefined, undefined, undefined, undefined, { chunk: generation })\n }\n }\n}\n\n/**\n * Wraps any AgentsKit `AdapterFactory` (mock, ollama, CLI-backed, ...) as a\n * LangChain `BaseChatModel` so it can replace `ChatAnthropic`/`ChatOpenAI`\n * in `createAgent`, `AgentNode`, or any chain.\n *\n * ```ts\n * import { createAgent } from 'langchain'\n * import { mockAdapter } from '@agentskit/adapters'\n * import { adapterToLangChainModel } from '@agentskit/adapters/langchain-bridge'\n *\n * const agent = createAgent({ model: adapterToLangChainModel(mockAdapter({ response })), tools: [add] })\n * ```\n *\n * Requires `@langchain/core` (optional peer dependency).\n */\nexport function adapterToLangChainModel(adapter: AdapterFactory, options?: AdapterToLangChainModelOptions): AgentsKitChatModel {\n return new AgentsKitChatModel(adapter, options)\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentskit/adapters",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "Provider adapters for AgentsKit.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agentskit",
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
"grok",
|
|
23
23
|
"langchain",
|
|
24
24
|
"vercel-ai-sdk",
|
|
25
|
-
"provider-adapter"
|
|
25
|
+
"provider-adapter",
|
|
26
|
+
"langchain"
|
|
26
27
|
],
|
|
27
28
|
"type": "module",
|
|
28
29
|
"sideEffects": false,
|
|
@@ -49,6 +50,11 @@
|
|
|
49
50
|
"types": "./dist/cli/index.d.ts",
|
|
50
51
|
"import": "./dist/cli/index.js",
|
|
51
52
|
"require": "./dist/cli/index.cjs"
|
|
53
|
+
},
|
|
54
|
+
"./langchain-bridge": {
|
|
55
|
+
"types": "./dist/langchain-bridge.d.ts",
|
|
56
|
+
"import": "./dist/langchain-bridge.js",
|
|
57
|
+
"require": "./dist/langchain-bridge.cjs"
|
|
52
58
|
}
|
|
53
59
|
},
|
|
54
60
|
"files": [
|
|
@@ -58,16 +64,18 @@
|
|
|
58
64
|
"build": "tsup",
|
|
59
65
|
"test": "pnpm --filter @agentskit/core build && pnpm --filter @agentskit/integrations build && pnpm --filter @agentskit/tools build && pnpm run build && vitest run",
|
|
60
66
|
"test:coverage": "vitest run --coverage",
|
|
61
|
-
"lint": "tsc --noEmit",
|
|
67
|
+
"lint": "tsc --noEmit && tsc --noEmit -p tsconfig.tests.json",
|
|
62
68
|
"dev": "tsup --watch"
|
|
63
69
|
},
|
|
64
70
|
"dependencies": {
|
|
65
|
-
"@agentskit/core": "
|
|
71
|
+
"@agentskit/core": "1.12.9"
|
|
66
72
|
},
|
|
67
73
|
"devDependencies": {
|
|
68
|
-
"@agentskit/tools": "
|
|
74
|
+
"@agentskit/tools": "0.13.8",
|
|
75
|
+
"@langchain/core": "^1.2.11",
|
|
69
76
|
"@types/json-schema": "^7.0.15",
|
|
70
77
|
"@types/node": "^25.9.5",
|
|
78
|
+
"langchain": "^1.5.11",
|
|
71
79
|
"msw": "^2.15.0",
|
|
72
80
|
"tsup": "^8.5.1",
|
|
73
81
|
"typescript": "^6.0.3",
|
|
@@ -75,7 +83,8 @@
|
|
|
75
83
|
},
|
|
76
84
|
"peerDependencies": {
|
|
77
85
|
"@aws-sdk/client-bedrock-runtime": "^3.0.0",
|
|
78
|
-
"@mlc-ai/web-llm": "^0.2.0"
|
|
86
|
+
"@mlc-ai/web-llm": "^0.2.0",
|
|
87
|
+
"@langchain/core": "^1.0.0"
|
|
79
88
|
},
|
|
80
89
|
"peerDependenciesMeta": {
|
|
81
90
|
"@aws-sdk/client-bedrock-runtime": {
|
|
@@ -83,6 +92,9 @@
|
|
|
83
92
|
},
|
|
84
93
|
"@mlc-ai/web-llm": {
|
|
85
94
|
"optional": true
|
|
95
|
+
},
|
|
96
|
+
"@langchain/core": {
|
|
97
|
+
"optional": true
|
|
86
98
|
}
|
|
87
99
|
},
|
|
88
100
|
"publishConfig": {
|