sudocode 1.1.17 → 1.1.18-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (738) hide show
  1. package/node_modules/@sudocode-ai/cli/README.md +330 -0
  2. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.d.ts +53 -0
  3. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.d.ts.map +1 -0
  4. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.js +339 -0
  5. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.js.map +1 -0
  6. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.d.ts +20 -0
  7. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.d.ts.map +1 -0
  8. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.js +145 -0
  9. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.js.map +1 -0
  10. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.d.ts +46 -0
  11. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.d.ts.map +1 -0
  12. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.js +353 -0
  13. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.js.map +1 -0
  14. package/node_modules/@sudocode-ai/cli/dist/cli/merge-commands.d.ts +42 -0
  15. package/node_modules/@sudocode-ai/cli/dist/cli/merge-commands.d.ts.map +1 -0
  16. package/node_modules/@sudocode-ai/cli/dist/cli/merge-commands.js +405 -0
  17. package/node_modules/@sudocode-ai/cli/dist/cli/merge-commands.js.map +1 -0
  18. package/node_modules/@sudocode-ai/cli/dist/cli/plugin-commands.d.ts +62 -0
  19. package/node_modules/@sudocode-ai/cli/dist/cli/plugin-commands.d.ts.map +1 -0
  20. package/node_modules/@sudocode-ai/cli/dist/cli/plugin-commands.js +595 -0
  21. package/node_modules/@sudocode-ai/cli/dist/cli/plugin-commands.js.map +1 -0
  22. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.d.ts +18 -0
  23. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.d.ts.map +1 -0
  24. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.js +61 -0
  25. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.js.map +1 -0
  26. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.d.ts +22 -0
  27. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.d.ts.map +1 -0
  28. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.js +136 -0
  29. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.js.map +1 -0
  30. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.d.ts +14 -0
  31. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.d.ts.map +1 -0
  32. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.js +83 -0
  33. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.js.map +1 -0
  34. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.d.ts +17 -0
  35. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.d.ts.map +1 -0
  36. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.js +123 -0
  37. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.js.map +1 -0
  38. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.d.ts +38 -0
  39. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.d.ts.map +1 -0
  40. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.js +326 -0
  41. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.js.map +1 -0
  42. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.d.ts +17 -0
  43. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.d.ts.map +1 -0
  44. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.js +131 -0
  45. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.js.map +1 -0
  46. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.d.ts +24 -0
  47. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.d.ts.map +1 -0
  48. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.js +429 -0
  49. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.js.map +1 -0
  50. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.d.ts +16 -0
  51. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.d.ts.map +1 -0
  52. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.js +160 -0
  53. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.js.map +1 -0
  54. package/node_modules/@sudocode-ai/cli/dist/cli.d.ts +6 -0
  55. package/node_modules/@sudocode-ai/cli/dist/cli.d.ts.map +1 -0
  56. package/node_modules/@sudocode-ai/cli/dist/cli.js +543 -0
  57. package/node_modules/@sudocode-ai/cli/dist/cli.js.map +1 -0
  58. package/node_modules/@sudocode-ai/cli/dist/config.d.ts +50 -0
  59. package/node_modules/@sudocode-ai/cli/dist/config.d.ts.map +1 -0
  60. package/node_modules/@sudocode-ai/cli/dist/config.js +76 -0
  61. package/node_modules/@sudocode-ai/cli/dist/config.js.map +1 -0
  62. package/node_modules/@sudocode-ai/cli/dist/db.d.ts +21 -0
  63. package/node_modules/@sudocode-ai/cli/dist/db.d.ts.map +1 -0
  64. package/node_modules/@sudocode-ai/cli/dist/db.js +55 -0
  65. package/node_modules/@sudocode-ai/cli/dist/db.js.map +1 -0
  66. package/node_modules/@sudocode-ai/cli/dist/export.d.ts +84 -0
  67. package/node_modules/@sudocode-ai/cli/dist/export.d.ts.map +1 -0
  68. package/node_modules/@sudocode-ai/cli/dist/export.js +265 -0
  69. package/node_modules/@sudocode-ai/cli/dist/export.js.map +1 -0
  70. package/node_modules/@sudocode-ai/cli/dist/filename-generator.d.ts +31 -0
  71. package/node_modules/@sudocode-ai/cli/dist/filename-generator.d.ts.map +1 -0
  72. package/node_modules/@sudocode-ai/cli/dist/filename-generator.js +103 -0
  73. package/node_modules/@sudocode-ai/cli/dist/filename-generator.js.map +1 -0
  74. package/node_modules/@sudocode-ai/cli/dist/id-generator.d.ts +63 -0
  75. package/node_modules/@sudocode-ai/cli/dist/id-generator.d.ts.map +1 -0
  76. package/node_modules/@sudocode-ai/cli/dist/id-generator.js +196 -0
  77. package/node_modules/@sudocode-ai/cli/dist/id-generator.js.map +1 -0
  78. package/node_modules/@sudocode-ai/cli/dist/import.d.ts +134 -0
  79. package/node_modules/@sudocode-ai/cli/dist/import.d.ts.map +1 -0
  80. package/node_modules/@sudocode-ai/cli/dist/import.js +751 -0
  81. package/node_modules/@sudocode-ai/cli/dist/import.js.map +1 -0
  82. package/node_modules/@sudocode-ai/cli/dist/index.d.ts +15 -0
  83. package/node_modules/@sudocode-ai/cli/dist/index.d.ts.map +1 -0
  84. package/node_modules/@sudocode-ai/cli/dist/index.js +15 -0
  85. package/node_modules/@sudocode-ai/cli/dist/index.js.map +1 -0
  86. package/node_modules/@sudocode-ai/cli/dist/integrations/base-provider.d.ts +108 -0
  87. package/node_modules/@sudocode-ai/cli/dist/integrations/base-provider.d.ts.map +1 -0
  88. package/node_modules/@sudocode-ai/cli/dist/integrations/base-provider.js +80 -0
  89. package/node_modules/@sudocode-ai/cli/dist/integrations/base-provider.js.map +1 -0
  90. package/node_modules/@sudocode-ai/cli/dist/integrations/config-resolver.d.ts +62 -0
  91. package/node_modules/@sudocode-ai/cli/dist/integrations/config-resolver.d.ts.map +1 -0
  92. package/node_modules/@sudocode-ai/cli/dist/integrations/config-resolver.js +69 -0
  93. package/node_modules/@sudocode-ai/cli/dist/integrations/config-resolver.js.map +1 -0
  94. package/node_modules/@sudocode-ai/cli/dist/integrations/config-validator.d.ts +75 -0
  95. package/node_modules/@sudocode-ai/cli/dist/integrations/config-validator.d.ts.map +1 -0
  96. package/node_modules/@sudocode-ai/cli/dist/integrations/config-validator.js +129 -0
  97. package/node_modules/@sudocode-ai/cli/dist/integrations/config-validator.js.map +1 -0
  98. package/node_modules/@sudocode-ai/cli/dist/integrations/index.d.ts +14 -0
  99. package/node_modules/@sudocode-ai/cli/dist/integrations/index.d.ts.map +1 -0
  100. package/node_modules/@sudocode-ai/cli/dist/integrations/index.js +20 -0
  101. package/node_modules/@sudocode-ai/cli/dist/integrations/index.js.map +1 -0
  102. package/node_modules/@sudocode-ai/cli/dist/integrations/plugin-loader.d.ts +77 -0
  103. package/node_modules/@sudocode-ai/cli/dist/integrations/plugin-loader.d.ts.map +1 -0
  104. package/node_modules/@sudocode-ai/cli/dist/integrations/plugin-loader.js +265 -0
  105. package/node_modules/@sudocode-ai/cli/dist/integrations/plugin-loader.js.map +1 -0
  106. package/node_modules/@sudocode-ai/cli/dist/integrations/registry.d.ts +67 -0
  107. package/node_modules/@sudocode-ai/cli/dist/integrations/registry.d.ts.map +1 -0
  108. package/node_modules/@sudocode-ai/cli/dist/integrations/registry.js +77 -0
  109. package/node_modules/@sudocode-ai/cli/dist/integrations/registry.js.map +1 -0
  110. package/node_modules/@sudocode-ai/cli/dist/integrations/sync-coordinator.d.ts +191 -0
  111. package/node_modules/@sudocode-ai/cli/dist/integrations/sync-coordinator.d.ts.map +1 -0
  112. package/node_modules/@sudocode-ai/cli/dist/integrations/sync-coordinator.js +798 -0
  113. package/node_modules/@sudocode-ai/cli/dist/integrations/sync-coordinator.js.map +1 -0
  114. package/node_modules/@sudocode-ai/cli/dist/integrations/types.d.ts +142 -0
  115. package/node_modules/@sudocode-ai/cli/dist/integrations/types.d.ts.map +1 -0
  116. package/node_modules/@sudocode-ai/cli/dist/integrations/types.js +6 -0
  117. package/node_modules/@sudocode-ai/cli/dist/integrations/types.js.map +1 -0
  118. package/node_modules/@sudocode-ai/cli/dist/integrations/utils/conflict-resolver.d.ts +79 -0
  119. package/node_modules/@sudocode-ai/cli/dist/integrations/utils/conflict-resolver.d.ts.map +1 -0
  120. package/node_modules/@sudocode-ai/cli/dist/integrations/utils/conflict-resolver.js +106 -0
  121. package/node_modules/@sudocode-ai/cli/dist/integrations/utils/conflict-resolver.js.map +1 -0
  122. package/node_modules/@sudocode-ai/cli/dist/jsonl.d.ts +69 -0
  123. package/node_modules/@sudocode-ai/cli/dist/jsonl.d.ts.map +1 -0
  124. package/node_modules/@sudocode-ai/cli/dist/jsonl.js +333 -0
  125. package/node_modules/@sudocode-ai/cli/dist/jsonl.js.map +1 -0
  126. package/node_modules/@sudocode-ai/cli/dist/markdown.d.ts +146 -0
  127. package/node_modules/@sudocode-ai/cli/dist/markdown.d.ts.map +1 -0
  128. package/node_modules/@sudocode-ai/cli/dist/markdown.js +329 -0
  129. package/node_modules/@sudocode-ai/cli/dist/markdown.js.map +1 -0
  130. package/node_modules/@sudocode-ai/cli/dist/merge-resolver.d.ts +85 -0
  131. package/node_modules/@sudocode-ai/cli/dist/merge-resolver.d.ts.map +1 -0
  132. package/node_modules/@sudocode-ai/cli/dist/merge-resolver.js +301 -0
  133. package/node_modules/@sudocode-ai/cli/dist/merge-resolver.js.map +1 -0
  134. package/node_modules/@sudocode-ai/cli/dist/operations/events.d.ts +53 -0
  135. package/node_modules/@sudocode-ai/cli/dist/operations/events.d.ts.map +1 -0
  136. package/node_modules/@sudocode-ai/cli/dist/operations/events.js +108 -0
  137. package/node_modules/@sudocode-ai/cli/dist/operations/events.js.map +1 -0
  138. package/node_modules/@sudocode-ai/cli/dist/operations/external-links.d.ts +147 -0
  139. package/node_modules/@sudocode-ai/cli/dist/operations/external-links.d.ts.map +1 -0
  140. package/node_modules/@sudocode-ai/cli/dist/operations/external-links.js +411 -0
  141. package/node_modules/@sudocode-ai/cli/dist/operations/external-links.js.map +1 -0
  142. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.d.ts +92 -0
  143. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.d.ts.map +1 -0
  144. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.js +444 -0
  145. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.js.map +1 -0
  146. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.d.ts +94 -0
  147. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.d.ts.map +1 -0
  148. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.js +278 -0
  149. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.js.map +1 -0
  150. package/node_modules/@sudocode-ai/cli/dist/operations/index.d.ts +11 -0
  151. package/node_modules/@sudocode-ai/cli/dist/operations/index.d.ts.map +1 -0
  152. package/node_modules/@sudocode-ai/cli/dist/operations/index.js +11 -0
  153. package/node_modules/@sudocode-ai/cli/dist/operations/index.js.map +1 -0
  154. package/node_modules/@sudocode-ai/cli/dist/operations/issues.d.ts +88 -0
  155. package/node_modules/@sudocode-ai/cli/dist/operations/issues.d.ts.map +1 -0
  156. package/node_modules/@sudocode-ai/cli/dist/operations/issues.js +474 -0
  157. package/node_modules/@sudocode-ai/cli/dist/operations/issues.js.map +1 -0
  158. package/node_modules/@sudocode-ai/cli/dist/operations/references.d.ts +34 -0
  159. package/node_modules/@sudocode-ai/cli/dist/operations/references.d.ts.map +1 -0
  160. package/node_modules/@sudocode-ai/cli/dist/operations/references.js +117 -0
  161. package/node_modules/@sudocode-ai/cli/dist/operations/references.js.map +1 -0
  162. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.d.ts +64 -0
  163. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.d.ts.map +1 -0
  164. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.js +281 -0
  165. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.js.map +1 -0
  166. package/node_modules/@sudocode-ai/cli/dist/operations/specs.d.ts +69 -0
  167. package/node_modules/@sudocode-ai/cli/dist/operations/specs.d.ts.map +1 -0
  168. package/node_modules/@sudocode-ai/cli/dist/operations/specs.js +330 -0
  169. package/node_modules/@sudocode-ai/cli/dist/operations/specs.js.map +1 -0
  170. package/node_modules/@sudocode-ai/cli/dist/operations/tags.d.ts +42 -0
  171. package/node_modules/@sudocode-ai/cli/dist/operations/tags.d.ts.map +1 -0
  172. package/node_modules/@sudocode-ai/cli/dist/operations/tags.js +127 -0
  173. package/node_modules/@sudocode-ai/cli/dist/operations/tags.js.map +1 -0
  174. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.d.ts +41 -0
  175. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.d.ts.map +1 -0
  176. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.js +111 -0
  177. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.js.map +1 -0
  178. package/node_modules/@sudocode-ai/cli/dist/sync.d.ts +47 -0
  179. package/node_modules/@sudocode-ai/cli/dist/sync.d.ts.map +1 -0
  180. package/node_modules/@sudocode-ai/cli/dist/sync.js +464 -0
  181. package/node_modules/@sudocode-ai/cli/dist/sync.js.map +1 -0
  182. package/node_modules/@sudocode-ai/cli/dist/test-schema.d.ts +5 -0
  183. package/node_modules/@sudocode-ai/cli/dist/test-schema.d.ts.map +1 -0
  184. package/node_modules/@sudocode-ai/cli/dist/test-schema.js +46 -0
  185. package/node_modules/@sudocode-ai/cli/dist/test-schema.js.map +1 -0
  186. package/node_modules/@sudocode-ai/cli/dist/types.d.ts +7 -0
  187. package/node_modules/@sudocode-ai/cli/dist/types.d.ts.map +1 -0
  188. package/node_modules/@sudocode-ai/cli/dist/types.js +7 -0
  189. package/node_modules/@sudocode-ai/cli/dist/types.js.map +1 -0
  190. package/node_modules/@sudocode-ai/cli/dist/update-checker.d.ts +33 -0
  191. package/node_modules/@sudocode-ai/cli/dist/update-checker.d.ts.map +1 -0
  192. package/node_modules/@sudocode-ai/cli/dist/update-checker.js +193 -0
  193. package/node_modules/@sudocode-ai/cli/dist/update-checker.js.map +1 -0
  194. package/node_modules/@sudocode-ai/cli/dist/validation.d.ts +11 -0
  195. package/node_modules/@sudocode-ai/cli/dist/validation.d.ts.map +1 -0
  196. package/node_modules/@sudocode-ai/cli/dist/validation.js +58 -0
  197. package/node_modules/@sudocode-ai/cli/dist/validation.js.map +1 -0
  198. package/node_modules/@sudocode-ai/cli/dist/version.d.ts +12 -0
  199. package/node_modules/@sudocode-ai/cli/dist/version.d.ts.map +1 -0
  200. package/node_modules/@sudocode-ai/cli/dist/version.js +23 -0
  201. package/node_modules/@sudocode-ai/cli/dist/version.js.map +1 -0
  202. package/node_modules/@sudocode-ai/cli/dist/watcher.d.ts +69 -0
  203. package/node_modules/@sudocode-ai/cli/dist/watcher.d.ts.map +1 -0
  204. package/node_modules/@sudocode-ai/cli/dist/watcher.js +783 -0
  205. package/node_modules/@sudocode-ai/cli/dist/watcher.js.map +1 -0
  206. package/node_modules/@sudocode-ai/cli/package.json +73 -0
  207. package/node_modules/@sudocode-ai/integration-beads/package.json +44 -0
  208. package/node_modules/@sudocode-ai/integration-github/package.json +41 -0
  209. package/node_modules/@sudocode-ai/integration-openspec/package.json +43 -0
  210. package/node_modules/@sudocode-ai/integration-speckit/package.json +42 -0
  211. package/node_modules/@sudocode-ai/local-server/README.md +25 -0
  212. package/node_modules/@sudocode-ai/local-server/dist/cli.d.ts +7 -0
  213. package/node_modules/@sudocode-ai/local-server/dist/cli.d.ts.map +1 -0
  214. package/node_modules/@sudocode-ai/local-server/dist/cli.js +7 -0
  215. package/node_modules/@sudocode-ai/local-server/dist/cli.js.map +1 -0
  216. package/node_modules/@sudocode-ai/local-server/dist/errors/agent-errors.d.ts +43 -0
  217. package/node_modules/@sudocode-ai/local-server/dist/errors/agent-errors.d.ts.map +1 -0
  218. package/node_modules/@sudocode-ai/local-server/dist/errors/agent-errors.js +69 -0
  219. package/node_modules/@sudocode-ai/local-server/dist/errors/agent-errors.js.map +1 -0
  220. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/claude-adapter.d.ts +63 -0
  221. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/claude-adapter.d.ts.map +1 -0
  222. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/claude-adapter.js +83 -0
  223. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/claude-adapter.js.map +1 -0
  224. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/codex-adapter.d.ts +67 -0
  225. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/codex-adapter.d.ts.map +1 -0
  226. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/codex-adapter.js +183 -0
  227. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/codex-adapter.js.map +1 -0
  228. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/codex-config-builder.d.ts +30 -0
  229. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/codex-config-builder.d.ts.map +1 -0
  230. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/codex-config-builder.js +110 -0
  231. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/codex-config-builder.js.map +1 -0
  232. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/copilot-adapter.d.ts +94 -0
  233. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/copilot-adapter.d.ts.map +1 -0
  234. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/copilot-adapter.js +163 -0
  235. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/copilot-adapter.js.map +1 -0
  236. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/copilot-config-builder.d.ts +48 -0
  237. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/copilot-config-builder.d.ts.map +1 -0
  238. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/copilot-config-builder.js +125 -0
  239. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/copilot-config-builder.js.map +1 -0
  240. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/cursor-adapter.d.ts +66 -0
  241. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/cursor-adapter.d.ts.map +1 -0
  242. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/cursor-adapter.js +121 -0
  243. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/cursor-adapter.js.map +1 -0
  244. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/cursor-config-builder.d.ts +29 -0
  245. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/cursor-config-builder.d.ts.map +1 -0
  246. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/cursor-config-builder.js +49 -0
  247. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/cursor-config-builder.js.map +1 -0
  248. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/config-presets.d.ts +102 -0
  249. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/config-presets.d.ts.map +1 -0
  250. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/config-presets.js +205 -0
  251. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/config-presets.js.map +1 -0
  252. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/config-utils.d.ts +95 -0
  253. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/config-utils.d.ts.map +1 -0
  254. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/config-utils.js +163 -0
  255. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/config-utils.js.map +1 -0
  256. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/index.d.ts +8 -0
  257. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/index.d.ts.map +1 -0
  258. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/index.js +8 -0
  259. package/node_modules/@sudocode-ai/local-server/dist/execution/adapters/shared/index.js.map +1 -0
  260. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/agent-executor-wrapper.d.ts +154 -0
  261. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/agent-executor-wrapper.d.ts.map +1 -0
  262. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/agent-executor-wrapper.js +725 -0
  263. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/agent-executor-wrapper.js.map +1 -0
  264. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/executor-factory.d.ts +95 -0
  265. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/executor-factory.d.ts.map +1 -0
  266. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/executor-factory.js +128 -0
  267. package/node_modules/@sudocode-ai/local-server/dist/execution/executors/executor-factory.js.map +1 -0
  268. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.d.ts +174 -0
  269. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.d.ts.map +1 -0
  270. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.js +436 -0
  271. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.js.map +1 -0
  272. package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-to-ag-ui.d.ts +90 -0
  273. package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-to-ag-ui.d.ts.map +1 -0
  274. package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-to-ag-ui.js +153 -0
  275. package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-to-ag-ui.js.map +1 -0
  276. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.d.ts +15 -0
  277. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.d.ts.map +1 -0
  278. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.js +13 -0
  279. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.js.map +1 -0
  280. package/node_modules/@sudocode-ai/local-server/dist/execution/output/normalized-to-ag-ui-adapter.d.ts +108 -0
  281. package/node_modules/@sudocode-ai/local-server/dist/execution/output/normalized-to-ag-ui-adapter.d.ts.map +1 -0
  282. package/node_modules/@sudocode-ai/local-server/dist/execution/output/normalized-to-ag-ui-adapter.js +321 -0
  283. package/node_modules/@sudocode-ai/local-server/dist/execution/output/normalized-to-ag-ui-adapter.js.map +1 -0
  284. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.d.ts +421 -0
  285. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.d.ts.map +1 -0
  286. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.js +22 -0
  287. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.js.map +1 -0
  288. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.d.ts +53 -0
  289. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.d.ts.map +1 -0
  290. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.js +225 -0
  291. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.js.map +1 -0
  292. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.d.ts +119 -0
  293. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.d.ts.map +1 -0
  294. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.js +208 -0
  295. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.js.map +1 -0
  296. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.d.ts +10 -0
  297. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.d.ts.map +1 -0
  298. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.js +10 -0
  299. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.js.map +1 -0
  300. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/ipc-transport-manager.d.ts +74 -0
  301. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/ipc-transport-manager.d.ts.map +1 -0
  302. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/ipc-transport-manager.js +104 -0
  303. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/ipc-transport-manager.js.map +1 -0
  304. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.d.ts +146 -0
  305. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.d.ts.map +1 -0
  306. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.js +282 -0
  307. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.js.map +1 -0
  308. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.d.ts +176 -0
  309. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.d.ts.map +1 -0
  310. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.js +234 -0
  311. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.js.map +1 -0
  312. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.d.ts +74 -0
  313. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.d.ts.map +1 -0
  314. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.js +280 -0
  315. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.js.map +1 -0
  316. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/conflict-detector.d.ts +85 -0
  317. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/conflict-detector.d.ts.map +1 -0
  318. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/conflict-detector.js +129 -0
  319. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/conflict-detector.js.map +1 -0
  320. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.d.ts +208 -0
  321. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.d.ts.map +1 -0
  322. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.js +280 -0
  323. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.js.map +1 -0
  324. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-sync-cli.d.ts +225 -0
  325. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-sync-cli.d.ts.map +1 -0
  326. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-sync-cli.js +464 -0
  327. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-sync-cli.js.map +1 -0
  328. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.d.ts +16 -0
  329. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.d.ts.map +1 -0
  330. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.js +15 -0
  331. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.js.map +1 -0
  332. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.d.ts +221 -0
  333. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.d.ts.map +1 -0
  334. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.js +508 -0
  335. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.js.map +1 -0
  336. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.d.ts +90 -0
  337. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.d.ts.map +1 -0
  338. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.js +42 -0
  339. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.js.map +1 -0
  340. package/node_modules/@sudocode-ai/local-server/dist/index.d.ts +6 -0
  341. package/node_modules/@sudocode-ai/local-server/dist/index.d.ts.map +1 -0
  342. package/node_modules/@sudocode-ai/local-server/dist/index.js +371 -0
  343. package/node_modules/@sudocode-ai/local-server/dist/index.js.map +1 -0
  344. package/node_modules/@sudocode-ai/local-server/dist/middleware/project-context.d.ts +37 -0
  345. package/node_modules/@sudocode-ai/local-server/dist/middleware/project-context.d.ts.map +1 -0
  346. package/node_modules/@sudocode-ai/local-server/dist/middleware/project-context.js +91 -0
  347. package/node_modules/@sudocode-ai/local-server/dist/middleware/project-context.js.map +1 -0
  348. package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-D4AKx6EO.css +1 -0
  349. package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-DorQqwGV.js +927 -0
  350. package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-DorQqwGV.js.map +1 -0
  351. package/node_modules/@sudocode-ai/local-server/dist/public/assets/react-vendor-DoNwlLhy.js +60 -0
  352. package/node_modules/@sudocode-ai/local-server/dist/public/assets/react-vendor-DoNwlLhy.js.map +1 -0
  353. package/node_modules/@sudocode-ai/local-server/dist/public/assets/ui-vendor-DlxvBun1.js +54 -0
  354. package/node_modules/@sudocode-ai/local-server/dist/public/assets/ui-vendor-DlxvBun1.js.map +1 -0
  355. package/node_modules/@sudocode-ai/local-server/dist/public/favicon.ico +0 -0
  356. package/node_modules/@sudocode-ai/local-server/dist/public/index.html +16 -0
  357. package/node_modules/@sudocode-ai/local-server/dist/public/logo.png +0 -0
  358. package/node_modules/@sudocode-ai/local-server/dist/routes/agents.d.ts +3 -0
  359. package/node_modules/@sudocode-ai/local-server/dist/routes/agents.d.ts.map +1 -0
  360. package/node_modules/@sudocode-ai/local-server/dist/routes/agents.js +62 -0
  361. package/node_modules/@sudocode-ai/local-server/dist/routes/agents.js.map +1 -0
  362. package/node_modules/@sudocode-ai/local-server/dist/routes/config.d.ts +3 -0
  363. package/node_modules/@sudocode-ai/local-server/dist/routes/config.d.ts.map +1 -0
  364. package/node_modules/@sudocode-ai/local-server/dist/routes/config.js +116 -0
  365. package/node_modules/@sudocode-ai/local-server/dist/routes/config.js.map +1 -0
  366. package/node_modules/@sudocode-ai/local-server/dist/routes/editors.d.ts +15 -0
  367. package/node_modules/@sudocode-ai/local-server/dist/routes/editors.d.ts.map +1 -0
  368. package/node_modules/@sudocode-ai/local-server/dist/routes/editors.js +98 -0
  369. package/node_modules/@sudocode-ai/local-server/dist/routes/editors.js.map +1 -0
  370. package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.d.ts +27 -0
  371. package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.d.ts.map +1 -0
  372. package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.js +59 -0
  373. package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.js.map +1 -0
  374. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.d.ts +18 -0
  375. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.d.ts.map +1 -0
  376. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.js +1169 -0
  377. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.js.map +1 -0
  378. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.d.ts +8 -0
  379. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.d.ts.map +1 -0
  380. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.js +340 -0
  381. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.js.map +1 -0
  382. package/node_modules/@sudocode-ai/local-server/dist/routes/files.d.ts +18 -0
  383. package/node_modules/@sudocode-ai/local-server/dist/routes/files.d.ts.map +1 -0
  384. package/node_modules/@sudocode-ai/local-server/dist/routes/files.js +89 -0
  385. package/node_modules/@sudocode-ai/local-server/dist/routes/files.js.map +1 -0
  386. package/node_modules/@sudocode-ai/local-server/dist/routes/import.d.ts +142 -0
  387. package/node_modules/@sudocode-ai/local-server/dist/routes/import.d.ts.map +1 -0
  388. package/node_modules/@sudocode-ai/local-server/dist/routes/import.js +896 -0
  389. package/node_modules/@sudocode-ai/local-server/dist/routes/import.js.map +1 -0
  390. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.d.ts +8 -0
  391. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.d.ts.map +1 -0
  392. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.js +419 -0
  393. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.js.map +1 -0
  394. package/node_modules/@sudocode-ai/local-server/dist/routes/plugins.d.ts +34 -0
  395. package/node_modules/@sudocode-ai/local-server/dist/routes/plugins.d.ts.map +1 -0
  396. package/node_modules/@sudocode-ai/local-server/dist/routes/plugins.js +602 -0
  397. package/node_modules/@sudocode-ai/local-server/dist/routes/plugins.js.map +1 -0
  398. package/node_modules/@sudocode-ai/local-server/dist/routes/projects.d.ts +11 -0
  399. package/node_modules/@sudocode-ai/local-server/dist/routes/projects.d.ts.map +1 -0
  400. package/node_modules/@sudocode-ai/local-server/dist/routes/projects.js +536 -0
  401. package/node_modules/@sudocode-ai/local-server/dist/routes/projects.js.map +1 -0
  402. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.d.ts +8 -0
  403. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.d.ts.map +1 -0
  404. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.js +310 -0
  405. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.js.map +1 -0
  406. package/node_modules/@sudocode-ai/local-server/dist/routes/repo-info.d.ts +3 -0
  407. package/node_modules/@sudocode-ai/local-server/dist/routes/repo-info.d.ts.map +1 -0
  408. package/node_modules/@sudocode-ai/local-server/dist/routes/repo-info.js +203 -0
  409. package/node_modules/@sudocode-ai/local-server/dist/routes/repo-info.js.map +1 -0
  410. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.d.ts +8 -0
  411. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.d.ts.map +1 -0
  412. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.js +414 -0
  413. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.js.map +1 -0
  414. package/node_modules/@sudocode-ai/local-server/dist/routes/update.d.ts +7 -0
  415. package/node_modules/@sudocode-ai/local-server/dist/routes/update.d.ts.map +1 -0
  416. package/node_modules/@sudocode-ai/local-server/dist/routes/update.js +194 -0
  417. package/node_modules/@sudocode-ai/local-server/dist/routes/update.js.map +1 -0
  418. package/node_modules/@sudocode-ai/local-server/dist/routes/version.d.ts +3 -0
  419. package/node_modules/@sudocode-ai/local-server/dist/routes/version.d.ts.map +1 -0
  420. package/node_modules/@sudocode-ai/local-server/dist/routes/version.js +25 -0
  421. package/node_modules/@sudocode-ai/local-server/dist/routes/version.js.map +1 -0
  422. package/node_modules/@sudocode-ai/local-server/dist/routes/workflows.d.ts +8 -0
  423. package/node_modules/@sudocode-ai/local-server/dist/routes/workflows.d.ts.map +1 -0
  424. package/node_modules/@sudocode-ai/local-server/dist/routes/workflows.js +1729 -0
  425. package/node_modules/@sudocode-ai/local-server/dist/routes/workflows.js.map +1 -0
  426. package/node_modules/@sudocode-ai/local-server/dist/services/agent-registry.d.ts +140 -0
  427. package/node_modules/@sudocode-ai/local-server/dist/services/agent-registry.d.ts.map +1 -0
  428. package/node_modules/@sudocode-ai/local-server/dist/services/agent-registry.js +272 -0
  429. package/node_modules/@sudocode-ai/local-server/dist/services/agent-registry.js.map +1 -0
  430. package/node_modules/@sudocode-ai/local-server/dist/services/db.d.ts +33 -0
  431. package/node_modules/@sudocode-ai/local-server/dist/services/db.d.ts.map +1 -0
  432. package/node_modules/@sudocode-ai/local-server/dist/services/db.js +90 -0
  433. package/node_modules/@sudocode-ai/local-server/dist/services/db.js.map +1 -0
  434. package/node_modules/@sudocode-ai/local-server/dist/services/editor-service.d.ts +57 -0
  435. package/node_modules/@sudocode-ai/local-server/dist/services/editor-service.d.ts.map +1 -0
  436. package/node_modules/@sudocode-ai/local-server/dist/services/editor-service.js +204 -0
  437. package/node_modules/@sudocode-ai/local-server/dist/services/editor-service.js.map +1 -0
  438. package/node_modules/@sudocode-ai/local-server/dist/services/execution-changes-service.d.ts +110 -0
  439. package/node_modules/@sudocode-ai/local-server/dist/services/execution-changes-service.d.ts.map +1 -0
  440. package/node_modules/@sudocode-ai/local-server/dist/services/execution-changes-service.js +710 -0
  441. package/node_modules/@sudocode-ai/local-server/dist/services/execution-changes-service.js.map +1 -0
  442. package/node_modules/@sudocode-ai/local-server/dist/services/execution-event-callbacks.d.ts +73 -0
  443. package/node_modules/@sudocode-ai/local-server/dist/services/execution-event-callbacks.d.ts.map +1 -0
  444. package/node_modules/@sudocode-ai/local-server/dist/services/execution-event-callbacks.js +82 -0
  445. package/node_modules/@sudocode-ai/local-server/dist/services/execution-event-callbacks.js.map +1 -0
  446. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.d.ts +145 -0
  447. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.d.ts.map +1 -0
  448. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.js +392 -0
  449. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.js.map +1 -0
  450. package/node_modules/@sudocode-ai/local-server/dist/services/execution-logs-cleanup.d.ts +88 -0
  451. package/node_modules/@sudocode-ai/local-server/dist/services/execution-logs-cleanup.d.ts.map +1 -0
  452. package/node_modules/@sudocode-ai/local-server/dist/services/execution-logs-cleanup.js +137 -0
  453. package/node_modules/@sudocode-ai/local-server/dist/services/execution-logs-cleanup.js.map +1 -0
  454. package/node_modules/@sudocode-ai/local-server/dist/services/execution-logs-store.d.ts +252 -0
  455. package/node_modules/@sudocode-ai/local-server/dist/services/execution-logs-store.d.ts.map +1 -0
  456. package/node_modules/@sudocode-ai/local-server/dist/services/execution-logs-store.js +379 -0
  457. package/node_modules/@sudocode-ai/local-server/dist/services/execution-logs-store.js.map +1 -0
  458. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.d.ts +280 -0
  459. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.d.ts.map +1 -0
  460. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.js +1240 -0
  461. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.js.map +1 -0
  462. package/node_modules/@sudocode-ai/local-server/dist/services/execution-worker-pool.d.ts +116 -0
  463. package/node_modules/@sudocode-ai/local-server/dist/services/execution-worker-pool.d.ts.map +1 -0
  464. package/node_modules/@sudocode-ai/local-server/dist/services/execution-worker-pool.js +326 -0
  465. package/node_modules/@sudocode-ai/local-server/dist/services/execution-worker-pool.js.map +1 -0
  466. package/node_modules/@sudocode-ai/local-server/dist/services/executions.d.ts +63 -0
  467. package/node_modules/@sudocode-ai/local-server/dist/services/executions.d.ts.map +1 -0
  468. package/node_modules/@sudocode-ai/local-server/dist/services/executions.js +177 -0
  469. package/node_modules/@sudocode-ai/local-server/dist/services/executions.js.map +1 -0
  470. package/node_modules/@sudocode-ai/local-server/dist/services/export.d.ts +32 -0
  471. package/node_modules/@sudocode-ai/local-server/dist/services/export.d.ts.map +1 -0
  472. package/node_modules/@sudocode-ai/local-server/dist/services/export.js +114 -0
  473. package/node_modules/@sudocode-ai/local-server/dist/services/export.js.map +1 -0
  474. package/node_modules/@sudocode-ai/local-server/dist/services/external-refresh-service.d.ts +104 -0
  475. package/node_modules/@sudocode-ai/local-server/dist/services/external-refresh-service.d.ts.map +1 -0
  476. package/node_modules/@sudocode-ai/local-server/dist/services/external-refresh-service.js +520 -0
  477. package/node_modules/@sudocode-ai/local-server/dist/services/external-refresh-service.js.map +1 -0
  478. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.d.ts +56 -0
  479. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.d.ts.map +1 -0
  480. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.js +78 -0
  481. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.js.map +1 -0
  482. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/git-ls-files-strategy.d.ts +72 -0
  483. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/git-ls-files-strategy.d.ts.map +1 -0
  484. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/git-ls-files-strategy.js +176 -0
  485. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/git-ls-files-strategy.js.map +1 -0
  486. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/index.d.ts +9 -0
  487. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/index.d.ts.map +1 -0
  488. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/index.js +10 -0
  489. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/index.js.map +1 -0
  490. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/registry.d.ts +97 -0
  491. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/registry.d.ts.map +1 -0
  492. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/registry.js +140 -0
  493. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/registry.js.map +1 -0
  494. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/strategy.d.ts +58 -0
  495. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/strategy.d.ts.map +1 -0
  496. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/strategy.js +8 -0
  497. package/node_modules/@sudocode-ai/local-server/dist/services/file-search/strategy.js.map +1 -0
  498. package/node_modules/@sudocode-ai/local-server/dist/services/integration-sync-service.d.ts +185 -0
  499. package/node_modules/@sudocode-ai/local-server/dist/services/integration-sync-service.d.ts.map +1 -0
  500. package/node_modules/@sudocode-ai/local-server/dist/services/integration-sync-service.js +428 -0
  501. package/node_modules/@sudocode-ai/local-server/dist/services/integration-sync-service.js.map +1 -0
  502. package/node_modules/@sudocode-ai/local-server/dist/services/issues.d.ts +27 -0
  503. package/node_modules/@sudocode-ai/local-server/dist/services/issues.d.ts.map +1 -0
  504. package/node_modules/@sudocode-ai/local-server/dist/services/issues.js +35 -0
  505. package/node_modules/@sudocode-ai/local-server/dist/services/issues.js.map +1 -0
  506. package/node_modules/@sudocode-ai/local-server/dist/services/project-context.d.ts +97 -0
  507. package/node_modules/@sudocode-ai/local-server/dist/services/project-context.d.ts.map +1 -0
  508. package/node_modules/@sudocode-ai/local-server/dist/services/project-context.js +170 -0
  509. package/node_modules/@sudocode-ai/local-server/dist/services/project-context.js.map +1 -0
  510. package/node_modules/@sudocode-ai/local-server/dist/services/project-manager.d.ts +102 -0
  511. package/node_modules/@sudocode-ai/local-server/dist/services/project-manager.d.ts.map +1 -0
  512. package/node_modules/@sudocode-ai/local-server/dist/services/project-manager.js +502 -0
  513. package/node_modules/@sudocode-ai/local-server/dist/services/project-manager.js.map +1 -0
  514. package/node_modules/@sudocode-ai/local-server/dist/services/project-registry.d.ts +98 -0
  515. package/node_modules/@sudocode-ai/local-server/dist/services/project-registry.d.ts.map +1 -0
  516. package/node_modules/@sudocode-ai/local-server/dist/services/project-registry.js +289 -0
  517. package/node_modules/@sudocode-ai/local-server/dist/services/project-registry.js.map +1 -0
  518. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-resolver.d.ts +97 -0
  519. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-resolver.d.ts.map +1 -0
  520. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-resolver.js +377 -0
  521. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-resolver.js.map +1 -0
  522. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.d.ts +108 -0
  523. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.d.ts.map +1 -0
  524. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.js +212 -0
  525. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.js.map +1 -0
  526. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.d.ts +97 -0
  527. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.d.ts.map +1 -0
  528. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.js +236 -0
  529. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.js.map +1 -0
  530. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.d.ts +35 -0
  531. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.d.ts.map +1 -0
  532. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.js +42 -0
  533. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.js.map +1 -0
  534. package/node_modules/@sudocode-ai/local-server/dist/services/repo-info.d.ts +33 -0
  535. package/node_modules/@sudocode-ai/local-server/dist/services/repo-info.d.ts.map +1 -0
  536. package/node_modules/@sudocode-ai/local-server/dist/services/repo-info.js +136 -0
  537. package/node_modules/@sudocode-ai/local-server/dist/services/repo-info.js.map +1 -0
  538. package/node_modules/@sudocode-ai/local-server/dist/services/specs.d.ts +27 -0
  539. package/node_modules/@sudocode-ai/local-server/dist/services/specs.d.ts.map +1 -0
  540. package/node_modules/@sudocode-ai/local-server/dist/services/specs.js +35 -0
  541. package/node_modules/@sudocode-ai/local-server/dist/services/specs.js.map +1 -0
  542. package/node_modules/@sudocode-ai/local-server/dist/services/version-service.d.ts +14 -0
  543. package/node_modules/@sudocode-ai/local-server/dist/services/version-service.d.ts.map +1 -0
  544. package/node_modules/@sudocode-ai/local-server/dist/services/version-service.js +57 -0
  545. package/node_modules/@sudocode-ai/local-server/dist/services/version-service.js.map +1 -0
  546. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.d.ts +49 -0
  547. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.d.ts.map +1 -0
  548. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.js +52 -0
  549. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.js.map +1 -0
  550. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.d.ts +179 -0
  551. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.d.ts.map +1 -0
  552. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.js +543 -0
  553. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.js.map +1 -0
  554. package/node_modules/@sudocode-ai/local-server/dist/services/workflow-broadcast-service.d.ts +43 -0
  555. package/node_modules/@sudocode-ai/local-server/dist/services/workflow-broadcast-service.d.ts.map +1 -0
  556. package/node_modules/@sudocode-ai/local-server/dist/services/workflow-broadcast-service.js +155 -0
  557. package/node_modules/@sudocode-ai/local-server/dist/services/workflow-broadcast-service.js.map +1 -0
  558. package/node_modules/@sudocode-ai/local-server/dist/services/worktree-sync-service.d.ts +437 -0
  559. package/node_modules/@sudocode-ai/local-server/dist/services/worktree-sync-service.d.ts.map +1 -0
  560. package/node_modules/@sudocode-ai/local-server/dist/services/worktree-sync-service.js +1505 -0
  561. package/node_modules/@sudocode-ai/local-server/dist/services/worktree-sync-service.js.map +1 -0
  562. package/node_modules/@sudocode-ai/local-server/dist/types/editor.d.ts +49 -0
  563. package/node_modules/@sudocode-ai/local-server/dist/types/editor.d.ts.map +1 -0
  564. package/node_modules/@sudocode-ai/local-server/dist/types/editor.js +50 -0
  565. package/node_modules/@sudocode-ai/local-server/dist/types/editor.js.map +1 -0
  566. package/node_modules/@sudocode-ai/local-server/dist/types/project.d.ts +58 -0
  567. package/node_modules/@sudocode-ai/local-server/dist/types/project.d.ts.map +1 -0
  568. package/node_modules/@sudocode-ai/local-server/dist/types/project.js +10 -0
  569. package/node_modules/@sudocode-ai/local-server/dist/types/project.js.map +1 -0
  570. package/node_modules/@sudocode-ai/local-server/dist/utils/execFileNoThrow.d.ts +43 -0
  571. package/node_modules/@sudocode-ai/local-server/dist/utils/execFileNoThrow.d.ts.map +1 -0
  572. package/node_modules/@sudocode-ai/local-server/dist/utils/execFileNoThrow.js +53 -0
  573. package/node_modules/@sudocode-ai/local-server/dist/utils/execFileNoThrow.js.map +1 -0
  574. package/node_modules/@sudocode-ai/local-server/dist/utils/executable-check.d.ts +36 -0
  575. package/node_modules/@sudocode-ai/local-server/dist/utils/executable-check.d.ts.map +1 -0
  576. package/node_modules/@sudocode-ai/local-server/dist/utils/executable-check.js +79 -0
  577. package/node_modules/@sudocode-ai/local-server/dist/utils/executable-check.js.map +1 -0
  578. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.d.ts +6 -0
  579. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.d.ts.map +1 -0
  580. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.js +9 -0
  581. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.js.map +1 -0
  582. package/node_modules/@sudocode-ai/local-server/dist/workers/execution-worker.d.ts +18 -0
  583. package/node_modules/@sudocode-ai/local-server/dist/workers/execution-worker.d.ts.map +1 -0
  584. package/node_modules/@sudocode-ai/local-server/dist/workers/execution-worker.js +340 -0
  585. package/node_modules/@sudocode-ai/local-server/dist/workers/execution-worker.js.map +1 -0
  586. package/node_modules/@sudocode-ai/local-server/dist/workers/worker-ipc.d.ts +84 -0
  587. package/node_modules/@sudocode-ai/local-server/dist/workers/worker-ipc.d.ts.map +1 -0
  588. package/node_modules/@sudocode-ai/local-server/dist/workers/worker-ipc.js +29 -0
  589. package/node_modules/@sudocode-ai/local-server/dist/workers/worker-ipc.js.map +1 -0
  590. package/node_modules/@sudocode-ai/local-server/dist/workflow/base-workflow-engine.d.ts +186 -0
  591. package/node_modules/@sudocode-ai/local-server/dist/workflow/base-workflow-engine.d.ts.map +1 -0
  592. package/node_modules/@sudocode-ai/local-server/dist/workflow/base-workflow-engine.js +557 -0
  593. package/node_modules/@sudocode-ai/local-server/dist/workflow/base-workflow-engine.js.map +1 -0
  594. package/node_modules/@sudocode-ai/local-server/dist/workflow/dependency-analyzer.d.ts +78 -0
  595. package/node_modules/@sudocode-ai/local-server/dist/workflow/dependency-analyzer.d.ts.map +1 -0
  596. package/node_modules/@sudocode-ai/local-server/dist/workflow/dependency-analyzer.js +264 -0
  597. package/node_modules/@sudocode-ai/local-server/dist/workflow/dependency-analyzer.js.map +1 -0
  598. package/node_modules/@sudocode-ai/local-server/dist/workflow/engines/orchestrator-engine.d.ts +237 -0
  599. package/node_modules/@sudocode-ai/local-server/dist/workflow/engines/orchestrator-engine.d.ts.map +1 -0
  600. package/node_modules/@sudocode-ai/local-server/dist/workflow/engines/orchestrator-engine.js +749 -0
  601. package/node_modules/@sudocode-ai/local-server/dist/workflow/engines/orchestrator-engine.js.map +1 -0
  602. package/node_modules/@sudocode-ai/local-server/dist/workflow/engines/sequential-engine.d.ts +276 -0
  603. package/node_modules/@sudocode-ai/local-server/dist/workflow/engines/sequential-engine.d.ts.map +1 -0
  604. package/node_modules/@sudocode-ai/local-server/dist/workflow/engines/sequential-engine.js +1110 -0
  605. package/node_modules/@sudocode-ai/local-server/dist/workflow/engines/sequential-engine.js.map +1 -0
  606. package/node_modules/@sudocode-ai/local-server/dist/workflow/index.d.ts +15 -0
  607. package/node_modules/@sudocode-ai/local-server/dist/workflow/index.d.ts.map +1 -0
  608. package/node_modules/@sudocode-ai/local-server/dist/workflow/index.js +22 -0
  609. package/node_modules/@sudocode-ai/local-server/dist/workflow/index.js.map +1 -0
  610. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/api-client.d.ts +103 -0
  611. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/api-client.d.ts.map +1 -0
  612. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/api-client.js +193 -0
  613. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/api-client.js.map +1 -0
  614. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/index.d.ts +16 -0
  615. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/index.d.ts.map +1 -0
  616. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/index.js +114 -0
  617. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/index.js.map +1 -0
  618. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/server.d.ts +85 -0
  619. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/server.d.ts.map +1 -0
  620. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/server.js +520 -0
  621. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/server.js.map +1 -0
  622. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/escalation.d.ts +36 -0
  623. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/escalation.d.ts.map +1 -0
  624. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/escalation.js +47 -0
  625. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/escalation.js.map +1 -0
  626. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/execution.d.ts +59 -0
  627. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/execution.d.ts.map +1 -0
  628. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/execution.js +67 -0
  629. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/execution.js.map +1 -0
  630. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/inspection.d.ts +82 -0
  631. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/inspection.d.ts.map +1 -0
  632. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/inspection.js +57 -0
  633. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/inspection.js.map +1 -0
  634. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/workflow.d.ts +59 -0
  635. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/workflow.d.ts.map +1 -0
  636. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/workflow.js +40 -0
  637. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/tools/workflow.js.map +1 -0
  638. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/types.d.ts +345 -0
  639. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/types.d.ts.map +1 -0
  640. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/types.js +7 -0
  641. package/node_modules/@sudocode-ai/local-server/dist/workflow/mcp/types.js.map +1 -0
  642. package/node_modules/@sudocode-ai/local-server/dist/workflow/services/prompt-builder.d.ts +36 -0
  643. package/node_modules/@sudocode-ai/local-server/dist/workflow/services/prompt-builder.d.ts.map +1 -0
  644. package/node_modules/@sudocode-ai/local-server/dist/workflow/services/prompt-builder.js +329 -0
  645. package/node_modules/@sudocode-ai/local-server/dist/workflow/services/prompt-builder.js.map +1 -0
  646. package/node_modules/@sudocode-ai/local-server/dist/workflow/services/wakeup-service.d.ts +262 -0
  647. package/node_modules/@sudocode-ai/local-server/dist/workflow/services/wakeup-service.d.ts.map +1 -0
  648. package/node_modules/@sudocode-ai/local-server/dist/workflow/services/wakeup-service.js +809 -0
  649. package/node_modules/@sudocode-ai/local-server/dist/workflow/services/wakeup-service.js.map +1 -0
  650. package/node_modules/@sudocode-ai/local-server/dist/workflow/workflow-engine.d.ts +221 -0
  651. package/node_modules/@sudocode-ai/local-server/dist/workflow/workflow-engine.d.ts.map +1 -0
  652. package/node_modules/@sudocode-ai/local-server/dist/workflow/workflow-engine.js +94 -0
  653. package/node_modules/@sudocode-ai/local-server/dist/workflow/workflow-engine.js.map +1 -0
  654. package/node_modules/@sudocode-ai/local-server/dist/workflow/workflow-event-emitter.d.ts +278 -0
  655. package/node_modules/@sudocode-ai/local-server/dist/workflow/workflow-event-emitter.d.ts.map +1 -0
  656. package/node_modules/@sudocode-ai/local-server/dist/workflow/workflow-event-emitter.js +259 -0
  657. package/node_modules/@sudocode-ai/local-server/dist/workflow/workflow-event-emitter.js.map +1 -0
  658. package/node_modules/@sudocode-ai/local-server/package.json +78 -0
  659. package/node_modules/@sudocode-ai/mcp/README.md +226 -0
  660. package/node_modules/@sudocode-ai/mcp/dist/client.d.ts +33 -0
  661. package/node_modules/@sudocode-ai/mcp/dist/client.d.ts.map +1 -0
  662. package/node_modules/@sudocode-ai/mcp/dist/client.js +166 -0
  663. package/node_modules/@sudocode-ai/mcp/dist/client.js.map +1 -0
  664. package/node_modules/@sudocode-ai/mcp/dist/index.d.ts +6 -0
  665. package/node_modules/@sudocode-ai/mcp/dist/index.d.ts.map +1 -0
  666. package/node_modules/@sudocode-ai/mcp/dist/index.js +64 -0
  667. package/node_modules/@sudocode-ai/mcp/dist/index.js.map +1 -0
  668. package/node_modules/@sudocode-ai/mcp/dist/server.d.ts +26 -0
  669. package/node_modules/@sudocode-ai/mcp/dist/server.d.ts.map +1 -0
  670. package/node_modules/@sudocode-ai/mcp/dist/server.js +577 -0
  671. package/node_modules/@sudocode-ai/mcp/dist/server.js.map +1 -0
  672. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.d.ts +41 -0
  673. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.d.ts.map +1 -0
  674. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.js +21 -0
  675. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.js.map +1 -0
  676. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.d.ts +21 -0
  677. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.d.ts.map +1 -0
  678. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.js +30 -0
  679. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.js.map +1 -0
  680. package/node_modules/@sudocode-ai/mcp/dist/tools/init.d.ts +17 -0
  681. package/node_modules/@sudocode-ai/mcp/dist/tools/init.d.ts.map +1 -0
  682. package/node_modules/@sudocode-ai/mcp/dist/tools/init.js +15 -0
  683. package/node_modules/@sudocode-ai/mcp/dist/tools/init.js.map +1 -0
  684. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.d.ts +44 -0
  685. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.d.ts.map +1 -0
  686. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.js +109 -0
  687. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.js.map +1 -0
  688. package/node_modules/@sudocode-ai/mcp/dist/tools/references.d.ts +21 -0
  689. package/node_modules/@sudocode-ai/mcp/dist/tools/references.d.ts.map +1 -0
  690. package/node_modules/@sudocode-ai/mcp/dist/tools/references.js +49 -0
  691. package/node_modules/@sudocode-ai/mcp/dist/tools/references.js.map +1 -0
  692. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.d.ts +15 -0
  693. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.d.ts.map +1 -0
  694. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.js +18 -0
  695. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.js.map +1 -0
  696. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.d.ts +35 -0
  697. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.d.ts.map +1 -0
  698. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.js +85 -0
  699. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.js.map +1 -0
  700. package/node_modules/@sudocode-ai/mcp/dist/types.d.ts +35 -0
  701. package/node_modules/@sudocode-ai/mcp/dist/types.d.ts.map +1 -0
  702. package/node_modules/@sudocode-ai/mcp/dist/types.js +21 -0
  703. package/node_modules/@sudocode-ai/mcp/dist/types.js.map +1 -0
  704. package/node_modules/@sudocode-ai/mcp/package.json +67 -0
  705. package/node_modules/@sudocode-ai/types/README.md +7 -0
  706. package/node_modules/@sudocode-ai/types/package.json +76 -0
  707. package/node_modules/@sudocode-ai/types/src/agents.d.ts +278 -0
  708. package/node_modules/@sudocode-ai/types/src/artifacts.d.ts +66 -0
  709. package/node_modules/@sudocode-ai/types/src/events.d.ts +70 -0
  710. package/node_modules/@sudocode-ai/types/src/index.d.ts +452 -0
  711. package/node_modules/@sudocode-ai/types/src/integrations.d.ts +454 -0
  712. package/node_modules/@sudocode-ai/types/src/workflows.d.ts +501 -0
  713. package/node_modules/commander/LICENSE +22 -0
  714. package/node_modules/commander/Readme.md +1149 -0
  715. package/node_modules/commander/esm.mjs +16 -0
  716. package/node_modules/commander/index.js +24 -0
  717. package/node_modules/commander/lib/argument.js +149 -0
  718. package/node_modules/commander/lib/command.js +2662 -0
  719. package/node_modules/commander/lib/error.js +39 -0
  720. package/node_modules/commander/lib/help.js +709 -0
  721. package/node_modules/commander/lib/option.js +367 -0
  722. package/node_modules/commander/lib/suggestSimilar.js +101 -0
  723. package/node_modules/commander/package-support.json +16 -0
  724. package/node_modules/commander/package.json +82 -0
  725. package/node_modules/commander/typings/esm.d.mts +3 -0
  726. package/node_modules/commander/typings/index.d.ts +1045 -0
  727. package/node_modules/glob/LICENSE +15 -0
  728. package/node_modules/glob/README.md +1265 -0
  729. package/node_modules/glob/package.json +99 -0
  730. package/node_modules/isexe/LICENSE +15 -0
  731. package/node_modules/isexe/README.md +74 -0
  732. package/node_modules/isexe/package.json +96 -0
  733. package/node_modules/which/LICENSE +15 -0
  734. package/node_modules/which/README.md +51 -0
  735. package/node_modules/which/bin/which.js +52 -0
  736. package/node_modules/which/lib/index.js +111 -0
  737. package/node_modules/which/package.json +52 -0
  738. package/package.json +9 -9
