@vrplatform/api 1.3.1-stage.2219 → 1.3.1-stage.2231

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 (166) hide show
  1. package/build/main/analytics/client.d.ts +16 -0
  2. package/build/main/analytics/client.js +81 -0
  3. package/build/main/analytics/client.js.map +1 -0
  4. package/build/main/analytics/index.d.ts +2 -0
  5. package/build/main/analytics/index.js +19 -0
  6. package/build/main/analytics/index.js.map +1 -0
  7. package/build/main/analytics/types.d.ts +77 -0
  8. package/build/main/analytics/types.js.map +1 -0
  9. package/build/main/index.d.ts +14 -6
  10. package/build/main/index.js +19 -3
  11. package/build/main/index.js.map +1 -1
  12. package/build/main/service-client.d.ts +15 -0
  13. package/build/main/service-client.js +90 -0
  14. package/build/main/service-client.js.map +1 -0
  15. package/build/main/services/analytics/client.d.ts +16 -0
  16. package/build/main/services/analytics/client.js +33 -0
  17. package/build/main/services/analytics/client.js.map +1 -0
  18. package/build/main/services/analytics/generated/v1.d.ts +359 -0
  19. package/build/main/services/analytics/generated/v1.js.map +1 -0
  20. package/build/main/{client.js → services/api/client.js} +29 -27
  21. package/build/main/services/api/client.js.map +1 -0
  22. package/build/main/services/api/error.d.ts +22 -0
  23. package/build/main/{error.js → services/api/error.js} +12 -8
  24. package/build/main/services/api/error.js.map +1 -0
  25. package/build/main/{generated → services/api/generated}/v1.d.ts +948 -93
  26. package/build/main/services/api/generated/v1.js +7 -0
  27. package/build/main/{generated → services/api/generated}/v1.js.map +1 -1
  28. package/build/main/services/api/index.d.ts +6 -0
  29. package/build/main/services/api/index.js +20 -0
  30. package/build/main/services/api/index.js.map +1 -0
  31. package/build/main/services/api/types.js +3 -0
  32. package/build/main/services/api/types.js.map +1 -0
  33. package/build/main/services/cache/client.d.ts +16 -0
  34. package/build/main/services/cache/client.js +33 -0
  35. package/build/main/services/cache/client.js.map +1 -0
  36. package/build/main/services/cache/generated/v1.d.ts +1009 -0
  37. package/build/main/services/cache/generated/v1.js +7 -0
  38. package/build/main/services/cache/generated/v1.js.map +1 -0
  39. package/build/main/services/cache/index.d.ts +2 -0
  40. package/build/main/services/cache/index.js +18 -0
  41. package/build/main/services/cache/index.js.map +1 -0
  42. package/build/main/services/control-plane/client.d.ts +17 -0
  43. package/build/main/services/control-plane/client.js +33 -0
  44. package/build/main/services/control-plane/client.js.map +1 -0
  45. package/build/main/services/control-plane/generated/v1.d.ts +2123 -0
  46. package/build/main/services/control-plane/generated/v1.js +7 -0
  47. package/build/main/services/control-plane/generated/v1.js.map +1 -0
  48. package/build/main/services/control-plane/index.d.ts +2 -0
  49. package/build/main/services/control-plane/index.js +18 -0
  50. package/build/main/services/control-plane/index.js.map +1 -0
  51. package/build/main/services/ingest/client.d.ts +16 -0
  52. package/build/main/services/ingest/client.js +33 -0
  53. package/build/main/services/ingest/client.js.map +1 -0
  54. package/build/main/services/ingest/generated/v1.d.ts +1920 -0
  55. package/build/main/services/ingest/generated/v1.js +7 -0
  56. package/build/main/services/ingest/generated/v1.js.map +1 -0
  57. package/build/main/services/ingest/index.d.ts +2 -0
  58. package/build/main/services/ingest/index.js +18 -0
  59. package/build/main/services/ingest/index.js.map +1 -0
  60. package/build/main/tsconfig.main.tsbuildinfo +1 -1
  61. package/build/module/analytics/client.d.ts +16 -0
  62. package/build/module/analytics/client.js +39 -0
  63. package/build/module/analytics/client.js.map +1 -0
  64. package/build/module/analytics/index.d.ts +2 -0
  65. package/build/module/analytics/index.js +3 -0
  66. package/build/module/analytics/index.js.map +1 -0
  67. package/build/module/analytics/types.d.ts +77 -0
  68. package/build/module/analytics/types.js.map +1 -0
  69. package/build/module/index.d.ts +14 -6
  70. package/build/module/index.js +6 -3
  71. package/build/module/index.js.map +1 -1
  72. package/build/module/service-client.d.ts +15 -0
  73. package/build/module/service-client.js +51 -0
  74. package/build/module/service-client.js.map +1 -0
  75. package/build/module/services/analytics/client.d.ts +16 -0
  76. package/build/module/services/analytics/client.js +24 -0
  77. package/build/module/services/analytics/client.js.map +1 -0
  78. package/build/module/services/analytics/generated/v1.d.ts +359 -0
  79. package/build/module/services/analytics/generated/v1.js.map +1 -0
  80. package/build/module/{client.js → services/api/client.js} +29 -27
  81. package/build/module/services/api/client.js.map +1 -0
  82. package/build/module/services/api/error.d.ts +22 -0
  83. package/build/module/{error.js → services/api/error.js} +12 -8
  84. package/build/module/services/api/error.js.map +1 -0
  85. package/build/module/{generated → services/api/generated}/v1.d.ts +948 -93
  86. package/build/module/services/api/generated/v1.js +6 -0
  87. package/build/module/{generated → services/api/generated}/v1.js.map +1 -1
  88. package/build/module/services/api/index.d.ts +6 -0
  89. package/build/module/services/api/index.js +4 -0
  90. package/build/module/services/api/index.js.map +1 -0
  91. package/build/module/services/api/types.js +2 -0
  92. package/build/module/services/api/types.js.map +1 -0
  93. package/build/module/services/cache/client.d.ts +16 -0
  94. package/build/module/services/cache/client.js +24 -0
  95. package/build/module/services/cache/client.js.map +1 -0
  96. package/build/module/services/cache/generated/v1.d.ts +1009 -0
  97. package/build/module/services/cache/generated/v1.js +6 -0
  98. package/build/module/services/cache/generated/v1.js.map +1 -0
  99. package/build/module/services/cache/index.d.ts +2 -0
  100. package/build/module/services/cache/index.js +2 -0
  101. package/build/module/services/cache/index.js.map +1 -0
  102. package/build/module/services/control-plane/client.d.ts +17 -0
  103. package/build/module/services/control-plane/client.js +24 -0
  104. package/build/module/services/control-plane/client.js.map +1 -0
  105. package/build/module/services/control-plane/generated/v1.d.ts +2123 -0
  106. package/build/module/services/control-plane/generated/v1.js +6 -0
  107. package/build/module/services/control-plane/generated/v1.js.map +1 -0
  108. package/build/module/services/control-plane/index.d.ts +2 -0
  109. package/build/module/services/control-plane/index.js +2 -0
  110. package/build/module/services/control-plane/index.js.map +1 -0
  111. package/build/module/services/ingest/client.d.ts +16 -0
  112. package/build/module/services/ingest/client.js +24 -0
  113. package/build/module/services/ingest/client.js.map +1 -0
  114. package/build/module/services/ingest/generated/v1.d.ts +1920 -0
  115. package/build/module/services/ingest/generated/v1.js +6 -0
  116. package/build/module/services/ingest/generated/v1.js.map +1 -0
  117. package/build/module/services/ingest/index.d.ts +2 -0
  118. package/build/module/services/ingest/index.js +2 -0
  119. package/build/module/services/ingest/index.js.map +1 -0
  120. package/build/module/tsconfig.esm.tsbuildinfo +1 -1
  121. package/package.json +37 -6
  122. package/src/analytics/client.ts +81 -0
  123. package/src/analytics/index.ts +2 -0
  124. package/src/analytics/types.ts +83 -0
  125. package/src/index.ts +49 -7
  126. package/src/service-client.ts +80 -0
  127. package/src/services/analytics/client.ts +44 -0
  128. package/src/services/analytics/generated/v1.ts +360 -0
  129. package/src/{client.ts → services/api/client.ts} +41 -24
  130. package/src/services/api/error.ts +82 -0
  131. package/src/{generated → services/api/generated}/v1.ts +948 -93
  132. package/src/services/api/index.ts +8 -0
  133. package/src/{types.ts → services/api/types.ts} +2 -0
  134. package/src/services/cache/client.ts +44 -0
  135. package/src/services/cache/generated/v1.ts +1010 -0
  136. package/src/services/cache/index.ts +2 -0
  137. package/src/services/control-plane/client.ts +46 -0
  138. package/src/services/control-plane/generated/v1.ts +2124 -0
  139. package/src/services/control-plane/index.ts +2 -0
  140. package/src/services/ingest/client.ts +44 -0
  141. package/src/services/ingest/generated/v1.ts +1921 -0
  142. package/src/services/ingest/index.ts +2 -0
  143. package/build/main/client.js.map +0 -1
  144. package/build/main/error.d.ts +0 -22
  145. package/build/main/error.js.map +0 -1
  146. package/build/main/generated/openapi-fetch.d.ts +0 -224
  147. package/build/main/generated/openapi-fetch.js +0 -14
  148. package/build/main/generated/openapi-fetch.js.map +0 -1
  149. package/build/main/types.js.map +0 -1
  150. package/build/module/client.js.map +0 -1
  151. package/build/module/error.d.ts +0 -22
  152. package/build/module/error.js.map +0 -1
  153. package/build/module/generated/openapi-fetch.d.ts +0 -224
  154. package/build/module/generated/openapi-fetch.js +0 -2
  155. package/build/module/generated/openapi-fetch.js.map +0 -1
  156. package/build/module/types.js.map +0 -1
  157. package/src/error.ts +0 -71
  158. package/src/generated/openapi-fetch.ts +0 -433
  159. /package/build/main/{types.js → analytics/types.js} +0 -0
  160. /package/build/main/{generated → services/analytics/generated}/v1.js +0 -0
  161. /package/build/main/{client.d.ts → services/api/client.d.ts} +0 -0
  162. /package/build/main/{types.d.ts → services/api/types.d.ts} +0 -0
  163. /package/build/module/{types.js → analytics/types.js} +0 -0
  164. /package/build/module/{generated → services/analytics/generated}/v1.js +0 -0
  165. /package/build/module/{client.d.ts → services/api/client.d.ts} +0 -0
  166. /package/build/module/{types.d.ts → services/api/types.d.ts} +0 -0
