@liangjie559567/ultrapower 6.0.0 → 7.0.2

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 (1270) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/LICENSE +21 -21
  4. package/README.md +2 -2
  5. package/agents/executor.md +10 -5
  6. package/bridge/codex-server.cjs +1 -1
  7. package/bridge/gemini-server.cjs +1 -1
  8. package/bridge/gyoshu_bridge.py +846 -846
  9. package/dist/agents/status.d.ts +28 -0
  10. package/dist/agents/status.d.ts.map +1 -0
  11. package/dist/agents/status.js +44 -0
  12. package/dist/agents/status.js.map +1 -0
  13. package/dist/cache/result-cache.d.ts +20 -0
  14. package/dist/cache/result-cache.d.ts.map +1 -0
  15. package/dist/cache/result-cache.js +64 -0
  16. package/dist/cache/result-cache.js.map +1 -0
  17. package/dist/cache/security.d.ts +21 -0
  18. package/dist/cache/security.d.ts.map +1 -0
  19. package/dist/cache/security.js +39 -0
  20. package/dist/cache/security.js.map +1 -0
  21. package/dist/cli/autocomplete.d.ts +25 -0
  22. package/dist/cli/autocomplete.d.ts.map +1 -0
  23. package/dist/cli/autocomplete.js +99 -0
  24. package/dist/cli/autocomplete.js.map +1 -0
  25. package/dist/cli/commands/agents.d.ts +2 -0
  26. package/dist/cli/commands/agents.d.ts.map +1 -1
  27. package/dist/cli/commands/agents.js +8 -0
  28. package/dist/cli/commands/agents.js.map +1 -1
  29. package/dist/cli/commands/backfill.d.ts +2 -0
  30. package/dist/cli/commands/backfill.d.ts.map +1 -1
  31. package/dist/cli/commands/backfill.js +13 -0
  32. package/dist/cli/commands/backfill.js.map +1 -1
  33. package/dist/cli/commands/cleanup.d.ts +2 -0
  34. package/dist/cli/commands/cleanup.d.ts.map +1 -1
  35. package/dist/cli/commands/cleanup.js +7 -0
  36. package/dist/cli/commands/cleanup.js.map +1 -1
  37. package/dist/cli/commands/config-notify-profile.d.ts +3 -0
  38. package/dist/cli/commands/config-notify-profile.d.ts.map +1 -0
  39. package/dist/cli/commands/config-notify-profile.js +58 -0
  40. package/dist/cli/commands/config-notify-profile.js.map +1 -0
  41. package/dist/cli/commands/config-stop-callback.d.ts +3 -0
  42. package/dist/cli/commands/config-stop-callback.d.ts.map +1 -0
  43. package/dist/cli/commands/config-stop-callback.js +97 -0
  44. package/dist/cli/commands/config-stop-callback.js.map +1 -0
  45. package/dist/cli/commands/config.d.ts +3 -0
  46. package/dist/cli/commands/config.d.ts.map +1 -0
  47. package/dist/cli/commands/config.js +10 -0
  48. package/dist/cli/commands/config.js.map +1 -0
  49. package/dist/cli/commands/cost.d.ts +2 -0
  50. package/dist/cli/commands/cost.d.ts.map +1 -1
  51. package/dist/cli/commands/cost.js +8 -0
  52. package/dist/cli/commands/cost.js.map +1 -1
  53. package/dist/cli/commands/dashboard.d.ts +3 -0
  54. package/dist/cli/commands/dashboard.d.ts.map +1 -0
  55. package/dist/cli/commands/dashboard.js +13 -0
  56. package/dist/cli/commands/dashboard.js.map +1 -0
  57. package/dist/cli/commands/doctor.d.ts +3 -0
  58. package/dist/cli/commands/doctor.d.ts.map +1 -0
  59. package/dist/cli/commands/doctor.js +11 -0
  60. package/dist/cli/commands/doctor.js.map +1 -0
  61. package/dist/cli/commands/export.d.ts +2 -0
  62. package/dist/cli/commands/export.d.ts.map +1 -1
  63. package/dist/cli/commands/export.js +10 -0
  64. package/dist/cli/commands/export.js.map +1 -1
  65. package/dist/cli/commands/info.d.ts +3 -0
  66. package/dist/cli/commands/info.d.ts.map +1 -0
  67. package/dist/cli/commands/info.js +10 -0
  68. package/dist/cli/commands/info.js.map +1 -0
  69. package/dist/cli/commands/init.d.ts +3 -0
  70. package/dist/cli/commands/init.d.ts.map +1 -0
  71. package/dist/cli/commands/init.js +10 -0
  72. package/dist/cli/commands/init.js.map +1 -0
  73. package/dist/cli/commands/interop.d.ts +3 -0
  74. package/dist/cli/commands/interop.d.ts.map +1 -0
  75. package/dist/cli/commands/interop.js +10 -0
  76. package/dist/cli/commands/interop.js.map +1 -0
  77. package/dist/cli/commands/launch.d.ts +3 -0
  78. package/dist/cli/commands/launch.d.ts.map +1 -0
  79. package/dist/cli/commands/launch.js +20 -0
  80. package/dist/cli/commands/launch.js.map +1 -0
  81. package/dist/cli/commands/perf-wrapper.d.ts +2 -0
  82. package/dist/cli/commands/perf-wrapper.d.ts.map +1 -0
  83. package/dist/cli/commands/perf-wrapper.js +4 -0
  84. package/dist/cli/commands/perf-wrapper.js.map +1 -0
  85. package/dist/cli/commands/registry.d.ts +9 -0
  86. package/dist/cli/commands/registry.d.ts.map +1 -0
  87. package/dist/cli/commands/registry.js +29 -0
  88. package/dist/cli/commands/registry.js.map +1 -0
  89. package/dist/cli/commands/sessions.d.ts +2 -0
  90. package/dist/cli/commands/sessions.d.ts.map +1 -1
  91. package/dist/cli/commands/sessions.js +8 -0
  92. package/dist/cli/commands/sessions.js.map +1 -1
  93. package/dist/cli/commands/setup.d.ts +3 -0
  94. package/dist/cli/commands/setup.d.ts.map +1 -0
  95. package/dist/cli/commands/setup.js +10 -0
  96. package/dist/cli/commands/setup.js.map +1 -0
  97. package/dist/cli/commands/stats.d.ts +2 -0
  98. package/dist/cli/commands/stats.d.ts.map +1 -1
  99. package/dist/cli/commands/stats.js +8 -0
  100. package/dist/cli/commands/stats.js.map +1 -1
  101. package/dist/cli/commands/teleport-wrapper.d.ts +3 -0
  102. package/dist/cli/commands/teleport-wrapper.d.ts.map +1 -0
  103. package/dist/cli/commands/teleport-wrapper.js +12 -0
  104. package/dist/cli/commands/teleport-wrapper.js.map +1 -0
  105. package/dist/cli/commands/test-prompt.d.ts +3 -0
  106. package/dist/cli/commands/test-prompt.d.ts.map +1 -0
  107. package/dist/cli/commands/test-prompt.js +11 -0
  108. package/dist/cli/commands/test-prompt.js.map +1 -0
  109. package/dist/cli/commands/tui.d.ts +3 -0
  110. package/dist/cli/commands/tui.d.ts.map +1 -0
  111. package/dist/cli/commands/tui.js +10 -0
  112. package/dist/cli/commands/tui.js.map +1 -0
  113. package/dist/cli/commands/tutorial.d.ts +8 -0
  114. package/dist/cli/commands/tutorial.d.ts.map +1 -0
  115. package/dist/cli/commands/tutorial.js +31 -0
  116. package/dist/cli/commands/tutorial.js.map +1 -0
  117. package/dist/cli/commands/update.d.ts +3 -0
  118. package/dist/cli/commands/update.d.ts.map +1 -0
  119. package/dist/cli/commands/update.js +10 -0
  120. package/dist/cli/commands/update.js.map +1 -0
  121. package/dist/cli/commands/version.d.ts +3 -0
  122. package/dist/cli/commands/version.d.ts.map +1 -0
  123. package/dist/cli/commands/version.js +10 -0
  124. package/dist/cli/commands/version.js.map +1 -0
  125. package/dist/cli/commands/wait-wrapper.d.ts +3 -0
  126. package/dist/cli/commands/wait-wrapper.d.ts.map +1 -0
  127. package/dist/cli/commands/wait-wrapper.js +12 -0
  128. package/dist/cli/commands/wait-wrapper.js.map +1 -0
  129. package/dist/cli/error-handler.d.ts +7 -0
  130. package/dist/cli/error-handler.d.ts.map +1 -0
  131. package/dist/cli/error-handler.js +30 -0
  132. package/dist/cli/error-handler.js.map +1 -0
  133. package/dist/cli/index.d.ts +1 -7
  134. package/dist/cli/index.d.ts.map +1 -1
  135. package/dist/cli/index.js +44 -1474
  136. package/dist/cli/index.js.map +1 -1
  137. package/dist/cli/loader.d.ts +24 -0
  138. package/dist/cli/loader.d.ts.map +1 -0
  139. package/dist/cli/loader.js +27 -0
  140. package/dist/cli/loader.js.map +1 -0
  141. package/dist/cli/progress/agent-status.d.ts +22 -0
  142. package/dist/cli/progress/agent-status.d.ts.map +1 -0
  143. package/dist/cli/progress/agent-status.js +44 -0
  144. package/dist/cli/progress/agent-status.js.map +1 -0
  145. package/dist/cli/progress/examples.d.ts +7 -0
  146. package/dist/cli/progress/examples.d.ts.map +1 -0
  147. package/dist/cli/progress/examples.js +50 -0
  148. package/dist/cli/progress/examples.js.map +1 -0
  149. package/dist/cli/progress/index.d.ts +7 -0
  150. package/dist/cli/progress/index.d.ts.map +1 -0
  151. package/dist/cli/progress/index.js +7 -0
  152. package/dist/cli/progress/index.js.map +1 -0
  153. package/dist/cli/progress/progress-bar.d.ts +17 -0
  154. package/dist/cli/progress/progress-bar.d.ts.map +1 -0
  155. package/dist/cli/progress/progress-bar.js +28 -0
  156. package/dist/cli/progress/progress-bar.js.map +1 -0
  157. package/dist/cli/progress/spinner.d.ts +14 -0
  158. package/dist/cli/progress/spinner.d.ts.map +1 -0
  159. package/dist/cli/progress/spinner.js +34 -0
  160. package/dist/cli/progress/spinner.js.map +1 -0
  161. package/dist/cli/tutorial/index.d.ts +15 -0
  162. package/dist/cli/tutorial/index.d.ts.map +1 -0
  163. package/dist/cli/tutorial/index.js +89 -0
  164. package/dist/cli/tutorial/index.js.map +1 -0
  165. package/dist/cli/utils/config.d.ts +2 -0
  166. package/dist/cli/utils/config.d.ts.map +1 -0
  167. package/dist/cli/utils/config.js +4 -0
  168. package/dist/cli/utils/config.js.map +1 -0
  169. package/dist/cli/utils/dashboard.d.ts +2 -0
  170. package/dist/cli/utils/dashboard.d.ts.map +1 -0
  171. package/dist/cli/utils/dashboard.js +74 -0
  172. package/dist/cli/utils/dashboard.js.map +1 -0
  173. package/dist/cli/utils/info.d.ts +2 -0
  174. package/dist/cli/utils/info.d.ts.map +1 -0
  175. package/dist/cli/utils/info.js +4 -0
  176. package/dist/cli/utils/info.js.map +1 -0
  177. package/dist/cli/utils/init.d.ts +2 -0
  178. package/dist/cli/utils/init.d.ts.map +1 -0
  179. package/dist/cli/utils/init.js +4 -0
  180. package/dist/cli/utils/init.js.map +1 -0
  181. package/dist/cli/utils/interop.d.ts +2 -0
  182. package/dist/cli/utils/interop.d.ts.map +1 -0
  183. package/dist/cli/utils/interop.js +4 -0
  184. package/dist/cli/utils/interop.js.map +1 -0
  185. package/dist/cli/utils/setup.d.ts +2 -0
  186. package/dist/cli/utils/setup.d.ts.map +1 -0
  187. package/dist/cli/utils/setup.js +4 -0
  188. package/dist/cli/utils/setup.js.map +1 -0
  189. package/dist/cli/utils/test-prompt.d.ts +2 -0
  190. package/dist/cli/utils/test-prompt.d.ts.map +1 -0
  191. package/dist/cli/utils/test-prompt.js +4 -0
  192. package/dist/cli/utils/test-prompt.js.map +1 -0
  193. package/dist/cli/utils/update.d.ts +2 -0
  194. package/dist/cli/utils/update.d.ts.map +1 -0
  195. package/dist/cli/utils/update.js +4 -0
  196. package/dist/cli/utils/update.js.map +1 -0
  197. package/dist/cli/utils/version-info.d.ts +2 -0
  198. package/dist/cli/utils/version-info.d.ts.map +1 -0
  199. package/dist/cli/utils/version-info.js +4 -0
  200. package/dist/cli/utils/version-info.js.map +1 -0
  201. package/dist/errors/classifier.d.ts +10 -0
  202. package/dist/errors/classifier.d.ts.map +1 -0
  203. package/dist/errors/classifier.js +119 -0
  204. package/dist/errors/classifier.js.map +1 -0
  205. package/dist/errors/index.d.ts +7 -0
  206. package/dist/errors/index.d.ts.map +1 -0
  207. package/dist/errors/index.js +7 -0
  208. package/dist/errors/index.js.map +1 -0
  209. package/dist/errors/spelling.d.ts +5 -0
  210. package/dist/errors/spelling.d.ts.map +1 -0
  211. package/dist/errors/spelling.js +36 -0
  212. package/dist/errors/spelling.js.map +1 -0
  213. package/dist/errors/types.d.ts +25 -0
  214. package/dist/errors/types.d.ts.map +1 -0
  215. package/dist/errors/types.js +13 -0
  216. package/dist/errors/types.js.map +1 -0
  217. package/dist/features/ccg/incremental-processor.d.ts +3 -3
  218. package/dist/features/ccg/incremental-processor.d.ts.map +1 -1
  219. package/dist/features/ccg/incremental-processor.js +7 -7
  220. package/dist/features/ccg/incremental-processor.js.map +1 -1
  221. package/dist/features/state-manager/index.d.ts +5 -0
  222. package/dist/features/state-manager/index.d.ts.map +1 -1
  223. package/dist/features/state-manager/index.js +7 -0
  224. package/dist/features/state-manager/index.js.map +1 -1
  225. package/dist/hooks/bridge-converter.d.ts +10 -0
  226. package/dist/hooks/bridge-converter.d.ts.map +1 -0
  227. package/dist/hooks/bridge-converter.js +43 -0
  228. package/dist/hooks/bridge-converter.js.map +1 -0
  229. package/dist/hooks/bridge.d.ts +2 -31
  230. package/dist/hooks/bridge.d.ts.map +1 -1
  231. package/dist/hooks/bridge.js +24 -1066
  232. package/dist/hooks/bridge.js.map +1 -1
  233. package/dist/hooks/cache.d.ts +2 -0
  234. package/dist/hooks/cache.d.ts.map +1 -0
  235. package/dist/hooks/cache.js +78 -0
  236. package/dist/hooks/cache.js.map +1 -0
  237. package/dist/hooks/handlers/autopilot.d.ts +3 -0
  238. package/dist/hooks/handlers/autopilot.d.ts.map +1 -0
  239. package/dist/hooks/handlers/autopilot.js +23 -0
  240. package/dist/hooks/handlers/autopilot.js.map +1 -0
  241. package/dist/hooks/handlers/index.d.ts +5 -0
  242. package/dist/hooks/handlers/index.d.ts.map +1 -0
  243. package/dist/hooks/handlers/index.js +18 -0
  244. package/dist/hooks/handlers/index.js.map +1 -0
  245. package/dist/hooks/handlers/keyword-detector.d.ts +3 -0
  246. package/dist/hooks/handlers/keyword-detector.d.ts.map +1 -0
  247. package/dist/hooks/handlers/keyword-detector.js +66 -0
  248. package/dist/hooks/handlers/keyword-detector.js.map +1 -0
  249. package/dist/hooks/handlers/persistent-mode.d.ts +3 -0
  250. package/dist/hooks/handlers/persistent-mode.d.ts.map +1 -0
  251. package/dist/hooks/handlers/persistent-mode.js +82 -0
  252. package/dist/hooks/handlers/persistent-mode.js.map +1 -0
  253. package/dist/hooks/handlers/post-tool-use.d.ts +3 -0
  254. package/dist/hooks/handlers/post-tool-use.d.ts.map +1 -0
  255. package/dist/hooks/handlers/post-tool-use.js +74 -0
  256. package/dist/hooks/handlers/post-tool-use.js.map +1 -0
  257. package/dist/hooks/handlers/pre-tool-use.d.ts +7 -0
  258. package/dist/hooks/handlers/pre-tool-use.d.ts.map +1 -0
  259. package/dist/hooks/handlers/pre-tool-use.js +120 -0
  260. package/dist/hooks/handlers/pre-tool-use.js.map +1 -0
  261. package/dist/hooks/handlers/ralph.d.ts +3 -0
  262. package/dist/hooks/handlers/ralph.d.ts.map +1 -0
  263. package/dist/hooks/handlers/ralph.js +53 -0
  264. package/dist/hooks/handlers/ralph.js.map +1 -0
  265. package/dist/hooks/handlers/route-map.d.ts +8 -0
  266. package/dist/hooks/handlers/route-map.d.ts.map +1 -0
  267. package/dist/hooks/handlers/route-map.js +64 -0
  268. package/dist/hooks/handlers/route-map.js.map +1 -0
  269. package/dist/hooks/handlers/session-start.d.ts +3 -0
  270. package/dist/hooks/handlers/session-start.d.ts.map +1 -0
  271. package/dist/hooks/handlers/session-start.js +186 -0
  272. package/dist/hooks/handlers/session-start.js.map +1 -0
  273. package/dist/hooks/handlers/stop-continuation.d.ts +3 -0
  274. package/dist/hooks/handlers/stop-continuation.d.ts.map +1 -0
  275. package/dist/hooks/handlers/stop-continuation.js +50 -0
  276. package/dist/hooks/handlers/stop-continuation.js.map +1 -0
  277. package/dist/hooks/team-state-reader.d.ts +24 -0
  278. package/dist/hooks/team-state-reader.d.ts.map +1 -0
  279. package/dist/hooks/team-state-reader.js +88 -0
  280. package/dist/hooks/team-state-reader.js.map +1 -0
  281. package/dist/hooks/validation.d.ts +5 -0
  282. package/dist/hooks/validation.d.ts.map +1 -0
  283. package/dist/hooks/validation.js +48 -0
  284. package/dist/hooks/validation.js.map +1 -0
  285. package/dist/index.d.ts +1 -1
  286. package/dist/index.d.ts.map +1 -1
  287. package/dist/index.js +3 -1
  288. package/dist/index.js.map +1 -1
  289. package/dist/lib/unified-logger.d.ts +15 -0
  290. package/dist/lib/unified-logger.d.ts.map +1 -0
  291. package/dist/lib/unified-logger.js +23 -0
  292. package/dist/lib/unified-logger.js.map +1 -0
  293. package/dist/mcp/adapters/memory-adapter.d.ts +2 -2
  294. package/dist/mcp/adapters/state-adapter.d.ts +5 -5
  295. package/dist/mcp/adapters/trace-adapter.d.ts +3 -3
  296. package/dist/mcp/codex-server.d.ts.map +1 -1
  297. package/dist/mcp/codex-server.js +22 -27
  298. package/dist/mcp/codex-server.js.map +1 -1
  299. package/dist/mcp/config/schema.d.ts +6 -6
  300. package/dist/mcp/config-schema.d.ts +6 -6
  301. package/dist/mcp/gemini-server.d.ts.map +1 -1
  302. package/dist/mcp/gemini-server.js +21 -26
  303. package/dist/mcp/gemini-server.js.map +1 -1
  304. package/dist/mcp/logger.d.ts.map +1 -1
  305. package/dist/mcp/logger.js +3 -1
  306. package/dist/mcp/logger.js.map +1 -1
  307. package/dist/mcp/tool-types.d.ts +50 -0
  308. package/dist/mcp/tool-types.d.ts.map +1 -0
  309. package/dist/mcp/tool-types.js +6 -0
  310. package/dist/mcp/tool-types.js.map +1 -0
  311. package/dist/observability/masker.d.ts +3 -0
  312. package/dist/observability/masker.d.ts.map +1 -0
  313. package/dist/observability/masker.js +23 -0
  314. package/dist/observability/masker.js.map +1 -0
  315. package/dist/observability/monitor.d.ts +17 -0
  316. package/dist/observability/monitor.d.ts.map +1 -0
  317. package/dist/observability/monitor.js +30 -0
  318. package/dist/observability/monitor.js.map +1 -0
  319. package/dist/observability/tracer.d.ts +6 -0
  320. package/dist/observability/tracer.d.ts.map +1 -0
  321. package/dist/observability/tracer.js +36 -0
  322. package/dist/observability/tracer.js.map +1 -0
  323. package/dist/reliability/circuit-breaker.d.ts +24 -0
  324. package/dist/reliability/circuit-breaker.d.ts.map +1 -0
  325. package/dist/reliability/circuit-breaker.js +59 -0
  326. package/dist/reliability/circuit-breaker.js.map +1 -0
  327. package/dist/reliability/model-fallback.d.ts +21 -0
  328. package/dist/reliability/model-fallback.d.ts.map +1 -0
  329. package/dist/reliability/model-fallback.js +47 -0
  330. package/dist/reliability/model-fallback.js.map +1 -0
  331. package/dist/reliability/retry-classifier.d.ts +17 -0
  332. package/dist/reliability/retry-classifier.d.ts.map +1 -0
  333. package/dist/reliability/retry-classifier.js +59 -0
  334. package/dist/reliability/retry-classifier.js.map +1 -0
  335. package/dist/reliability/retry-manager.d.ts +20 -0
  336. package/dist/reliability/retry-manager.d.ts.map +1 -0
  337. package/dist/reliability/retry-manager.js +45 -0
  338. package/dist/reliability/retry-manager.js.map +1 -0
  339. package/dist/security/audit-logger.d.ts +21 -0
  340. package/dist/security/audit-logger.d.ts.map +1 -0
  341. package/dist/security/audit-logger.js +58 -0
  342. package/dist/security/audit-logger.js.map +1 -0
  343. package/dist/security/budget-controller.d.ts +23 -0
  344. package/dist/security/budget-controller.d.ts.map +1 -0
  345. package/dist/security/budget-controller.js +31 -0
  346. package/dist/security/budget-controller.js.map +1 -0
  347. package/dist/security/concurrency-control.d.ts +42 -0
  348. package/dist/security/concurrency-control.d.ts.map +1 -0
  349. package/dist/security/concurrency-control.js +87 -0
  350. package/dist/security/concurrency-control.js.map +1 -0
  351. package/dist/security/resource-guard.d.ts +25 -0
  352. package/dist/security/resource-guard.d.ts.map +1 -0
  353. package/dist/security/resource-guard.js +57 -0
  354. package/dist/security/resource-guard.js.map +1 -0
  355. package/dist/security/tenant-isolator.d.ts +27 -0
  356. package/dist/security/tenant-isolator.d.ts.map +1 -0
  357. package/dist/security/tenant-isolator.js +52 -0
  358. package/dist/security/tenant-isolator.js.map +1 -0
  359. package/dist/state/backup-manager.d.ts +56 -0
  360. package/dist/state/backup-manager.d.ts.map +1 -0
  361. package/dist/state/backup-manager.js +174 -0
  362. package/dist/state/backup-manager.js.map +1 -0
  363. package/dist/state/index.d.ts +26 -0
  364. package/dist/state/index.d.ts.map +1 -0
  365. package/dist/state/index.js +40 -0
  366. package/dist/state/index.js.map +1 -0
  367. package/dist/state/migration/index.d.ts +25 -0
  368. package/dist/state/migration/index.d.ts.map +1 -0
  369. package/dist/state/migration/index.js +61 -0
  370. package/dist/state/migration/index.js.map +1 -0
  371. package/dist/state/migration/integrity.d.ts +30 -0
  372. package/dist/state/migration/integrity.d.ts.map +1 -0
  373. package/dist/state/migration/integrity.js +109 -0
  374. package/dist/state/migration/integrity.js.map +1 -0
  375. package/dist/tools/python-repl/index.d.ts +2 -2
  376. package/dist/tools/python-repl/tool.d.ts +2 -2
  377. package/docs/CLAUDE.md +1 -1
  378. package/docs/INSTALL.md +2 -2
  379. package/docs/REFERENCE.md +1 -1
  380. package/docs/api/assets/highlight.css +85 -85
  381. package/docs/api/assets/style.css +1633 -1633
  382. package/docs/api/classes/ContextCollector.html +21 -21
  383. package/docs/api/functions/activateUltrawork.html +2 -2
  384. package/docs/api/functions/addCustomNote.html +5 -5
  385. package/docs/api/functions/addDirective.html +2 -2
  386. package/docs/api/functions/addManualEntry.html +2 -2
  387. package/docs/api/functions/addPattern.html +3 -3
  388. package/docs/api/functions/addWorker.html +2 -2
  389. package/docs/api/functions/addWorkingMemoryEntry.html +2 -2
  390. package/docs/api/functions/analyzeContextUsage.html +2 -2
  391. package/docs/api/functions/appendProgress.html +2 -2
  392. package/docs/api/functions/appendSessionId.html +2 -2
  393. package/docs/api/functions/applyCommentFilters.html +3 -3
  394. package/docs/api/functions/assignFileToWorker.html +2 -2
  395. package/docs/api/functions/backgroundUpdateCheck.html +2 -2
  396. package/docs/api/functions/buildAxiomBootContext.html +1 -1
  397. package/docs/api/functions/buildBoulderContinuation.html +2 -2
  398. package/docs/api/functions/buildDelegationTable.html +2 -2
  399. package/docs/api/functions/buildKeyTriggersSection.html +2 -2
  400. package/docs/api/functions/buildOrchestratorReminder.html +2 -2
  401. package/docs/api/functions/buildUseAvoidSection.html +2 -2
  402. package/docs/api/functions/buildVerificationReminder.html +2 -2
  403. package/docs/api/functions/canResumeAutopilot.html +10 -10
  404. package/docs/api/functions/canStartMode.html +5 -5
  405. package/docs/api/functions/cancelAutopilot.html +3 -3
  406. package/docs/api/functions/cancelUltraQA.html +2 -2
  407. package/docs/api/functions/checkBackgroundNotifications.html +2 -2
  408. package/docs/api/functions/checkBoulderContinuation.html +2 -2
  409. package/docs/api/functions/checkDuplicateTriggers.html +2 -2
  410. package/docs/api/functions/checkExpertGate.html +1 -1
  411. package/docs/api/functions/checkForComments.html +2 -2
  412. package/docs/api/functions/checkForUpdates.html +2 -2
  413. package/docs/api/functions/checkIncompleteTodos.html +13 -13
  414. package/docs/api/functions/checkPersistentModes.html +3 -3
  415. package/docs/api/functions/cleanupOrphanedState.html +2 -2
  416. package/docs/api/functions/cleanupStaleAgents.html +2 -2
  417. package/docs/api/functions/cleanupTransientState.html +2 -2
  418. package/docs/api/functions/clearAgentUsageState.html +1 -1
  419. package/docs/api/functions/clearAllModeStates.html +2 -2
  420. package/docs/api/functions/clearAutopilot.html +2 -2
  421. package/docs/api/functions/clearAutopilotState.html +2 -2
  422. package/docs/api/functions/clearBeadsContext.html +2 -2
  423. package/docs/api/functions/clearBoulderState.html +2 -2
  424. package/docs/api/functions/clearDetectionState.html +2 -2
  425. package/docs/api/functions/clearInjectedPaths.html +2 -2
  426. package/docs/api/functions/clearInjectedRules.html +2 -2
  427. package/docs/api/functions/clearLinkedUltraworkState.html +2 -2
  428. package/docs/api/functions/clearModeState.html +10 -10
  429. package/docs/api/functions/clearProjectMemorySession.html +4 -4
  430. package/docs/api/functions/clearRalphState.html +2 -2
  431. package/docs/api/functions/clearRapidFireDebounce.html +2 -2
  432. package/docs/api/functions/clearSkillSession.html +2 -2
  433. package/docs/api/functions/clearThinkModeState.html +2 -2
  434. package/docs/api/functions/clearTrackingState.html +2 -2
  435. package/docs/api/functions/clearUltraQAState.html +2 -2
  436. package/docs/api/functions/clearVerificationState.html +3 -3
  437. package/docs/api/functions/commandExists.html +2 -2
  438. package/docs/api/functions/compareVersions.html +3 -3
  439. package/docs/api/functions/completeUltraQA.html +2 -2
  440. package/docs/api/functions/completeUltrapilot.html +2 -2
  441. package/docs/api/functions/completeWorker.html +2 -2
  442. package/docs/api/functions/containsTokenLimitError.html +2 -2
  443. package/docs/api/functions/createAgentToolRestrictions.html +3 -3
  444. package/docs/api/functions/createAgentUsageReminderHook.html +1 -1
  445. package/docs/api/functions/createAutoSlashCommandHook.html +7 -7
  446. package/docs/api/functions/createBackgroundNotificationHook.html +7 -7
  447. package/docs/api/functions/createBackgroundTaskManager.html +2 -2
  448. package/docs/api/functions/createBoulderState.html +2 -2
  449. package/docs/api/functions/createCommentCheckerHook.html +6 -6
  450. package/docs/api/functions/createCompactCheckpoint.html +2 -2
  451. package/docs/api/functions/createContentHash.html +2 -2
  452. package/docs/api/functions/createContextInjectorHook.html +7 -7
  453. package/docs/api/functions/createDirectoryReadmeInjectorHook.html +9 -9
  454. package/docs/api/functions/createEmptyMessageSanitizerHook.html +6 -6
  455. package/docs/api/functions/createEnvContext.html +2 -2
  456. package/docs/api/functions/createHookOutput.html +4 -4
  457. package/docs/api/functions/createLearnedSkillsHook.html +6 -6
  458. package/docs/api/functions/createMagicKeywordProcessor.html +2 -2
  459. package/docs/api/functions/createModeMarker.html +6 -6
  460. package/docs/api/functions/createPrd.html +2 -2
  461. package/docs/api/functions/createPreemptiveCompactionHook.html +6 -6
  462. package/docs/api/functions/createRalphLoopHook.html +2 -2
  463. package/docs/api/functions/createRecoveryHook.html +7 -7
  464. package/docs/api/functions/createRulesInjectorHook.html +8 -8
  465. package/docs/api/functions/createSimplePrd.html +2 -2
  466. package/docs/api/functions/createSisyphusOrchestratorHook.html +7 -7
  467. package/docs/api/functions/createSisyphusSession.html +7 -7
  468. package/docs/api/functions/createThinkModeHook.html +7 -7
  469. package/docs/api/functions/createThinkingBlockValidatorHook.html +1 -1
  470. package/docs/api/functions/createTodoContinuationHook.html +2 -2
  471. package/docs/api/functions/createUltraworkStateHook.html +2 -2
  472. package/docs/api/functions/deactivateUltrawork.html +8 -8
  473. package/docs/api/functions/decayHotPaths.html +2 -2
  474. package/docs/api/functions/decomposeTask.html +11 -11
  475. package/docs/api/functions/deepMerge.html +2 -2
  476. package/docs/api/functions/detectArchitectApproval.html +2 -2
  477. package/docs/api/functions/detectArchitectRejection.html +2 -2
  478. package/docs/api/functions/detectContextLimitError.html +2 -2
  479. package/docs/api/functions/detectContextLimitErrorInText.html +2 -2
  480. package/docs/api/functions/detectDirectivesFromMessage.html +2 -2
  481. package/docs/api/functions/detectEditError.html +2 -2
  482. package/docs/api/functions/detectEditErrorInOutput.html +2 -2
  483. package/docs/api/functions/detectEditErrorInText.html +2 -2
  484. package/docs/api/functions/detectExtractableMoment.html +2 -2
  485. package/docs/api/functions/detectKeywordsWithType.html +11 -11
  486. package/docs/api/functions/detectMagicKeywords.html +2 -2
  487. package/docs/api/functions/detectProjectEnvironment.html +2 -2
  488. package/docs/api/functions/detectRecoverableError.html +3 -3
  489. package/docs/api/functions/detectSessionErrorType.html +2 -2
  490. package/docs/api/functions/detectSlashCommand.html +3 -3
  491. package/docs/api/functions/detectThinkKeyword.html +2 -2
  492. package/docs/api/functions/detectUltrathinkKeyword.html +2 -2
  493. package/docs/api/functions/discoverAllCommands.html +2 -2
  494. package/docs/api/functions/enablePrdMode.html +2 -2
  495. package/docs/api/functions/enhancePrompt.html +2 -2
  496. package/docs/api/functions/ensureAutopilotDir.html +2 -2
  497. package/docs/api/functions/ensureDirectoryStructure.html +2 -2
  498. package/docs/api/functions/ensureModeStateDir.html +2 -2
  499. package/docs/api/functions/ensureSkillsDir.html +2 -2
  500. package/docs/api/functions/estimateTokens.html +2 -2
  501. package/docs/api/functions/executeSlashCommand.html +2 -2
  502. package/docs/api/functions/expandCommand.html +8 -8
  503. package/docs/api/functions/expandCommandPrompt.html +6 -6
  504. package/docs/api/functions/expandCommands.html +2 -2
  505. package/docs/api/functions/exportSessionSummary.html +2 -2
  506. package/docs/api/functions/exportWisdomToNotepad.html +2 -2
  507. package/docs/api/functions/extractPromptText.html +11 -11
  508. package/docs/api/functions/extractSlashPromptText.html +2 -2
  509. package/docs/api/functions/extractThinkPromptText.html +2 -2
  510. package/docs/api/functions/failWorker.html +2 -2
  511. package/docs/api/functions/findCommand.html +2 -2
  512. package/docs/api/functions/findMatchingSkills.html +2 -2
  513. package/docs/api/functions/findPlannerPlans.html +3 -3
  514. package/docs/api/functions/findPrdPath.html +2 -2
  515. package/docs/api/functions/findPreviousThinkingContent.html +1 -1
  516. package/docs/api/functions/findProgressPath.html +2 -2
  517. package/docs/api/functions/findProjectRoot.html +3 -3
  518. package/docs/api/functions/findRecoveryEmptyMessages.html +2 -2
  519. package/docs/api/functions/findRecoveryOrphanThinking.html +2 -2
  520. package/docs/api/functions/findRecoveryThinkingBlocks.html +2 -2
  521. package/docs/api/functions/findRuleFiles.html +4 -4
  522. package/docs/api/functions/findSkillFiles.html +3 -3
  523. package/docs/api/functions/formatCancelMessage.html +2 -2
  524. package/docs/api/functions/formatCompactSummary.html +2 -2
  525. package/docs/api/functions/formatContextSummary.html +3 -3
  526. package/docs/api/functions/formatDirectivesForContext.html +2 -2
  527. package/docs/api/functions/formatFailureSummary.html +2 -2
  528. package/docs/api/functions/formatFile.html +2 -2
  529. package/docs/api/functions/formatFileChanges.html +2 -2
  530. package/docs/api/functions/formatFileList.html +2 -2
  531. package/docs/api/functions/formatFullContext.html +2 -2
  532. package/docs/api/functions/formatFullNotepad.html +2 -2
  533. package/docs/api/functions/formatLearningsForContext.html +2 -2
  534. package/docs/api/functions/formatNextStoryPrompt.html +2 -2
  535. package/docs/api/functions/formatNotepadContext.html +2 -2
  536. package/docs/api/functions/formatPatternsForContext.html +2 -2
  537. package/docs/api/functions/formatPrd.html +2 -2
  538. package/docs/api/functions/formatPrdStatus.html +2 -2
  539. package/docs/api/functions/formatPreCompactSummary.html +2 -2
  540. package/docs/api/functions/formatProgressForContext.html +2 -2
  541. package/docs/api/functions/formatProgressMessage.html +2 -2
  542. package/docs/api/functions/formatStory.html +2 -2
  543. package/docs/api/functions/formatSummary.html +2 -2
  544. package/docs/api/functions/formatUpdateNotification.html +2 -2
  545. package/docs/api/functions/formatValidationResults.html +2 -2
  546. package/docs/api/functions/generateExtractionPrompt.html +2 -2
  547. package/docs/api/functions/generateSkillFrontmatter.html +2 -2
  548. package/docs/api/functions/generateSummary.html +2 -2
  549. package/docs/api/functions/getActiveAgentCount.html +2 -2
  550. package/docs/api/functions/getActiveExclusiveMode.html +4 -4
  551. package/docs/api/functions/getActiveModes.html +2 -2
  552. package/docs/api/functions/getActivePlanPath.html +2 -2
  553. package/docs/api/functions/getAgentDefinitions.html +2 -2
  554. package/docs/api/functions/getAgentsByType.html +2 -2
  555. package/docs/api/functions/getAllCommands.html +2 -2
  556. package/docs/api/functions/getAllModeStatuses.html +5 -5
  557. package/docs/api/functions/getAllSkills.html +2 -2
  558. package/docs/api/functions/getArchitectRejectionContinuationPrompt.html +2 -2
  559. package/docs/api/functions/getArchitectVerificationPrompt.html +2 -2
  560. package/docs/api/functions/getAutoFormatMessage.html +2 -2
  561. package/docs/api/functions/getAutopilotStateAge.html +3 -3
  562. package/docs/api/functions/getAvailableAgents.html +2 -2
  563. package/docs/api/functions/getAxiomDir.html +1 -1
  564. package/docs/api/functions/getBackgroundTaskGuidance.html +4 -4
  565. package/docs/api/functions/getBeadsContextConfig.html +2 -2
  566. package/docs/api/functions/getBeadsInstructions.html +2 -2
  567. package/docs/api/functions/getBoulderFilePath.html +2 -2
  568. package/docs/api/functions/getCheckpointPath.html +2 -2
  569. package/docs/api/functions/getClaudeThinkingConfig.html +3 -3
  570. package/docs/api/functions/getCommand.html +2 -2
  571. package/docs/api/functions/getCommandsDir.html +2 -2
  572. package/docs/api/functions/getCompactionQueueDepth.html +3 -3
  573. package/docs/api/functions/getCompletedWorkers.html +2 -2
  574. package/docs/api/functions/getDefaultMcpServers.html +1 -1
  575. package/docs/api/functions/getDefaultModelForCategory.html +2 -2
  576. package/docs/api/functions/getDetectionStats.html +2 -2
  577. package/docs/api/functions/getDirectPlanningPrompt.html +3 -3
  578. package/docs/api/functions/getExecutionPrompt.html +2 -2
  579. package/docs/api/functions/getExpansionPrompt.html +3 -3
  580. package/docs/api/functions/getExpertGateMessage.html +1 -1
  581. package/docs/api/functions/getFailedWorkers.html +2 -2
  582. package/docs/api/functions/getFormatter.html +2 -2
  583. package/docs/api/functions/getGitDiffStats.html +2 -2
  584. package/docs/api/functions/getGlobalStateFilePath.html +4 -4
  585. package/docs/api/functions/getGoalCommand.html +2 -2
  586. package/docs/api/functions/getHighVariant.html +3 -3
  587. package/docs/api/functions/getInstallInfo.html +2 -2
  588. package/docs/api/functions/getInstalledVersion.html +2 -2
  589. package/docs/api/functions/getIssuesToFix.html +2 -2
  590. package/docs/api/functions/getLastDetection.html +2 -2
  591. package/docs/api/functions/getLearnerConfigValue.html +2 -2
  592. package/docs/api/functions/getLinter.html +2 -2
  593. package/docs/api/functions/getManualSection.html +2 -2
  594. package/docs/api/functions/getMemoryFilePaths.html +1 -1
  595. package/docs/api/functions/getModeMarkerFilePath.html +2 -2
  596. package/docs/api/functions/getModeStateFilePath.html +2 -2
  597. package/docs/api/functions/getNextStory.html +2 -2
  598. package/docs/api/functions/getNotepadPath.html +2 -2
  599. package/docs/api/functions/getNotepadStats.html +2 -2
  600. package/docs/api/functions/getOmcPrdPath.html +2 -2
  601. package/docs/api/functions/getOmcProgressPath.html +2 -2
  602. package/docs/api/functions/getOmcSystemPrompt.html +2 -2
  603. package/docs/api/functions/getOmcToolNames.html +3 -3
  604. package/docs/api/functions/getPatterns.html +2 -2
  605. package/docs/api/functions/getPhasePrompt.html +2 -2
  606. package/docs/api/functions/getPlanName.html +2 -2
  607. package/docs/api/functions/getPlanPath.html +2 -2
  608. package/docs/api/functions/getPlanProgress.html +2 -2
  609. package/docs/api/functions/getPlanSummaries.html +2 -2
  610. package/docs/api/functions/getPrdCompletionStatus.html +2 -2
  611. package/docs/api/functions/getPrdPath.html +2 -2
  612. package/docs/api/functions/getPrdStatus.html +2 -2
  613. package/docs/api/functions/getPreCommitReminderMessage.html +2 -2
  614. package/docs/api/functions/getPriorityContext.html +2 -2
  615. package/docs/api/functions/getProgressContext.html +2 -2
  616. package/docs/api/functions/getProgressPath.html +2 -2
  617. package/docs/api/functions/getPromotionCandidates.html +2 -2
  618. package/docs/api/functions/getQAPrompt.html +2 -2
  619. package/docs/api/functions/getRalphContext.html +3 -3
  620. package/docs/api/functions/getReadmesForPath.html +2 -2
  621. package/docs/api/functions/getRecentLearnings.html +2 -2
  622. package/docs/api/functions/getRulesForPath.html +2 -2
  623. package/docs/api/functions/getRunningAgents.html +2 -2
  624. package/docs/api/functions/getRunningWorkers.html +2 -2
  625. package/docs/api/functions/getSessionTokenEstimate.html +2 -2
  626. package/docs/api/functions/getSkillsDir.html +2 -2
  627. package/docs/api/functions/getSpecPath.html +2 -2
  628. package/docs/api/functions/getStaleAgents.html +2 -2
  629. package/docs/api/functions/getStateDir.html +2 -2
  630. package/docs/api/functions/getStory.html +2 -2
  631. package/docs/api/functions/getSubagentStateFilePath.html +2 -2
  632. package/docs/api/functions/getThinkModeState.html +2 -2
  633. package/docs/api/functions/getThinkingConfig.html +3 -3
  634. package/docs/api/functions/getTopHotPaths.html +2 -2
  635. package/docs/api/functions/getTrackingStats.html +2 -2
  636. package/docs/api/functions/getTransitionPrompt.html +2 -2
  637. package/docs/api/functions/getUltraworkPersistenceMessage.html +2 -2
  638. package/docs/api/functions/getValidationPrompt.html +2 -2
  639. package/docs/api/functions/getValidationSpawnPrompt.html +2 -2
  640. package/docs/api/functions/getValidationStats.html +1 -1
  641. package/docs/api/functions/getValidationStatus.html +2 -2
  642. package/docs/api/functions/getWorkingMemory.html +2 -2
  643. package/docs/api/functions/handleBackgroundEvent.html +3 -3
  644. package/docs/api/functions/handleContextWindowRecovery.html +2 -2
  645. package/docs/api/functions/handleEditErrorRecovery.html +2 -2
  646. package/docs/api/functions/handlePermissionRequest.html +2 -2
  647. package/docs/api/functions/handleRecovery.html +10 -10
  648. package/docs/api/functions/handleSessionEnd.html +2 -2
  649. package/docs/api/functions/handleSessionRecovery.html +2 -2
  650. package/docs/api/functions/handleSharedFiles.html +7 -7
  651. package/docs/api/functions/handleSubagentStart.html +2 -2
  652. package/docs/api/functions/handleSubagentStop.html +2 -2
  653. package/docs/api/functions/hasBoulder.html +2 -2
  654. package/docs/api/functions/hasContentParts.html +1 -1
  655. package/docs/api/functions/hasModeState.html +3 -3
  656. package/docs/api/functions/hasPrd.html +2 -2
  657. package/docs/api/functions/hasTextContent.html +2 -2
  658. package/docs/api/functions/hasValidContent.html +3 -3
  659. package/docs/api/functions/incrementAgentCount.html +2 -2
  660. package/docs/api/functions/incrementRalphIteration.html +2 -2
  661. package/docs/api/functions/incrementReinforcement.html +2 -2
  662. package/docs/api/functions/initAutopilot.html +2 -2
  663. package/docs/api/functions/initNotepad.html +2 -2
  664. package/docs/api/functions/initPrd.html +2 -2
  665. package/docs/api/functions/initProgress.html +2 -2
  666. package/docs/api/functions/initUltrapilot.html +2 -2
  667. package/docs/api/functions/injectContextIntoText.html +2 -2
  668. package/docs/api/functions/injectPendingContext.html +3 -3
  669. package/docs/api/functions/injectRecoveryTextPart.html +2 -2
  670. package/docs/api/functions/install.html +2 -2
  671. package/docs/api/functions/integrateResults.html +5 -5
  672. package/docs/api/functions/isActiveModeRunning.html +2 -2
  673. package/docs/api/functions/isAllowedPath.html +2 -2
  674. package/docs/api/functions/isAlreadyHighVariant.html +2 -2
  675. package/docs/api/functions/isAutopilotActive.html +2 -2
  676. package/docs/api/functions/isAxiomEnabled.html +1 -1
  677. package/docs/api/functions/isClaudeInstalled.html +3 -3
  678. package/docs/api/functions/isClaudeModel.html +2 -2
  679. package/docs/api/functions/isCompactionInProgress.html +3 -3
  680. package/docs/api/functions/isDuplicateByContentHash.html +2 -2
  681. package/docs/api/functions/isDuplicateByRealPath.html +2 -2
  682. package/docs/api/functions/isExcludedCommand.html +2 -2
  683. package/docs/api/functions/isExtendedThinkingModel.html +1 -1
  684. package/docs/api/functions/isFileOwnedByWorker.html +2 -2
  685. package/docs/api/functions/isFormatterAvailable.html +2 -2
  686. package/docs/api/functions/isGptModel.html +2 -2
  687. package/docs/api/functions/isInstalled.html +2 -2
  688. package/docs/api/functions/isLearnerEnabled.html +2 -2
  689. package/docs/api/functions/isModeActive.html +6 -6
  690. package/docs/api/functions/isNonInteractive.html +1 -1
  691. package/docs/api/functions/isRecoverableError.html +2 -2
  692. package/docs/api/functions/isSafeCommand.html +2 -2
  693. package/docs/api/functions/isSessionRecoverable.html +2 -2
  694. package/docs/api/functions/isSharedFile.html +2 -2
  695. package/docs/api/functions/isThinkModeActive.html +2 -2
  696. package/docs/api/functions/isToolPart.html +2 -2
  697. package/docs/api/functions/isUltraQAActive.html +1 -1
  698. package/docs/api/functions/isWriteEditTool.html +2 -2
  699. package/docs/api/functions/learnFromToolOutput.html +7 -7
  700. package/docs/api/functions/lintFile.html +2 -2
  701. package/docs/api/functions/listAvailableCommands.html +2 -2
  702. package/docs/api/functions/listCommands.html +2 -2
  703. package/docs/api/functions/listPromotableLearnings.html +2 -2
  704. package/docs/api/functions/loadAgentPrompt.html +7 -7
  705. package/docs/api/functions/loadAgentUsageState.html +1 -1
  706. package/docs/api/functions/loadAllSkills.html +3 -3
  707. package/docs/api/functions/loadConfig.html +2 -2
  708. package/docs/api/functions/loadInjectedPaths.html +2 -2
  709. package/docs/api/functions/loadInjectedRules.html +2 -2
  710. package/docs/api/functions/loadLearnerConfig.html +2 -2
  711. package/docs/api/functions/loadProjectMemory.html +3 -3
  712. package/docs/api/functions/loadSkillById.html +2 -2
  713. package/docs/api/functions/mapDirectoryStructure.html +2 -2
  714. package/docs/api/functions/markStoryComplete.html +2 -2
  715. package/docs/api/functions/markStoryIncomplete.html +2 -2
  716. package/docs/api/functions/mergeAgentConfig.html +2 -2
  717. package/docs/api/functions/parseAxiomState.html +1 -1
  718. package/docs/api/functions/parseContextLimitError.html +2 -2
  719. package/docs/api/functions/parseProgress.html +2 -2
  720. package/docs/api/functions/parseRuleFrontmatter.html +10 -10
  721. package/docs/api/functions/parseSkillFile.html +2 -2
  722. package/docs/api/functions/parseSlashCommand.html +2 -2
  723. package/docs/api/functions/parseTokenLimitError.html +2 -2
  724. package/docs/api/functions/performUpdate.html +2 -2
  725. package/docs/api/functions/prependRecoveryThinkingPart.html +2 -2
  726. package/docs/api/functions/prependThinkingBlock.html +1 -1
  727. package/docs/api/functions/processAxiomBoot.html +1 -1
  728. package/docs/api/functions/processAxiomGuards.html +1 -1
  729. package/docs/api/functions/processBackgroundNotification.html +2 -2
  730. package/docs/api/functions/processBackgroundNotificationHook.html +2 -2
  731. package/docs/api/functions/processEditOutput.html +2 -2
  732. package/docs/api/functions/processHook.html +3 -3
  733. package/docs/api/functions/processMessageForSkills.html +2 -2
  734. package/docs/api/functions/processOrchestratorPostTool.html +3 -3
  735. package/docs/api/functions/processOrchestratorPreTool.html +3 -3
  736. package/docs/api/functions/processPermissionRequest.html +2 -2
  737. package/docs/api/functions/processPreCompact.html +6 -6
  738. package/docs/api/functions/processProjectMemoryPreCompact.html +3 -3
  739. package/docs/api/functions/processResponseForDetection.html +3 -3
  740. package/docs/api/functions/processSessionEnd.html +2 -2
  741. package/docs/api/functions/processSetup.html +2 -2
  742. package/docs/api/functions/processSetupInit.html +2 -2
  743. package/docs/api/functions/processSetupMaintenance.html +2 -2
  744. package/docs/api/functions/processSlashCommand.html +2 -2
  745. package/docs/api/functions/processSubagentStart.html +2 -2
  746. package/docs/api/functions/processSubagentStop.html +2 -2
  747. package/docs/api/functions/processThinkMode.html +3 -3
  748. package/docs/api/functions/promoteLearning.html +2 -2
  749. package/docs/api/functions/pruneOldEntries.html +2 -2
  750. package/docs/api/functions/pruneOldStateFiles.html +2 -2
  751. package/docs/api/functions/readActiveContext.html +1 -1
  752. package/docs/api/functions/readAutopilotState.html +2 -2
  753. package/docs/api/functions/readBoulderState.html +2 -2
  754. package/docs/api/functions/readModeMarker.html +4 -4
  755. package/docs/api/functions/readNotepad.html +2 -2
  756. package/docs/api/functions/readPrd.html +2 -2
  757. package/docs/api/functions/readProgress.html +2 -2
  758. package/docs/api/functions/readProgressRaw.html +2 -2
  759. package/docs/api/functions/readProjectDecisions.html +1 -1
  760. package/docs/api/functions/readRalphState.html +2 -2
  761. package/docs/api/functions/readRecoveryMessages.html +2 -2
  762. package/docs/api/functions/readRecoveryParts.html +2 -2
  763. package/docs/api/functions/readTrackingState.html +3 -3
  764. package/docs/api/functions/readUltraQAState.html +2 -2
  765. package/docs/api/functions/readUltrapilotState.html +2 -2
  766. package/docs/api/functions/readUltraworkState.html +4 -4
  767. package/docs/api/functions/readUserPreferences.html +1 -1
  768. package/docs/api/functions/readVerificationState.html +3 -3
  769. package/docs/api/functions/recordArchitectFeedback.html +2 -2
  770. package/docs/api/functions/recordConflict.html +2 -2
  771. package/docs/api/functions/recordFailure.html +2 -2
  772. package/docs/api/functions/recordHookFire.html +2 -2
  773. package/docs/api/functions/recordHookResult.html +2 -2
  774. package/docs/api/functions/recordKeywordDetected.html +2 -2
  775. package/docs/api/functions/recordModeChange.html +2 -2
  776. package/docs/api/functions/recordPattern.html +2 -2
  777. package/docs/api/functions/recordSessionMetrics.html +2 -2
  778. package/docs/api/functions/recordSkillActivated.html +2 -2
  779. package/docs/api/functions/recordSkillInvoked.html +2 -2
  780. package/docs/api/functions/recordStoryProgress.html +2 -2
  781. package/docs/api/functions/recordValidationVerdict.html +2 -2
  782. package/docs/api/functions/registerBeadsContext.html +3 -3
  783. package/docs/api/functions/registerProjectMemoryContext.html +6 -6
  784. package/docs/api/functions/removeCodeBlocks.html +12 -12
  785. package/docs/api/functions/removeModeMarker.html +5 -5
  786. package/docs/api/functions/removeSlashCodeBlocks.html +2 -2
  787. package/docs/api/functions/removeThinkCodeBlocks.html +2 -2
  788. package/docs/api/functions/replaceRecoveryEmptyTextParts.html +2 -2
  789. package/docs/api/functions/rescanProjectEnvironment.html +4 -4
  790. package/docs/api/functions/resetSessionTokenEstimate.html +2 -2
  791. package/docs/api/functions/resumeAutopilot.html +2 -2
  792. package/docs/api/functions/runPreCommitChecks.html +2 -2
  793. package/docs/api/functions/runTests.html +2 -2
  794. package/docs/api/functions/runTypeCheck.html +2 -2
  795. package/docs/api/functions/sanitizeMessage.html +2 -2
  796. package/docs/api/functions/sanitizeMessages.html +2 -2
  797. package/docs/api/functions/saveAgentUsageState.html +1 -1
  798. package/docs/api/functions/saveInjectedPaths.html +2 -2
  799. package/docs/api/functions/saveInjectedRules.html +2 -2
  800. package/docs/api/functions/saveLearnerConfig.html +2 -2
  801. package/docs/api/functions/saveModeSummary.html +2 -2
  802. package/docs/api/functions/saveProjectMemory.html +3 -3
  803. package/docs/api/functions/saveVersionMetadata.html +2 -2
  804. package/docs/api/functions/setCurrentStory.html +2 -2
  805. package/docs/api/functions/setEnvironmentVariables.html +2 -2
  806. package/docs/api/functions/setLearnerConfigValue.html +2 -2
  807. package/docs/api/functions/setPriorityContext.html +2 -2
  808. package/docs/api/functions/shouldActivateThinkMode.html +3 -3
  809. package/docs/api/functions/shouldActivateUltrathink.html +2 -2
  810. package/docs/api/functions/shouldApplyRule.html +2 -2
  811. package/docs/api/functions/shouldCheckForUpdates.html +2 -2
  812. package/docs/api/functions/shouldCompleteByPrd.html +2 -2
  813. package/docs/api/functions/shouldPromptExtraction.html +2 -2
  814. package/docs/api/functions/shouldReinforceUltrawork.html +2 -2
  815. package/docs/api/functions/shouldRetryValidation.html +2 -2
  816. package/docs/api/functions/shouldRunInBackground.html +8 -8
  817. package/docs/api/functions/spawnWorkers.html +7 -7
  818. package/docs/api/functions/startUltraQA.html +3 -3
  819. package/docs/api/functions/startUltrapilot.html +7 -7
  820. package/docs/api/functions/startValidationRound.html +2 -2
  821. package/docs/api/functions/startVerification.html +2 -2
  822. package/docs/api/functions/startsWithThinkingBlock.html +1 -1
  823. package/docs/api/functions/stopUltraQA.html +2 -2
  824. package/docs/api/functions/stripRecoveryThinkingParts.html +2 -2
  825. package/docs/api/functions/toSdkMcpFormat.html +2 -2
  826. package/docs/api/functions/trackAccess.html +2 -2
  827. package/docs/api/functions/trackProgress.html +5 -5
  828. package/docs/api/functions/transitionPhase.html +2 -2
  829. package/docs/api/functions/transitionRalphToUltraQA.html +9 -9
  830. package/docs/api/functions/transitionToComplete.html +2 -2
  831. package/docs/api/functions/transitionToFailed.html +2 -2
  832. package/docs/api/functions/transitionUltraQAToValidation.html +2 -2
  833. package/docs/api/functions/updateDirectoryAccess.html +2 -2
  834. package/docs/api/functions/updateExecution.html +2 -2
  835. package/docs/api/functions/updateExpansion.html +2 -2
  836. package/docs/api/functions/updatePlanning.html +2 -2
  837. package/docs/api/functions/updateQA.html +2 -2
  838. package/docs/api/functions/updateValidation.html +2 -2
  839. package/docs/api/functions/updateWorkerState.html +2 -2
  840. package/docs/api/functions/validateAgentConfig.html +2 -2
  841. package/docs/api/functions/validateCommitMessage.html +2 -2
  842. package/docs/api/functions/validateConfigFiles.html +2 -2
  843. package/docs/api/functions/validateExtractionRequest.html +2 -2
  844. package/docs/api/functions/validateMessage.html +1 -1
  845. package/docs/api/functions/validateMessages.html +1 -1
  846. package/docs/api/functions/validateSkillMetadata.html +2 -2
  847. package/docs/api/functions/writeAutopilotState.html +2 -2
  848. package/docs/api/functions/writeBoulderState.html +2 -2
  849. package/docs/api/functions/writePrd.html +2 -2
  850. package/docs/api/functions/writeRalphState.html +2 -2
  851. package/docs/api/functions/writeSkill.html +2 -2
  852. package/docs/api/functions/writeTrackingState.html +5 -5
  853. package/docs/api/functions/writeUltraQAState.html +2 -2
  854. package/docs/api/functions/writeUltrapilotState.html +2 -2
  855. package/docs/api/functions/writeUltraworkState.html +2 -2
  856. package/docs/api/functions/writeVerificationState.html +2 -2
  857. package/docs/api/hierarchy.html +1 -1
  858. package/docs/api/index.html +843 -843
  859. package/docs/api/interfaces/AgentConfig.html +18 -18
  860. package/docs/api/interfaces/AgentOverrideConfig.html +10 -10
  861. package/docs/api/interfaces/AgentPromptMetadata.html +19 -19
  862. package/docs/api/interfaces/AgentState.html +5 -5
  863. package/docs/api/interfaces/AgentUsageState.html +8 -8
  864. package/docs/api/interfaces/AutoSlashCommandHookInput.html +5 -5
  865. package/docs/api/interfaces/AutoSlashCommandHookOutput.html +3 -3
  866. package/docs/api/interfaces/AutoSlashCommandResult.html +5 -5
  867. package/docs/api/interfaces/AutopilotConfig.html +26 -26
  868. package/docs/api/interfaces/AutopilotExecution.html +16 -16
  869. package/docs/api/interfaces/AutopilotExpansion.html +12 -12
  870. package/docs/api/interfaces/AutopilotPlanning.html +8 -8
  871. package/docs/api/interfaces/AutopilotQA.html +12 -12
  872. package/docs/api/interfaces/AutopilotResult.html +10 -10
  873. package/docs/api/interfaces/AutopilotState.html +36 -36
  874. package/docs/api/interfaces/AutopilotSummary.html +16 -16
  875. package/docs/api/interfaces/AutopilotValidation.html +10 -10
  876. package/docs/api/interfaces/AutopilotValidationResult.html +8 -8
  877. package/docs/api/interfaces/AvailableAgent.html +5 -5
  878. package/docs/api/interfaces/AxiomBootInput.html +3 -3
  879. package/docs/api/interfaces/AxiomBootOutput.html +4 -4
  880. package/docs/api/interfaces/AxiomGuardsInput.html +4 -4
  881. package/docs/api/interfaces/AxiomGuardsOutput.html +4 -4
  882. package/docs/api/interfaces/AxiomMemoryFiles.html +5 -5
  883. package/docs/api/interfaces/AxiomState.html +8 -8
  884. package/docs/api/interfaces/BackgroundNotificationHookConfig.html +11 -11
  885. package/docs/api/interfaces/BackgroundNotificationHookInput.html +8 -8
  886. package/docs/api/interfaces/BackgroundNotificationHookOutput.html +8 -8
  887. package/docs/api/interfaces/BackgroundTask.html +7 -7
  888. package/docs/api/interfaces/BackgroundTaskManager.html +26 -26
  889. package/docs/api/interfaces/BeadsContextConfig.html +4 -4
  890. package/docs/api/interfaces/BoulderState.html +12 -12
  891. package/docs/api/interfaces/BuildInfo.html +6 -6
  892. package/docs/api/interfaces/CanStartResult.html +4 -4
  893. package/docs/api/interfaces/CancelResult.html +4 -4
  894. package/docs/api/interfaces/ClaudeThinkingConfig.html +4 -4
  895. package/docs/api/interfaces/CodeConventions.html +5 -5
  896. package/docs/api/interfaces/CodebasePattern.html +5 -5
  897. package/docs/api/interfaces/CommandInfo.html +5 -5
  898. package/docs/api/interfaces/CommandMetadata.html +7 -7
  899. package/docs/api/interfaces/CommentCheckResult.html +10 -10
  900. package/docs/api/interfaces/CommentCheckerConfig.html +6 -6
  901. package/docs/api/interfaces/CommentInfo.html +14 -14
  902. package/docs/api/interfaces/CommentPendingCall.html +18 -18
  903. package/docs/api/interfaces/CommitConfig.html +9 -9
  904. package/docs/api/interfaces/CompactCheckpoint.html +7 -7
  905. package/docs/api/interfaces/ContextEntry.html +14 -14
  906. package/docs/api/interfaces/ContextUsageResult.html +12 -12
  907. package/docs/api/interfaces/CustomNote.html +5 -5
  908. package/docs/api/interfaces/DelegationDecision.html +7 -7
  909. package/docs/api/interfaces/DelegationRoute.html +7 -7
  910. package/docs/api/interfaces/DelegationRoutingConfig.html +5 -5
  911. package/docs/api/interfaces/DelegationTrigger.html +6 -6
  912. package/docs/api/interfaces/DetectedKeyword.html +13 -13
  913. package/docs/api/interfaces/DetectionConfig.html +8 -8
  914. package/docs/api/interfaces/DetectionResult.html +13 -13
  915. package/docs/api/interfaces/DirectoryInfo.html +7 -7
  916. package/docs/api/interfaces/EmptyMessageSanitizerConfig.html +6 -6
  917. package/docs/api/interfaces/EmptyMessageSanitizerInput.html +6 -6
  918. package/docs/api/interfaces/EmptyMessageSanitizerOutput.html +8 -8
  919. package/docs/api/interfaces/ExecuteResult.html +5 -5
  920. package/docs/api/interfaces/ExpandedCommand.html +4 -4
  921. package/docs/api/interfaces/ExternalModelPreference.html +4 -4
  922. package/docs/api/interfaces/ExternalModelsConfig.html +6 -6
  923. package/docs/api/interfaces/ExternalModelsDefaults.html +5 -5
  924. package/docs/api/interfaces/ExternalModelsFallbackPolicy.html +5 -5
  925. package/docs/api/interfaces/FileOwnership.html +8 -8
  926. package/docs/api/interfaces/FormatConfig.html +7 -7
  927. package/docs/api/interfaces/FrameworkDetection.html +4 -4
  928. package/docs/api/interfaces/FullAgentConfig.html +26 -26
  929. package/docs/api/interfaces/GateCheckResult.html +5 -5
  930. package/docs/api/interfaces/GitBranchPattern.html +3 -3
  931. package/docs/api/interfaces/HookContext.html +5 -5
  932. package/docs/api/interfaces/HookDefinition.html +5 -5
  933. package/docs/api/interfaces/HookInput.html +18 -18
  934. package/docs/api/interfaces/HookOutput.html +10 -10
  935. package/docs/api/interfaces/HookResult.html +4 -4
  936. package/docs/api/interfaces/HotPath.html +6 -6
  937. package/docs/api/interfaces/InjectedPathsData.html +9 -9
  938. package/docs/api/interfaces/InjectedRulesData.html +10 -10
  939. package/docs/api/interfaces/InjectedSkillsData.html +8 -8
  940. package/docs/api/interfaces/InjectionResult.html +8 -8
  941. package/docs/api/interfaces/InstallOptions.html +9 -9
  942. package/docs/api/interfaces/InstallResult.html +10 -10
  943. package/docs/api/interfaces/IntegrationResult.html +14 -14
  944. package/docs/api/interfaces/LanguageDetection.html +5 -5
  945. package/docs/api/interfaces/LearnedSkill.html +16 -16
  946. package/docs/api/interfaces/LearnerConfig.html +18 -18
  947. package/docs/api/interfaces/LintConfig.html +7 -7
  948. package/docs/api/interfaces/MagicKeyword.html +4 -4
  949. package/docs/api/interfaces/MatchResult.html +6 -6
  950. package/docs/api/interfaces/MessageContext.html +8 -8
  951. package/docs/api/interfaces/MessageInfo.html +9 -9
  952. package/docs/api/interfaces/MessagePart.html +15 -15
  953. package/docs/api/interfaces/MessageWithModel.html +3 -3
  954. package/docs/api/interfaces/MessageWithParts.html +6 -6
  955. package/docs/api/interfaces/MessagesTransformHook.html +3 -3
  956. package/docs/api/interfaces/MessagesTransformInput.html +3 -3
  957. package/docs/api/interfaces/MessagesTransformOutput.html +3 -3
  958. package/docs/api/interfaces/ModeConfig.html +13 -13
  959. package/docs/api/interfaces/ModeStatus.html +4 -4
  960. package/docs/api/interfaces/ModelRef.html +4 -4
  961. package/docs/api/interfaces/NonInteractiveEnvConfig.html +2 -2
  962. package/docs/api/interfaces/NotepadConfig.html +7 -7
  963. package/docs/api/interfaces/NotepadStats.html +11 -11
  964. package/docs/api/interfaces/NotificationCheckResult.html +8 -8
  965. package/docs/api/interfaces/OrchestratorToolInput.html +6 -6
  966. package/docs/api/interfaces/OrchestratorToolOutput.html +6 -6
  967. package/docs/api/interfaces/OutputPart.html +4 -4
  968. package/docs/api/interfaces/PRD.html +9 -9
  969. package/docs/api/interfaces/PRDStatus.html +13 -13
  970. package/docs/api/interfaces/ParsedSlashCommand.html +8 -8
  971. package/docs/api/interfaces/ParsedTokenLimitError.html +16 -16
  972. package/docs/api/interfaces/PendingContext.html +8 -8
  973. package/docs/api/interfaces/PermissionHookOutput.html +4 -4
  974. package/docs/api/interfaces/PermissionRequestInput.html +9 -9
  975. package/docs/api/interfaces/PersistentModeResult.html +9 -9
  976. package/docs/api/interfaces/PlanProgress.html +8 -8
  977. package/docs/api/interfaces/PlanSummary.html +10 -10
  978. package/docs/api/interfaces/PluginConfig.html +17 -17
  979. package/docs/api/interfaces/PreCommitResult.html +3 -3
  980. package/docs/api/interfaces/PreCompactHookOutput.html +4 -4
  981. package/docs/api/interfaces/PreCompactInput.html +8 -8
  982. package/docs/api/interfaces/PreemptiveCompactionConfig.html +14 -14
  983. package/docs/api/interfaces/PriorityContextResult.html +5 -5
  984. package/docs/api/interfaces/ProgressEntry.html +11 -11
  985. package/docs/api/interfaces/ProgressLog.html +7 -7
  986. package/docs/api/interfaces/ProjectMemory.html +14 -14
  987. package/docs/api/interfaces/ProjectStructure.html +5 -5
  988. package/docs/api/interfaces/PromotionCandidate.html +9 -9
  989. package/docs/api/interfaces/PruneResult.html +5 -5
  990. package/docs/api/interfaces/QualityValidation.html +10 -10
  991. package/docs/api/interfaces/RalphLoopHook.html +4 -4
  992. package/docs/api/interfaces/RalphLoopOptions.html +5 -5
  993. package/docs/api/interfaces/RalphLoopState.html +21 -21
  994. package/docs/api/interfaces/RecoveryConfig.html +16 -16
  995. package/docs/api/interfaces/RecoveryMessageData.html +4 -4
  996. package/docs/api/interfaces/RecoveryResult.html +10 -10
  997. package/docs/api/interfaces/RecoveryStoredMessageMeta.html +8 -8
  998. package/docs/api/interfaces/RecoveryStoredReasoningPart.html +7 -7
  999. package/docs/api/interfaces/RecoveryStoredTextPart.html +9 -9
  1000. package/docs/api/interfaces/RecoveryStoredToolPart.html +9 -9
  1001. package/docs/api/interfaces/RegisterContextOptions.html +12 -12
  1002. package/docs/api/interfaces/ReleaseInfo.html +9 -9
  1003. package/docs/api/interfaces/ResolveDelegationOptions.html +7 -7
  1004. package/docs/api/interfaces/ResolveOptions.html +6 -6
  1005. package/docs/api/interfaces/ResolvedModel.html +5 -5
  1006. package/docs/api/interfaces/RetryState.html +6 -6
  1007. package/docs/api/interfaces/RuleFileCandidate.html +12 -12
  1008. package/docs/api/interfaces/RuleFrontmatterResult.html +6 -6
  1009. package/docs/api/interfaces/RuleInfo.html +18 -18
  1010. package/docs/api/interfaces/RuleMetadata.html +9 -9
  1011. package/docs/api/interfaces/RuleToInject.html +10 -10
  1012. package/docs/api/interfaces/SessionEndHookOutput.html +2 -2
  1013. package/docs/api/interfaces/SessionEndInput.html +9 -9
  1014. package/docs/api/interfaces/SessionMetrics.html +9 -9
  1015. package/docs/api/interfaces/SessionState.html +5 -5
  1016. package/docs/api/interfaces/SetupHookOutput.html +3 -3
  1017. package/docs/api/interfaces/SetupInput.html +7 -7
  1018. package/docs/api/interfaces/SetupResult.html +5 -5
  1019. package/docs/api/interfaces/ShellHook.html +4 -4
  1020. package/docs/api/interfaces/SisyphusOptions.html +14 -14
  1021. package/docs/api/interfaces/SisyphusSession.html +16 -16
  1022. package/docs/api/interfaces/SkillExtractionRequest.html +12 -12
  1023. package/docs/api/interfaces/SkillFileCandidate.html +10 -10
  1024. package/docs/api/interfaces/SkillHookContext.html +5 -5
  1025. package/docs/api/interfaces/SkillMetadata.html +22 -22
  1026. package/docs/api/interfaces/SkillParseResult.html +5 -5
  1027. package/docs/api/interfaces/SubagentHookOutput.html +3 -3
  1028. package/docs/api/interfaces/SubagentInfo.html +14 -14
  1029. package/docs/api/interfaces/SubagentStartInput.html +10 -10
  1030. package/docs/api/interfaces/SubagentStopInput.html +11 -11
  1031. package/docs/api/interfaces/SubagentTrackingState.html +6 -6
  1032. package/docs/api/interfaces/TaskExecutionDecision.html +10 -10
  1033. package/docs/api/interfaces/TechStack.html +5 -5
  1034. package/docs/api/interfaces/ThinkModeInput.html +4 -4
  1035. package/docs/api/interfaces/ThinkModeState.html +12 -12
  1036. package/docs/api/interfaces/ThinkingValidatorMessageInfo.html +6 -6
  1037. package/docs/api/interfaces/ThinkingValidatorMessagePart.html +9 -9
  1038. package/docs/api/interfaces/ThinkingValidatorMessageWithParts.html +4 -4
  1039. package/docs/api/interfaces/TodoContinuationHook.html +2 -2
  1040. package/docs/api/interfaces/TransitionResult.html +4 -4
  1041. package/docs/api/interfaces/TruncateState.html +6 -6
  1042. package/docs/api/interfaces/UltraQAOptions.html +5 -5
  1043. package/docs/api/interfaces/UltraQAResult.html +9 -9
  1044. package/docs/api/interfaces/UltraQAState.html +19 -19
  1045. package/docs/api/interfaces/UltrapilotConfig.html +14 -14
  1046. package/docs/api/interfaces/UltrapilotState.html +26 -26
  1047. package/docs/api/interfaces/UltraworkState.html +17 -17
  1048. package/docs/api/interfaces/UpdateCheckResult.html +7 -7
  1049. package/docs/api/interfaces/UpdateResult.html +7 -7
  1050. package/docs/api/interfaces/UserDirective.html +7 -7
  1051. package/docs/api/interfaces/UserStory.html +15 -15
  1052. package/docs/api/interfaces/ValidationCoordinatorResult.html +6 -6
  1053. package/docs/api/interfaces/ValidationResult.html +10 -10
  1054. package/docs/api/interfaces/VerificationState.html +17 -17
  1055. package/docs/api/interfaces/VersionMetadata.html +12 -12
  1056. package/docs/api/interfaces/WorkerState.html +24 -24
  1057. package/docs/api/interfaces/WriteSkillResult.html +6 -6
  1058. package/docs/api/modules.html +1 -1
  1059. package/docs/api/types/AgentCategory.html +2 -2
  1060. package/docs/api/types/AgentCost.html +3 -3
  1061. package/docs/api/types/AgentFactory.html +2 -2
  1062. package/docs/api/types/AgentOverrides.html +2 -2
  1063. package/docs/api/types/AutopilotPhase.html +2 -2
  1064. package/docs/api/types/AutopilotSignal.html +2 -2
  1065. package/docs/api/types/CommandScope.html +2 -2
  1066. package/docs/api/types/ContextPriority.html +3 -3
  1067. package/docs/api/types/ContextSourceType.html +3 -3
  1068. package/docs/api/types/DelegationProvider.html +2 -2
  1069. package/docs/api/types/DelegationTool.html +2 -2
  1070. package/docs/api/types/ExecutionMode.html +3 -3
  1071. package/docs/api/types/ExternalModelProvider.html +2 -2
  1072. package/docs/api/types/GateType.html +3 -3
  1073. package/docs/api/types/InjectionStrategy.html +2 -2
  1074. package/docs/api/types/KeywordType.html +10 -10
  1075. package/docs/api/types/ModelType.html +2 -2
  1076. package/docs/api/types/QAStatus.html +2 -2
  1077. package/docs/api/types/RecoveryErrorType.html +2 -2
  1078. package/docs/api/types/RecoveryStoredPart.html +2 -2
  1079. package/docs/api/types/TaskTool.html +1 -1
  1080. package/docs/api/types/ThinkingConfig.html +2 -2
  1081. package/docs/api/types/UltraQAGoalType.html +1 -1
  1082. package/docs/api/types/UserStoryInput.html +2 -2
  1083. package/docs/api/types/ValidationVerdict.html +2 -2
  1084. package/docs/api/types/ValidationVerdictType.html +2 -2
  1085. package/docs/api/variables/AGENTS_DIR.html +1 -1
  1086. package/docs/api/variables/AGENTS_FILENAME.html +2 -2
  1087. package/docs/api/variables/AGENT_TOOLS.html +2 -2
  1088. package/docs/api/variables/ALLOWED_PATH_PREFIX.html +2 -2
  1089. package/docs/api/variables/ANALYST_PROMPT_METADATA.html +1 -1
  1090. package/docs/api/variables/ARCHITECT_PROMPT_METADATA.html +1 -1
  1091. package/docs/api/variables/AUTO_SLASH_COMMAND_HOOK_NAME.html +4 -4
  1092. package/docs/api/variables/AUTO_SLASH_COMMAND_TAG_CLOSE.html +1 -1
  1093. package/docs/api/variables/AUTO_SLASH_COMMAND_TAG_OPEN.html +2 -2
  1094. package/docs/api/variables/BACKGROUND_NOTIFICATION_HOOK_NAME.html +2 -2
  1095. package/docs/api/variables/BDD_KEYWORDS.html +2 -2
  1096. package/docs/api/variables/BEADS_INSTRUCTIONS.html +1 -1
  1097. package/docs/api/variables/BEADS_RUST_INSTRUCTIONS.html +1 -1
  1098. package/docs/api/variables/BLOCKING_PATTERNS.html +3 -3
  1099. package/docs/api/variables/BOULDER_CONTINUATION_PROMPT.html +2 -2
  1100. package/docs/api/variables/BOULDER_DIR.html +2 -2
  1101. package/docs/api/variables/BOULDER_FILE.html +2 -2
  1102. package/docs/api/variables/BOULDER_STATE_PATH.html +2 -2
  1103. package/docs/api/variables/CHARS_PER_TOKEN.html +2 -2
  1104. package/docs/api/variables/CI_COMMANDS.html +2 -2
  1105. package/docs/api/variables/CI_GATE_MESSAGE.html +1 -1
  1106. package/docs/api/variables/CLAUDE_CONFIG_DIR.html +2 -2
  1107. package/docs/api/variables/CLAUDE_DEFAULT_CONTEXT_LIMIT.html +2 -2
  1108. package/docs/api/variables/COMMANDS_DIR.html +1 -1
  1109. package/docs/api/variables/COMMENT_CHECKER_MESSAGE_HEADER.html +2 -2
  1110. package/docs/api/variables/COMPACTION_COOLDOWN_MS.html +2 -2
  1111. package/docs/api/variables/CONTENT_PART_TYPES.html +2 -2
  1112. package/docs/api/variables/CONTEXT_CRITICAL_MESSAGE.html +2 -2
  1113. package/docs/api/variables/CONTEXT_FILENAMES.html +2 -2
  1114. package/docs/api/variables/CONTEXT_LIMIT_RECOVERY_MESSAGE.html +2 -2
  1115. package/docs/api/variables/CONTEXT_LIMIT_SHORT_MESSAGE.html +2 -2
  1116. package/docs/api/variables/CONTEXT_WARNING_MESSAGE.html +2 -2
  1117. package/docs/api/variables/CRITICAL_THRESHOLD.html +2 -2
  1118. package/docs/api/variables/CRITIC_PROMPT_METADATA.html +1 -1
  1119. package/docs/api/variables/DEFAULT_CONFIG.html +2 -2
  1120. package/docs/api/variables/DEFAULT_MAX_BACKGROUND_TASKS.html +2 -2
  1121. package/docs/api/variables/DEFAULT_THINKING_CONTENT.html +2 -2
  1122. package/docs/api/variables/DIRECT_WORK_REMINDER.html +2 -2
  1123. package/docs/api/variables/DOCUMENT_SPECIALIST_PROMPT_METADATA.html +1 -1
  1124. package/docs/api/variables/DOCUMENT_WRITER_PROMPT_METADATA.html +1 -1
  1125. package/docs/api/variables/EDIT_ERROR_PATTERNS.html +2 -2
  1126. package/docs/api/variables/EDIT_ERROR_REMINDER.html +3 -3
  1127. package/docs/api/variables/EMPTY_MESSAGE_SANITIZER_DEBUG_PREFIX.html +2 -2
  1128. package/docs/api/variables/EMPTY_MESSAGE_SANITIZER_ERROR_PATTERNS.html +2 -2
  1129. package/docs/api/variables/EMPTY_MESSAGE_SANITIZER_HOOK_NAME.html +2 -2
  1130. package/docs/api/variables/ENTRY_SEPARATOR.html +1 -1
  1131. package/docs/api/variables/EXCLUDED_COMMANDS.html +3 -3
  1132. package/docs/api/variables/EXPERT_GATE_MESSAGE.html +1 -1
  1133. package/docs/api/variables/EXPLORE_PROMPT_METADATA.html +1 -1
  1134. package/docs/api/variables/EXTENSION_TO_LANGUAGE.html +2 -2
  1135. package/docs/api/variables/FEATURE_FLAG_KEY.html +2 -2
  1136. package/docs/api/variables/FRONTEND_ENGINEER_PROMPT_METADATA.html +1 -1
  1137. package/docs/api/variables/GITHUB_API_URL.html +1 -1
  1138. package/docs/api/variables/INSTALLER_CLAUDE_CONFIG_DIR.html +2 -2
  1139. package/docs/api/variables/INSTALLER_VERSION.html +2 -2
  1140. package/docs/api/variables/LINE_COMMENT_PATTERNS.html +2 -2
  1141. package/docs/api/variables/LONG_RUNNING_PATTERNS.html +3 -3
  1142. package/docs/api/variables/MANUAL_HEADER.html +1 -1
  1143. package/docs/api/variables/MAX_SKILLS_PER_SESSION.html +2 -2
  1144. package/docs/api/variables/MAX_SKILL_CONTENT_LENGTH.html +2 -2
  1145. package/docs/api/variables/MAX_WARNINGS.html +2 -2
  1146. package/docs/api/variables/MIN_QUALITY_SCORE.html +2 -2
  1147. package/docs/api/variables/MODE_CONFIGS.html +4 -4
  1148. package/docs/api/variables/MULTIMODAL_LOOKER_PROMPT_METADATA.html +1 -1
  1149. package/docs/api/variables/NON_EMPTY_CONTENT_RECOVERY_MESSAGE.html +2 -2
  1150. package/docs/api/variables/NON_INTERACTIVE_ENV.html +1 -1
  1151. package/docs/api/variables/NON_INTERACTIVE_ENV_HOOK_NAME.html +1 -1
  1152. package/docs/api/variables/NOTEPAD_BASE_PATH.html +2 -2
  1153. package/docs/api/variables/NOTEPAD_DEFAULT_CONFIG.html +1 -1
  1154. package/docs/api/variables/NOTEPAD_DIR.html +2 -2
  1155. package/docs/api/variables/NOTEPAD_FILENAME.html +1 -1
  1156. package/docs/api/variables/OMC_ORCHESTRATOR_HOOK_NAME.html +4 -4
  1157. package/docs/api/variables/ORCHESTRATOR_DELEGATION_REQUIRED.html +2 -2
  1158. package/docs/api/variables/PATTERNS_HEADER.html +1 -1
  1159. package/docs/api/variables/PLACEHOLDER_TEXT.html +3 -3
  1160. package/docs/api/variables/PLANNER_PLANS_DIR.html +2 -2
  1161. package/docs/api/variables/PLANNER_PROMPT_METADATA.html +1 -1
  1162. package/docs/api/variables/PLAN_EXTENSION.html +2 -2
  1163. package/docs/api/variables/PRD_EXAMPLE_FILENAME.html +1 -1
  1164. package/docs/api/variables/PRD_FILENAME.html +1 -1
  1165. package/docs/api/variables/PREEMPTIVE_DEFAULT_THRESHOLD.html +2 -2
  1166. package/docs/api/variables/PREVENTED_ERROR.html +2 -2
  1167. package/docs/api/variables/PRIORITY_HEADER.html +1 -1
  1168. package/docs/api/variables/PROGRESS_FILENAME.html +1 -1
  1169. package/docs/api/variables/PROJECT_MARKERS.html +2 -2
  1170. package/docs/api/variables/PROJECT_RULE_FILES.html +2 -2
  1171. package/docs/api/variables/PROJECT_RULE_SUBDIRS.html +2 -2
  1172. package/docs/api/variables/PROJECT_SKILLS_SUBDIR.html +2 -2
  1173. package/docs/api/variables/RAPID_FIRE_DEBOUNCE_MS.html +7 -7
  1174. package/docs/api/variables/README_FILENAME.html +2 -2
  1175. package/docs/api/variables/README_INJECTOR_STORAGE.html +1 -1
  1176. package/docs/api/variables/README_TRACKED_TOOLS.html +2 -2
  1177. package/docs/api/variables/RECOVERY_FAILED_MESSAGE.html +2 -2
  1178. package/docs/api/variables/RECOVERY_MESSAGES.html +2 -2
  1179. package/docs/api/variables/RECOVERY_PLACEHOLDER_TEXT.html +2 -2
  1180. package/docs/api/variables/REMINDER_MESSAGE.html +2 -2
  1181. package/docs/api/variables/REPO_NAME.html +1 -1
  1182. package/docs/api/variables/REPO_OWNER.html +2 -2
  1183. package/docs/api/variables/RETRY_CONFIG.html +6 -6
  1184. package/docs/api/variables/RULES_INJECTOR_STORAGE.html +1 -1
  1185. package/docs/api/variables/RULE_EXTENSIONS.html +2 -2
  1186. package/docs/api/variables/SHELL_COMMAND_PATTERNS.html +3 -3
  1187. package/docs/api/variables/SINGLE_TASK_DIRECTIVE.html +2 -2
  1188. package/docs/api/variables/SISYPHUS_JUNIOR_PROMPT_METADATA.html +1 -1
  1189. package/docs/api/variables/SKILL_EXTENSION.html +2 -2
  1190. package/docs/api/variables/SLASH_COMMAND_PATTERN.html +2 -2
  1191. package/docs/api/variables/STALE_STATE_MAX_AGE_MS.html +2 -2
  1192. package/docs/api/variables/SYNTHETIC_THINKING_ID_PREFIX.html +2 -2
  1193. package/docs/api/variables/TARGET_TOOLS.html +2 -2
  1194. package/docs/api/variables/THINKING_BLOCK_VALIDATOR_HOOK_NAME.html +2 -2
  1195. package/docs/api/variables/THINKING_CONFIGS.html +2 -2
  1196. package/docs/api/variables/THINKING_MODEL_PATTERNS.html +3 -3
  1197. package/docs/api/variables/THINKING_PART_TYPES.html +2 -2
  1198. package/docs/api/variables/TOKEN_LIMIT_KEYWORDS.html +2 -2
  1199. package/docs/api/variables/TOKEN_LIMIT_PATTERNS.html +2 -2
  1200. package/docs/api/variables/TOOL_PART_TYPES.html +2 -2
  1201. package/docs/api/variables/TRACKED_TOOLS.html +2 -2
  1202. package/docs/api/variables/TRUNCATE_CONFIG.html +6 -6
  1203. package/docs/api/variables/TRUNCATION_APPLIED_MESSAGE.html +2 -2
  1204. package/docs/api/variables/TYPE_CHECKER_PREFIXES.html +2 -2
  1205. package/docs/api/variables/ULTRAPILOT_DEFAULT_CONFIG.html +2 -2
  1206. package/docs/api/variables/USER_GATE_MESSAGE.html +1 -1
  1207. package/docs/api/variables/USER_RULE_DIR.html +2 -2
  1208. package/docs/api/variables/USER_SKILLS_DIR.html +2 -2
  1209. package/docs/api/variables/VERIFICATION_REMINDER.html +2 -2
  1210. package/docs/api/variables/VERSION_FILE.html +1 -1
  1211. package/docs/api/variables/WORKING_MEMORY_HEADER.html +1 -1
  1212. package/docs/api/variables/WRITE_EDIT_TOOLS.html +2 -2
  1213. package/docs/api/variables/allCustomTools.html +3 -3
  1214. package/docs/api/variables/analystAgent.html +1 -1
  1215. package/docs/api/variables/architectAgent.html +1 -1
  1216. package/docs/api/variables/astTools.html +2 -2
  1217. package/docs/api/variables/contextCollector.html +2 -2
  1218. package/docs/api/variables/criticAgent.html +1 -1
  1219. package/docs/api/variables/designerAgent.html +1 -1
  1220. package/docs/api/variables/executorAgent.html +1 -1
  1221. package/docs/api/variables/exploreAgent.html +1 -1
  1222. package/docs/api/variables/lspTools.html +2 -2
  1223. package/docs/api/variables/nonInteractiveEnvHook.html +8 -8
  1224. package/docs/api/variables/omcSystemPrompt.html +2 -2
  1225. package/docs/api/variables/omcToolNames.html +3 -3
  1226. package/docs/api/variables/omcToolsServer.html +4 -4
  1227. package/docs/api/variables/plannerAgent.html +1 -1
  1228. package/docs/api/variables/researcherAgent.html +1 -1
  1229. package/docs/api/variables/visionAgent.html +1 -1
  1230. package/docs/api/variables/writerAgent.html +1 -1
  1231. package/docs/concepts/README.md +63 -0
  1232. package/docs/concepts/agent-selection.md +83 -0
  1233. package/docs/concepts/agents.md +63 -0
  1234. package/docs/concepts/error-handling.md +121 -0
  1235. package/docs/concepts/modes.md +70 -0
  1236. package/docs/concepts/skills.md +68 -0
  1237. package/docs/getting-started/concepts.md +127 -63
  1238. package/docs/getting-started/quick-reference.md +135 -0
  1239. package/docs/getting-started/quickstart.md +101 -17
  1240. package/docs/quick-start.md +169 -0
  1241. package/docs/reviews/autoresearch-integration/review_domain.md +295 -295
  1242. package/docs/reviews/autoresearch-integration/review_product.md +287 -287
  1243. package/docs/standards/README.md +1 -1
  1244. package/docs/state-migration.md +98 -0
  1245. package/docs/tasks/v7.0.1/sub_prds/T-001-test-optimization.md +66 -0
  1246. package/hooks/run-hook.cmd +0 -0
  1247. package/hooks/session-start +0 -0
  1248. package/package.json +5 -1
  1249. package/scripts/check-version-sync.mjs +33 -0
  1250. package/scripts/fix-agent-headers.py +58 -58
  1251. package/scripts/fix-blank-lines.py +19 -19
  1252. package/scripts/fix-long-lines.py +41 -41
  1253. package/scripts/migrate-console-to-logger.ts +91 -0
  1254. package/scripts/persistent-mode.cjs +605 -605
  1255. package/skills/release/SKILL.md +126 -0
  1256. package/skills/systematic-debugging/find-polluter.sh +0 -0
  1257. package/skills/writing-skills/graphviz-conventions.dot +171 -171
  1258. package/skills/writing-skills/render-graphs.js +0 -0
  1259. package/templates/axiom/scripts/Check-Memory.ps1 +68 -68
  1260. package/templates/axiom/scripts/Poll-Memory.ps1 +36 -36
  1261. package/templates/axiom/scripts/Watch-Memory.ps1 +149 -149
  1262. package/templates/axiom/scripts/agent-runner.ps1 +101 -101
  1263. package/templates/axiom/scripts/start-reviews.ps1 +19 -19
  1264. package/templates/demo/README.md +39 -0
  1265. package/templates/example-project/README.md +34 -0
  1266. package/templates/example-project/dist/index.js +5 -0
  1267. package/templates/example-project/package-lock.json +47 -0
  1268. package/templates/example-project/package.json +13 -0
  1269. package/templates/example-project/src/index.ts +5 -0
  1270. package/templates/example-project/tsconfig.json +11 -0
