@wrongstack/cli 1.1.6 → 1.1.8
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/{acp-CZBSFQB7.js → acp-DJWUTU5J.js} +2 -2
- package/dist/{auth-2ZG5DBHS.js → auth-XOJIPFFX.js} +2 -2
- package/dist/{chunk-UROB7MK5.js → chunk-BQ5OMSZG.js} +3 -2
- package/dist/{chunk-M7PSENGF.js → chunk-CL3BU45P.js} +5 -4
- package/dist/{chunk-H5DCQFUI.js → chunk-OCB4I4GQ.js} +4 -4
- package/dist/{chunk-W7X23HI6.js → chunk-V3AKAH25.js} +5 -5
- package/dist/{cli-context-6KS3HV5R.js → cli-context-F3B5TRZX.js} +36 -11
- package/dist/{cli-main-NF3YGDME.js → cli-main-MBWZX6PH.js} +22 -6
- package/dist/{execution-RVDUXLNT.js → execution-W3OWWXY7.js} +17 -8
- package/dist/index.js +5 -5
- package/dist/live-settings-input.d.ts +1 -0
- package/dist/short-circuit-flags-6LWKP4KP.js +11 -0
- package/dist/{subcommands-SKJPUJ7N.js → subcommands-SR4K73WA.js} +2 -2
- package/dist/{version-help-X6CC4CFY.js → version-help-MITOB3YK.js} +2 -2
- package/dist/vibeui-dist-OEPU6BOM.js +27 -0
- package/dist/vibeui-dist.d.ts +6 -0
- package/dist/webui-server/host-settings.d.ts +1 -1
- package/dist/webui-server/http-bridge.d.ts +1 -1
- package/dist/webui-server/instance-registration.d.ts +1 -1
- package/dist/{webui-server-6I6QOECV.js → webui-server-KREX7GYA.js} +8 -6
- package/dist/webui-server-options.d.ts +1 -1
- package/package.json +35 -34
- package/dist/short-circuit-flags-276OLPIN.js +0 -11
|
@@ -1124,7 +1124,7 @@ var acpCmd = async (args, deps) => {
|
|
|
1124
1124
|
const sub = args[0];
|
|
1125
1125
|
const loginIndex = sub === "auth" ? 0 : (sub === "server" || sub === "serve") && args[1] === "auth" ? 1 : -1;
|
|
1126
1126
|
if (loginIndex >= 0) {
|
|
1127
|
-
const { authCmd } = await import("./auth-
|
|
1127
|
+
const { authCmd } = await import("./auth-XOJIPFFX.js");
|
|
1128
1128
|
return authCmd(args.slice(loginIndex + 1), deps);
|
|
1129
1129
|
}
|
|
1130
1130
|
if (!sub || sub === "server" || sub === "serve") {
|
|
@@ -1205,4 +1205,4 @@ parallel:
|
|
|
1205
1205
|
export {
|
|
1206
1206
|
acpCmd
|
|
1207
1207
|
};
|
|
1208
|
-
//# sourceMappingURL=acp-
|
|
1208
|
+
//# sourceMappingURL=acp-DJWUTU5J.js.map
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
import "./chunk-BCKVNORU.js";
|
|
45
45
|
import {
|
|
46
46
|
parseAuthFlags
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-CL3BU45P.js";
|
|
48
48
|
import "./chunk-W23PY4IJ.js";
|
|
49
49
|
|
|
50
50
|
// src/subcommands/handlers/auth.ts
|
|
@@ -745,4 +745,4 @@ async function runAuthRemove(deps, providerId) {
|
|
|
745
745
|
export {
|
|
746
746
|
authCmd
|
|
747
747
|
};
|
|
748
|
-
//# sourceMappingURL=auth-
|
|
748
|
+
//# sourceMappingURL=auth-XOJIPFFX.js.map
|
|
@@ -33,7 +33,7 @@ var helpCmd = async (_args, deps) => {
|
|
|
33
33
|
["wstack", "Interactive session (REPL or TUI, picked at launch)"],
|
|
34
34
|
['wstack "<task>"', 'Run one task and exit (also: --prompt "<task>")'],
|
|
35
35
|
["wstack quick", "Straight into the TUI with saved defaults"],
|
|
36
|
-
["wstack webui | simpleui", "Browser UI / minimal chat
|
|
36
|
+
["wstack webui | simpleui | vibeui", "Browser UI / minimal chat / focused coding workspace"],
|
|
37
37
|
["wstack desktop", "WrongStack Desktop (requires @wrongstack/desktop)"],
|
|
38
38
|
["wstack hq", "HQ command center across projects and machines"],
|
|
39
39
|
["wstack remote <user@host:/path>", "Run on a remote machine over SSH; WebUI tunneled here"],
|
|
@@ -129,6 +129,7 @@ var helpCmd = async (_args, deps) => {
|
|
|
129
129
|
"--simpleui [same flags] [--full-auto]",
|
|
130
130
|
"Minimal chat UI; --full-auto = YOLO + autonomy for this run only"
|
|
131
131
|
],
|
|
132
|
+
["--vibeui [same browser flags]", "Focused coding workspace (default port 3476)"],
|
|
132
133
|
[
|
|
133
134
|
"--hq [--host <h>] [--port <n>] [--password <p>] [--tunnel] [--open]",
|
|
134
135
|
"HQ server (+ --hq-allowlist, --hq-public-url)"
|
|
@@ -158,4 +159,4 @@ export {
|
|
|
158
159
|
versionCmd,
|
|
159
160
|
helpCmd
|
|
160
161
|
};
|
|
161
|
-
//# sourceMappingURL=chunk-
|
|
162
|
+
//# sourceMappingURL=chunk-BQ5OMSZG.js.map
|
|
@@ -54,6 +54,7 @@ var BOOLEAN_FLAGS = /* @__PURE__ */ new Set([
|
|
|
54
54
|
"webui",
|
|
55
55
|
"webui-session-child",
|
|
56
56
|
"simpleui",
|
|
57
|
+
"vibeui",
|
|
57
58
|
"full-auto",
|
|
58
59
|
"desktop",
|
|
59
60
|
"open",
|
|
@@ -205,11 +206,11 @@ function parseArgs(argv) {
|
|
|
205
206
|
return { flags, positional };
|
|
206
207
|
}
|
|
207
208
|
function normalizeSurfaceAliases(flags, positional) {
|
|
208
|
-
if (flags["simpleui"]) flags["webui"] = true;
|
|
209
|
+
if (flags["simpleui"] || flags["vibeui"]) flags["webui"] = true;
|
|
209
210
|
if (flags["webui-session-child"]) flags["webui"] = true;
|
|
210
211
|
const first = positional[0];
|
|
211
|
-
if (first === "simpleui") {
|
|
212
|
-
flags[
|
|
212
|
+
if (first === "simpleui" || first === "vibeui") {
|
|
213
|
+
flags[first] = true;
|
|
213
214
|
flags["webui"] = true;
|
|
214
215
|
positional.splice(0, 1);
|
|
215
216
|
return;
|
|
@@ -313,4 +314,4 @@ export {
|
|
|
313
314
|
parseAuthFlags,
|
|
314
315
|
parseSpawnFlags
|
|
315
316
|
};
|
|
316
|
-
//# sourceMappingURL=chunk-
|
|
317
|
+
//# sourceMappingURL=chunk-CL3BU45P.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseArgs
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CL3BU45P.js";
|
|
4
4
|
import {
|
|
5
5
|
helpCmd,
|
|
6
6
|
versionCmd
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-BQ5OMSZG.js";
|
|
8
8
|
|
|
9
9
|
// src/boot/short-circuit-flags.ts
|
|
10
10
|
async function handleHelpVersionShortCircuit(argv) {
|
|
@@ -22,7 +22,7 @@ async function handleHelpVersionShortCircuit(argv) {
|
|
|
22
22
|
}
|
|
23
23
|
if (earlyFlags["help"] === true) {
|
|
24
24
|
if (positional.length > 0) {
|
|
25
|
-
const { subcommandNames } = await import("./subcommands-
|
|
25
|
+
const { subcommandNames } = await import("./subcommands-SR4K73WA.js");
|
|
26
26
|
if (subcommandNames.includes(positional[0])) {
|
|
27
27
|
const first = positional[0];
|
|
28
28
|
const deep = positional[1];
|
|
@@ -43,4 +43,4 @@ async function handleHelpVersionShortCircuit(argv) {
|
|
|
43
43
|
export {
|
|
44
44
|
handleHelpVersionShortCircuit
|
|
45
45
|
};
|
|
46
|
-
//# sourceMappingURL=chunk-
|
|
46
|
+
//# sourceMappingURL=chunk-OCB4I4GQ.js.map
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
var loaders = {
|
|
4
4
|
automation: async () => (await import("./automation-O7ZRZSFS.js")).automationCmd,
|
|
5
5
|
sandbox: async () => (await import("./sandbox-EZQ76MNY.js")).sandboxCmd,
|
|
6
|
-
acp: async () => (await import("./acp-
|
|
6
|
+
acp: async () => (await import("./acp-DJWUTU5J.js")).acpCmd,
|
|
7
7
|
init: async () => (await import("./init-5PLABNLR.js")).initCmd,
|
|
8
|
-
auth: async () => (await import("./auth-
|
|
8
|
+
auth: async () => (await import("./auth-XOJIPFFX.js")).authCmd,
|
|
9
9
|
update: async () => (await import("./update-54W7GUS5.js")).updateCmd,
|
|
10
10
|
remote: async () => (await import("./remote-AKKRJEHK.js")).remoteCmd,
|
|
11
11
|
sessions: async () => (await import("./sessions-config-7MK742OW.js")).sessionsCmd,
|
|
@@ -29,8 +29,8 @@ var loaders = {
|
|
|
29
29
|
"proxy-status": async () => (await import("./diag-doctor-5SVYK2DR.js")).proxyCmd,
|
|
30
30
|
export: async () => (await import("./export-W27PTU6Y.js")).exportCmd,
|
|
31
31
|
usage: async () => (await import("./plugin-usage-UWKYMNQU.js")).usageCmd,
|
|
32
|
-
version: async () => (await import("./version-help-
|
|
33
|
-
help: async () => (await import("./version-help-
|
|
32
|
+
version: async () => (await import("./version-help-MITOB3YK.js")).versionCmd,
|
|
33
|
+
help: async () => (await import("./version-help-MITOB3YK.js")).helpCmd,
|
|
34
34
|
projects: async () => (await import("./projects-FWRJHW3S.js")).projectsCmd,
|
|
35
35
|
modeldiag: async () => (await import("./modeldiag-5PBB777J.js")).modeldiagCmd,
|
|
36
36
|
quick: async () => (await import("./quick-NPC3N3ZX.js")).quickCmd,
|
|
@@ -58,4 +58,4 @@ export {
|
|
|
58
58
|
subcommands,
|
|
59
59
|
subcommandNames
|
|
60
60
|
};
|
|
61
|
-
//# sourceMappingURL=chunk-
|
|
61
|
+
//# sourceMappingURL=chunk-V3AKAH25.js.map
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
} from "./chunk-FUJHWQV4.js";
|
|
23
23
|
import {
|
|
24
24
|
handleHelpVersionShortCircuit
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-OCB4I4GQ.js";
|
|
26
26
|
import {
|
|
27
27
|
fmtTok,
|
|
28
28
|
patchConfig
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
} from "./chunk-NL2ABOAS.js";
|
|
33
33
|
import {
|
|
34
34
|
subcommands
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-V3AKAH25.js";
|
|
36
36
|
import {
|
|
37
37
|
renderDeepHelp,
|
|
38
38
|
renderFocusedHelp
|
|
@@ -100,7 +100,7 @@ import {
|
|
|
100
100
|
} from "./chunk-CVVQ5NCN.js";
|
|
101
101
|
import {
|
|
102
102
|
parseArgs
|
|
103
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-CL3BU45P.js";
|
|
104
104
|
import {
|
|
105
105
|
ACP_LEADER_PROVIDER_ID
|
|
106
106
|
} from "./chunk-X4DEQLAZ.js";
|
|
@@ -108,7 +108,7 @@ import "./chunk-H53EXXAU.js";
|
|
|
108
108
|
import {
|
|
109
109
|
applyAsciiMode
|
|
110
110
|
} from "./chunk-UVF3BGET.js";
|
|
111
|
-
import "./chunk-
|
|
111
|
+
import "./chunk-BQ5OMSZG.js";
|
|
112
112
|
import {
|
|
113
113
|
CLI_VERSION
|
|
114
114
|
} from "./chunk-HKMOIIPQ.js";
|
|
@@ -364,6 +364,7 @@ import { color, isStdinTTY, setRawMode } from "@wrongstack/core/utils";
|
|
|
364
364
|
var DEFAULT_PORTS = {
|
|
365
365
|
webui: 3456,
|
|
366
366
|
simpleui: 3466,
|
|
367
|
+
vibeui: 3476,
|
|
367
368
|
hq: DEFAULT_PORT
|
|
368
369
|
};
|
|
369
370
|
var MODE_OPTIONS = [
|
|
@@ -401,6 +402,13 @@ var MODE_OPTIONS = [
|
|
|
401
402
|
label: "Desktop",
|
|
402
403
|
hint: "Electron app (alias: --desktop)",
|
|
403
404
|
icon: "\u{1F5A5}"
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
key: 6,
|
|
408
|
+
mode: "vibeui",
|
|
409
|
+
label: "VibeUI",
|
|
410
|
+
hint: `focused coding workspace (port ${DEFAULT_PORTS.vibeui})`,
|
|
411
|
+
icon: "\u2726"
|
|
404
412
|
}
|
|
405
413
|
];
|
|
406
414
|
var MENU_TIMEOUT_MS = 8e3;
|
|
@@ -564,6 +572,7 @@ function shouldSkipMenu(argv, flags, positional) {
|
|
|
564
572
|
if (flags["webui"] === true) return true;
|
|
565
573
|
if (flags["webui-session-child"] === true) return true;
|
|
566
574
|
if (flags["simpleui"] === true) return true;
|
|
575
|
+
if (flags["vibeui"] === true) return true;
|
|
567
576
|
if (flags["hq"] === true) return true;
|
|
568
577
|
if (flags["desktop"] === true) return true;
|
|
569
578
|
if (flags["no-interactive"] === true) return true;
|
|
@@ -715,6 +724,8 @@ function describeMode(mode) {
|
|
|
715
724
|
return "WebUI";
|
|
716
725
|
case "simpleui":
|
|
717
726
|
return "SimpleUI";
|
|
727
|
+
case "vibeui":
|
|
728
|
+
return "VibeUI";
|
|
718
729
|
case "hq":
|
|
719
730
|
return "HQ";
|
|
720
731
|
case "desktop":
|
|
@@ -741,6 +752,11 @@ function applyLaunchMenuToArgv(argv, result) {
|
|
|
741
752
|
if (typeof result.host === "string") out.push(`--host=${result.host}`);
|
|
742
753
|
out.push("--simpleui");
|
|
743
754
|
return out;
|
|
755
|
+
case "vibeui":
|
|
756
|
+
if (typeof result.port === "number") out.push(`--port=${result.port}`);
|
|
757
|
+
if (typeof result.host === "string") out.push(`--host=${result.host}`);
|
|
758
|
+
out.push("--vibeui");
|
|
759
|
+
return out;
|
|
744
760
|
case "hq":
|
|
745
761
|
if (typeof result.port === "number") out.push(`--port=${result.port}`);
|
|
746
762
|
if (typeof result.host === "string") out.push(`--host=${result.host}`);
|
|
@@ -1230,7 +1246,14 @@ async function resolveAppendedSystemPrompt(flags, cwd) {
|
|
|
1230
1246
|
// src/boot/config-backup-recovery.ts
|
|
1231
1247
|
import * as fs3 from "node:fs/promises";
|
|
1232
1248
|
import * as path5 from "node:path";
|
|
1233
|
-
import {
|
|
1249
|
+
import {
|
|
1250
|
+
atomicWrite as atomicWrite2,
|
|
1251
|
+
backupConfigFile,
|
|
1252
|
+
color as color5,
|
|
1253
|
+
configSlug,
|
|
1254
|
+
safeProfileName,
|
|
1255
|
+
toErrorMessage
|
|
1256
|
+
} from "@wrongstack/core/utils";
|
|
1234
1257
|
function isRecord(value) {
|
|
1235
1258
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
1236
1259
|
}
|
|
@@ -1248,9 +1271,7 @@ async function defaultProfileProvidersAreEmpty(profilePath) {
|
|
|
1248
1271
|
}
|
|
1249
1272
|
}
|
|
1250
1273
|
function profileSnapshotTimestamp(fileName, fallback) {
|
|
1251
|
-
const match =
|
|
1252
|
-
fileName
|
|
1253
|
-
);
|
|
1274
|
+
const match = /-(\d{4})-(\d{2})-(\d{2})T(\d{2})-(\d{2})-(\d{2})-(\d{3})\.json$/i.exec(fileName);
|
|
1254
1275
|
if (!match) return fallback;
|
|
1255
1276
|
const [, year, month, day, hour, minute, second, millisecond] = match;
|
|
1256
1277
|
return Date.UTC(
|
|
@@ -1265,9 +1286,13 @@ function profileSnapshotTimestamp(fileName, fallback) {
|
|
|
1265
1286
|
}
|
|
1266
1287
|
async function findLatestProviderBackup(globalRoot, profileName = "default") {
|
|
1267
1288
|
const directory = path5.join(globalRoot, "config-history");
|
|
1268
|
-
const
|
|
1289
|
+
const prefix = configSlug(
|
|
1290
|
+
path5.join(globalRoot, "profiles", safeProfileName(profileName), "config.json"),
|
|
1291
|
+
globalRoot
|
|
1292
|
+
);
|
|
1293
|
+
const escapedPrefix = prefix.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
1269
1294
|
const filePattern = new RegExp(
|
|
1270
|
-
|
|
1295
|
+
`^${escapedPrefix}-\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}-\\d{3}\\.json$`,
|
|
1271
1296
|
"i"
|
|
1272
1297
|
);
|
|
1273
1298
|
const candidates = [];
|
|
@@ -3639,4 +3664,4 @@ async function initializeCli(argv, options = {}) {
|
|
|
3639
3664
|
export {
|
|
3640
3665
|
initializeCli
|
|
3641
3666
|
};
|
|
3642
|
-
//# sourceMappingURL=cli-context-
|
|
3667
|
+
//# sourceMappingURL=cli-context-F3B5TRZX.js.map
|
|
@@ -192,7 +192,7 @@ import {
|
|
|
192
192
|
} from "./chunk-BCKVNORU.js";
|
|
193
193
|
import {
|
|
194
194
|
parseSpawnFlags
|
|
195
|
-
} from "./chunk-
|
|
195
|
+
} from "./chunk-CL3BU45P.js";
|
|
196
196
|
import {
|
|
197
197
|
ACP_LEADER_PROVIDER_ID,
|
|
198
198
|
acpLeaderSessionAgent,
|
|
@@ -10117,6 +10117,17 @@ function emptySessionState(heartbeatIntervalMs) {
|
|
|
10117
10117
|
stopAfterTaskIds: /* @__PURE__ */ new Set()
|
|
10118
10118
|
};
|
|
10119
10119
|
}
|
|
10120
|
+
function logShadowFailure(event, sessionId, error) {
|
|
10121
|
+
console.warn(
|
|
10122
|
+
JSON.stringify({
|
|
10123
|
+
level: "warn",
|
|
10124
|
+
event: `fleet.${event}`,
|
|
10125
|
+
sessionId,
|
|
10126
|
+
message: error instanceof Error ? error.message : String(error),
|
|
10127
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
10128
|
+
})
|
|
10129
|
+
);
|
|
10130
|
+
}
|
|
10120
10131
|
function isDisposable(state) {
|
|
10121
10132
|
return state.agentId === null && state.observedWorkDepth === 0 && state.autoStartSuppressions === 0 && !state.passInFlight && state.queuedProblem === null && state.outstandingTaskIds.size === 0 && state.stopAfterTaskIds.size === 0;
|
|
10122
10133
|
}
|
|
@@ -10197,7 +10208,10 @@ var HostShadowManager = class {
|
|
|
10197
10208
|
const state = this.peek(sessionId);
|
|
10198
10209
|
state?.outstandingTaskIds.delete(taskId);
|
|
10199
10210
|
if (state?.stopAfterTaskIds.delete(taskId)) {
|
|
10200
|
-
|
|
10211
|
+
const owner = this.resolve(sessionId);
|
|
10212
|
+
void this.stopShadowAfterTask(subagentId, owner).catch(
|
|
10213
|
+
(error) => logShadowFailure("shadow_stop_failed", owner, error)
|
|
10214
|
+
);
|
|
10201
10215
|
}
|
|
10202
10216
|
}
|
|
10203
10217
|
armIfNeeded() {
|
|
@@ -10304,7 +10318,9 @@ var HostShadowManager = class {
|
|
|
10304
10318
|
requestShadowPass(reason, sessionId) {
|
|
10305
10319
|
const id = this.resolve(sessionId);
|
|
10306
10320
|
queueMicrotask(() => {
|
|
10307
|
-
void this.runShadowPass(reason, id)
|
|
10321
|
+
void this.runShadowPass(reason, id).catch(
|
|
10322
|
+
(error) => logShadowFailure("shadow_pass_failed", id, error)
|
|
10323
|
+
);
|
|
10308
10324
|
});
|
|
10309
10325
|
}
|
|
10310
10326
|
async runShadowPass(reason, sessionId) {
|
|
@@ -41199,7 +41215,7 @@ function setupCliHeapWatchdog({
|
|
|
41199
41215
|
const hqSnapshot = brainMailbox.getHqSnapshotStats();
|
|
41200
41216
|
const kanbanSync = hqPublisherRef.getKanbanSyncStats?.();
|
|
41201
41217
|
return {
|
|
41202
|
-
surface: flags["simpleui"] ? "simpleui" : flags["webui"] ? "webui" : tuiOwnsScreen ? "tui" : "cli",
|
|
41218
|
+
surface: flags["vibeui"] ? "vibeui" : flags["simpleui"] ? "simpleui" : flags["webui"] ? "webui" : tuiOwnsScreen ? "tui" : "cli",
|
|
41203
41219
|
sessionId: context.session.id,
|
|
41204
41220
|
messages: context.state.messages.length,
|
|
41205
41221
|
messageEstimatedTokens: context.state.messages.reduce(
|
|
@@ -43444,7 +43460,7 @@ async function runCliExecution(params) {
|
|
|
43444
43460
|
governanceHandle,
|
|
43445
43461
|
setConfig
|
|
43446
43462
|
} = params;
|
|
43447
|
-
const { execute } = await import("./execution-
|
|
43463
|
+
const { execute } = await import("./execution-W3OWWXY7.js");
|
|
43448
43464
|
return execute(
|
|
43449
43465
|
toExecuteDeps({
|
|
43450
43466
|
core: {
|
|
@@ -43865,4 +43881,4 @@ export {
|
|
|
43865
43881
|
CLI_VERSION,
|
|
43866
43882
|
runInteractive
|
|
43867
43883
|
};
|
|
43868
|
-
//# sourceMappingURL=cli-main-
|
|
43884
|
+
//# sourceMappingURL=cli-main-MBWZX6PH.js.map
|
|
@@ -3247,6 +3247,7 @@ function readTuiSettings(configStore) {
|
|
|
3247
3247
|
breakerEnabled: cfg.circuitBreaker?.enabled === true,
|
|
3248
3248
|
breakerAutoKillResetMs: cfg.circuitBreaker?.autoKillResetMs ?? 6e4,
|
|
3249
3249
|
showModelReasoning: autonomy?.showModelReasoning ?? false,
|
|
3250
|
+
selectionMode: autonomy?.selectionMode === "text" ? "text" : "block",
|
|
3250
3251
|
toolResultViewMode: autonomy?.toolResultViewMode === "minimal" || autonomy?.toolResultViewMode === "full" ? autonomy.toolResultViewMode : "normal",
|
|
3251
3252
|
showAgentSwarmPanel: coerceAgentSwarmMode(autonomy?.showAgentSwarmPanel),
|
|
3252
3253
|
showSidebar: autonomy?.showSidebar ?? true,
|
|
@@ -3304,7 +3305,7 @@ function createSettingsAdapter(ctx) {
|
|
|
3304
3305
|
nextSystemPromptVariant = s.nextSystemPromptVariant;
|
|
3305
3306
|
}
|
|
3306
3307
|
}
|
|
3307
|
-
if (s.mode !== void 0 || s.delayMs !== void 0 || s.titleAnimation !== void 0 || s.yolo !== void 0 || s.fleetChatVerbosity !== void 0 || s.chime !== void 0 || s.confirmExit !== void 0 || s.mouseMode !== void 0 || s.featureMcp !== void 0 || s.featurePlugins !== void 0 || s.featureMemory !== void 0 || s.featureSkills !== void 0 || s.featureModelsRegistry !== void 0 || s.featureToolCoach !== void 0 || s.featureTokenSaving !== void 0 || s.allowOutsideProjectRoot !== void 0 || s.contextAutoCompact !== void 0 || s.contextStrategy !== void 0 || s.contextMode !== void 0 || s.maxConcurrent !== void 0 || s.logLevel !== void 0 || s.auditLevel !== void 0 || s.indexOnStart !== void 0 || s.maxIterations !== void 0 || s.multiDiffSummaryThreshold !== void 0 || s.nextStepsTool !== void 0 || s.nextStepsRequired !== void 0 || s.rememberStartupChoices !== void 0 || s.restrictFsToRoot !== void 0 || s.nextPrediction !== void 0 || s.debugStream !== void 0 || s.shellBangWarningDontShowAgain !== void 0 || s.configScope !== void 0 || s.enhanceDelayMs !== void 0 || s.enhanceEnabled !== void 0 || s.preRefineSeconds !== void 0 || s.enhanceLanguage !== void 0 || s.midRunSendPicker !== void 0 || s.statuslineMode !== void 0 || s.thinkingWord !== void 0 || s.animationStyle !== void 0 || s.autonomyNextPrompt !== void 0 || s.autoProceedMaxIterations !== void 0 || s.reasoningMode !== void 0 || s.reasoningEffort !== void 0 || s.reasoningPreserve !== void 0 || s.cacheTtl !== void 0 || s.breakerEnabled !== void 0 || s.breakerAutoKillResetMs !== void 0 || s.showModelReasoning !== void 0 || s.toolResultViewMode !== void 0 || s.showAgentSwarmPanel !== void 0 || s.showSidebar !== void 0 || s.panelPositions !== void 0 || s.lastSettingsField !== void 0 || s.showSageMemoryInject !== void 0 || s.sageMemoryInjectThreshold !== void 0 || s.readSymbols !== void 0 || // WrongProxy / WrongTrace: gate the persisted-section write on
|
|
3308
|
+
if (s.mode !== void 0 || s.delayMs !== void 0 || s.titleAnimation !== void 0 || s.yolo !== void 0 || s.fleetChatVerbosity !== void 0 || s.chime !== void 0 || s.confirmExit !== void 0 || s.mouseMode !== void 0 || s.featureMcp !== void 0 || s.featurePlugins !== void 0 || s.featureMemory !== void 0 || s.featureSkills !== void 0 || s.featureModelsRegistry !== void 0 || s.featureToolCoach !== void 0 || s.featureTokenSaving !== void 0 || s.allowOutsideProjectRoot !== void 0 || s.contextAutoCompact !== void 0 || s.contextStrategy !== void 0 || s.contextMode !== void 0 || s.maxConcurrent !== void 0 || s.logLevel !== void 0 || s.auditLevel !== void 0 || s.indexOnStart !== void 0 || s.maxIterations !== void 0 || s.multiDiffSummaryThreshold !== void 0 || s.nextStepsTool !== void 0 || s.nextStepsRequired !== void 0 || s.rememberStartupChoices !== void 0 || s.restrictFsToRoot !== void 0 || s.nextPrediction !== void 0 || s.debugStream !== void 0 || s.shellBangWarningDontShowAgain !== void 0 || s.configScope !== void 0 || s.enhanceDelayMs !== void 0 || s.enhanceEnabled !== void 0 || s.preRefineSeconds !== void 0 || s.enhanceLanguage !== void 0 || s.midRunSendPicker !== void 0 || s.statuslineMode !== void 0 || s.thinkingWord !== void 0 || s.animationStyle !== void 0 || s.autonomyNextPrompt !== void 0 || s.autoProceedMaxIterations !== void 0 || s.reasoningMode !== void 0 || s.reasoningEffort !== void 0 || s.reasoningPreserve !== void 0 || s.cacheTtl !== void 0 || s.breakerEnabled !== void 0 || s.breakerAutoKillResetMs !== void 0 || s.showModelReasoning !== void 0 || s.toolResultViewMode !== void 0 || s.selectionMode !== void 0 || s.showAgentSwarmPanel !== void 0 || s.showSidebar !== void 0 || s.panelPositions !== void 0 || s.lastSettingsField !== void 0 || s.showSageMemoryInject !== void 0 || s.sageMemoryInjectThreshold !== void 0 || s.readSymbols !== void 0 || // WrongProxy / WrongTrace: gate the persisted-section write on
|
|
3308
3309
|
// either key being present in the live patch. Without this, a
|
|
3309
3310
|
// picker toggle round-trip would silently no-op the persistence
|
|
3310
3311
|
// layer (the runtime probe would never read the change).
|
|
@@ -3351,6 +3352,7 @@ function createSettingsAdapter(ctx) {
|
|
|
3351
3352
|
autonomy.showModelReasoning = s.showModelReasoning;
|
|
3352
3353
|
if (s.toolResultViewMode !== void 0)
|
|
3353
3354
|
autonomy.toolResultViewMode = s.toolResultViewMode;
|
|
3355
|
+
if (s.selectionMode !== void 0) autonomy.selectionMode = s.selectionMode;
|
|
3354
3356
|
if (s.showAgentSwarmPanel !== void 0)
|
|
3355
3357
|
autonomy.showAgentSwarmPanel = s.showAgentSwarmPanel;
|
|
3356
3358
|
if (s.showSidebar !== void 0) autonomy.showSidebar = s.showSidebar;
|
|
@@ -6836,10 +6838,11 @@ async function runWebUIDispatch(ctx) {
|
|
|
6836
6838
|
} = ctx;
|
|
6837
6839
|
const isSessionChild = Boolean(webuiSessionChild);
|
|
6838
6840
|
const isSimpleUi = !isSessionChild && flags["simpleui"] === true;
|
|
6841
|
+
const isVibeUi = !isSessionChild && flags["vibeui"] === true;
|
|
6839
6842
|
agent.disableInteractiveConfirmation();
|
|
6840
6843
|
confirmAcpLeaderThroughEvents();
|
|
6841
6844
|
renderer.setSilent(true);
|
|
6842
|
-
const { runWebUI } = await import("./webui-server-
|
|
6845
|
+
const { runWebUI } = await import("./webui-server-KREX7GYA.js");
|
|
6843
6846
|
const flagValue = (names) => {
|
|
6844
6847
|
for (const name of names) {
|
|
6845
6848
|
if (!Object.hasOwn(flags, name)) continue;
|
|
@@ -6884,7 +6887,7 @@ async function runWebUIDispatch(ctx) {
|
|
|
6884
6887
|
let frontendDistDir;
|
|
6885
6888
|
try {
|
|
6886
6889
|
webuiHost = webuiSessionChild?.host ?? flagValue(["webui-host", "host"]) ?? process.env["WEBUI_HOST"] ?? process.env["WS_HOST"] ?? "127.0.0.1";
|
|
6887
|
-
const defaultPort = isSimpleUi ? 3466 : 3456;
|
|
6890
|
+
const defaultPort = isVibeUi ? 3476 : isSimpleUi ? 3466 : 3456;
|
|
6888
6891
|
webuiPort = webuiSessionChild?.port ?? parsePort(
|
|
6889
6892
|
flagValue(["webui-port", "http-port", "port", "ws-port"]) ?? process.env["WEBUI_PORT"] ?? process.env["PORT"] ?? process.env["WS_PORT"],
|
|
6890
6893
|
defaultPort,
|
|
@@ -6898,6 +6901,10 @@ async function runWebUIDispatch(ctx) {
|
|
|
6898
6901
|
const { ensureSimpleUiDistDir } = await import("./simpleui-dist-EE3TJRBG.js");
|
|
6899
6902
|
frontendDistDir = await ensureSimpleUiDistDir();
|
|
6900
6903
|
}
|
|
6904
|
+
if (isVibeUi) {
|
|
6905
|
+
const { resolveVibeUiDistDir } = await import("./vibeui-dist-OEPU6BOM.js");
|
|
6906
|
+
frontendDistDir = resolveVibeUiDistDir();
|
|
6907
|
+
}
|
|
6901
6908
|
} catch (err) {
|
|
6902
6909
|
if (webuiSessionChild) {
|
|
6903
6910
|
await writeWebuiSessionChildError(webuiSessionChild.readyFile, {
|
|
@@ -6918,7 +6925,7 @@ async function runWebUIDispatch(ctx) {
|
|
|
6918
6925
|
events,
|
|
6919
6926
|
statusTracker,
|
|
6920
6927
|
session,
|
|
6921
|
-
surface: isSimpleUi ? "simpleui" : "webui",
|
|
6928
|
+
surface: isVibeUi ? "vibeui" : isSimpleUi ? "simpleui" : "webui",
|
|
6922
6929
|
host: webuiHost,
|
|
6923
6930
|
port: webuiPort,
|
|
6924
6931
|
frontendDistDir,
|
|
@@ -7025,7 +7032,7 @@ async function runWebUIDispatch(ctx) {
|
|
|
7025
7032
|
}).catch(() => void 0);
|
|
7026
7033
|
return;
|
|
7027
7034
|
}
|
|
7028
|
-
const surface = isSimpleUi ? "SimpleUI" : "WebUI";
|
|
7035
|
+
const surface = isVibeUi ? "VibeUI" : isSimpleUi ? "SimpleUI" : "WebUI";
|
|
7029
7036
|
renderer.writeInfo(
|
|
7030
7037
|
` \u2726 ${terminalText(surface, "success", { bold: true })} ${terminalText("running \u2192", "muted")} ${terminalLink(url)}`
|
|
7031
7038
|
);
|
|
@@ -7057,7 +7064,9 @@ async function runWebUIDispatch(ctx) {
|
|
|
7057
7064
|
renderer.setSilent(false);
|
|
7058
7065
|
renderer.write("\n");
|
|
7059
7066
|
renderer.writeInfo(
|
|
7060
|
-
color10.yellow(
|
|
7067
|
+
color10.yellow(
|
|
7068
|
+
` Shutting down ${isVibeUi ? "VibeUI" : isSimpleUi ? "SimpleUI" : "WebUI"} server\u2026`
|
|
7069
|
+
)
|
|
7061
7070
|
);
|
|
7062
7071
|
resolve5(0);
|
|
7063
7072
|
}).catch((err) => {
|
|
@@ -7074,7 +7083,7 @@ async function runWebUIDispatch(ctx) {
|
|
|
7074
7083
|
renderer.setSilent(false);
|
|
7075
7084
|
renderer.writeInfo(
|
|
7076
7085
|
color10.red(
|
|
7077
|
-
` \u2717 ${isSimpleUi ? "SimpleUI" : "WebUI"} failed to start: ${err instanceof Error ? err.message : String(err)}`
|
|
7086
|
+
` \u2717 ${isVibeUi ? "VibeUI" : isSimpleUi ? "SimpleUI" : "WebUI"} failed to start: ${err instanceof Error ? err.message : String(err)}`
|
|
7078
7087
|
)
|
|
7079
7088
|
);
|
|
7080
7089
|
resolve5(1);
|
|
@@ -7680,4 +7689,4 @@ export {
|
|
|
7680
7689
|
execute,
|
|
7681
7690
|
resolveReviewerFallbackModels
|
|
7682
7691
|
};
|
|
7683
|
-
//# sourceMappingURL=execution-
|
|
7692
|
+
//# sourceMappingURL=execution-W3OWWXY7.js.map
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./chunk-CVVQ5NCN.js";
|
|
6
6
|
import {
|
|
7
7
|
parseArgs
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-CL3BU45P.js";
|
|
9
9
|
import {
|
|
10
10
|
closeAcpLeaderSessions
|
|
11
11
|
} from "./chunk-X4DEQLAZ.js";
|
|
@@ -18,7 +18,7 @@ import "./chunk-W23PY4IJ.js";
|
|
|
18
18
|
import { format, stripVTControlCharacters } from "node:util";
|
|
19
19
|
var LEVELS = ["log", "info", "debug", "warn"];
|
|
20
20
|
function shouldCaptureTuiStartup(flags, positional, interactive = process.stdin.isTTY === true && process.stdout.isTTY === true) {
|
|
21
|
-
return interactive && !flags["no-tui"] && !flags["webui"] && !flags["simpleui"] && !flags["hq"] && !flags["desktop"] && !flags["remote"] && !flags["no-interactive"] && typeof flags["prompt"] !== "string" && (positional.length === 0 || positional[0] === "quick" || positional[0] === "resume" && positional.length === 2);
|
|
21
|
+
return interactive && !flags["no-tui"] && !flags["webui"] && !flags["simpleui"] && !flags["vibeui"] && !flags["hq"] && !flags["desktop"] && !flags["remote"] && !flags["no-interactive"] && typeof flags["prompt"] !== "string" && (positional.length === 0 || positional[0] === "quick" || positional[0] === "resume" && positional.length === 2);
|
|
22
22
|
}
|
|
23
23
|
function startTuiStartupOutput(enabled) {
|
|
24
24
|
const originals = Object.fromEntries(LEVELS.map((level) => [level, console[level]]));
|
|
@@ -125,7 +125,7 @@ async function main(argv) {
|
|
|
125
125
|
applyAsciiMode(earlyFlags);
|
|
126
126
|
}
|
|
127
127
|
if (earlyFlags["help"] === true || earlyFlags["version"] === true) {
|
|
128
|
-
const { handleHelpVersionShortCircuit } = await import("./short-circuit-flags-
|
|
128
|
+
const { handleHelpVersionShortCircuit } = await import("./short-circuit-flags-6LWKP4KP.js");
|
|
129
129
|
const earlyExit = await handleHelpVersionShortCircuit(argv);
|
|
130
130
|
if (earlyExit !== null) return earlyExit;
|
|
131
131
|
}
|
|
@@ -134,7 +134,7 @@ async function main(argv) {
|
|
|
134
134
|
shouldCaptureTuiStartup(parsed.flags, parsed.positional)
|
|
135
135
|
);
|
|
136
136
|
try {
|
|
137
|
-
const { initializeCli } = await import("./cli-context-
|
|
137
|
+
const { initializeCli } = await import("./cli-context-F3B5TRZX.js");
|
|
138
138
|
const cliCtx = await initializeCli(argv, {
|
|
139
139
|
onNonTuiLaunch: () => startupOutput.stop()
|
|
140
140
|
});
|
|
@@ -144,7 +144,7 @@ async function main(argv) {
|
|
|
144
144
|
} else {
|
|
145
145
|
startupOutput.stop();
|
|
146
146
|
}
|
|
147
|
-
const { runInteractive } = await import("./cli-main-
|
|
147
|
+
const { runInteractive } = await import("./cli-main-MBWZX6PH.js");
|
|
148
148
|
return await runInteractive(cliCtx);
|
|
149
149
|
} finally {
|
|
150
150
|
startupOutput.stop();
|
|
@@ -70,6 +70,7 @@ export interface LiveSettingsInput {
|
|
|
70
70
|
showModelReasoning?: boolean | undefined;
|
|
71
71
|
/** Default presentation density for committed TUI tool results. */
|
|
72
72
|
toolResultViewMode?: 'minimal' | 'normal' | 'full' | undefined;
|
|
73
|
+
selectionMode?: 'block' | 'text' | undefined;
|
|
73
74
|
/** Agent swarm panel placement: 'bottom' (lower region), 'sidebar' (right sidebar), or 'off' (hidden).
|
|
74
75
|
* Backward-compat: legacy boolean values are coerced by the TUI settings adapter. Default: 'bottom'. */
|
|
75
76
|
showAgentSwarmPanel?: 'bottom' | 'sidebar' | 'off' | boolean | undefined;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
handleHelpVersionShortCircuit
|
|
3
|
+
} from "./chunk-OCB4I4GQ.js";
|
|
4
|
+
import "./chunk-CL3BU45P.js";
|
|
5
|
+
import "./chunk-BQ5OMSZG.js";
|
|
6
|
+
import "./chunk-HKMOIIPQ.js";
|
|
7
|
+
import "./chunk-W23PY4IJ.js";
|
|
8
|
+
export {
|
|
9
|
+
handleHelpVersionShortCircuit
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=short-circuit-flags-6LWKP4KP.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
subcommandNames,
|
|
3
3
|
subcommands
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-V3AKAH25.js";
|
|
5
5
|
import "./chunk-W23PY4IJ.js";
|
|
6
6
|
export {
|
|
7
7
|
subcommandNames,
|
|
8
8
|
subcommands
|
|
9
9
|
};
|
|
10
|
-
//# sourceMappingURL=subcommands-
|
|
10
|
+
//# sourceMappingURL=subcommands-SR4K73WA.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
helpCmd,
|
|
3
3
|
versionCmd
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-BQ5OMSZG.js";
|
|
5
5
|
import "./chunk-HKMOIIPQ.js";
|
|
6
6
|
import "./chunk-W23PY4IJ.js";
|
|
7
7
|
export {
|
|
8
8
|
helpCmd,
|
|
9
9
|
versionCmd
|
|
10
10
|
};
|
|
11
|
-
//# sourceMappingURL=version-help-
|
|
11
|
+
//# sourceMappingURL=version-help-MITOB3YK.js.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import "./chunk-W23PY4IJ.js";
|
|
2
|
+
|
|
3
|
+
// src/vibeui-dist.ts
|
|
4
|
+
import { existsSync } from "node:fs";
|
|
5
|
+
import { createRequire } from "node:module";
|
|
6
|
+
import * as path from "node:path";
|
|
7
|
+
import { wrongstackPackageJsonPath } from "@wrongstack/core/utils";
|
|
8
|
+
function resolveVibeUiDistDir(deps = {}) {
|
|
9
|
+
const require2 = createRequire(import.meta.url);
|
|
10
|
+
let packageJson;
|
|
11
|
+
try {
|
|
12
|
+
packageJson = deps.resolvePackageJson?.() ?? wrongstackPackageJsonPath("@wrongstack/vibeui", (id) => require2.resolve(id));
|
|
13
|
+
} catch {
|
|
14
|
+
throw new Error("VibeUI package is unavailable. Reinstall WrongStack with @wrongstack/vibeui.");
|
|
15
|
+
}
|
|
16
|
+
const distDir = path.join(path.dirname(packageJson), "dist");
|
|
17
|
+
if (!(deps.exists ?? existsSync)(path.join(distDir, "index.html"))) {
|
|
18
|
+
throw new Error(
|
|
19
|
+
"VibeUI frontend is not built. Run `bun run --filter @wrongstack/vibeui build`."
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
return distDir;
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
resolveVibeUiDistDir
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=vibeui-dist-OEPU6BOM.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Resolve prebuilt assets in workspace, npm and extracted standalone installations. */
|
|
2
|
+
export declare function resolveVibeUiDistDir(deps?: {
|
|
3
|
+
resolvePackageJson?: () => string;
|
|
4
|
+
exists?: (file: string) => boolean;
|
|
5
|
+
}): string;
|
|
6
|
+
//# sourceMappingURL=vibeui-dist.d.ts.map
|
|
@@ -5,7 +5,7 @@ export declare function resolveWebuiHostSettings(opts: CliWebUIOptions): {
|
|
|
5
5
|
publicUrl: string | undefined;
|
|
6
6
|
publicWsUrl: string | undefined;
|
|
7
7
|
requireToken: boolean;
|
|
8
|
-
surface: "simpleui" | "webui";
|
|
8
|
+
surface: "simpleui" | "vibeui" | "webui";
|
|
9
9
|
requestedHttpPort: number;
|
|
10
10
|
strictPort: boolean;
|
|
11
11
|
globalRoot: string;
|
|
@@ -9,7 +9,7 @@ import type { CliWebUIOptions } from '../webui-server-options.js';
|
|
|
9
9
|
import type { WebuiTransport } from './transport.js';
|
|
10
10
|
export interface WebuiHttpBridgeInput {
|
|
11
11
|
opts: CliWebUIOptions;
|
|
12
|
-
surface: 'webui' | 'simpleui';
|
|
12
|
+
surface: 'webui' | 'simpleui' | 'vibeui';
|
|
13
13
|
host: string;
|
|
14
14
|
httpPort: number;
|
|
15
15
|
strictPort: boolean;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import type { CliWebUIOptions } from '../webui-server-options.js';
|
|
3
3
|
export interface EmbeddedInstanceRegistrationInput {
|
|
4
4
|
opts: CliWebUIOptions;
|
|
5
|
-
surface: 'webui' | 'simpleui';
|
|
5
|
+
surface: 'webui' | 'simpleui' | 'vibeui';
|
|
6
6
|
host: string;
|
|
7
7
|
httpPort: number;
|
|
8
8
|
publicUrl: string | undefined;
|
|
@@ -171,7 +171,7 @@ function createEmbeddedClientRegistration(opts, clients, abortControllers, getSe
|
|
|
171
171
|
}
|
|
172
172
|
function startEmbeddedLiveStatusLogger(opts, clients, abortControllers, getSessionAgents, terminalLogView) {
|
|
173
173
|
return startWebUILiveStatusLogger({
|
|
174
|
-
title: opts.surface === "simpleui" ? "SimpleUI" : "WebUI",
|
|
174
|
+
title: opts.surface === "vibeui" ? "VibeUI" : opts.surface === "simpleui" ? "SimpleUI" : "WebUI",
|
|
175
175
|
events: opts.events,
|
|
176
176
|
dashboard: terminalLogView,
|
|
177
177
|
getSessionList: () => {
|
|
@@ -381,7 +381,9 @@ function resolveWebuiHostSettings(opts) {
|
|
|
381
381
|
const publicWsUrl = opts.publicWsUrl ?? process.env["WEBUI_PUBLIC_WS_URL"];
|
|
382
382
|
const requireToken = opts.requireToken ?? envFlag("WEBUI_REQUIRE_TOKEN");
|
|
383
383
|
const surface = opts.surface ?? "webui";
|
|
384
|
-
const surfaceDefaults =
|
|
384
|
+
const surfaceDefaults = {
|
|
385
|
+
http: surface === "vibeui" ? 3476 : surface === "simpleui" ? 3466 : 3456
|
|
386
|
+
};
|
|
385
387
|
const requestedHttpPort = opts.httpPort ?? opts.port ?? surfaceDefaults.http;
|
|
386
388
|
const strictPort = opts.strictPort ?? isStrictPort();
|
|
387
389
|
const globalRoot = opts.globalConfigPath ? path3.dirname(opts.globalConfigPath) : wstackGlobalRoot();
|
|
@@ -525,7 +527,7 @@ async function startWebuiHttpBridge(input) {
|
|
|
525
527
|
publicWsUrl,
|
|
526
528
|
apiToken: wsToken,
|
|
527
529
|
requireToken,
|
|
528
|
-
deferListen: surface === "simpleui",
|
|
530
|
+
deferListen: surface === "simpleui" || surface === "vibeui",
|
|
529
531
|
strictPort,
|
|
530
532
|
// Resolve the same-origin health probes from live preferences, including
|
|
531
533
|
// changes made after boot, just like the standalone WebUI host.
|
|
@@ -563,7 +565,7 @@ async function startWebuiHttpBridge(input) {
|
|
|
563
565
|
);
|
|
564
566
|
});
|
|
565
567
|
if (httpServer) {
|
|
566
|
-
const boundPort = surface === "simpleui" ? await startDeferredHttpListen({
|
|
568
|
+
const boundPort = surface === "simpleui" || surface === "vibeui" ? await startDeferredHttpListen({
|
|
567
569
|
server: httpServer.server,
|
|
568
570
|
host,
|
|
569
571
|
httpPort,
|
|
@@ -2238,7 +2240,7 @@ async function runWebUI(opts) {
|
|
|
2238
2240
|
publicHostnames
|
|
2239
2241
|
} = resolveWebuiHostSettings(opts);
|
|
2240
2242
|
const terminalLogView = startTerminalDashboard({
|
|
2241
|
-
title: surface === "simpleui" ? "SimpleUI" : "WebUI",
|
|
2243
|
+
title: surface === "vibeui" ? "VibeUI" : surface === "simpleui" ? "SimpleUI" : "WebUI",
|
|
2242
2244
|
quiet: !envFlag2("WEBUI_LOGS"),
|
|
2243
2245
|
// The dashboard is operator-owned terminal output, so retain the full
|
|
2244
2246
|
// authenticated access URL here even though startup logs remain redacted.
|
|
@@ -2534,4 +2536,4 @@ async function runWebUI(opts) {
|
|
|
2534
2536
|
export {
|
|
2535
2537
|
runWebUI
|
|
2536
2538
|
};
|
|
2537
|
-
//# sourceMappingURL=webui-server-
|
|
2539
|
+
//# sourceMappingURL=webui-server-KREX7GYA.js.map
|
|
@@ -35,7 +35,7 @@ export interface CliWebUIOptions {
|
|
|
35
35
|
/** Alternate frontend dist directory (used by the independent SimpleUI surface). */
|
|
36
36
|
frontendDistDir?: string | undefined;
|
|
37
37
|
/** Surface kind: 'webui' (default) or 'simpleui'. Controls port defaults and the instance registry label. */
|
|
38
|
-
surface?: 'webui' | 'simpleui' | undefined;
|
|
38
|
+
surface?: 'webui' | 'simpleui' | 'vibeui' | undefined;
|
|
39
39
|
/** Fixed access token/password. Defaults to WEBUI_TOKEN or random per process. */
|
|
40
40
|
accessToken?: string | undefined;
|
|
41
41
|
/** Fail instead of auto-advancing when the requested HTTP/WS port is busy. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wrongstack/cli",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.8",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "WrongStack CLI — terminal AI coding agent with provider catalog from models.dev. Provides `wrongstack` and `wstack` binaries.",
|
|
6
6
|
"keywords": [
|
|
@@ -48,46 +48,47 @@
|
|
|
48
48
|
"clean": "bun -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\""
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@wrongstack/acp": "1.1.
|
|
52
|
-
"@wrongstack/bench": "1.1.
|
|
53
|
-
"@wrongstack/codebase-index-mcp": "1.1.
|
|
54
|
-
"@wrongstack/core": "1.1.
|
|
55
|
-
"@wrongstack/kanban": "1.1.
|
|
56
|
-
"@wrongstack/kanban-mcp": "1.1.
|
|
57
|
-
"@wrongstack/mailbox-mcp": "1.1.
|
|
58
|
-
"@wrongstack/mcp": "1.1.
|
|
59
|
-
"@wrongstack/persistence": "1.1.
|
|
60
|
-
"@wrongstack/plug-lsp": "1.1.
|
|
61
|
-
"@wrongstack/plugins": "1.1.
|
|
62
|
-
"@wrongstack/primitives": "1.1.
|
|
63
|
-
"@wrongstack/providers": "1.1.
|
|
64
|
-
"@wrongstack/requirement-intake": "1.1.
|
|
65
|
-
"@wrongstack/requirement-intake-mcp": "1.1.
|
|
66
|
-
"@wrongstack/runtime": "1.1.
|
|
67
|
-
"@wrongstack/sage": "1.1.
|
|
68
|
-
"@wrongstack/sage-mcp": "1.1.
|
|
69
|
-
"@wrongstack/sdd": "1.1.
|
|
70
|
-
"@wrongstack/security-scanner": "1.1.
|
|
71
|
-
"@wrongstack/simpleui": "1.1.
|
|
72
|
-
"@wrongstack/
|
|
73
|
-
"@wrongstack/
|
|
74
|
-
"@wrongstack/
|
|
75
|
-
"@wrongstack/
|
|
76
|
-
"@wrongstack/
|
|
77
|
-
"@wrongstack/
|
|
78
|
-
"@wrongstack/webui
|
|
79
|
-
"@wrongstack/webui-
|
|
80
|
-
"@wrongstack/webui-
|
|
81
|
-
"@wrongstack/
|
|
51
|
+
"@wrongstack/acp": "1.1.7",
|
|
52
|
+
"@wrongstack/bench": "1.1.7",
|
|
53
|
+
"@wrongstack/codebase-index-mcp": "1.1.7",
|
|
54
|
+
"@wrongstack/core": "1.1.7",
|
|
55
|
+
"@wrongstack/kanban": "1.1.7",
|
|
56
|
+
"@wrongstack/kanban-mcp": "1.1.7",
|
|
57
|
+
"@wrongstack/mailbox-mcp": "1.1.7",
|
|
58
|
+
"@wrongstack/mcp": "1.1.7",
|
|
59
|
+
"@wrongstack/persistence": "1.1.7",
|
|
60
|
+
"@wrongstack/plug-lsp": "1.1.7",
|
|
61
|
+
"@wrongstack/plugins": "1.1.7",
|
|
62
|
+
"@wrongstack/primitives": "1.1.7",
|
|
63
|
+
"@wrongstack/providers": "1.1.7",
|
|
64
|
+
"@wrongstack/requirement-intake": "1.1.7",
|
|
65
|
+
"@wrongstack/requirement-intake-mcp": "1.1.7",
|
|
66
|
+
"@wrongstack/runtime": "1.1.7",
|
|
67
|
+
"@wrongstack/sage": "1.1.7",
|
|
68
|
+
"@wrongstack/sage-mcp": "1.1.7",
|
|
69
|
+
"@wrongstack/sdd": "1.1.7",
|
|
70
|
+
"@wrongstack/security-scanner": "1.1.7",
|
|
71
|
+
"@wrongstack/simpleui": "1.1.7",
|
|
72
|
+
"@wrongstack/vibeui": "1.1.7",
|
|
73
|
+
"@wrongstack/techstack": "1.1.7",
|
|
74
|
+
"@wrongstack/telegram": "1.1.7",
|
|
75
|
+
"@wrongstack/tools": "1.1.7",
|
|
76
|
+
"@wrongstack/tui": "1.1.7",
|
|
77
|
+
"@wrongstack/vector-memory": "1.1.7",
|
|
78
|
+
"@wrongstack/webui": "1.1.7",
|
|
79
|
+
"@wrongstack/webui-hq": "1.1.7",
|
|
80
|
+
"@wrongstack/webui-protocol": "1.1.7",
|
|
81
|
+
"@wrongstack/webui-server": "1.1.7",
|
|
82
|
+
"@wrongstack/wrongtrace": "1.1.7",
|
|
82
83
|
"ws": "^8.22.0"
|
|
83
84
|
},
|
|
84
85
|
"optionalDependencies": {
|
|
85
|
-
"@wrongstack/desktop": "1.1.
|
|
86
|
+
"@wrongstack/desktop": "1.1.7"
|
|
86
87
|
},
|
|
87
88
|
"devDependencies": {
|
|
88
89
|
"@types/node": "^26.5.1",
|
|
89
90
|
"@types/ws": "^8.18.1",
|
|
90
|
-
"@wrongstack/governance": "1.1.
|
|
91
|
+
"@wrongstack/governance": "1.1.7",
|
|
91
92
|
"jsdom": "^30.0.1",
|
|
92
93
|
"typescript": "^7.0.2"
|
|
93
94
|
},
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
handleHelpVersionShortCircuit
|
|
3
|
-
} from "./chunk-H5DCQFUI.js";
|
|
4
|
-
import "./chunk-M7PSENGF.js";
|
|
5
|
-
import "./chunk-UROB7MK5.js";
|
|
6
|
-
import "./chunk-HKMOIIPQ.js";
|
|
7
|
-
import "./chunk-W23PY4IJ.js";
|
|
8
|
-
export {
|
|
9
|
-
handleHelpVersionShortCircuit
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=short-circuit-flags-276OLPIN.js.map
|