@tambo-ai/client 0.0.1
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/LICENSE +21 -0
- package/README.md +100 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +78 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/elicitation.d.ts +59 -0
- package/dist/mcp/elicitation.d.ts.map +1 -0
- package/dist/mcp/elicitation.js +27 -0
- package/dist/mcp/elicitation.js.map +1 -0
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +14 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/mcp-client.d.ts +185 -0
- package/dist/mcp/mcp-client.d.ts.map +1 -0
- package/dist/mcp/mcp-client.js +219 -0
- package/dist/mcp/mcp-client.js.map +1 -0
- package/dist/mcp/mcp-constants.d.ts +19 -0
- package/dist/mcp/mcp-constants.d.ts.map +1 -0
- package/dist/mcp/mcp-constants.js +21 -0
- package/dist/mcp/mcp-constants.js.map +1 -0
- package/dist/model/component-metadata.d.ts +390 -0
- package/dist/model/component-metadata.d.ts.map +1 -0
- package/dist/model/component-metadata.js +3 -0
- package/dist/model/component-metadata.js.map +1 -0
- package/dist/model/mcp-server-info.d.ts +72 -0
- package/dist/model/mcp-server-info.d.ts.map +1 -0
- package/dist/model/mcp-server-info.js +29 -0
- package/dist/model/mcp-server-info.js.map +1 -0
- package/dist/schema/index.d.ts +5 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +15 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/json-schema.d.ts +42 -0
- package/dist/schema/json-schema.d.ts.map +1 -0
- package/dist/schema/json-schema.js +114 -0
- package/dist/schema/json-schema.js.map +1 -0
- package/dist/schema/schema.d.ts +49 -0
- package/dist/schema/schema.d.ts.map +1 -0
- package/dist/schema/schema.js +129 -0
- package/dist/schema/schema.js.map +1 -0
- package/dist/schema/standard-schema.d.ts +22 -0
- package/dist/schema/standard-schema.d.ts.map +1 -0
- package/dist/schema/standard-schema.js +42 -0
- package/dist/schema/standard-schema.js.map +1 -0
- package/dist/schema/validate.d.ts +14 -0
- package/dist/schema/validate.d.ts.map +1 -0
- package/dist/schema/validate.js +148 -0
- package/dist/schema/validate.js.map +1 -0
- package/dist/tambo-client.d.ts +292 -0
- package/dist/tambo-client.d.ts.map +1 -0
- package/dist/tambo-client.js +508 -0
- package/dist/tambo-client.js.map +1 -0
- package/dist/tambo-stream.d.ts +112 -0
- package/dist/tambo-stream.d.ts.map +1 -0
- package/dist/tambo-stream.js +345 -0
- package/dist/tambo-stream.js.map +1 -0
- package/dist/types/auth.d.ts +24 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +3 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/event.d.ts +89 -0
- package/dist/types/event.d.ts.map +1 -0
- package/dist/types/event.js +57 -0
- package/dist/types/event.js.map +1 -0
- package/dist/types/message.d.ts +122 -0
- package/dist/types/message.d.ts.map +1 -0
- package/dist/types/message.js +10 -0
- package/dist/types/message.js.map +1 -0
- package/dist/types/thread.d.ts +58 -0
- package/dist/types/thread.d.ts.map +1 -0
- package/dist/types/thread.js +9 -0
- package/dist/types/thread.js.map +1 -0
- package/dist/types/tool-choice.d.ts +8 -0
- package/dist/types/tool-choice.d.ts.map +1 -0
- package/dist/types/tool-choice.js +3 -0
- package/dist/types/tool-choice.js.map +1 -0
- package/dist/utils/event-accumulator.d.ts +165 -0
- package/dist/utils/event-accumulator.d.ts.map +1 -0
- package/dist/utils/event-accumulator.js +1278 -0
- package/dist/utils/event-accumulator.js.map +1 -0
- package/dist/utils/json-patch.d.ts +18 -0
- package/dist/utils/json-patch.d.ts.map +1 -0
- package/dist/utils/json-patch.js +35 -0
- package/dist/utils/json-patch.js.map +1 -0
- package/dist/utils/keyed-throttle.d.ts +42 -0
- package/dist/utils/keyed-throttle.d.ts.map +1 -0
- package/dist/utils/keyed-throttle.js +86 -0
- package/dist/utils/keyed-throttle.js.map +1 -0
- package/dist/utils/registry-conversion.d.ts +53 -0
- package/dist/utils/registry-conversion.d.ts.map +1 -0
- package/dist/utils/registry-conversion.js +115 -0
- package/dist/utils/registry-conversion.js.map +1 -0
- package/dist/utils/send-message.d.ts +140 -0
- package/dist/utils/send-message.d.ts.map +1 -0
- package/dist/utils/send-message.js +183 -0
- package/dist/utils/send-message.js.map +1 -0
- package/dist/utils/stream-handler.d.ts +45 -0
- package/dist/utils/stream-handler.d.ts.map +1 -0
- package/dist/utils/stream-handler.js +47 -0
- package/dist/utils/stream-handler.js.map +1 -0
- package/dist/utils/thread-utils.d.ts +16 -0
- package/dist/utils/thread-utils.d.ts.map +1 -0
- package/dist/utils/thread-utils.js +34 -0
- package/dist/utils/thread-utils.js.map +1 -0
- package/dist/utils/tool-call-tracker.d.ts +74 -0
- package/dist/utils/tool-call-tracker.d.ts.map +1 -0
- package/dist/utils/tool-call-tracker.js +181 -0
- package/dist/utils/tool-call-tracker.js.map +1 -0
- package/dist/utils/tool-executor.d.ts +67 -0
- package/dist/utils/tool-executor.d.ts.map +1 -0
- package/dist/utils/tool-executor.js +160 -0
- package/dist/utils/tool-executor.js.map +1 -0
- package/dist/utils/unstrictify.d.ts +32 -0
- package/dist/utils/unstrictify.d.ts.map +1 -0
- package/dist/utils/unstrictify.js +160 -0
- package/dist/utils/unstrictify.js.map +1 -0
- package/esm/index.d.ts +43 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +78 -0
- package/esm/index.js.map +1 -0
- package/esm/mcp/elicitation.d.ts +59 -0
- package/esm/mcp/elicitation.d.ts.map +1 -0
- package/esm/mcp/elicitation.js +27 -0
- package/esm/mcp/elicitation.js.map +1 -0
- package/esm/mcp/index.d.ts +6 -0
- package/esm/mcp/index.d.ts.map +1 -0
- package/esm/mcp/index.js +14 -0
- package/esm/mcp/index.js.map +1 -0
- package/esm/mcp/mcp-client.d.ts +185 -0
- package/esm/mcp/mcp-client.d.ts.map +1 -0
- package/esm/mcp/mcp-client.js +219 -0
- package/esm/mcp/mcp-client.js.map +1 -0
- package/esm/mcp/mcp-constants.d.ts +19 -0
- package/esm/mcp/mcp-constants.d.ts.map +1 -0
- package/esm/mcp/mcp-constants.js +21 -0
- package/esm/mcp/mcp-constants.js.map +1 -0
- package/esm/model/component-metadata.d.ts +390 -0
- package/esm/model/component-metadata.d.ts.map +1 -0
- package/esm/model/component-metadata.js +3 -0
- package/esm/model/component-metadata.js.map +1 -0
- package/esm/model/mcp-server-info.d.ts +72 -0
- package/esm/model/mcp-server-info.d.ts.map +1 -0
- package/esm/model/mcp-server-info.js +29 -0
- package/esm/model/mcp-server-info.js.map +1 -0
- package/esm/schema/index.d.ts +5 -0
- package/esm/schema/index.d.ts.map +1 -0
- package/esm/schema/index.js +15 -0
- package/esm/schema/index.js.map +1 -0
- package/esm/schema/json-schema.d.ts +42 -0
- package/esm/schema/json-schema.d.ts.map +1 -0
- package/esm/schema/json-schema.js +114 -0
- package/esm/schema/json-schema.js.map +1 -0
- package/esm/schema/schema.d.ts +49 -0
- package/esm/schema/schema.d.ts.map +1 -0
- package/esm/schema/schema.js +129 -0
- package/esm/schema/schema.js.map +1 -0
- package/esm/schema/standard-schema.d.ts +22 -0
- package/esm/schema/standard-schema.d.ts.map +1 -0
- package/esm/schema/standard-schema.js +42 -0
- package/esm/schema/standard-schema.js.map +1 -0
- package/esm/schema/validate.d.ts +14 -0
- package/esm/schema/validate.d.ts.map +1 -0
- package/esm/schema/validate.js +148 -0
- package/esm/schema/validate.js.map +1 -0
- package/esm/tambo-client.d.ts +292 -0
- package/esm/tambo-client.d.ts.map +1 -0
- package/esm/tambo-client.js +508 -0
- package/esm/tambo-client.js.map +1 -0
- package/esm/tambo-stream.d.ts +112 -0
- package/esm/tambo-stream.d.ts.map +1 -0
- package/esm/tambo-stream.js +345 -0
- package/esm/tambo-stream.js.map +1 -0
- package/esm/types/auth.d.ts +24 -0
- package/esm/types/auth.d.ts.map +1 -0
- package/esm/types/auth.js +3 -0
- package/esm/types/auth.js.map +1 -0
- package/esm/types/event.d.ts +89 -0
- package/esm/types/event.d.ts.map +1 -0
- package/esm/types/event.js +57 -0
- package/esm/types/event.js.map +1 -0
- package/esm/types/message.d.ts +122 -0
- package/esm/types/message.d.ts.map +1 -0
- package/esm/types/message.js +10 -0
- package/esm/types/message.js.map +1 -0
- package/esm/types/thread.d.ts +58 -0
- package/esm/types/thread.d.ts.map +1 -0
- package/esm/types/thread.js +9 -0
- package/esm/types/thread.js.map +1 -0
- package/esm/types/tool-choice.d.ts +8 -0
- package/esm/types/tool-choice.d.ts.map +1 -0
- package/esm/types/tool-choice.js +3 -0
- package/esm/types/tool-choice.js.map +1 -0
- package/esm/utils/event-accumulator.d.ts +165 -0
- package/esm/utils/event-accumulator.d.ts.map +1 -0
- package/esm/utils/event-accumulator.js +1278 -0
- package/esm/utils/event-accumulator.js.map +1 -0
- package/esm/utils/json-patch.d.ts +18 -0
- package/esm/utils/json-patch.d.ts.map +1 -0
- package/esm/utils/json-patch.js +35 -0
- package/esm/utils/json-patch.js.map +1 -0
- package/esm/utils/keyed-throttle.d.ts +42 -0
- package/esm/utils/keyed-throttle.d.ts.map +1 -0
- package/esm/utils/keyed-throttle.js +86 -0
- package/esm/utils/keyed-throttle.js.map +1 -0
- package/esm/utils/registry-conversion.d.ts +53 -0
- package/esm/utils/registry-conversion.d.ts.map +1 -0
- package/esm/utils/registry-conversion.js +115 -0
- package/esm/utils/registry-conversion.js.map +1 -0
- package/esm/utils/send-message.d.ts +140 -0
- package/esm/utils/send-message.d.ts.map +1 -0
- package/esm/utils/send-message.js +183 -0
- package/esm/utils/send-message.js.map +1 -0
- package/esm/utils/stream-handler.d.ts +45 -0
- package/esm/utils/stream-handler.d.ts.map +1 -0
- package/esm/utils/stream-handler.js +47 -0
- package/esm/utils/stream-handler.js.map +1 -0
- package/esm/utils/thread-utils.d.ts +16 -0
- package/esm/utils/thread-utils.d.ts.map +1 -0
- package/esm/utils/thread-utils.js +34 -0
- package/esm/utils/thread-utils.js.map +1 -0
- package/esm/utils/tool-call-tracker.d.ts +74 -0
- package/esm/utils/tool-call-tracker.d.ts.map +1 -0
- package/esm/utils/tool-call-tracker.js +181 -0
- package/esm/utils/tool-call-tracker.js.map +1 -0
- package/esm/utils/tool-executor.d.ts +67 -0
- package/esm/utils/tool-executor.d.ts.map +1 -0
- package/esm/utils/tool-executor.js +160 -0
- package/esm/utils/tool-executor.js.map +1 -0
- package/esm/utils/unstrictify.d.ts +32 -0
- package/esm/utils/unstrictify.d.ts.map +1 -0
- package/esm/utils/unstrictify.js +160 -0
- package/esm/utils/unstrictify.js.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TamboClient - Framework-agnostic client for Tambo AI
|
|
3
|
+
*
|
|
4
|
+
* Main entry point for the `@tambo-ai/client` package. Manages threads,
|
|
5
|
+
* tool registration, streaming, and state. Compatible with
|
|
6
|
+
* useSyncExternalStore for React integration.
|
|
7
|
+
*/
|
|
8
|
+
import TamboAI from "@tambo-ai/typescript-sdk";
|
|
9
|
+
import type { Suggestion } from "@tambo-ai/typescript-sdk/resources/beta/threads/suggestions";
|
|
10
|
+
import type { TamboThread } from "./types/thread";
|
|
11
|
+
import type { TamboAuthState } from "./types/auth";
|
|
12
|
+
import type { ToolChoice } from "./types/tool-choice";
|
|
13
|
+
import type { InputMessage } from "./types/message";
|
|
14
|
+
import type { TamboTool, ComponentRegistry } from "./model/component-metadata";
|
|
15
|
+
import type { McpServerInfo } from "./model/mcp-server-info";
|
|
16
|
+
import { MCPClient } from "./mcp/mcp-client";
|
|
17
|
+
import { type ThreadState } from "./utils/event-accumulator";
|
|
18
|
+
import { TamboStream } from "./tambo-stream";
|
|
19
|
+
/**
|
|
20
|
+
* Function that returns context to be merged into additionalContext before each run.
|
|
21
|
+
*/
|
|
22
|
+
export type ContextHelperFn = () => Record<string, unknown> | Promise<Record<string, unknown>>;
|
|
23
|
+
/**
|
|
24
|
+
* Callback invoked before each run starts.
|
|
25
|
+
*/
|
|
26
|
+
export interface BeforeRunContext {
|
|
27
|
+
/** Thread ID (undefined for new threads). */
|
|
28
|
+
threadId: string | undefined;
|
|
29
|
+
/** The message being sent. */
|
|
30
|
+
message: InputMessage;
|
|
31
|
+
/** Frozen copy of registered tools (cannot mutate). */
|
|
32
|
+
tools: Readonly<Record<string, TamboTool>>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Options for configuring TamboClient.
|
|
36
|
+
*/
|
|
37
|
+
export interface TamboClientOptions {
|
|
38
|
+
/** API key for authentication. */
|
|
39
|
+
apiKey: string;
|
|
40
|
+
/** Custom Tambo API URL. Conflicts with `environment`. */
|
|
41
|
+
tamboUrl?: string;
|
|
42
|
+
/** Environment preset. Conflicts with `tamboUrl`. */
|
|
43
|
+
environment?: "production" | "staging";
|
|
44
|
+
/** User key for identifying the user. */
|
|
45
|
+
userKey?: string;
|
|
46
|
+
/** User token for token-based auth. */
|
|
47
|
+
userToken?: string;
|
|
48
|
+
/** Tools to register on creation. */
|
|
49
|
+
tools?: TamboTool[];
|
|
50
|
+
/** MCP servers to connect on init. */
|
|
51
|
+
mcpServers?: McpServerInfo[];
|
|
52
|
+
/** Callback invoked before each run. */
|
|
53
|
+
beforeRun?: (context: BeforeRunContext) => void | Promise<void>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Options for the `run()` method.
|
|
57
|
+
*/
|
|
58
|
+
export interface RunOptions {
|
|
59
|
+
/** Thread ID to run on. If omitted, creates a new thread. */
|
|
60
|
+
threadId?: string;
|
|
61
|
+
/** Whether to auto-execute tools when the model requests them. */
|
|
62
|
+
autoExecuteTools?: boolean;
|
|
63
|
+
/** Max tool execution rounds (default 10). */
|
|
64
|
+
maxSteps?: number;
|
|
65
|
+
/** How the model should select tools. */
|
|
66
|
+
toolChoice?: ToolChoice;
|
|
67
|
+
/** Enable debug logging. */
|
|
68
|
+
debug?: boolean;
|
|
69
|
+
/** Additional context merged into the message. */
|
|
70
|
+
additionalContext?: Record<string, unknown>;
|
|
71
|
+
/** AbortSignal for cancellation. */
|
|
72
|
+
signal?: AbortSignal;
|
|
73
|
+
/** User message text for optimistic display. */
|
|
74
|
+
userMessageText?: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Public client state exposed via `getState()`.
|
|
78
|
+
*/
|
|
79
|
+
export interface ClientState {
|
|
80
|
+
/** Map of thread ID to thread state. */
|
|
81
|
+
threadMap: Record<string, ThreadState>;
|
|
82
|
+
/** Currently active thread ID. */
|
|
83
|
+
currentThreadId: string;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* TamboClient manages threads, tool execution, streaming, and state.
|
|
87
|
+
*
|
|
88
|
+
* Compatible with `useSyncExternalStore(client.subscribe, client.getState)`
|
|
89
|
+
* for React integration.
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* const client = new TamboClient({ apiKey: "your-api-key" });
|
|
93
|
+
*
|
|
94
|
+
* // Stream mode
|
|
95
|
+
* const stream = client.run("Hello, AI!");
|
|
96
|
+
* for await (const { event, snapshot } of stream) {
|
|
97
|
+
* console.log(snapshot.messages);
|
|
98
|
+
* }
|
|
99
|
+
*
|
|
100
|
+
* // Promise mode
|
|
101
|
+
* const thread = await client.run("Hello, AI!").thread;
|
|
102
|
+
* console.log(thread.messages);
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
export declare class TamboClient {
|
|
106
|
+
private sdkClient;
|
|
107
|
+
private state;
|
|
108
|
+
private listeners;
|
|
109
|
+
private pendingNotification;
|
|
110
|
+
private toolRegistry;
|
|
111
|
+
private componentList;
|
|
112
|
+
private mcpClients;
|
|
113
|
+
private activeRuns;
|
|
114
|
+
private contextHelpers;
|
|
115
|
+
private readonly options;
|
|
116
|
+
/**
|
|
117
|
+
* Create a new TamboClient.
|
|
118
|
+
* @param options - Client configuration.
|
|
119
|
+
*/
|
|
120
|
+
constructor(options: TamboClientOptions);
|
|
121
|
+
/**
|
|
122
|
+
* Start a new run with a message. Returns a TamboStream immediately.
|
|
123
|
+
*
|
|
124
|
+
* The stream's processing loop runs in the background. Use async iteration
|
|
125
|
+
* to observe events, or `await stream.thread` to get the final result.
|
|
126
|
+
* @param message - The message string or InputMessage object.
|
|
127
|
+
* @param options - Run configuration.
|
|
128
|
+
* @returns A TamboStream for observing the response.
|
|
129
|
+
*/
|
|
130
|
+
run(message: string | InputMessage, options?: RunOptions): TamboStream;
|
|
131
|
+
/**
|
|
132
|
+
* Switch to an existing thread. Fetches thread data from the API.
|
|
133
|
+
* @param threadId - The thread ID to switch to.
|
|
134
|
+
*/
|
|
135
|
+
switchThread(threadId: string): Promise<void>;
|
|
136
|
+
/**
|
|
137
|
+
* Start a new thread. Returns the new thread ID.
|
|
138
|
+
* @returns The new placeholder thread ID.
|
|
139
|
+
*/
|
|
140
|
+
startNewThread(): string;
|
|
141
|
+
/**
|
|
142
|
+
* Get a thread from local state.
|
|
143
|
+
* @param threadId - The thread ID.
|
|
144
|
+
* @returns The thread, or undefined if not found.
|
|
145
|
+
*/
|
|
146
|
+
getThread(threadId: string): TamboThread | undefined;
|
|
147
|
+
/**
|
|
148
|
+
* List all threads from the API.
|
|
149
|
+
* @returns An array of TamboThread objects.
|
|
150
|
+
*/
|
|
151
|
+
listThreads(): Promise<TamboThread[]>;
|
|
152
|
+
/**
|
|
153
|
+
* Fetch a thread from the API and hydrate it into local state.
|
|
154
|
+
* @param threadId - The thread ID to fetch.
|
|
155
|
+
* @returns The fetched thread.
|
|
156
|
+
*/
|
|
157
|
+
fetchThread(threadId: string): Promise<TamboThread>;
|
|
158
|
+
/**
|
|
159
|
+
* Register a single tool.
|
|
160
|
+
* @param tool - The tool to register.
|
|
161
|
+
*/
|
|
162
|
+
registerTool(tool: TamboTool): void;
|
|
163
|
+
/**
|
|
164
|
+
* Register multiple tools at once.
|
|
165
|
+
* @param tools - The tools to register.
|
|
166
|
+
*/
|
|
167
|
+
registerTools(tools: TamboTool[]): void;
|
|
168
|
+
/**
|
|
169
|
+
* Register a component.
|
|
170
|
+
* @param name - Component name.
|
|
171
|
+
* @param component - The registered component.
|
|
172
|
+
*/
|
|
173
|
+
registerComponent(name: string, component: ComponentRegistry[string]): void;
|
|
174
|
+
/**
|
|
175
|
+
* Get the current client state snapshot.
|
|
176
|
+
* @returns The current client state.
|
|
177
|
+
*/
|
|
178
|
+
getState(): ClientState;
|
|
179
|
+
/**
|
|
180
|
+
* Subscribe to state changes.
|
|
181
|
+
* @param listener - Callback invoked on state change.
|
|
182
|
+
* @returns Unsubscribe function.
|
|
183
|
+
*/
|
|
184
|
+
subscribe(listener: () => void): () => void;
|
|
185
|
+
/**
|
|
186
|
+
* Compute and return the current auth state. Not stored in state;
|
|
187
|
+
* computed on each call from config.
|
|
188
|
+
* @returns The current auth state.
|
|
189
|
+
*/
|
|
190
|
+
getAuthState(): TamboAuthState;
|
|
191
|
+
/**
|
|
192
|
+
* Cancel the active run on a thread.
|
|
193
|
+
* @param threadId - The thread whose run to cancel. Defaults to current thread.
|
|
194
|
+
*/
|
|
195
|
+
cancelRun(threadId?: string): Promise<void>;
|
|
196
|
+
/**
|
|
197
|
+
* Update a thread's name via the API.
|
|
198
|
+
* @param threadId - The thread ID.
|
|
199
|
+
* @param name - The new name.
|
|
200
|
+
*/
|
|
201
|
+
updateThreadName(threadId: string, name: string): Promise<void>;
|
|
202
|
+
/**
|
|
203
|
+
* Generate a thread name via the API.
|
|
204
|
+
* @param threadId - The thread ID.
|
|
205
|
+
* @returns The generated name.
|
|
206
|
+
*/
|
|
207
|
+
generateThreadName(threadId: string): Promise<string>;
|
|
208
|
+
/**
|
|
209
|
+
* Connect to an MCP server.
|
|
210
|
+
* @param serverInfo - The MCP server configuration.
|
|
211
|
+
* @returns The connected MCPClient.
|
|
212
|
+
*/
|
|
213
|
+
connectMcpServer(serverInfo: McpServerInfo): Promise<MCPClient>;
|
|
214
|
+
/**
|
|
215
|
+
* Disconnect from an MCP server.
|
|
216
|
+
* @param serverKey - The server key (from getMcpServerUniqueKey).
|
|
217
|
+
*/
|
|
218
|
+
disconnectMcpServer(serverKey: string): Promise<void>;
|
|
219
|
+
/**
|
|
220
|
+
* Get all connected MCP clients.
|
|
221
|
+
* @returns Record of server key to MCPClient.
|
|
222
|
+
*/
|
|
223
|
+
getMcpClients(): Record<string, MCPClient>;
|
|
224
|
+
/**
|
|
225
|
+
* Get an MCP token for a context key.
|
|
226
|
+
* @param contextKey - The context key.
|
|
227
|
+
* @param threadId - Optional thread ID for session-bound tokens.
|
|
228
|
+
* @returns The MCP access token response.
|
|
229
|
+
*/
|
|
230
|
+
getMcpToken(contextKey?: string, threadId?: string): Promise<{
|
|
231
|
+
mcpAccessToken?: string;
|
|
232
|
+
expiresAt?: number;
|
|
233
|
+
hasSession?: boolean;
|
|
234
|
+
}>;
|
|
235
|
+
/**
|
|
236
|
+
* List suggestions for a message.
|
|
237
|
+
* @param messageId - The message ID.
|
|
238
|
+
* @param threadId - The thread ID.
|
|
239
|
+
* @returns Array of suggestions.
|
|
240
|
+
*/
|
|
241
|
+
listSuggestions(messageId: string, threadId: string): Promise<Suggestion[]>;
|
|
242
|
+
/**
|
|
243
|
+
* Generate suggestions for a message.
|
|
244
|
+
* @param messageId - The message ID.
|
|
245
|
+
* @param threadId - The thread ID.
|
|
246
|
+
* @param options - Generation options.
|
|
247
|
+
* @param options.maxSuggestions - Maximum number of suggestions to generate.
|
|
248
|
+
* @returns Array of generated suggestions.
|
|
249
|
+
*/
|
|
250
|
+
generateSuggestions(messageId: string, threadId: string, options?: {
|
|
251
|
+
maxSuggestions?: number;
|
|
252
|
+
}): Promise<Suggestion[]>;
|
|
253
|
+
/**
|
|
254
|
+
* Add a context helper that provides additional context on each run.
|
|
255
|
+
* @param name - Unique name for the helper.
|
|
256
|
+
* @param fn - Function returning context data.
|
|
257
|
+
*/
|
|
258
|
+
addContextHelper(name: string, fn: ContextHelperFn): void;
|
|
259
|
+
/**
|
|
260
|
+
* Remove a context helper.
|
|
261
|
+
* @param name - The helper name to remove.
|
|
262
|
+
*/
|
|
263
|
+
removeContextHelper(name: string): void;
|
|
264
|
+
/**
|
|
265
|
+
* Get the underlying SDK client (for advanced use cases).
|
|
266
|
+
* @returns The TamboAI SDK client.
|
|
267
|
+
*/
|
|
268
|
+
getSdkClient(): TamboAI;
|
|
269
|
+
/**
|
|
270
|
+
* Dispatch an action to the state reducer and notify listeners.
|
|
271
|
+
* @param action - The action to dispatch.
|
|
272
|
+
*/
|
|
273
|
+
private dispatch;
|
|
274
|
+
/**
|
|
275
|
+
* Batch subscriber notifications via queueMicrotask to reduce
|
|
276
|
+
* re-renders during high-frequency streaming.
|
|
277
|
+
*/
|
|
278
|
+
private notifyListeners;
|
|
279
|
+
/**
|
|
280
|
+
* Resolve the base URL from an environment preset.
|
|
281
|
+
* @param environment - The environment to resolve.
|
|
282
|
+
* @returns The resolved base URL.
|
|
283
|
+
*/
|
|
284
|
+
private resolveBaseUrl;
|
|
285
|
+
/**
|
|
286
|
+
* Merge context from registered context helpers with provided additional context.
|
|
287
|
+
* @param additionalContext - Context provided by the caller.
|
|
288
|
+
* @returns Merged context object.
|
|
289
|
+
*/
|
|
290
|
+
private mergeContextForRun;
|
|
291
|
+
}
|
|
292
|
+
//# sourceMappingURL=tambo-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tambo-client.d.ts","sourceRoot":"","sources":["../src/tambo-client.ts"],"names":[],"mappings":"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"}
|