groundswell 0.0.1 → 0.0.3

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 (451) hide show
  1. package/CHANGELOG.md +188 -0
  2. package/README.md +99 -5
  3. package/dist/__tests__/adversarial/attachChild-performance.test.d.ts +16 -0
  4. package/dist/__tests__/adversarial/attachChild-performance.test.d.ts.map +1 -0
  5. package/dist/__tests__/adversarial/attachChild-performance.test.js +187 -0
  6. package/dist/__tests__/adversarial/attachChild-performance.test.js.map +1 -0
  7. package/dist/__tests__/adversarial/circular-reference.test.d.ts +13 -0
  8. package/dist/__tests__/adversarial/circular-reference.test.d.ts.map +1 -0
  9. package/dist/__tests__/adversarial/circular-reference.test.js +92 -0
  10. package/dist/__tests__/adversarial/circular-reference.test.js.map +1 -0
  11. package/dist/__tests__/adversarial/complex-circular-reference.test.d.ts +16 -0
  12. package/dist/__tests__/adversarial/complex-circular-reference.test.d.ts.map +1 -0
  13. package/dist/__tests__/adversarial/complex-circular-reference.test.js +127 -0
  14. package/dist/__tests__/adversarial/complex-circular-reference.test.js.map +1 -0
  15. package/dist/__tests__/adversarial/concurrent-task-failures.test.d.ts +21 -0
  16. package/dist/__tests__/adversarial/concurrent-task-failures.test.d.ts.map +1 -0
  17. package/dist/__tests__/adversarial/concurrent-task-failures.test.js +667 -0
  18. package/dist/__tests__/adversarial/concurrent-task-failures.test.js.map +1 -0
  19. package/dist/__tests__/adversarial/deep-analysis.test.d.ts +6 -0
  20. package/dist/__tests__/adversarial/deep-analysis.test.d.ts.map +1 -0
  21. package/dist/__tests__/adversarial/deep-analysis.test.js +877 -0
  22. package/dist/__tests__/adversarial/deep-analysis.test.js.map +1 -0
  23. package/dist/__tests__/adversarial/deep-hierarchy-stress.test.d.ts +13 -0
  24. package/dist/__tests__/adversarial/deep-hierarchy-stress.test.d.ts.map +1 -0
  25. package/dist/__tests__/adversarial/deep-hierarchy-stress.test.js +186 -0
  26. package/dist/__tests__/adversarial/deep-hierarchy-stress.test.js.map +1 -0
  27. package/dist/__tests__/adversarial/e2e-prd-validation.test.d.ts +6 -0
  28. package/dist/__tests__/adversarial/e2e-prd-validation.test.d.ts.map +1 -0
  29. package/dist/__tests__/adversarial/e2e-prd-validation.test.js +626 -0
  30. package/dist/__tests__/adversarial/e2e-prd-validation.test.js.map +1 -0
  31. package/dist/__tests__/adversarial/edge-case.test.d.ts +6 -0
  32. package/dist/__tests__/adversarial/edge-case.test.d.ts.map +1 -0
  33. package/dist/__tests__/adversarial/edge-case.test.js +857 -0
  34. package/dist/__tests__/adversarial/edge-case.test.js.map +1 -0
  35. package/dist/__tests__/adversarial/error-merge-strategy.test.d.ts +20 -0
  36. package/dist/__tests__/adversarial/error-merge-strategy.test.d.ts.map +1 -0
  37. package/dist/__tests__/adversarial/error-merge-strategy.test.js +907 -0
  38. package/dist/__tests__/adversarial/error-merge-strategy.test.js.map +1 -0
  39. package/dist/__tests__/adversarial/incremental-performance.test.d.ts +2 -0
  40. package/dist/__tests__/adversarial/incremental-performance.test.d.ts.map +1 -0
  41. package/dist/__tests__/adversarial/incremental-performance.test.js +113 -0
  42. package/dist/__tests__/adversarial/incremental-performance.test.js.map +1 -0
  43. package/dist/__tests__/adversarial/node-map-update-benchmarks.test.d.ts +22 -0
  44. package/dist/__tests__/adversarial/node-map-update-benchmarks.test.d.ts.map +1 -0
  45. package/dist/__tests__/adversarial/node-map-update-benchmarks.test.js +383 -0
  46. package/dist/__tests__/adversarial/node-map-update-benchmarks.test.js.map +1 -0
  47. package/dist/__tests__/adversarial/observer-propagation.test.d.ts +21 -0
  48. package/dist/__tests__/adversarial/observer-propagation.test.d.ts.map +1 -0
  49. package/dist/__tests__/adversarial/observer-propagation.test.js +404 -0
  50. package/dist/__tests__/adversarial/observer-propagation.test.js.map +1 -0
  51. package/dist/__tests__/adversarial/parent-validation.test.d.ts +13 -0
  52. package/dist/__tests__/adversarial/parent-validation.test.d.ts.map +1 -0
  53. package/dist/__tests__/adversarial/parent-validation.test.js +128 -0
  54. package/dist/__tests__/adversarial/parent-validation.test.js.map +1 -0
  55. package/dist/__tests__/adversarial/prd-12-2-compliance.test.d.ts +20 -0
  56. package/dist/__tests__/adversarial/prd-12-2-compliance.test.d.ts.map +1 -0
  57. package/dist/__tests__/adversarial/prd-12-2-compliance.test.js +482 -0
  58. package/dist/__tests__/adversarial/prd-12-2-compliance.test.js.map +1 -0
  59. package/dist/__tests__/adversarial/prd-compliance.test.d.ts +6 -0
  60. package/dist/__tests__/adversarial/prd-compliance.test.d.ts.map +1 -0
  61. package/dist/__tests__/adversarial/prd-compliance.test.js +886 -0
  62. package/dist/__tests__/adversarial/prd-compliance.test.js.map +1 -0
  63. package/dist/__tests__/compatibility/backward-compatibility.test.d.ts +22 -0
  64. package/dist/__tests__/compatibility/backward-compatibility.test.d.ts.map +1 -0
  65. package/dist/__tests__/compatibility/backward-compatibility.test.js +1843 -0
  66. package/dist/__tests__/compatibility/backward-compatibility.test.js.map +1 -0
  67. package/dist/__tests__/helpers/index.d.ts +10 -0
  68. package/dist/__tests__/helpers/index.d.ts.map +1 -0
  69. package/dist/__tests__/helpers/index.js +10 -0
  70. package/dist/__tests__/helpers/index.js.map +1 -0
  71. package/dist/__tests__/helpers/tree-verification.d.ts +90 -0
  72. package/dist/__tests__/helpers/tree-verification.d.ts.map +1 -0
  73. package/dist/__tests__/helpers/tree-verification.js +202 -0
  74. package/dist/__tests__/helpers/tree-verification.js.map +1 -0
  75. package/dist/__tests__/integration/agent-workflow.test.d.ts +2 -0
  76. package/dist/__tests__/integration/agent-workflow.test.d.ts.map +1 -0
  77. package/dist/__tests__/integration/agent-workflow.test.js +256 -0
  78. package/dist/__tests__/integration/agent-workflow.test.js.map +1 -0
  79. package/dist/__tests__/integration/bidirectional-consistency.test.d.ts +14 -0
  80. package/dist/__tests__/integration/bidirectional-consistency.test.d.ts.map +1 -0
  81. package/dist/__tests__/integration/bidirectional-consistency.test.js +668 -0
  82. package/dist/__tests__/integration/bidirectional-consistency.test.js.map +1 -0
  83. package/dist/__tests__/integration/observer-logging.test.d.ts +2 -0
  84. package/dist/__tests__/integration/observer-logging.test.d.ts.map +1 -0
  85. package/dist/__tests__/integration/observer-logging.test.js +517 -0
  86. package/dist/__tests__/integration/observer-logging.test.js.map +1 -0
  87. package/dist/__tests__/integration/tree-mirroring.test.d.ts +2 -0
  88. package/dist/__tests__/integration/tree-mirroring.test.d.ts.map +1 -0
  89. package/dist/__tests__/integration/tree-mirroring.test.js +117 -0
  90. package/dist/__tests__/integration/tree-mirroring.test.js.map +1 -0
  91. package/dist/__tests__/integration/workflow-reparenting.test.d.ts +12 -0
  92. package/dist/__tests__/integration/workflow-reparenting.test.d.ts.map +1 -0
  93. package/dist/__tests__/integration/workflow-reparenting.test.js +239 -0
  94. package/dist/__tests__/integration/workflow-reparenting.test.js.map +1 -0
  95. package/dist/__tests__/unit/agent.test.d.ts +2 -0
  96. package/dist/__tests__/unit/agent.test.d.ts.map +1 -0
  97. package/dist/__tests__/unit/agent.test.js +143 -0
  98. package/dist/__tests__/unit/agent.test.js.map +1 -0
  99. package/dist/__tests__/unit/cache-key.test.d.ts +5 -0
  100. package/dist/__tests__/unit/cache-key.test.d.ts.map +1 -0
  101. package/dist/__tests__/unit/cache-key.test.js +145 -0
  102. package/dist/__tests__/unit/cache-key.test.js.map +1 -0
  103. package/dist/__tests__/unit/cache.test.d.ts +5 -0
  104. package/dist/__tests__/unit/cache.test.d.ts.map +1 -0
  105. package/dist/__tests__/unit/cache.test.js +132 -0
  106. package/dist/__tests__/unit/cache.test.js.map +1 -0
  107. package/dist/__tests__/unit/context.test.d.ts +2 -0
  108. package/dist/__tests__/unit/context.test.d.ts.map +1 -0
  109. package/dist/__tests__/unit/context.test.js +220 -0
  110. package/dist/__tests__/unit/context.test.js.map +1 -0
  111. package/dist/__tests__/unit/decorators.test.d.ts +2 -0
  112. package/dist/__tests__/unit/decorators.test.d.ts.map +1 -0
  113. package/dist/__tests__/unit/decorators.test.js +162 -0
  114. package/dist/__tests__/unit/decorators.test.js.map +1 -0
  115. package/dist/__tests__/unit/introspection-tools.test.d.ts +5 -0
  116. package/dist/__tests__/unit/introspection-tools.test.d.ts.map +1 -0
  117. package/dist/__tests__/unit/introspection-tools.test.js +191 -0
  118. package/dist/__tests__/unit/introspection-tools.test.js.map +1 -0
  119. package/dist/__tests__/unit/logger.test.d.ts +2 -0
  120. package/dist/__tests__/unit/logger.test.d.ts.map +1 -0
  121. package/dist/__tests__/unit/logger.test.js +241 -0
  122. package/dist/__tests__/unit/logger.test.js.map +1 -0
  123. package/dist/__tests__/unit/observable.test.d.ts +2 -0
  124. package/dist/__tests__/unit/observable.test.d.ts.map +1 -0
  125. package/dist/__tests__/unit/observable.test.js +251 -0
  126. package/dist/__tests__/unit/observable.test.js.map +1 -0
  127. package/dist/__tests__/unit/prompt.test.d.ts +2 -0
  128. package/dist/__tests__/unit/prompt.test.d.ts.map +1 -0
  129. package/dist/__tests__/unit/prompt.test.js +113 -0
  130. package/dist/__tests__/unit/prompt.test.js.map +1 -0
  131. package/dist/__tests__/unit/reflection.test.d.ts +5 -0
  132. package/dist/__tests__/unit/reflection.test.d.ts.map +1 -0
  133. package/dist/__tests__/unit/reflection.test.js +160 -0
  134. package/dist/__tests__/unit/reflection.test.js.map +1 -0
  135. package/dist/__tests__/unit/tree-debugger-incremental.test.d.ts +2 -0
  136. package/dist/__tests__/unit/tree-debugger-incremental.test.d.ts.map +1 -0
  137. package/dist/__tests__/unit/tree-debugger-incremental.test.js +136 -0
  138. package/dist/__tests__/unit/tree-debugger-incremental.test.js.map +1 -0
  139. package/dist/__tests__/unit/tree-debugger.test.d.ts +2 -0
  140. package/dist/__tests__/unit/tree-debugger.test.d.ts.map +1 -0
  141. package/dist/__tests__/unit/tree-debugger.test.js +69 -0
  142. package/dist/__tests__/unit/tree-debugger.test.js.map +1 -0
  143. package/dist/__tests__/unit/utils/workflow-error-utils.test.d.ts +2 -0
  144. package/dist/__tests__/unit/utils/workflow-error-utils.test.d.ts.map +1 -0
  145. package/dist/__tests__/unit/utils/workflow-error-utils.test.js +154 -0
  146. package/dist/__tests__/unit/utils/workflow-error-utils.test.js.map +1 -0
  147. package/dist/__tests__/unit/workflow-detachChild.test.d.ts +2 -0
  148. package/dist/__tests__/unit/workflow-detachChild.test.d.ts.map +1 -0
  149. package/dist/__tests__/unit/workflow-detachChild.test.js +76 -0
  150. package/dist/__tests__/unit/workflow-detachChild.test.js.map +1 -0
  151. package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.d.ts +2 -0
  152. package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.d.ts.map +1 -0
  153. package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.js +122 -0
  154. package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.js.map +1 -0
  155. package/dist/__tests__/unit/workflow-isDescendantOf.test.d.ts +2 -0
  156. package/dist/__tests__/unit/workflow-isDescendantOf.test.d.ts.map +1 -0
  157. package/dist/__tests__/unit/workflow-isDescendantOf.test.js +140 -0
  158. package/dist/__tests__/unit/workflow-isDescendantOf.test.js.map +1 -0
  159. package/dist/__tests__/unit/workflow.test.d.ts +2 -0
  160. package/dist/__tests__/unit/workflow.test.d.ts.map +1 -0
  161. package/dist/__tests__/unit/workflow.test.js +330 -0
  162. package/dist/__tests__/unit/workflow.test.js.map +1 -0
  163. package/dist/cache/cache-key.d.ts +66 -0
  164. package/dist/cache/cache-key.d.ts.map +1 -0
  165. package/dist/cache/cache-key.js +195 -0
  166. package/dist/cache/cache-key.js.map +1 -0
  167. package/dist/cache/cache.d.ts +104 -0
  168. package/dist/cache/cache.d.ts.map +1 -0
  169. package/dist/cache/cache.js +179 -0
  170. package/dist/cache/cache.js.map +1 -0
  171. package/{src/cache/index.ts → dist/cache/index.d.ts} +1 -1
  172. package/dist/cache/index.d.ts.map +1 -0
  173. package/dist/cache/index.js +6 -0
  174. package/dist/cache/index.js.map +1 -0
  175. package/dist/core/agent.d.ts +112 -0
  176. package/dist/core/agent.d.ts.map +1 -0
  177. package/dist/core/agent.js +426 -0
  178. package/dist/core/agent.js.map +1 -0
  179. package/{src/core/context.ts → dist/core/context.d.ts} +16 -67
  180. package/dist/core/context.d.ts.map +1 -0
  181. package/dist/core/context.js +80 -0
  182. package/dist/core/context.js.map +1 -0
  183. package/dist/core/event-tree.d.ts +72 -0
  184. package/dist/core/event-tree.d.ts.map +1 -0
  185. package/dist/core/event-tree.js +211 -0
  186. package/dist/core/event-tree.js.map +1 -0
  187. package/{src/core/factory.ts → dist/core/factory.d.ts} +6 -27
  188. package/dist/core/factory.d.ts.map +1 -0
  189. package/dist/core/factory.js +110 -0
  190. package/dist/core/factory.js.map +1 -0
  191. package/{src/core/index.ts → dist/core/index.d.ts} +2 -10
  192. package/dist/core/index.d.ts.map +1 -0
  193. package/dist/core/index.js +9 -0
  194. package/dist/core/index.js.map +1 -0
  195. package/dist/core/logger.d.ts +50 -0
  196. package/dist/core/logger.d.ts.map +1 -0
  197. package/dist/core/logger.js +91 -0
  198. package/dist/core/logger.js.map +1 -0
  199. package/dist/core/mcp-handler.d.ts +69 -0
  200. package/dist/core/mcp-handler.d.ts.map +1 -0
  201. package/dist/core/mcp-handler.js +143 -0
  202. package/dist/core/mcp-handler.js.map +1 -0
  203. package/dist/core/prompt.d.ts +80 -0
  204. package/dist/core/prompt.d.ts.map +1 -0
  205. package/dist/core/prompt.js +120 -0
  206. package/dist/core/prompt.js.map +1 -0
  207. package/dist/core/workflow-context.d.ts +57 -0
  208. package/dist/core/workflow-context.d.ts.map +1 -0
  209. package/dist/core/workflow-context.js +263 -0
  210. package/dist/core/workflow-context.js.map +1 -0
  211. package/dist/core/workflow.d.ts +241 -0
  212. package/dist/core/workflow.d.ts.map +1 -0
  213. package/dist/core/workflow.js +464 -0
  214. package/dist/core/workflow.js.map +1 -0
  215. package/dist/debugger/index.d.ts +2 -0
  216. package/dist/debugger/index.d.ts.map +1 -0
  217. package/{src/debugger/index.ts → dist/debugger/index.js} +1 -0
  218. package/dist/debugger/index.js.map +1 -0
  219. package/dist/debugger/tree-debugger.d.ts +71 -0
  220. package/dist/debugger/tree-debugger.d.ts.map +1 -0
  221. package/dist/debugger/tree-debugger.js +198 -0
  222. package/dist/debugger/tree-debugger.js.map +1 -0
  223. package/dist/decorators/index.d.ts +4 -0
  224. package/dist/decorators/index.d.ts.map +1 -0
  225. package/{src/decorators/index.ts → dist/decorators/index.js} +1 -0
  226. package/dist/decorators/index.js.map +1 -0
  227. package/dist/decorators/observed-state.d.ts +32 -0
  228. package/dist/decorators/observed-state.d.ts.map +1 -0
  229. package/dist/decorators/observed-state.js +79 -0
  230. package/dist/decorators/observed-state.js.map +1 -0
  231. package/dist/decorators/step.d.ts +15 -0
  232. package/dist/decorators/step.d.ts.map +1 -0
  233. package/dist/decorators/step.js +110 -0
  234. package/dist/decorators/step.js.map +1 -0
  235. package/dist/decorators/task.d.ts +50 -0
  236. package/dist/decorators/task.d.ts.map +1 -0
  237. package/dist/decorators/task.js +118 -0
  238. package/dist/decorators/task.js.map +1 -0
  239. package/dist/examples/index.d.ts +3 -0
  240. package/dist/examples/index.d.ts.map +1 -0
  241. package/{src/examples/index.ts → dist/examples/index.js} +1 -0
  242. package/dist/examples/index.js.map +1 -0
  243. package/dist/examples/tdd-orchestrator.d.ts +15 -0
  244. package/dist/examples/tdd-orchestrator.d.ts.map +1 -0
  245. package/dist/examples/tdd-orchestrator.js +121 -0
  246. package/dist/examples/tdd-orchestrator.js.map +1 -0
  247. package/dist/examples/test-cycle-workflow.d.ts +14 -0
  248. package/dist/examples/test-cycle-workflow.d.ts.map +1 -0
  249. package/dist/examples/test-cycle-workflow.js +116 -0
  250. package/dist/examples/test-cycle-workflow.js.map +1 -0
  251. package/dist/index.d.ts +27 -0
  252. package/dist/index.d.ts.map +1 -0
  253. package/dist/index.js +40 -0
  254. package/dist/index.js.map +1 -0
  255. package/dist/reflection/index.d.ts +5 -0
  256. package/dist/reflection/index.d.ts.map +1 -0
  257. package/{src/reflection/index.ts → dist/reflection/index.js} +1 -1
  258. package/dist/reflection/index.js.map +1 -0
  259. package/dist/reflection/reflection.d.ts +84 -0
  260. package/dist/reflection/reflection.d.ts.map +1 -0
  261. package/dist/reflection/reflection.js +329 -0
  262. package/dist/reflection/reflection.js.map +1 -0
  263. package/dist/tools/index.d.ts +6 -0
  264. package/dist/tools/index.d.ts.map +1 -0
  265. package/dist/tools/index.js +11 -0
  266. package/dist/tools/index.js.map +1 -0
  267. package/dist/tools/introspection.d.ts +165 -0
  268. package/dist/tools/introspection.d.ts.map +1 -0
  269. package/dist/tools/introspection.js +324 -0
  270. package/dist/tools/introspection.js.map +1 -0
  271. package/dist/types/agent.d.ts +66 -0
  272. package/dist/types/agent.d.ts.map +1 -0
  273. package/dist/types/agent.js +6 -0
  274. package/dist/types/agent.js.map +1 -0
  275. package/dist/types/decorators.d.ts +31 -0
  276. package/dist/types/decorators.d.ts.map +1 -0
  277. package/dist/types/decorators.js +2 -0
  278. package/dist/types/decorators.js.map +1 -0
  279. package/dist/types/error-strategy.d.ts +13 -0
  280. package/dist/types/error-strategy.d.ts.map +1 -0
  281. package/dist/types/error-strategy.js +2 -0
  282. package/dist/types/error-strategy.js.map +1 -0
  283. package/dist/types/error.d.ts +20 -0
  284. package/dist/types/error.d.ts.map +1 -0
  285. package/dist/types/error.js +2 -0
  286. package/dist/types/error.js.map +1 -0
  287. package/dist/types/events.d.ts +87 -0
  288. package/dist/types/events.d.ts.map +1 -0
  289. package/dist/types/events.js +2 -0
  290. package/dist/types/events.js.map +1 -0
  291. package/dist/types/index.d.ts +15 -0
  292. package/dist/types/index.d.ts.map +1 -0
  293. package/dist/types/index.js +2 -0
  294. package/dist/types/index.js.map +1 -0
  295. package/dist/types/logging.d.ts +24 -0
  296. package/dist/types/logging.d.ts.map +1 -0
  297. package/dist/types/logging.js +2 -0
  298. package/dist/types/logging.js.map +1 -0
  299. package/dist/types/observer.d.ts +18 -0
  300. package/dist/types/observer.d.ts.map +1 -0
  301. package/dist/types/observer.js +2 -0
  302. package/dist/types/observer.js.map +1 -0
  303. package/dist/types/prompt.d.ts +31 -0
  304. package/dist/types/prompt.d.ts.map +1 -0
  305. package/dist/types/prompt.js +6 -0
  306. package/dist/types/prompt.js.map +1 -0
  307. package/dist/types/reflection.d.ts +96 -0
  308. package/dist/types/reflection.d.ts.map +1 -0
  309. package/dist/types/reflection.js +24 -0
  310. package/dist/types/reflection.js.map +1 -0
  311. package/dist/types/sdk-primitives.d.ts +118 -0
  312. package/dist/types/sdk-primitives.d.ts.map +1 -0
  313. package/dist/types/sdk-primitives.js +6 -0
  314. package/dist/types/sdk-primitives.js.map +1 -0
  315. package/{src/types/snapshot.ts → dist/types/snapshot.d.ts} +5 -5
  316. package/dist/types/snapshot.d.ts.map +1 -0
  317. package/dist/types/snapshot.js +2 -0
  318. package/dist/types/snapshot.js.map +1 -0
  319. package/dist/types/workflow-context.d.ts +139 -0
  320. package/dist/types/workflow-context.d.ts.map +1 -0
  321. package/dist/types/workflow-context.js +8 -0
  322. package/dist/types/workflow-context.js.map +1 -0
  323. package/dist/types/workflow.d.ts +30 -0
  324. package/dist/types/workflow.d.ts.map +1 -0
  325. package/dist/types/workflow.js +2 -0
  326. package/dist/types/workflow.js.map +1 -0
  327. package/dist/utils/id.d.ts +6 -0
  328. package/dist/utils/id.d.ts.map +1 -0
  329. package/dist/utils/id.js +12 -0
  330. package/dist/utils/id.js.map +1 -0
  331. package/{src/utils/index.ts → dist/utils/index.d.ts} +2 -0
  332. package/dist/utils/index.d.ts.map +1 -0
  333. package/dist/utils/index.js +4 -0
  334. package/dist/utils/index.js.map +1 -0
  335. package/dist/utils/observable.d.ts +54 -0
  336. package/dist/utils/observable.d.ts.map +1 -0
  337. package/dist/utils/observable.js +82 -0
  338. package/dist/utils/observable.js.map +1 -0
  339. package/dist/utils/workflow-error-utils.d.ts +22 -0
  340. package/dist/utils/workflow-error-utils.d.ts.map +1 -0
  341. package/dist/utils/workflow-error-utils.js +45 -0
  342. package/dist/utils/workflow-error-utils.js.map +1 -0
  343. package/package.json +7 -2
  344. package/.claude/settings.local.json +0 -9
  345. package/.claude/system_prompts/task-breakdown.md +0 -100
  346. package/PRPs/001-hierarchical-workflow-engine.md +0 -2438
  347. package/PRPs/PRDs/001-hierarchical-workflow-engine.md +0 -543
  348. package/PRPs/PRDs/002-agent-prompt.md +0 -390
  349. package/PRPs/PRDs/003-agent-prompt.md +0 -943
  350. package/PRPs/PRDs/004-agent-prompt.md +0 -1136
  351. package/PRPs/PRDs/tasks-001.json +0 -492
  352. package/PRPs/README.md +0 -83
  353. package/PRPs/templates/prp_base.md +0 -222
  354. package/docs/agent.md +0 -422
  355. package/docs/prompt.md +0 -419
  356. package/docs/workflow.md +0 -600
  357. package/examples/README.md +0 -244
  358. package/examples/examples/01-basic-workflow.ts +0 -100
  359. package/examples/examples/02-decorator-options.ts +0 -217
  360. package/examples/examples/03-parent-child.ts +0 -241
  361. package/examples/examples/04-observers-debugger.ts +0 -340
  362. package/examples/examples/05-error-handling.ts +0 -387
  363. package/examples/examples/06-concurrent-tasks.ts +0 -352
  364. package/examples/examples/07-agent-loops.ts +0 -432
  365. package/examples/examples/08-sdk-features.ts +0 -667
  366. package/examples/examples/09-reflection.ts +0 -573
  367. package/examples/examples/10-introspection.ts +0 -550
  368. package/examples/index.ts +0 -143
  369. package/examples/utils/helpers.ts +0 -57
  370. package/llms_full.txt +0 -5890
  371. package/plan/P1P2/PRP.md +0 -527
  372. package/plan/P1P2/research/LRU_CACHE_BEST_PRACTICES.md +0 -1929
  373. package/plan/P1P2/research/LRU_CACHE_CODE_PATTERNS.md +0 -857
  374. package/plan/P1P2/research/LRU_CACHE_INTEGRATION_GUIDE.md +0 -738
  375. package/plan/P1P2/research/LRU_CACHE_RESEARCH_INDEX.md +0 -424
  376. package/plan/P1P2/research/REFLECTION_INDEX.md +0 -291
  377. package/plan/P1P2/research/REFLECTION_RESEARCH_REPORT.md +0 -1342
  378. package/plan/P1P2/research/RESEARCH_SUMMARY.md +0 -342
  379. package/plan/P1P2/research/anthropic-sdk.md +0 -174
  380. package/plan/P1P2/research/async-local-storage.md +0 -200
  381. package/plan/P1P2/research/reflection-code-patterns.md +0 -1205
  382. package/plan/P1P2/research/reflection-decision-matrix.md +0 -421
  383. package/plan/P1P2/research/reflection-implementation-guide.md +0 -1341
  384. package/plan/P1P2/research/reflection-integration-guide.md +0 -834
  385. package/plan/P1P2/research/reflection-patterns.md +0 -1468
  386. package/plan/P1P2/research/reflection-quick-reference.md +0 -558
  387. package/plan/P1P2/research/zod-schema.md +0 -152
  388. package/plan/P3P4/PRP.md +0 -1388
  389. package/plan/P3P4/research/caching-lru.md +0 -116
  390. package/plan/P3P4/research/introspection-tools.md +0 -177
  391. package/plan/P3P4/research/reflection-patterns.md +0 -117
  392. package/plan/P4P5/PRP.md +0 -1136
  393. package/plan/P4P5/research/RESEARCH_SUMMARY.md +0 -151
  394. package/plan/architecture/external_deps.md +0 -358
  395. package/plan/architecture/system_context.md +0 -242
  396. package/plan/backlog.json +0 -867
  397. package/plan/research/INTROSPECTION_RESEARCH_SUMMARY.md +0 -378
  398. package/plan/research/README-INTROSPECTION.md +0 -352
  399. package/plan/research/agent-introspection-patterns.md +0 -1085
  400. package/plan/research/introspection-security-guide.md +0 -928
  401. package/plan/research/introspection-tool-examples.md +0 -875
  402. package/scripts/generate-llms-full.ts +0 -206
  403. package/src/__tests__/integration/agent-workflow.test.ts +0 -256
  404. package/src/__tests__/integration/tree-mirroring.test.ts +0 -114
  405. package/src/__tests__/unit/agent.test.ts +0 -169
  406. package/src/__tests__/unit/cache-key.test.ts +0 -182
  407. package/src/__tests__/unit/cache.test.ts +0 -172
  408. package/src/__tests__/unit/context.test.ts +0 -138
  409. package/src/__tests__/unit/decorators.test.ts +0 -100
  410. package/src/__tests__/unit/introspection-tools.test.ts +0 -277
  411. package/src/__tests__/unit/prompt.test.ts +0 -135
  412. package/src/__tests__/unit/reflection.test.ts +0 -210
  413. package/src/__tests__/unit/tree-debugger.test.ts +0 -85
  414. package/src/__tests__/unit/workflow.test.ts +0 -81
  415. package/src/cache/cache-key.ts +0 -244
  416. package/src/cache/cache.ts +0 -236
  417. package/src/core/agent.ts +0 -573
  418. package/src/core/event-tree.ts +0 -260
  419. package/src/core/logger.ts +0 -87
  420. package/src/core/mcp-handler.ts +0 -184
  421. package/src/core/prompt.ts +0 -150
  422. package/src/core/workflow-context.ts +0 -349
  423. package/src/core/workflow.ts +0 -302
  424. package/src/debugger/tree-debugger.ts +0 -210
  425. package/src/decorators/observed-state.ts +0 -95
  426. package/src/decorators/step.ts +0 -139
  427. package/src/decorators/task.ts +0 -96
  428. package/src/examples/tdd-orchestrator.ts +0 -65
  429. package/src/examples/test-cycle-workflow.ts +0 -64
  430. package/src/index.ts +0 -140
  431. package/src/reflection/reflection.ts +0 -407
  432. package/src/tools/index.ts +0 -36
  433. package/src/tools/introspection.ts +0 -464
  434. package/src/types/agent.ts +0 -90
  435. package/src/types/decorators.ts +0 -25
  436. package/src/types/error-strategy.ts +0 -13
  437. package/src/types/error.ts +0 -20
  438. package/src/types/events.ts +0 -74
  439. package/src/types/index.ts +0 -55
  440. package/src/types/logging.ts +0 -24
  441. package/src/types/observer.ts +0 -18
  442. package/src/types/prompt.ts +0 -40
  443. package/src/types/reflection.ts +0 -117
  444. package/src/types/sdk-primitives.ts +0 -128
  445. package/src/types/workflow-context.ts +0 -163
  446. package/src/types/workflow.ts +0 -37
  447. package/src/utils/id.ts +0 -11
  448. package/src/utils/observable.ts +0 -77
  449. package/tasks.json +0 -0
  450. package/tsconfig.json +0 -22
  451. package/vitest.config.ts +0 -16
