@ozzylabs/feedradar 0.1.7 → 0.1.8

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 (53) hide show
  1. package/README.md +2 -1
  2. package/dist/agents/_boundary.d.ts +74 -1
  3. package/dist/agents/_boundary.d.ts.map +1 -1
  4. package/dist/agents/_boundary.js +152 -0
  5. package/dist/agents/_boundary.js.map +1 -1
  6. package/dist/claude-skills/dismiss/SKILL.md +18 -12
  7. package/dist/claude-skills/research/SKILL.md +21 -1
  8. package/dist/claude-skills/review/SKILL.md +23 -1
  9. package/dist/claude-skills/update/SKILL.md +24 -2
  10. package/dist/cli/_commit-path.d.ts +33 -0
  11. package/dist/cli/_commit-path.d.ts.map +1 -0
  12. package/dist/cli/_commit-path.js +43 -0
  13. package/dist/cli/_commit-path.js.map +1 -0
  14. package/dist/cli/dismiss.d.ts +38 -8
  15. package/dist/cli/dismiss.d.ts.map +1 -1
  16. package/dist/cli/dismiss.js +237 -55
  17. package/dist/cli/dismiss.js.map +1 -1
  18. package/dist/cli/research.d.ts.map +1 -1
  19. package/dist/cli/research.js +307 -45
  20. package/dist/cli/research.js.map +1 -1
  21. package/dist/cli/review.d.ts.map +1 -1
  22. package/dist/cli/review.js +169 -0
  23. package/dist/cli/review.js.map +1 -1
  24. package/dist/cli/source.d.ts.map +1 -1
  25. package/dist/cli/source.js +18 -0
  26. package/dist/cli/source.js.map +1 -1
  27. package/dist/cli/update.d.ts.map +1 -1
  28. package/dist/cli/update.js +429 -141
  29. package/dist/cli/update.js.map +1 -1
  30. package/dist/cli/workflow/generate-combined-with-triage.d.ts +49 -1
  31. package/dist/cli/workflow/generate-combined-with-triage.d.ts.map +1 -1
  32. package/dist/cli/workflow/generate-combined-with-triage.js +139 -3
  33. package/dist/cli/workflow/generate-combined-with-triage.js.map +1 -1
  34. package/dist/core/feeds/json-api.d.ts +5 -2
  35. package/dist/core/feeds/json-api.d.ts.map +1 -1
  36. package/dist/core/feeds/json-api.js +99 -13
  37. package/dist/core/feeds/json-api.js.map +1 -1
  38. package/dist/core/feeds/types.d.ts +26 -0
  39. package/dist/core/feeds/types.d.ts.map +1 -1
  40. package/dist/gemini-commands/research.toml +1 -1
  41. package/dist/gemini-commands/review.toml +1 -1
  42. package/dist/gemini-commands/update.toml +1 -1
  43. package/dist/recipes/aws-whats-new.yaml +7 -1
  44. package/dist/schemas/recipe.d.ts +1 -1
  45. package/dist/schemas/source.d.ts +22 -4
  46. package/dist/schemas/source.d.ts.map +1 -1
  47. package/dist/schemas/source.js +31 -3
  48. package/dist/schemas/source.js.map +1 -1
  49. package/dist/skills/research/SKILL.md +57 -1
  50. package/dist/skills/review/SKILL.md +65 -1
  51. package/dist/skills/update/SKILL.md +54 -1
  52. package/dist/templates/workflows/combined-with-triage.template.yaml.tmpl +29 -30
  53. package/package.json +1 -1
@@ -1,81 +1,259 @@
1
- import { access } from "node:fs/promises";
2
1
  import { join } from "node:path";
3
2
  import { loadItems, saveItems } from "../core/items.js";
