sudocode 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/README.md +4 -3
  2. package/package.json +8 -38
  3. package/build.js +0 -75
  4. package/node_modules/@sudocode-ai/cli/README.md +0 -330
  5. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.d.ts +0 -53
  6. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.d.ts.map +0 -1
  7. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.js +0 -274
  8. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.js.map +0 -1
  9. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.d.ts +0 -22
  10. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.d.ts.map +0 -1
  11. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.js +0 -148
  12. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.js.map +0 -1
  13. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.d.ts +0 -45
  14. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.d.ts.map +0 -1
  15. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.js +0 -310
  16. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.js.map +0 -1
  17. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.d.ts +0 -18
  18. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.d.ts.map +0 -1
  19. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.js +0 -61
  20. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.js.map +0 -1
  21. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.d.ts +0 -22
  22. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.d.ts.map +0 -1
  23. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.js +0 -136
  24. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.js.map +0 -1
  25. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.d.ts +0 -14
  26. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.d.ts.map +0 -1
  27. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.js +0 -76
  28. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.js.map +0 -1
  29. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.d.ts +0 -17
  30. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.d.ts.map +0 -1
  31. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.js +0 -99
  32. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.js.map +0 -1
  33. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.d.ts +0 -38
  34. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.d.ts.map +0 -1
  35. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.js +0 -321
  36. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.js.map +0 -1
  37. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.d.ts +0 -17
  38. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.d.ts.map +0 -1
  39. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.js +0 -131
  40. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.js.map +0 -1
  41. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.d.ts +0 -24
  42. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.d.ts.map +0 -1
  43. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.js +0 -416
  44. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.js.map +0 -1
  45. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.d.ts +0 -12
  46. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.d.ts.map +0 -1
  47. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.js +0 -78
  48. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.js.map +0 -1
  49. package/node_modules/@sudocode-ai/cli/dist/cli.d.ts +0 -6
  50. package/node_modules/@sudocode-ai/cli/dist/cli.d.ts.map +0 -1
  51. package/node_modules/@sudocode-ai/cli/dist/cli.js +0 -426
  52. package/node_modules/@sudocode-ai/cli/dist/cli.js.map +0 -1
  53. package/node_modules/@sudocode-ai/cli/dist/db.d.ts +0 -21
  54. package/node_modules/@sudocode-ai/cli/dist/db.d.ts.map +0 -1
  55. package/node_modules/@sudocode-ai/cli/dist/db.js +0 -54
  56. package/node_modules/@sudocode-ai/cli/dist/db.js.map +0 -1
  57. package/node_modules/@sudocode-ai/cli/dist/export.d.ts +0 -79
  58. package/node_modules/@sudocode-ai/cli/dist/export.d.ts.map +0 -1
  59. package/node_modules/@sudocode-ai/cli/dist/export.js +0 -195
  60. package/node_modules/@sudocode-ai/cli/dist/export.js.map +0 -1
  61. package/node_modules/@sudocode-ai/cli/dist/filename-generator.d.ts +0 -30
  62. package/node_modules/@sudocode-ai/cli/dist/filename-generator.d.ts.map +0 -1
  63. package/node_modules/@sudocode-ai/cli/dist/filename-generator.js +0 -93
  64. package/node_modules/@sudocode-ai/cli/dist/filename-generator.js.map +0 -1
  65. package/node_modules/@sudocode-ai/cli/dist/id-generator.d.ts +0 -26
  66. package/node_modules/@sudocode-ai/cli/dist/id-generator.d.ts.map +0 -1
  67. package/node_modules/@sudocode-ai/cli/dist/id-generator.js +0 -123
  68. package/node_modules/@sudocode-ai/cli/dist/id-generator.js.map +0 -1
  69. package/node_modules/@sudocode-ai/cli/dist/import.d.ts +0 -118
  70. package/node_modules/@sudocode-ai/cli/dist/import.d.ts.map +0 -1
  71. package/node_modules/@sudocode-ai/cli/dist/import.js +0 -608
  72. package/node_modules/@sudocode-ai/cli/dist/import.js.map +0 -1
  73. package/node_modules/@sudocode-ai/cli/dist/index.d.ts +0 -13
  74. package/node_modules/@sudocode-ai/cli/dist/index.d.ts.map +0 -1
  75. package/node_modules/@sudocode-ai/cli/dist/index.js +0 -13
  76. package/node_modules/@sudocode-ai/cli/dist/index.js.map +0 -1
  77. package/node_modules/@sudocode-ai/cli/dist/jsonl.d.ts +0 -69
  78. package/node_modules/@sudocode-ai/cli/dist/jsonl.d.ts.map +0 -1
  79. package/node_modules/@sudocode-ai/cli/dist/jsonl.js +0 -333
  80. package/node_modules/@sudocode-ai/cli/dist/jsonl.js.map +0 -1
  81. package/node_modules/@sudocode-ai/cli/dist/markdown.d.ts +0 -146
  82. package/node_modules/@sudocode-ai/cli/dist/markdown.d.ts.map +0 -1
  83. package/node_modules/@sudocode-ai/cli/dist/markdown.js +0 -357
  84. package/node_modules/@sudocode-ai/cli/dist/markdown.js.map +0 -1
  85. package/node_modules/@sudocode-ai/cli/dist/migrations.d.ts +0 -23
  86. package/node_modules/@sudocode-ai/cli/dist/migrations.d.ts.map +0 -1
  87. package/node_modules/@sudocode-ai/cli/dist/migrations.js +0 -57
  88. package/node_modules/@sudocode-ai/cli/dist/migrations.js.map +0 -1
  89. package/node_modules/@sudocode-ai/cli/dist/operations/events.d.ts +0 -53
  90. package/node_modules/@sudocode-ai/cli/dist/operations/events.d.ts.map +0 -1
  91. package/node_modules/@sudocode-ai/cli/dist/operations/events.js +0 -108
  92. package/node_modules/@sudocode-ai/cli/dist/operations/events.js.map +0 -1
  93. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.d.ts +0 -92
  94. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.d.ts.map +0 -1
  95. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.js +0 -444
  96. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.js.map +0 -1
  97. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.d.ts +0 -76
  98. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.d.ts.map +0 -1
  99. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.js +0 -234
  100. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.js.map +0 -1
  101. package/node_modules/@sudocode-ai/cli/dist/operations/index.d.ts +0 -10
  102. package/node_modules/@sudocode-ai/cli/dist/operations/index.d.ts.map +0 -1
  103. package/node_modules/@sudocode-ai/cli/dist/operations/index.js +0 -10
  104. package/node_modules/@sudocode-ai/cli/dist/operations/index.js.map +0 -1
  105. package/node_modules/@sudocode-ai/cli/dist/operations/issues.d.ts +0 -82
  106. package/node_modules/@sudocode-ai/cli/dist/operations/issues.d.ts.map +0 -1
  107. package/node_modules/@sudocode-ai/cli/dist/operations/issues.js +0 -411
  108. package/node_modules/@sudocode-ai/cli/dist/operations/issues.js.map +0 -1
  109. package/node_modules/@sudocode-ai/cli/dist/operations/references.d.ts +0 -34
  110. package/node_modules/@sudocode-ai/cli/dist/operations/references.d.ts.map +0 -1
  111. package/node_modules/@sudocode-ai/cli/dist/operations/references.js +0 -117
  112. package/node_modules/@sudocode-ai/cli/dist/operations/references.js.map +0 -1
  113. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.d.ts +0 -57
  114. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.d.ts.map +0 -1
  115. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.js +0 -236
  116. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.js.map +0 -1
  117. package/node_modules/@sudocode-ai/cli/dist/operations/specs.d.ts +0 -64
  118. package/node_modules/@sudocode-ai/cli/dist/operations/specs.d.ts.map +0 -1
  119. package/node_modules/@sudocode-ai/cli/dist/operations/specs.js +0 -290
  120. package/node_modules/@sudocode-ai/cli/dist/operations/specs.js.map +0 -1
  121. package/node_modules/@sudocode-ai/cli/dist/operations/tags.d.ts +0 -42
  122. package/node_modules/@sudocode-ai/cli/dist/operations/tags.d.ts.map +0 -1
  123. package/node_modules/@sudocode-ai/cli/dist/operations/tags.js +0 -127
  124. package/node_modules/@sudocode-ai/cli/dist/operations/tags.js.map +0 -1
  125. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.d.ts +0 -41
  126. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.d.ts.map +0 -1
  127. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.js +0 -111
  128. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.js.map +0 -1
  129. package/node_modules/@sudocode-ai/cli/dist/sync.d.ts +0 -47
  130. package/node_modules/@sudocode-ai/cli/dist/sync.d.ts.map +0 -1
  131. package/node_modules/@sudocode-ai/cli/dist/sync.js +0 -442
  132. package/node_modules/@sudocode-ai/cli/dist/sync.js.map +0 -1
  133. package/node_modules/@sudocode-ai/cli/dist/test-schema.d.ts +0 -5
  134. package/node_modules/@sudocode-ai/cli/dist/test-schema.d.ts.map +0 -1
  135. package/node_modules/@sudocode-ai/cli/dist/test-schema.js +0 -46
  136. package/node_modules/@sudocode-ai/cli/dist/test-schema.js.map +0 -1
  137. package/node_modules/@sudocode-ai/cli/dist/types.d.ts +0 -7
  138. package/node_modules/@sudocode-ai/cli/dist/types.d.ts.map +0 -1
  139. package/node_modules/@sudocode-ai/cli/dist/types.js +0 -7
  140. package/node_modules/@sudocode-ai/cli/dist/types.js.map +0 -1
  141. package/node_modules/@sudocode-ai/cli/dist/update-checker.d.ts +0 -24
  142. package/node_modules/@sudocode-ai/cli/dist/update-checker.d.ts.map +0 -1
  143. package/node_modules/@sudocode-ai/cli/dist/update-checker.js +0 -151
  144. package/node_modules/@sudocode-ai/cli/dist/update-checker.js.map +0 -1
  145. package/node_modules/@sudocode-ai/cli/dist/version.d.ts +0 -12
  146. package/node_modules/@sudocode-ai/cli/dist/version.d.ts.map +0 -1
  147. package/node_modules/@sudocode-ai/cli/dist/version.js +0 -23
  148. package/node_modules/@sudocode-ai/cli/dist/version.js.map +0 -1
  149. package/node_modules/@sudocode-ai/cli/dist/watcher.d.ts +0 -63
  150. package/node_modules/@sudocode-ai/cli/dist/watcher.d.ts.map +0 -1
  151. package/node_modules/@sudocode-ai/cli/dist/watcher.js +0 -438
  152. package/node_modules/@sudocode-ai/cli/dist/watcher.js.map +0 -1
  153. package/node_modules/@sudocode-ai/cli/package.json +0 -65
  154. package/node_modules/@sudocode-ai/local-server/README.md +0 -19
  155. package/node_modules/@sudocode-ai/local-server/dist/cli.d.ts +0 -7
  156. package/node_modules/@sudocode-ai/local-server/dist/cli.d.ts.map +0 -1
  157. package/node_modules/@sudocode-ai/local-server/dist/cli.js +0 -7
  158. package/node_modules/@sudocode-ai/local-server/dist/cli.js.map +0 -1
  159. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/engine.d.ts +0 -103
  160. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/engine.d.ts.map +0 -1
  161. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/engine.js +0 -10
  162. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/engine.js.map +0 -1
  163. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/simple-engine.d.ts +0 -190
  164. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/simple-engine.d.ts.map +0 -1
  165. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/simple-engine.js +0 -611
  166. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/simple-engine.js.map +0 -1
  167. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/types.d.ts +0 -116
  168. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/types.d.ts.map +0 -1
  169. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/types.js +0 -10
  170. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/types.js.map +0 -1
  171. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.d.ts +0 -176
  172. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.d.ts.map +0 -1
  173. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.js +0 -438
  174. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.js.map +0 -1
  175. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-integration.d.ts +0 -96
  176. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-integration.d.ts.map +0 -1
  177. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-integration.js +0 -96
  178. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-integration.js.map +0 -1
  179. package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-code-output-processor.d.ts +0 -321
  180. package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-code-output-processor.d.ts.map +0 -1
  181. package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-code-output-processor.js +0 -769
  182. package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-code-output-processor.js.map +0 -1
  183. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.d.ts +0 -18
  184. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.d.ts.map +0 -1
  185. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.js +0 -15
  186. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.js.map +0 -1
  187. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.d.ts +0 -421
  188. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.d.ts.map +0 -1
  189. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.js +0 -22
  190. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.js.map +0 -1
  191. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.d.ts +0 -86
  192. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.d.ts.map +0 -1
  193. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.js +0 -59
  194. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.js.map +0 -1
  195. package/node_modules/@sudocode-ai/local-server/dist/execution/process/index.d.ts +0 -15
  196. package/node_modules/@sudocode-ai/local-server/dist/execution/process/index.d.ts.map +0 -1
  197. package/node_modules/@sudocode-ai/local-server/dist/execution/process/index.js +0 -15
  198. package/node_modules/@sudocode-ai/local-server/dist/execution/process/index.js.map +0 -1
  199. package/node_modules/@sudocode-ai/local-server/dist/execution/process/manager.d.ts +0 -133
  200. package/node_modules/@sudocode-ai/local-server/dist/execution/process/manager.d.ts.map +0 -1
  201. package/node_modules/@sudocode-ai/local-server/dist/execution/process/manager.js +0 -10
  202. package/node_modules/@sudocode-ai/local-server/dist/execution/process/manager.js.map +0 -1
  203. package/node_modules/@sudocode-ai/local-server/dist/execution/process/simple-manager.d.ts +0 -102
  204. package/node_modules/@sudocode-ai/local-server/dist/execution/process/simple-manager.d.ts.map +0 -1
  205. package/node_modules/@sudocode-ai/local-server/dist/execution/process/simple-manager.js +0 -336
  206. package/node_modules/@sudocode-ai/local-server/dist/execution/process/simple-manager.js.map +0 -1
  207. package/node_modules/@sudocode-ai/local-server/dist/execution/process/types.d.ts +0 -105
  208. package/node_modules/@sudocode-ai/local-server/dist/execution/process/types.d.ts.map +0 -1
  209. package/node_modules/@sudocode-ai/local-server/dist/execution/process/types.js +0 -10
  210. package/node_modules/@sudocode-ai/local-server/dist/execution/process/types.js.map +0 -1
  211. package/node_modules/@sudocode-ai/local-server/dist/execution/process/utils.d.ts +0 -53
  212. package/node_modules/@sudocode-ai/local-server/dist/execution/process/utils.d.ts.map +0 -1
  213. package/node_modules/@sudocode-ai/local-server/dist/execution/process/utils.js +0 -97
  214. package/node_modules/@sudocode-ai/local-server/dist/execution/process/utils.js.map +0 -1
  215. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/circuit-breaker.d.ts +0 -170
  216. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/circuit-breaker.d.ts.map +0 -1
  217. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/circuit-breaker.js +0 -291
  218. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/circuit-breaker.js.map +0 -1
  219. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/executor.d.ts +0 -109
  220. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/executor.d.ts.map +0 -1
  221. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/executor.js +0 -10
  222. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/executor.js.map +0 -1
  223. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/index.d.ts +0 -14
  224. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/index.d.ts.map +0 -1
  225. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/index.js +0 -15
  226. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/index.js.map +0 -1
  227. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/resilient-executor.d.ts +0 -86
  228. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/resilient-executor.d.ts.map +0 -1
  229. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/resilient-executor.js +0 -261
  230. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/resilient-executor.js.map +0 -1
  231. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/retry.d.ts +0 -161
  232. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/retry.d.ts.map +0 -1
  233. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/retry.js +0 -234
  234. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/retry.js.map +0 -1
  235. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/types.d.ts +0 -226
  236. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/types.d.ts.map +0 -1
  237. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/types.js +0 -30
  238. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/types.js.map +0 -1
  239. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.d.ts +0 -119
  240. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.d.ts.map +0 -1
  241. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.js +0 -208
  242. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.js.map +0 -1
  243. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.d.ts +0 -10
  244. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.d.ts.map +0 -1
  245. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.js +0 -10
  246. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.js.map +0 -1
  247. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.d.ts +0 -146
  248. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.d.ts.map +0 -1
  249. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.js +0 -282
  250. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.js.map +0 -1
  251. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.d.ts +0 -176
  252. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.d.ts.map +0 -1
  253. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.js +0 -231
  254. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.js.map +0 -1
  255. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/index.d.ts +0 -13
  256. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/index.d.ts.map +0 -1
  257. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/index.js +0 -13
  258. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/index.js.map +0 -1
  259. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/linear-orchestrator.d.ts +0 -216
  260. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/linear-orchestrator.d.ts.map +0 -1
  261. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/linear-orchestrator.js +0 -683
  262. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/linear-orchestrator.js.map +0 -1
  263. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/memory-storage.d.ts +0 -54
  264. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/memory-storage.d.ts.map +0 -1
  265. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/memory-storage.js +0 -68
  266. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/memory-storage.js.map +0 -1
  267. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/orchestrator.d.ts +0 -158
  268. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/orchestrator.d.ts.map +0 -1
  269. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/orchestrator.js +0 -9
  270. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/orchestrator.js.map +0 -1
  271. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/types.d.ts +0 -172
  272. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/types.d.ts.map +0 -1
  273. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/types.js +0 -9
  274. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/types.js.map +0 -1
  275. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/utils.d.ts +0 -89
  276. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/utils.d.ts.map +0 -1
  277. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/utils.js +0 -152
  278. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/utils.js.map +0 -1
  279. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.d.ts +0 -74
  280. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.d.ts.map +0 -1
  281. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.js +0 -280
  282. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.js.map +0 -1
  283. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.d.ts +0 -151
  284. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.d.ts.map +0 -1
  285. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.js +0 -189
  286. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.js.map +0 -1
  287. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.d.ts +0 -16
  288. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.d.ts.map +0 -1
  289. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.js +0 -15
  290. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.js.map +0 -1
  291. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.d.ts +0 -184
  292. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.d.ts.map +0 -1
  293. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.js +0 -452
  294. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.js.map +0 -1
  295. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.d.ts +0 -90
  296. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.d.ts.map +0 -1
  297. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.js +0 -42
  298. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.js.map +0 -1
  299. package/node_modules/@sudocode-ai/local-server/dist/index.d.ts +0 -8
  300. package/node_modules/@sudocode-ai/local-server/dist/index.d.ts.map +0 -1
  301. package/node_modules/@sudocode-ai/local-server/dist/index.js +0 -356
  302. package/node_modules/@sudocode-ai/local-server/dist/index.js.map +0 -1
  303. package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-C4SmlXoo.js +0 -568
  304. package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-C4SmlXoo.js.map +0 -1
  305. package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-DE59j7ti.css +0 -1
  306. package/node_modules/@sudocode-ai/local-server/dist/public/assets/react-vendor-LX0UoTxg.js +0 -60
  307. package/node_modules/@sudocode-ai/local-server/dist/public/assets/react-vendor-LX0UoTxg.js.map +0 -1
  308. package/node_modules/@sudocode-ai/local-server/dist/public/assets/ui-vendor-_cxVHaqZ.js +0 -54
  309. package/node_modules/@sudocode-ai/local-server/dist/public/assets/ui-vendor-_cxVHaqZ.js.map +0 -1
  310. package/node_modules/@sudocode-ai/local-server/dist/public/favicon.ico +0 -0
  311. package/node_modules/@sudocode-ai/local-server/dist/public/index.html +0 -16
  312. package/node_modules/@sudocode-ai/local-server/dist/public/logo.png +0 -0
  313. package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.d.ts +0 -24
  314. package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.d.ts.map +0 -1
  315. package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.js +0 -55
  316. package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.js.map +0 -1
  317. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.d.ts +0 -19
  318. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.d.ts.map +0 -1
  319. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.js +0 -267
  320. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.js.map +0 -1
  321. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.d.ts +0 -7
  322. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.d.ts.map +0 -1
  323. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.js +0 -329
  324. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.js.map +0 -1
  325. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.d.ts +0 -7
  326. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.d.ts.map +0 -1
  327. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.js +0 -280
  328. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.js.map +0 -1
  329. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.d.ts +0 -7
  330. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.d.ts.map +0 -1
  331. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.js +0 -308
  332. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.js.map +0 -1
  333. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.d.ts +0 -7
  334. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.d.ts.map +0 -1
  335. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.js +0 -270
  336. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.js.map +0 -1
  337. package/node_modules/@sudocode-ai/local-server/dist/services/db.d.ts +0 -33
  338. package/node_modules/@sudocode-ai/local-server/dist/services/db.d.ts.map +0 -1
  339. package/node_modules/@sudocode-ai/local-server/dist/services/db.js +0 -85
  340. package/node_modules/@sudocode-ai/local-server/dist/services/db.js.map +0 -1
  341. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.d.ts +0 -108
  342. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.d.ts.map +0 -1
  343. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.js +0 -286
  344. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.js.map +0 -1
  345. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.d.ts +0 -185
  346. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.d.ts.map +0 -1
  347. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.js +0 -676
  348. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.js.map +0 -1
  349. package/node_modules/@sudocode-ai/local-server/dist/services/executions.d.ts +0 -59
  350. package/node_modules/@sudocode-ai/local-server/dist/services/executions.d.ts.map +0 -1
  351. package/node_modules/@sudocode-ai/local-server/dist/services/executions.js +0 -164
  352. package/node_modules/@sudocode-ai/local-server/dist/services/executions.js.map +0 -1
  353. package/node_modules/@sudocode-ai/local-server/dist/services/export.d.ts +0 -24
  354. package/node_modules/@sudocode-ai/local-server/dist/services/export.d.ts.map +0 -1
  355. package/node_modules/@sudocode-ai/local-server/dist/services/export.js +0 -106
  356. package/node_modules/@sudocode-ai/local-server/dist/services/export.js.map +0 -1
  357. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.d.ts +0 -40
  358. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.d.ts.map +0 -1
  359. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.js +0 -54
  360. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.js.map +0 -1
  361. package/node_modules/@sudocode-ai/local-server/dist/services/issues.d.ts +0 -27
  362. package/node_modules/@sudocode-ai/local-server/dist/services/issues.d.ts.map +0 -1
  363. package/node_modules/@sudocode-ai/local-server/dist/services/issues.js +0 -35
  364. package/node_modules/@sudocode-ai/local-server/dist/services/issues.js.map +0 -1
  365. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.d.ts +0 -108
  366. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.d.ts.map +0 -1
  367. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.js +0 -212
  368. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.js.map +0 -1
  369. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.d.ts +0 -97
  370. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.d.ts.map +0 -1
  371. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.js +0 -236
  372. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.js.map +0 -1
  373. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.d.ts +0 -35
  374. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.d.ts.map +0 -1
  375. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.js +0 -42
  376. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.js.map +0 -1
  377. package/node_modules/@sudocode-ai/local-server/dist/services/specs.d.ts +0 -27
  378. package/node_modules/@sudocode-ai/local-server/dist/services/specs.d.ts.map +0 -1
  379. package/node_modules/@sudocode-ai/local-server/dist/services/specs.js +0 -35
  380. package/node_modules/@sudocode-ai/local-server/dist/services/specs.js.map +0 -1
  381. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.d.ts +0 -50
  382. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.d.ts.map +0 -1
  383. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.js +0 -69
  384. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.js.map +0 -1
  385. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.d.ts +0 -127
  386. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.d.ts.map +0 -1
  387. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.js +0 -389
  388. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.js.map +0 -1
  389. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.d.ts +0 -6
  390. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.d.ts.map +0 -1
  391. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.js +0 -9
  392. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.js.map +0 -1
  393. package/node_modules/@sudocode-ai/local-server/package.json +0 -72
  394. package/node_modules/@sudocode-ai/mcp/LICENSE +0 -21
  395. package/node_modules/@sudocode-ai/mcp/README.md +0 -226
  396. package/node_modules/@sudocode-ai/mcp/dist/client.d.ts +0 -33
  397. package/node_modules/@sudocode-ai/mcp/dist/client.d.ts.map +0 -1
  398. package/node_modules/@sudocode-ai/mcp/dist/client.js +0 -159
  399. package/node_modules/@sudocode-ai/mcp/dist/client.js.map +0 -1
  400. package/node_modules/@sudocode-ai/mcp/dist/index.d.ts +0 -6
  401. package/node_modules/@sudocode-ai/mcp/dist/index.d.ts.map +0 -1
  402. package/node_modules/@sudocode-ai/mcp/dist/index.js +0 -64
  403. package/node_modules/@sudocode-ai/mcp/dist/index.js.map +0 -1
  404. package/node_modules/@sudocode-ai/mcp/dist/server.d.ts +0 -26
  405. package/node_modules/@sudocode-ai/mcp/dist/server.d.ts.map +0 -1
  406. package/node_modules/@sudocode-ai/mcp/dist/server.js +0 -575
  407. package/node_modules/@sudocode-ai/mcp/dist/server.js.map +0 -1
  408. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.d.ts +0 -41
  409. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.d.ts.map +0 -1
  410. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.js +0 -21
  411. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.js.map +0 -1
  412. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.d.ts +0 -19
  413. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.d.ts.map +0 -1
  414. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.js +0 -24
  415. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.js.map +0 -1
  416. package/node_modules/@sudocode-ai/mcp/dist/tools/init.d.ts +0 -17
  417. package/node_modules/@sudocode-ai/mcp/dist/tools/init.d.ts.map +0 -1
  418. package/node_modules/@sudocode-ai/mcp/dist/tools/init.js +0 -15
  419. package/node_modules/@sudocode-ai/mcp/dist/tools/init.js.map +0 -1
  420. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.d.ts +0 -44
  421. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.d.ts.map +0 -1
  422. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.js +0 -106
  423. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.js.map +0 -1
  424. package/node_modules/@sudocode-ai/mcp/dist/tools/references.d.ts +0 -21
  425. package/node_modules/@sudocode-ai/mcp/dist/tools/references.d.ts.map +0 -1
  426. package/node_modules/@sudocode-ai/mcp/dist/tools/references.js +0 -49
  427. package/node_modules/@sudocode-ai/mcp/dist/tools/references.js.map +0 -1
  428. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.d.ts +0 -15
  429. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.d.ts.map +0 -1
  430. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.js +0 -18
  431. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.js.map +0 -1
  432. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.d.ts +0 -35
  433. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.d.ts.map +0 -1
  434. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.js +0 -85
  435. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.js.map +0 -1
  436. package/node_modules/@sudocode-ai/mcp/dist/types.d.ts +0 -35
  437. package/node_modules/@sudocode-ai/mcp/dist/types.d.ts.map +0 -1
  438. package/node_modules/@sudocode-ai/mcp/dist/types.js +0 -21
  439. package/node_modules/@sudocode-ai/mcp/dist/types.js.map +0 -1
  440. package/node_modules/@sudocode-ai/mcp/package.json +0 -67
  441. package/node_modules/@sudocode-ai/types/README.md +0 -7
  442. package/node_modules/@sudocode-ai/types/dist/schema.d.ts +0 -45
  443. package/node_modules/@sudocode-ai/types/dist/schema.d.ts.map +0 -1
  444. package/node_modules/@sudocode-ai/types/dist/schema.js +0 -338
  445. package/node_modules/@sudocode-ai/types/dist/schema.js.map +0 -1
  446. package/node_modules/@sudocode-ai/types/package.json +0 -46
