@koda-sl/baker-cli 0.411.0 → 0.413.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
@@ -2979,6 +2979,8 @@ baker videos search "product demo"
2979
2979
  baker videos search "tutorial" --tags explainer,ugc --limit 5
2980
2980
  ```
2981
2981
 
2982
+ Each hit carries `format` (e.g. `testimonial`, `trend-skit`), `tone` (`sincere` … `parody`) and `productClaims`: what the clip says about the offer. Hints name any parody result, and any clip catalogued before these fields existed.
2983
+
2982
2984
  ### `baker videos get <id>`
2983
2985
 
2984
2986
  Get a single video by ID. `--full` includes the auto-generated **transcript** (Baker transcribes every upload with speech-to-text), a `transcript_segment_count`, and the titled/timestamped **scene breakdown** — so you can read what a clip says and shows without watching it. Default JSON also returns the raw `transcript` + timed `transcriptSegments`; `--full` is what surfaces them in `--output md`/`files` too.
@@ -3111,6 +3113,23 @@ baker testimonials search "competitor support" --source trustpilot --sentiment n
3111
3113
  baker testimonials search "[product/offer] for [persona] that delivers [USP/outcome]" --rating-min 4 --language en --output md --full --limit 12
3112
3114
  ```
3113
3115
 
3116
+ ### `baker testimonials sources`
3117
+
3118
+ 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.
3119
+
3120
+ | Command | What it does |
3121
+ | --- | --- |
3122
+ | `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. |
3123
+ | `baker testimonials sources list` | Every source: id, site, status, reviews imported, auto-sync. |
3124
+ | `baker testimonials sources sync <id>` | Import new reviews now. |
3125
+ | `baker testimonials sources schedule <id> --every <interval>` | Set the auto-sync cadence. |
3126
+ | `baker testimonials sources remove <id>` | Remove the source and every testimonial it imported. |
3127
+
3128
+ ```bash
3129
+ baker testimonials sources add https://www.trustpilot.com/review/acme.com
3130
+ baker testimonials sources add "Acme Bakery Madrid"
3131
+ ```
3132
+
3114
3133
  ### `baker testimonials get <id>`
3115
3134
 
3116
3135
  Get a single testimonial by ID.
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  debugLogHttp,
3
3
  readBodyForLog
4
- } from "./chunk-ISJOVAJP.js";
4
+ } from "./chunk-EXFQDO6T.js";
5
5
  import {
6
6
  API_KEY_FORMAT_MESSAGE,
7
7
  DIRECT_ROUTE,
@@ -18,7 +18,7 @@ import {
18
18
  refuseNonPublicUrl,
19
19
  requireConnection,
20
20
  shouldEscalate
21
- } from "./chunk-ISCXDKWB.js";
21
+ } from "./chunk-ASON7WRD.js";
22
22
 
23
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({
@@ -11630,4 +11630,4 @@ export {
11630
11630
  defaultRegistry,
11631
11631
  createEngineFromEnv
11632
11632
  };
11633
- //# sourceMappingURL=chunk-KTMFHBN6.js.map
11633
+ //# sourceMappingURL=chunk-4Q7EDLEC.js.map
@@ -823,6 +823,13 @@ function imageNormalizer(record, full) {
823
823
  }
824
824
  return compactImage(record);
825
825
  }
826
+ function sellingFacts(analysis) {
827
+ return {
828
+ format: typeof analysis.format === "string" ? analysis.format : null,
829
+ tone: typeof analysis.tone === "string" ? analysis.tone : null,
830
+ productClaims: Array.isArray(analysis.productClaims) ? analysis.productClaims : null
831
+ };
832
+ }
826
833
  function compactVideo(video) {
827
834
  const analysis = asRecord(video.analysis);
828
835
  const sceneCount = typeof video.sceneCount === "number" ? video.sceneCount : Array.isArray(video.scenes) ? video.scenes.length : 0;
@@ -841,6 +848,7 @@ function compactVideo(video) {
841
848
  people: peopleLines(analysis.people),
842
849
  spokenLanguages: Array.isArray(analysis.spokenLanguages) ? analysis.spokenLanguages : [],
843
850
  hook: typeof analysis.hook === "string" ? analysis.hook : null,
851
+ ...sellingFacts(analysis),
844
852
  sceneCount,
845
853
  group: groupSummary(video)
846
854
  };
@@ -1356,4 +1364,4 @@ export {
1356
1364
  captureVimeoCookie,
1357
1365
  childEnvWith
1358
1366
  };
1359
- //# sourceMappingURL=chunk-ISCXDKWB.js.map
1367
+ //# sourceMappingURL=chunk-ASON7WRD.js.map