(bundle, message)
| 761 | } |
| 762 | |
| 763 | function syncBundleFromPublishMessage(bundle, message) { |
| 764 | const finalAssets = publishPayloadAssets(message); |
| 765 | if (finalAssets.length === 0) throw new ContractError('bundle_required', 'publish requires a complete asset bundle'); |
| 766 | bundle.sanitized = finalAssets; |
| 767 | bundle.assets = summarizePublishAssets(finalAssets); |
| 768 | const leak = leakCheck(finalAssets); |
| 769 | if (leak.blocked && !bundle.blockReasons.includes('leak_detected')) { |
| 770 | bundle.blockReasons.push('leak_detected'); |
| 771 | } |
| 772 | bundle.gates.leak = leak.blocked ? 'fail' : 'pass'; |
| 773 | } |
| 774 | |
| 775 | function publishPayloadAssets(message) { |
| 776 | const payload = record(message && message.payload) || {}; |
no test coverage detected