Commit Graph

230 Commits

Author SHA1 Message Date
Peter Steinberger
a091feae2d test: guard qqbot stt mock calls 2026-05-12 00:36:38 +01:00
Peter Steinberger
d0347f961c test: wait for qqbot queue drain 2026-05-11 17:26:41 +01:00
statxc
5eda2a2bc6 fix(qqbot): align #69546 fix with merged main 2026-05-11 14:19:34 +01:00
statxc
278ffbdb53 fix(qqbot): type active config provider 2026-05-11 14:19:34 +01:00
statxc
d69b663021 fix(qqbot): re-evaluate routing bindings per inbound message
QQBot's gateway captured `ctx.cfg` once at startup and reused that
reference for every inbound, so peer-specific bindings added via the
CLI were ignored until the gateway restarted (the routing resolver
caches evaluated bindings keyed by the cfg object reference).

Add a small `ActiveCfgProvider` that reads `getRuntimeConfig()` from
the plugin SDK on every event and falls back to the startup snapshot
when the runtime registry is not populated, mirroring Telegram's
per-event lookup pattern. Wire it into `handleMessage` so both the
inbound pipeline and outbound dispatch run against the live config.

Fixes #69546.
2026-05-11 14:19:34 +01:00
Peter Steinberger
3b1ad58241 test: tighten telegram gateway assertions 2026-05-11 11:03:44 +01:00
Shakker
ae98568b00 test: tighten qqbot stt request assertions 2026-05-11 10:55:07 +01:00
Shakker
92ff210941 test: tighten qqbot reminder assertions 2026-05-11 10:53:41 +01:00
Shakker
ff3bf53938 test: tighten qqbot setup config assertions 2026-05-11 10:52:39 +01:00
Shakker
5a9e8a29e5 test: tighten qqbot outbound assertions 2026-05-11 10:50:55 +01:00
Shakker
a4e6d00770 test: tighten qqbot quote assertion 2026-05-11 10:49:59 +01:00
Shakker
5e43abe378 test: tighten qqbot attachment assertions 2026-05-11 10:49:05 +01:00
Shakker
c4cd22af0b test: tighten qqbot group config assertion 2026-05-11 10:48:08 +01:00
Shakker
946393a926 test: tighten qqbot policy assertions 2026-05-11 10:47:08 +01:00
Shakker
1941142391 test: tighten qqbot websocket option assertions 2026-05-11 08:40:26 +01:00
Jason Zhou
bfd540bcdf [codex] refresh plugin regression fixtures
Summary:
- Refresh plugin regression fixtures and test-support mocks for guarded network resolution, progress streaming windows, staged TTS output, QQBot STT, and CLI runner assertions.
- Resolve current-main conflicts in Discord, Google video, QQBot STT, and CLI runner tests without changing runtime code.

Verification:
- pnpm check:test-types
- pnpm vitest run $(git diff --name-only origin/main...HEAD)
- git diff --check
- GitHub CI passed, including Real behavior proof, auto-response, ClawSweeper dispatch, CodeQL, and full CI checks.

