sudocode 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/README.md +4 -3
  2. package/package.json +8 -38
  3. package/build.js +0 -75
  4. package/node_modules/@sudocode-ai/cli/README.md +0 -330
  5. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.d.ts +0 -53
  6. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.d.ts.map +0 -1
  7. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.js +0 -274
  8. package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.js.map +0 -1
  9. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.d.ts +0 -22
  10. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.d.ts.map +0 -1
  11. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.js +0 -148
  12. package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.js.map +0 -1
  13. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.d.ts +0 -45
  14. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.d.ts.map +0 -1
  15. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.js +0 -310
  16. package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.js.map +0 -1
  17. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.d.ts +0 -18
  18. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.d.ts.map +0 -1
  19. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.js +0 -61
  20. package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.js.map +0 -1
  21. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.d.ts +0 -22
  22. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.d.ts.map +0 -1
  23. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.js +0 -136
  24. package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.js.map +0 -1
  25. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.d.ts +0 -14
  26. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.d.ts.map +0 -1
  27. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.js +0 -76
  28. package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.js.map +0 -1
  29. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.d.ts +0 -17
  30. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.d.ts.map +0 -1
  31. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.js +0 -99
  32. package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.js.map +0 -1
  33. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.d.ts +0 -38
  34. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.d.ts.map +0 -1
  35. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.js +0 -321
  36. package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.js.map +0 -1
  37. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.d.ts +0 -17
  38. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.d.ts.map +0 -1
  39. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.js +0 -131
  40. package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.js.map +0 -1
  41. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.d.ts +0 -24
  42. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.d.ts.map +0 -1
  43. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.js +0 -416
  44. package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.js.map +0 -1
  45. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.d.ts +0 -12
  46. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.d.ts.map +0 -1
  47. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.js +0 -78
  48. package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.js.map +0 -1
  49. package/node_modules/@sudocode-ai/cli/dist/cli.d.ts +0 -6
  50. package/node_modules/@sudocode-ai/cli/dist/cli.d.ts.map +0 -1
  51. package/node_modules/@sudocode-ai/cli/dist/cli.js +0 -426
  52. package/node_modules/@sudocode-ai/cli/dist/cli.js.map +0 -1
  53. package/node_modules/@sudocode-ai/cli/dist/db.d.ts +0 -21
  54. package/node_modules/@sudocode-ai/cli/dist/db.d.ts.map +0 -1
  55. package/node_modules/@sudocode-ai/cli/dist/db.js +0 -54
  56. package/node_modules/@sudocode-ai/cli/dist/db.js.map +0 -1
  57. package/node_modules/@sudocode-ai/cli/dist/export.d.ts +0 -79
  58. package/node_modules/@sudocode-ai/cli/dist/export.d.ts.map +0 -1
  59. package/node_modules/@sudocode-ai/cli/dist/export.js +0 -195
  60. package/node_modules/@sudocode-ai/cli/dist/export.js.map +0 -1
  61. package/node_modules/@sudocode-ai/cli/dist/filename-generator.d.ts +0 -30
  62. package/node_modules/@sudocode-ai/cli/dist/filename-generator.d.ts.map +0 -1
  63. package/node_modules/@sudocode-ai/cli/dist/filename-generator.js +0 -93
  64. package/node_modules/@sudocode-ai/cli/dist/filename-generator.js.map +0 -1
  65. package/node_modules/@sudocode-ai/cli/dist/id-generator.d.ts +0 -26
  66. package/node_modules/@sudocode-ai/cli/dist/id-generator.d.ts.map +0 -1
  67. package/node_modules/@sudocode-ai/cli/dist/id-generator.js +0 -123
  68. package/node_modules/@sudocode-ai/cli/dist/id-generator.js.map +0 -1
  69. package/node_modules/@sudocode-ai/cli/dist/import.d.ts +0 -118
  70. package/node_modules/@sudocode-ai/cli/dist/import.d.ts.map +0 -1
  71. package/node_modules/@sudocode-ai/cli/dist/import.js +0 -608
  72. package/node_modules/@sudocode-ai/cli/dist/import.js.map +0 -1
  73. package/node_modules/@sudocode-ai/cli/dist/index.d.ts +0 -13
  74. package/node_modules/@sudocode-ai/cli/dist/index.d.ts.map +0 -1
  75. package/node_modules/@sudocode-ai/cli/dist/index.js +0 -13
  76. package/node_modules/@sudocode-ai/cli/dist/index.js.map +0 -1
  77. package/node_modules/@sudocode-ai/cli/dist/jsonl.d.ts +0 -69
  78. package/node_modules/@sudocode-ai/cli/dist/jsonl.d.ts.map +0 -1
  79. package/node_modules/@sudocode-ai/cli/dist/jsonl.js +0 -333
  80. package/node_modules/@sudocode-ai/cli/dist/jsonl.js.map +0 -1
  81. package/node_modules/@sudocode-ai/cli/dist/markdown.d.ts +0 -146
  82. package/node_modules/@sudocode-ai/cli/dist/markdown.d.ts.map +0 -1
  83. package/node_modules/@sudocode-ai/cli/dist/markdown.js +0 -357
  84. package/node_modules/@sudocode-ai/cli/dist/markdown.js.map +0 -1
  85. package/node_modules/@sudocode-ai/cli/dist/migrations.d.ts +0 -23
  86. package/node_modules/@sudocode-ai/cli/dist/migrations.d.ts.map +0 -1
  87. package/node_modules/@sudocode-ai/cli/dist/migrations.js +0 -57
  88. package/node_modules/@sudocode-ai/cli/dist/migrations.js.map +0 -1
  89. package/node_modules/@sudocode-ai/cli/dist/operations/events.d.ts +0 -53
  90. package/node_modules/@sudocode-ai/cli/dist/operations/events.d.ts.map +0 -1
  91. package/node_modules/@sudocode-ai/cli/dist/operations/events.js +0 -108
  92. package/node_modules/@sudocode-ai/cli/dist/operations/events.js.map +0 -1
  93. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.d.ts +0 -92
  94. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.d.ts.map +0 -1
  95. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.js +0 -444
  96. package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.js.map +0 -1
  97. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.d.ts +0 -76
  98. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.d.ts.map +0 -1
  99. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.js +0 -234
  100. package/node_modules/@sudocode-ai/cli/dist/operations/feedback.js.map +0 -1
  101. package/node_modules/@sudocode-ai/cli/dist/operations/index.d.ts +0 -10
  102. package/node_modules/@sudocode-ai/cli/dist/operations/index.d.ts.map +0 -1
  103. package/node_modules/@sudocode-ai/cli/dist/operations/index.js +0 -10
  104. package/node_modules/@sudocode-ai/cli/dist/operations/index.js.map +0 -1
  105. package/node_modules/@sudocode-ai/cli/dist/operations/issues.d.ts +0 -82
  106. package/node_modules/@sudocode-ai/cli/dist/operations/issues.d.ts.map +0 -1
  107. package/node_modules/@sudocode-ai/cli/dist/operations/issues.js +0 -411
  108. package/node_modules/@sudocode-ai/cli/dist/operations/issues.js.map +0 -1
  109. package/node_modules/@sudocode-ai/cli/dist/operations/references.d.ts +0 -34
  110. package/node_modules/@sudocode-ai/cli/dist/operations/references.d.ts.map +0 -1
  111. package/node_modules/@sudocode-ai/cli/dist/operations/references.js +0 -117
  112. package/node_modules/@sudocode-ai/cli/dist/operations/references.js.map +0 -1
  113. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.d.ts +0 -57
  114. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.d.ts.map +0 -1
  115. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.js +0 -236
  116. package/node_modules/@sudocode-ai/cli/dist/operations/relationships.js.map +0 -1
  117. package/node_modules/@sudocode-ai/cli/dist/operations/specs.d.ts +0 -64
  118. package/node_modules/@sudocode-ai/cli/dist/operations/specs.d.ts.map +0 -1
  119. package/node_modules/@sudocode-ai/cli/dist/operations/specs.js +0 -290
  120. package/node_modules/@sudocode-ai/cli/dist/operations/specs.js.map +0 -1
  121. package/node_modules/@sudocode-ai/cli/dist/operations/tags.d.ts +0 -42
  122. package/node_modules/@sudocode-ai/cli/dist/operations/tags.d.ts.map +0 -1
  123. package/node_modules/@sudocode-ai/cli/dist/operations/tags.js +0 -127
  124. package/node_modules/@sudocode-ai/cli/dist/operations/tags.js.map +0 -1
  125. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.d.ts +0 -41
  126. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.d.ts.map +0 -1
  127. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.js +0 -111
  128. package/node_modules/@sudocode-ai/cli/dist/operations/transactions.js.map +0 -1
  129. package/node_modules/@sudocode-ai/cli/dist/sync.d.ts +0 -47
  130. package/node_modules/@sudocode-ai/cli/dist/sync.d.ts.map +0 -1
  131. package/node_modules/@sudocode-ai/cli/dist/sync.js +0 -442
  132. package/node_modules/@sudocode-ai/cli/dist/sync.js.map +0 -1
  133. package/node_modules/@sudocode-ai/cli/dist/test-schema.d.ts +0 -5
  134. package/node_modules/@sudocode-ai/cli/dist/test-schema.d.ts.map +0 -1
  135. package/node_modules/@sudocode-ai/cli/dist/test-schema.js +0 -46
  136. package/node_modules/@sudocode-ai/cli/dist/test-schema.js.map +0 -1
  137. package/node_modules/@sudocode-ai/cli/dist/types.d.ts +0 -7
  138. package/node_modules/@sudocode-ai/cli/dist/types.d.ts.map +0 -1
  139. package/node_modules/@sudocode-ai/cli/dist/types.js +0 -7
  140. package/node_modules/@sudocode-ai/cli/dist/types.js.map +0 -1
  141. package/node_modules/@sudocode-ai/cli/dist/update-checker.d.ts +0 -24
  142. package/node_modules/@sudocode-ai/cli/dist/update-checker.d.ts.map +0 -1
  143. package/node_modules/@sudocode-ai/cli/dist/update-checker.js +0 -151
  144. package/node_modules/@sudocode-ai/cli/dist/update-checker.js.map +0 -1
  145. package/node_modules/@sudocode-ai/cli/dist/version.d.ts +0 -12
  146. package/node_modules/@sudocode-ai/cli/dist/version.d.ts.map +0 -1
  147. package/node_modules/@sudocode-ai/cli/dist/version.js +0 -23
  148. package/node_modules/@sudocode-ai/cli/dist/version.js.map +0 -1
  149. package/node_modules/@sudocode-ai/cli/dist/watcher.d.ts +0 -63
  150. package/node_modules/@sudocode-ai/cli/dist/watcher.d.ts.map +0 -1
  151. package/node_modules/@sudocode-ai/cli/dist/watcher.js +0 -438
  152. package/node_modules/@sudocode-ai/cli/dist/watcher.js.map +0 -1
  153. package/node_modules/@sudocode-ai/cli/package.json +0 -65
  154. package/node_modules/@sudocode-ai/local-server/README.md +0 -19
  155. package/node_modules/@sudocode-ai/local-server/dist/cli.d.ts +0 -7
  156. package/node_modules/@sudocode-ai/local-server/dist/cli.d.ts.map +0 -1
  157. package/node_modules/@sudocode-ai/local-server/dist/cli.js +0 -7
  158. package/node_modules/@sudocode-ai/local-server/dist/cli.js.map +0 -1
  159. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/engine.d.ts +0 -103
  160. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/engine.d.ts.map +0 -1
  161. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/engine.js +0 -10
  162. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/engine.js.map +0 -1
  163. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/simple-engine.d.ts +0 -190
  164. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/simple-engine.d.ts.map +0 -1
  165. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/simple-engine.js +0 -611
  166. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/simple-engine.js.map +0 -1
  167. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/types.d.ts +0 -116
  168. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/types.d.ts.map +0 -1
  169. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/types.js +0 -10
  170. package/node_modules/@sudocode-ai/local-server/dist/execution/engine/types.js.map +0 -1
  171. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.d.ts +0 -176
  172. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.d.ts.map +0 -1
  173. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.js +0 -438
  174. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.js.map +0 -1
  175. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-integration.d.ts +0 -96
  176. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-integration.d.ts.map +0 -1
  177. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-integration.js +0 -96
  178. package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-integration.js.map +0 -1
  179. package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-code-output-processor.d.ts +0 -321
  180. package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-code-output-processor.d.ts.map +0 -1
  181. package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-code-output-processor.js +0 -769
  182. package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-code-output-processor.js.map +0 -1
  183. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.d.ts +0 -18
  184. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.d.ts.map +0 -1
  185. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.js +0 -15
  186. package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.js.map +0 -1
  187. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.d.ts +0 -421
  188. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.d.ts.map +0 -1
  189. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.js +0 -22
  190. package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.js.map +0 -1
  191. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.d.ts +0 -86
  192. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.d.ts.map +0 -1
  193. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.js +0 -59
  194. package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.js.map +0 -1
  195. package/node_modules/@sudocode-ai/local-server/dist/execution/process/index.d.ts +0 -15
  196. package/node_modules/@sudocode-ai/local-server/dist/execution/process/index.d.ts.map +0 -1
  197. package/node_modules/@sudocode-ai/local-server/dist/execution/process/index.js +0 -15
  198. package/node_modules/@sudocode-ai/local-server/dist/execution/process/index.js.map +0 -1
  199. package/node_modules/@sudocode-ai/local-server/dist/execution/process/manager.d.ts +0 -133
  200. package/node_modules/@sudocode-ai/local-server/dist/execution/process/manager.d.ts.map +0 -1
  201. package/node_modules/@sudocode-ai/local-server/dist/execution/process/manager.js +0 -10
  202. package/node_modules/@sudocode-ai/local-server/dist/execution/process/manager.js.map +0 -1
  203. package/node_modules/@sudocode-ai/local-server/dist/execution/process/simple-manager.d.ts +0 -102
  204. package/node_modules/@sudocode-ai/local-server/dist/execution/process/simple-manager.d.ts.map +0 -1
  205. package/node_modules/@sudocode-ai/local-server/dist/execution/process/simple-manager.js +0 -336
  206. package/node_modules/@sudocode-ai/local-server/dist/execution/process/simple-manager.js.map +0 -1
  207. package/node_modules/@sudocode-ai/local-server/dist/execution/process/types.d.ts +0 -105
  208. package/node_modules/@sudocode-ai/local-server/dist/execution/process/types.d.ts.map +0 -1
  209. package/node_modules/@sudocode-ai/local-server/dist/execution/process/types.js +0 -10
  210. package/node_modules/@sudocode-ai/local-server/dist/execution/process/types.js.map +0 -1
  211. package/node_modules/@sudocode-ai/local-server/dist/execution/process/utils.d.ts +0 -53
  212. package/node_modules/@sudocode-ai/local-server/dist/execution/process/utils.d.ts.map +0 -1
  213. package/node_modules/@sudocode-ai/local-server/dist/execution/process/utils.js +0 -97
  214. package/node_modules/@sudocode-ai/local-server/dist/execution/process/utils.js.map +0 -1
  215. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/circuit-breaker.d.ts +0 -170
  216. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/circuit-breaker.d.ts.map +0 -1
  217. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/circuit-breaker.js +0 -291
  218. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/circuit-breaker.js.map +0 -1
  219. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/executor.d.ts +0 -109
  220. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/executor.d.ts.map +0 -1
  221. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/executor.js +0 -10
  222. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/executor.js.map +0 -1
  223. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/index.d.ts +0 -14
  224. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/index.d.ts.map +0 -1
  225. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/index.js +0 -15
  226. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/index.js.map +0 -1
  227. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/resilient-executor.d.ts +0 -86
  228. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/resilient-executor.d.ts.map +0 -1
  229. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/resilient-executor.js +0 -261
  230. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/resilient-executor.js.map +0 -1
  231. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/retry.d.ts +0 -161
  232. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/retry.d.ts.map +0 -1
  233. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/retry.js +0 -234
  234. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/retry.js.map +0 -1
  235. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/types.d.ts +0 -226
  236. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/types.d.ts.map +0 -1
  237. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/types.js +0 -30
  238. package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/types.js.map +0 -1
  239. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.d.ts +0 -119
  240. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.d.ts.map +0 -1
  241. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.js +0 -208
  242. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.js.map +0 -1
  243. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.d.ts +0 -10
  244. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.d.ts.map +0 -1
  245. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.js +0 -10
  246. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.js.map +0 -1
  247. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.d.ts +0 -146
  248. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.d.ts.map +0 -1
  249. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.js +0 -282
  250. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.js.map +0 -1
  251. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.d.ts +0 -176
  252. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.d.ts.map +0 -1
  253. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.js +0 -231
  254. package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.js.map +0 -1
  255. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/index.d.ts +0 -13
  256. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/index.d.ts.map +0 -1
  257. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/index.js +0 -13
  258. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/index.js.map +0 -1
  259. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/linear-orchestrator.d.ts +0 -216
  260. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/linear-orchestrator.d.ts.map +0 -1
  261. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/linear-orchestrator.js +0 -683
  262. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/linear-orchestrator.js.map +0 -1
  263. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/memory-storage.d.ts +0 -54
  264. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/memory-storage.d.ts.map +0 -1
  265. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/memory-storage.js +0 -68
  266. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/memory-storage.js.map +0 -1
  267. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/orchestrator.d.ts +0 -158
  268. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/orchestrator.d.ts.map +0 -1
  269. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/orchestrator.js +0 -9
  270. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/orchestrator.js.map +0 -1
  271. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/types.d.ts +0 -172
  272. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/types.d.ts.map +0 -1
  273. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/types.js +0 -9
  274. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/types.js.map +0 -1
  275. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/utils.d.ts +0 -89
  276. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/utils.d.ts.map +0 -1
  277. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/utils.js +0 -152
  278. package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/utils.js.map +0 -1
  279. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.d.ts +0 -74
  280. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.d.ts.map +0 -1
  281. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.js +0 -280
  282. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.js.map +0 -1
  283. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.d.ts +0 -151
  284. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.d.ts.map +0 -1
  285. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.js +0 -189
  286. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.js.map +0 -1
  287. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.d.ts +0 -16
  288. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.d.ts.map +0 -1
  289. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.js +0 -15
  290. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.js.map +0 -1
  291. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.d.ts +0 -184
  292. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.d.ts.map +0 -1
  293. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.js +0 -452
  294. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.js.map +0 -1
  295. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.d.ts +0 -90
  296. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.d.ts.map +0 -1
  297. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.js +0 -42
  298. package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.js.map +0 -1
  299. package/node_modules/@sudocode-ai/local-server/dist/index.d.ts +0 -8
  300. package/node_modules/@sudocode-ai/local-server/dist/index.d.ts.map +0 -1
  301. package/node_modules/@sudocode-ai/local-server/dist/index.js +0 -356
  302. package/node_modules/@sudocode-ai/local-server/dist/index.js.map +0 -1
  303. package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-C4SmlXoo.js +0 -568
  304. package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-C4SmlXoo.js.map +0 -1
  305. package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-DE59j7ti.css +0 -1
  306. package/node_modules/@sudocode-ai/local-server/dist/public/assets/react-vendor-LX0UoTxg.js +0 -60
  307. package/node_modules/@sudocode-ai/local-server/dist/public/assets/react-vendor-LX0UoTxg.js.map +0 -1
  308. package/node_modules/@sudocode-ai/local-server/dist/public/assets/ui-vendor-_cxVHaqZ.js +0 -54
  309. package/node_modules/@sudocode-ai/local-server/dist/public/assets/ui-vendor-_cxVHaqZ.js.map +0 -1
  310. package/node_modules/@sudocode-ai/local-server/dist/public/favicon.ico +0 -0
  311. package/node_modules/@sudocode-ai/local-server/dist/public/index.html +0 -16
  312. package/node_modules/@sudocode-ai/local-server/dist/public/logo.png +0 -0
  313. package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.d.ts +0 -24
  314. package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.d.ts.map +0 -1
  315. package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.js +0 -55
  316. package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.js.map +0 -1
  317. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.d.ts +0 -19
  318. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.d.ts.map +0 -1
  319. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.js +0 -267
  320. package/node_modules/@sudocode-ai/local-server/dist/routes/executions.js.map +0 -1
  321. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.d.ts +0 -7
  322. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.d.ts.map +0 -1
  323. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.js +0 -329
  324. package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.js.map +0 -1
  325. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.d.ts +0 -7
  326. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.d.ts.map +0 -1
  327. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.js +0 -280
  328. package/node_modules/@sudocode-ai/local-server/dist/routes/issues.js.map +0 -1
  329. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.d.ts +0 -7
  330. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.d.ts.map +0 -1
  331. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.js +0 -308
  332. package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.js.map +0 -1
  333. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.d.ts +0 -7
  334. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.d.ts.map +0 -1
  335. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.js +0 -270
  336. package/node_modules/@sudocode-ai/local-server/dist/routes/specs.js.map +0 -1
  337. package/node_modules/@sudocode-ai/local-server/dist/services/db.d.ts +0 -33
  338. package/node_modules/@sudocode-ai/local-server/dist/services/db.d.ts.map +0 -1
  339. package/node_modules/@sudocode-ai/local-server/dist/services/db.js +0 -85
  340. package/node_modules/@sudocode-ai/local-server/dist/services/db.js.map +0 -1
  341. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.d.ts +0 -108
  342. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.d.ts.map +0 -1
  343. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.js +0 -286
  344. package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.js.map +0 -1
  345. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.d.ts +0 -185
  346. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.d.ts.map +0 -1
  347. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.js +0 -676
  348. package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.js.map +0 -1
  349. package/node_modules/@sudocode-ai/local-server/dist/services/executions.d.ts +0 -59
  350. package/node_modules/@sudocode-ai/local-server/dist/services/executions.d.ts.map +0 -1
  351. package/node_modules/@sudocode-ai/local-server/dist/services/executions.js +0 -164
  352. package/node_modules/@sudocode-ai/local-server/dist/services/executions.js.map +0 -1
  353. package/node_modules/@sudocode-ai/local-server/dist/services/export.d.ts +0 -24
  354. package/node_modules/@sudocode-ai/local-server/dist/services/export.d.ts.map +0 -1
  355. package/node_modules/@sudocode-ai/local-server/dist/services/export.js +0 -106
  356. package/node_modules/@sudocode-ai/local-server/dist/services/export.js.map +0 -1
  357. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.d.ts +0 -40
  358. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.d.ts.map +0 -1
  359. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.js +0 -54
  360. package/node_modules/@sudocode-ai/local-server/dist/services/feedback.js.map +0 -1
  361. package/node_modules/@sudocode-ai/local-server/dist/services/issues.d.ts +0 -27
  362. package/node_modules/@sudocode-ai/local-server/dist/services/issues.d.ts.map +0 -1
  363. package/node_modules/@sudocode-ai/local-server/dist/services/issues.js +0 -35
  364. package/node_modules/@sudocode-ai/local-server/dist/services/issues.js.map +0 -1
  365. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.d.ts +0 -108
  366. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.d.ts.map +0 -1
  367. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.js +0 -212
  368. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.js.map +0 -1
  369. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.d.ts +0 -97
  370. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.d.ts.map +0 -1
  371. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.js +0 -236
  372. package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.js.map +0 -1
  373. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.d.ts +0 -35
  374. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.d.ts.map +0 -1
  375. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.js +0 -42
  376. package/node_modules/@sudocode-ai/local-server/dist/services/relationships.js.map +0 -1
  377. package/node_modules/@sudocode-ai/local-server/dist/services/specs.d.ts +0 -27
  378. package/node_modules/@sudocode-ai/local-server/dist/services/specs.d.ts.map +0 -1
  379. package/node_modules/@sudocode-ai/local-server/dist/services/specs.js +0 -35
  380. package/node_modules/@sudocode-ai/local-server/dist/services/specs.js.map +0 -1
  381. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.d.ts +0 -50
  382. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.d.ts.map +0 -1
  383. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.js +0 -69
  384. package/node_modules/@sudocode-ai/local-server/dist/services/watcher.js.map +0 -1
  385. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.d.ts +0 -127
  386. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.d.ts.map +0 -1
  387. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.js +0 -389
  388. package/node_modules/@sudocode-ai/local-server/dist/services/websocket.js.map +0 -1
  389. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.d.ts +0 -6
  390. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.d.ts.map +0 -1
  391. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.js +0 -9
  392. package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.js.map +0 -1
  393. package/node_modules/@sudocode-ai/local-server/package.json +0 -72
  394. package/node_modules/@sudocode-ai/mcp/LICENSE +0 -21
  395. package/node_modules/@sudocode-ai/mcp/README.md +0 -226
  396. package/node_modules/@sudocode-ai/mcp/dist/client.d.ts +0 -33
  397. package/node_modules/@sudocode-ai/mcp/dist/client.d.ts.map +0 -1
  398. package/node_modules/@sudocode-ai/mcp/dist/client.js +0 -159
  399. package/node_modules/@sudocode-ai/mcp/dist/client.js.map +0 -1
  400. package/node_modules/@sudocode-ai/mcp/dist/index.d.ts +0 -6
  401. package/node_modules/@sudocode-ai/mcp/dist/index.d.ts.map +0 -1
  402. package/node_modules/@sudocode-ai/mcp/dist/index.js +0 -64
  403. package/node_modules/@sudocode-ai/mcp/dist/index.js.map +0 -1
  404. package/node_modules/@sudocode-ai/mcp/dist/server.d.ts +0 -26
  405. package/node_modules/@sudocode-ai/mcp/dist/server.d.ts.map +0 -1
  406. package/node_modules/@sudocode-ai/mcp/dist/server.js +0 -575
  407. package/node_modules/@sudocode-ai/mcp/dist/server.js.map +0 -1
  408. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.d.ts +0 -41
  409. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.d.ts.map +0 -1
  410. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.js +0 -21
  411. package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.js.map +0 -1
  412. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.d.ts +0 -19
  413. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.d.ts.map +0 -1
  414. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.js +0 -24
  415. package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.js.map +0 -1
  416. package/node_modules/@sudocode-ai/mcp/dist/tools/init.d.ts +0 -17
  417. package/node_modules/@sudocode-ai/mcp/dist/tools/init.d.ts.map +0 -1
  418. package/node_modules/@sudocode-ai/mcp/dist/tools/init.js +0 -15
  419. package/node_modules/@sudocode-ai/mcp/dist/tools/init.js.map +0 -1
  420. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.d.ts +0 -44
  421. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.d.ts.map +0 -1
  422. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.js +0 -106
  423. package/node_modules/@sudocode-ai/mcp/dist/tools/issues.js.map +0 -1
  424. package/node_modules/@sudocode-ai/mcp/dist/tools/references.d.ts +0 -21
  425. package/node_modules/@sudocode-ai/mcp/dist/tools/references.d.ts.map +0 -1
  426. package/node_modules/@sudocode-ai/mcp/dist/tools/references.js +0 -49
  427. package/node_modules/@sudocode-ai/mcp/dist/tools/references.js.map +0 -1
  428. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.d.ts +0 -15
  429. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.d.ts.map +0 -1
  430. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.js +0 -18
  431. package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.js.map +0 -1
  432. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.d.ts +0 -35
  433. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.d.ts.map +0 -1
  434. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.js +0 -85
  435. package/node_modules/@sudocode-ai/mcp/dist/tools/specs.js.map +0 -1
  436. package/node_modules/@sudocode-ai/mcp/dist/types.d.ts +0 -35
  437. package/node_modules/@sudocode-ai/mcp/dist/types.d.ts.map +0 -1
  438. package/node_modules/@sudocode-ai/mcp/dist/types.js +0 -21
  439. package/node_modules/@sudocode-ai/mcp/dist/types.js.map +0 -1
  440. package/node_modules/@sudocode-ai/mcp/package.json +0 -67
  441. package/node_modules/@sudocode-ai/types/README.md +0 -7
  442. package/node_modules/@sudocode-ai/types/dist/schema.d.ts +0 -45
  443. package/node_modules/@sudocode-ai/types/dist/schema.d.ts.map +0 -1
  444. package/node_modules/@sudocode-ai/types/dist/schema.js +0 -338
  445. package/node_modules/@sudocode-ai/types/dist/schema.js.map +0 -1
  446. package/node_modules/@sudocode-ai/types/package.json +0 -46
