@slicedearth/whoisleuth-cli 2.2.0 → 2.4.0
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/NOTICE +6 -0
- package/README.md +20 -15
- package/bin/whoisleuth.mjs +8 -1
- package/cli/archive-content-digest.mjs +14 -0
- package/cli/archive-inspect.mjs +20 -53
- package/cli/arguments.mjs +454 -1748
- package/cli/artifact-validation/case-response.mjs +66 -35
- package/cli/artifact-validation/investigation-capsule.mjs +52 -31
- package/cli/artifact-validation/lookup-evidence.mjs +12 -6
- package/cli/artifact-validation/signed-review.mjs +112 -72
- package/cli/artifact-validation/structure-primitives.mjs +1 -105
- package/cli/artifact-verify.mjs +90 -24
- package/cli/assurance-command-runner.mjs +39 -4
- package/cli/bagit-folder.mjs +57 -0
- package/cli/bagit-review.mjs +23 -0
- package/cli/bounded-json.mjs +1 -1
- package/cli/bulk-checkpoint.mjs +34 -3
- package/cli/bulk-command-runner.mjs +2 -0
- package/cli/bulk-output.mjs +29 -3
- package/cli/case-command.mjs +195 -0
- package/cli/case-pack.mjs +66 -111
- package/cli/command-argument-grammar.mjs +215 -0
- package/cli/command-reference.mjs +342 -285
- package/cli/completion.mjs +303 -80
- package/cli/config-profile.mjs +7 -5
- package/cli/ct-event-intake.mjs +12 -12
- package/cli/discover.mjs +4 -3
- package/cli/discovery-observation-snapshot.mjs +59 -18
- package/cli/discovery-scan-command-runner.mjs +21 -0
- package/cli/discovery-scan.mjs +13 -4
- package/cli/discovery-workflow.mjs +1 -1
- package/cli/domain-control-monitor.mjs +50 -20
- package/cli/domain-control-observations.mjs +149 -102
- package/cli/errors.mjs +33 -1
- package/cli/evidence-command-runner.mjs +16 -5
- package/cli/evidence-signing.mjs +2 -2
- package/cli/external-observation-mapping.mjs +7 -8
- package/cli/formatters/terminal-lookup.mjs +18 -46
- package/cli/formatters/terminal-shared.mjs +5 -3
- package/cli/formatters/terminal-technology.mjs +114 -0
- package/cli/inline-command-families.mjs +2 -0
- package/cli/input.mjs +116 -0
- package/cli/interactive-launcher.mjs +2 -160
- package/cli/interchange-report.mjs +18 -8
- package/cli/investigation-artifacts.mjs +176 -0
- package/cli/investigation-checkpoint.mjs +10 -0
- package/cli/investigation-folder.mjs +114 -0
- package/cli/investigation-manifest.mjs +1 -112
- package/cli/investigation-package-review.mjs +103 -0
- package/cli/investigation-plan.mjs +32 -19
- package/cli/investigation-run.mjs +188 -33
- package/cli/local-document-checkpoint.mjs +170 -0
- package/cli/lookalike-calibration.mjs +7 -2
- package/cli/lookup-brief.mjs +4 -2
- package/cli/lookup-browser-view.mjs +1 -1
- package/cli/lookup-browser.mjs +5 -12
- package/cli/lookup-command-runner.mjs +17 -6
- package/cli/lookup-diff.mjs +37 -3
- package/cli/lookup-plan.mjs +11 -5
- package/cli/lookup-reconcile.mjs +10 -8
- package/cli/mail-header-review.mjs +467 -0
- package/cli/mail-review.mjs +66 -14
- package/cli/manual.mjs +1 -0
- package/cli/network-command-runner.mjs +2 -0
- package/cli/output-file.mjs +31 -5
- package/cli/registry-doctor.mjs +3 -1
- package/cli/registry-support.mjs +1 -1
- package/cli/retained-artifact-diff.mjs +2 -2
- package/cli/review-command-runner.mjs +70 -0
- package/cli/risk-calibration.mjs +19 -17
- package/cli/runner.mjs +62 -7
- package/cli/sharing-review.mjs +21 -34
- package/cli/signer-trust.mjs +104 -0
- package/cli/source-reliability.mjs +74 -83
- package/cli/terminal-input.mjs +168 -0
- package/cli/workflow-command-runner.mjs +68 -13
- package/docs/cli-reference.md +77 -24
- package/docs/cli.md +300 -25
- package/lib/abort.mjs +4 -1
- package/lib/availability.mjs +161 -112
- package/lib/bounded-file.mjs +3 -1
- package/lib/bounded-html-document.mjs +125 -0
- package/lib/bounded-json.mjs +51 -8
- package/lib/browser-library-profile.mjs +42 -51
- package/lib/browser-library-worker.mjs +112 -0
- package/lib/client-behavior-profile.mjs +3 -3
- package/lib/ct-search.mjs +11 -4
- package/lib/dns-convergence-review.mjs +1 -0
- package/lib/dns-delegation-health.mjs +24 -14
- package/lib/dns-inheritance-review.mjs +217 -0
- package/lib/dns-intelligence.mjs +73 -26
- package/lib/dns-mx.mjs +1 -1
- package/lib/dnssec-chain-validation.mjs +6 -0
- package/lib/dnssec-evidence-validation.mjs +11 -3
- package/lib/domain-change-packet.mjs +49 -16
- package/lib/domain-change-review.mjs +14 -8
- package/lib/domain-control-flight-recorder.mjs +221 -117
- package/lib/domain-control-manifest.mjs +129 -69
- package/lib/domain-posture-analysis.mjs +20 -7
- package/lib/domain-posture-parsers.mjs +201 -8
- package/lib/domain-posture.mjs +147 -29
- package/lib/evidence-export-privacy.mjs +561 -0
- package/lib/evidence-export.mjs +11 -543
- package/lib/evidence-report.mjs +5 -3
- package/lib/favicon.mjs +117 -41
- package/lib/generated/cisa-kev-catalog.mjs +12 -4
- package/lib/generated/registrar-standing-catalogue.mjs +7 -7
- package/lib/generated/retire-browser-catalog.mjs +2335 -940
- package/lib/hostname.mjs +2 -38
- package/lib/html-signals.mjs +111 -108
- package/lib/http-evidence-bounds.mjs +2 -1
- package/lib/http-intelligence.mjs +39 -26
- package/lib/local-geoip-evidence.mjs +19 -3
- package/lib/lookup-cache.mjs +34 -11
- package/lib/lookup-child-profile-contract.mjs +24 -15
- package/lib/lookup-diagnostics.mjs +24 -1
- package/lib/lookup-progress.mjs +30 -13
- package/lib/lookup-response-contract.mjs +1048 -0
- package/lib/lookup-response.mjs +8 -10
- package/lib/lookup-source-progress.mjs +40 -14
- package/lib/lookup.mjs +48 -27
- package/lib/nameserver-preflight-review.mjs +1 -0
- package/lib/observed-network-context.mjs +43 -27
- package/lib/outbound-request-bounds.mjs +4 -1
- package/lib/page-fingerprints.mjs +69 -133
- package/lib/page-role-profile.mjs +12 -8
- package/lib/perceptual-hash.mjs +43 -14
- package/lib/rdap-bootstrap.mjs +72 -22
- package/lib/rdap-capabilities.mjs +1 -1
- package/lib/rdap-client.mjs +15 -7
- package/lib/rdap-normalization.mjs +33 -18
- package/lib/rdap-search-workbench.mjs +1 -1
- package/lib/rdap-transport.mjs +47 -20
- package/lib/rdap-types.mjs +2 -1
- package/lib/rdap.mjs +18 -3
- package/lib/registrable-domain.mjs +21 -1
- package/lib/registrar-standing-contract.mjs +1 -0
- package/lib/registry-capabilities.mjs +5 -1
- package/lib/registry-capability-catalogue.mjs +2 -1
- package/lib/registry-dates.mjs +2 -190
- package/lib/registry-insights.mjs +85 -34
- package/lib/response-policy.mjs +86 -48
- package/lib/risk-calibration-summary.mjs +18 -6
- package/lib/rpki-evidence.mjs +8 -5
- package/lib/safe-fetch.mjs +54 -47
- package/lib/security-txt.mjs +42 -7
- package/lib/service-binding-dns.mjs +8 -0
- package/lib/smtp-transport-review.mjs +27 -15
- package/lib/sslbl-certificates.generated.mjs +136 -135
- package/lib/static-html-analysis.mjs +178 -151
- package/lib/structured-data-identity.mjs +1 -0
- package/lib/technology-markup.mjs +100 -0
- package/lib/threat-intelligence-manifests.mjs +11 -139
- package/lib/threat-intelligence-runtime.mjs +24 -52
- package/lib/threat-intelligence-targets.mjs +6 -34
- package/lib/threat-intelligence-types.mjs +39 -0
- package/lib/typosquat-generator.mjs +19 -15
- package/lib/urlhaus-intelligence.mjs +8 -3
- package/lib/urlscan-intelligence.mjs +1 -1
- package/lib/website-security-posture.mjs +30 -6
- package/lib/website-technology.mjs +153 -45
- package/lib/whois-authority.mjs +14 -2
- package/lib/whois-chain.mjs +9 -2
- package/lib/whois-common-formats.mjs +5 -5
- package/lib/whois-contracts.mjs +2 -1
- package/lib/whois-dialects.mjs +2 -2
- package/lib/whois-parser-support.mjs +8 -1
- package/lib/whois-transport.mjs +23 -7
- package/lib/zone-intent-review.mjs +16 -6
- package/package.json +2 -1
- package/packages/cases/case-attachment-model.mjs +83 -0
- package/packages/cases/case-evidence-model.mjs +156 -62
- package/packages/cases/case-export-input.mjs +53 -0
- package/packages/cases/case-migration-model.mjs +127 -44
- package/packages/cases/case-model.mjs +1 -0
- package/packages/cases/case-recheck-model.mjs +91 -0
- package/packages/cases/case-record-contracts.mjs +5 -20
- package/packages/cases/case-record-core.mjs +12 -22
- package/packages/cases/case-record-decisions.mjs +72 -0
- package/packages/cases/case-record-model.mjs +1 -0
- package/packages/cases/case-record-operations.mjs +95 -31
- package/packages/cases/case-record-projection.mjs +221 -0
- package/packages/cases/case-report.mjs +70 -54
- package/packages/cases/case-response-actions.mjs +654 -0
- package/packages/cases/case-response-model.mjs +64 -1115
- package/packages/cases/case-response-outcomes.mjs +317 -0
- package/packages/cases/case-response-packet-render.mjs +153 -0
- package/packages/cases/case-response-packet-types.mjs +1 -0
- package/packages/cases/case-response-packet-vocabulary.mjs +48 -0
- package/packages/cases/case-response-packet.mjs +74 -572
- package/packages/cases/case-response-records.mjs +94 -0
- package/packages/cases/case-response-review-inputs.mjs +371 -0
- package/packages/cases/case-response-values.mjs +85 -0
- package/packages/cases/case-review-package.mjs +45 -0
- package/packages/cases/case-selection.mjs +46 -0
- package/packages/cases/case-storage-model.mjs +31 -2
- package/packages/cases/response-route-freshness.mjs +16 -0
- package/packages/comparison/capture-context.mjs +61 -0
- package/packages/comparison/comparison-ledger-bulk.mjs +13 -11
- package/packages/comparison/page-similarity.mjs +5 -2
- package/packages/comparison/relationship-evidence.mjs +85 -8
- package/packages/comparison/relationship-provenance.mjs +93 -0
- package/packages/contracts/analyst-interchange.mjs +216 -0
- package/packages/contracts/analyst-review-state-contract.mjs +11 -0
- package/packages/contracts/analyst-review-state.mjs +5 -4
- package/packages/contracts/case-portability.mjs +366 -83
- package/packages/contracts/case-views-contract.mjs +12 -0
- package/packages/contracts/case-views.mjs +26 -0
- package/packages/contracts/cli-command-semantics.mjs +94 -0
- package/packages/contracts/cli-lookup.mjs +0 -1
- package/packages/contracts/domain-control-flight-recorder.mjs +80 -42
- package/packages/contracts/domain-control-manifest.mjs +127 -73
- package/packages/contracts/domain-control-monitor.mjs +48 -45
- package/packages/contracts/domain-control-review.mjs +179 -121
- package/packages/contracts/domain-name.mjs +21 -0
- package/packages/contracts/external-observation-interchange.mjs +2 -1
- package/packages/contracts/extracted-domain-lifecycle.mjs +11 -32
- package/packages/contracts/http-url.mjs +2 -0
- package/packages/contracts/investigation-package-limits.mjs +24 -0
- package/packages/contracts/investigation-portability.mjs +56 -27
- package/packages/contracts/investigation-run.mjs +16 -0
- package/packages/contracts/ip-address.mjs +34 -0
- package/packages/contracts/lookup-evidence.mjs +35 -0
- package/packages/contracts/offline-comparison.mjs +1 -2
- package/packages/contracts/page-fingerprints.mjs +15 -0
- package/packages/contracts/risk-calibration.mjs +15 -11
- package/packages/contracts/schema-compatibility.mjs +1 -1
- package/packages/contracts/schema-lifecycle.mjs +83 -153
- package/packages/contracts/selected-file-limits.mjs +6 -0
- package/packages/contracts/vulnerability-identifiers.mjs +5 -0
- package/packages/contracts/web-capture.mjs +10 -0
- package/packages/contracts/workspace-portability.mjs +183 -211
- package/packages/evidence/artifact-integrity.mjs +8 -2
- package/packages/evidence/artifact-structure.mjs +105 -0
- package/packages/evidence/decision-fact.mjs +4 -1
- package/packages/evidence/domain-control-runtime.mjs +201 -33
- package/packages/evidence/domain-posture-context.mjs +79 -0
- package/packages/evidence/image-regions.mjs +56 -0
- package/packages/evidence/latest-observations.mjs +28 -0
- package/packages/evidence/lookup-target.mjs +104 -0
- package/packages/evidence/observation.mjs +16 -1
- package/packages/evidence/passphrase-encryption.mjs +44 -0
- package/packages/evidence/record-identity.mjs +72 -0
- package/packages/evidence/registry-dates.mjs +190 -0
- package/packages/evidence/retained-file.mjs +69 -0
- package/packages/evidence/review-age.mjs +14 -0
- package/packages/interchange/bagit.mjs +342 -0
- package/packages/interchange/bounded-zip-extraction.mjs +278 -0
- package/packages/interchange/crc32.mjs +17 -0
- package/packages/interchange/external-findings-import.mjs +92 -51
- package/packages/interchange/web-capture-import.mjs +382 -0
- package/packages/investigation/bulk-mail-exposure.mjs +2 -1
- package/packages/investigation/investigation-bagit.mjs +14 -0
- package/packages/investigation/investigation-capsule.mjs +33 -5
- package/packages/investigation/investigation-manifest.mjs +200 -0
- package/packages/investigation/investigation-package-crypto.mjs +98 -0
- package/packages/investigation/investigation-package.mjs +200 -0
- package/packages/investigation/lookup-asset-graph-inputs.mjs +38 -0
- package/packages/investigation/lookup-asset-graph.mjs +193 -165
- package/packages/investigation/lookup-claim-readiness.mjs +18 -0
- package/packages/investigation/lookup-investigation-brief.mjs +3 -3
- package/packages/investigation/lookup-task-guidance.mjs +58 -0
- package/packages/monitoring/analyst-review-state.mjs +38 -90
- package/packages/workspace/brand-profile-model.mjs +276 -22
- package/packages/workspace/bulk-columns.mjs +17 -0
- package/packages/workspace/bulk-review-model.mjs +23 -11
- package/packages/workspace/bulk-session-model.mjs +100 -24
- package/packages/workspace/bulk-sort.mjs +1 -0
- package/packages/workspace/case-views.mjs +102 -0
- package/packages/workspace/detection-rule-model.mjs +70 -22
- package/packages/workspace/hostile-input.mjs +29 -8
- package/packages/workspace/investigation-template-model.mjs +19 -4
- package/packages/workspace/page-baseline.mjs +18 -15
- package/packages/workspace/relationship-observation-model.mjs +41 -23
- package/packages/workspace/watchlist-history.mjs +2 -2
- package/packages/workspace/watchlist-store.mjs +8 -2
- package/packages/workspace/website-snapshot-model.mjs +164 -26
- package/packages/workspace/workspace-archive-crypto.mjs +41 -61
- package/packages/workspace/workspace-archive.mjs +87 -21
- package/third-party-notices.txt +29 -2
- package/cli/evidence-command-arguments.mjs +0 -156
- package/packages/investigation/bulk-review-export.mjs +0 -63
|
@@ -5,13 +5,16 @@ import { MAX_DOMAIN_CONTROL_MONITOR_CONCURRENCY, MAX_DOMAIN_CONTROL_MONITOR_DOMA
|
|
|
5
5
|
export { MAX_DOMAIN_CONTROL_MONITOR_CONCURRENCY, MAX_DOMAIN_CONTROL_MONITOR_DOMAINS, MIN_DOMAIN_CONTROL_MONITOR_CONCURRENCY, MIN_DOMAIN_CONTROL_MONITOR_DOMAINS, } from "./domain-control-monitor.mjs";
|
|
6
6
|
export const DOMAIN_CONTROL_MANIFEST_INPUT_SCHEMA = 'whoisleuth.domain-control-manifest-input';
|
|
7
7
|
export const DOMAIN_CONTROL_MANIFEST_SCHEMA = 'whoisleuth.domain-control-manifest';
|
|
8
|
-
export const
|
|
9
|
-
export const
|
|
8
|
+
export const PUBLIC_DOMAIN_CONTROL_MANIFEST_INPUT_VERSION = 1;
|
|
9
|
+
export const PUBLIC_DOMAIN_CONTROL_MANIFEST_VERSION = 2;
|
|
10
|
+
export const DOMAIN_CONTROL_MANIFEST_INPUT_VERSION = 2;
|
|
11
|
+
export const DOMAIN_CONTROL_MANIFEST_VERSION = 3;
|
|
10
12
|
export const MAX_DOMAIN_CONTROL_MANIFEST_BYTES = 16 * 1024 * 1024;
|
|
11
13
|
export const MIN_DOMAIN_CONTROL_MANIFEST_ENTRIES = 1;
|
|
12
14
|
export const MAX_DOMAIN_CONTROL_MANIFEST_ENTRIES = 100;
|
|
13
15
|
export const MIN_DOMAIN_CONTROL_RECORDS = 0;
|
|
14
16
|
export const MAX_CANONICAL_DOMAIN_CONTROL_RECORDS = 32;
|
|
17
|
+
export const MAX_CURRENT_DOMAIN_CONTROL_RECORDS = 64;
|
|
15
18
|
export const DOMAIN_CONTROL_RECORD_INPUT_BOUND_FACTOR = 4;
|
|
16
19
|
export const MAX_DOMAIN_CONTROL_INPUT_RECORDS = MAX_CANONICAL_DOMAIN_CONTROL_RECORDS
|
|
17
20
|
* DOMAIN_CONTROL_RECORD_INPUT_BOUND_FACTOR;
|
|
@@ -48,7 +51,7 @@ export const MAX_DOMAIN_CONTROL_BROWSER_PROFILE_ENTRIES = 20;
|
|
|
48
51
|
export const MAX_DOMAIN_CONTROL_CLI_REVIEW_JSON_DEPTH = 50;
|
|
49
52
|
export const MAX_DOMAIN_CONTROL_CLI_REVIEW_JSON_KEYS = 5_050_000;
|
|
50
53
|
export const MAX_DOMAIN_CONTROL_CLI_REVIEW_JSON_VALUES = 10_100_000;
|
|
51
|
-
export const MAX_DOMAIN_CONTROL_PORTABLE_BYTES =
|
|
54
|
+
export const MAX_DOMAIN_CONTROL_PORTABLE_BYTES = MAX_DOMAIN_CONTROL_MANIFEST_BYTES;
|
|
52
55
|
export const DOMAIN_CONTROL_MANIFEST_INPUT_KEYS = Object.freeze([
|
|
53
56
|
'schema',
|
|
54
57
|
'version',
|
|
@@ -64,7 +67,7 @@ export const DOMAIN_CONTROL_MANIFEST_ROOT_KEYS = Object.freeze([
|
|
|
64
67
|
'limitations',
|
|
65
68
|
'integrity',
|
|
66
69
|
]);
|
|
67
|
-
export const
|
|
70
|
+
export const PUBLIC_DOMAIN_CONTROL_MANIFEST_ENTRY_KEYS = Object.freeze([
|
|
68
71
|
'domain',
|
|
69
72
|
'nameservers',
|
|
70
73
|
'ds',
|
|
@@ -76,6 +79,9 @@ export const DOMAIN_CONTROL_MANIFEST_ENTRY_KEYS = Object.freeze([
|
|
|
76
79
|
'renewalReviewAt',
|
|
77
80
|
'note',
|
|
78
81
|
]);
|
|
82
|
+
export const DOMAIN_CONTROL_MANIFEST_ENTRY_KEYS = Object.freeze([
|
|
83
|
+
...PUBLIC_DOMAIN_CONTROL_MANIFEST_ENTRY_KEYS, 'recordModes',
|
|
84
|
+
]);
|
|
79
85
|
export const DOMAIN_CONTROL_MANIFEST_INTEGRITY_KEYS = Object.freeze([
|
|
80
86
|
'algorithm',
|
|
81
87
|
'canonicalization',
|
|
@@ -87,6 +93,12 @@ export const DOMAIN_CONTROL_RECORD_LIST_FIELDS = Object.freeze([
|
|
|
87
93
|
'mx',
|
|
88
94
|
'caa',
|
|
89
95
|
]);
|
|
96
|
+
export const DOMAIN_CONTROL_RECORD_MODE_OPTIONS = Object.freeze([
|
|
97
|
+
{ value: 'unconfigured', label: 'Not configured' },
|
|
98
|
+
{ value: 'expect_none', label: 'Expect no records' },
|
|
99
|
+
{ value: 'expect_records', label: 'Expect records' },
|
|
100
|
+
{ value: 'observe_only', label: 'Observe only' },
|
|
101
|
+
]);
|
|
90
102
|
export const DOMAIN_CONTROL_MX_RECORD_KEYS = Object.freeze([
|
|
91
103
|
'exchange',
|
|
92
104
|
'host',
|
|
@@ -108,26 +120,37 @@ export const DOMAIN_CONTROL_DS_RECORD_KEYS = Object.freeze([
|
|
|
108
120
|
'digest_type',
|
|
109
121
|
'digest',
|
|
110
122
|
]);
|
|
111
|
-
export const
|
|
123
|
+
export const PUBLIC_DOMAIN_CONTROL_MANIFEST_LIMITATIONS = Object.freeze([
|
|
112
124
|
'This analyst-authored manifest records intended domain-control state. It does not collect evidence or change registrar, DNS, mail, or certificate configuration.',
|
|
113
125
|
'Empty desired fields are unconfigured rather than claims that a record should be absent.',
|
|
114
126
|
]);
|
|
127
|
+
export const DOMAIN_CONTROL_MANIFEST_LIMITATIONS = Object.freeze([
|
|
128
|
+
PUBLIC_DOMAIN_CONTROL_MANIFEST_LIMITATIONS[0],
|
|
129
|
+
'Record expectations distinguish unconfigured, expected absence, specified records and observation-only fields. Missing or incomplete observations cannot establish absence.',
|
|
130
|
+
]);
|
|
115
131
|
export const SUPPORTED_DOMAIN_CONTROL_MANIFEST_VERSIONS = Object.freeze([
|
|
132
|
+
PUBLIC_DOMAIN_CONTROL_MANIFEST_VERSION,
|
|
116
133
|
DOMAIN_CONTROL_MANIFEST_VERSION,
|
|
117
134
|
]);
|
|
135
|
+
export const SUPPORTED_DOMAIN_CONTROL_MANIFEST_INPUT_VERSIONS = Object.freeze([
|
|
136
|
+
PUBLIC_DOMAIN_CONTROL_MANIFEST_INPUT_VERSION, DOMAIN_CONTROL_MANIFEST_INPUT_VERSION,
|
|
137
|
+
]);
|
|
138
|
+
const INPUT_SHAPE_IDS = SUPPORTED_DOMAIN_CONTROL_MANIFEST_INPUT_VERSIONS.map((version) => `domain-control.input.v${version}`);
|
|
139
|
+
const CURRENT_MANIFEST_SHAPE_ID = `domain-control.manifest.v${DOMAIN_CONTROL_MANIFEST_VERSION}`;
|
|
140
|
+
const MANIFEST_SHAPE_IDS = SUPPORTED_DOMAIN_CONTROL_MANIFEST_VERSIONS.map((version) => `domain-control.manifest.v${version}`);
|
|
118
141
|
export const DOMAIN_CONTROL_MANIFEST_INPUT_COMPATIBILITY = defineSchemaCompatibility({
|
|
119
142
|
id: 'export.domain-control-manifest-input',
|
|
120
143
|
kind: 'export',
|
|
121
144
|
schema: DOMAIN_CONTROL_MANIFEST_INPUT_SCHEMA,
|
|
122
145
|
currentVersion: DOMAIN_CONTROL_MANIFEST_INPUT_VERSION,
|
|
123
|
-
supportedVersions:
|
|
146
|
+
supportedVersions: SUPPORTED_DOMAIN_CONTROL_MANIFEST_INPUT_VERSIONS,
|
|
124
147
|
acceptsUnversionedLegacy: false,
|
|
125
148
|
futureVersionBehavior: 'reject',
|
|
126
|
-
migration: '
|
|
149
|
+
migration: 'read_only',
|
|
127
150
|
writeSemantics: 'read_only',
|
|
128
151
|
byteBudget: MAX_DOMAIN_CONTROL_MANIFEST_BYTES,
|
|
129
152
|
owner: 'packages/contracts/domain-control-manifest.mts',
|
|
130
|
-
note: '
|
|
153
|
+
note: 'Current input supports explicit record expectations. Public input version 1 remains readable with its original empty-field meaning and record normalisation.',
|
|
131
154
|
});
|
|
132
155
|
export const DOMAIN_CONTROL_MANIFEST_COMPATIBILITY = defineSchemaCompatibility({
|
|
133
156
|
id: 'export.domain-control-manifest',
|
|
@@ -141,7 +164,7 @@ export const DOMAIN_CONTROL_MANIFEST_COMPATIBILITY = defineSchemaCompatibility({
|
|
|
141
164
|
writeSemantics: 'non_destructive_merge',
|
|
142
165
|
byteBudget: MAX_DOMAIN_CONTROL_MANIFEST_BYTES,
|
|
143
166
|
owner: 'packages/contracts/domain-control-manifest.mts',
|
|
144
|
-
note: '
|
|
167
|
+
note: 'Current version 3 retains explicit record expectations. Public version 2 remains verifiable with its exact canonical bytes and empty-field meaning; browser import is an explicit non-destructive field selection.',
|
|
145
168
|
});
|
|
146
169
|
export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
147
170
|
id: 'domain-control-manifest',
|
|
@@ -152,38 +175,38 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
152
175
|
DOMAIN_CONTROL_MANIFEST_COMPATIBILITY,
|
|
153
176
|
],
|
|
154
177
|
contracts: [
|
|
155
|
-
{
|
|
178
|
+
...SUPPORTED_DOMAIN_CONTROL_MANIFEST_INPUT_VERSIONS.map((version) => ({
|
|
156
179
|
compatibilityId: DOMAIN_CONTROL_MANIFEST_INPUT_COMPATIBILITY.id,
|
|
157
180
|
schema: DOMAIN_CONTROL_MANIFEST_INPUT_SCHEMA,
|
|
158
|
-
version
|
|
181
|
+
version,
|
|
159
182
|
role: 'input',
|
|
160
|
-
lifecycle: 'current',
|
|
183
|
+
lifecycle: version === DOMAIN_CONTROL_MANIFEST_INPUT_VERSION ? 'current' : 'legacy',
|
|
161
184
|
readable: true,
|
|
162
|
-
emitted:
|
|
185
|
+
emitted: version === DOMAIN_CONTROL_MANIFEST_INPUT_VERSION,
|
|
163
186
|
exactKeys: true,
|
|
164
187
|
extensionPolicy: 'reject',
|
|
165
188
|
futureVersionBehaviour: 'reject',
|
|
166
189
|
migrationTarget: null,
|
|
167
190
|
canonicalisation: null,
|
|
168
191
|
byteBudget: MAX_DOMAIN_CONTROL_MANIFEST_BYTES,
|
|
169
|
-
fixtureIds: [
|
|
170
|
-
},
|
|
171
|
-
{
|
|
192
|
+
fixtureIds: [`domain-control-manifest-input-v${version}`],
|
|
193
|
+
})),
|
|
194
|
+
...SUPPORTED_DOMAIN_CONTROL_MANIFEST_VERSIONS.map((version) => ({
|
|
172
195
|
compatibilityId: DOMAIN_CONTROL_MANIFEST_COMPATIBILITY.id,
|
|
173
196
|
schema: DOMAIN_CONTROL_MANIFEST_SCHEMA,
|
|
174
|
-
version
|
|
197
|
+
version,
|
|
175
198
|
role: 'document',
|
|
176
|
-
lifecycle: 'current',
|
|
199
|
+
lifecycle: version === DOMAIN_CONTROL_MANIFEST_VERSION ? 'current' : 'legacy',
|
|
177
200
|
readable: true,
|
|
178
|
-
emitted:
|
|
201
|
+
emitted: version === DOMAIN_CONTROL_MANIFEST_VERSION,
|
|
179
202
|
exactKeys: true,
|
|
180
203
|
extensionPolicy: 'reject',
|
|
181
204
|
futureVersionBehaviour: 'reject',
|
|
182
205
|
migrationTarget: null,
|
|
183
206
|
canonicalisation: 'sorted-json-v2',
|
|
184
207
|
byteBudget: MAX_DOMAIN_CONTROL_MANIFEST_BYTES,
|
|
185
|
-
fixtureIds: [
|
|
186
|
-
},
|
|
208
|
+
fixtureIds: [`domain-control-manifest-v${version}`],
|
|
209
|
+
})),
|
|
187
210
|
],
|
|
188
211
|
fixtures: [
|
|
189
212
|
{
|
|
@@ -193,10 +216,10 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
193
216
|
sha256: '2b8a10dec2d78ae0804a469d99b3dfbacbf380c8af0a01ec903106861cd73b09',
|
|
194
217
|
contentDigestSha256: null,
|
|
195
218
|
schema: DOMAIN_CONTROL_MANIFEST_INPUT_SCHEMA,
|
|
196
|
-
version:
|
|
219
|
+
version: PUBLIC_DOMAIN_CONTROL_MANIFEST_INPUT_VERSION,
|
|
197
220
|
role: 'input',
|
|
198
|
-
expectation: '
|
|
199
|
-
expectedOutputFixtureId:
|
|
221
|
+
expectation: 'accepted_exact',
|
|
222
|
+
expectedOutputFixtureId: null,
|
|
200
223
|
scope: 'repository',
|
|
201
224
|
},
|
|
202
225
|
{
|
|
@@ -206,21 +229,32 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
206
229
|
sha256: '799211e5eba37e733c7f22aac92e073950ffb69c2da64cc11af7ade303deb17a',
|
|
207
230
|
contentDigestSha256: 'sha256:6d2015c111fe05e44babfd42f9adefbfb3bee3caf9fad33c60b9ca640b0f0c8a',
|
|
208
231
|
schema: DOMAIN_CONTROL_MANIFEST_SCHEMA,
|
|
209
|
-
version:
|
|
210
|
-
role: '
|
|
232
|
+
version: PUBLIC_DOMAIN_CONTROL_MANIFEST_VERSION,
|
|
233
|
+
role: 'historical',
|
|
211
234
|
expectation: 'accepted_exact',
|
|
212
235
|
expectedOutputFixtureId: null,
|
|
213
236
|
scope: 'repository',
|
|
214
237
|
},
|
|
238
|
+
{
|
|
239
|
+
id: 'domain-control-manifest-input-v2', path: 'test/fixtures/domain-control-manifest-input-v2.json',
|
|
240
|
+
bytes: 435, sha256: 'c4a23b9d04e704ee7e9e749211996f06f98fb0ae97f70eac7ecf44968ea67d3b', contentDigestSha256: null,
|
|
241
|
+
schema: DOMAIN_CONTROL_MANIFEST_INPUT_SCHEMA, version: DOMAIN_CONTROL_MANIFEST_INPUT_VERSION,
|
|
242
|
+
role: 'input', expectation: 'normalises_to_current_output', expectedOutputFixtureId: 'domain-control-manifest-v3', scope: 'repository',
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
id: 'domain-control-manifest-v3', path: 'test/fixtures/domain-control-manifest-v3.json',
|
|
246
|
+
bytes: 1180, sha256: '35a99dcdcaefdb280b3b64decde8c06fb47b46e7a47e480becf117b1c87b0c72', contentDigestSha256: 'sha256:873c645257b7391bc958781ef02f913d454002a9d66b9f5889bec3a181477214',
|
|
247
|
+
schema: DOMAIN_CONTROL_MANIFEST_SCHEMA, version: DOMAIN_CONTROL_MANIFEST_VERSION,
|
|
248
|
+
role: 'current', expectation: 'accepted_exact', expectedOutputFixtureId: null, scope: 'repository',
|
|
249
|
+
},
|
|
215
250
|
],
|
|
216
251
|
metadata: {
|
|
217
|
-
metadataVersion: 2,
|
|
218
252
|
enforcement: 'declarative_only',
|
|
219
253
|
shapes: [
|
|
220
|
-
{
|
|
221
|
-
id:
|
|
254
|
+
...SUPPORTED_DOMAIN_CONTROL_MANIFEST_INPUT_VERSIONS.map((version) => ({
|
|
255
|
+
id: `domain-control.input.v${version}`,
|
|
222
256
|
schema: DOMAIN_CONTROL_MANIFEST_INPUT_SCHEMA,
|
|
223
|
-
versions: [
|
|
257
|
+
versions: [version],
|
|
224
258
|
objects: [
|
|
225
259
|
{
|
|
226
260
|
path: '$',
|
|
@@ -231,7 +265,7 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
231
265
|
{
|
|
232
266
|
path: '$.entries[]',
|
|
233
267
|
requiredKeys: ['domain'],
|
|
234
|
-
optionalKeys: DOMAIN_CONTROL_MANIFEST_ENTRY_KEYS.filter((key) => key !== 'domain'),
|
|
268
|
+
optionalKeys: (version === PUBLIC_DOMAIN_CONTROL_MANIFEST_INPUT_VERSION ? PUBLIC_DOMAIN_CONTROL_MANIFEST_ENTRY_KEYS : DOMAIN_CONTROL_MANIFEST_ENTRY_KEYS).filter((key) => key !== 'domain'),
|
|
235
269
|
unknownKeys: 'reject',
|
|
236
270
|
},
|
|
237
271
|
{
|
|
@@ -252,6 +286,7 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
252
286
|
optionalKeys: DOMAIN_CONTROL_DS_RECORD_KEYS,
|
|
253
287
|
unknownKeys: 'reject',
|
|
254
288
|
},
|
|
289
|
+
...(version === DOMAIN_CONTROL_MANIFEST_INPUT_VERSION ? [{ path: '$.entries[].recordModes', requiredKeys: [], optionalKeys: DOMAIN_CONTROL_RECORD_LIST_FIELDS, unknownKeys: 'reject' }] : []),
|
|
255
290
|
],
|
|
256
291
|
fixedArrays: [],
|
|
257
292
|
normalisation: 'input_to_current',
|
|
@@ -259,11 +294,11 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
259
294
|
schema: DOMAIN_CONTROL_MANIFEST_SCHEMA,
|
|
260
295
|
version: DOMAIN_CONTROL_MANIFEST_VERSION,
|
|
261
296
|
},
|
|
262
|
-
},
|
|
263
|
-
{
|
|
264
|
-
id:
|
|
297
|
+
})),
|
|
298
|
+
...SUPPORTED_DOMAIN_CONTROL_MANIFEST_VERSIONS.map((version) => ({
|
|
299
|
+
id: `domain-control.manifest.v${version}`,
|
|
265
300
|
schema: DOMAIN_CONTROL_MANIFEST_SCHEMA,
|
|
266
|
-
versions:
|
|
301
|
+
versions: [version],
|
|
267
302
|
objects: [
|
|
268
303
|
{
|
|
269
304
|
path: '$',
|
|
@@ -273,7 +308,7 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
273
308
|
},
|
|
274
309
|
{
|
|
275
310
|
path: '$.entries[]',
|
|
276
|
-
requiredKeys: DOMAIN_CONTROL_MANIFEST_ENTRY_KEYS,
|
|
311
|
+
requiredKeys: version === PUBLIC_DOMAIN_CONTROL_MANIFEST_VERSION ? PUBLIC_DOMAIN_CONTROL_MANIFEST_ENTRY_KEYS : DOMAIN_CONTROL_MANIFEST_ENTRY_KEYS,
|
|
277
312
|
optionalKeys: [],
|
|
278
313
|
unknownKeys: 'reject',
|
|
279
314
|
},
|
|
@@ -283,16 +318,17 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
283
318
|
optionalKeys: [],
|
|
284
319
|
unknownKeys: 'reject',
|
|
285
320
|
},
|
|
321
|
+
...(version === DOMAIN_CONTROL_MANIFEST_VERSION ? [{ path: '$.entries[].recordModes', requiredKeys: DOMAIN_CONTROL_RECORD_LIST_FIELDS, optionalKeys: [], unknownKeys: 'reject' }] : []),
|
|
286
322
|
],
|
|
287
323
|
fixedArrays: [
|
|
288
324
|
{
|
|
289
325
|
path: '$.limitations',
|
|
290
|
-
values: DOMAIN_CONTROL_MANIFEST_LIMITATIONS,
|
|
326
|
+
values: version === PUBLIC_DOMAIN_CONTROL_MANIFEST_VERSION ? PUBLIC_DOMAIN_CONTROL_MANIFEST_LIMITATIONS : DOMAIN_CONTROL_MANIFEST_LIMITATIONS,
|
|
291
327
|
},
|
|
292
328
|
],
|
|
293
329
|
normalisation: 'preserve_signed_document',
|
|
294
330
|
target: null,
|
|
295
|
-
},
|
|
331
|
+
})),
|
|
296
332
|
],
|
|
297
333
|
boundProfiles: [
|
|
298
334
|
{
|
|
@@ -304,10 +340,7 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
304
340
|
{ id: 'input-ds', path: '$.entries[].ds', phase: 'pre_accumulation', unit: 'items', minimum: MIN_DOMAIN_CONTROL_RECORDS, maximum: MAX_DOMAIN_CONTROL_INPUT_RECORDS, handling: 'reject' },
|
|
305
341
|
{ id: 'input-mx', path: '$.entries[].mx', phase: 'pre_accumulation', unit: 'items', minimum: MIN_DOMAIN_CONTROL_RECORDS, maximum: MAX_DOMAIN_CONTROL_INPUT_RECORDS, handling: 'reject' },
|
|
306
342
|
{ id: 'input-caa', path: '$.entries[].caa', phase: 'pre_accumulation', unit: 'items', minimum: MIN_DOMAIN_CONTROL_RECORDS, maximum: MAX_DOMAIN_CONTROL_INPUT_RECORDS, handling: 'reject' },
|
|
307
|
-
{ id:
|
|
308
|
-
{ id: 'canonical-ds', path: '$.entries[].ds', phase: 'normalised', unit: 'items', minimum: MIN_DOMAIN_CONTROL_RECORDS, maximum: MAX_CANONICAL_DOMAIN_CONTROL_RECORDS, handling: 'truncate' },
|
|
309
|
-
{ id: 'canonical-mx', path: '$.entries[].mx', phase: 'normalised', unit: 'items', minimum: MIN_DOMAIN_CONTROL_RECORDS, maximum: MAX_CANONICAL_DOMAIN_CONTROL_RECORDS, handling: 'truncate' },
|
|
310
|
-
{ id: 'canonical-caa', path: '$.entries[].caa', phase: 'normalised', unit: 'items', minimum: MIN_DOMAIN_CONTROL_RECORDS, maximum: MAX_CANONICAL_DOMAIN_CONTROL_RECORDS, handling: 'truncate' },
|
|
343
|
+
...DOMAIN_CONTROL_RECORD_LIST_FIELDS.map((field) => ({ id: `current-${field}`, path: `$.entries[].${field}`, phase: 'normalised', unit: 'items', minimum: MIN_DOMAIN_CONTROL_RECORDS, maximum: MAX_CURRENT_DOMAIN_CONTROL_RECORDS, handling: 'reject' })),
|
|
311
344
|
{ id: 'json-depth', path: '$', phase: 'pre_accumulation', unit: 'depth', minimum: 0, maximum: MAX_DOMAIN_CONTROL_JSON_DEPTH, handling: 'reject' },
|
|
312
345
|
{ id: 'json-values', path: '$', phase: 'pre_accumulation', unit: 'values', minimum: 1, maximum: MAX_DOMAIN_CONTROL_JSON_VALUES, handling: 'reject' },
|
|
313
346
|
{ id: 'raw-domain', path: '$.entries[].domain', phase: 'pre_accumulation', unit: 'characters', minimum: 1, maximum: MAX_DOMAIN_CONTROL_NAME_INPUT_LENGTH, handling: 'reject' },
|
|
@@ -358,6 +391,10 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
358
391
|
{ id: 'manifest-digest', path: '$.integrity.digestSha256', phase: 'normalised', unit: 'characters', minimum: DOMAIN_CONTROL_DIGEST_SHA256_LENGTH, maximum: DOMAIN_CONTROL_DIGEST_SHA256_LENGTH, handling: 'reject' },
|
|
359
392
|
],
|
|
360
393
|
},
|
|
394
|
+
{
|
|
395
|
+
id: 'domain-control.public-records.v2',
|
|
396
|
+
bounds: DOMAIN_CONTROL_RECORD_LIST_FIELDS.map((field) => ({ id: `public-${field}`, path: `$.entries[].${field}`, phase: 'normalised', unit: 'items', minimum: MIN_DOMAIN_CONTROL_RECORDS, maximum: MAX_CANONICAL_DOMAIN_CONTROL_RECORDS, handling: 'truncate' })),
|
|
397
|
+
},
|
|
361
398
|
{
|
|
362
399
|
id: 'domain-control.browser-file.v1',
|
|
363
400
|
bounds: [
|
|
@@ -674,16 +711,33 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
674
711
|
},
|
|
675
712
|
],
|
|
676
713
|
consumerEdges: [
|
|
714
|
+
{
|
|
715
|
+
id: 'domain-control.browser-build-input',
|
|
716
|
+
plane: 'browser',
|
|
717
|
+
operation: 'build-input',
|
|
718
|
+
acceptedContracts: [],
|
|
719
|
+
emittedContract: { schema: DOMAIN_CONTROL_MANIFEST_INPUT_SCHEMA, version: DOMAIN_CONTROL_MANIFEST_INPUT_VERSION },
|
|
720
|
+
shapeIds: [`domain-control.input.v${DOMAIN_CONTROL_MANIFEST_INPUT_VERSION}`],
|
|
721
|
+
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.public-records.v2', 'domain-control.browser-profile.v1'],
|
|
722
|
+
hookIds: ['domain-control.browser.build-input'],
|
|
723
|
+
serialisationProfileId: null,
|
|
724
|
+
privacyProfileId: 'domain-control.manifest-sensitive.v1',
|
|
725
|
+
expiryPolicyId: 'domain-control.expiry.build-future.v1',
|
|
726
|
+
requestMode: 'none',
|
|
727
|
+
retentionEffect: 'none',
|
|
728
|
+
bindingState: 'declared_unenforced',
|
|
729
|
+
policyState: 'current',
|
|
730
|
+
},
|
|
677
731
|
{
|
|
678
732
|
id: 'domain-control.browser-export',
|
|
679
733
|
plane: 'browser',
|
|
680
734
|
operation: 'export',
|
|
681
735
|
acceptedContracts: [
|
|
682
|
-
{ schema: DOMAIN_CONTROL_MANIFEST_INPUT_SCHEMA, versions:
|
|
736
|
+
{ schema: DOMAIN_CONTROL_MANIFEST_INPUT_SCHEMA, versions: SUPPORTED_DOMAIN_CONTROL_MANIFEST_INPUT_VERSIONS, mode: 'direct' },
|
|
683
737
|
],
|
|
684
738
|
emittedContract: { schema: DOMAIN_CONTROL_MANIFEST_SCHEMA, version: DOMAIN_CONTROL_MANIFEST_VERSION },
|
|
685
|
-
shapeIds: [
|
|
686
|
-
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.browser-profile.v1'],
|
|
739
|
+
shapeIds: [...INPUT_SHAPE_IDS, CURRENT_MANIFEST_SHAPE_ID],
|
|
740
|
+
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.public-records.v2', 'domain-control.browser-profile.v1'],
|
|
687
741
|
hookIds: [
|
|
688
742
|
'domain-control.shared.build-unsigned',
|
|
689
743
|
'domain-control.shared.measure-serialised-bytes',
|
|
@@ -708,9 +762,9 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
708
762
|
{ schema: DOMAIN_CONTROL_MANIFEST_SCHEMA, versions: SUPPORTED_DOMAIN_CONTROL_MANIFEST_VERSIONS, mode: 'direct' },
|
|
709
763
|
],
|
|
710
764
|
emittedContract: null,
|
|
711
|
-
shapeIds:
|
|
765
|
+
shapeIds: MANIFEST_SHAPE_IDS,
|
|
712
766
|
boundProfileIds: [
|
|
713
|
-
'domain-control.core-wire.v1',
|
|
767
|
+
'domain-control.core-wire.v1', 'domain-control.public-records.v2',
|
|
714
768
|
'domain-control.browser-file.v1',
|
|
715
769
|
'domain-control.browser-profile.v1',
|
|
716
770
|
],
|
|
@@ -732,11 +786,11 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
732
786
|
plane: 'node',
|
|
733
787
|
operation: 'build',
|
|
734
788
|
acceptedContracts: [
|
|
735
|
-
{ schema: DOMAIN_CONTROL_MANIFEST_INPUT_SCHEMA, versions:
|
|
789
|
+
{ schema: DOMAIN_CONTROL_MANIFEST_INPUT_SCHEMA, versions: SUPPORTED_DOMAIN_CONTROL_MANIFEST_INPUT_VERSIONS, mode: 'direct' },
|
|
736
790
|
],
|
|
737
791
|
emittedContract: { schema: DOMAIN_CONTROL_MANIFEST_SCHEMA, version: DOMAIN_CONTROL_MANIFEST_VERSION },
|
|
738
|
-
shapeIds: [
|
|
739
|
-
boundProfileIds: ['domain-control.core-wire.v1'],
|
|
792
|
+
shapeIds: [...INPUT_SHAPE_IDS, CURRENT_MANIFEST_SHAPE_ID],
|
|
793
|
+
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.public-records.v2'],
|
|
740
794
|
hookIds: [
|
|
741
795
|
'domain-control.shared.build-unsigned',
|
|
742
796
|
'domain-control.shared.assert-byte-budget',
|
|
@@ -758,8 +812,8 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
758
812
|
{ schema: DOMAIN_CONTROL_MANIFEST_SCHEMA, versions: SUPPORTED_DOMAIN_CONTROL_MANIFEST_VERSIONS, mode: 'direct' },
|
|
759
813
|
],
|
|
760
814
|
emittedContract: null,
|
|
761
|
-
shapeIds:
|
|
762
|
-
boundProfileIds: ['domain-control.core-wire.v1'],
|
|
815
|
+
shapeIds: MANIFEST_SHAPE_IDS,
|
|
816
|
+
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.public-records.v2'],
|
|
763
817
|
hookIds: [
|
|
764
818
|
'domain-control.shared.normalise-document',
|
|
765
819
|
'domain-control.node.verify-integrity',
|
|
@@ -780,8 +834,8 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
780
834
|
{ schema: DOMAIN_CONTROL_MANIFEST_SCHEMA, versions: SUPPORTED_DOMAIN_CONTROL_MANIFEST_VERSIONS, mode: 'embedded' },
|
|
781
835
|
],
|
|
782
836
|
emittedContract: null,
|
|
783
|
-
shapeIds:
|
|
784
|
-
boundProfileIds: ['domain-control.core-wire.v1'],
|
|
837
|
+
shapeIds: MANIFEST_SHAPE_IDS,
|
|
838
|
+
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.public-records.v2'],
|
|
785
839
|
hookIds: ['domain-control.node.verify-integrity', 'domain-control.node.review'],
|
|
786
840
|
serialisationProfileId: null,
|
|
787
841
|
privacyProfileId: 'domain-control.review-sensitive.v1',
|
|
@@ -799,8 +853,8 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
799
853
|
{ schema: DOMAIN_CONTROL_MANIFEST_SCHEMA, versions: SUPPORTED_DOMAIN_CONTROL_MANIFEST_VERSIONS, mode: 'embedded' },
|
|
800
854
|
],
|
|
801
855
|
emittedContract: null,
|
|
802
|
-
shapeIds:
|
|
803
|
-
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.cli-domain-control-file.v1'],
|
|
856
|
+
shapeIds: MANIFEST_SHAPE_IDS,
|
|
857
|
+
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.public-records.v2', 'domain-control.cli-domain-control-file.v1'],
|
|
804
858
|
hookIds: ['domain-control.node.verify-integrity', 'domain-control.node.review'],
|
|
805
859
|
serialisationProfileId: null,
|
|
806
860
|
privacyProfileId: 'domain-control.review-sensitive.v1',
|
|
@@ -818,8 +872,8 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
818
872
|
{ schema: DOMAIN_CONTROL_MANIFEST_SCHEMA, versions: SUPPORTED_DOMAIN_CONTROL_MANIFEST_VERSIONS, mode: 'embedded' },
|
|
819
873
|
],
|
|
820
874
|
emittedContract: null,
|
|
821
|
-
shapeIds:
|
|
822
|
-
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.cli-domain-control-file.v1'],
|
|
875
|
+
shapeIds: MANIFEST_SHAPE_IDS,
|
|
876
|
+
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.public-records.v2', 'domain-control.cli-domain-control-file.v1'],
|
|
823
877
|
hookIds: [
|
|
824
878
|
'domain-control.node.verify-integrity',
|
|
825
879
|
'domain-control.node.review',
|
|
@@ -838,11 +892,11 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
838
892
|
plane: 'cli',
|
|
839
893
|
operation: 'build',
|
|
840
894
|
acceptedContracts: [
|
|
841
|
-
{ schema: DOMAIN_CONTROL_MANIFEST_INPUT_SCHEMA, versions:
|
|
895
|
+
{ schema: DOMAIN_CONTROL_MANIFEST_INPUT_SCHEMA, versions: SUPPORTED_DOMAIN_CONTROL_MANIFEST_INPUT_VERSIONS, mode: 'direct' },
|
|
842
896
|
],
|
|
843
897
|
emittedContract: { schema: DOMAIN_CONTROL_MANIFEST_SCHEMA, version: DOMAIN_CONTROL_MANIFEST_VERSION },
|
|
844
|
-
shapeIds: [
|
|
845
|
-
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.cli-domain-control-file.v1'],
|
|
898
|
+
shapeIds: [...INPUT_SHAPE_IDS, CURRENT_MANIFEST_SHAPE_ID],
|
|
899
|
+
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.public-records.v2', 'domain-control.cli-domain-control-file.v1'],
|
|
846
900
|
hookIds: [
|
|
847
901
|
'domain-control.shared.measure-serialised-bytes',
|
|
848
902
|
'domain-control.shared.assert-byte-budget',
|
|
@@ -865,8 +919,8 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
865
919
|
{ schema: DOMAIN_CONTROL_MANIFEST_SCHEMA, versions: SUPPORTED_DOMAIN_CONTROL_MANIFEST_VERSIONS, mode: 'direct' },
|
|
866
920
|
],
|
|
867
921
|
emittedContract: null,
|
|
868
|
-
shapeIds:
|
|
869
|
-
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.cli-portable-file.v1'],
|
|
922
|
+
shapeIds: MANIFEST_SHAPE_IDS,
|
|
923
|
+
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.public-records.v2', 'domain-control.cli-portable-file.v1'],
|
|
870
924
|
hookIds: [
|
|
871
925
|
'domain-control.cli.offline-structure',
|
|
872
926
|
'domain-control.cli.offline-verify',
|
|
@@ -888,8 +942,8 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
888
942
|
{ schema: DOMAIN_CONTROL_MANIFEST_SCHEMA, versions: SUPPORTED_DOMAIN_CONTROL_MANIFEST_VERSIONS, mode: 'direct' },
|
|
889
943
|
],
|
|
890
944
|
emittedContract: null,
|
|
891
|
-
shapeIds:
|
|
892
|
-
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.cli-portable-file.v1'],
|
|
945
|
+
shapeIds: MANIFEST_SHAPE_IDS,
|
|
946
|
+
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.public-records.v2', 'domain-control.cli-portable-file.v1'],
|
|
893
947
|
hookIds: ['domain-control.cli.interchange-report', 'domain-control.cli.offline-verify'],
|
|
894
948
|
serialisationProfileId: null,
|
|
895
949
|
privacyProfileId: 'domain-control.metadata-only.v1',
|
|
@@ -907,8 +961,8 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
907
961
|
{ schema: DOMAIN_CONTROL_MANIFEST_SCHEMA, versions: SUPPORTED_DOMAIN_CONTROL_MANIFEST_VERSIONS, mode: 'direct' },
|
|
908
962
|
],
|
|
909
963
|
emittedContract: null,
|
|
910
|
-
shapeIds:
|
|
911
|
-
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.cli-portable-file.v1'],
|
|
964
|
+
shapeIds: MANIFEST_SHAPE_IDS,
|
|
965
|
+
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.public-records.v2', 'domain-control.cli-portable-file.v1'],
|
|
912
966
|
hookIds: ['domain-control.cli.offline-verify', 'domain-control.cli.sign-package'],
|
|
913
967
|
serialisationProfileId: null,
|
|
914
968
|
privacyProfileId: 'domain-control.signed-wrapper.v1',
|
|
@@ -926,8 +980,8 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
926
980
|
{ schema: DOMAIN_CONTROL_MANIFEST_SCHEMA, versions: SUPPORTED_DOMAIN_CONTROL_MANIFEST_VERSIONS, mode: 'embedded' },
|
|
927
981
|
],
|
|
928
982
|
emittedContract: null,
|
|
929
|
-
shapeIds:
|
|
930
|
-
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.cli-portable-file.v1'],
|
|
983
|
+
shapeIds: MANIFEST_SHAPE_IDS,
|
|
984
|
+
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.public-records.v2', 'domain-control.cli-portable-file.v1'],
|
|
931
985
|
hookIds: ['domain-control.cli.verify-signature', 'domain-control.cli.offline-verify'],
|
|
932
986
|
serialisationProfileId: null,
|
|
933
987
|
privacyProfileId: 'domain-control.metadata-only.v1',
|
|
@@ -945,8 +999,8 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
945
999
|
{ schema: DOMAIN_CONTROL_MANIFEST_SCHEMA, versions: SUPPORTED_DOMAIN_CONTROL_MANIFEST_VERSIONS, mode: 'direct' },
|
|
946
1000
|
],
|
|
947
1001
|
emittedContract: null,
|
|
948
|
-
shapeIds:
|
|
949
|
-
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.cli-portable-file.v1'],
|
|
1002
|
+
shapeIds: MANIFEST_SHAPE_IDS,
|
|
1003
|
+
boundProfileIds: ['domain-control.core-wire.v1', 'domain-control.public-records.v2', 'domain-control.cli-portable-file.v1'],
|
|
950
1004
|
hookIds: ['domain-control.cli.sharing-review', 'domain-control.cli.offline-verify'],
|
|
951
1005
|
serialisationProfileId: null,
|
|
952
1006
|
privacyProfileId: 'domain-control.metadata-only.v1',
|
|
@@ -964,9 +1018,9 @@ export const DOMAIN_CONTROL_SCHEMA_LIFECYCLE = defineSchemaLifecycleFamily({
|
|
|
964
1018
|
{ schema: DOMAIN_CONTROL_MANIFEST_SCHEMA, versions: SUPPORTED_DOMAIN_CONTROL_MANIFEST_VERSIONS, mode: 'direct' },
|
|
965
1019
|
],
|
|
966
1020
|
emittedContract: null,
|
|
967
|
-
shapeIds:
|
|
1021
|
+
shapeIds: MANIFEST_SHAPE_IDS,
|
|
968
1022
|
boundProfileIds: [
|
|
969
|
-
'domain-control.core-wire.v1',
|
|
1023
|
+
'domain-control.core-wire.v1', 'domain-control.public-records.v2',
|
|
970
1024
|
'domain-control.cli-monitor-file.v1',
|
|
971
1025
|
'domain-control.cli-monitor-action.v1',
|
|
972
1026
|
],
|