@band-ai/sdk 0.1.2

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 (91) hide show
  1. package/dist/CodexAdapter-A1k_LMdZ.d.ts +1278 -0
  2. package/dist/CodexAdapter-BbZD-nBd.d.cts +1278 -0
  3. package/dist/adapters.cjs +10643 -0
  4. package/dist/adapters.d.cts +217 -0
  5. package/dist/adapters.d.ts +217 -0
  6. package/dist/adapters.js +92 -0
  7. package/dist/backends-BnOLsG7w.d.cts +20 -0
  8. package/dist/backends-C4n6cKOf.d.ts +20 -0
  9. package/dist/chunk-3BKAC4OZ.js +44 -0
  10. package/dist/chunk-5CXIMAH2.js +52 -0
  11. package/dist/chunk-6AJA2OPC.js +3682 -0
  12. package/dist/chunk-A3TDK6GP.js +6674 -0
  13. package/dist/chunk-AVVDPXP4.js +39 -0
  14. package/dist/chunk-EDPKUUJL.js +177 -0
  15. package/dist/chunk-FUODYQRE.js +2562 -0
  16. package/dist/chunk-GVEQ3RAH.js +373 -0
  17. package/dist/chunk-INA6YZTZ.js +88 -0
  18. package/dist/chunk-IZPV6QS6.js +115 -0
  19. package/dist/chunk-LY55KYVI.js +0 -0
  20. package/dist/chunk-NIAQBANR.js +577 -0
  21. package/dist/chunk-OD2G5LFQ.js +78 -0
  22. package/dist/chunk-SFVKOEQH.js +103 -0
  23. package/dist/chunk-SG4WLD2H.js +1093 -0
  24. package/dist/chunk-YR3BOQNW.js +39 -0
  25. package/dist/chunk-ZZJRRBPQ.js +82 -0
  26. package/dist/claude-CcnQ5OUC.d.ts +53 -0
  27. package/dist/claude-CwTAxhwI.d.cts +53 -0
  28. package/dist/config.cjs +164 -0
  29. package/dist/config.d.cts +19 -0
  30. package/dist/config.d.ts +19 -0
  31. package/dist/config.js +9 -0
  32. package/dist/converters.cjs +1086 -0
  33. package/dist/converters.d.cts +143 -0
  34. package/dist/converters.d.ts +143 -0
  35. package/dist/converters.js +468 -0
  36. package/dist/core.cjs +185 -0
  37. package/dist/core.d.cts +22 -0
  38. package/dist/core.d.ts +22 -0
  39. package/dist/core.js +24 -0
  40. package/dist/customTools-BzF0IISO.d.cts +10 -0
  41. package/dist/customTools-BzF0IISO.d.ts +10 -0
  42. package/dist/dtos-DUpbIu8k.d.cts +163 -0
  43. package/dist/dtos-DUpbIu8k.d.ts +163 -0
  44. package/dist/history-ByessXNq.d.ts +24 -0
  45. package/dist/history-i6yN7neC.d.cts +24 -0
  46. package/dist/index.cjs +13914 -0
  47. package/dist/index.d.cts +63 -0
  48. package/dist/index.d.ts +63 -0
  49. package/dist/index.js +198 -0
  50. package/dist/linear.cjs +2207 -0
  51. package/dist/linear.d.cts +167 -0
  52. package/dist/linear.d.ts +167 -0
  53. package/dist/linear.js +2139 -0
  54. package/dist/logger-CABQOnlR.d.cts +21 -0
  55. package/dist/logger-CABQOnlR.d.ts +21 -0
  56. package/dist/mcp-claude.cjs +584 -0
  57. package/dist/mcp-claude.d.cts +4 -0
  58. package/dist/mcp-claude.d.ts +4 -0
  59. package/dist/mcp-claude.js +11 -0
  60. package/dist/mcp.cjs +1247 -0
  61. package/dist/mcp.d.cts +97 -0
  62. package/dist/mcp.d.ts +97 -0
  63. package/dist/mcp.js +27 -0
  64. package/dist/opencode-BBcDchcN.d.cts +159 -0
  65. package/dist/opencode-DthQQUsZ.d.ts +159 -0
  66. package/dist/pagination-BPiys10t.d.cts +25 -0
  67. package/dist/pagination-CcDkVFxK.d.ts +25 -0
  68. package/dist/protocols-CInhtFpA.d.cts +116 -0
  69. package/dist/protocols-DrhzOH6K.d.ts +116 -0
  70. package/dist/rest.cjs +1159 -0
  71. package/dist/rest.d.cts +144 -0
  72. package/dist/rest.d.ts +144 -0
  73. package/dist/rest.js +18 -0
  74. package/dist/runtime.cjs +5353 -0
  75. package/dist/runtime.d.cts +276 -0
  76. package/dist/runtime.d.ts +276 -0
  77. package/dist/runtime.js +274 -0
  78. package/dist/schemas-BpEBkq5V.d.cts +592 -0
  79. package/dist/schemas-vos1AaBc.d.ts +592 -0
  80. package/dist/sdk-HJUVSSWA.js +10 -0
  81. package/dist/simpleAdapter-9OE_p6QW.d.ts +29 -0
  82. package/dist/simpleAdapter-DqhvjsGr.d.cts +29 -0
  83. package/dist/testing.cjs +217 -0
  84. package/dist/testing.d.cts +126 -0
  85. package/dist/testing.d.ts +126 -0
  86. package/dist/testing.js +186 -0
  87. package/dist/types-7jVzOeOP.d.ts +446 -0
  88. package/dist/types-CSHFipIc.d.cts +331 -0
  89. package/dist/types-CovcHpYf.d.cts +446 -0
  90. package/dist/types-CxII3XkA.d.ts +331 -0
  91. package/package.json +189 -0
