poe-code 2.0.58 → 2.0.60

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 (74) hide show
  1. package/dist/cli/commands/configure.d.ts +3 -1
  2. package/dist/cli/commands/configure.js +31 -27
  3. package/dist/cli/commands/configure.js.map +1 -1
  4. package/dist/cli/commands/ensure-isolated-config.js +1 -1
  5. package/dist/cli/commands/ensure-isolated-config.js.map +1 -1
  6. package/dist/cli/commands/generate.d.ts +9 -0
  7. package/dist/cli/commands/generate.js +320 -0
  8. package/dist/cli/commands/generate.js.map +1 -0
  9. package/dist/cli/commands/install.js +10 -5
  10. package/dist/cli/commands/install.js.map +1 -1
  11. package/dist/cli/commands/shared.d.ts +1 -0
  12. package/dist/cli/commands/shared.js +8 -1
  13. package/dist/cli/commands/shared.js.map +1 -1
  14. package/dist/cli/commands/spawn.js +24 -13
  15. package/dist/cli/commands/spawn.js.map +1 -1
  16. package/dist/cli/commands/test.js +11 -6
  17. package/dist/cli/commands/test.js.map +1 -1
  18. package/dist/cli/commands/unconfigure.js +5 -3
  19. package/dist/cli/commands/unconfigure.js.map +1 -1
  20. package/dist/cli/commands/version.js +1 -1
  21. package/dist/cli/commands/version.js.map +1 -1
  22. package/dist/cli/commands/wrap.js +5 -3
  23. package/dist/cli/commands/wrap.js.map +1 -1
  24. package/dist/cli/constants.d.ts +5 -2
  25. package/dist/cli/constants.js +5 -2
  26. package/dist/cli/constants.js.map +1 -1
  27. package/dist/cli/container.js +2 -1
  28. package/dist/cli/container.js.map +1 -1
  29. package/dist/cli/http.d.ts +1 -0
  30. package/dist/cli/logger.d.ts +2 -0
  31. package/dist/cli/logger.js +8 -0
  32. package/dist/cli/logger.js.map +1 -1
  33. package/dist/cli/program.js +78 -30
  34. package/dist/cli/program.js.map +1 -1
  35. package/dist/cli/prompts.d.ts +9 -3
  36. package/dist/cli/prompts.js +5 -9
  37. package/dist/cli/prompts.js.map +1 -1
  38. package/dist/cli/ui/clack-static.d.ts +51 -0
  39. package/dist/cli/ui/clack-static.js +59 -0
  40. package/dist/cli/ui/clack-static.js.map +1 -0
  41. package/dist/cli/ui/design-language.d.ts +30 -0
  42. package/dist/cli/ui/design-language.js +38 -0
  43. package/dist/cli/ui/design-language.js.map +1 -0
  44. package/dist/cli/ui/service-menu.d.ts +1 -0
  45. package/dist/cli/ui/service-menu.js +6 -4
  46. package/dist/cli/ui/service-menu.js.map +1 -1
  47. package/dist/cli/ui/theme.d.ts +1 -0
  48. package/dist/cli/ui/theme.js +6 -3
  49. package/dist/cli/ui/theme.js.map +1 -1
  50. package/dist/index.d.ts +2 -1
  51. package/dist/index.js +1 -0
  52. package/dist/index.js.map +1 -1
  53. package/dist/sdk/generate.d.ts +5 -0
  54. package/dist/sdk/generate.js +94 -0
  55. package/dist/sdk/generate.js.map +1 -0
  56. package/dist/sdk/spawn-core.js +32 -8
  57. package/dist/sdk/spawn-core.js.map +1 -1
  58. package/dist/sdk/types.d.ts +14 -0
  59. package/dist/services/client-instance.d.ts +12 -0
  60. package/dist/services/client-instance.js +36 -0
  61. package/dist/services/client-instance.js.map +1 -0
  62. package/dist/services/llm-client.d.ts +21 -0
  63. package/dist/services/llm-client.js +131 -0
  64. package/dist/services/llm-client.js.map +1 -0
  65. package/dist/services/media-download.d.ts +17 -0
  66. package/dist/services/media-download.js +42 -0
  67. package/dist/services/media-download.js.map +1 -0
  68. package/dist/utils/dry-run.d.ts +1 -0
  69. package/dist/utils/dry-run.js +115 -4
  70. package/dist/utils/dry-run.js.map +1 -1
  71. package/package.json +13 -2
  72. package/dist/cli/commands/query.d.ts +0 -6
  73. package/dist/cli/commands/query.js +0 -76
  74. package/dist/cli/commands/query.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"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"}
