@google/adk 0.4.0 → 0.6.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 (221) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/a2a/a2a_event.js +317 -0
  3. package/dist/cjs/a2a/a2a_remote_agent.js +174 -0
  4. package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +198 -0
  5. package/dist/cjs/a2a/a2a_remote_agent_utils.js +165 -0
  6. package/dist/cjs/a2a/agent_card.js +380 -0
  7. package/dist/cjs/a2a/agent_executor.js +221 -0
  8. package/dist/cjs/a2a/agent_to_a2a.js +115 -0
  9. package/dist/cjs/a2a/event_converter_utils.js +201 -0
  10. package/dist/cjs/a2a/event_processor_utils.js +180 -0
  11. package/dist/cjs/a2a/executor_context.js +53 -0
  12. package/dist/cjs/a2a/metadata_converter_utils.js +126 -0
  13. package/dist/cjs/a2a/part_converter_utils.js +47 -34
  14. package/dist/cjs/agents/base_agent.js +3 -3
  15. package/dist/cjs/{tools/tool_context.js → agents/context.js} +70 -15
  16. package/dist/cjs/agents/functions.js +2 -2
  17. package/dist/cjs/agents/llm_agent.js +38 -674
  18. package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +132 -0
  19. package/dist/cjs/agents/processors/basic_llm_request_processor.js +68 -0
  20. package/dist/cjs/agents/processors/code_execution_request_processor.js +389 -0
  21. package/dist/cjs/agents/{content_processor_utils.js → processors/content_processor_utils.js} +21 -2
  22. package/dist/cjs/agents/processors/content_request_processor.js +87 -0
  23. package/dist/cjs/agents/processors/context_compactor_request_processor.js +61 -0
  24. package/dist/cjs/agents/processors/identity_llm_request_processor.js +54 -0
  25. package/dist/cjs/agents/processors/instructions_llm_request_processor.js +85 -0
  26. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +165 -0
  27. package/dist/cjs/artifacts/file_artifact_service.js +35 -4
  28. package/dist/cjs/common.js +48 -7
  29. package/dist/cjs/context/base_context_compactor.js +27 -0
  30. package/dist/cjs/context/summarizers/base_summarizer.js +27 -0
  31. package/dist/cjs/context/summarizers/llm_summarizer.js +93 -0
  32. package/dist/cjs/context/token_based_context_compactor.js +135 -0
  33. package/dist/cjs/context/truncating_context_compactor.js +58 -0
  34. package/dist/cjs/events/compacted_event.js +53 -0
  35. package/dist/cjs/index.js +113 -53
  36. package/dist/cjs/index.js.map +7 -0
  37. package/dist/cjs/memory/in_memory_memory_service.js +1 -1
  38. package/dist/cjs/models/llm_response.js +2 -0
  39. package/dist/cjs/plugins/base_plugin.js +1 -1
  40. package/dist/cjs/runner/runner.js +20 -11
  41. package/dist/cjs/sessions/database_session_service.js +4 -1
  42. package/dist/cjs/sessions/db/operations.js +25 -23
  43. package/dist/cjs/sessions/state.js +2 -2
  44. package/dist/cjs/tools/agent_tool.js +6 -5
  45. package/dist/cjs/tools/base_tool.js +3 -0
  46. package/dist/cjs/tools/base_toolset.js +13 -3
  47. package/dist/cjs/tools/exit_loop_tool.js +63 -0
  48. package/dist/cjs/tools/load_artifacts_tool.js +188 -0
  49. package/dist/cjs/tools/load_memory_tool.js +107 -0
  50. package/dist/cjs/tools/mcp/mcp_toolset.js +9 -5
  51. package/dist/cjs/tools/preload_memory_tool.js +109 -0
  52. package/dist/cjs/utils/logger.js +62 -54
  53. package/dist/cjs/version.js +1 -1
  54. package/dist/esm/a2a/a2a_event.js +269 -0
  55. package/dist/esm/a2a/a2a_remote_agent.js +148 -0
  56. package/dist/esm/a2a/a2a_remote_agent_run_processor.js +175 -0
  57. package/dist/esm/a2a/a2a_remote_agent_utils.js +131 -0
  58. package/dist/esm/a2a/agent_card.js +340 -0
  59. package/dist/esm/a2a/agent_executor.js +202 -0
  60. package/dist/esm/a2a/agent_to_a2a.js +80 -0
  61. package/dist/esm/a2a/event_converter_utils.js +187 -0
  62. package/dist/esm/a2a/event_processor_utils.js +159 -0
  63. package/dist/esm/a2a/executor_context.js +23 -0
  64. package/dist/esm/a2a/metadata_converter_utils.js +91 -0
  65. package/dist/esm/a2a/part_converter_utils.js +49 -34
  66. package/dist/esm/agents/base_agent.js +3 -3
  67. package/dist/{web/tools/tool_context.js → esm/agents/context.js} +66 -11
  68. package/dist/esm/agents/functions.js +2 -2
  69. package/dist/esm/agents/llm_agent.js +31 -683
  70. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +101 -0
  71. package/dist/esm/agents/processors/basic_llm_request_processor.js +37 -0
  72. package/dist/esm/agents/processors/code_execution_request_processor.js +363 -0
  73. package/dist/esm/agents/{content_processor_utils.js → processors/content_processor_utils.js} +23 -2
  74. package/dist/esm/agents/processors/content_request_processor.js +59 -0
  75. package/dist/esm/agents/processors/context_compactor_request_processor.js +31 -0
  76. package/dist/esm/agents/processors/identity_llm_request_processor.js +23 -0
  77. package/dist/esm/agents/processors/instructions_llm_request_processor.js +54 -0
  78. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +140 -0
  79. package/dist/esm/artifacts/file_artifact_service.js +30 -3
  80. package/dist/esm/common.js +44 -10
  81. package/dist/esm/context/base_context_compactor.js +5 -0
  82. package/dist/esm/context/summarizers/base_summarizer.js +5 -0
  83. package/dist/esm/context/summarizers/llm_summarizer.js +65 -0
  84. package/dist/esm/context/token_based_context_compactor.js +105 -0
  85. package/dist/esm/context/truncating_context_compactor.js +28 -0
  86. package/dist/esm/events/compacted_event.js +22 -0
  87. package/dist/esm/index.js +119 -18
  88. package/dist/esm/index.js.map +7 -0
  89. package/dist/esm/memory/in_memory_memory_service.js +1 -1
  90. package/dist/esm/models/llm_response.js +2 -0
  91. package/dist/esm/plugins/base_plugin.js +1 -1
  92. package/dist/esm/runner/runner.js +18 -10
  93. package/dist/esm/sessions/database_session_service.js +4 -1
  94. package/dist/esm/sessions/db/operations.js +32 -18
  95. package/dist/esm/sessions/state.js +2 -2
  96. package/dist/esm/tools/agent_tool.js +6 -5
  97. package/dist/esm/tools/base_tool.js +3 -0
  98. package/dist/esm/tools/base_toolset.js +11 -2
  99. package/dist/esm/tools/exit_loop_tool.js +32 -0
  100. package/dist/esm/tools/load_artifacts_tool.js +159 -0
  101. package/dist/esm/tools/load_memory_tool.js +78 -0
  102. package/dist/esm/tools/mcp/mcp_toolset.js +9 -5
  103. package/dist/esm/tools/preload_memory_tool.js +80 -0
  104. package/dist/esm/utils/logger.js +52 -54
  105. package/dist/esm/version.js +1 -1
  106. package/dist/types/a2a/a2a_event.d.ts +139 -0
  107. package/dist/types/a2a/a2a_remote_agent.d.ts +63 -0
  108. package/dist/types/a2a/a2a_remote_agent_run_processor.d.ts +31 -0
  109. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +38 -0
  110. package/dist/types/a2a/agent_card.d.ts +23 -0
  111. package/dist/types/a2a/agent_executor.d.ts +52 -0
  112. package/dist/types/a2a/agent_to_a2a.d.ts +45 -0
  113. package/dist/types/a2a/event_converter_utils.d.ts +20 -0
  114. package/dist/types/a2a/event_processor_utils.d.ts +24 -0
  115. package/dist/types/a2a/executor_context.d.ts +33 -0
  116. package/dist/types/a2a/metadata_converter_utils.d.ts +63 -0
  117. package/dist/types/a2a/part_converter_utils.d.ts +4 -3
  118. package/dist/types/agents/base_agent.d.ts +2 -2
  119. package/dist/types/{tools/tool_context.d.ts → agents/context.d.ts} +43 -8
  120. package/dist/types/agents/llm_agent.d.ts +14 -31
  121. package/dist/types/agents/loop_agent.d.ts +1 -1
  122. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +18 -0
  123. package/dist/types/agents/{base_llm_processor.d.ts → processors/base_llm_processor.d.ts} +4 -4
  124. package/dist/types/agents/processors/basic_llm_request_processor.d.ts +13 -0
  125. package/dist/types/agents/processors/code_execution_request_processor.d.ts +34 -0
  126. package/dist/types/agents/{content_processor_utils.d.ts → processors/content_processor_utils.d.ts} +1 -1
  127. package/dist/types/agents/processors/content_request_processor.d.ts +13 -0
  128. package/dist/types/agents/processors/context_compactor_request_processor.d.ts +22 -0
  129. package/dist/types/agents/processors/identity_llm_request_processor.d.ts +13 -0
  130. package/dist/types/agents/processors/instructions_llm_request_processor.d.ts +16 -0
  131. package/dist/types/agents/processors/request_confirmation_llm_request_processor.d.ts +13 -0
  132. package/dist/types/artifacts/file_artifact_service.d.ts +4 -0
  133. package/dist/types/auth/credential_service/base_credential_service.d.ts +3 -3
  134. package/dist/types/auth/credential_service/in_memory_credential_service.d.ts +3 -3
  135. package/dist/types/common.d.ts +20 -5
  136. package/dist/types/context/base_context_compactor.d.ts +24 -0
  137. package/dist/types/context/summarizers/base_summarizer.d.ts +19 -0
  138. package/dist/types/context/summarizers/llm_summarizer.d.ts +23 -0
  139. package/dist/types/context/token_based_context_compactor.d.ts +33 -0
  140. package/dist/types/context/truncating_context_compactor.d.ts +24 -0
  141. package/dist/types/events/compacted_event.d.ts +33 -0
  142. package/dist/types/index.d.ts +8 -0
  143. package/dist/types/models/llm_response.d.ts +5 -1
  144. package/dist/types/plugins/base_plugin.d.ts +12 -13
  145. package/dist/types/plugins/logging_plugin.d.ts +9 -10
  146. package/dist/types/plugins/plugin_manager.d.ts +9 -10
  147. package/dist/types/plugins/security_plugin.d.ts +2 -2
  148. package/dist/types/runner/runner.d.ts +13 -0
  149. package/dist/types/sessions/database_session_service.d.ts +2 -1
  150. package/dist/types/sessions/db/operations.d.ts +3 -4
  151. package/dist/types/tools/base_tool.d.ts +3 -3
  152. package/dist/types/tools/base_toolset.d.ts +12 -3
  153. package/dist/types/tools/exit_loop_tool.d.ts +24 -0
  154. package/dist/types/tools/forwarding_artifact_service.d.ts +2 -2
  155. package/dist/types/tools/function_tool.d.ts +2 -2
  156. package/dist/types/tools/load_artifacts_tool.d.ts +21 -0
  157. package/dist/types/tools/load_memory_tool.d.ts +22 -0
  158. package/dist/types/tools/mcp/mcp_toolset.d.ts +1 -1
  159. package/dist/types/tools/preload_memory_tool.d.ts +23 -0
  160. package/dist/types/utils/logger.d.ts +5 -9
  161. package/dist/types/version.d.ts +1 -1
  162. package/dist/web/a2a/a2a_event.js +269 -0
  163. package/dist/web/a2a/a2a_remote_agent.js +193 -0
  164. package/dist/web/a2a/a2a_remote_agent_run_processor.js +175 -0
  165. package/dist/web/a2a/a2a_remote_agent_utils.js +131 -0
  166. package/dist/web/a2a/agent_card.js +340 -0
  167. package/dist/web/a2a/agent_executor.js +216 -0
  168. package/dist/web/a2a/agent_to_a2a.js +80 -0
  169. package/dist/web/a2a/event_converter_utils.js +201 -0
  170. package/dist/web/a2a/event_processor_utils.js +168 -0
  171. package/dist/web/a2a/executor_context.js +23 -0
  172. package/dist/web/a2a/metadata_converter_utils.js +108 -0
  173. package/dist/web/a2a/part_converter_utils.js +49 -34
  174. package/dist/web/agents/base_agent.js +3 -3
  175. package/dist/{esm/tools/tool_context.js → web/agents/context.js} +66 -11
  176. package/dist/web/agents/functions.js +2 -2
  177. package/dist/web/agents/llm_agent.js +31 -661
  178. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +100 -0
  179. package/dist/web/agents/processors/basic_llm_request_processor.js +71 -0
  180. package/dist/web/agents/processors/code_execution_request_processor.js +365 -0
  181. package/dist/web/agents/{content_processor_utils.js → processors/content_processor_utils.js} +22 -2
  182. package/dist/web/agents/processors/content_request_processor.js +77 -0
  183. package/dist/web/agents/processors/context_compactor_request_processor.js +49 -0
  184. package/dist/web/agents/processors/identity_llm_request_processor.js +41 -0
  185. package/dist/web/agents/processors/instructions_llm_request_processor.js +72 -0
  186. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +158 -0
  187. package/dist/web/artifacts/file_artifact_service.js +30 -3
  188. package/dist/web/common.js +44 -10
  189. package/dist/web/context/base_context_compactor.js +5 -0
  190. package/dist/web/context/summarizers/base_summarizer.js +5 -0
  191. package/dist/web/context/summarizers/llm_summarizer.js +74 -0
  192. package/dist/web/context/token_based_context_compactor.js +105 -0
  193. package/dist/web/context/truncating_context_compactor.js +28 -0
  194. package/dist/web/events/compacted_event.js +40 -0
  195. package/dist/web/index.js +13 -18
  196. package/dist/web/index.js.map +7 -0
  197. package/dist/web/memory/in_memory_memory_service.js +1 -1
  198. package/dist/web/models/llm_response.js +2 -0
  199. package/dist/web/plugins/base_plugin.js +1 -1
  200. package/dist/web/runner/runner.js +18 -10
  201. package/dist/web/sessions/database_session_service.js +4 -1
  202. package/dist/web/sessions/db/operations.js +32 -18
  203. package/dist/web/sessions/state.js +2 -2
  204. package/dist/web/tools/agent_tool.js +6 -5
  205. package/dist/web/tools/base_tool.js +3 -0
  206. package/dist/web/tools/base_toolset.js +11 -2
  207. package/dist/web/tools/exit_loop_tool.js +32 -0
  208. package/dist/web/tools/load_artifacts_tool.js +150 -0
  209. package/dist/web/tools/load_memory_tool.js +77 -0
  210. package/dist/web/tools/mcp/mcp_toolset.js +27 -5
  211. package/dist/web/tools/preload_memory_tool.js +75 -0
  212. package/dist/web/utils/logger.js +52 -54
  213. package/dist/web/version.js +1 -1
  214. package/package.json +7 -4
  215. package/dist/cjs/agents/callback_context.js +0 -101
  216. package/dist/esm/agents/callback_context.js +0 -71
  217. package/dist/types/agents/callback_context.d.ts +0 -42
  218. package/dist/web/agents/callback_context.js +0 -71
  219. /package/dist/cjs/agents/{base_llm_processor.js → processors/base_llm_processor.js} +0 -0
  220. /package/dist/esm/agents/{base_llm_processor.js → processors/base_llm_processor.js} +0 -0
  221. /package/dist/web/agents/{base_llm_processor.js → processors/base_llm_processor.js} +0 -0
