@herbcaudill/ralph 0.8.5 → 1.0.2

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 (187) hide show
  1. package/dist/index.js +2401 -5
  2. package/dist/index.js.map +1 -1
  3. package/package.json +9 -7
  4. package/templates/core-prompt.md +77 -0
  5. package/templates/skills/manage-tasks/SKILL.md +113 -0
  6. package/templates/workflow.md +46 -0
  7. package/dist/cli.d.ts +0 -3
  8. package/dist/cli.d.ts.map +0 -1
  9. package/dist/cli.js +0 -81
  10. package/dist/cli.js.map +0 -1
  11. package/dist/components/App.d.ts +0 -12
  12. package/dist/components/App.d.ts.map +0 -1
  13. package/dist/components/App.js +0 -14
  14. package/dist/components/App.js.map +0 -1
  15. package/dist/components/EnhancedTextInput.d.ts +0 -22
  16. package/dist/components/EnhancedTextInput.d.ts.map +0 -1
  17. package/dist/components/EnhancedTextInput.js +0 -164
  18. package/dist/components/EnhancedTextInput.js.map +0 -1
  19. package/dist/components/EnhancedTextInput.test.d.ts +0 -2
  20. package/dist/components/EnhancedTextInput.test.d.ts.map +0 -1
  21. package/dist/components/EnhancedTextInput.test.js +0 -107
  22. package/dist/components/EnhancedTextInput.test.js.map +0 -1
  23. package/dist/components/EventDisplay.d.ts +0 -14
  24. package/dist/components/EventDisplay.d.ts.map +0 -1
  25. package/dist/components/EventDisplay.js +0 -182
  26. package/dist/components/EventDisplay.js.map +0 -1
  27. package/dist/components/EventDisplay.replay.test.d.ts +0 -2
  28. package/dist/components/EventDisplay.replay.test.d.ts.map +0 -1
  29. package/dist/components/EventDisplay.replay.test.js +0 -413
  30. package/dist/components/EventDisplay.replay.test.js.map +0 -1
  31. package/dist/components/EventDisplay.test.d.ts +0 -2
  32. package/dist/components/EventDisplay.test.d.ts.map +0 -1
  33. package/dist/components/EventDisplay.test.js +0 -319
  34. package/dist/components/EventDisplay.test.js.map +0 -1
  35. package/dist/components/FullScreenLayout.d.ts +0 -14
  36. package/dist/components/FullScreenLayout.d.ts.map +0 -1
  37. package/dist/components/FullScreenLayout.js +0 -30
  38. package/dist/components/FullScreenLayout.js.map +0 -1
  39. package/dist/components/Header.d.ts +0 -9
  40. package/dist/components/Header.d.ts.map +0 -1
  41. package/dist/components/Header.js +0 -15
  42. package/dist/components/Header.js.map +0 -1
  43. package/dist/components/Header.test.d.ts +0 -2
  44. package/dist/components/Header.test.d.ts.map +0 -1
  45. package/dist/components/Header.test.js +0 -27
  46. package/dist/components/Header.test.js.map +0 -1
  47. package/dist/components/InitRalph.d.ts +0 -3
  48. package/dist/components/InitRalph.d.ts.map +0 -1
  49. package/dist/components/InitRalph.js +0 -154
  50. package/dist/components/InitRalph.js.map +0 -1
  51. package/dist/components/IterationRunner.d.ts +0 -17
  52. package/dist/components/IterationRunner.d.ts.map +0 -1
  53. package/dist/components/IterationRunner.js +0 -620
  54. package/dist/components/IterationRunner.js.map +0 -1
  55. package/dist/components/IterationRunner.test.d.ts +0 -2
  56. package/dist/components/IterationRunner.test.d.ts.map +0 -1
  57. package/dist/components/IterationRunner.test.js +0 -129
  58. package/dist/components/IterationRunner.test.js.map +0 -1
  59. package/dist/components/JsonOutput.d.ts +0 -14
  60. package/dist/components/JsonOutput.d.ts.map +0 -1
  61. package/dist/components/JsonOutput.js +0 -246
  62. package/dist/components/JsonOutput.js.map +0 -1
  63. package/dist/components/ProgressBar.d.ts +0 -18
  64. package/dist/components/ProgressBar.d.ts.map +0 -1
  65. package/dist/components/ProgressBar.js +0 -30
  66. package/dist/components/ProgressBar.js.map +0 -1
  67. package/dist/components/ProgressBar.test.d.ts +0 -2
  68. package/dist/components/ProgressBar.test.d.ts.map +0 -1
  69. package/dist/components/ProgressBar.test.js +0 -55
  70. package/dist/components/ProgressBar.test.js.map +0 -1
  71. package/dist/components/ReplayLog.d.ts +0 -7
  72. package/dist/components/ReplayLog.d.ts.map +0 -1
  73. package/dist/components/ReplayLog.js +0 -50
  74. package/dist/components/ReplayLog.js.map +0 -1
  75. package/dist/components/StreamingText.d.ts +0 -7
  76. package/dist/components/StreamingText.d.ts.map +0 -1
  77. package/dist/components/StreamingText.js +0 -36
  78. package/dist/components/StreamingText.js.map +0 -1
  79. package/dist/components/StreamingText.test.d.ts +0 -2
  80. package/dist/components/StreamingText.test.d.ts.map +0 -1
  81. package/dist/components/StreamingText.test.js +0 -86
  82. package/dist/components/StreamingText.test.js.map +0 -1
  83. package/dist/components/ToolUse.d.ts +0 -8
  84. package/dist/components/ToolUse.d.ts.map +0 -1
  85. package/dist/components/ToolUse.js +0 -10
  86. package/dist/components/ToolUse.js.map +0 -1
  87. package/dist/components/ToolUse.test.d.ts +0 -2
  88. package/dist/components/ToolUse.test.d.ts.map +0 -1
  89. package/dist/components/ToolUse.test.js +0 -43
  90. package/dist/components/ToolUse.test.js.map +0 -1
  91. package/dist/components/eventToBlocks.d.ts +0 -16
  92. package/dist/components/eventToBlocks.d.ts.map +0 -1
  93. package/dist/components/eventToBlocks.js +0 -160
  94. package/dist/components/eventToBlocks.js.map +0 -1
  95. package/dist/components/eventToBlocks.test.d.ts +0 -2
  96. package/dist/components/eventToBlocks.test.d.ts.map +0 -1
  97. package/dist/components/eventToBlocks.test.js +0 -466
  98. package/dist/components/eventToBlocks.test.js.map +0 -1
  99. package/dist/index.d.ts +0 -2
  100. package/dist/index.d.ts.map +0 -1
  101. package/dist/lib/MessageQueue.d.ts +0 -20
  102. package/dist/lib/MessageQueue.d.ts.map +0 -1
  103. package/dist/lib/MessageQueue.js +0 -89
  104. package/dist/lib/MessageQueue.js.map +0 -1
  105. package/dist/lib/MessageQueue.test.d.ts +0 -2
  106. package/dist/lib/MessageQueue.test.d.ts.map +0 -1
  107. package/dist/lib/MessageQueue.test.js +0 -224
  108. package/dist/lib/MessageQueue.test.js.map +0 -1
  109. package/dist/lib/StdinCommandHandler.d.ts +0 -42
  110. package/dist/lib/StdinCommandHandler.d.ts.map +0 -1
  111. package/dist/lib/StdinCommandHandler.js +0 -102
  112. package/dist/lib/StdinCommandHandler.js.map +0 -1
  113. package/dist/lib/StdinCommandHandler.test.d.ts +0 -2
  114. package/dist/lib/StdinCommandHandler.test.d.ts.map +0 -1
  115. package/dist/lib/StdinCommandHandler.test.js +0 -93
  116. package/dist/lib/StdinCommandHandler.test.js.map +0 -1
  117. package/dist/lib/addTodo.d.ts +0 -11
  118. package/dist/lib/addTodo.d.ts.map +0 -1
  119. package/dist/lib/addTodo.js +0 -65
  120. package/dist/lib/addTodo.js.map +0 -1
  121. package/dist/lib/beadsClient.d.ts +0 -52
  122. package/dist/lib/beadsClient.d.ts.map +0 -1
  123. package/dist/lib/beadsClient.js +0 -171
  124. package/dist/lib/beadsClient.js.map +0 -1
  125. package/dist/lib/debug.d.ts +0 -18
  126. package/dist/lib/debug.d.ts.map +0 -1
  127. package/dist/lib/debug.js +0 -44
  128. package/dist/lib/debug.js.map +0 -1
  129. package/dist/lib/formatContentBlock.d.ts +0 -10
  130. package/dist/lib/formatContentBlock.d.ts.map +0 -1
  131. package/dist/lib/formatContentBlock.js +0 -69
  132. package/dist/lib/formatContentBlock.js.map +0 -1
  133. package/dist/lib/getClaudeVersion.d.ts +0 -2
  134. package/dist/lib/getClaudeVersion.d.ts.map +0 -1
  135. package/dist/lib/getClaudeVersion.js +0 -17
  136. package/dist/lib/getClaudeVersion.js.map +0 -1
  137. package/dist/lib/getClaudeVersion.test.d.ts +0 -2
  138. package/dist/lib/getClaudeVersion.test.d.ts.map +0 -1
  139. package/dist/lib/getClaudeVersion.test.js +0 -39
  140. package/dist/lib/getClaudeVersion.test.js.map +0 -1
  141. package/dist/lib/getNextLogFile.d.ts +0 -12
  142. package/dist/lib/getNextLogFile.d.ts.map +0 -1
  143. package/dist/lib/getNextLogFile.js +0 -52
  144. package/dist/lib/getNextLogFile.js.map +0 -1
  145. package/dist/lib/getNextLogFile.test.d.ts +0 -2
  146. package/dist/lib/getNextLogFile.test.d.ts.map +0 -1
  147. package/dist/lib/getNextLogFile.test.js +0 -65
  148. package/dist/lib/getNextLogFile.test.js.map +0 -1
  149. package/dist/lib/getOpenIssueCount.d.ts +0 -11
  150. package/dist/lib/getOpenIssueCount.d.ts.map +0 -1
  151. package/dist/lib/getOpenIssueCount.js +0 -31
  152. package/dist/lib/getOpenIssueCount.js.map +0 -1
  153. package/dist/lib/getOpenIssueCount.test.d.ts +0 -2
  154. package/dist/lib/getOpenIssueCount.test.d.ts.map +0 -1
  155. package/dist/lib/getOpenIssueCount.test.js +0 -65
  156. package/dist/lib/getOpenIssueCount.test.js.map +0 -1
  157. package/dist/lib/getProgress.d.ts +0 -34
  158. package/dist/lib/getProgress.d.ts.map +0 -1
  159. package/dist/lib/getProgress.js +0 -131
  160. package/dist/lib/getProgress.js.map +0 -1
  161. package/dist/lib/getProgress.test.d.ts +0 -2
  162. package/dist/lib/getProgress.test.d.ts.map +0 -1
  163. package/dist/lib/getProgress.test.js +0 -217
  164. package/dist/lib/getProgress.test.js.map +0 -1
  165. package/dist/lib/rel.d.ts +0 -2
  166. package/dist/lib/rel.d.ts.map +0 -1
  167. package/dist/lib/rel.js +0 -10
  168. package/dist/lib/rel.js.map +0 -1
  169. package/dist/lib/rel.test.d.ts +0 -2
  170. package/dist/lib/rel.test.d.ts.map +0 -1
  171. package/dist/lib/rel.test.js +0 -36
  172. package/dist/lib/rel.test.js.map +0 -1
  173. package/dist/lib/shortenTempPaths.d.ts +0 -2
  174. package/dist/lib/shortenTempPaths.d.ts.map +0 -1
  175. package/dist/lib/shortenTempPaths.js +0 -7
  176. package/dist/lib/shortenTempPaths.js.map +0 -1
  177. package/dist/lib/shortenTempPaths.test.d.ts +0 -2
  178. package/dist/lib/shortenTempPaths.test.d.ts.map +0 -1
  179. package/dist/lib/shortenTempPaths.test.js +0 -46
  180. package/dist/lib/shortenTempPaths.test.js.map +0 -1
  181. package/dist/lib/useTerminalSize.d.ts +0 -5
  182. package/dist/lib/useTerminalSize.d.ts.map +0 -1
  183. package/dist/lib/useTerminalSize.js +0 -21
  184. package/dist/lib/useTerminalSize.js.map +0 -1
  185. package/templates/prompt-beads.md +0 -44
  186. package/templates/prompt-todos.md +0 -17
  187. package/templates/todo.md +0 -9
