@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
@@ -1 +1 @@
1
- {"version":3,"file":"html-js.d.ts","sourceRoot":"","sources":["../../../src/core/feeds/html-js.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGtE,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAoElE;;;;;GAKG;AACH;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,iGAAiG;IACjG,MAAM,EAAE,MAAM,CAAC;IACf,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE;QACR,MAAM,CAAC,OAAO,CAAC,EAAE;YACf,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,KAAK,CAAC,EAAE,sBAAsB,CAAC;SAChC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;KACpC,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,OAAO,CAAC,EAAE;QACnB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CACF,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GACvE,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,+EAA+E;IAC/E,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAqBD,eAAO,MAAM,aAAa,EAAE,WAsI3B,CAAC"}
1
+ {"version":3,"file":"html-js.d.ts","sourceRoot":"","sources":["../../../src/core/feeds/html-js.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAU,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGtE,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAoElE;;;;;GAKG;AACH;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,iGAAiG;IACjG,MAAM,EAAE,MAAM,CAAC;IACf,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE;QACR,MAAM,CAAC,OAAO,CAAC,EAAE;YACf,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,KAAK,CAAC,EAAE,sBAAsB,CAAC;SAChC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;KACpC,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,OAAO,CAAC,EAAE;QACnB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CACF,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GACvE,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,+EAA+E;IAC/E,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAqBD,eAAO,MAAM,aAAa,EAAE,WA8I3B,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { createTranslator } from "../../i18n/index.js";
1
2
  import { detectProxyUrl, noProxyToPlaywrightBypass } from "../proxy.js";
2
3
  import { contentHash, parseHtmlDocument } from "./_html-common.js";
3
4
  /**
@@ -98,11 +99,17 @@ export const htmlJsAdapter = {
98
99
  const previous = options.state;
99
100
  const fetchedAt = new Date().toISOString();
100
101
  // Progress reporter is optional — callers that did not opt in see the
101
- // pre-#198 no-op behavior. Marker names follow ADR-0015 D4
102
- // ("Chromium launching" / "Page navigated to <url>" etc.) verbatim so
103
- // the user-guide stays accurate without per-call docstrings.
102
+ // pre-#198 no-op behavior. Marker prose follows ADR-0015 D4 but is sourced
103
+ // from the i18n catalog (`cli.progress.htmlJs*`) so it tracks the resolved
104
+ // UI locale (#340).
104
105
  const progress = options.onProgress;
105
106
  const stillWaitingMs = options.stillWaitingMs ?? DEFAULT_STILL_WAITING_MS;
107
+ // Translator for the user-facing Playwright-lifecycle progress markers and
108
+ // the `Still waiting…` reminder (#337 / #340). Defaults to `en` so direct
109
+ // adapter callers that do not pass a locale keep their English output. The
110
+ // embedded values (url, selector, timeout, mm:ss) are functional fields and
111
+ // stay verbatim across locales.
112
+ const t = options.translate ?? createTranslator("en");
106
113
  // Probe proxy env BEFORE launch. Playwright's `BrowserType.launch()` does
107
114
  // not honor `HTTPS_PROXY` / `HTTP_PROXY` automatically (unlike Node's
108
115
  // `--use-env-proxy` flag for built-in `fetch()`) — we must pass the URL
@@ -127,7 +134,7 @@ export const htmlJsAdapter = {
127
134
  : undefined;
128
135
  // Hardening: headless is forced true. Even if a future Playwright default
129
136
  // changes, the adapter pins it explicitly here.
130
- progress?.phase("Launching Chromium…");
137
+ progress?.phase(t("cli.progress.htmlJsLaunching"));
131
138
  const browser = await playwright.chromium.launch({
132
139
  headless: true,
133
140
  ...(proxyOption ? { proxy: proxyOption } : {}),
@@ -144,9 +151,9 @@ export const htmlJsAdapter = {
144
151
  try {
145
152
  const page = await context.newPage();
146
153
  try {
147
- progress?.phase(`Navigating to ${source.url}…`);
154
+ progress?.phase(t("cli.progress.htmlJsNavigating", { url: source.url }));
148
155
  await page.goto(source.url, { waitUntil, timeout });
149
- progress?.phase(`Waiting for selector "${waitFor}" (timeout: ${timeout}ms)…`);
156
+ progress?.phase(t("cli.progress.htmlJsWaitingSelector", { selector: waitFor, timeout }));
150
157
  // Long-running selector waits warrant a `Still waiting…` reminder
151
158
  // so the user knows the adapter is alive (not hung). The timer is
152
159
  // set up only when a progress reporter is wired so we do not keep
@@ -161,7 +168,7 @@ export const htmlJsAdapter = {
161
168
  const elapsed = Date.now() - startedAt;
162
169
  const mm = String(Math.floor(elapsed / 60_000)).padStart(2, "0");
163
170
  const ss = String(Math.floor((elapsed % 60_000) / 1000)).padStart(2, "0");
164
- progress.phase(`Still waiting for "${waitFor}"… [${mm}:${ss}]`);
171
+ progress.phase(t("cli.progress.stillWaiting", { selector: waitFor, elapsed: `${mm}:${ss}` }));
165
172
  }, stillWaitingMs);
166
173
  if (typeof stillWaitingTimer.unref === "function") {
167
174
  stillWaitingTimer.unref();
@@ -174,7 +181,7 @@ export const htmlJsAdapter = {
174
181
  if (stillWaitingTimer)
175
182
  clearTimeout(stillWaitingTimer);
176
183
  }
177
- progress?.phase("Capturing page content…");
184
+ progress?.phase(t("cli.progress.htmlJsCapturing"));
178
185
  html = await page.content();
179
186
  }
180
187
  finally {
@@ -188,7 +195,7 @@ export const htmlJsAdapter = {
188
195
  }
189
196
  }
190
197
  finally {
191
- progress?.phase("Closing browser…");
198
+ progress?.phase(t("cli.progress.htmlJsClosing"));
192
199
  await browser.close();
193
200
  }
194
201
  // Dedup via content hash stored in the `lastEtag` slot (same convention
@@ -1 +1 @@
1
- {"version":3,"file":"html-js.js","sourceRoot":"","sources":["../../../src/core/feeds/html-js.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"html-js.js","sourceRoot":"","sources":["../../../src/core/feeds/html-js.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"json-api.d.ts","sourceRoot":"","sources":["../../../src/core/feeds/json-api.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,WAAW,EAKZ,MAAM,YAAY,CAAC;AA64BpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,cAAc,EAAE,WAgI5B,CAAC"}
1
+ {"version":3,"file":"json-api.d.ts","sourceRoot":"","sources":["../../../src/core/feeds/json-api.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,WAAW,EAKZ,MAAM,YAAY,CAAC;AAs5BpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,cAAc,EAAE,WAuI5B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { createHash } from "node:crypto";
2
- import { FACET_RANGE_CURRENT_YEAR, ItemSchema } from "../../schemas/index.js";
2
+ import { FACET_RANGE_RELATIVE_RE, ItemSchema } from "../../schemas/index.js";
3
3
  import { fetchWithRetry } from "./_fetch.js";
4
4
  import { selectAll, selectOne } from "./_jsonpath.js";
5
5
  import { deriveItemId, deriveStableKey } from "./derive-id.js";
@@ -290,7 +290,7 @@ function elementToItem(element, source, selectors, fetchedAt, adoption) {
290
290
  const summary = coerceString(summaryResolved.value);
291
291
  const body = selectors.body ? coerceString(selectOne(selectors.body, element)) : undefined;
292
292
  // `selectors.tags` is recognized by the schema but currently silently passed
293
- // through into `raw` only. The filter pipeline (`buildHaystack`) does not
293
+ // through into `raw` only. The filter pipeline (`evaluateFilter`) does not
294
294
  // structurally read `Item.tags` for any adapter, so surfacing tags
295
295
  // structurally here would not improve filtering. Keep them inside `raw`
296
296
  // (already attached below) until a future filter extension consumes them.
@@ -486,30 +486,38 @@ function applyFacetValue(rawUrl, facet, value) {
486
486
  return u.toString();
487
487
  }
488
488
  /**
489
- * Resolve a range upper bound to a concrete number.
489
+ * Resolve a range bound to a concrete year.
490
490
  *
491
- * The `"current-year"` sentinel (#257) expands to the current calendar year
492
- * at fetch time so year-axis recipes auto-extend across year boundaries
493
- * instead of silently capping at a hardcoded upper bound. `now` is injected
494
- * for deterministic testing; it defaults to the wall clock.
491
+ * A bound is either a literal number or a relative year token (#257 / #352):
492
+ * `"current-year"` resolves to the current calendar year and
493
+ * `"current-year-<N>"` to N years ago. Relative bounds let year-axis recipes
494
+ * auto-track wall-clock time instead of silently capping at a hardcoded value.
495
+ * `now` is injected for deterministic testing; it defaults to the wall clock.
495
496
  */
496
- function resolveRangeEnd(end, now = new Date()) {
497
- return end === FACET_RANGE_CURRENT_YEAR ? now.getFullYear() : end;
497
+ function resolveRangeBound(bound, now = new Date()) {
498
+ if (typeof bound === "number")
499
+ return bound;
500
+ // The schema (`FacetRangeBoundSchema`) guarantees the token shape, so the
501
+ // match is non-null; the optional capture group is the offset (absent ⇒ 0 ⇒
502
+ // the current year).
503
+ const offset = FACET_RANGE_RELATIVE_RE.exec(bound)?.[1];
504
+ return now.getFullYear() - (offset ? Number.parseInt(offset, 10) : 0);
498
505
  }
499
506
  /**
500
507
  * Enumerate the facet values for a single facet spec.
501
508
  *
502
509
  * - `range`: `[start, end]` inclusive, walked with `step` (default 1).
503
- * Schema guarantees `step > 0`. The upper bound may be the literal
504
- * `"current-year"` sentinel, resolved here to the current calendar year
505
- * (#257); when start > the resolved end the loop yields nothing (a future-
506
- * dated start is a degenerate 0-item config, not an error).
510
+ * Schema guarantees `step > 0`. EITHER bound may be a relative year token
511
+ * (`"current-year"` / `"current-year-<N>"`), resolved here to a concrete
512
+ * year (#257 / #352); when the resolved start > resolved end the loop yields
513
+ * nothing (a degenerate 0-item config, not an error).
507
514
  * - `enum`: returns the explicit list verbatim (string or number).
508
515
  */
509
516
  function* generateFacetValues(facet) {
510
517
  if (facet.type === "range") {
511
- const [start, rawEnd] = facet.range;
512
- const end = resolveRangeEnd(rawEnd);
518
+ const [rawStart, rawEnd] = facet.range;
519
+ const start = resolveRangeBound(rawStart);
520
+ const end = resolveRangeBound(rawEnd);
513
521
  const step = facet.step;
514
522
  for (let v = start; v <= end; v += step)
515
523
  yield v;
@@ -526,8 +534,9 @@ function* generateFacetValues(facet) {
526
534
  */
527
535
  function countFacetValues(facet) {
528
536
  if (facet.type === "range") {
529
- const [start, rawEnd] = facet.range;
530
- const end = resolveRangeEnd(rawEnd);
537
+ const [rawStart, rawEnd] = facet.range;
538
+ const start = resolveRangeBound(rawStart);
539
+ const end = resolveRangeBound(rawEnd);
531
540
  if (start > end)
532
541
  return 0;
533
542
  return Math.floor((end - start) / facet.step) + 1;
@@ -537,8 +546,8 @@ function countFacetValues(facet) {
537
546
  /**
538
547
  * Pick the single facet value to probe in dry-run mode (`source test`).
539
548
  *
540
- * - `range`: the resolved UPPER bound (latest year via {@link resolveRangeEnd},
541
- * honouring the `"current-year"` sentinel from #257). This fixes #256 —
549
+ * - `range`: the resolved UPPER bound (latest year via {@link resolveRangeBound},
550
+ * honouring the relative year tokens from #257 / #352). This fixes #256 —
542
551
  * recency-style recipes (e.g. AWS What's New swept by year) were previously
543
552
  * tested against the range START (oldest year, e.g. 2004), where current
544
553
  * keywords can never match. Testing the latest year makes keyword tuning
@@ -549,8 +558,9 @@ function countFacetValues(facet) {
549
558
  */
550
559
  function pickDryRunFacetValue(facet) {
551
560
  if (facet.type === "range") {
552
- const [start, rawEnd] = facet.range;
553
- const end = resolveRangeEnd(rawEnd);
561
+ const [rawStart, rawEnd] = facet.range;
562
+ const start = resolveRangeBound(rawStart);
563
+ const end = resolveRangeBound(rawEnd);
554
564
  if (start > end)
555
565
  return null;
556
566
  // Walk down from `end` by `step` to land on a value the real sweep would
@@ -861,6 +871,13 @@ export const jsonApiAdapter = {
861
871
  // combined state of N facet values, and re-using last-run's ETag
862
872
  // would 304-out the next sweep. Per-facet ETag is future work.
863
873
  const aggregatedItems = [];
874
+ // `aggregatedSeen` is the *in-sweep* dedup/early-stop set, NOT a persisted
875
+ // value: the facet adapter's returned `state` omits `lastSeenIds` (see the
876
+ // `return` below), so the watcher — the sole persistence point — applies
877
+ // the `maxSeenIds` FIFO cap (#333) when it builds `nextState`. We
878
+ // deliberately do NOT trim `aggregatedSeen` here: it drives the per-facet
879
+ // early-stop ("stop paging once we hit an already-seen id"), so dropping
880
+ // ids mid-sweep would defeat that heuristic and re-emit already-seen items.
864
881
  const aggregatedSeen = new Set(options.state?.lastSeenIds ?? []);
865
882
  let aggregatedDiag;
866
883
  let aggregatedNotModified = true;
@@ -1 +1 @@
1
- {"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../src/core/feeds/json-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../src/core/feeds/json-api.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { Translator } from "../../i18n/index.js";
1
2
  import type { Item, Source, SourceState } from "../../schemas/index.js";
2
3
  import type { ProgressReporter } from "../progress.js";
3
4
  /**
@@ -162,6 +163,14 @@ export interface FeedAdapterOptions {
162
163
  * Unset is byte-equivalent to the pre-#198 behaviour (no progress output).
163
164
  */
164
165
  onProgress?: ProgressReporter;
166
+ /**
167
+ * Translator for the adapter's user-facing progress markers (#337 / ADR-0021).
168
+ * Currently consumed only by `kind: html-js` for the `Still waiting for
169
+ * "<sel>"… [mm:ss]` reminder; other adapters ignore it. The watcher passes
170
+ * the run's resolved-locale translator on the same path as {@link onProgress}.
171
+ * Unset means English (the adapter falls back to an `en` translator).
172
+ */
173
+ translate?: Translator;
165
174
  /**
166
175
  * Per-page progress callback for paginating adapters (json-api / future
167
176
  * github-releases / npm-registry). Fired after each page is fetched and
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/feeds/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/feeds/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,CACtB,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAC9D,OAAO,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC9C,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACjD;;;;OAIG;IACH,iBAAiB,CAAC,EAAE;QAClB,sDAAsD;QACtD,QAAQ,EAAE,MAAM,CAAC;QACjB,sEAAsE;QACtE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,8EAA8E;QAC9E,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,6EAA6E;QAC7E,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,CAAC;IACF;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE;QACX,mDAAmD;QACnD,KAAK,EAAE,MAAM,CAAC;QACd,oDAAoD;QACpD,KAAK,EAAE,MAAM,CAAC;QACd,+DAA+D;QAC/D,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,kDAAkD;QAClD,IAAI,EAAE,MAAM,CAAC;QACb,0EAA0E;QAC1E,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd;;;;OAIG;IACH,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAChF,KAAK,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACrB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;CACnF"}
@@ -2,24 +2,32 @@ import type { Item, Source, SourceFilters } from "../schemas/index.js";
2
2
  /**
3
3
  * Apply ADR-0006 filter semantics to a single item.
4
4
  *
5
- * Evaluation order:
6
- * 1. Concatenate matchFields into a haystack.
7
- * 2. If `caseSensitive` is false, lowercase haystack and keywords (word /
8
- * substring modes). For regex mode, the `i` flag is used instead of
9
- * lowercasing the pattern source.
10
- * 3. If any `excludeKeywords` hits reject (exclude wins over include).
11
- * 4. If any `keywords` hits accept, recording the hits in `matchedKeywords`.
12
- * 5. Otherwise reject.
5
+ * Evaluation order (#332 changed step 1 from a single concatenated haystack to
6
+ * per-field evaluation so the matched matchField is recorded; the accept /
7
+ * reject outcome is unchanged for filters without `requireFields`):
8
+ * 1. Build a per-field haystack for each available `matchField` (fields the
9
+ * adapter does not supply are skipped).
10
+ * 2. If `caseSensitive` is false, lowercase each haystack and the keywords
11
+ * (word / substring modes). For regex mode, the `i` flag is used instead
12
+ * of lowercasing the pattern source.
13
+ * 3. If any `excludeKeywords` hits in any field → reject (exclude wins).
14
+ * 4. Collect include-keyword hits across all fields. Accept when at least one
15
+ * hit exists, recording every matched keyword in `matchedKeywords` and
16
+ * every field that produced a hit in `matchedFields`.
17
+ * 5. If `requireFields` is non-empty, accept only when at least one hit
18
+ * landed in one of those fields; otherwise reject (#332 precision guard).
19
+ * 6. Otherwise → reject.
13
20
  *
14
- * Returns the (possibly mutated) item annotated with `matchedKeywords` when
15
- * accepted, or null when filtered out.
21
+ * Returns the (possibly mutated) item annotated with `matchedKeywords` /
22
+ * `matchedFields` when accepted, or null when filtered out.
16
23
  */
17
24
  export declare function evaluateFilter(item: Item, filters: SourceFilters): Item | null;
18
25
  /**
19
26
  * Apply a source's filter to a batch of items, returning only those that pass.
20
27
  *
21
- * Each returned item carries `matchedKeywords` populated from the include hits,
22
- * so downstream `items` writers can persist the evidence for later inspection.
28
+ * Each returned item carries `matchedKeywords` (the include hits) and
29
+ * `matchedFields` (which matchFields produced those hits, #332), so downstream
30
+ * `items` writers can persist the evidence for later inspection.
23
31
  */
24
32
  export declare function filterItems(items: Item[], source: Source): Item[];
25
33
  //# sourceMappingURL=filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/core/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAyB,MAAM,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAiE9F;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAiC9E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,CAQjE"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/core/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAyB,MAAM,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA+D9F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAuE9E;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,CAQjE"}
@@ -33,59 +33,76 @@ function matchKeyword(haystack, keyword, mode, caseInsensitive) {
33
33
  return re.test(haystack);
34
34
  }
35
35
  /**
36
- * Concatenate the configured `matchFields` of an item into a single search
37
- * haystack. Fields that the item does not provide (`body` / `tags` for RSS,
38
- * etc.) are silently skipped, per ADR-0002's "adapters skip unavailable fields"
39
- * rule. Joining with newline keeps `\b` word boundaries from accidentally
40
- * merging tokens across fields (e.g. title ending in "Claude" + summary
41
- * starting with "Code" should not match `\bClaude Code\b`).
36
+ * Resolve the text an item provides for a single `matchField`, or `null` when
37
+ * the field is unavailable for this item / adapter kind.
38
+ *
39
+ * Fields the item does not provide (`body` / `tags` for RSS, an absent
40
+ * `summary`, etc.) return `null` and are silently skipped by callers, per
41
+ * ADR-0002's "adapters skip unavailable fields" rule. Splitting this out of
42
+ * the old `buildHaystack` lets the evaluator score each field independently so
43
+ * it can record *which* matchField produced a hit (#332 / `matchedFields`),
44
+ * while still matching per field — `\b` word boundaries never merge tokens
45
+ * across fields (e.g. title ending in "Claude" + summary starting with "Code"
46
+ * cannot match `\bClaude Code\b`).
42
47
  */
43
- function buildHaystack(item, fields) {
44
- const parts = [];
45
- for (const field of fields) {
46
- if (field === "title") {
47
- parts.push(item.title);
48
- }
49
- else if (field === "summary") {
50
- if (item.summary)
51
- parts.push(item.summary);
52
- }
53
- else if (field === "body" || field === "tags") {
54
- // RSS adapter does not surface body / tags structurally; the schema does
55
- // not model them either. Silently skip rather than throw so a single
56
- // filter config can be reused across adapter kinds (ADR-0006).
57
- }
58
- }
59
- return parts.join("\n");
48
+ function fieldText(item, field) {
49
+ if (field === "title")
50
+ return item.title;
51
+ if (field === "summary")
52
+ return item.summary ?? null;
53
+ // RSS adapter does not surface body / tags structurally; the schema does not
54
+ // model them either. Silently skip rather than throw so a single filter
55
+ // config can be reused across adapter kinds (ADR-0006).
56
+ return null;
60
57
  }
61
58
  /**
62
59
  * Apply ADR-0006 filter semantics to a single item.
63
60
  *
64
- * Evaluation order:
65
- * 1. Concatenate matchFields into a haystack.
66
- * 2. If `caseSensitive` is false, lowercase haystack and keywords (word /
67
- * substring modes). For regex mode, the `i` flag is used instead of
68
- * lowercasing the pattern source.
69
- * 3. If any `excludeKeywords` hits reject (exclude wins over include).
70
- * 4. If any `keywords` hits accept, recording the hits in `matchedKeywords`.
71
- * 5. Otherwise reject.
61
+ * Evaluation order (#332 changed step 1 from a single concatenated haystack to
62
+ * per-field evaluation so the matched matchField is recorded; the accept /
63
+ * reject outcome is unchanged for filters without `requireFields`):
64
+ * 1. Build a per-field haystack for each available `matchField` (fields the
65
+ * adapter does not supply are skipped).
66
+ * 2. If `caseSensitive` is false, lowercase each haystack and the keywords
67
+ * (word / substring modes). For regex mode, the `i` flag is used instead
68
+ * of lowercasing the pattern source.
69
+ * 3. If any `excludeKeywords` hits in any field → reject (exclude wins).
70
+ * 4. Collect include-keyword hits across all fields. Accept when at least one
71
+ * hit exists, recording every matched keyword in `matchedKeywords` and
72
+ * every field that produced a hit in `matchedFields`.
73
+ * 5. If `requireFields` is non-empty, accept only when at least one hit
74
+ * landed in one of those fields; otherwise reject (#332 precision guard).
75
+ * 6. Otherwise → reject.
72
76
  *
73
- * Returns the (possibly mutated) item annotated with `matchedKeywords` when
74
- * accepted, or null when filtered out.
77
+ * Returns the (possibly mutated) item annotated with `matchedKeywords` /
78
+ * `matchedFields` when accepted, or null when filtered out.
75
79
  */
76
80
  export function evaluateFilter(item, filters) {
77
- const haystackRaw = buildHaystack(item, filters.matchFields);
78
81
  const isRegex = filters.matchMode === "regex";
79
82
  const caseInsensitive = !filters.caseSensitive;
80
- // For regex mode the haystack is not lowercased — we rely on the `i` flag
81
- // applied to the compiled pattern (see matchKeyword). For word / substring
82
- // modes we lowercase both haystack and keywords up front.
83
- const haystack = caseInsensitive && !isRegex ? haystackRaw.toLowerCase() : haystackRaw;
84
83
  const normalizeKeyword = (s) => (caseInsensitive && !isRegex ? s.toLowerCase() : s);
85
- // Exclude has priority over include (ADR-0006 §評価順序 step 3).
84
+ // Build one normalized haystack per available matchField (declaration order
85
+ // preserved so matchedFields tracks the configured order). Fields the adapter
86
+ // does not supply (null) are dropped here.
87
+ const fieldHaystacks = [];
88
+ for (const field of filters.matchFields) {
89
+ const raw = fieldText(item, field);
90
+ if (raw === null)
91
+ continue;
92
+ // For regex mode the haystack is not lowercased — we rely on the `i` flag
93
+ // applied to the compiled pattern (see matchKeyword). For word / substring
94
+ // modes we lowercase both haystack and keywords up front.
95
+ const haystack = caseInsensitive && !isRegex ? raw.toLowerCase() : raw;
96
+ fieldHaystacks.push({ field, haystack });
97
+ }
98
+ // Exclude has priority over include (ADR-0006 §評価順序 step 3). A hit in any
99
+ // field rejects the item.
86
100
  for (const kw of filters.excludeKeywords) {
87
- if (matchKeyword(haystack, normalizeKeyword(kw), filters.matchMode, caseInsensitive)) {
88
- return null;
101
+ const needle = normalizeKeyword(kw);
102
+ for (const { haystack } of fieldHaystacks) {
103
+ if (matchKeyword(haystack, needle, filters.matchMode, caseInsensitive)) {
104
+ return null;
105
+ }
89
106
  }
90
107
  }
91
108
  // Empty include list means "match nothing" — sources with no keywords cannot
@@ -94,21 +111,45 @@ export function evaluateFilter(item, filters) {
94
111
  if (filters.keywords.length === 0) {
95
112
  return null;
96
113
  }
114
+ // Collect include hits per field. `matchedKeywords` records every keyword
115
+ // that hit (declaration order); `matchedFields` records every field that
116
+ // produced at least one hit (matchFields order). The `Set` is reused for the
117
+ // requireFields check below.
97
118
  const hits = [];
119
+ const matchedFields = [];
120
+ const matchedFieldSet = new Set();
98
121
  for (const kw of filters.keywords) {
99
- if (matchKeyword(haystack, normalizeKeyword(kw), filters.matchMode, caseInsensitive)) {
100
- hits.push(kw);
122
+ const needle = normalizeKeyword(kw);
123
+ let keywordHit = false;
124
+ for (const { field, haystack } of fieldHaystacks) {
125
+ if (matchKeyword(haystack, needle, filters.matchMode, caseInsensitive)) {
126
+ keywordHit = true;
127
+ if (!matchedFieldSet.has(field)) {
128
+ matchedFieldSet.add(field);
129
+ matchedFields.push(field);
130
+ }
131
+ }
101
132
  }
133
+ if (keywordHit)
134
+ hits.push(kw);
102
135
  }
103
136
  if (hits.length === 0)
104
137
  return null;
105
- return { ...item, matchedKeywords: hits };
138
+ // requireFields precision guard (#332): when set, at least one hit must have
139
+ // landed in one of the required fields. This suppresses the summary-only
140
+ // false-positive while still recording the matched summary context above.
141
+ if (filters.requireFields.length > 0 &&
142
+ !filters.requireFields.some((f) => matchedFieldSet.has(f))) {
143
+ return null;
144
+ }
145
+ return { ...item, matchedKeywords: hits, matchedFields };
106
146
  }
107
147
  /**
108
148
  * Apply a source's filter to a batch of items, returning only those that pass.
109
149
  *
110
- * Each returned item carries `matchedKeywords` populated from the include hits,
111
- * so downstream `items` writers can persist the evidence for later inspection.
150
+ * Each returned item carries `matchedKeywords` (the include hits) and
151
+ * `matchedFields` (which matchFields produced those hits, #332), so downstream
152
+ * `items` writers can persist the evidence for later inspection.
112
153
  */
113
154
  export function filterItems(items, source) {
114
155
  const filters = source.filters;