sudocode 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/README.md +4 -3
  2. package/package.json +8 -38
  3. package/build.js +0 -75
  4. package/node_modules/@sudocode-ai/cli/README.md +0 -330
  5. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.d.ts +0 -53
  6. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.d.ts.map +0 -1
  7. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.js +0 -274
  8. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.js.map +0 -1
  9. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.d.ts +0 -22
  10. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.d.ts.map +0 -1
  11. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.js +0 -148
  12. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.js.map +0 -1
  13. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.d.ts +0 -45
  14. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.d.ts.map +0 -1
  15. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.js +0 -310
  16. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.js.map +0 -1
  17. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.d.ts +0 -18
  18. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.d.ts.map +0 -1
  19. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.js +0 -61
  20. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.js.map +0 -1
  21. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.d.ts +0 -22
  22. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.d.ts.map +0 -1
  23. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.js +0 -136
  24. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.js.map +0 -1
  25. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.d.ts +0 -14
  26. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.d.ts.map +0 -1
  27. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.js +0 -76
  28. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.js.map +0 -1
  29. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.d.ts +0 -17
  30. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.d.ts.map +0 -1
  31. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.js +0 -99
  32. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.js.map +0 -1
  33. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.d.ts +0 -38
  34. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.d.ts.map +0 -1
  35. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.js +0 -321
  36. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.js.map +0 -1
  37. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.d.ts +0 -17
  38. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.d.ts.map +0 -1
  39. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.js +0 -131
  40. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.js.map +0 -1
  41. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.d.ts +0 -24
  42. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.d.ts.map +0 -1
  43. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.js +0 -416
  44. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.js.map +0 -1
  45. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.d.ts +0 -12
  46. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.d.ts.map +0 -1
  47. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.js +0 -78
  48. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.js.map +0 -1
  49. package/node_modules/@sudocode-ai/cli/dist/cli.d.ts +0 -6
  50. package/node_modules/@sudocode-ai/cli/dist/cli.d.ts.map +0 -1
  51. package/node_modules/@sudocode-ai/cli/dist/cli.js +0 -426
  52. package/node_modules/@sudocode-ai/cli/dist/cli.js.map +0 -1
  53. package/node_modules/@sudocode-ai/cli/dist/db.d.ts +0 -21
  54. package/node_modules/@sudocode-ai/cli/dist/db.d.ts.map +0 -1
  55. package/node_modules/@sudocode-ai/cli/dist/db.js +0 -54
  56. package/node_modules/@sudocode-ai/cli/dist/db.js.map +0 -1
  57. package/node_modules/@sudocode-ai/cli/dist/export.d.ts +0 -79
  58. package/node_modules/@sudocode-ai/cli/dist/export.d.ts.map +0 -1
  59. package/node_modules/@sudocode-ai/cli/dist/export.js +0 -195
  60. package/node_modules/@sudocode-ai/cli/dist/export.js.map +0 -1
  61. package/node_modules/@sudocode-ai/cli/dist/filename-generator.d.ts +0 -30
  62. package/node_modules/@sudocode-ai/cli/dist/filename-generator.d.ts.map +0 -1
  63. package/node_modules/@sudocode-ai/cli/dist/filename-generator.js +0 -93
  64. package/node_modules/@sudocode-ai/cli/dist/filename-generator.js.map +0 -1
  65. package/node_modules/@sudocode-ai/cli/dist/id-generator.d.ts +0 -26
  66. package/node_modules/@sudocode-ai/cli/dist/id-generator.d.ts.map +0 -1
  67. package/node_modules/@sudocode-ai/cli/dist/id-generator.js +0 -123
  68. package/node_modules/@sudocode-ai/cli/dist/id-generator.js.map +0 -1
  69. package/node_modules/@sudocode-ai/cli/dist/import.d.ts +0 -118
  70. package/node_modules/@sudocode-ai/cli/dist/import.d.ts.map +0 -1
  71. package/node_modules/@sudocode-ai/cli/dist/import.js +0 -608
  72. package/node_modules/@sudocode-ai/cli/dist/import.js.map +0 -1
  73. package/node_modules/@sudocode-ai/cli/dist/index.d.ts +0 -13
  74. package/node_modules/@sudocode-ai/cli/dist/index.d.ts.map +0 -1
  75. package/node_modules/@sudocode-ai/cli/dist/index.js +0 -13
  76. package/node_modules/@sudocode-ai/cli/dist/index.js.map +0 -1
  77. package/node_modules/@sudocode-ai/cli/dist/jsonl.d.ts +0 -69
  78. package/node_modules/@sudocode-ai/cli/dist/jsonl.d.ts.map +0 -1
  79. package/node_modules/@sudocode-ai/cli/dist/jsonl.js +0 -333
  80. package/node_modules/@sudocode-ai/cli/dist/jsonl.js.map +0 -1
  81. package/node_modules/@sudocode-ai/cli/dist/markdown.d.ts +0 -146
  82. package/node_modules/@sudocode-ai/cli/dist/markdown.d.ts.map +0 -1
  83. package/node_modules/@sudocode-ai/cli/dist/markdown.js +0 -357
  84. package/node_modules/@sudocode-ai/cli/dist/markdown.js.map +0 -1
  85. package/node_modules/@sudocode-ai/cli/dist/migrations.d.ts +0 -23
  86. package/node_modules/@sudocode-ai/cli/dist/migrations.d.ts.map +0 -1
  87. package/node_modules/@sudocode-ai/cli/dist/migrations.js +0 -57
  88. package/node_modules/@sudocode-ai/cli/dist/migrations.js.map +0 -1
  89. package/node_modules/@sudocode-ai/cli/dist/operations/events.d.ts +0 -53
  90. package/node_modules/@sudocode-ai/cli/dist/operations/events.d.ts.map +0 -1
  91. package/node_modules/@sudocode-ai/cli/dist/operations/events.js +0 -108
  92. package/node_modules/@sudocode-ai/cli/dist/operations/events.js.map +0 -1
  93. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.d.ts +0 -92
  94. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.d.ts.map +0 -1
  95. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.js +0 -444
  96. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.js.map +0 -1
  97. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.d.ts +0 -76
  98. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.d.ts.map +0 -1
  99. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.js +0 -234
  100. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.js.map +0 -1
  101. package/node_modules/@sudocode-ai/cli/dist/operations/index.d.ts +0 -10
  102. package/node_modules/@sudocode-ai/cli/dist/operations/index.d.ts.map +0 -1
  103. package/node_modules/@sudocode-ai/cli/dist/operations/index.js +0 -10
  104. package/node_modules/@sudocode-ai/cli/dist/operations/index.js.map +0 -1
  105. package/node_modules/@sudocode-ai/cli/dist/operations/issues.d.ts +0 -82
  106. package/node_modules/@sudocode-ai/cli/dist/operations/issues.d.ts.map +0 -1
  107. package/node_modules/@sudocode-ai/cli/dist/operations/issues.js +0 -411
  108. package/node_modules/@sudocode-ai/cli/dist/operations/issues.js.map +0 -1
  109. package/node_modules/@sudocode-ai/cli/dist/operations/references.d.ts +0 -34
  110. package/node_modules/@sudocode-ai/cli/dist/operations/references.d.ts.map +0 -1
  111. package/node_modules/@sudocode-ai/cli/dist/operations/references.js +0 -117
  112. package/node_modules/@sudocode-ai/cli/dist/operations/references.js.map +0 -1
  113. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.d.ts +0 -57
  114. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.d.ts.map +0 -1
  115. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.js +0 -236
  116. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.js.map +0 -1
  117. package/node_modules/@sudocode-ai/cli/dist/operations/specs.d.ts +0 -64
  118. package/node_modules/@sudocode-ai/cli/dist/operations/specs.d.ts.map +0 -1
  119. package/node_modules/@sudocode-ai/cli/dist/operations/specs.js +0 -290
  120. package/node_modules/@sudocode-ai/cli/dist/operations/specs.js.map +0 -1
  121. package/node_modules/@sudocode-ai/cli/dist/operations/tags.d.ts +0 -42
  122. package/node_modules/@sudocode-ai/cli/dist/operations/tags.d.ts.map +0 -1
  123. package/node_modules/@sudocode-ai/cli/dist/operations/tags.js +0 -127
  124. package/node_modules/@sudocode-ai/cli/dist/operations/tags.js.map +0 -1
  125. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.d.ts +0 -41
  126. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.d.ts.map +0 -1
  127. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.js +0 -111
  128. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.js.map +0 -1
  129. package/node_modules/@sudocode-ai/cli/dist/sync.d.ts +0 -47
  130. package/node_modules/@sudocode-ai/cli/dist/sync.d.ts.map +0 -1
  131. package/node_modules/@sudocode-ai/cli/dist/sync.js +0 -442
  132. package/node_modules/@sudocode-ai/cli/dist/sync.js.map +0 -1
  133. package/node_modules/@sudocode-ai/cli/dist/test-schema.d.ts +0 -5
  134. package/node_modules/@sudocode-ai/cli/dist/test-schema.d.ts.map +0 -1
  135. package/node_modules/@sudocode-ai/cli/dist/test-schema.js +0 -46
  136. package/node_modules/@sudocode-ai/cli/dist/test-schema.js.map +0 -1
  137. package/node_modules/@sudocode-ai/cli/dist/types.d.ts +0 -7
  138. package/node_modules/@sudocode-ai/cli/dist/types.d.ts.map +0 -1
  139. package/node_modules/@sudocode-ai/cli/dist/types.js +0 -7
  140. package/node_modules/@sudocode-ai/cli/dist/types.js.map +0 -1
  141. package/node_modules/@sudocode-ai/cli/dist/update-checker.d.ts +0 -24
  142. package/node_modules/@sudocode-ai/cli/dist/update-checker.d.ts.map +0 -1
  143. package/node_modules/@sudocode-ai/cli/dist/update-checker.js +0 -151
  144. package/node_modules/@sudocode-ai/cli/dist/update-checker.js.map +0 -1
  145. package/node_modules/@sudocode-ai/cli/dist/version.d.ts +0 -12
  146. package/node_modules/@sudocode-ai/cli/dist/version.d.ts.map +0 -1
  147. package/node_modules/@sudocode-ai/cli/dist/version.js +0 -23
  148. package/node_modules/@sudocode-ai/cli/dist/version.js.map +0 -1
  149. package/node_modules/@sudocode-ai/cli/dist/watcher.d.ts +0 -63
  150. package/node_modules/@sudocode-ai/cli/dist/watcher.d.ts.map +0 -1
  151. package/node_modules/@sudocode-ai/cli/dist/watcher.js +0 -438
  152. package/node_modules/@sudocode-ai/cli/dist/watcher.js.map +0 -1
  153. package/node_modules/@sudocode-ai/cli/package.json +0 -65
  154. package/node_modules/@sudocode-ai/local-server/README.md +0 -19
  155. package/node_modules/@sudocode-ai/local-server/dist/cli.d.ts +0 -7
  156. package/node_modules/@sudocode-ai/local-server/dist/cli.d.ts.map +0 -1
  157. package/node_modules/@sudocode-ai/local-server/dist/cli.js +0 -7
  158. package/node_modules/@sudocode-ai/local-server/dist/cli.js.map +0 -1
  159. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/engine.d.ts +0 -103
  160. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/engine.d.ts.map +0 -1
  161. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/engine.js +0 -10
  162. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/engine.js.map +0 -1
  163. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/simple-engine.d.ts +0 -190
  164. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/simple-engine.d.ts.map +0 -1
  165. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/simple-engine.js +0 -611
  166. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/simple-engine.js.map +0 -1
  167. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/types.d.ts +0 -116
  168. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/types.d.ts.map +0 -1
  169. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/types.js +0 -10
  170. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/types.js.map +0 -1
  171. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.d.ts +0 -176
  172. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.d.ts.map +0 -1
  173. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.js +0 -438
  174. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.js.map +0 -1
  175. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-integration.d.ts +0 -96
  176. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-integration.d.ts.map +0 -1
  177. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-integration.js +0 -96
  178. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-integration.js.map +0 -1
  179. package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-code-output-processor.d.ts +0 -321
  180. package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-code-output-processor.d.ts.map +0 -1
  181. package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-code-output-processor.js +0 -769
  182. package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-code-output-processor.js.map +0 -1
  183. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.d.ts +0 -18
  184. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.d.ts.map +0 -1
  185. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.js +0 -15
  186. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.js.map +0 -1
  187. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.d.ts +0 -421
  188. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.d.ts.map +0 -1
  189. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.js +0 -22
  190. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.js.map +0 -1
  191. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.d.ts +0 -86
  192. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.d.ts.map +0 -1
  193. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.js +0 -59
  194. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.js.map +0 -1
  195. package/node_modules/@sudocode-ai/local-server/dist/execution/process/index.d.ts +0 -15
  196. package/node_modules/@sudocode-ai/local-server/dist/execution/process/index.d.ts.map +0 -1
  197. package/node_modules/@sudocode-ai/local-server/dist/execution/process/index.js +0 -15
  198. package/node_modules/@sudocode-ai/local-server/dist/execution/process/index.js.map +0 -1
  199. package/node_modules/@sudocode-ai/local-server/dist/execution/process/manager.d.ts +0 -133
  200. package/node_modules/@sudocode-ai/local-server/dist/execution/process/manager.d.ts.map +0 -1
  201. package/node_modules/@sudocode-ai/local-server/dist/execution/process/manager.js +0 -10
  202. package/node_modules/@sudocode-ai/local-server/dist/execution/process/manager.js.map +0 -1
  203. package/node_modules/@sudocode-ai/local-server/dist/execution/process/simple-manager.d.ts +0 -102
  204. package/node_modules/@sudocode-ai/local-server/dist/execution/process/simple-manager.d.ts.map +0 -1
  205. package/node_modules/@sudocode-ai/local-server/dist/execution/process/simple-manager.js +0 -336
  206. package/node_modules/@sudocode-ai/local-server/dist/execution/process/simple-manager.js.map +0 -1
  207. package/node_modules/@sudocode-ai/local-server/dist/execution/process/types.d.ts +0 -105
  208. package/node_modules/@sudocode-ai/local-server/dist/execution/process/types.d.ts.map +0 -1
  209. package/node_modules/@sudocode-ai/local-server/dist/execution/process/types.js +0 -10
  210. package/node_modules/@sudocode-ai/local-server/dist/execution/process/types.js.map +0 -1
  211. package/node_modules/@sudocode-ai/local-server/dist/execution/process/utils.d.ts +0 -53
  212. package/node_modules/@sudocode-ai/local-server/dist/execution/process/utils.d.ts.map +0 -1
  213. package/node_modules/@sudocode-ai/local-server/dist/execution/process/utils.js +0 -97
  214. package/node_modules/@sudocode-ai/local-server/dist/execution/process/utils.js.map +0 -1
  215. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/circuit-breaker.d.ts +0 -170
  216. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/circuit-breaker.d.ts.map +0 -1
  217. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/circuit-breaker.js +0 -291
  218. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/circuit-breaker.js.map +0 -1
  219. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/executor.d.ts +0 -109
  220. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/executor.d.ts.map +0 -1
  221. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/executor.js +0 -10
  222. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/executor.js.map +0 -1
  223. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/index.d.ts +0 -14
  224. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/index.d.ts.map +0 -1
  225. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/index.js +0 -15
  226. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/index.js.map +0 -1
  227. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/resilient-executor.d.ts +0 -86
  228. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/resilient-executor.d.ts.map +0 -1
  229. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/resilient-executor.js +0 -261
  230. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/resilient-executor.js.map +0 -1
  231. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/retry.d.ts +0 -161
  232. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/retry.d.ts.map +0 -1
  233. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/retry.js +0 -234
  234. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/retry.js.map +0 -1
  235. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/types.d.ts +0 -226
  236. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/types.d.ts.map +0 -1
  237. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/types.js +0 -30
  238. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/types.js.map +0 -1
  239. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.d.ts +0 -119
  240. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.d.ts.map +0 -1
  241. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.js +0 -208
  242. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.js.map +0 -1
  243. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.d.ts +0 -10
  244. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.d.ts.map +0 -1
  245. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.js +0 -10
  246. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.js.map +0 -1
  247. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.d.ts +0 -146
  248. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.d.ts.map +0 -1
  249. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.js +0 -282
  250. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.js.map +0 -1
  251. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.d.ts +0 -176
  252. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.d.ts.map +0 -1
  253. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.js +0 -231
  254. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.js.map +0 -1
  255. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/index.d.ts +0 -13
  256. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/index.d.ts.map +0 -1
  257. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/index.js +0 -13
  258. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/index.js.map +0 -1
  259. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/linear-orchestrator.d.ts +0 -216
  260. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/linear-orchestrator.d.ts.map +0 -1
  261. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/linear-orchestrator.js +0 -683
  262. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/linear-orchestrator.js.map +0 -1
  263. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/memory-storage.d.ts +0 -54
  264. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/memory-storage.d.ts.map +0 -1
  265. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/memory-storage.js +0 -68
  266. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/memory-storage.js.map +0 -1
  267. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/orchestrator.d.ts +0 -158
  268. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/orchestrator.d.ts.map +0 -1
  269. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/orchestrator.js +0 -9
  270. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/orchestrator.js.map +0 -1
  271. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/types.d.ts +0 -172
  272. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/types.d.ts.map +0 -1
  273. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/types.js +0 -9
  274. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/types.js.map +0 -1
  275. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/utils.d.ts +0 -89
  276. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/utils.d.ts.map +0 -1
  277. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/utils.js +0 -152
  278. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/utils.js.map +0 -1
  279. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.d.ts +0 -74
  280. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.d.ts.map +0 -1
  281. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.js +0 -280
  282. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.js.map +0 -1
  283. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.d.ts +0 -151
  284. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.d.ts.map +0 -1
  285. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.js +0 -189
  286. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.js.map +0 -1
  287. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.d.ts +0 -16
  288. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.d.ts.map +0 -1
  289. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.js +0 -15
  290. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.js.map +0 -1
  291. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.d.ts +0 -184
  292. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.d.ts.map +0 -1
  293. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.js +0 -452
  294. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.js.map +0 -1
  295. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.d.ts +0 -90
  296. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.d.ts.map +0 -1
  297. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.js +0 -42
  298. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.js.map +0 -1
  299. package/node_modules/@sudocode-ai/local-server/dist/index.d.ts +0 -8
  300. package/node_modules/@sudocode-ai/local-server/dist/index.d.ts.map +0 -1
  301. package/node_modules/@sudocode-ai/local-server/dist/index.js +0 -356
  302. package/node_modules/@sudocode-ai/local-server/dist/index.js.map +0 -1
  303. package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-C4SmlXoo.js +0 -568
  304. package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-C4SmlXoo.js.map +0 -1
  305. package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-DE59j7ti.css +0 -1
  306. package/node_modules/@sudocode-ai/local-server/dist/public/assets/react-vendor-LX0UoTxg.js +0 -60
  307. package/node_modules/@sudocode-ai/local-server/dist/public/assets/react-vendor-LX0UoTxg.js.map +0 -1
  308. package/node_modules/@sudocode-ai/local-server/dist/public/assets/ui-vendor-_cxVHaqZ.js +0 -54
  309. package/node_modules/@sudocode-ai/local-server/dist/public/assets/ui-vendor-_cxVHaqZ.js.map +0 -1
  310. package/node_modules/@sudocode-ai/local-server/dist/public/favicon.ico +0 -0
  311. package/node_modules/@sudocode-ai/local-server/dist/public/index.html +0 -16
  312. package/node_modules/@sudocode-ai/local-server/dist/public/logo.png +0 -0
  313. package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.d.ts +0 -24
  314. package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.d.ts.map +0 -1
  315. package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.js +0 -55
  316. package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.js.map +0 -1
  317. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.d.ts +0 -19
  318. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.d.ts.map +0 -1
  319. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.js +0 -267
  320. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.js.map +0 -1
  321. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.d.ts +0 -7
  322. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.d.ts.map +0 -1
  323. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.js +0 -329
  324. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.js.map +0 -1
  325. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.d.ts +0 -7
  326. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.d.ts.map +0 -1
  327. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.js +0 -280
  328. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.js.map +0 -1
  329. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.d.ts +0 -7
  330. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.d.ts.map +0 -1
  331. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.js +0 -308
  332. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.js.map +0 -1
  333. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.d.ts +0 -7
  334. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.d.ts.map +0 -1
  335. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.js +0 -270
  336. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.js.map +0 -1
  337. package/node_modules/@sudocode-ai/local-server/dist/services/db.d.ts +0 -33
  338. package/node_modules/@sudocode-ai/local-server/dist/services/db.d.ts.map +0 -1
  339. package/node_modules/@sudocode-ai/local-server/dist/services/db.js +0 -85
  340. package/node_modules/@sudocode-ai/local-server/dist/services/db.js.map +0 -1
  341. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.d.ts +0 -108
  342. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.d.ts.map +0 -1
  343. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.js +0 -286
  344. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.js.map +0 -1
  345. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.d.ts +0 -185
  346. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.d.ts.map +0 -1
  347. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.js +0 -676
  348. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.js.map +0 -1
  349. package/node_modules/@sudocode-ai/local-server/dist/services/executions.d.ts +0 -59
  350. package/node_modules/@sudocode-ai/local-server/dist/services/executions.d.ts.map +0 -1
  351. package/node_modules/@sudocode-ai/local-server/dist/services/executions.js +0 -164
  352. package/node_modules/@sudocode-ai/local-server/dist/services/executions.js.map +0 -1
  353. package/node_modules/@sudocode-ai/local-server/dist/services/export.d.ts +0 -24
  354. package/node_modules/@sudocode-ai/local-server/dist/services/export.d.ts.map +0 -1
  355. package/node_modules/@sudocode-ai/local-server/dist/services/export.js +0 -106
  356. package/node_modules/@sudocode-ai/local-server/dist/services/export.js.map +0 -1
  357. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.d.ts +0 -40
  358. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.d.ts.map +0 -1
  359. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.js +0 -54
  360. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.js.map +0 -1
  361. package/node_modules/@sudocode-ai/local-server/dist/services/issues.d.ts +0 -27
  362. package/node_modules/@sudocode-ai/local-server/dist/services/issues.d.ts.map +0 -1
  363. package/node_modules/@sudocode-ai/local-server/dist/services/issues.js +0 -35
  364. package/node_modules/@sudocode-ai/local-server/dist/services/issues.js.map +0 -1
  365. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.d.ts +0 -108
  366. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.d.ts.map +0 -1
  367. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.js +0 -212
  368. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.js.map +0 -1
  369. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.d.ts +0 -97
  370. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.d.ts.map +0 -1
  371. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.js +0 -236
  372. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.js.map +0 -1
  373. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.d.ts +0 -35
  374. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.d.ts.map +0 -1
  375. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.js +0 -42
  376. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.js.map +0 -1
  377. package/node_modules/@sudocode-ai/local-server/dist/services/specs.d.ts +0 -27
  378. package/node_modules/@sudocode-ai/local-server/dist/services/specs.d.ts.map +0 -1
  379. package/node_modules/@sudocode-ai/local-server/dist/services/specs.js +0 -35
  380. package/node_modules/@sudocode-ai/local-server/dist/services/specs.js.map +0 -1
  381. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.d.ts +0 -50
  382. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.d.ts.map +0 -1
  383. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.js +0 -69
  384. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.js.map +0 -1
  385. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.d.ts +0 -127
  386. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.d.ts.map +0 -1
  387. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.js +0 -389
  388. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.js.map +0 -1
  389. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.d.ts +0 -6
  390. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.d.ts.map +0 -1
  391. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.js +0 -9
  392. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.js.map +0 -1
  393. package/node_modules/@sudocode-ai/local-server/package.json +0 -72
  394. package/node_modules/@sudocode-ai/mcp/LICENSE +0 -21
  395. package/node_modules/@sudocode-ai/mcp/README.md +0 -226
  396. package/node_modules/@sudocode-ai/mcp/dist/client.d.ts +0 -33
  397. package/node_modules/@sudocode-ai/mcp/dist/client.d.ts.map +0 -1
  398. package/node_modules/@sudocode-ai/mcp/dist/client.js +0 -159
  399. package/node_modules/@sudocode-ai/mcp/dist/client.js.map +0 -1
  400. package/node_modules/@sudocode-ai/mcp/dist/index.d.ts +0 -6
  401. package/node_modules/@sudocode-ai/mcp/dist/index.d.ts.map +0 -1
  402. package/node_modules/@sudocode-ai/mcp/dist/index.js +0 -64
  403. package/node_modules/@sudocode-ai/mcp/dist/index.js.map +0 -1
  404. package/node_modules/@sudocode-ai/mcp/dist/server.d.ts +0 -26
  405. package/node_modules/@sudocode-ai/mcp/dist/server.d.ts.map +0 -1
  406. package/node_modules/@sudocode-ai/mcp/dist/server.js +0 -575
  407. package/node_modules/@sudocode-ai/mcp/dist/server.js.map +0 -1
  408. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.d.ts +0 -41
  409. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.d.ts.map +0 -1
  410. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.js +0 -21
  411. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.js.map +0 -1
  412. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.d.ts +0 -19
  413. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.d.ts.map +0 -1
  414. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.js +0 -24
  415. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.js.map +0 -1
  416. package/node_modules/@sudocode-ai/mcp/dist/tools/init.d.ts +0 -17
  417. package/node_modules/@sudocode-ai/mcp/dist/tools/init.d.ts.map +0 -1
  418. package/node_modules/@sudocode-ai/mcp/dist/tools/init.js +0 -15
  419. package/node_modules/@sudocode-ai/mcp/dist/tools/init.js.map +0 -1
  420. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.d.ts +0 -44
  421. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.d.ts.map +0 -1
  422. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.js +0 -106
  423. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.js.map +0 -1
  424. package/node_modules/@sudocode-ai/mcp/dist/tools/references.d.ts +0 -21
  425. package/node_modules/@sudocode-ai/mcp/dist/tools/references.d.ts.map +0 -1
  426. package/node_modules/@sudocode-ai/mcp/dist/tools/references.js +0 -49
  427. package/node_modules/@sudocode-ai/mcp/dist/tools/references.js.map +0 -1
  428. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.d.ts +0 -15
  429. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.d.ts.map +0 -1
  430. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.js +0 -18
  431. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.js.map +0 -1
  432. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.d.ts +0 -35
  433. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.d.ts.map +0 -1
  434. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.js +0 -85
  435. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.js.map +0 -1
  436. package/node_modules/@sudocode-ai/mcp/dist/types.d.ts +0 -35
  437. package/node_modules/@sudocode-ai/mcp/dist/types.d.ts.map +0 -1
  438. package/node_modules/@sudocode-ai/mcp/dist/types.js +0 -21
  439. package/node_modules/@sudocode-ai/mcp/dist/types.js.map +0 -1
  440. package/node_modules/@sudocode-ai/mcp/package.json +0 -67
  441. package/node_modules/@sudocode-ai/types/README.md +0 -7
  442. package/node_modules/@sudocode-ai/types/dist/schema.d.ts +0 -45
  443. package/node_modules/@sudocode-ai/types/dist/schema.d.ts.map +0 -1
  444. package/node_modules/@sudocode-ai/types/dist/schema.js +0 -338
  445. package/node_modules/@sudocode-ai/types/dist/schema.js.map +0 -1
  446. package/node_modules/@sudocode-ai/types/package.json +0 -46
