@medplum/core 5.1.0 → 5.1.2

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.
@@ -3504,10 +3504,12 @@ export declare class MedplumClient extends TypedEventTarget<MedplumClientEventMa
3504
3504
  private readonly tokenUrl;
3505
3505
  private readonly logoutUrl;
3506
3506
  private readonly fhircastHubUrl;
3507
+ private readonly cdsServicesUrl;
3507
3508
  private readonly defaultHeaders;
3508
3509
  private readonly onUnauthenticated?;
3509
3510
  private readonly autoBatchTime;
3510
3511
  private readonly autoBatchQueue;
3512
+ private readonly maxRetryTime;
3511
3513
  private readonly refreshGracePeriod;
3512
3514
  private subscriptionManager?;
3513
3515
  private medplumServer?;
@@ -3584,6 +3586,14 @@ export declare class MedplumClient extends TypedEventTarget<MedplumClientEventMa
3584
3586
  * @returns The current FHIRcast Hub URL.
3585
3587
  */
3586
3588
  getFhircastHubUrl(): string;
3589
+ /**
3590
+ * Returns the current CDS Services URL.
3591
+ * By default, this is set to `https://api.medplum.com/cds-services`.
3592
+ * This can be overridden by setting the `cdsServicesUrl` option when creating the client.
3593
+ * @category HTTP
3594
+ * @returns The current CDS Services URL.
3595
+ */
3596
+ getCdsServicesUrl(): string;
3587
3597
  /**
3588
3598
  * Returns default headers to include in all requests.
3589
3599
  * This can be used to set custom headers such as Cookies or Authorization headers.
@@ -5219,6 +5229,16 @@ export declare interface MedplumClientOptions {
5219
5229
  * Use this if you want to use a different path when connecting to a FHIRcast hub.
5220
5230
  */
5221
5231
  fhircastHubUrl?: string;
5232
+ /**
5233
+ * CDS Services URL.
5234
+ *
5235
+ * Default value is `baseUrl + "/cds-services"`.
5236
+ *
5237
+ * Can be specified as absolute URL or relative to `baseUrl`.
5238
+ *
5239
+ * Use this if you want to use a different path when connecting to a CDS Services endpoint.
5240
+ */
5241
+ cdsServicesUrl?: string;
5222
5242
  /**
5223
5243
  * The client ID.
5224
5244
  *
@@ -5271,6 +5291,16 @@ export declare interface MedplumClientOptions {
5271
5291
  * Default value is `0`, which disables auto batching.
5272
5292
  */
5273
5293
  autoBatchTime?: number;
