@google/adk 1.3.0 → 1.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 (248) hide show
  1. package/dist/cjs/a2a/agent_to_a2a.js +18 -2
  2. package/dist/cjs/a2a/event_converter_utils.js +8 -4
  3. package/dist/cjs/a2a/metadata_converter_utils.js +1 -1
  4. package/dist/cjs/agents/active_streaming_tool.js +6 -1
  5. package/dist/cjs/agents/base_agent.js +39 -0
  6. package/dist/cjs/agents/context.js +1 -11
  7. package/dist/cjs/agents/functions.js +39 -35
  8. package/dist/cjs/agents/instructions.js +23 -5
  9. package/dist/cjs/agents/invocation_context.js +2 -5
  10. package/dist/cjs/agents/llm_agent.js +10 -7
  11. package/dist/cjs/agents/loop_agent.js +15 -3
  12. package/dist/cjs/agents/processors/code_execution_request_processor.js +0 -3
  13. package/dist/cjs/agents/processors/content_processor_utils.js +18 -4
  14. package/dist/cjs/agents/processors/context_compactor_request_processor.js +4 -2
  15. package/dist/cjs/agents/processors/interactions_request_processor.js +63 -0
  16. package/dist/cjs/agents/routed_agent.js +31 -0
  17. package/dist/cjs/agents/run_config.js +3 -2
  18. package/dist/cjs/apps/app.js +79 -0
  19. package/dist/cjs/apps/resumability_config.js +44 -0
  20. package/dist/cjs/artifacts/file_artifact_service.js +14 -1
  21. package/dist/cjs/artifacts/gcs_artifact_service.js +57 -15
  22. package/dist/cjs/artifacts/in_memory_artifact_service.js +12 -1
  23. package/dist/cjs/artifacts/scoped_artifact_service.js +101 -0
  24. package/dist/cjs/artifacts/session_artifact_service.js +27 -0
  25. package/dist/cjs/auth/oauth2/oauth2_discovery.js +17 -5
  26. package/dist/cjs/auth/oauth2/oauth2_utils.js +12 -1
  27. package/dist/cjs/common.js +76 -0
  28. package/dist/cjs/context/agent_controlled_context_compactor.js +109 -0
  29. package/dist/cjs/context/anchored_context_compactor.js +127 -0
  30. package/dist/cjs/context/compaction_utils.js +52 -0
  31. package/dist/cjs/context/token_based_context_compactor.js +52 -33
  32. package/dist/cjs/context/trajectory_thought_pruning_compactor.js +71 -0
  33. package/dist/cjs/events/compacted_event.js +9 -3
  34. package/dist/cjs/events/event.js +52 -0
  35. package/dist/cjs/index.js +4 -0
  36. package/dist/cjs/integrations/agent_registry/agent_registry_mcp_toolset.js +9 -1
  37. package/dist/cjs/models/google_llm.js +25 -10
  38. package/dist/cjs/models/interactions_utils.js +732 -0
  39. package/dist/cjs/plugins/base_plugin.js +1 -0
  40. package/dist/cjs/plugins/global_instruction_plugin.js +97 -0
  41. package/dist/cjs/runner/in_memory_runner.js +13 -2
  42. package/dist/cjs/runner/runner.js +143 -83
  43. package/dist/cjs/sessions/base_session_service.js +6 -1
  44. package/dist/cjs/sessions/database_session_service.js +24 -7
  45. package/dist/cjs/sessions/vertex_ai_session_service.js +19 -4
  46. package/dist/cjs/skills/loader.js +2 -2
  47. package/dist/cjs/tools/base_toolset.js +1 -1
  48. package/dist/cjs/tools/consolidate_context_tool.js +79 -0
  49. package/dist/cjs/tools/enterprise_web_search_tool.js +81 -0
  50. package/dist/cjs/tools/example_tool.js +68 -0
  51. package/dist/cjs/tools/forwarding_artifact_service.js +16 -28
  52. package/dist/cjs/tools/load_web_page.js +250 -0
  53. package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +140 -0
  54. package/dist/cjs/tools/mcp/mcp_toolset.js +63 -0
  55. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +15 -22
  56. package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +54 -4
  57. package/dist/cjs/tools/skill/skill_toolset.js +4 -2
  58. package/dist/cjs/utils/async_hooks_shim.js +52 -0
  59. package/dist/cjs/utils/branch_trie.js +41 -0
  60. package/dist/cjs/utils/client_labels.js +41 -3
  61. package/dist/cjs/utils/env_aware_utils.js +10 -1
  62. package/dist/cjs/utils/streaming_utils.js +15 -9
  63. package/dist/cjs/utils/task.js +62 -0
  64. package/dist/cjs/version.js +1 -1
  65. package/dist/esm/a2a/agent_to_a2a.js +18 -2
  66. package/dist/esm/a2a/event_converter_utils.js +8 -4
  67. package/dist/esm/a2a/metadata_converter_utils.js +1 -1
  68. package/dist/esm/agents/active_streaming_tool.js +6 -1
  69. package/dist/esm/agents/base_agent.js +39 -0
  70. package/dist/esm/agents/context.js +1 -11
  71. package/dist/esm/agents/functions.js +43 -32
  72. package/dist/esm/agents/instructions.js +23 -5
  73. package/dist/esm/agents/invocation_context.js +2 -5
  74. package/dist/esm/agents/llm_agent.js +12 -9
  75. package/dist/esm/agents/loop_agent.js +15 -3
  76. package/dist/esm/agents/processors/code_execution_request_processor.js +0 -3
  77. package/dist/esm/agents/processors/content_processor_utils.js +16 -3
  78. package/dist/esm/agents/processors/context_compactor_request_processor.js +4 -2
  79. package/dist/esm/agents/processors/interactions_request_processor.js +34 -0
  80. package/dist/esm/agents/routed_agent.js +31 -0
  81. package/dist/esm/agents/run_config.js +3 -2
  82. package/dist/esm/apps/app.js +49 -0
  83. package/dist/esm/apps/resumability_config.js +16 -0
  84. package/dist/esm/artifacts/file_artifact_service.js +14 -1
  85. package/dist/esm/artifacts/gcs_artifact_service.js +57 -15
  86. package/dist/esm/artifacts/in_memory_artifact_service.js +12 -1
  87. package/dist/esm/artifacts/scoped_artifact_service.js +73 -0
  88. package/dist/esm/artifacts/session_artifact_service.js +7 -0
  89. package/dist/esm/auth/oauth2/oauth2_discovery.js +14 -4
  90. package/dist/esm/auth/oauth2/oauth2_utils.js +12 -1
  91. package/dist/esm/common.js +67 -3
  92. package/dist/esm/context/agent_controlled_context_compactor.js +81 -0
  93. package/dist/esm/context/anchored_context_compactor.js +99 -0
  94. package/dist/esm/context/compaction_utils.js +27 -0
  95. package/dist/esm/context/token_based_context_compactor.js +52 -33
  96. package/dist/esm/context/trajectory_thought_pruning_compactor.js +43 -0
  97. package/dist/esm/events/compacted_event.js +7 -2
  98. package/dist/esm/events/event.js +46 -0
  99. package/dist/esm/index.js +6 -1
  100. package/dist/esm/integrations/agent_registry/agent_registry_mcp_toolset.js +9 -1
  101. package/dist/esm/models/google_llm.js +23 -9
  102. package/dist/esm/models/interactions_utils.js +697 -0
  103. package/dist/esm/plugins/base_plugin.js +1 -0
  104. package/dist/esm/plugins/global_instruction_plugin.js +69 -0
  105. package/dist/esm/runner/in_memory_runner.js +13 -2
  106. package/dist/esm/runner/runner.js +141 -84
  107. package/dist/esm/sessions/base_session_service.js +6 -1
  108. package/dist/esm/sessions/database_session_service.js +24 -7
  109. package/dist/esm/sessions/vertex_ai_session_service.js +17 -3
  110. package/dist/esm/skills/loader.js +2 -2
  111. package/dist/esm/tools/base_toolset.js +1 -1
  112. package/dist/esm/tools/consolidate_context_tool.js +51 -0
  113. package/dist/esm/tools/enterprise_web_search_tool.js +55 -0
  114. package/dist/esm/tools/example_tool.js +42 -0
  115. package/dist/esm/tools/forwarding_artifact_service.js +16 -28
  116. package/dist/esm/tools/load_web_page.js +221 -0
  117. package/dist/esm/tools/mcp/load_mcp_resource_tool.js +114 -0
  118. package/dist/esm/tools/mcp/mcp_toolset.js +63 -0
  119. package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +15 -22
  120. package/dist/esm/tools/skill/run_skill_inline_script_tool.js +53 -4
  121. package/dist/esm/tools/skill/skill_toolset.js +4 -2
  122. package/dist/esm/utils/async_hooks_shim.js +24 -0
  123. package/dist/esm/utils/branch_trie.js +13 -0
  124. package/dist/esm/utils/client_labels.js +38 -2
  125. package/dist/esm/utils/env_aware_utils.js +10 -1
  126. package/dist/esm/utils/streaming_utils.js +11 -5
  127. package/dist/esm/utils/task.js +34 -0
  128. package/dist/esm/version.js +1 -1
  129. package/dist/types/a2a/a2a_remote_agent.d.ts +5 -1
  130. package/dist/types/a2a/agent_to_a2a.d.ts +38 -0
  131. package/dist/types/agents/active_streaming_tool.d.ts +3 -4
  132. package/dist/types/agents/base_agent.d.ts +29 -1
  133. package/dist/types/agents/functions.d.ts +12 -17
  134. package/dist/types/agents/invocation_context.d.ts +7 -3
  135. package/dist/types/agents/llm_agent.d.ts +5 -1
  136. package/dist/types/agents/loop_agent.d.ts +2 -2
  137. package/dist/types/agents/processors/content_processor_utils.d.ts +8 -0
  138. package/dist/types/agents/processors/interactions_request_processor.d.ts +17 -0
  139. package/dist/types/agents/routed_agent.d.ts +24 -1
  140. package/dist/types/agents/run_config.d.ts +1 -1
  141. package/dist/types/apps/app.d.ts +52 -0
  142. package/dist/types/apps/resumability_config.d.ts +27 -0
  143. package/dist/types/artifacts/base_artifact_service.d.ts +6 -36
  144. package/dist/types/artifacts/gcs_artifact_service.d.ts +2 -1
  145. package/dist/types/artifacts/scoped_artifact_service.d.ts +25 -0
  146. package/dist/types/artifacts/session_artifact_service.d.ts +25 -0
  147. package/dist/types/auth/oauth2/oauth2_discovery.d.ts +11 -0
  148. package/dist/types/common.d.ts +29 -5
  149. package/dist/types/context/agent_controlled_context_compactor.d.ts +24 -0
  150. package/dist/types/context/anchored_context_compactor.d.ts +35 -0
  151. package/dist/types/context/base_context_compactor.d.ts +3 -0
  152. package/dist/types/context/compaction_utils.d.ts +15 -0
  153. package/dist/types/context/token_based_context_compactor.d.ts +6 -1
  154. package/dist/types/context/trajectory_thought_pruning_compactor.d.ts +27 -0
  155. package/dist/types/events/compacted_event.d.ts +10 -0
  156. package/dist/types/events/event.d.ts +21 -0
  157. package/dist/types/index.d.ts +3 -2
  158. package/dist/types/models/google_llm.d.ts +15 -1
  159. package/dist/types/models/interactions_utils.d.ts +92 -0
  160. package/dist/types/models/llm_request.d.ts +4 -0
  161. package/dist/types/models/llm_response.d.ts +4 -0
  162. package/dist/types/plugins/base_plugin.d.ts +2 -1
  163. package/dist/types/plugins/global_instruction_plugin.d.ts +38 -0
  164. package/dist/types/runner/in_memory_runner.d.ts +7 -1
  165. package/dist/types/runner/runner.d.ts +44 -10
  166. package/dist/types/sessions/base_session_service.d.ts +3 -16
  167. package/dist/types/sessions/session.d.ts +11 -0
  168. package/dist/types/sessions/vertex_ai_session_service.d.ts +9 -1
  169. package/dist/types/tools/consolidate_context_tool.d.ts +19 -0
  170. package/dist/types/tools/enterprise_web_search_tool.d.ts +26 -0
  171. package/dist/types/tools/example_tool.d.ts +21 -0
  172. package/dist/types/tools/forwarding_artifact_service.d.ts +3 -2
  173. package/dist/types/tools/load_web_page.d.ts +33 -0
  174. package/dist/types/tools/mcp/load_mcp_resource_tool.d.ts +26 -0
  175. package/dist/types/tools/mcp/mcp_toolset.d.ts +27 -0
  176. package/dist/types/tools/skill/run_skill_inline_script_tool.d.ts +25 -0
  177. package/dist/types/tools/skill/skill_toolset.d.ts +9 -0
  178. package/dist/types/utils/async_hooks_shim.d.ts +10 -0
  179. package/dist/types/utils/branch_trie.d.ts +14 -0
  180. package/dist/types/utils/client_labels.d.ts +10 -0
  181. package/dist/types/utils/env_aware_utils.d.ts +3 -3
  182. package/dist/types/utils/task.d.ts +24 -0
  183. package/dist/types/version.d.ts +1 -1
  184. package/dist/web/a2a/agent_to_a2a.js +18 -2
  185. package/dist/web/a2a/event_converter_utils.js +8 -4
  186. package/dist/web/a2a/metadata_converter_utils.js +1 -1
  187. package/dist/web/agents/active_streaming_tool.js +6 -1
  188. package/dist/web/agents/base_agent.js +39 -0
  189. package/dist/web/agents/context.js +1 -11
  190. package/dist/web/agents/functions.js +43 -32
  191. package/dist/web/agents/instructions.js +23 -5
  192. package/dist/web/agents/invocation_context.js +2 -5
  193. package/dist/web/agents/llm_agent.js +12 -9
  194. package/dist/web/agents/loop_agent.js +27 -3
  195. package/dist/web/agents/processors/code_execution_request_processor.js +0 -3
  196. package/dist/web/agents/processors/content_processor_utils.js +16 -3
  197. package/dist/web/agents/processors/context_compactor_request_processor.js +4 -2
  198. package/dist/web/agents/processors/interactions_request_processor.js +52 -0
  199. package/dist/web/agents/routed_agent.js +31 -0
  200. package/dist/web/agents/run_config.js +8 -3
  201. package/dist/web/apps/app.js +49 -0
  202. package/dist/web/apps/resumability_config.js +31 -0
  203. package/dist/web/artifacts/file_artifact_service.js +14 -1
  204. package/dist/web/artifacts/gcs_artifact_service.js +55 -15
  205. package/dist/web/artifacts/in_memory_artifact_service.js +12 -1
  206. package/dist/web/artifacts/scoped_artifact_service.js +86 -0
  207. package/dist/web/artifacts/session_artifact_service.js +7 -0
  208. package/dist/web/auth/oauth2/oauth2_discovery.js +14 -4
  209. package/dist/web/auth/oauth2/oauth2_utils.js +12 -1
  210. package/dist/web/common.js +67 -3
  211. package/dist/web/context/agent_controlled_context_compactor.js +81 -0
  212. package/dist/web/context/anchored_context_compactor.js +117 -0
  213. package/dist/web/context/compaction_utils.js +27 -0
  214. package/dist/web/context/token_based_context_compactor.js +52 -33
  215. package/dist/web/context/trajectory_thought_pruning_compactor.js +43 -0
  216. package/dist/web/events/compacted_event.js +7 -2
  217. package/dist/web/events/event.js +44 -0
  218. package/dist/web/index.js +6 -1
  219. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +9 -1
  220. package/dist/web/models/google_llm.js +54 -9
  221. package/dist/web/models/interactions_utils.js +728 -0
  222. package/dist/web/plugins/base_plugin.js +1 -0
  223. package/dist/web/plugins/global_instruction_plugin.js +67 -0
  224. package/dist/web/runner/in_memory_runner.js +13 -2
  225. package/dist/web/runner/runner.js +157 -84
  226. package/dist/web/sessions/base_session_service.js +6 -1
  227. package/dist/web/sessions/database_session_service.js +24 -7
  228. package/dist/web/sessions/vertex_ai_session_service.js +17 -3
  229. package/dist/web/skills/loader.js +2 -2
  230. package/dist/web/tools/base_toolset.js +1 -1
  231. package/dist/web/tools/consolidate_context_tool.js +51 -0
  232. package/dist/web/tools/enterprise_web_search_tool.js +55 -0
  233. package/dist/web/tools/example_tool.js +42 -0
  234. package/dist/web/tools/forwarding_artifact_service.js +16 -28
  235. package/dist/web/tools/load_web_page.js +221 -0
  236. package/dist/web/tools/mcp/load_mcp_resource_tool.js +107 -0
  237. package/dist/web/tools/mcp/mcp_toolset.js +63 -0
  238. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +15 -22
  239. package/dist/web/tools/skill/run_skill_inline_script_tool.js +51 -4
  240. package/dist/web/tools/skill/skill_toolset.js +4 -2
  241. package/dist/web/utils/async_hooks_shim.js +24 -0
  242. package/dist/web/utils/branch_trie.js +13 -0
  243. package/dist/web/utils/client_labels.js +38 -2
  244. package/dist/web/utils/env_aware_utils.js +10 -1
  245. package/dist/web/utils/streaming_utils.js +11 -5
  246. package/dist/web/utils/task.js +34 -0
  247. package/dist/web/version.js +1 -1
  248. package/package.json +2 -2
