@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.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEtF,OAAO,KAAK,EACX,wBAAwB,EAIxB,MAAM,YAAY,CAAC;AAEpB,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,UAAU,CAAC,CAAoB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAkB;gBAE9B,OAAO,EAAE,wBAAwB;IAwCvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,kBAAkB,IAAI,MAAM;IAItB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAIxF,mBAAmB,IAAI,uBAAuB;YAIhC,aAAa;YAYb,gBAAgB;YAahB,iBAAiB;YAiCjB,eAAe;YAUf,qBAAqB;CAgBnC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEtF,OAAO,KAAK,EACX,wBAAwB,EAIxB,MAAM,YAAY,CAAC;AAEpB,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,UAAU,CAAC,CAAoB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAkB;gBAE9B,OAAO,EAAE,wBAAwB;IAmDvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,kBAAkB,IAAI,MAAM;IAItB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAIxF,mBAAmB,IAAI,uBAAuB;YAIhC,aAAa;YAYb,gBAAgB;YAahB,iBAAiB;YAiCjB,eAAe;YAUf,qBAAqB;CAgBnC"}
package/dist/client.js CHANGED
@@ -6,13 +6,25 @@ export class VercelAIATPClient {
6
6
  embeddings;
7
7
  approvalHandler;
8
8
  constructor(options) {
9
- const { serverUrl, headers, model, embeddings, tools, approvalHandler, hooks } = options;
10
- this.client = new AgentToolProtocolClient({
11
- baseUrl: serverUrl,
12
- headers,
13
- hooks,
14
- serviceProviders: tools ? { tools } : undefined,
15
- });
9
+ const { model, embeddings, tools, approvalHandler, hooks } = options;
10
+ if ('server' in options && options.server) {
11
+ this.client = new AgentToolProtocolClient({
12
+ server: options.server,
13
+ hooks,
14
+ serviceProviders: tools ? { tools } : undefined,
15
+ });
16
+ }
17
+ else if ('serverUrl' in options && options.serverUrl) {
18
+ this.client = new AgentToolProtocolClient({
19
+ baseUrl: options.serverUrl,
20
+ headers: options.headers,
21
+ hooks,
22
+ serviceProviders: tools ? { tools } : undefined,
23
+ });
24
+ }
25
+ else {
26
+ throw new Error('Either serverUrl or server must be provided');
27
+ }
16
28
  this.model = model;
17
29
  this.embeddings = embeddings;
18
30
  this.approvalHandler = approvalHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Vercel AI SDK Event Adapter
3
+ *
4
+ * Converts ATP streaming events to Vercel AI SDK UIMessageStream format.
5
+ * Use this to forward ATP events to the chat UI.
6
+ */
7
+ import { type ATPEvent } from '@mondaydotcomorg/atp-protocol';
8
+ /**
9
+ * UIMessageStreamWriter interface (subset of Vercel AI SDK's UIMessageStreamWriter)
10
+ */
11
+ export interface UIMessageStreamWriter {
12
+ write(event: UIStreamEvent): void;
13
+ }
14
+ /**
15
+ * UI Stream event types that Vercel AI SDK understands
16
+ */
17
+ export type UIStreamEvent = {
18
+ type: 'text-start';
19
+ id: string;
20
+ } | {
21
+ type: 'text-delta';
22
+ id: string;
23
+ delta: string;
24
+ } | {
25
+ type: 'text-end';
26
+ id: string;
27
+ } | {
28
+ type: 'reasoning-start';
29
+ id: string;
30
+ } | {
31
+ type: 'reasoning-delta';
32
+ id: string;
33
+ delta: string;
34
+ } | {
35
+ type: 'reasoning-end';
36
+ id: string;
37
+ } | {
38
+ type: 'source-url';
39
+ url: string;
40
+ title: string;
41
+ sourceId: string;
42
+ providerMetadata?: unknown;
43
+ } | {
44
+ type: string;
45
+ data?: unknown;
46
+ transient?: boolean;
47
+ };
48
+ /**
49
+ * Options for creating the Vercel event handler
50
+ */
51
+ export interface CreateVercelEventHandlerOptions {
52
+ /**
53
+ * Prefix for generated text run IDs
54
+ * @default 'atp-text'
55
+ */
56
+ textRunIdPrefix?: string;
57
+ }
58
+ /**
59
+ * Creates an event handler that forwards ATP events to a Vercel AI SDK UIMessageStreamWriter.
60
+ *
61
+ * Handles nested tool calls properly:
62
+ * - First tool_start triggers agentStepStart
63
+ * - Inner tool_start/end emit agentStep updates (not start/end)
64
+ * - Last tool_end triggers agentStepEnd
65
+ *
66
+ * @param dataStream - The Vercel AI SDK UIMessageStreamWriter to write events to
67
+ * @param options - Optional configuration
68
+ * @returns An event handler function to pass to ATP's executeStream
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * const handler = createVercelEventHandler(dataStream);
73
+ *
74
+ * const result = await client.executeStream(code, {}, handler);
75
+ * ```
76
+ */
77
+ export declare function createVercelEventHandler(dataStream: UIMessageStreamWriter, options?: CreateVercelEventHandlerOptions): (event: ATPEvent) => void;
78
+ /**
79
+ * Creates an event handler that collects events into an array.
80
+ * Useful for testing or post-processing events.
81
+ *
82
+ * @returns Object with handler function and collected events array
83
+ */
84
+ export declare function createEventCollector(): {
85
+ handler: (event: ATPEvent) => void;
86
+ events: ATPEvent[];
87
+ clear: () => void;
88
+ };
89
+ //# sourceMappingURL=event-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-adapter.d.ts","sourceRoot":"","sources":["../src/event-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,+BAA+B,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GACtB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GAChG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC/C;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,wBAAwB,CACvC,UAAU,EAAE,qBAAqB,EACjC,OAAO,GAAE,+BAAoC,GAC3C,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CA2L3B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI;IACvC,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;CAClB,CAYA"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * Vercel AI SDK Event Adapter
3
+ *
4
+ * Converts ATP streaming events to Vercel AI SDK UIMessageStream format.
5
+ * Use this to forward ATP events to the chat UI.
6
+ */
7
+ import { ATPEventType } from '@mondaydotcomorg/atp-protocol';
8
+ /**
9
+ * Creates an event handler that forwards ATP events to a Vercel AI SDK UIMessageStreamWriter.
10
+ *
11
+ * Handles nested tool calls properly:
12
+ * - First tool_start triggers agentStepStart
13
+ * - Inner tool_start/end emit agentStep updates (not start/end)
14
+ * - Last tool_end triggers agentStepEnd
15
+ *
16
+ * @param dataStream - The Vercel AI SDK UIMessageStreamWriter to write events to
17
+ * @param options - Optional configuration
18
+ * @returns An event handler function to pass to ATP's executeStream
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const handler = createVercelEventHandler(dataStream);
23
+ *
24
+ * const result = await client.executeStream(code, {}, handler);
25
+ * ```
26
+ */
27
+ export function createVercelEventHandler(dataStream, options = {}) {
28
+ const { textRunIdPrefix = 'atp-text' } = options;
29
+ let currentTextRunId;
30
+ let textRunCounter = 0;
31
+ // Track reasoning state for proper start/delta/end events
32
+ let reasoningRunId;
33
+ let reasoningCounter = 0;
34
+ // Track nested tool calls with a stack
35
+ const toolStack = [];
36
+ return (event) => {
37
+ switch (event.type) {
38
+ case ATPEventType.THINKING: {
39
+ const data = event.data;
40
+ // Start new reasoning block if needed
41
+ if (!reasoningRunId) {
42
+ reasoningRunId = `atp-reasoning-${++reasoningCounter}`;
43
+ dataStream.write({
44
+ type: 'reasoning-start',
45
+ id: reasoningRunId,
46
+ });
47
+ }
48
+ // Write reasoning delta
49
+ dataStream.write({
50
+ type: 'reasoning-delta',
51
+ id: reasoningRunId,
52
+ delta: data.content + '\n',
53
+ });
54
+ break;
55
+ }
56
+ case ATPEventType.TOOL_START: {
57
+ const data = event.data;
58
+ const isFirstTool = toolStack.length === 0;
59
+ toolStack.push({ toolName: data.toolName, apiGroup: data.apiGroup });
60
+ if (isFirstTool) {
61
+ // First tool - emit agentStepStart
62
+ dataStream.write({
63
+ type: 'data-agentStepStart',
64
+ data: `Executing ${data.apiGroup}.${data.toolName}...`,
65
+ transient: true,
66
+ });
67
+ }
68
+ else {
69
+ // Nested tool - emit progress update instead
70
+ dataStream.write({
71
+ type: 'data-agentStep',
72
+ data: `→ ${data.apiGroup}.${data.toolName}`,
73
+ transient: true,
74
+ });
75
+ }
76
+ break;
77
+ }
78
+ case ATPEventType.TOOL_END: {
79
+ const data = event.data;
80
+ toolStack.pop();
81
+ const isLastTool = toolStack.length === 0;
82
+ // Close reasoning block when outer tool ends
83
+ if (isLastTool && reasoningRunId) {
84
+ dataStream.write({
85
+ type: 'reasoning-end',
86
+ id: reasoningRunId,
87
+ });
88
+ reasoningRunId = undefined;
89
+ }
90
+ if (isLastTool) {
91
+ // Last tool - emit agentStepEnd
92
+ dataStream.write({
93
+ type: 'data-agentStepEnd',
94
+ data: data.success
95
+ ? `Completed ${data.apiGroup}.${data.toolName} (${data.duration}ms)`
96
+ : `Failed ${data.apiGroup}.${data.toolName}: ${data.error}`,
97
+ transient: true,
98
+ });
99
+ }
100
+ else {
101
+ // Nested tool finished - emit progress update
102
+ dataStream.write({
103
+ type: 'data-agentStep',
104
+ data: data.success
105
+ ? `✓ ${data.apiGroup}.${data.toolName} (${data.duration}ms)`
106
+ : `✗ ${data.apiGroup}.${data.toolName}: ${data.error}`,
107
+ transient: true,
108
+ });
109
+ }
110
+ break;
111
+ }
112
+ case ATPEventType.TEXT: {
113
+ const data = event.data;
114
+ const runId = event.runId || `${textRunIdPrefix}-${++textRunCounter}`;
115
+ // If we're starting a new text run, close the previous one
116
+ if (currentTextRunId && currentTextRunId !== runId) {
117
+ dataStream.write({ type: 'text-end', id: currentTextRunId });
118
+ currentTextRunId = undefined;
119
+ }
120
+ // Start new text run if needed
121
+ if (!currentTextRunId || currentTextRunId !== runId) {
122
+ currentTextRunId = runId;
123
+ dataStream.write({ type: 'text-start', id: currentTextRunId });
124
+ }
125
+ // Write text delta
126
+ dataStream.write({
127
+ type: 'text-delta',
128
+ id: currentTextRunId,
129
+ delta: data.text,
130
+ });
131
+ break;
132
+ }
133
+ case ATPEventType.TEXT_END:
134
+ if (currentTextRunId) {
135
+ dataStream.write({ type: 'text-end', id: currentTextRunId });
136
+ currentTextRunId = undefined;
137
+ }
138
+ break;
139
+ case ATPEventType.SOURCE: {
140
+ const data = event.data;
141
+ dataStream.write({
142
+ type: 'source-url',
143
+ url: data.url,
144
+ title: data.title,
145
+ sourceId: `${data.title}-${event.timestamp}`,
146
+ providerMetadata: {
147
+ aiChat: {
148
+ summary: data.summary,
149
+ createdAt: data.createdAt,
150
+ },
151
+ },
152
+ });
153
+ break;
154
+ }
155
+ case ATPEventType.PROGRESS: {
156
+ const data = event.data;
157
+ dataStream.write({
158
+ type: 'data-agentStep',
159
+ data: `${data.message} (${Math.round(data.fraction * 100)}%)`,
160
+ transient: true,
161
+ });
162
+ break;
163
+ }
164
+ case ATPEventType.ERROR: {
165
+ const data = event.data;
166
+ dataStream.write({
167
+ type: 'data-error',
168
+ data: data.message,
169
+ });
170
+ break;
171
+ }
172
+ default:
173
+ // Forward unknown events as custom data events
174
+ dataStream.write({
175
+ type: `data-${event.type}`,
176
+ data: event.data,
177
+ transient: true,
178
+ });
179
+ break;
180
+ }
181
+ };
182
+ }
183
+ /**
184
+ * Creates an event handler that collects events into an array.
185
+ * Useful for testing or post-processing events.
186
+ *
187
+ * @returns Object with handler function and collected events array
188
+ */
189
+ export function createEventCollector() {
190
+ const events = [];
191
+ return {
192
+ handler: (event) => {
193
+ events.push(event);
194
+ },
195
+ events,
196
+ clear: () => {
197
+ events.length = 0;
198
+ },
199
+ };
200
+ }
201
+ //# sourceMappingURL=event-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-adapter.js","sourceRoot":"","sources":["../src/event-adapter.ts"],"names":[],"mappings":"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"}