5294
+ /**
5295
+ * The maximum time in milliseconds to wait between retries for failed requests.
5296
+ *
5297
+ * When the client encounters a rate-limited response (HTTP 429) or a server error (HTTP 5xx), it will automatically retry the request after a delay. The delay is calculated using an exponential backoff strategy, and this setting defines the maximum delay time.
5298
+ *
5299
+ * If the retry delay exceeds this maximum time, the client will not retry the request and will return the error response to the caller immediately. Setting this value to zero disables retries for failed requests.
5300
+ *
5301
+ * Default value is `2000` (2 seconds).
5302
+ */
5303
+ maxRetryTime?: number;
5274
5304
  /**
5275
5305
  * The refresh grace period in milliseconds.
5276
5306
  *
@@ -5425,6 +5455,32 @@ export declare interface MedplumInfraConfig {
5425
5455
  rdsForceRetain?: boolean;
5426
5456
  cacheNodeType?: string;
5427
5457
  cacheSecurityGroupId?: string;
5458
+ cacheEngine?: string;
5459
+ cacheEngineVersion?: string;
5460
+ cacheRedis?: {
5461
+ nodeType?: string;
5462
+ securityGroupId?: string;
5463
+ engine?: string;
5464
+ engineVersion?: string;
5465
+ };
5466
+ rateLimitRedis?: {
5467
+ nodeType?: string;
5468
+ securityGroupId?: string;
5469
+ engine?: string;
5470
+ engineVersion?: string;
5471
+ };
5472
+ pubSubRedis?: {
5473
+ nodeType?: string;
5474
+ securityGroupId?: string;
5475
+ engine?: string;
5476
+ engineVersion?: string;
5477
+ };
5478
+ backgroundJobsRedis?: {
5479
+ nodeType?: string;
5480
+ securityGroupId?: string;
5481
+ engine?: string;
5482
+ engineVersion?: string;
5483
+ };
5428
5484
  desiredServerCount: number;
5429
5485
  serverImage: string;
5430
5486
  serverMemory: number;
@@ -5466,6 +5522,40 @@ export declare interface MedplumInfraConfig {
5466
5522
  scaleOutCooldown: number;
5467
5523
  };
5468
5524
  environment?: StringMap;
5525
+ workers?: {
5526
+ enabled?: string[];
5527
+ bullmq?: Record<string, unknown>;
5528
+ };
5529
+ workerServices?: {
5530
+ id: string;
5531
+ serverImage?: string;
5532
+ serverMemory?: number;
5533
+ serverCpu?: number;
5534
+ desiredCount: number;
5535
+ environment?: StringMap;
5536
+ workers?: {
5537
+ enabled?: string[];
5538
+ bullmq?: Record<string, unknown>;
5539
+ };
5540
+ fargateAutoScaling?: {
5541
+ minCapacity: number;
5542
+ maxCapacity: number;
5543
+ targetUtilizationPercent: number;
5544
+ scaleInCooldown: number;
5545
+ scaleOutCooldown: number;
5546
+ };
5547
+ additionalContainers?: {
5548
+ name: string;
5549
+ image: string;
5550
+ cpu?: number;
5551
+ memory?: number;
5552
+ essential?: boolean;
5553
+ command?: string[];
5554
+ environment?: {
5555
+ [key: string]: string;
5556
+ };
5557
+ }[];
5558
+ }[];
5469
5559
  rdsIdsMajorVersionSuffix?: boolean;
5470
5560
  rdsPersistentParameterGroups?: boolean;
5471
5561
  fireLens?: {
@@ -5582,6 +5672,32 @@ export declare interface MedplumSourceInfraConfig {
5582
5672
  rdsAutoMinorVersionUpgrade?: ValueOrExternalSecret<boolean>;
5583
5673
  cacheNodeType?: ValueOrExternalSecret<string>;
5584
5674
  cacheSecurityGroupId?: ValueOrExternalSecret<string>;
5675
+ cacheEngine?: ValueOrExternalSecret<string>;
5676
+ cacheEngineVersion?: ValueOrExternalSecret<string>;
5677
+ cacheRedis?: {
5678
+ nodeType?: ValueOrExternalSecret<string>;
5679
+ securityGroupId?: ValueOrExternalSecret<string>;
5680
+ engine?: ValueOrExternalSecret<string>;
5681
+ engineVersion?: ValueOrExternalSecret<string>;
5682
+ };
5683
+ rateLimitRedis?: {
5684
+ nodeType?: ValueOrExternalSecret<string>;
5685
+ securityGroupId?: ValueOrExternalSecret<string>;
5686
+ engine?: ValueOrExternalSecret<string>;
5687
+ engineVersion?: ValueOrExternalSecret<string>;
5688
+ };
5689
+ pubSubRedis?: {
5690
+ nodeType?: ValueOrExternalSecret<string>;
5691
+ securityGroupId?: ValueOrExternalSecret<string>;
5692
+ engine?: ValueOrExternalSecret<string>;
5693
+ engineVersion?: ValueOrExternalSecret<string>;
5694
+ };
5695
+ backgroundJobsRedis?: {
5696
+ nodeType?: ValueOrExternalSecret<string>;
5697
+ securityGroupId?: ValueOrExternalSecret<string>;
5698
+ engine?: ValueOrExternalSecret<string>;
5699
+ engineVersion?: ValueOrExternalSecret<string>;
5700
+ };
5585
5701
  desiredServerCount: ValueOrExternalSecret<number>;
5586
5702
  serverImage: ValueOrExternalSecret<string>;
5587
5703
  serverMemory: ValueOrExternalSecret<number>;
@@ -5623,6 +5739,40 @@ export declare interface MedplumSourceInfraConfig {
5623
5739
  scaleOutCooldown: ValueOrExternalSecret<number>;
5624
5740
  };
5625
5741
  environment?: StringMap;
5742
+ workers?: {
5743
+ enabled?: string[];
5744
+ bullmq?: Record<string, unknown>;
5745
+ };
5746
+ workerServices?: {
5747
+ id: ValueOrExternalSecret<string>;
5748
+ serverImage?: ValueOrExternalSecret<string>;
5749
+ serverMemory?: ValueOrExternalSecret<number>;
5750
+ serverCpu?: ValueOrExternalSecret<number>;
5751
+ desiredCount: ValueOrExternalSecret<number>;
5752
+ environment?: StringMap;
5753
+ workers?: {
5754
+ enabled?: string[];
5755
+ bullmq?: Record<string, unknown>;
5756
+ };
5757
+ fargateAutoScaling?: {
5758
+ minCapacity: ValueOrExternalSecret<number>;
5759
+ maxCapacity: ValueOrExternalSecret<number>;
5760
+ targetUtilizationPercent: ValueOrExternalSecret<number>;
5761
+ scaleInCooldown: ValueOrExternalSecret<number>;
5762
+ scaleOutCooldown: ValueOrExternalSecret<number>;
5763
+ };
5764
+ additionalContainers?: {
5765
+ name: ValueOrExternalSecret<string>;
5766
+ image: ValueOrExternalSecret<string>;
5767
+ cpu?: ValueOrExternalSecret<number>;
5768
+ memory?: ValueOrExternalSecret<number>;
5769
+ essential?: ValueOrExternalSecret<boolean>;
5770
+ command?: ValueOrExternalSecret<string>[];
5771
+ environment?: {
5772
+ [key: string]: ValueOrExternalSecret<string>;
5773
+ };
5774
+ }[];
5775
+ }[];
5626
5776
  rdsIdsMajorVersionSuffix?: ValueOrExternalSecret<boolean>;
5627
5777
  rdsPersistentParameterGroups?: ValueOrExternalSecret<boolean>;
5628
5778
  fireLens?: {
@@ -3504,10 +3504,12 @@ export declare class MedplumClient extends TypedEventTarget<MedplumClientEventMa
3504
3504
  private readonly tokenUrl;
3505
3505
  private readonly logoutUrl;
3506
3506
  private readonly fhircastHubUrl;
3507
+ private readonly cdsServicesUrl;
3507
3508
  private readonly defaultHeaders;
3508
3509
  private readonly onUnauthenticated?;
3509
3510
  private readonly autoBatchTime;
3510
3511
  private readonly autoBatchQueue;
3512
+ private readonly maxRetryTime;
3511
3513
  private readonly refreshGracePeriod;
3512
3514
  private subscriptionManager?;
3513
3515
  private medplumServer?;
@@ -3584,6 +3586,14 @@ export declare class MedplumClient extends TypedEventTarget<MedplumClientEventMa
3584
3586
  * @returns The current FHIRcast Hub URL.
3585
3587
  */
