@itznexus/itznexus-cli 1.68.0 → 1.69.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/dist/commands/api/shorts-prepare.d.ts +2 -0
- package/dist/commands/api/shorts-prepare.js +56 -0
- package/dist/commands/api/shorts-prepare.js.map +1 -0
- package/dist/commands/api/shorts-publish.js +7 -5
- package/dist/commands/api/shorts-publish.js.map +1 -1
- package/dist/commands/api/shorts.js +5 -3
- package/dist/commands/api/shorts.js.map +1 -1
- package/dist/lib/short-productions.d.ts +6 -2
- package/dist/lib/short-productions.js +25 -5
- package/dist/lib/short-productions.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
import { api } from "../../lib/api.js";
|
|
4
|
+
import { printList, handleError } from "../../lib/format.js";
|
|
5
|
+
import { PLATFORM_SECTION_NAMES, SHORT_PLATFORMS, resolveShortProduction, } from "../../lib/short-productions.js";
|
|
6
|
+
import { getShort } from "../../lib/shorts.js";
|
|
7
|
+
import { collectPlatform, uploadShort } from "./shorts-create.js";
|
|
8
|
+
const ARMABLE = new Set(["draft", "pending", "failed"]);
|
|
9
|
+
export const prepareCommand = new Command("prepare")
|
|
10
|
+
.description("Prepare a short for review: create the draft from productions/<slug>/ if missing (uploading files as needed) and arm each platform publication with its POST.md caption, without publishing anywhere")
|
|
11
|
+
.argument("<slug>", "Production slug (folder name under productions/)")
|
|
12
|
+
.option("--platform <platform>", "Restrict to a platform (instagram|tiktok|youtube, repeatable; default all)", collectPlatform, [])
|
|
13
|
+
.option("--json", "Output the armed publications as JSON")
|
|
14
|
+
.action(async (slug, opts) => {
|
|
15
|
+
try {
|
|
16
|
+
const platforms = opts.platform.length > 0 ? opts.platform : [...SHORT_PLATFORMS];
|
|
17
|
+
const quiet = opts.json === true;
|
|
18
|
+
const production = resolveShortProduction(slug, process.cwd());
|
|
19
|
+
for (const platform of platforms) {
|
|
20
|
+
if (!production.captions[platform]) {
|
|
21
|
+
throw new Error(`POST.md has no "${PLATFORM_SECTION_NAMES[platform]}" section (needed for ${platform})`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const short = (await getShort(slug)) ?? (await uploadShort(slug, quiet));
|
|
25
|
+
const armed = [];
|
|
26
|
+
for (const platform of platforms) {
|
|
27
|
+
const existing = short.publications.find((p) => p.platform === platform);
|
|
28
|
+
if (existing && !ARMABLE.has(existing.status)) {
|
|
29
|
+
if (!quiet) {
|
|
30
|
+
console.log(chalk.dim(` ${platform}: already ${existing.status}, skipping`));
|
|
31
|
+
}
|
|
32
|
+
armed.push(existing);
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
armed.push(await api.post(`/shorts/${slug}/publications`, {
|
|
36
|
+
platform,
|
|
37
|
+
caption: production.captions[platform],
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
if (quiet) {
|
|
41
|
+
console.log(JSON.stringify(armed, null, 2));
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
printList(armed, [
|
|
45
|
+
{ key: "platform", label: "Platform", width: 12 },
|
|
46
|
+
{ key: "status", label: "Status", width: 12 },
|
|
47
|
+
{ key: "id", label: "ID", width: 36 },
|
|
48
|
+
], {});
|
|
49
|
+
console.log(chalk.green("✓"), `Short ${chalk.bold(short.slug)} is prepared; nothing was published`);
|
|
50
|
+
console.log(chalk.dim(`Send it with: itznexus short publish ${slug}`));
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
handleError(err);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=shorts-prepare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shorts-prepare.js","sourceRoot":"","sources":["../../../src/commands/api/shorts-prepare.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,14 @@ import { Command } from "commander";
|
|
|
2
2
|
import chalk from "chalk";
|
|
3
3
|
import { api } from "../../lib/api.js";
|
|
4
4
|
import { printList, handleError } from "../../lib/format.js";
|
|
5
|
-
import { SHORT_PLATFORMS, resolveShortProduction, } from "../../lib/short-productions.js";
|
|
5
|
+
import { PLATFORM_SECTION_NAMES, SHORT_PLATFORMS, resolveShortProduction, } from "../../lib/short-productions.js";
|
|
6
6
|
import { getShort, pollPublications, } from "../../lib/shorts.js";
|
|
7
7
|
import { collectPlatform, uploadShort } from "./shorts-create.js";
|
|
8
8
|
const ARMABLE = new Set(["draft", "pending", "failed"]);
|
|
9
9
|
export const publishCommand = new Command("publish")
|
|
10
10
|
.description("Send a short: create the draft from productions/<slug>/ if missing (uploading files as needed), arm each platform publication with its POST.md caption, queue publishing, then poll until each one lands")
|
|
11
11
|
.argument("<slug>", "Production slug (folder name under productions/)")
|
|
12
|
-
.option("--platform <platform>", "Restrict to a platform (instagram|tiktok, repeatable; default
|
|
12
|
+
.option("--platform <platform>", "Restrict to a platform (instagram|tiktok|youtube, repeatable; default all)", collectPlatform, [])
|
|
13
13
|
.option("--json", "Output the final publications as JSON")
|
|
14
14
|
.action(async (slug, opts) => {
|
|
15
15
|
try {
|
|
@@ -18,8 +18,7 @@ export const publishCommand = new Command("publish")
|
|
|
18
18
|
const production = resolveShortProduction(slug, process.cwd());
|
|
19
19
|
for (const platform of platforms) {
|
|
20
20
|
if (!production.captions[platform]) {
|
|
21
|
-
|
|
22
|
-
throw new Error(`POST.md has no "${section}" section (needed for ${platform})`);
|
|
21
|
+
throw new Error(`POST.md has no "${PLATFORM_SECTION_NAMES[platform]}" section (needed for ${platform})`);
|
|
23
22
|
}
|
|
24
23
|
}
|
|
25
24
|
const short = (await getShort(slug)) ?? (await uploadShort(slug, quiet));
|
|
@@ -62,7 +61,10 @@ export const publishCommand = new Command("publish")
|
|
|
62
61
|
if (quiet)
|
|
63
62
|
continue;
|
|
64
63
|
if (p.status === "published") {
|
|
65
|
-
|
|
64
|
+
const hint = p.platform === "youtube"
|
|
65
|
+
? " (private until flipped public in YouTube Studio)"
|
|
66
|
+
: "";
|
|
67
|
+
console.log(chalk.green("✓"), `${p.platform} published${p.externalUrl ? `: ${p.externalUrl}` : ""}${hint}`);
|
|
66
68
|
}
|
|
67
69
|
else if (p.status === "drafted") {
|
|
68
70
|
const hint = p.platform === "tiktok"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shorts-publish.js","sourceRoot":"","sources":["../../../src/commands/api/shorts-publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,eAAe,EAEf,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,QAAQ,EACR,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CACV,0MAA0M,CAC3M;KACA,QAAQ,CAAC,QAAQ,EAAE,kDAAkD,CAAC;KACtE,MAAM,CACL,uBAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"shorts-publish.js","sourceRoot":"","sources":["../../../src/commands/api/shorts-publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { printList, handleError } from "../../lib/format.js";
|
|
|
5
5
|
import { SHORT_PLATFORMS, } from "../../lib/short-productions.js";
|
|
6
6
|
import { getShort, } from "../../lib/shorts.js";
|
|
7
7
|
import { createCommand } from "./shorts-create.js";
|
|
8
|
+
import { prepareCommand } from "./shorts-prepare.js";
|
|
8
9
|
import { publishCommand } from "./shorts-publish.js";
|
|
9
10
|
function assertPlatform(value) {
|
|
10
11
|
if (!SHORT_PLATFORMS.includes(value)) {
|
|
@@ -37,8 +38,8 @@ const accountsCommand = new Command("accounts")
|
|
|
37
38
|
}
|
|
38
39
|
});
|
|
39
40
|
const connectCommand = new Command("connect")
|
|
40
|
-
.description("Connect a social account via OAuth (instagram or
|
|
41
|
-
.argument("<platform>", "Platform to connect (instagram|tiktok)")
|
|
41
|
+
.description("Connect a social account via OAuth (instagram, tiktok, or youtube)")
|
|
42
|
+
.argument("<platform>", "Platform to connect (instagram|tiktok|youtube)")
|
|
42
43
|
.option("--token <token>", "Instagram only: link with a dashboard-generated access token instead of OAuth")
|
|
43
44
|
.option("--json", "Output as JSON")
|
|
44
45
|
.action(async (platformArg, opts) => {
|
|
@@ -177,10 +178,11 @@ const linkCommand = new Command("link")
|
|
|
177
178
|
}
|
|
178
179
|
});
|
|
179
180
|
export const shortCommand = new Command("short")
|
|
180
|
-
.description("Publish short productions to Instagram and
|
|
181
|
+
.description("Publish short productions to Instagram, TikTok, and YouTube")
|
|
181
182
|
.addCommand(accountsCommand)
|
|
182
183
|
.addCommand(connectCommand)
|
|
183
184
|
.addCommand(createCommand)
|
|
185
|
+
.addCommand(prepareCommand)
|
|
184
186
|
.addCommand(publishCommand)
|
|
185
187
|
.addCommand(statusCommand)
|
|
186
188
|
.addCommand(statsCommand)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shorts.js","sourceRoot":"","sources":["../../../src/commands/api/shorts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,eAAe,GAEhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAIL,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,CAAE,eAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,qBAAqB,KAAK,UAAU,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CACpE,CAAC;IACJ,CAAC;IACD,OAAO,KAAsB,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAY;IACtC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,4CAA4C,IAAI,EAAE,CAC9E,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KAC5C,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;IACzC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAkB,kBAAkB,CAAC,CAAC;QAEhE,SAAS,CACP,IAA4C,EAC5C;YACE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;YACjD,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7C,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7C,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,EAAE;SAC7D,EACD,IAAI,CACL,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KAC1C,WAAW,
|
|
1
|
+
{"version":3,"file":"shorts.js","sourceRoot":"","sources":["../../../src/commands/api/shorts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export declare const SHORT_PLATFORMS: readonly ["instagram", "tiktok"];
|
|
1
|
+
export declare const SHORT_PLATFORMS: readonly ["instagram", "tiktok", "youtube"];
|
|
2
2
|
export type ShortPlatform = (typeof SHORT_PLATFORMS)[number];
|
|
3
|
+
export declare const PLATFORM_SECTION_NAMES: Record<ShortPlatform, string>;
|
|
3
4
|
export type ShortProduction = {
|
|
4
5
|
dir: string;
|
|
5
6
|
videoPath: string;
|
|
@@ -15,7 +16,10 @@ export declare function findProductionsRoot(startDir: string): string | null;
|
|
|
15
16
|
* Parse a POST.md posting kit into per-platform captions. Each recognized
|
|
16
17
|
* `## <section>` heading's full text becomes that platform's caption, minus
|
|
17
18
|
* lines starting with "Note :" or "Note:", trimmed of blank edges. Anything
|
|
18
|
-
* before the first heading (e.g. the Cover title line) is ignored.
|
|
19
|
+
* before the first heading (e.g. the Cover title line) is ignored. Captions
|
|
20
|
+
* are posted as plain text, so POST.md markdown decoration is dropped:
|
|
21
|
+
* `---` separator lines are skipped and backtick-wrapped lines (the hashtag
|
|
22
|
+
* rows) are unwrapped.
|
|
19
23
|
*/
|
|
20
24
|
export declare function parsePostCaptions(markdown: string): Partial<Record<ShortPlatform, string>>;
|
|
21
25
|
/**
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
export const SHORT_PLATFORMS = ["instagram", "tiktok"];
|
|
4
|
-
// POST.md section headings mapped to publication platforms.
|
|
5
|
-
//
|
|
3
|
+
export const SHORT_PLATFORMS = ["instagram", "tiktok", "youtube"];
|
|
4
|
+
// POST.md section headings mapped to publication platforms. Unrecognized
|
|
5
|
+
// sections are ignored on purpose.
|
|
6
6
|
const SECTION_PLATFORMS = {
|
|
7
7
|
tiktok: "tiktok",
|
|
8
8
|
"instagram reels": "instagram",
|
|
9
|
+
youtube: "youtube",
|
|
10
|
+
"youtube shorts": "youtube",
|
|
11
|
+
};
|
|
12
|
+
// Canonical heading per platform, for error messages pointing at POST.md.
|
|
13
|
+
export const PLATFORM_SECTION_NAMES = {
|
|
14
|
+
instagram: "## Instagram Reels",
|
|
15
|
+
tiktok: "## TikTok",
|
|
16
|
+
youtube: "## YouTube Shorts",
|
|
9
17
|
};
|
|
10
18
|
/**
|
|
11
19
|
* Walk up from startDir to the first folder containing a `productions/`
|
|
@@ -28,7 +36,10 @@ export function findProductionsRoot(startDir) {
|
|
|
28
36
|
* Parse a POST.md posting kit into per-platform captions. Each recognized
|
|
29
37
|
* `## <section>` heading's full text becomes that platform's caption, minus
|
|
30
38
|
* lines starting with "Note :" or "Note:", trimmed of blank edges. Anything
|
|
31
|
-
* before the first heading (e.g. the Cover title line) is ignored.
|
|
39
|
+
* before the first heading (e.g. the Cover title line) is ignored. Captions
|
|
40
|
+
* are posted as plain text, so POST.md markdown decoration is dropped:
|
|
41
|
+
* `---` separator lines are skipped and backtick-wrapped lines (the hashtag
|
|
42
|
+
* rows) are unwrapped.
|
|
32
43
|
*/
|
|
33
44
|
export function parsePostCaptions(markdown) {
|
|
34
45
|
const captions = {};
|
|
@@ -50,11 +61,20 @@ export function parsePostCaptions(markdown) {
|
|
|
50
61
|
continue;
|
|
51
62
|
if (line.startsWith("Note :") || line.startsWith("Note:"))
|
|
52
63
|
continue;
|
|
53
|
-
|
|
64
|
+
if (/^-{3,}\s*$/.test(line.trim()))
|
|
65
|
+
continue;
|
|
66
|
+
lines.push(unwrapInlineCode(line));
|
|
54
67
|
}
|
|
55
68
|
flush();
|
|
56
69
|
return captions;
|
|
57
70
|
}
|
|
71
|
+
function unwrapInlineCode(line) {
|
|
72
|
+
const trimmed = line.trim();
|
|
73
|
+
if (trimmed.length > 1 && /^`[^`]+`$/.test(trimmed)) {
|
|
74
|
+
return trimmed.slice(1, -1);
|
|
75
|
+
}
|
|
76
|
+
return line;
|
|
77
|
+
}
|
|
58
78
|
/**
|
|
59
79
|
* Resolve a production folder from any working directory inside the
|
|
60
80
|
* short-productions tree: locate `productions/<slug>/`, require the final
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"short-productions.js","sourceRoot":"","sources":["../../src/lib/short-productions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"short-productions.js","sourceRoot":"","sources":["../../src/lib/short-productions.ts"],"names":[],"mappings":"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"}
|