package/dist/cli/index.js CHANGED
@@ -2,1502 +2,72 @@
2
2
  /**
3
3
  * Oh-My-Claude-Sisyphus CLI
4
4
  *
5
- * Command-line interface for the Sisyphus multi-agent system.
6
- *
7
- * Commands:
8
- * - run: Start an interactive session
9
- * - init: Initialize configuration in current directory
10
- * - config: Show or edit configuration
11
- * - setup: Sync all OMC components (hooks, agents, skills)
12
- */
5
+ * Lazy-loaded command-line interface for the Sisyphus multi-agent system.
6
+ */
7
+ import { createLogger } from '../lib/unified-logger.js';
8
+ const logger = createLogger('cli:index');
9
+ // Fast path for --version (skip heavy imports)
10
+ if (process.argv.includes('--version') || process.argv.includes('-V')) {
11
+ const { getRuntimePackageVersion } = await import('../lib/version.js');
12
+ logger.info(getRuntimePackageVersion());
13
+ process.exit(0);
14
+ }
13
15
  import { Command } from 'commander';
14
- import chalk from 'chalk';
15
- import { writeFileSync, mkdirSync, existsSync } from 'fs';
16
- import * as fs from 'fs/promises';
17
- import { join, dirname } from 'path';
18
- import { fileURLToPath } from 'url';
19
- import { homedir } from 'os';
20
- import { loadConfig, getConfigPaths, generateConfigSchema } from '../config/loader.js';
21
- import { createSisyphusSession } from '../index.js';
22
- import { checkForUpdates, performUpdate, formatUpdateNotification, getInstalledVersion, getOMCConfig, reconcileUpdateRuntime, CONFIG_FILE, } from '../features/auto-update.js';
23
- import { install as installSisyphus, isInstalled, getInstallInfo } from '../installer/index.js';
24
- import { statsCommand } from './commands/stats.js';
25
- import { costCommand } from './commands/cost.js';
26
- import { sessionsCommand } from './commands/sessions.js';
27
- import { agentsCommand } from './commands/agents.js';
28
- import { exportCommand } from './commands/export.js';
29
- import { cleanupCommand } from './commands/cleanup.js';
30
- import { backfillCommand } from './commands/backfill.js';
31
- import { perfCommand } from './commands/perf.js';
32
- import { launchTokscaleTUI, isTokscaleCLIAvailable, getInstallInstructions } from './utils/tokscale-launcher.js';
33
- import { waitCommand, waitStatusCommand, waitDaemonCommand, waitDetectCommand } from './commands/wait.js';
34
- import { doctorConflictsCommand } from './commands/doctor-conflicts.js';
35
- import { teleportCommand, teleportListCommand, teleportRemoveCommand } from './commands/teleport.js';
36
16
  import { getRuntimePackageVersion } from '../lib/version.js';
