@tashiscool/agents 0.1.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.
Files changed (46) hide show
  1. package/README.md +186 -0
  2. package/dist/conversation.d.ts +146 -0
  3. package/dist/conversation.d.ts.map +1 -0
  4. package/dist/conversation.js +239 -0
  5. package/dist/conversation.js.map +1 -0
  6. package/dist/events.d.ts +218 -0
  7. package/dist/events.d.ts.map +1 -0
  8. package/dist/events.js +299 -0
  9. package/dist/events.js.map +1 -0
  10. package/dist/executor.d.ts +144 -0
  11. package/dist/executor.d.ts.map +1 -0
  12. package/dist/executor.js +362 -0
  13. package/dist/executor.js.map +1 -0
  14. package/dist/index.d.ts +26 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +27 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/langchain.d.ts +210 -0
  19. package/dist/langchain.d.ts.map +1 -0
  20. package/dist/langchain.js +333 -0
  21. package/dist/langchain.js.map +1 -0
  22. package/dist/mcp.d.ts +208 -0
  23. package/dist/mcp.d.ts.map +1 -0
  24. package/dist/mcp.js +266 -0
  25. package/dist/mcp.js.map +1 -0
  26. package/dist/memory.d.ts +96 -0
  27. package/dist/memory.d.ts.map +1 -0
  28. package/dist/memory.js +248 -0
  29. package/dist/memory.js.map +1 -0
  30. package/dist/oauth.d.ts +158 -0
  31. package/dist/oauth.d.ts.map +1 -0
  32. package/dist/oauth.js +344 -0
  33. package/dist/oauth.js.map +1 -0
  34. package/dist/output.d.ts +262 -0
  35. package/dist/output.d.ts.map +1 -0
  36. package/dist/output.js +249 -0
  37. package/dist/output.js.map +1 -0
  38. package/dist/session.d.ts +212 -0
  39. package/dist/session.d.ts.map +1 -0
  40. package/dist/session.js +347 -0
  41. package/dist/session.js.map +1 -0
  42. package/dist/tools.d.ts +125 -0
  43. package/dist/tools.d.ts.map +1 -0
  44. package/dist/tools.js +195 -0
  45. package/dist/tools.js.map +1 -0
  46. package/package.json +45 -0