@@ -40,8 +40,13 @@ __export(common_exports, {
40
40
  BaseTool: () => import_base_tool.BaseTool,
41
41
  BaseToolset: () => import_base_toolset.BaseToolset,
42
42
  BuiltInCodeExecutor: () => import_built_in_code_executor.BuiltInCodeExecutor,
43
- CallbackContext: () => import_callback_context.CallbackContext,
43
+ CONTENT_REQUEST_PROCESSOR: () => import_content_request_processor.CONTENT_REQUEST_PROCESSOR,
44
+ ContentRequestProcessor: () => import_content_request_processor.ContentRequestProcessor,
45
+ Context: () => import_context.Context,
46
+ ContextCompactorRequestProcessor: () => import_context_compactor_request_processor.ContextCompactorRequestProcessor,
47
+ EXIT_LOOP: () => import_exit_loop_tool.EXIT_LOOP,
44
48
  EventType: () => import_structured_events.EventType,
49
+ ExitLoopTool: () => import_exit_loop_tool.ExitLoopTool,
45
50
  FunctionTool: () => import_function_tool.FunctionTool,
46
51
  GOOGLE_SEARCH: () => import_google_search_tool.GOOGLE_SEARCH,
47
52
  Gemini: () => import_google_llm.Gemini,
@@ -54,15 +59,22 @@ __export(common_exports, {
54
59
  InMemorySessionService: () => import_in_memory_session_service.InMemorySessionService,
55
60
  InvocationContext: () => import_invocation_context.InvocationContext,
56
61
  LLMRegistry: () => import_registry.LLMRegistry,
62
+ LOAD_ARTIFACTS: () => import_load_artifacts_tool.LOAD_ARTIFACTS,
63
+ LOAD_MEMORY: () => import_load_memory_tool.LOAD_MEMORY,
57
64
  LiveRequestQueue: () => import_live_request_queue.LiveRequestQueue,
58
65
  LlmAgent: () => import_llm_agent.LlmAgent,
66
+ LlmSummarizer: () => import_llm_summarizer.LlmSummarizer,
67
+ LoadArtifactsTool: () => import_load_artifacts_tool.LoadArtifactsTool,
68
+ LoadMemoryTool: () => import_load_memory_tool.LoadMemoryTool,
59
69
  LogLevel: () => import_logger.LogLevel,
60
70
  LoggingPlugin: () => import_logging_plugin.LoggingPlugin,
61
71
  LongRunningFunctionTool: () => import_long_running_tool.LongRunningFunctionTool,
62
72
  LoopAgent: () => import_loop_agent.LoopAgent,
73
+ PRELOAD_MEMORY: () => import_preload_memory_tool.PRELOAD_MEMORY,
63
74
  ParallelAgent: () => import_parallel_agent.ParallelAgent,
64
75
  PluginManager: () => import_plugin_manager.PluginManager,
65
76
  PolicyOutcome: () => import_security_plugin.PolicyOutcome,
77
+ PreloadMemoryTool: () => import_preload_memory_tool.PreloadMemoryTool,
66
78
  REQUEST_CONFIRMATION_FUNCTION_CALL_NAME: () => import_security_plugin.REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
67
79
  ReadonlyContext: () => import_readonly_context.ReadonlyContext,
68
80
  Runner: () => import_runner.Runner,
@@ -70,8 +82,9 @@ __export(common_exports, {
70
82
  SequentialAgent: () => import_sequential_agent.SequentialAgent,
71
83
  State: () => import_state.State,
72
84
  StreamingMode: () => import_run_config.StreamingMode,
85
+ TokenBasedContextCompactor: () => import_token_based_context_compactor.TokenBasedContextCompactor,
73
86
  ToolConfirmation: () => import_tool_confirmation.ToolConfirmation,
74
- ToolContext: () => import_tool_context.ToolContext,
87
+ TruncatingContextCompactor: () => import_truncating_context_compactor.TruncatingContextCompactor,
75
88
  createEvent: () => import_event.createEvent,
76
89
  createEventActions: () => import_event_actions.createEventActions,
77
90
  createSession: () => import_session.createSession,
@@ -87,12 +100,15 @@ __export(common_exports, {
87
100
  isBaseExampleProvider: () => import_base_example_provider.isBaseExampleProvider,
88
101
  isBaseLlm: () => import_base_llm.isBaseLlm,
89
102
  isBaseTool: () => import_base_tool.isBaseTool,
103
+ isBaseToolset: () => import_base_toolset.isBaseToolset,
104
+ isCompactedEvent: () => import_compacted_event.isCompactedEvent,
90
105
  isFinalResponse: () => import_event.isFinalResponse,
91
106
  isFunctionTool: () => import_function_tool.isFunctionTool,
92
107
  isGemini2OrAbove: () => import_model_name.isGemini2OrAbove,
93
108
  isLlmAgent: () => import_llm_agent.isLlmAgent,
94
109
  isLoopAgent: () => import_loop_agent.isLoopAgent,
95
110
  isParallelAgent: () => import_parallel_agent.isParallelAgent,
111
+ isRunner: () => import_runner.isRunner,
96
112
  isSequentialAgent: () => import_sequential_agent.isSequentialAgent,
97
113
  setLogLevel: () => import_logger.setLogLevel,
98
114
  setLogger: () => import_logger.setLogger,
@@ -104,14 +120,16 @@ __export(common_exports, {
104
120
  module.exports = __toCommonJS(common_exports);
105
121
  var import_active_streaming_tool = require("./agents/active_streaming_tool.js");
106
122
  var import_base_agent = require("./agents/base_agent.js");
107
- var import_base_llm_processor = require("./agents/base_llm_processor.js");
108
- var import_callback_context = require("./agents/callback_context.js");
123
+ var import_context = require("./agents/context.js");
109
124
  var import_functions = require("./agents/functions.js");
110
125
  var import_invocation_context = require("./agents/invocation_context.js");
111
126
  var import_live_request_queue = require("./agents/live_request_queue.js");
112
127
  var import_llm_agent = require("./agents/llm_agent.js");
113
128
  var import_loop_agent = require("./agents/loop_agent.js");
114
129
  var import_parallel_agent = require("./agents/parallel_agent.js");
130
+ var import_base_llm_processor = require("./agents/processors/base_llm_processor.js");
131
+ var import_content_request_processor = require("./agents/processors/content_request_processor.js");
132
+ var import_context_compactor_request_processor = require("./agents/processors/context_compactor_request_processor.js");
115
133
  var import_readonly_context = require("./agents/readonly_context.js");
116
134
  var import_run_config = require("./agents/run_config.js");
117
135
  var import_sequential_agent = require("./agents/sequential_agent.js");
@@ -119,6 +137,10 @@ var import_in_memory_artifact_service = require("./artifacts/in_memory_artifact_
119
137
  var import_auth_credential = require("./auth/auth_credential.js");
120
138
  var import_base_code_executor = require("./code_executors/base_code_executor.js");
121
139
  var import_built_in_code_executor = require("./code_executors/built_in_code_executor.js");
140
+ var import_llm_summarizer = require("./context/summarizers/llm_summarizer.js");
141
+ var import_token_based_context_compactor = require("./context/token_based_context_compactor.js");
142
+ var import_truncating_context_compactor = require("./context/truncating_context_compactor.js");
143
+ var import_compacted_event = require("./events/compacted_event.js");
122
144
  var import_event = require("./events/event.js");
123
145
  var import_event_actions = require("./events/event_actions.js");
124
146
  var import_structured_events = require("./events/structured_events.js");
@@ -141,11 +163,14 @@ var import_state = require("./sessions/state.js");
141
163
  var import_agent_tool = require("./tools/agent_tool.js");
142
164
  var import_base_tool = require("./tools/base_tool.js");
143
165
  var import_base_toolset = require("./tools/base_toolset.js");
166
+ var import_exit_loop_tool = require("./tools/exit_loop_tool.js");
144
167
  var import_function_tool = require("./tools/function_tool.js");
145
168
  var import_google_search_tool = require("./tools/google_search_tool.js");
169
+ var import_load_artifacts_tool = require("./tools/load_artifacts_tool.js");
170
+ var import_load_memory_tool = require("./tools/load_memory_tool.js");
146
171
  var import_long_running_tool = require("./tools/long_running_tool.js");
172
+ var import_preload_memory_tool = require("./tools/preload_memory_tool.js");
147
173
  var import_tool_confirmation = require("./tools/tool_confirmation.js");
148
- var import_tool_context = require("./tools/tool_context.js");
149
174
  var import_logger = require("./utils/logger.js");
150
175
  var import_model_name = require("./utils/model_name.js");
151
176
  var import_simple_zod_to_json = require("./utils/simple_zod_to_json.js");
@@ -177,8 +202,13 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
177
202
  BaseTool,
178
203
  BaseToolset,
179
204
  BuiltInCodeExecutor,
180
- CallbackContext,
205
+ CONTENT_REQUEST_PROCESSOR,
206
+ ContentRequestProcessor,
207
+ Context,
208
+ ContextCompactorRequestProcessor,
209
+ EXIT_LOOP,
181
210
  EventType,
211
+ ExitLoopTool,
182
212
  FunctionTool,
183
213
  GOOGLE_SEARCH,
184
214
  Gemini,
@@ -191,15 +221,22 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
191
221
  InMemorySessionService,
192
222
  InvocationContext,
193
223
  LLMRegistry,
224
+ LOAD_ARTIFACTS,
225
+ LOAD_MEMORY,
194
226
  LiveRequestQueue,
195
227
  LlmAgent,
228
+ LlmSummarizer,
229
+ LoadArtifactsTool,
230
+ LoadMemoryTool,
196
231
  LogLevel,
197
232
  LoggingPlugin,
198
233
  LongRunningFunctionTool,
199
234
  LoopAgent,
235
+ PRELOAD_MEMORY,
200
236
  ParallelAgent,
201
237
  PluginManager,
202
238
  PolicyOutcome,
239
+ PreloadMemoryTool,
203
240
  REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
204
241
  ReadonlyContext,
205
242
  Runner,
@@ -207,8 +244,9 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
207
244
  SequentialAgent,
208
245
  State,
209
246
  StreamingMode,
247
+ TokenBasedContextCompactor,
210
248
  ToolConfirmation,
211
- ToolContext,
249
+ TruncatingContextCompactor,
212
250
  createEvent,
213
251
  createEventActions,
214
252
  createSession,
@@ -224,12 +262,15 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
224
262
  isBaseExampleProvider,
225
263
  isBaseLlm,
226
264
  isBaseTool,
265
+ isBaseToolset,
266
+ isCompactedEvent,
227
267
  isFinalResponse,
228
268
  isFunctionTool,
229
269
  isGemini2OrAbove,
230
270
  isLlmAgent,
231
271
  isLoopAgent,
232
272
  isParallelAgent,
273
+ isRunner,
233
274
  isSequentialAgent,
234
275
  setLogLevel,
235
276
  setLogger,
@@ -0,0 +1,27 @@
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 __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var base_context_compactor_exports = {};
22
+ module.exports = __toCommonJS(base_context_compactor_exports);
23
+ /**
24
+ * @license
25
+ * Copyright 2026 Google LLC
26
+ * SPDX-License-Identifier: Apache-2.0
27
+ */
@@ -0,0 +1,27 @@
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 __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var base_summarizer_exports = {};
22
+ module.exports = __toCommonJS(base_summarizer_exports);
23
+ /**
24
+ * @license
25
+ * Copyright 2026 Google LLC
26
+ * SPDX-License-Identifier: Apache-2.0
27
+ */
@@ -0,0 +1,93 @@
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 llm_summarizer_exports = {};
26
+ __export(llm_summarizer_exports, {
27
+ LlmSummarizer: () => LlmSummarizer
28
+ });
29
+ module.exports = __toCommonJS(llm_summarizer_exports);
30
+ var import_compacted_event = require("../../events/compacted_event.js");
31
+ var import_event = require("../../events/event.js");
32
+ /**
33
+ * @license
34
+ * Copyright 2026 Google LLC
35
+ * SPDX-License-Identifier: Apache-2.0
36
+ */
37
+ const DEFAULT_PROMPT = "The following is a conversation history between a user and an AI agent. Please summarize the conversation, focusing on key information and decisions made, as well as any unresolved questions or tasks. The summary should be concise and capture the essence of the interaction.";
38
+ class LlmSummarizer {
39
+ constructor(options) {
40
+ this.llm = options.llm;
41
+ this.prompt = options.prompt || DEFAULT_PROMPT;
42
+ }
43
+ async summarize(events) {
44
+ var _a, _b, _c, _d, _e, _f;
45
+ if (events.length === 0) {
46
+ throw new Error("Cannot summarize an empty list of events.");
47
+ }
48
+ const startTime = events[0].timestamp;
49
+ const endTime = events[events.length - 1].timestamp;
50
+ let formattedEvents = "";
51
+ for (let i = 0; i < events.length; i++) {
52
+ formattedEvents += `[Event ${i + 1} - Author: ${events[i].author}]
53
+ `;
54
+ formattedEvents += `${(0, import_event.stringifyContent)(events[i])}
55
+
56
+ `;
57
+ }
58
+ const fullPrompt = `${this.prompt}
59
+
60
+ ${formattedEvents}`;
61
+ const request = {
62
+ contents: [{ role: "user", parts: [{ text: fullPrompt }] }],
63
+ toolsDict: {},
64
+ liveConnectConfig: {}
65
+ };
66
+ const responseGen = this.llm.generateContentAsync(request, false);
67
+ let compactedContent = "";
68
+ const firstResponse = await responseGen.next();
69
+ if (firstResponse.done || !((_c = (_b = (_a = firstResponse.value.content) == null ? void 0 : _a.parts) == null ? void 0 : _b[0]) == null ? void 0 : _c.text)) {
70
+ throw new Error("LLM failed to return a valid summary.");
71
+ }
72
+ compactedContent += firstResponse.value.content.parts[0].text;
73
+ for await (const chunk of responseGen) {
74
+ if ((_f = (_e = (_d = chunk.content) == null ? void 0 : _d.parts) == null ? void 0 : _e[0]) == null ? void 0 : _f.text) {
75
+ compactedContent += chunk.content.parts[0].text;
76
+ }
77
+ }
78
+ return (0, import_compacted_event.createCompactedEvent)({
79
+ author: "system",
80
+ content: {
81
+ role: "model",
82
+ parts: [{ text: compactedContent }]
83
+ },
84
+ startTime,
85
+ endTime,
86
+ compactedContent
87
+ });
88
+ }
89
+ }
90
+ // Annotate the CommonJS export names for ESM import in node:
91
+ 0 && (module.exports = {
92
+ LlmSummarizer
93
+ });
@@ -0,0 +1,135 @@
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 token_based_context_compactor_exports = {};
26
+ __export(token_based_context_compactor_exports, {
27
+ TokenBasedContextCompactor: () => TokenBasedContextCompactor
28
+ });
29
+ module.exports = __toCommonJS(token_based_context_compactor_exports);
30
+ var import_compacted_event = require("../events/compacted_event.js");
31
+ var import_event = require("../events/event.js");
32
+ /**
33
+ * @license
34
+ * Copyright 2026 Google LLC
35
+ * SPDX-License-Identifier: Apache-2.0
36
+ */
37
+ class TokenBasedContextCompactor {
38
+ constructor(options) {
39
+ this.tokenThreshold = options.tokenThreshold;
40
+ this.eventRetentionSize = options.eventRetentionSize;
41
+ this.summarizer = options.summarizer;
42
+ }
43
+ getActiveEvents(events) {
44
+ let latestCompactedEvent = void 0;
45
+ for (let i = events.length - 1; i >= 0; i--) {
46
+ const e = events[i];
47
+ if ((0, import_compacted_event.isCompactedEvent)(e)) {
48
+ if (!latestCompactedEvent || e.endTime > latestCompactedEvent.endTime) {
49
+ latestCompactedEvent = e;
50
+ }
51
+ }
52
+ }
53
+ if (!latestCompactedEvent) {
54
+ return events;
55
+ }
56
+ const activeRawEvents = events.filter(
57
+ (e) => !(0, import_compacted_event.isCompactedEvent)(e) && e.timestamp > latestCompactedEvent.endTime
58
+ );
59
+ return [latestCompactedEvent, ...activeRawEvents];
60
+ }
61
+ shouldCompact(invocationContext) {
62
+ const events = invocationContext.session.events;
63
+ const activeEvents = this.getActiveEvents(events);
64
+ const rawEvents = activeEvents.filter((e) => !(0, import_compacted_event.isCompactedEvent)(e));
65
+ if (rawEvents.length <= this.eventRetentionSize) {
66
+ return false;
67
+ }
68
+ let totalTokens = 0;
69
+ for (const event of activeEvents) {
70
+ totalTokens += getEventTokens(event);
71
+ }
72
+ return totalTokens > this.tokenThreshold;
73
+ }
74
+ async compact(invocationContext) {
75
+ const events = invocationContext.session.events;
76
+ const activeEvents = this.getActiveEvents(events);
77
+ const rawEvents = activeEvents.filter((e) => !(0, import_compacted_event.isCompactedEvent)(e));
78
+ if (rawEvents.length <= this.eventRetentionSize) {
79
+ return;
80
+ }
81
+ let retainStartIndex = Math.max(
82
+ 0,
83
+ rawEvents.length - this.eventRetentionSize
84
+ );
85
+ while (retainStartIndex > 0) {
86
+ const eventToRetain = rawEvents[retainStartIndex];
87
+ const previousEvent = rawEvents[retainStartIndex - 1];
88
+ if (hasFunctionResponse(eventToRetain) && hasFunctionCall(previousEvent)) {
89
+ retainStartIndex--;
90
+ } else {
91
+ break;
92
+ }
93
+ }
94
+ if (retainStartIndex === 0) {
95
+ return;
96
+ }
97
+ const rawEventsToCompact = rawEvents.slice(0, retainStartIndex);
98
+ const compactedEventPresent = activeEvents.find(import_compacted_event.isCompactedEvent);
99
+ const eventsToCompact = compactedEventPresent ? [compactedEventPresent, ...rawEventsToCompact] : rawEventsToCompact;
100
+ const compactedEvent = await this.summarizer.summarize(eventsToCompact);
101
+ if (!compactedEvent.actions) {
102
+ compactedEvent.actions = {
103
+ stateDelta: {},
104
+ artifactDelta: {},
105
+ requestedAuthConfigs: [],
106
+ requestedToolConfirmations: {}
107
+ };
108
+ }
109
+ invocationContext.session.events.push(compactedEvent);
110
+ }
111
+ }
112
+ function getEventTokens(event) {
113
+ var _a;
114
+ if (((_a = event.usageMetadata) == null ? void 0 : _a.promptTokenCount) !== void 0) {
115
+ return event.usageMetadata.promptTokenCount;
116
+ }
117
+ const contentStr = (0, import_event.stringifyContent)(event);
118
+ return Math.ceil(contentStr.length / 4);
119
+ }
120
+ function hasFunctionCall(event) {
121
+ var _a, _b;
122
+ return !!((_b = (_a = event.content) == null ? void 0 : _a.parts) == null ? void 0 : _b.some(
123
+ (part) => part.functionCall !== void 0
124
+ ));
125
+ }
126
+ function hasFunctionResponse(event) {
127
+ var _a, _b;
128
+ return !!((_b = (_a = event.content) == null ? void 0 : _a.parts) == null ? void 0 : _b.some(
129
+ (part) => part.functionResponse !== void 0
130
+ ));
131
+ }
132
+ // Annotate the CommonJS export names for ESM import in node:
133
+ 0 && (module.exports = {
134
+ TokenBasedContextCompactor
135
+ });
@@ -0,0 +1,58 @@
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 truncating_context_compactor_exports = {};
26
+ __export(truncating_context_compactor_exports, {
27
+ TruncatingContextCompactor: () => TruncatingContextCompactor
28
+ });
29
+ module.exports = __toCommonJS(truncating_context_compactor_exports);
30
+ /**
31
+ * @license
32
+ * Copyright 2026 Google LLC
33
+ * SPDX-License-Identifier: Apache-2.0
34
+ */
35
+ class TruncatingContextCompactor {
36
+ constructor(options) {
37
+ var _a;
38
+ this.threshold = options.threshold;
39
+ this.preserveLeadingEvents = (_a = options.preserveLeadingEvents) != null ? _a : 0;
40
+ }
41
+ shouldCompact(invocationContext) {
42
+ const eventsLength = invocationContext.session.events.length;
43
+ return eventsLength > this.threshold + Math.max(0, this.preserveLeadingEvents);
44
+ }
45
+ compact(invocationContext) {
46
+ const events = invocationContext.session.events;
47
+ const excess = events.length - this.threshold - Math.max(0, this.preserveLeadingEvents);
48
+ if (excess <= 0) {
49
+ return;
50
+ }
51
+ const startIndexToRemove = Math.max(0, this.preserveLeadingEvents);
52
+ events.splice(startIndexToRemove, excess);
53
+ }
54
+ }
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ TruncatingContextCompactor
58
+ });
@@ -0,0 +1,53 @@
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 compacted_event_exports = {};
26
+ __export(compacted_event_exports, {
27
+ createCompactedEvent: () => createCompactedEvent,
28
+ isCompactedEvent: () => isCompactedEvent
29
+ });
30
+ module.exports = __toCommonJS(compacted_event_exports);
31
+ var import_event = require("./event.js");
32
+ /**
33
+ * @license
34
+ * Copyright 2026 Google LLC
35
+ * SPDX-License-Identifier: Apache-2.0
36
+ */
37
+ function isCompactedEvent(event) {
38
+ return "isCompacted" in event && event.isCompacted === true;
39
+ }
40
+ function createCompactedEvent(params = {}) {
41
+ return {
42
+ ...(0, import_event.createEvent)(params),
43
+ isCompacted: params.isCompacted || true,
44
+ startTime: params.startTime,
45
+ endTime: params.endTime,
46
+ compactedContent: params.compactedContent
47
+ };
48
+ }
49
+ // Annotate the CommonJS export names for ESM import in node:
50
+ 0 && (module.exports = {
51
+ createCompactedEvent,
52
+ isCompactedEvent
53
+ });