amd-gaia 0.14.2__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 (788) hide show
  1. {amd_gaia-0.14.2.dist-info → amd_gaia-0.14.3.dist-info}/METADATA +5 -2
  2. amd_gaia-0.14.3.dist-info/RECORD +168 -0
  3. {amd_gaia-0.14.2.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 +110 -33
  8. gaia/agents/base/api_agent.py +1 -1
  9. gaia/agents/base/console.py +399 -15
  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 +36 -153
  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 +1 -1
  35. gaia/agents/code/orchestration/checklist_generator.py +1 -1
  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 +212 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  62. gaia/agents/code/tools/code_tools.py +1 -1
  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 +1 -2
  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/audio/__init__.py +1 -1
  91. gaia/audio/audio_client.py +1 -1
  92. gaia/audio/audio_recorder.py +1 -1
  93. gaia/audio/kokoro_tts.py +1 -1
  94. gaia/audio/whisper_asr.py +1 -1
  95. gaia/chat/__init__.py +1 -1
  96. gaia/chat/prompts.py +1 -1
  97. gaia/chat/sdk.py +25 -0
  98. gaia/cli.py +2 -2
  99. gaia/database/__init__.py +10 -0
  100. gaia/database/agent.py +176 -0
  101. gaia/database/mixin.py +290 -0
  102. gaia/database/testing.py +64 -0
  103. gaia/eval/batch_experiment.py +1 -1
  104. gaia/eval/claude.py +1 -1
  105. gaia/eval/config.py +1 -1
  106. gaia/eval/email_generator.py +1 -1
  107. gaia/eval/eval.py +1 -1
  108. gaia/eval/groundtruth.py +1 -1
  109. gaia/eval/transcript_generator.py +1 -1
  110. gaia/eval/webapp/public/app.js +1 -1
  111. gaia/eval/webapp/server.js +1 -1
  112. gaia/eval/webapp/test-setup.js +1 -1
  113. gaia/llm/__init__.py +1 -1
  114. gaia/llm/lemonade_client.py +149 -11
  115. gaia/llm/lemonade_manager.py +36 -11
  116. gaia/llm/llm_client.py +1 -1
  117. gaia/llm/vlm_client.py +93 -18
  118. gaia/logger.py +1 -1
  119. gaia/mcp/agent_mcp_server.py +1 -1
  120. gaia/mcp/blender_mcp_client.py +1 -1
  121. gaia/mcp/blender_mcp_server.py +1 -1
  122. gaia/mcp/context7_cache.py +1 -1
  123. gaia/mcp/servers/__init__.py +1 -1
  124. gaia/mcp/servers/docker_mcp.py +1 -1
  125. gaia/security.py +1 -1
  126. gaia/testing/__init__.py +87 -0
  127. gaia/testing/assertions.py +330 -0
  128. gaia/testing/fixtures.py +333 -0
  129. gaia/testing/mocks.py +493 -0
  130. gaia/util.py +1 -1
  131. gaia/utils/__init__.py +33 -0
  132. gaia/utils/file_watcher.py +675 -0
  133. gaia/utils/parsing.py +223 -0
  134. gaia/version.py +2 -2
  135. amd_gaia-0.14.2.dist-info/RECORD +0 -800
  136. gaia/eval/webapp/node_modules/.bin/mime +0 -16
  137. gaia/eval/webapp/node_modules/.bin/mime.cmd +0 -17
  138. gaia/eval/webapp/node_modules/.bin/mime.ps1 +0 -28
  139. gaia/eval/webapp/node_modules/.package-lock.json +0 -865
  140. gaia/eval/webapp/node_modules/accepts/HISTORY.md +0 -243
  141. gaia/eval/webapp/node_modules/accepts/LICENSE +0 -23
  142. gaia/eval/webapp/node_modules/accepts/README.md +0 -140
  143. gaia/eval/webapp/node_modules/accepts/index.js +0 -238
  144. gaia/eval/webapp/node_modules/accepts/package.json +0 -47
  145. gaia/eval/webapp/node_modules/array-flatten/LICENSE +0 -21
  146. gaia/eval/webapp/node_modules/array-flatten/README.md +0 -43
  147. gaia/eval/webapp/node_modules/array-flatten/array-flatten.js +0 -64
  148. gaia/eval/webapp/node_modules/array-flatten/package.json +0 -39
  149. gaia/eval/webapp/node_modules/body-parser/HISTORY.md +0 -672
  150. gaia/eval/webapp/node_modules/body-parser/LICENSE +0 -23
  151. gaia/eval/webapp/node_modules/body-parser/README.md +0 -476
  152. gaia/eval/webapp/node_modules/body-parser/SECURITY.md +0 -25
  153. gaia/eval/webapp/node_modules/body-parser/index.js +0 -156
  154. gaia/eval/webapp/node_modules/body-parser/lib/read.js +0 -205
  155. gaia/eval/webapp/node_modules/body-parser/lib/types/json.js +0 -247
  156. gaia/eval/webapp/node_modules/body-parser/lib/types/raw.js +0 -101
  157. gaia/eval/webapp/node_modules/body-parser/lib/types/text.js +0 -121
  158. gaia/eval/webapp/node_modules/body-parser/lib/types/urlencoded.js +0 -307
  159. gaia/eval/webapp/node_modules/body-parser/package.json +0 -56
  160. gaia/eval/webapp/node_modules/bytes/History.md +0 -97
  161. gaia/eval/webapp/node_modules/bytes/LICENSE +0 -23
  162. gaia/eval/webapp/node_modules/bytes/Readme.md +0 -152
  163. gaia/eval/webapp/node_modules/bytes/index.js +0 -170
  164. gaia/eval/webapp/node_modules/bytes/package.json +0 -42
  165. gaia/eval/webapp/node_modules/call-bind-apply-helpers/.eslintrc +0 -17
  166. gaia/eval/webapp/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +0 -12
  167. gaia/eval/webapp/node_modules/call-bind-apply-helpers/.nycrc +0 -9
  168. gaia/eval/webapp/node_modules/call-bind-apply-helpers/CHANGELOG.md +0 -30
  169. gaia/eval/webapp/node_modules/call-bind-apply-helpers/LICENSE +0 -21
  170. gaia/eval/webapp/node_modules/call-bind-apply-helpers/README.md +0 -62
  171. gaia/eval/webapp/node_modules/call-bind-apply-helpers/actualApply.d.ts +0 -1
  172. gaia/eval/webapp/node_modules/call-bind-apply-helpers/actualApply.js +0 -10
  173. gaia/eval/webapp/node_modules/call-bind-apply-helpers/applyBind.d.ts +0 -19
  174. gaia/eval/webapp/node_modules/call-bind-apply-helpers/applyBind.js +0 -10
  175. gaia/eval/webapp/node_modules/call-bind-apply-helpers/functionApply.d.ts +0 -1
  176. gaia/eval/webapp/node_modules/call-bind-apply-helpers/functionApply.js +0 -4
  177. gaia/eval/webapp/node_modules/call-bind-apply-helpers/functionCall.d.ts +0 -1
  178. gaia/eval/webapp/node_modules/call-bind-apply-helpers/functionCall.js +0 -4
  179. gaia/eval/webapp/node_modules/call-bind-apply-helpers/index.d.ts +0 -64
  180. gaia/eval/webapp/node_modules/call-bind-apply-helpers/index.js +0 -15
  181. gaia/eval/webapp/node_modules/call-bind-apply-helpers/package.json +0 -85
  182. gaia/eval/webapp/node_modules/call-bind-apply-helpers/reflectApply.d.ts +0 -3
  183. gaia/eval/webapp/node_modules/call-bind-apply-helpers/reflectApply.js +0 -4
  184. gaia/eval/webapp/node_modules/call-bind-apply-helpers/test/index.js +0 -63
  185. gaia/eval/webapp/node_modules/call-bind-apply-helpers/tsconfig.json +0 -9
  186. gaia/eval/webapp/node_modules/call-bound/.eslintrc +0 -13
  187. gaia/eval/webapp/node_modules/call-bound/.github/FUNDING.yml +0 -12
  188. gaia/eval/webapp/node_modules/call-bound/.nycrc +0 -9
  189. gaia/eval/webapp/node_modules/call-bound/CHANGELOG.md +0 -42
  190. gaia/eval/webapp/node_modules/call-bound/LICENSE +0 -21
  191. gaia/eval/webapp/node_modules/call-bound/README.md +0 -53
  192. gaia/eval/webapp/node_modules/call-bound/index.d.ts +0 -94
  193. gaia/eval/webapp/node_modules/call-bound/index.js +0 -19
  194. gaia/eval/webapp/node_modules/call-bound/package.json +0 -99
  195. gaia/eval/webapp/node_modules/call-bound/test/index.js +0 -61
  196. gaia/eval/webapp/node_modules/call-bound/tsconfig.json +0 -10
  197. gaia/eval/webapp/node_modules/content-disposition/HISTORY.md +0 -60
  198. gaia/eval/webapp/node_modules/content-disposition/LICENSE +0 -22
  199. gaia/eval/webapp/node_modules/content-disposition/README.md +0 -142
  200. gaia/eval/webapp/node_modules/content-disposition/index.js +0 -458
  201. gaia/eval/webapp/node_modules/content-disposition/package.json +0 -44
  202. gaia/eval/webapp/node_modules/content-type/HISTORY.md +0 -29
  203. gaia/eval/webapp/node_modules/content-type/LICENSE +0 -22
  204. gaia/eval/webapp/node_modules/content-type/README.md +0 -94
  205. gaia/eval/webapp/node_modules/content-type/index.js +0 -225
  206. gaia/eval/webapp/node_modules/content-type/package.json +0 -42
  207. gaia/eval/webapp/node_modules/cookie/LICENSE +0 -24
  208. gaia/eval/webapp/node_modules/cookie/README.md +0 -317
  209. gaia/eval/webapp/node_modules/cookie/SECURITY.md +0 -25
  210. gaia/eval/webapp/node_modules/cookie/index.js +0 -334
  211. gaia/eval/webapp/node_modules/cookie/package.json +0 -44
  212. gaia/eval/webapp/node_modules/cookie-signature/.npmignore +0 -4
  213. gaia/eval/webapp/node_modules/cookie-signature/History.md +0 -38
  214. gaia/eval/webapp/node_modules/cookie-signature/Readme.md +0 -42
  215. gaia/eval/webapp/node_modules/cookie-signature/index.js +0 -51
  216. gaia/eval/webapp/node_modules/cookie-signature/package.json +0 -18
  217. gaia/eval/webapp/node_modules/debug/.coveralls.yml +0 -1
  218. gaia/eval/webapp/node_modules/debug/.eslintrc +0 -11
  219. gaia/eval/webapp/node_modules/debug/.npmignore +0 -9
  220. gaia/eval/webapp/node_modules/debug/.travis.yml +0 -14
  221. gaia/eval/webapp/node_modules/debug/CHANGELOG.md +0 -362
  222. gaia/eval/webapp/node_modules/debug/LICENSE +0 -19
  223. gaia/eval/webapp/node_modules/debug/Makefile +0 -50
  224. gaia/eval/webapp/node_modules/debug/README.md +0 -312
  225. gaia/eval/webapp/node_modules/debug/component.json +0 -19
  226. gaia/eval/webapp/node_modules/debug/karma.conf.js +0 -70
  227. gaia/eval/webapp/node_modules/debug/node.js +0 -1
  228. gaia/eval/webapp/node_modules/debug/package.json +0 -49
  229. gaia/eval/webapp/node_modules/debug/src/browser.js +0 -185
  230. gaia/eval/webapp/node_modules/debug/src/debug.js +0 -202
  231. gaia/eval/webapp/node_modules/debug/src/index.js +0 -10
  232. gaia/eval/webapp/node_modules/debug/src/inspector-log.js +0 -15
  233. gaia/eval/webapp/node_modules/debug/src/node.js +0 -248
  234. gaia/eval/webapp/node_modules/depd/History.md +0 -103
  235. gaia/eval/webapp/node_modules/depd/LICENSE +0 -22
  236. gaia/eval/webapp/node_modules/depd/Readme.md +0 -280
  237. gaia/eval/webapp/node_modules/depd/index.js +0 -538
  238. gaia/eval/webapp/node_modules/depd/lib/browser/index.js +0 -77
  239. gaia/eval/webapp/node_modules/depd/package.json +0 -45
  240. gaia/eval/webapp/node_modules/destroy/LICENSE +0 -23
  241. gaia/eval/webapp/node_modules/destroy/README.md +0 -63
  242. gaia/eval/webapp/node_modules/destroy/index.js +0 -209
  243. gaia/eval/webapp/node_modules/destroy/package.json +0 -48
  244. gaia/eval/webapp/node_modules/dunder-proto/.eslintrc +0 -5
  245. gaia/eval/webapp/node_modules/dunder-proto/.github/FUNDING.yml +0 -12
  246. gaia/eval/webapp/node_modules/dunder-proto/.nycrc +0 -13
  247. gaia/eval/webapp/node_modules/dunder-proto/CHANGELOG.md +0 -24
  248. gaia/eval/webapp/node_modules/dunder-proto/LICENSE +0 -21
  249. gaia/eval/webapp/node_modules/dunder-proto/README.md +0 -54
  250. gaia/eval/webapp/node_modules/dunder-proto/get.d.ts +0 -5
  251. gaia/eval/webapp/node_modules/dunder-proto/get.js +0 -30
  252. gaia/eval/webapp/node_modules/dunder-proto/package.json +0 -76
  253. gaia/eval/webapp/node_modules/dunder-proto/set.d.ts +0 -5
  254. gaia/eval/webapp/node_modules/dunder-proto/set.js +0 -35
  255. gaia/eval/webapp/node_modules/dunder-proto/test/get.js +0 -34
  256. gaia/eval/webapp/node_modules/dunder-proto/test/index.js +0 -4
  257. gaia/eval/webapp/node_modules/dunder-proto/test/set.js +0 -50
  258. gaia/eval/webapp/node_modules/dunder-proto/tsconfig.json +0 -9
  259. gaia/eval/webapp/node_modules/ee-first/LICENSE +0 -22
  260. gaia/eval/webapp/node_modules/ee-first/README.md +0 -80
  261. gaia/eval/webapp/node_modules/ee-first/index.js +0 -95
  262. gaia/eval/webapp/node_modules/ee-first/package.json +0 -29
  263. gaia/eval/webapp/node_modules/encodeurl/LICENSE +0 -22
  264. gaia/eval/webapp/node_modules/encodeurl/README.md +0 -109
  265. gaia/eval/webapp/node_modules/encodeurl/index.js +0 -60
  266. gaia/eval/webapp/node_modules/encodeurl/package.json +0 -40
  267. gaia/eval/webapp/node_modules/es-define-property/.eslintrc +0 -13
  268. gaia/eval/webapp/node_modules/es-define-property/.github/FUNDING.yml +0 -12
  269. gaia/eval/webapp/node_modules/es-define-property/.nycrc +0 -9
  270. gaia/eval/webapp/node_modules/es-define-property/CHANGELOG.md +0 -29
  271. gaia/eval/webapp/node_modules/es-define-property/LICENSE +0 -21
  272. gaia/eval/webapp/node_modules/es-define-property/README.md +0 -49
  273. gaia/eval/webapp/node_modules/es-define-property/index.d.ts +0 -3
  274. gaia/eval/webapp/node_modules/es-define-property/index.js +0 -14
  275. gaia/eval/webapp/node_modules/es-define-property/package.json +0 -81
  276. gaia/eval/webapp/node_modules/es-define-property/test/index.js +0 -56
  277. gaia/eval/webapp/node_modules/es-define-property/tsconfig.json +0 -10
  278. gaia/eval/webapp/node_modules/es-errors/.eslintrc +0 -5
  279. gaia/eval/webapp/node_modules/es-errors/.github/FUNDING.yml +0 -12
  280. gaia/eval/webapp/node_modules/es-errors/CHANGELOG.md +0 -40
  281. gaia/eval/webapp/node_modules/es-errors/LICENSE +0 -21
  282. gaia/eval/webapp/node_modules/es-errors/README.md +0 -55
  283. gaia/eval/webapp/node_modules/es-errors/eval.d.ts +0 -3
  284. gaia/eval/webapp/node_modules/es-errors/eval.js +0 -4
  285. gaia/eval/webapp/node_modules/es-errors/index.d.ts +0 -3
  286. gaia/eval/webapp/node_modules/es-errors/index.js +0 -4
  287. gaia/eval/webapp/node_modules/es-errors/package.json +0 -80
  288. gaia/eval/webapp/node_modules/es-errors/range.d.ts +0 -3
  289. gaia/eval/webapp/node_modules/es-errors/range.js +0 -4
  290. gaia/eval/webapp/node_modules/es-errors/ref.d.ts +0 -3
  291. gaia/eval/webapp/node_modules/es-errors/ref.js +0 -4
  292. gaia/eval/webapp/node_modules/es-errors/syntax.d.ts +0 -3
  293. gaia/eval/webapp/node_modules/es-errors/syntax.js +0 -4
  294. gaia/eval/webapp/node_modules/es-errors/test/index.js +0 -19
  295. gaia/eval/webapp/node_modules/es-errors/tsconfig.json +0 -49
  296. gaia/eval/webapp/node_modules/es-errors/type.d.ts +0 -3
  297. gaia/eval/webapp/node_modules/es-errors/type.js +0 -4
  298. gaia/eval/webapp/node_modules/es-errors/uri.d.ts +0 -3
  299. gaia/eval/webapp/node_modules/es-errors/uri.js +0 -4
  300. gaia/eval/webapp/node_modules/es-object-atoms/.eslintrc +0 -16
  301. gaia/eval/webapp/node_modules/es-object-atoms/.github/FUNDING.yml +0 -12
  302. gaia/eval/webapp/node_modules/es-object-atoms/CHANGELOG.md +0 -37
  303. gaia/eval/webapp/node_modules/es-object-atoms/LICENSE +0 -21
  304. gaia/eval/webapp/node_modules/es-object-atoms/README.md +0 -63
  305. gaia/eval/webapp/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +0 -3
  306. gaia/eval/webapp/node_modules/es-object-atoms/RequireObjectCoercible.js +0 -11
  307. gaia/eval/webapp/node_modules/es-object-atoms/ToObject.d.ts +0 -7
  308. gaia/eval/webapp/node_modules/es-object-atoms/ToObject.js +0 -10
  309. gaia/eval/webapp/node_modules/es-object-atoms/index.d.ts +0 -3
  310. gaia/eval/webapp/node_modules/es-object-atoms/index.js +0 -4
  311. gaia/eval/webapp/node_modules/es-object-atoms/isObject.d.ts +0 -3
  312. gaia/eval/webapp/node_modules/es-object-atoms/isObject.js +0 -6
  313. gaia/eval/webapp/node_modules/es-object-atoms/package.json +0 -80
  314. gaia/eval/webapp/node_modules/es-object-atoms/test/index.js +0 -38
  315. gaia/eval/webapp/node_modules/es-object-atoms/tsconfig.json +0 -6
  316. gaia/eval/webapp/node_modules/escape-html/LICENSE +0 -24
  317. gaia/eval/webapp/node_modules/escape-html/Readme.md +0 -43
  318. gaia/eval/webapp/node_modules/escape-html/index.js +0 -78
  319. gaia/eval/webapp/node_modules/escape-html/package.json +0 -24
  320. gaia/eval/webapp/node_modules/etag/HISTORY.md +0 -83
  321. gaia/eval/webapp/node_modules/etag/LICENSE +0 -22
  322. gaia/eval/webapp/node_modules/etag/README.md +0 -159
  323. gaia/eval/webapp/node_modules/etag/index.js +0 -131
  324. gaia/eval/webapp/node_modules/etag/package.json +0 -47
  325. gaia/eval/webapp/node_modules/express/History.md +0 -3656
  326. gaia/eval/webapp/node_modules/express/LICENSE +0 -24
  327. gaia/eval/webapp/node_modules/express/Readme.md +0 -260
  328. gaia/eval/webapp/node_modules/express/index.js +0 -11
  329. gaia/eval/webapp/node_modules/express/lib/application.js +0 -661
  330. gaia/eval/webapp/node_modules/express/lib/express.js +0 -116
  331. gaia/eval/webapp/node_modules/express/lib/middleware/init.js +0 -43
  332. gaia/eval/webapp/node_modules/express/lib/middleware/query.js +0 -47
  333. gaia/eval/webapp/node_modules/express/lib/request.js +0 -525
  334. gaia/eval/webapp/node_modules/express/lib/response.js +0 -1179
  335. gaia/eval/webapp/node_modules/express/lib/router/index.js +0 -673
  336. gaia/eval/webapp/node_modules/express/lib/router/layer.js +0 -181
  337. gaia/eval/webapp/node_modules/express/lib/router/route.js +0 -230
  338. gaia/eval/webapp/node_modules/express/lib/utils.js +0 -303
  339. gaia/eval/webapp/node_modules/express/lib/view.js +0 -182
  340. gaia/eval/webapp/node_modules/express/package.json +0 -102
  341. gaia/eval/webapp/node_modules/finalhandler/HISTORY.md +0 -210
  342. gaia/eval/webapp/node_modules/finalhandler/LICENSE +0 -22
  343. gaia/eval/webapp/node_modules/finalhandler/README.md +0 -147
  344. gaia/eval/webapp/node_modules/finalhandler/SECURITY.md +0 -25
  345. gaia/eval/webapp/node_modules/finalhandler/index.js +0 -341
  346. gaia/eval/webapp/node_modules/finalhandler/package.json +0 -47
  347. gaia/eval/webapp/node_modules/forwarded/HISTORY.md +0 -21
  348. gaia/eval/webapp/node_modules/forwarded/LICENSE +0 -22
  349. gaia/eval/webapp/node_modules/forwarded/README.md +0 -57
  350. gaia/eval/webapp/node_modules/forwarded/index.js +0 -90
  351. gaia/eval/webapp/node_modules/forwarded/package.json +0 -45
  352. gaia/eval/webapp/node_modules/fresh/HISTORY.md +0 -70
  353. gaia/eval/webapp/node_modules/fresh/LICENSE +0 -23
  354. gaia/eval/webapp/node_modules/fresh/README.md +0 -119
  355. gaia/eval/webapp/node_modules/fresh/index.js +0 -137
  356. gaia/eval/webapp/node_modules/fresh/package.json +0 -46
  357. gaia/eval/webapp/node_modules/fs/README.md +0 -9
  358. gaia/eval/webapp/node_modules/fs/package.json +0 -20
  359. gaia/eval/webapp/node_modules/function-bind/.eslintrc +0 -21
  360. gaia/eval/webapp/node_modules/function-bind/.github/FUNDING.yml +0 -12
  361. gaia/eval/webapp/node_modules/function-bind/.github/SECURITY.md +0 -3
  362. gaia/eval/webapp/node_modules/function-bind/.nycrc +0 -13
  363. gaia/eval/webapp/node_modules/function-bind/CHANGELOG.md +0 -136
  364. gaia/eval/webapp/node_modules/function-bind/LICENSE +0 -20
  365. gaia/eval/webapp/node_modules/function-bind/README.md +0 -46
  366. gaia/eval/webapp/node_modules/function-bind/implementation.js +0 -84
  367. gaia/eval/webapp/node_modules/function-bind/index.js +0 -5
  368. gaia/eval/webapp/node_modules/function-bind/package.json +0 -87
  369. gaia/eval/webapp/node_modules/function-bind/test/.eslintrc +0 -9
  370. gaia/eval/webapp/node_modules/function-bind/test/index.js +0 -252
  371. gaia/eval/webapp/node_modules/get-intrinsic/.eslintrc +0 -42
  372. gaia/eval/webapp/node_modules/get-intrinsic/.github/FUNDING.yml +0 -12
  373. gaia/eval/webapp/node_modules/get-intrinsic/.nycrc +0 -9
  374. gaia/eval/webapp/node_modules/get-intrinsic/CHANGELOG.md +0 -186
  375. gaia/eval/webapp/node_modules/get-intrinsic/LICENSE +0 -21
  376. gaia/eval/webapp/node_modules/get-intrinsic/README.md +0 -71
  377. gaia/eval/webapp/node_modules/get-intrinsic/index.js +0 -378
  378. gaia/eval/webapp/node_modules/get-intrinsic/package.json +0 -97
  379. gaia/eval/webapp/node_modules/get-intrinsic/test/GetIntrinsic.js +0 -274
  380. gaia/eval/webapp/node_modules/get-proto/.eslintrc +0 -10
  381. gaia/eval/webapp/node_modules/get-proto/.github/FUNDING.yml +0 -12
  382. gaia/eval/webapp/node_modules/get-proto/.nycrc +0 -9
  383. gaia/eval/webapp/node_modules/get-proto/CHANGELOG.md +0 -21
  384. gaia/eval/webapp/node_modules/get-proto/LICENSE +0 -21
  385. gaia/eval/webapp/node_modules/get-proto/Object.getPrototypeOf.d.ts +0 -5
  386. gaia/eval/webapp/node_modules/get-proto/Object.getPrototypeOf.js +0 -6
  387. gaia/eval/webapp/node_modules/get-proto/README.md +0 -50
  388. gaia/eval/webapp/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +0 -3
  389. gaia/eval/webapp/node_modules/get-proto/Reflect.getPrototypeOf.js +0 -4
  390. gaia/eval/webapp/node_modules/get-proto/index.d.ts +0 -5
  391. gaia/eval/webapp/node_modules/get-proto/index.js +0 -27
  392. gaia/eval/webapp/node_modules/get-proto/package.json +0 -81
  393. gaia/eval/webapp/node_modules/get-proto/test/index.js +0 -68
  394. gaia/eval/webapp/node_modules/get-proto/tsconfig.json +0 -9
  395. gaia/eval/webapp/node_modules/gopd/.eslintrc +0 -16
  396. gaia/eval/webapp/node_modules/gopd/.github/FUNDING.yml +0 -12
  397. gaia/eval/webapp/node_modules/gopd/CHANGELOG.md +0 -45
  398. gaia/eval/webapp/node_modules/gopd/LICENSE +0 -21
  399. gaia/eval/webapp/node_modules/gopd/README.md +0 -40
  400. gaia/eval/webapp/node_modules/gopd/gOPD.d.ts +0 -1
  401. gaia/eval/webapp/node_modules/gopd/gOPD.js +0 -4
  402. gaia/eval/webapp/node_modules/gopd/index.d.ts +0 -5
  403. gaia/eval/webapp/node_modules/gopd/index.js +0 -15
  404. gaia/eval/webapp/node_modules/gopd/package.json +0 -77
  405. gaia/eval/webapp/node_modules/gopd/test/index.js +0 -36
  406. gaia/eval/webapp/node_modules/gopd/tsconfig.json +0 -9
  407. gaia/eval/webapp/node_modules/has-symbols/.eslintrc +0 -11
  408. gaia/eval/webapp/node_modules/has-symbols/.github/FUNDING.yml +0 -12
  409. gaia/eval/webapp/node_modules/has-symbols/.nycrc +0 -9
  410. gaia/eval/webapp/node_modules/has-symbols/CHANGELOG.md +0 -91
  411. gaia/eval/webapp/node_modules/has-symbols/LICENSE +0 -21
  412. gaia/eval/webapp/node_modules/has-symbols/README.md +0 -46
  413. gaia/eval/webapp/node_modules/has-symbols/index.d.ts +0 -3
  414. gaia/eval/webapp/node_modules/has-symbols/index.js +0 -14
  415. gaia/eval/webapp/node_modules/has-symbols/package.json +0 -111
  416. gaia/eval/webapp/node_modules/has-symbols/shams.d.ts +0 -3
  417. gaia/eval/webapp/node_modules/has-symbols/shams.js +0 -45
  418. gaia/eval/webapp/node_modules/has-symbols/test/index.js +0 -22
  419. gaia/eval/webapp/node_modules/has-symbols/test/shams/core-js.js +0 -29
  420. gaia/eval/webapp/node_modules/has-symbols/test/shams/get-own-property-symbols.js +0 -29
  421. gaia/eval/webapp/node_modules/has-symbols/test/tests.js +0 -58
  422. gaia/eval/webapp/node_modules/has-symbols/tsconfig.json +0 -10
  423. gaia/eval/webapp/node_modules/hasown/.eslintrc +0 -5
  424. gaia/eval/webapp/node_modules/hasown/.github/FUNDING.yml +0 -12
  425. gaia/eval/webapp/node_modules/hasown/.nycrc +0 -13
  426. gaia/eval/webapp/node_modules/hasown/CHANGELOG.md +0 -40
  427. gaia/eval/webapp/node_modules/hasown/LICENSE +0 -21
  428. gaia/eval/webapp/node_modules/hasown/README.md +0 -40
  429. gaia/eval/webapp/node_modules/hasown/index.d.ts +0 -3
  430. gaia/eval/webapp/node_modules/hasown/index.js +0 -8
  431. gaia/eval/webapp/node_modules/hasown/package.json +0 -92
  432. gaia/eval/webapp/node_modules/hasown/tsconfig.json +0 -6
  433. gaia/eval/webapp/node_modules/http-errors/HISTORY.md +0 -180
  434. gaia/eval/webapp/node_modules/http-errors/LICENSE +0 -23
  435. gaia/eval/webapp/node_modules/http-errors/README.md +0 -169
  436. gaia/eval/webapp/node_modules/http-errors/index.js +0 -289
  437. gaia/eval/webapp/node_modules/http-errors/package.json +0 -50
  438. gaia/eval/webapp/node_modules/iconv-lite/Changelog.md +0 -162
  439. gaia/eval/webapp/node_modules/iconv-lite/LICENSE +0 -21
  440. gaia/eval/webapp/node_modules/iconv-lite/README.md +0 -156
  441. gaia/eval/webapp/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -555
  442. gaia/eval/webapp/node_modules/iconv-lite/encodings/dbcs-data.js +0 -176
  443. gaia/eval/webapp/node_modules/iconv-lite/encodings/index.js +0 -22
  444. gaia/eval/webapp/node_modules/iconv-lite/encodings/internal.js +0 -188
  445. gaia/eval/webapp/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
  446. gaia/eval/webapp/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  447. gaia/eval/webapp/node_modules/iconv-lite/encodings/sbcs-data.js +0 -174
  448. gaia/eval/webapp/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  449. gaia/eval/webapp/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  450. gaia/eval/webapp/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  451. gaia/eval/webapp/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  452. gaia/eval/webapp/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  453. gaia/eval/webapp/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  454. gaia/eval/webapp/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -55
  455. gaia/eval/webapp/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  456. gaia/eval/webapp/node_modules/iconv-lite/encodings/utf16.js +0 -177
  457. gaia/eval/webapp/node_modules/iconv-lite/encodings/utf7.js +0 -290
  458. gaia/eval/webapp/node_modules/iconv-lite/lib/bom-handling.js +0 -52
  459. gaia/eval/webapp/node_modules/iconv-lite/lib/extend-node.js +0 -217
  460. gaia/eval/webapp/node_modules/iconv-lite/lib/index.d.ts +0 -24
  461. gaia/eval/webapp/node_modules/iconv-lite/lib/index.js +0 -153
  462. gaia/eval/webapp/node_modules/iconv-lite/lib/streams.js +0 -121
  463. gaia/eval/webapp/node_modules/iconv-lite/package.json +0 -46
  464. gaia/eval/webapp/node_modules/inherits/LICENSE +0 -16
  465. gaia/eval/webapp/node_modules/inherits/README.md +0 -42
  466. gaia/eval/webapp/node_modules/inherits/inherits.js +0 -9
  467. gaia/eval/webapp/node_modules/inherits/inherits_browser.js +0 -27
  468. gaia/eval/webapp/node_modules/inherits/package.json +0 -29
  469. gaia/eval/webapp/node_modules/ipaddr.js/LICENSE +0 -19
  470. gaia/eval/webapp/node_modules/ipaddr.js/README.md +0 -233
  471. gaia/eval/webapp/node_modules/ipaddr.js/ipaddr.min.js +0 -1
  472. gaia/eval/webapp/node_modules/ipaddr.js/lib/ipaddr.js +0 -673
  473. gaia/eval/webapp/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +0 -68
  474. gaia/eval/webapp/node_modules/ipaddr.js/package.json +0 -35
  475. gaia/eval/webapp/node_modules/math-intrinsics/.eslintrc +0 -16
  476. gaia/eval/webapp/node_modules/math-intrinsics/.github/FUNDING.yml +0 -12
  477. gaia/eval/webapp/node_modules/math-intrinsics/CHANGELOG.md +0 -24
  478. gaia/eval/webapp/node_modules/math-intrinsics/LICENSE +0 -21
  479. gaia/eval/webapp/node_modules/math-intrinsics/README.md +0 -50
  480. gaia/eval/webapp/node_modules/math-intrinsics/abs.d.ts +0 -1
  481. gaia/eval/webapp/node_modules/math-intrinsics/abs.js +0 -4
  482. gaia/eval/webapp/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +0 -3
  483. gaia/eval/webapp/node_modules/math-intrinsics/constants/maxArrayLength.js +0 -4
  484. gaia/eval/webapp/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +0 -3
  485. gaia/eval/webapp/node_modules/math-intrinsics/constants/maxSafeInteger.js +0 -5
  486. gaia/eval/webapp/node_modules/math-intrinsics/constants/maxValue.d.ts +0 -3
  487. gaia/eval/webapp/node_modules/math-intrinsics/constants/maxValue.js +0 -5
  488. gaia/eval/webapp/node_modules/math-intrinsics/floor.d.ts +0 -1
  489. gaia/eval/webapp/node_modules/math-intrinsics/floor.js +0 -4
  490. gaia/eval/webapp/node_modules/math-intrinsics/isFinite.d.ts +0 -3
  491. gaia/eval/webapp/node_modules/math-intrinsics/isFinite.js +0 -12
  492. gaia/eval/webapp/node_modules/math-intrinsics/isInteger.d.ts +0 -3
  493. gaia/eval/webapp/node_modules/math-intrinsics/isInteger.js +0 -16
  494. gaia/eval/webapp/node_modules/math-intrinsics/isNaN.d.ts +0 -1
  495. gaia/eval/webapp/node_modules/math-intrinsics/isNaN.js +0 -6
  496. gaia/eval/webapp/node_modules/math-intrinsics/isNegativeZero.d.ts +0 -3
  497. gaia/eval/webapp/node_modules/math-intrinsics/isNegativeZero.js +0 -6
  498. gaia/eval/webapp/node_modules/math-intrinsics/max.d.ts +0 -1
  499. gaia/eval/webapp/node_modules/math-intrinsics/max.js +0 -4
  500. gaia/eval/webapp/node_modules/math-intrinsics/min.d.ts +0 -1
  501. gaia/eval/webapp/node_modules/math-intrinsics/min.js +0 -4
  502. gaia/eval/webapp/node_modules/math-intrinsics/mod.d.ts +0 -3
  503. gaia/eval/webapp/node_modules/math-intrinsics/mod.js +0 -9
  504. gaia/eval/webapp/node_modules/math-intrinsics/package.json +0 -86
  505. gaia/eval/webapp/node_modules/math-intrinsics/pow.d.ts +0 -1
  506. gaia/eval/webapp/node_modules/math-intrinsics/pow.js +0 -4
  507. gaia/eval/webapp/node_modules/math-intrinsics/round.d.ts +0 -1
  508. gaia/eval/webapp/node_modules/math-intrinsics/round.js +0 -4
  509. gaia/eval/webapp/node_modules/math-intrinsics/sign.d.ts +0 -3
  510. gaia/eval/webapp/node_modules/math-intrinsics/sign.js +0 -11
  511. gaia/eval/webapp/node_modules/math-intrinsics/test/index.js +0 -192
  512. gaia/eval/webapp/node_modules/math-intrinsics/tsconfig.json +0 -3
  513. gaia/eval/webapp/node_modules/media-typer/HISTORY.md +0 -22
  514. gaia/eval/webapp/node_modules/media-typer/LICENSE +0 -22
  515. gaia/eval/webapp/node_modules/media-typer/README.md +0 -81
  516. gaia/eval/webapp/node_modules/media-typer/index.js +0 -270
  517. gaia/eval/webapp/node_modules/media-typer/package.json +0 -26
  518. gaia/eval/webapp/node_modules/merge-descriptors/HISTORY.md +0 -21
  519. gaia/eval/webapp/node_modules/merge-descriptors/LICENSE +0 -23
  520. gaia/eval/webapp/node_modules/merge-descriptors/README.md +0 -49
  521. gaia/eval/webapp/node_modules/merge-descriptors/index.js +0 -60
  522. gaia/eval/webapp/node_modules/merge-descriptors/package.json +0 -39
  523. gaia/eval/webapp/node_modules/methods/HISTORY.md +0 -29
  524. gaia/eval/webapp/node_modules/methods/LICENSE +0 -24
  525. gaia/eval/webapp/node_modules/methods/README.md +0 -51
  526. gaia/eval/webapp/node_modules/methods/index.js +0 -69
  527. gaia/eval/webapp/node_modules/methods/package.json +0 -36
  528. gaia/eval/webapp/node_modules/mime/.npmignore +0 -0
  529. gaia/eval/webapp/node_modules/mime/CHANGELOG.md +0 -164
  530. gaia/eval/webapp/node_modules/mime/LICENSE +0 -21
  531. gaia/eval/webapp/node_modules/mime/README.md +0 -90
  532. gaia/eval/webapp/node_modules/mime/cli.js +0 -8
  533. gaia/eval/webapp/node_modules/mime/mime.js +0 -108
  534. gaia/eval/webapp/node_modules/mime/package.json +0 -44
  535. gaia/eval/webapp/node_modules/mime/src/build.js +0 -53
  536. gaia/eval/webapp/node_modules/mime/src/test.js +0 -60
  537. gaia/eval/webapp/node_modules/mime/types.json +0 -1
  538. gaia/eval/webapp/node_modules/mime-db/HISTORY.md +0 -507
  539. gaia/eval/webapp/node_modules/mime-db/LICENSE +0 -23
  540. gaia/eval/webapp/node_modules/mime-db/README.md +0 -100
  541. gaia/eval/webapp/node_modules/mime-db/db.json +0 -8519
  542. gaia/eval/webapp/node_modules/mime-db/index.js +0 -12
  543. gaia/eval/webapp/node_modules/mime-db/package.json +0 -60
  544. gaia/eval/webapp/node_modules/mime-types/HISTORY.md +0 -397
  545. gaia/eval/webapp/node_modules/mime-types/LICENSE +0 -23
  546. gaia/eval/webapp/node_modules/mime-types/README.md +0 -113
  547. gaia/eval/webapp/node_modules/mime-types/index.js +0 -188
  548. gaia/eval/webapp/node_modules/mime-types/package.json +0 -44
  549. gaia/eval/webapp/node_modules/ms/index.js +0 -152
  550. gaia/eval/webapp/node_modules/ms/license.md +0 -21
  551. gaia/eval/webapp/node_modules/ms/package.json +0 -37
  552. gaia/eval/webapp/node_modules/ms/readme.md +0 -51
  553. gaia/eval/webapp/node_modules/negotiator/HISTORY.md +0 -108
  554. gaia/eval/webapp/node_modules/negotiator/LICENSE +0 -24
  555. gaia/eval/webapp/node_modules/negotiator/README.md +0 -203
  556. gaia/eval/webapp/node_modules/negotiator/index.js +0 -82
  557. gaia/eval/webapp/node_modules/negotiator/lib/charset.js +0 -169
  558. gaia/eval/webapp/node_modules/negotiator/lib/encoding.js +0 -184
  559. gaia/eval/webapp/node_modules/negotiator/lib/language.js +0 -179
  560. gaia/eval/webapp/node_modules/negotiator/lib/mediaType.js +0 -294
  561. gaia/eval/webapp/node_modules/negotiator/package.json +0 -42
  562. gaia/eval/webapp/node_modules/object-inspect/.eslintrc +0 -53
  563. gaia/eval/webapp/node_modules/object-inspect/.github/FUNDING.yml +0 -12
  564. gaia/eval/webapp/node_modules/object-inspect/.nycrc +0 -13
  565. gaia/eval/webapp/node_modules/object-inspect/CHANGELOG.md +0 -424
  566. gaia/eval/webapp/node_modules/object-inspect/LICENSE +0 -21
  567. gaia/eval/webapp/node_modules/object-inspect/example/all.js +0 -23
  568. gaia/eval/webapp/node_modules/object-inspect/example/circular.js +0 -6
  569. gaia/eval/webapp/node_modules/object-inspect/example/fn.js +0 -5
  570. gaia/eval/webapp/node_modules/object-inspect/example/inspect.js +0 -10
  571. gaia/eval/webapp/node_modules/object-inspect/index.js +0 -544
  572. gaia/eval/webapp/node_modules/object-inspect/package-support.json +0 -20
  573. gaia/eval/webapp/node_modules/object-inspect/package.json +0 -105
  574. gaia/eval/webapp/node_modules/object-inspect/readme.markdown +0 -84
  575. gaia/eval/webapp/node_modules/object-inspect/test/bigint.js +0 -58
  576. gaia/eval/webapp/node_modules/object-inspect/test/browser/dom.js +0 -15
  577. gaia/eval/webapp/node_modules/object-inspect/test/circular.js +0 -16
  578. gaia/eval/webapp/node_modules/object-inspect/test/deep.js +0 -12
  579. gaia/eval/webapp/node_modules/object-inspect/test/element.js +0 -53
  580. gaia/eval/webapp/node_modules/object-inspect/test/err.js +0 -48
  581. gaia/eval/webapp/node_modules/object-inspect/test/fakes.js +0 -29
  582. gaia/eval/webapp/node_modules/object-inspect/test/fn.js +0 -76
  583. gaia/eval/webapp/node_modules/object-inspect/test/global.js +0 -17
  584. gaia/eval/webapp/node_modules/object-inspect/test/has.js +0 -15
  585. gaia/eval/webapp/node_modules/object-inspect/test/holes.js +0 -15
  586. gaia/eval/webapp/node_modules/object-inspect/test/indent-option.js +0 -271
  587. gaia/eval/webapp/node_modules/object-inspect/test/inspect.js +0 -139
  588. gaia/eval/webapp/node_modules/object-inspect/test/lowbyte.js +0 -12
  589. gaia/eval/webapp/node_modules/object-inspect/test/number.js +0 -58
  590. gaia/eval/webapp/node_modules/object-inspect/test/quoteStyle.js +0 -26
  591. gaia/eval/webapp/node_modules/object-inspect/test/toStringTag.js +0 -40
  592. gaia/eval/webapp/node_modules/object-inspect/test/undef.js +0 -12
  593. gaia/eval/webapp/node_modules/object-inspect/test/values.js +0 -261
  594. gaia/eval/webapp/node_modules/object-inspect/test-core-js.js +0 -26
  595. gaia/eval/webapp/node_modules/object-inspect/util.inspect.js +0 -1
  596. gaia/eval/webapp/node_modules/on-finished/HISTORY.md +0 -98
  597. gaia/eval/webapp/node_modules/on-finished/LICENSE +0 -23
  598. gaia/eval/webapp/node_modules/on-finished/README.md +0 -162
  599. gaia/eval/webapp/node_modules/on-finished/index.js +0 -234
  600. gaia/eval/webapp/node_modules/on-finished/package.json +0 -39
  601. gaia/eval/webapp/node_modules/parseurl/HISTORY.md +0 -58
  602. gaia/eval/webapp/node_modules/parseurl/LICENSE +0 -24
  603. gaia/eval/webapp/node_modules/parseurl/README.md +0 -133
  604. gaia/eval/webapp/node_modules/parseurl/index.js +0 -158
  605. gaia/eval/webapp/node_modules/parseurl/package.json +0 -40
  606. gaia/eval/webapp/node_modules/path/.npmignore +0 -1
  607. gaia/eval/webapp/node_modules/path/LICENSE +0 -18
  608. gaia/eval/webapp/node_modules/path/README.md +0 -15
  609. gaia/eval/webapp/node_modules/path/package.json +0 -24
  610. gaia/eval/webapp/node_modules/path/path.js +0 -628
  611. gaia/eval/webapp/node_modules/path-to-regexp/LICENSE +0 -21
  612. gaia/eval/webapp/node_modules/path-to-regexp/Readme.md +0 -35
  613. gaia/eval/webapp/node_modules/path-to-regexp/index.js +0 -156
  614. gaia/eval/webapp/node_modules/path-to-regexp/package.json +0 -30
  615. gaia/eval/webapp/node_modules/process/.eslintrc +0 -21
  616. gaia/eval/webapp/node_modules/process/LICENSE +0 -22
  617. gaia/eval/webapp/node_modules/process/README.md +0 -26
  618. gaia/eval/webapp/node_modules/process/browser.js +0 -184
  619. gaia/eval/webapp/node_modules/process/index.js +0 -2
  620. gaia/eval/webapp/node_modules/process/package.json +0 -27
  621. gaia/eval/webapp/node_modules/process/test.js +0 -199
  622. gaia/eval/webapp/node_modules/proxy-addr/HISTORY.md +0 -161
  623. gaia/eval/webapp/node_modules/proxy-addr/LICENSE +0 -22
  624. gaia/eval/webapp/node_modules/proxy-addr/README.md +0 -139
  625. gaia/eval/webapp/node_modules/proxy-addr/index.js +0 -327
  626. gaia/eval/webapp/node_modules/proxy-addr/package.json +0 -47
  627. gaia/eval/webapp/node_modules/qs/.editorconfig +0 -46
  628. gaia/eval/webapp/node_modules/qs/.eslintrc +0 -38
  629. gaia/eval/webapp/node_modules/qs/.github/FUNDING.yml +0 -12
  630. gaia/eval/webapp/node_modules/qs/.nycrc +0 -13
  631. gaia/eval/webapp/node_modules/qs/CHANGELOG.md +0 -600
  632. gaia/eval/webapp/node_modules/qs/LICENSE.md +0 -29
  633. gaia/eval/webapp/node_modules/qs/README.md +0 -709
  634. gaia/eval/webapp/node_modules/qs/dist/qs.js +0 -90
  635. gaia/eval/webapp/node_modules/qs/lib/formats.js +0 -23
  636. gaia/eval/webapp/node_modules/qs/lib/index.js +0 -11
  637. gaia/eval/webapp/node_modules/qs/lib/parse.js +0 -296
  638. gaia/eval/webapp/node_modules/qs/lib/stringify.js +0 -351
  639. gaia/eval/webapp/node_modules/qs/lib/utils.js +0 -265
  640. gaia/eval/webapp/node_modules/qs/package.json +0 -91
  641. gaia/eval/webapp/node_modules/qs/test/empty-keys-cases.js +0 -267
  642. gaia/eval/webapp/node_modules/qs/test/parse.js +0 -1170
  643. gaia/eval/webapp/node_modules/qs/test/stringify.js +0 -1298
  644. gaia/eval/webapp/node_modules/qs/test/utils.js +0 -136
  645. gaia/eval/webapp/node_modules/range-parser/HISTORY.md +0 -56
  646. gaia/eval/webapp/node_modules/range-parser/LICENSE +0 -23
  647. gaia/eval/webapp/node_modules/range-parser/README.md +0 -84
  648. gaia/eval/webapp/node_modules/range-parser/index.js +0 -162
  649. gaia/eval/webapp/node_modules/range-parser/package.json +0 -44
  650. gaia/eval/webapp/node_modules/raw-body/HISTORY.md +0 -308
  651. gaia/eval/webapp/node_modules/raw-body/LICENSE +0 -22
  652. gaia/eval/webapp/node_modules/raw-body/README.md +0 -223
  653. gaia/eval/webapp/node_modules/raw-body/SECURITY.md +0 -24
  654. gaia/eval/webapp/node_modules/raw-body/index.d.ts +0 -87
  655. gaia/eval/webapp/node_modules/raw-body/index.js +0 -336
  656. gaia/eval/webapp/node_modules/raw-body/package.json +0 -49
  657. gaia/eval/webapp/node_modules/safe-buffer/LICENSE +0 -21
  658. gaia/eval/webapp/node_modules/safe-buffer/README.md +0 -584
  659. gaia/eval/webapp/node_modules/safe-buffer/index.d.ts +0 -187
  660. gaia/eval/webapp/node_modules/safe-buffer/index.js +0 -65
  661. gaia/eval/webapp/node_modules/safe-buffer/package.json +0 -51
  662. gaia/eval/webapp/node_modules/safer-buffer/LICENSE +0 -21
  663. gaia/eval/webapp/node_modules/safer-buffer/Porting-Buffer.md +0 -268
  664. gaia/eval/webapp/node_modules/safer-buffer/Readme.md +0 -156
  665. gaia/eval/webapp/node_modules/safer-buffer/dangerous.js +0 -58
  666. gaia/eval/webapp/node_modules/safer-buffer/package.json +0 -34
  667. gaia/eval/webapp/node_modules/safer-buffer/safer.js +0 -77
  668. gaia/eval/webapp/node_modules/safer-buffer/tests.js +0 -406
  669. gaia/eval/webapp/node_modules/send/HISTORY.md +0 -526
  670. gaia/eval/webapp/node_modules/send/LICENSE +0 -23
  671. gaia/eval/webapp/node_modules/send/README.md +0 -327
  672. gaia/eval/webapp/node_modules/send/SECURITY.md +0 -24
  673. gaia/eval/webapp/node_modules/send/index.js +0 -1142
  674. gaia/eval/webapp/node_modules/send/node_modules/encodeurl/HISTORY.md +0 -14
  675. gaia/eval/webapp/node_modules/send/node_modules/encodeurl/LICENSE +0 -22
  676. gaia/eval/webapp/node_modules/send/node_modules/encodeurl/README.md +0 -128
  677. gaia/eval/webapp/node_modules/send/node_modules/encodeurl/index.js +0 -60
  678. gaia/eval/webapp/node_modules/send/node_modules/encodeurl/package.json +0 -40
  679. gaia/eval/webapp/node_modules/send/node_modules/ms/index.js +0 -162
  680. gaia/eval/webapp/node_modules/send/node_modules/ms/license.md +0 -21
  681. gaia/eval/webapp/node_modules/send/node_modules/ms/package.json +0 -38
  682. gaia/eval/webapp/node_modules/send/node_modules/ms/readme.md +0 -59
  683. gaia/eval/webapp/node_modules/send/package.json +0 -62
  684. gaia/eval/webapp/node_modules/serve-static/HISTORY.md +0 -487
  685. gaia/eval/webapp/node_modules/serve-static/LICENSE +0 -25
  686. gaia/eval/webapp/node_modules/serve-static/README.md +0 -257
  687. gaia/eval/webapp/node_modules/serve-static/index.js +0 -209
  688. gaia/eval/webapp/node_modules/serve-static/package.json +0 -42
  689. gaia/eval/webapp/node_modules/setprototypeof/LICENSE +0 -13
  690. gaia/eval/webapp/node_modules/setprototypeof/README.md +0 -31
  691. gaia/eval/webapp/node_modules/setprototypeof/index.d.ts +0 -2
  692. gaia/eval/webapp/node_modules/setprototypeof/index.js +0 -17
  693. gaia/eval/webapp/node_modules/setprototypeof/package.json +0 -38
  694. gaia/eval/webapp/node_modules/setprototypeof/test/index.js +0 -24
  695. gaia/eval/webapp/node_modules/side-channel/.editorconfig +0 -9
  696. gaia/eval/webapp/node_modules/side-channel/.eslintrc +0 -12
  697. gaia/eval/webapp/node_modules/side-channel/.github/FUNDING.yml +0 -12
  698. gaia/eval/webapp/node_modules/side-channel/.nycrc +0 -13
  699. gaia/eval/webapp/node_modules/side-channel/CHANGELOG.md +0 -110
  700. gaia/eval/webapp/node_modules/side-channel/LICENSE +0 -21
  701. gaia/eval/webapp/node_modules/side-channel/README.md +0 -61
  702. gaia/eval/webapp/node_modules/side-channel/index.d.ts +0 -14
  703. gaia/eval/webapp/node_modules/side-channel/index.js +0 -43
  704. gaia/eval/webapp/node_modules/side-channel/package.json +0 -85
  705. gaia/eval/webapp/node_modules/side-channel/test/index.js +0 -104
  706. gaia/eval/webapp/node_modules/side-channel/tsconfig.json +0 -9
  707. gaia/eval/webapp/node_modules/side-channel-list/.editorconfig +0 -9
  708. gaia/eval/webapp/node_modules/side-channel-list/.eslintrc +0 -11
  709. gaia/eval/webapp/node_modules/side-channel-list/.github/FUNDING.yml +0 -12
  710. gaia/eval/webapp/node_modules/side-channel-list/.nycrc +0 -13
  711. gaia/eval/webapp/node_modules/side-channel-list/CHANGELOG.md +0 -15
  712. gaia/eval/webapp/node_modules/side-channel-list/LICENSE +0 -21
  713. gaia/eval/webapp/node_modules/side-channel-list/README.md +0 -62
  714. gaia/eval/webapp/node_modules/side-channel-list/index.d.ts +0 -13
  715. gaia/eval/webapp/node_modules/side-channel-list/index.js +0 -113
  716. gaia/eval/webapp/node_modules/side-channel-list/list.d.ts +0 -14
  717. gaia/eval/webapp/node_modules/side-channel-list/package.json +0 -77
  718. gaia/eval/webapp/node_modules/side-channel-list/test/index.js +0 -104
  719. gaia/eval/webapp/node_modules/side-channel-list/tsconfig.json +0 -9
  720. gaia/eval/webapp/node_modules/side-channel-map/.editorconfig +0 -9
  721. gaia/eval/webapp/node_modules/side-channel-map/.eslintrc +0 -11
  722. gaia/eval/webapp/node_modules/side-channel-map/.github/FUNDING.yml +0 -12
  723. gaia/eval/webapp/node_modules/side-channel-map/.nycrc +0 -13
  724. gaia/eval/webapp/node_modules/side-channel-map/CHANGELOG.md +0 -22
  725. gaia/eval/webapp/node_modules/side-channel-map/LICENSE +0 -21
  726. gaia/eval/webapp/node_modules/side-channel-map/README.md +0 -62
  727. gaia/eval/webapp/node_modules/side-channel-map/index.d.ts +0 -15
  728. gaia/eval/webapp/node_modules/side-channel-map/index.js +0 -68
  729. gaia/eval/webapp/node_modules/side-channel-map/package.json +0 -80
  730. gaia/eval/webapp/node_modules/side-channel-map/test/index.js +0 -114
  731. gaia/eval/webapp/node_modules/side-channel-map/tsconfig.json +0 -9
  732. gaia/eval/webapp/node_modules/side-channel-weakmap/.editorconfig +0 -9
  733. gaia/eval/webapp/node_modules/side-channel-weakmap/.eslintrc +0 -12
  734. gaia/eval/webapp/node_modules/side-channel-weakmap/.github/FUNDING.yml +0 -12
  735. gaia/eval/webapp/node_modules/side-channel-weakmap/.nycrc +0 -13
  736. gaia/eval/webapp/node_modules/side-channel-weakmap/CHANGELOG.md +0 -28
  737. gaia/eval/webapp/node_modules/side-channel-weakmap/LICENSE +0 -21
  738. gaia/eval/webapp/node_modules/side-channel-weakmap/README.md +0 -62
  739. gaia/eval/webapp/node_modules/side-channel-weakmap/index.d.ts +0 -15
  740. gaia/eval/webapp/node_modules/side-channel-weakmap/index.js +0 -84
  741. gaia/eval/webapp/node_modules/side-channel-weakmap/package.json +0 -87
  742. gaia/eval/webapp/node_modules/side-channel-weakmap/test/index.js +0 -114
  743. gaia/eval/webapp/node_modules/side-channel-weakmap/tsconfig.json +0 -9
  744. gaia/eval/webapp/node_modules/statuses/HISTORY.md +0 -82
  745. gaia/eval/webapp/node_modules/statuses/LICENSE +0 -23
  746. gaia/eval/webapp/node_modules/statuses/README.md +0 -136
  747. gaia/eval/webapp/node_modules/statuses/codes.json +0 -65
  748. gaia/eval/webapp/node_modules/statuses/index.js +0 -146
  749. gaia/eval/webapp/node_modules/statuses/package.json +0 -49
  750. gaia/eval/webapp/node_modules/toidentifier/HISTORY.md +0 -9
  751. gaia/eval/webapp/node_modules/toidentifier/LICENSE +0 -21
  752. gaia/eval/webapp/node_modules/toidentifier/README.md +0 -61
  753. gaia/eval/webapp/node_modules/toidentifier/index.js +0 -32
  754. gaia/eval/webapp/node_modules/toidentifier/package.json +0 -38
  755. gaia/eval/webapp/node_modules/type-is/HISTORY.md +0 -259
  756. gaia/eval/webapp/node_modules/type-is/LICENSE +0 -23
  757. gaia/eval/webapp/node_modules/type-is/README.md +0 -170
  758. gaia/eval/webapp/node_modules/type-is/index.js +0 -266
  759. gaia/eval/webapp/node_modules/type-is/package.json +0 -45
  760. gaia/eval/webapp/node_modules/unpipe/HISTORY.md +0 -4
  761. gaia/eval/webapp/node_modules/unpipe/LICENSE +0 -22
  762. gaia/eval/webapp/node_modules/unpipe/README.md +0 -43
  763. gaia/eval/webapp/node_modules/unpipe/index.js +0 -69
  764. gaia/eval/webapp/node_modules/unpipe/package.json +0 -27
  765. gaia/eval/webapp/node_modules/util/LICENSE +0 -18
  766. gaia/eval/webapp/node_modules/util/README.md +0 -15
  767. gaia/eval/webapp/node_modules/util/node_modules/inherits/LICENSE +0 -16
  768. gaia/eval/webapp/node_modules/util/node_modules/inherits/README.md +0 -42
  769. gaia/eval/webapp/node_modules/util/node_modules/inherits/inherits.js +0 -7
  770. gaia/eval/webapp/node_modules/util/node_modules/inherits/inherits_browser.js +0 -23
  771. gaia/eval/webapp/node_modules/util/node_modules/inherits/package.json +0 -29
  772. gaia/eval/webapp/node_modules/util/package.json +0 -35
  773. gaia/eval/webapp/node_modules/util/support/isBuffer.js +0 -3
  774. gaia/eval/webapp/node_modules/util/support/isBufferBrowser.js +0 -6
  775. gaia/eval/webapp/node_modules/util/util.js +0 -586
  776. gaia/eval/webapp/node_modules/utils-merge/.npmignore +0 -9
  777. gaia/eval/webapp/node_modules/utils-merge/LICENSE +0 -20
  778. gaia/eval/webapp/node_modules/utils-merge/README.md +0 -34
  779. gaia/eval/webapp/node_modules/utils-merge/index.js +0 -23
  780. gaia/eval/webapp/node_modules/utils-merge/package.json +0 -40
  781. gaia/eval/webapp/node_modules/vary/HISTORY.md +0 -39
  782. gaia/eval/webapp/node_modules/vary/LICENSE +0 -22
  783. gaia/eval/webapp/node_modules/vary/README.md +0 -101
  784. gaia/eval/webapp/node_modules/vary/index.js +0 -149
  785. gaia/eval/webapp/node_modules/vary/package.json +0 -43
  786. {amd_gaia-0.14.2.dist-info → amd_gaia-0.14.3.dist-info}/WHEEL +0 -0
  787. {amd_gaia-0.14.2.dist-info → amd_gaia-0.14.3.dist-info}/licenses/LICENSE.md +0 -0
  788. {amd_gaia-0.14.2.dist-info → amd_gaia-0.14.3.dist-info}/top_level.txt +0 -0
@@ -1,1142 +0,0 @@
1
- /*!
2
- * send
3
- * Copyright(c) 2012 TJ Holowaychuk
4
- * Copyright(c) 2014-2022 Douglas Christopher Wilson
5
- * MIT Licensed
6
- */
7
-
8
- 'use strict'
9
-
10
- /**
11
- * Module dependencies.
12
- * @private
13
- */
14
-
15
- var createError = require('http-errors')
16
- var debug = require('debug')('send')
17
- var deprecate = require('depd')('send')
18
- var destroy = require('destroy')
19
- var encodeUrl = require('encodeurl')
20
- var escapeHtml = require('escape-html')
21
- var etag = require('etag')
22
- var fresh = require('fresh')
23
- var fs = require('fs')
24
- var mime = require('mime')
25
- var ms = require('ms')
26
- var onFinished = require('on-finished')
27
- var parseRange = require('range-parser')
28
- var path = require('path')
29
- var statuses = require('statuses')
30
- var Stream = require('stream')
31
- var util = require('util')
32
-
33
- /**
34
- * Path function references.
35
- * @private
36
- */
37
-
38
- var extname = path.extname
39
- var join = path.join
40
- var normalize = path.normalize
41
- var resolve = path.resolve
42
- var sep = path.sep
43
-
44
- /**
45
- * Regular expression for identifying a bytes Range header.
46
- * @private
47
- */
48
-
49
- var BYTES_RANGE_REGEXP = /^ *bytes=/
50
-
51
- /**
52
- * Maximum value allowed for the max age.
53
- * @private
54
- */
55
-
56
- var MAX_MAXAGE = 60 * 60 * 24 * 365 * 1000 // 1 year
57
-
58
- /**
59
- * Regular expression to match a path with a directory up component.
60
- * @private
61
- */
62
-
63
- var UP_PATH_REGEXP = /(?:^|[\\/])\.\.(?:[\\/]|$)/
64
-
65
- /**
66
- * Module exports.
67
- * @public
68
- */
69
-
70
- module.exports = send
71
- module.exports.mime = mime
72
-
73
- /**
74
- * Return a `SendStream` for `req` and `path`.
75
- *
76
- * @param {object} req
77
- * @param {string} path
78
- * @param {object} [options]
79
- * @return {SendStream}
80
- * @public
81
- */
82
-
83
- function send (req, path, options) {
84
- return new SendStream(req, path, options)
85
- }
86
-
87
- /**
88
- * Initialize a `SendStream` with the given `path`.
89
- *
90
- * @param {Request} req
91
- * @param {String} path
92
- * @param {object} [options]
93
- * @private
94
- */
95
-
96
- function SendStream (req, path, options) {
97
- Stream.call(this)
98
-
99
- var opts = options || {}
100
-
101
- this.options = opts
102
- this.path = path
103
- this.req = req
104
-
105
- this._acceptRanges = opts.acceptRanges !== undefined
106
- ? Boolean(opts.acceptRanges)
107
- : true
108
-
109
- this._cacheControl = opts.cacheControl !== undefined
110
- ? Boolean(opts.cacheControl)
111
- : true
112
-
113
- this._etag = opts.etag !== undefined
114
- ? Boolean(opts.etag)
115
- : true
116
-
117
- this._dotfiles = opts.dotfiles !== undefined
118
- ? opts.dotfiles
119
- : 'ignore'
120
-
121
- if (this._dotfiles !== 'ignore' && this._dotfiles !== 'allow' && this._dotfiles !== 'deny') {
122
- throw new TypeError('dotfiles option must be "allow", "deny", or "ignore"')
123
- }
124
-
125
- this._hidden = Boolean(opts.hidden)
126
-
127
- if (opts.hidden !== undefined) {
128
- deprecate('hidden: use dotfiles: \'' + (this._hidden ? 'allow' : 'ignore') + '\' instead')
129
- }
130
-
131
- // legacy support
132
- if (opts.dotfiles === undefined) {
133
- this._dotfiles = undefined
134
- }
135
-
136
- this._extensions = opts.extensions !== undefined
137
- ? normalizeList(opts.extensions, 'extensions option')
138
- : []
139
-
140
- this._immutable = opts.immutable !== undefined
141
- ? Boolean(opts.immutable)
142
- : false
143
-
144
- this._index = opts.index !== undefined
145
- ? normalizeList(opts.index, 'index option')
146
- : ['index.html']
147
-
148
- this._lastModified = opts.lastModified !== undefined
149
- ? Boolean(opts.lastModified)
150
- : true
151
-
152
- this._maxage = opts.maxAge || opts.maxage
153
- this._maxage = typeof this._maxage === 'string'
154
- ? ms(this._maxage)
155
- : Number(this._maxage)
156
- this._maxage = !isNaN(this._maxage)
157
- ? Math.min(Math.max(0, this._maxage), MAX_MAXAGE)
158
- : 0
159
-
160
- this._root = opts.root
161
- ? resolve(opts.root)
162
- : null
163
-
164
- if (!this._root && opts.from) {
165
- this.from(opts.from)
166
- }
167
- }
168
-
169
- /**
170
- * Inherits from `Stream`.
171
- */
172
-
173
- util.inherits(SendStream, Stream)
174
-
175
- /**
176
- * Enable or disable etag generation.
177
- *
178
- * @param {Boolean} val
179
- * @return {SendStream}
180
- * @api public
181
- */
182
-
183
- SendStream.prototype.etag = deprecate.function(function etag (val) {
184
- this._etag = Boolean(val)
185
- debug('etag %s', this._etag)
186
- return this
187
- }, 'send.etag: pass etag as option')
188
-
189
- /**
190
- * Enable or disable "hidden" (dot) files.
191
- *
192
- * @param {Boolean} path
193
- * @return {SendStream}
194
- * @api public
195
- */
196
-
197
- SendStream.prototype.hidden = deprecate.function(function hidden (val) {
198
- this._hidden = Boolean(val)
199
- this._dotfiles = undefined
200
- debug('hidden %s', this._hidden)
201
- return this
202
- }, 'send.hidden: use dotfiles option')
203
-
204
- /**
205
- * Set index `paths`, set to a falsy
206
- * value to disable index support.
207
- *
208
- * @param {String|Boolean|Array} paths
209
- * @return {SendStream}
210
- * @api public
211
- */
212
-
213
- SendStream.prototype.index = deprecate.function(function index (paths) {
214
- var index = !paths ? [] : normalizeList(paths, 'paths argument')
215
- debug('index %o', paths)
216
- this._index = index
217
- return this
218
- }, 'send.index: pass index as option')
219
-
220
- /**
221
- * Set root `path`.
222
- *
223
- * @param {String} path
224
- * @return {SendStream}
225
- * @api public
226
- */
227
-
228
- SendStream.prototype.root = function root (path) {
229
- this._root = resolve(String(path))
230
- debug('root %s', this._root)
231
- return this
232
- }
233
-
234
- SendStream.prototype.from = deprecate.function(SendStream.prototype.root,
235
- 'send.from: pass root as option')
236
-
237
- SendStream.prototype.root = deprecate.function(SendStream.prototype.root,
238
- 'send.root: pass root as option')
239
-
240
- /**
241
- * Set max-age to `maxAge`.
242
- *
243
- * @param {Number} maxAge
244
- * @return {SendStream}
245
- * @api public
246
- */
247
-
248
- SendStream.prototype.maxage = deprecate.function(function maxage (maxAge) {
249
- this._maxage = typeof maxAge === 'string'
250
- ? ms(maxAge)
251
- : Number(maxAge)
252
- this._maxage = !isNaN(this._maxage)
253
- ? Math.min(Math.max(0, this._maxage), MAX_MAXAGE)
254
- : 0
255
- debug('max-age %d', this._maxage)
256
- return this
257
- }, 'send.maxage: pass maxAge as option')
258
-
259
- /**
260
- * Emit error with `status`.
261
- *
262
- * @param {number} status
263
- * @param {Error} [err]
264
- * @private
265
- */
266
-
267
- SendStream.prototype.error = function error (status, err) {
268
- // emit if listeners instead of responding
269
- if (hasListeners(this, 'error')) {
270
- return this.emit('error', createHttpError(status, err))
271
- }
272
-
273
- var res = this.res
274
- var msg = statuses.message[status] || String(status)
275
- var doc = createHtmlDocument('Error', escapeHtml(msg))
276
-
277
- // clear existing headers
278
- clearHeaders(res)
279
-
280
- // add error headers
281
- if (err && err.headers) {
282
- setHeaders(res, err.headers)
283
- }
284
-
285
- // send basic response
286
- res.statusCode = status
287
- res.setHeader('Content-Type', 'text/html; charset=UTF-8')
288
- res.setHeader('Content-Length', Buffer.byteLength(doc))
289
- res.setHeader('Content-Security-Policy', "default-src 'none'")
290
- res.setHeader('X-Content-Type-Options', 'nosniff')
291
- res.end(doc)
292
- }
293
-
294
- /**
295
- * Check if the pathname ends with "/".
296
- *
297
- * @return {boolean}
298
- * @private
299
- */
300
-
301
- SendStream.prototype.hasTrailingSlash = function hasTrailingSlash () {
302
- return this.path[this.path.length - 1] === '/'
303
- }
304
-
305
- /**
306
- * Check if this is a conditional GET request.
307
- *
308
- * @return {Boolean}
309
- * @api private
310
- */
311
-
312
- SendStream.prototype.isConditionalGET = function isConditionalGET () {
313
- return this.req.headers['if-match'] ||
314
- this.req.headers['if-unmodified-since'] ||
315
- this.req.headers['if-none-match'] ||
316
- this.req.headers['if-modified-since']
317
- }
318
-
319
- /**
320
- * Check if the request preconditions failed.
321
- *
322
- * @return {boolean}
323
- * @private
324
- */
325
-
326
- SendStream.prototype.isPreconditionFailure = function isPreconditionFailure () {
327
- var req = this.req
328
- var res = this.res
329
-
330
- // if-match
331
- var match = req.headers['if-match']
332
- if (match) {
333
- var etag = res.getHeader('ETag')
334
- return !etag || (match !== '*' && parseTokenList(match).every(function (match) {
335
- return match !== etag && match !== 'W/' + etag && 'W/' + match !== etag
336
- }))
337
- }
338
-
339
- // if-unmodified-since
340
- var unmodifiedSince = parseHttpDate(req.headers['if-unmodified-since'])
341
- if (!isNaN(unmodifiedSince)) {
342
- var lastModified = parseHttpDate(res.getHeader('Last-Modified'))
343
- return isNaN(lastModified) || lastModified > unmodifiedSince
344
- }
345
-
346
- return false
347
- }
348
-
349
- /**
350
- * Strip various content header fields for a change in entity.
351
- *
352
- * @private
353
- */
354
-
355
- SendStream.prototype.removeContentHeaderFields = function removeContentHeaderFields () {
356
- var res = this.res
357
-
358
- res.removeHeader('Content-Encoding')
359
- res.removeHeader('Content-Language')
360
- res.removeHeader('Content-Length')
361
- res.removeHeader('Content-Range')
362
- res.removeHeader('Content-Type')
363
- }
364
-
365
- /**
366
- * Respond with 304 not modified.
367
- *
368
- * @api private
369
- */
370
-
371
- SendStream.prototype.notModified = function notModified () {
372
- var res = this.res
373
- debug('not modified')
374
- this.removeContentHeaderFields()
375
- res.statusCode = 304
376
- res.end()
377
- }
378
-
379
- /**
380
- * Raise error that headers already sent.
381
- *
382
- * @api private
383
- */
384
-
385
- SendStream.prototype.headersAlreadySent = function headersAlreadySent () {
386
- var err = new Error('Can\'t set headers after they are sent.')
387
- debug('headers already sent')
388
- this.error(500, err)
389
- }
390
-
391
- /**
392
- * Check if the request is cacheable, aka
393
- * responded with 2xx or 304 (see RFC 2616 section 14.2{5,6}).
394
- *
395
- * @return {Boolean}
396
- * @api private
397
- */
398
-
399
- SendStream.prototype.isCachable = function isCachable () {
400
- var statusCode = this.res.statusCode
401
- return (statusCode >= 200 && statusCode < 300) ||
402
- statusCode === 304
403
- }
404
-
405
- /**
406
- * Handle stat() error.
407
- *
408
- * @param {Error} error
409
- * @private
410
- */
411
-
412
- SendStream.prototype.onStatError = function onStatError (error) {
413
- switch (error.code) {
414
- case 'ENAMETOOLONG':
415
- case 'ENOENT':
416
- case 'ENOTDIR':
417
- this.error(404, error)
418
- break
419
- default:
420
- this.error(500, error)
421
- break
422
- }
423
- }
424
-
425
- /**
426
- * Check if the cache is fresh.
427
- *
428
- * @return {Boolean}
429
- * @api private
430
- */
431
-
432
- SendStream.prototype.isFresh = function isFresh () {
433
- return fresh(this.req.headers, {
434
- etag: this.res.getHeader('ETag'),
435
- 'last-modified': this.res.getHeader('Last-Modified')
436
- })
437
- }
438
-
439
- /**
440
- * Check if the range is fresh.
441
- *
442
- * @return {Boolean}
443
- * @api private
444
- */
445
-
446
- SendStream.prototype.isRangeFresh = function isRangeFresh () {
447
- var ifRange = this.req.headers['if-range']
448
-
449
- if (!ifRange) {
450
- return true
451
- }
452
-
453
- // if-range as etag
454
- if (ifRange.indexOf('"') !== -1) {
455
- var etag = this.res.getHeader('ETag')
456
- return Boolean(etag && ifRange.indexOf(etag) !== -1)
457
- }
458
-
459
- // if-range as modified date
460
- var lastModified = this.res.getHeader('Last-Modified')
461
- return parseHttpDate(lastModified) <= parseHttpDate(ifRange)
462
- }
463
-
464
- /**
465
- * Redirect to path.
466
- *
467
- * @param {string} path
468
- * @private
469
- */
470
-
471
- SendStream.prototype.redirect = function redirect (path) {
472
- var res = this.res
473
-
474
- if (hasListeners(this, 'directory')) {
475
- this.emit('directory', res, path)
476
- return
477
- }
478
-
479
- if (this.hasTrailingSlash()) {
480
- this.error(403)
481
- return
482
- }
483
-
484
- var loc = encodeUrl(collapseLeadingSlashes(this.path + '/'))
485
- var doc = createHtmlDocument('Redirecting', 'Redirecting to ' + escapeHtml(loc))
486
-
487
- // redirect
488
- res.statusCode = 301
489
- res.setHeader('Content-Type', 'text/html; charset=UTF-8')
490
- res.setHeader('Content-Length', Buffer.byteLength(doc))
491
- res.setHeader('Content-Security-Policy', "default-src 'none'")
492
- res.setHeader('X-Content-Type-Options', 'nosniff')
493
- res.setHeader('Location', loc)
494
- res.end(doc)
495
- }
496
-
497
- /**
498
- * Pipe to `res.
499
- *
500
- * @param {Stream} res
501
- * @return {Stream} res
502
- * @api public
503
- */
504
-
505
- SendStream.prototype.pipe = function pipe (res) {
506
- // root path
507
- var root = this._root
508
-
509
- // references
510
- this.res = res
511
-
512
- // decode the path
513
- var path = decode(this.path)
514
- if (path === -1) {
515
- this.error(400)
516
- return res
517
- }
518
-
519
- // null byte(s)
520
- if (~path.indexOf('\0')) {
521
- this.error(400)
522
- return res
523
- }
524
-
525
- var parts
526
- if (root !== null) {
527
- // normalize
528
- if (path) {
529
- path = normalize('.' + sep + path)
530
- }
531
-
532
- // malicious path
533
- if (UP_PATH_REGEXP.test(path)) {
534
- debug('malicious path "%s"', path)
535
- this.error(403)
536
- return res
537
- }
538
-
539
- // explode path parts
540
- parts = path.split(sep)
541
-
542
- // join / normalize from optional root dir
543
- path = normalize(join(root, path))
544
- } else {
545
- // ".." is malicious without "root"
546
- if (UP_PATH_REGEXP.test(path)) {
547
- debug('malicious path "%s"', path)
548
- this.error(403)
549
- return res
550
- }
551
-
552
- // explode path parts
553
- parts = normalize(path).split(sep)
554
-
555
- // resolve the path
556
- path = resolve(path)
557
- }
558
-
559
- // dotfile handling
560
- if (containsDotFile(parts)) {
561
- var access = this._dotfiles
562
-
563
- // legacy support
564
- if (access === undefined) {
565
- access = parts[parts.length - 1][0] === '.'
566
- ? (this._hidden ? 'allow' : 'ignore')
567
- : 'allow'
568
- }
569
-
570
- debug('%s dotfile "%s"', access, path)
571
- switch (access) {
572
- case 'allow':
573
- break
574
- case 'deny':
575
- this.error(403)
576
- return res
577
- case 'ignore':
578
- default:
579
- this.error(404)
580
- return res
581
- }
582
- }
583
-
584
- // index file support
585
- if (this._index.length && this.hasTrailingSlash()) {
586
- this.sendIndex(path)
587
- return res
588
- }
589
-
590
- this.sendFile(path)
591
- return res
592
- }
593
-
594
- /**
595
- * Transfer `path`.
596
- *
597
- * @param {String} path
598
- * @api public
599
- */
600
-
601
- SendStream.prototype.send = function send (path, stat) {
602
- var len = stat.size
603
- var options = this.options
604
- var opts = {}
605
- var res = this.res
606
- var req = this.req
607
- var ranges = req.headers.range
608
- var offset = options.start || 0
609
-
610
- if (headersSent(res)) {
611
- // impossible to send now
612
- this.headersAlreadySent()
613
- return
614
- }
615
-
616
- debug('pipe "%s"', path)
617
-
618
- // set header fields
619
- this.setHeader(path, stat)
620
-
621
- // set content-type
622
- this.type(path)
623
-
624
- // conditional GET support
625
- if (this.isConditionalGET()) {
626
- if (this.isPreconditionFailure()) {
627
- this.error(412)
628
- return
629
- }
630
-
631
- if (this.isCachable() && this.isFresh()) {
632
- this.notModified()
633
- return
634
- }
635
- }
636
-
637
- // adjust len to start/end options
638
- len = Math.max(0, len - offset)
639
- if (options.end !== undefined) {
640
- var bytes = options.end - offset + 1
641
- if (len > bytes) len = bytes
642
- }
643
-
644
- // Range support
645
- if (this._acceptRanges && BYTES_RANGE_REGEXP.test(ranges)) {
646
- // parse
647
- ranges = parseRange(len, ranges, {
648
- combine: true
649
- })
650
-
651
- // If-Range support
652
- if (!this.isRangeFresh()) {
653
- debug('range stale')
654
- ranges = -2
655
- }
656
-
657
- // unsatisfiable
658
- if (ranges === -1) {
659
- debug('range unsatisfiable')
660
-
661
- // Content-Range
662
- res.setHeader('Content-Range', contentRange('bytes', len))
663
-
664
- // 416 Requested Range Not Satisfiable
665
- return this.error(416, {
666
- headers: { 'Content-Range': res.getHeader('Content-Range') }
667
- })
668
- }
669
-
670
- // valid (syntactically invalid/multiple ranges are treated as a regular response)
671
- if (ranges !== -2 && ranges.length === 1) {
672
- debug('range %j', ranges)
673
-
674
- // Content-Range
675
- res.statusCode = 206
676
- res.setHeader('Content-Range', contentRange('bytes', len, ranges[0]))
677
-
678
- // adjust for requested range
679
- offset += ranges[0].start
680
- len = ranges[0].end - ranges[0].start + 1
681
- }
682
- }
683
-
684
- // clone options
685
- for (var prop in options) {
686
- opts[prop] = options[prop]
687
- }
688
-
689
- // set read options
690
- opts.start = offset
691
- opts.end = Math.max(offset, offset + len - 1)
692
-
693
- // content-length
694
- res.setHeader('Content-Length', len)
695
-
696
- // HEAD support
697
- if (req.method === 'HEAD') {
698
- res.end()
699
- return
700
- }
701
-
702
- this.stream(path, opts)
703
- }
704
-
705
- /**
706
- * Transfer file for `path`.
707
- *
708
- * @param {String} path
709
- * @api private
710
- */
711
- SendStream.prototype.sendFile = function sendFile (path) {
712
- var i = 0
713
- var self = this
714
-
715
- debug('stat "%s"', path)
716
- fs.stat(path, function onstat (err, stat) {
717
- if (err && err.code === 'ENOENT' && !extname(path) && path[path.length - 1] !== sep) {
718
- // not found, check extensions
719
- return next(err)
720
- }
721
- if (err) return self.onStatError(err)
722
- if (stat.isDirectory()) return self.redirect(path)
723
- self.emit('file', path, stat)
724
- self.send(path, stat)
725
- })
726
-
727
- function next (err) {
728
- if (self._extensions.length <= i) {
729
- return err
730
- ? self.onStatError(err)
731
- : self.error(404)
732
- }
733
-
734
- var p = path + '.' + self._extensions[i++]
735
-
736
- debug('stat "%s"', p)
737
- fs.stat(p, function (err, stat) {
738
- if (err) return next(err)
739
- if (stat.isDirectory()) return next()
740
- self.emit('file', p, stat)
741
- self.send(p, stat)
742
- })
743
- }
744
- }
745
-
746
- /**
747
- * Transfer index for `path`.
748
- *
749
- * @param {String} path
750
- * @api private
751
- */
752
- SendStream.prototype.sendIndex = function sendIndex (path) {
753
- var i = -1
754
- var self = this
755
-
756
- function next (err) {
757
- if (++i >= self._index.length) {
758
- if (err) return self.onStatError(err)
759
- return self.error(404)
760
- }
761
-
762
- var p = join(path, self._index[i])
763
-
764
- debug('stat "%s"', p)
765
- fs.stat(p, function (err, stat) {
766
- if (err) return next(err)
767
- if (stat.isDirectory()) return next()
768
- self.emit('file', p, stat)
769
- self.send(p, stat)
770
- })
771
- }
772
-
773
- next()
774
- }
775
-
776
- /**
777
- * Stream `path` to the response.
778
- *
779
- * @param {String} path
780
- * @param {Object} options
781
- * @api private
782
- */
783
-
784
- SendStream.prototype.stream = function stream (path, options) {
785
- var self = this
786
- var res = this.res
787
-
788
- // pipe
789
- var stream = fs.createReadStream(path, options)
790
- this.emit('stream', stream)
791
- stream.pipe(res)
792
-
793
- // cleanup
794
- function cleanup () {
795
- destroy(stream, true)
796
- }
797
-
798
- // response finished, cleanup
799
- onFinished(res, cleanup)
800
-
801
- // error handling
802
- stream.on('error', function onerror (err) {
803
- // clean up stream early
804
- cleanup()
805
-
806
- // error
807
- self.onStatError(err)
808
- })
809
-
810
- // end
811
- stream.on('end', function onend () {
812
- self.emit('end')
813
- })
814
- }
815
-
816
- /**
817
- * Set content-type based on `path`
818
- * if it hasn't been explicitly set.
819
- *
820
- * @param {String} path
821
- * @api private
822
- */
823
-
824
- SendStream.prototype.type = function type (path) {
825
- var res = this.res
826
-
827
- if (res.getHeader('Content-Type')) return
828
-
829
- var type = mime.lookup(path)
830
-
831
- if (!type) {
832
- debug('no content-type')
833
- return
834
- }
835
-
836
- var charset = mime.charsets.lookup(type)
837
-
838
- debug('content-type %s', type)
839
- res.setHeader('Content-Type', type + (charset ? '; charset=' + charset : ''))
840
- }
841
-
842
- /**
843
- * Set response header fields, most
844
- * fields may be pre-defined.
845
- *
846
- * @param {String} path
847
- * @param {Object} stat
848
- * @api private
849
- */
850
-
851
- SendStream.prototype.setHeader = function setHeader (path, stat) {
852
- var res = this.res
853
-
854
- this.emit('headers', res, path, stat)
855
-
856
- if (this._acceptRanges && !res.getHeader('Accept-Ranges')) {
857
- debug('accept ranges')
858
- res.setHeader('Accept-Ranges', 'bytes')
859
- }
860
-
861
- if (this._cacheControl && !res.getHeader('Cache-Control')) {
862
- var cacheControl = 'public, max-age=' + Math.floor(this._maxage / 1000)
863
-
864
- if (this._immutable) {
865
- cacheControl += ', immutable'
866
- }
867
-
868
- debug('cache-control %s', cacheControl)
869
- res.setHeader('Cache-Control', cacheControl)
870
- }
871
-
872
- if (this._lastModified && !res.getHeader('Last-Modified')) {
873
- var modified = stat.mtime.toUTCString()
874
- debug('modified %s', modified)
875
- res.setHeader('Last-Modified', modified)
876
- }
877
-
878
- if (this._etag && !res.getHeader('ETag')) {
879
- var val = etag(stat)
880
- debug('etag %s', val)
881
- res.setHeader('ETag', val)
882
- }
883
- }
884
-
885
- /**
886
- * Clear all headers from a response.
887
- *
888
- * @param {object} res
889
- * @private
890
- */
891
-
892
- function clearHeaders (res) {
893
- var headers = getHeaderNames(res)
894
-
895
- for (var i = 0; i < headers.length; i++) {
896
- res.removeHeader(headers[i])
897
- }
898
- }
899
-
900
- /**
901
- * Collapse all leading slashes into a single slash
902
- *
903
- * @param {string} str
904
- * @private
905
- */
906
- function collapseLeadingSlashes (str) {
907
- for (var i = 0; i < str.length; i++) {
908
- if (str[i] !== '/') {
909
- break
910
- }
911
- }
912
-
913
- return i > 1
914
- ? '/' + str.substr(i)
915
- : str
916
- }
917
-
918
- /**
919
- * Determine if path parts contain a dotfile.
920
- *
921
- * @api private
922
- */
923
-
924
- function containsDotFile (parts) {
925
- for (var i = 0; i < parts.length; i++) {
926
- var part = parts[i]
927
- if (part.length > 1 && part[0] === '.') {
928
- return true
929
- }
930
- }
931
-
932
- return false
933
- }
934
-
935
- /**
936
- * Create a Content-Range header.
937
- *
938
- * @param {string} type
939
- * @param {number} size
940
- * @param {array} [range]
941
- */
942
-
943
- function contentRange (type, size, range) {
944
- return type + ' ' + (range ? range.start + '-' + range.end : '*') + '/' + size
945
- }
946
-
947
- /**
948
- * Create a minimal HTML document.
949
- *
950
- * @param {string} title
951
- * @param {string} body
952
- * @private
953
- */
954
-
955
- function createHtmlDocument (title, body) {
956
- return '<!DOCTYPE html>\n' +
957
- '<html lang="en">\n' +
958
- '<head>\n' +
959
- '<meta charset="utf-8">\n' +
960
- '<title>' + title + '</title>\n' +
961
- '</head>\n' +
962
- '<body>\n' +
963
- '<pre>' + body + '</pre>\n' +
964
- '</body>\n' +
965
- '</html>\n'
966
- }
967
-
968
- /**
969
- * Create a HttpError object from simple arguments.
970
- *
971
- * @param {number} status
972
- * @param {Error|object} err
973
- * @private
974
- */
975
-
976
- function createHttpError (status, err) {
977
- if (!err) {
978
- return createError(status)
979
- }
980
-
981
- return err instanceof Error
982
- ? createError(status, err, { expose: false })
983
- : createError(status, err)
984
- }
985
-
986
- /**
987
- * decodeURIComponent.
988
- *
989
- * Allows V8 to only deoptimize this fn instead of all
990
- * of send().
991
- *
992
- * @param {String} path
993
- * @api private
994
- */
995
-
996
- function decode (path) {
997
- try {
998
- return decodeURIComponent(path)
999
- } catch (err) {
1000
- return -1
1001
- }
1002
- }
1003
-
1004
- /**
1005
- * Get the header names on a respnse.
1006
- *
1007
- * @param {object} res
1008
- * @returns {array[string]}
1009
- * @private
1010
- */
1011
-
1012
- function getHeaderNames (res) {
1013
- return typeof res.getHeaderNames !== 'function'
1014
- ? Object.keys(res._headers || {})
1015
- : res.getHeaderNames()
1016
- }
1017
-
1018
- /**
1019
- * Determine if emitter has listeners of a given type.
1020
- *
1021
- * The way to do this check is done three different ways in Node.js >= 0.8
1022
- * so this consolidates them into a minimal set using instance methods.
1023
- *
1024
- * @param {EventEmitter} emitter
1025
- * @param {string} type
1026
- * @returns {boolean}
1027
- * @private
1028
- */
1029
-
1030
- function hasListeners (emitter, type) {
1031
- var count = typeof emitter.listenerCount !== 'function'
1032
- ? emitter.listeners(type).length
1033
- : emitter.listenerCount(type)
1034
-
1035
- return count > 0
1036
- }
1037
-
1038
- /**
1039
- * Determine if the response headers have been sent.
1040
- *
1041
- * @param {object} res
1042
- * @returns {boolean}
1043
- * @private
1044
- */
1045
-
1046
- function headersSent (res) {
1047
- return typeof res.headersSent !== 'boolean'
1048
- ? Boolean(res._header)
1049
- : res.headersSent
1050
- }
1051
-
1052
- /**
1053
- * Normalize the index option into an array.
1054
- *
1055
- * @param {boolean|string|array} val
1056
- * @param {string} name
1057
- * @private
1058
- */
1059
-
1060
- function normalizeList (val, name) {
1061
- var list = [].concat(val || [])
1062
-
1063
- for (var i = 0; i < list.length; i++) {
1064
- if (typeof list[i] !== 'string') {
1065
- throw new TypeError(name + ' must be array of strings or false')
1066
- }
1067
- }
1068
-
1069
- return list
1070
- }
1071
-
1072
- /**
1073
- * Parse an HTTP Date into a number.
1074
- *
1075
- * @param {string} date
1076
- * @private
1077
- */
1078
-
1079
- function parseHttpDate (date) {
1080
- var timestamp = date && Date.parse(date)
1081
-
1082
- return typeof timestamp === 'number'
1083
- ? timestamp
1084
- : NaN
1085
- }
1086
-
1087
- /**
1088
- * Parse a HTTP token list.
1089
- *
1090
- * @param {string} str
1091
- * @private
1092
- */
1093
-
1094
- function parseTokenList (str) {
1095
- var end = 0
1096
- var list = []
1097
- var start = 0
1098
-
1099
- // gather tokens
1100
- for (var i = 0, len = str.length; i < len; i++) {
1101
- switch (str.charCodeAt(i)) {
1102
- case 0x20: /* */
1103
- if (start === end) {
1104
- start = end = i + 1
1105
- }
1106
- break
1107
- case 0x2c: /* , */
1108
- if (start !== end) {
1109
- list.push(str.substring(start, end))
1110
- }
1111
- start = end = i + 1
1112
- break
1113
- default:
1114
- end = i + 1
1115
- break
1116
- }
1117
- }
1118
-
1119
- // final token
1120
- if (start !== end) {
1121
- list.push(str.substring(start, end))
1122
- }
1123
-
1124
- return list
1125
- }
1126
-
1127
- /**
1128
- * Set an object of headers on a response.
1129
- *
1130
- * @param {object} res
1131
- * @param {object} headers
1132
- * @private
1133
- */
1134
-
1135
- function setHeaders (res, headers) {
1136
- var keys = Object.keys(headers)
1137
-
1138
- for (var i = 0; i < keys.length; i++) {
1139
- var key = keys[i]
1140
- res.setHeader(key, headers[key])
1141
- }
1142
- }