@@ -0,0 +1,359 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/health": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ /** @description Health endpoint for analytics worker. */
14
+ get: operations["getHealth"];
15
+ put?: never;
16
+ post?: never;
17
+ delete?: never;
18
+ options?: never;
19
+ head?: never;
20
+ patch?: never;
21
+ trace?: never;
22
+ };
23
+ "/v1/events/track": {
24
+ parameters: {
25
+ query?: never;
26
+ header?: never;
27
+ path?: never;
28
+ cookie?: never;
29
+ };
30
+ get?: never;
31
+ put?: never;
32
+ /** @description Track a single analytics event. */
33
+ post: operations["postV1EventsTrack"];
34
+ delete?: never;
35
+ options?: never;
36
+ head?: never;
37
+ patch?: never;
38
+ trace?: never;
39
+ };
40
+ "/v1/events/track-batch": {
41
+ parameters: {
42
+ query?: never;
43
+ header?: never;
44
+ path?: never;
45
+ cookie?: never;
46
+ };
47
+ get?: never;
48
+ put?: never;
49
+ /** @description Track a batch of analytics events. */
50
+ post: operations["postV1EventsTrackBatch"];
51
+ delete?: never;
52
+ options?: never;
53
+ head?: never;
54
+ patch?: never;
55
+ trace?: never;
56
+ };
57
+ }
58
+ export type webhooks = Record<string, never>;
59
+ export interface components {
60
+ schemas: never;
61
+ responses: never;
62
+ parameters: never;
63
+ requestBodies: never;
64
+ headers: never;
65
+ pathItems: never;
66
+ }
67
+ export type $defs = Record<string, never>;
68
+ export interface operations {
69
+ getHealth: {
70
+ parameters: {
71
+ query?: never;
72
+ header?: never;
73
+ path?: never;
74
+ cookie?: never;
75
+ };
76
+ requestBody?: never;
77
+ responses: {
78
+ /** @description Service health */
79
+ 200: {
80
+ headers: {
81
+ [name: string]: unknown;
82
+ };
83
+ content: {
84
+ "application/json": {
85
+ ok: boolean;
86
+ /** @constant */
87
+ service: "analytics";
88
+ };
89
+ };
90
+ };
91
+ /** @description Bad request */
92
+ 400: {
93
+ headers: {
94
+ [name: string]: unknown;
95
+ };
96
+ content: {
97
+ "application/json": {
98
+ code: string;
99
+ message: string;
100
+ };
101
+ };
102
+ };
103
+ /** @description Unauthorized */
104
+ 401: {
105
+ headers: {
106
+ [name: string]: unknown;
107
+ };
108
+ content: {
109
+ "application/json": {
110
+ code: string;
111
+ message: string;
112
+ };
113
+ };
114
+ };
115
+ /** @description Forbidden */
116
+ 403: {
117
+ headers: {
118
+ [name: string]: unknown;
119
+ };
120
+ content: {
121
+ "application/json": {
122
+ code: string;
123
+ message: string;
124
+ };
125
+ };
126
+ };
127
+ /** @description Not found */
128
+ 404: {
129
+ headers: {
130
+ [name: string]: unknown;
131
+ };
132
+ content: {
133
+ "application/json": {
134
+ code: string;
135
+ message: string;
136
+ };
137
+ };
138
+ };
139
+ /** @description Internal server error */
140
+ 500: {
141
+ headers: {
142
+ [name: string]: unknown;
143
+ };
144
+ content: {
145
+ "application/json": {
146
+ code: string;
147
+ message: string;
148
+ };
149
+ };
150
+ };
151
+ };
152
+ };
153
+ postV1EventsTrack: {
154
+ parameters: {
155
+ query?: never;
156
+ header?: never;
157
+ path?: never;
158
+ cookie?: never;
159
+ };
160
+ requestBody?: {
161
+ content: {
162
+ "application/json": {
163
+ /** Format: uuid */
164
+ tenantId: string;
165
+ event: string;
166
+ packageName: string;
167
+ /** Format: uuid */
168
+ userId?: string;
169
+ anonymousId?: string;
170
+ groupId?: string;
171
+ /** Format: date-time */
172
+ trackedAt?: string;
173
+ /** @default {} */
174
+ properties?: {
175
+ [key: string]: unknown;
176
+ };
177
+ };
178
+ };
179
+ };
180
+ responses: {
181
+ /** @description Tracked event id */
182
+ 200: {
183
+ headers: {
184
+ [name: string]: unknown;
185
+ };
186
+ content: {
187
+ "application/json": {
188
+ /** Format: uuid */
189
+ id: string;
190
+ };
191
+ };
192
+ };
193
+ /** @description Bad request */
194
+ 400: {
195
+ headers: {
196
+ [name: string]: unknown;
197
+ };
198
+ content: {
199
+ "application/json": {
200
+ code: string;
201
+ message: string;
202
+ };
203
+ };
204
+ };
205
+ /** @description Unauthorized */
206
+ 401: {
207
+ headers: {
208
+ [name: string]: unknown;
209
+ };
210
+ content: {
211
+ "application/json": {
212
+ code: string;
213
+ message: string;
214
+ };
215
+ };
216
+ };
217
+ /** @description Forbidden */
218
+ 403: {
219
+ headers: {
220
+ [name: string]: unknown;
221
+ };
222
+ content: {
223
+ "application/json": {
224
+ code: string;
225
+ message: string;
226
+ };
227
+ };
228
+ };
229
+ /** @description Not found */
230
+ 404: {
231
+ headers: {
232
+ [name: string]: unknown;
233
+ };
234
+ content: {
235
+ "application/json": {
236
+ code: string;
237
+ message: string;
238
+ };
239
+ };
240
+ };
241
+ /** @description Internal server error */
242
+ 500: {
243
+ headers: {
244
+ [name: string]: unknown;
245
+ };
246
+ content: {
247
+ "application/json": {
248
+ code: string;
249
+ message: string;
250
+ };
251
+ };
252
+ };
253
+ };
254
+ };
255
+ postV1EventsTrackBatch: {
256
+ parameters: {
257
+ query?: never;
258
+ header?: never;
259
+ path?: never;
260
+ cookie?: never;
261
+ };
262
+ requestBody?: {
263
+ content: {
264
+ "application/json": {
265
+ events: {
266
+ /** Format: uuid */
267
+ tenantId: string;
268
+ event: string;
269
+ packageName: string;
270
+ /** Format: uuid */
271
+ userId?: string;
272
+ anonymousId?: string;
273
+ groupId?: string;
274
+ /** Format: date-time */
275
+ trackedAt?: string;
276
+ /** @default {} */
277
+ properties?: {
278
+ [key: string]: unknown;
279
+ };
280
+ }[];
281
+ };
282
+ };
283
+ };
284
+ responses: {
285
+ /** @description Tracked event ids */
286
+ 200: {
287
+ headers: {
288
+ [name: string]: unknown;
289
+ };
290
+ content: {
291
+ "application/json": {
292
+ ids: string[];
293
+ total: number;
294
+ };
295
+ };
296
+ };
297
+ /** @description Bad request */
298
+ 400: {
299
+ headers: {
300
+ [name: string]: unknown;
301
+ };
302
+ content: {
303
+ "application/json": {
304
+ code: string;
305
+ message: string;
306
+ };
307
+ };
308
+ };
309
+ /** @description Unauthorized */
310
+ 401: {
311
+ headers: {
312
+ [name: string]: unknown;
313
+ };
314
+ content: {
315
+ "application/json": {
316
+ code: string;
317
+ message: string;
318
+ };
319
+ };
320
+ };
321
+ /** @description Forbidden */
322
+ 403: {
323
+ headers: {
324
+ [name: string]: unknown;
325
+ };
326
+ content: {
327
+ "application/json": {
328
+ code: string;
329
+ message: string;
330
+ };
331
+ };
332
+ };
333
+ /** @description Not found */
334
+ 404: {
335
+ headers: {
336
+ [name: string]: unknown;
337
+ };
338
+ content: {
339
+ "application/json": {
340
+ code: string;
341
+ message: string;
342
+ };
343
+ };
344
+ };
345
+ /** @description Internal server error */
346
+ 500: {
347
+ headers: {
348
+ [name: string]: unknown;
349
+ };
350
+ content: {
351
+ "application/json": {
352
+ code: string;
353
+ message: string;
354
+ };
355
+ };
356
+ };
357
+ };
358
+ };
359
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1.js","sourceRoot":"src/","sources":["services/analytics/generated/v1.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interface paths {\n \"/health\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** @description Health endpoint for analytics worker. */\n get: operations[\"getHealth\"];\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/events/track\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** @description Track a single analytics event. */\n post: operations[\"postV1EventsTrack\"];\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/events/track-batch\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** @description Track a batch of analytics events. */\n post: operations[\"postV1EventsTrackBatch\"];\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n}\nexport type webhooks = Record<string, never>;\nexport interface components {\n schemas: never;\n responses: never;\n parameters: never;\n requestBodies: never;\n headers: never;\n pathItems: never;\n}\nexport type $defs = Record<string, never>;\nexport interface operations {\n getHealth: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Service health */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n ok: boolean;\n /** @constant */\n service: \"analytics\";\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n postV1EventsTrack: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n /** Format: uuid */\n tenantId: string;\n event: string;\n packageName: string;\n /** Format: uuid */\n userId?: string;\n anonymousId?: string;\n groupId?: string;\n /** Format: date-time */\n trackedAt?: string;\n /** @default {} */\n properties?: {\n [key: string]: unknown;\n };\n };\n };\n };\n responses: {\n /** @description Tracked event id */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** Format: uuid */\n id: string;\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n postV1EventsTrackBatch: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n events: {\n /** Format: uuid */\n tenantId: string;\n event: string;\n packageName: string;\n /** Format: uuid */\n userId?: string;\n anonymousId?: string;\n groupId?: string;\n /** Format: date-time */\n trackedAt?: string;\n /** @default {} */\n properties?: {\n [key: string]: unknown;\n };\n }[];\n };\n };\n };\n responses: {\n /** @description Tracked event ids */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n ids: string[];\n total: number;\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n}\n"]}
@@ -1,23 +1,22 @@
1
1
  import * as Sentry from '@sentry/core';
