@wrongstack/cli 0.309.1 → 0.310.1

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.
Files changed (86) hide show
  1. package/dist/{acp-7NWCC2GO.js → acp-GZIASCLH.js} +6 -4
  2. package/dist/acp-server-agent.d.ts +1 -1
  3. package/dist/{audit-BBR22QH3.js → audit-ZPCLCC3C.js} +1 -1
  4. package/dist/{auth-GZ2FK5KR.js → auth-VQMSZGKE.js} +4 -4
  5. package/dist/{bench-XNDUJOSZ.js → bench-XYG56AMO.js} +1 -1
  6. package/dist/boot/tui-session-stub-enrich.d.ts +20 -0
  7. package/dist/{chronicle-63MFCZN6.js → chronicle-6EPPMUC5.js} +1 -1
  8. package/dist/chunk-3FHFGIIN.js +58 -0
  9. package/dist/chunk-3MAUU765.js +120 -0
  10. package/dist/{chunk-53STH6CX.js → chunk-4S52MIIM.js} +4 -3
  11. package/dist/{chunk-SZ42FYPT.js → chunk-BXFYBQKR.js} +4 -6
  12. package/dist/{chunk-CB35UVXO.js → chunk-J3XBHGEO.js} +34 -9
  13. package/dist/{chunk-UINEP3E7.js → chunk-J4QSP6T2.js} +41 -10
  14. package/dist/{chunk-XSG33WHN.js → chunk-QAC263FZ.js} +4 -2
  15. package/dist/{chunk-XQ6FI2K6.js → chunk-QYIIOMLE.js} +2 -2
  16. package/dist/{chunk-ZRZ54GVL.js → chunk-USYOJIV2.js} +3 -3
  17. package/dist/{chunk-T6YAVFXA.js → chunk-X3N5TS2S.js} +2 -1
  18. package/dist/{cli-main-XGDOIPN5.js → cli-main-UDWMWX55.js} +3114 -2883
  19. package/dist/{diag-doctor-WTBHPOMB.js → diag-doctor-Z6JDXBVX.js} +48 -2
  20. package/dist/{execution-TYUXABWI.js → execution-ZEHK4II6.js} +217 -68
  21. package/dist/{export-CCUXRJOU.js → export-ROG3DKTZ.js} +1 -1
  22. package/dist/{hq-PA6RH2UW.js → hq-3BEUEXJQ.js} +18 -10
  23. package/dist/hq-server/handle-types.d.ts +32 -0
  24. package/dist/hq-server/login-attempt-store.d.ts +5 -0
  25. package/dist/{hq-server-PBRU275L.js → hq-server-4MIW3S4J.js} +2 -2
  26. package/dist/hq-server.d.ts +2 -20
  27. package/dist/index.js +107 -77
  28. package/dist/{init-E2NDDOHI.js → init-4JQSG66Q.js} +1 -1
  29. package/dist/live-settings-input.d.ts +14 -0
  30. package/dist/{mailbox-serve-V3QIJBDH.js → mailbox-serve-5S3PHG5D.js} +1 -1
  31. package/dist/{mcp-CMLFHRG2.js → mcp-RRPKNRSN.js} +3 -1
  32. package/dist/mcp-serve.d.ts +1 -1
  33. package/dist/{modeldiag-ICMPHT5L.js → modeldiag-H6DKWJ2N.js} +6 -12
  34. package/dist/{plugin-usage-26LIIW3P.js → plugin-usage-GCTYOZPH.js} +1 -1
  35. package/dist/{projects-XE76NFNZ.js → projects-5J727S4L.js} +1 -1
  36. package/dist/provider-config-utils.d.ts +1 -2
  37. package/dist/{providers-models-D23WUD74.js → providers-models-663NDPRQ.js} +2 -2
  38. package/dist/proxy-wiring-7RPGBHZP.js +15 -0
  39. package/dist/{quick-VIO2BEHS.js → quick-XLYLZX4B.js} +1 -1
  40. package/dist/{replay-WBRMEWQ5.js → replay-RZXZKP2U.js} +1 -1
  41. package/dist/{rewind-7RE6ONIC.js → rewind-2FFNOOKS.js} +1 -1
  42. package/dist/{sessions-config-YX2ZPAFM.js → sessions-config-7Q7QJBKJ.js} +1 -1
  43. package/dist/subcommands/handlers/acp.d.ts +1 -1
  44. package/dist/subcommands/handlers/audit.d.ts +1 -1
  45. package/dist/subcommands/handlers/auth.d.ts +1 -1
  46. package/dist/subcommands/handlers/bench.d.ts +1 -1
  47. package/dist/subcommands/handlers/chronicle.d.ts +1 -1
  48. package/dist/subcommands/handlers/config-history.d.ts +1 -1
  49. package/dist/subcommands/handlers/diag-doctor.d.ts +15 -1
  50. package/dist/subcommands/handlers/export.d.ts +1 -1
  51. package/dist/subcommands/handlers/hq.d.ts +1 -1
  52. package/dist/subcommands/handlers/init.d.ts +1 -1
  53. package/dist/subcommands/handlers/mailbox-serve.d.ts +1 -1
  54. package/dist/subcommands/handlers/mcp.d.ts +1 -1
  55. package/dist/subcommands/handlers/modeldiag-bench.d.ts +1 -1
  56. package/dist/subcommands/handlers/modeldiag-eval.d.ts +1 -1
  57. package/dist/subcommands/handlers/modeldiag-test.d.ts +1 -1
  58. package/dist/subcommands/handlers/modeldiag.d.ts +1 -1
  59. package/dist/subcommands/handlers/plugin-usage.d.ts +1 -1
  60. package/dist/subcommands/handlers/projects.d.ts +1 -1
  61. package/dist/subcommands/handlers/providers-models.d.ts +1 -1
  62. package/dist/subcommands/handlers/quick.d.ts +1 -1
  63. package/dist/subcommands/handlers/replay.d.ts +1 -1
  64. package/dist/subcommands/handlers/rewind.d.ts +1 -1
  65. package/dist/subcommands/handlers/sessions-config.d.ts +1 -1
  66. package/dist/subcommands/handlers/sessions-fleet.d.ts +1 -1
  67. package/dist/subcommands/handlers/tools-skills.d.ts +1 -1
  68. package/dist/subcommands/handlers/update.d.ts +1 -1
  69. package/dist/subcommands/handlers/version-help.d.ts +1 -1
  70. package/dist/subcommands/index.d.ts +2 -3
  71. package/dist/{tools-skills-UNKLOB7M.js → tools-skills-Q4P27URS.js} +1 -1
  72. package/dist/{update-VZSOZGYC.js → update-ZXNC6I6G.js} +2 -2
  73. package/dist/{version-help-TFD6VPF3.js → version-help-WMPSEL4U.js} +2 -2
  74. package/dist/webui-server/prefs-seeding.d.ts +4 -0
  75. package/dist/{webui-server-JXJ4CGIX.js → webui-server-UB75UHWX.js} +14 -10
  76. package/dist/webui-server-options.d.ts +8 -0
  77. package/dist/wiring/director-announcement.d.ts +31 -0
  78. package/dist/wiring/provider-runtime.d.ts +25 -0
  79. package/dist/wiring/proxy-probe.d.ts +62 -0
  80. package/dist/wiring/proxy-wiring.d.ts +59 -0
  81. package/dist/wiring/session-establishment.d.ts +45 -0
  82. package/dist/wiring/session-registry.d.ts +1 -1
  83. package/dist/wiring/session-runtime.d.ts +64 -0
  84. package/dist/wiring/teardown-registrar.d.ts +41 -0
  85. package/dist/wiring/vector-memory-setup.d.ts +30 -0
  86. package/package.json +27 -25
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Periodic health probe for the local WrongProxy / WrongTrace daemon.
3
+ *
4
+ * The daemon exposes `GET <base>/api/health` returning JSON like:
5
+ * { "repo": "WrongTrace", "status": "ok", "timestamp": "...", ... }
6
+ *
7
+ * The probe:
8
+ * 1. Runs once on boot so the first request doesn't hit a dead proxy.
9
+ * 2. Re-runs every `intervalMs` (default 30s) while the toggle is on.
10
+ * 3. Aborts in-flight probes on every state change so we never accumulate
11
+ * a backlog when the user toggles the proxy on/off rapidly.
12
+ * 4. Uses a small per-call AbortController + timeout (2s) so a hung
13
+ * `localhost:8000` cannot stall the loop.
14
+ *
15
+ * The probe is intentionally minimal: the daemon's `/api/health` response
16
+ * shape is small and stable, so we don't try to parse it — a 2xx is
17
+ * enough to mark the proxy active. Failures (timeout, non-2xx, ECONNREFUSED)
18
+ * are treated as SOFT signals: a single transient failure (daemon mid-
19
+ * restart, one dropped 2xx) must not flip `active` to false and silently
20
+ * disable rewrites for every subsequent request. `active` flips to false
21
+ * only after `deactivateAfterFailures` consecutive failures; the periodic
22
+ * loop keeps retrying, so a recovered daemon re-activates on the next
23
+ * successful probe. Toggle-off (`enabled: false` / no URL) still deactivates
24
+ * immediately.
25
+ */
26
+ interface ProbeRunnerOptions {
27
+ /** Override the default interval (30s). Useful for tests. */
28
+ intervalMs?: number;
29
+ /** Override the default per-request timeout (2s). Useful for tests. */
30
+ timeoutMs?: number;
31
+ /** Override `fetch` for tests. */
32
+ fetchImpl?: typeof fetch;
33
+ /** Override `setInterval` / `clearInterval` for tests. */
34
+ setIntervalImpl?: typeof setInterval;
35
+ clearIntervalImpl?: typeof clearInterval;
36
+ /**
37
+ * Number of CONSECUTIVE failed probes required before `active` flips to
38
+ * false. A single transient failure is a soft signal and leaves `active`
39
+ * untouched. Defaults to 2. Useful for tests wanting to exercise the
40
+ * threshold without waiting two ticks.
41
+ */
42
+ deactivateAfterFailures?: number;
43
+ }
44
+ export interface ProbeRunner {
45
+ /** Stop the periodic probe and abort any in-flight request. */
46
+ stop(): void;
47
+ /** Force an immediate probe (next tick). Resolves with whether the health check succeeded. */
48
+ poke(): Promise<boolean>;
49
+ }
50
+ /**
51
+ * Start the probe loop. Idempotent — repeated calls reuse the existing
52
+ * runner unless `stop()` was called in between.
53
+ */
54
+ export declare function startProxyProbe(opts?: ProbeRunnerOptions): ProbeRunner;
55
+ /**
56
+ * Stop any running probe. Safe to call when nothing is running.
57
+ */
58
+ export declare function stopProxyProbe(): void;
59
+ /** Test-only: clear module state without touching timers. */
60
+ export declare function __resetProxyProbeForTests(): void;
61
+ export {};
62
+ //# sourceMappingURL=proxy-probe.d.ts.map
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Bridge between the WS prefs pipeline and the proxy-rewrite runtime.
3
+ *
4
+ * Lives in `@wrongstack/cli/wiring/proxy-wiring.ts` because it owns the
5
+ * side-effectful boot of the probe loop — `proxy-rewrite` is pure logic
6
+ * and `proxy-probe` is the periodic side-effect loop, but neither knows
7
+ * about WS prefs. This module is the single owner of:
8
+ *
9
+ * - the singleton probe runner
10
+ * - pushing user prefs into the proxy-rewrite config
11
+ * - kicking off the periodic /api/health probe when the toggle goes on
12
+ *
13
+ * Re-exported so `handlePrefsUpdate` in `@wrongstack/webui-server` can
14
+ * call `applyWrongProxyPrefs(payload)` without taking a direct dependency
15
+ * on `proxy-probe` (the WS server is intentionally provider-agnostic).
16
+ */
17
+ /**
18
+ * Apply the `wrongProxyEnabled` + `wrongProxyUrl` portion of a prefs
19
+ * payload. Idempotent — safe to call on every `prefs.update`. Boots the
20
+ * probe on first call so the rewrite can be marked active before the
21
+ * next request hits the provider factory.
22
+ */
23
+ export declare function applyWrongProxyPrefs(payload: Record<string, unknown>): void;
24
+ /**
25
+ * Await one probe pass so the `ProxyConfig` singleton's `active` flag is
26
+ * settled before the caller reads it. Returns immediately when no probe
27
+ * runner exists (toggle never enabled). Each call triggers a fresh
28
+ * `runOnce()` probe — there is no memoization — so call it once per
29
+ * decision point, not per request.
30
+ *
31
+ * This closes the cli-main boot race: `bootstrapWrongProxy()` seeds
32
+ * `enabled` / `url` synchronously, but `startProxyProbe()` only schedules
33
+ * a 30 s `setInterval` and the first `poke()` resolves on the next
34
+ * macrotask. `setupProviderRuntime()` runs synchronously on the very
35
+ * next line, so without this gate providers are constructed with the raw
36
+ * base URL even when the toggle is on.
37
+ */
38
+ export declare function awaitFirstWrongProxyProbe(): Promise<void>;
39
+ /**
40
+ * Apply the initial prefs snapshot at boot. Same as `applyWrongProxyPrefs`
41
+ * but explicitly named for the boot site so future readers can find it.
42
+ *
43
+ * Accepts the canonical persisted shape (`config.tools.wrongProxy` —
44
+ * `{ enabled?, url? }`) directly. The `enabled` / `url` keys are mapped
45
+ * to the flat `wrongProxyEnabled` / `wrongProxyUrl` keys the proxy
46
+ * rewriter reads; any other keys in the snapshot are ignored. Callers
47
+ * that hold a `WrongProxyToolConfig` (the typed schema in
48
+ * `@wrongstack/core/types/config/tools.ts`) can pass it through without
49
+ * casting — the function never reads anything beyond `enabled` / `url`.
50
+ */
51
+ export declare function bootstrapWrongProxy(snapshot: {
52
+ enabled?: boolean | undefined;
53
+ url?: string | undefined;
54
+ } | Record<string, unknown> | undefined): void;
55
+ /**
56
+ * Stop the probe. Intended for graceful shutdown / test cleanup.
57
+ */
58
+ export declare function shutdownWrongProxy(): void;
59
+ //# sourceMappingURL=proxy-wiring.d.ts.map
@@ -0,0 +1,45 @@
1
+ import type { CliContext } from '../cli-context.js';
2
+ import type { loadOnlineAgentsForPrompt } from '../cli-main-helpers.js';
3
+ import { setupSession } from './session.js';
4
+ export interface SessionEstablishmentArgs {
5
+ /** Container used to resolve SessionStore + TokenCounter. */
6
+ container: Pick<CliContext['container'], 'resolve'>;
7
+ config: {
8
+ provider: string;
9
+ model: string;
10
+ };
11
+ wpaths: Parameters<typeof setupSession>[0]['wpaths'];
12
+ projectRoot: string;
13
+ cwd: string;
14
+ systemPrompt: Parameters<typeof setupSession>[0]['systemPrompt'];
15
+ provider: Parameters<typeof setupSession>[0]['provider'];
16
+ renderer: Parameters<typeof setupSession>[0]['renderer'];
17
+ flags: Parameters<typeof setupSession>[0]['flags'];
18
+ events: NonNullable<Parameters<typeof setupSession>[0]['events']>;
19
+ logger: Parameters<typeof setupSession>[0]['logger'];
20
+ /** Live ref so /resume writer swaps are picked up without re-wiring. */
21
+ sessionRef: {
22
+ current: {
23
+ id?: string;
24
+ flushSync?: () => void;
25
+ } | undefined;
26
+ };
27
+ onlineAgents: Awaited<ReturnType<typeof loadOnlineAgentsForPrompt>>;
28
+ /** Owned by the teardown-registrar phase; consumed here for clientType. */
29
+ tuiOwnsScreen: boolean;
30
+ }
31
+ export declare function setupSessionEstablishment(args: SessionEstablishmentArgs): Promise<{
32
+ sessionStore: import("@wrongstack/core").SessionStore;
33
+ tokenCounter: import("@wrongstack/core").TokenCounter;
34
+ context: import("@wrongstack/core").Context;
35
+ planPath: string;
36
+ session: import("@wrongstack/core").SessionWriter;
37
+ attachments: import("@wrongstack/core/storage").DefaultAttachmentStore;
38
+ queueStore: import("@wrongstack/core/storage").QueueStore;
39
+ detachTodosCheckpoint: () => void | Promise<void>;
40
+ priorFleetState: import("@wrongstack/core/storage").DirectorStateSnapshot | undefined;
41
+ /** Full SessionResult, passed through for downstream consumers
42
+ * (runCliExecution, multi-agent setup read traceId/resumed* off it). */
43
+ sessResult: import("./session.js").SessionResult;
44
+ }>;
45
+ //# sourceMappingURL=session-establishment.d.ts.map
@@ -20,7 +20,7 @@ export interface SetupSessionRegistryDeps {
20
20
  }
