amd-gaia 0.14.1__py3-none-any.whl → 0.14.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (794) hide show
  1. amd_gaia-0.14.3.dist-info/METADATA +223 -0
  2. amd_gaia-0.14.3.dist-info/RECORD +168 -0
  3. {amd_gaia-0.14.1.dist-info → amd_gaia-0.14.3.dist-info}/entry_points.txt +1 -0
  4. gaia/__init__.py +28 -1
  5. gaia/agents/__init__.py +1 -1
  6. gaia/agents/base/__init__.py +1 -1
  7. gaia/agents/base/agent.py +142 -37
  8. gaia/agents/base/api_agent.py +1 -1
  9. gaia/agents/base/console.py +400 -16
  10. gaia/agents/base/errors.py +237 -0
  11. gaia/agents/base/mcp_agent.py +1 -1
  12. gaia/agents/base/tools.py +1 -1
  13. gaia/agents/blender/agent.py +1 -1
  14. gaia/agents/blender/agent_simple.py +1 -1
  15. gaia/agents/blender/app.py +1 -1
  16. gaia/agents/blender/app_simple.py +1 -1
  17. gaia/agents/blender/core/__init__.py +1 -1
  18. gaia/agents/blender/core/materials.py +1 -1
  19. gaia/agents/blender/core/objects.py +1 -1
  20. gaia/agents/blender/core/rendering.py +1 -1
  21. gaia/agents/blender/core/scene.py +1 -1
  22. gaia/agents/blender/core/view.py +1 -1
  23. gaia/agents/chat/__init__.py +1 -1
  24. gaia/agents/chat/agent.py +41 -181
  25. gaia/agents/chat/app.py +1 -1
  26. gaia/agents/chat/session.py +1 -1
  27. gaia/agents/chat/tools/__init__.py +1 -1
  28. gaia/agents/chat/tools/file_tools.py +1 -1
  29. gaia/agents/chat/tools/rag_tools.py +1 -1
  30. gaia/agents/chat/tools/shell_tools.py +1 -1
  31. gaia/agents/code/__init__.py +1 -1
  32. gaia/agents/code/agent.py +3 -1
  33. gaia/agents/code/orchestration/__init__.py +1 -1
  34. gaia/agents/code/orchestration/checklist_executor.py +27 -3
  35. gaia/agents/code/orchestration/checklist_generator.py +8 -4
  36. gaia/agents/code/orchestration/factories/__init__.py +1 -1
  37. gaia/agents/code/orchestration/factories/base.py +1 -1
  38. gaia/agents/code/orchestration/factories/nextjs_factory.py +1 -1
  39. gaia/agents/code/orchestration/factories/python_factory.py +1 -1
  40. gaia/agents/code/orchestration/orchestrator.py +276 -45
  41. gaia/agents/code/orchestration/project_analyzer.py +1 -1
  42. gaia/agents/code/orchestration/steps/__init__.py +1 -1
  43. gaia/agents/code/orchestration/steps/base.py +1 -1
  44. gaia/agents/code/orchestration/steps/error_handler.py +2 -2
  45. gaia/agents/code/orchestration/steps/nextjs.py +1 -1
  46. gaia/agents/code/orchestration/steps/python.py +1 -1
  47. gaia/agents/code/orchestration/template_catalog.py +8 -2
  48. gaia/agents/code/orchestration/workflows/__init__.py +1 -1
  49. gaia/agents/code/orchestration/workflows/base.py +1 -1
  50. gaia/agents/code/orchestration/workflows/nextjs.py +1 -1
  51. gaia/agents/code/orchestration/workflows/python.py +1 -1
  52. gaia/agents/code/prompts/__init__.py +1 -1
  53. gaia/agents/code/prompts/base_prompt.py +1 -1
  54. gaia/agents/code/prompts/code_patterns.py +129 -18
  55. gaia/agents/code/prompts/nextjs_prompt.py +1 -1
  56. gaia/agents/code/prompts/python_prompt.py +1 -1
  57. gaia/agents/code/schema_inference.py +1 -1
  58. gaia/agents/code/system_prompt.py +1 -1
  59. gaia/agents/code/tools/__init__.py +1 -1
  60. gaia/agents/code/tools/cli_tools.py +1 -1
  61. gaia/agents/code/tools/code_formatting.py +2 -2
  62. gaia/agents/code/tools/code_tools.py +2 -2
  63. gaia/agents/code/tools/error_fixing.py +1 -1
  64. gaia/agents/code/tools/external_tools.py +1 -1
  65. gaia/agents/code/tools/prisma_tools.py +1 -1
  66. gaia/agents/code/tools/project_management.py +1 -1
  67. gaia/agents/code/tools/testing.py +1 -1
  68. gaia/agents/code/tools/typescript_tools.py +1 -1
  69. gaia/agents/code/tools/validation_parsing.py +1 -1
  70. gaia/agents/code/tools/validation_tools.py +5 -2
  71. gaia/agents/code/tools/web_dev_tools.py +17 -3
  72. gaia/agents/docker/__init__.py +1 -1
  73. gaia/agents/emr/__init__.py +8 -0
  74. gaia/agents/emr/agent.py +1506 -0
  75. gaia/agents/emr/cli.py +1322 -0
  76. gaia/agents/emr/constants.py +475 -0
  77. gaia/agents/emr/dashboard/__init__.py +4 -0
  78. gaia/agents/emr/dashboard/server.py +1974 -0
  79. gaia/agents/routing/__init__.py +1 -1
  80. gaia/agents/routing/agent.py +65 -7
  81. gaia/agents/routing/system_prompt.py +1 -1
  82. gaia/api/__init__.py +1 -1
  83. gaia/api/agent_registry.py +1 -1
  84. gaia/api/app.py +1 -1
  85. gaia/api/openai_server.py +1 -1
  86. gaia/api/schemas.py +1 -1
  87. gaia/api/sse_handler.py +5 -2
  88. gaia/apps/__init__.py +1 -1
  89. gaia/apps/llm/__init__.py +1 -1
  90. gaia/apps/summarize/pdf_formatter.py +1 -1
  91. gaia/audio/__init__.py +1 -1
  92. gaia/audio/audio_client.py +3 -3
  93. gaia/audio/audio_recorder.py +1 -1
  94. gaia/audio/kokoro_tts.py +3 -3
  95. gaia/audio/whisper_asr.py +3 -3
  96. gaia/chat/__init__.py +1 -1
  97. gaia/chat/prompts.py +1 -1
  98. gaia/chat/sdk.py +26 -1
  99. gaia/cli.py +18 -18
  100. gaia/database/__init__.py +10 -0
  101. gaia/database/agent.py +176 -0
  102. gaia/database/mixin.py +290 -0
  103. gaia/database/testing.py +64 -0
  104. gaia/eval/batch_experiment.py +2 -2
  105. gaia/eval/claude.py +5 -5
  106. gaia/eval/config.py +1 -1
  107. gaia/eval/email_generator.py +1 -1
  108. gaia/eval/eval.py +1 -1
  109. gaia/eval/groundtruth.py +1 -1
  110. gaia/eval/transcript_generator.py +1 -1
  111. gaia/eval/webapp/public/app.js +1 -1
  112. gaia/eval/webapp/server.js +1 -1
  113. gaia/eval/webapp/test-setup.js +1 -1
  114. gaia/llm/__init__.py +1 -1
  115. gaia/llm/lemonade_client.py +149 -11
  116. gaia/llm/lemonade_manager.py +36 -11
  117. gaia/llm/llm_client.py +2 -2
  118. gaia/llm/vlm_client.py +93 -18
  119. gaia/logger.py +1 -1
  120. gaia/mcp/agent_mcp_server.py +1 -1
  121. gaia/mcp/blender_mcp_client.py +1 -1
  122. gaia/mcp/blender_mcp_server.py +1 -1
  123. gaia/mcp/context7_cache.py +1 -1
  124. gaia/mcp/servers/__init__.py +1 -1
  125. gaia/mcp/servers/docker_mcp.py +1 -1
  126. gaia/rag/demo.py +5 -5
  127. gaia/rag/pdf_utils.py +1 -1
  128. gaia/rag/sdk.py +2 -2
  129. gaia/security.py +1 -1
  130. gaia/talk/sdk.py +1 -1
  131. gaia/testing/__init__.py +87 -0
  132. gaia/testing/assertions.py +330 -0
  133. gaia/testing/fixtures.py +333 -0
  134. gaia/testing/mocks.py +493 -0
  135. gaia/util.py +1 -1
  136. gaia/utils/__init__.py +33 -0
  137. gaia/utils/file_watcher.py +675 -0
  138. gaia/utils/parsing.py +223 -0
  139. gaia/version.py +2 -2
  140. amd_gaia-0.14.1.dist-info/METADATA +0 -768
  141. amd_gaia-0.14.1.dist-info/RECORD +0 -800
  142. gaia/eval/webapp/node_modules/.bin/mime +0 -16
  143. gaia/eval/webapp/node_modules/.bin/mime.cmd +0 -17
  144. gaia/eval/webapp/node_modules/.bin/mime.ps1 +0 -28
  145. gaia/eval/webapp/node_modules/.package-lock.json +0 -865
  146. gaia/eval/webapp/node_modules/accepts/HISTORY.md +0 -243
  147. gaia/eval/webapp/node_modules/accepts/LICENSE +0 -23
  148. gaia/eval/webapp/node_modules/accepts/README.md +0 -140
  149. gaia/eval/webapp/node_modules/accepts/index.js +0 -238
  150. gaia/eval/webapp/node_modules/accepts/package.json +0 -47
  151. gaia/eval/webapp/node_modules/array-flatten/LICENSE +0 -21
  152. gaia/eval/webapp/node_modules/array-flatten/README.md +0 -43
  153. gaia/eval/webapp/node_modules/array-flatten/array-flatten.js +0 -64
  154. gaia/eval/webapp/node_modules/array-flatten/package.json +0 -39
  155. gaia/eval/webapp/node_modules/body-parser/HISTORY.md +0 -672
  156. gaia/eval/webapp/node_modules/body-parser/LICENSE +0 -23
  157. gaia/eval/webapp/node_modules/body-parser/README.md +0 -476
  158. gaia/eval/webapp/node_modules/body-parser/SECURITY.md +0 -25
  159. gaia/eval/webapp/node_modules/body-parser/index.js +0 -156
  160. gaia/eval/webapp/node_modules/body-parser/lib/read.js +0 -205
  161. gaia/eval/webapp/node_modules/body-parser/lib/types/json.js +0 -247
  162. gaia/eval/webapp/node_modules/body-parser/lib/types/raw.js +0 -101
  163. gaia/eval/webapp/node_modules/body-parser/lib/types/text.js +0 -121
  164. gaia/eval/webapp/node_modules/body-parser/lib/types/urlencoded.js +0 -307
  165. gaia/eval/webapp/node_modules/body-parser/package.json +0 -56
  166. gaia/eval/webapp/node_modules/bytes/History.md +0 -97
  167. gaia/eval/webapp/node_modules/bytes/LICENSE +0 -23
  168. gaia/eval/webapp/node_modules/bytes/Readme.md +0 -152
  169. gaia/eval/webapp/node_modules/bytes/index.js +0 -170
  170. gaia/eval/webapp/node_modules/bytes/package.json +0 -42
  171. gaia/eval/webapp/node_modules/call-bind-apply-helpers/.eslintrc +0 -17
  172. gaia/eval/webapp/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +0 -12
  173. gaia/eval/webapp/node_modules/call-bind-apply-helpers/.nycrc +0 -9
  174. gaia/eval/webapp/node_modules/call-bind-apply-helpers/CHANGELOG.md +0 -30
  175. gaia/eval/webapp/node_modules/call-bind-apply-helpers/LICENSE +0 -21
  176. gaia/eval/webapp/node_modules/call-bind-apply-helpers/README.md +0 -62
  177. gaia/eval/webapp/node_modules/call-bind-apply-helpers/actualApply.d.ts +0 -1
  178. gaia/eval/webapp/node_modules/call-bind-apply-helpers/actualApply.js +0 -10
  179. gaia/eval/webapp/node_modules/call-bind-apply-helpers/applyBind.d.ts +0 -19
  180. gaia/eval/webapp/node_modules/call-bind-apply-helpers/applyBind.js +0 -10
  181. gaia/eval/webapp/node_modules/call-bind-apply-helpers/functionApply.d.ts +0 -1
  182. gaia/eval/webapp/node_modules/call-bind-apply-helpers/functionApply.js +0 -4
  183. gaia/eval/webapp/node_modules/call-bind-apply-helpers/functionCall.d.ts +0 -1
  184. gaia/eval/webapp/node_modules/call-bind-apply-helpers/functionCall.js +0 -4
  185. gaia/eval/webapp/node_modules/call-bind-apply-helpers/index.d.ts +0 -64
  186. gaia/eval/webapp/node_modules/call-bind-apply-helpers/index.js +0 -15
  187. gaia/eval/webapp/node_modules/call-bind-apply-helpers/package.json +0 -85
  188. gaia/eval/webapp/node_modules/call-bind-apply-helpers/reflectApply.d.ts +0 -3
  189. gaia/eval/webapp/node_modules/call-bind-apply-helpers/reflectApply.js +0 -4
  190. gaia/eval/webapp/node_modules/call-bind-apply-helpers/test/index.js +0 -63
  191. gaia/eval/webapp/node_modules/call-bind-apply-helpers/tsconfig.json +0 -9
  192. gaia/eval/webapp/node_modules/call-bound/.eslintrc +0 -13
  193. gaia/eval/webapp/node_modules/call-bound/.github/FUNDING.yml +0 -12
  194. gaia/eval/webapp/node_modules/call-bound/.nycrc +0 -9
  195. gaia/eval/webapp/node_modules/call-bound/CHANGELOG.md +0 -42
  196. gaia/eval/webapp/node_modules/call-bound/LICENSE +0 -21
  197. gaia/eval/webapp/node_modules/call-bound/README.md +0 -53
  198. gaia/eval/webapp/node_modules/call-bound/index.d.ts +0 -94
  199. gaia/eval/webapp/node_modules/call-bound/index.js +0 -19
  200. gaia/eval/webapp/node_modules/call-bound/package.json +0 -99
  201. gaia/eval/webapp/node_modules/call-bound/test/index.js +0 -61
  202. gaia/eval/webapp/node_modules/call-bound/tsconfig.json +0 -10
  203. gaia/eval/webapp/node_modules/content-disposition/HISTORY.md +0 -60
  204. gaia/eval/webapp/node_modules/content-disposition/LICENSE +0 -22
  205. gaia/eval/webapp/node_modules/content-disposition/README.md +0 -142
  206. gaia/eval/webapp/node_modules/content-disposition/index.js +0 -458
  207. gaia/eval/webapp/node_modules/content-disposition/package.json +0 -44
  208. gaia/eval/webapp/node_modules/content-type/HISTORY.md +0 -29
  209. gaia/eval/webapp/node_modules/content-type/LICENSE +0 -22
  210. gaia/eval/webapp/node_modules/content-type/README.md +0 -94
  211. gaia/eval/webapp/node_modules/content-type/index.js +0 -225
  212. gaia/eval/webapp/node_modules/content-type/package.json +0 -42
  213. gaia/eval/webapp/node_modules/cookie/LICENSE +0 -24
  214. gaia/eval/webapp/node_modules/cookie/README.md +0 -317
  215. gaia/eval/webapp/node_modules/cookie/SECURITY.md +0 -25
  216. gaia/eval/webapp/node_modules/cookie/index.js +0 -334
  217. gaia/eval/webapp/node_modules/cookie/package.json +0 -44
  218. gaia/eval/webapp/node_modules/cookie-signature/.npmignore +0 -4
  219. gaia/eval/webapp/node_modules/cookie-signature/History.md +0 -38
  220. gaia/eval/webapp/node_modules/cookie-signature/Readme.md +0 -42
  221. gaia/eval/webapp/node_modules/cookie-signature/index.js +0 -51
  222. gaia/eval/webapp/node_modules/cookie-signature/package.json +0 -18
  223. gaia/eval/webapp/node_modules/debug/.coveralls.yml +0 -1
  224. gaia/eval/webapp/node_modules/debug/.eslintrc +0 -11
  225. gaia/eval/webapp/node_modules/debug/.npmignore +0 -9
  226. gaia/eval/webapp/node_modules/debug/.travis.yml +0 -14
  227. gaia/eval/webapp/node_modules/debug/CHANGELOG.md +0 -362
  228. gaia/eval/webapp/node_modules/debug/LICENSE +0 -19
  229. gaia/eval/webapp/node_modules/debug/Makefile +0 -50
  230. gaia/eval/webapp/node_modules/debug/README.md +0 -312
  231. gaia/eval/webapp/node_modules/debug/component.json +0 -19
  232. gaia/eval/webapp/node_modules/debug/karma.conf.js +0 -70
  233. gaia/eval/webapp/node_modules/debug/node.js +0 -1
  234. gaia/eval/webapp/node_modules/debug/package.json +0 -49
  235. gaia/eval/webapp/node_modules/debug/src/browser.js +0 -185
  236. gaia/eval/webapp/node_modules/debug/src/debug.js +0 -202
  237. gaia/eval/webapp/node_modules/debug/src/index.js +0 -10
  238. gaia/eval/webapp/node_modules/debug/src/inspector-log.js +0 -15
  239. gaia/eval/webapp/node_modules/debug/src/node.js +0 -248
  240. gaia/eval/webapp/node_modules/depd/History.md +0 -103
  241. gaia/eval/webapp/node_modules/depd/LICENSE +0 -22
  242. gaia/eval/webapp/node_modules/depd/Readme.md +0 -280
  243. gaia/eval/webapp/node_modules/depd/index.js +0 -538
  244. gaia/eval/webapp/node_modules/depd/lib/browser/index.js +0 -77
  245. gaia/eval/webapp/node_modules/depd/package.json +0 -45
  246. gaia/eval/webapp/node_modules/destroy/LICENSE +0 -23
  247. gaia/eval/webapp/node_modules/destroy/README.md +0 -63
  248. gaia/eval/webapp/node_modules/destroy/index.js +0 -209
  249. gaia/eval/webapp/node_modules/destroy/package.json +0 -48
  250. gaia/eval/webapp/node_modules/dunder-proto/.eslintrc +0 -5
  251. gaia/eval/webapp/node_modules/dunder-proto/.github/FUNDING.yml +0 -12
  252. gaia/eval/webapp/node_modules/dunder-proto/.nycrc +0 -13
  253. gaia/eval/webapp/node_modules/dunder-proto/CHANGELOG.md +0 -24
  254. gaia/eval/webapp/node_modules/dunder-proto/LICENSE +0 -21
  255. gaia/eval/webapp/node_modules/dunder-proto/README.md +0 -54
  256. gaia/eval/webapp/node_modules/dunder-proto/get.d.ts +0 -5
  257. gaia/eval/webapp/node_modules/dunder-proto/get.js +0 -30
  258. gaia/eval/webapp/node_modules/dunder-proto/package.json +0 -76
  259. gaia/eval/webapp/node_modules/dunder-proto/set.d.ts +0 -5
  260. gaia/eval/webapp/node_modules/dunder-proto/set.js +0 -35
  261. gaia/eval/webapp/node_modules/dunder-proto/test/get.js +0 -34
  262. gaia/eval/webapp/node_modules/dunder-proto/test/index.js +0 -4
  263. gaia/eval/webapp/node_modules/dunder-proto/test/set.js +0 -50
  264. gaia/eval/webapp/node_modules/dunder-proto/tsconfig.json +0 -9
  265. gaia/eval/webapp/node_modules/ee-first/LICENSE +0 -22
  266. gaia/eval/webapp/node_modules/ee-first/README.md +0 -80
  267. gaia/eval/webapp/node_modules/ee-first/index.js +0 -95
  268. gaia/eval/webapp/node_modules/ee-first/package.json +0 -29
  269. gaia/eval/webapp/node_modules/encodeurl/LICENSE +0 -22
  270. gaia/eval/webapp/node_modules/encodeurl/README.md +0 -109
  271. gaia/eval/webapp/node_modules/encodeurl/index.js +0 -60
  272. gaia/eval/webapp/node_modules/encodeurl/package.json +0 -40
  273. gaia/eval/webapp/node_modules/es-define-property/.eslintrc +0 -13
  274. gaia/eval/webapp/node_modules/es-define-property/.github/FUNDING.yml +0 -12
  275. gaia/eval/webapp/node_modules/es-define-property/.nycrc +0 -9
  276. gaia/eval/webapp/node_modules/es-define-property/CHANGELOG.md +0 -29
  277. gaia/eval/webapp/node_modules/es-define-property/LICENSE +0 -21
  278. gaia/eval/webapp/node_modules/es-define-property/README.md +0 -49
  279. gaia/eval/webapp/node_modules/es-define-property/index.d.ts +0 -3
  280. gaia/eval/webapp/node_modules/es-define-property/index.js +0 -14
  281. gaia/eval/webapp/node_modules/es-define-property/package.json +0 -81
  282. gaia/eval/webapp/node_modules/es-define-property/test/index.js +0 -56
  283. gaia/eval/webapp/node_modules/es-define-property/tsconfig.json +0 -10
  284. gaia/eval/webapp/node_modules/es-errors/.eslintrc +0 -5
  285. gaia/eval/webapp/node_modules/es-errors/.github/FUNDING.yml +0 -12
  286. gaia/eval/webapp/node_modules/es-errors/CHANGELOG.md +0 -40
  287. gaia/eval/webapp/node_modules/es-errors/LICENSE +0 -21
  288. gaia/eval/webapp/node_modules/es-errors/README.md +0 -55
  289. gaia/eval/webapp/node_modules/es-errors/eval.d.ts +0 -3
  290. gaia/eval/webapp/node_modules/es-errors/eval.js +0 -4
  291. gaia/eval/webapp/node_modules/es-errors/index.d.ts +0 -3
  292. gaia/eval/webapp/node_modules/es-errors/index.js +0 -4
  293. gaia/eval/webapp/node_modules/es-errors/package.json +0 -80
  294. gaia/eval/webapp/node_modules/es-errors/range.d.ts +0 -3
  295. gaia/eval/webapp/node_modules/es-errors/range.js +0 -4
  296. gaia/eval/webapp/node_modules/es-errors/ref.d.ts +0 -3
  297. gaia/eval/webapp/node_modules/es-errors/ref.js +0 -4
  298. gaia/eval/webapp/node_modules/es-errors/syntax.d.ts +0 -3
  299. gaia/eval/webapp/node_modules/es-errors/syntax.js +0 -4
  300. gaia/eval/webapp/node_modules/es-errors/test/index.js +0 -19
  301. gaia/eval/webapp/node_modules/es-errors/tsconfig.json +0 -49
  302. gaia/eval/webapp/node_modules/es-errors/type.d.ts +0 -3
  303. gaia/eval/webapp/node_modules/es-errors/type.js +0 -4
  304. gaia/eval/webapp/node_modules/es-errors/uri.d.ts +0 -3
  305. gaia/eval/webapp/node_modules/es-errors/uri.js +0 -4
  306. gaia/eval/webapp/node_modules/es-object-atoms/.eslintrc +0 -16
  307. gaia/eval/webapp/node_modules/es-object-atoms/.github/FUNDING.yml +0 -12
  308. gaia/eval/webapp/node_modules/es-object-atoms/CHANGELOG.md +0 -37
  309. gaia/eval/webapp/node_modules/es-object-atoms/LICENSE +0 -21
  310. gaia/eval/webapp/node_modules/es-object-atoms/README.md +0 -63
  311. gaia/eval/webapp/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +0 -3
  312. gaia/eval/webapp/node_modules/es-object-atoms/RequireObjectCoercible.js +0 -11
  313. gaia/eval/webapp/node_modules/es-object-atoms/ToObject.d.ts +0 -7
  314. gaia/eval/webapp/node_modules/es-object-atoms/ToObject.js +0 -10
  315. gaia/eval/webapp/node_modules/es-object-atoms/index.d.ts +0 -3
  316. gaia/eval/webapp/node_modules/es-object-atoms/index.js +0 -4
  317. gaia/eval/webapp/node_modules/es-object-atoms/isObject.d.ts +0 -3
  318. gaia/eval/webapp/node_modules/es-object-atoms/isObject.js +0 -6
  319. gaia/eval/webapp/node_modules/es-object-atoms/package.json +0 -80
  320. gaia/eval/webapp/node_modules/es-object-atoms/test/index.js +0 -38
  321. gaia/eval/webapp/node_modules/es-object-atoms/tsconfig.json +0 -6
  322. gaia/eval/webapp/node_modules/escape-html/LICENSE +0 -24
  323. gaia/eval/webapp/node_modules/escape-html/Readme.md +0 -43
  324. gaia/eval/webapp/node_modules/escape-html/index.js +0 -78
  325. gaia/eval/webapp/node_modules/escape-html/package.json +0 -24
  326. gaia/eval/webapp/node_modules/etag/HISTORY.md +0 -83
  327. gaia/eval/webapp/node_modules/etag/LICENSE +0 -22
  328. gaia/eval/webapp/node_modules/etag/README.md +0 -159
  329. gaia/eval/webapp/node_modules/etag/index.js +0 -131
  330. gaia/eval/webapp/node_modules/etag/package.json +0 -47
  331. gaia/eval/webapp/node_modules/express/History.md +0 -3656
  332. gaia/eval/webapp/node_modules/express/LICENSE +0 -24
  333. gaia/eval/webapp/node_modules/express/Readme.md +0 -260
  334. gaia/eval/webapp/node_modules/express/index.js +0 -11
  335. gaia/eval/webapp/node_modules/express/lib/application.js +0 -661
  336. gaia/eval/webapp/node_modules/express/lib/express.js +0 -116
  337. gaia/eval/webapp/node_modules/express/lib/middleware/init.js +0 -43
  338. gaia/eval/webapp/node_modules/express/lib/middleware/query.js +0 -47
  339. gaia/eval/webapp/node_modules/express/lib/request.js +0 -525
  340. gaia/eval/webapp/node_modules/express/lib/response.js +0 -1179
  341. gaia/eval/webapp/node_modules/express/lib/router/index.js +0 -673
  342. gaia/eval/webapp/node_modules/express/lib/router/layer.js +0 -181
  343. gaia/eval/webapp/node_modules/express/lib/router/route.js +0 -230
  344. gaia/eval/webapp/node_modules/express/lib/utils.js +0 -303
  345. gaia/eval/webapp/node_modules/express/lib/view.js +0 -182
  346. gaia/eval/webapp/node_modules/express/package.json +0 -102
  347. gaia/eval/webapp/node_modules/finalhandler/HISTORY.md +0 -210
  348. gaia/eval/webapp/node_modules/finalhandler/LICENSE +0 -22
  349. gaia/eval/webapp/node_modules/finalhandler/README.md +0 -147
  350. gaia/eval/webapp/node_modules/finalhandler/SECURITY.md +0 -25
  351. gaia/eval/webapp/node_modules/finalhandler/index.js +0 -341
  352. gaia/eval/webapp/node_modules/finalhandler/package.json +0 -47
  353. gaia/eval/webapp/node_modules/forwarded/HISTORY.md +0 -21
  354. gaia/eval/webapp/node_modules/forwarded/LICENSE +0 -22
  355. gaia/eval/webapp/node_modules/forwarded/README.md +0 -57
  356. gaia/eval/webapp/node_modules/forwarded/index.js +0 -90
  357. gaia/eval/webapp/node_modules/forwarded/package.json +0 -45
  358. gaia/eval/webapp/node_modules/fresh/HISTORY.md +0 -70
  359. gaia/eval/webapp/node_modules/fresh/LICENSE +0 -23
  360. gaia/eval/webapp/node_modules/fresh/README.md +0 -119
  361. gaia/eval/webapp/node_modules/fresh/index.js +0 -137
  362. gaia/eval/webapp/node_modules/fresh/package.json +0 -46
  363. gaia/eval/webapp/node_modules/fs/README.md +0 -9
  364. gaia/eval/webapp/node_modules/fs/package.json +0 -20
  365. gaia/eval/webapp/node_modules/function-bind/.eslintrc +0 -21
  366. gaia/eval/webapp/node_modules/function-bind/.github/FUNDING.yml +0 -12
  367. gaia/eval/webapp/node_modules/function-bind/.github/SECURITY.md +0 -3
  368. gaia/eval/webapp/node_modules/function-bind/.nycrc +0 -13
  369. gaia/eval/webapp/node_modules/function-bind/CHANGELOG.md +0 -136
  370. gaia/eval/webapp/node_modules/function-bind/LICENSE +0 -20
  371. gaia/eval/webapp/node_modules/function-bind/README.md +0 -46
  372. gaia/eval/webapp/node_modules/function-bind/implementation.js +0 -84
  373. gaia/eval/webapp/node_modules/function-bind/index.js +0 -5
  374. gaia/eval/webapp/node_modules/function-bind/package.json +0 -87
  375. gaia/eval/webapp/node_modules/function-bind/test/.eslintrc +0 -9
  376. gaia/eval/webapp/node_modules/function-bind/test/index.js +0 -252
  377. gaia/eval/webapp/node_modules/get-intrinsic/.eslintrc +0 -42
  378. gaia/eval/webapp/node_modules/get-intrinsic/.github/FUNDING.yml +0 -12
  379. gaia/eval/webapp/node_modules/get-intrinsic/.nycrc +0 -9
  380. gaia/eval/webapp/node_modules/get-intrinsic/CHANGELOG.md +0 -186
  381. gaia/eval/webapp/node_modules/get-intrinsic/LICENSE +0 -21
  382. gaia/eval/webapp/node_modules/get-intrinsic/README.md +0 -71
  383. gaia/eval/webapp/node_modules/get-intrinsic/index.js +0 -378
  384. gaia/eval/webapp/node_modules/get-intrinsic/package.json +0 -97
  385. gaia/eval/webapp/node_modules/get-intrinsic/test/GetIntrinsic.js +0 -274
  386. gaia/eval/webapp/node_modules/get-proto/.eslintrc +0 -10
  387. gaia/eval/webapp/node_modules/get-proto/.github/FUNDING.yml +0 -12
  388. gaia/eval/webapp/node_modules/get-proto/.nycrc +0 -9
  389. gaia/eval/webapp/node_modules/get-proto/CHANGELOG.md +0 -21
  390. gaia/eval/webapp/node_modules/get-proto/LICENSE +0 -21
  391. gaia/eval/webapp/node_modules/get-proto/Object.getPrototypeOf.d.ts +0 -5
  392. gaia/eval/webapp/node_modules/get-proto/Object.getPrototypeOf.js +0 -6
  393. gaia/eval/webapp/node_modules/get-proto/README.md +0 -50
  394. gaia/eval/webapp/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +0 -3
  395. gaia/eval/webapp/node_modules/get-proto/Reflect.getPrototypeOf.js +0 -4
  396. gaia/eval/webapp/node_modules/get-proto/index.d.ts +0 -5
  397. gaia/eval/webapp/node_modules/get-proto/index.js +0 -27
  398. gaia/eval/webapp/node_modules/get-proto/package.json +0 -81
  399. gaia/eval/webapp/node_modules/get-proto/test/index.js +0 -68
  400. gaia/eval/webapp/node_modules/get-proto/tsconfig.json +0 -9
  401. gaia/eval/webapp/node_modules/gopd/.eslintrc +0 -16
  402. gaia/eval/webapp/node_modules/gopd/.github/FUNDING.yml +0 -12
  403. gaia/eval/webapp/node_modules/gopd/CHANGELOG.md +0 -45
  404. gaia/eval/webapp/node_modules/gopd/LICENSE +0 -21
  405. gaia/eval/webapp/node_modules/gopd/README.md +0 -40
  406. gaia/eval/webapp/node_modules/gopd/gOPD.d.ts +0 -1
  407. gaia/eval/webapp/node_modules/gopd/gOPD.js +0 -4
  408. gaia/eval/webapp/node_modules/gopd/index.d.ts +0 -5
  409. gaia/eval/webapp/node_modules/gopd/index.js +0 -15
  410. gaia/eval/webapp/node_modules/gopd/package.json +0 -77
  411. gaia/eval/webapp/node_modules/gopd/test/index.js +0 -36
  412. gaia/eval/webapp/node_modules/gopd/tsconfig.json +0 -9
  413. gaia/eval/webapp/node_modules/has-symbols/.eslintrc +0 -11
  414. gaia/eval/webapp/node_modules/has-symbols/.github/FUNDING.yml +0 -12
  415. gaia/eval/webapp/node_modules/has-symbols/.nycrc +0 -9
  416. gaia/eval/webapp/node_modules/has-symbols/CHANGELOG.md +0 -91
  417. gaia/eval/webapp/node_modules/has-symbols/LICENSE +0 -21
  418. gaia/eval/webapp/node_modules/has-symbols/README.md +0 -46
  419. gaia/eval/webapp/node_modules/has-symbols/index.d.ts +0 -3
  420. gaia/eval/webapp/node_modules/has-symbols/index.js +0 -14
  421. gaia/eval/webapp/node_modules/has-symbols/package.json +0 -111
  422. gaia/eval/webapp/node_modules/has-symbols/shams.d.ts +0 -3
  423. gaia/eval/webapp/node_modules/has-symbols/shams.js +0 -45
  424. gaia/eval/webapp/node_modules/has-symbols/test/index.js +0 -22
  425. gaia/eval/webapp/node_modules/has-symbols/test/shams/core-js.js +0 -29
  426. gaia/eval/webapp/node_modules/has-symbols/test/shams/get-own-property-symbols.js +0 -29
  427. gaia/eval/webapp/node_modules/has-symbols/test/tests.js +0 -58
  428. gaia/eval/webapp/node_modules/has-symbols/tsconfig.json +0 -10
  429. gaia/eval/webapp/node_modules/hasown/.eslintrc +0 -5
  430. gaia/eval/webapp/node_modules/hasown/.github/FUNDING.yml +0 -12
  431. gaia/eval/webapp/node_modules/hasown/.nycrc +0 -13
  432. gaia/eval/webapp/node_modules/hasown/CHANGELOG.md +0 -40
  433. gaia/eval/webapp/node_modules/hasown/LICENSE +0 -21
  434. gaia/eval/webapp/node_modules/hasown/README.md +0 -40
  435. gaia/eval/webapp/node_modules/hasown/index.d.ts +0 -3
  436. gaia/eval/webapp/node_modules/hasown/index.js +0 -8
  437. gaia/eval/webapp/node_modules/hasown/package.json +0 -92
  438. gaia/eval/webapp/node_modules/hasown/tsconfig.json +0 -6
  439. gaia/eval/webapp/node_modules/http-errors/HISTORY.md +0 -180
  440. gaia/eval/webapp/node_modules/http-errors/LICENSE +0 -23
  441. gaia/eval/webapp/node_modules/http-errors/README.md +0 -169
  442. gaia/eval/webapp/node_modules/http-errors/index.js +0 -289
  443. gaia/eval/webapp/node_modules/http-errors/package.json +0 -50
  444. gaia/eval/webapp/node_modules/iconv-lite/Changelog.md +0 -162
  445. gaia/eval/webapp/node_modules/iconv-lite/LICENSE +0 -21
  446. gaia/eval/webapp/node_modules/iconv-lite/README.md +0 -156
  447. gaia/eval/webapp/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -555
  448. gaia/eval/webapp/node_modules/iconv-lite/encodings/dbcs-data.js +0 -176
  449. gaia/eval/webapp/node_modules/iconv-lite/encodings/index.js +0 -22
  450. gaia/eval/webapp/node_modules/iconv-lite/encodings/internal.js +0 -188
  451. gaia/eval/webapp/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
  452. gaia/eval/webapp/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  453. gaia/eval/webapp/node_modules/iconv-lite/encodings/sbcs-data.js +0 -174
  454. gaia/eval/webapp/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  455. gaia/eval/webapp/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  456. gaia/eval/webapp/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  457. gaia/eval/webapp/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  458. gaia/eval/webapp/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  459. gaia/eval/webapp/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  460. gaia/eval/webapp/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -55
  461. gaia/eval/webapp/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  462. gaia/eval/webapp/node_modules/iconv-lite/encodings/utf16.js +0 -177
  463. gaia/eval/webapp/node_modules/iconv-lite/encodings/utf7.js +0 -290
  464. gaia/eval/webapp/node_modules/iconv-lite/lib/bom-handling.js +0 -52
  465. gaia/eval/webapp/node_modules/iconv-lite/lib/extend-node.js +0 -217
  466. gaia/eval/webapp/node_modules/iconv-lite/lib/index.d.ts +0 -24
  467. gaia/eval/webapp/node_modules/iconv-lite/lib/index.js +0 -153
  468. gaia/eval/webapp/node_modules/iconv-lite/lib/streams.js +0 -121
  469. gaia/eval/webapp/node_modules/iconv-lite/package.json +0 -46
  470. gaia/eval/webapp/node_modules/inherits/LICENSE +0 -16
  471. gaia/eval/webapp/node_modules/inherits/README.md +0 -42
  472. gaia/eval/webapp/node_modules/inherits/inherits.js +0 -9
  473. gaia/eval/webapp/node_modules/inherits/inherits_browser.js +0 -27
  474. gaia/eval/webapp/node_modules/inherits/package.json +0 -29
  475. gaia/eval/webapp/node_modules/ipaddr.js/LICENSE +0 -19
  476. gaia/eval/webapp/node_modules/ipaddr.js/README.md +0 -233
  477. gaia/eval/webapp/node_modules/ipaddr.js/ipaddr.min.js +0 -1
  478. gaia/eval/webapp/node_modules/ipaddr.js/lib/ipaddr.js +0 -673
  479. gaia/eval/webapp/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +0 -68
  480. gaia/eval/webapp/node_modules/ipaddr.js/package.json +0 -35
  481. gaia/eval/webapp/node_modules/math-intrinsics/.eslintrc +0 -16
  482. gaia/eval/webapp/node_modules/math-intrinsics/.github/FUNDING.yml +0 -12
  483. gaia/eval/webapp/node_modules/math-intrinsics/CHANGELOG.md +0 -24
  484. gaia/eval/webapp/node_modules/math-intrinsics/LICENSE +0 -21
  485. gaia/eval/webapp/node_modules/math-intrinsics/README.md +0 -50
  486. gaia/eval/webapp/node_modules/math-intrinsics/abs.d.ts +0 -1
  487. gaia/eval/webapp/node_modules/math-intrinsics/abs.js +0 -4
  488. gaia/eval/webapp/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +0 -3
  489. gaia/eval/webapp/node_modules/math-intrinsics/constants/maxArrayLength.js +0 -4
  490. gaia/eval/webapp/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +0 -3
  491. gaia/eval/webapp/node_modules/math-intrinsics/constants/maxSafeInteger.js +0 -5
  492. gaia/eval/webapp/node_modules/math-intrinsics/constants/maxValue.d.ts +0 -3
  493. gaia/eval/webapp/node_modules/math-intrinsics/constants/maxValue.js +0 -5
  494. gaia/eval/webapp/node_modules/math-intrinsics/floor.d.ts +0 -1
  495. gaia/eval/webapp/node_modules/math-intrinsics/floor.js +0 -4
  496. gaia/eval/webapp/node_modules/math-intrinsics/isFinite.d.ts +0 -3
  497. gaia/eval/webapp/node_modules/math-intrinsics/isFinite.js +0 -12
  498. gaia/eval/webapp/node_modules/math-intrinsics/isInteger.d.ts +0 -3
  499. gaia/eval/webapp/node_modules/math-intrinsics/isInteger.js +0 -16
  500. gaia/eval/webapp/node_modules/math-intrinsics/isNaN.d.ts +0 -1
  501. gaia/eval/webapp/node_modules/math-intrinsics/isNaN.js +0 -6
  502. gaia/eval/webapp/node_modules/math-intrinsics/isNegativeZero.d.ts +0 -3
  503. gaia/eval/webapp/node_modules/math-intrinsics/isNegativeZero.js +0 -6
  504. gaia/eval/webapp/node_modules/math-intrinsics/max.d.ts +0 -1
  505. gaia/eval/webapp/node_modules/math-intrinsics/max.js +0 -4
  506. gaia/eval/webapp/node_modules/math-intrinsics/min.d.ts +0 -1
  507. gaia/eval/webapp/node_modules/math-intrinsics/min.js +0 -4
  508. gaia/eval/webapp/node_modules/math-intrinsics/mod.d.ts +0 -3
  509. gaia/eval/webapp/node_modules/math-intrinsics/mod.js +0 -9
  510. gaia/eval/webapp/node_modules/math-intrinsics/package.json +0 -86
  511. gaia/eval/webapp/node_modules/math-intrinsics/pow.d.ts +0 -1
  512. gaia/eval/webapp/node_modules/math-intrinsics/pow.js +0 -4
  513. gaia/eval/webapp/node_modules/math-intrinsics/round.d.ts +0 -1
  514. gaia/eval/webapp/node_modules/math-intrinsics/round.js +0 -4
  515. gaia/eval/webapp/node_modules/math-intrinsics/sign.d.ts +0 -3
  516. gaia/eval/webapp/node_modules/math-intrinsics/sign.js +0 -11
  517. gaia/eval/webapp/node_modules/math-intrinsics/test/index.js +0 -192
  518. gaia/eval/webapp/node_modules/math-intrinsics/tsconfig.json +0 -3
  519. gaia/eval/webapp/node_modules/media-typer/HISTORY.md +0 -22
  520. gaia/eval/webapp/node_modules/media-typer/LICENSE +0 -22
  521. gaia/eval/webapp/node_modules/media-typer/README.md +0 -81
  522. gaia/eval/webapp/node_modules/media-typer/index.js +0 -270
  523. gaia/eval/webapp/node_modules/media-typer/package.json +0 -26
  524. gaia/eval/webapp/node_modules/merge-descriptors/HISTORY.md +0 -21
  525. gaia/eval/webapp/node_modules/merge-descriptors/LICENSE +0 -23
  526. gaia/eval/webapp/node_modules/merge-descriptors/README.md +0 -49
  527. gaia/eval/webapp/node_modules/merge-descriptors/index.js +0 -60
  528. gaia/eval/webapp/node_modules/merge-descriptors/package.json +0 -39
  529. gaia/eval/webapp/node_modules/methods/HISTORY.md +0 -29
  530. gaia/eval/webapp/node_modules/methods/LICENSE +0 -24
  531. gaia/eval/webapp/node_modules/methods/README.md +0 -51
  532. gaia/eval/webapp/node_modules/methods/index.js +0 -69
  533. gaia/eval/webapp/node_modules/methods/package.json +0 -36
  534. gaia/eval/webapp/node_modules/mime/.npmignore +0 -0
  535. gaia/eval/webapp/node_modules/mime/CHANGELOG.md +0 -164
  536. gaia/eval/webapp/node_modules/mime/LICENSE +0 -21
  537. gaia/eval/webapp/node_modules/mime/README.md +0 -90
  538. gaia/eval/webapp/node_modules/mime/cli.js +0 -8
  539. gaia/eval/webapp/node_modules/mime/mime.js +0 -108
  540. gaia/eval/webapp/node_modules/mime/package.json +0 -44
  541. gaia/eval/webapp/node_modules/mime/src/build.js +0 -53
  542. gaia/eval/webapp/node_modules/mime/src/test.js +0 -60
  543. gaia/eval/webapp/node_modules/mime/types.json +0 -1
  544. gaia/eval/webapp/node_modules/mime-db/HISTORY.md +0 -507
  545. gaia/eval/webapp/node_modules/mime-db/LICENSE +0 -23
  546. gaia/eval/webapp/node_modules/mime-db/README.md +0 -100
  547. gaia/eval/webapp/node_modules/mime-db/db.json +0 -8519
  548. gaia/eval/webapp/node_modules/mime-db/index.js +0 -12
  549. gaia/eval/webapp/node_modules/mime-db/package.json +0 -60
  550. gaia/eval/webapp/node_modules/mime-types/HISTORY.md +0 -397
  551. gaia/eval/webapp/node_modules/mime-types/LICENSE +0 -23
  552. gaia/eval/webapp/node_modules/mime-types/README.md +0 -113
  553. gaia/eval/webapp/node_modules/mime-types/index.js +0 -188
  554. gaia/eval/webapp/node_modules/mime-types/package.json +0 -44
  555. gaia/eval/webapp/node_modules/ms/index.js +0 -152
  556. gaia/eval/webapp/node_modules/ms/license.md +0 -21
  557. gaia/eval/webapp/node_modules/ms/package.json +0 -37
  558. gaia/eval/webapp/node_modules/ms/readme.md +0 -51
  559. gaia/eval/webapp/node_modules/negotiator/HISTORY.md +0 -108
  560. gaia/eval/webapp/node_modules/negotiator/LICENSE +0 -24
  561. gaia/eval/webapp/node_modules/negotiator/README.md +0 -203
  562. gaia/eval/webapp/node_modules/negotiator/index.js +0 -82
  563. gaia/eval/webapp/node_modules/negotiator/lib/charset.js +0 -169
  564. gaia/eval/webapp/node_modules/negotiator/lib/encoding.js +0 -184
  565. gaia/eval/webapp/node_modules/negotiator/lib/language.js +0 -179
  566. gaia/eval/webapp/node_modules/negotiator/lib/mediaType.js +0 -294
  567. gaia/eval/webapp/node_modules/negotiator/package.json +0 -42
  568. gaia/eval/webapp/node_modules/object-inspect/.eslintrc +0 -53
  569. gaia/eval/webapp/node_modules/object-inspect/.github/FUNDING.yml +0 -12
  570. gaia/eval/webapp/node_modules/object-inspect/.nycrc +0 -13
  571. gaia/eval/webapp/node_modules/object-inspect/CHANGELOG.md +0 -424
  572. gaia/eval/webapp/node_modules/object-inspect/LICENSE +0 -21
  573. gaia/eval/webapp/node_modules/object-inspect/example/all.js +0 -23
  574. gaia/eval/webapp/node_modules/object-inspect/example/circular.js +0 -6
  575. gaia/eval/webapp/node_modules/object-inspect/example/fn.js +0 -5
  576. gaia/eval/webapp/node_modules/object-inspect/example/inspect.js +0 -10
  577. gaia/eval/webapp/node_modules/object-inspect/index.js +0 -544
  578. gaia/eval/webapp/node_modules/object-inspect/package-support.json +0 -20
  579. gaia/eval/webapp/node_modules/object-inspect/package.json +0 -105
  580. gaia/eval/webapp/node_modules/object-inspect/readme.markdown +0 -84
  581. gaia/eval/webapp/node_modules/object-inspect/test/bigint.js +0 -58
  582. gaia/eval/webapp/node_modules/object-inspect/test/browser/dom.js +0 -15
  583. gaia/eval/webapp/node_modules/object-inspect/test/circular.js +0 -16
  584. gaia/eval/webapp/node_modules/object-inspect/test/deep.js +0 -12
  585. gaia/eval/webapp/node_modules/object-inspect/test/element.js +0 -53
  586. gaia/eval/webapp/node_modules/object-inspect/test/err.js +0 -48
  587. gaia/eval/webapp/node_modules/object-inspect/test/fakes.js +0 -29
  588. gaia/eval/webapp/node_modules/object-inspect/test/fn.js +0 -76
  589. gaia/eval/webapp/node_modules/object-inspect/test/global.js +0 -17
  590. gaia/eval/webapp/node_modules/object-inspect/test/has.js +0 -15
  591. gaia/eval/webapp/node_modules/object-inspect/test/holes.js +0 -15
  592. gaia/eval/webapp/node_modules/object-inspect/test/indent-option.js +0 -271
  593. gaia/eval/webapp/node_modules/object-inspect/test/inspect.js +0 -139
  594. gaia/eval/webapp/node_modules/object-inspect/test/lowbyte.js +0 -12
  595. gaia/eval/webapp/node_modules/object-inspect/test/number.js +0 -58
  596. gaia/eval/webapp/node_modules/object-inspect/test/quoteStyle.js +0 -26
  597. gaia/eval/webapp/node_modules/object-inspect/test/toStringTag.js +0 -40
  598. gaia/eval/webapp/node_modules/object-inspect/test/undef.js +0 -12
  599. gaia/eval/webapp/node_modules/object-inspect/test/values.js +0 -261
  600. gaia/eval/webapp/node_modules/object-inspect/test-core-js.js +0 -26
  601. gaia/eval/webapp/node_modules/object-inspect/util.inspect.js +0 -1
  602. gaia/eval/webapp/node_modules/on-finished/HISTORY.md +0 -98
  603. gaia/eval/webapp/node_modules/on-finished/LICENSE +0 -23
  604. gaia/eval/webapp/node_modules/on-finished/README.md +0 -162
  605. gaia/eval/webapp/node_modules/on-finished/index.js +0 -234
  606. gaia/eval/webapp/node_modules/on-finished/package.json +0 -39
  607. gaia/eval/webapp/node_modules/parseurl/HISTORY.md +0 -58
  608. gaia/eval/webapp/node_modules/parseurl/LICENSE +0 -24
  609. gaia/eval/webapp/node_modules/parseurl/README.md +0 -133
  610. gaia/eval/webapp/node_modules/parseurl/index.js +0 -158
  611. gaia/eval/webapp/node_modules/parseurl/package.json +0 -40
  612. gaia/eval/webapp/node_modules/path/.npmignore +0 -1
  613. gaia/eval/webapp/node_modules/path/LICENSE +0 -18
  614. gaia/eval/webapp/node_modules/path/README.md +0 -15
  615. gaia/eval/webapp/node_modules/path/package.json +0 -24
  616. gaia/eval/webapp/node_modules/path/path.js +0 -628
  617. gaia/eval/webapp/node_modules/path-to-regexp/LICENSE +0 -21
  618. gaia/eval/webapp/node_modules/path-to-regexp/Readme.md +0 -35
  619. gaia/eval/webapp/node_modules/path-to-regexp/index.js +0 -156
  620. gaia/eval/webapp/node_modules/path-to-regexp/package.json +0 -30
  621. gaia/eval/webapp/node_modules/process/.eslintrc +0 -21
  622. gaia/eval/webapp/node_modules/process/LICENSE +0 -22
  623. gaia/eval/webapp/node_modules/process/README.md +0 -26
  624. gaia/eval/webapp/node_modules/process/browser.js +0 -184
  625. gaia/eval/webapp/node_modules/process/index.js +0 -2
  626. gaia/eval/webapp/node_modules/process/package.json +0 -27
  627. gaia/eval/webapp/node_modules/process/test.js +0 -199
  628. gaia/eval/webapp/node_modules/proxy-addr/HISTORY.md +0 -161
  629. gaia/eval/webapp/node_modules/proxy-addr/LICENSE +0 -22
  630. gaia/eval/webapp/node_modules/proxy-addr/README.md +0 -139
  631. gaia/eval/webapp/node_modules/proxy-addr/index.js +0 -327
  632. gaia/eval/webapp/node_modules/proxy-addr/package.json +0 -47
  633. gaia/eval/webapp/node_modules/qs/.editorconfig +0 -46
  634. gaia/eval/webapp/node_modules/qs/.eslintrc +0 -38
  635. gaia/eval/webapp/node_modules/qs/.github/FUNDING.yml +0 -12
  636. gaia/eval/webapp/node_modules/qs/.nycrc +0 -13
  637. gaia/eval/webapp/node_modules/qs/CHANGELOG.md +0 -600
  638. gaia/eval/webapp/node_modules/qs/LICENSE.md +0 -29
  639. gaia/eval/webapp/node_modules/qs/README.md +0 -709
  640. gaia/eval/webapp/node_modules/qs/dist/qs.js +0 -90
  641. gaia/eval/webapp/node_modules/qs/lib/formats.js +0 -23
  642. gaia/eval/webapp/node_modules/qs/lib/index.js +0 -11
  643. gaia/eval/webapp/node_modules/qs/lib/parse.js +0 -296
  644. gaia/eval/webapp/node_modules/qs/lib/stringify.js +0 -351
  645. gaia/eval/webapp/node_modules/qs/lib/utils.js +0 -265
  646. gaia/eval/webapp/node_modules/qs/package.json +0 -91
  647. gaia/eval/webapp/node_modules/qs/test/empty-keys-cases.js +0 -267
  648. gaia/eval/webapp/node_modules/qs/test/parse.js +0 -1170
  649. gaia/eval/webapp/node_modules/qs/test/stringify.js +0 -1298
  650. gaia/eval/webapp/node_modules/qs/test/utils.js +0 -136
  651. gaia/eval/webapp/node_modules/range-parser/HISTORY.md +0 -56
  652. gaia/eval/webapp/node_modules/range-parser/LICENSE +0 -23
  653. gaia/eval/webapp/node_modules/range-parser/README.md +0 -84
  654. gaia/eval/webapp/node_modules/range-parser/index.js +0 -162
  655. gaia/eval/webapp/node_modules/range-parser/package.json +0 -44
  656. gaia/eval/webapp/node_modules/raw-body/HISTORY.md +0 -308
  657. gaia/eval/webapp/node_modules/raw-body/LICENSE +0 -22
  658. gaia/eval/webapp/node_modules/raw-body/README.md +0 -223
  659. gaia/eval/webapp/node_modules/raw-body/SECURITY.md +0 -24
  660. gaia/eval/webapp/node_modules/raw-body/index.d.ts +0 -87
  661. gaia/eval/webapp/node_modules/raw-body/index.js +0 -336
  662. gaia/eval/webapp/node_modules/raw-body/package.json +0 -49
  663. gaia/eval/webapp/node_modules/safe-buffer/LICENSE +0 -21
  664. gaia/eval/webapp/node_modules/safe-buffer/README.md +0 -584
  665. gaia/eval/webapp/node_modules/safe-buffer/index.d.ts +0 -187
  666. gaia/eval/webapp/node_modules/safe-buffer/index.js +0 -65
  667. gaia/eval/webapp/node_modules/safe-buffer/package.json +0 -51
  668. gaia/eval/webapp/node_modules/safer-buffer/LICENSE +0 -21
  669. gaia/eval/webapp/node_modules/safer-buffer/Porting-Buffer.md +0 -268
  670. gaia/eval/webapp/node_modules/safer-buffer/Readme.md +0 -156
  671. gaia/eval/webapp/node_modules/safer-buffer/dangerous.js +0 -58
  672. gaia/eval/webapp/node_modules/safer-buffer/package.json +0 -34
  673. gaia/eval/webapp/node_modules/safer-buffer/safer.js +0 -77
  674. gaia/eval/webapp/node_modules/safer-buffer/tests.js +0 -406
  675. gaia/eval/webapp/node_modules/send/HISTORY.md +0 -526
  676. gaia/eval/webapp/node_modules/send/LICENSE +0 -23
  677. gaia/eval/webapp/node_modules/send/README.md +0 -327
  678. gaia/eval/webapp/node_modules/send/SECURITY.md +0 -24
  679. gaia/eval/webapp/node_modules/send/index.js +0 -1142
  680. gaia/eval/webapp/node_modules/send/node_modules/encodeurl/HISTORY.md +0 -14
  681. gaia/eval/webapp/node_modules/send/node_modules/encodeurl/LICENSE +0 -22
  682. gaia/eval/webapp/node_modules/send/node_modules/encodeurl/README.md +0 -128
  683. gaia/eval/webapp/node_modules/send/node_modules/encodeurl/index.js +0 -60
  684. gaia/eval/webapp/node_modules/send/node_modules/encodeurl/package.json +0 -40
  685. gaia/eval/webapp/node_modules/send/node_modules/ms/index.js +0 -162
  686. gaia/eval/webapp/node_modules/send/node_modules/ms/license.md +0 -21
  687. gaia/eval/webapp/node_modules/send/node_modules/ms/package.json +0 -38
  688. gaia/eval/webapp/node_modules/send/node_modules/ms/readme.md +0 -59
  689. gaia/eval/webapp/node_modules/send/package.json +0 -62
  690. gaia/eval/webapp/node_modules/serve-static/HISTORY.md +0 -487
  691. gaia/eval/webapp/node_modules/serve-static/LICENSE +0 -25
  692. gaia/eval/webapp/node_modules/serve-static/README.md +0 -257
  693. gaia/eval/webapp/node_modules/serve-static/index.js +0 -209
  694. gaia/eval/webapp/node_modules/serve-static/package.json +0 -42
  695. gaia/eval/webapp/node_modules/setprototypeof/LICENSE +0 -13
  696. gaia/eval/webapp/node_modules/setprototypeof/README.md +0 -31
  697. gaia/eval/webapp/node_modules/setprototypeof/index.d.ts +0 -2
  698. gaia/eval/webapp/node_modules/setprototypeof/index.js +0 -17
  699. gaia/eval/webapp/node_modules/setprototypeof/package.json +0 -38
  700. gaia/eval/webapp/node_modules/setprototypeof/test/index.js +0 -24
  701. gaia/eval/webapp/node_modules/side-channel/.editorconfig +0 -9
  702. gaia/eval/webapp/node_modules/side-channel/.eslintrc +0 -12
  703. gaia/eval/webapp/node_modules/side-channel/.github/FUNDING.yml +0 -12
  704. gaia/eval/webapp/node_modules/side-channel/.nycrc +0 -13
  705. gaia/eval/webapp/node_modules/side-channel/CHANGELOG.md +0 -110
  706. gaia/eval/webapp/node_modules/side-channel/LICENSE +0 -21
  707. gaia/eval/webapp/node_modules/side-channel/README.md +0 -61
  708. gaia/eval/webapp/node_modules/side-channel/index.d.ts +0 -14
  709. gaia/eval/webapp/node_modules/side-channel/index.js +0 -43
  710. gaia/eval/webapp/node_modules/side-channel/package.json +0 -85
  711. gaia/eval/webapp/node_modules/side-channel/test/index.js +0 -104
  712. gaia/eval/webapp/node_modules/side-channel/tsconfig.json +0 -9
  713. gaia/eval/webapp/node_modules/side-channel-list/.editorconfig +0 -9
  714. gaia/eval/webapp/node_modules/side-channel-list/.eslintrc +0 -11
  715. gaia/eval/webapp/node_modules/side-channel-list/.github/FUNDING.yml +0 -12
  716. gaia/eval/webapp/node_modules/side-channel-list/.nycrc +0 -13
  717. gaia/eval/webapp/node_modules/side-channel-list/CHANGELOG.md +0 -15
  718. gaia/eval/webapp/node_modules/side-channel-list/LICENSE +0 -21
  719. gaia/eval/webapp/node_modules/side-channel-list/README.md +0 -62
  720. gaia/eval/webapp/node_modules/side-channel-list/index.d.ts +0 -13
  721. gaia/eval/webapp/node_modules/side-channel-list/index.js +0 -113
  722. gaia/eval/webapp/node_modules/side-channel-list/list.d.ts +0 -14
  723. gaia/eval/webapp/node_modules/side-channel-list/package.json +0 -77
  724. gaia/eval/webapp/node_modules/side-channel-list/test/index.js +0 -104
  725. gaia/eval/webapp/node_modules/side-channel-list/tsconfig.json +0 -9
  726. gaia/eval/webapp/node_modules/side-channel-map/.editorconfig +0 -9
  727. gaia/eval/webapp/node_modules/side-channel-map/.eslintrc +0 -11
  728. gaia/eval/webapp/node_modules/side-channel-map/.github/FUNDING.yml +0 -12
  729. gaia/eval/webapp/node_modules/side-channel-map/.nycrc +0 -13
  730. gaia/eval/webapp/node_modules/side-channel-map/CHANGELOG.md +0 -22
  731. gaia/eval/webapp/node_modules/side-channel-map/LICENSE +0 -21
  732. gaia/eval/webapp/node_modules/side-channel-map/README.md +0 -62
  733. gaia/eval/webapp/node_modules/side-channel-map/index.d.ts +0 -15
  734. gaia/eval/webapp/node_modules/side-channel-map/index.js +0 -68
  735. gaia/eval/webapp/node_modules/side-channel-map/package.json +0 -80
  736. gaia/eval/webapp/node_modules/side-channel-map/test/index.js +0 -114
  737. gaia/eval/webapp/node_modules/side-channel-map/tsconfig.json +0 -9
  738. gaia/eval/webapp/node_modules/side-channel-weakmap/.editorconfig +0 -9
  739. gaia/eval/webapp/node_modules/side-channel-weakmap/.eslintrc +0 -12
  740. gaia/eval/webapp/node_modules/side-channel-weakmap/.github/FUNDING.yml +0 -12
  741. gaia/eval/webapp/node_modules/side-channel-weakmap/.nycrc +0 -13
  742. gaia/eval/webapp/node_modules/side-channel-weakmap/CHANGELOG.md +0 -28
  743. gaia/eval/webapp/node_modules/side-channel-weakmap/LICENSE +0 -21
  744. gaia/eval/webapp/node_modules/side-channel-weakmap/README.md +0 -62
  745. gaia/eval/webapp/node_modules/side-channel-weakmap/index.d.ts +0 -15
  746. gaia/eval/webapp/node_modules/side-channel-weakmap/index.js +0 -84
  747. gaia/eval/webapp/node_modules/side-channel-weakmap/package.json +0 -87
  748. gaia/eval/webapp/node_modules/side-channel-weakmap/test/index.js +0 -114
  749. gaia/eval/webapp/node_modules/side-channel-weakmap/tsconfig.json +0 -9
  750. gaia/eval/webapp/node_modules/statuses/HISTORY.md +0 -82
  751. gaia/eval/webapp/node_modules/statuses/LICENSE +0 -23
  752. gaia/eval/webapp/node_modules/statuses/README.md +0 -136
  753. gaia/eval/webapp/node_modules/statuses/codes.json +0 -65
  754. gaia/eval/webapp/node_modules/statuses/index.js +0 -146
  755. gaia/eval/webapp/node_modules/statuses/package.json +0 -49
  756. gaia/eval/webapp/node_modules/toidentifier/HISTORY.md +0 -9
  757. gaia/eval/webapp/node_modules/toidentifier/LICENSE +0 -21
  758. gaia/eval/webapp/node_modules/toidentifier/README.md +0 -61
  759. gaia/eval/webapp/node_modules/toidentifier/index.js +0 -32
  760. gaia/eval/webapp/node_modules/toidentifier/package.json +0 -38
  761. gaia/eval/webapp/node_modules/type-is/HISTORY.md +0 -259
  762. gaia/eval/webapp/node_modules/type-is/LICENSE +0 -23
  763. gaia/eval/webapp/node_modules/type-is/README.md +0 -170
  764. gaia/eval/webapp/node_modules/type-is/index.js +0 -266
  765. gaia/eval/webapp/node_modules/type-is/package.json +0 -45
  766. gaia/eval/webapp/node_modules/unpipe/HISTORY.md +0 -4
  767. gaia/eval/webapp/node_modules/unpipe/LICENSE +0 -22
  768. gaia/eval/webapp/node_modules/unpipe/README.md +0 -43
  769. gaia/eval/webapp/node_modules/unpipe/index.js +0 -69
  770. gaia/eval/webapp/node_modules/unpipe/package.json +0 -27
  771. gaia/eval/webapp/node_modules/util/LICENSE +0 -18
  772. gaia/eval/webapp/node_modules/util/README.md +0 -15
  773. gaia/eval/webapp/node_modules/util/node_modules/inherits/LICENSE +0 -16
  774. gaia/eval/webapp/node_modules/util/node_modules/inherits/README.md +0 -42
  775. gaia/eval/webapp/node_modules/util/node_modules/inherits/inherits.js +0 -7
  776. gaia/eval/webapp/node_modules/util/node_modules/inherits/inherits_browser.js +0 -23
  777. gaia/eval/webapp/node_modules/util/node_modules/inherits/package.json +0 -29
  778. gaia/eval/webapp/node_modules/util/package.json +0 -35
  779. gaia/eval/webapp/node_modules/util/support/isBuffer.js +0 -3
  780. gaia/eval/webapp/node_modules/util/support/isBufferBrowser.js +0 -6
  781. gaia/eval/webapp/node_modules/util/util.js +0 -586
  782. gaia/eval/webapp/node_modules/utils-merge/.npmignore +0 -9
  783. gaia/eval/webapp/node_modules/utils-merge/LICENSE +0 -20
  784. gaia/eval/webapp/node_modules/utils-merge/README.md +0 -34
  785. gaia/eval/webapp/node_modules/utils-merge/index.js +0 -23
  786. gaia/eval/webapp/node_modules/utils-merge/package.json +0 -40
  787. gaia/eval/webapp/node_modules/vary/HISTORY.md +0 -39
  788. gaia/eval/webapp/node_modules/vary/LICENSE +0 -22
  789. gaia/eval/webapp/node_modules/vary/README.md +0 -101
  790. gaia/eval/webapp/node_modules/vary/index.js +0 -149
  791. gaia/eval/webapp/node_modules/vary/package.json +0 -43
  792. {amd_gaia-0.14.1.dist-info → amd_gaia-0.14.3.dist-info}/WHEEL +0 -0
  793. {amd_gaia-0.14.1.dist-info → amd_gaia-0.14.3.dist-info}/licenses/LICENSE.md +0 -0
  794. {amd_gaia-0.14.1.dist-info → amd_gaia-0.14.3.dist-info}/top_level.txt +0 -0
