@kenkaiiii/ggcoder 5.49.4 → 5.49.6

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 (991) hide show
  1. package/dist/app-sidecar.js +3 -1
  2. package/dist/app-sidecar.js.map +1 -1
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +4 -1
  5. package/dist/cli.js.map +1 -1
  6. package/dist/core/agent-session.d.ts.map +1 -1
  7. package/dist/core/agent-session.js +1 -0
  8. package/dist/core/agent-session.js.map +1 -1
  9. package/dist/core/lsp/edit-telemetry.d.ts +27 -0
  10. package/dist/core/lsp/edit-telemetry.d.ts.map +1 -0
  11. package/dist/core/lsp/edit-telemetry.js +50 -0
  12. package/dist/core/lsp/edit-telemetry.js.map +1 -0
  13. package/dist/core/lsp/manager.d.ts +24 -1
  14. package/dist/core/lsp/manager.d.ts.map +1 -1
  15. package/dist/core/lsp/manager.js +53 -2
  16. package/dist/core/lsp/manager.js.map +1 -1
  17. package/dist/core/mcp/content.d.ts +5 -0
  18. package/dist/core/mcp/content.d.ts.map +1 -1
  19. package/dist/core/mcp/content.js +20 -2
  20. package/dist/core/mcp/content.js.map +1 -1
  21. package/dist/core/sandbox.d.ts +17 -1
  22. package/dist/core/sandbox.d.ts.map +1 -1
  23. package/dist/core/sandbox.js +74 -8
  24. package/dist/core/sandbox.js.map +1 -1
  25. package/dist/core/settings-manager.d.ts +3 -2
  26. package/dist/core/settings-manager.d.ts.map +1 -1
  27. package/dist/core/settings-manager.js +10 -0
  28. package/dist/core/settings-manager.js.map +1 -1
  29. package/dist/tools/edit.d.ts +2 -1
  30. package/dist/tools/edit.d.ts.map +1 -1
  31. package/dist/tools/edit.js +21 -5
  32. package/dist/tools/edit.js.map +1 -1
  33. package/dist/tools/index.d.ts.map +1 -1
  34. package/dist/tools/index.js +1 -1
  35. package/dist/tools/index.js.map +1 -1
  36. package/dist/tools/web-fetch.d.ts.map +1 -1
  37. package/dist/tools/web-fetch.js +28 -4
  38. package/dist/tools/web-fetch.js.map +1 -1
  39. package/dist/tools/write.d.ts +1 -1
  40. package/dist/tools/write.d.ts.map +1 -1
  41. package/dist/tools/write.js +1 -1
  42. package/dist/tools/write.js.map +1 -1
  43. package/dist/ui/utils/text-utils.d.ts +0 -6
  44. package/dist/ui/utils/text-utils.d.ts.map +1 -1
  45. package/dist/ui/utils/text-utils.js +8 -3
  46. package/dist/ui/utils/text-utils.js.map +1 -1
  47. package/dist/utils/text.d.ts +41 -0
  48. package/dist/utils/text.d.ts.map +1 -1
  49. package/dist/utils/text.js +46 -0
  50. package/dist/utils/text.js.map +1 -1
  51. package/package.json +6 -10
  52. package/dist/app-sidecar-auth-broadcast.test.d.ts +0 -2
  53. package/dist/app-sidecar-auth-broadcast.test.d.ts.map +0 -1
  54. package/dist/app-sidecar-auth-broadcast.test.js +0 -383
  55. package/dist/app-sidecar-auth-broadcast.test.js.map +0 -1
  56. package/dist/app-sidecar-sessions.test.d.ts +0 -2
  57. package/dist/app-sidecar-sessions.test.d.ts.map +0 -1
  58. package/dist/app-sidecar-sessions.test.js +0 -178
  59. package/dist/app-sidecar-sessions.test.js.map +0 -1
  60. package/dist/chat-agents/general.test.d.ts +0 -2
  61. package/dist/chat-agents/general.test.d.ts.map +0 -1
  62. package/dist/chat-agents/general.test.js +0 -53
  63. package/dist/chat-agents/general.test.js.map +0 -1
  64. package/dist/chat-agents/jiwa.test.d.ts +0 -2
  65. package/dist/chat-agents/jiwa.test.d.ts.map +0 -1
  66. package/dist/chat-agents/jiwa.test.js +0 -66
  67. package/dist/chat-agents/jiwa.test.js.map +0 -1
  68. package/dist/chat-agents/memory.test.d.ts +0 -2
  69. package/dist/chat-agents/memory.test.d.ts.map +0 -1
  70. package/dist/chat-agents/memory.test.js +0 -165
  71. package/dist/chat-agents/memory.test.js.map +0 -1
  72. package/dist/chat-agents/specialists.test.d.ts +0 -2
  73. package/dist/chat-agents/specialists.test.d.ts.map +0 -1
  74. package/dist/chat-agents/specialists.test.js +0 -98
  75. package/dist/chat-agents/specialists.test.js.map +0 -1
  76. package/dist/cli/command-routing.test.d.ts +0 -2
  77. package/dist/cli/command-routing.test.d.ts.map +0 -1
  78. package/dist/cli/command-routing.test.js +0 -60
  79. package/dist/cli/command-routing.test.js.map +0 -1
  80. package/dist/config.test.d.ts +0 -2
  81. package/dist/config.test.d.ts.map +0 -1
  82. package/dist/config.test.js +0 -148
  83. package/dist/config.test.js.map +0 -1
  84. package/dist/core/agent-mcp-passthrough.test.d.ts +0 -2
  85. package/dist/core/agent-mcp-passthrough.test.d.ts.map +0 -1
  86. package/dist/core/agent-mcp-passthrough.test.js +0 -61
  87. package/dist/core/agent-mcp-passthrough.test.js.map +0 -1
  88. package/dist/core/agent-notifications.test.d.ts +0 -2
  89. package/dist/core/agent-notifications.test.d.ts.map +0 -1
  90. package/dist/core/agent-notifications.test.js +0 -97
  91. package/dist/core/agent-notifications.test.js.map +0 -1
  92. package/dist/core/agent-session-add-dir.test.d.ts +0 -2
  93. package/dist/core/agent-session-add-dir.test.d.ts.map +0 -1
  94. package/dist/core/agent-session-add-dir.test.js +0 -110
  95. package/dist/core/agent-session-add-dir.test.js.map +0 -1
  96. package/dist/core/agent-session-checkpoint-flush.test.d.ts +0 -2
  97. package/dist/core/agent-session-checkpoint-flush.test.d.ts.map +0 -1
  98. package/dist/core/agent-session-checkpoint-flush.test.js +0 -201
  99. package/dist/core/agent-session-checkpoint-flush.test.js.map +0 -1
  100. package/dist/core/agent-session-compaction.test.d.ts +0 -2
  101. package/dist/core/agent-session-compaction.test.d.ts.map +0 -1
  102. package/dist/core/agent-session-compaction.test.js +0 -1157
  103. package/dist/core/agent-session-compaction.test.js.map +0 -1
  104. package/dist/core/agent-session-crash-durability.test.d.ts +0 -2
  105. package/dist/core/agent-session-crash-durability.test.d.ts.map +0 -1
  106. package/dist/core/agent-session-crash-durability.test.js +0 -102
  107. package/dist/core/agent-session-crash-durability.test.js.map +0 -1
  108. package/dist/core/agent-session-marker-anchors.test.d.ts +0 -2
  109. package/dist/core/agent-session-marker-anchors.test.d.ts.map +0 -1
  110. package/dist/core/agent-session-marker-anchors.test.js +0 -326
  111. package/dist/core/agent-session-marker-anchors.test.js.map +0 -1
  112. package/dist/core/agent-session-memory-tail.test.d.ts +0 -2
  113. package/dist/core/agent-session-memory-tail.test.d.ts.map +0 -1
  114. package/dist/core/agent-session-memory-tail.test.js +0 -119
  115. package/dist/core/agent-session-memory-tail.test.js.map +0 -1
  116. package/dist/core/agent-session-model-switch.test.d.ts +0 -2
  117. package/dist/core/agent-session-model-switch.test.d.ts.map +0 -1
  118. package/dist/core/agent-session-model-switch.test.js +0 -161
  119. package/dist/core/agent-session-model-switch.test.js.map +0 -1
  120. package/dist/core/agent-session-notifications.test.d.ts +0 -2
  121. package/dist/core/agent-session-notifications.test.d.ts.map +0 -1
  122. package/dist/core/agent-session-notifications.test.js +0 -114
  123. package/dist/core/agent-session-notifications.test.js.map +0 -1
  124. package/dist/core/agent-session-pre-init-arming.test.d.ts +0 -2
  125. package/dist/core/agent-session-pre-init-arming.test.d.ts.map +0 -1
  126. package/dist/core/agent-session-pre-init-arming.test.js +0 -60
  127. package/dist/core/agent-session-pre-init-arming.test.js.map +0 -1
  128. package/dist/core/agent-session-process-gate.test.d.ts +0 -2
  129. package/dist/core/agent-session-process-gate.test.d.ts.map +0 -1
  130. package/dist/core/agent-session-process-gate.test.js +0 -98
  131. package/dist/core/agent-session-process-gate.test.js.map +0 -1
  132. package/dist/core/agent-session-queue.test.d.ts +0 -2
  133. package/dist/core/agent-session-queue.test.d.ts.map +0 -1
  134. package/dist/core/agent-session-queue.test.js +0 -184
  135. package/dist/core/agent-session-queue.test.js.map +0 -1
  136. package/dist/core/agent-session-review-coverage.test.d.ts +0 -2
  137. package/dist/core/agent-session-review-coverage.test.d.ts.map +0 -1
  138. package/dist/core/agent-session-review-coverage.test.js +0 -191
  139. package/dist/core/agent-session-review-coverage.test.js.map +0 -1
  140. package/dist/core/agent-session-slash-restore.test.d.ts +0 -2
  141. package/dist/core/agent-session-slash-restore.test.d.ts.map +0 -1
  142. package/dist/core/agent-session-slash-restore.test.js +0 -121
  143. package/dist/core/agent-session-slash-restore.test.js.map +0 -1
  144. package/dist/core/agent-session-subagent-policy.test.d.ts +0 -2
  145. package/dist/core/agent-session-subagent-policy.test.d.ts.map +0 -1
  146. package/dist/core/agent-session-subagent-policy.test.js +0 -40
  147. package/dist/core/agent-session-subagent-policy.test.js.map +0 -1
  148. package/dist/core/agent-session-tool-result-policy.test.d.ts +0 -2
  149. package/dist/core/agent-session-tool-result-policy.test.d.ts.map +0 -1
  150. package/dist/core/agent-session-tool-result-policy.test.js +0 -25
  151. package/dist/core/agent-session-tool-result-policy.test.js.map +0 -1
  152. package/dist/core/agent-session-tool-tiers.test.d.ts +0 -2
  153. package/dist/core/agent-session-tool-tiers.test.d.ts.map +0 -1
  154. package/dist/core/agent-session-tool-tiers.test.js +0 -138
  155. package/dist/core/agent-session-tool-tiers.test.js.map +0 -1
  156. package/dist/core/agent-session-verification-flow.test.d.ts +0 -2
  157. package/dist/core/agent-session-verification-flow.test.d.ts.map +0 -1
  158. package/dist/core/agent-session-verification-flow.test.js +0 -125
  159. package/dist/core/agent-session-verification-flow.test.js.map +0 -1
  160. package/dist/core/agent-session-verification-gate.test.d.ts +0 -2
  161. package/dist/core/agent-session-verification-gate.test.d.ts.map +0 -1
  162. package/dist/core/agent-session-verification-gate.test.js +0 -137
  163. package/dist/core/agent-session-verification-gate.test.js.map +0 -1
  164. package/dist/core/agent-tools-allowlist.test.d.ts +0 -2
  165. package/dist/core/agent-tools-allowlist.test.d.ts.map +0 -1
  166. package/dist/core/agent-tools-allowlist.test.js +0 -74
  167. package/dist/core/agent-tools-allowlist.test.js.map +0 -1
  168. package/dist/core/agents.test.d.ts +0 -2
  169. package/dist/core/agents.test.d.ts.map +0 -1
  170. package/dist/core/agents.test.js +0 -147
  171. package/dist/core/agents.test.js.map +0 -1
  172. package/dist/core/auto-update.test.d.ts +0 -2
  173. package/dist/core/auto-update.test.d.ts.map +0 -1
  174. package/dist/core/auto-update.test.js +0 -204
  175. package/dist/core/auto-update.test.js.map +0 -1
  176. package/dist/core/autopilot-cycle.test.d.ts +0 -2
  177. package/dist/core/autopilot-cycle.test.d.ts.map +0 -1
  178. package/dist/core/autopilot-cycle.test.js +0 -375
  179. package/dist/core/autopilot-cycle.test.js.map +0 -1
  180. package/dist/core/autopilot-gate.test.d.ts +0 -2
  181. package/dist/core/autopilot-gate.test.d.ts.map +0 -1
  182. package/dist/core/autopilot-gate.test.js +0 -298
  183. package/dist/core/autopilot-gate.test.js.map +0 -1
  184. package/dist/core/autopilot-verdict.test.d.ts +0 -2
  185. package/dist/core/autopilot-verdict.test.d.ts.map +0 -1
  186. package/dist/core/autopilot-verdict.test.js +0 -153
  187. package/dist/core/autopilot-verdict.test.js.map +0 -1
  188. package/dist/core/checkpoint-store.test.d.ts +0 -2
  189. package/dist/core/checkpoint-store.test.d.ts.map +0 -1
  190. package/dist/core/checkpoint-store.test.js +0 -111
  191. package/dist/core/checkpoint-store.test.js.map +0 -1
  192. package/dist/core/code-retrieval-chunkers.test.d.ts +0 -2
  193. package/dist/core/code-retrieval-chunkers.test.d.ts.map +0 -1
  194. package/dist/core/code-retrieval-chunkers.test.js +0 -203
  195. package/dist/core/code-retrieval-chunkers.test.js.map +0 -1
  196. package/dist/core/compaction/active-context.test.d.ts +0 -2
  197. package/dist/core/compaction/active-context.test.d.ts.map +0 -1
  198. package/dist/core/compaction/active-context.test.js +0 -57
  199. package/dist/core/compaction/active-context.test.js.map +0 -1
  200. package/dist/core/compaction/compactor.test.d.ts +0 -2
  201. package/dist/core/compaction/compactor.test.d.ts.map +0 -1
  202. package/dist/core/compaction/compactor.test.js +0 -1072
  203. package/dist/core/compaction/compactor.test.js.map +0 -1
  204. package/dist/core/compaction/policy.test.d.ts +0 -2
  205. package/dist/core/compaction/policy.test.d.ts.map +0 -1
  206. package/dist/core/compaction/policy.test.js +0 -35
  207. package/dist/core/compaction/policy.test.js.map +0 -1
  208. package/dist/core/compaction/query-aware-selector.test.d.ts +0 -2
  209. package/dist/core/compaction/query-aware-selector.test.d.ts.map +0 -1
  210. package/dist/core/compaction/query-aware-selector.test.js +0 -96
  211. package/dist/core/compaction/query-aware-selector.test.js.map +0 -1
  212. package/dist/core/compaction/token-estimator.test.d.ts +0 -2
  213. package/dist/core/compaction/token-estimator.test.d.ts.map +0 -1
  214. package/dist/core/compaction/token-estimator.test.js +0 -283
  215. package/dist/core/compaction/token-estimator.test.js.map +0 -1
  216. package/dist/core/compaction/tool-result-pruner.test.d.ts +0 -2
  217. package/dist/core/compaction/tool-result-pruner.test.d.ts.map +0 -1
  218. package/dist/core/compaction/tool-result-pruner.test.js +0 -320
  219. package/dist/core/compaction/tool-result-pruner.test.js.map +0 -1
  220. package/dist/core/context-limits.test.d.ts +0 -2
  221. package/dist/core/context-limits.test.d.ts.map +0 -1
  222. package/dist/core/context-limits.test.js +0 -55
  223. package/dist/core/context-limits.test.js.map +0 -1
  224. package/dist/core/continue-replay-inventory.test.d.ts +0 -2
  225. package/dist/core/continue-replay-inventory.test.d.ts.map +0 -1
  226. package/dist/core/continue-replay-inventory.test.js +0 -42
  227. package/dist/core/continue-replay-inventory.test.js.map +0 -1
  228. package/dist/core/encode-cwd.test.d.ts +0 -2
  229. package/dist/core/encode-cwd.test.d.ts.map +0 -1
  230. package/dist/core/encode-cwd.test.js +0 -80
  231. package/dist/core/encode-cwd.test.js.map +0 -1
  232. package/dist/core/event-bus.test.d.ts +0 -2
  233. package/dist/core/event-bus.test.d.ts.map +0 -1
  234. package/dist/core/event-bus.test.js +0 -33
  235. package/dist/core/event-bus.test.js.map +0 -1
  236. package/dist/core/extensions/plugin-bundles.test.d.ts +0 -2
  237. package/dist/core/extensions/plugin-bundles.test.d.ts.map +0 -1
  238. package/dist/core/extensions/plugin-bundles.test.js +0 -110
  239. package/dist/core/extensions/plugin-bundles.test.js.map +0 -1
  240. package/dist/core/foreign-session-import.test.d.ts +0 -2
  241. package/dist/core/foreign-session-import.test.d.ts.map +0 -1
  242. package/dist/core/foreign-session-import.test.js +0 -220
  243. package/dist/core/foreign-session-import.test.js.map +0 -1
  244. package/dist/core/hashline-edit-benchmark.test.d.ts +0 -2
  245. package/dist/core/hashline-edit-benchmark.test.d.ts.map +0 -1
  246. package/dist/core/hashline-edit-benchmark.test.js +0 -190
  247. package/dist/core/hashline-edit-benchmark.test.js.map +0 -1
  248. package/dist/core/ideal-review.test.d.ts +0 -2
  249. package/dist/core/ideal-review.test.d.ts.map +0 -1
  250. package/dist/core/ideal-review.test.js +0 -242
  251. package/dist/core/ideal-review.test.js.map +0 -1
  252. package/dist/core/input-normalization.test.d.ts +0 -2
  253. package/dist/core/input-normalization.test.d.ts.map +0 -1
  254. package/dist/core/input-normalization.test.js +0 -75
  255. package/dist/core/input-normalization.test.js.map +0 -1
  256. package/dist/core/json-mode-flag-parity.test.d.ts +0 -2
  257. package/dist/core/json-mode-flag-parity.test.d.ts.map +0 -1
  258. package/dist/core/json-mode-flag-parity.test.js +0 -66
  259. package/dist/core/json-mode-flag-parity.test.js.map +0 -1
  260. package/dist/core/ken-context.test.d.ts +0 -2
  261. package/dist/core/ken-context.test.d.ts.map +0 -1
  262. package/dist/core/ken-context.test.js +0 -342
  263. package/dist/core/ken-context.test.js.map +0 -1
  264. package/dist/core/ken-model.test.d.ts +0 -2
  265. package/dist/core/ken-model.test.d.ts.map +0 -1
  266. package/dist/core/ken-model.test.js +0 -51
  267. package/dist/core/ken-model.test.js.map +0 -1
  268. package/dist/core/ken-prompt.test.d.ts +0 -2
  269. package/dist/core/ken-prompt.test.d.ts.map +0 -1
  270. package/dist/core/ken-prompt.test.js +0 -191
  271. package/dist/core/ken-prompt.test.js.map +0 -1
  272. package/dist/core/language-detector.test.d.ts +0 -2
  273. package/dist/core/language-detector.test.d.ts.map +0 -1
  274. package/dist/core/language-detector.test.js +0 -109
  275. package/dist/core/language-detector.test.js.map +0 -1
  276. package/dist/core/local-endpoint-store.test.d.ts +0 -2
  277. package/dist/core/local-endpoint-store.test.d.ts.map +0 -1
  278. package/dist/core/local-endpoint-store.test.js +0 -123
  279. package/dist/core/local-endpoint-store.test.js.map +0 -1
  280. package/dist/core/loop-breaker.test.d.ts +0 -2
  281. package/dist/core/loop-breaker.test.d.ts.map +0 -1
  282. package/dist/core/loop-breaker.test.js +0 -238
  283. package/dist/core/loop-breaker.test.js.map +0 -1
  284. package/dist/core/lsp/client-navigation.test.d.ts +0 -2
  285. package/dist/core/lsp/client-navigation.test.d.ts.map +0 -1
  286. package/dist/core/lsp/client-navigation.test.js +0 -135
  287. package/dist/core/lsp/client-navigation.test.js.map +0 -1
  288. package/dist/core/lsp/format.test.d.ts +0 -2
  289. package/dist/core/lsp/format.test.d.ts.map +0 -1
  290. package/dist/core/lsp/format.test.js +0 -56
  291. package/dist/core/lsp/format.test.js.map +0 -1
  292. package/dist/core/lsp/integration.test.d.ts +0 -2
  293. package/dist/core/lsp/integration.test.d.ts.map +0 -1
  294. package/dist/core/lsp/integration.test.js +0 -60
  295. package/dist/core/lsp/integration.test.js.map +0 -1
  296. package/dist/core/lsp/jsonrpc.test.d.ts +0 -2
  297. package/dist/core/lsp/jsonrpc.test.d.ts.map +0 -1
  298. package/dist/core/lsp/jsonrpc.test.js +0 -127
  299. package/dist/core/lsp/jsonrpc.test.js.map +0 -1
  300. package/dist/core/lsp/manager-navigation.test.d.ts +0 -2
  301. package/dist/core/lsp/manager-navigation.test.d.ts.map +0 -1
  302. package/dist/core/lsp/manager-navigation.test.js +0 -121
  303. package/dist/core/lsp/manager-navigation.test.js.map +0 -1
  304. package/dist/core/lsp/manager.test.d.ts +0 -2
  305. package/dist/core/lsp/manager.test.d.ts.map +0 -1
  306. package/dist/core/lsp/manager.test.js +0 -220
  307. package/dist/core/lsp/manager.test.js.map +0 -1
  308. package/dist/core/lsp/pool.test.d.ts +0 -2
  309. package/dist/core/lsp/pool.test.d.ts.map +0 -1
  310. package/dist/core/lsp/pool.test.js +0 -286
  311. package/dist/core/lsp/pool.test.js.map +0 -1
  312. package/dist/core/lsp/servers.test.d.ts +0 -2
  313. package/dist/core/lsp/servers.test.d.ts.map +0 -1
  314. package/dist/core/lsp/servers.test.js +0 -67
  315. package/dist/core/lsp/servers.test.js.map +0 -1
  316. package/dist/core/lsp/uri.test.d.ts +0 -2
  317. package/dist/core/lsp/uri.test.d.ts.map +0 -1
  318. package/dist/core/lsp/uri.test.js +0 -56
  319. package/dist/core/lsp/uri.test.js.map +0 -1
  320. package/dist/core/lsp/windows.test.d.ts +0 -2
  321. package/dist/core/lsp/windows.test.d.ts.map +0 -1
  322. package/dist/core/lsp/windows.test.js +0 -239
  323. package/dist/core/lsp/windows.test.js.map +0 -1
  324. package/dist/core/mcp/catalog-cache.test.d.ts +0 -2
  325. package/dist/core/mcp/catalog-cache.test.d.ts.map +0 -1
  326. package/dist/core/mcp/catalog-cache.test.js +0 -99
  327. package/dist/core/mcp/catalog-cache.test.js.map +0 -1
  328. package/dist/core/mcp/client-session-recovery.test.d.ts +0 -2
  329. package/dist/core/mcp/client-session-recovery.test.d.ts.map +0 -1
  330. package/dist/core/mcp/client-session-recovery.test.js +0 -231
  331. package/dist/core/mcp/client-session-recovery.test.js.map +0 -1
  332. package/dist/core/mcp/content.test.d.ts +0 -2
  333. package/dist/core/mcp/content.test.d.ts.map +0 -1
  334. package/dist/core/mcp/content.test.js +0 -135
  335. package/dist/core/mcp/content.test.js.map +0 -1
  336. package/dist/core/mcp/defaults.test.d.ts +0 -2
  337. package/dist/core/mcp/defaults.test.d.ts.map +0 -1
  338. package/dist/core/mcp/defaults.test.js +0 -60
  339. package/dist/core/mcp/defaults.test.js.map +0 -1
  340. package/dist/core/mcp/elicitation.test.d.ts +0 -2
  341. package/dist/core/mcp/elicitation.test.d.ts.map +0 -1
  342. package/dist/core/mcp/elicitation.test.js +0 -158
  343. package/dist/core/mcp/elicitation.test.js.map +0 -1
  344. package/dist/core/mcp/legacy-negotiation.test.d.ts +0 -2
  345. package/dist/core/mcp/legacy-negotiation.test.d.ts.map +0 -1
  346. package/dist/core/mcp/legacy-negotiation.test.js +0 -80
  347. package/dist/core/mcp/legacy-negotiation.test.js.map +0 -1
  348. package/dist/core/mcp/loopback.test.d.ts +0 -2
  349. package/dist/core/mcp/loopback.test.d.ts.map +0 -1
  350. package/dist/core/mcp/loopback.test.js +0 -87
  351. package/dist/core/mcp/loopback.test.js.map +0 -1
  352. package/dist/core/mcp/oauth-store.test.d.ts +0 -2
  353. package/dist/core/mcp/oauth-store.test.d.ts.map +0 -1
  354. package/dist/core/mcp/oauth-store.test.js +0 -94
  355. package/dist/core/mcp/oauth-store.test.js.map +0 -1
  356. package/dist/core/mcp/parse-add-command.test.d.ts +0 -2
  357. package/dist/core/mcp/parse-add-command.test.d.ts.map +0 -1
  358. package/dist/core/mcp/parse-add-command.test.js +0 -81
  359. package/dist/core/mcp/parse-add-command.test.js.map +0 -1
  360. package/dist/core/mcp/resolve-stdio.test.d.ts +0 -2
  361. package/dist/core/mcp/resolve-stdio.test.d.ts.map +0 -1
  362. package/dist/core/mcp/resolve-stdio.test.js +0 -239
  363. package/dist/core/mcp/resolve-stdio.test.js.map +0 -1
  364. package/dist/core/mcp/session-elicitation-wiring.test.d.ts +0 -2
  365. package/dist/core/mcp/session-elicitation-wiring.test.d.ts.map +0 -1
  366. package/dist/core/mcp/session-elicitation-wiring.test.js +0 -138
  367. package/dist/core/mcp/session-elicitation-wiring.test.js.map +0 -1
  368. package/dist/core/mcp/shared-pool.test.d.ts +0 -2
  369. package/dist/core/mcp/shared-pool.test.d.ts.map +0 -1
  370. package/dist/core/mcp/shared-pool.test.js +0 -425
  371. package/dist/core/mcp/shared-pool.test.js.map +0 -1
  372. package/dist/core/mcp/store.test.d.ts +0 -2
  373. package/dist/core/mcp/store.test.d.ts.map +0 -1
  374. package/dist/core/mcp/store.test.js +0 -110
  375. package/dist/core/mcp/store.test.js.map +0 -1
  376. package/dist/core/mcp/when-connected.test.d.ts +0 -2
  377. package/dist/core/mcp/when-connected.test.d.ts.map +0 -1
  378. package/dist/core/mcp/when-connected.test.js +0 -46
  379. package/dist/core/mcp/when-connected.test.js.map +0 -1
  380. package/dist/core/message-images.test.d.ts +0 -2
  381. package/dist/core/message-images.test.d.ts.map +0 -1
  382. package/dist/core/message-images.test.js +0 -62
  383. package/dist/core/message-images.test.js.map +0 -1
  384. package/dist/core/network-guard.test.d.ts +0 -2
  385. package/dist/core/network-guard.test.d.ts.map +0 -1
  386. package/dist/core/network-guard.test.js +0 -72
  387. package/dist/core/network-guard.test.js.map +0 -1
  388. package/dist/core/persistent-shell.test.d.ts +0 -2
  389. package/dist/core/persistent-shell.test.d.ts.map +0 -1
  390. package/dist/core/persistent-shell.test.js +0 -84
  391. package/dist/core/persistent-shell.test.js.map +0 -1
  392. package/dist/core/process-gate.test.d.ts +0 -2
  393. package/dist/core/process-gate.test.d.ts.map +0 -1
  394. package/dist/core/process-gate.test.js +0 -87
  395. package/dist/core/process-gate.test.js.map +0 -1
  396. package/dist/core/process-manager-dev-server-repro.test.d.ts +0 -2
  397. package/dist/core/process-manager-dev-server-repro.test.d.ts.map +0 -1
  398. package/dist/core/process-manager-dev-server-repro.test.js +0 -225
  399. package/dist/core/process-manager-dev-server-repro.test.js.map +0 -1
  400. package/dist/core/process-manager-notifications.test.d.ts +0 -2
  401. package/dist/core/process-manager-notifications.test.d.ts.map +0 -1
  402. package/dist/core/process-manager-notifications.test.js +0 -245
  403. package/dist/core/process-manager-notifications.test.js.map +0 -1
  404. package/dist/core/process-manager-wake.test.d.ts +0 -2
  405. package/dist/core/process-manager-wake.test.d.ts.map +0 -1
  406. package/dist/core/process-manager-wake.test.js +0 -100
  407. package/dist/core/process-manager-wake.test.js.map +0 -1
  408. package/dist/core/progress/engine.test.d.ts +0 -2
  409. package/dist/core/progress/engine.test.d.ts.map +0 -1
  410. package/dist/core/progress/engine.test.js +0 -136
  411. package/dist/core/progress/engine.test.js.map +0 -1
  412. package/dist/core/progress/git-xp.test.d.ts +0 -2
  413. package/dist/core/progress/git-xp.test.d.ts.map +0 -1
  414. package/dist/core/progress/git-xp.test.js +0 -88
  415. package/dist/core/progress/git-xp.test.js.map +0 -1
  416. package/dist/core/progress/ranks.test.d.ts +0 -2
  417. package/dist/core/progress/ranks.test.d.ts.map +0 -1
  418. package/dist/core/progress/ranks.test.js +0 -100
  419. package/dist/core/progress/ranks.test.js.map +0 -1
  420. package/dist/core/progress/rebuild.test.d.ts +0 -2
  421. package/dist/core/progress/rebuild.test.d.ts.map +0 -1
  422. package/dist/core/progress/rebuild.test.js +0 -103
  423. package/dist/core/progress/rebuild.test.js.map +0 -1
  424. package/dist/core/progress/store.test.d.ts +0 -2
  425. package/dist/core/progress/store.test.d.ts.map +0 -1
  426. package/dist/core/progress/store.test.js +0 -108
  427. package/dist/core/progress/store.test.js.map +0 -1
  428. package/dist/core/project-discovery.test.d.ts +0 -2
  429. package/dist/core/project-discovery.test.d.ts.map +0 -1
  430. package/dist/core/project-discovery.test.js +0 -519
  431. package/dist/core/project-discovery.test.js.map +0 -1
  432. package/dist/core/prompt-commands.test.d.ts +0 -2
  433. package/dist/core/prompt-commands.test.d.ts.map +0 -1
  434. package/dist/core/prompt-commands.test.js +0 -180
  435. package/dist/core/prompt-commands.test.js.map +0 -1
  436. package/dist/core/provider-cache.e2e.test.d.ts +0 -2
  437. package/dist/core/provider-cache.e2e.test.d.ts.map +0 -1
  438. package/dist/core/provider-cache.e2e.test.js +0 -125
  439. package/dist/core/provider-cache.e2e.test.js.map +0 -1
  440. package/dist/core/radio.test.d.ts +0 -2
  441. package/dist/core/radio.test.d.ts.map +0 -1
  442. package/dist/core/radio.test.js +0 -117
  443. package/dist/core/radio.test.js.map +0 -1
  444. package/dist/core/regrounding.test.d.ts +0 -2
  445. package/dist/core/regrounding.test.d.ts.map +0 -1
  446. package/dist/core/regrounding.test.js +0 -38
  447. package/dist/core/regrounding.test.js.map +0 -1
  448. package/dist/core/resolve-start.test.d.ts +0 -2
  449. package/dist/core/resolve-start.test.d.ts.map +0 -1
  450. package/dist/core/resolve-start.test.js +0 -68
  451. package/dist/core/resolve-start.test.js.map +0 -1
  452. package/dist/core/run-claim.test.d.ts +0 -2
  453. package/dist/core/run-claim.test.d.ts.map +0 -1
  454. package/dist/core/run-claim.test.js +0 -107
  455. package/dist/core/run-claim.test.js.map +0 -1
  456. package/dist/core/run-journal.test.d.ts +0 -2
  457. package/dist/core/run-journal.test.d.ts.map +0 -1
  458. package/dist/core/run-journal.test.js +0 -195
  459. package/dist/core/run-journal.test.js.map +0 -1
  460. package/dist/core/run-lifecycle.test.d.ts +0 -2
  461. package/dist/core/run-lifecycle.test.d.ts.map +0 -1
  462. package/dist/core/run-lifecycle.test.js +0 -64
  463. package/dist/core/run-lifecycle.test.js.map +0 -1
  464. package/dist/core/sandbox-feedback.test.d.ts +0 -2
  465. package/dist/core/sandbox-feedback.test.d.ts.map +0 -1
  466. package/dist/core/sandbox-feedback.test.js +0 -32
  467. package/dist/core/sandbox-feedback.test.js.map +0 -1
  468. package/dist/core/sandbox.test.d.ts +0 -2
  469. package/dist/core/sandbox.test.d.ts.map +0 -1
  470. package/dist/core/sandbox.test.js +0 -221
  471. package/dist/core/sandbox.test.js.map +0 -1
  472. package/dist/core/semantic-search-benchmark.test.d.ts +0 -2
  473. package/dist/core/semantic-search-benchmark.test.d.ts.map +0 -1
  474. package/dist/core/semantic-search-benchmark.test.js +0 -89
  475. package/dist/core/semantic-search-benchmark.test.js.map +0 -1
  476. package/dist/core/session-compaction.test.d.ts +0 -2
  477. package/dist/core/session-compaction.test.d.ts.map +0 -1
  478. package/dist/core/session-compaction.test.js +0 -92
  479. package/dist/core/session-compaction.test.js.map +0 -1
  480. package/dist/core/session-export.test.d.ts +0 -2
  481. package/dist/core/session-export.test.d.ts.map +0 -1
  482. package/dist/core/session-export.test.js +0 -353
  483. package/dist/core/session-export.test.js.map +0 -1
  484. package/dist/core/session-history.test.d.ts +0 -2
  485. package/dist/core/session-history.test.d.ts.map +0 -1
  486. package/dist/core/session-history.test.js +0 -272
  487. package/dist/core/session-history.test.js.map +0 -1
  488. package/dist/core/session-injections.test.d.ts +0 -2
  489. package/dist/core/session-injections.test.d.ts.map +0 -1
  490. package/dist/core/session-injections.test.js +0 -117
  491. package/dist/core/session-injections.test.js.map +0 -1
  492. package/dist/core/session-manager.test.d.ts +0 -2
  493. package/dist/core/session-manager.test.d.ts.map +0 -1
  494. package/dist/core/session-manager.test.js +0 -571
  495. package/dist/core/session-manager.test.js.map +0 -1
  496. package/dist/core/session-notification-visibility.test.d.ts +0 -2
  497. package/dist/core/session-notification-visibility.test.d.ts.map +0 -1
  498. package/dist/core/session-notification-visibility.test.js +0 -113
  499. package/dist/core/session-notification-visibility.test.js.map +0 -1
  500. package/dist/core/session-reconstructability.test.d.ts +0 -2
  501. package/dist/core/session-reconstructability.test.d.ts.map +0 -1
  502. package/dist/core/session-reconstructability.test.js +0 -105
  503. package/dist/core/session-reconstructability.test.js.map +0 -1
  504. package/dist/core/session-restore-display.test.d.ts +0 -2
  505. package/dist/core/session-restore-display.test.d.ts.map +0 -1
  506. package/dist/core/session-restore-display.test.js +0 -103
  507. package/dist/core/session-restore-display.test.js.map +0 -1
  508. package/dist/core/session-storage-fd-leak.test.d.ts +0 -2
  509. package/dist/core/session-storage-fd-leak.test.d.ts.map +0 -1
  510. package/dist/core/session-storage-fd-leak.test.js +0 -116
  511. package/dist/core/session-storage-fd-leak.test.js.map +0 -1
  512. package/dist/core/session-storage.test.d.ts +0 -2
  513. package/dist/core/session-storage.test.d.ts.map +0 -1
  514. package/dist/core/session-storage.test.js +0 -277
  515. package/dist/core/session-storage.test.js.map +0 -1
  516. package/dist/core/setup-history.test.d.ts +0 -2
  517. package/dist/core/setup-history.test.d.ts.map +0 -1
  518. package/dist/core/setup-history.test.js +0 -59
  519. package/dist/core/setup-history.test.js.map +0 -1
  520. package/dist/core/shell.test.d.ts +0 -2
  521. package/dist/core/shell.test.d.ts.map +0 -1
  522. package/dist/core/shell.test.js +0 -87
  523. package/dist/core/shell.test.js.map +0 -1
  524. package/dist/core/shutdown.test.d.ts +0 -2
  525. package/dist/core/shutdown.test.d.ts.map +0 -1
  526. package/dist/core/shutdown.test.js +0 -160
  527. package/dist/core/shutdown.test.js.map +0 -1
  528. package/dist/core/sidecar-error-reporter.test.d.ts +0 -2
  529. package/dist/core/sidecar-error-reporter.test.d.ts.map +0 -1
  530. package/dist/core/sidecar-error-reporter.test.js +0 -61
  531. package/dist/core/sidecar-error-reporter.test.js.map +0 -1
  532. package/dist/core/skills-routing.test.d.ts +0 -2
  533. package/dist/core/skills-routing.test.d.ts.map +0 -1
  534. package/dist/core/skills-routing.test.js +0 -310
  535. package/dist/core/skills-routing.test.js.map +0 -1
  536. package/dist/core/slash-commands.test.d.ts +0 -2
  537. package/dist/core/slash-commands.test.d.ts.map +0 -1
  538. package/dist/core/slash-commands.test.js +0 -59
  539. package/dist/core/slash-commands.test.js.map +0 -1
  540. package/dist/core/source-maps.test.d.ts +0 -2
  541. package/dist/core/source-maps.test.d.ts.map +0 -1
  542. package/dist/core/source-maps.test.js +0 -175
  543. package/dist/core/source-maps.test.js.map +0 -1
  544. package/dist/core/speed-benchmark.test.d.ts +0 -2
  545. package/dist/core/speed-benchmark.test.d.ts.map +0 -1
  546. package/dist/core/speed-benchmark.test.js +0 -102
  547. package/dist/core/speed-benchmark.test.js.map +0 -1
  548. package/dist/core/subagent-manager.test.d.ts +0 -2
  549. package/dist/core/subagent-manager.test.d.ts.map +0 -1
  550. package/dist/core/subagent-manager.test.js +0 -536
  551. package/dist/core/subagent-manager.test.js.map +0 -1
  552. package/dist/core/subagent-store.test.d.ts +0 -2
  553. package/dist/core/subagent-store.test.d.ts.map +0 -1
  554. package/dist/core/subagent-store.test.js +0 -106
  555. package/dist/core/subagent-store.test.js.map +0 -1
  556. package/dist/core/subagent-turn-record.test.d.ts +0 -2
  557. package/dist/core/subagent-turn-record.test.d.ts.map +0 -1
  558. package/dist/core/subagent-turn-record.test.js +0 -70
  559. package/dist/core/subagent-turn-record.test.js.map +0 -1
  560. package/dist/core/verification-evidence.test.d.ts +0 -2
  561. package/dist/core/verification-evidence.test.d.ts.map +0 -1
  562. package/dist/core/verification-evidence.test.js +0 -103
  563. package/dist/core/verification-evidence.test.js.map +0 -1
  564. package/dist/core/verification-gate.test.d.ts +0 -2
  565. package/dist/core/verification-gate.test.d.ts.map +0 -1
  566. package/dist/core/verification-gate.test.js +0 -138
  567. package/dist/core/verification-gate.test.js.map +0 -1
  568. package/dist/core/verify-commands.test.d.ts +0 -2
  569. package/dist/core/verify-commands.test.d.ts.map +0 -1
  570. package/dist/core/verify-commands.test.js +0 -81
  571. package/dist/core/verify-commands.test.js.map +0 -1
  572. package/dist/core/workspace-guard.test.d.ts +0 -2
  573. package/dist/core/workspace-guard.test.d.ts.map +0 -1
  574. package/dist/core/workspace-guard.test.js +0 -107
  575. package/dist/core/workspace-guard.test.js.map +0 -1
  576. package/dist/hf-pull.test.d.ts +0 -2
  577. package/dist/hf-pull.test.d.ts.map +0 -1
  578. package/dist/hf-pull.test.js +0 -112
  579. package/dist/hf-pull.test.js.map +0 -1
  580. package/dist/modes/acp-mode.test.d.ts +0 -2
  581. package/dist/modes/acp-mode.test.d.ts.map +0 -1
  582. package/dist/modes/acp-mode.test.js +0 -1067
  583. package/dist/modes/acp-mode.test.js.map +0 -1
  584. package/dist/modes/json-mode.test.d.ts +0 -2
  585. package/dist/modes/json-mode.test.d.ts.map +0 -1
  586. package/dist/modes/json-mode.test.js +0 -84
  587. package/dist/modes/json-mode.test.js.map +0 -1
  588. package/dist/modes/subagent-worker-mode.test.d.ts +0 -2
  589. package/dist/modes/subagent-worker-mode.test.d.ts.map +0 -1
  590. package/dist/modes/subagent-worker-mode.test.js +0 -52
  591. package/dist/modes/subagent-worker-mode.test.js.map +0 -1
  592. package/dist/session.test.d.ts +0 -2
  593. package/dist/session.test.d.ts.map +0 -1
  594. package/dist/session.test.js +0 -35
  595. package/dist/session.test.js.map +0 -1
  596. package/dist/system-prompt.test.d.ts +0 -2
  597. package/dist/system-prompt.test.d.ts.map +0 -1
  598. package/dist/system-prompt.test.js +0 -684
  599. package/dist/system-prompt.test.js.map +0 -1
  600. package/dist/system-prompt.tiering.test.d.ts +0 -2
  601. package/dist/system-prompt.tiering.test.d.ts.map +0 -1
  602. package/dist/system-prompt.tiering.test.js +0 -112
  603. package/dist/system-prompt.tiering.test.js.map +0 -1
  604. package/dist/tools/bash.test.d.ts +0 -2
  605. package/dist/tools/bash.test.d.ts.map +0 -1
  606. package/dist/tools/bash.test.js +0 -248
  607. package/dist/tools/bash.test.js.map +0 -1
  608. package/dist/tools/checkpoint-hook.test.d.ts +0 -2
  609. package/dist/tools/checkpoint-hook.test.d.ts.map +0 -1
  610. package/dist/tools/checkpoint-hook.test.js +0 -65
  611. package/dist/tools/checkpoint-hook.test.js.map +0 -1
  612. package/dist/tools/code-nav.test.d.ts +0 -2
  613. package/dist/tools/code-nav.test.d.ts.map +0 -1
  614. package/dist/tools/code-nav.test.js +0 -136
  615. package/dist/tools/code-nav.test.js.map +0 -1
  616. package/dist/tools/code-skeleton.test.d.ts +0 -2
  617. package/dist/tools/code-skeleton.test.d.ts.map +0 -1
  618. package/dist/tools/code-skeleton.test.js +0 -115
  619. package/dist/tools/code-skeleton.test.js.map +0 -1
  620. package/dist/tools/compress-integration.test.d.ts +0 -2
  621. package/dist/tools/compress-integration.test.d.ts.map +0 -1
  622. package/dist/tools/compress-integration.test.js +0 -59
  623. package/dist/tools/compress-integration.test.js.map +0 -1
  624. package/dist/tools/compress.test.d.ts +0 -2
  625. package/dist/tools/compress.test.d.ts.map +0 -1
  626. package/dist/tools/compress.test.js +0 -60
  627. package/dist/tools/compress.test.js.map +0 -1
  628. package/dist/tools/edit-diff.test.d.ts +0 -2
  629. package/dist/tools/edit-diff.test.d.ts.map +0 -1
  630. package/dist/tools/edit-diff.test.js +0 -329
  631. package/dist/tools/edit-diff.test.js.map +0 -1
  632. package/dist/tools/edit-robustness.test.d.ts +0 -2
  633. package/dist/tools/edit-robustness.test.d.ts.map +0 -1
  634. package/dist/tools/edit-robustness.test.js +0 -417
  635. package/dist/tools/edit-robustness.test.js.map +0 -1
  636. package/dist/tools/edit.test.d.ts +0 -2
  637. package/dist/tools/edit.test.d.ts.map +0 -1
  638. package/dist/tools/edit.test.js +0 -984
  639. package/dist/tools/edit.test.js.map +0 -1
  640. package/dist/tools/exit-plan.test.d.ts +0 -2
  641. package/dist/tools/exit-plan.test.d.ts.map +0 -1
  642. package/dist/tools/exit-plan.test.js +0 -72
  643. package/dist/tools/exit-plan.test.js.map +0 -1
  644. package/dist/tools/generate-image.test.d.ts +0 -2
  645. package/dist/tools/generate-image.test.d.ts.map +0 -1
  646. package/dist/tools/generate-image.test.js +0 -240
  647. package/dist/tools/generate-image.test.js.map +0 -1
  648. package/dist/tools/grep-parity.test.d.ts +0 -2
  649. package/dist/tools/grep-parity.test.d.ts.map +0 -1
  650. package/dist/tools/grep-parity.test.js +0 -92
  651. package/dist/tools/grep-parity.test.js.map +0 -1
  652. package/dist/tools/grep-recall.test.d.ts +0 -2
  653. package/dist/tools/grep-recall.test.d.ts.map +0 -1
  654. package/dist/tools/grep-recall.test.js +0 -114
  655. package/dist/tools/grep-recall.test.js.map +0 -1
  656. package/dist/tools/grep-spawn.test.d.ts +0 -2
  657. package/dist/tools/grep-spawn.test.d.ts.map +0 -1
  658. package/dist/tools/grep-spawn.test.js +0 -66
  659. package/dist/tools/grep-spawn.test.js.map +0 -1
  660. package/dist/tools/grep.test.d.ts +0 -2
  661. package/dist/tools/grep.test.d.ts.map +0 -1
  662. package/dist/tools/grep.test.js +0 -82
  663. package/dist/tools/grep.test.js.map +0 -1
  664. package/dist/tools/html-extract.test.d.ts +0 -2
  665. package/dist/tools/html-extract.test.d.ts.map +0 -1
  666. package/dist/tools/html-extract.test.js +0 -60
  667. package/dist/tools/html-extract.test.js.map +0 -1
  668. package/dist/tools/index.test.d.ts +0 -2
  669. package/dist/tools/index.test.d.ts.map +0 -1
  670. package/dist/tools/index.test.js +0 -55
  671. package/dist/tools/index.test.js.map +0 -1
  672. package/dist/tools/overflow.test.d.ts +0 -2
  673. package/dist/tools/overflow.test.d.ts.map +0 -1
  674. package/dist/tools/overflow.test.js +0 -59
  675. package/dist/tools/overflow.test.js.map +0 -1
  676. package/dist/tools/path-utils.test.d.ts +0 -2
  677. package/dist/tools/path-utils.test.d.ts.map +0 -1
  678. package/dist/tools/path-utils.test.js +0 -110
  679. package/dist/tools/path-utils.test.js.map +0 -1
  680. package/dist/tools/pdf-extract.test.d.ts +0 -2
  681. package/dist/tools/pdf-extract.test.d.ts.map +0 -1
  682. package/dist/tools/pdf-extract.test.js +0 -15
  683. package/dist/tools/pdf-extract.test.js.map +0 -1
  684. package/dist/tools/plan-mode.test.d.ts +0 -2
  685. package/dist/tools/plan-mode.test.d.ts.map +0 -1
  686. package/dist/tools/plan-mode.test.js +0 -91
  687. package/dist/tools/plan-mode.test.js.map +0 -1
  688. package/dist/tools/read-only-bash.test.d.ts +0 -2
  689. package/dist/tools/read-only-bash.test.d.ts.map +0 -1
  690. package/dist/tools/read-only-bash.test.js +0 -96
  691. package/dist/tools/read-only-bash.test.js.map +0 -1
  692. package/dist/tools/read.test.d.ts +0 -2
  693. package/dist/tools/read.test.d.ts.map +0 -1
  694. package/dist/tools/read.test.js +0 -146
  695. package/dist/tools/read.test.js.map +0 -1
  696. package/dist/tools/screenshot.test.d.ts +0 -2
  697. package/dist/tools/screenshot.test.d.ts.map +0 -1
  698. package/dist/tools/screenshot.test.js +0 -145
  699. package/dist/tools/screenshot.test.js.map +0 -1
  700. package/dist/tools/search-code.test.d.ts +0 -2
  701. package/dist/tools/search-code.test.d.ts.map +0 -1
  702. package/dist/tools/search-code.test.js +0 -83
  703. package/dist/tools/search-code.test.js.map +0 -1
  704. package/dist/tools/source-path.test.d.ts +0 -2
  705. package/dist/tools/source-path.test.d.ts.map +0 -1
  706. package/dist/tools/source-path.test.js +0 -80
  707. package/dist/tools/source-path.test.js.map +0 -1
  708. package/dist/tools/subagent-control.test.d.ts +0 -2
  709. package/dist/tools/subagent-control.test.d.ts.map +0 -1
  710. package/dist/tools/subagent-control.test.js +0 -73
  711. package/dist/tools/subagent-control.test.js.map +0 -1
  712. package/dist/tools/subagent-shared.test.d.ts +0 -2
  713. package/dist/tools/subagent-shared.test.d.ts.map +0 -1
  714. package/dist/tools/subagent-shared.test.js +0 -83
  715. package/dist/tools/subagent-shared.test.js.map +0 -1
  716. package/dist/tools/subagent.test.d.ts +0 -2
  717. package/dist/tools/subagent.test.d.ts.map +0 -1
  718. package/dist/tools/subagent.test.js +0 -180
  719. package/dist/tools/subagent.test.js.map +0 -1
  720. package/dist/tools/task-send.test.d.ts +0 -2
  721. package/dist/tools/task-send.test.d.ts.map +0 -1
  722. package/dist/tools/task-send.test.js +0 -104
  723. package/dist/tools/task-send.test.js.map +0 -1
  724. package/dist/tools/tool-catalog.test.d.ts +0 -2
  725. package/dist/tools/tool-catalog.test.d.ts.map +0 -1
  726. package/dist/tools/tool-catalog.test.js +0 -124
  727. package/dist/tools/tool-catalog.test.js.map +0 -1
  728. package/dist/tools/tool-search.test.d.ts +0 -2
  729. package/dist/tools/tool-search.test.d.ts.map +0 -1
  730. package/dist/tools/tool-search.test.js +0 -127
  731. package/dist/tools/tool-search.test.js.map +0 -1
  732. package/dist/tools/tool-tiers.test.d.ts +0 -2
  733. package/dist/tools/tool-tiers.test.d.ts.map +0 -1
  734. package/dist/tools/tool-tiers.test.js +0 -48
  735. package/dist/tools/tool-tiers.test.js.map +0 -1
  736. package/dist/tools/truncate-utils.test.d.ts +0 -2
  737. package/dist/tools/truncate-utils.test.d.ts.map +0 -1
  738. package/dist/tools/truncate-utils.test.js +0 -93
  739. package/dist/tools/truncate-utils.test.js.map +0 -1
  740. package/dist/tools/truncate.test.d.ts +0 -2
  741. package/dist/tools/truncate.test.d.ts.map +0 -1
  742. package/dist/tools/truncate.test.js +0 -100
  743. package/dist/tools/truncate.test.js.map +0 -1
  744. package/dist/tools/web-fetch.test.d.ts +0 -2
  745. package/dist/tools/web-fetch.test.d.ts.map +0 -1
  746. package/dist/tools/web-fetch.test.js +0 -676
  747. package/dist/tools/web-fetch.test.js.map +0 -1
  748. package/dist/tools/web-search.test.d.ts +0 -2
  749. package/dist/tools/web-search.test.d.ts.map +0 -1
  750. package/dist/tools/web-search.test.js +0 -333
  751. package/dist/tools/web-search.test.js.map +0 -1
  752. package/dist/tools/write.test.d.ts +0 -2
  753. package/dist/tools/write.test.d.ts.map +0 -1
  754. package/dist/tools/write.test.js +0 -176
  755. package/dist/tools/write.test.js.map +0 -1
  756. package/dist/ui/anchor-pad-reclaim.test.d.ts +0 -2
  757. package/dist/ui/anchor-pad-reclaim.test.d.ts.map +0 -1
  758. package/dist/ui/anchor-pad-reclaim.test.js +0 -146
  759. package/dist/ui/anchor-pad-reclaim.test.js.map +0 -1
  760. package/dist/ui/app-items.test.d.ts +0 -2
  761. package/dist/ui/app-items.test.d.ts.map +0 -1
  762. package/dist/ui/app-items.test.js +0 -54
  763. package/dist/ui/app-items.test.js.map +0 -1
  764. package/dist/ui/app-state-persistence.test.d.ts +0 -2
  765. package/dist/ui/app-state-persistence.test.d.ts.map +0 -1
  766. package/dist/ui/app-state-persistence.test.js +0 -71
  767. package/dist/ui/app-state-persistence.test.js.map +0 -1
  768. package/dist/ui/assistant-stream-flush-parity.test.d.ts +0 -2
  769. package/dist/ui/assistant-stream-flush-parity.test.d.ts.map +0 -1
  770. package/dist/ui/assistant-stream-flush-parity.test.js +0 -85
  771. package/dist/ui/assistant-stream-flush-parity.test.js.map +0 -1
  772. package/dist/ui/atomic-flush-regression.test.d.ts +0 -2
  773. package/dist/ui/atomic-flush-regression.test.d.ts.map +0 -1
  774. package/dist/ui/atomic-flush-regression.test.js +0 -218
  775. package/dist/ui/atomic-flush-regression.test.js.map +0 -1
  776. package/dist/ui/chat-layout-pinning.test.d.ts +0 -2
  777. package/dist/ui/chat-layout-pinning.test.d.ts.map +0 -1
  778. package/dist/ui/chat-layout-pinning.test.js +0 -525
  779. package/dist/ui/chat-layout-pinning.test.js.map +0 -1
  780. package/dist/ui/components/ActivityIndicator.test.d.ts +0 -2
  781. package/dist/ui/components/ActivityIndicator.test.d.ts.map +0 -1
  782. package/dist/ui/components/ActivityIndicator.test.js +0 -40
  783. package/dist/ui/components/ActivityIndicator.test.js.map +0 -1
  784. package/dist/ui/components/AssistantMessage.test.d.ts +0 -2
  785. package/dist/ui/components/AssistantMessage.test.d.ts.map +0 -1
  786. package/dist/ui/components/AssistantMessage.test.js +0 -418
  787. package/dist/ui/components/AssistantMessage.test.js.map +0 -1
  788. package/dist/ui/components/Footer.test.d.ts +0 -2
  789. package/dist/ui/components/Footer.test.d.ts.map +0 -1
  790. package/dist/ui/components/Footer.test.js +0 -16
  791. package/dist/ui/components/Footer.test.js.map +0 -1
  792. package/dist/ui/components/InputArea.test.d.ts +0 -2
  793. package/dist/ui/components/InputArea.test.d.ts.map +0 -1
  794. package/dist/ui/components/InputArea.test.js +0 -95
  795. package/dist/ui/components/InputArea.test.js.map +0 -1
  796. package/dist/ui/components/PlanOverlay.test.d.ts +0 -2
  797. package/dist/ui/components/PlanOverlay.test.d.ts.map +0 -1
  798. package/dist/ui/components/PlanOverlay.test.js +0 -24
  799. package/dist/ui/components/PlanOverlay.test.js.map +0 -1
  800. package/dist/ui/components/StreamingArea.test.d.ts +0 -2
  801. package/dist/ui/components/StreamingArea.test.d.ts.map +0 -1
  802. package/dist/ui/components/StreamingArea.test.js +0 -18
  803. package/dist/ui/components/StreamingArea.test.js.map +0 -1
  804. package/dist/ui/components/UserMessage.test.d.ts +0 -2
  805. package/dist/ui/components/UserMessage.test.d.ts.map +0 -1
  806. package/dist/ui/components/UserMessage.test.js +0 -39
  807. package/dist/ui/components/UserMessage.test.js.map +0 -1
  808. package/dist/ui/components/themed-output.test.d.ts +0 -2
  809. package/dist/ui/components/themed-output.test.d.ts.map +0 -1
  810. package/dist/ui/components/themed-output.test.js +0 -111
  811. package/dist/ui/components/themed-output.test.js.map +0 -1
  812. package/dist/ui/footer-jump-regression.test.d.ts +0 -2
  813. package/dist/ui/footer-jump-regression.test.d.ts.map +0 -1
  814. package/dist/ui/footer-jump-regression.test.js +0 -224
  815. package/dist/ui/footer-jump-regression.test.js.map +0 -1
  816. package/dist/ui/footer-status-layout.test.d.ts +0 -2
  817. package/dist/ui/footer-status-layout.test.d.ts.map +0 -1
  818. package/dist/ui/footer-status-layout.test.js +0 -71
  819. package/dist/ui/footer-status-layout.test.js.map +0 -1
  820. package/dist/ui/frame-clip-regression.test.d.ts +0 -2
  821. package/dist/ui/frame-clip-regression.test.d.ts.map +0 -1
  822. package/dist/ui/frame-clip-regression.test.js +0 -215
  823. package/dist/ui/frame-clip-regression.test.js.map +0 -1
  824. package/dist/ui/hooks/stall-retry-duplicate.test.d.ts +0 -2
  825. package/dist/ui/hooks/stall-retry-duplicate.test.d.ts.map +0 -1
  826. package/dist/ui/hooks/stall-retry-duplicate.test.js +0 -94
  827. package/dist/ui/hooks/stall-retry-duplicate.test.js.map +0 -1
  828. package/dist/ui/hooks/useAgentLoop.test.d.ts +0 -2
  829. package/dist/ui/hooks/useAgentLoop.test.d.ts.map +0 -1
  830. package/dist/ui/hooks/useAgentLoop.test.js +0 -66
  831. package/dist/ui/hooks/useAgentLoop.test.js.map +0 -1
  832. package/dist/ui/hooks/useContextCompaction.test.d.ts +0 -2
  833. package/dist/ui/hooks/useContextCompaction.test.d.ts.map +0 -1
  834. package/dist/ui/hooks/useContextCompaction.test.js +0 -135
  835. package/dist/ui/hooks/useContextCompaction.test.js.map +0 -1
  836. package/dist/ui/hooks/useTranscriptHistory.sessionstore.test.d.ts +0 -2
  837. package/dist/ui/hooks/useTranscriptHistory.sessionstore.test.d.ts.map +0 -1
  838. package/dist/ui/hooks/useTranscriptHistory.sessionstore.test.js +0 -81
  839. package/dist/ui/hooks/useTranscriptHistory.sessionstore.test.js.map +0 -1
  840. package/dist/ui/hooks/useTranscriptHistory.test.d.ts +0 -2
  841. package/dist/ui/hooks/useTranscriptHistory.test.d.ts.map +0 -1
  842. package/dist/ui/hooks/useTranscriptHistory.test.js +0 -61
  843. package/dist/ui/hooks/useTranscriptHistory.test.js.map +0 -1
  844. package/dist/ui/hooks/useTranscriptScroll.test.d.ts +0 -2
  845. package/dist/ui/hooks/useTranscriptScroll.test.d.ts.map +0 -1
  846. package/dist/ui/hooks/useTranscriptScroll.test.js +0 -119
  847. package/dist/ui/hooks/useTranscriptScroll.test.js.map +0 -1
  848. package/dist/ui/live-area-clamp.test.d.ts +0 -2
  849. package/dist/ui/live-area-clamp.test.d.ts.map +0 -1
  850. package/dist/ui/live-area-clamp.test.js +0 -125
  851. package/dist/ui/live-area-clamp.test.js.map +0 -1
  852. package/dist/ui/live-area-height.test.d.ts +0 -2
  853. package/dist/ui/live-area-height.test.d.ts.map +0 -1
  854. package/dist/ui/live-area-height.test.js +0 -76
  855. package/dist/ui/live-area-height.test.js.map +0 -1
  856. package/dist/ui/live-frame-height.test.d.ts +0 -2
  857. package/dist/ui/live-frame-height.test.d.ts.map +0 -1
  858. package/dist/ui/live-frame-height.test.js +0 -116
  859. package/dist/ui/live-frame-height.test.js.map +0 -1
  860. package/dist/ui/live-item-flush.test.d.ts +0 -2
  861. package/dist/ui/live-item-flush.test.d.ts.map +0 -1
  862. package/dist/ui/live-item-flush.test.js +0 -437
  863. package/dist/ui/live-item-flush.test.js.map +0 -1
  864. package/dist/ui/long-prompt-regression-harness.test.d.ts +0 -2
  865. package/dist/ui/long-prompt-regression-harness.test.d.ts.map +0 -1
  866. package/dist/ui/long-prompt-regression-harness.test.js +0 -195
  867. package/dist/ui/long-prompt-regression-harness.test.js.map +0 -1
  868. package/dist/ui/plan-overlay.test.d.ts +0 -2
  869. package/dist/ui/plan-overlay.test.d.ts.map +0 -1
  870. package/dist/ui/plan-overlay.test.js +0 -305
  871. package/dist/ui/plan-overlay.test.js.map +0 -1
  872. package/dist/ui/queued-message.test.d.ts +0 -2
  873. package/dist/ui/queued-message.test.d.ts.map +0 -1
  874. package/dist/ui/queued-message.test.js +0 -172
  875. package/dist/ui/queued-message.test.js.map +0 -1
  876. package/dist/ui/render.test.d.ts +0 -2
  877. package/dist/ui/render.test.d.ts.map +0 -1
  878. package/dist/ui/render.test.js +0 -42
  879. package/dist/ui/render.test.js.map +0 -1
  880. package/dist/ui/scroll-stabilization.test.d.ts +0 -2
  881. package/dist/ui/scroll-stabilization.test.d.ts.map +0 -1
  882. package/dist/ui/scroll-stabilization.test.js +0 -64
  883. package/dist/ui/scroll-stabilization.test.js.map +0 -1
  884. package/dist/ui/slash-command-images.test.d.ts +0 -2
  885. package/dist/ui/slash-command-images.test.d.ts.map +0 -1
  886. package/dist/ui/slash-command-images.test.js +0 -110
  887. package/dist/ui/slash-command-images.test.js.map +0 -1
  888. package/dist/ui/startup-banner-order.test.d.ts +0 -2
  889. package/dist/ui/startup-banner-order.test.d.ts.map +0 -1
  890. package/dist/ui/startup-banner-order.test.js +0 -105
  891. package/dist/ui/startup-banner-order.test.js.map +0 -1
  892. package/dist/ui/stores/transcript-scroll-store.test.d.ts +0 -2
  893. package/dist/ui/stores/transcript-scroll-store.test.d.ts.map +0 -1
  894. package/dist/ui/stores/transcript-scroll-store.test.js +0 -73
  895. package/dist/ui/stores/transcript-scroll-store.test.js.map +0 -1
  896. package/dist/ui/streaming-flush-bounce.test.d.ts +0 -2
  897. package/dist/ui/streaming-flush-bounce.test.d.ts.map +0 -1
  898. package/dist/ui/streaming-flush-bounce.test.js +0 -177
  899. package/dist/ui/streaming-flush-bounce.test.js.map +0 -1
  900. package/dist/ui/submit-boundary-gap.test.d.ts +0 -2
  901. package/dist/ui/submit-boundary-gap.test.d.ts.map +0 -1
  902. package/dist/ui/submit-boundary-gap.test.js +0 -180
  903. package/dist/ui/submit-boundary-gap.test.js.map +0 -1
  904. package/dist/ui/terminal-history-repaint.test.d.ts +0 -2
  905. package/dist/ui/terminal-history-repaint.test.d.ts.map +0 -1
  906. package/dist/ui/terminal-history-repaint.test.js +0 -73
  907. package/dist/ui/terminal-history-repaint.test.js.map +0 -1
  908. package/dist/ui/terminal-history-retry-dedup.test.d.ts +0 -2
  909. package/dist/ui/terminal-history-retry-dedup.test.d.ts.map +0 -1
  910. package/dist/ui/terminal-history-retry-dedup.test.js +0 -61
  911. package/dist/ui/terminal-history-retry-dedup.test.js.map +0 -1
  912. package/dist/ui/terminal-history.test.d.ts +0 -2
  913. package/dist/ui/terminal-history.test.d.ts.map +0 -1
  914. package/dist/ui/terminal-history.test.js +0 -557
  915. package/dist/ui/terminal-history.test.js.map +0 -1
  916. package/dist/ui/thinking-level-cycle.test.d.ts +0 -2
  917. package/dist/ui/thinking-level-cycle.test.d.ts.map +0 -1
  918. package/dist/ui/thinking-level-cycle.test.js +0 -45
  919. package/dist/ui/thinking-level-cycle.test.js.map +0 -1
  920. package/dist/ui/tool-group-summary.test.d.ts +0 -2
  921. package/dist/ui/tool-group-summary.test.d.ts.map +0 -1
  922. package/dist/ui/tool-group-summary.test.js +0 -79
  923. package/dist/ui/tool-group-summary.test.js.map +0 -1
  924. package/dist/ui/transcript/spacing.test.d.ts +0 -2
  925. package/dist/ui/transcript/spacing.test.d.ts.map +0 -1
  926. package/dist/ui/transcript/spacing.test.js +0 -187
  927. package/dist/ui/transcript/spacing.test.js.map +0 -1
  928. package/dist/ui/transcript/transcript-lines.test.d.ts +0 -2
  929. package/dist/ui/transcript/transcript-lines.test.d.ts.map +0 -1
  930. package/dist/ui/transcript/transcript-lines.test.js +0 -76
  931. package/dist/ui/transcript/transcript-lines.test.js.map +0 -1
  932. package/dist/ui/transcript-viewport-pinning.test.d.ts +0 -2
  933. package/dist/ui/transcript-viewport-pinning.test.d.ts.map +0 -1
  934. package/dist/ui/transcript-viewport-pinning.test.js +0 -148
  935. package/dist/ui/transcript-viewport-pinning.test.js.map +0 -1
  936. package/dist/ui/tui-history-parity.test.d.ts +0 -2
  937. package/dist/ui/tui-history-parity.test.d.ts.map +0 -1
  938. package/dist/ui/tui-history-parity.test.js +0 -369
  939. package/dist/ui/tui-history-parity.test.js.map +0 -1
  940. package/dist/ui/tui-simulation.test.d.ts +0 -2
  941. package/dist/ui/tui-simulation.test.d.ts.map +0 -1
  942. package/dist/ui/tui-simulation.test.js +0 -145
  943. package/dist/ui/tui-simulation.test.js.map +0 -1
  944. package/dist/ui/tui-terminal-recorder.test.d.ts +0 -2
  945. package/dist/ui/tui-terminal-recorder.test.d.ts.map +0 -1
  946. package/dist/ui/tui-terminal-recorder.test.js +0 -134
  947. package/dist/ui/tui-terminal-recorder.test.js.map +0 -1
  948. package/dist/ui/utils/assistant-stream-split.test.d.ts +0 -2
  949. package/dist/ui/utils/assistant-stream-split.test.d.ts.map +0 -1
  950. package/dist/ui/utils/assistant-stream-split.test.js +0 -74
  951. package/dist/ui/utils/assistant-stream-split.test.js.map +0 -1
  952. package/dist/ui/utils/markdown-renderer.test.d.ts +0 -2
  953. package/dist/ui/utils/markdown-renderer.test.d.ts.map +0 -1
  954. package/dist/ui/utils/markdown-renderer.test.js +0 -63
  955. package/dist/ui/utils/markdown-renderer.test.js.map +0 -1
  956. package/dist/ui/utils/table-text.test.d.ts +0 -2
  957. package/dist/ui/utils/table-text.test.d.ts.map +0 -1
  958. package/dist/ui/utils/table-text.test.js +0 -202
  959. package/dist/ui/utils/table-text.test.js.map +0 -1
  960. package/dist/ui/utils/terminal-graphics.test.d.ts +0 -2
  961. package/dist/ui/utils/terminal-graphics.test.d.ts.map +0 -1
  962. package/dist/ui/utils/terminal-graphics.test.js +0 -100
  963. package/dist/ui/utils/terminal-graphics.test.js.map +0 -1
  964. package/dist/ui/utils/terminal-input.test.d.ts +0 -2
  965. package/dist/ui/utils/terminal-input.test.d.ts.map +0 -1
  966. package/dist/ui/utils/terminal-input.test.js +0 -15
  967. package/dist/ui/utils/terminal-input.test.js.map +0 -1
  968. package/dist/utils/git.test.d.ts +0 -2
  969. package/dist/utils/git.test.d.ts.map +0 -1
  970. package/dist/utils/git.test.js +0 -36
  971. package/dist/utils/git.test.js.map +0 -1
  972. package/dist/utils/github.test.d.ts +0 -2
  973. package/dist/utils/github.test.d.ts.map +0 -1
  974. package/dist/utils/github.test.js +0 -23
  975. package/dist/utils/github.test.js.map +0 -1
  976. package/dist/utils/http-body.test.d.ts +0 -2
  977. package/dist/utils/http-body.test.d.ts.map +0 -1
  978. package/dist/utils/http-body.test.js +0 -68
  979. package/dist/utils/http-body.test.js.map +0 -1
  980. package/dist/utils/image.test.d.ts +0 -2
  981. package/dist/utils/image.test.d.ts.map +0 -1
  982. package/dist/utils/image.test.js +0 -139
  983. package/dist/utils/image.test.js.map +0 -1
  984. package/dist/utils/plan-steps.test.d.ts +0 -2
  985. package/dist/utils/plan-steps.test.d.ts.map +0 -1
  986. package/dist/utils/plan-steps.test.js +0 -159
  987. package/dist/utils/plan-steps.test.js.map +0 -1
  988. package/dist/utils/process.test.d.ts +0 -2
  989. package/dist/utils/process.test.d.ts.map +0 -1
  990. package/dist/utils/process.test.js +0 -42
  991. package/dist/utils/process.test.js.map +0 -1
