groundswell 0.0.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +26 -9
  3. package/dist/cache/cache-key.d.ts +86 -0
  4. package/dist/cache/cache-key.d.ts.map +1 -0
  5. package/dist/cache/cache-key.js +204 -0
  6. package/dist/cache/cache-key.js.map +1 -0
  7. package/dist/cache/cache.d.ts +104 -0
  8. package/dist/cache/cache.d.ts.map +1 -0
  9. package/dist/cache/cache.js +179 -0
  10. package/dist/cache/cache.js.map +1 -0
  11. package/{src/cache/index.ts → dist/cache/index.d.ts} +1 -1
  12. package/dist/cache/index.d.ts.map +1 -0
  13. package/dist/cache/index.js +6 -0
  14. package/dist/cache/index.js.map +1 -0
  15. package/dist/core/agent.d.ts +203 -0
  16. package/dist/core/agent.d.ts.map +1 -0
  17. package/dist/core/agent.js +833 -0
  18. package/dist/core/agent.js.map +1 -0
  19. package/{src/core/context.ts → dist/core/context.d.ts} +16 -67
  20. package/dist/core/context.d.ts.map +1 -0
  21. package/dist/core/context.js +80 -0
  22. package/dist/core/context.js.map +1 -0
  23. package/dist/core/event-tree.d.ts +72 -0
  24. package/dist/core/event-tree.d.ts.map +1 -0
  25. package/dist/core/event-tree.js +211 -0
  26. package/dist/core/event-tree.js.map +1 -0
  27. package/{src/core/factory.ts → dist/core/factory.d.ts} +6 -27
  28. package/dist/core/factory.d.ts.map +1 -0
  29. package/dist/core/factory.js +110 -0
  30. package/dist/core/factory.js.map +1 -0
  31. package/{src/core/index.ts → dist/core/index.d.ts} +2 -10
  32. package/dist/core/index.d.ts.map +1 -0
  33. package/dist/core/index.js +9 -0
  34. package/dist/core/index.js.map +1 -0
  35. package/dist/core/logger.d.ts +50 -0
  36. package/dist/core/logger.d.ts.map +1 -0
  37. package/dist/core/logger.js +91 -0
  38. package/dist/core/logger.js.map +1 -0
  39. package/dist/core/mcp-handler.d.ts +127 -0
  40. package/dist/core/mcp-handler.d.ts.map +1 -0
  41. package/dist/core/mcp-handler.js +323 -0
  42. package/dist/core/mcp-handler.js.map +1 -0
  43. package/dist/core/prompt.d.ts +80 -0
  44. package/dist/core/prompt.d.ts.map +1 -0
  45. package/dist/core/prompt.js +120 -0
  46. package/dist/core/prompt.js.map +1 -0
  47. package/dist/core/workflow-context.d.ts +61 -0
  48. package/dist/core/workflow-context.d.ts.map +1 -0
  49. package/dist/core/workflow-context.js +358 -0
  50. package/dist/core/workflow-context.js.map +1 -0
  51. package/dist/core/workflow.d.ts +543 -0
  52. package/dist/core/workflow.d.ts.map +1 -0
  53. package/dist/core/workflow.js +986 -0
  54. package/dist/core/workflow.js.map +1 -0
  55. package/dist/debugger/event-replayer.d.ts +422 -0
  56. package/dist/debugger/event-replayer.d.ts.map +1 -0
  57. package/dist/debugger/event-replayer.js +639 -0
  58. package/dist/debugger/event-replayer.js.map +1 -0
  59. package/dist/debugger/index.d.ts +2 -0
  60. package/dist/debugger/index.d.ts.map +1 -0
  61. package/{src/debugger/index.ts → dist/debugger/index.js} +1 -0
  62. package/dist/debugger/index.js.map +1 -0
  63. package/dist/debugger/tree-debugger.d.ts +240 -0
  64. package/dist/debugger/tree-debugger.d.ts.map +1 -0
  65. package/dist/debugger/tree-debugger.js +620 -0
  66. package/dist/debugger/tree-debugger.js.map +1 -0
  67. package/dist/decorators/index.d.ts +4 -0
  68. package/dist/decorators/index.d.ts.map +1 -0
  69. package/{src/decorators/index.ts → dist/decorators/index.js} +1 -0
  70. package/dist/decorators/index.js.map +1 -0
  71. package/dist/decorators/observed-state.d.ts +32 -0
  72. package/dist/decorators/observed-state.d.ts.map +1 -0
  73. package/dist/decorators/observed-state.js +79 -0
  74. package/dist/decorators/observed-state.js.map +1 -0
  75. package/dist/decorators/step.d.ts +15 -0
  76. package/dist/decorators/step.d.ts.map +1 -0
  77. package/dist/decorators/step.js +192 -0
  78. package/dist/decorators/step.js.map +1 -0
  79. package/dist/decorators/task.d.ts +50 -0
  80. package/dist/decorators/task.d.ts.map +1 -0
  81. package/dist/decorators/task.js +118 -0
  82. package/dist/decorators/task.js.map +1 -0
  83. package/dist/examples/index.d.ts +3 -0
  84. package/dist/examples/index.d.ts.map +1 -0
  85. package/{src/examples/index.ts → dist/examples/index.js} +1 -0
  86. package/dist/examples/index.js.map +1 -0
  87. package/dist/examples/tdd-orchestrator.d.ts +15 -0
  88. package/dist/examples/tdd-orchestrator.d.ts.map +1 -0
  89. package/dist/examples/tdd-orchestrator.js +121 -0
  90. package/dist/examples/tdd-orchestrator.js.map +1 -0
  91. package/dist/examples/test-cycle-workflow.d.ts +14 -0
  92. package/dist/examples/test-cycle-workflow.d.ts.map +1 -0
  93. package/dist/examples/test-cycle-workflow.js +116 -0
  94. package/dist/examples/test-cycle-workflow.js.map +1 -0
  95. package/dist/harnesses/claude-code-harness.d.ts +391 -0
  96. package/dist/harnesses/claude-code-harness.d.ts.map +1 -0
  97. package/dist/harnesses/claude-code-harness.js +1076 -0
  98. package/dist/harnesses/claude-code-harness.js.map +1 -0
  99. package/dist/harnesses/harness-registry.d.ts +440 -0
  100. package/dist/harnesses/harness-registry.d.ts.map +1 -0
  101. package/dist/harnesses/harness-registry.js +543 -0
  102. package/dist/harnesses/harness-registry.js.map +1 -0
  103. package/dist/harnesses/index.d.ts +12 -0
  104. package/dist/harnesses/index.d.ts.map +1 -0
  105. package/dist/harnesses/index.js +11 -0
  106. package/dist/harnesses/index.js.map +1 -0
  107. package/dist/harnesses/pi-harness.d.ts +219 -0
  108. package/dist/harnesses/pi-harness.d.ts.map +1 -0
  109. package/dist/harnesses/pi-harness.js +676 -0
  110. package/dist/harnesses/pi-harness.js.map +1 -0
  111. package/dist/harnesses/pi-schema-converter.d.ts +24 -0
  112. package/dist/harnesses/pi-schema-converter.d.ts.map +1 -0
  113. package/dist/harnesses/pi-schema-converter.js +81 -0
  114. package/dist/harnesses/pi-schema-converter.js.map +1 -0
  115. package/dist/harnesses/register-defaults.d.ts +24 -0
  116. package/dist/harnesses/register-defaults.d.ts.map +1 -0
  117. package/dist/harnesses/register-defaults.js +40 -0
  118. package/dist/harnesses/register-defaults.js.map +1 -0
  119. package/dist/harnesses/session-store.d.ts +201 -0
  120. package/dist/harnesses/session-store.d.ts.map +1 -0
  121. package/dist/harnesses/session-store.js +254 -0
  122. package/dist/harnesses/session-store.js.map +1 -0
  123. package/dist/index.d.ts +37 -0
  124. package/dist/index.d.ts.map +1 -0
  125. package/dist/index.js +57 -0
  126. package/dist/index.js.map +1 -0
  127. package/dist/reflection/index.d.ts +5 -0
  128. package/dist/reflection/index.d.ts.map +1 -0
  129. package/{src/reflection/index.ts → dist/reflection/index.js} +1 -1
  130. package/dist/reflection/index.js.map +1 -0
  131. package/dist/reflection/reflection.d.ts +84 -0
  132. package/dist/reflection/reflection.d.ts.map +1 -0
  133. package/dist/reflection/reflection.js +344 -0
  134. package/dist/reflection/reflection.js.map +1 -0
  135. package/dist/tools/index.d.ts +6 -0
  136. package/dist/tools/index.d.ts.map +1 -0
  137. package/dist/tools/index.js +11 -0
  138. package/dist/tools/index.js.map +1 -0
  139. package/dist/tools/introspection.d.ts +165 -0
  140. package/dist/tools/introspection.d.ts.map +1 -0
  141. package/dist/tools/introspection.js +324 -0
  142. package/dist/tools/introspection.js.map +1 -0
  143. package/dist/types/agent.d.ts +1317 -0
  144. package/dist/types/agent.d.ts.map +1 -0
  145. package/dist/types/agent.js +423 -0
  146. package/dist/types/agent.js.map +1 -0
  147. package/dist/types/decorators.d.ts +40 -0
  148. package/dist/types/decorators.d.ts.map +1 -0
  149. package/dist/types/decorators.js +2 -0
  150. package/dist/types/decorators.js.map +1 -0
  151. package/dist/types/error-strategy.d.ts +13 -0
  152. package/dist/types/error-strategy.d.ts.map +1 -0
  153. package/dist/types/error-strategy.js +2 -0
  154. package/dist/types/error-strategy.js.map +1 -0
  155. package/dist/types/error.d.ts +20 -0
  156. package/dist/types/error.d.ts.map +1 -0
  157. package/dist/types/error.js +2 -0
  158. package/dist/types/error.js.map +1 -0
  159. package/dist/types/events.d.ts +113 -0
  160. package/dist/types/events.d.ts.map +1 -0
  161. package/dist/types/events.js +2 -0
  162. package/dist/types/events.js.map +1 -0
  163. package/dist/types/harnesses.d.ts +474 -0
  164. package/dist/types/harnesses.d.ts.map +1 -0
  165. package/dist/types/harnesses.js +2 -0
  166. package/dist/types/harnesses.js.map +1 -0
  167. package/dist/types/index.d.ts +23 -0
  168. package/dist/types/index.d.ts.map +1 -0
  169. package/dist/types/index.js +8 -0
  170. package/dist/types/index.js.map +1 -0
  171. package/dist/types/logging.d.ts +24 -0
  172. package/dist/types/logging.d.ts.map +1 -0
  173. package/dist/types/logging.js +2 -0
  174. package/dist/types/logging.js.map +1 -0
  175. package/dist/types/observer.d.ts +18 -0
  176. package/dist/types/observer.d.ts.map +1 -0
  177. package/dist/types/observer.js +2 -0
  178. package/dist/types/observer.js.map +1 -0
  179. package/dist/types/prompt.d.ts +31 -0
  180. package/dist/types/prompt.d.ts.map +1 -0
  181. package/dist/types/prompt.js +6 -0
  182. package/dist/types/prompt.js.map +1 -0
  183. package/dist/types/providers.d.ts +691 -0
  184. package/dist/types/providers.d.ts.map +1 -0
  185. package/dist/types/providers.js +14 -0
  186. package/dist/types/providers.js.map +1 -0
  187. package/dist/types/reflection.d.ts +96 -0
  188. package/dist/types/reflection.d.ts.map +1 -0
  189. package/dist/types/reflection.js +24 -0
  190. package/dist/types/reflection.js.map +1 -0
  191. package/dist/types/restart.d.ts +132 -0
  192. package/dist/types/restart.d.ts.map +1 -0
  193. package/dist/types/restart.js +2 -0
  194. package/dist/types/restart.js.map +1 -0
  195. package/dist/types/sdk-primitives.d.ts +118 -0
  196. package/dist/types/sdk-primitives.d.ts.map +1 -0
  197. package/dist/types/sdk-primitives.js +6 -0
  198. package/dist/types/sdk-primitives.js.map +1 -0
  199. package/{src/types/snapshot.ts → dist/types/snapshot.d.ts} +5 -5
  200. package/dist/types/snapshot.d.ts.map +1 -0
  201. package/dist/types/snapshot.js +2 -0
  202. package/dist/types/snapshot.js.map +1 -0
  203. package/dist/types/streaming.d.ts +194 -0
  204. package/dist/types/streaming.d.ts.map +1 -0
  205. package/dist/types/streaming.js +67 -0
  206. package/dist/types/streaming.js.map +1 -0
  207. package/dist/types/workflow-context.d.ts +275 -0
  208. package/dist/types/workflow-context.d.ts.map +1 -0
  209. package/dist/types/workflow-context.js +8 -0
  210. package/dist/types/workflow-context.js.map +1 -0
  211. package/dist/types/workflow.d.ts +30 -0
  212. package/dist/types/workflow.d.ts.map +1 -0
  213. package/dist/types/workflow.js +2 -0
  214. package/dist/types/workflow.js.map +1 -0
  215. package/dist/utils/agent-validation.d.ts +88 -0
  216. package/dist/utils/agent-validation.d.ts.map +1 -0
  217. package/dist/utils/agent-validation.js +87 -0
  218. package/dist/utils/agent-validation.js.map +1 -0
  219. package/dist/utils/delay.d.ts +7 -0
  220. package/dist/utils/delay.d.ts.map +1 -0
  221. package/dist/utils/delay.js +9 -0
  222. package/dist/utils/delay.js.map +1 -0
  223. package/dist/utils/harness-config.d.ts +180 -0
  224. package/dist/utils/harness-config.d.ts.map +1 -0
  225. package/dist/utils/harness-config.js +311 -0
  226. package/dist/utils/harness-config.js.map +1 -0
  227. package/dist/utils/id.d.ts +6 -0
  228. package/dist/utils/id.d.ts.map +1 -0
  229. package/dist/utils/id.js +12 -0
  230. package/dist/utils/id.js.map +1 -0
  231. package/dist/utils/index.d.ts +13 -0
  232. package/dist/utils/index.d.ts.map +1 -0
  233. package/dist/utils/index.js +11 -0
  234. package/dist/utils/index.js.map +1 -0
  235. package/dist/utils/model-spec.d.ts +110 -0
  236. package/dist/utils/model-spec.d.ts.map +1 -0
  237. package/dist/utils/model-spec.js +149 -0
  238. package/dist/utils/model-spec.js.map +1 -0
  239. package/dist/utils/observable.d.ts +54 -0
  240. package/dist/utils/observable.d.ts.map +1 -0
  241. package/dist/utils/observable.js +82 -0
  242. package/dist/utils/observable.js.map +1 -0
  243. package/dist/utils/provider-config.d.ts +10 -0
  244. package/dist/utils/provider-config.d.ts.map +1 -0
  245. package/dist/utils/provider-config.js +10 -0
  246. package/dist/utils/provider-config.js.map +1 -0
  247. package/dist/utils/restart-analysis.d.ts +202 -0
  248. package/dist/utils/restart-analysis.d.ts.map +1 -0
  249. package/dist/utils/restart-analysis.js +426 -0
  250. package/dist/utils/restart-analysis.js.map +1 -0
  251. package/dist/utils/session-serialization.d.ts +118 -0
  252. package/dist/utils/session-serialization.d.ts.map +1 -0
  253. package/dist/utils/session-serialization.js +217 -0
  254. package/dist/utils/session-serialization.js.map +1 -0
  255. package/dist/utils/workflow-error-utils.d.ts +22 -0
  256. package/dist/utils/workflow-error-utils.d.ts.map +1 -0
  257. package/dist/utils/workflow-error-utils.js +45 -0
  258. package/dist/utils/workflow-error-utils.js.map +1 -0
  259. package/package.json +34 -5
  260. package/.claude/commands/subtask-planning/prp-base-create.md +0 -120
  261. package/.claude/commands/subtask-planning/prp-base-execute.md +0 -65
  262. package/.claude/commands/task-breakdown.md +0 -94
  263. package/.claude/settings.local.json +0 -9
  264. package/.claude/system_prompts/task-breakdown.md +0 -101
  265. package/CHANGELOG.md +0 -188
  266. package/PRD.md +0 -543
  267. package/PRPs/001-hierarchical-workflow-engine.md +0 -2438
  268. package/PRPs/PRDs/002-agent-prompt.md +0 -390
  269. package/PRPs/PRDs/003-agent-prompt.md +0 -943
  270. package/PRPs/PRDs/004-agent-prompt.md +0 -1136
  271. package/PRPs/PRDs/tasks-001.json +0 -492
  272. package/PRPs/README.md +0 -83
  273. package/PRPs/templates/prp_base.md +0 -222
  274. package/docs/agent.md +0 -422
  275. package/docs/prompt.md +0 -419
  276. package/docs/workflow.md +0 -600
  277. package/examples/README.md +0 -258
  278. package/examples/examples/01-basic-workflow.ts +0 -100
  279. package/examples/examples/02-decorator-options.ts +0 -217
  280. package/examples/examples/03-parent-child.ts +0 -241
  281. package/examples/examples/04-observers-debugger.ts +0 -340
  282. package/examples/examples/05-error-handling.ts +0 -387
  283. package/examples/examples/06-concurrent-tasks.ts +0 -352
  284. package/examples/examples/07-agent-loops.ts +0 -432
  285. package/examples/examples/08-sdk-features.ts +0 -667
  286. package/examples/examples/09-reflection.ts +0 -573
  287. package/examples/examples/10-introspection.ts +0 -550
  288. package/examples/examples/11-reparenting-workflows.ts +0 -269
  289. package/examples/index.ts +0 -147
  290. package/examples/utils/helpers.ts +0 -57
  291. package/package-lock.json +0 -2398
  292. package/plan/001_d3bb02af4886/TEST_RESULTS.md +0 -259
  293. package/plan/001_d3bb02af4886/backlog.json +0 -867
  294. package/plan/001_d3bb02af4886/bug_fix_tasks.json +0 -484
  295. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S1/PRP.md +0 -488
  296. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S2/PRP.md +0 -581
  297. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S3/PRP.md +0 -687
  298. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S1/PRP.md +0 -492
  299. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/PRP.md +0 -932
  300. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/concurrent_error_testing_patterns.md +0 -1109
  301. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/vitest_concurrent_testing.md +0 -802
  302. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/workflow_engine_test_references.md +0 -603
  303. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S1/PRP.md +0 -564
  304. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S3/PRP.md +0 -518
  305. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S4/PRP.md +0 -1252
  306. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/PRP.md +0 -364
  307. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/CODEBASE_INVENTORY.md +0 -114
  308. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/DECORATOR_DOCUMENTATION_PATTERNS.md +0 -205
  309. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/PRD_LOCATION_ANALYSIS.md +0 -199
  310. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/ULTRATHINK_PRP_PLAN.md +0 -134
  311. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/PRP.md +0 -495
  312. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/research/console_error_inventory.md +0 -435
  313. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S2/PRP.md +0 -506
  314. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S3/PRP.md +0 -612
  315. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T2S2/PRP.md +0 -558
  316. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T2S2/research/external_research.md +0 -788
  317. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T3S2/PRP.md +0 -460
  318. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T3S3/PRP.md +0 -454
  319. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/PRP.md +0 -520
  320. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/RECOMMENDATION.md +0 -417
  321. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/research/external_workflow_engines_research.md +0 -760
  322. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/research/security_implications_analysis.md +0 -245
  323. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S2/PRP.md +0 -792
  324. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/PRP.md +0 -535
  325. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/TEST_EXECUTION_REPORT.md +0 -190
  326. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/PRP.md +0 -654
  327. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/TEST_FIX_REPORT.md +0 -227
  328. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/KEY_FINDINGS.md +0 -345
  329. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/QUICK_REFERENCE.md +0 -193
  330. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/test_maintenance_research.md +0 -1323
  331. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S1/BREAKING_CHANGES_AUDIT.md +0 -1011
  332. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S1/PRP.md +0 -927
  333. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S2/PRP.md +0 -505
  334. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/architecture/logger_child_signature_analysis.md +0 -401
  335. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/child_implementation_research.md +0 -142
  336. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/test_patterns_research.md +0 -112
  337. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/vitest_patterns_research.md +0 -159
  338. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/PRP.md +0 -549
  339. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/VERIFICATION_REPORT.md +0 -368
  340. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/edge_case_analysis.md +0 -172
  341. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/usage_inventory.md +0 -175
  342. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T1S2/PRP.md +0 -696
  343. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T1S4/PRP.md +0 -860
  344. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/PRP.md +0 -1066
  345. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/01-testing-aggregated-errors.md +0 -1103
  346. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/01_typescript_error_aggregation_patterns.md +0 -789
  347. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/02-error-merge-strategy-testing-guide.md +0 -1098
  348. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/02_aggregate_error_patterns.md +0 -1037
  349. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/03-promise-allsettled-testing-patterns.md +0 -916
  350. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/03_error_merging_strategies.md +0 -1045
  351. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/04_github_stackoverflow_examples.md +0 -890
  352. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/05_comprehensive_summary.md +0 -822
  353. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/INDEX.md +0 -668
  354. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/QUICK_REFERENCE.md +0 -706
  355. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/README.md +0 -265
  356. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/RESEARCH_REPORT.md +0 -655
  357. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S4/research/vitest_testing_patterns.md +0 -1103
  358. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T3S2/PRP.md +0 -426
  359. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/PRP.md +0 -506
  360. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/QUICK_REFERENCE.md +0 -114
  361. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/RESEARCH_SUMMARY.md +0 -316
  362. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/vitest_observer_error_logging_best_practices.md +0 -754
  363. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S3/PRP.md +0 -612
  364. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/PRP.md +0 -719
  365. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/README.md +0 -215
  366. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/analysis.md +0 -765
  367. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S3/PRP.md +0 -718
  368. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/DECISION.md +0 -149
  369. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/PRP.md +0 -470
  370. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/ULTRATHINK_PLAN.md +0 -332
  371. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/codebase_workflow_name_analysis.md +0 -167
  372. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/external_best_practices.md +0 -265
  373. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/validation_patterns.md +0 -273
  374. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T4S1/workflow_engine_ancestry_api_research.md +0 -760
  375. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T4S3-PRP.md +0 -434
  376. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S1/PRP.md +0 -717
  377. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/PRP.md +0 -472
  378. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/VALIDATION_REPORT.md +0 -125
  379. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/research/ULTRATHINK_PRP_PLAN.md +0 -301
  380. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/error-logging-best-practices.md +0 -1170
  381. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/research_typescript_partial_and_overloads.md +0 -940
  382. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/vitest-quick-reference.md +0 -151
  383. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/vitest-research.md +0 -650
  384. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/prd_snapshot.md +0 -259
  385. package/plan/001_d3bb02af4886/bugfix/P1M1T1S1/PRP.md +0 -457
  386. package/plan/001_d3bb02af4886/bugfix/RESEARCH_SUMMARY.md +0 -346
  387. package/plan/001_d3bb02af4886/bugfix/architecture/codebase_structure.md +0 -311
  388. package/plan/001_d3bb02af4886/bugfix/architecture/concurrent_execution_best_practices.md +0 -1565
  389. package/plan/001_d3bb02af4886/bugfix/architecture/error_handling_patterns.md +0 -288
  390. package/plan/001_d3bb02af4886/bugfix/architecture/promise_all_analysis.md +0 -741
  391. package/plan/001_d3bb02af4886/docs/PRP/P1M1T1S4-functional-workflow-error-state-capture-test.md +0 -652
  392. package/plan/001_d3bb02af4886/docs/PRP/P1P2-PRP.md +0 -527
  393. package/plan/001_d3bb02af4886/docs/PRP/P3P4-PRP.md +0 -1388
  394. package/plan/001_d3bb02af4886/docs/PRP/P4P5-PRP.md +0 -1136
  395. package/plan/001_d3bb02af4886/docs/PRP/PRP.md +0 -527
  396. package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S1-PRP.md +0 -415
  397. package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S2-PRP.md +0 -378
  398. package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S4-PRP.md +0 -713
  399. package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M2T1S4-PRP.md +0 -370
  400. package/plan/001_d3bb02af4886/docs/PRP_P1M3T1S3.md +0 -499
  401. package/plan/001_d3bb02af4886/docs/TEST_RESULTS.md +0 -230
  402. package/plan/001_d3bb02af4886/docs/architecture/external_deps.md +0 -358
  403. package/plan/001_d3bb02af4886/docs/architecture/system_context.md +0 -242
  404. package/plan/001_d3bb02af4886/docs/bugfix/ANALYSIS_PRD_VS_IMPLEMENTATION.md +0 -1134
  405. package/plan/001_d3bb02af4886/docs/bugfix/GAP_ANALYSIS_SUMMARY.md +0 -179
  406. package/plan/001_d3bb02af4886/docs/bugfix/P1M4T2S1/PRP.md +0 -629
  407. package/plan/001_d3bb02af4886/docs/bugfix/P1M4T2S1/validation-report.md +0 -214
  408. package/plan/001_d3bb02af4886/docs/bugfix/PRP_P1M4T2S3.md +0 -629
  409. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_PRP.md +0 -529
  410. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_QUICK_REFERENCE.md +0 -142
  411. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_README.md +0 -304
  412. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_TEST_RESULTS.md +0 -558
  413. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_VALIDATION_SUMMARY.md +0 -256
  414. package/plan/001_d3bb02af4886/docs/bugfix/system_context.md +0 -346
  415. package/plan/001_d3bb02af4886/docs/bugfix-architecture/bug_analysis.md +0 -415
  416. package/plan/001_d3bb02af4886/docs/bugfix-architecture/implementation_patterns.md +0 -489
  417. package/plan/001_d3bb02af4886/docs/bugfix-architecture/system_context.md +0 -218
  418. package/plan/001_d3bb02af4886/docs/bugfix_INITIATION_SUMMARY.md +0 -380
  419. package/plan/001_d3bb02af4886/docs/research/CYCLE_DETECTION_PATTERNS.md +0 -1923
  420. package/plan/001_d3bb02af4886/docs/research/CYCLE_DETECTION_QUICK_REF.md +0 -319
  421. package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/codebase-context.md +0 -115
  422. package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/cycle-detection-algorithms.md +0 -134
  423. package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/test-patterns.md +0 -153
  424. package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/workflow-class.md +0 -132
  425. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/DECORATOR_DOCUMENTATION_BEST_PRACTICES.md +0 -716
  426. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/DECORATOR_DOCUMENTATION_QUICK_REF.md +0 -186
  427. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/GROUNDSWELL_DECORATOR_EXAMPLES.md +0 -604
  428. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/INDEX.md +0 -213
  429. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/codebase_structure.md +0 -30
  430. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/existing_test_pattern.md +0 -56
  431. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/getRootObservers_implementation.md +0 -53
  432. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/test_conventions.md +0 -49
  433. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/PRP.md +0 -958
  434. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/QUICK_REFERENCE.md +0 -339
  435. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/README.md +0 -305
  436. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/SUMMARY.md +0 -433
  437. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/bidirectional-tree-consistency-testing.md +0 -1574
  438. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/test-pattern-examples.md +0 -1014
  439. package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_BEST_PRACTICES.md +0 -1929
  440. package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_CODE_PATTERNS.md +0 -857
  441. package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_INTEGRATION_GUIDE.md +0 -738
  442. package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_RESEARCH_INDEX.md +0 -424
  443. package/plan/001_d3bb02af4886/docs/research/P1P2/REFLECTION_INDEX.md +0 -291
  444. package/plan/001_d3bb02af4886/docs/research/P1P2/REFLECTION_RESEARCH_REPORT.md +0 -1342
  445. package/plan/001_d3bb02af4886/docs/research/P1P2/RESEARCH_SUMMARY.md +0 -342
  446. package/plan/001_d3bb02af4886/docs/research/P1P2/anthropic-sdk.md +0 -174
  447. package/plan/001_d3bb02af4886/docs/research/P1P2/async-local-storage.md +0 -200
  448. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-code-patterns.md +0 -1205
  449. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-decision-matrix.md +0 -421
  450. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-implementation-guide.md +0 -1341
  451. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-integration-guide.md +0 -834
  452. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-patterns.md +0 -1468
  453. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-quick-reference.md +0 -558
  454. package/plan/001_d3bb02af4886/docs/research/P1P2/zod-schema.md +0 -152
  455. package/plan/001_d3bb02af4886/docs/research/P3P4/caching-lru.md +0 -116
  456. package/plan/001_d3bb02af4886/docs/research/P3P4/introspection-tools.md +0 -177
  457. package/plan/001_d3bb02af4886/docs/research/P3P4/reflection-patterns.md +0 -117
  458. package/plan/001_d3bb02af4886/docs/research/P4P5/RESEARCH_SUMMARY.md +0 -151
  459. package/plan/001_d3bb02af4886/docs/research/PROMISE_ALLSETTLED_QUICK_REF.md +0 -376
  460. package/plan/001_d3bb02af4886/docs/research/PROMISE_ALLSETTLED_RESEARCH.md +0 -1507
  461. package/plan/001_d3bb02af4886/docs/research/bugfix_typescript_patterns.md +0 -949
  462. package/plan/001_d3bb02af4886/docs/research/error-testing-research.md +0 -619
  463. package/plan/001_d3bb02af4886/docs/research/error_handling_patterns.md +0 -723
  464. package/plan/001_d3bb02af4886/docs/research/general/INTROSPECTION_RESEARCH_SUMMARY.md +0 -378
  465. package/plan/001_d3bb02af4886/docs/research/general/README-INTROSPECTION.md +0 -352
  466. package/plan/001_d3bb02af4886/docs/research/general/agent-introspection-patterns.md +0 -1085
  467. package/plan/001_d3bb02af4886/docs/research/general/introspection-security-guide.md +0 -984
  468. package/plan/001_d3bb02af4886/docs/research/general/introspection-tool-examples.md +0 -875
  469. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/PRP_TEMPLATE.md +0 -460
  470. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/QUICK_REFERENCE.md +0 -324
  471. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/README.md +0 -175
  472. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/RESEARCH_REPORT.md +0 -499
  473. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/SUMMARY.md +0 -163
  474. package/plan/001_d3bb02af4886/prd_snapshot.md +0 -543
  475. package/plan/bugfix/BUG_FIX_SUMMARY.md +0 -961
  476. package/scripts/generate-llms-full.ts +0 -206
  477. package/src/__tests__/adversarial/attachChild-performance.test.ts +0 -216
  478. package/src/__tests__/adversarial/circular-reference.test.ts +0 -101
  479. package/src/__tests__/adversarial/complex-circular-reference.test.ts +0 -139
  480. package/src/__tests__/adversarial/concurrent-task-failures.test.ts +0 -571
  481. package/src/__tests__/adversarial/deep-analysis.test.ts +0 -729
  482. package/src/__tests__/adversarial/deep-hierarchy-stress.test.ts +0 -213
  483. package/src/__tests__/adversarial/e2e-prd-validation.test.ts +0 -448
  484. package/src/__tests__/adversarial/edge-case.test.ts +0 -703
  485. package/src/__tests__/adversarial/error-merge-strategy.test.ts +0 -760
  486. package/src/__tests__/adversarial/incremental-performance.test.ts +0 -140
  487. package/src/__tests__/adversarial/node-map-update-benchmarks.test.ts +0 -457
  488. package/src/__tests__/adversarial/observer-propagation.test.ts +0 -487
  489. package/src/__tests__/adversarial/parent-validation.test.ts +0 -143
  490. package/src/__tests__/adversarial/prd-12-2-compliance.test.ts +0 -611
  491. package/src/__tests__/adversarial/prd-compliance.test.ts +0 -731
  492. package/src/__tests__/compatibility/backward-compatibility.test.ts +0 -1572
  493. package/src/__tests__/helpers/index.ts +0 -18
  494. package/src/__tests__/helpers/tree-verification.ts +0 -257
  495. package/src/__tests__/integration/agent-workflow.test.ts +0 -256
  496. package/src/__tests__/integration/bidirectional-consistency.test.ts +0 -847
  497. package/src/__tests__/integration/observer-logging.test.ts +0 -643
  498. package/src/__tests__/integration/tree-mirroring.test.ts +0 -151
  499. package/src/__tests__/integration/workflow-reparenting.test.ts +0 -303
  500. package/src/__tests__/unit/agent.test.ts +0 -169
  501. package/src/__tests__/unit/cache-key.test.ts +0 -182
  502. package/src/__tests__/unit/cache.test.ts +0 -172
  503. package/src/__tests__/unit/context.test.ts +0 -217
  504. package/src/__tests__/unit/decorators.test.ts +0 -100
  505. package/src/__tests__/unit/introspection-tools.test.ts +0 -277
  506. package/src/__tests__/unit/logger.test.ts +0 -293
  507. package/src/__tests__/unit/observable.test.ts +0 -321
  508. package/src/__tests__/unit/prompt.test.ts +0 -135
  509. package/src/__tests__/unit/reflection.test.ts +0 -210
  510. package/src/__tests__/unit/tree-debugger-incremental.test.ts +0 -170
  511. package/src/__tests__/unit/tree-debugger.test.ts +0 -85
  512. package/src/__tests__/unit/utils/workflow-error-utils.test.ts +0 -209
  513. package/src/__tests__/unit/workflow-detachChild.test.ts +0 -100
  514. package/src/__tests__/unit/workflow-emitEvent-childDetached.test.ts +0 -153
  515. package/src/__tests__/unit/workflow-isDescendantOf.test.ts +0 -180
  516. package/src/__tests__/unit/workflow.test.ts +0 -357
  517. package/src/cache/cache-key.ts +0 -244
  518. package/src/cache/cache.ts +0 -236
  519. package/src/core/agent.ts +0 -593
  520. package/src/core/event-tree.ts +0 -260
  521. package/src/core/logger.ts +0 -112
  522. package/src/core/mcp-handler.ts +0 -184
  523. package/src/core/prompt.ts +0 -150
  524. package/src/core/workflow-context.ts +0 -351
  525. package/src/core/workflow.ts +0 -540
  526. package/src/debugger/tree-debugger.ts +0 -255
  527. package/src/decorators/observed-state.ts +0 -95
  528. package/src/decorators/step.ts +0 -139
  529. package/src/decorators/task.ts +0 -159
  530. package/src/examples/tdd-orchestrator.ts +0 -65
  531. package/src/examples/test-cycle-workflow.ts +0 -64
  532. package/src/index.ts +0 -142
  533. package/src/reflection/reflection.ts +0 -407
  534. package/src/tools/index.ts +0 -36
  535. package/src/tools/introspection.ts +0 -464
  536. package/src/types/agent.ts +0 -90
  537. package/src/types/decorators.ts +0 -32
  538. package/src/types/error-strategy.ts +0 -13
  539. package/src/types/error.ts +0 -20
  540. package/src/types/events.ts +0 -75
  541. package/src/types/index.ts +0 -55
  542. package/src/types/logging.ts +0 -24
  543. package/src/types/observer.ts +0 -18
  544. package/src/types/prompt.ts +0 -40
  545. package/src/types/reflection.ts +0 -117
  546. package/src/types/sdk-primitives.ts +0 -128
  547. package/src/types/workflow-context.ts +0 -163
  548. package/src/types/workflow.ts +0 -37
  549. package/src/utils/id.ts +0 -11
  550. package/src/utils/index.ts +0 -4
  551. package/src/utils/observable.ts +0 -106
  552. package/src/utils/workflow-error-utils.ts +0 -56
  553. package/tsconfig.json +0 -22
  554. package/vitest.config.ts +0 -16
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-harness.js","sourceRoot":"","sources":["../../src/harnesses/pi-harness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { type TSchema } from "@sinclair/typebox";
2
+ import type { Tool } from "../types/sdk-primitives.js";
3
+ export { Type } from "@sinclair/typebox";
4
+ export type { TSchema } from "@sinclair/typebox";
5
+ /**
6
+ * Convert a Groundswell Tool JSON-Schema (`input_schema`) into a TypeBox `TSchema`
7
+ * for Pi's `ToolDefinition.parameters` (PRD §7.10, §7.12, §7.14.1).
8
+ *
9
+ * **PURE function** — no I/O, no mocks, no definitions registry.
10
+ * Parallel to `MCPHandler.jsonSchemaToZodRawShape()` (the Claude Code SDK path).
11
+ *
12
+ * Coverage (parity+ over the Zod converter on every arm):
13
+ * - object (required/optional via `Type.Optional`, nested, open → `Type.Record`)
14
+ * - string / number / integer (distinct) / boolean
15
+ * - array (items recursive; no items → `Type.Unknown`)
16
+ * - enum → `Type.Union(values.map(Type.Literal))` [JSON-Schema array, NOT `Type.Enum`'s Record]
17
+ * - $ref → `Type.Any()` [permissive; no registry in S1; S2+ may extend]
18
+ * - unknown/missing type → `Type.Unknown()`
19
+ *
20
+ * @param schema - `Tool['input_schema']` (top-level always an object) or a nested JSON-Schema fragment.
21
+ * @returns A TypeBox `TSchema` assignable to `ToolDefinition.parameters`.
22
+ */
23
+ export declare function jsonSchemaToTypebox(schema: Tool["input_schema"] | Record<string, unknown>): TSchema;
24
+ //# sourceMappingURL=pi-schema-converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-schema-converter.d.ts","sourceRoot":"","sources":["../../src/harnesses/pi-schema-converter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAGvD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,YAAY,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrD,OAAO,CAuBT"}
@@ -0,0 +1,81 @@
1
+ import { Type } from "@sinclair/typebox";
2
+ // Re-export so S2 imports converter + builders from ONE module.
3
+ export { Type } from "@sinclair/typebox";
4
+ /**
5
+ * Convert a Groundswell Tool JSON-Schema (`input_schema`) into a TypeBox `TSchema`
6
+ * for Pi's `ToolDefinition.parameters` (PRD §7.10, §7.12, §7.14.1).
7
+ *
8
+ * **PURE function** — no I/O, no mocks, no definitions registry.
9
+ * Parallel to `MCPHandler.jsonSchemaToZodRawShape()` (the Claude Code SDK path).
10
+ *
11
+ * Coverage (parity+ over the Zod converter on every arm):
12
+ * - object (required/optional via `Type.Optional`, nested, open → `Type.Record`)
13
+ * - string / number / integer (distinct) / boolean
14
+ * - array (items recursive; no items → `Type.Unknown`)
15
+ * - enum → `Type.Union(values.map(Type.Literal))` [JSON-Schema array, NOT `Type.Enum`'s Record]
16
+ * - $ref → `Type.Any()` [permissive; no registry in S1; S2+ may extend]
17
+ * - unknown/missing type → `Type.Unknown()`
18
+ *
19
+ * @param schema - `Tool['input_schema']` (top-level always an object) or a nested JSON-Schema fragment.
20
+ * @returns A TypeBox `TSchema` assignable to `ToolDefinition.parameters`.
21
+ */
22
+ export function jsonSchemaToTypebox(schema) {
23
+ const s = schema;
24
+ // Defensive: top-level must be an object.
25
+ if (s.type !== "object") {
26
+ return Type.Unknown();
27
+ }
28
+ const properties = (s.properties ?? {});
29
+ const requiredSet = new Set((s.required ?? []));
30
+ // Property-less object → open record (parity with `z.record(z.unknown())`); NOT `Type.Object({})`.
31
+ if (Object.keys(properties).length === 0) {
32
+ return Type.Record(Type.String(), Type.Any());
33
+ }
34
+ // Build each property's schema, then apply optionality to non-required values.
35
+ const props = {};
36
+ for (const [key, value] of Object.entries(properties)) {
37
+ const converted = propertyToTypebox(value);
38
+ props[key] = requiredSet.has(key) ? converted : Type.Optional(converted);
39
+ }
40
+ return Type.Object(props);
41
+ }
42
+ /**
43
+ * Convert a single JSON-Schema property/fragment to a TypeBox `TSchema` (recursive).
44
+ * Mirrors `MCPHandler.jsonSchemaPropertyToZod` (mcp-handler.ts L266-308), + enum + $ref arms.
45
+ */
46
+ function propertyToTypebox(prop) {
47
+ // $ref → permissive Any (S1 has no registry; parity with Zod default arm). Check FIRST.
48
+ if (typeof prop.$ref === "string") {
49
+ return Type.Any();
50
+ }
51
+ // enum (array) → Union of Literals (`Type.Enum` takes a Record, not an array). Check BEFORE type.
52
+ // NOTE: JSON-Schema allows `null` in enum values but TypeBox `TLiteralValue` excludes null;
53
+ // those entries are silently skipped (permissive — never rejects valid LLM args).
54
+ if (Array.isArray(prop.enum) && prop.enum.length > 0) {
55
+ const literals = prop.enum
56
+ .filter((v) => v !== null)
57
+ .map((v) => Type.Literal(v));
58
+ return literals.length === 1 ? literals[0] : Type.Union(literals);
59
+ }
60
+ switch (prop.type) {
61
+ case "string":
62
+ return Type.String();
63
+ case "number":
64
+ return Type.Number();
65
+ case "integer":
66
+ return Type.Integer(); // parity+ (Zod collapses int→number; TypeBox keeps distinct)
67
+ case "boolean":
68
+ return Type.Boolean();
69
+ case "array":
70
+ return Type.Array(prop.items
71
+ ? propertyToTypebox(prop.items)
72
+ : Type.Unknown());
73
+ case "object":
74
+ // Delegate back to the public entry (handles nested required/optional + open-record).
75
+ return jsonSchemaToTypebox(prop);
76
+ default:
77
+ // unknown type, type arrays (e.g. ["string","null"]), missing type → permissive Unknown.
78
+ return Type.Unknown();
79
+ }
80
+ }
81
+ //# sourceMappingURL=pi-schema-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-schema-converter.js","sourceRoot":"","sources":["../../src/harnesses/pi-schema-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Bootstrap helper: register Groundswell's built-in harnesses with the
3
+ * HarnessRegistry (PRD §7.6 / §7.1). Idempotent — safe to call multiple times
4
+ * (guards each registration with `registry.has(id)` so the registry's own
5
+ * duplicate-error is never triggered).
6
+ *
7
+ * Registers:
8
+ * - ClaudeCodeHarness (id 'claude-code') — Anthropic-only (PRD §7.8).
9
+ * - PiHarness (id 'pi') — vendor-neutral default (PRD §7.1, §7.6).
10
+ *
11
+ * @param registry - Target registry (defaults to the HarnessRegistry singleton).
12
+ * @returns The registry (for chaining / testing).
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { registerDefaultHarnesses } from 'groundswell/harnesses';
17
+ * const registry = registerDefaultHarnesses();
18
+ * const cc = registry.get('claude-code'); // ClaudeCodeHarness instance
19
+ * const pi = registry.get('pi'); // PiHarness instance
20
+ * ```
21
+ */
22
+ import { HarnessRegistry } from './harness-registry.js';
23
+ export declare function registerDefaultHarnesses(registry?: HarnessRegistry): HarnessRegistry;
24
+ //# sourceMappingURL=register-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-defaults.d.ts","sourceRoot":"","sources":["../../src/harnesses/register-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD,wBAAgB,wBAAwB,CACtC,QAAQ,GAAE,eAA+C,GACxD,eAAe,CAgBjB"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Bootstrap helper: register Groundswell's built-in harnesses with the
3
+ * HarnessRegistry (PRD §7.6 / §7.1). Idempotent — safe to call multiple times
4
+ * (guards each registration with `registry.has(id)` so the registry's own
5
+ * duplicate-error is never triggered).
6
+ *
7
+ * Registers:
8
+ * - ClaudeCodeHarness (id 'claude-code') — Anthropic-only (PRD §7.8).
9
+ * - PiHarness (id 'pi') — vendor-neutral default (PRD §7.1, §7.6).
10
+ *
11
+ * @param registry - Target registry (defaults to the HarnessRegistry singleton).
12
+ * @returns The registry (for chaining / testing).
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { registerDefaultHarnesses } from 'groundswell/harnesses';
17
+ * const registry = registerDefaultHarnesses();
18
+ * const cc = registry.get('claude-code'); // ClaudeCodeHarness instance
19
+ * const pi = registry.get('pi'); // PiHarness instance
20
+ * ```
21
+ */
22
+ import { HarnessRegistry } from './harness-registry.js';
23
+ import { ClaudeCodeHarness } from './claude-code-harness.js';
24
+ import { PiHarness } from './pi-harness.js';
25
+ export function registerDefaultHarnesses(registry = HarnessRegistry.getInstance()) {
26
+ // Claude Code harness — Anthropic-only (PRD §7.8).
27
+ const CLAUDE_CODE = 'claude-code';
28
+ if (!registry.has(CLAUDE_CODE)) {
29
+ registry.register(new ClaudeCodeHarness());
30
+ }
31
+ // Pi harness — vendor-neutral DEFAULT (PRD §7.1, §7.6). defaultHarness is already 'pi' in
32
+ // src/utils/harness-config.ts (DEFAULT_HARNESS_CONFIG); this registration pairs the id with a
33
+ // live instance so registry.get('pi') resolves. Idempotent (guard mirrors the claude-code block).
34
+ const PI = 'pi';
35
+ if (!registry.has(PI)) {
36
+ registry.register(new PiHarness());
37
+ }
38
+ return registry;
39
+ }
40
+ //# sourceMappingURL=register-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-defaults.js","sourceRoot":"","sources":["../../src/harnesses/register-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,MAAM,UAAU,wBAAwB,CACtC,WAA4B,eAAe,CAAC,WAAW,EAAE;IAEzD,mDAAmD;IACnD,MAAM,WAAW,GAAc,aAAa,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,QAAQ,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,0FAA0F;IAC1F,8FAA8F;IAC9F,kGAAkG;IAClG,MAAM,EAAE,GAAc,IAAI,CAAC;IAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACtB,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * Session store implementations
3
+ *
4
+ * Provides pluggable session storage backends for maintaining conversation
5
+ * state across requests. Supports in-memory, file-based, and future Redis
6
+ * storage.
7
+ *
8
+ * PRP: P2.M2.T1.S1 - Session Persistence Implementation
9
+ * @module
10
+ */
11
+ import type { SessionState } from '../types/providers.js';
12
+ /**
13
+ * Generic session store interface
14
+ *
15
+ * @template T - The session state type (defaults to SessionState)
16
+ *
17
+ * @remarks
18
+ * Defines the contract for session storage backends. Implementations
19
+ * can provide in-memory, file-based, or distributed storage.
20
+ *
21
+ * All methods are async to support I/O operations and network requests.
22
+ *
23
+ * @public
24
+ */
25
+ export interface SessionStore<T = SessionState> {
26
+ /**
27
+ * Save session state to storage
28
+ *
29
+ * @param sessionId - Unique session identifier
30
+ * @param state - Session state to save
31
+ * @throws {Error} If save operation fails
32
+ */
33
+ save(sessionId: string, state: T): Promise<void>;
34
+ /**
35
+ * Load session state from storage
36
+ *
37
+ * @param sessionId - Unique session identifier
38
+ * @returns Session state or null if not found
39
+ * @throws {Error} If load operation fails
40
+ */
41
+ load(sessionId: string): Promise<T | null>;
42
+ /**
43
+ * Delete session from storage
44
+ *
45
+ * @param sessionId - Unique session identifier
46
+ * @returns true if deleted, false if not found
47
+ * @throws {Error} If delete operation fails
48
+ */
49
+ delete(sessionId: string): Promise<boolean>;
50
+ /**
51
+ * List all session IDs in storage
52
+ *
53
+ * @returns Array of session IDs
54
+ * @throws {Error} If list operation fails
55
+ */
56
+ list(): Promise<string[]>;
57
+ /**
58
+ * Check if session exists
59
+ *
60
+ * @param sessionId - Unique session identifier
61
+ * @returns true if session exists, false otherwise
62
+ */
63
+ has(sessionId: string): Promise<boolean>;
64
+ /**
65
+ * Clear all sessions from storage
66
+ *
67
+ * @throws {Error} If clear operation fails
68
+ */
69
+ clear(): Promise<void>;
70
+ /**
71
+ * Delete expired sessions from storage
72
+ *
73
+ * @param ttl - Optional time-to-live in milliseconds. Sessions older than
74
+ * (lastAccessedAt + ttl) are deleted. If not provided, uses
75
+ * the store's default TTL if configured.
76
+ * @returns Array of session IDs that were deleted
77
+ * @throws {Error} If delete operation fails
78
+ * @remarks
79
+ * For FileSessionStore, this scans all session files and removes expired ones.
80
+ * For MemorySessionStore, this clears expired entries from the in-memory Map.
81
+ * Uses a 60-second tolerance window for clock skew handling.
82
+ */
83
+ deleteExpired(ttl?: number): Promise<string[]>;
84
+ }
85
+ /**
86
+ * In-memory session store using Map
87
+ *
88
+ * @remarks
89
+ * Wraps a Map for in-memory session storage. No persistence.
90
+ * Maintains backward compatibility with existing Map-based usage.
91
+ *
92
+ * Thread-safety: Not thread-safe (single-threaded Node.js environment).
93
+ *
94
+ * @template T - The session state type
95
+ * @public
96
+ */
97
+ export declare class MemorySessionStore<T = SessionState> implements SessionStore<T> {
98
+ private sessions;
99
+ constructor();
100
+ save(sessionId: string, state: T): Promise<void>;
101
+ load(sessionId: string): Promise<T | null>;
102
+ delete(sessionId: string): Promise<boolean>;
103
+ list(): Promise<string[]>;
104
+ has(sessionId: string): Promise<boolean>;
105
+ clear(): Promise<void>;
106
+ /**
107
+ * Delete expired sessions from in-memory storage
108
+ *
109
+ * @param ttl - Optional time-to-live in milliseconds
110
+ * @returns Array of session IDs that were deleted
111
+ * @remarks
112
+ * MemorySessionStore is cleared on terminate, so TTL is less critical.
113
+ * This method is provided for interface consistency and can be used
114
+ * for manual cleanup or testing purposes.
115
+ */
116
+ deleteExpired(ttl?: number): Promise<string[]>;
117
+ /**
118
+ * Get the underlying Map (for backward compatibility)
119
+ *
120
+ * @internal
121
+ */
122
+ _getMap(): Map<string, T>;
123
+ }
124
+ /**
125
+ * File-based session store with JSON persistence
126
+ *
127
+ * @remarks
128
+ * Persists sessions to disk as JSON files. Each session is stored
129
+ * as a separate file: `{directory}/{sessionId}.json`
130
+ *
131
+ * Uses atomic writes (temp file + rename) for data safety.
132
+ * Supports TTL-based session expiration with lazy and active cleanup.
133
+ *
134
+ * @template T - The session state type
135
+ * @public
136
+ */
137
+ export declare class FileSessionStore<T = SessionState> implements SessionStore<T> {
138
+ private directory;
139
+ private ttl?;
140
+ private static readonly CLOCK_SKEW_TOLERANCE;
141
+ constructor(directory?: string, ttl?: number);
142
+ private getPath;
143
+ private ensureDirectory;
144
+ save(sessionId: string, state: T): Promise<void>;
145
+ load(sessionId: string): Promise<T | null>;
146
+ delete(sessionId: string): Promise<boolean>;
147
+ list(): Promise<string[]>;
148
+ has(sessionId: string): Promise<boolean>;
149
+ clear(): Promise<void>;
150
+ /**
151
+ * Delete expired sessions from file storage
152
+ *
153
+ * @param ttl - Optional time-to-live in milliseconds. If not provided,
154
+ * uses the store's configured TTL.
155
+ * @returns Array of session IDs that were deleted
156
+ * @remarks
157
+ * Scans all session files in the directory, checks expiration based on
158
+ * lastAccessedAt timestamp, and deletes expired files. Uses a 60-second
159
+ * tolerance window for clock skew handling.
160
+ */
161
+ deleteExpired(ttl?: number): Promise<string[]>;
162
+ }
163
+ /**
164
+ * Redis-based session store (interface stub)
165
+ *
166
+ * @remarks
167
+ * Interface definition for future Redis implementation.
168
+ * Not implemented in this PRP - reserved for future work.
169
+ *
170
+ * @template T - The session state type
171
+ * @public
172
+ */
173
+ export interface RedisSessionStore<T = SessionState> extends SessionStore<T> {
174
+ /**
175
+ * Connect to Redis server
176
+ */
177
+ connect(): Promise<void>;
178
+ /**
179
+ * Disconnect from Redis server
180
+ */
181
+ disconnect(): Promise<void>;
182
+ /**
183
+ * Set TTL for session
184
+ *
185
+ * @param sessionId - Session identifier
186
+ * @param ttlSeconds - Time to live in seconds
187
+ */
188
+ setTTL(sessionId: string, ttlSeconds: number): Promise<void>;
189
+ /**
190
+ * Delete expired sessions from storage
191
+ *
192
+ * @param ttl - Optional time-to-live in milliseconds
193
+ * @returns Array of session IDs that were deleted
194
+ * @remarks
195
+ * Redis implementation will use native TTL expiration.
196
+ * This method is provided for interface consistency and may be a no-op
197
+ * since Redis handles expiration automatically.
198
+ */
199
+ deleteExpired(ttl?: number): Promise<string[]>;
200
+ }
201
+ //# sourceMappingURL=session-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/harnesses/session-store.ts"],"names":[],"mappings":"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"}