@@ -0,0 +1,362 @@
1
+ /**
2
+ * Batch Executor
3
+ * Execute multiple tool calls with routing, concurrency control, and error handling
4
+ */
5
+ /**
6
+ * Simple tool router implementation
7
+ */
8
+ export class SimpleToolRouter {
9
+ tools = new Map();
10
+ aliases = new Map();
11
+ /**
12
+ * Register a tool
13
+ */
14
+ register(tool) {
15
+ this.tools.set(tool.name, tool);
16
+ }
17
+ /**
18
+ * Register multiple tools
19
+ */
20
+ registerAll(tools) {
21
+ for (const tool of tools) {
22
+ this.register(tool);
23
+ }
24
+ }
25
+ /**
26
+ * Add an alias for a tool
27
+ */
28
+ addAlias(alias, toolName) {
29
+ this.aliases.set(alias, toolName);
30
+ }
31
+ route(call) {
32
+ // Check direct match
33
+ if (this.tools.has(call.name)) {
34
+ return this.tools.get(call.name);
35
+ }
36
+ // Check aliases
37
+ const aliasedName = this.aliases.get(call.name);
38
+ if (aliasedName && this.tools.has(aliasedName)) {
39
+ return this.tools.get(aliasedName);
40
+ }
41
+ return undefined;
42
+ }
43
+ hasRoute(toolName) {
44
+ return this.tools.has(toolName) || this.aliases.has(toolName);
45
+ }
46
+ listRoutes() {
47
+ return [...this.tools.keys(), ...this.aliases.keys()];
48
+ }
49
+ }
50
+ /**
51
+ * Result cache
52
+ */
53
+ class ResultCache {
54
+ cache = new Map();
55
+ ttlMs;
56
+ constructor(ttlMs = 60000) {
57
+ this.ttlMs = ttlMs;
58
+ }
59
+ getKey(call) {
60
+ return `${call.name}:${JSON.stringify(call.arguments)}`;
61
+ }
62
+ get(call) {
63
+ const key = this.getKey(call);
64
+ const entry = this.cache.get(key);
65
+ if (!entry)
66
+ return undefined;
67
+ if (Date.now() > entry.expiresAt) {
68
+ this.cache.delete(key);
69
+ return undefined;
70
+ }
71
+ return { ...entry.result, cached: true };
72
+ }
73
+ set(call, result) {
74
+ const key = this.getKey(call);
75
+ this.cache.set(key, {
76
+ result,
77
+ expiresAt: Date.now() + this.ttlMs,
78
+ });
79
+ }
80
+ clear() {
81
+ this.cache.clear();
82
+ }
83
+ cleanup() {
84
+ const now = Date.now();
85
+ let cleaned = 0;
86
+ for (const [key, entry] of this.cache.entries()) {
87
+ if (now > entry.expiresAt) {
88
+ this.cache.delete(key);
89
+ cleaned++;
90
+ }
91
+ }
92
+ return cleaned;
93
+ }
94
+ }
95
+ /**
96
+ * Execute a single tool call with timeout
97
+ */
98
+ async function executeWithTimeout(fn, timeoutMs) {
99
+ return Promise.race([
100
+ fn(),
101
+ new Promise((_, reject) => setTimeout(() => reject(new Error('Tool execution timeout')), timeoutMs)),
102
+ ]);
103
+ }
104
+ /**
105
+ * Batch executor for tool calls
106
+ */
107
+ export class BatchExecutor {
108
+ router;
109
+ options;
110
+ cache;
111
+ constructor(router, options = {}) {
112
+ this.router = router;
113
+ this.options = {
114
+ maxConcurrency: options.maxConcurrency ?? 5,
115
+ defaultTimeoutMs: options.defaultTimeoutMs ?? 30000,
116
+ defaultRetries: options.defaultRetries ?? 0,
117
+ strategy: options.strategy ?? 'parallel',
118
+ stopOnError: options.stopOnError ?? false,
119
+ enableCache: options.enableCache ?? false,
120
+ cacheTtlMs: options.cacheTtlMs ?? 60000,
121
+ };
122
+ if (this.options.enableCache) {
123
+ this.cache = new ResultCache(this.options.cacheTtlMs);
124
+ }
125
+ }
126
+ /**
127
+ * Execute a single tool call
128
+ */
129
+ async executeOne(call) {
130
+ const startTime = Date.now();
131
+ const timeoutMs = call.timeoutMs ?? this.options.defaultTimeoutMs;
132
+ const maxRetries = call.retries ?? this.options.defaultRetries;
133
+ // Check cache
134
+ if (this.cache) {
135
+ const cached = this.cache.get(call);
136
+ if (cached)
137
+ return cached;
138
+ }
139
+ // Find tool
140
+ const tool = this.router.route(call);
141
+ if (!tool) {
142
+ return {
143
+ toolCallId: call.id,
144
+ name: call.name,
145
+ result: null,
146
+ error: `No route found for tool: ${call.name}`,
147
+ durationMs: Date.now() - startTime,
148
+ retriesAttempted: 0,
149
+ cached: false,
150
+ };
151
+ }
152
+ // Execute with retries
153
+ let lastError;
154
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
155
+ try {
156
+ // Validate parameters
157
+ const params = tool.parameters.parse(call.arguments);
158
+ // Execute with timeout
159
+ const result = await executeWithTimeout(() => tool.execute(params), timeoutMs);
160
+ const enhancedResult = {
161
+ toolCallId: call.id,
162
+ name: call.name,
163
+ result,
164
+ durationMs: Date.now() - startTime,
165
+ retriesAttempted: attempt,
166
+ cached: false,
167
+ };
168
+ // Cache result
169
+ if (this.cache) {
170
+ this.cache.set(call, enhancedResult);
171
+ }
172
+ return enhancedResult;
173
+ }
174
+ catch (error) {
175
+ lastError = error instanceof Error ? error.message : String(error);
176
+ // Continue to retry unless it's the last attempt
177
+ }
178
+ }
179
+ return {
180
+ toolCallId: call.id,
181
+ name: call.name,
182
+ result: null,
183
+ error: lastError,
184
+ durationMs: Date.now() - startTime,
185
+ retriesAttempted: maxRetries,
186
+ cached: false,
187
+ };
188
+ }
189
+ /**
190
+ * Execute multiple tool calls
191
+ */
192
+ async execute(calls, onProgress) {
193
+ if (calls.length === 0)
194
+ return [];
195
+ // Sort by priority
196
+ const sorted = [...calls].sort((a, b) => {
197
+ const priorityOrder = { high: 0, normal: 1, low: 2 };
198
+ const aPriority = priorityOrder[a.priority ?? 'normal'];
199
+ const bPriority = priorityOrder[b.priority ?? 'normal'];
200
+ return aPriority - bPriority;
201
+ });
202
+ switch (this.options.strategy) {
203
+ case 'sequential':
204
+ return this.executeSequential(sorted, onProgress);
205
+ case 'parallel':
206
+ return this.executeParallel(sorted, onProgress);
207
+ case 'adaptive':
208
+ return this.executeAdaptive(sorted, onProgress);
209
+ }
210
+ }
211
+ /**
212
+ * Execute sequentially
213
+ */
214
+ async executeSequential(calls, onProgress) {
215
+ const results = [];
216
+ for (let i = 0; i < calls.length; i++) {
217
+ const call = calls[i];
218
+ onProgress?.({ completed: i, total: calls.length, current: call });
219
+ const result = await this.executeOne(call);
220
+ results.push(result);
221
+ onProgress?.({
222
+ completed: i + 1,
223
+ total: calls.length,
224
+ current: call,
225
+ result,
226
+ });
227
+ if (this.options.stopOnError && result.error) {
228
+ break;
229
+ }
230
+ }
231
+ return results;
232
+ }
233
+ /**
234
+ * Execute in parallel with concurrency limit
235
+ */
236
+ async executeParallel(calls, onProgress) {
237
+ const results = new Array(calls.length);
238
+ let completed = 0;
239
+ let stopped = false;
240
+ // Process in batches
241
+ const batches = [];
242
+ for (let i = 0; i < calls.length; i += this.options.maxConcurrency) {
243
+ batches.push(calls.slice(i, i + this.options.maxConcurrency));
244
+ }
245
+ for (const batch of batches) {
246
+ if (stopped)
247
+ break;
248
+ const batchPromises = batch.map(async (call, batchIndex) => {
249
+ const globalIndex = calls.indexOf(call);
250
+ const result = await this.executeOne(call);
251
+ results[globalIndex] = result;
252
+ completed++;
253
+ onProgress?.({
254
+ completed,
255
+ total: calls.length,
256
+ current: call,
257
+ result,
258
+ });
259
+ if (this.options.stopOnError && result.error) {
260
+ stopped = true;
261
+ }
262
+ return result;
263
+ });
264
+ await Promise.all(batchPromises);
265
+ }
266
+ return results.filter(Boolean);
267
+ }
268
+ /**
269
+ * Adaptive execution based on dependencies
270
+ */
271
+ async executeAdaptive(calls, onProgress) {
272
+ const results = new Map();
273
+ const pending = new Map(calls.map((c) => [c.id, c]));
274
+ let completed = 0;
275
+ while (pending.size > 0) {
276
+ // Find calls with satisfied dependencies
277
+ const ready = [];
278
+ for (const call of pending.values()) {
279
+ const deps = call.dependsOn ?? [];
280
+ if (deps.every((depId) => results.has(depId))) {
281
+ ready.push(call);
282
+ }
283
+ }
284
+ if (ready.length === 0 && pending.size > 0) {
285
+ // Circular dependency or missing dependency
286
+ for (const call of pending.values()) {
287
+ results.set(call.id, {
288
+ toolCallId: call.id,
289
+ name: call.name,
290
+ result: null,
291
+ error: 'Unresolvable dependencies',
292
+ durationMs: 0,
293
+ retriesAttempted: 0,
294
+ cached: false,
295
+ });
296
+ }
297
+ break;
298
+ }
299
+ // Execute ready calls in parallel (up to concurrency limit)
300
+ const batch = ready.slice(0, this.options.maxConcurrency);
301
+ const batchResults = await Promise.all(batch.map((call) => this.executeOne(call)));
302
+ for (let i = 0; i < batch.length; i++) {
303
+ const call = batch[i];
304
+ const result = batchResults[i];
305
+ results.set(call.id, result);
306
+ pending.delete(call.id);
307
+ completed++;
308
+ onProgress?.({
309
+ completed,
310
+ total: calls.length,
311
+ current: call,
312
+ result,
313
+ });
314
+ if (this.options.stopOnError && result.error) {
315
+ // Mark remaining as skipped
316
+ for (const remaining of pending.values()) {
317
+ results.set(remaining.id, {
318
+ toolCallId: remaining.id,
319
+ name: remaining.name,
320
+ result: null,
321
+ error: 'Skipped due to previous error',
322
+ durationMs: 0,
323
+ retriesAttempted: 0,
324
+ cached: false,
325
+ });
326
+ }
327
+ pending.clear();
328
+ break;
329
+ }
330
+ }
331
+ }
332
+ // Return in original order
333
+ return calls.map((c) => results.get(c.id));
334
+ }
335
+ /**
336
+ * Clear cache
337
+ */
338
+ clearCache() {
339
+ this.cache?.clear();
340
+ }
341
+ /**
342
+ * Cleanup expired cache entries
343
+ */
344
+ cleanupCache() {
345
+ return this.cache?.cleanup() ?? 0;
346
+ }
347
+ }
348
+ /**
349
+ * Create a batch executor
350
+ */
351
+ export function createBatchExecutor(tools, options) {
352
+ const router = new SimpleToolRouter();
353
+ router.registerAll(tools);
354
+ return new BatchExecutor(router, options);
355
+ }
356
+ /**
357
+ * Create a batch executor with custom router
358
+ */
359
+ export function createBatchExecutorWithRouter(router, options) {
360
+ return new BatchExecutor(router, options);
361
+ }
362
+ //# sourceMappingURL=executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @llm-utils/agents
3
+ * Agent building blocks: tools, memory, conversation, and more
4
+ */
5
+ export { defineTool, toOpenAITool, toAnthropicTool, zodToJsonSchema, ToolExecutor, createToolExecutor, } from './tools.js';
6
+ export type { JsonSchema, ToolDefinition, OpenAITool, AnthropicTool, ToolCall, ToolResult, } from './tools.js';
7
+ export { estimateTokens, createMemory, createSlidingWindowMemory, createSummaryMemory, } from './memory.js';
8
+ export type { MessageRole, Message, TokenizedMessage, TokenCounter, MemoryConfig, MemoryStats, ConversationMemory, SummaryMemoryConfig, } from './memory.js';
9
+ export { extractJson, parseJson, parseWithSchema, createParser, createSchemaParser, CommonSchemas, Parsers, } from './output.js';
10
+ export type { ParseResult, JsonExtractionOptions, ParserWithRetry, } from './output.js';
11
+ export { InMemoryThreadStorage, ConversationManager, createConversationManager, } from './conversation.js';
12
+ export type { ThreadedMessage, ConversationThread, ThreadStorageAdapter, ConversationManagerOptions, } from './conversation.js';
13
+ export { InMemorySessionStorage, ChatSession, SessionManager, createSessionManager, createChatSession, } from './session.js';
14
+ export type { SessionStatus, SessionConfig, SessionState, SessionEventType, SessionEvent, SessionEventHandler, SessionStorage, } from './session.js';
15
+ export { EventStreamProcessor, AgentEventEmitter, createEventProcessor, createEventEmitter, EventFilters, EventTransformers, } from './events.js';
16
+ export type { AgentEventType, AgentEvent, AgentStartData, AgentEndData, LlmStreamData, ToolCallData, EventHandler, EventFilter, EventTransformer, } from './events.js';
17
+ export { SimpleToolRouter, BatchExecutor, createBatchExecutor, createBatchExecutorWithRouter, } from './executor.js';
18
+ export type { ExecutionPriority, ExecutionStrategy, EnhancedToolCall, EnhancedToolResult, BatchExecutionOptions, ProgressCallback, ToolRouter, } from './executor.js';
19
+ export { MockMcpClient, McpToolAdapter, McpServerManager, createMcpManager, createMockMcpClient, createMcpToolAdapter, } from './mcp.js';
20
+ export type { McpServerConfig, McpTool, McpResource, McpPrompt, McpCallResult, McpConnectionState, McpClient, } from './mcp.js';
21
+ export { InMemoryTokenStorage, OAuthTokenManager, createOAuthManager, OAuthProviders, } from './oauth.js';
22
+ export type { OAuthToken, OAuthProviderConfig, TokenStorage, TokenRefreshFn, TokenManagerOptions, } from './oauth.js';
23
+ export { toLangChainMessage, toLangChainMessages, fromLangChainMessage, fromLangChainMessages, humanMessage, aiMessage, systemMessage, toolMessage, toLangChainToolCall, fromLangChainToolCall, buildToolResultMessage, buildToolMessages, MessageBuilder, createMessageBuilder, toOpenAIMessage, toOpenAIMessages, toAnthropicMessages, } from './langchain.js';
24
+ export type { LangChainMessageType, LangChainMessage, HumanMessage, AIMessage, SystemMessage, ToolMessage, LangChainToolCall, ConversionOptions, OpenAIMessage, AnthropicMessage, } from './langchain.js';
25
+ export { z } from 'zod';
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @llm-utils/agents
3
+ * Agent building blocks: tools, memory, conversation, and more
4
+ */
5
+ // Tools
6
+ export { defineTool, toOpenAITool, toAnthropicTool, zodToJsonSchema, ToolExecutor, createToolExecutor, } from './tools.js';
7
+ // Memory
8
+ export { estimateTokens, createMemory, createSlidingWindowMemory, createSummaryMemory, } from './memory.js';
9
+ // Output Parsing
10
+ export { extractJson, parseJson, parseWithSchema, createParser, createSchemaParser, CommonSchemas, Parsers, } from './output.js';
11
+ // Conversation Threading
12
+ export { InMemoryThreadStorage, ConversationManager, createConversationManager, } from './conversation.js';
13
+ // Session Management
14
+ export { InMemorySessionStorage, ChatSession, SessionManager, createSessionManager, createChatSession, } from './session.js';
15
+ // Agent Events
16
+ export { EventStreamProcessor, AgentEventEmitter, createEventProcessor, createEventEmitter, EventFilters, EventTransformers, } from './events.js';
17
+ // Batch Executor
18
+ export { SimpleToolRouter, BatchExecutor, createBatchExecutor, createBatchExecutorWithRouter, } from './executor.js';
19
+ // MCP Client
20
+ export { MockMcpClient, McpToolAdapter, McpServerManager, createMcpManager, createMockMcpClient, createMcpToolAdapter, } from './mcp.js';
21
+ // OAuth Token Manager
22
+ export { InMemoryTokenStorage, OAuthTokenManager, createOAuthManager, OAuthProviders, } from './oauth.js';
23
+ // LangChain Message Builder
24
+ export { toLangChainMessage, toLangChainMessages, fromLangChainMessage, fromLangChainMessages, humanMessage, aiMessage, systemMessage, toolMessage, toLangChainToolCall, fromLangChainToolCall, buildToolResultMessage, buildToolMessages, MessageBuilder, createMessageBuilder, toOpenAIMessage, toOpenAIMessages, toAnthropicMessages, } from './langchain.js';
25
+ // Re-export zod for convenience
26
+ export { z } from 'zod';
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAQ;AACR,OAAO,EACL,UAAU,EACV,YAAY,EACZ,eAAe,EACf,eAAe,EACf,YAAY,EACZ,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAUpB,SAAS;AACT,OAAO,EACL,cAAc,EACd,YAAY,EACZ,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAYrB,iBAAiB;AACjB,OAAO,EACL,WAAW,EACX,SAAS,EACT,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,OAAO,GACR,MAAM,aAAa,CAAC;AAOrB,yBAAyB;AACzB,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAQ3B,qBAAqB;AACrB,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAWtB,eAAe;AACf,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAarB,iBAAiB;AACjB,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AAWvB,aAAa;AACb,OAAO,EACL,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAWlB,sBAAsB;AACtB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,GACf,MAAM,YAAY,CAAC;AASpB,4BAA4B;AAC5B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,SAAS,EACT,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAcxB,gCAAgC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * LangChain Message Builder
3
+ * Build LangChain-compatible messages from various sources
4
+ */
5
+ import type { Message, MessageRole } from './memory.js';
6
+ import type { ToolCall, ToolResult } from './tools.js';
7
+ /**
8
+ * LangChain message types
9
+ */
10
+ export type LangChainMessageType = 'human' | 'ai' | 'system' | 'tool' | 'function';
11
+ /**
12
+ * LangChain base message
13
+ */
14
+ export interface LangChainMessage {
15
+ type: LangChainMessageType;
16
+ content: string;
17
+ name?: string;
18
+ additional_kwargs?: Record<string, unknown>;
19
+ }
20
+ /**
21
+ * LangChain human message
22
+ */
23
+ export interface HumanMessage extends LangChainMessage {
24
+ type: 'human';
25
+ }
26
+ /**
27
+ * LangChain AI message with tool calls
28
+ */
29
+ export interface AIMessage extends LangChainMessage {
30
+ type: 'ai';
31
+ tool_calls?: LangChainToolCall[];
32
+ }
33
+ /**
34
+ * LangChain system message
35
+ */
36
+ export interface SystemMessage extends LangChainMessage {
37
+ type: 'system';
38
+ }
39
+ /**
40
+ * LangChain tool message
41
+ */
42
+ export interface ToolMessage extends LangChainMessage {
43
+ type: 'tool';
44
+ tool_call_id: string;
45
+ }
46
+ /**
47
+ * LangChain tool call format
48
+ */
49
+ export interface LangChainToolCall {
50
+ id: string;
51
+ name: string;
52
+ args: Record<string, unknown>;
53
+ }
54
+ /**
55
+ * Message conversion options
56
+ */
57
+ export interface ConversionOptions {
58
+ /** Include tool calls in AI messages */
59
+ includeToolCalls?: boolean;
60
+ /** Flatten tool results into content */
61
+ flattenToolResults?: boolean;
62
+ /** Custom role mapping */
63
+ roleMapping?: Partial<Record<MessageRole, LangChainMessageType>>;
64
+ }
65
+ /**
66
+ * Convert standard message to LangChain format
67
+ */
68
+ export declare function toLangChainMessage(message: Message, options?: ConversionOptions): LangChainMessage;
69
+ /**
70
+ * Convert array of messages to LangChain format
71
+ */
72
+ export declare function toLangChainMessages(messages: Message[], options?: ConversionOptions): LangChainMessage[];
73
+ /**
74
+ * Convert LangChain message to standard format
75
+ */
76
+ export declare function fromLangChainMessage(lcMessage: LangChainMessage): Message;
77
+ /**
78
+ * Convert array of LangChain messages to standard format
79
+ */
80
+ export declare function fromLangChainMessages(lcMessages: LangChainMessage[]): Message[];
81
+ /**
82
+ * Create a human message
83
+ */
84
+ export declare function humanMessage(content: string, name?: string): HumanMessage;
85
+ /**
86
+ * Create an AI message
87
+ */
88
+ export declare function aiMessage(content: string, toolCalls?: LangChainToolCall[]): AIMessage;
89
+ /**
90
+ * Create a system message
91
+ */
92
+ export declare function systemMessage(content: string): SystemMessage;
93
+ /**
94
+ * Create a tool message
95
+ */
96
+ export declare function toolMessage(content: string, toolCallId: string, name?: string): ToolMessage;
97
+ /**
98
+ * Convert tool call to LangChain format
99
+ */
100
+ export declare function toLangChainToolCall(call: ToolCall): LangChainToolCall;
101
+ /**
102
+ * Convert LangChain tool call to standard format
103
+ */
104
+ export declare function fromLangChainToolCall(lcCall: LangChainToolCall): ToolCall;
105
+ /**
106
+ * Build tool result message
107
+ */
108
+ export declare function buildToolResultMessage(result: ToolResult): ToolMessage;
109
+ /**
110
+ * Build messages from tool call + result pairs
111
+ */
112
+ export declare function buildToolMessages(calls: ToolCall[], results: ToolResult[]): LangChainMessage[];
113
+ /**
114
+ * Message builder for complex conversations
115
+ */
116
+ export declare class MessageBuilder {
117
+ private messages;
118
+ /**
119
+ * Add system message
120
+ */
121
+ system(content: string): this;
122
+ /**
123
+ * Add human message
124
+ */
125
+ human(content: string, name?: string): this;
126
+ /**
127
+ * Add AI message
128
+ */
129
+ ai(content: string, toolCalls?: LangChainToolCall[]): this;
130
+ /**
131
+ * Add tool result message
132
+ */
133
+ tool(content: string, toolCallId: string, name?: string): this;
134
+ /**
135
+ * Add tool call and result
136
+ */
137
+ toolCallAndResult(call: ToolCall, result: ToolResult): this;
138
+ /**
139
+ * Add multiple messages
140
+ */
141
+ addMany(messages: Message[]): this;
142
+ /**
143
+ * Build the message array
144
+ */
145
+ build(): LangChainMessage[];
146
+ /**
147
+ * Build as standard messages
148
+ */
149
+ buildStandard(): Message[];
150
+ /**
151
+ * Clear builder
152
+ */
153
+ clear(): this;
154
+ /**
155
+ * Get message count
156
+ */
157
+ get length(): number;
158
+ }
159
+ /**
160
+ * Create a message builder
161
+ */
162
+ export declare function createMessageBuilder(): MessageBuilder;
163
+ /**
164
+ * OpenAI message format conversion
165
+ */
166
+ export interface OpenAIMessage {
167
+ role: 'system' | 'user' | 'assistant' | 'tool';
168
+ content: string | null;
169
+ name?: string;
170
+ tool_calls?: Array<{
171
+ id: string;
172
+ type: 'function';
173
+ function: {
174
+ name: string;
175
+ arguments: string;
176
+ };
177
+ }>;
178
+ tool_call_id?: string;
179
+ }
180
+ /**
181
+ * Convert to OpenAI message format
182
+ */
183
+ export declare function toOpenAIMessage(message: LangChainMessage): OpenAIMessage;
184
+ /**
185
+ * Convert array to OpenAI format
186
+ */
187
+ export declare function toOpenAIMessages(messages: LangChainMessage[]): OpenAIMessage[];
188
+ /**
189
+ * Anthropic message format conversion
190
+ */
191
+ export interface AnthropicMessage {
192
+ role: 'user' | 'assistant';
193
+ content: string | Array<{
194
+ type: 'text' | 'tool_use' | 'tool_result';
195
+ text?: string;
196
+ id?: string;
197
+ name?: string;
198
+ input?: Record<string, unknown>;
199
+ tool_use_id?: string;
200
+ content?: string;
201
+ }>;
202
+ }
203
+ /**
204
+ * Convert to Anthropic message format
205
+ */
206
+ export declare function toAnthropicMessages(messages: LangChainMessage[]): {
207
+ system?: string;
208
+ messages: AnthropicMessage[];
209
+ };
210
+ //# sourceMappingURL=langchain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../src/langchain.ts"],"names":[],"mappings":"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"}