@@ -1 +0,0 @@
1
- {"version":3,"file":"IterationRunner.js","sourceRoot":"","sources":["../../src/components/IterationRunner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC1D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AACzD,OAAO,OAAO,MAAM,aAAa,CAAA;AACjC,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC5E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACzD,OAAO,EAAE,KAAK,EAAmB,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,aAAa,EAAqB,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EACL,WAAW,EACX,sBAAsB,GAGvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAmC,MAAM,uBAAuB,CAAA;AAC1F,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,MAAM,GAAG,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;AAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAA;AAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;AAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;AAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAA;AAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;AAExC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAW,EAAE;IAC3C,2CAA2C;IAC3C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IAED,gDAAgD;IAChD,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IACtE,MAAM,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IAErD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,uCAAuC;IACvC,OAAO,oCAAoC,CAAA;AAC7C,CAAC,CAAA;AAED,kDAAkD;AAClD,MAAM,iBAAiB,GAAG,CAAC,OAAmB,EAAkC,EAAE;IAChF,0DAA0D;IAC1D,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzF,OAAO,OAA6C,CAAA;IACtD,CAAC;IACD,oDAAoD;IACpD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAOD,mEAAmE;AACnE,uFAAuF;AACvF,qFAAqF;AACrF,4CAA4C;AAC5C,MAAM,aAAa,GAAG,CAAC,MAAsC,EAAkB,EAAE;IAC/E,MAAM,MAAM,GAAmB,EAAE,CAAA;IAEjC,4EAA4E;IAC5E,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAA;IAE1E,oEAAoE;IACpE,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0C,CAAA;IACpE,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,KAAK,CAAC,OAA8C,CAAA;QACpE,MAAM,SAAS,GAAG,OAAO,EAAE,EAAwB,CAAA;QACnD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAqD,CAAA;QAE9E,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;YAC/B,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE;QACpF,kFAAkF;QAClF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;QACpC,MAAM,aAAa,GAAmC,EAAE,CAAA;QAExD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAc,CAAA;YACtC,IAAI,QAAgB,CAAA;YAEpB,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;gBAC7B,yCAAyC;gBACzC,QAAQ,GAAG,QAAQ,KAAK,CAAC,EAAE,EAAE,CAAA;YAC/B,CAAC;iBAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;gBAChC,6EAA6E;gBAC7E,6EAA6E;gBAC7E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAc,CAAA;gBACjC,IAAI,WAAW,GAAG,KAAK,CAAA;gBAEvB,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;oBACjC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;wBAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;wBACrC,6EAA6E;wBAC7E,2BAA2B;wBAC3B,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC9B,0CAA0C;4BAC1C,WAAW,GAAG,IAAI,CAAA;4BAClB,MAAK;wBACP,CAAC;6BAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACrC,kDAAkD;4BAClD,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;4BAC1B,iCAAiC;4BACjC,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;4BAClF,IAAI,GAAG,IAAI,CAAC;gCAAE,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;4BAC1C,MAAK;wBACP,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,WAAW;oBAAE,SAAQ;gBACzB,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAA;YAC3B,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAClC,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBACxB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QAED,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE;gBACP,EAAE,EAAE,SAAS;gBACb,OAAO,EAAE,aAAa;aACvB;SACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IAE3E,gEAAgE;IAChE,sEAAsE;IACtE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAA;IAC1C,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAA;IAE/C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,OAA8C,CAAA;YACpE,MAAM,SAAS,GAAI,OAAO,EAAE,EAAyB,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;YAC7E,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,KAAK,CAAC,OAA8C,CAAA;YACpE,MAAM,SAAS,GAAG,OAAO,EAAE,EAAwB,CAAA;YACnD,IAAI,SAAS,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvD,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBACpC,0CAA0C;gBAC1C,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;gBACtE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAS,EAAE,EAAE;IAChG,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAA;IACzB,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAA;IACrC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAiC,EAAE,CAAC,CAAA;IACxE,MAAM,SAAS,GAAG,MAAM,CAAiC,EAAE,CAAC,CAAA;IAC5D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAU,CAAA;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC5C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAGpC,IAAI,CAAC,CAAA;IACf,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC1D,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAGhD,IAAI,CAAC,CAAA;IACf,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrD,MAAM,CAAC,eAAe,CAAC,GAAG,QAAQ,CAA8B,GAAG,EAAE,CAAC,sBAAsB,EAAE,CAAC,CAAA;IAC/F,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAe,GAAG,EAAE;QAClE,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAA;QACzC,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;QAC9D,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAA;IAC5E,CAAC,CAAC,CAAA;IACF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAuB,IAAI,CAAC,CAAA;IAC9E,MAAM,eAAe,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAA;IACzD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAC,uCAAuC;IACvF,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA,CAAC,0CAA0C;IAC1G,MAAM,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA,CAAC,mCAAmC;IAC7E,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA,CAAC,0CAA0C;IAC1F,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA,CAAC,mCAAmC;IAErE,0EAA0E;IAC1E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAe;QAC3D,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE;KAC/D,CAAC,CAAA;IACF,MAAM,iBAAiB,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAA;IACxD,MAAM,gBAAgB,GAAG,MAAM,CAAS,CAAC,CAAC,CAAA;IAC1C,kEAAkE;IAClE,MAAM,eAAe,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAA;IACzD,gFAAgF;IAChF,MAAM,UAAU,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAA;IAE9C,qDAAqD;IACrD,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAA;IAEzD,kCAAkC;IAClC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,eAAe,CAAC,KAAK,CAAC,CAAA;YACtB,WAAW,CAAC,EAAE,CAAC,CAAA;YACf,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,OAAO,CAAC,OAAO,CAAC,CAAA;YAChB,cAAc,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;YACpD,WAAW,CAAC,EAAE,CAAC,CAAA;YACf,eAAe,CAAC,KAAK,CAAC,CAAA;YACtB,wCAAwC;YACxC,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;QAC9C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,cAAc,CAAC;gBACb,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aAChF,CAAC,CAAA;YACF,WAAW,CAAC,EAAE,CAAC,CAAA;YACf,eAAe,CAAC,KAAK,CAAC,CAAA;YACtB,sCAAsC;YACtC,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC,CAAA;IAED,6CAA6C;IAC7C,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAE,EAAE;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,kBAAkB,CAAC,EAAE,CAAC,CAAA;YACtB,OAAM;QACR,CAAC;QAED,uDAAuD;QACvD,IAAI,eAAe,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAA;YAC9C,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAEzC,kDAAkD;YAClD,MAAM,YAAY,GAAG;gBACnB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,EAAE,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE;oBACjC,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iBAC3C;aACF,CAAA;YACD,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAA;YAE1C,4EAA4E;QAC9E,CAAC;aAAM,CAAC;YACN,oBAAoB,CAAC;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,gDAAgD;aACvD,CAAC,CAAA;QACJ,CAAC;QAED,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACtB,uCAAuC;QACvC,UAAU,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IACpD,CAAC,CAAA;IAED,yFAAyF;IACzF,QAAQ,CACN,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACb,yDAAyD;QACzD,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;YAC7C,eAAe,CAAC,IAAI,CAAC,CAAA;YACrB,WAAW,CAAC,EAAE,CAAC,CAAA;YACf,cAAc,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;QACD,iDAAiD;QACjD,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,SAAS,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChE,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;QACD,+BAA+B;QAC/B,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,IAAI,QAAQ,EAAE,CAAC;gBACb,wEAAwE;gBACxE,WAAW,CAAC,KAAK,CAAC,CAAA;gBAClB,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,UAAU,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;gBACxD,CAAC;YACH,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACrB,wCAAwC;gBACxC,WAAW,CAAC,IAAI,CAAC,CAAA;YACnB,CAAC;QACH,CAAC;QACD,8BAA8B;QAC9B,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,YAAY,EAAE,CAAC;gBACjB,oBAAoB;gBACpB,eAAe,CAAC,KAAK,CAAC,CAAA;gBACtB,WAAW,CAAC,EAAE,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;IACH,CAAC,EACD,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CACnC,CAAA;IAED,6DAA6D;IAC7D,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,OAAO,GAAG,MAAM,CAAA;IAC5B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,6EAA6E;IAC7E,SAAS,CAAC,GAAG,EAAE;QACb,mBAAmB,CAAC,OAAO,GAAG,gBAAgB,CAAA;IAChD,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAEtB,qEAAqE;IACrE,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAA;IAChC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,+DAA+D;IAC/D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS,IAAI,eAAe,EAAE,CAAC;YAClC,eAAe,CAAC,WAAW,CAAC,eAAe,CAAC,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAA;QACvF,CAAC;IACH,CAAC,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAA;IAElD,qFAAqF;IACrF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe;YAAE,OAAM;QAE1C,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;YACpC,eAAe,CAAC,WAAW,CAAC,eAAe,CAAC,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAA;QACvF,CAAC,EAAE,IAAI,CAAC,CAAA,CAAC,uBAAuB;QAEhC,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;IAC1C,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAA;IAEhC,0CAA0C;IAC1C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU;YAAE,OAAM;QAEvB,gCAAgC;QAChC,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE;YACxC,gBAAgB,CAAC,KAAK,CAAC,CAAA;YACvB,iDAAiD;YACjD,6DAA6D;YAC7D,IAAI,eAAe,EAAE,CAAC;gBACpB,eAAe,CAAC,WAAW,CAAC,eAAe,CAAC,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAA;YACvF,CAAC;YACD,sDAAsD;YACtD,UAAU,CAAC,GAAG,EAAE;gBACd,aAAa,CAAC,KAAK,CAAC,CAAA;gBACpB,gBAAgB,CAAC,IAAI,CAAC,CAAA;gBACtB,sCAAsC;gBACtC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;gBACjC,mDAAmD;gBACnD,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC/B,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC3B,CAAC,EAAE,IAAI,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;QAEF,eAAe,CAAC,OAAO,GAAG,OAAO,CAAA;QAEjC,OAAO,GAAG,EAAE;YACV,OAAO,EAAE,CAAA;YACT,eAAe,CAAC,OAAO,GAAG,IAAI,CAAA;QAChC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAA;IAEjC,gDAAgD;IAChD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAiB,EAAE,CAAA;QAEjC,kDAAkD;QAClD,IAAI,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,gBAAgB;gBAC3B,GAAG,EAAE,aAAa,gBAAgB,EAAE;aACrC,CAAC,CAAA;YACF,gBAAgB,CAAC,OAAO,GAAG,gBAAgB,CAAA;QAC7C,CAAC;QAED,qCAAqC;QACrC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QAEpC,oDAAoD;QACpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,sEAAsE;YACtE,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAA;YAEzB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7C,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAA;YACxD,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAA;QAChD,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAE9B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,gBAAgB,GAAG,eAAe,EAAE,CAAC;YACvC,IAAI,EAAE,CAAA;YACN,OAAM;QACR,CAAC;QAED,iEAAiE;QACjE,sEAAsE;QACtE,MAAM,eAAe,GACnB,eAAe,CAAC,CAAC;YACf,WAAW,CAAC,eAAe,CAAC,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC;YACtE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;QACrD,qDAAqD;QACrD,IAAI,eAAe,CAAC,SAAS,IAAI,eAAe,CAAC,KAAK,IAAI,eAAe,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1F,0DAA0D;YAC1D,IAAI,KAAK,EAAE,CAAC;gBACV,aAAa,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;iBAAM,CAAC;gBACN,IAAI,EAAE,CAAA;gBACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,OAAM;QACR,CAAC;QAED,+CAA+C;QAC/C,+DAA+D;QAC/D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,UAAU,CAAC,OAAO,GAAG,cAAc,EAAE,CAAA;YACrC,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QACvC,CAAC;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;QAClC,SAAS,CAAC,EAAE,CAAC,CAAA;QAEb,mEAAmE;QACnE,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;QACxC,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;QACvC,cAAc,CAAC,UAAU,CAAC,CAAA;QAC1B,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACrE,MAAM,WAAW,GAAG,kBAAkB,gBAAgB,MAAM,CAAA;QAC5D,MAAM,UAAU,GACd,WAAW,CAAC,CAAC;YACX,GAAG,WAAW,GAAG,aAAa,+BAA+B,WAAW,EAAE;YAC5E,CAAC,CAAC,GAAG,WAAW,GAAG,aAAa,EAAE,CAAA;QAEpC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QAC7C,YAAY,CAAC,IAAI,CAAC,CAAA;QAElB,4CAA4C;QAC5C,oEAAoE;QACpE,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;QACvC,eAAe,CAAC,OAAO,GAAG,YAAY,CAAA;QAEtC,+CAA+C;QAC/C,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAA;QAEhD,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,IAAI,WAAW,GAAG,EAAE,CAAA;YACpB,GAAG,CAAC,sBAAsB,gBAAgB,EAAE,CAAC,CAAA;YAE7C,IAAI,CAAC;gBACH,GAAG,CAAC,wBAAwB,CAAC,CAAA;gBAC7B,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,KAAK,CAAC;oBAChC,MAAM,EAAE,YAAY;oBACpB,OAAO,EAAE;wBACP,eAAe;wBACf,cAAc,EAAE,mBAAmB;wBACnC,+BAA+B,EAAE,IAAI;wBACrC,sBAAsB,EAAE,IAAI;wBAC5B,GAAG,EAAE;4BACH,GAAG,OAAO,CAAC,GAAG;4BACd,yEAAyE;4BACzE,eAAe,EAAE,GAAG;yBACrB;qBACF;iBACF,CAAC,EAAE,CAAC;oBACH,GAAG,CAAC,0BAA0B,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;oBAC7C,oEAAoE;oBACpE,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;oBAEvD,sCAAsC;oBACtC,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAA;oBACxC,IAAI,KAAK,EAAE,CAAC;wBACV,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;oBACrC,CAAC;oBAED,mCAAmC;oBACnC,IACE,OAAO,CAAC,IAAI,KAAK,QAAQ;wBACzB,QAAQ,IAAI,OAAO;wBACnB,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAClC,CAAC;wBACD,GAAG,CAAC,yBAAyB,CAAC,CAAA;wBAC9B,WAAW,GAAG,OAAO,CAAC,MAAM,CAAA;wBAC5B,8DAA8D;wBAC9D,mEAAmE;wBACnE,iEAAiE;wBACjE,qEAAqE;wBACrE,oEAAoE;wBACpE,GAAG,CAAC,iCAAiC,CAAC,CAAA;wBACtC,YAAY,CAAC,KAAK,EAAE,CAAA;oBACtB,CAAC;gBACH,CAAC;gBAED,GAAG,CAAC,iCAAiC,CAAC,CAAA;gBACtC,YAAY,CAAC,KAAK,CAAC,CAAA;gBACnB,6EAA6E;gBAC7E,0EAA0E;gBAC1E,GAAG,CAAC,kCAAkC,CAAC,CAAA;gBACvC,YAAY,CAAC,KAAK,EAAE,CAAA;gBACpB,eAAe,CAAC,OAAO,GAAG,IAAI,CAAA;gBAE9B,uCAAuC;gBACvC,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC;oBAChC,GAAG,CAAC,mDAAmD,CAAC,CAAA;oBACxD,IAAI,EAAE,CAAA;oBACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBACf,OAAM;gBACR,CAAC;gBAED,uBAAuB;gBACvB,IAAI,WAAW,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC;oBACxD,IAAI,KAAK,EAAE,CAAC;wBACV,sCAAsC;wBACtC,aAAa,CAAC,IAAI,CAAC,CAAA;oBACrB,CAAC;yBAAM,CAAC;wBACN,IAAI,EAAE,CAAA;wBACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBACjB,CAAC;oBACD,OAAM;gBACR,CAAC;gBAED,qEAAqE;gBACrE,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxB,GAAG,CAAC,0BAA0B,gBAAgB,EAAE,CAAC,CAAA;oBACjD,6EAA6E;oBAC7E,OAAM;gBACR,CAAC;gBAED,yBAAyB;gBACzB,UAAU,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACxD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC9E,YAAY,CAAC,KAAK,CAAC,CAAA;gBACnB,GAAG,CAAC,mCAAmC,CAAC,CAAA;gBACxC,YAAY,CAAC,KAAK,EAAE,CAAA;gBACpB,eAAe,CAAC,OAAO,GAAG,IAAI,CAAA;gBAC9B,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnC,GAAG,CAAC,uBAAuB,CAAC,CAAA;oBAC5B,OAAM,CAAC,wBAAwB;gBACjC,CAAC;gBACD,QAAQ,CAAC,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACrF,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,EAAE,CAAA;oBACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACjB,CAAC,EAAE,GAAG,CAAC,CAAA;YACT,CAAC;QACH,CAAC,CAAA;QAED,QAAQ,EAAE,CAAA;QAEV,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,qDAAqD,gBAAgB,EAAE,CAAC,CAAA;YAC5E,eAAe,CAAC,KAAK,EAAE,CAAA;YACvB,YAAY,CAAC,KAAK,EAAE,CAAA;YACpB,eAAe,CAAC,OAAO,GAAG,IAAI,CAAA;QAChC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,gBAAgB,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA;IAEhE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;YACzB,oBAAC,IAAI,IAAC,KAAK,EAAC,KAAK,IAAE,KAAK,CAAQ,CAC5B,CACP,CAAA;IACH,CAAC;IAED,oEAAoE;IACpE,MAAM,gBAAgB,GAAG,CAAC,IAAgB,EAAE,EAAE;QAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,oBAAC,MAAM,IAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,GAAI,CAAA;QACvF,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC;gBACtC,oBAAC,QAAQ,IAAC,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;oBACtC,oBAAC,OAAO,IAAC,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAC,MAAM,GAAG,CAC1C,CACP,CACP,CAAA;QACH,CAAC;QACD,gBAAgB;QAChB,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5C,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,IACxC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,oBAAC,IAAI,IAAC,GAAG,EAAE,CAAC,IAAG,IAAI,IAAI,GAAG,CAAQ,CACnC,CAAC,CACE,CACP,CAAA;IACH,CAAC,CAAA;IAED,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QAEzB,oBAAC,MAAM,IAAC,KAAK,EAAE,WAAW,IACvB,IAAI,CAAC,EAAE,CAAC,CACP,oBAAC,GAAG,IAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,aAAa,EAAC,QAAQ,IACvC,gBAAgB,CAAC,IAAI,CAAC,CACnB,CACP,CACM;QAGR,YAAY,IAAI,CACf,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC;YACtC,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAa;YACjC,oBAAC,iBAAiB,IAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,GAAI;YACzF,oBAAC,IAAI,IAAC,QAAQ,0CAAqC,CAC/C,CACP;QAGA,WAAW,IAAI,CACd,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;YACf,oBAAC,IAAI,IAAC,KAAK,EAAE,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAG,WAAW,CAAC,IAAI,CAAQ,CACpF,CACP;QAGA,CAAC,UAAU,IAAI,CACd,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC;YACtC,oBAAC,IAAI,IAAC,QAAQ,UAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAQ;YAC3C,oBAAC,GAAG;gBACF,oBAAC,IAAI,IAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,cAAW;gBACrD,oBAAC,iBAAiB,IAChB,KAAK,EAAE,eAAe,EACtB,WAAW,EACT,SAAS,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,+BAA+B,EAE7E,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,uBAAuB,EACjC,KAAK,EAAE,SAAS,IAAI,CAAC,YAAY,GACjC,CACE;YACL,iBAAiB,IAAI,CACpB,oBAAC,IAAI,IACH,KAAK,EACH,iBAAiB,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO;oBAC9C,CAAC,CAAC,iBAAiB,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;wBACpC,KAAK;wBACP,CAAC,CAAC,QAAQ,IAGX,iBAAiB,CAAC,IAAI,CAClB,CACR;YACD,oBAAC,IAAI,IAAC,QAAQ,UAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAQ,CACvC,CACP;QAGD,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,cAAc,EAAC,eAAe;YAC9C,UAAU,CAAC,CAAC;gBACX,aAAa,CAAC,CAAC;oBACb,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;wBACjB,oBAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG;;wBAAY,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,IAAE,aAAa,CAAC,OAAO,CAAQ;wBACrF,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAClD;oBACT,CAAC,CAAC,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM;;wBACO,oBAAC,OAAO,IAAC,IAAI,EAAC,qBAAqB,GAAG,CACxD;gBAEX,CAAC,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,CAAC;oBACxB,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;wBACE,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,IAAE,gBAAgB,CAAQ;wBAAC,GAAG;wBACvE,oBAAC,IAAI,IAAC,QAAQ,+BAA0B,CACnC;oBACT,CAAC,CAAC,SAAS,CAAC,CAAC;wBACX,gBAAgB,CAAC,CAAC;4BAChB,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ;gCAClB,oBAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG;;gCAAsB,GAAG;gCAChD,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,IAAE,gBAAgB,CAAQ;;gCAAc,GAAG;gCAC/D,oBAAC,IAAI,IAAC,QAAQ,6BAAwB,CACjC;4BACT,CAAC,CAAC,QAAQ,CAAC,CAAC;gCACV,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;oCACnB,oBAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG;;oCAAqB,GAAG;oCAC/C,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,IAAE,gBAAgB,CAAQ;;oCAAc,GAAG;oCAC/D,oBAAC,IAAI,IAAC,QAAQ,6BAAwB,CACjC;gCACT,CAAC,CAAC,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM;oCAChB,oBAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG;;oCAAe,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,IAAE,gBAAgB,CAAQ;oCAAC,GAAG;;oCAClF,eAAe;wCAChB;wBAEX,CAAC,CAAC,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM;4BAChB,oBAAC,OAAO,IAAC,IAAI,EAAC,qBAAqB,GAAG;6DACjC;YAER,YAAY,CAAC,IAAI,KAAK,MAAM,IAAI,YAAY,CAAC,KAAK,GAAG,CAAC,IAAI,CACzD,oBAAC,WAAW,IACV,SAAS,EAAE,YAAY,CAAC,SAAS,EACjC,KAAK,EAAE,YAAY,CAAC,KAAK,EACzB,QAAQ,EAAE,QAAQ,GAClB,CACH,CACG,CACF,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=IterationRunner.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IterationRunner.test.d.ts","sourceRoot":"","sources":["../../src/components/IterationRunner.test.tsx"],"names":[],"mappings":""}
@@ -1,129 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
2
- import { existsSync, readFileSync } from "fs";
3
- // Note: Full integration testing of IterationRunner would require:
4
- // 1. Mocking child_process.spawn to simulate Claude CLI
5
- // 2. Mocking file system operations
6
- // 3. Testing React component rendering with ink-testing-library
7
- //
8
- // These tests focus on the getPromptContent logic which is the
9
- // most testable pure function in the module.
10
- // We'll test the logic by importing and mocking fs
11
- vi.mock("fs", () => ({
12
- existsSync: vi.fn(),
13
- readFileSync: vi.fn(),
14
- appendFileSync: vi.fn(),
15
- writeFileSync: vi.fn(),
16
- mkdirSync: vi.fn(),
17
- }));
18
- describe("IterationRunner prompt content", () => {
19
- beforeEach(() => {
20
- vi.clearAllMocks();
21
- });
22
- afterEach(() => {
23
- vi.restoreAllMocks();
24
- });
25
- // Import the function after mocking fs
26
- const getGetPromptContent = async () => {
27
- // Reset module cache to get fresh import with mocks
28
- vi.resetModules();
29
- const module = await import("./IterationRunner.js");
30
- return module.getPromptContent;
31
- };
32
- it("returns content from .ralph/prompt.md when it exists", async () => {
33
- const mockExistsSync = existsSync;
34
- const mockReadFileSync = readFileSync;
35
- mockExistsSync.mockImplementation((path) => {
36
- return path.includes(".ralph/prompt.md") || path.includes(".ralph\\prompt.md");
37
- });
38
- mockReadFileSync.mockReturnValue("Custom prompt content");
39
- const getPromptContent = await getGetPromptContent();
40
- const content = getPromptContent();
41
- expect(content).toBe("Custom prompt content");
42
- });
43
- it("falls back to prompt-beads.md when .beads directory exists", async () => {
44
- const mockExistsSync = existsSync;
45
- const mockReadFileSync = readFileSync;
46
- mockExistsSync.mockImplementation((path) => {
47
- // .ralph/prompt.md doesn't exist
48
- if (path.includes("prompt.md") && path.includes(".ralph"))
49
- return false;
50
- // .beads directory exists
51
- if (path.includes(".beads"))
52
- return true;
53
- // Template file exists
54
- if (path.includes("prompt-beads.md"))
55
- return true;
56
- return false;
57
- });
58
- mockReadFileSync.mockReturnValue("Beads template content");
59
- const getPromptContent = await getGetPromptContent();
60
- const content = getPromptContent();
61
- expect(content).toBe("Beads template content");
62
- });
63
- it("falls back to prompt-todos.md template when .ralph/todo.md exists", async () => {
64
- const mockExistsSync = existsSync;
65
- const mockReadFileSync = readFileSync;
66
- mockExistsSync.mockImplementation((path) => {
67
- // .ralph/prompt.md doesn't exist
68
- if (path.includes("prompt.md") && path.includes(".ralph"))
69
- return false;
70
- // .beads directory doesn't exist
71
- if (path.includes(".beads"))
72
- return false;
73
- // .ralph/todo.md exists
74
- if (path.includes("todo.md") && path.includes(".ralph"))
75
- return true;
76
- // Template files exist
77
- if (path.includes("templates") && path.includes("prompt-todos.md"))
78
- return true;
79
- return false;
80
- });
81
- mockReadFileSync.mockReturnValue("Todo template content");
82
- const getPromptContent = await getGetPromptContent();
83
- const content = getPromptContent();
84
- expect(content).toBe("Todo template content");
85
- });
86
- });
87
- // Note: For comprehensive integration tests, you would want to:
88
- //
89
- // 1. Test child process spawning:
90
- // - Mock spawn() to return a fake ChildProcess
91
- // - Emit data events to simulate Claude output
92
- // - Test JSON parsing of events
93
- // - Test COMPLETE promise detection
94
- // - Test exit code handling
95
- //
96
- // 2. Test file operations:
97
- // - Mock appendFileSync/writeFileSync
98
- // - Verify events are logged correctly
99
- // - Test log file creation
100
- //
101
- // 3. Test React rendering:
102
- // - Use ink-testing-library to render component
103
- // - Test initialization prompts
104
- // - Test error display
105
- // - Test iteration counter
106
- //
107
- // Example structure for a full integration test:
108
- //
109
- // import { render } from 'ink-testing-library'
110
- // import { EventEmitter } from 'events'
111
- //
112
- // vi.mock('child_process', () => ({
113
- // spawn: vi.fn(() => {
114
- // const mockProcess = new EventEmitter()
115
- // mockProcess.stdout = new EventEmitter()
116
- // mockProcess.kill = vi.fn()
117
- // return mockProcess
118
- // })
119
- // }))
120
- //
121
- // it('parses streaming JSON events', () => {
122
- // const { lastFrame } = render(<IterationRunner totalIterations={1} />)
123
- // const mockChild = getLastSpawnedProcess()
124
- //
125
- // mockChild.stdout.emit('data', Buffer.from('{"type":"assistant"}\n'))
126
- //
127
- // expect(lastFrame()).toContain('expected output')
128
- // })
129
- //# sourceMappingURL=IterationRunner.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IterationRunner.test.js","sourceRoot":"","sources":["../../src/components/IterationRunner.test.tsx"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import React from "react";
2
- /**
3
- * Get the prompt content, falling back to templates if .ralph/prompt.md doesn't exist.
4
- * Uses the appropriate template based on the project setup:
5
- * - If .beads directory exists OR no .ralph/todo.md: use prompt-beads.md
6
- * - If .ralph/todo.md exists: use prompt-todos.md (todo-based workflow)
7
- */
8
- export declare const getPromptContent: () => string;
9
- export declare const JsonOutput: ({ totalIterations }: Props) => React.JSX.Element;
10
- type Props = {
11
- totalIterations: number;
12
- };
13
- export {};
14
- //# sourceMappingURL=JsonOutput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JsonOutput.d.ts","sourceRoot":"","sources":["../../src/components/JsonOutput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAsB1D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,QAAO,MAiBnC,CAAA;AAOD,eAAO,MAAM,UAAU,GAAI,qBAAqB,KAAK,sBAsOpD,CAAA;AAED,KAAK,KAAK,GAAG;IACX,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA"}
@@ -1,246 +0,0 @@
1
- import React, { useState, useEffect, useRef } from "react";
2
- import { useApp, Text } from "ink";
3
- import { writeFileSync, readFileSync, existsSync } from "fs";
4
- import { join, dirname, basename } from "path";
5
- import { fileURLToPath } from "url";
6
- const __dirname = dirname(fileURLToPath(import.meta.url));
7
- import { query } from "@anthropic-ai/claude-agent-sdk";
8
- import { MessageQueue, createUserMessage } from "../lib/MessageQueue.js";
9
- import { getProgress, captureStartupSnapshot } from "../lib/getProgress.js";
10
- import { createDebugLogger } from "../lib/debug.js";
11
- import { getNextLogFile } from "../lib/getNextLogFile.js";
12
- import { createStdinCommandHandler } from "../lib/StdinCommandHandler.js";
13
- const log = createDebugLogger("iteration");
14
- const ralphDir = join(process.cwd(), ".ralph");
15
- const promptFile = join(ralphDir, "prompt.md");
16
- const todoFile = join(ralphDir, "todo.md");
17
- const beadsDir = join(process.cwd(), ".beads");
18
- const templatesDir = join(__dirname, "..", "..", "templates");
19
- const repoName = basename(process.cwd());
20
- /**
21
- * Get the prompt content, falling back to templates if .ralph/prompt.md doesn't exist.
22
- * Uses the appropriate template based on the project setup:
23
- * - If .beads directory exists OR no .ralph/todo.md: use prompt-beads.md
24
- * - If .ralph/todo.md exists: use prompt-todos.md (todo-based workflow)
25
- */
26
- export const getPromptContent = () => {
27
- // First, try to read from .ralph/prompt.md
28
- if (existsSync(promptFile)) {
29
- return readFileSync(promptFile, "utf-8");
30
- }
31
- // Fall back to templates based on project setup
32
- const useBeadsTemplate = existsSync(beadsDir) || !existsSync(todoFile);
33
- const templateFile = useBeadsTemplate ? "prompt-beads.md" : "prompt-todos.md";
34
- const templatePath = join(templatesDir, templateFile);
35
- if (existsSync(templatePath)) {
36
- return readFileSync(templatePath, "utf-8");
37
- }
38
- // Last resort: return a minimal prompt
39
- return "Work on the highest-priority task.";
40
- };
41
- // Output an event as newline-delimited JSON to stdout
42
- const outputEvent = (event) => {
43
- process.stdout.write(JSON.stringify(event) + "\n");
44
- };
45
- export const JsonOutput = ({ totalIterations }) => {
46
- const { exit } = useApp();
47
- const [currentIteration, setCurrentIteration] = useState(1);
48
- const [error, setError] = useState();
49
- const [isRunning, setIsRunning] = useState(false);
50
- const [startupSnapshot] = useState(() => captureStartupSnapshot());
51
- const messageQueueRef = useRef(null);
52
- // Log file path for this run (set once at startup, persisted across iterations)
53
- const logFileRef = useRef(null);
54
- const [stopAfterCurrent, setStopAfterCurrent] = useState(false); // Stop gracefully after current iteration
55
- const stopAfterCurrentRef = useRef(false); // Ref to access in async callbacks
56
- const [isPaused, setIsPaused] = useState(false); // Pause after current iteration completes
57
- const isPausedRef = useRef(false); // Ref to access in async callbacks
58
- const stdinCleanupRef = useRef(null);
59
- // Keep stopAfterCurrent ref in sync with state
60
- useEffect(() => {
61
- stopAfterCurrentRef.current = stopAfterCurrent;
62
- }, [stopAfterCurrent]);
63
- // Keep isPaused ref in sync with state
64
- useEffect(() => {
65
- isPausedRef.current = isPaused;
66
- }, [isPaused]);
67
- // Set up stdin command handler for receiving commands via piped input
68
- useEffect(() => {
69
- const cleanup = createStdinCommandHandler(() => ({
70
- messageQueue: messageQueueRef.current,
71
- onStop: () => {
72
- setStopAfterCurrent(true);
73
- outputEvent({ type: "ralph_stop_requested" });
74
- },
75
- onPause: () => {
76
- setIsPaused(true);
77
- outputEvent({ type: "ralph_pause_requested" });
78
- },
79
- onResume: () => {
80
- const wasPaused = isPausedRef.current;
81
- setIsPaused(false);
82
- outputEvent({ type: "ralph_resumed" });
83
- // If we were paused between iterations, trigger the next iteration
84
- if (wasPaused && !isRunning) {
85
- setTimeout(() => setCurrentIteration(i => i + 1), 100);
86
- }
87
- },
88
- onMessage: (text) => {
89
- // Output event showing we received a message command
90
- outputEvent({
91
- type: "ralph_message_received",
92
- text: text.slice(0, 100) + (text.length > 100 ? "..." : ""),
93
- });
94
- },
95
- }));
96
- stdinCleanupRef.current = cleanup;
97
- return () => {
98
- cleanup();
99
- stdinCleanupRef.current = null;
100
- };
101
- }, []);
102
- useEffect(() => {
103
- if (currentIteration > totalIterations) {
104
- outputEvent({ type: "ralph_exit", reason: "max_iterations" });
105
- exit();
106
- return;
107
- }
108
- // Check if there are any tasks available before starting a round
109
- const currentProgress = startupSnapshot ?
110
- getProgress(startupSnapshot.initialCount, startupSnapshot.timestamp)
111
- : { type: "none", completed: 0, total: 0 };
112
- // All tasks are complete when completed equals total
113
- if (currentProgress.completed >= currentProgress.total && currentProgress.type !== "none") {
114
- outputEvent({ type: "ralph_exit", reason: "all_tasks_complete" });
115
- exit();
116
- process.exit(0);
117
- return;
118
- }
119
- // Get or create the log file path for this run
120
- // Only create a new sequential log file on the first iteration
121
- if (!logFileRef.current) {
122
- logFileRef.current = getNextLogFile();
123
- writeFileSync(logFileRef.current, "");
124
- }
125
- // Read prompt (from .ralph/prompt.md or falling back to templates)
126
- const promptContent = getPromptContent();
127
- const todoExists = existsSync(todoFile);
128
- const todoContent = todoExists ? readFileSync(todoFile, "utf-8") : "";
129
- const fullPrompt = todoContent ? `${promptContent}\n\n## Current Todo List\n\n${todoContent}` : promptContent;
130
- const abortController = new AbortController();
131
- setIsRunning(true);
132
- // Output iteration start event
133
- outputEvent({
134
- type: "ralph_iteration_start",
135
- iteration: currentIteration,
136
- totalIterations,
137
- repo: repoName,
138
- });
139
- // Create a message queue for this iteration
140
- const messageQueue = new MessageQueue();
141
- messageQueueRef.current = messageQueue;
142
- // Push the initial prompt as the first message
143
- messageQueue.push(createUserMessage(fullPrompt));
144
- const runQuery = async () => {
145
- let finalResult = "";
146
- log(`Starting iteration ${currentIteration}`);
147
- try {
148
- log(`Beginning query() loop`);
149
- for await (const message of query({
150
- prompt: messageQueue,
151
- options: {
152
- abortController,
153
- permissionMode: "bypassPermissions",
154
- allowDangerouslySkipPermissions: true,
155
- includePartialMessages: false, // Only complete messages for JSON output
156
- env: {
157
- ...process.env,
158
- // Disable LSP plugins to avoid crashes when TypeScript LSP server errors
159
- ENABLE_LSP_TOOL: "0",
160
- },
161
- },
162
- })) {
163
- log(`Received message type: ${message.type}`);
164
- // Output the raw SDK message as JSON
165
- outputEvent(message);
166
- // Capture the final result message
167
- if (message.type === "result" &&
168
- "result" in message &&
169
- typeof message.result === "string") {
170
- log(`Received result message`);
171
- finalResult = message.result;
172
- // Close the message queue immediately when we get the result.
173
- log(`Closing message queue on result`);
174
- messageQueue.close();
175
- }
176
- }
177
- log(`query() loop completed normally`);
178
- setIsRunning(false);
179
- log(`Ensuring message queue is closed`);
180
- messageQueue.close();
181
- messageQueueRef.current = null;
182
- // Output iteration end event
183
- outputEvent({
184
- type: "ralph_iteration_end",
185
- iteration: currentIteration,
186
- });
187
- // Check for stop-after-current request
188
- if (stopAfterCurrentRef.current) {
189
- log(`Stop after current requested - exiting gracefully`);
190
- outputEvent({ type: "ralph_exit", reason: "stop_requested" });
191
- exit();
192
- process.exit(0);
193
- return;
194
- }
195
- // Check for completion
196
- if (finalResult.includes("<promise>COMPLETE</promise>")) {
197
- outputEvent({ type: "ralph_exit", reason: "task_complete" });
198
- exit();
199
- process.exit(0);
200
- return;
201
- }
202
- // Check for pause request - if paused, we wait for resume via stdin
203
- if (isPausedRef.current) {
204
- log(`Paused after iteration ${currentIteration}`);
205
- outputEvent({ type: "ralph_paused", iteration: currentIteration });
206
- // Don't move to next iteration - the resume handler will trigger it
207
- return;
208
- }
209
- // Move to next iteration
210
- setTimeout(() => setCurrentIteration(i => i + 1), 500);
211
- }
212
- catch (err) {
213
- log(`query() loop error: ${err instanceof Error ? err.message : String(err)}`);
214
- setIsRunning(false);
215
- log(`Closing message queue after error`);
216
- messageQueue.close();
217
- messageQueueRef.current = null;
218
- if (abortController.signal.aborted) {
219
- log(`Abort signal detected`);
220
- return; // Intentionally aborted
221
- }
222
- const errorMsg = `Error running Claude: ${err instanceof Error ? err.message : String(err)}`;
223
- setError(errorMsg);
224
- outputEvent({ type: "ralph_error", error: errorMsg });
225
- setTimeout(() => {
226
- exit();
227
- process.exit(1);
228
- }, 100);
229
- }
230
- };
231
- runQuery();
232
- return () => {
233
- log(`Cleanup: aborting and closing queue for iteration ${currentIteration}`);
234
- abortController.abort();
235
- messageQueue.close();
236
- messageQueueRef.current = null;
237
- };
238
- }, [currentIteration, totalIterations, exit, startupSnapshot]);
239
- // In JSON mode, we output to stdout, so no visual rendering needed
240
- // Just return an empty component (Ink requires something to render)
241
- if (error) {
242
- return React.createElement(Text, null, "");
243
- }
244
- return React.createElement(Text, null, "");
245
- };
246
- //# sourceMappingURL=JsonOutput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JsonOutput.js","sourceRoot":"","sources":["../../src/components/JsonOutput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACzD,OAAO,EAAE,KAAK,EAAmB,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAwB,MAAM,uBAAuB,CAAA;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAEzE,MAAM,GAAG,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;AAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAA;AAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;AAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;AAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAA;AAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;AAExC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAW,EAAE;IAC3C,2CAA2C;IAC3C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IAED,gDAAgD;IAChD,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IACtE,MAAM,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IAErD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,uCAAuC;IACvC,OAAO,oCAAoC,CAAA;AAC7C,CAAC,CAAA;AAED,sDAAsD;AACtD,MAAM,WAAW,GAAG,CAAC,KAA8B,EAAE,EAAE;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;AACpD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,eAAe,EAAS,EAAE,EAAE;IACvD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAA;IACzB,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAU,CAAA;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,CAAC,eAAe,CAAC,GAAG,QAAQ,CAA8B,GAAG,EAAE,CAAC,sBAAsB,EAAE,CAAC,CAAA;IAC/F,MAAM,eAAe,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAA;IACzD,gFAAgF;IAChF,MAAM,UAAU,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAA;IAC9C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA,CAAC,0CAA0C;IAC1G,MAAM,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA,CAAC,mCAAmC;IAC7E,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA,CAAC,0CAA0C;IAC1F,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA,CAAC,mCAAmC;IACrE,MAAM,eAAe,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAA;IAEzD,+CAA+C;IAC/C,SAAS,CAAC,GAAG,EAAE;QACb,mBAAmB,CAAC,OAAO,GAAG,gBAAgB,CAAA;IAChD,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAEtB,uCAAuC;IACvC,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAA;IAChC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,sEAAsE;IACtE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,yBAAyB,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/C,YAAY,EAAE,eAAe,CAAC,OAAO;YACrC,MAAM,EAAE,GAAG,EAAE;gBACX,mBAAmB,CAAC,IAAI,CAAC,CAAA;gBACzB,WAAW,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAA;YAC/C,CAAC;YACD,OAAO,EAAE,GAAG,EAAE;gBACZ,WAAW,CAAC,IAAI,CAAC,CAAA;gBACjB,WAAW,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAA;YAChD,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAA;gBACrC,WAAW,CAAC,KAAK,CAAC,CAAA;gBAClB,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAA;gBACtC,mEAAmE;gBACnE,IAAI,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC5B,UAAU,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;gBACxD,CAAC;YACH,CAAC;YACD,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC1B,qDAAqD;gBACrD,WAAW,CAAC;oBACV,IAAI,EAAE,wBAAwB;oBAC9B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5D,CAAC,CAAA;YACJ,CAAC;SACF,CAAC,CAAC,CAAA;QACH,eAAe,CAAC,OAAO,GAAG,OAAO,CAAA;QAEjC,OAAO,GAAG,EAAE;YACV,OAAO,EAAE,CAAA;YACT,eAAe,CAAC,OAAO,GAAG,IAAI,CAAA;QAChC,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,gBAAgB,GAAG,eAAe,EAAE,CAAC;YACvC,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAA;YAC7D,IAAI,EAAE,CAAA;YACN,OAAM;QACR,CAAC;QAED,iEAAiE;QACjE,MAAM,eAAe,GACnB,eAAe,CAAC,CAAC;YACf,WAAW,CAAC,eAAe,CAAC,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC;YACtE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;QAErD,qDAAqD;QACrD,IAAI,eAAe,CAAC,SAAS,IAAI,eAAe,CAAC,KAAK,IAAI,eAAe,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1F,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAA;YACjE,IAAI,EAAE,CAAA;YACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACf,OAAM;QACR,CAAC;QAED,+CAA+C;QAC/C,+DAA+D;QAC/D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,UAAU,CAAC,OAAO,GAAG,cAAc,EAAE,CAAA;YACrC,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QACvC,CAAC;QAED,mEAAmE;QACnE,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;QACxC,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;QACvC,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACrE,MAAM,UAAU,GACd,WAAW,CAAC,CAAC,CAAC,GAAG,aAAa,+BAA+B,WAAW,EAAE,CAAC,CAAC,CAAC,aAAa,CAAA;QAE5F,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QAC7C,YAAY,CAAC,IAAI,CAAC,CAAA;QAElB,+BAA+B;QAC/B,WAAW,CAAC;YACV,IAAI,EAAE,uBAAuB;YAC7B,SAAS,EAAE,gBAAgB;YAC3B,eAAe;YACf,IAAI,EAAE,QAAQ;SACf,CAAC,CAAA;QAEF,4CAA4C;QAC5C,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;QACvC,eAAe,CAAC,OAAO,GAAG,YAAY,CAAA;QAEtC,+CAA+C;QAC/C,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAA;QAEhD,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,IAAI,WAAW,GAAG,EAAE,CAAA;YACpB,GAAG,CAAC,sBAAsB,gBAAgB,EAAE,CAAC,CAAA;YAE7C,IAAI,CAAC;gBACH,GAAG,CAAC,wBAAwB,CAAC,CAAA;gBAC7B,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,KAAK,CAAC;oBAChC,MAAM,EAAE,YAAY;oBACpB,OAAO,EAAE;wBACP,eAAe;wBACf,cAAc,EAAE,mBAAmB;wBACnC,+BAA+B,EAAE,IAAI;wBACrC,sBAAsB,EAAE,KAAK,EAAE,yCAAyC;wBACxE,GAAG,EAAE;4BACH,GAAG,OAAO,CAAC,GAAG;4BACd,yEAAyE;4BACzE,eAAe,EAAE,GAAG;yBACrB;qBACF;iBACF,CAAC,EAAE,CAAC;oBACH,GAAG,CAAC,0BAA0B,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;oBAE7C,qCAAqC;oBACrC,WAAW,CAAC,OAA6C,CAAC,CAAA;oBAE1D,mCAAmC;oBACnC,IACE,OAAO,CAAC,IAAI,KAAK,QAAQ;wBACzB,QAAQ,IAAI,OAAO;wBACnB,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAClC,CAAC;wBACD,GAAG,CAAC,yBAAyB,CAAC,CAAA;wBAC9B,WAAW,GAAG,OAAO,CAAC,MAAM,CAAA;wBAC5B,8DAA8D;wBAC9D,GAAG,CAAC,iCAAiC,CAAC,CAAA;wBACtC,YAAY,CAAC,KAAK,EAAE,CAAA;oBACtB,CAAC;gBACH,CAAC;gBAED,GAAG,CAAC,iCAAiC,CAAC,CAAA;gBACtC,YAAY,CAAC,KAAK,CAAC,CAAA;gBACnB,GAAG,CAAC,kCAAkC,CAAC,CAAA;gBACvC,YAAY,CAAC,KAAK,EAAE,CAAA;gBACpB,eAAe,CAAC,OAAO,GAAG,IAAI,CAAA;gBAE9B,6BAA6B;gBAC7B,WAAW,CAAC;oBACV,IAAI,EAAE,qBAAqB;oBAC3B,SAAS,EAAE,gBAAgB;iBAC5B,CAAC,CAAA;gBAEF,uCAAuC;gBACvC,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC;oBAChC,GAAG,CAAC,mDAAmD,CAAC,CAAA;oBACxD,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAA;oBAC7D,IAAI,EAAE,CAAA;oBACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBACf,OAAM;gBACR,CAAC;gBAED,uBAAuB;gBACvB,IAAI,WAAW,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC;oBACxD,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAA;oBAC5D,IAAI,EAAE,CAAA;oBACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBACf,OAAM;gBACR,CAAC;gBAED,oEAAoE;gBACpE,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxB,GAAG,CAAC,0BAA0B,gBAAgB,EAAE,CAAC,CAAA;oBACjD,WAAW,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAA;oBAClE,oEAAoE;oBACpE,OAAM;gBACR,CAAC;gBAED,yBAAyB;gBACzB,UAAU,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACxD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC9E,YAAY,CAAC,KAAK,CAAC,CAAA;gBACnB,GAAG,CAAC,mCAAmC,CAAC,CAAA;gBACxC,YAAY,CAAC,KAAK,EAAE,CAAA;gBACpB,eAAe,CAAC,OAAO,GAAG,IAAI,CAAA;gBAC9B,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnC,GAAG,CAAC,uBAAuB,CAAC,CAAA;oBAC5B,OAAM,CAAC,wBAAwB;gBACjC,CAAC;gBACD,MAAM,QAAQ,GAAG,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;gBAC5F,QAAQ,CAAC,QAAQ,CAAC,CAAA;gBAClB,WAAW,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;gBACrD,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,EAAE,CAAA;oBACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACjB,CAAC,EAAE,GAAG,CAAC,CAAA;YACT,CAAC;QACH,CAAC,CAAA;QAED,QAAQ,EAAE,CAAA;QAEV,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,qDAAqD,gBAAgB,EAAE,CAAC,CAAA;YAC5E,eAAe,CAAC,KAAK,EAAE,CAAA;YACvB,YAAY,CAAC,KAAK,EAAE,CAAA;YACpB,eAAe,CAAC,OAAO,GAAG,IAAI,CAAA;QAChC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,gBAAgB,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAA;IAE9D,mEAAmE;IACnE,oEAAoE;IACpE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,oBAAC,IAAI,QAAE,EAAE,CAAQ,CAAA;IAC1B,CAAC;IAED,OAAO,oBAAC,IAAI,QAAE,EAAE,CAAQ,CAAA;AAC1B,CAAC,CAAA"}
@@ -1,18 +0,0 @@
1
- import React from "react";
2
- /**
3
- * A simple progress bar component using Unicode block characters.
4
- * Shows completion progress: completed / total
5
- */
6
- export declare const ProgressBar: ({ completed, total, width, repoName }: Props) => React.JSX.Element | null;
7
- type Props = {
8
- /** Number of items completed (closed issues or checked tasks) */
9
- completed: number;
10
- /** Total number of items seen since startup */
11
- total: number;
12
- /** Width of the progress bar in characters (default: 12) */
13
- width?: number;
14
- /** Repository name to display before the progress bar */
15
- repoName?: string;
16
- };
17
- export {};
18
- //# sourceMappingURL=ProgressBar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../src/components/ProgressBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,uCAA4C,KAAK,6BA6B5E,CAAA;AAED,KAAK,KAAK,GAAG;IACX,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAA;IACjB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAA;IACb,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA"}
@@ -1,30 +0,0 @@
1
- import React from "react";
2
- import { Text } from "ink";
3
- /**
4
- * A simple progress bar component using Unicode block characters.
5
- * Shows completion progress: completed / total
6
- */
7
- export const ProgressBar = ({ completed, total, width = 12, repoName }) => {
8
- if (total === 0) {
9
- return null;
10
- }
11
- // Progress is how much is done: completed / total
12
- const progress = Math.min(1, Math.max(0, completed / total));
13
- const filledWidth = Math.round(progress * width);
14
- const emptyWidth = width - filledWidth;
15
- const filled = "▰".repeat(filledWidth);
16
- const empty = "▱".repeat(emptyWidth);
17
- return (React.createElement(Text, null,
18
- repoName && (React.createElement(React.Fragment, null,
19
- React.createElement(Text, { color: "cyan" }, repoName),
20
- React.createElement(Text, { dimColor: true }, " \u2502 "))),
21
- React.createElement(Text, { color: "yellow" }, filled),
22
- React.createElement(Text, { dimColor: true }, empty),
23
- React.createElement(Text, { dimColor: true },
24
- " ",
25
- completed,
26
- "/",
27
- total,
28
- " ")));
29
- };
30
- //# sourceMappingURL=ProgressBar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../../src/components/ProgressBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAE1B;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,EAAS,EAAE,EAAE;IAC/E,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,kDAAkD;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC,CAAA;IAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAA;IAChD,MAAM,UAAU,GAAG,KAAK,GAAG,WAAW,CAAA;IAEtC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAEpC,OAAO,CACL,oBAAC,IAAI;QACF,QAAQ,IAAI,CACX;YACE,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,IAAE,QAAQ,CAAQ;YACpC,oBAAC,IAAI,IAAC,QAAQ,qBAAW,CACxB,CACJ;QACD,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,IAAE,MAAM,CAAQ;QACpC,oBAAC,IAAI,IAAC,QAAQ,UAAE,KAAK,CAAQ;QAC7B,oBAAC,IAAI,IAAC,QAAQ;YACX,GAAG;YACH,SAAS;;YAAG,KAAK;YAAE,GAAG,CAClB,CACF,CACR,CAAA;AACH,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ProgressBar.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProgressBar.test.d.ts","sourceRoot":"","sources":["../../src/components/ProgressBar.test.tsx"],"names":[],"mappings":""}
@@ -1,55 +0,0 @@
1
- import React from "react";
2
- import { describe, it, expect } from "vitest";
3
- import { render } from "ink-testing-library";
4
- import { ProgressBar } from "./ProgressBar.js";
5
- describe("ProgressBar", () => {
6
- it("renders nothing when total is 0", () => {
7
- const { lastFrame } = render(React.createElement(ProgressBar, { completed: 0, total: 0 }));
8
- expect(lastFrame()).toBe("");
9
- });
10
- it("shows empty bar when no tasks completed", () => {
11
- const { lastFrame } = render(React.createElement(ProgressBar, { completed: 0, total: 10, width: 10 }));
12
- const output = lastFrame();
13
- expect(output).toContain("▱▱▱▱▱▱▱▱▱▱");
14
- expect(output).toContain("0/10");
15
- });
16
- it("shows full bar when all tasks completed", () => {
17
- const { lastFrame } = render(React.createElement(ProgressBar, { completed: 10, total: 10, width: 10 }));
18
- const output = lastFrame();
19
- expect(output).toContain("▰▰▰▰▰▰▰▰▰▰");
20
- expect(output).toContain("10/10");
21
- });
22
- it("shows half bar when half completed", () => {
23
- const { lastFrame } = render(React.createElement(ProgressBar, { completed: 5, total: 10, width: 10 }));
24
- const output = lastFrame();
25
- expect(output).toContain("▰▰▰▰▰");
26
- expect(output).toContain("▱▱▱▱▱");
27
- expect(output).toContain("5/10");
28
- });
29
- it("respects custom width", () => {
30
- const { lastFrame } = render(React.createElement(ProgressBar, { completed: 10, total: 10, width: 5 }));
31
- const output = lastFrame();
32
- // Should have 5 filled blocks
33
- expect(output).toMatch(/▰{5}/);
34
- });
35
- it("clamps progress to 0-100%", () => {
36
- // More completed than total (shouldn't happen, but handle gracefully)
37
- const { lastFrame } = render(React.createElement(ProgressBar, { completed: 15, total: 10, width: 10 }));
38
- const output = lastFrame();
39
- expect(output).toContain("▰▰▰▰▰▰▰▰▰▰");
40
- });
41
- it("displays repo name when provided", () => {
42
- const { lastFrame } = render(React.createElement(ProgressBar, { completed: 5, total: 10, width: 10, repoName: "my-repo" }));
43
- const output = lastFrame();
44
- expect(output).toContain("my-repo");
45
- expect(output).toContain("│");
46
- expect(output).toContain("5/10");
47
- });
48
- it("does not display repo name when not provided", () => {
49
- const { lastFrame } = render(React.createElement(ProgressBar, { completed: 5, total: 10, width: 10 }));
50
- const output = lastFrame();
51
- expect(output).not.toContain("│");
52
- expect(output).toContain("5/10");
53
- });
54
- });
55
- //# sourceMappingURL=ProgressBar.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProgressBar.test.js","sourceRoot":"","sources":["../../src/components/ProgressBar.test.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import React from "react";
2
- export declare const ReplayLog: ({ filePath }: Props) => React.JSX.Element;
3
- type Props = {
4
- filePath: string;
5
- };
6
- export {};
7
- //# sourceMappingURL=ReplayLog.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReplayLog.d.ts","sourceRoot":"","sources":["../../src/components/ReplayLog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAMlD,eAAO,MAAM,SAAS,GAAI,cAAc,KAAK,sBAmD5C,CAAA;AAED,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA"}