Commit graph

20903 commits

Author SHA1 Message Date
Peter Steinberger
c4e5ca8625
fix(agents): expose configured MCP tools in Pi profiles 2026-04-23 00:47:37 +01:00
Peter Steinberger
f437d96ae2
fix(config): avoid false reload restarts 2026-04-23 00:44:54 +01:00
Peter Steinberger
c65b232463
fix(amazon-bedrock-mantle): align runtime deps 2026-04-23 00:43:12 +01:00
pashpashpash
ff02563c7c
feat(codex): add guardian app-server mode (#70090)
Reworks the Codex app-server Guardian change into the final landing shape:

- keep YOLO as the default local app-server mode
- add explicit `appServer.mode: "guardian"`
- remove the legacy `OPENCLAW_CODEX_APP_SERVER_GUARDIAN` shortcut
- document Guardian configuration and behavior
- add Guardian event projection and Docker live probes for approved/ask-back decisions

Co-authored-by: pashpashpash <nik@vault77.ai>
2026-04-23 00:25:43 +01:00
Vincent Koc
34e45ecfcc
feat(codex): add llm lifecycle hooks (#70312)
* feat(codex): add llm lifecycle hooks

* fix(codex): close llm hook lifecycle gaps

* fix(codex): dedupe llm hook context

* fix(codex): preserve abort and error hook state
2026-04-22 16:19:59 -07:00
Vincent Koc
a5128777ee
feat(codex): add tool hook parity (#70307)
* feat(codex): add tool hook parity

* fix(codex): stabilize tool hook parity

* fix(codex): tighten transcript hook typing

* fix(codex): preserve mirrored transcript idempotency

* fix(codex): normalize tool hook context
2026-04-22 16:18:10 -07:00
Peter Steinberger
da9700903c
ci: skip no-op changed-scope fanout 2026-04-23 00:16:01 +01:00
Vincent Koc
44965bf63c
fix(diffs): refresh live tool config 2026-04-22 16:14:23 -07:00
Vincent Koc
d686e6f876
fix(hooks): avoid stale active-memory startup fallback 2026-04-22 16:10:01 -07:00
wirjo
18507ed85f
feat(amazon-bedrock-mantle): add Claude Opus 4.7 via per-model Anthropic Messages API override (#68730)
* feat(amazon-bedrock-mantle): add Claude Opus 4.7 via Anthropic auth

* fix(amazon-bedrock-mantle): keep Opus 4.7 transport-safe

* fix(amazon-bedrock-mantle): restore anthropic base url helper

* fix(auto-reply): apply runtime auth to conversation labels

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-22 16:09:39 -07:00
KateWilkins
f342da5fcc
feat: add xai media providers
Add xAI image generation and text-to-speech provider support with docs, live tests, and guarded provider HTTP handling.\n\nThanks @KateWilkins.
2026-04-23 00:07:39 +01:00
Vincent Koc
386a0884d7
fix(hooks): avoid stale lancedb startup fallback 2026-04-22 16:06:55 -07:00
Peter Steinberger
9b1f1036ac
fix(channels): isolate bundled load failures 2026-04-22 23:56:14 +01:00
Vincent Koc
e8b56a9928
feat(codex): add prompt and compaction hooks (#70313)
* feat(codex): add prompt and compaction hooks

* fix(codex): clean prompt and compaction hook tests
2026-04-22 15:56:08 -07:00
Peter Steinberger
ac8495adaa
fix(config): write through single-file includes 2026-04-22 23:53:56 +01:00
wirjo
420c96e7aa
fix(amazon-bedrock-mantle): refresh IAM bearer token via resolveConfigApiKey cache lookup (#68903)
* fix(amazon-bedrock-mantle): refresh IAM bearer token via resolveConfigApiKey cache lookup

The Mantle plugin generates a bearer token from IAM credentials at discovery
time and bakes it as a static string into the provider config. After the
token's cache TTL expires (~1hr), requests fail because resolveConfigApiKey
only handled the explicit AWS_BEARER_TOKEN_BEDROCK env var case.

Fix: expose getCachedIamToken() as a sync read from the existing iamTokenCache,
and wire it into resolveConfigApiKey as a fallback when no explicit env var is
set. The catalog.run still generates/refreshes the token on discovery; this
change ensures the cached token is served at auth resolution time.

Fixes #68900

* fix(amazon-bedrock-mantle): refresh runtime IAM bearer auth

* docs(changelog): note Mantle IAM refresh

* fix(agents): apply runtime auth in simple completion

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-22 15:52:24 -07:00
Devin Robison
2321d67263
fix(gateway): require auth for control ui bootstrap config (#70247)
* fix(gateway): require auth for control ui bootstrap config

* fix(ui): send auth on bootstrap fetch

* fix(ui): keep bootstrap auth same-origin

* fix(ui): refresh bootstrap after auth hello

* docs(changelog): note control ui bootstrap auth

* fix(ui): retry bootstrap auth with alternate shared secret on 401
2026-04-22 16:52:08 -06:00
Peter Steinberger
c87c9742ed
fix(telegram): isolate direct chat sandbox sessions 2026-04-22 23:46:34 +01:00
Peter Steinberger
46fba1d814
docs(config): clarify symlinked config support 2026-04-22 23:45:03 +01:00
Peter Steinberger
2cd3164a0f
feat(providers): share GPT-5 prompt overlay 2026-04-22 23:36:06 +01:00
Peter Steinberger
7b2c9a6fa3
fix(config): recover critical config clobbers 2026-04-22 23:35:48 +01:00
Peter Steinberger
c2ac1e3ef4
feat: expose OpenClaw tools to ACPX 2026-04-22 23:19:20 +01:00
Peter Steinberger
87f8e82347
fix: isolate Codex ACP auth 2026-04-22 23:18:56 +01:00
Peter Steinberger
819ff0463a
fix(config): protect model config merges 2026-04-22 23:18:05 +01:00
Peter Steinberger
f88da75ed9
refactor(channels): centralize runtime binding routes 2026-04-22 23:16:57 +01:00
Devin Robison
b76edc09e6
fix(gateway): reauthorize session history SSE updates (#70237)
* fix(gateway): reauthorize session history SSE updates

* docs(changelog): note session history sse reauth

* fix(gateway): use live proxy config for sse reauth

* fix(gateway): skip unrelated session sse reauth

* fix(gateway): filter sse transcript updates early, log work failures, forward-declare cleanup bindings
2026-04-22 16:11:32 -06:00
Peter Steinberger
a32a6c2f89
fix: stop generating qa npm sidecars 2026-04-22 23:11:01 +01:00
Peter Steinberger
e56a6f87ec
fix: exclude qa extensions from npm package 2026-04-22 22:48:28 +01:00
wirjo
c7e5289fd2
fix: propagate AWS SDK auth sentinel for IMDS/instance role Bedrock auth (#68964)
* fix: propagate AWS SDK auth sentinel for IMDS/instance role Bedrock auth

When Bedrock auth resolves via AWS SDK default credential chain (IMDS,
ECS task role) with no explicit API key, the auth controller returned
early without calling setRuntimeApiKey(). This left pi's authStorage
unaware that the provider is authenticated, causing 'No API key found
for amazon-bedrock' errors.

Now, when mode is 'aws-sdk' and no explicit API key is available:
1. Try prepareProviderRuntimeAuth to resolve runtime credentials
2. If that returns a real apiKey, use it with auth refresh scheduling
3. Otherwise inject a '__aws_sdk_auth__' sentinel so pi's
   hasConfiguredAuth() passes and the AWS SDK handles request signing

This is a focused fix in auth-controller.ts only, avoiding the risky
model-auth-runtime-shared.ts changes that could re-introduce the
fake-apiKey injection pattern on ECS (see prior regressions #49891,
#50699, #54274).

Fixes #62995

* fix(pi-auth): clean up aws-sdk sentinel fallback

* docs(changelog): note aws-sdk Bedrock auth fix

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-22 14:45:26 -07:00
Peter Steinberger
207d7303b7
test: avoid argv warmup race 2026-04-22 22:42:45 +01:00
Vincent Koc
4f9169c6dd
fix(hooks): avoid stale skill workshop startup fallback 2026-04-22 14:39:58 -07:00
Peter Steinberger
6ab3751287
fix: preserve Azure OpenAI completions api version 2026-04-22 22:36:40 +01:00
Peter Steinberger
cb16d22780
fix(cron): retire bundled mcp runtimes 2026-04-22 22:30:47 +01:00
Peter Steinberger
1dc5aad316
test: align matrix acp room binding expectations 2026-04-22 22:30:22 +01:00
Peter Steinberger
8a3e130db8
fix(slack): honor focused thread bindings 2026-04-22 22:29:48 +01:00
Peter Steinberger
5d50b0c48f
fix(config): recover prefixed config JSON 2026-04-22 22:29:01 +01:00
Peter Steinberger
77dbc1cda6
ci: rebalance test workers 2026-04-22 22:26:02 +01:00
Vincent Koc
65ae1e54de
fix(hooks): avoid stale thread ownership startup fallback 2026-04-22 14:19:13 -07:00
Peter Steinberger
50c95d1d21
refactor(channels): centralize conversation resolution 2026-04-22 22:16:08 +01:00
Vincent Koc
f1372681a8
fix(diffs): refresh live viewer access policy 2026-04-22 14:14:30 -07:00
Peter Steinberger
0588dfe15d
fix(config): parse quoted bracket paths 2026-04-22 22:11:45 +01:00
Peter Steinberger
a971884104
test(mcp): strengthen stdio lifecycle coverage 2026-04-22 22:11:30 +01:00
Peter Steinberger
a1319aaadd
fix(update): skip package no-op installs 2026-04-22 22:05:29 +01:00
Peter Steinberger
64fb6f71b4
fix(gateway): recover invalid config before startup 2026-04-22 22:05:29 +01:00
Peter Steinberger
f70a46b703
fix(config): preserve authored config writes 2026-04-22 22:05:29 +01:00
Peter Steinberger
5f7b44045d
fix(mcp): tear down stdio process trees 2026-04-22 22:04:22 +01:00
Peter Steinberger
2c45879120
fix(config): render warning newlines 2026-04-22 22:04:09 +01:00
Peter Steinberger
b6fbf46eca
fix(cron): repair malformed cron job ids via doctor 2026-04-22 22:03:58 +01:00
Peter Steinberger
2e38e09b04
test: harden parallels smoke harness 2026-04-22 22:01:04 +01:00
Vincent Koc
0f0d399c71
fix(hooks): stop memory-core runtime config fallback 2026-04-22 13:57:10 -07:00