@wrongstack/cli 1.0.33 → 1.0.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/dist/{acp-EDGUWU7N.js → acp-QLU7T5WX.js} +470 -466
  2. package/dist/{auth-SUHKFFO4.js → auth-AED7RW7D.js} +7 -7
  3. package/dist/auth-menu/openai-codex-oauth.d.ts +1 -1
  4. package/dist/auth-menu/panel-provider-edits.d.ts +15 -0
  5. package/dist/auth-menu/panel-service.d.ts +1 -1
  6. package/dist/{automation-MCDFCIMV.js → automation-3E3AUPBF.js} +19 -4
  7. package/dist/boot/governance-evidence-candidate.d.ts +1 -2
  8. package/dist/boot/system-prompt-builder.d.ts +1 -1
  9. package/dist/boot/tui-project-spawn.d.ts +0 -1
  10. package/dist/boot/tui-session-resume-contracts.d.ts +95 -0
  11. package/dist/boot/tui-session-resume.d.ts +2 -88
  12. package/dist/boot/tui-settings-read.d.ts +3 -0
  13. package/dist/{boot-auto-thin-K2DHHYIW.js → boot-auto-thin-AGJ6TAWY.js} +3 -3
  14. package/dist/boot-launch-choices.d.ts +22 -0
  15. package/dist/boot-provider-gate.d.ts +28 -0
  16. package/dist/boot-subcommand-dispatch.d.ts +24 -0
  17. package/dist/boot.d.ts +1 -1
  18. package/dist/chimera-cascade-evidence.d.ts +1 -1
  19. package/dist/{chunk-TI7KLHYX.js → chunk-2CMMWRQH.js} +81 -80
  20. package/dist/{chunk-4BX2YDTQ.js → chunk-4JMAWKLA.js} +45 -4
  21. package/dist/{chunk-TWSQTQKR.js → chunk-4R6TVMYA.js} +2 -2
  22. package/dist/{chunk-HHRYIDOW.js → chunk-ACW64W4M.js} +34 -7
  23. package/dist/{chunk-5EA6OTLJ.js → chunk-AFOH6CHO.js} +2 -2
  24. package/dist/{chunk-WHEYHDIE.js → chunk-AKESWZH5.js} +2 -1
  25. package/dist/{chunk-JHUJUIOH.js → chunk-AT2A7RJZ.js} +4 -16
  26. package/dist/{chunk-LKFKO4JW.js → chunk-B6EHK772.js} +2 -2
  27. package/dist/{chunk-U3SS4NRH.js → chunk-BHXAKTBE.js} +1 -1
  28. package/dist/{chunk-4UWCMBPG.js → chunk-BJH44J7G.js} +3 -3
  29. package/dist/{chunk-MPQCHBDJ.js → chunk-CJSHS2K7.js} +5 -1
  30. package/dist/{chunk-RQ4UBKYH.js → chunk-GF7LUWQS.js} +5 -11
  31. package/dist/{chunk-TXAFIERF.js → chunk-L5NWFP5R.js} +2 -2
  32. package/dist/{chunk-24C6VVLM.js → chunk-LPGZ3NUF.js} +23 -23
  33. package/dist/{chunk-UQUYBDMG.js → chunk-M4G5FO7F.js} +1 -1
  34. package/dist/{chunk-P3GRLV47.js → chunk-NEWXDNF2.js} +212 -145
  35. package/dist/{chunk-3LEFXLAW.js → chunk-NOZJIN46.js} +36 -37
  36. package/dist/{chunk-4MDRHMX4.js → chunk-RE73FP2X.js} +4 -27
  37. package/dist/{chunk-5UZBUV2H.js → chunk-RKU66D2O.js} +6 -4
  38. package/dist/{chunk-SWOPJHXI.js → chunk-RYTSPBNM.js} +4 -4
  39. package/dist/{chunk-WTJDSTYD.js → chunk-T5KR6SNO.js} +2 -2
  40. package/dist/chunk-TGSPCFBT.js +1 -0
  41. package/dist/{chunk-ZYACRPLN.js → chunk-ULYAI7CP.js} +6 -3
  42. package/dist/{chunk-HLSHFXTO.js → chunk-WY74MMDB.js} +2 -2
  43. package/dist/{chunk-PGNERAZL.js → chunk-ZWBI7ORM.js} +3 -3
  44. package/dist/{cli-context-7HK67B2Z.js → cli-context-I6HJCVCV.js} +1607 -1495
  45. package/dist/cli-initial-tools.d.ts +54 -0
  46. package/dist/{cli-main-TQGLKB6D.js → cli-main-X7KD7IOC.js} +38223 -37136
  47. package/dist/cli-main-boot.d.ts +133 -0
  48. package/dist/cli-main-orchestration.d.ts +170 -0
  49. package/dist/cli-main-state.d.ts +19 -0
  50. package/dist/config-doctor.d.ts +1 -1
  51. package/dist/{config-transfer-UE37X4B5.js → config-transfer-YPD7HYXH.js} +7 -5
  52. package/dist/{execution-C2IECWF7.js → execution-M7D4KNBB.js} +171 -132
  53. package/dist/fleet/host-director-setup.d.ts +41 -0
  54. package/dist/fleet/host-spawn-types.d.ts +17 -0
  55. package/dist/fleet/host.d.ts +2 -1
  56. package/dist/goal-host-prompts.d.ts +5 -0
  57. package/dist/goal-host-types.d.ts +94 -0
  58. package/dist/goal-host.d.ts +2 -91
  59. package/dist/{hq-KBFDKTDD.js → hq-BBLGEEUH.js} +5 -6
  60. package/dist/hq-server/handle-types.d.ts +1 -1
  61. package/dist/hq-server/routes/auth-handlers.d.ts +1 -1
  62. package/dist/hq-server/routes.d.ts +1 -13
  63. package/dist/hq-server/utils.d.ts +1 -1
  64. package/dist/{hq-server-AVNKZ2PV.js → hq-server-5TR6NBGS.js} +3 -3
  65. package/dist/{hq-service-FGB7BY2D.js → hq-service-4Q64WFNT.js} +3 -3
  66. package/dist/{import-claude-code-AYG24RG2.js → import-claude-code-GHIS2F7Y.js} +3 -3
  67. package/dist/index.js +5 -5
  68. package/dist/live-settings-input.d.ts +2 -0
  69. package/dist/mailbox-bridge-bootstrap.d.ts +1 -4
  70. package/dist/{mailbox-serve-S536N66F.js → mailbox-serve-DRWJVMYU.js} +2 -2
  71. package/dist/{modeldiag-NEPTLFZW.js → modeldiag-F3LUF4VJ.js} +3 -3
  72. package/dist/picker-effort.d.ts +32 -0
  73. package/dist/picker-model-picker.d.ts +13 -2
  74. package/dist/picker-provider-list.d.ts +66 -0
  75. package/dist/picker.d.ts +12 -12
  76. package/dist/plugin-config.d.ts +6 -0
  77. package/dist/{plugin-usage-3TZGROK7.js → plugin-usage-EM752WHG.js} +3 -3
  78. package/dist/{plugins-ITH4SLO6.js → plugins-U6HQFJ7N.js} +4 -4
  79. package/dist/{providers-models-O75MKLN2.js → providers-models-S3S6VXME.js} +249 -239
  80. package/dist/repl-suggestions.d.ts +0 -5
  81. package/dist/{sage-FFKUOCQL.js → sage-BMRDJCDI.js} +9 -5
  82. package/dist/{sage-sync-ZMTHB477.js → sage-sync-PCWCNEUK.js} +2 -2
  83. package/dist/{sdd-runtime-PTOSPYI4.js → sdd-runtime-PF72WHLO.js} +3 -20
  84. package/dist/services/sdd/task-manager.d.ts +1 -12
  85. package/dist/services/sdd-runtime.d.ts +3 -4
  86. package/dist/services/statusline-config.d.ts +0 -2
  87. package/dist/{sessions-config-VE26SB56.js → sessions-config-RQRQDW5Q.js} +2 -2
  88. package/dist/settings-behavior-sections.d.ts +0 -1
  89. package/dist/short-circuit-flags-IEV3FEOT.js +10 -0
  90. package/dist/{skill-suggest-L2EVWB6R.js → skill-suggest-THANK3LV.js} +1 -1
  91. package/dist/slash-commands/command-context.d.ts +2 -0
  92. package/dist/slash-commands/doctor.d.ts +0 -9
  93. package/dist/slash-commands/fallback-chain-view.d.ts +3 -0
  94. package/dist/slash-commands/fallback-ref-validation.d.ts +34 -0
  95. package/dist/slash-commands/goal-refiner.d.ts +10 -2
  96. package/dist/slash-commands/goals.d.ts +6 -0
  97. package/dist/slash-commands/kanban-task-completion.d.ts +17 -0
  98. package/dist/slash-commands/mcp.d.ts +0 -1
  99. package/dist/slash-commands/memory-purge-domain-terms.d.ts +5 -0
  100. package/dist/slash-commands/nextsteps-mode.d.ts +13 -0
  101. package/dist/slash-commands/session-live-status.d.ts +21 -0
  102. package/dist/slash-commands/session.d.ts +1 -1
  103. package/dist/slash-commands/settings-feature-ui-mutations.d.ts +8 -0
  104. package/dist/slash-commands/settings-hq-autonomy-mutations.d.ts +8 -0
  105. package/dist/slash-commands/settings-persist-deps.d.ts +10 -0
  106. package/dist/slash-commands/settings-runtime-mutations.d.ts +12 -0
  107. package/dist/slash-commands/shadow.d.ts +0 -1
  108. package/dist/slash-commands/tool-auto-thin-commands.d.ts +15 -0
  109. package/dist/{standalone-auto-update-VQC4GYCM.js → standalone-auto-update-QUXOZ4B5.js} +13 -2
  110. package/dist/subcommands/handlers/acp-agents.d.ts +9 -0
  111. package/dist/subcommands/handlers/acp-server.d.ts +7 -0
  112. package/dist/subcommands/handlers/hq.d.ts +0 -1
  113. package/dist/subcommands/handlers/providers-models-custom.d.ts +33 -0
  114. package/dist/subcommands/handlers/providers-models-visibility.d.ts +29 -0
  115. package/dist/subcommands/handlers/skill-suggest.d.ts +0 -2
  116. package/dist/{subcommands-CLI6QTLU.js → subcommands-75IB23LS.js} +2 -2
  117. package/dist/{typesafe-NHC322W5.js → typesafe-KW2XHOG3.js} +2 -2
  118. package/dist/{update-J5WHAFPE.js → update-LHCWAWEZ.js} +3 -3
  119. package/dist/utils/win32-cmd.d.ts +1 -1
  120. package/dist/{version-help-ATOKGMTK.js → version-help-JQGRPDJW.js} +2 -2
  121. package/dist/webui-server/credential-watcher.d.ts +3 -1
  122. package/dist/webui-server/host-settings.d.ts +17 -0
  123. package/dist/webui-server/http-bridge.d.ts +32 -0
  124. package/dist/webui-server/instance-registration.d.ts +19 -0
  125. package/dist/webui-server/kanban-services.d.ts +9 -0
  126. package/dist/webui-server/message-router.d.ts +14 -0
  127. package/dist/webui-server/prefs-seeding.d.ts +1 -2
  128. package/dist/webui-server/provider-config.d.ts +0 -1
  129. package/dist/webui-server/provider-plane.d.ts +14 -0
  130. package/dist/webui-server/session-agents.d.ts +18 -0
  131. package/dist/webui-server/session-start-live.d.ts +11 -0
  132. package/dist/webui-server/stream-coalescer.d.ts +1 -1
  133. package/dist/webui-server/transport.d.ts +12 -0
  134. package/dist/{webui-server-GQOVLQS3.js → webui-server-CUIFA25W.js} +1472 -1335
  135. package/dist/webui-session-maintenance.d.ts +16 -0
  136. package/dist/wiring/brain-and-orchestration.d.ts +1 -1
  137. package/dist/wiring/cli-slash-commands-setup.d.ts +1 -0
  138. package/dist/wiring/command-host-state.d.ts +11 -2
  139. package/dist/wiring/dep-watcher-bridge.d.ts +8 -1
  140. package/dist/wiring/management-tools.d.ts +9 -1
  141. package/dist/wiring/session-command-handlers.d.ts +2 -1
  142. package/dist/worktree-command-host.d.ts +31 -0
  143. package/package.json +31 -31
  144. package/dist/chunk-WHOIR577.js +0 -1
  145. package/dist/short-circuit-flags-D6VAG47Y.js +0 -10
