sudocode 1.1.20 → 1.1.22

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 (857) hide show
  1. package/package.json +9 -9
  2. package/node_modules/@sudocode-ai/cli/README.md +0 -1629
  3. package/node_modules/@sudocode-ai/cli/dist/auth/claude.d.ts +0 -19
  4. package/node_modules/@sudocode-ai/cli/dist/auth/claude.d.ts.map +0 -1
  5. package/node_modules/@sudocode-ai/cli/dist/auth/claude.js +0 -179
  6. package/node_modules/@sudocode-ai/cli/dist/auth/claude.js.map +0 -1
  7. package/node_modules/@sudocode-ai/cli/dist/auth/clear.d.ts +0 -17
  8. package/node_modules/@sudocode-ai/cli/dist/auth/clear.d.ts.map +0 -1
  9. package/node_modules/@sudocode-ai/cli/dist/auth/clear.js +0 -68
  10. package/node_modules/@sudocode-ai/cli/dist/auth/clear.js.map +0 -1
  11. package/node_modules/@sudocode-ai/cli/dist/auth/credentials.d.ts +0 -93
  12. package/node_modules/@sudocode-ai/cli/dist/auth/credentials.d.ts.map +0 -1
  13. package/node_modules/@sudocode-ai/cli/dist/auth/credentials.js +0 -255
  14. package/node_modules/@sudocode-ai/cli/dist/auth/credentials.js.map +0 -1
  15. package/node_modules/@sudocode-ai/cli/dist/auth/index.d.ts +0 -13
  16. package/node_modules/@sudocode-ai/cli/dist/auth/index.d.ts.map +0 -1
  17. package/node_modules/@sudocode-ai/cli/dist/auth/index.js +0 -19
  18. package/node_modules/@sudocode-ai/cli/dist/auth/index.js.map +0 -1
  19. package/node_modules/@sudocode-ai/cli/dist/auth/status.d.ts +0 -17
  20. package/node_modules/@sudocode-ai/cli/dist/auth/status.d.ts.map +0 -1
  21. package/node_modules/@sudocode-ai/cli/dist/auth/status.js +0 -132
  22. package/node_modules/@sudocode-ai/cli/dist/auth/status.js.map +0 -1
  23. package/node_modules/@sudocode-ai/cli/dist/cli/auth-commands.d.ts +0 -34
  24. package/node_modules/@sudocode-ai/cli/dist/cli/auth-commands.d.ts.map +0 -1
  25. package/node_modules/@sudocode-ai/cli/dist/cli/auth-commands.js +0 -28
  26. package/node_modules/@sudocode-ai/cli/dist/cli/auth-commands.js.map +0 -1
  27. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.d.ts +0 -53
  28. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.d.ts.map +0 -1
  29. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.js +0 -339
  30. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.js.map +0 -1
  31. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.d.ts +0 -20
  32. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.d.ts.map +0 -1
  33. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.js +0 -145
  34. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.js.map +0 -1
  35. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.d.ts +0 -46
  36. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.d.ts.map +0 -1
  37. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.js +0 -353
  38. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.js.map +0 -1
  39. package/node_modules/@sudocode-ai/cli/dist/cli/merge-commands.d.ts +0 -42
  40. package/node_modules/@sudocode-ai/cli/dist/cli/merge-commands.d.ts.map +0 -1
  41. package/node_modules/@sudocode-ai/cli/dist/cli/merge-commands.js +0 -680
  42. package/node_modules/@sudocode-ai/cli/dist/cli/merge-commands.js.map +0 -1
  43. package/node_modules/@sudocode-ai/cli/dist/cli/plugin-commands.d.ts +0 -62
  44. package/node_modules/@sudocode-ai/cli/dist/cli/plugin-commands.d.ts.map +0 -1
  45. package/node_modules/@sudocode-ai/cli/dist/cli/plugin-commands.js +0 -595
  46. package/node_modules/@sudocode-ai/cli/dist/cli/plugin-commands.js.map +0 -1
  47. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.d.ts +0 -18
  48. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.d.ts.map +0 -1
  49. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.js +0 -61
  50. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.js.map +0 -1
  51. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.d.ts +0 -22
  52. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.d.ts.map +0 -1
  53. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.js +0 -136
  54. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.js.map +0 -1
  55. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.d.ts +0 -14
  56. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.d.ts.map +0 -1
  57. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.js +0 -83
  58. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.js.map +0 -1
  59. package/node_modules/@sudocode-ai/cli/dist/cli/remote-commands.d.ts +0 -59
  60. package/node_modules/@sudocode-ai/cli/dist/cli/remote-commands.d.ts.map +0 -1
  61. package/node_modules/@sudocode-ai/cli/dist/cli/remote-commands.js +0 -391
  62. package/node_modules/@sudocode-ai/cli/dist/cli/remote-commands.js.map +0 -1
  63. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.d.ts +0 -17
  64. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.d.ts.map +0 -1
  65. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.js +0 -123
  66. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.js.map +0 -1
  67. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.d.ts +0 -38
  68. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.d.ts.map +0 -1
  69. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.js +0 -326
  70. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.js.map +0 -1
  71. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.d.ts +0 -17
  72. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.d.ts.map +0 -1
  73. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.js +0 -131
  74. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.js.map +0 -1
  75. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.d.ts +0 -24
  76. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.d.ts.map +0 -1
  77. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.js +0 -429
  78. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.js.map +0 -1
  79. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.d.ts +0 -16
  80. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.d.ts.map +0 -1
  81. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.js +0 -216
  82. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.js.map +0 -1
  83. package/node_modules/@sudocode-ai/cli/dist/cli.d.ts +0 -6
  84. package/node_modules/@sudocode-ai/cli/dist/cli.d.ts.map +0 -1
  85. package/node_modules/@sudocode-ai/cli/dist/cli.js +0 -673
  86. package/node_modules/@sudocode-ai/cli/dist/cli.js.map +0 -1
  87. package/node_modules/@sudocode-ai/cli/dist/config.d.ts +0 -50
  88. package/node_modules/@sudocode-ai/cli/dist/config.d.ts.map +0 -1
  89. package/node_modules/@sudocode-ai/cli/dist/config.js +0 -76
  90. package/node_modules/@sudocode-ai/cli/dist/config.js.map +0 -1
  91. package/node_modules/@sudocode-ai/cli/dist/db.d.ts +0 -21
  92. package/node_modules/@sudocode-ai/cli/dist/db.d.ts.map +0 -1
  93. package/node_modules/@sudocode-ai/cli/dist/db.js +0 -55
  94. package/node_modules/@sudocode-ai/cli/dist/db.js.map +0 -1
  95. package/node_modules/@sudocode-ai/cli/dist/export.d.ts +0 -84
  96. package/node_modules/@sudocode-ai/cli/dist/export.d.ts.map +0 -1
  97. package/node_modules/@sudocode-ai/cli/dist/export.js +0 -265
  98. package/node_modules/@sudocode-ai/cli/dist/export.js.map +0 -1
  99. package/node_modules/@sudocode-ai/cli/dist/filename-generator.d.ts +0 -31
  100. package/node_modules/@sudocode-ai/cli/dist/filename-generator.d.ts.map +0 -1
  101. package/node_modules/@sudocode-ai/cli/dist/filename-generator.js +0 -103
  102. package/node_modules/@sudocode-ai/cli/dist/filename-generator.js.map +0 -1
  103. package/node_modules/@sudocode-ai/cli/dist/git-merge.d.ts +0 -88
  104. package/node_modules/@sudocode-ai/cli/dist/git-merge.d.ts.map +0 -1
  105. package/node_modules/@sudocode-ai/cli/dist/git-merge.js +0 -214
  106. package/node_modules/@sudocode-ai/cli/dist/git-merge.js.map +0 -1
  107. package/node_modules/@sudocode-ai/cli/dist/id-generator.d.ts +0 -63
  108. package/node_modules/@sudocode-ai/cli/dist/id-generator.d.ts.map +0 -1
  109. package/node_modules/@sudocode-ai/cli/dist/id-generator.js +0 -196
  110. package/node_modules/@sudocode-ai/cli/dist/id-generator.js.map +0 -1
  111. package/node_modules/@sudocode-ai/cli/dist/import.d.ts +0 -134
  112. package/node_modules/@sudocode-ai/cli/dist/import.d.ts.map +0 -1
  113. package/node_modules/@sudocode-ai/cli/dist/import.js +0 -751
  114. package/node_modules/@sudocode-ai/cli/dist/import.js.map +0 -1
  115. package/node_modules/@sudocode-ai/cli/dist/index.d.ts +0 -17
  116. package/node_modules/@sudocode-ai/cli/dist/index.d.ts.map +0 -1
  117. package/node_modules/@sudocode-ai/cli/dist/index.js +0 -17
  118. package/node_modules/@sudocode-ai/cli/dist/index.js.map +0 -1
  119. package/node_modules/@sudocode-ai/cli/dist/integrations/base-provider.d.ts +0 -108
  120. package/node_modules/@sudocode-ai/cli/dist/integrations/base-provider.d.ts.map +0 -1
  121. package/node_modules/@sudocode-ai/cli/dist/integrations/base-provider.js +0 -80
  122. package/node_modules/@sudocode-ai/cli/dist/integrations/base-provider.js.map +0 -1
  123. package/node_modules/@sudocode-ai/cli/dist/integrations/config-resolver.d.ts +0 -62
  124. package/node_modules/@sudocode-ai/cli/dist/integrations/config-resolver.d.ts.map +0 -1
  125. package/node_modules/@sudocode-ai/cli/dist/integrations/config-resolver.js +0 -69
  126. package/node_modules/@sudocode-ai/cli/dist/integrations/config-resolver.js.map +0 -1
  127. package/node_modules/@sudocode-ai/cli/dist/integrations/config-validator.d.ts +0 -75
  128. package/node_modules/@sudocode-ai/cli/dist/integrations/config-validator.d.ts.map +0 -1
  129. package/node_modules/@sudocode-ai/cli/dist/integrations/config-validator.js +0 -129
  130. package/node_modules/@sudocode-ai/cli/dist/integrations/config-validator.js.map +0 -1
  131. package/node_modules/@sudocode-ai/cli/dist/integrations/index.d.ts +0 -14
  132. package/node_modules/@sudocode-ai/cli/dist/integrations/index.d.ts.map +0 -1
  133. package/node_modules/@sudocode-ai/cli/dist/integrations/index.js +0 -20
  134. package/node_modules/@sudocode-ai/cli/dist/integrations/index.js.map +0 -1
  135. package/node_modules/@sudocode-ai/cli/dist/integrations/plugin-loader.d.ts +0 -77
  136. package/node_modules/@sudocode-ai/cli/dist/integrations/plugin-loader.d.ts.map +0 -1
  137. package/node_modules/@sudocode-ai/cli/dist/integrations/plugin-loader.js +0 -265
  138. package/node_modules/@sudocode-ai/cli/dist/integrations/plugin-loader.js.map +0 -1
  139. package/node_modules/@sudocode-ai/cli/dist/integrations/registry.d.ts +0 -67
  140. package/node_modules/@sudocode-ai/cli/dist/integrations/registry.d.ts.map +0 -1
  141. package/node_modules/@sudocode-ai/cli/dist/integrations/registry.js +0 -77
  142. package/node_modules/@sudocode-ai/cli/dist/integrations/registry.js.map +0 -1
  143. package/node_modules/@sudocode-ai/cli/dist/integrations/sync-coordinator.d.ts +0 -191
  144. package/node_modules/@sudocode-ai/cli/dist/integrations/sync-coordinator.d.ts.map +0 -1
  145. package/node_modules/@sudocode-ai/cli/dist/integrations/sync-coordinator.js +0 -798
  146. package/node_modules/@sudocode-ai/cli/dist/integrations/sync-coordinator.js.map +0 -1
  147. package/node_modules/@sudocode-ai/cli/dist/integrations/types.d.ts +0 -142
  148. package/node_modules/@sudocode-ai/cli/dist/integrations/types.d.ts.map +0 -1
  149. package/node_modules/@sudocode-ai/cli/dist/integrations/types.js +0 -6
  150. package/node_modules/@sudocode-ai/cli/dist/integrations/types.js.map +0 -1
  151. package/node_modules/@sudocode-ai/cli/dist/integrations/utils/conflict-resolver.d.ts +0 -79
  152. package/node_modules/@sudocode-ai/cli/dist/integrations/utils/conflict-resolver.d.ts.map +0 -1
  153. package/node_modules/@sudocode-ai/cli/dist/integrations/utils/conflict-resolver.js +0 -106
  154. package/node_modules/@sudocode-ai/cli/dist/integrations/utils/conflict-resolver.js.map +0 -1
  155. package/node_modules/@sudocode-ai/cli/dist/jsonl.d.ts +0 -69
  156. package/node_modules/@sudocode-ai/cli/dist/jsonl.d.ts.map +0 -1
  157. package/node_modules/@sudocode-ai/cli/dist/jsonl.js +0 -333
  158. package/node_modules/@sudocode-ai/cli/dist/jsonl.js.map +0 -1
  159. package/node_modules/@sudocode-ai/cli/dist/markdown.d.ts +0 -146
  160. package/node_modules/@sudocode-ai/cli/dist/markdown.d.ts.map +0 -1
  161. package/node_modules/@sudocode-ai/cli/dist/markdown.js +0 -329
  162. package/node_modules/@sudocode-ai/cli/dist/markdown.js.map +0 -1
  163. package/node_modules/@sudocode-ai/cli/dist/merge-resolver.d.ts +0 -157
  164. package/node_modules/@sudocode-ai/cli/dist/merge-resolver.d.ts.map +0 -1
  165. package/node_modules/@sudocode-ai/cli/dist/merge-resolver.js +0 -716
  166. package/node_modules/@sudocode-ai/cli/dist/merge-resolver.js.map +0 -1
  167. package/node_modules/@sudocode-ai/cli/dist/operations/events.d.ts +0 -53
  168. package/node_modules/@sudocode-ai/cli/dist/operations/events.d.ts.map +0 -1
  169. package/node_modules/@sudocode-ai/cli/dist/operations/events.js +0 -108
  170. package/node_modules/@sudocode-ai/cli/dist/operations/events.js.map +0 -1
  171. package/node_modules/@sudocode-ai/cli/dist/operations/external-links.d.ts +0 -147
  172. package/node_modules/@sudocode-ai/cli/dist/operations/external-links.d.ts.map +0 -1
  173. package/node_modules/@sudocode-ai/cli/dist/operations/external-links.js +0 -411
  174. package/node_modules/@sudocode-ai/cli/dist/operations/external-links.js.map +0 -1
  175. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.d.ts +0 -92
  176. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.d.ts.map +0 -1
  177. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.js +0 -444
  178. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.js.map +0 -1
  179. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.d.ts +0 -94
  180. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.d.ts.map +0 -1
  181. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.js +0 -278
  182. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.js.map +0 -1
  183. package/node_modules/@sudocode-ai/cli/dist/operations/index.d.ts +0 -11
  184. package/node_modules/@sudocode-ai/cli/dist/operations/index.d.ts.map +0 -1
  185. package/node_modules/@sudocode-ai/cli/dist/operations/index.js +0 -11
  186. package/node_modules/@sudocode-ai/cli/dist/operations/index.js.map +0 -1
  187. package/node_modules/@sudocode-ai/cli/dist/operations/issues.d.ts +0 -88
  188. package/node_modules/@sudocode-ai/cli/dist/operations/issues.d.ts.map +0 -1
  189. package/node_modules/@sudocode-ai/cli/dist/operations/issues.js +0 -474
  190. package/node_modules/@sudocode-ai/cli/dist/operations/issues.js.map +0 -1
  191. package/node_modules/@sudocode-ai/cli/dist/operations/references.d.ts +0 -34
  192. package/node_modules/@sudocode-ai/cli/dist/operations/references.d.ts.map +0 -1
  193. package/node_modules/@sudocode-ai/cli/dist/operations/references.js +0 -117
  194. package/node_modules/@sudocode-ai/cli/dist/operations/references.js.map +0 -1
  195. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.d.ts +0 -64
  196. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.d.ts.map +0 -1
  197. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.js +0 -281
  198. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.js.map +0 -1
  199. package/node_modules/@sudocode-ai/cli/dist/operations/specs.d.ts +0 -69
  200. package/node_modules/@sudocode-ai/cli/dist/operations/specs.d.ts.map +0 -1
  201. package/node_modules/@sudocode-ai/cli/dist/operations/specs.js +0 -330
  202. package/node_modules/@sudocode-ai/cli/dist/operations/specs.js.map +0 -1
  203. package/node_modules/@sudocode-ai/cli/dist/operations/tags.d.ts +0 -42
  204. package/node_modules/@sudocode-ai/cli/dist/operations/tags.d.ts.map +0 -1
  205. package/node_modules/@sudocode-ai/cli/dist/operations/tags.js +0 -127
  206. package/node_modules/@sudocode-ai/cli/dist/operations/tags.js.map +0 -1
  207. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.d.ts +0 -41
  208. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.d.ts.map +0 -1
  209. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.js +0 -111
  210. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.js.map +0 -1
  211. package/node_modules/@sudocode-ai/cli/dist/remote/claude-auth.d.ts +0 -65
  212. package/node_modules/@sudocode-ai/cli/dist/remote/claude-auth.d.ts.map +0 -1
  213. package/node_modules/@sudocode-ai/cli/dist/remote/claude-auth.js +0 -100
  214. package/node_modules/@sudocode-ai/cli/dist/remote/claude-auth.js.map +0 -1
  215. package/node_modules/@sudocode-ai/cli/dist/remote/config.d.ts +0 -83
  216. package/node_modules/@sudocode-ai/cli/dist/remote/config.d.ts.map +0 -1
  217. package/node_modules/@sudocode-ai/cli/dist/remote/config.js +0 -266
  218. package/node_modules/@sudocode-ai/cli/dist/remote/config.js.map +0 -1
  219. package/node_modules/@sudocode-ai/cli/dist/remote/errors.d.ts +0 -18
  220. package/node_modules/@sudocode-ai/cli/dist/remote/errors.d.ts.map +0 -1
  221. package/node_modules/@sudocode-ai/cli/dist/remote/errors.js +0 -27
  222. package/node_modules/@sudocode-ai/cli/dist/remote/errors.js.map +0 -1
  223. package/node_modules/@sudocode-ai/cli/dist/remote/git-context.d.ts +0 -51
  224. package/node_modules/@sudocode-ai/cli/dist/remote/git-context.d.ts.map +0 -1
  225. package/node_modules/@sudocode-ai/cli/dist/remote/git-context.js +0 -107
  226. package/node_modules/@sudocode-ai/cli/dist/remote/git-context.js.map +0 -1
  227. package/node_modules/@sudocode-ai/cli/dist/remote/spawn-service.d.ts +0 -86
  228. package/node_modules/@sudocode-ai/cli/dist/remote/spawn-service.d.ts.map +0 -1
  229. package/node_modules/@sudocode-ai/cli/dist/remote/spawn-service.js +0 -248
  230. package/node_modules/@sudocode-ai/cli/dist/remote/spawn-service.js.map +0 -1
  231. package/node_modules/@sudocode-ai/cli/dist/remote/types.d.ts +0 -82
  232. package/node_modules/@sudocode-ai/cli/dist/remote/types.d.ts.map +0 -1
  233. package/node_modules/@sudocode-ai/cli/dist/remote/types.js +0 -5
  234. package/node_modules/@sudocode-ai/cli/dist/remote/types.js.map +0 -1
  235. package/node_modules/@sudocode-ai/cli/dist/sync.d.ts +0 -47
  236. package/node_modules/@sudocode-ai/cli/dist/sync.d.ts.map +0 -1
  237. package/node_modules/@sudocode-ai/cli/dist/sync.js +0 -464
  238. package/node_modules/@sudocode-ai/cli/dist/sync.js.map +0 -1
  239. package/node_modules/@sudocode-ai/cli/dist/test-schema.d.ts +0 -5
  240. package/node_modules/@sudocode-ai/cli/dist/test-schema.d.ts.map +0 -1
  241. package/node_modules/@sudocode-ai/cli/dist/test-schema.js +0 -46
  242. package/node_modules/@sudocode-ai/cli/dist/test-schema.js.map +0 -1
  243. package/node_modules/@sudocode-ai/cli/dist/types.d.ts +0 -7
  244. package/node_modules/@sudocode-ai/cli/dist/types.d.ts.map +0 -1
  245. package/node_modules/@sudocode-ai/cli/dist/types.js +0 -7
  246. package/node_modules/@sudocode-ai/cli/dist/types.js.map +0 -1
  247. package/node_modules/@sudocode-ai/cli/dist/update-checker.d.ts +0 -33
  248. package/node_modules/@sudocode-ai/cli/dist/update-checker.d.ts.map +0 -1
  249. package/node_modules/@sudocode-ai/cli/dist/update-checker.js +0 -193
  250. package/node_modules/@sudocode-ai/cli/dist/update-checker.js.map +0 -1
  251. package/node_modules/@sudocode-ai/cli/dist/validation.d.ts +0 -11
  252. package/node_modules/@sudocode-ai/cli/dist/validation.d.ts.map +0 -1
  253. package/node_modules/@sudocode-ai/cli/dist/validation.js +0 -58
  254. package/node_modules/@sudocode-ai/cli/dist/validation.js.map +0 -1
  255. package/node_modules/@sudocode-ai/cli/dist/version.d.ts +0 -12
  256. package/node_modules/@sudocode-ai/cli/dist/version.d.ts.map +0 -1
  257. package/node_modules/@sudocode-ai/cli/dist/version.js +0 -23
  258. package/node_modules/@sudocode-ai/cli/dist/version.js.map +0 -1
  259. package/node_modules/@sudocode-ai/cli/dist/watcher.d.ts +0 -75
  260. package/node_modules/@sudocode-ai/cli/dist/watcher.d.ts.map +0 -1
  261. package/node_modules/@sudocode-ai/cli/dist/watcher.js +0 -797
  262. package/node_modules/@sudocode-ai/cli/dist/watcher.js.map +0 -1
  263. package/node_modules/@sudocode-ai/cli/dist/yaml-conflict-resolver.d.ts +0 -91
  264. package/node_modules/@sudocode-ai/cli/dist/yaml-conflict-resolver.d.ts.map +0 -1
  265. package/node_modules/@sudocode-ai/cli/dist/yaml-conflict-resolver.js +0 -197
  266. package/node_modules/@sudocode-ai/cli/dist/yaml-conflict-resolver.js.map +0 -1
  267. package/node_modules/@sudocode-ai/cli/dist/yaml-converter.d.ts +0 -68
  268. package/node_modules/@sudocode-ai/cli/dist/yaml-converter.d.ts.map +0 -1
  269. package/node_modules/@sudocode-ai/cli/dist/yaml-converter.js +0 -109
  270. package/node_modules/@sudocode-ai/cli/dist/yaml-converter.js.map +0 -1
  271. package/node_modules/@sudocode-ai/cli/package.json +0 -76
  272. package/node_modules/@sudocode-ai/integration-beads/package.json +0 -44
  273. package/node_modules/@sudocode-ai/integration-github/package.json +0 -41
  274. package/node_modules/@sudocode-ai/integration-openspec/package.json +0 -43
  275. package/node_modules/@sudocode-ai/integration-speckit/package.json +0 -42
  276. package/node_modules/@sudocode-ai/local-server/README.md +0 -25
  277. package/node_modules/@sudocode-ai/local-server/dist/cli.d.ts +0 -7
  278. package/node_modules/@sudocode-ai/local-server/dist/cli.d.ts.map +0 -1
  279. package/node_modules/@sudocode-ai/local-server/dist/cli.js +0 -7
  280. package/node_modules/@sudocode-ai/local-server/dist/cli.js.map +0 -1
  281. package/node_modules/@sudocode-ai/local-server/dist/errors/agent-errors.d.ts +0 -43
  282. package/node_modules/@sudocode-ai/local-server/dist/errors/agent-errors.d.ts.map +0 -1
  283. package/node_modules/@sudocode-ai/local-server/dist/errors/agent-errors.js +0 -69
  284. package/node_modules/@sudocode-ai/local-server/dist/errors/agent-errors.js.map +0 -1
  285. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/claude-adapter.d.ts +0 -63
  286. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/claude-adapter.d.ts.map +0 -1
  287. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/claude-adapter.js +0 -83
  288. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/claude-adapter.js.map +0 -1
  289. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/codex-adapter.d.ts +0 -67
  290. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/codex-adapter.d.ts.map +0 -1
  291. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/codex-adapter.js +0 -183
  292. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/codex-adapter.js.map +0 -1
  293. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/codex-config-builder.d.ts +0 -30
  294. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/codex-config-builder.d.ts.map +0 -1
  295. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/codex-config-builder.js +0 -110
  296. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/codex-config-builder.js.map +0 -1
  297. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/copilot-adapter.d.ts +0 -94
  298. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/copilot-adapter.d.ts.map +0 -1
  299. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/copilot-adapter.js +0 -163
  300. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/copilot-adapter.js.map +0 -1
  301. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/copilot-config-builder.d.ts +0 -48
  302. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/copilot-config-builder.d.ts.map +0 -1
  303. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/copilot-config-builder.js +0 -125
  304. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/copilot-config-builder.js.map +0 -1
  305. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/cursor-adapter.d.ts +0 -66
  306. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/cursor-adapter.d.ts.map +0 -1
  307. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/cursor-adapter.js +0 -121
  308. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/cursor-adapter.js.map +0 -1
  309. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/cursor-config-builder.d.ts +0 -29
  310. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/cursor-config-builder.d.ts.map +0 -1
  311. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/cursor-config-builder.js +0 -49
  312. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/cursor-config-builder.js.map +0 -1
  313. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/config-presets.d.ts +0 -102
  314. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/config-presets.d.ts.map +0 -1
  315. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/config-presets.js +0 -205
  316. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/config-presets.js.map +0 -1
  317. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/config-utils.d.ts +0 -95
  318. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/config-utils.d.ts.map +0 -1
  319. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/config-utils.js +0 -163
  320. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/config-utils.js.map +0 -1
  321. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/index.d.ts +0 -8
  322. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/index.d.ts.map +0 -1
  323. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/index.js +0 -8
  324. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/index.js.map +0 -1
  325. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/acp-executor-wrapper.d.ts +0 -331
  326. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/acp-executor-wrapper.d.ts.map +0 -1
  327. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/acp-executor-wrapper.js +0 -1126
  328. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/acp-executor-wrapper.js.map +0 -1
  329. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/agent-config-handlers.d.ts +0 -158
  330. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/agent-config-handlers.d.ts.map +0 -1
  331. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/agent-config-handlers.js +0 -352
  332. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/agent-config-handlers.js.map +0 -1
  333. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/executor-factory.d.ts +0 -170
  334. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/executor-factory.d.ts.map +0 -1
  335. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/executor-factory.js +0 -216
  336. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/executor-factory.js.map +0 -1
  337. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/legacy-shim-executor-wrapper.d.ts +0 -216
  338. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/legacy-shim-executor-wrapper.d.ts.map +0 -1
  339. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/legacy-shim-executor-wrapper.js +0 -679
  340. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/legacy-shim-executor-wrapper.js.map +0 -1
  341. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/permission-manager.d.ts +0 -118
  342. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/permission-manager.d.ts.map +0 -1
  343. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/permission-manager.js +0 -143
  344. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/permission-manager.js.map +0 -1
  345. package/node_modules/@sudocode-ai/local-server/dist/execution/handlers/file-handler.d.ts +0 -60
  346. package/node_modules/@sudocode-ai/local-server/dist/execution/handlers/file-handler.d.ts.map +0 -1
  347. package/node_modules/@sudocode-ai/local-server/dist/execution/handlers/file-handler.js +0 -115
  348. package/node_modules/@sudocode-ai/local-server/dist/execution/handlers/file-handler.js.map +0 -1
  349. package/node_modules/@sudocode-ai/local-server/dist/execution/output/coalesced-types.d.ts +0 -131
  350. package/node_modules/@sudocode-ai/local-server/dist/execution/output/coalesced-types.d.ts.map +0 -1
  351. package/node_modules/@sudocode-ai/local-server/dist/execution/output/coalesced-types.js +0 -47
  352. package/node_modules/@sudocode-ai/local-server/dist/execution/output/coalesced-types.js.map +0 -1
  353. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.d.ts +0 -16
  354. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.d.ts.map +0 -1
  355. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.js +0 -15
  356. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.js.map +0 -1
  357. package/node_modules/@sudocode-ai/local-server/dist/execution/output/normalized-to-coalesced.d.ts +0 -40
  358. package/node_modules/@sudocode-ai/local-server/dist/execution/output/normalized-to-coalesced.d.ts.map +0 -1
  359. package/node_modules/@sudocode-ai/local-server/dist/execution/output/normalized-to-coalesced.js +0 -165
  360. package/node_modules/@sudocode-ai/local-server/dist/execution/output/normalized-to-coalesced.js.map +0 -1
  361. package/node_modules/@sudocode-ai/local-server/dist/execution/output/session-update-coalescer.d.ts +0 -99
  362. package/node_modules/@sudocode-ai/local-server/dist/execution/output/session-update-coalescer.d.ts.map +0 -1
  363. package/node_modules/@sudocode-ai/local-server/dist/execution/output/session-update-coalescer.js +0 -329
  364. package/node_modules/@sudocode-ai/local-server/dist/execution/output/session-update-coalescer.js.map +0 -1
  365. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.d.ts +0 -421
  366. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.d.ts.map +0 -1
  367. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.js +0 -22
  368. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.js.map +0 -1
  369. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.d.ts +0 -53
  370. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.d.ts.map +0 -1
  371. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.js +0 -225
  372. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.js.map +0 -1
  373. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.d.ts +0 -74
  374. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.d.ts.map +0 -1
  375. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.js +0 -280
  376. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.js.map +0 -1
  377. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/conflict-detector.d.ts +0 -85
  378. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/conflict-detector.d.ts.map +0 -1
  379. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/conflict-detector.js +0 -129
  380. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/conflict-detector.js.map +0 -1
  381. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.d.ts +0 -208
  382. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.d.ts.map +0 -1
  383. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.js +0 -280
  384. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.js.map +0 -1
  385. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-sync-cli.d.ts +0 -225
  386. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-sync-cli.d.ts.map +0 -1
  387. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-sync-cli.js +0 -464
  388. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-sync-cli.js.map +0 -1
  389. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.d.ts +0 -16
  390. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.d.ts.map +0 -1
  391. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.js +0 -15
  392. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.js.map +0 -1
  393. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.d.ts +0 -221
  394. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.d.ts.map +0 -1
  395. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.js +0 -508
  396. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.js.map +0 -1
  397. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.d.ts +0 -90
  398. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.d.ts.map +0 -1
  399. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.js +0 -42
  400. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.js.map +0 -1
  401. package/node_modules/@sudocode-ai/local-server/dist/index.d.ts +0 -3
  402. package/node_modules/@sudocode-ai/local-server/dist/index.d.ts.map +0 -1
  403. package/node_modules/@sudocode-ai/local-server/dist/index.js +0 -413
  404. package/node_modules/@sudocode-ai/local-server/dist/index.js.map +0 -1
  405. package/node_modules/@sudocode-ai/local-server/dist/middleware/project-context.d.ts +0 -37
  406. package/node_modules/@sudocode-ai/local-server/dist/middleware/project-context.d.ts.map +0 -1
  407. package/node_modules/@sudocode-ai/local-server/dist/middleware/project-context.js +0 -91
  408. package/node_modules/@sudocode-ai/local-server/dist/middleware/project-context.js.map +0 -1
  409. package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-6xIC1sAG.js +0 -3837
  410. package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-6xIC1sAG.js.map +0 -1
  411. package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-QH6t9Xqh.css +0 -1
  412. package/node_modules/@sudocode-ai/local-server/dist/public/assets/ort-wasm-simd-threaded.jsep-B0T3yYHD.wasm +0 -0
  413. package/node_modules/@sudocode-ai/local-server/dist/public/assets/react-vendor-DoNwlLhy.js +0 -60
  414. package/node_modules/@sudocode-ai/local-server/dist/public/assets/react-vendor-DoNwlLhy.js.map +0 -1
  415. package/node_modules/@sudocode-ai/local-server/dist/public/assets/ui-vendor-DlxvBun1.js +0 -54
  416. package/node_modules/@sudocode-ai/local-server/dist/public/assets/ui-vendor-DlxvBun1.js.map +0 -1
  417. package/node_modules/@sudocode-ai/local-server/dist/public/favicon.ico +0 -0
  418. package/node_modules/@sudocode-ai/local-server/dist/public/index.html +0 -16
  419. package/node_modules/@sudocode-ai/local-server/dist/public/kokoro-test.html +0 -197
  420. package/node_modules/@sudocode-ai/local-server/dist/public/logo.png +0 -0
  421. package/node_modules/@sudocode-ai/local-server/dist/routes/agents.d.ts +0 -3
  422. package/node_modules/@sudocode-ai/local-server/dist/routes/agents.d.ts.map +0 -1
  423. package/node_modules/@sudocode-ai/local-server/dist/routes/agents.js +0 -188
  424. package/node_modules/@sudocode-ai/local-server/dist/routes/agents.js.map +0 -1
  425. package/node_modules/@sudocode-ai/local-server/dist/routes/config.d.ts +0 -3
  426. package/node_modules/@sudocode-ai/local-server/dist/routes/config.d.ts.map +0 -1
  427. package/node_modules/@sudocode-ai/local-server/dist/routes/config.js +0 -155
  428. package/node_modules/@sudocode-ai/local-server/dist/routes/config.js.map +0 -1
  429. package/node_modules/@sudocode-ai/local-server/dist/routes/editors.d.ts +0 -15
  430. package/node_modules/@sudocode-ai/local-server/dist/routes/editors.d.ts.map +0 -1
  431. package/node_modules/@sudocode-ai/local-server/dist/routes/editors.js +0 -98
  432. package/node_modules/@sudocode-ai/local-server/dist/routes/editors.js.map +0 -1
  433. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.d.ts +0 -18
  434. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.d.ts.map +0 -1
  435. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.js +0 -1570
  436. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.js.map +0 -1
  437. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.d.ts +0 -8
  438. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.d.ts.map +0 -1
  439. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.js +0 -340
  440. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.js.map +0 -1
  441. package/node_modules/@sudocode-ai/local-server/dist/routes/files.d.ts +0 -18
  442. package/node_modules/@sudocode-ai/local-server/dist/routes/files.d.ts.map +0 -1
  443. package/node_modules/@sudocode-ai/local-server/dist/routes/files.js +0 -89
  444. package/node_modules/@sudocode-ai/local-server/dist/routes/files.js.map +0 -1
  445. package/node_modules/@sudocode-ai/local-server/dist/routes/import.d.ts +0 -142
  446. package/node_modules/@sudocode-ai/local-server/dist/routes/import.d.ts.map +0 -1
  447. package/node_modules/@sudocode-ai/local-server/dist/routes/import.js +0 -896
  448. package/node_modules/@sudocode-ai/local-server/dist/routes/import.js.map +0 -1
  449. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.d.ts +0 -8
  450. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.d.ts.map +0 -1
  451. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.js +0 -419
  452. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.js.map +0 -1
  453. package/node_modules/@sudocode-ai/local-server/dist/routes/plugins.d.ts +0 -34
  454. package/node_modules/@sudocode-ai/local-server/dist/routes/plugins.d.ts.map +0 -1
  455. package/node_modules/@sudocode-ai/local-server/dist/routes/plugins.js +0 -602
  456. package/node_modules/@sudocode-ai/local-server/dist/routes/plugins.js.map +0 -1
  457. package/node_modules/@sudocode-ai/local-server/dist/routes/projects.d.ts +0 -11
  458. package/node_modules/@sudocode-ai/local-server/dist/routes/projects.d.ts.map +0 -1
  459. package/node_modules/@sudocode-ai/local-server/dist/routes/projects.js +0 -536
  460. package/node_modules/@sudocode-ai/local-server/dist/routes/projects.js.map +0 -1
  461. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.d.ts +0 -8
  462. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.d.ts.map +0 -1
  463. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.js +0 -310
  464. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.js.map +0 -1
  465. package/node_modules/@sudocode-ai/local-server/dist/routes/repo-info.d.ts +0 -3
  466. package/node_modules/@sudocode-ai/local-server/dist/routes/repo-info.d.ts.map +0 -1
  467. package/node_modules/@sudocode-ai/local-server/dist/routes/repo-info.js +0 -203
  468. package/node_modules/@sudocode-ai/local-server/dist/routes/repo-info.js.map +0 -1
  469. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.d.ts +0 -8
  470. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.d.ts.map +0 -1
  471. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.js +0 -414
  472. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.js.map +0 -1
  473. package/node_modules/@sudocode-ai/local-server/dist/routes/update.d.ts +0 -7
  474. package/node_modules/@sudocode-ai/local-server/dist/routes/update.d.ts.map +0 -1
  475. package/node_modules/@sudocode-ai/local-server/dist/routes/update.js +0 -194
  476. package/node_modules/@sudocode-ai/local-server/dist/routes/update.js.map +0 -1
  477. package/node_modules/@sudocode-ai/local-server/dist/routes/version.d.ts +0 -3
  478. package/node_modules/@sudocode-ai/local-server/dist/routes/version.d.ts.map +0 -1
  479. package/node_modules/@sudocode-ai/local-server/dist/routes/version.js +0 -25
  480. package/node_modules/@sudocode-ai/local-server/dist/routes/version.js.map +0 -1
  481. package/node_modules/@sudocode-ai/local-server/dist/routes/voice.d.ts +0 -12
  482. package/node_modules/@sudocode-ai/local-server/dist/routes/voice.d.ts.map +0 -1
  483. package/node_modules/@sudocode-ai/local-server/dist/routes/voice.js +0 -387
  484. package/node_modules/@sudocode-ai/local-server/dist/routes/voice.js.map +0 -1
  485. package/node_modules/@sudocode-ai/local-server/dist/routes/workflows.d.ts +0 -8
  486. package/node_modules/@sudocode-ai/local-server/dist/routes/workflows.d.ts.map +0 -1
  487. package/node_modules/@sudocode-ai/local-server/dist/routes/workflows.js +0 -1730
  488. package/node_modules/@sudocode-ai/local-server/dist/routes/workflows.js.map +0 -1
  489. package/node_modules/@sudocode-ai/local-server/dist/services/agent-registry.d.ts +0 -150
  490. package/node_modules/@sudocode-ai/local-server/dist/services/agent-registry.d.ts.map +0 -1
  491. package/node_modules/@sudocode-ai/local-server/dist/services/agent-registry.js +0 -312
  492. package/node_modules/@sudocode-ai/local-server/dist/services/agent-registry.js.map +0 -1
  493. package/node_modules/@sudocode-ai/local-server/dist/services/command-discovery-service.d.ts +0 -43
  494. package/node_modules/@sudocode-ai/local-server/dist/services/command-discovery-service.d.ts.map +0 -1
  495. package/node_modules/@sudocode-ai/local-server/dist/services/command-discovery-service.js +0 -114
  496. package/node_modules/@sudocode-ai/local-server/dist/services/command-discovery-service.js.map +0 -1
  497. package/node_modules/@sudocode-ai/local-server/dist/services/db.d.ts +0 -33
  498. package/node_modules/@sudocode-ai/local-server/dist/services/db.d.ts.map +0 -1
  499. package/node_modules/@sudocode-ai/local-server/dist/services/db.js +0 -90
  500. package/node_modules/@sudocode-ai/local-server/dist/services/db.js.map +0 -1
  501. package/node_modules/@sudocode-ai/local-server/dist/services/editor-service.d.ts +0 -57
  502. package/node_modules/@sudocode-ai/local-server/dist/services/editor-service.d.ts.map +0 -1
  503. package/node_modules/@sudocode-ai/local-server/dist/services/editor-service.js +0 -204
  504. package/node_modules/@sudocode-ai/local-server/dist/services/editor-service.js.map +0 -1
  505. package/node_modules/@sudocode-ai/local-server/dist/services/execution-changes-service.d.ts +0 -110
  506. package/node_modules/@sudocode-ai/local-server/dist/services/execution-changes-service.d.ts.map +0 -1
  507. package/node_modules/@sudocode-ai/local-server/dist/services/execution-changes-service.js +0 -710
  508. package/node_modules/@sudocode-ai/local-server/dist/services/execution-changes-service.js.map +0 -1
  509. package/node_modules/@sudocode-ai/local-server/dist/services/execution-event-callbacks.d.ts +0 -73
  510. package/node_modules/@sudocode-ai/local-server/dist/services/execution-event-callbacks.d.ts.map +0 -1
  511. package/node_modules/@sudocode-ai/local-server/dist/services/execution-event-callbacks.js +0 -82
  512. package/node_modules/@sudocode-ai/local-server/dist/services/execution-event-callbacks.js.map +0 -1
  513. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.d.ts +0 -145
  514. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.d.ts.map +0 -1
  515. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.js +0 -392
  516. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.js.map +0 -1
  517. package/node_modules/@sudocode-ai/local-server/dist/services/execution-logs-cleanup.d.ts +0 -88
  518. package/node_modules/@sudocode-ai/local-server/dist/services/execution-logs-cleanup.d.ts.map +0 -1
  519. package/node_modules/@sudocode-ai/local-server/dist/services/execution-logs-cleanup.js +0 -137
  520. package/node_modules/@sudocode-ai/local-server/dist/services/execution-logs-cleanup.js.map +0 -1
  521. package/node_modules/@sudocode-ai/local-server/dist/services/execution-logs-store.d.ts +0 -312
  522. package/node_modules/@sudocode-ai/local-server/dist/services/execution-logs-store.d.ts.map +0 -1
  523. package/node_modules/@sudocode-ai/local-server/dist/services/execution-logs-store.js +0 -518
  524. package/node_modules/@sudocode-ai/local-server/dist/services/execution-logs-store.js.map +0 -1
  525. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.d.ts +0 -409
  526. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.d.ts.map +0 -1
  527. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.js +0 -1694
  528. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.js.map +0 -1
  529. package/node_modules/@sudocode-ai/local-server/dist/services/execution-worker-pool.d.ts +0 -116
  530. package/node_modules/@sudocode-ai/local-server/dist/services/execution-worker-pool.d.ts.map +0 -1
  531. package/node_modules/@sudocode-ai/local-server/dist/services/execution-worker-pool.js +0 -326
  532. package/node_modules/@sudocode-ai/local-server/dist/services/execution-worker-pool.js.map +0 -1
  533. package/node_modules/@sudocode-ai/local-server/dist/services/executions.d.ts +0 -63
  534. package/node_modules/@sudocode-ai/local-server/dist/services/executions.d.ts.map +0 -1
  535. package/node_modules/@sudocode-ai/local-server/dist/services/executions.js +0 -177
  536. package/node_modules/@sudocode-ai/local-server/dist/services/executions.js.map +0 -1
  537. package/node_modules/@sudocode-ai/local-server/dist/services/export.d.ts +0 -32
  538. package/node_modules/@sudocode-ai/local-server/dist/services/export.d.ts.map +0 -1
  539. package/node_modules/@sudocode-ai/local-server/dist/services/export.js +0 -114
  540. package/node_modules/@sudocode-ai/local-server/dist/services/export.js.map +0 -1
  541. package/node_modules/@sudocode-ai/local-server/dist/services/external-refresh-service.d.ts +0 -104
  542. package/node_modules/@sudocode-ai/local-server/dist/services/external-refresh-service.d.ts.map +0 -1
  543. package/node_modules/@sudocode-ai/local-server/dist/services/external-refresh-service.js +0 -520
  544. package/node_modules/@sudocode-ai/local-server/dist/services/external-refresh-service.js.map +0 -1
  545. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.d.ts +0 -56
  546. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.d.ts.map +0 -1
  547. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.js +0 -78
  548. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.js.map +0 -1
  549. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/git-ls-files-strategy.d.ts +0 -72
  550. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/git-ls-files-strategy.d.ts.map +0 -1
  551. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/git-ls-files-strategy.js +0 -176
  552. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/git-ls-files-strategy.js.map +0 -1
  553. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/index.d.ts +0 -9
  554. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/index.d.ts.map +0 -1
  555. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/index.js +0 -10
  556. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/index.js.map +0 -1
  557. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/registry.d.ts +0 -97
  558. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/registry.d.ts.map +0 -1
  559. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/registry.js +0 -140
  560. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/registry.js.map +0 -1
  561. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/strategy.d.ts +0 -58
  562. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/strategy.d.ts.map +0 -1
  563. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/strategy.js +0 -8
  564. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/strategy.js.map +0 -1
  565. package/node_modules/@sudocode-ai/local-server/dist/services/integration-sync-service.d.ts +0 -185
  566. package/node_modules/@sudocode-ai/local-server/dist/services/integration-sync-service.d.ts.map +0 -1
  567. package/node_modules/@sudocode-ai/local-server/dist/services/integration-sync-service.js +0 -428
  568. package/node_modules/@sudocode-ai/local-server/dist/services/integration-sync-service.js.map +0 -1
  569. package/node_modules/@sudocode-ai/local-server/dist/services/issues.d.ts +0 -27
  570. package/node_modules/@sudocode-ai/local-server/dist/services/issues.d.ts.map +0 -1
  571. package/node_modules/@sudocode-ai/local-server/dist/services/issues.js +0 -35
  572. package/node_modules/@sudocode-ai/local-server/dist/services/issues.js.map +0 -1
  573. package/node_modules/@sudocode-ai/local-server/dist/services/narration-service.d.ts +0 -312
  574. package/node_modules/@sudocode-ai/local-server/dist/services/narration-service.d.ts.map +0 -1
  575. package/node_modules/@sudocode-ai/local-server/dist/services/narration-service.js +0 -749
  576. package/node_modules/@sudocode-ai/local-server/dist/services/narration-service.js.map +0 -1
  577. package/node_modules/@sudocode-ai/local-server/dist/services/project-context.d.ts +0 -93
  578. package/node_modules/@sudocode-ai/local-server/dist/services/project-context.d.ts.map +0 -1
  579. package/node_modules/@sudocode-ai/local-server/dist/services/project-context.js +0 -166
  580. package/node_modules/@sudocode-ai/local-server/dist/services/project-context.js.map +0 -1
  581. package/node_modules/@sudocode-ai/local-server/dist/services/project-manager.d.ts +0 -102
  582. package/node_modules/@sudocode-ai/local-server/dist/services/project-manager.d.ts.map +0 -1
  583. package/node_modules/@sudocode-ai/local-server/dist/services/project-manager.js +0 -500
  584. package/node_modules/@sudocode-ai/local-server/dist/services/project-manager.js.map +0 -1
  585. package/node_modules/@sudocode-ai/local-server/dist/services/project-registry.d.ts +0 -98
  586. package/node_modules/@sudocode-ai/local-server/dist/services/project-registry.d.ts.map +0 -1
  587. package/node_modules/@sudocode-ai/local-server/dist/services/project-registry.js +0 -289
  588. package/node_modules/@sudocode-ai/local-server/dist/services/project-registry.js.map +0 -1
  589. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-resolver.d.ts +0 -97
  590. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-resolver.d.ts.map +0 -1
  591. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-resolver.js +0 -377
  592. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-resolver.js.map +0 -1
  593. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.d.ts +0 -108
  594. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.d.ts.map +0 -1
  595. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.js +0 -212
  596. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.js.map +0 -1
  597. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.d.ts +0 -97
  598. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.d.ts.map +0 -1
  599. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.js +0 -236
  600. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.js.map +0 -1
  601. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.d.ts +0 -35
  602. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.d.ts.map +0 -1
  603. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.js +0 -42
  604. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.js.map +0 -1
  605. package/node_modules/@sudocode-ai/local-server/dist/services/repo-info.d.ts +0 -33
  606. package/node_modules/@sudocode-ai/local-server/dist/services/repo-info.d.ts.map +0 -1
  607. package/node_modules/@sudocode-ai/local-server/dist/services/repo-info.js +0 -136
  608. package/node_modules/@sudocode-ai/local-server/dist/services/repo-info.js.map +0 -1
  609. package/node_modules/@sudocode-ai/local-server/dist/services/specs.d.ts +0 -27
  610. package/node_modules/@sudocode-ai/local-server/dist/services/specs.d.ts.map +0 -1
  611. package/node_modules/@sudocode-ai/local-server/dist/services/specs.js +0 -35
  612. package/node_modules/@sudocode-ai/local-server/dist/services/specs.js.map +0 -1
  613. package/node_modules/@sudocode-ai/local-server/dist/services/stt-providers/index.d.ts +0 -21
  614. package/node_modules/@sudocode-ai/local-server/dist/services/stt-providers/index.d.ts.map +0 -1
  615. package/node_modules/@sudocode-ai/local-server/dist/services/stt-providers/index.js +0 -32
  616. package/node_modules/@sudocode-ai/local-server/dist/services/stt-providers/index.js.map +0 -1
  617. package/node_modules/@sudocode-ai/local-server/dist/services/stt-providers/openai-whisper.d.ts +0 -66
  618. package/node_modules/@sudocode-ai/local-server/dist/services/stt-providers/openai-whisper.d.ts.map +0 -1
  619. package/node_modules/@sudocode-ai/local-server/dist/services/stt-providers/openai-whisper.js +0 -137
  620. package/node_modules/@sudocode-ai/local-server/dist/services/stt-providers/openai-whisper.js.map +0 -1
  621. package/node_modules/@sudocode-ai/local-server/dist/services/stt-providers/whisper-local.d.ts +0 -64
  622. package/node_modules/@sudocode-ai/local-server/dist/services/stt-providers/whisper-local.d.ts.map +0 -1
  623. package/node_modules/@sudocode-ai/local-server/dist/services/stt-providers/whisper-local.js +0 -166
  624. package/node_modules/@sudocode-ai/local-server/dist/services/stt-providers/whisper-local.js.map +0 -1
  625. package/node_modules/@sudocode-ai/local-server/dist/services/stt-service.d.ts +0 -160
  626. package/node_modules/@sudocode-ai/local-server/dist/services/stt-service.d.ts.map +0 -1
  627. package/node_modules/@sudocode-ai/local-server/dist/services/stt-service.js +0 -246
  628. package/node_modules/@sudocode-ai/local-server/dist/services/stt-service.js.map +0 -1
  629. package/node_modules/@sudocode-ai/local-server/dist/services/tts-providers/browser-tts.d.ts +0 -64
  630. package/node_modules/@sudocode-ai/local-server/dist/services/tts-providers/browser-tts.d.ts.map +0 -1
  631. package/node_modules/@sudocode-ai/local-server/dist/services/tts-providers/browser-tts.js +0 -89
  632. package/node_modules/@sudocode-ai/local-server/dist/services/tts-providers/browser-tts.js.map +0 -1
  633. package/node_modules/@sudocode-ai/local-server/dist/services/tts-providers/index.d.ts +0 -20
  634. package/node_modules/@sudocode-ai/local-server/dist/services/tts-providers/index.d.ts.map +0 -1
  635. package/node_modules/@sudocode-ai/local-server/dist/services/tts-providers/index.js +0 -31
  636. package/node_modules/@sudocode-ai/local-server/dist/services/tts-providers/index.js.map +0 -1
  637. package/node_modules/@sudocode-ai/local-server/dist/services/tts-service.d.ts +0 -190
  638. package/node_modules/@sudocode-ai/local-server/dist/services/tts-service.d.ts.map +0 -1
  639. package/node_modules/@sudocode-ai/local-server/dist/services/tts-service.js +0 -296
  640. package/node_modules/@sudocode-ai/local-server/dist/services/tts-service.js.map +0 -1
  641. package/node_modules/@sudocode-ai/local-server/dist/services/tts-sidecar-manager.d.ts +0 -276
  642. package/node_modules/@sudocode-ai/local-server/dist/services/tts-sidecar-manager.d.ts.map +0 -1
  643. package/node_modules/@sudocode-ai/local-server/dist/services/tts-sidecar-manager.js +0 -665
  644. package/node_modules/@sudocode-ai/local-server/dist/services/tts-sidecar-manager.js.map +0 -1
  645. package/node_modules/@sudocode-ai/local-server/dist/services/version-service.d.ts +0 -14
  646. package/node_modules/@sudocode-ai/local-server/dist/services/version-service.d.ts.map +0 -1
  647. package/node_modules/@sudocode-ai/local-server/dist/services/version-service.js +0 -57
  648. package/node_modules/@sudocode-ai/local-server/dist/services/version-service.js.map +0 -1
  649. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.d.ts +0 -49
  650. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.d.ts.map +0 -1
  651. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.js +0 -52
  652. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.js.map +0 -1
  653. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.d.ts +0 -246
  654. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.d.ts.map +0 -1
  655. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.js +0 -758
  656. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.js.map +0 -1
  657. package/node_modules/@sudocode-ai/local-server/dist/services/workflow-broadcast-service.d.ts +0 -43
  658. package/node_modules/@sudocode-ai/local-server/dist/services/workflow-broadcast-service.d.ts.map +0 -1
  659. package/node_modules/@sudocode-ai/local-server/dist/services/workflow-broadcast-service.js +0 -155
  660. package/node_modules/@sudocode-ai/local-server/dist/services/workflow-broadcast-service.js.map +0 -1
  661. package/node_modules/@sudocode-ai/local-server/dist/services/worktree-sync-service.d.ts +0 -452
  662. package/node_modules/@sudocode-ai/local-server/dist/services/worktree-sync-service.d.ts.map +0 -1
  663. package/node_modules/@sudocode-ai/local-server/dist/services/worktree-sync-service.js +0 -1602
  664. package/node_modules/@sudocode-ai/local-server/dist/services/worktree-sync-service.js.map +0 -1
  665. package/node_modules/@sudocode-ai/local-server/dist/types/editor.d.ts +0 -49
  666. package/node_modules/@sudocode-ai/local-server/dist/types/editor.d.ts.map +0 -1
  667. package/node_modules/@sudocode-ai/local-server/dist/types/editor.js +0 -50
  668. package/node_modules/@sudocode-ai/local-server/dist/types/editor.js.map +0 -1
  669. package/node_modules/@sudocode-ai/local-server/dist/types/project.d.ts +0 -58
  670. package/node_modules/@sudocode-ai/local-server/dist/types/project.d.ts.map +0 -1
  671. package/node_modules/@sudocode-ai/local-server/dist/types/project.js +0 -10
  672. package/node_modules/@sudocode-ai/local-server/dist/types/project.js.map +0 -1
  673. package/node_modules/@sudocode-ai/local-server/dist/utils/execFileNoThrow.d.ts +0 -43
  674. package/node_modules/@sudocode-ai/local-server/dist/utils/execFileNoThrow.d.ts.map +0 -1
  675. package/node_modules/@sudocode-ai/local-server/dist/utils/execFileNoThrow.js +0 -53
  676. package/node_modules/@sudocode-ai/local-server/dist/utils/execFileNoThrow.js.map +0 -1
  677. package/node_modules/@sudocode-ai/local-server/dist/utils/executable-check.d.ts +0 -36
  678. package/node_modules/@sudocode-ai/local-server/dist/utils/executable-check.d.ts.map +0 -1
  679. package/node_modules/@sudocode-ai/local-server/dist/utils/executable-check.js +0 -79
  680. package/node_modules/@sudocode-ai/local-server/dist/utils/executable-check.js.map +0 -1
  681. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.d.ts +0 -6
  682. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.d.ts.map +0 -1
  683. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.js +0 -9
  684. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.js.map +0 -1
  685. package/node_modules/@sudocode-ai/local-server/dist/utils/voice-config.d.ts +0 -26
  686. package/node_modules/@sudocode-ai/local-server/dist/utils/voice-config.d.ts.map +0 -1
  687. package/node_modules/@sudocode-ai/local-server/dist/utils/voice-config.js +0 -48
  688. package/node_modules/@sudocode-ai/local-server/dist/utils/voice-config.js.map +0 -1
  689. package/node_modules/@sudocode-ai/local-server/dist/workers/execution-worker.d.ts +0 -18
  690. package/node_modules/@sudocode-ai/local-server/dist/workers/execution-worker.d.ts.map +0 -1
  691. package/node_modules/@sudocode-ai/local-server/dist/workers/execution-worker.js +0 -344
  692. package/node_modules/@sudocode-ai/local-server/dist/workers/execution-worker.js.map +0 -1
  693. package/node_modules/@sudocode-ai/local-server/dist/workers/worker-ipc.d.ts +0 -84
  694. package/node_modules/@sudocode-ai/local-server/dist/workers/worker-ipc.d.ts.map +0 -1
  695. package/node_modules/@sudocode-ai/local-server/dist/workers/worker-ipc.js +0 -29
  696. package/node_modules/@sudocode-ai/local-server/dist/workers/worker-ipc.js.map +0 -1
  697. package/node_modules/@sudocode-ai/local-server/dist/workflow/base-workflow-engine.d.ts +0 -188
  698. package/node_modules/@sudocode-ai/local-server/dist/workflow/base-workflow-engine.d.ts.map +0 -1
  699. package/node_modules/@sudocode-ai/local-server/dist/workflow/base-workflow-engine.js +0 -557
  700. package/node_modules/@sudocode-ai/local-server/dist/workflow/base-workflow-engine.js.map +0 -1
  701. package/node_modules/@sudocode-ai/local-server/dist/workflow/dependency-analyzer.d.ts +0 -78
  702. package/node_modules/@sudocode-ai/local-server/dist/workflow/dependency-analyzer.d.ts.map +0 -1
  703. package/node_modules/@sudocode-ai/local-server/dist/workflow/dependency-analyzer.js +0 -264
  704. package/node_modules/@sudocode-ai/local-server/dist/workflow/dependency-analyzer.js.map +0 -1
  705. package/node_modules/@sudocode-ai/local-server/dist/workflow/engines/orchestrator-engine.d.ts +0 -241
  706. package/node_modules/@sudocode-ai/local-server/dist/workflow/engines/orchestrator-engine.d.ts.map +0 -1
  707. package/node_modules/@sudocode-ai/local-server/dist/workflow/engines/orchestrator-engine.js +0 -752
  708. package/node_modules/@sudocode-ai/local-server/dist/workflow/engines/orchestrator-engine.js.map +0 -1
  709. package/node_modules/@sudocode-ai/local-server/dist/workflow/engines/sequential-engine.d.ts +0 -283
  710. package/node_modules/@sudocode-ai/local-server/dist/workflow/engines/sequential-engine.d.ts.map +0 -1
  711. package/node_modules/@sudocode-ai/local-server/dist/workflow/engines/sequential-engine.js +0 -1190
  712. package/node_modules/@sudocode-ai/local-server/dist/workflow/engines/sequential-engine.js.map +0 -1
  713. package/node_modules/@sudocode-ai/local-server/dist/workflow/index.d.ts +0 -15
  714. package/node_modules/@sudocode-ai/local-server/dist/workflow/index.d.ts.map +0 -1
  715. package/node_modules/@sudocode-ai/local-server/dist/workflow/index.js +0 -22
  716. package/node_modules/@sudocode-ai/local-server/dist/workflow/index.js.map +0 -1
  717. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/api-client.d.ts +0 -103
  718. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/api-client.d.ts.map +0 -1
  719. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/api-client.js +0 -193
  720. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/api-client.js.map +0 -1
  721. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/index.d.ts +0 -16
  722. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/index.d.ts.map +0 -1
  723. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/index.js +0 -114
  724. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/index.js.map +0 -1
  725. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/server.d.ts +0 -85
  726. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/server.d.ts.map +0 -1
  727. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/server.js +0 -520
  728. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/server.js.map +0 -1
  729. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/escalation.d.ts +0 -36
  730. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/escalation.d.ts.map +0 -1
  731. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/escalation.js +0 -47
  732. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/escalation.js.map +0 -1
  733. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/execution.d.ts +0 -59
  734. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/execution.d.ts.map +0 -1
  735. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/execution.js +0 -67
  736. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/execution.js.map +0 -1
  737. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/inspection.d.ts +0 -82
  738. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/inspection.d.ts.map +0 -1
  739. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/inspection.js +0 -57
  740. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/inspection.js.map +0 -1
  741. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/workflow.d.ts +0 -59
  742. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/workflow.d.ts.map +0 -1
  743. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/workflow.js +0 -40
  744. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/workflow.js.map +0 -1
  745. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/types.d.ts +0 -345
  746. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/types.d.ts.map +0 -1
  747. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/types.js +0 -7
  748. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/types.js.map +0 -1
  749. package/node_modules/@sudocode-ai/local-server/dist/workflow/services/prompt-builder.d.ts +0 -36
  750. package/node_modules/@sudocode-ai/local-server/dist/workflow/services/prompt-builder.d.ts.map +0 -1
  751. package/node_modules/@sudocode-ai/local-server/dist/workflow/services/prompt-builder.js +0 -329
  752. package/node_modules/@sudocode-ai/local-server/dist/workflow/services/prompt-builder.js.map +0 -1
  753. package/node_modules/@sudocode-ai/local-server/dist/workflow/services/wakeup-service.d.ts +0 -262
  754. package/node_modules/@sudocode-ai/local-server/dist/workflow/services/wakeup-service.d.ts.map +0 -1
  755. package/node_modules/@sudocode-ai/local-server/dist/workflow/services/wakeup-service.js +0 -809
  756. package/node_modules/@sudocode-ai/local-server/dist/workflow/services/wakeup-service.js.map +0 -1
  757. package/node_modules/@sudocode-ai/local-server/dist/workflow/workflow-engine.d.ts +0 -228
  758. package/node_modules/@sudocode-ai/local-server/dist/workflow/workflow-engine.d.ts.map +0 -1
  759. package/node_modules/@sudocode-ai/local-server/dist/workflow/workflow-engine.js +0 -94
  760. package/node_modules/@sudocode-ai/local-server/dist/workflow/workflow-engine.js.map +0 -1
  761. package/node_modules/@sudocode-ai/local-server/dist/workflow/workflow-event-emitter.d.ts +0 -278
  762. package/node_modules/@sudocode-ai/local-server/dist/workflow/workflow-event-emitter.d.ts.map +0 -1
  763. package/node_modules/@sudocode-ai/local-server/dist/workflow/workflow-event-emitter.js +0 -259
  764. package/node_modules/@sudocode-ai/local-server/dist/workflow/workflow-event-emitter.js.map +0 -1
  765. package/node_modules/@sudocode-ai/local-server/package.json +0 -83
  766. package/node_modules/@sudocode-ai/mcp/README.md +0 -226
  767. package/node_modules/@sudocode-ai/mcp/dist/api-client.d.ts +0 -296
  768. package/node_modules/@sudocode-ai/mcp/dist/api-client.d.ts.map +0 -1
  769. package/node_modules/@sudocode-ai/mcp/dist/api-client.js +0 -304
  770. package/node_modules/@sudocode-ai/mcp/dist/api-client.js.map +0 -1
  771. package/node_modules/@sudocode-ai/mcp/dist/client.d.ts +0 -33
  772. package/node_modules/@sudocode-ai/mcp/dist/client.d.ts.map +0 -1
  773. package/node_modules/@sudocode-ai/mcp/dist/client.js +0 -166
  774. package/node_modules/@sudocode-ai/mcp/dist/client.js.map +0 -1
  775. package/node_modules/@sudocode-ai/mcp/dist/index.d.ts +0 -6
  776. package/node_modules/@sudocode-ai/mcp/dist/index.d.ts.map +0 -1
  777. package/node_modules/@sudocode-ai/mcp/dist/index.js +0 -167
  778. package/node_modules/@sudocode-ai/mcp/dist/index.js.map +0 -1
  779. package/node_modules/@sudocode-ai/mcp/dist/scopes.d.ts +0 -126
  780. package/node_modules/@sudocode-ai/mcp/dist/scopes.d.ts.map +0 -1
  781. package/node_modules/@sudocode-ai/mcp/dist/scopes.js +0 -282
  782. package/node_modules/@sudocode-ai/mcp/dist/scopes.js.map +0 -1
  783. package/node_modules/@sudocode-ai/mcp/dist/server.d.ts +0 -37
  784. package/node_modules/@sudocode-ai/mcp/dist/server.d.ts.map +0 -1
  785. package/node_modules/@sudocode-ai/mcp/dist/server.js +0 -442
  786. package/node_modules/@sudocode-ai/mcp/dist/server.js.map +0 -1
  787. package/node_modules/@sudocode-ai/mcp/dist/tool-registry.d.ts +0 -49
  788. package/node_modules/@sudocode-ai/mcp/dist/tool-registry.d.ts.map +0 -1
  789. package/node_modules/@sudocode-ai/mcp/dist/tool-registry.js +0 -720
  790. package/node_modules/@sudocode-ai/mcp/dist/tool-registry.js.map +0 -1
  791. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.d.ts +0 -41
  792. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.d.ts.map +0 -1
  793. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.js +0 -21
  794. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.js.map +0 -1
  795. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.d.ts +0 -21
  796. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.d.ts.map +0 -1
  797. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.js +0 -30
  798. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.js.map +0 -1
  799. package/node_modules/@sudocode-ai/mcp/dist/tools/init.d.ts +0 -17
  800. package/node_modules/@sudocode-ai/mcp/dist/tools/init.d.ts.map +0 -1
  801. package/node_modules/@sudocode-ai/mcp/dist/tools/init.js +0 -15
  802. package/node_modules/@sudocode-ai/mcp/dist/tools/init.js.map +0 -1
  803. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.d.ts +0 -44
  804. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.d.ts.map +0 -1
  805. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.js +0 -109
  806. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.js.map +0 -1
  807. package/node_modules/@sudocode-ai/mcp/dist/tools/references.d.ts +0 -21
  808. package/node_modules/@sudocode-ai/mcp/dist/tools/references.d.ts.map +0 -1
  809. package/node_modules/@sudocode-ai/mcp/dist/tools/references.js +0 -49
  810. package/node_modules/@sudocode-ai/mcp/dist/tools/references.js.map +0 -1
  811. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.d.ts +0 -15
  812. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.d.ts.map +0 -1
  813. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.js +0 -18
  814. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.js.map +0 -1
  815. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.d.ts +0 -35
  816. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.d.ts.map +0 -1
  817. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.js +0 -85
  818. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.js.map +0 -1
  819. package/node_modules/@sudocode-ai/mcp/dist/types.d.ts +0 -46
  820. package/node_modules/@sudocode-ai/mcp/dist/types.d.ts.map +0 -1
  821. package/node_modules/@sudocode-ai/mcp/dist/types.js +0 -21
  822. package/node_modules/@sudocode-ai/mcp/dist/types.js.map +0 -1
  823. package/node_modules/@sudocode-ai/mcp/package.json +0 -67
  824. package/node_modules/@sudocode-ai/types/README.md +0 -7
  825. package/node_modules/@sudocode-ai/types/package.json +0 -81
  826. package/node_modules/@sudocode-ai/types/src/agents.d.ts +0 -348
  827. package/node_modules/@sudocode-ai/types/src/artifacts.d.ts +0 -66
  828. package/node_modules/@sudocode-ai/types/src/events.d.ts +0 -70
  829. package/node_modules/@sudocode-ai/types/src/index.d.ts +0 -587
  830. package/node_modules/@sudocode-ai/types/src/integrations.d.ts +0 -454
  831. package/node_modules/@sudocode-ai/types/src/voice.d.ts +0 -465
  832. package/node_modules/@sudocode-ai/types/src/workflows.d.ts +0 -501
  833. package/node_modules/commander/LICENSE +0 -22
  834. package/node_modules/commander/Readme.md +0 -1149
  835. package/node_modules/commander/esm.mjs +0 -16
  836. package/node_modules/commander/index.js +0 -24
  837. package/node_modules/commander/lib/argument.js +0 -149
  838. package/node_modules/commander/lib/command.js +0 -2662
  839. package/node_modules/commander/lib/error.js +0 -39
  840. package/node_modules/commander/lib/help.js +0 -709
  841. package/node_modules/commander/lib/option.js +0 -367
  842. package/node_modules/commander/lib/suggestSimilar.js +0 -101
  843. package/node_modules/commander/package-support.json +0 -16
  844. package/node_modules/commander/package.json +0 -82
  845. package/node_modules/commander/typings/esm.d.mts +0 -3
  846. package/node_modules/commander/typings/index.d.ts +0 -1045
  847. package/node_modules/glob/LICENSE +0 -15
  848. package/node_modules/glob/README.md +0 -1265
  849. package/node_modules/glob/package.json +0 -99
  850. package/node_modules/isexe/LICENSE +0 -15
  851. package/node_modules/isexe/README.md +0 -74
  852. package/node_modules/isexe/package.json +0 -96
  853. package/node_modules/which/LICENSE +0 -15
  854. package/node_modules/which/README.md +0 -51
  855. package/node_modules/which/bin/which.js +0 -52
  856. package/node_modules/which/lib/index.js +0 -111
  857. package/node_modules/which/package.json +0 -52
