@vertesia/client 0.78.0-dev-28b447d → 0.78.0-dev.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.
Files changed (221) hide show
  1. package/lib/cjs/AccountApi.js +85 -0
  2. package/lib/cjs/AccountApi.js.map +1 -0
  3. package/lib/cjs/AccountsApi.js +16 -0
  4. package/lib/cjs/AccountsApi.js.map +1 -0
  5. package/lib/cjs/AnalyticsApi.js +13 -0
  6. package/lib/cjs/AnalyticsApi.js.map +1 -0
  7. package/lib/cjs/ApiKeysApi.js +63 -0
  8. package/lib/cjs/ApiKeysApi.js.map +1 -0
  9. package/lib/cjs/AppsApi.js +119 -0
  10. package/lib/cjs/AppsApi.js.map +1 -0
  11. package/lib/cjs/CommandsApi.js +19 -0
  12. package/lib/cjs/CommandsApi.js.map +1 -0
  13. package/lib/cjs/EnvironmentsApi.js +58 -0
  14. package/lib/cjs/EnvironmentsApi.js.map +1 -0
  15. package/lib/cjs/GroupsApi.js +78 -0
  16. package/lib/cjs/GroupsApi.js.map +1 -0
  17. package/lib/cjs/IamApi.js +53 -0
  18. package/lib/cjs/IamApi.js.map +1 -0
  19. package/lib/cjs/InteractionBase.js +44 -0
  20. package/lib/cjs/InteractionBase.js.map +1 -0
  21. package/lib/cjs/InteractionsApi.js +217 -0
  22. package/lib/cjs/InteractionsApi.js.map +1 -0
  23. package/lib/cjs/ProjectsApi.js +48 -0
  24. package/lib/cjs/ProjectsApi.js.map +1 -0
  25. package/lib/cjs/PromptsApi.js +133 -0
  26. package/lib/cjs/PromptsApi.js.map +1 -0
  27. package/lib/cjs/RefsApi.js +14 -0
  28. package/lib/cjs/RefsApi.js.map +1 -0
  29. package/lib/cjs/RunsApi.js +110 -0
  30. package/lib/cjs/RunsApi.js.map +1 -0
  31. package/lib/cjs/StreamSource.js +17 -0
  32. package/lib/cjs/StreamSource.js.map +1 -0
  33. package/lib/cjs/TrainingApi.js +54 -0
  34. package/lib/cjs/TrainingApi.js.map +1 -0
  35. package/lib/cjs/UsersApi.js +13 -0
  36. package/lib/cjs/UsersApi.js.map +1 -0
  37. package/lib/cjs/client.js +336 -0
  38. package/lib/cjs/client.js.map +1 -0
  39. package/lib/cjs/execute.js +158 -0
  40. package/lib/cjs/execute.js.map +1 -0
  41. package/lib/cjs/index.js +21 -0
  42. package/lib/cjs/index.js.map +1 -0
  43. package/lib/cjs/nodejs/NodeStreamSource.js +45 -0
  44. package/lib/cjs/nodejs/NodeStreamSource.js.map +1 -0
  45. package/lib/cjs/nodejs/index.js +18 -0
  46. package/lib/cjs/nodejs/index.js.map +1 -0
  47. package/lib/cjs/package.json +3 -0
  48. package/lib/cjs/store/AgentsApi.js +16 -0
  49. package/lib/cjs/store/AgentsApi.js.map +1 -0
  50. package/lib/cjs/store/AnalyzeDocApi.js +56 -0
  51. package/lib/cjs/store/AnalyzeDocApi.js.map +1 -0
  52. package/lib/cjs/store/CollectionsApi.js +101 -0
  53. package/lib/cjs/store/CollectionsApi.js.map +1 -0
  54. package/lib/cjs/store/CommandsApi.js +17 -0
  55. package/lib/cjs/store/CommandsApi.js.map +1 -0
  56. package/lib/cjs/store/EmbeddingsApi.js +29 -0
  57. package/lib/cjs/store/EmbeddingsApi.js.map +1 -0
  58. package/lib/cjs/store/FilesApi.js +147 -0
  59. package/lib/cjs/store/FilesApi.js.map +1 -0
  60. package/lib/cjs/store/ObjectsApi.js +281 -0
  61. package/lib/cjs/store/ObjectsApi.js.map +1 -0
  62. package/lib/cjs/store/TypesApi.js +57 -0
  63. package/lib/cjs/store/TypesApi.js.map +1 -0
  64. package/lib/cjs/store/WorkflowsApi.js +412 -0
  65. package/lib/cjs/store/WorkflowsApi.js.map +1 -0
  66. package/lib/cjs/store/client.js +61 -0
  67. package/lib/cjs/store/client.js.map +1 -0
  68. package/lib/cjs/store/errors.js +11 -0
  69. package/lib/cjs/store/errors.js.map +1 -0
  70. package/lib/cjs/store/index.js +22 -0
  71. package/lib/cjs/store/index.js.map +1 -0
  72. package/lib/cjs/store/version.js +6 -0
  73. package/lib/cjs/store/version.js.map +1 -0
  74. package/lib/esm/AccountApi.js +82 -0
  75. package/lib/esm/AccountApi.js.map +1 -0
  76. package/lib/esm/AccountsApi.js +13 -0
  77. package/lib/esm/AccountsApi.js.map +1 -0
  78. package/lib/esm/AnalyticsApi.js +10 -0
  79. package/lib/esm/AnalyticsApi.js.map +1 -0
  80. package/lib/esm/ApiKeysApi.js +59 -0
  81. package/lib/esm/ApiKeysApi.js.map +1 -0
  82. package/lib/esm/AppsApi.js +116 -0
  83. package/lib/esm/AppsApi.js.map +1 -0
  84. package/lib/esm/CommandsApi.js +16 -0
  85. package/lib/esm/CommandsApi.js.map +1 -0
  86. package/lib/esm/EnvironmentsApi.js +55 -0
  87. package/lib/esm/EnvironmentsApi.js.map +1 -0
  88. package/lib/esm/GroupsApi.js +74 -0
  89. package/lib/esm/GroupsApi.js.map +1 -0
  90. package/lib/esm/IamApi.js +47 -0
  91. package/lib/esm/IamApi.js.map +1 -0
  92. package/lib/esm/InteractionBase.js +40 -0
  93. package/lib/esm/InteractionBase.js.map +1 -0
  94. package/lib/esm/InteractionsApi.js +214 -0
  95. package/lib/esm/InteractionsApi.js.map +1 -0
  96. package/lib/esm/ProjectsApi.js +45 -0
  97. package/lib/esm/ProjectsApi.js.map +1 -0
  98. package/lib/esm/PromptsApi.js +130 -0
  99. package/lib/esm/PromptsApi.js.map +1 -0
  100. package/lib/esm/RefsApi.js +10 -0
  101. package/lib/esm/RefsApi.js.map +1 -0
  102. package/lib/esm/RunsApi.js +106 -0
  103. package/lib/esm/RunsApi.js.map +1 -0
  104. package/lib/esm/StreamSource.js +13 -0
  105. package/lib/esm/StreamSource.js.map +1 -0
  106. package/lib/esm/TrainingApi.js +51 -0
  107. package/lib/esm/TrainingApi.js.map +1 -0
  108. package/lib/esm/UsersApi.js +10 -0
  109. package/lib/esm/UsersApi.js.map +1 -0
  110. package/lib/esm/client.js +327 -0
  111. package/lib/esm/client.js.map +1 -0
  112. package/lib/esm/execute.js +118 -0
  113. package/lib/esm/execute.js.map +1 -0
  114. package/lib/esm/index.js +5 -0
  115. package/lib/esm/index.js.map +1 -0
  116. package/lib/esm/nodejs/NodeStreamSource.js +41 -0
  117. package/lib/esm/nodejs/NodeStreamSource.js.map +1 -0
  118. package/lib/esm/nodejs/index.js +2 -0
  119. package/lib/esm/nodejs/index.js.map +1 -0
  120. package/lib/esm/store/AgentsApi.js +12 -0
  121. package/lib/esm/store/AgentsApi.js.map +1 -0
  122. package/lib/esm/store/AnalyzeDocApi.js +52 -0
  123. package/lib/esm/store/AnalyzeDocApi.js.map +1 -0
  124. package/lib/esm/store/CollectionsApi.js +97 -0
  125. package/lib/esm/store/CollectionsApi.js.map +1 -0
  126. package/lib/esm/store/CommandsApi.js +13 -0
  127. package/lib/esm/store/CommandsApi.js.map +1 -0
  128. package/lib/esm/store/EmbeddingsApi.js +25 -0
  129. package/lib/esm/store/EmbeddingsApi.js.map +1 -0
  130. package/lib/esm/store/FilesApi.js +142 -0
  131. package/lib/esm/store/FilesApi.js.map +1 -0
  132. package/lib/esm/store/ObjectsApi.js +277 -0
  133. package/lib/esm/store/ObjectsApi.js.map +1 -0
  134. package/lib/esm/store/TypesApi.js +53 -0
  135. package/lib/esm/store/TypesApi.js.map +1 -0
  136. package/lib/esm/store/WorkflowsApi.js +406 -0
  137. package/lib/esm/store/WorkflowsApi.js.map +1 -0
  138. package/lib/esm/store/client.js +57 -0
  139. package/lib/esm/store/client.js.map +1 -0
  140. package/lib/esm/store/errors.js +7 -0
  141. package/lib/esm/store/errors.js.map +1 -0
  142. package/lib/esm/store/index.js +6 -0
  143. package/lib/esm/store/index.js.map +1 -0
  144. package/lib/esm/store/version.js +3 -0
  145. package/lib/esm/store/version.js.map +1 -0
  146. package/lib/tsconfig.tsbuildinfo +1 -0
  147. package/lib/types/AccountApi.d.ts +59 -0
  148. package/lib/types/AccountApi.d.ts.map +1 -0
  149. package/lib/types/AccountsApi.d.ts +7 -0
  150. package/lib/types/AccountsApi.d.ts.map +1 -0
  151. package/lib/types/AnalyticsApi.d.ts +6 -0
  152. package/lib/types/AnalyticsApi.d.ts.map +1 -0
  153. package/lib/types/ApiKeysApi.d.ts +42 -0
  154. package/lib/types/ApiKeysApi.d.ts.map +1 -0
  155. package/lib/types/AppsApi.d.ts +65 -0
  156. package/lib/types/AppsApi.d.ts.map +1 -0
  157. package/lib/types/CommandsApi.d.ts +10 -0
  158. package/lib/types/CommandsApi.d.ts.map +1 -0
  159. package/lib/types/EnvironmentsApi.d.ts +30 -0
  160. package/lib/types/EnvironmentsApi.d.ts.map +1 -0
  161. package/lib/types/GroupsApi.d.ts +65 -0
  162. package/lib/types/GroupsApi.d.ts.map +1 -0
  163. package/lib/types/IamApi.d.ts +41 -0
  164. package/lib/types/IamApi.d.ts.map +1 -0
  165. package/lib/types/InteractionBase.d.ts +22 -0
  166. package/lib/types/InteractionBase.d.ts.map +1 -0
  167. package/lib/types/InteractionsApi.d.ts +157 -0
  168. package/lib/types/InteractionsApi.d.ts.map +1 -0
  169. package/lib/types/ProjectsApi.d.ts +17 -0
  170. package/lib/types/ProjectsApi.d.ts.map +1 -0
  171. package/lib/types/PromptsApi.d.ts +106 -0
  172. package/lib/types/PromptsApi.d.ts.map +1 -0
  173. package/lib/types/RefsApi.d.ts +6 -0
  174. package/lib/types/RefsApi.d.ts.map +1 -0
  175. package/lib/types/RunsApi.d.ts +78 -0
  176. package/lib/types/RunsApi.d.ts.map +1 -0
  177. package/lib/types/StreamSource.d.ts +7 -0
  178. package/lib/types/StreamSource.d.ts.map +1 -0
  179. package/lib/types/TrainingApi.d.ts +27 -0
  180. package/lib/types/TrainingApi.d.ts.map +1 -0
  181. package/lib/types/UsersApi.d.ts +6 -0
  182. package/lib/types/UsersApi.d.ts.map +1 -0
  183. package/lib/types/client.d.ts +122 -0
  184. package/lib/types/client.d.ts.map +1 -0
  185. package/lib/types/execute.d.ts +37 -0
  186. package/lib/types/execute.d.ts.map +1 -0
  187. package/lib/types/index.d.ts +8 -0
  188. package/lib/types/index.d.ts.map +1 -0
  189. package/lib/types/nodejs/NodeStreamSource.d.ts +9 -0
  190. package/lib/types/nodejs/NodeStreamSource.d.ts.map +1 -0
  191. package/lib/types/nodejs/index.d.ts +1 -0
  192. package/lib/types/nodejs/index.d.ts.map +1 -0
  193. package/lib/types/store/AgentsApi.d.ts +6 -0
  194. package/lib/types/store/AgentsApi.d.ts.map +1 -0
  195. package/lib/types/store/AnalyzeDocApi.d.ts +17 -0
  196. package/lib/types/store/AnalyzeDocApi.d.ts.map +1 -0
  197. package/lib/types/store/CollectionsApi.d.ts +66 -0
  198. package/lib/types/store/CollectionsApi.d.ts.map +1 -0
  199. package/lib/types/store/CommandsApi.d.ts +10 -0
  200. package/lib/types/store/CommandsApi.d.ts.map +1 -0
  201. package/lib/types/store/EmbeddingsApi.d.ts +12 -0
  202. package/lib/types/store/EmbeddingsApi.d.ts.map +1 -0
  203. package/lib/types/store/FilesApi.d.ts +47 -0
  204. package/lib/types/store/FilesApi.d.ts.map +1 -0
  205. package/lib/types/store/ObjectsApi.d.ts +122 -0
  206. package/lib/types/store/ObjectsApi.d.ts.map +1 -0
  207. package/lib/types/store/TypesApi.d.ts +23 -0
  208. package/lib/types/store/TypesApi.d.ts.map +1 -0
  209. package/lib/types/store/WorkflowsApi.d.ts +62 -0
  210. package/lib/types/store/WorkflowsApi.d.ts.map +1 -0
  211. package/lib/types/store/client.d.ts +34 -0
  212. package/lib/types/store/client.d.ts.map +1 -0
  213. package/lib/types/store/errors.d.ts +4 -0
  214. package/lib/types/store/errors.d.ts.map +1 -0
  215. package/lib/types/store/index.d.ts +5 -0
  216. package/lib/types/store/index.d.ts.map +1 -0
  217. package/lib/types/store/version.d.ts +3 -0
  218. package/lib/types/store/version.d.ts.map +1 -0
  219. package/lib/vertesia-client.js +2 -0
  220. package/lib/vertesia-client.js.map +1 -0
  221. package/package.json +59 -59
