@letterstory/cli 0.176.38 → 0.176.39

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.38";
86
+ export const VERSION = "0.176.39";
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;
@@ -1671,9 +1671,10 @@ Insights:
1671
1671
  first), what to build (--lens build), or your own words. Nothing asked:
1672
1672
  each list's head. The same answer as the console and Slack.
1673
1673
  plan auto [activate|disable] [--site host] [--veto-hours <1-168>|off] [--auto-merge on|off]
1674
- [--aggression low|medium|high|xhigh] [--slack-channel <C…>|none]
1674
+ [--aggression low|medium|high|xhigh] [--goal geo|seo|agent_conviction|inbound_conversion|any]
1675
+ [--slack-channel <C…>|none]
1675
1676
  Auto-Plan on a site: Letterpress picks its strategies and builds
1676
- them; each pick waits --veto-hours for a veto. Settings shown when none given.
1677
+ them (--goal: one goal's strategies, else any); each pick waits --veto-hours for a veto. Settings shown when none given.
1677
1678
  plan pending [--site host] What Auto-Plan picked and is waiting to build
1678
1679
  plan veto <proposal-id> Veto one: it is never built
1679
1680
  plan later <action-id> [--outcome geo|…] [--site host] Queue a Plan row for later: Auto-Plan starts it once it's ready
@@ -2,7 +2,8 @@
2
2
  // organization's own domain). The same calls as the Plan's modal and its sidebar's Pending rows.
3
3
  // plan auto → get_auto_plan
4
4
  // plan auto [activate|disable] [--veto-hours <1-168>|off] [--auto-merge on|off]
5
- // [--aggression low|medium|high|xhigh] [--slack-channel <C…>|none] → set_auto_plan
5
+ // [--aggression low|medium|high|xhigh] [--goal geo|seo|agent_conviction|inbound_conversion|any]
6
+ // [--slack-channel <C…>|none] → set_auto_plan
6
7
  // plan pending → list_auto_plan_proposals (status pending)
7
8
  // plan veto <proposal-id> → veto_auto_plan_proposal
8
9
  // plan later <action-id> [--outcome geo|…] → queue_plan_action (Auto-Plan starts it once it's ready)
@@ -44,6 +45,17 @@ export const ARGS = {
44
45
  },
45
46
  merge: { value: onOff("auto-merge") },
46
47
  aggression: { flag: "aggression", enum: ["low", "medium", "high", "xhigh"] },
48
+ // --goal geo picks strategies for that goal only; --goal any (the default) reads every strategy.
49
+ goal: {
50
+ value: (flags) => {
51
+ const v = flagStr(flags.goal);
52
+ if (v === undefined) return undefined;
53
+ if (v === "any") return null;
54
+ if (!["agent_conviction", "geo", "seo", "inbound_conversion"].includes(v))
55
+ throw new CliError("--goal takes agent_conviction, geo, seo, inbound_conversion, or any.");
56
+ return v;
57
+ },
58
+ },
47
59
  slack_channel: {
48
60
  value: (flags) => {
49
61
  const v = flagStr(flags["slack-channel"]);
@@ -75,7 +87,7 @@ export const ARGS = {
75
87
  },
76
88
  };
77
89
 
78
- const SETTING_FLAGS = ["veto-hours", "auto-merge", "aggression", "slack-channel"];
90
+ const SETTING_FLAGS = ["veto-hours", "auto-merge", "aggression", "goal", "slack-channel"];
79
91
 
80
92
  export async function cmdPlan(ctx) {
81
93
  const { client, flags, io } = ctx;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@letterstory/cli",
3
- "version": "0.176.38",
3
+ "version": "0.176.39",
4
4
  "description": "Spin up and manage Letter phantom blogs from your terminal.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",