byterover-cli 0.2.0 → 0.3.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 (498) hide show
  1. package/README.md +56 -56
  2. package/bin/dev.js +1 -1
  3. package/dist/commands/cipher-agent/run.d.ts +111 -0
  4. package/dist/commands/cipher-agent/run.js +493 -0
  5. package/dist/commands/cipher-agent/set-prompt.d.ts +14 -0
  6. package/dist/commands/cipher-agent/set-prompt.js +53 -0
  7. package/dist/commands/cipher-agent/show-prompt.d.ts +11 -0
  8. package/dist/commands/cipher-agent/show-prompt.js +48 -0
  9. package/dist/commands/clear.d.ts +6 -0
  10. package/dist/commands/clear.js +36 -15
  11. package/dist/commands/curate.d.ts +74 -0
  12. package/dist/commands/curate.js +396 -0
  13. package/dist/commands/foo.d.ts +12 -0
  14. package/dist/commands/foo.js +61 -0
  15. package/dist/commands/gen-rules.d.ts +3 -0
  16. package/dist/commands/gen-rules.js +39 -20
  17. package/dist/commands/init.d.ts +53 -2
  18. package/dist/commands/init.js +279 -66
  19. package/dist/commands/login.js +9 -4
  20. package/dist/commands/logout.d.ts +16 -0
  21. package/dist/commands/logout.js +61 -0
  22. package/dist/commands/pull.d.ts +33 -0
  23. package/dist/commands/pull.js +115 -0
  24. package/dist/commands/push.d.ts +13 -13
  25. package/dist/commands/push.js +81 -101
  26. package/dist/commands/query.d.ts +63 -0
  27. package/dist/commands/query.js +349 -0
  28. package/dist/commands/space/list.d.ts +5 -2
  29. package/dist/commands/space/list.js +60 -56
  30. package/dist/commands/space/switch.d.ts +16 -0
  31. package/dist/commands/space/switch.js +102 -53
  32. package/dist/commands/status.d.ts +5 -2
  33. package/dist/commands/status.js +43 -33
  34. package/dist/commands/watch.d.ts +23 -0
  35. package/dist/commands/watch.js +171 -0
  36. package/dist/config/auth.config.js +14 -2
  37. package/dist/config/context-tree-domains.d.ts +12 -0
  38. package/dist/config/context-tree-domains.js +29 -0
  39. package/dist/config/environment.d.ts +6 -0
  40. package/dist/config/environment.js +9 -2
  41. package/dist/constants.d.ts +5 -0
  42. package/dist/constants.js +6 -0
  43. package/dist/core/domain/cipher/agent/agent-state-machine.d.ts +128 -0
  44. package/dist/core/domain/cipher/agent/agent-state-machine.js +183 -0
  45. package/dist/core/domain/cipher/agent/agent-state.d.ts +77 -0
  46. package/dist/core/domain/cipher/agent/agent-state.js +59 -0
  47. package/dist/core/domain/cipher/agent/index.d.ts +7 -0
  48. package/dist/core/domain/cipher/agent/index.js +7 -0
  49. package/dist/core/domain/cipher/agent-events/index.d.ts +8 -0
  50. package/dist/core/domain/cipher/agent-events/index.js +7 -0
  51. package/dist/core/domain/cipher/agent-events/types.d.ts +419 -0
  52. package/dist/core/domain/cipher/agent-events/types.js +42 -0
  53. package/dist/core/domain/cipher/blob/types.d.ts +108 -0
  54. package/dist/core/domain/cipher/errors/blob-error.d.ts +36 -0
  55. package/dist/core/domain/cipher/errors/blob-error.js +68 -0
  56. package/dist/core/domain/cipher/errors/file-system-error.d.ts +211 -0
  57. package/dist/core/domain/cipher/errors/file-system-error.js +291 -0
  58. package/dist/core/domain/cipher/errors/llm-error.d.ts +120 -0
  59. package/dist/core/domain/cipher/errors/llm-error.js +161 -0
  60. package/dist/core/domain/cipher/errors/memory-error.d.ts +35 -0
  61. package/dist/core/domain/cipher/errors/memory-error.js +62 -0
  62. package/dist/core/domain/cipher/errors/process-error-code.d.ts +97 -0
  63. package/dist/core/domain/cipher/errors/process-error-code.js +98 -0
  64. package/dist/core/domain/cipher/errors/process-error.d.ts +135 -0
  65. package/dist/core/domain/cipher/errors/process-error.js +173 -0
  66. package/dist/core/domain/cipher/errors/session-error.d.ts +56 -0
  67. package/dist/core/domain/cipher/errors/session-error.js +74 -0
  68. package/dist/core/domain/cipher/errors/tool-error.d.ts +57 -0
  69. package/dist/core/domain/cipher/errors/tool-error.js +81 -0
  70. package/dist/core/domain/cipher/file-system/types.d.ts +203 -0
  71. package/dist/core/domain/cipher/memory/types.d.ts +102 -0
  72. package/dist/core/domain/cipher/memory/types.js +4 -0
  73. package/dist/core/domain/cipher/parsed-interaction.d.ts +47 -0
  74. package/dist/core/domain/cipher/parsed-interaction.js +25 -0
  75. package/dist/core/domain/cipher/process/types.d.ts +286 -0
  76. package/dist/core/domain/cipher/session/types.d.ts +54 -0
  77. package/dist/core/domain/cipher/storage/history-types.d.ts +38 -0
  78. package/dist/core/domain/cipher/system-prompt/types.d.ts +131 -0
  79. package/dist/core/domain/cipher/todos/index.d.ts +4 -0
  80. package/dist/core/domain/cipher/todos/index.js +4 -0
  81. package/dist/core/domain/cipher/todos/types.d.ts +57 -0
  82. package/dist/core/domain/cipher/todos/types.js +5 -0
  83. package/dist/core/domain/cipher/tools/constants.d.ts +28 -0
  84. package/dist/core/domain/cipher/tools/constants.js +24 -0
  85. package/dist/core/domain/cipher/tools/tool-error.d.ts +183 -0
  86. package/dist/core/domain/cipher/tools/tool-error.js +246 -0
  87. package/dist/core/domain/cipher/tools/types.d.ts +145 -0
  88. package/dist/core/domain/entities/brv-config.d.ts +42 -6
  89. package/dist/core/domain/entities/brv-config.js +115 -17
  90. package/dist/core/domain/entities/cogit-push-context.d.ts +38 -0
  91. package/dist/core/domain/entities/cogit-push-context.js +91 -0
  92. package/dist/core/domain/entities/cogit-push-response.d.ts +20 -0
  93. package/dist/core/domain/entities/cogit-push-response.js +31 -0
  94. package/dist/core/domain/entities/cogit-snapshot-author.d.ts +24 -0
  95. package/dist/core/domain/entities/cogit-snapshot-author.js +39 -0
  96. package/dist/core/domain/entities/cogit-snapshot-file.d.ts +34 -0
  97. package/dist/core/domain/entities/cogit-snapshot-file.js +59 -0
  98. package/dist/core/domain/entities/cogit-snapshot.d.ts +31 -0
  99. package/dist/core/domain/entities/cogit-snapshot.js +58 -0
  100. package/dist/core/domain/entities/context-tree-index.d.ts +26 -0
  101. package/dist/core/domain/entities/context-tree-index.js +27 -0
  102. package/dist/core/domain/entities/context-tree-snapshot.d.ts +56 -0
  103. package/dist/core/domain/entities/context-tree-snapshot.js +83 -0
  104. package/dist/core/domain/entities/event.d.ts +1 -1
  105. package/dist/core/domain/entities/event.js +4 -1
  106. package/dist/core/domain/entities/parser.d.ts +567 -0
  107. package/dist/core/domain/entities/parser.js +10 -0
  108. package/dist/core/domain/entities/playbook.d.ts +2 -23
  109. package/dist/core/domain/entities/playbook.js +2 -70
  110. package/dist/core/domain/errors/brv-config-version-error.d.ts +16 -0
  111. package/dist/core/domain/errors/brv-config-version-error.js +21 -0
  112. package/dist/core/domain/knowledge/directory-manager.d.ts +80 -0
  113. package/dist/core/domain/knowledge/directory-manager.js +145 -0
  114. package/dist/core/domain/knowledge/markdown-writer.d.ts +18 -0
  115. package/dist/core/domain/knowledge/markdown-writer.js +18 -0
  116. package/dist/core/domain/knowledge/relation-parser.d.ts +90 -0
  117. package/dist/core/domain/knowledge/relation-parser.js +131 -0
  118. package/dist/core/interfaces/cipher/cipher-services.d.ts +71 -0
  119. package/dist/core/interfaces/cipher/cipher-services.js +1 -0
  120. package/dist/core/interfaces/cipher/i-blob-storage.d.ts +78 -0
  121. package/dist/core/interfaces/cipher/i-blob-storage.js +1 -0
  122. package/dist/core/interfaces/cipher/i-chat-session.d.ts +62 -0
  123. package/dist/core/interfaces/cipher/i-chat-session.js +1 -0
  124. package/dist/core/interfaces/cipher/i-cipher-agent.d.ts +88 -0
  125. package/dist/core/interfaces/cipher/i-cipher-agent.js +1 -0
  126. package/dist/core/interfaces/cipher/i-coding-agent-log-parser.d.ts +20 -0
  127. package/dist/core/interfaces/cipher/i-coding-agent-log-parser.js +1 -0
  128. package/dist/core/interfaces/cipher/i-coding-agent-log-watcher.d.ts +31 -0
  129. package/dist/core/interfaces/cipher/i-coding-agent-log-watcher.js +1 -0
  130. package/dist/core/interfaces/cipher/i-content-generator.d.ts +120 -0
  131. package/dist/core/interfaces/cipher/i-content-generator.js +12 -0
  132. package/dist/core/interfaces/cipher/i-event-emitter.d.ts +76 -0
  133. package/dist/core/interfaces/cipher/i-event-emitter.js +1 -0
  134. package/dist/core/interfaces/cipher/i-file-system.d.ts +68 -0
  135. package/dist/core/interfaces/cipher/i-file-system.js +1 -0
  136. package/dist/core/interfaces/cipher/i-history-storage.d.ts +53 -0
  137. package/dist/core/interfaces/cipher/i-history-storage.js +1 -0
  138. package/dist/core/interfaces/cipher/i-llm-provider.d.ts +14 -0
  139. package/dist/core/interfaces/cipher/i-llm-provider.js +1 -0
  140. package/dist/core/interfaces/cipher/i-llm-service.d.ts +62 -0
  141. package/dist/core/interfaces/cipher/i-llm-service.js +1 -0
  142. package/dist/core/interfaces/cipher/i-logger.d.ts +78 -0
  143. package/dist/core/interfaces/cipher/i-logger.js +28 -0
  144. package/dist/core/interfaces/cipher/i-message-formatter.d.ts +44 -0
  145. package/dist/core/interfaces/cipher/i-message-formatter.js +1 -0
  146. package/dist/core/interfaces/cipher/i-policy-engine.d.ts +102 -0
  147. package/dist/core/interfaces/cipher/i-policy-engine.js +9 -0
  148. package/dist/core/interfaces/cipher/i-process-service.d.ts +65 -0
  149. package/dist/core/interfaces/cipher/i-process-service.js +1 -0
  150. package/dist/core/interfaces/cipher/i-system-prompt-contributor.d.ts +25 -0
  151. package/dist/core/interfaces/cipher/i-system-prompt-contributor.js +1 -0
  152. package/dist/core/interfaces/cipher/i-tokenizer.d.ts +15 -0
  153. package/dist/core/interfaces/cipher/i-tokenizer.js +1 -0
  154. package/dist/core/interfaces/cipher/i-tool-provider.d.ts +64 -0
  155. package/dist/core/interfaces/cipher/i-tool-provider.js +1 -0
  156. package/dist/core/interfaces/cipher/i-tool-scheduler.d.ts +103 -0
  157. package/dist/core/interfaces/cipher/i-tool-scheduler.js +11 -0
  158. package/dist/core/interfaces/cipher/llm-types.d.ts +46 -0
  159. package/dist/core/interfaces/cipher/llm-types.js +5 -0
  160. package/dist/core/interfaces/cipher/message-types.d.ts +118 -0
  161. package/dist/core/interfaces/cipher/message-types.js +5 -0
  162. package/dist/core/interfaces/cipher/tokenizer-types.d.ts +11 -0
  163. package/dist/core/interfaces/cipher/tokenizer-types.js +14 -0
  164. package/dist/core/interfaces/i-cogit-pull-service.d.ts +24 -0
  165. package/dist/core/interfaces/i-cogit-pull-service.js +1 -0
  166. package/dist/core/interfaces/i-cogit-push-service.d.ts +27 -0
  167. package/dist/core/interfaces/i-cogit-push-service.js +1 -0
  168. package/dist/core/interfaces/i-context-file-reader.d.ts +32 -0
  169. package/dist/core/interfaces/i-context-file-reader.js +1 -0
  170. package/dist/core/interfaces/i-context-tree-service.d.ts +21 -0
  171. package/dist/core/interfaces/i-context-tree-service.js +1 -0
  172. package/dist/core/interfaces/i-context-tree-snapshot-service.d.ts +36 -0
  173. package/dist/core/interfaces/i-context-tree-snapshot-service.js +1 -0
  174. package/dist/core/interfaces/i-context-tree-writer-service.d.ts +32 -0
  175. package/dist/core/interfaces/i-context-tree-writer-service.js +1 -0
  176. package/dist/core/interfaces/i-file-watcher-service.d.ts +41 -0
  177. package/dist/core/interfaces/i-file-watcher-service.js +1 -0
  178. package/dist/core/interfaces/i-rule-template-service.d.ts +0 -4
  179. package/dist/core/interfaces/i-rule-template-service.js +1 -4
  180. package/dist/core/interfaces/parser/i-clean-parser-service.d.ts +18 -0
  181. package/dist/core/interfaces/parser/i-clean-parser-service.js +1 -0
  182. package/dist/core/interfaces/parser/i-raw-parser-service.d.ts +17 -0
  183. package/dist/core/interfaces/parser/i-raw-parser-service.js +1 -0
  184. package/dist/core/interfaces/parser/i-session-normalizer.d.ts +56 -0
  185. package/dist/core/interfaces/parser/i-session-normalizer.js +1 -0
  186. package/dist/hooks/command_not_found/handle-invalid-commands.d.ts +7 -0
  187. package/dist/hooks/command_not_found/handle-invalid-commands.js +32 -0
  188. package/dist/hooks/error/clean-errors.d.ts +7 -0
  189. package/dist/hooks/error/clean-errors.js +50 -0
  190. package/dist/hooks/init/welcome.js +72 -1
  191. package/dist/hooks/prerun/validate-brv-config-version.d.ts +28 -0
  192. package/dist/hooks/prerun/validate-brv-config-version.js +43 -0
  193. package/dist/infra/cipher/agent-service-factory.d.ts +86 -0
  194. package/dist/infra/cipher/agent-service-factory.js +212 -0
  195. package/dist/infra/cipher/blob/blob-storage-factory.d.ts +13 -0
  196. package/dist/infra/cipher/blob/blob-storage-factory.js +14 -0
  197. package/dist/infra/cipher/blob/index.d.ts +10 -0
  198. package/dist/infra/cipher/blob/index.js +12 -0
  199. package/dist/infra/cipher/blob/migrations.d.ts +63 -0
  200. package/dist/infra/cipher/blob/migrations.js +148 -0
  201. package/dist/infra/cipher/blob/sqlite-blob-storage.d.ts +82 -0
  202. package/dist/infra/cipher/blob/sqlite-blob-storage.js +307 -0
  203. package/dist/infra/cipher/cipher-agent-state-manager.d.ts +63 -0
  204. package/dist/infra/cipher/cipher-agent-state-manager.js +108 -0
  205. package/dist/infra/cipher/cipher-agent.d.ts +182 -0
  206. package/dist/infra/cipher/cipher-agent.js +317 -0
  207. package/dist/infra/cipher/command-parser.d.ts +23 -0
  208. package/dist/infra/cipher/command-parser.js +85 -0
  209. package/dist/infra/cipher/display/todo-display.d.ts +23 -0
  210. package/dist/infra/cipher/display/todo-display.js +129 -0
  211. package/dist/infra/cipher/events/event-emitter.d.ts +137 -0
  212. package/dist/infra/cipher/events/event-emitter.js +158 -0
  213. package/dist/infra/cipher/exit-codes.d.ts +44 -0
  214. package/dist/infra/cipher/exit-codes.js +58 -0
  215. package/dist/infra/cipher/file-system/file-system-service.d.ts +105 -0
  216. package/dist/infra/cipher/file-system/file-system-service.js +641 -0
  217. package/dist/infra/cipher/file-system/gitignore-filter.d.ts +77 -0
  218. package/dist/infra/cipher/file-system/gitignore-filter.js +120 -0
  219. package/dist/infra/cipher/file-system/glob-utils.d.ts +60 -0
  220. package/dist/infra/cipher/file-system/glob-utils.js +120 -0
  221. package/dist/infra/cipher/file-system/path-validator.d.ts +69 -0
  222. package/dist/infra/cipher/file-system/path-validator.js +184 -0
  223. package/dist/infra/cipher/grpc/internal-llm-grpc-service.d.ts +149 -0
  224. package/dist/infra/cipher/grpc/internal-llm-grpc-service.js +364 -0
  225. package/dist/infra/cipher/grpc/internal-llm-grpc.proto +94 -0
  226. package/dist/infra/cipher/interactive-commands.d.ts +16 -0
  227. package/dist/infra/cipher/interactive-commands.js +198 -0
  228. package/dist/infra/cipher/interactive-loop.d.ts +24 -0
  229. package/dist/infra/cipher/interactive-loop.js +352 -0
  230. package/dist/infra/cipher/llm/context/async-mutex.d.ts +59 -0
  231. package/dist/infra/cipher/llm/context/async-mutex.js +92 -0
  232. package/dist/infra/cipher/llm/context/compression/index.d.ts +6 -0
  233. package/dist/infra/cipher/llm/context/compression/index.js +5 -0
  234. package/dist/infra/cipher/llm/context/compression/middle-removal.d.ts +40 -0
  235. package/dist/infra/cipher/llm/context/compression/middle-removal.js +76 -0
  236. package/dist/infra/cipher/llm/context/compression/oldest-removal.d.ts +38 -0
  237. package/dist/infra/cipher/llm/context/compression/oldest-removal.js +53 -0
  238. package/dist/infra/cipher/llm/context/compression/types.d.ts +36 -0
  239. package/dist/infra/cipher/llm/context/compression/types.js +1 -0
  240. package/dist/infra/cipher/llm/context/context-manager.d.ts +234 -0
  241. package/dist/infra/cipher/llm/context/context-manager.js +419 -0
  242. package/dist/infra/cipher/llm/context/index.d.ts +2 -0
  243. package/dist/infra/cipher/llm/context/index.js +2 -0
  244. package/dist/infra/cipher/llm/context/loop-detector.d.ts +125 -0
  245. package/dist/infra/cipher/llm/context/loop-detector.js +194 -0
  246. package/dist/infra/cipher/llm/context/utils.d.ts +17 -0
  247. package/dist/infra/cipher/llm/context/utils.js +89 -0
  248. package/dist/infra/cipher/llm/formatters/claude-formatter.d.ts +54 -0
  249. package/dist/infra/cipher/llm/formatters/claude-formatter.js +182 -0
  250. package/dist/infra/cipher/llm/formatters/gemini-formatter.d.ts +69 -0
  251. package/dist/infra/cipher/llm/formatters/gemini-formatter.js +253 -0
  252. package/dist/infra/cipher/llm/formatters/openrouter-formatter.d.ts +47 -0
  253. package/dist/infra/cipher/llm/formatters/openrouter-formatter.js +238 -0
  254. package/dist/infra/cipher/llm/generators/byterover-content-generator.d.ts +92 -0
  255. package/dist/infra/cipher/llm/generators/byterover-content-generator.js +211 -0
  256. package/dist/infra/cipher/llm/generators/index.d.ts +13 -0
  257. package/dist/infra/cipher/llm/generators/index.js +13 -0
  258. package/dist/infra/cipher/llm/generators/logging-content-generator.d.ts +104 -0
  259. package/dist/infra/cipher/llm/generators/logging-content-generator.js +182 -0
  260. package/dist/infra/cipher/llm/generators/openrouter-content-generator.d.ts +93 -0
  261. package/dist/infra/cipher/llm/generators/openrouter-content-generator.js +254 -0
  262. package/dist/infra/cipher/llm/generators/retryable-content-generator.d.ts +90 -0
  263. package/dist/infra/cipher/llm/generators/retryable-content-generator.js +157 -0
  264. package/dist/infra/cipher/llm/index.d.ts +9 -0
  265. package/dist/infra/cipher/llm/index.js +13 -0
  266. package/dist/infra/cipher/llm/internal-llm-service.d.ts +308 -0
  267. package/dist/infra/cipher/llm/internal-llm-service.js +724 -0
  268. package/dist/infra/cipher/llm/openrouter-llm-service.d.ts +183 -0
  269. package/dist/infra/cipher/llm/openrouter-llm-service.js +386 -0
  270. package/dist/infra/cipher/llm/response-validator.d.ts +89 -0
  271. package/dist/infra/cipher/llm/response-validator.js +157 -0
  272. package/dist/infra/cipher/llm/retry/index.d.ts +10 -0
  273. package/dist/infra/cipher/llm/retry/index.js +10 -0
  274. package/dist/infra/cipher/llm/retry/retry-policy.d.ts +74 -0
  275. package/dist/infra/cipher/llm/retry/retry-policy.js +146 -0
  276. package/dist/infra/cipher/llm/retry/retry-with-backoff.d.ts +113 -0
  277. package/dist/infra/cipher/llm/retry/retry-with-backoff.js +247 -0
  278. package/dist/infra/cipher/llm/thought-parser.d.ts +145 -0
  279. package/dist/infra/cipher/llm/thought-parser.js +190 -0
  280. package/dist/infra/cipher/llm/tokenizers/claude-tokenizer.d.ts +47 -0
  281. package/dist/infra/cipher/llm/tokenizers/claude-tokenizer.js +55 -0
  282. package/dist/infra/cipher/llm/tokenizers/default-tokenizer.d.ts +31 -0
  283. package/dist/infra/cipher/llm/tokenizers/default-tokenizer.js +38 -0
  284. package/dist/infra/cipher/llm/tokenizers/gemini-tokenizer.d.ts +37 -0
  285. package/dist/infra/cipher/llm/tokenizers/gemini-tokenizer.js +45 -0
  286. package/dist/infra/cipher/llm/tokenizers/openrouter-tokenizer.d.ts +29 -0
  287. package/dist/infra/cipher/llm/tokenizers/openrouter-tokenizer.js +37 -0
  288. package/dist/infra/cipher/llm/tool-output-processor.d.ts +117 -0
  289. package/dist/infra/cipher/llm/tool-output-processor.js +153 -0
  290. package/dist/infra/cipher/logger/console-logger.d.ts +42 -0
  291. package/dist/infra/cipher/logger/console-logger.js +63 -0
  292. package/dist/infra/cipher/logger/event-based-logger.d.ts +54 -0
  293. package/dist/infra/cipher/logger/event-based-logger.js +92 -0
  294. package/dist/infra/cipher/memory/index.d.ts +6 -0
  295. package/dist/infra/cipher/memory/index.js +7 -0
  296. package/dist/infra/cipher/memory/memory-manager.d.ts +136 -0
  297. package/dist/infra/cipher/memory/memory-manager.js +523 -0
  298. package/dist/infra/cipher/parsers/coding-agent-log-parser.d.ts +24 -0
  299. package/dist/infra/cipher/parsers/coding-agent-log-parser.js +51 -0
  300. package/dist/infra/cipher/process/command-validator.d.ts +59 -0
  301. package/dist/infra/cipher/process/command-validator.js +266 -0
  302. package/dist/infra/cipher/process/index.d.ts +8 -0
  303. package/dist/infra/cipher/process/index.js +8 -0
  304. package/dist/infra/cipher/process/process-service.d.ts +95 -0
  305. package/dist/infra/cipher/process/process-service.js +439 -0
  306. package/dist/infra/cipher/session/chat-session.d.ts +80 -0
  307. package/dist/infra/cipher/session/chat-session.js +165 -0
  308. package/dist/infra/cipher/session/index.d.ts +6 -0
  309. package/dist/infra/cipher/session/index.js +5 -0
  310. package/dist/infra/cipher/session/session-event-forwarder.d.ts +37 -0
  311. package/dist/infra/cipher/session/session-event-forwarder.js +83 -0
  312. package/dist/infra/cipher/session/session-manager.d.ts +109 -0
  313. package/dist/infra/cipher/session/session-manager.js +172 -0
  314. package/dist/infra/cipher/storage/blob-history-storage.d.ts +76 -0
  315. package/dist/infra/cipher/storage/blob-history-storage.js +178 -0
  316. package/dist/infra/cipher/system-prompt/simple-prompt-factory.d.ts +105 -0
  317. package/dist/infra/cipher/system-prompt/simple-prompt-factory.js +290 -0
  318. package/dist/infra/cipher/tools/core-tool-scheduler.d.ts +99 -0
  319. package/dist/infra/cipher/tools/core-tool-scheduler.js +161 -0
  320. package/dist/infra/cipher/tools/default-policy-rules.d.ts +26 -0
  321. package/dist/infra/cipher/tools/default-policy-rules.js +125 -0
  322. package/dist/infra/cipher/tools/implementations/bash-exec-tool.d.ts +12 -0
  323. package/dist/infra/cipher/tools/implementations/bash-exec-tool.js +93 -0
  324. package/dist/infra/cipher/tools/implementations/bash-output-tool.d.ts +12 -0
  325. package/dist/infra/cipher/tools/implementations/bash-output-tool.js +47 -0
  326. package/dist/infra/cipher/tools/implementations/create-knowledge-topic-tool.d.ts +11 -0
  327. package/dist/infra/cipher/tools/implementations/create-knowledge-topic-tool.js +142 -0
  328. package/dist/infra/cipher/tools/implementations/delete-memory-tool.d.ts +12 -0
  329. package/dist/infra/cipher/tools/implementations/delete-memory-tool.js +37 -0
  330. package/dist/infra/cipher/tools/implementations/detect-domains-tool.d.ts +7 -0
  331. package/dist/infra/cipher/tools/implementations/detect-domains-tool.js +73 -0
  332. package/dist/infra/cipher/tools/implementations/edit-file-tool.d.ts +13 -0
  333. package/dist/infra/cipher/tools/implementations/edit-file-tool.js +50 -0
  334. package/dist/infra/cipher/tools/implementations/edit-memory-tool.d.ts +13 -0
  335. package/dist/infra/cipher/tools/implementations/edit-memory-tool.js +53 -0
  336. package/dist/infra/cipher/tools/implementations/find-knowledge-topics-tool.d.ts +7 -0
  337. package/dist/infra/cipher/tools/implementations/find-knowledge-topics-tool.js +421 -0
  338. package/dist/infra/cipher/tools/implementations/glob-files-tool.d.ts +18 -0
  339. package/dist/infra/cipher/tools/implementations/glob-files-tool.js +70 -0
  340. package/dist/infra/cipher/tools/implementations/grep-content-tool.d.ts +12 -0
  341. package/dist/infra/cipher/tools/implementations/grep-content-tool.js +77 -0
  342. package/dist/infra/cipher/tools/implementations/kill-process-tool.d.ts +12 -0
  343. package/dist/infra/cipher/tools/implementations/kill-process-tool.js +55 -0
  344. package/dist/infra/cipher/tools/implementations/list-memories-tool.d.ts +12 -0
  345. package/dist/infra/cipher/tools/implementations/list-memories-tool.js +63 -0
  346. package/dist/infra/cipher/tools/implementations/read-file-tool.d.ts +12 -0
  347. package/dist/infra/cipher/tools/implementations/read-file-tool.js +54 -0
  348. package/dist/infra/cipher/tools/implementations/read-memory-tool.d.ts +12 -0
  349. package/dist/infra/cipher/tools/implementations/read-memory-tool.js +39 -0
  350. package/dist/infra/cipher/tools/implementations/search-history-tool.d.ts +10 -0
  351. package/dist/infra/cipher/tools/implementations/search-history-tool.js +36 -0
  352. package/dist/infra/cipher/tools/implementations/write-file-tool.d.ts +12 -0
  353. package/dist/infra/cipher/tools/implementations/write-file-tool.js +52 -0
  354. package/dist/infra/cipher/tools/implementations/write-memory-tool.d.ts +13 -0
  355. package/dist/infra/cipher/tools/implementations/write-memory-tool.js +52 -0
  356. package/dist/infra/cipher/tools/implementations/write-todos-tool.d.ts +10 -0
  357. package/dist/infra/cipher/tools/implementations/write-todos-tool.js +165 -0
  358. package/dist/infra/cipher/tools/index.d.ts +18 -0
  359. package/dist/infra/cipher/tools/index.js +19 -0
  360. package/dist/infra/cipher/tools/policy-engine.d.ts +80 -0
  361. package/dist/infra/cipher/tools/policy-engine.js +110 -0
  362. package/dist/infra/cipher/tools/tool-invocation-queue.d.ts +191 -0
  363. package/dist/infra/cipher/tools/tool-invocation-queue.js +254 -0
  364. package/dist/infra/cipher/tools/tool-invocation.d.ts +216 -0
  365. package/dist/infra/cipher/tools/tool-invocation.js +294 -0
  366. package/dist/infra/cipher/tools/tool-manager.d.ts +135 -0
  367. package/dist/infra/cipher/tools/tool-manager.js +209 -0
  368. package/dist/infra/cipher/tools/tool-markers.d.ts +48 -0
  369. package/dist/infra/cipher/tools/tool-markers.js +49 -0
  370. package/dist/infra/cipher/tools/tool-provider.d.ts +77 -0
  371. package/dist/infra/cipher/tools/tool-provider.js +196 -0
  372. package/dist/infra/cipher/tools/tool-registry.d.ts +52 -0
  373. package/dist/infra/cipher/tools/tool-registry.js +144 -0
  374. package/dist/infra/cipher/tools/utils/schema-converter.d.ts +10 -0
  375. package/dist/infra/cipher/tools/utils/schema-converter.js +29 -0
  376. package/dist/infra/cipher/validation/workspace-validator.d.ts +19 -0
  377. package/dist/infra/cipher/validation/workspace-validator.js +37 -0
  378. package/dist/infra/cipher/watcher/coding-agent-log-watcher.d.ts +14 -0
  379. package/dist/infra/cipher/watcher/coding-agent-log-watcher.js +55 -0
  380. package/dist/infra/cogit/context-tree-to-push-context-mapper.d.ts +21 -0
  381. package/dist/infra/cogit/context-tree-to-push-context-mapper.js +32 -0
  382. package/dist/infra/cogit/http-cogit-pull-service.d.ts +15 -0
  383. package/dist/infra/cogit/http-cogit-pull-service.js +30 -0
  384. package/dist/infra/cogit/http-cogit-push-service.d.ts +17 -0
  385. package/dist/infra/cogit/http-cogit-push-service.js +104 -0
  386. package/dist/infra/config/file-config-store.js +9 -3
  387. package/dist/infra/context-tree/file-context-file-reader.d.ts +14 -0
  388. package/dist/infra/context-tree/file-context-file-reader.js +46 -0
  389. package/dist/infra/context-tree/file-context-tree-service.d.ts +14 -0
  390. package/dist/infra/context-tree/file-context-tree-service.js +46 -0
  391. package/dist/infra/context-tree/file-context-tree-snapshot-service.d.ts +34 -0
  392. package/dist/infra/context-tree/file-context-tree-snapshot-service.js +117 -0
  393. package/dist/infra/context-tree/file-context-tree-writer-service.d.ts +22 -0
  394. package/dist/infra/context-tree/file-context-tree-writer-service.js +61 -0
  395. package/dist/infra/memory/http-memory-retrieval-service.js +2 -1
  396. package/dist/infra/memory/http-memory-storage-service.js +4 -3
  397. package/dist/infra/parsers/clean/clean-claude-service.d.ts +111 -0
  398. package/dist/infra/parsers/clean/clean-claude-service.js +271 -0
  399. package/dist/infra/parsers/clean/clean-codex-service.d.ts +231 -0
  400. package/dist/infra/parsers/clean/clean-codex-service.js +534 -0
  401. package/dist/infra/parsers/clean/clean-copilot-service.d.ts +255 -0
  402. package/dist/infra/parsers/clean/clean-copilot-service.js +729 -0
  403. package/dist/infra/parsers/clean/clean-cursor-service.d.ts +161 -0
  404. package/dist/infra/parsers/clean/clean-cursor-service.js +432 -0
  405. package/dist/infra/parsers/clean/clean-parser-service-factory.d.ts +54 -0
  406. package/dist/infra/parsers/clean/clean-parser-service-factory.js +80 -0
  407. package/dist/infra/parsers/clean/shared.d.ts +84 -0
  408. package/dist/infra/parsers/clean/shared.js +273 -0
  409. package/dist/infra/parsers/raw/raw-claude-service.d.ts +195 -0
  410. package/dist/infra/parsers/raw/raw-claude-service.js +548 -0
  411. package/dist/infra/parsers/raw/raw-codex-service.d.ts +313 -0
  412. package/dist/infra/parsers/raw/raw-codex-service.js +782 -0
  413. package/dist/infra/parsers/raw/raw-copilot-service.d.ts +196 -0
  414. package/dist/infra/parsers/raw/raw-copilot-service.js +558 -0
  415. package/dist/infra/parsers/raw/raw-cursor-service.d.ts +316 -0
  416. package/dist/infra/parsers/raw/raw-cursor-service.js +818 -0
  417. package/dist/infra/parsers/raw/raw-parser-service-factory.d.ts +54 -0
  418. package/dist/infra/parsers/raw/raw-parser-service-factory.js +81 -0
  419. package/dist/infra/rule/constants.d.ts +4 -0
  420. package/dist/infra/rule/constants.js +4 -0
  421. package/dist/infra/rule/rule-template-service.js +1 -1
  422. package/dist/infra/rule/rule-writer-service.js +1 -5
  423. package/dist/infra/space/http-space-service.js +2 -1
  424. package/dist/infra/team/http-team-service.js +2 -1
  425. package/dist/infra/user/http-user-service.js +2 -1
  426. package/dist/infra/watcher/file-watcher-service.d.ts +10 -0
  427. package/dist/infra/watcher/file-watcher-service.js +81 -0
  428. package/dist/infra/workspace/workspace-detector-service.d.ts +60 -0
  429. package/dist/infra/workspace/workspace-detector-service.js +165 -0
  430. package/dist/resources/prompts/curate-context-tree-curation.yml +48 -0
  431. package/dist/resources/prompts/modes/autonomous.yml +9 -0
  432. package/dist/resources/prompts/query-context-tree-retrieval.yml +49 -0
  433. package/dist/resources/prompts/reflection.yml +27 -0
  434. package/dist/resources/prompts/system-prompt.yml +82 -0
  435. package/dist/resources/prompts/tool-outputs.yml +30 -0
  436. package/dist/templates/README.md +6 -7
  437. package/dist/templates/sections/command-reference.md +40 -93
  438. package/dist/templates/sections/workflow.md +3 -30
  439. package/dist/utils/emoji-helpers.d.ts +38 -0
  440. package/dist/utils/emoji-helpers.js +42 -0
  441. package/dist/utils/error-handler.d.ts +51 -0
  442. package/dist/utils/error-handler.js +169 -0
  443. package/dist/utils/error-helpers.d.ts +30 -0
  444. package/dist/utils/error-helpers.js +47 -0
  445. package/dist/utils/file-helpers.d.ts +15 -0
  446. package/dist/utils/file-helpers.js +44 -0
  447. package/dist/utils/oclif-error-helpers.d.ts +40 -0
  448. package/dist/utils/oclif-error-helpers.js +46 -0
  449. package/dist/utils/tool-display-formatter.d.ts +53 -0
  450. package/dist/utils/tool-display-formatter.js +257 -0
  451. package/oclif.manifest.json +422 -142
  452. package/package.json +29 -10
  453. package/dist/commands/add.d.ts +0 -49
  454. package/dist/commands/add.js +0 -192
  455. package/dist/commands/complete.d.ts +0 -108
  456. package/dist/commands/complete.js +0 -340
  457. package/dist/commands/retrieve.d.ts +0 -26
  458. package/dist/commands/retrieve.js +0 -101
  459. package/dist/core/domain/entities/curator-output.d.ts +0 -14
  460. package/dist/core/domain/entities/curator-output.js +0 -23
  461. package/dist/core/domain/entities/delta-batch.d.ts +0 -30
  462. package/dist/core/domain/entities/delta-batch.js +0 -52
  463. package/dist/core/domain/entities/delta-operation.d.ts +0 -31
  464. package/dist/core/domain/entities/delta-operation.js +0 -50
  465. package/dist/core/domain/entities/executor-output.d.ts +0 -27
  466. package/dist/core/domain/entities/executor-output.js +0 -33
  467. package/dist/core/domain/entities/reflector-output.d.ts +0 -38
  468. package/dist/core/domain/entities/reflector-output.js +0 -44
  469. package/dist/core/interfaces/i-ace-prompt-builder.d.ts +0 -48
  470. package/dist/core/interfaces/i-bullet-content-store.d.ts +0 -36
  471. package/dist/core/interfaces/i-delta-store.d.ts +0 -15
  472. package/dist/core/interfaces/i-executor-output-store.d.ts +0 -14
  473. package/dist/core/interfaces/i-playbook-service.d.ts +0 -69
  474. package/dist/core/interfaces/i-playbook-store.d.ts +0 -38
  475. package/dist/core/interfaces/i-reflection-store.d.ts +0 -21
  476. package/dist/infra/ace/ace-file-utils.d.ts +0 -46
  477. package/dist/infra/ace/ace-file-utils.js +0 -83
  478. package/dist/infra/ace/ace-prompt-templates.d.ts +0 -13
  479. package/dist/infra/ace/ace-prompt-templates.js +0 -177
  480. package/dist/infra/ace/file-bullet-content-store.d.ts +0 -27
  481. package/dist/infra/ace/file-bullet-content-store.js +0 -89
  482. package/dist/infra/ace/file-delta-store.d.ts +0 -9
  483. package/dist/infra/ace/file-delta-store.js +0 -26
  484. package/dist/infra/ace/file-executor-output-store.d.ts +0 -9
  485. package/dist/infra/ace/file-executor-output-store.js +0 -26
  486. package/dist/infra/ace/file-playbook-store.d.ts +0 -29
  487. package/dist/infra/ace/file-playbook-store.js +0 -107
  488. package/dist/infra/ace/file-reflection-store.d.ts +0 -10
  489. package/dist/infra/ace/file-reflection-store.js +0 -55
  490. package/dist/infra/playbook/file-playbook-service.d.ts +0 -42
  491. package/dist/infra/playbook/file-playbook-service.js +0 -132
  492. /package/dist/core/{interfaces/i-ace-prompt-builder.js → domain/cipher/blob/types.js} +0 -0
  493. /package/dist/core/{interfaces/i-bullet-content-store.js → domain/cipher/file-system/types.js} +0 -0
  494. /package/dist/core/{interfaces/i-delta-store.js → domain/cipher/process/types.js} +0 -0
  495. /package/dist/core/{interfaces/i-executor-output-store.js → domain/cipher/session/types.js} +0 -0
  496. /package/dist/core/{interfaces/i-playbook-service.js → domain/cipher/storage/history-types.js} +0 -0
  497. /package/dist/core/{interfaces/i-playbook-store.js → domain/cipher/system-prompt/types.js} +0 -0
  498. /package/dist/core/{interfaces/i-reflection-store.js → domain/cipher/tools/types.js} +0 -0
