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
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
# PRP Template: {Feature Name}
|
|
2
|
-
|
|
3
|
-
> **PRP**: Product Requirements Package - A comprehensive implementation guide enabling one-pass success
|
|
4
|
-
|
|
5
|
-
## Pre-Implementation Checklist
|
|
6
|
-
|
|
7
|
-
Before implementing, verify you have:
|
|
8
|
-
- [ ] Read and understood this entire PRP
|
|
9
|
-
- [ ] Access to all referenced files and documentation
|
|
10
|
-
- [ ] Development environment properly configured
|
|
11
|
-
- [ ] Understanding of existing codebase patterns
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## 1. Goal
|
|
16
|
-
|
|
17
|
-
### Feature Goal
|
|
18
|
-
{One clear sentence describing what this feature accomplishes}
|
|
19
|
-
|
|
20
|
-
### Deliverable
|
|
21
|
-
{Concrete, measurable output - what files/functionality will exist when done}
|
|
22
|
-
|
|
23
|
-
### Success Definition
|
|
24
|
-
{How to verify the feature works correctly - specific criteria}
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## 2. Context
|
|
29
|
-
|
|
30
|
-
### External Documentation
|
|
31
|
-
```yaml
|
|
32
|
-
primary_docs:
|
|
33
|
-
- url: "{documentation_url}#specific-section"
|
|
34
|
-
purpose: "{what to learn from this}"
|
|
35
|
-
key_sections:
|
|
36
|
-
- "{section name}"
|
|
37
|
-
|
|
38
|
-
reference_implementations:
|
|
39
|
-
- url: "{github_url}"
|
|
40
|
-
purpose: "{what patterns to follow}"
|
|
41
|
-
files_to_study:
|
|
42
|
-
- "{specific file path}"
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### Codebase Context
|
|
46
|
-
```yaml
|
|
47
|
-
existing_patterns:
|
|
48
|
-
- file: "{path/to/file.ts}"
|
|
49
|
-
pattern: "{pattern name}"
|
|
50
|
-
follow_for: "{what aspect to replicate}"
|
|
51
|
-
|
|
52
|
-
related_files:
|
|
53
|
-
- path: "{path/to/related.ts}"
|
|
54
|
-
relationship: "{how it relates to this feature}"
|
|
55
|
-
|
|
56
|
-
naming_conventions:
|
|
57
|
-
files: "{convention description}"
|
|
58
|
-
classes: "{convention description}"
|
|
59
|
-
functions: "{convention description}"
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Technical Constraints
|
|
63
|
-
```yaml
|
|
64
|
-
typescript:
|
|
65
|
-
version: "{minimum version}"
|
|
66
|
-
config_requirements:
|
|
67
|
-
- "{specific tsconfig setting}"
|
|
68
|
-
|
|
69
|
-
dependencies:
|
|
70
|
-
required:
|
|
71
|
-
- name: "{package name}"
|
|
72
|
-
version: "{version range}"
|
|
73
|
-
purpose: "{why needed}"
|
|
74
|
-
avoid:
|
|
75
|
-
- name: "{package to avoid}"
|
|
76
|
-
reason: "{why to avoid}"
|
|
77
|
-
|
|
78
|
-
runtime:
|
|
79
|
-
node_version: "{minimum version}"
|
|
80
|
-
target: "{ES target}"
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### Known Gotchas
|
|
84
|
-
```yaml
|
|
85
|
-
pitfalls:
|
|
86
|
-
- issue: "{description of common mistake}"
|
|
87
|
-
solution: "{how to avoid/fix}"
|
|
88
|
-
|
|
89
|
-
- issue: "{another common mistake}"
|
|
90
|
-
solution: "{how to avoid/fix}"
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
---
|
|
94
|
-
|
|
95
|
-
## 3. Implementation Tasks
|
|
96
|
-
|
|
97
|
-
> Tasks are ordered by dependency. Complete each task fully before moving to the next.
|
|
98
|
-
|
|
99
|
-
### Task 1: {Task Name}
|
|
100
|
-
**Depends on**: None (or list dependencies)
|
|
101
|
-
|
|
102
|
-
**Input**: {What you need before starting}
|
|
103
|
-
|
|
104
|
-
**Steps**:
|
|
105
|
-
1. {Specific action with exact file names}
|
|
106
|
-
2. {Next action}
|
|
107
|
-
3. {Continue...}
|
|
108
|
-
|
|
109
|
-
**Output**: {What should exist when done}
|
|
110
|
-
|
|
111
|
-
**Validation**: {How to verify this task is complete}
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
### Task 2: {Task Name}
|
|
116
|
-
**Depends on**: Task 1
|
|
117
|
-
|
|
118
|
-
**Input**: {What you need}
|
|
119
|
-
|
|
120
|
-
**Steps**:
|
|
121
|
-
1. {Actions}
|
|
122
|
-
|
|
123
|
-
**Output**: {Results}
|
|
124
|
-
|
|
125
|
-
**Validation**: {Verification steps}
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
{Continue with additional tasks...}
|
|
130
|
-
|
|
131
|
-
---
|
|
132
|
-
|
|
133
|
-
## 4. Implementation Details
|
|
134
|
-
|
|
135
|
-
### Code Patterns to Follow
|
|
136
|
-
|
|
137
|
-
```typescript
|
|
138
|
-
// Example pattern with annotations
|
|
139
|
-
{code example showing the pattern to follow}
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
### File Structure
|
|
143
|
-
```
|
|
144
|
-
{directory structure showing where files should be created}
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
### Interface Definitions
|
|
148
|
-
```typescript
|
|
149
|
-
// Key interfaces that must be implemented
|
|
150
|
-
{interface definitions}
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
---
|
|
154
|
-
|
|
155
|
-
## 5. Testing Strategy
|
|
156
|
-
|
|
157
|
-
### Unit Tests
|
|
158
|
-
```yaml
|
|
159
|
-
test_files:
|
|
160
|
-
- path: "{test file path}"
|
|
161
|
-
covers:
|
|
162
|
-
- "{what it tests}"
|
|
163
|
-
|
|
164
|
-
test_patterns:
|
|
165
|
-
- "{describe the testing pattern to follow}"
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
### Integration Tests
|
|
169
|
-
```yaml
|
|
170
|
-
scenarios:
|
|
171
|
-
- name: "{test scenario}"
|
|
172
|
-
validates: "{what it validates}"
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
### Manual Validation
|
|
176
|
-
```yaml
|
|
177
|
-
steps:
|
|
178
|
-
- action: "{what to do}"
|
|
179
|
-
expected: "{expected result}"
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
---
|
|
183
|
-
|
|
184
|
-
## 6. Final Validation Checklist
|
|
185
|
-
|
|
186
|
-
### Code Quality
|
|
187
|
-
- [ ] All TypeScript compiles without errors
|
|
188
|
-
- [ ] No linting warnings
|
|
189
|
-
- [ ] Follows existing code patterns
|
|
190
|
-
- [ ] Proper error handling
|
|
191
|
-
|
|
192
|
-
### Functionality
|
|
193
|
-
- [ ] {Specific functional requirement}
|
|
194
|
-
- [ ] {Another requirement}
|
|
195
|
-
|
|
196
|
-
### Testing
|
|
197
|
-
- [ ] Unit tests pass
|
|
198
|
-
- [ ] Integration tests pass
|
|
199
|
-
- [ ] Manual validation complete
|
|
200
|
-
|
|
201
|
-
### Documentation
|
|
202
|
-
- [ ] Code is self-documenting with clear names
|
|
203
|
-
- [ ] Complex logic has comments
|
|
204
|
-
- [ ] Public APIs have JSDoc
|
|
205
|
-
|
|
206
|
-
---
|
|
207
|
-
|
|
208
|
-
## 7. "No Prior Knowledge" Test
|
|
209
|
-
|
|
210
|
-
**Validation**: If someone knew nothing about this codebase, would they have everything needed to implement this successfully using only this PRP?
|
|
211
|
-
|
|
212
|
-
- [ ] All file paths are absolute and specific
|
|
213
|
-
- [ ] All patterns have concrete examples
|
|
214
|
-
- [ ] All dependencies are explicitly listed
|
|
215
|
-
- [ ] All validation steps are executable
|
|
216
|
-
- [ ] No assumed knowledge of codebase internals
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
## Confidence Score: {X}/10
|
|
221
|
-
|
|
222
|
-
**Rationale**: {Brief explanation of confidence level and any remaining uncertainties}
|
package/docs/agent.md
DELETED
|
@@ -1,422 +0,0 @@
|
|
|
1
|
-
# Agents
|
|
2
|
-
|
|
3
|
-
Agents are lightweight wrappers around the Anthropic SDK that execute prompts, manage tool invocation cycles, and integrate with caching and reflection systems.
|
|
4
|
-
|
|
5
|
-
## Table of Contents
|
|
6
|
-
|
|
7
|
-
- [Basic Usage](#basic-usage)
|
|
8
|
-
- [Configuration](#configuration)
|
|
9
|
-
- [Executing Prompts](#executing-prompts)
|
|
10
|
-
- [Reflection](#reflection)
|
|
11
|
-
- [Tools and MCP](#tools-and-mcp)
|
|
12
|
-
- [Hooks](#hooks)
|
|
13
|
-
- [Caching](#caching)
|
|
14
|
-
- [API Reference](#api-reference)
|
|
15
|
-
|
|
16
|
-
## Basic Usage
|
|
17
|
-
|
|
18
|
-
```typescript
|
|
19
|
-
import { createAgent, createPrompt } from 'groundswell';
|
|
20
|
-
import { z } from 'zod';
|
|
21
|
-
|
|
22
|
-
const agent = createAgent({
|
|
23
|
-
name: 'AnalysisAgent',
|
|
24
|
-
model: 'claude-sonnet-4-20250514',
|
|
25
|
-
enableCache: true,
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
const prompt = createPrompt({
|
|
29
|
-
user: 'Analyze this code for bugs',
|
|
30
|
-
data: { code: 'function foo() { return 42; }' },
|
|
31
|
-
responseFormat: z.object({
|
|
32
|
-
bugs: z.array(z.string()),
|
|
33
|
-
severity: z.enum(['low', 'medium', 'high']),
|
|
34
|
-
}),
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
const result = await agent.prompt(prompt);
|
|
38
|
-
// result is typed: { bugs: string[], severity: 'low' | 'medium' | 'high' }
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## Configuration
|
|
42
|
-
|
|
43
|
-
### AgentConfig
|
|
44
|
-
|
|
45
|
-
```typescript
|
|
46
|
-
interface AgentConfig {
|
|
47
|
-
name?: string; // Human-readable name
|
|
48
|
-
system?: string; // System prompt
|
|
49
|
-
tools?: Tool[]; // Available tools
|
|
50
|
-
mcps?: MCPServer[]; // MCP servers to connect
|
|
51
|
-
skills?: Skill[]; // Skills to load
|
|
52
|
-
hooks?: AgentHooks; // Lifecycle hooks
|
|
53
|
-
env?: Record<string, string>; // Environment variables
|
|
54
|
-
enableReflection?: boolean; // Enable reflection capability
|
|
55
|
-
enableCache?: boolean; // Enable response caching
|
|
56
|
-
model?: string; // Model to use
|
|
57
|
-
maxTokens?: number; // Max tokens for responses
|
|
58
|
-
temperature?: number; // Response temperature
|
|
59
|
-
}
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Configuration Priority
|
|
63
|
-
|
|
64
|
-
Configuration follows a three-level override hierarchy:
|
|
65
|
-
|
|
66
|
-
1. **Prompt-level** (highest priority)
|
|
67
|
-
2. **Execution-level** (via `PromptOverrides`)
|
|
68
|
-
3. **Agent-level** (lowest priority)
|
|
69
|
-
|
|
70
|
-
```typescript
|
|
71
|
-
const agent = createAgent({
|
|
72
|
-
system: 'Default system prompt', // Agent-level
|
|
73
|
-
model: 'claude-sonnet-4-20250514',
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
const prompt = createPrompt({
|
|
77
|
-
user: 'Hello',
|
|
78
|
-
system: 'Override system prompt', // Prompt-level (wins)
|
|
79
|
-
responseFormat: z.object({ response: z.string() }),
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
// Or override at execution time
|
|
83
|
-
const result = await agent.prompt(prompt, {
|
|
84
|
-
model: 'claude-opus-4-5-20251101', // Execution-level override
|
|
85
|
-
});
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
## Executing Prompts
|
|
89
|
-
|
|
90
|
-
### prompt()
|
|
91
|
-
|
|
92
|
-
Returns validated response data:
|
|
93
|
-
|
|
94
|
-
```typescript
|
|
95
|
-
const result = await agent.prompt(prompt);
|
|
96
|
-
// result is T (the response type)
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### promptWithMetadata()
|
|
100
|
-
|
|
101
|
-
Returns full execution metadata:
|
|
102
|
-
|
|
103
|
-
```typescript
|
|
104
|
-
const result = await agent.promptWithMetadata(prompt);
|
|
105
|
-
|
|
106
|
-
console.log(result.data); // Validated response
|
|
107
|
-
console.log(result.usage); // { input_tokens, output_tokens }
|
|
108
|
-
console.log(result.duration); // Total time in ms
|
|
109
|
-
console.log(result.toolCalls); // Number of tool invocations
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### PromptResult
|
|
113
|
-
|
|
114
|
-
```typescript
|
|
115
|
-
interface PromptResult<T> {
|
|
116
|
-
data: T; // Validated response
|
|
117
|
-
usage: TokenUsage; // Token usage stats
|
|
118
|
-
duration: number; // Duration in milliseconds
|
|
119
|
-
toolCalls: number; // Number of tool calls
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
interface TokenUsage {
|
|
123
|
-
input_tokens: number;
|
|
124
|
-
output_tokens: number;
|
|
125
|
-
}
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
## Reflection
|
|
129
|
-
|
|
130
|
-
Enable self-correction with the `reflect()` method:
|
|
131
|
-
|
|
132
|
-
```typescript
|
|
133
|
-
const agent = createAgent({
|
|
134
|
-
name: 'ReflectiveAgent',
|
|
135
|
-
enableReflection: true,
|
|
136
|
-
});
|
|
137
|
-
|
|
138
|
-
const result = await agent.reflect(prompt);
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
The reflection system prepends a reflection prefix to the system prompt:
|
|
142
|
-
|
|
143
|
-
```
|
|
144
|
-
Before answering, reflect on your reasoning step by step.
|
|
145
|
-
Consider alternative approaches and potential errors.
|
|
146
|
-
Then provide your final answer.
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
### Reflection Configuration
|
|
150
|
-
|
|
151
|
-
```typescript
|
|
152
|
-
// Agent-level
|
|
153
|
-
const agent = createAgent({
|
|
154
|
-
enableReflection: true,
|
|
155
|
-
});
|
|
156
|
-
|
|
157
|
-
// Prompt-level
|
|
158
|
-
const prompt = createPrompt({
|
|
159
|
-
user: 'Complex question',
|
|
160
|
-
enableReflection: true,
|
|
161
|
-
responseFormat: schema,
|
|
162
|
-
});
|
|
163
|
-
|
|
164
|
-
// Execution-level
|
|
165
|
-
const result = await agent.prompt(prompt, {
|
|
166
|
-
enableReflection: true,
|
|
167
|
-
});
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
## Tools and MCP
|
|
171
|
-
|
|
172
|
-
### Tool Definition
|
|
173
|
-
|
|
174
|
-
```typescript
|
|
175
|
-
import type { Tool } from 'groundswell';
|
|
176
|
-
|
|
177
|
-
const calculatorTool: Tool = {
|
|
178
|
-
name: 'calculate',
|
|
179
|
-
description: 'Performs arithmetic operations',
|
|
180
|
-
input_schema: {
|
|
181
|
-
type: 'object',
|
|
182
|
-
properties: {
|
|
183
|
-
operation: { type: 'string', enum: ['add', 'subtract', 'multiply', 'divide'] },
|
|
184
|
-
a: { type: 'number' },
|
|
185
|
-
b: { type: 'number' },
|
|
186
|
-
},
|
|
187
|
-
required: ['operation', 'a', 'b'],
|
|
188
|
-
},
|
|
189
|
-
};
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
### MCP Handler
|
|
193
|
-
|
|
194
|
-
Register tools with an MCP handler:
|
|
195
|
-
|
|
196
|
-
```typescript
|
|
197
|
-
import { MCPHandler } from 'groundswell';
|
|
198
|
-
|
|
199
|
-
const mcpHandler = new MCPHandler();
|
|
200
|
-
|
|
201
|
-
mcpHandler.registerServer({
|
|
202
|
-
name: 'demo',
|
|
203
|
-
transport: 'inprocess',
|
|
204
|
-
tools: [calculatorTool],
|
|
205
|
-
});
|
|
206
|
-
|
|
207
|
-
mcpHandler.registerToolExecutor('demo', 'calculate', async (input) => {
|
|
208
|
-
const { operation, a, b } = input;
|
|
209
|
-
switch (operation) {
|
|
210
|
-
case 'add': return { result: a + b };
|
|
211
|
-
case 'subtract': return { result: a - b };
|
|
212
|
-
case 'multiply': return { result: a * b };
|
|
213
|
-
case 'divide': return { result: a / b };
|
|
214
|
-
}
|
|
215
|
-
});
|
|
216
|
-
|
|
217
|
-
const agent = createAgent({
|
|
218
|
-
tools: mcpHandler.getTools(),
|
|
219
|
-
});
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
### Tool Execution Flow
|
|
223
|
-
|
|
224
|
-
1. Agent sends prompt to API
|
|
225
|
-
2. API requests tool use
|
|
226
|
-
3. Agent executes tool via MCP handler
|
|
227
|
-
4. Result sent back to API
|
|
228
|
-
5. Loop continues until no more tool calls
|
|
229
|
-
6. Final response validated and returned
|
|
230
|
-
|
|
231
|
-
## Hooks
|
|
232
|
-
|
|
233
|
-
Lifecycle hooks enable logging, monitoring, and custom processing:
|
|
234
|
-
|
|
235
|
-
```typescript
|
|
236
|
-
import type { AgentHooks, PreToolUseContext, PostToolUseContext } from 'groundswell';
|
|
237
|
-
|
|
238
|
-
const hooks: AgentHooks = {
|
|
239
|
-
preToolUse: [
|
|
240
|
-
async (ctx: PreToolUseContext) => {
|
|
241
|
-
console.log(`[PRE] Tool: ${ctx.toolName}`);
|
|
242
|
-
console.log(`Input:`, ctx.input);
|
|
243
|
-
}
|
|
244
|
-
],
|
|
245
|
-
postToolUse: [
|
|
246
|
-
async (ctx: PostToolUseContext) => {
|
|
247
|
-
console.log(`[POST] Tool: ${ctx.toolName}`);
|
|
248
|
-
console.log(`Output:`, ctx.output);
|
|
249
|
-
console.log(`Duration: ${ctx.duration}ms`);
|
|
250
|
-
}
|
|
251
|
-
],
|
|
252
|
-
sessionStart: [
|
|
253
|
-
async (ctx) => {
|
|
254
|
-
console.log(`Session started: ${ctx.agentName}`);
|
|
255
|
-
}
|
|
256
|
-
],
|
|
257
|
-
sessionEnd: [
|
|
258
|
-
async (ctx) => {
|
|
259
|
-
console.log(`Session ended: ${ctx.totalDuration}ms`);
|
|
260
|
-
}
|
|
261
|
-
],
|
|
262
|
-
};
|
|
263
|
-
|
|
264
|
-
const agent = createAgent({
|
|
265
|
-
hooks,
|
|
266
|
-
});
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
### Hook Types
|
|
270
|
-
|
|
271
|
-
| Hook | Trigger | Context |
|
|
272
|
-
|------|---------|---------|
|
|
273
|
-
| `preToolUse` | Before tool execution | `toolName`, `input` |
|
|
274
|
-
| `postToolUse` | After tool execution | `toolName`, `input`, `output`, `duration` |
|
|
275
|
-
| `sessionStart` | Before prompt execution | `agentName`, `promptId` |
|
|
276
|
-
| `sessionEnd` | After prompt execution | `agentName`, `totalDuration` |
|
|
277
|
-
|
|
278
|
-
## Caching
|
|
279
|
-
|
|
280
|
-
### Enable Caching
|
|
281
|
-
|
|
282
|
-
```typescript
|
|
283
|
-
const agent = createAgent({
|
|
284
|
-
enableCache: true,
|
|
285
|
-
});
|
|
286
|
-
|
|
287
|
-
// First call: API request made, result cached
|
|
288
|
-
const result1 = await agent.prompt(prompt);
|
|
289
|
-
|
|
290
|
-
// Second call: cached result returned
|
|
291
|
-
const result2 = await agent.prompt(prompt);
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
### Cache Metrics
|
|
295
|
-
|
|
296
|
-
```typescript
|
|
297
|
-
import { defaultCache } from 'groundswell';
|
|
298
|
-
|
|
299
|
-
const metrics = defaultCache.metrics();
|
|
300
|
-
console.log(`Hits: ${metrics.hits}`);
|
|
301
|
-
console.log(`Misses: ${metrics.misses}`);
|
|
302
|
-
console.log(`Hit rate: ${metrics.hitRate}%`);
|
|
303
|
-
console.log(`Size: ${metrics.size} items`);
|
|
304
|
-
console.log(`Size bytes: ${metrics.sizeBytes}`);
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
### Cache Key Generation
|
|
308
|
-
|
|
309
|
-
Cache keys are deterministic SHA-256 hashes of:
|
|
310
|
-
- User message
|
|
311
|
-
- Data
|
|
312
|
-
- System prompt
|
|
313
|
-
- Model
|
|
314
|
-
- Temperature
|
|
315
|
-
- Max tokens
|
|
316
|
-
- Tools
|
|
317
|
-
- MCP servers
|
|
318
|
-
- Skills
|
|
319
|
-
- Response format schema
|
|
320
|
-
|
|
321
|
-
Identical inputs always produce identical keys.
|
|
322
|
-
|
|
323
|
-
### Disable Cache for Specific Call
|
|
324
|
-
|
|
325
|
-
```typescript
|
|
326
|
-
const result = await agent.prompt(prompt, {
|
|
327
|
-
disableCache: true,
|
|
328
|
-
});
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
### Clear Cache
|
|
332
|
-
|
|
333
|
-
```typescript
|
|
334
|
-
import { defaultCache } from 'groundswell';
|
|
335
|
-
|
|
336
|
-
await defaultCache.clear();
|
|
337
|
-
|
|
338
|
-
// Or bust by prefix (agent ID)
|
|
339
|
-
await defaultCache.bustPrefix(agent.id);
|
|
340
|
-
```
|
|
341
|
-
|
|
342
|
-
### Cache Configuration
|
|
343
|
-
|
|
344
|
-
```typescript
|
|
345
|
-
import { LLMCache } from 'groundswell';
|
|
346
|
-
|
|
347
|
-
const customCache = new LLMCache({
|
|
348
|
-
maxItems: 500, // Default: 1000
|
|
349
|
-
maxSizeBytes: 25_000_000, // Default: 50MB
|
|
350
|
-
defaultTTLMs: 7_200_000, // Default: 1 hour
|
|
351
|
-
});
|
|
352
|
-
```
|
|
353
|
-
|
|
354
|
-
## API Reference
|
|
355
|
-
|
|
356
|
-
### Agent Class
|
|
357
|
-
|
|
358
|
-
```typescript
|
|
359
|
-
class Agent {
|
|
360
|
-
readonly id: string;
|
|
361
|
-
readonly name: string;
|
|
362
|
-
|
|
363
|
-
constructor(config?: AgentConfig);
|
|
364
|
-
|
|
365
|
-
prompt<T>(prompt: Prompt<T>, overrides?: PromptOverrides): Promise<T>;
|
|
366
|
-
promptWithMetadata<T>(prompt: Prompt<T>, overrides?: PromptOverrides): Promise<PromptResult<T>>;
|
|
367
|
-
reflect<T>(prompt: Prompt<T>, overrides?: PromptOverrides): Promise<T>;
|
|
368
|
-
}
|
|
369
|
-
```
|
|
370
|
-
|
|
371
|
-
### Factory Function
|
|
372
|
-
|
|
373
|
-
```typescript
|
|
374
|
-
function createAgent(config?: AgentConfig): Agent;
|
|
375
|
-
```
|
|
376
|
-
|
|
377
|
-
### PromptOverrides
|
|
378
|
-
|
|
379
|
-
```typescript
|
|
380
|
-
interface PromptOverrides {
|
|
381
|
-
system?: string;
|
|
382
|
-
model?: string;
|
|
383
|
-
temperature?: number;
|
|
384
|
-
maxTokens?: number;
|
|
385
|
-
enableReflection?: boolean;
|
|
386
|
-
disableCache?: boolean;
|
|
387
|
-
}
|
|
388
|
-
```
|
|
389
|
-
|
|
390
|
-
### Types
|
|
391
|
-
|
|
392
|
-
```typescript
|
|
393
|
-
interface Tool {
|
|
394
|
-
name: string;
|
|
395
|
-
description: string;
|
|
396
|
-
input_schema: {
|
|
397
|
-
type: 'object';
|
|
398
|
-
properties: Record<string, unknown>;
|
|
399
|
-
required?: string[];
|
|
400
|
-
};
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
interface MCPServer {
|
|
404
|
-
name: string;
|
|
405
|
-
transport: 'inprocess' | 'stdio' | 'http';
|
|
406
|
-
tools?: Tool[];
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
interface Skill {
|
|
410
|
-
name: string;
|
|
411
|
-
path: string;
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
interface AgentHooks {
|
|
415
|
-
preToolUse?: Array<(ctx: PreToolUseContext) => Promise<void>>;
|
|
416
|
-
postToolUse?: Array<(ctx: PostToolUseContext) => Promise<void>>;
|
|
417
|
-
sessionStart?: Array<(ctx: SessionStartContext) => Promise<void>>;
|
|
418
|
-
sessionEnd?: Array<(ctx: SessionEndContext) => Promise<void>>;
|
|
419
|
-
}
|
|
420
|
-
```
|
|
421
|
-
|
|
422
|
-
See [examples/08-sdk-features.ts](../examples/examples/08-sdk-features.ts) for tools and hooks usage.
|