3586
3588
  getFhircastHubUrl(): string;
3589
+ /**
3590
+ * Returns the current CDS Services URL.
3591
+ * By default, this is set to `https://api.medplum.com/cds-services`.
3592
+ * This can be overridden by setting the `cdsServicesUrl` option when creating the client.
3593
+ * @category HTTP
3594
+ * @returns The current CDS Services URL.
3595
+ */
3596
+ getCdsServicesUrl(): string;
3587
3597
  /**
3588
3598
  * Returns default headers to include in all requests.
3589
3599
  * This can be used to set custom headers such as Cookies or Authorization headers.
@@ -5219,6 +5229,16 @@ export declare interface MedplumClientOptions {
5219
5229
  * Use this if you want to use a different path when connecting to a FHIRcast hub.
5220
5230
  */
5221
5231
  fhircastHubUrl?: string;
5232
+ /**
5233
+ * CDS Services URL.
5234
+ *
5235
+ * Default value is `baseUrl + "/cds-services"`.
5236
+ *
5237
+ * Can be specified as absolute URL or relative to `baseUrl`.
5238
+ *
5239
+ * Use this if you want to use a different path when connecting to a CDS Services endpoint.
5240
+ */
5241
+ cdsServicesUrl?: string;
5222
5242
  /**
5223
5243
  * The client ID.
5224
5244
  *
@@ -5271,6 +5291,16 @@ export declare interface MedplumClientOptions {
5271
5291
  * Default value is `0`, which disables auto batching.
5272
5292
  */