37
- import { launchCommand } from './launch.js';
38
- import { interopCommand } from './interop.js';
39
- const ___dirname = dirname(fileURLToPath(import.meta.url));
17
+ import { commandRegistry } from './commands/registry.js';
40
18
  const version = getRuntimePackageVersion();
41
19
  const program = new Command();
42
- // Helper functions for auto-backfill
43
- async function checkIfBackfillNeeded() {
44
- const tokenLogPath = join(homedir(), '.omc', 'state', 'token-tracking.jsonl');
45
- try {
46
- await fs.access(tokenLogPath);
47
- const stats = await fs.stat(tokenLogPath);
48
- // Backfill if file is older than 1 hour or very small
49
- const ageMs = Date.now() - stats.mtimeMs;
50
- return stats.size < 100 || ageMs > 3600000;
51
- }
52
- catch {
53
- return true; // File doesn't exist
54
- }
55
- }
56
- async function runQuickBackfill(silent = false) {
57
- const { BackfillEngine } = await import('../analytics/backfill-engine.js');
58
- const engine = new BackfillEngine();
59
- const result = await engine.run({ verbose: false });
60
- if (result.entriesAdded > 0 && !silent) {
61
- console.log(chalk.green(`Backfilled ${result.entriesAdded} entries in ${result.timeElapsed}ms`));
62
- }
63
- }
64
- // Auto-backfill before analytics commands
65
- async function ensureBackfillDone() {
66
- const shouldBackfill = await checkIfBackfillNeeded();
67
- if (shouldBackfill) {
68
- await runQuickBackfill(true); // Silent backfill for subcommands
69
- }
70
- }
71
- // Display enhanced banner using gradient-string (loaded dynamically)
72
- async function displayAnalyticsBanner() {
73
- try {
74
- // @ts-expect-error - gradient-string will be installed during setup
75
- const gradient = await import('gradient-string');
76
- const banner = gradient.default.pastel.multiline([
77
- '╔═══════════════════════════════════════╗',
78
- '║ Oh-My-ClaudeCode - Analytics Dashboard ║',
79
- '╚═══════════════════════════════════════╝'
80
- ].join('\n'));
81
- console.log(banner);
82
- console.log('');
83
- }
84
- catch (_error) {
85
- // Fallback if gradient-string not installed
86
- console.log('╔═══════════════════════════════════════╗');
87
- console.log('║ Oh-My-ClaudeCode - Analytics Dashboard ║');
88
- console.log('╚═══════════════════════════════════════╝');
89
- console.log('');
90
- }
91
- }
92
20
  // Default action when running 'omc' with no args
