@astralyn/pi 1.1.0 → 1.2.0

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 (244) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/bundle/chunks/anthropic-messages-NVP5OPIM.js +6 -0
  3. package/dist/bundle/chunks/{azure-openai-responses-CH74HGP4.js → azure-openai-responses-IBTOZ5MH.js} +1 -1
  4. package/dist/bundle/chunks/{chunk-H35KWBT5.js → chunk-4XZYHGVN.js} +1 -1
  5. package/dist/bundle/chunks/{chunk-3MMB5I7J.js → chunk-7HJ6CHUB.js} +1 -1
  6. package/dist/bundle/chunks/{chunk-MAC4N3BW.js → chunk-7UBIBLPN.js} +1 -1
  7. package/dist/bundle/chunks/{chunk-D3XW5X3Z.js → chunk-A5HU4TE6.js} +160 -229
  8. package/dist/bundle/chunks/{chunk-C2ARIVS3.js → chunk-B2UOWO4A.js} +1 -1
  9. package/dist/bundle/chunks/{chunk-KAC2YPTW.js → chunk-J75WV3FL.js} +1 -1
  10. package/dist/bundle/chunks/{chunk-TEAAYBTS.js → chunk-LHSPN2IO.js} +1 -1
  11. package/dist/bundle/chunks/chunk-Q74S7ILH.js +2 -0
  12. package/dist/bundle/chunks/{chunk-QLU3LESZ.js → chunk-QDDSFJ35.js} +1 -1
  13. package/dist/bundle/chunks/{chunk-EJEOEBSJ.js → chunk-UQECUCUH.js} +1 -1
  14. package/dist/bundle/chunks/{cloudflare-workers-ai-system-one-XO45ZT3V.js → cloudflare-workers-ai-system-one-HGOVFZDC.js} +1 -1
  15. package/dist/bundle/chunks/codemode-worker.js +17 -9
  16. package/dist/bundle/chunks/github-copilot.js +1 -1
  17. package/dist/bundle/chunks/{google-generative-ai-VVO64ZRQ.js → google-generative-ai-M44TSMAN.js} +1 -1
  18. package/dist/bundle/chunks/{google-vertex-LKS5NUHA.js → google-vertex-3C4OWLFX.js} +1 -1
  19. package/dist/bundle/chunks/{mistral-conversations-NJUOG4ET.js → mistral-conversations-I5PL4VCZ.js} +1 -1
  20. package/dist/bundle/chunks/openai-codex-responses-O5EUDL54.js +10 -0
  21. package/dist/bundle/chunks/{openai-completions-7HTTU6FH.js → openai-completions-X3SSG5BQ.js} +1 -1
  22. package/dist/bundle/chunks/{openai-decisions-776H4VDZ.js → openai-decisions-TVCDIPZX.js} +1 -1
  23. package/dist/bundle/chunks/{openai-responses-7A6BAQ5X.js → openai-responses-NYPNKVDV.js} +1 -1
  24. package/dist/bundle/chunks/{typesafe-system-one-2DQLG4R2.js → typesafe-system-one-LWPJYTJP.js} +1 -1
  25. package/dist/bundle/chunks/{virtual-modules-2NHGQRS6.js → virtual-modules-OZTPKGU7.js} +1 -1
  26. package/dist/bundle/cli.js +1 -1
  27. package/dist/bundle/index.js +1 -1
  28. package/dist/bundle/rpc-entry.js +1 -1
  29. package/dist/core/agent-session.d.ts +14 -1
  30. package/dist/core/agent-session.d.ts.map +1 -1
  31. package/dist/core/agent-session.js +93 -58
  32. package/dist/core/agent-session.js.map +1 -1
  33. package/dist/core/auth-storage.d.ts.map +1 -1
  34. package/dist/core/auth-storage.js +20 -13
  35. package/dist/core/auth-storage.js.map +1 -1
  36. package/dist/core/bug-report.d.ts +9 -1
  37. package/dist/core/bug-report.d.ts.map +1 -1
  38. package/dist/core/compaction/utils.d.ts +6 -0
  39. package/dist/core/compaction/utils.d.ts.map +1 -1
  40. package/dist/core/compaction/utils.js +7 -8
  41. package/dist/core/compaction/utils.js.map +1 -1
  42. package/dist/core/extensions/index.d.ts +1 -1
  43. package/dist/core/extensions/index.d.ts.map +1 -1
  44. package/dist/core/extensions/index.js.map +1 -1
  45. package/dist/core/extensions/runner.d.ts +4 -2
  46. package/dist/core/extensions/runner.d.ts.map +1 -1
  47. package/dist/core/extensions/runner.js +2 -3
  48. package/dist/core/extensions/runner.js.map +1 -1
  49. package/dist/core/extensions/types.d.ts +31 -7
  50. package/dist/core/extensions/types.d.ts.map +1 -1
  51. package/dist/core/extensions/types.js.map +1 -1
  52. package/dist/core/key-id-schema.d.ts +6 -0
  53. package/dist/core/key-id-schema.d.ts.map +1 -0
  54. package/dist/core/key-id-schema.js +16 -0
  55. package/dist/core/key-id-schema.js.map +1 -0
  56. package/dist/core/keybinding-registry.d.ts +4 -3
  57. package/dist/core/keybinding-registry.d.ts.map +1 -1
  58. package/dist/core/keybinding-registry.js +4 -3
  59. package/dist/core/keybinding-registry.js.map +1 -1
  60. package/dist/core/keybindings-schema.d.ts +4 -0
  61. package/dist/core/keybindings-schema.d.ts.map +1 -0
  62. package/dist/core/keybindings-schema.js +16 -0
  63. package/dist/core/keybindings-schema.js.map +1 -0
  64. package/dist/core/keybindings.d.ts +258 -81
  65. package/dist/core/keybindings.d.ts.map +1 -1
  66. package/dist/core/keybindings.js +27 -24
  67. package/dist/core/keybindings.js.map +1 -1
  68. package/dist/core/model-config.d.ts +713 -180
  69. package/dist/core/model-config.d.ts.map +1 -1
  70. package/dist/core/model-config.js +18 -179
  71. package/dist/core/model-config.js.map +1 -1
  72. package/dist/core/model-runtime.d.ts.map +1 -1
  73. package/dist/core/model-runtime.js +11 -6
  74. package/dist/core/model-runtime.js.map +1 -1
  75. package/dist/core/package-manager.d.ts.map +1 -1
  76. package/dist/core/package-manager.js +3 -3
  77. package/dist/core/package-manager.js.map +1 -1
  78. package/dist/core/project-trust.d.ts.map +1 -1
  79. package/dist/core/project-trust.js +2 -1
  80. package/dist/core/project-trust.js.map +1 -1
  81. package/dist/core/remote-catalog-provider.d.ts +12 -1
  82. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  83. package/dist/core/remote-catalog-provider.js +82 -24
  84. package/dist/core/remote-catalog-provider.js.map +1 -1
  85. package/dist/core/resource-loader.d.ts.map +1 -1
  86. package/dist/core/resource-loader.js +7 -2
  87. package/dist/core/resource-loader.js.map +1 -1
  88. package/dist/core/settings-defaults.d.ts +65 -0
  89. package/dist/core/settings-defaults.d.ts.map +1 -0
  90. package/dist/core/settings-defaults.js +66 -0
  91. package/dist/core/settings-defaults.js.map +1 -0
  92. package/dist/core/settings-manager.d.ts +4 -149
  93. package/dist/core/settings-manager.d.ts.map +1 -1
  94. package/dist/core/settings-manager.js +48 -44
  95. package/dist/core/settings-manager.js.map +1 -1
  96. package/dist/core/settings-schema.d.ts +231 -0
  97. package/dist/core/settings-schema.d.ts.map +1 -0
  98. package/dist/core/settings-schema.js +294 -0
  99. package/dist/core/settings-schema.js.map +1 -0
  100. package/dist/core/tools/render-utils.d.ts +18 -0
  101. package/dist/core/tools/render-utils.d.ts.map +1 -1
  102. package/dist/core/tools/render-utils.js +46 -0
  103. package/dist/core/tools/render-utils.js.map +1 -1
  104. package/dist/core/tools/renderers/bash.d.ts.map +1 -1
  105. package/dist/core/tools/renderers/bash.js +21 -50
  106. package/dist/core/tools/renderers/bash.js.map +1 -1
  107. package/dist/extensions/btw/keybindings.d.ts +2 -2
  108. package/dist/extensions/btw/keybindings.d.ts.map +1 -1
  109. package/dist/extensions/btw/keybindings.js.map +1 -1
  110. package/dist/extensions/codemode/execute.d.ts.map +1 -1
  111. package/dist/extensions/codemode/execute.js +64 -45
  112. package/dist/extensions/codemode/execute.js.map +1 -1
  113. package/dist/extensions/codemode/index.d.ts.map +1 -1
  114. package/dist/extensions/codemode/index.js +3 -7
  115. package/dist/extensions/codemode/index.js.map +1 -1
  116. package/dist/extensions/codemode/renderer.d.ts +2 -2
  117. package/dist/extensions/codemode/renderer.d.ts.map +1 -1
  118. package/dist/extensions/codemode/renderer.js +9 -3
  119. package/dist/extensions/codemode/renderer.js.map +1 -1
  120. package/dist/extensions/codemode/tool.d.ts +6 -12
  121. package/dist/extensions/codemode/tool.d.ts.map +1 -1
  122. package/dist/extensions/codemode/tool.js +44 -32
  123. package/dist/extensions/codemode/tool.js.map +1 -1
  124. package/dist/extensions/list-keybindings.d.ts +2 -2
  125. package/dist/extensions/list-keybindings.d.ts.map +1 -1
  126. package/dist/extensions/list-keybindings.js.map +1 -1
  127. package/dist/extensions/mcp/cli.js +5 -8
  128. package/dist/extensions/mcp/cli.js.map +1 -1
  129. package/dist/extensions/mcp/index.d.ts.map +1 -1
  130. package/dist/extensions/mcp/index.js +25 -34
  131. package/dist/extensions/mcp/index.js.map +1 -1
  132. package/dist/extensions/mcp/resources.d.ts +0 -6
  133. package/dist/extensions/mcp/resources.d.ts.map +1 -1
  134. package/dist/extensions/mcp/resources.js +1 -1
  135. package/dist/extensions/mcp/resources.js.map +1 -1
  136. package/dist/extensions/mcp/runtime.d.ts +3 -6
  137. package/dist/extensions/mcp/runtime.d.ts.map +1 -1
  138. package/dist/extensions/mcp/runtime.js +4 -39
  139. package/dist/extensions/mcp/runtime.js.map +1 -1
  140. package/dist/extensions/mcp/tools.d.ts +2 -3
  141. package/dist/extensions/mcp/tools.d.ts.map +1 -1
  142. package/dist/extensions/mcp/tools.js +62 -6
  143. package/dist/extensions/mcp/tools.js.map +1 -1
  144. package/dist/extensions/provider/keybindings.d.ts +2 -2
  145. package/dist/extensions/provider/keybindings.d.ts.map +1 -1
  146. package/dist/extensions/provider/keybindings.js.map +1 -1
  147. package/dist/extensions/search/code-search.d.ts +0 -2
  148. package/dist/extensions/search/code-search.d.ts.map +1 -1
  149. package/dist/extensions/search/code-search.js +2 -2
  150. package/dist/extensions/search/code-search.js.map +1 -1
  151. package/dist/extensions/search/command.js +2 -2
  152. package/dist/extensions/search/command.js.map +1 -1
  153. package/dist/extensions/search/index.d.ts.map +1 -1
  154. package/dist/extensions/search/index.js +14 -11
  155. package/dist/extensions/search/index.js.map +1 -1
  156. package/dist/extensions/search/workspace.d.ts +11 -10
  157. package/dist/extensions/search/workspace.d.ts.map +1 -1
  158. package/dist/extensions/search/workspace.js +259 -141
  159. package/dist/extensions/search/workspace.js.map +1 -1
  160. package/dist/extensions/tool-search/index.d.ts.map +1 -1
  161. package/dist/extensions/tool-search/index.js +1 -6
  162. package/dist/extensions/tool-search/index.js.map +1 -1
  163. package/dist/extensions/tool-search/tool.d.ts +0 -2
  164. package/dist/extensions/tool-search/tool.d.ts.map +1 -1
  165. package/dist/extensions/tool-search/tool.js +2 -4
  166. package/dist/extensions/tool-search/tool.js.map +1 -1
  167. package/dist/index.d.ts +1 -1
  168. package/dist/index.d.ts.map +1 -1
  169. package/dist/index.js.map +1 -1
  170. package/dist/main.js +3 -3
  171. package/dist/main.js.map +1 -1
  172. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  173. package/dist/modes/interactive/components/settings-selector.js +3 -2
  174. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  175. package/dist/modes/interactive/components/status-indicator.d.ts +1 -1
  176. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  177. package/dist/modes/interactive/components/status-indicator.js +2 -2
  178. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  179. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  180. package/dist/modes/interactive/interactive-mode.js +11 -5
  181. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  182. package/dist/modes/interactive/theme/dark.json +1 -1
  183. package/dist/modes/interactive/theme/light.json +1 -1
  184. package/dist/modes/interactive/theme/theme-schema.d.ts +28 -0
  185. package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -0
  186. package/dist/modes/interactive/theme/theme-schema.js +105 -0
  187. package/dist/modes/interactive/theme/theme-schema.js.map +1 -0
  188. package/dist/modes/interactive/theme/theme-tokens.d.ts +257 -0
  189. package/dist/modes/interactive/theme/theme-tokens.d.ts.map +1 -0
  190. package/dist/modes/interactive/theme/theme-tokens.js +94 -0
  191. package/dist/modes/interactive/theme/theme-tokens.js.map +1 -0
  192. package/dist/modes/interactive/theme/theme.d.ts +13 -16
  193. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  194. package/dist/modes/interactive/theme/theme.js +23 -31
  195. package/dist/modes/interactive/theme/theme.js.map +1 -1
  196. package/dist/modes/print-mode.d.ts.map +1 -1
  197. package/dist/modes/print-mode.js +4 -0
  198. package/dist/modes/print-mode.js.map +1 -1
  199. package/dist/utils/clipboard.d.ts.map +1 -1
  200. package/dist/utils/clipboard.js +6 -1
  201. package/dist/utils/clipboard.js.map +1 -1
  202. package/docs/bundled/extensions/search.md +2 -1
  203. package/docs/codemode.md +1 -1
  204. package/docs/compaction.md +2 -2
  205. package/docs/environment-variables.md +2 -1
  206. package/docs/extensions.md +10 -4
  207. package/docs/keybindings.md +1 -0
  208. package/docs/mcp.md +1 -1
  209. package/docs/models.md +1 -0
  210. package/docs/providers.md +16 -0
  211. package/docs/settings.md +2 -2
  212. package/docs/themes.md +4 -2
  213. package/docs/tui.md +1 -1
  214. package/docs/usage.md +2 -0
  215. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  216. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  217. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  218. package/examples/extensions/dynamic-resources/dynamic.json +1 -1
  219. package/examples/extensions/gondolin/package-lock.json +2 -2
  220. package/examples/extensions/gondolin/package.json +1 -1
  221. package/examples/extensions/overlay-test.ts +2 -2
  222. package/examples/extensions/plan-mode/index.ts +6 -2
  223. package/examples/extensions/sandbox/package-lock.json +2 -2
  224. package/examples/extensions/sandbox/package.json +1 -1
  225. package/examples/extensions/with-deps/package-lock.json +2 -2
  226. package/examples/extensions/with-deps/package.json +1 -1
  227. package/npm-shrinkwrap.json +54 -102
  228. package/package.json +8 -20
  229. package/schemas/keybindings.schema.json +453 -0
  230. package/schemas/models.schema.json +1157 -0
  231. package/schemas/settings.schema.json +782 -0
  232. package/schemas/theme.schema.json +365 -0
  233. package/dist/bundle/chunks/anthropic-messages-3K3DWVY6.js +0 -6
  234. package/dist/bundle/chunks/openai-codex-responses-TZWBTTYM.js +0 -10
  235. package/dist/modes/interactive/theme/theme-json.d.ts +0 -85
  236. package/dist/modes/interactive/theme/theme-json.d.ts.map +0 -1
  237. package/dist/modes/interactive/theme/theme-json.js +0 -132
  238. package/dist/modes/interactive/theme/theme-json.js.map +0 -1
  239. package/dist/modes/interactive/theme/theme-schema.json +0 -361
  240. package/examples/plugins/pi-example-plugin/README.md +0 -38
  241. package/examples/plugins/pi-example-plugin/package.json +0 -10
  242. package/examples/plugins/pi-example-plugin/src/contract.ts +0 -13
  243. package/examples/plugins/pi-example-plugin/src/session.ts +0 -24
  244. package/examples/plugins/pi-example-plugin/src/tui.ts +0 -31
