@medplum/core 2.1.7 → 2.1.9

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.
@@ -1,4 +1,4 @@
1
- import { AccessPolicy, Agent, Attachment, Binary, BulkDataExport, Bundle, Communication, ExtractResource, Identifier, Media, OperationOutcome, Project, ProjectMembership, ProjectMembershipAccess, ProjectSecret, Reference, Resource, ResourceType, UserConfiguration, ValueSet } from '@medplum/fhirtypes';
1
+ import { AccessPolicy, Agent, Attachment, Binary, BulkDataExport, Bundle, Communication, Device, ExtractResource, Identifier, Media, OperationOutcome, Project, ProjectMembership, ProjectMembershipAccess, ProjectSecret, Reference, Resource, ResourceType, UserConfiguration, ValueSet } from '@medplum/fhirtypes';
2
2
  /** @ts-ignore */
3
3
  import type { CustomTableLayout, TDocumentDefinitions, TFontDictionary } from 'pdfmake/interfaces';
4
4
  import { EventTarget } from './eventtarget';
@@ -1371,12 +1371,13 @@ export declare class MedplumClient extends EventTarget {
1371
1371
  * Pushes a message to an agent.
1372
1372
  *
1373
1373
  * @param agent The agent to push to.
1374
+ * @param destination The destination device.
1374
1375
  * @param body The message body.
1375
1376
  * @param contentType Optional message content type.
1376
1377
  * @param options Optional fetch options.
1377
1378
  * @returns Promise to the operation outcome.
1378
1379
  */
1379
- pushToAgent(agent: Agent, body: any, contentType?: string, options?: RequestInit): Promise<OperationOutcome>;
1380
+ pushToAgent(agent: Agent | Reference<Agent>, destination: Device | Reference<Device>, body: any, contentType?: string, options?: RequestInit): Promise<OperationOutcome>;
1380
1381
  /**
1381
1382
  * @category Authentication
1382
1383
  * @returns The Login State
@@ -1,3 +1,73 @@
1
+ import { TypeName } from './types';
2
+ export declare const ExternalSecretSystems: {
3
+ readonly aws_ssm_parameter_store: "aws_ssm_parameter_store";
4
+ };
5
+ export type ExternalSecretSystem = keyof typeof ExternalSecretSystems;
6
+ export type ExternalSecretPrimitive = string | boolean | number;
7
+ export type ExternalSecretPrimitiveType = 'string' | 'boolean' | 'number';
8
+ export type ExternalSecret<T extends ExternalSecretPrimitive = ExternalSecretPrimitive> = {
9
+ system: ExternalSecretSystem;
10
+ key: string;
11
+ type: TypeName<T>;
12
+ };
13
+ export type ValueOrExternalSecret<T extends ExternalSecretPrimitive> = T | ExternalSecret<T>;
14
+ export interface MedplumSourceInfraConfig {
15
+ name: ValueOrExternalSecret<string>;
16
+ stackName: ValueOrExternalSecret<string>;
17
+ accountNumber: ValueOrExternalSecret<string>;
18
+ region: string;
19
+ domainName: ValueOrExternalSecret<string>;
20
+ vpcId: ValueOrExternalSecret<string>;
21
+ apiPort: ValueOrExternalSecret<number>;
22
+ apiDomainName: ValueOrExternalSecret<string>;
23
+ apiSslCertArn: ValueOrExternalSecret<string>;
24
+ apiInternetFacing?: ValueOrExternalSecret<boolean>;
25
+ appDomainName: ValueOrExternalSecret<string>;
26
+ appSslCertArn: ValueOrExternalSecret<string>;
27
+ appApiProxy?: ValueOrExternalSecret<boolean>;
28
+ appLoggingBucket?: ValueOrExternalSecret<string>;
29
+ appLoggingPrefix?: ValueOrExternalSecret<string>;
30
+ storageBucketName: ValueOrExternalSecret<string>;
31
+ storageDomainName: ValueOrExternalSecret<string>;
32
+ storageSslCertArn: ValueOrExternalSecret<string>;
33
+ signingKeyId: ValueOrExternalSecret<string>;
34
+ storagePublicKey: ValueOrExternalSecret<string>;
35
+ storageLoggingBucket?: ValueOrExternalSecret<string>;
36
+ storageLoggingPrefix?: ValueOrExternalSecret<string>;
37
+ baseUrl: ValueOrExternalSecret<string>;
38
+ maxAzs: ValueOrExternalSecret<number>;
39
+ rdsInstances: ValueOrExternalSecret<number>;
40
+ rdsInstanceType: ValueOrExternalSecret<string>;
41
+ rdsSecretsArn?: ValueOrExternalSecret<string>;
42
+ cacheNodeType?: ValueOrExternalSecret<string>;
43
+ desiredServerCount: ValueOrExternalSecret<number>;
44
+ serverImage: ValueOrExternalSecret<string>;
45
+ serverMemory: ValueOrExternalSecret<number>;
46
+ serverCpu: ValueOrExternalSecret<number>;
47
+ loadBalancerLoggingBucket?: ValueOrExternalSecret<string>;
48
+ loadBalancerLoggingPrefix?: ValueOrExternalSecret<string>;
49
+ clamscanEnabled: ValueOrExternalSecret<boolean>;
50
+ clamscanLoggingBucket: ValueOrExternalSecret<string>;
51
+ clamscanLoggingPrefix: ValueOrExternalSecret<string>;
52
+ skipDns?: ValueOrExternalSecret<boolean>;
53
+ additionalContainers?: {
54
+ name: ValueOrExternalSecret<string>;
55
+ image: ValueOrExternalSecret<string>;
56
+ cpu?: ValueOrExternalSecret<number>;
57
+ memory?: ValueOrExternalSecret<number>;
58
+ essential?: ValueOrExternalSecret<boolean>;
59
+ command?: ValueOrExternalSecret<string>[];
60
+ environment?: {
61
+ [key: string]: ValueOrExternalSecret<string>;
62
+ };
63
+ }[];
64
+ cloudTrailAlarms?: {
65
+ logGroupName: ValueOrExternalSecret<string>;
66
+ logGroupCreate?: ValueOrExternalSecret<boolean>;
67
+ snsTopicArn?: ValueOrExternalSecret<string>;
68
+ snsTopicName?: ValueOrExternalSecret<string>;
69
+ };
70
+ }
1
71
  export interface MedplumInfraConfig {
2
72
  name: string;
3
73
  stackName: string;
@@ -1,6 +1,7 @@
1
1
  import { Bundle, ElementDefinition, Reference, Resource, ResourceType, SearchParameter } from '@medplum/fhirtypes';
2
2
  import { SearchParameterDetails } from './search/details';
3
3
  import { InternalSchemaElement, InternalTypeSchema } from './typeschema/types';
4
+ export type TypeName<T> = T extends string ? 'string' : T extends number ? 'number' : T extends boolean ? 'boolean' : T extends undefined ? 'undefined' : 'object';
4
5
  export interface TypedValue {
5
6
  readonly type: string;
6
7
  readonly value: any;
@@ -23,16 +23,16 @@ export type ResourceWithCode = Resource & Code;
23
23
  export declare function createReference<T extends Resource>(resource: T): Reference<T>;
24
24
  /**
25
25
  * Returns a reference string for a resource.
26
- * @param resource The FHIR resource.
26
+ * @param input The FHIR resource or reference.
27
27
  * @returns A reference string of the form resourceType/id.
28
28
  */
29
- export declare function getReferenceString(resource: Resource): string;
29
+ export declare function getReferenceString(input: Reference | Resource): string;
30
30
  /**
31
31
  * Returns the ID portion of a reference.
32
- * @param reference A FHIR reference.
32
+ * @param input A FHIR reference or resource.
33
33
  * @returns The ID portion of a reference.
34
34
  */
35
- export declare function resolveId(reference: Reference | undefined): string | undefined;
35
+ export declare function resolveId(input: Reference | Resource | undefined): string | undefined;
36
36
  /**
37
37
  * Parses a reference and returns a tuple of [ResourceType, ID].
38
38
  * @param reference A reference to a FHIR resource.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medplum/core",
3
- "version": "2.1.7",
3
+ "version": "2.1.9",
4
4
  "description": "Medplum TS/JS Library",
5
5
  "author": "Medplum <hello@medplum.com>",
6
6
  "license": "Apache-2.0",