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.
- package/dist/cli/commands/configure.d.ts +3 -1
- package/dist/cli/commands/configure.js +31 -27
- package/dist/cli/commands/configure.js.map +1 -1
- package/dist/cli/commands/ensure-isolated-config.js +1 -1
- package/dist/cli/commands/ensure-isolated-config.js.map +1 -1
- package/dist/cli/commands/generate.d.ts +9 -0
- package/dist/cli/commands/generate.js +320 -0
- package/dist/cli/commands/generate.js.map +1 -0
- package/dist/cli/commands/install.js +10 -5
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/shared.d.ts +1 -0
- package/dist/cli/commands/shared.js +8 -1
- package/dist/cli/commands/shared.js.map +1 -1
- package/dist/cli/commands/spawn.js +24 -13
- package/dist/cli/commands/spawn.js.map +1 -1
- package/dist/cli/commands/test.js +11 -6
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/unconfigure.js +5 -3
- package/dist/cli/commands/unconfigure.js.map +1 -1
- package/dist/cli/commands/version.js +1 -1
- package/dist/cli/commands/version.js.map +1 -1
- package/dist/cli/commands/wrap.js +5 -3
- package/dist/cli/commands/wrap.js.map +1 -1
- package/dist/cli/constants.d.ts +5 -2
- package/dist/cli/constants.js +5 -2
- package/dist/cli/constants.js.map +1 -1
- package/dist/cli/container.js +2 -1
- package/dist/cli/container.js.map +1 -1
- package/dist/cli/http.d.ts +1 -0
- package/dist/cli/logger.d.ts +2 -0
- package/dist/cli/logger.js +8 -0
- package/dist/cli/logger.js.map +1 -1
- package/dist/cli/program.js +78 -30
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/prompts.d.ts +9 -3
- package/dist/cli/prompts.js +5 -9
- package/dist/cli/prompts.js.map +1 -1
- package/dist/cli/ui/clack-static.d.ts +51 -0
- package/dist/cli/ui/clack-static.js +59 -0
- package/dist/cli/ui/clack-static.js.map +1 -0
- package/dist/cli/ui/design-language.d.ts +30 -0
- package/dist/cli/ui/design-language.js +38 -0
- package/dist/cli/ui/design-language.js.map +1 -0
- package/dist/cli/ui/service-menu.d.ts +1 -0
- package/dist/cli/ui/service-menu.js +6 -4
- package/dist/cli/ui/service-menu.js.map +1 -1
- package/dist/cli/ui/theme.d.ts +1 -0
- package/dist/cli/ui/theme.js +6 -3
- package/dist/cli/ui/theme.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/sdk/generate.d.ts +5 -0
- package/dist/sdk/generate.js +94 -0
- package/dist/sdk/generate.js.map +1 -0
- package/dist/sdk/spawn-core.js +32 -8
- package/dist/sdk/spawn-core.js.map +1 -1
- package/dist/sdk/types.d.ts +14 -0
- package/dist/services/client-instance.d.ts +12 -0
- package/dist/services/client-instance.js +36 -0
- package/dist/services/client-instance.js.map +1 -0
- package/dist/services/llm-client.d.ts +21 -0
- package/dist/services/llm-client.js +131 -0
- package/dist/services/llm-client.js.map +1 -0
- package/dist/services/media-download.d.ts +17 -0
- package/dist/services/media-download.js +42 -0
- package/dist/services/media-download.js.map +1 -0
- package/dist/utils/dry-run.d.ts +1 -0
- package/dist/utils/dry-run.js +115 -4
- package/dist/utils/dry-run.js.map +1 -1
- package/package.json +13 -2
- package/dist/cli/commands/query.d.ts +0 -6
- package/dist/cli/commands/query.js +0 -76
- package/dist/cli/commands/query.js.map +0 -1
package/dist/cli/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/prompts.d.ts
CHANGED
|
@@ -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: "
|
|
35
|
+
serviceSelection(input: ServiceSelectionInput): PromptDescriptor<"serviceSelection"> & {
|
|
36
|
+
type: "select";
|
|
30
37
|
};
|
|
31
|
-
queryPrompt(): PromptDescriptor<"prompt">;
|
|
32
38
|
}
|
|
33
39
|
export declare function createPromptLibrary(): PromptLibrary;
|
package/dist/cli/prompts.js
CHANGED
|
@@ -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
|
|
35
|
-
type: "
|
|
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
|
package/dist/cli/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/cli/prompts.ts"],"names":[],"mappings":"
|
|
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
|
|
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(
|
|
27
|
+
palette.header(copy.menuHeader),
|
|
26
28
|
palette.divider(divider),
|
|
27
|
-
palette.prompt("
|
|
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 =
|
|
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;
|
|
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"}
|
package/dist/cli/ui/theme.d.ts
CHANGED
package/dist/cli/ui/theme.js
CHANGED
|
@@ -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) {
|
package/dist/cli/ui/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/cli/ui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
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;
|
|
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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"}
|
package/dist/sdk/spawn-core.js
CHANGED
|
@@ -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
|
|
37
|
-
|
|
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":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"spawn-core.js","sourceRoot":"","sources":["../../src/sdk/spawn-core.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/types.d.ts
CHANGED
|
@@ -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
|
+
}
|