gaia/agents/base/agent.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright(C) 2024-2025 Advanced Micro Devices, Inc. All rights reserved.
1
+ # Copyright(C) 2025-2026 Advanced Micro Devices, Inc. All rights reserved.
2
2
  # SPDX-License-Identifier: MIT
3
3
  """
4
4
  Generic Agent class for building domain-specific agents.
@@ -17,6 +17,7 @@ import uuid
17
17
  from typing import Any, Dict, List, Optional
18
18
 
19
19
  from gaia.agents.base.console import AgentConsole, SilentConsole
20
+ from gaia.agents.base.errors import format_execution_trace
20
21
  from gaia.agents.base.tools import _TOOL_REGISTRY
21
22
 
22
23
  # First-party imports
@@ -123,6 +124,9 @@ class Agent(abc.ABC):
123
124
  self.debug = debug
124
125
  self.last_result = None # Store the most recent result
125
126
  self.max_plan_iterations = max_plan_iterations
127
+ self._current_query: Optional[str] = (
128
+ None # Store current query for error context
129
+ )
126
130
 
127
131
  # Read base_url from environment if not provided
128
132
  if base_url is None:
@@ -159,9 +163,38 @@ class Agent(abc.ABC):
159
163
  # Register tools for this agent
160
164
  self._register_tools()
161
165
 
162
- # Update system prompt with available tools
166
+ # Update system prompt with available tools and response format
163
167
  tools_description = self._format_tools_for_prompt()
164
- self.system_prompt += f"\n\n==== AVAILABLE TOOLS ====\n{tools_description}\n\n"
168
+ self.system_prompt += f"\n\n==== AVAILABLE TOOLS ====\n{tools_description}\n"
169
+
170
+ # Add JSON response format instructions (shared across all agents)
171
+ self.system_prompt += """
172
+ ==== RESPONSE FORMAT ====
173
+ You must respond ONLY in valid JSON. No text before { or after }.
174
+
175
+ **To call a tool:**
176
+ {"thought": "reasoning", "goal": "objective", "tool": "tool_name", "tool_args": {"arg1": "value1"}}
177
+
178
+ **To create a multi-step plan:**
179
+ {
180
+ "thought": "reasoning",
181
+ "goal": "objective",
182
+ "plan": [
183
+ {"tool": "tool1", "tool_args": {"arg": "val"}},
184
+ {"tool": "tool2", "tool_args": {"arg": "val"}}
185
+ ],
186
+ "tool": "tool1",
187
+ "tool_args": {"arg": "val"}
188
+ }
189
+
190
+ **To provide a final answer:**
191
+ {"thought": "reasoning", "goal": "achieved", "answer": "response to user"}
192
+
193
+ **RULES:**
194
+ 1. ALWAYS use tools for real data - NEVER hallucinate
195
+ 2. Plan steps MUST be objects like {"tool": "x", "tool_args": {}}, NOT strings
196
+ 3. After tool results, provide an "answer" summarizing them
197
+ """
165
198
 
166
199
  # Initialize ChatSDK with proper configuration
167
200
  # Note: We don't set system_prompt in config, we pass it per request
@@ -199,12 +232,11 @@ class Agent(abc.ABC):
199
232
  """
