airlok 0.9.0 → 0.9.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.
- package/CHANGELOG.md +12 -0
- package/README.md +4 -2
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to airlok. The format follows Keep a Changelog; versions follow SemVer.
|
|
4
4
|
|
|
5
|
+
## [0.9.1] - 2026-09-13
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- `[provider] api`, settable per model as `[models."<id>"] api`, choosing which OpenAI HTTP API to speak. `"chat"` is the default and is unchanged. On `"responses"` the conversation is sent as input items, a tool call and its result are top-level items joined by `call_id`, the system prompt is sent as `instructions`, and the reasoning effort is an object rather than a string, which is what lets a deployment keep tools and a reasoning effort at the same time.
|
|
10
|
+
- `airlok doctor --offline`, and `/doctor --offline` in a session, which skips the provider request, the one check that leaves the machine, and reports it as skipped rather than dropping the line.
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- A reasoning effort rejected by the provider now says when the value came from `/effort` and how to put it back, instead of suggesting an edit to a config that already says the right thing. `/effort` also warns when raising the effort on a model whose config pins it to `none`, which is where a deployment starts refusing tools.
|
|
15
|
+
- The argument hint no longer offers the first candidate before anything is typed, so `/goal` no longer reads as an offer to complete to `/goal clear`.
|
|
16
|
+
|
|
5
17
|
## [0.9.0] - 2026-09-13
|
|
6
18
|
|
|
7
19
|
### Added
|
package/README.md
CHANGED
|
@@ -94,7 +94,7 @@ A cancelled turn keeps the text streamed so far in the history, marked as interr
|
|
|
94
94
|
| `/init` | propose an AIRLOK.md for this repository, as a diff to approve |
|
|
95
95
|
| `/copy [<n>\|code]` | copy the last reply to the clipboard; a number takes the Nth from the end, `code` the last fenced block |
|
|
96
96
|
| `/diff [<path>]` | what airlok changed on disk this session, diffed from before its first write |
|
|
97
|
-
| `/doctor` | check the config, key, provider, MCP servers, git, terminal and storage; `airlok doctor` does the same and exits non-zero on failure |
|
|
97
|
+
| `/doctor` | check the config, key, provider, MCP servers, git, terminal and storage; `airlok doctor` does the same and exits non-zero on failure. `--offline` skips the provider request, the one check that leaves the machine |
|
|
98
98
|
| `/goal [<statement>\|clear]` | what the session is working toward, kept in the system prompt every turn and shown in the footer |
|
|
99
99
|
| `/clear` | start a new session; the current one stays saved |
|
|
100
100
|
| `/exit` | save and quit; `/quit` works too |
|
|
@@ -254,6 +254,7 @@ model = "claude-sonnet-4-6" # per provider: anthropic "claude-sonnet-4-6", ope
|
|
|
254
254
|
# base_url = "https://api.openai.com/v1" # openai only; Azure: "https://<resource>.openai.azure.com/openai/v1"
|
|
255
255
|
# api_key_env = "ANTHROPIC_API_KEY" # env var holding the key
|
|
256
256
|
# api_key_cmd = "..." # shell command whose stdout is the key
|
|
257
|
+
# api = "chat" # openai only: "chat" (the default) or "responses"
|
|
257
258
|
context_window = 200000 # input tokens the model accepts; used to decide when to compact
|
|
258
259
|
|
|
259
260
|
[agent]
|
|
@@ -277,6 +278,7 @@ show_secrets_in_output = false # show secrets from files in full in the termin
|
|
|
277
278
|
|
|
278
279
|
[models."gpt-6-astra"] # settings for one model id (the deployment name on Azure); none by default
|
|
279
280
|
reasoning_effort = "none" # openai only, sent as reasoning_effort; not validated
|
|
281
|
+
api = "responses" # openai only, overrides [provider] api for this model
|
|
280
282
|
```
|
|
281
283
|
|
|
282
284
|
For openai, `base_url` falls back to the `OPENAI_BASE_URL` environment variable when the config does not set it.
|
|
@@ -299,7 +301,7 @@ base_url = "https://<resource>.openai.azure.com/openai/v1"
|
|
|
299
301
|
api_key_cmd = "az cognitiveservices account keys list -n <resource> -g <resource-group> --query key1 -o tsv"
|
|
300
302
|
```
|
|
301
303
|
|
|
302
|
-
Azure's `gpt-6-astra` accepts tools on Chat Completions only with reasoning off, so it needs `[models."gpt-6-astra"]` with `reasoning_effort = "none"`.
|
|
304
|
+
Azure's `gpt-6-astra` accepts tools on Chat Completions only with reasoning off, so on that API it needs `[models."gpt-6-astra"]` with `reasoning_effort = "none"`. Giving the model `api = "responses"` instead keeps both the tools and the reasoning effort, which is what makes `/effort` worth using there. With neither, airlok shows the provider's error and names the setting behind it. The entry applies however the model is chosen, `/model gpt-6-astra` included.
|
|
303
305
|
|
|
304
306
|
With this in the user config, plain `airlok "..."` works. The key is sent in Azure's `api-key` header, chosen from the host. No shell wrapper or exported variable is needed.
|
|
305
307
|
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"hasInstallScript": true,
|
|
20
20
|
"license": "MIT OR Apache-2.0",
|
|
21
21
|
"name": "airlok",
|
|
22
|
-
"version": "0.9.
|
|
22
|
+
"version": "0.9.1"
|
|
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.9.
|
|
51
|
+
"version": "0.9.1"
|
|
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.9.
|
|
3
|
+
"https://github.com/airlok-dev/airlok/releases/download/v0.9.1"
|
|
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.9.
|
|
63
|
+
"version": "0.9.1",
|
|
64
64
|
"volta": {
|
|
65
65
|
"node": "18.14.1",
|
|
66
66
|
"npm": "9.5.0"
|