@oxygen-agent/cli 1.1013.27 → 1.1013.38
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 +1 -1
- package/node_modules/@oxygen/cli-ugc/dist/commands.js +26 -8
- package/node_modules/@oxygen/shared/dist/ugc.d.ts +9 -0
- package/node_modules/@oxygen/shared/dist/ugc.js +6 -0
- package/node_modules/@oxygen/shared/dist/version.generated.d.ts +1 -1
- package/node_modules/@oxygen/shared/dist/version.generated.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ export function registerUgcCommands(program, { request: requestOxygen, handle })
|
|
|
4
4
|
.command("ugc")
|
|
5
5
|
.description("Manage UGC programs and independent creator participations: voice, posts, approvals, sponsorship and bounded amplification. Requires UGC availability. Start with memberships list in a creator workspace. See the oxygen-ugc skill; JSON reads return web_url for inspection.");
|
|
6
6
|
const groupDescriptions = {
|
|
7
|
-
programs: "Programs you operate or joined; discover public programs from other brands and apply to them. Lifecycle: create, update, duplicate (settings), archive (stops future work, keeps shared history, reversible with restore) and delete (permanent; only while no creator has ever joined).",
|
|
7
|
+
programs: "Programs you operate or joined; discover public programs from other brands and apply to or join them. Lifecycle: create, update, duplicate (settings), archive (stops future work, keeps shared history, reversible with restore) and delete (permanent; only while no creator has ever joined).",
|
|
8
8
|
creators: "Creator participations: invite, set one creator's own posting deal, revoke an invite, accept in the creator workspace, connect a sender, change approval authority, or revoke.",
|
|
9
9
|
memberships: "Active programs this creator workspace has joined, each with your deal (posting_target), this period's progress and your published posts. Your own numbers only. Read these before choosing a program for a personal post.",
|
|
10
10
|
applications: "Applications to public programs: the ones you sent as a creator, or the ones your program received as a brand.",
|
|
@@ -83,9 +83,15 @@ export function registerUgcCommands(program, { request: requestOxygen, handle })
|
|
|
83
83
|
.action((options) => handle("ugc creators invitation", options, () => requestOxygen(`/api/cli/ugc?${new URLSearchParams({ view: "invitation", token: String(options.token) })}`)));
|
|
84
84
|
group("programs")
|
|
85
85
|
.command("discover")
|
|
86
|
-
.description("Public programs from every brand on Oxygen that you can apply to, with each brand's deal and
|
|
86
|
+
.description("Public programs from every brand on Oxygen that you can apply to, with each brand's deal, brief excerpt and join_policy (automatic: you join at once; approval: the brand decides), and whether you already joined or applied. Free, read-only.")
|
|
87
|
+
.option("--program-id <id>", "Only this program, e.g. the id in a join link (…/ugc?join=<id>).")
|
|
87
88
|
.option("--json", "Print a JSON envelope.")
|
|
88
|
-
.action((options) => handle("ugc programs discover", options, () =>
|
|
89
|
+
.action((options) => handle("ugc programs discover", options, () => {
|
|
90
|
+
const query = new URLSearchParams({ view: "discover" });
|
|
91
|
+
if (options.programId)
|
|
92
|
+
query.set("program_id", String(options.programId));
|
|
93
|
+
return requestOxygen(`/api/cli/ugc?${query}`);
|
|
94
|
+
}));
|
|
89
95
|
group("applications")
|
|
90
96
|
.command("list")
|
|
91
97
|
.description("Applications to public programs. Without --program-id: the ones this creator workspace sent, with status. With --program-id: the ones your program received (brand), pending first. Read-only.")
|
|
@@ -336,7 +342,13 @@ export function registerUgcCommands(program, { request: requestOxygen, handle })
|
|
|
336
342
|
{
|
|
337
343
|
name: "visibility",
|
|
338
344
|
kind: "string",
|
|
339
|
-
description: "private (default: invitation only) or public (listed in every creator's Discover, where creators apply
|
|
345
|
+
description: "private (default: invitation only) or public (listed in every creator's Discover, where creators apply).",
|
|
346
|
+
required: false,
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
name: "join_policy",
|
|
350
|
+
kind: "string",
|
|
351
|
+
description: "Public programs only: approval (default: you approve each application) or automatic (creators join at once, from Discover or the program's join_url). automatic needs --visibility public.",
|
|
340
352
|
required: false,
|
|
341
353
|
},
|
|
342
354
|
],
|
|
@@ -397,7 +409,13 @@ export function registerUgcCommands(program, { request: requestOxygen, handle })
|
|
|
397
409
|
{
|
|
398
410
|
name: "visibility",
|
|
399
411
|
kind: "string",
|
|
400
|
-
description: "private (
|
|
412
|
+
description: "private (invitation only; also turns automatic join off) or public (listed in every creator's Discover, where creators apply).",
|
|
413
|
+
required: false,
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
name: "join_policy",
|
|
417
|
+
kind: "string",
|
|
418
|
+
description: "approval (you approve each application) or automatic (creators join at once, from Discover or the program's join_url). automatic needs a public program. programs get shows join_policy and join_url.",
|
|
401
419
|
required: false,
|
|
402
420
|
},
|
|
403
421
|
{
|
|
@@ -544,10 +562,10 @@ export function registerUgcCommands(program, { request: requestOxygen, handle })
|
|
|
544
562
|
{
|
|
545
563
|
action: "application_create",
|
|
546
564
|
command: "programs apply",
|
|
547
|
-
description: "
|
|
565
|
+
description: "Join or apply to a public program from programs discover or a join link: with join_policy automatic you join at once (joined: true, with your participation); otherwise the brand approves or declines (joined: false), and approval makes you a creator and emails you. Free: 0 credits.",
|
|
548
566
|
fields: [
|
|
549
|
-
{ name: "program_id", kind: "string", description: "Public program ID from programs discover.", required: true },
|
|
550
|
-
{ name: "message", kind: "string", description: "Your note to the brand (up to 600 characters).", required:
|
|
567
|
+
{ name: "program_id", kind: "string", description: "Public program ID from programs discover or a join link (…/ugc?join=<id>).", required: true },
|
|
568
|
+
{ name: "message", kind: "string", description: "Your note to the brand (up to 600 characters). Required unless the program's join_policy is automatic.", required: false },
|
|
551
569
|
{ name: "linkedin_url", kind: "string", description: "Your LinkedIn profile URL; passing it also saves it to your profile. Omit to use the one on your profile (ugc profile get); if neither exists, ask the person rather than guess.", required: false },
|
|
552
570
|
],
|
|
553
571
|
},
|
|
@@ -8,6 +8,13 @@ export type UgcPostingTarget = {
|
|
|
8
8
|
};
|
|
9
9
|
export declare const UGC_POSTING_TARGET_MAX = 100;
|
|
10
10
|
export declare const UGC_POSTING_TARGET_PERIODS: readonly ["week", "month", "total"];
|
|
11
|
+
/**
|
|
12
|
+
* How creators get into a public program (Tim, 2026-10-09): the brand approves
|
|
13
|
+
* each application, or an application joins at once. Private programs are
|
|
14
|
+
* joined by invitation only, so they are always `approval`.
|
|
15
|
+
*/
|
|
16
|
+
export declare const UGC_JOIN_POLICIES: readonly ["approval", "automatic"];
|
|
17
|
+
export type UgcJoinPolicy = (typeof UGC_JOIN_POLICIES)[number];
|
|
11
18
|
/**
|
|
12
19
|
* The operator-written creator brief: one page, not a document (Philipp, 2026-09-23;
|
|
13
20
|
* raised from 1,200 on 2026-09-29, when a natural founder brief ran 1,298 and blind
|
|
@@ -44,6 +51,8 @@ export type UgcProgram = {
|
|
|
44
51
|
/** Posts each creator is expected to publish per period; both null when unset. */
|
|
45
52
|
postingTargetCount?: number | null;
|
|
46
53
|
postingTargetPeriod?: UgcPostingTargetPeriod | null;
|
|
54
|
+
/** How creators join while the program is public; older rows read as approval. */
|
|
55
|
+
joinPolicy?: UgcJoinPolicy;
|
|
47
56
|
status: "active" | "archived";
|
|
48
57
|
createdAt: Date;
|
|
49
58
|
updatedAt: Date;
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export const UGC_POSTING_TARGET_MAX = 100;
|
|
2
2
|
export const UGC_POSTING_TARGET_PERIODS = ["week", "month", "total"];
|
|
3
|
+
/**
|
|
4
|
+
* How creators get into a public program (Tim, 2026-10-09): the brand approves
|
|
5
|
+
* each application, or an application joins at once. Private programs are
|
|
6
|
+
* joined by invitation only, so they are always `approval`.
|
|
7
|
+
*/
|
|
8
|
+
export const UGC_JOIN_POLICIES = ["approval", "automatic"];
|
|
3
9
|
/**
|
|
4
10
|
* The operator-written creator brief: one page, not a document (Philipp, 2026-09-23;
|
|
5
11
|
* raised from 1,200 on 2026-09-29, when a natural founder brief ran 1,298 and blind
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const OXYGEN_BUILD_VERSION = "1.1013.
|
|
1
|
+
export declare const OXYGEN_BUILD_VERSION = "1.1013.38";
|
|
@@ -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.1013.
|
|
2
|
+
export const OXYGEN_BUILD_VERSION = "1.1013.38";
|