@medplum/core 5.1.10 → 5.1.12
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/cjs/index.cjs +8 -8
- package/dist/cjs/index.cjs.map +4 -4
- package/dist/cjs/index.d.ts +99 -19
- package/dist/esm/index.d.ts +99 -19
- package/dist/esm/index.mjs +8 -8
- package/dist/esm/index.mjs.map +4 -4
- package/package.json +4 -4
package/dist/cjs/index.d.ts
CHANGED
|
@@ -159,6 +159,10 @@ export declare interface AddressFormatOptions {
|
|
|
159
159
|
lineSeparator?: string;
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
+
export declare type AgentChannelStats = {
|
|
163
|
+
rtt: AgentRttStats;
|
|
164
|
+
};
|
|
165
|
+
|
|
162
166
|
export declare interface AgentConnectRequest extends BaseAgentRequestMessage {
|
|
163
167
|
type: 'agent:connect:request';
|
|
164
168
|
agentId: string;
|
|
@@ -204,9 +208,51 @@ export declare interface AgentReloadConfigResponse extends BaseAgentMessage {
|
|
|
204
208
|
statusCode: number;
|
|
205
209
|
}
|
|
206
210
|
|
|
207
|
-
export declare type AgentRequestMessage = AgentConnectRequest | AgentHeartbeatRequest | AgentTransmitRequest | AgentReloadConfigRequest | AgentUpgradeRequest | AgentLogsRequest;
|
|
211
|
+
export declare type AgentRequestMessage = AgentConnectRequest | AgentHeartbeatRequest | AgentTransmitRequest | AgentReloadConfigRequest | AgentUpgradeRequest | AgentLogsRequest | AgentStatsRequest;
|
|
212
|
+
|
|
213
|
+
export declare type AgentResponseMessage = AgentConnectResponse | AgentHeartbeatResponse | AgentTransmitResponse | AgentReloadConfigResponse | AgentUpgradeResponse | AgentLogsResponse | AgentStatsResponse | AgentError;
|
|
214
|
+
|
|
215
|
+
export declare type AgentRttStats = {
|
|
216
|
+
count: number;
|
|
217
|
+
min: number;
|
|
218
|
+
max: number;
|
|
219
|
+
average: number;
|
|
220
|
+
p50: number;
|
|
221
|
+
p95: number;
|
|
222
|
+
p99: number;
|
|
223
|
+
pendingCount: number;
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
export declare type AgentStatPrimitiveValue = string | boolean | number;
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Statistics about the running agent. Known fields are typed; additional
|
|
230
|
+
* fields may be present and are preserved as unknown values.
|
|
231
|
+
*/
|
|
232
|
+
export declare interface AgentStats {
|
|
233
|
+
hl7ConnectionsOpen: number;
|
|
234
|
+
ping: number;
|
|
235
|
+
webSocketQueueDepth: number;
|
|
236
|
+
hl7QueueDepth: number;
|
|
237
|
+
hl7ClientCount: number;
|
|
238
|
+
live: boolean;
|
|
239
|
+
outstandingHeartbeats: number;
|
|
240
|
+
channelStats: Record<string, AgentChannelStats>;
|
|
241
|
+
clientStats: Record<string, AgentChannelStats>;
|
|
242
|
+
[key: string]: AgentStatValue;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
export declare interface AgentStatsRequest extends BaseAgentRequestMessage {
|
|
246
|
+
type: 'agent:stats:request';
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
export declare interface AgentStatsResponse extends BaseAgentMessage {
|
|
250
|
+
type: 'agent:stats:response';
|
|
251
|
+
statusCode: number;
|
|
252
|
+
stats: AgentStats;
|
|
253
|
+
}
|
|
208
254
|
|
|
209
|
-
export declare type
|
|
255
|
+
export declare type AgentStatValue = AgentStatPrimitiveValue | Record<string, AgentStatPrimitiveValue | Record<string, AgentStatPrimitiveValue | Record<string, AgentStatPrimitiveValue>>>;
|
|
210
256
|
|
|
211
257
|
export declare interface AgentTransmitRequest extends BaseAgentRequestMessage {
|
|
212
258
|
type: 'agent:transmit:request';
|
|
@@ -352,7 +398,7 @@ export declare interface BackgroundJobContext {
|
|
|
352
398
|
|
|
353
399
|
export declare type BackgroundJobInteraction = 'create' | 'update' | 'delete';
|
|
354
400
|
|
|
355
|
-
export declare function badRequest(details: string, expression?: string): OperationOutcome;
|
|
401
|
+
export declare function badRequest(details: string, expression?: string | string[]): OperationOutcome;
|
|
356
402
|
|
|
357
403
|
export declare interface BaseAgentMessage {
|
|
358
404
|
type: string;
|
|
@@ -809,6 +855,8 @@ export declare class ContainsAtom extends BooleanInfixOperatorAtom {
|
|
|
809
855
|
eval(context: AtomContext, input: TypedValue[]): TypedValue[];
|
|
810
856
|
}
|
|
811
857
|
|
|
858
|
+
export declare function contentTooLarge(text: string): OperationOutcome;
|
|
859
|
+
|
|
812
860
|
/**
|
|
813
861
|
* Content type constants.
|
|
814
862
|
*/
|
|
@@ -1180,7 +1228,7 @@ export declare interface ElementType {
|
|
|
1180
1228
|
export declare interface EmailPasswordLoginRequest extends BaseLoginRequest {
|
|
1181
1229
|
readonly email: string;
|
|
1182
1230
|
readonly password: string;
|
|
1183
|
-
/** @deprecated Use
|
|
1231
|
+
/** @deprecated Use "offline_access" scope instead. */
|
|
1184
1232
|
readonly remember?: boolean;
|
|
1185
1233
|
}
|
|
1186
1234
|
|
|
@@ -2138,6 +2186,8 @@ export declare function getNestedProperty(value: TypedValue | undefined, key: st
|
|
|
2138
2186
|
withPath?: false;
|
|
2139
2187
|
}): (TypedValue | TypedValue[] | undefined)[];
|
|
2140
2188
|
|
|
2189
|
+
export declare function getOutcomeRedirectUrl(outcome: OperationOutcome | undefined): string | undefined;
|
|
2190
|
+
|
|
2141
2191
|
export declare function getParsedDerivedIdentifierExpression(originalExpression: string, atom: FhirPathAtom): FhirPathAtom;
|
|
2142
2192
|
|
|
2143
2193
|
export declare function getParsedExpressionForResourceType(resourceType: string, expression: string): FhirPathAtom;
|
|
@@ -2434,15 +2484,15 @@ export declare class Hl7Message {
|
|
|
2434
2484
|
readonly context: Hl7Context;
|
|
2435
2485
|
/**
|
|
2436
2486
|
* Internal lazy-parsed segment storage. Entries are `string` until they
|
|
2437
|
-
* are accessed (via {@link getSegment}, {@link getAllSegments}, {@link header},
|
|
2438
|
-
* or the public {@link segments} getter), at which point they are parsed in
|
|
2487
|
+
* are accessed (via {@link Hl7Message.getSegment}, {@link Hl7Message.getAllSegments}, {@link Hl7Message.header},
|
|
2488
|
+
* or the public {@link Hl7Message.segments} getter), at which point they are parsed in
|
|
2439
2489
|
* place and replaced with their {@link Hl7Segment} form.
|
|
2440
2490
|
*/
|
|
2441
2491
|
private readonly _segments;
|
|
2442
2492
|
/**
|
|
2443
|
-
* Maps segment name → indices into {@link _segments}. Storing indices (rather
|
|
2493
|
+
* Maps segment name → indices into {@link Hl7Message#_segments}. Storing indices (rather
|
|
2444
2494
|
* than references to the segments themselves) keeps this map in sync with
|
|
2445
|
-
* {@link _segments} without needing a per-parse update step, and is immune to
|
|
2495
|
+
* {@link Hl7Message#_segments} without needing a per-parse update step, and is immune to
|
|
2446
2496
|
* collisions when two segments have identical raw text.
|
|
2447
2497
|
*/
|
|
2448
2498
|
private segmentsByName;
|
|
@@ -2452,8 +2502,8 @@ export declare class Hl7Message {
|
|
|
2452
2502
|
/**
|
|
2453
2503
|
* Creates a new HL7 message.
|
|
2454
2504
|
*
|
|
2455
|
-
* Segment strings are not parsed until they are accessed via {@link getSegment},
|
|
2456
|
-
* {@link getAllSegments}, {@link header}, or the {@link segments} getter.
|
|
2505
|
+
* Segment strings are not parsed until they are accessed via {@link Hl7Message.getSegment},
|
|
2506
|
+
* {@link Hl7Message.getAllSegments}, {@link Hl7Message.header}, or the {@link Hl7Message.segments} getter.
|
|
2457
2507
|
*
|
|
2458
2508
|
* @param segments - The HL7 segments.
|
|
2459
2509
|
* @param context - Optional HL7 parsing context.
|
|
@@ -2462,7 +2512,7 @@ export declare class Hl7Message {
|
|
|
2462
2512
|
/**
|
|
2463
2513
|
* Returns all HL7 segments, parsing any unparsed segment strings on first access.
|
|
2464
2514
|
*
|
|
2465
|
-
* Prefer {@link getSegment} or {@link getAllSegments} when you only need a subset
|
|
2515
|
+
* Prefer {@link Hl7Message.getSegment} or {@link Hl7Message.getAllSegments} when you only need a subset
|
|
2466
2516
|
* of segments; those methods avoid parsing unrelated segments.
|
|
2467
2517
|
*
|
|
2468
2518
|
* @returns The HL7 segments array.
|
|
@@ -2564,7 +2614,7 @@ export declare class Hl7Segment {
|
|
|
2564
2614
|
readonly name: string;
|
|
2565
2615
|
/**
|
|
2566
2616
|
* Internal lazy-parsed field storage. Entries are `string` until they are
|
|
2567
|
-
* accessed (via {@link getField} or the public {@link fields} getter), at
|
|
2617
|
+
* accessed (via {@link Hl7Segment.getField} or the public {@link Hl7Segment.fields} getter), at
|
|
2568
2618
|
* which point they are parsed in place and replaced with their
|
|
2569
2619
|
* {@link Hl7Field} form.
|
|
2570
2620
|
*/
|
|
@@ -2577,8 +2627,8 @@ export declare class Hl7Segment {
|
|
|
2577
2627
|
/**
|
|
2578
2628
|
* Creates a new HL7 segment.
|
|
2579
2629
|
*
|
|
2580
|
-
* Field strings are not parsed until they are accessed via {@link getField}
|
|
2581
|
-
* or via the {@link fields} getter.
|
|
2630
|
+
* Field strings are not parsed until they are accessed via {@link Hl7Segment.getField}
|
|
2631
|
+
* or via the {@link Hl7Segment.fields} getter.
|
|
2582
2632
|
*
|
|
2583
2633
|
* @param fields - The HL7 fields. The first field is the segment name.
|
|
2584
2634
|
* @param context - Optional HL7 parsing context.
|
|
@@ -2587,7 +2637,7 @@ export declare class Hl7Segment {
|
|
|
2587
2637
|
/**
|
|
2588
2638
|
* Returns all HL7 fields, parsing any unparsed field strings on first access.
|
|
2589
2639
|
*
|
|
2590
|
-
* Prefer {@link getField} when you only need a subset of fields; that method
|
|
2640
|
+
* Prefer {@link Hl7Segment.getField} when you only need a subset of fields; that method
|
|
2591
2641
|
* avoids parsing unrelated fields.
|
|
2592
2642
|
*
|
|
2593
2643
|
* @returns The HL7 fields array.
|
|
@@ -3365,6 +3415,7 @@ export declare interface LoggerOptions {
|
|
|
3365
3415
|
|
|
3366
3416
|
export declare interface LoginAuthenticationResponse {
|
|
3367
3417
|
readonly login: string;
|
|
3418
|
+
readonly emailVerificationRequired?: boolean;
|
|
3368
3419
|
readonly mfaEnrollRequired?: boolean;
|
|
3369
3420
|
readonly mfaRequired?: boolean;
|
|
3370
3421
|
readonly enrollQrCode?: string;
|
|
@@ -4999,10 +5050,27 @@ export declare class MedplumClient extends TypedEventTarget<MedplumClientEventMa
|
|
|
4999
5050
|
refreshIfExpired(gracePeriod?: number): Promise<void>;
|
|
5000
5051
|
/**
|
|
5001
5052
|
* Tries to refresh the auth tokens.
|
|
5053
|
+
*
|
|
5054
|
+
* When `navigator.locks` is available, the network call is wrapped in a Web Lock
|
|
5055
|
+
* scoped to this client's storage namespace. This serializes refresh attempts across
|
|
5056
|
+
* browser tabs/windows on the same origin so a single-use refresh token is not
|
|
5057
|
+
* consumed by more than one tab. Tabs that wait on the lock re-read the latest
|
|
5058
|
+
* tokens from storage when they acquire it and skip the network call if another tab
|
|
5059
|
+
* has already refreshed.
|
|
5060
|
+
*
|
|
5061
|
+
* @param gracePeriod - Optional grace period in milliseconds threaded through to the post-lock authentication check.
|
|
5002
5062
|
* @returns The refresh promise if available; otherwise undefined.
|
|
5003
5063
|
* @see https://openid.net/specs/openid-connect-core-1_0.html#RefreshTokens
|
|
5004
5064
|
*/
|
|
5005
5065
|
private refresh;
|
|
5066
|
+
/**
|
|
5067
|
+
* Acquires a cross-tab Web Lock (when available) and performs the token refresh.
|
|
5068
|
+
* Tabs that wait on the lock check storage on acquisition and skip the network call
|
|
5069
|
+
* if a peer tab has already produced a fresh access token.
|
|
5070
|
+
* @param gracePeriod - Optional grace period in milliseconds used by the post-lock authentication check to decide whether the current token still has enough life left to skip the network refresh.
|
|
5071
|
+
* @returns Promise that resolves when the refresh (or short-circuit) is complete.
|
|
5072
|
+
*/
|
|
5073
|
+
private runRefreshWithLock;
|
|
5006
5074
|
/**
|
|
5007
5075
|
* Starts a new OAuth2 client credentials flow.
|
|
5008
5076
|
*
|
|
@@ -5626,8 +5694,12 @@ export declare interface MedplumInfraConfig {
|
|
|
5626
5694
|
loadBalancerLoggingBucket?: string;
|
|
5627
5695
|
loadBalancerLoggingPrefix?: string;
|
|
5628
5696
|
loadBalancerAlgorithm?: 'round_robin' | 'least_outstanding_requests' | 'weighted_random';
|
|
5697
|
+
guardDutyMalwareProtectionEnabled?: boolean;
|
|
5698
|
+
/** @deprecated Use guardDutyMalwareProtectionEnabled instead */
|
|
5629
5699
|
clamscanEnabled: boolean;
|
|
5700
|
+
/** @deprecated Use guardDutyMalwareProtectionEnabled instead */
|
|
5630
5701
|
clamscanLoggingBucket: string;
|
|
5702
|
+
/** @deprecated Use guardDutyMalwareProtectionEnabled instead */
|
|
5631
5703
|
clamscanLoggingPrefix: string;
|
|
5632
5704
|
skipDns?: boolean;
|
|
5633
5705
|
hostedZoneName?: string;
|
|
@@ -5852,9 +5924,13 @@ export declare interface MedplumSourceInfraConfig {
|
|
|
5852
5924
|
loadBalancerLoggingBucket?: ValueOrExternalSecret<string>;
|
|
5853
5925
|
loadBalancerLoggingPrefix?: ValueOrExternalSecret<string>;
|
|
5854
5926
|
loadBalancerAlgorithm?: ValueOrExternalSecret<'round_robin' | 'least_outstanding_requests' | 'weighted_random'>;
|
|
5855
|
-
|
|
5856
|
-
|
|
5857
|
-
|
|
5927
|
+
guardDutyMalwareProtectionEnabled?: ValueOrExternalSecret<boolean>;
|
|
5928
|
+
/** @deprecated Use guardDutyMalwareProtectionEnabled instead */
|
|
5929
|
+
clamscanEnabled?: ValueOrExternalSecret<boolean>;
|
|
5930
|
+
/** @deprecated Use guardDutyMalwareProtectionEnabled instead */
|
|
5931
|
+
clamscanLoggingBucket?: ValueOrExternalSecret<string>;
|
|
5932
|
+
/** @deprecated Use guardDutyMalwareProtectionEnabled instead */
|
|
5933
|
+
clamscanLoggingPrefix?: ValueOrExternalSecret<string>;
|
|
5858
5934
|
skipDns?: ValueOrExternalSecret<boolean>;
|
|
5859
5935
|
hostedZoneName?: ValueOrExternalSecret<string>;
|
|
5860
5936
|
wafLogGroupName?: ValueOrExternalSecret<string>;
|
|
@@ -6017,7 +6093,7 @@ export declare interface NewUserRequest {
|
|
|
6017
6093
|
readonly lastName: string;
|
|
6018
6094
|
readonly email: string;
|
|
6019
6095
|
readonly password: string;
|
|
6020
|
-
readonly recaptchaToken
|
|
6096
|
+
readonly recaptchaToken?: string;
|
|
6021
6097
|
readonly recaptchaSiteKey?: string;
|
|
6022
6098
|
readonly remember?: boolean;
|
|
6023
6099
|
readonly projectId?: string;
|
|
@@ -6086,6 +6162,7 @@ export declare type OAuthClientAssertionType = (typeof OAuthClientAssertionType)
|
|
|
6086
6162
|
* Standard identifiers: {@link https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-07#name-grant-types}
|
|
6087
6163
|
* JWT bearer extension: {@link https://datatracker.ietf.org/doc/html/rfc7523}
|
|
6088
6164
|
* Token exchange extension: {@link https://datatracker.ietf.org/doc/html/rfc8693}
|
|
6165
|
+
* Pre-authorized code: {@link https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-urnietfparamsoauthgrant-typ}
|
|
6089
6166
|
*/
|
|
6090
6167
|
export declare const OAuthGrantType: {
|
|
6091
6168
|
readonly ClientCredentials: "client_credentials";
|
|
@@ -6093,6 +6170,7 @@ export declare const OAuthGrantType: {
|
|
|
6093
6170
|
readonly RefreshToken: "refresh_token";
|
|
6094
6171
|
readonly JwtBearer: "urn:ietf:params:oauth:grant-type:jwt-bearer";
|
|
6095
6172
|
readonly TokenExchange: "urn:ietf:params:oauth:grant-type:token-exchange";
|
|
6173
|
+
readonly PreAuthorizedCode: "urn:ietf:params:oauth:grant-type:pre-authorized_code";
|
|
6096
6174
|
};
|
|
6097
6175
|
|
|
6098
6176
|
export declare type OAuthGrantType = (typeof OAuthGrantType)[keyof typeof OAuthGrantType];
|
|
@@ -6802,6 +6880,8 @@ export declare class ParserBuilder {
|
|
|
6802
6880
|
|
|
6803
6881
|
export declare function redirect(url: URL): OperationOutcome;
|
|
6804
6882
|
|
|
6883
|
+
export declare function redirectOk(url: URL): OperationOutcome;
|
|
6884
|
+
|
|
6805
6885
|
export declare type ReleaseManifest = {
|
|
6806
6886
|
tag_name: string;
|
|
6807
6887
|
assets: {
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -159,6 +159,10 @@ export declare interface AddressFormatOptions {
|
|
|
159
159
|
lineSeparator?: string;
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
+
export declare type AgentChannelStats = {
|
|
163
|
+
rtt: AgentRttStats;
|
|
164
|
+
};
|
|
165
|
+
|
|
162
166
|
export declare interface AgentConnectRequest extends BaseAgentRequestMessage {
|
|
163
167
|
type: 'agent:connect:request';
|
|
164
168
|
agentId: string;
|
|
@@ -204,9 +208,51 @@ export declare interface AgentReloadConfigResponse extends BaseAgentMessage {
|
|
|
204
208
|
statusCode: number;
|
|
205
209
|
}
|
|
206
210
|
|
|
207
|
-
export declare type AgentRequestMessage = AgentConnectRequest | AgentHeartbeatRequest | AgentTransmitRequest | AgentReloadConfigRequest | AgentUpgradeRequest | AgentLogsRequest;
|
|
211
|
+
export declare type AgentRequestMessage = AgentConnectRequest | AgentHeartbeatRequest | AgentTransmitRequest | AgentReloadConfigRequest | AgentUpgradeRequest | AgentLogsRequest | AgentStatsRequest;
|
|
212
|
+
|
|
213
|
+
export declare type AgentResponseMessage = AgentConnectResponse | AgentHeartbeatResponse | AgentTransmitResponse | AgentReloadConfigResponse | AgentUpgradeResponse | AgentLogsResponse | AgentStatsResponse | AgentError;
|
|
214
|
+
|
|
215
|
+
export declare type AgentRttStats = {
|
|
216
|
+
count: number;
|
|
217
|
+
min: number;
|
|
218
|
+
max: number;
|
|
219
|
+
average: number;
|
|
220
|
+
p50: number;
|
|
221
|
+
p95: number;
|
|
222
|
+
p99: number;
|
|
223
|
+
pendingCount: number;
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
export declare type AgentStatPrimitiveValue = string | boolean | number;
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Statistics about the running agent. Known fields are typed; additional
|
|
230
|
+
* fields may be present and are preserved as unknown values.
|
|
231
|
+
*/
|
|
232
|
+
export declare interface AgentStats {
|
|
233
|
+
hl7ConnectionsOpen: number;
|
|
234
|
+
ping: number;
|
|
235
|
+
webSocketQueueDepth: number;
|
|
236
|
+
hl7QueueDepth: number;
|
|
237
|
+
hl7ClientCount: number;
|
|
238
|
+
live: boolean;
|
|
239
|
+
outstandingHeartbeats: number;
|
|
240
|
+
channelStats: Record<string, AgentChannelStats>;
|
|
241
|
+
clientStats: Record<string, AgentChannelStats>;
|
|
242
|
+
[key: string]: AgentStatValue;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
export declare interface AgentStatsRequest extends BaseAgentRequestMessage {
|
|
246
|
+
type: 'agent:stats:request';
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
export declare interface AgentStatsResponse extends BaseAgentMessage {
|
|
250
|
+
type: 'agent:stats:response';
|
|
251
|
+
statusCode: number;
|
|
252
|
+
stats: AgentStats;
|
|
253
|
+
}
|
|
208
254
|
|
|
209
|
-
export declare type
|
|
255
|
+
export declare type AgentStatValue = AgentStatPrimitiveValue | Record<string, AgentStatPrimitiveValue | Record<string, AgentStatPrimitiveValue | Record<string, AgentStatPrimitiveValue>>>;
|
|
210
256
|
|
|
211
257
|
export declare interface AgentTransmitRequest extends BaseAgentRequestMessage {
|
|
212
258
|
type: 'agent:transmit:request';
|
|
@@ -352,7 +398,7 @@ export declare interface BackgroundJobContext {
|
|
|
352
398
|
|
|
353
399
|
export declare type BackgroundJobInteraction = 'create' | 'update' | 'delete';
|
|
354
400
|
|
|
355
|
-
export declare function badRequest(details: string, expression?: string): OperationOutcome;
|
|
401
|
+
export declare function badRequest(details: string, expression?: string | string[]): OperationOutcome;
|
|
356
402
|
|
|
357
403
|
export declare interface BaseAgentMessage {
|
|
358
404
|
type: string;
|
|
@@ -809,6 +855,8 @@ export declare class ContainsAtom extends BooleanInfixOperatorAtom {
|
|
|
809
855
|
eval(context: AtomContext, input: TypedValue[]): TypedValue[];
|
|
810
856
|
}
|
|
811
857
|
|
|
858
|
+
export declare function contentTooLarge(text: string): OperationOutcome;
|
|
859
|
+
|
|
812
860
|
/**
|
|
813
861
|
* Content type constants.
|
|
814
862
|
*/
|
|
@@ -1180,7 +1228,7 @@ export declare interface ElementType {
|
|
|
1180
1228
|
export declare interface EmailPasswordLoginRequest extends BaseLoginRequest {
|
|
1181
1229
|
readonly email: string;
|
|
1182
1230
|
readonly password: string;
|
|
1183
|
-
/** @deprecated Use
|
|
1231
|
+
/** @deprecated Use "offline_access" scope instead. */
|
|
1184
1232
|
readonly remember?: boolean;
|
|
1185
1233
|
}
|
|
1186
1234
|
|
|
@@ -2138,6 +2186,8 @@ export declare function getNestedProperty(value: TypedValue | undefined, key: st
|
|
|
2138
2186
|
withPath?: false;
|
|
2139
2187
|
}): (TypedValue | TypedValue[] | undefined)[];
|
|
2140
2188
|
|
|
2189
|
+
export declare function getOutcomeRedirectUrl(outcome: OperationOutcome | undefined): string | undefined;
|
|
2190
|
+
|
|
2141
2191
|
export declare function getParsedDerivedIdentifierExpression(originalExpression: string, atom: FhirPathAtom): FhirPathAtom;
|
|
2142
2192
|
|
|
2143
2193
|
export declare function getParsedExpressionForResourceType(resourceType: string, expression: string): FhirPathAtom;
|
|
@@ -2434,15 +2484,15 @@ export declare class Hl7Message {
|
|
|
2434
2484
|
readonly context: Hl7Context;
|
|
2435
2485
|
/**
|
|
2436
2486
|
* Internal lazy-parsed segment storage. Entries are `string` until they
|
|
2437
|
-
* are accessed (via {@link getSegment}, {@link getAllSegments}, {@link header},
|
|
2438
|
-
* or the public {@link segments} getter), at which point they are parsed in
|
|
2487
|
+
* are accessed (via {@link Hl7Message.getSegment}, {@link Hl7Message.getAllSegments}, {@link Hl7Message.header},
|
|
2488
|
+
* or the public {@link Hl7Message.segments} getter), at which point they are parsed in
|
|
2439
2489
|
* place and replaced with their {@link Hl7Segment} form.
|
|
2440
2490
|
*/
|
|
2441
2491
|
private readonly _segments;
|
|
2442
2492
|
/**
|
|
2443
|
-
* Maps segment name → indices into {@link _segments}. Storing indices (rather
|
|
2493
|
+
* Maps segment name → indices into {@link Hl7Message#_segments}. Storing indices (rather
|
|
2444
2494
|
* than references to the segments themselves) keeps this map in sync with
|
|
2445
|
-
* {@link _segments} without needing a per-parse update step, and is immune to
|
|
2495
|
+
* {@link Hl7Message#_segments} without needing a per-parse update step, and is immune to
|
|
2446
2496
|
* collisions when two segments have identical raw text.
|
|
2447
2497
|
*/
|
|
2448
2498
|
private segmentsByName;
|
|
@@ -2452,8 +2502,8 @@ export declare class Hl7Message {
|
|
|
2452
2502
|
/**
|
|
2453
2503
|
* Creates a new HL7 message.
|
|
2454
2504
|
*
|
|
2455
|
-
* Segment strings are not parsed until they are accessed via {@link getSegment},
|
|
2456
|
-
* {@link getAllSegments}, {@link header}, or the {@link segments} getter.
|
|
2505
|
+
* Segment strings are not parsed until they are accessed via {@link Hl7Message.getSegment},
|
|
2506
|
+
* {@link Hl7Message.getAllSegments}, {@link Hl7Message.header}, or the {@link Hl7Message.segments} getter.
|
|
2457
2507
|
*
|
|
2458
2508
|
* @param segments - The HL7 segments.
|
|
2459
2509
|
* @param context - Optional HL7 parsing context.
|
|
@@ -2462,7 +2512,7 @@ export declare class Hl7Message {
|
|
|
2462
2512
|
/**
|
|
2463
2513
|
* Returns all HL7 segments, parsing any unparsed segment strings on first access.
|
|
2464
2514
|
*
|
|
2465
|
-
* Prefer {@link getSegment} or {@link getAllSegments} when you only need a subset
|
|
2515
|
+
* Prefer {@link Hl7Message.getSegment} or {@link Hl7Message.getAllSegments} when you only need a subset
|
|
2466
2516
|
* of segments; those methods avoid parsing unrelated segments.
|
|
2467
2517
|
*
|
|
2468
2518
|
* @returns The HL7 segments array.
|
|
@@ -2564,7 +2614,7 @@ export declare class Hl7Segment {
|
|
|
2564
2614
|
readonly name: string;
|
|
2565
2615
|
/**
|
|
2566
2616
|
* Internal lazy-parsed field storage. Entries are `string` until they are
|
|
2567
|
-
* accessed (via {@link getField} or the public {@link fields} getter), at
|
|
2617
|
+
* accessed (via {@link Hl7Segment.getField} or the public {@link Hl7Segment.fields} getter), at
|
|
2568
2618
|
* which point they are parsed in place and replaced with their
|
|
2569
2619
|
* {@link Hl7Field} form.
|
|
2570
2620
|
*/
|
|
@@ -2577,8 +2627,8 @@ export declare class Hl7Segment {
|
|
|
2577
2627
|
/**
|
|
2578
2628
|
* Creates a new HL7 segment.
|
|
2579
2629
|
*
|
|
2580
|
-
* Field strings are not parsed until they are accessed via {@link getField}
|
|
2581
|
-
* or via the {@link fields} getter.
|
|
2630
|
+
* Field strings are not parsed until they are accessed via {@link Hl7Segment.getField}
|
|
2631
|
+
* or via the {@link Hl7Segment.fields} getter.
|
|
2582
2632
|
*
|
|
2583
2633
|
* @param fields - The HL7 fields. The first field is the segment name.
|
|
2584
2634
|
* @param context - Optional HL7 parsing context.
|
|
@@ -2587,7 +2637,7 @@ export declare class Hl7Segment {
|
|
|
2587
2637
|
/**
|
|
2588
2638
|
* Returns all HL7 fields, parsing any unparsed field strings on first access.
|
|
2589
2639
|
*
|
|
2590
|
-
* Prefer {@link getField} when you only need a subset of fields; that method
|
|
2640
|
+
* Prefer {@link Hl7Segment.getField} when you only need a subset of fields; that method
|
|
2591
2641
|
* avoids parsing unrelated fields.
|
|
2592
2642
|
*
|
|
2593
2643
|
* @returns The HL7 fields array.
|
|
@@ -3365,6 +3415,7 @@ export declare interface LoggerOptions {
|
|
|
3365
3415
|
|
|
3366
3416
|
export declare interface LoginAuthenticationResponse {
|
|
3367
3417
|
readonly login: string;
|
|
3418
|
+
readonly emailVerificationRequired?: boolean;
|
|
3368
3419
|
readonly mfaEnrollRequired?: boolean;
|
|
3369
3420
|
readonly mfaRequired?: boolean;
|
|
3370
3421
|
readonly enrollQrCode?: string;
|
|
@@ -4999,10 +5050,27 @@ export declare class MedplumClient extends TypedEventTarget<MedplumClientEventMa
|
|
|
4999
5050
|
refreshIfExpired(gracePeriod?: number): Promise<void>;
|
|
5000
5051
|
/**
|
|
5001
5052
|
* Tries to refresh the auth tokens.
|
|
5053
|
+
*
|
|
5054
|
+
* When `navigator.locks` is available, the network call is wrapped in a Web Lock
|
|
5055
|
+
* scoped to this client's storage namespace. This serializes refresh attempts across
|
|
5056
|
+
* browser tabs/windows on the same origin so a single-use refresh token is not
|
|
5057
|
+
* consumed by more than one tab. Tabs that wait on the lock re-read the latest
|
|
5058
|
+
* tokens from storage when they acquire it and skip the network call if another tab
|
|
5059
|
+
* has already refreshed.
|
|
5060
|
+
*
|
|
5061
|
+
* @param gracePeriod - Optional grace period in milliseconds threaded through to the post-lock authentication check.
|
|
5002
5062
|
* @returns The refresh promise if available; otherwise undefined.
|
|
5003
5063
|
* @see https://openid.net/specs/openid-connect-core-1_0.html#RefreshTokens
|
|
5004
5064
|
*/
|
|
5005
5065
|
private refresh;
|
|
5066
|
+
/**
|
|
5067
|
+
* Acquires a cross-tab Web Lock (when available) and performs the token refresh.
|
|
5068
|
+
* Tabs that wait on the lock check storage on acquisition and skip the network call
|
|
5069
|
+
* if a peer tab has already produced a fresh access token.
|
|
5070
|
+
* @param gracePeriod - Optional grace period in milliseconds used by the post-lock authentication check to decide whether the current token still has enough life left to skip the network refresh.
|
|
5071
|
+
* @returns Promise that resolves when the refresh (or short-circuit) is complete.
|
|
5072
|
+
*/
|
|
5073
|
+
private runRefreshWithLock;
|
|
5006
5074
|
/**
|
|
5007
5075
|
* Starts a new OAuth2 client credentials flow.
|
|
5008
5076
|
*
|
|
@@ -5626,8 +5694,12 @@ export declare interface MedplumInfraConfig {
|
|
|
5626
5694
|
loadBalancerLoggingBucket?: string;
|
|
5627
5695
|
loadBalancerLoggingPrefix?: string;
|
|
5628
5696
|
loadBalancerAlgorithm?: 'round_robin' | 'least_outstanding_requests' | 'weighted_random';
|
|
5697
|
+
guardDutyMalwareProtectionEnabled?: boolean;
|
|
5698
|
+
/** @deprecated Use guardDutyMalwareProtectionEnabled instead */
|
|
5629
5699
|
clamscanEnabled: boolean;
|
|
5700
|
+
/** @deprecated Use guardDutyMalwareProtectionEnabled instead */
|
|
5630
5701
|
clamscanLoggingBucket: string;
|
|
5702
|
+
/** @deprecated Use guardDutyMalwareProtectionEnabled instead */
|
|
5631
5703
|
clamscanLoggingPrefix: string;
|
|
5632
5704
|
skipDns?: boolean;
|
|
5633
5705
|
hostedZoneName?: string;
|
|
@@ -5852,9 +5924,13 @@ export declare interface MedplumSourceInfraConfig {
|
|
|
5852
5924
|
loadBalancerLoggingBucket?: ValueOrExternalSecret<string>;
|
|
5853
5925
|
loadBalancerLoggingPrefix?: ValueOrExternalSecret<string>;
|
|
5854
5926
|
loadBalancerAlgorithm?: ValueOrExternalSecret<'round_robin' | 'least_outstanding_requests' | 'weighted_random'>;
|
|
5855
|
-
|
|
5856
|
-
|
|
5857
|
-
|
|
5927
|
+
guardDutyMalwareProtectionEnabled?: ValueOrExternalSecret<boolean>;
|
|
5928
|
+
/** @deprecated Use guardDutyMalwareProtectionEnabled instead */
|
|
5929
|
+
clamscanEnabled?: ValueOrExternalSecret<boolean>;
|
|
5930
|
+
/** @deprecated Use guardDutyMalwareProtectionEnabled instead */
|
|
5931
|
+
clamscanLoggingBucket?: ValueOrExternalSecret<string>;
|
|
5932
|
+
/** @deprecated Use guardDutyMalwareProtectionEnabled instead */
|
|
5933
|
+
clamscanLoggingPrefix?: ValueOrExternalSecret<string>;
|
|
5858
5934
|
skipDns?: ValueOrExternalSecret<boolean>;
|
|
5859
5935
|
hostedZoneName?: ValueOrExternalSecret<string>;
|
|
5860
5936
|
wafLogGroupName?: ValueOrExternalSecret<string>;
|
|
@@ -6017,7 +6093,7 @@ export declare interface NewUserRequest {
|
|
|
6017
6093
|
readonly lastName: string;
|
|
6018
6094
|
readonly email: string;
|
|
6019
6095
|
readonly password: string;
|
|
6020
|
-
readonly recaptchaToken
|
|
6096
|
+
readonly recaptchaToken?: string;
|
|
6021
6097
|
readonly recaptchaSiteKey?: string;
|
|
6022
6098
|
readonly remember?: boolean;
|
|
6023
6099
|
readonly projectId?: string;
|
|
@@ -6086,6 +6162,7 @@ export declare type OAuthClientAssertionType = (typeof OAuthClientAssertionType)
|
|
|
6086
6162
|
* Standard identifiers: {@link https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-07#name-grant-types}
|
|
6087
6163
|
* JWT bearer extension: {@link https://datatracker.ietf.org/doc/html/rfc7523}
|
|
6088
6164
|
* Token exchange extension: {@link https://datatracker.ietf.org/doc/html/rfc8693}
|
|
6165
|
+
* Pre-authorized code: {@link https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-urnietfparamsoauthgrant-typ}
|
|
6089
6166
|
*/
|
|
6090
6167
|
export declare const OAuthGrantType: {
|
|
6091
6168
|
readonly ClientCredentials: "client_credentials";
|
|
@@ -6093,6 +6170,7 @@ export declare const OAuthGrantType: {
|
|
|
6093
6170
|
readonly RefreshToken: "refresh_token";
|
|
6094
6171
|
readonly JwtBearer: "urn:ietf:params:oauth:grant-type:jwt-bearer";
|
|
6095
6172
|
readonly TokenExchange: "urn:ietf:params:oauth:grant-type:token-exchange";
|
|
6173
|
+
readonly PreAuthorizedCode: "urn:ietf:params:oauth:grant-type:pre-authorized_code";
|
|
6096
6174
|
};
|
|
6097
6175
|
|
|
6098
6176
|
export declare type OAuthGrantType = (typeof OAuthGrantType)[keyof typeof OAuthGrantType];
|
|
@@ -6802,6 +6880,8 @@ export declare class ParserBuilder {
|
|
|
6802
6880
|
|
|
6803
6881
|
export declare function redirect(url: URL): OperationOutcome;
|
|
6804
6882
|
|
|
6883
|
+
export declare function redirectOk(url: URL): OperationOutcome;
|
|
6884
|
+
|
|
6805
6885
|
export declare type ReleaseManifest = {
|
|
6806
6886
|
tag_name: string;
|
|
6807
6887
|
assets: {
|