@@ -1,51 +1,34 @@
1
- import "./chunk-WHOIR577.js";
1
+ import "./chunk-TGSPCFBT.js";
2
2
  import {
3
- SDDState,
4
3
  advanceToNextTask,
5
4
  autoDetectTaskCompletion,
6
- findSpec,
7
- formatElapsed,
8
- gatherProjectContext,
9
5
  getActiveBuilder,
10
6
  getActiveSDDContext,
11
7
  getActiveSDDPhase,
12
8
  getCurrentExecutingContext,
13
- getSessionState,
14
9
  getTaskGraphId,
15
10
  getTaskListText,
16
11
  getTaskProgress,
17
12
  getTaskTrackerExport,
18
- isExplanatoryText,
19
- markTaskCompleted,
20
13
  renderTaskListWithProgress,
21
- sddState,
22
14
  trySaveImplementationPlan,
23
15
  trySaveSpecFromAIOutput,
24
16
  trySaveTasksFromAIOutput
25
- } from "./chunk-JHUJUIOH.js";
17
+ } from "./chunk-AT2A7RJZ.js";
26
18
  export {
27
- SDDState,
28
19
  advanceToNextTask,
29
20
  autoDetectTaskCompletion,
30
- findSpec,
31
- formatElapsed,
32
- gatherProjectContext,
33
21
  getActiveBuilder,
34
22
  getActiveSDDContext,
35
23
  getActiveSDDPhase,
36
24
  getCurrentExecutingContext,
37
- getSessionState,
38
25
  getTaskGraphId,
39
26
  getTaskListText,
40
27
  getTaskProgress,
41
28
  getTaskTrackerExport as getTaskTracker,
42
- getTaskTrackerExport,
43
- isExplanatoryText,
44
- markTaskCompleted,
45
29
  renderTaskListWithProgress,
46
- sddState,
47
30
  trySaveImplementationPlan,
48
31
  trySaveSpecFromAIOutput,
49
32
  trySaveTasksFromAIOutput
50
33
  };
