@contenthero/cli 0.2.2 → 0.2.4

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.
Files changed (65) hide show
  1. package/README.md +2 -0
  2. package/dist/commands/audio.d.ts +11 -0
  3. package/dist/commands/audio.d.ts.map +1 -0
  4. package/dist/commands/audio.js +88 -0
  5. package/dist/commands/audio.js.map +1 -0
  6. package/dist/commands/brandkit.d.ts.map +1 -1
  7. package/dist/commands/brandkit.js +79 -27
  8. package/dist/commands/brandkit.js.map +1 -1
  9. package/dist/commands/context.d.ts +3 -0
  10. package/dist/commands/context.d.ts.map +1 -0
  11. package/dist/commands/context.js +143 -0
  12. package/dist/commands/context.js.map +1 -0
  13. package/dist/commands/favorites.d.ts +16 -0
  14. package/dist/commands/favorites.d.ts.map +1 -0
  15. package/dist/commands/favorites.js +98 -0
  16. package/dist/commands/favorites.js.map +1 -0
  17. package/dist/commands/folder.d.ts +12 -0
  18. package/dist/commands/folder.d.ts.map +1 -0
  19. package/dist/commands/folder.js +93 -0
  20. package/dist/commands/folder.js.map +1 -0
  21. package/dist/commands/generate.d.ts.map +1 -1
  22. package/dist/commands/generate.js +24 -6
  23. package/dist/commands/generate.js.map +1 -1
  24. package/dist/commands/identity.d.ts.map +1 -1
  25. package/dist/commands/identity.js +3 -2
  26. package/dist/commands/identity.js.map +1 -1
  27. package/dist/commands/inspiration.d.ts.map +1 -1
  28. package/dist/commands/inspiration.js +2 -0
  29. package/dist/commands/inspiration.js.map +1 -1
  30. package/dist/commands/media.d.ts +1 -0
  31. package/dist/commands/media.d.ts.map +1 -1
  32. package/dist/commands/media.js +169 -12
  33. package/dist/commands/media.js.map +1 -1
  34. package/dist/commands/post.d.ts.map +1 -1
  35. package/dist/commands/post.js +0 -8
  36. package/dist/commands/post.js.map +1 -1
  37. package/dist/commands/project.d.ts +3 -0
  38. package/dist/commands/project.d.ts.map +1 -0
  39. package/dist/commands/project.js +290 -0
  40. package/dist/commands/project.js.map +1 -0
  41. package/dist/commands/transcribe.d.ts +4 -3
  42. package/dist/commands/transcribe.d.ts.map +1 -1
  43. package/dist/commands/transcribe.js +5 -3
  44. package/dist/commands/transcribe.js.map +1 -1
  45. package/dist/config.d.ts +8 -28
  46. package/dist/config.d.ts.map +1 -1
  47. package/dist/config.js +10 -41
  48. package/dist/config.js.map +1 -1
  49. package/dist/context.d.ts +3 -4
  50. package/dist/context.d.ts.map +1 -1
  51. package/dist/context.js +8 -0
  52. package/dist/context.js.map +1 -1
  53. package/dist/errors.d.ts.map +1 -1
  54. package/dist/errors.js +5 -1
  55. package/dist/errors.js.map +1 -1
  56. package/dist/generation.d.ts +19 -1
  57. package/dist/generation.d.ts.map +1 -1
  58. package/dist/generation.js +63 -5
  59. package/dist/generation.js.map +1 -1
  60. package/dist/index.js +15 -8
  61. package/dist/index.js.map +1 -1
  62. package/dist/program.d.ts.map +1 -1
  63. package/dist/program.js +10 -0
  64. package/dist/program.js.map +1 -1
  65. package/package.json +2 -2
package/dist/config.js CHANGED
@@ -1,49 +1,21 @@
1
1
  /**
2
- * On-disk config + credential storage for the CLI.
2
+ * Credential and config WRITES for the CLI (`contenthero login` / `logout`).
3
3
  *
4
- * Two files under the config dir (default `~/.contenthero`, override with
5
- * CONTENTHERO_CONFIG_DIR):
6
- * - `credentials` : the stored API key (written by `contenthero login`).
7
- * Mode 0600; it is the only secret on disk.
8
- * - `config.json` : non-secret preferences (e.g. baseUrl).
9
- *
10
- * Reads tolerate a missing or malformed file by returning empty, so a fresh
11
- * machine just falls through the auth ladder to env / flag. Writes create the
12
- * dir at 0700 first.
4
+ * ⚠️ THE READ HALF MOVED TO `@contenthero/sdk/credentials`. It is shared with the MCP server, which
5
+ * previously could not see a key written here at all and so read only the environment. Two implementations of
6
+ * "where does the key live" agree right up until one of them learns about a new location, so paths, shapes and
7
+ * the resolution order now have exactly one definition and this file re-exports it.
13
8
  */
