Commit f5695e2
committed
fix: emit additional_properties in dict branch of _parse_schema_from_parameter
The dict origin branch in _parse_schema_from_parameter previously returned
Schema(type=OBJECT) without any value type information for parameterized
dict types like dict[str, str]. This caused Gemini to receive a bare
{"type": "object"} with no constraints, leading to empty tool arguments
and infinite retry loops when combined with output_schema.
Now the dict branch parses the value type argument and sets
additional_properties with the corresponding schema, so dict[str, V]
correctly emits {"type": "object", "additionalProperties": <V schema>}.
Fixes #48681 parent f973673 commit f5695e2
2 files changed
Lines changed: 64 additions & 0 deletions
File tree
- src/google/adk/tools
- tests/unittests/tools
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
294 | 294 | | |
295 | 295 | | |
296 | 296 | | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
297 | 308 | | |
298 | 309 | | |
299 | 310 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
105 | 152 | | |
106 | 153 | | |
107 | 154 | | |
| |||
279 | 326 | | |
280 | 327 | | |
281 | 328 | | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
282 | 335 | | |
283 | 336 | | |
284 | 337 | | |
| |||
0 commit comments