scream-code 0.17.2 → 0.17.3
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/{app-CIbVW5_w.mjs → app-XCsQ2EfW.mjs} +4 -4
- package/dist/{dispatch-WhwMofZx.mjs → dispatch-0a0n28ZL.mjs} +1 -1
- package/dist/{dispatch-BBjMoPdz.mjs → dispatch-BwKIIIVW.mjs} +84 -12
- package/dist/main.mjs +1 -1
- package/dist/{text-input-dialog-Ja718cE-.mjs → text-input-dialog-BoxTq4a3.mjs} +2 -2
- package/dist/{text-input-dialog-C52WdQtd.mjs → text-input-dialog-DQaJf2zB.mjs} +1 -1
- package/package.json +1 -1
|
@@ -5,8 +5,8 @@ const __filename = __cjsShimFileURLToPath(import.meta.url);
|
|
|
5
5
|
const __dirname = __cjsShimDirname(__filename);
|
|
6
6
|
import "./suppress-sqlite-warning-C2VB0doZ.mjs";
|
|
7
7
|
import { k as MemoryMemoStore } from "./src-BhZujafw.mjs";
|
|
8
|
-
import { $n as encodeWorkDirKey, $t as lerpGradient, A as highlightLines, An as embeddingFailureDetail, At as isTurnElapsedEnabled, B as ActivityGroupComponent, Bn as detectShellEnvironment, Bt as ENABLE_TERMINAL_THEME_REPORTING, Cn as getLlmNotSetMessage, Ct as clearInfoPanelState, D as ToolCallComponent, Dn as sortSlashCommands, Dt as createEditorTheme, E as UserMessageComponent, En as BUILTIN_SLASH_COMMANDS, Et as resolveThemeSync, F as StatusMessageComponent, Fn as PULSE_WAVE_FRAMES, Ft as detectTerminalTheme, G as AgentGroupComponent, Gn as CLI_COMMAND_NAME, Gt as QUERY_TERMINAL_THEME, H as estimateTokens, Hn as getInputHistoryFile, Ht as OSC11_RESPONSE, I as replaceTabs, In as TuiConfigParseError, It as parseOsc11BackgroundTheme, J as getBreathingFrame, Jn as PRODUCT_NAME, Jt as TERMINAL_THEME_DARK, K as WelcomeComponent, Kn as CLI_UI_MODE, Kt as TERMINAL_FOCUS_IN, L as sanitizeShellOutput, Ln as TuiLikePreferencesSchema, Lt as DISABLE_TERMINAL_FOCUS_REPORTING, M as CachedContainer, Mn as hasEmbeddingModelCache, Mt as createThemeStyles, N as ThinkingComponent, Nn as startManualEmbeddingDownload, Nt as contrastTextHex, O as renderDiffLines, On as isExperimentalFlagEnabled, Ot as createMarkdownTheme, P as NoticeMessageComponent, Pn as PIXEL_PULSE_FRAMES, Pt as getColorPalette, Q as refineGoal, Qn as ScreamHarness, Qt as FooterComponent, R as SkillActivationComponent, Rn as loadTuiConfig, Rt as DISABLE_TERMINAL_THEME_REPORTING, S as readJsonlFile, Sn as getCtrlDHint, St as supportsBalance, Tn as buildSkillSlashCommands, U as getSharedSpeedTracker, Un as getLogDir, Ut as OSC11_RESPONSE_PREFIX, V as charsForTokenBudget, Vn as getDataDir, Vt as OSC11_QUERY, W as BackgroundAgentStatusComponent, Wn as detectInstallSource, Wt as OSC11_RESPONSE_PREFIX_NO_ESC, X as CompactionComponent, Xn as fetchCatalog, Xt as isBusy, Y as resetBreathingClock, Yn as DEFAULT_CATALOG_URL, Yt as TERMINAL_THEME_LIGHT, Z as clearGoalState, Zn as saveCatalogCache, Zt as isStreaming, _n as EXIT_CONFIRM_WINDOW_MS, a as syncDiagramCapabilityPrompt, an as printableChar, ar as isRealUserPrompt, at as toTerminalHyperlink, b as readUpdateCache, bn as TIP_ROTATION_INTERVAL_MS, c as disposeChildren, cn as appendStreamingArgsPreview, cr as log, d as isPlanExpandable, dn as isTodoItemShape, dr as isOrphanedToolCallError, en as SubagentSlots, er as normalizeWorkDir, f as MoonLoader, fn as parseStreamingArgs, fr as ErrorCodes, ft as handleFusionPlanCommand, gn as EMPTY_SESSION_HINT_URL, hn as truncateErrorMessage, i as buildRoleAdditionalText, it as isInternalMessage, j as langFromPath, jn as getKnowledgeStore, jt as toggleEmptySessionHint, k as renderDiffLinesClustered, kn as setExperimentalFlags, kt as isEmptySessionHintDismissed, l as hasDispose, ln as argsRecord, lr as resolveGlobalLogPath, mn as stringValue, mt as handlePlanCommand, n as clearEvalPanelState, nr as readSessionIndex, on as STATUS_BULLET, or as resolveScreamHome, ot as changeThinkingLevel, p as formatMemoryMemoForInjection, pn as serializeToolResultOutput, pr as SCREAM_ERROR_INFO, q as BREATHE_CYCLE_MS, qn as CLI_USER_AGENT_PRODUCT, qt as TERMINAL_FOCUS_OUT, r as openUrl, rr as removeSessionIndexEntry, sn as appendSessionHeaderHint, sr as flushDiagnosticLogs, st as getModelCycleLevel, t as dispatchInput, tr as appendSessionIndexEntry, u as isExpandable, un as formatErrorMessage, ur as isScreamError, v as selectUpdateTarget, vn as MAIN_AGENT_ID, w as getDaemonInstructions, wn as getNoActiveSessionMessage, x as appendJsonlLine, xn as getCtrlCHint, xt as refreshProviderBalance, y as refreshUpdateCache, yn as SESSION_TIPS, z as AssistantMessageComponent, zn as saveTuiConfig, zt as ENABLE_TERMINAL_FOCUS_REPORTING } from "./dispatch-
|
|
9
|
-
import { a as setLocale, i as getLocale, o as t } from "./text-input-dialog-
|
|
8
|
+
import { $n as encodeWorkDirKey, $t as lerpGradient, A as highlightLines, An as embeddingFailureDetail, At as isTurnElapsedEnabled, B as ActivityGroupComponent, Bn as detectShellEnvironment, Bt as ENABLE_TERMINAL_THEME_REPORTING, Cn as getLlmNotSetMessage, Ct as clearInfoPanelState, D as ToolCallComponent, Dn as sortSlashCommands, Dt as createEditorTheme, E as UserMessageComponent, En as BUILTIN_SLASH_COMMANDS, Et as resolveThemeSync, F as StatusMessageComponent, Fn as PULSE_WAVE_FRAMES, Ft as detectTerminalTheme, G as AgentGroupComponent, Gn as CLI_COMMAND_NAME, Gt as QUERY_TERMINAL_THEME, H as estimateTokens, Hn as getInputHistoryFile, Ht as OSC11_RESPONSE, I as replaceTabs, In as TuiConfigParseError, It as parseOsc11BackgroundTheme, J as getBreathingFrame, Jn as PRODUCT_NAME, Jt as TERMINAL_THEME_DARK, K as WelcomeComponent, Kn as CLI_UI_MODE, Kt as TERMINAL_FOCUS_IN, L as sanitizeShellOutput, Ln as TuiLikePreferencesSchema, Lt as DISABLE_TERMINAL_FOCUS_REPORTING, M as CachedContainer, Mn as hasEmbeddingModelCache, Mt as createThemeStyles, N as ThinkingComponent, Nn as startManualEmbeddingDownload, Nt as contrastTextHex, O as renderDiffLines, On as isExperimentalFlagEnabled, Ot as createMarkdownTheme, P as NoticeMessageComponent, Pn as PIXEL_PULSE_FRAMES, Pt as getColorPalette, Q as refineGoal, Qn as ScreamHarness, Qt as FooterComponent, R as SkillActivationComponent, Rn as loadTuiConfig, Rt as DISABLE_TERMINAL_THEME_REPORTING, S as readJsonlFile, Sn as getCtrlDHint, St as supportsBalance, Tn as buildSkillSlashCommands, U as getSharedSpeedTracker, Un as getLogDir, Ut as OSC11_RESPONSE_PREFIX, V as charsForTokenBudget, Vn as getDataDir, Vt as OSC11_QUERY, W as BackgroundAgentStatusComponent, Wn as detectInstallSource, Wt as OSC11_RESPONSE_PREFIX_NO_ESC, X as CompactionComponent, Xn as fetchCatalog, Xt as isBusy, Y as resetBreathingClock, Yn as DEFAULT_CATALOG_URL, Yt as TERMINAL_THEME_LIGHT, Z as clearGoalState, Zn as saveCatalogCache, Zt as isStreaming, _n as EXIT_CONFIRM_WINDOW_MS, a as syncDiagramCapabilityPrompt, an as printableChar, ar as isRealUserPrompt, at as toTerminalHyperlink, b as readUpdateCache, bn as TIP_ROTATION_INTERVAL_MS, c as disposeChildren, cn as appendStreamingArgsPreview, cr as log, d as isPlanExpandable, dn as isTodoItemShape, dr as isOrphanedToolCallError, en as SubagentSlots, er as normalizeWorkDir, f as MoonLoader, fn as parseStreamingArgs, fr as ErrorCodes, ft as handleFusionPlanCommand, gn as EMPTY_SESSION_HINT_URL, hn as truncateErrorMessage, i as buildRoleAdditionalText, it as isInternalMessage, j as langFromPath, jn as getKnowledgeStore, jt as toggleEmptySessionHint, k as renderDiffLinesClustered, kn as setExperimentalFlags, kt as isEmptySessionHintDismissed, l as hasDispose, ln as argsRecord, lr as resolveGlobalLogPath, mn as stringValue, mt as handlePlanCommand, n as clearEvalPanelState, nr as readSessionIndex, on as STATUS_BULLET, or as resolveScreamHome, ot as changeThinkingLevel, p as formatMemoryMemoForInjection, pn as serializeToolResultOutput, pr as SCREAM_ERROR_INFO, q as BREATHE_CYCLE_MS, qn as CLI_USER_AGENT_PRODUCT, qt as TERMINAL_FOCUS_OUT, r as openUrl, rr as removeSessionIndexEntry, sn as appendSessionHeaderHint, sr as flushDiagnosticLogs, st as getModelCycleLevel, t as dispatchInput, tr as appendSessionIndexEntry, u as isExpandable, un as formatErrorMessage, ur as isScreamError, v as selectUpdateTarget, vn as MAIN_AGENT_ID, w as getDaemonInstructions, wn as getNoActiveSessionMessage, x as appendJsonlLine, xn as getCtrlCHint, xt as refreshProviderBalance, y as refreshUpdateCache, yn as SESSION_TIPS, z as AssistantMessageComponent, zn as saveTuiConfig, zt as ENABLE_TERMINAL_FOCUS_REPORTING } from "./dispatch-BwKIIIVW.mjs";
|
|
9
|
+
import { a as setLocale, i as getLocale, o as t } from "./text-input-dialog-BoxTq4a3.mjs";
|
|
10
10
|
import { createRequire } from "node:module";
|
|
11
11
|
import { randomBytes, randomUUID, scryptSync, timingSafeEqual } from "node:crypto";
|
|
12
12
|
import { access, appendFile, chmod, mkdir, mkdtemp, readFile, readdir, realpath, rename, rm, stat, unlink, writeFile } from "node:fs/promises";
|
|
@@ -33,7 +33,7 @@ function optionalBuildString(value) {
|
|
|
33
33
|
return typeof value === "string" && value.length > 0 ? value : void 0;
|
|
34
34
|
}
|
|
35
35
|
const SCREAM_BUILD_INFO = {
|
|
36
|
-
version: optionalBuildString("0.17.
|
|
36
|
+
version: optionalBuildString("0.17.3"),
|
|
37
37
|
channel: optionalBuildString(""),
|
|
38
38
|
commit: optionalBuildString(""),
|
|
39
39
|
buildTarget: optionalBuildString("darwin-arm64")
|
|
@@ -14137,7 +14137,7 @@ var ScreamTUI = class {
|
|
|
14137
14137
|
const card = new OnboardingCardComponent({
|
|
14138
14138
|
colors: this.state.theme.colors,
|
|
14139
14139
|
onConfigure: () => {
|
|
14140
|
-
import("./dispatch-
|
|
14140
|
+
import("./dispatch-0a0n28ZL.mjs").then(({ handleConnectCommand }) => handleConnectCommand(this, "")).finally(() => {
|
|
14141
14141
|
this.restoreEditor();
|
|
14142
14142
|
onDone?.();
|
|
14143
14143
|
});
|
|
@@ -3,5 +3,5 @@ import { fileURLToPath as __cjsShimFileURLToPath } from 'node:url';
|
|
|
3
3
|
import { dirname as __cjsShimDirname } from 'node:path';
|
|
4
4
|
const __filename = __cjsShimFileURLToPath(import.meta.url);
|
|
5
5
|
const __dirname = __cjsShimDirname(__filename);
|
|
6
|
-
import { rn as handleConnectCommand } from "./dispatch-
|
|
6
|
+
import { rn as handleConnectCommand } from "./dispatch-BwKIIIVW.mjs";
|
|
7
7
|
export { handleConnectCommand };
|
|
@@ -6,7 +6,7 @@ const __dirname = __cjsShimDirname(__filename);
|
|
|
6
6
|
import { i as __require, o as __toESM, r as __exportAll, t as __commonJSMin } from "./chunk-D90kvbyJ.mjs";
|
|
7
7
|
import { A as classifyEmbeddingFailure, B as rankMemos, C as applyConsolidation, D as parseMemoryMemos, E as buildExitExtractionPrompt, F as createMemoryMemo, G as normalize, H as dirname$2, I as toSummary, J as resolve$2, K as parse$7, L as generateTags, M as createFastEmbedEngine, N as hasEmbeddingModelCache$1, O as stripMemoryTags, P as probeLocalEmbeddingSupport, R as normalizeTags, S as DreamTracker, T as EXIT_EXTRACTION_SYSTEM_PROMPT, U as isAbsolute$1, V as basename$1, W as join$1, a as isSupportedFile, b as sharedKnowledgeStoreReady, i as ingestFile, j as clearEmbeddingModelCache, k as MemoryMemoStore, q as relative$1, r as ingestDirectory, t as multiSearch, w as buildConsolidationPlan, y as sharedKnowledgeStore, z as buildProjectTagCloud } from "./src-BhZujafw.mjs";
|
|
8
8
|
import { t as require_base64_js } from "./base64-js-DzVmk6Nb.mjs";
|
|
9
|
-
import { a as setLocale, i as getLocale, n as assertScreamHostIdentity, o as t, r as createScreamDefaultHeaders, t as TextInputDialogComponent } from "./text-input-dialog-
|
|
9
|
+
import { a as setLocale, i as getLocale, n as assertScreamHostIdentity, o as t, r as createScreamDefaultHeaders, t as TextInputDialogComponent } from "./text-input-dialog-BoxTq4a3.mjs";
|
|
10
10
|
import { createRequire } from "node:module";
|
|
11
11
|
import { createHash, randomBytes, randomInt, randomUUID } from "node:crypto";
|
|
12
12
|
import * as fs$1 from "node:fs/promises";
|
|
@@ -54091,7 +54091,7 @@ async function loadConfig(screamHomeDir) {
|
|
|
54091
54091
|
url: normalizeUrl(urlRaw),
|
|
54092
54092
|
api_key: parsed.api_key,
|
|
54093
54093
|
model: parsed.model,
|
|
54094
|
-
size: typeof parsed.size === "string" && parsed.size.length > 0 ? parsed.size : "auto",
|
|
54094
|
+
size: typeof parsed.size === "string" && parsed.size.trim().length > 0 ? parsed.size.trim() : "auto",
|
|
54095
54095
|
...editUrlRaw.length > 0 ? { edit_url: normalizeUrl(editUrlRaw) } : {},
|
|
54096
54096
|
...editModelRaw.trim().length > 0 ? { edit_model: editModelRaw.trim() } : {}
|
|
54097
54097
|
};
|
|
@@ -54196,18 +54196,31 @@ async function assertOk(response) {
|
|
|
54196
54196
|
const detail = await readErrorBody(response);
|
|
54197
54197
|
throw new ApiError(`HTTP ${response.status}${detail.length > 0 ? `: ${detail}` : ""}`, response.status);
|
|
54198
54198
|
}
|
|
54199
|
+
/**
|
|
54200
|
+
* True for a wire string that actually carries data. Gateways routinely emit
|
|
54201
|
+
* empty placeholders — `{"b64_json":"","url":"https://…/x.png"}` — next to the
|
|
54202
|
+
* field holding the real image, so presence alone must never win: an empty
|
|
54203
|
+
* `b64_json` that outranks a populated `url` yields a zero-byte "success".
|
|
54204
|
+
*/
|
|
54205
|
+
function isUsableWireString(value) {
|
|
54206
|
+
return typeof value === "string" && value.trim().length > 0;
|
|
54207
|
+
}
|
|
54208
|
+
/** First usable image field of one object, base64 before URL. */
|
|
54209
|
+
function pickImageField(record) {
|
|
54210
|
+
if (isUsableWireString(record["b64_json"])) return { b64: record["b64_json"] };
|
|
54211
|
+
if (isUsableWireString(record["url"])) return { url: record["url"] };
|
|
54212
|
+
}
|
|
54199
54213
|
/** Pull the first image payload out of a parsed JSON body (three shapes). */
|
|
54200
54214
|
function extractImagePayload(body) {
|
|
54201
54215
|
if (typeof body !== "object" || body === null) return void 0;
|
|
54202
54216
|
const record = body;
|
|
54203
|
-
|
|
54204
|
-
if (
|
|
54217
|
+
const direct = pickImageField(record);
|
|
54218
|
+
if (direct !== void 0) return direct;
|
|
54205
54219
|
const data = record["data"];
|
|
54206
54220
|
if (Array.isArray(data)) for (const entry of data) {
|
|
54207
54221
|
if (typeof entry !== "object" || entry === null) continue;
|
|
54208
|
-
const
|
|
54209
|
-
if (
|
|
54210
|
-
if (typeof item["url"] === "string") return { url: item["url"] };
|
|
54222
|
+
const found = pickImageField(entry);
|
|
54223
|
+
if (found !== void 0) return found;
|
|
54211
54224
|
}
|
|
54212
54225
|
}
|
|
54213
54226
|
/** True when a parsed SSE event carries image payload (directly or nested). */
|
|
@@ -54313,10 +54326,69 @@ async function requestImage(plan, files, external) {
|
|
|
54313
54326
|
throw error;
|
|
54314
54327
|
}
|
|
54315
54328
|
}
|
|
54329
|
+
/** `data:image/png;base64,…` wrappers some gateways prepend to the payload. */
|
|
54330
|
+
const DATA_URL_PREFIX = /^data:image\/[a-z0-9.+-]+;base64,/i;
|
|
54331
|
+
/** Magic numbers of the formats an OpenAI-compatible image API can return. */
|
|
54332
|
+
function looksLikeImage(bytes) {
|
|
54333
|
+
const matchesAt = (offset, signature) => signature.every((byte, index) => bytes[offset + index] === byte);
|
|
54334
|
+
return matchesAt(0, [
|
|
54335
|
+
137,
|
|
54336
|
+
80,
|
|
54337
|
+
78,
|
|
54338
|
+
71
|
|
54339
|
+
]) || matchesAt(0, [
|
|
54340
|
+
255,
|
|
54341
|
+
216,
|
|
54342
|
+
255
|
|
54343
|
+
]) || matchesAt(0, [
|
|
54344
|
+
71,
|
|
54345
|
+
73,
|
|
54346
|
+
70,
|
|
54347
|
+
56
|
|
54348
|
+
]) || matchesAt(0, [66, 77]) || matchesAt(0, [
|
|
54349
|
+
73,
|
|
54350
|
+
73,
|
|
54351
|
+
42,
|
|
54352
|
+
0
|
|
54353
|
+
]) || matchesAt(0, [
|
|
54354
|
+
77,
|
|
54355
|
+
77,
|
|
54356
|
+
0,
|
|
54357
|
+
42
|
|
54358
|
+
]) || matchesAt(0, [
|
|
54359
|
+
82,
|
|
54360
|
+
73,
|
|
54361
|
+
70,
|
|
54362
|
+
70
|
|
54363
|
+
]) && matchesAt(8, [
|
|
54364
|
+
87,
|
|
54365
|
+
69,
|
|
54366
|
+
66,
|
|
54367
|
+
80
|
|
54368
|
+
]) || bytes.length > 12 && matchesAt(4, [
|
|
54369
|
+
102,
|
|
54370
|
+
116,
|
|
54371
|
+
121,
|
|
54372
|
+
112
|
|
54373
|
+
]);
|
|
54374
|
+
}
|
|
54375
|
+
/**
|
|
54376
|
+
* Last gate before anything reaches the disk: an empty or non-image payload
|
|
54377
|
+
* must fail loudly instead of being written as a `.png` and reported as a
|
|
54378
|
+
* successful generation.
|
|
54379
|
+
*/
|
|
54380
|
+
function assertImageBytes(bytes, origin) {
|
|
54381
|
+
if (bytes.length === 0) throw new ApiError(`The image API returned no image data (empty ${origin}).`);
|
|
54382
|
+
if (!looksLikeImage(bytes)) throw new ApiError(`The ${origin} is not an image (first bytes: ${Buffer.from(bytes.slice(0, 8)).toString("hex")}); check the endpoint URL and model in /config image.`);
|
|
54383
|
+
return bytes;
|
|
54384
|
+
}
|
|
54316
54385
|
async function payloadToBytes(payload, external) {
|
|
54317
54386
|
const nested = typeof payload === "object" && payload !== null && "result" in payload ? extractImagePayload(payload["result"]) : void 0;
|
|
54318
54387
|
const found = extractImagePayload(payload) ?? nested;
|
|
54319
|
-
if (found?.b64 !== void 0)
|
|
54388
|
+
if (found?.b64 !== void 0) {
|
|
54389
|
+
const encoded = found.b64.replace(DATA_URL_PREFIX, "");
|
|
54390
|
+
return assertImageBytes(Uint8Array.from(Buffer.from(encoded, "base64")), "b64_json payload");
|
|
54391
|
+
}
|
|
54320
54392
|
if (found?.url !== void 0) {
|
|
54321
54393
|
const controller = new AbortController();
|
|
54322
54394
|
const timeoutId = setTimeout(() => {
|
|
@@ -54330,7 +54402,7 @@ async function payloadToBytes(payload, external) {
|
|
|
54330
54402
|
try {
|
|
54331
54403
|
const response = await fetch(found.url, { signal: controller.signal });
|
|
54332
54404
|
if (!response.ok) throw new ApiError(`Image download failed: HTTP ${response.status}`, response.status);
|
|
54333
|
-
return new Uint8Array(await response.arrayBuffer());
|
|
54405
|
+
return assertImageBytes(new Uint8Array(await response.arrayBuffer()), `image download from ${found.url}`);
|
|
54334
54406
|
} finally {
|
|
54335
54407
|
clearTimeout(timeoutId);
|
|
54336
54408
|
external?.removeEventListener("abort", onExternalAbort);
|
|
@@ -54417,7 +54489,7 @@ var ImageGenerateTool = class {
|
|
|
54417
54489
|
output: error instanceof Error ? error.message : String(error)
|
|
54418
54490
|
};
|
|
54419
54491
|
}
|
|
54420
|
-
const size = args.size !== void 0 && args.size.length > 0 ? args.size : config.size;
|
|
54492
|
+
const size = args.size !== void 0 && args.size.trim().length > 0 ? args.size.trim() : config.size;
|
|
54421
54493
|
const explicitSize = size !== "auto" ? size : void 0;
|
|
54422
54494
|
const editModel = config.edit_model !== void 0 && config.edit_model.trim().length > 0 ? config.edit_model.trim() : config.model;
|
|
54423
54495
|
const editUrl = config.edit_url !== void 0 && config.edit_url.length > 0 ? config.edit_url : deriveEditUrl(config.url);
|
|
@@ -135490,7 +135562,7 @@ async function guidedGoalSetup(host) {
|
|
|
135490
135562
|
host.showNotice(t("goal.storm_breaker"), t("goal.conflict_loop"));
|
|
135491
135563
|
return;
|
|
135492
135564
|
}
|
|
135493
|
-
const { TextInputDialogComponent } = await import("./text-input-dialog-
|
|
135565
|
+
const { TextInputDialogComponent } = await import("./text-input-dialog-DQaJf2zB.mjs");
|
|
135494
135566
|
const initialDesc = await promptText(host, TextInputDialogComponent, {
|
|
135495
135567
|
title: t("goal.setup_title_initial"),
|
|
135496
135568
|
subtitle: t("goal.setup_desc_hint"),
|
|
@@ -135511,7 +135583,7 @@ async function guidedGoalSetup(host) {
|
|
|
135511
135583
|
await showGoalConfigWizard(host, session, confirmed.trim() || objective, false);
|
|
135512
135584
|
}
|
|
135513
135585
|
async function showGoalConfigWizard(host, session, objective, replace) {
|
|
135514
|
-
const { TextInputDialogComponent } = await import("./text-input-dialog-
|
|
135586
|
+
const { TextInputDialogComponent } = await import("./text-input-dialog-DQaJf2zB.mjs");
|
|
135515
135587
|
const turnInput = await promptNumber(host, TextInputDialogComponent, {
|
|
135516
135588
|
title: t("goal.wizard_title", { objective }),
|
|
135517
135589
|
subtitle: t("goal.budget_turns_hint"),
|
package/dist/main.mjs
CHANGED
|
@@ -6,7 +6,7 @@ const __dirname = __cjsShimDirname(__filename);
|
|
|
6
6
|
import "./suppress-sqlite-warning-C2VB0doZ.mjs";
|
|
7
7
|
//#region src/main.ts
|
|
8
8
|
try {
|
|
9
|
-
(await import("./app-
|
|
9
|
+
(await import("./app-XCsQ2EfW.mjs")).main();
|
|
10
10
|
} catch (error) {
|
|
11
11
|
process.stderr.write(`${error instanceof Error ? error.stack ?? error.message : String(error)}\n`);
|
|
12
12
|
process.exit(1);
|
|
@@ -513,7 +513,7 @@ const dictionaries = {
|
|
|
513
513
|
"image.error_empty_url": "生图 API 地址不能为空。",
|
|
514
514
|
"image.error_empty_key": "生图 API 密钥不能为空。",
|
|
515
515
|
"image.input_model": "输入生图模型 ID",
|
|
516
|
-
"image.model_hint": "
|
|
516
|
+
"image.model_hint": "回车使用默认模型(见输入框提示的模型 ID)",
|
|
517
517
|
"image.input_edit_url": "输入图生图 API 完整地址(可选)",
|
|
518
518
|
"image.edit_url_hint": "留空时:若主地址以 /images/generations 结尾,自动改用同路径 /images/edits",
|
|
519
519
|
"image.input_edit_model": "输入图生图模型 ID(可选)",
|
|
@@ -1820,7 +1820,7 @@ const dictionaries = {
|
|
|
1820
1820
|
"image.error_empty_url": "Image API URL cannot be empty.",
|
|
1821
1821
|
"image.error_empty_key": "Image API key cannot be empty.",
|
|
1822
1822
|
"image.input_model": "Enter image model ID",
|
|
1823
|
-
"image.model_hint": "Press Enter to keep the default
|
|
1823
|
+
"image.model_hint": "Press Enter to keep the default model (the ID shown in the field)",
|
|
1824
1824
|
"image.input_edit_url": "Enter the full image-edit URL (optional)",
|
|
1825
1825
|
"image.edit_url_hint": "When empty: if the main URL ends in /images/generations, the sibling /images/edits endpoint is used automatically",
|
|
1826
1826
|
"image.input_edit_model": "Enter image-edit model ID (optional)",
|
|
@@ -3,5 +3,5 @@ import { fileURLToPath as __cjsShimFileURLToPath } from 'node:url';
|
|
|
3
3
|
import { dirname as __cjsShimDirname } from 'node:path';
|
|
4
4
|
const __filename = __cjsShimFileURLToPath(import.meta.url);
|
|
5
5
|
const __dirname = __cjsShimDirname(__filename);
|
|
6
|
-
import { t as TextInputDialogComponent } from "./text-input-dialog-
|
|
6
|
+
import { t as TextInputDialogComponent } from "./text-input-dialog-BoxTq4a3.mjs";
|
|
7
7
|
export { TextInputDialogComponent };
|