@mondaydotcomorg/atp-vercel-sdk 0.20.1 → 0.20.3

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/src/types.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { ExecutionConfig, ClientTool } from '@mondaydotcomorg/atp-protocol';
2
2
  import type { ClientHooks } from '@mondaydotcomorg/atp-client';
3
+ import type { UIMessageStreamWriter } from './event-adapter.js';
3
4
 
4
5
  export interface ApprovalRequest {
5
6
  message: string;
@@ -22,9 +23,19 @@ export interface EmbeddingProvider {
22
23
  embed(text: string): Promise<number[]>;
23
24
  }
24
25
 
25
- export interface VercelAIATPClientOptions {
26
- serverUrl: string;
27
- headers?: Record<string, string>;
26
+ export interface InProcessServer {
27
+ start(): Promise<void>;
28
+ handleInit(ctx: unknown): Promise<unknown>;
29
+ getDefinitions(ctx?: unknown): Promise<unknown>;
30
+ getRuntimeDefinitions(ctx?: unknown): Promise<string>;
31
+ getInfo(): unknown;
32
+ handleSearch(ctx: unknown): Promise<unknown>;
33
+ handleExplore(ctx: unknown): Promise<unknown>;
34
+ handleExecute(ctx: unknown): Promise<unknown>;
35
+ handleResume(ctx: unknown, executionId: string): Promise<unknown>;
36
+ }
37
+
38
+ interface BaseClientOptions {
28
39
  model: any;
29
40
  embeddings?: EmbeddingProvider;
30
41
  tools?: ClientTool[];
@@ -32,16 +43,38 @@ export interface VercelAIATPClientOptions {
32
43
  hooks?: ClientHooks;
33
44
  }
34
45
 
35
- export interface CreateATPToolsOptions {
46
+ /** HTTP mode options */
47
+ interface HttpModeOptions extends BaseClientOptions {
36
48
  serverUrl: string;
37
49
  headers?: Record<string, string>;
38
- model: any;
39
- embeddings?: EmbeddingProvider;
40
- approvalHandler?: ApprovalHandler;
41
- defaultExecutionConfig?: Partial<ExecutionConfig>;
42
- hooks?: ClientHooks;
50
+ server?: never;
51
+ }
52
+
53
+ /** In-process mode options */
54
+ interface InProcessModeOptions extends BaseClientOptions {
55
+ server: InProcessServer;
56
+ serverUrl?: never;
57
+ headers?: never;
43
58
  }
44
59
 
60
+ export type VercelAIATPClientOptions = HttpModeOptions | InProcessModeOptions;
61
+
62
+ export type CreateATPToolsOptions = (HttpModeOptions | InProcessModeOptions) & {
63
+ defaultExecutionConfig?: Partial<ExecutionConfig>;
64
+ };
65
+
66
+ /**
67
+ * Options for creating ATP tools with streaming event support
68
+ */
69
+ export type StreamingToolsOptions = CreateATPToolsOptions & {
70
+ /**
71
+ * UIMessageStreamWriter to forward events to.
72
+ * Events like 'thinking', 'tool_start', 'tool_end', 'text', 'source' will be
73
+ * converted to Vercel AI SDK format and written to this stream.
74
+ */
75
+ dataStream: UIMessageStreamWriter;
76
+ };
77
+
45
78
  export interface ATPToolsResult {
46
79
  client: any;
47
80
  tools: Record<string, any>;