@google/adk 2.0.0 → 2.1.0

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 (566) hide show
  1. package/dist/cjs/a2a/a2a_event.js +0 -29
  2. package/dist/cjs/a2a/a2a_remote_agent.js +8 -5
  3. package/dist/cjs/a2a/a2a_remote_agent_utils.js +104 -2
  4. package/dist/cjs/a2a/agent_card.js +58 -6
  5. package/dist/cjs/a2a/agent_executor.js +10 -3
  6. package/dist/cjs/a2a/agent_to_a2a.js +6 -1
  7. package/dist/cjs/a2a/event_processor_utils.js +1 -1
  8. package/dist/cjs/a2a/executor_context.js +4 -2
  9. package/dist/cjs/a2a/index.js +4 -0
  10. package/dist/cjs/a2a/request_metadata.js +94 -0
  11. package/dist/cjs/agents/base_agent.js +9 -8
  12. package/dist/cjs/agents/context.js +7 -0
  13. package/dist/cjs/agents/functions.js +150 -47
  14. package/dist/cjs/agents/invocation_context.js +1 -0
  15. package/dist/cjs/agents/llm_agent.js +6 -5
  16. package/dist/cjs/agents/loop_agent.js +1 -1
  17. package/dist/cjs/agents/parallel_agent.js +1 -1
  18. package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  19. package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -2
  20. package/dist/cjs/agents/processors/content_processor_utils.js +5 -5
  21. package/dist/cjs/agents/processors/content_request_processor.js +4 -1
  22. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  23. package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
  24. package/dist/cjs/agents/readonly_context.js +6 -0
  25. package/dist/cjs/agents/routed_agent.js +1 -1
  26. package/dist/cjs/agents/sequential_agent.js +1 -1
  27. package/dist/cjs/apps/app.js +1 -1
  28. package/dist/cjs/artifacts/file_artifact_service.js +1 -2
  29. package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
  30. package/dist/cjs/artifacts/session_artifact_service.js +19 -0
  31. package/dist/cjs/auth/auth_handler.js +44 -8
  32. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
  33. package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
  34. package/dist/cjs/code_executors/base_code_executor.js +1 -1
  35. package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
  36. package/dist/cjs/code_executors/code_execution_utils.js +2 -2
  37. package/dist/cjs/code_executors/container_code_executor.js +186 -0
  38. package/dist/cjs/code_executors/docker_container.js +282 -0
  39. package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
  40. package/dist/cjs/common.js +74 -45
  41. package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
  42. package/dist/cjs/context/anchored_context_compactor.js +41 -18
  43. package/dist/cjs/context/compaction_utils.js +15 -6
  44. package/dist/cjs/context/token_based_context_compactor.js +10 -2
  45. package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
  46. package/dist/cjs/context/truncating_context_compactor.js +17 -5
  47. package/dist/cjs/errors/already_exists_error.js +50 -0
  48. package/dist/cjs/errors/input_validation_error.js +50 -0
  49. package/dist/cjs/errors/not_found_error.js +50 -0
  50. package/dist/cjs/errors/session_not_found_error.js +50 -0
  51. package/dist/cjs/errors/tool_execution_error.js +68 -0
  52. package/dist/cjs/events/event.js +1 -1
  53. package/dist/cjs/events/event_actions.js +7 -0
  54. package/dist/cjs/examples/base_example_provider.js +1 -1
  55. package/dist/cjs/index.js +47 -0
  56. package/dist/cjs/index_web.js +2 -0
  57. package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
  58. package/dist/cjs/memory/rag_memory_transcript.js +136 -0
  59. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +2 -2
  60. package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
  61. package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
  62. package/dist/cjs/models/apigee_llm.js +1 -1
  63. package/dist/cjs/models/base_llm.js +1 -1
  64. package/dist/cjs/models/chrome_prompt_llm.js +304 -0
  65. package/dist/cjs/models/chrome_prompt_utils.js +229 -0
  66. package/dist/cjs/models/google_llm.js +9 -4
  67. package/dist/cjs/models/interactions_utils.js +2 -3
  68. package/dist/cjs/models/registry.js +2 -0
  69. package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
  70. package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
  71. package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
  72. package/dist/cjs/runner/runner.js +29 -26
  73. package/dist/cjs/sessions/database_session_service.js +78 -43
  74. package/dist/cjs/sessions/db/operations.js +229 -22
  75. package/dist/cjs/sessions/db/schema.js +113 -159
  76. package/dist/cjs/sessions/registry.js +5 -1
  77. package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
  78. package/dist/cjs/telemetry/setup.js +1 -1
  79. package/dist/cjs/telemetry/tracing.js +11 -1
  80. package/dist/cjs/tools/agent_tool.js +4 -5
  81. package/dist/cjs/tools/base_tool.js +14 -4
  82. package/dist/cjs/tools/base_toolset.js +4 -4
  83. package/dist/cjs/tools/built_in_tool.js +75 -0
  84. package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
  85. package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
  86. package/dist/cjs/tools/function_tool.js +6 -3
  87. package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
  88. package/dist/cjs/tools/google_search_tool.js +3 -6
  89. package/dist/cjs/tools/load_artifacts_tool.js +47 -23
  90. package/dist/cjs/tools/load_web_page.js +6 -172
  91. package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
  92. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +11 -2
  93. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
  94. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +16 -18
  95. package/dist/cjs/tools/preload_memory_tool.js +1 -1
  96. package/dist/cjs/tools/resume_inputs.js +27 -0
  97. package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
  98. package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
  99. package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
  100. package/dist/cjs/tools/url_context_tool.js +3 -6
  101. package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
  102. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
  103. package/dist/cjs/utils/crypto_shim.js +16 -0
  104. package/dist/cjs/utils/gemini_schema_util.js +0 -6
  105. package/dist/cjs/utils/logger.js +15 -50
  106. package/dist/cjs/utils/logger_browser.js +86 -0
  107. package/dist/cjs/utils/logger_node.js +119 -0
  108. package/dist/cjs/utils/redact_inline_data.js +46 -0
  109. package/dist/cjs/utils/redact_uri.js +15 -1
  110. package/dist/cjs/utils/schema.js +1 -1
  111. package/dist/cjs/utils/ssrf_guard.js +262 -0
  112. package/dist/cjs/version.js +1 -1
  113. package/dist/cjs/workflow/base_node.js +1 -1
  114. package/dist/cjs/workflow/graph.js +1 -1
  115. package/dist/cjs/workflow/nodes/node_tool.js +2 -11
  116. package/dist/cjs/workflow/request_input.js +1 -1
  117. package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
  118. package/dist/cjs/workflow/workflow.js +1 -1
  119. package/dist/esm/a2a/a2a_event.js +0 -28
  120. package/dist/esm/a2a/a2a_remote_agent.js +10 -5
  121. package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
  122. package/dist/esm/a2a/agent_card.js +63 -6
  123. package/dist/esm/a2a/agent_executor.js +10 -3
  124. package/dist/esm/a2a/agent_to_a2a.js +8 -2
  125. package/dist/esm/a2a/event_processor_utils.js +1 -2
  126. package/dist/esm/a2a/executor_context.js +4 -2
  127. package/dist/esm/a2a/index.js +7 -1
  128. package/dist/esm/a2a/request_metadata.js +68 -0
  129. package/dist/esm/agents/base_agent.js +9 -8
  130. package/dist/esm/agents/context.js +7 -0
  131. package/dist/esm/agents/functions.js +152 -48
  132. package/dist/esm/agents/invocation_context.js +1 -0
  133. package/dist/esm/agents/llm_agent.js +6 -5
  134. package/dist/esm/agents/loop_agent.js +1 -1
  135. package/dist/esm/agents/parallel_agent.js +1 -1
  136. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  137. package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
  138. package/dist/esm/agents/processors/content_processor_utils.js +5 -5
  139. package/dist/esm/agents/processors/content_request_processor.js +4 -1
  140. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  141. package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
  142. package/dist/esm/agents/readonly_context.js +6 -0
  143. package/dist/esm/agents/routed_agent.js +1 -1
  144. package/dist/esm/agents/sequential_agent.js +1 -1
  145. package/dist/esm/apps/app.js +1 -1
  146. package/dist/esm/artifacts/file_artifact_service.js +1 -2
  147. package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
  148. package/dist/esm/artifacts/session_artifact_service.js +12 -0
  149. package/dist/esm/auth/auth_handler.js +47 -8
  150. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
  151. package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
  152. package/dist/esm/code_executors/base_code_executor.js +1 -1
  153. package/dist/esm/code_executors/built_in_code_executor.js +1 -1
  154. package/dist/esm/code_executors/code_execution_utils.js +2 -2
  155. package/dist/esm/code_executors/container_code_executor.js +155 -0
  156. package/dist/esm/code_executors/docker_container.js +265 -0
  157. package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
  158. package/dist/esm/common.js +73 -38
  159. package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
  160. package/dist/esm/context/anchored_context_compactor.js +45 -19
  161. package/dist/esm/context/compaction_utils.js +13 -5
  162. package/dist/esm/context/token_based_context_compactor.js +10 -2
  163. package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
  164. package/dist/esm/context/truncating_context_compactor.js +17 -5
  165. package/dist/esm/errors/already_exists_error.js +23 -0
  166. package/dist/esm/errors/input_validation_error.js +23 -0
  167. package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
  168. package/dist/esm/errors/session_not_found_error.js +23 -0
  169. package/dist/esm/errors/tool_execution_error.js +40 -0
  170. package/dist/esm/events/event.js +1 -1
  171. package/dist/esm/events/event_actions.js +6 -0
  172. package/dist/esm/examples/base_example_provider.js +1 -1
  173. package/dist/esm/index.js +37 -0
  174. package/dist/esm/index_web.js +2 -0
  175. package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
  176. package/dist/esm/memory/rag_memory_transcript.js +106 -0
  177. package/dist/esm/memory/vertex_ai_memory_bank_service.js +2 -2
  178. package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
  179. package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
  180. package/dist/esm/models/apigee_llm.js +1 -1
  181. package/dist/esm/models/base_llm.js +1 -1
  182. package/dist/esm/models/chrome_prompt_llm.js +285 -0
  183. package/dist/esm/models/chrome_prompt_utils.js +192 -0
  184. package/dist/esm/models/google_llm.js +9 -4
  185. package/dist/esm/models/interactions_utils.js +2 -3
  186. package/dist/esm/models/registry.js +2 -0
  187. package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
  188. package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
  189. package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
  190. package/dist/esm/runner/runner.js +35 -27
  191. package/dist/esm/sessions/database_session_service.js +58 -25
  192. package/dist/esm/sessions/db/operations.js +229 -22
  193. package/dist/esm/sessions/db/schema.js +111 -160
  194. package/dist/esm/sessions/registry.js +5 -1
  195. package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
  196. package/dist/esm/telemetry/setup.js +1 -1
  197. package/dist/esm/telemetry/tracing.js +11 -1
  198. package/dist/esm/tools/agent_tool.js +4 -5
  199. package/dist/esm/tools/base_tool.js +11 -3
  200. package/dist/esm/tools/base_toolset.js +4 -4
  201. package/dist/esm/tools/built_in_tool.js +51 -0
  202. package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
  203. package/dist/esm/tools/forwarding_artifact_service.js +18 -13
  204. package/dist/esm/tools/function_tool.js +6 -3
  205. package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
  206. package/dist/esm/tools/google_search_tool.js +3 -6
  207. package/dist/esm/tools/load_artifacts_tool.js +48 -24
  208. package/dist/esm/tools/load_web_page.js +10 -170
  209. package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
  210. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +13 -2
  211. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
  212. package/dist/esm/tools/openapi_tool/rest_api_tool.js +16 -18
  213. package/dist/esm/tools/preload_memory_tool.js +1 -1
  214. package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
  215. package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
  216. package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
  217. package/dist/esm/tools/url_context_tool.js +3 -6
  218. package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
  219. package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
  220. package/dist/esm/utils/crypto_shim.js +14 -0
  221. package/dist/esm/utils/gemini_schema_util.js +0 -6
  222. package/dist/esm/utils/logger.js +14 -40
  223. package/dist/esm/utils/logger_browser.js +58 -0
  224. package/dist/esm/utils/logger_node.js +81 -0
  225. package/dist/esm/utils/redact_inline_data.js +19 -0
  226. package/dist/esm/utils/redact_uri.js +15 -1
  227. package/dist/esm/utils/schema.js +1 -1
  228. package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
  229. package/dist/esm/version.js +1 -1
  230. package/dist/esm/workflow/base_node.js +1 -1
  231. package/dist/esm/workflow/graph.js +1 -1
  232. package/dist/esm/workflow/nodes/node_tool.js +2 -11
  233. package/dist/esm/workflow/request_input.js +1 -1
  234. package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
  235. package/dist/esm/workflow/workflow.js +1 -1
  236. package/dist/types/a2a/a2a_event.d.ts +7 -10
  237. package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
  238. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
  239. package/dist/types/a2a/agent_card.d.ts +9 -0
  240. package/dist/types/a2a/agent_executor.d.ts +1 -1
  241. package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
  242. package/dist/types/a2a/auth.d.ts +5 -1
  243. package/dist/types/a2a/executor_context.d.ts +7 -1
  244. package/dist/types/a2a/index.d.ts +1 -1
  245. package/dist/types/a2a/request_metadata.d.ts +22 -0
  246. package/dist/types/agents/base_agent.d.ts +19 -16
  247. package/dist/types/agents/context.d.ts +8 -0
  248. package/dist/types/agents/functions.d.ts +72 -6
  249. package/dist/types/agents/invocation_context.d.ts +11 -3
  250. package/dist/types/agents/llm_agent.d.ts +9 -7
  251. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
  252. package/dist/types/agents/readonly_context.d.ts +4 -0
  253. package/dist/types/agents/run_config.d.ts +21 -8
  254. package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
  255. package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
  256. package/dist/types/auth/auth_credential.d.ts +13 -8
  257. package/dist/types/auth/auth_handler.d.ts +12 -1
  258. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
  259. package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
  260. package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
  261. package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
  262. package/dist/types/code_executors/container_code_executor.d.ts +89 -0
  263. package/dist/types/code_executors/docker_container.d.ts +79 -0
  264. package/dist/types/common.d.ts +22 -20
  265. package/dist/types/context/compaction_utils.d.ts +9 -1
  266. package/dist/types/errors/already_exists_error.d.ts +14 -0
  267. package/dist/types/errors/input_validation_error.d.ts +14 -0
  268. package/dist/types/errors/not_found_error.d.ts +14 -0
  269. package/dist/types/errors/session_not_found_error.d.ts +14 -0
  270. package/dist/types/errors/tool_execution_error.d.ts +36 -0
  271. package/dist/types/events/event_actions.d.ts +13 -0
  272. package/dist/types/index.d.ts +22 -1
  273. package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
  274. package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
  275. package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
  276. package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
  277. package/dist/types/models/chrome_prompt_utils.d.ts +68 -0
  278. package/dist/types/models/google_llm.d.ts +8 -3
  279. package/dist/types/models/registry.d.ts +3 -2
  280. package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
  281. package/dist/types/plugins/base_plugin.d.ts +12 -10
  282. package/dist/types/plugins/logging_plugin.d.ts +3 -2
  283. package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
  284. package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
  285. package/dist/types/runner/runner.d.ts +7 -8
  286. package/dist/types/sessions/database_session_service.d.ts +1 -1
  287. package/dist/types/sessions/db/operations.d.ts +13 -1
  288. package/dist/types/sessions/db/schema.d.ts +23 -9
  289. package/dist/types/tools/base_tool.d.ts +11 -0
  290. package/dist/types/tools/base_toolset.d.ts +3 -4
  291. package/dist/types/tools/built_in_tool.d.ts +41 -0
  292. package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
  293. package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
  294. package/dist/types/tools/function_tool.d.ts +42 -9
  295. package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
  296. package/dist/types/tools/google_search_tool.d.ts +4 -4
  297. package/dist/types/tools/long_running_tool.d.ts +1 -1
  298. package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
  299. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +5 -0
  300. package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +0 -1
  301. package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
  302. package/dist/types/tools/preload_memory_tool.d.ts +1 -1
  303. package/dist/types/tools/resume_inputs.d.ts +25 -0
  304. package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
  305. package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
  306. package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
  307. package/dist/types/tools/url_context_tool.d.ts +4 -4
  308. package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
  309. package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
  310. package/dist/types/utils/crypto_shim.d.ts +16 -0
  311. package/dist/types/utils/gemini_schema_util.d.ts +5 -7
  312. package/dist/types/utils/logger.d.ts +23 -1
  313. package/dist/types/utils/logger_browser.d.ts +28 -0
  314. package/dist/types/utils/logger_node.d.ts +20 -0
  315. package/dist/types/utils/output_schema_utils.d.ts +3 -3
  316. package/dist/types/utils/redact_inline_data.d.ts +16 -0
  317. package/dist/types/utils/redact_uri.d.ts +12 -8
  318. package/dist/types/utils/ssrf_guard.d.ts +32 -0
  319. package/dist/types/version.d.ts +1 -1
  320. package/dist/web/index_web.js +304 -3
  321. package/dist/web/index_web.js.map +7 -0
  322. package/package.json +17 -14
  323. package/dist/web/a2a/a2a_event.js +0 -290
  324. package/dist/web/a2a/a2a_remote_agent.js +0 -200
  325. package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
  326. package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
  327. package/dist/web/a2a/agent_card.js +0 -373
  328. package/dist/web/a2a/agent_executor.js +0 -246
  329. package/dist/web/a2a/agent_to_a2a.js +0 -126
  330. package/dist/web/a2a/auth.js +0 -41
  331. package/dist/web/a2a/event_converter_utils.js +0 -242
  332. package/dist/web/a2a/event_processor_utils.js +0 -209
  333. package/dist/web/a2a/executor_context.js +0 -28
  334. package/dist/web/a2a/index.js +0 -20
  335. package/dist/web/a2a/metadata_converter_utils.js +0 -115
  336. package/dist/web/a2a/part_converter_utils.js +0 -201
  337. package/dist/web/agents/active_streaming_tool.js +0 -25
  338. package/dist/web/agents/base_agent.js +0 -462
  339. package/dist/web/agents/context.js +0 -146
  340. package/dist/web/agents/framework_function_calls.js +0 -34
  341. package/dist/web/agents/functions.js +0 -462
  342. package/dist/web/agents/instructions.js +0 -188
  343. package/dist/web/agents/invocation_context.js +0 -126
  344. package/dist/web/agents/live_request_queue.js +0 -151
  345. package/dist/web/agents/llm_agent.js +0 -1514
  346. package/dist/web/agents/loop_agent.js +0 -131
  347. package/dist/web/agents/parallel_agent.js +0 -122
  348. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
  349. package/dist/web/agents/processors/base_llm_processor.js +0 -21
  350. package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
  351. package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
  352. package/dist/web/agents/processors/content_processor_utils.js +0 -432
  353. package/dist/web/agents/processors/content_request_processor.js +0 -73
  354. package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
  355. package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
  356. package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
  357. package/dist/web/agents/processors/interactions_request_processor.js +0 -56
  358. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
  359. package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
  360. package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
  361. package/dist/web/agents/readonly_context.js +0 -60
  362. package/dist/web/agents/routed_agent.js +0 -161
  363. package/dist/web/agents/run_config.js +0 -74
  364. package/dist/web/agents/sequential_agent.js +0 -141
  365. package/dist/web/agents/transcription_entry.js +0 -7
  366. package/dist/web/agents/user_input_request.js +0 -135
  367. package/dist/web/apps/app.js +0 -52
  368. package/dist/web/apps/resumability_config.js +0 -33
  369. package/dist/web/artifacts/base_artifact_service.js +0 -7
  370. package/dist/web/artifacts/file_artifact_service.js +0 -568
  371. package/dist/web/artifacts/gcs_artifact_service.js +0 -298
  372. package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
  373. package/dist/web/artifacts/registry.js +0 -36
  374. package/dist/web/artifacts/scoped_artifact_service.js +0 -89
  375. package/dist/web/auth/auth_credential.js +0 -18
  376. package/dist/web/auth/auth_handler.js +0 -151
  377. package/dist/web/auth/auth_preprocessor.js +0 -184
  378. package/dist/web/auth/auth_provider_registry.js +0 -37
  379. package/dist/web/auth/auth_schemes.js +0 -36
  380. package/dist/web/auth/auth_tool.js +0 -7
  381. package/dist/web/auth/base_auth_provider.js +0 -7
  382. package/dist/web/auth/credential_response_binding.js +0 -91
  383. package/dist/web/auth/credential_service/base_credential_service.js +0 -7
  384. package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
  385. package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
  386. package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
  387. package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
  388. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
  389. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
  390. package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
  391. package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
  392. package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
  393. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
  394. package/dist/web/code_executors/base_code_executor.js +0 -68
  395. package/dist/web/code_executors/built_in_code_executor.js +0 -50
  396. package/dist/web/code_executors/code_execution_utils.js +0 -131
  397. package/dist/web/code_executors/code_executor_context.js +0 -174
  398. package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
  399. package/dist/web/common.js +0 -452
  400. package/dist/web/context/agent_controlled_context_compactor.js +0 -76
  401. package/dist/web/context/anchored_context_compactor.js +0 -120
  402. package/dist/web/context/base_context_compactor.js +0 -7
  403. package/dist/web/context/compaction_utils.js +0 -42
  404. package/dist/web/context/summarizers/base_summarizer.js +0 -7
  405. package/dist/web/context/summarizers/llm_summarizer.js +0 -91
  406. package/dist/web/context/token_based_context_compactor.js +0 -118
  407. package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
  408. package/dist/web/context/truncating_context_compactor.js +0 -34
  409. package/dist/web/environment/base_environment.js +0 -71
  410. package/dist/web/environment/local_environment.js +0 -165
  411. package/dist/web/events/compacted_event.js +0 -51
  412. package/dist/web/events/event.js +0 -208
  413. package/dist/web/events/event_actions.js +0 -74
  414. package/dist/web/events/structured_events.js +0 -79
  415. package/dist/web/examples/base_example_provider.js +0 -32
  416. package/dist/web/examples/example.js +0 -7
  417. package/dist/web/examples/example_util.js +0 -83
  418. package/dist/web/features/feature_registry.js +0 -115
  419. package/dist/web/index.js +0 -57
  420. package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
  421. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
  422. package/dist/web/integrations/agent_registry/helpers.js +0 -32
  423. package/dist/web/integrations/agent_registry/types.js +0 -20
  424. package/dist/web/memory/base_memory_service.js +0 -7
  425. package/dist/web/memory/in_memory_memory_service.js +0 -89
  426. package/dist/web/memory/memory_entry.js +0 -7
  427. package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
  428. package/dist/web/models/apigee_llm.js +0 -227
  429. package/dist/web/models/base_llm.js +0 -78
  430. package/dist/web/models/base_llm_connection.js +0 -7
  431. package/dist/web/models/gemini_llm_connection.js +0 -183
  432. package/dist/web/models/google_llm.js +0 -396
  433. package/dist/web/models/interactions_utils.js +0 -745
  434. package/dist/web/models/llm_request.js +0 -57
  435. package/dist/web/models/llm_response.js +0 -48
  436. package/dist/web/models/registry.js +0 -100
  437. package/dist/web/models/routed_llm.js +0 -112
  438. package/dist/web/plugins/base_plugin.js +0 -305
  439. package/dist/web/plugins/global_instruction_plugin.js +0 -71
  440. package/dist/web/plugins/logging_plugin.js +0 -241
  441. package/dist/web/plugins/plugin_manager.js +0 -318
  442. package/dist/web/plugins/security_plugin.js +0 -148
  443. package/dist/web/runner/in_memory_runner.js +0 -50
  444. package/dist/web/runner/runner.js +0 -747
  445. package/dist/web/sessions/base_session_service.js +0 -123
  446. package/dist/web/sessions/database_session_service.js +0 -440
  447. package/dist/web/sessions/db/operations.js +0 -124
  448. package/dist/web/sessions/db/schema.js +0 -216
  449. package/dist/web/sessions/in_memory_session_service.js +0 -251
  450. package/dist/web/sessions/registry.js +0 -38
  451. package/dist/web/sessions/session.js +0 -23
  452. package/dist/web/sessions/state.js +0 -159
  453. package/dist/web/sessions/state_write_order.js +0 -74
  454. package/dist/web/sessions/vertex_ai_session_service.js +0 -546
  455. package/dist/web/skills/gcp_skill_registry.js +0 -80
  456. package/dist/web/skills/loader.js +0 -372
  457. package/dist/web/skills/prompt.js +0 -34
  458. package/dist/web/skills/skill.js +0 -67
  459. package/dist/web/skills/skill_registry.js +0 -7
  460. package/dist/web/telemetry/google_cloud.js +0 -99
  461. package/dist/web/telemetry/setup.js +0 -89
  462. package/dist/web/telemetry/tracing.js +0 -304
  463. package/dist/web/tools/agent_tool.js +0 -150
  464. package/dist/web/tools/base_tool.js +0 -116
  465. package/dist/web/tools/base_toolset.js +0 -62
  466. package/dist/web/tools/consolidate_context_tool.js +0 -55
  467. package/dist/web/tools/enterprise_web_search_tool.js +0 -60
  468. package/dist/web/tools/example_tool.js +0 -46
  469. package/dist/web/tools/exit_loop_tool.js +0 -47
  470. package/dist/web/tools/finish_task_tool.js +0 -92
  471. package/dist/web/tools/forwarding_artifact_service.js +0 -51
  472. package/dist/web/tools/function_tool.js +0 -151
  473. package/dist/web/tools/get_user_choice_tool.js +0 -27
  474. package/dist/web/tools/google_maps_grounding_tool.js +0 -59
  475. package/dist/web/tools/google_search_tool.js +0 -55
  476. package/dist/web/tools/load_artifacts_tool.js +0 -159
  477. package/dist/web/tools/load_memory_tool.js +0 -83
  478. package/dist/web/tools/long_running_tool.js +0 -58
  479. package/dist/web/tools/mcp/index.js +0 -11
  480. package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
  481. package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
  482. package/dist/web/tools/mcp/mcp_tool.js +0 -47
  483. package/dist/web/tools/mcp/mcp_toolset.js +0 -144
  484. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
  485. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
  486. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
  487. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
  488. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
  489. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
  490. package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
  491. package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
  492. package/dist/web/tools/preload_memory_tool.js +0 -81
  493. package/dist/web/tools/request_input_tool.js +0 -29
  494. package/dist/web/tools/skill/list_skills_tool.js +0 -52
  495. package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
  496. package/dist/web/tools/skill/load_skill_tool.js +0 -96
  497. package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
  498. package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
  499. package/dist/web/tools/skill/search_skills_tool.js +0 -84
  500. package/dist/web/tools/skill/skill_toolset.js +0 -185
  501. package/dist/web/tools/tool_confirmation.js +0 -43
  502. package/dist/web/tools/url_context_tool.js +0 -48
  503. package/dist/web/tools/vertex_ai_search_tool.js +0 -107
  504. package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
  505. package/dist/web/utils/async_hooks_shim.js +0 -28
  506. package/dist/web/utils/async_queue.js +0 -88
  507. package/dist/web/utils/branch_trie.js +0 -16
  508. package/dist/web/utils/case_utils.js +0 -28
  509. package/dist/web/utils/client_labels.js +0 -70
  510. package/dist/web/utils/crypto_shim.js +0 -18
  511. package/dist/web/utils/deprecated.js +0 -40
  512. package/dist/web/utils/env_aware_utils.js +0 -115
  513. package/dist/web/utils/error_utils.js +0 -101
  514. package/dist/web/utils/experimental.js +0 -54
  515. package/dist/web/utils/failover_utils.js +0 -100
  516. package/dist/web/utils/file_extension_utils.js +0 -55
  517. package/dist/web/utils/file_utils.js +0 -108
  518. package/dist/web/utils/gemini_schema_util.js +0 -177
  519. package/dist/web/utils/genai_schema_to_json.js +0 -80
  520. package/dist/web/utils/live_connection_utils.js +0 -257
  521. package/dist/web/utils/logger.js +0 -140
  522. package/dist/web/utils/model_name.js +0 -75
  523. package/dist/web/utils/object_notation_utils.js +0 -54
  524. package/dist/web/utils/optional_peer.js +0 -38
  525. package/dist/web/utils/output_schema_utils.js +0 -18
  526. package/dist/web/utils/partial_copy.js +0 -26
  527. package/dist/web/utils/redact_uri.js +0 -39
  528. package/dist/web/utils/schema.js +0 -167
  529. package/dist/web/utils/simple_zod_to_json.js +0 -134
  530. package/dist/web/utils/streaming_utils.js +0 -438
  531. package/dist/web/utils/task.js +0 -38
  532. package/dist/web/utils/variant_utils.js +0 -23
  533. package/dist/web/utils/vertex_ai_utils.js +0 -27
  534. package/dist/web/version.js +0 -11
  535. package/dist/web/workflow/base_node.js +0 -215
  536. package/dist/web/workflow/branch_path.js +0 -77
  537. package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
  538. package/dist/web/workflow/errors.js +0 -140
  539. package/dist/web/workflow/graph.js +0 -127
  540. package/dist/web/workflow/index.js +0 -80
  541. package/dist/web/workflow/node.js +0 -87
  542. package/dist/web/workflow/node_builders.js +0 -40
  543. package/dist/web/workflow/node_context.js +0 -236
  544. package/dist/web/workflow/node_error_event.js +0 -86
  545. package/dist/web/workflow/node_runner.js +0 -481
  546. package/dist/web/workflow/node_state.js +0 -43
  547. package/dist/web/workflow/node_status.js +0 -20
  548. package/dist/web/workflow/nodes/function_node.js +0 -221
  549. package/dist/web/workflow/nodes/join_node.js +0 -47
  550. package/dist/web/workflow/nodes/node_tool.js +0 -131
  551. package/dist/web/workflow/nodes/parallel_worker.js +0 -120
  552. package/dist/web/workflow/nodes/tool_node.js +0 -126
  553. package/dist/web/workflow/request_input.js +0 -36
  554. package/dist/web/workflow/retry_config.js +0 -43
  555. package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
  556. package/dist/web/workflow/run_node_as_invocation.js +0 -170
  557. package/dist/web/workflow/schedule_dynamic_node.js +0 -26
  558. package/dist/web/workflow/trigger.js +0 -7
  559. package/dist/web/workflow/utils/graph_parser.js +0 -188
  560. package/dist/web/workflow/utils/graph_validation.js +0 -189
  561. package/dist/web/workflow/utils/hitl_utils.js +0 -239
  562. package/dist/web/workflow/utils/rehydration_utils.js +0 -342
  563. package/dist/web/workflow/utils/retry_utils.js +0 -82
  564. package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
  565. package/dist/web/workflow/workflow.js +0 -529
  566. /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
