@tiangong-lca/cli 0.0.28 → 0.0.30
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/README.md +90 -2
- package/dist/src/cli.js +553 -4
- package/dist/src/cli.js.map +1 -1
- package/dist/src/lib/dataset-command.js +11 -0
- package/dist/src/lib/dataset-command.js.map +1 -1
- package/dist/src/lib/dataset-maintenance-contract.js.map +1 -1
- package/dist/src/lib/dataset-maintenance-flow-identity-approval-claim.js +175 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-approval-claim.js.map +1 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-capture.js +511 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-capture.js.map +1 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-command.js +26 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-command.js.map +1 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-contract.js +784 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-contract.js.map +1 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-execution-contract.js +1317 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-execution-contract.js.map +1 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-freeze.js +342 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-freeze.js.map +1 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-plan.js +900 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-plan.js.map +1 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-recovery.js +688 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-recovery.js.map +1 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-run.js +1369 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-run.js.map +1 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-seal.js +144 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-seal.js.map +1 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-verify.js +377 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-verify.js.map +1 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-wire.js +178 -0
- package/dist/src/lib/dataset-maintenance-flow-identity-wire.js.map +1 -0
- package/dist/src/lib/dataset-maintenance-remote.js +156 -10
- package/dist/src/lib/dataset-maintenance-remote.js.map +1 -1
- package/dist/src/lib/dataset-save-draft-run.js +667 -0
- package/dist/src/lib/dataset-save-draft-run.js.map +1 -1
- package/dist/src/lib/http.js.map +1 -1
- package/dist/src/lib/lca-release.js +683 -0
- package/dist/src/lib/lca-release.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataset-maintenance-flow-identity-contract.js","sourceRoot":"","sources":["../../../src/lib/dataset-maintenance-flow-identity-contract.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n isJsonObject,\n sha256Json,\n type DatasetMaintenanceRowSnapshot,\n type JsonObject,\n} from './dataset-maintenance-contract.js';\nimport { CliError } from './errors.js';\nimport {\n assertFlowIdentityWireJson,\n flowIdentityRestrictedSha256,\n isStandardFlowIdentityShortDescription,\n type StandardStMultiLang,\n} from './dataset-maintenance-flow-identity-wire.js';\n\nexport const FLOW_IDENTITY_SOURCE_COUNT = 305;\nexport const FLOW_IDENTITY_REFERENCE_FIELDS = [\n '@refObjectId',\n '@type',\n '@uri',\n '@version',\n 'common:shortDescription',\n] as const;\n\nexport const HISTORICAL_FLOW_IDENTITY_AUTHORITY_SHA256 = new Set([\n '70fc59ec2fc6059d5c38f7e36aad0d83e977244f84d2e618da9a964d8b8bcb24',\n '6de26ed76f41f9fd37473fd1eb2ba34084ad28a273db01d97d97b434c38c5a9a',\n '1ea6b533cd2e0b7ac75c72bdc2140cb64dac3422deb25c1f880795c42a5b9505',\n 'cc0d2c13763666be51a837c87c013ff7d6b9a2a2a141fa3f14bffb07b7429829',\n '06f81114f6a6c473d401612b16594ee15f017e9f627ac7189ccf7b94d32dcd58',\n]);\n\nconst HISTORICAL_APPROVAL_PATTERN =\n /^APPROVE BAFU STEP3 (?:LEGACY TARGET POLICY|EVIDENCE RESOLUTION)(?: V2)? /u;\nconst HASH_PATTERN = /^[a-f0-9]{64}$/u;\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/u;\nconst VERSION_PATTERN = /^\\d{2}\\.\\d{2}\\.\\d{3}$/u;\nconst POSTGREST_UTC_TIMESTAMP_PATTERN =\n /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?\\+00:00$/u;\n\nexport type FlowIdentityDirection = 'Input' | 'Output';\nexport type FlowIdentityDisposition = 'map_public' | 'pending' | 'blocker' | 'orphan';\nexport type FlowIdentityArtifactSha256 = string;\nexport type FlowIdentityDbOpaqueSha256 = string;\nexport type FlowIdentitySharedRequestSha256 = string;\n\nexport type FlowIdentityReference = {\n '@refObjectId': string;\n '@type': 'flow data set';\n '@uri': string;\n '@version': string;\n 'common:shortDescription': StandardStMultiLang;\n};\n\nexport type FlowIdentityCompatibilityPolicy = {\n schema_version: 'dataset-flow-identity-compatibility-policy.v1';\n policy_sha256: string;\n evidence_resolution_sha256: string;\n approved_at_utc: string;\n approval_text_sha256: string;\n};\n\nexport type FlowIdentityReviewEntry = {\n source: { id: string; version: string };\n disposition: FlowIdentityDisposition;\n target: { id: string; version: string; reference: FlowIdentityReference } | null;\n allowed_directions: FlowIdentityDirection[];\n source_trace_sha256: string;\n compartment_evidence_sha256: string;\n decision_evidence_sha256: string;\n};\n\nexport type FlowIdentityReviewLedger = {\n schema_version: 'dataset-flow-identity-review-ledger.v3';\n generated_at_utc: string;\n source_count: 305;\n review_evidence_sha256: string;\n execution_authority: false;\n entries: FlowIdentityReviewEntry[];\n ledger_sha256: string;\n};\n\nexport type FlowIdentityCaptureAttestation = {\n ok: true;\n command: 'cmd_dataset_flow_identity_capture_attest_guarded';\n schema_version: 'dataset-flow-identity-capture-attest-result.v2';\n proof_domain: 'dataset-flow-identity-db-proof.v2';\n receipt_id: string;\n receipt_proof_sha256: FlowIdentityDbOpaqueSha256;\n operation_id: string;\n environment: 'production' | 'preview' | 'local';\n project_ref: string;\n captured_at: string;\n expires_at: string;\n source_guard_set_sha256: FlowIdentityDbOpaqueSha256;\n support_guard_set_sha256: FlowIdentityDbOpaqueSha256;\n target_guard_set_sha256: FlowIdentityDbOpaqueSha256;\n mapping_guard_set_sha256: FlowIdentityDbOpaqueSha256;\n process_intent_set_sha256: FlowIdentityDbOpaqueSha256;\n protected_closure_sha256: FlowIdentityDbOpaqueSha256;\n whole_scope_proof_sha256: FlowIdentityDbOpaqueSha256;\n policy_sha256: FlowIdentityDbOpaqueSha256;\n policy_approval_text_sha256: FlowIdentityDbOpaqueSha256;\n source_count: 305;\n target_count: number;\n support_count: number;\n mapping_count: number;\n process_count: number;\n rewrite_count: number;\n capture_request_sha256: FlowIdentitySharedRequestSha256;\n replay: boolean;\n};\n\nexport type FlowIdentityCaptureRequest = {\n schema_version: 'dataset-flow-identity-capture-attest.v2';\n request_id: string;\n environment: 'production' | 'preview' | 'local';\n project_ref: string;\n actor: { user_id: string; email: string };\n target_visibility: 'owner_draft';\n operation_id: string;\n compatibility_policy: FlowIdentityCompatibilityPolicy;\n artifact_evidence: {\n review_ledger_sha256: FlowIdentityArtifactSha256;\n live_capture_artifact_sha256: FlowIdentityArtifactSha256;\n toolchain_evidence_sha256: FlowIdentityArtifactSha256;\n };\n mappings: JsonObject[];\n process_intents: JsonObject[];\n protected_closure: JsonObject;\n};\n\nexport type FlowIdentityCaptureCompleteness = {\n schema_version: 'dataset-flow-identity-capture-completeness.v2';\n source_count: 305;\n target_count: number;\n support_count: number;\n owner_draft_process_count: number;\n owner_draft_process_scan: JsonObject;\n};\n\nexport type FlowIdentityLiveCapture = {\n schema_version: 'dataset-flow-identity-live-capture.v2';\n captured_at_utc: string;\n environment: 'production' | 'preview' | 'local';\n project_ref: string;\n account: { user_id: string; email: string };\n prerequisites: {\n step2_readback_sha256: string;\n step2_completed_at_utc: string;\n issue29_target1_readback_sha256: string;\n issue29_target1_completed_at_utc: string;\n issue29_target2_readback_sha256: string;\n issue29_target2_completed_at_utc: string;\n };\n sdk: { package: '@tiangong-lca/tidas-sdk'; version: string };\n artifact_evidence: {\n review_ledger_sha256: FlowIdentityArtifactSha256;\n live_capture_artifact_sha256: FlowIdentityArtifactSha256;\n toolchain_evidence_sha256: FlowIdentityArtifactSha256;\n };\n completeness: FlowIdentityCaptureCompleteness;\n source_rows: DatasetMaintenanceRowSnapshot[];\n target_rows: DatasetMaintenanceRowSnapshot[];\n support_rows: DatasetMaintenanceRowSnapshot[];\n process_rows: DatasetMaintenanceRowSnapshot[];\n capture_request: FlowIdentityCaptureRequest;\n attestation: FlowIdentityCaptureAttestation;\n capture_artifact_sha256: FlowIdentityArtifactSha256;\n};\n\nexport type FlowIdentityMappingEndpoint = {\n id: string;\n version: string;\n user_id: string;\n state_code: number;\n modified_at: string;\n payload_sha256: string;\n row_sha256: string;\n flow_type: 'Elementary flow';\n flow_property_id: string;\n flow_property_version: string;\n unit_group_id: string;\n unit_group_version: string;\n category_path_sha256: string;\n};\n\nexport type FlowIdentityMapping = {\n ordinal: number;\n mapping_id: string;\n source: FlowIdentityMappingEndpoint & { source_trace_sha256: string };\n target: FlowIdentityMappingEndpoint & { reference: FlowIdentityReference };\n compatibility: {\n policy_sha256: string;\n mode: 'identity';\n confidence: 'approved';\n flow_property_compatible: true;\n unit_group_compatible: true;\n direction_compatible: true;\n compartment_compatible: true;\n conversion_factor: '1';\n evidence_sha256: string;\n flow_schema: {\n status: 'pass' | 'legacy_warning';\n warning_set_sha256: string;\n };\n process_schema_required: 'pass';\n };\n};\n\nexport type FlowIdentitySupportSnapshot = {\n ordinal: number;\n table: 'flowproperties' | 'unitgroups';\n id: string;\n version: string;\n user_id: string;\n state_code: 0 | 100;\n modified_at: string;\n payload_sha256: string;\n row_sha256: string;\n};\n\nexport type FlowIdentityProcessManifest = {\n ordinal: number;\n id: string;\n version: string;\n user_id: string;\n state_code: 0;\n modified_at: string;\n model_id: string | null;\n rule_verification: boolean | null;\n before_row_sha256: string;\n before_payload_sha256: string;\n before_exchange_set_sha256: string;\n before_exchange_count: number;\n desired_payload_sha256: string;\n desired_exchange_set_sha256: string;\n rewrite_count: number;\n process_template_sha256: string;\n rewrite_set_sha256: string;\n collision_ledger_sha256: string;\n process_schema: { status: 'pass'; evidence_sha256: string };\n pending_blocker_closure_sha256: string;\n};\n\nexport type FlowIdentityRewrite = {\n ordinal: number;\n exchange_index: number;\n internal_id: string;\n direction: FlowIdentityDirection;\n mapping_id: string;\n source_reference: FlowIdentityReference;\n target_reference: FlowIdentityReference;\n before_reference_sha256: string;\n after_reference_sha256: string;\n};\n\nexport type FlowIdentityCollisionEntry = {\n target_id: string;\n target_version: string;\n exchange_indexes: number[];\n internal_ids: Array<string | null>;\n mapping_ids: Array<string | null>;\n preserve_rows: true;\n};\n\nexport type FlowIdentityCollisionLedger = {\n schema_version: 'dataset-flow-identity-collision-ledger.v1';\n entries: FlowIdentityCollisionEntry[];\n};\n\nexport type FlowIdentityOccurrence = {\n process_id: string;\n process_version: string;\n exchange_index: number;\n internal_id: string;\n direction: FlowIdentityDirection;\n reference_sha256: string;\n};\n\nexport type FlowIdentityProtectedReferenceEntry = {\n source_id: string;\n source_version: string;\n expected_reference_count: number;\n occurrences: FlowIdentityOccurrence[];\n occurrence_set_sha256: string;\n evidence_sha256: string;\n};\n\nexport type FlowIdentityProtectedOrphanEntry = {\n source_id: string;\n source_version: string;\n evidence_sha256: string;\n};\n\nexport type FlowIdentityProtectedClosure = {\n schema_version: 'dataset-flow-identity-protected-closure.v1';\n pending: FlowIdentityProtectedReferenceEntry[];\n blockers: FlowIdentityProtectedReferenceEntry[];\n orphans: FlowIdentityProtectedOrphanEntry[];\n pending_set_sha256: string;\n blocker_set_sha256: string;\n orphan_set_sha256: string;\n total_expected_reference_count: number;\n};\n\nexport type FlowIdentityProcessTemplate = {\n process: FlowIdentityProcessManifest;\n rewrites: FlowIdentityRewrite[];\n collision_ledger: FlowIdentityCollisionLedger;\n desired_payload: JsonObject;\n};\n\nexport type FlowIdentityPlan = {\n schema_version: 'dataset-flow-identity-plan.v2';\n generated_at_utc: string;\n environment: FlowIdentityLiveCapture['environment'];\n project_ref: string;\n account: FlowIdentityLiveCapture['account'];\n operation_id: string;\n status: 'ready';\n target_visibility: 'owner_draft';\n review_ledger_sha256: string;\n capture_artifact_sha256: FlowIdentityArtifactSha256;\n receipt_id: string;\n receipt_proof_sha256: FlowIdentityDbOpaqueSha256;\n capture_request_sha256: FlowIdentitySharedRequestSha256;\n source_guard_set_sha256: FlowIdentityDbOpaqueSha256;\n support_guard_set_sha256: FlowIdentityDbOpaqueSha256;\n target_guard_set_sha256: FlowIdentityDbOpaqueSha256;\n mapping_guard_set_sha256: FlowIdentityDbOpaqueSha256;\n process_intent_set_sha256: FlowIdentityDbOpaqueSha256;\n receipt_protected_closure_sha256: FlowIdentityDbOpaqueSha256;\n capture_whole_scope_proof_sha256: FlowIdentityDbOpaqueSha256;\n source_universe_artifact_sha256: FlowIdentityArtifactSha256;\n compatibility_policy: FlowIdentityCompatibilityPolicy;\n support_snapshot_artifact_sha256: FlowIdentityArtifactSha256;\n mapping_artifact_sha256: FlowIdentityArtifactSha256;\n process_manifest_artifact_sha256: FlowIdentityArtifactSha256;\n protected_closure_artifact_sha256: FlowIdentityArtifactSha256;\n support_snapshots: FlowIdentitySupportSnapshot[];\n mappings: FlowIdentityMapping[];\n processes: FlowIdentityProcessManifest[];\n protected_closure: FlowIdentityProtectedClosure;\n summary: {\n semantic_sources: 305;\n mappings: number;\n processes: number;\n rewrites: number;\n collision_entries: number;\n pending: number;\n blockers: number;\n orphans: number;\n protected_references: number;\n };\n artifacts: {\n plan: 'flow-identity-plan.json';\n live_capture: 'flow-identity-live-capture.json';\n process_manifest: 'flow-identity-process-manifest.jsonl';\n collision_ledger: 'flow-identity-collision-ledger.jsonl';\n protected_closure: 'flow-identity-protected-closure.json';\n desired_payload_dir: 'desired-processes';\n process_request_dir: 'process-requests';\n };\n plan_sha256: string;\n};\n\nexport type FlowIdentityPlanBundle = {\n plan: FlowIdentityPlan;\n process_templates: FlowIdentityProcessTemplate[];\n};\n\nfunction fail(message: string, code = 'DATASET_FLOW_IDENTITY_CONTRACT_INVALID'): never {\n throw new CliError(message, { code, exitCode: 2 });\n}\n\nfunction token(value: unknown, label: string): string {\n if (typeof value !== 'string' || !value.trim()) fail(`${label} must be a non-empty string.`);\n return value.trim();\n}\n\nfunction hash(value: unknown, label: string): string {\n const normalized = token(value, label);\n if (!HASH_PATTERN.test(normalized)) fail(`${label} must be a lowercase SHA-256.`);\n return normalized;\n}\n\nfunction instant(value: unknown, label: string): string {\n const normalized = token(value, label);\n if (!Number.isFinite(Date.parse(normalized))) fail(`${label} must be an RFC3339 timestamp.`);\n return normalized;\n}\n\nfunction version(value: unknown, label: string): string {\n const normalized = token(value, label);\n if (!VERSION_PATTERN.test(normalized)) fail(`${label} must match NN.NN.NNN.`);\n return normalized;\n}\n\nfunction computeSelfHash(value: Record<string, unknown>, field: string): string {\n return sha256Json({ ...value, [field]: '' });\n}\n\nfunction hasExactKeys(value: unknown, expected: readonly string[]): boolean {\n if (!isJsonObject(value)) return false;\n const actual = Object.keys(value);\n return actual.length === expected.length && expected.every((key) => actual.includes(key));\n}\n\nexport function assertCurrentFlowIdentityAuthority(value: {\n oracleSha256?: unknown;\n authoritySha256?: unknown;\n approvalText?: unknown;\n oracleGeneration?: unknown;\n sourceCount?: unknown;\n}): void {\n for (const candidate of [value.oracleSha256, value.authoritySha256]) {\n if (typeof candidate === 'string' && HISTORICAL_FLOW_IDENTITY_AUTHORITY_SHA256.has(candidate)) {\n fail(\n 'Historical Step 3 authority hash is permanently non-executable.',\n 'DATASET_FLOW_IDENTITY_HISTORICAL_AUTHORITY',\n );\n }\n }\n if (\n typeof value.approvalText === 'string' &&\n HISTORICAL_APPROVAL_PATTERN.test(value.approvalText.trim())\n ) {\n fail(\n 'Historical Step 3 v1/v2 approval text is permanently non-executable.',\n 'DATASET_FLOW_IDENTITY_HISTORICAL_AUTHORITY',\n );\n }\n if (value.oracleGeneration === 'pre_step2' || value.sourceCount === 224) {\n fail(\n 'Pre-Step-2 and 224-row Step 3 projections are permanently non-executable.',\n 'DATASET_FLOW_IDENTITY_HISTORICAL_AUTHORITY',\n );\n }\n}\n\nexport function computeFlowIdentityReviewLedgerSha256(ledger: FlowIdentityReviewLedger): string {\n return computeSelfHash(ledger as unknown as Record<string, unknown>, 'ledger_sha256');\n}\n\nexport function computeFlowIdentityCaptureSha256(capture: FlowIdentityLiveCapture): string {\n return computeSelfHash(capture as unknown as Record<string, unknown>, 'capture_artifact_sha256');\n}\n\nexport function computeFlowIdentityCaptureEvidenceSha256(\n capture: Omit<FlowIdentityLiveCapture, 'attestation' | 'capture_artifact_sha256'>,\n): string {\n return sha256Json({\n schema_version: capture.schema_version,\n captured_at_utc: capture.captured_at_utc,\n environment: capture.environment,\n project_ref: capture.project_ref,\n account: capture.account,\n prerequisites: capture.prerequisites,\n sdk: capture.sdk,\n review_ledger_sha256: capture.artifact_evidence.review_ledger_sha256,\n toolchain_evidence_sha256: capture.artifact_evidence.toolchain_evidence_sha256,\n completeness: capture.completeness,\n source_rows: capture.source_rows,\n target_rows: capture.target_rows,\n support_rows: capture.support_rows,\n process_rows: capture.process_rows,\n });\n}\n\nexport function computeFlowIdentityMappingId(\n mapping: Omit<FlowIdentityMapping, 'mapping_id'> | FlowIdentityMapping,\n): string {\n const identity = Object.fromEntries(\n Object.entries(mapping).filter(([key]) => key !== 'ordinal' && key !== 'mapping_id'),\n );\n return sha256Json(identity);\n}\n\nexport function computeFlowIdentityProcessTemplateSha256(\n process: FlowIdentityProcessManifest,\n): string {\n const body = Object.fromEntries(\n Object.entries(process).filter(([key]) => key !== 'process_template_sha256'),\n );\n return sha256Json(body);\n}\n\nexport function computeFlowIdentityPlanSha256(plan: FlowIdentityPlan): string {\n return computeSelfHash(plan as unknown as Record<string, unknown>, 'plan_sha256');\n}\n\nexport function parseFlowIdentityReference(value: unknown, label: string): FlowIdentityReference {\n if (!isJsonObject(value)) fail(`${label} must be an object.`);\n const keys = Object.keys(value).sort();\n if (sha256Json(keys) !== sha256Json([...FLOW_IDENTITY_REFERENCE_FIELDS].sort())) {\n fail(`${label} must contain exactly the five approved reference fields.`);\n }\n const id = token(value['@refObjectId'], `${label}.@refObjectId`);\n const referenceVersion = version(value['@version'], `${label}.@version`);\n const uri = token(value['@uri'], `${label}.@uri`);\n const shortDescription = value['common:shortDescription'];\n if (\n !UUID_PATTERN.test(id) ||\n value['@type'] !== 'flow data set' ||\n Buffer.byteLength(uri, 'utf8') > 2_048 ||\n !isStandardFlowIdentityShortDescription(shortDescription)\n ) {\n fail(`${label} type or URI is invalid.`);\n }\n return {\n '@refObjectId': id,\n '@type': 'flow data set',\n '@uri': uri,\n '@version': referenceVersion,\n 'common:shortDescription': structuredClone(shortDescription),\n };\n}\n\nexport function extractFlowIdentityReference(value: unknown, label: string): FlowIdentityReference {\n if (!isJsonObject(value)) fail(`${label} must be an object.`);\n return parseFlowIdentityReference(\n Object.fromEntries(FLOW_IDENTITY_REFERENCE_FIELDS.map((field) => [field, value[field]])),\n label,\n );\n}\n\nexport function parseFlowIdentityPolicy(value: unknown): FlowIdentityCompatibilityPolicy {\n if (!isJsonObject(value)) fail('Flow identity compatibility policy is invalid.');\n assertCurrentFlowIdentityAuthority({\n authoritySha256: value.policy_sha256,\n approvalText: value.approval_text,\n });\n assertCurrentFlowIdentityAuthority({ authoritySha256: value.evidence_resolution_sha256 });\n assertCurrentFlowIdentityAuthority({ authoritySha256: value.approval_text_sha256 });\n if (\n !hasExactKeys(value, [\n 'schema_version',\n 'policy_sha256',\n 'evidence_resolution_sha256',\n 'approved_at_utc',\n 'approval_text_sha256',\n ]) ||\n value.schema_version !== 'dataset-flow-identity-compatibility-policy.v1' ||\n !HASH_PATTERN.test(token(value.policy_sha256, 'policy_sha256')) ||\n !HASH_PATTERN.test(token(value.evidence_resolution_sha256, 'evidence_resolution_sha256')) ||\n !HASH_PATTERN.test(token(value.approval_text_sha256, 'approval_text_sha256'))\n ) {\n fail('Flow identity compatibility policy fields are invalid.');\n }\n instant(value.approved_at_utc, 'approved_at_utc');\n return value as FlowIdentityCompatibilityPolicy;\n}\n\nfunction parseReviewEntry(value: unknown, index: number): FlowIdentityReviewEntry {\n const label = `entries[${index}]`;\n if (!isJsonObject(value) || !isJsonObject(value.source)) fail(`${label} is invalid.`);\n const disposition = token(value.disposition, `${label}.disposition`);\n const sourceId = token(value.source.id, `${label}.source.id`);\n if (!['map_public', 'pending', 'blocker', 'orphan'].includes(disposition)) {\n fail(`${label}.disposition is unsupported.`);\n }\n const target = isJsonObject(value.target)\n ? {\n id: token(value.target.id, `${label}.target.id`),\n version: version(value.target.version, `${label}.target.version`),\n reference: parseFlowIdentityReference(value.target.reference, `${label}.target.reference`),\n }\n : null;\n const directions = Array.isArray(value.allowed_directions)\n ? value.allowed_directions.map((entry) => token(entry, `${label}.allowed_directions`))\n : [];\n if (\n !UUID_PATTERN.test(sourceId) ||\n (target !== null && !UUID_PATTERN.test(target.id)) ||\n directions.some((entry) => entry !== 'Input' && entry !== 'Output') ||\n new Set(directions).size !== directions.length ||\n (disposition === 'map_public') !== Boolean(target && directions.length)\n ) {\n fail(`${label} target/direction fields do not match its disposition.`);\n }\n return {\n source: {\n id: sourceId,\n version: version(value.source.version, `${label}.source.version`),\n },\n disposition: disposition as FlowIdentityDisposition,\n target,\n allowed_directions: directions as FlowIdentityDirection[],\n source_trace_sha256: hash(value.source_trace_sha256, `${label}.source_trace_sha256`),\n compartment_evidence_sha256: hash(\n value.compartment_evidence_sha256,\n `${label}.compartment_evidence_sha256`,\n ),\n decision_evidence_sha256: hash(\n value.decision_evidence_sha256,\n `${label}.decision_evidence_sha256`,\n ),\n };\n}\n\nexport function parseFlowIdentityReviewLedger(value: unknown): FlowIdentityReviewLedger {\n if (!isJsonObject(value) || !Array.isArray(value.entries)) {\n fail('Flow identity review ledger is invalid.');\n }\n assertCurrentFlowIdentityAuthority({\n oracleSha256: value.ledger_sha256,\n oracleGeneration: value.oracle_generation,\n sourceCount: value.source_count,\n });\n const entries = value.entries.map(parseReviewEntry);\n const ledger = { ...value, entries } as FlowIdentityReviewLedger;\n if (\n ledger.schema_version !== 'dataset-flow-identity-review-ledger.v3' ||\n ledger.source_count !== FLOW_IDENTITY_SOURCE_COUNT ||\n ledger.execution_authority !== false ||\n entries.length !== FLOW_IDENTITY_SOURCE_COUNT ||\n new Set(entries.map((entry) => `${entry.source.id}@${entry.source.version}`)).size !==\n entries.length ||\n !Number.isFinite(Date.parse(ledger.generated_at_utc)) ||\n !HASH_PATTERN.test(ledger.review_evidence_sha256) ||\n ledger.ledger_sha256 !== computeFlowIdentityReviewLedgerSha256(ledger)\n ) {\n fail('Review ledger must contain exactly 305 unique v3 source decisions.');\n }\n return ledger;\n}\n\nexport function parseFlowIdentityCapture(value: unknown): FlowIdentityLiveCapture {\n if (\n !isJsonObject(value) ||\n !isJsonObject(value.account) ||\n !isJsonObject(value.prerequisites) ||\n !isJsonObject(value.sdk) ||\n !isJsonObject(value.artifact_evidence) ||\n !isJsonObject(value.completeness) ||\n !isJsonObject(value.capture_request) ||\n !isJsonObject(value.attestation)\n ) {\n fail('Flow identity live capture is invalid.');\n }\n assertCurrentFlowIdentityAuthority({ oracleSha256: value.capture_artifact_sha256 });\n const capture = value as FlowIdentityLiveCapture;\n const capturedAt = Date.parse(instant(capture.captured_at_utc, 'captured_at_utc'));\n const step2At = Date.parse(\n instant(capture.prerequisites.step2_completed_at_utc, 'step2_completed_at_utc'),\n );\n const issue29Target1At = Date.parse(\n instant(\n capture.prerequisites.issue29_target1_completed_at_utc,\n 'issue29_target1_completed_at_utc',\n ),\n );\n const issue29Target2At = Date.parse(\n instant(\n capture.prerequisites.issue29_target2_completed_at_utc,\n 'issue29_target2_completed_at_utc',\n ),\n );\n const attestation = capture.attestation;\n const attestedAt = Date.parse(instant(attestation.captured_at, 'attestation.captured_at'));\n const expiresAt = Date.parse(instant(attestation.expires_at, 'attestation.expires_at'));\n const attestationKeys = [\n 'ok',\n 'command',\n 'schema_version',\n 'proof_domain',\n 'receipt_id',\n 'receipt_proof_sha256',\n 'operation_id',\n 'environment',\n 'project_ref',\n 'captured_at',\n 'expires_at',\n 'source_guard_set_sha256',\n 'support_guard_set_sha256',\n 'target_guard_set_sha256',\n 'mapping_guard_set_sha256',\n 'process_intent_set_sha256',\n 'protected_closure_sha256',\n 'whole_scope_proof_sha256',\n 'policy_sha256',\n 'policy_approval_text_sha256',\n 'source_count',\n 'target_count',\n 'support_count',\n 'mapping_count',\n 'process_count',\n 'rewrite_count',\n 'capture_request_sha256',\n 'replay',\n ] as const;\n const completeness = capture.completeness;\n const processScan = completeness.owner_draft_process_scan;\n const request = assertFlowIdentityWireJson(\n capture.capture_request as unknown as JsonObject,\n ) as unknown as FlowIdentityCaptureRequest;\n const requestHash = flowIdentityRestrictedSha256(request as unknown as JsonObject);\n if (\n capture.schema_version !== 'dataset-flow-identity-live-capture.v2' ||\n !['production', 'preview', 'local'].includes(capture.environment) ||\n !token(capture.project_ref, 'project_ref') ||\n !token(capture.account.user_id, 'account.user_id') ||\n capture.account.email !== token(capture.account.email, 'account.email').toLowerCase() ||\n capture.sdk.package !== '@tiangong-lca/tidas-sdk' ||\n !token(capture.sdk.version, 'sdk.version') ||\n !Array.isArray(capture.source_rows) ||\n !Array.isArray(capture.target_rows) ||\n !Array.isArray(capture.support_rows) ||\n !Array.isArray(capture.process_rows) ||\n !hasExactKeys(request, [\n 'schema_version',\n 'request_id',\n 'environment',\n 'project_ref',\n 'actor',\n 'target_visibility',\n 'operation_id',\n 'compatibility_policy',\n 'artifact_evidence',\n 'mappings',\n 'process_intents',\n 'protected_closure',\n ]) ||\n !isJsonObject(request.actor) ||\n !hasExactKeys(request.actor, ['user_id', 'email']) ||\n !isJsonObject(request.artifact_evidence) ||\n !hasExactKeys(request.artifact_evidence, [\n 'review_ledger_sha256',\n 'live_capture_artifact_sha256',\n 'toolchain_evidence_sha256',\n ]) ||\n !isJsonObject(request.compatibility_policy) ||\n !Array.isArray(request.mappings) ||\n !Array.isArray(request.process_intents) ||\n !isJsonObject(request.protected_closure) ||\n request.schema_version !== 'dataset-flow-identity-capture-attest.v2' ||\n !UUID_PATTERN.test(request.request_id) ||\n request.environment !== capture.environment ||\n request.project_ref !== capture.project_ref ||\n request.actor.user_id !== capture.account.user_id ||\n request.actor.email !== capture.account.email ||\n request.target_visibility !== 'owner_draft' ||\n request.operation_id !== attestation.operation_id ||\n request.artifact_evidence.review_ledger_sha256 !==\n capture.artifact_evidence.review_ledger_sha256 ||\n request.artifact_evidence.live_capture_artifact_sha256 !==\n capture.artifact_evidence.live_capture_artifact_sha256 ||\n request.artifact_evidence.toolchain_evidence_sha256 !==\n capture.artifact_evidence.toolchain_evidence_sha256 ||\n !hasExactKeys(attestation, attestationKeys) ||\n attestation.ok !== true ||\n attestation.command !== 'cmd_dataset_flow_identity_capture_attest_guarded' ||\n attestation.schema_version !== 'dataset-flow-identity-capture-attest-result.v2' ||\n attestation.proof_domain !== 'dataset-flow-identity-db-proof.v2' ||\n !UUID_PATTERN.test(attestation.receipt_id) ||\n !HASH_PATTERN.test(attestation.receipt_proof_sha256) ||\n ![\n attestation.receipt_proof_sha256,\n attestation.source_guard_set_sha256,\n attestation.support_guard_set_sha256,\n attestation.target_guard_set_sha256,\n attestation.mapping_guard_set_sha256,\n attestation.process_intent_set_sha256,\n attestation.protected_closure_sha256,\n attestation.whole_scope_proof_sha256,\n attestation.policy_sha256,\n attestation.policy_approval_text_sha256,\n attestation.capture_request_sha256,\n ].every((digest) => HASH_PATTERN.test(digest)) ||\n attestation.capture_request_sha256 !== requestHash ||\n attestation.policy_sha256 !== request.compatibility_policy.policy_sha256 ||\n attestation.policy_approval_text_sha256 !== request.compatibility_policy.approval_text_sha256 ||\n attestation.environment !== capture.environment ||\n attestation.project_ref !== capture.project_ref ||\n attestation.source_count !== FLOW_IDENTITY_SOURCE_COUNT ||\n !Number.isSafeInteger(attestation.target_count) ||\n attestation.target_count < 1 ||\n !Number.isSafeInteger(attestation.support_count) ||\n attestation.support_count < 2 ||\n !Number.isSafeInteger(attestation.mapping_count) ||\n attestation.mapping_count < 1 ||\n attestation.mapping_count !== request.mappings.length ||\n !Number.isSafeInteger(attestation.process_count) ||\n attestation.process_count < 1 ||\n attestation.process_count !== request.process_intents.length ||\n !Number.isSafeInteger(attestation.rewrite_count) ||\n attestation.rewrite_count < 1 ||\n typeof attestation.replay !== 'boolean' ||\n attestedAt + 5 * 60 * 1_000 < capturedAt ||\n expiresAt <= attestedAt ||\n expiresAt - attestedAt > 7 * 24 * 60 * 60 * 1_000 ||\n completeness.schema_version !== 'dataset-flow-identity-capture-completeness.v2' ||\n completeness.source_count !== FLOW_IDENTITY_SOURCE_COUNT ||\n completeness.target_count !== capture.target_rows.length ||\n completeness.support_count !== capture.support_rows.length ||\n !Number.isSafeInteger(completeness.owner_draft_process_count) ||\n completeness.owner_draft_process_count < capture.process_rows.length ||\n !isJsonObject(processScan) ||\n processScan.status !== 'complete' ||\n processScan.complete !== true ||\n processScan.strategy !== 'postgrest_exact_count' ||\n processScan.rows_fetched !== completeness.owner_draft_process_count ||\n processScan.exact_total !== completeness.owner_draft_process_count ||\n processScan.content_range_verified !== true ||\n processScan.ordering_verified !== true ||\n processScan.duplicate_count !== 0 ||\n !HASH_PATTERN.test(String(processScan.row_identity_set_sha256)) ||\n !HASH_PATTERN.test(String(processScan.row_snapshot_set_sha256)) ||\n new Set(capture.process_rows.map((row) => `${row.id}\\u0000${row.version}`)).size !==\n capture.process_rows.length ||\n capture.source_rows.length !== FLOW_IDENTITY_SOURCE_COUNT ||\n attestation.target_count !== capture.target_rows.length ||\n attestation.support_count !== capture.support_rows.length ||\n capturedAt < step2At ||\n capturedAt < issue29Target1At ||\n capturedAt < issue29Target2At ||\n !HASH_PATTERN.test(capture.prerequisites.step2_readback_sha256) ||\n !HASH_PATTERN.test(capture.prerequisites.issue29_target1_readback_sha256) ||\n !HASH_PATTERN.test(capture.prerequisites.issue29_target2_readback_sha256) ||\n !HASH_PATTERN.test(capture.artifact_evidence.review_ledger_sha256) ||\n !HASH_PATTERN.test(capture.artifact_evidence.live_capture_artifact_sha256) ||\n !HASH_PATTERN.test(capture.artifact_evidence.toolchain_evidence_sha256) ||\n capture.artifact_evidence.live_capture_artifact_sha256 !==\n computeFlowIdentityCaptureEvidenceSha256(capture) ||\n capture.capture_artifact_sha256 !== computeFlowIdentityCaptureSha256(capture)\n ) {\n fail('Live capture is stale, incomplete, historical, or tampered.');\n }\n return capture;\n}\n\nfunction validOneBasedOrdinals(values: Array<{ ordinal: number }>): boolean {\n return values.every((value, index) => value.ordinal === index + 1);\n}\n\nfunction validOccurrenceEntry(entry: FlowIdentityProtectedReferenceEntry): boolean {\n return Boolean(\n hasExactKeys(entry, [\n 'source_id',\n 'source_version',\n 'expected_reference_count',\n 'occurrences',\n 'occurrence_set_sha256',\n 'evidence_sha256',\n ]) &&\n UUID_PATTERN.test(entry.source_id) &&\n VERSION_PATTERN.test(entry.source_version) &&\n Number.isInteger(entry.expected_reference_count) &&\n entry.expected_reference_count === entry.occurrences.length &&\n HASH_PATTERN.test(entry.evidence_sha256) &&\n entry.occurrence_set_sha256 === sha256Json(entry.occurrences) &&\n entry.occurrences.every(\n (occurrence, index) =>\n hasExactKeys(occurrence, [\n 'process_id',\n 'process_version',\n 'exchange_index',\n 'internal_id',\n 'direction',\n 'reference_sha256',\n ]) &&\n UUID_PATTERN.test(occurrence.process_id) &&\n VERSION_PATTERN.test(occurrence.process_version) &&\n Number.isInteger(occurrence.exchange_index) &&\n occurrence.exchange_index >= 0 &&\n Boolean(occurrence.internal_id) &&\n ['Input', 'Output'].includes(occurrence.direction) &&\n HASH_PATTERN.test(occurrence.reference_sha256) &&\n (index === 0 ||\n `${entry.occurrences[index - 1]!.process_id}\\u0000${entry.occurrences[index - 1]!.process_version}\\u0000${String(entry.occurrences[index - 1]!.exchange_index).padStart(12, '0')}` <\n `${occurrence.process_id}\\u0000${occurrence.process_version}\\u0000${String(occurrence.exchange_index).padStart(12, '0')}`),\n ),\n );\n}\n\nfunction supportSnapshotRowSha256(snapshot: FlowIdentitySupportSnapshot): string {\n return sha256Json({\n id: snapshot.id,\n version: snapshot.version,\n user_id: snapshot.user_id,\n state_code: snapshot.state_code,\n modified_at: snapshot.modified_at,\n payload_sha256: snapshot.payload_sha256,\n });\n}\n\nfunction validSupportSnapshot(snapshot: FlowIdentitySupportSnapshot, actorUserId: string): boolean {\n return Boolean(\n hasExactKeys(snapshot, [\n 'ordinal',\n 'table',\n 'id',\n 'version',\n 'user_id',\n 'state_code',\n 'modified_at',\n 'payload_sha256',\n 'row_sha256',\n ]) &&\n ['flowproperties', 'unitgroups'].includes(snapshot.table) &&\n UUID_PATTERN.test(snapshot.id) &&\n VERSION_PATTERN.test(snapshot.version) &&\n UUID_PATTERN.test(snapshot.user_id) &&\n [0, 100].includes(snapshot.state_code) &&\n (snapshot.state_code !== 0 || snapshot.user_id === actorUserId) &&\n POSTGREST_UTC_TIMESTAMP_PATTERN.test(snapshot.modified_at) &&\n HASH_PATTERN.test(snapshot.payload_sha256) &&\n snapshot.row_sha256 === supportSnapshotRowSha256(snapshot),\n );\n}\n\nfunction validMapping(mapping: FlowIdentityMapping, actorUserId: string): boolean {\n const targetReference = parseFlowIdentityReference(\n mapping.target.reference,\n 'mapping target.reference',\n );\n const hashes = [\n mapping.source.payload_sha256,\n mapping.source.row_sha256,\n mapping.source.category_path_sha256,\n mapping.source.source_trace_sha256,\n mapping.target.payload_sha256,\n mapping.target.row_sha256,\n mapping.target.category_path_sha256,\n mapping.compatibility.policy_sha256,\n mapping.compatibility.evidence_sha256,\n mapping.compatibility.flow_schema.warning_set_sha256,\n ];\n return Boolean(\n hasExactKeys(mapping, ['ordinal', 'mapping_id', 'source', 'target', 'compatibility']) &&\n hasExactKeys(mapping.source, [\n 'id',\n 'version',\n 'user_id',\n 'state_code',\n 'modified_at',\n 'payload_sha256',\n 'row_sha256',\n 'flow_type',\n 'flow_property_id',\n 'flow_property_version',\n 'unit_group_id',\n 'unit_group_version',\n 'category_path_sha256',\n 'source_trace_sha256',\n ]) &&\n hasExactKeys(mapping.target, [\n 'id',\n 'version',\n 'user_id',\n 'state_code',\n 'modified_at',\n 'payload_sha256',\n 'row_sha256',\n 'flow_type',\n 'flow_property_id',\n 'flow_property_version',\n 'unit_group_id',\n 'unit_group_version',\n 'category_path_sha256',\n 'reference',\n ]) &&\n hasExactKeys(mapping.compatibility, [\n 'policy_sha256',\n 'mode',\n 'confidence',\n 'flow_property_compatible',\n 'unit_group_compatible',\n 'direction_compatible',\n 'compartment_compatible',\n 'conversion_factor',\n 'evidence_sha256',\n 'flow_schema',\n 'process_schema_required',\n ]) &&\n hasExactKeys(mapping.compatibility.flow_schema, ['status', 'warning_set_sha256']) &&\n UUID_PATTERN.test(mapping.source.id) &&\n UUID_PATTERN.test(mapping.target.id) &&\n VERSION_PATTERN.test(mapping.source.version) &&\n VERSION_PATTERN.test(mapping.target.version) &&\n mapping.source.user_id === actorUserId &&\n mapping.source.state_code === 0 &&\n mapping.source.flow_type === 'Elementary flow' &&\n POSTGREST_UTC_TIMESTAMP_PATTERN.test(mapping.source.modified_at) &&\n mapping.target.user_id !== actorUserId &&\n mapping.target.state_code === 100 &&\n mapping.target.flow_type === 'Elementary flow' &&\n POSTGREST_UTC_TIMESTAMP_PATTERN.test(mapping.target.modified_at) &&\n mapping.source.flow_property_id === mapping.target.flow_property_id &&\n mapping.source.flow_property_version === mapping.target.flow_property_version &&\n mapping.source.unit_group_id === mapping.target.unit_group_id &&\n mapping.source.unit_group_version === mapping.target.unit_group_version &&\n targetReference['@refObjectId'] === mapping.target.id &&\n targetReference['@version'] === mapping.target.version &&\n mapping.compatibility.mode === 'identity' &&\n mapping.compatibility.confidence === 'approved' &&\n mapping.compatibility.flow_property_compatible === true &&\n mapping.compatibility.unit_group_compatible === true &&\n mapping.compatibility.direction_compatible === true &&\n mapping.compatibility.compartment_compatible === true &&\n mapping.compatibility.conversion_factor === '1' &&\n ['pass', 'legacy_warning'].includes(mapping.compatibility.flow_schema.status) &&\n mapping.compatibility.process_schema_required === 'pass' &&\n hashes.every((value) => HASH_PATTERN.test(value)),\n );\n}\n\nfunction validProcess(process: FlowIdentityProcessManifest, actorUserId: string): boolean {\n const hashes = [\n process.before_row_sha256,\n process.before_payload_sha256,\n process.before_exchange_set_sha256,\n process.desired_payload_sha256,\n process.desired_exchange_set_sha256,\n process.process_template_sha256,\n process.rewrite_set_sha256,\n process.collision_ledger_sha256,\n process.process_schema.evidence_sha256,\n process.pending_blocker_closure_sha256,\n ];\n return Boolean(\n hasExactKeys(process, [\n 'ordinal',\n 'id',\n 'version',\n 'user_id',\n 'state_code',\n 'modified_at',\n 'model_id',\n 'rule_verification',\n 'before_row_sha256',\n 'before_payload_sha256',\n 'before_exchange_set_sha256',\n 'before_exchange_count',\n 'desired_payload_sha256',\n 'desired_exchange_set_sha256',\n 'rewrite_count',\n 'process_template_sha256',\n 'rewrite_set_sha256',\n 'collision_ledger_sha256',\n 'process_schema',\n 'pending_blocker_closure_sha256',\n ]) &&\n hasExactKeys(process.process_schema, ['status', 'evidence_sha256']) &&\n UUID_PATTERN.test(process.id) &&\n VERSION_PATTERN.test(process.version) &&\n process.user_id === actorUserId &&\n process.state_code === 0 &&\n POSTGREST_UTC_TIMESTAMP_PATTERN.test(process.modified_at) &&\n (process.model_id === null || UUID_PATTERN.test(process.model_id)) &&\n (process.rule_verification === null || typeof process.rule_verification === 'boolean') &&\n Number.isInteger(process.before_exchange_count) &&\n process.before_exchange_count > 0 &&\n Number.isInteger(process.rewrite_count) &&\n process.rewrite_count > 0 &&\n process.process_schema.status === 'pass' &&\n hashes.every((value) => HASH_PATTERN.test(value)) &&\n process.process_template_sha256 === computeFlowIdentityProcessTemplateSha256(process),\n );\n}\n\nexport function parseFlowIdentityPlan(value: unknown): FlowIdentityPlan {\n if (\n !isJsonObject(value) ||\n !Array.isArray(value.support_snapshots) ||\n !Array.isArray(value.mappings) ||\n !Array.isArray(value.processes) ||\n !isJsonObject(value.protected_closure) ||\n !isJsonObject(value.summary) ||\n !isJsonObject(value.artifacts)\n ) {\n fail('Flow identity plan is invalid.');\n }\n assertCurrentFlowIdentityAuthority({ oracleSha256: value.capture_artifact_sha256 });\n const plan = value as FlowIdentityPlan;\n parseFlowIdentityPolicy(plan.compatibility_policy);\n const protectedClosure = plan.protected_closure;\n const sourceUniverse = [\n ...plan.mappings.map((mapping) => ({\n id: mapping.source.id,\n version: mapping.source.version,\n user_id: plan.account.user_id,\n state_code: 0,\n flow_type: 'Elementary flow',\n })),\n ...protectedClosure.pending.map((entry) => ({\n id: entry.source_id,\n version: entry.source_version,\n user_id: plan.account.user_id,\n state_code: 0,\n flow_type: 'Elementary flow',\n })),\n ...protectedClosure.blockers.map((entry) => ({\n id: entry.source_id,\n version: entry.source_version,\n user_id: plan.account.user_id,\n state_code: 0,\n flow_type: 'Elementary flow',\n })),\n ...protectedClosure.orphans.map((entry) => ({\n id: entry.source_id,\n version: entry.source_version,\n user_id: plan.account.user_id,\n state_code: 0,\n flow_type: 'Elementary flow',\n })),\n ].sort((left, right) =>\n `${left.id}\\u0000${left.version}`.localeCompare(`${right.id}\\u0000${right.version}`),\n );\n const validSourceUniverse =\n sourceUniverse.length === FLOW_IDENTITY_SOURCE_COUNT &&\n new Set(sourceUniverse.map((entry) => `${entry.id}\\u0000${entry.version}`)).size ===\n FLOW_IDENTITY_SOURCE_COUNT &&\n plan.source_universe_artifact_sha256 === sha256Json(sourceUniverse);\n const claimedSupport = new Set<string>();\n for (const mapping of plan.mappings) {\n for (const endpoint of [mapping.source, mapping.target]) {\n claimedSupport.add(\n `flowproperties\\u0000${endpoint.flow_property_id}\\u0000${endpoint.flow_property_version}`,\n );\n claimedSupport.add(\n `unitgroups\\u0000${endpoint.unit_group_id}\\u0000${endpoint.unit_group_version}`,\n );\n }\n }\n const sealedSupport = new Set(\n plan.support_snapshots.map(\n (snapshot) => `${snapshot.table}\\u0000${snapshot.id}\\u0000${snapshot.version}`,\n ),\n );\n const validSupport =\n plan.support_snapshots.length >= 2 &&\n plan.support_snapshots.length <= 100 &&\n validOneBasedOrdinals(plan.support_snapshots) &&\n sealedSupport.size === plan.support_snapshots.length &&\n sealedSupport.size === claimedSupport.size &&\n [...sealedSupport].every((identity) => claimedSupport.has(identity)) &&\n plan.support_snapshots.every((snapshot) =>\n validSupportSnapshot(snapshot, plan.account.user_id),\n ) &&\n plan.support_snapshot_artifact_sha256 === sha256Json(plan.support_snapshots);\n const validProtected =\n hasExactKeys(protectedClosure, [\n 'schema_version',\n 'pending',\n 'blockers',\n 'orphans',\n 'pending_set_sha256',\n 'blocker_set_sha256',\n 'orphan_set_sha256',\n 'total_expected_reference_count',\n ]) &&\n protectedClosure.schema_version === 'dataset-flow-identity-protected-closure.v1' &&\n Array.isArray(protectedClosure.pending) &&\n Array.isArray(protectedClosure.blockers) &&\n Array.isArray(protectedClosure.orphans) &&\n protectedClosure.pending_set_sha256 === sha256Json(protectedClosure.pending) &&\n protectedClosure.blocker_set_sha256 === sha256Json(protectedClosure.blockers) &&\n protectedClosure.orphan_set_sha256 === sha256Json(protectedClosure.orphans) &&\n protectedClosure.total_expected_reference_count ===\n [...protectedClosure.pending, ...protectedClosure.blockers].reduce(\n (sum, entry) => sum + entry.expected_reference_count,\n 0,\n ) &&\n [...protectedClosure.pending, ...protectedClosure.blockers].every(validOccurrenceEntry) &&\n protectedClosure.orphans.every(\n (entry) =>\n hasExactKeys(entry, ['source_id', 'source_version', 'evidence_sha256']) &&\n UUID_PATTERN.test(entry.source_id) &&\n VERSION_PATTERN.test(entry.source_version) &&\n HASH_PATTERN.test(entry.evidence_sha256),\n );\n const valid =\n plan.schema_version === 'dataset-flow-identity-plan.v2' &&\n plan.status === 'ready' &&\n plan.target_visibility === 'owner_draft' &&\n plan.summary.semantic_sources === FLOW_IDENTITY_SOURCE_COUNT &&\n plan.summary.mappings === plan.mappings.length &&\n plan.summary.mappings > 0 &&\n plan.summary.processes === plan.processes.length &&\n plan.summary.processes > 0 &&\n plan.summary.rewrites === plan.processes.reduce((sum, entry) => sum + entry.rewrite_count, 0) &&\n Number.isInteger(plan.summary.collision_entries) &&\n plan.summary.collision_entries >= 0 &&\n plan.summary.pending === protectedClosure.pending.length &&\n plan.summary.blockers === protectedClosure.blockers.length &&\n plan.summary.orphans === protectedClosure.orphans.length &&\n plan.summary.protected_references === protectedClosure.total_expected_reference_count &&\n validSourceUniverse &&\n validSupport &&\n validOneBasedOrdinals(plan.mappings) &&\n validOneBasedOrdinals(plan.processes) &&\n new Set(plan.mappings.map((mapping) => mapping.mapping_id)).size === plan.mappings.length &&\n new Set(plan.mappings.map((mapping) => `${mapping.source.id}\\u0000${mapping.source.version}`))\n .size === plan.mappings.length &&\n new Set(plan.processes.map((process) => `${process.id}\\u0000${process.version}`)).size ===\n plan.processes.length &&\n plan.mappings.every((mapping) => {\n return (\n validMapping(mapping, plan.account.user_id) &&\n mapping.compatibility.policy_sha256 === plan.compatibility_policy.policy_sha256 &&\n mapping.mapping_id === computeFlowIdentityMappingId(mapping)\n );\n }) &&\n plan.processes.every(\n (process) =>\n validProcess(process, plan.account.user_id) &&\n process.pending_blocker_closure_sha256 === plan.protected_closure_artifact_sha256,\n ) &&\n plan.mapping_artifact_sha256 === sha256Json(plan.mappings) &&\n plan.process_manifest_artifact_sha256 === sha256Json(plan.processes) &&\n plan.protected_closure_artifact_sha256 === sha256Json(protectedClosure) &&\n UUID_PATTERN.test(plan.receipt_id) &&\n [\n plan.receipt_proof_sha256,\n plan.capture_request_sha256,\n plan.source_guard_set_sha256,\n plan.support_guard_set_sha256,\n plan.target_guard_set_sha256,\n plan.mapping_guard_set_sha256,\n plan.process_intent_set_sha256,\n plan.receipt_protected_closure_sha256,\n plan.capture_whole_scope_proof_sha256,\n plan.capture_artifact_sha256,\n ].every((digest) => HASH_PATTERN.test(digest)) &&\n validProtected &&\n plan.plan_sha256 === computeFlowIdentityPlanSha256(plan) &&\n plan.artifacts.plan === 'flow-identity-plan.json' &&\n plan.artifacts.live_capture === 'flow-identity-live-capture.json' &&\n plan.artifacts.process_manifest === 'flow-identity-process-manifest.jsonl' &&\n plan.artifacts.collision_ledger === 'flow-identity-collision-ledger.jsonl' &&\n plan.artifacts.protected_closure === 'flow-identity-protected-closure.json' &&\n plan.artifacts.desired_payload_dir === 'desired-processes' &&\n plan.artifacts.process_request_dir === 'process-requests';\n if (!valid) fail('Flow identity plan is internally inconsistent or tampered.');\n return plan;\n}\n\nexport const __testInternals = {\n computeSelfHash,\n hash,\n hasExactKeys,\n instant,\n parseReviewEntry,\n supportSnapshotRowSha256,\n token,\n validMapping,\n validOccurrenceEntry,\n validOneBasedOrdinals,\n validProcess,\n validSupportSnapshot,\n version,\n};\n"]}
|