@sayknow-cli/coding-agent 0.3.12 → 0.3.15

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 (248) hide show
  1. package/dist/types/autoresearch/tools/init-experiment.d.ts +1 -1
  2. package/dist/types/autoresearch/tools/log-experiment.d.ts +2 -2
  3. package/dist/types/cli/classify-install-target.d.ts +0 -10
  4. package/dist/types/cli/daemon-cli.d.ts +2 -0
  5. package/dist/types/cli/initial-message.d.ts +1 -1
  6. package/dist/types/cli/malloc-env-guard.d.ts +65 -0
  7. package/dist/types/cli/malloc-env-guard.test.d.ts +1 -0
  8. package/dist/types/cli/notify-cli.d.ts +3 -1
  9. package/dist/types/cli/session-picker.d.ts +4 -3
  10. package/dist/types/cli/update-cli.d.ts +22 -3
  11. package/dist/types/cli.d.ts +5 -0
  12. package/dist/types/commands/daemon.d.ts +6 -2
  13. package/dist/types/commands/launch.d.ts +1 -0
  14. package/dist/types/commands/notify.d.ts +6 -0
  15. package/dist/types/commands/web-search.d.ts +1 -1
  16. package/dist/types/commit/agentic/tools/propose-changelog.d.ts +4 -4
  17. package/dist/types/commit/agentic/tools/propose-commit.d.ts +9 -9
  18. package/dist/types/commit/agentic/tools/schemas.d.ts +9 -9
  19. package/dist/types/commit/agentic/tools/split-commit.d.ts +9 -9
  20. package/dist/types/commit/analysis/conventional.d.ts +1 -1
  21. package/dist/types/commit/analysis/summary.d.ts +1 -1
  22. package/dist/types/commit/changelog/generate.d.ts +3 -3
  23. package/dist/types/commit/changelog/index.d.ts +2 -2
  24. package/dist/types/commit/map-reduce/map-phase.d.ts +1 -1
  25. package/dist/types/commit/map-reduce/reduce-phase.d.ts +1 -1
  26. package/dist/types/commit/shared-llm.d.ts +9 -9
  27. package/dist/types/config/keybindings.d.ts +134 -129
  28. package/dist/types/config/model-profile-activation.d.ts +1 -0
  29. package/dist/types/config/model-registry.d.ts +35 -35
  30. package/dist/types/config/models-config-schema.d.ts +111 -111
  31. package/dist/types/config/settings-schema.d.ts +56 -16
  32. package/dist/types/config/settings.d.ts +2 -0
  33. package/dist/types/coordinator/contract.d.ts +1 -1
  34. package/dist/types/coordinator-mcp/model-preset.d.ts +45 -0
  35. package/dist/types/coordinator-mcp/policy.d.ts +3 -0
  36. package/dist/types/coordinator-mcp/server.d.ts +79 -6
  37. package/dist/types/coordinator-mcp/session-reaper.d.ts +53 -0
  38. package/dist/types/daemon/control-types.d.ts +10 -0
  39. package/dist/types/daemon/operator-contract.d.ts +47 -0
  40. package/dist/types/defaults/skc/extensions/grok-cli-vendor/src/models/catalog.d.ts +4 -0
  41. package/dist/types/defaults/skc/extensions/grok-cli-vendor/src/shared/errors.d.ts +12 -12
  42. package/dist/types/discovery/helpers.d.ts +1 -1
  43. package/dist/types/discovery/substitute-plugin-root.d.ts +0 -4
  44. package/dist/types/edit/modes/patch.d.ts +2 -2
  45. package/dist/types/extensibility/extensions/types.d.ts +3 -1
  46. package/dist/types/goals/tools/goal-tool.d.ts +6 -6
  47. package/dist/types/i18n/messages/en.d.ts +8 -8
  48. package/dist/types/internal-urls/local-protocol.d.ts +13 -9
  49. package/dist/types/lsp/index.d.ts +9 -9
  50. package/dist/types/lsp/types.d.ts +9 -9
  51. package/dist/types/main.d.ts +66 -2
  52. package/dist/types/modes/acp/acp-agent.d.ts +19 -2
  53. package/dist/types/modes/acp/acp-mode.d.ts +12 -0
  54. package/dist/types/modes/components/assistant-message.d.ts +1 -1
  55. package/dist/types/modes/components/custom-editor.d.ts +2 -0
  56. package/dist/types/modes/components/hook-selector.d.ts +5 -0
  57. package/dist/types/modes/components/irc-sidebar.d.ts +32 -0
  58. package/dist/types/modes/components/pet-selector.d.ts +11 -0
  59. package/dist/types/modes/components/sayknow-pet-widget.d.ts +59 -0
  60. package/dist/types/modes/components/session-selector.d.ts +22 -9
  61. package/dist/types/modes/components/settings-selector.d.ts +2 -0
  62. package/dist/types/modes/components/status-line/types.d.ts +1 -1
  63. package/dist/types/modes/components/status-line.d.ts +0 -10
  64. package/dist/types/modes/components/tool-execution.d.ts +1 -0
  65. package/dist/types/modes/components/user-message.d.ts +2 -1
  66. package/dist/types/modes/controllers/event-controller.d.ts +4 -0
  67. package/dist/types/modes/controllers/selector-controller.d.ts +1 -0
  68. package/dist/types/modes/interactive-mode.d.ts +24 -2
  69. package/dist/types/modes/irc-observation-ledger.d.ts +22 -0
  70. package/dist/types/modes/print-mode.d.ts +3 -4
  71. package/dist/types/modes/rpc/rpc-client.d.ts +7 -1
  72. package/dist/types/modes/rpc/rpc-mode.d.ts +2 -1
  73. package/dist/types/modes/rpc/rpc-types.d.ts +17 -1
  74. package/dist/types/modes/shared/agent-wire/deep-interview-gate.d.ts +8 -0
  75. package/dist/types/modes/shared/agent-wire/unattended-run-controller.d.ts +5 -0
  76. package/dist/types/modes/shared/agent-wire/unattended-session.d.ts +45 -0
  77. package/dist/types/modes/shared/agent-wire/workflow-gate-broker.d.ts +42 -2
  78. package/dist/types/modes/theme/defaults/index.d.ts +568 -568
  79. package/dist/types/modes/types.d.ts +28 -2
  80. package/dist/types/modes/utils/abort-message.d.ts +1 -1
  81. package/dist/types/modes/utils/context-usage.d.ts +4 -19
  82. package/dist/types/modes/utils/irc-message.d.ts +38 -0
  83. package/dist/types/modes/utils/ui-helpers.d.ts +13 -4
  84. package/dist/types/notifications/config.d.ts +34 -0
  85. package/dist/types/notifications/daemon-paths.d.ts +7 -0
  86. package/dist/types/notifications/index.d.ts +27 -0
  87. package/dist/types/notifications/lifecycle-control-runtime.d.ts +12 -4
  88. package/dist/types/notifications/notification-service.d.ts +144 -0
  89. package/dist/types/notifications/rate-limit-pool.d.ts +27 -9
  90. package/dist/types/notifications/telegram-daemon-control.d.ts +6 -0
  91. package/dist/types/notifications/telegram-daemon.d.ts +130 -3
  92. package/dist/types/notifications/telegram-reference.d.ts +19 -2
  93. package/dist/types/notifications/topic-registry.d.ts +24 -4
  94. package/dist/types/registry/agent-registry.d.ts +2 -0
  95. package/dist/types/rlm/index.d.ts +1 -1
  96. package/dist/types/sdk.d.ts +2 -0
  97. package/dist/types/secrets/obfuscator.d.ts +1 -1
  98. package/dist/types/session/agent-session.d.ts +40 -3
  99. package/dist/types/session/cache-economics.d.ts +79 -0
  100. package/dist/types/session/context-estimation.d.ts +31 -0
  101. package/dist/types/session/provider-safety-stop.d.ts +5 -0
  102. package/dist/types/session/session-manager.d.ts +124 -4
  103. package/dist/types/session/session-storage.d.ts +155 -13
  104. package/dist/types/setup/credential-auto-import.d.ts +2 -2
  105. package/dist/types/skc-runtime/session-state-sidecar.d.ts +34 -3
  106. package/dist/types/skc-runtime/state-schema.d.ts +19 -19
  107. package/dist/types/skc-runtime/tmux-common.d.ts +6 -0
  108. package/dist/types/skc-runtime/tmux-owner-isolation-cli.d.ts +5 -0
  109. package/dist/types/skc-runtime/tmux-owner-isolation.d.ts +309 -0
  110. package/dist/types/skc-runtime/tmux-sessions.d.ts +49 -17
  111. package/dist/types/task/agents.d.ts +2 -2
  112. package/dist/types/task/executor.d.ts +3 -0
  113. package/dist/types/task/receipt.d.ts +3 -1
  114. package/dist/types/task/types.d.ts +35 -27
  115. package/dist/types/tools/ask-answer-registry.d.ts +5 -0
  116. package/dist/types/tools/bash.d.ts +1 -1
  117. package/dist/types/tools/browser/tab-supervisor.d.ts +6 -0
  118. package/dist/types/tools/browser.d.ts +28 -28
  119. package/dist/types/tools/computer.d.ts +20 -20
  120. package/dist/types/tools/cron.d.ts +2 -2
  121. package/dist/types/tools/debug.d.ts +40 -40
  122. package/dist/types/tools/gh.d.ts +10 -10
  123. package/dist/types/tools/image-gen.d.ts +2 -2
  124. package/dist/types/tools/index.d.ts +58 -6
  125. package/dist/types/tools/monitor.d.ts +6 -6
  126. package/dist/types/tools/skill-discovery.d.ts +4 -4
  127. package/dist/types/tools/subagent.d.ts +12 -12
  128. package/dist/types/tools/telegram-send.d.ts +7 -0
  129. package/dist/types/tools/todo-write.d.ts +8 -8
  130. package/dist/types/utils/external-editor.d.ts +2 -0
  131. package/dist/types/web/insane/bridge.d.ts +9 -9
  132. package/dist/types/web/search/index.d.ts +4 -4
  133. package/package.json +8 -8
  134. package/scripts/g004-tmux-smoke.ts +196 -36
  135. package/src/cli/daemon-cli.ts +19 -29
  136. package/src/cli/malloc-env-guard.test.ts +104 -0
  137. package/src/cli/malloc-env-guard.ts +149 -0
  138. package/src/cli/notify-cli.ts +78 -14
  139. package/src/cli/session-picker.ts +23 -40
  140. package/src/cli/update-cli.ts +56 -37
  141. package/src/cli.ts +51 -10
  142. package/src/commands/daemon.ts +19 -5
  143. package/src/commands/harness.ts +515 -47
  144. package/src/commands/launch.ts +11 -3
  145. package/src/commands/notify.ts +5 -1
  146. package/src/commands/session.ts +6 -1
  147. package/src/config/keybindings.ts +5 -0
  148. package/src/config/model-profile-activation.ts +1 -1
  149. package/src/config/model-profiles.ts +14 -14
  150. package/src/config/settings-schema.ts +41 -1
  151. package/src/config/settings.ts +96 -45
  152. package/src/coordinator/contract.ts +1 -0
  153. package/src/coordinator-mcp/model-preset.ts +100 -0
  154. package/src/coordinator-mcp/policy.ts +30 -0
  155. package/src/coordinator-mcp/server.ts +2958 -430
  156. package/src/coordinator-mcp/session-reaper.ts +129 -0
  157. package/src/daemon/control-types.ts +11 -0
  158. package/src/daemon/operator-contract.ts +121 -0
  159. package/src/defaults/skc/extensions/grok-cli-vendor/src/models/catalog.ts +57 -17
  160. package/src/defaults/skc/extensions/grok-cli-vendor/src/payload/sanitize.ts +15 -2
  161. package/src/defaults/skc/extensions/grok-cli-vendor/src/provider/register.ts +5 -1
  162. package/src/extensibility/extensions/runner.ts +1 -1
  163. package/src/extensibility/extensions/types.ts +3 -1
  164. package/src/internal-urls/docs-index.generated.ts +10 -9
  165. package/src/internal-urls/local-protocol.ts +29 -10
  166. package/src/main.ts +301 -80
  167. package/src/modes/acp/acp-agent.ts +730 -100
  168. package/src/modes/acp/acp-mode.ts +29 -2
  169. package/src/modes/components/assistant-message.ts +32 -3
  170. package/src/modes/components/bash-execution.ts +43 -13
  171. package/src/modes/components/custom-editor.ts +5 -0
  172. package/src/modes/components/footer.ts +3 -3
  173. package/src/modes/components/hook-selector.ts +12 -0
  174. package/src/modes/components/irc-sidebar.ts +206 -0
  175. package/src/modes/components/pet-selector.ts +55 -0
  176. package/src/modes/components/sayknow-pet-widget.ts +360 -0
  177. package/src/modes/components/session-selector.ts +222 -221
  178. package/src/modes/components/settings-selector.ts +10 -0
  179. package/src/modes/components/status-line/segments.ts +14 -7
  180. package/src/modes/components/status-line/types.ts +1 -1
  181. package/src/modes/components/status-line.ts +4 -171
  182. package/src/modes/components/tool-execution.ts +47 -6
  183. package/src/modes/components/user-message.ts +26 -9
  184. package/src/modes/controllers/command-controller.ts +28 -2
  185. package/src/modes/controllers/event-controller.ts +159 -36
  186. package/src/modes/controllers/extension-ui-controller.ts +37 -18
  187. package/src/modes/controllers/input-controller.ts +8 -2
  188. package/src/modes/controllers/selector-controller.ts +62 -15
  189. package/src/modes/interactive-mode.ts +199 -7
  190. package/src/modes/irc-observation-ledger.ts +127 -0
  191. package/src/modes/print-mode.ts +228 -92
  192. package/src/modes/rpc/rpc-client.ts +58 -1
  193. package/src/modes/rpc/rpc-mode.ts +286 -85
  194. package/src/modes/rpc/rpc-types.ts +15 -1
  195. package/src/modes/shared/agent-wire/command-dispatch.ts +33 -1
  196. package/src/modes/shared/agent-wire/command-validation.ts +10 -0
  197. package/src/modes/shared/agent-wire/deep-interview-gate.ts +45 -2
  198. package/src/modes/shared/agent-wire/scopes.ts +1 -0
  199. package/src/modes/shared/agent-wire/unattended-session.ts +288 -1
  200. package/src/modes/shared/agent-wire/workflow-gate-broker.ts +130 -20
  201. package/src/modes/types.ts +34 -2
  202. package/src/modes/utils/context-usage.ts +56 -92
  203. package/src/modes/utils/hotkeys-markdown.ts +1 -0
  204. package/src/modes/utils/irc-message.ts +138 -0
  205. package/src/modes/utils/ui-helpers.ts +216 -50
  206. package/src/notifications/config.ts +44 -0
  207. package/src/notifications/daemon-paths.ts +8 -0
  208. package/src/notifications/index.ts +535 -75
  209. package/src/notifications/lifecycle-control-runtime.ts +930 -77
  210. package/src/notifications/notification-service.ts +710 -0
  211. package/src/notifications/rate-limit-pool.ts +46 -12
  212. package/src/notifications/telegram-daemon-control.ts +27 -2
  213. package/src/notifications/telegram-daemon.ts +635 -94
  214. package/src/notifications/telegram-reference.ts +73 -13
  215. package/src/notifications/topic-registry.ts +86 -9
  216. package/src/prompts/system/irc-peer-roster.md +1 -0
  217. package/src/prompts/system/subagent-system-prompt.md +1 -0
  218. package/src/prompts/system/system-prompt.md +1 -0
  219. package/src/prompts/tools/irc.md +1 -1
  220. package/src/registry/agent-registry.ts +3 -0
  221. package/src/sdk.ts +52 -1
  222. package/src/secrets/obfuscator.ts +4 -2
  223. package/src/session/agent-session.ts +670 -217
  224. package/src/session/cache-economics.ts +275 -0
  225. package/src/session/context-estimation.ts +91 -0
  226. package/src/session/provider-safety-stop.ts +9 -0
  227. package/src/session/session-dump-format.ts +6 -0
  228. package/src/session/session-manager.ts +809 -39
  229. package/src/session/session-storage.ts +582 -38
  230. package/src/skc-runtime/session-state-sidecar.ts +756 -135
  231. package/src/skc-runtime/tmux-common.ts +26 -7
  232. package/src/skc-runtime/tmux-gc.ts +52 -9
  233. package/src/skc-runtime/tmux-owner-isolation-cli.ts +185 -0
  234. package/src/skc-runtime/tmux-owner-isolation.ts +2060 -0
  235. package/src/skc-runtime/tmux-sessions.ts +871 -68
  236. package/src/slash-commands/builtin-registry.ts +153 -9
  237. package/src/slash-commands/helpers/context-report.ts +26 -4
  238. package/src/task/executor.ts +12 -3
  239. package/src/task/index.ts +8 -0
  240. package/src/task/receipt.ts +7 -2
  241. package/src/task/types.ts +26 -0
  242. package/src/tools/ask-answer-registry.ts +25 -0
  243. package/src/tools/browser/tab-supervisor.ts +63 -6
  244. package/src/tools/browser.ts +8 -3
  245. package/src/tools/index.ts +81 -6
  246. package/src/tools/sqlite-reader.ts +8 -4
  247. package/src/tui/output-block.ts +18 -6
  248. package/src/utils/external-editor.ts +6 -1