93
- // Check env var to decide between dashboard and launch
94
21
  async function defaultAction() {
95
22
  const defaultActionMode = process.env.OMC_DEFAULT_ACTION || 'launch';
96
23
  if (defaultActionMode === 'dashboard') {
24
+ const { displayAnalyticsDashboard } = await import('./utils/dashboard.js');
97
25
  await displayAnalyticsDashboard();
98
26
  }
99
27
  else {
100
- // Launch Claude Code by default
28
+ const { launchCommand } = await import('./launch.js');
101
29
  await launchCommand([]);
102
30
  }
103
31
  }
104
- // Analytics dashboard - moved from defaultAction
105
- async function displayAnalyticsDashboard() {
106
- await displayAnalyticsBanner();
107
- // Check if we need to backfill for agent data
108
- const shouldAutoBackfill = await checkIfBackfillNeeded();
109
- if (shouldAutoBackfill) {
110
- console.log(chalk.yellow('First run detected - backfilling agent data...'));
111
- await runQuickBackfill();
112
- }
113
- // Show aggregate session stats
114
- console.log(chalk.bold('📊 Aggregate Session Statistics'));
115
- console.log(chalk.gray('─'.repeat(50)));
116
- await statsCommand({ json: false });
117
- console.log('\n');
118
- // Show cost breakdown
119
- console.log(chalk.bold('💰 Cost Analysis (Monthly)'));
120
- console.log(chalk.gray('─'.repeat(50)));
121
- await costCommand('monthly', { json: false });
122
- console.log('\n');
123
- // Show top agents
124
- console.log(chalk.bold('🤖 Top Agents'));
125
- console.log(chalk.gray('─'.repeat(50)));
126
- await agentsCommand({ json: false, limit: 10 });
127
- console.log('\n');
128
- console.log(chalk.dim('Run with --help to see all available commands'));
129
- // Show tokscale hint if available
130
- const tuiAvailable = await isTokscaleCLIAvailable();
131
- if (tuiAvailable) {
132
- console.log('');
133
- console.log(chalk.dim('Tip: Run `omc tui` for an interactive token visualization dashboard'));
134
- }
135
- }
136
32
  program
