@wrongstack/cli 0.319.0 → 1.0.0
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/data/providers.json +22 -15
- package/dist/{acp-5ANIAOZC.js → acp-3LARESEO.js} +113 -10
- package/dist/acp-hq-telemetry.d.ts +44 -0
- package/dist/{audit-ZPCLCC3C.js → audit-46YK5DSC.js} +1 -2
- package/dist/{auth-KF5TAD7V.js → auth-KIBJZZIE.js} +5 -6
- package/dist/auth-menu/add-provider.d.ts +7 -0
- package/dist/auth-menu/panel-service.d.ts +2 -20
- package/dist/{auto-discover-providers-MHFLDSD3.js → auto-discover-providers-VQU3IZMR.js} +1 -2
- package/dist/{bench-XYG56AMO.js → bench-YBU6BVQP.js} +175 -35
- package/dist/boot/brain-decision-log.d.ts +22 -2
- package/dist/{boot-auto-thin-BZ675EVT.js → boot-auto-thin-MANHOYHE.js} +1 -2
- package/dist/{chronicle-6EPPMUC5.js → chronicle-UTFETHP6.js} +1 -2
- package/dist/{chunk-VWCZL4OH.js → chunk-4HV5RKZH.js} +5 -5
- package/dist/{chunk-42JD25KU.js → chunk-5IA5337I.js} +3 -3
- package/dist/{chunk-7JBKXVMK.js → chunk-C2E24IXZ.js} +44 -32
- package/dist/{chunk-7CECQDNH.js → chunk-D3K4NYQL.js} +1 -1
- package/dist/{chunk-XPX432BZ.js → chunk-DR2OXU46.js} +50 -39
- package/dist/{chunk-4JRIWVJ4.js → chunk-ERX4BLKP.js} +1 -1
- package/dist/chunk-ETYHZPXP.js +52 -0
- package/dist/{chunk-TYO2OVAD.js → chunk-EWKESL4L.js} +8 -4
- package/dist/{chunk-QAC263FZ.js → chunk-FPIWTJ2G.js} +2 -3
- package/dist/{chunk-7YLN7YUA.js → chunk-IMWXXF4J.js} +61 -9
- package/dist/{chunk-G7337TTK.js → chunk-IS2PPBQV.js} +1 -1
- package/dist/{chunk-G3IMKQRH.js → chunk-JHPXJRRI.js} +1 -1
- package/dist/{chunk-XHIEA6LG.js → chunk-MNQQ4ZNF.js} +26 -22
- package/dist/{chunk-P2OKBDCH.js → chunk-MXEJEYT7.js} +53 -14
- package/dist/{chunk-PCBJSXYV.js → chunk-O4A3HHKD.js} +2 -2
- package/dist/{chunk-XYKYXFEE.js → chunk-TE3Q32JP.js} +10 -4
- package/dist/{chunk-H7GABTGS.js → chunk-TEBMCYZN.js} +69 -30
- package/dist/{chunk-E4I2TF5S.js → chunk-TNK6237M.js} +2 -2
- package/dist/{chunk-SYIBTG3X.js → chunk-VOTTENR5.js} +3 -5
- package/dist/chunk-WHOIR577.js +1 -0
- package/dist/{chunk-2ZNBRZ4W.js → chunk-WQZW3RDP.js} +2 -2
- package/dist/{chunk-GGGUZSAU.js → chunk-Z7A5MXKJ.js} +18 -12
- package/dist/{chunk-F5GA2QW2.js → chunk-ZSZ3EYWH.js} +2 -2
- package/dist/{cli-context-LH4QP4W2.js → cli-context-CYMKNOK3.js} +58 -307
- package/dist/{cli-main-72XUFUCL.js → cli-main-TTIVR4DI.js} +925 -329
- package/dist/{diag-doctor-LFCCBPMD.js → diag-doctor-7LYUYU35.js} +4 -6
- package/dist/execute-deps.d.ts +5 -1
- package/dist/{execution-DKJDNPYF.js → execution-3Y55IWBK.js} +512 -469
- package/dist/{export-ROG3DKTZ.js → export-VVRIOWFV.js} +1 -2
- package/dist/{governance-JSGHHA2R.js → governance-RYSHV675.js} +1 -2
- package/dist/{hq-3GWBFLON.js → hq-IG3YRGCO.js} +2 -3
- package/dist/hq-command-controller.d.ts +37 -7
- package/dist/hq-server/routes.d.ts +1 -1
- package/dist/hq-server/ws.d.ts +1 -1
- package/dist/{hq-server-OARPUSQJ.js → hq-server-OILU3NPI.js} +2 -3
- package/dist/{hq-ttl-KUO3AU7X.js → hq-ttl-VJR65OBJ.js} +1 -2
- package/dist/{hq-tunnel-LO55RCZE.js → hq-tunnel-NIJ5EP2Y.js} +1 -2
- package/dist/index.js +5 -6
- package/dist/{init-4JQSG66Q.js → init-DRMMFG2G.js} +1 -2
- package/dist/{kanban-run-mirror-EKVNGXWW.js → kanban-run-mirror-22HQ5FNG.js} +1 -2
- package/dist/live-settings-input.d.ts +2 -0
- package/dist/{mailbox-serve-VKQIRCCB.js → mailbox-serve-VUCWZ2SJ.js} +2 -3
- package/dist/{mcp-AQKSASHD.js → mcp-HOMLC4WE.js} +1 -2
- package/dist/{modeldiag-5FRMT6FQ.js → modeldiag-FMJT37SN.js} +2 -3
- package/dist/{per-subcommand-help-6VCIKDUW.js → per-subcommand-help-BWBHYVJO.js} +2 -3
- package/dist/{permissions-2PWBL4YU.js → permissions-CFDLXETM.js} +1 -2
- package/dist/{plugin-usage-CYUORYM6.js → plugin-usage-HFBI3TFT.js} +2 -3
- package/dist/{plugins-RV3OBBND.js → plugins-PZ2VZL7V.js} +4 -5
- package/dist/{project-BLQ3ALVL.js → project-AOQI5XTK.js} +1 -2
- package/dist/{project-manifest-YFTJ3D5N.js → project-manifest-7NSFVBM3.js} +2 -3
- package/dist/{project-picker-R5TYAE3Q.js → project-picker-SVBXMPKX.js} +3 -4
- package/dist/{projects-5J727S4L.js → projects-L6C6XLDY.js} +1 -2
- package/dist/provider-config-utils.d.ts +1 -1
- package/dist/{providers-models-OKKQZIWU.js → providers-models-YVMVYWRS.js} +3 -4
- package/dist/{proxy-wiring-EQB5X5YH.js → proxy-wiring-MGRSKZZB.js} +3 -4
- package/dist/{quick-XLYLZX4B.js → quick-CNB4Z3HS.js} +1 -2
- package/dist/{replay-RZXZKP2U.js → replay-JJ2NOWD6.js} +1 -2
- package/dist/{replay-FJ2JBXUA.js → replay-Z3FTJEMM.js} +1 -2
- package/dist/{rewind-2FFNOOKS.js → rewind-JA3ZLCNM.js} +1 -2
- package/dist/{sdd-runtime-FLKCSTYV.js → sdd-runtime-PTOSPYI4.js} +2 -3
- package/dist/services/sdd-runtime.d.ts +1 -1
- package/dist/services/statusline-config.d.ts +43 -13
- package/dist/{sessions-config-KAMEBVOX.js → sessions-config-UL45XKX7.js} +2 -3
- package/dist/{sessions-doctor-EXHAZSSE.js → sessions-doctor-QUL37U32.js} +1 -2
- package/dist/short-circuit-flags-6PSP56L7.js +10 -0
- package/dist/{simpleui-dist-JKNRCRRK.js → simpleui-dist-CXSIDAXZ.js} +1 -2
- package/dist/slash-commands/command-context.d.ts +10 -0
- package/dist/slash-commands/sdd.d.ts +1 -1
- package/dist/slash-commands/statusline.d.ts +1 -1
- package/dist/subcommands/handlers/bench-run-config.d.ts +18 -0
- package/dist/subcommands/handlers/bench.d.ts +8 -7
- package/dist/subcommands-HZQKA4G2.js +9 -0
- package/dist/{tools-skills-Q4P27URS.js → tools-skills-GH24UCBY.js} +1 -2
- package/dist/{update-K45CS6SS.js → update-5DPB4YD4.js} +1 -2
- package/dist/{update-check-PKSMSMD6.js → update-check-BS3DHTSI.js} +1 -2
- package/dist/version-help-MYKF724O.js +10 -0
- package/dist/webui-server/client-registration.d.ts +9 -1
- package/dist/{webui-server-SY4EQCKD.js → webui-server-T6AMOXJJ.js} +54 -13
- package/dist/wiring/brain-and-orchestration.d.ts +2 -0
- package/dist/wiring/cli-execute-builder.d.ts +4 -0
- package/dist/wiring/cli-slash-commands-setup.d.ts +1 -0
- package/dist/wiring/command-host-state.d.ts +50 -5
- package/dist/wiring/external-plugins.d.ts +9 -0
- package/dist/wiring/provider-runtime-setup.d.ts +2 -0
- package/dist/wiring/runtime-controller-deps.d.ts +3 -0
- package/dist/wiring/vector-memory-setup.d.ts +12 -0
- package/dist/wiring/wrongtrace-gate.d.ts +2 -2
- package/dist/wiring/wrongtrace-hooks.d.ts +1 -1
- package/dist/wiring/wrongtrace-prompt-contributor.d.ts +5 -2
- package/dist/{wrongtrace-gate-counters-P5BCBXQN.js → wrongtrace-gate-counters-7C2EAAZL.js} +2 -3
- package/dist/{wrongtrace-telemetry-FNLANZ5I.js → wrongtrace-telemetry-3ASFKOZO.js} +2 -3
- package/package.json +28 -28
- package/dist/chunk-7OCVIDC7.js +0 -11
- package/dist/chunk-ALE5KHCA.js +0 -1
- package/dist/chunk-OZDE3OWD.js +0 -52
- package/dist/launch-hints.d.ts +0 -49
- package/dist/short-circuit-flags-U6CJAF6J.js +0 -11
- package/dist/subcommands-J4JMWC5W.js +0 -10
- package/dist/version-help-WMPSEL4U.js +0 -11
- package/dist/webui-server/privileged-actions.d.ts +0 -14
- package/dist/wiring/cli-heap-watchdog.d.ts +0 -34
|
@@ -10,7 +10,6 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
activeProfileConfigPath
|
|
12
12
|
} from "./chunk-YMXXOOFN.js";
|
|
13
|
-
import "./chunk-7OCVIDC7.js";
|
|
14
13
|
|
|
15
14
|
// src/subcommands/handlers/sessions-config.ts
|
|
16
15
|
import { color as color2, expectDefined } from "@wrongstack/core/utils";
|
|
@@ -244,7 +243,7 @@ var sessionsCmd = async (args, deps) => {
|
|
|
244
243
|
return sessionsFleetCmd(args.slice(1), deps);
|
|
245
244
|
}
|
|
246
245
|
if (sub === "doctor") {
|
|
247
|
-
const { sessionsDoctorCmd } = await import("./sessions-doctor-
|
|
246
|
+
const { sessionsDoctorCmd } = await import("./sessions-doctor-QUL37U32.js");
|
|
248
247
|
return sessionsDoctorCmd(args.slice(1), deps);
|
|
249
248
|
}
|
|
250
249
|
if (!deps.sessionStore) {
|
|
@@ -419,4 +418,4 @@ export {
|
|
|
419
418
|
configCmd,
|
|
420
419
|
sessionsCmd
|
|
421
420
|
};
|
|
422
|
-
//# sourceMappingURL=sessions-config-
|
|
421
|
+
//# sourceMappingURL=sessions-config-UL45XKX7.js.map
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import "./chunk-7OCVIDC7.js";
|
|
2
1
|
|
|
3
2
|
// src/subcommands/handlers/sessions-doctor.ts
|
|
4
3
|
import {
|
|
@@ -143,4 +142,4 @@ var sessionsDoctorCmd = async (args, deps) => {
|
|
|
143
142
|
export {
|
|
144
143
|
sessionsDoctorCmd
|
|
145
144
|
};
|
|
146
|
-
//# sourceMappingURL=sessions-doctor-
|
|
145
|
+
//# sourceMappingURL=sessions-doctor-QUL37U32.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import {
|
|
2
|
+
handleHelpVersionShortCircuit
|
|
3
|
+
} from "./chunk-4HV5RKZH.js";
|
|
4
|
+
import "./chunk-FPIWTJ2G.js";
|
|
5
|
+
import "./chunk-XJXDOF63.js";
|
|
6
|
+
import "./chunk-Z7A5MXKJ.js";
|
|
7
|
+
export {
|
|
8
|
+
handleHelpVersionShortCircuit
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=short-circuit-flags-6PSP56L7.js.map
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import "./chunk-7OCVIDC7.js";
|
|
2
1
|
|
|
3
2
|
// src/simpleui-dist.ts
|
|
4
3
|
import { spawn } from "node:child_process";
|
|
@@ -97,4 +96,4 @@ export {
|
|
|
97
96
|
ensureSimpleUiDistDir,
|
|
98
97
|
resolveSimpleUiDistDir
|
|
99
98
|
};
|
|
100
|
-
//# sourceMappingURL=simpleui-dist-
|
|
99
|
+
//# sourceMappingURL=simpleui-dist-CXSIDAXZ.js.map
|
|
@@ -576,7 +576,17 @@ export interface SlashCommandContext {
|
|
|
576
576
|
kind: string;
|
|
577
577
|
question: string;
|
|
578
578
|
outcome: string;
|
|
579
|
+
/** Tier that resolved the decision, when the chain recorded one. */
|
|
580
|
+
tier?: string | undefined;
|
|
579
581
|
}>) | undefined;
|
|
582
|
+
/**
|
|
583
|
+
* Session-lifetime per-tier decision tally for `/brain stats`.
|
|
584
|
+
*
|
|
585
|
+
* Optional: hosts that only wire `getBrainLog` (the WebUI route context,
|
|
586
|
+
* bare test containers) fall back to counting the ring buffer, which is
|
|
587
|
+
* capped at 20 entries and therefore only ever describes the recent past.
|
|
588
|
+
*/
|
|
589
|
+
brainTierStats?: (() => import('@wrongstack/core/coordination').BrainTierStats) | undefined;
|
|
580
590
|
/** Config store for reading/writing config sections at runtime (e.g. settings menu). */
|
|
581
591
|
configStore: import('@wrongstack/core/types').ConfigStore;
|
|
582
592
|
/**
|
|
@@ -5,7 +5,7 @@ export type { TaskProgress } from '@wrongstack/core/types';
|
|
|
5
5
|
export { findSpec, gatherProjectContext, getActiveBuilder, getActiveSDDContext, getActiveSDDPhase, } from '../services/sdd/project-context.js';
|
|
6
6
|
export { autoDetectTaskCompletion, isExplanatoryText, trySaveImplementationPlan, trySaveSpecFromAIOutput, } from '../services/sdd/spec-detection.js';
|
|
7
7
|
export { SDDState, sddState } from '../services/sdd/state.js';
|
|
8
|
-
export { advanceToNextTask, formatElapsed, getCurrentExecutingContext, getTaskGraphId, getTaskListText, getTaskProgress, getTaskTrackerExport, markTaskCompleted, renderTaskListWithProgress, trySaveTasksFromAIOutput } from '../services/sdd/task-manager.js';
|
|
8
|
+
export { advanceToNextTask, formatElapsed, getCurrentExecutingContext, getTaskGraphId, getTaskListText, getTaskProgress, getTaskTrackerExport, markTaskCompleted, renderTaskListWithProgress, trySaveTasksFromAIOutput, } from '../services/sdd/task-manager.js';
|
|
9
9
|
export { renderProgress };
|
|
10
10
|
export declare function getTaskTracker(): TaskTracker | null;
|
|
11
11
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SlashCommand } from '@wrongstack/core/types';
|
|
2
2
|
import { type StatuslineConfigKey, type StatuslineDocument } from '../services/statusline-config.js';
|
|
3
|
-
export { DEFAULTS, ensureStatuslineConfig, loadStatuslineConfig, STATUSLINE_CONFIG_KEYS, STATUSLINE_CONFIG_VERSION, type StatuslineConfig, type StatuslineConfigKey, type StatuslineDocument, saveStatuslineConfig, } from '../services/statusline-config.js';
|
|
3
|
+
export { DEFAULTS, ensureStatuslineConfig, loadStatuslineConfig, loadStatuslineDensities, loadStatuslineLines, STATUSLINE_CONFIG_KEYS, STATUSLINE_CONFIG_VERSION, type StatuslineConfig, type StatuslineConfigKey, type StatuslineDocument, saveStatuslineConfig, saveStatuslineLayout, saveStatuslineLines, } from '../services/statusline-config.js';
|
|
4
4
|
export interface StatuslineCommandDeps {
|
|
5
5
|
cwd: string;
|
|
6
6
|
/** Current hidden items list. Written by the command when toggling. */
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type BenchConfig } from '@wrongstack/bench';
|
|
2
|
+
export declare const DEFAULT_BENCH_MODELS_FILE = "bench.config.json";
|
|
3
|
+
export interface ResolveBenchRunConfigInput {
|
|
4
|
+
suiteId: string;
|
|
5
|
+
cwd: string;
|
|
6
|
+
flags?: Record<string, string | boolean> | undefined;
|
|
7
|
+
savedProvider?: string | undefined;
|
|
8
|
+
savedModel?: string | undefined;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Resolve the model matrix for `wstack bench run`.
|
|
12
|
+
*
|
|
13
|
+
* A missing default `bench.config.json` is not an error — fall through to
|
|
14
|
+
* `--cell`, `--provider`/`--model`, or the saved CLI provider/model. Only an
|
|
15
|
+
* explicit `--models <other-file>` that cannot be read fails closed.
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolveBenchRunConfig(input: ResolveBenchRunConfigInput): Promise<BenchConfig>;
|
|
18
|
+
//# sourceMappingURL=bench-run-config.d.ts.map
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { SubcommandHandler } from '../contracts.js';
|
|
2
2
|
/**
|
|
3
|
-
* `wstack bench` — run model-independent agentic benchmarks (
|
|
4
|
-
* Aider polyglot, SWE-bench Verified) with deterministic
|
|
5
|
-
* fingerprint.
|
|
3
|
+
* `wstack bench` — run model-independent agentic benchmarks (bundled smoke,
|
|
4
|
+
* local manifests, Aider polyglot, SWE-bench Verified) with deterministic
|
|
5
|
+
* graders and a harness fingerprint.
|
|
6
6
|
*
|
|
7
|
-
* wstack bench run
|
|
8
|
-
* wstack bench mine
|
|
9
|
-
* wstack bench report
|
|
10
|
-
* wstack bench
|
|
7
|
+
* wstack bench run --suite <id> [--cell spec | --models config] [...]
|
|
8
|
+
* wstack bench mine --transcript <session.jsonl> [--out <eval-dir>]
|
|
9
|
+
* wstack bench report <dir>
|
|
10
|
+
* wstack bench compare <baseline-dir> <candidate-dir>
|
|
11
|
+
* wstack bench list [--models <config>]
|
|
11
12
|
*/
|
|
12
13
|
export declare const benchCmd: SubcommandHandler;
|
|
13
14
|
//# sourceMappingURL=bench.d.ts.map
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import "./chunk-7OCVIDC7.js";
|
|
2
1
|
|
|
3
2
|
// src/subcommands/handlers/tools-skills.ts
|
|
4
3
|
import { color } from "@wrongstack/core/utils";
|
|
@@ -26,4 +25,4 @@ export {
|
|
|
26
25
|
skillsCmd,
|
|
27
26
|
toolsCmd
|
|
28
27
|
};
|
|
29
|
-
//# sourceMappingURL=tools-skills-
|
|
28
|
+
//# sourceMappingURL=tools-skills-GH24UCBY.js.map
|
|
@@ -6,11 +6,10 @@ import {
|
|
|
6
6
|
} from "./chunk-DE7BZDNK.js";
|
|
7
7
|
import "./chunk-U3SS4NRH.js";
|
|
8
8
|
import "./chunk-YLQEGYV4.js";
|
|
9
|
-
import "./chunk-7OCVIDC7.js";
|
|
10
9
|
export {
|
|
11
10
|
detectUpdatePackageManager,
|
|
12
11
|
detectUpdatePackageName,
|
|
13
12
|
runUpdateCommand,
|
|
14
13
|
updateCmd
|
|
15
14
|
};
|
|
16
|
-
//# sourceMappingURL=update-
|
|
15
|
+
//# sourceMappingURL=update-5DPB4YD4.js.map
|
|
@@ -6,7 +6,6 @@ import {
|
|
|
6
6
|
getUpdateNotification,
|
|
7
7
|
isNewer
|
|
8
8
|
} from "./chunk-YLQEGYV4.js";
|
|
9
|
-
import "./chunk-7OCVIDC7.js";
|
|
10
9
|
export {
|
|
11
10
|
cachePath,
|
|
12
11
|
checkForUpdate,
|
|
@@ -15,4 +14,4 @@ export {
|
|
|
15
14
|
getUpdateNotification,
|
|
16
15
|
isNewer
|
|
17
16
|
};
|
|
18
|
-
//# sourceMappingURL=update-check-
|
|
17
|
+
//# sourceMappingURL=update-check-BS3DHTSI.js.map
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type HqCommandController } from '../hq-command-controller.js';
|
|
2
2
|
export interface WebuiHqControlHooks {
|
|
3
|
-
interruptLeader: () => boolean;
|
|
3
|
+
interruptLeader: (sessionId?: string) => boolean;
|
|
4
4
|
allowRunCommand: () => boolean;
|
|
5
|
+
/** Does this host currently own the named session (an open tab)? */
|
|
6
|
+
ownsSession?: ((sessionId: string) => boolean) | undefined;
|
|
5
7
|
spawnAgent?: HqCommandController['spawnAgent'];
|
|
6
8
|
killFleet?: HqCommandController['killFleet'];
|
|
7
9
|
terminateAgent?: HqCommandController['terminateAgent'];
|
|
@@ -12,6 +14,12 @@ export interface WebuiClientRegistrationDeps {
|
|
|
12
14
|
events: import('@wrongstack/core/kernel').EventBus;
|
|
13
15
|
hqSessionId: string;
|
|
14
16
|
getSessionId: () => string;
|
|
17
|
+
/** Session ids the connected browsers display — one per open tab. */
|
|
18
|
+
listSessions?: (() => readonly string[]) | undefined;
|
|
19
|
+
/** Sessions another publisher in this process already announces to HQ. */
|
|
20
|
+
isSessionOwnedElsewhere?: ((sessionId: string) => boolean) | undefined;
|
|
21
|
+
/** A tab's own session writer, so HQ streams its turns without a disk tail. */
|
|
22
|
+
getSessionWriter?: ((sessionId: string) => import('@wrongstack/core/types').SessionWriter | undefined) | undefined;
|
|
15
23
|
hqControl?: WebuiHqControlHooks | undefined;
|
|
16
24
|
}
|
|
17
25
|
export interface WebuiClientRegistration {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createHqCommandDispatcher
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-IMWXXF4J.js";
|
|
4
4
|
import {
|
|
5
5
|
WEBUI_SESSION_CHILD_CAPABILITIES
|
|
6
6
|
} from "./chunk-GPPRNAKW.js";
|
|
@@ -9,12 +9,11 @@ import {
|
|
|
9
9
|
} from "./chunk-VCYZ3WZV.js";
|
|
10
10
|
import {
|
|
11
11
|
startCliHqConnection
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-TE3Q32JP.js";
|
|
13
13
|
import {
|
|
14
14
|
loadConfigProviders,
|
|
15
15
|
mutateConfigProviders
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-7OCVIDC7.js";
|
|
16
|
+
} from "./chunk-DR2OXU46.js";
|
|
18
17
|
|
|
19
18
|
// src/webui-server.ts
|
|
20
19
|
import * as path7 from "node:path";
|
|
@@ -41,6 +40,7 @@ import {
|
|
|
41
40
|
resolvePendingConfirmsForSession,
|
|
42
41
|
scheduleOwnerlessEmptySessionCleanup,
|
|
43
42
|
sendSerialized,
|
|
43
|
+
stampDispatchSession,
|
|
44
44
|
startTerminalDashboard,
|
|
45
45
|
startWebUILiveStatusLogger,
|
|
46
46
|
toSessionHistoryEntries
|
|
@@ -48,6 +48,7 @@ import {
|
|
|
48
48
|
import { WebSocketServer } from "ws";
|
|
49
49
|
|
|
50
50
|
// src/webui-server/client-registration.ts
|
|
51
|
+
import { mailboxSessionTag } from "@wrongstack/core/coordination";
|
|
51
52
|
import { createWebuiClientPresence } from "@wrongstack/webui-server";
|
|
52
53
|
function createWebuiClientRegistration(deps) {
|
|
53
54
|
const control = deps.hqControl;
|
|
@@ -57,6 +58,9 @@ function createWebuiClientRegistration(deps) {
|
|
|
57
58
|
events: deps.events,
|
|
58
59
|
hqSessionId: deps.hqSessionId,
|
|
59
60
|
getSessionId: deps.getSessionId,
|
|
61
|
+
...deps.listSessions ? { listSessions: deps.listSessions } : {},
|
|
62
|
+
...deps.isSessionOwnedElsewhere ? { isSessionOwnedElsewhere: deps.isSessionOwnedElsewhere } : {},
|
|
63
|
+
...deps.getSessionWriter ? { getSessionWriter: deps.getSessionWriter } : {},
|
|
60
64
|
startHqConnection: (options) => startCliHqConnection({
|
|
61
65
|
...options,
|
|
62
66
|
capabilities: options.capabilities
|
|
@@ -66,7 +70,17 @@ function createWebuiClientRegistration(deps) {
|
|
|
66
70
|
steerMailbox: mailbox,
|
|
67
71
|
interruptLeader: control.interruptLeader,
|
|
68
72
|
allowRunCommand: control.allowRunCommand,
|
|
69
|
-
|
|
73
|
+
// The session HQ actually SHOWS for this client — the boot
|
|
74
|
+
// session the telemetry bridge publishes under and the only one
|
|
75
|
+
// `interruptLeader` speaks for. `getSessionId` follows whichever
|
|
76
|
+
// browser tab is in front, which is a different session HQ has
|
|
77
|
+
// no view of and cannot control.
|
|
78
|
+
sessionTag: () => mailboxSessionTag(deps.hqSessionId),
|
|
79
|
+
// The session HQ falls back to when a command names none — the
|
|
80
|
+
// boot tab. A command that DOES name one is honoured (and
|
|
81
|
+
// refused when this host no longer has it) via `ownsSession`.
|
|
82
|
+
sessionId: () => deps.hqSessionId,
|
|
83
|
+
...control.ownsSession ? { ownsSession: control.ownsSession } : {},
|
|
70
84
|
...control.spawnAgent ? { spawnAgent: control.spawnAgent } : {},
|
|
71
85
|
...control.killFleet ? { killFleet: control.killFleet } : {},
|
|
72
86
|
...control.terminateAgent ? { terminateAgent: control.terminateAgent } : {}
|
|
@@ -1175,7 +1189,7 @@ function createSessionStartPayloadBuilder(deps) {
|
|
|
1175
1189
|
}
|
|
1176
1190
|
|
|
1177
1191
|
// src/webui-server/setup-events.ts
|
|
1178
|
-
import { mailboxSessionTag } from "@wrongstack/core/coordination";
|
|
1192
|
+
import { mailboxSessionTag as mailboxSessionTag2 } from "@wrongstack/core/coordination";
|
|
1179
1193
|
import {
|
|
1180
1194
|
createEternalSubscription,
|
|
1181
1195
|
setupEvents as setupCanonicalEvents
|
|
@@ -1246,7 +1260,7 @@ function createSetupEvents(deps) {
|
|
|
1246
1260
|
type: "subagent.event",
|
|
1247
1261
|
payload: deps.sessionPayload({
|
|
1248
1262
|
kind: "leader_updated",
|
|
1249
|
-
subagentId: `leader@${
|
|
1263
|
+
subagentId: `leader@${mailboxSessionTag2(deps.currentSessionId())}`,
|
|
1250
1264
|
isLeader: true,
|
|
1251
1265
|
name: "Leader",
|
|
1252
1266
|
status: "running"
|
|
@@ -1303,7 +1317,9 @@ async function runWebUI(opts) {
|
|
|
1303
1317
|
const terminalLogView = startTerminalDashboard({
|
|
1304
1318
|
title: surface === "simpleui" ? "SimpleUI" : "WebUI",
|
|
1305
1319
|
quiet: !envFlag("WEBUI_LOGS"),
|
|
1306
|
-
|
|
1320
|
+
// The dashboard is operator-owned terminal output, so retain the full
|
|
1321
|
+
// authenticated access URL here even though startup logs remain redacted.
|
|
1322
|
+
getUrl: () => accessUrl
|
|
1307
1323
|
});
|
|
1308
1324
|
const strictPort = opts.strictPort ?? isStrictPort();
|
|
1309
1325
|
let httpPort = requestedHttpPort;
|
|
@@ -1389,6 +1405,23 @@ async function runWebUI(opts) {
|
|
|
1389
1405
|
events: opts.events,
|
|
1390
1406
|
hqSessionId: opts.session.id,
|
|
1391
1407
|
getSessionId: () => opts.agent.ctx.session?.id ?? opts.session.id,
|
|
1408
|
+
// One HQ session per open tab. The set is the same one the terminal
|
|
1409
|
+
// panel lists: every session a connected browser is displaying.
|
|
1410
|
+
listSessions: () => {
|
|
1411
|
+
const ids = /* @__PURE__ */ new Set();
|
|
1412
|
+
for (const client of clients.values()) {
|
|
1413
|
+
if (client.sessionId) ids.add(client.sessionId);
|
|
1414
|
+
for (const id of client.sessionIds ?? []) ids.add(id);
|
|
1415
|
+
}
|
|
1416
|
+
return [...ids];
|
|
1417
|
+
},
|
|
1418
|
+
// `cli-main` already runs a tracker and a bridge for the boot session.
|
|
1419
|
+
// Announcing it here too would put two trackers on one bus flushing the
|
|
1420
|
+
// same agent list.
|
|
1421
|
+
isSessionOwnedElsewhere: (sessionId) => sessionId === opts.session.id,
|
|
1422
|
+
// The tab's own journal, so HQ takes its turns from the write path
|
|
1423
|
+
// instead of tailing the file.
|
|
1424
|
+
getSessionWriter: (sessionId) => sessionAgentsRef?.peek(sessionId)?.ctx.session,
|
|
1392
1425
|
hqControl: {
|
|
1393
1426
|
// HQ speaks for the LEADER — the boot session, the one it registered
|
|
1394
1427
|
// itself under (`hqSessionId`) — not for whatever else the browser
|
|
@@ -1397,8 +1430,12 @@ async function runWebUI(opts) {
|
|
|
1397
1430
|
// the three other tabs' in-flight runs. Deleting the entries was
|
|
1398
1431
|
// wrong on its own terms too: the run's own `end()` owns removal, and
|
|
1399
1432
|
// clearing early makes `isRunActive` lie to every tab still running.
|
|
1400
|
-
|
|
1401
|
-
|
|
1433
|
+
// Every open tab is its own session with its own abort controller, so
|
|
1434
|
+
// the command's session is the one that gets stopped. Falling back to
|
|
1435
|
+
// the boot session keeps a dashboard that sends no session — every one
|
|
1436
|
+
// before this existed — behaving exactly as before.
|
|
1437
|
+
interruptLeader: (sessionId) => {
|
|
1438
|
+
const leaderId = sessionId ?? opts.session.id;
|
|
1402
1439
|
const controller = abortControllers.get(leaderId);
|
|
1403
1440
|
if (!controller) return false;
|
|
1404
1441
|
controller.abort();
|
|
@@ -1408,7 +1445,11 @@ async function runWebUI(opts) {
|
|
|
1408
1445
|
}
|
|
1409
1446
|
return true;
|
|
1410
1447
|
},
|
|
1411
|
-
allowRunCommand: () => opts.hqAllowExec === true
|
|
1448
|
+
allowRunCommand: () => opts.hqAllowExec === true,
|
|
1449
|
+
// A command naming a tab this process no longer holds is refused, not
|
|
1450
|
+
// redirected onto the boot session: the operator picked a terminal,
|
|
1451
|
+
// and steering a different one is worse than not steering at all.
|
|
1452
|
+
ownsSession: (sessionId) => sessionId === opts.session.id || sessionAgentsRef?.has(sessionId) === true
|
|
1412
1453
|
}
|
|
1413
1454
|
});
|
|
1414
1455
|
registerWebuiClient();
|
|
@@ -1888,7 +1929,7 @@ async function runWebUI(opts) {
|
|
|
1888
1929
|
registerWebuiSignalHandlers(signalShutdown);
|
|
1889
1930
|
});
|
|
1890
1931
|
function send(ws, msg) {
|
|
1891
|
-
sendSerialized(ws, JSON.stringify(msg));
|
|
1932
|
+
sendSerialized(ws, JSON.stringify(stampDispatchSession(msg)));
|
|
1892
1933
|
}
|
|
1893
1934
|
function broadcast(msg, targetSessionId) {
|
|
1894
1935
|
const data = JSON.stringify(msg);
|
|
@@ -1910,4 +1951,4 @@ async function runWebUI(opts) {
|
|
|
1910
1951
|
export {
|
|
1911
1952
|
runWebUI
|
|
1912
1953
|
};
|
|
1913
|
-
//# sourceMappingURL=webui-server-
|
|
1954
|
+
//# sourceMappingURL=webui-server-T6AMOXJJ.js.map
|
|
@@ -67,6 +67,8 @@ interface BrainOrchestrationDeps {
|
|
|
67
67
|
interface BrainOrchestrationResult {
|
|
68
68
|
brain: ObservableBrainArbiter;
|
|
69
69
|
brainLog: AnyObj[];
|
|
70
|
+
/** Session-lifetime per-tier decision tally for `/brain stats`. */
|
|
71
|
+
brainTierStats: () => import('@wrongstack/core/coordination').BrainTierStats;
|
|
70
72
|
brainSettings: BrainRuntimeSettings;
|
|
71
73
|
/** Live-editable Brain config owner (apply = live + persist-to-global). */
|
|
72
74
|
brainRuntime: BrainRuntime;
|
|
@@ -54,6 +54,7 @@ export declare function runCliExecution(params: {
|
|
|
54
54
|
resolvedProvider: X['provider']['resolvedProvider'];
|
|
55
55
|
logger: Logger;
|
|
56
56
|
switchProviderAndModel: X['provider']['switchProviderAndModel'];
|
|
57
|
+
reloadProviderConfig: () => Promise<void>;
|
|
57
58
|
applyMaxContext: NonNullable<X['provider']['onModelContextResolved']>;
|
|
58
59
|
renderer: X['ui']['renderer'];
|
|
59
60
|
reader: X['ui']['reader'];
|
|
@@ -86,6 +87,9 @@ export declare function runCliExecution(params: {
|
|
|
86
87
|
statuslineLines?: RC['statuslineLines'];
|
|
87
88
|
setStatuslineLines?: NonNullable<RC['setStatuslineLines']>;
|
|
88
89
|
saveStatuslineLines?: NonNullable<RC['saveStatuslineLines']>;
|
|
90
|
+
statuslineDensities?: RC['statuslineDensities'];
|
|
91
|
+
setStatuslineDensities?: NonNullable<RC['setStatuslineDensities']>;
|
|
92
|
+
saveStatuslineDensities?: NonNullable<RC['saveStatuslineDensities']>;
|
|
89
93
|
setYoloMode: NonNullable<RC['getYolo']>;
|
|
90
94
|
autonomyMode: ReturnType<RC['getAutonomy']>;
|
|
91
95
|
setAutonomyMode: NonNullable<RC['setAutonomy']>;
|
|
@@ -62,6 +62,7 @@ export declare function setupCliSlashCommands(params: {
|
|
|
62
62
|
brainSettings: B['brainSettings'];
|
|
63
63
|
brainRuntime: B['brainRuntime'];
|
|
64
64
|
initialBrainLog: ReturnType<NonNullable<B['getBrainLog']>>;
|
|
65
|
+
brainTierStats: NonNullable<B['brainTierStats']>;
|
|
65
66
|
coordinatorController: B['coordinatorController'];
|
|
66
67
|
statusTracker: B['statusTracker'];
|
|
67
68
|
shadowController: B['shadowController'];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/** Mutable command-host state created after the runtime fleet is available. */
|
|
2
2
|
import { type BrainArbiter, type Director } from '@wrongstack/core/coordination';
|
|
3
3
|
import type { EventBus } from '@wrongstack/core/kernel';
|
|
4
|
+
import type { StatuslineDensities, StatuslineLines } from '@wrongstack/core/statusline';
|
|
4
5
|
import { type Config, type SessionWriter } from '@wrongstack/core/types';
|
|
5
6
|
import type { WstackPaths } from '@wrongstack/core/utils';
|
|
6
7
|
import { SddRunRegistry } from '@wrongstack/sdd';
|
|
@@ -8,7 +9,6 @@ import type { HqCommandController } from '../hq-command-controller.js';
|
|
|
8
9
|
import type { ReadlineInputReader } from '../input-reader.js';
|
|
9
10
|
import type { MultiAgentHost } from '../multi-agent.js';
|
|
10
11
|
import type { TerminalRenderer } from '../renderer.js';
|
|
11
|
-
import type { StatuslineLines } from '@wrongstack/core/statusline';
|
|
12
12
|
interface CommandHostStateInput {
|
|
13
13
|
getConfig: () => Config;
|
|
14
14
|
setConfig: (config: Config) => void;
|
|
@@ -44,10 +44,10 @@ export declare function setupCommandHostState(input: CommandHostStateInput): Pro
|
|
|
44
44
|
interruptController: import("./controllers.js").InterruptController;
|
|
45
45
|
enhanceController: import("./controllers.js").EnhanceController;
|
|
46
46
|
statuslineConfigDeps: import("./controllers.js").StatuslineConfigDeps;
|
|
47
|
-
statuslineHiddenItems: ("
|
|
48
|
-
getCurrentHiddenItems: () => ("
|
|
49
|
-
setStatuslineHiddenItems: (items: ("
|
|
50
|
-
saveStatuslineHiddenItems: (items: ("
|
|
47
|
+
statuslineHiddenItems: import("@wrongstack/core/statusline").StatuslineItem[];
|
|
48
|
+
getCurrentHiddenItems: () => import("@wrongstack/core/statusline").StatuslineItem[];
|
|
49
|
+
setStatuslineHiddenItems: (items: import("@wrongstack/core/statusline").StatuslineItem[]) => void;
|
|
50
|
+
saveStatuslineHiddenItems: (items: import("@wrongstack/core/statusline").StatuslineItem[]) => Promise<void>;
|
|
51
51
|
statuslineLines: {
|
|
52
52
|
auto_proceed?: import("@wrongstack/core/statusline").StatuslineLine;
|
|
53
53
|
autonomy?: import("@wrongstack/core/statusline").StatuslineLine;
|
|
@@ -93,6 +93,51 @@ export declare function setupCommandHostState(input: CommandHostStateInput): Pro
|
|
|
93
93
|
getCurrentStatuslineLines: () => Partial<Record<import("@wrongstack/core/statusline").StatuslineItem, import("@wrongstack/core/statusline").StatuslineLine>>;
|
|
94
94
|
setStatuslineLines: (next: StatuslineLines) => void;
|
|
95
95
|
saveStatuslineLines: (next: StatuslineLines) => Promise<void>;
|
|
96
|
+
statuslineDensities: {
|
|
97
|
+
auto_proceed?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
98
|
+
autonomy?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
99
|
+
brain?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
100
|
+
breaker?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
101
|
+
cache?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
102
|
+
context?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
103
|
+
cost?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
104
|
+
debug_stream?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
105
|
+
dropped_tools?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
106
|
+
elapsed?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
107
|
+
enhance?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
108
|
+
eternal_stage?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
109
|
+
fleet?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
110
|
+
fleet_agents?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
111
|
+
git?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
112
|
+
goal?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
113
|
+
hint?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
114
|
+
index?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
115
|
+
mailbox?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
116
|
+
memory_context?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
117
|
+
mode?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
118
|
+
model?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
119
|
+
next_steps?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
120
|
+
plan?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
121
|
+
processes?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
122
|
+
project?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
123
|
+
prompt_variant?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
124
|
+
queue?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
125
|
+
sessions?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
126
|
+
side_effects?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
127
|
+
state?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
128
|
+
tasks?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
129
|
+
theme?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
130
|
+
todos?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
131
|
+
token_saving?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
132
|
+
tokens?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
133
|
+
tools?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
134
|
+
version?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
135
|
+
working_dir?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
136
|
+
yolo?: import("@wrongstack/core/statusline").StatuslineDensity;
|
|
137
|
+
};
|
|
138
|
+
getCurrentStatuslineDensities: () => Partial<Record<import("@wrongstack/core/statusline").StatuslineItem, import("@wrongstack/core/statusline").StatuslineDensity>>;
|
|
139
|
+
setStatuslineDensities: (next: StatuslineDensities) => void;
|
|
140
|
+
saveStatuslineDensities: (next: StatuslineDensities) => Promise<void>;
|
|
96
141
|
agentsMonitorController: import("./controllers.js").AgentsMonitorController;
|
|
97
142
|
onPanelOpen: {
|
|
98
143
|
current: ((action: string) => boolean) | null;
|
|
@@ -25,6 +25,15 @@
|
|
|
25
25
|
* First-party/built-in plugins never enter this module.
|
|
26
26
|
*/
|
|
27
27
|
import type { Config, Logger, Plugin } from '@wrongstack/core/types';
|
|
28
|
+
/** Policy for the external-plugin trust gate. See FeaturesConfig.pluginsTrust. */
|
|
29
|
+
export type ExternalPluginTrustMode = 'off' | 'required' | 'tofu' | 'advisory';
|
|
30
|
+
/**
|
|
31
|
+
* Resolve the trust mode from config. `true`, `undefined`, and `'tofu'` all
|
|
32
|
+
* map to the documented default (trust on first use); `false` skips the
|
|
33
|
+
* gate; unknown strings fall back to the default rather than inventing
|
|
34
|
+
* behavior.
|
|
35
|
+
*/
|
|
36
|
+
export declare function resolveExternalPluginTrustMode(raw: boolean | string | undefined): ExternalPluginTrustMode;
|
|
28
37
|
/** Resolve a `file:` URL / absolute / relative path to an absolute fs path. */
|
|
29
38
|
export declare function normalizeConfigPath(raw: string, projectRoot: string): string;
|
|
30
39
|
/**
|
|
@@ -62,6 +62,8 @@ interface ProviderRuntimeResult {
|
|
|
62
62
|
refreshMaxContextFor: (providerId: string, modelId: string) => Promise<void>;
|
|
63
63
|
refreshRuntimeModelStateFor: (providerId: string, modelId: string) => Promise<void>;
|
|
64
64
|
switchProviderAndModel: (providerId: string, modelId: string) => Promise<string | null>;
|
|
65
|
+
/** Immediately apply the same merged snapshot used by the file watcher. */
|
|
66
|
+
reloadProviderConfig: () => Promise<void>;
|
|
65
67
|
}
|
|
66
68
|
/**
|
|
67
69
|
* Wire runtime provider-config helpers, fallback model extension,
|
|
@@ -22,6 +22,9 @@ interface RuntimeControllerDepsInput {
|
|
|
22
22
|
statuslineLines?: ControllerDeps['statuslineLines'];
|
|
23
23
|
setStatuslineLines?: ControllerDeps['setStatuslineLines'];
|
|
24
24
|
saveStatuslineLines?: ControllerDeps['saveStatuslineLines'];
|
|
25
|
+
statuslineDensities?: ControllerDeps['statuslineDensities'];
|
|
26
|
+
setStatuslineDensities?: ControllerDeps['setStatuslineDensities'];
|
|
27
|
+
saveStatuslineDensities?: ControllerDeps['saveStatuslineDensities'];
|
|
25
28
|
getYolo: NonNullable<ControllerDeps['getYolo']>;
|
|
26
29
|
onYolo: NonNullable<ControllerDeps['onYolo']>;
|
|
27
30
|
getAutonomy: () => AutonomyMode;
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
import type { MemoryPort } from '@wrongstack/core/types';
|
|
2
2
|
import { VectorMemoryStore } from '@wrongstack/vector-memory';
|
|
3
|
+
/** Subset of `Config['Sage']['vector']` this phase reads. */
|
|
4
|
+
export interface VectorMemoryTuning {
|
|
5
|
+
enabled?: boolean | undefined;
|
|
6
|
+
weight?: number | undefined;
|
|
7
|
+
threshold?: number | undefined;
|
|
8
|
+
vectorOnlyThreshold?: number | undefined;
|
|
9
|
+
maxMaterializations?: number | undefined;
|
|
10
|
+
}
|
|
11
|
+
/** Weight of the semantic channel in the RRF blend when config says nothing. */
|
|
12
|
+
export declare const DEFAULT_VECTOR_WEIGHT = 0.3;
|
|
3
13
|
interface VectorMemoryArgs {
|
|
4
14
|
projectRoot: string;
|
|
5
15
|
flags: {
|
|
6
16
|
'vector-sync'?: unknown;
|
|
7
17
|
};
|
|
18
|
+
/** `config.Sage?.vector`. Omitted = every default applies. */
|
|
19
|
+
tuning?: VectorMemoryTuning | undefined;
|
|
8
20
|
logger: {
|
|
9
21
|
warn: (message: string) => void;
|
|
10
22
|
info: (message: string) => void;
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
* working unchanged through this shim. NOTE: this is NOT core/utils'
|
|
9
9
|
* `withFileLock` (a local file lock) — same name, different mechanism.
|
|
10
10
|
*/
|
|
11
|
-
export { getWrongTrace, preflightFileEdit, resetWrongTraceGate, withFileLock, } from
|
|
12
|
-
export type { PreflightOptions, PreflightVerdict } from
|
|
11
|
+
export { getWrongTrace, preflightFileEdit, resetWrongTraceGate, withFileLock, } from '@wrongstack/wrongtrace';
|
|
12
|
+
export type { PreflightOptions, PreflightVerdict } from '@wrongstack/wrongtrace';
|
|
13
13
|
//# sourceMappingURL=wrongtrace-gate.d.ts.map
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
* shared by every host process that executes tools.
|
|
5
5
|
*/
|
|
6
6
|
export { createWrongTraceHookPair } from '@wrongstack/wrongtrace';
|
|
7
|
-
export type { WrongTraceGateDecisionEvent, WrongTraceHookInput, WrongTraceHookOptions, WrongTraceHookPair, WrongTracePreToolUseOutcome, } from
|
|
7
|
+
export type { WrongTraceGateDecisionEvent, WrongTraceHookInput, WrongTraceHookOptions, WrongTraceHookPair, WrongTracePreToolUseOutcome, } from '@wrongstack/wrongtrace';
|
|
8
8
|
//# sourceMappingURL=wrongtrace-hooks.d.ts.map
|
|
@@ -14,10 +14,13 @@
|
|
|
14
14
|
* - Registered in `bindSystemPromptBuilder`'s contributors array, after
|
|
15
15
|
* the ETERNAL AUTONOMY contributor (registration order is preserved).
|
|
16
16
|
*/
|
|
17
|
-
import type { SystemPromptContributor } from '@wrongstack/core/types';
|
|
17
|
+
import type { SystemPromptContributor, TokenSavingTier } from '@wrongstack/core/types';
|
|
18
|
+
export interface WrongTracePromptContributorOptions {
|
|
19
|
+
tokenSavingMode?: TokenSavingTier | boolean | undefined;
|
|
20
|
+
}
|
|
18
21
|
/**
|
|
19
22
|
* Build the contributor. Fresh instance per `bindSystemPromptBuilder` call
|
|
20
23
|
* (i.e. per process); cheap since the gate singleton is process-shared.
|
|
21
24
|
*/
|
|
22
|
-
export declare function createWrongTracePromptContributor(): SystemPromptContributor;
|
|
25
|
+
export declare function createWrongTracePromptContributor(options?: WrongTracePromptContributorOptions): SystemPromptContributor;
|
|
23
26
|
//# sourceMappingURL=wrongtrace-prompt-contributor.d.ts.map
|
|
@@ -7,8 +7,7 @@ import {
|
|
|
7
7
|
recordGateDecision,
|
|
8
8
|
resetGateDecisions,
|
|
9
9
|
snapshotGateDecisions
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-7OCVIDC7.js";
|
|
10
|
+
} from "./chunk-D3K4NYQL.js";
|
|
12
11
|
export {
|
|
13
12
|
countersFilePath,
|
|
14
13
|
createWrongTraceGateCounter,
|
|
@@ -19,4 +18,4 @@ export {
|
|
|
19
18
|
resetGateDecisions,
|
|
20
19
|
snapshotGateDecisions
|
|
21
20
|
};
|
|
22
|
-
//# sourceMappingURL=wrongtrace-gate-counters-
|
|
21
|
+
//# sourceMappingURL=wrongtrace-gate-counters-7C2EAAZL.js.map
|