prompsit-cli 26.302.1318 → 26.303.1903

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 (119) hide show
  1. package/README.md +27 -22
  2. package/dist/api/curl.d.ts.map +1 -1
  3. package/dist/api/curl.js +3 -0
  4. package/dist/api/curl.js.map +1 -1
  5. package/dist/api/models.d.ts +25 -15
  6. package/dist/api/models.d.ts.map +1 -1
  7. package/dist/api/models.js +18 -13
  8. package/dist/api/models.js.map +1 -1
  9. package/dist/api/resources/data.d.ts +1 -1
  10. package/dist/api/resources/data.d.ts.map +1 -1
  11. package/dist/api/resources/data.js +8 -5
  12. package/dist/api/resources/data.js.map +1 -1
  13. package/dist/api/resources/discovery.d.ts +3 -3
  14. package/dist/api/resources/discovery.d.ts.map +1 -1
  15. package/dist/api/resources/discovery.js +5 -7
  16. package/dist/api/resources/discovery.js.map +1 -1
  17. package/dist/commands/annotate.d.ts +0 -1
  18. package/dist/commands/annotate.d.ts.map +1 -1
  19. package/dist/commands/annotate.js +37 -86
  20. package/dist/commands/annotate.js.map +1 -1
  21. package/dist/commands/batch-processor.d.ts.map +1 -1
  22. package/dist/commands/batch-processor.js +34 -29
  23. package/dist/commands/batch-processor.js.map +1 -1
  24. package/dist/commands/evaluate.d.ts +15 -3
  25. package/dist/commands/evaluate.d.ts.map +1 -1
  26. package/dist/commands/evaluate.js +142 -133
  27. package/dist/commands/evaluate.js.map +1 -1
  28. package/dist/commands/job-tracking.d.ts +2 -0
  29. package/dist/commands/job-tracking.d.ts.map +1 -1
  30. package/dist/commands/job-tracking.js +29 -3
  31. package/dist/commands/job-tracking.js.map +1 -1
  32. package/dist/commands/score.d.ts +2 -0
  33. package/dist/commands/score.d.ts.map +1 -1
  34. package/dist/commands/score.js +61 -97
  35. package/dist/commands/score.js.map +1 -1
  36. package/dist/commands/show-formats.js +19 -18
  37. package/dist/commands/show-formats.js.map +1 -1
  38. package/dist/commands/show-languages.d.ts +3 -5
  39. package/dist/commands/show-languages.d.ts.map +1 -1
  40. package/dist/commands/show-languages.js +34 -34
  41. package/dist/commands/show-languages.js.map +1 -1
  42. package/dist/commands/translate.d.ts +12 -3
  43. package/dist/commands/translate.d.ts.map +1 -1
  44. package/dist/commands/translate.js +102 -139
  45. package/dist/commands/translate.js.map +1 -1
  46. package/dist/config/schemas.d.ts +2 -0
  47. package/dist/config/schemas.d.ts.map +1 -1
  48. package/dist/config/schemas.js +1 -0
  49. package/dist/config/schemas.js.map +1 -1
  50. package/dist/errors/catalog.js +1 -1
  51. package/dist/errors/catalog.js.map +1 -1
  52. package/dist/i18n/catalog.d.ts +18 -21
  53. package/dist/i18n/catalog.d.ts.map +1 -1
  54. package/dist/i18n/catalog.js +18 -21
  55. package/dist/i18n/catalog.js.map +1 -1
  56. package/dist/output/progress-display.d.ts.map +1 -1
  57. package/dist/output/progress-display.js +0 -9
  58. package/dist/output/progress-display.js.map +1 -1
  59. package/dist/output/tables/catalog.d.ts +1 -2
  60. package/dist/output/tables/catalog.d.ts.map +1 -1
  61. package/dist/output/tables/catalog.js +2 -3
  62. package/dist/output/tables/catalog.js.map +1 -1
  63. package/dist/program.js +8 -7
  64. package/dist/program.js.map +1 -1
  65. package/dist/repl/controller.d.ts.map +1 -1
  66. package/dist/repl/controller.js +33 -11
  67. package/dist/repl/controller.js.map +1 -1
  68. package/dist/repl/examples.d.ts +8 -4
  69. package/dist/repl/examples.d.ts.map +1 -1
  70. package/dist/repl/examples.js +34 -22
  71. package/dist/repl/examples.js.map +1 -1
  72. package/dist/repl/executor.d.ts.map +1 -1
  73. package/dist/repl/executor.js +63 -60
  74. package/dist/repl/executor.js.map +1 -1
  75. package/dist/repl/help.d.ts.map +1 -1
  76. package/dist/repl/help.js +5 -5
  77. package/dist/repl/help.js.map +1 -1
  78. package/dist/repl/input/autocomplete-provider.d.ts +1 -1
  79. package/dist/repl/input/autocomplete-provider.d.ts.map +1 -1
  80. package/dist/repl/input/autocomplete-provider.js +24 -2
  81. package/dist/repl/input/autocomplete-provider.js.map +1 -1
  82. package/dist/repl/input/completer.d.ts.map +1 -1
  83. package/dist/repl/input/completer.js +10 -6
  84. package/dist/repl/input/completer.js.map +1 -1
  85. package/dist/repl/input/input-handler.d.ts.map +1 -1
  86. package/dist/repl/input/input-handler.js +5 -0
  87. package/dist/repl/input/input-handler.js.map +1 -1
  88. package/dist/repl/registry.d.ts +16 -11
  89. package/dist/repl/registry.d.ts.map +1 -1
  90. package/dist/repl/registry.js +101 -131
  91. package/dist/repl/registry.js.map +1 -1
  92. package/dist/repl/service.d.ts +1 -1
  93. package/dist/repl/service.js +1 -1
  94. package/dist/repl/ui/components/history-component.d.ts.map +1 -1
  95. package/dist/repl/ui/components/history-component.js +2 -2
  96. package/dist/repl/ui/components/history-component.js.map +1 -1
  97. package/dist/runtime/file-args.d.ts.map +1 -1
  98. package/dist/runtime/file-args.js +3 -1
  99. package/dist/runtime/file-args.js.map +1 -1
  100. package/dist/runtime/input-detect.d.ts +10 -0
  101. package/dist/runtime/input-detect.d.ts.map +1 -0
  102. package/dist/runtime/input-detect.js +19 -0
  103. package/dist/runtime/input-detect.js.map +1 -0
  104. package/dist/runtime/progress-sink.d.ts +0 -4
  105. package/dist/runtime/progress-sink.d.ts.map +1 -1
  106. package/dist/runtime/progress-sink.js +0 -2
  107. package/dist/runtime/progress-sink.js.map +1 -1
  108. package/dist/shared/constants.d.ts +7 -1
  109. package/dist/shared/constants.d.ts.map +1 -1
  110. package/dist/shared/constants.js +7 -1
  111. package/dist/shared/constants.js.map +1 -1
  112. package/examples/{sample_scored.tmx → score/sample.tmx} +7 -7
  113. package/package.json +4 -2
  114. package/scripts/post-install.cjs +23 -0
  115. /package/examples/{sample.jsonl → annotate/sample.jsonl} +0 -0
  116. /package/examples/{sample.tmx → evaluate/sample.tmx} +0 -0
  117. /package/examples/{sample.csv → translate/sample.csv} +0 -0
  118. /package/examples/{sample.txt → translate/sample.txt} +0 -0
  119. /package/examples/{sample.xliff → translate/sample.xliff} +0 -0