@@ -1,67 +1,5 @@
1
1
  {
2
2
  "commands": {
3
- "add": {
4
- "aliases": [],
5
- "args": {},
6
- "description": "Add or update a bullet in the playbook (bypasses ACE workflow for direct agent usage)",
7
- "examples": [
8
- "<%= config.bin %> <%= command.id %> --interactive",
9
- "<%= config.bin %> <%= command.id %> -i",
10
- "<%= config.bin %> <%= command.id %> --section \"Common Errors\" --content \"Authentication fails when token expires\"",
11
- "<%= config.bin %> <%= command.id %> --section \"Common Errors\" --bullet-id \"common-00001\" --content \"Updated: Auth fails when token expires\"",
12
- "<%= config.bin %> <%= command.id %> -s \"Best Practices\" -c \"Always validate user input before processing\""
13
- ],
14
- "flags": {
15
- "bullet-id": {
16
- "char": "b",
17
- "description": "Bullet ID to update (if not provided, a new bullet will be created)",
18
- "name": "bullet-id",
19
- "required": false,
20
- "hasDynamicHelp": false,
21
- "multiple": false,
22
- "type": "option"
23
- },
24
- "content": {
25
- "char": "c",
26
- "description": "Content of the bullet",
27
- "name": "content",
28
- "required": false,
29
- "hasDynamicHelp": false,
30
- "multiple": false,
31
- "type": "option"
32
- },
33
- "interactive": {
34
- "char": "i",
35
- "description": "Run in interactive mode",
36
- "name": "interactive",
37
- "allowNo": false,
38
- "type": "boolean"
39
- },
40
- "section": {
41
- "char": "s",
42
- "description": "Section name for the bullet",
43
- "name": "section",
44
- "required": false,
45
- "hasDynamicHelp": false,
46
- "multiple": false,
47
- "type": "option"
48
- }
49
- },
50
- "hasDynamicHelp": false,
51
- "hiddenAliases": [],
52
- "id": "add",
53
- "pluginAlias": "byterover-cli",
54
- "pluginName": "byterover-cli",
55
- "pluginType": "core",
56
- "strict": true,
57
- "enableJsonFlag": false,
58
- "isESM": true,
59
- "relativePath": [
60
- "dist",
61
- "commands",
62
- "add.js"
63
- ]
64
- },
65
3
  "clear": {
66
4
  "aliases": [],
67
5
  "args": {
@@ -71,7 +9,7 @@
71
9
  "required": false
72
10
  }
73
11
  },
74
- "description": "Clear local ACE context (playbook) managed by ByteRover CLI",
12
+ "description": "Reset the context tree to its original state (6 default domains)",
75
13
  "examples": [
76
14
  "<%= config.bin %> <%= command.id %>",
77
15
  "<%= config.bin %> <%= command.id %> --yes",
@@ -101,71 +39,58 @@
101
39
  "clear.js"
102
40
  ]
103
41
  },
104
- "complete": {
42
+ "curate": {
105
43
  "aliases": [],
106
44
  "args": {
107
- "hint": {
108
- "description": "Short hint for naming output files (e.g., \"user-auth\", \"bug-fix\")",
109
- "name": "hint",
110
- "required": true
111
- },
112
- "reasoning": {
113
- "description": "Detailed reasoning and approach for completing the task",
114
- "name": "reasoning",
115
- "required": true
116
- },
117
- "finalAnswer": {
118
- "description": "The final answer/solution to the task",
119
- "name": "finalAnswer",
120
- "required": true
45
+ "context": {
46
+ "description": "Knowledge context: patterns, decisions, errors, or insights (triggers autonomous mode)",
47
+ "name": "context",
48
+ "required": false
121
49
  }
122
50
  },
123
- "description": "Complete ACE workflow: save executor output, generate reflection, and update playbook in one command",
51
+ "description": "Curate context to the context tree (interactive or autonomous mode)\nGood:\n- \"Auth uses JWT with 24h expiry. Tokens stored in httpOnly cookies via authMiddleware.ts\"\n- \"API rate limit is 100 req/min per user. Implemented using Redis with sliding window in rateLimiter.ts\"\nBad:\n- \"Authentication\" or \"JWT tokens\" (too vague, lacks context)\n- \"Rate limiting\" (no implementation details or file references)",
124
52
  "examples": [
125
- "<%= config.bin %> <%= command.id %> \"user-auth\" \"Implemented OAuth2 flow\" \"Auth works\" --tool-usage \"Read:src/auth.ts,Edit:src/auth.ts,Bash:npm test\" --feedback \"All tests passed\"",
126
- "<%= config.bin %> <%= command.id %> \"validation-fix\" \"Analyzed validator\" \"Fixed bug\" --tool-usage \"Grep:pattern:\\\"validate\\\",Read:src/validator.ts\" --bullet-ids \"bullet-123\" --feedback \"Tests passed\"",
127
- "<%= config.bin %> <%= command.id %> \"auth-update\" \"Improved error handling\" \"Better errors\" --tool-usage \"Edit:src/auth.ts\" --feedback \"Tests passed\" --update-bullet \"bullet-5\""
53
+ "# Interactive mode (manually choose domain/topic)",
54
+ "<%= config.bin %> <%= command.id %>",
55
+ "",
56
+ "# Autonomous mode - LLM auto-categorizes your context",
57
+ "<%= config.bin %> <%= command.id %> \"Auth uses JWT with 24h expiry. Tokens stored in httpOnly cookies via authMiddleware.ts\"",
58
+ "",
59
+ "# Autonomous mode with OpenRouter (development only)",
60
+ "<%= config.bin %> <%= command.id %> -k YOUR_API_KEY \"React components follow atomic design in src/components/. Atoms in atoms/, molecules in molecules/, organisms in organisms/\"",
61
+ "",
62
+ "# Autonomous mode with custom model (development only)",
63
+ "<%= config.bin %> <%= command.id %> -k YOUR_API_KEY -m anthropic/claude-sonnet-4 \"API rate limit is 100 req/min per user. Implemented using Redis with sliding window in rateLimiter.ts\""
128
64
  ],
129
65
  "flags": {
130
- "bullet-ids": {
131
- "char": "b",
132
- "description": "Comma-separated list of playbook bullet IDs referenced",
133
- "name": "bullet-ids",
134
- "default": "",
66
+ "apiKey": {
67
+ "char": "k",
68
+ "description": "OpenRouter API key (use OpenRouter instead of internal gRPC backend) [Development only]",
69
+ "env": "OPENROUTER_API_KEY",
70
+ "name": "apiKey",
135
71
  "hasDynamicHelp": false,
136
72
  "multiple": false,
137
73
  "type": "option"
138
74
  },
139
- "feedback": {
140
- "char": "f",
141
- "description": "Environment feedback about task execution (e.g., \"Tests passed\", \"Build failed\")",
142
- "name": "feedback",
143
- "required": true,
144
- "hasDynamicHelp": false,
145
- "multiple": false,
146
- "type": "option"
147
- },
148
- "tool-usage": {
149
- "char": "t",
150
- "description": "Comma-separated list of tool calls with arguments (format: \"ToolName:argument\", e.g., \"Read:src/file.ts,Bash:npm test\")",
151
- "name": "tool-usage",
152
- "required": true,
75
+ "model": {
76
+ "char": "m",
77
+ "description": "Model to use (default: google/gemini-2.5-pro for OpenRouter, gemini-2.5-pro for gRPC) [Development only]",
78
+ "name": "model",
153
79
  "hasDynamicHelp": false,
154
80
  "multiple": false,
155
81
  "type": "option"
156
82
  },
157
- "update-bullet": {
158
- "char": "u",
159
- "description": "Bullet ID to update with new knowledge (if not provided, adds new bullet)",
160
- "name": "update-bullet",
161
- "hasDynamicHelp": false,
162
- "multiple": false,
163
- "type": "option"
83
+ "verbose": {
84
+ "char": "v",
85
+ "description": "Enable verbose debug output [Development only]",
86
+ "name": "verbose",
87
+ "allowNo": false,
88
+ "type": "boolean"
164
89
  }
165
90
  },
166
91
  "hasDynamicHelp": false,
167
92
  "hiddenAliases": [],
168
- "id": "complete",
93
+ "id": "curate",
169
94
  "pluginAlias": "byterover-cli",
170
95
  "pluginName": "byterover-cli",
171
96
  "pluginType": "core",
@@ -175,7 +100,28 @@
175
100
  "relativePath": [
176
101
  "dist",
177
102
  "commands",
178
- "complete.js"
103
+ "curate.js"
104
+ ]
105
+ },
106
+ "foo": {
107
+ "aliases": [],
108
+ "args": {},
109
+ "description": "Purely for testing CodingAgentLogWatcher [Development only]",
110
+ "flags": {},
111
+ "hasDynamicHelp": false,
112
+ "hidden": false,
113
+ "hiddenAliases": [],
114
+ "id": "foo",
115
+ "pluginAlias": "byterover-cli",
116
+ "pluginName": "byterover-cli",
117
+ "pluginType": "core",
118
+ "strict": true,
119
+ "enableJsonFlag": false,
120
+ "isESM": true,
121
+ "relativePath": [
122
+ "dist",
123
+ "commands",
124
+ "foo.js"
179
125
  ]
180
126
  },
181
127
  "gen-rules": {
@@ -185,7 +131,16 @@
185
131
  "examples": [
186
132
  "<%= config.bin %> <%= command.id %>"
187
133
  ],
188
- "flags": {},
134
+ "flags": {
135
+ "agent": {
136
+ "char": "a",
137
+ "description": "Agent to generate rules for (optional, will prompt if not provided)",
138
+ "name": "agent",
139
+ "hasDynamicHelp": false,
140
+ "multiple": false,
141
+ "type": "option"
142
+ }
143
+ },
189
144
  "hasDynamicHelp": false,
190
145
  "hiddenAliases": [],
191
146
  "id": "gen-rules",
@@ -204,13 +159,21 @@
204
159
  "init": {
205
160
  "aliases": [],
206
161
  "args": {},
207
- "description": "Initialize a project with ByteRover (creates .brv/config.json with team/space selection and initializes ACE playbook)",
162
+ "description": "Initialize a project with ByteRover (creates .brv/config.json with team/space selection and initializes Context Tree)",
208
163
  "examples": [
209
164
  "<%= config.bin %> <%= command.id %>",
210
165
  "# Re-initialize if config exists (will show current config and exit):\n<%= config.bin %> <%= command.id %>",
211
166
  "# Full workflow: login then initialize:\n<%= config.bin %> login\n<%= config.bin %> <%= command.id %>"
212
167
  ],
213
- "flags": {},
168
+ "flags": {
169
+ "force": {
170
+ "char": "f",
171
+ "description": "Force re-initialization without confirmation prompt",
172
+ "name": "force",
173
+ "allowNo": false,
174
+ "type": "boolean"
175
+ }
176
+ },
214
177
  "hasDynamicHelp": false,
215
178
  "hiddenAliases": [],
216
179
  "id": "init",
@@ -251,10 +214,77 @@
251
214
  "login.js"
252
215
  ]
253
216
  },
217
+ "logout": {
218
+ "aliases": [],
219
+ "args": {},
220
+ "description": "Log out of ByteRover CLI and clear authentication (does not affect local project files)",
221
+ "examples": [
222
+ "<%= config.bin %> <%= command.id %>",
223
+ "<%= config.bin %> <%= command.id %> --yes"
224
+ ],
225
+ "flags": {
226
+ "yes": {
227
+ "char": "y",
228
+ "description": "Skip confirmation prompt",
229
+ "name": "yes",
230
+ "allowNo": false,
231
+ "type": "boolean"
232
+ }
233
+ },
234
+ "hasDynamicHelp": false,
235
+ "hiddenAliases": [],
236
+ "id": "logout",
237
+ "pluginAlias": "byterover-cli",
238
+ "pluginName": "byterover-cli",
239
+ "pluginType": "core",
240
+ "strict": true,
241
+ "enableJsonFlag": false,
242
+ "isESM": true,
243
+ "relativePath": [
244
+ "dist",
245
+ "commands",
246
+ "logout.js"
247
+ ]
248
+ },
249
+ "pull": {
250
+ "aliases": [],
251
+ "args": {},
252
+ "description": "Pull context tree from ByteRover memory storage",
253
+ "examples": [
254
+ "<%= config.bin %> <%= command.id %>",
255
+ "<%= config.bin %> <%= command.id %> --branch develop",
256
+ "<%= config.bin %> <%= command.id %> -b feature-auth"
257
+ ],
258
+ "flags": {
259
+ "branch": {
260
+ "char": "b",
261
+ "description": "ByteRover branch name (not Git branch)",
262
+ "name": "branch",
263
+ "default": "main",
264
+ "hasDynamicHelp": false,
265
+ "multiple": false,
266
+ "type": "option"
267
+ }
268
+ },
269
+ "hasDynamicHelp": false,
270
+ "hiddenAliases": [],
271
+ "id": "pull",
272
+ "pluginAlias": "byterover-cli",
273
+ "pluginName": "byterover-cli",
274
+ "pluginType": "core",
275
+ "strict": true,
276
+ "enableJsonFlag": false,
277
+ "isESM": true,
278
+ "relativePath": [
279
+ "dist",
280
+ "commands",
281
+ "pull.js"
282
+ ]
283
+ },
254
284
  "push": {
255
285
  "aliases": [],
256
286
  "args": {},
257
- "description": "Push playbook to ByteRover memory storage and clean up local ACE files",
287
+ "description": "Push context tree to ByteRover memory storage",
258
288
  "examples": [
259
289
  "<%= config.bin %> <%= command.id %>",
260
290
  "<%= config.bin %> <%= command.id %> --branch develop",
@@ -293,55 +323,69 @@
293
323
  "push.js"
294
324
  ]
295
325
  },
296
- "retrieve": {
326
+ "query": {
297
327
  "aliases": [],
298
- "args": {},
299
- "description": "Retrieve memories from ByteRover Memora service and output as JSON",
328
+ "args": {
329
+ "query": {
330
+ "description": "Natural language question about your codebase or project knowledge",
331
+ "name": "query",
332
+ "required": true
333
+ }
334
+ },
335
+ "description": "Query and retrieve information from the context tree\nGood:\n- \"How is user authentication implemented?\"\n- \"What are the API rate limits and where are they enforced?\"\nBad:\n- \"auth\" or \"authentication\" (too vague, not a question)\n- \"show me code\" (not specific about what information is needed)",
300
336
  "examples": [
301
- "<%= config.bin %> <%= command.id %> --query \"authentication best practices\"",
302
- "<%= config.bin %> <%= command.id %> -q \"error handling\" -n \"src/auth/login.ts,src/auth/oauth.ts\"",
303
- "<%= config.bin %> <%= command.id %> -q \"database connection issues\" --compact"
337
+ "# Ask questions about patterns, decisions, or implementation details",
338
+ "<%= config.bin %> <%= command.id %> What are the coding standards?",
339
+ "<%= config.bin %> <%= command.id %> How is authentication implemented?",
340
+ "",
341
+ "# Query with OpenRouter (development only)",
342
+ "<%= config.bin %> <%= command.id %> -k YOUR_API_KEY Show me all API endpoints",
343
+ "",
344
+ "# Query with custom model (development only)",
345
+ "<%= config.bin %> <%= command.id %> -k YOUR_API_KEY -m anthropic/claude-sonnet-4 Explain the database schema",
346
+ "",
347
+ "# Query with verbose output (development only)",
348
+ "<%= config.bin %> <%= command.id %> -v What testing strategies are used?"
304
349
  ],
305
350
  "flags": {
306
- "compact": {
307
- "description": "Output compact JSON (single line)",
308
- "name": "compact",
309
- "required": false,
310
- "allowNo": false,
311
- "type": "boolean"
312
- },
313
- "node-keys": {
314
- "char": "n",
315
- "description": "Comma-separated list of node keys (file paths) to filter results",
316
- "name": "node-keys",
317
- "required": false,
351
+ "apiKey": {
352
+ "char": "k",
353
+ "description": "OpenRouter API key (use OpenRouter instead of internal gRPC backend) [Development only]",
354
+ "env": "OPENROUTER_API_KEY",
355
+ "name": "apiKey",
318
356
  "hasDynamicHelp": false,
319
357
  "multiple": false,
320
358
  "type": "option"
321
359
  },
322
- "query": {
323
- "char": "q",
324
- "description": "Search query string",
325
- "name": "query",
326
- "required": true,
360
+ "model": {
361
+ "char": "m",
362
+ "description": "Model to use (default: google/gemini-2.5-pro for OpenRouter, gemini-2.5-pro for gRPC) [Development only]",
363
+ "name": "model",
327
364
  "hasDynamicHelp": false,
328
365
  "multiple": false,
329
366
  "type": "option"
367
+ },
368
+ "verbose": {
369
+ "char": "v",
370
+ "description": "Enable verbose debug output [Development only]",
371
+ "name": "verbose",
372
+ "allowNo": false,
373
+ "type": "boolean"
330
374
  }
331
375
  },
332
376
  "hasDynamicHelp": false,
333
377
  "hiddenAliases": [],
334
- "id": "retrieve",
378
+ "id": "query",
335
379
  "pluginAlias": "byterover-cli",
336
380
  "pluginName": "byterover-cli",
337
381
  "pluginType": "core",
338
- "strict": true,
382
+ "strict": false,
339
383
  "enableJsonFlag": false,
340
384
  "isESM": true,
341
385
  "relativePath": [
342
386
  "dist",
343
387
  "commands",
344
- "retrieve.js"
388
+ "query.js"
345
389
  ]
346
390
  },
347
391
  "status": {
@@ -353,7 +397,7 @@
353
397
  "required": false
354
398
  }
355
399
  },
356
- "description": "Show CLI status and project information. Display local ACE context (ACE playbook) managed by ByteRover CLI",
400
+ "description": "Show CLI status and project information. Display local context tree managed by ByteRover CLI",
357
401
  "examples": [
358
402
  "<%= config.bin %> <%= command.id %>",
359
403
  "# Check status after login:\n<%= config.bin %> login\n<%= config.bin %> <%= command.id %>",
@@ -392,6 +436,242 @@
392
436
  "status.js"
393
437
  ]
394
438
  },
439
+ "watch": {
440
+ "aliases": [],
441
+ "args": {},
442
+ "description": "Watch file system directories for changes and trigger parsing pipeline [Development only]",
443
+ "examples": [
444
+ "<%= config.bin %> <%= command.id %> --paths ./agent-logs",
445
+ "<%= config.bin %> <%= command.id %> --paths ./logs,./outputs,./workspace",
446
+ "<%= config.bin %> <%= command.id %> -p ./src,./lib",
447
+ "# Use chat log path from config (if IDE was configured during init):",
448
+ "<%= config.bin %> <%= command.id %>"
449
+ ],
450
+ "flags": {
451
+ "clean": {
452
+ "description": "Run clean parsing after raw parsing (default: true)",
453
+ "name": "clean",
454
+ "allowNo": true,
455
+ "type": "boolean"
456
+ },
457
+ "debounce": {
458
+ "description": "Debounce time in milliseconds before triggering parsing (default: 2000)",
459
+ "name": "debounce",
460
+ "default": 2000,
461
+ "hasDynamicHelp": false,
462
+ "multiple": false,
463
+ "type": "option"
464
+ },
465
+ "paths": {
466
+ "char": "p",
467
+ "description": "Comma-separated list of directories to watch (defaults to configured chat log path)",
468
+ "name": "paths",
469
+ "required": false,
470
+ "hasDynamicHelp": false,
471
+ "multiple": false,
472
+ "type": "option"
473
+ }
474
+ },
475
+ "hasDynamicHelp": false,
476
+ "hidden": false,
477
+ "hiddenAliases": [],
478
+ "id": "watch",
479
+ "pluginAlias": "byterover-cli",
480
+ "pluginName": "byterover-cli",
481
+ "pluginType": "core",
482
+ "strict": true,
483
+ "enableJsonFlag": false,
484
+ "isESM": true,
485
+ "relativePath": [
486
+ "dist",
487
+ "commands",
488
+ "watch.js"
489
+ ]
490
+ },
491
+ "cipher-agent:run": {
492
+ "aliases": [],
493
+ "args": {
494
+ "prompt": {
495
+ "description": "The prompt to send to CipherAgent (optional in interactive mode)",
496
+ "name": "prompt",
497
+ "required": false
498
+ }
499
+ },
500
+ "description": "Run CipherAgent in interactive or single-execution mode [Development only]",
501
+ "examples": [
502
+ "# Interactive mode (creates new unique session each time)",
503
+ "<%= config.bin %> <%= command.id %>",
504
+ "<%= config.bin %> <%= command.id %> --interactive",
505
+ "",
506
+ "# Continue most recent session in interactive mode",
507
+ "<%= config.bin %> <%= command.id %> -c",
508
+ "<%= config.bin %> <%= command.id %> -c -i",
509
+ "",
510
+ "# Resume specific session in interactive mode",
511
+ "<%= config.bin %> <%= command.id %> -r session-1731686400123-a7b3c9",
512
+ "<%= config.bin %> <%= command.id %> -r session-1731686400123-a7b3c9 -i",
513
+ "",
514
+ "# Single execution mode (creates new unique session)",
515
+ "<%= config.bin %> <%= command.id %> \"Analyze the project structure\" --no-interactive",
516
+ "<%= config.bin %> <%= command.id %> \"Find all TypeScript files\" --no-interactive",
517
+ "",
518
+ "# Continue session with a new prompt (headless)",
519
+ "<%= config.bin %> <%= command.id %> -c \"What did we discuss?\"",
520
+ "<%= config.bin %> <%= command.id %> -r session-1731686400123-a7b3c9 \"Continue implementation\"",
521
+ "",
522
+ "# Piped input (automatically uses non-interactive mode)",
523
+ "echo \"Analyze the codebase\" | <%= config.bin %> <%= command.id %>",
524
+ "",
525
+ "# Specify working directory",
526
+ "<%= config.bin %> <%= command.id %> -w /path/to/project",
527
+ "<%= config.bin %> <%= command.id %> --working-directory ~/myproject"
528
+ ],
529
+ "flags": {
530
+ "apiKey": {
531
+ "char": "k",
532
+ "description": "OpenRouter API key (use OpenRouter instead of gRPC backend) [Development only]",
533
+ "env": "OPENROUTER_API_KEY",
534
+ "name": "apiKey",
535
+ "hasDynamicHelp": false,
536
+ "multiple": false,
537
+ "type": "option"
538
+ },
539
+ "model": {
540
+ "char": "m",
541
+ "description": "Model to use (default: google/gemini-2.5-pro for OpenRouter, gemini-2.5-pro for gRPC) [Development only]",
542
+ "name": "model",
543
+ "hasDynamicHelp": false,
544
+ "multiple": false,
545
+ "type": "option"
546
+ },
547
+ "verbose": {
548
+ "char": "v",
549
+ "description": "Enable verbose debug output for prompt loading and agent operations [Development only]",
550
+ "name": "verbose",
551
+ "allowNo": false,
552
+ "type": "boolean"
553
+ },
554
+ "continue": {
555
+ "char": "c",
556
+ "description": "Continue most recent session (requires prompt in headless mode)",
557
+ "name": "continue",
558
+ "allowNo": false,
559
+ "type": "boolean"
560
+ },
561
+ "interactive": {
562
+ "char": "i",
563
+ "description": "Enable interactive mode (auto-detected from TTY if not specified)",
564
+ "name": "interactive",
565
+ "allowNo": true,
566
+ "type": "boolean"
567
+ },
568
+ "maxTokens": {
569
+ "char": "t",
570
+ "description": "Maximum tokens in response (default: 8192)",
571
+ "name": "maxTokens",
572
+ "hasDynamicHelp": false,
573
+ "multiple": false,
574
+ "type": "option"
575
+ },
576
+ "resume": {
577
+ "char": "r",
578
+ "description": "Resume specific session by ID (requires prompt in headless mode)",
579
+ "name": "resume",
580
+ "hasDynamicHelp": false,
581
+ "multiple": false,
582
+ "type": "option"
583
+ },
584
+ "temperature": {
585
+ "char": "T",
586
+ "description": "Temperature for randomness 0-1 (default: 0.2)",
587
+ "name": "temperature",
588
+ "hasDynamicHelp": false,
589
+ "multiple": false,
590
+ "type": "option"
591
+ },
592
+ "workingDirectory": {
593
+ "char": "w",
594
+ "description": "Working directory for file operations (default: current directory)",
595
+ "name": "workingDirectory",
596
+ "hasDynamicHelp": false,
597
+ "multiple": false,
598
+ "type": "option"
599
+ }
600
+ },
601
+ "hasDynamicHelp": false,
602
+ "hidden": false,
603
+ "hiddenAliases": [],
604
+ "id": "cipher-agent:run",
605
+ "pluginAlias": "byterover-cli",
606
+ "pluginName": "byterover-cli",
607
+ "pluginType": "core",
608
+ "strict": true,
609
+ "enableJsonFlag": false,
610
+ "isESM": true,
611
+ "relativePath": [
612
+ "dist",
613
+ "commands",
614
+ "cipher-agent",
615
+ "run.js"
616
+ ]
617
+ },
618
+ "cipher-agent:set-prompt": {
619
+ "aliases": [],
620
+ "args": {
621
+ "prompt": {
622
+ "description": "The system prompt for CipherAgent",
623
+ "name": "prompt",
624
+ "required": true
625
+ }
626
+ },
627
+ "description": "Set custom system prompt for CipherAgent [Development only]",
628
+ "examples": [
629
+ "<%= config.bin %> <%= command.id %> \"You are a helpful coding assistant specialized in TypeScript\"",
630
+ "<%= config.bin %> <%= command.id %> \"You are an expert in refactoring and code quality improvements\""
631
+ ],
632
+ "flags": {},
633
+ "hasDynamicHelp": false,
634
+ "hidden": false,
635
+ "hiddenAliases": [],
636
+ "id": "cipher-agent:set-prompt",
637
+ "pluginAlias": "byterover-cli",
638
+ "pluginName": "byterover-cli",
639
+ "pluginType": "core",
640
+ "strict": true,
641
+ "enableJsonFlag": false,
642
+ "isESM": true,
643
+ "relativePath": [
644
+ "dist",
645
+ "commands",
646
+ "cipher-agent",
647
+ "set-prompt.js"
648
+ ]
649
+ },
650
+ "cipher-agent:show-prompt": {
651
+ "aliases": [],
652
+ "args": {},
653
+ "description": "Show the current CipherAgent system prompt [Development only]",
654
+ "examples": [
655
+ "<%= config.bin %> <%= command.id %>"
656
+ ],
657
+ "flags": {},
658
+ "hasDynamicHelp": false,
659
+ "hidden": false,
660
+ "hiddenAliases": [],
661
+ "id": "cipher-agent:show-prompt",
662
+ "pluginAlias": "byterover-cli",
663
+ "pluginName": "byterover-cli",
664
+ "pluginType": "core",
665
+ "strict": true,
666
+ "enableJsonFlag": false,
667
+ "isESM": true,
668
+ "relativePath": [
669
+ "dist",
670
+ "commands",
671
+ "cipher-agent",
672
+ "show-prompt.js"
673
+ ]
674
+ },
395
675
  "space:list": {
396
676
  "aliases": [],
397
677
  "args": {},
@@ -479,5 +759,5 @@
479
759
  ]
480
760
  }
481
761
  },
482
- "version": "0.2.0"
762
+ "version": "0.3.0"
483
763
  }