Commit Graph

19830 Commits

Author SHA1 Message Date
Ayaan Zaidi 6626a85dc1 fix(telegram): keep disabled progress hidden in verbose mode
Telegram now treats disabled tool progress as authoritative even when /verbose is enabled. Enabled progress and durable/final messages retain existing behavior.

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
Co-authored-by: Jason O'Neal <jason.allen.oneal@gmail.com>
Co-authored-by: 徐金城0668000897 <xu.jincheng@xydigit.com>
2026-08-10 09:52:19 +05:30
Peter Steinberger 1367e9a79f refactor(packages): collapse duplicate type surfaces (#121340)
* refactor(packages): collapse duplicate type surfaces

* chore(generated): refresh package contract artifacts
2026-08-09 20:45:15 -07:00
Sarah Fortune 176716da74 fix(slack): support native slack approvals on enterprise grid (#120942)
* fix(slack): support Grid native approvals

* test(slack): tighten Grid approval validation

* fix(slack): pass Grid scope to native approvals

* fix(slack): narrow Grid approval event scope

* refactor(slack): centralize optional approval scope

* refactor(slack): reuse approval target formatter

* refactor(slack): use generic target formatter

* refactor(slack): centralize explicit target formatting

---------

Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com>
2026-08-10 03:42:59 +00:00
ClawSweeper eab26ec439 fix(microsoft-foundry): write canonical image model config (#121370)
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-09 20:40:11 -07:00
Peter Steinberger 5d191c3984 fix(agents): exclude private shell output from context compaction (#121147)
* fix(agents): exclude private shell output from context compaction

## What Problem This Solves
Shell executions explicitly excluded from model context could still contribute their private output to session replay, token estimates, compaction boundaries, or branch summaries.

## Why This Change Was Made
The session projection owner now omits context-excluded shell messages, while compaction assigns those messages zero tokens and prevents private persisted entries from becoming retained-history cut boundaries.

## User Impact
Private shell output remains durably recorded for its intended owner without leaking into model-visible conversation context or wasting compaction budget; legitimate retained context remains intact.

## Context
Actual production code executed in an isolated VM reduced more than 20,000 characters of private output to zero model-visible characters while preserving eligible context. New owner and sibling regressions cover replay, compaction, branch summaries, and token accounting. Existing oxfmt formatting and scoped whitespace checks passed.

* test(agents): cover private Codex history projection
2026-08-09 19:50:50 -07:00
Peter Steinberger f44c5e2e5e fix(plugins): surface manifest-only bundled capabilities (#121354)
Use a manifest-first inventory with independent coverage for manifest-only bundled capabilities.

Retire the undocumented thread-ownership plugin while Doctor removes stale references.

Document Talk voice and persist only provider-scoped voice selection.

Closes #121353
2026-08-09 19:43:49 -07:00
Vincent Koc 4ee008a026 fix(qa): reuse one immutable Docker candidate (#121253)
Punchcard-Session: amber-workshop-workshop-36

Co-authored-by: Dallin Romney <6581799+RomneyDa@users.noreply.github.com>
2026-08-10 10:14:24 +08:00
Peter Steinberger 3b641a145e fix: preserve GPT-5 personality through doctor migration (#121346)
Operators who disabled the GPT-5 friendly interaction style now keep that preference after openclaw doctor --fix. Existing OpenAI plugin personality config remains authoritative.
2026-08-09 19:14:08 -07:00
Sarah Fortune 732108d973 feat(slack): add workspace routing for Enterprise Grid actions and events (#121014)
* fix(slack): preserve team scope for deferred actions

* refactor(slack): use typed Bolt team context

* refactor(slack): preserve deferred action IDs

* refactor(slack): treat team IDs as opaque

* refactor(slack): keep deferred action diff focused

* fix(slack): enable scoped enterprise interactions

* fix(slack): keep event scope at listener boundary

* test(slack): model Bolt enterprise interaction context

* refactor(slack): normalize listener team context

* refactor(slack): pass modal event scope directly

* test(slack): preserve interaction harness argument types

* refactor(slack): pass shortcut event scope directly

* refactor(slack): pass action event scope directly

* fix(slack): scope enterprise slash commands

* test(slack): disambiguate slash harness scope

* fix(slack): type slash block suggestions

* fix(slack): preserve option text literal

* fix(slack): keep scope helpers private

* fix(slack): fall back from slash response URLs

* fix(slack): clarify Web API post message call

* fix(slack): scope post message lint suppression

* fix(slack): preserve event scope export after rebase

* fix(slack): preserve team-bound modal session routing

* fix(slack): retain modal direct-message routing

* fix(slack): preserve modal delivery compatibility

* docs(slack): mark enterprise tool actions supported

* docs(slack): align enterprise support with runtime

* test(slack): align enterprise interaction registration

* fix(slack): support Grid channel create and rename events

---------

Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com>
2026-08-10 02:02:15 +00:00
Peter Steinberger f805ad0354 refactor(extensions): remove unused compatibility exports (#121338) 2026-08-09 19:01:38 -07:00
Kevin Lin 96c5aa86f2 fix(codex): keep Slack turns running when a plugin is disabled (#120312)
* fix(codex): isolate plugin activation failures

* fix(codex): report rejected plugin installs

* refactor(codex): isolate app-server RPC errors

* fix(codex): classify terminal plugin install rejections
2026-08-09 18:54:28 -07:00
Peter Steinberger 620fcd0e27 refactor(plugins): make manifests own config ui hints (#121329) 2026-08-09 18:48:49 -07:00
Peter Steinberger ba5895a976 test(discord): remove duplicate inbound context contract (#121318) 2026-08-09 18:28:14 -07:00
Jason (Json) 0b663e7a62 fix(plugins): preserve legacy runtime-doctor imports (#121220)
* fix(plugins): preserve legacy runtime doctor imports

* fix(plugins): map legacy doctor package types
2026-08-09 19:01:49 -06:00
Peter Steinberger 90ae49a5e5 test(telegram): remove vacuous rate-limit assertion (#121292) 2026-08-09 17:53:20 -07:00
Peter Steinberger 15dc3de1ee test(telegram): fix vacuous stale-copy assertions (#121291) 2026-08-09 17:26:31 -07:00
Peter Steinberger 04b110b932 test(zalo): remove private rate-limit size seam (#121290) 2026-08-09 17:22:00 -07:00
Sarah Fortune 6efd013c25 fix(slack): support Grid reaction and pin event listeners (#120944)
* fix(slack): support Grid reaction and pin events

* refactor(slack): isolate system event routing

* test(slack): align Grid event scope fixture

* refactor(slack): pass optional event scope directly

* fix(slack): support Grid member events

---------

Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com>
2026-08-09 17:07:25 -07:00
Peter Steinberger 3bdfd60caa fix(media): accept mixed-case local file URLs (#121226) 2026-08-09 16:40:55 -07:00
Peter Steinberger 727e48240b fix(discord): preserve distinct interaction occurrences (#121155) 2026-08-09 16:37:51 -07:00
Peter Steinberger bd6c6aaef2 refactor(ws): consolidate raw WebSocket payload decoding (#121268)
* refactor(ws): consolidate raw data conversion

* fix(scripts): keep gateway client source-loadable

* refactor(ws): share plugin frame decoding
2026-08-09 16:32:18 -07:00
Peter Steinberger 1c9649afc4 fix(telegram): enforce recursive rich-message transport limits (#117020)
* fix(telegram): enforce recursive rich-message limits

* test(telegram): type rich message assertions

* refactor(telegram): build album fragments without map spread
2026-08-09 16:28:47 -07:00
Peter Steinberger cfb19c7054 fix(telegram): stabilize command menu ordering (#121239)
Preserve custom, native, plugin, and alias precedence while keeping the documented /skill fallback across local and Telegram-driven menu pressure.
2026-08-09 16:08:10 -07:00
Peter Steinberger 0efd5b4bc9 refactor(channels): move owner policy into plugins (#121257)
* refactor(channels): move owner policy into plugins

* test(plugin-sdk): lower surface budget after export removal
2026-08-09 15:46:18 -07:00
Peter Steinberger ce53f7e82e refactor(agents)!: remove the session write lease (#121113)
* refactor(agents): remove session write lease

* refactor(plugin-sdk): deprecate session write lease

* refactor(doctor): remove session lock checks

* test(agents): remove session lease fixtures

* test(agents): align writer rebound assertion

* refactor(infra): remove retired session lock exports

* test(tooling): preserve embedded abort race shard
2026-08-09 15:30:48 -07:00
Vito Cappello 67e653e580 fix(anthropic): reject leaked Claude tool protocol output (#120734)
Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>
2026-08-09 15:30:38 -07:00
Peter Steinberger 6ee409ca7b refactor(commands): share native plugin command merging (#120972) 2026-08-09 14:57:45 -07:00
Peter Steinberger 0ef798d28d fix(gateway): keep hello authorization aligned with RPC access (#120888)
* fix(gateway): separate socket and device token scopes

* chore(i18n): refresh native source baseline

* style(ios): keep gateway channel within lint limit

* refactor(gateway): simplify scope metadata decoding

* ci(ui): isolate real-gateway e2e suites

* docs(ci): align runner table formatting

* chore(plugin-sdk): refresh api baseline

* ci(ui): route real-gateway retries to hosted runners

* chore(plugin-sdk): repair generated api baseline

* test(ui): select Labs toggles by title

* fix(gateway): preserve stored scopes without wire metadata
2026-08-09 14:50:07 -07:00
Peter Steinberger 59ec48439e fix(telegram): preserve topic routing for reactions and poll answers (#121231) 2026-08-09 14:23:19 -07:00
Peter Steinberger 9ede0e9cef test(qa): remove retired scenario migration ledgers (#121229)
* test(qa): remove retired scenario migration ledgers

* fix(deps): pin noVNC dependency exactly
2026-08-09 14:06:03 -07:00
Peter Steinberger 2904bbfc47 test(imessage): exercise chat lookup through runtime boundary (#121205) 2026-08-09 13:33:30 -07:00
Ayaan Gazali 5262874d64 fix(telegram): reuse saved media for quoted replies
Store resolved Telegram media references on observed messages so repeated quoted-photo turns reuse retained bytes instead of downloading them again. Preserve uncached external-reply media for the active turn and keep cache metadata out of model context.

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
Co-authored-by: Ayaan Gazali <ayaangazali.work@gmail.com>
2026-08-10 02:03:01 +05:30
Peter Steinberger c37b53868d feat(memory): enable MMR diversity by default (#121224)
Apply deterministic relevance-biased diversity ordering to builtin hybrid recall and preserve distinct non-tokenized snippets.
2026-08-09 13:30:18 -07:00
Peter Steinberger 690f7d7778 refactor(memory): remove obsolete readonly recovery (#120844) 2026-08-09 13:10:58 -07:00
Peter Steinberger 8dbd30ba74 feat(memory): per-entry glob patterns for extraPaths (#121209)
* feat(memory): support globbed extra paths

Allow root-relative glob patterns on existing memory.search.extraPaths entries across discovery, watching, reindex identity, and QMD migration.

* fix(memory): drop stale lease type import

* fix(memory): enforce extra path glob scope
2026-08-09 13:05:24 -07:00
Sarah Fortune 66dee798b5 Revert "fix: enable Slack native approvals for Enterprise Grid installs (#120…" (#121219)
This reverts commit 96798953b2.
2026-08-09 19:49:35 +00:00
Shakker b3d71c754f fix(clickclack): ignore agent activity inbound events 2026-08-09 20:33:03 +01:00
Shakker 3d80a2f6f2 fix(clickclack): isolate bot loop budgets by thread 2026-08-09 20:33:03 +01:00
Shakker 5a659c624b fix: preserve bot loop retries 2026-08-09 20:33:03 +01:00
Jacqueline Henriksen 762fa6e428 feat(clickclack): allow opt-in bot-to-bot inbound dispatch 2026-08-09 20:33:03 +01:00
Vincent Koc 2e4683ba7f fix(qa): finish aggregate suites without shared cache races (#120816)
* fix(qa): bound parallel aggregate script runs

Punchcard-Session: amber-workshop-workshop-36
Co-authored-by: Dallin Romney <6581799+RomneyDa@users.noreply.github.com>

* test(tui): wait for adopted session frame

Punchcard-Session: amber-workshop-workshop-36

---------

Co-authored-by: Dallin Romney <6581799+RomneyDa@users.noreply.github.com>
2026-08-10 03:32:04 +08:00
Sarah Fortune 96798953b2 fix: enable Slack native approvals for Enterprise Grid installs (#120874)
* fix(slack): scope Grid native approvals by team

* fix(slack): type action middleware context

* fix(slack): secure Grid native approvals

Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com>

---------

Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-09 12:09:59 -07:00
Vincent Koc 05dc2f8ee1 fix(qa): scope Slack capture evidence by channel (#121053)
Punchcard-Session: amber-workshop-workshop-36

Co-authored-by: Dallin Romney <6581799+RomneyDa@users.noreply.github.com>
2026-08-10 03:09:39 +08:00
Vincent Koc 126b5a08e7 fix(qa): resolve live model pairs after auth selection (#121065)
Centralize QA model-pair construction after resolving the actual primary,
preserve explicit and manual single-model selections, and keep omitted
live-frontier alternates on the provider-owned OpenAI Sol/Luna policy.

Punchcard-Session: amber-workshop-workshop-36

Co-authored-by: Dallin Romney <6581799+RomneyDa@users.noreply.github.com>
2026-08-10 02:59:12 +08:00
Peter Steinberger 26e74d8d18 feat(memory): expand conversational recall queries (#121196)
Supplement thin strict FTS candidate pools with bounded keyword probes while keeping embedding calls unchanged.
2026-08-09 11:55:57 -07:00
Peter Steinberger 05cd389cac fix(cloud-workers): make Crabbox provisioning idempotent (#121019)
* fix(cloud-workers): make Crabbox provisioning idempotent

* fix(crabbox): preserve desktop fixed-id warmups
2026-08-09 11:51:34 -07:00
Peter Steinberger 40dbc7a65a test(plugin-sdk): remove repo-local test helper fossils (#121190) 2026-08-09 11:44:18 -07:00
Peter Steinberger 65dc1d0220 fix(telegram): validate command menu language codes (#121098)
* fix(telegram): validate command menu language codes

* fix(telegram): enforce exhaustive menu languages

* fix(telegram): harden command menu locale state
2026-08-09 11:43:48 -07:00
Peter Steinberger af4ffb2e8e fix: exact dated models work after gateway ready (#121119)
* fix(agents): publish exact configured model facts

* fix(agents): keep prepared model completion internal

* fix(agents): scope prepared model plugin lookup

* refactor(agents): split prepared model configured facts

* fix(agents): keep configured catalog types acyclic
2026-08-09 11:23:32 -07:00
Peter Steinberger 1f4740e95f fix(opencode): migrate retired free model refs (#121125)
* fix(opencode): migrate retired free model refs

Repair the shipped beta upgrade path through the provider-owned Doctor contract. Activate the migration from the canonical configured-model selector inventory so every supported selector is covered consistently.

Co-authored-by: samson1357924 <samson1357924@gmail.com>

* fix(opencode): migrate media model preferences

---------

Co-authored-by: samson1357924 <samson1357924@gmail.com>
2026-08-09 11:16:59 -07:00