@mondaydotcomorg/atp-langchain 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.
@@ -0,0 +1,68 @@
1
+ /**
2
+ * LangChain Event Adapter
3
+ *
4
+ * Converts ATP streaming events to LangChain-compatible event format.
5
+ * Works with LangChain's callback system and streamEvents API.
6
+ */
7
+ import { type ATPEvent } from '@mondaydotcomorg/atp-protocol';
8
+ /**
9
+ * LangChain-style event format
10
+ * Compatible with LangChain's streamEvents() output format
11
+ */
12
+ export interface LangChainEvent {
13
+ event: string;
14
+ name?: string;
15
+ data: unknown;
16
+ run_id?: string;
17
+ metadata?: Record<string, unknown>;
18
+ tags?: string[];
19
+ }
20
+ /**
21
+ * Options for creating the LangChain event handler
22
+ */
23
+ export interface CreateLangChainEventHandlerOptions {
24
+ /**
25
+ * Tags to add to all events
26
+ */
27
+ tags?: string[];
28
+ /**
29
+ * Metadata to add to all events
30
+ */
31
+ metadata?: Record<string, unknown>;
32
+ }
33
+ /**
34
+ * Creates an event handler that converts ATP events to LangChain event format.
35
+ *
36
+ * @param onEvent - Callback to receive LangChain-formatted events
37
+ * @param options - Optional configuration
38
+ * @returns An event handler function to pass to ATP's executeStream
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const handler = createLangChainEventHandler((event) => {
43
+ * console.log(event.event, event.data);
44
+ * });
45
+ *
46
+ * const result = await client.executeStream(code, {}, handler);
47
+ * ```
48
+ */
49
+ export declare function createLangChainEventHandler(onEvent: (event: LangChainEvent) => void, options?: CreateLangChainEventHandlerOptions): (event: ATPEvent) => void;
50
+ /**
51
+ * Creates an event handler compatible with LangChain's CallbackManager.
52
+ * Useful for integrating with existing LangChain callback infrastructure.
53
+ *
54
+ * @param callbackManager - LangChain CallbackManager or similar interface
55
+ * @returns An event handler function to pass to ATP's executeStream
56
+ */
57
+ export declare function createCallbackManagerHandler(callbackManager: {
58
+ handleCustomEvent?: (eventName: string, data: unknown, runId?: string, tags?: string[], metadata?: Record<string, unknown>) => Promise<void> | void;
59
+ handleToolStart?: (tool: {
60
+ name: string;
61
+ }, input: string, runId?: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>) => Promise<void> | void;
62
+ handleToolEnd?: (output: string, runId?: string, parentRunId?: string, tags?: string[]) => Promise<void> | void;
63
+ handleLLMNewToken?: (token: string, idx?: {
64
+ prompt: number;
65
+ completion: number;
66
+ }, runId?: string) => Promise<void> | void;
67
+ }): (event: ATPEvent) => void;
68
+ //# 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;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IAClD;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CAC1C,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,EACxC,OAAO,GAAE,kCAAuC,GAC9C,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CA0J3B;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,eAAe,EAAE;IAC7D,iBAAiB,CAAC,EAAE,CACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,OAAO,EACb,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,CACjB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EACtB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,CACf,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,MAAM,EAAE,KACX,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,iBAAiB,CAAC,EAAE,CACnB,KAAK,EAAE,MAAM,EACb,GAAG,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAC5C,KAAK,CAAC,EAAE,MAAM,KACV,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1B,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CA2C5B"}
@@ -0,0 +1,197 @@
1
+ /**
2
+ * LangChain Event Adapter
3
+ *
4
+ * Converts ATP streaming events to LangChain-compatible event format.
5
+ * Works with LangChain's callback system and streamEvents API.
6
+ */
7
+ import { ATPEventType } from '@mondaydotcomorg/atp-protocol';
8
+ /**
9
+ * Creates an event handler that converts ATP events to LangChain event format.
10
+ *
11
+ * @param onEvent - Callback to receive LangChain-formatted events
12
+ * @param options - Optional configuration
13
+ * @returns An event handler function to pass to ATP's executeStream
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const handler = createLangChainEventHandler((event) => {
18
+ * console.log(event.event, event.data);
19
+ * });
20
+ *
21
+ * const result = await client.executeStream(code, {}, handler);
22
+ * ```
23
+ */
24
+ export function createLangChainEventHandler(onEvent, options = {}) {
25
+ const { tags = [], metadata = {} } = options;
26
+ return (event) => {
27
+ const baseEvent = {
28
+ run_id: event.runId,
29
+ tags: ['atp', ...tags],
30
+ metadata: { ...metadata, timestamp: event.timestamp },
31
+ };
32
+ switch (event.type) {
33
+ case ATPEventType.THINKING: {
34
+ const data = event.data;
35
+ onEvent({
36
+ ...baseEvent,
37
+ event: 'on_llm_stream',
38
+ name: 'atp_thinking',
39
+ data: {
40
+ chunk: data.content,
41
+ step: data.step,
42
+ },
43
+ });
44
+ break;
45
+ }
46
+ case ATPEventType.TOOL_START: {
47
+ const data = event.data;
48
+ onEvent({
49
+ ...baseEvent,
50
+ event: 'on_tool_start',
51
+ name: `${data.apiGroup}.${data.toolName}`,
52
+ data: {
53
+ input: data.input,
54
+ },
55
+ metadata: {
56
+ ...baseEvent.metadata,
57
+ apiGroup: data.apiGroup,
58
+ toolName: data.toolName,
59
+ },
60
+ });
61
+ break;
62
+ }
63
+ case ATPEventType.TOOL_END: {
64
+ const data = event.data;
65
+ onEvent({
66
+ ...baseEvent,
67
+ event: 'on_tool_end',
68
+ name: `${data.apiGroup}.${data.toolName}`,
69
+ data: {
70
+ output: data.output,
71
+ error: data.error,
72
+ },
73
+ metadata: {
74
+ ...baseEvent.metadata,
75
+ apiGroup: data.apiGroup,
76
+ toolName: data.toolName,
77
+ duration: data.duration,
78
+ success: data.success,
79
+ },
80
+ });
81
+ break;
82
+ }
83
+ case ATPEventType.TEXT: {
84
+ const data = event.data;
85
+ onEvent({
86
+ ...baseEvent,
87
+ event: 'on_chain_stream',
88
+ name: 'atp_output',
89
+ data: {
90
+ chunk: data.text,
91
+ },
92
+ });
93
+ break;
94
+ }
95
+ case ATPEventType.TEXT_END:
96
+ onEvent({
97
+ ...baseEvent,
98
+ event: 'on_chain_end',
99
+ name: 'atp_output',
100
+ data: {},
101
+ });
102
+ break;
103
+ case ATPEventType.SOURCE: {
104
+ const data = event.data;
105
+ onEvent({
106
+ ...baseEvent,
107
+ event: 'on_custom_event',
108
+ name: 'atp_source',
109
+ data: {
110
+ url: data.url,
111
+ title: data.title,
112
+ summary: data.summary,
113
+ createdAt: data.createdAt,
114
+ },
115
+ });
116
+ break;
117
+ }
118
+ case ATPEventType.PROGRESS: {
119
+ const data = event.data;
120
+ onEvent({
121
+ ...baseEvent,
122
+ event: 'on_custom_event',
123
+ name: 'atp_progress',
124
+ data: {
125
+ message: data.message,
126
+ fraction: data.fraction,
127
+ percentage: Math.round(data.fraction * 100),
128
+ },
129
+ });
130
+ break;
131
+ }
132
+ case ATPEventType.ERROR: {
133
+ const data = event.data;
134
+ onEvent({
135
+ ...baseEvent,
136
+ event: 'on_chain_error',
137
+ name: 'atp_error',
138
+ data: {
139
+ error: data.message,
140
+ code: data.code,
141
+ },
142
+ });
143
+ break;
144
+ }
145
+ default:
146
+ // Forward unknown events as custom events
147
+ onEvent({
148
+ ...baseEvent,
149
+ event: 'on_custom_event',
150
+ name: `atp_${event.type}`,
151
+ data: event.data,
152
+ });
153
+ break;
154
+ }
155
+ };
156
+ }
157
+ /**
158
+ * Creates an event handler compatible with LangChain's CallbackManager.
159
+ * Useful for integrating with existing LangChain callback infrastructure.
160
+ *
161
+ * @param callbackManager - LangChain CallbackManager or similar interface
162
+ * @returns An event handler function to pass to ATP's executeStream
163
+ */
164
+ export function createCallbackManagerHandler(callbackManager) {
165
+ return (event) => {
166
+ switch (event.type) {
167
+ case ATPEventType.THINKING: {
168
+ const data = event.data;
169
+ callbackManager.handleLLMNewToken?.(data.content, undefined, event.runId);
170
+ break;
171
+ }
172
+ case ATPEventType.TOOL_START: {
173
+ const data = event.data;
174
+ callbackManager.handleToolStart?.({ name: `${data.apiGroup}.${data.toolName}` }, JSON.stringify(data.input), event.runId, undefined, ['atp'], { apiGroup: data.apiGroup });
175
+ break;
176
+ }
177
+ case ATPEventType.TOOL_END: {
178
+ const data = event.data;
179
+ callbackManager.handleToolEnd?.(JSON.stringify(data.output), event.runId, undefined, [
180
+ 'atp',
181
+ ]);
182
+ break;
183
+ }
184
+ case ATPEventType.TEXT: {
185
+ const data = event.data;
186
+ callbackManager.handleLLMNewToken?.(data.text, undefined, event.runId);
187
+ break;
188
+ }
189
+ default:
190
+ callbackManager.handleCustomEvent?.(`atp_${event.type}`, event.data, event.runId, ['atp'], {
191
+ timestamp: event.timestamp,
192
+ });
193
+ break;
194
+ }
195
+ };
196
+ }
197
+ //# sourceMappingURL=event-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-adapter.js","sourceRoot":"","sources":["../src/event-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAiB,YAAY,EAAE,MAAM,+BAA+B,CAAC;AA6B5E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,2BAA2B,CAC1C,OAAwC,EACxC,UAA8C,EAAE;IAEhD,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAE7C,OAAO,CAAC,KAAe,EAAE,EAAE;QAC1B,MAAM,SAAS,GAAG;YACjB,MAAM,EAAE,KAAK,CAAC,KAAK;YACnB,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;YACtB,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;SACrD,CAAC;QAEF,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAA0C,CAAC;gBAC9D,OAAO,CAAC;oBACP,GAAG,SAAS;oBACZ,KAAK,EAAE,eAAe;oBACtB,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE;wBACL,KAAK,EAAE,IAAI,CAAC,OAAO;wBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;qBACf;iBACD,CAAC,CAAC;gBACH,MAAM;YACP,CAAC;YAED,KAAK,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAA8D,CAAC;gBAClF,OAAO,CAAC;oBACP,GAAG,SAAS;oBACZ,KAAK,EAAE,eAAe;oBACtB,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACzC,IAAI,EAAE;wBACL,KAAK,EAAE,IAAI,CAAC,KAAK;qBACjB;oBACD,QAAQ,EAAE;wBACT,GAAG,SAAS,CAAC,QAAQ;wBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBACvB;iBACD,CAAC,CAAC;gBACH,MAAM;YACP,CAAC;YAED,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAOlB,CAAC;gBACF,OAAO,CAAC;oBACP,GAAG,SAAS;oBACZ,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACzC,IAAI,EAAE;wBACL,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;qBACjB;oBACD,QAAQ,EAAE;wBACT,GAAG,SAAS,CAAC,QAAQ;wBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;qBACrB;iBACD,CAAC,CAAC;gBACH,MAAM;YACP,CAAC;YAED,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAwB,CAAC;gBAC5C,OAAO,CAAC;oBACP,GAAG,SAAS;oBACZ,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE;wBACL,KAAK,EAAE,IAAI,CAAC,IAAI;qBAChB;iBACD,CAAC,CAAC;gBACH,MAAM;YACP,CAAC;YAED,KAAK,YAAY,CAAC,QAAQ;gBACzB,OAAO,CAAC;oBACP,GAAG,SAAS;oBACZ,KAAK,EAAE,cAAc;oBACrB,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,EAAE;iBACR,CAAC,CAAC;gBACH,MAAM;YAEP,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,IAKlB,CAAC;gBACF,OAAO,CAAC;oBACP,GAAG,SAAS;oBACZ,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE;wBACL,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;qBACzB;iBACD,CAAC,CAAC;gBACH,MAAM;YACP,CAAC;YAED,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAA6C,CAAC;gBACjE,OAAO,CAAC;oBACP,GAAG,SAAS;oBACZ,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE;wBACL,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;qBAC3C;iBACD,CAAC,CAAC;gBACH,MAAM;YACP,CAAC;YAED,KAAK,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAA0C,CAAC;gBAC9D,OAAO,CAAC;oBACP,GAAG,SAAS;oBACZ,KAAK,EAAE,gBAAgB;oBACvB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE;wBACL,KAAK,EAAE,IAAI,CAAC,OAAO;wBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;qBACf;iBACD,CAAC,CAAC;gBACH,MAAM;YACP,CAAC;YAED;gBACC,0CAA0C;gBAC1C,OAAO,CAAC;oBACP,GAAG,SAAS;oBACZ,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,EAAE;oBACzB,IAAI,EAAE,KAAK,CAAC,IAAI;iBAChB,CAAC,CAAC;gBACH,MAAM;QACR,CAAC;IACF,CAAC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,eA2B5C;IACA,OAAO,CAAC,KAAe,EAAE,EAAE;QAC1B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAA2B,CAAC;gBAC/C,eAAe,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1E,MAAM;YACP,CAAC;YAED,KAAK,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAA8D,CAAC;gBAClF,eAAe,CAAC,eAAe,EAAE,CAChC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,EAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAC1B,KAAK,CAAC,KAAK,EACX,SAAS,EACT,CAAC,KAAK,CAAC,EACP,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAC3B,CAAC;gBACF,MAAM;YACP,CAAC;YAED,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAA2B,CAAC;gBAC/C,eAAe,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE;oBACpF,KAAK;iBACL,CAAC,CAAC;gBACH,MAAM;YACP,CAAC;YAED,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAwB,CAAC;gBAC5C,eAAe,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvE,MAAM;YACP,CAAC;YAED;gBACC,eAAe,CAAC,iBAAiB,EAAE,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE;oBAC1F,SAAS,EAAE,KAAK,CAAC,SAAS;iBAC1B,CAAC,CAAC;gBACH,MAAM;QACR,CAAC;IACF,CAAC,CAAC;AACH,CAAC"}