@ozzylabs/feedradar 0.2.1 → 0.2.3

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 (192) hide show
  1. package/README.ja.md +51 -13
  2. package/README.md +51 -13
  3. package/dist/agents/_boundary.d.ts +21 -0
  4. package/dist/agents/_boundary.d.ts.map +1 -1
  5. package/dist/agents/_boundary.js +34 -0
  6. package/dist/agents/_boundary.js.map +1 -1
  7. package/dist/agents/claude-code.d.ts.map +1 -1
  8. package/dist/agents/claude-code.js +14 -6
  9. package/dist/agents/claude-code.js.map +1 -1
  10. package/dist/agents/codex-cli.d.ts.map +1 -1
  11. package/dist/agents/codex-cli.js +13 -7
  12. package/dist/agents/codex-cli.js.map +1 -1
  13. package/dist/agents/copilot.d.ts.map +1 -1
  14. package/dist/agents/copilot.js +13 -6
  15. package/dist/agents/copilot.js.map +1 -1
  16. package/dist/agents/gemini-cli.d.ts.map +1 -1
  17. package/dist/agents/gemini-cli.js +13 -6
  18. package/dist/agents/gemini-cli.js.map +1 -1
  19. package/dist/agents/types.d.ts +26 -0
  20. package/dist/agents/types.d.ts.map +1 -1
  21. package/dist/claude-skills/dismiss/SKILL.md +4 -4
  22. package/dist/claude-skills/research/SKILL.md +2 -3
  23. package/dist/claude-skills/review/SKILL.md +2 -2
  24. package/dist/claude-skills/update/SKILL.md +7 -7
  25. package/dist/cli/_locale.d.ts +96 -0
  26. package/dist/cli/_locale.d.ts.map +1 -0
  27. package/dist/cli/_locale.js +130 -0
  28. package/dist/cli/_locale.js.map +1 -0
  29. package/dist/cli/_progress.d.ts +30 -1
  30. package/dist/cli/_progress.d.ts.map +1 -1
  31. package/dist/cli/_progress.js +9 -1
  32. package/dist/cli/_progress.js.map +1 -1
  33. package/dist/cli/dismiss.d.ts.map +1 -1
  34. package/dist/cli/dismiss.js +61 -54
  35. package/dist/cli/dismiss.js.map +1 -1
  36. package/dist/cli/doctor.d.ts +8 -0
  37. package/dist/cli/doctor.d.ts.map +1 -1
  38. package/dist/cli/doctor.js +91 -60
  39. package/dist/cli/doctor.js.map +1 -1
  40. package/dist/cli/index.d.ts +36 -1
  41. package/dist/cli/index.d.ts.map +1 -1
  42. package/dist/cli/index.js +81 -18
  43. package/dist/cli/index.js.map +1 -1
  44. package/dist/cli/init.d.ts +15 -0
  45. package/dist/cli/init.d.ts.map +1 -1
  46. package/dist/cli/init.js +149 -51
  47. package/dist/cli/init.js.map +1 -1
  48. package/dist/cli/items.d.ts.map +1 -1
  49. package/dist/cli/items.js +51 -30
  50. package/dist/cli/items.js.map +1 -1
  51. package/dist/cli/research.d.ts.map +1 -1
  52. package/dist/cli/research.js +138 -109
  53. package/dist/cli/research.js.map +1 -1
  54. package/dist/cli/review.d.ts.map +1 -1
  55. package/dist/cli/review.js +114 -92
  56. package/dist/cli/review.js.map +1 -1
  57. package/dist/cli/routine/fire.d.ts +3 -2
  58. package/dist/cli/routine/fire.d.ts.map +1 -1
  59. package/dist/cli/routine/fire.js +30 -25
  60. package/dist/cli/routine/fire.js.map +1 -1
  61. package/dist/cli/routine/generate-pipeline.d.ts +24 -10
  62. package/dist/cli/routine/generate-pipeline.d.ts.map +1 -1
  63. package/dist/cli/routine/generate-pipeline.js +158 -83
  64. package/dist/cli/routine/generate-pipeline.js.map +1 -1
  65. package/dist/cli/routine/generate-watch.d.ts +56 -1
  66. package/dist/cli/routine/generate-watch.d.ts.map +1 -1
  67. package/dist/cli/routine/generate-watch.js +116 -42
  68. package/dist/cli/routine/generate-watch.js.map +1 -1
  69. package/dist/cli/routine.d.ts.map +1 -1
  70. package/dist/cli/routine.js +28 -24
  71. package/dist/cli/routine.js.map +1 -1
  72. package/dist/cli/source.d.ts.map +1 -1
  73. package/dist/cli/source.js +212 -182
  74. package/dist/cli/source.js.map +1 -1
  75. package/dist/cli/state.d.ts +43 -0
  76. package/dist/cli/state.d.ts.map +1 -0
  77. package/dist/cli/state.js +177 -0
  78. package/dist/cli/state.js.map +1 -0
  79. package/dist/cli/triage.d.ts.map +1 -1
  80. package/dist/cli/triage.js +146 -130
  81. package/dist/cli/triage.js.map +1 -1
  82. package/dist/cli/undismiss.d.ts.map +1 -1
  83. package/dist/cli/undismiss.js +32 -25
  84. package/dist/cli/undismiss.js.map +1 -1
  85. package/dist/cli/update.d.ts.map +1 -1
  86. package/dist/cli/update.js +77 -61
  87. package/dist/cli/update.js.map +1 -1
  88. package/dist/cli/watch.d.ts.map +1 -1
  89. package/dist/cli/watch.js +71 -31
  90. package/dist/cli/watch.js.map +1 -1
  91. package/dist/cli/workflow/generate-combined-with-triage.d.ts +9 -2
  92. package/dist/cli/workflow/generate-combined-with-triage.d.ts.map +1 -1
  93. package/dist/cli/workflow/generate-combined-with-triage.js +120 -71
  94. package/dist/cli/workflow/generate-combined-with-triage.js.map +1 -1
  95. package/dist/cli/workflow/generate-combined.d.ts +8 -1
  96. package/dist/cli/workflow/generate-combined.d.ts.map +1 -1
  97. package/dist/cli/workflow/generate-combined.js +39 -33
  98. package/dist/cli/workflow/generate-combined.js.map +1 -1
  99. package/dist/cli/workflow/generate-watch.d.ts +10 -1
  100. package/dist/cli/workflow/generate-watch.d.ts.map +1 -1
  101. package/dist/cli/workflow/generate-watch.js +37 -30
  102. package/dist/cli/workflow/generate-watch.js.map +1 -1
  103. package/dist/cli/workflow.d.ts.map +1 -1
  104. package/dist/cli/workflow.js +28 -23
  105. package/dist/cli/workflow.js.map +1 -1
  106. package/dist/core/config.d.ts +2 -1
  107. package/dist/core/config.d.ts.map +1 -1
  108. package/dist/core/config.js +14 -4
  109. package/dist/core/config.js.map +1 -1
  110. package/dist/core/feeds/html-js.d.ts.map +1 -1
  111. package/dist/core/feeds/html-js.js +16 -9
  112. package/dist/core/feeds/html-js.js.map +1 -1
  113. package/dist/core/feeds/json-api.d.ts.map +1 -1
  114. package/dist/core/feeds/json-api.js +38 -21
  115. package/dist/core/feeds/json-api.js.map +1 -1
  116. package/dist/core/feeds/types.d.ts +9 -0
  117. package/dist/core/feeds/types.d.ts.map +1 -1
  118. package/dist/core/filter.d.ts +20 -12
  119. package/dist/core/filter.d.ts.map +1 -1
  120. package/dist/core/filter.js +87 -46
  121. package/dist/core/filter.js.map +1 -1
  122. package/dist/core/locale.d.ts +69 -0
  123. package/dist/core/locale.d.ts.map +1 -0
  124. package/dist/core/locale.js +74 -0
  125. package/dist/core/locale.js.map +1 -0
  126. package/dist/core/state.d.ts +20 -0
  127. package/dist/core/state.d.ts.map +1 -1
  128. package/dist/core/state.js +26 -0
  129. package/dist/core/state.js.map +1 -1
  130. package/dist/core/triage/prompt.d.ts.map +1 -1
  131. package/dist/core/triage/prompt.js +18 -4
  132. package/dist/core/triage/prompt.js.map +1 -1
  133. package/dist/core/watcher.d.ts +28 -0
  134. package/dist/core/watcher.d.ts.map +1 -1
  135. package/dist/core/watcher.js +77 -8
  136. package/dist/core/watcher.js.map +1 -1
  137. package/dist/i18n/index.d.ts +57 -0
  138. package/dist/i18n/index.d.ts.map +1 -0
  139. package/dist/i18n/index.js +49 -0
  140. package/dist/i18n/index.js.map +1 -0
  141. package/dist/i18n/messages/en.d.ts +1049 -0
  142. package/dist/i18n/messages/en.d.ts.map +1 -0
  143. package/dist/i18n/messages/en.js +1152 -0
  144. package/dist/i18n/messages/en.js.map +1 -0
  145. package/dist/i18n/messages/ja.d.ts +13 -0
  146. package/dist/i18n/messages/ja.d.ts.map +1 -0
  147. package/dist/i18n/messages/ja.js +1010 -0
  148. package/dist/i18n/messages/ja.js.map +1 -0
  149. package/dist/schemas/config.d.ts +7 -0
  150. package/dist/schemas/config.d.ts.map +1 -1
  151. package/dist/schemas/config.js +5 -0
  152. package/dist/schemas/config.js.map +1 -1
  153. package/dist/schemas/item.d.ts +1 -0
  154. package/dist/schemas/item.d.ts.map +1 -1
  155. package/dist/schemas/item.js +15 -0
  156. package/dist/schemas/item.js.map +1 -1
  157. package/dist/schemas/recipe.d.ts +7 -1
  158. package/dist/schemas/recipe.d.ts.map +1 -1
  159. package/dist/schemas/recipe.js +1 -0
  160. package/dist/schemas/recipe.js.map +1 -1
  161. package/dist/schemas/source.d.ts +40 -18
  162. package/dist/schemas/source.d.ts.map +1 -1
  163. package/dist/schemas/source.js +84 -23
  164. package/dist/schemas/source.js.map +1 -1
  165. package/dist/skills/research/SKILL.md +13 -12
  166. package/dist/skills/review/SKILL.md +13 -12
  167. package/dist/skills/update/SKILL.md +19 -19
  168. package/dist/templates/en/agents/AGENTS.md +284 -0
  169. package/dist/templates/en/claude/CLAUDE.md +5 -0
  170. package/dist/templates/en/default.md +16 -0
  171. package/dist/templates/en/digest.md +66 -0
  172. package/dist/templates/en/feedradar.md +235 -0
  173. package/dist/templates/{routines → en/routines}/pipeline.yaml.tmpl +93 -34
  174. package/dist/templates/{routines → en/routines}/watch-daily.yaml +12 -15
  175. package/dist/templates/{routines → en/routines}/watch.yaml.tmpl +11 -14
  176. package/dist/templates/{workflows → en/workflows}/combined-with-triage.template.yaml.tmpl +3 -3
  177. package/dist/templates/{workflows → en/workflows}/combined.template.yaml.tmpl +6 -6
  178. package/dist/templates/{workflows → en/workflows}/watch.template.yaml.tmpl +8 -8
  179. package/dist/templates/{workflows → en/workflows}/watch.yaml +3 -3
  180. package/dist/templates/{agents → ja/agents}/AGENTS.md +16 -16
  181. package/dist/templates/{digest.md → ja/digest.md} +5 -6
  182. package/dist/templates/{feedradar.md → ja/feedradar.md} +12 -12
  183. package/dist/templates/ja/routines/pipeline.yaml.tmpl +267 -0
  184. package/dist/templates/ja/routines/watch-daily.yaml +151 -0
  185. package/dist/templates/ja/routines/watch.yaml.tmpl +145 -0
  186. package/dist/templates/ja/workflows/combined-with-triage.template.yaml.tmpl +123 -0
  187. package/dist/templates/ja/workflows/combined.template.yaml.tmpl +109 -0
  188. package/dist/templates/ja/workflows/watch.template.yaml.tmpl +100 -0
  189. package/dist/templates/ja/workflows/watch.yaml +73 -0
  190. package/package.json +1 -1
  191. /package/dist/templates/{claude → ja/claude}/CLAUDE.md +0 -0
  192. /package/dist/templates/{default.md → ja/default.md} +0 -0