@@ -1,160 +0,0 @@
1
- import { describe, expect, it, vi } from "vitest";
2
- import { DEFAULT_EXIT_TIMEOUT_MS, EXIT_TIMEOUT_ENV, exitCodeForSignal, installTerminationHandlers, resolveExitTimeoutMs, shutdownWithDeadline, } from "./shutdown.js";
3
- /** Stands in for `process.exit`: records the code and stops execution the way
4
- * the real thing does, so code after it never runs in the test either. */
5
- function fakeExit() {
6
- const codes = [];
7
- return {
8
- codes,
9
- exit: ((code) => {
10
- codes.push(code);
11
- throw new ExitSignal(code);
12
- }),
13
- };
14
- }
15
- class ExitSignal extends Error {
16
- code;
17
- constructor(code) {
18
- super(`exit ${code}`);
19
- this.code = code;
20
- }
21
- }
22
- async function swallowExit(promise) {
23
- await promise.catch((error) => {
24
- if (!(error instanceof ExitSignal))
25
- throw error;
26
- });
27
- }
28
- describe("resolveExitTimeoutMs", () => {
29
- it("defaults when unset", () => {
30
- expect(resolveExitTimeoutMs({})).toBe(DEFAULT_EXIT_TIMEOUT_MS);
31
- });
32
- it("reads seconds from the environment", () => {
33
- expect(resolveExitTimeoutMs({ [EXIT_TIMEOUT_ENV]: "2" })).toBe(2000);
34
- expect(resolveExitTimeoutMs({ [EXIT_TIMEOUT_ENV]: "0.5" })).toBe(500);
35
- });
36
- it("treats an explicit zero as 'no deadline'", () => {
37
- expect(resolveExitTimeoutMs({ [EXIT_TIMEOUT_ENV]: "0" })).toBe(0);
38
- });
39
- it("falls back to the default on garbage rather than disabling the guard", () => {
40
- // A typo in a launcher script must not reintroduce an unbounded hang.
41
- expect(resolveExitTimeoutMs({ [EXIT_TIMEOUT_ENV]: "soon" })).toBe(DEFAULT_EXIT_TIMEOUT_MS);
42
- expect(resolveExitTimeoutMs({ [EXIT_TIMEOUT_ENV]: "-3" })).toBe(DEFAULT_EXIT_TIMEOUT_MS);
43
- expect(resolveExitTimeoutMs({ [EXIT_TIMEOUT_ENV]: "" })).toBe(DEFAULT_EXIT_TIMEOUT_MS);
44
- });
45
- it("clamps absurd overrides", () => {
46
- expect(resolveExitTimeoutMs({ [EXIT_TIMEOUT_ENV]: "99999" })).toBe(120_000);
47
- });
48
- });
49
- describe("exitCodeForSignal", () => {
50
- it("uses the conventional 128 + signal number", () => {
51
- expect(exitCodeForSignal("SIGHUP")).toBe(129);
52
- expect(exitCodeForSignal("SIGINT")).toBe(130);
53
- expect(exitCodeForSignal("SIGTERM")).toBe(143);
54
- });
55
- });
56
- describe("shutdownWithDeadline", () => {
57
- it("exits as soon as teardown finishes", async () => {
58
- const { codes, exit } = fakeExit();
59
- await swallowExit(shutdownWithDeadline(0, { teardown: async () => { }, timeoutMs: 10_000, exit }));
60
- expect(codes).toEqual([0]);
61
- });
62
- it("exits on the deadline when teardown never settles", async () => {
63
- vi.useFakeTimers();
64
- try {
65
- const { codes, exit } = fakeExit();
66
- const onTimeout = vi.fn();
67
- // A hung MCP server: the promise simply never resolves.
68
- void shutdownWithDeadline(129, {
69
- teardown: () => new Promise(() => { }),
70
- timeoutMs: 2000,
71
- onTimeout,
72
- exit,
73
- }).catch(() => { });
74
- expect(codes).toEqual([]);
75
- vi.advanceTimersByTime(1999);
76
- expect(codes).toEqual([]);
77
- // The fake exit throws from inside the timer callback; the real one just
78
- // never returns.
79
- expect(() => vi.advanceTimersByTime(1)).toThrow(ExitSignal);
80
- expect(codes).toEqual([129]);
81
- expect(onTimeout).toHaveBeenCalledWith(2000);
82
- }
83
- finally {
84
- vi.useRealTimers();
85
- }
86
- });
87
- it("still exits when teardown throws", async () => {
88
- const { codes, exit } = fakeExit();
89
- const onError = vi.fn();
90
- await swallowExit(shutdownWithDeadline(0, {
91
- teardown: () => {
92
- throw new Error("extension deactivate blew up");
93
- },
94
- timeoutMs: 10_000,
95
- onError,
96
- exit,
97
- }));
98
- expect(codes).toEqual([0]);
99
- expect(onError).toHaveBeenCalledOnce();
100
- });
101
- it("does not arm a timer when the deadline is disabled", async () => {
102
- vi.useFakeTimers();
103
- try {
104
- const { codes, exit } = fakeExit();
105
- void shutdownWithDeadline(0, {
106
- teardown: () => new Promise(() => { }),
107
- timeoutMs: 0,
108
- exit,
109
- }).catch(() => { });
110
- vi.advanceTimersByTime(600_000);
111
- expect(codes).toEqual([]);
112
- }
113
- finally {
114
- vi.useRealTimers();
115
- }
116
- });
117
- });
118
- describe("installTerminationHandlers", () => {
119
- it("tears down once no matter how many requests arrive", async () => {
120
- const { codes, exit } = fakeExit();
121
- const teardown = vi.fn(async () => { });
122
- const requestShutdown = installTerminationHandlers({ teardown, timeoutMs: 10_000, exit });
123
- requestShutdown(0);
124
- requestShutdown(0);
125
- await vi.waitFor(() => expect(codes).toEqual([0]));
126
- expect(teardown).toHaveBeenCalledOnce();
127
- removeInstalledHandlers();
128
- });
129
- it("exits immediately on a second signal instead of waiting out the deadline", async () => {
130
- const { codes, exit } = fakeExit();
131
- installTerminationHandlers({
132
- teardown: () => new Promise(() => { }),
133
- timeoutMs: 10_000,
134
- exit,
135
- });
136
- // First Ctrl+C starts bounded teardown; the second says "stop waiting".
137
- expect(() => process.emit("SIGINT")).not.toThrow();
138
- expect(codes).toEqual([]);
139
- expect(() => process.emit("SIGINT")).toThrow(ExitSignal);
140
- expect(codes).toEqual([130]);
141
- removeInstalledHandlers();
142
- });
143
- it("handles SIGHUP, the signal a closed terminal sends exactly once", () => {
144
- const { codes, exit } = fakeExit();
145
- const teardown = vi.fn(() => new Promise(() => { }));
146
- installTerminationHandlers({ teardown, timeoutMs: 10_000, exit });
147
- process.emit("SIGHUP");
148
- expect(teardown).toHaveBeenCalledOnce();
149
- expect(codes).toEqual([]);
150
- removeInstalledHandlers();
151
- });
152
- });
153
- /** Signal listeners are process-global; leaving them installed leaks across
154
- * tests and eventually trips Node's max-listeners warning. */
155
- function removeInstalledHandlers() {
156
- process.removeAllListeners("SIGINT");
157
- process.removeAllListeners("SIGTERM");
158
- process.removeAllListeners("SIGHUP");
159
- }
160
- //# sourceMappingURL=shutdown.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shutdown.test.js","sourceRoot":"","sources":["../../src/core/shutdown.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sidecar-error-reporter.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidecar-error-reporter.test.d.ts","sourceRoot":"","sources":["../../src/core/sidecar-error-reporter.test.ts"],"names":[],"mappings":""}
@@ -1,61 +0,0 @@
1
- import { afterEach, describe, expect, it, vi } from "vitest";
2
- import { captureSidecarError, flushSidecarErrors, shouldCaptureToolFailure, shouldCaptureUsagePollingError, wrapSidecarHandler, } from "./sidecar-error-reporter.js";
3
- const trackedGlobal = globalThis;
4
- const originalArgv = [...process.argv];
5
- afterEach(() => {
6
- delete trackedGlobal.__GG_ERROR_MOM__;
7
- process.argv.splice(0, process.argv.length, ...originalArgv);
8
- });
9
- function installReporter() {
10
- const reporter = {
11
- captureError: vi.fn(() => "event-1"),
12
- wrap: vi.fn((fn) => fn),
13
- flush: vi.fn(async () => { }),
14
- };
15
- trackedGlobal.__GG_ERROR_MOM__ = reporter;
16
- return reporter;
17
- }
18
- describe("sidecar error reporter bridge", () => {
19
- it("adds process and caller tags to captured worker errors", () => {
20
- const reporter = installReporter();
21
- process.argv.push("--subagent-worker");
22
- const error = new Error("provider failed");
23
- captureSidecarError(error, "subagent-worker.turn", { provider: "anthropic" });
24
- expect(reporter.captureError).toHaveBeenCalledWith(error, {
25
- culprit: "subagent-worker.turn",
26
- tags: { process: "subagent-worker", provider: "anthropic" },
27
- });
28
- });
29
- it("wraps framework handlers and flushes through the installed SDK", async () => {
30
- const reporter = installReporter();
31
- const handler = vi.fn(() => "ok");
32
- expect(wrapSidecarHandler(handler, "app-sidecar.http")()).toBe("ok");
33
- await flushSidecarErrors();
34
- expect(reporter.wrap).toHaveBeenCalledWith(handler, {
35
- culprit: "app-sidecar.http",
36
- tags: { process: "app-sidecar" },
37
- });
38
- expect(reporter.flush).toHaveBeenCalledOnce();
39
- });
40
- it("filters expected usage rate limits without hiding other usage failures", () => {
41
- expect(shouldCaptureUsagePollingError({ status: 429 })).toBe(false);
42
- expect(shouldCaptureUsagePollingError({ status: "429" })).toBe(false);
43
- expect(shouldCaptureUsagePollingError({ status: 500 })).toBe(true);
44
- expect(shouldCaptureUsagePollingError(new Error("network failed"))).toBe(true);
45
- });
46
- it.each([
47
- ["edit", "File must be read first before editing. Use the read tool first."],
48
- ["write", "File has been modified since it was read. Re-read the file before editing."],
49
- ["write", "Existing files must be read first before overwriting. Use the read tool first."],
50
- ["edit", "old_text not found in example.ts. Text must match verbatim."],
51
- ["edit", "old_text found 2 times in example.ts. Include more surrounding context."],
52
- ["edit", "the file changed since you read it (anchor mismatch)"],
53
- ])("filters expected %s validation failures", (toolName, result) => {
54
- expect(shouldCaptureToolFailure(toolName, result)).toBe(false);
55
- });
56
- it("keeps unexpected tool failures reportable", () => {
57
- expect(shouldCaptureToolFailure("edit", "EACCES: permission denied")).toBe(true);
58
- expect(shouldCaptureToolFailure("bash", "Command exited with code 1")).toBe(true);
59
- });
60
- });
61
- //# sourceMappingURL=sidecar-error-reporter.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidecar-error-reporter.test.js","sourceRoot":"","sources":["../../src/core/sidecar-error-reporter.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=skills-routing.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills-routing.test.d.ts","sourceRoot":"","sources":["../../src/core/skills-routing.test.ts"],"names":[],"mappings":""}
@@ -1,310 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import fs from "node:fs/promises";
3
- import os from "node:os";
4
- import path from "node:path";
5
- import { discoverSkills, formatSkillsForPrompt } from "./skills.js";
6
- import { createSkillTool } from "../tools/skill.js";
7
- import { resolveContextLimits } from "./context-limits.js";
8
- const skill = {
9
- name: "evidence-led-ui",
10
- description: "Use for UI work. Exclude backend-only tasks.",
11
- content: "Inspect before inventing.",
12
- source: "global",
13
- root: "/skills/evidence-led-ui",
14
- };
15
- describe("skill routing prompts", () => {
16
- it("requires matching skills before decisions or edits", () => {
17
- const prompt = formatSkillsForPrompt([skill]);
18
- expect(prompt).toContain("compare the user's request with every skill description");
19
- expect(prompt).toContain("before making decisions or edits");
20
- expect(prompt).toContain("Respect explicit exclusions");
21
- expect(prompt).toContain("do not override project or file/module rules");
22
- expect(prompt).toContain("evidence-led-ui");
23
- });
24
- it("places the same routing rule in the skill tool description", () => {
25
- const tool = createSkillTool([skill]);
26
- expect(tool.description).toContain("Before acting");
27
- expect(tool.description).toContain("matches its scope");
28
- expect(tool.description).toContain("respect explicit exclusions");
29
- });
30
- it("counterbalances invocation pressure in both routing surfaces", () => {
31
- // Every pro-invocation instruction needs a brake, or topic overlap alone
32
- // pulls a skill in and burns context on work it would not change. The
33
- // brake lives here rather than in each skill's description, so it also
34
- // covers third-party skills written to maximize their own invocation.
35
- const prompt = formatSkillsForPrompt([skill]);
36
- expect(prompt).toContain("Match the work, not the topic");
37
- expect(prompt).toContain("Skip the skill when the task is routine");
38
- expect(prompt).toContain("Invoke at most one skill");
39
- expect(prompt).toContain("do not re-invoke a skill");
40
- const tool = createSkillTool([skill]);
41
- expect(tool.description).toContain("Match the work rather than the topic");
42
- expect(tool.description).toContain("skip it for routine or narrow changes");
43
- expect(tool.description).toContain("do not re-invoke a skill already loaded");
44
- });
45
- it("gives every bundled skill an explicit exclusion clause", async () => {
46
- const root = await fs.mkdtemp(path.join(os.tmpdir(), "bundled-skills-"));
47
- try {
48
- const skills = await discoverSkills({ globalSkillsDir: path.join(root, "global") });
49
- const bundled = skills.filter((candidate) => candidate.source === "bundled");
50
- expect(bundled.length).toBeGreaterThan(0);
51
- for (const candidate of bundled) {
52
- // A description that only says when to fire has no off switch, and the
53
- // model resolves ambiguity by invoking.
54
- expect(candidate.description, `${candidate.name} lacks an exclusion`).toMatch(/Do NOT use|Exclude|excluding/i);
55
- }
56
- }
57
- finally {
58
- await fs.rm(root, { recursive: true, force: true });
59
- }
60
- });
61
- it("keeps loaded skill instructions below project and file/module rules", async () => {
62
- const tool = createSkillTool([skill]);
63
- const result = await tool.execute({ skill: skill.name }, { signal: new AbortController().signal, toolCallId: "test" });
64
- expect(result).toContain("Skill root directory: /skills/evidence-led-ui");
65
- expect(result).toContain("authoritative within their stated scope");
66
- expect(result).toContain("Preserve higher-priority project and file/module rules");
67
- });
68
- it("discovers evidence-led-ui for a fresh user from bundled assets", async () => {
69
- const root = await fs.mkdtemp(path.join(os.tmpdir(), "bundled-skills-"));
70
- try {
71
- const skills = await discoverSkills({ globalSkillsDir: path.join(root, "global") });
72
- const evidenceSkill = skills.find((candidate) => candidate.name === "evidence-led-ui");
73
- expect(evidenceSkill?.source).toBe("bundled");
74
- // `root` is a real filesystem path and uses the platform separator, so
75
- // build the expected fragment the same way instead of hardcoding "/".
76
- expect(evidenceSkill?.root).toContain(path.join("assets", "skills", "evidence-led-ui"));
77
- expect(evidenceSkill?.content).toContain("# Evidence-Led UI");
78
- }
79
- finally {
80
- await fs.rm(root, { recursive: true, force: true });
81
- }
82
- });
83
- it("discovers compliance-guard for a fresh user from bundled assets", async () => {
84
- const root = await fs.mkdtemp(path.join(os.tmpdir(), "bundled-skills-"));
85
- try {
86
- const skills = await discoverSkills({ globalSkillsDir: path.join(root, "global") });
87
- const complianceSkill = skills.find((candidate) => candidate.name === "compliance-guard");
88
- expect(complianceSkill?.source).toBe("bundled");
89
- expect(complianceSkill?.root).toContain(path.join("assets", "skills", "compliance-guard"));
90
- expect(complianceSkill?.content).toContain("# Compliance Guard");
91
- // The skill must never present itself as legal advice or certification.
92
- expect(complianceSkill?.content).toContain("Never certify");
93
- // A beginner will half-answer or ignore the intake questions, so the
94
- // defaults ARE the analysis. Promising defaults without stating them
95
- // lets the model invent a quieter reading than the user deserves.
96
- expect(complianceSkill?.content).toContain("Default if unanswered");
97
- expect(complianceSkill?.content).toContain("the cautious reading");
98
- // Findings a novice cannot act on produce no fixes.
99
- expect(complianceSkill?.content).toContain("never read a statute");
100
- // Reading code shows intent; running it shows what ships. A review that
101
- // asserts from grep alone misses runtime-injected tags entirely, and a
102
- // fix reported without verification is worse than the original finding.
103
- // Two-state "observed/inferred" was read as visible-in-code vs deduced,
104
- // not ran vs read, so a static review reported itself as verified.
105
- expect(complianceSkill?.content).toContain("RUNTIME");
106
- expect(complianceSkill?.content).toContain("DEDUCED");
107
- expect(complianceSkill?.content).toContain("Never relabel upward");
108
- expect(complianceSkill?.content).toContain("Never report a fix you did not verify");
109
- // Narrative review silently drops the boring blockers; the sweep is what
110
- // turns "did I notice it" into "did I check it".
111
- expect(complianceSkill?.content).toContain("coverage ledger");
112
- // An item never written down is an item never checked: evaluation showed
113
- // blockers 1 and 2 dropped while dramatic findings were reported.
114
- expect(complianceSkill?.content).toContain("one row per numbered item");
115
- // Audience and product claims live in prose, not in the schema.
116
- expect(complianceSkill?.content).toContain("Read the prose, not only the code");
117
- // Held-out evaluation: the code sweep reliably missed obligations that
118
- // arise from the product model or from two facts combined, and it
119
- // downgraded unlicensed-activity gates to BLOCKER.
120
- expect(complianceSkill?.content).toContain("second pass on the product model");
121
- expect(complianceSkill?.content).toContain("Severity rule for licensed activities");
122
- // Held-out evaluation: the review named the first instantiation of a duty
123
- // it thought of (DMCA, auto-renewal) and never reached the EU equivalent
124
- // (DSA, withdrawal rights) for an EU-established company.
125
- expect(complianceSkill?.content).toContain("Name every jurisdiction's version");
126
- // Mandatory coverage lived only in the ledger, so a findings-only output
127
- // format silently dropped it. Coverage must belong to the findings.
128
- expect(complianceSkill?.content).toContain("coverage survives the output format");
129
- // A prohibition reported as a disclosure duty authorises the banned
130
- // feature; and leading with the wrong jurisdiction sends the user to the
131
- // wrong kind of lawyer. Both were observed in evaluation runs.
132
- expect(complianceSkill?.content).toContain("Check for an outright ban");
133
- expect(complianceSkill?.content).toContain("Lead with the jurisdiction");
134
- // A point-in-time register rots; a failing test does not.
135
- expect(complianceSkill?.content).toContain("leave the check behind");
136
- // Every referenced file must exist, since the skill routes the model to them by path.
137
- const referenced = [...complianceSkill.content.matchAll(/`(references\/[\w.-]+\.md)`/g)].map((match) => match[1]);
138
- expect(referenced.length).toBeGreaterThan(0);
139
- const skillRoot = complianceSkill?.root ?? "";
140
- for (const relative of new Set(referenced)) {
141
- await expect(fs.access(path.join(skillRoot, ...relative.split("/")))).resolves.toBeUndefined();
142
- }
143
- }
144
- finally {
145
- await fs.rm(root, { recursive: true, force: true });
146
- }
147
- });
148
- it("discovers bulletproof for a fresh user from bundled assets", async () => {
149
- const root = await fs.mkdtemp(path.join(os.tmpdir(), "bundled-skills-"));
150
- try {
151
- const skills = await discoverSkills({ globalSkillsDir: path.join(root, "global") });
152
- const bulletproof = skills.find((candidate) => candidate.name === "bulletproof");
153
- expect(bulletproof?.source).toBe("bundled");
154
- expect(bulletproof?.root).toContain(path.join("assets", "skills", "bulletproof"));
155
- expect(bulletproof?.content).toContain("# Bulletproof");
156
- // Security work is worthless if the model declares victory: absence of
157
- // findings is not evidence of safety, and users read "hardened" as a
158
- // guarantee.
159
- expect(bulletproof?.content).toContain("Never certify");
160
- // The skill ships defensive guidance. A model that writes exploits to
161
- // "prove" a finding has produced attack tooling on the user's machine.
162
- expect(bulletproof?.content).toContain("Defensive output only");
163
- expect(bulletproof?.content).toContain("Hard stops");
164
- // Most users never ask for a security review, so the value is in the
165
- // inline path writing the safe version during normal feature work.
166
- expect(bulletproof?.content).toContain("Inline gate");
167
- expect(bulletproof?.content).toContain("Write the safe version the first time");
168
- // A grep-driven checklist produces noise; reachability is what separates
169
- // a finding from a pattern match.
170
- expect(bulletproof?.content).toContain("Reachability decides everything");
171
- // The intake must work for someone who cannot answer security questions.
172
- expect(bulletproof?.content).toContain("Default if unanswered");
173
- // Claiming a fix was verified when it was only read is the failure mode
174
- // that makes a security report actively harmful.
175
- expect(bulletproof?.content).toContain("RUNTIME");
176
- expect(bulletproof?.content).toContain("DEDUCED");
177
- // Silent scope gaps read as full coverage.
178
- expect(bulletproof?.content).toContain("what was not checked");
179
- // Threat data decays faster than anything else in the bundle; the model
180
- // must not assert a stale CVE or version as current.
181
- expect(bulletproof?.content).toContain("Date-check before asserting");
182
- // Every referenced file must exist, since the skill routes the model to them by path.
183
- const referenced = [...bulletproof.content.matchAll(/`(references\/[\w.-]+\.md)`/g)].map((match) => match[1]);
184
- expect(referenced.length).toBeGreaterThan(0);
185
- const skillRoot = bulletproof?.root ?? "";
186
- for (const relative of new Set(referenced)) {
187
- await expect(fs.access(path.join(skillRoot, ...relative.split("/")))).resolves.toBeUndefined();
188
- }
189
- }
190
- finally {
191
- await fs.rm(root, { recursive: true, force: true });
192
- }
193
- });
194
- it("discovers the workflow skills for a fresh user from bundled assets", async () => {
195
- const root = await fs.mkdtemp(path.join(os.tmpdir(), "bundled-skills-"));
196
- try {
197
- const skills = await discoverSkills({ globalSkillsDir: path.join(root, "global") });
198
- // Each bundled workflow skill carries the one discipline marker that
199
- // makes it work — a skill that loses its marker has become prose.
200
- const expectations = [
201
- // Interviews must not outsource homework to the user.
202
- { name: "clarify", markers: ["Never ask for facts", "Ask only the frontier"] },
203
- // Seams are agreed before tests exist; expected values never recompute
204
- // the implementation's logic.
205
- { name: "tdd", markers: ["No test at an unagreed seam", "outside source of truth"] },
206
- // Theory is gated behind a red, deterministic, fast repro command;
207
- // a "why" question must end at the answer, not a fix the user never
208
- // asked for (skills outrank the prompt, so the guard lives here too).
209
- {
210
- name: "root-cause",
211
- markers: [
212
- "No red command, no Phase 2",
213
- "One variable",
214
- "change code only when the user asks for the fix",
215
- // Suiteless projects: a mandated regression test would contradict
216
- // the prompt's "no suite unless asked" rule.
217
- "never introduce a suite unasked",
218
- ],
219
- },
220
- // The glossary stays a glossary; ADRs are superseded, never edited.
221
- // CONTEXT.md is not in CONTEXT_FILES, so the glossary only pays off
222
- // across sessions via the pointer line the skill plants.
223
- {
224
- name: "shared-language",
225
- markers: [
226
- "glossary and nothing else",
227
- "supersede, never edit",
228
- "CONTEXT.md is not auto-loaded",
229
- ],
230
- },
231
- // Spec and standards findings stay unlabeled-merge-proof; security
232
- // defers to bulletproof instead of duplicating its lane.
233
- { name: "code-review", markers: ["never merge the lists", "bulletproof"] },
234
- ];
235
- for (const { name, markers } of expectations) {
236
- const skill = skills.find((candidate) => candidate.name === name);
237
- expect(skill?.source, name).toBe("bundled");
238
- expect(skill?.root, name).toContain(path.join("assets", "skills", name));
239
- for (const marker of markers) {
240
- expect(skill?.content, `${name}: ${marker}`).toContain(marker);
241
- }
242
- }
243
- }
244
- finally {
245
- await fs.rm(root, { recursive: true, force: true });
246
- }
247
- });
248
- it("lets project skills override global and bundled definitions by name", async () => {
249
- const root = await fs.mkdtemp(path.join(os.tmpdir(), "skill-precedence-"));
250
- const globalSkillsDir = path.join(root, "global");
251
- const projectDir = path.join(root, "project");
252
- const projectSkillsDir = path.join(projectDir, ".gg", "skills");
253
- try {
254
- await fs.mkdir(globalSkillsDir, { recursive: true });
255
- await fs.mkdir(projectSkillsDir, { recursive: true });
256
- await fs.writeFile(path.join(globalSkillsDir, "evidence.md"), "---\nname: evidence-led-ui\ndescription: global\n---\nGlobal guidance.");
257
- await fs.writeFile(path.join(projectSkillsDir, "evidence.md"), "---\nname: evidence-led-ui\ndescription: project\n---\nProject guidance.");
258
- const skills = await discoverSkills({ globalSkillsDir, projectDir });
259
- const matching = skills.filter((candidate) => candidate.name === "evidence-led-ui");
260
- expect(matching).toHaveLength(1);
261
- expect(matching[0]?.source).toBe("project");
262
- expect(matching[0]?.content).toBe("Project guidance.");
263
- }
264
- finally {
265
- await fs.rm(root, { recursive: true, force: true });
266
- }
267
- });
268
- });
269
- describe("skill catalog byte budgets", () => {
270
- it("clamps an over-long description to the budget on a codepoint boundary", () => {
271
- const bloated = {
272
- ...skill,
273
- description: `Use for UI work. ${"😀".repeat(600)}`, // ~2.4KB, multibyte
274
- };
275
- const prompt = formatSkillsForPrompt([bloated]);
276
- expect(Buffer.byteLength(prompt, "utf8")).toBeLessThan(2000);
277
- expect(prompt).toContain("evidence-led-ui");
278
- expect(prompt).toContain("\u2026");
279
- expect(prompt).not.toContain("\ufffd");
280
- });
281
- it("drops overflow skills and names them in the section", () => {
282
- const many = Array.from({ length: 60 }, (_, i) => ({
283
- ...skill,
284
- name: `skill-${i}`,
285
- description: "x".repeat(500), // 60 × ~520B > 16KB catalog budget
286
- }));
287
- const prompt = formatSkillsForPrompt(many);
288
- expect(prompt).toContain("Skills omitted (catalog byte budget)");
289
- expect(prompt).toContain("skill-59");
290
- // Kept prefix skills still listed.
291
- expect(prompt).toContain("skill-0");
292
- expect(Buffer.byteLength(prompt, "utf8")).toBeLessThan(20 * 1024);
293
- });
294
- it("applies the same budget to the skill tool description", () => {
295
- const many = Array.from({ length: 60 }, (_, i) => ({
296
- ...skill,
297
- name: `skill-${i}`,
298
- description: "x".repeat(500),
299
- }));
300
- const tool = createSkillTool(many);
301
- expect(tool.description).toContain("Skills omitted (catalog byte budget)");
302
- expect(Buffer.byteLength(tool.description, "utf8")).toBeLessThan(20 * 1024);
303
- });
304
- it("honors raised limits", () => {
305
- const bloated = { ...skill, description: "x".repeat(2048) };
306
- const prompt = formatSkillsForPrompt([bloated], resolveContextLimits({ skillDescriptionBytes: 4096 }));
307
- expect(prompt).toContain("x".repeat(2048));
308
- });
309
- });
310
- //# sourceMappingURL=skills-routing.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills-routing.test.js","sourceRoot":"","sources":["../../src/core/skills-routing.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=slash-commands.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slash-commands.test.d.ts","sourceRoot":"","sources":["../../src/core/slash-commands.test.ts"],"names":[],"mappings":""}