200
233
  raise NotImplementedError("Subclasses must implement _get_system_prompt")
201
234
 
202
- @abc.abstractmethod
203
235
  def _create_console(self):
204
236
  """
205
237
  Create and return a console output handler.
206
238
  Returns SilentConsole if in silent_mode, otherwise AgentConsole.
207
- Subclasses should override this to provide domain-specific console output.
239
+ Subclasses can override this to provide domain-specific console output.
208
240
  """
209
241
  if self.silent_mode:
210
242
  # Check if we should completely silence everything (including final answer)
@@ -758,9 +790,29 @@ class Agent(abc.ABC):
758
790
  self.error_history.append(error_msg)
759
791
  return {"status": "error", "error": error_msg, "timeout": True}
760
792
  except Exception as e:
761
- logger.error(f"Error executing tool {tool_name}: {str(e)}")
762
- self.error_history.append(str(e))
763
- return {"status": "error", "error": str(e)}
793
+ # Format error with full execution trace for debugging
794
+ formatted_error = format_execution_trace(
795
+ exception=e,
796
+ query=getattr(self, "_current_query", None),
797
+ plan_step=self.current_step + 1 if self.current_plan else None,
798
+ total_steps=self.total_plan_steps if self.current_plan else None,
799
+ tool_name=tool_name,
800
+ tool_args=tool_args,
801
+ )
802
+ logger.error(f"Error executing tool {tool_name}: {e}")
803
+ self.error_history.append(str(e)) # Store brief error, not formatted
804
+
805
+ # Print to console immediately so user sees it
806
+ self.console.print_error(formatted_error)
807
+
808
+ return {
809
+ "status": "error",
810
+ "error_brief": str(e), # Brief error message for quick reference
811
+ "error_displayed": True, # Flag to prevent duplicate display
812
+ "tool_name": tool_name,
813
+ "tool_args": tool_args,
814
+ "plan_step": self.current_step + 1 if self.current_plan else None,
815
+ }
764
816
 
