@vrplatform/api 1.3.1-stage.2239 → 1.3.1-stage.2243

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 (36) hide show
  1. package/build/main/services/analytics/generated/v1.d.ts +2 -2
  2. package/build/main/services/analytics/generated/v1.js.map +1 -1
  3. package/build/main/services/api/client.js +15 -0
  4. package/build/main/services/api/client.js.map +1 -1
  5. package/build/main/services/api/generated/v1.d.ts +117 -117
  6. package/build/main/services/api/generated/v1.js.map +1 -1
  7. package/build/main/services/api/types.d.ts +68 -1
  8. package/build/main/services/api/types.js.map +1 -1
  9. package/build/main/services/cache/generated/v1.d.ts +6 -6
  10. package/build/main/services/cache/generated/v1.js.map +1 -1
  11. package/build/main/services/control-plane/generated/v1.d.ts +10 -10
  12. package/build/main/services/control-plane/generated/v1.js.map +1 -1
  13. package/build/main/services/ingest/generated/v1.d.ts +9 -9
  14. package/build/main/services/ingest/generated/v1.js.map +1 -1
  15. package/build/module/services/analytics/generated/v1.d.ts +2 -2
  16. package/build/module/services/analytics/generated/v1.js.map +1 -1
  17. package/build/module/services/api/client.js +15 -0
  18. package/build/module/services/api/client.js.map +1 -1
  19. package/build/module/services/api/generated/v1.d.ts +117 -117
  20. package/build/module/services/api/generated/v1.js.map +1 -1
  21. package/build/module/services/api/types.d.ts +68 -1
  22. package/build/module/services/api/types.js.map +1 -1
  23. package/build/module/services/cache/generated/v1.d.ts +6 -6
  24. package/build/module/services/cache/generated/v1.js.map +1 -1
  25. package/build/module/services/control-plane/generated/v1.d.ts +10 -10
  26. package/build/module/services/control-plane/generated/v1.js.map +1 -1
  27. package/build/module/services/ingest/generated/v1.d.ts +9 -9
  28. package/build/module/services/ingest/generated/v1.js.map +1 -1
  29. package/package.json +4 -3
  30. package/src/services/analytics/generated/v1.ts +2 -2
  31. package/src/services/api/client.ts +30 -0
  32. package/src/services/api/generated/v1.ts +117 -117
  33. package/src/services/api/types.ts +113 -1
  34. package/src/services/cache/generated/v1.ts +6 -6
  35. package/src/services/control-plane/generated/v1.ts +10 -10
  36. package/src/services/ingest/generated/v1.ts +9 -9
@@ -157,7 +157,7 @@ export interface operations {
157
157
  path?: never;
158
158
  cookie?: never;
159
159
  };
160
- requestBody?: {
160
+ requestBody: {
161
161
  content: {
162
162
  "application/json": {
163
163
  /** Format: uuid */
@@ -259,7 +259,7 @@ export interface operations {
259
259
  path?: never;
260
260
  cookie?: never;
261
261
  };
262
- requestBody?: {
262
+ requestBody: {
263
263
  content: {
264
264
  "application/json": {
265
265
  events: {
@@ -1 +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
+ {"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"]}
@@ -101,6 +101,21 @@ function useApiClient({ baseUrl: base, local, auth, sessionId: sid, testing, hea
101
101
  },
102
102
  });
103
103
  const sessionClient = client;
104
+ function withDefaultEmptyJsonBody(method) {
105
+ return ((url, ...init) => {
106
+ const currentInit = init[0];
107
+ return method(url, (currentInit && 'body' in currentInit
108
+ ? currentInit
109
+ : {
110
+ ...currentInit,
111
+ body: {},
112
+ }));
113
+ });
114
+ }
115
+ sessionClient.DELETE = withDefaultEmptyJsonBody(client.DELETE.bind(client));
116
+ sessionClient.PATCH = withDefaultEmptyJsonBody(client.PATCH.bind(client));
117
+ sessionClient.POST = withDefaultEmptyJsonBody(client.POST.bind(client));
118
+ sessionClient.PUT = withDefaultEmptyJsonBody(client.PUT.bind(client));
104
119
  sessionClient.sessionId = sessionId;
105
120
  return sessionClient;
106
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"src/","sources":["services/api/client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAY,MAAM,yCAAqB;AACvC,6CAG2B;AAC3B,kEAAyC;AACzC,uCAAuC;AACvC,mCAA8C;AAC9C,yDAA+D;AAI/D,sBAA6B,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,IAAA,gBAAQ,EACpB,KAAK,EAAE,KAAa,EAAE,EAAE,CACtB,IAAA,uBAAiB,EAAC,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,EAAE,CAAC,EAC9D,KAAM,CACP,CAAC;IAEF,MAAM,cAAc,GAAG,IAAA,yBAAiB,EAAC;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,IAAA,uBAAY,EAAQ;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,IAAA,wCAAuB,EAAC,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"]}
1
+ {"version":3,"file":"client.js","sourceRoot":"src/","sources":["services/api/client.ts"],"names":[],"mappings":"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","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 function withDefaultEmptyJsonBody<T extends (...args: any[]) => Promise<any>>(\n method: T\n ) {\n return ((url: string, ...init: [Record<string, unknown>?]) => {\n const currentInit = init[0];\n\n return method(\n url as never,\n (currentInit && 'body' in currentInit\n ? currentInit\n : {\n ...currentInit,\n body: {},\n }) as never\n );\n }) as T;\n }\n\n sessionClient.DELETE = withDefaultEmptyJsonBody(\n client.DELETE.bind(client)\n ) as ApiClient['DELETE'];\n sessionClient.PATCH = withDefaultEmptyJsonBody(\n client.PATCH.bind(client)\n ) as ApiClient['PATCH'];\n sessionClient.POST = withDefaultEmptyJsonBody(\n client.POST.bind(client)\n ) as ApiClient['POST'];\n sessionClient.PUT = withDefaultEmptyJsonBody(\n client.PUT.bind(client)\n ) as ApiClient['PUT'];\n sessionClient.sessionId = sessionId;\n return sessionClient;\n}\n"]}