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/testing/mocks.py ADDED
@@ -0,0 +1,493 @@
1
+ # Copyright(C) 2025-2026 Advanced Micro Devices, Inc. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+
4
+ """Mock providers for testing GAIA agents without real LLM/VLM services."""
5
+
6
+ import logging
7
+ import time
8
+ from typing import Any, Dict, Iterator, List, Optional
9
+
10
+ logger = logging.getLogger(__name__)
11
+
12
+
13
+ class MockLLMProvider:
14
+ """
15
+ Mock LLM provider for testing agents without real API calls.
16
+
17
+ Returns pre-configured responses instead of calling a real LLM.
18
+ Tracks all calls for test assertions.
19
+
20
+ Example:
21
+ from gaia.testing import MockLLMProvider
22
+
23
+ mock_llm = MockLLMProvider(responses=["First response", "Second response"])
24
+
25
+ # Use in tests
26
+ result = mock_llm.generate("Test prompt")
27
+ assert result == "First response"
28
+
29
+ result = mock_llm.generate("Another prompt")
30
+ assert result == "Second response"
31
+
32
+ # Check call history
33
+ assert len(mock_llm.call_history) == 2
34
+ assert mock_llm.call_history[0]["prompt"] == "Test prompt"
35
+ """
36
+
37
+ def __init__(
38
+ self,
39
+ responses: Optional[List[str]] = None,
40
+ tool_responses: Optional[Dict[str, Any]] = None,
41
+ default_response: str = "Mock LLM response",
42
+ ):
43
+ """
44
+ Initialize mock LLM provider.
45
+
46
+ Args:
47
+ responses: List of responses to return in sequence.
48
+ Cycles back to first if more calls than responses.
49
+ tool_responses: Dict mapping tool names to their mock results.
50
+ Used when simulating tool calls.
51
+ default_response: Response when responses list is exhausted or empty.
52
+ """
53
+ self.responses = responses or []
54
+ self.tool_responses = tool_responses or {}
55
+ self.default_response = default_response
56
+ self.call_history: List[Dict[str, Any]] = []
57
+ self._response_index = 0
58
+
59
+ def generate(
60
+ self,
61
+ prompt: str,
62
+ system_prompt: Optional[str] = None,
63
+ temperature: float = 0.7,
64
+ max_tokens: Optional[int] = None,
65
+ **kwargs,
66
+ ) -> str:
67
+ """
68
+ Generate mock response.
69
+
70
+ Args:
71
+ prompt: Input prompt (recorded but not processed)
72
+ system_prompt: System prompt (recorded)
73
+ temperature: Temperature setting (recorded)
74
+ max_tokens: Max tokens (recorded)
75
+ **kwargs: Additional parameters (recorded)
76
+
77
+ Returns:
78
+ Next response from response list, or default_response
79
+ """
80
+ self.call_history.append(
81
+ {
82
+ "method": "generate",
83
+ "prompt": prompt,
84
+ "system_prompt": system_prompt,
85
+ "temperature": temperature,
86
+ "max_tokens": max_tokens,
87
+ "kwargs": kwargs,
88
+ "timestamp": time.time(),
89
+ }
90
+ )
91
+
92
+ if self.responses:
93
+ response = self.responses[self._response_index % len(self.responses)]
94
+ self._response_index += 1
95
+ return response
96
+
97
+ return self.default_response
98
+
99
+ def chat(
100
+ self,
101
+ messages: List[Dict[str, str]],
102
+ **kwargs,
103
+ ) -> str:
104
+ """
105
+ Mock chat completion (messages format).
106
+
107
+ Args:
108
+ messages: List of message dicts with 'role' and 'content'
109
+ **kwargs: Additional parameters
110
+
111
+ Returns:
112
+ Next response from response list
113
+ """
114
+ # Extract the last user message as the prompt
115
+ prompt = ""
116
+ for msg in reversed(messages):
117
+ if msg.get("role") == "user":
118
+ prompt = msg.get("content", "")
119
+ break
120
+
121
+ self.call_history.append(
122
+ {
123
+ "method": "chat",
124
+ "messages": messages,
125
+ "prompt": prompt,
126
+ "kwargs": kwargs,
127
+ "timestamp": time.time(),
128
+ }
129
+ )
130
+
131
+ if self.responses:
132
+ response = self.responses[self._response_index % len(self.responses)]
133
+ self._response_index += 1
134
+ return response
135
+
136
+ return self.default_response
137
+
138
+ def stream(
139
+ self,
140
+ prompt: str,
141
+ **kwargs,
142
+ ) -> Iterator[str]:
143
+ """
144
+ Mock streaming response.
145
+
146
+ Yields the full response as a single chunk for simplicity.
147
+
148
+ Args:
149
+ prompt: Input prompt
150
+ **kwargs: Additional parameters
151
+
152
+ Yields:
153
+ Response chunks (full response as single chunk)
154
+ """
155
+ response = self.generate(prompt, **kwargs)
156
+ # Update the last call to note it was streaming
157
+ if self.call_history:
158
+ self.call_history[-1]["method"] = "stream"
159
+ yield response
160
+
161
+ def complete(self, prompt: str, **kwargs) -> str:
162
+ """Alias for generate() for compatibility."""
163
+ return self.generate(prompt, **kwargs)
164
+
165
+ def get_tool_response(self, tool_name: str) -> Any:
166
+ """
167
+ Get mock response for a tool call.
168
+
169
+ Args:
170
+ tool_name: Name of the tool
171
+
172
+ Returns:
173
+ Configured mock result or default dict
174
+ """
175
+ return self.tool_responses.get(tool_name, {"status": "success"})
176
+
177
+ @property
178
+ def was_called(self) -> bool:
179
+ """Check if any method was called."""
180
+ return len(self.call_history) > 0
181
+
182
+ @property
183
+ def call_count(self) -> int:
184
+ """Number of times LLM was called."""
185
+ return len(self.call_history)
186
+
187
+ @property
188
+ def last_prompt(self) -> Optional[str]:
189
+ """Get the last prompt that was sent."""
190
+ if self.call_history:
191
+ return self.call_history[-1].get("prompt")
192
+ return None
193
+
194
+ def reset(self) -> None:
195
+ """Reset call history and response index."""
196
+ self.call_history = []
197
+ self._response_index = 0
198
+
199
+ def set_responses(self, responses: List[str]) -> None:
200
+ """
201
+ Set new responses and reset index.
202
+
203
+ Args:
204
+ responses: New list of responses
205
+ """
206
+ self.responses = responses
207
+ self._response_index = 0
208
+
209
+
210
+ class MockVLMClient:
211
+ """
212
+ Mock VLM client for testing image processing without real API calls.
213
+
214
+ Returns pre-configured text instead of processing images.
215
+ Tracks all calls for test assertions.
216
+
217
+ Example:
218
+ from gaia.testing import MockVLMClient
219
+
220
+ mock_vlm = MockVLMClient(
221
+ extracted_text='{"name": "John", "dob": "1990-01-01"}'
222
+ )
223
+
224
+ # Inject into agent
225
+ agent = MyAgent()
226
+ agent.vlm = mock_vlm
227
+
228
+ # Test extraction
229
+ result = agent.extract_form("test.png")
230
+
231
+ # Verify VLM was called
232
+ assert mock_vlm.was_called
233
+ assert mock_vlm.call_count == 1
234
+ """
235
+
236
+ def __init__(
237
+ self,
238
+ extracted_text: str = "Mock extracted text",
239
+ extraction_results: Optional[List[str]] = None,
240
+ is_available: bool = True,
241
+ ):
242
+ """
243
+ Initialize mock VLM client.
244
+
245
+ Args:
246
+ extracted_text: Default text to return from extract_from_image()
247
+ extraction_results: List of results to return in sequence
248
+ is_available: Whether check_availability() returns True
249
+ """
250
+ self.extracted_text = extracted_text
251
+ self.extraction_results = extraction_results or []
252
+ self.is_available = is_available
253
+ self.call_history: List[Dict[str, Any]] = []
254
+ self._result_index = 0
255
+
256
+ def check_availability(self) -> bool:
257
+ """
258
+ Check if VLM is available.
259
+
260
+ Returns:
261
+ Configured is_available value
262
+ """
263
+ return self.is_available
264
+
265
+ def extract_from_image(
266
+ self,
267
+ image_bytes: bytes,
268
+ prompt: Optional[str] = None,
269
+ **kwargs,
270
+ ) -> str:
271
+ """
272
+ Mock image text extraction.
273
+
274
+ Args:
275
+ image_bytes: Image data (recorded but not processed)
276
+ prompt: Extraction prompt (recorded)
277
+ **kwargs: Additional parameters
278
+
279
+ Returns:
280
+ Pre-configured extracted text
281
+ """
282
+ self.call_history.append(
283
+ {
284
+ "method": "extract_from_image",
285
+ "image_size": len(image_bytes) if image_bytes else 0,
286
+ "prompt": prompt,
287
+ "kwargs": kwargs,
288
+ "timestamp": time.time(),
289
+ }
290
+ )
291
+
292
+ if self.extraction_results:
293
+ result = self.extraction_results[
294
+ self._result_index % len(self.extraction_results)
295
+ ]
296
+ self._result_index += 1
297
+ return result
298
+
299
+ return self.extracted_text
300
+
301
+ def extract_from_file(
302
+ self,
303
+ file_path: str,
304
+ prompt: Optional[str] = None,
305
+ **kwargs,
306
+ ) -> str:
307
+ """
308
+ Mock file-based extraction.
309
+
310
+ Args:
311
+ file_path: Path to image file
312
+ prompt: Extraction prompt
313
+
314
+ Returns:
315
+ Pre-configured extracted text
316
+ """
317
+ self.call_history.append(
318
+ {
319
+ "method": "extract_from_file",
320
+ "file_path": file_path,
321
+ "prompt": prompt,
322
+ "kwargs": kwargs,
323
+ "timestamp": time.time(),
324
+ }
325
+ )
326
+
327
+ if self.extraction_results:
328
+ result = self.extraction_results[
329
+ self._result_index % len(self.extraction_results)
330
+ ]
331
+ self._result_index += 1
332
+ return result
333
+
334
+ return self.extracted_text
335
+
336
+ def describe_image(
337
+ self,
338
+ image_bytes: bytes,
339
+ prompt: Optional[str] = None,
340
+ **kwargs,
341
+ ) -> str:
342
+ """
343
+ Mock image description.
344
+
345
+ Args:
346
+ image_bytes: Image data
347
+ prompt: Description prompt
348
+
349
+ Returns:
350
+ Pre-configured text
351
+ """
352
+ return self.extract_from_image(image_bytes, prompt, **kwargs)
353
+
354
+ @property
355
+ def was_called(self) -> bool:
356
+ """Check if any extraction method was called."""
357
+ return len(self.call_history) > 0
358
+
359
+ @property
360
+ def call_count(self) -> int:
361
+ """Number of times extraction was called."""
362
+ return len(self.call_history)
363
+
364
+ @property
365
+ def last_prompt(self) -> Optional[str]:
366
+ """Get the last prompt that was sent."""
367
+ if self.call_history:
368
+ return self.call_history[-1].get("prompt")
369
+ return None
370
+
371
+ def reset(self) -> None:
372
+ """Reset call history and result index."""
373
+ self.call_history = []
374
+ self._result_index = 0
375
+
376
+ def set_extracted_text(self, text: str) -> None:
377
+ """
378
+ Set new extracted text.
379
+
380
+ Args:
381
+ text: New text to return
382
+ """
383
+ self.extracted_text = text
384
+
385
+
386
+ class MockToolExecutor:
387
+ """
388
+ Mock tool executor for testing tool calls.
389
+
390
+ Tracks tool calls and returns configurable results.
391
+
392
+ Example:
393
+ from gaia.testing import MockToolExecutor
394
+
395
+ executor = MockToolExecutor(
396
+ results={
397
+ "search": {"results": ["item1", "item2"]},
398
+ "create_record": {"id": 123, "status": "created"},
399
+ }
400
+ )
401
+
402
+ result = executor.execute("search", {"query": "test"})
403
+ assert result == {"results": ["item1", "item2"]}
404
+
405
+ assert executor.was_tool_called("search")
406
+ assert executor.get_tool_args("search") == {"query": "test"}
407
+ """
408
+
409
+ def __init__(
410
+ self,
411
+ results: Optional[Dict[str, Any]] = None,
412
+ default_result: Optional[Dict[str, Any]] = None,
413
+ ):
414
+ """
415
+ Initialize mock tool executor.
416
+
417
+ Args:
418
+ results: Dict mapping tool names to their results
419
+ default_result: Default result for unknown tools
420
+ """
421
+ self.results = results or {}
422
+ self.default_result = default_result or {"status": "success"}
423
+ self.call_history: List[Dict[str, Any]] = []
424
+
425
+ def execute(self, tool_name: str, args: Dict[str, Any]) -> Any:
426
+ """
427
+ Execute a mock tool.
428
+
429
+ Args:
430
+ tool_name: Name of the tool
431
+ args: Tool arguments
432
+
433
+ Returns:
434
+ Configured result for the tool
435
+ """
436
+ self.call_history.append(
437
+ {
438
+ "tool": tool_name,
439
+ "args": args,
440
+ "timestamp": time.time(),
441
+ }
442
+ )
443
+
444
+ return self.results.get(tool_name, self.default_result)
445
+
446
+ def was_tool_called(self, tool_name: str) -> bool:
447
+ """
448
+ Check if a specific tool was called.
449
+
450
+ Args:
451
+ tool_name: Name of the tool
452
+
453
+ Returns:
454
+ True if tool was called at least once
455
+ """
456
+ return any(call["tool"] == tool_name for call in self.call_history)
457
+
458
+ def get_tool_calls(self, tool_name: str) -> List[Dict[str, Any]]:
459
+ """
460
+ Get all calls to a specific tool.
461
+
462
+ Args:
463
+ tool_name: Name of the tool
464
+
465
+ Returns:
466
+ List of call records for that tool
467
+ """
468
+ return [call for call in self.call_history if call["tool"] == tool_name]
469
+
470
+ def get_tool_args(self, tool_name: str, call_index: int = 0) -> Optional[Dict]:
471
+ """
472
+ Get arguments from a specific tool call.
473
+
474
+ Args:
475
+ tool_name: Name of the tool
476
+ call_index: Which call to get (0 = first call)
477
+
478
+ Returns:
479
+ Arguments dict or None if not found
480
+ """
481
+ calls = self.get_tool_calls(tool_name)
482
+ if call_index < len(calls):
483
+ return calls[call_index]["args"]
484
+ return None
485
+
486
+ @property
487
+ def tool_names_called(self) -> List[str]:
488
+ """Get list of all tool names that were called."""
489
+ return list(set(call["tool"] for call in self.call_history))
490
+
491
+ def reset(self) -> None:
492
+ """Reset call history."""
493
+ self.call_history = []
gaia/util.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
  import subprocess
gaia/utils/__init__.py ADDED
@@ -0,0 +1,33 @@
1
+ # Copyright(C) 2025-2026 Advanced Micro Devices, Inc. All rights reserved.
2
+ # SPDX-License-Identifier: MIT
3
+
4
+ """GAIA utilities."""
5
+
6
+ from gaia.utils.file_watcher import (
7
+ FileChangeHandler,
8
+ FileWatcher,
9
+ FileWatcherMixin,
10
+ compute_bytes_hash,
11
+ compute_file_hash,
12
+ )
13
+ from gaia.utils.parsing import (
14
+ detect_field_changes,
15
+ extract_json_from_text,
16
+ pdf_page_to_image,
17
+ validate_required_fields,
18
+ )
19
+
20
+ __all__ = [
21
+ # File watching
22
+ "FileChangeHandler",
23
+ "FileWatcher",
24
+ "FileWatcherMixin",
25
+ # File hashing
26
+ "compute_file_hash",
27
+ "compute_bytes_hash",
28
+ # Parsing utilities
29
+ "extract_json_from_text",
30
+ "pdf_page_to_image",
31
+ "detect_field_changes",
32
+ "validate_required_fields",
33
+ ]