51
- //# sourceMappingURL=sdd-runtime-PTOSPYI4.js.map
34
+ //# sourceMappingURL=sdd-runtime-PF72WHLO.js.map
@@ -1,22 +1,11 @@
1
1
  import type { TaskProgress } from '@wrongstack/core/types';
2
- import { renderProgress, TaskTracker } from '@wrongstack/sdd';
3
- export type { TaskProgress };
4
- export { renderProgress };
2
+ import { TaskTracker } from '@wrongstack/sdd';
5
3
  /**
6
4
  * Format elapsed milliseconds as a human-readable string.
7
5
  */
8
6
  export declare function formatElapsed(ms: number): string;
9
7
  export declare function trySaveTasksFromAIOutput(aiOutput: string): Promise<boolean>;
10
8
  export declare function getTaskProgress(): TaskProgress | null;
11
- export declare function getCurrentTask(): {
12
- id: string;
13
- title: string;
14
- description: string;
15
- priority: string;
16
- estimateHours: number;
17
- tags: string[];
18
- startedAt: number | undefined;
19
- } | null;
20
9
  export declare function advanceToNextTask(): boolean;
21
10
  export declare function getTaskListText(): string | null;
22
11
  export declare function renderTaskListWithProgress(): string | null;
@@ -1,5 +1,4 @@
1
- export { findSpec, gatherProjectContext, getActiveBuilder, getActiveSDDContext, getActiveSDDPhase, } from './sdd/project-context.js';
2
- export { autoDetectTaskCompletion, isExplanatoryText, trySaveImplementationPlan, trySaveSpecFromAIOutput, } from './sdd/spec-detection.js';
3
- export { getSessionState, SDDState, sddState } from './sdd/state.js';
4
- export { advanceToNextTask, formatElapsed, getCurrentExecutingContext, getTaskGraphId, getTaskListText, getTaskProgress, getTaskTrackerExport as getTaskTracker, getTaskTrackerExport, markTaskCompleted, renderTaskListWithProgress, trySaveTasksFromAIOutput, } from './sdd/task-manager.js';
1
+ export { getActiveBuilder, getActiveSDDContext, getActiveSDDPhase, } from './sdd/project-context.js';
2
+ export { autoDetectTaskCompletion, trySaveImplementationPlan, trySaveSpecFromAIOutput, } from './sdd/spec-detection.js';
3
+ export { advanceToNextTask, getCurrentExecutingContext, getTaskGraphId, getTaskListText, getTaskProgress, getTaskTrackerExport as getTaskTracker, renderTaskListWithProgress, trySaveTasksFromAIOutput, } from './sdd/task-manager.js';
5
4
  //# sourceMappingURL=sdd-runtime.d.ts.map
