Skip to content

Commit 0f916a4

Browse files
committed
Merge remote-tracking branch 'origin/main' into pr-110918-prep
# Conflicts: # CHANGELOG.md
2 parents 825eb18 + 01c6479 commit 0f916a4

121 files changed

Lines changed: 5053 additions & 454 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ Skills own workflows; root owns hard policy and routing.
233233
- No surprise GH writes: chat must mention every posted/updated public comment with URL.
234234
- GH comments with backticks, `$`, or shell snippets: use heredoc/body file, not inline double-quoted `--body`.
235235
- PR create: real body required. Use the current template: `What Problem This Solves`, `Why This Change Was Made`, `User Impact`, and `Evidence`; include visible refs, behavior, and validation.
236-
- PR create races GitHub's merge-ref computation: the pull_request-open CI run can drop entirely or die as `startup_failure`/`BuildFailed` (`(Unknown event)`, not rerunnable). After opening, verify the CI workflow attached to the head SHA; if missing, close/reopen the PR to re-fire the event.
236+
- PR create races GitHub's merge-ref computation: the pull_request-open CI run can drop entirely or die as `startup_failure`/`BuildFailed` (`(Unknown event)`, not rerunnable). Prevention: `gh pr create --draft`, poll `mergeable` non-null, then `gh pr ready`. After opening, verify the CI workflow attached to the head SHA; if missing, the hourly `pr-ci-sweeper` re-fires it, or close/reopen manually.
237237
- PR create/refresh: keep PR branches takeover-ready. Use a branch maintainers can push to, or for fork PRs ensure `maintainer_can_modify` / GitHub's `Allow edits by maintainers` is enabled unless explicitly told otherwise or GitHub's Actions/secrets warning makes that unsafe.
238238
- GitHub issue/PR create: read `$agent-transcript`; ask about sanitized transcript logs when available.
239239
- Contributor PRs: parsed context requires authored `What Problem This Solves` and `Evidence` sections. Do not require field-level proof forms; reviewers inspect code, tests, and CI for correctness.

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ Docs: https://docs.openclaw.ai
4343
### Fixes
4444

4545
- **Reef startup reconciliation:** contain retryable relay failures during startup without supervisor restart loops, while preserving definitive-error and cancellation handling. Thanks @Yigtwxx.
46+
- **Codex stale-session replies:** stop model fallback after another gateway supersedes a Codex session generation and deliver a safe retry notice instead of abandoning the message silently.
4647
- **Bounded input and provider responses:** cap pasted auth/config input and enforce wall-clock deadlines across generated-media downloads, polling JSON, and failed response details so oversized or slow-drip streams cannot exceed resource budgets (thanks @Pick-cat).
4748
- **Cloud worker derived workspace caches:** exclude Python caches, dependency trees, and macOS metadata symmetrically from outbound sync and inbound reconciliation so local cache rewrites cannot fence later cloud results or worker reclaim.
4849
- **Codex model status diagnostics:** report a configured Codex route as unavailable when its harness plugin is disabled, missing, or quarantined, while preserving the separate credential result and making `models status --check` fail instead of silently treating fallback execution as healthy. Thanks @shakkernerd.

