@medplum/agent 5.1.10 → 5.1.11
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 +67 -11
- package/package.json +5 -5
package/dist/cjs/index.cjs
CHANGED
|
@@ -54664,7 +54664,7 @@ function st(r6) {
|
|
|
54664
54664
|
return r6.bareCriteria ? [r6.bareCriteria, ...r6.criteriaWithProps] : r6.criteriaWithProps;
|
|
54665
54665
|
}
|
|
54666
54666
|
var Ha = new z(1e3);
|
|
54667
|
-
var ln = "5.1.
|
|
54667
|
+
var ln = "5.1.11-0b5234d";
|
|
54668
54668
|
var za = O.FHIR_JSON + ", */*; q=0.1";
|
|
54669
54669
|
var Ja = "https://api.medplum.com/";
|
|
54670
54670
|
var Ka = 1e3;
|
|
@@ -55389,12 +55389,20 @@ var Zt = class extends te {
|
|
|
55389
55389
|
return this.fetchTokens(i);
|
|
55390
55390
|
}
|
|
55391
55391
|
refreshIfExpired(t) {
|
|
55392
|
-
return !this.refreshPromise && this.accessTokenExpires !== void 0 && !this.isAuthenticated(t) && this.refresh(), this.refreshPromise ?? Promise.resolve();
|
|
55392
|
+
return !this.refreshPromise && this.accessTokenExpires !== void 0 && !this.isAuthenticated(t) && this.refresh(t), this.refreshPromise ?? Promise.resolve();
|
|
55393
55393
|
}
|
|
55394
|
-
refresh() {
|
|
55394
|
+
refresh(t) {
|
|
55395
55395
|
if (this.refreshPromise) return this.refreshPromise;
|
|
55396
|
-
if (this.refreshToken
|
|
55397
|
-
|
|
55396
|
+
if (!(!this.refreshToken && !(this.clientId && this.clientSecret))) return this.refreshPromise = this.runRefreshWithLock(t), this.refreshPromise;
|
|
55397
|
+
}
|
|
55398
|
+
async runRefreshWithLock(t) {
|
|
55399
|
+
let n = () => {
|
|
55400
|
+
let s = this.getActiveLogin();
|
|
55401
|
+
return s?.accessToken && s.accessToken !== this.accessToken && this.setAccessToken(s.accessToken, s.refreshToken), this.isAuthenticated(t) ? Promise.resolve(this.getProfile()) : this.refreshToken ? this.fetchTokens({ grant_type: He.RefreshToken, client_id: this.clientId ?? "", refresh_token: this.refreshToken }) : this.clientId && this.clientSecret ? this.startClientLogin(this.clientId, this.clientSecret) : Promise.resolve(void 0);
|
|
55402
|
+
}, i = typeof navigator < "u" ? navigator.locks : void 0;
|
|
55403
|
+
if (!i?.request) return n();
|
|
55404
|
+
let o2 = `medplum-refresh:${this.storage.makeKey("activeLogin")}`;
|
|
55405
|
+
return i.request(o2, n);
|
|
55398
55406
|
}
|
|
55399
55407
|
async startClientLogin(t, n) {
|
|
55400
55408
|
return this.clientId = t, this.clientSecret = n, this.fetchTokens({ grant_type: He.ClientCredentials, client_id: t, client_secret: n });
|
|
@@ -74717,11 +74725,12 @@ var _App = class _App {
|
|
|
74717
74725
|
}
|
|
74718
74726
|
});
|
|
74719
74727
|
this.webSocket.addEventListener("message", async (e) => {
|
|
74728
|
+
let command;
|
|
74720
74729
|
try {
|
|
74721
74730
|
const data2 = e.data;
|
|
74722
74731
|
const str2 = data2.toString("utf8");
|
|
74723
74732
|
this.log.debug(`Received from WebSocket: ${str2.replaceAll("\r", "\n")}`);
|
|
74724
|
-
|
|
74733
|
+
command = JSON.parse(str2);
|
|
74725
74734
|
switch (command.type) {
|
|
74726
74735
|
// @ts-expect-error - Deprecated message type
|
|
74727
74736
|
case "connected":
|
|
@@ -74790,11 +74799,28 @@ var _App = class _App {
|
|
|
74790
74799
|
case "agent:error":
|
|
74791
74800
|
this.log.error(command.body);
|
|
74792
74801
|
break;
|
|
74793
|
-
default:
|
|
74794
|
-
|
|
74802
|
+
default: {
|
|
74803
|
+
const errMsg = `Unknown message type: ${command.type}`;
|
|
74804
|
+
this.log.error(errMsg);
|
|
74805
|
+
await this.sendToWebSocket({
|
|
74806
|
+
type: "agent:error",
|
|
74807
|
+
body: errMsg,
|
|
74808
|
+
callback: command.callback
|
|
74809
|
+
});
|
|
74810
|
+
}
|
|
74795
74811
|
}
|
|
74796
74812
|
} catch (err2) {
|
|
74797
|
-
|
|
74813
|
+
const errMsg = `WebSocket error on incoming message: ${_e(err2)}`;
|
|
74814
|
+
this.log.error(errMsg);
|
|
74815
|
+
try {
|
|
74816
|
+
await this.sendToWebSocket({
|
|
74817
|
+
type: "agent:error",
|
|
74818
|
+
body: errMsg,
|
|
74819
|
+
callback: command?.callback
|
|
74820
|
+
});
|
|
74821
|
+
} catch (sendErr) {
|
|
74822
|
+
this.log.error(`Failed to send agent:error response: ${_e(sendErr)}`);
|
|
74823
|
+
}
|
|
74798
74824
|
}
|
|
74799
74825
|
});
|
|
74800
74826
|
return new Promise((resolve2) => {
|
|
@@ -75244,6 +75270,20 @@ ${result}`);
|
|
|
75244
75270
|
}
|
|
75245
75271
|
(0, import_node_fs4.unlinkSync)(UPGRADE_MANIFEST_PATH);
|
|
75246
75272
|
}
|
|
75273
|
+
try {
|
|
75274
|
+
const release = await Cn("agent-upgrader", targetVersion);
|
|
75275
|
+
parseDownloadUrl(release, (0, import_node_os4.platform)());
|
|
75276
|
+
} catch (err2) {
|
|
75277
|
+
const versionTag = message.version ? `v${message.version}` : "latest";
|
|
75278
|
+
const errMsg = `Error during upgrading to version '${versionTag}': ${_e(err2)}`;
|
|
75279
|
+
this.log.error(errMsg);
|
|
75280
|
+
await this.sendToWebSocket({
|
|
75281
|
+
type: "agent:error",
|
|
75282
|
+
callback: message.callback,
|
|
75283
|
+
body: errMsg
|
|
75284
|
+
});
|
|
75285
|
+
return;
|
|
75286
|
+
}
|
|
75247
75287
|
try {
|
|
75248
75288
|
const command = __filename;
|
|
75249
75289
|
const logFile = (0, import_node_fs4.openSync)(UPGRADER_LOG_PATH, "w+");
|
|
@@ -75353,7 +75393,13 @@ ${result}`);
|
|
|
75353
75393
|
}
|
|
75354
75394
|
pushMessage(message) {
|
|
75355
75395
|
if (!message.remote) {
|
|
75356
|
-
|
|
75396
|
+
const errMsg = "Missing remote address";
|
|
75397
|
+
this.log.error(errMsg);
|
|
75398
|
+
this.addToWebSocketQueue({
|
|
75399
|
+
type: "agent:error",
|
|
75400
|
+
callback: message.callback,
|
|
75401
|
+
body: errMsg
|
|
75402
|
+
});
|
|
75357
75403
|
return;
|
|
75358
75404
|
}
|
|
75359
75405
|
const address = new URL(message.remote);
|
|
@@ -75409,7 +75455,17 @@ ${result}`);
|
|
|
75409
75455
|
const requestMsg = vo.parse(message.body);
|
|
75410
75456
|
const msh10 = requestMsg.getSegment("MSH")?.getField(10);
|
|
75411
75457
|
if (!msh10) {
|
|
75412
|
-
|
|
75458
|
+
const errMsg = "MSH.10 is missing but required";
|
|
75459
|
+
this.log.error(errMsg);
|
|
75460
|
+
this.addToWebSocketQueue({
|
|
75461
|
+
type: "agent:transmit:response",
|
|
75462
|
+
channel: message.channel,
|
|
75463
|
+
remote: message.remote,
|
|
75464
|
+
callback: message.callback,
|
|
75465
|
+
contentType: O.TEXT,
|
|
75466
|
+
statusCode: 400,
|
|
75467
|
+
body: errMsg
|
|
75468
|
+
});
|
|
75413
75469
|
return;
|
|
75414
75470
|
}
|
|
75415
75471
|
this.log.info(`[Request -- ID: ${msh10}]: ${requestMsg.toString().replaceAll("\r", "\n")}`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medplum/agent",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.11",
|
|
4
4
|
"description": "Medplum Agent",
|
|
5
5
|
"homepage": "https://www.medplum.com/",
|
|
6
6
|
"bugs": {
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"test": "jest --runInBand"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@medplum/core": "5.1.
|
|
30
|
-
"@medplum/hl7": "5.1.
|
|
29
|
+
"@medplum/core": "5.1.11",
|
|
30
|
+
"@medplum/hl7": "5.1.11",
|
|
31
31
|
"dcmjs-dimse": "0.3.3",
|
|
32
32
|
"iconv-lite": "0.7.2",
|
|
33
33
|
"semver": "7.7.4",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"ws": "8.20.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@medplum/fhirtypes": "5.1.
|
|
40
|
-
"@medplum/mock": "5.1.
|
|
39
|
+
"@medplum/fhirtypes": "5.1.11",
|
|
40
|
+
"@medplum/mock": "5.1.11",
|
|
41
41
|
"@types/async-eventemitter": "0.2.4",
|
|
42
42
|
"@types/ws": "8.18.1",
|
|
43
43
|
"mock-socket": "9.3.1",
|