@@ -230,14 +230,9 @@ func (s *ChatSession) buildToolList(userMsg string) []tools.Tool {
230230
231231 cats := matchToolCategories (userMsg )
232232
233- // If no specific category matched but mightNeedTools was true,
234- // include a small discovery set so the LLM can still help.
233+ // Fallback: if no category matched, send all tools so the LLM can still help.
235234 if len (cats ) == 0 {
236- list = append (list , tools .NewMarketBrowseTool (s .marketClient ))
237- list = append (list , tools .NewMarketLookupTool (s .marketClient ))
238- list = append (list , tools .NewCWBalanceTool (s .marketClient ))
239- list = append (list , tools .NewReportIssueTool (s .marketClient ))
240- return list
235+ return s .buildAllTools (list )
241236 }
242237
243238 // Market discovery — always include if any platform category matched
@@ -293,6 +288,28 @@ func (s *ChatSession) buildToolList(userMsg string) []tools.Tool {
293288 return list
294289}
295290
291+ // buildAllTools appends every platform tool to the base list (fallback path).
292+ func (s * ChatSession ) buildAllTools (list []tools.Tool ) []tools.Tool {
293+ mc := s .marketClient
294+ list = append (list ,
295+ tools .NewMarketBrowseTool (mc ), tools .NewMarketLookupTool (mc ), tools .NewGigMyTool (mc ),
296+ tools .NewGigClaimTool (mc ), tools .NewGigDeliverTool (mc ), tools .NewGigApproveTool (mc ),
297+ tools .NewGigPostTool (mc ), tools .NewGigDisputeTool (mc ), tools .NewGigCancelTool (mc ),
298+ tools .NewGigRateTool (mc ), tools .NewGigWithdrawTool (mc ),
299+ tools .NewSkillMarketBrowseTool (mc ), tools .NewSkillMarketDetailTool (mc ), tools .NewSkillBuyTool (mc ),
300+ tools .NewSkillMyPurchasesTool (mc ), tools .NewSkillMySkillsTool (mc ), tools .NewSkillRequestsTool (mc ),
301+ tools .NewSkillRequestClaimTool (mc ), tools .NewCWMarketMineTool (mc ), tools .NewCWMarketBuyOrdersTool (mc ),
302+ tools .NewCWMarketFillOrderTool (mc ),
303+ tools .NewSocialPostTool (mc ), tools .NewSocialFollowTool (mc ), tools .NewSocialUnfollowTool (mc ),
304+ tools .NewSocialNearbyTool (mc ), tools .NewSocialDmSendTool (mc ), tools .NewSocialMessagesListTool (mc ),
305+ tools .NewSocialMessagesReadTool (mc ), tools .NewSocialMomentsReadTool (mc ), tools .NewSocialLikeMomentTool (mc ),
306+ tools .NewSocialConnectionsTool (mc ),
307+ tools .NewCWBalanceTool (mc ), tools .NewCWTransferTool (mc ), tools .NewCWHistoryTool (mc ),
308+ tools .NewReportIssueTool (mc ),
309+ )
310+ return list
311+ }
312+
296313// buildMiningContext returns a short text block with the current mining status.
297314// Used as a prefix in both the simple and tool-calling paths.
298315func (s * ChatSession ) buildMiningContext (ctx context.Context ) string {
0 commit comments