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 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code-harness.js","sourceRoot":"","sources":["../../src/harnesses/claude-code-harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Harness Registry - Singleton harness lifecycle management
|
|
3
|
+
*
|
|
4
|
+
* Implements singleton pattern for managing harness instances across
|
|
5
|
+
* the application. Ensures single shared instance of each harness.
|
|
6
|
+
*
|
|
7
|
+
* @module harnesses
|
|
8
|
+
*/
|
|
9
|
+
import type { Provider, ProviderId, ProviderOptions, GlobalProviderConfig } from '../types/providers.js';
|
|
10
|
+
/**
|
|
11
|
+
* Provider initialization status enum
|
|
12
|
+
*
|
|
13
|
+
* Defines all possible initialization states for type-safe status tracking.
|
|
14
|
+
*/
|
|
15
|
+
export declare enum InitializationStatus {
|
|
16
|
+
/** Provider not yet initialized */
|
|
17
|
+
UNINITIALIZED = "uninitialized",
|
|
18
|
+
/** Currently initializing (in progress) */
|
|
19
|
+
INITIALIZING = "initializing",
|
|
20
|
+
/** Successfully initialized */
|
|
21
|
+
INITIALIZED = "initialized",
|
|
22
|
+
/** Initialization failed */
|
|
23
|
+
FAILED = "failed"
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Provider initialization state with metadata
|
|
27
|
+
*
|
|
28
|
+
* Tracks initialization progress and caches the init promise.
|
|
29
|
+
*/
|
|
30
|
+
interface ProviderInitState {
|
|
31
|
+
/** Current initialization status */
|
|
32
|
+
status: InitializationStatus;
|
|
33
|
+
/** Cached initialization promise (prevents duplicate init) */
|
|
34
|
+
initPromise?: Promise<void>;
|
|
35
|
+
/** Error from failed initialization */
|
|
36
|
+
error?: Error;
|
|
37
|
+
/** Timestamp when initialization completed */
|
|
38
|
+
initializedAt?: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Batch initialization result with aggregated status
|
|
42
|
+
*
|
|
43
|
+
* Discriminated union for type-safe result handling.
|
|
44
|
+
*/
|
|
45
|
+
interface BatchInitResult {
|
|
46
|
+
/** Successfully initialized provider IDs */
|
|
47
|
+
success: ProviderId[];
|
|
48
|
+
/** Failed providers with errors */
|
|
49
|
+
failed: Array<{
|
|
50
|
+
providerId: ProviderId;
|
|
51
|
+
error: Error;
|
|
52
|
+
}>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Singleton registry for managing harness instances.
|
|
56
|
+
*
|
|
57
|
+
* This class maintains a single instance of itself and stores harness
|
|
58
|
+
* instances in a Map for efficient lookup by ProviderId.
|
|
59
|
+
*
|
|
60
|
+
* ## Singleton Pattern
|
|
61
|
+
*
|
|
62
|
+
* - Private constructor prevents direct instantiation
|
|
63
|
+
* - Static getInstance() returns the single instance
|
|
64
|
+
* - Lazy initialization creates instance on first call
|
|
65
|
+
*
|
|
66
|
+
* ## Usage
|
|
67
|
+
*
|
|
68
|
+
* ```ts
|
|
69
|
+
* // Get registry instance
|
|
70
|
+
* const registry = HarnessRegistry.getInstance();
|
|
71
|
+
*
|
|
72
|
+
* // Register a harness
|
|
73
|
+
* registry.register(anthropicProvider);
|
|
74
|
+
*
|
|
75
|
+
* // Retrieve a harness
|
|
76
|
+
* const provider = registry.get('anthropic');
|
|
77
|
+
*
|
|
78
|
+
* // Check existence
|
|
79
|
+
* if (registry.has('anthropic')) {
|
|
80
|
+
* // Harness is registered
|
|
81
|
+
* }
|
|
82
|
+
* ```
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```ts
|
|
86
|
+
* import { HarnessRegistry } from 'groundswell';
|
|
87
|
+
*
|
|
88
|
+
* // Register harnesses at startup
|
|
89
|
+
* const registry = HarnessRegistry.getInstance();
|
|
90
|
+
* registry.register(new AnthropicProvider());
|
|
91
|
+
* registry.register(new ClaudeCodeHarness());
|
|
92
|
+
*
|
|
93
|
+
* // Retrieve harnesses throughout application
|
|
94
|
+
* const anthropic = registry.get('anthropic');
|
|
95
|
+
* if (anthropic) {
|
|
96
|
+
* await anthropic.initialize();
|
|
97
|
+
* }
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export declare class HarnessRegistry {
|
|
101
|
+
/**
|
|
102
|
+
* Private static instance - the singleton instance
|
|
103
|
+
*
|
|
104
|
+
* @internal
|
|
105
|
+
*/
|
|
106
|
+
private static instance;
|
|
107
|
+
/**
|
|
108
|
+
* Private provider storage - maps ProviderId to Provider instance
|
|
109
|
+
*
|
|
110
|
+
* @internal
|
|
111
|
+
*/
|
|
112
|
+
private providers;
|
|
113
|
+
/**
|
|
114
|
+
* Private initialization state storage - maps ProviderId to ProviderInitState
|
|
115
|
+
*
|
|
116
|
+
* @internal
|
|
117
|
+
*/
|
|
118
|
+
private states;
|
|
119
|
+
/**
|
|
120
|
+
* Private constructor - prevents direct instantiation
|
|
121
|
+
*
|
|
122
|
+
* Use getInstance() to get the singleton instance.
|
|
123
|
+
*
|
|
124
|
+
* @internal
|
|
125
|
+
*/
|
|
126
|
+
private constructor();
|
|
127
|
+
/**
|
|
128
|
+
* Get the singleton HarnessRegistry instance
|
|
129
|
+
*
|
|
130
|
+
* Creates the instance on first call (lazy initialization).
|
|
131
|
+
* Returns the same instance on subsequent calls.
|
|
132
|
+
*
|
|
133
|
+
* @returns The singleton HarnessRegistry instance
|
|
134
|
+
* @remarks Creates instance on first call (lazy initialization).
|
|
135
|
+
* Returns same instance on subsequent calls.
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```ts
|
|
139
|
+
* const registry1 = HarnessRegistry.getInstance();
|
|
140
|
+
* const registry2 = HarnessRegistry.getInstance();
|
|
141
|
+
* console.log(registry1 === registry2); // true
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
static getInstance(): HarnessRegistry;
|
|
145
|
+
/**
|
|
146
|
+
* Register a provider instance
|
|
147
|
+
*
|
|
148
|
+
* Stores the provider in the registry using its id as the key.
|
|
149
|
+
* Throws an error if a provider with the same id is already registered.
|
|
150
|
+
*
|
|
151
|
+
* @param provider - The provider instance to register
|
|
152
|
+
* @throws {Error} If a provider with the same id is already registered
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```ts
|
|
156
|
+
* const registry = ProviderRegistry.getInstance();
|
|
157
|
+
* const anthropic = new AnthropicProvider();
|
|
158
|
+
* registry.register(anthropic);
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
register(provider: Provider): void;
|
|
162
|
+
/**
|
|
163
|
+
* Get a registered provider by id
|
|
164
|
+
*
|
|
165
|
+
* Returns the provider instance if registered, otherwise returns undefined.
|
|
166
|
+
* Does NOT throw for missing providers.
|
|
167
|
+
*
|
|
168
|
+
* @param id - The provider id to look up
|
|
169
|
+
* @returns The provider instance, or undefined if not registered
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```ts
|
|
173
|
+
* const registry = ProviderRegistry.getInstance();
|
|
174
|
+
* const anthropic = registry.get('anthropic');
|
|
175
|
+
* if (anthropic) {
|
|
176
|
+
* console.log('Provider found:', anthropic.id);
|
|
177
|
+
* }
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
get(id: ProviderId): Provider | undefined;
|
|
181
|
+
/**
|
|
182
|
+
* Check if a provider is registered
|
|
183
|
+
*
|
|
184
|
+
* Returns true if a provider with the given id is registered,
|
|
185
|
+
* otherwise returns false.
|
|
186
|
+
*
|
|
187
|
+
* @param id - The provider id to check
|
|
188
|
+
* @returns true if the provider is registered, false otherwise
|
|
189
|
+
*
|
|
190
|
+
* @example
|
|
191
|
+
* ```ts
|
|
192
|
+
* const registry = ProviderRegistry.getInstance();
|
|
193
|
+
* if (registry.has('anthropic')) {
|
|
194
|
+
* console.log('Anthropic provider is available');
|
|
195
|
+
* }
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
has(id: ProviderId): boolean;
|
|
199
|
+
/**
|
|
200
|
+
* Initialize a single provider with promise caching
|
|
201
|
+
*
|
|
202
|
+
* Initializes a provider with the given options. Multiple concurrent calls
|
|
203
|
+
* to initialize the same provider will share the same promise (no duplicate
|
|
204
|
+
* initialization). Already initialized providers return immediately.
|
|
205
|
+
*
|
|
206
|
+
* ## Promise Caching
|
|
207
|
+
*
|
|
208
|
+
* The initialization promise is cached in the provider's state. Concurrent
|
|
209
|
+
* calls to initialize the same provider will await the same promise.
|
|
210
|
+
*
|
|
211
|
+
* ## State Transitions
|
|
212
|
+
*
|
|
213
|
+
* - UNINITIALIZED → INITIALIZING → INITIALIZED (success)
|
|
214
|
+
* - UNINITIALIZED → INITIALIZING → FAILED (error)
|
|
215
|
+
*
|
|
216
|
+
* @param id - The provider id to initialize (required)
|
|
217
|
+
* @param options - Optional provider configuration options (default: undefined)
|
|
218
|
+
* @returns Promise that resolves when initialization completes
|
|
219
|
+
* @throws {Error} If provider is not registered
|
|
220
|
+
* @throws {Error} If provider initialization fails
|
|
221
|
+
* @side effects May modify internal state, may fail provider if already initialized with different options.
|
|
222
|
+
*
|
|
223
|
+
* @example
|
|
224
|
+
* ```ts
|
|
225
|
+
* const registry = ProviderRegistry.getInstance();
|
|
226
|
+
* await registry.initializeProvider('anthropic', { apiKey: 'sk-...' });
|
|
227
|
+
* console.log(registry.isReady('anthropic')); // true
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
initializeProvider(id: ProviderId, options?: ProviderOptions): Promise<void>;
|
|
231
|
+
/**
|
|
232
|
+
* Initialize all registered providers in parallel
|
|
233
|
+
*
|
|
234
|
+
* Uses Promise.allSettled to allow partial success - if one provider fails,
|
|
235
|
+
* others continue initialization. Errors are aggregated in the return value.
|
|
236
|
+
*
|
|
237
|
+
* Provider options are resolved from config.providerDefaults[providerId].
|
|
238
|
+
* If no options are configured for a provider, undefined is passed.
|
|
239
|
+
*
|
|
240
|
+
* ## Parallel Initialization
|
|
241
|
+
*
|
|
242
|
+
* All providers initialize concurrently for faster startup. The method
|
|
243
|
+
* waits for all initialization attempts to complete before returning.
|
|
244
|
+
*
|
|
245
|
+
* ## Error Aggregation
|
|
246
|
+
*
|
|
247
|
+
* This method never throws - all errors are collected in the returned
|
|
248
|
+
* BatchInitResult.failed array. Check this array to identify failed providers.
|
|
249
|
+
*
|
|
250
|
+
* @param config - Global provider configuration with provider defaults (required)
|
|
251
|
+
* @returns Promise resolving to success/failure lists
|
|
252
|
+
* @side effects Modifies internal state, fails providers individually if initialization fails.
|
|
253
|
+
*
|
|
254
|
+
* @example
|
|
255
|
+
* ```ts
|
|
256
|
+
* const registry = ProviderRegistry.getInstance();
|
|
257
|
+
* const config = getGlobalProviderConfig();
|
|
258
|
+
* const result = await registry.initializeAll(config);
|
|
259
|
+
*
|
|
260
|
+
* console.log(`Initialized: ${result.success.join(', ')}`);
|
|
261
|
+
* if (result.failed.length > 0) {
|
|
262
|
+
* console.error(`Failed: ${result.failed.map(f => f.providerId).join(', ')}`);
|
|
263
|
+
* }
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
initializeAll(config: GlobalProviderConfig): Promise<BatchInitResult>;
|
|
267
|
+
/**
|
|
268
|
+
* Get initialization status for a provider
|
|
269
|
+
*
|
|
270
|
+
* Returns the current initialization status for the given provider ID.
|
|
271
|
+
* Unknown providers return UNINITIALIZED status.
|
|
272
|
+
*
|
|
273
|
+
* @param id - The provider id to check
|
|
274
|
+
* @returns Current initialization status
|
|
275
|
+
*
|
|
276
|
+
* @example
|
|
277
|
+
* ```ts
|
|
278
|
+
* const registry = ProviderRegistry.getInstance();
|
|
279
|
+
* const status = registry.getStatus('anthropic');
|
|
280
|
+
* console.log(status); // 'initialized' | 'initializing' | 'failed' | 'uninitialized'
|
|
281
|
+
* ```
|
|
282
|
+
*/
|
|
283
|
+
getStatus(id: ProviderId): InitializationStatus;
|
|
284
|
+
/**
|
|
285
|
+
* Check if a provider is ready to use
|
|
286
|
+
*
|
|
287
|
+
* Returns true only if the provider has successfully initialized.
|
|
288
|
+
* Use this method to check provider readiness before use.
|
|
289
|
+
*
|
|
290
|
+
* @param id - The provider id to check
|
|
291
|
+
* @returns true if provider is initialized and ready, false otherwise
|
|
292
|
+
*
|
|
293
|
+
* @example
|
|
294
|
+
* ```ts
|
|
295
|
+
* const registry = ProviderRegistry.getInstance();
|
|
296
|
+
* if (registry.isReady('anthropic')) {
|
|
297
|
+
* const provider = registry.get('anthropic');
|
|
298
|
+
* // Use provider
|
|
299
|
+
* }
|
|
300
|
+
* ```
|
|
301
|
+
*/
|
|
302
|
+
isReady(id: ProviderId): boolean;
|
|
303
|
+
/**
|
|
304
|
+
* Get all provider initialization states
|
|
305
|
+
*
|
|
306
|
+
* Returns a copy of the internal states Map for health checks,
|
|
307
|
+
* monitoring, and debugging. The returned Map is a shallow copy -
|
|
308
|
+
* modifications to it won't affect internal state.
|
|
309
|
+
*
|
|
310
|
+
* @returns Map of provider ID to initialization state
|
|
311
|
+
*
|
|
312
|
+
* @example
|
|
313
|
+
* ```ts
|
|
314
|
+
* const registry = ProviderRegistry.getInstance();
|
|
315
|
+
* const statuses = registry.getAllStatuses();
|
|
316
|
+
*
|
|
317
|
+
* for (const [id, state] of statuses.entries()) {
|
|
318
|
+
* console.log(`${id}: ${state.status}`);
|
|
319
|
+
* }
|
|
320
|
+
* ```
|
|
321
|
+
*/
|
|
322
|
+
getAllStatuses(): Map<ProviderId, ProviderInitState>;
|
|
323
|
+
/**
|
|
324
|
+
* Terminate all registered providers with error tolerance
|
|
325
|
+
*
|
|
326
|
+
* Terminates all providers in parallel, ensuring each gets a chance to
|
|
327
|
+
* clean up resources even if some fail. Errors are logged but not thrown.
|
|
328
|
+
* After termination completes, clears the providers and states maps.
|
|
329
|
+
*
|
|
330
|
+
* ## Parallel Termination
|
|
331
|
+
*
|
|
332
|
+
* All providers terminate concurrently using Promise.allSettled.
|
|
333
|
+
* This ensures fast shutdown while allowing partial success.
|
|
334
|
+
*
|
|
335
|
+
* ## Error Handling
|
|
336
|
+
*
|
|
337
|
+
* If a provider's terminate() throws, the error is logged but other
|
|
338
|
+
* providers continue terminating. The method never throws.
|
|
339
|
+
*
|
|
340
|
+
* ## State Cleanup
|
|
341
|
+
*
|
|
342
|
+
* After all termination attempts complete, the providers and states
|
|
343
|
+
* maps are cleared. This releases references and allows re-initialization.
|
|
344
|
+
*
|
|
345
|
+
* @side effects Calls provider.terminate() for each provider, clears internal state maps,
|
|
346
|
+
* logs errors for failed terminations, and performs cleanup for memory-based stores.
|
|
347
|
+
*
|
|
348
|
+
* @example
|
|
349
|
+
* ```ts
|
|
350
|
+
* const registry = ProviderRegistry.getInstance();
|
|
351
|
+
*
|
|
352
|
+
* // Register and initialize providers
|
|
353
|
+
* registry.register(anthropicProvider);
|
|
354
|
+
* registry.register(claudeCodeProvider);
|
|
355
|
+
* await registry.initializeAll(config);
|
|
356
|
+
*
|
|
357
|
+
* // Later, during shutdown
|
|
358
|
+
* await registry.terminateAll();
|
|
359
|
+
*
|
|
360
|
+
* // All providers terminated, maps cleared
|
|
361
|
+
* console.log(registry.has('anthropic')); // false
|
|
362
|
+
* ```
|
|
363
|
+
*/
|
|
364
|
+
terminateAll(): Promise<void>;
|
|
365
|
+
/**
|
|
366
|
+
* Reset the singleton instance to null
|
|
367
|
+
*
|
|
368
|
+
* **FOR TESTING PURPOSES ONLY**
|
|
369
|
+
*
|
|
370
|
+
* Clears the singleton instance, causing the next call to getInstance()
|
|
371
|
+
* to create a fresh instance. Use in afterEach() hooks to ensure
|
|
372
|
+
* test isolation.
|
|
373
|
+
*
|
|
374
|
+
* @internal
|
|
375
|
+
*
|
|
376
|
+
* @example
|
|
377
|
+
* ```ts
|
|
378
|
+
* import { describe, it, afterEach } from 'vitest';
|
|
379
|
+
*
|
|
380
|
+
* describe('ProviderRegistry', () => {
|
|
381
|
+
* afterEach(() => {
|
|
382
|
+
* ProviderRegistry._resetForTesting();
|
|
383
|
+
* });
|
|
384
|
+
*
|
|
385
|
+
* it('should start fresh', () => {
|
|
386
|
+
* const registry = ProviderRegistry.getInstance();
|
|
387
|
+
* // Test with clean state
|
|
388
|
+
* });
|
|
389
|
+
* });
|
|
390
|
+
* ```
|
|
391
|
+
*/
|
|
392
|
+
static _resetForTesting(): void;
|
|
393
|
+
/**
|
|
394
|
+
* Reset initialization state for testing
|
|
395
|
+
*
|
|
396
|
+
* **FOR TESTING PURPOSES ONLY**
|
|
397
|
+
*
|
|
398
|
+
* Clears the initialization states Map, removing all cached promises
|
|
399
|
+
* and status information. Use in afterEach() hooks along with
|
|
400
|
+
* _resetForTesting() to ensure complete test isolation.
|
|
401
|
+
*
|
|
402
|
+
* @internal
|
|
403
|
+
*
|
|
404
|
+
* @example
|
|
405
|
+
* ```ts
|
|
406
|
+
* import { describe, it, afterEach } from 'vitest';
|
|
407
|
+
* import { ProviderRegistry } from './harness-registry.js';
|
|
408
|
+
*
|
|
409
|
+
* describe('ProviderRegistry', () => {
|
|
410
|
+
* afterEach(() => {
|
|
411
|
+
* const registry = ProviderRegistry.getInstance();
|
|
412
|
+
* registry._resetInitStateForTesting();
|
|
413
|
+
* ProviderRegistry._resetForTesting();
|
|
414
|
+
* });
|
|
415
|
+
*
|
|
416
|
+
* it('should initialize fresh', () => {
|
|
417
|
+
* const registry = ProviderRegistry.getInstance();
|
|
418
|
+
* // Test with clean initialization state
|
|
419
|
+
* });
|
|
420
|
+
* });
|
|
421
|
+
* ```
|
|
422
|
+
*/
|
|
423
|
+
_resetInitStateForTesting(): void;
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* @deprecated Since v1.2. Use {@link HarnessRegistry}. Retained so existing
|
|
427
|
+
* `import { ProviderRegistry }` callsites (agent.ts, tests, public barrel) keep
|
|
428
|
+
* resolving during the harness-vocabulary migration. Removed when P2.M1/P3.M1/P4.M1
|
|
429
|
+
* collapse the Provider/ProviderId aliases.
|
|
430
|
+
*/
|
|
431
|
+
export type ProviderRegistry = HarnessRegistry;
|
|
432
|
+
/**
|
|
433
|
+
* @deprecated Since v1.2. Use {@link HarnessRegistry}. Retained so existing
|
|
434
|
+
* `import { ProviderRegistry }` callsites (agent.ts, tests, public barrel) keep
|
|
435
|
+
* resolving during the harness-vocabulary migration. Removed when P2.M1/P3.M1/P4.M1
|
|
436
|
+
* collapse the Provider/ProviderId aliases.
|
|
437
|
+
*/
|
|
438
|
+
export declare const ProviderRegistry: typeof HarnessRegistry;
|
|
439
|
+
export {};
|
|
440
|
+
//# sourceMappingURL=harness-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harness-registry.d.ts","sourceRoot":"","sources":["../../src/harnesses/harness-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,eAAe,EACf,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAM/B;;;;GAIG;AACH,oBAAY,oBAAoB;IAC9B,mCAAmC;IACnC,aAAa,kBAAkB;IAC/B,2CAA2C;IAC3C,YAAY,iBAAiB;IAC7B,+BAA+B;IAC/B,WAAW,gBAAgB;IAC3B,4BAA4B;IAC5B,MAAM,WAAW;CAClB;AAED;;;;GAIG;AACH,UAAU,iBAAiB;IACzB,oCAAoC;IACpC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,8DAA8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,uCAAuC;IACvC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,UAAU,eAAe;IACvB,4CAA4C;IAC5C,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,mCAAmC;IACnC,MAAM,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;CACzD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,qBAAa,eAAe;IAC1B;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAEzC;;;;OAIG;IACH,OAAO,CAAC,SAAS,CAAwC;IAEzD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAiD;IAE/D;;;;;;OAMG;IACH,OAAO;IASP;;;;;;;;;;;;;;;;OAgBG;WACW,WAAW,IAAI,eAAe;IAW5C;;;;;;;;;;;;;;;OAeG;IACI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAUzC;;;;;;;;;;;;;;;;;OAiBG;IACI,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS;IAMhD;;;;;;;;;;;;;;;;OAgBG;IACI,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IASnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACU,kBAAkB,CAC7B,EAAE,EAAE,UAAU,EACd,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC;IA0ChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACU,aAAa,CACxB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,eAAe,CAAC;IAyC3B;;;;;;;;;;;;;;;OAeG;IACI,SAAS,CAAC,EAAE,EAAE,UAAU,GAAG,oBAAoB;IAItD;;;;;;;;;;;;;;;;;OAiBG;IACI,OAAO,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAIvC;;;;;;;;;;;;;;;;;;OAkBG;IACI,cAAc,IAAI,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAS3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACU,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB1C;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;WACW,gBAAgB,IAAI,IAAI;IAItC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACI,yBAAyB,IAAI,IAAI;CAGzC;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,wBAAkB,CAAC"}
|