@@ -9,8 +9,8 @@ declare const initExperimentSchema: z.ZodObject<{
9
9
  primary_metric: z.ZodString;
10
10
  metric_unit: z.ZodOptional<z.ZodString>;
11
11
  direction: z.ZodOptional<z.ZodEnum<{
12
- higher: "higher";
13
12
  lower: "lower";
13
+ higher: "higher";
14
14
  }>>;
15
15
  secondary_metrics: z.ZodOptional<z.ZodArray<z.ZodString>>;
16
16
  scope_paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -4,10 +4,10 @@ import type { AutoresearchToolFactoryOptions, LogDetails } from "../types";
4
4
  declare const logExperimentSchema: z.ZodObject<{
5
5
  metric: z.ZodNumber;
6
6
  status: z.ZodEnum<{
7
- checks_failed: "checks_failed";
8
- crash: "crash";
9
7
  discard: "discard";
10
8
  keep: "keep";
9
+ crash: "crash";
10
+ checks_failed: "checks_failed";
11
11
  }>;
12
12
  description: z.ZodString;
13
13
  metrics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
@@ -1,13 +1,3 @@
1
- /**
2
- * Classify an install spec as a marketplace plugin reference or a plain npm package.
3
- *
4
- * Rules (applied in order):
5
- * 1. Starts with `@` (scoped npm) -> always npm.
6
- * 2. Contains `@` after the first character -> split on the LAST `@`.
7
- * If the right-hand side is a known marketplace name, it's a marketplace ref.
8
- * Otherwise it's an npm spec (e.g. `pkg@1.2.3`).
9
- * 3. No `@` -> npm.
10
- */
11
1
  export declare function classifyInstallTarget(spec: string, knownMarketplaces: Set<string>): {
12
2
  type: "marketplace";
13
3
  name: string;
@@ -16,6 +16,8 @@ export interface DaemonCommandArgs {
16
16
  gracefulTimeoutMs?: number;
17
17
  killTimeoutMs?: number;
18
18
  spawnIfStopped?: boolean;
19
+ /** Show runtime detail and the full roots list in human output. */
20
+ verbose?: boolean;
19
21
  }
20
22
  export interface DaemonCommandDeps {
21
23
  settings?: Settings;
@@ -14,4 +14,4 @@ export interface InitialMessageResult {
14
14
  * Combine stdin content, @file text, and the first CLI message into a single
15
15
  * initial prompt for non-interactive mode.
16
16
  */
17
- export declare function buildInitialMessage({ parsed, fileText, fileImages, stdinContent }: InitialMessageInput): InitialMessageResult;
17
+ export declare function buildInitialMessage({ parsed, fileText, fileImages, stdinContent, }: InitialMessageInput): InitialMessageResult;
@@ -0,0 +1,65 @@
1
+ /**
2
+ * macOS malloc-stack-logging launch boundary.
3
+ *
4
+ * On macOS, an inherited `MallocStackLogging` / `MallocStackLoggingNoCompact`
5
+ * environment variable (from an Xcode scheme's malloc diagnostics, Instruments,
6
+ * `launchctl setenv`, or a debug-attached shell) makes libmalloc print
7
+ *
8
+ * MallocStackLogging: can't turn off malloc stack logging because it was not enabled.
9
+ *
10
+ * to the stderr of every TTY-attached process. Bun snapshots the spawn-default
11
+ * environment at process startup — before any JS runs — so neither
12
+ * `delete process.env.X` nor a real libc `unsetenv()` cleans the environment
13
+ * that children inherit by default (verified on Bun 1.3.14). Inside the TUI,
14
+ * every PTY-spawned child then repeats the warning straight into the rendered
15
+ * frame and corrupts the display.
16
+ *
17
+ * The only way to hand children a clean startup snapshot is to start the primary
18
+ * process with a clean environment. This module re-execs the exact invocation
19
+ * once (darwin-only) with a `filterProcessEnv`-scrubbed environment and a
20
+ * `SKC_MALLOC_ENV_REEXEC` loop guard, before any fast path or subprocess spawn.
21
+ * The re-exec'd process — and therefore every downstream lane: `Bun.spawn`
22
+ * defaults, `node:child_process`, the native PTY, the tmux owner, plugin
23
+ * installs, and subagents — starts from a clean snapshot.
24
+ *
25
+ * The initial contaminated process's own libmalloc line is emitted by libc
26
+ * before any JS runs and cannot be suppressed from inside the process; it
27
+ * appears at most once per launch. A one-time actionable notice is written to
28
+ * interactive stderr (outside the rendered frame) pointing at the permanent
29
+ * `launchctl unsetenv` fix.
30
+ */
31
+ /** Env vars that make macOS libmalloc write to a TTY when inherited. */
32
+ export declare const MACOS_MALLOC_ENV_VARS: readonly ["MallocStackLogging", "MallocStackLoggingNoCompact"];
33
+ /** Loop guard set on the scrubbed re-exec so it never re-execs itself again. */
34
+ export declare const MALLOC_ENV_REEXEC_GUARD = "SKC_MALLOC_ENV_REEXEC";
35
+ /** True when at least one macOS malloc-stack-logging var is present in `env`. */
36
+ export declare function hasMacOSMallocEnv(env: Record<string, string | undefined>): boolean;
37
+ /**
38
+ * True iff we must re-exec to escape a contaminated macOS startup snapshot:
39
+ * darwin, not already inside the scrubbed re-exec, and at least one malloc var
40
+ * present. Off darwin or on the re-exec'd child this is always false, so the
41
+ * common launch path pays only two cheap lookups.
42
+ */
43
+ export declare function shouldReexecForMacOSMallocEnv(env: Record<string, string | undefined>, platform: NodeJS.Platform): boolean;
44
+ /**
45
+ * Reconstruct the argv that re-runs the exact same program image.
46
+ *
47
+ * - Compiled single-file executable: argv[1] is the embedded virtual entry
48
+ * (`/$bunfs/…` on POSIX, `B:\~BUN\…` on Windows), which must be dropped — the
49
+ * executable re-embeds its own entry. Re-run `[exe, ...userArgs]`.
50
+ * - Source / dev-link run: argv[1] is the on-disk script that must be passed
51
+ * back to the interpreter. Re-run `[interpreter, script, ...userArgs]`.
52
+ */
53
+ export declare function buildMallocReexecArgv(argv: readonly string[], execPath: string): string[];
54
+ /** One-time, human-actionable notice pointing at the permanent environment fix. */
55
+ export declare function formatMallocEnvNotice(): string;
56
+ /**
57
+ * Re-exec the current process once with a scrubbed environment and propagate the
58
+ * child's exit code. Callers MUST gate this behind `shouldReexecForMacOSMallocEnv`.
59
+ *
60
+ * Returns the child exit code, or `null` if the re-exec could not be spawned (in
61
+ * which case the caller falls back to running in the current, contaminated
62
+ * process — degraded but functional; the native PTY boundary and
63
+ * `filterProcessEnv` still keep managed children clean).
64
+ */
65
+ export declare function reexecWithScrubbedMallocEnv(): Promise<number | null>;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
1
  import type { Settings } from "../config/settings";
2
- export type NotifyAction = "setup" | "status" | "daemon-internal";
2
+ export type NotifyAction = "setup" | "status" | "health" | "test" | "recovery" | "daemon-internal";
3
3
  export interface NotifyCommandArgs {
4
4
  action: NotifyAction;
5
5
  smoke?: boolean;
@@ -7,6 +7,8 @@ export interface NotifyCommandArgs {
7
7
  token?: string;
8
8
  chatId?: string;
9
9
  redact?: boolean;
10
+ probe?: boolean;
11
+ message?: string;
10
12
  }
11
13
  export interface NotifyCommandDeps {
12
14
  fetchImpl?: typeof fetch;
@@ -1,3 +1,4 @@
1
- import type { SessionInfo } from "../session/session-manager";
2
- /** Show TUI session selector and return selected session path or null if cancelled */
3
- export declare function selectSession(sessions: SessionInfo[]): Promise<string | null>;
1
+ import { type SessionSelectionResult } from "../modes/components/session-selector";
2
+ import { type SessionInfo } from "../session/session-manager";
3
+ /** Show the read-only TUI session picker and return the user's consent intent. */
4
+ export declare function selectSession(sessions: SessionInfo[]): Promise<SessionSelectionResult>;
@@ -1,3 +1,7 @@
1
+ interface ReleaseInfo {
2
+ tag: string;
3
+ version: string;
4
+ }
1
5
  /** Result from running the installed binary and parsing its reported version. */
2
6
  export interface InstalledVersionVerification {
3
7
  ok: boolean;
@@ -17,7 +21,6 @@ export interface PackageManagerUpdateOptions {
17
21
  expectedVersion: string;
18
22
  runInstall: PackageManagerUpdateRunner;
19
23
  verifyInstalledRuntime: (expectedVersion: string) => Promise<InstalledVersionVerification>;
20
- printVerificationResult?: (expectedVersion: string) => Promise<void>;
21
24
  printRecoveredVerification?: (expectedVersion: string) => void;
22
25
  }
23
26
  /** Paths and verifier used while replacing a downloaded binary update. */
@@ -36,10 +39,19 @@ export declare function parseUpdateArgs(args: string[]): {
36
39
  force: boolean;
37
40
  check: boolean;
38
41
  } | undefined;
39
- type PackageManagerTarget = {
42
+ export type PackageManagerTarget = {
40
43
  manager: "npm";
41
44
  packageName: string;
42
45
  };
46
+ export type UpdateTarget = {
47
+ method: "bun";
48
+ } | {
49
+ method: "npm";
50
+ packageName: string;
51
+ } | {
52
+ method: "binary";
53
+ path: string;
54
+ };
43
55
  type PathPlatform = NodeJS.Platform;
44
56
  type PackageExists = (packageName: string, packageRoot: string) => boolean;
45
57
  export declare function resolveUpdateMethodForTest(ompPath: string, bunBinDir: string | undefined): "bun" | "npm" | "binary";
@@ -78,10 +90,17 @@ export declare function runBinaryUpdateFlow(targetPath: string, url: string, exp
78
90
  /**
79
91
  * Run the update command.
80
92
  */
93
+ export interface UpdateCommandDependencies {
94
+ getLatestRelease?: () => Promise<ReleaseInfo>;
95
+ resolveUpdateTarget?: () => Promise<UpdateTarget>;
96
+ performUpdate?: (target: UpdateTarget, expectedVersion: string) => Promise<void>;
97
+ refreshInstalledDefaultSkills?: () => Promise<void>;
98
+ exit?: (code: number) => never;
99
+ }
81
100
  export declare function runUpdateCommand(opts: {
82
101
  force: boolean;
83
102
  check: boolean;
84
- }): Promise<void>;
103
+ }, deps?: UpdateCommandDependencies): Promise<void>;
85
104
  /**
86
105
  * Print update command help.
87
106
  */
@@ -3,6 +3,7 @@
3
3
  * CLI entry point — registers all commands explicitly and delegates to the
4
4
  * lightweight CLI runner from pi-utils.
5
5
  */
6
+ import "@sayknow-cli/utils/postmortem";
6
7
  import { Command, type CommandEntry } from "@sayknow-cli/utils/cli";
7
8
  export declare const commands: CommandEntry[];
8
9
  export declare class RootHelpCommand extends Command {
@@ -131,5 +132,9 @@ export declare class RootHelpCommand extends Command {
131
132
  static strict: boolean;
132
133
  run(): Promise<void>;
133
134
  }
135
+ /** Normalize the sole `skc resume` alias into the value-less launch intent. */
136
+ export declare function normalizeResumeAlias(argv: readonly string[]): string[];
137
+ /** Apply the same default-launch routing used by runCli after root fast paths. */
138
+ export declare function routeRootArgv(argv: readonly string[]): string[];
134
139
  /** Run the CLI with the given argv (no `process.argv` prefix). */
135
140
  export declare function runCli(argv: string[]): Promise<void>;
@@ -2,14 +2,14 @@
2
2
  * Manage SKC background daemons (status/list/stop/reload).
3
3
  */
4
4
  import { Command } from "@sayknow-cli/utils/cli";
5
- import { type DaemonCliAction } from "../cli/daemon-cli";
6
5
  export default class Daemon extends Command {
7
6
  static description: string;
7
+ static examples: string[];
8
8
  static args: {
9
9
  action: import("@sayknow-cli/utils/cli").ArgDescriptor & {
10
10
  description: string;
11
11
  required: false;
12
- options: DaemonCliAction[];
12
+ options: string[];
13
13
  };
14
14
  kind: import("@sayknow-cli/utils/cli").ArgDescriptor & {
15
15
  description: string;
@@ -18,6 +18,10 @@ export default class Daemon extends Command {
18
18
  };
19
19
  };
20
20
  static flags: {
21
+ verbose: import("@sayknow-cli/utils/cli").FlagDescriptor<"boolean"> & {
22
+ char: string;
23
+ description: string;
24
+ };
21
25
  all: import("@sayknow-cli/utils/cli").FlagDescriptor<"boolean"> & {
22
26
  description: string;
23
27
  };
@@ -2,6 +2,7 @@
2
2
  * Root command for the coding agent CLI.
3
3
  */
4
4
  import { Command } from "@sayknow-cli/utils/cli";
5
+ export declare function persistCoordinatorLaunchFailure(error: unknown, cwd: string, env?: NodeJS.ProcessEnv): Promise<void>;
5
6
  export default class Index extends Command {
6
7
  static description: string;
7
8
  static hidden: boolean;
@@ -30,6 +30,12 @@ export default class Notify extends Command {
30
30
  redact: import("@sayknow-cli/utils/cli").FlagDescriptor<"boolean"> & {
31
31
  description: string;
32
32
  };
33
+ probe: import("@sayknow-cli/utils/cli").FlagDescriptor<"boolean"> & {
34
+ description: string;
35
+ };
36
+ message: import("@sayknow-cli/utils/cli").FlagDescriptor<"string"> & {
37
+ description: string;
38
+ };
33
39
  "owner-id": import("@sayknow-cli/utils/cli").FlagDescriptor<"string"> & {
34
40
  description: string;
35
41
  };
@@ -19,7 +19,7 @@ export default class Search extends Command {
19
19
  };
20
20
  recency: import("@sayknow-cli/utils/cli").FlagDescriptor<"string"> & {
21
21
  description: string;
22
- options: NonNullable<"day" | "month" | "week" | "year" | undefined>[];
22
+ options: NonNullable<"day" | "week" | "month" | "year" | undefined>[];
23
23
  };
24
24
  limit: import("@sayknow-cli/utils/cli").FlagDescriptor<"integer"> & {
25
25
  char: string;
@@ -5,21 +5,21 @@ declare const proposeChangelogSchema: z.ZodObject<{
5
5
  entries: z.ZodArray<z.ZodObject<{
6
6
  path: z.ZodString;
7
7
  entries: z.ZodObject<{
8
- Added: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
9
8
  "Breaking Changes": z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
9
+ Added: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
10
10
  Changed: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
11
11
  Deprecated: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
12
- Fixed: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
13
12
  Removed: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
13
+ Fixed: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
14
14
  Security: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
15
15
  }, z.core.$strip>;
16
16
  deletions: z.ZodOptional<z.ZodObject<{
17
- Added: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
18
17
  "Breaking Changes": z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
18
+ Added: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
19
19
  Changed: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
20
20
  Deprecated: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
21
- Fixed: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
22
21
  Removed: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
22
+ Fixed: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
23
23
  Security: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
24
24
  }, z.core.$strip>>;
25
25
  }, z.core.$strip>>;
@@ -3,29 +3,29 @@ import type { CommitAgentState } from "../../../commit/agentic/state";
3
3
  import type { CustomTool } from "../../../extensibility/custom-tools/types";
4
4
  declare const proposeCommitSchema: z.ZodObject<{
5
5
  type: z.ZodEnum<{
6
- build: "build";
7
- chore: "chore";
8
- ci: "ci";
9
- docs: "docs";
6
+ style: "style";
7
+ test: "test";
10
8
  feat: "feat";
11
9
  fix: "fix";
12
- perf: "perf";
13
10
  refactor: "refactor";
11
+ perf: "perf";
12
+ docs: "docs";
13
+ build: "build";
14
+ ci: "ci";
15
+ chore: "chore";
14
16
  revert: "revert";
15
- style: "style";
16
- test: "test";
17
17
  }>;
18
18
  scope: z.ZodUnion<readonly [z.ZodString, z.ZodNull]>;
19
19
  summary: z.ZodString;
20
20
  details: z.ZodArray<z.ZodObject<{
21
21
  text: z.ZodString;
22
22
  changelog_category: z.ZodOptional<z.ZodEnum<{
23
- Added: "Added";
24
23
  "Breaking Changes": "Breaking Changes";
24
+ Added: "Added";
25
25
  Changed: "Changed";
26
26
  Deprecated: "Deprecated";
27
- Fixed: "Fixed";
28
27
  Removed: "Removed";
28
+ Fixed: "Fixed";
29
29
  Security: "Security";
30
30
  }>>;
31
31
  user_visible: z.ZodOptional<z.ZodBoolean>;
@@ -1,26 +1,26 @@
1
1
  import * as z from "zod/v4";
2
2
  export declare const commitTypeSchema: z.ZodEnum<{
3
- build: "build";
4
- chore: "chore";
5
- ci: "ci";
6
- docs: "docs";
3
+ style: "style";
4
+ test: "test";
7
5
  feat: "feat";
8
6
  fix: "fix";
9
- perf: "perf";
10
7
  refactor: "refactor";
8
+ perf: "perf";
9
+ docs: "docs";
10
+ build: "build";
11
+ ci: "ci";
12
+ chore: "chore";
11
13
  revert: "revert";
12
- style: "style";
13
- test: "test";
14
14
  }>;
15
15
  export declare const detailSchema: z.ZodObject<{
16
16
  text: z.ZodString;
17
17
  changelog_category: z.ZodOptional<z.ZodEnum<{
18
- Added: "Added";
19
18
  "Breaking Changes": "Breaking Changes";
19
+ Added: "Added";
20
20
  Changed: "Changed";
21
21
  Deprecated: "Deprecated";
22
- Fixed: "Fixed";
23
22
  Removed: "Removed";
23
+ Fixed: "Fixed";
24
24
  Security: "Security";
25
25
  }>>;
26
26
  user_visible: z.ZodOptional<z.ZodBoolean>;
@@ -17,29 +17,29 @@ declare const splitCommitSchema: z.ZodObject<{
17
17
  }, z.core.$strip>], "type">;
18
18
  }, z.core.$strip>>;
19
19
  type: z.ZodEnum<{
20
- build: "build";
21
- chore: "chore";
22
- ci: "ci";
23
- docs: "docs";
20
+ style: "style";
21
+ test: "test";
24
22
  feat: "feat";
25
23
  fix: "fix";
26
- perf: "perf";
27
24
  refactor: "refactor";
25
+ perf: "perf";
26
+ docs: "docs";
27
+ build: "build";
28
+ ci: "ci";
29
+ chore: "chore";
28
30
  revert: "revert";
29
- style: "style";
30
- test: "test";
31
31
  }>;
32
32
  scope: z.ZodUnion<readonly [z.ZodString, z.ZodNull]>;
33
33
  summary: z.ZodString;
34
34
  details: z.ZodOptional<z.ZodArray<z.ZodObject<{
35
35
  text: z.ZodString;
36
36
  changelog_category: z.ZodOptional<z.ZodEnum<{
37
- Added: "Added";
38
37
  "Breaking Changes": "Breaking Changes";
38
+ Added: "Added";
39
39
  Changed: "Changed";
40
40
  Deprecated: "Deprecated";
41
- Fixed: "Fixed";
42
41
  Removed: "Removed";
42
+ Fixed: "Fixed";
43
43
  Security: "Security";
44
44
  }>>;
45
45
  user_visible: z.ZodOptional<z.ZodBoolean>;
@@ -19,4 +19,4 @@ export interface ConventionalAnalysisInput {
19
19
  /**
20
20
  * Generate conventional analysis data from a diff and metadata.
21
21
  */
22
- export declare function generateConventionalAnalysis({ model, apiKey, thinkingLevel, contextFiles, userContext, typesDescription, recentCommits, scopeCandidates, stat, diff }: ConventionalAnalysisInput): Promise<ConventionalAnalysis>;
22
+ export declare function generateConventionalAnalysis({ model, apiKey, thinkingLevel, contextFiles, userContext, typesDescription, recentCommits, scopeCandidates, stat, diff, }: ConventionalAnalysisInput): Promise<ConventionalAnalysis>;
@@ -15,5 +15,5 @@ export interface SummaryInput {
15
15
  /**
16
16
  * Generate a commit summary line for the conventional commit header.
17
17
  */
18
- export declare function generateSummary({ model, apiKey, thinkingLevel, commitType, scope, details, stat, maxChars, userContext }: SummaryInput): Promise<CommitSummary>;
18
+ export declare function generateSummary({ model, apiKey, thinkingLevel, commitType, scope, details, stat, maxChars, userContext, }: SummaryInput): Promise<CommitSummary>;
19
19
  export declare function stripTypePrefix(summary: string, commitType: string, scope: string | null): string;
@@ -7,12 +7,12 @@ export declare const changelogTool: {
7
7
  description: string;
8
8
  parameters: z.ZodObject<{
9
9
  entries: z.ZodObject<{
10
- Added: z.ZodOptional<z.ZodArray<z.ZodString>>;
11
10
  "Breaking Changes": z.ZodOptional<z.ZodArray<z.ZodString>>;
11
+ Added: z.ZodOptional<z.ZodArray<z.ZodString>>;
12
12
  Changed: z.ZodOptional<z.ZodArray<z.ZodString>>;
13
13
  Deprecated: z.ZodOptional<z.ZodArray<z.ZodString>>;
14
- Fixed: z.ZodOptional<z.ZodArray<z.ZodString>>;
15
14
  Removed: z.ZodOptional<z.ZodArray<z.ZodString>>;
15
+ Fixed: z.ZodOptional<z.ZodArray<z.ZodString>>;
16
16
  Security: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
17
  }, z.core.$strip>;
18
18
  }, z.core.$strip>;
@@ -27,4 +27,4 @@ export interface ChangelogPromptInput {
27
27
  stat: string;
28
28
  diff: string;
29
29
  }
30
- export declare function generateChangelogEntries({ model, apiKey, thinkingLevel, changelogPath, isPackageChangelog, existingEntries, stat, diff }: ChangelogPromptInput): Promise<ChangelogGenerationResult>;
30
+ export declare function generateChangelogEntries({ model, apiKey, thinkingLevel, changelogPath, isPackageChangelog, existingEntries, stat, diff, }: ChangelogPromptInput): Promise<ChangelogGenerationResult>;
@@ -23,8 +23,8 @@ export interface ChangelogProposalInput {
23
23
  /**
24
24
  * Update CHANGELOG.md entries for staged changes.
25
25
  */
26
- export declare function runChangelogFlow({ cwd, model, apiKey, thinkingLevel, stagedFiles, dryRun, maxDiffChars, onProgress }: ChangelogFlowInput): Promise<string[]>;
26
+ export declare function runChangelogFlow({ cwd, model, apiKey, thinkingLevel, stagedFiles, dryRun, maxDiffChars, onProgress, }: ChangelogFlowInput): Promise<string[]>;
27
27
  /**
28
28
  * Apply changelog entries provided by the commit agent.
29
29
  */
30
- export declare function applyChangelogProposals({ cwd, proposals, dryRun, onProgress }: ChangelogProposalInput): Promise<string[]>;
30
+ export declare function applyChangelogProposals({ cwd, proposals, dryRun, onProgress, }: ChangelogProposalInput): Promise<string[]>;
@@ -14,4 +14,4 @@ export interface MapPhaseInput {
14
14
  retryBackoffMs?: number;
15
15
  };
16
16
  }
17
- export declare function runMapPhase({ model, apiKey, thinkingLevel, files, config }: MapPhaseInput): Promise<FileObservation[]>;
17
+ export declare function runMapPhase({ model, apiKey, thinkingLevel, files, config, }: MapPhaseInput): Promise<FileObservation[]>;
@@ -10,4 +10,4 @@ export interface ReducePhaseInput {
10
10
  scopeCandidates: string;
11
11
  typesDescription?: string;
12
12
  }
13
- export declare function runReducePhase({ model, apiKey, thinkingLevel, observations, stat, scopeCandidates, typesDescription }: ReducePhaseInput): Promise<ConventionalAnalysis>;
13
+ export declare function runReducePhase({ model, apiKey, thinkingLevel, observations, stat, scopeCandidates, typesDescription, }: ReducePhaseInput): Promise<ConventionalAnalysis>;
@@ -9,28 +9,28 @@ import type { ConventionalAnalysis } from "./types";
9
9
  */
10
10
  export declare const conventionalAnalysisParameters: z.ZodObject<{
11
11
  type: z.ZodEnum<{
12
- build: "build";
13
- chore: "chore";
14
- ci: "ci";
15
- docs: "docs";
12
+ style: "style";
13
+ test: "test";
16
14
  feat: "feat";
17
15
  fix: "fix";
18
- perf: "perf";
19
16
  refactor: "refactor";
17
+ perf: "perf";
18
+ docs: "docs";
19
+ build: "build";
20
+ ci: "ci";
21
+ chore: "chore";
20
22
  revert: "revert";
21
- style: "style";
22
- test: "test";
23
23
  }>;
24
24
  scope: z.ZodUnion<readonly [z.ZodString, z.ZodNull]>;
25
25
  details: z.ZodArray<z.ZodObject<{
26
26
  text: z.ZodString;
27
27
  changelog_category: z.ZodOptional<z.ZodEnum<{
28
- Added: "Added";
29
28
  "Breaking Changes": "Breaking Changes";
29
+ Added: "Added";
30
30
  Changed: "Changed";
31
31
  Deprecated: "Deprecated";
32
- Fixed: "Fixed";
33
32
  Removed: "Removed";
33
+ Fixed: "Fixed";
34
34
  Security: "Security";
35
35
  }>>;
36
36
  user_visible: z.ZodOptional<z.ZodBoolean>;