@@ -0,0 +1,798 @@
1
+ /**
2
+ * SyncCoordinator - Orchestrates sync between sudocode and external integration providers
3
+ *
4
+ * Manages provider lifecycle, handles change detection, and resolves conflicts
5
+ * during bidirectional synchronization.
6
+ */
7
+ import { resolveByStrategy, logConflict } from "./utils/conflict-resolver.js";
8
+ import { readJSONLSync, writeJSONLSync } from "../jsonl.js";
9
+ import { findSpecsByExternalLink, findIssuesByExternalLink, getSpecFromJsonl, getIssueFromJsonl, updateSpecExternalLinkSync, updateIssueExternalLinkSync, createIssueFromExternal, createSpecFromExternal, deleteIssueFromJsonl, closeIssueInJsonl, removeExternalLinkFromIssue, } from "../operations/external-links.js";
10
+ import * as path from "path";
11
+ /**
12
+ * SyncCoordinator manages integration providers and synchronization
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const coordinator = new SyncCoordinator({
17
+ * projectPath: '/path/to/project',
18
+ * config: { jira: { enabled: true, ... } },
19
+ * });
20
+ *
21
+ * coordinator.registerProvider(new JiraProvider());
22
+ * await coordinator.start();
23
+ *
24
+ * // Sync all providers
25
+ * const results = await coordinator.syncAll();
26
+ *
27
+ * // Link a sudocode entity to an external entity
28
+ * await coordinator.linkEntity('i-abc', 'PROJ-123', 'jira');
29
+ *
30
+ * await coordinator.stop();
31
+ * ```
32
+ */
33
+ export class SyncCoordinator {
34
+ options;
35
+ providers = new Map();
36
+ lastSyncTimes = new Map();
37
+ constructor(options) {
38
+ this.options = options;
39
+ }
40
+ // ==========================================================================
41
+ // Provider Management
42
+ // ==========================================================================
43
+ /**
44
+ * Register an integration provider
45
+ * @param provider - The provider to register
46
+ */
47
+ registerProvider(provider) {
48
+ this.providers.set(provider.name, provider);
49
+ }
50
+ /**
51
+ * Get a registered provider by name
52
+ * @param name - Provider name
53
+ * @returns The provider, or undefined if not found
54
+ */
55
+ getProvider(name) {
56
+ return this.providers.get(name);
57
+ }
58
+ /**
59
+ * Get all registered provider names
60
+ */
61
+ getProviderNames() {
62
+ return Array.from(this.providers.keys());
63
+ }
64
+ // ==========================================================================
65
+ // Lifecycle
66
+ // ==========================================================================
67
+ /**
68
+ * Start the coordinator and initialize all enabled providers
69
+ *
70
+ * For each registered provider:
71
+ * 1. Skip if not enabled in config
72
+ * 2. Initialize with config
73
+ * 3. Validate connection
74
+ * 4. Start watching if auto_sync is enabled and provider supports it
75
+ */
76
+ async start() {
77
+ for (const [name, provider] of this.providers) {
78
+ const config = this.getProviderConfig(name);
79
+ if (!config?.enabled)
80
+ continue;
81
+ try {
82
+ await provider.initialize(config);
83
+ const validation = await provider.validate();
84
+ if (!validation.valid) {
85
+ console.warn(`[sync-coordinator] Provider ${name} validation failed:`, validation.errors);
86
+ continue;
87
+ }
88
+ // Start watching if auto_sync is enabled and provider supports it
89
+ if (config.auto_sync &&
90
+ provider.supportsWatch &&
91
+ provider.startWatching) {
92
+ provider.startWatching((changes) => {
93
+ this.handleInboundChanges(name, changes);
94
+ });
95
+ }
96
+ this.lastSyncTimes.set(name, new Date());
97
+ }
98
+ catch (error) {
99
+ console.error(`[sync-coordinator] Failed to initialize provider ${name}:`, error);
100
+ }
101
+ }
102
+ }
103
+ /**
104
+ * Stop the coordinator and dispose all providers
105
+ */
106
+ async stop() {
107
+ for (const [_name, provider] of this.providers) {
108
+ try {
109
+ provider.stopWatching?.();
110
+ await provider.dispose();
111
+ }
112
+ catch (error) {
113
+ console.error(`Error disposing provider ${_name}:`, error);
114
+ }
115
+ }
116
+ }
117
+ // ==========================================================================
118
+ // Sync Operations
119
+ // ==========================================================================
120
+ /**
121
+ * Sync all registered and enabled providers
122
+ * @returns Array of sync results from all providers
123
+ */
124
+ async syncAll() {
125
+ const results = [];
126
+ for (const name of this.providers.keys()) {
127
+ const config = this.getProviderConfig(name);
128
+ if (!config?.enabled)
129
+ continue;
130
+ try {
131
+ const providerResults = await this.syncProvider(name);
132
+ results.push(...providerResults);
133
+ }
134
+ catch (error) {
135
+ results.push({
136
+ success: false,
137
+ entity_id: "",
138
+ external_id: "",
139
+ action: "skipped",
140
+ error: `Provider ${name} sync failed: ${String(error)}`,
141
+ });
142
+ }
143
+ }
144
+ return results;
145
+ }
146
+ /**
147
+ * Sync a specific provider
148
+ * @param providerName - Name of the provider to sync
149
+ * @returns Array of sync results
150
+ */
151
+ async syncProvider(providerName) {
152
+ const provider = this.providers.get(providerName);
153
+ if (!provider) {
154
+ throw new Error(`Unknown provider: ${providerName}`);
155
+ }
156
+ const lastSync = this.lastSyncTimes.get(providerName) || new Date(0);
157
+ const changes = await provider.getChangesSince(lastSync);
158
+ const results = await this.handleInboundChanges(providerName, changes);
159
+ this.lastSyncTimes.set(providerName, new Date());
160
+ return results;
161
+ }
162
+ /**
163
+ * Sync a specific entity's external links
164
+ * @param entityId - Sudocode entity ID (s-xxxx or i-xxxx)
165
+ * @returns Array of sync results for each link
166
+ */
167
+ async syncEntity(entityId) {
168
+ const entity = this.loadEntity(entityId);
169
+ if (!entity?.external_links?.length) {
170
+ return [
171
+ {
172
+ success: true,
173
+ entity_id: entityId,
174
+ external_id: "",
175
+ action: "skipped",
176
+ },
177
+ ];
178
+ }
179
+ const results = [];
180
+ for (const link of entity.external_links) {
181
+ if (!link.sync_enabled)
182
+ continue;
183
+ try {
184
+ const result = await this.syncSingleLink(entity, link);
185
+ results.push(result);
186
+ }
187
+ catch (error) {
188
+ results.push({
189
+ success: false,
190
+ entity_id: entityId,
191
+ external_id: link.external_id,
192
+ action: "skipped",
193
+ error: String(error),
194
+ });
195
+ }
196
+ }
197
+ return results;
198
+ }
199
+ // ==========================================================================
200
+ // Link Management
201
+ // ==========================================================================
202
+ /**
203
+ * Link a sudocode entity to an external entity
204
+ *
205
+ * @param entityId - Sudocode entity ID
206
+ * @param externalId - External system entity ID
207
+ * @param provider - Provider name
208
+ * @param options - Link options (sync direction, enabled)
209
+ */
210
+ async linkEntity(entityId, externalId, provider, options) {
211
+ const entity = this.loadEntity(entityId);
212
+ if (!entity) {
213
+ throw new Error(`Entity not found: ${entityId}`);
214
+ }
215
+ const link = {
216
+ provider: provider,
217
+ external_id: externalId,
218
+ sync_enabled: options?.sync_enabled ?? true,
219
+ sync_direction: options?.sync_direction ?? "bidirectional",
220
+ last_synced_at: new Date().toISOString(),
221
+ };
222
+ const links = entity.external_links || [];
223
+ // Check if link already exists
224
+ const existingIndex = links.findIndex((l) => l.provider === provider && l.external_id === externalId);
225
+ if (existingIndex >= 0) {
226
+ // Update existing link
227
+ links[existingIndex] = { ...links[existingIndex], ...link };
228
+ }
229
+ else {
230
+ // Add new link
231
+ links.push(link);
232
+ }
233
+ this.updateEntityLinks(entityId, links);
234
+ }
235
+ /**
236
+ * Remove a link between a sudocode entity and an external entity
237
+ *
238
+ * @param entityId - Sudocode entity ID
239
+ * @param externalId - External system entity ID
240
+ */
241
+ async unlinkEntity(entityId, externalId) {
242
+ const entity = this.loadEntity(entityId);
243
+ if (!entity?.external_links)
244
+ return;
245
+ const links = entity.external_links.filter((l) => l.external_id !== externalId);
246
+ this.updateEntityLinks(entityId, links);
247
+ }
248
+ /**
249
+ * Handle deletion of a sudocode entity - propagate to external systems
250
+ *
251
+ * Call this when a sudocode entity is deleted to propagate the deletion
252
+ * to all linked external systems.
253
+ *
254
+ * @param entityId - Sudocode entity ID that was deleted
255
+ * @param externalLinks - The external_links from the deleted entity
256
+ * @returns Array of sync results
257
+ */
258
+ async handleEntityDeleted(entityId, externalLinks) {
259
+ const results = [];
260
+ if (!externalLinks || externalLinks.length === 0) {
261
+ return results;
262
+ }
263
+ for (const link of externalLinks) {
264
+ // Skip if sync is disabled or inbound-only
265
+ if (!link.sync_enabled)
266
+ continue;
267
+ if (link.sync_direction === "inbound")
268
+ continue;
269
+ const provider = this.providers.get(link.provider);
270
+ if (!provider)
271
+ continue;
272
+ const config = this.getProviderConfig(link.provider);
273
+ const deleteBehavior = config?.delete_behavior || "close";
274
+ try {
275
+ if (deleteBehavior === "delete" && provider.deleteEntity) {
276
+ await provider.deleteEntity(link.external_id);
277
+ results.push({
278
+ success: true,
279
+ entity_id: entityId,
280
+ external_id: link.external_id,
281
+ action: "updated",
282
+ });
283
+ }
284
+ else if (deleteBehavior === "close" && provider.updateEntity) {
285
+ await provider.updateEntity(link.external_id, {
286
+ status: "closed",
287
+ });
288
+ results.push({
289
+ success: true,
290
+ entity_id: entityId,
291
+ external_id: link.external_id,
292
+ action: "updated",
293
+ });
294
+ }
295
+ else {
296
+ results.push({
297
+ success: true,
298
+ entity_id: entityId,
299
+ external_id: link.external_id,
300
+ action: "skipped",
301
+ });
302
+ }
303
+ }
304
+ catch (error) {
305
+ results.push({
306
+ success: false,
307
+ entity_id: entityId,
308
+ external_id: link.external_id,
309
+ action: "skipped",
310
+ error: String(error),
311
+ });
312
+ }
313
+ }
314
+ return results;
315
+ }
316
+ // ==========================================================================
317
+ // Internal Methods - Change Handling
318
+ // ==========================================================================
319
+ /**
320
+ * Handle inbound changes from an external provider
321
+ */
322
+ async handleInboundChanges(providerName, changes) {
323
+ const results = [];
324
+ const provider = this.providers.get(providerName);
325
+ if (!provider) {
326
+ return results;
327
+ }
328
+ for (const change of changes) {
329
+ try {
330
+ const result = await this.processInboundChange(providerName, provider, change);
331
+ results.push(result);
332
+ }
333
+ catch (error) {
334
+ results.push({
335
+ success: false,
336
+ entity_id: "",
337
+ external_id: change.entity_id,
338
+ action: "skipped",
339
+ error: String(error),
340
+ });
341
+ }
342
+ }
343
+ return results;
344
+ }
345
+ /**
346
+ * Convert ExternalEntity relationships to ExternalRelationshipInput format
347
+ * This maps from the integration's relationship format to the format needed for creating entities
348
+ */
349
+ mapExternalRelationships(externalRelationships) {
350
+ if (!externalRelationships || externalRelationships.length === 0) {
351
+ return undefined;
352
+ }
353
+ return externalRelationships.map((rel) => ({
354
+ targetExternalId: rel.targetId,
355
+ targetType: rel.targetType,
356
+ relationshipType: rel.relationshipType,
357
+ }));
358
+ }
359
+ /**
360
+ * Process a single inbound change
361
+ */
362
+ async processInboundChange(providerName, provider, change) {
363
+ const config = this.getProviderConfig(providerName);
364
+ const sudocodeDir = path.join(this.options.projectPath, ".sudocode");
365
+ // Find linked sudocode entity
366
+ const linkedEntity = this.findLinkedEntity(providerName, change.entity_id);
367
+ // Handle NEW entities (auto-import) - only for "created" changes
368
+ if (!linkedEntity && change.change_type === "created") {
369
+ // Auto-import if enabled (defaults to true)
370
+ const autoImport = config?.auto_import !== false;
371
+ if (autoImport && change.data) {
372
+ // Map external entity to sudocode format
373
+ const mapped = provider.mapToSudocode(change.data);
374
+ const issueData = mapped.issue;
375
+ if (issueData && change.entity_type === "issue") {
376
+ // Create sudocode issue with auto-link
377
+ const newIssue = createIssueFromExternal(sudocodeDir, {
378
+ title: issueData.title || change.data.title,
379
+ content: issueData.content || change.data.description,
380
+ status: issueData.status || "open",
381
+ priority: issueData.priority ?? change.data.priority ?? 2,
382
+ external: {
383
+ provider: providerName,
384
+ external_id: change.entity_id,
385
+ sync_direction: config?.default_sync_direction || "bidirectional",
386
+ },
387
+ relationships: this.mapExternalRelationships(change.data.relationships),
388
+ });
389
+ return {
390
+ success: true,
391
+ entity_id: newIssue.id,
392
+ external_id: change.entity_id,
393
+ action: "created",
394
+ };
395
+ }
396
+ // Handle specs that need to be created
397
+ const specData = mapped.spec;
398
+ if (specData && change.entity_type === "spec") {
399
+ // Create sudocode spec with auto-link and relationships
400
+ const newSpec = createSpecFromExternal(sudocodeDir, {
401
+ title: specData.title || change.data.title,
402
+ content: specData.content || change.data.description,
403
+ priority: specData.priority ?? change.data.priority ?? 2,
404
+ external: {
405
+ provider: providerName,
406
+ external_id: change.entity_id,
407
+ sync_direction: config?.default_sync_direction || "bidirectional",
408
+ },
409
+ relationships: this.mapExternalRelationships(change.data.relationships),
410
+ });
411
+ return {
412
+ success: true,
413
+ entity_id: newSpec.id,
414
+ external_id: change.entity_id,
415
+ action: "created",
416
+ };
417
+ }
418
+ }
419
+ return {
420
+ success: true,
421
+ entity_id: "",
422
+ external_id: change.entity_id,
423
+ action: "skipped",
424
+ };
425
+ }
426
+ // Handle UPDATED entities without link (skip - they were never imported)
427
+ if (!linkedEntity && change.change_type === "updated") {
428
+ return {
429
+ success: true,
430
+ entity_id: "",
431
+ external_id: change.entity_id,
432
+ action: "skipped",
433
+ };
434
+ }
435
+ // Handle DELETED entities
436
+ if (change.change_type === "deleted") {
437
+ if (!linkedEntity) {
438
+ return {
439
+ success: true,
440
+ entity_id: "",
441
+ external_id: change.entity_id,
442
+ action: "skipped",
443
+ };
444
+ }
445
+ // Get delete behavior from config (defaults to 'close')
446
+ const deleteBehavior = config?.delete_behavior || "close";
447
+ if (deleteBehavior === "ignore") {
448
+ // Disable sync on the stale link to avoid future sync errors
449
+ updateIssueExternalLinkSync(sudocodeDir, linkedEntity.id, change.entity_id, {
450
+ sync_enabled: false,
451
+ });
452
+ return {
453
+ success: true,
454
+ entity_id: linkedEntity.id,
455
+ external_id: change.entity_id,
456
+ action: "skipped",
457
+ };
458
+ }
459
+ if (deleteBehavior === "delete") {
460
+ deleteIssueFromJsonl(sudocodeDir, linkedEntity.id);
461
+ return {
462
+ success: true,
463
+ entity_id: linkedEntity.id,
464
+ external_id: change.entity_id,
465
+ action: "updated", // Using 'updated' as there's no 'deleted' action type
466
+ };
467
+ }
468
+ // Default: close the issue AND remove the stale external link
469
+ closeIssueInJsonl(sudocodeDir, linkedEntity.id);
470
+ // Clean up the external link to avoid orphaned reference
471
+ removeExternalLinkFromIssue(sudocodeDir, linkedEntity.id, change.entity_id);
472
+ return {
473
+ success: true,
474
+ entity_id: linkedEntity.id,
475
+ external_id: change.entity_id,
476
+ action: "updated",
477
+ };
478
+ }
479
+ // Check for conflicts
480
+ const link = linkedEntity?.external_links?.find((l) => l.external_id === change.entity_id);
481
+ if (link && change.data?.updated_at && linkedEntity) {
482
+ const conflict = this.detectConflict(linkedEntity, change, link);
483
+ if (conflict) {
484
+ const resolution = await this.resolveConflict(conflict);
485
+ if (resolution === "skip") {
486
+ return {
487
+ success: true,
488
+ entity_id: linkedEntity.id,
489
+ external_id: change.entity_id,
490
+ action: "skipped",
491
+ };
492
+ }
493
+ if (resolution === "sudocode") {
494
+ // Push sudocode version to external
495
+ await provider.updateEntity(change.entity_id, linkedEntity);
496
+ this.updateLinkSyncTime(linkedEntity.id, link.external_id);
497
+ return {
498
+ success: true,
499
+ entity_id: linkedEntity.id,
500
+ external_id: change.entity_id,
501
+ action: "updated",
502
+ };
503
+ }
504
+ }
505
+ }
506
+ // Apply inbound change (external wins or no conflict)
507
+ if (change.data && linkedEntity) {
508
+ const mapped = provider.mapToSudocode(change.data);
509
+ const updates = mapped.spec || mapped.issue;
510
+ if (updates) {
511
+ this.applyUpdatesToEntity(linkedEntity.id, updates);
512
+ if (link) {
513
+ this.updateLinkSyncTime(linkedEntity.id, link.external_id);
514
+ }
515
+ return {
516
+ success: true,
517
+ entity_id: linkedEntity.id,
518
+ external_id: change.entity_id,
519
+ action: "updated",
520
+ };
521
+ }
522
+ }
523
+ return {
524
+ success: true,
525
+ entity_id: linkedEntity?.id || "",
526
+ external_id: change.entity_id,
527
+ action: "skipped",
528
+ };
529
+ }
530
+ /**
531
+ * Sync a single external link
532
+ */
533
+ async syncSingleLink(entity, link) {
534
+ const provider = this.providers.get(link.provider);
535
+ if (!provider) {
536
+ return {
537
+ success: false,
538
+ entity_id: entity.id,
539
+ external_id: link.external_id,
540
+ action: "skipped",
541
+ error: `Provider not registered: ${link.provider}`,
542
+ };
543
+ }
544
+ try {
545
+ // Fetch current external state
546
+ const externalEntity = await provider.fetchEntity(link.external_id);
547
+ if (!externalEntity) {
548
+ return {
549
+ success: false,
550
+ entity_id: entity.id,
551
+ external_id: link.external_id,
552
+ action: "skipped",
553
+ error: "External entity not found",
554
+ };
555
+ }
556
+ // Check for conflicts
557
+ const change = {
558
+ entity_id: link.external_id,
559
+ entity_type: externalEntity.type,
560
+ change_type: "updated",
561
+ timestamp: externalEntity.updated_at || new Date().toISOString(),
562
+ data: externalEntity,
563
+ };
564
+ const conflict = this.detectConflict(entity, change, link);
565
+ if (conflict) {
566
+ const resolution = await this.resolveConflict(conflict);
567
+ if (resolution === "skip") {
568
+ return {
569
+ success: true,
570
+ entity_id: entity.id,
571
+ external_id: link.external_id,
572
+ action: "skipped",
573
+ };
574
+ }
575
+ if (resolution === "sudocode") {
576
+ // Push sudocode to external
577
+ await provider.updateEntity(link.external_id, entity);
578
+ this.updateLinkSyncTime(entity.id, link.external_id);
579
+ return {
580
+ success: true,
581
+ entity_id: entity.id,
582
+ external_id: link.external_id,
583
+ action: "updated",
584
+ };
585
+ }
586
+ // External wins - apply to sudocode
587
+ const mapped = provider.mapToSudocode(externalEntity);
588
+ const updates = mapped.spec || mapped.issue;
589
+ if (updates) {
590
+ this.applyUpdatesToEntity(entity.id, updates);
591
+ }
592
+ this.updateLinkSyncTime(entity.id, link.external_id);
593
+ return {
594
+ success: true,
595
+ entity_id: entity.id,
596
+ external_id: link.external_id,
597
+ action: "updated",
598
+ };
599
+ }
600
+ // No conflict - sync based on direction
601
+ if (link.sync_direction === "outbound" ||
602
+ link.sync_direction === "bidirectional") {
603
+ await provider.updateEntity(link.external_id, entity);
604
+ }
605
+ this.updateLinkSyncTime(entity.id, link.external_id);
606
+ return {
607
+ success: true,
608
+ entity_id: entity.id,
609
+ external_id: link.external_id,
610
+ action: "updated",
611
+ };
612
+ }
613
+ catch (error) {
614
+ console.error(`[sync-coordinator] syncSingleLink error:`, error);
615
+ return {
616
+ success: false,
617
+ entity_id: entity.id,
618
+ external_id: link.external_id,
619
+ action: "skipped",
620
+ error: String(error),
621
+ };
622
+ }
623
+ }
624
+ // ==========================================================================
625
+ // Internal Methods - Conflict Detection and Resolution
626
+ // ==========================================================================
627
+ /**
628
+ * Detect if there's a conflict between sudocode and external versions
629
+ */
630
+ detectConflict(entity, change, link) {
631
+ const sudocodeUpdated = new Date(entity.updated_at);
632
+ const externalUpdated = new Date(change.data?.updated_at || 0);
633
+ const lastSynced = link.last_synced_at
634
+ ? new Date(link.last_synced_at)
635
+ : new Date(0);
636
+ // Conflict if both updated since last sync
637
+ if (sudocodeUpdated > lastSynced && externalUpdated > lastSynced) {
638
+ return {
639
+ sudocode_entity_id: entity.id,
640
+ external_id: change.entity_id,
641
+ provider: link.provider,
642
+ sudocode_updated_at: entity.updated_at,
643
+ external_updated_at: change.data?.updated_at || "",
644
+ };
645
+ }
646
+ return null;
647
+ }
648
+ /**
649
+ * Resolve a sync conflict based on configured strategy
650
+ */
651
+ async resolveConflict(conflict) {
652
+ const config = this.getProviderConfig(conflict.provider);
653
+ const strategy = config?.conflict_resolution || "newest-wins";
654
+ if (strategy === "manual" && this.options.onConflict) {
655
+ const resolution = await this.options.onConflict(conflict);
656
+ logConflict({
657
+ timestamp: new Date().toISOString(),
658
+ conflict,
659
+ resolution,
660
+ strategy,
661
+ });
662
+ return resolution;
663
+ }
664
+ const resolution = resolveByStrategy(conflict, strategy);
665
+ logConflict({
666
+ timestamp: new Date().toISOString(),
667
+ conflict,
668
+ resolution,
669
+ strategy,
670
+ });
671
+ return resolution;
672
+ }
673
+ // ==========================================================================
674
+ // Internal Methods - Entity Operations
675
+ // ==========================================================================
676
+ /**
677
+ * Get provider config from options
678
+ */
679
+ getProviderConfig(name) {
680
+ return this.options.config[name];
681
+ }
682
+ /**
683
+ * Determine if an ID is for a spec or issue
684
+ */
685
+ getEntityType(id) {
686
+ return id.startsWith("s-") ? "spec" : "issue";
687
+ }
688
+ /**
689
+ * Get the JSONL file path for an entity type
690
+ */
691
+ getEntityFilePath(type) {
692
+ const sudocodePath = path.join(this.options.projectPath, ".sudocode");
693
+ return type === "spec"
694
+ ? path.join(sudocodePath, "specs.jsonl")
695
+ : path.join(sudocodePath, "issues.jsonl");
696
+ }
697
+ /**
698
+ * Load an entity from JSONL storage
699
+ */
700
+ /**
701
+ * Load an entity from JSONL storage
702
+ */
703
+ loadEntity(id) {
704
+ const sudocodeDir = path.join(this.options.projectPath, ".sudocode");
705
+ let jsonlEntity = null;
706
+ if (id.startsWith("s-")) {
707
+ jsonlEntity = getSpecFromJsonl(sudocodeDir, id);
708
+ }
709
+ else {
710
+ jsonlEntity = getIssueFromJsonl(sudocodeDir, id);
711
+ }
712
+ if (!jsonlEntity)
713
+ return null;
714
+ return this.toEntity(jsonlEntity);
715
+ }
716
+ /**
717
+ * Convert JSONL entity to domain Entity
718
+ */
719
+ toEntity(jsonl) {
720
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
721
+ const { relationships, tags, feedback, ...entityData } = jsonl;
722
+ return entityData;
723
+ }
724
+ /**
725
+ * Find a sudocode entity linked to an external entity
726
+ */
727
+ findLinkedEntity(provider, externalId) {
728
+ const sudocodeDir = path.join(this.options.projectPath, ".sudocode");
729
+ const providerName = provider;
730
+ // Search specs
731
+ const specs = findSpecsByExternalLink(sudocodeDir, providerName, externalId);
732
+ if (specs.length > 0) {
733
+ return this.toEntity(specs[0]);
734
+ }
735
+ // Search issues
736
+ const issues = findIssuesByExternalLink(sudocodeDir, providerName, externalId);
737
+ if (issues.length > 0) {
738
+ return this.toEntity(issues[0]);
739
+ }
740
+ return null;
741
+ }
742
+ /**
743
+ * Update external_links on an entity
744
+ */
745
+ updateEntityLinks(id, links) {
746
+ const type = this.getEntityType(id);
747
+ const filePath = this.getEntityFilePath(type);
748
+ const entities = readJSONLSync(filePath);
749
+ const index = entities.findIndex((e) => e.id === id);
750
+ if (index >= 0) {
751
+ entities[index].external_links = links;
752
+ entities[index].updated_at = new Date().toISOString();
753
+ writeJSONLSync(filePath, entities);
754
+ }
755
+ }
756
+ /**
757
+ * Update the last_synced_at timestamp on a link
758
+ */
759
+ /**
760
+ * Update the last_synced_at timestamp on a link
761
+ */
762
+ updateLinkSyncTime(entityId, externalId) {
763
+ const sudocodeDir = path.join(this.options.projectPath, ".sudocode");
764
+ const updates = { last_synced_at: new Date().toISOString() };
765
+ try {
766
+ if (entityId.startsWith("s-")) {
767
+ updateSpecExternalLinkSync(sudocodeDir, entityId, externalId, updates);
768
+ }
769
+ else {
770
+ updateIssueExternalLinkSync(sudocodeDir, entityId, externalId, updates);
771
+ }
772
+ }
773
+ catch (error) {
774
+ // Ignore if entity/link not found (race condition)
775
+ }
776
+ }
777
+ /**
778
+ * Apply partial updates to an entity
779
+ */
780
+ applyUpdatesToEntity(id, updates) {
781
+ const type = this.getEntityType(id);
782
+ const filePath = this.getEntityFilePath(type);
783
+ const entities = readJSONLSync(filePath);
784
+ const index = entities.findIndex((e) => e.id === id);
785
+ if (index >= 0) {
786
+ const current = entities[index];
787
+ // Apply updates while preserving relationships, tags, etc.
788
+ const { id: _id, uuid: _uuid, ...safeUpdates } = updates;
789
+ entities[index] = {
790
+ ...current,
791
+ ...safeUpdates,
792
+ updated_at: new Date().toISOString(),
793
+ };
794
+ writeJSONLSync(filePath, entities);
795
+ }
796
+ }
797
+ }
798
+ //# sourceMappingURL=sync-coordinator.js.map