Peter Steinberger
005e1d5fd1
refactor(cli): share styled select prompt helper
2026-02-18 17:48:02 +00:00
Peter Steinberger
288015a9fc
refactor(auth): share api key masking utility
2026-02-18 17:13:35 +00:00
the sun gif man
114736ed1a
Doctor/Security: fix telegram numeric ID + symlink config permission warnings ( #19844 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: e42bf1e48d
Co-authored-by: joshp123 <1497361+joshp123@users.noreply.github.com >
Co-authored-by: joshp123 <1497361+joshp123@users.noreply.github.com >
Reviewed-by: @joshp123
2026-02-18 00:09:51 -08:00
Peter Steinberger
e3292b9af1
test: dedupe sessions command tests and cover active filtering
2026-02-18 05:30:51 +00:00
Robby
5c69e625f5
fix(cli): display correct model for sub-agents in sessions list ( #18660 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: ba54c5a351
Co-authored-by: robbyczgw-cla <239660374+robbyczgw-cla@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-17 23:59:20 -05:00
Peter Steinberger
a69e7682c1
refactor(test): dedupe channel and monitor action suites
2026-02-18 04:49:22 +00:00
Gustavo Madeira Santana
4d3403b7ac
chore: fix CI errors
2026-02-17 23:46:40 -05:00
Peter Steinberger
e57628165a
test: dedupe shared setup in channel and doctor config tests
2026-02-18 04:04:14 +00:00
Peter Steinberger
516046dba8
fix: avoid doctor token regeneration on invalid repairs
2026-02-18 04:51:25 +01:00
Peter Steinberger
f25bbbc37e
feat: switch anthropic onboarding defaults to sonnet
2026-02-18 04:37:58 +01:00
Peter Steinberger
d1c00dbb7c
fix: harden include confinement edge cases ( #18652 ) (thanks @aether-ai-agent)
2026-02-18 03:27:16 +01:00
Peter Steinberger
b8b43175c5
style: align formatting with oxfmt 0.33
2026-02-18 01:34:35 +00:00
Peter Steinberger
31f9be126c
style: run oxfmt and fix gate failures
2026-02-18 01:29:02 +00:00
Peter Steinberger
6dcc052bb4
fix: stabilize model catalog and pi discovery auth storage compatibility
2026-02-18 02:09:40 +01:00
Peter Steinberger
ae2c8f2cf0
feat(models): support anthropic sonnet 4.6
2026-02-18 00:00:31 +01:00
Seb Slight
f44e3b2a34
revert: fix models set catalog validation ( #19194 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 7e3b2ff7af
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com >
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com >
Reviewed-by: @sebslight
2026-02-17 09:43:41 -05:00
Sebastian
cc359d338e
test: add fetch mock helper and reaction coverage
2026-02-17 09:02:39 -05:00
Benjamin Jesuiter
01fcac0726
Configure: make model picker allowlist searchable
2026-02-17 09:15:55 +01:00
cpojer
6264c5e842
chore: Fix types in tests 41/N.
2026-02-17 15:50:07 +09:00
cpojer
ecf1c955a1
chore: Fix types in tests 29/N.
2026-02-17 14:32:43 +09:00
cpojer
d0cb8c19b2
chore: wtf.
2026-02-17 13:36:48 +09:00
Sebastian
ed11e93cf2
chore(format)
2026-02-16 23:20:16 -05:00
Sebastian
4b40bdb98e
fix(telegram): clear offsets on token change
2026-02-16 23:07:26 -05:00
Sebastian
1486eb66fd
revert(gateway): restore loopback auth setup
2026-02-16 22:35:27 -05:00
Sebastian
52b624ccae
fix(doctor): audit env-only gateway tokens
2026-02-16 22:35:27 -05:00
cpojer
245018fd6b
chore: Fix types in tests 21/N.
2026-02-17 12:23:12 +09:00
Sebastian
68634468f5
chore(format): fix test import order
2026-02-16 22:18:03 -05:00
Sebastian
d137f33281
test(status): cover token summary variants
2026-02-16 22:10:07 -05:00
cpojer
7bc783cb03
chore: Fix types in tests 16/N.
2026-02-17 12:00:29 +09:00
cpojer
9c5f08244e
chore: Format files.
2026-02-17 11:37:11 +09:00
Sebastian
f7e75d2c5c
fix(doctor): repair googlechat open dm wildcard auto-fix
2026-02-16 21:25:35 -05:00
cpojer
4b8f53979e
chore: Fix type errors from reverts.
2026-02-17 11:22:49 +09:00
cpojer
058eb85762
chore: Fix types in tests 10/N.
2026-02-17 11:22:49 +09:00
Sebastian
0aa28c71ca
fix(doctor): move forced exit to top-level command
2026-02-16 21:20:05 -05:00
Sebastian
ce4b4d947c
revert(doctor): undo accidental merge of PR #18591
2026-02-16 21:09:49 -05:00
Sebastian
4ca75bed56
fix(models): sync auth-profiles before availability checks
2026-02-16 21:00:59 -05:00
cpojer
01ea808876
chore: Format files.
2026-02-17 10:57:31 +09:00
cpojer
003d6c45d6
chore: Fix types in tests 6/N.
2026-02-17 10:57:31 +09:00
Gustavo Madeira Santana
0d1eceb9cf
Revert "Onboarding: fix webchat URL loopback and canonical session"
...
This reverts commit 59e0e7e4ff .
2026-02-16 20:30:03 -05:00
cpojer
c70597daeb
chore: Fix formatting.
2026-02-17 09:40:00 +09:00
Peter Steinberger
dee0134269
style: reformat dedupe-touched files
2026-02-17 00:32:34 +00:00
Peter Steinberger
ed74f48bd5
refactor(status): share update channel display + one-liner
2026-02-17 00:32:34 +00:00
cpojer
90ef2d6bdf
chore: Update formatting.
2026-02-17 09:18:40 +09:00
Peter Steinberger
32e2c369d7
refactor(agents): extract shared session dir resolver
2026-02-16 23:48:43 +00:00
Peter Steinberger
9f0fc74d10
refactor(model): share normalized provider map lookups
2026-02-16 23:00:32 +00:00
OpenClaw Bot
068260bbea
fix: add api-version query param for Azure verification
2026-02-17 00:00:08 +01:00
OpenClaw Bot
960cc11513
fix: add Azure AI Foundry URL support for custom providers
...
Detects Azure AI Foundry URLs (services.ai.azure.com and
openai.azure.com) and transforms them to include the proper
deployment path (/openai/deployments/<model-id>) required by
Azure's API. This fixes the 400 error when configuring OpenAI
models from Azure AI Foundry.
Fixes openclaw/openclaw#17992
2026-02-17 00:00:08 +01:00
Vishal Doshi
e91a5b0216
fix: release stale session locks and add watchdog for hung API calls ( #18060 )
...
When a model API call hangs indefinitely (e.g. Anthropic quota exceeded
mid-call), the gateway acquires a session .jsonl.lock but the promise
never resolves, so the try/finally block never reaches release(). Since
the owning PID is the gateway itself, stale detection cannot help —
isPidAlive() always returns true.
This commit adds four layers of defense:
1. **In-process lock watchdog** (session-write-lock.ts)
- Track acquiredAt timestamp on each held lock
- 60-second interval timer checks all held locks
- Auto-releases any lock held longer than maxHoldMs (default 5 min)
- Catches the hung-API-call case that try/finally cannot
2. **Gateway startup cleanup** (server-startup.ts)
- On boot, scan all agent session directories for *.jsonl.lock files
- Remove locks with dead PIDs or older than staleMs (30 min)
- Log each cleaned lock for diagnostics
3. **openclaw doctor stale lock detection** (doctor-session-locks.ts)
- New health check scans for .jsonl.lock files
- Reports PID status and age of each lock found
- In --fix mode, removes stale locks automatically
4. **Transcript error entry on API failure** (attempt.ts)
- When promptError is set, write an error marker to the session
transcript before releasing the lock
- Preserves conversation history even on model API failures
Closes #18060
2026-02-16 23:59:22 +01:00
Peter Steinberger
486b7379d4
refactor(test): dedupe doctor harness mock payload factories
2026-02-16 22:55:59 +00:00
Echo
1dfacd4dd1
fix(status): avoid bot+app token warning for mattermost
2026-02-16 23:55:56 +01:00