@@ -65,6 +65,4 @@ export declare function saveStatuslineLayout(layout: {
65
65
  export declare function saveStatuslineChips(chips: StatuslineConfig): Promise<void>;
66
66
  /** Back-compat alias: persist only the line assignment. */
67
67
  export declare function saveStatuslineLines(lines: StatuslineLines): Promise<void>;
68
- /** Back-compat-sized helper: persist only the custom chip order. */
69
- export declare function saveStatuslineOrder(order: StatuslineOrder): Promise<void>;
70
68
  //# sourceMappingURL=statusline-config.d.ts.map
@@ -7,7 +7,7 @@ import {
7
7
  listHistory,
8
8
  restoreFromHistory,
9
9
  restoreLast
10
- } from "./chunk-4BX2YDTQ.js";
10
+ } from "./chunk-4JMAWKLA.js";
11
11
  import {
12
12
  restoreFlags
13
13
  } from "./chunk-CSAPOCBP.js";
@@ -536,4 +536,4 @@ export {
536
536
  configCmd,
537
537
  sessionsCmd
538
538
  };
539
- //# sourceMappingURL=sessions-config-VE26SB56.js.map
539
+ //# sourceMappingURL=sessions-config-RQRQDW5Q.js.map
@@ -12,7 +12,6 @@
12
12
  * therefore structurally free of credentials and model-routing data.
13
13
  */
14
14
  export declare const BEHAVIOR_SECTION_KEYS: readonly ['context', 'tools', 'log', 'features', 'session', 'indexing', 'circuitBreaker', 'modelRuntime', 'Sage', 'skills', 'systemPrompt', 'autonomy', 'maxConcurrent', 'yolo', 'nextPrediction', 'hints', 'debugStream'];
15
- export type BehaviorSectionKey = (typeof BEHAVIOR_SECTION_KEYS)[number];
16
15
  /** Deep-copy the behavior sections out of a loaded config. */
17
16
  export declare function extractBehaviorSettings(config: Record<string, unknown>): Record<string, unknown>;
18
17
  /** Merge behavior sections from a portable export over an existing config object. */
@@ -0,0 +1,10 @@
1
+ import {
2
+ handleHelpVersionShortCircuit
3
+ } from "./chunk-RYTSPBNM.js";
4
+ import "./chunk-CJSHS2K7.js";
5
+ import "./chunk-AKESWZH5.js";
6
+ import "./chunk-F5DCFAKI.js";
7
+ export {
8
+ handleHelpVersionShortCircuit
9
+ };
10
+ //# sourceMappingURL=short-circuit-flags-IEV3FEOT.js.map
@@ -287,4 +287,4 @@ function truncate(text, max) {
287
287
  export {
288
288
  skillSuggestCmd
289
289
  };
290
- //# sourceMappingURL=skill-suggest-L2EVWB6R.js.map
290
+ //# sourceMappingURL=skill-suggest-THANK3LV.js.map
@@ -263,6 +263,8 @@ export interface SlashCommandContext {
263
263
  onContextLimit?: ((tokens?: number) => number) | undefined;
264
264
  /** Toggle or query YOLO mode at runtime. Pass undefined to query, boolean to set. */
265
265
  onYolo?: ((setTo?: boolean) => boolean) | undefined;
266
+ /** Read or set YOLO+ (nothing ever asks). On implies YOLO. */
267
+ onYoloPlus?: ((setTo?: boolean) => boolean) | undefined;
266
268
  /**
267
269
  * Read, or set, which kinds of damage still prompt while YOLO is on.
268
270
  *
@@ -1,13 +1,4 @@
1
1
  import type { SlashCommand } from '@wrongstack/core/types';
2
2
  import type { SlashCommandContext } from './command-context.js';
3
- /**
4
- * `/doctor` — diagnose and auto-repair the persisted config files.
5
- *
6
- * Report mode (bare `/doctor`) never writes anything. `/doctor fix` backs the
7
- * file up first (config.json.last + a timestamped .bak, the same convention
8
- * config-history uses), then writes the repaired config and mirrors it into
9
- * the in-memory store. A config that fails to parse at all is restored from
10
- * the newest parsable backup.
11
- */
12
3
  export declare function buildDoctorCommand(opts: SlashCommandContext): SlashCommand;
13
4
  //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1,3 @@
1
+ import type { SlashCommandContext } from './command-context.js';
2
+ export declare function renderFallbackView(opts: SlashCommandContext): string;
3
+ //# sourceMappingURL=fallback-chain-view.d.ts.map
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Reason a ref may NOT be stored in a chain or profile, or undefined when it
3
+ * is acceptable. Only hard, user-owned rules live here:
4
+ *
5
+ * 1. It parses to a non-empty model.
6
+ * 2. It is in `favoriteModels` (skipped when favorites are empty — legacy
7
+ * behavior: no favorites ⇒ no enforcement). This is an explicit policy
8
+ * the user turned on, so it stays blocking.
9
+ *
10
+ * The `providers[].models` allow-list is deliberately NOT blocking: it is an
11
+ * unrefreshed snapshot that re-auth and manual edits rewrite, so a stale entry
12
+ * would refuse a model the provider actually serves. It is surfaced as a
13
+ * warning instead (see {@link refStaleModelListWarning}).
14
+ */
15
+ export declare function refInvalidReason(ref: string, config: {
16
+ provider: string;
17
+ providers?: Record<string, {
18
+ models?: string[] | undefined;
19
+ }> | undefined;
20
+ favoriteModels?: string[] | undefined;
21
+ }): string | undefined;
22
+ /**
23
+ * Advisory note when a ref names a model the provider's saved `models` list
24
+ * does not contain. The runtime still tries the entry (the list drifts), so
25
+ * this is a "check this" hint, never a drop — the previous wording claimed the
26
+ * entry was "inactive", which was true then and would be misleading now.
27
+ */
28
+ export declare function refStaleModelListWarning(ref: string, config: {
29
+ provider: string;
30
+ providers?: Record<string, {
31
+ models?: string[] | undefined;
32
+ }> | undefined;
33
+ }): string | undefined;
34
+ //# sourceMappingURL=fallback-ref-validation.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import type { OneShotOrchestrator } from '@wrongstack/core/execution';
2
2
  import { type RefinedMission } from '@wrongstack/core/goal';
3
- import type { Provider } from '@wrongstack/core/types';
3
+ import type { Provider, Usage } from '@wrongstack/core/types';
4
4
  export { refineGoalHeuristic, resolveRefinerTarget } from '@wrongstack/core/goal';
5
5
  /**
6
6
  * Result of refining a user's raw goal into a clear, actionable mission.
@@ -27,6 +27,11 @@ interface GoalRefinerOptions {
27
27
  * chain support and cheap-model defaulting.
28
28
  */
29
29
  oneShotOrchestrator?: OneShotOrchestrator | undefined;
30
+ /** Token-usage hook: fired by the serving tier with the reported usage. */
31
+ onUsage?: ((usage: Usage, source: {
32
+ providerId: string;
33
+ model: string;
34
+ }) => void) | undefined;
30
35
  }
31
36
  /**
32
37
  * Refine a raw goal using the best available model/provider, with a
@@ -45,5 +50,8 @@ export declare function refineGoalWithFallback(rawGoal: string, opts: GoalRefine
45
50
  * with unambiguous deliverables. Returns null if no LLM is available
46
51
  * or the call fails.
47
52
  */
48
- export declare function refineGoal(rawGoal: string, provider: Provider, model: string, oneShotOrchestrator?: OneShotOrchestrator | undefined): Promise<RefinedGoal | null>;
53
+ export declare function refineGoal(rawGoal: string, provider: Provider, model: string, oneShotOrchestrator?: OneShotOrchestrator | undefined, onUsage?: ((usage: Usage, source: {
54
+ providerId: string;
55
+ model: string;
56
+ }) => void) | undefined): Promise<RefinedGoal | null>;
49
57
  //# sourceMappingURL=goal-refiner.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { type GoalSummary } from '@wrongstack/core/goal';
2
+ import type { SlashCommand } from '@wrongstack/core/types';
3
+ import type { SlashCommandContext } from './command-context.js';
4
+ export declare function formatGoalSummary(goal: GoalSummary): string;
5
+ export declare function buildGoalsCommand(opts: SlashCommandContext): SlashCommand;
6
+ //# sourceMappingURL=goals.d.ts.map
@@ -0,0 +1,17 @@
1
+ interface CompleteKanbanTaskInput {
2
+ sub: string;
3
+ rest: string[];
4
+ board: import('@wrongstack/kanban').KanbanBoard;
5
+ eventContext: import('@wrongstack/kanban').KanbanEventContext;
6
+ projectRoot: string;
7
+ boardId: string;
8
+ syncTaskToContext: (opts: import('./command-context.js').SlashCommandContext, task: import('@wrongstack/kanban').KanbanTask | undefined, options?: {
9
+ remove?: boolean;
10
+ }) => Promise<void>;
11
+ opts: import('./command-context.js').SlashCommandContext;
12
+ }
13
+ export declare function completeKanbanTask({ sub, rest, board, eventContext, projectRoot, boardId, syncTaskToContext, opts, }: CompleteKanbanTaskInput): Promise<{
14
+ message: string;
15
+ } | undefined>;
16
+ export {};
17
+ //# sourceMappingURL=kanban-task-completion.d.ts.map
@@ -1,6 +1,5 @@
1
1
  import type { SlashCommand } from '@wrongstack/core/types';
2
2
  import type { SlashCommandContext } from './command-context.js';
3
- export type { McpParsedArgs } from '../services/mcp-management.js';
4
3
  export { parseMcpArgs, runMcpManagementCommand } from '../services/mcp-management.js';
5
4
  /**
6
5
  * /mcp slash command — manage MCP servers from the REPL.
@@ -0,0 +1,5 @@
1
+ import type { getSageSurface } from '@wrongstack/sage';
2
+ export declare function runPurgeDomainTerms(Sage: ReturnType<typeof getSageSurface>, rest: readonly string[]): Promise<{
3
+ message: string;
4
+ }>;
5
+ //# sourceMappingURL=memory-purge-domain-terms.d.ts.map
@@ -0,0 +1,13 @@
1
+ import type { SlashCommand } from '@wrongstack/core/types';
2
+ import type { SlashCommandContext } from './command-context.js';
3
+ /** Offered limits for consecutive automatic turns; 0 = unlimited. */
4
+ export declare const NEXT_STEPS_LIMIT_PRESETS: readonly [5, 10, 20, 50, 100, 0];
5
+ /** Parse a limit argument: a preset, any non-negative integer, or "unlimited". */
6
+ export declare function parseNextStepsLimit(raw: string): number | undefined;
7
+ /**
8
+ * `/nextsteps` — whether the leader must end every finished turn with
9
+ * suggestions (`autonomy.nextSteps`), and how many consecutive automatic turns
10
+ * `auto` autonomy may run on them (`autonomy.autoProceedMaxIterations`).
11
+ */
12
+ export declare function buildNextStepsModeCommand(opts: SlashCommandContext): SlashCommand;
13
+ //# sourceMappingURL=nextsteps-mode.d.ts.map
@@ -0,0 +1,21 @@
1
+ export declare function formatBytes(value: number | undefined): string;
2
+ export declare function isSafeSessionKillPid(pid: number): boolean;
3
+ /**
4
+ * Build a compact one-line-per-event summary of a recovery plan's
5
+ * pending events. Stops early once we've shown enough to be useful
6
+ * (cap = 12 lines) — the recovery is informational, not a re-execution.
7
+ */
8
+ export declare function summarizePending(events: import('@wrongstack/core/types').SessionEvent[]): string[];
9
+ export declare function listLiveSessions(): Promise<{
10
+ message: string;
11
+ }>;
12
+ export declare function sessionStatusDetail(sessionId: string): Promise<{
13
+ message: string;
14
+ }>;
15
+ export declare function listLiveAgents(): Promise<{
16
+ message: string;
17
+ }>;
18
+ export declare function killSession(sessionId: string, confirm?: (question: string, defaultYes?: boolean) => Promise<boolean | null>): Promise<{
19
+ message: string;
20
+ }>;
21
+ //# sourceMappingURL=session-live-status.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import type { SlashCommand } from '@wrongstack/core/types';
2
2
  import type { SlashCommandContext } from './command-context.js';
3
- export declare function isSafeSessionKillPid(pid: number): boolean;
3
+ export { isSafeSessionKillPid } from './session-live-status.js';
4
4
  export declare function buildSaveCommand(_opts: SlashCommandContext): SlashCommand;
5
5
  export declare function buildLoadCommand(opts: SlashCommandContext): SlashCommand;
6
6
  export declare function buildExitCommand(opts: SlashCommandContext): SlashCommand;
@@ -0,0 +1,8 @@
1
+ /** `/settings` mutations for feature flags, fleet chat, loop limits, logging and TUI presentation. */
2
+ import type { SlashCommandContext } from './command-context.js';
3
+ import type { SettingsPersistDeps } from './settings-persist-deps.js';
4
+ /** Feature flag, fleet, iteration, logging and presentation keys. Returns undefined for a key it does not own. */
5
+ export declare function executeFeatureAndUiSettings(sub: string, rest: string[], persistDeps: SettingsPersistDeps, opts: SlashCommandContext, _activeProfile: string): Promise<{
6
+ message: string;
7
+ } | undefined>;
8
+ //# sourceMappingURL=settings-feature-ui-mutations.d.ts.map
@@ -0,0 +1,8 @@
1
+ /** `/settings` mutations for HQ, autonomy pacing, config scope, filesystem access and the prompt refiner. */
2
+ import type { SlashCommandContext } from './command-context.js';
3
+ import type { SettingsPersistDeps } from './settings-persist-deps.js';
4
+ /** HQ, autonomy, scope, filesystem-access and refiner keys. Returns undefined for a key it does not own. */
5
+ export declare function executeHqAndAutonomySettings(sub: string, rest: string[], persistDeps: SettingsPersistDeps, opts: SlashCommandContext, activeProfile: string): Promise<{
6
+ message: string;
7
+ } | undefined>;
8
+ //# sourceMappingURL=settings-hq-autonomy-mutations.d.ts.map
@@ -0,0 +1,10 @@
1
+ /** Persistence target shared by every `/settings` mutation group. */
2
+ import type { SlashCommandContext } from './command-context.js';
3
+ export declare function buildSettingsPersistDeps(opts: SlashCommandContext, activeProfile: string): {
4
+ configStore: import("@wrongstack/core/types").ConfigStore;
5
+ profileConfigPath: string;
6
+ inProjectConfigPath: string;
7
+ vault: import("@wrongstack/core/types").SecretVault;
8
+ };
9
+ export type SettingsPersistDeps = ReturnType<typeof buildSettingsPersistDeps>;
10
+ //# sourceMappingURL=settings-persist-deps.d.ts.map
@@ -0,0 +1,12 @@
1
+ /** `/settings` mutations for versioning, the shell circuit breaker and model-runtime behaviour. */
2
+ import type { SlashCommandContext } from './command-context.js';
3
+ import type { SettingsPersistDeps } from './settings-persist-deps.js';
4
+ /** semver-part and circuit-breaker keys. Returns undefined for a key it does not own. */
5
+ export declare function executeBreakerSettings(sub: string, rest: string[], persistDeps: SettingsPersistDeps, _opts: SlashCommandContext, _activeProfile: string): Promise<{
6
+ message: string;
7
+ } | undefined>;
8
+ /** Title animation, reasoning, cache TTL and stream-watchdog keys. Returns undefined for a key it does not own. */
9
+ export declare function executeModelRuntimeSettings(sub: string, rest: string[], persistDeps: SettingsPersistDeps, _opts: SlashCommandContext, _activeProfile: string): Promise<{
10
+ message: string;
11
+ } | undefined>;
12
+ //# sourceMappingURL=settings-runtime-mutations.d.ts.map
@@ -13,5 +13,4 @@ import type { SlashCommandContext } from './command-context.js';
13
13
  * - Can intervene via "hoop" command to stop agents and send notifications
14
14
  */
15
15
  export declare function buildShadowCommand(opts: SlashCommandContext): SlashCommand;
16
- export declare const shadowCommand: typeof buildShadowCommand;
17
16
  //# sourceMappingURL=shadow.d.ts.map
@@ -0,0 +1,15 @@
1
+ import type { DisabledToolMeta } from '@wrongstack/core/types';
2
+ interface CreateToolAutoThinCommandsInput {
3
+ getCurrentTools: () => import('@wrongstack/core/types').ToolsConfig;
4
+ opts: import('./command-context.js').SlashCommandContext;
5
+ }
6
+ export declare function createToolAutoThinCommands({ getCurrentTools, opts, }: CreateToolAutoThinCommandsInput): {
7
+ persistDisabledWithMeta: (names: string[], metaDelta: Record<string, DisabledToolMeta>) => Promise<void>;
8
+ cmdAutoThinStatus: () => Promise<string>;
9
+ cmdAutoThinCandidates: () => Promise<string>;
10
+ cmdAutoThinApply: () => Promise<string>;
11
+ cmdAutoThinUndo: () => Promise<string>;
12
+ cmdAutoThinConfig: (rest: string) => Promise<string>;
13
+ };
14
+ export {};
15
+ //# sourceMappingURL=tool-auto-thin-commands.d.ts.map
@@ -22,6 +22,7 @@ var PENDING_FILE = "pending.json";
22
22
  var APPLIED_FILE = "last-applied.json";
23
23
  var LOCK_FILE = "update.lock";
24
24
  var LOCK_STALE_MS = 45 * 6e4;
25
+ var LOCK_TORN_GRACE_MS = 3e4;
25
26
  var DOWNLOAD_TIMEOUT_MS = 30 * 6e4;
26
27
  function updatesDir(root = wstackGlobalRoot()) {
27
28
  return path.join(root, "updates");
@@ -81,7 +82,17 @@ function acquireLock(dir) {
81
82
  let owner = {};
82
83
  try {
83
84
  owner = JSON.parse(fs.readFileSync(lock, "utf8"));
84
- } catch {
85
+ } catch (readErr) {
86
+ const code = readErr.code;
87
+ if (code === "ENOENT") continue;
88
+ if (code !== void 0) return void 0;
89
+ let ageMs;
90
+ try {
91
+ ageMs = Date.now() - fs.statSync(lock).mtimeMs;
92
+ } catch {
93
+ continue;
94
+ }
95
+ if (ageMs < LOCK_TORN_GRACE_MS) return void 0;
85
96
  }
86
97
  const fresh = typeof owner.pid === "number" && pidAlive(owner.pid) && typeof owner.at === "number" && Date.now() - owner.at < LOCK_STALE_MS;
87
98
  if (fresh) return void 0;
@@ -246,4 +257,4 @@ export {
246
257
  startStandaloneAutoUpdate,
247
258
  takeAppliedUpdate
248
259
  };
249
- //# sourceMappingURL=standalone-auto-update-VQC4GYCM.js.map
260
+ //# sourceMappingURL=standalone-auto-update-QUXOZ4B5.js.map
@@ -0,0 +1,9 @@
1
+ /** `wstack acp list|sync|spawn|parallel|probe|bench` — driving other ACP agents. */
2
+ import type { SubcommandDeps } from '../contracts.js';
3
+ export declare function listACPAgents(deps: SubcommandDeps): Promise<number>;
4
+ export declare function syncACPRegistry(deps: SubcommandDeps): Promise<number>;
5
+ export declare function spawnACPAgent(args: string[], deps: SubcommandDeps): Promise<number>;
6
+ export declare function parallelACPAgents(args: string[], deps: SubcommandDeps): Promise<number>;
7
+ export declare function probeACPAgents(args: string[], deps: SubcommandDeps): Promise<number>;
8
+ export declare function benchACPAgents(args: string[], deps: SubcommandDeps): Promise<number>;
9
+ //# sourceMappingURL=acp-agents.d.ts.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * `wstack acp` server mode: WrongStack as an ACP agent over stdio JSON-RPC or,
3
+ * with `--ws[=port]`, over a loopback WebSocket.
4
+ */
5
+ import type { SubcommandDeps } from '../contracts.js';
6
+ export declare function runACPServer(deps: SubcommandDeps): Promise<number>;
7
+ //# sourceMappingURL=acp-server.d.ts.map
@@ -20,6 +20,5 @@
20
20
  * @module subcommands/handlers/hq
21
21
  */
22
22
  import type { SubcommandHandler } from '../contracts.js';
23
- export { resolveAuditActor } from '../../hq-server/audit-actor.js';
24
23
  export declare const hqCmd: SubcommandHandler;
25
24
  //# sourceMappingURL=hq.d.ts.map
@@ -0,0 +1,33 @@
1
+ import { type CustomModelDefinition, type ProviderConfig } from '@wrongstack/core/types';
2
+ import type { SubcommandHandler } from '../contracts.js';
3
+ /** Parse `--key value` flags from a flat args array. */
4
+ export declare function parseFlags(args: string[]): Record<string, string | boolean>;
5
+ /** Filter out flag args and return only positional (non-flag) args. */
6
+ export declare function positionals(args: string[]): string[];
7
+ export declare function fmtPrice(usdPer1M: number | undefined): string;
8
+ export declare function modelsResetCustomModel(providerId: string, modelId: string, saved: ProviderConfig, deps: Parameters<SubcommandHandler>[1]): Promise<number>;
9
+ export declare function modelsReset(args: string[], deps: Parameters<SubcommandHandler>[1]): Promise<number>;
10
+ export declare function modelsCaps(args: string[], deps: Parameters<SubcommandHandler>[1]): Promise<number>;
11
+ /**
12
+ * Load → mutate → encrypt → atomic-write for the `models` section.
13
+ */
14
+ export declare function mutateModelsConfig(deps: Parameters<SubcommandHandler>[1], mutator: (models: Record<string, CustomModelDefinition>) => void): Promise<void>;
15
+ /** Parse a human-readable size like "128k", "1M", "200000" into a number. */
16
+ export declare function parseSizeFlag(raw: string | undefined): number | undefined;
17
+ /**
18
+ * Flags visible to this subcommand.
19
+ *
20
+ * `parseArgs` pulls every `--flag` out of argv and hands the handler only the
21
+ * positional remainder, so a handler parsing just its own `args` sees none of
22
+ * them — `models <provider> --search x` and `models add <id> --tools` both lost
23
+ * theirs silently. `deps.flags` is what that top-level parse captured. The
24
+ * local parse still wins, so a directly-invoked handler (and anything after
25
+ * `--`) keeps overriding it.
26
+ */
27
+ export declare function subcommandFlags(args: string[], deps: Parameters<SubcommandHandler>[1]): Record<string, string | boolean>;
28
+ /** Parse a boolean flag like "--tools" / "--no-tools". */
29
+ export declare function parseBoolFlag(flags: Record<string, string | boolean>, key: string): boolean | undefined;
30
+ export declare function modelsAdd(args: string[], deps: Parameters<SubcommandHandler>[1]): Promise<number>;
31
+ export declare function modelsRemove(args: string[], deps: Parameters<SubcommandHandler>[1]): Promise<number>;
32
+ export declare function modelsList(_args: string[], deps: Parameters<SubcommandHandler>[1]): Promise<number>;
33
+ //# sourceMappingURL=providers-models-custom.d.ts.map
@@ -0,0 +1,29 @@
1
+ import type { ProviderConfig } from '@wrongstack/core/types';
2
+ import type { SubcommandHandler } from '../contracts.js';
3
+ export declare function aliasProviderId(configProviderId: string, cfg: ProviderConfig | undefined): string;
4
+ /**
5
+ * One-shot `/v1/models` auto-discovery, merged into the registry overlay.
6
+ *
7
+ * The REPL learns a gateway's models because boot runs this; subcommands have
8
+ * no boot, so without it `wstack models ai-gateway` reported "not in catalog"
9
+ * for a provider serving 200+ models. Best-effort and silent, exactly as at
10
+ * boot — a down server must not turn a listing into a hard error.
11
+ */
12
+ export declare function discoverProviderModels(deps: Parameters<SubcommandHandler>[1], ids: string[], onlyProviderId?: string | undefined): Promise<Awaited<ReturnType<typeof deps.modelsRegistry.getProvider>>>;
13
+ export declare function getCatalogProviderForConfigProvider(providerId: string, deps: Parameters<SubcommandHandler>[1]): Promise<{
14
+ providerId: string;
15
+ provider: Awaited<ReturnType<typeof deps.modelsRegistry.getProvider>>;
16
+ }>;
17
+ export declare function usesAccountCatalog(cfg: ProviderConfig | undefined): boolean;
18
+ export declare function uniqueStrings(values: string[]): string[];
19
+ export declare function modelsHide(args: string[], deps: Parameters<SubcommandHandler>[1]): Promise<number>;
20
+ export declare function modelsShow(args: string[], deps: Parameters<SubcommandHandler>[1]): Promise<number>;
21
+ export declare function modelsHidden(args: string[], deps: Parameters<SubcommandHandler>[1]): Promise<number>;
22
+ /**
23
+ * Reflect a provider change in this process's config. The loaded config is
24
+ * frozen (`ConfigLoader.load`), so assigning into it threw AFTER the change had
25
+ * already been written to disk: the command printed a stack trace and exited
26
+ * non-zero on success. Replace the object instead of mutating it.
27
+ */
28
+ export declare function publishProviderConfig(deps: Parameters<SubcommandHandler>[1], providerId: string, next: ProviderConfig): void;
29
+ //# sourceMappingURL=providers-models-visibility.d.ts.map
@@ -14,8 +14,6 @@
14
14
  * request text to TypeSafe, so `--eval` prints what it is about to spend before
15
15
  * it spends it.
16
16
  */
17
- import { type LabeledRequest, type ScoredCase } from '@wrongstack/core/skills';
18
17
  import type { SubcommandHandler } from '../contracts.js';
19
18
  export declare const skillSuggestCmd: SubcommandHandler;
20
- export type { LabeledRequest, ScoredCase };
21
19
  //# sourceMappingURL=skill-suggest.d.ts.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  subcommandNames,
3
3
  subcommands
4
- } from "./chunk-24C6VVLM.js";
4
+ } from "./chunk-LPGZ3NUF.js";
5
5
  export {
6
6
  subcommandNames,
7
7
  subcommands
8
8
  };
9
- //# sourceMappingURL=subcommands-CLI6QTLU.js.map
9
+ //# sourceMappingURL=subcommands-75IB23LS.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  maskedKey,
3
3
  mutateConfigProviders
4
- } from "./chunk-ZYACRPLN.js";
4
+ } from "./chunk-ULYAI7CP.js";
5
5
  import {
6
6
  activeProfileConfigPath
7
7
  } from "./chunk-YMXXOOFN.js";