765
817
  def _generate_max_steps_message(
766
818
  self, conversation: List[Dict], steps_taken: int, steps_limit: int
@@ -858,7 +910,8 @@ class Agent(abc.ABC):
858
910
  """
859
911
  truncated_result = tool_result
860
912
  if isinstance(tool_result, (dict, list)):
861
- result_str = json.dumps(tool_result)
913
+ # Use custom encoder to handle bytes and other non-serializable types
914
+ result_str = json.dumps(tool_result, default=self._json_serialize_fallback)
862
915
  if (
863
916
  len(result_str) > 30000
864
917
  ): # Threshold for truncation (appropriate for 32K context)
@@ -899,7 +952,9 @@ class Agent(abc.ABC):
899
952
  text_content = self._truncate_large_content(tool_output, max_chars=2000)
900
953
 
901
954
  if not isinstance(text_content, str):
902
- text_content = json.dumps(tool_output)
955
+ text_content = json.dumps(
956
+ tool_output, default=self._json_serialize_fallback
957
+ )
903
958
 
904
959
  return {
905
960
  "role": "tool",
@@ -908,6 +963,40 @@ class Agent(abc.ABC):
908
963
  "content": [{"type": "text", "text": text_content}],
909
964
  }
910
965
 
966
+ def _json_serialize_fallback(self, obj: Any) -> Any:
967
+ """
968
+ Fallback serializer for JSON encoding non-standard types.
969
+
970
+ Handles bytes, datetime, and other common non-serializable types.
971
+ """
972
+ try:
973
+ import numpy as np # Local import to avoid hard dependency at module import time
974
+
975
+ if isinstance(obj, np.generic):
976
+ return obj.item()
977
+ if isinstance(obj, np.ndarray):
978
+ return obj.tolist()
979
+ except Exception:
980
+ pass
981
+
982
+ if isinstance(obj, bytes):
983
+ # For binary data, return a placeholder (don't expose raw bytes to LLM)
984
+ return f"<binary data: {len(obj)} bytes>"
985
+ if hasattr(obj, "isoformat"):
986
+ # Handle datetime objects
987
+ return obj.isoformat()
988
+ if hasattr(obj, "__dict__"):
989
+ # Handle objects with __dict__
990
+ return obj.__dict__
991
+
992
+ for caster in (float, int, str):
993
+ try:
994
+ return caster(obj)
995
+ except Exception:
996
+ continue
997
+
998
+ return "<non-serializable>"
999
+
911
1000
  def _truncate_large_content(self, content: Any, max_chars: int = 2000) -> str:
912
1001
  """
913
1002
  Truncate large content to prevent overwhelming the LLM.
@@ -920,14 +1009,14 @@ class Agent(abc.ABC):
920
1009
  if isinstance(content, dict) and (
921
1010
  "test_results" in content or "run_tests" in content
922
1011
  ):
923
- return json.dumps(content)
1012
+ return json.dumps(content, default=self._json_serialize_fallback)
924
1013
 
925
1014
  # Convert to string (use compact JSON first to check size)
926
1015
  if isinstance(content, (dict, list)):
927
- compact_str = json.dumps(content)
1016
+ compact_str = json.dumps(content, default=self._json_serialize_fallback)
928
1017
  # Only use indented format if we need to truncate anyway
929
1018
  content_str = (
930
- json.dumps(content, indent=2)
1019
+ json.dumps(content, indent=2, default=self._json_serialize_fallback)
931
1020
  if len(compact_str) > max_chars
932
1021
  else compact_str
933
1022
  )
@@ -959,13 +1048,17 @@ class Agent(abc.ABC):
959
1048
  + chunk["content"][-CHUNK_TRUNCATION_SIZE:]
960
1049
  )
