@google/adk 2.0.0 → 2.2.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 (658) 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 +66 -6
  5. package/dist/cjs/a2a/agent_executor.js +18 -6
  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 +21 -6
  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 +15 -7
  21. package/dist/cjs/agents/processors/content_request_processor.js +4 -1
  22. package/dist/cjs/agents/processors/nl_planning_processor.js +114 -0
  23. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  24. package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
  25. package/dist/cjs/agents/readonly_context.js +6 -0
  26. package/dist/cjs/agents/routed_agent.js +1 -1
  27. package/dist/cjs/agents/sequential_agent.js +1 -1
  28. package/dist/cjs/apps/app.js +1 -1
  29. package/dist/cjs/artifacts/file_artifact_service.js +1 -2
  30. package/dist/cjs/artifacts/gcs_artifact_service.js +13 -7
  31. package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
  32. package/dist/cjs/artifacts/session_artifact_service.js +19 -0
  33. package/dist/cjs/auth/auth_credential.js +12 -2
  34. package/dist/cjs/auth/auth_handler.js +44 -8
  35. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
  36. package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
  37. package/dist/cjs/code_executors/base_code_executor.js +1 -1
  38. package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
  39. package/dist/cjs/code_executors/code_execution_utils.js +5 -5
  40. package/dist/cjs/code_executors/container_code_executor.js +186 -0
  41. package/dist/cjs/code_executors/docker_container.js +282 -0
  42. package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
  43. package/dist/cjs/common.js +119 -45
  44. package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
  45. package/dist/cjs/context/anchored_context_compactor.js +41 -18
  46. package/dist/cjs/context/compaction_utils.js +15 -6
  47. package/dist/cjs/context/token_based_context_compactor.js +10 -2
  48. package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
  49. package/dist/cjs/context/truncating_context_compactor.js +17 -5
  50. package/dist/cjs/errors/already_exists_error.js +50 -0
  51. package/dist/cjs/errors/input_validation_error.js +50 -0
  52. package/dist/cjs/errors/not_found_error.js +50 -0
  53. package/dist/cjs/errors/session_not_found_error.js +50 -0
  54. package/dist/cjs/errors/tool_execution_error.js +68 -0
  55. package/dist/cjs/events/event.js +1 -1
  56. package/dist/cjs/events/event_actions.js +7 -0
  57. package/dist/cjs/examples/base_example_provider.js +1 -1
  58. package/dist/cjs/examples/example.js +92 -0
  59. package/dist/cjs/examples/example_util.js +28 -4
  60. package/dist/cjs/examples/index.js +39 -0
  61. package/dist/cjs/examples/vertex_ai_example_store.js +39 -0
  62. package/dist/cjs/index.js +93 -0
  63. package/dist/cjs/index_web.js +2 -0
  64. package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
  65. package/dist/cjs/memory/rag_memory_transcript.js +136 -0
  66. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +19 -7
  67. package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
  68. package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
  69. package/dist/cjs/models/apigee_llm.js +1 -1
  70. package/dist/cjs/models/base_llm.js +2 -7
  71. package/dist/cjs/models/chrome_prompt_llm.js +318 -0
  72. package/dist/cjs/models/chrome_prompt_utils.js +281 -0
  73. package/dist/cjs/models/gemini_llm_connection.js +5 -4
  74. package/dist/cjs/models/google_llm.js +9 -4
  75. package/dist/cjs/models/interactions_utils.js +2 -3
  76. package/dist/cjs/models/registry.js +2 -0
  77. package/dist/cjs/planners/base_planner.js +56 -0
  78. package/dist/cjs/planners/built_in_planner.js +85 -0
  79. package/dist/cjs/planners/plan_re_act_planner.js +172 -0
  80. package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
  81. package/dist/cjs/plugins/base_plugin.js +46 -61
  82. package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
  83. package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
  84. package/dist/cjs/runner/runner.js +29 -26
  85. package/dist/cjs/sessions/database_session_service.js +78 -43
  86. package/dist/cjs/sessions/db/operations.js +229 -22
  87. package/dist/cjs/sessions/db/schema.js +113 -159
  88. package/dist/cjs/sessions/registry.js +5 -1
  89. package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
  90. package/dist/cjs/telemetry/setup.js +1 -1
  91. package/dist/cjs/telemetry/tracing.js +11 -1
  92. package/dist/cjs/tools/agent_tool.js +4 -5
  93. package/dist/cjs/tools/base_tool.js +14 -4
  94. package/dist/cjs/tools/base_toolset.js +4 -4
  95. package/dist/cjs/tools/built_in_tool.js +75 -0
  96. package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
  97. package/dist/cjs/tools/example_tool.js +1 -1
  98. package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
  99. package/dist/cjs/tools/function_tool.js +6 -3
  100. package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
  101. package/dist/cjs/tools/google_search_tool.js +3 -6
  102. package/dist/cjs/tools/load_artifacts_tool.js +47 -23
  103. package/dist/cjs/tools/load_web_page.js +6 -172
  104. package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
  105. package/dist/cjs/tools/mcp/mcp_session_manager.js +14 -8
  106. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +292 -4
  107. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
  108. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +70 -0
  109. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +120 -0
  110. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -10
  111. package/dist/cjs/tools/openapi_tool/common/common.js +139 -0
  112. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
  113. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +74 -14
  114. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -34
  115. package/dist/cjs/tools/openapi_tool/openapi_toolset.js +14 -2
  116. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +106 -46
  117. package/dist/cjs/tools/preload_memory_tool.js +1 -1
  118. package/dist/cjs/tools/resume_inputs.js +27 -0
  119. package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
  120. package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
  121. package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
  122. package/dist/cjs/tools/skill/skill_toolset.js +2 -0
  123. package/dist/cjs/tools/tool_context.js +41 -0
  124. package/dist/cjs/tools/url_context_tool.js +3 -6
  125. package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
  126. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
  127. package/dist/cjs/tools/webmcp/index.js +37 -0
  128. package/dist/cjs/tools/webmcp/webmcp_tool.js +156 -0
  129. package/dist/cjs/tools/webmcp/webmcp_toolset.js +116 -0
  130. package/dist/cjs/tools/webmcp/webmcp_types.js +50 -0
  131. package/dist/cjs/utils/case_utils.js +52 -2
  132. package/dist/cjs/utils/client_labels.js +67 -0
  133. package/dist/cjs/utils/crypto_shim.js +16 -0
  134. package/dist/cjs/utils/gemini_schema_util.js +103 -9
  135. package/dist/cjs/utils/hash_utils.js +73 -0
  136. package/dist/cjs/utils/live_connection_utils.js +10 -9
  137. package/dist/cjs/utils/logger.js +15 -50
  138. package/dist/cjs/utils/logger_browser.js +86 -0
  139. package/dist/cjs/utils/logger_node.js +119 -0
  140. package/dist/cjs/utils/model_name.js +17 -2
  141. package/dist/cjs/utils/redact_inline_data.js +46 -0
  142. package/dist/cjs/utils/redact_uri.js +15 -1
  143. package/dist/cjs/utils/schema.js +1 -1
  144. package/dist/cjs/utils/simple_zod_to_json.js +5 -0
  145. package/dist/cjs/utils/ssrf_guard.js +262 -0
  146. package/dist/cjs/version.js +1 -1
  147. package/dist/cjs/workflow/base_node.js +1 -1
  148. package/dist/cjs/workflow/graph.js +1 -1
  149. package/dist/cjs/workflow/nodes/node_tool.js +2 -11
  150. package/dist/cjs/workflow/request_input.js +1 -1
  151. package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
  152. package/dist/cjs/workflow/workflow.js +1 -1
  153. package/dist/esm/a2a/a2a_event.js +0 -28
  154. package/dist/esm/a2a/a2a_remote_agent.js +10 -5
  155. package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
  156. package/dist/esm/a2a/agent_card.js +71 -6
  157. package/dist/esm/a2a/agent_executor.js +18 -6
  158. package/dist/esm/a2a/agent_to_a2a.js +8 -2
  159. package/dist/esm/a2a/event_processor_utils.js +1 -2
  160. package/dist/esm/a2a/executor_context.js +4 -2
  161. package/dist/esm/a2a/index.js +7 -1
  162. package/dist/esm/a2a/request_metadata.js +68 -0
  163. package/dist/esm/agents/base_agent.js +9 -8
  164. package/dist/esm/agents/context.js +7 -0
  165. package/dist/esm/agents/functions.js +152 -48
  166. package/dist/esm/agents/invocation_context.js +1 -0
  167. package/dist/esm/agents/llm_agent.js +24 -6
  168. package/dist/esm/agents/loop_agent.js +1 -1
  169. package/dist/esm/agents/parallel_agent.js +1 -1
  170. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  171. package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
  172. package/dist/esm/agents/processors/content_processor_utils.js +15 -7
  173. package/dist/esm/agents/processors/content_request_processor.js +4 -1
  174. package/dist/esm/agents/processors/nl_planning_processor.js +87 -0
  175. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  176. package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
  177. package/dist/esm/agents/readonly_context.js +6 -0
  178. package/dist/esm/agents/routed_agent.js +1 -1
  179. package/dist/esm/agents/sequential_agent.js +1 -1
  180. package/dist/esm/apps/app.js +1 -1
  181. package/dist/esm/artifacts/file_artifact_service.js +1 -2
  182. package/dist/esm/artifacts/gcs_artifact_service.js +13 -7
  183. package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
  184. package/dist/esm/artifacts/session_artifact_service.js +12 -0
  185. package/dist/esm/auth/auth_credential.js +11 -1
  186. package/dist/esm/auth/auth_handler.js +47 -8
  187. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
  188. package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
  189. package/dist/esm/code_executors/base_code_executor.js +1 -1
  190. package/dist/esm/code_executors/built_in_code_executor.js +1 -1
  191. package/dist/esm/code_executors/code_execution_utils.js +5 -5
  192. package/dist/esm/code_executors/container_code_executor.js +155 -0
  193. package/dist/esm/code_executors/docker_container.js +265 -0
  194. package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
  195. package/dist/esm/common.js +111 -40
  196. package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
  197. package/dist/esm/context/anchored_context_compactor.js +45 -19
  198. package/dist/esm/context/compaction_utils.js +13 -5
  199. package/dist/esm/context/token_based_context_compactor.js +10 -2
  200. package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
  201. package/dist/esm/context/truncating_context_compactor.js +17 -5
  202. package/dist/esm/errors/already_exists_error.js +23 -0
  203. package/dist/esm/errors/input_validation_error.js +23 -0
  204. package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
  205. package/dist/esm/errors/session_not_found_error.js +23 -0
  206. package/dist/esm/errors/tool_execution_error.js +40 -0
  207. package/dist/esm/events/event.js +1 -1
  208. package/dist/esm/events/event_actions.js +6 -0
  209. package/dist/esm/examples/base_example_provider.js +1 -1
  210. package/dist/esm/examples/example.js +85 -0
  211. package/dist/esm/examples/example_util.js +25 -3
  212. package/dist/{web/auth/credential_service/base_credential_service.js → esm/examples/index.js} +4 -0
  213. package/dist/{web/version.js → esm/examples/vertex_ai_example_store.js} +2 -2
  214. package/dist/esm/index.js +87 -0
  215. package/dist/esm/index_web.js +2 -0
  216. package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
  217. package/dist/esm/memory/rag_memory_transcript.js +106 -0
  218. package/dist/esm/memory/vertex_ai_memory_bank_service.js +19 -7
  219. package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
  220. package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
  221. package/dist/esm/models/apigee_llm.js +1 -1
  222. package/dist/esm/models/base_llm.js +3 -8
  223. package/dist/esm/models/chrome_prompt_llm.js +302 -0
  224. package/dist/esm/models/chrome_prompt_utils.js +241 -0
  225. package/dist/esm/models/gemini_llm_connection.js +6 -5
  226. package/dist/esm/models/google_llm.js +9 -4
  227. package/dist/esm/models/interactions_utils.js +2 -3
  228. package/dist/esm/models/registry.js +2 -0
  229. package/dist/esm/planners/base_planner.js +28 -0
  230. package/dist/esm/planners/built_in_planner.js +57 -0
  231. package/dist/esm/planners/plan_re_act_planner.js +145 -0
  232. package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
  233. package/dist/esm/plugins/base_plugin.js +46 -61
  234. package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
  235. package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
  236. package/dist/esm/runner/runner.js +35 -27
  237. package/dist/esm/sessions/database_session_service.js +58 -25
  238. package/dist/esm/sessions/db/operations.js +229 -22
  239. package/dist/esm/sessions/db/schema.js +111 -160
  240. package/dist/esm/sessions/registry.js +5 -1
  241. package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
  242. package/dist/esm/telemetry/setup.js +1 -1
  243. package/dist/esm/telemetry/tracing.js +11 -1
  244. package/dist/esm/tools/agent_tool.js +4 -5
  245. package/dist/esm/tools/base_tool.js +11 -3
  246. package/dist/esm/tools/base_toolset.js +4 -4
  247. package/dist/esm/tools/built_in_tool.js +51 -0
  248. package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
  249. package/dist/esm/tools/example_tool.js +1 -1
  250. package/dist/esm/tools/forwarding_artifact_service.js +18 -13
  251. package/dist/esm/tools/function_tool.js +6 -3
  252. package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
  253. package/dist/esm/tools/google_search_tool.js +3 -6
  254. package/dist/esm/tools/load_artifacts_tool.js +48 -24
  255. package/dist/esm/tools/load_web_page.js +10 -170
  256. package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
  257. package/dist/esm/tools/mcp/mcp_session_manager.js +14 -8
  258. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +285 -3
  259. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
  260. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +43 -0
  261. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +93 -0
  262. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -12
  263. package/dist/esm/tools/openapi_tool/common/common.js +112 -0
  264. package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
  265. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +81 -14
  266. package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -33
  267. package/dist/esm/tools/openapi_tool/openapi_toolset.js +14 -2
  268. package/dist/esm/tools/openapi_tool/rest_api_tool.js +105 -46
  269. package/dist/esm/tools/preload_memory_tool.js +1 -1
  270. package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
  271. package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
  272. package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
  273. package/dist/esm/tools/skill/skill_toolset.js +2 -0
  274. package/dist/{web/context/base_context_compactor.js → esm/tools/tool_context.js} +8 -0
  275. package/dist/esm/tools/url_context_tool.js +3 -6
  276. package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
  277. package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
  278. package/dist/{web/auth/base_auth_provider.js → esm/tools/webmcp/index.js} +3 -0
  279. package/dist/esm/tools/webmcp/webmcp_tool.js +131 -0
  280. package/dist/esm/tools/webmcp/webmcp_toolset.js +89 -0
  281. package/dist/{web/utils/crypto_shim.js → esm/tools/webmcp/webmcp_types.js} +10 -6
  282. package/dist/esm/utils/case_utils.js +49 -1
  283. package/dist/esm/utils/client_labels.js +65 -0
  284. package/dist/esm/utils/crypto_shim.js +14 -0
  285. package/dist/esm/utils/gemini_schema_util.js +102 -9
  286. package/dist/esm/utils/hash_utils.js +45 -0
  287. package/dist/esm/utils/live_connection_utils.js +11 -10
  288. package/dist/esm/utils/logger.js +14 -40
  289. package/dist/esm/utils/logger_browser.js +58 -0
  290. package/dist/esm/utils/logger_node.js +81 -0
  291. package/dist/esm/utils/model_name.js +15 -2
  292. package/dist/esm/utils/redact_inline_data.js +19 -0
  293. package/dist/esm/utils/redact_uri.js +15 -1
  294. package/dist/esm/utils/schema.js +1 -1
  295. package/dist/esm/utils/simple_zod_to_json.js +5 -0
  296. package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
  297. package/dist/esm/version.js +1 -1
  298. package/dist/esm/workflow/base_node.js +1 -1
  299. package/dist/esm/workflow/graph.js +1 -1
  300. package/dist/esm/workflow/nodes/node_tool.js +2 -11
  301. package/dist/esm/workflow/request_input.js +1 -1
  302. package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
  303. package/dist/esm/workflow/workflow.js +1 -1
  304. package/dist/types/a2a/a2a_event.d.ts +7 -10
  305. package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
  306. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
  307. package/dist/types/a2a/agent_card.d.ts +9 -0
  308. package/dist/types/a2a/agent_executor.d.ts +1 -1
  309. package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
  310. package/dist/types/a2a/auth.d.ts +5 -1
  311. package/dist/types/a2a/executor_context.d.ts +7 -1
  312. package/dist/types/a2a/index.d.ts +1 -1
  313. package/dist/types/a2a/request_metadata.d.ts +22 -0
  314. package/dist/types/agents/base_agent.d.ts +19 -16
  315. package/dist/types/agents/context.d.ts +8 -0
  316. package/dist/types/agents/functions.d.ts +72 -6
  317. package/dist/types/agents/invocation_context.d.ts +11 -3
  318. package/dist/types/agents/llm_agent.d.ts +20 -7
  319. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
  320. package/dist/types/agents/processors/nl_planning_processor.d.ts +30 -0
  321. package/dist/types/agents/readonly_context.d.ts +4 -0
  322. package/dist/types/agents/run_config.d.ts +21 -8
  323. package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
  324. package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
  325. package/dist/types/auth/auth_credential.d.ts +22 -8
  326. package/dist/types/auth/auth_handler.d.ts +12 -1
  327. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
  328. package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
  329. package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
  330. package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
  331. package/dist/types/code_executors/container_code_executor.d.ts +89 -0
  332. package/dist/types/code_executors/docker_container.d.ts +79 -0
  333. package/dist/types/common.d.ts +37 -23
  334. package/dist/types/context/compaction_utils.d.ts +9 -1
  335. package/dist/types/errors/already_exists_error.d.ts +14 -0
  336. package/dist/types/errors/input_validation_error.d.ts +14 -0
  337. package/dist/types/errors/not_found_error.d.ts +14 -0
  338. package/dist/types/errors/session_not_found_error.d.ts +14 -0
  339. package/dist/types/errors/tool_execution_error.d.ts +36 -0
  340. package/dist/types/events/event_actions.d.ts +13 -0
  341. package/dist/types/examples/base_example_provider.d.ts +2 -2
  342. package/dist/types/examples/example.d.ts +75 -0
  343. package/dist/types/examples/example_util.d.ts +13 -2
  344. package/dist/types/examples/index.d.ts +18 -0
  345. package/dist/types/examples/vertex_ai_example_store.d.ts +7 -0
  346. package/dist/types/index.d.ts +31 -1
  347. package/dist/types/memory/memory_entry.d.ts +15 -0
  348. package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
  349. package/dist/types/memory/vertex_ai_memory_bank_service.d.ts +9 -0
  350. package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
  351. package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
  352. package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
  353. package/dist/types/models/chrome_prompt_utils.d.ts +97 -0
  354. package/dist/types/models/google_llm.d.ts +8 -3
  355. package/dist/types/models/registry.d.ts +3 -2
  356. package/dist/types/planners/base_planner.d.ts +50 -0
  357. package/dist/types/planners/built_in_planner.d.ts +53 -0
  358. package/dist/types/planners/plan_re_act_planner.d.ts +21 -0
  359. package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
  360. package/dist/types/plugins/base_plugin.d.ts +64 -62
  361. package/dist/types/plugins/logging_plugin.d.ts +3 -2
  362. package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
  363. package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
  364. package/dist/types/runner/runner.d.ts +7 -8
  365. package/dist/types/sessions/database_session_service.d.ts +1 -1
  366. package/dist/types/sessions/db/operations.d.ts +13 -1
  367. package/dist/types/sessions/db/schema.d.ts +23 -9
  368. package/dist/types/skills/skill_registry.d.ts +8 -0
  369. package/dist/types/tools/base_tool.d.ts +11 -0
  370. package/dist/types/tools/base_toolset.d.ts +3 -4
  371. package/dist/types/tools/built_in_tool.d.ts +41 -0
  372. package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
  373. package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
  374. package/dist/types/tools/function_tool.d.ts +42 -9
  375. package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
  376. package/dist/types/tools/google_search_tool.d.ts +4 -4
  377. package/dist/types/tools/long_running_tool.d.ts +1 -1
  378. package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
  379. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +115 -1
  380. package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +31 -2
  381. package/dist/types/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.d.ts +35 -0
  382. package/dist/types/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.d.ts +54 -0
  383. package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
  384. package/dist/types/tools/openapi_tool/common/common.d.ts +60 -0
  385. package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +7 -0
  386. package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +56 -2
  387. package/dist/types/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.d.ts +73 -5
  388. package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +11 -0
  389. package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +42 -8
  390. package/dist/types/tools/preload_memory_tool.d.ts +1 -1
  391. package/dist/types/tools/resume_inputs.d.ts +25 -0
  392. package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
  393. package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
  394. package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
  395. package/dist/types/tools/tool_context.d.ts +19 -0
  396. package/dist/types/tools/url_context_tool.d.ts +4 -4
  397. package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
  398. package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
  399. package/dist/types/tools/webmcp/index.d.ts +12 -0
  400. package/dist/types/tools/webmcp/webmcp_tool.d.ts +47 -0
  401. package/dist/types/tools/webmcp/webmcp_toolset.d.ts +67 -0
  402. package/dist/types/tools/webmcp/webmcp_types.d.ts +69 -0
  403. package/dist/types/utils/case_utils.d.ts +36 -0
  404. package/dist/types/utils/client_labels.d.ts +33 -0
  405. package/dist/types/utils/crypto_shim.d.ts +16 -0
  406. package/dist/types/utils/gemini_schema_util.d.ts +18 -7
  407. package/dist/types/utils/hash_utils.d.ts +25 -0
  408. package/dist/types/utils/logger.d.ts +33 -3
  409. package/dist/types/utils/logger_browser.d.ts +28 -0
  410. package/dist/types/utils/logger_node.d.ts +20 -0
  411. package/dist/types/utils/model_name.d.ts +30 -2
  412. package/dist/types/utils/output_schema_utils.d.ts +3 -3
  413. package/dist/types/utils/redact_inline_data.d.ts +16 -0
  414. package/dist/types/utils/redact_uri.d.ts +12 -8
  415. package/dist/types/utils/ssrf_guard.d.ts +32 -0
  416. package/dist/types/version.d.ts +1 -1
  417. package/dist/web/index_web.js +337 -3
  418. package/dist/web/index_web.js.map +7 -0
  419. package/package.json +24 -15
  420. package/dist/web/a2a/a2a_event.js +0 -290
  421. package/dist/web/a2a/a2a_remote_agent.js +0 -200
  422. package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
  423. package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
  424. package/dist/web/a2a/agent_card.js +0 -373
  425. package/dist/web/a2a/agent_executor.js +0 -246
  426. package/dist/web/a2a/agent_to_a2a.js +0 -126
  427. package/dist/web/a2a/auth.js +0 -41
  428. package/dist/web/a2a/event_converter_utils.js +0 -242
  429. package/dist/web/a2a/event_processor_utils.js +0 -209
  430. package/dist/web/a2a/executor_context.js +0 -28
  431. package/dist/web/a2a/index.js +0 -20
  432. package/dist/web/a2a/metadata_converter_utils.js +0 -115
  433. package/dist/web/a2a/part_converter_utils.js +0 -201
  434. package/dist/web/agents/active_streaming_tool.js +0 -25
  435. package/dist/web/agents/base_agent.js +0 -462
  436. package/dist/web/agents/context.js +0 -146
  437. package/dist/web/agents/framework_function_calls.js +0 -34
  438. package/dist/web/agents/functions.js +0 -462
  439. package/dist/web/agents/instructions.js +0 -188
  440. package/dist/web/agents/invocation_context.js +0 -126
  441. package/dist/web/agents/live_request_queue.js +0 -151
  442. package/dist/web/agents/llm_agent.js +0 -1514
  443. package/dist/web/agents/loop_agent.js +0 -131
  444. package/dist/web/agents/parallel_agent.js +0 -122
  445. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
  446. package/dist/web/agents/processors/base_llm_processor.js +0 -21
  447. package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
  448. package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
  449. package/dist/web/agents/processors/content_processor_utils.js +0 -432
  450. package/dist/web/agents/processors/content_request_processor.js +0 -73
  451. package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
  452. package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
  453. package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
  454. package/dist/web/agents/processors/interactions_request_processor.js +0 -56
  455. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
  456. package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
  457. package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
  458. package/dist/web/agents/readonly_context.js +0 -60
  459. package/dist/web/agents/routed_agent.js +0 -161
  460. package/dist/web/agents/run_config.js +0 -74
  461. package/dist/web/agents/sequential_agent.js +0 -141
  462. package/dist/web/agents/transcription_entry.js +0 -7
  463. package/dist/web/agents/user_input_request.js +0 -135
  464. package/dist/web/apps/app.js +0 -52
  465. package/dist/web/apps/resumability_config.js +0 -33
  466. package/dist/web/artifacts/base_artifact_service.js +0 -7
  467. package/dist/web/artifacts/file_artifact_service.js +0 -568
  468. package/dist/web/artifacts/gcs_artifact_service.js +0 -298
  469. package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
  470. package/dist/web/artifacts/registry.js +0 -36
  471. package/dist/web/artifacts/scoped_artifact_service.js +0 -89
  472. package/dist/web/auth/auth_credential.js +0 -18
  473. package/dist/web/auth/auth_handler.js +0 -151
  474. package/dist/web/auth/auth_preprocessor.js +0 -184
  475. package/dist/web/auth/auth_provider_registry.js +0 -37
  476. package/dist/web/auth/auth_schemes.js +0 -36
  477. package/dist/web/auth/auth_tool.js +0 -7
  478. package/dist/web/auth/credential_response_binding.js +0 -91
  479. package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
  480. package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
  481. package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
  482. package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
  483. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
  484. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
  485. package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
  486. package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
  487. package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
  488. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
  489. package/dist/web/code_executors/base_code_executor.js +0 -68
  490. package/dist/web/code_executors/built_in_code_executor.js +0 -50
  491. package/dist/web/code_executors/code_execution_utils.js +0 -131
  492. package/dist/web/code_executors/code_executor_context.js +0 -174
  493. package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
  494. package/dist/web/common.js +0 -452
  495. package/dist/web/context/agent_controlled_context_compactor.js +0 -76
  496. package/dist/web/context/anchored_context_compactor.js +0 -120
  497. package/dist/web/context/compaction_utils.js +0 -42
  498. package/dist/web/context/summarizers/base_summarizer.js +0 -7
  499. package/dist/web/context/summarizers/llm_summarizer.js +0 -91
  500. package/dist/web/context/token_based_context_compactor.js +0 -118
  501. package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
  502. package/dist/web/context/truncating_context_compactor.js +0 -34
  503. package/dist/web/environment/base_environment.js +0 -71
  504. package/dist/web/environment/local_environment.js +0 -165
  505. package/dist/web/events/compacted_event.js +0 -51
  506. package/dist/web/events/event.js +0 -208
  507. package/dist/web/events/event_actions.js +0 -74
  508. package/dist/web/events/structured_events.js +0 -79
  509. package/dist/web/examples/base_example_provider.js +0 -32
  510. package/dist/web/examples/example.js +0 -7
  511. package/dist/web/examples/example_util.js +0 -83
  512. package/dist/web/features/feature_registry.js +0 -115
  513. package/dist/web/index.js +0 -57
  514. package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
  515. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
  516. package/dist/web/integrations/agent_registry/helpers.js +0 -32
  517. package/dist/web/integrations/agent_registry/types.js +0 -20
  518. package/dist/web/memory/base_memory_service.js +0 -7
  519. package/dist/web/memory/in_memory_memory_service.js +0 -89
  520. package/dist/web/memory/memory_entry.js +0 -7
  521. package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
  522. package/dist/web/models/apigee_llm.js +0 -227
  523. package/dist/web/models/base_llm.js +0 -78
  524. package/dist/web/models/base_llm_connection.js +0 -7
  525. package/dist/web/models/gemini_llm_connection.js +0 -183
  526. package/dist/web/models/google_llm.js +0 -396
  527. package/dist/web/models/interactions_utils.js +0 -745
  528. package/dist/web/models/llm_request.js +0 -57
  529. package/dist/web/models/llm_response.js +0 -48
  530. package/dist/web/models/registry.js +0 -100
  531. package/dist/web/models/routed_llm.js +0 -112
  532. package/dist/web/plugins/base_plugin.js +0 -305
  533. package/dist/web/plugins/global_instruction_plugin.js +0 -71
  534. package/dist/web/plugins/logging_plugin.js +0 -241
  535. package/dist/web/plugins/plugin_manager.js +0 -318
  536. package/dist/web/plugins/security_plugin.js +0 -148
  537. package/dist/web/runner/in_memory_runner.js +0 -50
  538. package/dist/web/runner/runner.js +0 -747
  539. package/dist/web/sessions/base_session_service.js +0 -123
  540. package/dist/web/sessions/database_session_service.js +0 -440
  541. package/dist/web/sessions/db/operations.js +0 -124
  542. package/dist/web/sessions/db/schema.js +0 -216
  543. package/dist/web/sessions/in_memory_session_service.js +0 -251
  544. package/dist/web/sessions/registry.js +0 -38
  545. package/dist/web/sessions/session.js +0 -23
  546. package/dist/web/sessions/state.js +0 -159
  547. package/dist/web/sessions/state_write_order.js +0 -74
  548. package/dist/web/sessions/vertex_ai_session_service.js +0 -546
  549. package/dist/web/skills/gcp_skill_registry.js +0 -80
  550. package/dist/web/skills/loader.js +0 -372
  551. package/dist/web/skills/prompt.js +0 -34
  552. package/dist/web/skills/skill.js +0 -67
  553. package/dist/web/skills/skill_registry.js +0 -7
  554. package/dist/web/telemetry/google_cloud.js +0 -99
  555. package/dist/web/telemetry/setup.js +0 -89
  556. package/dist/web/telemetry/tracing.js +0 -304
  557. package/dist/web/tools/agent_tool.js +0 -150
  558. package/dist/web/tools/base_tool.js +0 -116
  559. package/dist/web/tools/base_toolset.js +0 -62
  560. package/dist/web/tools/consolidate_context_tool.js +0 -55
  561. package/dist/web/tools/enterprise_web_search_tool.js +0 -60
  562. package/dist/web/tools/example_tool.js +0 -46
  563. package/dist/web/tools/exit_loop_tool.js +0 -47
  564. package/dist/web/tools/finish_task_tool.js +0 -92
  565. package/dist/web/tools/forwarding_artifact_service.js +0 -51
  566. package/dist/web/tools/function_tool.js +0 -151
  567. package/dist/web/tools/get_user_choice_tool.js +0 -27
  568. package/dist/web/tools/google_maps_grounding_tool.js +0 -59
  569. package/dist/web/tools/google_search_tool.js +0 -55
  570. package/dist/web/tools/load_artifacts_tool.js +0 -159
  571. package/dist/web/tools/load_memory_tool.js +0 -83
  572. package/dist/web/tools/long_running_tool.js +0 -58
  573. package/dist/web/tools/mcp/index.js +0 -11
  574. package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
  575. package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
  576. package/dist/web/tools/mcp/mcp_tool.js +0 -47
  577. package/dist/web/tools/mcp/mcp_toolset.js +0 -144
  578. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
  579. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
  580. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
  581. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
  582. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
  583. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
  584. package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
  585. package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
  586. package/dist/web/tools/preload_memory_tool.js +0 -81
  587. package/dist/web/tools/request_input_tool.js +0 -29
  588. package/dist/web/tools/skill/list_skills_tool.js +0 -52
  589. package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
  590. package/dist/web/tools/skill/load_skill_tool.js +0 -96
  591. package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
  592. package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
  593. package/dist/web/tools/skill/search_skills_tool.js +0 -84
  594. package/dist/web/tools/skill/skill_toolset.js +0 -185
  595. package/dist/web/tools/tool_confirmation.js +0 -43
  596. package/dist/web/tools/url_context_tool.js +0 -48
  597. package/dist/web/tools/vertex_ai_search_tool.js +0 -107
  598. package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
  599. package/dist/web/utils/async_hooks_shim.js +0 -28
  600. package/dist/web/utils/async_queue.js +0 -88
  601. package/dist/web/utils/branch_trie.js +0 -16
  602. package/dist/web/utils/case_utils.js +0 -28
  603. package/dist/web/utils/client_labels.js +0 -70
  604. package/dist/web/utils/deprecated.js +0 -40
  605. package/dist/web/utils/env_aware_utils.js +0 -115
  606. package/dist/web/utils/error_utils.js +0 -101
  607. package/dist/web/utils/experimental.js +0 -54
  608. package/dist/web/utils/failover_utils.js +0 -100
  609. package/dist/web/utils/file_extension_utils.js +0 -55
  610. package/dist/web/utils/file_utils.js +0 -108
  611. package/dist/web/utils/gemini_schema_util.js +0 -177
  612. package/dist/web/utils/genai_schema_to_json.js +0 -80
  613. package/dist/web/utils/live_connection_utils.js +0 -257
  614. package/dist/web/utils/logger.js +0 -140
  615. package/dist/web/utils/model_name.js +0 -75
  616. package/dist/web/utils/object_notation_utils.js +0 -54
  617. package/dist/web/utils/optional_peer.js +0 -38
  618. package/dist/web/utils/output_schema_utils.js +0 -18
  619. package/dist/web/utils/partial_copy.js +0 -26
  620. package/dist/web/utils/redact_uri.js +0 -39
  621. package/dist/web/utils/schema.js +0 -167
  622. package/dist/web/utils/simple_zod_to_json.js +0 -134
  623. package/dist/web/utils/streaming_utils.js +0 -438
  624. package/dist/web/utils/task.js +0 -38
  625. package/dist/web/utils/variant_utils.js +0 -23
  626. package/dist/web/utils/vertex_ai_utils.js +0 -27
  627. package/dist/web/workflow/base_node.js +0 -215
  628. package/dist/web/workflow/branch_path.js +0 -77
  629. package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
  630. package/dist/web/workflow/errors.js +0 -140
  631. package/dist/web/workflow/graph.js +0 -127
  632. package/dist/web/workflow/index.js +0 -80
  633. package/dist/web/workflow/node.js +0 -87
  634. package/dist/web/workflow/node_builders.js +0 -40
  635. package/dist/web/workflow/node_context.js +0 -236
  636. package/dist/web/workflow/node_error_event.js +0 -86
  637. package/dist/web/workflow/node_runner.js +0 -481
  638. package/dist/web/workflow/node_state.js +0 -43
  639. package/dist/web/workflow/node_status.js +0 -20
  640. package/dist/web/workflow/nodes/function_node.js +0 -221
  641. package/dist/web/workflow/nodes/join_node.js +0 -47
  642. package/dist/web/workflow/nodes/node_tool.js +0 -131
  643. package/dist/web/workflow/nodes/parallel_worker.js +0 -120
  644. package/dist/web/workflow/nodes/tool_node.js +0 -126
  645. package/dist/web/workflow/request_input.js +0 -36
  646. package/dist/web/workflow/retry_config.js +0 -43
  647. package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
  648. package/dist/web/workflow/run_node_as_invocation.js +0 -170
  649. package/dist/web/workflow/schedule_dynamic_node.js +0 -26
  650. package/dist/web/workflow/trigger.js +0 -7
  651. package/dist/web/workflow/utils/graph_parser.js +0 -188
  652. package/dist/web/workflow/utils/graph_validation.js +0 -189
  653. package/dist/web/workflow/utils/hitl_utils.js +0 -239
  654. package/dist/web/workflow/utils/rehydration_utils.js +0 -342
  655. package/dist/web/workflow/utils/retry_utils.js +0 -82
  656. package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
  657. package/dist/web/workflow/workflow.js +0 -529
  658. /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
