@records-fhir/validation-types 0.1.12 → 0.1.14
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/CHANGELOG.md +32 -0
- package/dist/fix-suggestions/catalog-reference-profile.d.ts.map +1 -1
- package/dist/fix-suggestions/catalog-reference-profile.js +3 -2
- package/dist/fix-suggestions/catalog-reference-profile.js.map +1 -1
- package/dist/validation/defaults/terminology-defaults.d.ts +0 -8
- package/dist/validation/defaults/terminology-defaults.d.ts.map +1 -1
- package/dist/validation/defaults/terminology-defaults.js +16 -4
- package/dist/validation/defaults/terminology-defaults.js.map +1 -1
- package/dist/validation/effective-quality-policy.d.ts +58 -0
- package/dist/validation/effective-quality-policy.d.ts.map +1 -1
- package/dist/validation/evaluation-plan.d.ts +4 -0
- package/dist/validation/evaluation-plan.d.ts.map +1 -1
- package/dist/validation/external-quality-source.d.ts +137 -0
- package/dist/validation/external-quality-source.d.ts.map +1 -0
- package/dist/validation/external-quality-source.js +70 -0
- package/dist/validation/external-quality-source.js.map +1 -0
- package/dist/validation/finding-verification.d.ts +281 -0
- package/dist/validation/finding-verification.d.ts.map +1 -0
- package/dist/validation/finding-verification.js +54 -0
- package/dist/validation/finding-verification.js.map +1 -0
- package/dist/validation/index.d.ts +1 -0
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +1 -0
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/issue-provenance.js +5 -0
- package/dist/validation/issue-provenance.js.map +1 -1
- package/dist/validation/messages.d.ts +2 -0
- package/dist/validation/messages.d.ts.map +1 -1
- package/dist/validation/quality-assessment.d.ts +3 -0
- package/dist/validation/quality-assessment.d.ts.map +1 -1
- package/dist/validation/quality-policy-layer.d.ts +26 -0
- package/dist/validation/quality-policy-layer.d.ts.map +1 -1
- package/dist/validation/quality-policy-layer.js +4 -0
- package/dist/validation/quality-policy-layer.js.map +1 -1
- package/dist/validation/quality-rule-pack-draft.d.ts +202 -1
- package/dist/validation/quality-rule-pack-draft.d.ts.map +1 -1
- package/dist/validation/quality-rule-pack.d.ts +396 -2
- package/dist/validation/quality-rule-pack.d.ts.map +1 -1
- package/dist/validation/quality-rule-pack.js +81 -1
- package/dist/validation/quality-rule-pack.js.map +1 -1
- package/dist/validation/settings-core-schema.d.ts +33 -0
- package/dist/validation/settings-core-schema.d.ts.map +1 -1
- package/dist/validation/settings-core-schema.js +2 -0
- package/dist/validation/settings-core-schema.js.map +1 -1
- package/dist/validation/settings-policies.d.ts +7 -0
- package/dist/validation/settings-policies.d.ts.map +1 -1
- package/dist/validation/settings-schema.d.ts +208 -0
- package/dist/validation/settings-schema.d.ts.map +1 -1
- package/dist/validation/settings-schema.js +2 -1
- package/dist/validation/settings-schema.js.map +1 -1
- package/dist/validation/settings-terminology-schema.d.ts +16 -0
- package/dist/validation/settings-terminology-schema.d.ts.map +1 -1
- package/dist/validation/settings-terminology-schema.js +3 -0
- package/dist/validation/settings-terminology-schema.js.map +1 -1
- package/package.json +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,38 @@ captures changes that affect type-package consumers directly.
|
|
|
11
11
|
|
|
12
12
|
## [Unreleased]
|
|
13
13
|
|
|
14
|
+
## [0.1.14] — 2026-10-11
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- Shared DQA program, policy, rule, observation and evaluation contracts with
|
|
19
|
+
explicit coverage, non-evaluation and immutable provenance.
|
|
20
|
+
- Optional profile and EU laboratory document population selection; missing
|
|
21
|
+
membership policies and bounded structured/primitive observations retain
|
|
22
|
+
the defaults and hashes of existing manifests.
|
|
23
|
+
- Run-only quality selections, independent FHIR/DQA execution modes and bounded
|
|
24
|
+
original-CQL preflight/worker contracts.
|
|
25
|
+
- Metadata-only source input receipts, single-resource source ownership and
|
|
26
|
+
explicit reference namespace and validation-unit deduplication contracts.
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
|
|
30
|
+
- Use Termbox's explicit R4 endpoint in the default R4 server entry. Existing
|
|
31
|
+
saved configurations retain their selected endpoint.
|
|
32
|
+
|
|
33
|
+
## [0.1.13] — 2026-10-05
|
|
34
|
+
|
|
35
|
+
### Fixed
|
|
36
|
+
|
|
37
|
+
- Classify `terminology-coding-missing-system` as a verified resource finding
|
|
38
|
+
with high confidence, without mistaking its message for a terminology outage.
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- Dedicated `validation/finding-verification` schemas and types for read-only
|
|
43
|
+
run finding verification and repository-based GitHub issue manifests.
|
|
44
|
+
- Add validated, request-scoped `defaultCodeSystemVersions` terminology settings for explicit edition selection without changing Coding versions.
|
|
45
|
+
|
|
14
46
|
## [0.1.12] — 2026-09-22
|
|
15
47
|
|
|
16
48
|
### Changed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-reference-profile.d.ts","sourceRoot":"","sources":["../../src/fix-suggestions/catalog-reference-profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"catalog-reference-profile.d.ts","sourceRoot":"","sources":["../../src/fix-suggestions/catalog-reference-profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CA0MnE,CAAC"}
|
|
@@ -73,8 +73,9 @@ export const CATALOG_REFERENCE_PROFILE = {
|
|
|
73
73
|
fix: 'Check reference format, target existence, and type constraints.',
|
|
74
74
|
},
|
|
75
75
|
'reference-circular': {
|
|
76
|
-
why: 'A
|
|
77
|
-
fix: '
|
|
76
|
+
why: 'A reference relationship declared as a strict hierarchy returns to the same resource.',
|
|
77
|
+
fix: 'Correct the identified hierarchical relationship, such as partOf. Ordinary clinical backlinks and Patient links do not need to be removed.',
|
|
78
|
+
specUrl: 'https://hl7.org/fhir/R4/references.html#circular',
|
|
78
79
|
},
|
|
79
80
|
'reference-recursive-timeout': {
|
|
80
81
|
why: 'Reference resolution was aborted because the chain is too deep.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-reference-profile.js","sourceRoot":"","sources":["../../src/fix-suggestions/catalog-reference-profile.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,yBAAyB,GAAkC;IACpE,4EAA4E;IAC5E,YAAY;IACZ,4EAA4E;IAC5E,qBAAqB,EAAE;QACnB,GAAG,EAAE,mEAAmE;QACxE,GAAG,EAAE,yEAAyE;QAC9E,OAAO,EAAE,uCAAuC;KACnD;IACD,yBAAyB,EAAE;QACvB,GAAG,EAAE,uEAAuE;QAC5E,GAAG,EAAE,4DAA4D;QACjE,OAAO,EAAE,gEAAgE;QACzE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,kBAAkB,EAAE;KAC3F;IACD,0BAA0B,EAAE;QACxB,GAAG,EAAE,qEAAqE;QAC1E,GAAG,EAAE,uEAAuE;QAC5E,OAAO,EAAE,oEAAoE;QAC7E,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,mBAAmB,EAAE;KAC5F;IACD,iBAAiB,EAAE;QACf,GAAG,EAAE,8CAA8C;QACnD,GAAG,EAAE,+DAA+D;KACvE;IACD,+BAA+B,EAAE;QAC7B,GAAG,EAAE,uEAAuE;QAC5E,GAAG,EAAE,2DAA2D;QAChE,OAAO,EAAE,oEAAoE;KAChF;IACD,6BAA6B,EAAE;QAC3B,GAAG,EAAE,0DAA0D;QAC/D,GAAG,EAAE,0EAA0E;KAClF;IACD,mCAAmC,EAAE;QACjC,GAAG,EAAE,yDAAyD;QAC9D,GAAG,EAAE,iEAAiE;KACzE;IACD,kCAAkC,EAAE;QAChC,GAAG,EAAE,iCAAiC;QACtC,GAAG,EAAE,8CAA8C;KACtD;IACD,yCAAyC,EAAE;QACvC,GAAG,EAAE,kDAAkD;QACvD,GAAG,EAAE,kFAAkF;KAC1F;IACD,sCAAsC,EAAE;QACpC,GAAG,EAAE,+CAA+C;QACpD,GAAG,EAAE,mFAAmF;KAC3F;IACD,uBAAuB,EAAE;QACrB,GAAG,EAAE,4CAA4C;QACjD,GAAG,EAAE,mEAAmE;KAC3E;IACD,6BAA6B,EAAE;QAC3B,GAAG,EAAE,4CAA4C;QACjD,GAAG,EAAE,8CAA8C;KACtD;IACD,wBAAwB,EAAE;QACtB,GAAG,EAAE,wDAAwD;QAC7D,GAAG,EAAE,4EAA4E;KACpF;IACD,mCAAmC,EAAE;QACjC,GAAG,EAAE,2DAA2D;QAChE,GAAG,EAAE,mEAAmE;KAC3E;IACD,kCAAkC,EAAE;QAChC,GAAG,EAAE,0DAA0D;QAC/D,GAAG,EAAE,kFAAkF;KAC1F;IACD,4BAA4B,EAAE;QAC1B,GAAG,EAAE,wDAAwD;QAC7D,GAAG,EAAE,iEAAiE;KACzE;IACD,oBAAoB,EAAE;QAClB,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"catalog-reference-profile.js","sourceRoot":"","sources":["../../src/fix-suggestions/catalog-reference-profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,4 @@
|
|
|
1
1
|
import type { TerminologyServer, CircuitBreakerConfig } from '../settings.js';
|
|
2
|
-
/**
|
|
3
|
-
* Default terminology servers based on TERMINOLOGY_SERVER_TEST_RESULTS.md
|
|
4
|
-
*
|
|
5
|
-
* Priority order (sequential fallback):
|
|
6
|
-
* 1. CSIRO Ontoserver R4 - Primary (more reliable, fewer 422 errors)
|
|
7
|
-
* 2. tx.fhir.org/r4 - Fallback for R4
|
|
8
|
-
* 3. tx.fhir.org/r5 - Fallback for R5/R6
|
|
9
|
-
*/
|
|
10
2
|
export declare const DEFAULT_TERMINOLOGY_SERVERS: TerminologyServer[];
|
|
11
3
|
/**
|
|
12
4
|
* Default circuit breaker configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminology-defaults.d.ts","sourceRoot":"","sources":["../../../src/validation/defaults/terminology-defaults.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"terminology-defaults.d.ts","sourceRoot":"","sources":["../../../src/validation/defaults/terminology-defaults.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAuB9E,eAAO,MAAM,2BAA2B,EAAE,iBAAiB,EA0I1D,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,oBAI5C,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,oBAAoB;IAC/B,MAAM;QACJ,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,UAAU;QACd,EAAE,EAAE,UAAU;;IAEhB,WAAW;IACX,WAAW;IACX,WAAW;IACX,GAAG;QACD,UAAU;QACV,OAAO;QACP,WAAW;QACX,SAAS;QACT,OAAO;;IAET,cAAc;IACd,wBAAwB;CACzB,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,4BAA4B;;QAErC,OAAO;QACP,eAAe;YAEb,gBAAgB;YAChB,gBAAgB;YAChB,kBAAkB;YAClB,+CAA+C;YAC/C,yBAAyB;;;;QAI3B,OAAO;QACP,iBAAiB;;;;oBAOL,MAAM;;;;;;CAYrB,CAAC"}
|
|
@@ -7,6 +7,18 @@
|
|
|
7
7
|
* 2. tx.fhir.org/r4 - Fallback for R4
|
|
8
8
|
* 3. tx.fhir.org/r5 - Fallback for R5/R6
|
|
9
9
|
*/
|
|
10
|
+
// The editions tx.fhir.org advertises through /metadata?mode=terminology on
|
|
11
|
+
// both releases: International, Switzerland, Denmark, IPS, Netherlands, UK and
|
|
12
|
+
// US. A SNOMED CT request for an edition missing here is never routed to it.
|
|
13
|
+
const TX_FHIR_ORG_SNOMED_EDITIONS = [
|
|
14
|
+
'900000000000207008',
|
|
15
|
+
'2011000195101',
|
|
16
|
+
'554471000005108',
|
|
17
|
+
'827022005',
|
|
18
|
+
'11000146104',
|
|
19
|
+
'83821000000107',
|
|
20
|
+
'731000124108',
|
|
21
|
+
];
|
|
10
22
|
export const DEFAULT_TERMINOLOGY_SERVERS = [
|
|
11
23
|
{
|
|
12
24
|
id: 'csiro-ontoserver-r4',
|
|
@@ -55,8 +67,7 @@ export const DEFAULT_TERMINOLOGY_SERVERS = [
|
|
|
55
67
|
circuitOpen: false,
|
|
56
68
|
responseTimeAvg: 0,
|
|
57
69
|
testScore: 98,
|
|
58
|
-
|
|
59
|
-
snomedEditions: ['900000000000207008']
|
|
70
|
+
snomedEditions: [...TX_FHIR_ORG_SNOMED_EDITIONS]
|
|
60
71
|
},
|
|
61
72
|
{
|
|
62
73
|
id: 'tx-fhir-org-r5',
|
|
@@ -69,7 +80,8 @@ export const DEFAULT_TERMINOLOGY_SERVERS = [
|
|
|
69
80
|
lastFailureTime: null,
|
|
70
81
|
circuitOpen: false,
|
|
71
82
|
responseTimeAvg: 0,
|
|
72
|
-
testScore: 98
|
|
83
|
+
testScore: 98,
|
|
84
|
+
snomedEditions: [...TX_FHIR_ORG_SNOMED_EDITIONS]
|
|
73
85
|
},
|
|
74
86
|
// Health Samurai Termbox — public demo endpoint for SNOMED CT, LOINC,
|
|
75
87
|
// RxNorm, ICD-10, CPT, UCUM. Added as an additional fallback option
|
|
@@ -77,7 +89,7 @@ export const DEFAULT_TERMINOLOGY_SERVERS = [
|
|
|
77
89
|
{
|
|
78
90
|
id: 'termbox-healthsamurai',
|
|
79
91
|
name: 'Health Samurai Termbox',
|
|
80
|
-
url: 'https://tx.health-samurai.io/fhir',
|
|
92
|
+
url: 'https://tx.health-samurai.io/fhir/r4',
|
|
81
93
|
enabled: false,
|
|
82
94
|
fhirVersions: ['R4'],
|
|
83
95
|
status: 'unknown',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminology-defaults.js","sourceRoot":"","sources":["../../../src/validation/defaults/terminology-defaults.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAIvF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAwB;IAC9D;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,uBAAuB;QAC7B,GAAG,EAAE,qCAAqC;QAC1C,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,CAAC,IAAI,CAAC;QACpB,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,KAAK;QAClB,eAAe,EAAE,CAAC;QAClB,SAAS,EAAE,EAAE;QACb,4EAA4E;QAC5E,cAAc,EAAE,CAAC,oBAAoB,CAAC;KACvC;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,gCAAgC;QACtC,GAAG,EAAE,wCAAwC;QAC7C,oEAAoE;QACpE,oEAAoE;QACpE,sDAAsD;QACtD,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,CAAC,IAAI,CAAC;QACpB,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,KAAK;QAClB,eAAe,EAAE,CAAC;QAClB,SAAS,EAAE,CAAC;QACZ,qEAAqE;QACrE,gBAAgB,EAAE,CAAC,wBAAwB,CAAC;QAC5C,qDAAqD;QACrD,cAAc,EAAE,CAAC,oBAAoB,CAAC;KACvC;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,oBAAoB;QAC1B,GAAG,EAAE,wBAAwB;QAC7B,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,CAAC,IAAI,CAAC;QACpB,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,KAAK;QAClB,eAAe,EAAE,CAAC;QAClB,SAAS,EAAE,EAAE;QACb,
|
|
1
|
+
{"version":3,"file":"terminology-defaults.js","sourceRoot":"","sources":["../../../src/validation/defaults/terminology-defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,50 @@ export interface EffectiveQualityPolicyLayerReference {
|
|
|
20
20
|
scopeId: string;
|
|
21
21
|
revision: number;
|
|
22
22
|
}
|
|
23
|
+
interface OriginalQualityProgramBasis {
|
|
24
|
+
packRef: string;
|
|
25
|
+
origin: 'original-cql' | 'original-r';
|
|
26
|
+
moduleId: string;
|
|
27
|
+
definitionFingerprint: `sha256:${string}`;
|
|
28
|
+
manifestFingerprint: `sha256:${string}`;
|
|
29
|
+
artifactBundleFingerprint: `sha256:${string}`;
|
|
30
|
+
dependenciesFingerprint: `sha256:${string}`;
|
|
31
|
+
runtimeTreeSha256: string;
|
|
32
|
+
executionCapsuleFingerprint?: `sha256:${string}`;
|
|
33
|
+
qualified: false;
|
|
34
|
+
execution: 'blocked';
|
|
35
|
+
}
|
|
36
|
+
interface OriginalQualityRunBasis {
|
|
37
|
+
schemaVersion: 'records-original-quality-run-basis/1';
|
|
38
|
+
jobId: string;
|
|
39
|
+
executionClock: string;
|
|
40
|
+
clockBasis: 'captured-policy-clock';
|
|
41
|
+
organizationId: number;
|
|
42
|
+
siteId: number;
|
|
43
|
+
serverId: number;
|
|
44
|
+
environment: string;
|
|
45
|
+
fhirVersion: string | null;
|
|
46
|
+
sourceConfigurationGeneration: {
|
|
47
|
+
state: 'known';
|
|
48
|
+
value: string;
|
|
49
|
+
} | {
|
|
50
|
+
state: 'unknown';
|
|
51
|
+
};
|
|
52
|
+
effectivePolicyFingerprint: `sha256:${string}`;
|
|
53
|
+
settingsHash: string;
|
|
54
|
+
programs: OriginalQualityProgramBasis[];
|
|
55
|
+
selection: {
|
|
56
|
+
resourceTypes: string[] | null;
|
|
57
|
+
requestedResourceLimit: number | null;
|
|
58
|
+
searchFiltersHash: string | null;
|
|
59
|
+
scopeRestoration: 'complete' | 'input-required' | 'legacy';
|
|
60
|
+
requestFingerprint: `sha256:${string}`;
|
|
61
|
+
membershipCaptured: false;
|
|
62
|
+
};
|
|
63
|
+
execution: 'blocked';
|
|
64
|
+
sourceSnapshotGuaranteed: false;
|
|
65
|
+
fingerprint: `sha256:${string}`;
|
|
66
|
+
}
|
|
23
67
|
export interface EffectiveQualityPolicySnapshot {
|
|
24
68
|
schemaVersion: 1;
|
|
25
69
|
capturedAt: string;
|
|
@@ -29,6 +73,15 @@ export interface EffectiveQualityPolicySnapshot {
|
|
|
29
73
|
environment: string;
|
|
30
74
|
/** Defaults to true for snapshots captured before scoped DQA enablement existed. */
|
|
31
75
|
qualityAssessmentEnabled?: boolean;
|
|
76
|
+
runConstraints?: {
|
|
77
|
+
qualityAssessmentRequired: boolean;
|
|
78
|
+
requiredPacks: string[];
|
|
79
|
+
};
|
|
80
|
+
runContext?: {
|
|
81
|
+
basePolicyFingerprint: `sha256:${string}`;
|
|
82
|
+
mode: 'inherit' | 'on' | 'off';
|
|
83
|
+
packRefs?: string[];
|
|
84
|
+
};
|
|
32
85
|
commonBaselineFingerprint: `sha256:${string}`;
|
|
33
86
|
localExtensionsFingerprint: `sha256:${string}`;
|
|
34
87
|
effectivePolicyFingerprint: `sha256:${string}`;
|
|
@@ -40,6 +93,10 @@ export interface EffectiveQualityPolicySnapshot {
|
|
|
40
93
|
}>;
|
|
41
94
|
rules: EffectiveQualityRule[];
|
|
42
95
|
advisories: EffectiveQualityAdvisoryRule[];
|
|
96
|
+
/** Exact installed Original metadata, not native rules or execution permission. */
|
|
97
|
+
originalPrograms?: OriginalQualityProgramBasis[];
|
|
98
|
+
/** Absent on historical/preflight snapshots; never reconstructed from current configuration. */
|
|
99
|
+
originalRunBasis?: OriginalQualityRunBasis;
|
|
43
100
|
appliedLayers: EffectiveQualityPolicyLayerReference[];
|
|
44
101
|
applicabilityDecisions: Array<{
|
|
45
102
|
packRef: string;
|
|
@@ -49,4 +106,5 @@ export interface EffectiveQualityPolicySnapshot {
|
|
|
49
106
|
assignedBy?: EffectiveQualityPolicyLayerReference;
|
|
50
107
|
}>;
|
|
51
108
|
}
|
|
109
|
+
export {};
|
|
52
110
|
//# sourceMappingURL=effective-quality-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effective-quality-policy.d.ts","sourceRoot":"","sources":["../../src/validation/effective-quality-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,sBAAsB,CAAC;IACxC,IAAI,EAAE,6BAA6B,CAAC;IACpC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oCAAoC;IACnD,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,8BAA8B;IAC7C,aAAa,EAAE,CAAC,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,yBAAyB,EAAE,UAAU,MAAM,EAAE,CAAC;IAC9C,0BAA0B,EAAE,UAAU,MAAM,EAAE,CAAC;IAC/C,0BAA0B,EAAE,UAAU,MAAM,EAAE,CAAC;IAC/C,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,UAAU,MAAM,EAAE,CAAC;QACjC,eAAe,EAAE,sBAAsB,CAAC;KACzC,CAAC,CAAC;IACH,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,UAAU,EAAE,4BAA4B,EAAE,CAAC;IAC3C,aAAa,EAAE,oCAAoC,EAAE,CAAC;IACtD,sBAAsB,EAAE,KAAK,CAAC;QAC5B,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,gFAAgF;QAChF,UAAU,CAAC,EAAE,oCAAoC,CAAC;KACnD,CAAC,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"effective-quality-policy.d.ts","sourceRoot":"","sources":["../../src/validation/effective-quality-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,10 @@ export interface EvaluationPlanSnapshot {
|
|
|
40
40
|
}>;
|
|
41
41
|
enabledRuleCount: number;
|
|
42
42
|
scopes: QualityRuleScope[];
|
|
43
|
+
observationMode?: 'outer-resources' | 'validation-units';
|
|
44
|
+
/** Missing or v1 values retain the legacy namespace-blind observation contract. */
|
|
45
|
+
deduplication?: 'resource-identity-and-content-hash' | 'confirmed-namespace-and-content-hash-v2';
|
|
46
|
+
referenceResolution?: 'selected-scope-only';
|
|
43
47
|
};
|
|
44
48
|
governance: {
|
|
45
49
|
enabledAdvisoryCount: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluation-plan.d.ts","sourceRoot":"","sources":["../../src/validation/evaluation-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,GAAG,yBAAyB,CAAC;AAEtF;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,CAAC,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,UAAU,MAAM,EAAE,CAAC;IACpC,kBAAkB,EAAE,UAAU,MAAM,EAAE,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,0BAA0B,CAAC;KACzC,CAAC;IACF,WAAW,EAAE;QACX,cAAc,EAAE,gBAAgB,EAAE,CAAC;QACnC,eAAe,EAAE,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,CAAC;QACxD,YAAY,EAAE,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,CAAC;KACtD,CAAC;IACF,OAAO,EAAE;QACP,iBAAiB,EAAE,UAAU,MAAM,EAAE,CAAC;QACtC,yBAAyB,EAAE,UAAU,MAAM,EAAE,CAAC;QAC9C,0BAA0B,EAAE,UAAU,MAAM,EAAE,CAAC;QAC/C,KAAK,EAAE,KAAK,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,YAAY,EAAE,UAAU,MAAM,EAAE,CAAC;YACjC,eAAe,EAAE,iBAAiB,GAAG,iBAAiB,CAAC;SACxD,CAAC,CAAC;QACH,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,gBAAgB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"evaluation-plan.d.ts","sourceRoot":"","sources":["../../src/validation/evaluation-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,GAAG,yBAAyB,CAAC;AAEtF;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,CAAC,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,UAAU,MAAM,EAAE,CAAC;IACpC,kBAAkB,EAAE,UAAU,MAAM,EAAE,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,0BAA0B,CAAC;KACzC,CAAC;IACF,WAAW,EAAE;QACX,cAAc,EAAE,gBAAgB,EAAE,CAAC;QACnC,eAAe,EAAE,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,CAAC;QACxD,YAAY,EAAE,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,CAAC;KACtD,CAAC;IACF,OAAO,EAAE;QACP,iBAAiB,EAAE,UAAU,MAAM,EAAE,CAAC;QACtC,yBAAyB,EAAE,UAAU,MAAM,EAAE,CAAC;QAC9C,0BAA0B,EAAE,UAAU,MAAM,EAAE,CAAC;QAC/C,KAAK,EAAE,KAAK,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,YAAY,EAAE,UAAU,MAAM,EAAE,CAAC;YACjC,eAAe,EAAE,iBAAiB,GAAG,iBAAiB,CAAC;SACxD,CAAC,CAAC;QACH,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,gBAAgB,EAAE,CAAC;QAC3B,eAAe,CAAC,EAAE,iBAAiB,GAAG,kBAAkB,CAAC;QACzD,mFAAmF;QACnF,aAAa,CAAC,EAAE,oCAAoC,GAAG,yCAAyC,CAAC;QACjG,mBAAmB,CAAC,EAAE,qBAAqB,CAAC;KAC7C,CAAC;IACF,UAAU,EAAE;QACV,oBAAoB,EAAE,MAAM,CAAC;QAC7B,4BAA4B,EAAE,MAAM,CAAC;QACrC,2BAA2B,EAAE,MAAM,CAAC;KACrC,CAAC;CACH"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const EXTERNAL_QUALITY_SOURCE_STATES: readonly ['ready', 'checking', 'update-available', 'up-to-date', 'blocked-license', 'blocked-parse', 'unreachable'];
|
|
3
|
+
export declare const EXTERNAL_QUALITY_LICENSE_STATUSES: readonly ['verified', 'permission-recorded', 'missing', 'incompatible'];
|
|
4
|
+
export declare const externalQualitySourceSchema: z.ZodObject<{
|
|
5
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
6
|
+
id: z.ZodString;
|
|
7
|
+
providerType: z.ZodEnum<["git"]>;
|
|
8
|
+
providerName: z.ZodString;
|
|
9
|
+
repositoryUrl: z.ZodEffects<z.ZodString, string, string>;
|
|
10
|
+
sourceSubpath: z.ZodString;
|
|
11
|
+
trackingRef: z.ZodString;
|
|
12
|
+
state: z.ZodEnum<["ready", "checking", "update-available", "up-to-date", "blocked-license", "blocked-parse", "unreachable"]>;
|
|
13
|
+
statusDetail: z.ZodString;
|
|
14
|
+
resolvedCommitSha: z.ZodString;
|
|
15
|
+
sourceContentHash: z.ZodString;
|
|
16
|
+
adapter: z.ZodObject<{
|
|
17
|
+
id: z.ZodString;
|
|
18
|
+
version: z.ZodString;
|
|
19
|
+
}, "strict", z.ZodTypeAny, {
|
|
20
|
+
id: string;
|
|
21
|
+
version: string;
|
|
22
|
+
}, {
|
|
23
|
+
id: string;
|
|
24
|
+
version: string;
|
|
25
|
+
}>;
|
|
26
|
+
license: z.ZodObject<{
|
|
27
|
+
status: z.ZodEnum<["verified", "permission-recorded", "missing", "incompatible"]>;
|
|
28
|
+
reference: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
29
|
+
detail: z.ZodOptional<z.ZodString>;
|
|
30
|
+
}, "strict", z.ZodTypeAny, {
|
|
31
|
+
status: "incompatible" | "missing" | "permission-recorded" | "verified";
|
|
32
|
+
reference?: string | undefined;
|
|
33
|
+
detail?: string | undefined;
|
|
34
|
+
}, {
|
|
35
|
+
status: "incompatible" | "missing" | "permission-recorded" | "verified";
|
|
36
|
+
reference?: string | undefined;
|
|
37
|
+
detail?: string | undefined;
|
|
38
|
+
}>;
|
|
39
|
+
inventory: z.ZodEffects<z.ZodObject<{
|
|
40
|
+
activeChecks: z.ZodNumber;
|
|
41
|
+
modules: z.ZodNumber;
|
|
42
|
+
native: z.ZodNumber;
|
|
43
|
+
external: z.ZodNumber;
|
|
44
|
+
catalogOnly: z.ZodNumber;
|
|
45
|
+
}, "strict", z.ZodTypeAny, {
|
|
46
|
+
activeChecks: number;
|
|
47
|
+
modules: number;
|
|
48
|
+
native: number;
|
|
49
|
+
external: number;
|
|
50
|
+
catalogOnly: number;
|
|
51
|
+
}, {
|
|
52
|
+
activeChecks: number;
|
|
53
|
+
modules: number;
|
|
54
|
+
native: number;
|
|
55
|
+
external: number;
|
|
56
|
+
catalogOnly: number;
|
|
57
|
+
}>, {
|
|
58
|
+
activeChecks: number;
|
|
59
|
+
modules: number;
|
|
60
|
+
native: number;
|
|
61
|
+
external: number;
|
|
62
|
+
catalogOnly: number;
|
|
63
|
+
}, {
|
|
64
|
+
activeChecks: number;
|
|
65
|
+
modules: number;
|
|
66
|
+
native: number;
|
|
67
|
+
external: number;
|
|
68
|
+
catalogOnly: number;
|
|
69
|
+
}>;
|
|
70
|
+
lastCheckedAt: z.ZodString;
|
|
71
|
+
lastSuccessfulImportAt: z.ZodNullable<z.ZodString>;
|
|
72
|
+
}, "strict", z.ZodTypeAny, {
|
|
73
|
+
schemaVersion: 1;
|
|
74
|
+
id: string;
|
|
75
|
+
providerType: "git";
|
|
76
|
+
providerName: string;
|
|
77
|
+
repositoryUrl: string;
|
|
78
|
+
sourceSubpath: string;
|
|
79
|
+
trackingRef: string;
|
|
80
|
+
state: "blocked-license" | "blocked-parse" | "checking" | "ready" | "unreachable" | "up-to-date" | "update-available";
|
|
81
|
+
statusDetail: string;
|
|
82
|
+
resolvedCommitSha: string;
|
|
83
|
+
sourceContentHash: string;
|
|
84
|
+
adapter: {
|
|
85
|
+
id: string;
|
|
86
|
+
version: string;
|
|
87
|
+
};
|
|
88
|
+
license: {
|
|
89
|
+
status: "incompatible" | "missing" | "permission-recorded" | "verified";
|
|
90
|
+
reference?: string | undefined;
|
|
91
|
+
detail?: string | undefined;
|
|
92
|
+
};
|
|
93
|
+
inventory: {
|
|
94
|
+
activeChecks: number;
|
|
95
|
+
modules: number;
|
|
96
|
+
native: number;
|
|
97
|
+
external: number;
|
|
98
|
+
catalogOnly: number;
|
|
99
|
+
};
|
|
100
|
+
lastCheckedAt: string;
|
|
101
|
+
lastSuccessfulImportAt: string | null;
|
|
102
|
+
}, {
|
|
103
|
+
schemaVersion: 1;
|
|
104
|
+
id: string;
|
|
105
|
+
providerType: "git";
|
|
106
|
+
providerName: string;
|
|
107
|
+
repositoryUrl: string;
|
|
108
|
+
sourceSubpath: string;
|
|
109
|
+
trackingRef: string;
|
|
110
|
+
state: "blocked-license" | "blocked-parse" | "checking" | "ready" | "unreachable" | "up-to-date" | "update-available";
|
|
111
|
+
statusDetail: string;
|
|
112
|
+
resolvedCommitSha: string;
|
|
113
|
+
sourceContentHash: string;
|
|
114
|
+
adapter: {
|
|
115
|
+
id: string;
|
|
116
|
+
version: string;
|
|
117
|
+
};
|
|
118
|
+
license: {
|
|
119
|
+
status: "incompatible" | "missing" | "permission-recorded" | "verified";
|
|
120
|
+
reference?: string | undefined;
|
|
121
|
+
detail?: string | undefined;
|
|
122
|
+
};
|
|
123
|
+
inventory: {
|
|
124
|
+
activeChecks: number;
|
|
125
|
+
modules: number;
|
|
126
|
+
native: number;
|
|
127
|
+
external: number;
|
|
128
|
+
catalogOnly: number;
|
|
129
|
+
};
|
|
130
|
+
lastCheckedAt: string;
|
|
131
|
+
lastSuccessfulImportAt: string | null;
|
|
132
|
+
}>;
|
|
133
|
+
export type ExternalQualitySource = z.infer<typeof externalQualitySourceSchema>;
|
|
134
|
+
export type ExternalQualitySourceState = typeof EXTERNAL_QUALITY_SOURCE_STATES[number];
|
|
135
|
+
export type ExternalQualityLicenseStatus = typeof EXTERNAL_QUALITY_LICENSE_STATUSES[number];
|
|
136
|
+
export declare function parseExternalQualitySource(input: unknown): ExternalQualitySource;
|
|
137
|
+
//# sourceMappingURL=external-quality-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-quality-source.d.ts","sourceRoot":"","sources":["../../src/validation/external-quality-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,8BAA8B,YACzC,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,aAAa,CACL,CAAC;AAEX,eAAO,MAAM,iCAAiC,YAC5C,UAAU,EACV,qBAAqB,EACrB,SAAS,EACT,cAAc,CACN,CAAC;AAcX,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuC7B,CAAC;AAEZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,0BAA0B,GAAG,OAAO,8BAA8B,CAAC,MAAM,CAAC,CAAC;AACvF,MAAM,MAAM,4BAA4B,GAAG,OAAO,iCAAiC,CAAC,MAAM,CAAC,CAAC;AAE5F,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAEhF"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { boundedQualityRuleId } from './quality-rule-schema-foundations.js';
|
|
3
|
+
export const EXTERNAL_QUALITY_SOURCE_STATES = [
|
|
4
|
+
'ready',
|
|
5
|
+
'checking',
|
|
6
|
+
'update-available',
|
|
7
|
+
'up-to-date',
|
|
8
|
+
'blocked-license',
|
|
9
|
+
'blocked-parse',
|
|
10
|
+
'unreachable',
|
|
11
|
+
];
|
|
12
|
+
export const EXTERNAL_QUALITY_LICENSE_STATUSES = [
|
|
13
|
+
'verified',
|
|
14
|
+
'permission-recorded',
|
|
15
|
+
'missing',
|
|
16
|
+
'incompatible',
|
|
17
|
+
];
|
|
18
|
+
const httpsUrl = z.string().url().max(2048).refine((value) => {
|
|
19
|
+
try {
|
|
20
|
+
return new URL(value).protocol === 'https:';
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
}, 'External quality sources require HTTPS');
|
|
26
|
+
const sha256 = z.string().regex(/^sha256:[0-9a-f]{64}$/);
|
|
27
|
+
export const externalQualitySourceSchema = z.object({
|
|
28
|
+
schemaVersion: z.literal(1),
|
|
29
|
+
id: boundedQualityRuleId,
|
|
30
|
+
providerType: z.enum(['git']),
|
|
31
|
+
providerName: z.string().min(1).max(256),
|
|
32
|
+
repositoryUrl: httpsUrl,
|
|
33
|
+
sourceSubpath: z.string().min(1).max(512),
|
|
34
|
+
trackingRef: z.string().min(1).max(256),
|
|
35
|
+
state: z.enum(EXTERNAL_QUALITY_SOURCE_STATES),
|
|
36
|
+
statusDetail: z.string().min(1).max(1024),
|
|
37
|
+
resolvedCommitSha: z.string().regex(/^[0-9a-f]{40}$/),
|
|
38
|
+
sourceContentHash: sha256,
|
|
39
|
+
adapter: z.object({
|
|
40
|
+
id: boundedQualityRuleId,
|
|
41
|
+
version: z.string().min(1).max(64),
|
|
42
|
+
}).strict(),
|
|
43
|
+
license: z.object({
|
|
44
|
+
status: z.enum(EXTERNAL_QUALITY_LICENSE_STATUSES),
|
|
45
|
+
reference: httpsUrl.optional(),
|
|
46
|
+
detail: z.string().min(1).max(1024).optional(),
|
|
47
|
+
}).strict(),
|
|
48
|
+
inventory: z.object({
|
|
49
|
+
activeChecks: z.number().int().nonnegative(),
|
|
50
|
+
modules: z.number().int().nonnegative(),
|
|
51
|
+
native: z.number().int().nonnegative(),
|
|
52
|
+
external: z.number().int().nonnegative(),
|
|
53
|
+
catalogOnly: z.number().int().nonnegative(),
|
|
54
|
+
}).strict().superRefine((inventory, context) => {
|
|
55
|
+
const classified = inventory.native + inventory.external + inventory.catalogOnly;
|
|
56
|
+
if (classified !== inventory.activeChecks) {
|
|
57
|
+
context.addIssue({
|
|
58
|
+
code: z.ZodIssueCode.custom,
|
|
59
|
+
path: ['activeChecks'],
|
|
60
|
+
message: 'Execution coverage must classify every active upstream check',
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}),
|
|
64
|
+
lastCheckedAt: z.string().datetime(),
|
|
65
|
+
lastSuccessfulImportAt: z.string().datetime().nullable(),
|
|
66
|
+
}).strict();
|
|
67
|
+
export function parseExternalQualitySource(input) {
|
|
68
|
+
return externalQualitySourceSchema.parse(input);
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=external-quality-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-quality-source.js","sourceRoot":"","sources":["../../src/validation/external-quality-source.ts"],"names":[],"mappings":"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"}
|