(deps)
| 680 | } |
| 681 | |
| 682 | function prepareHubProvenance(deps) { |
| 683 | const dir = deps.assetsDir || getGepAssetsDir(); |
| 684 | const file = path.join(dir, 'provenance.jsonl'); |
| 685 | try { |
| 686 | fs.mkdirSync(dir, { recursive: true }); |
| 687 | const stat = fs.existsSync(file) ? fs.statSync(file) : null; |
| 688 | if (stat && !stat.isFile()) throw new Error('not a file'); |
| 689 | return { file, existed: Boolean(stat), size: stat ? stat.size : 0 }; |
| 690 | } catch (_) { |
| 691 | throw new ContractError('internal_error', 'provenance write failed'); |
| 692 | } |
| 693 | } |
| 694 | |
| 695 | function markHubProvenance(assetId, deps, prepared) { |
| 696 | if (!assetId) throw new ContractError('internal_error', 'provenance write failed'); |
no test coverage detected