961
1050
 
962
- result_str = json.dumps(truncated, indent=2)
1051
+ result_str = json.dumps(
1052
+ truncated, indent=2, default=self._json_serialize_fallback
1053
+ )
963
1054
  # Use larger limit for chunked responses since chunks are the actual data
964
1055
  if len(result_str) <= max_chars * 3: # Allow up to 60KB for chunked data
965
1056
  return result_str
966
1057
  # If still too large, keep first 3 chunks only
967
1058
  truncated["chunks"] = truncated["chunks"][:3]
968
- return json.dumps(truncated, indent=2)
1059
+ return json.dumps(
1060
+ truncated, indent=2, default=self._json_serialize_fallback
1061
+ )
969
1062
 
970
1063
  # For Jira responses, keep first 3 issues
971
1064
  if (
@@ -979,7 +1072,9 @@ class Agent(abc.ABC):
979
1072
  "truncated": True,
980
1073
  "total": len(content["issues"]),
981
1074
  }
982
- return json.dumps(truncated, indent=2)[:max_chars]
1075
+ return json.dumps(
1076
+ truncated, indent=2, default=self._json_serialize_fallback
1077
+ )[:max_chars]
983
1078
 
984
1079
  # For lists, keep first 3 items
985
1080
  if isinstance(content, list):
