@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,336 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.VertesiaClient = void 0;
7
+ exports.decodeJWT = decodeJWT;
8
+ exports.decodeEndpoints = decodeEndpoints;
9
+ const api_fetch_client_1 = require("@vertesia/api-fetch-client");
10
+ const AccountApi_js_1 = __importDefault(require("./AccountApi.js"));
11
+ const AccountsApi_js_1 = __importDefault(require("./AccountsApi.js"));
12
+ const AnalyticsApi_js_1 = __importDefault(require("./AnalyticsApi.js"));
13
+ const ApiKeysApi_js_1 = require("./ApiKeysApi.js");
14
+ const AppsApi_js_1 = __importDefault(require("./AppsApi.js"));
15
+ const CommandsApi_js_1 = __importDefault(require("./CommandsApi.js"));
16
+ const EnvironmentsApi_js_1 = __importDefault(require("./EnvironmentsApi.js"));
17
+ const IamApi_js_1 = require("./IamApi.js");
18
+ const InteractionsApi_js_1 = __importDefault(require("./InteractionsApi.js"));
19
+ const ProjectsApi_js_1 = __importDefault(require("./ProjectsApi.js"));
20
+ const PromptsApi_js_1 = __importDefault(require("./PromptsApi.js"));
21
+ const RefsApi_js_1 = require("./RefsApi.js");
22
+ const RunsApi_js_1 = require("./RunsApi.js");
23
+ const client_js_1 = require("./store/client.js");
24
+ const TrainingApi_js_1 = __importDefault(require("./TrainingApi.js"));
25
+ const UsersApi_js_1 = __importDefault(require("./UsersApi.js"));
26
+ /**
27
+ * 1 min threshold constant in ms
28
+ */
29
+ const EXPIRATION_THRESHOLD = 60000;
30
+ class VertesiaClient extends api_fetch_client_1.AbstractFetchClient {
31
+ /**
32
+ * The JWT token linked to the API KEY (sk or pk)
33
+ */
34
+ _jwt = null;
35
+ /**
36
+ * The store client
37
+ */
38
+ store;
39
+ /**
40
+ * The session name will be sent when executing an interaction as a tag
41
+ */
42
+ sessionTags;
43
+ /**
44
+ * tokenServerUrl
45
+ */
46
+ tokenServerUrl;
47
+ /**
48
+ * Create a client from the given token.
49
+ * If you already have the decoded token you can pass it as the second argument to avoid decodinf it again.
50
+ *
51
+ * @param token the raw JWT token
52
+ * @param payload the decoded JWT token as an AuthTokenPayload - optional
53
+ */
54
+ static async fromAuthToken(token, payload) {
55
+ if (!payload) {
56
+ payload = decodeJWT(token);
57
+ }
58
+ const endpoints = decodeEndpoints(payload.endpoints);
59
+ return await new VertesiaClient({
60
+ serverUrl: endpoints.studio,
61
+ storeUrl: endpoints.store,
62
+ tokenServerUrl: payload.iss,
63
+ }).withApiKey(token);
64
+ }
65
+ static decodeEndpoints() { }
66
+ constructor(opts = {
67
+ site: "api.vertesia.io",
68
+ }) {
69
+ let studioServerUrl;
70
+ let zenoServerUrl;
71
+ if (opts.serverUrl) {
72
+ studioServerUrl = opts.serverUrl;
73
+ }
74
+ else if (opts.site) {
75
+ studioServerUrl = `https://${opts.site}`;
76
+ }
77
+ else {
78
+ throw new Error("Parameter 'site' or 'serverUrl' is required for VertesiaClient");
79
+ }
80
+ if (opts.storeUrl) {
81
+ zenoServerUrl = opts.storeUrl;
82
+ }
83
+ else if (opts.site) {
84
+ zenoServerUrl = `https://${opts.site}`;
85
+ }
86
+ else {
87
+ throw new Error("Parameter 'site' or 'storeUrl' is required for VertesiaClient");
88
+ }
89
+ super(studioServerUrl);
90
+ if (opts.tokenServerUrl) {
91
+ this.tokenServerUrl = opts.tokenServerUrl;
92
+ }
93
+ else if (opts.site) {
94
+ this.tokenServerUrl = `https://${opts.site.replace(/^api/, "sts")}`;
95
+ }
96
+ else if (opts.serverUrl || opts.storeUrl) {
97
+ // Determine STS URL based on environment in serverUrl or storeUrl
98
+ const urlToCheck = opts.serverUrl || opts.storeUrl || "";
99
+ try {
100
+ const url = new URL(urlToCheck);
101
+ // Check for environment patterns
102
+ if (url.hostname.includes("-production.")) {
103
+ // zeno-server-production.api.vertesia.io -> sts.vertesia.io
104
+ this.tokenServerUrl = "https://sts.vertesia.io";
105
+ }
106
+ else if (url.hostname.includes("-preview.")) {
107
+ // zeno-server-preview.api.vertesia.io -> sts-preview.vertesia.io
108
+ this.tokenServerUrl = "https://sts-preview.vertesia.io";
109
+ }
110
+ else if (url.hostname === "api.vertesia.io") {
111
+ // api.vertesia.io -> sts.vertesia.io
112
+ this.tokenServerUrl = "https://sts.vertesia.io";
113
+ }
114
+ else if (url.hostname === "api-preview.vertesia.io") {
115
+ // api-preview.vertesia.io -> sts-preview.vertesia.io
116
+ this.tokenServerUrl = "https://sts-preview.vertesia.io";
117
+ }
118
+ else if (url.hostname === "api-staging.vertesia.io") {
119
+ // api-staging.vertesia.io -> sts-staging.vertesia.io
120
+ this.tokenServerUrl = "https://sts-staging.vertesia.io";
121
+ }
122
+ else if (url.hostname.startsWith("api")) {
123
+ // Generic api.* pattern replacement
124
+ url.hostname = url.hostname.replace(/^api/, "sts");
125
+ this.tokenServerUrl = url.toString();
126
+ }
127
+ else {
128
+ // Default to staging for everything else
129
+ this.tokenServerUrl = "https://sts-staging.vertesia.io";
130
+ }
131
+ }
132
+ catch (e) {
133
+ // Default to staging if URL parsing fails
134
+ this.tokenServerUrl = "https://sts-staging.vertesia.io";
135
+ }
136
+ }
137
+ else {
138
+ // Default to staging if no URL provided
139
+ this.tokenServerUrl = "https://sts-staging.vertesia.io";
140
+ }
141
+ this.store = new client_js_1.ZenoClient({
142
+ serverUrl: zenoServerUrl,
143
+ tokenServerUrl: this.tokenServerUrl,
144
+ apikey: opts.apikey,
145
+ onRequest: opts.onRequest,
146
+ onResponse: opts.onResponse,
147
+ });
148
+ if (opts.apikey) {
149
+ this.withApiKey(opts.apikey);
150
+ }
151
+ this.onRequest = opts.onRequest;
152
+ this.onResponse = opts.onResponse;
153
+ this.sessionTags = opts.sessionTags;
154
+ }
155
+ /**
156
+ * Overwrite to keep store and composable clients synchronized on the auth callback
157
+ * @param authCb
158
+ * @returns
159
+ */
160
+ withAuthCallback(authCb) {
161
+ this.store.withAuthCallback(authCb);
162
+ return super.withAuthCallback(authCb);
163
+ }
164
+ async withApiKey(apiKey) {
165
+ return this.withAuthCallback(apiKey
166
+ ? async () => {
167
+ if (!isApiKey(apiKey)) {
168
+ return `Bearer ${apiKey}`;
169
+ }
170
+ if (isTokenExpired(this._jwt)) {
171
+ const jwt = await this.getAuthToken(apiKey);
172
+ this._jwt = jwt.token;
173
+ }
174
+ return `Bearer ${this._jwt}`;
175
+ }
176
+ : undefined);
177
+ }
178
+ async getRawJWT() {
179
+ if (!this._jwt && this._auth) {
180
+ const auth = await this._auth();
181
+ if (!this._jwt) {
182
+ // the _jwt may be set by the auth callback
183
+ this._jwt = auth.trim().split(" ")[1]; // remove Bearer prefix
184
+ }
185
+ }
186
+ return this._jwt || null;
187
+ }
188
+ async getDecodedJWT() {
189
+ const jwt = await this.getRawJWT();
190
+ return jwt ? decodeJWT(jwt) : null;
191
+ }
192
+ async getProject() {
193
+ const jwt = await this.getDecodedJWT();
194
+ return jwt?.project || null;
195
+ }
196
+ async getAccount() {
197
+ const jwt = await this.getDecodedJWT();
198
+ return jwt?.account || null;
199
+ }
200
+ /**
201
+ * Alias for store.workflows
202
+ */
203
+ get workflows() {
204
+ return this.store.workflows;
205
+ }
206
+ /**
207
+ * Alias for store.objects
208
+ */
209
+ get objects() {
210
+ return this.store.objects;
211
+ }
212
+ get files() {
213
+ return this.store.files;
214
+ }
215
+ /**
216
+ * Alias for store.types
217
+ */
218
+ get types() {
219
+ return this.store.types;
220
+ }
221
+ get storeUrl() {
222
+ return this.store.baseUrl;
223
+ }
224
+ /**
225
+ *
226
+ * Generate a token for use with other Vertesia's services
227
+ *
228
+ * @returns AuthTokenResponse
229
+ */
230
+ async getAuthToken(token) {
231
+ return fetch(`${this.tokenServerUrl}/token/issue`, {
232
+ method: "POST",
233
+ headers: {
234
+ "Content-Type": "application/json",
235
+ Authorization: `Bearer ${token}`,
236
+ },
237
+ })
238
+ .then((response) => response.json())
239
+ .then((data) => data)
240
+ .catch((error) => {
241
+ console.error(`Error fetching token from ${this.tokenServerUrl}:`, { error });
242
+ throw error;
243
+ });
244
+ }
245
+ get initialHeaders() {
246
+ return {
247
+ ...super.initialHeaders,
248
+ 'X-Api-Version': '20250925' // YYYYMMDD, client versioning for API endpoints. Increment manually for breaking changes
249
+ };
250
+ }
251
+ projects = new ProjectsApi_js_1.default(this);
252
+ environments = new EnvironmentsApi_js_1.default(this);
253
+ interactions = new InteractionsApi_js_1.default(this);
254
+ prompts = new PromptsApi_js_1.default(this);
255
+ runs = new RunsApi_js_1.RunsApi(this);
256
+ account = new AccountApi_js_1.default(this);
257
+ accounts = new AccountsApi_js_1.default(this);
258
+ apikeys = new ApiKeysApi_js_1.ApiKeysApi(this);
259
+ analytics = new AnalyticsApi_js_1.default(this);
260
+ training = new TrainingApi_js_1.default(this);
261
+ users = new UsersApi_js_1.default(this);
262
+ iam = new IamApi_js_1.IamApi(this);
263
+ refs = new RefsApi_js_1.RefsApi(this);
264
+ commands = new CommandsApi_js_1.default(this);
265
+ apps = new AppsApi_js_1.default(this);
266
+ }
267
+ exports.VertesiaClient = VertesiaClient;
268
+ function isApiKey(apiKey) {
269
+ return apiKey.startsWith("pk-") || apiKey.startsWith("sk-");
270
+ }
271
+ function isTokenExpired(token) {
272
+ if (!token) {
273
+ return true;
274
+ }
275
+ const decoded = decodeJWT(token);
276
+ const exp = decoded.exp;
277
+ const currentTime = Date.now();
278
+ return currentTime <= exp * 1000 - EXPIRATION_THRESHOLD;
279
+ }
280
+ function decodeJWT(jwt) {
281
+ const payloadBase64 = jwt.split(".")[1];
282
+ const decodedJson = base64UrlDecode(payloadBase64);
283
+ return JSON.parse(decodedJson);
284
+ }
285
+ function base64UrlDecode(input) {
286
+ // Convert base64url to base64
287
+ const base64 = input
288
+ .replace(/-/g, "+")
289
+ .replace(/_/g, "/")
290
+ // Pad with '=' to make length a multiple of 4
291
+ .padEnd(Math.ceil(input.length / 4) * 4, "=");
292
+ if (typeof Buffer !== "undefined") {
293
+ // Node.js
294
+ return Buffer.from(base64, "base64").toString("utf-8");
295
+ }
296
+ else if (typeof atob !== "undefined" &&
297
+ typeof TextDecoder !== "undefined") {
298
+ // Browser
299
+ const binary = atob(base64);
300
+ const bytes = Uint8Array.from(binary, (c) => c.charCodeAt(0));
301
+ // decode to utf8
302
+ return new TextDecoder().decode(bytes);
303
+ }
304
+ else {
305
+ throw new Error("No base64 decoder available");
306
+ }
307
+ }
308
+ function decodeEndpoints(endpoints) {
309
+ if (!endpoints) {
310
+ return getEndpointsFromDomain("api.vertesia.io");
311
+ }
312
+ if (typeof endpoints === "string") {
313
+ return getEndpointsFromDomain(endpoints);
314
+ }
315
+ else {
316
+ return endpoints;
317
+ }
318
+ }
319
+ function getEndpointsFromDomain(domain) {
320
+ if (domain === "local") {
321
+ return {
322
+ studio: `http://localhost:8091`,
323
+ store: `http://localhost:8092`,
324
+ token: process.env.STS_URL ?? "https://sts-staging.vertesia.io",
325
+ };
326
+ }
327
+ else {
328
+ const url = `https://${domain}`;
329
+ return {
330
+ studio: url,
331
+ store: url,
332
+ token: url.replace("api", "sts"),
333
+ };
334
+ }
335
+ }
336
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;;;;AA0UA,8BAIC;AA2BD,0CAWC;AApXD,iEAAiE;AAEjE,oEAAyC;AACzC,sEAA2C;AAC3C,wEAA6C;AAC7C,mDAA6C;AAC7C,8DAAmC;AACnC,sEAA2C;AAC3C,8EAAmD;AACnD,2CAAqC;AACrC,8EAAmD;AACnD,sEAA2C;AAC3C,oEAAyC;AACzC,6CAAuC;AACvC,6CAAuC;AACvC,iDAA+C;AAC/C,sEAA2C;AAC3C,gEAAqC;AAErC;;GAEG;AACH,MAAM,oBAAoB,GAAG,KAAK,CAAC;AA6BnC,MAAa,cAAe,SAAQ,sCAAmC;IACnE;;OAEG;IACH,IAAI,GAAkB,IAAI,CAAC;IAE3B;;OAEG;IACH,KAAK,CAAa;IAElB;;OAEG;IACH,WAAW,CAAqB;IAEhC;;OAEG;IACH,cAAc,CAAS;IAEvB;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,OAA0B;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrD,OAAO,MAAM,IAAI,cAAc,CAAC;YAC5B,SAAS,EAAE,SAAS,CAAC,MAAM;YAC3B,QAAQ,EAAE,SAAS,CAAC,KAAK;YACzB,cAAc,EAAE,OAAO,CAAC,GAAG;SAC9B,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,eAAe,KAAI,CAAC;IAE3B,YACI,OAA4B;QACxB,IAAI,EAAE,iBAAiB;KAC1B;QAED,IAAI,eAAuB,CAAC;QAC5B,IAAI,aAAqB,CAAC;QAE1B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;QACrC,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,eAAe,GAAG,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CACX,gEAAgE,CACnE,CAAC;QACN,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,aAAa,GAAG,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CACX,+DAA+D,CAClE,CAAC;QACN,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,CAAC;QAEvB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC9C,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,GAAG,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QACxE,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzC,kEAAkE;YAClE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YACzD,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChC,iCAAiC;gBACjC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBACxC,4DAA4D;oBAC5D,IAAI,CAAC,cAAc,GAAG,yBAAyB,CAAC;gBACpD,CAAC;qBAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC5C,iEAAiE;oBACjE,IAAI,CAAC,cAAc,GAAG,iCAAiC,CAAC;gBAC5D,CAAC;qBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,iBAAiB,EAAE,CAAC;oBAC5C,qCAAqC;oBACrC,IAAI,CAAC,cAAc,GAAG,yBAAyB,CAAC;gBACpD,CAAC;qBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,yBAAyB,EAAE,CAAC;oBACpD,qDAAqD;oBACrD,IAAI,CAAC,cAAc,GAAG,iCAAiC,CAAC;gBAC5D,CAAC;qBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,yBAAyB,EAAE,CAAC;oBACpD,qDAAqD;oBACrD,IAAI,CAAC,cAAc,GAAG,iCAAiC,CAAC;gBAC5D,CAAC;qBAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxC,oCAAoC;oBACpC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBACnD,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACJ,yCAAyC;oBACzC,IAAI,CAAC,cAAc,GAAG,iCAAiC,CAAC;gBAC5D,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,0CAA0C;gBAC1C,IAAI,CAAC,cAAc,GAAG,iCAAiC,CAAC;YAC5D,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,wCAAwC;YACxC,IAAI,CAAC,cAAc,GAAG,iCAAiC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAU,CAAC;YACxB,SAAS,EAAE,aAAa;YACxB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,MAAuC;QACpD,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAqB;QAClC,OAAO,IAAI,CAAC,gBAAgB,CACxB,MAAM;YACF,CAAC,CAAC,KAAK,IAAI,EAAE;gBACP,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpB,OAAO,UAAU,MAAM,EAAE,CAAC;gBAC9B,CAAC;gBAED,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC5C,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC;gBAC1B,CAAC;gBACD,OAAO,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,CAAC;YACH,CAAC,CAAC,SAAS,CAClB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS;QACX,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACb,2CAA2C;gBAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB;YAClE,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,OAAO,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,OAAO,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,KAAc;QAC7B,OAAO,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,cAAc,EAAE;YAC/C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,KAAK,EAAE;aACnC;SACJ,CAAC;aACG,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;aACnC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAyB,CAAC;aACzC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,OAAO,CAAC,KAAK,CACT,6BAA6B,IAAI,CAAC,cAAc,GAAG,EACnD,EAAE,KAAK,EAAE,CACZ,CAAC;YACF,MAAM,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;IACX,CAAC;IAED,IAAI,cAAc;QACd,OAAO;YACH,GAAG,KAAK,CAAC,cAAc;YACvB,eAAe,EAAE,UAAU,CAAC,yFAAyF;SACxH,CAAA;IACL,CAAC;IAED,QAAQ,GAAG,IAAI,wBAAW,CAAC,IAAI,CAAC,CAAC;IACjC,YAAY,GAAG,IAAI,4BAAe,CAAC,IAAI,CAAC,CAAC;IACzC,YAAY,GAAG,IAAI,4BAAe,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,QAAQ,GAAG,IAAI,wBAAW,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,GAAG,IAAI,0BAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,SAAS,GAAG,IAAI,yBAAY,CAAC,IAAI,CAAC,CAAC;IACnC,QAAQ,GAAG,IAAI,wBAAW,CAAC,IAAI,CAAC,CAAC;IACjC,KAAK,GAAG,IAAI,qBAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,GAAG,GAAG,IAAI,kBAAM,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,CAAC;IACzB,QAAQ,GAAG,IAAI,wBAAW,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAtQD,wCAsQC;AAED,SAAS,QAAQ,CAAC,MAAc;IAC5B,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,cAAc,CAAC,KAAoB;IACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,OAAO,WAAW,IAAI,GAAG,GAAG,IAAI,GAAG,oBAAoB,CAAC;AAC5D,CAAC;AAED,SAAgB,SAAS,CAAC,GAAW;IACjC,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IAClC,8BAA8B;IAC9B,MAAM,MAAM,GAAG,KAAK;SACf,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;QACnB,8CAA8C;SAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAElD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAChC,UAAU;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;SAAM,IACH,OAAO,IAAI,KAAK,WAAW;QAC3B,OAAO,WAAW,KAAK,WAAW,EACpC,CAAC;QACC,UAAU;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,iBAAiB;QACjB,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;AACL,CAAC;AAED,SAAgB,eAAe,CAC3B,SAAsD;IAEtD,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACJ,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc;IAC1C,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACrB,OAAO;YACH,MAAM,EAAE,uBAAuB;YAC/B,KAAK,EAAE,uBAAuB;YAC9B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,iCAAiC;SAClE,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,MAAM,GAAG,GAAG,WAAW,MAAM,EAAE,CAAC;QAChC,OAAO;YACH,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACnC,CAAC;IACN,CAAC;AACL,CAAC"}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.EventSourceProvider = EventSourceProvider;
37
+ exports.executeInteraction = executeInteraction;
38
+ exports.executeInteractionByName = executeInteractionByName;
39
+ exports.executeInteractionAsync = executeInteractionAsync;
40
+ exports.checkRateLimit = checkRateLimit;
41
+ const common_1 = require("@vertesia/common");
42
+ async function EventSourceProvider() {
43
+ if (typeof globalThis.EventSource === 'function') {
44
+ return globalThis.EventSource;
45
+ }
46
+ else {
47
+ return (await Promise.resolve().then(() => __importStar(require('eventsource')))).EventSource;
48
+ }
49
+ }
50
+ /**
51
+ *
52
+ * Execute an interaction and return a promise which will be resolved with the executed run when
53
+ * the run completes or fails.
54
+ * If the onChunk callback is passed then the streaming of the result is enabled.
55
+ * The onChunk callback with be called with the next chunk of the result as soon as it is available.
56
+ * When all chunks are received the function will return the resolved promise
57
+ * @param id of the interaction to execute
58
+ * @param payload InteractionExecutionPayload
59
+ * @param onChunk callback to be called when the next chunk of the response is available
60
+ */
61
+ async function executeInteraction(client, interactionId, payload = {}, onChunk) {
62
+ const stream = !!onChunk;
63
+ const response = await client.runs.create({
64
+ ...payload, interaction: interactionId, stream
65
+ });
66
+ if (stream) {
67
+ if (response.status === common_1.ExecutionRunStatus.failed) {
68
+ return response;
69
+ }
70
+ await handleStreaming(client, response.id, onChunk);
71
+ }
72
+ return response;
73
+ }
74
+ /**
75
+ * Same as executeInteraction but uses the interaction name selector instead of the id.
76
+ * A name selector is the interaction endpoint name suffixed with an optional tag or version which is starting with a `@` character.
77
+ * 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.
78
+ * Examples of selectors:
79
+ * - `ReviewContract` - select the latest version of the ReviewContract interaction
80
+ * - `ReviewContract@1` - select the version 1 of the ReviewContract interaction
81
+ * - `ReviewContract@draft` - select the draft version of the ReviewContract interaction
82
+ * - `ReviewContract@fixed` - select the ReviewContract interaction which is tagged with 'fixed' tag.
83
+ *
84
+ * @param client
85
+ * @param interaction
86
+ * @param payload
87
+ * @param onChunk
88
+ * @returns
89
+ */
90
+ async function executeInteractionByName(client, interaction, payload = {}, onChunk) {
91
+ const stream = !!onChunk;
92
+ const response = await client.post('/api/v1/execute', {
93
+ payload: {
94
+ ...payload,
95
+ interaction,
96
+ stream
97
+ },
98
+ });
99
+ if (stream) {
100
+ if (response.status === common_1.ExecutionRunStatus.failed) {
101
+ return response;
102
+ }
103
+ await handleStreaming(client, response.id, onChunk);
104
+ }
105
+ return response;
106
+ }
107
+ function handleStreaming(client, runId, onChunk) {
108
+ return new Promise(async (resolve, reject) => {
109
+ try {
110
+ const EventSourceImpl = await EventSourceProvider();
111
+ const streamUrl = new URL(client.runs.baseUrl + '/' + runId + '/stream');
112
+ const bearerToken = client._auth ? await client._auth() : undefined;
113
+ if (bearerToken) {
114
+ const token = bearerToken.split(' ')[1];
115
+ streamUrl.searchParams.set('access_token', token);
116
+ }
117
+ else {
118
+ throw new Error('No auth token available');
119
+ }
120
+ const sse = new EventSourceImpl(streamUrl.href);
121
+ sse.addEventListener("message", ev => {
122
+ try {
123
+ const data = JSON.parse(ev.data);
124
+ if (data) {
125
+ onChunk && onChunk(data);
126
+ }
127
+ }
128
+ catch (err) {
129
+ reject(err);
130
+ }
131
+ });
132
+ sse.addEventListener("close", (ev) => {
133
+ try {
134
+ sse.close();
135
+ const msg = JSON.parse(ev.data);
136
+ resolve(msg);
137
+ }
138
+ catch (err) {
139
+ reject(err);
140
+ }
141
+ });
142
+ }
143
+ catch (err) {
144
+ reject(err);
145
+ }
146
+ });
147
+ }
148
+ async function executeInteractionAsync(client, payload) {
149
+ return await client.post('/api/v1/execute/async', {
150
+ payload,
151
+ });
152
+ }
153
+ async function checkRateLimit(client, payload) {
154
+ return await client.post('/api/v1/execute/rate-limit/request', {
155
+ payload
156
+ });
157
+ }
158
+ //# sourceMappingURL=execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/execute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,kDAMC;AAYD,gDAeC;AAkBD,4DAmBC;AA0CD,0DAIC;AAED,wCAIC;AA7HD,6CAA2N;AAGpN,KAAK,UAAU,mBAAmB;IACrC,IAAI,OAAO,UAAU,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QAC/C,OAAO,UAAU,CAAC,WAAW,CAAC;IAClC,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,wDAAa,aAAa,GAAC,CAAC,CAAC,WAAW,CAAC;IACrD,CAAC;AACL,CAAC;AACD;;;;;;;;;;GAUG;AACI,KAAK,UAAU,kBAAkB,CAAU,MAAsB,EACpE,aAAqB,EACrB,UAAuC,EAAE,EACzC,OAAiC;IACjC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;IACzB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC,GAAG,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM;KACjD,CAAC,CAAC;IACH,IAAI,MAAM,EAAE,CAAC;QACT,IAAI,QAAQ,CAAC,MAAM,KAAK,2BAAkB,CAAC,MAAM,EAAE,CAAC;YAChD,OAAO,QAAQ,CAAC;QACpB,CAAC;QACD,MAAM,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,wBAAwB,CAAU,MAAsB,EAC1E,WAAmB,EACnB,UAAuC,EAAE,EACzC,OAAiC;IACjC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;IACzB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;QAClD,OAAO,EAAE;YACL,GAAG,OAAO;YACV,WAAW;YACX,MAAM;SAC2B;KACxC,CAAC,CAAC;IACH,IAAI,MAAM,EAAE,CAAC;QACT,IAAI,QAAQ,CAAC,MAAM,KAAK,2BAAkB,CAAC,MAAM,EAAE,CAAC;YAChD,OAAO,QAAQ,CAAC;QACpB,CAAC;QACD,MAAM,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,MAAsB,EAAE,KAAa,EAAE,OAAgC;IAC5F,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,IAAI,CAAC;YACD,MAAM,eAAe,GAAG,MAAM,mBAAmB,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC;YACzE,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAEpE,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChD,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE;gBACjC,IAAI,CAAC;oBACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBACjC,IAAI,IAAI,EAAE,CAAC;wBACP,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;YACL,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;gBACjC,IAAI,CAAC;oBACD,GAAG,CAAC,KAAK,EAAE,CAAC;oBACZ,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;oBAC/B,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAAC,MAAsB,EAAE,OAA8B;IAChG,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;QAC9C,OAAO;KACV,CAAC,CAAC;AACP,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,MAAsB,EAAE,OAAgC;IACzF,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;QAC3D,OAAO;KACV,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./client.js"), exports);
18
+ __exportStar(require("./InteractionBase.js"), exports);
19
+ __exportStar(require("./store/index.js"), exports);
20
+ __exportStar(require("./StreamSource.js"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,uDAAqC;AAKrC,mDAAiC;AACjC,oDAAkC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeStreamSource = void 0;
4
+ const web_1 = require("node:stream/web");
5
+ const StreamSource_js_1 = require("../StreamSource.js");
6
+ /**
7
+ * A stream source that wraps a Node.js Readable stream.
8
+ * This class is only works in Node.js environments.
9
+ */
10
+ class NodeStreamSource extends StreamSource_js_1.StreamSource {
11
+ constructor(stream, name, type, id) {
12
+ super(readableToWebStream(stream), name, type, id);
13
+ }
14
+ }
15
+ exports.NodeStreamSource = NodeStreamSource;
16
+ function readableToWebStream(stream) {
17
+ if (web_1.ReadableStream.from) {
18
+ return web_1.ReadableStream.from(stream);
19
+ }
20
+ else {
21
+ return readableToWebStream_BUN(stream);
22
+ }
23
+ }
24
+ /**
25
+ * Bun implementation since bun is not yet supporting NodeReadableStream.from
26
+ * @returns
27
+ */
28
+ function readableToWebStream_BUN(stream) {
29
+ const it = stream[Symbol.asyncIterator]();
30
+ return new ReadableStream({
31
+ async pull(controller) {
32
+ const { value, done } = await it.next();
33
+ if (done) {
34
+ controller.close();
35
+ }
36
+ else {
37
+ controller.enqueue(value);
38
+ }
39
+ },
40
+ cancel() {
41
+ it.return?.();
42
+ }
43
+ });
44
+ }
45
+ //# sourceMappingURL=NodeStreamSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeStreamSource.js","sourceRoot":"","sources":["../../../src/nodejs/NodeStreamSource.ts"],"names":[],"mappings":";;;AACA,yCAAuE;AACvE,wDAAkD;AAGlD;;;GAGG;AACH,MAAa,gBAAiB,SAAQ,8BAAY;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;AAJD,4CAIC;AAED,SAAS,mBAAmB,CAAsB,MAAgB;IAC9D,IAAI,oBAAkB,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,oBAAkB,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,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./NodeStreamSource.js"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nodejs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgentsApi = void 0;
4
+ const api_fetch_client_1 = require("@vertesia/api-fetch-client");
5
+ class AgentsApi extends api_fetch_client_1.ApiTopic {
6
+ constructor(parent) {
7
+ super(parent, "/api/v1/agents");
8
+ }
9
+ async deploy(payload) {
10
+ return this.post('/', {
11
+ payload
12
+ });
13
+ }
14
+ }
15
+ exports.AgentsApi = AgentsApi;
16
+ //# sourceMappingURL=AgentsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentsApi.js","sourceRoot":"","sources":["../../../src/store/AgentsApi.ts"],"names":[],"mappings":";;;AAAA,iEAAkE;AAIlE,MAAa,SAAU,SAAQ,2BAAQ;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;AAZD,8BAYC"}