@@ -1,543 +0,0 @@
1
- # **📘 PRODUCT REQUIREMENTS DOCUMENT (PRD)**
2
-
3
- ### **Hierarchical Workflow Engine with Full Observability & Tree Debugging**
4
-
5
- Version: **1.0**
6
- Status: **Implementation-ready**
7
-
8
- ---
9
-
10
- # **1. Overview**
11
-
12
- This PRD defines a TypeScript workflow orchestration engine that provides:
13
-
14
- * Hierarchical workflows with sequential + concurrent steps.
15
- * Automatic parent/child attachment.
16
- * High-resolution observability (logs, events, snapshots).
17
- * Error introspection with full child state visibility.
18
- * Restart logic handled at correct parent level.
19
- * Real-time tree debugger API for terminal visualization.
20
-
21
- All logs & events must form a **perfect 1:1 tree mirror** of the workflow execution tree in memory.
22
-
23
- This PRD includes:
24
-
25
- ✔️ Full data model
26
- ✔️ All TypeScript interfaces
27
- ✔️ Decorator specs
28
- ✔️ Workflow base class skeleton
29
- ✔️ Logger implementation skeleton
30
- ✔️ Observer/event system skeleton
31
- ✔️ Snapshot system spec
32
- ✔️ Error/restart semantics
33
-
34
- ---
35
-
36
- # **2. Architecture**
37
-
38
- ```
39
- Workflow
40
- ├─ Steps (decorated methods)
41
- ├─ Tasks (decorated methods)
42
- ├─ Observed state (decorated fields)
43
- ├─ Children (other workflows)
44
- ├─ Logs
45
- └─ Events
46
- ```
47
-
48
- The tree debugger subscribes to a root workflow and receives real-time events.
49
-
50
- ---
51
-
52
- # **3. Core Data Model (Interfaces)**
53
-
54
- ## **3.1 WorkflowNode**
55
-
56
- ```ts
57
- export interface WorkflowNode {
58
- id: string;
59
- name: string;
60
-
61
- parent: WorkflowNode | null;
62
- children: WorkflowNode[];
63
-
64
- status: WorkflowStatus;
65
-
66
- logs: LogEntry[];
67
- events: WorkflowEvent[];
68
-
69
- // optional state snapshot
70
- stateSnapshot: SerializedWorkflowState | null;
71
- }
72
- ```
73
-
74
- ## **3.2 WorkflowStatus**
75
-
76
- ```ts
77
- export type WorkflowStatus =
78
- | 'idle'
79
- | 'running'
80
- | 'completed'
81
- | 'failed'
82
- | 'cancelled';
83
- ```
84
-
85
- ---
86
-
87
- # **4. Logging & Events Model**
88
-
89
- ## **4.1 LogEntry**
90
-
91
- ```ts
92
- export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
93
-
94
- export interface LogEntry {
95
- id: string;
96
- workflowId: string;
97
- timestamp: number;
98
- level: LogLevel;
99
- message: string;
100
- data?: unknown;
101
- parentLogId?: string;
102
- }
103
- ```
104
-
105
- ## **4.2 WorkflowEvent**
106
-
107
- ```ts
108
- export type WorkflowEvent =
109
- | { type: 'childAttached'; parentId: string; child: WorkflowNode }
110
- | { type: 'stateSnapshot'; node: WorkflowNode }
111
- | { type: 'stepStart'; node: WorkflowNode; step: string }
112
- | { type: 'stepEnd'; node: WorkflowNode; step: string; duration: number }
113
- | { type: 'error'; node: WorkflowNode; error: WorkflowError }
114
- | { type: 'taskStart'; node: WorkflowNode; task: string }
115
- | { type: 'taskEnd'; node: WorkflowNode; task: string }
116
- | { type: 'treeUpdated'; root: WorkflowNode };
117
- ```
118
-
119
- ---
120
-
121
- # **5. Error Model**
122
-
123
- ## **5.1 WorkflowError**
124
-
125
- ```ts
126
- export interface WorkflowError {
127
- message: string;
128
- original: unknown;
129
- workflowId: string;
130
- stack?: string;
131
-
132
- state: SerializedWorkflowState; // a snapshot
133
- logs: LogEntry[]; // logs from this node only
134
- }
135
- ```
136
-
137
- ---
138
-
139
- # **6. Snapshot System**
140
-
141
- ## **6.1 State Snapshot**
142
-
143
- ```ts
144
- export type SerializedWorkflowState = Record<string, unknown>;
145
- ```
146
-
147
- ## **6.2 ObservedState Metadata**
148
-
149
- ```ts
150
- export interface StateFieldMetadata {
151
- hidden?: boolean; // not shown in debugger
152
- redact?: boolean; // shown as "***"
153
- }
154
- ```
155
-
156
- ---
157
-
158
- # **7. Observers**
159
-
160
- ## **7.1 WorkflowObserver**
161
-
162
- ```ts
163
- export interface WorkflowObserver {
164
- onLog(entry: LogEntry): void;
165
- onEvent(event: WorkflowEvent): void;
166
- onStateUpdated(node: WorkflowNode): void;
167
- onTreeChanged(root: WorkflowNode): void;
168
- }
169
- ```
170
-
171
- Observers attach to the **root workflow** and receive all events.
172
-
173
- ---
174
-
175
- # **8. Decorators (Complete Technical Specification)**
176
-
177
- ## **8.1 @Step() Decorator**
178
-
179
- ```ts
180
- export interface StepOptions {
181
- name?: string;
182
- snapshotState?: boolean;
183
- trackTiming?: boolean;
184
- logStart?: boolean;
185
- logFinish?: boolean;
186
- }
187
-
188
- export function Step(options: StepOptions = {}): MethodDecorator;
189
- ```
190
-
191
- **Responsibilities:**
192
-
193
- * Emit `stepStart` + `stepEnd`.
194
- * Optionally snapshot state.
195
- * Catch and wrap errors into `WorkflowError`.
196
-
197
- ---
198
-
199
- ## **8.2 @Task() Decorator**
200
-
201
- ```ts
202
- export interface TaskOptions {
203
- name?: string;
204
- concurrent?: boolean;
205
- }
206
-
207
- export function Task(options: TaskOptions = {}): MethodDecorator;
208
- ```
209
-
210
- **Responsibilities:**
211
-
212
- * Emit `taskStart` + `taskEnd`
213
- * Attach returned workflow(s) as children.
214
- * Enforce concurrency rules.
215
-
216
- ---
217
-
218
- ## **8.3 @ObservedState Decorator**
219
-
220
- ```ts
221
- export function ObservedState(meta: StateFieldMetadata = {}): PropertyDecorator;
222
- ```
223
-
224
- Fields marked with this decorator are included in snapshots.
225
-
226
- ---
227
-
228
- # **9. Restart Semantics**
229
-
230
- * Descendant workflows never request restart upward.
231
- * A parent step decides whether restart is needed by analyzing:
232
-
233
- * all captured `WorkflowError`s
234
- * descendant state snapshots
235
- * logs from failing nodes
236
- * Parent step may:
237
-
238
- 1. Retry the step
239
- 2. Abort the workflow
240
- 3. Rebuild the plan and continue
241
-
242
- Restartability is **opt-in** at the step method level; not global.
243
-
244
- ---
245
-
246
- # **10. Optional Multi-Error Merging**
247
-
248
- ```ts
249
- export interface ErrorMergeStrategy {
250
- enabled: boolean;
251
- maxMergeDepth?: number;
252
- combine?(errors: WorkflowError[]): WorkflowError;
253
- }
254
- ```
255
-
256
- Default: **disabled** → first error wins (race is preserved).
257
-
258
- ---
259
-
260
- # **11. Tree Debugger API**
261
-
262
- ## **11.1 Tree Debugger Interface**
263
-
264
- ```ts
265
- export interface WorkflowTreeDebugger {
266
- getTree(): WorkflowNode;
267
- getNode(id: string): WorkflowNode | undefined;
268
-
269
- events: Observable<WorkflowEvent>;
270
-
271
- toTreeString(node?: WorkflowNode): string;
272
- toLogString(node?: WorkflowNode): string;
273
- }
274
- ```
275
-
276
- This is consumed by the terminal UI.
277
-
278
- ---
279
-
280
- # **12. Base Classes (Class Skeletons)**
281
-
282
- Below are implementation-ready class skeletons with exact method signatures.
283
-
284
- ---
285
-
286
- # **12.1 WorkflowLogger Skeleton**
287
-
288
- ```ts
289
- export class WorkflowLogger {
290
- constructor(private readonly node: WorkflowNode,
291
- private readonly observers: WorkflowObserver[]) {}
292
-
293
- private emit(entry: LogEntry) {
294
- this.node.logs.push(entry);
295
- for (const obs of this.observers) obs.onLog(entry);
296
- }
297
-
298
- debug(message: string, data?: unknown) { /* ... */ }
299
- info(message: string, data?: unknown) { /* ... */ }
300
- warn(message: string, data?: unknown) { /* ... */ }
301
- error(message: string, data?: unknown) { /* ... */ }
302
-
303
- child(meta: Partial<LogEntry>): WorkflowLogger {
304
- return new WorkflowLogger(this.node, this.observers);
305
- }
306
- }
307
- ```
308
-
309
- ---
310
-
311
- # **12.2 Workflow Base Class Skeleton**
312
-
313
- ```ts
314
- export abstract class Workflow {
315
- public readonly id: string;
316
- public parent: Workflow | null = null;
317
- public children: Workflow[] = [];
318
- public status: WorkflowStatus = 'idle';
319
-
320
- protected readonly logger: WorkflowLogger;
321
- protected readonly node: WorkflowNode;
322
-
323
- constructor(name?: string, parent?: Workflow) {
324
- this.id = generateId();
325
- this.parent = parent || null;
326
-
327
- this.node = {
328
- id: this.id,
329
- name: name ?? this.constructor.name,
330
- parent: parent?.node ?? null,
331
- children: [],
332
- logs: [],
333
- events: [],
334
- status: 'idle',
335
- stateSnapshot: null,
336
- };
337
-
338
- this.logger = new WorkflowLogger(this.node, this.getRootObservers());
339
- if (parent) parent.attachChild(this);
340
- }
341
-
342
- private getRootObservers(): WorkflowObserver[] {
343
- return this.parent ? this.parent.getRootObservers() : [];
344
- }
345
-
346
- attachChild(child: Workflow) {
347
- this.children.push(child);
348
- this.node.children.push(child.node);
349
- this.emitEvent({ type: 'childAttached', parentId: this.id, child: child.node });
350
- }
351
-
352
- protected emitEvent(event: WorkflowEvent) {
353
- this.node.events.push(event);
354
- for (const obs of this.getRootObservers()) {
355
- obs.onEvent(event);
356
- if (event.type === 'treeUpdated') obs.onTreeChanged(this.node);
357
- }
358
- }
359
-
360
- snapshotState() {
361
- const snapshot = createStateSnapshot(this);
362
- this.node.stateSnapshot = snapshot;
363
- for (const obs of this.getRootObservers()) obs.onStateUpdated(this.node);
364
- }
365
-
366
- abstract run(...args: any[]): Promise<any>;
367
- }
368
- ```
369
-
370
- ---
371
-
372
- # **12.3 Decorator Skeletons**
373
-
374
- These are implementation-level scaffolds.
375
-
376
- ### **@ObservedState**
377
-
378
- ```ts
379
- const OBSERVED_STATE_FIELDS = new WeakMap<object, Map<string, StateFieldMetadata>>();
380
-
381
- export function ObservedState(meta: StateFieldMetadata = {}): PropertyDecorator {
382
- return (target, propertyKey) => {
383
- let map = OBSERVED_STATE_FIELDS.get(target);
384
- if (!map) {
385
- map = new Map();
386
- OBSERVED_STATE_FIELDS.set(target, map);
387
- }
388
- map.set(propertyKey.toString(), meta);
389
- };
390
- }
391
-
392
- export function getObservedState(obj: any): SerializedWorkflowState {
393
- const map = OBSERVED_STATE_FIELDS.get(Object.getPrototypeOf(obj));
394
- if (!map) return {};
395
- const result: SerializedWorkflowState = {};
396
- for (const [key, meta] of map) {
397
- let v = (obj as any)[key];
398
- if (meta.redact) v = '***';
399
- if (!meta.hidden) result[key] = v;
400
- }
401
- return result;
402
- }
403
- ```
404
-
405
- ---
406
-
407
- ### **@Step**
408
-
409
- ```ts
410
- export function Step(opts: StepOptions = {}): MethodDecorator {
411
- return (target, prop, descriptor: PropertyDescriptor) => {
412
- const original = descriptor.value;
413
-
414
- descriptor.value = async function (...args: any[]) {
415
- const wf = this as Workflow;
416
- const stepName = opts.name ?? String(prop);
417
-
418
- if (opts.logStart) wf.logger.info(`STEP START: ${stepName}`);
419
-
420
- wf.emitEvent({ type: 'stepStart', node: wf.node, step: stepName });
421
-
422
- let start = Date.now();
423
- try {
424
- const result = await original.apply(this, args);
425
-
426
- if (opts.snapshotState) wf.snapshotState();
427
- if (opts.trackTiming) {
428
- const duration = Date.now() - start;
429
- wf.emitEvent({ type: 'stepEnd', node: wf.node, step: stepName, duration });
430
- }
431
-
432
- if (opts.logFinish) wf.logger.info(`STEP END: ${stepName}`);
433
- return result;
434
-
435
- } catch (err: any) {
436
- const snap = getObservedState(wf);
437
- const wfError: WorkflowError = {
438
- message: err?.message ?? 'error',
439
- original: err,
440
- workflowId: wf.id,
441
- stack: err?.stack,
442
- state: snap,
443
- logs: [...wf.node.logs],
444
- };
445
-
446
- wf.emitEvent({ type: 'error', node: wf.node, error: wfError });
447
-
448
- throw wfError;
449
- }
450
- };
451
- };
452
- }
453
- ```
454
-
455
- ---
456
-
457
- ### **@Task**
458
-
459
- ```ts
460
- export function Task(opts: TaskOptions = {}): MethodDecorator {
461
- return (target, prop, descriptor: PropertyDescriptor) => {
462
- const original = descriptor.value;
463
-
464
- descriptor.value = async function (...args: any[]) {
465
- const wf = this as Workflow;
466
- const taskName = opts.name ?? String(prop);
467
-
468
- wf.emitEvent({ type: 'taskStart', node: wf.node, task: taskName });
469
-
470
- const result = await original.apply(this, args);
471
-
472
- // must return Workflow or Workflow[]
473
- const workflows = Array.isArray(result) ? result : [result];
474
- for (const child of workflows) {
475
- if (!(child instanceof Workflow)) {
476
- throw new Error(`@Task method "${taskName}" did not return a Workflow.`);
477
- }
478
- child.parent = wf;
479
- wf.attachChild(child);
480
- }
481
-
482
- wf.emitEvent({ type: 'taskEnd', node: wf.node, task: taskName });
483
-
484
- return result;
485
- };
486
- };
487
- }
488
- ```
489
-
490
- ---
491
-
492
- # **13. Example Workflow Using the System**
493
-
494
- ```ts
495
- class TestCycleWorkflow extends Workflow {
496
- @ObservedState() currentTest!: string;
497
-
498
- @Step({ snapshotState: true })
499
- async generateTest() { /* ... */ }
500
-
501
- @Step()
502
- async runTest() { /* ... may throw ... */ }
503
-
504
- @Step()
505
- async updateImplementation() { /* ... */ }
506
- }
507
-
508
- class TDDOrchestrator extends Workflow {
509
- @Step({ logStart: true })
510
- async setupEnvironment() { /* ... */ }
511
-
512
- @Task()
513
- async runCycle() {
514
- return new TestCycleWorkflow('Cycle', this);
515
- }
516
-
517
- async run() {
518
- try {
519
- await this.setupEnvironment();
520
- await this.runCycle();
521
- } catch (err) {
522
- /* analyze & restart logic here */
523
- }
524
- }
525
- }
526
- ```
527
-
528
- ---
529
-
530
- # **14. Acceptance Criteria (Updated)**
531
-
532
- This PRD now includes:
533
-
534
- * explicit interfaces
535
- * complete decorators
536
- * class skeletons
537
- * logger skeleton
538
- * observer system
539
- * real-time debugger interface
540
- * error/restart models
541
- * snapshot system
542
-
543
- A senior engineer should be able to implement the full engine from this PRD.