@wrongstack/cli 1.1.4 → 1.1.5
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-MZ5MQBFN.js → acp-NKUEYJDZ.js} +6 -5
- package/dist/acp-leader/acp-leader-confirm.d.ts +2 -0
- package/dist/acp-leader/acp-leader-host-binding.d.ts +1 -0
- package/dist/acp-leader/acp-leader-host.d.ts +2 -0
- package/dist/acp-leader/acp-leader-picker.d.ts +6 -3
- package/dist/acp-leader/acp-leader-stream.d.ts +1 -0
- package/dist/{auth-IHQS6AFW.js → auth-2ZG5DBHS.js} +4 -4
- package/dist/boot/launch-menu-arrow.d.ts +20 -0
- package/dist/boot/launch-menu-types.d.ts +36 -0
- package/dist/boot/launch-menu.d.ts +1 -57
- package/dist/boot/tui-session-resume-rollback.d.ts +31 -0
- package/dist/{boot-auto-thin-7D4OVEWA.js → boot-auto-thin-N2CIGTXE.js} +3 -3
- package/dist/{chunk-TZPKOS5G.js → chunk-2XQ6SRKG.js} +2 -2
- package/dist/{chunk-JKTJSLUT.js → chunk-5SGMUDP5.js} +242 -18
- package/dist/{chunk-3EXRPTAU.js → chunk-5TQ65PXQ.js} +17 -17
- package/dist/{chunk-2LTHDKZX.js → chunk-7BM4LGKQ.js} +18 -18
- package/dist/{chunk-VAQXOZKP.js → chunk-AJM4EFCM.js} +139 -136
- package/dist/{chunk-C2BBH4S4.js → chunk-E3MJFAFR.js} +2 -2
- package/dist/{chunk-AWRZWPJ3.js → chunk-JFYQGMMM.js} +99 -75
- package/dist/{chunk-BIGSVBPI.js → chunk-KNYIEQAY.js} +64 -61
- package/dist/{chunk-GKGWPFW2.js → chunk-LUEO5HLZ.js} +1 -1
- package/dist/chunk-LYWOV4OX.js +252 -0
- package/dist/{chunk-COGI7EQU.js → chunk-M7FNHCE3.js} +621 -9
- package/dist/{chunk-75OLD563.js → chunk-M7PSENGF.js} +3 -1
- package/dist/{chunk-TAE3EGBM.js → chunk-MEBXWI7U.js} +5 -5
- package/dist/{chunk-I5LJLKA3.js → chunk-MKMM5RIW.js} +12 -5
- package/dist/{chunk-ZF4HRR5F.js → chunk-P7MEEUGT.js} +275 -250
- package/dist/chunk-QLYPIJ7X.js +258 -0
- package/dist/chunk-RN5CFAVQ.js +292 -0
- package/dist/{chunk-WDXNBYGD.js → chunk-TDP7CZGE.js} +6 -1
- package/dist/{chunk-6VPWQ4TG.js → chunk-UROB7MK5.js} +2 -1
- package/dist/chunk-VEESMPTX.js +254 -0
- package/dist/{chunk-IJLIAPCW.js → chunk-VPSAKGLK.js} +47 -47
- package/dist/{cli-context-E44HQ4ZO.js → cli-context-CQYGIWOU.js} +247 -236
- package/dist/{cli-main-OT63I2FX.js → cli-main-VRUJNUBX.js} +1743 -1491
- package/dist/cli-main-boot.d.ts +1 -1
- package/dist/config-doctor-known-keys.d.ts +33 -0
- package/dist/config-doctor.d.ts +2 -47
- package/dist/config-history-support.d.ts +36 -0
- package/dist/config-history.d.ts +1 -1
- package/dist/{config-transfer-Y7XJMJRN.js → config-transfer-B4GOZTFC.js} +2 -2
- package/dist/{execution-OK34CJKJ.js → execution-IV72RUSM.js} +5883 -5792
- package/dist/execution-tui.d.ts +30 -0
- package/dist/fleet/acp-wrongstack-bridge.d.ts +11 -3
- package/dist/fleet/host-acp.d.ts +3 -0
- package/dist/fleet/wrongforge-client.d.ts +116 -0
- package/dist/fleet/wrongforge-gateway.d.ts +20 -0
- package/dist/fleet/wrongforge-info.d.ts +32 -0
- package/dist/fleet/wrongforge-quota.d.ts +10 -0
- package/dist/fleet/wrongforge-runner.d.ts +37 -0
- package/dist/fleet/wrongforge-runtime.d.ts +10 -0
- package/dist/{hq-JD5AZVMG.js → hq-54PQYR5O.js} +311 -307
- package/dist/hq-server/sweeps.d.ts +28 -0
- package/dist/{hq-server-BI23EPM7.js → hq-server-YK7FBLL6.js} +3 -3
- package/dist/index.js +5 -5
- package/dist/mcp-22CFBX4H.js +236 -0
- package/dist/mcp-serve.d.ts +0 -63
- package/dist/{modeldiag-HDIKG37X.js → modeldiag-5PBB777J.js} +4 -4
- package/dist/{per-subcommand-help-4GYSCMLU.js → per-subcommand-help-MQGERD4E.js} +2 -2
- package/dist/plugin-llm-command.d.ts +9 -0
- package/dist/{plugin-usage-TYF5HY4K.js → plugin-usage-UWKYMNQU.js} +3 -3
- package/dist/{plugins-XGAXDLPT.js → plugins-VP7JQH47.js} +4 -4
- package/dist/{sdd-runtime-6MFUXWJK.js → sdd-runtime-HIJ4Z5TF.js} +2 -2
- package/dist/services/sdd/state.d.ts +2 -0
- package/dist/session-event-wiring-types.d.ts +62 -0
- package/dist/session-event-wiring.d.ts +2 -52
- package/dist/{sessions-config-SJVQXCIE.js → sessions-config-7MK742OW.js} +2 -2
- package/dist/short-circuit-flags-AGHURHMQ.js +11 -0
- package/dist/slash-commands/command-context-fleet.d.ts +187 -0
- package/dist/slash-commands/command-context-sdd-goal.d.ts +102 -0
- package/dist/slash-commands/command-context.d.ts +3 -282
- package/dist/slash-commands/project-switch-interactive.d.ts +11 -0
- package/dist/slash-commands/setmodel-helpers.d.ts +36 -0
- package/dist/subcommands/handlers/hq-token.d.ts +3 -0
- package/dist/subcommands/handlers/hq.d.ts +0 -21
- package/dist/subcommands/handlers/per-subcommand-help-operations.d.ts +8 -0
- package/dist/subcommands/handlers/tools-cli-args.d.ts +57 -0
- package/dist/subcommands/handlers/tools-cli.d.ts +5 -0
- package/dist/subcommands/handlers/tools-serve.d.ts +4 -0
- package/dist/{subcommands-YADUV7IJ.js → subcommands-OCJNO57E.js} +2 -2
- package/dist/tool-gateway-http.d.ts +30 -0
- package/dist/tool-gateway.d.ts +185 -0
- package/dist/tools-cli-44MLIUQO.js +509 -0
- package/dist/tools-serve-TRCET2M7.js +102 -0
- package/dist/{tools-skills-55QVTMSK.js → tools-skills-WDTMCE46.js} +7 -2
- package/dist/tuneup-runtime-checks.d.ts +7 -0
- package/dist/tuneup-types.d.ts +118 -0
- package/dist/tuneup.d.ts +3 -122
- package/dist/{typesafe-YBEADNAH.js → typesafe-QLSMFU7J.js} +1 -1
- package/dist/{version-help-RBZC5GZZ.js → version-help-X6CC4CFY.js} +2 -2
- package/dist/{webui-server-CB64CFDG.js → webui-server-V2R5WQUK.js} +44 -6
- package/dist/wiring/provider-runtime-setup.d.ts +3 -1
- package/dist/wiring/session-runtime.d.ts +1 -1
- package/dist/wrongforge-gateway-UOFBK56J.js +92 -0
- package/dist/wrongforge-leader/wrongforge-leader-gateway.d.ts +9 -0
- package/dist/wrongforge-leader/wrongforge-leader-picker.d.ts +12 -0
- package/dist/wrongforge-leader/wrongforge-leader-provider.d.ts +49 -0
- package/package.json +1 -1
- package/dist/mcp-W7A5HUXV.js +0 -560
- package/dist/short-circuit-flags-QEXUS3BY.js +0 -11
|
@@ -4,12 +4,13 @@ import {
|
|
|
4
4
|
loadCachedAcpRegistry,
|
|
5
5
|
refreshAcpRegistry,
|
|
6
6
|
setupProvider
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-M7FNHCE3.js";
|
|
8
8
|
import {
|
|
9
9
|
createHqCommandDispatcher,
|
|
10
10
|
wrongstackBridgeSetup
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-5SGMUDP5.js";
|
|
12
12
|
import "./chunk-3LEIFO5D.js";
|
|
13
|
+
import "./chunk-VEESMPTX.js";
|
|
13
14
|
import {
|
|
14
15
|
startCliHqConnection
|
|
15
16
|
} from "./chunk-76JE54WD.js";
|
|
@@ -17,7 +18,7 @@ import {
|
|
|
17
18
|
WebSocketServer
|
|
18
19
|
} from "./chunk-OZCYZYN2.js";
|
|
19
20
|
import "./chunk-UFRVTBV6.js";
|
|
20
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-LUEO5HLZ.js";
|
|
21
22
|
import "./chunk-HKMOIIPQ.js";
|
|
22
23
|
import "./chunk-W23PY4IJ.js";
|
|
23
24
|
|
|
@@ -1123,7 +1124,7 @@ var acpCmd = async (args, deps) => {
|
|
|
1123
1124
|
const sub = args[0];
|
|
1124
1125
|
const loginIndex = sub === "auth" ? 0 : (sub === "server" || sub === "serve") && args[1] === "auth" ? 1 : -1;
|
|
1125
1126
|
if (loginIndex >= 0) {
|
|
1126
|
-
const { authCmd } = await import("./auth-
|
|
1127
|
+
const { authCmd } = await import("./auth-2ZG5DBHS.js");
|
|
1127
1128
|
return authCmd(args.slice(loginIndex + 1), deps);
|
|
1128
1129
|
}
|
|
1129
1130
|
if (!sub || sub === "server" || sub === "serve") {
|
|
@@ -1204,4 +1205,4 @@ parallel:
|
|
|
1204
1205
|
export {
|
|
1205
1206
|
acpCmd
|
|
1206
1207
|
};
|
|
1207
|
-
//# sourceMappingURL=acp-
|
|
1208
|
+
//# sourceMappingURL=acp-NKUEYJDZ.js.map
|
|
@@ -11,6 +11,8 @@ export interface EventConfirmRequest {
|
|
|
11
11
|
signal: AbortSignal;
|
|
12
12
|
/** Where an "always" or "deny" answer is remembered, as for the leader's own tools. */
|
|
13
13
|
permission?: Pick<PermissionPolicy, 'trust' | 'deny'> | undefined;
|
|
14
|
+
/** The context the policy evaluates the agent's calls in: an exact-input answer is keyed to it. */
|
|
15
|
+
context: Parameters<PermissionPolicy['evaluate']>[2];
|
|
14
16
|
timeoutMs?: number | undefined;
|
|
15
17
|
}
|
|
16
18
|
/** Resolves true when the user approved the call. */
|
|
@@ -10,6 +10,7 @@ export interface AcpLeaderHostOptions {
|
|
|
10
10
|
stateDir?: string | undefined;
|
|
11
11
|
getConfig(): Config;
|
|
12
12
|
getTool(name: string): Tool | undefined;
|
|
13
|
+
listTools?(): Tool[];
|
|
13
14
|
confirmAwaiter?: ConfirmAwaiter | undefined;
|
|
14
15
|
}
|
|
15
16
|
export declare function createAcpLeaderHost(opts: AcpLeaderHostOptions): AcpLeaderHost;
|
|
@@ -28,6 +28,8 @@ export interface AcpLeaderHost {
|
|
|
28
28
|
/** That agent's context, which the policy reads (files already read, the session). */
|
|
29
29
|
context(sessionId?: string): Parameters<PermissionPolicy['evaluate']>[2];
|
|
30
30
|
getTool(name: string): Tool | undefined;
|
|
31
|
+
/** Every tool the leader has (the WrongForge leader offers them over its gateway). */
|
|
32
|
+
listTools?(): Tool[];
|
|
31
33
|
/**
|
|
32
34
|
* Run one of the leader's tools as the leader would — the executor and
|
|
33
35
|
* context of the agent running `sessionId`, so permissions, hooks, events
|
|
@@ -3,19 +3,22 @@ import type { Config, Provider, ProviderConfig } from '@wrongstack/core/types';
|
|
|
3
3
|
export interface PickableHostProvider {
|
|
4
4
|
id: string;
|
|
5
5
|
type: string;
|
|
6
|
+
refreshQuota?: () => Promise<boolean>;
|
|
6
7
|
models: Array<{
|
|
7
8
|
id: string;
|
|
8
9
|
name: string;
|
|
9
10
|
description: string;
|
|
10
11
|
contextWindow?: number;
|
|
12
|
+
reasoningEffortLevels?: string[];
|
|
13
|
+
effortSupported?: boolean;
|
|
11
14
|
}>;
|
|
12
15
|
}
|
|
13
16
|
/** The `acp` entry, or none when no ACP agent is installed. */
|
|
14
17
|
export declare function acpLeaderPickable(config: Config | undefined): PickableHostProvider[];
|
|
15
18
|
/**
|
|
16
|
-
* Build the ACP leader from the host's
|
|
17
|
-
* is registered; undefined for every
|
|
18
|
-
* as before.
|
|
19
|
+
* Build a host-registered leader (the ACP leader, WrongForge) from the host's
|
|
20
|
+
* provider registry, where its factory is registered; undefined for every
|
|
21
|
+
* other provider, which the WebUI builds as before.
|
|
19
22
|
*/
|
|
20
23
|
export declare function buildAcpLeaderProvider(registry: Pick<ProviderRegistry, 'has' | 'create'> | undefined, providerId: string, config: ProviderConfig): Provider | undefined;
|
|
21
24
|
//# sourceMappingURL=acp-leader-picker.d.ts.map
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
runOAuthLoginKind,
|
|
21
21
|
runOAuthLoginMenu,
|
|
22
22
|
validateFamily
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-MKMM5RIW.js";
|
|
24
24
|
import {
|
|
25
25
|
renderAuthLocalHelpToString,
|
|
26
26
|
wantsLocalHelp
|
|
@@ -37,14 +37,14 @@ import {
|
|
|
37
37
|
import {
|
|
38
38
|
activeProfileConfigPath
|
|
39
39
|
} from "./chunk-SPSHEZ46.js";
|
|
40
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-KNYIEQAY.js";
|
|
41
41
|
import {
|
|
42
42
|
restoreFlags
|
|
43
43
|
} from "./chunk-QC6CLAK7.js";
|
|
44
44
|
import "./chunk-BCKVNORU.js";
|
|
45
45
|
import {
|
|
46
46
|
parseAuthFlags
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-M7PSENGF.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-2ZG5DBHS.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { LaunchMenuMode, RunLaunchMenuDeps } from './launch-menu-types.js';
|
|
2
|
+
interface ArrowPickResult {
|
|
3
|
+
cancelled: boolean;
|
|
4
|
+
mode: LaunchMenuMode;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Raw-mode arrow-key selector over {@link MODE_OPTIONS}.
|
|
8
|
+
*
|
|
9
|
+
* Keys: ↑/↓ (or k/j) move, Enter launches, 1–5 jump-launch, q/Esc/Ctrl+C
|
|
10
|
+
* cancel. A live countdown auto-launches the highlighted option after
|
|
11
|
+
* {@link MENU_TIMEOUT_MS}; any keypress stops the countdown. On settle the
|
|
12
|
+
* whole block collapses to a single confirmation line so scrollback stays
|
|
13
|
+
* tidy.
|
|
14
|
+
*
|
|
15
|
+
* Returns `null` when raw mode is unavailable or fails to engage —
|
|
16
|
+
* the caller then runs the numbered readline prompt instead.
|
|
17
|
+
*/
|
|
18
|
+
export declare function promptModeArrow(deps: RunLaunchMenuDeps): Promise<ArrowPickResult | null>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=launch-menu-arrow.d.ts.map
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { LaunchMenuChoice } from '@wrongstack/core/types';
|
|
2
|
+
import type { ReadlineInputReader } from '../input-reader.js';
|
|
3
|
+
import type { TerminalRenderer } from '../renderer.js';
|
|
4
|
+
/** Top-level surfaces the user can launch from the menu. */
|
|
5
|
+
export type LaunchMenuMode = LaunchMenuChoice['mode'];
|
|
6
|
+
/** Surfaces that bind a TCP listener and therefore need a port/host prompt. */
|
|
7
|
+
export type NetworkLaunchMode = Exclude<LaunchMenuMode, 'tui-repl' | 'desktop'>;
|
|
8
|
+
export declare const DEFAULT_PORTS: Record<NetworkLaunchMode, number>;
|
|
9
|
+
/** Numbered choices shown to the user. Order MUST match the menu printout. */
|
|
10
|
+
export declare const MODE_OPTIONS: ReadonlyArray<{
|
|
11
|
+
key: number;
|
|
12
|
+
mode: LaunchMenuMode;
|
|
13
|
+
label: string;
|
|
14
|
+
hint: string;
|
|
15
|
+
icon: string;
|
|
16
|
+
}>;
|
|
17
|
+
export declare const MENU_TIMEOUT_MS = 8000;
|
|
18
|
+
export interface RunLaunchMenuDeps {
|
|
19
|
+
argv: string[];
|
|
20
|
+
flags: Record<string, string | boolean>;
|
|
21
|
+
positional: string[];
|
|
22
|
+
renderer: TerminalRenderer;
|
|
23
|
+
reader: ReadlineInputReader;
|
|
24
|
+
/**
|
|
25
|
+
* Last saved menu choice, if any. When provided the menu shows a
|
|
26
|
+
* one-line summary + "Continue? [Y/n/q]" gate before re-asking,
|
|
27
|
+
* matching the `runLaunchPrompts` pattern.
|
|
28
|
+
*/
|
|
29
|
+
lastChoice?: LaunchMenuChoice | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Override the default ports (used by tests). Production callers
|
|
32
|
+
* should leave this unset.
|
|
33
|
+
*/
|
|
34
|
+
defaultPorts?: Partial<typeof DEFAULT_PORTS> | undefined;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=launch-menu-types.d.ts.map
|
|
@@ -1,40 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Interactive launch menu — surfaced when `wstack` is invoked with no
|
|
3
|
-
* mode flag (no `--webui`, `--simpleui`, `--hq`, or `--desktop`) and no
|
|
4
|
-
* positional subcommand, on an interactive TTY.
|
|
5
|
-
*
|
|
6
|
-
* The menu asks the user **once** which top-level surface to launch:
|
|
7
|
-
* 1) TUI / REPL — interactive terminal (the historical default)
|
|
8
|
-
* 2) WebUI — browser-based project UI (port 3456 by default)
|
|
9
|
-
* 3) SimpleUI — lightweight browser UI (port 3466 by default)
|
|
10
|
-
* 4) HQ — project-independent HQ dashboard (port 3499)
|
|
11
|
-
* 5) Desktop — Electron desktop shell (`wstack --desktop`)
|
|
12
|
-
*
|
|
13
|
-
* It returns either:
|
|
14
|
-
* - `null` — caller should fall through to the historical
|
|
15
|
-
* boot() flow unchanged (menu skipped).
|
|
16
|
-
* - `LaunchChoice` — caller should honor the selection:
|
|
17
|
-
* * `tui-repl` → proceed to boot() with no flag
|
|
18
|
-
* changes (the inner pre-launch prompts still
|
|
19
|
-
* ask TUI vs REPL + YOLO + autonomy).
|
|
20
|
-
* * `webui` / `simpleui` → caller injects the
|
|
21
|
-
* surface flag + chosen port into argv.
|
|
22
|
-
* * `hq` → caller dispatches to the HQ
|
|
23
|
-
* short-circuit with the chosen port/host.
|
|
24
|
-
* * `desktop` → caller injects `--desktop` and
|
|
25
|
-
* dispatches to the desktop short-circuit.
|
|
26
|
-
*
|
|
27
|
-
* Why this lives in `boot/`: it sits next to the other entry-point
|
|
28
|
-
* short-circuits (`short-circuit-{flags,desktop,hq}.ts`) and is
|
|
29
|
-
* consumed by `cli-context.ts` between those short-circuits and
|
|
30
|
-
* `boot()`. It deliberately does NOT take any DI container, agent,
|
|
31
|
-
* or session — those are owned by the post-boot phase.
|
|
32
|
-
*/
|
|
33
1
|
import type { LaunchMenuChoice } from '@wrongstack/core/types';
|
|
34
|
-
import type {
|
|
35
|
-
import type { TerminalRenderer } from '../renderer.js';
|
|
36
|
-
/** Top-level surfaces the user can launch from the menu. */
|
|
37
|
-
type LaunchMenuMode = LaunchMenuChoice['mode'];
|
|
2
|
+
import type { RunLaunchMenuDeps } from './launch-menu-types.js';
|
|
38
3
|
/** Resolved menu result — the caller must act on this, not re-derive. */
|
|
39
4
|
interface LaunchMenuResult extends LaunchMenuChoice {
|
|
40
5
|
/**
|
|
@@ -43,9 +8,6 @@ interface LaunchMenuResult extends LaunchMenuChoice {
|
|
|
43
8
|
*/
|
|
44
9
|
cancelled: boolean;
|
|
45
10
|
}
|
|
46
|
-
/** Surfaces that bind a TCP listener and therefore need a port/host prompt. */
|
|
47
|
-
type NetworkLaunchMode = Exclude<LaunchMenuMode, 'tui-repl' | 'desktop'>;
|
|
48
|
-
declare const DEFAULT_PORTS: Record<NetworkLaunchMode, number>;
|
|
49
11
|
/**
|
|
50
12
|
* Pure predicate — extracted so unit tests can lock the skip
|
|
51
13
|
* conditions down without booting a renderer or reader.
|
|
@@ -62,24 +24,6 @@ declare const DEFAULT_PORTS: Record<NetworkLaunchMode, number>;
|
|
|
62
24
|
* query. The user already said what they wanted.
|
|
63
25
|
*/
|
|
64
26
|
export declare function shouldSkipMenu(argv: string[], flags: Record<string, string | boolean>, positional: string[]): boolean;
|
|
65
|
-
interface RunLaunchMenuDeps {
|
|
66
|
-
argv: string[];
|
|
67
|
-
flags: Record<string, string | boolean>;
|
|
68
|
-
positional: string[];
|
|
69
|
-
renderer: TerminalRenderer;
|
|
70
|
-
reader: ReadlineInputReader;
|
|
71
|
-
/**
|
|
72
|
-
* Last saved menu choice, if any. When provided the menu shows a
|
|
73
|
-
* one-line summary + "Continue? [Y/n/q]" gate before re-asking,
|
|
74
|
-
* matching the `runLaunchPrompts` pattern.
|
|
75
|
-
*/
|
|
76
|
-
lastChoice?: LaunchMenuChoice | undefined;
|
|
77
|
-
/**
|
|
78
|
-
* Override the default ports (used by tests). Production callers
|
|
79
|
-
* should leave this unset.
|
|
80
|
-
*/
|
|
81
|
-
defaultPorts?: Partial<typeof DEFAULT_PORTS> | undefined;
|
|
82
|
-
}
|
|
83
27
|
/**
|
|
84
28
|
* Run the interactive launch menu.
|
|
85
29
|
*
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { TodoItem } from '@wrongstack/core/agent';
|
|
2
|
+
import type { SessionResumeClaim } from '@wrongstack/core/storage';
|
|
3
|
+
import type { SessionWriter } from '@wrongstack/core/types';
|
|
4
|
+
import type { SessionResumeContext } from './tui-session-resume-contracts.js';
|
|
5
|
+
type ResumeAgent = SessionResumeContext['agent'];
|
|
6
|
+
/** What a failed resume had claimed or swapped, and what it captured before. */
|
|
7
|
+
export interface FailedResumeState {
|
|
8
|
+
agent: ResumeAgent;
|
|
9
|
+
state: SessionResumeContext['state'];
|
|
10
|
+
previousSessionId: string | undefined;
|
|
11
|
+
identityClaimed: boolean;
|
|
12
|
+
resumeClaim: SessionResumeClaim | undefined;
|
|
13
|
+
writerSwapped: boolean;
|
|
14
|
+
openedWriter: SessionWriter | undefined;
|
|
15
|
+
oldWriter: ResumeAgent['ctx']['session'] | undefined;
|
|
16
|
+
oldMessages: ResumeAgent['ctx']['messages'] | undefined;
|
|
17
|
+
oldSessionRefCurrent: SessionWriter | undefined;
|
|
18
|
+
previousDetachFn: SessionResumeContext['state']['detachActiveTodosCheckpoint'];
|
|
19
|
+
oldTodos: TodoItem[];
|
|
20
|
+
oldPlanPath: unknown;
|
|
21
|
+
oldTaskPath: unknown;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Undo a failed resume: release or roll back the session identity, then close
|
|
25
|
+
* the writer it opened — or, after the writer swap, put the agent's writer,
|
|
26
|
+
* messages and sidecars back. Best-effort throughout: a throw here would mask
|
|
27
|
+
* the original failure, so every step swallows and logs.
|
|
28
|
+
*/
|
|
29
|
+
export declare function rollbackFailedResume(r: FailedResumeState): Promise<void>;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=tui-session-resume-rollback.d.ts.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
persistConfigSetting
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-E3MJFAFR.js";
|
|
4
4
|
import {
|
|
5
5
|
activeProfileConfigPath
|
|
6
6
|
} from "./chunk-SPSHEZ46.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-KNYIEQAY.js";
|
|
8
8
|
import "./chunk-W23PY4IJ.js";
|
|
9
9
|
|
|
10
10
|
// src/boot/boot-auto-thin.ts
|
|
@@ -100,4 +100,4 @@ async function runBootAutoThin(deps) {
|
|
|
100
100
|
export {
|
|
101
101
|
runBootAutoThin
|
|
102
102
|
};
|
|
103
|
-
//# sourceMappingURL=boot-auto-thin-
|
|
103
|
+
//# sourceMappingURL=boot-auto-thin-N2CIGTXE.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
PLUGIN_AUDIT_ENTRIES,
|
|
6
6
|
loadExternalPlugins
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-AJM4EFCM.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-2XQ6SRKG.js.map
|