@@ -20,14 +20,20 @@ export interface ReasoningPromptInput {
20
20
  label: string;
21
21
  defaultValue: string;
22
22
  }
23
+ export interface ServiceSelectionInput {
24
+ message: string;
25
+ choices: Array<{
26
+ title: string;
27
+ value: string;
28
+ }>;
29
+ }
23
30
  export interface PromptLibrary {
24
31
  loginApiKey(): PromptDescriptor<"apiKey">;
25
32
  model(input: ModelPromptInput): PromptDescriptor<"model">;
26
33
  reasoningEffort(input: ReasoningPromptInput): PromptDescriptor<"reasoningEffort">;
27
34
  configName(defaultName: string): PromptDescriptor<"configName">;
28
- serviceSelection(): PromptDescriptor<"serviceSelection"> & {
29
- type: "number";
35
+ serviceSelection(input: ServiceSelectionInput): PromptDescriptor<"serviceSelection"> & {
36
+ type: "select";
30
37
  };
31
- queryPrompt(): PromptDescriptor<"prompt">;
32
38
  }
33
39
  export declare function createPromptLibrary(): PromptLibrary;
@@ -28,19 +28,15 @@ export function createPromptLibrary() {
28
28
  type: "text",
29
29
  initial: defaultName
30
30
  }),
31
- serviceSelection: () => {
31
+ serviceSelection: ({ message, choices }) => {
32
32
  const descriptor = {
33
33
  name: "serviceSelection",
34
- message: "Enter number that you want to configure",
35
- type: "number"
34
+ message,
35
+ type: "select",
36
+ choices
36
37
  };
37
38
  return descriptor;
38
- },
39
- queryPrompt: () => describe({
40
- name: "prompt",
41
- message: "Prompt",
42
- type: "text"
43
- })
39
+ }
44
40
  };
45
41
  }