2
2
  import { useRetryableFetch, } from '@vrplatform/utils';
3
3
  import createClient from 'openapi-fetch';
4
- import { useCache } from './cache';
5
- import { generateApiKeySec } from './sec';
6
- export function useApiClient({ baseUrl: base, local, auth, sessionId: sid,
7
- // headers: h,
8
- testing, headers: h, ...retryableFetchParams }) {
4
+ import { useCache } from '../../cache';
5
+ import { generateApiKeySec } from '../../sec';
6
+ import { applySentryTraceHeaders } from '../../service-client';
7
+ export function useApiClient({ baseUrl: base, local, auth, sessionId: sid, testing, headers: h, ...retryableFetchParams }) {
9
8
  const baseUrl = (local
10
9
  ? `http://localhost:${typeof local === 'number' ? local : 8877}`
11
- : base) || 'https://api.vrplatform.app';
10
+ : base) || 'https://api.edge.vrplatform.app';
12
11
  const sessionId = sid || crypto.randomUUID();
13
- // cache the sec key for 1 minute (its valid for 5 minutes on the API)
14
- const cache = useCache(async (v) => generateApiKeySec(v, testing?.getOverwriteTimestamp?.()), 60_000);
12
+ const cache = useCache(async (value) => generateApiKeySec(value, testing?.getOverwriteTimestamp?.()), 60_000);
15
13
  const retryableFetch = useRetryableFetch({
16
14
  ...retryableFetchParams,
17
15
  onRetry(arg) {
18
16
  cache.invalidate();
19
- if (retryableFetchParams.onRetry)
17
+ if (retryableFetchParams.onRetry) {
20
18
  retryableFetchParams.onRetry(arg);
19
+ }
21
20
  },
22
21
  });
23
22
  const trace = Sentry.getTraceData();
@@ -31,30 +30,33 @@ testing, headers: h, ...retryableFetchParams }) {
31
30
  },
