@medplum/agent 5.1.37 → 5.1.39
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 +284 -284
- package/package.json +5 -5
package/dist/cjs/index.cjs
CHANGED
|
@@ -4060,14 +4060,14 @@ var require_semver = __commonJS({
|
|
|
4060
4060
|
if (!m3[4]) {
|
|
4061
4061
|
this.prerelease = [];
|
|
4062
4062
|
} else {
|
|
4063
|
-
this.prerelease = m3[4].split(".").map((
|
|
4064
|
-
if (/^[0-9]+$/.test(
|
|
4065
|
-
const num = +
|
|
4063
|
+
this.prerelease = m3[4].split(".").map((id2) => {
|
|
4064
|
+
if (/^[0-9]+$/.test(id2)) {
|
|
4065
|
+
const num = +id2;
|
|
4066
4066
|
if (num >= 0 && num < MAX_SAFE_INTEGER) {
|
|
4067
4067
|
return num;
|
|
4068
4068
|
}
|
|
4069
4069
|
}
|
|
4070
|
-
return
|
|
4070
|
+
return id2;
|
|
4071
4071
|
});
|
|
4072
4072
|
}
|
|
4073
4073
|
this.build = m3[5] ? m3[5].split(".") : [];
|
|
@@ -4528,8 +4528,8 @@ var require_lt = __commonJS({
|
|
|
4528
4528
|
"node_modules/semver/functions/lt.js"(exports2, module2) {
|
|
4529
4529
|
"use strict";
|
|
4530
4530
|
var compare = require_compare();
|
|
4531
|
-
var
|
|
4532
|
-
module2.exports =
|
|
4531
|
+
var lt4 = (a, b2, loose) => compare(a, b2, loose) < 0;
|
|
4532
|
+
module2.exports = lt4;
|
|
4533
4533
|
}
|
|
4534
4534
|
});
|
|
4535
4535
|
|
|
@@ -4581,7 +4581,7 @@ var require_cmp = __commonJS({
|
|
|
4581
4581
|
var neq = require_neq();
|
|
4582
4582
|
var gt = require_gt();
|
|
4583
4583
|
var gte = require_gte();
|
|
4584
|
-
var
|
|
4584
|
+
var lt4 = require_lt();
|
|
4585
4585
|
var lte = require_lte();
|
|
4586
4586
|
var cmp = (a, op, b2, loose) => {
|
|
4587
4587
|
switch (op) {
|
|
@@ -4612,7 +4612,7 @@ var require_cmp = __commonJS({
|
|
|
4612
4612
|
case ">=":
|
|
4613
4613
|
return gte(a, b2, loose);
|
|
4614
4614
|
case "<":
|
|
4615
|
-
return
|
|
4615
|
+
return lt4(a, b2, loose);
|
|
4616
4616
|
case "<=":
|
|
4617
4617
|
return lte(a, b2, loose);
|
|
4618
4618
|
default:
|
|
@@ -4936,7 +4936,7 @@ var require_range = __commonJS({
|
|
|
4936
4936
|
debug("stars", comp);
|
|
4937
4937
|
return comp;
|
|
4938
4938
|
};
|
|
4939
|
-
var isX = (
|
|
4939
|
+
var isX = (id2) => !id2 || id2.toLowerCase() === "x" || id2 === "*";
|
|
4940
4940
|
var invalidXRangeOrder = (M2, m3, p3) => isX(M2) && !isX(m3) || isX(m3) && p3 && !isX(p3);
|
|
4941
4941
|
var replaceTildes = (comp, options) => {
|
|
4942
4942
|
return comp.trim().split(/\s+/).map((c2) => replaceTilde(c2, options)).join(" ");
|
|
@@ -5416,7 +5416,7 @@ var require_outside = __commonJS({
|
|
|
5416
5416
|
var Range = require_range();
|
|
5417
5417
|
var satisfies = require_satisfies();
|
|
5418
5418
|
var gt = require_gt();
|
|
5419
|
-
var
|
|
5419
|
+
var lt4 = require_lt();
|
|
5420
5420
|
var lte = require_lte();
|
|
5421
5421
|
var gte = require_gte();
|
|
5422
5422
|
var outside = (version, range, hilo, options) => {
|
|
@@ -5427,12 +5427,12 @@ var require_outside = __commonJS({
|
|
|
5427
5427
|
case ">":
|
|
5428
5428
|
gtfn = gt;
|
|
5429
5429
|
ltefn = lte;
|
|
5430
|
-
ltfn =
|
|
5430
|
+
ltfn = lt4;
|
|
5431
5431
|
comp = ">";
|
|
5432
5432
|
ecomp = ">=";
|
|
5433
5433
|
break;
|
|
5434
5434
|
case "<":
|
|
5435
|
-
gtfn =
|
|
5435
|
+
gtfn = lt4;
|
|
5436
5436
|
ltefn = gte;
|
|
5437
5437
|
ltfn = gt;
|
|
5438
5438
|
comp = "<";
|
|
@@ -5612,12 +5612,12 @@ var require_subset = __commonJS({
|
|
|
5612
5612
|
}
|
|
5613
5613
|
}
|
|
5614
5614
|
const eqSet = /* @__PURE__ */ new Set();
|
|
5615
|
-
let gt,
|
|
5615
|
+
let gt, lt4;
|
|
5616
5616
|
for (const c2 of sub2) {
|
|
5617
5617
|
if (c2.operator === ">" || c2.operator === ">=") {
|
|
5618
5618
|
gt = higherGT(gt, c2, options);
|
|
5619
5619
|
} else if (c2.operator === "<" || c2.operator === "<=") {
|
|
5620
|
-
|
|
5620
|
+
lt4 = lowerLT(lt4, c2, options);
|
|
5621
5621
|
} else {
|
|
5622
5622
|
eqSet.add(c2.semver);
|
|
5623
5623
|
}
|
|
@@ -5626,11 +5626,11 @@ var require_subset = __commonJS({
|
|
|
5626
5626
|
return null;
|
|
5627
5627
|
}
|
|
5628
5628
|
let gtltComp;
|
|
5629
|
-
if (gt &&
|
|
5630
|
-
gtltComp = compare(gt.semver,
|
|
5629
|
+
if (gt && lt4) {
|
|
5630
|
+
gtltComp = compare(gt.semver, lt4.semver, options);
|
|
5631
5631
|
if (gtltComp > 0) {
|
|
5632
5632
|
return null;
|
|
5633
|
-
} else if (gtltComp === 0 && (gt.operator !== ">=" ||
|
|
5633
|
+
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt4.operator !== "<=")) {
|
|
5634
5634
|
return null;
|
|
5635
5635
|
}
|
|
5636
5636
|
}
|
|
@@ -5638,7 +5638,7 @@ var require_subset = __commonJS({
|
|
|
5638
5638
|
if (gt && !satisfies(eq, String(gt), options)) {
|
|
5639
5639
|
return null;
|
|
5640
5640
|
}
|
|
5641
|
-
if (
|
|
5641
|
+
if (lt4 && !satisfies(eq, String(lt4), options)) {
|
|
5642
5642
|
return null;
|
|
5643
5643
|
}
|
|
5644
5644
|
for (const c2 of dom) {
|
|
@@ -5650,9 +5650,9 @@ var require_subset = __commonJS({
|
|
|
5650
5650
|
}
|
|
5651
5651
|
let higher, lower;
|
|
5652
5652
|
let hasDomLT, hasDomGT;
|
|
5653
|
-
let needDomLTPre =
|
|
5653
|
+
let needDomLTPre = lt4 && !options.includePrerelease && lt4.semver.prerelease.length ? lt4.semver : false;
|
|
5654
5654
|
let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
|
|
5655
|
-
if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&
|
|
5655
|
+
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt4.operator === "<" && needDomLTPre.prerelease[0] === 0) {
|
|
5656
5656
|
needDomLTPre = false;
|
|
5657
5657
|
}
|
|
5658
5658
|
for (const c2 of dom) {
|
|
@@ -5673,29 +5673,29 @@ var require_subset = __commonJS({
|
|
|
5673
5673
|
return false;
|
|
5674
5674
|
}
|
|
5675
5675
|
}
|
|
5676
|
-
if (
|
|
5676
|
+
if (lt4) {
|
|
5677
5677
|
if (needDomLTPre) {
|
|
5678
5678
|
if (c2.semver.prerelease && c2.semver.prerelease.length && c2.semver.major === needDomLTPre.major && c2.semver.minor === needDomLTPre.minor && c2.semver.patch === needDomLTPre.patch) {
|
|
5679
5679
|
needDomLTPre = false;
|
|
5680
5680
|
}
|
|
5681
5681
|
}
|
|
5682
5682
|
if (c2.operator === "<" || c2.operator === "<=") {
|
|
5683
|
-
lower = lowerLT(
|
|
5684
|
-
if (lower === c2 && lower !==
|
|
5683
|
+
lower = lowerLT(lt4, c2, options);
|
|
5684
|
+
if (lower === c2 && lower !== lt4) {
|
|
5685
5685
|
return false;
|
|
5686
5686
|
}
|
|
5687
|
-
} else if (
|
|
5687
|
+
} else if (lt4.operator === "<=" && !c2.test(lt4.semver)) {
|
|
5688
5688
|
return false;
|
|
5689
5689
|
}
|
|
5690
5690
|
}
|
|
5691
|
-
if (!c2.operator && (
|
|
5691
|
+
if (!c2.operator && (lt4 || gt) && gtltComp !== 0) {
|
|
5692
5692
|
return false;
|
|
5693
5693
|
}
|
|
5694
5694
|
}
|
|
5695
|
-
if (gt && hasDomLT && !
|
|
5695
|
+
if (gt && hasDomLT && !lt4 && gtltComp !== 0) {
|
|
5696
5696
|
return false;
|
|
5697
5697
|
}
|
|
5698
|
-
if (
|
|
5698
|
+
if (lt4 && hasDomGT && !gt && gtltComp !== 0) {
|
|
5699
5699
|
return false;
|
|
5700
5700
|
}
|
|
5701
5701
|
if (needDomGTPre || needDomLTPre) {
|
|
@@ -5745,7 +5745,7 @@ var require_semver2 = __commonJS({
|
|
|
5745
5745
|
var sort = require_sort();
|
|
5746
5746
|
var rsort = require_rsort();
|
|
5747
5747
|
var gt = require_gt();
|
|
5748
|
-
var
|
|
5748
|
+
var lt4 = require_lt();
|
|
5749
5749
|
var eq = require_eq();
|
|
5750
5750
|
var neq = require_neq();
|
|
5751
5751
|
var gte = require_gte();
|
|
@@ -5784,7 +5784,7 @@ var require_semver2 = __commonJS({
|
|
|
5784
5784
|
sort,
|
|
5785
5785
|
rsort,
|
|
5786
5786
|
gt,
|
|
5787
|
-
lt:
|
|
5787
|
+
lt: lt4,
|
|
5788
5788
|
eq,
|
|
5789
5789
|
neq,
|
|
5790
5790
|
gte,
|
|
@@ -18757,13 +18757,13 @@ var require_dcmjs = __commonJS({
|
|
|
18757
18757
|
return entry;
|
|
18758
18758
|
}
|
|
18759
18759
|
if (prop.length === 8) {
|
|
18760
|
-
var
|
|
18761
|
-
if (!
|
|
18762
|
-
if (!
|
|
18760
|
+
var _v2 = lookupTagHex2(prop);
|
|
18761
|
+
if (!_v2) _v2 = lookupTagRangeHex2(prop);
|
|
18762
|
+
if (!_v2) return void 0;
|
|
18763
18763
|
var tag = "(" + prop.slice(0, 4) + "," + prop.slice(4, 8) + ")";
|
|
18764
18764
|
var _entry = _objectSpread22(_objectSpread22({
|
|
18765
18765
|
tag
|
|
18766
|
-
},
|
|
18766
|
+
}, _v2), {}, {
|
|
18767
18767
|
version: "DICOM"
|
|
18768
18768
|
});
|
|
18769
18769
|
cache2.set(prop, _entry);
|
|
@@ -18771,11 +18771,11 @@ var require_dcmjs = __commonJS({
|
|
|
18771
18771
|
}
|
|
18772
18772
|
if (isPrivateTagKey2(prop)) {
|
|
18773
18773
|
if (!privateModule2) return void 0;
|
|
18774
|
-
var
|
|
18775
|
-
if (!
|
|
18774
|
+
var _v22 = privateModule2.lookupPrivateTag(prop);
|
|
18775
|
+
if (!_v22) return void 0;
|
|
18776
18776
|
var _entry2 = _objectSpread22(_objectSpread22({
|
|
18777
18777
|
tag: prop
|
|
18778
|
-
},
|
|
18778
|
+
}, _v22), {}, {
|
|
18779
18779
|
version: "PrivateTag"
|
|
18780
18780
|
});
|
|
18781
18781
|
cache2.set(prop, _entry2);
|
|
@@ -19523,9 +19523,9 @@ var require_dcmjs = __commonJS({
|
|
|
19523
19523
|
throw new Error("Invalid DICOM file, expected header is missing");
|
|
19524
19524
|
}
|
|
19525
19525
|
var metaStartPos = stream.offset;
|
|
19526
|
-
var
|
|
19526
|
+
var el2 = DicomMessage3._readTag(stream, useSyntax);
|
|
19527
19527
|
var metaHeader = {};
|
|
19528
|
-
if (
|
|
19528
|
+
if (el2.tag.cleanString !== TagHex2.FileMetaInformationGroupLength) {
|
|
19529
19529
|
if (!options.ignoreErrors) {
|
|
19530
19530
|
throw new Error("Invalid DICOM file, meta length tag is malformed or not present.");
|
|
19531
19531
|
}
|
|
@@ -19536,7 +19536,7 @@ var require_dcmjs = __commonJS({
|
|
|
19536
19536
|
ignoreErrors: true
|
|
19537
19537
|
});
|
|
19538
19538
|
} else {
|
|
19539
|
-
var metaLength =
|
|
19539
|
+
var metaLength = el2.values[0];
|
|
19540
19540
|
var metaStream = stream.more(metaLength);
|
|
19541
19541
|
metaHeader = DicomMessage3._read(metaStream, useSyntax, options);
|
|
19542
19542
|
}
|
|
@@ -20522,7 +20522,7 @@ var require_dcmjs = __commonJS({
|
|
|
20522
20522
|
key: "readMeta",
|
|
20523
20523
|
value: (function() {
|
|
20524
20524
|
var _readMeta = _asyncToGenerator2(/* @__PURE__ */ _regeneratorRuntime2().mark(function _callee4() {
|
|
20525
|
-
var options, stream, metaStartPos,
|
|
20525
|
+
var options, stream, metaStartPos, el2, metaLength, metaStream, _args4 = arguments;
|
|
20526
20526
|
return _regeneratorRuntime2().wrap(function _callee4$(_context4) {
|
|
20527
20527
|
while (1) switch (_context4.prev = _context4.next) {
|
|
20528
20528
|
case 0:
|
|
@@ -20532,8 +20532,8 @@ var require_dcmjs = __commonJS({
|
|
|
20532
20532
|
return stream.ensureAvailable();
|
|
20533
20533
|
case 4:
|
|
20534
20534
|
metaStartPos = stream.offset;
|
|
20535
|
-
|
|
20536
|
-
if (!(
|
|
20535
|
+
el2 = this.readTagHeader();
|
|
20536
|
+
if (!(el2.tag !== TagHex2.FileMetaInformationGroupLength)) {
|
|
20537
20537
|
_context4.next = 15;
|
|
20538
20538
|
break;
|
|
20539
20539
|
}
|
|
@@ -20555,7 +20555,7 @@ var require_dcmjs = __commonJS({
|
|
|
20555
20555
|
_context4.next = 20;
|
|
20556
20556
|
break;
|
|
20557
20557
|
case 15:
|
|
20558
|
-
metaLength =
|
|
20558
|
+
metaLength = el2.vrObj.readBytes(stream);
|
|
20559
20559
|
_context4.next = 18;
|
|
20560
20560
|
return stream.ensureAvailable(metaLength);
|
|
20561
20561
|
case 18:
|
|
@@ -40427,13 +40427,13 @@ var require_dcmjs2 = __commonJS({
|
|
|
40427
40427
|
return entry;
|
|
40428
40428
|
}
|
|
40429
40429
|
if (prop.length === 8) {
|
|
40430
|
-
var
|
|
40431
|
-
if (!
|
|
40432
|
-
if (!
|
|
40430
|
+
var _v2 = lookupTagHex2(prop);
|
|
40431
|
+
if (!_v2) _v2 = lookupTagRangeHex2(prop);
|
|
40432
|
+
if (!_v2) return void 0;
|
|
40433
40433
|
var tag = "(" + prop.slice(0, 4) + "," + prop.slice(4, 8) + ")";
|
|
40434
40434
|
var _entry = _objectSpread22(_objectSpread22({
|
|
40435
40435
|
tag
|
|
40436
|
-
},
|
|
40436
|
+
}, _v2), {}, {
|
|
40437
40437
|
version: "DICOM"
|
|
40438
40438
|
});
|
|
40439
40439
|
cache2.set(prop, _entry);
|
|
@@ -40441,11 +40441,11 @@ var require_dcmjs2 = __commonJS({
|
|
|
40441
40441
|
}
|
|
40442
40442
|
if (isPrivateTagKey2(prop)) {
|
|
40443
40443
|
if (!privateModule2) return void 0;
|
|
40444
|
-
var
|
|
40445
|
-
if (!
|
|
40444
|
+
var _v22 = privateModule2.lookupPrivateTag(prop);
|
|
40445
|
+
if (!_v22) return void 0;
|
|
40446
40446
|
var _entry2 = _objectSpread22(_objectSpread22({
|
|
40447
40447
|
tag: prop
|
|
40448
|
-
},
|
|
40448
|
+
}, _v22), {}, {
|
|
40449
40449
|
version: "PrivateTag"
|
|
40450
40450
|
});
|
|
40451
40451
|
cache2.set(prop, _entry2);
|
|
@@ -41193,9 +41193,9 @@ var require_dcmjs2 = __commonJS({
|
|
|
41193
41193
|
throw new Error("Invalid DICOM file, expected header is missing");
|
|
41194
41194
|
}
|
|
41195
41195
|
var metaStartPos = stream.offset;
|
|
41196
|
-
var
|
|
41196
|
+
var el2 = DicomMessage3._readTag(stream, useSyntax);
|
|
41197
41197
|
var metaHeader = {};
|
|
41198
|
-
if (
|
|
41198
|
+
if (el2.tag.cleanString !== TagHex2.FileMetaInformationGroupLength) {
|
|
41199
41199
|
if (!options.ignoreErrors) {
|
|
41200
41200
|
throw new Error("Invalid DICOM file, meta length tag is malformed or not present.");
|
|
41201
41201
|
}
|
|
@@ -41206,7 +41206,7 @@ var require_dcmjs2 = __commonJS({
|
|
|
41206
41206
|
ignoreErrors: true
|
|
41207
41207
|
});
|
|
41208
41208
|
} else {
|
|
41209
|
-
var metaLength =
|
|
41209
|
+
var metaLength = el2.values[0];
|
|
41210
41210
|
var metaStream = stream.more(metaLength);
|
|
41211
41211
|
metaHeader = DicomMessage3._read(metaStream, useSyntax, options);
|
|
41212
41212
|
}
|
|
@@ -42192,7 +42192,7 @@ var require_dcmjs2 = __commonJS({
|
|
|
42192
42192
|
key: "readMeta",
|
|
42193
42193
|
value: (function() {
|
|
42194
42194
|
var _readMeta = _asyncToGenerator2(/* @__PURE__ */ _regeneratorRuntime2().mark(function _callee4() {
|
|
42195
|
-
var options, stream, metaStartPos,
|
|
42195
|
+
var options, stream, metaStartPos, el2, metaLength, metaStream, _args4 = arguments;
|
|
42196
42196
|
return _regeneratorRuntime2().wrap(function _callee4$(_context4) {
|
|
42197
42197
|
while (1) switch (_context4.prev = _context4.next) {
|
|
42198
42198
|
case 0:
|
|
@@ -42202,8 +42202,8 @@ var require_dcmjs2 = __commonJS({
|
|
|
42202
42202
|
return stream.ensureAvailable();
|
|
42203
42203
|
case 4:
|
|
42204
42204
|
metaStartPos = stream.offset;
|
|
42205
|
-
|
|
42206
|
-
if (!(
|
|
42205
|
+
el2 = this.readTagHeader();
|
|
42206
|
+
if (!(el2.tag !== TagHex2.FileMetaInformationGroupLength)) {
|
|
42207
42207
|
_context4.next = 15;
|
|
42208
42208
|
break;
|
|
42209
42209
|
}
|
|
@@ -42225,7 +42225,7 @@ var require_dcmjs2 = __commonJS({
|
|
|
42225
42225
|
_context4.next = 20;
|
|
42226
42226
|
break;
|
|
42227
42227
|
case 15:
|
|
42228
|
-
metaLength =
|
|
42228
|
+
metaLength = el2.vrObj.readBytes(stream);
|
|
42229
42229
|
_context4.next = 18;
|
|
42230
42230
|
return stream.ensureAvailable(metaLength);
|
|
42231
42231
|
case 18:
|
|
@@ -64046,11 +64046,11 @@ var require_console = __commonJS({
|
|
|
64046
64046
|
if (!Array.isArray(strArray)) {
|
|
64047
64047
|
throw new Error(errMsg);
|
|
64048
64048
|
}
|
|
64049
|
-
return strArray.reduce((set4,
|
|
64050
|
-
if (typeof
|
|
64049
|
+
return strArray.reduce((set4, el2) => {
|
|
64050
|
+
if (typeof el2 !== "string") {
|
|
64051
64051
|
throw new Error(errMsg);
|
|
64052
64052
|
}
|
|
64053
|
-
set4[
|
|
64053
|
+
set4[el2] = true;
|
|
64054
64054
|
return set4;
|
|
64055
64055
|
}, {});
|
|
64056
64056
|
}
|
|
@@ -65565,15 +65565,15 @@ var require_index_cjs = __commonJS({
|
|
|
65565
65565
|
const s = hsv[1] / 100;
|
|
65566
65566
|
const v5 = hsv[2] / 100;
|
|
65567
65567
|
const vmin = Math.max(v5, 0.01);
|
|
65568
|
-
let
|
|
65568
|
+
let sl;
|
|
65569
65569
|
let l;
|
|
65570
65570
|
l = (2 - s) * v5;
|
|
65571
65571
|
const lmin = (2 - s) * vmin;
|
|
65572
|
-
|
|
65573
|
-
|
|
65574
|
-
|
|
65572
|
+
sl = s * vmin;
|
|
65573
|
+
sl /= lmin <= 1 ? lmin : 2 - lmin;
|
|
65574
|
+
sl = sl || 0;
|
|
65575
65575
|
l /= 2;
|
|
65576
|
-
return [h4,
|
|
65576
|
+
return [h4, sl * 100, l * 100];
|
|
65577
65577
|
};
|
|
65578
65578
|
convert$1.hwb.rgb = function(hwb) {
|
|
65579
65579
|
const h4 = hwb[0] / 360;
|
|
@@ -68957,11 +68957,11 @@ var require_logger = __commonJS({
|
|
|
68957
68957
|
* @param {string} id Unique id of the profiler
|
|
68958
68958
|
* @returns {Logger} - TODO: add return description.
|
|
68959
68959
|
*/
|
|
68960
|
-
profile(
|
|
68960
|
+
profile(id2, ...args) {
|
|
68961
68961
|
const time = Date.now();
|
|
68962
|
-
if (this.profilers[
|
|
68963
|
-
const timeEnd = this.profilers[
|
|
68964
|
-
delete this.profilers[
|
|
68962
|
+
if (this.profilers[id2]) {
|
|
68963
|
+
const timeEnd = this.profilers[id2];
|
|
68964
|
+
delete this.profilers[id2];
|
|
68965
68965
|
if (typeof args[args.length - 2] === "function") {
|
|
68966
68966
|
console.warn(
|
|
68967
68967
|
"Callback function no longer supported as of winston@3.0.0"
|
|
@@ -68971,10 +68971,10 @@ var require_logger = __commonJS({
|
|
|
68971
68971
|
const info = typeof args[args.length - 1] === "object" ? args.pop() : {};
|
|
68972
68972
|
info.level = info.level || "info";
|
|
68973
68973
|
info.durationMs = time - timeEnd;
|
|
68974
|
-
info.message = info.message ||
|
|
68974
|
+
info.message = info.message || id2;
|
|
68975
68975
|
return this.write(info);
|
|
68976
68976
|
}
|
|
68977
|
-
this.profilers[
|
|
68977
|
+
this.profilers[id2] = time;
|
|
68978
68978
|
return this;
|
|
68979
68979
|
}
|
|
68980
68980
|
/**
|
|
@@ -69134,8 +69134,8 @@ var require_container = __commonJS({
|
|
|
69134
69134
|
* @param {?Object} [options] - Options for the Logger instance.
|
|
69135
69135
|
* @returns {Logger} - A configured Logger instance with a specified id.
|
|
69136
69136
|
*/
|
|
69137
|
-
add(
|
|
69138
|
-
if (!this.loggers.has(
|
|
69137
|
+
add(id2, options) {
|
|
69138
|
+
if (!this.loggers.has(id2)) {
|
|
69139
69139
|
options = Object.assign({}, options || this.options);
|
|
69140
69140
|
const existing = options.transports || this.options.transports;
|
|
69141
69141
|
if (existing) {
|
|
@@ -69144,10 +69144,10 @@ var require_container = __commonJS({
|
|
|
69144
69144
|
options.transports = [];
|
|
69145
69145
|
}
|
|
69146
69146
|
const logger = createLogger(options);
|
|
69147
|
-
logger.on("close", () => this._delete(
|
|
69148
|
-
this.loggers.set(
|
|
69147
|
+
logger.on("close", () => this._delete(id2));
|
|
69148
|
+
this.loggers.set(id2, logger);
|
|
69149
69149
|
}
|
|
69150
|
-
return this.loggers.get(
|
|
69150
|
+
return this.loggers.get(id2);
|
|
69151
69151
|
}
|
|
69152
69152
|
/**
|
|
69153
69153
|
* Retreives a `winston.Logger` instance for the specified `id`. If
|
|
@@ -69156,8 +69156,8 @@ var require_container = __commonJS({
|
|
|
69156
69156
|
* @param {?Object} [options] - Options for the Logger instance.
|
|
69157
69157
|
* @returns {Logger} - A configured Logger instance with a specified id.
|
|
69158
69158
|
*/
|
|
69159
|
-
get(
|
|
69160
|
-
return this.add(
|
|
69159
|
+
get(id2, options) {
|
|
69160
|
+
return this.add(id2, options);
|
|
69161
69161
|
}
|
|
69162
69162
|
/**
|
|
69163
69163
|
* Check if the container has a logger with the id.
|
|
@@ -69165,8 +69165,8 @@ var require_container = __commonJS({
|
|
|
69165
69165
|
* @returns {boolean} - Boolean value indicating if this instance has a
|
|
69166
69166
|
* logger with the specified `id`.
|
|
69167
69167
|
*/
|
|
69168
|
-
has(
|
|
69169
|
-
return !!this.loggers.has(
|
|
69168
|
+
has(id2) {
|
|
69169
|
+
return !!this.loggers.has(id2);
|
|
69170
69170
|
}
|
|
69171
69171
|
/**
|
|
69172
69172
|
* Closes a `Logger` instance with the specified `id` if it exists.
|
|
@@ -69174,9 +69174,9 @@ var require_container = __commonJS({
|
|
|
69174
69174
|
* @param {?string} id - The id of the Logger instance to close.
|
|
69175
69175
|
* @returns {undefined}
|
|
69176
69176
|
*/
|
|
69177
|
-
close(
|
|
69178
|
-
if (
|
|
69179
|
-
return this._removeLogger(
|
|
69177
|
+
close(id2) {
|
|
69178
|
+
if (id2) {
|
|
69179
|
+
return this._removeLogger(id2);
|
|
69180
69180
|
}
|
|
69181
69181
|
this.loggers.forEach((val, key) => this._removeLogger(key));
|
|
69182
69182
|
}
|
|
@@ -69186,13 +69186,13 @@ var require_container = __commonJS({
|
|
|
69186
69186
|
* @returns {undefined}
|
|
69187
69187
|
* @private
|
|
69188
69188
|
*/
|
|
69189
|
-
_removeLogger(
|
|
69190
|
-
if (!this.loggers.has(
|
|
69189
|
+
_removeLogger(id2) {
|
|
69190
|
+
if (!this.loggers.has(id2)) {
|
|
69191
69191
|
return;
|
|
69192
69192
|
}
|
|
69193
|
-
const logger = this.loggers.get(
|
|
69193
|
+
const logger = this.loggers.get(id2);
|
|
69194
69194
|
logger.close();
|
|
69195
|
-
this._delete(
|
|
69195
|
+
this._delete(id2);
|
|
69196
69196
|
}
|
|
69197
69197
|
/**
|
|
69198
69198
|
* Deletes a `Logger` instance with the specified `id`.
|
|
@@ -69201,8 +69201,8 @@ var require_container = __commonJS({
|
|
|
69201
69201
|
* @returns {undefined}
|
|
69202
69202
|
* @private
|
|
69203
69203
|
*/
|
|
69204
|
-
_delete(
|
|
69205
|
-
this.loggers.delete(
|
|
69204
|
+
_delete(id2) {
|
|
69205
|
+
this.loggers.delete(id2);
|
|
69206
69206
|
}
|
|
69207
69207
|
};
|
|
69208
69208
|
}
|
|
@@ -74639,7 +74639,7 @@ var Ei = { Element: { elements: { id: { type: [{ code: "string" }] }, extension:
|
|
|
74639
74639
|
function Jr(t6) {
|
|
74640
74640
|
return new Qr(t6).parse();
|
|
74641
74641
|
}
|
|
74642
|
-
var
|
|
74642
|
+
var Ne = bi(Ei);
|
|
74643
74643
|
var Kr = /* @__PURE__ */ Object.create(null);
|
|
74644
74644
|
var Ri = /* @__PURE__ */ Object.create(null);
|
|
74645
74645
|
var _s = { "http://hl7.org/fhir/StructureDefinition/MoneyQuantity": "MoneyQuantity", "http://hl7.org/fhir/StructureDefinition/SimpleQuantity": "SimpleQuantity", "http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/ViewDefinition": "ViewDefinition" };
|
|
@@ -74656,22 +74656,22 @@ function Xr(t6) {
|
|
|
74656
74656
|
if (!t6?.name) throw new Error("Failed loading StructureDefinition from bundle");
|
|
74657
74657
|
if (t6.resourceType !== "StructureDefinition") return;
|
|
74658
74658
|
let e = Jr(t6), r = _s[t6.url], n, i;
|
|
74659
|
-
r ? (n =
|
|
74659
|
+
r ? (n = Ne, i = r) : t6.url === `http://hl7.org/fhir/StructureDefinition/${t6.type}` || t6.url === `https://medplum.com/fhir/StructureDefinition/${t6.type}` || t6.type?.startsWith("http://") || t6.type?.startsWith("https://") ? (n = Ne, i = t6.type) : (n = Ai(t6.url), i = t6.type), n[i] = e;
|
|
74660
74660
|
for (let o2 of e.innerTypes) o2.parentType = e, n[o2.name] = o2;
|
|
74661
74661
|
Kr[t6.url] = e;
|
|
74662
74662
|
}
|
|
74663
74663
|
function Oi() {
|
|
74664
|
-
return
|
|
74664
|
+
return Ne;
|
|
74665
74665
|
}
|
|
74666
74666
|
function Ii(t6) {
|
|
74667
|
-
return !!
|
|
74667
|
+
return !!Ne[t6];
|
|
74668
74668
|
}
|
|
74669
|
-
function
|
|
74669
|
+
function Le(t6, e) {
|
|
74670
74670
|
if (e) {
|
|
74671
74671
|
let r = Ai(e)[t6];
|
|
74672
74672
|
if (r) return r;
|
|
74673
74673
|
}
|
|
74674
|
-
return
|
|
74674
|
+
return Ne[t6];
|
|
74675
74675
|
}
|
|
74676
74676
|
function ki(t6) {
|
|
74677
74677
|
return !!Kr[t6];
|
|
@@ -74764,7 +74764,7 @@ var Qr = class {
|
|
|
74764
74764
|
parseElementDefinitionType(e) {
|
|
74765
74765
|
return (e.type ?? []).map((r) => {
|
|
74766
74766
|
let n;
|
|
74767
|
-
return (r.code === "BackboneElement" || r.code === "Element") && (n = zr(e)), n || (n =
|
|
74767
|
+
return (r.code === "BackboneElement" || r.code === "Element") && (n = zr(e)), n || (n = de(r, "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type")?.valueUrl), n || (n = r.code ?? ""), { code: n, targetProfile: r.targetProfile, profile: r.profile };
|
|
74768
74768
|
});
|
|
74769
74769
|
}
|
|
74770
74770
|
parseElementDefinition(e) {
|
|
@@ -74776,9 +74776,9 @@ function Pi(t6) {
|
|
|
74776
74776
|
return t6 === "*" ? Number.POSITIVE_INFINITY : Number.parseInt(t6, 10);
|
|
74777
74777
|
}
|
|
74778
74778
|
function Gr(t6, e = "") {
|
|
74779
|
-
return
|
|
74779
|
+
return Ls(t6.path, e);
|
|
74780
74780
|
}
|
|
74781
|
-
function
|
|
74781
|
+
function Ls(t6, e) {
|
|
74782
74782
|
return t6 ? e && t6.startsWith(e) ? t6.substring(e.length + 1) : t6 : "";
|
|
74783
74783
|
}
|
|
74784
74784
|
function Ke(t6, e) {
|
|
@@ -74809,12 +74809,12 @@ function y(t6) {
|
|
|
74809
74809
|
return [{ type: p.boolean, value: t6 }];
|
|
74810
74810
|
}
|
|
74811
74811
|
function E(t6) {
|
|
74812
|
-
return t6 == null ? { type: "undefined", value: void 0 } : Number.isSafeInteger(t6) ? { type: p.integer, value: t6 } : typeof t6 == "number" ? { type: p.decimal, value: t6 } : typeof t6 == "boolean" ? { type: p.boolean, value: t6 } : typeof t6 == "string" ? { type: p.string, value: t6 } :
|
|
74812
|
+
return t6 == null ? { type: "undefined", value: void 0 } : Number.isSafeInteger(t6) ? { type: p.integer, value: t6 } : typeof t6 == "number" ? { type: p.decimal, value: t6 } : typeof t6 == "boolean" ? { type: p.boolean, value: t6 } : typeof t6 == "string" ? { type: p.string, value: t6 } : N(t6) ? { type: p.Quantity, value: t6 } : D(t6) ? { type: t6.resourceType, value: t6 } : pn(t6) ? { type: p.CodeableConcept, value: t6 } : Wt(t6) ? { type: p.Coding, value: t6 } : { type: p.BackboneElement, value: t6 };
|
|
74813
74813
|
}
|
|
74814
74814
|
function H(t6) {
|
|
74815
74815
|
return t6.length === 0 ? false : !!t6[0].value;
|
|
74816
74816
|
}
|
|
74817
|
-
function
|
|
74817
|
+
function L(t6, e) {
|
|
74818
74818
|
if (t6.length !== 0) {
|
|
74819
74819
|
if (t6.length === 1 && (!e || t6[0].type === e)) return t6[0];
|
|
74820
74820
|
{
|
|
@@ -74831,10 +74831,10 @@ function _(t6, e, r) {
|
|
|
74831
74831
|
function Ys(t6, e, r) {
|
|
74832
74832
|
let n = t6.value, i = r.type;
|
|
74833
74833
|
if (!i || i.length === 0) return;
|
|
74834
|
-
let o2, s = "undefined", a, u = r.path.lastIndexOf("."),
|
|
74835
|
-
|
|
74834
|
+
let o2, s = "undefined", a, u = r.path.lastIndexOf("."), d = r.path.substring(u + 1), l = d, f = false;
|
|
74835
|
+
d.endsWith("[x]") && (l = d.substring(0, d.length - 3), f = true);
|
|
74836
74836
|
for (let h4 of i) {
|
|
74837
|
-
let b2 =
|
|
74837
|
+
let b2 = l;
|
|
74838
74838
|
if (f && (b2 += B(h4.code)), o2 = n[b2], a = n["_" + b2], o2 !== void 0 || a !== void 0) {
|
|
74839
74839
|
s = h4.code;
|
|
74840
74840
|
break;
|
|
@@ -74879,7 +74879,7 @@ function Bt(t6) {
|
|
|
74879
74879
|
let e = [];
|
|
74880
74880
|
for (let r of t6) {
|
|
74881
74881
|
let n = false;
|
|
74882
|
-
for (let i of e) if (H(
|
|
74882
|
+
for (let i of e) if (H(lt(r, i))) {
|
|
74883
74883
|
n = true;
|
|
74884
74884
|
break;
|
|
74885
74885
|
}
|
|
@@ -74887,25 +74887,25 @@ function Bt(t6) {
|
|
|
74887
74887
|
}
|
|
74888
74888
|
return e;
|
|
74889
74889
|
}
|
|
74890
|
-
function
|
|
74890
|
+
function Li(t6) {
|
|
74891
74891
|
return y(!H(t6));
|
|
74892
74892
|
}
|
|
74893
74893
|
function Fi(t6, e) {
|
|
74894
|
-
return t6.length === 0 || e.length === 0 ? [] : t6.length !== e.length ? y(false) : y(t6.every((r, n) => H(
|
|
74894
|
+
return t6.length === 0 || e.length === 0 ? [] : t6.length !== e.length ? y(false) : y(t6.every((r, n) => H(lt(r, e[n]))));
|
|
74895
74895
|
}
|
|
74896
74896
|
function Ui(t6, e) {
|
|
74897
|
-
return t6.length === 0 || e.length === 0 ? [] : t6.length !== e.length ? y(true) : y(t6.some((r, n) => !H(
|
|
74897
|
+
return t6.length === 0 || e.length === 0 ? [] : t6.length !== e.length ? y(true) : y(t6.some((r, n) => !H(lt(r, e[n]))));
|
|
74898
74898
|
}
|
|
74899
|
-
function
|
|
74899
|
+
function lt(t6, e) {
|
|
74900
74900
|
let r = t6.value?.valueOf(), n = e.value?.valueOf();
|
|
74901
|
-
return typeof r == "number" && typeof n == "number" ? y(Math.abs(r - n) < 1e-8) :
|
|
74901
|
+
return typeof r == "number" && typeof n == "number" ? y(Math.abs(r - n) < 1e-8) : N(r) && N(n) ? y(Wi(r, n)) : y(typeof r == "object" && typeof n == "object" ? ln(t6, e) : r === n);
|
|
74902
74902
|
}
|
|
74903
|
-
function
|
|
74903
|
+
function dn(t6, e) {
|
|
74904
74904
|
return t6.length === 0 && e.length === 0 ? y(true) : t6.length !== e.length ? y(false) : (t6.sort(_i), e.sort(_i), y(t6.every((r, n) => H(Zs(r, e[n])))));
|
|
74905
74905
|
}
|
|
74906
74906
|
function Zs(t6, e) {
|
|
74907
74907
|
let { type: r, value: n } = t6, { type: i, value: o2 } = e, s = n?.valueOf(), a = o2?.valueOf();
|
|
74908
|
-
return typeof s == "number" && typeof a == "number" ? y(Math.abs(s - a) < 0.01) :
|
|
74908
|
+
return typeof s == "number" && typeof a == "number" ? y(Math.abs(s - a) < 0.01) : N(s) && N(a) ? y(Wi(s, a)) : y(r === "Coding" && i === "Coding" ? typeof s != "object" || typeof a != "object" ? false : s.code === a.code && s.system === a.system : typeof s == "object" && typeof a == "object" ? ln({ ...s, id: void 0 }, { ...a, id: void 0 }) : typeof s == "string" && typeof a == "string" ? s.toLowerCase() === a.toLowerCase() : s === a);
|
|
74909
74909
|
}
|
|
74910
74910
|
function _i(t6, e) {
|
|
74911
74911
|
let r = t6.value?.valueOf(), n = e.value?.valueOf();
|
|
@@ -74930,7 +74930,7 @@ function et(t6, e) {
|
|
|
74930
74930
|
case "Period":
|
|
74931
74931
|
return qi(r);
|
|
74932
74932
|
case "Quantity":
|
|
74933
|
-
return
|
|
74933
|
+
return N(r);
|
|
74934
74934
|
default:
|
|
74935
74935
|
return t6.type === n || typeof r == "object" && r?.resourceType === n;
|
|
74936
74936
|
}
|
|
@@ -74944,24 +74944,24 @@ function Ze(t6) {
|
|
|
74944
74944
|
function qi(t6) {
|
|
74945
74945
|
return !!(t6 && typeof t6 == "object" && ("start" in t6 && Ze(t6.start) || "end" in t6 && Ze(t6.end)));
|
|
74946
74946
|
}
|
|
74947
|
-
function
|
|
74947
|
+
function N(t6) {
|
|
74948
74948
|
return !!(t6 && typeof t6 == "object" && "value" in t6 && typeof t6.value == "number");
|
|
74949
74949
|
}
|
|
74950
74950
|
function Wi(t6, e) {
|
|
74951
74951
|
return Math.abs(t6.value - e.value) < 0.01 && (t6.unit === e.unit || t6.code === e.code || t6.unit === e.code || t6.code === e.unit);
|
|
74952
74952
|
}
|
|
74953
|
-
function
|
|
74953
|
+
function ln(t6, e) {
|
|
74954
74954
|
let r = Object.keys(t6), n = Object.keys(e);
|
|
74955
74955
|
if (r.length !== n.length) return false;
|
|
74956
74956
|
for (let i of r) {
|
|
74957
74957
|
let o2 = t6[i], s = e[i];
|
|
74958
|
-
if (
|
|
74959
|
-
if (!
|
|
74958
|
+
if (Ni(o2) && Ni(s)) {
|
|
74959
|
+
if (!ln(o2, s)) return false;
|
|
74960
74960
|
} else if (o2 !== s) return false;
|
|
74961
74961
|
}
|
|
74962
74962
|
return true;
|
|
74963
74963
|
}
|
|
74964
|
-
function
|
|
74964
|
+
function Ni(t6) {
|
|
74965
74965
|
return t6 !== null && typeof t6 == "object";
|
|
74966
74966
|
}
|
|
74967
74967
|
function un(t6, e) {
|
|
@@ -75031,14 +75031,14 @@ function jt(t6, e) {
|
|
|
75031
75031
|
r.setUTCHours(0, 0, 0, 0);
|
|
75032
75032
|
let n = e ? new Date(e) : /* @__PURE__ */ new Date();
|
|
75033
75033
|
n.setUTCHours(0, 0, 0, 0);
|
|
75034
|
-
let i = r.getUTCFullYear(), o2 = r.getUTCMonth(), s = r.getUTCDate(), a = n.getUTCFullYear(), u = n.getUTCMonth(),
|
|
75035
|
-
(u < o2 || u === o2 &&
|
|
75034
|
+
let i = r.getUTCFullYear(), o2 = r.getUTCMonth(), s = r.getUTCDate(), a = n.getUTCFullYear(), u = n.getUTCMonth(), d = n.getUTCDate(), l = a - i;
|
|
75035
|
+
(u < o2 || u === o2 && d < s) && l--;
|
|
75036
75036
|
let f = a * 12 + u - (i * 12 + o2);
|
|
75037
|
-
|
|
75037
|
+
d < s && f--;
|
|
75038
75038
|
let h4 = Math.floor((n.getTime() - r.getTime()) / (1e3 * 60 * 60 * 24));
|
|
75039
|
-
return { years:
|
|
75039
|
+
return { years: l, months: f, days: h4 };
|
|
75040
75040
|
}
|
|
75041
|
-
function
|
|
75041
|
+
function de(t6, ...e) {
|
|
75042
75042
|
let r = t6;
|
|
75043
75043
|
for (let n = 0; n < e.length && r; n++) r = r?.extension?.find((i) => i.url === e[n]);
|
|
75044
75044
|
return r;
|
|
@@ -75071,9 +75071,9 @@ function sa(t6) {
|
|
|
75071
75071
|
function O(t6) {
|
|
75072
75072
|
if (t6 == null) return true;
|
|
75073
75073
|
let e = typeof t6;
|
|
75074
|
-
return e === "string" || e === "object" ? !
|
|
75074
|
+
return e === "string" || e === "object" ? !le(t6) : false;
|
|
75075
75075
|
}
|
|
75076
|
-
function
|
|
75076
|
+
function le(t6) {
|
|
75077
75077
|
if (t6 == null) return false;
|
|
75078
75078
|
let e = typeof t6;
|
|
75079
75079
|
return e === "string" && t6 !== "" || e === "object" && ("length" in t6 && t6.length > 0 || Object.keys(t6).length > 0);
|
|
@@ -75162,7 +75162,7 @@ function eo(t6) {
|
|
|
75162
75162
|
return typeof t6 == "object" && !Array.isArray(t6) && !(t6 instanceof URLSearchParams) && (t6 = Object.fromEntries(Object.entries(t6).filter((e) => e[1] !== void 0))), new URLSearchParams(t6).toString();
|
|
75163
75163
|
}
|
|
75164
75164
|
var Ta = /^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-_]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-_]*[A-Za-z0-9])$/;
|
|
75165
|
-
function
|
|
75165
|
+
function cf(t6) {
|
|
75166
75166
|
return Ta.test(t6);
|
|
75167
75167
|
}
|
|
75168
75168
|
var v = Object.freeze([]);
|
|
@@ -75232,7 +75232,7 @@ function Ma() {
|
|
|
75232
75232
|
return Object.values(Oi()).filter(Zr).map((t6) => t6.name);
|
|
75233
75233
|
}
|
|
75234
75234
|
function $t(t6, e, r) {
|
|
75235
|
-
let n =
|
|
75235
|
+
let n = Le(t6, r);
|
|
75236
75236
|
if (n) return so(n.elements, e);
|
|
75237
75237
|
}
|
|
75238
75238
|
function so(t6, e) {
|
|
@@ -75355,11 +75355,11 @@ var F = { empty: (t6, e) => y(e.every((r) => O(r.value))), hasValue: (t6, e) =>
|
|
|
75355
75355
|
}, convertsToDecimal: (t6, e) => e.length === 0 ? [] : y(F.toDecimal(t6, e).length === 1), toQuantity: (t6, e) => {
|
|
75356
75356
|
if (e.length === 0) return [];
|
|
75357
75357
|
let [{ value: r }] = oe(e, 1);
|
|
75358
|
-
return
|
|
75358
|
+
return N(r) ? [{ type: p.Quantity, value: r }] : typeof r == "number" ? [{ type: p.Quantity, value: { value: r, unit: "1" } }] : typeof r == "string" && /^-?\d{1,9}(\.\d{1,9})?/.exec(r) ? [{ type: p.Quantity, value: { value: Number.parseFloat(r), unit: "1" } }] : typeof r == "boolean" ? [{ type: p.Quantity, value: { value: r ? 1 : 0, unit: "1" } }] : [];
|
|
75359
75359
|
}, convertsToQuantity: (t6, e) => e.length === 0 ? [] : y(F.toQuantity(t6, e).length === 1), toString: (t6, e) => {
|
|
75360
75360
|
if (e.length === 0) return [];
|
|
75361
75361
|
let [{ value: r }] = oe(e, 1);
|
|
75362
|
-
return r == null ? [] :
|
|
75362
|
+
return r == null ? [] : N(r) ? [{ type: p.string, value: `${r.value} '${r.unit}'` }] : [{ type: p.string, value: r.toString() }];
|
|
75363
75363
|
}, convertsToString: (t6, e) => e.length === 0 ? [] : y(F.toString(t6, e).length === 1), toTime: (t6, e) => {
|
|
75364
75364
|
if (e.length === 0) return [];
|
|
75365
75365
|
let [{ value: r }] = oe(e, 1);
|
|
@@ -75411,7 +75411,7 @@ var F = { empty: (t6, e) => y(e.every((r) => O(r.value))), hasValue: (t6, e) =>
|
|
|
75411
75411
|
}).filter((r) => !!r.value), as: (t6, e, r) => {
|
|
75412
75412
|
let n = ht(r);
|
|
75413
75413
|
if (!n) throw new Error(`Expected a valid type identifier as the right operand of 'as', but found ${r.toString()}`);
|
|
75414
|
-
let i =
|
|
75414
|
+
let i = L(e);
|
|
75415
75415
|
return i && et(i, n) ? [i] : [];
|
|
75416
75416
|
}, type: (t6, e) => e.map(({ value: r }) => typeof r == "boolean" ? { type: p.BackboneElement, value: { namespace: "System", name: "Boolean" } } : typeof r == "number" ? { type: p.BackboneElement, value: { namespace: "System", name: "Integer" } } : D(r) ? { type: p.BackboneElement, value: { namespace: "FHIR", name: r.resourceType } } : { type: p.BackboneElement, value: null }), conformsTo: (t6, e, r) => {
|
|
75417
75417
|
let n = r.eval(t6, e)[0].value;
|
|
@@ -75429,7 +75429,7 @@ var F = { empty: (t6, e) => y(e.every((r) => O(r.value))), hasValue: (t6, e) =>
|
|
|
75429
75429
|
}, extension: (t6, e, r) => {
|
|
75430
75430
|
let n = r.eval(t6, e)[0].value, i = e?.[0]?.value;
|
|
75431
75431
|
if (i) {
|
|
75432
|
-
let o2 =
|
|
75432
|
+
let o2 = de(i, n);
|
|
75433
75433
|
if (o2) return [{ type: p.Extension, value: o2 }];
|
|
75434
75434
|
}
|
|
75435
75435
|
return [];
|
|
@@ -75443,10 +75443,10 @@ function Q(t6, e, r, ...n) {
|
|
|
75443
75443
|
}
|
|
75444
75444
|
function ie(t6, e, r, ...n) {
|
|
75445
75445
|
if (r.length === 0) return [];
|
|
75446
|
-
let [{ value: i }] = oe(r, 1), o2 =
|
|
75446
|
+
let [{ value: i }] = oe(r, 1), o2 = N(i), s = o2 ? i.value : i;
|
|
75447
75447
|
if (typeof s != "number") throw new TypeError("Math function cannot be called with non-number");
|
|
75448
|
-
let a = t6(s, ...n.map((
|
|
75449
|
-
return [{ type: u, value:
|
|
75448
|
+
let a = t6(s, ...n.map((l) => l.eval(e, r)[0]?.value)), u = o2 ? p.Quantity : r[0].type, d = o2 ? { ...i, value: a } : a;
|
|
75449
|
+
return [{ type: u, value: d }];
|
|
75450
75450
|
}
|
|
75451
75451
|
function oe(t6, e) {
|
|
75452
75452
|
if (t6.length !== e) throw new Error(`Expected ${e} arguments`);
|
|
@@ -75534,8 +75534,8 @@ var q = class extends w {
|
|
|
75534
75534
|
eval(r, n) {
|
|
75535
75535
|
let i = this.left.eval(r, n), o2 = this.right.eval(r, n);
|
|
75536
75536
|
if (i.length < 1 || o2.length < 1) return [];
|
|
75537
|
-
let s =
|
|
75538
|
-
return typeof
|
|
75537
|
+
let s = L(i)?.value, a = L(o2)?.value, u = N(s) ? s.value : s, d = N(a) ? a.value : a, l = this.impl(u, d);
|
|
75538
|
+
return typeof l == "boolean" ? y(l) : N(s) ? [{ type: p.Quantity, value: { ...s, value: l } }] : [E(l)];
|
|
75539
75539
|
}
|
|
75540
75540
|
};
|
|
75541
75541
|
var uo = Object.freeze({ type: "string", value: "" });
|
|
@@ -75544,7 +75544,7 @@ var Xt = class extends w {
|
|
|
75544
75544
|
super("&", e, r);
|
|
75545
75545
|
}
|
|
75546
75546
|
eval(e, r) {
|
|
75547
|
-
let n =
|
|
75547
|
+
let n = L(this.left.eval(e, r)) ?? uo, i = L(this.right.eval(e, r)) ?? uo;
|
|
75548
75548
|
if (typeof n.value != "string") throw new Error(`Expected string operand for &, but got ${n.type}`);
|
|
75549
75549
|
if (typeof i.value != "string") throw new Error(`Expected string operand for &, but got ${i.type}`);
|
|
75550
75550
|
return [{ type: p.string, value: n.value + i.value }];
|
|
@@ -75564,8 +75564,8 @@ var er = class extends w {
|
|
|
75564
75564
|
super("in", e, r);
|
|
75565
75565
|
}
|
|
75566
75566
|
eval(e, r) {
|
|
75567
|
-
let n =
|
|
75568
|
-
return n ? y(i.some((o2) =>
|
|
75567
|
+
let n = L(this.left.eval(e, r)), i = this.right.eval(e, r);
|
|
75568
|
+
return n ? y(i.some((o2) => lt(n, o2)[0].value)) : [];
|
|
75569
75569
|
}
|
|
75570
75570
|
};
|
|
75571
75571
|
var se = class extends w {
|
|
@@ -75612,7 +75612,7 @@ var nr = class extends w {
|
|
|
75612
75612
|
}
|
|
75613
75613
|
eval(e, r) {
|
|
75614
75614
|
let n = this.left.eval(e, r), i = this.right.eval(e, r);
|
|
75615
|
-
return
|
|
75615
|
+
return dn(n, i);
|
|
75616
75616
|
}
|
|
75617
75617
|
};
|
|
75618
75618
|
var ir = class extends w {
|
|
@@ -75621,7 +75621,7 @@ var ir = class extends w {
|
|
|
75621
75621
|
}
|
|
75622
75622
|
eval(e, r) {
|
|
75623
75623
|
let n = this.left.eval(e, r), i = this.right.eval(e, r);
|
|
75624
|
-
return
|
|
75624
|
+
return Li(dn(n, i));
|
|
75625
75625
|
}
|
|
75626
75626
|
};
|
|
75627
75627
|
var We = class extends w {
|
|
@@ -75640,7 +75640,7 @@ var or = class extends w {
|
|
|
75640
75640
|
super("and", e, r);
|
|
75641
75641
|
}
|
|
75642
75642
|
eval(e, r) {
|
|
75643
|
-
let n =
|
|
75643
|
+
let n = L(this.left.eval(e, r), "boolean"), i = L(this.right.eval(e, r), "boolean");
|
|
75644
75644
|
return n?.value === true && i?.value === true ? y(true) : n?.value === false || i?.value === false ? y(false) : [];
|
|
75645
75645
|
}
|
|
75646
75646
|
};
|
|
@@ -75649,7 +75649,7 @@ var sr = class extends w {
|
|
|
75649
75649
|
super("or", e, r);
|
|
75650
75650
|
}
|
|
75651
75651
|
eval(e, r) {
|
|
75652
|
-
let n =
|
|
75652
|
+
let n = L(this.left.eval(e, r), "boolean"), i = L(this.right.eval(e, r), "boolean");
|
|
75653
75653
|
return n?.value === false && i?.value === false ? y(false) : n?.value || i?.value ? y(true) : [];
|
|
75654
75654
|
}
|
|
75655
75655
|
};
|
|
@@ -75658,7 +75658,7 @@ var ar = class extends w {
|
|
|
75658
75658
|
super("xor", e, r);
|
|
75659
75659
|
}
|
|
75660
75660
|
eval(e, r) {
|
|
75661
|
-
let n =
|
|
75661
|
+
let n = L(this.left.eval(e, r), "boolean"), i = L(this.right.eval(e, r), "boolean");
|
|
75662
75662
|
return !n || !i ? [] : y(n.value !== i.value);
|
|
75663
75663
|
}
|
|
75664
75664
|
};
|
|
@@ -75667,7 +75667,7 @@ var cr = class extends w {
|
|
|
75667
75667
|
super("implies", e, r);
|
|
75668
75668
|
}
|
|
75669
75669
|
eval(e, r) {
|
|
75670
|
-
let n =
|
|
75670
|
+
let n = L(this.left.eval(e, r), "boolean"), i = L(this.right.eval(e, r), "boolean");
|
|
75671
75671
|
return i?.value === true || n?.value === false ? y(true) : !n || !i ? [] : y(false);
|
|
75672
75672
|
}
|
|
75673
75673
|
};
|
|
@@ -75737,7 +75737,7 @@ var Xa = [g.MISSING, g.PRESENT];
|
|
|
75737
75737
|
var ac = new ee(1e3);
|
|
75738
75738
|
var He = { READ: "read", VREAD: "vread", UPDATE: "update", DELETE: "delete", HISTORY: "history", CREATE: "create", SEARCH: "search" };
|
|
75739
75739
|
var Tc = [He.READ, He.VREAD, He.HISTORY, He.SEARCH];
|
|
75740
|
-
var
|
|
75740
|
+
var Hm = { FIRST: "first", APPLICATION: "application" };
|
|
75741
75741
|
function Z() {
|
|
75742
75742
|
return typeof window < "u";
|
|
75743
75743
|
}
|
|
@@ -75871,7 +75871,7 @@ function Vc() {
|
|
|
75871
75871
|
function _c(t6, e) {
|
|
75872
75872
|
if (!t6) throw new Error(e);
|
|
75873
75873
|
}
|
|
75874
|
-
function
|
|
75874
|
+
function Nc() {
|
|
75875
75875
|
}
|
|
75876
75876
|
function mr(t6) {
|
|
75877
75877
|
if (t6 instanceof J.CloseEvent) {
|
|
@@ -75884,7 +75884,7 @@ function mr(t6) {
|
|
|
75884
75884
|
}
|
|
75885
75885
|
return new t6.constructor(t6.type, t6);
|
|
75886
75886
|
}
|
|
75887
|
-
function
|
|
75887
|
+
function Lc(t6, e) {
|
|
75888
75888
|
let r = t6;
|
|
75889
75889
|
return r.error instanceof Error ? new J.ErrorEvent(r.error, e) : new J.ErrorEvent(new Error(r.message || "WebSocket error"), e);
|
|
75890
75890
|
}
|
|
@@ -75920,7 +75920,7 @@ var ot = class t extends ue {
|
|
|
75920
75920
|
this._debug("message event"), this.onmessage && this.onmessage(r2), this.dispatchEvent(mr(r2));
|
|
75921
75921
|
});
|
|
75922
75922
|
c(this, "_handleError", (r2) => {
|
|
75923
|
-
let n2 =
|
|
75923
|
+
let n2 = Lc(r2, this);
|
|
75924
75924
|
this._debug("error event", n2.message), this._disconnect(void 0, n2.message === "TIMEOUT" ? "timeout" : void 0), this.onerror && this.onerror(n2), this._debug("exec error listeners"), this.dispatchEvent(mr(n2)), this._connect();
|
|
75925
75925
|
});
|
|
75926
75926
|
c(this, "_handleClose", (r2) => {
|
|
@@ -76038,7 +76038,7 @@ var ot = class t extends ue {
|
|
|
76038
76038
|
_disconnect(r = 1e3, n) {
|
|
76039
76039
|
if (this._clearTimeouts(), !this._ws) return;
|
|
76040
76040
|
let i = this._ws;
|
|
76041
|
-
this._removeListeners(), i.addEventListener("error",
|
|
76041
|
+
this._removeListeners(), i.addEventListener("error", Nc);
|
|
76042
76042
|
try {
|
|
76043
76043
|
i.close(r, n), this._handleClose(new J.CloseEvent(r, n, this));
|
|
76044
76044
|
} catch {
|
|
@@ -76136,8 +76136,8 @@ var hr = class extends ue {
|
|
|
76136
76136
|
u["hub.mode"] === "denied" && this.disconnect();
|
|
76137
76137
|
return;
|
|
76138
76138
|
}
|
|
76139
|
-
let
|
|
76140
|
-
|
|
76139
|
+
let d = u;
|
|
76140
|
+
d.event["hub.event"] !== "heartbeat" && (this.dispatchEvent({ type: "message", payload: d }), s.send(JSON.stringify({ id: u?.id, timestamp: (/* @__PURE__ */ new Date()).toISOString() })));
|
|
76141
76141
|
}), s.addEventListener("close", () => {
|
|
76142
76142
|
this.dispatchEvent({ type: "disconnect" });
|
|
76143
76143
|
}), this.websocket = s;
|
|
@@ -76358,12 +76358,12 @@ var vr = class {
|
|
|
76358
76358
|
if (o2.type === "handshake") {
|
|
76359
76359
|
let a = X(o2.subscription), u = { type: "connect", payload: { subscriptionId: a } };
|
|
76360
76360
|
this.masterSubEmitter?.dispatchEvent(u);
|
|
76361
|
-
let
|
|
76362
|
-
if (!
|
|
76361
|
+
let d = this.criteriaEntriesBySubscriptionId.get(a);
|
|
76362
|
+
if (!d) {
|
|
76363
76363
|
console.warn("Received handshake for criteria the SubscriptionManager is not listening for yet");
|
|
76364
76364
|
return;
|
|
76365
76365
|
}
|
|
76366
|
-
(
|
|
76366
|
+
(d.state === "connecting" || d.state === "refreshing") && (d.state = "active"), d.emitter.dispatchEvent({ ...u });
|
|
76367
76367
|
return;
|
|
76368
76368
|
}
|
|
76369
76369
|
this.masterSubEmitter?.dispatchEvent({ type: "message", payload: i });
|
|
@@ -76537,7 +76537,7 @@ function bt(t6) {
|
|
|
76537
76537
|
return t6.bareCriteria ? [t6.bareCriteria, ...t6.criteriaWithProps] : t6.criteriaWithProps;
|
|
76538
76538
|
}
|
|
76539
76539
|
var Gc = new ee(1e3);
|
|
76540
|
-
var Mn = "5.1.
|
|
76540
|
+
var Mn = "5.1.39-2b49525";
|
|
76541
76541
|
var Jc = V.FHIR_JSON + ", */*; q=0.1";
|
|
76542
76542
|
var Kc = "https://api.medplum.com/";
|
|
76543
76543
|
var Yc = 1e3;
|
|
@@ -76719,10 +76719,10 @@ var Tr = class extends ue {
|
|
|
76719
76719
|
getExternalAuthRedirectUri(r, n, i, o2, s = true) {
|
|
76720
76720
|
let a = new URL(r);
|
|
76721
76721
|
if (a.searchParams.set("response_type", "code"), a.searchParams.set("client_id", n), a.searchParams.set("redirect_uri", i), a.searchParams.set("scope", o2.scope ?? "openid profile email"), a.searchParams.set("state", JSON.stringify(o2)), s) {
|
|
76722
|
-
let { codeChallenge: u, codeChallengeMethod:
|
|
76723
|
-
if (!
|
|
76722
|
+
let { codeChallenge: u, codeChallengeMethod: d } = o2;
|
|
76723
|
+
if (!d) throw new Error("`LoginRequest` for external auth must include a `codeChallengeMethod`.");
|
|
76724
76724
|
if (!u) throw new Error("`LoginRequest` for external auth must include a `codeChallenge`.");
|
|
76725
|
-
a.searchParams.set("code_challenge_method",
|
|
76725
|
+
a.searchParams.set("code_challenge_method", d), a.searchParams.set("code_challenge", u);
|
|
76726
76726
|
}
|
|
76727
76727
|
return a.toString();
|
|
76728
76728
|
}
|
|
@@ -76744,13 +76744,13 @@ var Tr = class extends ue {
|
|
|
76744
76744
|
o2.searchParams.set("_count", "1"), o2.searchParams.sort();
|
|
76745
76745
|
let s = "searchOne-" + o2.toString(), a = this.getCacheEntry(s, i);
|
|
76746
76746
|
if (a) return a.value;
|
|
76747
|
-
let u = new $(this.search(r, o2.searchParams, i).then((
|
|
76747
|
+
let u = new $(this.search(r, o2.searchParams, i).then((d) => d.entry?.[0]?.resource));
|
|
76748
76748
|
return this.setCacheEntry(s, u, i), u;
|
|
76749
76749
|
}
|
|
76750
76750
|
searchResources(r, n, i) {
|
|
76751
76751
|
let s = "searchResources-" + this.fhirSearchUrl(r, n).toString(), a = this.getCacheEntry(s, i);
|
|
76752
76752
|
if (a) return a.value;
|
|
76753
|
-
let u = new $(this.search(r, n, i).then(
|
|
76753
|
+
let u = new $(this.search(r, n, i).then(Lo));
|
|
76754
76754
|
return this.setCacheEntry(s, u, i), u;
|
|
76755
76755
|
}
|
|
76756
76756
|
async *searchResourcePages(r, n, i) {
|
|
@@ -76758,9 +76758,9 @@ var Tr = class extends ue {
|
|
|
76758
76758
|
for (; o2; ) {
|
|
76759
76759
|
let s = new URL(o2).searchParams;
|
|
76760
76760
|
s.has("_count") || s.set("_count", "1000");
|
|
76761
|
-
let a = await this.search(r, s, i), u = a.link?.find((
|
|
76761
|
+
let a = await this.search(r, s, i), u = a.link?.find((d) => d.relation === "next");
|
|
76762
76762
|
if (!a.entry?.length && !u) break;
|
|
76763
|
-
yield
|
|
76763
|
+
yield Lo(a), o2 = u?.url ? new URL(u.url) : void 0;
|
|
76764
76764
|
}
|
|
76765
76765
|
}
|
|
76766
76766
|
valueSetExpand(r, n) {
|
|
@@ -76839,7 +76839,7 @@ var Tr = class extends ue {
|
|
|
76839
76839
|
}
|
|
76840
76840
|
}`.replaceAll(/\s+/g, " "), u = await this.graphql(a);
|
|
76841
76841
|
Yr(u.data.StructureDefinitionList);
|
|
76842
|
-
for (let
|
|
76842
|
+
for (let d of u.data.SearchParameterList) vn(d);
|
|
76843
76843
|
})());
|
|
76844
76844
|
return this.setCacheEntry(i, s, n), s;
|
|
76845
76845
|
}
|
|
@@ -76896,8 +76896,8 @@ var Tr = class extends ue {
|
|
|
76896
76896
|
async createAttachment(r, n, i, o2, s) {
|
|
76897
76897
|
let a = Fo(r, n, i, o2);
|
|
76898
76898
|
if (a.contentType === V.XML) {
|
|
76899
|
-
let
|
|
76900
|
-
|
|
76899
|
+
let l = a.data, f;
|
|
76900
|
+
l instanceof Blob ? f = await new Promise((h4, b2) => {
|
|
76901
76901
|
let P = new FileReader();
|
|
76902
76902
|
P.onload = () => {
|
|
76903
76903
|
if (!P.result) {
|
|
@@ -76905,35 +76905,35 @@ var Tr = class extends ue {
|
|
|
76905
76905
|
return;
|
|
76906
76906
|
}
|
|
76907
76907
|
h4(P.result);
|
|
76908
|
-
}, P.readAsText(
|
|
76909
|
-
}) : ArrayBuffer.isView(
|
|
76908
|
+
}, P.readAsText(l, "utf-8");
|
|
76909
|
+
}) : ArrayBuffer.isView(l) ? f = new TextDecoder().decode(l) : f = l, f.includes("<ClinicalDocument") && f.includes("urn:hl7-org:v3") && (a = { ...a, contentType: V.CDA_XML });
|
|
76910
76910
|
}
|
|
76911
|
-
let u = s ?? (typeof n == "object" ? n : {}),
|
|
76912
|
-
return { contentType: a.contentType, url:
|
|
76911
|
+
let u = s ?? (typeof n == "object" ? n : {}), d = await this.createBinary(a, u);
|
|
76912
|
+
return { contentType: a.contentType, url: d.url, title: a.filename };
|
|
76913
76913
|
}
|
|
76914
76914
|
createBinary(r, n, i, o2, s) {
|
|
76915
|
-
let a = Fo(r, n, i, o2), u = s ?? (typeof n == "object" ? n : {}), { data:
|
|
76916
|
-
return f && P.searchParams.set("_filename", f), h4?.reference && this.setRequestHeader(u, "X-Security-Context", h4.reference), b2 ? this.uploadwithProgress(P,
|
|
76915
|
+
let a = Fo(r, n, i, o2), u = s ?? (typeof n == "object" ? n : {}), { data: d, contentType: l, filename: f, securityContext: h4, onProgress: b2 } = a, P = this.fhirUrl("Binary");
|
|
76916
|
+
return f && P.searchParams.set("_filename", f), h4?.reference && this.setRequestHeader(u, "X-Security-Context", h4.reference), b2 ? this.uploadwithProgress(P, d, l, b2, u) : this.post(P, d, l, u);
|
|
76917
76917
|
}
|
|
76918
76918
|
uploadwithProgress(r, n, i, o2, s) {
|
|
76919
76919
|
return new Promise((a, u) => {
|
|
76920
|
-
let
|
|
76921
|
-
s?.signal?.addEventListener("abort",
|
|
76920
|
+
let d = new XMLHttpRequest(), l = () => d.abort();
|
|
76921
|
+
s?.signal?.addEventListener("abort", l);
|
|
76922
76922
|
let f = (h4) => {
|
|
76923
|
-
s?.signal?.removeEventListener("abort",
|
|
76923
|
+
s?.signal?.removeEventListener("abort", l), h4 instanceof Error ? u(h4) : a(h4);
|
|
76924
76924
|
};
|
|
76925
|
-
if (
|
|
76926
|
-
|
|
76927
|
-
},
|
|
76925
|
+
if (d.responseType = "json", d.onabort = () => f(new DOMException("Request aborted", "AbortError")), d.onerror = () => f(new Error("Request error")), o2 && (d.upload.onprogress = (h4) => o2(h4), d.upload.onload = (h4) => o2(h4)), d.onload = () => {
|
|
76926
|
+
d.status >= 200 && d.status < 300 ? f(d.response) : f(new m(_t(d.response || d.statusText)));
|
|
76927
|
+
}, d.open("POST", r), d.withCredentials = true, d.setRequestHeader("Authorization", "Bearer " + this.accessToken), d.setRequestHeader("Cache-Control", "no-cache, no-store, max-age=0"), d.setRequestHeader("Content-Type", i), this.options.extendedMode !== false && d.setRequestHeader("X-Medplum", "extended"), s?.headers) {
|
|
76928
76928
|
let h4 = s.headers;
|
|
76929
|
-
for (let [b2, P] of Object.entries(h4))
|
|
76929
|
+
for (let [b2, P] of Object.entries(h4)) d.setRequestHeader(b2, P);
|
|
76930
76930
|
}
|
|
76931
|
-
|
|
76931
|
+
d.send(n);
|
|
76932
76932
|
});
|
|
76933
76933
|
}
|
|
76934
76934
|
async createPdf(r, n, i, o2) {
|
|
76935
76935
|
if (!this.createPdfImpl) throw new Error("PDF creation not enabled");
|
|
76936
|
-
let s = cu(r, n, i, o2), a = typeof n == "object" ? n : {}, { docDefinition: u, tableLayouts:
|
|
76936
|
+
let s = cu(r, n, i, o2), a = typeof n == "object" ? n : {}, { docDefinition: u, tableLayouts: d, fonts: l, ...f } = s, h4 = await this.createPdfImpl(u, d, l), b2 = { ...f, data: h4, contentType: "application/pdf" };
|
|
76937
76937
|
return this.createBinary(b2, a);
|
|
76938
76938
|
}
|
|
76939
76939
|
createComment(r, n, i) {
|
|
@@ -76982,8 +76982,8 @@ var Tr = class extends ue {
|
|
|
76982
76982
|
return this.get(`${this.fhirUrl(r, n)}/$graph?graph=${i}`, o2);
|
|
76983
76983
|
}
|
|
76984
76984
|
pushToAgent(r, n, i, o2, s, a) {
|
|
76985
|
-
let { waitTimeout: u, returnAck:
|
|
76986
|
-
return this.post(this.fhirUrl("Agent", X(r), "$push"), { destination: typeof n == "string" ? n : I(n), body: i, contentType: o2, waitForResponse: s, ...u !== void 0 ? { waitTimeout: u } : void 0, ...
|
|
76985
|
+
let { waitTimeout: u, returnAck: d, ...l } = a ?? {};
|
|
76986
|
+
return this.post(this.fhirUrl("Agent", X(r), "$push"), { destination: typeof n == "string" ? n : I(n), body: i, contentType: o2, waitForResponse: s, ...u !== void 0 ? { waitTimeout: u } : void 0, ...d !== void 0 ? { returnAck: d } : void 0 }, V.FHIR_JSON, l);
|
|
76987
76987
|
}
|
|
76988
76988
|
getCdsServices(r) {
|
|
76989
76989
|
return this.get(this.cdsServicesUrl, r);
|
|
@@ -77132,12 +77132,12 @@ var Tr = class extends ue {
|
|
|
77132
77132
|
if (o2.status === 404 && !a) throw new m(yi);
|
|
77133
77133
|
let u = await this.parseBody(o2, a);
|
|
77134
77134
|
if (o2.status === 200 && n.followRedirectOnOk || o2.status === 201 && n.followRedirectOnCreated) {
|
|
77135
|
-
let
|
|
77136
|
-
if (
|
|
77135
|
+
let d = await No(o2, u);
|
|
77136
|
+
if (d) return this.request(d, { ...n, method: "GET", body: void 0 });
|
|
77137
77137
|
}
|
|
77138
77138
|
if (o2.status === 202 && n.pollStatusOnAccepted) {
|
|
77139
|
-
let
|
|
77140
|
-
if (
|
|
77139
|
+
let l = await No(o2, u) ?? i.statusUrl;
|
|
77140
|
+
if (l) return this.pollStatus(l, n, i);
|
|
77141
77141
|
}
|
|
77142
77142
|
if (o2.status >= 400) throw new m(_t(u));
|
|
77143
77143
|
return u;
|
|
@@ -77187,11 +77187,11 @@ var Tr = class extends ue {
|
|
|
77187
77187
|
if (!this.currentRateLimits) return [];
|
|
77188
77188
|
let r = this.currentRateLimits;
|
|
77189
77189
|
return r.split(",").map((n) => {
|
|
77190
|
-
let i = n.split(";").map((
|
|
77190
|
+
let i = n.split(";").map((l) => l.trim());
|
|
77191
77191
|
if (i.length !== 3) throw new Error("Could not parse RateLimit header: " + r);
|
|
77192
|
-
let o2 = i[0].substring(1, i[0].length - 1), s = i.find((
|
|
77193
|
-
if (!o2 || Number.isNaN(a) || Number.isNaN(
|
|
77194
|
-
return { name: o2, remainingUnits: a, secondsUntilReset:
|
|
77192
|
+
let o2 = i[0].substring(1, i[0].length - 1), s = i.find((l) => l.startsWith("r="))?.substring(2), a = s ? Number.parseInt(s, 10) : Number.NaN, u = i.find((l) => l.startsWith("t="))?.substring(2), d = u ? Number.parseInt(u, 10) : Number.NaN;
|
|
77193
|
+
if (!o2 || Number.isNaN(a) || Number.isNaN(d)) throw new Error("Could not parse RateLimit header: " + r);
|
|
77194
|
+
return { name: o2, remainingUnits: a, secondsUntilReset: d, resetsAfter: Math.ceil((Date.now() + 1e3 * d) / 1e3) };
|
|
77195
77195
|
});
|
|
77196
77196
|
}
|
|
77197
77197
|
getRetryDelay(r) {
|
|
@@ -77297,8 +77297,8 @@ var Tr = class extends ue {
|
|
|
77297
77297
|
let i = () => {
|
|
77298
77298
|
let a = this.accessToken, u = this.getActiveLogin();
|
|
77299
77299
|
u?.accessToken && u.accessToken !== this.accessToken && this.setAccessToken(u.accessToken, u.refreshToken);
|
|
77300
|
-
let
|
|
77301
|
-
return this.isAuthenticated(r) && (!n ||
|
|
77300
|
+
let d = this.accessToken !== a;
|
|
77301
|
+
return this.isAuthenticated(r) && (!n || d) ? Promise.resolve(this.getProfile()) : this.refreshToken ? this.fetchTokens({ grant_type: st.RefreshToken, client_id: this.clientId ?? "", refresh_token: this.refreshToken }) : this.clientId && this.clientSecret ? this.startClientLogin(this.clientId, this.clientSecret) : Promise.resolve(void 0);
|
|
77302
77302
|
}, o2 = typeof navigator < "u" ? navigator.locks : void 0;
|
|
77303
77303
|
if (!o2?.request) return i();
|
|
77304
77304
|
let s = `medplum-refresh:${this.storage.makeKey("activeLogin")}`;
|
|
@@ -77413,14 +77413,14 @@ function ou() {
|
|
|
77413
77413
|
if (!globalThis.fetch) throw new Error("Fetch not available in this environment");
|
|
77414
77414
|
return globalThis.fetch.bind(globalThis);
|
|
77415
77415
|
}
|
|
77416
|
-
async function
|
|
77416
|
+
async function No(t6, e) {
|
|
77417
77417
|
let r = t6.headers.get("content-location");
|
|
77418
77418
|
if (r) return r;
|
|
77419
77419
|
let n = t6.headers.get("location");
|
|
77420
77420
|
if (n) return n;
|
|
77421
77421
|
if (ut(e) && e.issue?.[0]?.diagnostics) return e.issue[0].diagnostics;
|
|
77422
77422
|
}
|
|
77423
|
-
function
|
|
77423
|
+
function Lo(t6) {
|
|
77424
77424
|
let e = t6.entry?.map((r) => r.resource) ?? [];
|
|
77425
77425
|
return Object.assign(e, { bundle: t6 });
|
|
77426
77426
|
}
|
|
@@ -77442,15 +77442,15 @@ function uu(t6) {
|
|
|
77442
77442
|
var Su = [...yt, "->", "<<", ">>", "=="];
|
|
77443
77443
|
var Ru = xt().registerInfix("->", { precedence: S.Arrow }).registerInfix(";", { precedence: S.Semicolon });
|
|
77444
77444
|
var Zu = Object.freeze({ implicitArrayCreation: true });
|
|
77445
|
-
var
|
|
77446
|
-
var
|
|
77447
|
-
var
|
|
77448
|
-
var
|
|
77449
|
-
var
|
|
77450
|
-
function
|
|
77451
|
-
return t6 !== void 0 && Object.hasOwn(
|
|
77445
|
+
var td = " ".repeat(2);
|
|
77446
|
+
var nd = [...yt, "eq", "ne", "co"];
|
|
77447
|
+
var id = { eq: g.EXACT, ne: g.NOT_EQUALS, co: g.CONTAINS, sw: g.STARTS_WITH, ew: void 0, gt: g.GREATER_THAN, lt: g.LESS_THAN, ge: g.GREATER_THAN_OR_EQUALS, le: g.LESS_THAN_OR_EQUALS, ap: g.APPROXIMATELY, sa: g.STARTS_AFTER, eb: g.ENDS_BEFORE, pr: g.PRESENT, po: void 0, ss: void 0, sb: void 0, in: g.IN, ni: g.NOT_IN, re: g.EQUALS, identifier: g.IDENTIFIER };
|
|
77448
|
+
var sd = xt();
|
|
77449
|
+
var ad = { AA: "AA", AE: "AE", AR: "AR", CA: "CA", CE: "CE", CR: "CR" };
|
|
77450
|
+
function cd(t6) {
|
|
77451
|
+
return t6 !== void 0 && Object.hasOwn(ad, t6);
|
|
77452
77452
|
}
|
|
77453
|
-
var
|
|
77453
|
+
var ud = { AA: "OK", AE: "Application Error", AR: "Application Reject", CA: "Commit Accept", CE: "Commit Error", CR: "Commit Reject" };
|
|
77454
77454
|
var Ie = class {
|
|
77455
77455
|
constructor(e = "\r", r = "|", n = "^", i = "~", o2 = "\\", s = "&") {
|
|
77456
77456
|
c(this, "segmentSeparator");
|
|
@@ -77468,14 +77468,14 @@ var Ie = class {
|
|
|
77468
77468
|
return this.componentSeparator + this.repetitionSeparator + this.escapeCharacter + this.subcomponentSeparator;
|
|
77469
77469
|
}
|
|
77470
77470
|
};
|
|
77471
|
-
var
|
|
77471
|
+
var ds = class t2 {
|
|
77472
77472
|
constructor(e, r = new Ie()) {
|
|
77473
77473
|
c(this, "context");
|
|
77474
77474
|
c(this, "_segments");
|
|
77475
77475
|
c(this, "segmentsByName");
|
|
77476
77476
|
c(this, "cachedString");
|
|
77477
77477
|
c(this, "allSegmentsParsed");
|
|
77478
|
-
this.context = r, this._segments = e, this.segmentsByName =
|
|
77478
|
+
this.context = r, this._segments = e, this.segmentsByName = ls(e), this.allSegmentsParsed = e.every((n) => typeof n != "string"), this.bindSegments();
|
|
77479
77479
|
}
|
|
77480
77480
|
get segments() {
|
|
77481
77481
|
if (!this.allSegmentsParsed) {
|
|
@@ -77518,11 +77518,11 @@ var ls = class t2 {
|
|
|
77518
77518
|
}
|
|
77519
77519
|
getAckType() {
|
|
77520
77520
|
let e = this.getSegment("MSA")?.getField(1)?.toString()?.toUpperCase();
|
|
77521
|
-
return
|
|
77521
|
+
return cd(e) ? e : void 0;
|
|
77522
77522
|
}
|
|
77523
77523
|
buildAck(e) {
|
|
77524
|
-
let r = /* @__PURE__ */ new Date(), n = this.getSegment("MSH"), i = n?.getField(3)?.toString() ?? "", o2 = n?.getField(4)?.toString() ?? "", s = n?.getField(5)?.toString() ?? "", a = n?.getField(6)?.toString() ?? "", u = n?.getField(10)?.toString() ?? "",
|
|
77525
|
-
return new t2([new At(["MSH", this.context.getMsh2(), s, a, i, o2,
|
|
77524
|
+
let r = /* @__PURE__ */ new Date(), n = this.getSegment("MSH"), i = n?.getField(3)?.toString() ?? "", o2 = n?.getField(4)?.toString() ?? "", s = n?.getField(5)?.toString() ?? "", a = n?.getField(6)?.toString() ?? "", u = n?.getField(10)?.toString() ?? "", d = n?.getField(12)?.toString() ?? "2.5.1", l = e?.ackCode ?? "AA";
|
|
77525
|
+
return new t2([new At(["MSH", this.context.getMsh2(), s, a, i, o2, ld(r), "", this.buildAckMessageType(n), r.getTime().toString(), "P", d], this.context), new At(["MSA", l, u, ud[l]], this.context), ...e?.errSegment ? [e.errSegment] : []]);
|
|
77526
77526
|
}
|
|
77527
77527
|
buildAckMessageType(e) {
|
|
77528
77528
|
let r = e?.getField(9), n = r?.getComponent(2), i = r?.getComponent(3), o2 = "ACK";
|
|
@@ -77550,7 +77550,7 @@ var ls = class t2 {
|
|
|
77550
77550
|
return this.segmentsByName.get(e)?.[0] ?? -1;
|
|
77551
77551
|
}
|
|
77552
77552
|
invalidateCache() {
|
|
77553
|
-
this.segmentsByName =
|
|
77553
|
+
this.segmentsByName = ls(this._segments), this.cachedString = void 0, this.bindSegments();
|
|
77554
77554
|
}
|
|
77555
77555
|
bindSegments() {
|
|
77556
77556
|
let e = () => {
|
|
@@ -77559,7 +77559,7 @@ var ls = class t2 {
|
|
|
77559
77559
|
for (let r of this._segments) typeof r != "string" && (r.onModified = e);
|
|
77560
77560
|
}
|
|
77561
77561
|
};
|
|
77562
|
-
function
|
|
77562
|
+
function ls(t6) {
|
|
77563
77563
|
let e = /* @__PURE__ */ new Map();
|
|
77564
77564
|
for (let r = 0; r < t6.length; r++) {
|
|
77565
77565
|
let n = t6[r], i = typeof n == "string" ? n.slice(0, 3) : n.name, o2 = e.get(i);
|
|
@@ -77682,12 +77682,12 @@ var ge = class t4 {
|
|
|
77682
77682
|
this.cachedString = void 0, this.onModified?.();
|
|
77683
77683
|
}
|
|
77684
77684
|
};
|
|
77685
|
-
function
|
|
77685
|
+
function ld(t6) {
|
|
77686
77686
|
let e = t6 instanceof Date ? t6 : new Date(t6), n = e.toISOString().replaceAll(/[-:T]/g, "").replace(/(\.\d+)?Z$/, ""), i = e.getUTCMilliseconds();
|
|
77687
77687
|
return i > 0 && (n += "." + i.toString()), n;
|
|
77688
77688
|
}
|
|
77689
77689
|
var ct = { NONE: 0, ERROR: 1, WARN: 2, INFO: 3, DEBUG: 4 };
|
|
77690
|
-
var
|
|
77690
|
+
var pd = ["NONE", "ERROR", "WARN", "INFO", "DEBUG"];
|
|
77691
77691
|
var ps = class t5 {
|
|
77692
77692
|
constructor(e, r = {}, n = ct.INFO, i = {}) {
|
|
77693
77693
|
c(this, "write");
|
|
@@ -77725,10 +77725,10 @@ var ps = class t5 {
|
|
|
77725
77725
|
i = { ...n };
|
|
77726
77726
|
for (let [o2, s] of Object.entries(i)) s instanceof Error && (i[o2] = kr(s));
|
|
77727
77727
|
}
|
|
77728
|
-
this.write(JSON.stringify({ level:
|
|
77728
|
+
this.write(JSON.stringify({ level: pd[e], timestamp: (/* @__PURE__ */ new Date()).toISOString(), msg: this.prefix ? `${this.prefix}${r}` : r, ...i, ...this.metadata }));
|
|
77729
77729
|
}
|
|
77730
77730
|
};
|
|
77731
|
-
function
|
|
77731
|
+
function ux(t6) {
|
|
77732
77732
|
let e = ct[t6.toUpperCase()];
|
|
77733
77733
|
if (e === void 0) throw new Error(`Invalid log level: ${t6}`);
|
|
77734
77734
|
return e;
|
|
@@ -77747,11 +77747,11 @@ function kr(t6, e = 0, r = 10) {
|
|
|
77747
77747
|
return n;
|
|
77748
77748
|
}
|
|
77749
77749
|
var ti = `${kt}/fhir/StructureDefinition/patient-preferredPharmacy`;
|
|
77750
|
-
var
|
|
77750
|
+
var Bd = { wk: 1440 * 7, d: 1440, h: 60, min: 1 };
|
|
77751
77751
|
var Rs = /^\d+\.\d+\.\d+(-[0-9a-z]{7})?$/;
|
|
77752
|
-
var
|
|
77752
|
+
var Zd = "https://meta.medplum.com/releases";
|
|
77753
77753
|
var ii = /* @__PURE__ */ new Map();
|
|
77754
|
-
function
|
|
77754
|
+
function el(t6) {
|
|
77755
77755
|
let e = t6;
|
|
77756
77756
|
if (!e.tag_name?.startsWith("v")) throw new Error("Manifest missing valid tag_name starting with a 'v' (eg. v5.1.15)");
|
|
77757
77757
|
let r = e.assets;
|
|
@@ -77762,7 +77762,7 @@ function zl(t6) {
|
|
|
77762
77762
|
}
|
|
77763
77763
|
}
|
|
77764
77764
|
async function Cs(t6, e, r, n) {
|
|
77765
|
-
let i = new URL(`${
|
|
77765
|
+
let i = new URL(`${Zd}/${t6}`);
|
|
77766
77766
|
if (i.searchParams.set("a", e), i.searchParams.set("c", Mn), n) for (let [s, a] of Object.entries(n)) i.searchParams.set(s, a);
|
|
77767
77767
|
let o2 = await fetch(i.toString());
|
|
77768
77768
|
if (o2.status !== 200) {
|
|
@@ -77780,17 +77780,17 @@ async function oi(t6, e, r) {
|
|
|
77780
77780
|
let n = e ? ii.get(e) : void 0;
|
|
77781
77781
|
if (!n) {
|
|
77782
77782
|
let i = e ? `v${e}` : "latest", o2 = await Cs(`${i}.json`, t6, `fetching manifest for version '${e ?? "latest"}'`, r);
|
|
77783
|
-
|
|
77783
|
+
el(o2), n = o2, ii.set(n.tag_name.slice(1), n);
|
|
77784
77784
|
}
|
|
77785
77785
|
return n;
|
|
77786
77786
|
}
|
|
77787
77787
|
function Ps(t6) {
|
|
77788
77788
|
return Rs.test(t6);
|
|
77789
77789
|
}
|
|
77790
|
-
function
|
|
77790
|
+
function tl(t6) {
|
|
77791
77791
|
if (!Rs.test(t6)) throw new TypeError(`Version is not a valid Medplum semver (eg. 1.1.1 or 1.1.1-a1bc): ${t6}`);
|
|
77792
77792
|
}
|
|
77793
|
-
async function
|
|
77793
|
+
async function Vv(t6, e) {
|
|
77794
77794
|
if (!Ps(e)) return false;
|
|
77795
77795
|
try {
|
|
77796
77796
|
await oi(t6, e);
|
|
@@ -77799,11 +77799,11 @@ async function Cv(t6, e) {
|
|
|
77799
77799
|
}
|
|
77800
77800
|
return true;
|
|
77801
77801
|
}
|
|
77802
|
-
async function
|
|
77802
|
+
async function _v(t6) {
|
|
77803
77803
|
let e = await oi(t6);
|
|
77804
77804
|
if (!e.tag_name.startsWith("v")) throw new Error(`Invalid release name found. Release tag '${e.tag_name}' did not start with 'v'`);
|
|
77805
77805
|
let r = e.tag_name.slice(1);
|
|
77806
|
-
return
|
|
77806
|
+
return tl(r), r;
|
|
77807
77807
|
}
|
|
77808
77808
|
|
|
77809
77809
|
// src/main.ts
|
|
@@ -77912,7 +77912,7 @@ var v2 = class extends m2 {
|
|
|
77912
77912
|
return;
|
|
77913
77913
|
}
|
|
77914
77914
|
let l = i.message.getSegment("MSA")?.getField(1)?.toString()?.toUpperCase();
|
|
77915
|
-
l && (u.returnAck ===
|
|
77915
|
+
l && (u.returnAck === Hm.APPLICATION && l === "CA" || (u.timer && clearTimeout(u.timer), u.resolve(i.message), this.deletePendingMessage(a)));
|
|
77916
77916
|
});
|
|
77917
77917
|
}
|
|
77918
77918
|
isClosed() {
|
|
@@ -77947,7 +77947,7 @@ var v2 = class extends m2 {
|
|
|
77947
77947
|
break;
|
|
77948
77948
|
}
|
|
77949
77949
|
if (n === -1) break;
|
|
77950
|
-
let c2 = t6.subarray(s, n + 1).subarray(1, -2), a = import_iconv_lite.default.decode(c2, this.encoding), u =
|
|
77950
|
+
let c2 = t6.subarray(s, n + 1).subarray(1, -2), a = import_iconv_lite.default.decode(c2, this.encoding), u = ds.parse(a);
|
|
77951
77951
|
e.push(u), s = n + 1;
|
|
77952
77952
|
}
|
|
77953
77953
|
return this.chunks = s < t6.length ? [t6.subarray(s)] : [], e;
|
|
@@ -77965,7 +77965,7 @@ var v2 = class extends m2 {
|
|
|
77965
77965
|
let c2;
|
|
77966
77966
|
t6?.timeoutMs && (c2 = setTimeout(() => {
|
|
77967
77967
|
this.deletePendingMessage(i), n(new m({ resourceType: "OperationOutcome", issue: [{ severity: "error", code: "timeout", details: { text: "Client timeout" }, diagnostics: `Request timed out after waiting ${t6.timeoutMs} milliseconds for response` }] }));
|
|
77968
|
-
}, t6.timeoutMs)), this.setPendingMessage(i, { message: e, resolve: s, reject: n, returnAck: t6?.returnAck ??
|
|
77968
|
+
}, t6.timeoutMs)), this.setPendingMessage(i, { message: e, resolve: s, reject: n, returnAck: t6?.returnAck ?? Hm.APPLICATION, timer: c2 }), this.sendImpl(e);
|
|
77969
77969
|
});
|
|
77970
77970
|
}
|
|
77971
77971
|
async close() {
|
|
@@ -87531,13 +87531,13 @@ var dictionary = new Proxy(/* @__PURE__ */ Object.create(null), {
|
|
|
87531
87531
|
return entry;
|
|
87532
87532
|
}
|
|
87533
87533
|
if (prop.length === 8) {
|
|
87534
|
-
var
|
|
87535
|
-
if (!
|
|
87536
|
-
if (!
|
|
87534
|
+
var _v2 = lookupTagHex(prop);
|
|
87535
|
+
if (!_v2) _v2 = lookupTagRangeHex(prop);
|
|
87536
|
+
if (!_v2) return void 0;
|
|
87537
87537
|
var tag = "(" + prop.slice(0, 4) + "," + prop.slice(4, 8) + ")";
|
|
87538
87538
|
var _entry = _objectSpread2(_objectSpread2({
|
|
87539
87539
|
tag
|
|
87540
|
-
},
|
|
87540
|
+
}, _v2), {}, {
|
|
87541
87541
|
version: "DICOM"
|
|
87542
87542
|
});
|
|
87543
87543
|
cache.set(prop, _entry);
|
|
@@ -87545,11 +87545,11 @@ var dictionary = new Proxy(/* @__PURE__ */ Object.create(null), {
|
|
|
87545
87545
|
}
|
|
87546
87546
|
if (isPrivateTagKey(prop)) {
|
|
87547
87547
|
if (!privateModule) return void 0;
|
|
87548
|
-
var
|
|
87549
|
-
if (!
|
|
87548
|
+
var _v22 = privateModule.lookupPrivateTag(prop);
|
|
87549
|
+
if (!_v22) return void 0;
|
|
87550
87550
|
var _entry2 = _objectSpread2(_objectSpread2({
|
|
87551
87551
|
tag: prop
|
|
87552
|
-
},
|
|
87552
|
+
}, _v22), {}, {
|
|
87553
87553
|
version: "PrivateTag"
|
|
87554
87554
|
});
|
|
87555
87555
|
cache.set(prop, _entry2);
|
|
@@ -88295,9 +88295,9 @@ var DicomMessage = /* @__PURE__ */ (function() {
|
|
|
88295
88295
|
throw new Error("Invalid DICOM file, expected header is missing");
|
|
88296
88296
|
}
|
|
88297
88297
|
var metaStartPos = stream.offset;
|
|
88298
|
-
var
|
|
88298
|
+
var el2 = DicomMessage2._readTag(stream, useSyntax);
|
|
88299
88299
|
var metaHeader = {};
|
|
88300
|
-
if (
|
|
88300
|
+
if (el2.tag.cleanString !== TagHex.FileMetaInformationGroupLength) {
|
|
88301
88301
|
if (!options.ignoreErrors) {
|
|
88302
88302
|
throw new Error("Invalid DICOM file, meta length tag is malformed or not present.");
|
|
88303
88303
|
}
|
|
@@ -88308,7 +88308,7 @@ var DicomMessage = /* @__PURE__ */ (function() {
|
|
|
88308
88308
|
ignoreErrors: true
|
|
88309
88309
|
});
|
|
88310
88310
|
} else {
|
|
88311
|
-
var metaLength =
|
|
88311
|
+
var metaLength = el2.values[0];
|
|
88312
88312
|
var metaStream = stream.more(metaLength);
|
|
88313
88313
|
metaHeader = DicomMessage2._read(metaStream, useSyntax, options);
|
|
88314
88314
|
}
|
|
@@ -89290,7 +89290,7 @@ var AsyncDicomReader = /* @__PURE__ */ (function() {
|
|
|
89290
89290
|
key: "readMeta",
|
|
89291
89291
|
value: (function() {
|
|
89292
89292
|
var _readMeta = _asyncToGenerator(/* @__PURE__ */ _regeneratorRuntime().mark(function _callee4() {
|
|
89293
|
-
var options, stream, metaStartPos,
|
|
89293
|
+
var options, stream, metaStartPos, el2, metaLength, metaStream, _args4 = arguments;
|
|
89294
89294
|
return _regeneratorRuntime().wrap(function(_context4) {
|
|
89295
89295
|
while (1) switch (_context4.prev = _context4.next) {
|
|
89296
89296
|
case 0:
|
|
@@ -89300,8 +89300,8 @@ var AsyncDicomReader = /* @__PURE__ */ (function() {
|
|
|
89300
89300
|
return stream.ensureAvailable();
|
|
89301
89301
|
case 1:
|
|
89302
89302
|
metaStartPos = stream.offset;
|
|
89303
|
-
|
|
89304
|
-
if (!(
|
|
89303
|
+
el2 = this.readTagHeader();
|
|
89304
|
+
if (!(el2.tag !== TagHex.FileMetaInformationGroupLength)) {
|
|
89305
89305
|
_context4.next = 4;
|
|
89306
89306
|
break;
|
|
89307
89307
|
}
|
|
@@ -89323,7 +89323,7 @@ var AsyncDicomReader = /* @__PURE__ */ (function() {
|
|
|
89323
89323
|
_context4.next = 6;
|
|
89324
89324
|
break;
|
|
89325
89325
|
case 4:
|
|
89326
|
-
metaLength =
|
|
89326
|
+
metaLength = el2.vrObj.readBytes(stream);
|
|
89327
89327
|
_context4.next = 5;
|
|
89328
89328
|
return stream.ensureAvailable(metaLength);
|
|
89329
89329
|
case 5:
|
|
@@ -100699,9 +100699,9 @@ var ChannelStatsTracker = class {
|
|
|
100699
100699
|
idsToDelete.push(messageId);
|
|
100700
100700
|
}
|
|
100701
100701
|
}
|
|
100702
|
-
for (const
|
|
100703
|
-
this.log?.warn(`Cleaning up pending message; never got response for message with ID '${
|
|
100704
|
-
this.pendingMessages.delete(
|
|
100702
|
+
for (const id2 of idsToDelete) {
|
|
100703
|
+
this.log?.warn(`Cleaning up pending message; never got response for message with ID '${id2}'`);
|
|
100704
|
+
this.pendingMessages.delete(id2);
|
|
100705
100705
|
}
|
|
100706
100706
|
}
|
|
100707
100707
|
/**
|
|
@@ -101809,7 +101809,7 @@ function parseAckCode(body) {
|
|
|
101809
101809
|
return void 0;
|
|
101810
101810
|
}
|
|
101811
101811
|
try {
|
|
101812
|
-
return
|
|
101812
|
+
return ds.parse(body).getAckType();
|
|
101813
101813
|
} catch {
|
|
101814
101814
|
return void 0;
|
|
101815
101815
|
}
|
|
@@ -102178,7 +102178,7 @@ var AgentHl7Channel = class extends BaseChannel {
|
|
|
102178
102178
|
*/
|
|
102179
102179
|
computeLogicalChannelKeyForStoredMessage(originalMessage) {
|
|
102180
102180
|
try {
|
|
102181
|
-
return computeLogicalChannelKey(
|
|
102181
|
+
return computeLogicalChannelKey(ds.parse(originalMessage.toString("utf8")), this.logicalChannelKeySpec);
|
|
102182
102182
|
} catch {
|
|
102183
102183
|
return "";
|
|
102184
102184
|
}
|
|
@@ -102202,7 +102202,7 @@ var AgentHl7Channel = class extends BaseChannel {
|
|
|
102202
102202
|
this.log.warn(`Attempted to send message to disconnected remote: ${msg.remote}`);
|
|
102203
102203
|
return false;
|
|
102204
102204
|
}
|
|
102205
|
-
const hl7Message =
|
|
102205
|
+
const hl7Message = ds.parse(msg.body);
|
|
102206
102206
|
const msgControlId = hl7Message.getSegment("MSA")?.getField(2)?.toString();
|
|
102207
102207
|
const ackCode = hl7Message.getSegment("MSA")?.getField(1)?.toString()?.toUpperCase();
|
|
102208
102208
|
if (ackCode && isAppLevelAckCode(ackCode) && !shouldSendAppLevelAck({
|
|
@@ -102220,7 +102220,7 @@ var AgentHl7Channel = class extends BaseChannel {
|
|
|
102220
102220
|
}
|
|
102221
102221
|
this.channelLog.info(`[Sending ACK -- ID: ${msgControlId}]: ${hl7Message.toString().replaceAll("\r", "\n")}`);
|
|
102222
102222
|
try {
|
|
102223
|
-
connection.hl7Connection.send(
|
|
102223
|
+
connection.hl7Connection.send(ds.parse(msg.body));
|
|
102224
102224
|
} catch (err2) {
|
|
102225
102225
|
this.channelLog.error(`Failed to send ACK to ${msg.remote}: ${Ve(err2)}`);
|
|
102226
102226
|
return false;
|
|
@@ -103284,7 +103284,7 @@ function cleanupLoggerConfig(config, configPathRoot = "config") {
|
|
|
103284
103284
|
warnings.push(`${configPathRoot}.filesToKeep must be a valid integer`);
|
|
103285
103285
|
config.filesToKeep = void 0;
|
|
103286
103286
|
}
|
|
103287
|
-
if (typeof config.logLevel !== "undefined" && !(typeof config.logLevel === "number" &&
|
|
103287
|
+
if (typeof config.logLevel !== "undefined" && !(typeof config.logLevel === "number" && pd[config.logLevel] !== void 0)) {
|
|
103288
103288
|
warnings.push(`${configPathRoot}.logLevel must be a valid log level between LogLevel.NONE and LogLevel.DEBUG`);
|
|
103289
103289
|
config.logLevel = void 0;
|
|
103290
103290
|
}
|
|
@@ -103329,7 +103329,7 @@ function parseLoggerConfigFromArgs(args) {
|
|
|
103329
103329
|
let configValue;
|
|
103330
103330
|
if (settingName === "logLevel") {
|
|
103331
103331
|
try {
|
|
103332
|
-
configValue =
|
|
103332
|
+
configValue = ux(propVal);
|
|
103333
103333
|
} catch (err2) {
|
|
103334
103334
|
warnings.push(`Error while parsing ${propName}: ${Ve(err2)}`);
|
|
103335
103335
|
}
|
|
@@ -104480,11 +104480,11 @@ var DurableQueue = class _DurableQueue {
|
|
|
104480
104480
|
);
|
|
104481
104481
|
return Number(info.lastInsertRowid);
|
|
104482
104482
|
};
|
|
104483
|
-
let
|
|
104483
|
+
let id2;
|
|
104484
104484
|
if (seqNoToCommit !== void 0) {
|
|
104485
104485
|
this.db.exec("BEGIN");
|
|
104486
104486
|
try {
|
|
104487
|
-
|
|
104487
|
+
id2 = runInsert();
|
|
104488
104488
|
this.commitSeqNo(input.channelName, seqNoToCommit);
|
|
104489
104489
|
this.db.exec("COMMIT");
|
|
104490
104490
|
} catch (txErr) {
|
|
@@ -104492,12 +104492,12 @@ var DurableQueue = class _DurableQueue {
|
|
|
104492
104492
|
throw txErr;
|
|
104493
104493
|
}
|
|
104494
104494
|
} else {
|
|
104495
|
-
|
|
104495
|
+
id2 = runInsert();
|
|
104496
104496
|
}
|
|
104497
104497
|
this.walDirty = true;
|
|
104498
|
-
const row = this.getById(
|
|
104498
|
+
const row = this.getById(id2);
|
|
104499
104499
|
if (!row) {
|
|
104500
|
-
throw new Error(`enqueue: inserted row id=${
|
|
104500
|
+
throw new Error(`enqueue: inserted row id=${id2} could not be re-read`);
|
|
104501
104501
|
}
|
|
104502
104502
|
return { kind: "inserted", row };
|
|
104503
104503
|
} catch (err2) {
|
|
@@ -104598,8 +104598,8 @@ var DurableQueue = class _DurableQueue {
|
|
|
104598
104598
|
* @param id - The row's primary key.
|
|
104599
104599
|
* @returns The matching row, or null.
|
|
104600
104600
|
*/
|
|
104601
|
-
getById(
|
|
104602
|
-
const raw = this.findByIdStmt.get(
|
|
104601
|
+
getById(id2) {
|
|
104602
|
+
const raw = this.findByIdStmt.get(id2);
|
|
104603
104603
|
return raw ? rowFromSql(raw) : null;
|
|
104604
104604
|
}
|
|
104605
104605
|
/**
|
|
@@ -104608,9 +104608,9 @@ var DurableQueue = class _DurableQueue {
|
|
|
104608
104608
|
* @param statusCode - HTTP-style status code returned by the server.
|
|
104609
104609
|
* @param body - Response payload, or null when the server omitted one.
|
|
104610
104610
|
*/
|
|
104611
|
-
recordServerResponse(
|
|
104611
|
+
recordServerResponse(id2, statusCode, body) {
|
|
104612
104612
|
this.assertNotDemoted();
|
|
104613
|
-
this.recordServerResponseStmt.run(statusCode, body === null ? null : toBlob(body),
|
|
104613
|
+
this.recordServerResponseStmt.run(statusCode, body === null ? null : toBlob(body), id2);
|
|
104614
104614
|
this.walDirty = true;
|
|
104615
104615
|
}
|
|
104616
104616
|
/**
|
|
@@ -104630,9 +104630,9 @@ var DurableQueue = class _DurableQueue {
|
|
|
104630
104630
|
* @param now - Override for `processed_at` (for tests).
|
|
104631
104631
|
* @returns True if the row was settled; false if this attempt was superseded.
|
|
104632
104632
|
*/
|
|
104633
|
-
markProcessed(
|
|
104633
|
+
markProcessed(id2, attemptCount, ackOutcome, now = Date.now()) {
|
|
104634
104634
|
this.assertNotDemoted();
|
|
104635
|
-
const info = this.markProcessedStmt.run(ackOutcome, now,
|
|
104635
|
+
const info = this.markProcessedStmt.run(ackOutcome, now, id2, attemptCount);
|
|
104636
104636
|
if (Number(info.changes) > 0) {
|
|
104637
104637
|
this.walDirty = true;
|
|
104638
104638
|
return true;
|
|
@@ -104653,9 +104653,9 @@ var DurableQueue = class _DurableQueue {
|
|
|
104653
104653
|
* @param now - Override for `errored_at` (for tests).
|
|
104654
104654
|
* @returns True if the row was settled; false if this attempt was superseded.
|
|
104655
104655
|
*/
|
|
104656
|
-
markRejected(
|
|
104656
|
+
markRejected(id2, attemptCount, error, errorCode, now = Date.now()) {
|
|
104657
104657
|
this.assertNotDemoted();
|
|
104658
|
-
const info = this.markBotFailedStmt.run(MessageState.REJECTED, now, error, errorCode,
|
|
104658
|
+
const info = this.markBotFailedStmt.run(MessageState.REJECTED, now, error, errorCode, id2, attemptCount);
|
|
104659
104659
|
if (Number(info.changes) > 0) {
|
|
104660
104660
|
this.walDirty = true;
|
|
104661
104661
|
return true;
|
|
@@ -104679,9 +104679,9 @@ var DurableQueue = class _DurableQueue {
|
|
|
104679
104679
|
* @param now - Override for `errored_at` (for tests).
|
|
104680
104680
|
* @returns True if the row was settled; false if this attempt was superseded.
|
|
104681
104681
|
*/
|
|
104682
|
-
markFailed(
|
|
104682
|
+
markFailed(id2, attemptCount, error, errorCode, now = Date.now()) {
|
|
104683
104683
|
this.assertNotDemoted();
|
|
104684
|
-
const info = this.markBotFailedStmt.run(MessageState.FAILED, now, error, errorCode,
|
|
104684
|
+
const info = this.markBotFailedStmt.run(MessageState.FAILED, now, error, errorCode, id2, attemptCount);
|
|
104685
104685
|
if (Number(info.changes) > 0) {
|
|
104686
104686
|
this.walDirty = true;
|
|
104687
104687
|
return true;
|
|
@@ -104696,8 +104696,8 @@ var DurableQueue = class _DurableQueue {
|
|
|
104696
104696
|
* @param id - Row primary key.
|
|
104697
104697
|
* @param ackOutcome - The new source-leg outcome.
|
|
104698
104698
|
*/
|
|
104699
|
-
setAckOutcome(
|
|
104700
|
-
this.setAckOutcomeStmt.run(ackOutcome,
|
|
104699
|
+
setAckOutcome(id2, ackOutcome) {
|
|
104700
|
+
this.setAckOutcomeStmt.run(ackOutcome, id2);
|
|
104701
104701
|
this.walDirty = true;
|
|
104702
104702
|
}
|
|
104703
104703
|
/**
|
|
@@ -104724,9 +104724,9 @@ var DurableQueue = class _DurableQueue {
|
|
|
104724
104724
|
* @param nextAttemptAt - Earliest timestamp (ms) at which the row may be claimed again.
|
|
104725
104725
|
* @returns True if the row was rescheduled; false if this attempt was superseded.
|
|
104726
104726
|
*/
|
|
104727
|
-
scheduleRetry(
|
|
104727
|
+
scheduleRetry(id2, attemptCount, error, errorCode, nextAttemptAt) {
|
|
104728
104728
|
this.assertNotDemoted();
|
|
104729
|
-
const info = this.scheduleRetryStmt.run(error, errorCode, nextAttemptAt,
|
|
104729
|
+
const info = this.scheduleRetryStmt.run(error, errorCode, nextAttemptAt, id2, attemptCount);
|
|
104730
104730
|
if (Number(info.changes) > 0) {
|
|
104731
104731
|
this.walDirty = true;
|
|
104732
104732
|
return true;
|
|
@@ -104744,9 +104744,9 @@ var DurableQueue = class _DurableQueue {
|
|
|
104744
104744
|
* @param id - Row primary key.
|
|
104745
104745
|
* @returns True if the row was requeued; false if it was not in `claimed`.
|
|
104746
104746
|
*/
|
|
104747
|
-
requeue(
|
|
104747
|
+
requeue(id2) {
|
|
104748
104748
|
this.assertNotDemoted();
|
|
104749
|
-
const info = this.requeueStmt.run(
|
|
104749
|
+
const info = this.requeueStmt.run(id2);
|
|
104750
104750
|
if (Number(info.changes) > 0) {
|
|
104751
104751
|
this.walDirty = true;
|
|
104752
104752
|
return true;
|
|
@@ -105102,9 +105102,9 @@ var DurableQueue = class _DurableQueue {
|
|
|
105102
105102
|
* @param id - The claimed row's id.
|
|
105103
105103
|
* @param key - The partition key computed from the channel's current spec.
|
|
105104
105104
|
*/
|
|
105105
|
-
setLogicalChannelKey(
|
|
105105
|
+
setLogicalChannelKey(id2, key) {
|
|
105106
105106
|
this.assertNotDemoted();
|
|
105107
|
-
if (Number(this.setLogicalChannelKeyStmt.run(key,
|
|
105107
|
+
if (Number(this.setLogicalChannelKeyStmt.run(key, id2).changes) > 0) {
|
|
105108
105108
|
this.walDirty = true;
|
|
105109
105109
|
}
|
|
105110
105110
|
}
|
|
@@ -105136,8 +105136,8 @@ var DurableQueue = class _DurableQueue {
|
|
|
105136
105136
|
* @param id - The claimed row's id; only earlier rows can block it.
|
|
105137
105137
|
* @returns True if an earlier same-partition message is still in play.
|
|
105138
105138
|
*/
|
|
105139
|
-
isPartitionBlocked(channelName, key,
|
|
105140
|
-
return this.isPartitionBlockedStmt.get(channelName, key,
|
|
105139
|
+
isPartitionBlocked(channelName, key, id2) {
|
|
105140
|
+
return this.isPartitionBlockedStmt.get(channelName, key, id2) !== void 0;
|
|
105141
105141
|
}
|
|
105142
105142
|
/**
|
|
105143
105143
|
* Parks a just-claimed row that lost the partition race: `claimed` → `delayed`,
|
|
@@ -105150,9 +105150,9 @@ var DurableQueue = class _DurableQueue {
|
|
|
105150
105150
|
* @param key - The partition key computed for the row.
|
|
105151
105151
|
* @returns True if the row was parked (false if the write was superseded).
|
|
105152
105152
|
*/
|
|
105153
|
-
markDelayed(
|
|
105153
|
+
markDelayed(id2, attemptCount, key) {
|
|
105154
105154
|
this.assertNotDemoted();
|
|
105155
|
-
if (Number(this.markDelayedStmt.run(key,
|
|
105155
|
+
if (Number(this.markDelayedStmt.run(key, id2, attemptCount).changes) > 0) {
|
|
105156
105156
|
this.walDirty = true;
|
|
105157
105157
|
return true;
|
|
105158
105158
|
}
|
|
@@ -106644,7 +106644,7 @@ IPv6 is currently unsupported.`;
|
|
|
106644
106644
|
this.log.error(errMsg);
|
|
106645
106645
|
throw new Error(errMsg);
|
|
106646
106646
|
}
|
|
106647
|
-
if (!((0, import_node_net4.isIPv4)(message2.remote) ||
|
|
106647
|
+
if (!((0, import_node_net4.isIPv4)(message2.remote) || cf(message2.remote))) {
|
|
106648
106648
|
const errMsg = `Attempted to ping an invalid host.
|
|
106649
106649
|
|
|
106650
106650
|
"${message2.remote}" is not a valid IPv4 address or a resolvable hostname.`;
|
|
@@ -106719,7 +106719,7 @@ ${result}`);
|
|
|
106719
106719
|
return;
|
|
106720
106720
|
}
|
|
106721
106721
|
let child;
|
|
106722
|
-
if (message2.version && !await
|
|
106722
|
+
if (message2.version && !await Vv("agent-upgrader", message2.version)) {
|
|
106723
106723
|
const versionTag = message2.version ? `v${message2.version}` : "latest";
|
|
106724
106724
|
const errMsg = `Error during upgrading to version '${versionTag}'. '${message2.version}' is not a valid version`;
|
|
106725
106725
|
this.log.error(errMsg);
|
|
@@ -106730,7 +106730,7 @@ ${result}`);
|
|
|
106730
106730
|
});
|
|
106731
106731
|
return;
|
|
106732
106732
|
}
|
|
106733
|
-
const targetVersion = message2.version ?? await
|
|
106733
|
+
const targetVersion = message2.version ?? await _v("agent-upgrader");
|
|
106734
106734
|
if (Mn.startsWith(targetVersion)) {
|
|
106735
106735
|
if (!message2?.force) {
|
|
106736
106736
|
this.log.info(`Attempted to upgrade to version ${targetVersion}, but agent is already on that version`);
|
|
@@ -106955,7 +106955,7 @@ ${result}`);
|
|
|
106955
106955
|
} catch (err2) {
|
|
106956
106956
|
this.log.warn(`${Ve(err2)} - falling back to default return ACK behavior of 'first'.`);
|
|
106957
106957
|
}
|
|
106958
|
-
const returnAck = msgReturnAck ?? defaultReturnAck ??
|
|
106958
|
+
const returnAck = msgReturnAck ?? defaultReturnAck ?? Hm.FIRST;
|
|
106959
106959
|
let pool;
|
|
106960
106960
|
if (this.hl7Clients.has(message2.remote)) {
|
|
106961
106961
|
pool = this.hl7Clients.get(message2.remote);
|
|
@@ -106976,7 +106976,7 @@ ${result}`);
|
|
|
106976
106976
|
encoding
|
|
106977
106977
|
});
|
|
106978
106978
|
}
|
|
106979
|
-
const requestMsg =
|
|
106979
|
+
const requestMsg = ds.parse(message2.body);
|
|
106980
106980
|
const msh10 = requestMsg.getSegment("MSH")?.getField(10);
|
|
106981
106981
|
if (!msh10) {
|
|
106982
106982
|
const errMsg = "MSH.10 is missing but required";
|
|
@@ -107058,10 +107058,10 @@ ${result}`);
|
|
|
107058
107058
|
}
|
|
107059
107059
|
const normalizedValue = rawValue.toLowerCase();
|
|
107060
107060
|
if (normalizedValue === "application") {
|
|
107061
|
-
return
|
|
107061
|
+
return Hm.APPLICATION;
|
|
107062
107062
|
}
|
|
107063
107063
|
if (normalizedValue === "first") {
|
|
107064
|
-
return
|
|
107064
|
+
return Hm.FIRST;
|
|
107065
107065
|
}
|
|
107066
107066
|
throw new Error(`Invalid value for returnAck; expected: 'first' or 'application', received: ${rawValue}`);
|
|
107067
107067
|
}
|
|
@@ -107124,7 +107124,7 @@ async function agentMain(argv) {
|
|
|
107124
107124
|
for (const warning of warnings) {
|
|
107125
107125
|
mainLogger.warn(warning);
|
|
107126
107126
|
}
|
|
107127
|
-
const app = new App(medplum, agentId, args.logLevel ?
|
|
107127
|
+
const app = new App(medplum, agentId, args.logLevel ? ux(args.logLevel) : void 0, {
|
|
107128
107128
|
mainLogger,
|
|
107129
107129
|
channelLogger
|
|
107130
107130
|
});
|
|
@@ -107173,7 +107173,7 @@ async function upgraderMain(argv) {
|
|
|
107173
107173
|
if (argv[3] && !Ps(argv[3])) {
|
|
107174
107174
|
throw new Error("Invalid version specified");
|
|
107175
107175
|
}
|
|
107176
|
-
version = argv[3] ?? await
|
|
107176
|
+
version = argv[3] ?? await _v("agent-upgrader");
|
|
107177
107177
|
binPath = getReleaseBinPath(version);
|
|
107178
107178
|
if (!(0, import_node_fs7.existsSync)(binPath)) {
|
|
107179
107179
|
globalLogger.info(`Could not find binary at "${binPath}". Downloading release from GitHub...`);
|