@@ -2,18 +2,16 @@
2
2
  // Workflow: validate -> upload -> track (SSE/polling) -> download.
3
3
  // Reuses trackJob() facade and runBatch() for multi-file parallel processing.
4
4
  import { basename } from "node:path";
5
- import { Command } from "@commander-js/extra-typings";
5
+ import { Command, Option } from "@commander-js/extra-typings";
6
6
  import { getApiClient } from "../api/client.js";
7
7
  import { trackJob } from "./job-tracking.js";
8
8
  import { runBatch } from "./batch-processor.js";
9
9
  import { t } from "../i18n/index.js";
10
- import { terminal } from "../output/index.js";
11
10
  import { showFormats } from "./show-formats.js";
12
- import { showLanguages } from "./show-languages.js";
13
- import { VALID_PIPELINE_STAGES, VALID_LID_MODELS } from "../shared/constants.js";
11
+ import { VALID_PIPELINE_STAGES, VALID_LID_MODELS, DEFAULT_LID_MODEL } from "../shared/constants.js";
14
12
  import { getLogger } from "../logging/index.js";
15
13
  import { ErrorCode } from "../errors/codes.js";
16
- import { failCommand, handleCommandError } from "./error-handler.js";
14
+ import { failCommand } from "./error-handler.js";
17
15
  import { tryExpandFileArgs, resolveOutputPaths } from "../runtime/file-args.js";
