akseljoonas HF Staff commited on
Commit
424559b
·
1 Parent(s): ccfb504

Fix missing detail in research step labels for truncated args

Browse files

Add truncated JSON value extraction fallback so paper search queries
that get cut at 80 chars still show detail text. Add missing operation
labels: citation_graph, snippet_search, recommend.

frontend/src/components/Chat/ToolCallGroup.tsx CHANGED
@@ -89,9 +89,17 @@ function parseStepArgs(step: string): Record<string, string> {
89
  } catch {
90
  // JSON likely truncated — extract key-value pairs via regex
91
  const result: Record<string, string> = {};
 
92
  for (const m of jsonStr.matchAll(/"(\w+)":\s*"([^"]*)"/g)) {
93
  result[m[1]] = m[2];
94
  }
 
 
 
 
 
 
 
95
  return result;
96
  }
97
  }
@@ -132,6 +140,9 @@ function formatResearchStep(raw: string): { label: string } {
132
  search: 'Searching papers',
133
  paper_details: 'Reading paper details',
134
  read_paper: 'Reading paper',
 
 
 
135
  find_datasets: 'Finding paper datasets',
136
  find_models: 'Finding paper models',
137
  find_collections: 'Finding paper collections',
 
89
  } catch {
90
  // JSON likely truncated — extract key-value pairs via regex
91
  const result: Record<string, string> = {};
92
+ // Match complete "key": "value" pairs
93
  for (const m of jsonStr.matchAll(/"(\w+)":\s*"([^"]*)"/g)) {
94
  result[m[1]] = m[2];
95
  }
96
+ // Match truncated trailing value: "key": "value... (no closing quote)
97
+ if (Object.keys(result).length === 0 || !result.query) {
98
+ const trunc = jsonStr.match(/"(\w+)":\s*"([^"]+)$/);
99
+ if (trunc && !result[trunc[1]]) {
100
+ result[trunc[1]] = trunc[2];
101
+ }
102
+ }
103
  return result;
104
  }
105
  }
 
140
  search: 'Searching papers',
141
  paper_details: 'Reading paper details',
142
  read_paper: 'Reading paper',
143
+ citation_graph: 'Tracing citations',
144
+ snippet_search: 'Searching paper snippets',
145
+ recommend: 'Finding related papers',
146
  find_datasets: 'Finding paper datasets',
147
  find_models: 'Finding paper models',
148
  find_collections: 'Finding paper collections',