32
31
  fetch(req) {
33
32
  return retryableFetch(async () => {
34
- let clone = req.clone();
35
- if (testing?.overwriteUri)
33
+ let clone = new Request(req);
34
+ if (testing?.overwriteUri) {
36
35
  clone = new Request(testing.overwriteUri, clone);
37
- const a = (typeof auth === 'function' ? auth() : auth) || {};
38
- if (sessionId)
36
+ }
37
+ const resolvedAuth = (typeof auth === 'function' ? auth() : auth) ?? {};
38
+ if (sessionId) {
39
39
  clone.headers.set('X-Session-Id', sessionId);
40
- if (a.sec)
41
- clone.headers.set('X-Api-Key', `Sec ${await cache.current(a.sec)}`);
42
- if (a.apiKey)
43
- clone.headers.set('X-Api-Key', a.apiKey);
44
- if (a.tenantId)
45
- clone.headers.set('X-Team-Id', a.tenantId);
46
- if (a.accessToken)
47
- clone.headers.set('Authorization', a.accessToken.startsWith('Bearer ')
48
- ? a.accessToken
49
- : `Bearer ${a.accessToken}`);
40
+ }
41
+ if (resolvedAuth.sec) {
42
+ clone.headers.set('X-Api-Key', `Sec ${await cache.current(resolvedAuth.sec)}`);
43
+ }
44
+ if (resolvedAuth.apiKey) {
45
+ clone.headers.set('X-Api-Key', resolvedAuth.apiKey);
46
+ }
47
+ if (resolvedAuth.tenantId) {
48
+ clone.headers.set('X-Team-Id', resolvedAuth.tenantId);
49
+ }
50
+ if (resolvedAuth.accessToken) {
51
+ clone.headers.set('Authorization', resolvedAuth.accessToken.startsWith('Bearer ')
52
+ ? resolvedAuth.accessToken
53
+ : `Bearer ${resolvedAuth.accessToken}`);
54
+ }
50
55
  const additionalHeaders = h ? (typeof h === 'function' ? h() : h) : {};
51
56
  for (const key in additionalHeaders) {
52
57
  clone.headers.set(key, additionalHeaders[key]);
53
58
  }
54
- if (trace['sentry-trace'])
55
- clone.headers.set('sentry-trace', trace['sentry-trace']);
56
- if (trace.baggage)
57
- clone.headers.set('baggage', trace.baggage);
59
+ applySentryTraceHeaders(clone.headers, trace);
58
60
  return clone;
59
61
  });
60
62
  },
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"src/","sources":["services/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAEL,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAI/D,MAAM,UAAU,YAAY,CAAC,EAC3B,OAAO,EAAE,IAAI,EACb,KAAK,EACL,IAAI,EACJ,SAAS,EAAE,GAAG,EACd,OAAO,EACP,OAAO,EAAE,CAAC,EACV,GAAG,oBAAoB,EAYD,EAAE;IACxB,MAAM,OAAO,GACX,CAAC,KAAK;QACJ,CAAC,CAAC,oBAAoB,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QAChE,CAAC,CAAC,IAAI,CAAC,IAAI,iCAAiC,CAAC;IAEjD,MAAM,SAAS,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,QAAQ,CACpB,KAAK,EAAE,KAAa,EAAE,EAAE,CACtB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,EAAE,CAAC,EAC9D,MAAM,CACP,CAAC;IAEF,MAAM,cAAc,GAAG,iBAAiB,CAAC;QACvC,GAAG,oBAAoB;QACvB,OAAO,CAAC,GAAG,EAAE;YACX,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,IAAI,oBAAoB,CAAC,OAAO,EAAE,CAAC;gBACjC,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;QAAA,CACF;KACF,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,YAAY,CAAQ;QACjC,OAAO;QACP,eAAe,EAAE;YACf,KAAK,EAAE;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,MAAM;aACd;SACF;QACD,KAAK,CAAC,GAAG,EAAE;YACT,OAAO,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChC,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;oBAC1B,KAAK,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBACnD,CAAC;gBAED,MAAM,YAAY,GAAG,CAAC,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAExE,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;gBAC/C,CAAC;gBAED,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC;oBACrB,KAAK,CAAC,OAAO,CAAC,GAAG,CACf,WAAW,EACX,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAC/C,CAAC;gBACJ,CAAC;gBAED,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;oBACxB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;gBACtD,CAAC;gBAED,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAC1B,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACxD,CAAC;gBAED,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;oBAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,CACf,eAAe,EACf,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;wBAC5C,CAAC,CAAC,YAAY,CAAC,WAAW;wBAC1B,CAAC,CAAC,UAAU,YAAY,CAAC,WAAW,EAAE,CACzC,CAAC;gBACJ,CAAC;gBAED,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;oBACpC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjD,CAAC;gBAED,uBAAuB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAE9C,OAAO,KAAK,CAAC;YAAA,CACd,CAAC,CAAC;QAAA,CACJ;KACF,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,MAAmB,CAAC;IAC1C,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,OAAO,aAAa,CAAC;AAAA,CACtB","sourcesContent":["import * as Sentry from '@sentry/core';\nimport {\n type RetryableFetchParams,\n useRetryableFetch,\n} from '@vrplatform/utils';\nimport createClient from 'openapi-fetch';\nimport { useCache } from '../../cache';\nimport { generateApiKeySec } from '../../sec';\nimport { applySentryTraceHeaders } from '../../service-client';\nimport type { paths } from './generated/v1';\nimport type { ApiClient, ApiClientAuth } from './types';\n\nexport function useApiClient({\n baseUrl: base,\n local,\n auth,\n sessionId: sid,\n testing,\n headers: h,\n ...retryableFetchParams\n}: {\n attempts?: number;\n auth?: ApiClientAuth | (() => ApiClientAuth);\n baseUrl?: string;\n sessionId?: string;\n local?: boolean | number;\n headers?: Record<string, string> | (() => Record<string, string>);\n testing?: {\n overwriteUri?: string;\n getOverwriteTimestamp?: () => number | undefined;\n };\n} & RetryableFetchParams) {\n const baseUrl =\n (local\n ? `http://localhost:${typeof local === 'number' ? local : 8877}`\n : base) || 'https://api.edge.vrplatform.app';\n\n const sessionId = sid || crypto.randomUUID();\n const cache = useCache(\n async (value: string) =>\n generateApiKeySec(value, testing?.getOverwriteTimestamp?.()),\n 60_000\n );\n\n const retryableFetch = useRetryableFetch({\n ...retryableFetchParams,\n onRetry(arg) {\n cache.invalidate();\n if (retryableFetchParams.onRetry) {\n retryableFetchParams.onRetry(arg);\n }\n },\n });\n\n const trace = Sentry.getTraceData();\n const client = createClient<paths>({\n baseUrl,\n querySerializer: {\n array: {\n explode: false,\n style: 'form',\n },\n },\n fetch(req) {\n return retryableFetch(async () => {\n let clone = new Request(req);\n if (testing?.overwriteUri) {\n clone = new Request(testing.overwriteUri, clone);\n }\n\n const resolvedAuth = (typeof auth === 'function' ? auth() : auth) ?? {};\n\n if (sessionId) {\n clone.headers.set('X-Session-Id', sessionId);\n }\n\n if (resolvedAuth.sec) {\n clone.headers.set(\n 'X-Api-Key',\n `Sec ${await cache.current(resolvedAuth.sec)}`\n );\n }\n\n if (resolvedAuth.apiKey) {\n clone.headers.set('X-Api-Key', resolvedAuth.apiKey);\n }\n\n if (resolvedAuth.tenantId) {\n clone.headers.set('X-Team-Id', resolvedAuth.tenantId);\n }\n\n if (resolvedAuth.accessToken) {\n clone.headers.set(\n 'Authorization',\n resolvedAuth.accessToken.startsWith('Bearer ')\n ? resolvedAuth.accessToken\n : `Bearer ${resolvedAuth.accessToken}`\n );\n }\n\n const additionalHeaders = h ? (typeof h === 'function' ? h() : h) : {};\n for (const key in additionalHeaders) {\n clone.headers.set(key, additionalHeaders[key]);\n }\n\n applySentryTraceHeaders(clone.headers, trace);\n\n return clone;\n });\n },\n });\n\n const sessionClient = client as ApiClient;\n sessionClient.sessionId = sessionId;\n return sessionClient;\n}\n"]}
@@ -0,0 +1,22 @@
1
+ import type { ServiceFetchResponse } from '../../service-client';
2
+ type ApiErrorPayload = {
3
+ code: string;
4
+ message: string;
5
+ issues?: {
6
+ message: string;
7
+ }[];
8
+ context?: Record<string, unknown>;
9
+ stack?: string;
10
+ };
11
+ export declare class ApiClientError extends Error {
12
+ error: ApiErrorPayload;
13
+ code: string;
14
+ issues: {
15
+ message: string;
16
+ }[];
17
+ context: Record<string, unknown>;
18
+ constructor(error: ApiErrorPayload);
19
+ }
20
+ export declare function throwIfError<T extends ServiceFetchResponse>(response: T): NonNullable<T['data']>;
21
+ export declare function throwIfError<T extends ServiceFetchResponse>(response: Promise<T>): Promise<NonNullable<T['data']>>;
22
+ export {};
@@ -9,7 +9,7 @@ export class ApiClientError extends Error {
9
9
  [
10
10
  error.code,
11
11
  error.issues
12
- ?.map((x) => [x.message, x.path?.join('->')]
12
+ ?.map((issue) => [issue.message, issue.path?.join('->')]
13
13
  .filter(hasValue)
14
14
  .join(' on '))
15
15
  .join(', '),
@@ -18,31 +18,35 @@ export class ApiClientError extends Error {
18
18
  .join(': ');
19
19
  super(message);
20
20
  this.error = error;
21
+ this.name = 'ApiClientError';
21
22
  this.code = error.code;
22
23
  this.issues = error.issues || [];
23
24
  this.context = error.context || {};
24
- if (error.stack)
25
+ if (error.stack) {
25
26
  this.stack = error.stack;
27
+ }
26
28
  }
27
29
  }
28
30
  export function throwIfError(response) {
29
31
  if (response instanceof Promise) {
30
- return response.then((response) => {
31
- if (response.response.status === 503) {
32
+ return response.then((resolved) => {
33
+ if (resolved.response.status === 503) {
32
34
  throw new ApiClientError({
33
35
  code: 'SERVICE_UNAVAILABLE',
34
36
  message: 'Worker resources exceeded.',
35
37
  });
36
38
  }
37
- const error = response.error;
38
- if (error)
39
+ const error = resolved.error;
40
+ if (error) {
39
41
  throw new ApiClientError(error);
40
- return response.data;
42
+ }
43
+ return resolved.data;
41
44
  });
42
45
  }
43
46
  const error = response.error;
44
- if (error)
47
+ if (error) {
45
48
  throw new ApiClientError(error);
49
+ }
46
50
  return response.data;
47
51
  }
48
52
  //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"src/","sources":["services/api/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAa7C,MAAM,OAAO,cAAe,SAAQ,KAAK;IAOpB,KAAK;IANxB,IAAI,CAAS;IACb,MAAM,CAEF;IACJ,OAAO,CAA0B;IAEjC,YAAmB,KAAsB,EAAE;QACzC,MAAM,OAAO,GACX,KAAK,CAAC,OAAO;YACb;gBACE,KAAK,CAAC,IAAI;gBACV,KAAK,CAAC,MAAM;oBACV,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACd,CAAC,KAAK,CAAC,OAAO,EAAG,KAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC7D,MAAM,CAAC,QAAQ,CAAC;qBAChB,IAAI,CAAC,MAAM,CAAC,CAChB;qBACA,IAAI,CAAC,IAAI,CAAC;aACd;iBACE,MAAM,CAAC,QAAQ,CAAC;iBAChB,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhB,KAAK,CAAC,OAAO,CAAC,CAAC;qBAhBE,KAAK;QAiBtB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QAEnC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3B,CAAC;IAAA,CACF;CACF;AAQD,MAAM,UAAU,YAAY,CAC1B,QAAwB,EACkC;IAC1D,IAAI,QAAQ,YAAY,OAAO,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACrC,MAAM,IAAI,cAAc,CAAC;oBACvB,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,4BAA4B;iBACtC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAoC,CAAC;YAC5D,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,OAAO,QAAQ,CAAC,IAA8B,CAAC;QAAA,CAChD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAoC,CAAC;IAC5D,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,QAAQ,CAAC,IAA8B,CAAC;AAAA,CAChD","sourcesContent":["import { hasValue } from '@vrplatform/utils';\nimport type { ServiceFetchResponse } from '../../service-client';\n\ntype ApiErrorPayload = {\n code: string;\n message: string;\n issues?: {\n message: string;\n }[];\n context?: Record<string, unknown>;\n stack?: string;\n};\n\nexport class ApiClientError extends Error {\n code: string;\n issues: {\n message: string;\n }[];\n context: Record<string, unknown>;\n\n constructor(public error: ApiErrorPayload) {\n const message =\n error.message ||\n [\n error.code,\n error.issues\n ?.map((issue) =>\n [issue.message, (issue as { path?: string[] }).path?.join('->')]\n .filter(hasValue)\n .join(' on ')\n )\n .join(', '),\n ]\n .filter(hasValue)\n .join(': ');\n\n super(message);\n this.name = 'ApiClientError';\n this.code = error.code;\n this.issues = error.issues || [];\n this.context = error.context || {};\n\n if (error.stack) {\n this.stack = error.stack;\n }\n }\n}\n\nexport function throwIfError<T extends ServiceFetchResponse>(\n response: T\n): NonNullable<T['data']>;\nexport function throwIfError<T extends ServiceFetchResponse>(\n response: Promise<T>\n): Promise<NonNullable<T['data']>>;\nexport function throwIfError<T extends ServiceFetchResponse>(\n response: Promise<T> | T\n): Promise<NonNullable<T['data']>> | NonNullable<T['data']> {\n if (response instanceof Promise) {\n return response.then((resolved) => {\n if (resolved.response.status === 503) {\n throw new ApiClientError({\n code: 'SERVICE_UNAVAILABLE',\n message: 'Worker resources exceeded.',\n });\n }\n\n const error = resolved.error as ApiErrorPayload | undefined;\n if (error) {\n throw new ApiClientError(error);\n }\n\n return resolved.data as NonNullable<T['data']>;\n });\n }\n\n const error = response.error as ApiErrorPayload | undefined;\n if (error) {\n throw new ApiClientError(error);\n }\n\n return response.data as NonNullable<T['data']>;\n}\n"]}