prompsit-cli 26.225.1206 → 26.227.2006

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 (361) hide show
  1. package/README.md +10 -4
  2. package/dist/api/auth-session.d.ts +11 -11
  3. package/dist/api/auth-session.d.ts.map +1 -1
  4. package/dist/api/auth-session.js +21 -17
  5. package/dist/api/auth-session.js.map +1 -1
  6. package/dist/api/client.d.ts +4 -4
  7. package/dist/api/client.d.ts.map +1 -1
  8. package/dist/api/client.js +8 -8
  9. package/dist/api/client.js.map +1 -1
  10. package/dist/api/curl.d.ts +30 -0
  11. package/dist/api/curl.d.ts.map +1 -0
  12. package/dist/api/curl.js +115 -0
  13. package/dist/api/curl.js.map +1 -0
  14. package/dist/api/errors.d.ts +2 -3
  15. package/dist/api/errors.d.ts.map +1 -1
  16. package/dist/api/errors.js +4 -2
  17. package/dist/api/errors.js.map +1 -1
  18. package/dist/api/http-utils.d.ts +5 -0
  19. package/dist/api/http-utils.d.ts.map +1 -0
  20. package/dist/api/http-utils.js +19 -0
  21. package/dist/api/http-utils.js.map +1 -0
  22. package/dist/api/models.d.ts +135 -89
  23. package/dist/api/models.d.ts.map +1 -1
  24. package/dist/api/models.js +62 -72
  25. package/dist/api/models.js.map +1 -1
  26. package/dist/api/resources/data.d.ts +3 -5
  27. package/dist/api/resources/data.d.ts.map +1 -1
  28. package/dist/api/resources/data.js +11 -12
  29. package/dist/api/resources/data.js.map +1 -1
  30. package/dist/api/resources/discovery.d.ts +26 -0
  31. package/dist/api/resources/discovery.d.ts.map +1 -0
  32. package/dist/api/resources/discovery.js +46 -0
  33. package/dist/api/resources/discovery.js.map +1 -0
  34. package/dist/api/resources/evaluation.d.ts +9 -12
  35. package/dist/api/resources/evaluation.d.ts.map +1 -1
  36. package/dist/api/resources/evaluation.js +45 -20
  37. package/dist/api/resources/evaluation.js.map +1 -1
  38. package/dist/api/resources/formats.d.ts +1 -1
  39. package/dist/api/resources/formats.js +2 -2
  40. package/dist/api/resources/formats.js.map +1 -1
  41. package/dist/api/resources/jobs.d.ts +7 -8
  42. package/dist/api/resources/jobs.d.ts.map +1 -1
  43. package/dist/api/resources/jobs.js +10 -49
  44. package/dist/api/resources/jobs.js.map +1 -1
  45. package/dist/api/resources/languages.d.ts +25 -0
  46. package/dist/api/resources/languages.d.ts.map +1 -0
  47. package/dist/api/resources/languages.js +44 -0
  48. package/dist/api/resources/languages.js.map +1 -0
  49. package/dist/api/resources/translation.d.ts +8 -16
  50. package/dist/api/resources/translation.d.ts.map +1 -1
  51. package/dist/api/resources/translation.js +11 -15
  52. package/dist/api/resources/translation.js.map +1 -1
  53. package/dist/api/sse-client.d.ts +10 -16
  54. package/dist/api/sse-client.d.ts.map +1 -1
  55. package/dist/api/sse-client.js +158 -197
  56. package/dist/api/sse-client.js.map +1 -1
  57. package/dist/api/sse-models.js +1 -1
  58. package/dist/api/sse-models.js.map +1 -1
  59. package/dist/api/trace.js +1 -1
  60. package/dist/api/trace.js.map +1 -1
  61. package/dist/api/transport.d.ts +28 -1
  62. package/dist/api/transport.d.ts.map +1 -1
  63. package/dist/api/transport.js +89 -17
  64. package/dist/api/transport.js.map +1 -1
  65. package/dist/cli/arg-order.d.ts +2 -0
  66. package/dist/cli/arg-order.d.ts.map +1 -1
  67. package/dist/cli/arg-order.js +2 -0
  68. package/dist/cli/arg-order.js.map +1 -1
  69. package/dist/cli/exit-codes.d.ts +0 -2
  70. package/dist/cli/exit-codes.d.ts.map +1 -1
  71. package/dist/cli/exit-codes.js +0 -2
  72. package/dist/cli/exit-codes.js.map +1 -1
  73. package/dist/cli/exit.d.ts +4 -4
  74. package/dist/cli/exit.d.ts.map +1 -1
  75. package/dist/cli/exit.js +4 -4
  76. package/dist/cli/exit.js.map +1 -1
  77. package/dist/cli/prompts.d.ts +0 -2
  78. package/dist/cli/prompts.d.ts.map +1 -1
  79. package/dist/cli/prompts.js +1 -1
  80. package/dist/cli/prompts.js.map +1 -1
  81. package/dist/commands/auth.d.ts.map +1 -1
  82. package/dist/commands/auth.js +0 -1
  83. package/dist/commands/auth.js.map +1 -1
  84. package/dist/commands/batch-processor.d.ts +38 -0
  85. package/dist/commands/batch-processor.d.ts.map +1 -0
  86. package/dist/commands/batch-processor.js +73 -0
  87. package/dist/commands/batch-processor.js.map +1 -0
  88. package/dist/commands/config/api-url.d.ts.map +1 -1
  89. package/dist/commands/config/api-url.js +4 -1
  90. package/dist/commands/config/api-url.js.map +1 -1
  91. package/dist/commands/config/command.d.ts.map +1 -1
  92. package/dist/commands/config/command.js +3 -2
  93. package/dist/commands/config/command.js.map +1 -1
  94. package/dist/commands/config/language.d.ts.map +1 -1
  95. package/dist/commands/config/language.js.map +1 -1
  96. package/dist/commands/config/reset.d.ts.map +1 -1
  97. package/dist/commands/config/reset.js.map +1 -1
  98. package/dist/commands/config/shared.js +3 -3
  99. package/dist/commands/config/shared.js.map +1 -1
  100. package/dist/commands/config/show.d.ts.map +1 -1
  101. package/dist/commands/config/show.js +0 -13
  102. package/dist/commands/config/show.js.map +1 -1
  103. package/dist/commands/data.d.ts.map +1 -1
  104. package/dist/commands/data.js +241 -68
  105. package/dist/commands/data.js.map +1 -1
  106. package/dist/commands/evaluate.d.ts.map +1 -1
  107. package/dist/commands/evaluate.js +111 -29
  108. package/dist/commands/evaluate.js.map +1 -1
  109. package/dist/commands/formats.d.ts +1 -1
  110. package/dist/commands/formats.d.ts.map +1 -1
  111. package/dist/commands/formats.js +5 -12
  112. package/dist/commands/formats.js.map +1 -1
  113. package/dist/commands/health.d.ts +1 -1
  114. package/dist/commands/health.d.ts.map +1 -1
  115. package/dist/commands/health.js +3 -10
  116. package/dist/commands/health.js.map +1 -1
  117. package/dist/commands/job-tracking.d.ts +13 -5
  118. package/dist/commands/job-tracking.d.ts.map +1 -1
  119. package/dist/commands/job-tracking.js +25 -18
  120. package/dist/commands/job-tracking.js.map +1 -1
  121. package/dist/commands/languages.d.ts +12 -0
  122. package/dist/commands/languages.d.ts.map +1 -0
  123. package/dist/commands/languages.js +48 -0
  124. package/dist/commands/languages.js.map +1 -0
  125. package/dist/commands/mappers.d.ts +15 -3
  126. package/dist/commands/mappers.d.ts.map +1 -1
  127. package/dist/commands/mappers.js +38 -18
  128. package/dist/commands/mappers.js.map +1 -1
  129. package/dist/commands/progress-animator.d.ts +2 -1
  130. package/dist/commands/progress-animator.d.ts.map +1 -1
  131. package/dist/commands/progress-animator.js +4 -2
  132. package/dist/commands/progress-animator.js.map +1 -1
  133. package/dist/commands/translate.d.ts.map +1 -1
  134. package/dist/commands/translate.js +149 -87
  135. package/dist/commands/translate.js.map +1 -1
  136. package/dist/config/credentials.d.ts +11 -87
  137. package/dist/config/credentials.d.ts.map +1 -1
  138. package/dist/config/credentials.js +28 -87
  139. package/dist/config/credentials.js.map +1 -1
  140. package/dist/config/env-parser.d.ts.map +1 -1
  141. package/dist/config/env-parser.js +3 -2
  142. package/dist/config/env-parser.js.map +1 -1
  143. package/dist/config/file-utils.js +1 -1
  144. package/dist/config/file-utils.js.map +1 -1
  145. package/dist/config/index.d.ts +4 -7
  146. package/dist/config/index.d.ts.map +1 -1
  147. package/dist/config/index.js +6 -12
  148. package/dist/config/index.js.map +1 -1
  149. package/dist/config/schemas.d.ts +4 -33
  150. package/dist/config/schemas.d.ts.map +1 -1
  151. package/dist/config/schemas.js +14 -19
  152. package/dist/config/schemas.js.map +1 -1
  153. package/dist/config/settings.d.ts +4 -4
  154. package/dist/config/settings.d.ts.map +1 -1
  155. package/dist/config/settings.js +16 -21
  156. package/dist/config/settings.js.map +1 -1
  157. package/dist/config/toml-io.js +1 -1
  158. package/dist/config/toml-io.js.map +1 -1
  159. package/dist/constants.d.ts +10 -9
  160. package/dist/constants.d.ts.map +1 -1
  161. package/dist/constants.js +10 -9
  162. package/dist/constants.js.map +1 -1
  163. package/dist/errors/catalog.d.ts.map +1 -1
  164. package/dist/errors/catalog.js +6 -8
  165. package/dist/errors/catalog.js.map +1 -1
  166. package/dist/errors/contracts.d.ts.map +1 -1
  167. package/dist/errors/contracts.js +2 -3
  168. package/dist/errors/contracts.js.map +1 -1
  169. package/dist/i18n/cache.d.ts +0 -2
  170. package/dist/i18n/cache.d.ts.map +1 -1
  171. package/dist/i18n/cache.js +4 -4
  172. package/dist/i18n/cache.js.map +1 -1
  173. package/dist/i18n/catalog.d.ts +34 -37
  174. package/dist/i18n/catalog.d.ts.map +1 -1
  175. package/dist/i18n/catalog.js +38 -40
  176. package/dist/i18n/catalog.js.map +1 -1
  177. package/dist/i18n/index.d.ts +0 -1
  178. package/dist/i18n/index.d.ts.map +1 -1
  179. package/dist/i18n/index.js +0 -3
  180. package/dist/i18n/index.js.map +1 -1
  181. package/dist/i18n/translator-adapter.js +1 -1
  182. package/dist/i18n/translator-adapter.js.map +1 -1
  183. package/dist/i18n/translator.d.ts.map +1 -1
  184. package/dist/i18n/translator.js +1 -0
  185. package/dist/i18n/translator.js.map +1 -1
  186. package/dist/index.d.ts +1 -2
  187. package/dist/index.d.ts.map +1 -1
  188. package/dist/index.js +2 -3
  189. package/dist/index.js.map +1 -1
  190. package/dist/logging/console-handler.js +1 -1
  191. package/dist/logging/console-handler.js.map +1 -1
  192. package/dist/logging/file-handler.d.ts.map +1 -1
  193. package/dist/logging/file-handler.js +4 -5
  194. package/dist/logging/file-handler.js.map +1 -1
  195. package/dist/logging/index.d.ts +2 -2
  196. package/dist/logging/index.d.ts.map +1 -1
  197. package/dist/logging/index.js +1 -1
  198. package/dist/logging/index.js.map +1 -1
  199. package/dist/logging/logger.d.ts +18 -22
  200. package/dist/logging/logger.d.ts.map +1 -1
  201. package/dist/logging/logger.js +38 -64
  202. package/dist/logging/logger.js.map +1 -1
  203. package/dist/logging/loki-handler.js +1 -1
  204. package/dist/logging/loki-handler.js.map +1 -1
  205. package/dist/logging/setup.d.ts +4 -3
  206. package/dist/logging/setup.d.ts.map +1 -1
  207. package/dist/logging/setup.js +136 -33
  208. package/dist/logging/setup.js.map +1 -1
  209. package/dist/output/ansi-utils.d.ts +13 -0
  210. package/dist/output/ansi-utils.d.ts.map +1 -0
  211. package/dist/output/ansi-utils.js +37 -0
  212. package/dist/output/ansi-utils.js.map +1 -0
  213. package/dist/output/index.d.ts +2 -5
  214. package/dist/output/index.d.ts.map +1 -1
  215. package/dist/output/index.js +3 -2
  216. package/dist/output/index.js.map +1 -1
  217. package/dist/output/output-events.d.ts +0 -1
  218. package/dist/output/output-events.d.ts.map +1 -1
  219. package/dist/output/tables/catalog.d.ts +5 -2
  220. package/dist/output/tables/catalog.d.ts.map +1 -1
  221. package/dist/output/tables/catalog.js +65 -9
  222. package/dist/output/tables/catalog.js.map +1 -1
  223. package/dist/output/tables/evaluation.d.ts.map +1 -1
  224. package/dist/output/tables/evaluation.js +3 -0
  225. package/dist/output/tables/evaluation.js.map +1 -1
  226. package/dist/output/tables/health-status.d.ts.map +1 -1
  227. package/dist/output/tables/health-status.js +11 -7
  228. package/dist/output/tables/health-status.js.map +1 -1
  229. package/dist/output/tables/index.d.ts +3 -3
  230. package/dist/output/tables/index.d.ts.map +1 -1
  231. package/dist/output/tables/index.js +2 -2
  232. package/dist/output/tables/index.js.map +1 -1
  233. package/dist/output/tables/render.d.ts.map +1 -1
  234. package/dist/output/tables/render.js +2 -10
  235. package/dist/output/tables/render.js.map +1 -1
  236. package/dist/output/terminal.d.ts +1 -5
  237. package/dist/output/terminal.d.ts.map +1 -1
  238. package/dist/output/terminal.js +25 -24
  239. package/dist/output/terminal.js.map +1 -1
  240. package/dist/output/view-models.d.ts +28 -2
  241. package/dist/output/view-models.d.ts.map +1 -1
  242. package/dist/program.d.ts.map +1 -1
  243. package/dist/program.js +21 -29
  244. package/dist/program.js.map +1 -1
  245. package/dist/repl/controller.d.ts.map +1 -1
  246. package/dist/repl/controller.js +82 -47
  247. package/dist/repl/controller.js.map +1 -1
  248. package/dist/repl/core/output-bridge.d.ts.map +1 -1
  249. package/dist/repl/core/output-bridge.js +6 -4
  250. package/dist/repl/core/output-bridge.js.map +1 -1
  251. package/dist/repl/core/progress-types.d.ts +1 -1
  252. package/dist/repl/core/progress-types.d.ts.map +1 -1
  253. package/dist/repl/core/progress-types.js +1 -1
  254. package/dist/repl/core/progress-types.js.map +1 -1
  255. package/dist/repl/examples.d.ts +5 -7
  256. package/dist/repl/examples.d.ts.map +1 -1
  257. package/dist/repl/examples.js +27 -14
  258. package/dist/repl/examples.js.map +1 -1
  259. package/dist/repl/executor.d.ts +2 -4
  260. package/dist/repl/executor.d.ts.map +1 -1
  261. package/dist/repl/executor.js +69 -58
  262. package/dist/repl/executor.js.map +1 -1
  263. package/dist/repl/help.d.ts +10 -3
  264. package/dist/repl/help.d.ts.map +1 -1
  265. package/dist/repl/help.js +31 -4
  266. package/dist/repl/help.js.map +1 -1
  267. package/dist/repl/history/command-history.js +5 -5
  268. package/dist/repl/history/command-history.js.map +1 -1
  269. package/dist/repl/history/output-render.d.ts +1 -3
  270. package/dist/repl/history/output-render.d.ts.map +1 -1
  271. package/dist/repl/history/output-render.js +4 -6
  272. package/dist/repl/history/output-render.js.map +1 -1
  273. package/dist/repl/history/output-store.d.ts.map +1 -1
  274. package/dist/repl/history/output-store.js +6 -3
  275. package/dist/repl/history/output-store.js.map +1 -1
  276. package/dist/repl/input/autocomplete-provider.d.ts.map +1 -1
  277. package/dist/repl/input/autocomplete-provider.js +1 -2
  278. package/dist/repl/input/autocomplete-provider.js.map +1 -1
  279. package/dist/repl/input/completer.d.ts +0 -2
  280. package/dist/repl/input/completer.d.ts.map +1 -1
  281. package/dist/repl/input/completer.js +9 -7
  282. package/dist/repl/input/completer.js.map +1 -1
  283. package/dist/repl/input/ghost-text.d.ts +1 -1
  284. package/dist/repl/input/ghost-text.d.ts.map +1 -1
  285. package/dist/repl/input/ghost-text.js +1 -1
  286. package/dist/repl/input/ghost-text.js.map +1 -1
  287. package/dist/repl/input/input-handler.d.ts.map +1 -1
  288. package/dist/repl/input/input-handler.js +21 -15
  289. package/dist/repl/input/input-handler.js.map +1 -1
  290. package/dist/repl/input/keybindings.d.ts +0 -5
  291. package/dist/repl/input/keybindings.d.ts.map +1 -1
  292. package/dist/repl/input/keybindings.js +0 -65
  293. package/dist/repl/input/keybindings.js.map +1 -1
  294. package/dist/repl/loop.d.ts +1 -2
  295. package/dist/repl/loop.d.ts.map +1 -1
  296. package/dist/repl/loop.js +14 -14
  297. package/dist/repl/loop.js.map +1 -1
  298. package/dist/repl/registry.d.ts +28 -20
  299. package/dist/repl/registry.d.ts.map +1 -1
  300. package/dist/repl/registry.js +229 -171
  301. package/dist/repl/registry.js.map +1 -1
  302. package/dist/repl/service.d.ts +1 -10
  303. package/dist/repl/service.d.ts.map +1 -1
  304. package/dist/repl/service.js +15 -26
  305. package/dist/repl/service.js.map +1 -1
  306. package/dist/repl/ui/components/curl-panel.js +4 -4
  307. package/dist/repl/ui/components/curl-panel.js.map +1 -1
  308. package/dist/repl/ui/components/ghost-text-editor.d.ts +4 -0
  309. package/dist/repl/ui/components/ghost-text-editor.d.ts.map +1 -1
  310. package/dist/repl/ui/components/ghost-text-editor.js +17 -6
  311. package/dist/repl/ui/components/ghost-text-editor.js.map +1 -1
  312. package/dist/repl/ui/components/history-component.d.ts.map +1 -1
  313. package/dist/repl/ui/components/history-component.js +7 -69
  314. package/dist/repl/ui/components/history-component.js.map +1 -1
  315. package/dist/repl/ui/components/progress-bar.js.map +1 -1
  316. package/dist/repl/ui/components/status-bar-line.js +1 -1
  317. package/dist/repl/ui/components/status-bar-line.js.map +1 -1
  318. package/dist/repl/ui/data.js +3 -3
  319. package/dist/repl/ui/data.js.map +1 -1
  320. package/dist/repl/ui/hint-state.d.ts +0 -1
  321. package/dist/repl/ui/hint-state.d.ts.map +1 -1
  322. package/dist/repl/ui/hint-state.js +1 -1
  323. package/dist/repl/ui/hint-state.js.map +1 -1
  324. package/dist/repl/ui/selection-utils.d.ts +28 -0
  325. package/dist/repl/ui/selection-utils.d.ts.map +1 -0
  326. package/dist/repl/ui/selection-utils.js +70 -0
  327. package/dist/repl/ui/selection-utils.js.map +1 -0
  328. package/dist/repl/ui/status-bar.d.ts +1 -4
  329. package/dist/repl/ui/status-bar.d.ts.map +1 -1
  330. package/dist/repl/ui/status-bar.js +6 -33
  331. package/dist/repl/ui/status-bar.js.map +1 -1
  332. package/dist/runtime/async-utils.d.ts +16 -0
  333. package/dist/runtime/async-utils.d.ts.map +1 -0
  334. package/dist/runtime/async-utils.js +40 -0
  335. package/dist/runtime/async-utils.js.map +1 -0
  336. package/dist/runtime/clipboard-win32.d.ts.map +1 -1
  337. package/dist/runtime/clipboard-win32.js +2 -1
  338. package/dist/runtime/clipboard-win32.js.map +1 -1
  339. package/dist/runtime/clipboard.d.ts.map +1 -1
  340. package/dist/runtime/clipboard.js +6 -2
  341. package/dist/runtime/clipboard.js.map +1 -1
  342. package/dist/runtime/external-transport.d.ts.map +1 -1
  343. package/dist/runtime/external-transport.js +1 -1
  344. package/dist/runtime/external-transport.js.map +1 -1
  345. package/dist/runtime/file-args.d.ts +38 -0
  346. package/dist/runtime/file-args.d.ts.map +1 -0
  347. package/dist/runtime/file-args.js +133 -0
  348. package/dist/runtime/file-args.js.map +1 -0
  349. package/dist/runtime/platform.d.ts +0 -2
  350. package/dist/runtime/platform.d.ts.map +1 -1
  351. package/dist/runtime/platform.js +0 -6
  352. package/dist/runtime/platform.js.map +1 -1
  353. package/dist/tui/settings-screen.d.ts +1 -13
  354. package/dist/tui/settings-screen.d.ts.map +1 -1
  355. package/dist/tui/settings-screen.js +46 -34
  356. package/dist/tui/settings-screen.js.map +1 -1
  357. package/dist/version.d.ts.map +1 -1
  358. package/dist/version.js +3 -2
  359. package/dist/version.js.map +1 -1
  360. package/examples/sample.tmx +6 -0
  361. package/package.json +18 -7