@@ -1,438 +0,0 @@
1
- /**
2
- * File watcher for automatic synchronization
3
- * Watches .sudocode directory for changes and triggers sync operations
4
- */
5
- import chokidar from "chokidar";
6
- import * as path from "path";
7
- import * as fs from "fs";
8
- import { syncMarkdownToJSONL, syncJSONLToMarkdown } from "./sync.js";
9
- import { importFromJSONL } from "./import.js";
10
- import { exportToJSONL } from "./export.js";
11
- import { getSpecByFilePath, deleteSpec, listSpecs, getSpec, } from "./operations/specs.js";
12
- import { listIssues, getIssue } from "./operations/issues.js";
13
- import { parseMarkdownFile } from "./markdown.js";
14
- import { listFeedback } from "./operations/feedback.js";
15
- import { getTags } from "./operations/tags.js";
16
- /**
17
- * Start watching files for changes
18
- * Returns a control object to stop the watcher
19
- */
20
- export function startWatcher(options) {
21
- const { db, baseDir, debounceDelay = 2000, onLog = console.log, onError = console.error, ignoreInitial = true, syncJSONLToMarkdown: enableReverseSync = false, } = options;
22
- const stats = {
23
- filesWatched: 0,
24
- changesPending: 0,
25
- changesProcessed: 0,
26
- errors: 0,
27
- };
28
- // Map of file paths to pending timeout IDs
29
- const pendingChanges = new Map();
30
- /**
31
- * Check if markdown file content matches database content
32
- * Returns true if they match (no sync needed)
33
- */
34
- function contentMatches(mdPath, entityId, entityType) {
35
- try {
36
- // Check if file exists
37
- if (!fs.existsSync(mdPath)) {
38
- return false; // File doesn't exist, needs to be created
39
- }
40
- // Parse markdown file
41
- const parsed = parseMarkdownFile(mdPath, db, baseDir);
42
- const { data: frontmatter, content: mdContent } = parsed;
43
- // Get entity from database
44
- const dbEntity = entityType === "spec" ? getSpec(db, entityId) : getIssue(db, entityId);
45
- if (!dbEntity) {
46
- return false; // Entity not in DB, shouldn't happen
47
- }
48
- // Compare title
49
- if (frontmatter.title !== dbEntity.title) {
50
- return false;
51
- }
52
- // Compare content (trim to ignore whitespace differences)
53
- if (mdContent.trim() !== (dbEntity.content || "").trim()) {
54
- return false;
55
- }
56
- // Compare other key fields
57
- if (entityType === "spec") {
58
- if (frontmatter.priority !== dbEntity.priority)
59
- return false;
60
- }
61
- else {
62
- const issue = dbEntity;
63
- if (frontmatter.status !== issue.status)
64
- return false;
65
- if (frontmatter.priority !== issue.priority)
66
- return false;
67
- }
68
- return true; // Content matches
69
- }
70
- catch (error) {
71
- // If there's an error parsing, assume they don't match
72
- return false;
73
- }
74
- }
75
- /**
76
- * Check if JSONL file needs to be imported to database
77
- * Returns true if import is needed (JSONL has changes not in DB)
78
- */
79
- function jsonlNeedsImport(jsonlPath) {
80
- try {
81
- if (!fs.existsSync(jsonlPath)) {
82
- return false; // File doesn't exist
83
- }
84
- // Read JSONL file
85
- const content = fs.readFileSync(jsonlPath, "utf8");
86
- const lines = content
87
- .trim()
88
- .split("\n")
89
- .filter((line) => line.trim());
90
- // Parse each line and check if it differs from database
91
- for (const line of lines) {
92
- const jsonlEntity = JSON.parse(line);
93
- const entityId = jsonlEntity.id;
94
- const entityType = jsonlPath.includes("specs.jsonl") ? "spec" : "issue";
95
- // Get entity from database
96
- const dbEntity = entityType === "spec"
97
- ? getSpec(db, entityId)
98
- : getIssue(db, entityId);
99
- // If entity doesn't exist in DB, import is needed
100
- if (!dbEntity) {
101
- return true;
102
- }
103
- // Compare all substantial fields
104
- if (jsonlEntity.title !== dbEntity.title)
105
- return true;
106
- if ((jsonlEntity.content || "").trim() !== (dbEntity.content || "").trim())
107
- return true;
108
- if (jsonlEntity.priority !== dbEntity.priority)
109
- return true;
110
- if (jsonlEntity.parent_id !== dbEntity.parent_id)
111
- return true;
112
- if (jsonlEntity.archived !== dbEntity.archived)
113
- return true;
114
- if (jsonlEntity.archived_at !== dbEntity.archived_at)
115
- return true;
116
- if (entityType === "spec") {
117
- const dbSpec = dbEntity;
118
- // Compare spec-specific fields
119
- if (jsonlEntity.file_path !== dbSpec.file_path)
120
- return true;
121
- }
122
- else if (entityType === "issue") {
123
- const dbIssue = dbEntity;
124
- if (jsonlEntity.status !== dbIssue.status)
125
- return true;
126
- if (jsonlEntity.assignee !== dbIssue.assignee)
127
- return true;
128
- if (jsonlEntity.closed_at !== dbIssue.closed_at)
129
- return true;
130
- // Compare feedback
131
- const dbFeedback = listFeedback(db, { issue_id: entityId });
132
- const jsonlFeedback = jsonlEntity.feedback || [];
133
- if (jsonlFeedback.length !== dbFeedback.length)
134
- return true;
135
- // Compare feedback content
136
- for (const jf of jsonlFeedback) {
137
- const dbf = dbFeedback.find((f) => f.id === jf.id);
138
- if (!dbf)
139
- return true;
140
- if (jf.content !== dbf.content)
141
- return true;
142
- if (jf.feedback_type !== dbf.feedback_type)
143
- return true;
144
- if (jf.spec_id !== dbf.spec_id)
145
- return true;
146
- if (jf.dismissed !== dbf.dismissed)
147
- return true;
148
- // Compare anchor (stringified for comparison)
149
- const jfAnchor = JSON.stringify(jf.anchor || null);
150
- const dbfAnchor = JSON.stringify(dbf.anchor && typeof dbf.anchor === "string"
151
- ? JSON.parse(dbf.anchor)
152
- : dbf.anchor || null);
153
- if (jfAnchor !== dbfAnchor)
154
- return true;
155
- }
156
- }
157
- // Compare tags
158
- const dbTags = getTags(db, entityId, entityType);
159
- const jsonlTags = jsonlEntity.tags || [];
160
- if (jsonlTags.length !== dbTags.length)
161
- return true;
162
- const dbTagsSet = new Set(dbTags);
163
- if (jsonlTags.some((tag) => !dbTagsSet.has(tag)))
164
- return true;
165
- // Compare relationships
166
- const { getOutgoingRelationships } = require("./operations/relationships.js");
167
- const dbRels = getOutgoingRelationships(db, entityId, entityType);
168
- const jsonlRels = jsonlEntity.relationships || [];
169
- if (jsonlRels.length !== dbRels.length)
170
- return true;
171
- // Compare relationship content
172
- for (const jr of jsonlRels) {
173
- const dr = dbRels.find((r) => r.to_id === jr.to &&
174
- r.to_type === jr.to_type &&
175
- r.relationship_type === jr.type);
176
- if (!dr)
177
- return true;
178
- }
179
- // Compare updated_at timestamp - if JSONL is newer, import is needed
180
- if (jsonlEntity.updated_at &&
181
- new Date(jsonlEntity.updated_at).getTime() >
182
- new Date(dbEntity.updated_at).getTime()) {
183
- return true;
184
- }
185
- }
186
- return false; // All entities match
187
- }
188
- catch (error) {
189
- // If there's an error, assume import is needed
190
- return true;
191
- }
192
- }
193
- // Paths to watch
194
- const specsDir = path.join(baseDir, "specs");
195
- const issuesDir = path.join(baseDir, "issues");
196
- const specsJSONL = path.join(baseDir, "specs.jsonl");
197
- const issuesJSONL = path.join(baseDir, "issues.jsonl");
198
- // Watch directories and JSONL files - chokidar will recursively watch all files inside
199
- const watcher = chokidar.watch([specsDir, issuesDir, specsJSONL, issuesJSONL], {
200
- persistent: true,
201
- ignoreInitial,
202
- awaitWriteFinish: {
203
- stabilityThreshold: 100, // Reduced for faster detection in tests
204
- pollInterval: 50,
205
- },
206
- });
207
- // Log watch patterns for debugging
208
- onLog(`[watch] Watching directories: ${specsDir}, ${issuesDir} and JSONL files`);
209
- /**
210
- * Process a file change
211
- */
212
- async function processChange(filePath, event) {
213
- try {
214
- const ext = path.extname(filePath);
215
- const basename = path.basename(filePath);
216
- if (ext === ".md") {
217
- // Markdown file changed - sync to database and JSONL
218
- onLog(`[watch] ${event} ${path.relative(baseDir, filePath)}`);
219
- if (event === "unlink") {
220
- // File was deleted - remove from database and JSONL
221
- // Calculate relative file path
222
- const relPath = path.relative(baseDir, filePath);
223
- // Look up spec by file path
224
- const spec = getSpecByFilePath(db, relPath);
225
- if (spec) {
226
- // Delete from database
227
- const deleted = deleteSpec(db, spec.id);
228
- if (deleted) {
229
- onLog(`[watch] Deleted spec ${spec.id} (file removed)`);
230
- // Export to JSONL to reflect deletion
231
- await exportToJSONL(db, { outputDir: baseDir });
232
- }
233
- }
234
- else {
235
- onLog(`[watch] File deleted but no spec found: ${relPath}`);
236
- }
237
- }
238
- else {
239
- // Parse markdown to get entity info
240
- try {
241
- const parsed = parseMarkdownFile(filePath, db, baseDir);
242
- const { data: frontmatter } = parsed;
243
- const entityId = frontmatter.id;
244
- // Determine entity type based on file location
245
- const relPath = path.relative(baseDir, filePath);
246
- const entityType = relPath.startsWith("specs/") || relPath.startsWith("specs\\")
247
- ? "spec"
248
- : "issue";
249
- // Skip if content already matches (prevents oscillation)
250
- if (entityId && contentMatches(filePath, entityId, entityType)) {
251
- return;
252
- }
253
- // Check timestamps to determine sync direction
254
- if (entityId) {
255
- const dbEntity = entityType === "spec"
256
- ? getSpec(db, entityId)
257
- : getIssue(db, entityId);
258
- if (dbEntity) {
259
- // Get file modification time
260
- const fileStat = fs.statSync(filePath);
261
- const fileTime = fileStat.mtimeMs;
262
- // Get database updated_at time
263
- const dbTime = new Date(dbEntity.updated_at).getTime();
264
- // If database is newer than file, skip markdown → database sync
265
- if (dbTime > fileTime) {
266
- onLog(`[watch] Skipping sync for ${entityType} ${entityId} (database is newer)`);
267
- return;
268
- }
269
- }
270
- }
271
- }
272
- catch (error) {
273
- // If parsing fails, continue with sync (might be a new file)
274
- }
275
- // Sync markdown to database
276
- const result = await syncMarkdownToJSONL(db, filePath, {
277
- outputDir: baseDir,
278
- autoExport: true,
279
- autoInitialize: true,
280
- writeBackFrontmatter: true,
281
- });
282
- if (result.success) {
283
- onLog(`[watch] Synced ${result.entityType} ${result.entityId} (${result.action})`);
284
- }
285
- else {
286
- onError(new Error(`Failed to sync ${filePath}: ${result.error}`));
287
- stats.errors++;
288
- }
289
- }
290
- }
291
- else if (basename === "specs.jsonl" || basename === "issues.jsonl") {
292
- // JSONL file changed (e.g., from git pull) - check if import is needed
293
- onLog(`[watch] ${event} ${path.relative(baseDir, filePath)}`);
294
- if (event !== "unlink") {
295
- // Check if JSONL actually differs from database before importing
296
- if (jsonlNeedsImport(filePath)) {
297
- await importFromJSONL(db, {
298
- inputDir: baseDir,
299
- });
300
- onLog(`[watch] Imported JSONL changes to database`);
301
- }
302
- // Optionally sync database changes back to markdown files
303
- // Only sync entities where content actually differs (contentMatches check)
304
- if (enableReverseSync) {
305
- onLog(`[watch] Checking for entities that need markdown updates...`);
306
- let syncedCount = 0;
307
- // Get all specs and sync to markdown
308
- const specs = listSpecs(db);
309
- for (const spec of specs) {
310
- if (spec.file_path) {
311
- const mdPath = path.join(baseDir, spec.file_path);
312
- // Skip if content already matches (prevents oscillation)
313
- if (contentMatches(mdPath, spec.id, "spec")) {
314
- continue;
315
- }
316
- const result = await syncJSONLToMarkdown(db, spec.id, "spec", mdPath);
317
- if (result.success) {
318
- syncedCount++;
319
- onLog(`[watch] Synced spec ${spec.id} to ${spec.file_path} (${result.action})`);
320
- }
321
- else if (result.error) {
322
- onError(new Error(`Failed to sync spec ${spec.id}: ${result.error}`));
323
- }
324
- }
325
- }
326
- // Get all issues and check if any need syncing
327
- const issues = listIssues(db);
328
- const issuesDir = path.join(baseDir, "issues");
329
- for (const issue of issues) {
330
- const fileName = `${issue.id}.md`;
331
- const mdPath = path.join(issuesDir, fileName);
332
- // Skip if content already matches (prevents unnecessary writes and oscillation)
333
- if (contentMatches(mdPath, issue.id, "issue")) {
334
- continue;
335
- }
336
- const result = await syncJSONLToMarkdown(db, issue.id, "issue", mdPath);
337
- if (result.success) {
338
- syncedCount++;
339
- onLog(`[watch] Synced issue ${issue.id} to markdown (${result.action})`);
340
- }
341
- else if (result.error) {
342
- onError(new Error(`Failed to sync issue ${issue.id}: ${result.error}`));
343
- }
344
- }
345
- if (syncedCount > 0) {
346
- onLog(`[watch] Synced ${syncedCount} entities to markdown`);
347
- }
348
- else {
349
- onLog(`[watch] All markdown files are up to date`);
350
- }
351
- }
352
- }
353
- }
354
- stats.changesProcessed++;
355
- }
356
- catch (error) {
357
- const message = error instanceof Error ? error.message : String(error);
358
- onError(new Error(`Error processing ${filePath}: ${message}`));
359
- stats.errors++;
360
- }
361
- }
362
- /**
363
- * Debounced file change handler
364
- */
365
- function handleFileChange(filePath, event) {
366
- // Cancel pending change for this file
367
- const existingTimeout = pendingChanges.get(filePath);
368
- if (existingTimeout) {
369
- clearTimeout(existingTimeout);
370
- stats.changesPending--;
371
- }
372
- // Schedule new change
373
- stats.changesPending++;
374
- const timeout = setTimeout(() => {
375
- pendingChanges.delete(filePath);
376
- stats.changesPending--;
377
- processChange(filePath, event);
378
- }, debounceDelay);
379
- pendingChanges.set(filePath, timeout);
380
- }
381
- // Set up event handlers
382
- watcher.on("add", (filePath) => handleFileChange(filePath, "add"));
383
- watcher.on("change", (filePath) => handleFileChange(filePath, "change"));
384
- watcher.on("unlink", (filePath) => handleFileChange(filePath, "unlink"));
385
- watcher.on("ready", () => {
386
- const watched = watcher.getWatched();
387
- stats.filesWatched = Object.keys(watched).reduce((total, dir) => total + watched[dir].length, 0);
388
- onLog(`[watch] Watching ${stats.filesWatched} files in ${baseDir}`);
389
- });
390
- watcher.on("error", (error) => {
391
- onError(error);
392
- stats.errors++;
393
- });
394
- // Return control object
395
- return {
396
- stop: async () => {
397
- onLog("[watch] Stopping watcher...");
398
- // Cancel all pending changes
399
- for (const timeout of pendingChanges.values()) {
400
- clearTimeout(timeout);
401
- }
402
- pendingChanges.clear();
403
- stats.changesPending = 0;
404
- // Close watcher
405
- await watcher.close();
406
- onLog("[watch] Watcher stopped");
407
- },
408
- getStats: () => ({ ...stats }),
409
- };
410
- }
411
- /**
412
- * Wait for termination signal and stop watcher gracefully
413
- */
414
- export function setupGracefulShutdown(control) {
415
- let isShuttingDown = false;
416
- const shutdown = async (signal) => {
417
- if (isShuttingDown)
418
- return;
419
- isShuttingDown = true;
420
- console.log(`\n[watch] Received ${signal}, shutting down gracefully...`);
421
- try {
422
- await control.stop();
423
- process.exit(0);
424
- }
425
- catch (error) {
426
- console.error("[watch] Error during shutdown:", error);
427
- process.exit(1);
428
- }
429
- };
430
- // Handle termination signals
431
- process.on("SIGINT", () => shutdown("SIGINT"));
432
- process.on("SIGTERM", () => shutdown("SIGTERM"));
433
- // Handle unhandled promise rejections
434
- process.on("unhandledRejection", (reason, promise) => {
435
- console.error("[watch] Unhandled Rejection at:", promise, "reason:", reason);
436
- });
437
- }
438
- //# sourceMappingURL=watcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- {
2
- "name": "@sudocode-ai/cli",
3
- "version": "0.1.1",
4
- "description": "Git-native spec and issue management CLI for AI-assisted software development",
5
- "main": "dist/index.js",
6
- "type": "module",
7
- "bin": {
8
- "sudocode": "dist/cli.js",
9
- "sdc": "dist/cli.js"
10
- },
11
- "scripts": {
12
- "build": "tsc && chmod +x dist/cli.js",
13
- "dev": "tsc --watch",
14
- "test": "vitest",
15
- "test:schema": "tsc && node dist/test-schema.js",
16
- "clean": "rm -rf dist"
17
- },
18
- "keywords": [
19
- "sudocode",
20
- "cli",
21
- "specs",
22
- "issues",
23
- "ai-assisted-development",
24
- "git-native",
25
- "project-management"
26
- ],
27
- "author": "sudocode AI",
28
- "license": "Apache-2.0",
29
- "repository": {
30
- "type": "git",
31
- "url": "git+https://github.com/sudocode-ai/sudocode.git",
32
- "directory": "cli"
33
- },
34
- "homepage": "https://sudocode.ai",
35
- "bugs": {
36
- "url": "https://github.com/sudocode-ai/sudocode/issues"
37
- },
38
- "publishConfig": {
39
- "access": "public"
40
- },
41
- "engines": {
42
- "node": ">=18.0.0"
43
- },
44
- "dependencies": {
45
- "@sudocode-ai/types": "^0.1.1",
46
- "better-sqlite3": "^11.8.1",
47
- "chalk": "^5.6.2",
48
- "chokidar": "^4.0.3",
49
- "cli-table3": "^0.6.5",
50
- "commander": "^14.0.1",
51
- "gray-matter": "^4.0.3",
52
- "vite": "7.1.12"
53
- },
54
- "devDependencies": {
55
- "@types/better-sqlite3": "^7.6.8",
56
- "@types/chokidar": "^1.7.5",
57
- "@types/node": "^20.10.6",
58
- "esbuild": "^0.24.2",
59
- "typescript": "^5.3.3",
60
- "vitest": "^3.2.4"
61
- },
62
- "files": [
63
- "dist/**/*"
64
- ]
65
- }
@@ -1,19 +0,0 @@
1
- # Sudocode Local Server
2
-
3
- Local server for sudocode - providesa web UI, REST API, and WebSocket endpoints for managing specs and issues.
4
-
5
- **THE SUDOCODE LOCAL APP SERVER IS WIP AND IS NOT YET IN A STABLE STATE**
6
-
7
- ## Features
8
-
9
- - **REST API** - CRUD operations for issues, specs, relationships, and feedback
10
- - **WebSocket Server** - Real-time updates for connected clients
11
- - **File Watcher** - Automatic sync when JSONL files change
12
- - **Static File Serving** - Serves frontend UI in production mode
13
-
14
- ## Usage
15
-
16
- Run the sudocode companion app with `sudocode server`. You can specify a port with the `--port` option.
17
-
18
- The server will start on `http://localhost:3000` by default.
19
-
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * CLI entry point for sudocode-server
4
- * Starts the Express server for local development
5
- */
6
- import './index.js';
7
- //# sourceMappingURL=cli.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,YAAY,CAAC"}
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * CLI entry point for sudocode-server
4
- * Starts the Express server for local development
5
- */
6
- import './index.js';
7
- //# sourceMappingURL=cli.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,YAAY,CAAC"}