@wrongstack/cli 1.0.3 → 1.0.4
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-JK4ZQO3R.js → acp-AB54FWM2.js} +120 -38
- package/dist/acp-agent-list.d.ts +14 -0
- package/dist/acp-hq-telemetry.d.ts +9 -2
- package/dist/acp-mcp-servers.d.ts +49 -0
- package/dist/acp-server-agent.d.ts +18 -6
- package/dist/{auth-XD3GN5RJ.js → auth-WDMSNZ3S.js} +2 -2
- package/dist/boot/short-circuit-hq.d.ts +2 -0
- package/dist/boot/tool-registry.d.ts +18 -1
- package/dist/{chunk-C2E24IXZ.js → chunk-3I5ZJXM5.js} +147 -241
- package/dist/{chunk-JHPXJRRI.js → chunk-4XCBEUBX.js} +13 -3
- package/dist/{chunk-FPIWTJ2G.js → chunk-6WRKAACA.js} +4 -4
- package/dist/chunk-AUQDGU5D.js +32 -0
- package/dist/{chunk-IUEKNHPT.js → chunk-BIWE22O5.js} +10 -10
- package/dist/{chunk-VOTTENR5.js → chunk-CDY4D5QK.js} +2 -2
- package/dist/{chunk-E6RFXHWD.js → chunk-EK2P53GL.js} +3 -2
- package/dist/chunk-I7V2OYVH.js +242 -0
- package/dist/{chunk-MXEJEYT7.js → chunk-JX6KL7OF.js} +15 -5
- package/dist/{chunk-GMY45LO6.js → chunk-KEPABQYT.js} +101 -2
- package/dist/{chunk-IMWXXF4J.js → chunk-KNMIBKLV.js} +79 -1
- package/dist/chunk-Q7E3BPDU.js +62 -0
- package/dist/{chunk-4NHD5OXJ.js → chunk-U6PGWDMZ.js} +5 -5
- package/dist/{chunk-U6KCWRMC.js → chunk-XJ7K67PP.js} +5 -1
- package/dist/{cli-context-Q6QP534K.js → cli-context-WFC3BNGM.js} +116 -21
- package/dist/{cli-main-JQXCDZEA.js → cli-main-GU3YZLMO.js} +1221 -694
- package/dist/{diag-doctor-7LYUYU35.js → diag-doctor-PCER6KHH.js} +2 -2
- package/dist/{execution-KH7WJNAX.js → execution-RAZDDQFC.js} +107 -15
- package/dist/execution-specialist-trigger.d.ts +28 -0
- package/dist/fleet/acp-live-progress.d.ts +19 -0
- package/dist/fleet/host-acp-runner-cache.d.ts +3 -1
- package/dist/fleet/host-acp.d.ts +14 -2
- package/dist/fleet/host.d.ts +1 -0
- package/dist/{hq-IG3YRGCO.js → hq-5XHEIIH6.js} +127 -8
- package/dist/hq-command-controller.d.ts +31 -2
- package/dist/hq-server/client-address.d.ts +2 -0
- package/dist/hq-server/ip-allowlist.d.ts +16 -0
- package/dist/hq-server/preflight.d.ts +1 -0
- package/dist/hq-server/routes/auth/password-routes.d.ts +1 -1
- package/dist/hq-server/routes.d.ts +5 -4
- package/dist/hq-server/secret-input.d.ts +7 -0
- package/dist/hq-server/types.d.ts +3 -2
- package/dist/hq-server/upgrade-handler.d.ts +2 -0
- package/dist/hq-server/utils.d.ts +6 -0
- package/dist/{hq-server-OILU3NPI.js → hq-server-CNUTBWTK.js} +4 -3
- package/dist/hq-server.d.ts +4 -0
- package/dist/hq-service-L5INQFM4.js +507 -0
- package/dist/hq-service.d.ts +22 -0
- package/dist/index.js +4 -4
- package/dist/ip-allowlist-NHXO6AKJ.js +9 -0
- package/dist/live-settings-input.d.ts +2 -0
- package/dist/{per-subcommand-help-BWBHYVJO.js → per-subcommand-help-DHTYU524.js} +2 -2
- package/dist/{plugins-U7KGQAUG.js → plugins-WJLW6ULV.js} +2 -2
- package/dist/projects-LMNAGGEU.js +36 -0
- package/dist/{proxy-wiring-MGRSKZZB.js → proxy-wiring-K2DORFFL.js} +3 -3
- package/dist/short-circuit-flags-YDMLAQ5R.js +10 -0
- package/dist/slash-commands/acp.d.ts +3 -0
- package/dist/slash-commands/command-context.d.ts +22 -0
- package/dist/slash-commands/ensemble.d.ts +1 -1
- package/dist/slash-commands/profile.d.ts +7 -0
- package/dist/subcommands/handlers/hq.d.ts +1 -0
- package/dist/subcommands/handlers/projects.d.ts +14 -0
- package/dist/{subcommands-CUTGBDKP.js → subcommands-7N4RIK6H.js} +2 -2
- package/dist/{version-help-MYKF724O.js → version-help-WXI42PZ3.js} +2 -2
- package/dist/{webui-server-QWBUT7BO.js → webui-server-OBV5JYJV.js} +9 -3
- package/dist/wiring/cli-slash-commands-setup.d.ts +7 -0
- package/dist/wiring/codebase-embeddings.d.ts +2 -2
- package/dist/wiring/command-host-state.d.ts +7 -0
- package/dist/wiring/pipeline.d.ts +2 -0
- package/dist/wiring/provider-runtime-setup.d.ts +1 -1
- package/dist/wiring/session-command-handlers.d.ts +2 -1
- package/dist/wiring/slash-commands.d.ts +1 -0
- package/package.json +28 -28
- package/dist/chunk-Q5GTM25S.js +0 -17
- package/dist/projects-L6C6XLDY.js +0 -37
- package/dist/short-circuit-flags-ZNZX44MC.js +0 -10
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
pluginNameFromSpec,
|
|
7
7
|
setupPlugins,
|
|
8
8
|
warnIfDeprecatedPluginName
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-XJ7K67PP.js";
|
|
10
10
|
import "./chunk-EWKESL4L.js";
|
|
11
11
|
import "./chunk-SIS37L3W.js";
|
|
12
12
|
export {
|
|
@@ -18,4 +18,4 @@ export {
|
|
|
18
18
|
setupPlugins,
|
|
19
19
|
warnIfDeprecatedPluginName
|
|
20
20
|
};
|
|
21
|
-
//# sourceMappingURL=plugins-
|
|
21
|
+
//# sourceMappingURL=plugins-WJLW6ULV.js.map
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
|
|
2
|
+
// src/subcommands/handlers/projects.ts
|
|
3
|
+
import * as fs from "node:fs/promises";
|
|
4
|
+
import * as path from "node:path";
|
|
5
|
+
import { color } from "@wrongstack/core/utils";
|
|
6
|
+
var projectsCmd = async (_args, deps) => {
|
|
7
|
+
const manifestPath = path.join(deps.paths.globalRoot, "projects.json");
|
|
8
|
+
let entries;
|
|
9
|
+
try {
|
|
10
|
+
const parsed = JSON.parse(await fs.readFile(manifestPath, "utf8"));
|
|
11
|
+
entries = Array.isArray(parsed.projects) ? parsed.projects : [];
|
|
12
|
+
} catch {
|
|
13
|
+
deps.renderer.write("No projects tracked yet.\n");
|
|
14
|
+
return 0;
|
|
15
|
+
}
|
|
16
|
+
if (entries.length === 0) {
|
|
17
|
+
deps.renderer.write("No projects tracked yet.\n");
|
|
18
|
+
return 0;
|
|
19
|
+
}
|
|
20
|
+
const sorted = [...entries].sort((a, b) => (b.lastSeen ?? "").localeCompare(a.lastSeen ?? ""));
|
|
21
|
+
const slugWidth = Math.min(
|
|
22
|
+
Math.max(...sorted.map((entry) => (entry.slug ?? "").length), 4),
|
|
23
|
+
40
|
|
24
|
+
);
|
|
25
|
+
for (const entry of sorted) {
|
|
26
|
+
const slug = (entry.slug ?? "?").padEnd(slugWidth);
|
|
27
|
+
const seen = entry.lastSeen ?? "";
|
|
28
|
+
deps.renderer.write(` ${color.dim(slug)} ${color.dim(seen)} ${entry.root ?? "?"}
|
|
29
|
+
`);
|
|
30
|
+
}
|
|
31
|
+
return 0;
|
|
32
|
+
};
|
|
33
|
+
export {
|
|
34
|
+
projectsCmd
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=projects-LMNAGGEU.js.map
|
|
@@ -3,12 +3,12 @@ import {
|
|
|
3
3
|
awaitFirstWrongProxyProbe,
|
|
4
4
|
bootstrapWrongProxy,
|
|
5
5
|
shutdownWrongProxy
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-CDY4D5QK.js";
|
|
7
|
+
import "./chunk-4XCBEUBX.js";
|
|
8
8
|
export {
|
|
9
9
|
applyWrongProxyPrefs,
|
|
10
10
|
awaitFirstWrongProxyProbe,
|
|
11
11
|
bootstrapWrongProxy,
|
|
12
12
|
shutdownWrongProxy
|
|
13
13
|
};
|
|
14
|
-
//# sourceMappingURL=proxy-wiring-
|
|
14
|
+
//# sourceMappingURL=proxy-wiring-K2DORFFL.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import {
|
|
2
|
+
handleHelpVersionShortCircuit
|
|
3
|
+
} from "./chunk-U6PGWDMZ.js";
|
|
4
|
+
import "./chunk-6WRKAACA.js";
|
|
5
|
+
import "./chunk-XJXDOF63.js";
|
|
6
|
+
import "./chunk-EK2P53GL.js";
|
|
7
|
+
export {
|
|
8
|
+
handleHelpVersionShortCircuit
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=short-circuit-flags-YDMLAQ5R.js.map
|
|
@@ -10,6 +10,9 @@ import type { SlashCommandContext } from './command-context.js';
|
|
|
10
10
|
* /acp <agent-id> <task> run a task on one agent (inline, streamed)
|
|
11
11
|
* /acp <agent-id> --bg <task> run it as a background fleet subagent
|
|
12
12
|
* /acp parallel <csv> <task> fan a task out to several agents at once
|
|
13
|
+
* /acp parallel <csv> --bg <task> same, but each agent runs as a background
|
|
14
|
+
* fleet subagent — live progress shows in /agents,
|
|
15
|
+
* the TUI fleet panel and the WebUI Agents panel
|
|
13
16
|
* /acp probe [csv] handshake-test agents (what actually works)
|
|
14
17
|
* /acp bench [csv] [--fs] end-to-end verify each agent + graded report
|
|
15
18
|
* /acp sync pull the official agentclientprotocol/registry
|
|
@@ -259,6 +259,16 @@ export interface SlashCommandContext {
|
|
|
259
259
|
onContextLimit?: ((tokens?: number) => number) | undefined;
|
|
260
260
|
/** Toggle or query YOLO mode at runtime. Pass undefined to query, boolean to set. */
|
|
261
261
|
onYolo?: ((setTo?: boolean) => boolean) | undefined;
|
|
262
|
+
/**
|
|
263
|
+
* Read, or set, which kinds of damage still prompt while YOLO is on.
|
|
264
|
+
*
|
|
265
|
+
* Returns the EFFECTIVE map after any update — the locked kinds report `true`
|
|
266
|
+
* whatever was asked, so a caller can tell an ignored "off" from a real one.
|
|
267
|
+
*/
|
|
268
|
+
onYoloConfirm?: ((update?: {
|
|
269
|
+
kind: import('@wrongstack/core/security').DestructiveKind;
|
|
270
|
+
confirm: boolean;
|
|
271
|
+
}) => Record<string, boolean>) | undefined;
|
|
262
272
|
/** Toggle or query next-task prediction. Pass undefined to query, boolean to set. */
|
|
263
273
|
onNextPredict?: ((setTo?: boolean) => boolean) | undefined;
|
|
264
274
|
/**
|
|
@@ -596,6 +606,18 @@ export interface SlashCommandContext {
|
|
|
596
606
|
brainTierStats?: (() => import('@wrongstack/core/coordination').BrainTierStats) | undefined;
|
|
597
607
|
/** Config store for reading/writing config sections at runtime (e.g. settings menu). */
|
|
598
608
|
configStore: import('@wrongstack/core/types').ConfigStore;
|
|
609
|
+
/**
|
|
610
|
+
* Host hook that adopts the store's new merged config after an in-process
|
|
611
|
+
* selection change (today only `/profile switch`). The host's own `config`
|
|
612
|
+
* object is a distinct snapshot from the store's, so a command that mutates
|
|
613
|
+
* the store must hand the result back or the host keeps reading the values
|
|
614
|
+
* it booted with.
|
|
615
|
+
*
|
|
616
|
+
* Optional by design: only the interactive CLI has a live merged config to
|
|
617
|
+
* keep in step. Surfaces that leave it unset still persist the selection to
|
|
618
|
+
* the bootstrap and pick it up on their next start.
|
|
619
|
+
*/
|
|
620
|
+
onActiveProfileChange?: ((next: import('@wrongstack/core/types').Config) => void) | undefined;
|
|
599
621
|
/**
|
|
600
622
|
* Optional accessor for the Chronicle metrics store. When wired, the
|
|
601
623
|
* `/tool autothin candidates` and `apply` commands can read the
|
|
@@ -13,5 +13,5 @@ import type { SlashCommandContext } from './command-context.js';
|
|
|
13
13
|
*
|
|
14
14
|
* Run /ensemble (no args) to see usage and the list of available agents.
|
|
15
15
|
*/
|
|
16
|
-
export declare function buildEnsembleCommand(
|
|
16
|
+
export declare function buildEnsembleCommand(opts: SlashCommandContext): SlashCommand;
|
|
17
17
|
//# sourceMappingURL=ensemble.d.ts.map
|
|
@@ -10,6 +10,13 @@ import type { SlashCommandContext } from './command-context.js';
|
|
|
10
10
|
* /profile list Show available profiles (● = active)
|
|
11
11
|
* /profile switch <name> Switch to an existing profile
|
|
12
12
|
* /profile copy <name> Copy the active profile's settings to a new profile
|
|
13
|
+
*
|
|
14
|
+
* `switch` writes the bootstrap (the durable selection read at next boot) and
|
|
15
|
+
* then pushes `activeProfile` through the live ConfigStore, which is the only
|
|
16
|
+
* event source the provider-runtime rebind watcher observes. `syncConfig` is
|
|
17
|
+
* the host's own copy of the merged config; it is a separate object from the
|
|
18
|
+
* store, so it has to be told too or the host keeps routing against the
|
|
19
|
+
* profile that was active when it booted.
|
|
13
20
|
*/
|
|
14
21
|
export declare function buildProfileCommand(opts: SlashCommandContext): SlashCommand;
|
|
15
22
|
//# sourceMappingURL=profile.d.ts.map
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* wstack hq token list --client → list issued client tokens
|
|
12
12
|
* wstack hq token revoke <id> → revoke a browser token (prefix match)
|
|
13
13
|
* wstack hq token revoke --client <id> → revoke a client token
|
|
14
|
+
* wstack hq service install|status|update|uninstall → Ubuntu systemd lifecycle
|
|
14
15
|
*
|
|
15
16
|
* All subcommands accept `--data-dir <path>` to override the HQ data
|
|
16
17
|
* directory (default `~/.wrongstack/hq`, honors `WRONGSTACK_HOME` /
|
|
@@ -1,3 +1,17 @@
|
|
|
1
1
|
import type { SubcommandHandler } from '../contracts.js';
|
|
2
|
+
/**
|
|
3
|
+
* List the projects WrongStack has actually been used in.
|
|
4
|
+
*
|
|
5
|
+
* The source is `~/.wrongstack/projects.json`, the manifest `boot.ts` writes
|
|
6
|
+
* on every start and the one `/project` already reads.
|
|
7
|
+
*
|
|
8
|
+
* This used to enumerate the `~/.wrongstack/projects/` DIRECTORY instead, which
|
|
9
|
+
* is not the same thing: that directory also holds per-run scratch state for
|
|
10
|
+
* ephemeral roots — Chimera review worktrees and the like — which are created
|
|
11
|
+
* by the hundred and carry no `meta.json`. On a working machine the listing was
|
|
12
|
+
* 1,495 rows of which 1,461 printed `(no meta)` and 262 were single-use
|
|
13
|
+
* `chimera-*` scratch dirs, against 30 real entries in the manifest. The
|
|
14
|
+
* command was unusable for the one question it answers.
|
|
15
|
+
*/
|
|
2
16
|
export declare const projectsCmd: SubcommandHandler;
|
|
3
17
|
//# sourceMappingURL=projects.d.ts.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
helpCmd,
|
|
3
3
|
versionCmd
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-6WRKAACA.js";
|
|
5
5
|
import "./chunk-XJXDOF63.js";
|
|
6
6
|
export {
|
|
7
7
|
helpCmd,
|
|
8
8
|
versionCmd
|
|
9
9
|
};
|
|
10
|
-
//# sourceMappingURL=version-help-
|
|
10
|
+
//# sourceMappingURL=version-help-WXI42PZ3.js.map
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
|
-
createHqCommandDispatcher
|
|
3
|
-
|
|
2
|
+
createHqCommandDispatcher,
|
|
3
|
+
createProjectKanbanAssignHandler,
|
|
4
|
+
createProjectKanbanTransitionHandler
|
|
5
|
+
} from "./chunk-KNMIBKLV.js";
|
|
4
6
|
import {
|
|
5
7
|
createKanbanRunMirror
|
|
6
8
|
} from "./chunk-VCYZ3WZV.js";
|
|
@@ -71,6 +73,10 @@ function createWebuiClientRegistration(deps) {
|
|
|
71
73
|
steerMailbox: mailbox,
|
|
72
74
|
interruptLeader: control.interruptLeader,
|
|
73
75
|
allowRunCommand: control.allowRunCommand,
|
|
76
|
+
...deps.projectRoot ? {
|
|
77
|
+
kanbanTransition: createProjectKanbanTransitionHandler(deps.projectRoot),
|
|
78
|
+
kanbanAssign: createProjectKanbanAssignHandler(deps.projectRoot)
|
|
79
|
+
} : {},
|
|
74
80
|
// The session HQ actually SHOWS for this client — the boot
|
|
75
81
|
// session the telemetry bridge publishes under and the only one
|
|
76
82
|
// `interruptLeader` speaks for. `getSessionId` follows whichever
|
|
@@ -1968,4 +1974,4 @@ async function runWebUI(opts) {
|
|
|
1968
1974
|
export {
|
|
1969
1975
|
runWebUI
|
|
1970
1976
|
};
|
|
1971
|
-
//# sourceMappingURL=webui-server-
|
|
1977
|
+
//# sourceMappingURL=webui-server-OBV5JYJV.js.map
|
|
@@ -53,6 +53,12 @@ export declare function setupCliSlashCommands(params: {
|
|
|
53
53
|
agentMonitor: B['agentMonitor'];
|
|
54
54
|
onPanelOpen: B['onPanelOpen'];
|
|
55
55
|
configStore: B['configStore'];
|
|
56
|
+
/**
|
|
57
|
+
* Forwards the store's new merged config back to the host after an in-process
|
|
58
|
+
* selection change (`/profile switch`). Optional: hosts without a live merged
|
|
59
|
+
* config leave it unset and the selection still applies on their next boot.
|
|
60
|
+
*/
|
|
61
|
+
onActiveProfileChange?: B['onActiveProfileChange'];
|
|
56
62
|
secretInputController: {
|
|
57
63
|
readSecret: NonNullable<B['readSecret']>;
|
|
58
64
|
readText: NonNullable<B['readText']>;
|
|
@@ -79,6 +85,7 @@ export declare function setupCliSlashCommands(params: {
|
|
|
79
85
|
};
|
|
80
86
|
mcpRegistry: SE['mcpRegistry'];
|
|
81
87
|
setYoloMode: SE['onYolo'];
|
|
88
|
+
setYoloConfirm: SE['onYoloConfirm'];
|
|
82
89
|
getNextPredict: SE['getNextPredict'];
|
|
83
90
|
setNextPredict: SE['setNextPredict'];
|
|
84
91
|
getCurrentSuggestions: SE['getCurrentSuggestions'];
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* already emits 384-dimensional vectors — the width `file_vectors` stores. It
|
|
6
6
|
* arrives here rather than inside `packages/tools` for two reasons:
|
|
7
7
|
*
|
|
8
|
-
* - `@huggingface/transformers` is an **
|
|
8
|
+
* - `@huggingface/transformers` is an **opt-in** backend. A repository
|
|
9
9
|
* that never enables semantic search should not have to install a model
|
|
10
10
|
* runtime, and `packages/tools` must stay importable without one.
|
|
11
11
|
* - A function cannot cross the project daemon's IPC boundary. The daemon
|
|
@@ -23,7 +23,7 @@ import type { EmbeddingPort } from '@wrongstack/tools';
|
|
|
23
23
|
* Build the embedding port, or `undefined` when semantic search is off or
|
|
24
24
|
* unavailable.
|
|
25
25
|
*
|
|
26
|
-
* The dynamic import is what keeps `@huggingface/transformers`
|
|
26
|
+
* The dynamic import is what keeps `@huggingface/transformers` opt-in: a
|
|
27
27
|
* missing package throws here and is reported as "unavailable", never as a
|
|
28
28
|
* startup failure.
|
|
29
29
|
*/
|
|
@@ -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 DestructiveKind } from '@wrongstack/core/security';
|
|
4
5
|
import type { StatuslineDensities, StatuslineLines } from '@wrongstack/core/statusline';
|
|
5
6
|
import { type Config, type SessionWriter } from '@wrongstack/core/types';
|
|
6
7
|
import type { WstackPaths } from '@wrongstack/core/utils';
|
|
@@ -28,6 +29,8 @@ interface CommandHostStateInput {
|
|
|
28
29
|
permissionPolicy: {
|
|
29
30
|
setYolo?(enabled: boolean): void;
|
|
30
31
|
getYolo?(): boolean;
|
|
32
|
+
setYoloConfirmKinds?(kinds: Iterable<DestructiveKind>): void;
|
|
33
|
+
getYoloConfirmKinds?(): ReadonlySet<DestructiveKind>;
|
|
31
34
|
};
|
|
32
35
|
/**
|
|
33
36
|
* The live conversation's meta bag.
|
|
@@ -179,6 +182,10 @@ export declare function setupCommandHostState(input: CommandHostStateInput): Pro
|
|
|
179
182
|
} | null>) | undefined;
|
|
180
183
|
};
|
|
181
184
|
setYoloMode: (enabled?: boolean) => boolean;
|
|
185
|
+
setYoloConfirm: (update?: {
|
|
186
|
+
kind: DestructiveKind;
|
|
187
|
+
confirm: boolean;
|
|
188
|
+
}) => Record<DestructiveKind, boolean>;
|
|
182
189
|
secretInputController: {
|
|
183
190
|
readSecret: (prompt: string) => Promise<string>;
|
|
184
191
|
readText: (prompt: string) => Promise<string>;
|
|
@@ -82,6 +82,8 @@ export declare function createAgent(params: {
|
|
|
82
82
|
/** Opt-in Kanban governance gate; see ToolsConfig.kanbanGovernance. */
|
|
83
83
|
kanbanGovernance?: boolean | undefined;
|
|
84
84
|
loopDetection?: import('@wrongstack/core/types').LoopDetectionConfig | undefined;
|
|
85
|
+
autoExtendLimit?: boolean | undefined;
|
|
86
|
+
maxAutoExtensions?: number | undefined;
|
|
85
87
|
};
|
|
86
88
|
};
|
|
87
89
|
confirmAwaiter: import('@wrongstack/core/agent').AgentInit['confirmAwaiter'];
|
|
@@ -3,7 +3,7 @@ import type { ProviderModelStatusTracker } from '@wrongstack/core/coordination';
|
|
|
3
3
|
import type { EventBus } from '@wrongstack/core/kernel';
|
|
4
4
|
import type { ProviderRegistry } from '@wrongstack/core/registry';
|
|
5
5
|
import type { Config, Logger, ModelsRegistry, Provider, ProviderConfig, SecretVault } from '@wrongstack/core/types';
|
|
6
|
-
import type
|
|
6
|
+
import { type WstackPaths } from '@wrongstack/core/utils';
|
|
7
7
|
export declare function serializeProviderRuntimeSnapshot(snapshot: unknown): string;
|
|
8
8
|
type AnyObj = any;
|
|
9
9
|
export interface ProviderRuntimeDeps {
|
|
@@ -7,7 +7,7 @@ import type { MultiAgentHost } from '../multi-agent.js';
|
|
|
7
7
|
import type { SessionStats } from '../session-stats.js';
|
|
8
8
|
import type { BuiltinSlashCommandDeps } from './slash-commands.js';
|
|
9
9
|
type SlashCommandDeps = BuiltinSlashCommandDeps;
|
|
10
|
-
type SessionCommandHandlers = Pick<SlashCommandDeps, 'onPlugin' | 'onContextLimit' | 'onMcp' | 'mcpRegistry' | 'mcpStatus' | 'onYolo' | 'onNextPredict' | 'onSuggestions' | 'onExit' | 'onBeforeExit' | 'onClear' | 'onNewSession' | 'onDiag' | 'onStats' | 'generateCommitMessage' | 'onDispatchClassify'>;
|
|
10
|
+
type SessionCommandHandlers = Pick<SlashCommandDeps, 'onPlugin' | 'onContextLimit' | 'onMcp' | 'mcpRegistry' | 'mcpStatus' | 'onYolo' | 'onYoloConfirm' | 'onNextPredict' | 'onSuggestions' | 'onExit' | 'onBeforeExit' | 'onClear' | 'onNewSession' | 'onDiag' | 'onStats' | 'generateCommitMessage' | 'onDispatchClassify'>;
|
|
11
11
|
interface ErrorRecord {
|
|
12
12
|
ts: string;
|
|
13
13
|
phase: string;
|
|
@@ -30,6 +30,7 @@ interface SessionCommandHandlersInput {
|
|
|
30
30
|
setEventMaxContext: (tokens: number) => void;
|
|
31
31
|
mcpRegistry: MCPRegistry;
|
|
32
32
|
onYolo: NonNullable<SlashCommandDeps['onYolo']>;
|
|
33
|
+
onYoloConfirm: SlashCommandDeps['onYoloConfirm'];
|
|
33
34
|
getNextPredict: () => boolean;
|
|
34
35
|
setNextPredict: (enabled: boolean) => void;
|
|
35
36
|
getCurrentSuggestions: () => string[];
|
|
@@ -65,6 +65,7 @@ interface SlashCommandsDeps {
|
|
|
65
65
|
}): Promise<CompactReport>;
|
|
66
66
|
};
|
|
67
67
|
configStore: ConfigStore;
|
|
68
|
+
onActiveProfileChange?: BuiltinSlashCommandDeps['onActiveProfileChange'];
|
|
68
69
|
/** Called by /clear after wiping the session on disk — tells the TUI to reset its UI state. */
|
|
69
70
|
onNewSession?: (() => Promise<void>) | undefined;
|
|
70
71
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wrongstack/cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "WrongStack CLI — terminal AI coding agent with provider catalog from models.dev. Provides `wrongstack` and `wstack` binaries.",
|
|
6
6
|
"keywords": [
|
|
@@ -41,36 +41,36 @@
|
|
|
41
41
|
"data"
|
|
42
42
|
],
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@wrongstack/acp": "1.0.
|
|
45
|
-
"@wrongstack/bench": "1.0.
|
|
46
|
-
"@wrongstack/core": "1.0.
|
|
47
|
-
"@wrongstack/primitives": "1.0.
|
|
48
|
-
"@wrongstack/kanban": "1.0.
|
|
49
|
-
"@wrongstack/mcp": "1.0.
|
|
50
|
-
"@wrongstack/persistence": "1.0.
|
|
51
|
-
"@wrongstack/plug-lsp": "1.0.
|
|
52
|
-
"@wrongstack/plugins": "1.0.
|
|
53
|
-
"@wrongstack/providers": "1.0.
|
|
54
|
-
"@wrongstack/requirement-intake": "1.0.
|
|
55
|
-
"@wrongstack/runtime": "1.0.
|
|
56
|
-
"@wrongstack/sage": "1.0.
|
|
57
|
-
"@wrongstack/sdd": "1.0.
|
|
58
|
-
"@wrongstack/security-scanner": "1.0.
|
|
59
|
-
"@wrongstack/simpleui": "1.0.
|
|
60
|
-
"@wrongstack/techstack": "1.0.
|
|
61
|
-
"@wrongstack/telegram": "1.0.
|
|
62
|
-
"@wrongstack/tools": "1.0.
|
|
63
|
-
"@wrongstack/tui": "1.0.
|
|
64
|
-
"@wrongstack/vector-memory": "1.0.
|
|
65
|
-
"@wrongstack/webui": "1.0.
|
|
66
|
-
"@wrongstack/webui-hq": "1.0.
|
|
67
|
-
"@wrongstack/webui-protocol": "1.0.
|
|
68
|
-
"@wrongstack/wrongtrace": "1.0.
|
|
69
|
-
"@wrongstack/webui-server": "1.0.
|
|
44
|
+
"@wrongstack/acp": "1.0.4",
|
|
45
|
+
"@wrongstack/bench": "1.0.4",
|
|
46
|
+
"@wrongstack/core": "1.0.4",
|
|
47
|
+
"@wrongstack/primitives": "1.0.4",
|
|
48
|
+
"@wrongstack/kanban": "1.0.4",
|
|
49
|
+
"@wrongstack/mcp": "1.0.4",
|
|
50
|
+
"@wrongstack/persistence": "1.0.4",
|
|
51
|
+
"@wrongstack/plug-lsp": "1.0.4",
|
|
52
|
+
"@wrongstack/plugins": "1.0.4",
|
|
53
|
+
"@wrongstack/providers": "1.0.4",
|
|
54
|
+
"@wrongstack/requirement-intake": "1.0.4",
|
|
55
|
+
"@wrongstack/runtime": "1.0.4",
|
|
56
|
+
"@wrongstack/sage": "1.0.4",
|
|
57
|
+
"@wrongstack/sdd": "1.0.4",
|
|
58
|
+
"@wrongstack/security-scanner": "1.0.4",
|
|
59
|
+
"@wrongstack/simpleui": "1.0.4",
|
|
60
|
+
"@wrongstack/techstack": "1.0.4",
|
|
61
|
+
"@wrongstack/telegram": "1.0.4",
|
|
62
|
+
"@wrongstack/tools": "1.0.4",
|
|
63
|
+
"@wrongstack/tui": "1.0.4",
|
|
64
|
+
"@wrongstack/vector-memory": "1.0.4",
|
|
65
|
+
"@wrongstack/webui": "1.0.4",
|
|
66
|
+
"@wrongstack/webui-hq": "1.0.4",
|
|
67
|
+
"@wrongstack/webui-protocol": "1.0.4",
|
|
68
|
+
"@wrongstack/wrongtrace": "1.0.4",
|
|
69
|
+
"@wrongstack/webui-server": "1.0.4",
|
|
70
70
|
"ws": "^8.21.3"
|
|
71
71
|
},
|
|
72
72
|
"optionalDependencies": {
|
|
73
|
-
"@wrongstack/desktop": "1.0.
|
|
73
|
+
"@wrongstack/desktop": "1.0.4"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"@types/node": "^26.2.0",
|
package/dist/chunk-Q5GTM25S.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
// src/hq-server/audit-actor.ts
|
|
3
|
-
import * as os from "node:os";
|
|
4
|
-
function resolveAuditActor() {
|
|
5
|
-
const user = (process.env.USERNAME ?? process.env.USER ?? "").toString();
|
|
6
|
-
try {
|
|
7
|
-
const host = os.hostname();
|
|
8
|
-
return user ? `${user}@${host}` : `cli@${host}`;
|
|
9
|
-
} catch {
|
|
10
|
-
return user ? `${user}@unknown` : "cli";
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export {
|
|
15
|
-
resolveAuditActor
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=chunk-Q5GTM25S.js.map
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
// src/subcommands/handlers/projects.ts
|
|
3
|
-
import * as fs from "node:fs/promises";
|
|
4
|
-
import * as path from "node:path";
|
|
5
|
-
import { color } from "@wrongstack/core/utils";
|
|
6
|
-
var projectsCmd = async (_args, deps) => {
|
|
7
|
-
const projectsRoot = path.join(deps.paths.globalRoot, "projects");
|
|
8
|
-
try {
|
|
9
|
-
const entries = await fs.readdir(projectsRoot);
|
|
10
|
-
if (entries.length === 0) {
|
|
11
|
-
deps.renderer.write("No projects tracked.\n");
|
|
12
|
-
return 0;
|
|
13
|
-
}
|
|
14
|
-
for (const hash of entries) {
|
|
15
|
-
try {
|
|
16
|
-
const meta = JSON.parse(
|
|
17
|
-
await fs.readFile(path.join(projectsRoot, hash, "meta.json"), "utf8")
|
|
18
|
-
);
|
|
19
|
-
deps.renderer.write(
|
|
20
|
-
` ${color.dim(hash)} ${color.dim(meta.lastSeen ?? "")} ${meta.root ?? "?"}
|
|
21
|
-
`
|
|
22
|
-
);
|
|
23
|
-
} catch {
|
|
24
|
-
deps.renderer.write(` ${color.dim(hash)} ${color.dim("(no meta)")}
|
|
25
|
-
`);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return 0;
|
|
29
|
-
} catch {
|
|
30
|
-
deps.renderer.write("No projects directory.\n");
|
|
31
|
-
return 0;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
export {
|
|
35
|
-
projectsCmd
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=projects-L6C6XLDY.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
handleHelpVersionShortCircuit
|
|
3
|
-
} from "./chunk-4NHD5OXJ.js";
|
|
4
|
-
import "./chunk-FPIWTJ2G.js";
|
|
5
|
-
import "./chunk-XJXDOF63.js";
|
|
6
|
-
import "./chunk-E6RFXHWD.js";
|
|
7
|
-
export {
|
|
8
|
-
handleHelpVersionShortCircuit
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=short-circuit-flags-ZNZX44MC.js.map
|