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.
Files changed (292) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +26 -9
  3. package/dist/cache/cache-key.d.ts +20 -0
  4. package/dist/cache/cache-key.d.ts.map +1 -1
  5. package/dist/cache/cache-key.js +9 -0
  6. package/dist/cache/cache-key.js.map +1 -1
  7. package/dist/core/agent.d.ts +120 -29
  8. package/dist/core/agent.d.ts.map +1 -1
  9. package/dist/core/agent.js +584 -177
  10. package/dist/core/agent.js.map +1 -1
  11. package/dist/core/mcp-handler.d.ts +63 -5
  12. package/dist/core/mcp-handler.d.ts.map +1 -1
  13. package/dist/core/mcp-handler.js +184 -4
  14. package/dist/core/mcp-handler.js.map +1 -1
  15. package/dist/core/workflow-context.d.ts +6 -2
  16. package/dist/core/workflow-context.d.ts.map +1 -1
  17. package/dist/core/workflow-context.js +99 -4
  18. package/dist/core/workflow-context.js.map +1 -1
  19. package/dist/core/workflow.d.ts +315 -13
  20. package/dist/core/workflow.d.ts.map +1 -1
  21. package/dist/core/workflow.js +552 -30
  22. package/dist/core/workflow.js.map +1 -1
  23. package/dist/debugger/event-replayer.d.ts +422 -0
  24. package/dist/debugger/event-replayer.d.ts.map +1 -0
  25. package/dist/debugger/event-replayer.js +639 -0
  26. package/dist/debugger/event-replayer.js.map +1 -0
  27. package/dist/debugger/tree-debugger.d.ts +170 -1
  28. package/dist/debugger/tree-debugger.d.ts.map +1 -1
  29. package/dist/debugger/tree-debugger.js +423 -1
  30. package/dist/debugger/tree-debugger.js.map +1 -1
  31. package/dist/decorators/step.d.ts.map +1 -1
  32. package/dist/decorators/step.js +129 -47
  33. package/dist/decorators/step.js.map +1 -1
  34. package/dist/harnesses/claude-code-harness.d.ts +391 -0
  35. package/dist/harnesses/claude-code-harness.d.ts.map +1 -0
  36. package/dist/harnesses/claude-code-harness.js +1076 -0
  37. package/dist/harnesses/claude-code-harness.js.map +1 -0
  38. package/dist/harnesses/harness-registry.d.ts +440 -0
  39. package/dist/harnesses/harness-registry.d.ts.map +1 -0
  40. package/dist/harnesses/harness-registry.js +543 -0
  41. package/dist/harnesses/harness-registry.js.map +1 -0
  42. package/dist/harnesses/index.d.ts +12 -0
  43. package/dist/harnesses/index.d.ts.map +1 -0
  44. package/dist/harnesses/index.js +11 -0
  45. package/dist/harnesses/index.js.map +1 -0
  46. package/dist/harnesses/pi-harness.d.ts +219 -0
  47. package/dist/harnesses/pi-harness.d.ts.map +1 -0
  48. package/dist/harnesses/pi-harness.js +676 -0
  49. package/dist/harnesses/pi-harness.js.map +1 -0
  50. package/dist/harnesses/pi-schema-converter.d.ts +24 -0
  51. package/dist/harnesses/pi-schema-converter.d.ts.map +1 -0
  52. package/dist/harnesses/pi-schema-converter.js +81 -0
  53. package/dist/harnesses/pi-schema-converter.js.map +1 -0
  54. package/dist/harnesses/register-defaults.d.ts +24 -0
  55. package/dist/harnesses/register-defaults.d.ts.map +1 -0
  56. package/dist/harnesses/register-defaults.js +40 -0
  57. package/dist/harnesses/register-defaults.js.map +1 -0
  58. package/dist/harnesses/session-store.d.ts +201 -0
  59. package/dist/harnesses/session-store.d.ts.map +1 -0
  60. package/dist/harnesses/session-store.js +254 -0
  61. package/dist/harnesses/session-store.js.map +1 -0
  62. package/dist/index.d.ts +12 -2
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +17 -0
  65. package/dist/index.js.map +1 -1
  66. package/dist/reflection/reflection.d.ts.map +1 -1
  67. package/dist/reflection/reflection.js +19 -4
  68. package/dist/reflection/reflection.js.map +1 -1
  69. package/dist/types/agent.d.ts +1253 -2
  70. package/dist/types/agent.d.ts.map +1 -1
  71. package/dist/types/agent.js +418 -1
  72. package/dist/types/agent.js.map +1 -1
  73. package/dist/types/decorators.d.ts +10 -1
  74. package/dist/types/decorators.d.ts.map +1 -1
  75. package/dist/types/events.d.ts +26 -0
  76. package/dist/types/events.d.ts.map +1 -1
  77. package/dist/types/harnesses.d.ts +474 -0
  78. package/dist/types/harnesses.d.ts.map +1 -0
  79. package/dist/types/harnesses.js +2 -0
  80. package/dist/types/harnesses.js.map +1 -0
  81. package/dist/types/index.d.ts +9 -1
  82. package/dist/types/index.d.ts.map +1 -1
  83. package/dist/types/index.js +6 -0
  84. package/dist/types/index.js.map +1 -1
  85. package/dist/types/providers.d.ts +691 -0
  86. package/dist/types/providers.d.ts.map +1 -0
  87. package/dist/types/providers.js +14 -0
  88. package/dist/types/providers.js.map +1 -0
  89. package/dist/types/restart.d.ts +132 -0
  90. package/dist/types/restart.d.ts.map +1 -0
  91. package/dist/types/restart.js +2 -0
  92. package/dist/types/restart.js.map +1 -0
  93. package/dist/types/streaming.d.ts +194 -0
  94. package/dist/types/streaming.d.ts.map +1 -0
  95. package/dist/types/streaming.js +67 -0
  96. package/dist/types/streaming.js.map +1 -0
  97. package/dist/types/workflow-context.d.ts +137 -1
  98. package/dist/types/workflow-context.d.ts.map +1 -1
  99. package/dist/utils/agent-validation.d.ts +88 -0
  100. package/dist/utils/agent-validation.d.ts.map +1 -0
  101. package/dist/utils/agent-validation.js +87 -0
  102. package/dist/utils/agent-validation.js.map +1 -0
  103. package/dist/utils/delay.d.ts +7 -0
  104. package/dist/utils/delay.d.ts.map +1 -0
  105. package/dist/utils/delay.js +9 -0
  106. package/dist/utils/delay.js.map +1 -0
  107. package/dist/utils/harness-config.d.ts +180 -0
  108. package/dist/utils/harness-config.d.ts.map +1 -0
  109. package/dist/utils/harness-config.js +311 -0
  110. package/dist/utils/harness-config.js.map +1 -0
  111. package/dist/utils/index.d.ts +9 -1
  112. package/dist/utils/index.d.ts.map +1 -1
  113. package/dist/utils/index.js +8 -1
  114. package/dist/utils/index.js.map +1 -1
  115. package/dist/utils/model-spec.d.ts +110 -0
  116. package/dist/utils/model-spec.d.ts.map +1 -0
  117. package/dist/utils/model-spec.js +149 -0
  118. package/dist/utils/model-spec.js.map +1 -0
  119. package/dist/utils/provider-config.d.ts +10 -0
  120. package/dist/utils/provider-config.d.ts.map +1 -0
  121. package/dist/utils/provider-config.js +10 -0
  122. package/dist/utils/provider-config.js.map +1 -0
  123. package/dist/utils/restart-analysis.d.ts +202 -0
  124. package/dist/utils/restart-analysis.d.ts.map +1 -0
  125. package/dist/utils/restart-analysis.js +426 -0
  126. package/dist/utils/restart-analysis.js.map +1 -0
  127. package/dist/utils/session-serialization.d.ts +118 -0
  128. package/dist/utils/session-serialization.d.ts.map +1 -0
  129. package/dist/utils/session-serialization.js +217 -0
  130. package/dist/utils/session-serialization.js.map +1 -0
  131. package/package.json +31 -5
  132. package/CHANGELOG.md +0 -188
  133. package/dist/__tests__/adversarial/attachChild-performance.test.d.ts +0 -16
  134. package/dist/__tests__/adversarial/attachChild-performance.test.d.ts.map +0 -1
  135. package/dist/__tests__/adversarial/attachChild-performance.test.js +0 -187
  136. package/dist/__tests__/adversarial/attachChild-performance.test.js.map +0 -1
  137. package/dist/__tests__/adversarial/circular-reference.test.d.ts +0 -13
  138. package/dist/__tests__/adversarial/circular-reference.test.d.ts.map +0 -1
  139. package/dist/__tests__/adversarial/circular-reference.test.js +0 -92
  140. package/dist/__tests__/adversarial/circular-reference.test.js.map +0 -1
  141. package/dist/__tests__/adversarial/complex-circular-reference.test.d.ts +0 -16
  142. package/dist/__tests__/adversarial/complex-circular-reference.test.d.ts.map +0 -1
  143. package/dist/__tests__/adversarial/complex-circular-reference.test.js +0 -127
  144. package/dist/__tests__/adversarial/complex-circular-reference.test.js.map +0 -1
  145. package/dist/__tests__/adversarial/concurrent-task-failures.test.d.ts +0 -21
  146. package/dist/__tests__/adversarial/concurrent-task-failures.test.d.ts.map +0 -1
  147. package/dist/__tests__/adversarial/concurrent-task-failures.test.js +0 -667
  148. package/dist/__tests__/adversarial/concurrent-task-failures.test.js.map +0 -1
  149. package/dist/__tests__/adversarial/deep-analysis.test.d.ts +0 -6
  150. package/dist/__tests__/adversarial/deep-analysis.test.d.ts.map +0 -1
  151. package/dist/__tests__/adversarial/deep-analysis.test.js +0 -877
  152. package/dist/__tests__/adversarial/deep-analysis.test.js.map +0 -1
  153. package/dist/__tests__/adversarial/deep-hierarchy-stress.test.d.ts +0 -13
  154. package/dist/__tests__/adversarial/deep-hierarchy-stress.test.d.ts.map +0 -1
  155. package/dist/__tests__/adversarial/deep-hierarchy-stress.test.js +0 -186
  156. package/dist/__tests__/adversarial/deep-hierarchy-stress.test.js.map +0 -1
  157. package/dist/__tests__/adversarial/e2e-prd-validation.test.d.ts +0 -6
  158. package/dist/__tests__/adversarial/e2e-prd-validation.test.d.ts.map +0 -1
  159. package/dist/__tests__/adversarial/e2e-prd-validation.test.js +0 -626
  160. package/dist/__tests__/adversarial/e2e-prd-validation.test.js.map +0 -1
  161. package/dist/__tests__/adversarial/edge-case.test.d.ts +0 -6
  162. package/dist/__tests__/adversarial/edge-case.test.d.ts.map +0 -1
  163. package/dist/__tests__/adversarial/edge-case.test.js +0 -857
  164. package/dist/__tests__/adversarial/edge-case.test.js.map +0 -1
  165. package/dist/__tests__/adversarial/error-merge-strategy.test.d.ts +0 -20
  166. package/dist/__tests__/adversarial/error-merge-strategy.test.d.ts.map +0 -1
  167. package/dist/__tests__/adversarial/error-merge-strategy.test.js +0 -907
  168. package/dist/__tests__/adversarial/error-merge-strategy.test.js.map +0 -1
  169. package/dist/__tests__/adversarial/incremental-performance.test.d.ts +0 -2
  170. package/dist/__tests__/adversarial/incremental-performance.test.d.ts.map +0 -1
  171. package/dist/__tests__/adversarial/incremental-performance.test.js +0 -113
  172. package/dist/__tests__/adversarial/incremental-performance.test.js.map +0 -1
  173. package/dist/__tests__/adversarial/node-map-update-benchmarks.test.d.ts +0 -22
  174. package/dist/__tests__/adversarial/node-map-update-benchmarks.test.d.ts.map +0 -1
  175. package/dist/__tests__/adversarial/node-map-update-benchmarks.test.js +0 -383
  176. package/dist/__tests__/adversarial/node-map-update-benchmarks.test.js.map +0 -1
  177. package/dist/__tests__/adversarial/observer-propagation.test.d.ts +0 -21
  178. package/dist/__tests__/adversarial/observer-propagation.test.d.ts.map +0 -1
  179. package/dist/__tests__/adversarial/observer-propagation.test.js +0 -404
  180. package/dist/__tests__/adversarial/observer-propagation.test.js.map +0 -1
  181. package/dist/__tests__/adversarial/parent-validation.test.d.ts +0 -13
  182. package/dist/__tests__/adversarial/parent-validation.test.d.ts.map +0 -1
  183. package/dist/__tests__/adversarial/parent-validation.test.js +0 -128
  184. package/dist/__tests__/adversarial/parent-validation.test.js.map +0 -1
  185. package/dist/__tests__/adversarial/prd-12-2-compliance.test.d.ts +0 -20
  186. package/dist/__tests__/adversarial/prd-12-2-compliance.test.d.ts.map +0 -1
  187. package/dist/__tests__/adversarial/prd-12-2-compliance.test.js +0 -482
  188. package/dist/__tests__/adversarial/prd-12-2-compliance.test.js.map +0 -1
  189. package/dist/__tests__/adversarial/prd-compliance.test.d.ts +0 -6
  190. package/dist/__tests__/adversarial/prd-compliance.test.d.ts.map +0 -1
  191. package/dist/__tests__/adversarial/prd-compliance.test.js +0 -886
  192. package/dist/__tests__/adversarial/prd-compliance.test.js.map +0 -1
  193. package/dist/__tests__/compatibility/backward-compatibility.test.d.ts +0 -22
  194. package/dist/__tests__/compatibility/backward-compatibility.test.d.ts.map +0 -1
  195. package/dist/__tests__/compatibility/backward-compatibility.test.js +0 -1843
  196. package/dist/__tests__/compatibility/backward-compatibility.test.js.map +0 -1
  197. package/dist/__tests__/helpers/index.d.ts +0 -10
  198. package/dist/__tests__/helpers/index.d.ts.map +0 -1
  199. package/dist/__tests__/helpers/index.js +0 -10
  200. package/dist/__tests__/helpers/index.js.map +0 -1
  201. package/dist/__tests__/helpers/tree-verification.d.ts +0 -90
  202. package/dist/__tests__/helpers/tree-verification.d.ts.map +0 -1
  203. package/dist/__tests__/helpers/tree-verification.js +0 -202
  204. package/dist/__tests__/helpers/tree-verification.js.map +0 -1
  205. package/dist/__tests__/integration/agent-workflow.test.d.ts +0 -2
  206. package/dist/__tests__/integration/agent-workflow.test.d.ts.map +0 -1
  207. package/dist/__tests__/integration/agent-workflow.test.js +0 -256
  208. package/dist/__tests__/integration/agent-workflow.test.js.map +0 -1
  209. package/dist/__tests__/integration/bidirectional-consistency.test.d.ts +0 -14
  210. package/dist/__tests__/integration/bidirectional-consistency.test.d.ts.map +0 -1
  211. package/dist/__tests__/integration/bidirectional-consistency.test.js +0 -668
  212. package/dist/__tests__/integration/bidirectional-consistency.test.js.map +0 -1
  213. package/dist/__tests__/integration/observer-logging.test.d.ts +0 -2
  214. package/dist/__tests__/integration/observer-logging.test.d.ts.map +0 -1
  215. package/dist/__tests__/integration/observer-logging.test.js +0 -517
  216. package/dist/__tests__/integration/observer-logging.test.js.map +0 -1
  217. package/dist/__tests__/integration/tree-mirroring.test.d.ts +0 -2
  218. package/dist/__tests__/integration/tree-mirroring.test.d.ts.map +0 -1
  219. package/dist/__tests__/integration/tree-mirroring.test.js +0 -117
  220. package/dist/__tests__/integration/tree-mirroring.test.js.map +0 -1
  221. package/dist/__tests__/integration/workflow-reparenting.test.d.ts +0 -12
  222. package/dist/__tests__/integration/workflow-reparenting.test.d.ts.map +0 -1
  223. package/dist/__tests__/integration/workflow-reparenting.test.js +0 -239
  224. package/dist/__tests__/integration/workflow-reparenting.test.js.map +0 -1
  225. package/dist/__tests__/unit/agent.test.d.ts +0 -2
  226. package/dist/__tests__/unit/agent.test.d.ts.map +0 -1
  227. package/dist/__tests__/unit/agent.test.js +0 -143
  228. package/dist/__tests__/unit/agent.test.js.map +0 -1
  229. package/dist/__tests__/unit/cache-key.test.d.ts +0 -5
  230. package/dist/__tests__/unit/cache-key.test.d.ts.map +0 -1
  231. package/dist/__tests__/unit/cache-key.test.js +0 -145
  232. package/dist/__tests__/unit/cache-key.test.js.map +0 -1
  233. package/dist/__tests__/unit/cache.test.d.ts +0 -5
  234. package/dist/__tests__/unit/cache.test.d.ts.map +0 -1
  235. package/dist/__tests__/unit/cache.test.js +0 -132
  236. package/dist/__tests__/unit/cache.test.js.map +0 -1
  237. package/dist/__tests__/unit/context.test.d.ts +0 -2
  238. package/dist/__tests__/unit/context.test.d.ts.map +0 -1
  239. package/dist/__tests__/unit/context.test.js +0 -220
  240. package/dist/__tests__/unit/context.test.js.map +0 -1
  241. package/dist/__tests__/unit/decorators.test.d.ts +0 -2
  242. package/dist/__tests__/unit/decorators.test.d.ts.map +0 -1
  243. package/dist/__tests__/unit/decorators.test.js +0 -162
  244. package/dist/__tests__/unit/decorators.test.js.map +0 -1
  245. package/dist/__tests__/unit/introspection-tools.test.d.ts +0 -5
  246. package/dist/__tests__/unit/introspection-tools.test.d.ts.map +0 -1
  247. package/dist/__tests__/unit/introspection-tools.test.js +0 -191
  248. package/dist/__tests__/unit/introspection-tools.test.js.map +0 -1
  249. package/dist/__tests__/unit/logger.test.d.ts +0 -2
  250. package/dist/__tests__/unit/logger.test.d.ts.map +0 -1
  251. package/dist/__tests__/unit/logger.test.js +0 -241
  252. package/dist/__tests__/unit/logger.test.js.map +0 -1
  253. package/dist/__tests__/unit/observable.test.d.ts +0 -2
  254. package/dist/__tests__/unit/observable.test.d.ts.map +0 -1
  255. package/dist/__tests__/unit/observable.test.js +0 -251
  256. package/dist/__tests__/unit/observable.test.js.map +0 -1
  257. package/dist/__tests__/unit/prompt.test.d.ts +0 -2
  258. package/dist/__tests__/unit/prompt.test.d.ts.map +0 -1
  259. package/dist/__tests__/unit/prompt.test.js +0 -113
  260. package/dist/__tests__/unit/prompt.test.js.map +0 -1
  261. package/dist/__tests__/unit/reflection.test.d.ts +0 -5
  262. package/dist/__tests__/unit/reflection.test.d.ts.map +0 -1
  263. package/dist/__tests__/unit/reflection.test.js +0 -160
  264. package/dist/__tests__/unit/reflection.test.js.map +0 -1
  265. package/dist/__tests__/unit/tree-debugger-incremental.test.d.ts +0 -2
  266. package/dist/__tests__/unit/tree-debugger-incremental.test.d.ts.map +0 -1
  267. package/dist/__tests__/unit/tree-debugger-incremental.test.js +0 -136
  268. package/dist/__tests__/unit/tree-debugger-incremental.test.js.map +0 -1
  269. package/dist/__tests__/unit/tree-debugger.test.d.ts +0 -2
  270. package/dist/__tests__/unit/tree-debugger.test.d.ts.map +0 -1
  271. package/dist/__tests__/unit/tree-debugger.test.js +0 -69
  272. package/dist/__tests__/unit/tree-debugger.test.js.map +0 -1
  273. package/dist/__tests__/unit/utils/workflow-error-utils.test.d.ts +0 -2
  274. package/dist/__tests__/unit/utils/workflow-error-utils.test.d.ts.map +0 -1
  275. package/dist/__tests__/unit/utils/workflow-error-utils.test.js +0 -154
  276. package/dist/__tests__/unit/utils/workflow-error-utils.test.js.map +0 -1
  277. package/dist/__tests__/unit/workflow-detachChild.test.d.ts +0 -2
  278. package/dist/__tests__/unit/workflow-detachChild.test.d.ts.map +0 -1
  279. package/dist/__tests__/unit/workflow-detachChild.test.js +0 -76
  280. package/dist/__tests__/unit/workflow-detachChild.test.js.map +0 -1
  281. package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.d.ts +0 -2
  282. package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.d.ts.map +0 -1
  283. package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.js +0 -122
  284. package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.js.map +0 -1
  285. package/dist/__tests__/unit/workflow-isDescendantOf.test.d.ts +0 -2
  286. package/dist/__tests__/unit/workflow-isDescendantOf.test.d.ts.map +0 -1
  287. package/dist/__tests__/unit/workflow-isDescendantOf.test.js +0 -140
  288. package/dist/__tests__/unit/workflow-isDescendantOf.test.js.map +0 -1
  289. package/dist/__tests__/unit/workflow.test.d.ts +0 -2
  290. package/dist/__tests__/unit/workflow.test.d.ts.map +0 -1
  291. package/dist/__tests__/unit/workflow.test.js +0 -330
  292. 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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=agent-workflow.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-workflow.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/integration/agent-workflow.test.ts"],"names":[],"mappings":""}