3
+ import { allowedTransitions, isValidTransition } from "../core/transitions.js";
4
+ /**
5
+ * Default hard-cap for `radar dismiss --batch`.
6
+ *
7
+ * Mirrors `RESEARCH_BATCH_DEFAULT_MAX_ITEMS` / `REVIEW_BATCH_DEFAULT_MAX_ITEMS`
8
+ * (ADR-0014 D3a). dismiss is agent-free so cost is not the driver, but pinning
9
+ * the same literal keeps the batch surface symmetric across commands: a user
10
+ * who learned `--max-items 10` from `research --batch` gets the same default
11
+ * here. A runaway `--backfill` that floods `detected` cannot be cleared in a
12
+ * single unbounded pass — the cap forces an explicit `--max-items` bump.
13
+ */
14
+ export const DISMISS_BATCH_DEFAULT_MAX_ITEMS = 10;
15
+ /**
16
+ * Whitelist of `Item.status` values accepted by `radar dismiss --batch
17
+ * --status <status>` and by the single/multi-id path.
18
+ *
19
+ * Derived from the ADR-0008 / ADR-0018 state machine: an item may transition
20
+ * to `dismissed` only from `detected` or `triaged_unsure`
21
+ * (`isValidTransition(<status>, "dismissed")`). The two `triaged_research` /
22
+ * `triaged_digest` statuses are NOT dismissible — they flow to `researched`
23
+ * (a triage decision already promoted them), so dismissing them would
24
+ * contradict the classifier; the human path for those is `radar triage --redo`
25
+ * back to `detected` first.
26
+ *
27
+ * Constraining `--batch --status` to this same set means a typo in scheduled
28
+ * YAML fails loud with an explicit allow-list message instead of silently
29
+ * matching zero items (mirrors research/review #250).
30
+ */
31
+ export const DISMISS_ALLOWED_STATUSES = [
32
+ "detected",
33
+ "triaged_unsure",
34
+ ];
4
35
  function parseArgs(args) {
5
- const out = {};
36
+ const out = { itemIds: [] };
6
37
  for (let i = 0; i < args.length; i++) {
7
38
  const a = args[i];
8
39
  if (a === "-h" || a === "--help") {
9
40
  out.help = true;
10
41
  continue;
11
42
  }
43
+ if (a === "--batch") {
44
+ out.batch = true;
45
+ continue;
46
+ }
47
+ if (a === "--status") {
48
+ out.status = args[++i];
49
+ continue;
50
+ }
51
+ if (a === "--max-items") {
52
+ out.maxItems = args[++i];
53
+ continue;
54
+ }
55
+ if (a === "--filter-tags") {
56
+ out.filterTags = args[++i];
57
+ continue;
58
+ }
12
59
  if (a?.startsWith("--")) {
13
60
  throw new Error(`unknown option: ${a}`);
14
61
  }
15
- if (!out.itemId) {
16
- out.itemId = a;
17
- continue;
62
+ if (a !== undefined) {
63
+ out.itemIds.push(a);
18
64
  }
19
- throw new Error(`unexpected positional argument: ${a}`);
20
65
  }
21
66
  return out;
22
67
  }
23
68
  function printHelp(log) {
24
- log("Usage: radar dismiss <item-id>");
69
+ log("Usage:");
70
+ log(" radar dismiss <item-id> [<item-id> ...]");
71
+ log(" radar dismiss --batch [--status <status>] [--max-items N] [--filter-tags <list>]");
25
72
  log("");
26
73
  log("Arguments:");
27
74
  log(" <item-id> Item id (matches items/<sourceId>/<item-id>.yaml)");
75
+ log(" Pass 2 or more ids to dismiss them in one call.");
76
+ log(" Omit positional ids with --batch — items are discovered.");
77
+ log("");
78
+ log("Options:");
79
+ log(" --batch Dismiss every item matching --status (and --filter-tags)");
80
+ log(` respecting the --max-items hard-cap (default: ${DISMISS_BATCH_DEFAULT_MAX_ITEMS}).`);
81
+ log(" --status <status> Batch-mode filter: detected | triaged_unsure (default: detected).");
82
+ log(" Only these two statuses can transition to `dismissed`");
83
+ log(" per the ADR-0008 / ADR-0018 state machine; other values");
84
+ log(" are rejected.");
85
+ log(` --max-items N Batch-mode hard-cap on processed items (default: ${DISMISS_BATCH_DEFAULT_MAX_ITEMS}).`);
86
+ log(" Excess items are dropped and announced via warn() so a runaway");
87
+ log(" --backfill cannot blow the cap from inside a workflow.");
88
+ log(" --filter-tags <list> Batch-mode comma-separated allow-list matched against");
89
+ log(" each item's matchedKeywords (case-insensitive). Default: all.");
28
90
  log("");
29
- log("Transitions the item's status from `detected` to `dismissed` (ADR-0008).");
30
- log("Items already in `researched`, `reviewed`, or `dismissed` cannot be dismissed.");
91
+ log("Transitions the item's status to `dismissed` (ADR-0008). Valid from `detected`");
92
+ log("or `triaged_unsure`; items in `researched` / `reviewed` / `dismissed` /");
93
+ log("`triaged_research` / `triaged_digest` cannot be dismissed.");
31
94
  log("");
32
95
  log("Inverse: `radar undismiss <item-id> [--force]` (ADR-0018 §W6).");
33
96
  }
34
- async function pathExists(p) {
97
+ /**
98
+ * Locate `items/<sourceId>/<item-id>.yaml` files for the given ids across all
99
+ * source directories. `loadItems` walks every source subdir, so the caller
100
+ * only needs `<item-id>` (sourceId is inferred from the loaded item).
101
+ *
102
+ * Returns the matched items in the requested order, or `{ missing }` for the
103
+ * first id that has no matching file.
104
+ */
105
+ async function findItems(cwd, itemIds) {
106
+ const itemsDir = join(cwd, "items");
107
+ const all = await loadItems(itemsDir);
108
+ const byId = new Map(all.map((i) => [i.id, i]));
109
+ const matched = [];
110
+ for (const id of itemIds) {
111
+ const m = byId.get(id);
112
+ if (!m)
113
+ return { missing: id };
114
+ matched.push(m);
115
+ }
116
+ return { items: matched };
117
+ }
118
+ function parseMaxItems(raw, error) {
119
+ if (raw === undefined)
120
+ return DISMISS_BATCH_DEFAULT_MAX_ITEMS;
121
+ if (!/^[0-9]+$/.test(raw)) {
122
+ error(`dismiss: invalid --max-items '${raw}' (expected positive integer)`);
123
+ return null;
124
+ }
125
+ const n = Number.parseInt(raw, 10);
126
+ if (!Number.isFinite(n) || n <= 0) {
127
+ error(`dismiss: invalid --max-items '${raw}' (must be > 0)`);
128
+ return null;
129
+ }
130
+ return n;
131
+ }
132
+ function parseFilterTags(raw) {
133
+ if (raw === undefined || raw.trim() === "")
134
+ return [];
135
+ return [
136
+ ...new Set(raw
137
+ .split(",")
138
+ .map((s) => s.trim().toLowerCase())
139
+ .filter((s) => s.length > 0)),
140
+ ];
141
+ }
142
+ /**
143
+ * Transition a resolved set of items to `dismissed` and persist them.
144
+ *
145
+ * Each item is re-checked against `isValidTransition(status, "dismissed")` —
146
+ * the ADR-0008 / ADR-0018 state machine SSoT — so a stale id (e.g. an item that
147
+ * moved past `detected` between discovery and write) is rejected with a
148
+ * user-friendly message rather than corrupted. The whole batch is validated
149
+ * before any write, so a single offending id fails the call without leaving a
150
+ * partial mutation behind.
151
+ */
152
+ async function dismissItems(cwd, items, log, error) {
153
+ const offenders = items.filter((i) => !isValidTransition(i.status, "dismissed"));
154
+ if (offenders.length > 0) {
155
+ for (const item of offenders) {
156
+ error(`dismiss: item '${item.id}' is in status '${item.status}', expected one of ${DISMISS_ALLOWED_STATUSES.join(" | ")} (dismiss transitions to 'dismissed' only from these; ADR-0008 / ADR-0018). Valid next statuses for '${item.status}': ${allowedTransitions(item.status).join(", ") || "(none)"}`);
157
+ }
158
+ return 1;
159
+ }
160
+ const updated = items.map((item) => ({ ...item, status: "dismissed" }));
35
161
  try {
36
- await access(p);
37
- return true;
162
+ await saveItems(join(cwd, "items"), updated);
38
163
  }
39
- catch {
40
- return false;
164
+ catch (e) {
165
+ error(`dismiss: failed to update item status: ${e instanceof Error ? e.message : String(e)}`);
166
+ return 1;
41
167
  }
168
+ for (const item of updated) {
169
+ log(`dismiss: items/${item.sourceId}/${item.id}.yaml status -> dismissed`);
170
+ }
171
+ return 0;
42
172
  }
43
173
  /**
44
- * Locate `items/<sourceId>/<item-id>.yaml` across all source directories.
174
+ * Implementation of `radar dismiss --batch` (#259).
45
175
  *
46
- * Mirrors the lookup strategy used by `research`: `loadItems` walks every
47
- * source subdir and we match by id, so the caller only needs `<item-id>`
48
- * (sourceId is inferred from the loaded item).
176
+ * Mirrors `research --batch` shape:
177
+ * 1. Validate `--status` against `DISMISS_ALLOWED_STATUSES`.
178
+ * 2. Load items, keep those whose status matches.
179
+ * 3. Apply `--filter-tags` allow-list (case-insensitive) against
180
+ * `matchedKeywords`.
181
+ * 4. Cap at `--max-items` (drops excess + warns).
182
+ * 5. Transition the selected items to `dismissed` in one write.
183
+ *
184
+ * Designed to absorb the large `detected` backlog produced by
185
+ * `radar watch run --backfill` without the user shelling out a per-id loop.
49
186
  */
50
- async function findItem(cwd, itemId) {
187
+ async function runDismissBatch(parsed, cwd, log, warn, error) {
188
+ if (parsed.itemIds.length > 0) {
189
+ error(`dismiss: --batch is incompatible with positional <item-id> arguments (got ${parsed.itemIds.length})`);
190
+ return 2;
191
+ }
192
+ const rawStatus = parsed.status ?? "detected";
193
+ if (!DISMISS_ALLOWED_STATUSES.includes(rawStatus)) {
194
+ error(`dismiss: invalid --status '${rawStatus}' (expected: ${DISMISS_ALLOWED_STATUSES.join(" | ")})`);
195
+ return 2;
196
+ }
197
+ const status = rawStatus;
198
+ const maxItems = parseMaxItems(parsed.maxItems, error);
199
+ if (maxItems === null)
200
+ return 2;
201
+ const filterTags = parseFilterTags(parsed.filterTags);
51
202
  const itemsDir = join(cwd, "items");
52
- if (!(await pathExists(itemsDir)))
53
- return null;
54
- const items = await loadItems(itemsDir);
55
- const match = items.find((i) => i.id === itemId);
56
- if (!match)
57
- return null;
58
- return { item: match };
203
+ const all = await loadItems(itemsDir);
204
+ const matches = all
205
+ .filter((it) => it.status === status)
206
+ .filter((it) => {
207
+ if (filterTags.length === 0)
208
+ return true;
209
+ const haystack = new Set(it.matchedKeywords.map((k) => k.toLowerCase()));
210
+ return filterTags.some((t) => haystack.has(t));
211
+ })
212
+ .sort((a, b) => {
213
+ const ap = a.publishedAt ?? a.fetchedAt;
214
+ const bp = b.publishedAt ?? b.fetchedAt;
215
+ if (ap !== bp)
216
+ return ap < bp ? -1 : 1;
217
+ return a.id.localeCompare(b.id);
218
+ });
219
+ if (matches.length === 0) {
220
+ log(`dismiss: no items matched --batch filters (status=${status}${filterTags.length > 0 ? `, tags=${filterTags.join(",")}` : ""})`);
221
+ return 0;
222
+ }
223
+ let selected = matches;
224
+ if (matches.length > maxItems) {
225
+ const dropped = matches.length - maxItems;
226
+ warn(`dismiss: --max-items ${maxItems} cap reached; dropping ${dropped} excess item(s) (matched ${matches.length})`);
227
+ selected = matches.slice(0, maxItems);
228
+ }
229
+ log(`dismiss: --batch will process ${selected.length} item(s) (status=${status}${filterTags.length > 0 ? `, tags=${filterTags.join(",")}` : ""}, cap=${maxItems})`);
230
+ const code = await dismissItems(cwd, selected, log, error);
231
+ if (code !== 0)
232
+ return code;
233
+ log(`dismiss: --batch completed ${selected.length} item(s)`);
234
+ return 0;
59
235
  }
60
236
  /**
61
- * Implementation of `radar dismiss <item-id>`.
237
+ * Implementation of `radar dismiss <item-id> [<item-id> ...]` and
238
+ * `radar dismiss --batch` (#259).
62
239
  *
63
- * Triggers the `detected → dismissed` state transition (ADR-0008). The command
64
- * is intentionally agent-free: it only mutates `items/<sourceId>/<item-id>.yaml`
65
- * so users can prune noise from `watch run` output without spending agent
240
+ * Triggers the `detected | triaged_unsure → dismissed` state transition
241
+ * (ADR-0008 / ADR-0018). The command is intentionally agent-free: it only
242
+ * mutates `items/<sourceId>/<item-id>.yaml` so users can prune noise from
243
+ * `watch run` output (including a `--backfill` backlog) without spending agent
66
244
  * tokens.
67
245
  *
68
246
  * Flow:
69
247
  * 1. Parse + validate args.
70
- * 2. Locate `items/<sourceId>/<item-id>.yaml`.
71
- * 3. Reject if the item is not in `detected` (terminal/researched states
72
- * cannot be dismissed; `dismissed` itself is reversed via `radar
73
- * undismiss` — ADR-0018 §W6).
248
+ * 2. `--batch`: discover items by `--status` / `--filter-tags`.
249
+ * Otherwise: resolve the positional `<item-id>` arguments.
250
+ * 3. Reject any item not in a dismissible status (state-machine guard).
74
251
  * 4. Write back with `status: dismissed`.
75
252
  */
76
253
  export async function runDismiss(args, options = {}) {
77
254
  const cwd = options.cwd ?? process.cwd();
78
255
  const log = options.io?.log ?? ((m) => console.log(m));
256
+ const warn = options.io?.warn ?? ((m) => console.warn(m));
79
257
  const error = options.io?.error ?? ((m) => console.error(m));
80
258
  let parsed;
81
259
  try {
@@ -89,37 +267,41 @@ export async function runDismiss(args, options = {}) {
89
267
  printHelp(log);
90
268
  return 0;
91
269
  }
92
- if (!parsed.itemId) {
93
- error("dismiss: missing <item-id>");
94
- printHelp(error);
270
+ if (parsed.batch) {
271
+ return runDismissBatch(parsed, cwd, log, warn, error);
272
+ }
273
+ // Surface the batch-only flags when used outside `--batch`; matches
274
+ // research/review's "no silent ignore" stance so a typo does not become a
275
+ // no-op.
276
+ if (parsed.status !== undefined) {
277
+ error("dismiss: --status requires --batch");
95
278
  return 2;
96
279
  }
97
- const found = await findItem(cwd, parsed.itemId);
98
- if (!found) {
99
- error(`dismiss: item '${parsed.itemId}' not found under items/`);
100
- return 1;
280
+ if (parsed.maxItems !== undefined) {
281
+ error("dismiss: --max-items requires --batch");
282
+ return 2;
101
283
  }
102
- const { item } = found;
103
- if (item.status !== "detected") {
104
- error(`dismiss: item '${item.id}' is in status '${item.status}', expected 'detected' (dismiss is only valid from the detected state; ADR-0008)`);
105
- return 1;
284
+ if (parsed.filterTags !== undefined) {
285
+ error("dismiss: --filter-tags requires --batch");
286
+ return 2;
106
287
  }
107
- const updated = { ...item, status: "dismissed" };
108
- try {
109
- // saveItems writes by sourceId+id, so it overwrites the existing file in
110
- // place. The status transition is the entire effect of the command.
111
- await saveItems(join(cwd, "items"), [updated]);
288
+ if (parsed.itemIds.length === 0) {
289
+ error("dismiss: missing <item-id>");
290
+ printHelp(error);
291
+ return 2;
112
292
  }
113
- catch (e) {
114
- error(`dismiss: failed to update item status: ${e instanceof Error ? e.message : String(e)}`);
293
+ // De-dupe positional ids so `radar dismiss a a` does not double-process.
294
+ const uniqueIds = [...new Set(parsed.itemIds)];
295
+ const found = await findItems(cwd, uniqueIds);
296
+ if ("missing" in found) {
297
+ error(`dismiss: item '${found.missing}' not found under items/`);
115
298
  return 1;
116
299
  }
117
- log(`dismiss: items/${item.sourceId}/${item.id}.yaml status -> dismissed`);
118
- return 0;
300
+ return dismissItems(cwd, found.items, log, error);
119
301
  }
120
302
  export const dismissCommand = {
121
303
  name: "dismiss",
122
- summary: "Mark a detected item as dismissed (no research/review)",
304
+ summary: "Mark detected items as dismissed (single id, multiple ids, or --batch)",
123
305
  run: (args) => runDismiss(args),
124
306
  };
125
307
  //# sourceMappingURL=dismiss.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dismiss.js","sourceRoot":"","sources":["../../src/cli/dismiss.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dismiss.js","sourceRoot":"","sources":["../../src/cli/dismiss.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../src/cli/research.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAa5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,+BAA+B,2CAA4C,CAAC;AAGzF,yFAAyF;AACzF,MAAM,WAAW,UAAU;IACzB,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,sBAAsB;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAgjBD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,MAAM,CAAC,CAyHjB;AAED,eAAO,MAAM,eAAe,EAAE,OAI7B,CAAC"}
1
+ {"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../src/cli/research.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAc5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,+BAA+B,2CAA4C,CAAC;AAGzF,yFAAyF;AACzF,MAAM,WAAW,UAAU;IACzB,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,sBAAsB;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AA01BD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,MAAM,CAAC,CAmLjB;AAED,eAAO,MAAM,eAAe,EAAE,OAI7B,CAAC"}