@wrongstack/cli 1.0.33 → 1.0.36
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-EDGUWU7N.js → acp-QLU7T5WX.js} +470 -466
- package/dist/{auth-SUHKFFO4.js → auth-AED7RW7D.js} +7 -7
- package/dist/auth-menu/openai-codex-oauth.d.ts +1 -1
- package/dist/auth-menu/panel-provider-edits.d.ts +15 -0
- package/dist/auth-menu/panel-service.d.ts +1 -1
- package/dist/{automation-MCDFCIMV.js → automation-3E3AUPBF.js} +19 -4
- package/dist/boot/governance-evidence-candidate.d.ts +1 -2
- package/dist/boot/system-prompt-builder.d.ts +1 -1
- package/dist/boot/tui-project-spawn.d.ts +0 -1
- package/dist/boot/tui-session-resume-contracts.d.ts +95 -0
- package/dist/boot/tui-session-resume.d.ts +2 -88
- package/dist/boot/tui-settings-read.d.ts +3 -0
- package/dist/{boot-auto-thin-K2DHHYIW.js → boot-auto-thin-AGJ6TAWY.js} +3 -3
- package/dist/boot-launch-choices.d.ts +22 -0
- package/dist/boot-provider-gate.d.ts +28 -0
- package/dist/boot-subcommand-dispatch.d.ts +24 -0
- package/dist/boot.d.ts +1 -1
- package/dist/chimera-cascade-evidence.d.ts +1 -1
- package/dist/{chunk-TI7KLHYX.js → chunk-2CMMWRQH.js} +81 -80
- package/dist/{chunk-4BX2YDTQ.js → chunk-4JMAWKLA.js} +45 -4
- package/dist/{chunk-TWSQTQKR.js → chunk-4R6TVMYA.js} +2 -2
- package/dist/{chunk-HHRYIDOW.js → chunk-ACW64W4M.js} +34 -7
- package/dist/{chunk-5EA6OTLJ.js → chunk-AFOH6CHO.js} +2 -2
- package/dist/{chunk-WHEYHDIE.js → chunk-AKESWZH5.js} +2 -1
- package/dist/{chunk-JHUJUIOH.js → chunk-AT2A7RJZ.js} +4 -16
- package/dist/{chunk-LKFKO4JW.js → chunk-B6EHK772.js} +2 -2
- package/dist/{chunk-U3SS4NRH.js → chunk-BHXAKTBE.js} +1 -1
- package/dist/{chunk-4UWCMBPG.js → chunk-BJH44J7G.js} +3 -3
- package/dist/{chunk-MPQCHBDJ.js → chunk-CJSHS2K7.js} +5 -1
- package/dist/{chunk-RQ4UBKYH.js → chunk-GF7LUWQS.js} +5 -11
- package/dist/{chunk-TXAFIERF.js → chunk-L5NWFP5R.js} +2 -2
- package/dist/{chunk-24C6VVLM.js → chunk-LPGZ3NUF.js} +23 -23
- package/dist/{chunk-UQUYBDMG.js → chunk-M4G5FO7F.js} +1 -1
- package/dist/{chunk-P3GRLV47.js → chunk-NEWXDNF2.js} +212 -145
- package/dist/{chunk-3LEFXLAW.js → chunk-NOZJIN46.js} +36 -37
- package/dist/{chunk-4MDRHMX4.js → chunk-RE73FP2X.js} +4 -27
- package/dist/{chunk-5UZBUV2H.js → chunk-RKU66D2O.js} +6 -4
- package/dist/{chunk-SWOPJHXI.js → chunk-RYTSPBNM.js} +4 -4
- package/dist/{chunk-WTJDSTYD.js → chunk-T5KR6SNO.js} +2 -2
- package/dist/chunk-TGSPCFBT.js +1 -0
- package/dist/{chunk-ZYACRPLN.js → chunk-ULYAI7CP.js} +6 -3
- package/dist/{chunk-HLSHFXTO.js → chunk-WY74MMDB.js} +2 -2
- package/dist/{chunk-PGNERAZL.js → chunk-ZWBI7ORM.js} +3 -3
- package/dist/{cli-context-7HK67B2Z.js → cli-context-I6HJCVCV.js} +1607 -1495
- package/dist/cli-initial-tools.d.ts +54 -0
- package/dist/{cli-main-TQGLKB6D.js → cli-main-X7KD7IOC.js} +38223 -37136
- package/dist/cli-main-boot.d.ts +133 -0
- package/dist/cli-main-orchestration.d.ts +170 -0
- package/dist/cli-main-state.d.ts +19 -0
- package/dist/config-doctor.d.ts +1 -1
- package/dist/{config-transfer-UE37X4B5.js → config-transfer-YPD7HYXH.js} +7 -5
- package/dist/{execution-C2IECWF7.js → execution-M7D4KNBB.js} +171 -132
- package/dist/fleet/host-director-setup.d.ts +41 -0
- package/dist/fleet/host-spawn-types.d.ts +17 -0
- package/dist/fleet/host.d.ts +2 -1
- package/dist/goal-host-prompts.d.ts +5 -0
- package/dist/goal-host-types.d.ts +94 -0
- package/dist/goal-host.d.ts +2 -91
- package/dist/{hq-KBFDKTDD.js → hq-BBLGEEUH.js} +5 -6
- package/dist/hq-server/handle-types.d.ts +1 -1
- package/dist/hq-server/routes/auth-handlers.d.ts +1 -1
- package/dist/hq-server/routes.d.ts +1 -13
- package/dist/hq-server/utils.d.ts +1 -1
- package/dist/{hq-server-AVNKZ2PV.js → hq-server-5TR6NBGS.js} +3 -3
- package/dist/{hq-service-FGB7BY2D.js → hq-service-4Q64WFNT.js} +3 -3
- package/dist/{import-claude-code-AYG24RG2.js → import-claude-code-GHIS2F7Y.js} +3 -3
- package/dist/index.js +5 -5
- package/dist/live-settings-input.d.ts +2 -0
- package/dist/mailbox-bridge-bootstrap.d.ts +1 -4
- package/dist/{mailbox-serve-S536N66F.js → mailbox-serve-DRWJVMYU.js} +2 -2
- package/dist/{modeldiag-NEPTLFZW.js → modeldiag-F3LUF4VJ.js} +3 -3
- package/dist/picker-effort.d.ts +32 -0
- package/dist/picker-model-picker.d.ts +13 -2
- package/dist/picker-provider-list.d.ts +66 -0
- package/dist/picker.d.ts +12 -12
- package/dist/plugin-config.d.ts +6 -0
- package/dist/{plugin-usage-3TZGROK7.js → plugin-usage-EM752WHG.js} +3 -3
- package/dist/{plugins-ITH4SLO6.js → plugins-U6HQFJ7N.js} +4 -4
- package/dist/{providers-models-O75MKLN2.js → providers-models-S3S6VXME.js} +249 -239
- package/dist/repl-suggestions.d.ts +0 -5
- package/dist/{sage-FFKUOCQL.js → sage-BMRDJCDI.js} +9 -5
- package/dist/{sage-sync-ZMTHB477.js → sage-sync-PCWCNEUK.js} +2 -2
- package/dist/{sdd-runtime-PTOSPYI4.js → sdd-runtime-PF72WHLO.js} +3 -20
- package/dist/services/sdd/task-manager.d.ts +1 -12
- package/dist/services/sdd-runtime.d.ts +3 -4
- package/dist/services/statusline-config.d.ts +0 -2
- package/dist/{sessions-config-VE26SB56.js → sessions-config-RQRQDW5Q.js} +2 -2
- package/dist/settings-behavior-sections.d.ts +0 -1
- package/dist/short-circuit-flags-IEV3FEOT.js +10 -0
- package/dist/{skill-suggest-L2EVWB6R.js → skill-suggest-THANK3LV.js} +1 -1
- package/dist/slash-commands/command-context.d.ts +2 -0
- package/dist/slash-commands/doctor.d.ts +0 -9
- package/dist/slash-commands/fallback-chain-view.d.ts +3 -0
- package/dist/slash-commands/fallback-ref-validation.d.ts +34 -0
- package/dist/slash-commands/goal-refiner.d.ts +10 -2
- package/dist/slash-commands/goals.d.ts +6 -0
- package/dist/slash-commands/kanban-task-completion.d.ts +17 -0
- package/dist/slash-commands/mcp.d.ts +0 -1
- package/dist/slash-commands/memory-purge-domain-terms.d.ts +5 -0
- package/dist/slash-commands/nextsteps-mode.d.ts +13 -0
- package/dist/slash-commands/session-live-status.d.ts +21 -0
- package/dist/slash-commands/session.d.ts +1 -1
- package/dist/slash-commands/settings-feature-ui-mutations.d.ts +8 -0
- package/dist/slash-commands/settings-hq-autonomy-mutations.d.ts +8 -0
- package/dist/slash-commands/settings-persist-deps.d.ts +10 -0
- package/dist/slash-commands/settings-runtime-mutations.d.ts +12 -0
- package/dist/slash-commands/shadow.d.ts +0 -1
- package/dist/slash-commands/tool-auto-thin-commands.d.ts +15 -0
- package/dist/{standalone-auto-update-VQC4GYCM.js → standalone-auto-update-QUXOZ4B5.js} +13 -2
- package/dist/subcommands/handlers/acp-agents.d.ts +9 -0
- package/dist/subcommands/handlers/acp-server.d.ts +7 -0
- package/dist/subcommands/handlers/hq.d.ts +0 -1
- package/dist/subcommands/handlers/providers-models-custom.d.ts +33 -0
- package/dist/subcommands/handlers/providers-models-visibility.d.ts +29 -0
- package/dist/subcommands/handlers/skill-suggest.d.ts +0 -2
- package/dist/{subcommands-CLI6QTLU.js → subcommands-75IB23LS.js} +2 -2
- package/dist/{typesafe-NHC322W5.js → typesafe-KW2XHOG3.js} +2 -2
- package/dist/{update-J5WHAFPE.js → update-LHCWAWEZ.js} +3 -3
- package/dist/utils/win32-cmd.d.ts +1 -1
- package/dist/{version-help-ATOKGMTK.js → version-help-JQGRPDJW.js} +2 -2
- package/dist/webui-server/credential-watcher.d.ts +3 -1
- package/dist/webui-server/host-settings.d.ts +17 -0
- package/dist/webui-server/http-bridge.d.ts +32 -0
- package/dist/webui-server/instance-registration.d.ts +19 -0
- package/dist/webui-server/kanban-services.d.ts +9 -0
- package/dist/webui-server/message-router.d.ts +14 -0
- package/dist/webui-server/prefs-seeding.d.ts +1 -2
- package/dist/webui-server/provider-config.d.ts +0 -1
- package/dist/webui-server/provider-plane.d.ts +14 -0
- package/dist/webui-server/session-agents.d.ts +18 -0
- package/dist/webui-server/session-start-live.d.ts +11 -0
- package/dist/webui-server/stream-coalescer.d.ts +1 -1
- package/dist/webui-server/transport.d.ts +12 -0
- package/dist/{webui-server-GQOVLQS3.js → webui-server-CUIFA25W.js} +1472 -1335
- package/dist/webui-session-maintenance.d.ts +16 -0
- package/dist/wiring/brain-and-orchestration.d.ts +1 -1
- package/dist/wiring/cli-slash-commands-setup.d.ts +1 -0
- package/dist/wiring/command-host-state.d.ts +11 -2
- package/dist/wiring/dep-watcher-bridge.d.ts +8 -1
- package/dist/wiring/management-tools.d.ts +9 -1
- package/dist/wiring/session-command-handlers.d.ts +2 -1
- package/dist/worktree-command-host.d.ts +31 -0
- package/package.json +31 -31
- package/dist/chunk-WHOIR577.js +0 -1
- package/dist/short-circuit-flags-D6VAG47Y.js +0 -10
|
@@ -185,8 +185,14 @@ async function ensureHistoryDir(homeFn = defaultHomeDir, targetConfigPath) {
|
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
187
|
async function readIndex(homeFn = defaultHomeDir, targetConfigPath) {
|
|
188
|
+
let raw;
|
|
189
|
+
try {
|
|
190
|
+
raw = await fs.readFile(historyIndexPath(homeFn, targetConfigPath), "utf8");
|
|
191
|
+
} catch (err) {
|
|
192
|
+
if (err.code !== "ENOENT") throw err;
|
|
193
|
+
return rebuildIndexFromEntries(homeFn, targetConfigPath);
|
|
194
|
+
}
|
|
188
195
|
try {
|
|
189
|
-
const raw = await fs.readFile(historyIndexPath(homeFn, targetConfigPath), "utf8");
|
|
190
196
|
const parsed = JSON.parse(raw);
|
|
191
197
|
if (parsed && typeof parsed === "object" && Array.isArray(parsed.entries)) {
|
|
192
198
|
const entries = parsed.entries.filter(
|
|
@@ -194,10 +200,44 @@ async function readIndex(homeFn = defaultHomeDir, targetConfigPath) {
|
|
|
194
200
|
);
|
|
195
201
|
return { version: 1, entries };
|
|
196
202
|
}
|
|
197
|
-
return { version: 1, entries: [] };
|
|
198
203
|
} catch {
|
|
199
|
-
return { version: 1, entries: [] };
|
|
200
204
|
}
|
|
205
|
+
return rebuildIndexFromEntries(homeFn, targetConfigPath);
|
|
206
|
+
}
|
|
207
|
+
async function rebuildIndexFromEntries(homeFn = defaultHomeDir, targetConfigPath) {
|
|
208
|
+
const dir = historyDir(homeFn, targetConfigPath);
|
|
209
|
+
let files;
|
|
210
|
+
try {
|
|
211
|
+
files = (await fs.readdir(dir)).filter((file) => file.endsWith(".json"));
|
|
212
|
+
} catch (err) {
|
|
213
|
+
if (err.code === "ENOENT") return { version: 1, entries: [] };
|
|
214
|
+
throw err;
|
|
215
|
+
}
|
|
216
|
+
const entries = [];
|
|
217
|
+
for (const file of files) {
|
|
218
|
+
const id = file.slice(0, -".json".length);
|
|
219
|
+
let raw;
|
|
220
|
+
try {
|
|
221
|
+
raw = await fs.readFile(path.join(dir, file), "utf8");
|
|
222
|
+
} catch (err) {
|
|
223
|
+
if (err.code === "ENOENT") continue;
|
|
224
|
+
entries.push({ id, timestamp: "", description: "" });
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
227
|
+
try {
|
|
228
|
+
const entry = JSON.parse(raw);
|
|
229
|
+
if (entry.id === id && typeof entry.timestamp === "string") {
|
|
230
|
+
entries.push({
|
|
231
|
+
id,
|
|
232
|
+
timestamp: entry.timestamp,
|
|
233
|
+
description: typeof entry.description === "string" ? entry.description : ""
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
} catch {
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
entries.sort((a, b) => b.timestamp.localeCompare(a.timestamp));
|
|
240
|
+
return { version: 1, entries };
|
|
201
241
|
}
|
|
202
242
|
async function writeIndex(idx, homeFn = defaultHomeDir, targetConfigPath) {
|
|
203
243
|
await ensureHistoryDir(homeFn, targetConfigPath);
|
|
@@ -297,6 +337,7 @@ async function appendHistory(oldCfg, newCfg, description, homeFn = defaultHomeDi
|
|
|
297
337
|
}
|
|
298
338
|
await withFileLock(historyIndexPath(homeFn, targetConfigPath), async () => {
|
|
299
339
|
const idx = await readIndex(homeFn, targetConfigPath);
|
|
340
|
+
idx.entries = idx.entries.filter((e) => e.id !== id);
|
|
300
341
|
idx.entries.unshift({ id, timestamp, description });
|
|
301
342
|
await pruneHistoryEntries(idx, homeFn, targetConfigPath);
|
|
302
343
|
await writeIndex(idx, homeFn, targetConfigPath);
|
|
@@ -398,4 +439,4 @@ export {
|
|
|
398
439
|
restoreFromHistory,
|
|
399
440
|
restoreLast
|
|
400
441
|
};
|
|
401
|
-
//# sourceMappingURL=chunk-
|
|
442
|
+
//# sourceMappingURL=chunk-4JMAWKLA.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
mutateConfigProviders
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ULYAI7CP.js";
|
|
4
4
|
import {
|
|
5
5
|
activeProfileConfigPath
|
|
6
6
|
} from "./chunk-YMXXOOFN.js";
|
|
@@ -51,4 +51,4 @@ export {
|
|
|
51
51
|
installProviderPersisters,
|
|
52
52
|
applyProviderOAuthRefresh2 as applyProviderOAuthRefresh
|
|
53
53
|
};
|
|
54
|
-
//# sourceMappingURL=chunk-
|
|
54
|
+
//# sourceMappingURL=chunk-4R6TVMYA.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
backupCurrent
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4JMAWKLA.js";
|
|
4
4
|
|
|
5
5
|
// src/wiring/external-plugins.ts
|
|
6
6
|
import { isAbsolute, join, resolve } from "node:path";
|
|
@@ -356,11 +356,25 @@ import { homedir } from "node:os";
|
|
|
356
356
|
import { join as join2 } from "node:path";
|
|
357
357
|
import { updateJsonObjectFile } from "@wrongstack/core/utils";
|
|
358
358
|
async function readConfig(file) {
|
|
359
|
+
let raw;
|
|
359
360
|
try {
|
|
360
|
-
|
|
361
|
+
raw = await fs.readFile(file, "utf8");
|
|
362
|
+
} catch (error) {
|
|
363
|
+
if (error.code === "ENOENT") return {};
|
|
364
|
+
throw error;
|
|
365
|
+
}
|
|
366
|
+
let parsed;
|
|
367
|
+
try {
|
|
368
|
+
parsed = JSON.parse(raw.replace(/^\uFEFF/, ""));
|
|
361
369
|
} catch {
|
|
362
|
-
|
|
370
|
+
throw new Error(
|
|
371
|
+
`Profile config "${file}" is not valid JSON \u2014 fix or remove it before changing plugins`
|
|
372
|
+
);
|
|
363
373
|
}
|
|
374
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
375
|
+
throw new Error(`Profile config "${file}" must contain a JSON object`);
|
|
376
|
+
}
|
|
377
|
+
return parsed;
|
|
364
378
|
}
|
|
365
379
|
function pluginName(p) {
|
|
366
380
|
return typeof p === "string" ? p : p.name;
|
|
@@ -411,6 +425,7 @@ import { execFile } from "node:child_process";
|
|
|
411
425
|
import * as fs2 from "node:fs/promises";
|
|
412
426
|
import { join as join3 } from "node:path";
|
|
413
427
|
import { buildChildEnv } from "@wrongstack/core/utils";
|
|
428
|
+
import { treeKill } from "@wrongstack/core/utils/tree-kill";
|
|
414
429
|
import { resolveExecInvocation } from "@wrongstack/plugins/runtime";
|
|
415
430
|
function detectPackageManager(args) {
|
|
416
431
|
const override = args.find((a) => a.startsWith("--pm="));
|
|
@@ -467,7 +482,10 @@ function runPackageManagerInstall(pm, args, cwd) {
|
|
|
467
482
|
});
|
|
468
483
|
return;
|
|
469
484
|
}
|
|
470
|
-
|
|
485
|
+
let settled = false;
|
|
486
|
+
let timedOut = false;
|
|
487
|
+
let timer;
|
|
488
|
+
const child = execFile(
|
|
471
489
|
invocation.cmd,
|
|
472
490
|
invocation.args,
|
|
473
491
|
{
|
|
@@ -476,20 +494,29 @@ function runPackageManagerInstall(pm, args, cwd) {
|
|
|
476
494
|
// untrusted package lifecycle scripts — with the full inherited
|
|
477
495
|
// environment. Strip credentials via the shared child env.
|
|
478
496
|
env: buildChildEnv(),
|
|
479
|
-
timeout: 3e5,
|
|
480
497
|
maxBuffer: 16 * 1024 * 1024,
|
|
481
498
|
windowsHide: true,
|
|
482
499
|
...invocation.windowsVerbatimArguments ? { windowsVerbatimArguments: true } : {}
|
|
483
500
|
},
|
|
484
501
|
(err, stdout, stderr) => {
|
|
502
|
+
settled = true;
|
|
503
|
+
clearTimeout(timer);
|
|
485
504
|
const code = err ? err.code ?? 1 : 0;
|
|
486
505
|
resolvePromise({
|
|
487
|
-
code: typeof code === "number" ? code : 1,
|
|
506
|
+
code: typeof code === "number" && !timedOut ? code : 1,
|
|
488
507
|
stdout: typeof stdout === "string" ? stdout : "",
|
|
489
508
|
stderr: typeof stderr === "string" ? stderr : ""
|
|
490
509
|
});
|
|
491
510
|
}
|
|
492
511
|
);
|
|
512
|
+
if (!settled) {
|
|
513
|
+
timer = setTimeout(() => {
|
|
514
|
+
timedOut = true;
|
|
515
|
+
treeKill(child);
|
|
516
|
+
child.stdout?.destroy();
|
|
517
|
+
child.stderr?.destroy();
|
|
518
|
+
}, 3e5);
|
|
519
|
+
}
|
|
493
520
|
});
|
|
494
521
|
}
|
|
495
522
|
async function installPluginPackage(spec, args, deps) {
|
|
@@ -1109,4 +1136,4 @@ export {
|
|
|
1109
1136
|
PLUGIN_AUDIT_ENTRIES,
|
|
1110
1137
|
runPluginManagementCommand
|
|
1111
1138
|
};
|
|
1112
|
-
//# sourceMappingURL=chunk-
|
|
1139
|
+
//# sourceMappingURL=chunk-ACW64W4M.js.map
|
|
@@ -17,7 +17,7 @@ import * as os2 from "node:os";
|
|
|
17
17
|
import * as path from "node:path";
|
|
18
18
|
import { resolveHqDataDir } from "@wrongstack/core/hq";
|
|
19
19
|
import { isSafeSessionId as coreIsSafeSessionId } from "@wrongstack/core/utils";
|
|
20
|
-
import { sanitizeApiError
|
|
20
|
+
import { sanitizeApiError } from "@wrongstack/core/security";
|
|
21
21
|
var TRANSCRIPT_RING_MAX = 4e3;
|
|
22
22
|
var MAX_TRANSCRIPT_SESSIONS = 400;
|
|
23
23
|
var MAX_AGENT_RINGS = 800;
|
|
@@ -236,4 +236,4 @@ export {
|
|
|
236
236
|
recordTimeseriesSignal,
|
|
237
237
|
sanitizeApiError
|
|
238
238
|
};
|
|
239
|
-
//# sourceMappingURL=chunk-
|
|
239
|
+
//# sourceMappingURL=chunk-AFOH6CHO.js.map
|
|
@@ -93,6 +93,7 @@ var helpCmd = async (_args, deps) => {
|
|
|
93
93
|
...section("Tools & permissions", [
|
|
94
94
|
["--yolo | --no-yolo", "Auto-approve on or off (gated destructive kinds still ask)"],
|
|
95
95
|
["--yolo-destructive", "Let YOLO run every destructive kind you may un-gate"],
|
|
96
|
+
["--yolo-plus", "YOLO+: never ask for anything (explicit deny rules still refuse)"],
|
|
96
97
|
["--restricted", "Untrusted repo: no shell/network/MCP tools, stay in project, no YOLO"],
|
|
97
98
|
["--safe-mode", "Troubleshoot: no 3rd-party plugins, hooks, MCP, skills, overrides"],
|
|
98
99
|
["--only-tools <a,b,...>", "Expose only these tools (trailing * = prefix: mcp__gh__*)"],
|
|
@@ -156,4 +157,4 @@ export {
|
|
|
156
157
|
versionCmd,
|
|
157
158
|
helpCmd
|
|
158
159
|
};
|
|
159
|
-
//# sourceMappingURL=chunk-
|
|
160
|
+
//# sourceMappingURL=chunk-AKESWZH5.js.map
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
|
|
2
|
+
// src/services/sdd/project-context.ts
|
|
3
|
+
import { gatherProjectContext } from "@wrongstack/sdd";
|
|
4
|
+
|
|
2
5
|
// src/services/sdd/state.ts
|
|
3
6
|
import {
|
|
4
7
|
SpecVersioning
|
|
@@ -85,7 +88,6 @@ function getSessionState(ctx) {
|
|
|
85
88
|
}
|
|
86
89
|
|
|
87
90
|
// src/services/sdd/project-context.ts
|
|
88
|
-
import { gatherProjectContext } from "@wrongstack/sdd";
|
|
89
91
|
function getActiveBuilder() {
|
|
90
92
|
return sddState.getBuilder();
|
|
91
93
|
}
|
|
@@ -375,17 +377,6 @@ function matchTaskNode(nodes, query) {
|
|
|
375
377
|
const q = trimmed.toLowerCase();
|
|
376
378
|
return nodes.find((n) => n.title.toLowerCase().includes(q) || q.includes(n.title.toLowerCase())) ?? null;
|
|
377
379
|
}
|
|
378
|
-
function markTaskCompleted(taskTitle) {
|
|
379
|
-
const tracker = sddState.getTaskTracker();
|
|
380
|
-
if (!tracker) return false;
|
|
381
|
-
const nodes = tracker.getAllNodes({ status: ["pending", "in_progress"] });
|
|
382
|
-
const match = nodes.find(
|
|
383
|
-
(n) => n.title.toLowerCase().includes(taskTitle.toLowerCase()) || taskTitle.toLowerCase().includes(n.title.toLowerCase())
|
|
384
|
-
);
|
|
385
|
-
if (!match) return false;
|
|
386
|
-
tracker.updateNodeStatus(match.id, "completed");
|
|
387
|
-
return true;
|
|
388
|
-
}
|
|
389
380
|
function getTaskGraphId() {
|
|
390
381
|
return sddState.getTaskGraphId();
|
|
391
382
|
}
|
|
@@ -394,7 +385,6 @@ function getTaskTrackerExport() {
|
|
|
394
385
|
}
|
|
395
386
|
|
|
396
387
|
export {
|
|
397
|
-
SDDState,
|
|
398
388
|
sddState,
|
|
399
389
|
getSessionState,
|
|
400
390
|
getActiveBuilder,
|
|
@@ -402,7 +392,6 @@ export {
|
|
|
402
392
|
getActiveSDDPhase,
|
|
403
393
|
findSpec,
|
|
404
394
|
gatherProjectContext,
|
|
405
|
-
isExplanatoryText,
|
|
406
395
|
trySaveSpecFromAIOutput,
|
|
407
396
|
trySaveImplementationPlan,
|
|
408
397
|
autoDetectTaskCompletion,
|
|
@@ -414,8 +403,7 @@ export {
|
|
|
414
403
|
renderTaskListWithProgress,
|
|
415
404
|
getCurrentExecutingContext,
|
|
416
405
|
matchTaskNode,
|
|
417
|
-
markTaskCompleted,
|
|
418
406
|
getTaskGraphId,
|
|
419
407
|
getTaskTrackerExport
|
|
420
408
|
};
|
|
421
|
-
//# sourceMappingURL=chunk-
|
|
409
|
+
//# sourceMappingURL=chunk-AT2A7RJZ.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
PLUGIN_AUDIT_ENTRIES,
|
|
6
6
|
loadExternalPlugins
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ACW64W4M.js";
|
|
8
8
|
|
|
9
9
|
// src/wiring/plugins.ts
|
|
10
10
|
import { join } from "node:path";
|
|
@@ -306,4 +306,4 @@ export {
|
|
|
306
306
|
BUILTIN_PLUGIN_NAME_HINTS,
|
|
307
307
|
setupPlugins
|
|
308
308
|
};
|
|
309
|
-
//# sourceMappingURL=chunk-
|
|
309
|
+
//# sourceMappingURL=chunk-B6EHK772.js.map
|
|
@@ -413,9 +413,9 @@ function pruneExpiredTombstones(state, now) {
|
|
|
413
413
|
return changed;
|
|
414
414
|
}
|
|
415
415
|
async function readState(projectRoot) {
|
|
416
|
+
const raw = await readKanbanMetadata(projectRoot, SYNC_STATE_KEY);
|
|
417
|
+
if (raw === null) return { boards: {}, tombstones: {} };
|
|
416
418
|
try {
|
|
417
|
-
const raw = await readKanbanMetadata(projectRoot, SYNC_STATE_KEY);
|
|
418
|
-
if (raw === null) return { boards: {}, tombstones: {} };
|
|
419
419
|
const parsed = JSON.parse(raw);
|
|
420
420
|
return { boards: parsed.boards ?? {}, tombstones: parsed.tombstones ?? {} };
|
|
421
421
|
} catch {
|
|
@@ -686,4 +686,4 @@ function startCliHqConnection(options) {
|
|
|
686
686
|
export {
|
|
687
687
|
startCliHqConnection
|
|
688
688
|
};
|
|
689
|
-
//# sourceMappingURL=chunk-
|
|
689
|
+
//# sourceMappingURL=chunk-BJH44J7G.js.map
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var BOOLEAN_FLAGS = /* @__PURE__ */ new Set([
|
|
4
4
|
"yolo",
|
|
5
5
|
"no-yolo",
|
|
6
|
+
"yolo-plus",
|
|
6
7
|
"yolo-destructive",
|
|
7
8
|
"confirm-destructive",
|
|
8
9
|
"force-all-yolo",
|
|
@@ -107,6 +108,9 @@ var BOOLEAN_FLAGS = /* @__PURE__ */ new Set([
|
|
|
107
108
|
"all-models",
|
|
108
109
|
"plan",
|
|
109
110
|
"json",
|
|
111
|
+
// `wstack modeldiag eval [role] --quick`: as a value flag it swallowed the
|
|
112
|
+
// role (`eval --quick coder` ran a full all-category eval, not a quick one).
|
|
113
|
+
"quick",
|
|
110
114
|
// Destructive-preview switch (`wstack chronicle prune --dry-run`). It is
|
|
111
115
|
// boolean at every call site, and leaving it out let it consume the next
|
|
112
116
|
// positional — on a command whose whole purpose is to NOT delete.
|
|
@@ -307,4 +311,4 @@ export {
|
|
|
307
311
|
parseAuthFlags,
|
|
308
312
|
parseSpawnFlags
|
|
309
313
|
};
|
|
310
|
-
//# sourceMappingURL=chunk-
|
|
314
|
+
//# sourceMappingURL=chunk-CJSHS2K7.js.map
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
sanitizeApiError,
|
|
25
25
|
truncateHqSummary,
|
|
26
26
|
writeInvalidBody
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-AFOH6CHO.js";
|
|
28
28
|
import {
|
|
29
29
|
createHqIpAllowlist
|
|
30
30
|
} from "./chunk-Q7E3BPDU.js";
|
|
@@ -49,6 +49,7 @@ import {
|
|
|
49
49
|
watchHqAuthFile
|
|
50
50
|
} from "@wrongstack/core/hq";
|
|
51
51
|
import { createCompatibilityTrustBoundary } from "@wrongstack/core/security";
|
|
52
|
+
import { isPidAlive } from "@wrongstack/core/utils";
|
|
52
53
|
import { WebSocket as WebSocket4, WebSocketServer } from "ws";
|
|
53
54
|
|
|
54
55
|
// src/hq-recovery-html.ts
|
|
@@ -2890,7 +2891,7 @@ async function handleApiAgentMessages(req, res, match, agentMessages) {
|
|
|
2890
2891
|
async function handleApiSystemUpdate(res) {
|
|
2891
2892
|
const [{ checkForUpdate }, { detectUpdatePackageName }] = await Promise.all([
|
|
2892
2893
|
import("./update-check-VLVT4IV2.js"),
|
|
2893
|
-
import("./update-
|
|
2894
|
+
import("./update-LHCWAWEZ.js")
|
|
2894
2895
|
]);
|
|
2895
2896
|
const packageName = detectUpdatePackageName();
|
|
2896
2897
|
const info = await checkForUpdate({ packageName });
|
|
@@ -5002,14 +5003,7 @@ async function startHqServerWithAuth(options, host, port, dataDir, firstRunAuth)
|
|
|
5002
5003
|
const metadataPath = path8.join(projectDir, ".mailbox-server.json");
|
|
5003
5004
|
const ownerPid = await fs4.readFile(metadataPath, "utf8").then((raw) => JSON.parse(raw).pid).catch(() => void 0);
|
|
5004
5005
|
if (ownerPid === void 0) return;
|
|
5005
|
-
|
|
5006
|
-
try {
|
|
5007
|
-
process.kill(ownerPid, 0);
|
|
5008
|
-
ownerAlive = true;
|
|
5009
|
-
} catch {
|
|
5010
|
-
ownerAlive = false;
|
|
5011
|
-
}
|
|
5012
|
-
if (!ownerAlive) {
|
|
5006
|
+
if (!isPidAlive(ownerPid)) {
|
|
5013
5007
|
await fs4.rm(metadataPath, { force: true }).catch(() => {
|
|
5014
5008
|
});
|
|
5015
5009
|
return;
|
|
@@ -5367,4 +5361,4 @@ export {
|
|
|
5367
5361
|
startHqServer,
|
|
5368
5362
|
HqInsecureExposureError2 as HqInsecureExposureError
|
|
5369
5363
|
};
|
|
5370
|
-
//# sourceMappingURL=chunk-
|
|
5364
|
+
//# sourceMappingURL=chunk-GF7LUWQS.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
loadConfigProviders,
|
|
3
3
|
mutateConfigProviders
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ULYAI7CP.js";
|
|
5
5
|
|
|
6
6
|
// src/provider-cloud-config.ts
|
|
7
7
|
import {
|
|
@@ -34,4 +34,4 @@ async function providerCloudConfig(id, updates, configPath, vault) {
|
|
|
34
34
|
export {
|
|
35
35
|
providerCloudConfig
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=chunk-
|
|
37
|
+
//# sourceMappingURL=chunk-L5NWFP5R.js.map
|
|
@@ -1,48 +1,48 @@
|
|
|
1
1
|
|
|
2
2
|
// src/subcommands/index.ts
|
|
3
3
|
var loaders = {
|
|
4
|
-
automation: async () => (await import("./automation-
|
|
4
|
+
automation: async () => (await import("./automation-3E3AUPBF.js")).automationCmd,
|
|
5
5
|
sandbox: async () => (await import("./sandbox-TYGD6FI2.js")).sandboxCmd,
|
|
6
|
-
acp: async () => (await import("./acp-
|
|
6
|
+
acp: async () => (await import("./acp-QLU7T5WX.js")).acpCmd,
|
|
7
7
|
init: async () => (await import("./init-DRMMFG2G.js")).initCmd,
|
|
8
|
-
auth: async () => (await import("./auth-
|
|
9
|
-
update: async () => (await import("./update-
|
|
8
|
+
auth: async () => (await import("./auth-AED7RW7D.js")).authCmd,
|
|
9
|
+
update: async () => (await import("./update-LHCWAWEZ.js")).updateCmd,
|
|
10
10
|
remote: async () => (await import("./remote-C74BCNND.js")).remoteCmd,
|
|
11
|
-
sessions: async () => (await import("./sessions-config-
|
|
12
|
-
config: async () => (await import("./sessions-config-
|
|
13
|
-
"config-export": async () => (await import("./config-transfer-
|
|
14
|
-
"config-import": async () => (await import("./config-transfer-
|
|
11
|
+
sessions: async () => (await import("./sessions-config-RQRQDW5Q.js")).sessionsCmd,
|
|
12
|
+
config: async () => (await import("./sessions-config-RQRQDW5Q.js")).configCmd,
|
|
13
|
+
"config-export": async () => (await import("./config-transfer-YPD7HYXH.js")).configExportCmd,
|
|
14
|
+
"config-import": async () => (await import("./config-transfer-YPD7HYXH.js")).configImportCmd,
|
|
15
15
|
rewind: async () => (await import("./rewind-7AULJS7F.js")).rewindCmd,
|
|
16
16
|
replay: async () => (await import("./replay-JJ2NOWD6.js")).replayCmd,
|
|
17
17
|
audit: async () => (await import("./audit-KCBTHUQI.js")).auditCmd,
|
|
18
18
|
tools: async () => (await import("./tools-skills-33AI6K6S.js")).toolsCmd,
|
|
19
19
|
skills: async () => (await import("./tools-skills-33AI6K6S.js")).skillsCmd,
|
|
20
|
-
"skill-suggest": async () => (await import("./skill-suggest-
|
|
21
|
-
typesafe: async () => (await import("./typesafe-
|
|
22
|
-
providers: async () => (await import("./providers-models-
|
|
23
|
-
models: async () => (await import("./providers-models-
|
|
20
|
+
"skill-suggest": async () => (await import("./skill-suggest-THANK3LV.js")).skillSuggestCmd,
|
|
21
|
+
typesafe: async () => (await import("./typesafe-KW2XHOG3.js")).typesafeCmd,
|
|
22
|
+
providers: async () => (await import("./providers-models-S3S6VXME.js")).providersCmd,
|
|
23
|
+
models: async () => (await import("./providers-models-S3S6VXME.js")).modelsCmd,
|
|
24
24
|
mcp: async () => (await import("./mcp-LBS45HWZ.js")).mcpCmd,
|
|
25
|
-
plugin: async () => (await import("./plugin-usage-
|
|
26
|
-
plugins: async () => (await import("./plugin-usage-
|
|
25
|
+
plugin: async () => (await import("./plugin-usage-EM752WHG.js")).pluginCmd,
|
|
26
|
+
plugins: async () => (await import("./plugin-usage-EM752WHG.js")).pluginCmd,
|
|
27
27
|
diag: async () => (await import("./diag-doctor-BIZAFIAT.js")).diagCmd,
|
|
28
28
|
doctor: async () => (await import("./diag-doctor-BIZAFIAT.js")).doctorCmd,
|
|
29
29
|
"proxy-status": async () => (await import("./diag-doctor-BIZAFIAT.js")).proxyCmd,
|
|
30
30
|
export: async () => (await import("./export-VVRIOWFV.js")).exportCmd,
|
|
31
|
-
usage: async () => (await import("./plugin-usage-
|
|
32
|
-
version: async () => (await import("./version-help-
|
|
33
|
-
help: async () => (await import("./version-help-
|
|
31
|
+
usage: async () => (await import("./plugin-usage-EM752WHG.js")).usageCmd,
|
|
32
|
+
version: async () => (await import("./version-help-JQGRPDJW.js")).versionCmd,
|
|
33
|
+
help: async () => (await import("./version-help-JQGRPDJW.js")).helpCmd,
|
|
34
34
|
projects: async () => (await import("./projects-T4CZCA25.js")).projectsCmd,
|
|
35
|
-
modeldiag: async () => (await import("./modeldiag-
|
|
35
|
+
modeldiag: async () => (await import("./modeldiag-F3LUF4VJ.js")).modeldiagCmd,
|
|
36
36
|
quick: async () => (await import("./quick-CNB4Z3HS.js")).quickCmd,
|
|
37
37
|
bench: async () => (await import("./bench-MMZHFHDL.js")).benchCmd,
|
|
38
38
|
chronicle: async () => (await import("./chronicle-PBJS7BN6.js")).chronicleCmd,
|
|
39
|
-
hq: async () => (await import("./hq-
|
|
40
|
-
mailbox: async () => (await import("./mailbox-serve-
|
|
39
|
+
hq: async () => (await import("./hq-BBLGEEUH.js")).hqCmd,
|
|
40
|
+
mailbox: async () => (await import("./mailbox-serve-DRWJVMYU.js")).mailboxServeCmd,
|
|
41
41
|
permissions: async () => (await import("./permissions-PL27UHYD.js")).permissionsCmd,
|
|
42
42
|
project: async () => (await import("./project-AOQI5XTK.js")).projectCmd,
|
|
43
|
-
sage: async () => (await import("./sage-
|
|
43
|
+
sage: async () => (await import("./sage-BMRDJCDI.js")).sageCmd,
|
|
44
44
|
governance: async () => (await import("./governance-RYSHV675.js")).governanceCmd,
|
|
45
|
-
"import-claude-code": async () => (await import("./import-claude-code-
|
|
45
|
+
"import-claude-code": async () => (await import("./import-claude-code-GHIS2F7Y.js")).importClaudeCodeCmd
|
|
46
46
|
};
|
|
47
47
|
var subcommands = Object.fromEntries(
|
|
48
48
|
Object.entries(loaders).map(
|
|
@@ -58,4 +58,4 @@ export {
|
|
|
58
58
|
subcommands,
|
|
59
59
|
subcommandNames
|
|
60
60
|
};
|
|
61
|
-
//# sourceMappingURL=chunk-
|
|
61
|
+
//# sourceMappingURL=chunk-LPGZ3NUF.js.map
|