Co-authored-by: Jason Zhou <22532527+JayZeeDesign@users.noreply.github.com>
2026-05-10 23:44:50 -05:00
Shakker
8ec63b4c10 test: tighten qqbot streaming framework assertion 2026-05-11 02:16:02 +01:00
Peter Steinberger
6346e792c4 build: enable stricter TypeScript checks 2026-05-11 02:04:17 +01:00
brokemac79
a67753cc25 fix(agents): clarify subagent spawn wait guidance (#79051)
Summary:
- Replace the subagent spawn accepted-note yield guidance with push-based completion-event guidance.
- Cover the prompt with regression assertions that keep sessions_yield out of the note.
- Keep current rebased lint/type test helpers green.

Verification:
- pnpm lint
- pnpm check:test-types
- env -u OPENCLAW_TESTBOX -u OPENCLAW_TESTBOX_ID pnpm check:changed

Co-authored-by: brokemac79 <martin_cleary@yahoo.co.uk>
2026-05-10 17:11:32 +01:00
Peter Steinberger
a89634da59 test: clear rebased ci helper typing 2026-05-10 17:06:15 +01:00
Shakker
4702d2bff5 test: clear remaining qqbot broad matchers 2026-05-10 16:34:51 +01:00
Shakker
f61913c310 test: clear qqbot command broad matchers 2026-05-10 16:33:30 +01:00
Shakker
9a14fad901 test: clear qqbot adapter broad matchers 2026-05-10 16:32:28 +01:00
Peter Steinberger
9a7778d8aa fix: declare extension runtime deps 2026-05-10 12:37:10 +01:00
Peter Steinberger
4f32a32ed6 refactor: move rare sdk seams into owners 2026-05-10 12:37:10 +01:00
Peter Steinberger
827b0de0ce refactor: reduce plugin sdk surface 2026-05-10 12:37:10 +01:00
Peter Steinberger
9243b575ed chore(release): prepare 2026.5.10-beta.1 2026-05-10 06:13:38 +01:00
Peter Steinberger
a0fb7fb045 refactor: centralize channel ingress access 2026-05-10 00:18:36 -04:00
brokemac79
877eae9b58 fix(qqbot): preserve framework command source 2026-05-09 20:49:23 -04:00
brokemac79
907ac7e311 fix(qqbot): translate skill descriptions (#78153)
Summary:
- Translate the UI-facing QQBot skill description frontmatter to English.
- Add the changelog entry for #77810.

Validation:
- PR CI status rollup succeeded on 4789487630.
- Reviewed source path: manifest publishes QQBot skills, loader reads frontmatter description, skills.status passes it through, Skills UI renders it.

Thanks @brokemac79 and @eabase.
2026-05-09 20:05:45 -04:00
Peter Lee
f039a9c32c fix(qqbot): route gateway websocket through ambient proxy agent (#72961)
Summary:
- Route QQBot gateway WebSocket creation through the ambient proxy agent.
- Preserve direct WebSocket behavior when no proxy environment is configured.
- Add proxy/no-proxy unit coverage and changelog credit.

Verification:
- pnpm test extensions/qqbot/src/engine/gateway/ws-client.test.ts
- git diff --check origin/main...HEAD
- Testbox: current main a83a8cfa fails pnpm lint:core with unrelated unused-import errors outside this PR diff.

Thanks @xialonglee.
2026-05-09 06:25:16 -04:00
Peter Steinberger
9385eaaf88 chore(release): prepare 2026.5.8 2026-05-09 08:05:17 +01:00
Shakker
c4d05b0dfc test: tighten messaging plugin array assertions 2026-05-09 05:00:33 +01:00
Shakker
67e1f1a6b2 test: tighten plugin config empty assertions 2026-05-09 04:30:16 +01:00
Peter Steinberger
8111ae40c0 test: tighten qqbot symlink assertion 2026-05-09 02:55:01 +01:00
Peter Steinberger
0c2f604051 test: tighten extension helper assertions 2026-05-08 20:57:42 +01:00
Peter Steinberger
beff4dfb58 test: require qqbot queue callbacks 2026-05-08 19:37:28 +01:00
Shakker
d0c1850152 test: tighten qqbot queue assertions 2026-05-08 19:06:37 +01:00
Peter Steinberger
7cc0b21e4d test: restore node 26 test compatibility 2026-05-08 16:52:23 +01:00
Shakker
b1bfb86520 test: tighten qqbot audio assertions 2026-05-08 16:38:01 +01:00
Peter Steinberger
bc720dedaf test: clarify boolean membership assertions 2026-05-08 13:54:10 +01:00
Shakker
d1a482ba0b test: clarify qqbot stt guarded fetch 2026-05-08 10:09:18 +01:00
Peter Steinberger
9ef37d1907 test: tighten assertions and harness coverage 2026-05-08 05:28:12 +01:00
Peter Steinberger
6a4069dead fix: share plugin runtime helpers
Consolidate shared plugin runtime MIME/schema helpers, preserve canonical runtime behavior, and guard QQBot STT fetches.
2026-05-08 00:28:43 +01:00
Peter Steinberger
0b88d6286c chore: bump version to 2026.5.6 2026-05-06 09:47:34 +01:00
Peter Steinberger
b85b1c68d1 Refactor file access to use fs-safe primitives (#78255)
* refactor: use fs-safe primitives across file access

* fix: preserve invalid managed npm manifests

* fix: keep fs seams for startup metadata
2026-05-06 05:03:11 +01:00
Peter Steinberger
ae7c13e284 test: restore current-main test isolation 2026-05-06 03:04:55 +01:00
Peter Steinberger
20163313af fix: resolve fs-safe post-land fallout 2026-05-06 02:41:36 +01:00
Peter Steinberger
538605ff44 [codex] Extract filesystem safety primitives (#77918)
* refactor: extract filesystem safety primitives

* refactor: use fs-safe for file access helpers

* refactor: reuse fs-safe for media reads

* refactor: use fs-safe for image reads

* refactor: reuse fs-safe in qqbot media opener

* refactor: reuse fs-safe for local media checks

* refactor: consume cleaner fs-safe api

* refactor: align fs-safe json option names

* fix: preserve fs-safe migration contracts

* refactor: use fs-safe primitive subpaths

* refactor: use grouped fs-safe subpaths

* refactor: align fs-safe api usage

* refactor: adapt private state store api

* chore: refresh proof gate

* refactor: follow fs-safe json api split

* refactor: follow reduced fs-safe surface

* build: default fs-safe python helper off

* fix: preserve fs-safe plugin sdk aliases

* refactor: consolidate fs-safe usage

* refactor: unify fs-safe store usage

* refactor: trim fs-safe temp workspace usage

* refactor: hide low-level fs-safe primitives

* build: use published fs-safe package

* fix: preserve outbound recovery durability after rebase

* chore: refresh pr checks
2026-05-06 02:15:17 +01:00
Peter Steinberger
05eda57b3c refactor: migrate bundled plugins to message lifecycle 2026-05-06 01:46:42 +01:00