groundswell 0.0.3 → 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 +20 -0
- package/dist/cache/cache-key.d.ts.map +1 -1
- package/dist/cache/cache-key.js +9 -0
- package/dist/cache/cache-key.js.map +1 -1
- package/dist/core/agent.d.ts +120 -29
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +584 -177
- package/dist/core/agent.js.map +1 -1
- package/dist/core/mcp-handler.d.ts +63 -5
- package/dist/core/mcp-handler.d.ts.map +1 -1
- package/dist/core/mcp-handler.js +184 -4
- package/dist/core/mcp-handler.js.map +1 -1
- package/dist/core/workflow-context.d.ts +6 -2
- package/dist/core/workflow-context.d.ts.map +1 -1
- package/dist/core/workflow-context.js +99 -4
- package/dist/core/workflow-context.js.map +1 -1
- package/dist/core/workflow.d.ts +315 -13
- package/dist/core/workflow.d.ts.map +1 -1
- package/dist/core/workflow.js +552 -30
- package/dist/core/workflow.js.map +1 -1
- 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/tree-debugger.d.ts +170 -1
- package/dist/debugger/tree-debugger.d.ts.map +1 -1
- package/dist/debugger/tree-debugger.js +423 -1
- package/dist/debugger/tree-debugger.js.map +1 -1
- package/dist/decorators/step.d.ts.map +1 -1
- package/dist/decorators/step.js +129 -47
- package/dist/decorators/step.js.map +1 -1
- 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 +12 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -1
- package/dist/reflection/reflection.d.ts.map +1 -1
- package/dist/reflection/reflection.js +19 -4
- package/dist/reflection/reflection.js.map +1 -1
- package/dist/types/agent.d.ts +1253 -2
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/agent.js +418 -1
- package/dist/types/agent.js.map +1 -1
- package/dist/types/decorators.d.ts +10 -1
- package/dist/types/decorators.d.ts.map +1 -1
- package/dist/types/events.d.ts +26 -0
- package/dist/types/events.d.ts.map +1 -1
- 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 +9 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -1
- 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/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/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 +137 -1
- package/dist/types/workflow-context.d.ts.map +1 -1
- 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/index.d.ts +9 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +8 -1
- package/dist/utils/index.js.map +1 -1
- 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/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/package.json +31 -5
- package/CHANGELOG.md +0 -188
- package/dist/__tests__/adversarial/attachChild-performance.test.d.ts +0 -16
- package/dist/__tests__/adversarial/attachChild-performance.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/attachChild-performance.test.js +0 -187
- package/dist/__tests__/adversarial/attachChild-performance.test.js.map +0 -1
- package/dist/__tests__/adversarial/circular-reference.test.d.ts +0 -13
- package/dist/__tests__/adversarial/circular-reference.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/circular-reference.test.js +0 -92
- package/dist/__tests__/adversarial/circular-reference.test.js.map +0 -1
- package/dist/__tests__/adversarial/complex-circular-reference.test.d.ts +0 -16
- package/dist/__tests__/adversarial/complex-circular-reference.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/complex-circular-reference.test.js +0 -127
- package/dist/__tests__/adversarial/complex-circular-reference.test.js.map +0 -1
- package/dist/__tests__/adversarial/concurrent-task-failures.test.d.ts +0 -21
- package/dist/__tests__/adversarial/concurrent-task-failures.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/concurrent-task-failures.test.js +0 -667
- package/dist/__tests__/adversarial/concurrent-task-failures.test.js.map +0 -1
- package/dist/__tests__/adversarial/deep-analysis.test.d.ts +0 -6
- package/dist/__tests__/adversarial/deep-analysis.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/deep-analysis.test.js +0 -877
- package/dist/__tests__/adversarial/deep-analysis.test.js.map +0 -1
- package/dist/__tests__/adversarial/deep-hierarchy-stress.test.d.ts +0 -13
- package/dist/__tests__/adversarial/deep-hierarchy-stress.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/deep-hierarchy-stress.test.js +0 -186
- package/dist/__tests__/adversarial/deep-hierarchy-stress.test.js.map +0 -1
- package/dist/__tests__/adversarial/e2e-prd-validation.test.d.ts +0 -6
- package/dist/__tests__/adversarial/e2e-prd-validation.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/e2e-prd-validation.test.js +0 -626
- package/dist/__tests__/adversarial/e2e-prd-validation.test.js.map +0 -1
- package/dist/__tests__/adversarial/edge-case.test.d.ts +0 -6
- package/dist/__tests__/adversarial/edge-case.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/edge-case.test.js +0 -857
- package/dist/__tests__/adversarial/edge-case.test.js.map +0 -1
- package/dist/__tests__/adversarial/error-merge-strategy.test.d.ts +0 -20
- package/dist/__tests__/adversarial/error-merge-strategy.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/error-merge-strategy.test.js +0 -907
- package/dist/__tests__/adversarial/error-merge-strategy.test.js.map +0 -1
- package/dist/__tests__/adversarial/incremental-performance.test.d.ts +0 -2
- package/dist/__tests__/adversarial/incremental-performance.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/incremental-performance.test.js +0 -113
- package/dist/__tests__/adversarial/incremental-performance.test.js.map +0 -1
- package/dist/__tests__/adversarial/node-map-update-benchmarks.test.d.ts +0 -22
- package/dist/__tests__/adversarial/node-map-update-benchmarks.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/node-map-update-benchmarks.test.js +0 -383
- package/dist/__tests__/adversarial/node-map-update-benchmarks.test.js.map +0 -1
- package/dist/__tests__/adversarial/observer-propagation.test.d.ts +0 -21
- package/dist/__tests__/adversarial/observer-propagation.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/observer-propagation.test.js +0 -404
- package/dist/__tests__/adversarial/observer-propagation.test.js.map +0 -1
- package/dist/__tests__/adversarial/parent-validation.test.d.ts +0 -13
- package/dist/__tests__/adversarial/parent-validation.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/parent-validation.test.js +0 -128
- package/dist/__tests__/adversarial/parent-validation.test.js.map +0 -1
- package/dist/__tests__/adversarial/prd-12-2-compliance.test.d.ts +0 -20
- package/dist/__tests__/adversarial/prd-12-2-compliance.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/prd-12-2-compliance.test.js +0 -482
- package/dist/__tests__/adversarial/prd-12-2-compliance.test.js.map +0 -1
- package/dist/__tests__/adversarial/prd-compliance.test.d.ts +0 -6
- package/dist/__tests__/adversarial/prd-compliance.test.d.ts.map +0 -1
- package/dist/__tests__/adversarial/prd-compliance.test.js +0 -886
- package/dist/__tests__/adversarial/prd-compliance.test.js.map +0 -1
- package/dist/__tests__/compatibility/backward-compatibility.test.d.ts +0 -22
- package/dist/__tests__/compatibility/backward-compatibility.test.d.ts.map +0 -1
- package/dist/__tests__/compatibility/backward-compatibility.test.js +0 -1843
- package/dist/__tests__/compatibility/backward-compatibility.test.js.map +0 -1
- package/dist/__tests__/helpers/index.d.ts +0 -10
- package/dist/__tests__/helpers/index.d.ts.map +0 -1
- package/dist/__tests__/helpers/index.js +0 -10
- package/dist/__tests__/helpers/index.js.map +0 -1
- package/dist/__tests__/helpers/tree-verification.d.ts +0 -90
- package/dist/__tests__/helpers/tree-verification.d.ts.map +0 -1
- package/dist/__tests__/helpers/tree-verification.js +0 -202
- package/dist/__tests__/helpers/tree-verification.js.map +0 -1
- package/dist/__tests__/integration/agent-workflow.test.d.ts +0 -2
- package/dist/__tests__/integration/agent-workflow.test.d.ts.map +0 -1
- package/dist/__tests__/integration/agent-workflow.test.js +0 -256
- package/dist/__tests__/integration/agent-workflow.test.js.map +0 -1
- package/dist/__tests__/integration/bidirectional-consistency.test.d.ts +0 -14
- package/dist/__tests__/integration/bidirectional-consistency.test.d.ts.map +0 -1
- package/dist/__tests__/integration/bidirectional-consistency.test.js +0 -668
- package/dist/__tests__/integration/bidirectional-consistency.test.js.map +0 -1
- package/dist/__tests__/integration/observer-logging.test.d.ts +0 -2
- package/dist/__tests__/integration/observer-logging.test.d.ts.map +0 -1
- package/dist/__tests__/integration/observer-logging.test.js +0 -517
- package/dist/__tests__/integration/observer-logging.test.js.map +0 -1
- package/dist/__tests__/integration/tree-mirroring.test.d.ts +0 -2
- package/dist/__tests__/integration/tree-mirroring.test.d.ts.map +0 -1
- package/dist/__tests__/integration/tree-mirroring.test.js +0 -117
- package/dist/__tests__/integration/tree-mirroring.test.js.map +0 -1
- package/dist/__tests__/integration/workflow-reparenting.test.d.ts +0 -12
- package/dist/__tests__/integration/workflow-reparenting.test.d.ts.map +0 -1
- package/dist/__tests__/integration/workflow-reparenting.test.js +0 -239
- package/dist/__tests__/integration/workflow-reparenting.test.js.map +0 -1
- package/dist/__tests__/unit/agent.test.d.ts +0 -2
- package/dist/__tests__/unit/agent.test.d.ts.map +0 -1
- package/dist/__tests__/unit/agent.test.js +0 -143
- package/dist/__tests__/unit/agent.test.js.map +0 -1
- package/dist/__tests__/unit/cache-key.test.d.ts +0 -5
- package/dist/__tests__/unit/cache-key.test.d.ts.map +0 -1
- package/dist/__tests__/unit/cache-key.test.js +0 -145
- package/dist/__tests__/unit/cache-key.test.js.map +0 -1
- package/dist/__tests__/unit/cache.test.d.ts +0 -5
- package/dist/__tests__/unit/cache.test.d.ts.map +0 -1
- package/dist/__tests__/unit/cache.test.js +0 -132
- package/dist/__tests__/unit/cache.test.js.map +0 -1
- package/dist/__tests__/unit/context.test.d.ts +0 -2
- package/dist/__tests__/unit/context.test.d.ts.map +0 -1
- package/dist/__tests__/unit/context.test.js +0 -220
- package/dist/__tests__/unit/context.test.js.map +0 -1
- package/dist/__tests__/unit/decorators.test.d.ts +0 -2
- package/dist/__tests__/unit/decorators.test.d.ts.map +0 -1
- package/dist/__tests__/unit/decorators.test.js +0 -162
- package/dist/__tests__/unit/decorators.test.js.map +0 -1
- package/dist/__tests__/unit/introspection-tools.test.d.ts +0 -5
- package/dist/__tests__/unit/introspection-tools.test.d.ts.map +0 -1
- package/dist/__tests__/unit/introspection-tools.test.js +0 -191
- package/dist/__tests__/unit/introspection-tools.test.js.map +0 -1
- package/dist/__tests__/unit/logger.test.d.ts +0 -2
- package/dist/__tests__/unit/logger.test.d.ts.map +0 -1
- package/dist/__tests__/unit/logger.test.js +0 -241
- package/dist/__tests__/unit/logger.test.js.map +0 -1
- package/dist/__tests__/unit/observable.test.d.ts +0 -2
- package/dist/__tests__/unit/observable.test.d.ts.map +0 -1
- package/dist/__tests__/unit/observable.test.js +0 -251
- package/dist/__tests__/unit/observable.test.js.map +0 -1
- package/dist/__tests__/unit/prompt.test.d.ts +0 -2
- package/dist/__tests__/unit/prompt.test.d.ts.map +0 -1
- package/dist/__tests__/unit/prompt.test.js +0 -113
- package/dist/__tests__/unit/prompt.test.js.map +0 -1
- package/dist/__tests__/unit/reflection.test.d.ts +0 -5
- package/dist/__tests__/unit/reflection.test.d.ts.map +0 -1
- package/dist/__tests__/unit/reflection.test.js +0 -160
- package/dist/__tests__/unit/reflection.test.js.map +0 -1
- package/dist/__tests__/unit/tree-debugger-incremental.test.d.ts +0 -2
- package/dist/__tests__/unit/tree-debugger-incremental.test.d.ts.map +0 -1
- package/dist/__tests__/unit/tree-debugger-incremental.test.js +0 -136
- package/dist/__tests__/unit/tree-debugger-incremental.test.js.map +0 -1
- package/dist/__tests__/unit/tree-debugger.test.d.ts +0 -2
- package/dist/__tests__/unit/tree-debugger.test.d.ts.map +0 -1
- package/dist/__tests__/unit/tree-debugger.test.js +0 -69
- package/dist/__tests__/unit/tree-debugger.test.js.map +0 -1
- package/dist/__tests__/unit/utils/workflow-error-utils.test.d.ts +0 -2
- package/dist/__tests__/unit/utils/workflow-error-utils.test.d.ts.map +0 -1
- package/dist/__tests__/unit/utils/workflow-error-utils.test.js +0 -154
- package/dist/__tests__/unit/utils/workflow-error-utils.test.js.map +0 -1
- package/dist/__tests__/unit/workflow-detachChild.test.d.ts +0 -2
- package/dist/__tests__/unit/workflow-detachChild.test.d.ts.map +0 -1
- package/dist/__tests__/unit/workflow-detachChild.test.js +0 -76
- package/dist/__tests__/unit/workflow-detachChild.test.js.map +0 -1
- package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.d.ts +0 -2
- package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.d.ts.map +0 -1
- package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.js +0 -122
- package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.js.map +0 -1
- package/dist/__tests__/unit/workflow-isDescendantOf.test.d.ts +0 -2
- package/dist/__tests__/unit/workflow-isDescendantOf.test.d.ts.map +0 -1
- package/dist/__tests__/unit/workflow-isDescendantOf.test.js +0 -140
- package/dist/__tests__/unit/workflow-isDescendantOf.test.js.map +0 -1
- package/dist/__tests__/unit/workflow.test.d.ts +0 -2
- package/dist/__tests__/unit/workflow.test.d.ts.map +0 -1
- package/dist/__tests__/unit/workflow.test.js +0 -330
- package/dist/__tests__/unit/workflow.test.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backward-compatibility.test.js","sourceRoot":"","sources":["../../../src/__tests__/compatibility/backward-compatibility.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test helper functions for tree validation
|
|
3
|
-
*
|
|
4
|
-
* These helpers validate the 1:1 mirror invariant between the Workflow instance tree
|
|
5
|
-
* and the WorkflowNode tree as specified in PRD Section 12.2.
|
|
6
|
-
*
|
|
7
|
-
* @module helpers/tree-verification
|
|
8
|
-
*/
|
|
9
|
-
export { collectAllNodes, validateTreeConsistency, verifyBidirectionalLink, verifyOrphaned, verifyNoCycles, verifyTreeMirror, getDepth, } from './tree-verification.js';
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/__tests__/helpers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,QAAQ,GACT,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test helper functions for tree validation
|
|
3
|
-
*
|
|
4
|
-
* These helpers validate the 1:1 mirror invariant between the Workflow instance tree
|
|
5
|
-
* and the WorkflowNode tree as specified in PRD Section 12.2.
|
|
6
|
-
*
|
|
7
|
-
* @module helpers/tree-verification
|
|
8
|
-
*/
|
|
9
|
-
export { collectAllNodes, validateTreeConsistency, verifyBidirectionalLink, verifyOrphaned, verifyNoCycles, verifyTreeMirror, getDepth, } from './tree-verification.js';
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/__tests__/helpers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,QAAQ,GACT,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import type { Workflow } from '../../index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Collect all nodes in tree via BFS traversal
|
|
4
|
-
* Throws if circular reference detected
|
|
5
|
-
*
|
|
6
|
-
* @param root - The root workflow node to start traversal from
|
|
7
|
-
* @returns Array of all workflow nodes in the tree
|
|
8
|
-
* @throws Error if circular reference is detected
|
|
9
|
-
*
|
|
10
|
-
* Pattern from: tree-debugger.ts:52-58 (buildNodeMap)
|
|
11
|
-
*/
|
|
12
|
-
export declare function collectAllNodes(root: Workflow): Workflow[];
|
|
13
|
-
/**
|
|
14
|
-
* Validate tree-wide bidirectional consistency
|
|
15
|
-
* Returns array of inconsistency descriptions (empty if valid)
|
|
16
|
-
*
|
|
17
|
-
* This is the comprehensive validation that checks:
|
|
18
|
-
* 1. Parent → child links in workflow tree
|
|
19
|
-
* 2. Child → parent links in workflow tree
|
|
20
|
-
* 3. Node tree mirrors workflow tree (parent relationship)
|
|
21
|
-
* 4. Node tree mirrors workflow tree (children relationship)
|
|
22
|
-
*
|
|
23
|
-
* @param root - The root workflow to validate
|
|
24
|
-
* @returns Array of error descriptions (empty if tree is consistent)
|
|
25
|
-
*/
|
|
26
|
-
export declare function validateTreeConsistency(root: Workflow): string[];
|
|
27
|
-
/**
|
|
28
|
-
* Verify bidirectional link between parent and child in BOTH trees
|
|
29
|
-
* Throws if inconsistency found
|
|
30
|
-
*
|
|
31
|
-
* This is the primary assertion helper for testing attachChild() operations.
|
|
32
|
-
* Verifies:
|
|
33
|
-
* - child.parent === parent (workflow tree)
|
|
34
|
-
* - parent.children includes child (workflow tree)
|
|
35
|
-
* - child.node.parent === parent.node (node tree)
|
|
36
|
-
* - parent.node.children includes child.node (node tree)
|
|
37
|
-
*
|
|
38
|
-
* @param parent - The parent workflow
|
|
39
|
-
* @param child - The child workflow
|
|
40
|
-
* @throws Error if bidirectional link is broken in either tree
|
|
41
|
-
*
|
|
42
|
-
* Usage: parent.attachChild(child); verifyBidirectionalLink(parent, child);
|
|
43
|
-
*/
|
|
44
|
-
export declare function verifyBidirectionalLink(parent: Workflow, child: Workflow): void;
|
|
45
|
-
/**
|
|
46
|
-
* Verify complete orphaning after detach
|
|
47
|
-
* Confirms that child is no longer attached to any parent in BOTH trees
|
|
48
|
-
*
|
|
49
|
-
* @param child - The child workflow to verify
|
|
50
|
-
* @throws Error if child is not properly orphaned
|
|
51
|
-
*
|
|
52
|
-
* Usage: parent.detachChild(child); verifyOrphaned(child);
|
|
53
|
-
*/
|
|
54
|
-
export declare function verifyOrphaned(child: Workflow): void;
|
|
55
|
-
/**
|
|
56
|
-
* Verify no circular references exist in the tree
|
|
57
|
-
* Uses collectAllNodes which throws on circular reference detection
|
|
58
|
-
*
|
|
59
|
-
* @param root - The root workflow to check
|
|
60
|
-
* @throws Error if circular reference is detected
|
|
61
|
-
*
|
|
62
|
-
* Usage: verifyNoCycles(root);
|
|
63
|
-
*/
|
|
64
|
-
export declare function verifyNoCycles(root: Workflow): void;
|
|
65
|
-
/**
|
|
66
|
-
* Verify tree mirror invariant (1:1 correspondence)
|
|
67
|
-
* This is the CRITICAL invariant from PRD Section 12.2
|
|
68
|
-
*
|
|
69
|
-
* For every relationship in the workflow tree, there MUST be an equivalent relationship in the node tree:
|
|
70
|
-
* - If node.parent exists, it must equal wfNode.parent.node
|
|
71
|
-
* - If node.parent is null, wfNode.parent must be null
|
|
72
|
-
* - node.children.length must equal wfNode.children.length
|
|
73
|
-
* - node.children[index] must equal wfNode.children[index].node
|
|
74
|
-
*
|
|
75
|
-
* @param workflowRoot - The root workflow to verify
|
|
76
|
-
* @throws Error if mirror invariant is violated
|
|
77
|
-
*
|
|
78
|
-
* Usage: verifyTreeMirror(root);
|
|
79
|
-
*/
|
|
80
|
-
export declare function verifyTreeMirror(workflowRoot: Workflow): void;
|
|
81
|
-
/**
|
|
82
|
-
* Get depth of node in tree
|
|
83
|
-
* Depth is the number of edges from the node to the root
|
|
84
|
-
* Root has depth 0, its children have depth 1, etc.
|
|
85
|
-
*
|
|
86
|
-
* @param node - The workflow node to calculate depth for
|
|
87
|
-
* @returns The depth of the node (0 for root)
|
|
88
|
-
*/
|
|
89
|
-
export declare function getDepth(node: Workflow): number;
|
|
90
|
-
//# sourceMappingURL=tree-verification.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tree-verification.d.ts","sourceRoot":"","sources":["../../../src/__tests__/helpers/tree-verification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAmB1D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAgDhE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CA0B/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAYpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAUnD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,QAAQ,GAAG,IAAI,CAoC7D;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAU/C"}
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Collect all nodes in tree via BFS traversal
|
|
3
|
-
* Throws if circular reference detected
|
|
4
|
-
*
|
|
5
|
-
* @param root - The root workflow node to start traversal from
|
|
6
|
-
* @returns Array of all workflow nodes in the tree
|
|
7
|
-
* @throws Error if circular reference is detected
|
|
8
|
-
*
|
|
9
|
-
* Pattern from: tree-debugger.ts:52-58 (buildNodeMap)
|
|
10
|
-
*/
|
|
11
|
-
export function collectAllNodes(root) {
|
|
12
|
-
const nodes = [];
|
|
13
|
-
const queue = [root];
|
|
14
|
-
const visited = new Set();
|
|
15
|
-
while (queue.length > 0) {
|
|
16
|
-
const node = queue.shift();
|
|
17
|
-
// CRITICAL: Cycle detection
|
|
18
|
-
if (visited.has(node)) {
|
|
19
|
-
throw new Error(`Circular reference detected at ${node.node.name}`);
|
|
20
|
-
}
|
|
21
|
-
visited.add(node);
|
|
22
|
-
nodes.push(node);
|
|
23
|
-
queue.push(...node.children);
|
|
24
|
-
}
|
|
25
|
-
return nodes;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Validate tree-wide bidirectional consistency
|
|
29
|
-
* Returns array of inconsistency descriptions (empty if valid)
|
|
30
|
-
*
|
|
31
|
-
* This is the comprehensive validation that checks:
|
|
32
|
-
* 1. Parent → child links in workflow tree
|
|
33
|
-
* 2. Child → parent links in workflow tree
|
|
34
|
-
* 3. Node tree mirrors workflow tree (parent relationship)
|
|
35
|
-
* 4. Node tree mirrors workflow tree (children relationship)
|
|
36
|
-
*
|
|
37
|
-
* @param root - The root workflow to validate
|
|
38
|
-
* @returns Array of error descriptions (empty if tree is consistent)
|
|
39
|
-
*/
|
|
40
|
-
export function validateTreeConsistency(root) {
|
|
41
|
-
const errors = [];
|
|
42
|
-
const allNodes = collectAllNodes(root);
|
|
43
|
-
allNodes.forEach(node => {
|
|
44
|
-
// Check parent→child link in workflow tree
|
|
45
|
-
if (node.parent) {
|
|
46
|
-
if (!node.parent.children.includes(node)) {
|
|
47
|
-
errors.push(`[WORKFLOW TREE] Orphaned child: "${node.node.name}" not in parent "${node.parent.node.name}"'s children list`);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
// Root node - should not be in anyone's children
|
|
52
|
-
const parentClaimants = allNodes.filter(n => n.children.includes(node));
|
|
53
|
-
if (parentClaimants.length > 0) {
|
|
54
|
-
errors.push(`[WORKFLOW TREE] Root node "${node.node.name}" claimed as child by [${parentClaimants.map(n => n.node.name).join(', ')}]`);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
// Check child→parent links
|
|
58
|
-
node.children.forEach(child => {
|
|
59
|
-
// Workflow tree check
|
|
60
|
-
if (child.parent !== node) {
|
|
61
|
-
errors.push(`[WORKFLOW TREE] Mismatched parent: "${child.node.name}".parent is "${child.parent?.node.name ?? 'null'}", expected "${node.node.name}"`);
|
|
62
|
-
}
|
|
63
|
-
// CRITICAL: Check node tree mirrors workflow tree - parent relationship
|
|
64
|
-
if (child.node.parent !== node.node) {
|
|
65
|
-
errors.push(`[NODE TREE] Mismatched parent: "${child.node.name}".node.parent is "${child.node.parent?.name ?? 'null'}", expected "${node.node.name}"`);
|
|
66
|
-
}
|
|
67
|
-
// CRITICAL: Check node tree mirrors workflow tree - children relationship
|
|
68
|
-
if (!node.node.children.includes(child.node)) {
|
|
69
|
-
errors.push(`[NODE TREE] Orphaned child: "${child.node.name}".node not in parent "${node.node.name}"'s node.children array`);
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
return errors;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Verify bidirectional link between parent and child in BOTH trees
|
|
77
|
-
* Throws if inconsistency found
|
|
78
|
-
*
|
|
79
|
-
* This is the primary assertion helper for testing attachChild() operations.
|
|
80
|
-
* Verifies:
|
|
81
|
-
* - child.parent === parent (workflow tree)
|
|
82
|
-
* - parent.children includes child (workflow tree)
|
|
83
|
-
* - child.node.parent === parent.node (node tree)
|
|
84
|
-
* - parent.node.children includes child.node (node tree)
|
|
85
|
-
*
|
|
86
|
-
* @param parent - The parent workflow
|
|
87
|
-
* @param child - The child workflow
|
|
88
|
-
* @throws Error if bidirectional link is broken in either tree
|
|
89
|
-
*
|
|
90
|
-
* Usage: parent.attachChild(child); verifyBidirectionalLink(parent, child);
|
|
91
|
-
*/
|
|
92
|
-
export function verifyBidirectionalLink(parent, child) {
|
|
93
|
-
// Workflow tree checks
|
|
94
|
-
if (child.parent !== parent) {
|
|
95
|
-
throw new Error(`[WORKFLOW TREE] Bidirectional link broken: "${child.node.name}".parent is "${child.parent?.node.name ?? 'null'}", expected "${parent.node.name}"`);
|
|
96
|
-
}
|
|
97
|
-
if (!parent.children.includes(child)) {
|
|
98
|
-
throw new Error(`[WORKFLOW TREE] Bidirectional link broken: "${parent.node.name}".children does not contain "${child.node.name}"`);
|
|
99
|
-
}
|
|
100
|
-
// CRITICAL: Node tree checks (must mirror workflow tree)
|
|
101
|
-
if (child.node.parent !== parent.node) {
|
|
102
|
-
throw new Error(`[NODE TREE] Bidirectional link broken: "${child.node.name}".node.parent is "${child.node.parent?.name ?? 'null'}", expected "${parent.node.name}"`);
|
|
103
|
-
}
|
|
104
|
-
if (!parent.node.children.includes(child.node)) {
|
|
105
|
-
throw new Error(`[NODE TREE] Bidirectional link broken: "${parent.node.name}".node.children does not contain "${child.node.name}"`);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Verify complete orphaning after detach
|
|
110
|
-
* Confirms that child is no longer attached to any parent in BOTH trees
|
|
111
|
-
*
|
|
112
|
-
* @param child - The child workflow to verify
|
|
113
|
-
* @throws Error if child is not properly orphaned
|
|
114
|
-
*
|
|
115
|
-
* Usage: parent.detachChild(child); verifyOrphaned(child);
|
|
116
|
-
*/
|
|
117
|
-
export function verifyOrphaned(child) {
|
|
118
|
-
if (child.parent !== null) {
|
|
119
|
-
throw new Error(`Child "${child.node.name}" not orphaned: parent is "${child.parent.node.name}"`);
|
|
120
|
-
}
|
|
121
|
-
if (child.node.parent !== null) {
|
|
122
|
-
throw new Error(`Child "${child.node.name}" not orphaned in node tree: parent is "${child.node.parent.name}"`);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Verify no circular references exist in the tree
|
|
127
|
-
* Uses collectAllNodes which throws on circular reference detection
|
|
128
|
-
*
|
|
129
|
-
* @param root - The root workflow to check
|
|
130
|
-
* @throws Error if circular reference is detected
|
|
131
|
-
*
|
|
132
|
-
* Usage: verifyNoCycles(root);
|
|
133
|
-
*/
|
|
134
|
-
export function verifyNoCycles(root) {
|
|
135
|
-
const visited = new Set();
|
|
136
|
-
const allNodes = collectAllNodes(root);
|
|
137
|
-
allNodes.forEach(node => {
|
|
138
|
-
if (visited.has(node)) {
|
|
139
|
-
throw new Error(`Circular reference detected: node "${node.node.name}" visited twice`);
|
|
140
|
-
}
|
|
141
|
-
visited.add(node);
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Verify tree mirror invariant (1:1 correspondence)
|
|
146
|
-
* This is the CRITICAL invariant from PRD Section 12.2
|
|
147
|
-
*
|
|
148
|
-
* For every relationship in the workflow tree, there MUST be an equivalent relationship in the node tree:
|
|
149
|
-
* - If node.parent exists, it must equal wfNode.parent.node
|
|
150
|
-
* - If node.parent is null, wfNode.parent must be null
|
|
151
|
-
* - node.children.length must equal wfNode.children.length
|
|
152
|
-
* - node.children[index] must equal wfNode.children[index].node
|
|
153
|
-
*
|
|
154
|
-
* @param workflowRoot - The root workflow to verify
|
|
155
|
-
* @throws Error if mirror invariant is violated
|
|
156
|
-
*
|
|
157
|
-
* Usage: verifyTreeMirror(root);
|
|
158
|
-
*/
|
|
159
|
-
export function verifyTreeMirror(workflowRoot) {
|
|
160
|
-
const allNodes = collectAllNodes(workflowRoot);
|
|
161
|
-
allNodes.forEach(wfNode => {
|
|
162
|
-
const node = wfNode.node;
|
|
163
|
-
// Verify parent relationship mirrors
|
|
164
|
-
if (wfNode.parent) {
|
|
165
|
-
if (node.parent !== wfNode.parent.node) {
|
|
166
|
-
throw new Error(`[MIRROR] Parent mismatch: "${wfNode.node.name}".parent is "${node.parent?.name}", expected "${wfNode.parent.node.name}"`);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
if (node.parent !== null) {
|
|
171
|
-
throw new Error(`[MIRROR] Parent mismatch: "${wfNode.node.name}".parent is "${node.parent.name}", expected null`);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
// Verify children relationship mirrors
|
|
175
|
-
if (node.children.length !== wfNode.children.length) {
|
|
176
|
-
throw new Error(`[MIRROR] Children count mismatch: "${wfNode.node.name}" has ${wfNode.children.length} workflow children but ${node.children.length} node children`);
|
|
177
|
-
}
|
|
178
|
-
wfNode.children.forEach((childWf, index) => {
|
|
179
|
-
if (node.children[index] !== childWf.node) {
|
|
180
|
-
throw new Error(`[MIRROR] Child mismatch at index ${index}: expected "${childWf.node.name}", got "${node.children[index].name}"`);
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Get depth of node in tree
|
|
187
|
-
* Depth is the number of edges from the node to the root
|
|
188
|
-
* Root has depth 0, its children have depth 1, etc.
|
|
189
|
-
*
|
|
190
|
-
* @param node - The workflow node to calculate depth for
|
|
191
|
-
* @returns The depth of the node (0 for root)
|
|
192
|
-
*/
|
|
193
|
-
export function getDepth(node) {
|
|
194
|
-
let depth = 0;
|
|
195
|
-
let current = node;
|
|
196
|
-
while (current !== null) {
|
|
197
|
-
depth++;
|
|
198
|
-
current = current.parent;
|
|
199
|
-
}
|
|
200
|
-
return depth - 1; // Subtract 1 for the node itself
|
|
201
|
-
}
|
|
202
|
-
//# sourceMappingURL=tree-verification.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tree-verification.js","sourceRoot":"","sources":["../../../src/__tests__/helpers/tree-verification.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-workflow.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/integration/agent-workflow.test.ts"],"names":[],"mappings":""}
|