18
16
  import { getCurrentAbortSignal } from "../runtime/request-context.js";
19
17
  const log = getLogger(import.meta.url);
@@ -47,30 +45,16 @@ export const annotateCommand = new Command("annotate")
47
45
  .option("-l, --lang <code>", "Language code (e.g. en, es, zh-Hans)")
48
46
  .option("--out <dir>", "Output directory (default: beside input file)")
49
47
  .option("-p, --pipeline <stages>", "Pipeline stages (e.g. lid,pii,monofixer,docscorer,adult_filter,dedup)")
50
- .option("--min-len <n>", "Min document length in chars (API default: 500)")
51
- .option("--min-avg-words <n>", "Min average words per segment (API default: 5)")
52
- .option("--lid-model <model>", "LID model: openlid-v2, nllb, openlid-v3")
48
+ .addOption(new Option("--min-len <n>", "Min document length in chars (API default: 500)").hideHelp())
49
+ .addOption(new Option("--min-avg-words <n>", "Min average words per segment (API default: 5)").hideHelp())
50
+ .addOption(new Option("--lid-model <model>", "LID model: openlid-v3 (default), openlid-v2, nllb").hideHelp())
53
51
  .option("--formats", "Show supported file formats", false)
54
- .option("--languages", "Show supported annotation languages", false)
55
52
  .action(async (inputFiles, opts) => {
56
53
  // Early-exit: --formats shows annotation input formats
57
54
  if (opts.formats) {
58
55
  await showFormats("annotate");
59
56
  return;
60
57
  }
61
- // Early-exit: --languages shows supported annotation languages for a LID model
62
- if (opts.languages) {
63
- if (!opts.lidModel) {
64
- failCommand(ErrorCode.VALIDATION, t("validate.annotate.languages_missing_model"), t("validate.annotate.languages_model_hint"));
65
- return;
66
- }
67
- if (!VALID_LID_MODELS.has(opts.lidModel)) {
68
- failCommand(ErrorCode.VALIDATION, `${t("annotate.invalid_lid_model")} ${opts.lidModel}`, t("annotate.lid_model_hint"));
69
- return;
70
- }
71
- await showLanguages("annotation", { model: opts.lidModel });
72
- return;
73
- }
74
58
  if (inputFiles.length === 0) {
75
59
  failCommand(ErrorCode.VALIDATION, t("validate.missing_argument", { name: "input-files" }));
76
60
  return;
@@ -79,14 +63,14 @@ export const annotateCommand = new Command("annotate")
79
63
  failCommand(ErrorCode.VALIDATION, t("validate.missing_option", { option: "-l, --lang <code>" }));
80
64
  return;
81
65
  }
82
- // Validate required pipeline
83
- if (!opts.pipeline) {
84
- failCommand(ErrorCode.VALIDATION, t("validate.annotate.missing_pipeline"), t("validate.annotate.pipeline_hint"));
85
- return;
66
+ // Validate optional pipeline stages
67
+ let pipelineStages;
68
+ if (opts.pipeline) {
69
+ const parsed = parseAndValidatePipeline(opts.pipeline);
70
+ if (!parsed)
71
+ return;
72
+ pipelineStages = parsed;
86
73
  }
87
- const pipelineStages = parseAndValidatePipeline(opts.pipeline);
88
- if (!pipelineStages)
89
- return;
90
74
  // Validate optional int params
91
75
  let minLen;
92
76
  if (opts.minLen != null) {
@@ -102,9 +86,10 @@ export const annotateCommand = new Command("annotate")
102
86
  return;
103
87
  minAvgWords = parsed;
104
88
  }
105
- // Validate optional LID model
106
- if (opts.lidModel != null && !VALID_LID_MODELS.has(opts.lidModel)) {
107
- failCommand(ErrorCode.VALIDATION, `${t("annotate.invalid_lid_model")} ${opts.lidModel}`, t("annotate.lid_model_hint"));
89
+ // Validate LID model (defaults to openlid-v3)
90
+ const lidModel = opts.lidModel ?? DEFAULT_LID_MODEL;
91
+ if (!VALID_LID_MODELS.has(lidModel)) {
92
+ failCommand(ErrorCode.VALIDATION, `${t("annotate.invalid_lid_model")} ${lidModel}`, t("annotate.lid_model_hint"));
108
93
  return;
109
94
  }
110
95
  const expandResult = tryExpandFileArgs(inputFiles);
@@ -119,67 +104,33 @@ export const annotateCommand = new Command("annotate")
119
104
  pipeline: pipelineStages,
120
105
  minLen,
121
106
  minAvgWords,
122
- lidModel: opts.lidModel,
107
+ lidModel,
123
108
  };
124
109
  const outputPaths = resolveOutputPaths(resolvedFiles, "_annotated", opts.out, "jsonl.zst");
125
110
  const client = getApiClient();
126
111
  const signal = getCurrentAbortSignal();
127
112
  const startMs = Date.now();
128
113
  log.info("Command started", { command: "annotate" });
129
- if (resolvedFiles.length === 1) {
130
- // Single file: detailed UX
131
- try {
132
- terminal.success(t("annotate.upload_status"));
133
- const response = await client.data.annotate({
134
- filePath: resolvedFiles[0],
135
- ...annotateBase,
136
- });
137
- const jobId = response.job_id;
138
- terminal.dim(`${t("annotate.job_created")} ${jobId}`);
139
- const resultUrl = await trackJob(client, jobId, {
140
- description: "Annotating",
141
- pollInterval: response.retry_after ?? undefined,
114
+ await runBatch({
115
+ items: resolvedFiles,
116
+ label: (f) => basename(f),
117
+ process: async (filePath, index, onProgress) => {
118
+ const resp = await client.data.annotate({ filePath, ...annotateBase });
119
+ const resultUrl = await trackJob(client, resp.job_id, {
120
+ description: basename(filePath),
121
+ silent: true,
142
122
  signal,
123
+ onProgress,
143
124
  });
144
- terminal.success(t("annotate.download_status"));
145
- const actualPath = await client.jobs.download(resultUrl, outputPaths[0]);
146
- log.info("Command completed", {
147
- command: "annotate",
148
- duration_ms: String(Date.now() - startMs),
149
- job_id: jobId,
150
- });
151
- terminal.success(`${t("annotate.success")} ${actualPath}`);
152
- }
153
- catch (error) {
154
- handleCommandError(log, error, {
155
- command: "annotate",
156
- duration_ms: String(Date.now() - startMs),
157
- });
158
- }
159
- }
160
- else {
161
- // Multiple files: parallel processing
162
- await runBatch({
163
- items: resolvedFiles,
164
- label: (f) => basename(f),
165
- process: async (filePath, index, onProgress) => {
166
- const resp = await client.data.annotate({ filePath, ...annotateBase });
167
- const resultUrl = await trackJob(client, resp.job_id, {
168
- description: basename(filePath),
169
- silent: true,
170
- signal,
171
- onProgress,
172
- });
173
- return client.jobs.download(resultUrl, outputPaths[index]);
174
- },
175
- formatSuccess: (path) => `${t("annotate.success")} ${path}`,
176
- command: "annotate",
177
- signal,
178
- });
179
- log.info("Command completed", {
180
- command: "annotate",
181
- duration_ms: String(Date.now() - startMs),
182
- });
183
- }
125
+ return client.jobs.download(resultUrl, outputPaths[index]);
126
+ },
127
+ formatSuccess: (path) => `${t("annotate.success")} ${path}`,
128
+ command: "annotate",
129
+ signal,
130
+ });
131
+ log.info("Command completed", {
132
+ command: "annotate",
133
+ duration_ms: String(Date.now() - startMs),
134
+ });
184
135
  });
185
136
  //# sourceMappingURL=annotate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotate.js","sourceRoot":"","sources":["../../src/commands/annotate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotate.js","sourceRoot":"","sources":["../../src/commands/annotate.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,mEAAmE;AACnE,8EAA8E;AAE9E,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEpG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEvC,yEAAyE;AACzE,SAAS,wBAAwB,CAAC,KAAa;IAC7C,MAAM,MAAM,GAAG,KAAK;SACjB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,WAAW,CACT,SAAS,CAAC,UAAU,EACpB,GAAG,CAAC,CAAC,2BAA2B,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACzD,CAAC,CAAC,wBAAwB,CAAC,CAC5B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mFAAmF;AACnF,SAAS,gBAAgB,CAAC,KAAa,EAAE,MAAc;IACrD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,+BAA+B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KACnD,WAAW,CAAC,kFAAkF,CAAC;KAC/F,QAAQ,CAAC,kBAAkB,EAAE,mEAAmE,CAAC;KACjG,MAAM,CAAC,mBAAmB,EAAE,sCAAsC,CAAC;KACnE,MAAM,CAAC,aAAa,EAAE,+CAA+C,CAAC;KACtE,MAAM,CACL,yBAAyB,EACzB,uEAAuE,CACxE;KACA,SAAS,CACR,IAAI,MAAM,CAAC,eAAe,EAAE,iDAAiD,CAAC,CAAC,QAAQ,EAAE,CAC1F;KACA,SAAS,CACR,IAAI,MAAM,CAAC,qBAAqB,EAAE,gDAAgD,CAAC,CAAC,QAAQ,EAAE,CAC/F;KACA,SAAS,CACR,IAAI,MAAM,CACR,qBAAqB,EACrB,mDAAmD,CACpD,CAAC,QAAQ,EAAE,CACb;KACA,MAAM,CAAC,WAAW,EAAE,6BAA6B,EAAE,KAAK,CAAC;KACzD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE;IACjC,uDAAuD;IACvD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;QAC3F,OAAO;IACT,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,WAAW,CACT,SAAS,CAAC,UAAU,EACpB,CAAC,CAAC,yBAAyB,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAC9D,CAAC;QACF,OAAO;IACT,CAAC;IACD,oCAAoC;IACpC,IAAI,cAAoC,CAAC;IACzC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,cAAc,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,+BAA+B;IAC/B,IAAI,MAA0B,CAAC;IAC/B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC1D,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO;QAC3B,MAAM,GAAG,MAAM,CAAC;IAClB,CAAC;IACD,IAAI,WAA+B,CAAC;IACpC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;QACrE,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO;QAC3B,WAAW,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,iBAAiB,CAAC;IACpD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,WAAW,CACT,SAAS,CAAC,UAAU,EACpB,GAAG,CAAC,CAAC,4BAA4B,CAAC,IAAI,QAAQ,EAAE,EAChD,CAAC,CAAC,yBAAyB,CAAC,CAC7B,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACnD,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,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,YAAY,GAAqC;QACrD,IAAI;QACJ,QAAQ,EAAE,cAAc;QACxB,MAAM;QACN,WAAW;QACX,QAAQ;KACT,CAAC;IACF,MAAM,WAAW,GAAG,kBAAkB,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAErD,MAAM,QAAQ,CAAC;QACb,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YAC7C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;YACvE,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;gBACpD,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC;gBAC/B,MAAM,EAAE,IAAI;gBACZ,MAAM;gBACN,UAAU;aACX,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,IAAI,IAAI,EAAE;QAC3D,OAAO,EAAE,UAAU;QACnB,MAAM;KACP,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE;QAC5B,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"batch-processor.d.ts","sourceRoot":"","sources":["../../src/commands/batch-processor.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,YAAY,CAAC,CAAC,EAAE,CAAC;IAChC,mDAAmD;IACnD,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,yDAAyD;IACzD,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC3B;;;;OAIG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACnF,kDAAkD;IAClD,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC;IACrC,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,CAAA;KAAE,EAAE,CAAC;CACxC;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAuEtF"}
1
+ {"version":3,"file":"batch-processor.d.ts","sourceRoot":"","sources":["../../src/commands/batch-processor.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,YAAY,CAAC,CAAC,EAAE,CAAC;IAChC,mDAAmD;IACnD,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,yDAAyD;IACzD,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC3B;;;;OAIG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACnF,kDAAkD;IAClD,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC;IACrC,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,CAAA;KAAE,EAAE,CAAC;CACxC;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CA0EtF"}
@@ -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":"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"}
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"}