14
- import { homedir } from 'node:os';
15
- import { join } from 'node:path';
16
- import { chmodSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync, } from 'node:fs';
17
- export function configDir() {
18
- return process.env.CONTENTHERO_CONFIG_DIR || join(homedir(), '.contenthero');
19
- }
20
- export function credentialsPath() {
21
- return join(configDir(), 'credentials');
22
- }
23
- export function configPath() {
24
- return join(configDir(), 'config.json');
25
- }
9
+ import { chmodSync, existsSync, mkdirSync, rmSync, writeFileSync } from 'node:fs';
10
+ import { configDir, configPath, credentialsPath, readConfig, readCredential, } from '@contenthero/sdk/credentials';
11
+ // Re-exported so every existing CLI import keeps working and there is still one obvious place to look.
12
+ export { configDir, configPath, credentialsPath, readConfig, readCredential };
13
+ /** The write half needs the directory to exist; reads tolerate its absence. */
26
14
  function ensureDir() {
27
15
  const dir = configDir();
28
16
  if (!existsSync(dir))
29
17
  mkdirSync(dir, { recursive: true, mode: 0o700 });
30
18
  }
31
- function readJson(path) {
32
- try {
33
- if (!existsSync(path))
34
- return undefined;
35
- const raw = readFileSync(path, 'utf8').trim();
36
- if (!raw)
37
- return undefined;
38
- return JSON.parse(raw);
39
- }
40
- catch {
41
- return undefined;
42
- }
43
- }
44
- export function readCredential() {
45
- return readJson(credentialsPath());
46
- }
47
19
  export function writeCredential(cred) {
48
20
  ensureDir();
49
21
  const path = credentialsPath();
@@ -58,9 +30,6 @@ export function clearCredential() {
58
30
  rmSync(path);
59
31
  return true;
60
32
  }
61
- export function readConfig() {
62
- return readJson(configPath()) ?? {};
63
- }
64
33
  export function writeConfig(config) {
65
34
  ensureDir();
66
35
  writeFileSync(configPath(), JSON.stringify(config, null, 2) + '\n', { mode: 0o644 });
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,MAAM,EACN,aAAa,GACd,MAAM,SAAS,CAAA;AAiBhB,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAA;AAC9E,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAA;IACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;AACxE,CAAC;AAED,SAAS,QAAQ,CAAI,IAAY;IAC/B,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAA;QACvC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QAC7C,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAA;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAA;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,QAAQ,CAAmB,eAAe,EAAE,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAsB;IACpD,SAAS,EAAE,CAAA;IACX,MAAM,IAAI,GAAG,eAAe,EAAE,CAAA;IAC9B,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC1E,gFAAgF;IAChF,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,IAAI,GAAG,eAAe,EAAE,CAAA;IAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IACnC,MAAM,CAAC,IAAI,CAAC,CAAA;IACZ,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,QAAQ,CAAe,UAAU,EAAE,CAAC,IAAI,EAAE,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAoB;IAC9C,SAAS,EAAE,CAAA;IACX,aAAa,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;AACtF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjF,OAAO,EACL,SAAS,EACT,UAAU,EACV,eAAe,EACf,UAAU,EACV,cAAc,GAGf,MAAM,8BAA8B,CAAA;AAErC,uGAAuG;AACvG,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,CAAA;AAG7E,+EAA+E;AAC/E,SAAS,SAAS;IAChB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAA;IACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;AACxE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAsB;IACpD,SAAS,EAAE,CAAA;IACX,MAAM,IAAI,GAAG,eAAe,EAAE,CAAA;IAC9B,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC1E,gFAAgF;IAChF,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,IAAI,GAAG,eAAe,EAAE,CAAA;IAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IACnC,MAAM,CAAC,IAAI,CAAC,CAAA;IACZ,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAoB;IAC9C,SAAS,EAAE,CAAA;IACX,aAAa,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;AACtF,CAAC"}
package/dist/context.d.ts CHANGED
@@ -34,10 +34,9 @@ export interface Context {
34
34
  export declare function globalsOf(command: Command): GlobalOptions;
35
35
  /** Resolve the API key and where it came from, without constructing a client. */
36
36
  export declare function resolveContext(command: Command): Context;
37
- /**
38
- * Build an authenticated SDK client for this command, or throw a CliError with
39
- * the auth exit code when no key is configured anywhere in the ladder.
40
- */
37
+ /** Await a presence RELEASE for every client this CLI invocation created (called once before the process exits,
38
+ * so an open editor's "Editing via CLI" badge clears immediately rather than lingering on the TTL). */
39
+ export declare function releaseCliPresence(): Promise<void>;
41
40
  export declare function makeClient(command: Command): {
42
41
  client: ContentHero;
43
42
  ctx: Context;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,8EAA8E;AAC9E,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;AAExD,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,uCAAuC;AACvC,MAAM,WAAW,OAAO;IACtB,yDAAyD;IACzD,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,kEAAkE;AAClE,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CASzD;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAuBxD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAuBlF"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,8EAA8E;AAC9E,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;AAExD,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,uCAAuC;AACvC,MAAM,WAAW,OAAO;IACtB,yDAAyD;IACzD,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,kEAAkE;AAClE,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CASzD;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAuBxD;AASD;wGACwG;AACxG,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAExD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAwBlF"}
package/dist/context.js CHANGED
@@ -52,6 +52,13 @@ export function resolveContext(command) {
52
52
  * Build an authenticated SDK client for this command, or throw a CliError with
53
53
  * the auth exit code when no key is configured anywhere in the ladder.
54
54
  */
55
+ /** Clients created during this CLI invocation, so `releaseCliPresence()` can clear their editor badges on exit. */
56
+ const activeClients = [];
57
+ /** Await a presence RELEASE for every client this CLI invocation created (called once before the process exits,
58
+ * so an open editor's "Editing via CLI" badge clears immediately rather than lingering on the TTL). */
59
+ export async function releaseCliPresence() {
60
+ await Promise.all(activeClients.map((c) => c.flushRelease().catch(() => { })));
61
+ }
55
62
  export function makeClient(command) {
56
63
  const ctx = resolveContext(command);
57
64
  if (!ctx.apiKey) {
@@ -70,6 +77,7 @@ export function makeClient(command) {
70
77
  },
71
78
  }),
72
79
  });
80
+ activeClients.push(client);
73
81
  return { client, ctx };
74
82
  }
75
83
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAsB5C,kEAAkE;AAClE,MAAM,UAAU,SAAS,CAAC,OAAgB;IACxC,MAAM,CAAC,GAAG,OAAO,CAAC,eAAe,EAA6B,CAAA;IAC9D,OAAO;QACL,mFAAmF;QACnF,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI;QACzC,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI;QACvB,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAC3D,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;KAC/D,CAAA;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;IAE5B,IAAI,MAA0B,CAAA;IAC9B,IAAI,SAAS,GAAc,MAAM,CAAA;IACjC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,GAAG,CAAC,CAAC,MAAM,CAAA;QACjB,SAAS,GAAG,MAAM,CAAA;IACpB,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;QAC3C,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAA;QACxC,SAAS,GAAG,KAAK,CAAA;IACnB,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;QAC/B,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACnB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;YACtB,SAAS,GAAG,MAAM,CAAA;QACpB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GACX,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,UAAU,EAAE,CAAC,OAAO,IAAI,SAAS,CAAA;IAEpF,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB;IACzC,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IACnC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,IAAI,QAAQ,CAChB,wFAAwF,EACxF,IAAI,CAAC,IAAI,CACV,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC;QAC7B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,yEAAyE;QACzE,6EAA6E;QAC7E,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CACrB,KAAK,CAAC,KAAK,EAAE;YACX,GAAG,IAAI;YACP,OAAO,EAAE;gBACP,GAAI,IAAI,EAAE,OAA8C;gBACxD,uBAAuB,EAAE,KAAK;aAC/B;SACF,CAAC;KACL,CAAC,CAAA;IACF,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;AACxB,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,eAAO,MAAM,IAAI;;;;;;CAMP,CAAA;AAEV,gFAAgF;AAChF,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;gBACb,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAqB;CAK7D;AAED,iDAAiD;AACjD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAMrD;AAED,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGpD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,eAAO,MAAM,IAAI;;;;;;CAMP,CAAA;AAEV,gFAAgF;AAChF,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;gBACb,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAqB;CAK7D;AAED,iDAAiD;AACjD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CASrD;AAED,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGpD"}
package/dist/errors.js CHANGED
@@ -13,7 +13,7 @@
13
13
  * SDK errors are mapped here; `CliError` carries an explicit code for problems
14
14
  * the CLI itself raises (e.g. no key configured).
15
15
  */
16
- import { AuthenticationError, PermissionError, ValidationError, GenerationTimeoutError, } from '@contenthero/sdk';
16
+ import { AuthenticationError, PermissionError, ValidationError, GenerationTimeoutError, GenerationInterruptedError, } from '@contenthero/sdk';
17
17
  export const EXIT = {
18
18
  OK: 0,
19
19
  GENERAL: 1,
@@ -38,8 +38,12 @@ export function exitCodeForError(err) {
38
38
  return EXIT.AUTH;
39
39
  if (err instanceof ValidationError)
40
40
  return EXIT.USAGE;
41
+ // Both mean the same thing to a caller: the job is SUBMITTED and still running, so
42
+ // the correct response is to poll its outputId, never to resubmit.
41
43
  if (err instanceof GenerationTimeoutError)
42
44
  return EXIT.TIMEOUT;
45
+ if (err instanceof GenerationInterruptedError)
46
+ return EXIT.TIMEOUT;
43
47
  return EXIT.GENERAL;
44
48
  }
45
49
  /** A human-readable message for any thrown value. */
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,sBAAsB,GACvB,MAAM,kBAAkB,CAAA;AAEzB,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,EAAE,EAAE,CAAC;IACL,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;CACF,CAAA;AAEV,gFAAgF;AAChF,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,QAAQ,CAAQ;IACzB,YAAY,OAAe,EAAE,WAAmB,IAAI,CAAC,OAAO;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AAED,iDAAiD;AACjD,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,IAAI,GAAG,YAAY,QAAQ;QAAE,OAAO,GAAG,CAAC,QAAQ,CAAA;IAChD,IAAI,GAAG,YAAY,mBAAmB,IAAI,GAAG,YAAY,eAAe;QAAE,OAAO,IAAI,CAAC,IAAI,CAAA;IAC1F,IAAI,GAAG,YAAY,eAAe;QAAE,OAAO,IAAI,CAAC,KAAK,CAAA;IACrD,IAAI,GAAG,YAAY,sBAAsB;QAAE,OAAO,IAAI,CAAC,OAAO,CAAA;IAC9D,OAAO,IAAI,CAAC,OAAO,CAAA;AACrB,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,CAAA;IAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAA;AAEzB,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,EAAE,EAAE,CAAC;IACL,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;CACF,CAAA;AAEV,gFAAgF;AAChF,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,QAAQ,CAAQ;IACzB,YAAY,OAAe,EAAE,WAAmB,IAAI,CAAC,OAAO;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AAED,iDAAiD;AACjD,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,IAAI,GAAG,YAAY,QAAQ;QAAE,OAAO,GAAG,CAAC,QAAQ,CAAA;IAChD,IAAI,GAAG,YAAY,mBAAmB,IAAI,GAAG,YAAY,eAAe;QAAE,OAAO,IAAI,CAAC,IAAI,CAAA;IAC1F,IAAI,GAAG,YAAY,eAAe;QAAE,OAAO,IAAI,CAAC,KAAK,CAAA;IACrD,mFAAmF;IACnF,mEAAmE;IACnE,IAAI,GAAG,YAAY,sBAAsB;QAAE,OAAO,IAAI,CAAC,OAAO,CAAA;IAC9D,IAAI,GAAG,YAAY,0BAA0B;QAAE,OAAO,IAAI,CAAC,OAAO,CAAA;IAClE,OAAO,IAAI,CAAC,OAAO,CAAA;AACrB,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,CAAA;IAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;AACpB,CAAC"}
@@ -8,7 +8,7 @@
8
8
  * poll to a terminal state; on timeout we emit the outputId and set exit 4 so
9
9
  * the caller can keep polling and still script around it.
10
10
  */
11
- import { ContentHero, type GenerateBoardRequest, type GenerateRequest, type Generation } from '@contenthero/sdk';
11
+ import { ContentHero, type EditAudioRequest, type EditAudioResult, type GenerateBoardRequest, type GenerateRequest, type Generation } from '@contenthero/sdk';
12
12
  import type { Context } from './context.js';
13
13
  /** Drop undefined values so the request payload stays minimal. */
14
14
  export declare function compact<T extends object>(obj: T): T;
@@ -26,8 +26,26 @@ declare function generationHuman(g: Generation): string;
26
26
  * --wait (poll to terminal, the default), and --no-wait (return the submission).
27
27
  */
28
28
  export declare function runGeneration(client: ContentHero, ctx: Context, request: GenerateRequest, opts: RunOptions): Promise<void>;
29
+ /**
30
+ * Same as runGeneration, for the edit_audio pipeline (existing audio -> audio).
31
+ * Isolation returns `completed` inline; --cost previews without running.
32
+ */
33
+ export declare function runEditAudio(client: ContentHero, ctx: Context, request: EditAudioRequest, opts: RunOptions): Promise<void>;
29
34
  /** Same as runGeneration, for the Reference Board pipeline. */
30
35
  export declare function runBoard(client: ContentHero, ctx: Context, request: GenerateBoardRequest, opts: RunOptions): Promise<void>;
36
+ /**
37
+ * Render an in-place clip enhancement, which is one job per SOURCE rather than one job.
38
+ *
39
+ * Waits on EVERY outputId, not just the first. Waiting on one would report the whole edit as finished when a
40
+ * single recording had landed, while the others were still running and their clips still untouched.
41
+ *
42
+ * A `noop` is emitted as-is rather than treated as an error: a selection with no audible audio is a real,
43
+ * correct answer, and the server explains which case it was.
44
+ */
45
+ export declare function renderEnhanceClips(client: ContentHero, ctx: Context, result: EditAudioResult, opts: {
46
+ wait: boolean;
47
+ timeoutSec: number;
48
+ }): Promise<void>;
31
49
  /** Block on one outputId to a terminal state and render it; exit 4 on timeout. */
32
50
  export declare function waitAndRender(client: ContentHero, ctx: Context, outputId: string, timeoutSec: number): Promise<void>;
33
51
  export { generationHuman };
@@ -1 +1 @@
1
- {"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../src/generation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,WAAW,EAGX,KAAK,oBAAoB,EACzB,KAAK,eAAe,EAEpB,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C,kEAAkE;AAClE,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAEnD;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CACxB,KAAK,EAAE,eAAe,CAAC,YAAY,CAAC,GACnC,eAAe,CAAC,YAAY,CAAC,GAAG,SAAS,CAG3C;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAA;CACnB;AAwBD,iBAAS,eAAe,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAa9C;AAeD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,+DAA+D;AAC/D,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,oBAAoB,EAC7B,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;AAgBD,kFAAkF;AAClF,wBAAsB,aAAa,CACjC,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../src/generation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,WAAW,EAGX,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EAEpB,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C,kEAAkE;AAClE,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAEnD;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CACxB,KAAK,EAAE,eAAe,CAAC,YAAY,CAAC,GACnC,eAAe,CAAC,YAAY,CAAC,GAAG,SAAS,CAG3C;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAA;CACnB;AAwBD,iBAAS,eAAe,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAa9C;AAeD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,+DAA+D;AAC/D,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,oBAAoB,EAC7B,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;AAgBD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC1C,OAAO,CAAC,IAAI,CAAC,CAUf;AAqBD,kFAAkF;AAClF,wBAAsB,aAAa,CACjC,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
@@ -8,7 +8,7 @@
8
8
  * poll to a terminal state; on timeout we emit the outputId and set exit 4 so
9
9
  * the caller can keep polling and still script around it.
10
10
  */
11
- import { GenerationTimeoutError, } from '@contenthero/sdk';
11
+ import { GenerationFailedError, } from '@contenthero/sdk';
12
12
  import { EXIT } from './errors.js';
13
13
  import { emit, keyValues } from './output.js';
14
14
  /** Drop undefined values so the request payload stays minimal. */
@@ -76,6 +76,19 @@ export async function runGeneration(client, ctx, request, opts) {
76
76
  const submitted = await client.generate(request);
77
77
  await renderSubmission(client, ctx, submitted, opts);
78
78
  }
79
+ /**
80
+ * Same as runGeneration, for the edit_audio pipeline (existing audio -> audio).
81
+ * Isolation returns `completed` inline; --cost previews without running.
82
+ */
83
+ export async function runEditAudio(client, ctx, request, opts) {
84
+ if (opts.cost) {
85
+ const est = await client.estimateEditAudioCost(request);
86
+ emit(est, ctx, costHuman);
87
+ return;
88
+ }
89
+ const submitted = await client.editAudio(request);
90
+ await renderSubmission(client, ctx, submitted, opts);
91
+ }
79
92
  /** Same as runGeneration, for the Reference Board pipeline. */
80
93
  export async function runBoard(client, ctx, request, opts) {
81
94
  if (opts.cost)
@@ -91,6 +104,41 @@ async function renderSubmission(client, ctx, submitted, opts) {
91
104
  }
92
105
  await waitAndRender(client, ctx, submitted.outputId, opts.timeoutSec);
93
106
  }
107
+ /**
108
+ * Render an in-place clip enhancement, which is one job per SOURCE rather than one job.
109
+ *
110
+ * Waits on EVERY outputId, not just the first. Waiting on one would report the whole edit as finished when a
111
+ * single recording had landed, while the others were still running and their clips still untouched.
112
+ *
113
+ * A `noop` is emitted as-is rather than treated as an error: a selection with no audible audio is a real,
114
+ * correct answer, and the server explains which case it was.
115
+ */
116
+ export async function renderEnhanceClips(client, ctx, result, opts) {
117
+ const jobs = result.outputs ?? [];
118
+ if (jobs.length === 0 || !opts.wait) {
119
+ emit(result, ctx, enhanceClipsHuman);
120
+ return;
121
+ }
122
+ emit(result, ctx, enhanceClipsHuman);
123
+ for (const job of jobs) {
124
+ await waitAndRender(client, ctx, job.outputId, opts.timeoutSec);
125
+ }
126
+ }
127
+ /** Human rendering for an in-place enhancement submission. */
128
+ function enhanceClipsHuman(result) {
129
+ const jobs = result.outputs ?? [];
130
+ if (jobs.length === 0)
131
+ return result.note ?? 'Nothing to enhance: no audible clips in that selection.';
132
+ const lines = jobs.map((j, i) => ` ${i + 1}. ${j.outputId} ${j.clipIds.length} clip${j.clipIds.length === 1 ? '' : 's'}, ` +
133
+ `${j.windows} window${j.windows === 1 ? '' : 's'}`);
134
+ const head = jobs.length === 1
135
+ ? 'Enhancing 1 source:'
136
+ : `Enhancing ${jobs.length} sources as separate jobs (a noise profile is estimated per recording):`;
137
+ const tail = result.silencedClipsExcluded
138
+ ? `\n${result.silencedClipsExcluded} silenced clip${result.silencedClipsExcluded === 1 ? '' : 's'} skipped.`
139
+ : '';
140
+ return `${head}\n${lines.join('\n')}\nThe enhanced audio is applied to the clips automatically as each job lands.${tail}`;
141
+ }
94
142
  /** Block on one outputId to a terminal state and render it; exit 4 on timeout. */
95
143
  export async function waitAndRender(client, ctx, outputId, timeoutSec) {
96
144
  try {
@@ -98,13 +146,23 @@ export async function waitAndRender(client, ctx, outputId, timeoutSec) {
98
146
  emit(gen, ctx, generationHuman);
99
147
  }
100
148
  catch (err) {
101
- if (err instanceof GenerationTimeoutError) {
149
+ // A generation that reached this function was SUBMITTED: it is running and charged.
150
+ // Whether we timed out or a poll hit a transient error, the job is not lost, so emit
151
+ // what we know (with its outputId) and exit TIMEOUT rather than throwing. Throwing
152
+ // would print an error for a live generation and invite the user to run it again,
153
+ // paying twice. A GenerationFailedError is terminal and still propagates.
154
+ if (err instanceof GenerationFailedError)
155
+ throw err;
156
+ try {
102
157
  const snapshot = await client.getGeneration(outputId);
103
158
  emit(snapshot, ctx, generationHuman);
104
- process.exitCode = EXIT.TIMEOUT;
105
- return;
106
159
  }
107
- throw err;
160
+ catch {
161
+ // Even the snapshot failed. Surface the id itself so the run is still resumable.
162
+ emit({ outputId, status: 'processing' }, ctx, generationHuman);
163
+ }
164
+ process.exitCode = EXIT.TIMEOUT;
165
+ return;
108
166
  }
109
167
  }
110
168
  export { generationHuman };
@@ -1 +1 @@
1
- {"version":3,"file":"generation.js","sourceRoot":"","sources":["../src/generation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generation.js","sourceRoot":"","sources":["../src/generation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAEL,qBAAqB,GAQtB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAG7C,kEAAkE;AAClE,MAAM,UAAU,OAAO,CAAmB,GAAM;IAC9C,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAM,CAAA;AACxF,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,UAAU,CACxB,KAAoC;IAEpC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAgC,CAAC,CAAA;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,IAAsC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3F,CAAC;AASD,SAAS,SAAS,CAAC,GAAiB;IAClC,OAAO,SAAS,CAAC;QACf,CAAC,gBAAgB,EAAE,GAAG,GAAG,CAAC,eAAe,UAAU,CAAC;QACpD,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtE,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAC9E,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,CAAiB;IACpC,MAAM,KAAK,GAAqC;QAC9C,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC;QACzB,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;KACrB,CAAA;IACD,IAAI,CAAC,CAAC,gBAAgB;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAA;IAChE,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAA;IACzE,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;IACxF,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACrE,CAAC;IACD,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,eAAe,CAAC,CAAa;IACpC,MAAM,KAAK,GAAqC;QAC9C,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC;QACzB,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;QACpB,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC;KACxB,CAAA;IACD,IAAI,CAAC,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;IAChF,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACrE,CAAC;IACD,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC;AAED,6DAA6D;AAC7D,KAAK,UAAU,QAAQ,CACrB,MAAmB,EACnB,GAAY,EACZ,OAA+C,EAC/C,OAAgB;IAEhB,MAAM,GAAG,GAAG,OAAO;QACjB,CAAC,CAAC,MAAM,MAAM,CAAC,iBAAiB,CAAC,OAA+B,CAAC;QACjE,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,OAA0B,CAAC,CAAA;IACzD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAmB,EACnB,GAAY,EACZ,OAAwB,EACxB,IAAgB;IAEhB,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC3D,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAChD,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAmB,EACnB,GAAY,EACZ,OAAyB,EACzB,IAAgB;IAEhB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;QACvD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;QACzB,OAAM;IACR,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACjD,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;AACtD,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAmB,EACnB,GAAY,EACZ,OAA6B,EAC7B,IAAgB;IAEhB,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IAC1D,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACrD,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;AACtD,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,gBAAgB,CAC7B,MAAmB,EACnB,GAAY,EACZ,SAA2C,EAC3C,IAAgB;IAEhB,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,WAAW,CAAC,CAAA;QACjC,OAAM;IACR,CAAC;IACD,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;AACvE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAmB,EACnB,GAAY,EACZ,MAAuB,EACvB,IAA2C;IAE3C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;IACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAA;QACpC,OAAM;IACR,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAA;IACpC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IACjE,CAAC;AACH,CAAC;AAED,8DAA8D;AAC9D,SAAS,iBAAiB,CAAC,MAAuB;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;IACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,IAAI,yDAAyD,CAAA;IACtG,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI;QAC3F,GAAG,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CACrD,CAAA;IACD,MAAM,IAAI,GACR,IAAI,CAAC,MAAM,KAAK,CAAC;QACf,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,aAAa,IAAI,CAAC,MAAM,yEAAyE,CAAA;IACvG,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB;QACvC,CAAC,CAAC,KAAK,MAAM,CAAC,qBAAqB,iBAAiB,MAAM,CAAC,qBAAqB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW;QAC5G,CAAC,CAAC,EAAE,CAAA;IACN,OAAO,GAAG,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gFAAgF,IAAI,EAAE,CAAA;AAC3H,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAmB,EACnB,GAAY,EACZ,QAAgB,EAChB,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,EAAE,CAAC,CAAA;QACtF,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,CAAA;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,oFAAoF;QACpF,qFAAqF;QACrF,mFAAmF;QACnF,kFAAkF;QAClF,0EAA0E;QAC1E,IAAI,GAAG,YAAY,qBAAqB;YAAE,MAAM,GAAG,CAAA;QACnD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YACrD,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,eAAe,CAAC,CAAA;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,iFAAiF;YACjF,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAA2B,EAAE,GAAG,EAAE,eAAe,CAAC,CAAA;QACzF,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAA;QAC/B,OAAM;IACR,CAAC;AACH,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
package/dist/index.js CHANGED
@@ -11,6 +11,7 @@ import { CommanderError } from 'commander';
11
11
  import pc from 'picocolors';
12
12
  import { buildProgram } from './program.js';
13
13
  import { EXIT, exitCodeForError, messageForError } from './errors.js';
14
+ import { releaseCliPresence } from './context.js';
14
15
  async function main() {
15
16
  const program = buildProgram();
16
17
  // Bare invocation: show help and exit cleanly rather than erroring.
@@ -18,6 +19,9 @@ async function main() {
18
19
  program.outputHelp();
19
20
  process.exit(EXIT.OK);
20
21
  }
22
+ // Compute the exit code, then release editor presence BEFORE exiting (process.exit would skip a finally), so
23
+ // an open editor's "Editing via CLI" badge clears immediately rather than lingering on the sliding TTL.
24
+ let exitCode = EXIT.OK;
21
25
  try {
22
26
  await program.parseAsync(process.argv);
23
27
  }
@@ -25,18 +29,21 @@ async function main() {
25
29
  // Help and version display, and parse errors, come through as CommanderError.
26
30
  // Commander already wrote the message; we only set the exit code.
27
31
  if (err instanceof CommanderError) {
28
- process.exit(err.exitCode === 0 ? EXIT.OK : EXIT.USAGE);
29
- }
30
- const code = exitCodeForError(err);
31
- const message = messageForError(err);
32
- if (process.argv.includes('--human')) {
33
- process.stderr.write(pc.red(`Error: ${message}`) + '\n');
32
+ exitCode = err.exitCode === 0 ? EXIT.OK : EXIT.USAGE;
34
33
  }
35
34
  else {
36
- process.stderr.write(JSON.stringify({ error: message, exitCode: code }, null, 2) + '\n');
35
+ exitCode = exitCodeForError(err);
36
+ const message = messageForError(err);
37
+ if (process.argv.includes('--human')) {
38
+ process.stderr.write(pc.red(`Error: ${message}`) + '\n');
39
+ }
40
+ else {
41
+ process.stderr.write(JSON.stringify({ error: message, exitCode: exitCode }, null, 2) + '\n');
42
+ }
37
43
  }
38
- process.exit(code);
39
44
  }
45
+ await releaseCliPresence().catch(() => { });
46
+ process.exit(exitCode);
40
47
  }
41
48
  void main();
42
49
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAErE,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,YAAY,EAAE,CAAA;IAE9B,oEAAoE;IACpE,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,UAAU,EAAE,CAAA;QACpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,8EAA8E;QAC9E,kEAAkE;QAClE,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzD,CAAC;QAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAClC,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QAC1F,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC;AACH,CAAC;AAED,KAAK,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEjD,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,YAAY,EAAE,CAAA;IAE9B,oEAAoE;IACpE,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,UAAU,EAAE,CAAA;QACpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACvB,CAAC;IAED,6GAA6G;IAC7G,wGAAwG;IACxG,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAA;IAC9B,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,8EAA8E;QAC9E,kEAAkE;QAClE,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;YAClC,QAAQ,GAAG,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QACtD,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;YAChC,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;YACpC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;YAC1D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;YAC9F,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAC1C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACxB,CAAC;AAED,KAAK,IAAI,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAkCnC,wBAAgB,YAAY,IAAI,OAAO,CAsCtC"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAuCnC,wBAAgB,YAAY,IAAI,OAAO,CA2CtC"}
package/dist/program.js CHANGED
@@ -19,9 +19,11 @@ import { registerTag } from './commands/tag.js';
19
19
  import { registerElement } from './commands/element.js';
20
20
  import { registerGenerate } from './commands/generate.js';
21
21
  import { registerUpscale } from './commands/upscale.js';
22
+ import { registerAudio } from './commands/audio.js';
22
23
  import { registerTranscribe } from './commands/transcribe.js';
23
24
  import { registerGeneration } from './commands/generation.js';
24
25
  import { registerMedia } from './commands/media.js';
26
+ import { registerFolder } from './commands/folder.js';
25
27
  import { registerPost } from './commands/post.js';
26
28
  import { registerPipeline } from './commands/pipeline.js';
27
29
  import { registerBrandKit } from './commands/brandkit.js';
@@ -29,6 +31,9 @@ import { registerIdentity } from './commands/identity.js';
29
31
  import { registerInspiration } from './commands/inspiration.js';
30
32
  import { registerBrandAccount, registerConnectedAccount } from './commands/connected.js';
31
33
  import { registerSchema } from './commands/schema.js';
34
+ import { registerFavorites } from './commands/favorites.js';
35
+ import { registerProject } from './commands/project.js';
36
+ import { registerContext } from './commands/context.js';
32
37
  /** Read our own version from package.json (kept in lockstep with sdk + mcp). */
33
38
  function readVersion() {
34
39
  try {
@@ -60,9 +65,11 @@ export function buildProgram() {
60
65
  registerElement(program);
61
66
  registerGenerate(program);
62
67
  registerUpscale(program);
68
+ registerAudio(program);
63
69
  registerTranscribe(program);
64
70
  registerGeneration(program);
65
71
  registerMedia(program);
72
+ registerFolder(program);
66
73
  registerPost(program);
67
74
  registerTag(program);
68
75
  registerPipeline(program);
@@ -72,6 +79,9 @@ export function buildProgram() {
72
79
  registerBrandAccount(program);
73
80
  registerConnectedAccount(program);
74
81
  registerSchema(program);
82
+ registerFavorites(program);
83
+ registerProject(program);
84
+ registerContext(program);
75
85
  return program;
76
86
  }
77
87
  //# sourceMappingURL=program.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contenthero/cli",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "Official ContentHero CLI. Generate media, run the content pipeline, and read your brand/research context from the terminal or any agent shell. Rides the @contenthero/sdk kernel.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -41,7 +41,7 @@
41
41
  "license": "MIT",
42
42
  "private": false,
43
43
  "dependencies": {
44
- "@contenthero/sdk": "^0.3.2",
44
+ "@contenthero/sdk": "^0.3.4",
45
45
  "commander": "^12.1.0",
46
46
  "picocolors": "^1.1.1"
47
47
  },