{"id":"@lssm-tech/lib.workflow-composer","slug":"lib.workflow-composer","name":"@lssm-tech/lib.workflow-composer","version":"5.0.4","path":"packages/platform/delivery/workflow-composer","manifestPath":"packages/platform/delivery/workflow-composer/package.json","manifestBlobSha":"fe13087593ab771ca1dbbbde05b6255118123dc5","layer":"platform","physicalArea":"delivery","primaryArea":"workflows-and-automation","classification":{"privateDeclared":null,"catalogFamily":"sharedLibs","catalogKind":"library","catalogStatus":"active","adoptionMode":"adoptable","stability":"stable"},"description":"Tenant-aware workflow composition helpers for ContractSpec.","descriptionOrigin":"package.json","catalog":{"family":"sharedLibs","kind":"library","status":"active","adoptionMode":"adoptable","stability":"stable","platforms":["server","browser"],"runtimes":["node","bun","browser"],"entrypoints":[".","./workflow-registry","./workflow/validation","./workflow/validation-workflow-devkit","./shared-entities/task-validators","./workflow/runner","./workflow/state","./workflow/dag-utils","./workflow/expression","./workflow/adapters","./workflow/adapters/memory-store","./workflow/adapters/file-adapter","./workflow/adapters/db-adapter","./operation-contracts/commands/workflowActivate.command","./operation-contracts/commands/workflowCreate.command","./operation-contracts/commands/workflowDeactivate.command","./operation-contracts/commands/workflowRunCancel.command","./operation-contracts/commands/workflowRunDispatch.command","./operation-contracts/commands/workflowRunPause.command","./operation-contracts/commands/workflowRunResume.command","./operation-contracts/commands/workflowRunRetry.command","./operation-contracts/commands/workflowStepAdvance.command","./operation-contracts/commands/workflowStepSkip.command","./operation-contracts/commands/workflowUpdate.command","./operation-contracts/constants","./operation-contracts","./operation-contracts/queries/workflowGet.query","./operation-contracts/queries/workflowList.query","./operation-contracts/queries/workflowRunnerHealth.query"],"documentation":[{"title":"Lib Workflow Composer documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.workflow-composer","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.lib.workflow.composer","title":"Lib Workflow Composer","description":"Tenant-aware workflow composition helpers for ContractSpec.","status":"active","useCases":["Adopt tenant-aware workflow composition helpers for contractspec"],"aliases":["contractspec","workflow","composer","multi-tenant","typescript","lib"],"pythonEquivalents":[],"canonicalImports":[{"from":"@lssm-tech/lib.workflow-composer","symbols":[]},{"from":"@lssm-tech/lib.workflow-composer/workflow-registry","symbols":["WorkflowRegistry"]},{"from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowActivate.command","symbols":[]},{"from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowCreate.command","symbols":[]},{"from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowDeactivate.command","symbols":[]},{"from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowRunCancel.command","symbols":[]},{"from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowRunDispatch.command","symbols":[]},{"from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowRunPause.command","symbols":[]},{"from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowRunResume.command","symbols":[]},{"from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowRunRetry.command","symbols":[]},{"from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowStepAdvance.command","symbols":[]},{"from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowStepSkip.command","symbols":[]},{"from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowUpdate.command","symbols":[]},{"from":"@lssm-tech/lib.workflow-composer/operation-contracts/constants","symbols":[]},{"from":"@lssm-tech/lib.workflow-composer/operation-contracts","symbols":[]},{"from":"@lssm-tech/lib.workflow-composer/operation-contracts/queries/workflowGet.query","symbols":[]},{"from":"@lssm-tech/lib.workflow-composer/operation-contracts/queries/workflowList.query","symbols":[]},{"from":"@lssm-tech/lib.workflow-composer/operation-contracts/queries/workflowRunnerHealth.query","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/lib.workflow-composer package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50},{"id":"workflow.execution","title":"Portable supplied-authority workflow execution","description":"Complete WorkflowRunner, state, DAG, expression and supplied persistence adapters with unchanged callback authority and defaults.","status":"active","useCases":["Execute versioned workflows through supplied state, operation, guard and event callbacks"],"aliases":["WorkflowRunner","WorkflowState","InMemoryStateStore","PrismaStateStore"],"canonicalImports":[{"from":"@lssm-tech/lib.workflow-composer/workflow/runner","symbols":["WorkflowRunner","WorkflowRunnerConfig","WorkflowPreFlightError","WorkflowExecutionError"]},{"from":"@lssm-tech/lib.workflow-composer/workflow/state","symbols":["WorkflowState","StateStore"]}],"constraints":{"platforms":["server","browser"],"runtimes":["node","bun","browser"],"avoidWhen":["A provider-specific workflow scheduler or persistence engine is required."],"requires":["Supply operation execution and state persistence callbacks."]},"relationships":[],"alternatives":[],"resolutionPriority":50}]},"canonicalImports":[{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer","symbols":[]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/workflow-registry","symbols":["WorkflowRegistry"]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowActivate.command","symbols":[]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowCreate.command","symbols":[]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowDeactivate.command","symbols":[]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowRunCancel.command","symbols":[]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowRunDispatch.command","symbols":[]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowRunPause.command","symbols":[]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowRunResume.command","symbols":[]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowRunRetry.command","symbols":[]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowStepAdvance.command","symbols":[]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowStepSkip.command","symbols":[]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowUpdate.command","symbols":[]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/operation-contracts/constants","symbols":[]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/operation-contracts","symbols":[]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/operation-contracts/queries/workflowGet.query","symbols":[]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/operation-contracts/queries/workflowList.query","symbols":[]},{"capabilityId":"package.lssm.tech.lib.workflow.composer","from":"@lssm-tech/lib.workflow-composer/operation-contracts/queries/workflowRunnerHealth.query","symbols":[]},{"capabilityId":"workflow.execution","from":"@lssm-tech/lib.workflow-composer/workflow/runner","symbols":["WorkflowRunner","WorkflowRunnerConfig","WorkflowPreFlightError","WorkflowExecutionError"]},{"capabilityId":"workflow.execution","from":"@lssm-tech/lib.workflow-composer/workflow/state","symbols":["WorkflowState","StateStore"]}],"scripts":{"publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","publish:pkg:canary":"bun publish:pkg --tag canary","build":"contractspec-bun-build build","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","dev":"contractspec-bun-build dev","clean":"rimraf dist .turbo","lint":"bun lint:fix","lint:fix":"node ../../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../../scripts/biome.cjs check --write .","lint:check":"node ../../../../scripts/biome.cjs check .","test":"bun test --pass-with-no-tests","prebuild":"contractspec-bun-build prebuild","typecheck":"tsgo --noEmit"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.ai-providers":"workspace:^","compare-versions":"catalog:data","@lssm-tech/lib.contracts-runtime-kernel":"workspace:^","@lssm-tech/lib.orchestration-spec":"workspace:^","@lssm-tech/lib.contracts-runtime-core":"workspace:^","@lssm-tech/lib.surface-runtime":"workspace:^","@lssm-tech/lib.contracts-spec-core":"workspace:^","@lssm-tech/lib.schema":"workspace:^"},"devDependencies":{"@lssm-tech/tool.typescript":"workspace:*","typescript":"catalog:","@lssm-tech/tool.bun":"workspace:*","@lssm-tech/lib.schema":"workspace:*"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./shared-entities/task-validators":"./src/shared-entities/task-validators.ts","./workflow-registry":"./src/workflow-registry.ts","./workflow/adapters":"./src/workflow/adapters/index.ts","./workflow/adapters/db-adapter":"./src/workflow/adapters/db-adapter.ts","./workflow/adapters/file-adapter":"./src/workflow/adapters/file-adapter.ts","./workflow/adapters/memory-store":"./src/workflow/adapters/memory-store.ts","./workflow/dag-utils":"./src/workflow/dag-utils.ts","./workflow/expression":"./src/workflow/expression.ts","./workflow/runner":"./src/workflow/runner.ts","./workflow/state":"./src/workflow/state.ts","./workflow/validation":"./src/workflow/validation.ts","./workflow/validation-workflow-devkit":"./src/workflow/validation-workflow-devkit.ts","./operation-contracts/commands/workflowActivate.command":"./src/operation-contracts/commands/workflowActivate.command.ts","./operation-contracts/commands/workflowCreate.command":"./src/operation-contracts/commands/workflowCreate.command.ts","./operation-contracts/commands/workflowDeactivate.command":"./src/operation-contracts/commands/workflowDeactivate.command.ts","./operation-contracts/commands/workflowRunCancel.command":"./src/operation-contracts/commands/workflowRunCancel.command.ts","./operation-contracts/commands/workflowRunDispatch.command":"./src/operation-contracts/commands/workflowRunDispatch.command.ts","./operation-contracts/commands/workflowRunPause.command":"./src/operation-contracts/commands/workflowRunPause.command.ts","./operation-contracts/commands/workflowRunResume.command":"./src/operation-contracts/commands/workflowRunResume.command.ts","./operation-contracts/commands/workflowRunRetry.command":"./src/operation-contracts/commands/workflowRunRetry.command.ts","./operation-contracts/commands/workflowStepAdvance.command":"./src/operation-contracts/commands/workflowStepAdvance.command.ts","./operation-contracts/commands/workflowStepSkip.command":"./src/operation-contracts/commands/workflowStepSkip.command.ts","./operation-contracts/commands/workflowUpdate.command":"./src/operation-contracts/commands/workflowUpdate.command.ts","./operation-contracts/constants":"./src/operation-contracts/constants.ts","./operation-contracts":"./src/operation-contracts/index.ts","./operation-contracts/queries/workflowGet.query":"./src/operation-contracts/queries/workflowGet.query.ts","./operation-contracts/queries/workflowList.query":"./src/operation-contracts/queries/workflowList.query.ts","./operation-contracts/queries/workflowRunnerHealth.query":"./src/operation-contracts/queries/workflowRunnerHealth.query.ts","./operation-contracts/registry.workflow":"./src/operation-contracts/registry.workflow.ts","./workflow/context":"./src/workflow/context.ts","./workflow/sla-monitor":"./src/workflow/sla-monitor.ts","./workflow/workflow-sdk":"./src/workflow/workflow-sdk.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","browser":"./dist/browser/index.js","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./shared-entities/task-validators":{"types":"./dist/shared-entities/task-validators.d.ts","browser":"./dist/browser/shared-entities/task-validators.js","bun":"./dist/shared-entities/task-validators.js","node":"./dist/node/shared-entities/task-validators.js","default":"./dist/shared-entities/task-validators.js"},"./workflow-registry":{"types":"./dist/workflow-registry.d.ts","browser":"./dist/browser/workflow-registry.js","bun":"./dist/workflow-registry.js","node":"./dist/node/workflow-registry.js","default":"./dist/workflow-registry.js"},"./workflow/adapters":{"types":"./dist/workflow/adapters/index.d.ts","browser":"./dist/browser/workflow/adapters/index.js","bun":"./dist/workflow/adapters/index.js","node":"./dist/node/workflow/adapters/index.js","default":"./dist/workflow/adapters/index.js"},"./workflow/adapters/db-adapter":{"types":"./dist/workflow/adapters/db-adapter.d.ts","browser":"./dist/browser/workflow/adapters/db-adapter.js","bun":"./dist/workflow/adapters/db-adapter.js","node":"./dist/node/workflow/adapters/db-adapter.js","default":"./dist/workflow/adapters/db-adapter.js"},"./workflow/adapters/file-adapter":{"types":"./dist/workflow/adapters/file-adapter.d.ts","browser":"./dist/browser/workflow/adapters/file-adapter.js","bun":"./dist/workflow/adapters/file-adapter.js","node":"./dist/node/workflow/adapters/file-adapter.js","default":"./dist/workflow/adapters/file-adapter.js"},"./workflow/adapters/memory-store":{"types":"./dist/workflow/adapters/memory-store.d.ts","browser":"./dist/browser/workflow/adapters/memory-store.js","bun":"./dist/workflow/adapters/memory-store.js","node":"./dist/node/workflow/adapters/memory-store.js","default":"./dist/workflow/adapters/memory-store.js"},"./workflow/dag-utils":{"types":"./dist/workflow/dag-utils.d.ts","browser":"./dist/browser/workflow/dag-utils.js","bun":"./dist/workflow/dag-utils.js","node":"./dist/node/workflow/dag-utils.js","default":"./dist/workflow/dag-utils.js"},"./workflow/expression":{"types":"./dist/workflow/expression.d.ts","browser":"./dist/browser/workflow/expression.js","bun":"./dist/workflow/expression.js","node":"./dist/node/workflow/expression.js","default":"./dist/workflow/expression.js"},"./workflow/runner":{"types":"./dist/workflow/runner.d.ts","browser":"./dist/browser/workflow/runner.js","bun":"./dist/workflow/runner.js","node":"./dist/node/workflow/runner.js","default":"./dist/workflow/runner.js"},"./workflow/state":{"types":"./dist/workflow/state.d.ts","browser":"./dist/browser/workflow/state.js","bun":"./dist/workflow/state.js","node":"./dist/node/workflow/state.js","default":"./dist/workflow/state.js"},"./workflow/validation":{"types":"./dist/workflow/validation.d.ts","browser":"./dist/browser/workflow/validation.js","bun":"./dist/workflow/validation.js","node":"./dist/node/workflow/validation.js","default":"./dist/workflow/validation.js"},"./workflow/validation-workflow-devkit":{"types":"./dist/workflow/validation-workflow-devkit.d.ts","browser":"./dist/browser/workflow/validation-workflow-devkit.js","bun":"./dist/workflow/validation-workflow-devkit.js","node":"./dist/node/workflow/validation-workflow-devkit.js","default":"./dist/workflow/validation-workflow-devkit.js"},"./operation-contracts/commands/workflowActivate.command":{"types":"./dist/operation-contracts/commands/workflowActivate.command.d.ts","browser":"./dist/browser/operation-contracts/commands/workflowActivate.command.js","bun":"./dist/operation-contracts/commands/workflowActivate.command.js","node":"./dist/node/operation-contracts/commands/workflowActivate.command.js","default":"./dist/operation-contracts/commands/workflowActivate.command.js"},"./operation-contracts/commands/workflowCreate.command":{"types":"./dist/operation-contracts/commands/workflowCreate.command.d.ts","browser":"./dist/browser/operation-contracts/commands/workflowCreate.command.js","bun":"./dist/operation-contracts/commands/workflowCreate.command.js","node":"./dist/node/operation-contracts/commands/workflowCreate.command.js","default":"./dist/operation-contracts/commands/workflowCreate.command.js"},"./operation-contracts/commands/workflowDeactivate.command":{"types":"./dist/operation-contracts/commands/workflowDeactivate.command.d.ts","browser":"./dist/browser/operation-contracts/commands/workflowDeactivate.command.js","bun":"./dist/operation-contracts/commands/workflowDeactivate.command.js","node":"./dist/node/operation-contracts/commands/workflowDeactivate.command.js","default":"./dist/operation-contracts/commands/workflowDeactivate.command.js"},"./operation-contracts/commands/workflowRunCancel.command":{"types":"./dist/operation-contracts/commands/workflowRunCancel.command.d.ts","browser":"./dist/browser/operation-contracts/commands/workflowRunCancel.command.js","bun":"./dist/operation-contracts/commands/workflowRunCancel.command.js","node":"./dist/node/operation-contracts/commands/workflowRunCancel.command.js","default":"./dist/operation-contracts/commands/workflowRunCancel.command.js"},"./operation-contracts/commands/workflowRunDispatch.command":{"types":"./dist/operation-contracts/commands/workflowRunDispatch.command.d.ts","browser":"./dist/browser/operation-contracts/commands/workflowRunDispatch.command.js","bun":"./dist/operation-contracts/commands/workflowRunDispatch.command.js","node":"./dist/node/operation-contracts/commands/workflowRunDispatch.command.js","default":"./dist/operation-contracts/commands/workflowRunDispatch.command.js"},"./operation-contracts/commands/workflowRunPause.command":{"types":"./dist/operation-contracts/commands/workflowRunPause.command.d.ts","browser":"./dist/browser/operation-contracts/commands/workflowRunPause.command.js","bun":"./dist/operation-contracts/commands/workflowRunPause.command.js","node":"./dist/node/operation-contracts/commands/workflowRunPause.command.js","default":"./dist/operation-contracts/commands/workflowRunPause.command.js"},"./operation-contracts/commands/workflowRunResume.command":{"types":"./dist/operation-contracts/commands/workflowRunResume.command.d.ts","browser":"./dist/browser/operation-contracts/commands/workflowRunResume.command.js","bun":"./dist/operation-contracts/commands/workflowRunResume.command.js","node":"./dist/node/operation-contracts/commands/workflowRunResume.command.js","default":"./dist/operation-contracts/commands/workflowRunResume.command.js"},"./operation-contracts/commands/workflowRunRetry.command":{"types":"./dist/operation-contracts/commands/workflowRunRetry.command.d.ts","browser":"./dist/browser/operation-contracts/commands/workflowRunRetry.command.js","bun":"./dist/operation-contracts/commands/workflowRunRetry.command.js","node":"./dist/node/operation-contracts/commands/workflowRunRetry.command.js","default":"./dist/operation-contracts/commands/workflowRunRetry.command.js"},"./operation-contracts/commands/workflowStepAdvance.command":{"types":"./dist/operation-contracts/commands/workflowStepAdvance.command.d.ts","browser":"./dist/browser/operation-contracts/commands/workflowStepAdvance.command.js","bun":"./dist/operation-contracts/commands/workflowStepAdvance.command.js","node":"./dist/node/operation-contracts/commands/workflowStepAdvance.command.js","default":"./dist/operation-contracts/commands/workflowStepAdvance.command.js"},"./operation-contracts/commands/workflowStepSkip.command":{"types":"./dist/operation-contracts/commands/workflowStepSkip.command.d.ts","browser":"./dist/browser/operation-contracts/commands/workflowStepSkip.command.js","bun":"./dist/operation-contracts/commands/workflowStepSkip.command.js","node":"./dist/node/operation-contracts/commands/workflowStepSkip.command.js","default":"./dist/operation-contracts/commands/workflowStepSkip.command.js"},"./operation-contracts/commands/workflowUpdate.command":{"types":"./dist/operation-contracts/commands/workflowUpdate.command.d.ts","browser":"./dist/browser/operation-contracts/commands/workflowUpdate.command.js","bun":"./dist/operation-contracts/commands/workflowUpdate.command.js","node":"./dist/node/operation-contracts/commands/workflowUpdate.command.js","default":"./dist/operation-contracts/commands/workflowUpdate.command.js"},"./operation-contracts/constants":{"types":"./dist/operation-contracts/constants.d.ts","browser":"./dist/browser/operation-contracts/constants.js","bun":"./dist/operation-contracts/constants.js","node":"./dist/node/operation-contracts/constants.js","default":"./dist/operation-contracts/constants.js"},"./operation-contracts":{"types":"./dist/operation-contracts/index.d.ts","browser":"./dist/browser/operation-contracts/index.js","bun":"./dist/operation-contracts/index.js","node":"./dist/node/operation-contracts/index.js","default":"./dist/operation-contracts/index.js"},"./operation-contracts/queries/workflowGet.query":{"types":"./dist/operation-contracts/queries/workflowGet.query.d.ts","browser":"./dist/browser/operation-contracts/queries/workflowGet.query.js","bun":"./dist/operation-contracts/queries/workflowGet.query.js","node":"./dist/node/operation-contracts/queries/workflowGet.query.js","default":"./dist/operation-contracts/queries/workflowGet.query.js"},"./operation-contracts/queries/workflowList.query":{"types":"./dist/operation-contracts/queries/workflowList.query.d.ts","browser":"./dist/browser/operation-contracts/queries/workflowList.query.js","bun":"./dist/operation-contracts/queries/workflowList.query.js","node":"./dist/node/operation-contracts/queries/workflowList.query.js","default":"./dist/operation-contracts/queries/workflowList.query.js"},"./operation-contracts/queries/workflowRunnerHealth.query":{"types":"./dist/operation-contracts/queries/workflowRunnerHealth.query.d.ts","browser":"./dist/browser/operation-contracts/queries/workflowRunnerHealth.query.js","bun":"./dist/operation-contracts/queries/workflowRunnerHealth.query.js","node":"./dist/node/operation-contracts/queries/workflowRunnerHealth.query.js","default":"./dist/operation-contracts/queries/workflowRunnerHealth.query.js"},"./operation-contracts/registry.workflow":{"types":"./dist/operation-contracts/registry.workflow.d.ts","browser":"./dist/browser/operation-contracts/registry.workflow.js","bun":"./dist/operation-contracts/registry.workflow.js","node":"./dist/node/operation-contracts/registry.workflow.js","default":"./dist/operation-contracts/registry.workflow.js"},"./workflow/context":{"types":"./dist/workflow/context.d.ts","browser":"./dist/browser/workflow/context.js","bun":"./dist/workflow/context.js","node":"./dist/node/workflow/context.js","default":"./dist/workflow/context.js"},"./workflow/sla-monitor":{"types":"./dist/workflow/sla-monitor.d.ts","browser":"./dist/browser/workflow/sla-monitor.js","bun":"./dist/workflow/sla-monitor.js","node":"./dist/node/workflow/sla-monitor.js","default":"./dist/workflow/sla-monitor.js"},"./workflow/workflow-sdk":{"types":"./dist/workflow/workflow-sdk.d.ts","browser":"./dist/browser/workflow/workflow-sdk.js","bun":"./dist/workflow/workflow-sdk.js","node":"./dist/node/workflow/workflow-sdk.js","default":"./dist/workflow/workflow-sdk.js"}},"types":"./dist/index.d.ts","files":["dist","README.md"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/lib.workflow-composer","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./shared-entities/task-validators","importPath":"@lssm-tech/lib.workflow-composer/shared-entities/task-validators","target":"./src/shared-entities/task-validators.ts","targets":[{"conditions":[],"target":"./src/shared-entities/task-validators.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/shared-entities/task-validators.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/shared-entities/task-validators.ts","sourceStatus":"verified source file"}]},{"subpath":"./workflow-registry","importPath":"@lssm-tech/lib.workflow-composer/workflow-registry","target":"./src/workflow-registry.ts","targets":[{"conditions":[],"target":"./src/workflow-registry.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/workflow-registry.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/workflow-registry.ts","sourceStatus":"verified source file"}]},{"subpath":"./workflow/adapters","importPath":"@lssm-tech/lib.workflow-composer/workflow/adapters","target":"./src/workflow/adapters/index.ts","targets":[{"conditions":[],"target":"./src/workflow/adapters/index.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/workflow/adapters/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/workflow/adapters/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./workflow/adapters/db-adapter","importPath":"@lssm-tech/lib.workflow-composer/workflow/adapters/db-adapter","target":"./src/workflow/adapters/db-adapter.ts","targets":[{"conditions":[],"target":"./src/workflow/adapters/db-adapter.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/workflow/adapters/db-adapter.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/workflow/adapters/db-adapter.ts","sourceStatus":"verified source file"}]},{"subpath":"./workflow/adapters/file-adapter","importPath":"@lssm-tech/lib.workflow-composer/workflow/adapters/file-adapter","target":"./src/workflow/adapters/file-adapter.ts","targets":[{"conditions":[],"target":"./src/workflow/adapters/file-adapter.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/workflow/adapters/file-adapter.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/workflow/adapters/file-adapter.ts","sourceStatus":"verified source file"}]},{"subpath":"./workflow/adapters/memory-store","importPath":"@lssm-tech/lib.workflow-composer/workflow/adapters/memory-store","target":"./src/workflow/adapters/memory-store.ts","targets":[{"conditions":[],"target":"./src/workflow/adapters/memory-store.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/workflow/adapters/memory-store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/workflow/adapters/memory-store.ts","sourceStatus":"verified source file"}]},{"subpath":"./workflow/dag-utils","importPath":"@lssm-tech/lib.workflow-composer/workflow/dag-utils","target":"./src/workflow/dag-utils.ts","targets":[{"conditions":[],"target":"./src/workflow/dag-utils.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/workflow/dag-utils.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/workflow/dag-utils.ts","sourceStatus":"verified source file"}]},{"subpath":"./workflow/expression","importPath":"@lssm-tech/lib.workflow-composer/workflow/expression","target":"./src/workflow/expression.ts","targets":[{"conditions":[],"target":"./src/workflow/expression.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/workflow/expression.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/workflow/expression.ts","sourceStatus":"verified source file"}]},{"subpath":"./workflow/runner","importPath":"@lssm-tech/lib.workflow-composer/workflow/runner","target":"./src/workflow/runner.ts","targets":[{"conditions":[],"target":"./src/workflow/runner.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/workflow/runner.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/workflow/runner.ts","sourceStatus":"verified source file"}]},{"subpath":"./workflow/state","importPath":"@lssm-tech/lib.workflow-composer/workflow/state","target":"./src/workflow/state.ts","targets":[{"conditions":[],"target":"./src/workflow/state.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/workflow/state.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/workflow/state.ts","sourceStatus":"verified source file"}]},{"subpath":"./workflow/validation","importPath":"@lssm-tech/lib.workflow-composer/workflow/validation","target":"./src/workflow/validation.ts","targets":[{"conditions":[],"target":"./src/workflow/validation.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/workflow/validation.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/workflow/validation.ts","sourceStatus":"verified source file"}]},{"subpath":"./workflow/validation-workflow-devkit","importPath":"@lssm-tech/lib.workflow-composer/workflow/validation-workflow-devkit","target":"./src/workflow/validation-workflow-devkit.ts","targets":[{"conditions":[],"target":"./src/workflow/validation-workflow-devkit.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/workflow/validation-workflow-devkit.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/workflow/validation-workflow-devkit.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts/commands/workflowActivate.command","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowActivate.command","target":"./src/operation-contracts/commands/workflowActivate.command.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/commands/workflowActivate.command.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowActivate.command.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowActivate.command.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts/commands/workflowCreate.command","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowCreate.command","target":"./src/operation-contracts/commands/workflowCreate.command.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/commands/workflowCreate.command.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowCreate.command.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowCreate.command.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts/commands/workflowDeactivate.command","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowDeactivate.command","target":"./src/operation-contracts/commands/workflowDeactivate.command.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/commands/workflowDeactivate.command.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowDeactivate.command.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowDeactivate.command.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts/commands/workflowRunCancel.command","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowRunCancel.command","target":"./src/operation-contracts/commands/workflowRunCancel.command.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/commands/workflowRunCancel.command.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowRunCancel.command.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowRunCancel.command.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts/commands/workflowRunDispatch.command","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowRunDispatch.command","target":"./src/operation-contracts/commands/workflowRunDispatch.command.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/commands/workflowRunDispatch.command.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowRunDispatch.command.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowRunDispatch.command.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts/commands/workflowRunPause.command","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowRunPause.command","target":"./src/operation-contracts/commands/workflowRunPause.command.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/commands/workflowRunPause.command.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowRunPause.command.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowRunPause.command.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts/commands/workflowRunResume.command","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowRunResume.command","target":"./src/operation-contracts/commands/workflowRunResume.command.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/commands/workflowRunResume.command.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowRunResume.command.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowRunResume.command.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts/commands/workflowRunRetry.command","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowRunRetry.command","target":"./src/operation-contracts/commands/workflowRunRetry.command.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/commands/workflowRunRetry.command.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowRunRetry.command.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowRunRetry.command.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts/commands/workflowStepAdvance.command","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowStepAdvance.command","target":"./src/operation-contracts/commands/workflowStepAdvance.command.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/commands/workflowStepAdvance.command.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowStepAdvance.command.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowStepAdvance.command.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts/commands/workflowStepSkip.command","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowStepSkip.command","target":"./src/operation-contracts/commands/workflowStepSkip.command.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/commands/workflowStepSkip.command.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowStepSkip.command.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowStepSkip.command.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts/commands/workflowUpdate.command","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts/commands/workflowUpdate.command","target":"./src/operation-contracts/commands/workflowUpdate.command.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/commands/workflowUpdate.command.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowUpdate.command.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/commands/workflowUpdate.command.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts/constants","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts/constants","target":"./src/operation-contracts/constants.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/constants.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/constants.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/constants.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts","target":"./src/operation-contracts/index.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/index.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts/queries/workflowGet.query","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts/queries/workflowGet.query","target":"./src/operation-contracts/queries/workflowGet.query.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/queries/workflowGet.query.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/queries/workflowGet.query.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/queries/workflowGet.query.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts/queries/workflowList.query","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts/queries/workflowList.query","target":"./src/operation-contracts/queries/workflowList.query.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/queries/workflowList.query.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/queries/workflowList.query.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/queries/workflowList.query.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts/queries/workflowRunnerHealth.query","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts/queries/workflowRunnerHealth.query","target":"./src/operation-contracts/queries/workflowRunnerHealth.query.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/queries/workflowRunnerHealth.query.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/queries/workflowRunnerHealth.query.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/queries/workflowRunnerHealth.query.ts","sourceStatus":"verified source file"}]},{"subpath":"./operation-contracts/registry.workflow","importPath":"@lssm-tech/lib.workflow-composer/operation-contracts/registry.workflow","target":"./src/operation-contracts/registry.workflow.ts","targets":[{"conditions":[],"target":"./src/operation-contracts/registry.workflow.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/operation-contracts/registry.workflow.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/operation-contracts/registry.workflow.ts","sourceStatus":"verified source file"}]},{"subpath":"./workflow/context","importPath":"@lssm-tech/lib.workflow-composer/workflow/context","target":"./src/workflow/context.ts","targets":[{"conditions":[],"target":"./src/workflow/context.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/workflow/context.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/workflow/context.ts","sourceStatus":"verified source file"}]},{"subpath":"./workflow/sla-monitor","importPath":"@lssm-tech/lib.workflow-composer/workflow/sla-monitor","target":"./src/workflow/sla-monitor.ts","targets":[{"conditions":[],"target":"./src/workflow/sla-monitor.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/workflow/sla-monitor.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/workflow/sla-monitor.ts","sourceStatus":"verified source file"}]},{"subpath":"./workflow/workflow-sdk","importPath":"@lssm-tech/lib.workflow-composer/workflow/workflow-sdk","target":"./src/workflow/workflow-sdk.ts","targets":[{"conditions":[],"target":"./src/workflow/workflow-sdk.ts","sourcePath":"packages/platform/delivery/workflow-composer/src/workflow/workflow-sdk.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/src/workflow/workflow-sdk.ts","sourceStatus":"verified source file"}]}],"entryCount":33,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Lib Workflow Composer documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.workflow-composer","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/lib.workflow-composer.txt"},"readme":{"status":"available","body":"# @lssm-tech/lib.workflow-composer\n\nWebsite: https://contractspec.io\n\nWorkflow context, SLA monitoring and SDK error conversion are available through\n`./workflow/context`, `./workflow/sla-monitor` and `./workflow/workflow-sdk`.\n`./operation-contracts/registry.workflow` exposes the original frozen workflow\noperation partial. Historical ContractSpec imports forward to these exact\nimplementations. Context accessors, timing defaults, event ordering and SDK error\nconstructor injection are preserved. Private context partitions keep the original\nstate identity and complete method bodies.\n\nWorkflow validation execution is available through `./workflow/validation`,\n`./workflow/validation-workflow-devkit`, and `./shared-entities/task-validators`.\nThese canonical leaves retain the complete original checks, error class, defaults,\nand nominal registry options. Operation options use the full RuntimeCore host\nregistry; Form, Event, Capability, and Workflow registries retain their canonical\nclass identities. Legacy validation imports forward to these exact implementations.\nThis Source move remains conditional on the accepted RuntimeCore, Forms, and\nSurfaceRuntime supplier union and its remaining package return paths.\nAll composition source imports now use canonical Core and OrchestrationSpec\nleaves or the local validator. The Composer dependency on Legacy is removed;\nthe real AI provider selector and complete nominal registry dependencies remain.\n\n**Tenant-aware workflow composition helpers for ContractSpec.**\n\n## What It Provides\n\n- **Layer**: lib.\n- **Consumers**: bundles.\n- Related ContractSpec packages include `@lssm-tech/lib.ai-providers`, `@lssm-tech/lib.contracts-spec`, `@lssm-tech/tool.bun`, `@lssm-tech/tool.typescript`.\n- Related ContractSpec packages include `@lssm-tech/lib.ai-providers`, `@lssm-tech/lib.contracts-spec`, `@lssm-tech/tool.bun`, `@lssm-tech/tool.typescript`.\n\n## Installation\n\n`npm install @lssm-tech/lib.workflow-composer`\n\nor\n\n`bun add @lssm-tech/lib.workflow-composer`\n\n## Usage\n\nImport the root entrypoint from `@lssm-tech/lib.workflow-composer`, or choose a documented subpath when you only need one part of the package surface.\n\nWorkflow composition is deterministic by default:\n\n- Extensions are applied in stable priority order.\n- Duplicate injected step ids and invalid anchor combinations are rejected.\n- Hidden-step overlays are validated so they cannot orphan the remaining graph.\n- Extension `metadata` and `annotations` are merged into the composed workflow output.\n\n## Architecture\n\n- `src/composer.test.ts` is part of the package's public or composition surface.\n- `src/composer.ts` is part of the package's public or composition surface.\n- `src/index.ts` is the root public barrel and package entrypoint.\n- `src/injector.ts` is part of the package's public or composition surface.\n- `src/merger.ts` is part of the package's public or composition surface.\n- `src/templates.ts` is part of the package's public or composition surface.\n- `src/types.ts` is shared public type definitions.\n\n## Public Entry Points\n\n- Export `.` resolves through `./src/index.ts`.\n\n## Local Commands\n\n- `bun run dev` — contractspec-bun-build dev\n- `bun run build` — contractspec-bun-build build\n- `bun run test` — bun test --pass-with-no-tests\n- `bun run lint` — bun lint:fix\n- `bun run lint:check` — biome check .\n- `bun run lint:fix` — biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .\n- `bun run typecheck` — tsgo --noEmit\n- `bun run publish:pkg` — bun publish --tolerate-republish --ignore-scripts --verbose\n- `bun run publish:pkg:canary` — bun publish:pkg --tag canary\n- `bun run clean` — rimraf dist .turbo\n- `bun run build:bundle` — contractspec-bun-build transpile\n- `bun run build:types` — contractspec-bun-build types\n- `bun run prebuild` — contractspec-bun-build prebuild\n\n## Recent Updates\n\n- Replace eslint+prettier by biomejs to optimize speed.\n- Add AI provider ranking system with ranking-driven model selection.\n- Upgrade dependencies.\n\n## Notes\n\n- Workflow composition must stay tenant-isolated — no cross-tenant data leakage.\n- Depends on contracts-spec — keep aligned with contract definitions.\n\nThe additive `./workflow-registry` entry owns the existing complete\n`WorkflowRegistry` class over Kernel `SpecContractRegistry` and canonical\nOrchestration `WorkflowSpec`. Historical ContractSpec exports forward to the\nsame constructor; registration, lookup and defaults retain their original\nsemantics. Other composition/provider dependencies remain declared by this\npackage.\n\nCanonical workflow execution is available from `./workflow/runner`,\n`./workflow/state`, `./workflow/dag-utils`, `./workflow/expression`, and\n`./workflow/adapters` (including its three adapter leaves). These leaves own\nthe complete original runner and its two error classes, state contracts and\npersistence implementations. Historical imports forward to the same classes.\nThe runner retains full host DTOs and supplied callback authority, timer and ID\ndefaults, retries, timeout behavior and event order. `createFileStateStore`\n(`./workflow/adapters/file-adapter`) keeps every state in one JSON file: writers\nhold a `<file>.lock` lockfile (one breaker at a time removes a stale lock), each\nwrite is a flushed temp file atomically renamed over the target, writes and\nlock-free reads retry Windows sharing violations until a deadline, and every\nread validates the document and fails closed with a `FileStateStoreError`\n(`corrupt_state`, `invalid_state`, `io_contention`, `lock_timeout`, ...).\nOther file-system errors, such as a missing directory or a lock file the\ndirectory refuses to create, propagate unchanged; outside Windows, EPERM and\nEACCES are never retried. A writer whose lock token write fails removes that\nlock before rethrowing. It needs the `fs/promises` builtin and looks it up on\nfirst use through `process.getBuiltinModule` (Node 20.16+, 22.3+ or Bun). It\nimports no builtin, statically or dynamically, so the neutral and browser\noutputs carry no `node:` specifier and web bundlers (webpack 5 included) build\nthem; on a host without `getBuiltinModule` (a browser, an older Node) the first\ncall fails with `unsupported_host`. No provider runtime or persistence\ndependency is added.\nSource qualification still requires the accepted host supplier union, unchanged\noriginal tests and Root adoption/affected-consumer checks. The original runner is now divided into private execution modules while\nretaining one public nominal class and all eight public async method bodies.\nEvery runner and test module stays within 250 lines; generic helpers and\nfixtures stay within 100 lines. All 25 original test calls remain intact,\nregistered in their original order through the existing test entrypoint.\nThe synchronous DAG setup shares the original state and status-map identities.\nNo await site, callback, timer default or policy choice is added or removed.\nPrivate modules are included in neutral build entries and the existing dist\npackage closure; no additional public export or dependency is introduced.\nPromise settlement, compiler and affected-consumer qualification remain with\nRoot’s bounded verification lane.\n\nCanonical workflow operation contracts are available through the explicit `./operation-contracts` family. Existing contracts-spec subpaths preserve the same contract objects and nominal registry types. These exports do not execute workflows, fetch benchmarks or run paid evaluations.\n","sourcePath":"packages/platform/delivery/workflow-composer/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/workflow-composer/README.md","blobSha":"e51e4b386bda5a1f5f342f11381fe809ba8998f4","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":"README recovered byte-for-byte from pinned aggregate guide","integrity":"exact Git blob match","executionStatus":"not executed"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"workflows-and-automation","areaTitle":"Workflows, jobs and automation","displayName":"lib.workflow-composer","runtimes":["node","bun","browser"],"platforms":["server","browser"],"kind":"library","scope":"Package manifest","canonicalRoute":"/docs/packages/lib.workflow-composer/","contextUrl":"/docs/packages/lib.workflow-composer.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}