@@ -0,0 +1,406 @@
1
+ import { ApiTopic } from "@vertesia/api-fetch-client";
2
+ import { AgentMessageType, } from "@vertesia/common";
3
+ import { EventSourceProvider } from "../execute.js";
4
+ export class WorkflowsApi extends ApiTopic {
5
+ constructor(parent) {
6
+ super(parent, "/api/v1/workflows");
7
+ }
8
+ getActivityCatalog() {
9
+ return this.get("/activity-catalog");
10
+ }
11
+ listRuns(documentId, eventName, ruleId) {
12
+ return this.post(`/runs`, { payload: { documentId, eventName, ruleId } });
13
+ }
14
+ /** List conversations the users has access to */
15
+ listConversations(payload) {
16
+ return this.post(`/conversations`, {
17
+ payload
18
+ });
19
+ }
20
+ searchRuns(payload) {
21
+ return this.post(`/runs`, { payload: payload });
22
+ }
23
+ sendSignal(workflowId, runId, signal, payload) {
24
+ return this.post(`/runs/${workflowId}/${runId}/signal/${signal}`, { payload });
25
+ }
26
+ getRunDetails(runId, workflowId, includeHistory = false) {
27
+ const query = { include_history: includeHistory };
28
+ return this.get(`/runs/${workflowId}/${runId}`, { query });
29
+ }
30
+ getRunInteraction(workflowId, runId) {
31
+ return this.get(`/runs/${workflowId}/${runId}/interaction`);
32
+ }
33
+ terminate(workflowId, runId, reason) {
34
+ return this.post(`/runs/${workflowId}/${runId}/actions/terminate`, { payload: { reason } });
35
+ }
36
+ cancel(workflowId, runId, reason) {
37
+ return this.post(`/runs/${workflowId}/${runId}/actions/cancel`, { payload: { reason } });
38
+ }
39
+ execute(name, payload = {}) {
40
+ return this.post(`/execute/${name}`, { payload });
41
+ }
42
+ postMessage(runId, msg) {
43
+ if (!runId) {
44
+ throw new Error("runId is required");
45
+ }
46
+ return this.post(`/runs/${runId}/updates`, { payload: msg });
47
+ }
48
+ retrieveMessages(workflowId, runId, since) {
49
+ const query = {
50
+ since,
51
+ };
52
+ return this.get(`/runs/${workflowId}/${runId}/updates`, { query });
53
+ }
54
+ async streamMessages(workflowId, runId, onMessage, since) {
55
+ return new Promise((resolve, reject) => {
56
+ let reconnectAttempts = 0;
57
+ let lastMessageTimestamp = since || 0;
58
+ let isClosed = false;
59
+ let currentSse = null;
60
+ let interval = null;
61
+ const maxReconnectAttempts = 10;
62
+ const baseDelay = 1000; // 1 second base delay
63
+ const maxDelay = 30000; // 30 seconds max delay
64
+ const calculateBackoffDelay = (attempts) => {
65
+ const exponentialDelay = Math.min(baseDelay * Math.pow(2, attempts), maxDelay);
66
+ // Add jitter to prevent thundering herd
67
+ const jitter = Math.random() * 0.1 * exponentialDelay;
68
+ return exponentialDelay + jitter;
69
+ };
70
+ const cleanup = () => {
71
+ if (interval) {
72
+ clearInterval(interval);
73
+ interval = null;
74
+ }
75
+ if (currentSse) {
76
+ currentSse.close();
77
+ currentSse = null;
78
+ }
79
+ };
80
+ const exit = (payload) => {
81
+ if (!isClosed) {
82
+ isClosed = true;
83
+ cleanup();
84
+ resolve(payload);
85
+ }
86
+ };
87
+ const setupStream = async (isReconnect = false) => {
88
+ if (isClosed)
89
+ return;
90
+ try {
91
+ const EventSourceImpl = await EventSourceProvider();
92
+ const client = this.client;
93
+ const streamUrl = new URL(client.workflows.baseUrl + `/runs/${workflowId}/${runId}/stream`);
94
+ // Use the timestamp of the last received message for reconnection
95
+ if (lastMessageTimestamp > 0) {
96
+ streamUrl.searchParams.set("since", lastMessageTimestamp.toString());
97
+ }
98
+ const bearerToken = client._auth ? await client._auth() : undefined;
99
+ if (!bearerToken) {
100
+ reject(new Error("No auth token available"));
101
+ return;
102
+ }
103
+ const token = bearerToken.split(" ")[1];
104
+ streamUrl.searchParams.set("access_token", token);
105
+ if (isReconnect) {
106
+ console.log(`Reconnecting to SSE stream for run ${runId} (attempt ${reconnectAttempts + 1}/${maxReconnectAttempts})`);
107
+ }
108
+ const sse = new EventSourceImpl(streamUrl.href);
109
+ currentSse = sse;
110
+ // Prevent Node from exiting prematurely
111
+ interval = setInterval(() => { }, 1000);
112
+ sse.onopen = () => {
113
+ if (isReconnect) {
114
+ console.log(`Successfully reconnected to SSE stream for run ${runId}`);
115
+ }
116
+ // Reset reconnect attempts on successful connection
117
+ reconnectAttempts = 0;
118
+ };
119
+ sse.onmessage = (ev) => {
120
+ if (!ev.data || ev.data.startsWith(":")) {
121
+ console.log("Received comment or heartbeat; ignoring it.: ", ev.data);
122
+ return;
123
+ }
124
+ try {
125
+ const message = JSON.parse(ev.data);
126
+ // Update last message timestamp for reconnection
127
+ if (message.timestamp) {
128
+ lastMessageTimestamp = Math.max(lastMessageTimestamp, message.timestamp);
129
+ }
130
+ if (onMessage)
131
+ onMessage(message, exit);
132
+ const streamIsOver = message.type === AgentMessageType.TERMINATED ||
133
+ (message.type === AgentMessageType.COMPLETE &&
134
+ (!message.workstream_id || message.workstream_id === 'main'));
135
+ // Only close the stream when the main workstream completes or terminates
136
+ if (streamIsOver) {
137
+ console.log("Closing stream due to COMPLETE message from main workstream");
138
+ if (!isClosed) {
139
+ isClosed = true;
140
+ cleanup();
141
+ resolve(null);
142
+ }
143
+ }
144
+ else if (message.type === AgentMessageType.COMPLETE) {
145
+ console.log(`Received COMPLETE message from non-main workstream: ${message.workstream_id || 'unknown'}, keeping stream open`);
146
+ }
147
+ }
148
+ catch (err) {
149
+ console.error("Failed to parse SSE message:", err, ev.data);
150
+ }
151
+ };
152
+ sse.onerror = (err) => {
153
+ if (isClosed)
154
+ return;
155
+ console.warn(`SSE stream error for run ${runId}:`, err);
156
+ cleanup();
157
+ // Check if we should attempt reconnection
158
+ if (reconnectAttempts < maxReconnectAttempts) {
159
+ const delay = calculateBackoffDelay(reconnectAttempts);
160
+ console.log(`Attempting to reconnect in ${delay}ms (attempt ${reconnectAttempts + 1}/${maxReconnectAttempts})`);
161
+ reconnectAttempts++;
162
+ setTimeout(() => {
163
+ if (!isClosed) {
164
+ setupStream(true);
165
+ }
166
+ }, delay);
167
+ }
168
+ else {
169
+ console.error(`Failed to reconnect to SSE stream for run ${runId} after ${maxReconnectAttempts} attempts`);
170
+ isClosed = true;
171
+ reject(new Error(`SSE connection failed after ${maxReconnectAttempts} reconnection attempts`));
172
+ }
173
+ };
174
+ }
175
+ catch (err) {
176
+ console.error("Error setting up SSE stream:", err);
177
+ if (reconnectAttempts < maxReconnectAttempts) {
178
+ const delay = calculateBackoffDelay(reconnectAttempts);
179
+ reconnectAttempts++;
180
+ setTimeout(() => {
181
+ if (!isClosed) {
182
+ setupStream(true);
183
+ }
184
+ }, delay);
185
+ }
186
+ else {
187
+ reject(err);
188
+ }
189
+ }
190
+ };
191
+ // Start the async setup process
192
+ setupStream(false);
193
+ // Return cleanup function for external cancellation
194
+ return () => {
195
+ isClosed = true;
196
+ cleanup();
197
+ };
198
+ });
199
+ }
200
+ /**
201
+ * Stream workflow messages via WebSocket (for mobile/React Native clients)
202
+ * @param workflowId The workflow ID
203
+ * @param runId The run ID
204
+ * @param onMessage Callback for incoming messages
205
+ * @param since Optional timestamp to resume from
206
+ * @returns Promise that resolves with cleanup function and sendSignal helper
207
+ */
208
+ async streamMessagesWS(workflowId, runId, onMessage, since) {
209
+ return new Promise((resolve, reject) => {
210
+ let reconnectAttempts = 0;
211
+ const maxReconnectAttempts = 10;
212
+ const baseDelay = 1000;
213
+ const maxDelay = 30000;
214
+ let ws = null;
215
+ let lastMessageTimestamp = since || 0;
216
+ let isClosed = false;
217
+ const calculateBackoffDelay = (attempts) => {
218
+ const exponentialDelay = Math.min(baseDelay * Math.pow(2, attempts), maxDelay);
219
+ const jitter = Math.random() * 0.1 * exponentialDelay;
220
+ return exponentialDelay + jitter;
221
+ };
222
+ const connect = async () => {
223
+ if (isClosed)
224
+ return;
225
+ try {
226
+ const client = this.client;
227
+ const wsUrl = new URL(client.workflows.baseUrl + `/runs/${workflowId}/${runId}/ws`);
228
+ // Replace http/https with ws/wss
229
+ wsUrl.protocol = wsUrl.protocol.replace('http', 'ws');
230
+ // Add query parameters
231
+ if (lastMessageTimestamp > 0) {
232
+ wsUrl.searchParams.set('since', lastMessageTimestamp.toString());
233
+ }
234
+ const bearerToken = client._auth ? await client._auth() : undefined;
235
+ if (!bearerToken) {
236
+ reject(new Error('No auth token available'));
237
+ return;
238
+ }
239
+ const token = bearerToken.split(' ')[1];
240
+ wsUrl.searchParams.set('access_token', token);
241
+ if (reconnectAttempts > 0) {
242
+ console.log(`Reconnecting to WebSocket for run ${runId} (attempt ${reconnectAttempts + 1}/${maxReconnectAttempts})`);
243
+ }
244
+ ws = new WebSocket(wsUrl.href);
245
+ ws.onopen = () => {
246
+ if (reconnectAttempts > 0) {
247
+ console.log(`Successfully reconnected to WebSocket for run ${runId}`);
248
+ }
249
+ reconnectAttempts = 0;
250
+ // Resolve with helpers on first successful connection
251
+ if (!isClosed) {
252
+ resolve({
253
+ cleanup: () => {
254
+ isClosed = true;
255
+ if (ws) {
256
+ ws.close();
257
+ ws = null;
258
+ }
259
+ },
260
+ sendSignal: (signalName, data) => {
261
+ if (ws?.readyState === WebSocket.OPEN) {
262
+ const message = {
263
+ type: 'signal',
264
+ signalName,
265
+ data,
266
+ requestId: Date.now()
267
+ };
268
+ ws.send(JSON.stringify(message));
269
+ }
270
+ else {
271
+ console.warn('WebSocket not open, cannot send signal');
272
+ }
273
+ }
274
+ });
275
+ }
276
+ };
277
+ ws.onmessage = (event) => {
278
+ try {
279
+ const message = JSON.parse(event.data);
280
+ // Handle different message types
281
+ if ('workflow_run_id' in message) {
282
+ // This is an AgentMessage
283
+ const agentMessage = message;
284
+ if (agentMessage.timestamp) {
285
+ lastMessageTimestamp = Math.max(lastMessageTimestamp, agentMessage.timestamp);
286
+ }
287
+ if (onMessage)
288
+ onMessage(agentMessage);
289
+ // Check for stream completion
290
+ const streamIsOver = agentMessage.type === AgentMessageType.TERMINATED ||
291
+ (agentMessage.type === AgentMessageType.COMPLETE &&
292
+ (!agentMessage.workstream_id || agentMessage.workstream_id === 'main'));
293
+ if (streamIsOver) {
294
+ console.log('Closing WebSocket due to workflow completion');
295
+ isClosed = true;
296
+ if (ws) {
297
+ ws.close();
298
+ ws = null;
299
+ }
300
+ }
301
+ }
302
+ else if (message.type === 'pong') {
303
+ // Heartbeat response
304
+ console.debug('Received pong');
305
+ }
306
+ else if (message.type === 'ack') {
307
+ console.debug('Signal acknowledged', message);
308
+ }
309
+ else if (message.type === 'error') {
310
+ console.error('WebSocket error message', message);
311
+ }
312
+ }
313
+ catch (err) {
314
+ console.error('Failed to parse WebSocket message', err);
315
+ }
316
+ };
317
+ ws.onerror = (err) => {
318
+ console.error('WebSocket error', err);
319
+ };
320
+ ws.onclose = () => {
321
+ if (!isClosed && reconnectAttempts < maxReconnectAttempts) {
322
+ const delay = calculateBackoffDelay(reconnectAttempts);
323
+ console.log(`WebSocket closed, reconnecting in ${delay}ms (attempt ${reconnectAttempts + 1}/${maxReconnectAttempts})`);
324
+ reconnectAttempts++;
325
+ setTimeout(connect, delay);
326
+ }
327
+ else if (reconnectAttempts >= maxReconnectAttempts) {
328
+ reject(new Error(`WebSocket connection failed after ${maxReconnectAttempts} attempts`));
329
+ }
330
+ };
331
+ }
332
+ catch (err) {
333
+ console.error('Error setting up WebSocket', err);
334
+ if (reconnectAttempts < maxReconnectAttempts) {
335
+ const delay = calculateBackoffDelay(reconnectAttempts);
336
+ reconnectAttempts++;
337
+ setTimeout(connect, delay);
338
+ }
339
+ else {
340
+ reject(err);
341
+ }
342
+ }
343
+ };
344
+ connect();
345
+ });
346
+ }
347
+ rules = new WorkflowsRulesApi(this);
348
+ definitions = new WorkflowsDefinitionApi(this);
349
+ }
350
+ export class WorkflowsRulesApi extends ApiTopic {
351
+ constructor(parent) {
352
+ super(parent, "/rules");
353
+ }
354
+ list() {
355
+ return this.get("/");
356
+ }
357
+ retrieve(id) {
358
+ return this.get(`/${id}`);
359
+ }
360
+ update(id, payload) {
361
+ return this.put(`/${id}`, {
362
+ payload,
363
+ });
364
+ }
365
+ create(payload) {
366
+ return this.post("/", {
367
+ payload,
368
+ });
369
+ }
370
+ delete(id) {
371
+ return this.del(`/${id}`);
372
+ }
373
+ execute(id, objectIds, vars) {
374
+ const payload = {
375
+ objectIds,
376
+ vars,
377
+ };
378
+ return this.post(`/${id}/execute`, { payload });
379
+ }
380
+ }
381
+ export class WorkflowsDefinitionApi extends ApiTopic {
382
+ //model: DSLWorkflowDefinition;
383
+ constructor(parent) {
384
+ super(parent, "/definitions");
385
+ }
386
+ list() {
387
+ return this.get("/");
388
+ }
389
+ retrieve(id) {
390
+ return this.get(`/${id}`);
391
+ }
392
+ update(id, payload) {
393
+ return this.put(`/${id}`, {
394
+ payload,
395
+ });
396
+ }
397
+ create(payload) {
398
+ return this.post("/", {
399
+ payload,
400
+ });
401
+ }
402
+ delete(id) {
403
+ return this.del(`/${id}`);
404
+ }
405
+ }
406
+ //# sourceMappingURL=WorkflowsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowsApi.js","sourceRoot":"","sources":["../../../src/store/WorkflowsApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { AbstractFetchClient } from "@vertesia/api-fetch-client";
2
+ import { AgentsApi } from "./AgentsApi.js";
3
+ import { CommandsApi } from "./CommandsApi.js";
4
+ import { EmbeddingsApi } from "./EmbeddingsApi.js";
5
+ import { ZenoClientNotFoundError } from "./errors.js";
6
+ import { FilesApi } from "./FilesApi.js";
7
+ import { ObjectsApi } from "./ObjectsApi.js";
8
+ import { TypesApi } from "./TypesApi.js";
9
+ import { WorkflowsApi } from "./WorkflowsApi.js";
10
+ import { CollectionsApi } from "./CollectionsApi.js";
11
+ function ensureDefined(serverUrl) {
12
+ if (!serverUrl) {
13
+ throw new Error("zeno client serverUrl is required");
14
+ }
15
+ return serverUrl;
16
+ }
17
+ export class ZenoClient extends AbstractFetchClient {
18
+ constructor(opts = {}) {
19
+ super(ensureDefined(opts.serverUrl));
20
+ if (opts.apikey) {
21
+ this.withApiKey(opts.apikey);
22
+ }
23
+ this.onRequest = opts.onRequest;
24
+ this.onResponse = opts.onResponse;
25
+ this.errorFactory = (err) => {
26
+ if (err.status === 404) {
27
+ return new ZenoClientNotFoundError(err.request, err);
28
+ }
29
+ else {
30
+ return err;
31
+ }
32
+ };
33
+ }
34
+ withApiKey(apiKey) {
35
+ return this.withAuthCallback(apiKey ? () => Promise.resolve(`Bearer ${apiKey}`) : undefined);
36
+ }
37
+ runOperation(payload) {
38
+ return this.post("/api/v1/operations", {
39
+ payload
40
+ });
41
+ }
42
+ get initialHeaders() {
43
+ return {
44
+ ...super.initialHeaders,
45
+ 'X-Api-Version': '20250925' // YYYYMMDD, client versioning for API endpoints. Increment manually for breaking changes
46
+ };
47
+ }
48
+ objects = new ObjectsApi(this);
49
+ types = new TypesApi(this);
50
+ workflows = new WorkflowsApi(this);
51
+ files = new FilesApi(this);
52
+ commands = new CommandsApi(this);
53
+ agents = new AgentsApi(this);
54
+ collections = new CollectionsApi(this);
55
+ embeddings = new EmbeddingsApi(this);
56
+ }
57
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/store/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAgB,MAAM,4BAA4B,CAAC;AAE/E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAUrD,SAAS,aAAa,CAAC,SAA6B;IAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,OAAO,UAAW,SAAQ,mBAA+B;IAE3D,YACI,OAAwB,EAAE;QAE1B,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,CAAC,GAAiB,EAAE,EAAE;YACtC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACrB,OAAO,IAAI,uBAAuB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,CAAC;YACf,CAAC;QACL,CAAC,CAAA;IACL,CAAC;IAED,UAAU,CAAC,MAAqB;QAC5B,OAAO,IAAI,CAAC,gBAAgB,CACxB,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CACjE,CAAC;IACN,CAAC;IAED,YAAY,CAAC,OAA6B;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACnC,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAED,IAAI,cAAc;QACd,OAAO;YACH,GAAG,KAAK,CAAC,cAAc;YACvB,eAAe,EAAE,UAAU,CAAC,yFAAyF;SACxH,CAAA;IACL,CAAC;IAED,OAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,SAAS,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IACvC,UAAU,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;CACxC"}
@@ -0,0 +1,7 @@
1
+ import { RequestError } from "@vertesia/api-fetch-client";
2
+ export class ZenoClientNotFoundError extends RequestError {
3
+ constructor(req, error) {
4
+ super("Resource not found: " + error.message, req, 404, error.payload);
5
+ }
6
+ }
7
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/store/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,MAAM,OAAO,uBAAwB,SAAQ,YAAY;IACrD,YAAY,GAAY,EAAE,KAAmB;QACzC,KAAK,CAAC,sBAAsB,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3E,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ export * from "./client.js";
2
+ export * from "./CommandsApi.js";
3
+ export * from "./ObjectsApi.js";
4
+ export * from "./TypesApi.js";
5
+ export * from "./WorkflowsApi.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export const VERSION = '20250925'; // YYYYMMDD, client versioning for API endpoints. Increment manually for breaking changes
2
+ export const VERSION_HEADER = 'x-api-version';
3
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/store/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAA,CAAC,yFAAyF;AAC3H,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC"}