@letterstory/cli 0.108.4 → 0.109.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/lib/cli.mjs +4 -4
- package/lib/commands/org.mjs +18 -1
- package/package.json +1 -1
package/lib/cli.mjs
CHANGED
|
@@ -60,7 +60,7 @@ import {
|
|
|
60
60
|
} from "./commands.mjs";
|
|
61
61
|
|
|
62
62
|
// Keep in sync with cli/package.json.
|
|
63
|
-
export const VERSION = "0.
|
|
63
|
+
export const VERSION = "0.109.0";
|
|
64
64
|
|
|
65
65
|
// Flags that never take a value. Listing them explicitly means `deploy get --json <id>`
|
|
66
66
|
// can't accidentally swallow the id as --json's value. Every `type: "bool"` flag (and its
|
|
@@ -623,8 +623,7 @@ Propose lane (the Fleet wizard's Plan and Name screens; persists nothing, spends
|
|
|
623
623
|
What does this org still need? (the router — reads only, decides nothing):
|
|
624
624
|
${bin === "phantom" ? "onboard" : "phantom-onboard"} primitives [<domain>] [--retry] The primitives that fit a domain (default:
|
|
625
625
|
yours), each with the exact call that sets
|
|
626
|
-
it up — the plan Instances shows
|
|
627
|
-
--primitives kernel,phantom keeps only those
|
|
626
|
+
it up — the plan Instances shows
|
|
628
627
|
${bin === "phantom" ? "onboard" : "phantom-onboard"} plan Every onboarding step (context, main blog,
|
|
629
628
|
Planner, CMS, phantom) with its status:
|
|
630
629
|
done / running / ready / blocked, and what
|
|
@@ -894,6 +893,7 @@ Seers (event-driven signals -> drafts):
|
|
|
894
893
|
org export [--sections <s>…] [--file <path>] The org's whole config as one JSON bundle
|
|
895
894
|
org export --split <dir> …as one file per record (for keeping config in git)
|
|
896
895
|
org join <dir> [--file <path>] Rebuild the bundle from a --split directory
|
|
896
|
+
org integrations Every integration and whether it's connected
|
|
897
897
|
org diff <file|dir> What applying a bundle would change (reads only)
|
|
898
898
|
org apply <file|dir> [--dry-run] [--prune --yes] Make the org match a bundle (adds/updates; --prune deletes)
|
|
899
899
|
[--allow spends,sends,destroys,access --yes] Also apply gated changes (admins; without --yes it only previews)
|
|
@@ -1161,7 +1161,7 @@ The Site (one model of your whole marketing site, keyed by host and path):
|
|
|
1161
1161
|
site refresh <host> [--force-map] [--force-audit] [--skip-observe]
|
|
1162
1162
|
Run the daily loop now: re-map, re-audit, signals, Jev
|
|
1163
1163
|
site unmap <host> Remove a host and everything hanging off it
|
|
1164
|
-
site tree <host> [path] [--depth <n>] [--unfold] [--since <iso>]
|
|
1164
|
+
site tree <host> [path] [--depth <n>] [--unfold] [--since <iso>]
|
|
1165
1165
|
The tree one folder at a time; --since adds +N/-N per folder
|
|
1166
1166
|
site page <host> <path> One page: facts, bindings, raw URLs, open items
|
|
1167
1167
|
site observations <host> [path] [--state open|dismissed|resolved] [--tone risk|warn|info] [--key <k>] [--since <iso>] [--min-reach <0..1>]
|
package/lib/commands/org.mjs
CHANGED
|
@@ -26,6 +26,7 @@ export const ARGS = {
|
|
|
26
26
|
confirm: { flag: "confirm" },
|
|
27
27
|
},
|
|
28
28
|
get_org_config_source: {},
|
|
29
|
+
list_integrations: {},
|
|
29
30
|
connect_org_config_source: {
|
|
30
31
|
repo: { positional: 0, label: "owner/name" },
|
|
31
32
|
branch: { flag: "branch" },
|
|
@@ -53,11 +54,27 @@ export async function cmdOrg(ctx) {
|
|
|
53
54
|
return orgApply(rest);
|
|
54
55
|
case "git":
|
|
55
56
|
return orgGit(rest);
|
|
57
|
+
case "integrations":
|
|
58
|
+
return orgIntegrations(rest);
|
|
56
59
|
default:
|
|
57
|
-
throw new CliError(
|
|
60
|
+
throw new CliError(
|
|
61
|
+
`Unknown org subcommand: ${sub ?? "(none)"}. Try: export, join, diff, apply, git, integrations`
|
|
62
|
+
);
|
|
58
63
|
}
|
|
59
64
|
}
|
|
60
65
|
|
|
66
|
+
/** `org integrations`: every integration and whether it's connected (list_integrations). */
|
|
67
|
+
async function orgIntegrations(ctx) {
|
|
68
|
+
const { client, flags, io } = ctx;
|
|
69
|
+
refuseUnknownFlags(ctx, {}, []);
|
|
70
|
+
const result = await client.callTool("list_integrations", {});
|
|
71
|
+
ok(ctx, result.message);
|
|
72
|
+
printResult(io, flags, result, (r) =>
|
|
73
|
+
r.integrations.map((i) => `${i.connected ? "●" : "○"} ${i.name}${i.detail ? ` (${i.detail})` : ""}`).join("\n")
|
|
74
|
+
);
|
|
75
|
+
return 0;
|
|
76
|
+
}
|
|
77
|
+
|
|
61
78
|
const ROOT_FILE = "organization.json";
|
|
62
79
|
|
|
63
80
|
function slug(name) {
|