@google/adk 2.3.0 → 2.5.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 (396) hide show
  1. package/dist/cjs/a2a/a2a_remote_agent.js +17 -2
  2. package/dist/cjs/a2a/a2a_remote_agent_utils.js +8 -4
  3. package/dist/cjs/a2a/agent_card.js +5 -81
  4. package/dist/cjs/a2a/agent_to_a2a.js +7 -0
  5. package/dist/cjs/a2a/event_converter_utils.js +10 -3
  6. package/dist/cjs/agents/agent_engine_client.js +399 -0
  7. package/dist/cjs/agents/base_agent.js +127 -68
  8. package/dist/cjs/agents/functions.js +64 -59
  9. package/dist/cjs/agents/instructions.js +8 -6
  10. package/dist/cjs/agents/invocation_context.js +2 -2
  11. package/dist/cjs/agents/llm_agent.js +124 -101
  12. package/dist/cjs/agents/processors/basic_llm_request_processor.js +1 -1
  13. package/dist/cjs/agents/processors/code_execution_request_processor.js +8 -0
  14. package/dist/cjs/agents/processors/content_processor_utils.js +72 -17
  15. package/dist/cjs/agents/processors/content_request_processor.js +51 -2
  16. package/dist/cjs/agents/processors/context_compactor_request_processor.js +5 -1
  17. package/dist/cjs/agents/processors/instructions_llm_request_processor.js +1 -1
  18. package/dist/cjs/agents/processors/nl_planning_processor.js +13 -3
  19. package/dist/cjs/artifacts/file_artifact_service.js +1 -1
  20. package/dist/cjs/cli/cli_eval.js +884 -17
  21. package/dist/cjs/cli/utils/cleanup.js +84 -0
  22. package/dist/cjs/cli/utils/envs.js +33 -2
  23. package/dist/cjs/cli/utils/evals.js +75 -8
  24. package/dist/cjs/cli/utils/logs.js +134 -15
  25. package/dist/cjs/cli/utils/path_validation.js +83 -0
  26. package/dist/cjs/code_executors/container_code_executor.js +171 -38
  27. package/dist/cjs/code_executors/unsafe_local_code_executor.js +6 -1
  28. package/dist/cjs/common.js +59 -32
  29. package/dist/cjs/context/compaction_utils.js +19 -0
  30. package/dist/cjs/errors/input_validation_error.js +3 -2
  31. package/dist/cjs/events/event.js +7 -3
  32. package/dist/cjs/features/feature_registry.js +5 -0
  33. package/dist/cjs/index.js +34 -12
  34. package/dist/cjs/models/google_llm.js +33 -2
  35. package/dist/cjs/models/interactions_utils.js +3 -0
  36. package/dist/cjs/plugins/base_plugin.js +54 -40
  37. package/dist/cjs/plugins/plugin_manager.js +27 -0
  38. package/dist/cjs/runner/runner.js +306 -189
  39. package/dist/cjs/sessions/base_session_service.js +15 -12
  40. package/dist/cjs/sessions/database_session_service.js +232 -38
  41. package/dist/cjs/sessions/db/operations.js +70 -1
  42. package/dist/cjs/sessions/db/schema.js +4 -0
  43. package/dist/cjs/sessions/in_memory_session_service.js +2 -2
  44. package/dist/cjs/sessions/stale_session_error.js +59 -0
  45. package/dist/cjs/sessions/vertex_ai_session_service.js +11 -3
  46. package/dist/cjs/skills/loader.js +76 -41
  47. package/dist/cjs/telemetry/api/instrumentation.js +632 -0
  48. package/dist/cjs/telemetry/api/internal/common/accumulators.js +169 -0
  49. package/dist/cjs/telemetry/api/internal/common/attributes.js +131 -0
  50. package/dist/cjs/telemetry/api/internal/common/config.js +159 -0
  51. package/dist/cjs/telemetry/api/internal/common/error.js +98 -0
  52. package/dist/cjs/telemetry/api/internal/common/finish_reason.js +63 -0
  53. package/dist/cjs/telemetry/api/internal/common/genai_messages.js +217 -0
  54. package/dist/cjs/telemetry/api/internal/common/http_exchange.js +169 -0
  55. package/dist/cjs/telemetry/api/internal/common/provider_name.js +87 -0
  56. package/dist/cjs/telemetry/api/internal/common/redaction.js +148 -0
  57. package/dist/cjs/telemetry/api/internal/common/serialization.js +58 -0
  58. package/dist/cjs/telemetry/api/internal/common/token_usage.js +118 -0
  59. package/dist/cjs/telemetry/api/internal/logs/inference.js +50 -0
  60. package/dist/cjs/telemetry/api/internal/logs/logger.js +46 -0
  61. package/dist/cjs/telemetry/api/internal/logs/mcp.js +141 -0
  62. package/dist/cjs/telemetry/api/internal/metrics/agent.js +128 -0
  63. package/dist/cjs/telemetry/api/internal/metrics/inference_start_hook.js +56 -0
  64. package/dist/cjs/telemetry/api/internal/metrics/meters.js +189 -0
  65. package/dist/cjs/telemetry/api/internal/metrics/tool.js +147 -0
  66. package/dist/cjs/telemetry/api/internal/metrics/workflow.js +132 -0
  67. package/dist/cjs/telemetry/api/internal/trace/agent.js +52 -0
  68. package/dist/cjs/telemetry/api/internal/trace/compaction.js +78 -0
  69. package/dist/cjs/telemetry/api/internal/trace/inference.js +132 -0
  70. package/dist/cjs/telemetry/api/internal/trace/live.js +52 -0
  71. package/dist/cjs/telemetry/api/internal/trace/node.js +73 -0
  72. package/dist/cjs/telemetry/api/internal/trace/propagation.js +67 -0
  73. package/dist/cjs/telemetry/api/internal/trace/tool.js +122 -0
  74. package/dist/cjs/telemetry/api/internal/trace/tracer.js +77 -0
  75. package/dist/cjs/telemetry/api/internal/trace/workflow.js +77 -0
  76. package/dist/cjs/telemetry/export/agent_engine.js +90 -0
  77. package/dist/cjs/telemetry/export/agent_runtime.js +73 -0
  78. package/dist/cjs/telemetry/export/google_cloud.js +763 -0
  79. package/dist/cjs/telemetry/export/request_driven_metric_reader.js +303 -0
  80. package/dist/cjs/telemetry/{setup.js → export/setup.js} +72 -6
  81. package/dist/cjs/tools/agent_tool.js +9 -1
  82. package/dist/cjs/tools/apihub_tool/apihub_toolset.js +18 -23
  83. package/dist/cjs/tools/application_integration_tool/application_integration_toolset.js +109 -43
  84. package/dist/cjs/tools/application_integration_tool/clients/connections_client.js +222 -114
  85. package/dist/cjs/tools/application_integration_tool/clients/integration_client.js +34 -14
  86. package/dist/cjs/tools/application_integration_tool/integration_connector_tool.js +175 -0
  87. package/dist/cjs/tools/base_toolset.js +1 -1
  88. package/dist/cjs/tools/computer_use/base_computer.js +125 -0
  89. package/dist/cjs/tools/computer_use/computer_use_actions.js +502 -0
  90. package/dist/cjs/tools/computer_use/computer_use_tool.js +244 -0
  91. package/dist/cjs/tools/computer_use/computer_use_toolset.js +360 -0
  92. package/dist/cjs/tools/function_tool.js +15 -5
  93. package/dist/cjs/tools/google_api_tool/google_api_tool.js +4 -1
  94. package/dist/cjs/tools/google_api_tool/google_api_toolset.js +174 -0
  95. package/dist/cjs/tools/google_api_tool/google_api_toolsets.js +124 -0
  96. package/dist/cjs/tools/google_api_tool/googleapi_to_openapi_converter.js +5 -3
  97. package/dist/cjs/tools/google_api_tool/index.js +20 -23
  98. package/dist/cjs/tools/load_artifacts_tool.js +27 -11
  99. package/dist/cjs/tools/load_memory_tool.js +14 -15
  100. package/dist/cjs/tools/mcp/mcp_session_manager.js +23 -3
  101. package/dist/cjs/tools/mcp/mcp_tool.js +7 -3
  102. package/dist/cjs/tools/mcp/mcp_toolset.js +19 -20
  103. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +30 -29
  104. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +4 -4
  105. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +20 -6
  106. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +17 -6
  107. package/dist/cjs/tools/openapi_tool/openapi_toolset.js +7 -13
  108. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +57 -10
  109. package/dist/cjs/tools/skill/load_skill_resource_tool.js +7 -0
  110. package/dist/cjs/tools/skill/load_skill_tool.js +3 -0
  111. package/dist/cjs/tools/skill/run_skill_script_tool.js +12 -2
  112. package/dist/cjs/tools/toolbox_toolset.js +193 -0
  113. package/dist/cjs/tools/webmcp/webmcp_toolset.js +1 -14
  114. package/dist/cjs/utils/async_queue.js +37 -3
  115. package/dist/cjs/utils/client_labels.js +17 -2
  116. package/dist/cjs/utils/env_aware_utils.js +13 -7
  117. package/dist/cjs/utils/error_utils.js +40 -2
  118. package/dist/cjs/utils/failover_utils.js +11 -10
  119. package/dist/cjs/utils/gemini_schema_util.js +145 -14
  120. package/dist/cjs/utils/id_provider.js +63 -0
  121. package/dist/cjs/utils/logger_node.js +4 -0
  122. package/dist/cjs/utils/model_name.js +15 -0
  123. package/dist/cjs/utils/output_schema_utils.js +5 -2
  124. package/dist/cjs/utils/simple_zod_to_json.js +13 -31
  125. package/dist/cjs/utils/ssrf_guard.js +46 -16
  126. package/dist/cjs/utils/task.js +1 -1
  127. package/dist/cjs/version.js +1 -1
  128. package/dist/cjs/workflow/index.js +2 -0
  129. package/dist/cjs/workflow/node_runner.js +24 -80
  130. package/dist/cjs/workflow/nodes/parallel_worker.js +18 -7
  131. package/dist/cjs/workflow/run_llm_agent_as_node.js +19 -14
  132. package/dist/cjs/workflow/utils/retry_utils.js +2 -2
  133. package/dist/cjs/workflow/workflow.js +12 -12
  134. package/dist/esm/a2a/a2a_remote_agent.js +23 -3
  135. package/dist/esm/a2a/a2a_remote_agent_utils.js +8 -4
  136. package/dist/esm/a2a/agent_card.js +5 -83
  137. package/dist/esm/a2a/agent_to_a2a.js +7 -0
  138. package/dist/esm/a2a/event_converter_utils.js +10 -3
  139. package/dist/esm/agents/agent_engine_client.js +382 -0
  140. package/dist/esm/agents/base_agent.js +127 -72
  141. package/dist/esm/agents/functions.js +69 -63
  142. package/dist/esm/agents/instructions.js +8 -6
  143. package/dist/esm/agents/invocation_context.js +2 -2
  144. package/dist/esm/agents/llm_agent.js +130 -106
  145. package/dist/esm/agents/processors/basic_llm_request_processor.js +1 -1
  146. package/dist/esm/agents/processors/code_execution_request_processor.js +8 -0
  147. package/dist/esm/agents/processors/content_processor_utils.js +72 -17
  148. package/dist/esm/agents/processors/content_request_processor.js +51 -2
  149. package/dist/esm/agents/processors/context_compactor_request_processor.js +5 -1
  150. package/dist/esm/agents/processors/instructions_llm_request_processor.js +1 -1
  151. package/dist/esm/agents/processors/nl_planning_processor.js +13 -3
  152. package/dist/esm/artifacts/file_artifact_service.js +1 -1
  153. package/dist/esm/cli/cli_eval.js +880 -17
  154. package/dist/esm/cli/utils/cleanup.js +56 -0
  155. package/dist/esm/cli/utils/envs.js +33 -2
  156. package/dist/esm/cli/utils/evals.js +74 -8
  157. package/dist/esm/cli/utils/logs.js +132 -13
  158. package/dist/esm/cli/utils/path_validation.js +45 -0
  159. package/dist/esm/code_executors/container_code_executor.js +171 -38
  160. package/dist/esm/code_executors/unsafe_local_code_executor.js +6 -1
  161. package/dist/esm/common.js +59 -19
  162. package/dist/esm/context/compaction_utils.js +19 -0
  163. package/dist/esm/errors/input_validation_error.js +3 -2
  164. package/dist/esm/events/event.js +7 -3
  165. package/dist/esm/features/feature_registry.js +5 -0
  166. package/dist/esm/index.js +36 -10
  167. package/dist/esm/models/google_llm.js +33 -2
  168. package/dist/esm/models/interactions_utils.js +3 -0
  169. package/dist/esm/plugins/base_plugin.js +54 -40
  170. package/dist/esm/plugins/plugin_manager.js +27 -0
  171. package/dist/esm/runner/runner.js +310 -192
  172. package/dist/esm/sessions/base_session_service.js +13 -11
  173. package/dist/esm/sessions/database_session_service.js +231 -38
  174. package/dist/esm/sessions/db/operations.js +70 -1
  175. package/dist/esm/sessions/db/schema.js +4 -0
  176. package/dist/esm/sessions/in_memory_session_service.js +2 -2
  177. package/dist/esm/sessions/stale_session_error.js +31 -0
  178. package/dist/esm/sessions/vertex_ai_session_service.js +11 -3
  179. package/dist/esm/skills/loader.js +76 -41
  180. package/dist/esm/telemetry/api/instrumentation.js +655 -0
  181. package/dist/esm/telemetry/api/internal/common/accumulators.js +139 -0
  182. package/dist/esm/telemetry/api/internal/common/attributes.js +94 -0
  183. package/dist/esm/telemetry/api/internal/common/config.js +128 -0
  184. package/dist/esm/telemetry/api/internal/common/error.js +69 -0
  185. package/dist/esm/telemetry/api/internal/common/finish_reason.js +35 -0
  186. package/dist/esm/telemetry/api/internal/common/genai_messages.js +188 -0
  187. package/dist/esm/telemetry/api/internal/common/http_exchange.js +142 -0
  188. package/dist/esm/telemetry/api/internal/common/provider_name.js +59 -0
  189. package/dist/esm/telemetry/api/internal/common/redaction.js +121 -0
  190. package/dist/esm/telemetry/api/internal/common/serialization.js +30 -0
  191. package/dist/esm/telemetry/api/internal/common/token_usage.js +85 -0
  192. package/dist/esm/telemetry/api/internal/logs/inference.js +23 -0
  193. package/dist/esm/telemetry/api/internal/logs/logger.js +19 -0
  194. package/dist/esm/telemetry/api/internal/logs/mcp.js +113 -0
  195. package/dist/esm/telemetry/api/internal/metrics/agent.js +107 -0
  196. package/dist/esm/telemetry/api/internal/metrics/inference_start_hook.js +29 -0
  197. package/dist/esm/telemetry/api/internal/metrics/meters.js +165 -0
  198. package/dist/esm/telemetry/api/internal/metrics/tool.js +119 -0
  199. package/dist/esm/telemetry/api/internal/metrics/workflow.js +112 -0
  200. package/dist/esm/telemetry/api/internal/trace/agent.js +25 -0
  201. package/dist/esm/telemetry/api/internal/trace/compaction.js +50 -0
  202. package/dist/esm/telemetry/api/internal/trace/inference.js +107 -0
  203. package/dist/esm/telemetry/api/internal/trace/live.js +28 -0
  204. package/dist/esm/telemetry/api/internal/trace/node.js +44 -0
  205. package/dist/esm/telemetry/api/internal/trace/propagation.js +39 -0
  206. package/dist/esm/telemetry/api/internal/trace/tool.js +96 -0
  207. package/dist/esm/telemetry/api/internal/trace/tracer.js +52 -0
  208. package/dist/esm/telemetry/api/internal/trace/workflow.js +54 -0
  209. package/dist/esm/telemetry/export/agent_engine.js +67 -0
  210. package/dist/esm/telemetry/export/agent_runtime.js +46 -0
  211. package/dist/esm/telemetry/export/google_cloud.js +733 -0
  212. package/dist/esm/telemetry/export/request_driven_metric_reader.js +276 -0
  213. package/dist/esm/telemetry/export/setup.js +160 -0
  214. package/dist/esm/tools/agent_tool.js +9 -1
  215. package/dist/esm/tools/apihub_tool/apihub_toolset.js +17 -22
  216. package/dist/esm/tools/application_integration_tool/application_integration_toolset.js +114 -44
  217. package/dist/esm/tools/application_integration_tool/clients/connections_client.js +226 -115
  218. package/dist/esm/tools/application_integration_tool/clients/integration_client.js +34 -14
  219. package/dist/esm/tools/application_integration_tool/integration_connector_tool.js +149 -0
  220. package/dist/esm/tools/base_toolset.js +1 -1
  221. package/dist/esm/tools/computer_use/base_computer.js +99 -0
  222. package/dist/esm/tools/computer_use/computer_use_actions.js +477 -0
  223. package/dist/esm/tools/computer_use/computer_use_tool.js +217 -0
  224. package/dist/esm/tools/computer_use/computer_use_toolset.js +344 -0
  225. package/dist/esm/tools/function_tool.js +15 -5
  226. package/dist/esm/tools/google_api_tool/google_api_tool.js +4 -1
  227. package/dist/esm/tools/google_api_tool/google_api_toolset.js +147 -0
  228. package/dist/esm/tools/google_api_tool/google_api_toolsets.js +94 -0
  229. package/dist/esm/tools/google_api_tool/googleapi_to_openapi_converter.js +5 -3
  230. package/dist/esm/tools/google_api_tool/index.js +18 -20
  231. package/dist/esm/tools/load_artifacts_tool.js +25 -10
  232. package/dist/esm/tools/load_memory_tool.js +14 -15
  233. package/dist/esm/tools/mcp/mcp_session_manager.js +23 -3
  234. package/dist/esm/tools/mcp/mcp_tool.js +7 -3
  235. package/dist/esm/tools/mcp/mcp_toolset.js +19 -20
  236. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +27 -26
  237. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +4 -4
  238. package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +20 -6
  239. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +17 -6
  240. package/dist/esm/tools/openapi_tool/openapi_toolset.js +6 -12
  241. package/dist/esm/tools/openapi_tool/rest_api_tool.js +57 -10
  242. package/dist/esm/tools/skill/load_skill_resource_tool.js +7 -0
  243. package/dist/esm/tools/skill/load_skill_tool.js +3 -0
  244. package/dist/esm/tools/skill/run_skill_script_tool.js +12 -2
  245. package/dist/esm/tools/toolbox_toolset.js +167 -0
  246. package/dist/esm/tools/webmcp/webmcp_toolset.js +1 -14
  247. package/dist/esm/utils/async_queue.js +37 -3
  248. package/dist/esm/utils/client_labels.js +17 -2
  249. package/dist/esm/utils/env_aware_utils.js +12 -7
  250. package/dist/esm/utils/error_utils.js +37 -1
  251. package/dist/esm/utils/failover_utils.js +11 -10
  252. package/dist/esm/utils/gemini_schema_util.js +144 -14
  253. package/dist/esm/utils/id_provider.js +33 -0
  254. package/dist/esm/utils/logger_node.js +4 -0
  255. package/dist/esm/utils/model_name.js +14 -0
  256. package/dist/esm/utils/output_schema_utils.js +5 -2
  257. package/dist/esm/utils/simple_zod_to_json.js +13 -31
  258. package/dist/esm/utils/ssrf_guard.js +55 -15
  259. package/dist/esm/utils/task.js +1 -1
  260. package/dist/esm/version.js +1 -1
  261. package/dist/esm/workflow/index.js +2 -1
  262. package/dist/esm/workflow/node_runner.js +26 -80
  263. package/dist/esm/workflow/nodes/parallel_worker.js +16 -6
  264. package/dist/esm/workflow/run_llm_agent_as_node.js +19 -14
  265. package/dist/esm/workflow/utils/retry_utils.js +2 -2
  266. package/dist/esm/workflow/workflow.js +12 -12
  267. package/dist/types/a2a/a2a_remote_agent.d.ts +6 -0
  268. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +3 -2
  269. package/dist/types/agents/agent_engine_client.d.ts +155 -0
  270. package/dist/types/agents/base_agent.d.ts +14 -0
  271. package/dist/types/agents/llm_agent.d.ts +5 -1
  272. package/dist/types/agents/processors/content_processor_utils.d.ts +12 -10
  273. package/dist/types/agents/processors/nl_planning_processor.d.ts +2 -1
  274. package/dist/types/agents/run_config.d.ts +14 -0
  275. package/dist/types/cli/cli_eval.d.ts +172 -9
  276. package/dist/types/cli/utils/cleanup.d.ts +18 -0
  277. package/dist/types/cli/utils/envs.d.ts +13 -3
  278. package/dist/types/cli/utils/evals.d.ts +64 -1
  279. package/dist/types/cli/utils/logs.d.ts +20 -3
  280. package/dist/types/cli/utils/path_validation.d.ts +30 -0
  281. package/dist/types/code_executors/container_code_executor.d.ts +62 -9
  282. package/dist/types/common.d.ts +21 -18
  283. package/dist/types/context/compaction_utils.d.ts +13 -1
  284. package/dist/types/errors/input_validation_error.d.ts +2 -1
  285. package/dist/types/events/event.d.ts +3 -0
  286. package/dist/types/features/feature_registry.d.ts +1 -0
  287. package/dist/types/index.d.ts +11 -6
  288. package/dist/types/plugins/base_plugin.d.ts +50 -31
  289. package/dist/types/plugins/plugin_manager.d.ts +13 -0
  290. package/dist/types/runner/runner.d.ts +11 -0
  291. package/dist/types/sessions/base_session_service.d.ts +5 -2
  292. package/dist/types/sessions/database_session_service.d.ts +17 -1
  293. package/dist/types/sessions/db/operations.d.ts +2 -1
  294. package/dist/types/sessions/db/schema.d.ts +5 -3
  295. package/dist/types/sessions/stale_session_error.d.ts +21 -0
  296. package/dist/types/skills/loader.d.ts +3 -2
  297. package/dist/types/telemetry/api/instrumentation.d.ts +259 -0
  298. package/dist/types/telemetry/api/internal/common/accumulators.d.ts +91 -0
  299. package/dist/types/telemetry/api/internal/common/attributes.d.ts +90 -0
  300. package/dist/types/telemetry/api/internal/common/config.d.ts +61 -0
  301. package/dist/types/telemetry/api/internal/common/error.d.ts +29 -0
  302. package/dist/types/telemetry/api/internal/common/finish_reason.d.ts +18 -0
  303. package/dist/types/telemetry/api/internal/common/genai_messages.d.ts +26 -0
  304. package/dist/types/telemetry/api/internal/common/http_exchange.d.ts +50 -0
  305. package/dist/types/telemetry/api/internal/common/provider_name.d.ts +16 -0
  306. package/dist/types/telemetry/api/internal/common/redaction.d.ts +14 -0
  307. package/dist/types/telemetry/api/internal/common/serialization.d.ts +18 -0
  308. package/dist/types/telemetry/api/internal/common/token_usage.d.ts +47 -0
  309. package/dist/types/telemetry/api/internal/logs/inference.d.ts +15 -0
  310. package/dist/types/telemetry/api/internal/logs/logger.d.ts +13 -0
  311. package/dist/types/telemetry/api/internal/logs/mcp.d.ts +31 -0
  312. package/dist/types/telemetry/api/internal/metrics/agent.d.ts +28 -0
  313. package/dist/types/telemetry/api/internal/metrics/inference_start_hook.d.ts +12 -0
  314. package/dist/types/telemetry/api/internal/metrics/meters.d.ts +57 -0
  315. package/dist/types/telemetry/api/internal/metrics/tool.d.ts +44 -0
  316. package/dist/types/telemetry/api/internal/metrics/workflow.d.ts +32 -0
  317. package/dist/types/telemetry/api/internal/trace/agent.d.ts +14 -0
  318. package/dist/types/telemetry/api/internal/trace/compaction.d.ts +20 -0
  319. package/dist/types/telemetry/api/internal/trace/inference.d.ts +31 -0
  320. package/dist/types/telemetry/api/internal/trace/live.d.ts +21 -0
  321. package/dist/types/telemetry/api/internal/trace/node.d.ts +22 -0
  322. package/dist/types/telemetry/api/internal/trace/propagation.d.ts +22 -0
  323. package/dist/types/telemetry/api/internal/trace/tool.d.ts +57 -0
  324. package/dist/types/telemetry/api/internal/trace/tracer.d.ts +31 -0
  325. package/dist/types/telemetry/api/internal/trace/workflow.d.ts +21 -0
  326. package/dist/types/telemetry/export/agent_engine.d.ts +23 -0
  327. package/dist/types/telemetry/export/agent_runtime.d.ts +40 -0
  328. package/dist/types/telemetry/export/google_cloud.d.ts +189 -0
  329. package/dist/types/telemetry/export/request_driven_metric_reader.d.ts +144 -0
  330. package/dist/types/telemetry/{setup.d.ts → export/setup.d.ts} +3 -0
  331. package/dist/types/tools/agent_tool.d.ts +1 -1
  332. package/dist/types/tools/apihub_tool/apihub_toolset.d.ts +14 -21
  333. package/dist/types/tools/application_integration_tool/application_integration_toolset.d.ts +32 -9
  334. package/dist/types/tools/application_integration_tool/clients/connections_client.d.ts +35 -12
  335. package/dist/types/tools/application_integration_tool/clients/integration_client.d.ts +3 -3
  336. package/dist/types/tools/application_integration_tool/integration_connector_tool.d.ts +70 -0
  337. package/dist/types/tools/base_toolset.d.ts +7 -6
  338. package/dist/types/tools/computer_use/base_computer.d.ts +281 -0
  339. package/dist/types/tools/computer_use/computer_use_actions.d.ts +53 -0
  340. package/dist/types/tools/computer_use/computer_use_tool.d.ts +108 -0
  341. package/dist/types/tools/computer_use/computer_use_toolset.d.ts +132 -0
  342. package/dist/types/tools/google_api_tool/google_api_tool.d.ts +10 -3
  343. package/dist/types/tools/google_api_tool/google_api_toolset.d.ts +57 -0
  344. package/dist/types/tools/google_api_tool/google_api_toolsets.d.ts +48 -0
  345. package/dist/types/tools/google_api_tool/googleapi_to_openapi_converter.d.ts +5 -4
  346. package/dist/types/tools/google_api_tool/index.d.ts +4 -5
  347. package/dist/types/tools/load_artifacts_tool.d.ts +18 -1
  348. package/dist/types/tools/load_memory_tool.d.ts +32 -4
  349. package/dist/types/tools/mcp/mcp_session_manager.d.ts +16 -0
  350. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +8 -8
  351. package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +12 -0
  352. package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +15 -3
  353. package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +5 -0
  354. package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +10 -0
  355. package/dist/types/tools/toolbox_toolset.d.ts +154 -0
  356. package/dist/types/utils/async_queue.d.ts +14 -0
  357. package/dist/types/utils/client_labels.d.ts +2 -1
  358. package/dist/types/utils/env_aware_utils.d.ts +11 -0
  359. package/dist/types/utils/error_utils.d.ts +4 -0
  360. package/dist/types/utils/gemini_schema_util.d.ts +29 -0
  361. package/dist/types/utils/id_provider.d.ts +43 -0
  362. package/dist/types/utils/model_name.d.ts +8 -0
  363. package/dist/types/utils/output_schema_utils.d.ts +3 -2
  364. package/dist/types/utils/simple_zod_to_json.d.ts +1 -2
  365. package/dist/types/utils/ssrf_guard.d.ts +2 -0
  366. package/dist/types/version.d.ts +1 -1
  367. package/dist/types/workflow/index.d.ts +1 -1
  368. package/dist/types/workflow/nodes/parallel_worker.d.ts +8 -1
  369. package/dist/web/index_web.js +94 -88
  370. package/dist/web/index_web.js.map +4 -4
  371. package/package.json +43 -38
  372. package/dist/cjs/agents/remote_agent.js +0 -187
  373. package/dist/cjs/telemetry/google_cloud.js +0 -116
  374. package/dist/cjs/telemetry/tracing.js +0 -350
  375. package/dist/cjs/tools/crewai_tool.js +0 -132
  376. package/dist/cjs/tools/google_api_tool/google_api_tool_set.js +0 -226
  377. package/dist/cjs/tools/google_api_tool/google_api_tool_sets.js +0 -58
  378. package/dist/cjs/tools/langchain_tool.js +0 -172
  379. package/dist/cjs/tools/toolbox_tool.js +0 -108
  380. package/dist/esm/agents/remote_agent.js +0 -164
  381. package/dist/esm/telemetry/google_cloud.js +0 -99
  382. package/dist/esm/telemetry/setup.js +0 -89
  383. package/dist/esm/telemetry/tracing.js +0 -315
  384. package/dist/esm/tools/crewai_tool.js +0 -107
  385. package/dist/esm/tools/google_api_tool/google_api_tool_set.js +0 -188
  386. package/dist/esm/tools/google_api_tool/google_api_tool_sets.js +0 -24
  387. package/dist/esm/tools/langchain_tool.js +0 -148
  388. package/dist/esm/tools/toolbox_tool.js +0 -80
  389. package/dist/types/agents/remote_agent.d.ts +0 -68
  390. package/dist/types/telemetry/google_cloud.d.ts +0 -9
  391. package/dist/types/telemetry/tracing.d.ts +0 -129
  392. package/dist/types/tools/crewai_tool.d.ts +0 -85
  393. package/dist/types/tools/google_api_tool/google_api_tool_set.d.ts +0 -78
  394. package/dist/types/tools/google_api_tool/google_api_tool_sets.d.ts +0 -33
  395. package/dist/types/tools/langchain_tool.d.ts +0 -103
  396. package/dist/types/tools/toolbox_tool.d.ts +0 -73