@@ -7,8 +7,10 @@ import { getAgentAdapter } from "../agents/index.js";
7
7
  import { getDefaultAgent, loadRadarConfig, RadarConfigError } from "../core/config.js";
8
8
  import { loadItems } from "../core/items.js";
9
9
  import { loadTemplate } from "../core/templates.js";
10
+ import { createTranslator } from "../i18n/index.js";
10
11
  import { AgentIdSchema, ResearchFrontmatterSchema } from "../schemas/index.js";
11
12
  import { resolveCommitPathInside } from "./_commit-path.js";
13
+ import { LangFlagError, resolveCommandLocale } from "./_locale.js";
12
14
  import { buildAgentProgressCallback, buildReporter, ProgressFlagError, parseProgressFlags, pollOutputFileSize, } from "./_progress.js";
13
15
  /**
14
16
  * gray-matter defaults to js-yaml which auto-converts ISO 8601 strings to
@@ -60,35 +62,8 @@ function parseArgs(args) {
60
62
  }
61
63
  return out;
62
64
  }
63
- function printHelp(log) {
64
- log("Usage:");
65
- log(" radar update <research-id> [--agent <agent-id>] [--template <template-id>]");
66
- log(" radar update <research-id> --emit-payload [--template <id>]");
67
- log(" radar update --commit <path>");
68
- log("");
69
- log("Arguments:");
70
- log(" <research-id> Research id (basename of research/<id>.md without .md)");
71
- log("");
72
- log("Options:");
73
- log(" --agent <agent-id> claude-code | codex-cli | gemini-cli | copilot (default: claude-code)");
74
- log(" --template <id> Template id under templates/ (default: default)");
75
- log(" --emit-payload Host-agent mode (ADR-0019): print the update payload to");
76
- log(" stdout and DO NOT spawn an agent. The interactive host");
77
- log(" session runs the SKILL procedure itself, then finalizes");
78
- log(" with `radar update --commit <path>`. Interactive/opt-in");
79
- log(" only — CI/headless must use the default spawn path.");
80
- log(" --commit <path> Host-agent mode (ADR-0019): validate an externally-written");
81
- log(" v+1 report (under <cwd>/research/) against ResearchFrontmatter-");
82
- log(" Schema, assert the v+1 invariants against the `supersedes`");
83
- log(" predecessor, and leave items.yaml untouched (ADR-0008).");
84
- log(" --verbose Stream the agent CLI's stdout/stderr in addition to phase markers.");
85
- log(" --quiet Suppress phase markers and spinner; print only the completion line.");
86
- log(" Equivalent to setting RADAR_NO_PROGRESS=1 (ADR-0015 D2).");
87
- log("");
88
- log("Generates research/<base>_v<n+1>.md from the supplied predecessor id,");
89
- log("writing `supersedes: <prev id>` into the new file's frontmatter. The");
90
- log("predecessor file is never modified (immutable history, ADR-0003), and");
91
- log("the linked items/<id>.yaml `status` is left untouched (ADR-0008).");
65
+ function printHelp(t, log) {
66
+ log(t("cli.update.help"));
92
67
  }
93
68
  async function pathExists(p) {
94
69
  try {
@@ -125,7 +100,7 @@ function resolveResearchPath(cwd, researchId) {
125
100
  function parseResearchId(id) {
126
101
  const match = id.match(/^(.+)_v(\d+)$/);
127
102
  if (!match) {
128
- throw new Error(`invalid research id '${id}': expected <base>_v<N> (ADR-0003 filename format)`);
103
+ throw new Error(`invalid research id '${id}': expected <base>_v<N> filename format`);
129
104
  }
130
105
  const version = Number.parseInt(match[2], 10);
131
106
  if (!Number.isFinite(version) || version < 1) {
@@ -162,12 +137,12 @@ async function findItemsForResearch(cwd, itemIds) {
162
137
  * the spawn path so the host-agent emit path resolves the same agent without
163
138
  * duplicating the priority chain.
164
139
  */
