MCPcopy Create free account
hub / github.com/EvoMap/evolver / buildPublishMessageFromAssets

Function buildPublishMessageFromAssets

src/gep/cliContracts.js:336–361  ·  view source on GitHub ↗
(assets, deps, opts)

Source from the content-addressed store, hash-verified

334}
335
336function buildPublishMessageFromAssets(assets, deps, opts) {
337 const preview = Boolean(opts && opts.preview);
338 const a2a = deps.a2a || require('./a2aProtocol');
339 const gene = assets.find(asset => asset.type === 'Gene');
340 const capsule = assets.find(asset => asset.type === 'Capsule');
341 const event = assets.find(asset => asset.type === 'EvolutionEvent') || null;
342 if (!gene || !capsule) throw new ContractError('bundle_required', 'publish requires Gene + Capsule bundle');
343 if (preview) {
344 const previewNodeId = nonPersistedNodeId(deps) || DRY_RUN_NODE_ID;
345 try {
346 return a2a.buildPublishBundle({ gene, capsule, event, nodeId: previewNodeId });
347 } catch (e) {
348 if (!isPublishSigningAuthError(e)) throw e;
349 if (!hasHubAuthorization(deps)) throw new ContractError('auth_required', 'Hub authentication required');
350 return buildUnsignedPublishPreviewMessage({ gene, capsule, event, nodeId: previewNodeId });
351 }
352 }
353 if (!getHubUrl(deps)) throw new ContractError('auth_required', 'Hub URL is required');
354 if (!hasHubAuthorization(deps)) throw new ContractError('auth_required', 'Hub authentication required');
355 try {
356 return a2a.buildPublishBundle({ gene, capsule, event });
357 } catch (e) {
358 if (!isPublishSigningAuthError(e)) throw e;
359 return buildUnsignedPublishPreviewMessage({ gene, capsule, event, nodeId: nonPersistedNodeId(deps) || DRY_RUN_NODE_ID });
360 }
361}
362
363function finalizePublishMessage(message, deps, opts) {
364 const signedAssets = publishPayloadAssets(message);

Callers 2

buildPublishMessageFunction · 0.85
finalizePublishMessageFunction · 0.85

Calls 5

nonPersistedNodeIdFunction · 0.85
hasHubAuthorizationFunction · 0.85
getHubUrlFunction · 0.85

Tested by

no test coverage detected