@@ -1,57 +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
- function appendInstructions(llmRequest, instructions) {
11
- if (!llmRequest.config) {
12
- llmRequest.config = {};
13
- }
14
- const newInstructions = instructions.join("\n\n");
15
- if (llmRequest.config.systemInstruction) {
16
- llmRequest.config.systemInstruction += "\n\n" + newInstructions;
17
- } else {
18
- llmRequest.config.systemInstruction = newInstructions;
19
- }
20
- }
21
- __name(appendInstructions, "appendInstructions");
22
- function appendTools(llmRequest, tools) {
23
- if (!(tools == null ? void 0 : tools.length)) {
24
- return;
25
- }
26
- const functionDeclarations = [];
27
- for (const tool of tools) {
28
- const declaration = tool._getDeclaration();
29
- if (declaration) {
30
- functionDeclarations.push(declaration);
31
- llmRequest.toolsDict[tool.name] = tool;
32
- }
33
- }
34
- if (functionDeclarations.length) {
35
- if (!llmRequest.config) {
36
- llmRequest.config = {};
37
- }
38
- if (!llmRequest.config.tools) {
39
- llmRequest.config.tools = [];
40
- }
41
- llmRequest.config.tools.push({ functionDeclarations });
42
- }
43
- }
44
- __name(appendTools, "appendTools");
45
- function setOutputSchema(llmRequest, schema) {
46
- if (!llmRequest.config) {
47
- llmRequest.config = {};
48
- }
49
- llmRequest.config.responseSchema = schema;
50
- llmRequest.config.responseMimeType = "application/json";
51
- }
52
- __name(setOutputSchema, "setOutputSchema");
53
- export {
54
- appendInstructions,
55
- appendTools,
56
- setOutputSchema
57
- };
@@ -1,48 +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
- function createLlmResponse(response) {
11
- var _a;
12
- const usageMetadata = response.usageMetadata;
13
- if (response.candidates && response.candidates.length > 0) {
14
- const candidate = response.candidates[0];
15
- if (((_a = candidate.content) == null ? void 0 : _a.parts) && candidate.content.parts.length > 0) {
16
- return {
17
- content: candidate.content,
18
- groundingMetadata: candidate.groundingMetadata,
19
- citationMetadata: candidate.citationMetadata,
20
- usageMetadata,
21
- finishReason: candidate.finishReason
22
- };
23
- }
24
- return {
25
- errorCode: candidate.finishReason,
26
- errorMessage: candidate.finishMessage,
27
- usageMetadata,
28
- citationMetadata: candidate.citationMetadata,
29
- finishReason: candidate.finishReason
30
- };
31
- }
32
- if (response.promptFeedback) {
33
- return {
34
- errorCode: response.promptFeedback.blockReason,
35
- errorMessage: response.promptFeedback.blockReasonMessage,
36
- usageMetadata
37
- };
38
- }
39
- return {
40
- errorCode: "UNKNOWN_ERROR",
41
- errorMessage: "Unknown error.",
42
- usageMetadata
43
- };
44
- }
45
- __name(createLlmResponse, "createLlmResponse");
46
- export {
47
- createLlmResponse
48
- };
@@ -1,100 +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 { logger } from "../utils/logger.js";
11
- import { ApigeeLlm } from "./apigee_llm.js";
12
- import { Gemini } from "./google_llm.js";
13
- const _LRUCache = class _LRUCache {
14
- constructor(maxSize) {
15
- this.maxSize = maxSize;
16
- this.cache = /* @__PURE__ */ new Map();
17
- }
18
- get(key) {
19
- const item = this.cache.get(key);
20
- if (item) {
21
- this.cache.delete(key);
22
- this.cache.set(key, item);
23
- }
24
- return item;
25
- }
26
- set(key, value) {
27
- if (this.cache.size >= this.maxSize && !this.cache.has(key)) {
28
- const lruKey = this.cache.keys().next().value;
29
- if (lruKey !== void 0) {
30
- this.cache.delete(lruKey);
31
- }
32
- }
33
- this.cache.set(key, value);
34
- }
35
- };
36
- __name(_LRUCache, "LRUCache");
37
- let LRUCache = _LRUCache;
38
- const _LLMRegistry = class _LLMRegistry {
39
- /**
40
- * Creates a new LLM instance.
41
- * @param model The model name.
42
- * @returns The LLM instance.
43
- */
44
- static newLlm(model) {
45
- return new (_LLMRegistry.resolve(model))({ model });
46
- }
47
- static _register(modelNameRegex, llmCls) {
48
- if (_LLMRegistry.llmRegistryDict.has(modelNameRegex)) {
49
- logger.info(
50
- "Updating LLM class for ".concat(modelNameRegex, " from ").concat(_LLMRegistry.llmRegistryDict.get(modelNameRegex), " to ").concat(llmCls)
51
- );
52
- }
53
- _LLMRegistry.llmRegistryDict.set(modelNameRegex, llmCls);
54
- }
55
- /**
56
- * Registers a new LLM class.
57
- * @param llmCls The class that implements the model.
58
- */
59
- static register(llmCls) {
60
- for (const regex of llmCls.supportedModels) {
61
- _LLMRegistry._register(regex, llmCls);
62
- }
63
- }
64
- /**
65
- * Resolves the model to a BaseLlm subclass.
66
- * @param model The model name.
67
- * @returns The BaseLlm subclass.
68
- * @throws If the model is not found.
69
- */
70
- static resolve(model) {
71
- const cachedLlm = _LLMRegistry.resolveCache.get(model);
72
- if (cachedLlm) {
73
- return cachedLlm;
74
- }
75
- for (const [regex, llmClass] of _LLMRegistry.llmRegistryDict.entries()) {
76
- const pattern = new RegExp(
77
- "^".concat(regex instanceof RegExp ? regex.source : regex, "$"),
78
- regex instanceof RegExp ? regex.flags : void 0
79
- );
80
- if (pattern.test(model)) {
81
- _LLMRegistry.resolveCache.set(model, llmClass);
82
- return llmClass;
83
- }
84
- }
85
- throw new Error("Model ".concat(model, " not found."));
86
- }
87
- };
88
- __name(_LLMRegistry, "LLMRegistry");
89
- /**
90
- * Key is the regex that matches the model name.
91
- * Value is the class that implements the model.
92
- */
93
- _LLMRegistry.llmRegistryDict = /* @__PURE__ */ new Map();
94
- _LLMRegistry.resolveCache = new LRUCache(32);
95
- let LLMRegistry = _LLMRegistry;
96
- LLMRegistry.register(Gemini);
97
- LLMRegistry.register(ApigeeLlm);
98
- export {
99
- LLMRegistry
100
- };
@@ -1,112 +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 __typeError = (msg) => {
6
- throw TypeError(msg);
7
- };
8
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
- var __await = function(promise, isYieldStar) {
10
- this[0] = promise;
11
- this[1] = isYieldStar;
12
- };
13
- var __asyncGenerator = (__this, __arguments, generator) => {
14
- var resume = (k, v, yes, no) => {
15
- try {
16
- var x = generator[k](v), isAwait = (v = x.value) instanceof __await, done = x.done;
17
- 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));
18
- } catch (e) {
19
- no(e);
20
- }
21
- }, method = (k) => it[k] = (x) => new Promise((yes, no) => resume(k, x, yes, no)), it = {};
22
- return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
23
- };
24
- var __yieldStar = (value) => {
25
- var obj = value[__knownSymbol("asyncIterator")], isAwait = false, method, it = {};
26
- if (obj == null) {
27
- obj = value[__knownSymbol("iterator")]();
28
- method = (k) => it[k] = (x) => obj[k](x);
29
- } else {
30
- obj = obj.call(value);
31
- method = (k) => it[k] = (v) => {
32
- if (isAwait) {
33
- isAwait = false;
34
- if (k === "throw") throw v;
35
- return v;
36
- }
37
- isAwait = true;
38
- return {
39
- done: false,
40
- value: new __await(new Promise((resolve) => {
41
- var x = obj[k](v);
42
- if (!(x instanceof Object)) __typeError("Object expected");
43
- resolve(x);
44
- }), 1)
45
- };
46
- };
47
- }
48
- return it[__knownSymbol("iterator")] = () => it, method("next"), "throw" in obj ? method("throw") : it.throw = (x) => {
49
- throw x;
50
- }, "return" in obj && method("return"), it;
51
- };
52
- /**
53
- * @license
54
- * Copyright 2026 Google LLC
55
- * SPDX-License-Identifier: Apache-2.0
56
- */
57
- import { BaseLlm } from "./base_llm.js";
58
- import { runWithRouting } from "../utils/failover_utils.js";
59
- import { logger } from "../utils/logger.js";
60
- const _RoutedLlm = class _RoutedLlm extends BaseLlm {
61
- constructor({
62
- models,
63
- router,
64
- modelName = "routed-llm"
65
- }) {
66
- const modelsMap = Array.isArray(models) ? Object.fromEntries(models.map((m) => [m.model, m])) : models;
67
- const modelNames = Object.entries(modelsMap).map(
68
- ([name, model]) => "".concat(name, " (").concat(model.model, ")")
69
- );
70
- const computedName = "RoutedLlm[".concat(modelNames.join(", "), "]");
71
- super({ model: modelName === "routed-llm" ? computedName : modelName });
72
- this.models = modelsMap;
73
- this.router = router;
74
- }
75
- /**
76
- * Generates content by delegating to the selected model.
77
- */
78
- generateContentAsync(llmRequest, stream) {
79
- return __asyncGenerator(this, null, function* () {
80
- logger.info("Routing request via ".concat(this.model));
81
- yield* __yieldStar(runWithRouting(
82
- this.models,
83
- llmRequest,
84
- this.router,
85
- (model) => model.generateContentAsync(llmRequest, stream)
86
- ));
87
- });
88
- }
89
- /**
90
- * Creates a live connection to the LLM by delegating to the selected model.
91
- * This live connection cannot be switched mid-stream, it is tied to the model
92
- * selected at the time of connection.
93
- */
94
- async connect(llmRequest) {
95
- const generator = runWithRouting(
96
- this.models,
97
- llmRequest,
98
- this.router,
99
- (model) => model.connect(llmRequest)
100
- );
101
- const result = await generator.next();
102
- if (result.done || result.value === void 0) {
103
- throw new Error("Failed to establish connection: No connection yielded.");
104
- }
105
- return result.value;
106
- }
107
- };
108
- __name(_RoutedLlm, "RoutedLlm");
109
- let RoutedLlm = _RoutedLlm;
110
- export {
111
- RoutedLlm
112
- };
@@ -1,305 +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 2025 Google LLC
17
- * SPDX-License-Identifier: Apache-2.0
18
- */
19
- import { experimental } from "../utils/experimental.js";
20
- var ContextCompactionTrigger = /* @__PURE__ */ ((ContextCompactionTrigger2) => {
21
- ContextCompactionTrigger2["Manual"] = "Manual";
22
- ContextCompactionTrigger2["Auto"] = "Auto";
23
- ContextCompactionTrigger2["AgentControlled"] = "AgentControlled";
24
- return ContextCompactionTrigger2;
25
- })(ContextCompactionTrigger || {});
26
- const _BasePlugin = class _BasePlugin {
27
- /**
28
- * Initializes the plugin.
29
- *
30
- * @param name A unique identifier for this plugin instance.
31
- */
32
- constructor(name) {
33
- this.name = name;
34
- }
35
- /**
36
- * Callback executed when a user message is received before an invocation
37
- * starts.
38
- *
39
- * This callback helps logging and modifying the user message before the
40
- * runner starts the invocation.
41
- *
42
- * @param params.invocationContext The context for the entire invocation.
43
- * @param params.userMessage The message content input by user.
44
- * @returns An optional `Content` to be returned to the ADK. Returning a
45
- * value to replace the user message. Returning `undefined` to proceed
46
- * normally.
47
- */
48
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
49
- async onUserMessageCallback(params) {
50
- return;
51
- }
52
- /**
53
- * Callback executed before the ADK runner runs.
54
- *
55
- * This is the first callback to be called in the lifecycle, ideal for global
56
- * setup or initialization tasks.
57
- *
58
- * @param params.invocationContext The context for the entire invocation, containing
59
- * session information, the root agent, etc.
60
- * @returns An optional `Event` to be returned to the ADK. Returning a value
61
- * to halt execution of the runner and ends the runner with that event.
62
- * Return `undefined` to proceed normally.
63
- */
64
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
65
- async beforeRunCallback(params) {
66
- return;
67
- }
68
- /**
69
- * Callback executed after an event is yielded from runner.
70
- *
71
- * This is the ideal place to make modification to the event before the event
72
- * is handled by the underlying agent app.
73
- *
74
- * @param params.invocationContext The context for the entire invocation.
75
- * @param params.event The event raised by the runner.
76
- * @returns An optional value. A non-`undefined` return may be used by the
77
- * framework to modify or replace the response. Copy `params.event` when
78
- * constructing a replacement to preserve fields that are not being
79
- * modified, such as event actions. Returning `undefined` allows the
80
- * original response to be used.
81
- */
82
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
83
- async onEventCallback(params) {
84
- return;
85
- }
86
- /**
87
- * Callback executed after an ADK runner run has completed.
88
- *
89
- * This is the final callback in the ADK lifecycle, suitable for cleanup,
90
- * final logging, or reporting tasks.
91
- *
92
- * @param params.invocationContext The context for the entire invocation.
93
- * @returns undefined
94
- */
95
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
96
- async afterRunCallback(params) {
97
- return;
98
- }
99
- /**
100
- * Callback executed before an agent's primary logic is invoked.
101
- *
102
- * This callback can be used for logging, setup, or to short-circuit the
103
- * agent's execution by returning a value.
104
- *
105
- * @param params.agent The agent that is about to run.
106
- * @param params.callbackContext The context for the agent invocation.
107
- * @returns An optional `Content` object. If a value is returned, it will
108
- * bypass the agent's callbacks and its execution, and return this value
109
- * directly. Returning `undefined` allows the agent to proceed normally.
110
- */
111
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
112
- async beforeAgentCallback(params) {
113
- return;
114
- }
115
- /**
116
- * Callback executed after an agent's primary logic has completed.
117
- *
118
- * This callback can be used to inspect, log, or modify the agent's final
119
- * result before it is returned.
120
- *
121
- * @param params.agent The agent that has just run.
122
- * @param params.callbackContext The context for the agent invocation.
123
- * @returns An optional `Content` object. If a value is returned, it will
124
- * replace the agent's original result. Returning `undefined` uses the
125
- * original, unmodified result.
126
- */
127
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
128
- async afterAgentCallback(params) {
129
- return;
130
- }
131
- /**
132
- * Callback executed before a workflow node runs.
133
- *
134
- * @param params.node The node that is about to run.
135
- * @param params.nodeContext The node's execution context.
136
- * @param params.input The input the node is about to receive.
137
- * @returns An optional value. If anything other than `undefined` is returned,
138
- * the node's body is skipped and the returned value becomes its output,
139
- * which is how a plugin implements a node-level cache or a stub.
140
- * Returning `undefined` lets the node run normally.
141
- */
142
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
143
- async beforeNodeCallback(params) {
144
- return;
145
- }
146
- /**
147
- * Callback executed after a workflow node has run.
148
- *
149
- * Not called for a node whose body was skipped by `beforeNodeCallback`, and
150
- * not called when the node throws.
151
- *
152
- * @param params.node The node that has just run.
153
- * @param params.nodeContext The node's execution context.
154
- * @param params.output The output the node produced.
155
- * @returns An optional value replacing the node's output. Returning
156
- * `undefined` keeps the original.
157
- */
158
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
159
- async afterNodeCallback(params) {
160
- return;
161
- }
162
- /**
163
- * Callback executed before a request is sent to the model.
164
- *
165
- * This provides an opportunity to inspect, log, or modify the `LlmRequest`
166
- * object. It can also be used to implement caching by returning a cached
167
- * `LlmResponse`, which would skip the actual model call.
168
- *
169
- * @param params.callbackContext The context for the current agent call.
170
- * @param params.llmRequest The prepared request object to be sent to the model.
171
- * @returns An optional value. The interpretation of a non-`undefined`
172
- * trigger an early exit and returns the response immediately. Returning
173
- * `undefined` allows the LLM request to proceed normally.
174
- */
175
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
176
- async beforeModelCallback(params) {
177
- return;
178
- }
179
- /**
180
- * Callback executed after a response is received from the model.
181
- *
182
- * This is the ideal place to log model responses, collect metrics on token
183
- * usage, or perform post-processing on the raw `LlmResponse`.
184
- *
185
- * @param params.callbackContext The context for the current agent call.
186
- * @param params.llmResponse The response object received from the model.
187
- * @returns An optional value. A non-`undefined` return may be used by the
188
- * framework to modify or replace the response. Returning `undefined`
189
- * allows the original response to be used.
190
- */
191
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
192
- async afterModelCallback(params) {
193
- return;
194
- }
195
- /**
196
- * Callback executed when a model call encounters an error.
197
- *
198
- * This callback provides an opportunity to handle model errors gracefully,
199
- * potentially providing alternative responses or recovery mechanisms.
200
- *
201
- * @param params.callbackContext The context for the current agent call.
202
- * @param params.llmRequest The request that was sent to the model when the error
203
- * occurred.
204
- * @param params.error The exception that was raised during model execution.
205
- * @returns An optional LlmResponse. If an LlmResponse is returned, it will be
206
- * used instead of propagating the error. Returning `undefined` allows
207
- * the original error to be raised.
208
- */
209
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
210
- async onModelErrorCallback(params) {
211
- return;
212
- }
213
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
214
- async beforeToolSelection(params) {
215
- return;
216
- }
217
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
218
- async beforeContextCompaction(params) {
219
- return;
220
- }
221
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
222
- async afterContextCompaction(params) {
223
- return;
224
- }
225
- /**
226
- * Callback executed before a tool is called.
227
- *
228
- * This callback is useful for logging tool usage, input validation, or
229
- * modifying the arguments before they are passed to the tool.
230
- *
231
- * @param params.tool The tool instance that is about to be executed.
232
- * @param params.toolArgs The dictionary of arguments to be used for invoking the
233
- * tool.
234
- * @param params.toolContext The context specific to the tool execution.
235
- * @returns An optional dictionary. If a dictionary is returned, it will stop
236
- * the tool execution and return this response immediately. Returning
237
- * `undefined` uses the original, unmodified arguments.
238
- */
239
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
240
- async beforeToolCallback(params) {
241
- return;
242
- }
243
- /**
244
- * Callback executed after a tool has been called.
245
- *
246
- * This callback allows for inspecting, logging, or modifying the result
247
- * returned by a tool.
248
- *
249
- * @param params.tool The tool instance that has just been executed.
250
- * @param params.toolArgs The original arguments that were passed to the tool.
251
- * @param params.toolContext The context specific to the tool execution.
252
- * @param params.result The dictionary returned by the tool invocation.
253
- * @returns An optional dictionary. If a dictionary is returned, it will
254
- * **replace** the original result from the tool. This allows for
255
- * post-processing or altering tool outputs. Returning `undefined` uses
256
- * the original, unmodified result.
257
- */
258
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
259
- async afterToolCallback(params) {
260
- return;
261
- }
262
- /**
263
- * Callback executed when a tool call encounters an error.
264
- tool: BaseTool;
265
- toolArgs: Record<string, unknown>;
266
- toolContext: Context;
267
- result: Record<string, unknown>;
268
- }): Promise<Record<string, unknown> | undefined> {
269
- return;
270
- }
271
-
272
- /**
273
- * Callback executed when a tool call encounters an error.
274
- *
275
- * This callback provides an opportunity to handle tool errors gracefully,
276
- * potentially providing alternative responses or recovery mechanisms.
277
- *
278
- * @param params.tool The tool instance that encountered an error.
279
- * @param params.toolArgs The arguments that were passed to the tool.
280
- * @param params.toolContext The context specific to the tool execution.
281
- * @param params.error The exception that was raised during tool execution.
282
- * @returns An optional dictionary. If a dictionary is returned, it will be
283
- * used as the tool response instead of propagating the error. Returning
284
- * `undefined` allows the original error to be raised.
285
- */
286
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
287
- async onToolErrorCallback(params) {
288
- return;
289
- }
290
- };
291
- __name(_BasePlugin, "BasePlugin");
292
- __decorateClass([
293
- experimental
294
- ], _BasePlugin.prototype, "beforeToolSelection", 1);
295
- __decorateClass([
296
- experimental
297
- ], _BasePlugin.prototype, "beforeContextCompaction", 1);
298
- __decorateClass([
299
- experimental
300
- ], _BasePlugin.prototype, "afterContextCompaction", 1);
301
- let BasePlugin = _BasePlugin;
302
- export {
303
- BasePlugin,
304
- ContextCompactionTrigger
305
- };
@@ -1,71 +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 2026 Google LLC
8
- * SPDX-License-Identifier: Apache-2.0
9
- */
10
- import { injectSessionState } from "../agents/instructions.js";
11
- import { ReadonlyContext } from "../agents/readonly_context.js";
12
- import { BasePlugin } from "./base_plugin.js";
13
- const _GlobalInstructionPlugin = class _GlobalInstructionPlugin extends BasePlugin {
14
- /**
15
- * Initializes the GlobalInstructionPlugin.
16
- *
17
- * @param globalInstruction The instruction to apply globally. Can be a string
18
- * or an InstructionProvider function that takes ReadonlyContext and
19
- * returns a string (sync or async).
20
- * @param name The name of the plugin (defaults to 'global_instruction').
21
- */
22
- constructor(globalInstruction, name = "global_instruction") {
23
- super(name);
24
- this.globalInstruction = globalInstruction;
25
- }
26
- async beforeModelCallback(params) {
27
- if (!this.globalInstruction) {
28
- return;
29
- }
30
- const readonlyContext = new ReadonlyContext(
31
- params.callbackContext.invocationContext
32
- );
33
- const finalGlobalInstruction = await this.resolveGlobalInstruction(readonlyContext);
34
- if (!finalGlobalInstruction) {
35
- return;
36
- }
37
- if (!params.llmRequest.config) {
38
- params.llmRequest.config = {};
39
- }
40
- const existingInstruction = params.llmRequest.config.systemInstruction;
41
- if (!existingInstruction || Array.isArray(existingInstruction) && existingInstruction.length === 0) {
42
- params.llmRequest.config.systemInstruction = finalGlobalInstruction;
43
- return;
44
- }
45
- if (typeof existingInstruction === "string") {
46
- params.llmRequest.config.systemInstruction = "".concat(finalGlobalInstruction, "\n\n").concat(existingInstruction);
47
- } else if (Array.isArray(existingInstruction)) {
48
- params.llmRequest.config.systemInstruction = [
49
- finalGlobalInstruction,
50
- ...existingInstruction
51
- ];
52
- } else {
53
- params.llmRequest.config.systemInstruction = [
54
- finalGlobalInstruction,
55
- existingInstruction
56
- ];
57
- }
58
- return;
59
- }
60
- async resolveGlobalInstruction(readonlyContext) {
61
- if (typeof this.globalInstruction === "string") {
62
- return await injectSessionState(this.globalInstruction, readonlyContext);
63
- }
64
- return await this.globalInstruction(readonlyContext);
65
- }
66
- };
67
- __name(_GlobalInstructionPlugin, "GlobalInstructionPlugin");
68
- let GlobalInstructionPlugin = _GlobalInstructionPlugin;
69
- export {
70
- GlobalInstructionPlugin
71
- };