@@ -1,568 +0,0 @@
1
- import {createRequire as topLevelCreateRequire} from 'module';
2
- const require = topLevelCreateRequire(import.meta.url);
3
- var __defProp = Object.defineProperty;
4
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
5
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
- var __await = function(promise, isYieldStar) {
7
- this[0] = promise;
8
- this[1] = isYieldStar;
9
- };
10
- var __asyncGenerator = (__this, __arguments, generator) => {
11
- var resume = (k, v, yes, no) => {
12
- try {
13
- var x = generator[k](v), isAwait = (v = x.value) instanceof __await, done = x.done;
14
- Promise.resolve(isAwait ? v[0] : v).then((y) => isAwait ? resume(k === "return" ? k : "next", v[1] ? { done: y.done, value: y.value } : y, yes, no) : yes({ value: y, done })).catch((e) => resume("throw", e, yes, no));
15
- } catch (e) {
16
- no(e);
17
- }
18
- }, method = (k) => it[k] = (x) => new Promise((yes, no) => resume(k, x, yes, no)), it = {};
19
- return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
20
- };
21
- var __forAwait = (obj, it, method) => (it = obj[__knownSymbol("asyncIterator")]) ? it.call(obj) : (obj = obj[__knownSymbol("iterator")](), it = {}, method = (key, fn) => (fn = obj[key]) && (it[key] = (arg) => new Promise((yes, no, done) => (arg = fn.call(obj, arg), done = arg.done, Promise.resolve(arg.value).then((value) => yes({ value, done }), no)))), method("next"), method("return"), it);
22
- /**
23
- * @license
24
- * Copyright 2026 Google LLC
25
- * SPDX-License-Identifier: Apache-2.0
26
- */
27
- import * as fs from "fs/promises";
28
- import * as path from "path";
29
- import { fileURLToPath, pathToFileURL } from "url";
30
- import { logger } from "../utils/logger.js";
31
- const USER_NAMESPACE_PREFIX = "user:";
32
- const _FileArtifactService = class _FileArtifactService {
33
- constructor(rootDirOrUri) {
34
- try {
35
- const rootDir = rootDirOrUri.startsWith("file://") ? fileURLToPath(rootDirOrUri) : rootDirOrUri;
36
- this.rootDir = path.resolve(rootDir);
37
- } catch (e) {
38
- throw new Error("Invalid root directory: ".concat(rootDirOrUri), { cause: e });
39
- }
40
- }
41
- async saveArtifact({
42
- userId,
43
- sessionId,
44
- filename,
45
- artifact,
46
- customMetadata
47
- }) {
48
- if (!artifact.inlineData && !artifact.text && !artifact.fileData) {
49
- throw new Error("Artifact must have either inlineData or text content.");
50
- }
51
- const artifactDir = getArtifactDir(
52
- this.rootDir,
53
- userId,
54
- sessionId,
55
- filename
56
- );
57
- await fs.mkdir(artifactDir, { recursive: true });
58
- const versions = await getArtifactVersionsFromDir(artifactDir);
59
- const nextVersion = versions.length > 0 ? versions[versions.length - 1] + 1 : 0;
60
- const versionsDir = getVersionsDir(artifactDir);
61
- const versionDir = path.join(versionsDir, nextVersion.toString());
62
- await fs.mkdir(versionDir, { recursive: true });
63
- const storedFilename = path.basename(artifactDir);
64
- const contentPath = path.join(versionDir, storedFilename);
65
- let mimeType;
66
- let fileUri;
67
- if (artifact.inlineData) {
68
- const data = artifact.inlineData.data || "";
69
- await fs.writeFile(contentPath, Buffer.from(data, "base64"));
70
- mimeType = artifact.inlineData.mimeType || "application/octet-stream";
71
- } else if (artifact.text !== void 0) {
72
- await fs.writeFile(contentPath, artifact.text, "utf-8");
73
- } else {
74
- fileUri = artifact.fileData.fileUri;
75
- if (!fileUri) {
76
- throw new Error("Artifact fileData must have a fileUri.");
77
- }
78
- mimeType = artifact.fileData.mimeType;
79
- }
80
- const canonicalUri = await getCanonicalUri(
81
- this.rootDir,
82
- userId,
83
- sessionId,
84
- filename,
85
- nextVersion
86
- );
87
- const metadata = {
88
- fileName: filename,
89
- mimeType,
90
- fileUri,
91
- version: nextVersion,
92
- canonicalUri,
93
- customMetadata
94
- };
95
- await writeMetadata(path.join(versionDir, "metadata.json"), metadata);
96
- return nextVersion;
97
- }
98
- async loadArtifact({
99
- userId,
100
- sessionId,
101
- filename,
102
- version
103
- }) {
104
- try {
105
- const artifactDir = getArtifactDir(
106
- this.rootDir,
107
- userId,
108
- sessionId,
109
- filename
110
- );
111
- try {
112
- await fs.access(artifactDir);
113
- } catch (e) {
114
- logger.warn(
115
- "[FileArtifactService] loadArtifact: Artifact ".concat(filename, " not found"),
116
- e
117
- );
118
- return void 0;
119
- }
120
- const versions = await getArtifactVersionsFromDir(artifactDir);
121
- if (versions.length === 0) {
122
- return void 0;
123
- }
124
- let versionToLoad;
125
- if (version === void 0) {
126
- versionToLoad = versions[versions.length - 1];
127
- } else {
128
- if (!versions.includes(version)) {
129
- logger.warn(
130
- "[FileArtifactService] loadArtifact: Artifact ".concat(filename, " version ").concat(version, " not found")
131
- );
132
- return void 0;
133
- }
134
- versionToLoad = version;
135
- }
136
- const versionDir = path.join(
137
- getVersionsDir(artifactDir),
138
- versionToLoad.toString()
139
- );
140
- const metadataPath = path.join(versionDir, "metadata.json");
141
- const metadata = await readMetadata(metadataPath);
142
- if (metadata.fileUri) {
143
- return {
144
- fileData: { fileUri: metadata.fileUri, mimeType: metadata.mimeType }
145
- };
146
- }
147
- const storedFilename = path.basename(artifactDir);
148
- let contentPath = path.join(versionDir, storedFilename);
149
- if (metadata.canonicalUri) {
150
- const uriPath = fileUriToPath(metadata.canonicalUri);
151
- if (uriPath) {
152
- try {
153
- await fs.access(uriPath);
154
- contentPath = uriPath;
155
- } catch (e) {
156
- logger.warn(
157
- "[FileArtifactService] loadArtifact: Artifact ".concat(filename, " missing at ").concat(uriPath, ", falling back to content path ").concat(contentPath)
158
- );
159
- }
160
- }
161
- }
162
- if (metadata.mimeType) {
163
- try {
164
- const data = await fs.readFile(contentPath);
165
- return {
166
- inlineData: {
167
- mimeType: metadata.mimeType,
168
- data: data.toString("base64")
169
- }
170
- };
171
- } catch (e) {
172
- logger.warn(
173
- "[FileArtifactService] loadArtifact: Artifact ".concat(filename, " missing at ").concat(contentPath)
174
- );
175
- return void 0;
176
- }
177
- }
178
- try {
179
- const text = await fs.readFile(contentPath, "utf-8");
180
- return { text };
181
- } catch (e) {
182
- logger.warn(
183
- "[FileArtifactService] loadArtifact: Text artifact ".concat(filename, " missing at ").concat(contentPath)
184
- );
185
- return void 0;
186
- }
187
- } catch (e) {
188
- logger.error(
189
- "[FileArtifactService] loadArtifact: Error loading artifact ".concat(filename),
190
- e
191
- );
192
- return void 0;
193
- }
194
- }
195
- async listArtifactKeys({
196
- userId,
197
- sessionId
198
- }) {
199
- const filenames = /* @__PURE__ */ new Set();
200
- const userRoot = getUserRoot(this.rootDir, userId);
201
- const sessionRoot = getSessionArtifactsDir(userRoot, sessionId);
202
- try {
203
- for (var iter = __forAwait(iterateArtifactDirs(sessionRoot)), more, temp, error; more = !(temp = await iter.next()).done; more = false) {
204
- const artifactDir = temp.value;
205
- const metadata = await getLatestMetadata(artifactDir);
206
- if (metadata == null ? void 0 : metadata.fileName) {
207
- filenames.add(metadata.fileName);
208
- } else {
209
- const rel = path.relative(sessionRoot, artifactDir);
210
- filenames.add(asPosixPath(rel));
211
- }
212
- }
213
- } catch (temp) {
214
- error = [temp];
215
- } finally {
216
- try {
217
- more && (temp = iter.return) && await temp.call(iter);
218
- } finally {
219
- if (error)
220
- throw error[0];
221
- }
222
- }
223
- const artifactsRoot = getUserArtifactsDir(userRoot);
224
- try {
225
- for (var iter2 = __forAwait(iterateArtifactDirs(artifactsRoot)), more2, temp2, error2; more2 = !(temp2 = await iter2.next()).done; more2 = false) {
226
- const artifactDir = temp2.value;
227
- const metadata = await getLatestMetadata(artifactDir);
228
- if (metadata == null ? void 0 : metadata.fileName) {
229
- filenames.add(metadata.fileName);
230
- } else {
231
- const rel = path.relative(artifactsRoot, artifactDir);
232
- filenames.add("".concat(USER_NAMESPACE_PREFIX).concat(asPosixPath(rel)));
233
- }
234
- }
235
- } catch (temp2) {
236
- error2 = [temp2];
237
- } finally {
238
- try {
239
- more2 && (temp2 = iter2.return) && await temp2.call(iter2);
240
- } finally {
241
- if (error2)
242
- throw error2[0];
243
- }
244
- }
245
- return Array.from(filenames).sort();
246
- }
247
- async deleteArtifact({
248
- userId,
249
- sessionId,
250
- filename
251
- }) {
252
- try {
253
- const artifactDir = getArtifactDir(
254
- this.rootDir,
255
- userId,
256
- sessionId,
257
- filename
258
- );
259
- await fs.rm(artifactDir, { recursive: true, force: true });
260
- } catch (e) {
261
- logger.warn(
262
- "[FileArtifactService] deleteArtifact: Failed to delete artifact ".concat(filename),
263
- e
264
- );
265
- }
266
- }
267
- async listVersions({
268
- userId,
269
- sessionId,
270
- filename
271
- }) {
272
- try {
273
- const artifactDir = getArtifactDir(
274
- this.rootDir,
275
- userId,
276
- sessionId,
277
- filename
278
- );
279
- return await getArtifactVersionsFromDir(artifactDir);
280
- } catch (e) {
281
- logger.warn(
282
- "[FileArtifactService] listVersions: Failed to list versions for artifact ".concat(filename),
283
- e
284
- );
285
- return [];
286
- }
287
- }
288
- async listArtifactVersions({
289
- userId,
290
- sessionId,
291
- filename
292
- }) {
293
- try {
294
- const artifactDir = getArtifactDir(
295
- this.rootDir,
296
- userId,
297
- sessionId,
298
- filename
299
- );
300
- const versions = await getArtifactVersionsFromDir(artifactDir);
301
- const artifactVersions = [];
302
- for (const version of versions) {
303
- const metadataPath = path.join(
304
- getVersionsDir(artifactDir),
305
- version.toString(),
306
- "metadata.json"
307
- );
308
- try {
309
- const metadata = await readMetadata(metadataPath);
310
- artifactVersions.push(metadata);
311
- } catch (e) {
312
- logger.warn(
313
- "[FileArtifactService] listArtifactVersions: Failed to read artifact version ".concat(version, " at ").concat(artifactDir),
314
- e
315
- );
316
- }
317
- }
318
- return artifactVersions;
319
- } catch (e) {
320
- logger.warn(
321
- "[FileArtifactService] listArtifactVersions: Failed to list artifact versions for userId: ".concat(userId, " sessionId: ").concat(sessionId, " filename: ").concat(filename),
322
- e
323
- );
324
- return [];
325
- }
326
- }
327
- async getArtifactVersion({
328
- userId,
329
- sessionId,
330
- filename,
331
- version
332
- }) {
333
- try {
334
- const artifactDir = getArtifactDir(
335
- this.rootDir,
336
- userId,
337
- sessionId,
338
- filename
339
- );
340
- const versions = await getArtifactVersionsFromDir(artifactDir);
341
- if (versions.length === 0) {
342
- return void 0;
343
- }
344
- let versionToRead;
345
- if (version === void 0) {
346
- versionToRead = versions[versions.length - 1];
347
- } else {
348
- if (!versions.includes(version)) {
349
- return void 0;
350
- }
351
- versionToRead = version;
352
- }
353
- const metadataPath = path.join(
354
- getVersionsDir(artifactDir),
355
- versionToRead.toString(),
356
- "metadata.json"
357
- );
358
- return await readMetadata(metadataPath);
359
- } catch (e) {
360
- logger.warn(
361
- "[FileArtifactService] getArtifactVersion: Failed to get artifact version for userId: ".concat(userId, " sessionId: ").concat(sessionId, " filename: ").concat(filename, " version: ").concat(version),
362
- e
363
- );
364
- return void 0;
365
- }
366
- }
367
- };
368
- __name(_FileArtifactService, "FileArtifactService");
369
- let FileArtifactService = _FileArtifactService;
370
- const SAFE_SEGMENT_RE = /^[a-zA-Z0-9_@-][a-zA-Z0-9_.@-]{0,255}$/;
371
- function assertSafeSegment(value, label) {
372
- if (!value || !SAFE_SEGMENT_RE.test(value)) {
373
- throw new Error(
374
- "[FileArtifactService] Invalid ".concat(label, ": value contains disallowed characters.")
375
- );
376
- }
377
- }
378
- __name(assertSafeSegment, "assertSafeSegment");
379
- function assertInsideRoot(resolvedPath, rootDir, label) {
380
- const root = path.resolve(rootDir);
381
- const resolved = path.resolve(resolvedPath);
382
- if (!resolved.startsWith(root + path.sep) && resolved !== root) {
383
- throw new Error(
384
- "[FileArtifactService] ".concat(label, " escapes storage root. Resolved: ").concat(resolved, ", Root: ").concat(root)
385
- );
386
- }
387
- }
388
- __name(assertInsideRoot, "assertInsideRoot");
389
- function getUserRoot(rootDir, userId) {
390
- assertSafeSegment(userId, "userId");
391
- const result = path.join(rootDir, "users", userId);
392
- assertInsideRoot(result, rootDir, "userRoot");
393
- return result;
394
- }
395
- __name(getUserRoot, "getUserRoot");
396
- function isUserScoped(sessionId, filename) {
397
- return !sessionId || filename.startsWith(USER_NAMESPACE_PREFIX);
398
- }
399
- __name(isUserScoped, "isUserScoped");
400
- function getUserArtifactsDir(userRoot) {
401
- return path.join(userRoot, "artifacts");
402
- }
403
- __name(getUserArtifactsDir, "getUserArtifactsDir");
404
- function getSessionArtifactsDir(baseRoot, sessionId) {
405
- assertSafeSegment(sessionId, "sessionId");
406
- const result = path.join(baseRoot, "sessions", sessionId, "artifacts");
407
- assertInsideRoot(result, baseRoot, "sessionArtifactsDir");
408
- return result;
409
- }
410
- __name(getSessionArtifactsDir, "getSessionArtifactsDir");
411
- function getVersionsDir(artifactDir) {
412
- return path.join(artifactDir, "versions");
413
- }
414
- __name(getVersionsDir, "getVersionsDir");
415
- function getArtifactDir(rootDir, userId, sessionId, filename) {
416
- const userRoot = getUserRoot(rootDir, userId);
417
- let scopeRoot;
418
- if (isUserScoped(sessionId, filename)) {
419
- scopeRoot = getUserArtifactsDir(userRoot);
420
- } else {
421
- if (!sessionId) {
422
- throw new Error(
423
- "Session ID must be provided for session-scoped artifacts."
424
- );
425
- }
426
- scopeRoot = getSessionArtifactsDir(userRoot, sessionId);
427
- }
428
- let cleanFilename = filename;
429
- if (cleanFilename.startsWith(USER_NAMESPACE_PREFIX)) {
430
- cleanFilename = cleanFilename.substring(USER_NAMESPACE_PREFIX.length);
431
- }
432
- cleanFilename = cleanFilename.trim();
433
- if (path.isAbsolute(cleanFilename)) {
434
- throw new Error("Absolute artifact filename ".concat(filename, " is not permitted."));
435
- }
436
- const artifactDir = path.resolve(scopeRoot, cleanFilename);
437
- const relative = path.relative(scopeRoot, artifactDir);
438
- if (relative.startsWith("..") || path.isAbsolute(relative)) {
439
- throw new Error("Artifact filename ".concat(filename, " escapes storage directory."));
440
- }
441
- if (relative === "" || relative === ".") {
442
- return path.join(scopeRoot, "artifact");
443
- }
444
- return artifactDir;
445
- }
446
- __name(getArtifactDir, "getArtifactDir");
447
- async function getArtifactVersionsFromDir(artifactDir) {
448
- const versionsDir = getVersionsDir(artifactDir);
449
- try {
450
- const files = await fs.readdir(versionsDir, { withFileTypes: true });
451
- const versions = files.filter((dirent) => dirent.isDirectory()).map((dirent) => parseInt(dirent.name, 10)).filter((v) => !isNaN(v));
452
- return versions.sort((a, b) => a - b);
453
- } catch (e) {
454
- logger.warn(
455
- "[FileArtifactService] getArtifactVersionsFromDir: Failed to list artifact versions from ".concat(artifactDir),
456
- e
457
- );
458
- return [];
459
- }
460
- }
461
- __name(getArtifactVersionsFromDir, "getArtifactVersionsFromDir");
462
- async function getCanonicalUri(rootDir, userId, sessionId, filename, version) {
463
- const artifactDir = await getArtifactDir(
464
- rootDir,
465
- userId,
466
- sessionId,
467
- filename
468
- );
469
- const storedFilename = path.basename(artifactDir);
470
- const versionsDir = getVersionsDir(artifactDir);
471
- const payloadPath = path.join(
472
- versionsDir,
473
- version.toString(),
474
- storedFilename
475
- );
476
- return pathToFileURL(payloadPath).toString();
477
- }
478
- __name(getCanonicalUri, "getCanonicalUri");
479
- async function writeMetadata(metadataPath, metadata) {
480
- await fs.writeFile(metadataPath, JSON.stringify(metadata, null, 2), "utf-8");
481
- }
482
- __name(writeMetadata, "writeMetadata");
483
- async function readMetadata(metadataPath) {
484
- const content = await fs.readFile(metadataPath, "utf-8");
485
- return JSON.parse(content);
486
- }
487
- __name(readMetadata, "readMetadata");
488
- async function getLatestMetadata(artifactDir) {
489
- const versions = await getArtifactVersionsFromDir(artifactDir);
490
- if (versions.length === 0) {
491
- return void 0;
492
- }
493
- const latestVersion = versions[versions.length - 1];
494
- const metadataPath = path.join(
495
- getVersionsDir(artifactDir),
496
- latestVersion.toString(),
497
- "metadata.json"
498
- );
499
- try {
500
- return await readMetadata(metadataPath);
501
- } catch (e) {
502
- logger.warn(
503
- "[FileArtifactService] getLatestMetadata: Failed to read metadata from ".concat(metadataPath),
504
- e
505
- );
506
- return void 0;
507
- }
508
- }
509
- __name(getLatestMetadata, "getLatestMetadata");
510
- function iterateArtifactDirs(dir) {
511
- return __asyncGenerator(this, null, function* () {
512
- try {
513
- const entries = yield new __await(fs.readdir(dir, { withFileTypes: true }));
514
- const hasVersions = entries.some(
515
- (e) => e.isDirectory() && e.name === "versions"
516
- );
517
- if (hasVersions) {
518
- yield dir;
519
- return;
520
- }
521
- for (const entry of entries) {
522
- if (entry.isDirectory()) {
523
- const subdir = path.join(dir, entry.name);
524
- try {
525
- for (var iter = __forAwait(iterateArtifactDirs(subdir)), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
526
- const foundDir = temp.value;
527
- yield foundDir;
528
- }
529
- } catch (temp) {
530
- error = [temp];
531
- } finally {
532
- try {
533
- more && (temp = iter.return) && (yield new __await(temp.call(iter)));
534
- } finally {
535
- if (error)
536
- throw error[0];
537
- }
538
- }
539
- }
540
- }
541
- } catch (_e) {
542
- }
543
- });
544
- }
545
- __name(iterateArtifactDirs, "iterateArtifactDirs");
546
- function fileUriToPath(uri) {
547
- try {
548
- return fileURLToPath(uri);
549
- } catch (e) {
550
- logger.warn(
551
- "[FileArtifactService] fileUriToPath: Failed to convert file URI to path: ".concat(uri),
552
- e
553
- );
554
- return void 0;
555
- }
556
- }
557
- __name(fileUriToPath, "fileUriToPath");
558
- function asPosixPath(p) {
559
- return p.split(path.sep).join("/");
560
- }
561
- __name(asPosixPath, "asPosixPath");
562
- export {
563
- FileArtifactService,
564
- assertInsideRoot,
565
- assertSafeSegment,
566
- getSessionArtifactsDir,
567
- getUserRoot
568
- };