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,151 +0,0 @@
1
- # Phase 4 & 5 Research Summary
2
-
3
- ## Overview
4
-
5
- This document summarizes the research findings that informed the PRP for Phases 4 & 5 of the Groundswell orchestration framework.
6
-
7
- ## Phase 4 Status: COMPLETE
8
-
9
- All Phase 4 implementations are complete and verified. The research from P3P4 was applied successfully:
10
-
11
- ### Dynamic Factory Functions (P4.1)
12
- - **Implementation**: `/src/core/factory.ts` (124 lines)
13
- - **Functions**: `createWorkflow()`, `createAgent()`, `createPrompt()`, `quickWorkflow()`, `quickAgent()`
14
- - **Pattern**: Factory pattern for dynamic entity creation at runtime
15
-
16
- ### Dynamic Context Revision (P4.2)
17
- - **Implementation**: `/src/core/workflow-context.ts` (349 lines)
18
- - **Method**: `replaceLastPromptResult<T>(newPrompt, agent)`
19
- - **Pattern**: Marks previous node as 'revised', attaches new result as sibling
20
-
21
- ### Introspection Tools (P4.3-P4.5)
22
- - **Implementation**: `/src/tools/introspection.ts` (465 lines)
23
- - **Tools Defined**: 6 tools per PRD Section 11
24
- - **Pattern**: Anthropic Tool format with `input_schema` JSON Schema
25
-
26
- ## Phase 5 Research: Example Implementation
27
-
28
- ### Existing Example Patterns (Examples 1-6)
29
-
30
- **File Structure Pattern**:
31
- ```
32
- /examples/examples/NN-feature-name.ts
33
- ```
34
-
35
- **Code Structure**:
36
- 1. JSDoc header with "Demonstrates:" section
37
- 2. Imports (groundswell, then helpers)
38
- 3. Workflow/Agent class definitions
39
- 4. `run*Example()` export function with Parts 1-N
40
- 5. Direct execution check via `import.meta.url`
41
-
42
- **Output Pattern**:
43
- - `printHeader()` for main sections
44
- - `printSection()` for subsections
45
- - Console output showing actual feature behavior
46
- - Tree visualization at end
47
-
48
- ### Example 7: Agent Loops with Observability
49
-
50
- **Key Patterns to Demonstrate**:
51
- 1. Agent.prompt() inside ctx.step() loop
52
- 2. Multi-agent routing based on data type
53
- 3. Full event tree with timing per iteration
54
- 4. Cache metrics display
55
-
56
- **Reference Research**: `/plan/P3P4/research/caching-lru.md`
57
- - Shows cache hit/miss tracking
58
- - Metrics include: hits, misses, size, itemCount
59
-
60
- ### Example 8: SDK Features
61
-
62
- **Key Patterns to Demonstrate**:
63
- 1. Tool definition in Anthropic format
64
- 2. MCPHandler registration pattern
65
- 3. Hook lifecycle (pre/post tool, session start/end)
66
- 4. Skill loading from path
67
-
68
- **Reference Research**: `/plan/P1P2/research/anthropic-sdk.md`
69
- - Tool schema follows JSON Schema spec
70
- - Hooks must be async functions
71
- - Skills inject SKILL.md content into system prompt
72
-
73
- ### Example 9: Multi-level Reflection
74
-
75
- **Key Patterns to Demonstrate**:
76
- 1. Prompt-level: `enableReflection: true` on Prompt
77
- 2. Agent-level: `agent.reflect()` method
78
- 3. Workflow-level: `enableReflection` on WorkflowConfig
79
-
80
- **Reference Research**: `/plan/P3P4/research/reflection-patterns.md`
81
- - Max 3 attempts before failure
82
- - Skip reflection for rate limits, auth errors
83
- - Emit reflectionStart/reflectionEnd events
84
-
85
- **Non-Retryable Errors**:
86
- - Rate limit exceeded
87
- - Authentication failure
88
- - Quota exceeded
89
- - Network errors (timeouts)
90
-
91
- ### Example 10: Introspection Tools
92
-
93
- **Key Patterns to Demonstrate**:
94
- 1. All 6 introspection tools in action
95
- 2. Nested workflow hierarchy for context
96
- 3. Agent using tools to describe position
97
-
98
- **Reference Research**: `/plan/P3P4/research/introspection-tools.md`
99
- - Tools are read-only (except spawn)
100
- - Use getExecutionContext() for context access
101
- - Security: filter secrets from responses
102
-
103
- **Tools to Demonstrate**:
104
- | Tool | Purpose | Returns |
105
- |------|---------|---------|
106
- | `inspect_current_node` | "Where am I?" | id, name, status, parentId, depth |
107
- | `read_ancestor_chain` | "What's above me?" | Array of ancestors to root |
108
- | `list_siblings_children` | "What's around me?" | Siblings or children array |
109
- | `inspect_prior_outputs` | "What happened before?" | Previous step outputs |
110
- | `inspect_cache_status` | "Is this cached?" | Cache entry info |
111
- | `request_spawn_workflow` | "Can I create children?" | Spawn request result |
112
-
113
- ## Implementation Verification
114
-
115
- ### Validation Commands
116
- ```bash
117
- # Build check
118
- npm run build
119
-
120
- # Test check
121
- npm test
122
-
123
- # Export verification
124
- node -e "const g = require('./dist'); console.log(Object.keys(g).length, 'exports');"
125
- ```
126
-
127
- ### Expected Outputs
128
- - Build: 0 errors
129
- - Tests: All passing
130
- - Exports: ~60+ exports from main index
131
-
132
- ## References
133
-
134
- ### Primary Research Documents
135
- - `/plan/P3P4/research/caching-lru.md` - LRU cache patterns
136
- - `/plan/P3P4/research/reflection-patterns.md` - Reflection implementation
137
- - `/plan/P3P4/research/introspection-tools.md` - Tool specifications
138
- - `/plan/research/agent-introspection-patterns.md` - Hierarchy patterns
139
- - `/plan/research/introspection-security-guide.md` - Security boundaries
140
-
141
- ### Implementation References
142
- - `/src/core/agent.ts` - Agent implementation (573 lines)
143
- - `/src/core/prompt.ts` - Prompt implementation (150 lines)
144
- - `/src/cache/cache.ts` - LLMCache implementation (237 lines)
145
- - `/src/reflection/reflection.ts` - ReflectionManager (407 lines)
146
- - `/src/tools/introspection.ts` - Introspection tools (465 lines)
147
-
148
- ### Example References
149
- - `/examples/examples/01-basic-workflow.ts` - Basic patterns
150
- - `/examples/examples/04-observers-debugger.ts` - Debugging patterns
151
- - `/examples/examples/05-error-handling.ts` - Error patterns
@@ -1,358 +0,0 @@
1
- # External Dependencies - Research Findings
2
-
3
- ## Document Purpose
4
- This document records verified external dependencies, SDK patterns, and integration requirements for the Agent/Prompt layer implementation.
5
-
6
- ---
7
-
8
- ## 1. Anthropic SDK (@anthropic-ai/sdk)
9
-
10
- ### Package Information
11
- - **NPM Package**: `@anthropic-ai/sdk`
12
- - **Verified Version**: `0.71.1` (already in node_modules)
13
- - **Node.js Requirement**: 18+
14
- - **Module Type**: ESM compatible
15
-
16
- ### Key Interfaces for Integration
17
-
18
- ```typescript
19
- // Core types to import from SDK
20
- import Anthropic from '@anthropic-ai/sdk';
21
-
22
- // Message types
23
- interface MessageCreateParams {
24
- model: string;
25
- max_tokens: number;
26
- messages: MessageParam[];
27
- system?: string;
28
- tools?: Tool[];
29
- temperature?: number;
30
- stop_sequences?: string[];
31
- }
32
-
33
- interface MessageParam {
34
- role: 'user' | 'assistant';
35
- content: ContentBlock[] | string;
36
- }
37
-
38
- // Tool definition
39
- interface Tool {
40
- name: string;
41
- description: string;
42
- input_schema: {
43
- type: 'object';
44
- properties: Record<string, unknown>;
45
- required?: string[];
46
- };
47
- }
48
-
49
- // Response types
50
- interface Message {
51
- id: string;
52
- type: 'message';
53
- role: 'assistant';
54
- content: ContentBlock[];
55
- model: string;
56
- stop_reason: 'end_turn' | 'max_tokens' | 'stop_sequence' | 'tool_use';
57
- stop_sequence: string | null;
58
- usage: Usage;
59
- }
60
-
61
- interface Usage {
62
- input_tokens: number;
63
- output_tokens: number;
64
- }
65
-
66
- // Content blocks
67
- type ContentBlock = TextBlock | ToolUseBlock;
68
-
69
- interface TextBlock {
70
- type: 'text';
71
- text: string;
72
- }
73
-
74
- interface ToolUseBlock {
75
- type: 'tool_use';
76
- id: string;
77
- name: string;
78
- input: Record<string, unknown>;
79
- }
80
- ```
81
-
82
- ### Streaming Support
83
- ```typescript
84
- // Streaming iteration
85
- const stream = await anthropic.messages.stream({
86
- model: 'claude-sonnet-4-20250514',
87
- max_tokens: 1024,
88
- messages: [{ role: 'user', content: 'Hello' }],
89
- });
90
-
91
- for await (const event of stream) {
92
- // event types: message_start, content_block_start, content_block_delta,
93
- // content_block_stop, message_delta, message_stop
94
- }
95
- ```
96
-
97
- ### Tool Use Pattern
98
- ```typescript
99
- // Define tools
100
- const tools: Tool[] = [{
101
- name: 'get_weather',
102
- description: 'Get the weather for a location',
103
- input_schema: {
104
- type: 'object',
105
- properties: {
106
- location: { type: 'string', description: 'City name' }
107
- },
108
- required: ['location']
109
- }
110
- }];
111
-
112
- // Send message with tools
113
- const response = await anthropic.messages.create({
114
- model: 'claude-sonnet-4-20250514',
115
- max_tokens: 1024,
116
- tools,
117
- messages: [{ role: 'user', content: 'What is the weather in SF?' }]
118
- });
119
-
120
- // Handle tool_use response
121
- if (response.stop_reason === 'tool_use') {
122
- const toolUse = response.content.find(b => b.type === 'tool_use');
123
- // Execute tool, send result back
124
- }
125
- ```
126
-
127
- ### Environment Variables
128
- ```bash
129
- ANTHROPIC_API_KEY=sk-ant-... # Required
130
- ANTHROPIC_BASE_URL=... # Optional, for proxies
131
- ```
132
-
133
- ---
134
-
135
- ## 2. Zod Schema Validation
136
-
137
- ### Package Information
138
- - **NPM Package**: `zod`
139
- - **Recommended Version**: `^3.23.0` (v3 stable)
140
- - **In node_modules**: `4.1.13` (v4 beta - consider downgrade for stability)
141
-
142
- ### Key Patterns for Prompt Response Validation
143
-
144
- ```typescript
145
- import { z } from 'zod';
146
-
147
- // Define response schema
148
- const ReviewResponseSchema = z.object({
149
- approved: z.boolean(),
150
- comments: z.array(z.object({
151
- file: z.string(),
152
- line: z.number(),
153
- message: z.string(),
154
- severity: z.enum(['error', 'warning', 'info']),
155
- })),
156
- summary: z.string(),
157
- });
158
-
159
- type ReviewResponse = z.infer<typeof ReviewResponseSchema>;
160
-
161
- // In Prompt class
162
- class Prompt<T> {
163
- constructor(config: PromptConfig<T>) {
164
- this.responseFormat = config.responseFormat; // ZodSchema<T>
165
- }
166
-
167
- // Validation method
168
- validateResponse(data: unknown): T {
169
- return this.responseFormat.parse(data);
170
- }
171
- }
172
- ```
173
-
174
- ### Schema to JSON Schema (for cache key hashing)
175
- ```typescript
176
- import { z } from 'zod';
177
-
178
- // Get deterministic representation for hashing
179
- function schemaToHashable(schema: z.ZodType): string {
180
- // Zod doesn't have built-in JSON schema export
181
- // Use schema._def for internal representation
182
- return JSON.stringify(schema._def);
183
- }
184
- ```
185
-
186
- ---
187
-
188
- ## 3. Node.js Crypto API (SHA-256 Cache Keys)
189
-
190
- ### Available in Node 18+
191
- ```typescript
192
- import { createHash } from 'crypto';
193
-
194
- function generateCacheKey(inputs: CacheKeyInputs): string {
195
- const hash = createHash('sha256');
196
-
197
- // Deterministic JSON encoding
198
- const canonical = JSON.stringify({
199
- user: inputs.user,
200
- data: inputs.data,
201
- system: inputs.system,
202
- model: inputs.model,
203
- temperature: inputs.temperature,
204
- tools: inputs.tools?.map(t => t.name).sort(),
205
- mcps: inputs.mcps?.map(m => m.name).sort(),
206
- skills: inputs.skills?.map(s => s.name).sort(),
207
- schemaHash: inputs.schemaHash,
208
- }, Object.keys(inputs).sort());
209
-
210
- hash.update(canonical);
211
- return hash.digest('hex');
212
- }
213
- ```
214
-
215
- ---
216
-
217
- ## 4. MCP (Model Context Protocol) Integration
218
-
219
- ### SDK MCP Server Pattern
220
- From research, MCP servers can be:
221
- 1. **In-process**: Faster, no subprocess overhead
222
- 2. **External (stdio)**: Separate process
223
-
224
- ### In-Process MCP Server (Recommended)
225
- ```typescript
226
- // Pattern from Anthropic docs
227
- import { createSdkMcpServer, tool } from '@anthropic-ai/claude-agent-sdk';
228
-
229
- const server = createSdkMcpServer({
230
- name: 'my-tools',
231
- version: '1.0.0',
232
- tools: [
233
- tool('get_data', 'Fetch data', { id: z.string() }, async (args) => {
234
- return { content: [{ type: 'text', text: '...' }] };
235
- })
236
- ]
237
- });
238
- ```
239
-
240
- ### MCPServer Interface for Groundswell
241
- ```typescript
242
- interface MCPServer {
243
- name: string;
244
- version?: string;
245
- transport: 'stdio' | 'inprocess';
246
- command?: string; // For stdio
247
- args?: string[]; // For stdio
248
- tools?: Tool[]; // For inprocess
249
- }
250
- ```
251
-
252
- ---
253
-
254
- ## 5. Hooks (Anthropic SDK)
255
-
256
- ### Hook Types Available
257
- ```typescript
258
- // From SDK
259
- type HookType = 'PreToolUse' | 'PostToolUse' | 'SessionStart' | 'SessionEnd';
260
-
261
- interface AgentHooks {
262
- PreToolUse?: HookHandler[];
263
- PostToolUse?: HookHandler[];
264
- SessionStart?: HookHandler[];
265
- SessionEnd?: HookHandler[];
266
- }
267
-
268
- type HookHandler = (
269
- input: HookInput,
270
- toolUseId: string,
271
- context: HookContext
272
- ) => Promise<HookOutput>;
273
- ```
274
-
275
- ### Pass-Through Strategy
276
- Hooks MUST be passed through unchanged to Anthropic SDK. Groundswell does NOT add custom hook types.
277
-
278
- ---
279
-
280
- ## 6. Skills Integration
281
-
282
- ### Skill Structure
283
- ```
284
- .claude/skills/
285
- └── my-skill/
286
- ├── SKILL.md (required)
287
- ├── /scripts (optional)
288
- └── /references (optional)
289
- ```
290
-
291
- ### Skills in AgentConfig
292
- ```typescript
293
- interface Skill {
294
- name: string;
295
- path: string; // Path to skill directory
296
- }
297
-
298
- interface AgentConfig {
299
- skills?: Skill[];
300
- }
301
- ```
302
-
303
- ---
304
-
305
- ## 7. Verified Compatibility Matrix
306
-
307
- | Dependency | Version | Node.js | ESM | Status |
308
- |------------|---------|---------|-----|--------|
309
- | @anthropic-ai/sdk | 0.71.1 | 18+ | Yes | In node_modules |
310
- | zod | 3.23.x | 16+ | Yes | Install needed |
311
- | typescript | 5.2+ | 18+ | Yes | In devDependencies |
312
- | vitest | 1.0+ | 18+ | Yes | In devDependencies |
313
-
314
- ---
315
-
316
- ## 8. API Endpoint Reference
317
-
318
- ### Anthropic Messages API
319
- ```
320
- POST https://api.anthropic.com/v1/messages
321
- Headers:
322
- x-api-key: $ANTHROPIC_API_KEY
323
- anthropic-version: 2023-06-01
324
- content-type: application/json
325
- ```
326
-
327
- ### Models Available
328
- - `claude-sonnet-4-20250514` (recommended)
329
- - `claude-3-5-sonnet-20241022`
330
- - `claude-3-5-haiku-20241022`
331
- - `claude-3-opus-20240229`
332
-
333
- ---
334
-
335
- ## 9. Breaking Changes & Deprecations
336
-
337
- ### SDK Migration (v0.1.0)
338
- - Package renamed: `@anthropic-ai/claude-code` -> `@anthropic-ai/claude-agent-sdk`
339
- - Class renamed: `ClaudeCodeOptions` -> `ClaudeAgentOptions`
340
- - These changes apply to the AGENT SDK, not the base SDK we're using
341
-
342
- ### Zod v4 Breaking Changes
343
- - v4 is in beta; recommend using v3.x for production
344
- - Schema internals changed; cache key hashing needs testing
345
-
346
- ---
347
-
348
- ## 10. Integration Checklist
349
-
350
- - [ ] Add `@anthropic-ai/sdk` to package.json dependencies
351
- - [ ] Add `zod@^3.23.0` to package.json dependencies
352
- - [ ] Verify ANTHROPIC_API_KEY environment variable handling
353
- - [ ] Test streaming iteration pattern
354
- - [ ] Test tool use response handling
355
- - [ ] Implement cache key SHA-256 generation
356
- - [ ] Test Zod schema validation
357
- - [ ] Create MCP server wrapper (if needed)
358
- - [ ] Pass through hooks unchanged