Peter Steinberger
7934a2390c
fix: clean up extension ci failures
2026-05-02 05:16:25 +01:00
Peter Steinberger
9f4921c1cd
build: prepare next external plugin beta batch
2026-05-02 05:16:10 +01:00
Peter Steinberger
87f43ca88c
fix: trust official source-linked ClawHub plugins
2026-05-02 05:16:10 +01:00
Peter Steinberger
374529d612
fix(slack): retry transient dns send failures
2026-05-02 05:15:44 +01:00
Peter Steinberger
ed6df7dd8b
fix(gemini): reuse google provider config for web search
2026-05-02 05:15:02 +01:00
Peter Steinberger
7dc5b9484f
refactor: parse session reads without manager
2026-05-02 05:14:50 +01:00
Peter Steinberger
c76ee644c2
fix(discord): consume component panels once
2026-05-02 05:09:38 +01:00
Peter Steinberger
37a253834a
fix: keep slack status reactions in tool-only rooms
2026-05-02 05:08:57 +01:00
Peter Steinberger
3e2a2c7b74
fix(slack): normalize route binding targets
2026-05-02 05:08:39 +01:00
Peter Steinberger
ee94d21f1f
refactor: fork parent sessions asynchronously
2026-05-02 05:08:36 +01:00
Peter Steinberger
a7237ea44f
refactor: keep chat display limiter private
2026-05-02 05:08:07 +01:00
Peter Steinberger
4cca1b2399
fix: preserve formatted channel startup logs
2026-05-02 05:05:08 +01:00
Peter Steinberger
614a294afa
refactor: trim contract helper exports
2026-05-02 05:03:37 +01:00
Peter Steinberger
78010b65ed
refactor: async export file io
2026-05-02 05:03:02 +01:00
Peter Steinberger
f43a184103
refactor: centralize plugin cache primitives
2026-05-02 05:01:39 +01:00
Peter Steinberger
20333bd58d
fix(gemini): pass search time filters
2026-05-02 05:00:35 +01:00
Peter Steinberger
e93ff249b0
fix: preserve manual cli session attachments
2026-05-02 04:57:19 +01:00
Peter Steinberger
096b91cb3b
fix(slack): send proactive dm text directly
2026-05-02 04:57:01 +01:00
Peter Steinberger
c89da2a606
fix: reduce idle liveness warning noise
2026-05-02 04:56:47 +01:00
Peter Steinberger
16d8dcbcfc
fix(discord): skip disabled reaction listeners
2026-05-02 04:56:13 +01:00
Peter Steinberger
09c0b138a3
fix(duckduckgo): show search provider in setup
2026-05-02 04:54:44 +01:00
Peter Steinberger
e73c6ff609
refactor: trim channel contract registry helpers
2026-05-02 04:52:31 +01:00
Peter Steinberger
e65b490f11
fix(telegram): stream plain reply drafts
2026-05-02 04:51:46 +01:00
Peter Steinberger
2f828dbde9
fix: chunk telegram markdown sends
2026-05-02 04:48:16 +01:00
Peter Steinberger
332df49d2c
fix(telegram): fail soft on benign delete errors
2026-05-02 04:47:39 +01:00
Peter Steinberger
67fd3bfca2
fix(slack): preserve api scope errors
2026-05-02 04:46:59 +01:00
Peter Steinberger
c51c83955d
fix: stabilize remote test regressions
2026-05-02 04:46:45 +01:00
Peter Steinberger
f2e03c15c1
refactor: consolidate plugin cache helpers
2026-05-02 04:46:06 +01:00
Peter Steinberger
b08220446a
refactor(agents): append text turns asynchronously
2026-05-02 04:45:55 +01:00
Peter Steinberger
a93ce361ab
refactor: trim secondary test helper exports
2026-05-02 04:45:51 +01:00
Dallin Romney
c8fe007c42
fix: dedupe config future-version warning per process ( #75927 )
2026-05-02 11:45:46 +08:00
Ayaan Zaidi
3f766c8c62
fix: normalize MCP empty tool schemas ( #75401 ) (thanks @SymbolStar)
2026-05-02 09:14:57 +05:30
jindongfu
1890d96680
fix(mcp): normalize empty parameter-free tool schema before sending to OpenAI ( #75362 )
...
MCP servers may return inputSchema as { type: "object" } without a
properties field, or with properties set to undefined/null. The
hasTopLevelObjectSchema guard only checked 'properties' in schemaRecord
(key existence) without verifying the value is a real object. This caused
such schemas to pass through unnormalized, resulting in OpenAI rejecting
them with 'object schema missing properties'.
Fix: tighten hasTopLevelObjectSchema to require properties to be a
non-null object, and broaden isTypedSchemaMissingProperties to catch
properties keys with undefined/null values.
Regression of #60158 (originally fixed by #60176 ).
2026-05-02 09:14:57 +05:30
Peter Steinberger
42cdd0bdf4
docs(brave): redirect legacy search page
2026-05-02 04:42:55 +01:00
Peter Steinberger
25ca2fcda4
fix(media): trim json suffixes from media paths
2026-05-02 04:42:09 +01:00
Peter Steinberger
36671719e6
fix: import claude cli history for anthropic sessions
2026-05-02 04:41:35 +01:00
Peter Steinberger
10256b6da4
fix(brave): use canonical docs URL
2026-05-02 04:41:20 +01:00
Peter Steinberger
1a796b9700
refactor: trim channel contract test helpers
2026-05-02 04:39:56 +01:00
Peter Steinberger
4397be1a24
fix(web-search): support Brave llm-context date filters
2026-05-02 04:39:34 +01:00
Peter Steinberger
5c33564eb8
refactor: trim trigger harness exports
2026-05-02 04:34:16 +01:00
Peter Steinberger
ac58dc2e92
fix(doctor): warn on missing channel env tokens
2026-05-02 04:29:27 +01:00
Peter Steinberger
d2f623d560
refactor: trim reply payload type barrel
2026-05-02 04:29:08 +01:00
Peter Steinberger
d964488a23
fix(slack): keep top-level dms on stable session
2026-05-02 04:26:38 +01:00
Peter Steinberger
9c307a3a50
fix: tolerate malformed cron schedule reloads
2026-05-02 04:26:01 +01:00
Peter Steinberger
65404ceabb
fix: avoid stale provider policy alias cache
2026-05-02 04:24:54 +01:00
Peter Steinberger
1f26a7821f
refactor: trim unused reply test helpers
2026-05-02 04:24:30 +01:00
Peter Steinberger
912f6693ac
fix(release): stabilize full validation harness lanes
2026-05-02 04:22:14 +01:00
Peter Steinberger
9e46fe148c
refactor: remove unused test utilities
2026-05-02 04:19:58 +01:00
Peter Steinberger
2b9b133285
fix(discord): avoid startup rest amplification
2026-05-02 04:19:24 +01:00
Peter Steinberger
ebe8f615e5
fix: reject agent-scoped model default writes
2026-05-02 04:19:11 +01:00