21
21
  export interface SetupSessionRegistryResult {
22
22
  /** AgentStatusTracker when the dynamic import and setup succeeded, else undefined. */
23
- tracker: InstanceType<typeof import('@wrongstack/core/storage').AgentStatusTracker> | undefined;
23
+ tracker: InstanceType<typeof import('@wrongstack/core/coordination').AgentStatusTracker> | undefined;
24
24
  /**
25
25
  * Atomically move this process's registry ownership to another session.
26
26
  * Used by explicit resume; unrelated sessions in other processes are untouched.
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Session-runtime wiring for the interactive CLI (card #7C slice 4).
3
+ *
4
+ * Extracted verbatim from cli-main.ts. Owns the post-establishment session
5
+ * surface:
6
+ *
7
+ * - `wireSessionEvents` (error ring, session bridge, chronicle) plus the
8
+ * `process.once('beforeExit')` hook that flushes the chronicle on the way
9
+ * out — the last teardown hook that lived inline in the orchestrator.
10
+ * - `SessionStats` fed by the shared EventBus + token counter.
11
+ * - The active reasoning-config refresher (best-effort modelsRegistry lookup)
12
+ * and the warning-dedup set behind `model-runtime` pipeline warnings.
13
+ * - `setupPipelines` with the modelRuntime overlay, then the governance
14
+ * tool-boundary install when replay-governance is active.
15
+ *
16
+ * `getActiveReasoningConfig()` exposes the CURRENT reasoning config exactly
17
+ * the way the orchestrator's inline `let` did when `runCliExecution` read it
18
+ * by value at call time.
19
+ */
20
+ import type { Context } from '@wrongstack/core/agent';
21
+ import type { Provider } from '@wrongstack/core/types';
22
+ import type { CliContext } from '../cli-context.js';
23
+ import { wireSessionEvents } from '../session-event-wiring.js';
24
+ import { SessionStats } from '../session-stats.js';
25
+ import type { setupReplayAndGovernance } from './replay-governance-setup.js';
26
+ type WireArgs = Parameters<typeof wireSessionEvents>[0];
27
+ type GovernanceHandle = Awaited<ReturnType<typeof setupReplayAndGovernance>>['governanceHandle'];
28
+ export interface SessionRuntimeArgs {
29
+ evOn: WireArgs['evOn'];
30
+ events: NonNullable<WireArgs['events']>;
31
+ /** Live config binding; provider/model are read once at setup time. */
32
+ config: CliContext['config'];
33
+ context: Context;
34
+ session: WireArgs['session'];
35
+ sessionRef: WireArgs['sessionRef'];
36
+ wpaths: WireArgs['wpaths'];
37
+ projectRoot: WireArgs['projectRoot'];
38
+ renderer: NonNullable<WireArgs['renderer']>;
39
+ tuiOwnsScreen: boolean;
40
+ tokenCounter: ConstructorParameters<typeof SessionStats>[1];
41
+ modelsRegistry: CliContext['modelsRegistry'];
42
+ configStore: CliContext['configStore'];
43
+ provider: {
44
+ capabilities: Provider['capabilities'];
45
+ };
46
+ logger: CliContext['logger'];
47
+ governanceHandle: GovernanceHandle;
48
+ }
49
+ export declare function setupSessionRuntime(args: SessionRuntimeArgs): {
50
+ errorRing: import("../session-event-wiring.js").ErrorEntry[];
51
+ sessionBridge: import("@wrongstack/core").SessionEventBridge;
52
+ stats: SessionStats;
53
+ pipelines: import("@wrongstack/core/agent").AgentPipelines;
54
+ refreshActiveReasoningConfig: (providerId: string, modelId: string) => Promise<void>;
55
+ getActiveReasoningConfig: () => import("@wrongstack/core/types").ReasoningConfig | undefined;
56
+ /**
57
+ * Lifecycle registration is intentionally NOT done here — this module is
58
+ * reusable and must not install process-level hooks (chimera review).
59
+ * The composition root owns `process.once('beforeExit', ...)` wiring.
60
+ */
61
+ disposeChronicle: () => Promise<void>;
62
+ };
63
+ export {};
64
+ //# sourceMappingURL=session-runtime.d.ts.map
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Teardown-registrar phase (card #7C-2), extracted verbatim from
3
+ * `cli-main.ts` (was lines 164-179).
4
+ *
5
+ * Two concerns that must stay together because of the LIFO teardown
6
+ * contract:
7
+ *
8
+ * 1. `createTeardownEventRegistrar` wraps `events` so event-driven
9
+ * subscriptions unregister themselves on shutdown (their disposers go
10
+ * to the same chain).
11
+ * 2. The vector-memory SQLite `close()` teardown is pushed *after* the
12
+ * registrar — in the original file the store-close push sat at line
13
+ * 170, after the mirror-dispose push at line 168 from the setup
14
+ * phase, so on LIFO teardown close runs before the mirror dispose.
15
+ * Keeping this registration inside the same function preserves that
16
+ * exact ordering; moving it back into the setup phase would invert
17
+ * the shutdown sequence.
18
+ *
19
+ * `tuiOwnsScreen` is resolved here as well (was line 164): it derives
20
+ * purely from flags and is consumed by the event wiring below.
21
+ */
22
+ import type { VectorMemoryStore } from '@wrongstack/vector-memory';
23
+ import { createTeardownEventRegistrar } from '../cli-main-helpers.js';
24
+ export interface TeardownRegistrarArgs {
25
+ flags: {
26
+ tui?: unknown;
27
+ 'no-tui'?: unknown;
28
+ };
29
+ events: Parameters<typeof createTeardownEventRegistrar>[0];
30
+ logger: {
31
+ debug?: (message: string) => void;
32
+ };
33
+ teardownHandlers: Array<() => void>;
34
+ vectorMemoryStore: VectorMemoryStore | undefined;
35
+ }
36
+ export interface TeardownRegistrarResult {
37
+ tuiOwnsScreen: boolean;
38
+ evOn: ReturnType<typeof createTeardownEventRegistrar>;
39
+ }
40
+ export declare function setupTeardownRegistrar(args: TeardownRegistrarArgs): TeardownRegistrarResult;
41
+ //# sourceMappingURL=teardown-registrar.d.ts.map
@@ -0,0 +1,30 @@
1
+ import type { MemoryPort } from '@wrongstack/core/types';
2
+ import { VectorMemoryStore } from '@wrongstack/vector-memory';
3
+ export interface VectorMemoryArgs {
4
+ projectRoot: string;
5
+ flags: {
6
+ 'vector-sync'?: unknown;
7
+ };
8
+ logger: {
9
+ warn: (message: string) => void;
10
+ info: (message: string) => void;
11
+ debug?: (message: string) => void;
12
+ };
13
+ /** The SAGE memory port; returned wrapped when the vector store comes up. */
14
+ memoryStore: MemoryPort;
15
+ /** Disposer chain; the mirror-dispose handler is pushed from inside. */
16
+ teardownHandlers: Array<() => void>;
17
+ }
18
+ export interface VectorMemoryResult {
19
+ memoryStore: MemoryPort;
20
+ vectorMemoryStore: VectorMemoryStore | undefined;
21
+ /**
22
+ * Model-cache directory (`.wrongstack/cache/transformers-models` under the
23
+ * project root). Surfaced because `session-start-payload` advertises the
24
+ * cache location to the WebUI — callers pass it onward (original
25
+ * cli-main.ts line 801 shorthand).
26
+ */
27
+ vectorMemoryModelCacheDir: string;
28
+ }
29
+ export declare function setupVectorMemory(args: VectorMemoryArgs): Promise<VectorMemoryResult>;
30
+ //# sourceMappingURL=vector-memory-setup.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wrongstack/cli",
3
- "version": "0.309.1",
3
+ "version": "0.310.1",
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": [
@@ -42,32 +42,34 @@
42
42
  ],
43
43
  "dependencies": {
44
44
  "ws": "^8.21.3",
45
- "@wrongstack/acp": "0.309.1",
46
- "@wrongstack/bench": "0.309.1",
47
- "@wrongstack/kanban": "0.309.1",
48
- "@wrongstack/persistence": "0.309.1",
49
- "@wrongstack/core": "0.309.1",
50
- "@wrongstack/plug-lsp": "0.309.1",
51
- "@wrongstack/plugins": "0.309.1",
52
- "@wrongstack/requirement-intake": "0.309.1",
53
- "@wrongstack/mcp": "0.309.1",
54
- "@wrongstack/providers": "0.309.1",
55
- "@wrongstack/sage": "0.309.1",
56
- "@wrongstack/sdd": "0.309.1",
57
- "@wrongstack/runtime": "0.309.1",
58
- "@wrongstack/techstack": "0.309.1",
59
- "@wrongstack/simpleui": "0.309.1",
60
- "@wrongstack/tui": "0.309.1",
61
- "@wrongstack/security-scanner": "0.309.1",
62
- "@wrongstack/tools": "0.309.1",
63
- "@wrongstack/telegram": "0.309.1",
64
- "@wrongstack/webui": "0.309.1",
65
- "@wrongstack/vector-memory": "0.309.1",
66
- "@wrongstack/webui-hq": "0.309.1",
67
- "@wrongstack/webui-server": "0.309.1"
45
+ "@wrongstack/core": "0.310.1",
46
+ "@wrongstack/acp": "0.310.1",
47
+ "@wrongstack/bench": "0.310.1",
48
+ "@wrongstack/mcp": "0.310.1",
49
+ "@wrongstack/primitives": "0.310.1",
50
+ "@wrongstack/plug-lsp": "0.310.1",
51
+ "@wrongstack/persistence": "0.310.1",
52
+ "@wrongstack/kanban": "0.310.1",
53
+ "@wrongstack/runtime": "0.310.1",
54
+ "@wrongstack/requirement-intake": "0.310.1",
55
+ "@wrongstack/sage": "0.310.1",
56
+ "@wrongstack/sdd": "0.310.1",
57
+ "@wrongstack/simpleui": "0.310.1",
58
+ "@wrongstack/tools": "0.310.1",
59
+ "@wrongstack/security-scanner": "0.310.1",
60
+ "@wrongstack/telegram": "0.310.1",
61
+ "@wrongstack/vector-memory": "0.310.1",
62
+ "@wrongstack/providers": "0.310.1",
63
+ "@wrongstack/webui": "0.310.1",
64
+ "@wrongstack/plugins": "0.310.1",
65
+ "@wrongstack/webui-hq": "0.310.1",
66
+ "@wrongstack/techstack": "0.310.1",
67
+ "@wrongstack/webui-protocol": "0.310.1",
68
+ "@wrongstack/tui": "0.310.1",
69
+ "@wrongstack/webui-server": "0.310.1"
68
70
  },
69
71
  "optionalDependencies": {
70
- "@wrongstack/desktop": "0.309.1"
72
+ "@wrongstack/desktop": "0.310.1"
71
73
  },
72
74
  "devDependencies": {
73
75
  "@types/node": "^26.2.0",