// This checks live, scoped evidence supplied by the TEST fault executor. // It never accepts historical reports or initiates event replay itself. const identifier = value => typeof value === 'string' && /^[1-9][0-9]{0,19}$/.test(value) const eventIdentifier = value => typeof value === 'string' && /^(?:[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}|[0-9A-HJKMNP-TV-Z]{26})$/i.test(value) const hash = value => typeof value === 'string' && /^sha256:[0-9a-f]{64}$/i.test(value) const sortedIds = rows => [...rows].sort() export function validDirectDeliveryReplayProof(proof, scope) { if (!proof || proof.readOnly !== true || proof.marker !== scope.marker || !identifier(scope.loadingPlanId) || !identifier(scope.customerId) || proof.loadingPlanId !== scope.loadingPlanId || proof.customerId !== scope.customerId || proof.containerBookingId !== scope.containerBookingId) return false const { producer, consumer, attempts, proxyRecords, beforeRetry, afterRetry, retryAudit } = proof if (!eventIdentifier(producer?.eventId) || !hash(producer?.payloadHash) || !identifier(producer?.entryId) || producer.publishStatus !== 'PUBLISHED' || producer.eventType !== 'FirstLegLoadingPlanCompleted' || consumer?.eventId !== producer.eventId || consumer?.payloadHash !== producer.payloadHash || consumer?.status !== 'PROCESSED' || consumer?.count !== 1) return false if (!Array.isArray(attempts) || attempts.length !== 13 || new Set(attempts.map(row => row.attemptId)).size !== attempts.length || attempts.some(row => !row.attemptId || row.eventId !== producer.eventId || row.entryId !== producer.entryId || row.targetName !== 'lastleg-service/internal/lastleg/events') || attempts.at(-1)?.outcome !== 'DUPLICATE' || attempts[11]?.outcome !== 'DEAD' || attempts.slice(0, 11).some(row => row.outcome !== 'RETRY')) return false if (!Array.isArray(proxyRecords) || proxyRecords.length !== 13 || proxyRecords.some(row => row.matched !== true || row.eventId !== producer.eventId || row.payloadHash !== producer.payloadHash) || !proxyRecords.some(row => row.outcome === 'APPLIED' && row.errorCode === 'ACK_LOSS_INJECTED') || !proxyRecords.some(row => row.outcome === 'DUPLICATE' && row.errorCode === 'ACK_LOSS_INJECTED')) return false if (retryAudit?.eventId !== producer.eventId || retryAudit?.payloadHash !== producer.payloadHash || retryAudit?.entryId !== producer.entryId || !retryAudit.requestId || retryAudit.previousFailures !== 12 || beforeRetry?.publishStatus !== 'DEAD' || beforeRetry?.failedAttempts !== 12 || afterRetry?.publishStatus !== 'PUBLISHED' || beforeRetry.eventId !== producer.eventId || afterRetry.eventId !== producer.eventId || beforeRetry.payloadHash !== producer.payloadHash || afterRetry.payloadHash !== producer.payloadHash) return false const before = beforeRetry.businessOrderIds, after = afterRetry.businessOrderIds return Array.isArray(before) && Array.isArray(after) && before.length > 0 && before.every(identifier) && after.every(identifier) && new Set(before).size === before.length && new Set(after).size === after.length && JSON.stringify(sortedIds(before)) === JSON.stringify(sortedIds(after)) && proof.restored === true }