apex-code 0.5.2 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +41 -2
  3. package/dist/core/agent-session.d.ts +37 -0
  4. package/dist/core/agent-session.d.ts.map +1 -1
  5. package/dist/core/agent-session.js +264 -60
  6. package/dist/core/agent-session.js.map +1 -1
  7. package/dist/core/default-tool-names.d.ts +7 -0
  8. package/dist/core/default-tool-names.d.ts.map +1 -0
  9. package/dist/core/default-tool-names.js +14 -0
  10. package/dist/core/default-tool-names.js.map +1 -0
  11. package/dist/core/extensions/runner.d.ts.map +1 -1
  12. package/dist/core/extensions/runner.js +2 -0
  13. package/dist/core/extensions/runner.js.map +1 -1
  14. package/dist/core/extensions/types.d.ts +3 -0
  15. package/dist/core/extensions/types.d.ts.map +1 -1
  16. package/dist/core/extensions/types.js.map +1 -1
  17. package/dist/core/keybindings.d.ts +16 -1
  18. package/dist/core/keybindings.d.ts.map +1 -1
  19. package/dist/core/keybindings.js +7 -1
  20. package/dist/core/keybindings.js.map +1 -1
  21. package/dist/core/permissions/startup.d.ts +1 -1
  22. package/dist/core/permissions/startup.d.ts.map +1 -1
  23. package/dist/core/permissions/startup.js.map +1 -1
  24. package/dist/core/sdk.d.ts.map +1 -1
  25. package/dist/core/sdk.js +13 -9
  26. package/dist/core/sdk.js.map +1 -1
  27. package/dist/core/settings-manager.d.ts +4 -0
  28. package/dist/core/settings-manager.d.ts.map +1 -1
  29. package/dist/core/settings-manager.js +13 -0
  30. package/dist/core/settings-manager.js.map +1 -1
  31. package/dist/core/slash-commands.d.ts.map +1 -1
  32. package/dist/core/slash-commands.js +1 -0
  33. package/dist/core/slash-commands.js.map +1 -1
  34. package/dist/core/tools/contract.d.ts +1 -0
  35. package/dist/core/tools/contract.d.ts.map +1 -1
  36. package/dist/core/tools/contract.js.map +1 -1
  37. package/dist/core/tools/index.d.ts +1 -1
  38. package/dist/core/tools/index.d.ts.map +1 -1
  39. package/dist/core/tools/index.js.map +1 -1
  40. package/dist/core/tools/plan-present.d.ts +13 -12
  41. package/dist/core/tools/plan-present.d.ts.map +1 -1
  42. package/dist/core/tools/plan-present.js +32 -19
  43. package/dist/core/tools/plan-present.js.map +1 -1
  44. package/dist/core/tools/renderers/index.d.ts +1 -1
  45. package/dist/core/tools/renderers/index.d.ts.map +1 -1
  46. package/dist/core/tools/renderers/index.js +2 -0
  47. package/dist/core/tools/renderers/index.js.map +1 -1
  48. package/dist/core/tools/renderers/todo-write.d.ts +7 -0
  49. package/dist/core/tools/renderers/todo-write.d.ts.map +1 -0
  50. package/dist/core/tools/renderers/todo-write.js +58 -0
  51. package/dist/core/tools/renderers/todo-write.js.map +1 -0
  52. package/dist/index.d.ts +2 -2
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +1 -1
  55. package/dist/index.js.map +1 -1
  56. package/dist/modes/interactive/components/bash-execution.d.ts +13 -2
  57. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  58. package/dist/modes/interactive/components/bash-execution.js +56 -1
  59. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  60. package/dist/modes/interactive/components/error-summary.d.ts +2 -0
  61. package/dist/modes/interactive/components/error-summary.d.ts.map +1 -1
  62. package/dist/modes/interactive/components/error-summary.js +10 -0
  63. package/dist/modes/interactive/components/error-summary.js.map +1 -1
  64. package/dist/modes/interactive/components/first-use-hints.d.ts +1 -1
  65. package/dist/modes/interactive/components/first-use-hints.d.ts.map +1 -1
  66. package/dist/modes/interactive/components/first-use-hints.js +1 -0
  67. package/dist/modes/interactive/components/first-use-hints.js.map +1 -1
  68. package/dist/modes/interactive/components/footer.d.ts +6 -1
  69. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  70. package/dist/modes/interactive/components/footer.js +38 -11
  71. package/dist/modes/interactive/components/footer.js.map +1 -1
  72. package/dist/modes/interactive/components/settings-selector.d.ts +5 -0
  73. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  74. package/dist/modes/interactive/components/settings-selector.js +20 -1
  75. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  76. package/dist/modes/interactive/components/task-panel.d.ts +27 -0
  77. package/dist/modes/interactive/components/task-panel.d.ts.map +1 -0
  78. package/dist/modes/interactive/components/task-panel.js +92 -0
  79. package/dist/modes/interactive/components/task-panel.js.map +1 -0
  80. package/dist/modes/interactive/components/tool-execution.d.ts +9 -1
  81. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  82. package/dist/modes/interactive/components/tool-execution.js +81 -8
  83. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  84. package/dist/modes/interactive/components/tool-panel.d.ts +7 -0
  85. package/dist/modes/interactive/components/tool-panel.d.ts.map +1 -1
  86. package/dist/modes/interactive/components/tool-panel.js +35 -0
  87. package/dist/modes/interactive/components/tool-panel.js.map +1 -1
  88. package/dist/modes/interactive/components/turn-summary.d.ts +6 -0
  89. package/dist/modes/interactive/components/turn-summary.d.ts.map +1 -0
  90. package/dist/modes/interactive/components/turn-summary.js +12 -0
  91. package/dist/modes/interactive/components/turn-summary.js.map +1 -0
  92. package/dist/modes/interactive/interactive-mode.d.ts +10 -0
  93. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  94. package/dist/modes/interactive/interactive-mode.js +191 -22
  95. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  96. package/docs/keybindings.md +21 -2
  97. package/docs/settings.md +8 -0
  98. package/npm-shrinkwrap.json +5 -5
  99. package/package.json +2 -2
