@letterstory/cli 0.176.30 → 0.176.32

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.30";
86
+ export const VERSION = "0.176.32";
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;
@@ -643,7 +643,7 @@ async function kernelEval(ctx) {
643
643
 
644
644
  /**
645
645
  * `kernel update <kernel-id>` — name/description/voice on an org-owned kernel. Raw
646
- * prompt/config editing stays staff-only (the app's own developer console), same as always.
646
+ * prompt/config editing stays staff-only (Super Admin), same as always.
647
647
  */
648
648
  async function kernelUpdate(ctx) {
649
649
  const { client, positionals, flags, io } = ctx;
@@ -79,6 +79,17 @@ const ARGS = {
79
79
  repo_owner: { value: (flags) => splitRepo(flags).owner },
80
80
  repo_name: { value: (flags) => splitRepo(flags).name },
81
81
  base_branch: "branch",
82
+ tool_access: {
83
+ value: (flags) => {
84
+ const raw = readTextInput(flags, "tool-access", "tool-access-file");
85
+ if (raw === undefined) return undefined;
86
+ try {
87
+ return JSON.parse(raw);
88
+ } catch {
89
+ throw new CliError("--tool-access must be valid JSON (or use --tool-access-file <path|->).");
90
+ }
91
+ },
92
+ },
82
93
  // --instructions, or a longer brief from --instructions-file <path> / - (stdin).
83
94
  instructions: { value: (flags) => readTextInput(flags, "instructions", "instructions-file") },
84
95
  // --attach <path> (uploaded first) and --attach-url <name>=<https url>, both repeatable;
@@ -461,6 +472,8 @@ async function repoStart(ctx) {
461
472
  "branch",
462
473
  "instructions",
463
474
  "instructions-file",
475
+ "tool-access",
476
+ "tool-access-file",
464
477
  "attach",
465
478
  "attach-url",
466
479
  "attach-ref",
package/lib/documents.mjs CHANGED
@@ -79,6 +79,8 @@ export const DOCUMENT_FLAG_PAIRS = [
79
79
  * lists, so a new `--x-file` flag cannot be added without answering "prose or JSON?".
80
80
  */
81
81
  export const JSON_ARG_FLAG_PAIRS = [
82
+ // A build's explicit tool requirements and scopes (repo.mjs).
83
+ ["tool-access", "tool-access-file"],
82
84
  // A topic plan, or a whole saved proposal (onboard.mjs readTopicPlan).
83
85
  ["plan", "plan-file"],
84
86
  // A reviewed plan handed back to be applied verbatim (onboard.mjs readAcceptedPlan).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@letterstory/cli",
3
- "version": "0.176.30",
3
+ "version": "0.176.32",
4
4
  "description": "Spin up and manage Letter phantom blogs from your terminal.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",