@liangjie559567/ultrapower 5.5.13 → 5.5.14

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 (1160) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +2 -2
  3. package/LICENSE +21 -21
  4. package/bridge/gyoshu_bridge.py +846 -846
  5. package/dist/hooks/bridge-normalize.d.ts.map +1 -1
  6. package/dist/hooks/bridge-normalize.js +2 -0
  7. package/dist/hooks/bridge-normalize.js.map +1 -1
  8. package/dist/lib/path-validator.d.ts.map +1 -1
  9. package/dist/lib/path-validator.js +7 -0
  10. package/dist/lib/path-validator.js.map +1 -1
  11. package/docs/CLAUDE.md +1 -1
  12. package/docs/guides/v5.5.13-new-features.md +234 -0
  13. package/hooks/run-hook.cmd +0 -0
  14. package/hooks/session-start +0 -0
  15. package/package.json +1 -1
  16. package/scripts/persistent-mode.cjs +605 -605
  17. package/skills/systematic-debugging/find-polluter.sh +0 -0
  18. package/skills/writing-skills/graphviz-conventions.dot +171 -171
  19. package/skills/writing-skills/render-graphs.js +0 -0
  20. package/templates/axiom/scripts/Check-Memory.ps1 +68 -68
  21. package/templates/axiom/scripts/Poll-Memory.ps1 +36 -36
  22. package/templates/axiom/scripts/Watch-Memory.ps1 +149 -149
  23. package/templates/axiom/scripts/agent-runner.ps1 +101 -101
  24. package/templates/axiom/scripts/start-reviews.ps1 +19 -19
  25. package/dist/__tests__/agent-registry.test.d.ts +0 -2
  26. package/dist/__tests__/agent-registry.test.d.ts.map +0 -1
  27. package/dist/__tests__/agent-registry.test.js +0 -45
  28. package/dist/__tests__/agent-registry.test.js.map +0 -1
  29. package/dist/__tests__/analytics/backfill-dedup.test.d.ts +0 -2
  30. package/dist/__tests__/analytics/backfill-dedup.test.d.ts.map +0 -1
  31. package/dist/__tests__/analytics/backfill-dedup.test.js +0 -179
  32. package/dist/__tests__/analytics/backfill-dedup.test.js.map +0 -1
  33. package/dist/__tests__/analytics/backfill-engine.test.d.ts +0 -2
  34. package/dist/__tests__/analytics/backfill-engine.test.d.ts.map +0 -1
  35. package/dist/__tests__/analytics/backfill-engine.test.js +0 -362
  36. package/dist/__tests__/analytics/backfill-engine.test.js.map +0 -1
  37. package/dist/__tests__/analytics/output-estimator.test.d.ts +0 -2
  38. package/dist/__tests__/analytics/output-estimator.test.d.ts.map +0 -1
  39. package/dist/__tests__/analytics/output-estimator.test.js +0 -124
  40. package/dist/__tests__/analytics/output-estimator.test.js.map +0 -1
  41. package/dist/__tests__/analytics/token-extractor.test.d.ts +0 -2
  42. package/dist/__tests__/analytics/token-extractor.test.d.ts.map +0 -1
  43. package/dist/__tests__/analytics/token-extractor.test.js +0 -165
  44. package/dist/__tests__/analytics/token-extractor.test.js.map +0 -1
  45. package/dist/__tests__/analytics/token-tracker.test.d.ts +0 -2
  46. package/dist/__tests__/analytics/token-tracker.test.d.ts.map +0 -1
  47. package/dist/__tests__/analytics/token-tracker.test.js +0 -189
  48. package/dist/__tests__/analytics/token-tracker.test.js.map +0 -1
  49. package/dist/__tests__/analytics/tokscale-adapter.test.d.ts +0 -2
  50. package/dist/__tests__/analytics/tokscale-adapter.test.d.ts.map +0 -1
  51. package/dist/__tests__/analytics/tokscale-adapter.test.js +0 -79
  52. package/dist/__tests__/analytics/tokscale-adapter.test.js.map +0 -1
  53. package/dist/__tests__/analytics/transcript-parser.test.d.ts +0 -2
  54. package/dist/__tests__/analytics/transcript-parser.test.d.ts.map +0 -1
  55. package/dist/__tests__/analytics/transcript-parser.test.js +0 -289
  56. package/dist/__tests__/analytics/transcript-parser.test.js.map +0 -1
  57. package/dist/__tests__/analytics/transcript-scanner.test.d.ts +0 -2
  58. package/dist/__tests__/analytics/transcript-scanner.test.d.ts.map +0 -1
  59. package/dist/__tests__/analytics/transcript-scanner.test.js +0 -443
  60. package/dist/__tests__/analytics/transcript-scanner.test.js.map +0 -1
  61. package/dist/__tests__/analytics/transcript-token-extractor.test.d.ts +0 -2
  62. package/dist/__tests__/analytics/transcript-token-extractor.test.d.ts.map +0 -1
  63. package/dist/__tests__/analytics/transcript-token-extractor.test.js +0 -177
  64. package/dist/__tests__/analytics/transcript-token-extractor.test.js.map +0 -1
  65. package/dist/__tests__/auto-update.test.d.ts +0 -2
  66. package/dist/__tests__/auto-update.test.d.ts.map +0 -1
  67. package/dist/__tests__/auto-update.test.js +0 -451
  68. package/dist/__tests__/auto-update.test.js.map +0 -1
  69. package/dist/__tests__/auto-upgrade-prompt.test.d.ts +0 -2
  70. package/dist/__tests__/auto-upgrade-prompt.test.d.ts.map +0 -1
  71. package/dist/__tests__/auto-upgrade-prompt.test.js +0 -81
  72. package/dist/__tests__/auto-upgrade-prompt.test.js.map +0 -1
  73. package/dist/__tests__/bash-history.test.d.ts +0 -5
  74. package/dist/__tests__/bash-history.test.d.ts.map +0 -1
  75. package/dist/__tests__/bash-history.test.js +0 -78
  76. package/dist/__tests__/bash-history.test.js.map +0 -1
  77. package/dist/__tests__/cli-config-stop-callback.test.d.ts +0 -2
  78. package/dist/__tests__/cli-config-stop-callback.test.d.ts.map +0 -1
  79. package/dist/__tests__/cli-config-stop-callback.test.js +0 -102
  80. package/dist/__tests__/cli-config-stop-callback.test.js.map +0 -1
  81. package/dist/__tests__/cli-notify-profile.test.d.ts +0 -2
  82. package/dist/__tests__/cli-notify-profile.test.d.ts.map +0 -1
  83. package/dist/__tests__/cli-notify-profile.test.js +0 -213
  84. package/dist/__tests__/cli-notify-profile.test.js.map +0 -1
  85. package/dist/__tests__/codex-backoff.test.d.ts +0 -2
  86. package/dist/__tests__/codex-backoff.test.d.ts.map +0 -1
  87. package/dist/__tests__/codex-backoff.test.js +0 -143
  88. package/dist/__tests__/codex-backoff.test.js.map +0 -1
  89. package/dist/__tests__/compatibility-security.test.d.ts +0 -13
  90. package/dist/__tests__/compatibility-security.test.d.ts.map +0 -1
  91. package/dist/__tests__/compatibility-security.test.js +0 -403
  92. package/dist/__tests__/compatibility-security.test.js.map +0 -1
  93. package/dist/__tests__/compatibility.test.d.ts +0 -7
  94. package/dist/__tests__/compatibility.test.d.ts.map +0 -1
  95. package/dist/__tests__/compatibility.test.js +0 -484
  96. package/dist/__tests__/compatibility.test.js.map +0 -1
  97. package/dist/__tests__/consensus-execution-handoff.test.d.ts +0 -14
  98. package/dist/__tests__/consensus-execution-handoff.test.d.ts.map +0 -1
  99. package/dist/__tests__/consensus-execution-handoff.test.js +0 -178
  100. package/dist/__tests__/consensus-execution-handoff.test.js.map +0 -1
  101. package/dist/__tests__/delegation-enforcement-levels.test.d.ts +0 -9
  102. package/dist/__tests__/delegation-enforcement-levels.test.d.ts.map +0 -1
  103. package/dist/__tests__/delegation-enforcement-levels.test.js +0 -583
  104. package/dist/__tests__/delegation-enforcement-levels.test.js.map +0 -1
  105. package/dist/__tests__/delegation-enforcer-integration.test.d.ts +0 -6
  106. package/dist/__tests__/delegation-enforcer-integration.test.d.ts.map +0 -1
  107. package/dist/__tests__/delegation-enforcer-integration.test.js +0 -136
  108. package/dist/__tests__/delegation-enforcer-integration.test.js.map +0 -1
  109. package/dist/__tests__/delegation-enforcer.test.d.ts +0 -5
  110. package/dist/__tests__/delegation-enforcer.test.d.ts.map +0 -1
  111. package/dist/__tests__/delegation-enforcer.test.js +0 -209
  112. package/dist/__tests__/delegation-enforcer.test.js.map +0 -1
  113. package/dist/__tests__/directory-context-injector.test.d.ts +0 -2
  114. package/dist/__tests__/directory-context-injector.test.d.ts.map +0 -1
  115. package/dist/__tests__/directory-context-injector.test.js +0 -186
  116. package/dist/__tests__/directory-context-injector.test.js.map +0 -1
  117. package/dist/__tests__/disable-tools.test.d.ts +0 -8
  118. package/dist/__tests__/disable-tools.test.d.ts.map +0 -1
  119. package/dist/__tests__/disable-tools.test.js +0 -182
  120. package/dist/__tests__/disable-tools.test.js.map +0 -1
  121. package/dist/__tests__/doctor-conflicts.test.d.ts +0 -8
  122. package/dist/__tests__/doctor-conflicts.test.d.ts.map +0 -1
  123. package/dist/__tests__/doctor-conflicts.test.js +0 -230
  124. package/dist/__tests__/doctor-conflicts.test.js.map +0 -1
  125. package/dist/__tests__/example.test.d.ts +0 -2
  126. package/dist/__tests__/example.test.d.ts.map +0 -1
  127. package/dist/__tests__/example.test.js +0 -20
  128. package/dist/__tests__/example.test.js.map +0 -1
  129. package/dist/__tests__/helpers/prompt-test-helpers.d.ts +0 -4
  130. package/dist/__tests__/helpers/prompt-test-helpers.d.ts.map +0 -1
  131. package/dist/__tests__/helpers/prompt-test-helpers.js +0 -9
  132. package/dist/__tests__/helpers/prompt-test-helpers.js.map +0 -1
  133. package/dist/__tests__/hooks/learner/bridge.test.d.ts +0 -11
  134. package/dist/__tests__/hooks/learner/bridge.test.d.ts.map +0 -1
  135. package/dist/__tests__/hooks/learner/bridge.test.js +0 -217
  136. package/dist/__tests__/hooks/learner/bridge.test.js.map +0 -1
  137. package/dist/__tests__/hooks/learner/parser.test.d.ts +0 -5
  138. package/dist/__tests__/hooks/learner/parser.test.d.ts.map +0 -1
  139. package/dist/__tests__/hooks/learner/parser.test.js +0 -219
  140. package/dist/__tests__/hooks/learner/parser.test.js.map +0 -1
  141. package/dist/__tests__/hooks-json-paths.test.d.ts +0 -9
  142. package/dist/__tests__/hooks-json-paths.test.d.ts.map +0 -1
  143. package/dist/__tests__/hooks-json-paths.test.js +0 -91
  144. package/dist/__tests__/hooks-json-paths.test.js.map +0 -1
  145. package/dist/__tests__/hooks.test.d.ts +0 -2
  146. package/dist/__tests__/hooks.test.d.ts.map +0 -1
  147. package/dist/__tests__/hooks.test.js +0 -1273
  148. package/dist/__tests__/hooks.test.js.map +0 -1
  149. package/dist/__tests__/hud/analytics-display.test.d.ts +0 -2
  150. package/dist/__tests__/hud/analytics-display.test.d.ts.map +0 -1
  151. package/dist/__tests__/hud/analytics-display.test.js +0 -236
  152. package/dist/__tests__/hud/analytics-display.test.js.map +0 -1
  153. package/dist/__tests__/hud/call-counts.test.d.ts +0 -2
  154. package/dist/__tests__/hud/call-counts.test.d.ts.map +0 -1
  155. package/dist/__tests__/hud/call-counts.test.js +0 -90
  156. package/dist/__tests__/hud/call-counts.test.js.map +0 -1
  157. package/dist/__tests__/hud/context-warning.test.d.ts +0 -2
  158. package/dist/__tests__/hud/context-warning.test.d.ts.map +0 -1
  159. package/dist/__tests__/hud/context-warning.test.js +0 -84
  160. package/dist/__tests__/hud/context-warning.test.js.map +0 -1
  161. package/dist/__tests__/hud/cwd.test.d.ts +0 -2
  162. package/dist/__tests__/hud/cwd.test.d.ts.map +0 -1
  163. package/dist/__tests__/hud/cwd.test.js +0 -62
  164. package/dist/__tests__/hud/cwd.test.js.map +0 -1
  165. package/dist/__tests__/hud/defaults.test.d.ts +0 -2
  166. package/dist/__tests__/hud/defaults.test.d.ts.map +0 -1
  167. package/dist/__tests__/hud/defaults.test.js +0 -55
  168. package/dist/__tests__/hud/defaults.test.js.map +0 -1
  169. package/dist/__tests__/hud/git.test.d.ts +0 -2
  170. package/dist/__tests__/hud/git.test.d.ts.map +0 -1
  171. package/dist/__tests__/hud/git.test.js +0 -110
  172. package/dist/__tests__/hud/git.test.js.map +0 -1
  173. package/dist/__tests__/hud/model.test.d.ts +0 -2
  174. package/dist/__tests__/hud/model.test.d.ts.map +0 -1
  175. package/dist/__tests__/hud/model.test.js +0 -63
  176. package/dist/__tests__/hud/model.test.js.map +0 -1
  177. package/dist/__tests__/hud/render.test.d.ts +0 -2
  178. package/dist/__tests__/hud/render.test.d.ts.map +0 -1
  179. package/dist/__tests__/hud/render.test.js +0 -141
  180. package/dist/__tests__/hud/render.test.js.map +0 -1
  181. package/dist/__tests__/hud/sanitize.test.d.ts +0 -10
  182. package/dist/__tests__/hud/sanitize.test.d.ts.map +0 -1
  183. package/dist/__tests__/hud/sanitize.test.js +0 -138
  184. package/dist/__tests__/hud/sanitize.test.js.map +0 -1
  185. package/dist/__tests__/hud/skills.test.d.ts +0 -2
  186. package/dist/__tests__/hud/skills.test.d.ts.map +0 -1
  187. package/dist/__tests__/hud/skills.test.js +0 -143
  188. package/dist/__tests__/hud/skills.test.js.map +0 -1
  189. package/dist/__tests__/hud/state.test.d.ts +0 -2
  190. package/dist/__tests__/hud/state.test.d.ts.map +0 -1
  191. package/dist/__tests__/hud/state.test.js +0 -162
  192. package/dist/__tests__/hud/state.test.js.map +0 -1
  193. package/dist/__tests__/hud/thinking.test.d.ts +0 -2
  194. package/dist/__tests__/hud/thinking.test.d.ts.map +0 -1
  195. package/dist/__tests__/hud/thinking.test.js +0 -32
  196. package/dist/__tests__/hud/thinking.test.js.map +0 -1
  197. package/dist/__tests__/hud/top-agents.test.d.ts +0 -8
  198. package/dist/__tests__/hud/top-agents.test.d.ts.map +0 -1
  199. package/dist/__tests__/hud/top-agents.test.js +0 -158
  200. package/dist/__tests__/hud/top-agents.test.js.map +0 -1
  201. package/dist/__tests__/hud/usage-api.test.d.ts +0 -5
  202. package/dist/__tests__/hud/usage-api.test.d.ts.map +0 -1
  203. package/dist/__tests__/hud/usage-api.test.js +0 -201
  204. package/dist/__tests__/hud/usage-api.test.js.map +0 -1
  205. package/dist/__tests__/hud/version-display.test.d.ts +0 -2
  206. package/dist/__tests__/hud/version-display.test.d.ts.map +0 -1
  207. package/dist/__tests__/hud/version-display.test.js +0 -107
  208. package/dist/__tests__/hud/version-display.test.js.map +0 -1
  209. package/dist/__tests__/hud/windows-platform.test.d.ts +0 -2
  210. package/dist/__tests__/hud/windows-platform.test.d.ts.map +0 -1
  211. package/dist/__tests__/hud/windows-platform.test.js +0 -193
  212. package/dist/__tests__/hud/windows-platform.test.js.map +0 -1
  213. package/dist/__tests__/hud-agents.test.d.ts +0 -7
  214. package/dist/__tests__/hud-agents.test.d.ts.map +0 -1
  215. package/dist/__tests__/hud-agents.test.js +0 -392
  216. package/dist/__tests__/hud-agents.test.js.map +0 -1
  217. package/dist/__tests__/hud-axiom.test.d.ts +0 -5
  218. package/dist/__tests__/hud-axiom.test.d.ts.map +0 -1
  219. package/dist/__tests__/hud-axiom.test.js +0 -287
  220. package/dist/__tests__/hud-axiom.test.js.map +0 -1
  221. package/dist/__tests__/hud-suggestions.test.d.ts +0 -5
  222. package/dist/__tests__/hud-suggestions.test.d.ts.map +0 -1
  223. package/dist/__tests__/hud-suggestions.test.js +0 -244
  224. package/dist/__tests__/hud-suggestions.test.js.map +0 -1
  225. package/dist/__tests__/hud-windows.test.d.ts +0 -2
  226. package/dist/__tests__/hud-windows.test.d.ts.map +0 -1
  227. package/dist/__tests__/hud-windows.test.js +0 -154
  228. package/dist/__tests__/hud-windows.test.js.map +0 -1
  229. package/dist/__tests__/inline-prompt-integration.test.d.ts +0 -2
  230. package/dist/__tests__/inline-prompt-integration.test.d.ts.map +0 -1
  231. package/dist/__tests__/inline-prompt-integration.test.js +0 -411
  232. package/dist/__tests__/inline-prompt-integration.test.js.map +0 -1
  233. package/dist/__tests__/inline-success-shape.test.d.ts +0 -2
  234. package/dist/__tests__/inline-success-shape.test.d.ts.map +0 -1
  235. package/dist/__tests__/inline-success-shape.test.js +0 -130
  236. package/dist/__tests__/inline-success-shape.test.js.map +0 -1
  237. package/dist/__tests__/installer-hooks-merge.test.d.ts +0 -13
  238. package/dist/__tests__/installer-hooks-merge.test.d.ts.map +0 -1
  239. package/dist/__tests__/installer-hooks-merge.test.js +0 -250
  240. package/dist/__tests__/installer-hooks-merge.test.js.map +0 -1
  241. package/dist/__tests__/installer-hud-skip.test.d.ts +0 -2
  242. package/dist/__tests__/installer-hud-skip.test.d.ts.map +0 -1
  243. package/dist/__tests__/installer-hud-skip.test.js +0 -102
  244. package/dist/__tests__/installer-hud-skip.test.js.map +0 -1
  245. package/dist/__tests__/installer.test.d.ts +0 -2
  246. package/dist/__tests__/installer.test.d.ts.map +0 -1
  247. package/dist/__tests__/installer.test.js +0 -474
  248. package/dist/__tests__/installer.test.js.map +0 -1
  249. package/dist/__tests__/job-management-sqlite.test.d.ts +0 -2
  250. package/dist/__tests__/job-management-sqlite.test.d.ts.map +0 -1
  251. package/dist/__tests__/job-management-sqlite.test.js +0 -284
  252. package/dist/__tests__/job-management-sqlite.test.js.map +0 -1
  253. package/dist/__tests__/job-management.test.d.ts +0 -2
  254. package/dist/__tests__/job-management.test.d.ts.map +0 -1
  255. package/dist/__tests__/job-management.test.js +0 -411
  256. package/dist/__tests__/job-management.test.js.map +0 -1
  257. package/dist/__tests__/job-state-db.test.d.ts +0 -2
  258. package/dist/__tests__/job-state-db.test.d.ts.map +0 -1
  259. package/dist/__tests__/job-state-db.test.js +0 -611
  260. package/dist/__tests__/job-state-db.test.js.map +0 -1
  261. package/dist/__tests__/learner/auto-learner.test.d.ts +0 -7
  262. package/dist/__tests__/learner/auto-learner.test.d.ts.map +0 -1
  263. package/dist/__tests__/learner/auto-learner.test.js +0 -507
  264. package/dist/__tests__/learner/auto-learner.test.js.map +0 -1
  265. package/dist/__tests__/learner/matcher.test.d.ts +0 -2
  266. package/dist/__tests__/learner/matcher.test.d.ts.map +0 -1
  267. package/dist/__tests__/learner/matcher.test.js +0 -330
  268. package/dist/__tests__/learner/matcher.test.js.map +0 -1
  269. package/dist/__tests__/live-data.test.d.ts +0 -2
  270. package/dist/__tests__/live-data.test.d.ts.map +0 -1
  271. package/dist/__tests__/live-data.test.js +0 -331
  272. package/dist/__tests__/live-data.test.js.map +0 -1
  273. package/dist/__tests__/load-agent-prompt.test.d.ts +0 -2
  274. package/dist/__tests__/load-agent-prompt.test.d.ts.map +0 -1
  275. package/dist/__tests__/load-agent-prompt.test.js +0 -91
  276. package/dist/__tests__/load-agent-prompt.test.js.map +0 -1
  277. package/dist/__tests__/lsp-servers.test.d.ts +0 -2
  278. package/dist/__tests__/lsp-servers.test.d.ts.map +0 -1
  279. package/dist/__tests__/lsp-servers.test.js +0 -121
  280. package/dist/__tests__/lsp-servers.test.js.map +0 -1
  281. package/dist/__tests__/mcp-fallback-429.test.d.ts +0 -2
  282. package/dist/__tests__/mcp-fallback-429.test.d.ts.map +0 -1
  283. package/dist/__tests__/mcp-fallback-429.test.js +0 -164
  284. package/dist/__tests__/mcp-fallback-429.test.js.map +0 -1
  285. package/dist/__tests__/mcp-server-workflows.test.d.ts +0 -2
  286. package/dist/__tests__/mcp-server-workflows.test.d.ts.map +0 -1
  287. package/dist/__tests__/mcp-server-workflows.test.js +0 -301
  288. package/dist/__tests__/mcp-server-workflows.test.js.map +0 -1
  289. package/dist/__tests__/mnemosyne/config.test.d.ts +0 -2
  290. package/dist/__tests__/mnemosyne/config.test.d.ts.map +0 -1
  291. package/dist/__tests__/mnemosyne/config.test.js +0 -37
  292. package/dist/__tests__/mnemosyne/config.test.js.map +0 -1
  293. package/dist/__tests__/mnemosyne/detector.test.d.ts +0 -2
  294. package/dist/__tests__/mnemosyne/detector.test.d.ts.map +0 -1
  295. package/dist/__tests__/mnemosyne/detector.test.js +0 -99
  296. package/dist/__tests__/mnemosyne/detector.test.js.map +0 -1
  297. package/dist/__tests__/mnemosyne/finder.test.d.ts +0 -2
  298. package/dist/__tests__/mnemosyne/finder.test.d.ts.map +0 -1
  299. package/dist/__tests__/mnemosyne/finder.test.js +0 -105
  300. package/dist/__tests__/mnemosyne/finder.test.js.map +0 -1
  301. package/dist/__tests__/mnemosyne/loader.test.d.ts +0 -2
  302. package/dist/__tests__/mnemosyne/loader.test.d.ts.map +0 -1
  303. package/dist/__tests__/mnemosyne/loader.test.js +0 -73
  304. package/dist/__tests__/mnemosyne/loader.test.js.map +0 -1
  305. package/dist/__tests__/mnemosyne/parser.test.d.ts +0 -2
  306. package/dist/__tests__/mnemosyne/parser.test.d.ts.map +0 -1
  307. package/dist/__tests__/mnemosyne/parser.test.js +0 -81
  308. package/dist/__tests__/mnemosyne/parser.test.js.map +0 -1
  309. package/dist/__tests__/mnemosyne/validator.test.d.ts +0 -2
  310. package/dist/__tests__/mnemosyne/validator.test.d.ts.map +0 -1
  311. package/dist/__tests__/mnemosyne/validator.test.js +0 -85
  312. package/dist/__tests__/mnemosyne/validator.test.js.map +0 -1
  313. package/dist/__tests__/model-routing.test.d.ts +0 -2
  314. package/dist/__tests__/model-routing.test.d.ts.map +0 -1
  315. package/dist/__tests__/model-routing.test.js +0 -794
  316. package/dist/__tests__/model-routing.test.js.map +0 -1
  317. package/dist/__tests__/multi-model-mcp-integration.test.d.ts +0 -2
  318. package/dist/__tests__/multi-model-mcp-integration.test.d.ts.map +0 -1
  319. package/dist/__tests__/multi-model-mcp-integration.test.js +0 -69
  320. package/dist/__tests__/multi-model-mcp-integration.test.js.map +0 -1
  321. package/dist/__tests__/multi-model-mcp.test.d.ts +0 -2
  322. package/dist/__tests__/multi-model-mcp.test.d.ts.map +0 -1
  323. package/dist/__tests__/multi-model-mcp.test.js +0 -145
  324. package/dist/__tests__/multi-model-mcp.test.js.map +0 -1
  325. package/dist/__tests__/notepad.test.d.ts +0 -2
  326. package/dist/__tests__/notepad.test.d.ts.map +0 -1
  327. package/dist/__tests__/notepad.test.js +0 -374
  328. package/dist/__tests__/notepad.test.js.map +0 -1
  329. package/dist/__tests__/omc-tools-contract.test.d.ts +0 -11
  330. package/dist/__tests__/omc-tools-contract.test.d.ts.map +0 -1
  331. package/dist/__tests__/omc-tools-contract.test.js +0 -172
  332. package/dist/__tests__/omc-tools-contract.test.js.map +0 -1
  333. package/dist/__tests__/omc-tools-server.test.d.ts +0 -2
  334. package/dist/__tests__/omc-tools-server.test.d.ts.map +0 -1
  335. package/dist/__tests__/omc-tools-server.test.js +0 -61
  336. package/dist/__tests__/omc-tools-server.test.js.map +0 -1
  337. package/dist/__tests__/permission-enforcement.test.d.ts +0 -2
  338. package/dist/__tests__/permission-enforcement.test.d.ts.map +0 -1
  339. package/dist/__tests__/permission-enforcement.test.js +0 -194
  340. package/dist/__tests__/permission-enforcement.test.js.map +0 -1
  341. package/dist/__tests__/plugin-registry.test.d.ts +0 -2
  342. package/dist/__tests__/plugin-registry.test.d.ts.map +0 -1
  343. package/dist/__tests__/plugin-registry.test.js +0 -233
  344. package/dist/__tests__/plugin-registry.test.js.map +0 -1
  345. package/dist/__tests__/prompt-file-only.test.d.ts +0 -2
  346. package/dist/__tests__/prompt-file-only.test.d.ts.map +0 -1
  347. package/dist/__tests__/prompt-file-only.test.js +0 -263
  348. package/dist/__tests__/prompt-file-only.test.js.map +0 -1
  349. package/dist/__tests__/prompt-injection.test.d.ts +0 -2
  350. package/dist/__tests__/prompt-injection.test.d.ts.map +0 -1
  351. package/dist/__tests__/prompt-injection.test.js +0 -242
  352. package/dist/__tests__/prompt-injection.test.js.map +0 -1
  353. package/dist/__tests__/providers/azure-devops.test.d.ts +0 -2
  354. package/dist/__tests__/providers/azure-devops.test.d.ts.map +0 -1
  355. package/dist/__tests__/providers/azure-devops.test.js +0 -158
  356. package/dist/__tests__/providers/azure-devops.test.js.map +0 -1
  357. package/dist/__tests__/providers/bitbucket.test.d.ts +0 -2
  358. package/dist/__tests__/providers/bitbucket.test.d.ts.map +0 -1
  359. package/dist/__tests__/providers/bitbucket.test.js +0 -170
  360. package/dist/__tests__/providers/bitbucket.test.js.map +0 -1
  361. package/dist/__tests__/providers/detection.test.d.ts +0 -2
  362. package/dist/__tests__/providers/detection.test.d.ts.map +0 -1
  363. package/dist/__tests__/providers/detection.test.js +0 -181
  364. package/dist/__tests__/providers/detection.test.js.map +0 -1
  365. package/dist/__tests__/providers/gitea.test.d.ts +0 -2
  366. package/dist/__tests__/providers/gitea.test.d.ts.map +0 -1
  367. package/dist/__tests__/providers/gitea.test.js +0 -212
  368. package/dist/__tests__/providers/gitea.test.js.map +0 -1
  369. package/dist/__tests__/providers/github.test.d.ts +0 -2
  370. package/dist/__tests__/providers/github.test.d.ts.map +0 -1
  371. package/dist/__tests__/providers/github.test.js +0 -146
  372. package/dist/__tests__/providers/github.test.js.map +0 -1
  373. package/dist/__tests__/providers/gitlab.test.d.ts +0 -2
  374. package/dist/__tests__/providers/gitlab.test.d.ts.map +0 -1
  375. package/dist/__tests__/providers/gitlab.test.js +0 -149
  376. package/dist/__tests__/providers/gitlab.test.js.map +0 -1
  377. package/dist/__tests__/ralph-prd.test.d.ts +0 -2
  378. package/dist/__tests__/ralph-prd.test.d.ts.map +0 -1
  379. package/dist/__tests__/ralph-prd.test.js +0 -308
  380. package/dist/__tests__/ralph-prd.test.js.map +0 -1
  381. package/dist/__tests__/ralph-progress.test.d.ts +0 -2
  382. package/dist/__tests__/ralph-progress.test.d.ts.map +0 -1
  383. package/dist/__tests__/ralph-progress.test.js +0 -312
  384. package/dist/__tests__/ralph-progress.test.js.map +0 -1
  385. package/dist/__tests__/rate-limit-wait/daemon.test.d.ts +0 -5
  386. package/dist/__tests__/rate-limit-wait/daemon.test.d.ts.map +0 -1
  387. package/dist/__tests__/rate-limit-wait/daemon.test.js +0 -321
  388. package/dist/__tests__/rate-limit-wait/daemon.test.js.map +0 -1
  389. package/dist/__tests__/rate-limit-wait/integration.test.d.ts +0 -8
  390. package/dist/__tests__/rate-limit-wait/integration.test.d.ts.map +0 -1
  391. package/dist/__tests__/rate-limit-wait/integration.test.js +0 -341
  392. package/dist/__tests__/rate-limit-wait/integration.test.js.map +0 -1
  393. package/dist/__tests__/rate-limit-wait/rate-limit-monitor.test.d.ts +0 -5
  394. package/dist/__tests__/rate-limit-wait/rate-limit-monitor.test.d.ts.map +0 -1
  395. package/dist/__tests__/rate-limit-wait/rate-limit-monitor.test.js +0 -183
  396. package/dist/__tests__/rate-limit-wait/rate-limit-monitor.test.js.map +0 -1
  397. package/dist/__tests__/rate-limit-wait/tmux-detector.test.d.ts +0 -5
  398. package/dist/__tests__/rate-limit-wait/tmux-detector.test.d.ts.map +0 -1
  399. package/dist/__tests__/rate-limit-wait/tmux-detector.test.js +0 -312
  400. package/dist/__tests__/rate-limit-wait/tmux-detector.test.js.map +0 -1
  401. package/dist/__tests__/release-local.test.d.ts +0 -2
  402. package/dist/__tests__/release-local.test.d.ts.map +0 -1
  403. package/dist/__tests__/release-local.test.js +0 -19
  404. package/dist/__tests__/release-local.test.js.map +0 -1
  405. package/dist/__tests__/release-steps.test.d.ts +0 -2
  406. package/dist/__tests__/release-steps.test.d.ts.map +0 -1
  407. package/dist/__tests__/release-steps.test.js +0 -82
  408. package/dist/__tests__/release-steps.test.js.map +0 -1
  409. package/dist/__tests__/session-catalog.test.d.ts +0 -2
  410. package/dist/__tests__/session-catalog.test.d.ts.map +0 -1
  411. package/dist/__tests__/session-catalog.test.js +0 -195
  412. package/dist/__tests__/session-catalog.test.js.map +0 -1
  413. package/dist/__tests__/session-migration.test.d.ts +0 -2
  414. package/dist/__tests__/session-migration.test.d.ts.map +0 -1
  415. package/dist/__tests__/session-migration.test.js +0 -155
  416. package/dist/__tests__/session-migration.test.js.map +0 -1
  417. package/dist/__tests__/skills.test.d.ts +0 -2
  418. package/dist/__tests__/skills.test.d.ts.map +0 -1
  419. package/dist/__tests__/skills.test.js +0 -207
  420. package/dist/__tests__/skills.test.js.map +0 -1
  421. package/dist/__tests__/standalone-server.test.d.ts +0 -2
  422. package/dist/__tests__/standalone-server.test.d.ts.map +0 -1
  423. package/dist/__tests__/standalone-server.test.js +0 -53
  424. package/dist/__tests__/standalone-server.test.js.map +0 -1
  425. package/dist/__tests__/task-continuation.test.d.ts +0 -2
  426. package/dist/__tests__/task-continuation.test.d.ts.map +0 -1
  427. package/dist/__tests__/task-continuation.test.js +0 -743
  428. package/dist/__tests__/task-continuation.test.js.map +0 -1
  429. package/dist/__tests__/tools/skills-tools.test.d.ts +0 -2
  430. package/dist/__tests__/tools/skills-tools.test.d.ts.map +0 -1
  431. package/dist/__tests__/tools/skills-tools.test.js +0 -63
  432. package/dist/__tests__/tools/skills-tools.test.js.map +0 -1
  433. package/dist/__tests__/tools/trace-tools.test.d.ts +0 -2
  434. package/dist/__tests__/tools/trace-tools.test.d.ts.map +0 -1
  435. package/dist/__tests__/tools/trace-tools.test.js +0 -237
  436. package/dist/__tests__/tools/trace-tools.test.js.map +0 -1
  437. package/dist/__tests__/types.test.d.ts +0 -2
  438. package/dist/__tests__/types.test.d.ts.map +0 -1
  439. package/dist/__tests__/types.test.js +0 -78
  440. package/dist/__tests__/types.test.js.map +0 -1
  441. package/dist/__tests__/validate-and-read-file.test.d.ts +0 -2
  442. package/dist/__tests__/validate-and-read-file.test.d.ts.map +0 -1
  443. package/dist/__tests__/validate-and-read-file.test.js +0 -84
  444. package/dist/__tests__/validate-and-read-file.test.js.map +0 -1
  445. package/dist/__tests__/validateMode.test.d.ts +0 -2
  446. package/dist/__tests__/validateMode.test.d.ts.map +0 -1
  447. package/dist/__tests__/validateMode.test.js +0 -100
  448. package/dist/__tests__/validateMode.test.js.map +0 -1
  449. package/dist/__tests__/version-helper.test.d.ts +0 -2
  450. package/dist/__tests__/version-helper.test.d.ts.map +0 -1
  451. package/dist/__tests__/version-helper.test.js +0 -37
  452. package/dist/__tests__/version-helper.test.js.map +0 -1
  453. package/dist/agents/__tests__/agent-wrapper.test.d.ts +0 -2
  454. package/dist/agents/__tests__/agent-wrapper.test.d.ts.map +0 -1
  455. package/dist/agents/__tests__/agent-wrapper.test.js +0 -37
  456. package/dist/agents/__tests__/agent-wrapper.test.js.map +0 -1
  457. package/dist/agents/__tests__/timeout-config.test.d.ts +0 -2
  458. package/dist/agents/__tests__/timeout-config.test.d.ts.map +0 -1
  459. package/dist/agents/__tests__/timeout-config.test.js +0 -35
  460. package/dist/agents/__tests__/timeout-config.test.js.map +0 -1
  461. package/dist/agents/__tests__/timeout-manager.test.d.ts +0 -2
  462. package/dist/agents/__tests__/timeout-manager.test.d.ts.map +0 -1
  463. package/dist/agents/__tests__/timeout-manager.test.js +0 -37
  464. package/dist/agents/__tests__/timeout-manager.test.js.map +0 -1
  465. package/dist/agents/coordinator-deprecated.d.ts +0 -18
  466. package/dist/agents/coordinator-deprecated.d.ts.map +0 -1
  467. package/dist/agents/coordinator-deprecated.js +0 -38
  468. package/dist/agents/coordinator-deprecated.js.map +0 -1
  469. package/dist/cli/commands/__tests__/cleanup.test.d.ts +0 -2
  470. package/dist/cli/commands/__tests__/cleanup.test.d.ts.map +0 -1
  471. package/dist/cli/commands/__tests__/cleanup.test.js +0 -37
  472. package/dist/cli/commands/__tests__/cleanup.test.js.map +0 -1
  473. package/dist/features/delegation-routing/__tests__/resolver.test.d.ts +0 -2
  474. package/dist/features/delegation-routing/__tests__/resolver.test.d.ts.map +0 -1
  475. package/dist/features/delegation-routing/__tests__/resolver.test.js +0 -419
  476. package/dist/features/delegation-routing/__tests__/resolver.test.js.map +0 -1
  477. package/dist/features/model-routing/__tests__/external-model-policy.test.d.ts +0 -2
  478. package/dist/features/model-routing/__tests__/external-model-policy.test.d.ts.map +0 -1
  479. package/dist/features/model-routing/__tests__/external-model-policy.test.js +0 -475
  480. package/dist/features/model-routing/__tests__/external-model-policy.test.js.map +0 -1
  481. package/dist/features/state-manager/__tests__/cache.test.d.ts +0 -2
  482. package/dist/features/state-manager/__tests__/cache.test.d.ts.map +0 -1
  483. package/dist/features/state-manager/__tests__/cache.test.js +0 -204
  484. package/dist/features/state-manager/__tests__/cache.test.js.map +0 -1
  485. package/dist/features/state-manager/__tests__/encryption-performance.test.d.ts +0 -2
  486. package/dist/features/state-manager/__tests__/encryption-performance.test.d.ts.map +0 -1
  487. package/dist/features/state-manager/__tests__/encryption-performance.test.js +0 -42
  488. package/dist/features/state-manager/__tests__/encryption-performance.test.js.map +0 -1
  489. package/dist/features/state-manager/__tests__/encryption.test.d.ts +0 -2
  490. package/dist/features/state-manager/__tests__/encryption.test.d.ts.map +0 -1
  491. package/dist/features/state-manager/__tests__/encryption.test.js +0 -68
  492. package/dist/features/state-manager/__tests__/encryption.test.js.map +0 -1
  493. package/dist/features/wizard/__tests__/engine.test.d.ts +0 -2
  494. package/dist/features/wizard/__tests__/engine.test.d.ts.map +0 -1
  495. package/dist/features/wizard/__tests__/engine.test.js +0 -78
  496. package/dist/features/wizard/__tests__/engine.test.js.map +0 -1
  497. package/dist/features/wizard/__tests__/recommendation-engine.test.d.ts +0 -2
  498. package/dist/features/wizard/__tests__/recommendation-engine.test.d.ts.map +0 -1
  499. package/dist/features/wizard/__tests__/recommendation-engine.test.js +0 -43
  500. package/dist/features/wizard/__tests__/recommendation-engine.test.js.map +0 -1
  501. package/dist/hooks/__tests__/askuserquestion-lifecycle.test.d.ts +0 -9
  502. package/dist/hooks/__tests__/askuserquestion-lifecycle.test.d.ts.map +0 -1
  503. package/dist/hooks/__tests__/askuserquestion-lifecycle.test.js +0 -110
  504. package/dist/hooks/__tests__/askuserquestion-lifecycle.test.js.map +0 -1
  505. package/dist/hooks/__tests__/background-process-guard.test.d.ts +0 -2
  506. package/dist/hooks/__tests__/background-process-guard.test.d.ts.map +0 -1
  507. package/dist/hooks/__tests__/background-process-guard.test.js +0 -233
  508. package/dist/hooks/__tests__/background-process-guard.test.js.map +0 -1
  509. package/dist/hooks/__tests__/bridge-normalize.test.d.ts +0 -2
  510. package/dist/hooks/__tests__/bridge-normalize.test.d.ts.map +0 -1
  511. package/dist/hooks/__tests__/bridge-normalize.test.js +0 -90
  512. package/dist/hooks/__tests__/bridge-normalize.test.js.map +0 -1
  513. package/dist/hooks/__tests__/bridge-pkill.test.d.ts +0 -8
  514. package/dist/hooks/__tests__/bridge-pkill.test.d.ts.map +0 -1
  515. package/dist/hooks/__tests__/bridge-pkill.test.js +0 -188
  516. package/dist/hooks/__tests__/bridge-pkill.test.js.map +0 -1
  517. package/dist/hooks/__tests__/bridge-routing.test.d.ts +0 -9
  518. package/dist/hooks/__tests__/bridge-routing.test.d.ts.map +0 -1
  519. package/dist/hooks/__tests__/bridge-routing.test.js +0 -516
  520. package/dist/hooks/__tests__/bridge-routing.test.js.map +0 -1
  521. package/dist/hooks/__tests__/bridge-security.test.d.ts +0 -11
  522. package/dist/hooks/__tests__/bridge-security.test.d.ts.map +0 -1
  523. package/dist/hooks/__tests__/bridge-security.test.js +0 -498
  524. package/dist/hooks/__tests__/bridge-security.test.js.map +0 -1
  525. package/dist/hooks/__tests__/bridge.test.d.ts +0 -2
  526. package/dist/hooks/__tests__/bridge.test.d.ts.map +0 -1
  527. package/dist/hooks/__tests__/bridge.test.js +0 -199
  528. package/dist/hooks/__tests__/bridge.test.js.map +0 -1
  529. package/dist/hooks/__tests__/compaction-concurrency.test.d.ts +0 -10
  530. package/dist/hooks/__tests__/compaction-concurrency.test.d.ts.map +0 -1
  531. package/dist/hooks/__tests__/compaction-concurrency.test.js +0 -313
  532. package/dist/hooks/__tests__/compaction-concurrency.test.js.map +0 -1
  533. package/dist/hooks/auto-slash-command/__tests__/detector.test.d.ts +0 -2
  534. package/dist/hooks/auto-slash-command/__tests__/detector.test.d.ts.map +0 -1
  535. package/dist/hooks/auto-slash-command/__tests__/detector.test.js +0 -70
  536. package/dist/hooks/auto-slash-command/__tests__/detector.test.js.map +0 -1
  537. package/dist/hooks/auto-slash-command/__tests__/executor.test.d.ts +0 -2
  538. package/dist/hooks/auto-slash-command/__tests__/executor.test.d.ts.map +0 -1
  539. package/dist/hooks/auto-slash-command/__tests__/executor.test.js +0 -55
  540. package/dist/hooks/auto-slash-command/__tests__/executor.test.js.map +0 -1
  541. package/dist/hooks/auto-slash-command/__tests__/index.test.d.ts +0 -2
  542. package/dist/hooks/auto-slash-command/__tests__/index.test.d.ts.map +0 -1
  543. package/dist/hooks/auto-slash-command/__tests__/index.test.js +0 -50
  544. package/dist/hooks/auto-slash-command/__tests__/index.test.js.map +0 -1
  545. package/dist/hooks/autopilot/__tests__/cancel.test.d.ts +0 -2
  546. package/dist/hooks/autopilot/__tests__/cancel.test.d.ts.map +0 -1
  547. package/dist/hooks/autopilot/__tests__/cancel.test.js +0 -606
  548. package/dist/hooks/autopilot/__tests__/cancel.test.js.map +0 -1
  549. package/dist/hooks/autopilot/__tests__/prompts.test.d.ts +0 -2
  550. package/dist/hooks/autopilot/__tests__/prompts.test.d.ts.map +0 -1
  551. package/dist/hooks/autopilot/__tests__/prompts.test.js +0 -92
  552. package/dist/hooks/autopilot/__tests__/prompts.test.js.map +0 -1
  553. package/dist/hooks/autopilot/__tests__/state.test.d.ts +0 -2
  554. package/dist/hooks/autopilot/__tests__/state.test.d.ts.map +0 -1
  555. package/dist/hooks/autopilot/__tests__/state.test.js +0 -76
  556. package/dist/hooks/autopilot/__tests__/state.test.js.map +0 -1
  557. package/dist/hooks/autopilot/__tests__/summary.test.d.ts +0 -2
  558. package/dist/hooks/autopilot/__tests__/summary.test.d.ts.map +0 -1
  559. package/dist/hooks/autopilot/__tests__/summary.test.js +0 -324
  560. package/dist/hooks/autopilot/__tests__/summary.test.js.map +0 -1
  561. package/dist/hooks/autopilot/__tests__/transition.test.d.ts +0 -2
  562. package/dist/hooks/autopilot/__tests__/transition.test.d.ts.map +0 -1
  563. package/dist/hooks/autopilot/__tests__/transition.test.js +0 -58
  564. package/dist/hooks/autopilot/__tests__/transition.test.js.map +0 -1
  565. package/dist/hooks/autopilot/__tests__/transitions.test.d.ts +0 -12
  566. package/dist/hooks/autopilot/__tests__/transitions.test.d.ts.map +0 -1
  567. package/dist/hooks/autopilot/__tests__/transitions.test.js +0 -303
  568. package/dist/hooks/autopilot/__tests__/transitions.test.js.map +0 -1
  569. package/dist/hooks/autopilot/__tests__/validation.test.d.ts +0 -2
  570. package/dist/hooks/autopilot/__tests__/validation.test.d.ts.map +0 -1
  571. package/dist/hooks/autopilot/__tests__/validation.test.js +0 -450
  572. package/dist/hooks/autopilot/__tests__/validation.test.js.map +0 -1
  573. package/dist/hooks/beads-context/__tests__/index.test.d.ts +0 -2
  574. package/dist/hooks/beads-context/__tests__/index.test.d.ts.map +0 -1
  575. package/dist/hooks/beads-context/__tests__/index.test.js +0 -150
  576. package/dist/hooks/beads-context/__tests__/index.test.js.map +0 -1
  577. package/dist/hooks/empty-message-sanitizer/__tests__/index.test.d.ts +0 -2
  578. package/dist/hooks/empty-message-sanitizer/__tests__/index.test.d.ts.map +0 -1
  579. package/dist/hooks/empty-message-sanitizer/__tests__/index.test.js +0 -416
  580. package/dist/hooks/empty-message-sanitizer/__tests__/index.test.js.map +0 -1
  581. package/dist/hooks/keyword-detector/__tests__/index.test.d.ts +0 -2
  582. package/dist/hooks/keyword-detector/__tests__/index.test.d.ts.map +0 -1
  583. package/dist/hooks/keyword-detector/__tests__/index.test.js +0 -868
  584. package/dist/hooks/keyword-detector/__tests__/index.test.js.map +0 -1
  585. package/dist/hooks/learner/__tests__/confidence.test.d.ts +0 -2
  586. package/dist/hooks/learner/__tests__/confidence.test.d.ts.map +0 -1
  587. package/dist/hooks/learner/__tests__/confidence.test.js +0 -42
  588. package/dist/hooks/learner/__tests__/confidence.test.js.map +0 -1
  589. package/dist/hooks/learner/__tests__/detector.test.d.ts +0 -2
  590. package/dist/hooks/learner/__tests__/detector.test.d.ts.map +0 -1
  591. package/dist/hooks/learner/__tests__/detector.test.js +0 -170
  592. package/dist/hooks/learner/__tests__/detector.test.js.map +0 -1
  593. package/dist/hooks/learner/__tests__/index-manager-filter.test.d.ts +0 -14
  594. package/dist/hooks/learner/__tests__/index-manager-filter.test.d.ts.map +0 -1
  595. package/dist/hooks/learner/__tests__/index-manager-filter.test.js +0 -147
  596. package/dist/hooks/learner/__tests__/index-manager-filter.test.js.map +0 -1
  597. package/dist/hooks/learner/__tests__/index-manager-import.test.d.ts +0 -2
  598. package/dist/hooks/learner/__tests__/index-manager-import.test.d.ts.map +0 -1
  599. package/dist/hooks/learner/__tests__/index-manager-import.test.js +0 -43
  600. package/dist/hooks/learner/__tests__/index-manager-import.test.js.map +0 -1
  601. package/dist/hooks/learner/__tests__/index.test.d.ts +0 -2
  602. package/dist/hooks/learner/__tests__/index.test.d.ts.map +0 -1
  603. package/dist/hooks/learner/__tests__/index.test.js +0 -48
  604. package/dist/hooks/learner/__tests__/index.test.js.map +0 -1
  605. package/dist/hooks/learner/__tests__/learning-queue-parser.test.d.ts +0 -10
  606. package/dist/hooks/learner/__tests__/learning-queue-parser.test.d.ts.map +0 -1
  607. package/dist/hooks/learner/__tests__/learning-queue-parser.test.js +0 -131
  608. package/dist/hooks/learner/__tests__/learning-queue-parser.test.js.map +0 -1
  609. package/dist/hooks/learner/__tests__/matcher.test.d.ts +0 -2
  610. package/dist/hooks/learner/__tests__/matcher.test.d.ts.map +0 -1
  611. package/dist/hooks/learner/__tests__/matcher.test.js +0 -114
  612. package/dist/hooks/learner/__tests__/matcher.test.js.map +0 -1
  613. package/dist/hooks/learner/__tests__/promotion.test.d.ts +0 -2
  614. package/dist/hooks/learner/__tests__/promotion.test.d.ts.map +0 -1
  615. package/dist/hooks/learner/__tests__/promotion.test.js +0 -146
  616. package/dist/hooks/learner/__tests__/promotion.test.js.map +0 -1
  617. package/dist/hooks/learner/__tests__/queue-archiver.test.d.ts +0 -13
  618. package/dist/hooks/learner/__tests__/queue-archiver.test.d.ts.map +0 -1
  619. package/dist/hooks/learner/__tests__/queue-archiver.test.js +0 -162
  620. package/dist/hooks/learner/__tests__/queue-archiver.test.js.map +0 -1
  621. package/dist/hooks/learner/__tests__/reflection-archiver.test.d.ts +0 -14
  622. package/dist/hooks/learner/__tests__/reflection-archiver.test.d.ts.map +0 -1
  623. package/dist/hooks/learner/__tests__/reflection-archiver.test.js +0 -159
  624. package/dist/hooks/learner/__tests__/reflection-archiver.test.js.map +0 -1
  625. package/dist/hooks/learner/__tests__/reflection-parser.test.d.ts +0 -14
  626. package/dist/hooks/learner/__tests__/reflection-parser.test.d.ts.map +0 -1
  627. package/dist/hooks/learner/__tests__/reflection-parser.test.js +0 -201
  628. package/dist/hooks/learner/__tests__/reflection-parser.test.js.map +0 -1
  629. package/dist/hooks/learner/__tests__/validator.test.d.ts +0 -2
  630. package/dist/hooks/learner/__tests__/validator.test.d.ts.map +0 -1
  631. package/dist/hooks/learner/__tests__/validator.test.js +0 -123
  632. package/dist/hooks/learner/__tests__/validator.test.js.map +0 -1
  633. package/dist/hooks/learner/__tests__/writer.test.d.ts +0 -2
  634. package/dist/hooks/learner/__tests__/writer.test.d.ts.map +0 -1
  635. package/dist/hooks/learner/__tests__/writer.test.js +0 -141
  636. package/dist/hooks/learner/__tests__/writer.test.js.map +0 -1
  637. package/dist/hooks/mode-registry/__tests__/session-isolation.test.d.ts +0 -2
  638. package/dist/hooks/mode-registry/__tests__/session-isolation.test.d.ts.map +0 -1
  639. package/dist/hooks/mode-registry/__tests__/session-isolation.test.js +0 -236
  640. package/dist/hooks/mode-registry/__tests__/session-isolation.test.js.map +0 -1
  641. package/dist/hooks/nexus/__tests__/config.test.d.ts +0 -2
  642. package/dist/hooks/nexus/__tests__/config.test.d.ts.map +0 -1
  643. package/dist/hooks/nexus/__tests__/config.test.js +0 -38
  644. package/dist/hooks/nexus/__tests__/config.test.js.map +0 -1
  645. package/dist/hooks/nexus/__tests__/consciousness-sync.test.d.ts +0 -2
  646. package/dist/hooks/nexus/__tests__/consciousness-sync.test.d.ts.map +0 -1
  647. package/dist/hooks/nexus/__tests__/consciousness-sync.test.js +0 -28
  648. package/dist/hooks/nexus/__tests__/consciousness-sync.test.js.map +0 -1
  649. package/dist/hooks/nexus/__tests__/data-collector.test.d.ts +0 -2
  650. package/dist/hooks/nexus/__tests__/data-collector.test.d.ts.map +0 -1
  651. package/dist/hooks/nexus/__tests__/data-collector.test.js +0 -61
  652. package/dist/hooks/nexus/__tests__/data-collector.test.js.map +0 -1
  653. package/dist/hooks/nexus/__tests__/improvement-puller.test.d.ts +0 -2
  654. package/dist/hooks/nexus/__tests__/improvement-puller.test.d.ts.map +0 -1
  655. package/dist/hooks/nexus/__tests__/improvement-puller.test.js +0 -49
  656. package/dist/hooks/nexus/__tests__/improvement-puller.test.js.map +0 -1
  657. package/dist/hooks/nexus/__tests__/session-end-hook.test.d.ts +0 -2
  658. package/dist/hooks/nexus/__tests__/session-end-hook.test.d.ts.map +0 -1
  659. package/dist/hooks/nexus/__tests__/session-end-hook.test.js +0 -39
  660. package/dist/hooks/nexus/__tests__/session-end-hook.test.js.map +0 -1
  661. package/dist/hooks/observability/__tests__/observability.test.d.ts +0 -2
  662. package/dist/hooks/observability/__tests__/observability.test.d.ts.map +0 -1
  663. package/dist/hooks/observability/__tests__/observability.test.js +0 -176
  664. package/dist/hooks/observability/__tests__/observability.test.js.map +0 -1
  665. package/dist/hooks/permission-handler/__tests__/index.test.d.ts +0 -2
  666. package/dist/hooks/permission-handler/__tests__/index.test.d.ts.map +0 -1
  667. package/dist/hooks/permission-handler/__tests__/index.test.js +0 -417
  668. package/dist/hooks/permission-handler/__tests__/index.test.js.map +0 -1
  669. package/dist/hooks/persistent-mode/__tests__/error-handling.test.d.ts +0 -6
  670. package/dist/hooks/persistent-mode/__tests__/error-handling.test.d.ts.map +0 -1
  671. package/dist/hooks/persistent-mode/__tests__/error-handling.test.js +0 -71
  672. package/dist/hooks/persistent-mode/__tests__/error-handling.test.js.map +0 -1
  673. package/dist/hooks/persistent-mode/__tests__/ralph-max-iteration.test.d.ts +0 -2
  674. package/dist/hooks/persistent-mode/__tests__/ralph-max-iteration.test.d.ts.map +0 -1
  675. package/dist/hooks/persistent-mode/__tests__/ralph-max-iteration.test.js +0 -38
  676. package/dist/hooks/persistent-mode/__tests__/ralph-max-iteration.test.js.map +0 -1
  677. package/dist/hooks/persistent-mode/__tests__/tool-error.test.d.ts +0 -6
  678. package/dist/hooks/persistent-mode/__tests__/tool-error.test.d.ts.map +0 -1
  679. package/dist/hooks/persistent-mode/__tests__/tool-error.test.js +0 -335
  680. package/dist/hooks/persistent-mode/__tests__/tool-error.test.js.map +0 -1
  681. package/dist/hooks/persistent-mode/session-isolation.test.d.ts +0 -2
  682. package/dist/hooks/persistent-mode/session-isolation.test.d.ts.map +0 -1
  683. package/dist/hooks/persistent-mode/session-isolation.test.js +0 -491
  684. package/dist/hooks/persistent-mode/session-isolation.test.js.map +0 -1
  685. package/dist/hooks/project-memory/__tests__/detector.test.d.ts +0 -5
  686. package/dist/hooks/project-memory/__tests__/detector.test.d.ts.map +0 -1
  687. package/dist/hooks/project-memory/__tests__/detector.test.js +0 -165
  688. package/dist/hooks/project-memory/__tests__/detector.test.js.map +0 -1
  689. package/dist/hooks/project-memory/__tests__/formatter.test.d.ts +0 -5
  690. package/dist/hooks/project-memory/__tests__/formatter.test.d.ts.map +0 -1
  691. package/dist/hooks/project-memory/__tests__/formatter.test.js +0 -262
  692. package/dist/hooks/project-memory/__tests__/formatter.test.js.map +0 -1
  693. package/dist/hooks/project-memory/__tests__/integration.test.d.ts +0 -5
  694. package/dist/hooks/project-memory/__tests__/integration.test.d.ts.map +0 -1
  695. package/dist/hooks/project-memory/__tests__/integration.test.js +0 -154
  696. package/dist/hooks/project-memory/__tests__/integration.test.js.map +0 -1
  697. package/dist/hooks/project-memory/__tests__/learner.test.d.ts +0 -5
  698. package/dist/hooks/project-memory/__tests__/learner.test.d.ts.map +0 -1
  699. package/dist/hooks/project-memory/__tests__/learner.test.js +0 -159
  700. package/dist/hooks/project-memory/__tests__/learner.test.js.map +0 -1
  701. package/dist/hooks/project-memory/__tests__/storage.test.d.ts +0 -5
  702. package/dist/hooks/project-memory/__tests__/storage.test.d.ts.map +0 -1
  703. package/dist/hooks/project-memory/__tests__/storage.test.js +0 -207
  704. package/dist/hooks/project-memory/__tests__/storage.test.js.map +0 -1
  705. package/dist/hooks/ralph/__tests__/loop.test.d.ts +0 -2
  706. package/dist/hooks/ralph/__tests__/loop.test.d.ts.map +0 -1
  707. package/dist/hooks/ralph/__tests__/loop.test.js +0 -268
  708. package/dist/hooks/ralph/__tests__/loop.test.js.map +0 -1
  709. package/dist/hooks/ralph/__tests__/prd.test.d.ts +0 -2
  710. package/dist/hooks/ralph/__tests__/prd.test.d.ts.map +0 -1
  711. package/dist/hooks/ralph/__tests__/prd.test.js +0 -197
  712. package/dist/hooks/ralph/__tests__/prd.test.js.map +0 -1
  713. package/dist/hooks/ralph/__tests__/progress.test.d.ts +0 -2
  714. package/dist/hooks/ralph/__tests__/progress.test.d.ts.map +0 -1
  715. package/dist/hooks/ralph/__tests__/progress.test.js +0 -120
  716. package/dist/hooks/ralph/__tests__/progress.test.js.map +0 -1
  717. package/dist/hooks/ralph/__tests__/verifier.test.d.ts +0 -2
  718. package/dist/hooks/ralph/__tests__/verifier.test.d.ts.map +0 -1
  719. package/dist/hooks/ralph/__tests__/verifier.test.js +0 -75
  720. package/dist/hooks/ralph/__tests__/verifier.test.js.map +0 -1
  721. package/dist/hooks/recovery/__tests__/context-window.test.d.ts +0 -2
  722. package/dist/hooks/recovery/__tests__/context-window.test.d.ts.map +0 -1
  723. package/dist/hooks/recovery/__tests__/context-window.test.js +0 -131
  724. package/dist/hooks/recovery/__tests__/context-window.test.js.map +0 -1
  725. package/dist/hooks/recovery/__tests__/edit-error.test.d.ts +0 -2
  726. package/dist/hooks/recovery/__tests__/edit-error.test.d.ts.map +0 -1
  727. package/dist/hooks/recovery/__tests__/edit-error.test.js +0 -88
  728. package/dist/hooks/recovery/__tests__/edit-error.test.js.map +0 -1
  729. package/dist/hooks/recovery/__tests__/index.test.d.ts +0 -2
  730. package/dist/hooks/recovery/__tests__/index.test.d.ts.map +0 -1
  731. package/dist/hooks/recovery/__tests__/index.test.js +0 -270
  732. package/dist/hooks/recovery/__tests__/index.test.js.map +0 -1
  733. package/dist/hooks/recovery/__tests__/session-recovery.test.d.ts +0 -2
  734. package/dist/hooks/recovery/__tests__/session-recovery.test.d.ts.map +0 -1
  735. package/dist/hooks/recovery/__tests__/session-recovery.test.js +0 -129
  736. package/dist/hooks/recovery/__tests__/session-recovery.test.js.map +0 -1
  737. package/dist/hooks/recovery/__tests__/storage.test.d.ts +0 -2
  738. package/dist/hooks/recovery/__tests__/storage.test.d.ts.map +0 -1
  739. package/dist/hooks/recovery/__tests__/storage.test.js +0 -549
  740. package/dist/hooks/recovery/__tests__/storage.test.js.map +0 -1
  741. package/dist/hooks/rules-injector/__tests__/finder.test.d.ts +0 -2
  742. package/dist/hooks/rules-injector/__tests__/finder.test.d.ts.map +0 -1
  743. package/dist/hooks/rules-injector/__tests__/finder.test.js +0 -68
  744. package/dist/hooks/rules-injector/__tests__/finder.test.js.map +0 -1
  745. package/dist/hooks/rules-injector/__tests__/index.test.d.ts +0 -2
  746. package/dist/hooks/rules-injector/__tests__/index.test.d.ts.map +0 -1
  747. package/dist/hooks/rules-injector/__tests__/index.test.js +0 -58
  748. package/dist/hooks/rules-injector/__tests__/index.test.js.map +0 -1
  749. package/dist/hooks/rules-injector/__tests__/matcher.test.d.ts +0 -2
  750. package/dist/hooks/rules-injector/__tests__/matcher.test.d.ts.map +0 -1
  751. package/dist/hooks/rules-injector/__tests__/matcher.test.js +0 -86
  752. package/dist/hooks/rules-injector/__tests__/matcher.test.js.map +0 -1
  753. package/dist/hooks/rules-injector/__tests__/parser.test.d.ts +0 -2
  754. package/dist/hooks/rules-injector/__tests__/parser.test.d.ts.map +0 -1
  755. package/dist/hooks/rules-injector/__tests__/parser.test.js +0 -86
  756. package/dist/hooks/rules-injector/__tests__/parser.test.js.map +0 -1
  757. package/dist/hooks/session-end/__tests__/callbacks.test.d.ts +0 -2
  758. package/dist/hooks/session-end/__tests__/callbacks.test.d.ts.map +0 -1
  759. package/dist/hooks/session-end/__tests__/callbacks.test.js +0 -382
  760. package/dist/hooks/session-end/__tests__/callbacks.test.js.map +0 -1
  761. package/dist/hooks/session-end/__tests__/index.test.d.ts +0 -2
  762. package/dist/hooks/session-end/__tests__/index.test.d.ts.map +0 -1
  763. package/dist/hooks/session-end/__tests__/index.test.js +0 -77
  764. package/dist/hooks/session-end/__tests__/index.test.js.map +0 -1
  765. package/dist/hooks/session-end/__tests__/nexus-integration.test.d.ts +0 -2
  766. package/dist/hooks/session-end/__tests__/nexus-integration.test.d.ts.map +0 -1
  767. package/dist/hooks/session-end/__tests__/nexus-integration.test.js +0 -30
  768. package/dist/hooks/session-end/__tests__/nexus-integration.test.js.map +0 -1
  769. package/dist/hooks/session-end/__tests__/python-repl-cleanup.test.d.ts +0 -2
  770. package/dist/hooks/session-end/__tests__/python-repl-cleanup.test.d.ts.map +0 -1
  771. package/dist/hooks/session-end/__tests__/python-repl-cleanup.test.js +0 -46
  772. package/dist/hooks/session-end/__tests__/python-repl-cleanup.test.js.map +0 -1
  773. package/dist/hooks/session-end/__tests__/session-duration.test.d.ts +0 -2
  774. package/dist/hooks/session-end/__tests__/session-duration.test.d.ts.map +0 -1
  775. package/dist/hooks/session-end/__tests__/session-duration.test.js +0 -236
  776. package/dist/hooks/session-end/__tests__/session-duration.test.js.map +0 -1
  777. package/dist/hooks/session-end/__tests__/session-end-bridge-cleanup.test.d.ts +0 -2
  778. package/dist/hooks/session-end/__tests__/session-end-bridge-cleanup.test.d.ts.map +0 -1
  779. package/dist/hooks/session-end/__tests__/session-end-bridge-cleanup.test.js +0 -58
  780. package/dist/hooks/session-end/__tests__/session-end-bridge-cleanup.test.js.map +0 -1
  781. package/dist/hooks/setup/__tests__/index.test.d.ts +0 -2
  782. package/dist/hooks/setup/__tests__/index.test.d.ts.map +0 -1
  783. package/dist/hooks/setup/__tests__/index.test.js +0 -68
  784. package/dist/hooks/setup/__tests__/index.test.js.map +0 -1
  785. package/dist/hooks/setup/__tests__/prune.test.d.ts +0 -2
  786. package/dist/hooks/setup/__tests__/prune.test.d.ts.map +0 -1
  787. package/dist/hooks/setup/__tests__/prune.test.js +0 -94
  788. package/dist/hooks/setup/__tests__/prune.test.js.map +0 -1
  789. package/dist/hooks/subagent-tracker/__tests__/flow-tracer.test.d.ts +0 -2
  790. package/dist/hooks/subagent-tracker/__tests__/flow-tracer.test.d.ts.map +0 -1
  791. package/dist/hooks/subagent-tracker/__tests__/flow-tracer.test.js +0 -107
  792. package/dist/hooks/subagent-tracker/__tests__/flow-tracer.test.js.map +0 -1
  793. package/dist/hooks/subagent-tracker/__tests__/flush-race.test.d.ts +0 -2
  794. package/dist/hooks/subagent-tracker/__tests__/flush-race.test.d.ts.map +0 -1
  795. package/dist/hooks/subagent-tracker/__tests__/flush-race.test.js +0 -376
  796. package/dist/hooks/subagent-tracker/__tests__/flush-race.test.js.map +0 -1
  797. package/dist/hooks/subagent-tracker/__tests__/index.test.d.ts +0 -2
  798. package/dist/hooks/subagent-tracker/__tests__/index.test.d.ts.map +0 -1
  799. package/dist/hooks/subagent-tracker/__tests__/index.test.js +0 -818
  800. package/dist/hooks/subagent-tracker/__tests__/index.test.js.map +0 -1
  801. package/dist/hooks/subagent-tracker/__tests__/session-replay.test.d.ts +0 -2
  802. package/dist/hooks/subagent-tracker/__tests__/session-replay.test.d.ts.map +0 -1
  803. package/dist/hooks/subagent-tracker/__tests__/session-replay.test.js +0 -139
  804. package/dist/hooks/subagent-tracker/__tests__/session-replay.test.js.map +0 -1
  805. package/dist/hooks/subagent-tracker/__tests__/syncSleep.test.d.ts +0 -10
  806. package/dist/hooks/subagent-tracker/__tests__/syncSleep.test.d.ts.map +0 -1
  807. package/dist/hooks/subagent-tracker/__tests__/syncSleep.test.js +0 -112
  808. package/dist/hooks/subagent-tracker/__tests__/syncSleep.test.js.map +0 -1
  809. package/dist/hooks/team-pipeline/__tests__/state.test.d.ts +0 -2
  810. package/dist/hooks/team-pipeline/__tests__/state.test.d.ts.map +0 -1
  811. package/dist/hooks/team-pipeline/__tests__/state.test.js +0 -94
  812. package/dist/hooks/team-pipeline/__tests__/state.test.js.map +0 -1
  813. package/dist/hooks/team-pipeline/__tests__/transitions.test.d.ts +0 -2
  814. package/dist/hooks/team-pipeline/__tests__/transitions.test.d.ts.map +0 -1
  815. package/dist/hooks/team-pipeline/__tests__/transitions.test.js +0 -156
  816. package/dist/hooks/team-pipeline/__tests__/transitions.test.js.map +0 -1
  817. package/dist/hooks/think-mode/__tests__/index.test.d.ts +0 -2
  818. package/dist/hooks/think-mode/__tests__/index.test.d.ts.map +0 -1
  819. package/dist/hooks/think-mode/__tests__/index.test.js +0 -556
  820. package/dist/hooks/think-mode/__tests__/index.test.js.map +0 -1
  821. package/dist/hooks/todo-continuation/__tests__/isUserAbort.test.d.ts +0 -2
  822. package/dist/hooks/todo-continuation/__tests__/isUserAbort.test.d.ts.map +0 -1
  823. package/dist/hooks/todo-continuation/__tests__/isUserAbort.test.js +0 -119
  824. package/dist/hooks/todo-continuation/__tests__/isUserAbort.test.js.map +0 -1
  825. package/dist/hooks/ultrawork/session-isolation.test.d.ts +0 -2
  826. package/dist/hooks/ultrawork/session-isolation.test.d.ts.map +0 -1
  827. package/dist/hooks/ultrawork/session-isolation.test.js +0 -333
  828. package/dist/hooks/ultrawork/session-isolation.test.js.map +0 -1
  829. package/dist/installer/__tests__/claude-md-merge.test.d.ts +0 -6
  830. package/dist/installer/__tests__/claude-md-merge.test.d.ts.map +0 -1
  831. package/dist/installer/__tests__/claude-md-merge.test.js +0 -220
  832. package/dist/installer/__tests__/claude-md-merge.test.js.map +0 -1
  833. package/dist/installer/__tests__/hooks.test.d.ts +0 -6
  834. package/dist/installer/__tests__/hooks.test.d.ts.map +0 -1
  835. package/dist/installer/__tests__/hooks.test.js +0 -121
  836. package/dist/installer/__tests__/hooks.test.js.map +0 -1
  837. package/dist/installer/__tests__/safe-installer.test.d.ts +0 -6
  838. package/dist/installer/__tests__/safe-installer.test.d.ts.map +0 -1
  839. package/dist/installer/__tests__/safe-installer.test.js +0 -185
  840. package/dist/installer/__tests__/safe-installer.test.js.map +0 -1
  841. package/dist/lib/__tests__/atomic-write.test.d.ts +0 -2
  842. package/dist/lib/__tests__/atomic-write.test.d.ts.map +0 -1
  843. package/dist/lib/__tests__/atomic-write.test.js +0 -196
  844. package/dist/lib/__tests__/atomic-write.test.js.map +0 -1
  845. package/dist/lib/__tests__/file-lock.test.d.ts +0 -13
  846. package/dist/lib/__tests__/file-lock.test.d.ts.map +0 -1
  847. package/dist/lib/__tests__/file-lock.test.js +0 -122
  848. package/dist/lib/__tests__/file-lock.test.js.map +0 -1
  849. package/dist/lib/__tests__/plugin-deps.test.d.ts +0 -2
  850. package/dist/lib/__tests__/plugin-deps.test.d.ts.map +0 -1
  851. package/dist/lib/__tests__/plugin-deps.test.js +0 -58
  852. package/dist/lib/__tests__/plugin-deps.test.js.map +0 -1
  853. package/dist/lib/__tests__/plugin-marketplace.test.d.ts +0 -2
  854. package/dist/lib/__tests__/plugin-marketplace.test.d.ts.map +0 -1
  855. package/dist/lib/__tests__/plugin-marketplace.test.js +0 -52
  856. package/dist/lib/__tests__/plugin-marketplace.test.js.map +0 -1
  857. package/dist/lib/__tests__/plugin-registry.test.d.ts +0 -2
  858. package/dist/lib/__tests__/plugin-registry.test.d.ts.map +0 -1
  859. package/dist/lib/__tests__/plugin-registry.test.js +0 -241
  860. package/dist/lib/__tests__/plugin-registry.test.js.map +0 -1
  861. package/dist/lib/__tests__/plugin-rollback.test.d.ts +0 -2
  862. package/dist/lib/__tests__/plugin-rollback.test.d.ts.map +0 -1
  863. package/dist/lib/__tests__/plugin-rollback.test.js +0 -60
  864. package/dist/lib/__tests__/plugin-rollback.test.js.map +0 -1
  865. package/dist/lib/__tests__/plugin-security.test.d.ts +0 -2
  866. package/dist/lib/__tests__/plugin-security.test.d.ts.map +0 -1
  867. package/dist/lib/__tests__/plugin-security.test.js +0 -70
  868. package/dist/lib/__tests__/plugin-security.test.js.map +0 -1
  869. package/dist/lib/__tests__/validateMode.test.d.ts +0 -2
  870. package/dist/lib/__tests__/validateMode.test.d.ts.map +0 -1
  871. package/dist/lib/__tests__/validateMode.test.js +0 -61
  872. package/dist/lib/__tests__/validateMode.test.js.map +0 -1
  873. package/dist/lib/__tests__/version.test.d.ts +0 -6
  874. package/dist/lib/__tests__/version.test.d.ts.map +0 -1
  875. package/dist/lib/__tests__/version.test.js +0 -37
  876. package/dist/lib/__tests__/version.test.js.map +0 -1
  877. package/dist/lib/__tests__/worktree-paths.test.d.ts +0 -2
  878. package/dist/lib/__tests__/worktree-paths.test.d.ts.map +0 -1
  879. package/dist/lib/__tests__/worktree-paths.test.js +0 -225
  880. package/dist/lib/__tests__/worktree-paths.test.js.map +0 -1
  881. package/dist/mcp/__tests__/cli-detection.test.d.ts +0 -2
  882. package/dist/mcp/__tests__/cli-detection.test.d.ts.map +0 -1
  883. package/dist/mcp/__tests__/cli-detection.test.js +0 -50
  884. package/dist/mcp/__tests__/cli-detection.test.js.map +0 -1
  885. package/dist/mcp/__tests__/codex-core.test.d.ts +0 -2
  886. package/dist/mcp/__tests__/codex-core.test.d.ts.map +0 -1
  887. package/dist/mcp/__tests__/codex-core.test.js +0 -143
  888. package/dist/mcp/__tests__/codex-core.test.js.map +0 -1
  889. package/dist/mcp/__tests__/codex-integration.test.d.ts +0 -2
  890. package/dist/mcp/__tests__/codex-integration.test.d.ts.map +0 -1
  891. package/dist/mcp/__tests__/codex-integration.test.js +0 -59
  892. package/dist/mcp/__tests__/codex-integration.test.js.map +0 -1
  893. package/dist/mcp/__tests__/codex-reasoning-effort.test.d.ts +0 -2
  894. package/dist/mcp/__tests__/codex-reasoning-effort.test.d.ts.map +0 -1
  895. package/dist/mcp/__tests__/codex-reasoning-effort.test.js +0 -141
  896. package/dist/mcp/__tests__/codex-reasoning-effort.test.js.map +0 -1
  897. package/dist/mcp/__tests__/gemini-core.test.d.ts +0 -2
  898. package/dist/mcp/__tests__/gemini-core.test.d.ts.map +0 -1
  899. package/dist/mcp/__tests__/gemini-core.test.js +0 -53
  900. package/dist/mcp/__tests__/gemini-core.test.js.map +0 -1
  901. package/dist/mcp/__tests__/gemini-integration.test.d.ts +0 -2
  902. package/dist/mcp/__tests__/gemini-integration.test.d.ts.map +0 -1
  903. package/dist/mcp/__tests__/gemini-integration.test.js +0 -50
  904. package/dist/mcp/__tests__/gemini-integration.test.js.map +0 -1
  905. package/dist/mcp/__tests__/gemini-yolo-env.test.d.ts +0 -2
  906. package/dist/mcp/__tests__/gemini-yolo-env.test.d.ts.map +0 -1
  907. package/dist/mcp/__tests__/gemini-yolo-env.test.js +0 -274
  908. package/dist/mcp/__tests__/gemini-yolo-env.test.js.map +0 -1
  909. package/dist/mcp/__tests__/job-state-db-deprecation.test.d.ts +0 -2
  910. package/dist/mcp/__tests__/job-state-db-deprecation.test.d.ts.map +0 -1
  911. package/dist/mcp/__tests__/job-state-db-deprecation.test.js +0 -166
  912. package/dist/mcp/__tests__/job-state-db-deprecation.test.js.map +0 -1
  913. package/dist/mcp/__tests__/omc-tools-server.test.d.ts +0 -2
  914. package/dist/mcp/__tests__/omc-tools-server.test.d.ts.map +0 -1
  915. package/dist/mcp/__tests__/omc-tools-server.test.js +0 -108
  916. package/dist/mcp/__tests__/omc-tools-server.test.js.map +0 -1
  917. package/dist/mcp/__tests__/prompt-injection.test.d.ts +0 -2
  918. package/dist/mcp/__tests__/prompt-injection.test.d.ts.map +0 -1
  919. package/dist/mcp/__tests__/prompt-injection.test.js +0 -86
  920. package/dist/mcp/__tests__/prompt-injection.test.js.map +0 -1
  921. package/dist/mcp/__tests__/shared-exec.test.d.ts +0 -2
  922. package/dist/mcp/__tests__/shared-exec.test.d.ts.map +0 -1
  923. package/dist/mcp/__tests__/shared-exec.test.js +0 -151
  924. package/dist/mcp/__tests__/shared-exec.test.js.map +0 -1
  925. package/dist/notifications/__tests__/config-merge.test.d.ts +0 -2
  926. package/dist/notifications/__tests__/config-merge.test.d.ts.map +0 -1
  927. package/dist/notifications/__tests__/config-merge.test.js +0 -242
  928. package/dist/notifications/__tests__/config-merge.test.js.map +0 -1
  929. package/dist/notifications/__tests__/config.test.d.ts +0 -2
  930. package/dist/notifications/__tests__/config.test.d.ts.map +0 -1
  931. package/dist/notifications/__tests__/config.test.js +0 -227
  932. package/dist/notifications/__tests__/config.test.js.map +0 -1
  933. package/dist/notifications/__tests__/dispatcher.test.d.ts +0 -2
  934. package/dist/notifications/__tests__/dispatcher.test.d.ts.map +0 -1
  935. package/dist/notifications/__tests__/dispatcher.test.js +0 -898
  936. package/dist/notifications/__tests__/dispatcher.test.js.map +0 -1
  937. package/dist/notifications/__tests__/formatter.test.d.ts +0 -2
  938. package/dist/notifications/__tests__/formatter.test.d.ts.map +0 -1
  939. package/dist/notifications/__tests__/formatter.test.js +0 -72
  940. package/dist/notifications/__tests__/formatter.test.js.map +0 -1
  941. package/dist/notifications/__tests__/notify-registry-integration.test.d.ts +0 -2
  942. package/dist/notifications/__tests__/notify-registry-integration.test.d.ts.map +0 -1
  943. package/dist/notifications/__tests__/notify-registry-integration.test.js +0 -349
  944. package/dist/notifications/__tests__/notify-registry-integration.test.js.map +0 -1
  945. package/dist/notifications/__tests__/profiles.test.d.ts +0 -2
  946. package/dist/notifications/__tests__/profiles.test.d.ts.map +0 -1
  947. package/dist/notifications/__tests__/profiles.test.js +0 -253
  948. package/dist/notifications/__tests__/profiles.test.js.map +0 -1
  949. package/dist/notifications/__tests__/reply-config.test.d.ts +0 -2
  950. package/dist/notifications/__tests__/reply-config.test.d.ts.map +0 -1
  951. package/dist/notifications/__tests__/reply-config.test.js +0 -213
  952. package/dist/notifications/__tests__/reply-config.test.js.map +0 -1
  953. package/dist/notifications/__tests__/reply-listener.test.d.ts +0 -2
  954. package/dist/notifications/__tests__/reply-listener.test.d.ts.map +0 -1
  955. package/dist/notifications/__tests__/reply-listener.test.js +0 -431
  956. package/dist/notifications/__tests__/reply-listener.test.js.map +0 -1
  957. package/dist/notifications/__tests__/session-registry.test.d.ts +0 -2
  958. package/dist/notifications/__tests__/session-registry.test.d.ts.map +0 -1
  959. package/dist/notifications/__tests__/session-registry.test.js +0 -465
  960. package/dist/notifications/__tests__/session-registry.test.js.map +0 -1
  961. package/dist/notifications/__tests__/sleepMs.test.d.ts +0 -10
  962. package/dist/notifications/__tests__/sleepMs.test.d.ts.map +0 -1
  963. package/dist/notifications/__tests__/sleepMs.test.js +0 -117
  964. package/dist/notifications/__tests__/sleepMs.test.js.map +0 -1
  965. package/dist/notifications/__tests__/tmux.test.d.ts +0 -2
  966. package/dist/notifications/__tests__/tmux.test.d.ts.map +0 -1
  967. package/dist/notifications/__tests__/tmux.test.js +0 -137
  968. package/dist/notifications/__tests__/tmux.test.js.map +0 -1
  969. package/dist/skills/__tests__/ax-context-init.test.d.ts +0 -2
  970. package/dist/skills/__tests__/ax-context-init.test.d.ts.map +0 -1
  971. package/dist/skills/__tests__/ax-context-init.test.js +0 -36
  972. package/dist/skills/__tests__/ax-context-init.test.js.map +0 -1
  973. package/dist/skills/__tests__/mingw-escape.test.d.ts +0 -9
  974. package/dist/skills/__tests__/mingw-escape.test.d.ts.map +0 -1
  975. package/dist/skills/__tests__/mingw-escape.test.js +0 -105
  976. package/dist/skills/__tests__/mingw-escape.test.js.map +0 -1
  977. package/dist/team/__tests__/activity-log.test.d.ts +0 -2
  978. package/dist/team/__tests__/activity-log.test.d.ts.map +0 -1
  979. package/dist/team/__tests__/activity-log.test.js +0 -141
  980. package/dist/team/__tests__/activity-log.test.js.map +0 -1
  981. package/dist/team/__tests__/audit-log.test.d.ts +0 -2
  982. package/dist/team/__tests__/audit-log.test.d.ts.map +0 -1
  983. package/dist/team/__tests__/audit-log.test.js +0 -305
  984. package/dist/team/__tests__/audit-log.test.js.map +0 -1
  985. package/dist/team/__tests__/bridge-entry.test.d.ts +0 -2
  986. package/dist/team/__tests__/bridge-entry.test.d.ts.map +0 -1
  987. package/dist/team/__tests__/bridge-entry.test.js +0 -152
  988. package/dist/team/__tests__/bridge-entry.test.js.map +0 -1
  989. package/dist/team/__tests__/bridge-integration.test.d.ts +0 -2
  990. package/dist/team/__tests__/bridge-integration.test.d.ts.map +0 -1
  991. package/dist/team/__tests__/bridge-integration.test.js +0 -328
  992. package/dist/team/__tests__/bridge-integration.test.js.map +0 -1
  993. package/dist/team/__tests__/capabilities.test.d.ts +0 -2
  994. package/dist/team/__tests__/capabilities.test.d.ts.map +0 -1
  995. package/dist/team/__tests__/capabilities.test.js +0 -97
  996. package/dist/team/__tests__/capabilities.test.js.map +0 -1
  997. package/dist/team/__tests__/deadlock-detector.test.d.ts +0 -2
  998. package/dist/team/__tests__/deadlock-detector.test.d.ts.map +0 -1
  999. package/dist/team/__tests__/deadlock-detector.test.js +0 -50
  1000. package/dist/team/__tests__/deadlock-detector.test.js.map +0 -1
  1001. package/dist/team/__tests__/dependency-graph.test.d.ts +0 -2
  1002. package/dist/team/__tests__/dependency-graph.test.d.ts.map +0 -1
  1003. package/dist/team/__tests__/dependency-graph.test.js +0 -29
  1004. package/dist/team/__tests__/dependency-graph.test.js.map +0 -1
  1005. package/dist/team/__tests__/edge-cases.test.d.ts +0 -16
  1006. package/dist/team/__tests__/edge-cases.test.d.ts.map +0 -1
  1007. package/dist/team/__tests__/edge-cases.test.js +0 -737
  1008. package/dist/team/__tests__/edge-cases.test.js.map +0 -1
  1009. package/dist/team/__tests__/fs-utils.test.d.ts +0 -2
  1010. package/dist/team/__tests__/fs-utils.test.d.ts.map +0 -1
  1011. package/dist/team/__tests__/fs-utils.test.js +0 -74
  1012. package/dist/team/__tests__/fs-utils.test.js.map +0 -1
  1013. package/dist/team/__tests__/git-worktree.test.d.ts +0 -2
  1014. package/dist/team/__tests__/git-worktree.test.d.ts.map +0 -1
  1015. package/dist/team/__tests__/git-worktree.test.js +0 -90
  1016. package/dist/team/__tests__/git-worktree.test.js.map +0 -1
  1017. package/dist/team/__tests__/heartbeat.test.d.ts +0 -2
  1018. package/dist/team/__tests__/heartbeat.test.d.ts.map +0 -1
  1019. package/dist/team/__tests__/heartbeat.test.js +0 -93
  1020. package/dist/team/__tests__/heartbeat.test.js.map +0 -1
  1021. package/dist/team/__tests__/inbox-outbox.test.d.ts +0 -2
  1022. package/dist/team/__tests__/inbox-outbox.test.d.ts.map +0 -1
  1023. package/dist/team/__tests__/inbox-outbox.test.js +0 -220
  1024. package/dist/team/__tests__/inbox-outbox.test.js.map +0 -1
  1025. package/dist/team/__tests__/mcp-team-bridge.test.d.ts +0 -2
  1026. package/dist/team/__tests__/mcp-team-bridge.test.d.ts.map +0 -1
  1027. package/dist/team/__tests__/mcp-team-bridge.test.js +0 -458
  1028. package/dist/team/__tests__/mcp-team-bridge.test.js.map +0 -1
  1029. package/dist/team/__tests__/merge-coordinator.test.d.ts +0 -2
  1030. package/dist/team/__tests__/merge-coordinator.test.d.ts.map +0 -1
  1031. package/dist/team/__tests__/merge-coordinator.test.js +0 -128
  1032. package/dist/team/__tests__/merge-coordinator.test.js.map +0 -1
  1033. package/dist/team/__tests__/message-router.test.d.ts +0 -2
  1034. package/dist/team/__tests__/message-router.test.d.ts.map +0 -1
  1035. package/dist/team/__tests__/message-router.test.js +0 -78
  1036. package/dist/team/__tests__/message-router.test.js.map +0 -1
  1037. package/dist/team/__tests__/outbox-reader.test.d.ts +0 -2
  1038. package/dist/team/__tests__/outbox-reader.test.d.ts.map +0 -1
  1039. package/dist/team/__tests__/outbox-reader.test.js +0 -134
  1040. package/dist/team/__tests__/outbox-reader.test.js.map +0 -1
  1041. package/dist/team/__tests__/permissions.test.d.ts +0 -2
  1042. package/dist/team/__tests__/permissions.test.d.ts.map +0 -1
  1043. package/dist/team/__tests__/permissions.test.js +0 -255
  1044. package/dist/team/__tests__/permissions.test.js.map +0 -1
  1045. package/dist/team/__tests__/prompt-sanitization.test.d.ts +0 -2
  1046. package/dist/team/__tests__/prompt-sanitization.test.d.ts.map +0 -1
  1047. package/dist/team/__tests__/prompt-sanitization.test.js +0 -150
  1048. package/dist/team/__tests__/prompt-sanitization.test.js.map +0 -1
  1049. package/dist/team/__tests__/summary-report.test.d.ts +0 -2
  1050. package/dist/team/__tests__/summary-report.test.d.ts.map +0 -1
  1051. package/dist/team/__tests__/summary-report.test.js +0 -196
  1052. package/dist/team/__tests__/summary-report.test.js.map +0 -1
  1053. package/dist/team/__tests__/task-file-ops.test.d.ts +0 -2
  1054. package/dist/team/__tests__/task-file-ops.test.d.ts.map +0 -1
  1055. package/dist/team/__tests__/task-file-ops.test.js +0 -392
  1056. package/dist/team/__tests__/task-file-ops.test.js.map +0 -1
  1057. package/dist/team/__tests__/task-router.test.d.ts +0 -2
  1058. package/dist/team/__tests__/task-router.test.d.ts.map +0 -1
  1059. package/dist/team/__tests__/task-router.test.js +0 -118
  1060. package/dist/team/__tests__/task-router.test.js.map +0 -1
  1061. package/dist/team/__tests__/team-registration.test.d.ts +0 -2
  1062. package/dist/team/__tests__/team-registration.test.d.ts.map +0 -1
  1063. package/dist/team/__tests__/team-registration.test.js +0 -90
  1064. package/dist/team/__tests__/team-registration.test.js.map +0 -1
  1065. package/dist/team/__tests__/team-status.test.d.ts +0 -2
  1066. package/dist/team/__tests__/team-status.test.d.ts.map +0 -1
  1067. package/dist/team/__tests__/team-status.test.js +0 -146
  1068. package/dist/team/__tests__/team-status.test.js.map +0 -1
  1069. package/dist/team/__tests__/tmux-session.test.d.ts +0 -2
  1070. package/dist/team/__tests__/tmux-session.test.d.ts.map +0 -1
  1071. package/dist/team/__tests__/tmux-session.test.js +0 -60
  1072. package/dist/team/__tests__/tmux-session.test.js.map +0 -1
  1073. package/dist/team/__tests__/unified-team.test.d.ts +0 -2
  1074. package/dist/team/__tests__/unified-team.test.d.ts.map +0 -1
  1075. package/dist/team/__tests__/unified-team.test.js +0 -77
  1076. package/dist/team/__tests__/unified-team.test.js.map +0 -1
  1077. package/dist/team/__tests__/usage-tracker.test.d.ts +0 -2
  1078. package/dist/team/__tests__/usage-tracker.test.d.ts.map +0 -1
  1079. package/dist/team/__tests__/usage-tracker.test.js +0 -106
  1080. package/dist/team/__tests__/usage-tracker.test.js.map +0 -1
  1081. package/dist/team/__tests__/worker-health.test.d.ts +0 -2
  1082. package/dist/team/__tests__/worker-health.test.d.ts.map +0 -1
  1083. package/dist/team/__tests__/worker-health.test.js +0 -129
  1084. package/dist/team/__tests__/worker-health.test.js.map +0 -1
  1085. package/dist/team/__tests__/worker-restart.test.d.ts +0 -2
  1086. package/dist/team/__tests__/worker-restart.test.d.ts.map +0 -1
  1087. package/dist/team/__tests__/worker-restart.test.js +0 -122
  1088. package/dist/team/__tests__/worker-restart.test.js.map +0 -1
  1089. package/dist/tools/__tests__/ast-tools.test.d.ts +0 -2
  1090. package/dist/tools/__tests__/ast-tools.test.d.ts.map +0 -1
  1091. package/dist/tools/__tests__/ast-tools.test.js +0 -178
  1092. package/dist/tools/__tests__/ast-tools.test.js.map +0 -1
  1093. package/dist/tools/__tests__/lsp-tools.test.d.ts +0 -2
  1094. package/dist/tools/__tests__/lsp-tools.test.d.ts.map +0 -1
  1095. package/dist/tools/__tests__/lsp-tools.test.js +0 -252
  1096. package/dist/tools/__tests__/lsp-tools.test.js.map +0 -1
  1097. package/dist/tools/__tests__/schema-conversion.test.d.ts +0 -11
  1098. package/dist/tools/__tests__/schema-conversion.test.d.ts.map +0 -1
  1099. package/dist/tools/__tests__/schema-conversion.test.js +0 -270
  1100. package/dist/tools/__tests__/schema-conversion.test.js.map +0 -1
  1101. package/dist/tools/__tests__/state-tools.test.d.ts +0 -2
  1102. package/dist/tools/__tests__/state-tools.test.d.ts.map +0 -1
  1103. package/dist/tools/__tests__/state-tools.test.js +0 -444
  1104. package/dist/tools/__tests__/state-tools.test.js.map +0 -1
  1105. package/dist/tools/diagnostics/__tests__/index.test.d.ts +0 -2
  1106. package/dist/tools/diagnostics/__tests__/index.test.d.ts.map +0 -1
  1107. package/dist/tools/diagnostics/__tests__/index.test.js +0 -111
  1108. package/dist/tools/diagnostics/__tests__/index.test.js.map +0 -1
  1109. package/dist/tools/diagnostics/__tests__/lsp-aggregator.test.d.ts +0 -2
  1110. package/dist/tools/diagnostics/__tests__/lsp-aggregator.test.d.ts.map +0 -1
  1111. package/dist/tools/diagnostics/__tests__/lsp-aggregator.test.js +0 -120
  1112. package/dist/tools/diagnostics/__tests__/lsp-aggregator.test.js.map +0 -1
  1113. package/dist/tools/diagnostics/__tests__/tsc-runner.test.d.ts +0 -2
  1114. package/dist/tools/diagnostics/__tests__/tsc-runner.test.d.ts.map +0 -1
  1115. package/dist/tools/diagnostics/__tests__/tsc-runner.test.js +0 -86
  1116. package/dist/tools/diagnostics/__tests__/tsc-runner.test.js.map +0 -1
  1117. package/dist/tools/lsp/__tests__/client-eviction.test.d.ts +0 -2
  1118. package/dist/tools/lsp/__tests__/client-eviction.test.d.ts.map +0 -1
  1119. package/dist/tools/lsp/__tests__/client-eviction.test.js +0 -343
  1120. package/dist/tools/lsp/__tests__/client-eviction.test.js.map +0 -1
  1121. package/dist/tools/lsp/__tests__/client-timer-buffer.test.d.ts +0 -11
  1122. package/dist/tools/lsp/__tests__/client-timer-buffer.test.d.ts.map +0 -1
  1123. package/dist/tools/lsp/__tests__/client-timer-buffer.test.js +0 -222
  1124. package/dist/tools/lsp/__tests__/client-timer-buffer.test.js.map +0 -1
  1125. package/dist/tools/lsp/__tests__/client-win32-spawn.test.d.ts +0 -2
  1126. package/dist/tools/lsp/__tests__/client-win32-spawn.test.d.ts.map +0 -1
  1127. package/dist/tools/lsp/__tests__/client-win32-spawn.test.js +0 -84
  1128. package/dist/tools/lsp/__tests__/client-win32-spawn.test.js.map +0 -1
  1129. package/dist/tools/lsp/__tests__/command-exists.test.d.ts +0 -2
  1130. package/dist/tools/lsp/__tests__/command-exists.test.d.ts.map +0 -1
  1131. package/dist/tools/lsp/__tests__/command-exists.test.js +0 -104
  1132. package/dist/tools/lsp/__tests__/command-exists.test.js.map +0 -1
  1133. package/dist/tools/lsp/__tests__/utils.test.d.ts +0 -2
  1134. package/dist/tools/lsp/__tests__/utils.test.d.ts.map +0 -1
  1135. package/dist/tools/lsp/__tests__/utils.test.js +0 -338
  1136. package/dist/tools/lsp/__tests__/utils.test.js.map +0 -1
  1137. package/dist/tools/python-repl/__tests__/bridge-manager-cleanup.test.d.ts +0 -2
  1138. package/dist/tools/python-repl/__tests__/bridge-manager-cleanup.test.d.ts.map +0 -1
  1139. package/dist/tools/python-repl/__tests__/bridge-manager-cleanup.test.js +0 -76
  1140. package/dist/tools/python-repl/__tests__/bridge-manager-cleanup.test.js.map +0 -1
  1141. package/dist/tools/python-repl/__tests__/bridge-manager.test.d.ts +0 -2
  1142. package/dist/tools/python-repl/__tests__/bridge-manager.test.d.ts.map +0 -1
  1143. package/dist/tools/python-repl/__tests__/bridge-manager.test.js +0 -338
  1144. package/dist/tools/python-repl/__tests__/bridge-manager.test.js.map +0 -1
  1145. package/dist/tools/python-repl/__tests__/socket-client.test.d.ts +0 -2
  1146. package/dist/tools/python-repl/__tests__/socket-client.test.d.ts.map +0 -1
  1147. package/dist/tools/python-repl/__tests__/socket-client.test.js +0 -155
  1148. package/dist/tools/python-repl/__tests__/socket-client.test.js.map +0 -1
  1149. package/dist/utils/__tests__/paths.test.d.ts +0 -2
  1150. package/dist/utils/__tests__/paths.test.d.ts.map +0 -1
  1151. package/dist/utils/__tests__/paths.test.js +0 -88
  1152. package/dist/utils/__tests__/paths.test.js.map +0 -1
  1153. package/dist/utils/__tests__/string-width.test.d.ts +0 -6
  1154. package/dist/utils/__tests__/string-width.test.d.ts.map +0 -1
  1155. package/dist/utils/__tests__/string-width.test.js +0 -173
  1156. package/dist/utils/__tests__/string-width.test.js.map +0 -1
  1157. package/dist/verification/tier-selector.test.d.ts +0 -2
  1158. package/dist/verification/tier-selector.test.d.ts.map +0 -1
  1159. package/dist/verification/tier-selector.test.js +0 -282
  1160. package/dist/verification/tier-selector.test.js.map +0 -1