@@ -1,291 +0,0 @@
1
- /**
2
- * Circuit Breaker Implementation
3
- *
4
- * Implements the circuit breaker pattern for preventing cascading failures.
5
- * Tracks failures and successes, automatically opening when thresholds are
6
- * exceeded and recovering through half-open state.
7
- *
8
- * @module execution/resilience/circuit-breaker
9
- */
10
- /**
11
- * CircuitBreakerManager - Manages multiple circuit breakers
12
- *
13
- * Maintains a collection of circuit breakers, typically one per task type
14
- * or service. Provides methods for checking state, recording outcomes,
15
- * and managing circuit lifecycle.
16
- *
17
- * @example
18
- * ```typescript
19
- * const manager = new CircuitBreakerManager();
20
- * const breaker = manager.getOrCreate('issue-executor', {
21
- * failureThreshold: 5,
22
- * successThreshold: 2,
23
- * timeout: 60000,
24
- * });
25
- *
26
- * if (manager.canExecute('issue-executor')) {
27
- * // Execute task
28
- * const success = await executeTask();
29
- * if (success) {
30
- * manager.recordSuccess('issue-executor');
31
- * } else {
32
- * manager.recordFailure('issue-executor', new Error('Task failed'));
33
- * }
34
- * }
35
- * ```
36
- */
37
- export class CircuitBreakerManager {
38
- breakers = new Map();
39
- /**
40
- * Get an existing circuit breaker by name
41
- *
42
- * @param name - Circuit breaker name
43
- * @returns Circuit breaker or null if not found
44
- */
45
- get(name) {
46
- return this.breakers.get(name) || null;
47
- }
48
- /**
49
- * Get or create a circuit breaker
50
- *
51
- * If a circuit breaker with the given name exists, returns it.
52
- * Otherwise creates a new one with the provided configuration.
53
- *
54
- * @param name - Circuit breaker name (typically task type)
55
- * @param config - Configuration for new circuit breaker
56
- * @returns Circuit breaker instance
57
- */
58
- getOrCreate(name, config = {
59
- failureThreshold: 5,
60
- successThreshold: 2,
61
- timeout: 60000,
62
- }) {
63
- let breaker = this.breakers.get(name);
64
- if (!breaker) {
65
- breaker = {
66
- name,
67
- state: 'closed',
68
- config,
69
- metrics: {
70
- totalRequests: 0,
71
- failedRequests: 0,
72
- successfulRequests: 0,
73
- },
74
- };
75
- this.breakers.set(name, breaker);
76
- }
77
- return breaker;
78
- }
79
- /**
80
- * Check if a circuit breaker allows execution
81
- *
82
- * Returns false if circuit is open and timeout hasn't elapsed yet.
83
- * Returns true for closed and half-open states.
84
- *
85
- * @param name - Circuit breaker name
86
- * @returns True if execution is allowed
87
- */
88
- canExecute(name) {
89
- const breaker = this.breakers.get(name);
90
- if (!breaker) {
91
- return true; // No breaker means no restriction
92
- }
93
- if (breaker.state === 'open') {
94
- // Check if timeout has elapsed to transition to half-open
95
- if (this.shouldTransitionToHalfOpen(breaker)) {
96
- breaker.state = 'half-open';
97
- return true;
98
- }
99
- return false;
100
- }
101
- return true; // closed or half-open allows execution
102
- }
103
- /**
104
- * Record a successful execution
105
- *
106
- * Updates metrics and may transition circuit from half-open to closed
107
- * if success threshold is met.
108
- *
109
- * @param name - Circuit breaker name
110
- */
111
- recordSuccess(name) {
112
- const breaker = this.breakers.get(name);
113
- if (!breaker) {
114
- return;
115
- }
116
- breaker.metrics.totalRequests++;
117
- breaker.metrics.successfulRequests++;
118
- breaker.metrics.lastSuccessTime = new Date();
119
- // If in half-open state, check if we should close
120
- if (breaker.state === 'half-open') {
121
- // Count recent successes (simplified: use total for now)
122
- // In production, you'd track a sliding window of recent attempts
123
- const recentSuccesses = this.getConsecutiveSuccesses(breaker);
124
- if (recentSuccesses >= breaker.config.successThreshold) {
125
- breaker.state = 'closed';
126
- breaker.metrics.failedRequests = 0; // Reset failure count
127
- }
128
- }
129
- }
130
- /**
131
- * Record a failed execution
132
- *
133
- * Updates metrics and may transition circuit from closed/half-open to open
134
- * if failure threshold is met.
135
- *
136
- * @param name - Circuit breaker name
137
- * @param error - Error that occurred
138
- */
139
- recordFailure(name, error) {
140
- const breaker = this.breakers.get(name);
141
- if (!breaker) {
142
- return;
143
- }
144
- void error; // Error logged but not used in current implementation
145
- breaker.metrics.totalRequests++;
146
- breaker.metrics.failedRequests++;
147
- breaker.metrics.lastFailureTime = new Date();
148
- // Check if we should open the circuit
149
- if (breaker.state === 'closed') {
150
- if (breaker.metrics.failedRequests >= breaker.config.failureThreshold) {
151
- breaker.state = 'open';
152
- }
153
- }
154
- else if (breaker.state === 'half-open') {
155
- // Any failure in half-open state reopens the circuit
156
- breaker.state = 'open';
157
- }
158
- }
159
- /**
160
- * Reset a circuit breaker to closed state
161
- *
162
- * Clears all failure counts and returns circuit to closed state.
163
- * Useful for manual recovery or after fixing underlying issues.
164
- *
165
- * @param name - Circuit breaker name
166
- */
167
- reset(name) {
168
- const breaker = this.breakers.get(name);
169
- if (!breaker) {
170
- return;
171
- }
172
- breaker.state = 'closed';
173
- breaker.metrics.failedRequests = 0;
174
- breaker.metrics.successfulRequests = 0;
175
- }
176
- /**
177
- * Get all circuit breakers
178
- *
179
- * @returns Map of circuit breaker name to breaker instance
180
- */
181
- getAll() {
182
- return new Map(this.breakers);
183
- }
184
- /**
185
- * Check if enough time has passed to transition from open to half-open
186
- *
187
- * @param breaker - Circuit breaker to check
188
- * @returns True if timeout has elapsed
189
- * @private
190
- */
191
- shouldTransitionToHalfOpen(breaker) {
192
- if (!breaker.metrics.lastFailureTime) {
193
- return true;
194
- }
195
- const timeSinceFailure = Date.now() - breaker.metrics.lastFailureTime.getTime();
196
- return timeSinceFailure >= breaker.config.timeout;
197
- }
198
- /**
199
- * Get count of consecutive successes
200
- *
201
- * In a production implementation, this would track a sliding window
202
- * of recent attempts. For simplicity, we use total successful requests.
203
- *
204
- * @param breaker - Circuit breaker to check
205
- * @returns Number of consecutive successes
206
- * @private
207
- */
208
- getConsecutiveSuccesses(breaker) {
209
- // Simplified: In production, track recent attempts in a circular buffer
210
- // For now, use successful requests as a proxy
211
- return breaker.metrics.successfulRequests;
212
- }
213
- }
214
- /**
215
- * Create a new circuit breaker instance
216
- *
217
- * Helper function to create a properly configured circuit breaker.
218
- *
219
- * @param name - Circuit breaker name
220
- * @param config - Circuit breaker configuration
221
- * @returns New circuit breaker instance
222
- *
223
- * @example
224
- * ```typescript
225
- * const breaker = createCircuitBreaker('api-calls', {
226
- * failureThreshold: 10,
227
- * successThreshold: 3,
228
- * timeout: 30000,
229
- * });
230
- * ```
231
- */
232
- export function createCircuitBreaker(name, config = {
233
- failureThreshold: 5,
234
- successThreshold: 2,
235
- timeout: 60000,
236
- }) {
237
- return {
238
- name,
239
- state: 'closed',
240
- config,
241
- metrics: {
242
- totalRequests: 0,
243
- failedRequests: 0,
244
- successfulRequests: 0,
245
- },
246
- };
247
- }
248
- /**
249
- * Check if a circuit breaker is in a specific state
250
- *
251
- * @param breaker - Circuit breaker to check
252
- * @param state - State to check for
253
- * @returns True if breaker is in the specified state
254
- */
255
- export function isInState(breaker, state) {
256
- return breaker.state === state;
257
- }
258
- /**
259
- * Get the current state of a circuit breaker
260
- *
261
- * @param breaker - Circuit breaker to check
262
- * @returns Current state
263
- */
264
- export function getState(breaker) {
265
- return breaker.state;
266
- }
267
- /**
268
- * Calculate failure rate for a circuit breaker
269
- *
270
- * @param breaker - Circuit breaker to analyze
271
- * @returns Failure rate (0-1) or 0 if no requests
272
- */
273
- export function getFailureRate(breaker) {
274
- if (breaker.metrics.totalRequests === 0) {
275
- return 0;
276
- }
277
- return breaker.metrics.failedRequests / breaker.metrics.totalRequests;
278
- }
279
- /**
280
- * Calculate success rate for a circuit breaker
281
- *
282
- * @param breaker - Circuit breaker to analyze
283
- * @returns Success rate (0-1) or 0 if no requests
284
- */
285
- export function getSuccessRate(breaker) {
286
- if (breaker.metrics.totalRequests === 0) {
287
- return 0;
288
- }
289
- return breaker.metrics.successfulRequests / breaker.metrics.totalRequests;
290
- }
291
- //# sourceMappingURL=circuit-breaker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../../src/execution/resilience/circuit-breaker.ts"],"names":[],"mappings":"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"}
@@ -1,109 +0,0 @@
1
- /**
2
- * Resilient Executor Interface
3
- *
4
- * Core abstraction for resilient task execution. Provides methods for
5
- * executing tasks with retry logic, circuit breakers, and fault tolerance.
6
- *
7
- * @module execution/resilience/executor
8
- */
9
- import type { ExecutionTask } from '../engine/types.js';
10
- import type { RetryPolicy, CircuitBreaker, RetryMetrics, ResilientExecutionResult, RetryAttemptHandler, CircuitOpenHandler } from './types.js';
11
- /**
12
- * IResilientExecutor - Interface for resilient task execution
13
- *
14
- * Defines the contract for executors that add resilience patterns
15
- * (retry, circuit breaker) to task execution. Implementations wrap
16
- * the Engine Layer with fault tolerance mechanisms.
17
- *
18
- * @example
19
- * ```typescript
20
- * const executor = new ResilientExecutor(engine, {
21
- * maxAttempts: 3,
22
- * backoff: {
23
- * type: 'exponential',
24
- * baseDelayMs: 1000,
25
- * maxDelayMs: 30000,
26
- * jitter: true,
27
- * },
28
- * retryableErrors: ['timeout', 'ECONNREFUSED'],
29
- * retryableExitCodes: [1],
30
- * });
31
- *
32
- * const result = await executor.executeTask(task);
33
- * console.log(`Success after ${result.totalAttempts} attempts`);
34
- * ```
35
- */
36
- export interface IResilientExecutor {
37
- /**
38
- * Execute a single task with retry and circuit breaker
39
- *
40
- * Attempts to execute the task, retrying on transient failures according
41
- * to the retry policy. Checks circuit breaker before execution to prevent
42
- * cascading failures.
43
- *
44
- * @param task - The task to execute
45
- * @param policy - Optional retry policy (uses default if not provided)
46
- * @returns Promise resolving to enhanced result with retry information
47
- * @throws Error if circuit breaker is open or max retries exceeded
48
- */
49
- executeTask(task: ExecutionTask, policy?: RetryPolicy): Promise<ResilientExecutionResult>;
50
- /**
51
- * Execute multiple tasks with retry and circuit breaker
52
- *
53
- * Executes all tasks in parallel, each with its own retry logic.
54
- * Tasks of the same type share a circuit breaker.
55
- *
56
- * @param tasks - Array of tasks to execute
57
- * @param policy - Optional retry policy for all tasks
58
- * @returns Promise resolving to array of enhanced results
59
- */
60
- executeTasks(tasks: ExecutionTask[], policy?: RetryPolicy): Promise<ResilientExecutionResult[]>;
61
- /**
62
- * Get circuit breaker by name
63
- *
64
- * Circuit breakers are typically named by task type (e.g., 'issue', 'spec').
65
- * Returns null if no circuit breaker exists for the given name.
66
- *
67
- * @param name - Name of the circuit breaker
68
- * @returns Circuit breaker or null if not found
69
- */
70
- getCircuitBreaker(name: string): CircuitBreaker | null;
71
- /**
72
- * Reset a circuit breaker to closed state
73
- *
74
- * Manually resets a circuit breaker, clearing failure counts and
75
- * returning it to the closed state. Useful for recovery after
76
- * fixing underlying issues.
77
- *
78
- * @param name - Name of the circuit breaker to reset
79
- */
80
- resetCircuitBreaker(name: string): void;
81
- /**
82
- * Get aggregate retry metrics
83
- *
84
- * Returns statistics about retry behavior across all tasks,
85
- * including circuit breaker states.
86
- *
87
- * @returns Retry metrics (defensive copy)
88
- */
89
- getRetryMetrics(): RetryMetrics;
90
- /**
91
- * Register handler for retry attempt events
92
- *
93
- * Called whenever a task is retried after a failure. Useful for
94
- * logging, alerting, or monitoring retry patterns.
95
- *
96
- * @param handler - Callback function to invoke on each retry
97
- */
98
- onRetryAttempt(handler: RetryAttemptHandler): void;
99
- /**
100
- * Register handler for circuit breaker open events
101
- *
102
- * Called when a circuit breaker transitions from closed/half-open
103
- * to open state. Useful for alerting on service degradation.
104
- *
105
- * @param handler - Callback function to invoke when circuit opens
106
- */
107
- onCircuitOpen(handler: CircuitOpenHandler): void;
108
- }
109
- //# sourceMappingURL=executor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/execution/resilience/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,kBAAkB;IAKjC;;;;;;;;;;;OAWG;IACH,WAAW,CACT,IAAI,EAAE,aAAa,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAErC;;;;;;;;;OASG;IACH,YAAY,CACV,KAAK,EAAE,aAAa,EAAE,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAMvC;;;;;;;;OAQG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IAEvD;;;;;;;;OAQG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAMxC;;;;;;;OAOG;IACH,eAAe,IAAI,YAAY,CAAC;IAEhC;;;;;;;OAOG;IACH,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAEnD;;;;;;;OAOG;IACH,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAClD"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Resilient Executor Interface
3
- *
4
- * Core abstraction for resilient task execution. Provides methods for
5
- * executing tasks with retry logic, circuit breakers, and fault tolerance.
6
- *
7
- * @module execution/resilience/executor
8
- */
9
- export {};
10
- //# sourceMappingURL=executor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/execution/resilience/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Resilience Layer Exports
3
- *
4
- * Layer 3: Task Execution Layer - Resilience & Retry
5
- *
6
- * @module execution/resilience
7
- */
8
- export type { RetryPolicy, CircuitState, CircuitBreaker, ExecutionAttempt, ResilientExecutionResult, RetryMetrics, RetryAttemptHandler, CircuitOpenHandler, } from './types.js';
9
- export { DEFAULT_RETRY_POLICY } from './types.js';
10
- export type { IResilientExecutor } from './executor.js';
11
- export { ResilientExecutor } from './resilient-executor.js';
12
- export { calculateBackoff, isRetryableError, isRetryableExitCode, isRetryableResult, sleep, createAttempt, calculateTotalRetryDelay, } from './retry.js';
13
- export { CircuitBreakerManager, createCircuitBreaker, isInState, getState, getFailureRate, getSuccessRate, } from './circuit-breaker.js';
14
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/execution/resilience/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,EACL,aAAa,EACb,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,SAAS,EACT,QAAQ,EACR,cAAc,EACd,cAAc,GACf,MAAM,sBAAsB,CAAC"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Resilience Layer Exports
3
- *
4
- * Layer 3: Task Execution Layer - Resilience & Retry
5
- *
6
- * @module execution/resilience
7
- */
8
- export { DEFAULT_RETRY_POLICY } from './types.js';
9
- // Implementation
10
- export { ResilientExecutor } from './resilient-executor.js';
11
- // Retry utilities
12
- export { calculateBackoff, isRetryableError, isRetryableExitCode, isRetryableResult, sleep, createAttempt, calculateTotalRetryDelay, } from './retry.js';
13
- // Circuit breaker
14
- export { CircuitBreakerManager, createCircuitBreaker, isInState, getState, getFailureRate, getSuccessRate, } from './circuit-breaker.js';
15
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/execution/resilience/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAKlD,iBAAiB;AACjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,kBAAkB;AAClB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,EACL,aAAa,EACb,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAEpB,kBAAkB;AAClB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,SAAS,EACT,QAAQ,EACR,cAAc,EACd,cAAc,GACf,MAAM,sBAAsB,CAAC"}
@@ -1,86 +0,0 @@
1
- /**
2
- * Resilient Executor Implementation
3
- *
4
- * Implements resilient task execution with retry logic and circuit breakers.
5
- * Wraps the Engine Layer with fault tolerance mechanisms.
6
- *
7
- * @module execution/resilience/resilient-executor
8
- */
9
- import type { IExecutionEngine } from "../engine/engine.js";
10
- import type { ExecutionTask } from "../engine/types.js";
11
- import type { IResilientExecutor } from "./executor.js";
12
- import type { RetryPolicy, CircuitBreaker, RetryMetrics, ResilientExecutionResult, RetryAttemptHandler, CircuitOpenHandler } from "./types.js";
13
- /**
14
- * ResilientExecutor - Main implementation of resilient task execution
15
- *
16
- * Provides retry logic and circuit breaker protection for task execution.
17
- * Wraps an IExecutionEngine with fault tolerance mechanisms.
18
- *
19
- * @example
20
- * ```typescript
21
- * const engine = new SimpleExecutionEngine(processManager);
22
- * const executor = new ResilientExecutor(engine);
23
- *
24
- * const task: ExecutionTask = {
25
- * id: 'task-1',
26
- * type: 'issue',
27
- * prompt: 'Fix the bug in authentication',
28
- * workDir: '/path/to/project',
29
- * priority: 0,
30
- * dependencies: [],
31
- * createdAt: new Date(),
32
- * config: {},
33
- * };
34
- *
35
- * const result = await executor.executeTask(task);
36
- * console.log(`Completed after ${result.totalAttempts} attempts`);
37
- * ```
38
- */
39
- export declare class ResilientExecutor implements IResilientExecutor {
40
- private _engine;
41
- private _circuitManager;
42
- private _defaultPolicy;
43
- private _metrics;
44
- private _retryHandlers;
45
- private _circuitOpenHandlers;
46
- constructor(engine: IExecutionEngine, defaultPolicy?: RetryPolicy);
47
- /**
48
- * Execute a single task with retry and circuit breaker protection
49
- */
50
- executeTask(task: ExecutionTask, policy?: RetryPolicy): Promise<ResilientExecutionResult>;
51
- /**
52
- * Execute multiple tasks with retry and circuit breaker protection
53
- */
54
- executeTasks(tasks: ExecutionTask[], policy?: RetryPolicy): Promise<ResilientExecutionResult[]>;
55
- /**
56
- * Get circuit breaker by name
57
- */
58
- getCircuitBreaker(name: string): CircuitBreaker | null;
59
- /**
60
- * Reset a circuit breaker to closed state
61
- */
62
- resetCircuitBreaker(name: string): void;
63
- /**
64
- * Get aggregate retry metrics
65
- */
66
- getRetryMetrics(): RetryMetrics;
67
- /**
68
- * Register handler for retry attempt events
69
- */
70
- onRetryAttempt(handler: RetryAttemptHandler): void;
71
- /**
72
- * Register handler for circuit breaker open events
73
- */
74
- onCircuitOpen(handler: CircuitOpenHandler): void;
75
- /**
76
- * Helper to create ResilientExecutionResult from engine result
77
- * @private
78
- */
79
- private _createResilientResult;
80
- /**
81
- * Helper to update average attempts to success metric
82
- * @private
83
- */
84
- private _updateAverageAttempts;
85
- }
86
- //# sourceMappingURL=resilient-executor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resilient-executor.d.ts","sourceRoot":"","sources":["../../../src/execution/resilience/resilient-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,wBAAwB,EAExB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAWpB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAe;IAG/B,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,oBAAoB,CAA4B;gBAGtD,MAAM,EAAE,gBAAgB,EACxB,aAAa,GAAE,WAAkC;IAcnD;;OAEG;IACG,WAAW,CACf,IAAI,EAAE,aAAa,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,wBAAwB,CAAC;IAkLpC;;OAEG;IACG,YAAY,CAChB,KAAK,EAAE,aAAa,EAAE,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAMtC;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAItD;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIvC;;OAEG;IACH,eAAe,IAAI,YAAY;IAW/B;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAIlD;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAIhD;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;CAQ/B"}