@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
@@ -40,6 +40,7 @@ interface AppKeybindings {
40
40
  "app.plan.toggle": true;
41
41
  "app.history.search": true;
42
42
  "app.stt.toggle": true;
43
+ "app.irc.sidebar.toggle": true;
43
44
  }
44
45
  export type AppKeybinding = keyof AppKeybindings;
45
46
  declare module "@sayknow-cli/tui" {
@@ -51,134 +52,6 @@ export declare function defaultMessageQueueKeysForPlatform(platform?: NodeJS.Pla
51
52
  * All keybindings definitions: TUI + app-specific.
52
53
  */
53
54
  export declare const KEYBINDINGS: {
54
- readonly "tui.editor.cursorUp": {
55
- readonly defaultKeys: "up";
56
- readonly description: "Move cursor up";
57
- };
58
- readonly "tui.editor.cursorDown": {
59
- readonly defaultKeys: "down";
60
- readonly description: "Move cursor down";
61
- };
62
- readonly "tui.editor.cursorLeft": {
63
- readonly defaultKeys: ["left", "ctrl+b"];
64
- readonly description: "Move cursor left";
65
- };
66
- readonly "tui.editor.cursorRight": {
67
- readonly defaultKeys: ["right", "ctrl+f"];
68
- readonly description: "Move cursor right";
69
- };
70
- readonly "tui.editor.cursorWordLeft": {
71
- readonly defaultKeys: ["alt+left", "ctrl+left", "alt+b"];
72
- readonly description: "Move cursor word left";
73
- };
74
- readonly "tui.editor.cursorWordRight": {
75
- readonly defaultKeys: ["alt+right", "ctrl+right", "alt+f"];
76
- readonly description: "Move cursor word right";
77
- };
78
- readonly "tui.editor.cursorLineStart": {
79
- readonly defaultKeys: ["home", "ctrl+a"];
80
- readonly description: "Move to line start";
81
- };
82
- readonly "tui.editor.cursorLineEnd": {
83
- readonly defaultKeys: ["end", "ctrl+e"];
84
- readonly description: "Move to line end";
85
- };
86
- readonly "tui.editor.jumpForward": {
87
- readonly defaultKeys: "ctrl+]";
88
- readonly description: "Jump forward to character";
89
- };
90
- readonly "tui.editor.jumpBackward": {
91
- readonly defaultKeys: "ctrl+alt+]";
92
- readonly description: "Jump backward to character";
93
- };
94
- readonly "tui.editor.pageUp": {
95
- readonly defaultKeys: "pageUp";
96
- readonly description: "Page up";
97
- };
98
- readonly "tui.editor.pageDown": {
99
- readonly defaultKeys: "pageDown";
100
- readonly description: "Page down";
101
- };
102
- readonly "tui.editor.deleteCharBackward": {
103
- readonly defaultKeys: "backspace";
104
- readonly description: "Delete character backward";
105
- };
106
- readonly "tui.editor.deleteCharForward": {
107
- readonly defaultKeys: ["delete", "ctrl+d"];
108
- readonly description: "Delete character forward";
109
- };
110
- readonly "tui.editor.deleteWordBackward": {
111
- readonly defaultKeys: ["ctrl+w", "alt+backspace", "ctrl+backspace"];
112
- readonly description: "Delete word backward";
113
- };
114
- readonly "tui.editor.deleteWordForward": {
115
- readonly defaultKeys: ["alt+delete", "alt+d"];
116
- readonly description: "Delete word forward";
117
- };
118
- readonly "tui.editor.deleteToLineStart": {
119
- readonly defaultKeys: "ctrl+u";
120
- readonly description: "Delete to line start";
121
- };
122
- readonly "tui.editor.deleteToLineEnd": {
123
- readonly defaultKeys: "ctrl+k";
124
- readonly description: "Delete to line end";
125
- };
126
- readonly "tui.editor.yank": {
127
- readonly defaultKeys: "ctrl+y";
128
- readonly description: "Yank";
129
- };
130
- readonly "tui.editor.yankPop": {
131
- readonly defaultKeys: "alt+y";
132
- readonly description: "Yank pop";
133
- };
134
- readonly "tui.editor.undo": {
135
- readonly defaultKeys: ["ctrl+-", "ctrl+_"];
136
- readonly description: "Undo";
137
- };
138
- readonly "tui.input.newLine": {
139
- readonly defaultKeys: "shift+enter";
140
- readonly description: "Insert newline";
141
- };
142
- readonly "tui.input.submit": {
143
- readonly defaultKeys: "enter";
144
- readonly description: "Submit input";
145
- };
146
- readonly "tui.input.tab": {
147
- readonly defaultKeys: "tab";
148
- readonly description: "Tab / autocomplete";
149
- };
150
- readonly "tui.input.copy": {
151
- readonly defaultKeys: "ctrl+c";
152
- readonly description: "Copy selection";
153
- };
154
- readonly "tui.select.up": {
155
- readonly defaultKeys: "up";
156
- readonly description: "Move selection up";
157
- };
158
- readonly "tui.select.down": {
159
- readonly defaultKeys: "down";
160
- readonly description: "Move selection down";
161
- };
162
- readonly "tui.select.pageUp": {
163
- readonly defaultKeys: "pageUp";
164
- readonly description: "Selection page up";
165
- };
166
- readonly "tui.select.pageDown": {
167
- readonly defaultKeys: "pageDown";
168
- readonly description: "Selection page down";
169
- };
170
- readonly "tui.select.confirm": {
171
- readonly defaultKeys: "enter";
172
- readonly description: "Confirm selection";
173
- };
174
- readonly "tui.select.cancel": {
175
- readonly defaultKeys: ["escape", "ctrl+c"];
176
- readonly description: "Cancel selection";
177
- };
178
- readonly "tui.global.debug": {
179
- readonly defaultKeys: "shift+ctrl+d";
180
- readonly description: "Toggle debug overlay";
181
- };
182
55
  readonly "app.interrupt": {
183
56
  readonly defaultKeys: "escape";
184
57
  readonly description: "Interrupt current operation";
@@ -248,7 +121,7 @@ export declare const KEYBINDINGS: {
248
121
  readonly description: "Select queued message to edit";
249
122
  };
250
123
  readonly "app.clipboard.pasteImage": {
251
- readonly defaultKeys: "alt+v" | "ctrl+v";
124
+ readonly defaultKeys: "ctrl+v" | "alt+v";
252
125
  readonly description: "Paste image from clipboard";
253
126
  };
254
127
  readonly "app.clipboard.copyLine": {
@@ -323,6 +196,138 @@ export declare const KEYBINDINGS: {
323
196
  readonly defaultKeys: "alt+h";
324
197
  readonly description: "Toggle speech-to-text";
325
198
  };
199
+ readonly "app.irc.sidebar.toggle": {
200
+ readonly defaultKeys: "alt+i";
201
+ readonly description: "Toggle IRC sidebar";
202
+ };
203
+ readonly "tui.editor.cursorUp": {
204
+ readonly defaultKeys: "up";
205
+ readonly description: "Move cursor up";
206
+ };
207
+ readonly "tui.editor.cursorDown": {
208
+ readonly defaultKeys: "down";
209
+ readonly description: "Move cursor down";
210
+ };
211
+ readonly "tui.editor.cursorLeft": {
212
+ readonly defaultKeys: ["left", "ctrl+b"];
213
+ readonly description: "Move cursor left";
214
+ };
215
+ readonly "tui.editor.cursorRight": {
216
+ readonly defaultKeys: ["right", "ctrl+f"];
217
+ readonly description: "Move cursor right";
218
+ };
219
+ readonly "tui.editor.cursorWordLeft": {
220
+ readonly defaultKeys: ["alt+left", "ctrl+left", "alt+b"];
221
+ readonly description: "Move cursor word left";
222
+ };
223
+ readonly "tui.editor.cursorWordRight": {
224
+ readonly defaultKeys: ["alt+right", "ctrl+right", "alt+f"];
225
+ readonly description: "Move cursor word right";
226
+ };
227
+ readonly "tui.editor.cursorLineStart": {
228
+ readonly defaultKeys: ["home", "ctrl+a"];
229
+ readonly description: "Move to line start";
230
+ };
231
+ readonly "tui.editor.cursorLineEnd": {
232
+ readonly defaultKeys: ["end", "ctrl+e"];
233
+ readonly description: "Move to line end";
234
+ };
235
+ readonly "tui.editor.jumpForward": {
236
+ readonly defaultKeys: "ctrl+]";
237
+ readonly description: "Jump forward to character";
238
+ };
239
+ readonly "tui.editor.jumpBackward": {
240
+ readonly defaultKeys: "ctrl+alt+]";
241
+ readonly description: "Jump backward to character";
242
+ };
243
+ readonly "tui.editor.pageUp": {
244
+ readonly defaultKeys: "pageUp";
245
+ readonly description: "Page up";
246
+ };
247
+ readonly "tui.editor.pageDown": {
248
+ readonly defaultKeys: "pageDown";
249
+ readonly description: "Page down";
250
+ };
251
+ readonly "tui.editor.deleteCharBackward": {
252
+ readonly defaultKeys: "backspace";
253
+ readonly description: "Delete character backward";
254
+ };
255
+ readonly "tui.editor.deleteCharForward": {
256
+ readonly defaultKeys: ["delete", "ctrl+d"];
257
+ readonly description: "Delete character forward";
258
+ };
259
+ readonly "tui.editor.deleteWordBackward": {
260
+ readonly defaultKeys: ["ctrl+w", "alt+backspace", "ctrl+backspace"];
261
+ readonly description: "Delete word backward";
262
+ };
263
+ readonly "tui.editor.deleteWordForward": {
264
+ readonly defaultKeys: ["alt+delete", "alt+d"];
265
+ readonly description: "Delete word forward";
266
+ };
267
+ readonly "tui.editor.deleteToLineStart": {
268
+ readonly defaultKeys: "ctrl+u";
269
+ readonly description: "Delete to line start";
270
+ };
271
+ readonly "tui.editor.deleteToLineEnd": {
272
+ readonly defaultKeys: "ctrl+k";
273
+ readonly description: "Delete to line end";
274
+ };
275
+ readonly "tui.editor.yank": {
276
+ readonly defaultKeys: "ctrl+y";
277
+ readonly description: "Yank";
278
+ };
279
+ readonly "tui.editor.yankPop": {
280
+ readonly defaultKeys: "alt+y";
281
+ readonly description: "Yank pop";
282
+ };
283
+ readonly "tui.editor.undo": {
284
+ readonly defaultKeys: ["ctrl+-", "ctrl+_"];
285
+ readonly description: "Undo";
286
+ };
287
+ readonly "tui.input.newLine": {
288
+ readonly defaultKeys: "shift+enter";
289
+ readonly description: "Insert newline";
290
+ };
291
+ readonly "tui.input.submit": {
292
+ readonly defaultKeys: "enter";
293
+ readonly description: "Submit input";
294
+ };
295
+ readonly "tui.input.tab": {
296
+ readonly defaultKeys: "tab";
297
+ readonly description: "Tab / autocomplete";
298
+ };
299
+ readonly "tui.input.copy": {
300
+ readonly defaultKeys: "ctrl+c";
301
+ readonly description: "Copy selection";
302
+ };
303
+ readonly "tui.select.up": {
304
+ readonly defaultKeys: "up";
305
+ readonly description: "Move selection up";
306
+ };
307
+ readonly "tui.select.down": {
308
+ readonly defaultKeys: "down";
309
+ readonly description: "Move selection down";
310
+ };
311
+ readonly "tui.select.pageUp": {
312
+ readonly defaultKeys: "pageUp";
313
+ readonly description: "Selection page up";
314
+ };
315
+ readonly "tui.select.pageDown": {
316
+ readonly defaultKeys: "pageDown";
317
+ readonly description: "Selection page down";
318
+ };
319
+ readonly "tui.select.confirm": {
320
+ readonly defaultKeys: "enter";
321
+ readonly description: "Confirm selection";
322
+ };
323
+ readonly "tui.select.cancel": {
324
+ readonly defaultKeys: ["escape", "ctrl+c"];
325
+ readonly description: "Cancel selection";
326
+ };
327
+ readonly "tui.global.debug": {
328
+ readonly defaultKeys: "shift+ctrl+d";
329
+ readonly description: "Toggle debug overlay";
330
+ };
326
331
  };
327
332
  declare function migrateKeybindingsConfigFile(agentDir: string): void;
328
333
  /**
@@ -58,6 +58,7 @@ export interface MaterializeModelProfileAssignmentsOptions {
58
58
  export declare function materializeActiveModelProfileAssignment(options: MaterializeModelProfileAssignmentOptions): boolean;
59
59
  export declare function materializeActiveModelProfileAssignments(options: MaterializeModelProfileAssignmentsOptions): boolean;
60
60
  export declare function formatModelProfileCredentialError(profileName: string, providers: readonly string[]): string;
61
+ export declare function resolveModelProfileName(profileName: string, profiles: ReadonlyMap<string, unknown>): string;
61
62
  export declare function prepareModelProfileActivation(options: PrepareModelProfileActivationOptions): Promise<PreparedModelProfileActivation>;
62
63
  export declare function applyPreparedModelProfileActivation(prepared: PreparedModelProfileActivation, options?: ApplyModelProfileActivationOptions): Promise<void>;
63
64
  export declare function activateModelProfile(options: PrepareModelProfileActivationOptions, applyOptions?: ApplyModelProfileActivationOptions): Promise<void>;
@@ -48,7 +48,7 @@ export declare const ModelsConfigFile: ConfigFile<{
48
48
  baseUrl?: string | undefined;
49
49
  apiKey?: string | undefined;
50
50
  apiKeyEnv?: string | undefined;
51
- api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "cursor-agent" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "ollama-chat" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
51
+ api?: "google-gemini-cli" | "google-vertex" | "openai-completions" | "openai-responses" | "openai-codex-responses" | "azure-openai-responses" | "anthropic-messages" | "bedrock-converse-stream" | "google-generative-ai" | "ollama-chat" | "cursor-agent" | undefined;
52
52
  headers?: Record<string, string> | undefined;
53
53
  compat?: {
54
54
  supportsStore?: boolean | undefined;
@@ -70,16 +70,16 @@ export declare const ModelsConfigFile: ConfigFile<{
70
70
  requiresMistralToolIds?: boolean | undefined;
71
71
  requiresAssistantAfterToolResult?: boolean | undefined;
72
72
  requiresThinkingAsText?: boolean | undefined;
73
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
73
+ reasoningContentField?: "reasoning_content" | "reasoning" | "reasoning_text" | undefined;
74
74
  requiresReasoningContentForToolCalls?: boolean | undefined;
75
75
  allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
76
76
  requiresAssistantContentForToolCalls?: boolean | undefined;
77
77
  supportsToolChoice?: boolean | undefined;
78
78
  supportsForcedToolChoice?: boolean | undefined;
79
- toolChoiceSupport?: "auto" | "named" | "none" | "required" | undefined;
79
+ toolChoiceSupport?: "none" | "auto" | "required" | "named" | undefined;
80
80
  disableReasoningOnForcedToolChoice?: boolean | undefined;
81
81
  disableReasoningOnToolChoice?: boolean | undefined;
82
- thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
82
+ thinkingFormat?: "openai" | "openrouter" | "zai" | "qwen" | "qwen-chat-template" | undefined;
83
83
  openRouterRouting?: {
84
84
  only?: string[] | undefined;
85
85
  order?: string[] | undefined;
@@ -90,13 +90,13 @@ export declare const ModelsConfigFile: ConfigFile<{
90
90
  } | undefined;
91
91
  extraBody?: Record<string, unknown> | undefined;
92
92
  supportsStrictMode?: boolean | undefined;
93
- toolStrictMode?: "all_strict" | "none" | undefined;
93
+ toolStrictMode?: "none" | "all_strict" | undefined;
94
94
  } | undefined;
95
- webSearch?: "auto" | "off" | "on" | undefined;
95
+ webSearch?: "auto" | "on" | "off" | undefined;
96
96
  authHeader?: boolean | undefined;
97
- auth?: "apiKey" | "none" | "oauth" | undefined;
97
+ auth?: "none" | "apiKey" | "oauth" | undefined;
98
98
  discovery?: {
99
- type: "llama.cpp" | "lm-studio" | "ollama" | "openai-models-list";
99
+ type: "ollama" | "lm-studio" | "llama.cpp" | "openai-models-list";
100
100
  } | undefined;
101
101
  requestTransform?: {
102
102
  profile?: "openai-proxy" | undefined;
@@ -107,18 +107,18 @@ export declare const ModelsConfigFile: ConfigFile<{
107
107
  models?: {
108
108
  id: string;
109
109
  name?: string | undefined;
110
- api?: "anthropic-messages" | "azure-openai-responses" | "bedrock-converse-stream" | "cursor-agent" | "google-gemini-cli" | "google-generative-ai" | "google-vertex" | "ollama-chat" | "openai-codex-responses" | "openai-completions" | "openai-responses" | undefined;
110
+ api?: "google-gemini-cli" | "google-vertex" | "openai-completions" | "openai-responses" | "openai-codex-responses" | "azure-openai-responses" | "anthropic-messages" | "bedrock-converse-stream" | "google-generative-ai" | "ollama-chat" | "cursor-agent" | undefined;
111
111
  baseUrl?: string | undefined;
112
112
  reasoning?: boolean | undefined;
113
113
  thinking?: {
114
- minLevel: "high" | "low" | "max" | "medium" | "minimal" | "xhigh";
115
- maxLevel: "high" | "low" | "max" | "medium" | "minimal" | "xhigh";
116
- mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
117
- defaultLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
118
- levels?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
114
+ minLevel: "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
115
+ maxLevel: "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
116
+ mode: "effort" | "budget" | "google-level" | "anthropic-adaptive" | "anthropic-budget-effort";
117
+ defaultLevel?: "minimal" | "low" | "medium" | "high" | "xhigh" | "max" | undefined;
118
+ levels?: ("minimal" | "low" | "medium" | "high" | "xhigh" | "max")[] | undefined;
119
119
  } | undefined;
120
- input?: ("image" | "text")[] | undefined;
121
- output?: ("image" | "text")[] | undefined;
120
+ input?: ("text" | "image")[] | undefined;
121
+ output?: ("text" | "image")[] | undefined;
122
122
  cost?: {
123
123
  input: number;
124
124
  output: number;
@@ -149,16 +149,16 @@ export declare const ModelsConfigFile: ConfigFile<{
149
149
  requiresMistralToolIds?: boolean | undefined;
150
150
  requiresAssistantAfterToolResult?: boolean | undefined;
151
151
  requiresThinkingAsText?: boolean | undefined;
152
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
152
+ reasoningContentField?: "reasoning_content" | "reasoning" | "reasoning_text" | undefined;
153
153
  requiresReasoningContentForToolCalls?: boolean | undefined;
154
154
  allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
155
155
  requiresAssistantContentForToolCalls?: boolean | undefined;
156
156
  supportsToolChoice?: boolean | undefined;
157
157
  supportsForcedToolChoice?: boolean | undefined;
158
- toolChoiceSupport?: "auto" | "named" | "none" | "required" | undefined;
158
+ toolChoiceSupport?: "none" | "auto" | "required" | "named" | undefined;
159
159
  disableReasoningOnForcedToolChoice?: boolean | undefined;
160
160
  disableReasoningOnToolChoice?: boolean | undefined;
161
- thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
161
+ thinkingFormat?: "openai" | "openrouter" | "zai" | "qwen" | "qwen-chat-template" | undefined;
162
162
  openRouterRouting?: {
163
163
  only?: string[] | undefined;
164
164
  order?: string[] | undefined;
@@ -169,7 +169,7 @@ export declare const ModelsConfigFile: ConfigFile<{
169
169
  } | undefined;
170
170
  extraBody?: Record<string, unknown> | undefined;
171
171
  supportsStrictMode?: boolean | undefined;
172
- toolStrictMode?: "all_strict" | "none" | undefined;
172
+ toolStrictMode?: "none" | "all_strict" | undefined;
173
173
  } | undefined;
174
174
  contextPromotionTarget?: string | undefined;
175
175
  wireModelId?: string | undefined;
@@ -179,20 +179,20 @@ export declare const ModelsConfigFile: ConfigFile<{
179
179
  setHeaders?: Record<string, string | null> | undefined;
180
180
  extraBody?: Record<string, unknown> | undefined;
181
181
  } | undefined;
182
- cacheRetention?: "long" | "none" | "short" | undefined;
182
+ cacheRetention?: "none" | "short" | "long" | undefined;
183
183
  }[] | undefined;
184
184
  modelOverrides?: Record<string, {
185
185
  name?: string | undefined;
186
186
  reasoning?: boolean | undefined;
187
187
  thinking?: {
188
- minLevel: "high" | "low" | "max" | "medium" | "minimal" | "xhigh";
189
- maxLevel: "high" | "low" | "max" | "medium" | "minimal" | "xhigh";
190
- mode: "anthropic-adaptive" | "anthropic-budget-effort" | "budget" | "effort" | "google-level";
191
- defaultLevel?: "high" | "low" | "max" | "medium" | "minimal" | "xhigh" | undefined;
192
- levels?: ("high" | "low" | "max" | "medium" | "minimal" | "xhigh")[] | undefined;
188
+ minLevel: "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
189
+ maxLevel: "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
190
+ mode: "effort" | "budget" | "google-level" | "anthropic-adaptive" | "anthropic-budget-effort";
191
+ defaultLevel?: "minimal" | "low" | "medium" | "high" | "xhigh" | "max" | undefined;
192
+ levels?: ("minimal" | "low" | "medium" | "high" | "xhigh" | "max")[] | undefined;
193
193
  } | undefined;
194
- input?: ("image" | "text")[] | undefined;
195
- output?: ("image" | "text")[] | undefined;
194
+ input?: ("text" | "image")[] | undefined;
195
+ output?: ("text" | "image")[] | undefined;
196
196
  cost?: {
197
197
  input?: number | undefined;
198
198
  output?: number | undefined;
@@ -223,16 +223,16 @@ export declare const ModelsConfigFile: ConfigFile<{
223
223
  requiresMistralToolIds?: boolean | undefined;
224
224
  requiresAssistantAfterToolResult?: boolean | undefined;
225
225
  requiresThinkingAsText?: boolean | undefined;
226
- reasoningContentField?: "reasoning" | "reasoning_content" | "reasoning_text" | undefined;
226
+ reasoningContentField?: "reasoning_content" | "reasoning" | "reasoning_text" | undefined;
227
227
  requiresReasoningContentForToolCalls?: boolean | undefined;
228
228
  allowsSyntheticReasoningContentForToolCalls?: boolean | undefined;
229
229
  requiresAssistantContentForToolCalls?: boolean | undefined;
230
230
  supportsToolChoice?: boolean | undefined;
231
231
  supportsForcedToolChoice?: boolean | undefined;
232
- toolChoiceSupport?: "auto" | "named" | "none" | "required" | undefined;
232
+ toolChoiceSupport?: "none" | "auto" | "required" | "named" | undefined;
233
233
  disableReasoningOnForcedToolChoice?: boolean | undefined;
234
234
  disableReasoningOnToolChoice?: boolean | undefined;
235
- thinkingFormat?: "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "zai" | undefined;
235
+ thinkingFormat?: "openai" | "openrouter" | "zai" | "qwen" | "qwen-chat-template" | undefined;
236
236
  openRouterRouting?: {
237
237
  only?: string[] | undefined;
238
238
  order?: string[] | undefined;
@@ -243,7 +243,7 @@ export declare const ModelsConfigFile: ConfigFile<{
243
243
  } | undefined;
244
244
  extraBody?: Record<string, unknown> | undefined;
245
245
  supportsStrictMode?: boolean | undefined;
246
- toolStrictMode?: "all_strict" | "none" | undefined;
246
+ toolStrictMode?: "none" | "all_strict" | undefined;
247
247
  } | undefined;
248
248
  contextPromotionTarget?: string | undefined;
249
249
  wireModelId?: string | undefined;
@@ -253,11 +253,11 @@ export declare const ModelsConfigFile: ConfigFile<{
253
253
  setHeaders?: Record<string, string | null> | undefined;
254
254
  extraBody?: Record<string, unknown> | undefined;
255
255
  } | undefined;
256
- cacheRetention?: "long" | "none" | "short" | undefined;
256
+ cacheRetention?: "none" | "short" | "long" | undefined;
257
257
  }> | undefined;
258
258
  disableStrictTools?: boolean | undefined;
259
259
  transport?: "pi-native" | undefined;
260
- cacheRetention?: "long" | "none" | "short" | undefined;
260
+ cacheRetention?: "none" | "short" | "long" | undefined;
261
261
  openaiCompat?: {
262
262
  baseUrl: string;
263
263
  apiKey?: string | undefined;
@@ -274,8 +274,8 @@ export declare const ModelsConfigFile: ConfigFile<{
274
274
  } | undefined;
275
275
  profiles?: Record<string, {
276
276
  required_providers: string[];
277
+ model_mapping: Partial<Record<"default" | "executor" | "architect" | "planner" | "critic", string>>;
277
278
  display_name?: string | undefined;
278
- model_mapping: Partial<Record<"architect" | "critic" | "default" | "executor" | "planner", string>>;
279
279
  }> | undefined;
280
280
  }>;
281
281
  /** Provider override config (baseUrl, headers, apiKey, compat, transport) without custom models */