137
33
  .name('omc')
138
34
  .description('Multi-agent orchestration system for Claude Agent SDK with analytics')
139
35
  .version(version)
140
36
  .action(defaultAction);
141
- /**
142
- * Launch command - Native tmux shell launch for Claude Code
143
- */
144
- program
145
- .command('launch [args...]')
146
- .description('Launch Claude Code with native tmux shell integration')
147
- .allowUnknownOption()
148
- .addHelpText('after', `
149
- Examples:
150
- $ omc launch Launch Claude Code
151
- $ omc launch --madmax Launch with permissions bypass
152
- $ omc launch --yolo Launch with permissions bypass (alias)
153
-
154
- Environment:
155
- Set OMC_DEFAULT_ACTION=dashboard to show analytics dashboard when running 'omc' with no args`)
156
- .action(async (args) => {
157
- await launchCommand(args);
158
- });
159
- /**
160
- * Dashboard command - Show analytics dashboard
161
- */
162
- program
163
- .command('dashboard')
164
- .description('Show analytics dashboard (aggregate stats, costs, agents)')
165
- .addHelpText('after', `
166
- Note: This was the default 'omc' behavior. Now 'omc' launches Claude Code by default.
167
- Set OMC_DEFAULT_ACTION=dashboard to restore the old behavior.`)
168
- .action(async () => {
169
- await displayAnalyticsDashboard();
170
- });
171
- /**
172
- * Interop command - Split-pane tmux session with OMC and OMX
173
- */
174
- program
175
- .command('interop')
176
- .description('Launch split-pane tmux session with Claude Code (OMC) and Codex (OMX)')
177
- .addHelpText('after', `
178
- Requirements:
179
- - Must be running inside a tmux session
180
- - Claude CLI must be installed
181
- - Codex CLI recommended (graceful fallback if missing)`)
182
- .action(() => {
183
- interopCommand();
184
- });
185
- /**
186
- * Analytics Commands
187
- */
188
- // Stats command
189
- program
190
- .command('stats')
191
- .description('Show aggregate statistics (or specific session with --session)')
192
- .option('--json', 'Output as JSON')
193
- .option('--session <id>', 'Show stats for specific session (defaults to aggregate)')
194
- .addHelpText('after', `
195
- Examples:
196
- $ omc stats Show aggregate statistics
197
- $ omc stats --session abc123 Show stats for a specific session
198
- $ omc stats --json Output as JSON for scripting`)
199
- .action(async (options) => {
200
- await ensureBackfillDone();
201
- await statsCommand(options);
202
- });
203
- // Cost command
204
- program
205
- .command('cost [period]')
206
- .description('Generate cost report (period: daily, weekly, monthly)')
207
- .option('--json', 'Output as JSON')
208
- .addHelpText('after', `
209
- Examples:
210
- $ omc cost Show monthly cost report
211
- $ omc cost daily Show daily cost breakdown
212
- $ omc cost weekly --json Export weekly costs as JSON`)
213
- .action(async (period = 'monthly', options) => {
214
- if (!['daily', 'weekly', 'monthly'].includes(period)) {
215
- console.error(chalk.red(`Invalid period "${period}". Valid options: daily, weekly, monthly`));
216
- console.error(chalk.gray('Example: omc cost weekly'));
217
- process.exit(1);
218
- }
219
- await ensureBackfillDone();
220
- await costCommand(period, options);
221
- });
222
- // Sessions command
223
- program
224
- .command('sessions')
225
- .description('View session history')
226
- .option('--json', 'Output as JSON')
227
- .option('-n, --limit <number>', 'Limit number of sessions', '10')
228
- .addHelpText('after', `
229
- Examples:
230
- $ omc sessions Show last 10 sessions
231
- $ omc sessions --limit 50 Show last 50 sessions
232
- $ omc sessions --json Export session history as JSON`)
233
- .action(async (options) => {
234
- await ensureBackfillDone();
235
- await sessionsCommand({ ...options, limit: parseInt(options.limit) });
236
- });
237
- // Agents command
238
- program
239
- .command('agents')
240
- .description('Show agent usage breakdown')
241
- .option('--json', 'Output as JSON')
242
- .option('-n, --limit <number>', 'Limit number of agents', '10')
243
- .addHelpText('after', `
244
- Examples:
245
- $ omc agents Show top 10 agents by usage
246
- $ omc agents --limit 20 Show top 20 agents
247
- $ omc agents --json Export agent data as JSON`)
248
- .action(async (options) => {
249
- await ensureBackfillDone();
250
- await agentsCommand({ ...options, limit: parseInt(options.limit) });
251
- });
252
- // Export command
253
- program
254
- .command('export <type> <format> <output>')
255
- .description('Export data (type: cost, sessions, patterns; format: json, csv)')
256
- .option('--period <period>', 'Period for cost report (daily, weekly, monthly)', 'monthly')
257
- .addHelpText('after', `
258
- Examples:
259
- $ omc export cost json costs.json Export monthly costs to JSON
260
- $ omc export sessions csv sessions.csv Export sessions to CSV
261
- $ omc export cost csv data.csv --period weekly Export weekly costs`)
262
- .action((type, format, output, options) => {
263
- if (!['cost', 'sessions', 'patterns'].includes(type)) {
264
- console.error(chalk.red(`Invalid type "${type}". Valid options: cost, sessions, patterns`));
265
- console.error(chalk.gray('Example: omc export cost json output.json'));
266
- process.exit(1);
267
- }
268
- if (!['json', 'csv'].includes(format)) {
269
- console.error(chalk.red(`Invalid format "${format}". Valid options: json, csv`));
270
- console.error(chalk.gray('Example: omc export sessions csv sessions.csv'));
271
- process.exit(1);
272
- }
273
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- commander string narrowing
274
- exportCommand(type, format, output, options);
275
- });
276
- // Cleanup command
277
- program
278
- .command('cleanup')
279
- .description('Clean up old logs and orphaned background tasks')
280
- .option('-r, --retention <days>', 'Retention period in days', '30')
281
- .addHelpText('after', `
282
- Examples:
283
- $ omc cleanup Clean up logs older than 30 days
284
- $ omc cleanup --retention 7 Clean up logs older than 7 days`)
285
- .action(options => {
286
- cleanupCommand({ ...options, retention: parseInt(options.retention) });
287
- });
288
- // Backfill command (deprecated - auto-backfill runs on every command)
289
- program
290
- .command('backfill')
291
- .description('[DEPRECATED] Backfill now runs automatically. Use for manual re-sync only.')
292
- .option('--project <path>', 'Filter to specific project path')
293
- .option('--from <date>', 'Start date (ISO format: YYYY-MM-DD)')
294
- .option('--to <date>', 'End date (ISO format: YYYY-MM-DD)')
295
- .option('--dry-run', 'Preview without writing data')
296
- .option('--reset', 'Clear deduplication index and re-process all transcripts')
297
- .option('-v, --verbose', 'Show detailed progress')
298
- .option('--json', 'Output as JSON')
299
- .addHelpText('after', `
300
- Examples:
301
- $ omc backfill --reset Force full re-sync
302
- $ omc backfill --project ~/myproject Backfill specific project
303
- $ omc backfill --from 2024-01-01 --verbose Backfill from date with progress`)
304
- .action(async (options) => {
305
- if (!options.reset && !options.project && !options.from && !options.to) {
306
- console.log(chalk.yellow('Note: Backfill now runs automatically with every omc command.'));
307
- console.log(chalk.gray('Use --reset to force full re-sync, or --project/--from/--to for filtered backfill.\n'));
308
- }
309
- await backfillCommand(options);
310
- });
311
- // Performance monitoring command
312
- program.addCommand(perfCommand);
313
- // TUI command
314
- program
315
- .command('tui')
316
- .description('Launch tokscale interactive TUI for token visualization')
317
- .option('--models', 'Show models view')
318
- .option('--daily', 'Show daily/monthly view')
319
- .option('--no-claude', 'Show all providers (not just Claude)')
320
- .addHelpText('after', `
321
- Examples:
322
- $ omc tui Launch interactive dashboard
323
- $ omc tui --light Use light theme
324
- $ omc tui --daily Start with daily view`)
325
- .action(async (options) => {
326
- const available = await isTokscaleCLIAvailable();
327
- if (!available) {
328
- console.log(chalk.yellow('tokscale is not installed.'));
329
- console.log(getInstallInstructions());
330
- process.exit(1);
331
- }
332
- const view = options.models ? 'models'
333
- : options.daily ? 'daily'
334
- : 'overview';
335
- try {
336
- await launchTokscaleTUI({
337
- view,
338
- claude: options.claude
339
- });
340
- }
341
- catch (error) {
342
- const message = error instanceof Error ? error.message : String(error);
343
- console.error(chalk.red(`Failed to launch TUI: ${message}`));
344
- console.error(chalk.gray('Try running "omc tui" again, or check if tokscale is properly installed.'));
345
- process.exit(1);
346
- }
347
- });
348
- /**
349
- * Init command - Initialize configuration
350
- */
351
- program
352
- .command('init')
353
- .description('Initialize Sisyphus configuration in the current directory')
354
- .option('-g, --global', 'Initialize global user configuration')
355
- .option('-f, --force', 'Overwrite existing configuration')
356
- .addHelpText('after', `
357
- Examples:
358
- $ omc init Initialize in current directory
359
- $ omc init --global Initialize global configuration
360
- $ omc init --force Overwrite existing config`)
361
- .action(async (options) => {
362
- console.log(chalk.yellow('⚠️ DEPRECATED: The init command is deprecated.'));
363
- console.log(chalk.gray('Configuration is now managed automatically. Use /ultrapower:omc-setup instead.\n'));
364
- const paths = getConfigPaths();
365
- const targetPath = options.global ? paths.user : paths.project;
366
- const targetDir = dirname(targetPath);
367
- console.log(chalk.blue('Oh-My-ClaudeCode Configuration Setup\n'));
368
- // Check if config already exists
369
- if (existsSync(targetPath) && !options.force) {
370
- console.log(chalk.yellow(`Configuration already exists at ${targetPath}`));
371
- console.log(chalk.gray('Use --force to overwrite'));
372
- return;
373
- }
374
- // Create directory if needed
375
- if (!existsSync(targetDir)) {
376
- mkdirSync(targetDir, { recursive: true });
377
- console.log(chalk.green(`Created directory: ${targetDir}`));
378
- }
379
- // Generate config content
380
- const configContent = `// Oh-My-ClaudeCode Configuration
381
- // See: https://github.com/liangjie559567/ultrapower for documentation
382
- {
383
- "$schema": "./sisyphus-schema.json",
384
-
385
- // Agent model configurations
386
- "agents": {
387
- "sisyphus": {
388
- // Main orchestrator - uses the most capable model
389
- "model": "claude-opus-4-6-20260205"
390
- },
391
- "architect": {
392
- // Architecture and debugging expert
393
- "model": "claude-opus-4-6-20260205",
394
- "enabled": true
395
- },
396
- "researcher": {
397
- // Documentation and codebase analysis
398
- "model": "claude-sonnet-4-6-20260217"
399
- },
400
- "explore": {
401
- // Fast pattern matching - uses fastest model
402
- "model": "claude-3-5-haiku-20241022"
403
- },
404
- "frontendEngineer": {
405
- "model": "claude-sonnet-4-6-20260217",
406
- "enabled": true
407
- },
408
- "documentWriter": {
409
- "model": "claude-3-5-haiku-20241022",
410
- "enabled": true
411
- },
412
- "multimodalLooker": {
413
- "model": "claude-sonnet-4-6-20260217",
414
- "enabled": true
415
- }
416
- },
417
-
418
- // Feature toggles
419
- "features": {
420
- "parallelExecution": true,
421
- "lspTools": true,
422
- "astTools": true,
423
- "continuationEnforcement": true,
424
- "autoContextInjection": true
425
- },
426
-
427
- // MCP server integrations
428
- "mcpServers": {
429
- "exa": {
430
- "enabled": true
431
- // Set EXA_API_KEY environment variable for API key
432
- },
433
- "context7": {
434
- "enabled": true
435
- }
436
- },
437
-
438
- // Permission settings
439
- "permissions": {
440
- "allowBash": true,
441
- "allowEdit": true,
442
- "allowWrite": true,
443
- "maxBackgroundTasks": 5
444
- },
445
-
446
- // Magic keyword triggers (customize if desired)
447
- "magicKeywords": {
448
- "ultrawork": ["ultrawork", "ulw", "uw"],
449
- "search": ["search", "find", "locate"],
450
- "analyze": ["analyze", "investigate", "examine"]
451
- }
452
- }
453
- `;
454
- writeFileSync(targetPath, configContent);
455
- console.log(chalk.green(`Created configuration: ${targetPath}`));
456
- // Also create the JSON schema for editor support
457
- const schemaPath = join(targetDir, 'sisyphus-schema.json');
458
- writeFileSync(schemaPath, JSON.stringify(generateConfigSchema(), null, 2));
459
- console.log(chalk.green(`Created JSON schema: ${schemaPath}`));
460
- console.log(chalk.blue('\nSetup complete!'));
461
- console.log(chalk.gray('Edit the configuration file to customize your setup.'));
462
- // Create AGENTS.md template if it doesn't exist
463
- const agentsMdPath = join(process.cwd(), 'AGENTS.md');
464
- if (!existsSync(agentsMdPath) && !options.global) {
465
- const agentsMdContent = `# Project Agents Configuration
466
-
467
- This file provides context and instructions to AI agents working on this project.
468
-
469
- ## Project Overview
470
-
471
- <!-- Describe your project here -->
472
-
473
- ## Architecture
474
-
475
- <!-- Describe the architecture and key components -->
476
-
477
- ## Conventions
478
-
479
- <!-- List coding conventions, naming patterns, etc. -->
480
-
481
- ## Important Files
482
-
483
- <!-- List key files agents should know about -->
484
-
485
- ## Common Tasks
486
-
487
- <!-- Describe common development tasks and how to perform them -->
488
- `;
489
- writeFileSync(agentsMdPath, agentsMdContent);
490
- console.log(chalk.green(`Created AGENTS.md template`));
491
- }
492
- });
493
- /**
494
- * Config command - Show or validate configuration
495
- */
496
- program
497
- .command('config')
498
- .description('Show current configuration')
499
- .option('-v, --validate', 'Validate configuration')
500
- .option('-p, --paths', 'Show configuration file paths')
501
- .addHelpText('after', `
502
- Examples:
503
- $ omc config Show current configuration
504
- $ omc config --validate Validate configuration files
505
- $ omc config --paths Show config file locations
506
-
507
- }`)
508
- .action(async (options) => {
509
- if (options.paths) {
510
- const paths = getConfigPaths();
511
- console.log(chalk.blue('Configuration file paths:'));
512
- console.log(` User: ${paths.user}`);
513
- console.log(` Project: ${paths.project}`);
514
- console.log(chalk.blue('\nFile status:'));
515
- console.log(` User: ${existsSync(paths.user) ? chalk.green('exists') : chalk.gray('not found')}`);
516
- console.log(` Project: ${existsSync(paths.project) ? chalk.green('exists') : chalk.gray('not found')}`);
37
+ // Lazy-load commands on demand
38
+ program.hook('preAction', async (thisCommand) => {
39
+ const commandName = thisCommand.name();
40
+ // Skip for root command
41
+ if (commandName === 'omc')
517
42
  return;
518
- }
519
- const config = loadConfig();
520
- if (options.validate) {
521
- console.log(chalk.blue('Validating configuration...\n'));
522
- // Check for required fields
523
- const warnings = [];
524
- const errors = [];
525
- if (!process.env.ANTHROPIC_API_KEY) {
526
- warnings.push('ANTHROPIC_API_KEY environment variable not set');
527
- }
528
- if (config.mcpServers?.exa?.enabled && !process.env.EXA_API_KEY && !config.mcpServers.exa.apiKey) {
529
- warnings.push('Exa is enabled but EXA_API_KEY is not set');
530
- }
531
- if (errors.length > 0) {
532
- console.log(chalk.red('Errors:'));
533
- errors.forEach(e => console.log(chalk.red(` - ${e}`)));
534
- }
535
- if (warnings.length > 0) {
536
- console.log(chalk.yellow('Warnings:'));
537
- warnings.forEach(w => console.log(chalk.yellow(` - ${w}`)));
538
- }
539
- if (errors.length === 0 && warnings.length === 0) {
540
- console.log(chalk.green('Configuration is valid!'));
541
- }
542
- return;
543
- }
544
- console.log(chalk.blue('Current configuration:\n'));
545
- console.log(JSON.stringify(config, null, 2));
546
- });
547
- /**
548
- * Config stop-callback subcommand - Configure stop hook callbacks
549
- */
550
- const _configStopCallback = program
551
- .command('config-stop-callback <type>')
552
- .description('Configure stop hook callbacks (file/telegram/discord)')
553
- .option('--enable', 'Enable callback')
554
- .option('--disable', 'Disable callback')
555
- .option('--path <path>', 'File path (supports {session_id}, {date}, {time})')
556
- .option('--format <format>', 'File format: markdown | json')
557
- .option('--token <token>', 'Bot token (telegram or discord-bot)')
558
- .option('--chat <id>', 'Telegram chat ID')
559
- .option('--webhook <url>', 'Discord webhook URL')
560
- .option('--channel-id <id>', 'Discord bot channel ID (used with --profile)')
561
- .option('--tag-list <csv>', 'Replace tag list (comma-separated, telegram/discord only)')
562
- .option('--add-tag <tag>', 'Append one tag (telegram/discord only)')
563
- .option('--remove-tag <tag>', 'Remove one tag (telegram/discord only)')
564
- .option('--clear-tags', 'Clear all tags (telegram/discord only)')
565
- .option('--profile <name>', 'Named notification profile to configure')
566
- .option('--show', 'Show current configuration')
567
- .addHelpText('after', `
568
- Types:
569
- file File system callback (saves session summary to disk)
570
- telegram Telegram bot notification
571
- discord Discord webhook notification
572
-
573
- Profile types (use with --profile):
574
- discord-bot Discord Bot API (token + channel ID)
575
- slack Slack incoming webhook
576
- webhook Generic webhook (POST with JSON body)
577
-
578
- Examples:
579
- $ omc config-stop-callback file --enable --path ~/.claude/logs/{date}.md
580
- $ omc config-stop-callback telegram --enable --token <token> --chat <id>
581
- $ omc config-stop-callback discord --enable --webhook <url>
582
- $ omc config-stop-callback file --disable
583
- $ omc config-stop-callback file --show
584
-
585
- # Named profiles (stored in notificationProfiles):
586
- $ omc config-stop-callback discord --profile work --enable --webhook <url>
587
- $ omc config-stop-callback telegram --profile work --enable --token <tk> --chat <id>
588
- $ omc config-stop-callback discord-bot --profile ops --enable --token <tk> --channel-id <id>
589
-
590
- # Select profile at launch:
591
- $ OMC_NOTIFY_PROFILE=work claude`)
592
- .action(async (type, options) => {
593
- // When --profile is used, route to profile-based config
594
- if (options.profile) {
595
- const profileValidTypes = ['file', 'telegram', 'discord', 'discord-bot', 'slack', 'webhook'];
596
- if (!profileValidTypes.includes(type)) {
597
- console.error(chalk.red(`Invalid type for profile: ${type}`));
598
- console.error(chalk.gray(`Valid types: ${profileValidTypes.join(', ')}`));
599
- process.exit(1);
600
- }
601
- const config = getOMCConfig();
602
- config.notificationProfiles = config.notificationProfiles || {};
603
- const profileName = options.profile;
604
- const profile = config.notificationProfiles[profileName] || { enabled: true };
605
- // Show current profile config
606
- if (options.show) {
607
- if (config.notificationProfiles[profileName]) {
608
- console.log(chalk.blue(`Profile "${profileName}" — ${type} configuration:`));
609
- const platformConfig = profile[type];
610
- if (platformConfig) {
611
- console.log(JSON.stringify(platformConfig, null, 2));
612
- }
613
- else {
614
- console.log(chalk.yellow(`No ${type} platform configured in profile "${profileName}".`));
615
- }
616
- }
617
- else {
618
- console.log(chalk.yellow(`Profile "${profileName}" not found.`));
619
- }
620
- return;
621
- }
622
- let enabled;
623
- if (options.enable)
624
- enabled = true;
625
- else if (options.disable)
626
- enabled = false;
627
- switch (type) {
628
- case 'discord': {
629
- const current = profile.discord;
630
- if (enabled === true && (!options.webhook && !current?.webhookUrl)) {
631
- console.error(chalk.red('Discord requires --webhook <webhook_url>'));
632
- process.exit(1);
43
+ // Find and load the command if not already loaded
44
+ const commandLoader = commandRegistry.find(c => c.name === commandName);
45
+ if (commandLoader && !thisCommand.commands.some(c => c.name() === commandName)) {
46
+ const { default: cmd } = await commandLoader.loader();
47
+ program.addCommand(cmd);
48
+ }
49
+ });
50
+ // Register command stubs for help text
51
+ for (const { name } of commandRegistry) {
52
+ if (!program.commands.some(c => c.name() === name)) {
53
+ const stub = new Command(name)
54
+ .description(`Loading ${name}...`)
55
+ .allowUnknownOption()
56
+ .allowExcessArguments();
57
+ stub.action(async (...args) => {
58
+ const loader = commandRegistry.find(c => c.name === name);
59
+ if (loader) {
60
+ const { default: cmd } = await loader.loader();
61
+ // Parse as standalone command with remaining args
62
+ const cmdIndex = process.argv.findIndex(arg => arg === name);
63
+ if (cmdIndex !== -1) {
64
+ const cmdArgv = [process.argv[0], process.argv[1], ...process.argv.slice(cmdIndex + 1)];
65
+ await cmd.parseAsync(cmdArgv, { from: 'node' });
633
66
  }
634
- profile.discord = {
635
- ...current,
636
- enabled: enabled ?? current?.enabled ?? false,
637
- webhookUrl: options.webhook ?? current?.webhookUrl,
638
- };
639
- break;
640
- }
641
- case 'discord-bot': {
642
- const current = profile['discord-bot'];
643
- if (enabled === true && (!options.token && !current?.botToken)) {
644
- console.error(chalk.red('Discord bot requires --token <bot_token>'));
645
- process.exit(1);
646
- }
647
- if (enabled === true && (!options.channelId && !current?.channelId)) {
648
- console.error(chalk.red('Discord bot requires --channel-id <channel_id>'));
649
- process.exit(1);
650
- }
651
- profile['discord-bot'] = {
652
- ...current,
653
- enabled: enabled ?? current?.enabled ?? false,
654
- botToken: options.token ?? current?.botToken,
655
- channelId: options.channelId ?? current?.channelId,
656
- };
657
- break;
658
- }
659
- case 'telegram': {
660
- const current = profile.telegram;
661
- if (enabled === true && (!options.token && !current?.botToken)) {
662
- console.error(chalk.red('Telegram requires --token <bot_token>'));
663
- process.exit(1);
664
- }
665
- if (enabled === true && (!options.chat && !current?.chatId)) {
666
- console.error(chalk.red('Telegram requires --chat <chat_id>'));
667
- process.exit(1);
668
- }
669
- profile.telegram = {
670
- ...current,
671
- enabled: enabled ?? current?.enabled ?? false,
672
- botToken: options.token ?? current?.botToken,
673
- chatId: options.chat ?? current?.chatId,
674
- };
675
- break;
676
- }
677
- case 'slack': {
678
- const current = profile.slack;
679
- if (enabled === true && (!options.webhook && !current?.webhookUrl)) {
680
- console.error(chalk.red('Slack requires --webhook <webhook_url>'));
681
- process.exit(1);
682
- }
683
- profile.slack = {
684
- ...current,
685
- enabled: enabled ?? current?.enabled ?? false,
686
- webhookUrl: options.webhook ?? current?.webhookUrl,
687
- };
688
- break;
689
- }
690
- case 'webhook': {
691
- const current = profile.webhook;
692
- if (enabled === true && (!options.webhook && !current?.url)) {
693
- console.error(chalk.red('Webhook requires --webhook <url>'));
694
- process.exit(1);
695
- }
696
- profile.webhook = {
697
- ...current,
698
- enabled: enabled ?? current?.enabled ?? false,
699
- url: options.webhook ?? current?.url,
700
- };
701
- break;
702
- }
703
- case 'file': {
704
- console.error(chalk.yellow('File callbacks are not supported in notification profiles.'));
705
- console.error(chalk.gray('Use without --profile for file callbacks.'));
706
- process.exit(1);
707
- break;
708
- }
709
- }
710
- config.notificationProfiles[profileName] = profile;
711
- try {
712
- writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), 'utf-8');
713
- console.log(chalk.green(`\u2713 Profile "${profileName}" — ${type} configured`));
714
- console.log(JSON.stringify(profile[type], null, 2));
715
- }
716
- catch (error) {
717
- console.error(chalk.red('Failed to write configuration:'), error);
718
- process.exit(1);
719
- }
720
- return;
721
- }
722
- // Legacy (non-profile) path
723
- const validTypes = ['file', 'telegram', 'discord'];
724
- if (!validTypes.includes(type)) {
725
- console.error(chalk.red(`Invalid callback type: ${type}`));
726
- console.error(chalk.gray(`Valid types: ${validTypes.join(', ')}`));
727
- process.exit(1);
728
- }
729
- const config = getOMCConfig();
730
- config.stopHookCallbacks = config.stopHookCallbacks || {};
731
- // Show current config
732
- if (options.show) {
733
- const current = config.stopHookCallbacks[type];
734
- if (current) {
735
- console.log(chalk.blue(`Current ${type} callback configuration:`));
736
- console.log(JSON.stringify(current, null, 2));
737
- }
738
- else {
739
- console.log(chalk.yellow(`No ${type} callback configured.`));
740
- }
741
- return;
742
- }
743
- // Determine enabled state
744
- let enabled;
745
- if (options.enable) {
746
- enabled = true;
747
- }
748
- else if (options.disable) {
749
- enabled = false;
750
- }
751
- const hasTagListChanges = options.tagList !== undefined
752
- || options.addTag !== undefined
753
- || options.removeTag !== undefined
754
- || options.clearTags;
755
- const parseTagList = (value) => value
756
- .split(',')
757
- .map((tag) => tag.trim())
758
- .filter(Boolean);
759
- const resolveTagList = (currentTagList) => {
760
- let next = options.tagList !== undefined
761
- ? parseTagList(options.tagList)
762
- : [...(currentTagList ?? [])];
763
- if (options.clearTags) {
764
- next = [];
765
- }
766
- if (options.addTag !== undefined) {
767
- const tagToAdd = String(options.addTag).trim();
768
- if (tagToAdd && !next.includes(tagToAdd)) {
769
- next.push(tagToAdd);
770
- }
771
- }
772
- if (options.removeTag !== undefined) {
773
- const tagToRemove = String(options.removeTag).trim();
774
- if (tagToRemove) {
775
- next = next.filter((tag) => tag !== tagToRemove);
776
- }
777
- }
778
- return next;
779
- };
780
- // Update config based on type
781
- switch (type) {
782
- case 'file': {
783
- const current = config.stopHookCallbacks.file;
784
- config.stopHookCallbacks.file = {
785
- enabled: enabled ?? current?.enabled ?? false,
786
- path: options.path ?? current?.path ?? '~/.claude/session-logs/{session_id}.md',
787
- format: options.format ?? current?.format ?? 'markdown',
788
- };
789
- break;
790
- }
791
- case 'telegram': {
792
- const current = config.stopHookCallbacks.telegram;
793
- if (enabled === true && (!options.token && !current?.botToken)) {
794
- console.error(chalk.red('Telegram requires --token <bot_token>'));
795
- process.exit(1);
796
- }
797
- if (enabled === true && (!options.chat && !current?.chatId)) {
798
- console.error(chalk.red('Telegram requires --chat <chat_id>'));
799
- process.exit(1);
800
- }
801
- config.stopHookCallbacks.telegram = {
802
- ...current,
803
- enabled: enabled ?? current?.enabled ?? false,
804
- botToken: options.token ?? current?.botToken,
805
- chatId: options.chat ?? current?.chatId,
806
- tagList: hasTagListChanges ? resolveTagList(current?.tagList) : current?.tagList,
807
- };
808
- break;
809
- }
810
- case 'discord': {
811
- const current = config.stopHookCallbacks.discord;
812
- if (enabled === true && (!options.webhook && !current?.webhookUrl)) {
813
- console.error(chalk.red('Discord requires --webhook <webhook_url>'));
814
- process.exit(1);
815
- }
816
- config.stopHookCallbacks.discord = {
817
- ...current,
818
- enabled: enabled ?? current?.enabled ?? false,
819
- webhookUrl: options.webhook ?? current?.webhookUrl,
820
- tagList: hasTagListChanges ? resolveTagList(current?.tagList) : current?.tagList,
821
- };
822
- break;
823
- }
824
- }
825
- // Write config
826
- try {
827
- writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), 'utf-8');
828
- console.log(chalk.green(`\u2713 Stop callback '${type}' configured`));
829
- console.log(JSON.stringify(config.stopHookCallbacks[type], null, 2));
830
- }
831
- catch (error) {
832
- console.error(chalk.red('Failed to write configuration:'), error);
833
- process.exit(1);
834
- }
835
- });
836
- /**
837
- * Config notify-profile subcommand - List, show, and delete notification profiles
838
- */
839
- program
840
- .command('config-notify-profile [name]')
841
- .description('Manage notification profiles')
842
- .option('--list', 'List all profiles')
843
- .option('--show', 'Show profile configuration')
844
- .option('--delete', 'Delete a profile')
845
- .addHelpText('after', `
846
- Examples:
847
- $ omc config-notify-profile --list
848
- $ omc config-notify-profile work --show
849
- $ omc config-notify-profile work --delete
850
-
851
- # Create/update profiles via config-stop-callback --profile:
852
- $ omc config-stop-callback discord --profile work --enable --webhook <url>
853
-
854
- # Select profile at launch:
855
- $ OMC_NOTIFY_PROFILE=work claude`)
856
- .action(async (name, options) => {
857
- const config = getOMCConfig();
858
- const profiles = config.notificationProfiles || {};
859
- if (options.list || !name) {
860
- const names = Object.keys(profiles);
861
- if (names.length === 0) {
862
- console.log(chalk.yellow('No notification profiles configured.'));
863
- console.log(chalk.gray('Create one with: omc config-stop-callback <type> --profile <name> --enable ...'));
864
- }
865
- else {
866
- console.log(chalk.blue('Notification profiles:'));
867
- for (const pName of names) {
868
- const p = profiles[pName];
869
- const platforms = ['discord', 'discord-bot', 'telegram', 'slack', 'webhook']
870
- .filter((plat) => p[plat] && (p[plat])?.enabled)
871
- .join(', ');
872
- const status = p.enabled !== false ? chalk.green('enabled') : chalk.red('disabled');
873
- console.log(` ${chalk.bold(pName)} [${status}] — ${platforms || 'no platforms'}`);
874
- }
875
- }
876
- const activeProfile = process.env.OMC_NOTIFY_PROFILE;
877
- if (activeProfile) {
878
- console.log(chalk.gray(`\nActive profile (OMC_NOTIFY_PROFILE): ${activeProfile}`));
879
- }
880
- return;
881
- }
882
- if (options.show) {
883
- if (profiles[name]) {
884
- console.log(chalk.blue(`Profile "${name}":`));
885
- console.log(JSON.stringify(profiles[name], null, 2));
886
- }
887
- else {
888
- console.log(chalk.yellow(`Profile "${name}" not found.`));
889
- }
890
- return;
891
- }
892
- if (options.delete) {
893
- if (!profiles[name]) {
894
- console.log(chalk.yellow(`Profile "${name}" not found.`));
895
- return;
896
- }
897
- delete profiles[name];
898
- config.notificationProfiles = profiles;
899
- if (Object.keys(profiles).length === 0) {
900
- delete config.notificationProfiles;
901
- }
902
- try {
903
- writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), 'utf-8');
904
- console.log(chalk.green(`\u2713 Profile "${name}" deleted`));
905
- }
906
- catch (error) {
907
- console.error(chalk.red('Failed to write configuration:'), error);
908
- process.exit(1);
909
- }
910
- return;
911
- }
912
- // Default: show the named profile
913
- if (profiles[name]) {
914
- console.log(chalk.blue(`Profile "${name}":`));
915
- console.log(JSON.stringify(profiles[name], null, 2));
916
- }
917
- else {
918
- console.log(chalk.yellow(`Profile "${name}" not found.`));
919
- console.log(chalk.gray('Create it with: omc config-stop-callback <type> --profile ' + name + ' --enable ...'));
920
- }
921
- });
922
- /**
923
- * Info command - Show system information
924
- */
925
- program
926
- .command('info')
927
- .description('Show system and agent information')
928
- .addHelpText('after', `
929
- Examples:
930
- $ omc info Show agents, features, and MCP servers`)
931
- .action(async () => {
932
- const session = createSisyphusSession();
933
- console.log(chalk.blue.bold('\nOh-My-ClaudeCode System Information\n'));
934
- console.log(chalk.gray('━'.repeat(50)));
935
- console.log(chalk.blue('\nAvailable Agents:'));
936
- const agents = session.queryOptions.options.agents;
937
- for (const [name, agent] of Object.entries(agents)) {
938
- console.log(` ${chalk.green(name)}`);
939
- console.log(` ${chalk.gray(agent.description.split('\n')[0])}`);
940
- }
941
- console.log(chalk.blue('\nEnabled Features:'));
942
- const features = session.config.features;
943
- if (features) {
944
- console.log(` Parallel Execution: ${features.parallelExecution ? chalk.green('enabled') : chalk.gray('disabled')}`);
945
- console.log(` LSP Tools: ${features.lspTools ? chalk.green('enabled') : chalk.gray('disabled')}`);
946
- console.log(` AST Tools: ${features.astTools ? chalk.green('enabled') : chalk.gray('disabled')}`);
947
- console.log(` Continuation Enforcement:${features.continuationEnforcement ? chalk.green('enabled') : chalk.gray('disabled')}`);
948
- console.log(` Auto Context Injection: ${features.autoContextInjection ? chalk.green('enabled') : chalk.gray('disabled')}`);
949
- }
950
- console.log(chalk.blue('\nMCP Servers:'));
951
- const mcpServers = session.queryOptions.options.mcpServers;
952
- for (const name of Object.keys(mcpServers)) {
953
- console.log(` ${chalk.green(name)}`);
954
- }
955
- console.log(chalk.blue('\nMagic Keywords:'));
956
- console.log(` Ultrawork: ${chalk.cyan(session.config.magicKeywords?.ultrawork?.join(', ') ?? 'ultrawork, ulw, uw')}`);
957
- console.log(` Search: ${chalk.cyan(session.config.magicKeywords?.search?.join(', ') ?? 'search, find, locate')}`);
958
- console.log(` Analyze: ${chalk.cyan(session.config.magicKeywords?.analyze?.join(', ') ?? 'analyze, investigate, examine')}`);
959
- console.log(chalk.gray('\n━'.repeat(50)));
960
- console.log(chalk.gray(`Version: ${version}`));
961
- });
962
- /**
963
- * Test command - Test prompt enhancement
964
- */
965
- program
966
- .command('test-prompt <prompt>')
967
- .description('Test how a prompt would be enhanced')
968
- .addHelpText('after', `
969
- Examples:
970
- $ omc test-prompt "ultrawork fix bugs" See how magic keywords are detected
971
- $ omc test-prompt "analyze this code" Test prompt enhancement`)
972
- .action(async (prompt) => {
973
- const session = createSisyphusSession();
974
- console.log(chalk.blue('Original prompt:'));
975
- console.log(chalk.gray(prompt));
976
- const keywords = session.detectKeywords(prompt);
977
- if (keywords.length > 0) {
978
- console.log(chalk.blue('\nDetected magic keywords:'));
979
- console.log(chalk.yellow(keywords.join(', ')));
980
- }
981
- console.log(chalk.blue('\nEnhanced prompt:'));
982
- console.log(chalk.green(session.processPrompt(prompt)));
983
- });
984
- /**
985
- * Update command - Check for and install updates
986
- */
987
- program
988
- .command('update')
989
- .description('Check for and install updates')
990
- .option('-c, --check', 'Only check for updates, do not install')
991
- .option('-f, --force', 'Force reinstall even if up to date')
992
- .option('-q, --quiet', 'Suppress output except for errors')
993
- .option('--standalone', 'Force npm update even in plugin context')
994
- .addHelpText('after', `
995
- Examples:
996
- $ omc update Check and install updates
997
- $ omc update --check Only check, don't install
998
- $ omc update --force Force reinstall
999
- $ omc update --standalone Force npm update in plugin context`)
1000
- .action(async (options) => {
1001
- if (!options.quiet) {
1002
- console.log(chalk.blue('Oh-My-ClaudeCode Update\n'));
1003
- }
1004
- try {
1005
- // Show current version
1006
- const installed = getInstalledVersion();
1007
- if (!options.quiet) {
1008
- console.log(chalk.gray(`Current version: ${installed?.version ?? 'unknown'}`));
1009
- console.log(chalk.gray(`Install method: ${installed?.installMethod ?? 'unknown'}`));
1010
- console.log('');
1011
- }
1012
- // Check for updates
1013
- if (!options.quiet) {
1014
- console.log('Checking for updates...');
1015
- }
1016
- const checkResult = await checkForUpdates();
1017
- if (!checkResult.updateAvailable && !options.force) {
1018
- if (!options.quiet) {
1019
- console.log(chalk.green(`\n✓ You are running the latest version (${checkResult.currentVersion})`));
1020
- }
1021
- return;
1022
- }
1023
- if (!options.quiet) {
1024
- console.log(formatUpdateNotification(checkResult));
1025
- }
1026
- // If check-only mode, stop here
1027
- if (options.check) {
1028
- if (checkResult.updateAvailable) {
1029
- console.log(chalk.yellow('\nRun without --check to install the update.'));
1030
- }
1031
- return;
1032
- }
1033
- // Perform the update
1034
- if (!options.quiet) {
1035
- console.log(chalk.blue('\nStarting update...\n'));
1036
- }
1037
- const result = await performUpdate({ verbose: !options.quiet, standalone: options.standalone });
1038
- if (result.success) {
1039
- if (!options.quiet) {
1040
- console.log(chalk.green(`\n✓ ${result.message}`));
1041
- console.log(chalk.gray('\nPlease restart your Claude Code session to use the new version.'));
1042
- }
1043
- }
1044
- else {
1045
- console.error(chalk.red(`\n✗ ${result.message}`));
1046
- if (result.errors) {
1047
- result.errors.forEach(err => console.error(chalk.red(` - ${err}`)));
1048
- }
1049
- process.exit(1);
1050
- }
1051
- }
1052
- catch (error) {
1053
- const message = error instanceof Error ? error.message : String(error);
1054
- console.error(chalk.red(`Update failed: ${message}`));
1055
- console.error(chalk.gray('Try again with "omc update --force", or reinstall with "omc install --force".'));
1056
- process.exit(1);
1057
- }
1058
- });
1059
- /**
1060
- * Update reconcile command - Internal command for post-update reconciliation
1061
- * Called automatically after npm install to ensure hooks/settings are updated with NEW code
1062
- */
1063
- program
1064
- .command('update-reconcile')
1065
- .description('Internal: Reconcile runtime state after update (called by update command)')
1066
- .option('-v, --verbose', 'Show detailed output')
1067
- .action(async (options) => {
1068
- try {
1069
- const reconcileResult = reconcileUpdateRuntime({ verbose: options.verbose });
1070
- if (!reconcileResult.success) {
1071
- console.error(chalk.red('Reconciliation failed:'));
1072
- if (reconcileResult.errors) {
1073
- reconcileResult.errors.forEach(err => console.error(chalk.red(` - ${err}`)));
1074
- }
1075
- process.exit(1);
1076
- }
1077
- if (options.verbose) {
1078
- console.log(chalk.green(reconcileResult.message));
1079
- }
1080
- }
1081
- catch (error) {
1082
- const message = error instanceof Error ? error.message : String(error);
1083
- console.error(chalk.red(`Reconciliation error: ${message}`));
1084
- process.exit(1);
1085
- }
1086
- });
1087
- /**
1088
- * Version command - Show version information
1089
- */
1090
- program
1091
- .command('version')
1092
- .description('Show detailed version information')
1093
- .addHelpText('after', `
1094
- Examples:
1095
- $ omc version Show version, install method, and commit hash`)
1096
- .action(async () => {
1097
- const installed = getInstalledVersion();
1098
- console.log(chalk.blue.bold('\nOh-My-ClaudeCode Version Information\n'));
1099
- console.log(chalk.gray('━'.repeat(50)));
1100
- console.log(`\n Package version: ${chalk.green(version)}`);
1101
- if (installed) {
1102
- console.log(` Installed version: ${chalk.green(installed.version)}`);
1103
- console.log(` Install method: ${chalk.cyan(installed.installMethod)}`);
1104
- console.log(` Installed at: ${chalk.gray(installed.installedAt)}`);
1105
- if (installed.lastCheckAt) {
1106
- console.log(` Last update check: ${chalk.gray(installed.lastCheckAt)}`);
1107
- }
1108
- if (installed.commitHash) {
1109
- console.log(` Commit hash: ${chalk.gray(installed.commitHash)}`);
1110
- }
1111
- }
1112
- else {
1113
- console.log(chalk.yellow(' No installation metadata found'));
1114
- console.log(chalk.gray(' (Run the install script to create version metadata)'));
1115
- }
1116
- console.log(chalk.gray('\n━'.repeat(50)));
1117
- console.log(chalk.gray('\nTo check for updates, run: ultrapower update --check'));
1118
- });
1119
- /**
1120
- * Install command - Install agents and commands to ~/.claude/
1121
- */
1122
- program
1123
- .command('install')
1124
- .description('Install Sisyphus agents and commands to Claude Code config (~/.claude/)')
1125
- .option('-f, --force', 'Overwrite existing files')
1126
- .option('-q, --quiet', 'Suppress output except for errors')
1127
- .option('--skip-claude-check', 'Skip checking if Claude Code is installed')
1128
- .addHelpText('after', `
1129
- Examples:
1130
- $ omc install Install to ~/.claude/
1131
- $ omc install --force Reinstall, overwriting existing files
1132
- $ omc install --quiet Silent install for scripts`)
1133
- .action(async (options) => {
1134
- if (!options.quiet) {
1135
- console.log(chalk.blue('╔═══════════════════════════════════════════════════════════╗'));
1136
- console.log(chalk.blue('║ Oh-My-ClaudeCode Installer ║'));
1137
- console.log(chalk.blue('║ Multi-Agent Orchestration for Claude Code ║'));
1138
- console.log(chalk.blue('╚═══════════════════════════════════════════════════════════╝'));
1139
- console.log('');
1140
- }
1141
- // Check if already installed
1142
- if (isInstalled() && !options.force) {
1143
- const info = getInstallInfo();
1144
- if (!options.quiet) {
1145
- console.log(chalk.yellow('Sisyphus is already installed.'));
1146
- if (info) {
1147
- console.log(chalk.gray(` Version: ${info.version}`));
1148
- console.log(chalk.gray(` Installed: ${info.installedAt}`));
1149
- }
1150
- console.log(chalk.gray('\nUse --force to reinstall.'));
1151
- }
1152
- return;
1153
- }
1154
- // Run installation
1155
- const result = installSisyphus({
1156
- force: options.force,
1157
- verbose: !options.quiet,
1158
- skipClaudeCheck: options.skipClaudeCheck
1159
- });
1160
- if (result.success) {
1161
- if (!options.quiet) {
1162
- console.log('');
1163
- console.log(chalk.green('╔═══════════════════════════════════════════════════════════╗'));
1164
- console.log(chalk.green('║ Installation Complete! ║'));
1165
- console.log(chalk.green('╚═══════════════════════════════════════════════════════════╝'));
1166
- console.log('');
1167
- console.log(chalk.gray(`Installed to: ~/.claude/`));
1168
- console.log('');
1169
- console.log(chalk.yellow('Usage:'));
1170
- console.log(' claude # Start Claude Code normally');
1171
- console.log('');
1172
- console.log(chalk.yellow('Slash Commands:'));
1173
- console.log(' /sisyphus <task> # Activate Sisyphus orchestration mode');
1174
- console.log(' /sisyphus-default # Configure for current project');
1175
- console.log(' /sisyphus-default-global # Configure globally');
1176
- console.log(' /ultrawork <task> # Maximum performance mode');
1177
- console.log(' /deepsearch <query> # Thorough codebase search');
1178
- console.log(' /analyze <target> # Deep analysis mode');
1179
- console.log(' /plan <description> # Start planning with Planner');
1180
- console.log(' /review [plan-path] # Review plan with Critic');
1181
- console.log('');
1182
- console.log(chalk.yellow('Available Agents (via Task tool):'));
1183
- console.log(chalk.gray(' Base Agents:'));
1184
- console.log(' architect - Architecture & debugging (Opus)');
1185
- console.log(' document-specialist - External docs & reference lookup (Sonnet)');
1186
- console.log(' explore - Fast pattern matching (Haiku)');
1187
- console.log(' designer - UI/UX specialist (Sonnet)');
1188
- console.log(' writer - Technical writing (Haiku)');
1189
- console.log(' vision - Visual analysis (Sonnet)');
1190
- console.log(' critic - Plan review (Opus)');
1191
- console.log(' analyst - Pre-planning analysis (Opus)');
1192
- console.log(' orchestrator-sisyphus - Todo coordination (Opus)');
1193
- console.log(' executor - Focused execution (Sonnet)');
1194
- console.log(' planner - Strategic planning (Opus)');
1195
- console.log(' qa-tester - Interactive CLI testing (Sonnet)');
1196
- console.log(chalk.gray(' Tiered Variants (for smart routing):'));
1197
- console.log(' architect-medium - Simpler analysis (Sonnet)');
1198
- console.log(' architect-low - Quick questions (Haiku)');
1199
- console.log(' executor-high - Complex tasks (Opus)');
1200
- console.log(' executor-low - Trivial tasks (Haiku)');
1201
- console.log(' designer-high - Design systems (Opus)');
1202
- console.log(' designer-low - Simple styling (Haiku)');
1203
- console.log('');
1204
- console.log(chalk.yellow('After Updates:'));
1205
- console.log(' Run \'/sisyphus-default\' (project) or \'/sisyphus-default-global\' (global)');
1206
- console.log(' to download the latest CLAUDE.md configuration.');
1207
- console.log(' This ensures you get the newest features and agent behaviors.');
1208
- console.log('');
1209
- console.log(chalk.blue('Quick Start:'));
1210
- console.log(' 1. Run \'claude\' to start Claude Code');
1211
- console.log(' 2. Type \'/sisyphus-default\' for project or \'/sisyphus-default-global\' for global');
1212
- console.log(' 3. Or use \'/sisyphus <task>\' for one-time activation');
1213
- }
1214
- }
1215
- else {
1216
- console.error(chalk.red(`Installation failed: ${result.message}`));
1217
- if (result.errors.length > 0) {
1218
- result.errors.forEach(err => console.error(chalk.red(` - ${err}`)));
1219
- }
1220
- console.error(chalk.gray('\nTry "omc install --force" to overwrite existing files.'));
1221
- console.error(chalk.gray('For more diagnostics, run "omc doctor conflicts".'));
1222
- process.exit(1);
1223
- }
1224
- });
1225
- /**
1226
- * Wait command - Rate limit wait and auto-resume
1227
- *
1228
- * Zero learning curve design:
1229
- * - `omc wait` alone shows status and suggests next action
1230
- * - `omc wait --start` starts the daemon (shortcut)
1231
- * - `omc wait --stop` stops the daemon (shortcut)
1232
- * - Subcommands available for power users
1233
- */
1234
- const waitCmd = program
1235
- .command('wait')
1236
- .description('Rate limit wait and auto-resume (just run "omc wait" to get started)')
1237
- .option('--json', 'Output as JSON')
1238
- .option('--start', 'Start the auto-resume daemon')
1239
- .option('--stop', 'Stop the auto-resume daemon')
1240
- .addHelpText('after', `
1241
- Examples:
1242
- $ omc wait Show status and suggestions
1243
- $ omc wait --start Start auto-resume daemon
1244
- $ omc wait --stop Stop auto-resume daemon
1245
- $ omc wait status Show detailed rate limit status
1246
- $ omc wait detect Scan for blocked tmux sessions`)
1247
- .action(async (options) => {
1248
- await waitCommand(options);
1249
- });
1250
- waitCmd
1251
- .command('status')
1252
- .description('Show detailed rate limit and daemon status')
1253
- .option('--json', 'Output as JSON')
1254
- .action(async (options) => {
1255
- await waitStatusCommand(options);
1256
- });
1257
- waitCmd
1258
- .command('daemon <action>')
1259
- .description('Start or stop the auto-resume daemon')
1260
- .option('-v, --verbose', 'Enable verbose logging')
1261
- .option('-f, --foreground', 'Run in foreground (blocking)')
1262
- .option('-i, --interval <seconds>', 'Poll interval in seconds', '60')
1263
- .addHelpText('after', `
1264
- Examples:
1265
- $ omc wait daemon start Start background daemon
1266
- $ omc wait daemon stop Stop the daemon
1267
- $ omc wait daemon start -f Run in foreground`)
1268
- .action(async (action, options) => {
1269
- if (action !== 'start' && action !== 'stop') {
1270
- console.error(chalk.red(`Invalid action "${action}". Valid options: start, stop`));
1271
- console.error(chalk.gray('Example: omc wait daemon start'));
1272
- process.exit(1);
1273
- }
1274
- await waitDaemonCommand(action, {
1275
- verbose: options.verbose,
1276
- foreground: options.foreground,
1277
- interval: parseInt(options.interval),
1278
- });
1279
- });
1280
- waitCmd
1281
- .command('detect')
1282
- .description('Scan for blocked Claude Code sessions in tmux')
1283
- .option('--json', 'Output as JSON')
1284
- .option('-l, --lines <number>', 'Number of pane lines to analyze', '15')
1285
- .action(async (options) => {
1286
- await waitDetectCommand({
1287
- json: options.json,
1288
- lines: parseInt(options.lines),
1289
- });
1290
- });
1291
- /**
1292
- * Teleport command - Quick worktree creation
1293
- *
1294
- * Usage:
1295
- * - `omc teleport #123` - Create worktree for issue/PR #123
1296
- * - `omc teleport my-feature` - Create worktree for feature branch
1297
- * - `omc teleport list` - List existing worktrees
1298
- * - `omc teleport remove <path>` - Remove a worktree
1299
- */
1300
- const teleportCmd = program
1301
- .command('teleport [ref]')
1302
- .description('Create git worktree for isolated development (e.g., omc teleport #123)')
1303
- .option('--worktree', 'Create worktree (default behavior, flag kept for compatibility)')
1304
- .option('-p, --path <path>', 'Custom worktree path (default: ~/Workspace/omc-worktrees/)')
1305
- .option('-b, --base <branch>', 'Base branch to create from (default: main)')
1306
- .option('--json', 'Output as JSON')
1307
- .addHelpText('after', `
1308
- Examples:
1309
- $ omc teleport #42 Create worktree for issue/PR #42
1310
- $ omc teleport add-auth Create worktree for a feature branch
1311
- $ omc teleport list List existing worktrees
1312
- $ omc teleport remove ./path Remove a worktree`)
1313
- .action(async (ref, options) => {
1314
- if (!ref) {
1315
- // No ref provided, show help
1316
- console.log(chalk.blue('Teleport - Quick worktree creation\n'));
1317
- console.log('Usage:');
1318
- console.log(' omc teleport <ref> Create worktree for issue/PR/feature');
1319
- console.log(' omc teleport list List existing worktrees');
1320
- console.log(' omc teleport remove <path> Remove a worktree');
1321
- console.log('');
1322
- console.log('Reference formats:');
1323
- console.log(' #123 Issue/PR in current repo');
1324
- console.log(' owner/repo#123 Issue/PR in specific repo');
1325
- console.log(' my-feature Feature branch name');
1326
- console.log(' https://github.com/... GitHub URL');
1327
- console.log('');
1328
- console.log('Examples:');
1329
- console.log(' omc teleport #42 Create worktree for issue #42');
1330
- console.log(' omc teleport add-auth Create worktree for feature "add-auth"');
1331
- console.log('');
1332
- return;
1333
- }
1334
- await teleportCommand(ref, {
1335
- worktree: true, // Always create worktree
1336
- worktreePath: options.path,
1337
- base: options.base,
1338
- json: options.json,
1339
- });
1340
- });
1341
- teleportCmd
1342
- .command('list')
1343
- .description('List existing worktrees in ~/Workspace/omc-worktrees/')
1344
- .option('--json', 'Output as JSON')
1345
- .action(async (options) => {
1346
- await teleportListCommand(options);
1347
- });
1348
- teleportCmd
1349
- .command('remove <path>')
1350
- .alias('rm')
1351
- .description('Remove a worktree')
1352
- .option('-f, --force', 'Force removal even with uncommitted changes')
1353
- .option('--json', 'Output as JSON')
1354
- .action(async (path, options) => {
1355
- await teleportRemoveCommand(path, options);
1356
- });
1357
- /**
1358
- * Doctor command - Diagnostic tools
1359
- */
1360
- const doctorCmd = program
1361
- .command('doctor')
1362
- .description('Diagnostic tools for troubleshooting OMC installation')
1363
- .addHelpText('after', `
1364
- Examples:
1365
- $ omc doctor conflicts Check for plugin conflicts`);
1366
- doctorCmd
1367
- .command('conflicts')
1368
- .description('Check for plugin coexistence issues and configuration conflicts')
1369
- .option('--json', 'Output as JSON')
1370
- .addHelpText('after', `
1371
- Examples:
1372
- $ omc doctor conflicts Check for configuration issues
1373
- $ omc doctor conflicts --json Output results as JSON`)
1374
- .action(async (options) => {
1375
- const exitCode = await doctorConflictsCommand(options);
1376
- // Version consistency check
1377
- try {
1378
- const { checkVersionConsistency } = await import('../lib/plugin-registry.js');
1379
- const report = checkVersionConsistency();
1380
- if (!report.consistent && !report.isUpdating) {
1381
- console.log(chalk.yellow('[WARN] Version drift detected:'));
1382
- if (report.registryVersion) {
1383
- console.log(` installed_plugins.json: v${report.registryVersion}`);
1384
67
  }
1385
- if (report.versionMetadataVersion) {
1386
- console.log(` version metadata: v${report.versionMetadataVersion}`);
1387
- }
1388
- console.log(` package.json: v${report.packageJsonVersion}`);
1389
- if (report.fixCommand) {
1390
- console.log(` Fix: ${report.fixCommand}`);
1391
- }
1392
- }
1393
- else if (report.consistent) {
1394
- console.log(chalk.green('✓ Version consistency: OK'));
1395
- }
1396
- }
1397
- catch {
1398
- // Non-fatal: version check failure should not affect other doctor checks
1399
- }
1400
- process.exit(exitCode);
1401
- });
1402
- /**
1403
- * Setup command - Official CLI entry point for omc-setup
1404
- *
1405
- * User-friendly command that syncs all OMC components:
1406
- * - Installs/updates hooks, agents, and skills
1407
- * - Reconciles runtime state after updates
1408
- * - Shows clear summary of what was installed/updated
1409
- */
1410
- program
1411
- .command('setup')
1412
- .description('Run OMC setup to sync all components (hooks, agents, skills)')
1413
- .option('-f, --force', 'Force reinstall even if already up to date')
1414
- .option('-q, --quiet', 'Suppress output except for errors')
1415
- .option('--skip-hooks', 'Skip hook installation')
1416
- .option('--force-hooks', 'Force reinstall hooks even if unchanged')
1417
- .addHelpText('after', `
1418
- Examples:
1419
- $ omc setup Sync all OMC components
1420
- $ omc setup --force Force reinstall everything
1421
- $ omc setup --quiet Silent setup for scripts
1422
- $ omc setup --skip-hooks Install without hooks
1423
- $ omc setup --force-hooks Force reinstall hooks`)
1424
- .action(async (options) => {
1425
- if (!options.quiet) {
1426
- console.log(chalk.blue('Oh-My-ClaudeCode Setup\n'));
1427
- }
1428
- // Step 1: Run installation (which handles hooks, agents, skills)
1429
- if (!options.quiet) {
1430
- console.log(chalk.gray('Syncing OMC components...'));
1431
- }
1432
- const result = installSisyphus({
1433
- force: !!options.force,
1434
- verbose: !options.quiet,
1435
- skipClaudeCheck: true,
1436
- forceHooks: !!options.forceHooks,
1437
- });
1438
- if (!result.success) {
1439
- console.error(chalk.red(`Setup failed: ${result.message}`));
1440
- if (result.errors.length > 0) {
1441
- result.errors.forEach(err => console.error(chalk.red(` - ${err}`)));
1442
- }
1443
- process.exit(1);
1444
- }
1445
- // Step 2: Show summary
1446
- if (!options.quiet) {
1447
- console.log('');
1448
- console.log(chalk.green('Setup complete!'));
1449
- console.log('');
1450
- if (result.installedAgents.length > 0) {
1451
- console.log(chalk.gray(` Agents: ${result.installedAgents.length} synced`));
1452
- }
1453
- if (result.installedCommands.length > 0) {
1454
- console.log(chalk.gray(` Commands: ${result.installedCommands.length} synced`));
1455
- }
1456
- if (result.installedSkills.length > 0) {
1457
- console.log(chalk.gray(` Skills: ${result.installedSkills.length} synced`));
1458
- }
1459
- if (result.hooksConfigured) {
1460
- console.log(chalk.gray(' Hooks: configured'));
1461
- }
1462
- if (result.hookConflicts.length > 0) {
1463
- console.log('');
1464
- console.log(chalk.yellow(' Hook conflicts detected:'));
1465
- result.hookConflicts.forEach(c => {
1466
- console.log(chalk.yellow(` - ${c.eventType}: ${c.existingCommand}`));
1467
- });
1468
- }
1469
- console.log('');
1470
- console.log(chalk.gray(`Version: ${version}`));
1471
- console.log(chalk.gray('Start Claude Code and use /ultrapower:omc-setup for interactive setup.'));
1472
- }
1473
- });
1474
- /**
1475
- * Postinstall command - Silent install for npm postinstall hook
1476
- */
1477
- program
1478
- .command('postinstall', { hidden: true })
1479
- .description('Run post-install setup (called automatically by npm)')
1480
- .action(async () => {
1481
- // Silent install - only show errors
1482
- const result = installSisyphus({
1483
- force: false,
1484
- verbose: false,
1485
- skipClaudeCheck: true
1486
- });
1487
- if (result.success) {
1488
- console.log(chalk.green('✓ Oh-My-ClaudeCode installed successfully!'));
1489
- console.log(chalk.gray(' Run "ultrapower info" to see available agents.'));
1490
- console.log(chalk.yellow(' Run "/sisyphus-default" (project) or "/sisyphus-default-global" (global) in Claude Code.'));
1491
- }
1492
- else {
1493
- // Don't fail the npm install, just warn
1494
- console.warn(chalk.yellow('⚠ Could not complete Sisyphus setup:'), result.message);
1495
- console.warn(chalk.gray(' Run "ultrapower install" manually to complete setup.'));
68
+ });
69
+ program.addCommand(stub);
1496
70
  }
1497
- });
1498
- // Plugin management commands
1499
- import { pluginCommand } from './commands/plugin.js';
1500
- program.addCommand(pluginCommand());
1501
- // Parse arguments
71
+ }
1502
72
  program.parse();
1503
73
  //# sourceMappingURL=index.js.map