prompsit-cli 26.303.1509 → 26.304.1023

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 (205) hide show
  1. package/README.md +26 -21
  2. package/dist/api/models.d.ts +22 -6
  3. package/dist/api/models.d.ts.map +1 -1
  4. package/dist/api/models.js +18 -6
  5. package/dist/api/models.js.map +1 -1
  6. package/dist/api/resources/discovery.d.ts +3 -1
  7. package/dist/api/resources/discovery.d.ts.map +1 -1
  8. package/dist/api/resources/discovery.js +5 -1
  9. package/dist/api/resources/discovery.js.map +1 -1
  10. package/dist/api/resources/formats.d.ts +1 -1
  11. package/dist/api/resources/formats.js +2 -2
  12. package/dist/api/resources/formats.js.map +1 -1
  13. package/dist/api/verbose.d.ts +8 -2
  14. package/dist/api/verbose.d.ts.map +1 -1
  15. package/dist/api/verbose.js +8 -13
  16. package/dist/api/verbose.js.map +1 -1
  17. package/dist/cli/options.js +2 -2
  18. package/dist/cli/options.js.map +1 -1
  19. package/dist/commands/annotate.d.ts.map +1 -1
  20. package/dist/commands/annotate.js +20 -55
  21. package/dist/commands/annotate.js.map +1 -1
  22. package/dist/commands/batch-processor.d.ts.map +1 -1
  23. package/dist/commands/batch-processor.js +34 -29
  24. package/dist/commands/batch-processor.js.map +1 -1
  25. package/dist/commands/evaluate.d.ts +15 -3
  26. package/dist/commands/evaluate.d.ts.map +1 -1
  27. package/dist/commands/evaluate.js +142 -133
  28. package/dist/commands/evaluate.js.map +1 -1
  29. package/dist/commands/formats.d.ts +1 -1
  30. package/dist/commands/formats.d.ts.map +1 -1
  31. package/dist/commands/formats.js +12 -5
  32. package/dist/commands/formats.js.map +1 -1
  33. package/dist/commands/job-tracking.d.ts +2 -0
  34. package/dist/commands/job-tracking.d.ts.map +1 -1
  35. package/dist/commands/job-tracking.js +29 -3
  36. package/dist/commands/job-tracking.js.map +1 -1
  37. package/dist/commands/score.d.ts +1 -0
  38. package/dist/commands/score.d.ts.map +1 -1
  39. package/dist/commands/score.js +53 -102
  40. package/dist/commands/score.js.map +1 -1
  41. package/dist/commands/show-formats.js +15 -20
  42. package/dist/commands/show-formats.js.map +1 -1
  43. package/dist/commands/show-languages.d.ts +2 -0
  44. package/dist/commands/show-languages.d.ts.map +1 -1
  45. package/dist/commands/show-languages.js +21 -2
  46. package/dist/commands/show-languages.js.map +1 -1
  47. package/dist/commands/translate.d.ts +12 -3
  48. package/dist/commands/translate.d.ts.map +1 -1
  49. package/dist/commands/translate.js +101 -138
  50. package/dist/commands/translate.js.map +1 -1
  51. package/dist/commands/update.d.ts.map +1 -1
  52. package/dist/commands/update.js +1 -7
  53. package/dist/commands/update.js.map +1 -1
  54. package/dist/config/schemas.d.ts +2 -0
  55. package/dist/config/schemas.d.ts.map +1 -1
  56. package/dist/config/schemas.js +1 -0
  57. package/dist/config/schemas.js.map +1 -1
  58. package/dist/constants.d.ts +17 -10
  59. package/dist/constants.d.ts.map +1 -1
  60. package/dist/constants.js +18 -10
  61. package/dist/constants.js.map +1 -1
  62. package/dist/errors/catalog.js +1 -1
  63. package/dist/errors/catalog.js.map +1 -1
  64. package/dist/i18n/catalog.d.ts +14 -7
  65. package/dist/i18n/catalog.d.ts.map +1 -1
  66. package/dist/i18n/catalog.js +14 -7
  67. package/dist/i18n/catalog.js.map +1 -1
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +1 -2
  70. package/dist/index.js.map +1 -1
  71. package/dist/logging/console-handler.js +1 -1
  72. package/dist/logging/console-handler.js.map +1 -1
  73. package/dist/logging/file-handler.d.ts.map +1 -1
  74. package/dist/logging/file-handler.js +5 -4
  75. package/dist/logging/file-handler.js.map +1 -1
  76. package/dist/output/progress-display.d.ts.map +1 -1
  77. package/dist/output/progress-display.js +0 -9
  78. package/dist/output/progress-display.js.map +1 -1
  79. package/dist/output/tables/catalog.d.ts +1 -2
  80. package/dist/output/tables/catalog.d.ts.map +1 -1
  81. package/dist/output/tables/catalog.js +2 -3
  82. package/dist/output/tables/catalog.js.map +1 -1
  83. package/dist/program.js +8 -7
  84. package/dist/program.js.map +1 -1
  85. package/dist/repl/controller.d.ts.map +1 -1
  86. package/dist/repl/controller.js +11 -8
  87. package/dist/repl/controller.js.map +1 -1
  88. package/dist/repl/examples.d.ts +8 -4
  89. package/dist/repl/examples.d.ts.map +1 -1
  90. package/dist/repl/examples.js +34 -22
  91. package/dist/repl/examples.js.map +1 -1
  92. package/dist/repl/executor.d.ts.map +1 -1
  93. package/dist/repl/executor.js +55 -125
  94. package/dist/repl/executor.js.map +1 -1
  95. package/dist/repl/input/completer.js +1 -1
  96. package/dist/repl/input/completer.js.map +1 -1
  97. package/dist/repl/registry.d.ts +15 -10
  98. package/dist/repl/registry.d.ts.map +1 -1
  99. package/dist/repl/registry.js +84 -63
  100. package/dist/repl/registry.js.map +1 -1
  101. package/dist/repl/service.d.ts +1 -1
  102. package/dist/repl/service.js +1 -1
  103. package/dist/runtime/clipboard.d.ts.map +1 -1
  104. package/dist/runtime/clipboard.js +1 -3
  105. package/dist/runtime/clipboard.js.map +1 -1
  106. package/dist/runtime/file-args.d.ts.map +1 -1
  107. package/dist/runtime/file-args.js +1 -1
  108. package/dist/runtime/file-args.js.map +1 -1
  109. package/dist/runtime/input-detect.d.ts +0 -18
  110. package/dist/runtime/input-detect.d.ts.map +1 -1
  111. package/dist/runtime/input-detect.js +0 -75
  112. package/dist/runtime/input-detect.js.map +1 -1
  113. package/dist/runtime/progress-adapters.d.ts +1 -1
  114. package/dist/runtime/progress-adapters.d.ts.map +1 -1
  115. package/dist/runtime/progress-sink.d.ts +0 -4
  116. package/dist/runtime/progress-sink.d.ts.map +1 -1
  117. package/dist/runtime/progress-sink.js +0 -2
  118. package/dist/runtime/progress-sink.js.map +1 -1
  119. package/dist/shared/constants.d.ts +3 -0
  120. package/dist/shared/constants.d.ts.map +1 -1
  121. package/dist/shared/constants.js +3 -0
  122. package/dist/shared/constants.js.map +1 -1
  123. package/dist/update/version.d.ts +0 -5
  124. package/dist/update/version.d.ts.map +1 -1
  125. package/dist/update/version.js +3 -19
  126. package/dist/update/version.js.map +1 -1
  127. package/dist/version.d.ts.map +1 -1
  128. package/dist/version.js +2 -3
  129. package/dist/version.js.map +1 -1
  130. package/examples/{sample_scored.tmx → score/sample.tmx} +7 -7
  131. package/package.json +74 -76
  132. package/dist/api/http-utils.d.ts +0 -5
  133. package/dist/api/http-utils.d.ts.map +0 -1
  134. package/dist/api/http-utils.js +0 -19
  135. package/dist/api/http-utils.js.map +0 -1
  136. package/dist/commands/config.d.ts +0 -8
  137. package/dist/commands/config.d.ts.map +0 -1
  138. package/dist/commands/config.js +0 -331
  139. package/dist/commands/config.js.map +0 -1
  140. package/dist/commands/languages.d.ts +0 -12
  141. package/dist/commands/languages.d.ts.map +0 -1
  142. package/dist/commands/languages.js +0 -48
  143. package/dist/commands/languages.js.map +0 -1
  144. package/dist/i18n/translator-adapter.d.ts +0 -3
  145. package/dist/i18n/translator-adapter.d.ts.map +0 -1
  146. package/dist/i18n/translator-adapter.js +0 -12
  147. package/dist/i18n/translator-adapter.js.map +0 -1
  148. package/dist/output/console.d.ts +0 -77
  149. package/dist/output/console.d.ts.map +0 -1
  150. package/dist/output/console.js +0 -128
  151. package/dist/output/console.js.map +0 -1
  152. package/dist/output/tables.d.ts +0 -52
  153. package/dist/output/tables.d.ts.map +0 -1
  154. package/dist/output/tables.js +0 -448
  155. package/dist/output/tables.js.map +0 -1
  156. package/dist/repl/App.d.ts +0 -6
  157. package/dist/repl/App.d.ts.map +0 -1
  158. package/dist/repl/App.js +0 -216
  159. package/dist/repl/App.js.map +0 -1
  160. package/dist/repl/components/ControllableTextInput.d.ts +0 -12
  161. package/dist/repl/components/ControllableTextInput.d.ts.map +0 -1
  162. package/dist/repl/components/ControllableTextInput.js +0 -102
  163. package/dist/repl/components/ControllableTextInput.js.map +0 -1
  164. package/dist/repl/components/HistoryRow.d.ts +0 -8
  165. package/dist/repl/components/HistoryRow.d.ts.map +0 -1
  166. package/dist/repl/components/HistoryRow.js +0 -40
  167. package/dist/repl/components/HistoryRow.js.map +0 -1
  168. package/dist/repl/components/ProgressIndicator.d.ts +0 -10
  169. package/dist/repl/components/ProgressIndicator.d.ts.map +0 -1
  170. package/dist/repl/components/ProgressIndicator.js +0 -39
  171. package/dist/repl/components/ProgressIndicator.js.map +0 -1
  172. package/dist/repl/components/Separator.d.ts +0 -5
  173. package/dist/repl/components/Separator.d.ts.map +0 -1
  174. package/dist/repl/components/Separator.js +0 -9
  175. package/dist/repl/components/Separator.js.map +0 -1
  176. package/dist/repl/hooks.d.ts +0 -9
  177. package/dist/repl/hooks.d.ts.map +0 -1
  178. package/dist/repl/hooks.js +0 -29
  179. package/dist/repl/hooks.js.map +0 -1
  180. package/dist/repl/plugins/manager.d.ts +0 -22
  181. package/dist/repl/plugins/manager.d.ts.map +0 -1
  182. package/dist/repl/plugins/manager.js +0 -111
  183. package/dist/repl/plugins/manager.js.map +0 -1
  184. package/dist/repl/plugins/types.d.ts +0 -33
  185. package/dist/repl/plugins/types.d.ts.map +0 -1
  186. package/dist/repl/plugins/types.js +0 -3
  187. package/dist/repl/plugins/types.js.map +0 -1
  188. package/dist/repl/progress-context.d.ts +0 -14
  189. package/dist/repl/progress-context.d.ts.map +0 -1
  190. package/dist/repl/progress-context.js +0 -15
  191. package/dist/repl/progress-context.js.map +0 -1
  192. package/dist/repl/ui-state.d.ts +0 -9
  193. package/dist/repl/ui-state.d.ts.map +0 -1
  194. package/dist/repl/ui-state.js +0 -16
  195. package/dist/repl/ui-state.js.map +0 -1
  196. package/dist/runtime/external-transport.d.ts +0 -12
  197. package/dist/runtime/external-transport.d.ts.map +0 -1
  198. package/dist/runtime/external-transport.js +0 -59
  199. package/dist/runtime/external-transport.js.map +0 -1
  200. package/scripts/post-install.cjs +0 -23
  201. /package/examples/{sample.jsonl → annotate/sample.jsonl} +0 -0
  202. /package/examples/{sample.tmx → evaluate/sample.tmx} +0 -0
  203. /package/examples/{sample.csv → translate/sample.csv} +0 -0
  204. /package/examples/{sample.txt → translate/sample.txt} +0 -0
  205. /package/examples/{sample.xliff → translate/sample.xliff} +0 -0