@@ -0,0 +1,1278 @@
1
+ import { S as SimpleAdapter } from './simpleAdapter-9OE_p6QW.js';
2
+ import { A as AdapterToolsProtocol, c as MessagingTools, T as ToolExecutor, f as ToolSchemaProvider, H as HistoryConverter, a as AgentToolsProtocol } from './protocols-DrhzOH6K.js';
3
+ import { H as HistoryProvider, P as PlatformMessage } from './types-7jVzOeOP.js';
4
+ import { L as Logger } from './logger-CABQOnlR.js';
5
+ import { C as CustomToolDef } from './customTools-BzF0IISO.js';
6
+ import { m as ToolModelMessage, n as ToolModelSchema, M as MetadataMap } from './dtos-DUpbIu8k.js';
7
+ import { s as GoogleADKMessages, q as GoogleADKHistoryConverter, e as A2ASessionState, A as A2AAuth, G as GatewaySessionState, a as A2AGatewayAdapterOptions, n as ParlantMessages, P as ParlantHistoryConverter, t as OpencodeSessionState, O as OpencodeHistoryConverter } from './opencode-DthQQUsZ.js';
8
+ import { c as createThenvoiMcpBackend } from './backends-C4n6cKOf.js';
9
+ import { M as McpToolRegistration } from './claude-CcnQ5OUC.js';
10
+
11
+ type GenericAdapterHandler = (args: {
12
+ message: PlatformMessage;
13
+ tools: AdapterToolsProtocol;
14
+ history: HistoryProvider;
15
+ participantsMessage: string | null;
16
+ contactsMessage: string | null;
17
+ isSessionBootstrap: boolean;
18
+ roomId: string;
19
+ agentName: string;
20
+ agentDescription: string;
21
+ }) => Promise<void>;
22
+ declare class GenericAdapter extends SimpleAdapter<HistoryProvider> {
23
+ private readonly handler;
24
+ constructor(handler: GenericAdapterHandler);
25
+ onMessage(message: PlatformMessage, tools: AdapterToolsProtocol, history: HistoryProvider, participantsMessage: string | null, contactsMessage: string | null, context: {
26
+ isSessionBootstrap: boolean;
27
+ roomId: string;
28
+ }): Promise<void>;
29
+ }
30
+
31
+ interface ToolCall {
32
+ id: string;
33
+ name: string;
34
+ input: MetadataMap;
35
+ inputParseError?: string;
36
+ }
37
+ interface ToolResult {
38
+ toolCallId: string;
39
+ name: string;
40
+ output: unknown;
41
+ isError?: boolean;
42
+ }
43
+ interface ToolCallingResponse {
44
+ text?: string;
45
+ toolCalls?: ToolCall[];
46
+ }
47
+ interface ToolRound {
48
+ toolCalls: ToolCall[];
49
+ toolResults: ToolResult[];
50
+ }
51
+ interface ToolCallingModelRequest {
52
+ systemPrompt?: string;
53
+ messages: ToolModelMessage[];
54
+ tools: ToolModelSchema[];
55
+ toolRounds?: ToolRound[];
56
+ }
57
+ interface ToolCallingModel {
58
+ complete(request: ToolCallingModelRequest): Promise<ToolCallingResponse>;
59
+ }
60
+
61
+ interface ToolCallingAdapterOptions {
62
+ model: ToolCallingModel;
63
+ toolFormat: "openai" | "anthropic";
64
+ systemPrompt?: string;
65
+ includeMemoryTools?: boolean;
66
+ maxToolRounds?: number;
67
+ enableExecutionReporting?: boolean;
68
+ customTools?: CustomToolDef[];
69
+ logger?: Logger;
70
+ }
71
+ type ToolCallingTools = MessagingTools & ToolExecutor & ToolSchemaProvider;
72
+ declare class ToolCallingAdapter extends SimpleAdapter<HistoryProvider, ToolCallingTools> {
73
+ private readonly model;
74
+ private readonly toolFormat;
75
+ private readonly systemPrompt?;
76
+ private readonly includeMemoryTools;
77
+ private readonly maxToolRounds;
78
+ private readonly enableExecutionReporting;
79
+ private readonly customTools;
80
+ private readonly customToolIndex;
81
+ private readonly logger;
82
+ constructor(options: ToolCallingAdapterOptions);
83
+ onMessage(message: PlatformMessage, tools: ToolCallingTools, history: HistoryProvider, participantsMessage: string | null, contactsMessage: string | null, _context: {
84
+ isSessionBootstrap: boolean;
85
+ roomId: string;
86
+ }): Promise<void>;
87
+ private buildMessages;
88
+ private reportExecutionEvent;
89
+ }
90
+ declare function runSingleToolRound(model: ToolCallingModel, request: ToolCallingModelRequest): Promise<ToolCallingResponse>;
91
+
92
+ interface VercelAISDKToolDefinition {
93
+ description?: string;
94
+ inputSchema: Record<string, unknown>;
95
+ }
96
+ type VercelAISDKGenerateText = (params: Record<string, unknown>) => Promise<Record<string, unknown>>;
97
+ type VercelAISDKToolFactory = (definition: VercelAISDKToolDefinition) => unknown;
98
+ interface VercelAISDKToolCallingModelOptions {
99
+ model: unknown;
100
+ generateText?: VercelAISDKGenerateText;
101
+ toolFactory?: VercelAISDKToolFactory;
102
+ }
103
+ declare class VercelAISDKToolCallingModel implements ToolCallingModel {
104
+ private readonly model;
105
+ private readonly generateTextOverride?;
106
+ private readonly toolFactoryOverride?;
107
+ private readonly runtimeLoader;
108
+ constructor(options: VercelAISDKToolCallingModelOptions);
109
+ complete(request: ToolCallingModelRequest): Promise<ToolCallingResponse>;
110
+ }
111
+
112
+ interface VercelAISDKAdapterOptions extends Omit<ToolCallingAdapterOptions, "toolFormat" | "model">, VercelAISDKToolCallingModelOptions {
113
+ }
114
+ declare class VercelAISDKAdapter extends ToolCallingAdapter {
115
+ constructor(options: VercelAISDKAdapterOptions);
116
+ }
117
+
118
+ interface OpenAIChatCompletionResponseLike {
119
+ choices?: Array<{
120
+ message?: {
121
+ content?: unknown;
122
+ tool_calls?: unknown;
123
+ };
124
+ }>;
125
+ }
126
+ interface OpenAIClientLike {
127
+ chat: {
128
+ completions: {
129
+ create(params: Record<string, unknown>): Promise<OpenAIChatCompletionResponseLike>;
130
+ };
131
+ };
132
+ }
133
+ type OpenAIClientFactory = (input: {
134
+ apiKey?: string;
135
+ }) => Promise<OpenAIClientLike>;
136
+ interface OpenAIToolCallingModelOptions {
137
+ model: string;
138
+ apiKey?: string;
139
+ clientFactory?: OpenAIClientFactory;
140
+ }
141
+ declare class OpenAIToolCallingModel implements ToolCallingModel {
142
+ private readonly model;
143
+ private readonly apiKey?;
144
+ private readonly clientFactory?;
145
+ private readonly clientLoader;
146
+ constructor(options: OpenAIToolCallingModelOptions);
147
+ complete(request: ToolCallingModelRequest): Promise<ToolCallingResponse>;
148
+ private getClient;
149
+ }
150
+
151
+ interface OpenAIAdapterOptions extends Omit<ToolCallingAdapterOptions, "toolFormat" | "model"> {
152
+ model?: ToolCallingModel;
153
+ openAIModel?: string;
154
+ apiKey?: string;
155
+ clientFactory?: OpenAIClientFactory;
156
+ }
157
+ declare class OpenAIAdapter extends ToolCallingAdapter {
158
+ constructor(options?: OpenAIAdapterOptions);
159
+ }
160
+
161
+ interface AnthropicMessageResponseLike {
162
+ content?: unknown;
163
+ }
164
+ interface AnthropicClientLike {
165
+ messages: {
166
+ create(params: Record<string, unknown>): Promise<AnthropicMessageResponseLike>;
167
+ };
168
+ }
169
+ type AnthropicClientFactory = (input: {
170
+ apiKey?: string;
171
+ }) => Promise<AnthropicClientLike>;
172
+ interface AnthropicToolCallingModelOptions {
173
+ model: string;
174
+ apiKey?: string;
175
+ maxTokens?: number;
176
+ clientFactory?: AnthropicClientFactory;
177
+ }
178
+ declare class AnthropicToolCallingModel implements ToolCallingModel {
179
+ private readonly model;
180
+ private readonly apiKey?;
181
+ private readonly maxTokens;
182
+ private readonly clientFactory?;
183
+ private readonly clientLoader;
184
+ constructor(options: AnthropicToolCallingModelOptions);
185
+ complete(request: ToolCallingModelRequest): Promise<ToolCallingResponse>;
186
+ private getClient;
187
+ }
188
+
189
+ interface AnthropicAdapterOptions extends Omit<ToolCallingAdapterOptions, "toolFormat" | "model"> {
190
+ model?: ToolCallingModel;
191
+ anthropicModel?: string;
192
+ apiKey?: string;
193
+ maxTokens?: number;
194
+ clientFactory?: AnthropicClientFactory;
195
+ }
196
+ declare class AnthropicAdapter extends ToolCallingAdapter {
197
+ constructor(options?: AnthropicAdapterOptions);
198
+ }
199
+
200
+ interface GeminiGenerateResponseLike {
201
+ text?: string;
202
+ functionCalls?: Array<{
203
+ id?: string;
204
+ name?: string;
205
+ args?: Record<string, unknown>;
206
+ }>;
207
+ }
208
+ interface GeminiClientLike {
209
+ models: {
210
+ generateContent(params: Record<string, unknown>): Promise<GeminiGenerateResponseLike>;
211
+ };
212
+ }
213
+ type GeminiClientFactory = (input: {
214
+ apiKey?: string;
215
+ }) => Promise<GeminiClientLike>;
216
+ interface GeminiToolCallingModelOptions {
217
+ model: string;
218
+ apiKey?: string;
219
+ clientFactory?: GeminiClientFactory;
220
+ partFactory?: {
221
+ createPartFromFunctionCall: (name: string, args: Record<string, unknown>) => unknown;
222
+ createPartFromFunctionResponse: (id: string, name: string, response: Record<string, unknown>) => unknown;
223
+ };
224
+ }
225
+ declare class GeminiToolCallingModel implements ToolCallingModel {
226
+ private readonly model;
227
+ private readonly apiKey?;
228
+ private readonly clientFactory?;
229
+ private readonly clientLoader;
230
+ private readonly partFactoryLoader;
231
+ private createPartFromFunctionCall;
232
+ private createPartFromFunctionResponse;
233
+ constructor(options: GeminiToolCallingModelOptions);
234
+ complete(request: ToolCallingModelRequest): Promise<ToolCallingResponse>;
235
+ private toGeminiTools;
236
+ private toGeminiContents;
237
+ private toBaseContent;
238
+ private toToolCalls;
239
+ private getClient;
240
+ private ensurePartFactories;
241
+ }
242
+
243
+ interface GeminiAdapterOptions extends Omit<ToolCallingAdapterOptions, "toolFormat" | "model"> {
244
+ model?: ToolCallingModel;
245
+ geminiModel?: string;
246
+ apiKey?: string;
247
+ clientFactory?: GeminiClientFactory;
248
+ }
249
+ declare class GeminiAdapter extends ToolCallingAdapter {
250
+ constructor(options?: GeminiAdapterOptions);
251
+ }
252
+
253
+ interface GoogleAdkFunctionCallLike {
254
+ id?: string;
255
+ name?: string;
256
+ args?: unknown;
257
+ }
258
+ interface GoogleAdkFunctionResponseLike {
259
+ id?: string;
260
+ name?: string;
261
+ response?: unknown;
262
+ }
263
+ interface GoogleAdkRunnerLike {
264
+ sessionService: {
265
+ createSession(params: {
266
+ appName: string;
267
+ userId: string;
268
+ sessionId: string;
269
+ }): Promise<unknown>;
270
+ };
271
+ runAsync(params: {
272
+ userId: string;
273
+ sessionId: string;
274
+ newMessage: {
275
+ role: "user";
276
+ parts: Array<{
277
+ text: string;
278
+ }>;
279
+ };
280
+ }): AsyncIterable<unknown>;
281
+ }
282
+ interface GoogleAdkSdkLike {
283
+ createAgent(params: {
284
+ name: string;
285
+ model: string;
286
+ instruction: string;
287
+ tools: unknown[];
288
+ }): unknown;
289
+ createFunctionTool(params: {
290
+ name: string;
291
+ description: string;
292
+ parameters?: Record<string, unknown>;
293
+ execute(input: unknown): Promise<unknown>;
294
+ }): unknown;
295
+ createRunner(params: {
296
+ agent: unknown;
297
+ appName: string;
298
+ }): GoogleAdkRunnerLike;
299
+ isFinalResponse(event: unknown): boolean;
300
+ getFunctionCalls(event: unknown): GoogleAdkFunctionCallLike[];
301
+ getFunctionResponses(event: unknown): GoogleAdkFunctionResponseLike[];
302
+ stringifyContent(event: unknown): string;
303
+ }
304
+ interface GoogleADKAdapterOptions {
305
+ model?: string;
306
+ systemPrompt?: string;
307
+ customSection?: string;
308
+ enableExecutionReporting?: boolean;
309
+ enableMemoryTools?: boolean;
310
+ historyConverter?: GoogleADKHistoryConverter;
311
+ additionalTools?: CustomToolDef[];
312
+ maxHistoryMessages?: number;
313
+ maxTranscriptChars?: number;
314
+ logger?: Logger;
315
+ sdkFactory?: () => Promise<GoogleAdkSdkLike>;
316
+ }
317
+ declare class GoogleADKAdapter extends SimpleAdapter<GoogleADKMessages, AdapterToolsProtocol> {
318
+ private readonly model;
319
+ private readonly systemPromptOverride?;
320
+ private readonly customSection;
321
+ private readonly enableExecutionReporting;
322
+ private readonly enableMemoryTools;
323
+ private readonly customTools;
324
+ private readonly maxHistoryMessages;
325
+ private readonly maxTranscriptChars;
326
+ private readonly logger;
327
+ private readonly historyConverterInstance;
328
+ private readonly sdkLoader;
329
+ private readonly roomHistory;
330
+ private readonly roomSessions;
331
+ private systemPrompt;
332
+ constructor(options?: GoogleADKAdapterOptions);
333
+ onStarted(agentName: string, agentDescription: string): Promise<void>;
334
+ onMessage(message: PlatformMessage, tools: AdapterToolsProtocol, history: GoogleADKMessages, participantsMessage: string | null, contactsMessage: string | null, context: {
335
+ isSessionBootstrap: boolean;
336
+ roomId: string;
337
+ }): Promise<void>;
338
+ onCleanup(roomId: string): Promise<void>;
339
+ private buildAgent;
340
+ private buildTools;
341
+ private buildPlatformTool;
342
+ private buildCustomTool;
343
+ private buildPrompt;
344
+ private formatIncomingMessage;
345
+ private reportExecutionEvent;
346
+ }
347
+
348
+ interface LangGraphGraph {
349
+ invoke?(input: Record<string, unknown>, config?: Record<string, unknown>): Promise<unknown>;
350
+ streamEvents?(input: Record<string, unknown>, config?: Record<string, unknown>, options?: Record<string, unknown>): AsyncIterable<unknown>;
351
+ }
352
+ interface LangGraphAdapterOptions {
353
+ llm?: unknown;
354
+ checkpointer?: unknown;
355
+ graph?: LangGraphGraph;
356
+ graphFactory?: (tools: unknown[]) => LangGraphGraph | Promise<LangGraphGraph>;
357
+ additionalTools?: unknown[];
358
+ systemPrompt?: string;
359
+ customSection?: string;
360
+ recursionLimit?: number;
361
+ maxHistoryMessages?: number;
362
+ emitExecutionEvents?: boolean;
363
+ includeMemoryTools?: boolean;
364
+ logger?: Logger;
365
+ }
366
+ declare class LangGraphAdapter extends SimpleAdapter<HistoryProvider, AdapterToolsProtocol> {
367
+ private readonly llm?;
368
+ private readonly checkpointer?;
369
+ private readonly graph?;
370
+ private readonly graphFactory?;
371
+ private readonly additionalTools;
372
+ private readonly systemPromptOverride?;
373
+ private readonly customSection;
374
+ private readonly recursionLimit;
375
+ private readonly maxHistoryMessages;
376
+ private readonly emitExecutionEvents;
377
+ private readonly includeMemoryTools;
378
+ private readonly logger;
379
+ private readonly sdkLoader;
380
+ private renderedSystemPrompt;
381
+ private readonly bootstrappedRooms;
382
+ constructor(options: LangGraphAdapterOptions);
383
+ onStarted(agentName: string, agentDescription: string): Promise<void>;
384
+ onMessage(message: PlatformMessage, tools: AdapterToolsProtocol, history: HistoryProvider, participantsMessage: string | null, contactsMessage: string | null, context: {
385
+ isSessionBootstrap: boolean;
386
+ roomId: string;
387
+ }): Promise<void>;
388
+ onCleanup(roomId: string): Promise<void>;
389
+ private resolveGraph;
390
+ private buildMessages;
391
+ private forwardStreamEvents;
392
+ }
393
+
394
+ interface A2AMessageSendParams {
395
+ message: {
396
+ kind: "message";
397
+ messageId: string;
398
+ role: "user";
399
+ parts: Array<{
400
+ kind: "text";
401
+ text: string;
402
+ }>;
403
+ contextId?: string;
404
+ taskId?: string;
405
+ };
406
+ }
407
+ interface A2AClientLike {
408
+ sendMessage(params: A2AMessageSendParams): Promise<unknown>;
409
+ sendMessageStream(params: A2AMessageSendParams): AsyncIterable<unknown>;
410
+ resubscribeTask?(params: {
411
+ id: string;
412
+ }): AsyncIterable<unknown>;
413
+ }
414
+ interface A2AAdapterOptions {
415
+ remoteUrl: string;
416
+ auth?: A2AAuth;
417
+ streaming?: boolean;
418
+ clientFactory?: A2AClientFactory;
419
+ maxStreamEvents?: number;
420
+ logger?: Logger;
421
+ }
422
+ type A2AClientFactory = (input: {
423
+ remoteUrl: string;
424
+ authHeaders: Record<string, string>;
425
+ }) => Promise<A2AClientLike>;
426
+ declare class A2AAdapter extends SimpleAdapter<A2ASessionState, MessagingTools> {
427
+ private readonly remoteUrl;
428
+ private readonly authHeaders;
429
+ private readonly streaming;
430
+ private readonly clientFactory?;
431
+ private readonly maxStreamEvents;
432
+ private readonly logger;
433
+ private client;
434
+ private readonly contexts;
435
+ private readonly tasks;
436
+ private readonly taskSenders;
437
+ constructor(options: A2AAdapterOptions);
438
+ onStarted(agentName: string, agentDescription: string): Promise<void>;
439
+ onMessage(message: PlatformMessage, tools: MessagingTools, history: A2ASessionState, _participantsMessage: string | null, _contactsMessage: string | null, context: {
440
+ isSessionBootstrap: boolean;
441
+ roomId: string;
442
+ }): Promise<void>;
443
+ onCleanup(roomId: string): Promise<void>;
444
+ private handleEvent;
445
+ private handleTaskEvent;
446
+ private handleStatusUpdateEvent;
447
+ private trackTask;
448
+ private clearTaskTracking;
449
+ private handleStateTransition;
450
+ private emitTaskEvent;
451
+ private toSendParams;
452
+ private rehydrateFromHistory;
453
+ private createClient;
454
+ }
455
+
456
+ declare class A2AGatewayAdapter extends SimpleAdapter<GatewaySessionState, MessagingTools> {
457
+ private readonly thenvoiRest;
458
+ private readonly gatewayUrl;
459
+ private readonly host;
460
+ private readonly port;
461
+ private readonly authToken?;
462
+ private readonly allowUnauthenticatedLoopback;
463
+ private readonly responseTimeoutMs;
464
+ private readonly peerPageSize;
465
+ private readonly maxPeerPages;
466
+ private readonly serverFactory;
467
+ private readonly peersBySlug;
468
+ private readonly peersById;
469
+ private readonly contextToRoom;
470
+ private readonly roomParticipants;
471
+ private readonly pendingByRoom;
472
+ private readonly pendingByTask;
473
+ private server;
474
+ constructor(options: A2AGatewayAdapterOptions);
475
+ onStarted(agentName: string, agentDescription: string): Promise<void>;
476
+ onMessage(message: PlatformMessage, _tools: MessagingTools, history: GatewaySessionState, _participantsMessage: string | null, _contactsMessage: string | null, context: {
477
+ isSessionBootstrap: boolean;
478
+ roomId: string;
479
+ }): Promise<void>;
480
+ onCleanup(roomId: string): Promise<void>;
481
+ stopGatewayServer(): Promise<void>;
482
+ onRuntimeStop(): Promise<void>;
483
+ private refreshPeers;
484
+ private handleGatewayRequest;
485
+ private cancelPendingTask;
486
+ private registerPending;
487
+ private resolvePendingForMessage;
488
+ private resolveGatewayPeer;
489
+ private resolveCanonicalPeerId;
490
+ private getOrCreateRoom;
491
+ private emitContextEvent;
492
+ private rehydrate;
493
+ private removePending;
494
+ private finalizePending;
495
+ private forgetRoom;
496
+ private resetState;
497
+ }
498
+
499
+ interface ParlantClientLike {
500
+ customers: {
501
+ create(params: {
502
+ id?: string;
503
+ name: string;
504
+ metadata?: Record<string, string | undefined>;
505
+ }, requestOptions?: {
506
+ headers?: Record<string, string>;
507
+ }): Promise<{
508
+ id: string;
509
+ }>;
510
+ };
511
+ sessions: {
512
+ create(params: {
513
+ agentId: string;
514
+ customerId?: string;
515
+ title?: string;
516
+ metadata?: Record<string, unknown>;
517
+ }, requestOptions?: {
518
+ headers?: Record<string, string>;
519
+ }): Promise<{
520
+ id: string;
521
+ }>;
522
+ createEvent(sessionId: string, params: {
523
+ kind: "message" | "status" | "tool" | "custom";
524
+ source: "customer" | "customer_ui" | "human_agent" | "human_agent_on_behalf_of_ai_agent" | "ai_agent" | "system";
525
+ message?: string;
526
+ data?: unknown;
527
+ moderation?: "auto" | "paranoid" | "none";
528
+ metadata?: Record<string, unknown>;
529
+ }, requestOptions?: {
530
+ headers?: Record<string, string>;
531
+ }): Promise<{
532
+ id: string;
533
+ offset: number;
534
+ }>;
535
+ listEvents(sessionId: string, params?: {
536
+ minOffset?: number;
537
+ source?: string;
538
+ kinds?: string;
539
+ waitForData?: number;
540
+ }, requestOptions?: {
541
+ headers?: Record<string, string>;
542
+ }): Promise<Array<Record<string, unknown>>>;
543
+ };
544
+ }
545
+ interface ParlantAdapterOptions {
546
+ environment: string;
547
+ baseUrl?: string;
548
+ agentId: string;
549
+ apiKey?: string;
550
+ headers?: Record<string, string>;
551
+ systemPrompt?: string;
552
+ customSection?: string;
553
+ includeBaseInstructions?: boolean;
554
+ responseTimeoutSeconds?: number;
555
+ maxHistoryMessages?: number;
556
+ historyConverter?: ParlantHistoryConverter;
557
+ clientFactory?: ParlantClientFactory;
558
+ logger?: Logger;
559
+ }
560
+ type ParlantClientFactory = () => Promise<ParlantClientLike>;
561
+ declare class ParlantAdapter extends SimpleAdapter<ParlantMessages, MessagingTools> {
562
+ private readonly environment;
563
+ private readonly baseUrl?;
564
+ private readonly agentId;
565
+ private readonly apiKey?;
566
+ private readonly headers;
567
+ private readonly systemPromptOverride?;
568
+ private readonly customSection?;
569
+ private readonly includeBaseInstructions;
570
+ private readonly responseTimeoutSeconds;
571
+ private readonly maxHistoryMessages;
572
+ private readonly clientFactory?;
573
+ private readonly logger;
574
+ private readonly clientLoader;
575
+ private lastInitFailure;
576
+ private systemPrompt;
577
+ private readonly roomSessions;
578
+ private readonly roomCustomers;
579
+ private readonly bootstrappedRooms;
580
+ private readonly roomSessionInitPromises;
581
+ private readonly roomBootstrapInitPromises;
582
+ constructor(options: ParlantAdapterOptions);
583
+ onStarted(agentName: string, agentDescription: string): Promise<void>;
584
+ onMessage(message: PlatformMessage, tools: MessagingTools, history: ParlantMessages, participantsMessage: string | null, contactsMessage: string | null, context: {
585
+ isSessionBootstrap: boolean;
586
+ roomId: string;
587
+ }): Promise<void>;
588
+ onCleanup(roomId: string): Promise<void>;
589
+ private getOrCreateSession;
590
+ private ensureBootstrapHistory;
591
+ private getOrCreateCustomer;
592
+ private injectHistory;
593
+ private waitForAiResponse;
594
+ private requestOptions;
595
+ private ensureClient;
596
+ private createClient;
597
+ }
598
+
599
+ interface LettaMessage {
600
+ role: "user" | "assistant";
601
+ content: string;
602
+ sender: string;
603
+ senderType: string;
604
+ }
605
+ type LettaMessages = LettaMessage[];
606
+ declare class LettaHistoryConverter implements HistoryConverter<LettaMessages> {
607
+ convert(raw: Array<Record<string, unknown>>): LettaMessages;
608
+ }
609
+
610
+ interface LettaResponseMessage {
611
+ id?: string;
612
+ date?: string;
613
+ message_type: string;
614
+ content?: string | Array<{
615
+ text: string;
616
+ }>;
617
+ reasoning?: string;
618
+ tool_call?: {
619
+ name: string;
620
+ arguments: string;
621
+ tool_call_id: string;
622
+ };
623
+ tool_return?: string;
624
+ status?: string;
625
+ tool_call_id?: string;
626
+ }
627
+ interface LettaResponse {
628
+ messages: LettaResponseMessage[];
629
+ stop_reason: {
630
+ stop_reason: string;
631
+ };
632
+ usage?: Record<string, unknown>;
633
+ }
634
+ interface LettaAgentCreateParams {
635
+ name?: string;
636
+ model?: string;
637
+ embedding?: string;
638
+ system?: string;
639
+ memory_blocks?: Array<{
640
+ label: string;
641
+ value: string;
642
+ }>;
643
+ tools?: string[];
644
+ include_base_tools?: boolean;
645
+ context_window_limit?: number;
646
+ }
647
+ interface LettaToolReturn {
648
+ status: "success" | "error";
649
+ tool_call_id: string;
650
+ tool_return: string;
651
+ }
652
+ interface LettaToolReturnCreate {
653
+ type: "tool_return";
654
+ tool_returns: LettaToolReturn[];
655
+ }
656
+ interface LettaMessageCreateParams {
657
+ messages?: Array<{
658
+ role: string;
659
+ content: string;
660
+ tool_call_id?: string;
661
+ } | LettaToolReturnCreate>;
662
+ input?: string;
663
+ client_tools?: Array<{
664
+ name: string;
665
+ description: string;
666
+ parameters: Record<string, unknown>;
667
+ }>;
668
+ max_steps?: number;
669
+ }
670
+ interface LettaRequestOptions {
671
+ signal?: AbortSignal | null;
672
+ }
673
+ interface LettaClientLike {
674
+ agents: {
675
+ create(params: LettaAgentCreateParams, options?: LettaRequestOptions): Promise<{
676
+ id: string;
677
+ }>;
678
+ delete?(agentId: string): Promise<void>;
679
+ messages: {
680
+ create(agentId: string, params: LettaMessageCreateParams, options?: LettaRequestOptions): Promise<LettaResponse>;
681
+ };
682
+ };
683
+ }
684
+ type LettaClientFactory = () => Promise<LettaClientLike>;
685
+ interface LettaAdapterOptions {
686
+ model?: string;
687
+ lettaApiKey?: string;
688
+ lettaBaseUrl?: string;
689
+ lettaAgentId?: string;
690
+ embedding?: string;
691
+ memoryBlocks?: Array<{
692
+ label: string;
693
+ value: string;
694
+ }>;
695
+ serverTools?: string[];
696
+ includeBaseTools?: boolean;
697
+ contextWindowLimit?: number;
698
+ maxToolRounds?: number;
699
+ responseTimeoutSeconds?: number;
700
+ systemPrompt?: string;
701
+ customSection?: string;
702
+ includeBaseInstructions?: boolean;
703
+ maxHistoryMessages?: number;
704
+ emitReasoningEvents?: boolean;
705
+ historyConverter?: LettaHistoryConverter;
706
+ clientFactory?: LettaClientFactory;
707
+ logger?: Logger;
708
+ }
709
+ declare class LettaAdapter extends SimpleAdapter<LettaMessages, AdapterToolsProtocol> {
710
+ private readonly model;
711
+ private readonly lettaApiKey?;
712
+ private readonly lettaBaseUrl?;
713
+ private readonly sharedLettaAgentId?;
714
+ private readonly embedding?;
715
+ private readonly memoryBlocks;
716
+ private readonly serverTools;
717
+ private readonly includeBaseTools;
718
+ private readonly contextWindowLimit?;
719
+ private readonly maxToolRounds;
720
+ private readonly responseTimeoutSeconds;
721
+ private readonly systemPromptOverride?;
722
+ private readonly customSection?;
723
+ private readonly includeBaseInstructions;
724
+ private readonly maxHistoryMessages;
725
+ private readonly emitReasoningEvents;
726
+ private readonly clientFactory?;
727
+ private readonly logger;
728
+ private readonly clientLoader;
729
+ private systemPrompt;
730
+ private readonly roomAgents;
731
+ private readonly bootstrappedRooms;
732
+ private readonly roomAgentInitPromises;
733
+ private readonly roomBootstrapInitPromises;
734
+ private readonly cleaningUpRooms;
735
+ private readonly roomAbortControllers;
736
+ private readonly roomBootstrapFailures;
737
+ constructor(options?: LettaAdapterOptions);
738
+ onStarted(agentName: string, agentDescription: string): Promise<void>;
739
+ onMessage(message: PlatformMessage, tools: AdapterToolsProtocol, history: LettaMessages, participantsMessage: string | null, contactsMessage: string | null, context: {
740
+ isSessionBootstrap: boolean;
741
+ roomId: string;
742
+ }): Promise<void>;
743
+ onCleanup(roomId: string): Promise<void>;
744
+ private getRoomAbortSignal;
745
+ private getOrCreateAgent;
746
+ private ensureBootstrapHistory;
747
+ private injectHistory;
748
+ private executeWithToolLoop;
749
+ private executeToolCalls;
750
+ private raceTimeout;
751
+ private timedMessageCreate;
752
+ private emitReasoning;
753
+ private ensureClient;
754
+ private createClient;
755
+ }
756
+
757
+ interface OpencodeClientLike {
758
+ createSession(input?: {
759
+ title?: string;
760
+ }): Promise<Record<string, unknown>>;
761
+ getSession(sessionId: string): Promise<Record<string, unknown>>;
762
+ promptAsync(sessionId: string, input: {
763
+ parts: Array<Record<string, unknown>>;
764
+ system?: string;
765
+ model?: Record<string, string>;
766
+ agent?: string;
767
+ variant?: string;
768
+ }): Promise<void>;
769
+ replyPermission(sessionId: string, permissionId: string, input: {
770
+ response: string;
771
+ }): Promise<void>;
772
+ replyQuestion(requestId: string, input: {
773
+ answers: string[][];
774
+ }): Promise<void>;
775
+ rejectQuestion(requestId: string): Promise<void>;
776
+ abortSession(sessionId: string): Promise<void>;
777
+ registerMcpServer(input: {
778
+ name: string;
779
+ url: string;
780
+ }): Promise<Record<string, unknown>>;
781
+ deregisterMcpServer(name: string): Promise<void>;
782
+ iterEvents(): AsyncIterable<Record<string, unknown>>;
783
+ close(): Promise<void>;
784
+ }
785
+ interface HttpOpencodeClientOptions {
786
+ baseUrl: string;
787
+ directory?: string;
788
+ workspace?: string;
789
+ timeoutMs?: number;
790
+ }
791
+ interface RequestResultLike<TData = unknown> {
792
+ data?: TData;
793
+ error?: unknown;
794
+ request: Request;
795
+ response: Response;
796
+ }
797
+ interface OpencodeEventStream {
798
+ stream: AsyncIterable<unknown>;
799
+ }
800
+ interface OpencodeSdkClientLike {
801
+ session: {
802
+ create(parameters?: Record<string, unknown>): Promise<RequestResultLike>;
803
+ get(parameters: Record<string, unknown>): Promise<RequestResultLike>;
804
+ promptAsync(parameters: Record<string, unknown>): Promise<RequestResultLike>;
805
+ abort(parameters: Record<string, unknown>): Promise<RequestResultLike>;
806
+ };
807
+ permission: {
808
+ reply(parameters: Record<string, unknown>): Promise<RequestResultLike>;
809
+ };
810
+ question: {
811
+ reply(parameters: Record<string, unknown>): Promise<RequestResultLike>;
812
+ reject(parameters: Record<string, unknown>): Promise<RequestResultLike>;
813
+ };
814
+ mcp: {
815
+ add(parameters: Record<string, unknown>): Promise<RequestResultLike>;
816
+ disconnect(parameters: Record<string, unknown>): Promise<RequestResultLike>;
817
+ };
818
+ event: {
819
+ subscribe(parameters?: Record<string, unknown>, options?: Record<string, unknown>): Promise<OpencodeEventStream>;
820
+ };
821
+ }
822
+ interface OpencodeServerHandle {
823
+ url: string;
824
+ close(): void;
825
+ }
826
+ interface LoadedOpencodeSdk {
827
+ createClient(config: Record<string, unknown>): OpencodeSdkClientLike;
828
+ createServer(options: Record<string, unknown>): Promise<OpencodeServerHandle>;
829
+ }
830
+ interface ClientRuntime {
831
+ baseUrl: string;
832
+ client: OpencodeSdkClientLike;
833
+ close(): void;
834
+ }
835
+ declare class HttpStatusError extends Error {
836
+ readonly status: number;
837
+ readonly body: unknown;
838
+ constructor(status: number, body: unknown);
839
+ }
840
+ declare abstract class SdkOpencodeClientBase implements OpencodeClientLike {
841
+ private readonly runtimePromise;
842
+ private readonly eventsAbortController;
843
+ private closed;
844
+ protected readonly directory?: string;
845
+ protected readonly workspace?: string;
846
+ protected constructor(options: {
847
+ directory?: string;
848
+ workspace?: string;
849
+ });
850
+ createSession(input?: {
851
+ title?: string;
852
+ }): Promise<Record<string, unknown>>;
853
+ getSession(sessionId: string): Promise<Record<string, unknown>>;
854
+ promptAsync(sessionId: string, input: {
855
+ parts: Array<Record<string, unknown>>;
856
+ system?: string;
857
+ model?: Record<string, string>;
858
+ agent?: string;
859
+ variant?: string;
860
+ }): Promise<void>;
861
+ replyPermission(_sessionId: string, permissionId: string, input: {
862
+ response: string;
863
+ }): Promise<void>;
864
+ replyQuestion(requestId: string, input: {
865
+ answers: string[][];
866
+ }): Promise<void>;
867
+ rejectQuestion(requestId: string): Promise<void>;
868
+ abortSession(sessionId: string): Promise<void>;
869
+ registerMcpServer(input: {
870
+ name: string;
871
+ url: string;
872
+ }): Promise<Record<string, unknown>>;
873
+ deregisterMcpServer(name: string): Promise<void>;
874
+ iterEvents(): AsyncIterable<Record<string, unknown>>;
875
+ close(): Promise<void>;
876
+ protected abstract createRuntime(): Promise<ClientRuntime>;
877
+ protected loadSdk(): Promise<LoadedOpencodeSdk>;
878
+ protected createSdkClient(sdk: LoadedOpencodeSdk, baseUrl: string): OpencodeSdkClientLike;
879
+ private getRuntime;
880
+ private scope;
881
+ private deleteMcpServer;
882
+ }
883
+ declare class HttpOpencodeClient extends SdkOpencodeClientBase {
884
+ private readonly baseUrl;
885
+ constructor(options: HttpOpencodeClientOptions);
886
+ protected createRuntime(): Promise<ClientRuntime>;
887
+ }
888
+
889
+ type OpencodeApprovalMode = "manual" | "auto_accept" | "auto_decline";
890
+ type OpencodeQuestionMode = "manual" | "auto_reject";
891
+ type OpencodeApprovalReply = "once" | "always" | "reject";
892
+ interface OpencodeAdapterConfig {
893
+ baseUrl?: string;
894
+ directory?: string;
895
+ workspace?: string;
896
+ providerId?: string;
897
+ modelId?: string;
898
+ agent?: string;
899
+ variant?: string;
900
+ customSection?: string;
901
+ includeBaseInstructions?: boolean;
902
+ enableTaskEvents?: boolean;
903
+ enableExecutionReporting?: boolean;
904
+ enableMemoryTools?: boolean;
905
+ fallbackSendAgentText?: boolean;
906
+ turnTimeoutMs?: number;
907
+ approvalMode?: OpencodeApprovalMode;
908
+ approvalWaitTimeoutMs?: number;
909
+ approvalTimeoutReply?: OpencodeApprovalReply;
910
+ questionMode?: OpencodeQuestionMode;
911
+ questionWaitTimeoutMs?: number;
912
+ sessionTitlePrefix?: string;
913
+ mcpServerName?: string;
914
+ }
915
+ interface OpencodeAdapterOptions {
916
+ config?: OpencodeAdapterConfig;
917
+ customTools?: CustomToolDef[];
918
+ historyConverter?: OpencodeHistoryConverter;
919
+ clientFactory?: (config: Required<OpencodeAdapterConfig>) => OpencodeClientLike;
920
+ mcpBackendFactory?: typeof createThenvoiMcpBackend;
921
+ logger?: Logger;
922
+ }
923
+ declare class OpencodeAdapter extends SimpleAdapter<OpencodeSessionState, AdapterToolsProtocol> {
924
+ private readonly config;
925
+ private readonly customTools;
926
+ private readonly clientFactory;
927
+ private readonly mcpBackendFactory;
928
+ private readonly logger;
929
+ private readonly rooms;
930
+ private readonly roomBySession;
931
+ private client;
932
+ private eventTask;
933
+ private mcpBackend;
934
+ private systemPrompt;
935
+ constructor(options?: OpencodeAdapterOptions);
936
+ onStarted(agentName: string, agentDescription: string): Promise<void>;
937
+ onRuntimeStop(): Promise<void>;
938
+ onMessage(message: PlatformMessage, tools: AdapterToolsProtocol, history: OpencodeSessionState, participantsMessage: string | null, contactsMessage: string | null, context: {
939
+ isSessionBootstrap: boolean;
940
+ roomId: string;
941
+ }): Promise<void>;
942
+ onCleanup(roomId: string): Promise<void>;
943
+ private getOrCreateRoomState;
944
+ private ensureClientStarted;
945
+ private ensureMcpBackend;
946
+ private registerMcpBackend;
947
+ private shutdownClient;
948
+ private runEventLoop;
949
+ private handleEvent;
950
+ private roomStateForEvent;
951
+ private extractSessionId;
952
+ private handlePartUpdate;
953
+ private handlePartDelta;
954
+ private handlePermissionAsked;
955
+ private handleQuestionAsked;
956
+ private handleControlMessage;
957
+ private replyPermission;
958
+ private replyQuestion;
959
+ private rejectQuestion;
960
+ private expirePermission;
961
+ private expireQuestion;
962
+ private cancelPendingTimeout;
963
+ private ensureSession;
964
+ private beginTurn;
965
+ private watchTurnCompletion;
966
+ private releaseTurnWait;
967
+ private finishTurn;
968
+ private clearTurnState;
969
+ private emitSessionTaskEvent;
970
+ private deliverFallbackText;
971
+ private reportToolCall;
972
+ private reportToolResult;
973
+ private buildSessionTitle;
974
+ private buildModelPayload;
975
+ private buildPromptParts;
976
+ private parsePermissionReply;
977
+ private parseQuestionAnswers;
978
+ private formatQuestionPrompt;
979
+ private formatError;
980
+ private formatOpenCodeError;
981
+ }
982
+
983
+ type ClaudePermissionMode = "default" | "acceptEdits" | "bypassPermissions" | "plan" | "dontAsk";
984
+ interface ClaudeAssistantTextBlock {
985
+ type?: string;
986
+ text?: string;
987
+ }
988
+ interface ClaudeAssistantMessage {
989
+ content: ClaudeAssistantTextBlock[];
990
+ }
991
+ interface ClaudeSDKMessageLike {
992
+ type: string;
993
+ session_id?: string;
994
+ subtype?: string;
995
+ result?: unknown;
996
+ summary?: string;
997
+ message?: ClaudeAssistantMessage;
998
+ [key: string]: unknown;
999
+ }
1000
+ interface ClaudeQueryOptions {
1001
+ model?: string;
1002
+ permissionMode?: ClaudePermissionMode;
1003
+ systemPrompt?: string;
1004
+ allowDangerouslySkipPermissions?: boolean;
1005
+ maxThinkingTokens?: number;
1006
+ cwd?: string;
1007
+ resume?: string;
1008
+ mcpServers?: Record<string, unknown>;
1009
+ allowedTools?: string[];
1010
+ }
1011
+ interface ClaudeSDKQueryParams {
1012
+ prompt: string;
1013
+ options?: ClaudeQueryOptions;
1014
+ }
1015
+ type ClaudeSDKQuery = (params: ClaudeSDKQueryParams) => AsyncIterable<ClaudeSDKMessageLike>;
1016
+ interface ClaudeSDKAdapterOptions {
1017
+ model?: string;
1018
+ customSection?: string;
1019
+ includeBaseInstructions?: boolean;
1020
+ maxThinkingTokens?: number;
1021
+ permissionMode?: ClaudePermissionMode;
1022
+ enableExecutionReporting?: boolean;
1023
+ enableMemoryTools?: boolean;
1024
+ enableMcpTools?: boolean;
1025
+ additionalMcpTools?: McpToolRegistration[];
1026
+ cwd?: string;
1027
+ queryFn?: ClaudeSDKQuery;
1028
+ logger?: Logger;
1029
+ }
1030
+ declare class ClaudeSDKAdapter extends SimpleAdapter<HistoryProvider, AdapterToolsProtocol> {
1031
+ private readonly model;
1032
+ private readonly customSection?;
1033
+ private readonly includeBaseInstructions;
1034
+ private readonly maxThinkingTokens?;
1035
+ private readonly permissionMode;
1036
+ private readonly enableExecutionReporting;
1037
+ private readonly enableMemoryTools;
1038
+ private readonly enableMcpTools;
1039
+ private readonly additionalMcpTools;
1040
+ private readonly cwd?;
1041
+ private readonly queryFnOverride?;
1042
+ private readonly logger;
1043
+ private readonly sessionIds;
1044
+ private readonly sessionInitLocks;
1045
+ private readonly roomTools;
1046
+ private mcpBridge;
1047
+ private systemPrompt;
1048
+ constructor(options?: ClaudeSDKAdapterOptions);
1049
+ onStarted(agentName: string, agentDescription: string): Promise<void>;
1050
+ onMessage(message: PlatformMessage, tools: AdapterToolsProtocol, history: HistoryProvider, participantsMessage: string | null, contactsMessage: string | null, context: {
1051
+ isSessionBootstrap: boolean;
1052
+ roomId: string;
1053
+ }): Promise<void>;
1054
+ private doMessage;
1055
+ onCleanup(roomId: string): Promise<void>;
1056
+ private reportSessionId;
1057
+ }
1058
+
1059
+ type JsonPrimitive = string | number | boolean | null;
1060
+ type JsonValue = JsonPrimitive | JsonValue[] | {
1061
+ [key: string]: JsonValue;
1062
+ };
1063
+ type RequestId = number | string;
1064
+ type CodexApprovalPolicy = "never" | "on-request" | "on-failure" | "untrusted" | {
1065
+ reject: {
1066
+ sandbox_approval: boolean;
1067
+ rules: boolean;
1068
+ mcp_elicitations: boolean;
1069
+ };
1070
+ };
1071
+ type CodexSandboxMode = "read-only" | "workspace-write" | "danger-full-access";
1072
+ type CodexReasoningSummary = "auto" | "concise" | "detailed" | "none";
1073
+ interface DynamicToolSpec {
1074
+ name: string;
1075
+ description: string;
1076
+ inputSchema: JsonValue;
1077
+ }
1078
+ interface InitializeParams {
1079
+ clientInfo: {
1080
+ name: string;
1081
+ title: string;
1082
+ version: string;
1083
+ };
1084
+ capabilities: {
1085
+ experimentalApi: boolean;
1086
+ optOutNotificationMethods?: string[] | null;
1087
+ } | null;
1088
+ }
1089
+ interface TextUserInput {
1090
+ type: "text";
1091
+ text: string;
1092
+ }
1093
+ interface LocalImageUserInput {
1094
+ type: "local_image";
1095
+ path: string;
1096
+ }
1097
+ type UserInput = TextUserInput | LocalImageUserInput;
1098
+ interface TurnStartParams {
1099
+ threadId: string;
1100
+ input: UserInput[];
1101
+ cwd?: string | null;
1102
+ approvalPolicy?: CodexApprovalPolicy | null;
1103
+ model?: string | null;
1104
+ effort?: "none" | "low" | "medium" | "high" | "xhigh" | null;
1105
+ summary?: CodexReasoningSummary | null;
1106
+ }
1107
+ interface DynamicToolCallParams {
1108
+ threadId: string;
1109
+ turnId: string;
1110
+ callId: string;
1111
+ tool: string;
1112
+ arguments: JsonValue;
1113
+ }
1114
+ interface DynamicToolCallOutputContentItem {
1115
+ type: "inputText" | "inputImage";
1116
+ text?: string;
1117
+ imageUrl?: string;
1118
+ }
1119
+ interface DynamicToolCallResponse {
1120
+ contentItems: DynamicToolCallOutputContentItem[];
1121
+ success: boolean;
1122
+ }
1123
+
1124
+ interface CodexRpcRequestEvent {
1125
+ kind: "request";
1126
+ id: RequestId;
1127
+ method: string;
1128
+ params: unknown;
1129
+ }
1130
+ interface CodexRpcNotificationEvent {
1131
+ kind: "notification";
1132
+ method: string;
1133
+ params: unknown;
1134
+ }
1135
+ type CodexRpcEvent = CodexRpcRequestEvent | CodexRpcNotificationEvent;
1136
+ interface CodexClientLike {
1137
+ connect(): Promise<void>;
1138
+ initialize(params: InitializeParams): Promise<void>;
1139
+ request<TResult>(method: string, params?: Record<string, unknown>): Promise<TResult>;
1140
+ notify(method: string, params?: Record<string, unknown>): Promise<void>;
1141
+ respond(requestId: RequestId, result: Record<string, unknown> | DynamicToolCallResponse): Promise<void>;
1142
+ respondError(requestId: RequestId, code: number, message: string, data?: unknown): Promise<void>;
1143
+ recvEvent(timeoutMs?: number): Promise<CodexRpcEvent>;
1144
+ close(): Promise<void>;
1145
+ }
1146
+ declare class CodexJsonRpcError extends Error {
1147
+ readonly code: number;
1148
+ readonly data: unknown;
1149
+ constructor(code: number, message: string, data?: unknown);
1150
+ }
1151
+ declare class CodexAppServerStdioClient implements CodexClientLike {
1152
+ private readonly command;
1153
+ private readonly cwd?;
1154
+ private readonly env?;
1155
+ private readonly logger;
1156
+ private process;
1157
+ private stdoutLines;
1158
+ private events;
1159
+ private waiters;
1160
+ private pending;
1161
+ private nextRequestId;
1162
+ private closed;
1163
+ constructor(options?: {
1164
+ command?: readonly string[];
1165
+ cwd?: string;
1166
+ env?: Record<string, string>;
1167
+ logger?: Logger;
1168
+ });
1169
+ connect(): Promise<void>;
1170
+ initialize(params: InitializeParams): Promise<void>;
1171
+ request<TResult>(method: string, params?: Record<string, unknown>): Promise<TResult>;
1172
+ notify(method: string, params?: Record<string, unknown>): Promise<void>;
1173
+ respond(requestId: RequestId, result: Record<string, unknown> | DynamicToolCallResponse): Promise<void>;
1174
+ respondError(requestId: RequestId, code: number, message: string, data?: unknown): Promise<void>;
1175
+ recvEvent(timeoutMs?: number): Promise<CodexRpcEvent>;
1176
+ close(): Promise<void>;
1177
+ private sendJson;
1178
+ private handleLine;
1179
+ private pushEvent;
1180
+ private removeWaiter;
1181
+ private failAll;
1182
+ }
1183
+
1184
+ declare const CODEX_WEB_SEARCH_MODES: readonly ["disabled", "cached", "live"];
1185
+ type CodexWebSearchMode = (typeof CODEX_WEB_SEARCH_MODES)[number];
1186
+ declare const CODEX_REASONING_SUMMARIES: readonly ["auto", "concise", "detailed", "none"];
1187
+ declare const CODEX_REASONING_EFFORTS: readonly ["low", "medium", "high", "xhigh"];
1188
+ type CodexReasoningEffort = (typeof CODEX_REASONING_EFFORTS)[number];
1189
+ interface CodexAdapterConfig {
1190
+ model?: string;
1191
+ cwd?: string;
1192
+ approvalPolicy?: CodexApprovalPolicy;
1193
+ sandboxMode?: CodexSandboxMode;
1194
+ reasoningEffort?: CodexReasoningEffort;
1195
+ reasoningSummary?: CodexReasoningSummary;
1196
+ networkAccessEnabled?: boolean;
1197
+ webSearchMode?: CodexWebSearchMode;
1198
+ skipGitRepoCheck?: boolean;
1199
+ enableExecutionReporting?: boolean;
1200
+ emitThoughtEvents?: boolean;
1201
+ maxHistoryMessages?: number;
1202
+ enableLocalCommands?: boolean;
1203
+ includeBaseInstructions?: boolean;
1204
+ debug?: boolean;
1205
+ customSection?: string;
1206
+ /**
1207
+ * Full system prompt override.
1208
+ * When set, this bypasses the default Thenvoi prompt template + customSection.
1209
+ */
1210
+ systemPrompt?: string;
1211
+ experimentalApi?: boolean;
1212
+ fallbackSendAgentText?: boolean;
1213
+ clientName?: string;
1214
+ clientTitle?: string;
1215
+ clientVersion?: string;
1216
+ turnTimeoutMs?: number;
1217
+ codexCommand?: readonly string[];
1218
+ codexEnv?: Record<string, string>;
1219
+ }
1220
+ interface CodexFactory {
1221
+ (): Promise<CodexClientLike>;
1222
+ }
1223
+ interface CodexAdapterOptions {
1224
+ config?: CodexAdapterConfig;
1225
+ customTools?: CustomToolDef[];
1226
+ includeMemoryTools?: boolean;
1227
+ factory?: CodexFactory;
1228
+ logger?: Logger;
1229
+ }
1230
+ declare class CodexAdapter extends SimpleAdapter<HistoryProvider, AgentToolsProtocol> {
1231
+ private readonly baseConfig;
1232
+ private readonly roomConfigOverrides;
1233
+ private readonly customTools;
1234
+ private readonly customToolIndex;
1235
+ private readonly includeMemoryTools;
1236
+ private readonly factoryOverride?;
1237
+ private readonly logger;
1238
+ private readonly debugEnabled;
1239
+ private client;
1240
+ private clientPromise;
1241
+ private lastInitFailure;
1242
+ private readonly roomThreadIds;
1243
+ private readonly roomThreadInitPromises;
1244
+ private readonly needsHistoryInjection;
1245
+ private systemPrompt;
1246
+ constructor(options?: CodexAdapterOptions);
1247
+ onStarted(agentName: string, agentDescription: string): Promise<void>;
1248
+ onMessage(message: PlatformMessage, tools: AgentToolsProtocol, history: HistoryProvider, participantsMessage: string | null, contactsMessage: string | null, context: {
1249
+ isSessionBootstrap: boolean;
1250
+ roomId: string;
1251
+ }): Promise<void>;
1252
+ onCleanup(roomId: string): Promise<void>;
1253
+ onRuntimeStop(): Promise<void>;
1254
+ private getConfig;
1255
+ private ensureSystemPrompt;
1256
+ private ensureClient;
1257
+ private resetClient;
1258
+ private debug;
1259
+ private getOrCreateThread;
1260
+ private buildThreadStartParams;
1261
+ private buildThreadResumeParams;
1262
+ private buildThreadConfigOverrides;
1263
+ private buildDynamicTools;
1264
+ private buildTurnInput;
1265
+ private formatHistoryContext;
1266
+ private sendThreadMappingEvent;
1267
+ private handleServerRequest;
1268
+ private emitItemCompletedEvents;
1269
+ private extractToolItem;
1270
+ private extractThoughtText;
1271
+ private emitTurnOutcome;
1272
+ private extractTurnError;
1273
+ private currentMention;
1274
+ private handleLocalCommand;
1275
+ private safeSendEvent;
1276
+ }
1277
+
1278
+ export { type DynamicToolSpec as $, A2AAdapter as A, OpencodeAdapter as B, CODEX_REASONING_EFFORTS as C, type OpencodeAdapterConfig as D, type OpencodeApprovalMode as E, type OpencodeApprovalReply as F, GeminiAdapter as G, type OpencodeQuestionMode as H, type ParlantAdapterOptions as I, type VercelAISDKAdapterOptions as J, type A2AClientFactory as K, LangGraphAdapter as L, type A2AClientLike as M, type AnthropicClientFactory as N, OpenAIAdapter as O, ParlantAdapter as P, AnthropicToolCallingModel as Q, type AnthropicToolCallingModelOptions as R, type ClaudeSDKQuery as S, type ToolCallingModel as T, type ClaudeSDKQueryParams as U, VercelAISDKAdapter as V, CodexAppServerStdioClient as W, type CodexClientLike as X, CodexJsonRpcError as Y, type DynamicToolCallParams as Z, type DynamicToolCallResponse as _, type A2AAdapterOptions as a, type GeminiClientFactory as a0, GeminiToolCallingModel as a1, type GeminiToolCallingModelOptions as a2, HttpOpencodeClient as a3, type HttpOpencodeClientOptions as a4, HttpStatusError as a5, type LettaAgentCreateParams as a6, type LettaClientFactory as a7, type LettaClientLike as a8, LettaHistoryConverter as a9, type LettaMessage as aa, type LettaMessageCreateParams as ab, type LettaMessages as ac, type LettaRequestOptions as ad, type LettaResponse as ae, type LettaResponseMessage as af, type OpenAIClientFactory as ag, OpenAIToolCallingModel as ah, type OpenAIToolCallingModelOptions as ai, type OpencodeClientLike as aj, type ParlantClientFactory as ak, type ParlantClientLike as al, type ToolCall as am, ToolCallingAdapter as an, type ToolCallingAdapterOptions as ao, type ToolCallingModelRequest as ap, type ToolCallingResponse as aq, type ToolResult as ar, type TurnStartParams as as, VercelAISDKToolCallingModel as at, type VercelAISDKToolCallingModelOptions as au, runSingleToolRound as av, A2AGatewayAdapter as b, AnthropicAdapter as c, type AnthropicAdapterOptions as d, CODEX_REASONING_SUMMARIES as e, CODEX_WEB_SEARCH_MODES as f, type ClaudePermissionMode as g, ClaudeSDKAdapter as h, type ClaudeSDKAdapterOptions as i, CodexAdapter as j, type CodexAdapterConfig as k, type CodexApprovalPolicy as l, type CodexReasoningEffort as m, type CodexReasoningSummary as n, type CodexSandboxMode as o, type CodexWebSearchMode as p, type GeminiAdapterOptions as q, GenericAdapter as r, type GenericAdapterHandler as s, GoogleADKAdapter as t, type GoogleADKAdapterOptions as u, type LangGraphAdapterOptions as v, type LangGraphGraph as w, LettaAdapter as x, type LettaAdapterOptions as y, type OpenAIAdapterOptions as z };