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