@@ -1,769 +0,0 @@
1
- /**
2
- * Claude Code Output Processor
3
- *
4
- * Implements the IOutputProcessor interface specifically for parsing
5
- * Claude Code's stream-json output format in real-time.
6
- *
7
- * This processor is tailored to Claude Code's CLI output and handles its
8
- * specific message structure, tool calling patterns, and metadata format.
9
- *
10
- * @module execution/output/claude-code-output-processor
11
- */
12
- /**
13
- * ClaudeCodeOutputProcessor - Parses Claude Code's stream-json output
14
- *
15
- * This processor is specifically designed for Claude Code's output format.
16
- * It handles line-by-line parsing of Claude's stream-json messages,
17
- * extracting tool calls, file changes, and usage metrics in real-time.
18
- *
19
- * **Claude Code Specific Features:**
20
- * - Parses Claude's message.content array structure
21
- * - Handles tool_use and tool_result content types
22
- * - Extracts usage metrics from result messages
23
- * - Processes Claude-specific error formats
24
- *
25
- * @example
26
- * ```typescript
27
- * const processor = new ClaudeCodeOutputProcessor();
28
- *
29
- * processor.onToolCall((toolCall) => {
30
- * console.log(`Claude called tool: ${toolCall.name}`, toolCall.input);
31
- * });
32
- *
33
- * // Process Claude Code's stream-json output
34
- * await processor.processLine('{"type":"assistant","message":{"content":[...]}}');
35
- * const metrics = processor.getMetrics();
36
- * ```
37
- */
38
- export class ClaudeCodeOutputProcessor {
39
- // Internal state
40
- _metrics;
41
- _toolCalls;
42
- _fileChanges;
43
- // Event handlers
44
- _toolCallHandlers = [];
45
- _fileChangeHandlers = [];
46
- _progressHandlers = [];
47
- _errorHandlers = [];
48
- _messageHandlers = [];
49
- _usageHandlers = [];
50
- // Processing state
51
- _lineNumber = 0;
52
- constructor() {
53
- // Initialize metrics with empty state
54
- this._metrics = {
55
- totalMessages: 0,
56
- toolCalls: [],
57
- fileChanges: [],
58
- usage: {
59
- inputTokens: 0,
60
- outputTokens: 0,
61
- cacheTokens: 0,
62
- totalTokens: 0,
63
- cost: 0,
64
- provider: "anthropic",
65
- model: "claude", // Will be updated when we parse actual model info
66
- },
67
- errors: [],
68
- startedAt: new Date(),
69
- lastUpdate: new Date(),
70
- };
71
- this._toolCalls = new Map();
72
- this._fileChanges = [];
73
- }
74
- /**
75
- * Process a single line of Claude Code's stream-json output
76
- *
77
- * Parses the JSON line and routes to appropriate handler based on message type.
78
- * Handles malformed JSON gracefully and skips empty lines.
79
- *
80
- * @param line - Raw JSON line from Claude Code CLI output
81
- */
82
- async processLine(line) {
83
- this._lineNumber++;
84
- // Skip empty lines
85
- const trimmed = line.trim();
86
- if (!trimmed) {
87
- return;
88
- }
89
- try {
90
- // Parse JSON
91
- const data = JSON.parse(trimmed);
92
- // Detect message type (Claude-specific structure)
93
- const messageType = this._detectMessageType(data);
94
- // Create OutputMessage
95
- const message = this._parseMessage(data, messageType);
96
- // Update metrics
97
- this._metrics.totalMessages++;
98
- this._metrics.lastUpdate = new Date();
99
- // Route to message-specific handlers
100
- switch (message.type) {
101
- case "tool_use":
102
- this._handleToolUse(message);
103
- break;
104
- case "tool_result":
105
- this._handleToolResult(message);
106
- break;
107
- case "text":
108
- this._handleText(message);
109
- break;
110
- case "usage":
111
- this._handleUsage(message);
112
- break;
113
- case "error":
114
- this._handleError(message);
115
- break;
116
- case "unknown":
117
- // Already tracked in metrics, no special handling needed
118
- break;
119
- }
120
- // Emit progress event
121
- this._emitProgress();
122
- }
123
- catch (error) {
124
- // Handle malformed JSON
125
- const errorMessage = error instanceof Error ? error.message : String(error);
126
- const errorInfo = {
127
- message: `Failed to parse Claude Code output line ${this._lineNumber}: ${errorMessage}`,
128
- timestamp: new Date(),
129
- details: {
130
- line: trimmed,
131
- error: errorMessage,
132
- lineNumber: this._lineNumber,
133
- },
134
- };
135
- this._metrics.errors.push(errorInfo);
136
- this._emitError(errorInfo);
137
- }
138
- }
139
- /**
140
- * Get current processing metrics
141
- *
142
- * @returns Current aggregate metrics
143
- */
144
- getMetrics() {
145
- return {
146
- ...this._metrics,
147
- // Return current arrays (not references to internal state)
148
- toolCalls: [...this._metrics.toolCalls],
149
- fileChanges: [...this._metrics.fileChanges],
150
- errors: [...this._metrics.errors],
151
- };
152
- }
153
- /**
154
- * Get all tool calls recorded during processing
155
- *
156
- * @returns Array of all tool calls
157
- */
158
- getToolCalls() {
159
- return Array.from(this._toolCalls.values());
160
- }
161
- /**
162
- * Get all file changes detected during processing
163
- *
164
- * @returns Array of all file changes
165
- */
166
- getFileChanges() {
167
- return [...this._fileChanges];
168
- }
169
- /**
170
- * Register a callback for tool call events
171
- *
172
- * @param handler - Function to call when a tool is invoked
173
- */
174
- onToolCall(handler) {
175
- this._toolCallHandlers.push(handler);
176
- }
177
- /**
178
- * Register a callback for file change events
179
- *
180
- * @param handler - Function to call when a file is modified
181
- */
182
- onFileChange(handler) {
183
- this._fileChangeHandlers.push(handler);
184
- }
185
- /**
186
- * Register a callback for progress update events
187
- *
188
- * @param handler - Function to call when metrics are updated
189
- */
190
- onProgress(handler) {
191
- this._progressHandlers.push(handler);
192
- }
193
- /**
194
- * Register a callback for error events
195
- *
196
- * @param handler - Function to call when an error occurs
197
- */
198
- onError(handler) {
199
- this._errorHandlers.push(handler);
200
- }
201
- /**
202
- * Register a callback for message events
203
- *
204
- * @param handler - Function to call when a text message is received
205
- */
206
- onMessage(handler) {
207
- this._messageHandlers.push(handler);
208
- }
209
- /**
210
- * Register a callback for usage metric updates
211
- *
212
- * @param handler - Function to call when usage metrics are updated
213
- */
214
- onUsage(handler) {
215
- this._usageHandlers.push(handler);
216
- }
217
- // ============================================================================
218
- // Query Methods - Data Aggregation and Filtering
219
- // ============================================================================
220
- /**
221
- * Get tool calls filtered by tool name
222
- *
223
- * @param toolName - Name of the tool to filter by (e.g., 'Bash', 'Read', 'Write')
224
- * @returns Array of tool calls matching the tool name
225
- *
226
- * @example
227
- * ```typescript
228
- * const bashCalls = processor.getToolCallsByName('Bash');
229
- * console.log(`Executed ${bashCalls.length} bash commands`);
230
- * ```
231
- */
232
- getToolCallsByName(toolName) {
233
- return this.getToolCalls().filter((call) => call.name === toolName);
234
- }
235
- /**
236
- * Get file changes filtered by file path
237
- *
238
- * @param path - File path to filter by (exact match)
239
- * @returns Array of file changes to the specified path
240
- *
241
- * @example
242
- * ```typescript
243
- * const changes = processor.getFileChangesByPath('src/index.ts');
244
- * console.log(`File modified ${changes.length} times`);
245
- * ```
246
- */
247
- getFileChangesByPath(path) {
248
- return this.getFileChanges().filter((change) => change.path === path);
249
- }
250
- /**
251
- * Get file changes filtered by operation type
252
- *
253
- * @param operation - Operation type to filter by ('read', 'write', 'edit')
254
- * @returns Array of file changes with the specified operation
255
- *
256
- * @example
257
- * ```typescript
258
- * const writes = processor.getFileChangesByOperation('write');
259
- * console.log(`Wrote to ${writes.length} files`);
260
- * ```
261
- */
262
- getFileChangesByOperation(operation) {
263
- return this.getFileChanges().filter((change) => change.operation === operation);
264
- }
265
- /**
266
- * Get only failed tool calls
267
- *
268
- * @returns Array of tool calls with status='error'
269
- *
270
- * @example
271
- * ```typescript
272
- * const failures = processor.getFailedToolCalls();
273
- * failures.forEach(call => {
274
- * console.error(`${call.name} failed:`, call.error);
275
- * });
276
- * ```
277
- */
278
- getFailedToolCalls() {
279
- return this.getToolCalls().filter((call) => call.status === "error");
280
- }
281
- /**
282
- * Get only successful tool calls
283
- *
284
- * @returns Array of tool calls with status='success'
285
- *
286
- * @example
287
- * ```typescript
288
- * const successes = processor.getSuccessfulToolCalls();
289
- * console.log(`${successes.length} tool calls succeeded`);
290
- * ```
291
- */
292
- getSuccessfulToolCalls() {
293
- return this.getToolCalls().filter((call) => call.status === "success");
294
- }
295
- /**
296
- * Get total cost of execution in USD
297
- *
298
- * @returns Total cost based on token usage
299
- *
300
- * @example
301
- * ```typescript
302
- * const cost = processor.getTotalCost();
303
- * console.log(`Execution cost: $${cost.toFixed(2)}`);
304
- * ```
305
- */
306
- getTotalCost() {
307
- return this._metrics.usage.cost || 0;
308
- }
309
- /**
310
- * Get execution summary with aggregate statistics
311
- *
312
- * Provides a high-level overview of the execution including:
313
- * - Tool call counts by type
314
- * - File operation counts by type
315
- * - Success rates
316
- * - Token usage and costs
317
- * - Duration
318
- *
319
- * @returns Complete execution summary
320
- *
321
- * @example
322
- * ```typescript
323
- * const summary = processor.getExecutionSummary();
324
- * console.log('Execution Summary:', {
325
- * duration: `${summary.duration}ms`,
326
- * cost: `$${summary.totalCost.toFixed(2)}`,
327
- * successRate: `${summary.successRate.toFixed(1)}%`,
328
- * toolCalls: summary.toolCallsByType,
329
- * });
330
- * ```
331
- */
332
- getExecutionSummary() {
333
- const toolCalls = this.getToolCalls();
334
- const fileChanges = this.getFileChanges();
335
- // Calculate tool calls by type
336
- const toolCallsByType = {};
337
- for (const call of toolCalls) {
338
- toolCallsByType[call.name] = (toolCallsByType[call.name] || 0) + 1;
339
- }
340
- // Calculate file operations by type
341
- const fileOperationsByType = {};
342
- for (const change of fileChanges) {
343
- fileOperationsByType[change.operation] =
344
- (fileOperationsByType[change.operation] || 0) + 1;
345
- }
346
- // Calculate success rate
347
- const completedCalls = toolCalls.filter((call) => call.status === "success" || call.status === "error");
348
- const successfulCalls = toolCalls.filter((call) => call.status === "success");
349
- const successRate = completedCalls.length > 0
350
- ? (successfulCalls.length / completedCalls.length) * 100
351
- : 0;
352
- // Calculate duration
353
- const endTime = this._metrics.endedAt || new Date();
354
- const duration = endTime.getTime() - this._metrics.startedAt.getTime();
355
- return {
356
- totalMessages: this._metrics.totalMessages,
357
- toolCallsByType,
358
- fileOperationsByType,
359
- successRate,
360
- totalTokens: {
361
- input: this._metrics.usage.inputTokens,
362
- output: this._metrics.usage.outputTokens,
363
- cache: this._metrics.usage.cacheTokens,
364
- },
365
- totalCost: this._metrics.usage.cost || 0,
366
- duration,
367
- startTime: this._metrics.startedAt,
368
- endTime: this._metrics.endedAt,
369
- };
370
- }
371
- // ============================================================================
372
- // Private methods - Message Type Handlers
373
- // ============================================================================
374
- /**
375
- * Handle tool_use message from Claude Code
376
- *
377
- * Creates a new ToolCall entry with pending status and emits onToolCall event.
378
- * Also detects potential file operations based on tool name.
379
- *
380
- * @param message - Parsed tool_use message
381
- */
382
- _handleToolUse(message) {
383
- if (message.type !== "tool_use")
384
- return;
385
- const toolCall = {
386
- id: message.id,
387
- name: message.name,
388
- input: message.input,
389
- status: "pending",
390
- timestamp: message.timestamp,
391
- };
392
- // Store in map for fast lookup
393
- this._toolCalls.set(toolCall.id, toolCall);
394
- // Update metrics
395
- this._metrics.toolCalls.push(toolCall);
396
- // Emit tool call event
397
- for (const handler of this._toolCallHandlers) {
398
- try {
399
- handler(toolCall);
400
- }
401
- catch (error) {
402
- console.error("Tool call handler error:", error);
403
- }
404
- }
405
- }
406
- /**
407
- * Handle tool_result message from Claude Code
408
- *
409
- * Updates the corresponding ToolCall with result/error status.
410
- * Detects file changes from Read/Write/Edit tools and emits onFileChange event.
411
- *
412
- * @param message - Parsed tool_result message
413
- */
414
- _handleToolResult(message) {
415
- if (message.type !== "tool_result")
416
- return;
417
- // Find the corresponding tool call
418
- const toolCall = this._toolCalls.get(message.toolUseId);
419
- if (!toolCall) {
420
- // Tool call not found - might be from before we started processing
421
- return;
422
- }
423
- // Update tool call status
424
- toolCall.status = message.isError ? "error" : "success";
425
- toolCall.result = message.result;
426
- toolCall.error = message.isError ? String(message.result) : undefined;
427
- toolCall.completedAt = message.timestamp;
428
- // Detect file changes from file operation tools
429
- const fileOperationTools = ["Read", "Write", "Edit", "Glob"];
430
- if (fileOperationTools.includes(toolCall.name)) {
431
- const fileChange = this._detectFileChange(toolCall, message);
432
- if (fileChange) {
433
- this._fileChanges.push(fileChange);
434
- this._metrics.fileChanges.push(fileChange);
435
- // Emit file change event
436
- for (const handler of this._fileChangeHandlers) {
437
- try {
438
- handler(fileChange);
439
- }
440
- catch (error) {
441
- console.error("File change handler error:", error);
442
- }
443
- }
444
- }
445
- }
446
- }
447
- /**
448
- * Handle text message from Claude Code
449
- *
450
- * Emits message events to registered handlers.
451
- *
452
- * @param message - Parsed text message
453
- */
454
- _handleText(message) {
455
- if (message.type !== "text")
456
- return;
457
- // Emit message event to all registered handlers
458
- for (const handler of this._messageHandlers) {
459
- try {
460
- handler(message);
461
- }
462
- catch (error) {
463
- console.error("Message handler error:", error);
464
- }
465
- }
466
- }
467
- /**
468
- * Handle usage message from Claude Code
469
- *
470
- * Updates usage metrics with token counts and calculates cost.
471
- * Emits usage events to registered handlers.
472
- *
473
- * @param message - Parsed usage message
474
- */
475
- _handleUsage(message) {
476
- if (message.type !== "usage")
477
- return;
478
- // Aggregate usage metrics
479
- this._metrics.usage.inputTokens += message.tokens.input;
480
- this._metrics.usage.outputTokens += message.tokens.output;
481
- this._metrics.usage.cacheTokens += message.tokens.cache;
482
- this._metrics.usage.totalTokens =
483
- this._metrics.usage.inputTokens + this._metrics.usage.outputTokens;
484
- // Calculate cost (Claude Sonnet 4 pricing as of 2025)
485
- // Input: $3/million tokens, Output: $15/million tokens, Cache: $0.30/million tokens
486
- const inputCost = (this._metrics.usage.inputTokens / 1_000_000) * 3.0;
487
- const outputCost = (this._metrics.usage.outputTokens / 1_000_000) * 15.0;
488
- const cacheCost = (this._metrics.usage.cacheTokens / 1_000_000) * 0.3;
489
- this._metrics.usage.cost = inputCost + outputCost + cacheCost;
490
- // Emit usage event to all registered handlers
491
- for (const handler of this._usageHandlers) {
492
- try {
493
- handler(this._metrics.usage);
494
- }
495
- catch (error) {
496
- console.error("Usage handler error:", error);
497
- }
498
- }
499
- }
500
- /**
501
- * Handle error message from Claude Code
502
- *
503
- * Tracks error in metrics and emits onError event.
504
- *
505
- * @param message - Parsed error message
506
- */
507
- _handleError(message) {
508
- if (message.type !== "error")
509
- return;
510
- const errorInfo = {
511
- message: message.message,
512
- timestamp: message.timestamp,
513
- details: message.details,
514
- };
515
- // Already added to metrics.errors in processLine's catch block if it's a parse error
516
- // Add this error if it's from Claude Code itself
517
- if (!this._metrics.errors.find((e) => e.timestamp === message.timestamp)) {
518
- this._metrics.errors.push(errorInfo);
519
- }
520
- // Emit error event
521
- this._emitError(errorInfo);
522
- }
523
- /**
524
- * Detect file change from a tool call
525
- *
526
- * Analyzes tool calls to file operation tools (Read/Write/Edit) and
527
- * extracts file change information.
528
- *
529
- * @param toolCall - The completed tool call
530
- * @param message - The tool result message
531
- * @returns FileChange object if file operation detected, null otherwise
532
- */
533
- _detectFileChange(toolCall, message) {
534
- // Extract file path from tool input
535
- const filePath = toolCall.input.file_path || toolCall.input.path;
536
- if (!filePath || typeof filePath !== "string") {
537
- return null;
538
- }
539
- // Map tool name to operation
540
- let operation;
541
- switch (toolCall.name) {
542
- case "Read":
543
- case "Glob": // Glob reads files too
544
- operation = "read";
545
- break;
546
- case "Write":
547
- operation = "write";
548
- break;
549
- case "Edit":
550
- operation = "edit";
551
- break;
552
- default:
553
- return null;
554
- }
555
- return {
556
- path: filePath,
557
- operation,
558
- timestamp: message.timestamp,
559
- toolCallId: toolCall.id,
560
- metadata: {
561
- toolName: toolCall.name,
562
- success: toolCall.status === "success",
563
- },
564
- };
565
- }
566
- // ============================================================================
567
- // Private methods - Claude Code Specific Parsing
568
- // ============================================================================
569
- /**
570
- * Detect the type of message from parsed Claude Code JSON data
571
- *
572
- * Claude Code uses a specific structure with type and message.content fields.
573
- * This method understands Claude's output format.
574
- *
575
- * @param data - Parsed JSON object from Claude Code
576
- * @returns Message type
577
- */
578
- _detectMessageType(data) {
579
- // Check for explicit type field
580
- if (data.type === "error") {
581
- return "error";
582
- }
583
- // Check for result message (contains usage information)
584
- if (data.type === "result" && data.usage) {
585
- return "usage";
586
- }
587
- // Check message content for tool_use or tool_result
588
- // Claude structures content as an array or single object
589
- if (data.message?.content) {
590
- const content = Array.isArray(data.message.content)
591
- ? data.message.content[0]
592
- : data.message.content;
593
- if (content?.type === "tool_use") {
594
- return "tool_use";
595
- }
596
- if (content?.type === "tool_result") {
597
- return "tool_result";
598
- }
599
- // Text content
600
- if (typeof content === "string" || content?.type === "text") {
601
- return "text";
602
- }
603
- }
604
- // Default to unknown
605
- return "unknown";
606
- }
607
- /**
608
- * Parse raw Claude Code JSON data into an OutputMessage
609
- *
610
- * @param data - Parsed JSON object from Claude Code
611
- * @param type - Detected message type
612
- * @returns Structured OutputMessage
613
- */
614
- _parseMessage(data, type) {
615
- const timestamp = new Date();
616
- switch (type) {
617
- case "text": {
618
- const content = this._extractTextContent(data);
619
- return {
620
- type: "text",
621
- content,
622
- timestamp,
623
- metadata: { raw: data, source: "claude-code" },
624
- };
625
- }
626
- case "tool_use": {
627
- const toolUse = this._extractToolUse(data);
628
- return {
629
- type: "tool_use",
630
- id: toolUse.id,
631
- name: toolUse.name,
632
- input: toolUse.input,
633
- timestamp,
634
- metadata: { raw: data, source: "claude-code" },
635
- };
636
- }
637
- case "tool_result": {
638
- const toolResult = this._extractToolResult(data);
639
- return {
640
- type: "tool_result",
641
- toolUseId: toolResult.toolUseId,
642
- result: toolResult.result,
643
- isError: toolResult.isError,
644
- timestamp,
645
- metadata: { raw: data, source: "claude-code" },
646
- };
647
- }
648
- case "usage": {
649
- const usage = this._extractUsage(data);
650
- return {
651
- type: "usage",
652
- tokens: usage,
653
- timestamp,
654
- metadata: { raw: data, source: "claude-code" },
655
- };
656
- }
657
- case "error": {
658
- return {
659
- type: "error",
660
- message: data.error?.message || data.message || "Unknown error",
661
- details: data.error || data,
662
- timestamp,
663
- metadata: { raw: data, source: "claude-code" },
664
- };
665
- }
666
- case "unknown":
667
- default: {
668
- return {
669
- type: "unknown",
670
- raw: JSON.stringify(data),
671
- timestamp,
672
- metadata: { raw: data, source: "claude-code" },
673
- };
674
- }
675
- }
676
- }
677
- /**
678
- * Extract text content from Claude Code message data
679
- *
680
- * Claude can return content as a string or an array of content blocks.
681
- * This method handles both formats.
682
- */
683
- _extractTextContent(data) {
684
- if (typeof data.message?.content === "string") {
685
- return data.message.content;
686
- }
687
- if (Array.isArray(data.message?.content)) {
688
- const textContent = data.message.content
689
- .filter((item) => item.type === "text" || typeof item === "string")
690
- .map((item) => (typeof item === "string" ? item : item.text))
691
- .join("");
692
- return textContent;
693
- }
694
- return "";
695
- }
696
- /**
697
- * Extract tool use information from Claude Code message data
698
- *
699
- * Claude includes tool_use blocks in the message.content array.
700
- */
701
- _extractToolUse(data) {
702
- const content = Array.isArray(data.message?.content)
703
- ? data.message.content.find((c) => c.type === "tool_use")
704
- : data.message?.content;
705
- return {
706
- id: content?.id || "unknown",
707
- name: content?.name || "unknown",
708
- input: content?.input || {},
709
- };
710
- }
711
- /**
712
- * Extract tool result information from Claude Code message data
713
- *
714
- * Claude includes tool_result blocks with execution results.
715
- */
716
- _extractToolResult(data) {
717
- const content = Array.isArray(data.message?.content)
718
- ? data.message.content.find((c) => c.type === "tool_result")
719
- : data.message?.content;
720
- return {
721
- toolUseId: content?.tool_use_id || "unknown",
722
- result: content?.content || content?.result || null,
723
- isError: content?.is_error || false,
724
- };
725
- }
726
- /**
727
- * Extract usage information from Claude Code result message
728
- *
729
- * Claude provides token usage in result messages with detailed breakdowns.
730
- */
731
- _extractUsage(data) {
732
- const usage = data.usage || {};
733
- return {
734
- input: usage.input_tokens || 0,
735
- output: usage.output_tokens || 0,
736
- cache: usage.cache_creation_input_tokens || usage.cache_read_input_tokens || 0,
737
- };
738
- }
739
- /**
740
- * Emit progress event to all registered handlers
741
- */
742
- _emitProgress() {
743
- const metrics = this.getMetrics();
744
- for (const handler of this._progressHandlers) {
745
- try {
746
- handler(metrics);
747
- }
748
- catch (error) {
749
- // Ignore handler errors to prevent cascade failures
750
- console.error("Progress handler error:", error);
751
- }
752
- }
753
- }
754
- /**
755
- * Emit error event to all registered handlers
756
- */
757
- _emitError(error) {
758
- for (const handler of this._errorHandlers) {
759
- try {
760
- handler(error);
761
- }
762
- catch (handlerError) {
763
- // Ignore handler errors to prevent cascade failures
764
- console.error("Error handler error:", handlerError);
765
- }
766
- }
767
- }
768
- }
769
- //# sourceMappingURL=claude-code-output-processor.js.map