@@ -988,7 +1083,9 @@ class Agent(abc.ABC):
988
1083
  if len(content) > 3
989
1084
  else content
990
1085
  )
991
- return json.dumps(truncated, indent=2)[:max_chars]
1086
+ return json.dumps(
1087
+ truncated, indent=2, default=self._json_serialize_fallback
1088
+ )[:max_chars]
992
1089
 
993
1090
  # Simple truncation
994
1091
  half = max_chars // 2 - 20
@@ -1018,6 +1115,9 @@ class Agent(abc.ABC):
1018
1115
 
1019
1116
  start_time = time.time() # Track query processing start time
1020
1117
 
1118
+ # Store query for error context (used in _execute_tool for error formatting)
1119
+ self._current_query = user_input
1120
+
1021
1121
  logger.debug(f"Processing query: {user_input}")
1022
1122
  conversation = []
1023
1123
  # Build messages array for chat completions
@@ -1184,11 +1284,6 @@ class Agent(abc.ABC):
1184
1284
  tool_name, tool_result, conversation, tool_args
1185
1285
  )
1186
1286
 
1187
- # Add tool result to messages array so LLM can see it in next turn
1188
- # Format as user message for proper chat flow (user → assistant → user → assistant)
1189
- tool_result_content = f"Tool result: {json.dumps(truncated_result) if isinstance(truncated_result, dict) else truncated_result}"
1190
- messages.append({"role": "user", "content": tool_result_content})
1191
-
1192
1287
  # Display the tool result in real-time (show full result to user)
