@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,196 +0,0 @@
1
- import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
- import * as fs from 'fs';
3
- import * as path from 'path';
4
- import * as os from 'os';
5
- import { atomicWriteJson, atomicWriteJsonSync, atomicWriteFileSync, safeReadJson, ensureDirSync, } from '../atomic-write.js';
6
- let tmpDir;
7
- beforeEach(() => {
8
- tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'atomic-write-test-'));
9
- });
10
- afterEach(() => {
11
- fs.rmSync(tmpDir, { recursive: true, force: true });
12
- });
13
- // ============================================================================
14
- // 场景 1:atomicWriteJson / atomicWriteJsonSync 写入后内容与原始数据一致
15
- // ============================================================================
16
- describe('场景 1: 写入后内容一致', () => {
17
- it('atomicWriteJson (async) 写入后读回内容一致', async () => {
18
- const filePath = path.join(tmpDir, 'async.json');
19
- const data = { key: 'value', num: 42, nested: { arr: [1, 2, 3] } };
20
- await atomicWriteJson(filePath, data);
21
- expect(fs.existsSync(filePath)).toBe(true);
22
- const raw = fs.readFileSync(filePath, 'utf-8');
23
- const parsed = JSON.parse(raw);
24
- expect(parsed).toEqual(data);
25
- });
26
- it('atomicWriteJsonSync 写入后读回内容一致', () => {
27
- const filePath = path.join(tmpDir, 'sync.json');
28
- const data = { mode: 'ralph', active: true, iteration: 5 };
29
- atomicWriteJsonSync(filePath, data);
30
- expect(fs.existsSync(filePath)).toBe(true);
31
- const raw = fs.readFileSync(filePath, 'utf-8');
32
- const parsed = JSON.parse(raw);
33
- expect(parsed).toEqual(data);
34
- });
35
- });
36
- // ============================================================================
37
- // 场景 2:无权限目录写入(Unix 限定)
38
- // ============================================================================
39
- describe('场景 2: 无权限目录写入', () => {
40
- it('写入无写权限目录时应抛出错误 (Unix only)', async () => {
41
- if (process.platform === 'win32')
42
- return;
43
- const noPermDir = path.join(tmpDir, 'no-perm');
44
- fs.mkdirSync(noPermDir);
45
- fs.chmodSync(noPermDir, 0o444); // 只读
46
- const filePath = path.join(noPermDir, 'test.json');
47
- await expect(atomicWriteJson(filePath, { x: 1 })).rejects.toThrow();
48
- // 恢复权限以便 afterEach 清理
49
- fs.chmodSync(noPermDir, 0o755);
50
- });
51
- });
52
- // ============================================================================
53
- // 场景 3:rename 失败时目标文件不存在且无 .tmp 残留
54
- // 注意:ESM 下无法 spyOn Node 内置 fs/promises 命名空间的 rename。
55
- // 改用目标路径为只读文件(Windows)或目录存在性冲突来触发 rename 失败,
56
- // 或者将测试设计为验证"写入成功后不留 .tmp 文件"这一等效行为。
57
- // ============================================================================
58
- describe('场景 3: 无 .tmp 残留', () => {
59
- it('写入成功后不留 .tmp 残留文件', async () => {
60
- const filePath = path.join(tmpDir, 'target.json');
61
- await atomicWriteJson(filePath, { test: true });
62
- // 成功写入后目录中不应有 .tmp 残留
63
- const files = fs.readdirSync(tmpDir);
64
- const tmpFiles = files.filter(f => f.includes('.tmp.'));
65
- expect(tmpFiles).toHaveLength(0);
66
- // 目标文件应存在
67
- expect(fs.existsSync(filePath)).toBe(true);
68
- });
69
- it('目标路径为已存在的只读文件时,写入失败且无 .tmp 残留 (Unix only)', async () => {
70
- if (process.platform === 'win32')
71
- return;
72
- const filePath = path.join(tmpDir, 'readonly.json');
73
- // 先创建目标文件并设为只读
74
- fs.writeFileSync(filePath, '{}', 'utf-8');
75
- fs.chmodSync(filePath, 0o444);
76
- // 尝试写入到同名的只读文件所在的只读目录(让整个目录只读使 rename 失败)
77
- const parentDir = path.join(tmpDir, 'readonly-dir');
78
- fs.mkdirSync(parentDir);
79
- const targetPath = path.join(parentDir, 'data.json');
80
- fs.writeFileSync(targetPath, '{}', 'utf-8');
81
- fs.chmodSync(parentDir, 0o444);
82
- await expect(atomicWriteJson(targetPath, { x: 1 })).rejects.toThrow();
83
- // 无 .tmp 残留
84
- const files = fs.readdirSync(tmpDir);
85
- const tmpFiles = files.filter(f => f.includes('.tmp.'));
86
- expect(tmpFiles).toHaveLength(0);
87
- // 恢复权限
88
- fs.chmodSync(parentDir, 0o755);
89
- fs.chmodSync(filePath, 0o644);
90
- });
91
- });
92
- // ============================================================================
93
- // 场景 4:10 次并发写入同一路径,最终文件是合法完整 JSON
94
- // 注意:Windows 上 rename 到已被另一进程持有的目标文件会报 EPERM,
95
- // 这是 Windows 文件锁语义,不是 atomic-write 的 bug。
96
- // 使用 Promise.allSettled 允许部分失败,验证至少一次成功且最终是合法 JSON。
97
- // ============================================================================
98
- describe('场景 4: 并发写入', () => {
99
- it('Promise.allSettled 10 次并发写入同一路径后文件是合法完整 JSON', async () => {
100
- const filePath = path.join(tmpDir, 'concurrent.json');
101
- const writes = Array.from({ length: 10 }, (_, i) => atomicWriteJson(filePath, { iteration: i, timestamp: Date.now() }));
102
- const results = await Promise.allSettled(writes);
103
- // 至少一次写入成功
104
- const fulfilled = results.filter(r => r.status === 'fulfilled');
105
- expect(fulfilled.length).toBeGreaterThanOrEqual(1);
106
- // 最终文件存在且是合法完整 JSON
107
- expect(fs.existsSync(filePath)).toBe(true);
108
- const raw = fs.readFileSync(filePath, 'utf-8');
109
- const parsed = JSON.parse(raw);
110
- expect(parsed).toHaveProperty('iteration');
111
- expect(parsed).toHaveProperty('timestamp');
112
- });
113
- });
114
- // ============================================================================
115
- // 场景 5:写入 >1MB 数据,验证文件大小和内容完整
116
- // ============================================================================
117
- describe('场景 5: 大数据写入', () => {
118
- it('写入 >1MB 数据后文件大小正确且内容完整', async () => {
119
- const filePath = path.join(tmpDir, 'large.json');
120
- // 生成约 1.5MB 的数据
121
- const largeArray = Array.from({ length: 15000 }, (_, i) => ({
122
- id: i,
123
- value: 'x'.repeat(100),
124
- }));
125
- const data = { items: largeArray };
126
- await atomicWriteJson(filePath, data);
127
- const stat = fs.statSync(filePath);
128
- expect(stat.size).toBeGreaterThan(1024 * 1024); // >1MB
129
- const raw = fs.readFileSync(filePath, 'utf-8');
130
- const parsed = JSON.parse(raw);
131
- expect(parsed.items).toHaveLength(15000);
132
- expect(parsed.items[0]).toEqual({ id: 0, value: 'x'.repeat(100) });
133
- expect(parsed.items[14999]).toEqual({ id: 14999, value: 'x'.repeat(100) });
134
- });
135
- });
136
- // ============================================================================
137
- // 场景 6:路径含空格和中文字符的写入成功
138
- // ============================================================================
139
- describe('场景 6: 特殊字符路径', () => {
140
- it('路径含空格和中文字符时写入成功', async () => {
141
- const specialDir = path.join(tmpDir, '含空格 and 中文目录');
142
- fs.mkdirSync(specialDir, { recursive: true });
143
- const filePath = path.join(specialDir, '状态 file.json');
144
- const data = { mode: 'ultrawork', 描述: '中文字段值' };
145
- await atomicWriteJson(filePath, data);
146
- expect(fs.existsSync(filePath)).toBe(true);
147
- const raw = fs.readFileSync(filePath, 'utf-8');
148
- const parsed = JSON.parse(raw);
149
- expect(parsed).toEqual(data);
150
- });
151
- it('atomicWriteFileSync 支持含空格和中文的路径', () => {
152
- const specialDir = path.join(tmpDir, '特 殊 路径');
153
- fs.mkdirSync(specialDir, { recursive: true });
154
- const filePath = path.join(specialDir, 'data file.txt');
155
- atomicWriteFileSync(filePath, 'hello 中文 world');
156
- expect(fs.existsSync(filePath)).toBe(true);
157
- expect(fs.readFileSync(filePath, 'utf-8')).toBe('hello 中文 world');
158
- });
159
- });
160
- // ============================================================================
161
- // 加分场景:safeReadJson 对不存在文件返回 null,对损坏 JSON 抛出错误
162
- // ============================================================================
163
- describe('加分场景: safeReadJson', () => {
164
- it('对不存在的文件返回 null', async () => {
165
- const result = await safeReadJson(path.join(tmpDir, 'nonexistent.json'));
166
- expect(result).toBeNull();
167
- });
168
- it('对损坏的 JSON 内容抛出错误(区别于文件不存在)', async () => {
169
- const filePath = path.join(tmpDir, 'corrupt.json');
170
- fs.writeFileSync(filePath, '{ invalid json !!!', 'utf-8');
171
- await expect(safeReadJson(filePath)).rejects.toThrow();
172
- });
173
- it('对合法 JSON 文件正确返回解析后数据', async () => {
174
- const filePath = path.join(tmpDir, 'valid.json');
175
- const data = { active: true, mode: 'ralph' };
176
- fs.writeFileSync(filePath, JSON.stringify(data), 'utf-8');
177
- const result = await safeReadJson(filePath);
178
- expect(result).toEqual(data);
179
- });
180
- });
181
- // ============================================================================
182
- // ensureDirSync 基础测试
183
- // ============================================================================
184
- describe('ensureDirSync', () => {
185
- it('创建不存在的嵌套目录', () => {
186
- const nested = path.join(tmpDir, 'a', 'b', 'c');
187
- expect(fs.existsSync(nested)).toBe(false);
188
- ensureDirSync(nested);
189
- expect(fs.existsSync(nested)).toBe(true);
190
- expect(fs.statSync(nested).isDirectory()).toBe(true);
191
- });
192
- it('对已存在目录不抛出错误', () => {
193
- expect(() => ensureDirSync(tmpDir)).not.toThrow();
194
- });
195
- });
196
- //# sourceMappingURL=atomic-write.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"atomic-write.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/atomic-write.test.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * file-lock.test.ts
3
- *
4
- * 覆盖:
5
- * - 正常加锁/解锁(lock.json 创建/删除)
6
- * - 加锁后 lock.json 包含 pid 和 timestamp
7
- * - 解锁后锁目录被删除
8
- * - 活跃锁(非陈旧)→ 第二次 acquireLock 抛出 Error
9
- * - 陈旧锁(timestamp > staleMs)→ 自动抢占成功
10
- * - lock.json 不可读 → 视为陈旧,自动抢占
11
- */
12
- export {};
13
- //# sourceMappingURL=file-lock.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-lock.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/file-lock.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -1,122 +0,0 @@
1
- /**
2
- * file-lock.test.ts
3
- *
4
- * 覆盖:
5
- * - 正常加锁/解锁(lock.json 创建/删除)
6
- * - 加锁后 lock.json 包含 pid 和 timestamp
7
- * - 解锁后锁目录被删除
8
- * - 活跃锁(非陈旧)→ 第二次 acquireLock 抛出 Error
9
- * - 陈旧锁(timestamp > staleMs)→ 自动抢占成功
10
- * - lock.json 不可读 → 视为陈旧,自动抢占
11
- */
12
- import { describe, it, expect, beforeEach, afterEach } from 'vitest';
13
- import * as fs from 'fs';
14
- import * as os from 'os';
15
- import * as path from 'path';
16
- import { acquireLock } from '../file-lock.js';
17
- // ══════════════════════════════════════════════════════════════════════════════
18
- describe('acquireLock', () => {
19
- let tmpDir;
20
- let lockPath;
21
- beforeEach(() => {
22
- tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'file-lock-test-'));
23
- lockPath = path.join(tmpDir, '.lock');
24
- });
25
- afterEach(() => {
26
- fs.rmSync(tmpDir, { recursive: true, force: true });
27
- });
28
- // ─── 1. 正常加锁:lock 目录和 lock.json 被创建 ────────────────────────────
29
- it('加锁后锁目录存在', async () => {
30
- const unlock = await acquireLock(lockPath);
31
- expect(fs.existsSync(lockPath)).toBe(true);
32
- await unlock();
33
- });
34
- it('加锁后 lock.json 包含 pid 和 timestamp', async () => {
35
- const unlock = await acquireLock(lockPath);
36
- const lockFile = path.join(lockPath, 'lock.json');
37
- const meta = JSON.parse(fs.readFileSync(lockFile, 'utf8'));
38
- expect(meta.pid).toBe(process.pid);
39
- expect(typeof meta.timestamp).toBe('number');
40
- expect(meta.timestamp).toBeGreaterThan(0);
41
- await unlock();
42
- });
43
- // ─── 2. 正常解锁:锁目录被删除 ──────────────────────────────────────────
44
- it('unlock() 后锁目录不再存在', async () => {
45
- const unlock = await acquireLock(lockPath);
46
- await unlock();
47
- expect(fs.existsSync(lockPath)).toBe(false);
48
- });
49
- it('unlock() 幂等:重复调用不抛出', async () => {
50
- const unlock = await acquireLock(lockPath);
51
- await unlock();
52
- await expect(unlock()).resolves.not.toThrow();
53
- });
54
- // ─── 3. 活跃锁 → 第二次加锁抛出 Error ──────────────────────────────────
55
- it('活跃锁未释放时第二次 acquireLock 抛出 Error', async () => {
56
- const staleMs = 30000; // 默认 30 秒,不会陈旧
57
- const unlock = await acquireLock(lockPath, staleMs);
58
- await expect(acquireLock(lockPath, staleMs)).rejects.toThrow('锁已被占用');
59
- await unlock();
60
- });
61
- it('抛出的错误信息包含锁路径', async () => {
62
- const unlock = await acquireLock(lockPath);
63
- try {
64
- await acquireLock(lockPath);
65
- expect.fail('应该抛出错误');
66
- }
67
- catch (err) {
68
- expect(err.message).toContain(lockPath);
69
- }
70
- finally {
71
- await unlock();
72
- }
73
- });
74
- // ─── 4. 陈旧锁 → 自动抢占 ───────────────────────────────────────────────
75
- it('timestamp 超过 staleMs 的锁视为陈旧,可被自动抢占', async () => {
76
- // 手动创建一个陈旧的锁(timestamp = 0,即 1970-01-01)
77
- fs.mkdirSync(lockPath);
78
- const lockFile = path.join(lockPath, 'lock.json');
79
- fs.writeFileSync(lockFile, JSON.stringify({ pid: 99999, timestamp: 0 }), 'utf8');
80
- // staleMs=100:timestamp=0 显然超过 100ms,应自动抢占
81
- const unlock = await acquireLock(lockPath, 100);
82
- expect(fs.existsSync(lockPath)).toBe(true);
83
- await unlock();
84
- });
85
- it('陈旧锁抢占后 lock.json 更新为当前进程 pid', async () => {
86
- // 创建一个 timestamp=0 的陈旧锁
87
- fs.mkdirSync(lockPath);
88
- fs.writeFileSync(path.join(lockPath, 'lock.json'), JSON.stringify({ pid: 99999, timestamp: 0 }), 'utf8');
89
- const unlock = await acquireLock(lockPath, 100);
90
- const meta = JSON.parse(fs.readFileSync(path.join(lockPath, 'lock.json'), 'utf8'));
91
- expect(meta.pid).toBe(process.pid);
92
- await unlock();
93
- });
94
- // ─── 5. lock.json 不可读 → 视为陈旧,自动抢占 ─────────────────────────
95
- it('锁目录存在但 lock.json 不可读 → 视为陈旧,自动抢占', async () => {
96
- // 创建锁目录但不写 lock.json
97
- fs.mkdirSync(lockPath);
98
- const unlock = await acquireLock(lockPath, 30000);
99
- expect(fs.existsSync(lockPath)).toBe(true);
100
- await unlock();
101
- });
102
- // ─── 6. 连续加解锁(串行复用)────────────────────────────────────────────
103
- it('释放后可再次加锁', async () => {
104
- const unlock1 = await acquireLock(lockPath);
105
- await unlock1();
106
- const unlock2 = await acquireLock(lockPath);
107
- expect(fs.existsSync(lockPath)).toBe(true);
108
- await unlock2();
109
- expect(fs.existsSync(lockPath)).toBe(false);
110
- });
111
- // ─── 7. 不同路径的锁互不干扰 ────────────────────────────────────────────
112
- it('不同路径的锁互不干扰,可同时持有', async () => {
113
- const lockPath2 = path.join(tmpDir, '.lock2');
114
- const unlock1 = await acquireLock(lockPath);
115
- const unlock2 = await acquireLock(lockPath2);
116
- expect(fs.existsSync(lockPath)).toBe(true);
117
- expect(fs.existsSync(lockPath2)).toBe(true);
118
- await unlock1();
119
- await unlock2();
120
- });
121
- });
122
- //# sourceMappingURL=file-lock.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-lock.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/file-lock.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=plugin-deps.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-deps.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/plugin-deps.test.ts"],"names":[],"mappings":""}
@@ -1,58 +0,0 @@
1
- import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
- import { mkdirSync, writeFileSync, rmSync } from 'fs';
3
- import { join } from 'path';
4
- import { tmpdir } from 'os';
5
- import { buildDepTree, detectConflicts } from '../plugin-deps.js';
6
- function tmpDir() {
7
- const d = join(tmpdir(), `omc-deps-test-${Date.now()}`);
8
- mkdirSync(d, { recursive: true });
9
- return d;
10
- }
11
- describe('plugin-deps', () => {
12
- let dir;
13
- beforeEach(() => { dir = tmpDir(); });
14
- afterEach(() => { rmSync(dir, { recursive: true, force: true }); });
15
- it('buildDepTree returns root node with no deps for empty dir', () => {
16
- const tree = buildDepTree(dir, 'myplugin', '1.0.0');
17
- expect(tree.name).toBe('myplugin');
18
- expect(tree.version).toBe('1.0.0');
19
- expect(tree.deps).toEqual([]);
20
- });
21
- it('buildDepTree reads dependencies from package.json', () => {
22
- writeFileSync(join(dir, 'package.json'), JSON.stringify({
23
- dependencies: { lodash: '^4.0.0' }
24
- }));
25
- const tree = buildDepTree(dir, 'myplugin', '1.0.0');
26
- expect(tree.deps.length).toBe(1);
27
- expect(tree.deps[0].name).toBe('lodash');
28
- });
29
- it('detectConflicts returns clean=true for no conflicts', () => {
30
- const tree = buildDepTree(dir, 'myplugin', '1.0.0');
31
- const report = detectConflicts(tree);
32
- expect(report.clean).toBe(true);
33
- expect(report.conflicts).toEqual([]);
34
- });
35
- it('detectConflicts detects version conflicts', () => {
36
- // Manually build a tree with conflicting versions
37
- const tree = {
38
- name: 'root', version: '1.0.0', depth: 0,
39
- deps: [
40
- { name: 'lodash', version: '^4.0.0', depth: 1, deps: [] },
41
- { name: 'lodash', version: '^3.0.0', depth: 1, deps: [] },
42
- ]
43
- };
44
- const report = detectConflicts(tree);
45
- expect(report.clean).toBe(false);
46
- expect(report.conflicts[0].name).toBe('lodash');
47
- expect(report.conflicts[0].versions).toContain('^4.0.0');
48
- expect(report.conflicts[0].versions).toContain('^3.0.0');
49
- });
50
- it('buildDepTree respects maxDepth=0', () => {
51
- writeFileSync(join(dir, 'package.json'), JSON.stringify({
52
- dependencies: { lodash: '^4.0.0' }
53
- }));
54
- const tree = buildDepTree(dir, 'myplugin', '1.0.0', 0, 0);
55
- expect(tree.deps).toEqual([]);
56
- });
57
- });
58
- //# sourceMappingURL=plugin-deps.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-deps.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/plugin-deps.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=plugin-marketplace.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-marketplace.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/plugin-marketplace.test.ts"],"names":[],"mappings":""}
@@ -1,52 +0,0 @@
1
- import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
- import { mkdirSync, writeFileSync, rmSync } from 'fs';
3
- import { join } from 'path';
4
- import { tmpdir } from 'os';
5
- import { countThirdPartyPlugins, isMarketplaceEnabled } from '../plugin-marketplace.js';
6
- function tmpDir() {
7
- const d = join(tmpdir(), `omc-mkt-test-${Date.now()}-${Math.random().toString(36).slice(2)}`);
8
- mkdirSync(d, { recursive: true });
9
- return d;
10
- }
11
- describe('plugin-marketplace', () => {
12
- let base;
13
- beforeEach(() => { base = tmpDir(); });
14
- afterEach(() => {
15
- delete process.env['OMC_REGISTRY_PATH'];
16
- rmSync(base, { recursive: true, force: true });
17
- });
18
- function writeRegistry(plugins) {
19
- const path = join(base, 'installed_plugins.json');
20
- writeFileSync(path, JSON.stringify({ version: 2, plugins }));
21
- process.env['OMC_REGISTRY_PATH'] = path;
22
- }
23
- it('returns 0 when registry file does not exist', () => {
24
- process.env['OMC_REGISTRY_PATH'] = join(base, 'nonexistent.json');
25
- expect(countThirdPartyPlugins()).toBe(0);
26
- });
27
- it('returns 0 when registry has malformed JSON', () => {
28
- const path = join(base, 'bad.json');
29
- writeFileSync(path, 'not-json');
30
- process.env['OMC_REGISTRY_PATH'] = path;
31
- expect(countThirdPartyPlugins()).toBe(0);
32
- });
33
- it('returns 0 when registry missing plugins field', () => {
34
- const path = join(base, 'bad.json');
35
- writeFileSync(path, JSON.stringify({ version: 2 }));
36
- process.env['OMC_REGISTRY_PATH'] = path;
37
- expect(countThirdPartyPlugins()).toBe(0);
38
- });
39
- it('excludes ultrapower@ entries', () => {
40
- writeRegistry({ 'ultrapower@5.0.0': [], 'myplugin@1.0.0': [] });
41
- expect(countThirdPartyPlugins()).toBe(1);
42
- });
43
- it('isMarketplaceEnabled returns false below threshold', () => {
44
- writeRegistry({ 'a@1': [], 'b@1': [], 'c@1': [] });
45
- expect(isMarketplaceEnabled()).toBe(false);
46
- });
47
- it('isMarketplaceEnabled returns true at threshold', () => {
48
- writeRegistry({ 'a@1': [], 'b@1': [], 'c@1': [], 'd@1': [], 'e@1': [] });
49
- expect(isMarketplaceEnabled()).toBe(true);
50
- });
51
- });
52
- //# sourceMappingURL=plugin-marketplace.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-marketplace.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/plugin-marketplace.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=plugin-registry.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-registry.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/plugin-registry.test.ts"],"names":[],"mappings":""}