Peter Steinberger
a7727b1fcd
test: tighten secrets runtime assertions
2026-05-09 13:18:06 +01:00
Peter Steinberger
7e7d72f781
test: tighten secrets warning assertions
2026-05-09 13:16:49 +01:00
Shakker
f35dbcc328
test: tighten security empty array assertions
2026-05-09 05:09:12 +01:00
Shakker
80a2b4471e
test: tighten media empty array assertions
2026-05-09 04:46:49 +01:00
Peter Steinberger
56fa80d334
test: simplify secret coverage path parsing
2026-05-08 23:52:54 +01:00
Peter Steinberger
edfc5294cb
test: avoid line count filter allocations
2026-05-08 22:13:46 +01:00
Peter Steinberger
9bc8237f7b
test: avoid filter allocation assertions
2026-05-08 21:26:50 +01:00
Peter Steinberger
150ded8f27
test: tighten core capture assertions
2026-05-08 20:44:46 +01:00
Peter Steinberger
a632a68c55
test: tighten core helper assertions
2026-05-08 20:41:57 +01:00
Shakker
b3aea2eab8
test: tighten provider env metadata assertion
2026-05-08 19:50:41 +01:00
Shakker
83fa0cda3b
test: tighten external channel runtime assertion
2026-05-08 19:49:22 +01:00
Shakker
e8023c85a7
test: tighten secrets fast path assertion
2026-05-08 19:48:02 +01:00
Shakker
1359d09e05
test: tighten matrix shadowing assertion
2026-05-08 19:46:03 +01:00
Shakker
b7359a74a7
test: tighten telegram inactive runtime assertion
2026-05-08 19:44:52 +01:00
Shakker
1eb876ff8f
test: tighten zalo token runtime assertions
2026-05-08 19:43:41 +01:00
Shakker
7a877750b4
test: tighten plugin config collector assertions
2026-05-08 19:42:13 +01:00
Shakker
950cdfdaf4
test: tighten runtime web tools assertions
2026-05-08 19:40:30 +01:00
Shakker
a9e322c4c1
test: tighten secret target registry assertion
2026-05-08 19:39:29 +01:00
Shakker
d213397b1d
test: tighten channel secret contract assertions
2026-05-08 19:38:11 +01:00
Shakker
4239c15085
test: tighten secrets plan assertions
2026-05-08 19:37:00 +01:00
Peter Steinberger
1ecc1e899e
test: require active secrets snapshot
2026-05-08 17:42:21 +01:00
Shakker
1b16944eb4
test: tighten gateway auth snapshot assertion
2026-05-08 17:11:33 +01:00
Shakker
14a9164e39
test: tighten secret fast path assertion
2026-05-08 16:34:23 +01:00
Shakker
590363cb93
test: tighten secret target assertions
2026-05-08 16:33:39 +01:00
the sun gif man
954d20ece2
fix: allow Nix store plugin hardlinks ( #79344 )
...
Merged via squash.
Prepared head SHA: bf533f8654
Co-authored-by: Codex <noreply@openai.com >
Reviewed-by: @joshp123
2026-05-08 16:59:53 +02:00
Peter Steinberger
270421f3da
test: clarify secrets audit findings
2026-05-08 13:57:08 +01:00
Peter Steinberger
ba675d8964
test: clarify secrets warning assertion
2026-05-08 09:21:23 +01:00
Peter Steinberger
9ef37d1907
test: tighten assertions and harness coverage
2026-05-08 05:28:12 +01:00
Vincent Koc
c97998ce21
chore(channels): remove bluebubbles bundled surface
2026-05-07 12:52:48 -07:00
Peter Steinberger
8b701ce1c7
fix: repair ci regressions
2026-05-07 11:46:21 +01:00
Peter Steinberger
330ba1fa31
refactor: move canvas to plugin surfaces
2026-05-07 09:07:18 +01:00
Peter Steinberger
2e78fc57af
fix: accept aws-sdk auth profiles
2026-05-07 08:09:55 +01:00
Shakker
835b884606
fix: guard provider env metadata reuse
2026-05-07 06:48:13 +01:00
Shakker
156068a3cf
fix: keep secret target cache unscoped
2026-05-07 06:48:13 +01:00
Shakker
fb49bcaf21
perf: reuse metadata for auth lookups
2026-05-07 06:10:05 +01:00
Shakker
3dffef651b
fix: reuse turn plugin metadata snapshot
2026-05-06 17:33:46 +01:00
Peter Steinberger
9bcb56b45b
test(perf): narrow runtime web tools state test
2026-05-06 11:54:13 +01:00
Chunyue Wang
34b67c3f25
fix(web_search): skip redundant provider re-resolution for external Brave plugin
...
Guards the secondary resolveProviders call with `!allProviders.some(p => p.id === rawProvider)` so it only fires when the first pass genuinely missed the configured provider. Eliminates the spurious `WEB_SEARCH_PROVIDER_INVALID_AUTODETECT` warning and incorrect `providerSource: "none"` for external Brave plugin installs. Fixes #77676 .
2026-05-06 17:45:20 +08:00
Peter Steinberger
ce8b0da9a2
test: slim secret runtime coverage
2026-05-06 09:33:28 +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
Vincent Koc
1ff07517b0
test(secrets): trust source plugin contracts in coverage
2026-05-05 15:30:25 -07:00
Peter Steinberger
35da7d2c99
refactor: remove legacy agent dir resolver
2026-05-05 20:07:49 +01:00
Brandon
e2e0908055
fix(secrets): preserve auth profile key refs during provider scrub ( #77489 )
...
* fix(secrets): preserve auth profile key refs during provider scrub
* Add changelog for secrets apply fix
* Seed auth profile ref for scrub regression
* fix(secrets): guard auth profile ref scrub
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-05-04 19:50:39 -05:00
Mogglemoss
43b5df7295
fix(secretrefs): resolve external channel contracts in dist/ sidecars ( #77421 )
...
* fix(secretrefs): resolve external channel contracts in dist/ sidecars
Externalized channel plugins published to npm (e.g. @openclaw/discord
since 2026.5.2) keep their compiled secret-contract-api artifact under
<rootDir>/dist/, per the package.json `openclaw.runtimeExtensions`
convention. The runtime contract loader added in #76449 only searched
the rootDir, so npm-installed plugins silently dropped their channel
SecretRef contracts: the runtime snapshot left `channels.<id>.token`
as an unresolved SecretRef, the plugin's `isConfigured` check then
returned false, and the gateway recorded `error: not configured`
without firing the usual channel startup logs.
Look in `<rootDir>/dist/` as well as `<rootDir>/`, preferring dist
when running from a built openclaw artifact and rootDir when running
from source. The new `loads dist/ secret-contract-api sidecars …`
test in channel-contract-api.external.test.ts mirrors the real
npm-package layout and fails without this change.
Refs #76371 . Fixes #77416 .
* docs: credit changelog contributor
---------
Co-authored-by: Magpie <magpie@local>
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com >
2026-05-04 16:57:28 -05:00
Peter Steinberger
0031ef3120
refactor: keep legacy secretref migration in doctor
2026-05-03 13:10:00 +01:00
Peter Steinberger
45a5374ca8
perf: reduce raw gateway config startup work
2026-05-03 13:03:11 +01:00
Peter Steinberger
1584acb124
fix(secrets): stabilize credential matrix docs
2026-05-03 12:25:08 +01:00
Vincent Koc
f9a1f86e64
test(secrets): audit external channel SecretRefs ( #76589 )
2026-05-03 02:17:41 -07:00
Josh Avant
b1f8172867
fix(secretrefs): resolve external channel contracts ( #76449 )
2026-05-02 23:48:11 -05:00
Peter Steinberger
c58319ff50
fix: tolerate sparse plugin metadata snapshots
2026-05-02 08:19:40 +01:00