fix: route subagent announce through correct agent in delegation context#124
Closed
duhd-vnpay wants to merge 6 commits intonextlevelbuilder:mainfrom
Closed
fix: route subagent announce through correct agent in delegation context#124duhd-vnpay wants to merge 6 commits intonextlevelbuilder:mainfrom
duhd-vnpay wants to merge 6 commits intonextlevelbuilder:mainfrom
Conversation
…ing, photo handling - Fix zaloBotInfo to use account_name/display_name (not name) - Add Label() method for bot display name resolution - Handle 3 response formats in getUpdates: array, single object, wrapped - Add photo_url field to zaloMessage for Zalo CDN image URLs - Add display_name/is_bot to zaloFrom, chat_type to zaloChat - Use PhotoURL with fallback to Photo in handleImageMessage Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ssing Zalo CDN URLs are auth-restricted and expire quickly, causing read_image tool failures. Now downloads photos to temp files (like Telegram channel) so the agent pipeline can base64-encode and process them normally. Falls back to passing the URL directly if download fails. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… instance updates When encryption key is empty, credentials stayed as map[string]any from JSON unmarshal, causing pgx driver to fail encoding into bytea. Now credentials are always marshaled to []byte regardless of encryption. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Party Mode to GoClaw: structured multi-persona AI discussions with Standard (single LLM call), Deep (parallel thinking + cross-talk), and Token-Ring (sequential turns) modes. Backend: PartyStore + PG implementation, party engine with parallel goroutines, 7 RPC methods (party.start/round/question/add_context/ summary/exit/list), 10 WebSocket events, migration 000014. Frontend: React dashboard page with session list, chat view, persona sidebar, mode controls, start dialog with 6 team presets, i18n (en/vi/zh). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Previously, sanitizeHistory() only cleaned the in-memory copy for each LLM request but never persisted the fix — causing the same "dropping orphaned tool message" WARN to repeat on every single request forever. Changes: - sanitizeHistory() now returns drop count alongside cleaned messages - When orphans are detected, cleaned history is persisted back to the session store via new SetHistory() method, then saved to DB - Per-message WARN logs downgraded to DEBUG (cleanup is logged once at INFO level with total count) - Added SetHistory() to SessionStore interface + both implementations Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When a delegated agent (e.g. ui-ux-design-agent) spawns subagents, the
announce session key uses the format delegate:{uuid8}:{agentKey}:{id}.
The scheduler's RunFunc only handled agent:{agentId}:{rest} format,
falling back to the hardcoded "default" agent — which doesn't exist in
managed-mode deployments where the default agent has a custom key.
Add delegate: prefix parsing to extract the target agent key from
position 2 of the session key parts.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 tasks
Contributor
PR #124 Decomposition SummaryThis PR bundles multiple unrelated changes (38 files, +2765 LOC) and has conflicts with Merged
Open PRs
Deferred
Closing this PR in favor of the focused PRs above. |
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
agent default not foundbecause the scheduler'sRunFunconly parsesagent:{agentId}:{rest}session keysdelegate:{uuid8}:{targetAgentKey}:{delegationId}— thedelegate:prefix was not handled, causing fallback to"default"(which doesn't exist in managed-mode DBs)delegate:case to the session key parser inmakeSchedulerRunFunc, extracting the agent key from position 2Details
gateway_consumer_process.go:makeSchedulerRunFuncresolves which agent loop to use from the session key. It only handled:But subagent announces within delegations use session keys like:
This caused repeated errors:
The fix adds a
switch/caseonparts[0]to handle bothagent:anddelegate:prefixes.Test plan
docker compose build goclaw)docker compose up -d goclaw)agent default not founderrors)agent:session key routing still works (direct chat via Telegram/Zalo)🤖 Generated with Claude Code