@letterstory/cli 0.176.36 → 0.176.37

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/lib/cli.mjs CHANGED
@@ -83,7 +83,7 @@ import {
83
83
  import { fetchParkedSections, withoutParked } from "./parked.mjs";
84
84
 
85
85
  // Matches cli/package.json; publish-cli.yml rewrites both to the published version.
86
- export const VERSION = "0.176.36";
86
+ export const VERSION = "0.176.37";
87
87
 
88
88
  /** The exit code for a gate refusal (CARD_REQUIRED, PAYMENT_FAILED, OUT_OF_TOKENS): 1 is a plain error. */
89
89
  export const EXIT_PAYMENT_REQUIRED = 3;
@@ -1691,6 +1691,9 @@ Insights:
1691
1691
  insights question <key> [--period 14d|30d|90d] [--filter all|named_you|rival_not_you|no_one] [--limit n]
1692
1692
  One By-question row: the wordings asked and the AI answers
1693
1693
  insights detection How your brand is detected in AI answers (terms, who set them)
1694
+ insights properties Search Console properties the connected Google account can read, the
1695
+ unverified ones, and the one tracked
1696
+ insights property <site-url> Pick the Search Console property to track (a key minted by an admin)
1694
1697
  insights site [--period 14d|30d|90d] [--collection <uuid>]
1695
1698
  insights post <article-id> [--period 14d|30d|90d]
1696
1699
  insights top [--period 14d|30d|90d] [--collection <uuid>] [--limit <n>] [--sort clicks|impressions]
@@ -3,7 +3,8 @@
3
3
  // insights.ts); plus Measure's Overview (`summary`), GEO → Competitors
4
4
  // (`competitors`), AI Visibility Bank (`bank`) and phantom Page Access (`access`);
5
5
  // Measure → Reads (`reads`), Questions (`questions`), Pages (`pages`, one page's answers `page`) and the posts naming you (`mentions`), and the live feed of what
6
- // is reading the phantom sites (`activity`) — the same reads the web app renders.
6
+ // is reading the phantom sites (`activity`) — the same reads the web app renders. Search Console's
7
+ // property: which ones the connected Google account can read (`properties`) and the one tracked (`property`).
7
8
 
8
9
  import { CliError } from "../client.mjs";
9
10
  import { flagStr, flagNum, requirePositional, printResult, compact, argsFromFlags } from "./shared.mjs";
@@ -56,6 +57,10 @@ export const ARGS = {
56
57
  phantom_id: { flag: "phantom" },
57
58
  limit: { flag: "limit", type: "num" },
58
59
  },
60
+ list_gsc_properties: {},
61
+ select_gsc_property: {
62
+ site_url: { positional: 0, label: "site-url", required: true },
63
+ },
59
64
  get_share_of_voice_question: {
60
65
  question_key: { positional: 0, label: "question-key", required: true },
61
66
  period: { flag: "period", enum: PERIODS },
@@ -98,9 +103,13 @@ export async function cmdInsights(ctx) {
98
103
  return call(rest, "list_site_mentions");
99
104
  case "activity":
100
105
  return call(rest, "get_recent_activity");
106
+ case "properties":
107
+ return call(rest, "list_gsc_properties");
108
+ case "property":
109
+ return call(rest, "select_gsc_property");
101
110
  default:
102
111
  throw new CliError(
103
- `Unknown insights subcommand: ${sub ?? "(none)"}. Try: summary, reads, questions, pages, page, mentions, competitors, question, detection, activity, site, post, top, bank, access`
112
+ `Unknown insights subcommand: ${sub ?? "(none)"}. Try: summary, reads, questions, pages, page, mentions, competitors, question, detection, activity, site, post, top, bank, access, properties, property`
104
113
  );
105
114
  }
106
115
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@letterstory/cli",
3
- "version": "0.176.36",
3
+ "version": "0.176.37",
4
4
  "description": "Spin up and manage Letter phantom blogs from your terminal.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",