5273
5293
  autoBatchTime?: number;
5294
+ /**
5295
+ * The maximum time in milliseconds to wait between retries for failed requests.
5296
+ *
5297
+ * When the client encounters a rate-limited response (HTTP 429) or a server error (HTTP 5xx), it will automatically retry the request after a delay. The delay is calculated using an exponential backoff strategy, and this setting defines the maximum delay time.
5298
+ *
5299
+ * If the retry delay exceeds this maximum time, the client will not retry the request and will return the error response to the caller immediately. Setting this value to zero disables retries for failed requests.
5300
+ *
5301
+ * Default value is `2000` (2 seconds).
5302
+ */
5303
+ maxRetryTime?: number;
5274
5304
  /**
5275
5305
  * The refresh grace period in milliseconds.
5276
5306
  *
@@ -5425,6 +5455,32 @@ export declare interface MedplumInfraConfig {
5425
5455
  rdsForceRetain?: boolean;
5426
5456
  cacheNodeType?: string;
5427
5457
  cacheSecurityGroupId?: string;
5458
+ cacheEngine?: string;
5459
+ cacheEngineVersion?: string;
5460
+ cacheRedis?: {
5461
+ nodeType?: string;
5462
+ securityGroupId?: string;
5463
+ engine?: string;
5464
+ engineVersion?: string;
5465
+ };
5466
+ rateLimitRedis?: {
5467
+ nodeType?: string;
5468
+ securityGroupId?: string;
5469
+ engine?: string;
5470
+ engineVersion?: string;
5471
+ };
5472
+ pubSubRedis?: {
5473
+ nodeType?: string;
5474
+ securityGroupId?: string;
5475
+ engine?: string;
5476
+ engineVersion?: string;
5477
+ };
5478
+ backgroundJobsRedis?: {
5479
+ nodeType?: string;
5480
+ securityGroupId?: string;
5481
+ engine?: string;
5482
+ engineVersion?: string;
5483
+ };
5428
5484
  desiredServerCount: number;
5429
5485
  serverImage: string;
5430
5486
  serverMemory: number;
@@ -5466,6 +5522,40 @@ export declare interface MedplumInfraConfig {
5466
5522
  scaleOutCooldown: number;
5467
5523
  };
5468
5524
  environment?: StringMap;
5525
+ workers?: {
5526
+ enabled?: string[];
5527
+ bullmq?: Record<string, unknown>;
5528
+ };
5529
+ workerServices?: {
5530
+ id: string;
5531
+ serverImage?: string;
5532
+ serverMemory?: number;
5533
+ serverCpu?: number;
5534
+ desiredCount: number;
5535
+ environment?: StringMap;
5536
+ workers?: {
5537
+ enabled?: string[];
5538
+ bullmq?: Record<string, unknown>;
5539
+ };
5540
+ fargateAutoScaling?: {
5541
+ minCapacity: number;
5542
+ maxCapacity: number;
5543
+ targetUtilizationPercent: number;
5544
+ scaleInCooldown: number;
5545
+ scaleOutCooldown: number;
5546
+ };
5547
+ additionalContainers?: {
5548
+ name: string;
5549
+ image: string;
5550
+ cpu?: number;
5551
+ memory?: number;
5552
+ essential?: boolean;
5553
+ command?: string[];
5554
+ environment?: {
5555
+ [key: string]: string;
5556
+ };
5557
+ }[];
5558
+ }[];
5469
5559
  rdsIdsMajorVersionSuffix?: boolean;
5470
5560
  rdsPersistentParameterGroups?: boolean;
5471
5561
  fireLens?: {
@@ -5582,6 +5672,32 @@ export declare interface MedplumSourceInfraConfig {
5582
5672
  rdsAutoMinorVersionUpgrade?: ValueOrExternalSecret<boolean>;
5583
5673
  cacheNodeType?: ValueOrExternalSecret<string>;
5584
5674
  cacheSecurityGroupId?: ValueOrExternalSecret<string>;
5675
+ cacheEngine?: ValueOrExternalSecret<string>;
5676
+ cacheEngineVersion?: ValueOrExternalSecret<string>;
5677
+ cacheRedis?: {
5678
+ nodeType?: ValueOrExternalSecret<string>;
5679
+ securityGroupId?: ValueOrExternalSecret<string>;
5680
+ engine?: ValueOrExternalSecret<string>;
5681
+ engineVersion?: ValueOrExternalSecret<string>;
5682
+ };
5683
+ rateLimitRedis?: {
5684
+ nodeType?: ValueOrExternalSecret<string>;
5685
+ securityGroupId?: ValueOrExternalSecret<string>;
5686
+ engine?: ValueOrExternalSecret<string>;
5687
+ engineVersion?: ValueOrExternalSecret<string>;
5688
+ };
5689
+ pubSubRedis?: {
5690
+ nodeType?: ValueOrExternalSecret<string>;
5691
+ securityGroupId?: ValueOrExternalSecret<string>;
5692
+ engine?: ValueOrExternalSecret<string>;
5693
+ engineVersion?: ValueOrExternalSecret<string>;
5694
+ };
5695
+ backgroundJobsRedis?: {
5696
+ nodeType?: ValueOrExternalSecret<string>;
5697
+ securityGroupId?: ValueOrExternalSecret<string>;
5698
+ engine?: ValueOrExternalSecret<string>;
5699
+ engineVersion?: ValueOrExternalSecret<string>;
5700
+ };
5585
5701
  desiredServerCount: ValueOrExternalSecret<number>;
5586
5702
  serverImage: ValueOrExternalSecret<string>;
5587
5703
  serverMemory: ValueOrExternalSecret<number>;
@@ -5623,6 +5739,40 @@ export declare interface MedplumSourceInfraConfig {
5623
5739
  scaleOutCooldown: ValueOrExternalSecret<number>;
5624
5740
  };
5625
5741
  environment?: StringMap;
5742
+ workers?: {
5743
+ enabled?: string[];
5744
+ bullmq?: Record<string, unknown>;
5745
+ };
5746
+ workerServices?: {
5747
+ id: ValueOrExternalSecret<string>;
5748
+ serverImage?: ValueOrExternalSecret<string>;
5749
+ serverMemory?: ValueOrExternalSecret<number>;
5750
+ serverCpu?: ValueOrExternalSecret<number>;
5751
+ desiredCount: ValueOrExternalSecret<number>;
5752
+ environment?: StringMap;
5753
+ workers?: {
5754
+ enabled?: string[];
5755
+ bullmq?: Record<string, unknown>;
5756
+ };
5757
+ fargateAutoScaling?: {
5758
+ minCapacity: ValueOrExternalSecret<number>;
5759
+ maxCapacity: ValueOrExternalSecret<number>;
5760
+ targetUtilizationPercent: ValueOrExternalSecret<number>;
5761
+ scaleInCooldown: ValueOrExternalSecret<number>;
5762
+ scaleOutCooldown: ValueOrExternalSecret<number>;
5763
+ };
5764
+ additionalContainers?: {
5765
+ name: ValueOrExternalSecret<string>;
5766
+ image: ValueOrExternalSecret<string>;
5767
+ cpu?: ValueOrExternalSecret<number>;
5768
+ memory?: ValueOrExternalSecret<number>;
5769
+ essential?: ValueOrExternalSecret<boolean>;
5770
+ command?: ValueOrExternalSecret<string>[];
5771
+ environment?: {
5772
+ [key: string]: ValueOrExternalSecret<string>;
5773
+ };
5774
+ }[];
5775
+ }[];
5626
5776
  rdsIdsMajorVersionSuffix?: ValueOrExternalSecret<boolean>;
5627
5777
  rdsPersistentParameterGroups?: ValueOrExternalSecret<boolean>;
5628
5778
  fireLens?: {