@vertesia/client 0.78.0-dev-9372725 → 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,327 @@
1
+ import { AbstractFetchClient } from "@vertesia/api-fetch-client";
2
+ import AccountApi from "./AccountApi.js";
3
+ import AccountsApi from "./AccountsApi.js";
4
+ import AnalyticsApi from "./AnalyticsApi.js";
5
+ import { ApiKeysApi } from "./ApiKeysApi.js";
6
+ import AppsApi from "./AppsApi.js";
7
+ import CommandsApi from "./CommandsApi.js";
8
+ import EnvironmentsApi from "./EnvironmentsApi.js";
9
+ import { IamApi } from "./IamApi.js";
10
+ import InteractionsApi from "./InteractionsApi.js";
11
+ import ProjectsApi from "./ProjectsApi.js";
12
+ import PromptsApi from "./PromptsApi.js";
13
+ import { RefsApi } from "./RefsApi.js";
14
+ import { RunsApi } from "./RunsApi.js";
15
+ import { ZenoClient } from "./store/client.js";
16
+ import TrainingApi from "./TrainingApi.js";
17
+ import UsersApi from "./UsersApi.js";
18
+ /**
19
+ * 1 min threshold constant in ms
20
+ */
21
+ const EXPIRATION_THRESHOLD = 60000;
22
+ export class VertesiaClient extends AbstractFetchClient {
23
+ /**
24
+ * The JWT token linked to the API KEY (sk or pk)
25
+ */
26
+ _jwt = null;
27
+ /**
28
+ * The store client
29
+ */
30
+ store;
31
+ /**
32
+ * The session name will be sent when executing an interaction as a tag
33
+ */
34
+ sessionTags;
35
+ /**
36
+ * tokenServerUrl
37
+ */
38
+ tokenServerUrl;
39
+ /**
40
+ * Create a client from the given token.
41
+ * If you already have the decoded token you can pass it as the second argument to avoid decodinf it again.
42
+ *
43
+ * @param token the raw JWT token
44
+ * @param payload the decoded JWT token as an AuthTokenPayload - optional
45
+ */
46
+ static async fromAuthToken(token, payload) {
47
+ if (!payload) {
48
+ payload = decodeJWT(token);
49
+ }
50
+ const endpoints = decodeEndpoints(payload.endpoints);
51
+ return await new VertesiaClient({
52
+ serverUrl: endpoints.studio,
53
+ storeUrl: endpoints.store,
54
+ tokenServerUrl: payload.iss,
55
+ }).withApiKey(token);
56
+ }
57
+ static decodeEndpoints() { }
58
+ constructor(opts = {
59
+ site: "api.vertesia.io",
60
+ }) {
61
+ let studioServerUrl;
62
+ let zenoServerUrl;
63
+ if (opts.serverUrl) {
64
+ studioServerUrl = opts.serverUrl;
65
+ }
66
+ else if (opts.site) {
67
+ studioServerUrl = `https://${opts.site}`;
68
+ }
69
+ else {
70
+ throw new Error("Parameter 'site' or 'serverUrl' is required for VertesiaClient");
71
+ }
72
+ if (opts.storeUrl) {
73
+ zenoServerUrl = opts.storeUrl;
74
+ }
75
+ else if (opts.site) {
76
+ zenoServerUrl = `https://${opts.site}`;
77
+ }
78
+ else {
79
+ throw new Error("Parameter 'site' or 'storeUrl' is required for VertesiaClient");
80
+ }
81
+ super(studioServerUrl);
82
+ if (opts.tokenServerUrl) {
83
+ this.tokenServerUrl = opts.tokenServerUrl;
84
+ }
85
+ else if (opts.site) {
86
+ this.tokenServerUrl = `https://${opts.site.replace(/^api/, "sts")}`;
87
+ }
88
+ else if (opts.serverUrl || opts.storeUrl) {
89
+ // Determine STS URL based on environment in serverUrl or storeUrl
90
+ const urlToCheck = opts.serverUrl || opts.storeUrl || "";
91
+ try {
92
+ const url = new URL(urlToCheck);
93
+ // Check for environment patterns
94
+ if (url.hostname.includes("-production.")) {
95
+ // zeno-server-production.api.vertesia.io -> sts.vertesia.io
96
+ this.tokenServerUrl = "https://sts.vertesia.io";
97
+ }
98
+ else if (url.hostname.includes("-preview.")) {
99
+ // zeno-server-preview.api.vertesia.io -> sts-preview.vertesia.io
100
+ this.tokenServerUrl = "https://sts-preview.vertesia.io";
101
+ }
102
+ else if (url.hostname === "api.vertesia.io") {
103
+ // api.vertesia.io -> sts.vertesia.io
104
+ this.tokenServerUrl = "https://sts.vertesia.io";
105
+ }
106
+ else if (url.hostname === "api-preview.vertesia.io") {
107
+ // api-preview.vertesia.io -> sts-preview.vertesia.io
108
+ this.tokenServerUrl = "https://sts-preview.vertesia.io";
109
+ }
110
+ else if (url.hostname === "api-staging.vertesia.io") {
111
+ // api-staging.vertesia.io -> sts-staging.vertesia.io
112
+ this.tokenServerUrl = "https://sts-staging.vertesia.io";
113
+ }
114
+ else if (url.hostname.startsWith("api")) {
115
+ // Generic api.* pattern replacement
116
+ url.hostname = url.hostname.replace(/^api/, "sts");
117
+ this.tokenServerUrl = url.toString();
118
+ }
119
+ else {
120
+ // Default to staging for everything else
121
+ this.tokenServerUrl = "https://sts-staging.vertesia.io";
122
+ }
123
+ }
124
+ catch (e) {
125
+ // Default to staging if URL parsing fails
126
+ this.tokenServerUrl = "https://sts-staging.vertesia.io";
127
+ }
128
+ }
129
+ else {
130
+ // Default to staging if no URL provided
131
+ this.tokenServerUrl = "https://sts-staging.vertesia.io";
132
+ }
133
+ this.store = new ZenoClient({
134
+ serverUrl: zenoServerUrl,
135
+ tokenServerUrl: this.tokenServerUrl,
136
+ apikey: opts.apikey,
137
+ onRequest: opts.onRequest,
138
+ onResponse: opts.onResponse,
139
+ });
140
+ if (opts.apikey) {
141
+ this.withApiKey(opts.apikey);
142
+ }
143
+ this.onRequest = opts.onRequest;
144
+ this.onResponse = opts.onResponse;
145
+ this.sessionTags = opts.sessionTags;
146
+ }
147
+ /**
148
+ * Overwrite to keep store and composable clients synchronized on the auth callback
149
+ * @param authCb
150
+ * @returns
151
+ */
152
+ withAuthCallback(authCb) {
153
+ this.store.withAuthCallback(authCb);
154
+ return super.withAuthCallback(authCb);
155
+ }
156
+ async withApiKey(apiKey) {
157
+ return this.withAuthCallback(apiKey
158
+ ? async () => {
159
+ if (!isApiKey(apiKey)) {
160
+ return `Bearer ${apiKey}`;
161
+ }
162
+ if (isTokenExpired(this._jwt)) {
163
+ const jwt = await this.getAuthToken(apiKey);
164
+ this._jwt = jwt.token;
165
+ }
166
+ return `Bearer ${this._jwt}`;
167
+ }
168
+ : undefined);
169
+ }
170
+ async getRawJWT() {
171
+ if (!this._jwt && this._auth) {
172
+ const auth = await this._auth();
173
+ if (!this._jwt) {
174
+ // the _jwt may be set by the auth callback
175
+ this._jwt = auth.trim().split(" ")[1]; // remove Bearer prefix
176
+ }
177
+ }
178
+ return this._jwt || null;
179
+ }
180
+ async getDecodedJWT() {
181
+ const jwt = await this.getRawJWT();
182
+ return jwt ? decodeJWT(jwt) : null;
183
+ }
184
+ async getProject() {
185
+ const jwt = await this.getDecodedJWT();
186
+ return jwt?.project || null;
187
+ }
188
+ async getAccount() {
189
+ const jwt = await this.getDecodedJWT();
190
+ return jwt?.account || null;
191
+ }
192
+ /**
193
+ * Alias for store.workflows
194
+ */
195
+ get workflows() {
196
+ return this.store.workflows;
197
+ }
198
+ /**
199
+ * Alias for store.objects
200
+ */
201
+ get objects() {
202
+ return this.store.objects;
203
+ }
204
+ get files() {
205
+ return this.store.files;
206
+ }
207
+ /**
208
+ * Alias for store.types
209
+ */
210
+ get types() {
211
+ return this.store.types;
212
+ }
213
+ get storeUrl() {
214
+ return this.store.baseUrl;
215
+ }
216
+ /**
217
+ *
218
+ * Generate a token for use with other Vertesia's services
219
+ *
220
+ * @returns AuthTokenResponse
221
+ */
222
+ async getAuthToken(token) {
223
+ return fetch(`${this.tokenServerUrl}/token/issue`, {
224
+ method: "POST",
225
+ headers: {
226
+ "Content-Type": "application/json",
227
+ Authorization: `Bearer ${token}`,
228
+ },
229
+ })
230
+ .then((response) => response.json())
231
+ .then((data) => data)
232
+ .catch((error) => {
233
+ console.error(`Error fetching token from ${this.tokenServerUrl}:`, { error });
234
+ throw error;
235
+ });
236
+ }
237
+ get initialHeaders() {
238
+ return {
239
+ ...super.initialHeaders,
240
+ 'X-Api-Version': '20250925' // YYYYMMDD, client versioning for API endpoints. Increment manually for breaking changes
241
+ };
242
+ }
243
+ projects = new ProjectsApi(this);
244
+ environments = new EnvironmentsApi(this);
245
+ interactions = new InteractionsApi(this);
246
+ prompts = new PromptsApi(this);
247
+ runs = new RunsApi(this);
248
+ account = new AccountApi(this);
249
+ accounts = new AccountsApi(this);
250
+ apikeys = new ApiKeysApi(this);
251
+ analytics = new AnalyticsApi(this);
252
+ training = new TrainingApi(this);
253
+ users = new UsersApi(this);
254
+ iam = new IamApi(this);
255
+ refs = new RefsApi(this);
256
+ commands = new CommandsApi(this);
257
+ apps = new AppsApi(this);
258
+ }
259
+ function isApiKey(apiKey) {
260
+ return apiKey.startsWith("pk-") || apiKey.startsWith("sk-");
261
+ }
262
+ function isTokenExpired(token) {
263
+ if (!token) {
264
+ return true;
265
+ }
266
+ const decoded = decodeJWT(token);
267
+ const exp = decoded.exp;
268
+ const currentTime = Date.now();
269
+ return currentTime <= exp * 1000 - EXPIRATION_THRESHOLD;
270
+ }
271
+ export function decodeJWT(jwt) {
272
+ const payloadBase64 = jwt.split(".")[1];
273
+ const decodedJson = base64UrlDecode(payloadBase64);
274
+ return JSON.parse(decodedJson);
275
+ }
276
+ function base64UrlDecode(input) {
277
+ // Convert base64url to base64
278
+ const base64 = input
279
+ .replace(/-/g, "+")
280
+ .replace(/_/g, "/")
281
+ // Pad with '=' to make length a multiple of 4
282
+ .padEnd(Math.ceil(input.length / 4) * 4, "=");
283
+ if (typeof Buffer !== "undefined") {
284
+ // Node.js
285
+ return Buffer.from(base64, "base64").toString("utf-8");
286
+ }
287
+ else if (typeof atob !== "undefined" &&
288
+ typeof TextDecoder !== "undefined") {
289
+ // Browser
290
+ const binary = atob(base64);
291
+ const bytes = Uint8Array.from(binary, (c) => c.charCodeAt(0));
292
+ // decode to utf8
293
+ return new TextDecoder().decode(bytes);
294
+ }
295
+ else {
296
+ throw new Error("No base64 decoder available");
297
+ }
298
+ }
299
+ export function decodeEndpoints(endpoints) {
300
+ if (!endpoints) {
301
+ return getEndpointsFromDomain("api.vertesia.io");
302
+ }
303
+ if (typeof endpoints === "string") {
304
+ return getEndpointsFromDomain(endpoints);
305
+ }
306
+ else {
307
+ return endpoints;
308
+ }
309
+ }
310
+ function getEndpointsFromDomain(domain) {
311
+ if (domain === "local") {
312
+ return {
313
+ studio: `http://localhost:8091`,
314
+ store: `http://localhost:8092`,
315
+ token: process.env.STS_URL ?? "https://sts-staging.vertesia.io",
316
+ };
317
+ }
318
+ else {
319
+ const url = `https://${domain}`;
320
+ return {
321
+ studio: url,
322
+ store: url,
323
+ token: url.replace("api", "sts"),
324
+ };
325
+ }
326
+ }
327
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ import { ExecutionRunStatus } from '@vertesia/common';
2
+ export async function EventSourceProvider() {
3
+ if (typeof globalThis.EventSource === 'function') {
4
+ return globalThis.EventSource;
5
+ }
6
+ else {
7
+ return (await import('eventsource')).EventSource;
8
+ }
9
+ }
10
+ /**
11
+ *
12
+ * Execute an interaction and return a promise which will be resolved with the executed run when
13
+ * the run completes or fails.
14
+ * If the onChunk callback is passed then the streaming of the result is enabled.
15
+ * The onChunk callback with be called with the next chunk of the result as soon as it is available.
16
+ * When all chunks are received the function will return the resolved promise
17
+ * @param id of the interaction to execute
18
+ * @param payload InteractionExecutionPayload
19
+ * @param onChunk callback to be called when the next chunk of the response is available
20
+ */
21
+ export async function executeInteraction(client, interactionId, payload = {}, onChunk) {
22
+ const stream = !!onChunk;
23
+ const response = await client.runs.create({
24
+ ...payload, interaction: interactionId, stream
25
+ });
26
+ if (stream) {
27
+ if (response.status === ExecutionRunStatus.failed) {
28
+ return response;
29
+ }
30
+ await handleStreaming(client, response.id, onChunk);
31
+ }
32
+ return response;
33
+ }
34
+ /**
35
+ * Same as executeInteraction but uses the interaction name selector instead of the id.
36
+ * A name selector is the interaction endpoint name suffixed with an optional tag or version which is starting with a `@` character.
37
+ * The special `draft` tag is used to select the draft version of the interaction. If no tag or version is specified then the latest version is selected.
38
+ * Examples of selectors:
39
+ * - `ReviewContract` - select the latest version of the ReviewContract interaction
40
+ * - `ReviewContract@1` - select the version 1 of the ReviewContract interaction
41
+ * - `ReviewContract@draft` - select the draft version of the ReviewContract interaction
42
+ * - `ReviewContract@fixed` - select the ReviewContract interaction which is tagged with 'fixed' tag.
43
+ *
44
+ * @param client
45
+ * @param interaction
46
+ * @param payload
47
+ * @param onChunk
48
+ * @returns
49
+ */
50
+ export async function executeInteractionByName(client, interaction, payload = {}, onChunk) {
51
+ const stream = !!onChunk;
52
+ const response = await client.post('/api/v1/execute', {
53
+ payload: {
54
+ ...payload,
55
+ interaction,
56
+ stream
57
+ },
58
+ });
59
+ if (stream) {
60
+ if (response.status === ExecutionRunStatus.failed) {
61
+ return response;
62
+ }
63
+ await handleStreaming(client, response.id, onChunk);
64
+ }
65
+ return response;
66
+ }
67
+ function handleStreaming(client, runId, onChunk) {
68
+ return new Promise(async (resolve, reject) => {
69
+ try {
70
+ const EventSourceImpl = await EventSourceProvider();
71
+ const streamUrl = new URL(client.runs.baseUrl + '/' + runId + '/stream');
72
+ const bearerToken = client._auth ? await client._auth() : undefined;
73
+ if (bearerToken) {
74
+ const token = bearerToken.split(' ')[1];
75
+ streamUrl.searchParams.set('access_token', token);
76
+ }
77
+ else {
78
+ throw new Error('No auth token available');
79
+ }
80
+ const sse = new EventSourceImpl(streamUrl.href);
81
+ sse.addEventListener("message", ev => {
82
+ try {
83
+ const data = JSON.parse(ev.data);
84
+ if (data) {
85
+ onChunk && onChunk(data);
86
+ }
87
+ }
88
+ catch (err) {
89
+ reject(err);
90
+ }
91
+ });
92
+ sse.addEventListener("close", (ev) => {
93
+ try {
94
+ sse.close();
95
+ const msg = JSON.parse(ev.data);
96
+ resolve(msg);
97
+ }
98
+ catch (err) {
99
+ reject(err);
100
+ }
101
+ });
102
+ }
103
+ catch (err) {
104
+ reject(err);
105
+ }
106
+ });
107
+ }
108
+ export async function executeInteractionAsync(client, payload) {
109
+ return await client.post('/api/v1/execute/async', {
110
+ payload,
111
+ });
112
+ }
113
+ export async function checkRateLimit(client, payload) {
114
+ return await client.post('/api/v1/execute/rate-limit/request', {
115
+ payload
116
+ });
117
+ }
118
+ //# sourceMappingURL=execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/execute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './client.js';
2
+ export * from './InteractionBase.js';
3
+ export * from "./store/index.js";
4
+ export * from "./StreamSource.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AAKrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { ReadableStream as NodeReadableStream } from "node:stream/web";
2
+ import { StreamSource } from "../StreamSource.js";
3
+ /**
4
+ * A stream source that wraps a Node.js Readable stream.
5
+ * This class is only works in Node.js environments.
6
+ */
7
+ export class NodeStreamSource extends StreamSource {
8
+ constructor(stream, name, type, id) {
9
+ super(readableToWebStream(stream), name, type, id);
10
+ }
11
+ }
12
+ function readableToWebStream(stream) {
13
+ if (NodeReadableStream.from) {
14
+ return NodeReadableStream.from(stream);
15
+ }
16
+ else {
17
+ return readableToWebStream_BUN(stream);
18
+ }
19
+ }
20
+ /**
21
+ * Bun implementation since bun is not yet supporting NodeReadableStream.from
22
+ * @returns
23
+ */
24
+ function readableToWebStream_BUN(stream) {
25
+ const it = stream[Symbol.asyncIterator]();
26
+ return new ReadableStream({
27
+ async pull(controller) {
28
+ const { value, done } = await it.next();
29
+ if (done) {
30
+ controller.close();
31
+ }
32
+ else {
33
+ controller.enqueue(value);
34
+ }
35
+ },
36
+ cancel() {
37
+ it.return?.();
38
+ }
39
+ });
40
+ }
41
+ //# sourceMappingURL=NodeStreamSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeStreamSource.js","sourceRoot":"","sources":["../../../src/nodejs/NodeStreamSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAC9C,YAAY,MAAgB,EAAE,IAAY,EAAE,IAAa,EAAE,EAAW;QAClE,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;CACJ;AAED,SAAS,mBAAmB,CAAsB,MAAgB;IAC9D,IAAI,kBAAkB,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAsB,CAAC;IAChE,CAAC;SAAM,CAAC;QACJ,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAAsB,MAAgB;IAClE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAC1C,OAAO,IAAI,cAAc,CAAI;QACzB,KAAK,CAAC,IAAI,CAAC,UAAU;YACjB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,IAAI,EAAE,CAAC;gBACP,UAAU,CAAC,KAAK,EAAE,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACJ,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QACD,MAAM;YACF,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;QAClB,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./NodeStreamSource.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nodejs/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { ApiTopic } from "@vertesia/api-fetch-client";
2
+ export class AgentsApi extends ApiTopic {
3
+ constructor(parent) {
4
+ super(parent, "/api/v1/agents");
5
+ }
6
+ async deploy(payload) {
7
+ return this.post('/', {
8
+ payload
9
+ });
10
+ }
11
+ }
12
+ //# sourceMappingURL=AgentsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentsApi.js","sourceRoot":"","sources":["../../../src/store/AgentsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,4BAA4B,CAAC;AAIlE,MAAM,OAAO,SAAU,SAAQ,QAAQ;IAEnC,YAAY,MAAkB;QAC1B,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAqC;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YAClB,OAAO;SACV,CAAC,CAAC;IACP,CAAC;CAEJ"}
@@ -0,0 +1,52 @@
1
+ import { ApiTopic } from "@vertesia/api-fetch-client";
2
+ export class AnalyzeDocApi extends ApiTopic {
3
+ objectId;
4
+ constructor(parent, objectId) {
5
+ super(parent, `/${objectId}/analyze`);
6
+ this.objectId = objectId;
7
+ }
8
+ async start(payload) {
9
+ return this.post("/", { payload });
10
+ }
11
+ async getStatus() {
12
+ return this.get("/status");
13
+ }
14
+ async getResults() {
15
+ return this.get("/results");
16
+ }
17
+ async adaptTables(payload) {
18
+ return this.post("/adapt_tables", { payload });
19
+ }
20
+ async getAdaptedTables(runId, query) {
21
+ const path = runId ? `/adapt_tables/${runId}` : "/adapt_tables";
22
+ // Build query parameters
23
+ const queryParams = {};
24
+ if (query?.format)
25
+ queryParams.format = query.format;
26
+ if (query?.raw !== undefined)
27
+ queryParams.raw = query.raw;
28
+ // If format is CSV, set response type to text to avoid automatic JSON parsing
29
+ const options = { query: queryParams };
30
+ if (query?.format === 'csv') {
31
+ options.responseType = 'text';
32
+ }
33
+ return this.get(path, options);
34
+ }
35
+ async getXml() {
36
+ return this.get("/xml");
37
+ }
38
+ async getTables(format) {
39
+ const options = {};
40
+ if (format) {
41
+ options.query = { format: format };
42
+ }
43
+ return this.get("/tables", options);
44
+ }
45
+ async getImages() {
46
+ return this.get("/images");
47
+ }
48
+ async getAnnotated() {
49
+ return this.get("/annotated");
50
+ }
51
+ }
52
+ //# sourceMappingURL=AnalyzeDocApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnalyzeDocApi.js","sourceRoot":"","sources":["../../../src/store/AnalyzeDocApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,4BAA4B,CAAC;AAGlE,MAAM,OAAO,aAAc,SAAQ,QAAQ;IACA;IAAvC,YAAY,MAAkB,EAAS,QAAgB;QACnD,KAAK,CAAC,MAAM,EAAE,IAAI,QAAQ,UAAU,CAAC,CAAC;QADH,aAAQ,GAAR,QAAQ,CAAQ;IAEvD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAA6B;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA2B;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAc,EAAE,KAAoC;QACvE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;QAEhE,yBAAyB;QACzB,MAAM,WAAW,GAAQ,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM;YAAE,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACrD,IAAI,KAAK,EAAE,GAAG,KAAK,SAAS;YAAE,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAE1D,8EAA8E;QAC9E,MAAM,OAAO,GAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QAC5C,IAAI,KAAK,EAAE,MAAM,KAAK,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAA2B;QACvC,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,GAAG,EAAC,MAAM,EAAE,MAAM,EAAC,CAAA;QACpC,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;CACJ"}