MCPcopy Index your code
hub / github.com/simstudioai/sim / loadWorkflowState

Function loadWorkflowState

apps/sim/lib/workflows/executor/execution-core.ts:372–416  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

370 * on the environment load, so the two are awaited concurrently below.
371 */
372 const loadWorkflowState = async () => {
373 if (metadata.workflowStateOverride) {
374 const override = metadata.workflowStateOverride
375 logger.info(`[${requestId}] Using workflow state override (diff workflow execution)`, {
376 blocksCount: Object.keys(override.blocks).length,
377 edgesCount: override.edges.length,
378 })
379 return {
380 blocks: override.blocks,
381 edges: override.edges,
382 loops: override.loops || {},
383 parallels: override.parallels || {},
384 deploymentVersionId: override.deploymentVersionId,
385 }
386 }
387
388 if (useDraftState) {
389 const draftData = await loadWorkflowFromNormalizedTables(workflowId)
390
391 if (!draftData) {
392 throw new Error('Workflow not found or not yet saved')
393 }
394
395 logger.info(
396 `[${requestId}] Using draft workflow state from normalized tables (client execution)`
397 )
398 return {
399 blocks: draftData.blocks,
400 edges: draftData.edges,
401 loops: draftData.loops,
402 parallels: draftData.parallels,
403 deploymentVersionId: undefined,
404 }
405 }
406
407 const deployedData = await loadDeployedWorkflowState(workflowId)
408 logger.info(`[${requestId}] Using deployed workflow state (deployed execution)`)
409 return {
410 blocks: deployedData.blocks,
411 edges: deployedData.edges,
412 loops: deployedData.loops,
413 parallels: deployedData.parallels,
414 deploymentVersionId: deployedData.deploymentVersionId,
415 }
416 }
417
418 const [workflowState, env] = await Promise.all([
419 loadWorkflowState(),

Callers 1

executeWorkflowCoreFunction · 0.85

Calls 3

infoMethod · 0.80

Tested by

no test coverage detected