@@ -340,4 +340,4 @@ async function lintConventions(deps, write) {
340
340
  export {
341
341
  typesafeCmd
342
342
  };
343
- //# sourceMappingURL=typesafe-NHC322W5.js.map
343
+ //# sourceMappingURL=typesafe-KW2XHOG3.js.map
@@ -3,8 +3,8 @@ import {
3
3
  detectUpdatePackageName,
4
4
  runUpdateCommand,
5
5
  updateCmd
6
- } from "./chunk-PGNERAZL.js";
7
- import "./chunk-U3SS4NRH.js";
6
+ } from "./chunk-ZWBI7ORM.js";
7
+ import "./chunk-BHXAKTBE.js";
8
8
  import "./chunk-DIOODAYM.js";
9
9
  import "./chunk-F5DCFAKI.js";
10
10
  export {
@@ -13,4 +13,4 @@ export {
13
13
  runUpdateCommand,
14
14
  updateCmd
15
15
  };
16
- //# sourceMappingURL=update-J5WHAFPE.js.map
16
+ //# sourceMappingURL=update-LHCWAWEZ.js.map
@@ -6,5 +6,5 @@
6
6
  * left metacharacter-bearing arguments unquoted under `shell: true`. Keeping one
7
7
  * implementation in core removes the divergence risk (WS-004 / CMDI-005).
8
8
  */
9
- export { buildWin32CmdShimInvocation, type Win32CmdShimInvocation, } from '@wrongstack/core/utils';
9
+ export { buildWin32CmdShimInvocation, } from '@wrongstack/core/utils';
10
10
  //# sourceMappingURL=win32-cmd.d.ts.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  helpCmd,
3
3
  versionCmd
4
- } from "./chunk-WHEYHDIE.js";
4
+ } from "./chunk-AKESWZH5.js";
5
5
  import "./chunk-F5DCFAKI.js";