@@ -1,164 +0,0 @@
1
- import {createRequire as topLevelCreateRequire} from 'module';
2
- const require = topLevelCreateRequire(import.meta.url);
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
- var __decorateClass = (decorators, target, key, kind) => {
7
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
8
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
9
- if (decorator = decorators[i])
10
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
11
- if (kind && result) __defProp(target, key, result);
12
- return result;
13
- };
14
- /**
15
- * @license
16
- * Copyright 2026 Google LLC
17
- * SPDX-License-Identifier: Apache-2.0
18
- */
19
- var _a, _b;
20
- import {
21
- createEvent,
22
- transformToCamelCaseEvent,
23
- transformToSnakeCaseEvent
24
- } from "../events/event.js";
25
- import { experimental } from "../utils/experimental.js";
26
- import { BaseAgent } from "./base_agent.js";
27
- const DEFAULT_REMOTE_AGENT_TIMEOUT_MS = 12e4;
28
- const MILLIS_PER_SECOND = 1e3;
29
- const SESSION_PRESERVE_KEYS = /* @__PURE__ */ new Set(["state", "events"]);
30
- const EVENT_PRESERVE_KEYS = /* @__PURE__ */ new Set([
31
- "actions.state_delta",
32
- "actions.artifact_delta",
33
- "actions.requested_auth_configs",
34
- "actions.requested_tool_confirmations",
35
- "actions.custom_metadata",
36
- "custom_metadata",
37
- "content.parts.function_call.args",
38
- "content.parts.function_response.response",
39
- "output",
40
- "route",
41
- "actions.agent_state"
42
- ]);
43
- const REMOTE_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.remoteAgent");
44
- function isRemoteAgent(obj) {
45
- return typeof obj === "object" && obj !== null && REMOTE_AGENT_SIGNATURE_SYMBOL in obj && obj[REMOTE_AGENT_SIGNATURE_SYMBOL] === true;
46
- }
47
- __name(isRemoteAgent, "isRemoteAgent");
48
- function isRecord(value) {
49
- return typeof value === "object" && value !== null && !Array.isArray(value);
50
- }
51
- __name(isRecord, "isRecord");
52
- function stripNullish(value, preserveKeys, parentKey = "") {
53
- if (Array.isArray(value)) {
54
- return value.map((item) => stripNullish(item, preserveKeys, parentKey));
55
- }
56
- if (value !== null && typeof value === "object") {
57
- return stripNullishRecord(value, preserveKeys, parentKey);
58
- }
59
- return value;
60
- }
61
- __name(stripNullish, "stripNullish");
62
- function stripNullishRecord(record, preserveKeys, parentKey = "") {
63
- const result = {};
64
- for (const [key, entryValue] of Object.entries(record)) {
65
- if (entryValue === void 0 || entryValue === null) {
66
- continue;
67
- }
68
- const fullPath = parentKey !== "" ? `${parentKey}.${key}` : key;
69
- result[key] = preserveKeys.has(fullPath) ? entryValue : stripNullish(entryValue, preserveKeys, fullPath);
70
- }
71
- return result;
72
- }
73
- __name(stripNullishRecord, "stripNullishRecord");
74
- function serializeEventToSnakeCase(event) {
75
- const snakeEvent = transformToSnakeCaseEvent(event);
76
- snakeEvent["timestamp"] = event.timestamp / MILLIS_PER_SECOND;
77
- return stripNullishRecord(snakeEvent, EVENT_PRESERVE_KEYS);
78
- }
79
- __name(serializeEventToSnakeCase, "serializeEventToSnakeCase");
80
- function serializeSessionToSnakeCase(session) {
81
- return stripNullishRecord(
82
- {
83
- id: session.id,
84
- app_name: session.appName,
85
- user_id: session.userId,
86
- state: session.state,
87
- events: session.events.map((event) => serializeEventToSnakeCase(event)),
88
- last_update_time: session.lastUpdateTime / MILLIS_PER_SECOND
89
- },
90
- SESSION_PRESERVE_KEYS
91
- );
92
- }
93
- __name(serializeSessionToSnakeCase, "serializeSessionToSnakeCase");
94
- let RemoteAgent = class extends (_b = BaseAgent, _a = REMOTE_AGENT_SIGNATURE_SYMBOL, _b) {
95
- constructor(config) {
96
- var _a2, _b2;
97
- const runtimeSubAgents = config.subAgents;
98
- if (Array.isArray(runtimeSubAgents) ? runtimeSubAgents.length > 0 : Boolean(runtimeSubAgents)) {
99
- throw new Error("subAgents is disabled in RemoteAgent.");
100
- }
101
- super({ ...config, subAgents: [] });
102
- this[_a] = true;
103
- this.url = config.url;
104
- this.timeoutMs = (_a2 = config.timeoutMs) != null ? _a2 : DEFAULT_REMOTE_AGENT_TIMEOUT_MS;
105
- this.fetchImpl = (_b2 = config.fetchImpl) != null ? _b2 : globalThis.fetch;
106
- }
107
- async *runAsyncImpl(ctx) {
108
- var _a2;
109
- const data = {
110
- invocation_id: ctx.invocationId,
111
- session: serializeSessionToSnakeCase(ctx.session)
112
- };
113
- const timeoutSignal = AbortSignal.timeout(this.timeoutMs);
114
- const signal = ctx.abortSignal ? AbortSignal.any([ctx.abortSignal, timeoutSignal]) : timeoutSignal;
115
- const response = await this.fetchImpl(this.url, {
116
- method: "POST",
117
- headers: { "Content-Type": "application/json" },
118
- body: JSON.stringify(data),
119
- signal
120
- });
121
- if (response.status >= 400) {
122
- throw new Error(
123
- `RemoteAgent request to '${this.url}' failed with HTTP status ${response.status}.`
124
- );
125
- }
126
- const rawEvents = await response.json();
127
- if (!Array.isArray(rawEvents)) {
128
- throw new Error(
129
- `RemoteAgent expected a JSON array of events from '${this.url}'.`
130
- );
131
- }
132
- for (const rawEvent of rawEvents) {
133
- if (!isRecord(rawEvent)) {
134
- throw new Error(
135
- `RemoteAgent expected each item in the response from '${this.url}' to be a JSON event object.`
136
- );
137
- }
138
- if ((_a2 = ctx.abortSignal) == null ? void 0 : _a2.aborted) {
139
- return;
140
- }
141
- const camelEvent = transformToCamelCaseEvent(rawEvent);
142
- const invocationId = camelEvent.invocationId !== void 0 && camelEvent.invocationId !== "" ? camelEvent.invocationId : ctx.invocationId;
143
- const timestamp = typeof camelEvent.timestamp === "number" ? camelEvent.timestamp * MILLIS_PER_SECOND : void 0;
144
- yield createEvent({
145
- ...camelEvent,
146
- invocationId,
147
- timestamp,
148
- author: this.name
149
- });
150
- }
151
- }
152
- async *runLiveImpl(_ctx) {
153
- yield* [];
154
- throw new Error("This is not supported yet for RemoteAgent.");
155
- }
156
- };
157
- __name(RemoteAgent, "RemoteAgent");
158
- RemoteAgent = __decorateClass([
159
- experimental
160
- ], RemoteAgent);
161
- export {
162
- RemoteAgent,
163
- isRemoteAgent
164
- };
@@ -1,99 +0,0 @@
1
- import {createRequire as topLevelCreateRequire} from 'module';
2
- const require = topLevelCreateRequire(import.meta.url);
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
19
- // If the importer is in node compatibility mode or this is not an ESM
20
- // file that has been converted to a CommonJS file using a Babel-
21
- // compatible transform (i.e. "__esModule" has not been set), then set
22
- // "default" to the CommonJS "module.exports" for node compatibility.
23
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
24
- mod
25
- ));
26
- /**
27
- * @license
28
- * Copyright 2025 Google LLC
29
- * SPDX-License-Identifier: Apache-2.0
30
- */
31
- import { gcpDetector } from "@opentelemetry/resource-detector-gcp";
32
- import { detectResources } from "@opentelemetry/resources";
33
- import { PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics";
34
- import { BatchSpanProcessor } from "@opentelemetry/sdk-trace-base";
35
- import { GoogleAuth } from "google-auth-library";
36
- import { logger } from "../utils/logger.js";
37
- import { loadOptionalPeer } from "../utils/optional_peer.js";
38
- const GCP_PROJECT_ERROR_MESSAGE = "Cannot determine GCP Project. OTel GCP Exporters cannot be set up. Please make sure to log into correct GCP Project.";
39
- async function getGcpProjectId() {
40
- try {
41
- const auth = new GoogleAuth();
42
- const projectId = await auth.getProjectId();
43
- return projectId || void 0;
44
- } catch (_e) {
45
- return void 0;
46
- }
47
- }
48
- __name(getGcpProjectId, "getGcpProjectId");
49
- async function createCloudTraceProcessor(projectId) {
50
- const { TraceExporter } = await loadOptionalPeer(
51
- {
52
- packageName: "@google-cloud/opentelemetry-cloud-trace-exporter",
53
- feature: "getGcpExporters({enableTracing: true})"
54
- },
55
- () => Promise.resolve().then(() => __toESM(require("@google-cloud/opentelemetry-cloud-trace-exporter"), 1))
56
- );
57
- return new BatchSpanProcessor(new TraceExporter({ projectId }));
58
- }
59
- __name(createCloudTraceProcessor, "createCloudTraceProcessor");
60
- async function createCloudMetricReader(projectId) {
61
- const { MetricExporter } = await loadOptionalPeer(
62
- {
63
- packageName: "@google-cloud/opentelemetry-cloud-monitoring-exporter",
64
- feature: "getGcpExporters({enableMetrics: true})"
65
- },
66
- () => Promise.resolve().then(() => __toESM(require("@google-cloud/opentelemetry-cloud-monitoring-exporter"), 1))
67
- );
68
- return new PeriodicExportingMetricReader({
69
- exporter: new MetricExporter({ projectId }),
70
- exportIntervalMillis: 5e3
71
- });
72
- }
73
- __name(createCloudMetricReader, "createCloudMetricReader");
74
- async function getGcpExporters(config = {}) {
75
- const {
76
- enableTracing = false,
77
- enableMetrics = false
78
- // enableCloudLogging = false,
79
- } = config;
80
- const projectId = await getGcpProjectId();
81
- if (!projectId) {
82
- logger.warn(GCP_PROJECT_ERROR_MESSAGE);
83
- return {};
84
- }
85
- return {
86
- spanProcessors: enableTracing ? [await createCloudTraceProcessor(projectId)] : [],
87
- metricReaders: enableMetrics ? [await createCloudMetricReader(projectId)] : [],
88
- logRecordProcessors: []
89
- };
90
- }
91
- __name(getGcpExporters, "getGcpExporters");
92
- function getGcpResource() {
93
- return detectResources({ detectors: [gcpDetector] });
94
- }
95
- __name(getGcpResource, "getGcpResource");
96
- export {
97
- getGcpExporters,
98
- getGcpResource
99
- };
@@ -1,89 +0,0 @@
1
- import {createRequire as topLevelCreateRequire} from 'module';
2
- const require = topLevelCreateRequire(import.meta.url);
3
- var __defProp = Object.defineProperty;
4
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
5
- /**
6
- * @license
7
- * Copyright 2025 Google LLC
8
- * SPDX-License-Identifier: Apache-2.0
9
- */
10
- import { metrics, trace } from "@opentelemetry/api";
11
- import { logs } from "@opentelemetry/api-logs";
12
- import { OTLPLogExporter } from "@opentelemetry/exporter-logs-otlp-http";
13
- import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-http";
14
- import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
15
- import { detectResources } from "@opentelemetry/resources";
16
- import {
17
- BatchLogRecordProcessor,
18
- LoggerProvider
19
- } from "@opentelemetry/sdk-logs";
20
- import {
21
- MeterProvider,
22
- PeriodicExportingMetricReader
23
- } from "@opentelemetry/sdk-metrics";
24
- import { BatchSpanProcessor } from "@opentelemetry/sdk-trace-base";
25
- import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
26
- function maybeSetOtelProviders(otelHooksToSetup = [], otelResource) {
27
- const resource = otelResource || getOtelResource();
28
- const allHooks = [...otelHooksToSetup, getOtelExporters()];
29
- const spanProcessors = allHooks.flatMap(
30
- (hooks) => hooks.spanProcessors || []
31
- );
32
- const metricReaders = allHooks.flatMap((hooks) => hooks.metricReaders || []);
33
- const logRecordProcessors = allHooks.flatMap(
34
- (hooks) => hooks.logRecordProcessors || []
35
- );
36
- if (spanProcessors.length > 0) {
37
- const tracerProvider = new NodeTracerProvider({
38
- resource,
39
- spanProcessors
40
- });
41
- tracerProvider.register();
42
- trace.setGlobalTracerProvider(tracerProvider);
43
- }
44
- if (metricReaders.length > 0) {
45
- const meterProvider = new MeterProvider({
46
- readers: metricReaders,
47
- resource
48
- });
49
- metrics.setGlobalMeterProvider(meterProvider);
50
- }
51
- if (logRecordProcessors.length > 0) {
52
- const loggerProvider = new LoggerProvider({
53
- resource,
54
- processors: logRecordProcessors
55
- });
56
- logs.setGlobalLoggerProvider(loggerProvider);
57
- }
58
- }
59
- __name(maybeSetOtelProviders, "maybeSetOtelProviders");
60
- function getOtelResource() {
61
- return detectResources({
62
- detectors: []
63
- });
64
- }
65
- __name(getOtelResource, "getOtelResource");
66
- function getOtelExportersConfig() {
67
- return {
68
- enableTracing: !!(process.env.OTEL_EXPORTER_OTLP_ENDPOINT || process.env.OTEL_EXPORTER_OTLP_TRACES_ENDPOINT),
69
- enableMetrics: !!(process.env.OTEL_EXPORTER_OTLP_ENDPOINT || process.env.OTEL_EXPORTER_OTLP_METRICS_ENDPOINT),
70
- enableLogging: !!(process.env.OTEL_EXPORTER_OTLP_ENDPOINT || process.env.OTEL_EXPORTER_OTLP_LOGS_ENDPOINT)
71
- };
72
- }
73
- __name(getOtelExportersConfig, "getOtelExportersConfig");
74
- function getOtelExporters(config = getOtelExportersConfig()) {
75
- const { enableTracing, enableMetrics, enableLogging } = config;
76
- return {
77
- spanProcessors: enableTracing ? [new BatchSpanProcessor(new OTLPTraceExporter())] : [],
78
- metricReaders: enableMetrics ? [
79
- new PeriodicExportingMetricReader({
80
- exporter: new OTLPMetricExporter()
81
- })
82
- ] : [],
83
- logRecordProcessors: enableLogging ? [new BatchLogRecordProcessor({ exporter: new OTLPLogExporter() })] : []
84
- };
85
- }
86
- __name(getOtelExporters, "getOtelExporters");
87
- export {
88
- maybeSetOtelProviders
89
- };
@@ -1,315 +0,0 @@
1
- import {createRequire as topLevelCreateRequire} from 'module';
2
- const require = topLevelCreateRequire(import.meta.url);
3
- var __defProp = Object.defineProperty;
4
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
5
- /**
6
- * @license
7
- * Copyright 2025 Google LLC
8
- * SPDX-License-Identifier: Apache-2.0
9
- */
10
- import { context, trace } from "@opentelemetry/api";
11
- import { version } from "../version.js";
12
- var GenAiAttr = /* @__PURE__ */ ((GenAiAttr2) => {
13
- GenAiAttr2["AGENT_DESCRIPTION"] = "gen_ai.agent.description";
14
- GenAiAttr2["AGENT_NAME"] = "gen_ai.agent.name";
15
- GenAiAttr2["CONVERSATION_ID"] = "gen_ai.conversation.id";
16
- GenAiAttr2["OPERATION_NAME"] = "gen_ai.operation.name";
17
- GenAiAttr2["SYSTEM"] = "gen_ai.system";
18
- GenAiAttr2["TOOL_CALL_ID"] = "gen_ai.tool.call.id";
19
- GenAiAttr2["TOOL_DESCRIPTION"] = "gen_ai.tool.description";
20
- GenAiAttr2["TOOL_NAME"] = "gen_ai.tool.name";
21
- GenAiAttr2["TOOL_TYPE"] = "gen_ai.tool.type";
22
- GenAiAttr2["REQUEST_MODEL"] = "gen_ai.request.model";
23
- GenAiAttr2["REQUEST_TOP_P"] = "gen_ai.request.top_p";
24
- GenAiAttr2["REQUEST_MAX_TOKENS"] = "gen_ai.request.max_tokens";
25
- GenAiAttr2["USAGE_INPUT_TOKENS"] = "gen_ai.usage.input_tokens";
26
- GenAiAttr2["USAGE_OUTPUT_TOKENS"] = "gen_ai.usage.output_tokens";
27
- GenAiAttr2["RESPONSE_FINISH_REASONS"] = "gen_ai.response.finish_reasons";
28
- return GenAiAttr2;
29
- })(GenAiAttr || {});
30
- var AdkAttr = /* @__PURE__ */ ((AdkAttr2) => {
31
- AdkAttr2["WORKFLOW_NAME"] = "adk.workflow.name";
32
- AdkAttr2["NODE_PATH"] = "adk.node.path";
33
- AdkAttr2["NODE_RUN_ID"] = "adk.node.run_id";
34
- AdkAttr2["NODE_ATTEMPT"] = "adk.node.attempt";
35
- AdkAttr2["NODE_STATUS"] = "adk.node.status";
36
- AdkAttr2["NODE_INTERRUPT_COUNT"] = "adk.node.interrupt_count";
37
- return AdkAttr2;
38
- })(AdkAttr || {});
39
- var GcpAttr = /* @__PURE__ */ ((GcpAttr2) => {
40
- GcpAttr2["INVOCATION_ID"] = "gcp.vertex.agent.invocation_id";
41
- GcpAttr2["SESSION_ID"] = "gcp.vertex.agent.session_id";
42
- GcpAttr2["EVENT_ID"] = "gcp.vertex.agent.event_id";
43
- GcpAttr2["LLM_REQUEST"] = "gcp.vertex.agent.llm_request";
44
- GcpAttr2["LLM_RESPONSE"] = "gcp.vertex.agent.llm_response";
45
- GcpAttr2["TOOL_CALL_ARGS"] = "gcp.vertex.agent.tool_call_args";
46
- GcpAttr2["TOOL_RESPONSE"] = "gcp.vertex.agent.tool_response";
47
- GcpAttr2["DATA"] = "gcp.vertex.agent.data";
48
- return GcpAttr2;
49
- })(GcpAttr || {});
50
- const GEN_AI_SYSTEM_VALUE = "gcp.vertex.agent";
51
- const tracer = trace.getTracer(GEN_AI_SYSTEM_VALUE, version);
52
- function safeJsonSerialize(obj) {
53
- try {
54
- return JSON.stringify(obj);
55
- } catch (_e) {
56
- return "<not serializable>";
57
- }
58
- }
59
- __name(safeJsonSerialize, "safeJsonSerialize");
60
- function traceAgentInvocation({
61
- agent,
62
- invocationContext
63
- }) {
64
- const span = trace.getActiveSpan();
65
- if (!span) return;
66
- span.setAttributes({
67
- ["gen_ai.operation.name" /* OPERATION_NAME */]: "invoke_agent",
68
- // Conditionally Required
69
- ["gen_ai.agent.description" /* AGENT_DESCRIPTION */]: agent.description,
70
- ["gen_ai.agent.name" /* AGENT_NAME */]: agent.name,
71
- ["gen_ai.conversation.id" /* CONVERSATION_ID */]: invocationContext.session.id
72
- });
73
- }
74
- __name(traceAgentInvocation, "traceAgentInvocation");
75
- function traceWorkflowInvocation({
76
- workflowName,
77
- nodePath,
78
- sessionId
79
- }) {
80
- const span = trace.getActiveSpan();
81
- if (!span) return;
82
- span.setAttributes({
83
- ["gen_ai.operation.name" /* OPERATION_NAME */]: "invoke_workflow",
84
- ["gen_ai.conversation.id" /* CONVERSATION_ID */]: sessionId,
85
- ["adk.workflow.name" /* WORKFLOW_NAME */]: workflowName,
86
- ["adk.node.path" /* NODE_PATH */]: nodePath
87
- });
88
- }
89
- __name(traceWorkflowInvocation, "traceWorkflowInvocation");
90
- function traceNodeExecution({
91
- nodePath,
92
- runId,
93
- attempt,
94
- status,
95
- interruptCount
96
- }) {
97
- const span = trace.getActiveSpan();
98
- if (!span) return;
99
- span.setAttributes({
100
- ["gen_ai.operation.name" /* OPERATION_NAME */]: "execute_node",
101
- ["adk.node.path" /* NODE_PATH */]: nodePath,
102
- ["adk.node.run_id" /* NODE_RUN_ID */]: runId,
103
- ["adk.node.attempt" /* NODE_ATTEMPT */]: attempt,
104
- ["adk.node.status" /* NODE_STATUS */]: status,
105
- ["adk.node.interrupt_count" /* NODE_INTERRUPT_COUNT */]: interruptCount
106
- });
107
- }
108
- __name(traceNodeExecution, "traceNodeExecution");
109
- function traceToolCall({
110
- tool,
111
- args,
112
- functionResponseEvent,
113
- invocationContext
114
- }) {
115
- var _a, _b;
116
- const span = trace.getActiveSpan();
117
- if (!span) return;
118
- span.setAttributes({
119
- ["gen_ai.operation.name" /* OPERATION_NAME */]: "execute_tool",
120
- ["gen_ai.system" /* SYSTEM */]: GEN_AI_SYSTEM_VALUE,
121
- ["gen_ai.tool.description" /* TOOL_DESCRIPTION */]: tool.description || "",
122
- ["gen_ai.tool.name" /* TOOL_NAME */]: tool.name,
123
- // e.g. FunctionTool
124
- ["gen_ai.tool.type" /* TOOL_TYPE */]: tool.constructor.name,
125
- ["gcp.vertex.agent.invocation_id" /* INVOCATION_ID */]: invocationContext.invocationId,
126
- // Setting empty llm request and response (as UI expect these) while not
127
- // applicable for tool_response.
128
- ["gcp.vertex.agent.llm_request" /* LLM_REQUEST */]: "{}",
129
- ["gcp.vertex.agent.llm_response" /* LLM_RESPONSE */]: "{}",
130
- ["gcp.vertex.agent.tool_call_args" /* TOOL_CALL_ARGS */]: shouldAddRequestResponseToSpans() ? safeJsonSerialize(args) : "{}"
131
- });
132
- let toolCallId = "<not specified>";
133
- let toolResponse = "<not specified>";
134
- if ((_a = functionResponseEvent.content) == null ? void 0 : _a.parts) {
135
- const responseParts = functionResponseEvent.content.parts;
136
- const functionResponse = (_b = responseParts[0]) == null ? void 0 : _b.functionResponse;
137
- if (functionResponse == null ? void 0 : functionResponse.id) {
138
- toolCallId = functionResponse.id;
139
- }
140
- if (functionResponse == null ? void 0 : functionResponse.response) {
141
- toolResponse = functionResponse.response;
142
- }
143
- }
144
- if (typeof toolResponse !== "object" || toolResponse === null) {
145
- toolResponse = { result: toolResponse };
146
- }
147
- span.setAttributes({
148
- ["gen_ai.tool.call.id" /* TOOL_CALL_ID */]: toolCallId,
149
- ["gcp.vertex.agent.event_id" /* EVENT_ID */]: functionResponseEvent.id,
150
- ["gcp.vertex.agent.tool_response" /* TOOL_RESPONSE */]: shouldAddRequestResponseToSpans() ? safeJsonSerialize(toolResponse) : "{}"
151
- });
152
- }
153
- __name(traceToolCall, "traceToolCall");
154
- function traceMergedToolCalls({
155
- responseEventId,
156
- functionResponseEvent,
157
- invocationContext
158
- }) {
159
- const span = trace.getActiveSpan();
160
- if (!span) return;
161
- span.setAttributes({
162
- ["gen_ai.operation.name" /* OPERATION_NAME */]: "execute_tool",
163
- ["gen_ai.system" /* SYSTEM */]: GEN_AI_SYSTEM_VALUE,
164
- ["gen_ai.tool.name" /* TOOL_NAME */]: "(merged tools)",
165
- ["gen_ai.tool.description" /* TOOL_DESCRIPTION */]: "(merged tools)",
166
- ["gen_ai.tool.call.id" /* TOOL_CALL_ID */]: responseEventId,
167
- ["gcp.vertex.agent.invocation_id" /* INVOCATION_ID */]: invocationContext.invocationId,
168
- ["gcp.vertex.agent.tool_call_args" /* TOOL_CALL_ARGS */]: "N/A",
169
- ["gcp.vertex.agent.event_id" /* EVENT_ID */]: responseEventId,
170
- // Setting empty llm request and response (as UI expect these) while not
171
- // applicable for tool_response.
172
- ["gcp.vertex.agent.llm_request" /* LLM_REQUEST */]: "{}",
173
- ["gcp.vertex.agent.llm_response" /* LLM_RESPONSE */]: "{}"
174
- });
175
- span.setAttribute(
176
- "gcp.vertex.agent.tool_response" /* TOOL_RESPONSE */,
177
- shouldAddRequestResponseToSpans() ? safeJsonSerialize(functionResponseEvent) : "{}"
178
- );
179
- }
180
- __name(traceMergedToolCalls, "traceMergedToolCalls");
181
- function traceCallLlm({
182
- invocationContext,
183
- eventId,
184
- llmRequest,
185
- llmResponse
186
- }) {
187
- var _a, _b, _c, _d;
188
- const span = trace.getActiveSpan();
189
- if (!span) return;
190
- span.setAttributes({
191
- ["gen_ai.system" /* SYSTEM */]: GEN_AI_SYSTEM_VALUE,
192
- ["gen_ai.request.model" /* REQUEST_MODEL */]: llmRequest.model,
193
- ...((_a = invocationContext.agent) == null ? void 0 : _a.name) ? { ["gen_ai.agent.name" /* AGENT_NAME */]: invocationContext.agent.name } : {},
194
- ["gcp.vertex.agent.invocation_id" /* INVOCATION_ID */]: invocationContext.invocationId,
195
- ["gcp.vertex.agent.session_id" /* SESSION_ID */]: invocationContext.session.id,
196
- ["gcp.vertex.agent.event_id" /* EVENT_ID */]: eventId,
197
- // Consider removing once GenAI SDK provides a way to record this info.
198
- ["gcp.vertex.agent.llm_request" /* LLM_REQUEST */]: shouldAddRequestResponseToSpans() ? safeJsonSerialize(buildLlmRequestForTrace(llmRequest)) : "{}"
199
- });
200
- if ((_b = llmRequest.config) == null ? void 0 : _b.topP) {
201
- span.setAttribute("gen_ai.request.top_p" /* REQUEST_TOP_P */, llmRequest.config.topP);
202
- }
203
- if (((_c = llmRequest.config) == null ? void 0 : _c.maxOutputTokens) !== void 0) {
204
- span.setAttribute(
205
- "gen_ai.request.max_tokens" /* REQUEST_MAX_TOKENS */,
206
- llmRequest.config.maxOutputTokens
207
- );
208
- }
209
- span.setAttribute(
210
- "gcp.vertex.agent.llm_response" /* LLM_RESPONSE */,
211
- shouldAddRequestResponseToSpans() ? safeJsonSerialize(llmResponse) : "{}"
212
- );
213
- if (llmResponse.usageMetadata) {
214
- span.setAttribute(
215
- "gen_ai.usage.input_tokens" /* USAGE_INPUT_TOKENS */,
216
- llmResponse.usageMetadata.promptTokenCount || 0
217
- );
218
- }
219
- if ((_d = llmResponse.usageMetadata) == null ? void 0 : _d.candidatesTokenCount) {
220
- span.setAttribute(
221
- "gen_ai.usage.output_tokens" /* USAGE_OUTPUT_TOKENS */,
222
- llmResponse.usageMetadata.candidatesTokenCount
223
- );
224
- }
225
- if (llmResponse.finishReason) {
226
- const finishReasonValue = typeof llmResponse.finishReason === "string" ? llmResponse.finishReason.toLowerCase() : String(llmResponse.finishReason).toLowerCase();
227
- span.setAttribute("gen_ai.response.finish_reasons" /* RESPONSE_FINISH_REASONS */, [finishReasonValue]);
228
- }
229
- }
230
- __name(traceCallLlm, "traceCallLlm");
231
- function traceSendData({
232
- invocationContext,
233
- eventId,
234
- data
235
- }) {
236
- const span = trace.getActiveSpan();
237
- if (!span) return;
238
- span.setAttributes({
239
- ["gcp.vertex.agent.invocation_id" /* INVOCATION_ID */]: invocationContext.invocationId,
240
- ["gcp.vertex.agent.event_id" /* EVENT_ID */]: eventId
241
- });
242
- span.setAttribute(
243
- "gcp.vertex.agent.data" /* DATA */,
244
- shouldAddRequestResponseToSpans() ? safeJsonSerialize(data) : "{}"
245
- );
246
- }
247
- __name(traceSendData, "traceSendData");
248
- function redactHttpOptions(httpOptions) {
249
- const redacted = { ...httpOptions };
250
- delete redacted.headers;
251
- delete redacted.extraBody;
252
- return redacted;
253
- }
254
- __name(redactHttpOptions, "redactHttpOptions");
255
- function buildLlmRequestForTrace(llmRequest) {
256
- const result = {
257
- model: llmRequest.model,
258
- contents: []
259
- };
260
- if (llmRequest.config) {
261
- const { responseSchema: _responseSchema, ...cleanConfig } = llmRequest.config;
262
- if (cleanConfig.httpOptions) {
263
- cleanConfig.httpOptions = redactHttpOptions(cleanConfig.httpOptions);
264
- }
265
- result.config = cleanConfig;
266
- }
267
- result.contents = llmRequest.contents.map((content) => {
268
- var _a;
269
- return {
270
- role: content.role,
271
- parts: ((_a = content.parts) == null ? void 0 : _a.filter((part) => !part.inlineData)) || []
272
- };
273
- });
274
- return result;
275
- }
276
- __name(buildLlmRequestForTrace, "buildLlmRequestForTrace");
277
- function bindOtelContextToAsyncGenerator(ctx, generator) {
278
- return {
279
- // Bind the next() method to execute within the provided context
280
- next: context.bind(ctx, generator.next.bind(generator)),
281
- // Bind the return() method to execute within the provided context
282
- return: context.bind(ctx, generator.return.bind(generator)),
283
- // Bind the throw() method to execute within the provided context
284
- throw: context.bind(ctx, generator.throw.bind(generator)),
285
- // Ensure the async iterator symbol also returns a context-bound generator
286
- [Symbol.asyncIterator]() {
287
- return bindOtelContextToAsyncGenerator(
288
- ctx,
289
- generator[Symbol.asyncIterator]()
290
- );
291
- }
292
- };
293
- }
294
- __name(bindOtelContextToAsyncGenerator, "bindOtelContextToAsyncGenerator");
295
- function runAsyncGeneratorWithOtelContext(otelContext, generatorFnContext, generatorFn) {
296
- const generator = generatorFn.call(generatorFnContext);
297
- return bindOtelContextToAsyncGenerator(otelContext, generator);
298
- }
299
- __name(runAsyncGeneratorWithOtelContext, "runAsyncGeneratorWithOtelContext");
300
- function shouldAddRequestResponseToSpans() {
301
- const envValue = process.env.ADK_CAPTURE_MESSAGE_CONTENT_IN_SPANS || "true";
302
- return envValue === "true" || envValue === "1";
303
- }
304
- __name(shouldAddRequestResponseToSpans, "shouldAddRequestResponseToSpans");
305
- export {
306
- runAsyncGeneratorWithOtelContext,
307
- traceAgentInvocation,
308
- traceCallLlm,
309
- traceMergedToolCalls,
310
- traceNodeExecution,
311
- traceSendData,
312
- traceToolCall,
313
- traceWorkflowInvocation,
314
- tracer
315
- };