1193
1288
  self.console.print_tool_complete()
1194
1289
 
@@ -1220,8 +1315,10 @@ class Agent(abc.ABC):
1220
1315
  if is_error:
1221
1316
  error_count += 1
1222
1317
  # Extract error message from various formats
1318
+ # Prefer error_brief for logging (avoids duplicate formatted output)
1223
1319
  last_error = (
1224
- tool_result.get("error")
1320
+ tool_result.get("error_brief")
1321
+ or tool_result.get("error")
1225
1322
  or tool_result.get("stderr")
1226
1323
  or tool_result.get("hint") # Many tools provide hints
1227
1324
  or tool_result.get(
@@ -1232,7 +1329,9 @@ class Agent(abc.ABC):
1232
1329
  logger.warning(
1233
1330
  f"Tool execution error in plan (count: {error_count}): {last_error}"
1234
1331
  )
1235
- self.console.print_error(last_error)
1332
+ # Only print if error wasn't already displayed by _execute_tool
1333
+ if not tool_result.get("error_displayed"):
1334
+ self.console.print_error(last_error)
1236
1335
 
1237
1336
  # Switch to error recovery state
1238
1337
  self.execution_state = self.STATE_ERROR_RECOVERY
@@ -1271,7 +1370,9 @@ class Agent(abc.ABC):
1271
1370
  "completed_plan": self.current_plan,
1272
1371
  "total_steps": self.total_plan_steps,
1273
1372
  }
1274
- plan_context_raw = json.dumps(plan_context)
1373
+ plan_context_raw = json.dumps(
1374
+ plan_context, default=self._json_serialize_fallback
1375
+ )
1275
1376
  if len(plan_context_raw) > 20000:
1276
1377
  plan_context_str = self._truncate_large_content(
1277
1378
  plan_context, max_chars=20000
@@ -1317,7 +1418,6 @@ class Agent(abc.ABC):
1317
1418
  )
1318
1419
 
1319
1420
  # Send the completion prompt to get final answer
1320
- self.console.print_step_header(steps_taken, steps_limit)
1321
1421
  self.console.print_state_info(
1322
1422
  "COMPLETION: Requesting final answer"
1323
1423
  )
@@ -1585,7 +1685,7 @@ class Agent(abc.ABC):
1585
1685
  if deferred_tool:
1586
1686
  plan_prompt += (
1587
1687
  f"You initially wanted to use the {deferred_tool} tool with these arguments:\n"
1588
- f"{json.dumps(deferred_args, indent=2)}\n\n"
1688
+ f"{json.dumps(deferred_args, indent=2, default=self._json_serialize_fallback)}\n\n"
1589
1689
  "However, you MUST first create a plan. Please create a plan that includes this tool usage as a step.\n\n"
1590
1690
  )
1591
1691
 
@@ -1681,16 +1781,17 @@ class Agent(abc.ABC):
1681
1781
 
1682
1782
  # Set the parsed response to the new plan for further processing
1683
1783
  parsed = parsed_plan
1784
+ else:
1785
+ # Display the agent's reasoning in real-time (only if provided)
1786
+ # Skip if we just displayed thought/goal for a plan request above
1787
+ thought = parsed.get("thought", "").strip()
1788
+ goal = parsed.get("goal", "").strip()
1684
1789
 
1685
- # Display the agent's reasoning in real-time (only if provided)
1686
- thought = parsed.get("thought", "").strip()
1687
- goal = parsed.get("goal", "").strip()
1688
-
1689
- if thought and thought != "No explicit reasoning provided":
1690
- self.console.print_thought(thought)
1790
+ if thought and thought != "No explicit reasoning provided":
1791
+ self.console.print_thought(thought)
1691
1792
 
1692
- if goal and goal != "No explicit goal provided":
1693
- self.console.print_goal(goal)
1793
+ if goal and goal != "No explicit goal provided":
1794
+ self.console.print_goal(goal)
1694
1795
 
1695
1796
  # Process plan if available
1696
1797
  if "plan" in parsed:
@@ -1867,8 +1968,10 @@ class Agent(abc.ABC):
1867
1968
  )
