@oxygen-agent/cli 1.1011.487 → 1.1011.493
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/README.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -4880,7 +4880,7 @@ fixed scan; watermark_cursor starts a later bounded replay. Consumers must retai
|
|
|
4880
4880
|
.option("--composio-action <slug>", "Override the Composio action slug for this scheduled post.")
|
|
4881
4881
|
.option("--publish-at <iso>", "When the post publishes. With Z or an offset it is that exact instant; without one it is wall-clock time in --timezone, else the post's own timezone.")
|
|
4882
4882
|
.option("--timezone <tz>", "IANA zone the post is shown in and a --publish-at without an offset is read in. Unchanged when omitted.")
|
|
4883
|
-
.option("--status <status>", "draft or scheduled.")
|
|
4883
|
+
.option("--status <status>", "draft or scheduled. Setting scheduled does not itself approve the post.")
|
|
4884
4884
|
.option("--thread-post <text>", "X: text of the next post in a thread (posts 2, 3, ... in order). Repeatable.", collectRepeatable, [])
|
|
4885
4885
|
.option("--thread-media <position=media_id>", "X: attach an uploaded media id to thread post N (2 or later), e.g. 2=<media_id>. Repeatable.", collectRepeatable, [])
|
|
4886
4886
|
.option("--poll-option <text>", "X: a poll option on the first post (2-4 options, 25 characters each). Repeatable.", collectRepeatable, [])
|
|
@@ -4901,8 +4901,8 @@ fixed scan; watermark_cursor starts a later bounded replay. Consumers must retai
|
|
|
4901
4901
|
}));
|
|
4902
4902
|
}))
|
|
4903
4903
|
.addCommand(new Command("approve")
|
|
4904
|
-
.description("Approve a scheduled post
|
|
4905
|
-
.argument("<post_id>", "
|
|
4904
|
+
.description("Approve a draft or scheduled post; drafts become scheduled for their saved publish time. Costs 0 credits. LinkedIn tags require numeric company IDs and matching resolved person handles; reuses current verified previews or performs free sender lookups. queued_at records first arming; publish_at controls publication. Program drafts require UGC approval.")
|
|
4905
|
+
.argument("<post_id>", "Draft or scheduled post id.")
|
|
4906
4906
|
.option("--json", "Print a JSON envelope.")
|
|
4907
4907
|
.action(async (postId, options) => {
|
|
4908
4908
|
await handleAsyncAction("publishing posts approve", options, () => requestOxygen(`/api/cli/publishing/posts/${encodeURIComponent(postId)}/approve`, {
|
|
@@ -471,7 +471,7 @@ export function registerUgcCommands(program, { request: requestOxygen, handle })
|
|
|
471
471
|
{
|
|
472
472
|
action: "invite_create",
|
|
473
473
|
command: "creators invite",
|
|
474
|
-
description: "Preview an invitation email (0 credits) for one creator (--email) or up to 50 at once (--emails); send with --approved --preview-token from that preview and the same recipients. Use --link-only to create links without email. Placeholder addresses (example.com, .test, .invalid) are refused on every path, --link-only included, and nothing is created. The default email names the program and carries the join link, not the brief or posting target; add those with --email-message. A refused email ends ugc_invitation_email_not_sent; the created invitation and its link are in error.details.",
|
|
474
|
+
description: "Preview an invitation email (0 credits) for one creator (--email) or up to 50 at once (--emails); send with --approved --preview-token from that preview and the same recipients. Use --link-only to create links without email. Add --sponsor to sponsor each creator's LinkedIn account when they accept: the preview shows the monthly credit reservation, approving the invitation approves it, and it needs a signed-in administrator (not an org API key). Placeholder addresses (example.com, .test, .invalid) are refused on every path, --link-only included, and nothing is created. The default email names the program and carries the join link, not the brief or posting target; add those with --email-message. A refused email ends ugc_invitation_email_not_sent; the created invitation and its link are in error.details.",
|
|
475
475
|
fields: [
|
|
476
476
|
{
|
|
477
477
|
name: "program_id",
|
|
@@ -509,16 +509,22 @@ export function registerUgcCommands(program, { request: requestOxygen, handle })
|
|
|
509
509
|
description: "Your own message (up to 3,000 characters); the Accept button and join link are always added below it. Omit for the default.",
|
|
510
510
|
required: false,
|
|
511
511
|
},
|
|
512
|
+
{
|
|
513
|
+
name: "sponsor",
|
|
514
|
+
kind: "boolean",
|
|
515
|
+
description: "Sponsor each creator's LinkedIn account when they accept: your workspace pays its monthly credit reservation (shown in the preview), from when they connect LinkedIn. With --link-only, preview first, then create the links with --approved --preview-token.",
|
|
516
|
+
required: false,
|
|
517
|
+
},
|
|
512
518
|
{
|
|
513
519
|
name: "approved",
|
|
514
520
|
kind: "boolean",
|
|
515
|
-
description: "Authorize sending the exact previewed invitation email.",
|
|
521
|
+
description: "Authorize sending the exact previewed invitation email, or creating the previewed sponsored links.",
|
|
516
522
|
required: false,
|
|
517
523
|
},
|
|
518
524
|
{
|
|
519
525
|
name: "preview_token",
|
|
520
526
|
kind: "string",
|
|
521
|
-
description: "Exact token from the invitation
|
|
527
|
+
description: "Exact token from the invitation preview.",
|
|
522
528
|
required: false,
|
|
523
529
|
},
|
|
524
530
|
],
|
|
@@ -1245,14 +1251,14 @@ export function registerUgcCommands(program, { request: requestOxygen, handle })
|
|
|
1245
1251
|
if (spec.help)
|
|
1246
1252
|
command.addHelpText("after", spec.help);
|
|
1247
1253
|
for (const field of spec.fields) {
|
|
1248
|
-
const flag = `--${(field.flag ?? field.name).replaceAll("_", "-")}${field.name === "approved" || field.name === "risk_acknowledged" ? "" : ` <${field.kind === "array" || field.kind === "object" ? "json" : field.kind === "boolean" ? "true|false" : field.kind === "posting_target" ? "n/month|n/week|n/total|none" : field.kind === "email_list" ? "emails" : field.kind === "text_list" ? "a, b" : "value"}>`}`;
|
|
1254
|
+
const flag = `--${(field.flag ?? field.name).replaceAll("_", "-")}${field.name === "approved" || field.name === "risk_acknowledged" || field.name === "sponsor" ? "" : ` <${field.kind === "array" || field.kind === "object" ? "json" : field.kind === "boolean" ? "true|false" : field.kind === "posting_target" ? "n/month|n/week|n/total|none" : field.kind === "email_list" ? "emails" : field.kind === "text_list" ? "a, b" : "value"}>`}`;
|
|
1249
1255
|
if (field.required)
|
|
1250
1256
|
command.requiredOption(flag, field.description);
|
|
1251
1257
|
else
|
|
1252
1258
|
command.option(flag, field.description);
|
|
1253
1259
|
}
|
|
1254
1260
|
if (spec.action === "invite_create")
|
|
1255
|
-
command.option("--link-only", "Create the invitation now and return its shareable link: no preview or approval token,
|
|
1261
|
+
command.option("--link-only", "Create the invitation now and return its shareable link: no email, 0 credits. No preview or approval token, unless you add --sponsor.");
|
|
1256
1262
|
command
|
|
1257
1263
|
.option("--json", "Print a JSON envelope.")
|
|
1258
1264
|
.action((options) => handle(`ugc ${spec.command}`, options, () => {
|
|
@@ -1269,8 +1275,8 @@ export function registerUgcCommands(program, { request: requestOxygen, handle })
|
|
|
1269
1275
|
if ((body.email === undefined) === (body.emails === undefined))
|
|
1270
1276
|
throw new UgcUsageError("Pass exactly one of --email or --emails.");
|
|
1271
1277
|
body.send_email = options.linkOnly !== true;
|
|
1272
|
-
if (options.linkOnly && (body.approved || body.preview_token))
|
|
1273
|
-
throw new UgcUsageError("--link-only cannot be combined with --approved or --preview-token.");
|
|
1278
|
+
if (options.linkOnly && !body.sponsor && (body.approved || body.preview_token))
|
|
1279
|
+
throw new UgcUsageError("--link-only cannot be combined with --approved or --preview-token, unless you add --sponsor.");
|
|
1274
1280
|
}
|
|
1275
1281
|
return requestOxygen("/api/cli/ugc", {
|
|
1276
1282
|
method: "POST",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const OXYGEN_BUILD_VERSION = "1.1011.
|
|
1
|
+
export declare const OXYGEN_BUILD_VERSION = "1.1011.493";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// GENERATED by scripts/ci/version-stamp.mjs from VERSION + git history. Do not edit; do not commit.
|
|
2
|
-
export const OXYGEN_BUILD_VERSION = "1.1011.
|
|
2
|
+
export const OXYGEN_BUILD_VERSION = "1.1011.493";
|