@@ -152,19 +152,25 @@ On native Windows, `app.suspend` has no default because Windows terminals do not
152
152
  | `app.model.cycleForward` | `ctrl+p` | Cycle to next model |
153
153
  | `app.model.cycleBackward` | `shift+ctrl+p` (`alt+p` on Windows and WSL) | Cycle to previous model |
154
154
  | `app.models.save` | `ctrl+s` | Save the selected default model or scoped model configuration to settings |
155
- | `app.thinking.cycle` | `shift+tab` | Cycle thinking level |
155
+ | `app.permissionMode.cycle` | `shift+tab` | Cycle permission mode for this session |
156
+ | `app.thinking.cycle` | `alt+t` | Cycle thinking level |
156
157
  | `app.thinking.save` | `ctrl+s` | Save current thinking level to settings |
158
+ | `app.tools.expandLatest` | `alt+o` | Toggle the latest tool or user shell operation without expanding the rest of the transcript |
157
159
  | `app.thinking.toggle` | `ctrl+t` | Collapse or expand thinking blocks |
158
160
 
159
161
  ### Display and Message Queue
160
162
 
161
163
  | Keybinding id | Default | Description |
162
164
  |--------|---------|-------------|
163
- | `app.tools.expand` | `ctrl+o` | Cycle conversation detail: overview (everything collapsed), details (diffs and thinking if enabled in settings), all (full tool output and thinking) |
165
+ | `app.tools.expand` | `ctrl+o` | Cycle conversation detail: overview (one row per operation), details (diffs and thinking if enabled in settings), all (full tool output and thinking) |
166
+ | `app.tasks.toggle` | `alt+j` | Expand or collapse the pinned task panel; save the choice globally |
164
167
  | `app.message.copy` | `ctrl+x` | Copy the selected message in `/tree`; in fullscreen mode, copy the active selection when `fullscreenCopyOnSelect` is `false`; otherwise copy the last assistant message |
165
168
  | `app.message.followUp` | `alt+enter` (`ctrl+q` on Windows and WSL) | Queue follow-up message |
166
169
  | `app.message.dequeue` | `alt+up` (`alt+q` on Windows and WSL) | Restore queued messages to editor |
167
170
 
171
+ Alt+J requires your terminal to send Alt/Option as Meta. The `/tasks`
172
+ command performs the same toggle.
173
+
168
174
  ### Tree Navigation
169
175
 
170
176
  | Keybinding id | Default | Description |
@@ -207,6 +213,19 @@ Create `~/.apex-code/agent/keybindings.json`:
207
213
 
208
214
  Each action can have a single key or an array of keys. User config overrides defaults.
209
215
 
