@contenthero/cli 0.2.4 → 0.2.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"brandkit.d.ts","sourceRoot":"","sources":["../../src/commands/brandkit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA2BxC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiWvD"}
1
+ {"version":3,"file":"brandkit.d.ts","sourceRoot":"","sources":["../../src/commands/brandkit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAkExC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqUvD"}
@@ -15,6 +15,44 @@ import { emit, keyValues, table } from '../output.js';
15
15
  import { CliError, EXIT } from '../errors.js';
16
16
  import { compact } from '../generation.js';
17
17
  import { collect, toInt, toJson } from '../args.js';
18
+ /**
19
+ * Turn repeated `--logo` / `--asset` refs into the declarative media list the API takes.
20
+ *
21
+ * A ref is either a url or a generation token, told apart by PARSING the scheme rather than guessing: a
22
+ * token is not a url and never will be, so `http(s):` is the whole test. An `outputId` entry tells the
23
+ * server to copy that generation's bytes into the kit, which is how media gets in without a website to
24
+ * extract from.
25
+ *
26
+ * The FIRST logo is the primary one (the kit's cover) because a list has to name one and position is the
27
+ * only signal a flat flag carries. Anything richer (layout, colour mode, moving primary without reordering)
28
+ * is a JSON body through the API.
29
+ */
30
+ function mediaRefs(refs) {
31
+ if (!refs || refs.length === 0)
32
+ return undefined;
33
+ return refs.map((ref, i) => /^https?:\/\//i.test(ref) ? { url: ref, ...(i === 0 ? { is_primary: true } : {}) } : { outputId: ref, ...(i === 0 ? { is_primary: true } : {}) });
34
+ }
35
+ /**
36
+ * An account ref: a tracked-account id, a full profile url, or `platform:handle`.
37
+ *
38
+ * A url carries its own platform, so it needs no prefix. A bare handle cannot say whether it is instagram
39
+ * or youtube, which is why that form takes one.
40
+ */
41
+ function accountRefs(refs) {
42
+ if (!refs?.length)
43
+ return undefined;
44
+ return refs.map((raw) => {
45
+ if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(raw))
46
+ return raw;
47
+ if (/^https?:\/\//i.test(raw))
48
+ return { handleOrUrl: raw };
49
+ const [platform, ...rest] = raw.split(':');
50
+ if (!rest.length) {
51
+ throw new CliError(`"${raw}" needs a platform: pass a profile url, or platform:handle.`, EXIT.USAGE);
52
+ }
53
+ return { platform, handleOrUrl: rest.join(':') };
54
+ });
55
+ }
18
56
  function recordHuman(s, action) {
19
57
  return keyValues([
20
58
  [action, s.sectionName],
@@ -76,6 +114,9 @@ export function registerBrandKit(program) {
76
114
  .option('--primary-offer <text>')
77
115
  .option('--niche <text>', 'niche definition')
78
116
  .option('--visual-style <text>')
117
+ .option('--logo <ref>', 'a logo: a url, or a generation id to copy in (e.g. out9-2). Repeatable; the first is primary', collect)
118
+ .option('--asset <ref>', 'a brand asset: a url, or a generation id to copy in. Repeatable', collect)
119
+ .option('--sections <json>', 'curated sections as JSON: [{ tab, sectionName, sortOrder?, fields? }]', toJson)
79
120
  .action(async (opts, command) => {
80
121
  const { client, ctx } = makeClient(command);
81
122
  if (!opts.name && !opts.websiteUrl && !opts.duplicateFrom) {
@@ -93,6 +134,9 @@ export function registerBrandKit(program) {
93
134
  primaryOffer: opts.primaryOffer,
94
135
  nicheDefinition: opts.niche,
95
136
  visualStyle: opts.visualStyle,
137
+ logos: mediaRefs(opts.logo),
138
+ assets: mediaRefs(opts.asset),
139
+ sections: opts.sections,
96
140
  }));
97
141
  emit({ brandKit, extraction }, ctx, () => keyValues([
98
142
  ['Created', brandKit.name],
@@ -144,8 +188,11 @@ export function registerBrandKit(program) {
144
188
  .option('--content-strategy <json>', 'content strategy object (JSON)', toJson)
145
189
  .option('--design-principle <text>', 'a design principle; repeatable', collect)
146
190
  .option('--default', 'make this the default brand kit, un-defaulting every other')
147
- .option('--brand-account <id>', "link one of the account owner's OWN tracked accounts; repeatable. REPLACES the list", collect)
148
- .option('--inspiration-account <id>', 'link a tracked competitor/creator account; repeatable. REPLACES the list', collect)
191
+ .option('--brand-account <ref>', "the owner's OWN profile: a tracked-account id, or a profile url / platform:handle to ADD one. Repeatable. REPLACES the list", collect)
192
+ .option('--inspiration-account <ref>', 'a competitor/creator profile: same forms as --brand-account. Repeatable. REPLACES the list', collect)
193
+ .option('--logo <ref>', 'a logo: a url, or a generation id to copy in (e.g. out9-2). Repeatable; the first is primary. REPLACES the list', collect)
194
+ .option('--asset <ref>', 'a brand asset: a url, or a generation id to copy in. Repeatable. REPLACES the list', collect)
195
+ .option('--sections <json>', 'curated sections as JSON. REPLACES the set, keyed by (tab, sectionName); one left out is ARCHIVED', toJson)
149
196
  .action(async (id, opts, command) => {
150
197
  const input = compact({
151
198
  name: opts.name,
@@ -160,8 +207,11 @@ export function registerBrandKit(program) {
160
207
  contentStrategy: opts.contentStrategy,
161
208
  designPrinciples: opts.designPrinciple,
162
209
  isDefault: opts.default ? true : undefined,
163
- brandAccountIds: opts.brandAccount,
164
- inspirationAccountIds: opts.inspirationAccount,
210
+ brandAccounts: accountRefs(opts.brandAccount),
211
+ inspirationAccounts: accountRefs(opts.inspirationAccount),
212
+ logos: mediaRefs(opts.logo),
213
+ assets: mediaRefs(opts.asset),
214
+ sections: opts.sections,
165
215
  });
166
216
  if (Object.keys(input).length === 0) {
167
217
  throw new CliError('Nothing to update. Pass at least one field to change.', EXIT.USAGE);
@@ -174,43 +224,6 @@ export function registerBrandKit(program) {
174
224
  ]));
175
225
  });
176
226
  // -- brand-kit section ----------------------------------------------------
177
- const section = brandKit.command('section').description('Manage a brand kit\'s curated sections');
178
- section
179
- .command('add')
180
- .description('Add a curated section to a brand kit (requires brandkit:write)')
181
- .argument('<brandKitId>', 'the brand kit id')
182
- .requiredOption('--tab <tab>', 'the tab the section belongs to (e.g. voice, overview)')
183
- .requiredOption('--name <name>', 'the section title')
184
- .option('--sort-order <n>', 'order within the tab (default end)', toInt)
185
- .option('--fields <json>', 'field objects as a JSON array: [{ key, label, type, value }]', toJson)
186
- .action(async (brandKitId, opts, command) => {
187
- const { client, ctx } = makeClient(command);
188
- const s = await client.addBrandKitSection(brandKitId, {
189
- tab: opts.tab,
190
- sectionName: opts.name,
191
- sortOrder: opts.sortOrder,
192
- fields: opts.fields,
193
- });
194
- emit(s, ctx, (rec) => recordHuman(rec, 'Added section'));
195
- });
196
- section
197
- .command('update')
198
- .description('Update a brand-kit section (requires brandkit:write)')
199
- .argument('<brandKitId>', 'the brand kit id')
200
- .argument('<sectionId>', 'the section id (from `brand-kit get`)')
201
- .option('--name <name>', 'new section title')
202
- .option('--sort-order <n>', 'new order within the tab', toInt)
203
- .option('--fields <json>', 'replacement field objects as a JSON array', toJson)
204
- .action(async (brandKitId, sectionId, opts, command) => {
205
- const { client, ctx } = makeClient(command);
206
- const s = await client.updateBrandKitSection(brandKitId, sectionId, {
207
- sectionName: opts.name,
208
- sortOrder: opts.sortOrder,
209
- fields: opts.fields,
210
- });
211
- emit(s, ctx, (rec) => recordHuman(rec, 'Updated section'));
212
- });
213
- // -- brand-kit knowledge --------------------------------------------------
214
227
  const knowledge = brandKit
215
228
  .command('knowledge')
216
229
  .description('A brand kit\'s knowledge base: list, get, semantic search, add, remove');
@@ -1 +1 @@
1
- {"version":3,"file":"brandkit.js","sourceRoot":"","sources":["../../src/commands/brandkit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brandkit.js","sourceRoot":"","sources":["../../src/commands/brandkit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAanC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnD;;;;;;;;;;;GAWG;AACH,SAAS,SAAS,CAAC,IAA0B;IAC3C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAChD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACzB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CACjJ,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,IAA0B;IAC7C,IAAI,CAAC,IAAI,EAAE,MAAM;QAAE,OAAO,SAAS,CAAA;IACnC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,IAAI,iEAAiE,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAA;QAC3F,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAA;QAC1D,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,QAAQ,CAAC,IAAI,GAAG,6DAA6D,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QACtG,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IAClD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,CAAwB,EAAE,MAAc;IAC3D,OAAO,SAAS,CAAC;QACf,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC;QACvB,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC;QACpB,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC;QACd,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC;QAC3B,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;KAC5B,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,uCAAuC,CAAC,CAAA;IAElG,QAAQ;SACL,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,qFAAqF,CAAC;SAClG,MAAM,CAAC,YAAY,EAAE,2BAA2B,CAAC;SACjD,MAAM,CAAC,YAAY,EAAE,sDAAsD,CAAC;SAC5E,MAAM,CAAC,KAAK,EAAE,IAA6B,EAAE,OAAgB,EAAE,EAAE;QAChE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;YACtC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SAC3C,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAuB,EAAE,EAAE,CAC1C,KAAK,CACH,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,EAC5C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACd,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,YAAY,IAAI,EAAE;YACpB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACxB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAC3B,CAAC,CACH,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,QAAQ;SACL,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,sDAAsD,CAAC;SACnE,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;SACpC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;QACpD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACxC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAW,EAAE,EAAE,CAC7B,SAAS,CAAC;YACR,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC;YAChB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACZ,CAAC,UAAU,EAAE,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;YAClC,CAAC,OAAO,EAAE,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC;YAClC,CAAC,eAAe,EAAE,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;YACvC,CAAC,cAAc,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;YACrC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/B,CAAC,gBAAgB,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;YAC1C,CAAC,sBAAsB,EAAE,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC;YACtD,CAAC,iBAAiB,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;SACxC,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,QAAQ;SACL,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mFAAmF,CAAC;SAChG,MAAM,CAAC,eAAe,EAAE,sDAAsD,CAAC;SAC/E,MAAM,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;SACrD,MAAM,CAAC,WAAW,EAAE,8EAA8E,CAAC;SACnG,MAAM,CAAC,uBAAuB,EAAE,sDAAsD,CAAC;SACvF,MAAM,CAAC,wBAAwB,CAAC;SAChC,MAAM,CAAC,wBAAwB,CAAC;SAChC,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;SAC5C,MAAM,CAAC,uBAAuB,CAAC;SAC/B,MAAM,CAAC,cAAc,EAAE,8FAA8F,EAAE,OAAO,CAAC;SAC/H,MAAM,CAAC,eAAe,EAAE,iEAAiE,EAAE,OAAO,CAAC;SACnG,MAAM,CAAC,mBAAmB,EAAE,uEAAuE,EAAE,MAAM,CAAC;SAC5G,MAAM,CAAC,KAAK,EAAE,IAA6B,EAAE,OAAgB,EAAE,EAAE;QAChE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1D,MAAM,IAAI,QAAQ,CAAC,iDAAiD,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QACnF,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,IAAI,QAAQ,CAAC,yCAAyC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAC3E,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAC1D,OAAO,CAAC;YACN,IAAI,EAAE,IAAI,CAAC,IAA0B;YACrC,UAAU,EAAE,IAAI,CAAC,UAAgC;YACjD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACxC,aAAa,EAAE,IAAI,CAAC,aAAmC;YACvD,YAAY,EAAE,IAAI,CAAC,YAAkC;YACrD,YAAY,EAAE,IAAI,CAAC,YAAkC;YACrD,eAAe,EAAE,IAAI,CAAC,KAA2B;YACjD,WAAW,EAAE,IAAI,CAAC,WAAiC;YACnD,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,IAA4B,CAAC;YACnD,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,KAA6B,CAAC;YACrD,QAAQ,EAAE,IAAI,CAAC,QAA2C;SAC3D,CAAC,CACH,CAAA;QACD,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CACvC,SAAS,CAAC;YACR,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC;YAC1B,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,sGAAsG;YACtG,GAAG,CAAC,UAAU;gBACZ,CAAC,CAAE,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAwB;gBACnH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,cAAc;gBACpD,CAAC,CAAE,CAAC,CAAC,MAAM,EAAE,wCAAwC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAwB;gBAC3F,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,QAAQ;SACL,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,qEAAqE,CAAC;SAClF,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;SACpC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;QACpD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;QACnD,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,CACzB,SAAS,CAAC;YACR,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;YACvF,CAAC,WAAW,EAAE,EAAE,CAAC;YACjB,CAAC,MAAM,EAAE,wCAAwC,EAAE,EAAE,CAAC;SACvD,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,QAAQ;SACL,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,mEAAmE,CAAC;SAChF,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,GAAa,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;QACvD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAC/C,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAuB,EAAE,EAAE,CAC1C,KAAK,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1F,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,QAAQ;SACL,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,iEAAiE,CAAC;SAC9E,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;SACpC,MAAM,CAAC,eAAe,CAAC;SACvB,MAAM,CAAC,wBAAwB,CAAC;SAChC,MAAM,CAAC,qBAAqB,CAAC;SAC7B,MAAM,CAAC,wBAAwB,CAAC;SAChC,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;SAC5C,MAAM,CAAC,uBAAuB,CAAC;SAC/B,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,CAAC;SACnE,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,CAAC;SAC7D,MAAM,CAAC,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,CAAC;SACvE,MAAM,CAAC,2BAA2B,EAAE,gCAAgC,EAAE,MAAM,CAAC;SAC7E,MAAM,CAAC,2BAA2B,EAAE,gCAAgC,EAAE,OAAO,CAAC;SAC9E,MAAM,CAAC,WAAW,EAAE,4DAA4D,CAAC;SACjF,MAAM,CAAC,uBAAuB,EAAE,6HAA6H,EAAE,OAAO,CAAC;SACvK,MAAM,CAAC,6BAA6B,EAAE,4FAA4F,EAAE,OAAO,CAAC;SAC5I,MAAM,CAAC,cAAc,EAAE,iHAAiH,EAAE,OAAO,CAAC;SAClJ,MAAM,CAAC,eAAe,EAAE,oFAAoF,EAAE,OAAO,CAAC;SACtH,MAAM,CAAC,mBAAmB,EAAE,mGAAmG,EAAE,MAAM,CAAC;SACxI,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAA6B,EAAE,OAAgB,EAAE,EAAE;QAC5E,MAAM,KAAK,GAAG,OAAO,CAAsB;YACzC,IAAI,EAAE,IAAI,CAAC,IAA0B;YACrC,YAAY,EAAE,IAAI,CAAC,YAAkC;YACrD,UAAU,EAAE,IAAI,CAAC,UAAgC;YACjD,YAAY,EAAE,IAAI,CAAC,YAAkC;YACrD,eAAe,EAAE,IAAI,CAAC,KAA2B;YACjD,WAAW,EAAE,IAAI,CAAC,WAAiC;YACnD,WAAW,EAAE,IAAI,CAAC,WAAkD;YACpE,QAAQ,EAAE,IAAI,CAAC,QAA+C;YAC9D,YAAY,EAAE,IAAI,CAAC,YAAmD;YACtE,eAAe,EAAE,IAAI,CAAC,eAAsD;YAC5E,gBAAgB,EAAE,IAAI,CAAC,eAAuC;YAC9D,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAC1C,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,YAAoC,CAAC;YACrE,mBAAmB,EAAE,WAAW,CAAC,IAAI,CAAC,kBAA0C,CAAC;YACjF,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,IAA4B,CAAC;YACnD,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,KAA6B,CAAC;YACrD,QAAQ,EAAE,IAAI,CAAC,QAA2C;SAC3D,CAAC,CAAA;QACF,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,QAAQ,CAAC,uDAAuD,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QACzF,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAClD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAW,EAAE,EAAE,CAC7B,SAAS,CAAC;YACR,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;YACnB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SACb,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,4EAA4E;IAC5E,MAAM,SAAS,GAAG,QAAQ;SACvB,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,wEAAwE,CAAC,CAAA;IAExF,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8DAA8D,CAAC;SAC3E,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;SAC5C,MAAM,CAAC,aAAa,EAAE,iCAAiC,EAAE,KAAK,CAAC;SAC/D,MAAM,CAAC,cAAc,EAAE,mBAAmB,EAAE,KAAK,CAAC;SAClD,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,IAA6B,EAAE,OAAgB,EAAE,EAAE;QACpF,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE;YACzD,KAAK,EAAE,IAAI,CAAC,KAA2B;YACvC,MAAM,EAAE,IAAI,CAAC,MAA4B;SAC1C,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAA2B,EAAE,EAAE,CAChD,KAAK,CACH,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,EACpC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAC7F,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,SAAS;SACN,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,6CAA6C,CAAC;SAC1D,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;SAC5C,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;SAClD,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,WAAmB,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;QACjF,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;QACpE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAuB,EAAE,EAAE,CAC1C,SAAS,CAAC;YACR,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACxB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACZ,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;YACnC,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;YACjC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,IAAI,iCAAiC,CAAC;SACzD,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,SAAS;SACN,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oDAAoD,CAAC;SACjE,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;SAC5C,QAAQ,CAAC,SAAS,EAAE,uCAAuC,CAAC;SAC5D,MAAM,CAAC,aAAa,EAAE,yBAAyB,EAAE,KAAK,CAAC;SACvD,MAAM,CAAC,iBAAiB,EAAE,uCAAuC,EAAE,UAAU,CAAC;SAC9E,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,KAAa,EAAE,IAA6B,EAAE,OAAgB,EAAE,EAAE;QACnG,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAAE,KAAK,EAAE;YACnE,KAAK,EAAE,IAAI,CAAC,KAA2B;YACvC,SAAS,EAAE,IAAI,CAAC,SAA+B;SAChD,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAyB,EAAE,EAAE,CAC/C,EAAE,CAAC,MAAM;YACP,CAAC,CAAC,EAAE;iBACC,GAAG,CACF,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,YAAY,UAAU,CAAC,CAAC,WAAW,IAAI,GAAG,WAAW,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CACzH;iBACA,IAAI,CAAC,MAAM,CAAC;YACjB,CAAC,CAAC,8BAA8B,CACnC,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,SAAS;SACN,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,wEAAwE,CAAC;SACrF,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;SAC5C,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC;SAC1C,MAAM,CAAC,aAAa,EAAE,2BAA2B,CAAC;SAClD,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;SAC3D,MAAM,CAAC,eAAe,EAAE,2DAA2D,CAAC;SACpF,MAAM,CAAC,kBAAkB,EAAE,yEAAyE,CAAC;SACrG,MAAM,CAAC,kBAAkB,EAAE,wDAAwD,CAAC;SACpF,MAAM,CAAC,iBAAiB,EAAE,+BAA+B,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,IAA6B,EAAE,OAAgB,EAAE,EAAE;QACpF,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAA;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAyB,CAAA;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAA6B,CAAA;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAA6B,CAAA;QAClD,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA;QAC7E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,QAAQ,CAChB,8EAA8E,EAC9E,IAAI,CAAC,KAAK,CACX,CAAA;QACH,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3C,IAAI,KAAK,CAAA;QACT,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,KAAK,GAAG,EAAE,UAAU,EAAE,MAAe,EAAE,IAAI,EAAE,CAAA;QAC/C,CAAC;aAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,KAAK,GAAG,EAAE,UAAU,EAAE,KAAc,EAAE,GAAG,EAAE,CAAA;QAC7C,CAAC;aAAM,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,KAAK,GAAG,EAAE,UAAU,EAAE,SAAkB,EAAE,GAAG,EAAE,OAAO,EAAE,CAAA;QAC1D,CAAC;aAAM,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,KAAK,GAAG,EAAE,UAAU,EAAE,MAAe,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAA6B,EAAE,CAAA;QAC/F,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,OAAO,CAAC,IAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;YAC3D,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,QAAQ,CAAC,qDAAqD,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YAC/F,IAAI,QAAgB,CAAA;YACpB,IAAI,CAAC;gBACH,QAAQ,GAAG,YAAY,CAAC,IAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACnD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,QAAQ,CAChB,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC5E,IAAI,CAAC,KAAK,CACX,CAAA;YACH,CAAC;YACD,KAAK,GAAG,EAAE,UAAU,EAAE,MAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAA;QACjE,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE;YACtD,GAAG,KAAK;YACR,KAAK,EAAE,IAAI,CAAC,KAA2B;SACxC,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAqB,EAAE,EAAE,CACxC,SAAS,CAAC;YACR,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC;YAClC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACZ,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;SACpC,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,SAAS;SACN,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sEAAsE,CAAC;SACnF,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;SAC5C,QAAQ,CAAC,eAAe,EAAE,iCAAiC,CAAC;SAC5D,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,WAAmB,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;QACjF,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;QACtE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAiB,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;AACN,CAAC"}
@@ -1,13 +1,14 @@
1
1
  /**
2
- * `contenthero brand-account` / `connected-account` - the account's own accounts.
3
- * brand-account list the owner's tracked brand social accounts
4
- * brand-account performance <id> one brand account's performance summary
2
+ * `contenthero connected-account` - the publish targets this account has connected.
5
3
  * connected-account list connected publish targets (default first)
6
4
  * connected-account get <id> one connected account's detail
7
5
  *
8
- * Reads only. Connected-account responses never include tokens (safe projection).
6
+ * DISTINCT from `tracked-account`, which is what ContentHero WATCHES for performance and research. A
7
+ * connected account is an OAuth grant we can publish through; the two overlap in the real world and are
8
+ * different records here. The old `brand-account` group lived in this file and belonged with the other one.
9
+ *
10
+ * Reads only. Responses never include tokens (safe projection).
9
11
  */
10
12
  import type { Command } from 'commander';
11
- export declare function registerBrandAccount(program: Command): void;
12
13
  export declare function registerConnectedAccount(program: Command): void;
13
14
  //# sourceMappingURL=connected.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connected.d.ts","sourceRoot":"","sources":["../../src/commands/connected.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMxC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyC3D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8C/D"}
1
+ {"version":3,"file":"connected.d.ts","sourceRoot":"","sources":["../../src/commands/connected.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8C/D"}
@@ -1,51 +1,16 @@
1
1
  /**
2
- * `contenthero brand-account` / `connected-account` - the account's own accounts.
3
- * brand-account list the owner's tracked brand social accounts
4
- * brand-account performance <id> one brand account's performance summary
2
+ * `contenthero connected-account` - the publish targets this account has connected.
5
3
  * connected-account list connected publish targets (default first)
6
4
  * connected-account get <id> one connected account's detail
7
5
  *
8
- * Reads only. Connected-account responses never include tokens (safe projection).
6
+ * DISTINCT from `tracked-account`, which is what ContentHero WATCHES for performance and research. A
7
+ * connected account is an OAuth grant we can publish through; the two overlap in the real world and are
8
+ * different records here. The old `brand-account` group lived in this file and belonged with the other one.
9
+ *
10
+ * Reads only. Responses never include tokens (safe projection).
9
11
  */
10
12
  import { makeClient } from '../context.js';
11
13
  import { emit, keyValues, table } from '../output.js';
12
- import { outliersTable, trackedAccountsTable } from './inspiration.js';
13
- export function registerBrandAccount(program) {
14
- const brandAccount = program
15
- .command('brand-account')
16
- .description("The owner's own tracked brand social accounts");
17
- brandAccount
18
- .command('list')
19
- .description("List the owner's brand social accounts")
20
- .option('--brand-kit <id>', 'scope to the brand accounts linked to this brand kit')
21
- .action(async (opts, command) => {
22
- const { client, ctx } = makeClient(command);
23
- emit(await client.listBrandAccounts({ brandKitId: opts.brandKit }), ctx, trackedAccountsTable);
24
- });
25
- brandAccount
26
- .command('performance')
27
- .description('Get the performance summary for one brand account')
28
- .argument('<id>', 'the brand account id')
29
- .action(async (id, _opts, command) => {
30
- const { client, ctx } = makeClient(command);
31
- const perf = await client.getBrandAccountPerformance(id);
32
- emit(perf, ctx, (p) => {
33
- const head = keyValues([
34
- ['Account', p.account.name ?? p.account.handle ?? ''],
35
- ['Platform', p.account.platform ?? ''],
36
- ['Tracked items', p.contentCount],
37
- ['Total views', p.totals.views],
38
- ['Total likes', p.totals.likes],
39
- ['Total comments', p.totals.comments],
40
- ['Avg views', p.averages.views ?? ''],
41
- ['Avg engagement', p.averages.engagementRate ?? ''],
42
- ['Avg outlier score', p.averages.outlierScore ?? ''],
43
- ]);
44
- const top = p.topContent.length ? '\n\nTop content:\n' + outliersTable(p.topContent) : '';
45
- return head + top;
46
- });
47
- });
48
- }
49
14
  export function registerConnectedAccount(program) {
50
15
  const connected = program
51
16
  .command('connected-account')
@@ -1 +1 @@
1
- {"version":3,"file":"connected.js","sourceRoot":"","sources":["../../src/commands/connected.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connected.js","sourceRoot":"","sources":["../../src/commands/connected.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAErD,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,6CAA6C,CAAC,CAAA;IAE7D,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;QACxC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,qBAAqB,EAAE,CAAA;QACrD,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAwB,EAAE,EAAE,CAC/C,KAAK,CACH,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EACzD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACd,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC,CAAC,QAAQ,IAAI,EAAE;YAChB,CAAC,CAAC,WAAW,IAAI,EAAE;YACnB,CAAC,CAAC,aAAa,IAAI,EAAE;YACrB,CAAC,CAAC,gBAAgB,IAAI,EAAE;YACxB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SACzB,CAAC,CACH,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,SAAS;SACN,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,oCAAoC,CAAC;SACjD,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;SAC5C,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;QACpD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAA;QAC9C,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAqB,EAAE,EAAE,CACrC,SAAS,CAAC;YACR,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;YAC/B,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACd,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;YAChC,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;YACnC,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;YACtC,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;YAClC,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACzC,CAAC,cAAc,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACjF,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;AACN,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * `contenthero content` / `tracked-account` - the research surface.
3
+ * content list tracked social posts, ranked by outlier score
4
+ * content get <id> one post in full, transcript optional
5
+ * tracked-account list the social accounts this account tracks
6
+ * tracked-account get <id> one account with its performance
7
+ *
8
+ * ## Why these names
9
+ *
10
+ * This replaces `inspiration accounts|account|outliers|content` and `brand-account list|performance`, two
11
+ * command groups over ONE table that differed only by which `account_type` they would accept. The split made
12
+ * a caller choose a subsystem before it could ask a question, and gave a worse answer for one of the two.
13
+ *
14
+ * `tracked-account` rather than `account` because `contenthero account` is already the ContentHero account
15
+ * itself (balance, tier), which is a different thing entirely.
16
+ *
17
+ * Reads only.
18
+ */
19
+ import type { Command } from 'commander';
20
+ import type { ContentSummary, TrackedAccount } from '@contenthero/sdk';
21
+ /** A table of tracked accounts. KIND is present because the list spans both tiers by default. */
22
+ export declare function trackedAccountsTable(rows: TrackedAccount[]): string;
23
+ /** A table of tracked content. OWN marks the caller's own posts, since one list holds both. */
24
+ export declare function outliersTable(rows: ContentSummary[]): string;
25
+ export declare function registerTrackedAccount(program: Command): void;
26
+ export declare function registerContent(program: Command): void;
27
+ //# sourceMappingURL=content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/commands/content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAIV,cAAc,EAEd,cAAc,EACf,MAAM,kBAAkB,CAAA;AAMzB,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,CAYnE;AAED,+FAA+F;AAC/F,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,CAY5D;AA2BD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkC7D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqItD"}
@@ -0,0 +1,236 @@
1
+ /**
2
+ * `contenthero content` / `tracked-account` - the research surface.
3
+ * content list tracked social posts, ranked by outlier score
4
+ * content get <id> one post in full, transcript optional
5
+ * tracked-account list the social accounts this account tracks
6
+ * tracked-account get <id> one account with its performance
7
+ *
8
+ * ## Why these names
9
+ *
10
+ * This replaces `inspiration accounts|account|outliers|content` and `brand-account list|performance`, two
11
+ * command groups over ONE table that differed only by which `account_type` they would accept. The split made
12
+ * a caller choose a subsystem before it could ask a question, and gave a worse answer for one of the two.
13
+ *
14
+ * `tracked-account` rather than `account` because `contenthero account` is already the ContentHero account
15
+ * itself (balance, tier), which is a different thing entirely.
16
+ *
17
+ * Reads only.
18
+ */
19
+ import { makeClient } from '../context.js';
20
+ import { emit, keyValues, table } from '../output.js';
21
+ import { CliError, EXIT } from '../errors.js';
22
+ import { toFloat, toInt } from '../args.js';
23
+ /** A table of tracked accounts. KIND is present because the list spans both tiers by default. */
24
+ export function trackedAccountsTable(rows) {
25
+ return table(['ID', 'KIND', 'PLATFORM', 'HANDLE', 'NAME', 'FOLLOWERS'], rows.map((a) => [
26
+ a.id.slice(0, 8),
27
+ a.accountType === 'brand' ? 'yours' : a.accountType === 'inspiration' ? 'watching' : '',
28
+ a.platform ?? '',
29
+ a.handle ?? '',
30
+ a.name ?? '',
31
+ a.followerCount ?? '',
32
+ ]));
33
+ }
34
+ /** A table of tracked content. OWN marks the caller's own posts, since one list holds both. */
35
+ export function outliersTable(rows) {
36
+ return table(['ID', 'OWN', 'PLATFORM', 'SCORE', 'VIEWS', 'TITLE'], rows.map((o) => [
37
+ o.id.slice(0, 8),
38
+ o.isOwn ? 'yes' : '',
39
+ o.platform ?? '',
40
+ o.outlierScore != null ? o.outlierScore.toFixed(1) : '',
41
+ o.viewCount ?? '',
42
+ (o.title ?? '').replace(/\s+/g, ' ').slice(0, 50),
43
+ ]));
44
+ }
45
+ const SORTS = ['score', 'date', 'views', 'engagement'];
46
+ const SCOPES = ['all', 'inspiration', 'brand'];
47
+ const WINDOWS = ['week', 'month', '3months', '6months', 'year', '2years'];
48
+ const GRAINS = ['none', 'text', 'segments'];
49
+ function accountDetailHuman(d) {
50
+ const head = keyValues([
51
+ ['Account', d.account.name ?? d.account.handle ?? ''],
52
+ ['Kind', d.account.accountType === 'brand' ? 'yours' : 'watching'],
53
+ ['Platform', d.account.platform ?? ''],
54
+ ['Followers', d.account.followerCount ?? ''],
55
+ ['Tracked items', d.contentCount],
56
+ ['Total views', d.totals.views],
57
+ ['Total likes', d.totals.likes],
58
+ ['Total comments', d.totals.comments],
59
+ ['Avg views', d.averages.views ?? ''],
60
+ ['Avg engagement', d.averages.engagementRate ?? ''],
61
+ ['Avg outlier score', d.averages.outlierScore ?? ''],
62
+ ]);
63
+ const top = d.topContent.length ? '\n\nTop content:\n' + outliersTable(d.topContent) : '';
64
+ const recent = d.recentContent.length ? '\n\nMost recent:\n' + outliersTable(d.recentContent) : '';
65
+ return head + top + recent;
66
+ }
67
+ export function registerTrackedAccount(program) {
68
+ const account = program
69
+ .command('tracked-account')
70
+ .description('The social accounts this account tracks (its own, and the creators it watches)');
71
+ account
72
+ .command('list')
73
+ .description('List tracked accounts (both kinds by default)')
74
+ .option('--kind <kind>', `narrow to one kind: ${['inspiration', 'brand'].join(', ')}`)
75
+ .option('--brand-kit <id>', 'scope to the accounts linked to this brand kit')
76
+ .action(async (opts, command) => {
77
+ const kind = opts.kind;
78
+ if (kind && kind !== 'inspiration' && kind !== 'brand') {
79
+ throw new CliError(`Invalid --kind "${kind}". Expected: inspiration, brand.`, EXIT.USAGE);
80
+ }
81
+ const { client, ctx } = makeClient(command);
82
+ emit(await client.listAccounts({
83
+ accountType: kind,
84
+ brandKitId: opts.brandKit,
85
+ }), ctx, trackedAccountsTable);
86
+ });
87
+ account
88
+ .command('get')
89
+ .description('Get one tracked account with its performance and top content')
90
+ .argument('<id>', 'the tracked account id')
91
+ .action(async (id, _opts, command) => {
92
+ const { client, ctx } = makeClient(command);
93
+ emit(await client.getAccount(id), ctx, accountDetailHuman);
94
+ });
95
+ }
96
+ export function registerContent(program) {
97
+ const content = program
98
+ .command('content')
99
+ .description('Tracked social content: what is working, for the creators watched and for this account');
100
+ content
101
+ .command('list')
102
+ .description('List tracked content, ranked by outlier score')
103
+ .option('--scope <scope>', `which accounts: ${SCOPES.join(', ')} (default all)`)
104
+ .option('--platform <platform>', 'filter to one platform (youtube, instagram)')
105
+ .option('--type <type>', 'content type, e.g. video, short, reel')
106
+ .option('--min-score <n>', 'only content at or above this outlier score', toFloat)
107
+ .option('--max-score <n>', 'only content at or below this outlier score', toFloat)
108
+ .option('--min-views <n>', 'minimum view count', toInt)
109
+ .option('--max-views <n>', 'maximum view count', toInt)
110
+ .option('--min-duration <n>', 'minimum duration in seconds', toInt)
111
+ .option('--max-duration <n>', 'maximum duration in seconds', toInt)
112
+ .option('--min-followers <n>', "minimum follower count of the post's account", toInt)
113
+ .option('--max-followers <n>', "maximum follower count of the post's account", toInt)
114
+ .option('--since <window>', `published within: ${WINDOWS.join(', ')}`)
115
+ .option('--published-after <iso>', 'published on or after this ISO timestamp (wins over --since)')
116
+ .option('--published-before <iso>', 'published on or before this ISO timestamp')
117
+ .option('--search <text>', 'text search across title, creator, handle, description')
118
+ .option('--sort <sort>', `sort field: ${SORTS.join(', ')} (default score)`)
119
+ .option('--asc', 'sort ascending (default descending)')
120
+ .option('--account <id>', 'limit to this tracked account; repeatable', collectAccount)
121
+ .option('--added-by-you', 'only the one-off posts saved by url')
122
+ .option('--brand-kit <id>', 'scope to the accounts linked to this brand kit')
123
+ .option('--favorite', 'only content the account has favorited')
124
+ .option('--limit <n>', 'how many to return (default 20)', toInt)
125
+ .option('--offset <n>', 'pagination offset', toInt)
126
+ .action(async (opts, command) => {
127
+ if (opts.sort && !SORTS.includes(opts.sort)) {
128
+ throw new CliError(`Invalid --sort "${opts.sort}". Expected one of: ${SORTS.join(', ')}.`, EXIT.USAGE);
129
+ }
130
+ if (opts.scope && !SCOPES.includes(opts.scope)) {
131
+ throw new CliError(`Invalid --scope "${opts.scope}". Expected one of: ${SCOPES.join(', ')}.`, EXIT.USAGE);
132
+ }
133
+ if (opts.since && !WINDOWS.includes(opts.since)) {
134
+ throw new CliError(`Invalid --since "${opts.since}". Expected one of: ${WINDOWS.join(', ')}.`, EXIT.USAGE);
135
+ }
136
+ const { client, ctx } = makeClient(command);
137
+ const result = await client.listContent({
138
+ scope: opts.scope,
139
+ platform: opts.platform,
140
+ contentType: opts.type,
141
+ outlierScoreMin: opts.minScore,
142
+ outlierScoreMax: opts.maxScore,
143
+ viewsMin: opts.minViews,
144
+ viewsMax: opts.maxViews,
145
+ durationMin: opts.minDuration,
146
+ durationMax: opts.maxDuration,
147
+ subscribersMin: opts.minFollowers,
148
+ subscribersMax: opts.maxFollowers,
149
+ publicationDate: opts.since,
150
+ publishedAfter: opts.publishedAfter,
151
+ publishedBefore: opts.publishedBefore,
152
+ search: opts.search,
153
+ sortBy: opts.sort,
154
+ sortOrder: opts.asc ? 'asc' : undefined,
155
+ accountIds: opts.account,
156
+ addedByYou: opts.addedByYou ? true : undefined,
157
+ brandKitId: opts.brandKit,
158
+ favorited: opts.favorite ? true : undefined,
159
+ limit: opts.limit,
160
+ offset: opts.offset,
161
+ });
162
+ emit(result, ctx, (r) => {
163
+ const t = outliersTable(r.outliers);
164
+ return `${t}\n\n${r.outliers.length} of ${r.total}${r.hasMore ? ' (more available)' : ''}`;
165
+ });
166
+ });
167
+ content
168
+ .command('get')
169
+ .description('Get one tracked post in full (engagement, hashtags, optional transcript)')
170
+ .argument('<id>', 'the content id (from content list, or a tracked account)')
171
+ .option('--transcript [grain]', `include the transcript: ${GRAINS.join(', ')} (default none)`)
172
+ .option('--start-ms <n>', 'transcript window start, ms into the media', toInt)
173
+ .option('--end-ms <n>', 'transcript window end, ms into the media', toInt)
174
+ .option('--transcript-search <text>', 'only the transcript segments containing this phrase')
175
+ .action(async (id, opts, command) => {
176
+ // `--transcript` with no value means "yes"; a window or a search implies segments, since neither can
177
+ // be honoured against flat text.
178
+ const raw = opts.transcript;
179
+ let grain;
180
+ if (raw === true)
181
+ grain = 'segments';
182
+ else if (typeof raw === 'string') {
183
+ if (!GRAINS.includes(raw)) {
184
+ throw new CliError(`Invalid --transcript "${raw}". Expected one of: ${GRAINS.join(', ')}.`, EXIT.USAGE);
185
+ }
186
+ grain = raw;
187
+ }
188
+ else if (opts.startMs != null || opts.endMs != null || opts.transcriptSearch) {
189
+ grain = 'segments';
190
+ }
191
+ const { client, ctx } = makeClient(command);
192
+ const item = await client.getContent(id, {
193
+ transcript: grain,
194
+ startMs: opts.startMs,
195
+ endMs: opts.endMs,
196
+ transcriptSearch: opts.transcriptSearch,
197
+ });
198
+ emit(item, ctx, (c) => {
199
+ const pairs = [
200
+ ['Title', c.title ?? ''],
201
+ ['Own account', c.isOwn ? 'yes' : 'no'],
202
+ ['Creator', c.sourceCreator ?? ''],
203
+ ['Platform', c.platform ?? ''],
204
+ ['Outlier score', c.outlierScore != null ? c.outlierScore.toFixed(2) : ''],
205
+ ['Views', c.viewCount ?? ''],
206
+ ['Likes', c.likeCount ?? ''],
207
+ ['Comments', c.commentCount ?? ''],
208
+ ];
209
+ if (c.hashtags.length)
210
+ pairs.push(['Hashtags', c.hashtags.join(' ')]);
211
+ if (c.url)
212
+ pairs.push(['URL', c.url]);
213
+ let out = keyValues(pairs);
214
+ const t = c.transcript;
215
+ if (t) {
216
+ // The status is printed even alongside text: 'failed' and 'absent' are the difference between
217
+ // "nothing to read" and "ask again later", which an empty body cannot convey.
218
+ const head = `\n\nTranscript [${t.status}]${t.windowed ? ' (windowed)' : ''}:`;
219
+ if (t.segments) {
220
+ out += head + '\n' + (t.segments.length
221
+ ? t.segments.map((sg) => ` [${(sg.startMs / 1000).toFixed(1)}s] ${sg.text}`).join('\n')
222
+ : t.windowed ? ' (no segments in that window)' : ' (none stored)');
223
+ }
224
+ else {
225
+ out += head + '\n' + (t.text ?? ' (none stored)');
226
+ }
227
+ }
228
+ return out;
229
+ });
230
+ });
231
+ }
232
+ /** Repeatable --account. */
233
+ function collectAccount(value, previous = []) {
234
+ return [...previous, value];
235
+ }
236
+ //# sourceMappingURL=content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/commands/content.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  /**
2
- * `contenthero favorite | unfavorite | archive | unarchive` - the universal
3
- * status verbs, one pair each across asset types.
2
+ * `contenthero favorite | archive` - the universal status verbs, one per concern.
4
3
  *
5
- * favorite <assetType> <id> [--variation <n>]
6
- * unfavorite <assetType> <id> [--variation <n>]
7
- * archive <assetType> <id> [--variation <n>]
8
- * unarchive <assetType> <id> [--variation <n>]
4
+ * favorite <assetType> <id> [--variation <n>] [--off]
5
+ * archive <assetType> <id> [--variation <n>] [--off]
9
6
  *
10
- * For a top-level asset, pass its type + id. For one studio media variation
11
- * (an image/video/audio slot from `media get`), pass `media <outputId>
12
- * --variation <n>` (1-based). All four require the favorites:write scope.
7
+ * `--off` is what replaced the separate `unfavorite` and `unarchive` commands. They were their positive
8
+ * twins with one value flipped, so the direction lived in the command NAME, which meant the SDK, the MCP
9
+ * and this CLI each carried two of everything for one operation.
10
+ *
11
+ * For a top-level asset, pass its type + id. For one studio media variation (an image/video/audio slot
12
+ * from `media get`), pass `media <outputId> --variation <n>` (1-based). Both require favorites:write.
13
13
  */
14
14
  import type { Command } from 'commander';
15
15
  export declare function registerFavorites(program: Command): void;