1868
1969
  if is_error:
1869
1970
  error_count += 1
1971
+ # Prefer error_brief for logging (avoids duplicate formatted output)
1870
1972
  last_error = (
1871
- tool_result.get("error")
1973
+ tool_result.get("error_brief")
1974
+ or tool_result.get("error")
1872
1975
  or tool_result.get("stderr")
1873
1976
  or tool_result.get("hint")
1874
1977
  or tool_result.get("suggested_fix")
@@ -1877,7 +1980,9 @@ class Agent(abc.ABC):
1877
1980
  logger.warning(
1878
1981
  f"Tool execution error in plan (count: {error_count}): {last_error}"
1879
1982
  )
1880
- self.console.print_error(last_error)
1983
+ # Only print if error wasn't already displayed by _execute_tool
1984
+ if not tool_result.get("error_displayed"):
1985
+ self.console.print_error(last_error)
1881
1986
 
1882
1987
  # Switch to error recovery state
1883
1988
  self.execution_state = self.STATE_ERROR_RECOVERY
@@ -1,4 +1,4 @@
1
- # Copyright(C) 2024-2025 Advanced Micro Devices, Inc. All rights reserved.
1
+ # Copyright(C) 2025-2026 Advanced Micro Devices, Inc. All rights reserved.
2
2
  # SPDX-License-Identifier: MIT
3
3
  """
4
4
  API Agent Base Class - Mixin for OpenAI API-compatible agents