@@ -1,868 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
- import { removeCodeBlocks, sanitizeForKeywordDetection, extractPromptText, detectKeywordsWithType, hasKeyword, getPrimaryKeyword, getAllKeywords, } from '../index.js';
3
- // Mock isTeamEnabled
4
- vi.mock('../../../features/auto-update.js', () => ({
5
- isTeamEnabled: vi.fn(() => true),
6
- }));
7
- import { isTeamEnabled } from '../../../features/auto-update.js';
8
- const mockedIsTeamEnabled = vi.mocked(isTeamEnabled);
9
- describe('keyword-detector', () => {
10
- describe('removeCodeBlocks', () => {
11
- it('should remove fenced code blocks with triple backticks', () => {
12
- const text = 'Before ```code here``` after';
13
- expect(removeCodeBlocks(text)).toBe('Before after');
14
- });
15
- it('should remove fenced code blocks with tildes', () => {
16
- const text = 'Before ~~~code here~~~ after';
17
- expect(removeCodeBlocks(text)).toBe('Before after');
18
- });
19
- it('should remove multiline fenced code blocks', () => {
20
- const text = `Hello
21
- \`\`\`javascript
22
- const x = 1;
23
- const y = 2;
24
- \`\`\`
25
- World`;
26
- expect(removeCodeBlocks(text)).toBe(`Hello
27
-
28
- World`);
29
- });
30
- it('should remove inline code with single backticks', () => {
31
- const text = 'Use `autopilot` command here';
32
- expect(removeCodeBlocks(text)).toBe('Use command here');
33
- });
34
- it('should handle nested backticks in fenced blocks', () => {
35
- // The regex matches ```...``` greedily, so ```const x = `test````
36
- // matches from first ``` to the triple backtick at the end
37
- const text = 'Before ```const x = `test` ``` after';
38
- expect(removeCodeBlocks(text)).toBe('Before after');
39
- });
40
- it('should handle multiple code blocks', () => {
41
- const text = '`a` middle `b` end';
42
- expect(removeCodeBlocks(text)).toBe(' middle end');
43
- });
44
- it('should handle empty input', () => {
45
- expect(removeCodeBlocks('')).toBe('');
46
- });
47
- it('should return text unchanged when no code blocks', () => {
48
- const text = 'Regular text without code';
49
- expect(removeCodeBlocks(text)).toBe('Regular text without code');
50
- });
51
- it('should handle code blocks with language specifier', () => {
52
- const text = '```typescript\nconst x = 1;\n``` done';
53
- expect(removeCodeBlocks(text)).toBe(' done');
54
- });
55
- });
56
- describe('sanitizeForKeywordDetection', () => {
57
- it('should strip XML tag blocks', () => {
58
- const result = sanitizeForKeywordDetection('<system-reminder>ralph</system-reminder>');
59
- expect(result).not.toContain('ralph');
60
- });
61
- it('should strip self-closing XML tags', () => {
62
- const result = sanitizeForKeywordDetection('text <br /> more');
63
- expect(result).not.toContain('<br');
64
- });
65
- it('should strip URLs', () => {
66
- const result = sanitizeForKeywordDetection('see https://example.com/codex/path');
67
- expect(result).not.toContain('codex');
68
- });
69
- it('should strip file paths', () => {
70
- const result = sanitizeForKeywordDetection('open src/mcp/codex-core.ts');
71
- expect(result).not.toContain('codex');
72
- });
73
- it('should strip markdown code blocks', () => {
74
- const result = sanitizeForKeywordDetection('```\nask codex\n```');
75
- expect(result).not.toContain('codex');
76
- });
77
- it('should strip inline code', () => {
78
- const result = sanitizeForKeywordDetection('use `ask codex` command');
79
- expect(result).not.toContain('codex');
80
- });
81
- it('should preserve normal text', () => {
82
- const result = sanitizeForKeywordDetection('ask codex to review');
83
- expect(result).toContain('ask codex');
84
- });
85
- it('should not over-strip when XML tag names differ', () => {
86
- // Mismatched tags should not strip content between them
87
- const result = sanitizeForKeywordDetection('<open>ralph</close> hello');
88
- expect(result).toContain('ralph');
89
- });
90
- it('should strip matching XML tags correctly', () => {
91
- const result = sanitizeForKeywordDetection('<div>ralph</div> hello');
92
- expect(result).not.toContain('ralph');
93
- expect(result).toContain('hello');
94
- });
95
- it('should strip nested matching XML tags', () => {
96
- const result = sanitizeForKeywordDetection('<outer>some <inner>text</inner> ralph</outer> visible');
97
- expect(result).not.toContain('ralph');
98
- expect(result).toContain('visible');
99
- });
100
- it('should strip absolute file paths starting with /', () => {
101
- const result = sanitizeForKeywordDetection('open /usr/local/bin/codex');
102
- expect(result).not.toContain('codex');
103
- });
104
- it('should strip relative file paths starting with ./', () => {
105
- const result = sanitizeForKeywordDetection('edit ./src/codex.ts');
106
- expect(result).not.toContain('codex');
107
- });
108
- it('should strip multi-segment file paths', () => {
109
- const result = sanitizeForKeywordDetection('open src/mcp/codex-core.ts');
110
- expect(result).not.toContain('codex');
111
- });
112
- it('should NOT strip standalone words that look like single segments', () => {
113
- // "ask codex" should not be stripped since "codex" is not a path
114
- const result = sanitizeForKeywordDetection('ask codex to review');
115
- expect(result).toContain('ask codex');
116
- });
117
- it('should NOT strip slash-less words with dots', () => {
118
- // "file.txt" alone (no path separator) should be kept
119
- const result = sanitizeForKeywordDetection('rename codex.config');
120
- expect(result).toContain('codex');
121
- });
122
- });
123
- describe('extractPromptText', () => {
124
- it('should extract text from text parts', () => {
125
- const parts = [
126
- { type: 'text', text: 'Hello' },
127
- { type: 'text', text: 'World' },
128
- ];
129
- expect(extractPromptText(parts)).toBe('Hello World');
130
- });
131
- it('should ignore non-text parts', () => {
132
- const parts = [
133
- { type: 'text', text: 'Hello' },
134
- { type: 'image', url: 'http://example.com' },
135
- { type: 'text', text: 'World' },
136
- ];
137
- expect(extractPromptText(parts)).toBe('Hello World');
138
- });
139
- it('should handle empty parts array', () => {
140
- expect(extractPromptText([])).toBe('');
141
- });
142
- it('should handle parts with no text', () => {
143
- const parts = [
144
- { type: 'text' },
145
- { type: 'text', text: 'Valid' },
146
- ];
147
- expect(extractPromptText(parts)).toBe('Valid');
148
- });
149
- it('should handle undefined text gracefully', () => {
150
- const parts = [
151
- { type: 'text', text: undefined },
152
- { type: 'text', text: 'Hello' },
153
- ];
154
- expect(extractPromptText(parts)).toBe('Hello');
155
- });
156
- it('should handle all non-text parts', () => {
157
- const parts = [
158
- { type: 'image' },
159
- { type: 'tool_use' },
160
- ];
161
- expect(extractPromptText(parts)).toBe('');
162
- });
163
- });
164
- describe('detectKeywordsWithType', () => {
165
- describe('ralph keyword', () => {
166
- it('should detect ralph keyword', () => {
167
- const result = detectKeywordsWithType('Please ralph this task');
168
- const ralphMatch = result.find((r) => r.type === 'ralph');
169
- expect(ralphMatch).toBeDefined();
170
- expect(ralphMatch?.keyword).toBe('ralph');
171
- });
172
- it('should NOT detect "don\'t stop" phrase', () => {
173
- const result = detectKeywordsWithType("Don't stop until done");
174
- const ralphMatch = result.find((r) => r.type === 'ralph');
175
- expect(ralphMatch).toBeUndefined();
176
- });
177
- it('should NOT detect "must complete" phrase', () => {
178
- const result = detectKeywordsWithType('You must complete this task');
179
- const ralphMatch = result.find((r) => r.type === 'ralph');
180
- expect(ralphMatch).toBeUndefined();
181
- });
182
- it('should NOT detect "until done" phrase', () => {
183
- const result = detectKeywordsWithType('Keep going until done');
184
- const ralphMatch = result.find((r) => r.type === 'ralph');
185
- expect(ralphMatch).toBeUndefined();
186
- });
187
- });
188
- describe('autopilot keyword', () => {
189
- it('should detect autopilot keyword', () => {
190
- const result = detectKeywordsWithType('Run in autopilot mode');
191
- const autopilotMatch = result.find((r) => r.type === 'autopilot');
192
- expect(autopilotMatch).toBeDefined();
193
- });
194
- it('should detect "auto pilot" with space', () => {
195
- const result = detectKeywordsWithType('Enable auto pilot');
196
- const autopilotMatch = result.find((r) => r.type === 'autopilot');
197
- expect(autopilotMatch).toBeDefined();
198
- });
199
- it('should detect "auto-pilot" with hyphen', () => {
200
- const result = detectKeywordsWithType('Enable auto-pilot mode');
201
- const autopilotMatch = result.find((r) => r.type === 'autopilot');
202
- expect(autopilotMatch).toBeDefined();
203
- });
204
- it('should detect "full auto" keyword', () => {
205
- const result = detectKeywordsWithType('Go full auto on this');
206
- const autopilotMatch = result.find((r) => r.type === 'autopilot');
207
- expect(autopilotMatch).toBeDefined();
208
- });
209
- it('should detect "fullsend" keyword', () => {
210
- const result = detectKeywordsWithType('fullsend this implementation');
211
- const autopilotMatch = result.find((r) => r.type === 'autopilot');
212
- expect(autopilotMatch).toBeDefined();
213
- });
214
- it('should NOT detect "build me" phrase', () => {
215
- const result = detectKeywordsWithType('build me a web app');
216
- const autopilotMatch = result.find((r) => r.type === 'autopilot');
217
- expect(autopilotMatch).toBeUndefined();
218
- });
219
- it('should NOT detect "autonomous" keyword', () => {
220
- const result = detectKeywordsWithType('Run in autonomous mode');
221
- const autopilotMatch = result.find((r) => r.type === 'autopilot');
222
- expect(autopilotMatch).toBeUndefined();
223
- });
224
- });
225
- describe('ultrawork keyword', () => {
226
- it('should detect ultrawork keyword', () => {
227
- const result = detectKeywordsWithType('Do ultrawork on this');
228
- const ultraworkMatch = result.find((r) => r.type === 'ultrawork');
229
- expect(ultraworkMatch).toBeDefined();
230
- });
231
- it('should detect ulw abbreviation', () => {
232
- const result = detectKeywordsWithType('ulw this code');
233
- const ultraworkMatch = result.find((r) => r.type === 'ultrawork');
234
- expect(ultraworkMatch).toBeDefined();
235
- });
236
- it('should NOT detect uw abbreviation', () => {
237
- const result = detectKeywordsWithType('uw this code');
238
- const ultraworkMatch = result.find((r) => r.type === 'ultrawork');
239
- expect(ultraworkMatch).toBeUndefined();
240
- });
241
- });
242
- describe('pipeline keyword', () => {
243
- it('should detect agent pipeline phrase', () => {
244
- const result = detectKeywordsWithType('agent pipeline build the API');
245
- const pipelineMatch = result.find((r) => r.type === 'pipeline');
246
- expect(pipelineMatch).toBeDefined();
247
- });
248
- it('should detect chain agents phrase', () => {
249
- const result = detectKeywordsWithType('chain agents to build');
250
- const pipelineMatch = result.find((r) => r.type === 'pipeline');
251
- expect(pipelineMatch).toBeDefined();
252
- });
253
- it('should NOT detect bare pipeline keyword', () => {
254
- const result = detectKeywordsWithType('pipeline fix this');
255
- const pipelineMatch = result.find((r) => r.type === 'pipeline');
256
- expect(pipelineMatch).toBeUndefined();
257
- });
258
- it('should NOT detect CI/CD pipeline', () => {
259
- const result = detectKeywordsWithType('the CI pipeline is broken');
260
- const pipelineMatch = result.find((r) => r.type === 'pipeline');
261
- expect(pipelineMatch).toBeUndefined();
262
- });
263
- });
264
- describe('tdd keyword', () => {
265
- it('should detect tdd keyword', () => {
266
- const result = detectKeywordsWithType('tdd this feature');
267
- const tddMatch = result.find((r) => r.type === 'tdd');
268
- expect(tddMatch).toBeDefined();
269
- });
270
- it('should detect test first phrase', () => {
271
- const result = detectKeywordsWithType('test first approach');
272
- const tddMatch = result.find((r) => r.type === 'tdd');
273
- expect(tddMatch).toBeDefined();
274
- });
275
- it('should NOT detect red green phrase', () => {
276
- const result = detectKeywordsWithType('red green refactor cycle');
277
- const tddMatch = result.find((r) => r.type === 'tdd');
278
- expect(tddMatch).toBeUndefined();
279
- });
280
- });
281
- describe('ultrathink keyword', () => {
282
- it('should detect ultrathink keyword', () => {
283
- const result = detectKeywordsWithType('ultrathink about this problem');
284
- const ultrathinkMatch = result.find((r) => r.type === 'ultrathink');
285
- expect(ultrathinkMatch).toBeDefined();
286
- });
287
- it('should NOT detect "think hard" phrase', () => {
288
- const result = detectKeywordsWithType('think hard about this problem');
289
- const ultrathinkMatch = result.find((r) => r.type === 'ultrathink');
290
- expect(ultrathinkMatch).toBeUndefined();
291
- });
292
- it('should NOT detect "think deeply" phrase', () => {
293
- const result = detectKeywordsWithType('think deeply about this problem');
294
- const ultrathinkMatch = result.find((r) => r.type === 'ultrathink');
295
- expect(ultrathinkMatch).toBeUndefined();
296
- });
297
- });
298
- describe('deepsearch keyword', () => {
299
- it('should detect deepsearch keyword', () => {
300
- const result = detectKeywordsWithType('deepsearch for files');
301
- const searchMatch = result.find((r) => r.type === 'deepsearch');
302
- expect(searchMatch).toBeDefined();
303
- });
304
- it('should detect search the codebase', () => {
305
- const result = detectKeywordsWithType('search the codebase');
306
- const searchMatch = result.find((r) => r.type === 'deepsearch');
307
- expect(searchMatch).toBeDefined();
308
- });
309
- it('should detect find in codebase', () => {
310
- const result = detectKeywordsWithType('find in codebase');
311
- const searchMatch = result.find((r) => r.type === 'deepsearch');
312
- expect(searchMatch).toBeDefined();
313
- });
314
- it('should detect find in the codebase', () => {
315
- const result = detectKeywordsWithType('find in the codebase');
316
- const searchMatch = result.find((r) => r.type === 'deepsearch');
317
- expect(searchMatch).toBeDefined();
318
- });
319
- it('should NOT detect generic find', () => {
320
- const result = detectKeywordsWithType('find the bug');
321
- const searchMatch = result.find((r) => r.type === 'deepsearch');
322
- expect(searchMatch).toBeUndefined();
323
- });
324
- it('should NOT detect search code pattern', () => {
325
- const result = detectKeywordsWithType('search code for errors');
326
- const searchMatch = result.find((r) => r.type === 'deepsearch');
327
- expect(searchMatch).toBeUndefined();
328
- });
329
- it('should NOT detect find in all files', () => {
330
- const result = detectKeywordsWithType('find in all files');
331
- const searchMatch = result.find((r) => r.type === 'deepsearch');
332
- expect(searchMatch).toBeUndefined();
333
- });
334
- it('should NOT detect search project', () => {
335
- const result = detectKeywordsWithType('search the project');
336
- const searchMatch = result.find((r) => r.type === 'deepsearch');
337
- expect(searchMatch).toBeUndefined();
338
- });
339
- it('should NOT detect search files', () => {
340
- const result = detectKeywordsWithType('search files for errors');
341
- const searchMatch = result.find((r) => r.type === 'deepsearch');
342
- expect(searchMatch).toBeUndefined();
343
- });
344
- });
345
- describe('analyze keyword', () => {
346
- it('should detect deep analyze keyword', () => {
347
- const result = detectKeywordsWithType('deep analyze this code');
348
- const analyzeMatch = result.find((r) => r.type === 'analyze');
349
- expect(analyzeMatch).toBeDefined();
350
- });
351
- it('should detect deep-analyze with hyphen', () => {
352
- const result = detectKeywordsWithType('deep-analyze this code');
353
- const analyzeMatch = result.find((r) => r.type === 'analyze');
354
- expect(analyzeMatch).toBeDefined();
355
- });
356
- it('should detect deepanalyze without space', () => {
357
- const result = detectKeywordsWithType('deepanalyze this code');
358
- const analyzeMatch = result.find((r) => r.type === 'analyze');
359
- expect(analyzeMatch).toBeDefined();
360
- });
361
- it('should NOT detect investigate with context', () => {
362
- const result = detectKeywordsWithType('investigate the issue');
363
- const analyzeMatch = result.find((r) => r.type === 'analyze');
364
- expect(analyzeMatch).toBeUndefined();
365
- });
366
- it('should NOT detect investigate this', () => {
367
- const result = detectKeywordsWithType('investigate this bug');
368
- const analyzeMatch = result.find((r) => r.type === 'analyze');
369
- expect(analyzeMatch).toBeUndefined();
370
- });
371
- it('should NOT detect investigate why', () => {
372
- const result = detectKeywordsWithType('investigate why this fails');
373
- const analyzeMatch = result.find((r) => r.type === 'analyze');
374
- expect(analyzeMatch).toBeUndefined();
375
- });
376
- it('should NOT detect debug the', () => {
377
- const result = detectKeywordsWithType('debug the function');
378
- const analyzeMatch = result.find((r) => r.type === 'analyze');
379
- expect(analyzeMatch).toBeUndefined();
380
- });
381
- it('should NOT detect debug this', () => {
382
- const result = detectKeywordsWithType('debug this issue');
383
- const analyzeMatch = result.find((r) => r.type === 'analyze');
384
- expect(analyzeMatch).toBeUndefined();
385
- });
386
- it('should NOT detect debug why', () => {
387
- const result = detectKeywordsWithType('debug why this breaks');
388
- const analyzeMatch = result.find((r) => r.type === 'analyze');
389
- expect(analyzeMatch).toBeUndefined();
390
- });
391
- it('should NOT detect generic analyze', () => {
392
- const result = detectKeywordsWithType('analyze without context');
393
- const analyzeMatch = result.find((r) => r.type === 'analyze');
394
- expect(analyzeMatch).toBeUndefined();
395
- });
396
- });
397
- describe('case insensitivity', () => {
398
- it('should detect RALPH in uppercase', () => {
399
- const result = detectKeywordsWithType('RALPH this task');
400
- const ralphMatch = result.find((r) => r.type === 'ralph');
401
- expect(ralphMatch).toBeDefined();
402
- });
403
- it('should detect AUTOPILOT in uppercase', () => {
404
- const result = detectKeywordsWithType('AUTOPILOT mode');
405
- const autopilotMatch = result.find((r) => r.type === 'autopilot');
406
- expect(autopilotMatch).toBeDefined();
407
- });
408
- it('should detect mixed case keywords', () => {
409
- const result = detectKeywordsWithType('UltraThink about this');
410
- const ultrathinkMatch = result.find((r) => r.type === 'ultrathink');
411
- expect(ultrathinkMatch).toBeDefined();
412
- });
413
- });
414
- describe('code block exclusion', () => {
415
- it('should not detect keyword inside fenced code block', () => {
416
- const text = '```\nautopilot\n```';
417
- const result = detectKeywordsWithType(text);
418
- expect(result.length).toBe(0);
419
- });
420
- it('should not detect keyword inside inline code', () => {
421
- const text = 'Use `autopilot` command';
422
- const result = detectKeywordsWithType(text);
423
- expect(result.length).toBe(0);
424
- });
425
- it('should detect keyword outside code block but not inside', () => {
426
- const text = 'autopilot ```autopilot``` end';
427
- const result = detectKeywordsWithType(text);
428
- const autopilotMatches = result.filter((r) => r.type === 'autopilot');
429
- expect(autopilotMatches.length).toBeGreaterThan(0);
430
- });
431
- it('should not detect keyword inside XML tags', () => {
432
- const text = '<system-reminder>ralph</system-reminder> hello';
433
- const result = detectKeywordsWithType(text);
434
- const ralphMatch = result.find((r) => r.type === 'ralph');
435
- expect(ralphMatch).toBeUndefined();
436
- });
437
- });
438
- describe('codex keyword', () => {
439
- it('should detect "ask codex"', () => {
440
- const result = detectKeywordsWithType('ask codex to review');
441
- const codexMatch = result.find((r) => r.type === 'codex');
442
- expect(codexMatch).toBeDefined();
443
- });
444
- it('should detect "use gpt"', () => {
445
- const result = detectKeywordsWithType('use gpt for review');
446
- const codexMatch = result.find((r) => r.type === 'codex');
447
- expect(codexMatch).toBeDefined();
448
- });
449
- it('should detect "delegate to codex"', () => {
450
- const result = detectKeywordsWithType('delegate to codex');
451
- const codexMatch = result.find((r) => r.type === 'codex');
452
- expect(codexMatch).toBeDefined();
453
- });
454
- it('should detect "delegate to gpt"', () => {
455
- const result = detectKeywordsWithType('delegate to gpt');
456
- const codexMatch = result.find((r) => r.type === 'codex');
457
- expect(codexMatch).toBeDefined();
458
- });
459
- it('should NOT detect bare codex keyword', () => {
460
- const result = detectKeywordsWithType('codex review this');
461
- const codexMatch = result.find((r) => r.type === 'codex');
462
- expect(codexMatch).toBeUndefined();
463
- });
464
- it('should NOT detect bare gpt keyword', () => {
465
- const result = detectKeywordsWithType('gpt is great');
466
- const codexMatch = result.find((r) => r.type === 'codex');
467
- expect(codexMatch).toBeUndefined();
468
- });
469
- it('should NOT detect gpt model names', () => {
470
- const result = detectKeywordsWithType('gpt-5.3 model');
471
- const codexMatch = result.find((r) => r.type === 'codex');
472
- expect(codexMatch).toBeUndefined();
473
- });
474
- it('should NOT detect chatgpt', () => {
475
- const result = detectKeywordsWithType('chatgpt helped');
476
- const codexMatch = result.find((r) => r.type === 'codex');
477
- expect(codexMatch).toBeUndefined();
478
- });
479
- });
480
- describe('ccg keyword', () => {
481
- it('should detect "ccg" keyword', () => {
482
- const result = detectKeywordsWithType('ccg this feature');
483
- const ccgMatch = result.find((r) => r.type === 'ccg');
484
- expect(ccgMatch).toBeDefined();
485
- expect(ccgMatch?.keyword).toMatch(/ccg/i);
486
- });
487
- it('should detect "claude-codex-gemini" keyword', () => {
488
- const result = detectKeywordsWithType('use claude-codex-gemini to build this');
489
- const ccgMatch = result.find((r) => r.type === 'ccg');
490
- expect(ccgMatch).toBeDefined();
491
- });
492
- it('should detect CCG in uppercase', () => {
493
- const result = detectKeywordsWithType('CCG add user profile page');
494
- const ccgMatch = result.find((r) => r.type === 'ccg');
495
- expect(ccgMatch).toBeDefined();
496
- });
497
- it('should NOT detect ccg inside code block', () => {
498
- const result = detectKeywordsWithType('```\nccg mode\n```');
499
- const ccgMatch = result.find((r) => r.type === 'ccg');
500
- expect(ccgMatch).toBeUndefined();
501
- });
502
- it('should NOT detect ccg inside inline code', () => {
503
- const result = detectKeywordsWithType('use `ccg` command');
504
- const ccgMatch = result.find((r) => r.type === 'ccg');
505
- expect(ccgMatch).toBeUndefined();
506
- });
507
- it('should detect ccg with other text around it', () => {
508
- const result = detectKeywordsWithType('please ccg this full-stack feature');
509
- const ccgMatch = result.find((r) => r.type === 'ccg');
510
- expect(ccgMatch).toBeDefined();
511
- });
512
- });
513
- describe('gemini keyword', () => {
514
- it('should detect "ask gemini"', () => {
515
- const result = detectKeywordsWithType('ask gemini to design');
516
- const geminiMatch = result.find((r) => r.type === 'gemini');
517
- expect(geminiMatch).toBeDefined();
518
- });
519
- it('should detect "use gemini"', () => {
520
- const result = detectKeywordsWithType('use gemini for UI');
521
- const geminiMatch = result.find((r) => r.type === 'gemini');
522
- expect(geminiMatch).toBeDefined();
523
- });
524
- it('should detect "delegate to gemini"', () => {
525
- const result = detectKeywordsWithType('delegate to gemini');
526
- const geminiMatch = result.find((r) => r.type === 'gemini');
527
- expect(geminiMatch).toBeDefined();
528
- });
529
- it('should NOT detect bare gemini keyword', () => {
530
- const result = detectKeywordsWithType('gemini constellation');
531
- const geminiMatch = result.find((r) => r.type === 'gemini');
532
- expect(geminiMatch).toBeUndefined();
533
- });
534
- it('should NOT detect gemini in non-intent context', () => {
535
- const result = detectKeywordsWithType('the Gemini project');
536
- const geminiMatch = result.find((r) => r.type === 'gemini');
537
- expect(geminiMatch).toBeUndefined();
538
- });
539
- });
540
- describe('sanitization false-positive prevention', () => {
541
- it('should NOT detect codex in URL', () => {
542
- const result = detectKeywordsWithType('see https://example.com/gpt');
543
- const codexMatch = result.find((r) => r.type === 'codex');
544
- expect(codexMatch).toBeUndefined();
545
- });
546
- it('should NOT detect codex in file path', () => {
547
- const result = detectKeywordsWithType('open docs/gpt/README.md');
548
- const codexMatch = result.find((r) => r.type === 'codex');
549
- expect(codexMatch).toBeUndefined();
550
- });
551
- it('should NOT detect codex in inline code', () => {
552
- const result = detectKeywordsWithType('`ask codex`');
553
- const codexMatch = result.find((r) => r.type === 'codex');
554
- expect(codexMatch).toBeUndefined();
555
- });
556
- });
557
- describe('edge cases', () => {
558
- it('should handle empty input', () => {
559
- const result = detectKeywordsWithType('');
560
- expect(result.length).toBe(0);
561
- });
562
- it('should handle whitespace only input', () => {
563
- const result = detectKeywordsWithType(' \n\t ');
564
- expect(result.length).toBe(0);
565
- });
566
- it('should handle special characters', () => {
567
- const result = detectKeywordsWithType('!@#$%^&*()');
568
- expect(result.length).toBe(0);
569
- });
570
- it('should return position of detected keywords', () => {
571
- const text = 'Please autopilot this';
572
- const result = detectKeywordsWithType(text);
573
- const autopilotMatch = result.find((r) => r.type === 'autopilot');
574
- expect(autopilotMatch?.position).toBeGreaterThanOrEqual(0);
575
- });
576
- it('should detect multiple different keyword types', () => {
577
- const text = 'autopilot and deep analyze the bug';
578
- const result = detectKeywordsWithType(text);
579
- const types = result.map((r) => r.type);
580
- expect(types).toContain('autopilot');
581
- expect(types).toContain('analyze');
582
- });
583
- });
584
- });
585
- describe('hasKeyword', () => {
586
- it('should return true when keyword exists', () => {
587
- expect(hasKeyword('autopilot this')).toBe(true);
588
- });
589
- it('should return true for ralph keyword', () => {
590
- expect(hasKeyword('ralph the task')).toBe(true);
591
- });
592
- it('should return false when no keyword exists', () => {
593
- expect(hasKeyword('regular text here')).toBe(false);
594
- });
595
- it('should return false for empty input', () => {
596
- expect(hasKeyword('')).toBe(false);
597
- });
598
- it('should return false when keyword is inside code block', () => {
599
- expect(hasKeyword('```autopilot```')).toBe(false);
600
- });
601
- it('should return true when keyword is outside code block', () => {
602
- expect(hasKeyword('autopilot ```other code```')).toBe(true);
603
- });
604
- });
605
- describe('getPrimaryKeyword', () => {
606
- describe('priority order', () => {
607
- it('should return ralph over autopilot', () => {
608
- const result = getPrimaryKeyword('ralph and autopilot');
609
- expect(result?.type).toBe('ralph');
610
- });
611
- it('should return autopilot over ultrawork', () => {
612
- const result = getPrimaryKeyword('autopilot and ultrawork');
613
- expect(result?.type).toBe('autopilot');
614
- });
615
- it('should return ultrawork over ultrathink', () => {
616
- const result = getPrimaryKeyword('ultrawork and ultrathink');
617
- expect(result?.type).toBe('ultrawork');
618
- });
619
- it('should return ultrathink over deepsearch', () => {
620
- const result = getPrimaryKeyword('ultrathink and search the codebase');
621
- expect(result?.type).toBe('ultrathink');
622
- });
623
- it('should return deepsearch over analyze', () => {
624
- const result = getPrimaryKeyword('find in codebase and debug the issue');
625
- expect(result?.type).toBe('deepsearch');
626
- });
627
- it('should return analyze when it is the only keyword', () => {
628
- const result = getPrimaryKeyword('deep analyze the issue');
629
- expect(result?.type).toBe('analyze');
630
- });
631
- });
632
- describe('multiple keyword conflict resolution', () => {
633
- it('should return cancel over everything', () => {
634
- const result = getPrimaryKeyword('cancelomc ralph ultrawork');
635
- expect(result?.type).toBe('cancel');
636
- });
637
- it('should return ralph over ultrawork', () => {
638
- const result = getPrimaryKeyword('ralph ulw fix errors');
639
- expect(result?.type).toBe('ralph');
640
- });
641
- it('should detect all keywords even when multiple present', () => {
642
- const result = detectKeywordsWithType('ulw ralph fix errors');
643
- const types = result.map(r => r.type);
644
- expect(types).toContain('ultrawork');
645
- expect(types).toContain('ralph');
646
- });
647
- });
648
- it('should return null when no keyword found', () => {
649
- const result = getPrimaryKeyword('regular text');
650
- expect(result).toBeNull();
651
- });
652
- it('should return null for empty input', () => {
653
- const result = getPrimaryKeyword('');
654
- expect(result).toBeNull();
655
- });
656
- it('should return null when keyword is in code block', () => {
657
- const result = getPrimaryKeyword('```autopilot```');
658
- expect(result).toBeNull();
659
- });
660
- it('should return keyword with correct type and position', () => {
661
- const result = getPrimaryKeyword('autopilot this task');
662
- expect(result).not.toBeNull();
663
- expect(result?.type).toBe('autopilot');
664
- expect(result?.keyword).toBeDefined();
665
- expect(result?.position).toBeGreaterThanOrEqual(0);
666
- });
667
- it('should handle complex text with multiple keywords', () => {
668
- const text = 'Please ralph this and then autopilot the rest, think about it and analyze';
669
- const result = getPrimaryKeyword(text);
670
- // ralph has highest priority
671
- expect(result?.type).toBe('ralph');
672
- });
673
- });
674
- describe('getAllKeywords', () => {
675
- it('should return single keyword in array', () => {
676
- expect(getAllKeywords('autopilot this')).toEqual(['autopilot']);
677
- });
678
- it('should return multiple non-conflicting keywords in priority order', () => {
679
- expect(getAllKeywords('ulw ralph fix errors')).toEqual(['ralph', 'ultrawork']);
680
- });
681
- it('should return cancel exclusively when present', () => {
682
- expect(getAllKeywords('cancelomc ralph ultrawork')).toEqual(['cancel']);
683
- });
684
- it('should return team and ultrapilot when legacy ultrapilot trigger is present', () => {
685
- const result = getAllKeywords('autopilot ultrapilot build');
686
- expect(result).toContain('ultrapilot');
687
- expect(result).toContain('team');
688
- // team beats autopilot, but original ultrapilot is preserved
689
- expect(result).not.toContain('autopilot');
690
- });
691
- it('should return team and swarm for legacy swarm trigger', () => {
692
- const result = getAllKeywords('swarm 5 agents build this');
693
- expect(result).toContain('swarm');
694
- expect(result).toContain('team');
695
- });
696
- it('should return ralph with ultrawork (not mutually exclusive)', () => {
697
- const result = getAllKeywords('ralph ultrawork fix');
698
- expect(result).toContain('ralph');
699
- expect(result).toContain('ultrawork');
700
- });
701
- it('should return ralph with codex', () => {
702
- const result = getAllKeywords('ralph ask gpt to review');
703
- expect(result).toContain('ralph');
704
- expect(result).toContain('codex');
705
- });
706
- it('should return both codex and gemini when both present', () => {
707
- const result = getAllKeywords('ask codex and ask gemini');
708
- expect(result).toContain('codex');
709
- expect(result).toContain('gemini');
710
- });
711
- it('should return ccg when ccg keyword present', () => {
712
- const result = getAllKeywords('ccg add a user profile feature');
713
- expect(result).toContain('ccg');
714
- });
715
- it('should return ccg with higher priority than codex/gemini', () => {
716
- const result = getAllKeywords('ccg ask codex to review');
717
- const ccgIdx = result.indexOf('ccg');
718
- const codexIdx = result.indexOf('codex');
719
- expect(ccgIdx).toBeGreaterThanOrEqual(0);
720
- expect(codexIdx).toBeGreaterThanOrEqual(0);
721
- expect(ccgIdx).toBeLessThan(codexIdx);
722
- });
723
- it('should return ralph before ccg in priority order', () => {
724
- const result = getAllKeywords('ralph ccg build the app');
725
- const ralphIdx = result.indexOf('ralph');
726
- const ccgIdx = result.indexOf('ccg');
727
- expect(ralphIdx).toBeGreaterThanOrEqual(0);
728
- expect(ccgIdx).toBeGreaterThanOrEqual(0);
729
- expect(ralphIdx).toBeLessThan(ccgIdx);
730
- });
731
- it('should not return ccg when cancel is present', () => {
732
- const result = getAllKeywords('cancelomc ccg build');
733
- expect(result).toEqual(['cancel']);
734
- expect(result).not.toContain('ccg');
735
- });
736
- it('should return ralph over codex in priority', () => {
737
- const primary = getPrimaryKeyword('ralph ask codex');
738
- expect(primary?.type).toBe('ralph');
739
- });
740
- it('should return cancel over codex/gemini', () => {
741
- expect(getAllKeywords('cancelomc ask codex')).toEqual(['cancel']);
742
- });
743
- it('should return empty array for no keywords', () => {
744
- expect(getAllKeywords('regular text')).toEqual([]);
745
- });
746
- it('should handle code block exclusion', () => {
747
- expect(getAllKeywords('```autopilot```')).toEqual([]);
748
- });
749
- it('should handle multiple combinable keywords', () => {
750
- const result = getAllKeywords('ralph tdd fix');
751
- expect(result).toContain('ralph');
752
- expect(result).toContain('tdd');
753
- });
754
- // Team + Ralph composition tests
755
- it('should return both ralph and team when both present (linked mode)', () => {
756
- const result = getAllKeywords('team ralph build the API');
757
- expect(result).toContain('ralph');
758
- expect(result).toContain('team');
759
- });
760
- it('should return ralph before team in priority order', () => {
761
- const result = getAllKeywords('team ralph build the API');
762
- const ralphIdx = result.indexOf('ralph');
763
- const teamIdx = result.indexOf('team');
764
- expect(ralphIdx).toBeLessThan(teamIdx);
765
- });
766
- it('should return ralph as primary when team ralph is used', () => {
767
- const primary = getPrimaryKeyword('team ralph build the API');
768
- expect(primary?.type).toBe('ralph');
769
- });
770
- it('should return team and ralph with other keywords', () => {
771
- const result = getAllKeywords('team ralph ask codex to review');
772
- expect(result).toContain('ralph');
773
- expect(result).toContain('team');
774
- expect(result).toContain('codex');
775
- });
776
- it('should return team over autopilot even with ralph', () => {
777
- const result = getAllKeywords('ralph team autopilot build');
778
- expect(result).toContain('ralph');
779
- expect(result).toContain('team');
780
- expect(result).not.toContain('autopilot');
781
- });
782
- // Team keyword false positive prevention (intent-gated regex)
783
- it('should not detect team in "my team uses X"', () => {
784
- const result = getAllKeywords('my team uses React for frontend');
785
- expect(result).not.toContain('team');
786
- });
787
- it('should not detect team in "the team needs help"', () => {
788
- const result = getAllKeywords('the team needs help with deployment');
789
- expect(result).not.toContain('team');
790
- });
791
- it('should not detect team in "our team decided"', () => {
792
- const result = getAllKeywords('our team decided to use TypeScript');
793
- expect(result).not.toContain('team');
794
- });
795
- it('should not detect team in "a team of engineers"', () => {
796
- const result = getAllKeywords('a team of engineers built this');
797
- expect(result).not.toContain('team');
798
- });
799
- it('should detect team via coordinated team phrase', () => {
800
- const result = getAllKeywords('coordinated team build the API');
801
- expect(result).toContain('team');
802
- });
803
- it('should detect team via ultrapilot legacy keyword and preserve ultrapilot', () => {
804
- const result = getAllKeywords('ultrapilot build all components');
805
- expect(result).toContain('team');
806
- expect(result).toContain('ultrapilot');
807
- });
808
- it('should detect team via swarm N agents pattern and preserve swarm', () => {
809
- const result = getAllKeywords('swarm 5 agents fix all errors');
810
- expect(result).toContain('team');
811
- expect(result).toContain('swarm');
812
- });
813
- // Mixed keyword precedence tests
814
- it('should handle team + ralph combination', () => {
815
- const result = getAllKeywords('team ralph build the app');
816
- expect(result).toContain('ralph');
817
- expect(result).toContain('team');
818
- });
819
- it('should not detect cancel alongside team', () => {
820
- const result = getAllKeywords('cancelomc team');
821
- expect(result).toEqual(['cancel']);
822
- expect(result).not.toContain('team');
823
- });
824
- // Dedup regression test
825
- it('should deduplicate repeated keyword triggers', () => {
826
- const result = getAllKeywords('autopilot autopilot fix errors');
827
- const autopilotCount = result.filter(k => k === 'autopilot').length;
828
- expect(autopilotCount).toBe(1);
829
- });
830
- describe('when team is disabled via config', () => {
831
- beforeEach(() => {
832
- mockedIsTeamEnabled.mockReturnValue(false);
833
- });
834
- afterEach(() => {
835
- mockedIsTeamEnabled.mockReturnValue(true);
836
- });
837
- it('should NOT detect team keyword when disabled', () => {
838
- const result = getAllKeywords('team build the API');
839
- expect(result).not.toContain('team');
840
- });
841
- it('should NOT detect coordinated team when disabled', () => {
842
- const result = getAllKeywords('coordinated team build');
843
- expect(result).not.toContain('team');
844
- });
845
- it('should NOT detect ultrapilot or team when disabled', () => {
846
- const result = getAllKeywords('ultrapilot build all');
847
- expect(result).not.toContain('team');
848
- expect(result).not.toContain('ultrapilot');
849
- });
850
- it('should NOT detect swarm or team when disabled', () => {
851
- const result = getAllKeywords('swarm 5 agents fix errors');
852
- expect(result).not.toContain('team');
853
- expect(result).not.toContain('swarm');
854
- });
855
- it('should still detect other keywords when team disabled', () => {
856
- const result = getAllKeywords('team ralph build the API');
857
- expect(result).toContain('ralph');
858
- expect(result).not.toContain('team');
859
- });
860
- it('should not suppress autopilot when team is disabled', () => {
861
- const result = getAllKeywords('team autopilot build');
862
- expect(result).toContain('autopilot');
863
- expect(result).not.toContain('team');
864
- });
865
- });
866
- });
867
- });
868
- //# sourceMappingURL=index.test.js.map