216
+ Shift+Tab cycles permission modes for the current session. It does not change the
217
+ saved default. Alt+T cycles thinking levels. To restore the old thinking shortcut
218
+ without assigning both actions to the same key, swap them:
219
+
220
+ ```json
221
+ {
222
+ "app.thinking.cycle": "shift+tab",
223
+ "app.permissionMode.cycle": "alt+t"
224
+ }
225
+ ```
226
+
227
+ On macOS, configure Option as Meta to use Alt+T, as with the other Alt shortcuts.
228
+
210
229
  On native Windows, `app.suspend` has no default binding because Windows terminals do not support Unix job control. If you bind it manually, Apex Code shows a status message instead of suspending. In WSL, the normal Linux `ctrl+z`/`fg` behavior still applies.
211
230
 
212
231
  ### Emacs Example
package/docs/settings.md CHANGED
@@ -35,6 +35,7 @@ Use `/trust` in interactive mode to save a project trust decision for future ses
35
35
  | `enabledModels` | `string[]` | All available models | Model patterns used for startup selection and model cycling. Uses the same format as `--models`. |
36
36
  | `hideThinkingBlock` | boolean | `false` | Hide thinking blocks in the transcript. |
37
37
  | `chatDetail` | `"overview" \| "details" \| "all"` | unset | Transcript detail level for new sessions. `unset` opens at overview; the saved value changes when you cycle detail with `ctrl+o` or select it in `/settings`. |
38
+ | `taskPanelExpanded` | boolean | `false` | Global task-panel expansion preference, saved by Alt+J or `/tasks`. |
38
39
  | `showCacheMissNotices` | boolean | `false` | Show notices for significant cache misses, successful cache warming, compaction usage, and provider recovery. |
39
40
  | `cacheWarming` | `"off" \| "streaming" \| "idle"` | `"streaming"` | Keep eligible provider prompt caches warm during active runs or, with `"idle"`, between runs. Global setting only. |
40
41
 
@@ -271,6 +272,13 @@ On Windows, select `powershell` instead of `bash`, or include both:
271
272
  }
272
273
  ```
273
274
 
275
+ The task-list tool `todo_write` is opt-in. Its `/settings` row adds or removes
276
+ it from saved user `defaultTools` for new sessions. Enabling it with unset
277
+ defaults retains the core tools and configured LSP, search, and MCP defaults.
278
+ Explicit lists retain their other names. The row is read-only when project
279
+ `defaultTools` overrides user defaults. The current session and `/reload`
280
+ retain their tool selection.
281
+
274
282
  An empty array starts with no built-in tools while preserving extension and SDK custom tools. `--tools` replaces this behavior with a strict allowlist for all tools, `--no-tools` disables all tools, and `--no-builtin-tools` disables the built-in defaults. `--exclude-tools` filters the resulting list. A project `defaultTools` array replaces the global array.
275
283
 
276
284
  ### Sessions
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "apex-code",
3
- "version": "0.5.2",
3
+ "version": "0.6.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "apex-code",
9
- "version": "0.5.2",
9
+ "version": "0.6.1",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@earendil-works/chord": "^0.87.1",
@@ -16,7 +16,7 @@
16
16
  "@modelcontextprotocol/client": "2.0.0",
17
17
  "@modelcontextprotocol/core": "2.0.0",
18
18
  "@silvia-odwyer/photon-node": "0.3.4",
19
- "apex-code-agent-core": "0.5.2",
19
+ "apex-code-agent-core": "0.6.1",
20
20
  "chalk": "6.0.0",
21
21
  "cross-spawn": "7.0.6",
22
22
  "diff": "8.0.4",
@@ -1321,8 +1321,8 @@
1321
1321
  }
1322
1322
  },
1323
1323
  "node_modules/apex-code-agent-core": {
1324
- "version": "0.5.2",
1325
- "resolved": "https://registry.npmjs.org/apex-code-agent-core/-/apex-code-agent-core-0.5.2.tgz",
1324
+ "version": "0.6.1",
1325
+ "resolved": "https://registry.npmjs.org/apex-code-agent-core/-/apex-code-agent-core-0.6.1.tgz",
1326
1326
  "license": "MIT",
1327
1327
  "dependencies": {
1328
1328
  "@earendil-works/chord": "^0.87.1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apex-code",
3
- "version": "0.5.2",
3
+ "version": "0.6.1",
4
4
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "type": "module",
6
6
  "piConfig": {
@@ -55,7 +55,7 @@
55
55
  "@modelcontextprotocol/client": "2.0.0",
56
56
  "@modelcontextprotocol/core": "2.0.0",
57
57
  "@silvia-odwyer/photon-node": "0.3.4",
58
- "apex-code-agent-core": "0.5.2",
58
+ "apex-code-agent-core": "0.6.1",
59
59
  "chalk": "6.0.0",
60
60
  "cross-spawn": "7.0.6",
61
61
  "diff": "8.0.4",