@medrunner/api-client 0.2.7 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -40,6 +40,15 @@ interface ApiConfig {
40
40
  baseUrl?: string;
41
41
  accessToken?: string;
42
42
  refreshToken?: string;
43
+ cookieAuth?: boolean;
44
+ }
45
+
46
+ declare class DefaultApiConfig {
47
+ readonly baseUrl: string;
48
+ readonly accessToken?: string;
49
+ readonly refreshToken?: string;
50
+ readonly cookieAuth: boolean;
51
+ constructor(config: ApiConfig);
43
52
  }
44
53
 
45
54
  declare class TokenManager extends ApiEndpoint {
@@ -49,7 +58,7 @@ declare class TokenManager extends ApiEndpoint {
49
58
  private accessTokenExpiration?;
50
59
  private refreshTokenExpiration?;
51
60
  private tokenFetchPromise?;
52
- constructor(config: ApiConfig, refreshCallback?: AsyncAction<TokenGrant> | undefined, log?: Logger, headerProvider?: HeaderProvider);
61
+ constructor(config: DefaultApiConfig, refreshCallback?: AsyncAction<TokenGrant> | undefined, log?: Logger, headerProvider?: HeaderProvider);
53
62
  protected endpoint(): string;
54
63
  getAccessToken(source?: string): Promise<string | undefined>;
55
64
  private fetchToken;
@@ -59,8 +68,8 @@ declare abstract class ApiEndpoint {
59
68
  readonly tokenManager: TokenManager;
60
69
  protected readonly log?: Logger | undefined;
61
70
  private readonly headerProvider?;
62
- readonly baseUrl: string;
63
- protected constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger | undefined, headerProvider?: HeaderProvider | undefined);
71
+ readonly config: DefaultApiConfig;
72
+ protected constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger | undefined, headerProvider?: HeaderProvider | undefined);
64
73
  protected abstract endpoint(): string;
65
74
  protected endpointUrl(): string;
66
75
  private headersForRequest;
@@ -89,7 +98,7 @@ interface SignOutRequest {
89
98
  }
90
99
 
91
100
  declare class AuthEndpoint extends ApiEndpoint {
92
- constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
101
+ constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
93
102
  protected endpoint(): string;
94
103
  signOut(oldToken: SignOutRequest): Promise<ApiResponse>;
95
104
  getApiTokens(): Promise<ApiResponse<ApiToken[]>>;
@@ -115,7 +124,7 @@ interface ChatMessageRequest {
115
124
  }
116
125
 
117
126
  declare class ChatMessageEndpoint extends ApiEndpoint {
118
- constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
127
+ constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
119
128
  protected endpoint(): string;
120
129
  getHistory(emergencyId: string, limit: number, paginationToken?: string): Promise<ApiResponse<PaginatedResponse<ChatMessage>>>;
121
130
  sendMessage(message: ChatMessageRequest): Promise<ApiResponse<ChatMessage>>;
@@ -188,7 +197,7 @@ declare enum CodeType {
188
197
  }
189
198
 
190
199
  declare class ClientEndpoint extends ApiEndpoint {
191
- constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
200
+ constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
192
201
  protected endpoint(): string;
193
202
  get(): Promise<ApiResponse<Person>>;
194
203
  getHistory(limit: number, paginationToken?: string): Promise<ApiResponse<PaginatedResponse<ClientHistory>>>;
@@ -200,7 +209,7 @@ declare class ClientEndpoint extends ApiEndpoint {
200
209
  }
201
210
 
202
211
  declare class CodeEndpoint extends ApiEndpoint {
203
- constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
212
+ constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
204
213
  protected endpoint(): string;
205
214
  redeem(code: string): Promise<ApiResponse>;
206
215
  }
@@ -420,7 +429,7 @@ interface ResponderDetails {
420
429
  }
421
430
 
422
431
  declare class EmergencyEndpoint extends ApiEndpoint {
423
- constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
432
+ constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
424
433
  protected endpoint(): string;
425
434
  getEmergency(id: string): Promise<ApiResponse<Emergency>>;
426
435
  getEmergencies(ids: string[]): Promise<ApiResponse<Emergency[]>>;
@@ -474,7 +483,7 @@ declare enum ServiceStatus {
474
483
  }
475
484
 
476
485
  declare class OrgSettingsEndpoint extends ApiEndpoint {
477
- constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
486
+ constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
478
487
  protected endpoint(): string;
479
488
  getPublicSettings(): Promise<ApiResponse<PublicOrgSettings>>;
480
489
  }
@@ -485,13 +494,13 @@ interface MedalInformation {
485
494
  }
486
495
 
487
496
  declare class StaffEndpoint extends ApiEndpoint {
488
- constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
497
+ constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
489
498
  protected endpoint(): string;
490
499
  medalsInformation(): Promise<ApiResponse<MedalInformation[]>>;
491
500
  }
492
501
 
493
502
  declare class WebsocketEndpoint extends ApiEndpoint {
494
- constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
503
+ constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
495
504
  private websocketManager;
496
505
  protected endpoint(): string;
497
506
  initialize(): Promise<HubConnection>;
package/dist/index.d.ts CHANGED
@@ -40,6 +40,15 @@ interface ApiConfig {
40
40
  baseUrl?: string;
41
41
  accessToken?: string;
42
42
  refreshToken?: string;
43
+ cookieAuth?: boolean;
44
+ }
45
+
46
+ declare class DefaultApiConfig {
47
+ readonly baseUrl: string;
48
+ readonly accessToken?: string;
49
+ readonly refreshToken?: string;
50
+ readonly cookieAuth: boolean;
51
+ constructor(config: ApiConfig);
43
52
  }
44
53
 
45
54
  declare class TokenManager extends ApiEndpoint {
@@ -49,7 +58,7 @@ declare class TokenManager extends ApiEndpoint {
49
58
  private accessTokenExpiration?;
50
59
  private refreshTokenExpiration?;
51
60
  private tokenFetchPromise?;
52
- constructor(config: ApiConfig, refreshCallback?: AsyncAction<TokenGrant> | undefined, log?: Logger, headerProvider?: HeaderProvider);
61
+ constructor(config: DefaultApiConfig, refreshCallback?: AsyncAction<TokenGrant> | undefined, log?: Logger, headerProvider?: HeaderProvider);
53
62
  protected endpoint(): string;
54
63
  getAccessToken(source?: string): Promise<string | undefined>;
55
64
  private fetchToken;
@@ -59,8 +68,8 @@ declare abstract class ApiEndpoint {
59
68
  readonly tokenManager: TokenManager;
60
69
  protected readonly log?: Logger | undefined;
61
70
  private readonly headerProvider?;
62
- readonly baseUrl: string;
63
- protected constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger | undefined, headerProvider?: HeaderProvider | undefined);
71
+ readonly config: DefaultApiConfig;
72
+ protected constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger | undefined, headerProvider?: HeaderProvider | undefined);
64
73
  protected abstract endpoint(): string;
65
74
  protected endpointUrl(): string;
66
75
  private headersForRequest;
@@ -89,7 +98,7 @@ interface SignOutRequest {
89
98
  }
90
99
 
91
100
  declare class AuthEndpoint extends ApiEndpoint {
92
- constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
101
+ constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
93
102
  protected endpoint(): string;
94
103
  signOut(oldToken: SignOutRequest): Promise<ApiResponse>;
95
104
  getApiTokens(): Promise<ApiResponse<ApiToken[]>>;
@@ -115,7 +124,7 @@ interface ChatMessageRequest {
115
124
  }
116
125
 
117
126
  declare class ChatMessageEndpoint extends ApiEndpoint {
118
- constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
127
+ constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
119
128
  protected endpoint(): string;
120
129
  getHistory(emergencyId: string, limit: number, paginationToken?: string): Promise<ApiResponse<PaginatedResponse<ChatMessage>>>;
121
130
  sendMessage(message: ChatMessageRequest): Promise<ApiResponse<ChatMessage>>;
@@ -188,7 +197,7 @@ declare enum CodeType {
188
197
  }
189
198
 
190
199
  declare class ClientEndpoint extends ApiEndpoint {
191
- constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
200
+ constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
192
201
  protected endpoint(): string;
193
202
  get(): Promise<ApiResponse<Person>>;
194
203
  getHistory(limit: number, paginationToken?: string): Promise<ApiResponse<PaginatedResponse<ClientHistory>>>;
@@ -200,7 +209,7 @@ declare class ClientEndpoint extends ApiEndpoint {
200
209
  }
201
210
 
202
211
  declare class CodeEndpoint extends ApiEndpoint {
203
- constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
212
+ constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
204
213
  protected endpoint(): string;
205
214
  redeem(code: string): Promise<ApiResponse>;
206
215
  }
@@ -420,7 +429,7 @@ interface ResponderDetails {
420
429
  }
421
430
 
422
431
  declare class EmergencyEndpoint extends ApiEndpoint {
423
- constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
432
+ constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
424
433
  protected endpoint(): string;
425
434
  getEmergency(id: string): Promise<ApiResponse<Emergency>>;
426
435
  getEmergencies(ids: string[]): Promise<ApiResponse<Emergency[]>>;
@@ -474,7 +483,7 @@ declare enum ServiceStatus {
474
483
  }
475
484
 
476
485
  declare class OrgSettingsEndpoint extends ApiEndpoint {
477
- constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
486
+ constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
478
487
  protected endpoint(): string;
479
488
  getPublicSettings(): Promise<ApiResponse<PublicOrgSettings>>;
480
489
  }
@@ -485,13 +494,13 @@ interface MedalInformation {
485
494
  }
486
495
 
487
496
  declare class StaffEndpoint extends ApiEndpoint {
488
- constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
497
+ constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
489
498
  protected endpoint(): string;
490
499
  medalsInformation(): Promise<ApiResponse<MedalInformation[]>>;
491
500
  }
492
501
 
493
502
  declare class WebsocketEndpoint extends ApiEndpoint {
494
- constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
503
+ constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
495
504
  private websocketManager;
496
505
  protected endpoint(): string;
497
506
  initialize(): Promise<HubConnection>;
package/dist/index.js CHANGED
@@ -65,23 +65,24 @@ module.exports = __toCommonJS(src_exports);
65
65
  // src/api/endpoints/ApiEndpoint.ts
66
66
  var import_axios = __toESM(require("axios"));
67
67
  var ApiEndpoint = class {
68
- constructor(baseUrl, tokenManager, log, headerProvider) {
68
+ constructor(config, tokenManager, log, headerProvider) {
69
69
  this.tokenManager = tokenManager;
70
70
  this.log = log;
71
71
  this.headerProvider = headerProvider;
72
- this.baseUrl = baseUrl ?? "https://api.medrunner.space";
72
+ this.config = config;
73
73
  }
74
74
  static {
75
75
  __name(this, "ApiEndpoint");
76
76
  }
77
- baseUrl;
77
+ config;
78
78
  endpointUrl() {
79
- return `${this.baseUrl}/${this.endpoint()}`;
79
+ return `${this.config.baseUrl}/${this.endpoint()}`;
80
80
  }
81
81
  async headersForRequest(noAuthentication) {
82
82
  const config = {
83
- baseURL: this.baseUrl,
84
- headers: {}
83
+ baseURL: this.config.baseUrl,
84
+ headers: {},
85
+ withCredentials: this.config.cookieAuth
85
86
  };
86
87
  if (config.headers !== void 0) {
87
88
  if (!noAuthentication) {
@@ -163,8 +164,8 @@ var AuthEndpoint = class extends ApiEndpoint {
163
164
  static {
164
165
  __name(this, "AuthEndpoint");
165
166
  }
166
- constructor(baseUrl, tokenManager, log, headerProvider) {
167
- super(baseUrl, tokenManager, log, headerProvider);
167
+ constructor(config, tokenManager, log, headerProvider) {
168
+ super(config, tokenManager, log, headerProvider);
168
169
  }
169
170
  endpoint() {
170
171
  return "auth";
@@ -214,7 +215,7 @@ var AuthEndpoint = class extends ApiEndpoint {
214
215
  // src/api/endpoints/auth/TokenManager.ts
215
216
  var TokenManager = class extends ApiEndpoint {
216
217
  constructor(config, refreshCallback, log, headerProvider) {
217
- super(config.baseUrl, null, log, headerProvider);
218
+ super(config, null, log, headerProvider);
218
219
  this.refreshCallback = refreshCallback;
219
220
  this.accessToken = config.accessToken;
220
221
  this.refreshToken = config.refreshToken;
@@ -232,15 +233,19 @@ var TokenManager = class extends ApiEndpoint {
232
233
  }
233
234
  async getAccessToken(source = "unknown") {
234
235
  this.log?.debug(`getAccessToken: New token requested from ${source}`);
235
- if (this.accessToken !== void 0 && this.accessTokenExpiration !== void 0) {
236
+ if ((this.accessToken !== void 0 || this.config.cookieAuth) && this.accessTokenExpiration !== void 0) {
236
237
  const exp = Math.trunc(new Date(this.accessTokenExpiration).getTime() / 1e3);
237
238
  const now = Math.trunc(Date.now() / 1e3);
238
239
  if (exp - 300 > now) {
239
240
  this.log?.debug(`getAccessToken: ${source} => Token valid and simply returned`);
240
- return this.accessToken;
241
+ if (!this.config.cookieAuth) {
242
+ return this.accessToken;
243
+ } else {
244
+ return void 0;
245
+ }
241
246
  }
242
247
  }
243
- if (this.refreshToken === void 0) {
248
+ if (this.refreshToken === void 0 && !this.config.cookieAuth) {
244
249
  this.log?.debug(`getAccessToken: ${source} => Missing refresh token, returning stored access token`);
245
250
  return this.accessToken;
246
251
  }
@@ -251,9 +256,11 @@ var TokenManager = class extends ApiEndpoint {
251
256
  try {
252
257
  this.log?.debug(`getAccessToken: ${source} => Waiting for token fetch to complete`);
253
258
  const tokens = await this.tokenFetchPromise;
254
- this.log?.debug(`getAccessToken: ${source} => Setting new tokens in memory`);
255
- this.accessToken = tokens.accessToken;
256
- this.refreshToken = tokens.refreshToken;
259
+ this.log?.debug(`getAccessToken: ${source} => Setting new tokens in memory if no cookieAuth`);
260
+ if (!this.config.cookieAuth) {
261
+ this.accessToken = tokens.accessToken;
262
+ this.refreshToken = tokens.refreshToken;
263
+ }
257
264
  this.accessTokenExpiration = tokens.accessTokenExpiration;
258
265
  if (tokens.refreshTokenExpiration) this.refreshTokenExpiration = tokens.refreshTokenExpiration;
259
266
  if (this.refreshCallback !== void 0) {
@@ -264,11 +271,16 @@ var TokenManager = class extends ApiEndpoint {
264
271
  this.tokenFetchPromise = void 0;
265
272
  }
266
273
  this.log?.debug(`getAccessToken: ${source} => Returning new access token`);
267
- return this.accessToken;
274
+ if (!this.config.cookieAuth) {
275
+ return this.accessToken;
276
+ } else {
277
+ return void 0;
278
+ }
268
279
  }
269
280
  async fetchToken(refreshToken, source = "unknown") {
270
281
  this.log?.debug(`getAccessToken: ${source} => Fetching new tokens`);
271
- const result = await this.postRequest("/exchange", { refreshToken }, true);
282
+ const body = this.config.cookieAuth ? void 0 : { refreshToken };
283
+ const result = await this.postRequest("/exchange", body, true);
272
284
  if (!result.success || result.data === void 0) {
273
285
  throw Error(result.statusCode?.toString());
274
286
  }
@@ -282,8 +294,8 @@ var ChatMessageEndpoint = class extends ApiEndpoint {
282
294
  static {
283
295
  __name(this, "ChatMessageEndpoint");
284
296
  }
285
- constructor(baseUrl, tokenManager, log, headerProvider) {
286
- super(baseUrl, tokenManager, log, headerProvider);
297
+ constructor(config, tokenManager, log, headerProvider) {
298
+ super(config, tokenManager, log, headerProvider);
287
299
  }
288
300
  endpoint() {
289
301
  return "chatMessage";
@@ -315,8 +327,8 @@ var ClientEndpoint = class extends ApiEndpoint {
315
327
  static {
316
328
  __name(this, "ClientEndpoint");
317
329
  }
318
- constructor(baseUrl, tokenManager, log, headerProvider) {
319
- super(baseUrl, tokenManager, log, headerProvider);
330
+ constructor(config, tokenManager, log, headerProvider) {
331
+ super(config, tokenManager, log, headerProvider);
320
332
  }
321
333
  endpoint() {
322
334
  return "client";
@@ -383,8 +395,8 @@ var CodeEndpoint = class extends ApiEndpoint {
383
395
  static {
384
396
  __name(this, "CodeEndpoint");
385
397
  }
386
- constructor(baseUrl, tokenManager, log, headerProvider) {
387
- super(baseUrl, tokenManager, log, headerProvider);
398
+ constructor(config, tokenManager, log, headerProvider) {
399
+ super(config, tokenManager, log, headerProvider);
388
400
  }
389
401
  endpoint() {
390
402
  return "code";
@@ -399,13 +411,30 @@ var CodeEndpoint = class extends ApiEndpoint {
399
411
  }
400
412
  };
401
413
 
414
+ // src/api/endpoints/DefaultApiConfig.ts
415
+ var DefaultApiConfig = class {
416
+ static {
417
+ __name(this, "DefaultApiConfig");
418
+ }
419
+ baseUrl;
420
+ accessToken;
421
+ refreshToken;
422
+ cookieAuth;
423
+ constructor(config) {
424
+ this.baseUrl = config.baseUrl ?? "https://api.medrunner.space";
425
+ this.accessToken = config.accessToken;
426
+ this.refreshToken = config.refreshToken;
427
+ this.cookieAuth = config.cookieAuth ?? false;
428
+ }
429
+ };
430
+
402
431
  // src/api/endpoints/emergency/EmergencyEndpoint.ts
403
432
  var EmergencyEndpoint = class extends ApiEndpoint {
404
433
  static {
405
434
  __name(this, "EmergencyEndpoint");
406
435
  }
407
- constructor(baseUrl, tokenManager, log, headerProvider) {
408
- super(baseUrl, tokenManager, log, headerProvider);
436
+ constructor(config, tokenManager, log, headerProvider) {
437
+ super(config, tokenManager, log, headerProvider);
409
438
  }
410
439
  endpoint() {
411
440
  return "emergency";
@@ -489,11 +518,11 @@ var OrgSettingsEndpoint = class extends ApiEndpoint {
489
518
  static {
490
519
  __name(this, "OrgSettingsEndpoint");
491
520
  }
492
- constructor(baseUrl, tokenManager, log, headerProvider) {
493
- super(baseUrl, tokenManager, log, headerProvider);
521
+ constructor(config, tokenManager, log, headerProvider) {
522
+ super(config, tokenManager, log, headerProvider);
494
523
  }
495
524
  endpoint() {
496
- return "orgsettings";
525
+ return "orgSettings";
497
526
  }
498
527
  /**
499
528
  * Get the public org settings.
@@ -509,8 +538,8 @@ var StaffEndpoint = class extends ApiEndpoint {
509
538
  static {
510
539
  __name(this, "StaffEndpoint");
511
540
  }
512
- constructor(baseUrl, tokenManager, log, headerProvider) {
513
- super(baseUrl, tokenManager, log, headerProvider);
541
+ constructor(config, tokenManager, log, headerProvider) {
542
+ super(config, tokenManager, log, headerProvider);
514
543
  }
515
544
  endpoint() {
516
545
  return "staff";
@@ -553,8 +582,8 @@ var WSLogger = class {
553
582
  }
554
583
  };
555
584
  var WebsocketManager = class {
556
- constructor(baseUrl, tokenManager, logger) {
557
- this.baseUrl = baseUrl;
585
+ constructor(config, tokenManager, logger) {
586
+ this.config = config;
558
587
  this.tokenManager = tokenManager;
559
588
  this.logger = logger;
560
589
  }
@@ -566,8 +595,9 @@ var WebsocketManager = class {
566
595
  async establishConnection() {
567
596
  return new import_signalr.HubConnectionBuilder().withAutomaticReconnect({
568
597
  nextRetryDelayInMilliseconds: /* @__PURE__ */ __name((retryContext) => retryContext.previousRetryCount > 5 ? null : 2e3, "nextRetryDelayInMilliseconds")
569
- }).withUrl(`${this.baseUrl}/hub/emergency`, {
570
- accessTokenFactory: /* @__PURE__ */ __name(async () => await this.tokenManager.getAccessToken("WS accessTokenFactory") ?? "", "accessTokenFactory")
598
+ }).withUrl(`${this.config.baseUrl}/hub/emergency`, {
599
+ withCredentials: this.config.cookieAuth,
600
+ accessTokenFactory: this.config.cookieAuth ? async () => await this.tokenManager.getAccessToken("WS accessTokenFactory") ?? "" : void 0
571
601
  }).configureLogging(new WSLogger(this.logger)).build();
572
602
  }
573
603
  };
@@ -577,10 +607,10 @@ var WebsocketEndpoint = class extends ApiEndpoint {
577
607
  static {
578
608
  __name(this, "WebsocketEndpoint");
579
609
  }
580
- constructor(baseUrl, tokenManager, log, headerProvider) {
581
- super(baseUrl, tokenManager, log, headerProvider);
610
+ constructor(config, tokenManager, log, headerProvider) {
611
+ super(config, tokenManager, log, headerProvider);
582
612
  }
583
- websocketManager = new WebsocketManager(this.baseUrl, this.tokenManager, this.log);
613
+ websocketManager = new WebsocketManager(this.config, this.tokenManager, this.log);
584
614
  endpoint() {
585
615
  return "websocket";
586
616
  }
@@ -619,16 +649,17 @@ var MedrunnerApiClient = class _MedrunnerApiClient {
619
649
  * @param log - A logger which logs request details
620
650
  * */
621
651
  static buildClient(config, refreshCallback, log) {
622
- const tokenManager = new TokenManager(config, refreshCallback, log);
652
+ const configWithDefaults = new DefaultApiConfig(config);
653
+ const tokenManager = new TokenManager(configWithDefaults, refreshCallback, log);
623
654
  return new _MedrunnerApiClient(
624
- new EmergencyEndpoint(config.baseUrl, tokenManager, log),
625
- new ClientEndpoint(config.baseUrl, tokenManager, log),
626
- new StaffEndpoint(config.baseUrl, tokenManager, log),
627
- new OrgSettingsEndpoint(config.baseUrl, tokenManager, log),
628
- new ChatMessageEndpoint(config.baseUrl, tokenManager, log),
629
- new CodeEndpoint(config.baseUrl, tokenManager, log),
630
- new AuthEndpoint(config.baseUrl, tokenManager, log),
631
- new WebsocketEndpoint(config.baseUrl, tokenManager, log)
655
+ new EmergencyEndpoint(configWithDefaults, tokenManager, log),
656
+ new ClientEndpoint(configWithDefaults, tokenManager, log),
657
+ new StaffEndpoint(configWithDefaults, tokenManager, log),
658
+ new OrgSettingsEndpoint(configWithDefaults, tokenManager, log),
659
+ new ChatMessageEndpoint(configWithDefaults, tokenManager, log),
660
+ new CodeEndpoint(configWithDefaults, tokenManager, log),
661
+ new AuthEndpoint(configWithDefaults, tokenManager, log),
662
+ new WebsocketEndpoint(configWithDefaults, tokenManager, log)
632
663
  );
633
664
  }
634
665
  };