@@ -28,8 +28,10 @@ __export(common_exports, {
28
28
  AUTH_PREPROCESSOR: () => import_auth_preprocessor.AUTH_PREPROCESSOR,
29
29
  ActiveStreamingTool: () => import_active_streaming_tool.ActiveStreamingTool,
30
30
  Agent: () => import_llm_agent.LlmAgent,
31
+ AgentControlledContextCompactor: () => import_agent_controlled_context_compactor.AgentControlledContextCompactor,
31
32
  AgentTool: () => import_agent_tool.AgentTool,
32
33
  AgentTransferLlmRequestProcessor: () => import_agent_transfer_llm_request_processor.AgentTransferLlmRequestProcessor,
34
+ AnchoredContextCompactor: () => import_anchored_context_compactor.AnchoredContextCompactor,
33
35
  ApigeeLlm: () => import_apigee_llm.ApigeeLlm,
34
36
  AuthCredentialTypes: () => import_auth_credential.AuthCredentialTypes,
35
37
  AuthHandler: () => import_auth_handler.AuthHandler,
@@ -48,14 +50,18 @@ __export(common_exports, {
48
50
  BuiltInCodeExecutor: () => import_built_in_code_executor.BuiltInCodeExecutor,
49
51
  CONTENT_REQUEST_PROCESSOR: () => import_content_request_processor.CONTENT_REQUEST_PROCESSOR,
50
52
  CodeExecutionLanguage: () => import_code_execution_utils.CodeExecutionLanguage,
53
+ ConsolidateContextTool: () => import_consolidate_context_tool.ConsolidateContextTool,
51
54
  ContentRequestProcessor: () => import_content_request_processor.ContentRequestProcessor,
52
55
  Context: () => import_context.Context,
53
56
  ContextCompactionTrigger: () => import_base_plugin.ContextCompactionTrigger,
54
57
  ContextCompactorRequestProcessor: () => import_context_compactor_request_processor.ContextCompactorRequestProcessor,
55
58
  CredentialExchangeError: () => import_base_credential_exchanger.CredentialExchangeError,
56
59
  CredentialRefresherRegistry: () => import_credential_refresher_registry.CredentialRefresherRegistry,
60
+ ENTERPRISE_WEB_SEARCH: () => import_enterprise_web_search_tool.ENTERPRISE_WEB_SEARCH,
57
61
  EXIT_LOOP: () => import_exit_loop_tool.EXIT_LOOP,
62
+ EnterpriseWebSearchTool: () => import_enterprise_web_search_tool.EnterpriseWebSearchTool,
58
63
  EventType: () => import_structured_events.EventType,
64
+ ExampleTool: () => import_example_tool.ExampleTool,
59
65
  ExitLoopTool: () => import_exit_loop_tool.ExitLoopTool,
60
66
  FileContentEncoding: () => import_code_execution_utils.FileContentEncoding,
61
67
  FunctionTool: () => import_function_tool.FunctionTool,
@@ -63,19 +69,23 @@ __export(common_exports, {
63
69
  GOOGLE_MAPS_GROUNDING: () => import_google_maps_grounding_tool.GOOGLE_MAPS_GROUNDING,
64
70
  GOOGLE_SEARCH: () => import_google_search_tool.GOOGLE_SEARCH,
65
71
  Gemini: () => import_google_llm.Gemini,
72
+ GlobalInstructionPlugin: () => import_global_instruction_plugin.GlobalInstructionPlugin,
66
73
  GoogleLLMVariant: () => import_variant_utils.GoogleLLMVariant,
67
74
  GoogleMapsGroundingTool: () => import_google_maps_grounding_tool.GoogleMapsGroundingTool,
68
75
  GoogleSearchTool: () => import_google_search_tool.GoogleSearchTool,
76
+ INTERACTIONS_REQUEST_PROCESSOR: () => import_interactions_request_processor.INTERACTIONS_REQUEST_PROCESSOR,
69
77
  InMemoryArtifactService: () => import_in_memory_artifact_service.InMemoryArtifactService,
70
78
  InMemoryCredentialService: () => import_in_memory_credential_service.InMemoryCredentialService,
71
79
  InMemoryMemoryService: () => import_in_memory_memory_service.InMemoryMemoryService,
72
80
  InMemoryPolicyEngine: () => import_security_plugin.InMemoryPolicyEngine,
73
81
  InMemoryRunner: () => import_in_memory_runner.InMemoryRunner,
74
82
  InMemorySessionService: () => import_in_memory_session_service.InMemorySessionService,
83
+ InteractionsRequestProcessor: () => import_interactions_request_processor.InteractionsRequestProcessor,
75
84
  InvocationContext: () => import_invocation_context.InvocationContext,
76
85
  LLMRegistry: () => import_registry.LLMRegistry,
77
86
  LOAD_ARTIFACTS: () => import_load_artifacts_tool.LOAD_ARTIFACTS,
78
87
  LOAD_MEMORY: () => import_load_memory_tool.LOAD_MEMORY,
88
+ LOAD_WEB_PAGE: () => import_load_web_page.LOAD_WEB_PAGE,
79
89
  ListSkillsTool: () => import_list_skills_tool.ListSkillsTool,
80
90
  LiveRequestQueue: () => import_live_request_queue.LiveRequestQueue,
81
91
  LlmAgent: () => import_llm_agent.LlmAgent,
@@ -112,9 +122,11 @@ __export(common_exports, {
112
122
  SkillToolset: () => import_skill_toolset.SkillToolset,
113
123
  State: () => import_state.State,
114
124
  StreamingMode: () => import_run_config.StreamingMode,
125
+ Task: () => import_task.Task,
115
126
  TokenBasedContextCompactor: () => import_token_based_context_compactor.TokenBasedContextCompactor,
116
127
  ToolAuthHandler: () => import_tool_auth_handler.ToolAuthHandler,
117
128
  ToolConfirmation: () => import_tool_confirmation.ToolConfirmation,
129
+ TrajectoryThoughtPruningCompactor: () => import_trajectory_thought_pruning_compactor.TrajectoryThoughtPruningCompactor,
118
130
  TruncatingContextCompactor: () => import_truncating_context_compactor.TruncatingContextCompactor,
119
131
  URL_CONTEXT: () => import_url_context_tool.URL_CONTEXT,
120
132
  UrlContextTool: () => import_url_context_tool.UrlContextTool,
@@ -124,13 +136,21 @@ __export(common_exports, {
124
136
  createEvent: () => import_event.createEvent,
125
137
  createEventActions: () => import_event_actions.createEventActions,
126
138
  createRestApiTool: () => import_rest_api_tool.createRestApiTool,
139
+ createResumabilityConfig: () => import_resumability_config.createResumabilityConfig,
127
140
  createSession: () => import_session.createSession,
141
+ determineAgentForResumption: () => import_runner.determineAgentForResumption,
142
+ findEventByFunctionCallId: () => import_functions.findEventByFunctionCallId,
143
+ findEventByLastFunctionResponseId: () => import_runner.findEventByLastFunctionResponseId,
144
+ findMatchingFunctionCall: () => import_functions.findMatchingFunctionCall,
128
145
  functionsExportedForTestingOnly: () => import_functions.functionsExportedForTestingOnly,
129
146
  geminiInitParams: () => import_google_llm.geminiInitParams,
147
+ generateClientFunctionCallId: () => import_event.generateClientFunctionCallId,
130
148
  getAskUserConfirmationFunctionCalls: () => import_security_plugin.getAskUserConfirmationFunctionCalls,
149
+ getClientLabels: () => import_client_labels.getClientLabels,
131
150
  getFunctionCalls: () => import_event.getFunctionCalls,
132
151
  getFunctionResponses: () => import_event.getFunctionResponses,
133
152
  getLogger: () => import_logger.getLogger,
153
+ hasThoughts: () => import_event.hasThoughts,
134
154
  hasTrailingCodeExecutionResult: () => import_event.hasTrailingCodeExecutionResult,
135
155
  isAgentTool: () => import_agent_tool.isAgentTool,
136
156
  isBaseAgent: () => import_base_agent.isBaseAgent,
@@ -146,12 +166,18 @@ __export(common_exports, {
146
166
  isLlmAgent: () => import_llm_agent.isLlmAgent,
147
167
  isLoopAgent: () => import_loop_agent.isLoopAgent,
148
168
  isParallelAgent: () => import_parallel_agent.isParallelAgent,
169
+ isRoutableLlmAgent: () => import_runner.isRoutableLlmAgent,
149
170
  isRoutedAgent: () => import_routed_agent.isRoutedAgent,
150
171
  isRunner: () => import_runner.isRunner,
172
+ isScratchpadEvent: () => import_compacted_event.isScratchpadEvent,
151
173
  isSequentialAgent: () => import_sequential_agent.isSequentialAgent,
152
174
  loadAllSkillsInDir: () => import_loader.loadAllSkillsInDir,
153
175
  loadSkillFromDir: () => import_loader.loadSkillFromDir,
154
176
  loadSkillFromZipBuffer: () => import_loader.loadSkillFromZipBuffer,
177
+ loadWebPage: () => import_load_web_page.loadWebPage,
178
+ populateClientFunctionCallId: () => import_event.populateClientFunctionCallId,
179
+ pruneThoughts: () => import_event.pruneThoughts,
180
+ runWithClientLabel: () => import_client_labels.runWithClientLabel,
155
181
  setLogLevel: () => import_logger.setLogLevel,
156
182
  setLogger: () => import_logger.setLogger,
157
183
  stringifyContent: () => import_event.stringifyContent,
@@ -174,10 +200,12 @@ var import_agent_transfer_llm_request_processor = require("./agents/processors/a
174
200
  var import_base_llm_processor = require("./agents/processors/base_llm_processor.js");
175
201
  var import_content_request_processor = require("./agents/processors/content_request_processor.js");
176
202
  var import_context_compactor_request_processor = require("./agents/processors/context_compactor_request_processor.js");
203
+ var import_interactions_request_processor = require("./agents/processors/interactions_request_processor.js");
177
204
  var import_readonly_context = require("./agents/readonly_context.js");
178
205
  var import_routed_agent = require("./agents/routed_agent.js");
179
206
  var import_run_config = require("./agents/run_config.js");
180
207
  var import_sequential_agent = require("./agents/sequential_agent.js");
208
+ var import_resumability_config = require("./apps/resumability_config.js");
181
209
  var import_in_memory_artifact_service = require("./artifacts/in_memory_artifact_service.js");
182
210
  var import_auth_credential = require("./auth/auth_credential.js");
183
211
  var import_auth_handler = require("./auth/auth_handler.js");
@@ -193,8 +221,11 @@ var import_credential_refresher_registry = require("./auth/refresher/credential_
193
221
  var import_base_code_executor = require("./code_executors/base_code_executor.js");
194
222
  var import_built_in_code_executor = require("./code_executors/built_in_code_executor.js");
195
223
  var import_code_execution_utils = require("./code_executors/code_execution_utils.js");
224
+ var import_agent_controlled_context_compactor = require("./context/agent_controlled_context_compactor.js");
225
+ var import_anchored_context_compactor = require("./context/anchored_context_compactor.js");
196
226
  var import_llm_summarizer = require("./context/summarizers/llm_summarizer.js");
197
227
  var import_token_based_context_compactor = require("./context/token_based_context_compactor.js");
228
+ var import_trajectory_thought_pruning_compactor = require("./context/trajectory_thought_pruning_compactor.js");
198
229
  var import_truncating_context_compactor = require("./context/truncating_context_compactor.js");
199
230
  var import_compacted_event = require("./events/compacted_event.js");
200
231
  var import_event = require("./events/event.js");
@@ -209,6 +240,7 @@ var import_google_llm = require("./models/google_llm.js");
209
240
  var import_registry = require("./models/registry.js");
210
241
  var import_routed_llm = require("./models/routed_llm.js");
211
242
  var import_base_plugin = require("./plugins/base_plugin.js");
243
+ var import_global_instruction_plugin = require("./plugins/global_instruction_plugin.js");
212
244
  var import_logging_plugin = require("./plugins/logging_plugin.js");
213
245
  var import_plugin_manager = require("./plugins/plugin_manager.js");
214
246
  var import_security_plugin = require("./plugins/security_plugin.js");
@@ -221,21 +253,27 @@ var import_state = require("./sessions/state.js");
221
253
  var import_agent_tool = require("./tools/agent_tool.js");
222
254
  var import_base_tool = require("./tools/base_tool.js");
223
255
  var import_base_toolset = require("./tools/base_toolset.js");
256
+ var import_consolidate_context_tool = require("./tools/consolidate_context_tool.js");
257
+ var import_enterprise_web_search_tool = require("./tools/enterprise_web_search_tool.js");
258
+ var import_example_tool = require("./tools/example_tool.js");
224
259
  var import_exit_loop_tool = require("./tools/exit_loop_tool.js");
225
260
  var import_function_tool = require("./tools/function_tool.js");
226
261
  var import_google_maps_grounding_tool = require("./tools/google_maps_grounding_tool.js");
227
262
  var import_google_search_tool = require("./tools/google_search_tool.js");
228
263
  var import_load_artifacts_tool = require("./tools/load_artifacts_tool.js");
229
264
  var import_load_memory_tool = require("./tools/load_memory_tool.js");
265
+ var import_load_web_page = require("./tools/load_web_page.js");
230
266
  var import_long_running_tool = require("./tools/long_running_tool.js");
231
267
  var import_preload_memory_tool = require("./tools/preload_memory_tool.js");
232
268
  var import_tool_confirmation = require("./tools/tool_confirmation.js");
233
269
  var import_url_context_tool = require("./tools/url_context_tool.js");
234
270
  var import_vertex_ai_search_tool = require("./tools/vertex_ai_search_tool.js");
235
271
  var import_vertex_rag_retrieval_tool = require("./tools/vertex_rag_retrieval_tool.js");
272
+ var import_client_labels = require("./utils/client_labels.js");
236
273
  var import_logger = require("./utils/logger.js");
237
274
  var import_model_name = require("./utils/model_name.js");
238
275
  var import_simple_zod_to_json = require("./utils/simple_zod_to_json.js");
276
+ var import_task = require("./utils/task.js");
239
277
  var import_variant_utils = require("./utils/variant_utils.js");
240
278
  var import_version = require("./version.js");
241
279
  var import_gcp_skill_registry = require("./skills/gcp_skill_registry.js");
@@ -245,11 +283,17 @@ var import_load_skill_resource_tool = require("./tools/skill/load_skill_resource
245
283
  var import_load_skill_tool = require("./tools/skill/load_skill_tool.js");
246
284
  var import_search_skills_tool = require("./tools/skill/search_skills_tool.js");
247
285
  var import_skill_toolset = require("./tools/skill/skill_toolset.js");
286
+ __reExport(common_exports, require("./artifacts/base_artifact_service.js"), module.exports);
287
+ __reExport(common_exports, require("./features/feature_registry.js"), module.exports);
288
+ __reExport(common_exports, require("./memory/base_memory_service.js"), module.exports);
289
+ __reExport(common_exports, require("./sessions/base_session_service.js"), module.exports);
290
+ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
248
291
  var import_openapi_spec_parser = require("./tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js");
249
292
  var import_operation_parser = require("./tools/openapi_tool/openapi_spec_parser/operation_parser.js");
250
293
  var import_tool_auth_handler = require("./tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js");
251
294
  var import_openapi_toolset = require("./tools/openapi_tool/openapi_toolset.js");
252
295
  var import_rest_api_tool = require("./tools/openapi_tool/rest_api_tool.js");
296
+ __reExport(common_exports, require("./apps/app.js"), module.exports);
253
297
  __reExport(common_exports, require("./artifacts/base_artifact_service.js"), module.exports);
254
298
  __reExport(common_exports, require("./features/feature_registry.js"), module.exports);
255
299
  __reExport(common_exports, require("./memory/base_memory_service.js"), module.exports);
@@ -265,8 +309,10 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
265
309
  AUTH_PREPROCESSOR,
266
310
  ActiveStreamingTool,
267
311
  Agent,
312
+ AgentControlledContextCompactor,
268
313
  AgentTool,
269
314
  AgentTransferLlmRequestProcessor,
315
+ AnchoredContextCompactor,
270
316
  ApigeeLlm,
271
317
  AuthCredentialTypes,
272
318
  AuthHandler,
@@ -285,14 +331,18 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
285
331
  BuiltInCodeExecutor,
286
332
  CONTENT_REQUEST_PROCESSOR,
287
333
  CodeExecutionLanguage,
334
+ ConsolidateContextTool,
288
335
  ContentRequestProcessor,
289
336
  Context,
290
337
  ContextCompactionTrigger,
291
338
  ContextCompactorRequestProcessor,
292
339
  CredentialExchangeError,
293
340
  CredentialRefresherRegistry,
341
+ ENTERPRISE_WEB_SEARCH,
294
342
  EXIT_LOOP,
343
+ EnterpriseWebSearchTool,
295
344
  EventType,
345
+ ExampleTool,
296
346
  ExitLoopTool,
297
347
  FileContentEncoding,
298
348
  FunctionTool,
@@ -300,19 +350,23 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
300
350
  GOOGLE_MAPS_GROUNDING,
301
351
  GOOGLE_SEARCH,
302
352
  Gemini,
353
+ GlobalInstructionPlugin,
303
354
  GoogleLLMVariant,
304
355
  GoogleMapsGroundingTool,
305
356
  GoogleSearchTool,
357
+ INTERACTIONS_REQUEST_PROCESSOR,
306
358
  InMemoryArtifactService,
307
359
  InMemoryCredentialService,
308
360
  InMemoryMemoryService,
309
361
  InMemoryPolicyEngine,
310
362
  InMemoryRunner,
311
363
  InMemorySessionService,
364
+ InteractionsRequestProcessor,
312
365
  InvocationContext,
313
366
  LLMRegistry,
314
367
  LOAD_ARTIFACTS,
315
368
  LOAD_MEMORY,
369
+ LOAD_WEB_PAGE,
316
370
  ListSkillsTool,
317
371
  LiveRequestQueue,
318
372
  LlmAgent,
@@ -349,9 +403,11 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
349
403
  SkillToolset,
350
404
  State,
351
405
  StreamingMode,
406
+ Task,
352
407
  TokenBasedContextCompactor,
353
408
  ToolAuthHandler,
354
409
  ToolConfirmation,
410
+ TrajectoryThoughtPruningCompactor,
355
411
  TruncatingContextCompactor,
356
412
  URL_CONTEXT,
357
413
  UrlContextTool,
@@ -361,13 +417,21 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
361
417
  createEvent,
362
418
  createEventActions,
363
419
  createRestApiTool,
420
+ createResumabilityConfig,
364
421
  createSession,
422
+ determineAgentForResumption,
423
+ findEventByFunctionCallId,
424
+ findEventByLastFunctionResponseId,
425
+ findMatchingFunctionCall,
365
426
  functionsExportedForTestingOnly,
366
427
  geminiInitParams,
428
+ generateClientFunctionCallId,
367
429
  getAskUserConfirmationFunctionCalls,
430
+ getClientLabels,
368
431
  getFunctionCalls,
369
432
  getFunctionResponses,
370
433
  getLogger,
434
+ hasThoughts,
371
435
  hasTrailingCodeExecutionResult,
372
436
  isAgentTool,
373
437
  isBaseAgent,
@@ -383,12 +447,18 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
383
447
  isLlmAgent,
384
448
  isLoopAgent,
385
449
  isParallelAgent,
450
+ isRoutableLlmAgent,
386
451
  isRoutedAgent,
387
452
  isRunner,
453
+ isScratchpadEvent,
388
454
  isSequentialAgent,
389
455
  loadAllSkillsInDir,
390
456
  loadSkillFromDir,
391
457
  loadSkillFromZipBuffer,
458
+ loadWebPage,
459
+ populateClientFunctionCallId,
460
+ pruneThoughts,
461
+ runWithClientLabel,
392
462
  setLogLevel,
393
463
  setLogger,
394
464
  stringifyContent,
@@ -400,5 +470,11 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
400
470
  ...require("./features/feature_registry.js"),
401
471
  ...require("./memory/base_memory_service.js"),
402
472
  ...require("./sessions/base_session_service.js"),
473
+ ...require("./tools/base_tool.js"),
474
+ ...require("./apps/app.js"),
475
+ ...require("./artifacts/base_artifact_service.js"),
476
+ ...require("./features/feature_registry.js"),
477
+ ...require("./memory/base_memory_service.js"),
478
+ ...require("./sessions/base_session_service.js"),
403
479
  ...require("./tools/base_tool.js")
404
480
  });
@@ -0,0 +1,109 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __export = (target, all) => {
13
+ for (var name in all)
14
+ __defProp(target, name, { get: all[name], enumerable: true });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var agent_controlled_context_compactor_exports = {};
26
+ __export(agent_controlled_context_compactor_exports, {
27
+ AgentControlledContextCompactor: () => AgentControlledContextCompactor
28
+ });
29
+ module.exports = __toCommonJS(agent_controlled_context_compactor_exports);
30
+ var import_compacted_event = require("../events/compacted_event.js");
31
+ var import_event = require("../events/event.js");
32
+ var import_base_plugin = require("../plugins/base_plugin.js");
33
+ /**
34
+ * @license
35
+ * Copyright 2026 Google LLC
36
+ * SPDX-License-Identifier: Apache-2.0
37
+ */
38
+ class AgentControlledContextCompactor {
39
+ constructor(options) {
40
+ this.trigger = import_base_plugin.ContextCompactionTrigger.AgentControlled;
41
+ this.summarizer = options.summarizer;
42
+ }
43
+ shouldCompact(invocationContext) {
44
+ return invocationContext.session.state["temp:consolidate_context"] === true;
45
+ }
46
+ async compact(invocationContext) {
47
+ const events = invocationContext.session.events;
48
+ const activeEvents = this.getActiveEvents(events);
49
+ const consolidateToolCallIndex = activeEvents.reduce(
50
+ (acc, e, idx) => {
51
+ var _a, _b;
52
+ return ((_b = (_a = e.content) == null ? void 0 : _a.parts) == null ? void 0 : _b.some(
53
+ (p) => {
54
+ var _a2;
55
+ return ((_a2 = p.functionCall) == null ? void 0 : _a2.name) === "consolidate_context";
56
+ }
57
+ )) ? idx : acc;
58
+ },
59
+ -1
60
+ );
61
+ if (consolidateToolCallIndex <= 0) {
62
+ this.clearFlags(invocationContext);
63
+ return;
64
+ }
65
+ const eventsToCompact = activeEvents.slice(0, consolidateToolCallIndex);
66
+ const detail = invocationContext.session.state["temp:consolidate_context_detail"];
67
+ if (detail) {
68
+ eventsToCompact.push(
69
+ (0, import_event.createEvent)({
70
+ author: "system",
71
+ timestamp: eventsToCompact[eventsToCompact.length - 1].timestamp,
72
+ content: {
73
+ role: "user",
74
+ parts: [
75
+ {
76
+ text: `CRITICAL INSTRUCTION FOR SUMMARY: Please summarize the history. Focus especially on: ${detail}`
77
+ }
78
+ ]
79
+ }
80
+ })
81
+ );
82
+ }
83
+ try {
84
+ const compactedEvent = await this.summarizer.summarize(eventsToCompact);
85
+ invocationContext.session.events.push(compactedEvent);
86
+ } catch (error) {
87
+ console.error("Compaction failed:", error);
88
+ } finally {
89
+ this.clearFlags(invocationContext);
90
+ }
91
+ }
92
+ clearFlags(invocationContext) {
93
+ delete invocationContext.session.state["temp:consolidate_context"];
94
+ delete invocationContext.session.state["temp:consolidate_context_detail"];
95
+ }
96
+ getActiveEvents(events) {
97
+ const latest = events.filter(import_compacted_event.isCompactedEvent).pop();
98
+ return latest ? [
99
+ latest,
100
+ ...events.filter(
101
+ (e) => !(0, import_compacted_event.isCompactedEvent)(e) && e.timestamp > latest.endTime
102
+ )
103
+ ] : events;
104
+ }
105
+ }
106
+ // Annotate the CommonJS export names for ESM import in node:
107
+ 0 && (module.exports = {
108
+ AgentControlledContextCompactor
109
+ });
@@ -0,0 +1,127 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __export = (target, all) => {
13
+ for (var name in all)
14
+ __defProp(target, name, { get: all[name], enumerable: true });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var anchored_context_compactor_exports = {};
26
+ __export(anchored_context_compactor_exports, {
27
+ AnchoredContextCompactor: () => AnchoredContextCompactor
28
+ });
29
+ module.exports = __toCommonJS(anchored_context_compactor_exports);
30
+ var import_compacted_event = require("../events/compacted_event.js");
31
+ var import_event = require("../events/event.js");
32
+ var import_compaction_utils = require("./compaction_utils.js");
33
+ /**
34
+ * @license
35
+ * Copyright 2026 Google LLC
36
+ * SPDX-License-Identifier: Apache-2.0
37
+ */
38
+ class AnchoredContextCompactor {
39
+ constructor(options) {
40
+ this.tokenThreshold = options.tokenThreshold;
41
+ this.eventRetentionSize = options.eventRetentionSize;
42
+ this.summarizer = options.summarizer;
43
+ }
44
+ getActiveEvents(events) {
45
+ let latestScratchpad = void 0;
46
+ for (let i = events.length - 1; i >= 0; i--) {
47
+ const e = events[i];
48
+ if ((0, import_compacted_event.isScratchpadEvent)(e)) {
49
+ latestScratchpad = e;
50
+ break;
51
+ }
52
+ }
53
+ if (!latestScratchpad) {
54
+ return events;
55
+ }
56
+ const activeRawEvents = events.filter(
57
+ (e) => e.timestamp > latestScratchpad.endTime && !(0, import_compacted_event.isScratchpadEvent)(e)
58
+ );
59
+ return [latestScratchpad, ...activeRawEvents];
60
+ }
61
+ shouldCompact(invocationContext) {
62
+ const events = invocationContext.session.events;
63
+ const activeEvents = this.getActiveEvents(events);
64
+ const hasScratchpad = activeEvents.length > 0 && (0, import_compacted_event.isScratchpadEvent)(activeEvents[0]);
65
+ const rawEvents = hasScratchpad ? activeEvents.slice(1) : activeEvents;
66
+ if (rawEvents.length <= this.eventRetentionSize) {
67
+ return false;
68
+ }
69
+ const retainStartIndex = (0, import_compaction_utils.calculateRetainStartIndex)(
70
+ rawEvents,
71
+ this.eventRetentionSize
72
+ );
73
+ if (retainStartIndex === 0) {
74
+ return false;
75
+ }
76
+ const totalTokens = activeEvents.reduce(
77
+ (sum, event) => sum + (0, import_event.getEventTokens)(event),
78
+ 0
79
+ );
80
+ return totalTokens > this.tokenThreshold;
81
+ }
82
+ async compact(invocationContext) {
83
+ const events = invocationContext.session.events;
84
+ const activeEvents = this.getActiveEvents(events);
85
+ const hasScratchpad = activeEvents.length > 0 && (0, import_compacted_event.isScratchpadEvent)(activeEvents[0]);
86
+ const rawEvents = hasScratchpad ? activeEvents.slice(1) : activeEvents;
87
+ if (rawEvents.length <= this.eventRetentionSize) {
88
+ return;
89
+ }
90
+ const retainStartIndex = (0, import_compaction_utils.calculateRetainStartIndex)(
91
+ rawEvents,
92
+ this.eventRetentionSize
93
+ );
94
+ if (retainStartIndex === 0) {
95
+ return;
96
+ }
97
+ const rawEventsToCompact = rawEvents.slice(0, retainStartIndex);
98
+ let scratchpadEvent;
99
+ if (hasScratchpad) {
100
+ const existingScratchpad = activeEvents[0];
101
+ scratchpadEvent = await this.summarizer.summarize([
102
+ existingScratchpad,
103
+ ...rawEventsToCompact
104
+ ]);
105
+ } else {
106
+ scratchpadEvent = await this.summarizer.summarize(rawEventsToCompact);
107
+ }
108
+ const updatedScratchpad = {
109
+ ...scratchpadEvent,
110
+ isScratchpad: true,
111
+ author: "system"
112
+ };
113
+ const inactiveEvents = events.slice(0, events.indexOf(activeEvents[0]));
114
+ const retainedRawEvents = rawEvents.slice(retainStartIndex);
115
+ const newEventsList = [
116
+ ...inactiveEvents,
117
+ updatedScratchpad,
118
+ ...retainedRawEvents
119
+ ];
120
+ events.length = 0;
121
+ events.push(...newEventsList);
122
+ }
123
+ }
124
+ // Annotate the CommonJS export names for ESM import in node:
125
+ 0 && (module.exports = {
126
+ AnchoredContextCompactor
127
+ });
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __export = (target, all) => {
13
+ for (var name in all)
14
+ __defProp(target, name, { get: all[name], enumerable: true });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var compaction_utils_exports = {};
26
+ __export(compaction_utils_exports, {
27
+ calculateRetainStartIndex: () => calculateRetainStartIndex
28
+ });
29
+ module.exports = __toCommonJS(compaction_utils_exports);
30
+ var import_event = require("../events/event.js");
31
+ /**
32
+ * @license
33
+ * Copyright 2026 Google LLC
34
+ * SPDX-License-Identifier: Apache-2.0
35
+ */
36
+ function calculateRetainStartIndex(rawEvents, eventRetentionSize) {
37
+ let retainStartIndex = Math.max(0, rawEvents.length - eventRetentionSize);
38
+ while (retainStartIndex > 0) {
39
+ const eventToRetain = rawEvents[retainStartIndex];
40
+ const previousEvent = rawEvents[retainStartIndex - 1];
41
+ if ((0, import_event.getFunctionResponses)(eventToRetain).length > 0 && (0, import_event.getFunctionCalls)(previousEvent).length > 0) {
42
+ retainStartIndex--;
43
+ } else {
44
+ break;
45
+ }
46
+ }
47
+ return retainStartIndex;
48
+ }
49
+ // Annotate the CommonJS export names for ESM import in node:
50
+ 0 && (module.exports = {
51
+ calculateRetainStartIndex
52
+ });