@koda-sl/baker-cli 0.410.0-dev.53b577900 → 0.411.0

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.
package/README.md CHANGED
@@ -1873,6 +1873,37 @@ baker research fetch "https://competitor.com" --format html --whole-page
1873
1873
  - Each URL is cached server-side for 24 hours, so a follow-up `--full` call costs no extra credit.
1874
1874
  - Failures carry `error.fix` with `action: "continue_without"` for pages that will not open — finish the rest of the job and report the gap rather than retrying.
1875
1875
 
1876
+
1877
+ A Reddit thread link is not sent to Firecrawl (which refuses Reddit): it is read by the Reddit reader below and returned as the thread written out as a page, with `"provider": "reddit"`. Any other Reddit page is refused with a pointer to `baker research reddit`.
1878
+
1879
+ ---
1880
+
1881
+ ### `baker research reddit subreddits` / `search` / `thread`
1882
+
1883
+ Read Reddit verbatim. Reddit refuses ordinary web reads, Firecrawl, and datacenter addresses, so these commands read it through a ladder of sources — Reddit's own API (when the backend holds `REDDIT_CLIENT_ID` / `REDDIT_CLIENT_SECRET`), the Arctic Shift public archive, then Reddit's public JSON through the proxy tiers — and report which one answered.
1884
+
1885
+ ```bash
1886
+ baker research reddit subreddits "amazon flex uk"
1887
+ baker research reddit search "agency never paid" --subreddit couriersofreddit,AmazonFlexUK --kind comments
1888
+ baker research reddit search "visa" --subreddit UberEATS --kind comments --since 2025-01-01 --limit 10
1889
+ baker research reddit thread "https://www.reddit.com/r/AmazonFlexUK/comments/1abc2de/agency_still_hasnt_paid_me/"
1890
+ baker research reddit thread "https://www.reddit.com/r/running/s/3TzXiyxaMD" --comments 100
1891
+ ```
1892
+
1893
+ | Flag | Description |
1894
+ |------|-------------|
1895
+ | `--subreddit` | Subreddits (up to 10), comma-separated or the flag repeated. Required for `--kind comments`, and for any search when the Reddit API is not configured |
1896
+ | `--kind` | `posts` (default) or `comments` |
1897
+ | `--since` | Only things written on or after `YYYY-MM-DD`; results then come newest first instead of best match first |
1898
+ | `--limit` | Search results, 1-50 (default 25) |
1899
+ | `--limit` (subreddits) | Subreddits to return, 1-25 (default 10) |
1900
+ | `--comments` | Thread comments, 0-200 (default 40), best conversations first |
1901
+ | `--full` | Whole texts instead of 1,500-character previews |
1902
+
1903
+ `subreddits` returns `name`, `subscribers` (size, not activity), `access` (`public` / `restricted` / `private`) and `description` — use it instead of guessing subreddit names. Cached 24h.
1904
+
1905
+ Every search or thread item carries verbatim `text`, `author`, `score`, `created` and a `permalink` built from the ids the source returned. `thread` refuses a link whose post lives in a different subreddit than the link names (`NOT_FOUND`, `fix.action: "reject"`) — the shape of a link invented by a summary. `source` is `reddit_api`, `reddit_web` or `archive`; archive points on posts under ~36h old are as first captured. A link to one comment opens the thread at that comment; a post on a user's profile (`/user/<name>/comments/<id>`) reads like any other thread. Cached 6h; an empty search is not cached.
1906
+
1876
1907
  ---
1877
1908
 
1878
1909
  ### `baker research advertisers "keyword"`
@@ -3080,23 +3111,6 @@ baker testimonials search "competitor support" --source trustpilot --sentiment n
3080
3111
  baker testimonials search "[product/offer] for [persona] that delivers [USP/outcome]" --rating-min 4 --language en --output md --full --limit 12
3081
3112
  ```
3082
3113
 
3083
- ### `baker testimonials sources`
3084
-
3085
- The review pages testimonials are imported from — Google Maps, Trustpilot, Yelp, Tripadvisor, G2, Capterra, Amazon, App Store, Google Play. Adding or removing one applies immediately and shows on the chat as an already-applied change.
3086
-
3087
- | Command | What it does |
3088
- | --- | --- |
3089
- | `baker testimonials sources add <link \| business name> [--platform <site>] [--every never\|daily\|weekly\|monthly]` | Recognise the page from its link (a business name finds a Google Maps listing) and import its reviews in the background. Idempotent. |
3090
- | `baker testimonials sources list` | Every source: id, site, status, reviews imported, auto-sync. |
3091
- | `baker testimonials sources sync <id>` | Import new reviews now. |
3092
- | `baker testimonials sources schedule <id> --every <interval>` | Set the auto-sync cadence. |
3093
- | `baker testimonials sources remove <id>` | Remove the source and every testimonial it imported. |
3094
-
3095
- ```bash
3096
- baker testimonials sources add https://www.trustpilot.com/review/acme.com
3097
- baker testimonials sources add "Acme Bakery Madrid"
3098
- ```
3099
-
3100
3114
  ### `baker testimonials get <id>`
3101
3115
 
3102
3116
  Get a single testimonial by ID.
@@ -20,9 +20,9 @@ import {
20
20
  shouldEscalate
21
21
  } from "./chunk-ISCXDKWB.js";
22
22
 
23
- // ../../.pnpm-store/v10/links/@/safe-stable-stringify/2.5.0/766ad107c42df28eeadaf0ac2f9089c8a9e200f6ba0b2b1a817b8d536cbdcc49/node_modules/safe-stable-stringify/index.js
23
+ // ../../node_modules/.pnpm/safe-stable-stringify@2.5.0/node_modules/safe-stable-stringify/index.js
24
24
  var require_safe_stable_stringify = __commonJS({
25
- "../../.pnpm-store/v10/links/@/safe-stable-stringify/2.5.0/766ad107c42df28eeadaf0ac2f9089c8a9e200f6ba0b2b1a817b8d536cbdcc49/node_modules/safe-stable-stringify/index.js"(exports, module) {
25
+ "../../node_modules/.pnpm/safe-stable-stringify@2.5.0/node_modules/safe-stable-stringify/index.js"(exports, module) {
26
26
  "use strict";
27
27
  var { hasOwnProperty } = Object.prototype;
28
28
  var stringify = configure2();
@@ -1144,7 +1144,7 @@ function resolveAdaptFormats(params) {
1144
1144
  return params.formats ?? [];
1145
1145
  }
1146
1146
 
1147
- // ../../.pnpm-store/v10/links/@/safe-stable-stringify/2.5.0/766ad107c42df28eeadaf0ac2f9089c8a9e200f6ba0b2b1a817b8d536cbdcc49/node_modules/safe-stable-stringify/esm/wrapper.js
1147
+ // ../../node_modules/.pnpm/safe-stable-stringify@2.5.0/node_modules/safe-stable-stringify/esm/wrapper.js
1148
1148
  var import__ = __toESM(require_safe_stable_stringify(), 1);
1149
1149
  var configure = import__.default.configure;
1150
1150
  var wrapper_default = import__.default;
@@ -11630,4 +11630,4 @@ export {
11630
11630
  defaultRegistry,
11631
11631
  createEngineFromEnv
11632
11632
  };
11633
- //# sourceMappingURL=chunk-TI5KBK4V.js.map
11633
+ //# sourceMappingURL=chunk-KTMFHBN6.js.map