46
42
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/cli/prompts.ts"],"names":[],"mappings":"AA8BA,MAAM,UAAU,mBAAmB;IACjC,MAAM,QAAQ,GAAG,CACf,UAAmC,EACV,EAAE,CAAC,UAAU,CAAC;IAEzC,OAAO;QACL,WAAW,EAAE,GAAG,EAAE,CAChB,QAAQ,CAAC;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,6DAA6D;YACtE,IAAI,EAAE,UAAU;SACjB,CAAC;QACJ,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,YAAY,CAAC,EAC5D,CAAC,CACF,CAAC;YACF,OAAO,QAAQ,CAAC;gBACd,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO;gBACP,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QACD,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,CAC3C,QAAQ,CAAC;YACP,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,YAAY;SACtB,CAAC;QACJ,UAAU,EAAE,CAAC,WAAmB,EAAE,EAAE,CAClC,QAAQ,CAAC;YACP,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,oBAAoB;YAC7B,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,WAAW;SACrB,CAAC;QACJ,gBAAgB,EAAE,GAAG,EAAE;YACrB,MAAM,UAAU,GAEZ;gBACF,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,yCAAyC;gBAClD,IAAI,EAAE,QAAQ;aACf,CAAC;YACF,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,WAAW,EAAE,GAAG,EAAE,CAChB,QAAQ,CAAC;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,MAAM;SACb,CAAC;KACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/cli/prompts.ts"],"names":[],"mappings":"AAoCA,MAAM,UAAU,mBAAmB;IACjC,MAAM,QAAQ,GAAG,CACf,UAAmC,EACV,EAAE,CAAC,UAAU,CAAC;IAEzC,OAAO;QACL,WAAW,EAAE,GAAG,EAAE,CAChB,QAAQ,CAAC;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,6DAA6D;YACtE,IAAI,EAAE,UAAU;SACjB,CAAC;QACJ,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,YAAY,CAAC,EAC5D,CAAC,CACF,CAAC;YACF,OAAO,QAAQ,CAAC;gBACd,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO;gBACP,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QACD,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,CAC3C,QAAQ,CAAC;YACP,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,YAAY;SACtB,CAAC;QACJ,UAAU,EAAE,CAAC,WAAmB,EAAE,EAAE,CAClC,QAAQ,CAAC;YACP,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,oBAAoB;YAC7B,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,WAAW;SACrB,CAAC;QACJ,gBAAgB,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;YACzC,MAAM,UAAU,GAEZ;gBACF,IAAI,EAAE,kBAAkB;gBACxB,OAAO;gBACP,IAAI,EAAE,QAAQ;gBACd,OAAO;aACR,CAAC;YACF,OAAO,UAAU,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,51 @@
1
+ /** Spinner animation frames from @clack/prompts */
2
+ export declare const SPINNER_FRAMES: readonly ["◒", "◐", "◓", "◑"];
3
+ /** Clack UI symbols */
4
+ export declare const CLACK_SYMBOLS: {
5
+ /** Bar connector */
6
+ readonly bar: "│";
7
+ /** Corner connectors */
8
+ readonly cornerTopRight: "╮";
9
+ readonly cornerBottomRight: "╯";
10
+ /** Success indicator (green) */
11
+ readonly success: "◆";
12
+ /** Error indicator (red) */
13
+ readonly error: "■";
14
+ /** Warning indicator */
15
+ readonly warning: "▲";
16
+ /** Info indicator */
17
+ readonly info: "●";
18
+ /** Resolved/completed indicator */
19
+ readonly resolved: "◇";
20
+ /** Active/selected indicator */
21
+ readonly active: "◆";
22
+ /** Inactive indicator */
23
+ readonly inactive: "○";
24
+ };
25
+ export interface SpinnerFrameOptions {
26
+ /** Frame index (0-3) */
27
+ frame?: number;
28
+ /** Message to display */
29
+ message: string;
30
+ /** Show timer suffix (e.g., "[1s]") */
31
+ timer?: string;
32
+ }
33
+ /**
34
+ * Render a static spinner frame for screenshots.
35
+ * Mimics @clack/prompts spinner appearance.
36
+ */
37
+ export declare function renderSpinnerFrame(options: SpinnerFrameOptions): string;
38
+ export interface SpinnerStoppedOptions {
39
+ /** Message to display */
40
+ message: string;
41
+ /** Exit code: 0 = success, 1 = error */
42
+ code?: number;
43
+ /** Timer value to display */
44
+ timer?: string;
45
+ /** Optional subtext displayed below the message */
46
+ subtext?: string;
47
+ }
48
+ /**
49
+ * Render a stopped spinner state for screenshots.
50
+ */
51
+ export declare function renderSpinnerStopped(options: SpinnerStoppedOptions): string;
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Static rendering utilities for @clack/prompts components.
3
+ * Useful for screenshots and non-interactive contexts.
4
+ *
5
+ * These values are extracted from @clack/prompts source.
6
+ */
7
+ import chalk from "chalk";
8
+ /** Spinner animation frames from @clack/prompts */
9
+ export const SPINNER_FRAMES = ["◒", "◐", "◓", "◑"];
10
+ /** Clack UI symbols */
11
+ export const CLACK_SYMBOLS = {
12
+ /** Bar connector */
13
+ bar: "│",
14
+ /** Corner connectors */
15
+ cornerTopRight: "╮",
16
+ cornerBottomRight: "╯",
17
+ /** Success indicator (green) */
18
+ success: "◆",
19
+ /** Error indicator (red) */
20
+ error: "■",
21
+ /** Warning indicator */
22
+ warning: "▲",
23
+ /** Info indicator */
24
+ info: "●",
25
+ /** Resolved/completed indicator */
26
+ resolved: "◇",
27
+ /** Active/selected indicator */
28
+ active: "◆",
29
+ /** Inactive indicator */
30
+ inactive: "○"
31
+ };
32
+ /**
33
+ * Render a static spinner frame for screenshots.
34
+ * Mimics @clack/prompts spinner appearance.
35
+ */
36
+ export function renderSpinnerFrame(options) {
37
+ const frame = options.frame ?? 0;
38
+ const spinnerChar = chalk.magenta(SPINNER_FRAMES[frame % SPINNER_FRAMES.length]);
39
+ const timerSuffix = options.timer ? chalk.dim(` [${options.timer}]`) : "";
40
+ const bar = chalk.gray(CLACK_SYMBOLS.bar);
41
+ return `${spinnerChar} ${options.message}${timerSuffix}\n${bar}`;
42
+ }
43
+ /**
44
+ * Render a stopped spinner state for screenshots.
45
+ */
46
+ export function renderSpinnerStopped(options) {
47
+ const code = options.code ?? 0;
48
+ const symbol = code === 0
49
+ ? chalk.green(CLACK_SYMBOLS.success)
50
+ : chalk.red(CLACK_SYMBOLS.error);
51
+ const timerSuffix = options.timer ? chalk.dim(` [${options.timer}]`) : "";
52
+ const bar = chalk.gray(CLACK_SYMBOLS.bar);
53
+ let output = `${symbol} ${options.message}${timerSuffix}`;
54
+ if (options.subtext) {
55
+ output += `\n${bar} ${chalk.dim(options.subtext)}`;
56
+ }
57
+ return output;
58
+ }
59
+ //# sourceMappingURL=clack-static.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clack-static.js","sourceRoot":"","sources":["../../../src/cli/ui/clack-static.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,mDAAmD;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAE5D,uBAAuB;AACvB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,oBAAoB;IACpB,GAAG,EAAE,GAAG;IACR,wBAAwB;IACxB,cAAc,EAAE,GAAG;IACnB,iBAAiB,EAAE,GAAG;IACtB,gCAAgC;IAChC,OAAO,EAAE,GAAG;IACZ,4BAA4B;IAC5B,KAAK,EAAE,GAAG;IACV,wBAAwB;IACxB,OAAO,EAAE,GAAG;IACZ,qBAAqB;IACrB,IAAI,EAAE,GAAG;IACT,mCAAmC;IACnC,QAAQ,EAAE,GAAG;IACb,gCAAgC;IAChC,MAAM,EAAE,GAAG;IACX,yBAAyB;IACzB,QAAQ,EAAE,GAAG;CACL,CAAC;AAWX;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA4B;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACjF,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAE1C,OAAO,GAAG,WAAW,KAAK,OAAO,CAAC,OAAO,GAAG,WAAW,KAAK,GAAG,EAAE,CAAC;AACpE,CAAC;AAaD;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC;QACvB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;QACpC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAE1C,IAAI,MAAM,GAAG,GAAG,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,WAAW,EAAE,CAAC;IAC3D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,GAAG,QAAQ,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { CliEnvironment } from "../environment.js";
2
+ export interface CliTextStyles {
3
+ intro(text: string): string;
4
+ heading(text: string): string;
5
+ section(text: string): string;
6
+ command(text: string): string;
7
+ argument(text: string): string;
8
+ option(text: string): string;
9
+ example(text: string): string;
10
+ usageCommand(text: string): string;
11
+ link(text: string): string;
12
+ muted(text: string): string;
13
+ }
14
+ export interface CliCopy {
15
+ tagline: string;
16
+ menuHeader: string;
17
+ serviceSelection(action: string): string;
18
+ }
19
+ export interface CliDesignLanguage {
20
+ text: CliTextStyles;
21
+ symbols: {
22
+ info: string;
23
+ success: string;
24
+ resolved: string;
25
+ errorResolved: string;
26
+ };
27
+ copy: CliCopy;
28
+ }
29
+ export declare function createCliCopy(): CliCopy;
30
+ export declare function createCliDesignLanguage(env: CliEnvironment): CliDesignLanguage;
@@ -0,0 +1,38 @@
1
+ import chalk from "chalk";
2
+ import { createMenuTheme } from "./theme.js";
3
+ export function createCliCopy() {
4
+ const tagline = "Configure coding agents to use the Poe API.";
5
+ return {
6
+ tagline,
7
+ menuHeader: `poe-code · ${tagline}`,
8
+ serviceSelection: (action) => `Pick an agent to ${action}:`
9
+ };
10
+ }
11
+ export function createCliDesignLanguage(env) {
12
+ const theme = createMenuTheme(env);
13
+ const accent = theme.palette.prompt;
14
+ const muted = chalk.dim;
15
+ const copy = createCliCopy();
16
+ return {
17
+ text: {
18
+ intro: theme.palette.intro,
19
+ heading: theme.palette.header,
20
+ section: chalk.bold,
21
+ command: accent,
22
+ argument: muted,
23
+ option: chalk.yellow,
24
+ example: muted,
25
+ usageCommand: chalk.green,
26
+ link: accent,
27
+ muted
28
+ },
29
+ symbols: {
30
+ info: chalk.magenta("●"),
31
+ success: chalk.magenta("◆"),
32
+ resolved: theme.palette.resolvedSymbol,
33
+ errorResolved: theme.palette.errorSymbol
34
+ },
35
+ copy
36
+ };
37
+ }
38
+ //# sourceMappingURL=design-language.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design-language.js","sourceRoot":"","sources":["../../../src/cli/ui/design-language.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgC7C,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,6CAA6C,CAAC;IAC9D,OAAO;QACL,OAAO;QACP,UAAU,EAAE,cAAc,OAAO,EAAE;QACnC,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,MAAM,GAAG;KAC5D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,GAAmB;IAEnB,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;IACxB,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,OAAO;QACL,IAAI,EAAE;YACJ,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;YAC7B,OAAO,EAAE,KAAK,CAAC,IAAI;YACnB,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,KAAK,CAAC,KAAK;YACzB,IAAI,EAAE,MAAM;YACZ,KAAK;SACN;QACD,OAAO,EAAE;YACP,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAC3B,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;YACtC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;SACzC;QACD,IAAI;KACL,CAAC;AACJ,CAAC"}
@@ -3,4 +3,5 @@ import { type MenuTheme } from "./theme.js";
3
3
  export interface RenderServiceMenuOptions {
4
4
  theme?: MenuTheme;
5
5
  }
