groundswell 0.0.2 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +26 -9
- package/dist/cache/cache-key.d.ts +86 -0
- package/dist/cache/cache-key.d.ts.map +1 -0
- package/dist/cache/cache-key.js +204 -0
- package/dist/cache/cache-key.js.map +1 -0
- package/dist/cache/cache.d.ts +104 -0
- package/dist/cache/cache.d.ts.map +1 -0
- package/dist/cache/cache.js +179 -0
- package/dist/cache/cache.js.map +1 -0
- package/{src/cache/index.ts → dist/cache/index.d.ts} +1 -1
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +6 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/core/agent.d.ts +203 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +833 -0
- package/dist/core/agent.js.map +1 -0
- package/{src/core/context.ts → dist/core/context.d.ts} +16 -67
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/context.js +80 -0
- package/dist/core/context.js.map +1 -0
- package/dist/core/event-tree.d.ts +72 -0
- package/dist/core/event-tree.d.ts.map +1 -0
- package/dist/core/event-tree.js +211 -0
- package/dist/core/event-tree.js.map +1 -0
- package/{src/core/factory.ts → dist/core/factory.d.ts} +6 -27
- package/dist/core/factory.d.ts.map +1 -0
- package/dist/core/factory.js +110 -0
- package/dist/core/factory.js.map +1 -0
- package/{src/core/index.ts → dist/core/index.d.ts} +2 -10
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +9 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/logger.d.ts +50 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +91 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/mcp-handler.d.ts +127 -0
- package/dist/core/mcp-handler.d.ts.map +1 -0
- package/dist/core/mcp-handler.js +323 -0
- package/dist/core/mcp-handler.js.map +1 -0
- package/dist/core/prompt.d.ts +80 -0
- package/dist/core/prompt.d.ts.map +1 -0
- package/dist/core/prompt.js +120 -0
- package/dist/core/prompt.js.map +1 -0
- package/dist/core/workflow-context.d.ts +61 -0
- package/dist/core/workflow-context.d.ts.map +1 -0
- package/dist/core/workflow-context.js +358 -0
- package/dist/core/workflow-context.js.map +1 -0
- package/dist/core/workflow.d.ts +543 -0
- package/dist/core/workflow.d.ts.map +1 -0
- package/dist/core/workflow.js +986 -0
- package/dist/core/workflow.js.map +1 -0
- package/dist/debugger/event-replayer.d.ts +422 -0
- package/dist/debugger/event-replayer.d.ts.map +1 -0
- package/dist/debugger/event-replayer.js +639 -0
- package/dist/debugger/event-replayer.js.map +1 -0
- package/dist/debugger/index.d.ts +2 -0
- package/dist/debugger/index.d.ts.map +1 -0
- package/{src/debugger/index.ts → dist/debugger/index.js} +1 -0
- package/dist/debugger/index.js.map +1 -0
- package/dist/debugger/tree-debugger.d.ts +240 -0
- package/dist/debugger/tree-debugger.d.ts.map +1 -0
- package/dist/debugger/tree-debugger.js +620 -0
- package/dist/debugger/tree-debugger.js.map +1 -0
- package/dist/decorators/index.d.ts +4 -0
- package/dist/decorators/index.d.ts.map +1 -0
- package/{src/decorators/index.ts → dist/decorators/index.js} +1 -0
- package/dist/decorators/index.js.map +1 -0
- package/dist/decorators/observed-state.d.ts +32 -0
- package/dist/decorators/observed-state.d.ts.map +1 -0
- package/dist/decorators/observed-state.js +79 -0
- package/dist/decorators/observed-state.js.map +1 -0
- package/dist/decorators/step.d.ts +15 -0
- package/dist/decorators/step.d.ts.map +1 -0
- package/dist/decorators/step.js +192 -0
- package/dist/decorators/step.js.map +1 -0
- package/dist/decorators/task.d.ts +50 -0
- package/dist/decorators/task.d.ts.map +1 -0
- package/dist/decorators/task.js +118 -0
- package/dist/decorators/task.js.map +1 -0
- package/dist/examples/index.d.ts +3 -0
- package/dist/examples/index.d.ts.map +1 -0
- package/{src/examples/index.ts → dist/examples/index.js} +1 -0
- package/dist/examples/index.js.map +1 -0
- package/dist/examples/tdd-orchestrator.d.ts +15 -0
- package/dist/examples/tdd-orchestrator.d.ts.map +1 -0
- package/dist/examples/tdd-orchestrator.js +121 -0
- package/dist/examples/tdd-orchestrator.js.map +1 -0
- package/dist/examples/test-cycle-workflow.d.ts +14 -0
- package/dist/examples/test-cycle-workflow.d.ts.map +1 -0
- package/dist/examples/test-cycle-workflow.js +116 -0
- package/dist/examples/test-cycle-workflow.js.map +1 -0
- package/dist/harnesses/claude-code-harness.d.ts +391 -0
- package/dist/harnesses/claude-code-harness.d.ts.map +1 -0
- package/dist/harnesses/claude-code-harness.js +1076 -0
- package/dist/harnesses/claude-code-harness.js.map +1 -0
- package/dist/harnesses/harness-registry.d.ts +440 -0
- package/dist/harnesses/harness-registry.d.ts.map +1 -0
- package/dist/harnesses/harness-registry.js +543 -0
- package/dist/harnesses/harness-registry.js.map +1 -0
- package/dist/harnesses/index.d.ts +12 -0
- package/dist/harnesses/index.d.ts.map +1 -0
- package/dist/harnesses/index.js +11 -0
- package/dist/harnesses/index.js.map +1 -0
- package/dist/harnesses/pi-harness.d.ts +219 -0
- package/dist/harnesses/pi-harness.d.ts.map +1 -0
- package/dist/harnesses/pi-harness.js +676 -0
- package/dist/harnesses/pi-harness.js.map +1 -0
- package/dist/harnesses/pi-schema-converter.d.ts +24 -0
- package/dist/harnesses/pi-schema-converter.d.ts.map +1 -0
- package/dist/harnesses/pi-schema-converter.js +81 -0
- package/dist/harnesses/pi-schema-converter.js.map +1 -0
- package/dist/harnesses/register-defaults.d.ts +24 -0
- package/dist/harnesses/register-defaults.d.ts.map +1 -0
- package/dist/harnesses/register-defaults.js +40 -0
- package/dist/harnesses/register-defaults.js.map +1 -0
- package/dist/harnesses/session-store.d.ts +201 -0
- package/dist/harnesses/session-store.d.ts.map +1 -0
- package/dist/harnesses/session-store.js +254 -0
- package/dist/harnesses/session-store.js.map +1 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +57 -0
- package/dist/index.js.map +1 -0
- package/dist/reflection/index.d.ts +5 -0
- package/dist/reflection/index.d.ts.map +1 -0
- package/{src/reflection/index.ts → dist/reflection/index.js} +1 -1
- package/dist/reflection/index.js.map +1 -0
- package/dist/reflection/reflection.d.ts +84 -0
- package/dist/reflection/reflection.d.ts.map +1 -0
- package/dist/reflection/reflection.js +344 -0
- package/dist/reflection/reflection.js.map +1 -0
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +11 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/introspection.d.ts +165 -0
- package/dist/tools/introspection.d.ts.map +1 -0
- package/dist/tools/introspection.js +324 -0
- package/dist/tools/introspection.js.map +1 -0
- package/dist/types/agent.d.ts +1317 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +423 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/decorators.d.ts +40 -0
- package/dist/types/decorators.d.ts.map +1 -0
- package/dist/types/decorators.js +2 -0
- package/dist/types/decorators.js.map +1 -0
- package/dist/types/error-strategy.d.ts +13 -0
- package/dist/types/error-strategy.d.ts.map +1 -0
- package/dist/types/error-strategy.js +2 -0
- package/dist/types/error-strategy.js.map +1 -0
- package/dist/types/error.d.ts +20 -0
- package/dist/types/error.d.ts.map +1 -0
- package/dist/types/error.js +2 -0
- package/dist/types/error.js.map +1 -0
- package/dist/types/events.d.ts +113 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +2 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/harnesses.d.ts +474 -0
- package/dist/types/harnesses.d.ts.map +1 -0
- package/dist/types/harnesses.js +2 -0
- package/dist/types/harnesses.js.map +1 -0
- package/dist/types/index.d.ts +23 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/logging.d.ts +24 -0
- package/dist/types/logging.d.ts.map +1 -0
- package/dist/types/logging.js +2 -0
- package/dist/types/logging.js.map +1 -0
- package/dist/types/observer.d.ts +18 -0
- package/dist/types/observer.d.ts.map +1 -0
- package/dist/types/observer.js +2 -0
- package/dist/types/observer.js.map +1 -0
- package/dist/types/prompt.d.ts +31 -0
- package/dist/types/prompt.d.ts.map +1 -0
- package/dist/types/prompt.js +6 -0
- package/dist/types/prompt.js.map +1 -0
- package/dist/types/providers.d.ts +691 -0
- package/dist/types/providers.d.ts.map +1 -0
- package/dist/types/providers.js +14 -0
- package/dist/types/providers.js.map +1 -0
- package/dist/types/reflection.d.ts +96 -0
- package/dist/types/reflection.d.ts.map +1 -0
- package/dist/types/reflection.js +24 -0
- package/dist/types/reflection.js.map +1 -0
- package/dist/types/restart.d.ts +132 -0
- package/dist/types/restart.d.ts.map +1 -0
- package/dist/types/restart.js +2 -0
- package/dist/types/restart.js.map +1 -0
- package/dist/types/sdk-primitives.d.ts +118 -0
- package/dist/types/sdk-primitives.d.ts.map +1 -0
- package/dist/types/sdk-primitives.js +6 -0
- package/dist/types/sdk-primitives.js.map +1 -0
- package/{src/types/snapshot.ts → dist/types/snapshot.d.ts} +5 -5
- package/dist/types/snapshot.d.ts.map +1 -0
- package/dist/types/snapshot.js +2 -0
- package/dist/types/snapshot.js.map +1 -0
- package/dist/types/streaming.d.ts +194 -0
- package/dist/types/streaming.d.ts.map +1 -0
- package/dist/types/streaming.js +67 -0
- package/dist/types/streaming.js.map +1 -0
- package/dist/types/workflow-context.d.ts +275 -0
- package/dist/types/workflow-context.d.ts.map +1 -0
- package/dist/types/workflow-context.js +8 -0
- package/dist/types/workflow-context.js.map +1 -0
- package/dist/types/workflow.d.ts +30 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +2 -0
- package/dist/types/workflow.js.map +1 -0
- package/dist/utils/agent-validation.d.ts +88 -0
- package/dist/utils/agent-validation.d.ts.map +1 -0
- package/dist/utils/agent-validation.js +87 -0
- package/dist/utils/agent-validation.js.map +1 -0
- package/dist/utils/delay.d.ts +7 -0
- package/dist/utils/delay.d.ts.map +1 -0
- package/dist/utils/delay.js +9 -0
- package/dist/utils/delay.js.map +1 -0
- package/dist/utils/harness-config.d.ts +180 -0
- package/dist/utils/harness-config.d.ts.map +1 -0
- package/dist/utils/harness-config.js +311 -0
- package/dist/utils/harness-config.js.map +1 -0
- package/dist/utils/id.d.ts +6 -0
- package/dist/utils/id.d.ts.map +1 -0
- package/dist/utils/id.js +12 -0
- package/dist/utils/id.js.map +1 -0
- package/dist/utils/index.d.ts +13 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +11 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/model-spec.d.ts +110 -0
- package/dist/utils/model-spec.d.ts.map +1 -0
- package/dist/utils/model-spec.js +149 -0
- package/dist/utils/model-spec.js.map +1 -0
- package/dist/utils/observable.d.ts +54 -0
- package/dist/utils/observable.d.ts.map +1 -0
- package/dist/utils/observable.js +82 -0
- package/dist/utils/observable.js.map +1 -0
- package/dist/utils/provider-config.d.ts +10 -0
- package/dist/utils/provider-config.d.ts.map +1 -0
- package/dist/utils/provider-config.js +10 -0
- package/dist/utils/provider-config.js.map +1 -0
- package/dist/utils/restart-analysis.d.ts +202 -0
- package/dist/utils/restart-analysis.d.ts.map +1 -0
- package/dist/utils/restart-analysis.js +426 -0
- package/dist/utils/restart-analysis.js.map +1 -0
- package/dist/utils/session-serialization.d.ts +118 -0
- package/dist/utils/session-serialization.d.ts.map +1 -0
- package/dist/utils/session-serialization.js +217 -0
- package/dist/utils/session-serialization.js.map +1 -0
- package/dist/utils/workflow-error-utils.d.ts +22 -0
- package/dist/utils/workflow-error-utils.d.ts.map +1 -0
- package/dist/utils/workflow-error-utils.js +45 -0
- package/dist/utils/workflow-error-utils.js.map +1 -0
- package/package.json +34 -5
- package/.claude/commands/subtask-planning/prp-base-create.md +0 -120
- package/.claude/commands/subtask-planning/prp-base-execute.md +0 -65
- package/.claude/commands/task-breakdown.md +0 -94
- package/.claude/settings.local.json +0 -9
- package/.claude/system_prompts/task-breakdown.md +0 -101
- package/CHANGELOG.md +0 -188
- package/PRD.md +0 -543
- package/PRPs/001-hierarchical-workflow-engine.md +0 -2438
- package/PRPs/PRDs/002-agent-prompt.md +0 -390
- package/PRPs/PRDs/003-agent-prompt.md +0 -943
- package/PRPs/PRDs/004-agent-prompt.md +0 -1136
- package/PRPs/PRDs/tasks-001.json +0 -492
- package/PRPs/README.md +0 -83
- package/PRPs/templates/prp_base.md +0 -222
- package/docs/agent.md +0 -422
- package/docs/prompt.md +0 -419
- package/docs/workflow.md +0 -600
- package/examples/README.md +0 -258
- package/examples/examples/01-basic-workflow.ts +0 -100
- package/examples/examples/02-decorator-options.ts +0 -217
- package/examples/examples/03-parent-child.ts +0 -241
- package/examples/examples/04-observers-debugger.ts +0 -340
- package/examples/examples/05-error-handling.ts +0 -387
- package/examples/examples/06-concurrent-tasks.ts +0 -352
- package/examples/examples/07-agent-loops.ts +0 -432
- package/examples/examples/08-sdk-features.ts +0 -667
- package/examples/examples/09-reflection.ts +0 -573
- package/examples/examples/10-introspection.ts +0 -550
- package/examples/examples/11-reparenting-workflows.ts +0 -269
- package/examples/index.ts +0 -147
- package/examples/utils/helpers.ts +0 -57
- package/package-lock.json +0 -2398
- package/plan/001_d3bb02af4886/TEST_RESULTS.md +0 -259
- package/plan/001_d3bb02af4886/backlog.json +0 -867
- package/plan/001_d3bb02af4886/bug_fix_tasks.json +0 -484
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S1/PRP.md +0 -488
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S2/PRP.md +0 -581
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S3/PRP.md +0 -687
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S1/PRP.md +0 -492
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/PRP.md +0 -932
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/concurrent_error_testing_patterns.md +0 -1109
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/vitest_concurrent_testing.md +0 -802
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/workflow_engine_test_references.md +0 -603
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S1/PRP.md +0 -564
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S3/PRP.md +0 -518
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S4/PRP.md +0 -1252
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/PRP.md +0 -364
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/CODEBASE_INVENTORY.md +0 -114
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/DECORATOR_DOCUMENTATION_PATTERNS.md +0 -205
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/PRD_LOCATION_ANALYSIS.md +0 -199
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/ULTRATHINK_PRP_PLAN.md +0 -134
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/PRP.md +0 -495
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/research/console_error_inventory.md +0 -435
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S2/PRP.md +0 -506
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S3/PRP.md +0 -612
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T2S2/PRP.md +0 -558
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T2S2/research/external_research.md +0 -788
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T3S2/PRP.md +0 -460
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T3S3/PRP.md +0 -454
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/PRP.md +0 -520
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/RECOMMENDATION.md +0 -417
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/research/external_workflow_engines_research.md +0 -760
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/research/security_implications_analysis.md +0 -245
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S2/PRP.md +0 -792
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/PRP.md +0 -535
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/TEST_EXECUTION_REPORT.md +0 -190
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/PRP.md +0 -654
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/TEST_FIX_REPORT.md +0 -227
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/KEY_FINDINGS.md +0 -345
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/QUICK_REFERENCE.md +0 -193
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/test_maintenance_research.md +0 -1323
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S1/BREAKING_CHANGES_AUDIT.md +0 -1011
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S1/PRP.md +0 -927
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S2/PRP.md +0 -505
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/architecture/logger_child_signature_analysis.md +0 -401
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/child_implementation_research.md +0 -142
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/test_patterns_research.md +0 -112
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/vitest_patterns_research.md +0 -159
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/PRP.md +0 -549
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/VERIFICATION_REPORT.md +0 -368
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/edge_case_analysis.md +0 -172
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/usage_inventory.md +0 -175
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T1S2/PRP.md +0 -696
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T1S4/PRP.md +0 -860
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/PRP.md +0 -1066
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/01-testing-aggregated-errors.md +0 -1103
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/01_typescript_error_aggregation_patterns.md +0 -789
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/02-error-merge-strategy-testing-guide.md +0 -1098
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/02_aggregate_error_patterns.md +0 -1037
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/03-promise-allsettled-testing-patterns.md +0 -916
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/03_error_merging_strategies.md +0 -1045
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/04_github_stackoverflow_examples.md +0 -890
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/05_comprehensive_summary.md +0 -822
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/INDEX.md +0 -668
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/QUICK_REFERENCE.md +0 -706
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/README.md +0 -265
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/RESEARCH_REPORT.md +0 -655
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S4/research/vitest_testing_patterns.md +0 -1103
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T3S2/PRP.md +0 -426
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/PRP.md +0 -506
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/QUICK_REFERENCE.md +0 -114
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/RESEARCH_SUMMARY.md +0 -316
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/vitest_observer_error_logging_best_practices.md +0 -754
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S3/PRP.md +0 -612
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/PRP.md +0 -719
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/README.md +0 -215
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/analysis.md +0 -765
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S3/PRP.md +0 -718
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/DECISION.md +0 -149
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/PRP.md +0 -470
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/ULTRATHINK_PLAN.md +0 -332
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/codebase_workflow_name_analysis.md +0 -167
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/external_best_practices.md +0 -265
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/validation_patterns.md +0 -273
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T4S1/workflow_engine_ancestry_api_research.md +0 -760
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T4S3-PRP.md +0 -434
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S1/PRP.md +0 -717
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/PRP.md +0 -472
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/VALIDATION_REPORT.md +0 -125
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/research/ULTRATHINK_PRP_PLAN.md +0 -301
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/error-logging-best-practices.md +0 -1170
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/research_typescript_partial_and_overloads.md +0 -940
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/vitest-quick-reference.md +0 -151
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/vitest-research.md +0 -650
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/prd_snapshot.md +0 -259
- package/plan/001_d3bb02af4886/bugfix/P1M1T1S1/PRP.md +0 -457
- package/plan/001_d3bb02af4886/bugfix/RESEARCH_SUMMARY.md +0 -346
- package/plan/001_d3bb02af4886/bugfix/architecture/codebase_structure.md +0 -311
- package/plan/001_d3bb02af4886/bugfix/architecture/concurrent_execution_best_practices.md +0 -1565
- package/plan/001_d3bb02af4886/bugfix/architecture/error_handling_patterns.md +0 -288
- package/plan/001_d3bb02af4886/bugfix/architecture/promise_all_analysis.md +0 -741
- package/plan/001_d3bb02af4886/docs/PRP/P1M1T1S4-functional-workflow-error-state-capture-test.md +0 -652
- package/plan/001_d3bb02af4886/docs/PRP/P1P2-PRP.md +0 -527
- package/plan/001_d3bb02af4886/docs/PRP/P3P4-PRP.md +0 -1388
- package/plan/001_d3bb02af4886/docs/PRP/P4P5-PRP.md +0 -1136
- package/plan/001_d3bb02af4886/docs/PRP/PRP.md +0 -527
- package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S1-PRP.md +0 -415
- package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S2-PRP.md +0 -378
- package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S4-PRP.md +0 -713
- package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M2T1S4-PRP.md +0 -370
- package/plan/001_d3bb02af4886/docs/PRP_P1M3T1S3.md +0 -499
- package/plan/001_d3bb02af4886/docs/TEST_RESULTS.md +0 -230
- package/plan/001_d3bb02af4886/docs/architecture/external_deps.md +0 -358
- package/plan/001_d3bb02af4886/docs/architecture/system_context.md +0 -242
- package/plan/001_d3bb02af4886/docs/bugfix/ANALYSIS_PRD_VS_IMPLEMENTATION.md +0 -1134
- package/plan/001_d3bb02af4886/docs/bugfix/GAP_ANALYSIS_SUMMARY.md +0 -179
- package/plan/001_d3bb02af4886/docs/bugfix/P1M4T2S1/PRP.md +0 -629
- package/plan/001_d3bb02af4886/docs/bugfix/P1M4T2S1/validation-report.md +0 -214
- package/plan/001_d3bb02af4886/docs/bugfix/PRP_P1M4T2S3.md +0 -629
- package/plan/001_d3bb02af4886/docs/bugfix/bugfix_PRP.md +0 -529
- package/plan/001_d3bb02af4886/docs/bugfix/bugfix_QUICK_REFERENCE.md +0 -142
- package/plan/001_d3bb02af4886/docs/bugfix/bugfix_README.md +0 -304
- package/plan/001_d3bb02af4886/docs/bugfix/bugfix_TEST_RESULTS.md +0 -558
- package/plan/001_d3bb02af4886/docs/bugfix/bugfix_VALIDATION_SUMMARY.md +0 -256
- package/plan/001_d3bb02af4886/docs/bugfix/system_context.md +0 -346
- package/plan/001_d3bb02af4886/docs/bugfix-architecture/bug_analysis.md +0 -415
- package/plan/001_d3bb02af4886/docs/bugfix-architecture/implementation_patterns.md +0 -489
- package/plan/001_d3bb02af4886/docs/bugfix-architecture/system_context.md +0 -218
- package/plan/001_d3bb02af4886/docs/bugfix_INITIATION_SUMMARY.md +0 -380
- package/plan/001_d3bb02af4886/docs/research/CYCLE_DETECTION_PATTERNS.md +0 -1923
- package/plan/001_d3bb02af4886/docs/research/CYCLE_DETECTION_QUICK_REF.md +0 -319
- package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/codebase-context.md +0 -115
- package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/cycle-detection-algorithms.md +0 -134
- package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/test-patterns.md +0 -153
- package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/workflow-class.md +0 -132
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/DECORATOR_DOCUMENTATION_BEST_PRACTICES.md +0 -716
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/DECORATOR_DOCUMENTATION_QUICK_REF.md +0 -186
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/GROUNDSWELL_DECORATOR_EXAMPLES.md +0 -604
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/INDEX.md +0 -213
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/codebase_structure.md +0 -30
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/existing_test_pattern.md +0 -56
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/getRootObservers_implementation.md +0 -53
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/test_conventions.md +0 -49
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/PRP.md +0 -958
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/QUICK_REFERENCE.md +0 -339
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/README.md +0 -305
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/SUMMARY.md +0 -433
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/bidirectional-tree-consistency-testing.md +0 -1574
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/test-pattern-examples.md +0 -1014
- package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_BEST_PRACTICES.md +0 -1929
- package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_CODE_PATTERNS.md +0 -857
- package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_INTEGRATION_GUIDE.md +0 -738
- package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_RESEARCH_INDEX.md +0 -424
- package/plan/001_d3bb02af4886/docs/research/P1P2/REFLECTION_INDEX.md +0 -291
- package/plan/001_d3bb02af4886/docs/research/P1P2/REFLECTION_RESEARCH_REPORT.md +0 -1342
- package/plan/001_d3bb02af4886/docs/research/P1P2/RESEARCH_SUMMARY.md +0 -342
- package/plan/001_d3bb02af4886/docs/research/P1P2/anthropic-sdk.md +0 -174
- package/plan/001_d3bb02af4886/docs/research/P1P2/async-local-storage.md +0 -200
- package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-code-patterns.md +0 -1205
- package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-decision-matrix.md +0 -421
- package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-implementation-guide.md +0 -1341
- package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-integration-guide.md +0 -834
- package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-patterns.md +0 -1468
- package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-quick-reference.md +0 -558
- package/plan/001_d3bb02af4886/docs/research/P1P2/zod-schema.md +0 -152
- package/plan/001_d3bb02af4886/docs/research/P3P4/caching-lru.md +0 -116
- package/plan/001_d3bb02af4886/docs/research/P3P4/introspection-tools.md +0 -177
- package/plan/001_d3bb02af4886/docs/research/P3P4/reflection-patterns.md +0 -117
- package/plan/001_d3bb02af4886/docs/research/P4P5/RESEARCH_SUMMARY.md +0 -151
- package/plan/001_d3bb02af4886/docs/research/PROMISE_ALLSETTLED_QUICK_REF.md +0 -376
- package/plan/001_d3bb02af4886/docs/research/PROMISE_ALLSETTLED_RESEARCH.md +0 -1507
- package/plan/001_d3bb02af4886/docs/research/bugfix_typescript_patterns.md +0 -949
- package/plan/001_d3bb02af4886/docs/research/error-testing-research.md +0 -619
- package/plan/001_d3bb02af4886/docs/research/error_handling_patterns.md +0 -723
- package/plan/001_d3bb02af4886/docs/research/general/INTROSPECTION_RESEARCH_SUMMARY.md +0 -378
- package/plan/001_d3bb02af4886/docs/research/general/README-INTROSPECTION.md +0 -352
- package/plan/001_d3bb02af4886/docs/research/general/agent-introspection-patterns.md +0 -1085
- package/plan/001_d3bb02af4886/docs/research/general/introspection-security-guide.md +0 -984
- package/plan/001_d3bb02af4886/docs/research/general/introspection-tool-examples.md +0 -875
- package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/PRP_TEMPLATE.md +0 -460
- package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/QUICK_REFERENCE.md +0 -324
- package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/README.md +0 -175
- package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/RESEARCH_REPORT.md +0 -499
- package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/SUMMARY.md +0 -163
- package/plan/001_d3bb02af4886/prd_snapshot.md +0 -543
- package/plan/bugfix/BUG_FIX_SUMMARY.md +0 -961
- package/scripts/generate-llms-full.ts +0 -206
- package/src/__tests__/adversarial/attachChild-performance.test.ts +0 -216
- package/src/__tests__/adversarial/circular-reference.test.ts +0 -101
- package/src/__tests__/adversarial/complex-circular-reference.test.ts +0 -139
- package/src/__tests__/adversarial/concurrent-task-failures.test.ts +0 -571
- package/src/__tests__/adversarial/deep-analysis.test.ts +0 -729
- package/src/__tests__/adversarial/deep-hierarchy-stress.test.ts +0 -213
- package/src/__tests__/adversarial/e2e-prd-validation.test.ts +0 -448
- package/src/__tests__/adversarial/edge-case.test.ts +0 -703
- package/src/__tests__/adversarial/error-merge-strategy.test.ts +0 -760
- package/src/__tests__/adversarial/incremental-performance.test.ts +0 -140
- package/src/__tests__/adversarial/node-map-update-benchmarks.test.ts +0 -457
- package/src/__tests__/adversarial/observer-propagation.test.ts +0 -487
- package/src/__tests__/adversarial/parent-validation.test.ts +0 -143
- package/src/__tests__/adversarial/prd-12-2-compliance.test.ts +0 -611
- package/src/__tests__/adversarial/prd-compliance.test.ts +0 -731
- package/src/__tests__/compatibility/backward-compatibility.test.ts +0 -1572
- package/src/__tests__/helpers/index.ts +0 -18
- package/src/__tests__/helpers/tree-verification.ts +0 -257
- package/src/__tests__/integration/agent-workflow.test.ts +0 -256
- package/src/__tests__/integration/bidirectional-consistency.test.ts +0 -847
- package/src/__tests__/integration/observer-logging.test.ts +0 -643
- package/src/__tests__/integration/tree-mirroring.test.ts +0 -151
- package/src/__tests__/integration/workflow-reparenting.test.ts +0 -303
- package/src/__tests__/unit/agent.test.ts +0 -169
- package/src/__tests__/unit/cache-key.test.ts +0 -182
- package/src/__tests__/unit/cache.test.ts +0 -172
- package/src/__tests__/unit/context.test.ts +0 -217
- package/src/__tests__/unit/decorators.test.ts +0 -100
- package/src/__tests__/unit/introspection-tools.test.ts +0 -277
- package/src/__tests__/unit/logger.test.ts +0 -293
- package/src/__tests__/unit/observable.test.ts +0 -321
- package/src/__tests__/unit/prompt.test.ts +0 -135
- package/src/__tests__/unit/reflection.test.ts +0 -210
- package/src/__tests__/unit/tree-debugger-incremental.test.ts +0 -170
- package/src/__tests__/unit/tree-debugger.test.ts +0 -85
- package/src/__tests__/unit/utils/workflow-error-utils.test.ts +0 -209
- package/src/__tests__/unit/workflow-detachChild.test.ts +0 -100
- package/src/__tests__/unit/workflow-emitEvent-childDetached.test.ts +0 -153
- package/src/__tests__/unit/workflow-isDescendantOf.test.ts +0 -180
- package/src/__tests__/unit/workflow.test.ts +0 -357
- package/src/cache/cache-key.ts +0 -244
- package/src/cache/cache.ts +0 -236
- package/src/core/agent.ts +0 -593
- package/src/core/event-tree.ts +0 -260
- package/src/core/logger.ts +0 -112
- package/src/core/mcp-handler.ts +0 -184
- package/src/core/prompt.ts +0 -150
- package/src/core/workflow-context.ts +0 -351
- package/src/core/workflow.ts +0 -540
- package/src/debugger/tree-debugger.ts +0 -255
- package/src/decorators/observed-state.ts +0 -95
- package/src/decorators/step.ts +0 -139
- package/src/decorators/task.ts +0 -159
- package/src/examples/tdd-orchestrator.ts +0 -65
- package/src/examples/test-cycle-workflow.ts +0 -64
- package/src/index.ts +0 -142
- package/src/reflection/reflection.ts +0 -407
- package/src/tools/index.ts +0 -36
- package/src/tools/introspection.ts +0 -464
- package/src/types/agent.ts +0 -90
- package/src/types/decorators.ts +0 -32
- package/src/types/error-strategy.ts +0 -13
- package/src/types/error.ts +0 -20
- package/src/types/events.ts +0 -75
- package/src/types/index.ts +0 -55
- package/src/types/logging.ts +0 -24
- package/src/types/observer.ts +0 -18
- package/src/types/prompt.ts +0 -40
- package/src/types/reflection.ts +0 -117
- package/src/types/sdk-primitives.ts +0 -128
- package/src/types/workflow-context.ts +0 -163
- package/src/types/workflow.ts +0 -37
- package/src/utils/id.ts +0 -11
- package/src/utils/index.ts +0 -4
- package/src/utils/observable.ts +0 -106
- package/src/utils/workflow-error-utils.ts +0 -56
- package/tsconfig.json +0 -22
- package/vitest.config.ts +0 -16
|
@@ -0,0 +1,543 @@
|
|
|
1
|
+
import type { WorkflowNode, WorkflowStatus, WorkflowEvent, WorkflowObserver, SerializedWorkflowState, WorkflowError } from '../types/index.js';
|
|
2
|
+
import type { WorkflowContext, WorkflowConfig, WorkflowResult } from '../types/workflow-context.js';
|
|
3
|
+
import type { AgentResponse } from '../types/agent.js';
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { WorkflowLogger } from './logger.js';
|
|
6
|
+
/**
|
|
7
|
+
* Executor function type for functional workflows
|
|
8
|
+
*/
|
|
9
|
+
export type WorkflowExecutor<T = unknown> = (ctx: WorkflowContext) => Promise<T>;
|
|
10
|
+
/**
|
|
11
|
+
* Options for restarting a step
|
|
12
|
+
*/
|
|
13
|
+
export interface RestartStepOptions {
|
|
14
|
+
/** Current retry count (will be incremented by 1 for the attempt) */
|
|
15
|
+
retryCount?: number;
|
|
16
|
+
/** Maximum number of retries allowed (overrides step default) */
|
|
17
|
+
maxRetries?: number;
|
|
18
|
+
/** Override state to restore (defaults to current snapshot) */
|
|
19
|
+
stateOverride?: SerializedWorkflowState;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Options for replaying historical events
|
|
23
|
+
*/
|
|
24
|
+
interface ReplayEventsOptions {
|
|
25
|
+
/** Only replay events after this timestamp (milliseconds since epoch) */
|
|
26
|
+
since?: number;
|
|
27
|
+
/** Maximum number of events to replay */
|
|
28
|
+
limit?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Base class for all workflows
|
|
32
|
+
* Supports both class-based (subclass with run()) and functional (executor) patterns
|
|
33
|
+
*
|
|
34
|
+
* @example Class-based pattern:
|
|
35
|
+
* ```ts
|
|
36
|
+
* class MyWorkflow extends Workflow {
|
|
37
|
+
* async run() {
|
|
38
|
+
* this.setStatus('running');
|
|
39
|
+
* // workflow logic
|
|
40
|
+
* this.setStatus('completed');
|
|
41
|
+
* }
|
|
42
|
+
* }
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @example Functional pattern:
|
|
46
|
+
* ```ts
|
|
47
|
+
* const workflow = new Workflow({ name: 'MyWorkflow' }, async (ctx) => {
|
|
48
|
+
* await ctx.step('step1', async () => {
|
|
49
|
+
* // step logic
|
|
50
|
+
* });
|
|
51
|
+
* });
|
|
52
|
+
* await workflow.run();
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare class Workflow<T = unknown> {
|
|
56
|
+
#private;
|
|
57
|
+
/** Unique identifier for this workflow instance */
|
|
58
|
+
readonly id: string;
|
|
59
|
+
/** Parent workflow (null for root workflows) */
|
|
60
|
+
parent: Workflow | null;
|
|
61
|
+
/** Child workflows */
|
|
62
|
+
children: Workflow[];
|
|
63
|
+
/** Current execution status */
|
|
64
|
+
status: WorkflowStatus;
|
|
65
|
+
/** Logger instance for this workflow */
|
|
66
|
+
protected readonly logger: WorkflowLogger;
|
|
67
|
+
/** The node representation of this workflow */
|
|
68
|
+
readonly node: WorkflowNode;
|
|
69
|
+
/** Observers (only populated on root workflow) */
|
|
70
|
+
private observers;
|
|
71
|
+
/** Optional executor function for functional workflows */
|
|
72
|
+
private executor?;
|
|
73
|
+
/** Workflow configuration */
|
|
74
|
+
private config;
|
|
75
|
+
/** Error collection state for workflow-level error merge */
|
|
76
|
+
private collectedErrors;
|
|
77
|
+
/** Total operations count for error merge context */
|
|
78
|
+
private totalOperations;
|
|
79
|
+
/** Operation counter for error merge context */
|
|
80
|
+
private operationCounter;
|
|
81
|
+
/**
|
|
82
|
+
* Create a new workflow instance
|
|
83
|
+
*
|
|
84
|
+
* @overload Class-based pattern: constructor(name?: string, parent?: Workflow)
|
|
85
|
+
* @overload Functional pattern: constructor(config: WorkflowConfig, executor?: WorkflowExecutor)
|
|
86
|
+
* @param name For class-based pattern, human-readable name. Allowed characters: alphanumeric (a-z, A-Z, 0-9), spaces, hyphens (-), underscores (_). (default: class name).
|
|
87
|
+
* For functional pattern, config object with workflow settings.
|
|
88
|
+
* @param parentOrExecutor For class-based pattern, optional parent workflow.
|
|
89
|
+
* For functional pattern, executor function.
|
|
90
|
+
*
|
|
91
|
+
* @remarks Security validation rejects names containing control characters, HTML tags, JavaScript patterns, path traversal sequences (..), and file system special characters (/ \ : * ? " < > |). This prevents XSS attacks, injection attacks, and path traversal vulnerabilities.
|
|
92
|
+
*/
|
|
93
|
+
constructor(name?: string | WorkflowConfig, parentOrExecutor?: Workflow | WorkflowExecutor<T>);
|
|
94
|
+
/**
|
|
95
|
+
* Get observers from the root workflow
|
|
96
|
+
* Traverses up the tree to find the root
|
|
97
|
+
* Uses cycle detection to prevent infinite loops from circular parent-child relationships
|
|
98
|
+
*/
|
|
99
|
+
private getRootObservers;
|
|
100
|
+
/**
|
|
101
|
+
* Check if event history is enabled for this workflow
|
|
102
|
+
*
|
|
103
|
+
* @returns true if event history is enabled, false otherwise
|
|
104
|
+
*/
|
|
105
|
+
private isEventHistoryEnabled;
|
|
106
|
+
/**
|
|
107
|
+
* Get event history configuration with defaults applied
|
|
108
|
+
*
|
|
109
|
+
* @returns Configuration object with all required fields populated
|
|
110
|
+
*/
|
|
111
|
+
private getEventHistoryConfig;
|
|
112
|
+
/**
|
|
113
|
+
* Trim event history based on configuration
|
|
114
|
+
*
|
|
115
|
+
* Uses lazy trimming for performance:
|
|
116
|
+
* - Only trims when at least 1.5x over the maxEvents limit
|
|
117
|
+
* - Applies both count and age constraints
|
|
118
|
+
* - Uses slice() for efficiency (not shift())
|
|
119
|
+
*
|
|
120
|
+
* @remarks
|
|
121
|
+
* Lazy trimming reduces the number of trim operations by only trimming
|
|
122
|
+
* when the history is significantly over the limit (1.5x). This provides
|
|
123
|
+
* better performance for high-frequency event emission.
|
|
124
|
+
*/
|
|
125
|
+
private trimEventHistory;
|
|
126
|
+
/**
|
|
127
|
+
* Check if this workflow is a descendant of the given ancestor workflow.
|
|
128
|
+
*
|
|
129
|
+
* Traverses the parent chain upward looking for the ancestor reference.
|
|
130
|
+
* Uses a visited Set to detect cycles during traversal. This method provides
|
|
131
|
+
* a convenient way to check workflow hierarchy relationships without manually
|
|
132
|
+
* traversing the parent chain.
|
|
133
|
+
*
|
|
134
|
+
* @remarks SECURITY WARNING: This method reveals workflow hierarchy information.
|
|
135
|
+
* If your application exposes workflows via an API, ensure you implement proper
|
|
136
|
+
* access control to prevent unauthorized topology discovery. Note that the parent
|
|
137
|
+
* and children properties are already public, so this method does not expose any
|
|
138
|
+
* new information beyond what is currently accessible.
|
|
139
|
+
*
|
|
140
|
+
* **Time Complexity**: O(d) where d is the depth of the hierarchy
|
|
141
|
+
* **Space Complexity**: O(d) for the visited Set in worst case (cycle detection)
|
|
142
|
+
*
|
|
143
|
+
* @example Check if a workflow belongs to a specific hierarchy
|
|
144
|
+
* ```typescript
|
|
145
|
+
* const root = new Workflow('root');
|
|
146
|
+
* const child = new Workflow('child', { parent: root });
|
|
147
|
+
*
|
|
148
|
+
* if (child.isDescendantOf(root)) {
|
|
149
|
+
* console.log('Child is in root hierarchy');
|
|
150
|
+
* }
|
|
151
|
+
* ```
|
|
152
|
+
*
|
|
153
|
+
* @example Validate before attaching to prevent circular references
|
|
154
|
+
* ```typescript
|
|
155
|
+
* if (!newChild.isDescendantOf(parent)) {
|
|
156
|
+
* parent.attachChild(newChild);
|
|
157
|
+
* } else {
|
|
158
|
+
* throw new Error('Would create circular reference');
|
|
159
|
+
* }
|
|
160
|
+
* ```
|
|
161
|
+
*
|
|
162
|
+
* @example Check for ancestor relationship in conditional logic
|
|
163
|
+
* ```typescript
|
|
164
|
+
* const isInProductionBranch = workflow.isDescendantOf(productionRoot);
|
|
165
|
+
* if (isInProductionBranch) {
|
|
166
|
+
* // Apply production-specific logic
|
|
167
|
+
* }
|
|
168
|
+
* ```
|
|
169
|
+
*
|
|
170
|
+
* @param ancestor - The potential ancestor workflow to check
|
|
171
|
+
* @returns true if ancestor is found in parent chain, false otherwise
|
|
172
|
+
* @throws {Error} If a cycle is detected during traversal (indicates corrupted tree structure)
|
|
173
|
+
*/
|
|
174
|
+
isDescendantOf(ancestor: Workflow): boolean;
|
|
175
|
+
/**
|
|
176
|
+
* Get the root workflow
|
|
177
|
+
* Uses cycle detection to prevent infinite loops from circular parent-child relationships
|
|
178
|
+
*/
|
|
179
|
+
protected getRoot(): Workflow;
|
|
180
|
+
/**
|
|
181
|
+
* Add an observer to this workflow (must be root)
|
|
182
|
+
* @throws Error if called on non-root workflow
|
|
183
|
+
* @side effects Adds observer to internal observers array for root workflows.
|
|
184
|
+
* Observers will receive notifications for workflow events.
|
|
185
|
+
*/
|
|
186
|
+
addObserver(observer: WorkflowObserver): void;
|
|
187
|
+
/**
|
|
188
|
+
* Remove an observer from this workflow
|
|
189
|
+
*/
|
|
190
|
+
removeObserver(observer: WorkflowObserver): void;
|
|
191
|
+
/**
|
|
192
|
+
* Attach a child workflow to this parent workflow.
|
|
193
|
+
*
|
|
194
|
+
* Validates that the child can be attached by checking:
|
|
195
|
+
* 1. Child is not already attached to this parent workflow
|
|
196
|
+
* 2. Child does not have a different parent (enforces single-parent invariant)
|
|
197
|
+
* 3. Child is not an ancestor of this parent (prevents circular references)
|
|
198
|
+
*
|
|
199
|
+
* **Structural Changes:**
|
|
200
|
+
* - Adds child to this.children array (workflow tree)
|
|
201
|
+
* - Adds child.node to this.node.children array (node tree)
|
|
202
|
+
* - Sets child.parent = this (workflow tree)
|
|
203
|
+
* - Sets child.node.parent = this.node (node tree)
|
|
204
|
+
* - Emits childAttached event to notify observers
|
|
205
|
+
* - Emits treeUpdated event to trigger tree debugger rebuild
|
|
206
|
+
*
|
|
207
|
+
* **Invariants Maintained:**
|
|
208
|
+
* - Single-parent rule: A workflow can only have one parent
|
|
209
|
+
* - 1:1 tree mirror: workflow tree and node tree stay synchronized
|
|
210
|
+
* - No cycles: A workflow cannot be its own ancestor
|
|
211
|
+
*
|
|
212
|
+
* **Cycle Detection:**
|
|
213
|
+
* - Uses isDescendantOf() helper with Set-based cycle detection
|
|
214
|
+
* - Throws immediately if circular reference would be created
|
|
215
|
+
*
|
|
216
|
+
* @param child - The child workflow to attach
|
|
217
|
+
* @throws {Error} If the child is already attached to this workflow
|
|
218
|
+
* @throws {Error} If the child already has a different parent (use detachChild() first for reparenting)
|
|
219
|
+
* @throws {Error} If the child is an ancestor of this parent (would create circular reference)
|
|
220
|
+
* @side effects Modifies workflow tree structure, emits childAttached event,
|
|
221
|
+
* and triggers treeUpdated event for debugger.
|
|
222
|
+
*
|
|
223
|
+
* @example
|
|
224
|
+
* ```ts
|
|
225
|
+
* const parent = new Workflow('Parent');
|
|
226
|
+
* const child = new Workflow('Child');
|
|
227
|
+
* parent.attachChild(child);
|
|
228
|
+
* // child.parent === parent
|
|
229
|
+
* // parent.children.includes(child) === true
|
|
230
|
+
* ```
|
|
231
|
+
*
|
|
232
|
+
* @example Reparenting workflow
|
|
233
|
+
* ```ts
|
|
234
|
+
* const parent1 = new Workflow('Parent1');
|
|
235
|
+
* const parent2 = new Workflow('Parent2');
|
|
236
|
+
* const child = new Workflow('Child', parent1); // Attached to parent1
|
|
237
|
+
*
|
|
238
|
+
* // Later, move child to parent2
|
|
239
|
+
* parent1.detachChild(child);
|
|
240
|
+
* parent2.attachChild(child);
|
|
241
|
+
* // child.parent === parent2
|
|
242
|
+
* ```
|
|
243
|
+
*
|
|
244
|
+
* @see detachChild - For detaching children (enables reparenting)
|
|
245
|
+
* @see isDescendantOf - Private helper for circular reference detection
|
|
246
|
+
*/
|
|
247
|
+
attachChild(child: Workflow): void;
|
|
248
|
+
/**
|
|
249
|
+
* Detach a child workflow from this parent workflow.
|
|
250
|
+
*
|
|
251
|
+
* Removes the child from both the workflow tree (this.children) and
|
|
252
|
+
* the node tree (this.node.children), clears the child's parent reference,
|
|
253
|
+
* and emits a childDetached event to notify observers.
|
|
254
|
+
*
|
|
255
|
+
* Also emits treeUpdated event to trigger tree debugger rebuild.
|
|
256
|
+
*
|
|
257
|
+
* This enables reparenting workflows: oldParent.detachChild(child); newParent.attachChild(child);
|
|
258
|
+
*
|
|
259
|
+
* @param child - The child workflow to detach
|
|
260
|
+
* @throws {Error} If the child is not attached to this parent workflow
|
|
261
|
+
* @side effects Modifies workflow tree structure, emits childDetached event,
|
|
262
|
+
* and triggers treeUpdated event for debugger.
|
|
263
|
+
*
|
|
264
|
+
* @example
|
|
265
|
+
* ```ts
|
|
266
|
+
* const parent = new Workflow('Parent');
|
|
267
|
+
* const child = new Workflow('Child', parent);
|
|
268
|
+
*
|
|
269
|
+
* // Later, reparent to a different parent
|
|
270
|
+
* parent.detachChild(child);
|
|
271
|
+
* newParent.attachChild(child);
|
|
272
|
+
* ```
|
|
273
|
+
*/
|
|
274
|
+
detachChild(child: Workflow): void;
|
|
275
|
+
/**
|
|
276
|
+
* Emit an event to all root observers
|
|
277
|
+
* @side effects Pushes event to node.events array and notifies all registered observers.
|
|
278
|
+
* May trigger treeUpdated notifications for specific event types.
|
|
279
|
+
*/
|
|
280
|
+
emitEvent(event: WorkflowEvent): void;
|
|
281
|
+
/**
|
|
282
|
+
* Replay historical events to an observer
|
|
283
|
+
*
|
|
284
|
+
* **Strategy:**
|
|
285
|
+
* 1. Start with event history array
|
|
286
|
+
* 2. Filter by timestamp if `since` is provided
|
|
287
|
+
* 3. Limit events if `limit` is provided
|
|
288
|
+
* 4. Call observer.onEvent() for each event
|
|
289
|
+
* 5. Handle observer errors gracefully
|
|
290
|
+
*
|
|
291
|
+
* **Performance:** O(n) where n = number of events in history
|
|
292
|
+
*
|
|
293
|
+
* **Timestamp Handling:**
|
|
294
|
+
* - Events with timestamps: stepRetry, stepRestarted, invalidResponse
|
|
295
|
+
* - Events without timestamps: Always included (considered timeless)
|
|
296
|
+
* - Filter applies only to events with timestamp field
|
|
297
|
+
*
|
|
298
|
+
* **Order of Operations:** Filter first, then limit (more efficient)
|
|
299
|
+
*
|
|
300
|
+
* **Use Case:**
|
|
301
|
+
* - Catch up new observers to current state
|
|
302
|
+
* - Debug by replaying events to diagnostic observers
|
|
303
|
+
* - Test scenarios by replaying historical events
|
|
304
|
+
*
|
|
305
|
+
* @param observer - The observer to replay events to
|
|
306
|
+
* @param options - Optional replay configuration
|
|
307
|
+
* @param options.since - Only replay events after this timestamp (ms since epoch)
|
|
308
|
+
* @param options.limit - Maximum number of events to replay
|
|
309
|
+
*
|
|
310
|
+
* @example Replay all events to new observer
|
|
311
|
+
* ```ts
|
|
312
|
+
* const observer = {
|
|
313
|
+
* onLog: () => {},
|
|
314
|
+
* onEvent: (e) => console.log(e.type),
|
|
315
|
+
* onStateUpdated: () => {},
|
|
316
|
+
* onTreeChanged: () => {},
|
|
317
|
+
* };
|
|
318
|
+
* workflow.replayEvents(observer);
|
|
319
|
+
* ```
|
|
320
|
+
*
|
|
321
|
+
* @example Replay last 10 events
|
|
322
|
+
* ```ts
|
|
323
|
+
* workflow.replayEvents(observer, { limit: 10 });
|
|
324
|
+
* ```
|
|
325
|
+
*
|
|
326
|
+
* @example Replay events from last 5 minutes
|
|
327
|
+
* ```ts
|
|
328
|
+
* const fiveMinutesAgo = Date.now() - 5 * 60 * 1000;
|
|
329
|
+
* workflow.replayEvents(observer, { since: fiveMinutesAgo });
|
|
330
|
+
* ```
|
|
331
|
+
*/
|
|
332
|
+
replayEvents(observer: WorkflowObserver, options?: ReplayEventsOptions): void;
|
|
333
|
+
/**
|
|
334
|
+
* Clear the event history array
|
|
335
|
+
*
|
|
336
|
+
* **Strategy:**
|
|
337
|
+
* - Reassign #eventHistory to empty array
|
|
338
|
+
* - Frees memory by discarding all stored events
|
|
339
|
+
* - Events in node.events are preserved
|
|
340
|
+
*
|
|
341
|
+
* **Use Case:**
|
|
342
|
+
* - Free memory after workflow completes
|
|
343
|
+
* - Reset history between test runs
|
|
344
|
+
* - Prevent memory leaks in long-running workflows
|
|
345
|
+
*
|
|
346
|
+
* **Side Effects:**
|
|
347
|
+
* - Frees memory for discarded events
|
|
348
|
+
* - Future replayEvents() calls will return empty
|
|
349
|
+
* - Does NOT affect node.events array
|
|
350
|
+
*
|
|
351
|
+
* @example Clear history after workflow completes
|
|
352
|
+
* ```ts
|
|
353
|
+
* await workflow.run();
|
|
354
|
+
* workflow.clearEventHistory(); // Free memory
|
|
355
|
+
* ```
|
|
356
|
+
*/
|
|
357
|
+
clearEventHistory(): void;
|
|
358
|
+
/**
|
|
359
|
+
* Capture and emit a state snapshot
|
|
360
|
+
* @side effects Updates node.stateSnapshot, notifies observers via onStateUpdated callback,
|
|
361
|
+
* emits snapshot event, and triggers treeUpdated event for debugger.
|
|
362
|
+
*/
|
|
363
|
+
snapshotState(): void;
|
|
364
|
+
/**
|
|
365
|
+
* Restart a specific step with state restoration and retry tracking
|
|
366
|
+
*
|
|
367
|
+
* This method enables manual step restart from parent workflows. It validates
|
|
368
|
+
* the step exists, checks retry limits, optionally restores state, re-executes
|
|
369
|
+
* the step method, and emits a stepRestarted event for observability.
|
|
370
|
+
*
|
|
371
|
+
* @param stepName - The name of the step method to restart
|
|
372
|
+
* @param options - Optional configuration for the restart attempt
|
|
373
|
+
* @returns The result of the step execution
|
|
374
|
+
* @throws {WorkflowError} When step is not found or max retries exceeded
|
|
375
|
+
*
|
|
376
|
+
* @example Restart a step with default retry tracking
|
|
377
|
+
* ```ts
|
|
378
|
+
* class MyWorkflow extends Workflow {
|
|
379
|
+
* @Step({ restartable: true })
|
|
380
|
+
* async myStep() { return 'result'; }
|
|
381
|
+
*
|
|
382
|
+
* async run() {
|
|
383
|
+
* const result = await this.restartStep('myStep');
|
|
384
|
+
* }
|
|
385
|
+
* }
|
|
386
|
+
* ```
|
|
387
|
+
*
|
|
388
|
+
* @example Restart with explicit retry count and state override
|
|
389
|
+
* ```ts
|
|
390
|
+
* await this.restartStep('failingStep', {
|
|
391
|
+
* retryCount: 1,
|
|
392
|
+
* maxRetries: 3,
|
|
393
|
+
* stateOverride: { counter: 5 }
|
|
394
|
+
* });
|
|
395
|
+
* ```
|
|
396
|
+
*/
|
|
397
|
+
restartStep(stepName: string, options?: RestartStepOptions): Promise<unknown>;
|
|
398
|
+
/**
|
|
399
|
+
* Analyze a WorkflowError from a child workflow and determine restart action
|
|
400
|
+
*
|
|
401
|
+
* This method enables parent workflows to make intelligent decisions about child
|
|
402
|
+
* workflow failures by analyzing the error and step metadata to determine whether
|
|
403
|
+
* to retry the child, abort the parent, or rebuild the execution plan.
|
|
404
|
+
*
|
|
405
|
+
* **Analysis Flow:**
|
|
406
|
+
* 1. Check `error.original?.recoverable` - if false, return 'abort'
|
|
407
|
+
* 2. Extract stepName from error metadata (if available)
|
|
408
|
+
* 3. Retrieve step metadata from stepMetadata map (if exists)
|
|
409
|
+
* 4. Check if step is marked as restartable - if not, return 'abort'
|
|
410
|
+
* 5. Use `analyzeErrorForRestart` utility to check retry criteria
|
|
411
|
+
* 6. Return 'retry' if any criteria match, otherwise 'abort'
|
|
412
|
+
*
|
|
413
|
+
* **Integration with restartStep:**
|
|
414
|
+
* This method is designed to be used alongside `restartStep()`:
|
|
415
|
+
* - Call `analyzeError()` to get the decision
|
|
416
|
+
* - If 'retry', call `restartStep(stepName)` to execute
|
|
417
|
+
* - If 'abort', throw the error or return early
|
|
418
|
+
* - If 'rebuild', trigger plan rebuild logic
|
|
419
|
+
*
|
|
420
|
+
* @param error - The WorkflowError to analyze (typically from child workflow)
|
|
421
|
+
* @returns The recommended action: 'retry', 'abort', or 'rebuild'
|
|
422
|
+
*
|
|
423
|
+
* @example Parent workflow error handling
|
|
424
|
+
* ```ts
|
|
425
|
+
* class ParentWorkflow extends Workflow {
|
|
426
|
+
* @Step({ restartable: true, retryOn: [{ code: 'TIMEOUT' }] })
|
|
427
|
+
* async childWorkflow(): Promise<void> {
|
|
428
|
+
* // Child logic that may fail
|
|
429
|
+
* }
|
|
430
|
+
*
|
|
431
|
+
* async run(): Promise<void> {
|
|
432
|
+
* try {
|
|
433
|
+
* await this.childWorkflow();
|
|
434
|
+
* } catch (err) {
|
|
435
|
+
* const error = err as WorkflowError;
|
|
436
|
+
* const action = this.analyzeError(error);
|
|
437
|
+
*
|
|
438
|
+
* if (action === 'retry') {
|
|
439
|
+
* await this.restartStep('childWorkflow');
|
|
440
|
+
* } else if (action === 'abort') {
|
|
441
|
+
* throw error;
|
|
442
|
+
* } else if (action === 'rebuild') {
|
|
443
|
+
* // Trigger plan rebuild logic
|
|
444
|
+
* }
|
|
445
|
+
* }
|
|
446
|
+
* }
|
|
447
|
+
* }
|
|
448
|
+
* ```
|
|
449
|
+
*
|
|
450
|
+
* @example Analyze error from child workflow event
|
|
451
|
+
* ```ts
|
|
452
|
+
* class ParentWorkflow extends Workflow {
|
|
453
|
+
* private lastError: WorkflowError | null = null;
|
|
454
|
+
*
|
|
455
|
+
* async run(): Promise<void> {
|
|
456
|
+
* // Subscribe to error events
|
|
457
|
+
* this.on('error', (event) => {
|
|
458
|
+
* this.lastError = event.error;
|
|
459
|
+
* });
|
|
460
|
+
*
|
|
461
|
+
* // Later, analyze the error
|
|
462
|
+
* if (this.lastError) {
|
|
463
|
+
* const action = this.analyzeError(this.lastError);
|
|
464
|
+
* // Take action based on decision
|
|
465
|
+
* }
|
|
466
|
+
* }
|
|
467
|
+
* }
|
|
468
|
+
* ```
|
|
469
|
+
*
|
|
470
|
+
* @remarks
|
|
471
|
+
* **Known Limitation:**
|
|
472
|
+
* The `stepMetadata` map is not yet populated by the `@Step` decorator.
|
|
473
|
+
* This method will return 'abort' if stepMetadata is not available or the step
|
|
474
|
+
* is not found. This will be improved in a future update to the decorator.
|
|
475
|
+
*
|
|
476
|
+
* **Error Metadata:**
|
|
477
|
+
* The stepName is extracted from `error.state?.stepName`. Ensure child
|
|
478
|
+
* workflows populate this field when creating WorkflowError instances.
|
|
479
|
+
*
|
|
480
|
+
* @see {@link restartStep} - For executing a retry after analysis
|
|
481
|
+
* @see {@link analyzeErrorForRestart} - For the underlying utility function
|
|
482
|
+
*/
|
|
483
|
+
analyzeError(error: WorkflowError): 'retry' | 'abort' | 'rebuild';
|
|
484
|
+
/**
|
|
485
|
+
* Validate an agent response at the workflow level
|
|
486
|
+
*
|
|
487
|
+
* This method enables parent workflows to validate agent responses
|
|
488
|
+
* before processing them. It follows the same validation pattern as
|
|
489
|
+
* Agent.validateResponse() but emits events and creates WorkflowError
|
|
490
|
+
* for workflow-level error handling.
|
|
491
|
+
*
|
|
492
|
+
* @template T - The type of response data
|
|
493
|
+
* @param response - The AgentResponse to validate
|
|
494
|
+
* @param agentId - Identifier of the agent that produced the response
|
|
495
|
+
* @param dataSchema - Optional Zod schema for response data (defaults to z.unknown())
|
|
496
|
+
* @returns true if validation passes, false if validation fails
|
|
497
|
+
*
|
|
498
|
+
* @example Validate response from child workflow
|
|
499
|
+
* ```ts
|
|
500
|
+
* class ParentWorkflow extends Workflow {
|
|
501
|
+
* @Step()
|
|
502
|
+
* async processChildResult() {
|
|
503
|
+
* const response = await this.childWorkflow.run();
|
|
504
|
+
*
|
|
505
|
+
* if (!this.validateAgentResponse(response, this.childWorkflow.agent.id)) {
|
|
506
|
+
* // Handle validation failure
|
|
507
|
+
* const action = this.analyzeError(this.lastError);
|
|
508
|
+
* if (action === 'retry') {
|
|
509
|
+
* return await this.restartStep('processChildResult');
|
|
510
|
+
* }
|
|
511
|
+
* }
|
|
512
|
+
*
|
|
513
|
+
* // Process valid response
|
|
514
|
+
* return response.data;
|
|
515
|
+
* }
|
|
516
|
+
* }
|
|
517
|
+
* ```
|
|
518
|
+
*/
|
|
519
|
+
validateAgentResponse<T>(response: AgentResponse<T>, agentId: string, dataSchema?: z.ZodTypeAny): boolean;
|
|
520
|
+
/**
|
|
521
|
+
* Update workflow status and sync with node
|
|
522
|
+
*/
|
|
523
|
+
setStatus(status: WorkflowStatus): void;
|
|
524
|
+
/**
|
|
525
|
+
* Get the node representation of this workflow
|
|
526
|
+
*/
|
|
527
|
+
getNode(): WorkflowNode;
|
|
528
|
+
/**
|
|
529
|
+
* Run the workflow
|
|
530
|
+
*
|
|
531
|
+
* For functional workflows (created with executor), runs the executor function.
|
|
532
|
+
* For class-based workflows (subclasses), this should be overridden.
|
|
533
|
+
*
|
|
534
|
+
* @returns Workflow result
|
|
535
|
+
*/
|
|
536
|
+
run(..._args: unknown[]): Promise<T | WorkflowResult<T>>;
|
|
537
|
+
/**
|
|
538
|
+
* Run a functional workflow with context
|
|
539
|
+
*/
|
|
540
|
+
private runFunctional;
|
|
541
|
+
}
|
|
542
|
+
export {};
|
|
543
|
+
//# sourceMappingURL=workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/core/workflow.ts"],"names":[],"mappings":"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"}
|