@@ -1,39 +1,52 @@
1
1
  /**
2
2
  * Bundled example files deployed to ~/.prompsit/examples/.
3
3
  *
4
- * Copies sample files on first REPL launch so users have ready-made
5
- * inputs for translate/evaluate/data commands.
4
+ * Copies sample files on REPL launch. Re-copies when CLI version
5
+ * changes (version marker stored in ~/.prompsit/examples/.version).
6
6
  */
7
- import { existsSync, mkdirSync, copyFileSync } from "node:fs";
7
+ import { existsSync, mkdirSync, copyFileSync, readFileSync, writeFileSync } from "node:fs";
8
8
  import { join, dirname } from "node:path";
9
9
  import { fileURLToPath } from "node:url";
10
10
  import { getConfigDir } from "../config/paths.js";
11
- const EXAMPLE_FILES = ["sample.txt", "sample.tmx", "sample.jsonl", "sample.xliff", "sample.csv"];
12
- /** Return ~/.prompsit/examples/ path. */
13
- export function getExamplesDir() {
11
+ import { getVersion } from "../version.js";
12
+ const EXAMPLE_FILES = [
13
+ "sample.txt",
14
+ "sample.tmx",
15
+ "sample.jsonl",
16
+ "sample.xliff",
17
+ "sample.csv",
18
+ ];
19
+ const VERSION_MARKER = ".version";
20
+ /** @returns Absolute path to ~/.prompsit/examples/ directory. */
21
+ function getExamplesDir() {
14
22
  return join(getConfigDir(), "examples");
15
23
  }
16
24
  /**
17
- * Copy bundled examples to ~/.prompsit/examples/ if missing.
25
+ * Copy bundled examples to ~/.prompsit/examples/.
18
26
  *
19
- * Idempotent: skips files that already exist (user edits preserved).
20
- * Returns the examples directory path.
27
+ * On version mismatch (or first run), overwrites all example files
28
+ * and updates the version marker. Returns the examples directory path.
21
29
  */
22
30
  export function ensureExamples() {
23
31
  const dest = getExamplesDir();
24
32
  mkdirSync(dest, { recursive: true });
33
+ const markerPath = join(dest, VERSION_MARKER);
34
+ const currentVersion = getVersion();
35
+ // Fast path: examples already up-to-date
36
+ if (existsSync(markerPath) && readFileSync(markerPath, "utf8").trim() === currentVersion) {
37
+ return dest;
38
+ }
25
39
  // Resolve bundled examples relative to compiled output
26
40
  const thisDir = dirname(fileURLToPath(import.meta.url));
27
41
  const srcDir = join(thisDir, "../../examples");
28
42
  for (const name of EXAMPLE_FILES) {
43
+ const source = join(srcDir, name);
29
44
  const target = join(dest, name);
30
- if (!existsSync(target)) {
31
- const source = join(srcDir, name);
32
- if (existsSync(source)) {
33
- copyFileSync(source, target);
34
- }
45
+ if (existsSync(source)) {
46
+ copyFileSync(source, target);
35
47
  }
36
48
  }
49
+ writeFileSync(markerPath, currentVersion, "utf8");
37
50
  return dest;
38
51
  }
39
52
  //# sourceMappingURL=examples.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"examples.js","sourceRoot":"","sources":["../../src/repl/examples.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,aAAa,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,CAAU,CAAC;AAE1G,yCAAyC;AACzC,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,UAAU,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAErC,uDAAuD;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAE/C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAClC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"examples.js","sourceRoot":"","sources":["../../src/repl/examples.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,aAAa,GAAG;IACpB,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,cAAc;IACd,YAAY;CACJ,CAAC;AAEX,MAAM,cAAc,GAAG,UAAU,CAAC;AAElC,iEAAiE;AACjE,SAAS,cAAc;IACrB,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,UAAU,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAErC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;IAEpC,yCAAyC;IACzC,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,cAAc,EAAE,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uDAAuD;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAE/C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,15 +1,13 @@
1
1
  import type { ExecuteResult } from "./core/progress-types.ts";
2
- import type { PluginManager } from "./plugins/manager.ts";
3
- /** Wire plugin manager for command dispatch. */
4
- export declare function setPluginManager(pm: PluginManager | null): void;
5
2
  /**
6
3
  * Parse input string into tokens, respecting quotes.
7
4
  * Handles double-quoted strings and escaped characters.
5
+ * @internal Exported for unit tests only.
8
6
  */
9
7
  export declare function parseInput(text: string): string[];
10
8
  /**
11
9
  * Expand leading tilde (~) to user home directory.
12
- * Mirrors Python os.path.expanduser() for REPL args.
10
+ * @internal Exported for unit tests only.
13
11
  */
14
12
  export declare function expandTilde(arg: string): string;
15
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/repl/executor.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAmB1D,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAE/D;AAUD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA2BjD;AAwCD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAkLzE"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/repl/executor.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AA8B9D;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA6BjD;AAwCD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAuMzE"}
@@ -1,38 +1,34 @@
1
1
  // See API-502: REPL command execution - dispatch user input to Commander.js.
2
2
  //
3
- // Lazy imports used intentionally:
4
- // - program: deferred to avoid circular import (index.ts imports repl)
3
+ // program: lazy-cached dynamic import to avoid circular (index.ts → repl → program).
5
4
  import { homedir } from "node:os";
6
5
  import { join } from "node:path";
7
- import chalk from "chalk";
8
6
  import { CommanderError } from "@commander-js/extra-typings";
9
7
  import { t } from "../i18n/index.js";
10
8
  import { terminal } from "../output/terminal.js";
11
9
  import { getLogger, traceStore } from "../logging/index.js";
12
- import { resetGlobalOptions } from "../cli/options.js";
13
10
  import { clearExitCode } from "../cli/exit.js";
14
11
  import { generateTraceId } from "../api/trace.js";
15
12
  import { validateArgOptionOrder } from "../cli/arg-order.js";
16
13
  import { showHelp } from "./help.js";
17
- import { getCmdMap, getTemplates, getCommandArgs } from "./registry.js";
14
+ import { getCmdMap, getTemplates, getCommandArgs, getAllBoolFlags, resolveHelpFilter, resolveSubcommandName, HELP_H_BLACKLIST, } from "./registry.js";
18
15
  import { reset as resetAbort, getSignal } from "./core/abort.js";
19
16
  import { runWithAbortSignal } from "../runtime/request-context.js";
20
- import { clearCurl, getRawCurl } from "./ui/curl-store.js";
21
- import { isVerbose } from "../api/verbose.js";
17
+ import { getRawCurl } from "./ui/curl-store.js";
18
+ import { isCurlEnabled } from "../api/curl.js";
22
19
  import { setClipboardText } from "../runtime/clipboard.js";
23
20
  const log = getLogger(import.meta.url);
24
- // Boolean flags across all REPL commands (don't consume next token as value).
25
- // Hardcoded: ~12 flags, explicit, no Commander.js internal API dependency.
26
- const REPL_BOOL_FLAGS = new Set([
27
- "--qe", // translate text
28
- "--force", // config reset
29
- "--debug", "--no-color", "--json", // global
30
- ]);
31
- // Plugin manager reference (set by service.ts during plugin loading)
32
- let _pluginManager = null;
33
- /** Wire plugin manager for command dispatch. */
34
- export function setPluginManager(pm) {
35
- _pluginManager = pm;
21
+ // Lazy-cached bool flags (sourced from registry -- single source of truth)
22
+ let _boolFlags = null;
23
+ function getBoolFlags() {
24
+ _boolFlags ??= getAllBoolFlags();
25
+ return _boolFlags;
26
+ }
27
+ // Lazy-cached program (deferred import to avoid circular: index.ts → repl → program)
28
+ let _program = null;
29
+ async function getProgram() {
30
+ _program ??= await import("../program.js");
31
+ return _program.program;
36
32
  }
37
33
  // Lazy-cached command map
38
34
  let _cmdMap = null;
@@ -43,6 +39,7 @@ function getMap() {
43
39
  /**
44
40
  * Parse input string into tokens, respecting quotes.
45
41
  * Handles double-quoted strings and escaped characters.
42
+ * @internal Exported for unit tests only.
46
43
  */
47
44
  export function parseInput(text) {
48
45
  const tokens = [];
@@ -51,10 +48,13 @@ export function parseInput(text) {
51
48
  let escaped = false;
52
49
  for (const ch of text) {
53
50
  if (escaped) {
51
+ // Inside quotes: only \" and \\ are special; everything else keeps the backslash
52
+ if (ch !== '"' && ch !== "\\")
53
+ current += "\\";
54
54
  current += ch;
55
55
  escaped = false;
56
56
  }
57
- else if (ch === "\\") {
57
+ else if (ch === "\\" && inQuote) {
58
58
  escaped = true;
59
59
  }
60
60
  else if (ch === '"') {
@@ -112,7 +112,7 @@ function unquote(token) {
112
112
  }
113
113
  /**
114
114
  * Expand leading tilde (~) to user home directory.
115
- * Mirrors Python os.path.expanduser() for REPL args.
115
+ * @internal Exported for unit tests only.
116
116
  */
117
117
  export function expandTilde(arg) {
118
118
  if (arg.startsWith("~/") || arg.startsWith("~\\")) {
@@ -137,24 +137,21 @@ export async function executeCommand(text) {
137
137
  return { outcome: "exit" };
138
138
  }
139
139
  if (cmd === "help" || cmd === "?") {
140
- showHelp(args[0]);
141
- return { outcome: "continue" };
142
- }
143
- if (cmd === "verbose" || cmd === "terse") {
144
- const { setVerbose } = await import("../api/verbose.js");
145
- const { setConfigValue, writeConfigToml, getSettings } = await import("../config/index.js");
146
- const enabled = cmd === "verbose";
147
- setVerbose(enabled);
148
- setConfigValue("verbose", enabled ? "verbose" : "terse");
149
- writeConfigToml(getSettings());
150
- if (!enabled)
151
- clearCurl();
152
- const state = enabled ? chalk.green(t("repl.verbose.on")) : chalk.red(t("repl.verbose.off"));
153
- terminal.line(`${t("repl.verbose.status")} ${state}`);
140
+ if (args.length >= 2) {
141
+ const twoWord = `${args[0].toLowerCase()} ${args[1].toLowerCase()}`;
142
+ const replName = resolveSubcommandName(twoWord);
143
+ showHelp(replName ? { mode: "single", name: replName } : resolveHelpFilter(args[0].toLowerCase()));
144
+ }
145
+ else if (args.length === 1) {
146
+ showHelp(resolveHelpFilter(args[0].toLowerCase()));
147
+ }
148
+ else {
149
+ showHelp();
150
+ }
154
151
  return { outcome: "continue" };
155
152
  }
156
153
  if (cmd === "copy-curl") {
157
- const raw = isVerbose() ? getRawCurl() : null;
154
+ const raw = isCurlEnabled() ? getRawCurl() : null;
158
155
  if (!raw) {
159
156
  terminal.dim(t("repl.curl_panel.no_curl"));
160
157
  return { outcome: "continue" };
@@ -166,17 +163,6 @@ export async function executeCommand(text) {
166
163
  if (cmd === "clear") {
167
164
  return { outcome: "cleared" };
168
165
  }
169
- // Plugin commands (priority between builtins and registry)
170
- const pluginCmd = _pluginManager?.getCommand(cmd);
171
- if (pluginCmd) {
172
- try {
173
- await pluginCmd.handler(args.map(unquote));
174
- }
175
- catch (error) {
176
- terminal.error("PLUGIN", `"${cmd}": ${error instanceof Error ? error.message : String(error)}`);
177
- }
178
- return { outcome: "continue" };
179
- }
180
166
  // Bare "config" → open interactive settings overlay
181
167
  if (cmd === "config" && args.length === 0) {
182
168
  return { outcome: "settings" };
@@ -188,15 +174,24 @@ export async function executeCommand(text) {
188
174
  let textTokenSkip = -1; // Index into `parts` where text tokens start (for quote validation)
189
175
  // Explicit canonical subcommands must win over short aliases.
190
176
  // Example: "translate file ..." must not be rewritten into "translate text ...".
177
+ let explicitSubcommand = false;
191
178
  const firstArg = args[0]?.toLowerCase();
192
179
  if (cmd === "translate" && (firstArg === "text" || firstArg === "file")) {
193
180
  fullCmd = `translate ${firstArg}`;
194
181
  fullArgs = [cmd, ...args.map(unquote)];
195
182
  textTokenSkip = 2; // Skip "translate" + subcommand ("text"/"file") in quote validation
183
+ explicitSubcommand = true;
196
184
  }
197
- else if (cmd === "evaluate" && (firstArg === "metrics" || firstArg === "batch")) {
185
+ else if (cmd === "evaluate" &&
186
+ (firstArg === "metrics" || firstArg === "batch" || firstArg === "file")) {
198
187
  fullCmd = `evaluate ${firstArg}`;
199
188
  fullArgs = [cmd, ...args.map(unquote)];
189
+ explicitSubcommand = true;
190
+ }
191
+ else if (cmd === "data" && (firstArg === "score" || firstArg === "annotate")) {
192
+ fullCmd = `data ${firstArg}`;
193
+ fullArgs = [cmd, ...args.map(unquote)];
194
+ explicitSubcommand = true;
200
195
  }
201
196
  else {
202
197
  fullCmd = cmdMap.get(cmd);
@@ -218,6 +213,14 @@ export async function executeCommand(text) {
218
213
  fullCmd = "translate file";
219
214
  }
220
215
  else {
216
+ // Parent command not in cmdMap but requesting help (e.g. "evaluate -h")
217
+ if (args.includes("--help") || args.includes("-h")) {
218
+ const filter = resolveHelpFilter(cmd);
219
+ if (filter) {
220
+ showHelp(filter);
221
+ return { outcome: "continue" };
222
+ }
223
+ }
221
224
  terminal.warn(`${t("repl.unknown_command")} ${cmd}`);
222
225
  terminal.dim(t("repl.help_tip", { cmd: "help" }));
223
226
  return { outcome: "continue" };
@@ -227,26 +230,34 @@ export async function executeCommand(text) {
227
230
  const templates = getTemplates();
228
231
  if (templates.has(cmd)) {
229
232
  const skipIdx = textTokenSkip >= 0 ? textTokenSkip : 1;
230
- const unquoted = findUnquotedValue(parts, skipIdx, REPL_BOOL_FLAGS);
233
+ const unquoted = findUnquotedValue(parts, skipIdx, getBoolFlags());
231
234
  if (unquoted) {
232
235
  const syntax = getCommandArgs().get(cmd) ?? "";
233
- terminal.error("VALIDATION", `"${unquoted}" -- values must be quoted`, `Usage: ${cmd} ${syntax}`);
236
+ terminal.error("VALIDATION", `"${unquoted}" -- ${t("repl.error.unquoted_value")}`, `Usage: ${cmd} ${syntax}`);
234
237
  return { outcome: "continue" };
235
238
  }
236
239
  }
237
240
  // Validate arg/option order for translate text (POSIX: positional args before options)
238
241
  if (fullCmd === "translate text") {
239
- const violation = validateArgOptionOrder(fullArgs.slice(2), REPL_BOOL_FLAGS);
242
+ const violation = validateArgOptionOrder(fullArgs.slice(2), getBoolFlags());
240
243
  if (violation) {
241
- terminal.error("ARG_ORDER", `"${violation}" -- texts must come before options`, 'Usage: translate "text1" "text2" -s lang -t lang');
244
+ terminal.error("ARG_ORDER", `"${violation}" -- ${t("repl.error.arg_order")}`, 'Usage: translate "text1" "text2" -s lang -t lang');
242
245
  return { outcome: "continue" };
243
246
  }
244
247
  }
245
- // Expand ~ in file paths before dispatch (mirrors Python _executor.py:123)
248
+ // Expand ~ in file paths before dispatch
246
249
  fullArgs = fullArgs.map(expandTilde);
247
- // Intercept --help to show REPL-appropriate help
248
- if (fullArgs.includes("--help") && fullCmd) {
249
- showHelp(cmd);
250
+ // Intercept --help / -h to show REPL-appropriate help.
251
+ // -h is NOT intercepted for evaluate (uses -h for --hypothesis).
252
+ const hasHelpFlag = fullArgs.includes("--help") || (!HELP_H_BLACKLIST.has(cmd) && fullArgs.includes("-h"));
253
+ if (hasHelpFlag && fullCmd) {
254
+ if (explicitSubcommand) {
255
+ const replName = resolveSubcommandName(fullCmd);
256
+ showHelp(replName ? { mode: "single", name: replName } : resolveHelpFilter(cmd));
257
+ }
258
+ else {
259
+ showHelp(resolveHelpFilter(cmd));
260
+ }
250
261
  return { outcome: "continue" };
251
262
  }
252
263
  // Dispatch to Commander.js — wrapped in trace context for correlation
@@ -254,19 +265,19 @@ export async function executeCommand(text) {
254
265
  const traceId = generateTraceId();
255
266
  resetAbort();
256
267
  await traceStore.run(traceId, async () => runWithAbortSignal(getSignal(), async () => {
257
- const { program } = await import("../program.js");
268
+ const program = await getProgram();
258
269
  // REPL context: strip "prompsit" prefix from error/usage messages
259
270
  program.name("");
260
271
  // Safety net: intercept process.exit so Commander can never kill the REPL.
261
272
  // See: https://github.com/tj/commander.js#override-exit-and-output-handling
262
273
  // > "Commander expects the callback to terminate the normal program flow,
263
274
  // > and will call process.exit if the callback returns."
275
+ // eslint-disable-next-line @typescript-eslint/unbound-method -- intentional: save reference to override
264
276
  const origExit = process.exit;
265
277
  process.exit = ((code) => {
266
278
  throw new CommanderError(code ?? 0, "commander.exit", "");
267
279
  });
268
280
  try {
269
- resetGlobalOptions();
270
281
  log.debug("REPL dispatch", { command: fullArgs.join(" ") });
271
282
  log.debug("Commander parseAsync start");
272
283
  await program.parseAsync(["node", "", ...fullArgs]);
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/repl/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/repl/executor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
+ import { type HelpFilter } from "./registry.ts";
1
2
  /**
2
- * Show unified help page with all commands, options, and examples.
3
- * The `_command` argument is accepted but ignored (no per-command help).
3
+ * Show help page.
4
+ *
5
+ * Display modes:
6
+ * - No filter → full help (all groups).
7
+ * - `{ mode: "groups", groups }` → show only the listed groups (parent commands).
8
+ * - `{ mode: "single", name }` → show one specific command entry.
9
+ *
10
+ * @param filter - Optional HelpFilter to restrict output.
4
11
  */
5
- export declare function showHelp(_command?: string): void;
12
+ export declare function showHelp(filter?: HelpFilter): void;
6
13
  //# sourceMappingURL=help.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/repl/help.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CA2DhD"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/repl/help.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0C,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAKxF;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAiFlD"}
package/dist/repl/help.js CHANGED
@@ -1,4 +1,4 @@
1
- // See API-500: REPL help display — unified single-page help.
1
+ // See API-500: REPL help display — unified single-page help with optional per-command filtering.
2
2
  import chalk from "chalk";
3
3
  import { t } from "../i18n/index.js";
4
4
  import { terminal } from "../output/terminal.js";
@@ -6,17 +6,39 @@ import { COMMANDS, getHelpGroups, getAliasesFor } from "./registry.js";
6
6
  /** Max flag width for option alignment. */
7
7
  const FLAG_PAD = 24;
8
8
  /**
9
- * Show unified help page with all commands, options, and examples.
10
- * The `_command` argument is accepted but ignored (no per-command help).
9
+ * Show help page.
10
+ *
11
+ * Display modes:
12
+ * - No filter → full help (all groups).
13
+ * - `{ mode: "groups", groups }` → show only the listed groups (parent commands).
14
+ * - `{ mode: "single", name }` → show one specific command entry.
15
+ *
16
+ * @param filter - Optional HelpFilter to restrict output.
11
17
  */
12
- export function showHelp(_command) {
18
+ export function showHelp(filter) {
13
19
  const byName = new Map(COMMANDS.map((c) => [c.name, c]));
20
+ // Determine filter scope
21
+ let allowedGroups = null;
22
+ let singleName = null;
23
+ if (filter?.mode === "groups") {
24
+ allowedGroups = new Set(filter.groups.map((k) => t(k)));
25
+ }
26
+ else if (filter?.mode === "single") {
27
+ singleName = filter.name;
28
+ const cmd = byName.get(filter.name);
29
+ if (cmd)
30
+ allowedGroups = new Set([t(cmd.group)]);
31
+ }
14
32
  terminal.line("");
15
33
  terminal.line(chalk.bold(t("repl.help.title")));
16
34
  for (const [groupName, cmdNames] of getHelpGroups()) {
35
+ if (allowedGroups && !allowedGroups.has(groupName))
36
+ continue;
17
37
  terminal.line("");
18
38
  terminal.line(chalk.yellow.bold(groupName));
19
39
  for (const name of cmdNames) {
40
+ if (singleName && name !== singleName)
41
+ continue;
20
42
  const cmd = byName.get(name);
21
43
  if (!cmd)
22
44
  continue;
@@ -60,6 +82,11 @@ export function showHelp(_command) {
60
82
  }
61
83
  }
62
84
  }
85
+ // Footer hint when showing filtered view
86
+ if (filter) {
87
+ terminal.line("");
88
+ terminal.line(chalk.dim(t("repl.help.hint.all_commands")));
89
+ }
63
90
  terminal.line("");
64
91
  }
65
92
  //# sourceMappingURL=help.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/repl/help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/repl/help.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export class CommandHistory {
20
20
  if (!trimmed)
21
21
  return;
22
22
  // Consecutive dedup: skip if same as last entry
23
- if (this.entries.length > 0 && this.entries[this.entries.length - 1] === trimmed) {
23
+ if (this.entries.length > 0 && this.entries.at(-1) === trimmed) {
24
24
  this.reset();
25
25
  return;
26
26
  }
@@ -87,7 +87,7 @@ export class CommandHistory {
87
87
  const dir = path.dirname(historyFile);
88
88
  if (!fs.existsSync(dir))
89
89
  fs.mkdirSync(dir, { recursive: true });
90
- fs.appendFileSync(historyFile, line + "\n", "utf-8");
90
+ fs.appendFileSync(historyFile, line + "\n", { encoding: "utf8", flush: true });
91
91
  }
92
92
  catch {
93
93
  // Non-critical: ignore history write errors
@@ -100,7 +100,7 @@ export class CommandHistory {
100
100
  try {
101
101
  const historyFile = path.join(getConfigDir(), "history");
102
102
  if (fs.existsSync(historyFile)) {
103
- fs.writeFileSync(historyFile, "", "utf-8");
103
+ fs.writeFileSync(historyFile, "", { encoding: "utf8", flush: true });
104
104
  }
105
105
  }
106
106
  catch {
@@ -113,7 +113,7 @@ export class CommandHistory {
113
113
  const historyFile = path.join(getConfigDir(), "history");
114
114
  if (!fs.existsSync(historyFile))
115
115
  return;
116
- const content = fs.readFileSync(historyFile, "utf-8");
116
+ const content = fs.readFileSync(historyFile, "utf8");
117
117
  const lines = content.split("\n");
118
118
  const filtered = [];
119
119
  for (const raw of lines) {
@@ -121,7 +121,7 @@ export class CommandHistory {
121
121
  if (!line || line.startsWith("#"))
122
122
  continue;
123
123
  // Consecutive dedup
124
- if (filtered.length > 0 && filtered[filtered.length - 1] === line)
124
+ if (filtered.length > 0 && filtered.at(-1) === line)
125
125
  continue;
126
126
  filtered.push(line);
127
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"command-history.js","sourceRoot":"","sources":["../../../src/repl/history/command-history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-history.js","sourceRoot":"","sources":["../../../src/repl/history/command-history.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
1
  import type { ReplOutputEvent } from "../core/output-bridge.ts";
2
- /** Format timestamp as HH:MM:SS. */
3
- export declare function formatClock(timestamp: number): string;
4
- /** Normalize CRLF to LF and split into lines. */
2
+ /** Normalize CRLF to LF and split into lines. @internal Exported for unit tests only. */
5
3
  export declare function normalizeHistoryCommand(text: string): string[];
6
4
  /**
7
5
  * Format a ReplOutputEvent into a chalk-styled string for terminal output.
@@ -1 +1 @@
1
- {"version":3,"file":"output-render.d.ts","sourceRoot":"","sources":["../../../src/repl/history/output-render.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,oCAAoC;AACpC,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,iDAAiD;AACjD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAG9D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CA4BjF"}
1
+ {"version":3,"file":"output-render.d.ts","sourceRoot":"","sources":["../../../src/repl/history/output-render.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAOhE,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAG9D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CA0BjF"}
@@ -3,12 +3,12 @@ import chalk from "chalk";
3
3
  import { renderTable } from "../../output/tables/index.js";
4
4
  import { REPL_COLORS } from "../ui/data.js";
5
5
  /** Format timestamp as HH:MM:SS. */
6
- export function formatClock(timestamp) {
6
+ function formatClock(timestamp) {
7
7
  return new Date(timestamp).toTimeString().slice(0, 8);
8
8
  }
9
- /** Normalize CRLF to LF and split into lines. */
9
+ /** Normalize CRLF to LF and split into lines. @internal Exported for unit tests only. */
10
10
  export function normalizeHistoryCommand(text) {
11
- const normalized = text.replace(/\r\n?/g, "\n");
11
+ const normalized = text.replaceAll(/\r\n?/g, "\n");
12
12
  return normalized.split("\n");
13
13
  }
14
14
  /**
@@ -23,9 +23,7 @@ export function formatOutputEvent(event, columns) {
23
23
  chalk.hex(REPL_COLORS.promptArrow)("$") +
24
24
  " " +
25
25
  (lines[0] ?? "");
26
- const continuation = lines
27
- .slice(1)
28
- .map((line) => chalk.gray(" ".repeat(11) + line));
26
+ const continuation = lines.slice(1).map((line) => chalk.gray(" ".repeat(11) + line));
29
27
  return [header, ...continuation].join("\n");
30
28
  }
31
29
  if (event.kind === "table") {
@@ -1 +1 @@
1
- {"version":3,"file":"output-render.js","sourceRoot":"","sources":["../../../src/repl/history/output-render.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,oCAAoC;AACpC,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChD,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAsB,EAAE,OAAe;IACvE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,MAAM,GACV,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;YAC/C,GAAG;YACH,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC;YACvC,GAAG;YACH,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACnB,MAAM,YAAY,GAAG,KAAK;aACvB,KAAK,CAAC,CAAC,CAAC;aACR,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"output-render.js","sourceRoot":"","sources":["../../../src/repl/history/output-render.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,oCAAoC;AACpC,SAAS,WAAW,CAAC,SAAiB;IACpC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnD,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAsB,EAAE,OAAe;IACvE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,MAAM,GACV,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;YAC/C,GAAG;YACH,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC;YACvC,GAAG;YACH,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACnB,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"output-store.d.ts","sourceRoot":"","sources":["../../../src/repl/history/output-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAgBpE,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,CAwBhE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAWxD;AAED,oEAAoE;AACpE,wBAAgB,kBAAkB,IAAI,IAAI,CASzC;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAUvD"}
1
+ {"version":3,"file":"output-store.d.ts","sourceRoot":"","sources":["../../../src/repl/history/output-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAgBpE,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,CA2BhE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAWxD;AAED,oEAAoE;AACpE,wBAAgB,kBAAkB,IAAI,IAAI,CASzC;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAUvD"}