@@ -19,52 +19,57 @@ export async function runBatch(opts) {
19
19
  const { items, label, process: processFn, formatSuccess, command, signal } = opts;
20
20
  const total = items.length;
21
21
  const concurrency = getSettings().cli.file_concurrency;
22
- const sink = createProgressSink(`0/${total} files`);
22
+ const sink = createProgressSink(`0/${total}`);
23
23
  const filePercents = Array.from({ length: total }, () => 0);
24
+ const activeLabels = new Map();
24
25
  let completedCount = 0;
25
26
  const updateProgress = () => {
26
27
  const avg = filePercents.reduce((a, b) => a + b, 0) / total;
27
- sink.update(Math.round(avg), `${completedCount}/${total} files`);
28
+ const names = [...activeLabels.values()];
29
+ const suffix = names.length > 0 ? `: ${names.join(", ")}` : "";
30
+ sink.update(Math.round(avg), `${completedCount}/${total}${suffix}`);
28
31
  };
29
32
  let settled;
30
33
  let successCount = 0;
31
34
  const results = [];
32
35
  try {
33
36
  settled = await poolMap(items, concurrency, async (item, index) => {
34
- const result = await processFn(item, index, (pct) => {
35
- filePercents[index] = pct;
36
- updateProgress();
37
- });
38
- // Auto-set to 100% after resolve (for sync ops that don't call onProgress)
39
- filePercents[index] = 100;
40
- completedCount++;
37
+ activeLabels.set(index, label(item));
41
38
  updateProgress();
42
- return result;
39
+ try {
40
+ const result = await processFn(item, index, (pct) => {
41
+ filePercents[index] = pct;
42
+ updateProgress();
43
+ });
44
+ filePercents[index] = 100;
45
+ activeLabels.delete(index);
46
+ completedCount++;
47
+ updateProgress();
48
+ terminal.success(formatSuccess(result));
49
+ return result;
50
+ }
51
+ catch (error) {
52
+ if (error instanceof CancelledError)
53
+ throw error;
54
+ // Failed file is still 100% processed
55
+ filePercents[index] = 100;
56
+ activeLabels.delete(index);
57
+ completedCount++;
58
+ updateProgress();
59
+ handleCommandError(log, error, { command, file: label(item) });
60
+ throw error;
61
+ }
43
62
  }, signal);
44
- // Report per-item results
63
+ // Count successes (results already printed in callback)
45
64
  for (const [i, r] of settled.entries()) {
46
- // Handle sparse results from abort (unstarted items are undefined)
47
65
  if (!r)
48
66
  continue;
49
67
  if (r.status === "fulfilled") {
50
68
  successCount++;
51
69
  results.push({ index: i, value: r.value });
52
- sink.suspend();
53
- terminal.success(formatSuccess(r.value));
54
- sink.restore();
55
- updateProgress();
56
70
  }
57
- else {
58
- sink.suspend();
59
- if (r.reason instanceof CancelledError) {
60
- throw r.reason;
61
- }
62
- handleCommandError(log, r.reason, {
63
- command,
64
- file: label(items[i]),
65
- });
66
- sink.restore();
67
- updateProgress();
71
+ else if (r.reason instanceof CancelledError) {
72
+ throw r.reason;
68
73
  }
69
74
  }
70
75
  }
@@ -72,10 +77,10 @@ export async function runBatch(opts) {
72
77
  sink.stop();
73
78
  }
74
79
  if (successCount === total) {
75
- sink.succeed(`${successCount}/${total} files completed`);
80
+ sink.succeed(`${successCount}/${total} completed`);
76
81
  }
77
82
  else {
78
- sink.warn(`${successCount}/${total} files completed`);
83
+ sink.warn(`${successCount}/${total} completed`);
79
84
  }
80
85
  return { successCount, totalCount: total, results };
81
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"batch-processor.js","sourceRoot":"","sources":["../../src/commands/batch-processor.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qFAAqF;AAErF,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AA8BvC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAO,IAAwB;IAC3D,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3B,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACvD,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IAEpD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,cAAc,IAAI,KAAK,QAAQ,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF,IAAI,OAAgD,CAAC;IACrD,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,OAAO,GAAkC,EAAE,CAAC;IAElD,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CACrB,KAAK,EACL,WAAW,EACX,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;gBAClD,YAAY,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;gBAC1B,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;YACH,2EAA2E;YAC3E,YAAY,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;YAC1B,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,MAAM,CACP,CAAC;QAEF,0BAA0B;QAC1B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACvC,mEAAmE;YACnE,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC7B,YAAY,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,MAAM,YAAY,cAAc,EAAE,CAAC;oBACvC,MAAM,CAAC,CAAC,MAAM,CAAC;gBACjB,CAAC;gBACD,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;oBAChC,OAAO;oBACP,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACtB,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,YAAY,IAAI,KAAK,kBAAkB,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,IAAI,KAAK,kBAAkB,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"batch-processor.js","sourceRoot":"","sources":["../../src/commands/batch-processor.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,20 @@
1
1
  import { Command } from "@commander-js/extra-typings";
2
2
  /**
3
- * Evaluate command group.
3
+ * Flat evaluate command.
4
4
  *
5
- * Subcommands: metrics (single segment), batch (TSV file).
5
+ * Mode detection:
6
+ * - --formats → show QE-supported formats
7
+ * - No positional + -s/-h/-r → inline metrics (single segment)
8
+ * - Positional without @ → batch mode (TSV files)
9
+ * - Positional with @ → file scoring mode
6
10
  */
7
- export declare const evaluateCommand: Command<[], {}, {}>;
11
+ export declare const evaluateCommand: Command<[string[]], {
12
+ source?: string | undefined;
13
+ hypothesis?: string | undefined;
14
+ reference?: string | undefined;
15
+ metrics: string;
16
+ out?: string | undefined;
17
+ outputFormat?: string | undefined;
18
+ formats: boolean;
19
+ }, {}>;
8
20
  //# sourceMappingURL=evaluate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/commands/evaluate.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAyFtD;;;;GAIG;AACH,eAAO,MAAM,eAAe,qBAGP,CAAC"}
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/commands/evaluate.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAwFtD;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe;;;;;;;;MAoExB,CAAC"}
@@ -1,5 +1,7 @@
1
- // See API-480: Evaluate command group with metrics (single) and batch (TSV) subcommands
2
- // Pattern: follows translateCommand structure with Commander.js + error boundary.
1
+ // Flat evaluate command: mode determined at runtime.
2
+ // Inline mode (no positional, -s/-h/-r): single segment evaluation via POST /v1/evaluation/evaluate.
3
+ // Batch mode (positional without @): TSV file(s), segment evaluation via POST /v1/evaluation/evaluate.
4
+ // File mode (positional with @): file scoring via POST /v1/quality/score/file.
3
5
  import { createReadStream } from "node:fs";
4
6
  import { access } from "node:fs/promises";
5
7
  import { createInterface } from "node:readline";
@@ -14,6 +16,7 @@ import { t } from "../i18n/index.js";
14
16
  import { getLogger } from "../logging/index.js";
15
17
  import { ErrorCode } from "../errors/codes.js";
16
18
  import { failCommand, handleCommandError } from "./error-handler.js";
19
+ import { stripFilePrefix } from "../runtime/input-detect.js";
17
20
  import { tryExpandFileArgs, resolveOutputPaths } from "../runtime/file-args.js";
18
21
  const log = getLogger(import.meta.url);
19
22
  /** Accepted metric names (case-insensitive). */
@@ -24,9 +27,7 @@ const DEFAULT_METRICS = "bleu,chrf";
24
27
  * Parse and validate a comma-separated metrics string.
25
28
  *
26
29
  * Splits on commas, trims whitespace, normalizes to lowercase.
27
- * Throws on invalid metric names (prints error with valid list).
28
- *
29
- * @returns Array of validated lowercase metric names
30
+ * Returns null on invalid metric names (error already printed).
30
31
  */
31
32
  function parseAndValidateMetrics(input) {
32
33
  const metrics = input
@@ -76,32 +77,87 @@ async function parseTsvFile(filePath) {
76
77
  return segments;
77
78
  }
78
79
  /**
79
- * Evaluate command group.
80
+ * Flat evaluate command.
80
81
  *
81
- * Subcommands: metrics (single segment), batch (TSV file).
82
+ * Mode detection:
83
+ * - --formats → show QE-supported formats
84
+ * - No positional + -s/-h/-r → inline metrics (single segment)
85
+ * - Positional without @ → batch mode (TSV files)
86
+ * - Positional with @ → file scoring mode
82
87
  */
83
88
  export const evaluateCommand = new Command("evaluate")
84
- .summary("Evaluate translation quality (evaluate metrics|batch|file)")
85
- .description("Translation quality evaluation commands")
86
- .helpCommand(false);
87
- /** Metrics subcommand: evaluate a single segment. */
88
- evaluateCommand
89
- .command("metrics")
90
- // Use -h for hypothesis to keep command concise; help remains available as --help.
89
+ .summary("Evaluate translation quality")
90
+ .description("Evaluate single segments, batch TSV files, or score document files")
91
+ .argument("[inputs...]", "TSV file(s) or @file(s) for scoring")
92
+ // Free -h for --hypothesis: help available only as --help
91
93
  .helpOption("--help", "display help for command")
92
- .description("Evaluate single segment quality")
93
- .requiredOption("-s, --source <text>", "Source text")
94
- .requiredOption("-h, --hypothesis <text>", "Machine translation (hypothesis)")
95
- .requiredOption("-r, --reference <text>", "Reference translation")
94
+ .option("-s, --source <text>", "Source text (inline mode)")
95
+ .option("-h, --hypothesis <text>", "Machine translation hypothesis (inline mode)")
96
+ .option("-r, --reference <text>", "Reference translation (inline mode)")
96
97
  .option("-m, --metrics <list>", "Metrics to compute (comma-separated)", DEFAULT_METRICS)
97
- .action(async (opts) => {
98
+ .option("--out <dir>", "Output directory (file mode, default: beside input)")
99
+ .option("--output-format <format>", "Output format (csv/tsv/tmx/xliff)")
100
+ .option("--formats", "Show supported file formats", false)
101
+ .helpCommand(false)
102
+ .action(async (inputs, opts) => {
103
+ // Info-only early exit
104
+ if (opts.formats) {
105
+ await showFormats("qe");
106
+ return;
107
+ }
108
+ const hasInlineFlags = opts.source !== undefined || opts.hypothesis !== undefined || opts.reference !== undefined;
109
+ const hasPositional = inputs.length > 0;
110
+ // Pre-validation: strict mode matrix — reject mixed modes
111
+ if (hasPositional && hasInlineFlags) {
112
+ failCommand(ErrorCode.VALIDATION, t("validate.evaluate.mixed_modes"));
113
+ return;
114
+ }
115
+ if (hasPositional) {
116
+ // Classify inputs: @ prefix = file scoring, else = batch TSV
117
+ const fileInputs = [];
118
+ const batchInputs = [];
119
+ for (const input of inputs) {
120
+ const stripped = stripFilePrefix(input);
121
+ if (stripped === null) {
122
+ batchInputs.push(input);
123
+ }
124
+ else {
125
+ fileInputs.push(stripped);
126
+ }
127
+ }
128
+ if (fileInputs.length > 0 && batchInputs.length > 0) {
129
+ failCommand(ErrorCode.VALIDATION, t("validate.evaluate.mixed_inputs"));
130
+ return;
131
+ }
132
+ await (fileInputs.length > 0
133
+ ? evaluateFileMode(fileInputs, opts)
134
+ : evaluateBatchMode(batchInputs, opts));
135
+ }
136
+ else if (hasInlineFlags) {
137
+ // Inline mode: all three flags required
138
+ if (!opts.source || !opts.hypothesis || !opts.reference) {
139
+ failCommand(ErrorCode.VALIDATION, t("validate.evaluate.missing_inline_flags"));
140
+ return;
141
+ }
142
+ await evaluateInlineMode({
143
+ source: opts.source,
144
+ hypothesis: opts.hypothesis,
145
+ reference: opts.reference,
146
+ metrics: opts.metrics,
147
+ });
148
+ }
149
+ else {
150
+ // No inputs, no inline flags
151
+ failCommand(ErrorCode.VALIDATION, t("validate.missing_argument", { name: "inputs" }));
152
+ }
153
+ });
154
+ async function evaluateInlineMode(opts) {
98
155
  const startMs = Date.now();
99
- log.info("Command started", { command: "evaluate metrics" });
156
+ log.info("Command started", { command: "evaluate", mode: "inline" });
100
157
  try {
101
158
  const metricList = parseAndValidateMetrics(opts.metrics);
102
- if (!metricList) {
159
+ if (!metricList)
103
160
  return;
104
- }
105
161
  const segment = {
106
162
  source: opts.source,
107
163
  hypothesis: opts.hypothesis,
@@ -113,93 +169,66 @@ evaluateCommand
113
169
  aggregation: "corpus",
114
170
  });
115
171
  log.info("Command completed", {
116
- command: "evaluate metrics",
172
+ command: "evaluate",
173
+ mode: "inline",
117
174
  duration_ms: String(Date.now() - startMs),
118
175
  });
119
176
  terminal.table(createEvaluationTableModel(toEvaluationResponseVM(response)));
120
177
  }
121
178
  catch (error) {
122
179
  handleCommandError(log, error, {
123
- command: "evaluate metrics",
180
+ command: "evaluate",
181
+ mode: "inline",
124
182
  duration_ms: String(Date.now() - startMs),
125
183
  });
126
184
  }
127
- });
128
- /**
129
- * Batch subcommand: evaluate multiple segments from TSV file.
130
- *
131
- * TSV format: source<tab>hypothesis<tab>reference (one per line).
132
- * Streams file with readline for memory efficiency.
133
- */
134
- evaluateCommand
135
- .command("batch")
136
- .description("Evaluate quality from TSV file")
137
- .argument("<file>", "Input TSV file (source<tab>hypothesis<tab>reference)")
138
- .option("-m, --metrics <list>", "Metrics to compute (comma-separated)", DEFAULT_METRICS)
139
- .action(async (file, opts) => {
185
+ }
186
+ async function evaluateBatchMode(files, opts) {
140
187
  const startMs = Date.now();
141
- log.info("Command started", { command: "evaluate batch" });
188
+ log.info("Command started", {
189
+ command: "evaluate",
190
+ mode: "batch",
191
+ files_count: String(files.length),
192
+ });
142
193
  try {
143
- // Validate file exists
144
- try {
145
- await access(file);
146
- }
147
- catch {
148
- failCommand(ErrorCode.CANCELLED, `${t("evaluate.file_not_found")} ${file}`);
149
- return;
150
- }
151
194
  const metricList = parseAndValidateMetrics(opts.metrics);
152
- if (!metricList) {
153
- return;
154
- }
155
- const segments = await parseTsvFile(file);
156
- if (!segments) {
195
+ if (!metricList)
157
196
  return;
197
+ for (const file of files) {
198
+ try {
199
+ await access(file);
200
+ }
201
+ catch {
202
+ failCommand(ErrorCode.CANCELLED, `${t("evaluate.file_not_found")} ${file}`);
203
+ return;
204
+ }
205
+ const segments = await parseTsvFile(file);
206
+ if (!segments)
207
+ return;
208
+ const response = await getApiClient().evaluation.evaluate({
209
+ segments,
210
+ metrics: metricList,
211
+ aggregation: "both",
212
+ });
213
+ log.info("Command completed", {
214
+ command: "evaluate",
215
+ mode: "batch",
216
+ duration_ms: String(Date.now() - startMs),
217
+ segments: String(response.segment_count),
218
+ });
219
+ terminal.table(createEvaluationTableModel(toEvaluationResponseVM(response)));
220
+ terminal.info(`\n${t("evaluate.total", { count: String(response.segment_count) })}`);
158
221
  }
159
- const response = await getApiClient().evaluation.evaluate({
160
- segments,
161
- metrics: metricList,
162
- aggregation: "both",
163
- });
164
- log.info("Command completed", {
165
- command: "evaluate batch",
166
- duration_ms: String(Date.now() - startMs),
167
- segments: String(response.segment_count),
168
- });
169
- terminal.table(createEvaluationTableModel(toEvaluationResponseVM(response)));
170
- terminal.info(`\n${t("evaluate.total", { count: String(response.segment_count) })}`);
171
222
  }
172
223
  catch (error) {
173
224
  handleCommandError(log, error, {
174
- command: "evaluate batch",
225
+ command: "evaluate",
226
+ mode: "batch",
175
227
  duration_ms: String(Date.now() - startMs),
176
228
  });
177
229
  }
178
- });
179
- /**
180
- * File subcommand: score file(s) via POST /v1/quality/score/file.
181
- *
182
- * Synchronous API call (no job tracking). Uploads file, receives scored file + corpus scores.
183
- * Supports directories and multiple files. --formats flag shows QE-supported file formats.
184
- */
185
- evaluateCommand
186
- .command("file")
187
- .description("Evaluate quality from file(s) or directory (CSV/TSV/TMX/XLIFF)")
188
- .argument("[files...]", "Input file(s) or directory to score")
189
- .option("-m, --metrics <list>", "Metrics to compute (comma-separated)", DEFAULT_METRICS)
190
- .option("--out <dir>", "Output directory (default: beside input file)")
191
- .option("--output-format <format>", "Output format (csv/tsv/tmx/xliff)")
192
- .option("--formats", "Show supported file formats", false)
193
- .action(async (files, opts) => {
194
- // Early-exit: --formats shows QE-supported formats
195
- if (opts.formats) {
196
- await showFormats("qe");
197
- return;
198
- }
199
- if (files.length === 0) {
200
- failCommand(ErrorCode.VALIDATION, t("validate.missing_argument", { name: "files" }));
201
- return;
202
- }
230
+ }
231
+ async function evaluateFileMode(files, opts) {
203
232
  const metricList = parseAndValidateMetrics(opts.metrics);
204
233
  if (!metricList)
205
234
  return;
@@ -212,50 +241,30 @@ evaluateCommand
212
241
  const outputPaths = resolveOutputPaths(resolvedFiles, "_scored", opts.out, opts.outputFormat);
213
242
  const client = getApiClient();
214
243
  const startMs = Date.now();
215
- log.info("Command started", { command: "evaluate file" });
216
- if (resolvedFiles.length === 1) {
217
- // Single file: detailed output with corpus scores
218
- try {
219
- terminal.dim(t("evaluate.file.upload_status"));
220
- const result = await client.evaluation.evaluateFile({ filePath: resolvedFiles[0], metrics: metricList, outputFormat: opts.outputFormat }, outputPaths[0]);
221
- log.info("Command completed", {
222
- command: "evaluate file",
223
- duration_ms: String(Date.now() - startMs),
224
- });
225
- terminal.success(`${t("evaluate.file.success")} ${result.filename}`);
226
- if (Object.keys(result.corpusScores).length > 0) {
227
- terminal.table(createEvaluationTableModel({ corpus_scores: result.corpusScores }));
228
- }
229
- }
230
- catch (error) {
231
- handleCommandError(log, error, {
232
- command: "evaluate file",
233
- duration_ms: String(Date.now() - startMs),
234
- });
235
- }
236
- }
237
- else {
238
- // Multiple files: parallel processing, per-file score tables
239
- const batchResult = await runBatch({
240
- items: resolvedFiles,
241
- label: (f) => basename(f),
242
- process: async (filePath, index) => {
243
- return client.evaluation.evaluateFile({ filePath, metrics: metricList, outputFormat: opts.outputFormat }, outputPaths[index]);
244
- },
245
- formatSuccess: (r) => `${t("evaluate.file.success")} ${r.filename}`,
246
- command: "evaluate file",
247
- });
248
- // Display per-file corpus scores (no aggregate — mathematically incorrect without weights)
249
- for (const { value } of batchResult.results) {
250
- if (Object.keys(value.corpusScores).length > 0) {
251
- terminal.dim(` ${value.filename}:`);
252
- terminal.table(createEvaluationTableModel({ corpus_scores: value.corpusScores }));
253
- }
244
+ log.info("Command started", {
245
+ command: "evaluate",
246
+ mode: "file",
247
+ files_count: String(resolvedFiles.length),
248
+ });
249
+ const batchResult = await runBatch({
250
+ items: resolvedFiles,
251
+ label: (f) => basename(f),
252
+ process: async (filePath, index) => {
253
+ return client.evaluation.evaluateFile({ filePath, metrics: metricList, outputFormat: opts.outputFormat }, outputPaths[index]);
254
+ },
255
+ formatSuccess: (r) => `${t("evaluate.file.success")} ${r.filename}`,
256
+ command: "evaluate",
257
+ });
258
+ for (const { value } of batchResult.results) {
259
+ if (Object.keys(value.corpusScores).length > 0) {
260
+ terminal.dim(` ${value.filename}:`);
261
+ terminal.table(createEvaluationTableModel({ corpus_scores: value.corpusScores }));
254
262
  }
255
- log.info("Command completed", {
256
- command: "evaluate file",
257
- duration_ms: String(Date.now() - startMs),
258
- });
259
263
  }
260
- });
264
+ log.info("Command completed", {
265
+ command: "evaluate",
266
+ mode: "file",
267
+ duration_ms: String(Date.now() - startMs),
268
+ });
269
+ }
261
270
  //# sourceMappingURL=evaluate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/commands/evaluate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/commands/evaluate.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,qGAAqG;AACrG,uGAAuG;AACvG,+EAA+E;AAE/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEvC,gDAAgD;AAChD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAEpE,oDAAoD;AACpD,MAAM,eAAe,GAAG,WAAW,CAAC;AAEpC;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,KAAa;IAC5C,MAAM,OAAO,GAAG,KAAK;SAClB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAClC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,WAAW,CACT,SAAS,CAAC,SAAS,EACnB,GAAG,CAAC,CAAC,0BAA0B,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACxD,GAAG,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,YAAY,CAAC,QAAgB;IAC1C,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,MAAM,EAAE,GAAG,eAAe,CAAC;QACzB,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACvD,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAChB,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;YACpB,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;SACpB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KACnD,OAAO,CAAC,8BAA8B,CAAC;KACvC,WAAW,CAAC,oEAAoE,CAAC;KACjF,QAAQ,CAAC,aAAa,EAAE,qCAAqC,CAAC;IAC/D,0DAA0D;KACzD,UAAU,CAAC,QAAQ,EAAE,0BAA0B,CAAC;KAChD,MAAM,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;KAC1D,MAAM,CAAC,yBAAyB,EAAE,8CAA8C,CAAC;KACjF,MAAM,CAAC,wBAAwB,EAAE,qCAAqC,CAAC;KACvE,MAAM,CAAC,sBAAsB,EAAE,sCAAsC,EAAE,eAAe,CAAC;KACvF,MAAM,CAAC,aAAa,EAAE,qDAAqD,CAAC;KAC5E,MAAM,CAAC,0BAA0B,EAAE,mCAAmC,CAAC;KACvE,MAAM,CAAC,WAAW,EAAE,6BAA6B,EAAE,KAAK,CAAC;KACzD,WAAW,CAAC,KAAK,CAAC;KAClB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAC7B,uBAAuB;IACvB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAClB,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;IAC7F,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAExC,0DAA0D;IAC1D,IAAI,aAAa,IAAI,cAAc,EAAE,CAAC;QACpC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,6DAA6D;QAC7D,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAC1B,CAAC,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC;YACpC,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,cAAc,EAAE,CAAC;QAC1B,wCAAwC;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACxD,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QACD,MAAM,kBAAkB,CAAC;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,6BAA6B;QAC7B,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC;AACH,CAAC,CAAC,CAAC;AAWL,KAAK,UAAU,kBAAkB,CAAC,IAAgB;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,MAAM,OAAO,GAAY;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YACxD,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,OAAO,EAAE,UAAU;YACnB,WAAW,EAAE,QAAQ;SACtB,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC5B,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;SAC1C,CAAC,CAAC;QACH,QAAQ,CAAC,KAAK,CAAC,0BAA0B,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE;YAC7B,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAQD,KAAK,UAAU,iBAAiB,CAAC,KAAe,EAAE,IAAe;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE;QAC1B,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;KAClC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,yBAAyB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC5E,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEtB,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACxD,QAAQ;gBACR,OAAO,EAAE,UAAU;gBACnB,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;gBACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;aACzC,CAAC,CAAC;YACH,QAAQ,CAAC,KAAK,CAAC,0BAA0B,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE;YAC7B,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAUD,KAAK,UAAU,gBAAgB,CAAC,KAAe,EAAE,IAAc;IAC7D,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU;QAAE,OAAO;IAExB,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IACD,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC;IAEzC,MAAM,WAAW,GAAG,kBAAkB,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9F,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE;QAC1B,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;KAC1C,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,MAAM,QAAQ,CAA6B;QAC7D,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;YACjC,OAAO,MAAM,CAAC,UAAU,CAAC,YAAY,CACnC,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,EAClE,WAAW,CAAC,KAAK,CAAC,CACnB,CAAC;QACJ,CAAC;QACD,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;QACnE,OAAO,EAAE,UAAU;KACpB,CAAC,CAAC;IACH,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrC,QAAQ,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE;QAC5B,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC"}
@@ -2,7 +2,7 @@ import { Command } from "@commander-js/extra-typings";
2
2
  /**
3
3
  * Formats command.
4
4
  *
5
- * Calls GET /v1/translation/document/formats, displays table or JSON.
5
+ * Calls GET /v1/formats, displays table or JSON.
6
6
  */
7
7
  export declare const formatsCommand: Command<[], {}, {}>;
8
8
  //# sourceMappingURL=formats.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formats.d.ts","sourceRoot":"","sources":["../../src/commands/formats.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAUtD;;;;GAIG;AACH,eAAO,MAAM,cAAc,qBAuBvB,CAAC"}
1
+ {"version":3,"file":"formats.d.ts","sourceRoot":"","sources":["../../src/commands/formats.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAWtD;;;;GAIG;AACH,eAAO,MAAM,cAAc,qBA2BvB,CAAC"}
@@ -1,6 +1,8 @@
1
1
  // See API-486: Formats command - list supported document formats
2
+ // Pattern: follows healthCommand (simple GET + table/JSON output).
2
3
  import { Command } from "@commander-js/extra-typings";
3
4
  import { getApiClient } from "../api/client.js";
5
+ import { isJsonMode } from "../cli/options.js";
4
6
  import { terminal, createFormatsTableModel } from "../output/index.js";
5
7
  import { toFormatInfoVMList } from "./mappers.js";
6
8
  import { t } from "../i18n/index.js";
@@ -10,7 +12,7 @@ const log = getLogger(import.meta.url);
10
12
  /**
11
13
  * Formats command.
12
14
  *
13
- * Calls GET /v1/translation/document/formats, displays table or JSON.
15
+ * Calls GET /v1/formats, displays table or JSON.
14
16
  */
15
17
  export const formatsCommand = new Command("formats")
16
18
  .description("List supported document formats")
@@ -23,12 +25,17 @@ export const formatsCommand = new Command("formats")
23
25
  command: "formats",
24
26
  duration_ms: String(Date.now() - startMs),
25
27
  });
26
- if (formats.length === 0) {
27
- terminal.info(t("formats.no_formats"));
28
+ if (isJsonMode()) {
29
+ terminal.json(formats);
28
30
  }
29
31
  else {
30
- terminal.table(createFormatsTableModel(toFormatInfoVMList(formats)));
31
- terminal.info(`\n${t("formats.total", { count: String(formats.length) })}`);
32
+ if (formats.length === 0) {
33
+ terminal.info(t("formats.no_formats"));
34
+ }
35
+ else {
36
+ terminal.table(createFormatsTableModel(toFormatInfoVMList(formats)));
37
+ terminal.info(`\n${t("formats.total", { count: String(formats.length) })}`);
38
+ }
32
39
  }
33
40
  }
34
41
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"formats.js","sourceRoot":"","sources":["../../src/commands/formats.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpD,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC5B,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;SAC1C,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACrE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE;YAC7B,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"formats.js","sourceRoot":"","sources":["../../src/commands/formats.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,mEAAmE;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpD,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC5B,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;SAC1C,CAAC,CAAC;QACH,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE;YAC7B,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -45,6 +45,8 @@ export interface TrackJobOptions {
45
45
  silent?: boolean;
46
46
  /** External progress callback (for aggregate display in parallel mode). */
47
47
  onProgress?: OnProgress;
48
+ /** Job timeout in seconds (0 = disabled). Default: from config cli.job_timeout. */
49
+ timeout?: number;
48
50
  }
49
51
  /**
50
52
  * Track job with SSE-first, polling fallback. Manages progress display via ProgressSink.
@@ -1 +1 @@
1
- {"version":3,"file":"job-tracking.d.ts","sourceRoot":"","sources":["../../src/commands/job-tracking.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAoBlD,yCAAyC;AACzC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CAC/F;AAID;;;GAGG;AACH,qBAAa,UAAW,YAAW,UAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;gBAEvB,MAAM,EAAE,SAAS;IAIvB,KAAK,CACT,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,UAAU,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;CAkC7B;AAID;;;GAGG;AACH,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,MAAM,EAAE,SAAS,EAAE,YAAY,GAAE,MAA8B;IAKrE,KAAK,CACT,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,UAAU,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;CAgD7B;AAID,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IACtC,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAuFjB"}
1
+ {"version":3,"file":"job-tracking.d.ts","sourceRoot":"","sources":["../../src/commands/job-tracking.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAoBlD,yCAAyC;AACzC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CAC/F;AAID;;;GAGG;AACH,qBAAa,UAAW,YAAW,UAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;gBAEvB,MAAM,EAAE,SAAS;IAIvB,KAAK,CACT,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,UAAU,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;CAkC7B;AAID;;;GAGG;AACH,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,MAAM,EAAE,SAAS,EAAE,YAAY,GAAE,MAA8B;IAKrE,KAAK,CACT,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,UAAU,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;CAgE7B;AAID,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IACtC,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAoGjB"}