6
+ export declare function formatServiceLabel(service: ProviderService, theme: MenuTheme): string;
6
7
  export declare function renderServiceMenu(services: ProviderService[], options?: RenderServiceMenuOptions): string[];
@@ -1,8 +1,9 @@
1
1
  import chalk from "chalk";
2
2
  import { defaultMenuTheme } from "./theme.js";
3
+ import { createCliCopy } from "./design-language.js";
3
4
  const HEADER_WIDTH = 70;
4
5
  const repeat = (char, count) => char.repeat(count);
5
- function formatProviderLabel(service, theme) {
6
+ export function formatServiceLabel(service, theme) {
6
7
  const palette = theme.palette;
7
8
  const colors = service.branding?.colors;
8
9
  if (colors) {
@@ -18,17 +19,18 @@ function formatProviderLabel(service, theme) {
18
19
  export function renderServiceMenu(services, options) {
19
20
  const theme = options?.theme ?? defaultMenuTheme;
20
21
  const palette = theme.palette;
22
+ const copy = createCliCopy();
21
23
  const border = repeat("=", HEADER_WIDTH);
22
24
  const divider = repeat("-", HEADER_WIDTH);
23
25
  const lines = [
24
26
  palette.divider(border),
25
- palette.header("poe-code · Configure coding agents with the Poe API"),
27
+ palette.header(copy.menuHeader),
26
28
  palette.divider(divider),
27
- palette.prompt("Pick a service to configure:")
29
+ palette.prompt(copy.serviceSelection("configure"))
28
30
  ];
29
31
  services.forEach((service, index) => {
30
32
  const number = palette.number(index + 1);
31
- const label = formatProviderLabel(service, theme);
33
+ const label = formatServiceLabel(service, theme);
32
34
  lines.push(`${number} ${label}`);
33
35
  });
34
36
  lines.push(palette.divider(divider));
@@ -1 +1 @@
1
- {"version":3,"file":"service-menu.js","sourceRoot":"","sources":["../../../src/cli/ui/service-menu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAM3E,SAAS,mBAAmB,CAC1B,OAAwB,EACxB,KAAgB;IAEhB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;IACxC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,SAAS,GACb,KAAK,CAAC,IAAI,KAAK,MAAM;YACnB,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK;YAC7B,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC;QAClC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,QAA2B,EAC3B,OAAkC;IAElC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,gBAAgB,CAAC;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAE1C,MAAM,KAAK,GAAa;QACtB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,qDAAqD,CAAC;QACrE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,8BAA8B,CAAC;KAC/C,CAAC;IAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAErC,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"service-menu.js","sourceRoot":"","sources":["../../../src/cli/ui/service-menu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAM3E,MAAM,UAAU,kBAAkB,CAChC,OAAwB,EACxB,KAAgB;IAEhB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;IACxC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,SAAS,GACb,KAAK,CAAC,IAAI,KAAK,MAAM;YACnB,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK;YAC7B,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC;QAClC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,QAA2B,EAC3B,OAAkC;IAElC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,gBAAgB,CAAC;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAE1C,MAAM,KAAK,GAAa;QACtB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QAC/B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;KACnD,CAAC;IAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAErC,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -8,6 +8,7 @@ export interface MenuPalette {
8
8
  providerFallback(label: string): string;
9
9
  intro(text: string): string;
10
10
  resolvedSymbol: string;
11
+ errorSymbol: string;
11
12
  }
12
13
  export interface MenuTheme {
13
14
  name: MenuThemeName;
@@ -6,7 +6,8 @@ const DARK_THEME = {
6
6
  number: (text) => chalk.cyanBright(text),
7
7
  providerFallback: (text) => text,
8
8
  intro: (text) => chalk.bgMagenta.white(` Poe - ${text} `),
9
- resolvedSymbol: chalk.magenta("◇")
9
+ resolvedSymbol: chalk.magenta("◇"),
10
+ errorSymbol: chalk.red("■")
10
11
  };
11
12
  const LIGHT_THEME = {
12
13
  header: (text) => chalk.hex("#a200ff").bold(text),
@@ -15,7 +16,8 @@ const LIGHT_THEME = {
15
16
  number: (text) => chalk.hex("#0077cc").bold(text),
16
17
  providerFallback: (text) => text,
17
18
  intro: (text) => chalk.bgHex("#a200ff").white(` Poe - ${text} `),
18
- resolvedSymbol: chalk.hex("#a200ff")("◇")
19
+ resolvedSymbol: chalk.hex("#a200ff")("◇"),
20
+ errorSymbol: chalk.hex("#cc0000")("■")
19
21
  };
20
22
  const THEMES = {
21
23
  dark: DARK_THEME,
@@ -66,7 +68,8 @@ function buildPalette(config) {
66
68
  number: (value) => config.number(`[${value}]`),
67
69
  providerFallback: config.providerFallback,
68
70
  intro: config.intro,
69
- resolvedSymbol: config.resolvedSymbol
71
+ resolvedSymbol: config.resolvedSymbol,
72
+ errorSymbol: config.errorSymbol
70
73
  };
71
74
  }
72
75
  function createTheme(themeName) {
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/cli/ui/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/cli/ui/theme.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { isCliInvocation } from "./cli/bootstrap.js";
3
3
  export { spawn } from "./sdk/spawn.js";
4
+ export { generate, generateImage, generateVideo, generateAudio } from "./sdk/generate.js";
4
5
  export { getPoeApiKey } from "./sdk/credentials.js";
5
- export type { SpawnOptions, SpawnResult } from "./sdk/types.js";
6
+ export type { SpawnOptions, SpawnResult, GenerateOptions, MediaGenerateOptions, GenerateResult, MediaGenerateResult } from "./sdk/types.js";
6
7
  declare const main: () => Promise<void>;
7
8
  export { main, isCliInvocation };
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ import { createProgram } from "./cli/program.js";
3
3
  import { createCliMain, isCliInvocation } from "./cli/bootstrap.js";
4
4
  // SDK exports
5
5
  export { spawn } from "./sdk/spawn.js";
6
+ export { generate, generateImage, generateVideo, generateAudio } from "./sdk/generate.js";
6
7
  export { getPoeApiKey } from "./sdk/credentials.js";
7
8
  const main = createCliMain(createProgram);
8
9
  if (isCliInvocation(process.argv, import.meta.url)) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEpE,cAAc;AACd,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,MAAM,IAAI,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;AAE1C,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACnD,KAAK,IAAI,EAAE,CAAC;AACd,CAAC;AAED,cAAc;AACd,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEpE,cAAc;AACd,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAUpD,MAAM,IAAI,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;AAE1C,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACnD,KAAK,IAAI,EAAE,CAAC;AACd,CAAC;AAED,cAAc;AACd,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { GenerateOptions, GenerateResult, MediaGenerateOptions, MediaGenerateResult } from "./types.js";
2
+ export declare function generate(prompt: string, options?: GenerateOptions): Promise<GenerateResult>;
3
+ export declare function generateImage(prompt: string, options?: MediaGenerateOptions): Promise<MediaGenerateResult>;
4
+ export declare function generateVideo(prompt: string, options?: MediaGenerateOptions): Promise<MediaGenerateResult>;
5
+ export declare function generateAudio(prompt: string, options?: MediaGenerateOptions): Promise<MediaGenerateResult>;
@@ -0,0 +1,94 @@
1
+ import { DEFAULT_TEXT_MODEL, DEFAULT_IMAGE_BOT, DEFAULT_VIDEO_BOT, DEFAULT_AUDIO_BOT } from "../cli/constants.js";
2
+ import { getPoeApiKey } from "./credentials.js";
3
+ import { getGlobalClient, setGlobalClient } from "../services/client-instance.js";
4
+ import { createPoeClient } from "../services/llm-client.js";
5
+ const MODEL_ENV_KEYS = {
6
+ text: "POE_TEXT_MODEL",
7
+ image: "POE_IMAGE_MODEL",
8
+ video: "POE_VIDEO_MODEL",
9
+ audio: "POE_AUDIO_MODEL"
10
+ };
11
+ const DEFAULT_MODELS = {
12
+ text: DEFAULT_TEXT_MODEL,
13
+ image: DEFAULT_IMAGE_BOT,
14
+ video: DEFAULT_VIDEO_BOT,
15
+ audio: DEFAULT_AUDIO_BOT
16
+ };
17
+ export async function generate(prompt, options = {}) {
18
+ if (!prompt) {
19
+ throw new Error("Prompt is required");
20
+ }
21
+ const client = await resolveClient();
22
+ const model = resolveSdkModel("text", options);
23
+ const response = await client.text({
24
+ model,
25
+ prompt,
26
+ params: options.params
27
+ });
28
+ if (!response.content) {
29
+ throw new Error("No response from LLM");
30
+ }
31
+ return { content: response.content };
32
+ }
33
+ export async function generateImage(prompt, options = {}) {
34
+ return generateMedia("image", prompt, options);
35
+ }
36
+ export async function generateVideo(prompt, options = {}) {
37
+ return generateMedia("video", prompt, options);
38
+ }
39
+ export async function generateAudio(prompt, options = {}) {
40
+ return generateMedia("audio", prompt, options);
41
+ }
42
+ async function generateMedia(type, prompt, options) {
43
+ if (!prompt) {
44
+ throw new Error("Prompt is required");
45
+ }
46
+ const client = await resolveClient();
47
+ const model = resolveSdkModel(type, options);
48
+ const response = await client.media(type, {
49
+ model,
50
+ prompt,
51
+ params: options.params
52
+ });
53
+ if (!response.url) {
54
+ throw new Error(`No ${type} URL returned`);
55
+ }
56
+ return { url: response.url, mimeType: response.mimeType };
57
+ }
58
+ async function resolveClient() {
59
+ try {
60
+ return getGlobalClient();
61
+ }
62
+ catch {
63
+ const apiKey = await getPoeApiKey();
64
+ const baseUrl = normalizeBaseUrl(process.env.POE_API_BASE_URL);
65
+ const client = createPoeClient({
66
+ apiKey,
67
+ baseUrl
68
+ });
69
+ setGlobalClient(client);
70
+ return client;
71
+ }
72
+ }
73
+ function resolveSdkModel(type, options) {
74
+ if (options.model) {
75
+ return options.model;
76
+ }
77
+ const envKey = MODEL_ENV_KEYS[type];
78
+ const envModel = normalizeEnvModel(process.env[envKey]);
79
+ return envModel ?? DEFAULT_MODELS[type];
80
+ }
81
+ function normalizeEnvModel(value) {
82
+ if (typeof value !== "string") {
83
+ return undefined;
84
+ }
85
+ const trimmed = value.trim();
86
+ return trimmed.length > 0 ? trimmed : undefined;
87
+ }
88
+ function normalizeBaseUrl(value) {
89
+ if (typeof value === "string" && value.trim().length > 0) {
90
+ return value.trim();
91
+ }
92
+ return "https://api.poe.com/v1";
93
+ }
94
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/sdk/generate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import path from "node:path";
2
+ import chalk from "chalk";
2
3
  import { buildProviderContext, createExecutionResources } from "../cli/commands/shared.js";
3
4
  /**
4
5
  * Core spawn implementation used by both SDK and CLI.
@@ -33,14 +34,8 @@ export async function spawnCore(container, service, options, flags = { dryRun: f
33
34
  const providerContext = buildProviderContext(container, adapter, resources);
34
35
  // Handle dry run
35
36
  if (flags.dryRun) {
36
- const extra = spawnOptions.args && spawnOptions.args.length > 0
37
- ? ` with args ${JSON.stringify(spawnOptions.args)}`
38
- : "";
39
- const cwdSuffix = spawnOptions.cwd ? ` from ${spawnOptions.cwd}` : "";
40
- const promptDetail = spawnOptions.useStdin
41
- ? `(stdin, ${spawnOptions.prompt.length} chars)`
42
- : `"${spawnOptions.prompt}"`;
43
- resources.logger.dryRun(`Dry run: would spawn ${adapter.label} with prompt ${promptDetail}${extra}${cwdSuffix}.`);
37
+ const summary = formatSpawnDryRunMessage(adapter.label, spawnOptions);
38
+ resources.logger.dryRun(summary);
44
39
  return {
45
40
  stdout: "",
46
41
  stderr: "",
@@ -69,6 +64,35 @@ export async function spawnCore(container, service, options, flags = { dryRun: f
69
64
  exitCode: result.exitCode
70
65
  };
71
66
  }
67
+ function formatSpawnDryRunMessage(label, options) {
68
+ const lines = [`Dry run: would spawn ${label}.`];
69
+ const details = [];
70
+ const promptDetail = options.useStdin
71
+ ? `(stdin, ${options.prompt.length} chars)`
72
+ : formatQuoted(options.prompt);
73
+ details.push(`${chalk.dim("Prompt:")} ${chalk.cyan(promptDetail)}`);
74
+ if (options.args && options.args.length > 0) {
75
+ const renderedArgs = options.args.map((arg) => formatSpawnArg(arg)).join(" ");
76
+ details.push(`${chalk.dim("Args:")} ${chalk.cyan(renderedArgs)}`);
77
+ }
78
+ if (options.cwd) {
79
+ details.push(`${chalk.dim("Cwd:")} ${chalk.cyan(options.cwd)}`);
80
+ }
81
+ if (details.length > 0) {
82
+ lines.push(...details.map((line) => ` ${line}`));
83
+ }
84
+ return lines.join("\n");
85
+ }
86
+ function formatSpawnArg(arg) {
87
+ const needsQuotes = arg.includes(" ") || arg.includes("\t");
88
+ if (!needsQuotes) {
89
+ return arg;
90
+ }
91
+ return `"${arg.split("\"").join("\\\"")}"`;
92
+ }
93
+ function formatQuoted(value) {
94
+ return JSON.stringify(value);
95
+ }
72
96
  function resolveSpawnWorkingDirectory(baseDir, candidate) {
73
97
  if (!candidate || candidate.trim().length === 0) {
74
98
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-core.js","sourceRoot":"","sources":["../../src/sdk/spawn-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn-core.js","sourceRoot":"","sources":["../../src/sdk/spawn-core.ts"],"names":[],"mappings":"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"}
@@ -22,3 +22,17 @@ export interface SpawnResult {
22
22
  /** Exit code from the CLI process */
23
23
  exitCode: number;
24
24
  }
25
+ export interface GenerateOptions {
26
+ /** Model identifier override */
27
+ model?: string;
28
+ /** Additional parameters passed to the API */
29
+ params?: Record<string, string>;
30
+ }
31
+ export type MediaGenerateOptions = GenerateOptions;
32
+ export interface GenerateResult {
33
+ content: string;
34
+ }
35
+ export interface MediaGenerateResult {
36
+ url: string;
37
+ mimeType?: string;
38
+ }