@letterstory/cli 0.176.49 → 0.176.51
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 +5 -3
- package/lib/commands/build.mjs +3 -2
- package/lib/commands/plan.mjs +4 -10
- package/package.json +1 -1
package/lib/cli.mjs
CHANGED
|
@@ -85,7 +85,7 @@ import {
|
|
|
85
85
|
import { fetchParkedSections, withoutParked } from "./parked.mjs";
|
|
86
86
|
|
|
87
87
|
// Matches cli/package.json; publish-cli.yml rewrites both to the published version.
|
|
88
|
-
export const VERSION = "0.176.
|
|
88
|
+
export const VERSION = "0.176.51";
|
|
89
89
|
|
|
90
90
|
/** The exit code for a gate refusal (CARD_REQUIRED, PAYMENT_FAILED, OUT_OF_TOKENS): 1 is a plain error. */
|
|
91
91
|
export const EXIT_PAYMENT_REQUIRED = 3;
|
|
@@ -1677,7 +1677,8 @@ Insights:
|
|
|
1677
1677
|
Plan tab's box), what's broken (--lens fix, most pressing
|
|
1678
1678
|
first), what to build (--lens build), or your own words. Nothing asked:
|
|
1679
1679
|
each list's head. The same answer as the console and Slack.
|
|
1680
|
-
plan auto [activate|disable] [--site host] [--veto-hours <1-168>|off] [--pace-hours <1-168>]
|
|
1680
|
+
plan auto [activate|disable] [--site host] [--veto-hours <1-168>|off] [--pace-hours <1-168>]
|
|
1681
|
+
[--delivery build|build_pr|build_merge]
|
|
1681
1682
|
[--aggression low|medium|high|xhigh] [--goal geo|seo|agent_conviction|inbound_conversion|any]
|
|
1682
1683
|
[--slack-channel <C…>|none]
|
|
1683
1684
|
Auto-Plan on a site: Letterpress picks its strategies and builds
|
|
@@ -1740,7 +1741,8 @@ Build (a change to your site, or launching what isn't code; the Build box's own
|
|
|
1740
1741
|
build status <build-id> One build: each change's state, its preview and pull request
|
|
1741
1742
|
build follow <build-id> [--json] What its agents do, line by line, until nothing in it is at
|
|
1742
1743
|
work (as letterpress follows a build); --json: one line per event
|
|
1743
|
-
build conversations [--limit <n>]
|
|
1744
|
+
build conversations [--limit <n>] [--origin <door>] Your conversations with Build, most recently active first;
|
|
1745
|
+
--origin console: only the Build box's (letter_edit: ⌘L's)
|
|
1744
1746
|
build conversation <conversation-id> | --build <build-id>
|
|
1745
1747
|
Every message in one, oldest first
|
|
1746
1748
|
|
package/lib/commands/build.mjs
CHANGED
|
@@ -138,7 +138,8 @@ const ARGS = {
|
|
|
138
138
|
// --from-plan: only what the Plan started (a strategy's row, Auto-Plan's pick), as the Plan's Actions list shows it.
|
|
139
139
|
from_plan: { flag: "from-plan", type: "bool" },
|
|
140
140
|
},
|
|
141
|
-
|
|
141
|
+
// --origin console: only what the app's Build box started (letter_edit: ⌘L's, mcp: the terminal's or an agent's).
|
|
142
|
+
list_build_conversations: { limit: { flag: "limit", type: "num" }, origin: "origin" },
|
|
142
143
|
get_build_conversation: {
|
|
143
144
|
conversation_id: { positional: 0, label: "conversation-id" },
|
|
144
145
|
build_id: "build",
|
|
@@ -403,7 +404,7 @@ async function buildFollow(ctx) {
|
|
|
403
404
|
/** `build conversations`: the organization's conversations with Build, most recently active first. */
|
|
404
405
|
async function buildConversations(ctx) {
|
|
405
406
|
const { client, flags, io } = ctx;
|
|
406
|
-
refuseUnknownFlags(ctx, {}, ["limit"]);
|
|
407
|
+
refuseUnknownFlags(ctx, {}, ["limit", "origin"]);
|
|
407
408
|
const result = await client.callTool(
|
|
408
409
|
"list_build_conversations",
|
|
409
410
|
argsFromFlags(ARGS.list_build_conversations, flags)
|
package/lib/commands/plan.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// `plan` — Auto-Plan on one site (Plan → Auto-Plan; Plan is scoped to one website, --site, else the
|
|
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
|
-
// plan auto [activate|disable] [--veto-hours <1-168>|off] [--pace-hours <1-168>] [--
|
|
4
|
+
// plan auto [activate|disable] [--veto-hours <1-168>|off] [--pace-hours <1-168>] [--delivery build|build_pr|build_merge]
|
|
5
5
|
// [--aggression low|medium|high|xhigh] [--goal geo|seo|agent_conviction|inbound_conversion|any]
|
|
6
6
|
// [--slack-channel <C…>|none] → set_auto_plan
|
|
7
7
|
// plan pending → list_auto_plan_proposals (status pending)
|
|
@@ -28,13 +28,6 @@ const jsonFlag = (name) => ({
|
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
});
|
|
31
|
-
const onOff = (name) => (flags) => {
|
|
32
|
-
const v = flagStr(flags[name]);
|
|
33
|
-
if (v === undefined) return undefined;
|
|
34
|
-
if (["on", "true", "1"].includes(v)) return true;
|
|
35
|
-
if (["off", "false", "0"].includes(v)) return false;
|
|
36
|
-
throw new CliError(`--${name} takes on or off.`);
|
|
37
|
-
};
|
|
38
31
|
|
|
39
32
|
export const ARGS = {
|
|
40
33
|
list_plan_work_purposes: { resource: jsonFlag("resource"), strategy_id: "strategy" },
|
|
@@ -71,7 +64,8 @@ export const ARGS = {
|
|
|
71
64
|
},
|
|
72
65
|
// --pace-hours <1-168> how often it picks the next action (1 every hour, 24 every day, 168 every week).
|
|
73
66
|
pace_hours: { flag: "pace-hours", type: "num" },
|
|
74
|
-
|
|
67
|
+
// How far each pick goes: a preview, a pull request, or one merged once ready.
|
|
68
|
+
delivery: { flag: "delivery", enum: ["build", "build_pr", "build_merge"] },
|
|
75
69
|
aggression: { flag: "aggression", enum: ["low", "medium", "high", "xhigh"] },
|
|
76
70
|
// --goal geo picks strategies for that goal only; --goal any (the default) reads every strategy.
|
|
77
71
|
goal: {
|
|
@@ -117,7 +111,7 @@ export const ARGS = {
|
|
|
117
111
|
},
|
|
118
112
|
};
|
|
119
113
|
|
|
120
|
-
const SETTING_FLAGS = ["veto-hours", "pace-hours", "
|
|
114
|
+
const SETTING_FLAGS = ["veto-hours", "pace-hours", "delivery", "aggression", "goal", "slack-channel"];
|
|
121
115
|
|
|
122
116
|
export async function cmdPlan(ctx) {
|
|
123
117
|
const { client, flags, io } = ctx;
|