6
6
  export {
7
7
  helpCmd,
8
8
  versionCmd
9
9
  };
10
- //# sourceMappingURL=version-help-ATOKGMTK.js.map
10
+ //# sourceMappingURL=version-help-JQGRPDJW.js.map
@@ -1,5 +1,7 @@
1
1
  /**
2
- * Hot-reload provider credentials and routing configuration when config.json changes on disk.
2
+ * Refresh provider panels, routing configuration and the display language when
3
+ * config.json changes on disk. The live provider itself is rebuilt by the CLI
4
+ * host's provider-runtime watcher (see the note in the callback).
3
5
  *
4
6
  * @module webui-server/credential-watcher
5
7
  */
@@ -0,0 +1,17 @@
1
+ /** Static settings for the CLI-embedded WebUI host, resolved from options and the environment. */
2
+ import type { CliWebUIOptions } from '../webui-server-options.js';
3
+ export declare function resolveWebuiHostSettings(opts: CliWebUIOptions): {
4
+ host: string;
5
+ publicUrl: string | undefined;
6
+ publicWsUrl: string | undefined;
7
+ requireToken: boolean;
8
+ surface: "simpleui" | "webui";
9
+ requestedHttpPort: number;
10
+ strictPort: boolean;
11
+ globalRoot: string;
12
+ profileConfigPath: string;
13
+ profileDir: string;
14
+ rateLimitMax: number;
15
+ publicHostnames: string[];
16
+ };
17
+ //# sourceMappingURL=host-settings.d.ts.map