apps/shared/OpenClawKit/Sources/OpenClawProtocol/GatewayModels.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14043,6 +14043,7 @@ public struct ChatSendParams: Codable, Sendable {
1404314043
public let originatingto: String?
1404414044
public let originatingaccountid: String?
1404514045
public let originatingthreadid: String?
14046+
public let replytoid: String?
1404614047
public let attachments: [AnyCodable]?
1404714048
public let toolbindings: [String: AnyCodable]?
1404814049
public let timeoutms: Int?
@@ -14066,6 +14067,7 @@ public struct ChatSendParams: Codable, Sendable {
1406614067
originatingto: String? = nil,
1406714068
originatingaccountid: String? = nil,
1406814069
originatingthreadid: String? = nil,
14070+
replytoid: String? = nil,
1406914071
attachments: [AnyCodable]? = nil,
1407014072
toolbindings: [String: AnyCodable]? = nil,
1407114073
timeoutms: Int? = nil,
@@ -14088,6 +14090,7 @@ public struct ChatSendParams: Codable, Sendable {
1408814090
self.originatingto = originatingto
1408914091
self.originatingaccountid = originatingaccountid
1409014092
self.originatingthreadid = originatingthreadid
14093+
self.replytoid = replytoid
1409114094
self.attachments = attachments
1409214095
self.toolbindings = toolbindings
1409314096
self.timeoutms = timeoutms
@@ -14111,6 +14114,7 @@ public struct ChatSendParams: Codable, Sendable {
1411114114
originatingto: String? = nil,
1411214115
originatingaccountid: String? = nil,
1411314116
originatingthreadid: String? = nil,
14117+
replytoid: String? = nil,
1411414118
attachments: [AnyCodable]? = nil,
1411514119
toolbindings: [String: AnyCodable]? = nil,
1411614120
timeoutms: Int? = nil,
@@ -14134,6 +14138,7 @@ public struct ChatSendParams: Codable, Sendable {
1413414138
originatingto: originatingto,
1413514139
originatingaccountid: originatingaccountid,
1413614140
originatingthreadid: originatingthreadid,
14141+
replytoid: replytoid,
1413714142
attachments: attachments,
1413814143
toolbindings: toolbindings,
1413914144
timeoutms: timeoutms,
@@ -14158,6 +14163,7 @@ public struct ChatSendParams: Codable, Sendable {
1415814163
case originatingto = "originatingTo"
1415914164
case originatingaccountid = "originatingAccountId"
1416014165
case originatingthreadid = "originatingThreadId"
14166+
case replytoid = "replyToId"
1416114167
case attachments
1416214168
case toolbindings = "toolBindings"
1416314169
case timeoutms = "timeoutMs"

docs/.generated/plugin-sdk-api-baseline.sha256

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ e5e67ddf3cab38fcbf9220bc3160715897e2709d9a9ff6ff36f1ecc9453c2367 module/agent-c
1313
30452bae2a689fb75dcb6dba9ef11e5b95f9cbe0c62eb190a0fcb82d0a19ae52 module/agent-core
1414
74daa746deb548379d3f0d6eac3c4d082df1034c4360cc03bf51fee0f10a2e4d module/agent-harness
1515
e09226afd443cee02ed648f032f53bfeb60585617bb523a649995764d3c38da9 module/agent-harness-exec-review-runtime
16-
b4360e05090c276641edd472d29e504828b59de335e9d5711d67053c7d0f7bd5 module/agent-harness-runtime
16+
70ef942580775468e52798ae82ee1084d3f407d76f279c9b3570b258b0ccbd5a module/agent-harness-runtime
1717
ec22d7a039fb58d0b8343ad149322960d3d8ca58b3f4c70f2fa8a099f8186d0c module/agent-harness-task-runtime
1818
5f63bf587bf3547d59d0dc5d0dc2fee54745aa6edaab4aa3ae700dba03443edb module/agent-harness-tool-runtime
1919
5168648cd946abad8a92822889f13ceacc87ed502314a66190d0b1eb8ebe76ea module/agent-media-payload

docs/docs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1752,6 +1752,7 @@
17521752
"web/index",
17531753
"web/control-ui",
17541754
"web/dashboard",
1755+
"web/dashboard-architecture",
17551756
"web/webchat",
17561757
"web/tui",
17571758
"web/lobster"

docs/docs_map.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10551,6 +10551,26 @@ Do not edit it by hand; run `pnpm docs:map:gen`.
1055110551
- H2: Debugging/testing: dev server + remote Gateway
1055210552
- H2: Related
1055310553

10554+
## web/dashboard-architecture.md
10555+
10556+
- Route: /web/dashboard-architecture
10557+
- Headings:
10558+
- H2: Vision
10559+
- H2: Concepts
10560+
- H2: UX flows
10561+
- H2: Interaction tiers
10562+
- H2: Widget model and hosting
10563+
- H3: Widgets host content; MCP apps are one content kind
10564+
- H3: Transcript display: one widget card
10565+
- H3: Server-sourced widgets (pinned MCP apps)
10566+
- H2: Layout: fluid grid
10567+
- H2: Data model (per-agent DB)
10568+
- H2: Protocol surface
10569+
- H2: Agent tools
10570+
- H2: What this replaces
10571+
- H2: Non-goals (this program)
10572+
- H2: Implementation plan
10573+
1055410574
## web/dashboard.md
1055510575

1055610576
- Route: /web/dashboard

docs/gateway/config-tools.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ sidebarTitle: "Tools and custom providers"
2020
Local onboarding defaults new local configs to `tools.profile: "coding"` when unset (existing explicit profiles are preserved).
2121
</Note>
2222

23-
| Profile | Includes |
24-
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
25-
| `minimal` | `session_status` only |
26-
| `coding` | `group:fs`, `group:runtime`, `group:web`, `group:sessions`, `group:memory`, `cron`, `get_goal`, `create_goal`, `update_goal`, `update_plan`, `skill_workshop`, `image`, `image_generate`, `music_generate`, `video_generate` |
27-
| `messaging` | `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status` |
28-
| `full` | No restriction (same as unset) |
23+
| Profile | Includes |
24+
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
25+
| `minimal` | `session_status` only |
26+
| `coding` | `group:fs`, `group:runtime`, `group:web`, `group:sessions`, `group:memory`, `cron`, `get_goal`, `create_goal`, `update_goal`, `update_plan`, `ask_user`, `skill_workshop`, `image`, `image_generate`, `music_generate`, `video_generate` |
27+
| `messaging` | `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status`, `ask_user` |
28+
| `full` | No restriction (same as unset) |
2929

3030
`coding` and `messaging` also implicitly allow `bundle-mcp` (configured MCP servers).
3131

@@ -42,7 +42,7 @@ Local onboarding defaults new local configs to `tools.profile: "coding"` when un
4242
| `group:automation` | `heartbeat_respond`, `cron`, `gateway` |
4343
| `group:messaging` | `message` |
4444
| `group:nodes` | `nodes`, `computer` |
45-
| `group:agents` | `agents_list`, `get_goal`, `create_goal`, `update_goal`, `update_plan`, `skill_workshop` |
45+
| `group:agents` | `agents_list`, `get_goal`, `create_goal`, `update_goal`, `update_plan`, `ask_user`, `skill_workshop` |
4646
| `group:media` | `image`, `image_generate`, `music_generate`, `video_generate`, `tts` |
4747
| `group:openclaw` | All built-in tools above except `read`/`write`/`edit`/`apply_patch`/`exec`/`process`/`canvas` (excludes plugin tools) |
4848
| `group:plugins` | Tools owned by loaded plugins, including configured MCP servers exposed through `bundle-mcp` |

docs/gateway/secrets.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -615,7 +615,7 @@ Behavior:
615615
- Recovered: emitted once after the next successful activation.
616616
- Repeated failures while already degraded log warnings but do not re-emit the event.
617617
- Startup fail-fast never emits a degraded event, because runtime never became active.
618-
- Startup and reload failures emit a structured `SECRETS_DEGRADED` warning for each affected owner. The warning includes the owner kind and id, a redacted reason, `cold` or `stale` state, and the `openclaw secrets reload` retry hint. It never includes resolved values or SecretRef ids.
618+
- Ref-scoped startup and reload failures emit a structured `SECRETS_DEGRADED` warning for each affected owner. Provider-scoped outages emit one `SECRETS_PROVIDER_DEGRADED` warning with the provider and complete affected-owner list instead of repeating the provider failure per owner. Warnings include a redacted reason, `cold` or `stale` owner state, and the `openclaw secrets reload` retry hint. They never include resolved values or SecretRef ids.
619619
- `openclaw doctor` lists cold and stale owners with their affected config paths, redacted reason, and retry guidance.
620620

621621
## Command-path resolution

0 commit comments

Comments
 (0)