@vertesia/client 0.80.1 → 0.81.0

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