@@ -0,0 +1,453 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://pi.dev/schemas/keybindings.schema.json",
4
+ "$comment": "This file is generated from TypeScript source. Do not edit it manually; run npm run generate:schemas.",
5
+ "type": "object",
6
+ "properties": {
7
+ "$schema": {
8
+ "type": "string"
9
+ },
10
+ "tui.editor.cursorUp": {
11
+ "$ref": "#/$defs/KeybindingValue",
12
+ "description": "Move cursor up"
13
+ },
14
+ "tui.editor.cursorDown": {
15
+ "$ref": "#/$defs/KeybindingValue",
16
+ "description": "Move cursor down"
17
+ },
18
+ "tui.editor.historyPrevious": {
19
+ "$ref": "#/$defs/KeybindingValue",
20
+ "description": "Select previous prompt history entry"
21
+ },
22
+ "tui.editor.historyNext": {
23
+ "$ref": "#/$defs/KeybindingValue",
24
+ "description": "Select next prompt history entry"
25
+ },
26
+ "tui.editor.cursorLeft": {
27
+ "$ref": "#/$defs/KeybindingValue",
28
+ "description": "Move cursor left"
29
+ },
30
+ "tui.editor.cursorRight": {
31
+ "$ref": "#/$defs/KeybindingValue",
32
+ "description": "Move cursor right"
33
+ },
34
+ "tui.editor.cursorWordLeft": {
35
+ "$ref": "#/$defs/KeybindingValue",
36
+ "description": "Move cursor word left"
37
+ },
38
+ "tui.editor.cursorWordRight": {
39
+ "$ref": "#/$defs/KeybindingValue",
40
+ "description": "Move cursor word right"
41
+ },
42
+ "tui.editor.cursorLineStart": {
43
+ "$ref": "#/$defs/KeybindingValue",
44
+ "description": "Move to line start"
45
+ },
46
+ "tui.editor.cursorLineEnd": {
47
+ "$ref": "#/$defs/KeybindingValue",
48
+ "description": "Move to line end"
49
+ },
50
+ "tui.editor.jumpForward": {
51
+ "$ref": "#/$defs/KeybindingValue",
52
+ "description": "Jump forward to character"
53
+ },
54
+ "tui.editor.jumpBackward": {
55
+ "$ref": "#/$defs/KeybindingValue",
56
+ "description": "Jump backward to character"
57
+ },
58
+ "tui.editor.pageUp": {
59
+ "$ref": "#/$defs/KeybindingValue",
60
+ "description": "Page up"
61
+ },
62
+ "tui.editor.pageDown": {
63
+ "$ref": "#/$defs/KeybindingValue",
64
+ "description": "Page down"
65
+ },
66
+ "tui.editor.deleteCharBackward": {
67
+ "$ref": "#/$defs/KeybindingValue",
68
+ "description": "Delete character backward"
69
+ },
70
+ "tui.editor.deleteCharForward": {
71
+ "$ref": "#/$defs/KeybindingValue",
72
+ "description": "Delete character forward"
73
+ },
74
+ "tui.editor.deleteWordBackward": {
75
+ "$ref": "#/$defs/KeybindingValue",
76
+ "description": "Delete word backward"
77
+ },
78
+ "tui.editor.deleteWordForward": {
79
+ "$ref": "#/$defs/KeybindingValue",
80
+ "description": "Delete word forward"
81
+ },
82
+ "tui.editor.deleteToLineStart": {
83
+ "$ref": "#/$defs/KeybindingValue",
84
+ "description": "Delete to line start"
85
+ },
86
+ "tui.editor.deleteToLineEnd": {
87
+ "$ref": "#/$defs/KeybindingValue",
88
+ "description": "Delete to line end"
89
+ },
90
+ "tui.editor.yank": {
91
+ "$ref": "#/$defs/KeybindingValue",
92
+ "description": "Yank"
93
+ },
94
+ "tui.editor.yankPop": {
95
+ "$ref": "#/$defs/KeybindingValue",
96
+ "description": "Yank pop"
97
+ },
98
+ "tui.editor.undo": {
99
+ "$ref": "#/$defs/KeybindingValue",
100
+ "description": "Undo"
101
+ },
102
+ "tui.input.newLine": {
103
+ "$ref": "#/$defs/KeybindingValue",
104
+ "description": "Insert newline"
105
+ },
106
+ "tui.input.submit": {
107
+ "$ref": "#/$defs/KeybindingValue",
108
+ "description": "Submit input"
109
+ },
110
+ "tui.input.tab": {
111
+ "$ref": "#/$defs/KeybindingValue",
112
+ "description": "Tab / autocomplete"
113
+ },
114
+ "tui.input.copy": {
115
+ "$ref": "#/$defs/KeybindingValue",
116
+ "description": "Copy selection"
117
+ },
118
+ "tui.select.up": {
119
+ "$ref": "#/$defs/KeybindingValue",
120
+ "description": "Move selection up"
121
+ },
122
+ "tui.select.down": {
123
+ "$ref": "#/$defs/KeybindingValue",
124
+ "description": "Move selection down"
125
+ },
126
+ "tui.select.pageUp": {
127
+ "$ref": "#/$defs/KeybindingValue",
128
+ "description": "Selection page up"
129
+ },
130
+ "tui.select.pageDown": {
131
+ "$ref": "#/$defs/KeybindingValue",
132
+ "description": "Selection page down"
133
+ },
134
+ "tui.select.confirm": {
135
+ "$ref": "#/$defs/KeybindingValue",
136
+ "description": "Confirm selection"
137
+ },
138
+ "tui.select.cancel": {
139
+ "$ref": "#/$defs/KeybindingValue",
140
+ "description": "Cancel selection"
141
+ },
142
+ "tui.altScreen.pageUp": {
143
+ "$ref": "#/$defs/KeybindingValue",
144
+ "description": "Scroll viewport up one page"
145
+ },
146
+ "tui.altScreen.pageDown": {
147
+ "$ref": "#/$defs/KeybindingValue",
148
+ "description": "Scroll viewport down one page"
149
+ },
150
+ "tui.altScreen.halfPageUp": {
151
+ "$ref": "#/$defs/KeybindingValue",
152
+ "description": "Scroll viewport up half a page"
153
+ },
154
+ "tui.altScreen.halfPageDown": {
155
+ "$ref": "#/$defs/KeybindingValue",
156
+ "description": "Scroll viewport down half a page"
157
+ },
158
+ "tui.altScreen.lineUp": {
159
+ "$ref": "#/$defs/KeybindingValue",
160
+ "description": "Scroll viewport up one line"
161
+ },
162
+ "tui.altScreen.lineDown": {
163
+ "$ref": "#/$defs/KeybindingValue",
164
+ "description": "Scroll viewport down one line"
165
+ },
166
+ "tui.altScreen.previousPrompt": {
167
+ "$ref": "#/$defs/KeybindingValue",
168
+ "description": "Jump to previous semantic prompt"
169
+ },
170
+ "tui.altScreen.nextPrompt": {
171
+ "$ref": "#/$defs/KeybindingValue",
172
+ "description": "Jump to next semantic prompt"
173
+ },
174
+ "tui.altScreen.search": {
175
+ "$ref": "#/$defs/KeybindingValue",
176
+ "description": "Search the primary scroll view"
177
+ },
178
+ "tui.altScreen.searchNext": {
179
+ "$ref": "#/$defs/KeybindingValue",
180
+ "description": "Select the next search match"
181
+ },
182
+ "tui.altScreen.searchPrevious": {
183
+ "$ref": "#/$defs/KeybindingValue",
184
+ "description": "Select the previous search match"
185
+ },
186
+ "tui.altScreen.searchClose": {
187
+ "$ref": "#/$defs/KeybindingValue",
188
+ "description": "Close transcript search"
189
+ },
190
+ "tui.altScreen.top": {
191
+ "$ref": "#/$defs/KeybindingValue",
192
+ "description": "Scroll viewport to top"
193
+ },
194
+ "tui.altScreen.bottom": {
195
+ "$ref": "#/$defs/KeybindingValue",
196
+ "description": "Scroll viewport to bottom"
197
+ },
198
+ "app.tasks.detach": {
199
+ "$ref": "#/$defs/KeybindingValue",
200
+ "description": "Move foreground tasks to the background"
201
+ },
202
+ "app.tasks.previousTab": {
203
+ "$ref": "#/$defs/KeybindingValue",
204
+ "description": "Show Output in the focused task inspector"
205
+ },
206
+ "app.tasks.nextTab": {
207
+ "$ref": "#/$defs/KeybindingValue",
208
+ "description": "Show Details in the focused task inspector"
209
+ },
210
+ "app.tasks.kill": {
211
+ "$ref": "#/$defs/KeybindingValue",
212
+ "description": "Stop the selected task"
213
+ },
214
+ "app.tasks.confirmStop": {
215
+ "$ref": "#/$defs/KeybindingValue",
216
+ "description": "Confirm stopping the selected task"
217
+ },
218
+ "app.tasks.detachSelected": {
219
+ "$ref": "#/$defs/KeybindingValue",
220
+ "description": "Move the selected task to the background"
221
+ },
222
+ "app.tasks.search": {
223
+ "$ref": "#/$defs/KeybindingValue",
224
+ "description": "Search retained task identities and labels"
225
+ },
226
+ "app.tasks.follow": {
227
+ "$ref": "#/$defs/KeybindingValue",
228
+ "description": "Follow the selected task's output"
229
+ },
230
+ "app.tasks.top": {
231
+ "$ref": "#/$defs/KeybindingValue",
232
+ "description": "Go to the top of the task list or preview"
233
+ },
234
+ "app.tasks.bottom": {
235
+ "$ref": "#/$defs/KeybindingValue",
236
+ "description": "Go to the bottom of the task list or preview"
237
+ },
238
+ "app.tasks.nextFocus": {
239
+ "$ref": "#/$defs/KeybindingValue",
240
+ "description": "Switch between task list and inspector"
241
+ },
242
+ "app.tasks.previousFocus": {
243
+ "$ref": "#/$defs/KeybindingValue",
244
+ "description": "Switch between task inspector and list"
245
+ },
246
+ "app.tasks.help": {
247
+ "$ref": "#/$defs/KeybindingValue",
248
+ "description": "Show task controls"
249
+ },
250
+ "app.interrupt": {
251
+ "$ref": "#/$defs/KeybindingValue",
252
+ "description": "Cancel or abort"
253
+ },
254
+ "app.clear": {
255
+ "$ref": "#/$defs/KeybindingValue",
256
+ "description": "Clear editor"
257
+ },
258
+ "app.exit": {
259
+ "$ref": "#/$defs/KeybindingValue",
260
+ "description": "Exit when editor is empty"
261
+ },
262
+ "app.suspend": {
263
+ "$ref": "#/$defs/KeybindingValue",
264
+ "description": "Suspend to background"
265
+ },
266
+ "app.thinking.cycle": {
267
+ "$ref": "#/$defs/KeybindingValue",
268
+ "description": "Cycle thinking level"
269
+ },
270
+ "app.thinking.save": {
271
+ "$ref": "#/$defs/KeybindingValue",
272
+ "description": "Save thinking level"
273
+ },
274
+ "app.model.cycleForward": {
275
+ "$ref": "#/$defs/KeybindingValue",
276
+ "description": "Cycle to next model"
277
+ },
278
+ "app.model.cycleBackward": {
279
+ "$ref": "#/$defs/KeybindingValue",
280
+ "description": "Cycle to previous model"
281
+ },
282
+ "app.model.select": {
283
+ "$ref": "#/$defs/KeybindingValue",
284
+ "description": "Open model selector"
285
+ },
286
+ "app.tools.expand": {
287
+ "$ref": "#/$defs/KeybindingValue",
288
+ "description": "Toggle tool output"
289
+ },
290
+ "app.question.pageUp": {
291
+ "$ref": "#/$defs/KeybindingValue",
292
+ "description": "Page up in question details"
293
+ },
294
+ "app.question.pageDown": {
295
+ "$ref": "#/$defs/KeybindingValue",
296
+ "description": "Page down in question details"
297
+ },
298
+ "app.thinking.toggle": {
299
+ "$ref": "#/$defs/KeybindingValue",
300
+ "description": "Toggle thinking blocks"
301
+ },
302
+ "app.session.toggleNamedFilter": {
303
+ "$ref": "#/$defs/KeybindingValue",
304
+ "description": "Toggle named session filter"
305
+ },
306
+ "app.editor.external": {
307
+ "$ref": "#/$defs/KeybindingValue",
308
+ "description": "Open external editor"
309
+ },
310
+ "app.message.copy": {
311
+ "$ref": "#/$defs/KeybindingValue",
312
+ "description": "Copy selection or last assistant message"
313
+ },
314
+ "app.message.followUp": {
315
+ "$ref": "#/$defs/KeybindingValue",
316
+ "description": "Queue follow-up message"
317
+ },
318
+ "app.message.dequeue": {
319
+ "$ref": "#/$defs/KeybindingValue",
320
+ "description": "Restore queued messages"
321
+ },
322
+ "app.clipboard.pasteImage": {
323
+ "$ref": "#/$defs/KeybindingValue",
324
+ "description": "Paste files on macOS, images, or text from clipboard"
325
+ },
326
+ "app.session.new": {
327
+ "$ref": "#/$defs/KeybindingValue",
328
+ "description": "Start a new session"
329
+ },
330
+ "app.session.tree": {
331
+ "$ref": "#/$defs/KeybindingValue",
332
+ "description": "Open session tree"
333
+ },
334
+ "app.session.fork": {
335
+ "$ref": "#/$defs/KeybindingValue",
336
+ "description": "Fork current session"
337
+ },
338
+ "app.session.resume": {
339
+ "$ref": "#/$defs/KeybindingValue",
340
+ "description": "Resume a session"
341
+ },
342
+ "app.tree.foldOrUp": {
343
+ "$ref": "#/$defs/KeybindingValue",
344
+ "description": "Fold tree branch or move up"
345
+ },
346
+ "app.tree.unfoldOrDown": {
347
+ "$ref": "#/$defs/KeybindingValue",
348
+ "description": "Unfold tree branch or move down"
349
+ },
350
+ "app.tree.editLabel": {
351
+ "$ref": "#/$defs/KeybindingValue",
352
+ "description": "Edit tree label"
353
+ },
354
+ "app.tree.toggleLabelTimestamp": {
355
+ "$ref": "#/$defs/KeybindingValue",
356
+ "description": "Toggle tree label timestamps"
357
+ },
358
+ "app.session.togglePath": {
359
+ "$ref": "#/$defs/KeybindingValue",
360
+ "description": "Toggle session path display"
361
+ },
362
+ "app.session.toggleSort": {
363
+ "$ref": "#/$defs/KeybindingValue",
364
+ "description": "Toggle session sort mode"
365
+ },
366
+ "app.session.rename": {
367
+ "$ref": "#/$defs/KeybindingValue",
368
+ "description": "Rename session"
369
+ },
370
+ "app.session.delete": {
371
+ "$ref": "#/$defs/KeybindingValue",
372
+ "description": "Delete session"
373
+ },
374
+ "app.session.deleteNoninvasive": {
375
+ "$ref": "#/$defs/KeybindingValue",
376
+ "description": "Delete session when query is empty"
377
+ },
378
+ "app.models.save": {
379
+ "$ref": "#/$defs/KeybindingValue",
380
+ "description": "Save model selection"
381
+ },
382
+ "app.models.enableAll": {
383
+ "$ref": "#/$defs/KeybindingValue",
384
+ "description": "Enable all models"
385
+ },
386
+ "app.models.clearAll": {
387
+ "$ref": "#/$defs/KeybindingValue",
388
+ "description": "Clear all models"
389
+ },
390
+ "app.models.toggleProvider": {
391
+ "$ref": "#/$defs/KeybindingValue",
392
+ "description": "Toggle all models for provider"
393
+ },
394
+ "app.models.reorderUp": {
395
+ "$ref": "#/$defs/KeybindingValue",
396
+ "description": "Move model up in order"
397
+ },
398
+ "app.models.reorderDown": {
399
+ "$ref": "#/$defs/KeybindingValue",
400
+ "description": "Move model down in order"
401
+ },
402
+ "app.tree.filter.default": {
403
+ "$ref": "#/$defs/KeybindingValue",
404
+ "description": "Tree filter: default view"
405
+ },
406
+ "app.tree.filter.noTools": {
407
+ "$ref": "#/$defs/KeybindingValue",
408
+ "description": "Tree filter: hide tool results"
409
+ },
410
+ "app.tree.filter.userOnly": {
411
+ "$ref": "#/$defs/KeybindingValue",
412
+ "description": "Tree filter: user messages only"
413
+ },
414
+ "app.tree.filter.labeledOnly": {
415
+ "$ref": "#/$defs/KeybindingValue",
416
+ "description": "Tree filter: labeled entries only"
417
+ },
418
+ "app.tree.filter.all": {
419
+ "$ref": "#/$defs/KeybindingValue",
420
+ "description": "Tree filter: show all entries"
421
+ },
422
+ "app.tree.filter.cycleForward": {
423
+ "$ref": "#/$defs/KeybindingValue",
424
+ "description": "Tree filter: cycle forward"
425
+ },
426
+ "app.tree.filter.cycleBackward": {
427
+ "$ref": "#/$defs/KeybindingValue",
428
+ "description": "Tree filter: cycle backward"
429
+ }
430
+ },
431
+ "additionalProperties": {
432
+ "$ref": "#/$defs/KeybindingValue"
433
+ },
434
+ "$defs": {
435
+ "KeybindingValue": {
436
+ "anyOf": [
437
+ {
438
+ "type": "string",
439
+ "pattern": "^(?!.*(?:ctrl\\+.*ctrl\\+|shift\\+.*shift\\+|alt\\+.*alt\\+|super\\+.*super\\+))(?:(?:ctrl|shift|alt|super)\\+){0,4}(?:[a-z0-9]|escape|esc|enter|return|tab|space|backspace|delete|insert|clear|home|end|pageUp|pageDown|up|down|left|right|f1|f2|f3|f4|f5|f6|f7|f8|f9|f10|f11|f12|`|-|=|\\[|\\]|\\\\|;|'|,|\\.|/|!|@|#|\\$|%|\\^|&|\\*|\\(|\\)|_|\\+|\\||~|\\{|\\}|:|<|>|\\?)$",
440
+ "description": "Key identifier with optional ctrl, shift, alt, or super modifiers."
441
+ },
442
+ {
443
+ "type": "array",
444
+ "items": {
445
+ "type": "string",
446
+ "pattern": "^(?!.*(?:ctrl\\+.*ctrl\\+|shift\\+.*shift\\+|alt\\+.*alt\\+|super\\+.*super\\+))(?:(?:ctrl|shift|alt|super)\\+){0,4}(?:[a-z0-9]|escape|esc|enter|return|tab|space|backspace|delete|insert|clear|home|end|pageUp|pageDown|up|down|left|right|f1|f2|f3|f4|f5|f6|f7|f8|f9|f10|f11|f12|`|-|=|\\[|\\]|\\\\|;|'|,|\\.|/|!|@|#|\\$|%|\\^|&|\\*|\\(|\\)|_|\\+|\\||~|\\{|\\}|:|<|>|\\?)$",
447
+ "description": "Key identifier with optional ctrl, shift, alt, or super modifiers."
448
+ }
449
+ }
450
+ ]
451
+ }
452
+ }
453
+ }