@@ -1,1570 +0,0 @@
1
- /**
2
- * Executions API routes (mapped to /api)
3
- *
4
- * Provides REST API for managing issue executions.
5
- *
6
- * Note: All routes require X-Project-ID header via requireProject() middleware
7
- */
8
- import { Router } from "express";
9
- import { execSync } from "child_process";
10
- import { agentRegistryService } from "../services/agent-registry.js";
11
- import { AgentNotFoundError, AgentNotImplementedError, AgentError, } from "../errors/agent-errors.js";
12
- import { WorktreeSyncService, WorktreeSyncError, WorktreeSyncErrorCode, } from "../services/worktree-sync-service.js";
13
- import { ExecutionChangesService } from "../services/execution-changes-service.js";
14
- /**
15
- * Get WorktreeSyncService instance for a request
16
- *
17
- * @param req - Express request with project context
18
- * @returns WorktreeSyncService instance
19
- */
20
- function getWorktreeSyncService(req) {
21
- const db = req.project.db;
22
- const repoPath = req.project.path;
23
- return new WorktreeSyncService(db, repoPath);
24
- }
25
- /**
26
- * Get HTTP status code for WorktreeSyncError
27
- *
28
- * @param error - WorktreeSyncError instance
29
- * @returns HTTP status code
30
- */
31
- function getStatusCodeForSyncError(error) {
32
- switch (error.code) {
33
- case WorktreeSyncErrorCode.NO_WORKTREE:
34
- case WorktreeSyncErrorCode.WORKTREE_MISSING:
35
- case WorktreeSyncErrorCode.BRANCH_MISSING:
36
- case WorktreeSyncErrorCode.TARGET_BRANCH_MISSING:
37
- case WorktreeSyncErrorCode.EXECUTION_NOT_FOUND:
38
- return 404; // Not found
39
- case WorktreeSyncErrorCode.DIRTY_WORKING_TREE:
40
- case WorktreeSyncErrorCode.CODE_CONFLICTS:
41
- case WorktreeSyncErrorCode.NO_COMMON_BASE:
42
- return 400; // Bad request (user must fix)
43
- case WorktreeSyncErrorCode.MERGE_FAILED:
44
- case WorktreeSyncErrorCode.JSONL_RESOLUTION_FAILED:
45
- case WorktreeSyncErrorCode.DATABASE_SYNC_FAILED:
46
- return 500; // Internal error
47
- default:
48
- return 500;
49
- }
50
- }
51
- /**
52
- * Create executions router
53
- *
54
- * Note: ExecutionService and ExecutionLogsStore are accessed via req.project
55
- * which is injected by the requireProject() middleware
56
- *
57
- * @returns Express router with execution endpoints
58
- */
59
- export function createExecutionsRouter() {
60
- const router = Router();
61
- /**
62
- * GET /api/executions
63
- *
64
- * List all executions with filtering and pagination
65
- *
66
- * Query parameters:
67
- * - limit?: number (default: 50)
68
- * - offset?: number (default: 0)
69
- * - status?: ExecutionStatus | ExecutionStatus[] (comma-separated for multiple)
70
- * - issueId?: string
71
- * - sortBy?: 'created_at' | 'updated_at' (default: 'created_at')
72
- * - order?: 'asc' | 'desc' (default: 'desc')
73
- * - since?: ISO date string - only return executions created after this date
74
- * - includeRunning?: 'true' - when used with 'since', also include running executions regardless of age
75
- */
76
- router.get("/executions", (req, res) => {
77
- try {
78
- // Parse query parameters
79
- const limit = req.query.limit
80
- ? parseInt(req.query.limit, 10)
81
- : undefined;
82
- const offset = req.query.offset
83
- ? parseInt(req.query.offset, 10)
84
- : undefined;
85
- // Parse status (can be single value or comma-separated array)
86
- let status = undefined;
87
- if (req.query.status) {
88
- const statusParam = req.query.status;
89
- status = statusParam.includes(",")
90
- ? statusParam.split(",").map((s) => s.trim())
91
- : statusParam;
92
- }
93
- const issueId = req.query.issueId;
94
- const sortBy = req.query.sortBy || undefined;
95
- const order = req.query.order || undefined;
96
- const since = req.query.since;
97
- const includeRunning = req.query.includeRunning === "true";
98
- // Parse tags (can be single value or comma-separated array)
99
- let tags = undefined;
100
- if (req.query.tags) {
101
- const tagsParam = req.query.tags;
102
- tags = tagsParam.includes(",")
103
- ? tagsParam.split(",").map((t) => t.trim())
104
- : [tagsParam];
105
- }
106
- // Validate limit and offset
107
- if (limit !== undefined && (isNaN(limit) || limit < 0)) {
108
- res.status(400).json({
109
- success: false,
110
- data: null,
111
- message: "Invalid limit parameter",
112
- });
113
- return;
114
- }
115
- if (offset !== undefined && (isNaN(offset) || offset < 0)) {
116
- res.status(400).json({
117
- success: false,
118
- data: null,
119
- message: "Invalid offset parameter",
120
- });
121
- return;
122
- }
123
- // Validate sortBy
124
- if (sortBy && sortBy !== "created_at" && sortBy !== "updated_at") {
125
- res.status(400).json({
126
- success: false,
127
- data: null,
128
- message: "Invalid sortBy parameter. Must be 'created_at' or 'updated_at'",
129
- });
130
- return;
131
- }
132
- // Validate order
133
- if (order && order !== "asc" && order !== "desc") {
134
- res.status(400).json({
135
- success: false,
136
- data: null,
137
- message: "Invalid order parameter. Must be 'asc' or 'desc'",
138
- });
139
- return;
140
- }
141
- // Validate since (should be valid ISO date)
142
- if (since) {
143
- const sinceDate = new Date(since);
144
- if (isNaN(sinceDate.getTime())) {
145
- res.status(400).json({
146
- success: false,
147
- data: null,
148
- message: "Invalid since parameter. Must be a valid ISO date string",
149
- });
150
- return;
151
- }
152
- }
153
- // Call service method
154
- const result = req.project.executionService.listAll({
155
- limit,
156
- offset,
157
- status,
158
- issueId,
159
- sortBy,
160
- order,
161
- since,
162
- includeRunning,
163
- tags,
164
- });
165
- res.json({
166
- success: true,
167
- data: result,
168
- });
169
- }
170
- catch (error) {
171
- console.error("Error listing executions:", error);
172
- res.status(500).json({
173
- success: false,
174
- data: null,
175
- error_data: error instanceof Error ? error.message : String(error),
176
- message: "Failed to list executions",
177
- });
178
- }
179
- });
180
- /**
181
- * POST /api/executions
182
- *
183
- * Create and start an adhoc execution (not tied to an issue)
184
- *
185
- * Request body:
186
- * - prompt: string (required) - The prompt for the execution
187
- * - config?: ExecutionConfig - Execution configuration
188
- * - agentType?: string - Agent type (defaults to 'claude-code')
189
- */
190
- router.post("/executions", async (req, res) => {
191
- try {
192
- const { config, prompt, agentType } = req.body;
193
- // Validate required fields - prompt is required for adhoc executions
194
- if (!prompt || typeof prompt !== "string" || !prompt.trim()) {
195
- res.status(400).json({
196
- success: false,
197
- data: null,
198
- message: "Prompt is required for adhoc executions",
199
- });
200
- return;
201
- }
202
- // Validate agentType if provided
203
- if (agentType) {
204
- // Check if agent exists in registry
205
- if (!agentRegistryService.hasAgent(agentType)) {
206
- const availableAgents = agentRegistryService
207
- .getAvailableAgents()
208
- .map((a) => a.name);
209
- throw new AgentNotFoundError(agentType, availableAgents);
210
- }
211
- // Check if agent is implemented
212
- if (!agentRegistryService.isAgentImplemented(agentType)) {
213
- throw new AgentNotImplementedError(agentType);
214
- }
215
- }
216
- // Create execution with null issueId (adhoc execution)
217
- const execution = await req.project.executionService.createExecution(null, // No issue for adhoc executions
218
- config || {}, prompt, agentType // Optional, defaults to 'claude-code' in service
219
- );
220
- res.status(201).json({
221
- success: true,
222
- data: execution,
223
- });
224
- }
225
- catch (error) {
226
- console.error("[API Route] ERROR: Failed to create adhoc execution:", error);
227
- // Handle agent-specific errors with enhanced error responses
228
- if (error instanceof AgentNotFoundError) {
229
- res.status(400).json({
230
- success: false,
231
- data: null,
232
- error: error.message,
233
- code: error.code,
234
- details: error.details,
235
- });
236
- return;
237
- }
238
- if (error instanceof AgentNotImplementedError) {
239
- res.status(501).json({
240
- success: false,
241
- data: null,
242
- error: error.message,
243
- code: error.code,
244
- details: error.details,
245
- });
246
- return;
247
- }
248
- if (error instanceof AgentError) {
249
- // Generic agent error (400 by default)
250
- res.status(400).json({
251
- success: false,
252
- data: null,
253
- error: error.message,
254
- code: error.code,
255
- details: error.details,
256
- });
257
- return;
258
- }
259
- // Handle other errors
260
- const errorMessage = error instanceof Error ? error.message : String(error);
261
- res.status(500).json({
262
- success: false,
263
- data: null,
264
- error_data: errorMessage,
265
- message: "Failed to create adhoc execution",
266
- });
267
- }
268
- });
269
- /**
270
- * POST /api/issues/:issueId/executions
271
- *
272
- * Create and start a new execution
273
- */
274
- router.post("/issues/:issueId/executions", async (req, res) => {
275
- try {
276
- const { issueId } = req.params;
277
- const { config, prompt, agentType } = req.body;
278
- // Validate required fields
279
- if (!prompt) {
280
- res.status(400).json({
281
- success: false,
282
- data: null,
283
- message: "Prompt is required",
284
- });
285
- return;
286
- }
287
- // Validate agentType if provided
288
- if (agentType) {
289
- // Check if agent exists in registry
290
- if (!agentRegistryService.hasAgent(agentType)) {
291
- const availableAgents = agentRegistryService
292
- .getAvailableAgents()
293
- .map((a) => a.name);
294
- throw new AgentNotFoundError(agentType, availableAgents);
295
- }
296
- // Check if agent is implemented
297
- if (!agentRegistryService.isAgentImplemented(agentType)) {
298
- throw new AgentNotImplementedError(agentType);
299
- }
300
- }
301
- const execution = await req.project.executionService.createExecution(issueId, config || {}, prompt, agentType // Optional, defaults to 'claude-code' in service
302
- );
303
- res.status(201).json({
304
- success: true,
305
- data: execution,
306
- });
307
- }
308
- catch (error) {
309
- console.error("[API Route] ERROR: Failed to create execution:", error);
310
- // Handle agent-specific errors with enhanced error responses
311
- if (error instanceof AgentNotFoundError) {
312
- res.status(400).json({
313
- success: false,
314
- data: null,
315
- error: error.message,
316
- code: error.code,
317
- details: error.details,
318
- });
319
- return;
320
- }
321
- if (error instanceof AgentNotImplementedError) {
322
- res.status(501).json({
323
- success: false,
324
- data: null,
325
- error: error.message,
326
- code: error.code,
327
- details: error.details,
328
- });
329
- return;
330
- }
331
- if (error instanceof AgentError) {
332
- // Generic agent error (400 by default)
333
- res.status(400).json({
334
- success: false,
335
- data: null,
336
- error: error.message,
337
- code: error.code,
338
- details: error.details,
339
- });
340
- return;
341
- }
342
- // Handle other errors (backwards compatibility)
343
- const errorMessage = error instanceof Error ? error.message : String(error);
344
- const statusCode = errorMessage.includes("not found") ? 404 : 500;
345
- res.status(statusCode).json({
346
- success: false,
347
- data: null,
348
- error_data: errorMessage,
349
- message: "Failed to create execution",
350
- });
351
- }
352
- });
353
- /**
354
- * GET /api/executions/:executionId
355
- *
356
- * Get a specific execution by ID
357
- */
358
- router.get("/executions/:executionId", (req, res) => {
359
- try {
360
- const { executionId } = req.params;
361
- const execution = req.project.executionService.getExecution(executionId);
362
- if (!execution) {
363
- res.status(404).json({
364
- success: false,
365
- data: null,
366
- message: `Execution not found: ${executionId}`,
367
- });
368
- return;
369
- }
370
- res.json({
371
- success: true,
372
- data: execution,
373
- });
374
- }
375
- catch (error) {
376
- console.error("Error getting execution:", error);
377
- res.status(500).json({
378
- success: false,
379
- data: null,
380
- error_data: error instanceof Error ? error.message : String(error),
381
- message: "Failed to get execution",
382
- });
383
- }
384
- });
385
- /**
386
- * GET /api/executions/:executionId/chain
387
- *
388
- * Get execution chain (root execution + all follow-ups)
389
- *
390
- * Returns the full chain of executions starting from the root.
391
- * If the requested execution is a follow-up, finds the root and returns the full chain.
392
- * Executions are ordered chronologically (oldest first).
393
- */
394
- router.get("/executions/:executionId/chain", (req, res) => {
395
- try {
396
- const { executionId } = req.params;
397
- const db = req.project.db;
398
- // Get the requested execution
399
- const execution = req.project.executionService.getExecution(executionId);
400
- if (!execution) {
401
- res.status(404).json({
402
- success: false,
403
- data: null,
404
- message: `Execution not found: ${executionId}`,
405
- });
406
- return;
407
- }
408
- // Find the root execution by traversing up parent_execution_id
409
- let rootId = executionId;
410
- let current = execution;
411
- while (current.parent_execution_id) {
412
- rootId = current.parent_execution_id;
413
- const parent = req.project.executionService.getExecution(rootId);
414
- if (!parent)
415
- break;
416
- current = parent;
417
- }
418
- // Get all executions in the chain (root + all descendants)
419
- // Using recursive CTE to get all descendants
420
- const chain = db
421
- .prepare(`
422
- WITH RECURSIVE execution_chain AS (
423
- -- Base case: the root execution
424
- SELECT * FROM executions WHERE id = ?
425
- UNION ALL
426
- -- Recursive case: children of executions in the chain
427
- SELECT e.* FROM executions e
428
- INNER JOIN execution_chain ec ON e.parent_execution_id = ec.id
429
- )
430
- SELECT * FROM execution_chain
431
- ORDER BY created_at ASC
432
- `)
433
- .all(rootId);
434
- res.json({
435
- success: true,
436
- data: {
437
- rootId,
438
- executions: chain,
439
- },
440
- });
441
- }
442
- catch (error) {
443
- console.error("Error getting execution chain:", error);
444
- res.status(500).json({
445
- success: false,
446
- data: null,
447
- error_data: error instanceof Error ? error.message : String(error),
448
- message: "Failed to get execution chain",
449
- });
450
- }
451
- });
452
- /**
453
- * GET /api/executions/:executionId/logs
454
- *
455
- * Get CoalescedSessionUpdate events for historical replay
456
- *
457
- * Returns logs in unified CoalescedSessionUpdate format.
458
- * Automatically detects storage format (ACP or legacy) and converts as needed.
459
- */
460
- router.get("/executions/:executionId/logs", async (req, res) => {
461
- try {
462
- const { executionId } = req.params;
463
- // Verify execution exists
464
- const execution = req.project.executionService.getExecution(executionId);
465
- if (!execution) {
466
- res.status(404).json({
467
- success: false,
468
- data: null,
469
- message: `Execution not found: ${executionId}`,
470
- });
471
- return;
472
- }
473
- // Get logs in unified CoalescedSessionUpdate format
474
- // This handles both ACP (raw_logs) and legacy (normalized_entry) formats
475
- const events = req.project.logsStore.getCoalescedLogs(executionId);
476
- const metadata = req.project.logsStore.getLogMetadata(executionId);
477
- const format = req.project.logsStore.detectLogFormat(executionId);
478
- res.json({
479
- success: true,
480
- data: {
481
- executionId,
482
- events,
483
- format, // Include format for debugging/transparency
484
- metadata: metadata
485
- ? {
486
- lineCount: metadata.line_count,
487
- byteSize: metadata.byte_size,
488
- createdAt: metadata.created_at,
489
- updatedAt: metadata.updated_at,
490
- }
491
- : {
492
- lineCount: 0,
493
- byteSize: 0,
494
- createdAt: execution.created_at,
495
- updatedAt: execution.updated_at,
496
- },
497
- },
498
- });
499
- }
500
- catch (error) {
501
- console.error("[GET /executions/:id/logs] Error:", error);
502
- res.status(500).json({
503
- success: false,
504
- data: null,
505
- error_data: error instanceof Error ? error.message : String(error),
506
- message: "Failed to fetch execution logs",
507
- });
508
- }
509
- });
510
- /**
511
- * GET /api/executions/:executionId/changes
512
- *
513
- * Get code changes (file list + diff statistics) for an execution
514
- *
515
- * Calculates changes on-demand from commit SHAs. Supports:
516
- * - Committed changes (commit-to-commit diff)
517
- * - Uncommitted changes (working tree diff)
518
- * - Unavailable states with clear error reasons
519
- */
520
- router.get("/executions/:executionId/changes", async (req, res) => {
521
- try {
522
- const { executionId } = req.params;
523
- const db = req.project.db;
524
- const repoPath = req.project.path;
525
- // Create changes service
526
- const changesService = new ExecutionChangesService(db, repoPath);
527
- // Get changes
528
- const result = await changesService.getChanges(executionId);
529
- res.json({
530
- success: true,
531
- data: result,
532
- });
533
- }
534
- catch (error) {
535
- console.error("[GET /executions/:id/changes] Error:", error);
536
- res.status(500).json({
537
- success: false,
538
- data: null,
539
- error_data: error instanceof Error ? error.message : String(error),
540
- message: "Failed to calculate changes",
541
- });
542
- }
543
- });
544
- /**
545
- * GET /api/executions/:executionId/changes/file
546
- *
547
- * Get diff content for a specific file in an execution
548
- *
549
- * Query params:
550
- * - filePath: Path to the file to get diff for
551
- */
552
- router.get("/executions/:executionId/changes/file", async (req, res) => {
553
- try {
554
- const { executionId } = req.params;
555
- const { filePath } = req.query;
556
- if (!filePath || typeof filePath !== "string") {
557
- res.status(400).json({
558
- success: false,
559
- data: null,
560
- message: "filePath query parameter is required",
561
- });
562
- return;
563
- }
564
- const db = req.project.db;
565
- const repoPath = req.project.path;
566
- // Create changes service
567
- const changesService = new ExecutionChangesService(db, repoPath);
568
- // Get file diff
569
- const result = await changesService.getFileDiff(executionId, filePath);
570
- if (!result.success) {
571
- res.status(400).json({
572
- success: false,
573
- data: null,
574
- message: result.error || "Failed to get file diff",
575
- });
576
- return;
577
- }
578
- res.json({
579
- success: true,
580
- data: {
581
- filePath,
582
- oldContent: result.oldContent,
583
- newContent: result.newContent,
584
- },
585
- });
586
- }
587
- catch (error) {
588
- console.error("[GET /executions/:id/changes/file] Error:", error);
589
- res.status(500).json({
590
- success: false,
591
- data: null,
592
- error_data: error instanceof Error ? error.message : String(error),
593
- message: "Failed to get file diff",
594
- });
595
- }
596
- });
597
- /**
598
- * GET /api/issues/:issueId/executions
599
- *
600
- * List all executions for an issue
601
- */
602
- router.get("/issues/:issueId/executions", (req, res) => {
603
- try {
604
- const { issueId } = req.params;
605
- const executions = req.project.executionService.listExecutions(issueId);
606
- res.json({
607
- success: true,
608
- data: executions,
609
- });
610
- }
611
- catch (error) {
612
- console.error("Error listing executions:", error);
613
- res.status(500).json({
614
- success: false,
615
- data: null,
616
- error_data: error instanceof Error ? error.message : String(error),
617
- message: "Failed to list executions",
618
- });
619
- }
620
- });
621
- /**
622
- * POST /api/executions/:executionId/follow-up
623
- *
624
- * Create a follow-up execution that reuses the parent's worktree
625
- */
626
- router.post("/executions/:executionId/follow-up", async (req, res) => {
627
- try {
628
- const { executionId } = req.params;
629
- const { feedback } = req.body;
630
- // Validate required fields
631
- if (!feedback) {
632
- res.status(400).json({
633
- success: false,
634
- data: null,
635
- message: "Feedback is required",
636
- });
637
- return;
638
- }
639
- const followUpExecution = await req.project.executionService.createFollowUp(executionId, feedback);
640
- res.status(201).json({
641
- success: true,
642
- data: followUpExecution,
643
- });
644
- }
645
- catch (error) {
646
- console.error("Error creating follow-up execution:", error);
647
- // Handle specific error cases
648
- const errorMessage = error instanceof Error ? error.message : String(error);
649
- const statusCode = errorMessage.includes("not found") ||
650
- errorMessage.includes("no worktree")
651
- ? 404
652
- : 500;
653
- res.status(statusCode).json({
654
- success: false,
655
- data: null,
656
- error_data: errorMessage,
657
- message: "Failed to create follow-up execution",
658
- });
659
- }
660
- });
661
- /**
662
- * POST /api/executions/:executionId/skip-all-permissions
663
- *
664
- * Stop current execution and restart with skip-permissions enabled
665
- *
666
- * This is used when the user wants to bypass all remaining permission prompts.
667
- * It creates a follow-up execution with dangerouslySkipPermissions: true.
668
- *
669
- * Request body (optional):
670
- * - feedback?: string - Optional feedback to include in the follow-up prompt
671
- */
672
- router.post("/executions/:executionId/skip-all-permissions", async (req, res) => {
673
- try {
674
- const { executionId } = req.params;
675
- const { feedback } = req.body;
676
- // 1. Cancel the current execution
677
- try {
678
- await req.project.executionService.cancelExecution(executionId);
679
- }
680
- catch (cancelError) {
681
- // Execution might already be stopped/completed - continue anyway
682
- console.log(`[skip-all-permissions] Cancel returned error (may be expected): ${cancelError}`);
683
- }
684
- // 2. Create follow-up with dangerouslySkipPermissions enabled
685
- const followUpExecution = await req.project.executionService.createFollowUp(executionId, feedback || "Continue from where you left off.", {
686
- configOverrides: {
687
- dangerouslySkipPermissions: true,
688
- // Also update agentConfig to reflect the change
689
- agentConfig: {
690
- dangerouslySkipPermissions: true,
691
- },
692
- },
693
- });
694
- res.status(201).json({
695
- success: true,
696
- data: {
697
- previousExecutionId: executionId,
698
- newExecution: followUpExecution,
699
- },
700
- message: "Execution restarted with skip-all-permissions enabled. Future permission prompts will be auto-approved.",
701
- });
702
- }
703
- catch (error) {
704
- console.error("Error in skip-all-permissions:", error);
705
- const errorMessage = error instanceof Error ? error.message : String(error);
706
- const statusCode = errorMessage.includes("not found") ? 404 : 500;
707
- res.status(statusCode).json({
708
- success: false,
709
- data: null,
710
- error_data: errorMessage,
711
- message: "Failed to restart execution with skip-all-permissions",
712
- });
713
- }
714
- });
715
- /**
716
- * POST /api/executions/:executionId/cancel
717
- *
718
- * Cancel a running execution
719
- */
720
- router.post("/executions/:executionId/cancel", async (req, res) => {
721
- try {
722
- const { executionId } = req.params;
723
- await req.project.executionService.cancelExecution(executionId);
724
- res.json({
725
- success: true,
726
- data: { executionId },
727
- message: "Execution cancelled successfully",
728
- });
729
- }
730
- catch (error) {
731
- console.error("Error cancelling execution:", error);
732
- // Handle specific error cases
733
- const errorMessage = error instanceof Error ? error.message : String(error);
734
- const statusCode = errorMessage.includes("not found") ? 404 : 500;
735
- res.status(statusCode).json({
736
- success: false,
737
- data: null,
738
- error_data: errorMessage,
739
- message: "Failed to cancel execution",
740
- });
741
- }
742
- });
743
- /**
744
- * POST /api/executions/:executionId/permission/:requestId
745
- *
746
- * Respond to a permission request for an interactive execution
747
- *
748
- * Request body:
749
- * - optionId: string (required) - The selected option ID (e.g., 'allow_once', 'reject_always')
750
- */
751
- router.post("/executions/:executionId/permission/:requestId", (req, res) => {
752
- try {
753
- const { executionId, requestId } = req.params;
754
- const { optionId } = req.body;
755
- // Validate required fields
756
- if (!optionId || typeof optionId !== "string") {
757
- res.status(400).json({
758
- success: false,
759
- data: null,
760
- message: "optionId is required and must be a string",
761
- });
762
- return;
763
- }
764
- // Attempt to respond to the permission
765
- const success = req.project.executionService.respondToPermission(executionId, requestId, optionId);
766
- if (!success) {
767
- res.status(404).json({
768
- success: false,
769
- data: null,
770
- message: `Permission request ${requestId} not found or already resolved`,
771
- });
772
- return;
773
- }
774
- res.json({
775
- success: true,
776
- data: { executionId, requestId, optionId },
777
- message: "Permission response sent successfully",
778
- });
779
- }
780
- catch (error) {
781
- console.error("Error responding to permission:", error);
782
- const errorMessage = error instanceof Error ? error.message : String(error);
783
- const statusCode = errorMessage.includes("not found") ||
784
- errorMessage.includes("not active")
785
- ? 404
786
- : 500;
787
- res.status(statusCode).json({
788
- success: false,
789
- data: null,
790
- error_data: errorMessage,
791
- message: "Failed to respond to permission request",
792
- });
793
- }
794
- });
795
- /**
796
- * GET /api/executions/:executionId/permissions
797
- *
798
- * Get pending permission requests for an execution
799
- */
800
- router.get("/executions/:executionId/permissions", (req, res) => {
801
- try {
802
- const { executionId } = req.params;
803
- const pendingIds = req.project.executionService.getPendingPermissionIds(executionId);
804
- const hasPending = req.project.executionService.hasPendingPermissions(executionId);
805
- res.json({
806
- success: true,
807
- data: {
808
- executionId,
809
- hasPending,
810
- pendingRequestIds: pendingIds,
811
- },
812
- });
813
- }
814
- catch (error) {
815
- console.error("Error getting pending permissions:", error);
816
- res.status(500).json({
817
- success: false,
818
- data: null,
819
- error_data: error instanceof Error ? error.message : String(error),
820
- message: "Failed to get pending permissions",
821
- });
822
- }
823
- });
824
- /**
825
- * POST /api/executions/:executionId/mode
826
- *
827
- * Set the session mode for an active execution
828
- *
829
- * Request body:
830
- * - mode: string (required) - The mode to set (e.g., "code", "plan", "architect")
831
- */
832
- router.post("/executions/:executionId/mode", (req, res) => {
833
- try {
834
- const { executionId } = req.params;
835
- const { mode } = req.body;
836
- // Validate required fields
837
- if (!mode || typeof mode !== "string") {
838
- res.status(400).json({
839
- success: false,
840
- data: null,
841
- message: "mode is required and must be a string",
842
- });
843
- return;
844
- }
845
- // Attempt to set the mode
846
- const success = req.project.executionService.setMode(executionId, mode);
847
- if (!success) {
848
- res.status(404).json({
849
- success: false,
850
- data: null,
851
- message: `Failed to set mode for execution ${executionId}`,
852
- });
853
- return;
854
- }
855
- res.json({
856
- success: true,
857
- data: { executionId, mode },
858
- message: `Mode set to "${mode}" successfully`,
859
- });
860
- }
861
- catch (error) {
862
- console.error("Error setting execution mode:", error);
863
- const errorMessage = error instanceof Error ? error.message : String(error);
864
- const statusCode = errorMessage.includes("not found") ||
865
- errorMessage.includes("not active")
866
- ? 404
867
- : 500;
868
- res.status(statusCode).json({
869
- success: false,
870
- data: null,
871
- error_data: errorMessage,
872
- message: "Failed to set execution mode",
873
- });
874
- }
875
- });
876
- /**
877
- * POST /api/executions/:executionId/interrupt
878
- *
879
- * Interrupt an active execution
880
- *
881
- * Cancels the agent's current work without providing new instructions.
882
- * The session remains valid and can receive new prompts via follow-up.
883
- *
884
- * Request body (optional):
885
- * - prompt?: string - If provided, cancel current work and continue with this prompt
886
- */
887
- router.post("/executions/:executionId/interrupt", async (req, res) => {
888
- try {
889
- const { executionId } = req.params;
890
- const { prompt } = req.body;
891
- if (prompt && typeof prompt === "string" && prompt.trim()) {
892
- // Interrupt and continue with new prompt
893
- await req.project.executionService.interruptWithPrompt(executionId, prompt);
894
- res.json({
895
- success: true,
896
- data: { executionId, interrupted: true, redirected: true },
897
- message: "Execution interrupted and redirected",
898
- });
899
- }
900
- else {
901
- // Simple cancel
902
- const success = await req.project.executionService.interruptExecution(executionId);
903
- if (!success) {
904
- res.status(404).json({
905
- success: false,
906
- data: null,
907
- message: `Failed to interrupt execution ${executionId}`,
908
- });
909
- return;
910
- }
911
- res.json({
912
- success: true,
913
- data: { executionId, interrupted: true },
914
- message: "Execution interrupted",
915
- });
916
- }
917
- }
918
- catch (error) {
919
- console.error("Error interrupting execution:", error);
920
- const errorMessage = error instanceof Error ? error.message : String(error);
921
- let statusCode = 500;
922
- if (errorMessage.includes("not found") ||
923
- errorMessage.includes("not active")) {
924
- statusCode = 404;
925
- }
926
- else if (errorMessage.includes("not an ACP execution") ||
927
- errorMessage.includes("does not support interruption")) {
928
- statusCode = 400;
929
- }
930
- res.status(statusCode).json({
931
- success: false,
932
- data: null,
933
- error_data: errorMessage,
934
- message: "Failed to interrupt execution",
935
- });
936
- }
937
- });
938
- /**
939
- * POST /api/executions/:executionId/fork
940
- *
941
- * Fork an active execution into a new independent execution
942
- *
943
- * Creates a new execution that inherits the conversation history from the parent
944
- * session. The forked execution runs independently but preserves context.
945
- *
946
- * This is useful for:
947
- * - Exploring alternative approaches without losing progress
948
- * - Creating checkpoint branches for experimentation
949
- * - Parallel exploration of different solutions
950
- *
951
- * Note: This relies on the experimental session/fork ACP capability
952
- */
953
- router.post("/executions/:executionId/fork", async (req, res) => {
954
- try {
955
- const { executionId } = req.params;
956
- const forkedExecution = await req.project.executionService.forkExecution(executionId);
957
- res.status(201).json({
958
- success: true,
959
- data: forkedExecution,
960
- message: "Execution forked successfully",
961
- });
962
- }
963
- catch (error) {
964
- console.error("Error forking execution:", error);
965
- const errorMessage = error instanceof Error ? error.message : String(error);
966
- let statusCode = 500;
967
- if (errorMessage.includes("not found") ||
968
- errorMessage.includes("not active")) {
969
- statusCode = 404;
970
- }
971
- else if (errorMessage.includes("not an ACP execution") ||
972
- errorMessage.includes("does not support forking")) {
973
- statusCode = 400;
974
- }
975
- res.status(statusCode).json({
976
- success: false,
977
- data: null,
978
- error_data: errorMessage,
979
- message: "Failed to fork execution",
980
- });
981
- }
982
- });
983
- /**
984
- * DELETE /api/executions/:executionId
985
- *
986
- * Delete an execution and its entire chain (or cancel if ?cancel=true)
987
- *
988
- * Query parameters:
989
- * - cancel: if "true", cancel the execution instead of deleting it
990
- * - deleteBranch: if "true", also delete the execution's branch
991
- * - deleteWorktree: if "true", also delete the execution's worktree
992
- */
993
- router.delete("/executions/:executionId", async (req, res) => {
994
- try {
995
- const { executionId } = req.params;
996
- const { cancel, deleteBranch, deleteWorktree } = req.query;
997
- // If cancel query param is true, cancel the execution
998
- if (cancel === "true") {
999
- await req.project.executionService.cancelExecution(executionId);
1000
- res.json({
1001
- success: true,
1002
- data: { executionId },
1003
- message: "Execution cancelled successfully",
1004
- });
1005
- return;
1006
- }
1007
- // Otherwise, delete the execution and its chain
1008
- await req.project.executionService.deleteExecution(executionId, deleteBranch === "true", deleteWorktree === "true");
1009
- res.json({
1010
- success: true,
1011
- data: { executionId },
1012
- message: "Execution deleted successfully",
1013
- });
1014
- }
1015
- catch (error) {
1016
- console.error("Error deleting/cancelling execution:", error);
1017
- // Handle specific error cases
1018
- const errorMessage = error instanceof Error ? error.message : String(error);
1019
- const statusCode = errorMessage.includes("not found") ? 404 : 500;
1020
- res.status(statusCode).json({
1021
- success: false,
1022
- data: null,
1023
- error_data: errorMessage,
1024
- message: "Failed to delete/cancel execution",
1025
- });
1026
- }
1027
- });
1028
- /**
1029
- * GET /api/executions/:executionId/worktree
1030
- *
1031
- * Check if worktree exists for an execution
1032
- */
1033
- router.get("/executions/:executionId/worktree", async (req, res) => {
1034
- try {
1035
- const { executionId } = req.params;
1036
- const exists = await req.project.executionService.worktreeExists(executionId);
1037
- res.json({
1038
- success: true,
1039
- data: { exists },
1040
- });
1041
- }
1042
- catch (error) {
1043
- console.error("Error checking worktree:", error);
1044
- res.status(500).json({
1045
- success: false,
1046
- data: null,
1047
- error_data: error instanceof Error ? error.message : String(error),
1048
- message: "Failed to check worktree status",
1049
- });
1050
- }
1051
- });
1052
- /**
1053
- * DELETE /api/executions/:executionId/worktree
1054
- *
1055
- * Delete the worktree for an execution
1056
- *
1057
- * Query parameters:
1058
- * - deleteBranch: if "true", also delete the execution's branch
1059
- */
1060
- router.delete("/executions/:executionId/worktree", async (req, res) => {
1061
- try {
1062
- const { executionId } = req.params;
1063
- const { deleteBranch } = req.query;
1064
- await req.project.executionService.deleteWorktree(executionId, deleteBranch === "true");
1065
- res.json({
1066
- success: true,
1067
- data: { executionId },
1068
- message: "Worktree deleted successfully",
1069
- });
1070
- }
1071
- catch (error) {
1072
- console.error("Error deleting worktree:", error);
1073
- // Handle specific error cases
1074
- const errorMessage = error instanceof Error ? error.message : String(error);
1075
- let statusCode = 500;
1076
- if (errorMessage.includes("not found")) {
1077
- statusCode = 404;
1078
- }
1079
- else if (errorMessage.includes("has no worktree") ||
1080
- errorMessage.includes("Cannot delete worktree")) {
1081
- statusCode = 400;
1082
- }
1083
- res.status(statusCode).json({
1084
- success: false,
1085
- data: null,
1086
- error_data: errorMessage,
1087
- message: "Failed to delete worktree",
1088
- });
1089
- }
1090
- });
1091
- /**
1092
- * GET /api/executions/:executionId/sync/preview
1093
- *
1094
- * Preview sync changes and detect conflicts
1095
- *
1096
- * Returns preview of what would happen if sync is performed,
1097
- * including conflicts, diff, commits, and warnings.
1098
- */
1099
- router.get("/executions/:executionId/sync/preview", async (req, res) => {
1100
- try {
1101
- const { executionId } = req.params;
1102
- // Get worktree sync service
1103
- const syncService = getWorktreeSyncService(req);
1104
- // Preview sync
1105
- const preview = await syncService.previewSync(executionId);
1106
- res.json({
1107
- success: true,
1108
- data: preview,
1109
- });
1110
- }
1111
- catch (error) {
1112
- console.error(`Failed to preview sync for execution ${req.params.executionId}:`, error);
1113
- if (error instanceof WorktreeSyncError) {
1114
- const statusCode = getStatusCodeForSyncError(error);
1115
- res.status(statusCode).json({
1116
- success: false,
1117
- data: null,
1118
- error: error.message,
1119
- code: error.code,
1120
- });
1121
- }
1122
- else {
1123
- res.status(500).json({
1124
- success: false,
1125
- data: null,
1126
- error: "Internal server error",
1127
- message: error instanceof Error ? error.message : String(error),
1128
- });
1129
- }
1130
- }
1131
- });
1132
- /**
1133
- * POST /api/executions/:executionId/sync/squash
1134
- *
1135
- * Perform squash sync operation
1136
- *
1137
- * Combines all worktree changes into a single commit on the target branch.
1138
- * Automatically resolves JSONL conflicts using merge-resolver.
1139
- *
1140
- * Request body:
1141
- * - commitMessage?: string - Optional custom commit message
1142
- */
1143
- router.post("/executions/:executionId/sync/squash", async (req, res) => {
1144
- try {
1145
- const { executionId } = req.params;
1146
- const { commitMessage } = req.body || {};
1147
- // Get worktree sync service
1148
- const syncService = getWorktreeSyncService(req);
1149
- // Check if squashSync method exists
1150
- if (typeof syncService.squashSync !== "function") {
1151
- res.status(501).json({
1152
- success: false,
1153
- data: null,
1154
- error: "Squash sync not yet implemented",
1155
- message: "The squashSync operation is not available yet",
1156
- });
1157
- return;
1158
- }
1159
- // Perform squash sync
1160
- const result = await syncService.squashSync(executionId, commitMessage);
1161
- res.json({
1162
- success: true,
1163
- data: result,
1164
- });
1165
- }
1166
- catch (error) {
1167
- console.error(`Failed to squash sync execution ${req.params.executionId}:`, error);
1168
- if (error instanceof WorktreeSyncError) {
1169
- const statusCode = getStatusCodeForSyncError(error);
1170
- res.status(statusCode).json({
1171
- success: false,
1172
- data: null,
1173
- error: error.message,
1174
- code: error.code,
1175
- });
1176
- }
1177
- else {
1178
- res.status(500).json({
1179
- success: false,
1180
- data: null,
1181
- error: "Internal server error",
1182
- message: error instanceof Error ? error.message : String(error),
1183
- });
1184
- }
1185
- }
1186
- });
1187
- /**
1188
- * POST /api/executions/:executionId/sync/stage
1189
- *
1190
- * Perform stage sync operation
1191
- *
1192
- * Applies committed worktree changes to the working directory without committing.
1193
- * Changes are left staged, ready for the user to commit manually.
1194
- *
1195
- * Request body:
1196
- * - includeUncommitted?: boolean - If true, also copy uncommitted files from worktree
1197
- * - overrideLocalChanges?: boolean - If true, skip merge and overwrite local changes
1198
- */
1199
- router.post("/executions/:executionId/sync/stage", async (req, res) => {
1200
- try {
1201
- const { executionId } = req.params;
1202
- const { includeUncommitted, overrideLocalChanges } = req.body || {};
1203
- // Get worktree sync service
1204
- const syncService = getWorktreeSyncService(req);
1205
- // Perform stage sync with options
1206
- const result = await syncService.stageSync(executionId, {
1207
- includeUncommitted: includeUncommitted === true,
1208
- overrideLocalChanges: overrideLocalChanges === true,
1209
- });
1210
- res.json({
1211
- success: true,
1212
- data: result,
1213
- });
1214
- }
1215
- catch (error) {
1216
- console.error(`Failed to stage sync execution ${req.params.executionId}:`, error);
1217
- if (error instanceof WorktreeSyncError) {
1218
- const statusCode = getStatusCodeForSyncError(error);
1219
- res.status(statusCode).json({
1220
- success: false,
1221
- data: null,
1222
- error: error.message,
1223
- code: error.code,
1224
- });
1225
- }
1226
- else {
1227
- res.status(500).json({
1228
- success: false,
1229
- data: null,
1230
- error: "Internal server error",
1231
- message: error instanceof Error ? error.message : String(error),
1232
- });
1233
- }
1234
- }
1235
- });
1236
- /**
1237
- * POST /api/executions/:executionId/sync/preserve
1238
- *
1239
- * Perform preserve sync operation
1240
- *
1241
- * Merges all commits from worktree branch to target branch, preserving commit history.
1242
- * Only includes committed changes - uncommitted changes are excluded.
1243
- */
1244
- router.post("/executions/:executionId/sync/preserve", async (req, res) => {
1245
- try {
1246
- const { executionId } = req.params;
1247
- // Get worktree sync service
1248
- const syncService = getWorktreeSyncService(req);
1249
- // Perform preserve sync
1250
- const result = await syncService.preserveSync(executionId);
1251
- res.json({
1252
- success: true,
1253
- data: result,
1254
- });
1255
- }
1256
- catch (error) {
1257
- console.error(`Failed to preserve sync execution ${req.params.executionId}:`, error);
1258
- if (error instanceof WorktreeSyncError) {
1259
- const statusCode = getStatusCodeForSyncError(error);
1260
- res.status(statusCode).json({
1261
- success: false,
1262
- data: null,
1263
- error: error.message,
1264
- code: error.code,
1265
- });
1266
- }
1267
- else {
1268
- res.status(500).json({
1269
- success: false,
1270
- data: null,
1271
- error: "Internal server error",
1272
- message: error instanceof Error ? error.message : String(error),
1273
- });
1274
- }
1275
- }
1276
- });
1277
- /**
1278
- * POST /api/executions/:executionId/commit
1279
- *
1280
- * Commit uncommitted changes for an execution
1281
- *
1282
- * Commits changes to the appropriate branch based on execution mode:
1283
- * - Local mode: Commits to target_branch (current branch)
1284
- * - Worktree mode: Commits to branch_name (temp branch) in worktree
1285
- *
1286
- * Request body:
1287
- * - message: string (required) - Commit message
1288
- */
1289
- router.post("/executions/:executionId/commit", async (req, res) => {
1290
- try {
1291
- const { executionId } = req.params;
1292
- const { message } = req.body;
1293
- // Validate commit message
1294
- if (!message || typeof message !== "string" || !message.trim()) {
1295
- res.status(400).json({
1296
- success: false,
1297
- data: null,
1298
- message: "Commit message is required and must be non-empty",
1299
- });
1300
- return;
1301
- }
1302
- const db = req.project.db;
1303
- const repoPath = req.project.path;
1304
- // Load execution from database
1305
- const execution = db
1306
- .prepare("SELECT * FROM executions WHERE id = ?")
1307
- .get(executionId);
1308
- if (!execution) {
1309
- res.status(404).json({
1310
- success: false,
1311
- data: null,
1312
- message: "Execution not found",
1313
- });
1314
- return;
1315
- }
1316
- // Determine working directory and target branch
1317
- // IMPORTANT: If worktree_path exists, always use it - this is more reliable than the mode field
1318
- // which may not be set correctly on follow-up executions
1319
- const hasWorktree = !!execution.worktree_path;
1320
- const workingDir = hasWorktree ? execution.worktree_path : repoPath;
1321
- const targetBranch = hasWorktree
1322
- ? execution.branch_name
1323
- : execution.target_branch || "main";
1324
- console.log(`[Commit] Execution ${executionId}: hasWorktree=${hasWorktree}, workingDir=${workingDir}, targetBranch=${targetBranch}, mode=${execution.mode}`);
1325
- // Get current uncommitted files from working directory instead of stale database field
1326
- // This ensures we're working with the current state
1327
- let filesChanged = [];
1328
- try {
1329
- // Get modified tracked files
1330
- const modifiedOutput = execSync("git diff --name-only", {
1331
- cwd: workingDir,
1332
- encoding: "utf-8",
1333
- stdio: "pipe",
1334
- });
1335
- // Get staged files
1336
- const stagedOutput = execSync("git diff --cached --name-only", {
1337
- cwd: workingDir,
1338
- encoding: "utf-8",
1339
- stdio: "pipe",
1340
- });
1341
- // Get untracked files
1342
- const untrackedOutput = execSync("git ls-files --others --exclude-standard", {
1343
- cwd: workingDir,
1344
- encoding: "utf-8",
1345
- stdio: "pipe",
1346
- });
1347
- console.log(`[Commit] Git status in ${workingDir}:`, {
1348
- modified: modifiedOutput.trim().split("\n").filter(Boolean),
1349
- staged: stagedOutput.trim().split("\n").filter(Boolean),
1350
- untracked: untrackedOutput.trim().split("\n").filter(Boolean),
1351
- });
1352
- // Combine all files, removing duplicates
1353
- const allFiles = new Set();
1354
- for (const output of [
1355
- modifiedOutput,
1356
- stagedOutput,
1357
- untrackedOutput,
1358
- ]) {
1359
- output
1360
- .split("\n")
1361
- .filter((line) => line.trim())
1362
- .forEach((file) => allFiles.add(file));
1363
- }
1364
- filesChanged = Array.from(allFiles);
1365
- }
1366
- catch (error) {
1367
- console.error("Failed to get uncommitted files:", error);
1368
- }
1369
- // Validate has uncommitted changes
1370
- if (filesChanged.length === 0) {
1371
- res.status(400).json({
1372
- success: false,
1373
- data: null,
1374
- message: "No files to commit",
1375
- });
1376
- return;
1377
- }
1378
- // Execute git operations
1379
- try {
1380
- // Add all changes (more reliable than adding specific files)
1381
- // This catches any files that might have been missed in detection
1382
- execSync("git add -A", {
1383
- cwd: workingDir,
1384
- encoding: "utf-8",
1385
- stdio: "pipe",
1386
- });
1387
- console.log(`[Commit] Staged all changes with git add -A`);
1388
- // Verify something is staged
1389
- const stagedAfterAdd = execSync("git diff --cached --name-only", {
1390
- cwd: workingDir,
1391
- encoding: "utf-8",
1392
- stdio: "pipe",
1393
- }).trim();
1394
- if (!stagedAfterAdd) {
1395
- console.log(`[Commit] No files staged after git add -A`);
1396
- res.status(400).json({
1397
- success: false,
1398
- data: null,
1399
- message: "No files staged for commit after git add",
1400
- });
1401
- return;
1402
- }
1403
- console.log(`[Commit] Files staged: ${stagedAfterAdd.split("\n").filter(Boolean).join(", ")}`);
1404
- // Commit using -F - to read message from stdin (safer than shell escaping)
1405
- const { spawnSync } = await import("child_process");
1406
- const commitResult = spawnSync("git", ["commit", "--no-verify", "-m", message], {
1407
- cwd: workingDir,
1408
- encoding: "utf-8",
1409
- stdio: "pipe",
1410
- });
1411
- if (commitResult.status !== 0) {
1412
- const errorOutput = commitResult.stderr || commitResult.stdout || "Unknown error";
1413
- console.error(`[Commit] git commit failed:`, errorOutput);
1414
- throw new Error(`git commit failed: ${errorOutput}`);
1415
- }
1416
- console.log(`[Commit] git commit output:`, commitResult.stdout);
1417
- // Get commit SHA
1418
- const commitSha = execSync("git rev-parse HEAD", {
1419
- cwd: workingDir,
1420
- encoding: "utf-8",
1421
- stdio: "pipe",
1422
- }).trim();
1423
- console.log(`[Commit] Successfully committed ${filesChanged.length} files: ${commitSha}`);
1424
- // Note: We do NOT update execution.after_commit here
1425
- // That field represents the state at execution completion time
1426
- // Manual commits after execution are tracked separately
1427
- res.json({
1428
- success: true,
1429
- data: {
1430
- commitSha,
1431
- filesCommitted: filesChanged.length,
1432
- branch: targetBranch,
1433
- },
1434
- message: `Successfully committed ${filesChanged.length} file${filesChanged.length !== 1 ? "s" : ""}`,
1435
- });
1436
- }
1437
- catch (gitError) {
1438
- console.error("Git operation failed:", gitError);
1439
- const errorMessage = gitError instanceof Error ? gitError.message : String(gitError);
1440
- res.status(500).json({
1441
- success: false,
1442
- data: null,
1443
- message: "Git commit failed",
1444
- error: errorMessage,
1445
- });
1446
- }
1447
- }
1448
- catch (error) {
1449
- console.error(`Failed to commit for execution ${req.params.executionId}:`, error);
1450
- res.status(500).json({
1451
- success: false,
1452
- data: null,
1453
- error: "Internal server error",
1454
- message: error instanceof Error ? error.message : String(error),
1455
- });
1456
- }
1457
- });
1458
- // ============================================================================
1459
- // Persistent Session Endpoints
1460
- // ============================================================================
1461
- /**
1462
- * POST /api/executions/:executionId/prompt
1463
- *
1464
- * Send a prompt to a persistent session
1465
- *
1466
- * Returns immediately - output streams via WebSocket subscription.
1467
- * Returns error if not a persistent session or session not in waiting/paused state.
1468
- *
1469
- * Request body:
1470
- * - prompt: string (required) - The prompt to send
1471
- */
1472
- router.post("/executions/:executionId/prompt", async (req, res) => {
1473
- try {
1474
- const { executionId } = req.params;
1475
- const { prompt } = req.body;
1476
- // Validate prompt
1477
- if (!prompt || typeof prompt !== "string" || !prompt.trim()) {
1478
- res.status(400).json({
1479
- success: false,
1480
- error: "prompt is required and must be a non-empty string",
1481
- });
1482
- return;
1483
- }
1484
- await req.project.executionService.sendPrompt(executionId, prompt);
1485
- res.json({
1486
- success: true,
1487
- message: "Prompt sent to session",
1488
- });
1489
- }
1490
- catch (error) {
1491
- console.error("Error sending prompt to session:", error);
1492
- const errorMessage = error instanceof Error ? error.message : String(error);
1493
- let statusCode = 500;
1494
- if (errorMessage.includes("not found") ||
1495
- errorMessage.includes("No active executor")) {
1496
- statusCode = 404;
1497
- }
1498
- else if (errorMessage.includes("does not support") ||
1499
- errorMessage.includes("Cannot send prompt")) {
1500
- statusCode = 400;
1501
- }
1502
- res.status(statusCode).json({
1503
- success: false,
1504
- error: errorMessage,
1505
- });
1506
- }
1507
- });
1508
- /**
1509
- * POST /api/executions/:executionId/end-session
1510
- *
1511
- * End a persistent session explicitly
1512
- *
1513
- * Returns error if not a persistent session.
1514
- */
1515
- router.post("/executions/:executionId/end-session", async (req, res) => {
1516
- try {
1517
- const { executionId } = req.params;
1518
- await req.project.executionService.endSession(executionId);
1519
- res.json({
1520
- success: true,
1521
- message: "Session ended",
1522
- });
1523
- }
1524
- catch (error) {
1525
- console.error("Error ending session:", error);
1526
- const errorMessage = error instanceof Error ? error.message : String(error);
1527
- let statusCode = 500;
1528
- if (errorMessage.includes("not found") ||
1529
- errorMessage.includes("No active executor")) {
1530
- statusCode = 404;
1531
- }
1532
- else if (errorMessage.includes("does not support")) {
1533
- statusCode = 400;
1534
- }
1535
- res.status(statusCode).json({
1536
- success: false,
1537
- error: errorMessage,
1538
- });
1539
- }
1540
- });
1541
- /**
1542
- * GET /api/executions/:executionId/session-state
1543
- *
1544
- * Get session state for an execution
1545
- *
1546
- * Works for both discrete and persistent sessions.
1547
- * Returns mode, state, promptCount, and idleTimeMs.
1548
- */
1549
- router.get("/executions/:executionId/session-state", (req, res) => {
1550
- try {
1551
- const { executionId } = req.params;
1552
- const state = req.project.executionService.getSessionState(executionId);
1553
- res.json({
1554
- success: true,
1555
- data: state,
1556
- });
1557
- }
1558
- catch (error) {
1559
- console.error("Error getting session state:", error);
1560
- const errorMessage = error instanceof Error ? error.message : String(error);
1561
- const statusCode = errorMessage.includes("not found") ? 404 : 500;
1562
- res.status(statusCode).json({
1563
- success: false,
1564
- error: errorMessage,
1565
- });
1566
- }
1567
- });
1568
- return router;
1569
- }
1570
- //# sourceMappingURL=executions.js.map