frontpage-host 0.1.23 → 0.1.25
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/AGENTS.md +5 -0
- package/PEOPLE.md +568 -0
- package/README.md +5 -0
- package/dist/commands/mail.js +3 -0
- package/dist/commands/people-workspace.d.ts +3 -0
- package/dist/commands/people-workspace.js +137 -0
- package/dist/commands/people.js +15 -0
- package/dist/commands/push.js +35 -12
- package/dist/commands/settings.js +1 -1
- package/dist/commands/shop.js +35 -35
- package/dist/modules/commands.js +3 -2
- package/dist/modules/typed_config.js +4 -0
- package/dist/registry.js +16 -4
- package/llms.txt +5 -0
- package/package.json +3 -2
- package/dist/bin-path.d.ts +0 -21
- package/dist/bin-path.js +0 -65
package/dist/registry.js
CHANGED
|
@@ -333,6 +333,7 @@ export const COMMANDS = [
|
|
|
333
333
|
"frontpage modules google_reviews enable",
|
|
334
334
|
"frontpage modules callbar get",
|
|
335
335
|
"frontpage modules callbar set --phone +14085551234 --sms no",
|
|
336
|
+
"frontpage modules callbar set --call no --sms yes",
|
|
336
337
|
"frontpage modules forms get",
|
|
337
338
|
"frontpage modules forms set --instance lead-gen --notify-email hi@example.com",
|
|
338
339
|
"frontpage modules forms set --instance lead-gen --confirm-template <template-id>",
|
|
@@ -438,10 +439,16 @@ export const COMMANDS = [
|
|
|
438
439
|
},
|
|
439
440
|
{
|
|
440
441
|
name: "people",
|
|
441
|
-
summary: "
|
|
442
|
-
usage: "frontpage people list|get|add|set|note|rm-note|follow-up|hide|unhide|tag|export
|
|
442
|
+
summary: "People, groups, stages, rules, imports, and campaign audiences",
|
|
443
|
+
usage: "frontpage people overview|sources|groups|stages|membership|rules|attachments|import|company|person|audience|workspace … [--site <slug>] [--json]; list|get|add|set|note|rm-note|follow-up|hide|unhide|tag|export remain available",
|
|
443
444
|
topics: ["content"],
|
|
444
445
|
examples: [
|
|
446
|
+
"frontpage people overview --json",
|
|
447
|
+
"frontpage people groups create --label Leads",
|
|
448
|
+
"frontpage people stages create --group GROUP_ID --label New --position 0",
|
|
449
|
+
"frontpage people membership add --person PERSON_ID --group GROUP_ID",
|
|
450
|
+
"frontpage people rules create --file rule.json",
|
|
451
|
+
"frontpage people import start --csv customers.csv --file mapping.json --request-key REQUEST_UUID",
|
|
445
452
|
"frontpage people list",
|
|
446
453
|
"frontpage people add --email alex@example.com --name Alex",
|
|
447
454
|
"frontpage people set <id> --status working",
|
|
@@ -454,6 +461,10 @@ export const COMMANDS = [
|
|
|
454
461
|
"frontpage people export",
|
|
455
462
|
],
|
|
456
463
|
flags: [
|
|
464
|
+
"Workspace: groups list|get|create|update|archive|restore|preview; stages create|update|reorder|archive|restore; membership get|add|remove|move|stage|advance|override|hold; rules list|get|create|update|enable|pause|archive|validate|preview|runs|retry; attachments create; import preview|start|get|retry; person permission; company get|set; audience preview; overview; sources",
|
|
465
|
+
"All workspace operations accept --file JSON or --data JSON. Named flags: --id --label --name --group --stage --person --from-group --mode --color --position --terminal --enabled --hold --allowed --archived --reset --override include|exclude|auto --email-kind template|series --email-id --rule --run --cursor --limit --request-key. Boolean flags take true|false. Complex conditions/actions/mappings use JSON.",
|
|
466
|
+
"CSV: --csv PATH plus --file mapping.json. import start requires a stable --request-key. Retry the same import with the same key and contents.",
|
|
467
|
+
"list/export: --group GROUP_ID --stage STAGE_ID. See package PEOPLE.md for full examples and every JSON shape.",
|
|
457
468
|
"list: --q --status --source --form-slug --follow-up due|upcoming|none --hidden --sort --last-seen-days --tag --limit --cursor",
|
|
458
469
|
"add requires --email and/or --phone (never name alone)",
|
|
459
470
|
"tag: --add <label> | --remove <slug>",
|
|
@@ -503,8 +514,8 @@ export const COMMANDS = [
|
|
|
503
514
|
},
|
|
504
515
|
{
|
|
505
516
|
name: "mail",
|
|
506
|
-
summary: "
|
|
507
|
-
usage: "frontpage mail settings|email|template|series|send|sends|enrolments|suppress … [--site <slug>] [--json]",
|
|
517
|
+
summary: "Emails: campaign drafts, People audiences, templates, series, and sends",
|
|
518
|
+
usage: "frontpage mail settings|email|template|series|campaign|send|sends|enrolments|suppress … [--site <slug>] [--json]",
|
|
508
519
|
topics: ["content"],
|
|
509
520
|
examples: [
|
|
510
521
|
"frontpage mail settings set --postal \"100 Main St\" --reply-to you@example.com",
|
|
@@ -515,6 +526,7 @@ export const COMMANDS = [
|
|
|
515
526
|
"frontpage mail suppress add --email bounce@example.com",
|
|
516
527
|
],
|
|
517
528
|
flags: [
|
|
529
|
+
"campaign preview|audience|send|get. --id DRAFT_ID, --file audience.json ({audience:{groupIds|stageIds|personIds|filters}}). send requires --request-key; reuse it after a network error. Templates/series are for automation; campaigns have separate drafts. See PEOPLE.md.",
|
|
518
530
|
"email list is unsent drafts only. Sent one-offs are mail sends list",
|
|
519
531
|
"send --file is an inline one-off (no saved document)",
|
|
520
532
|
"Blocks and series steps are JSON (--file). Unknown leftover flags fail closed (exit 2)",
|
package/llms.txt
CHANGED
|
@@ -30,3 +30,8 @@
|
|
|
30
30
|
- Machine: global --json / --quiet; exit 0/2/3/4/5 (see help exit-codes)
|
|
31
31
|
- deploy wait = agent-run idle (if any) + tip compile ready; it is NOT go-live / publish
|
|
32
32
|
- No runs continue, domains, billing, members, MCP, or git remotes in v1
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## People groups, stages, rules, and imports
|
|
36
|
+
|
|
37
|
+
Use `frontpage people overview`, `groups`, `stages`, `membership`, `rules`, `attachments`, `import`, and `company`. Use `frontpage mail campaign` for one-off group/stage/list audiences in Emails. Every editor action is available through these commands or `frontpage people workspace OPERATION --file payload.json`. Full operations and examples: [PEOPLE.md](./PEOPLE.md); public guide: https://frontpage.host/developers/people. Automated emails select a saved template or series. Campaigns use their own drafts.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "frontpage-host",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.25",
|
|
4
4
|
"description": "Frontpage CLI — manage your site from the terminal",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
"dist",
|
|
11
11
|
"README.md",
|
|
12
12
|
"AGENTS.md",
|
|
13
|
-
"llms.txt"
|
|
13
|
+
"llms.txt",
|
|
14
|
+
"PEOPLE.md"
|
|
14
15
|
],
|
|
15
16
|
"scripts": {
|
|
16
17
|
"build": "tsc -p tsconfig.json",
|
package/dist/bin-path.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export type PathFrontpageVerdict = {
|
|
2
|
-
stale: boolean;
|
|
3
|
-
path: string | null;
|
|
4
|
-
pathVersion: string | null;
|
|
5
|
-
reason: "older-than-compile-wait" | "older-than-this-package" | "unreadable" | null;
|
|
6
|
-
};
|
|
7
|
-
export declare function resolveRealPath(path: string): string;
|
|
8
|
-
export declare function interpretPathFrontpage(args: {
|
|
9
|
-
thisVersion: string;
|
|
10
|
-
thisBin: string | null;
|
|
11
|
-
pathBin: string | null;
|
|
12
|
-
pathVersionLine: string | null;
|
|
13
|
-
minVersion?: string;
|
|
14
|
-
}): PathFrontpageVerdict;
|
|
15
|
-
export declare function whichFrontpage(): string | null;
|
|
16
|
-
export declare function frontpageVersionAt(bin: string): string | null;
|
|
17
|
-
export declare function inspectPathFrontpage(opts?: {
|
|
18
|
-
thisBin?: string | null;
|
|
19
|
-
thisVersion?: string;
|
|
20
|
-
}): PathFrontpageVerdict;
|
|
21
|
-
export declare function stalePathUpgradeMessage(v: PathFrontpageVerdict): string;
|
package/dist/bin-path.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Detect a stale `frontpage` on PATH (global 0.1.9 vs this package).
|
|
3
|
-
* Does not uninstall anything — doctor prints the uninstall command.
|
|
4
|
-
*/
|
|
5
|
-
import { spawnSync } from "node:child_process";
|
|
6
|
-
import { realpathSync } from "node:fs";
|
|
7
|
-
import { COMPILE_WAIT_MIN_VERSION, isOlderThan, packageIdentity, parseVersionLine, } from "./version.js";
|
|
8
|
-
export function resolveRealPath(path) {
|
|
9
|
-
try {
|
|
10
|
-
return realpathSync(path);
|
|
11
|
-
}
|
|
12
|
-
catch {
|
|
13
|
-
return path;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
export function interpretPathFrontpage(args) {
|
|
17
|
-
if (!args.pathBin) {
|
|
18
|
-
return { stale: false, path: null, pathVersion: null, reason: null };
|
|
19
|
-
}
|
|
20
|
-
if (args.thisBin && resolveRealPath(args.pathBin) === resolveRealPath(args.thisBin)) {
|
|
21
|
-
return { stale: false, path: args.pathBin, pathVersion: args.thisVersion, reason: null };
|
|
22
|
-
}
|
|
23
|
-
const pathVersion = parseVersionLine(args.pathVersionLine ?? "");
|
|
24
|
-
if (!pathVersion) {
|
|
25
|
-
return { stale: true, path: args.pathBin, pathVersion: null, reason: "unreadable" };
|
|
26
|
-
}
|
|
27
|
-
const floor = args.minVersion ?? COMPILE_WAIT_MIN_VERSION;
|
|
28
|
-
if (isOlderThan(pathVersion, floor)) {
|
|
29
|
-
return { stale: true, path: args.pathBin, pathVersion, reason: "older-than-compile-wait" };
|
|
30
|
-
}
|
|
31
|
-
if (isOlderThan(pathVersion, args.thisVersion)) {
|
|
32
|
-
return { stale: true, path: args.pathBin, pathVersion, reason: "older-than-this-package" };
|
|
33
|
-
}
|
|
34
|
-
return { stale: false, path: args.pathBin, pathVersion, reason: null };
|
|
35
|
-
}
|
|
36
|
-
export function whichFrontpage() {
|
|
37
|
-
const r = spawnSync("sh", ["-c", "command -v frontpage"], { encoding: "utf8" });
|
|
38
|
-
const line = (r.stdout ?? "").trim().split("\n")[0]?.trim();
|
|
39
|
-
return line || null;
|
|
40
|
-
}
|
|
41
|
-
export function frontpageVersionAt(bin) {
|
|
42
|
-
const r = spawnSync(bin, ["--version"], { encoding: "utf8" });
|
|
43
|
-
const text = `${r.stdout ?? ""}\n${r.stderr ?? ""}`;
|
|
44
|
-
return parseVersionLine(text);
|
|
45
|
-
}
|
|
46
|
-
export function inspectPathFrontpage(opts) {
|
|
47
|
-
const thisVersion = opts?.thisVersion ?? packageIdentity().version;
|
|
48
|
-
const thisBin = opts?.thisBin ?? process.argv[1] ?? null;
|
|
49
|
-
const pathBin = whichFrontpage();
|
|
50
|
-
const pathVersionLine = pathBin ? frontpageVersionAt(pathBin) : null;
|
|
51
|
-
return interpretPathFrontpage({
|
|
52
|
-
thisVersion,
|
|
53
|
-
thisBin,
|
|
54
|
-
pathBin,
|
|
55
|
-
pathVersionLine,
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
export function stalePathUpgradeMessage(v) {
|
|
59
|
-
const found = v.pathVersion ? `frontpage-host ${v.pathVersion}` : "an unknown frontpage-host";
|
|
60
|
-
const where = v.path ? ` at ${v.path}` : "";
|
|
61
|
-
return (`PATH frontpage is ${found}${where}. Compile-wait needs frontpage-host ${COMPILE_WAIT_MIN_VERSION} or newer. ` +
|
|
62
|
-
`Uninstall the stale global (npm uninstall -g frontpage-host) and install ` +
|
|
63
|
-
`npm i -g frontpage-host@${COMPILE_WAIT_MIN_VERSION} (or npx frontpage-host@${COMPILE_WAIT_MIN_VERSION}). ` +
|
|
64
|
-
`In the Frontpage repo, run node <repo>/cli/dist/bin.js instead of a global binary.`);
|
|
65
|
-
}
|