mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-25 08:45:23 +00:00
* feat(gateway): session worktree targeting, branch listing, and group catalog
- sessions.create accepts worktreeBaseRef/worktreeName (write scope) and
execNode (admin); worktree binding persists on the session entry as
worktree { id, branch, repoRoot } and projects onto session rows with
execNode so UIs can show checkout/branch/node state
- new worktrees.branches RPC lists local/remote branches (no fetch) for
base-ref pickers; worktrees.remove now reports snapshotError
- sessions.delete reports preserved dirty checkouts as worktreePreserved
- gateway-owned session group catalog in the shared state DB with
sessions.groups.list/put/rename/delete; rename/delete update member
categories server-side without bumping recency; sessions.patch absorbs
ad-hoc categories into the catalog
- group session display names prefer the human chat title (subject or
space #channel) over stored compact tokens
Part of #103431
* fix(gateway): route group category updates through the session accessor and regen protocol models
- bulk member-category rename/clear uses applySessionEntryReplacements
instead of legacy updateSessionStore call sites (session accessor
boundary guard)
- regenerate Swift GatewayModels for the worktrees.branches schemas,
snapshotError, and new sessions.create params
Part of #103431
* fix(gateway): resolvable remote branch refs and workspace-scoped branch listing
- worktrees.branches returns remote-only branches remote-qualified
(origin/feature-a) so every advertised name works as a worktree base ref
- write-scoped worktrees.branches callers are limited to configured agent
workspaces; other host paths require operator.admin, matching the
sessions.create cwd bar
Part of #103431
* fix(gateway): guard worktree name reuse by owner and env-scope group transactions
- managedWorktrees.create rejects a caller-chosen name whose live or
restorable record belongs to a different owner, so write-scoped
sessions.create cannot bind a session into another session's or a
manual checkout
- session group catalog writes run their SQLite transaction on the same
env-scoped handle as their statements, keeping OPENCLAW_STATE_DIR
overrides atomic and away from the default state DB
Part of #103431
|
||
|---|---|---|
| .. | ||
| active-memory.md | ||
| agent-loop.md | ||
| agent-runtimes.md | ||
| agent-workspace.md | ||
| agent.md | ||
| architecture.md | ||
| channel-docking.md | ||
| commitments.md | ||
| compaction.md | ||
| context-engine.md | ||
| context.md | ||
| delegate-architecture.md | ||
| dreaming.md | ||
| experimental-features.md | ||
| features.md | ||
| managed-worktrees.md | ||
| mantis-slack-desktop-runbook.md | ||
| mantis.md | ||
| markdown-formatting.md | ||
| memory-builtin.md | ||
| memory-honcho.md | ||
| memory-qmd.md | ||
| memory-search.md | ||
| memory.md | ||
| message-lifecycle-refactor.md | ||
| messages.md | ||
| model-failover.md | ||
| model-providers.md | ||
| models.md | ||
| multi-agent.md | ||
| oauth.md | ||
| parallel-specialist-lanes.md | ||
| personal-agent-benchmark-pack.md | ||
| presence.md | ||
| progress-drafts.md | ||
| qa-e2e-automation.md | ||
| qa-matrix.md | ||
| queue-steering.md | ||
| queue.md | ||
| retry.md | ||
| session-pruning.md | ||
| session-tool.md | ||
| session.md | ||
| soul.md | ||
| streaming.md | ||
| system-prompt.md | ||
| timezone.md | ||
| typebox.md | ||
| typing-indicators.md | ||
| usage-tracking.md | ||