airlok 0.8.1 → 0.8.2

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  All notable changes to airlok. The format follows Keep a Changelog; versions follow SemVer.
4
4
 
5
+ ## [0.8.2] - 2026-09-12
6
+
7
+ ### Added
8
+
9
+ - `/effort` shows the reasoning effort in force for the model in use and where it came from: the per-model config, this session, or the provider's own default. `/effort <value>` sets it for the rest of the session, using the same picker and the same did-you-mean question as `/model`, offering what the provider accepts (`none`, `minimal`, `low`, `medium`, `high`). The value is recorded in the session, so `--resume` keeps it, and on resume the session's value wins over the config file for the model it continues on. Only the openai provider sends a reasoning effort, so on anthropic the command says so rather than offering a list.
10
+ - Tab completes `/effort` arguments, alongside `/model` and `/provider`.
11
+
12
+ ### Changed
13
+
14
+ - `/e` now resolves to `/effort` rather than `/exit`. Commands are matched by prefix in the order they are listed, and `/effort` is listed beside `/model`. `/exit`, `/quit` and Ctrl-D are unchanged.
15
+
16
+ ### Fixed
17
+
18
+ - Ctrl-C leaves the `/model` and `/provider` picker, the way Esc does. The picker's terminal mode kept signals on, so Ctrl-C raised SIGINT and the list stayed up until Esc. Signals come back the moment the picker closes, so Ctrl-C at the prompt still clears the line.
19
+
5
20
  ## [0.8.1] - 2026-09-12
6
21
 
7
22
  ### Added
package/README.md CHANGED
@@ -59,7 +59,9 @@ While a turn runs, a status line below the output shows a spinner, what airlok i
59
59
  | Ctrl-D | save and quit |
60
60
  | Ctrl-R | search this run's history; Up and Down step through it |
61
61
 
62
- The models airlok offers are the one in use, any named in `[models."<id>"]`, the ones used earlier in this run, and the ones saved sessions here used on this provider. Tab completes from that list after `/model `, and from the two provider names after `/provider `. Switching to an id from that list is taken as given; anything else is read back with the nearest known ids and a question, since a model id that only fails on the next turn is a poor way to learn it was a typo.
62
+ The models airlok offers are the one in use, any named in `[models."<id>"]`, the ones used earlier in this run, and the ones saved sessions here used on this provider. Tab completes from that list after `/model `, from the two provider names after `/provider `, and from the efforts the provider accepts after `/effort `. Switching to an id from that list is taken as given; anything else is read back with the nearest known ids and a question, since a model id that only fails on the next turn is a poor way to learn it was a typo.
63
+
64
+ Reasoning effort is per model. `[models."<id>"] reasoning_effort` is the default, `/effort` reports which of those you are on, and `/effort <value>` overrides it for the session and is saved with it, so `--resume` continues on the same effort rather than the config's. Only the openai provider sends it.
63
65
 
64
66
  A provider that refuses a request is reported as a sentence naming the likely cause: a model or deployment that does not exist, a key the provider rejected, rate limiting, or a request longer than the model's context. The raw body goes to the debug log, so `-v` still has it, and the session stays open either way.
65
67
 
@@ -75,7 +77,8 @@ A cancelled turn keeps the text streamed so far in the history, marked as interr
75
77
  | Command | What it does |
76
78
  |---|---|
77
79
  | `/help` | list the commands |
78
- | `/model [<id>]` | with no id, pick from the models airlok knows here: arrows, type to filter, Enter, Esc. With an id, switch to it; an id airlok has not seen is questioned rather than taken |
80
+ | `/model [<id>]` | with no id, pick from the models airlok knows here: arrows, type to filter, Enter to take one, Esc or Ctrl-C to leave it alone. With an id, switch to it; an id airlok has not seen is questioned rather than taken |
81
+ | `/effort [<value>]` | the reasoning effort in force for this model and where it came from; with a value, use it for the rest of the session. openai only |
79
82
  | `/mcp` | list the MCP servers and their tools; `/mcp <name>` enables a disabled one for this session |
80
83
  | `/plan` | turn plan mode on or off |
81
84
  | `/go` | carry out the plan from plan mode, back in normal mode |
@@ -19,7 +19,7 @@
19
19
  "hasInstallScript": true,
20
20
  "license": "MIT OR Apache-2.0",
21
21
  "name": "airlok",
22
- "version": "0.8.1"
22
+ "version": "0.8.2"
23
23
  },
24
24
  "node_modules/detect-libc": {
25
25
  "engines": {
@@ -48,5 +48,5 @@
48
48
  }
49
49
  },
50
50
  "requires": true,
51
- "version": "0.8.1"
51
+ "version": "0.8.2"
52
52
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "artifactDownloadUrls": [
3
- "https://github.com/airlok-dev/airlok/releases/download/v0.8.1"
3
+ "https://github.com/airlok-dev/airlok/releases/download/v0.8.2"
4
4
  ],
5
5
  "bin": {
6
6
  "airlok": "run-airlok.js"
@@ -60,7 +60,7 @@
60
60
  "zipExt": ".tar.xz"
61
61
  }
62
62
  },
63
- "version": "0.8.1",
63
+ "version": "0.8.2",
64
64
  "volta": {
65
65
  "node": "18.14.1",
66
66
  "npm": "9.5.0"