165
- async function resolveUpdateAgent(cwd, rawAgent, error) {
140
+ async function resolveUpdateAgent(cwd, rawAgent, error, t) {
166
141
  let explicitAgent;
167
142
  if (rawAgent !== undefined) {
168
143
  const agentResult = AgentIdSchema.safeParse(rawAgent);
169
144
  if (!agentResult.success) {
170
- error(`update: invalid --agent '${rawAgent}' (expected: claude-code | codex-cli | gemini-cli | copilot)`);
145
+ error(t("cli.agent.invalid", { cmd: "update", agent: rawAgent }));
171
146
  return { exitCode: 2 };
172
147
  }
173
148
  explicitAgent = agentResult.data;
@@ -199,7 +174,7 @@ async function resolveUpdateAgent(cwd, rawAgent, error) {
199
174
  * status guards as the spawn path, without the model-call step.
200
175
  */
201
176
  async function prepareUpdate(params) {
202
- const { cwd, researchId, warn, error, progress } = params;
177
+ const { cwd, researchId, warn, error, progress, t } = params;
203
178
  // Resolve predecessor research path.
204
179
  let prevId;
205
180
  let prevPath;
@@ -213,7 +188,7 @@ async function prepareUpdate(params) {
213
188
  return { exitCode: 2 };
214
189
  }
215
190
  if (!(await pathExists(prevPath))) {
216
- error(`update: research file not found: ${prevPath}`);
191
+ error(t("cli.update.fileNotFound", { path: prevPath }));
217
192
  return { exitCode: 1 };
218
193
  }
219
194
  // Parse predecessor frontmatter.
@@ -264,7 +239,7 @@ async function prepareUpdate(params) {
264
239
  const newId = `${base}_v${newVersion}`;
265
240
  const outputPath = join(cwd, "research", `${newId}.md`);
266
241
  if (await pathExists(outputPath)) {
267
- error(`update: ${outputPath} already exists. v${newVersion} was already generated pick a different predecessor or remove the stale file.`);
242
+ error(t("cli.update.alreadyExists", { path: outputPath, version: newVersion }));
268
243
  return { exitCode: 1 };
269
244
  }
270
245
  // Resolve linked items. They are needed by the adapter (passed through as
@@ -303,8 +278,8 @@ async function prepareUpdate(params) {
303
278
  }
304
279
  // Phase marker: items resolved.
305
280
  progress.phase(linkedItems.length === 1
306
- ? `Loaded item: ${linkedItems[0].id}`
307
- : `Loaded ${linkedItems.length} items`, linkedItems.map((i) => i.id).join(", "));
281
+ ? t("cli.progress.loadedItem", { id: linkedItems[0].id })
282
+ : t("cli.progress.loadedItems", { count: linkedItems.length }), linkedItems.map((i) => i.id).join(", "));
308
283
  return { prevId, prevBody, prevFm, base, newVersion, newId, outputPath, linkedItems };
309
284
  }
310
285
  /**
@@ -324,7 +299,7 @@ async function prepareUpdate(params) {
324
299
  * never mutated either way).
325
300
  */
326
301
  async function finalizeUpdate(params) {
327
- const { outputPath, prevFm, newId, agent, linkedItems, log, warn, error, progress } = params;
302
+ const { outputPath, prevFm, newId, agent, linkedItems, log, warn, error, progress, t } = params;
328
303
  if (!(await pathExists(outputPath))) {
329
304
  error(`update: did not write ${outputPath} (agent / host ignored the output path?)`);
330
305
  return 1;
@@ -397,16 +372,19 @@ async function finalizeUpdate(params) {
397
372
  }
398
373
  // Phase marker emitted after the optional auto-correction so the user sees
399
374
  // "validated" only once the on-disk file is known to satisfy the schema.
400
- progress.phase("Frontmatter validated");
375
+ progress.phase(t("cli.progress.frontmatterValidated"));
401
376
  // `update` deliberately preserves items.yaml status (ADR-0008). We still
402
377
  // surface a status phase marker so the progress stream stays uniform with
403
378
  // research / review — the value just records the no-op transition. The
404
379
  // commit path has no resolved linked items, so it skips the per-item marker.
405
380
  if (linkedItems !== undefined && linkedItems.length > 0) {
406
- progress.phase(`Status: ${linkedItems[0].status} → ${linkedItems[0].status}`, "items.yaml unchanged per ADR-0008");
381
+ progress.phase(t("cli.progress.statusTransition", {
382
+ from: linkedItems[0].status,
383
+ to: linkedItems[0].status,
384
+ }), "items.yaml unchanged");
407
385
  }
408
- log(`update: wrote ${outputPath}`);
409
- log(`update: supersedes ${prevFm.id} (items.yaml status unchanged per ADR-0008)`);
386
+ log(t("cli.update.wrote", { path: outputPath }));
387
+ log(t("cli.update.supersedes", { prevId: prevFm.id }));
410
388
  return 0;
411
389
  }
412
390
  /**
@@ -417,8 +395,8 @@ async function finalizeUpdate(params) {
417
395
  * via `radar update --commit`.
418
396
  */
419
397
  async function runUpdateEmitPayload(params) {
420
- const { cwd, researchId, agent, templateId, log, warn, error, progress } = params;
421
- const prepared = await prepareUpdate({ cwd, researchId, warn, error, progress });
398
+ const { cwd, researchId, agent, templateId, log, warn, error, progress, t } = params;
399
+ const prepared = await prepareUpdate({ cwd, researchId, warn, error, progress, t });
422
400
  if ("exitCode" in prepared)
423
401
  return prepared.exitCode;
424
402
  const templatesDir = join(cwd, "templates");
@@ -430,7 +408,7 @@ async function runUpdateEmitPayload(params) {
430
408
  error(`update: ${e instanceof Error ? e.message : String(e)}`);
431
409
  return 1;
432
410
  }
433
- progress.phase(`Loaded template: ${templateId}.md`);
411
+ progress.phase(t("cli.progress.loadedTemplate", { templateId }));
434
412
  log(renderUpdatePayloadBlock({
435
413
  agent,
436
414
  templateId,
@@ -454,7 +432,7 @@ async function runUpdateEmitPayload(params) {
454
432
  * code, not just SKILL guidance).
455
433
  */
456
434
  async function runUpdateCommit(params) {
457
- const { cwd, commitPath, log, warn, error, progress } = params;
435
+ const { cwd, commitPath, log, warn, error, progress, t } = params;
458
436
  const guard = await resolveCommitPathInside(cwd, "research", commitPath);
459
437
  if ("error" in guard) {
460
438
  error(`update: ${guard.error}`);
@@ -494,7 +472,7 @@ async function runUpdateCommit(params) {
494
472
  // v+1 from v(N)); a null supersedes means the host wrote a v1, which is a
495
473
  // `research` artifact, not an `update` artifact.
496
474
  if (newFm.supersedes === null) {
497
- error("update: --commit report has `supersedes: null`. update finalizes a v+1 (use `radar research --commit` for a v1).");
475
+ error(t("cli.update.commitSupersedesNull"));
498
476
  return 1;
499
477
  }
500
478
  // Recover the predecessor frontmatter from research/<supersedes>.md so the
@@ -569,6 +547,7 @@ async function runUpdateCommit(params) {
569
547
  warn,
570
548
  error,
571
549
  progress,
550
+ t,
572
551
  });
573
552
  }
574
553
  /**
@@ -617,17 +596,49 @@ export async function runUpdate(args, options = {}) {
617
596
  }
618
597
  throw e;
619
598
  }
620
- const progress = options.progress ?? buildReporter({ level: progressState.level });
599
+ // Resolve the report-output locale (#316) BEFORE the command parser sees argv
600
+ // (strips `--lang`). `config.locale` is the lowest-priority source, read
601
+ // best-effort here; a malformed config is reported authoritatively by
602
+ // `resolveUpdateAgent` below, so we tolerate the error as "no config locale".
603
+ // Resolved before the reporter so progress (#313) and report output (#316)
604
+ // share the same locale.
605
+ let configLocale;
606
+ try {
607
+ configLocale = (await loadRadarConfig(cwd)).locale;
608
+ }
609
+ catch {
610
+ configLocale = undefined;
611
+ }
612
+ let langRest;
613
+ let locale;
614
+ try {
615
+ const resolved = resolveCommandLocale(progressState.rest, configLocale, { warn });
616
+ langRest = resolved.rest;
617
+ locale = resolved.locale;
618
+ }
619
+ catch (e) {
620
+ if (e instanceof LangFlagError) {
621
+ error(`update: ${e.message}`);
622
+ return 2;
623
+ }
624
+ throw e;
625
+ }
626
+ const progress = options.progress ?? buildReporter({ level: progressState.level, locale });
627
+ // Translator for the user-facing progress phase labels (#313). Built from the
628
+ // same resolved locale used for the report-output language (#316) so the
629
+ // spinner / phase markers track the report body language. Built independently
630
+ // of `progress` so a test-injected reporter still gets localized labels.
631
+ const t = createTranslator(locale);
621
632
  let parsed;
622
633
  try {
623
- parsed = parseArgs(progressState.rest);
634
+ parsed = parseArgs(langRest);
624
635
  }
625
636
  catch (e) {
626
637
  error(`update: ${e instanceof Error ? e.message : String(e)}`);
627
638
  return 2;
628
639
  }
629
640
  if (parsed.help) {
630
- printHelp(log);
641
+ printHelp(t, log);
631
642
  return 0;
632
643
  }
633
644
  // Host-agent commit (#254 / ADR-0019). Independent of agent / template /
@@ -636,18 +647,18 @@ export async function runUpdate(args, options = {}) {
636
647
  // <research-id>.
637
648
  if (parsed.commit !== undefined) {
638
649
  if (parsed.emitPayload) {
639
- error("update: --commit is incompatible with --emit-payload");
650
+ error(t("cli.update.commitIncompatibleEmitPayload"));
640
651
  return 2;
641
652
  }
642
653
  if (parsed.researchId !== undefined) {
643
- error(`update: --commit takes a <path>, not a <research-id> (got '${parsed.researchId}')`);
654
+ error(t("cli.update.commitTakesPath", { researchId: parsed.researchId }));
644
655
  return 2;
645
656
  }
646
- return runUpdateCommit({ cwd, commitPath: parsed.commit, log, warn, error, progress });
657
+ return runUpdateCommit({ cwd, commitPath: parsed.commit, log, warn, error, progress, t });
647
658
  }
648
659
  if (!parsed.researchId) {
649
- error("update: missing <research-id>");
650
- printHelp(error);
660
+ error(t("cli.update.missingResearchId"));
661
+ printHelp(t, error);
651
662
  return 2;
652
663
  }
653
664
  // Resolve the agent honoring the priority chain. We do not yet have a
@@ -658,7 +669,7 @@ export async function runUpdate(args, options = {}) {
658
669
  // SKILL body (rewrite-and-supersede strategy reuses the research procedure;
659
670
  // skill-design.md §8.2). When `radar.config.yaml` grows a dedicated
660
671
  // `defaultUpdateAgent`, this fallback chain becomes a thin pass-through.
661
- const agentResult = await resolveUpdateAgent(cwd, parsed.agent, error);
672
+ const agentResult = await resolveUpdateAgent(cwd, parsed.agent, error, t);
662
673
  if ("exitCode" in agentResult)
663
674
  return agentResult.exitCode;
664
675
  const agent = agentResult.agent;
@@ -676,6 +687,7 @@ export async function runUpdate(args, options = {}) {
676
687
  warn,
677
688
  error,
678
689
  progress,
690
+ t,
679
691
  });
680
692
  }
681
693
  // PRE block (shared with --emit-payload): resolve predecessor, compute the
@@ -686,6 +698,7 @@ export async function runUpdate(args, options = {}) {
686
698
  warn,
687
699
  error,
688
700
  progress,
701
+ t,
689
702
  });
690
703
  if ("exitCode" in prepared)
691
704
  return prepared.exitCode;
@@ -700,12 +713,12 @@ export async function runUpdate(args, options = {}) {
700
713
  error(`update: ${e instanceof Error ? e.message : String(e)}`);
701
714
  return 1;
702
715
  }
703
- progress.phase(`Loaded template: ${templateId}.md`);
716
+ progress.phase(t("cli.progress.loadedTemplate", { templateId }));
704
717
  log(`update: invoking ${agent} adapter for research '${prevFm.id}' -> ${base}_v${newVersion}.md`);
705
718
  // Phase marker + spinner for the agent run. See `research.ts` for the
706
719
  // shared pattern.
707
- progress.phase(`Spawning ${agent}`, `cwd: ${cwd}`);
708
- progress.start("Agent running");
720
+ progress.phase(t("cli.progress.spawning", { agent }), `cwd: ${cwd}`);
721
+ progress.start(t("cli.progress.agentRunning"));
709
722
  const adapterStartedAt = Date.now();
710
723
  const polling = pollOutputFileSize({ path: outputPath, reporter: progress });
711
724
  // Invoke adapter. We do not snapshot the predecessor file: the adapter
@@ -725,17 +738,18 @@ export async function runUpdate(args, options = {}) {
725
738
  items: linkedItems,
726
739
  outputPath,
727
740
  cwd,
741
+ locale,
728
742
  onProgress: buildAgentProgressCallback(progress),
729
743
  });
730
744
  }
731
745
  catch (e) {
732
746
  polling.stop();
733
- progress.fail("Agent failed", e instanceof Error ? e.message : String(e));
747
+ progress.fail(t("cli.progress.agentFailed"), e instanceof Error ? e.message : String(e));
734
748
  error(`update: adapter failed: ${e instanceof Error ? e.message : String(e)}`);
735
749
  return 1;
736
750
  }
737
751
  polling.stop();
738
- progress.succeed("Agent completed (exit 0)", Date.now() - adapterStartedAt);
752
+ progress.succeed(t("cli.progress.agentCompleted", { exitCode: 0 }), Date.now() - adapterStartedAt);
739
753
  // POST block (shared with --commit): re-read, validate, drift-correct, log.
740
754
  return finalizeUpdate({
741
755
  outputPath,
@@ -747,11 +761,13 @@ export async function runUpdate(args, options = {}) {
747
761
  warn,
748
762
  error,
749
763
  progress,
764
+ t,
750
765
  });
751
766
  }
752
767
  export const updateCommand = {
753
768
  name: "update",
754
769
  summary: "Refresh existing research reports against the latest items",
770
+ summaryKey: "cli.summary.update",
755
771
  run: (args) => runUpdate(args),
756
772
  };
757
773
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/cli/watch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC;;;OAGG;IACH,sBAAsB,CAAC,EAAE,YAAY,CAAC;IACtC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,eAAe,CAAC;CAC9C;AAqHD;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8DjG;AAED,eAAO,MAAM,YAAY,EAAE,OAgB1B,CAAC"}
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/cli/watch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAKjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAiB1C,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC;;;OAGG;IACH,sBAAsB,CAAC,EAAE,YAAY,CAAC;IACtC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,eAAe,CAAC;CAC9C;AAoGD;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiFjG;AAED,eAAO,MAAM,YAAY,EAAE,OAiC1B,CAAC"}
package/dist/cli/watch.js CHANGED
@@ -1,5 +1,23 @@
1
1
  import { createProgressReporter } from "../core/progress.js";
2
2
  import { watchRun } from "../core/watcher.js";
3
+ import { createTranslator } from "../i18n/index.js";
4
+ import { LangFlagError, parseLangFlag, resolveWorkspaceLocale } from "./_locale.js";
5
+ /**
6
+ * Validation error thrown by the sync `parseRunArgs` that carries a message
7
+ * *key* instead of pre-rendered English (#336). `parseRunArgs` runs before the
8
+ * locale is resolved, so it cannot call `t()` itself; it tags the error with a
9
+ * catalog key and the caller renders it once the translator is in scope. Errors
10
+ * without a key (unknown option / unexpected argument, which echo the raw token)
11
+ * stay plain `Error`s and are wrapped at the catch boundary as before.
12
+ */
13
+ class WatchArgError extends Error {
14
+ key;
15
+ constructor(key) {
16
+ super(key);
17
+ this.key = key;
18
+ this.name = "WatchArgError";
19
+ }
20
+ }
3
21
  function parseRunArgs(args) {
4
22
  const out = {};
5
23
  for (let i = 0; i < args.length; i++) {
@@ -49,39 +67,22 @@ function parseRunArgs(args) {
49
67
  // so users do not paper over the conflict by hoping for an undocumented
50
68
  // merge — ADR-0012 §D4 makes them mutually exclusive.
51
69
  if (out.bootstrap && out.backfill) {
52
- throw new Error("--bootstrap and --backfill are mutually exclusive");
70
+ throw new WatchArgError("cli.watch.bootstrapBackfillExclusive");
53
71
  }
54
72
  if (out.maxPages !== undefined && !out.backfill) {
55
- throw new Error("--max-pages requires --backfill");
73
+ throw new WatchArgError("cli.watch.maxPagesRequiresBackfill");
56
74
  }
57
75
  // `--verbose` enables agent stdout pass-through; `--quiet` suppresses
58
76
  // every progress line. Allowing both would force an arbitrary winner —
59
77
  // reject up front so the user picks one explicitly. Mirrors the
60
78
  // research / review / update CLI (#197) which adopted the same rule.
61
79
  if (out.verbose && out.quiet) {
62
- throw new Error("--verbose and --quiet are mutually exclusive");
80
+ throw new WatchArgError("cli.watch.verboseQuietExclusive");
63
81
  }
64
82
  return out;
65
83
  }
66
- function printWatchHelp(log) {
67
- log("Usage: radar watch <run> [options]");
68
- log("");
69
- log("Subcommands:");
70
- log(" run [--source <id>] [--bootstrap | --backfill [--max-pages N]]");
71
- log(" Fetch sources and produce items");
72
- log("");
73
- log("Options for run:");
74
- log(" --source <id> Limit the run to a single source id");
75
- log(" --bootstrap Seed lastSeenIds without emitting items (suppress initial noise)");
76
- log(" --backfill Fetch all available history pages and emit items for each.");
77
- log(" Supported fully by kind: json-api / github-releases / npm-registry.");
78
- log(" Other kinds (rss / html / html-js) only return their current page.");
79
- log(" --max-pages N Override pagination.maxPages cap (requires --backfill).");
80
- log(" Applies to INNER pagination only — facet sweep (ADR-0017)");
81
- log(" always walks every facet value regardless of this flag.");
82
- log(" -v, --verbose Enable progress-reporter raw() pass-through (adapter stdout).");
83
- log(" -q, --quiet Suppress the per-source progress reporter (legacy 1-line log");
84
- log(" remains). RADAR_NO_PROGRESS=1 has the same effect.");
84
+ function printWatchHelp(t, log) {
85
+ log(t("cli.watch.help"));
85
86
  }
86
87
  /**
87
88
  * Implementation of `watch run`.
@@ -95,16 +96,34 @@ export async function runWatch(args, options = {}) {
95
96
  const log = options.io?.log ?? ((m) => console.log(m));
96
97
  const warn = options.io?.warn ?? ((m) => console.warn(m));
97
98
  const error = options.io?.error ?? ((m) => console.error(m));
99
+ // Strip `--lang <en|ja>` before `parseRunArgs` (which rejects unknown
100
+ // flags), then resolve the UI locale for the help text.
101
+ let langState;
102
+ try {
103
+ langState = parseLangFlag(args);
104
+ }
105
+ catch (e) {
106
+ if (e instanceof LangFlagError) {
107
+ error(`watch run: ${e.message}`);
108
+ return 2;
109
+ }
110
+ throw e;
111
+ }
112
+ const locale = await resolveWorkspaceLocale({ flag: langState.flag, cwd, warn: error });
113
+ const t = createTranslator(locale);
98
114
  let parsed;
99
115
  try {
100
- parsed = parseRunArgs(args);
116
+ parsed = parseRunArgs(langState.rest);
101
117
  }
102
118
  catch (e) {
103
- error(`watch run: ${e instanceof Error ? e.message : String(e)}`);
119
+ // Keyed validation errors are translated now that the locale is resolved;
120
+ // raw-token errors (unknown option / unexpected argument) echo verbatim.
121
+ const message = e instanceof WatchArgError ? t(e.key) : e instanceof Error ? e.message : String(e);
122
+ error(`watch run: ${message}`);
104
123
  return 2;
105
124
  }
106
125
  if (parsed.help) {
107
- printWatchHelp(log);
126
+ printWatchHelp(t, log);
108
127
  return 0;
109
128
  }
110
129
  // Construct the progress reporter once and let the watcher's heuristic
@@ -130,6 +149,9 @@ export async function runWatch(args, options = {}) {
130
149
  playwrightProbeOptions: options.playwrightProbeOptions,
131
150
  installChromiumImpl: options.installChromiumImpl,
132
151
  progress,
152
+ // Localize the per-source page / completion markers (and the html-js
153
+ // `Still waiting…` reminder) on the same path as the reporter (#337).
154
+ translate: t,
133
155
  });
134
156
  }
135
157
  catch (e) {
@@ -137,31 +159,49 @@ export async function runWatch(args, options = {}) {
137
159
  return 1;
138
160
  }
139
161
  const totalDetected = Object.values(result.detected).reduce((acc, list) => acc + list.length, 0);
162
+ const sourceCount = Object.keys(result.states).length;
140
163
  if (parsed.bootstrap) {
141
- log(`watch run: bootstrap complete (${Object.keys(result.states).length} sources)`);
164
+ log(t("cli.watch.bootstrapComplete", { sources: sourceCount }));
142
165
  }
143
166
  else if (parsed.backfill) {
144
- log(`watch run: backfill complete — ${totalDetected} item(s) ingested across ${Object.keys(result.states).length} source(s)`);
167
+ log(t("cli.watch.backfillComplete", { total: totalDetected, sources: sourceCount }));
145
168
  }
146
169
  else {
147
- log(`watch run: ${totalDetected} new item(s) across ${Object.keys(result.states).length} source(s)`);
170
+ log(t("cli.watch.runComplete", { total: totalDetected, sources: sourceCount }));
148
171
  }
149
172
  return result.errors.length > 0 ? 1 : 0;
150
173
  }
151
174
  export const watchCommand = {
152
175
  name: "watch",
153
176
  summary: "Fetch sources and produce filtered items (run)",
177
+ summaryKey: "cli.summary.watch",
154
178
  run: async (args) => {
179
+ // Resolve the dispatcher help locale from any leading `--lang` (read-only;
180
+ // the `run` subcommand strips and resolves its own).
181
+ const dispatcherLangFlag = (() => {
182
+ try {
183
+ return parseLangFlag(args).flag;
184
+ }
185
+ catch {
186
+ return undefined;
187
+ }
188
+ })();
189
+ const dispatcherLocale = await resolveWorkspaceLocale({
190
+ flag: dispatcherLangFlag,
191
+ cwd: process.cwd(),
192
+ warn: (m) => console.error(m),
193
+ });
194
+ const t = createTranslator(dispatcherLocale);
155
195
  const [sub, ...rest] = args;
156
196
  if (!sub || sub === "-h" || sub === "--help" || sub === "help") {
157
- printWatchHelp((m) => console.log(m));
197
+ printWatchHelp(t, (m) => console.log(m));
158
198
  return sub ? 0 : 2;
159
199
  }
160
200
  if (sub === "run") {
161
201
  return runWatch(rest);
162
202
  }
163
- console.error(`watch: unknown subcommand '${sub}'`);
164
- printWatchHelp((m) => console.error(m));
203
+ console.error(t("cli.watch.unknownSubcommand", { sub }));
204
+ printWatchHelp(t, (m) => console.error(m));
165
205
  return 2;
166
206
  },
167
207
  };