@paean-ai/adk 0.2.14 → 0.2.15

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 (254) hide show
  1. package/dist/cjs/index.js +11 -11
  2. package/dist/cjs/index.js.map +3 -3
  3. package/dist/esm/index.js +11 -11
  4. package/dist/esm/index.js.map +3 -3
  5. package/dist/types/agents/llm_agent.d.ts +4 -0
  6. package/dist/web/index.js +1 -1
  7. package/dist/web/index.js.map +3 -3
  8. package/package.json +1 -1
  9. package/dist/cjs/agents/active_streaming_tool.js +0 -44
  10. package/dist/cjs/agents/base_agent.js +0 -245
  11. package/dist/cjs/agents/base_llm_processor.js +0 -44
  12. package/dist/cjs/agents/callback_context.js +0 -98
  13. package/dist/cjs/agents/content_processor_utils.js +0 -346
  14. package/dist/cjs/agents/functions.js +0 -385
  15. package/dist/cjs/agents/instructions.js +0 -110
  16. package/dist/cjs/agents/invocation_context.js +0 -107
  17. package/dist/cjs/agents/live_request_queue.js +0 -136
  18. package/dist/cjs/agents/llm_agent.js +0 -1212
  19. package/dist/cjs/agents/loop_agent.js +0 -68
  20. package/dist/cjs/agents/parallel_agent.js +0 -78
  21. package/dist/cjs/agents/readonly_context.js +0 -68
  22. package/dist/cjs/agents/run_config.js +0 -70
  23. package/dist/cjs/agents/sequential_agent.js +0 -84
  24. package/dist/cjs/agents/transcription_entry.js +0 -27
  25. package/dist/cjs/artifacts/base_artifact_service.js +0 -27
  26. package/dist/cjs/artifacts/gcs_artifact_service.js +0 -140
  27. package/dist/cjs/artifacts/in_memory_artifact_service.js +0 -119
  28. package/dist/cjs/auth/auth_credential.js +0 -46
  29. package/dist/cjs/auth/auth_handler.js +0 -92
  30. package/dist/cjs/auth/auth_schemes.js +0 -62
  31. package/dist/cjs/auth/auth_tool.js +0 -27
  32. package/dist/cjs/auth/credential_service/base_credential_service.js +0 -27
  33. package/dist/cjs/auth/credential_service/in_memory_credential_service.js +0 -63
  34. package/dist/cjs/auth/exchanger/base_credential_exchanger.js +0 -40
  35. package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +0 -59
  36. package/dist/cjs/code_executors/base_code_executor.js +0 -76
  37. package/dist/cjs/code_executors/built_in_code_executor.js +0 -58
  38. package/dist/cjs/code_executors/code_execution_utils.js +0 -142
  39. package/dist/cjs/code_executors/code_executor_context.js +0 -198
  40. package/dist/cjs/common.js +0 -181
  41. package/dist/cjs/events/event.js +0 -119
  42. package/dist/cjs/events/event_actions.js +0 -83
  43. package/dist/cjs/examples/base_example_provider.js +0 -40
  44. package/dist/cjs/examples/example.js +0 -27
  45. package/dist/cjs/examples/example_util.js +0 -107
  46. package/dist/cjs/index_web.js +0 -33
  47. package/dist/cjs/memory/base_memory_service.js +0 -27
  48. package/dist/cjs/memory/in_memory_memory_service.js +0 -97
  49. package/dist/cjs/memory/memory_entry.js +0 -27
  50. package/dist/cjs/models/base_llm.js +0 -95
  51. package/dist/cjs/models/base_llm_connection.js +0 -27
  52. package/dist/cjs/models/gemini_llm_connection.js +0 -132
  53. package/dist/cjs/models/google_llm.js +0 -559
  54. package/dist/cjs/models/llm_request.js +0 -82
  55. package/dist/cjs/models/llm_response.js +0 -71
  56. package/dist/cjs/models/registry.js +0 -121
  57. package/dist/cjs/plugins/base_plugin.js +0 -236
  58. package/dist/cjs/plugins/logging_plugin.js +0 -222
  59. package/dist/cjs/plugins/plugin_manager.js +0 -239
  60. package/dist/cjs/plugins/security_plugin.js +0 -153
  61. package/dist/cjs/runner/in_memory_runner.js +0 -58
  62. package/dist/cjs/runner/runner.js +0 -277
  63. package/dist/cjs/sessions/base_session_service.js +0 -71
  64. package/dist/cjs/sessions/in_memory_session_service.js +0 -184
  65. package/dist/cjs/sessions/session.js +0 -48
  66. package/dist/cjs/sessions/state.js +0 -101
  67. package/dist/cjs/telemetry/google_cloud.js +0 -85
  68. package/dist/cjs/telemetry/setup.js +0 -97
  69. package/dist/cjs/telemetry/tracing.js +0 -231
  70. package/dist/cjs/tools/agent_tool.js +0 -134
  71. package/dist/cjs/tools/base_tool.js +0 -107
  72. package/dist/cjs/tools/base_toolset.js +0 -76
  73. package/dist/cjs/tools/forwarding_artifact_service.js +0 -71
  74. package/dist/cjs/tools/function_tool.js +0 -101
  75. package/dist/cjs/tools/google_search_tool.js +0 -76
  76. package/dist/cjs/tools/long_running_tool.js +0 -63
  77. package/dist/cjs/tools/mcp/mcp_session_manager.js +0 -65
  78. package/dist/cjs/tools/mcp/mcp_tool.js +0 -65
  79. package/dist/cjs/tools/mcp/mcp_toolset.js +0 -61
  80. package/dist/cjs/tools/tool_confirmation.js +0 -49
  81. package/dist/cjs/tools/tool_context.js +0 -129
  82. package/dist/cjs/utils/client_labels.js +0 -56
  83. package/dist/cjs/utils/deep_clone.js +0 -44
  84. package/dist/cjs/utils/env_aware_utils.js +0 -83
  85. package/dist/cjs/utils/gemini_schema_util.js +0 -88
  86. package/dist/cjs/utils/logger.js +0 -121
  87. package/dist/cjs/utils/model_name.js +0 -76
  88. package/dist/cjs/utils/simple_zod_to_json.js +0 -191
  89. package/dist/cjs/utils/variant_utils.js +0 -55
  90. package/dist/cjs/version.js +0 -39
  91. package/dist/esm/agents/active_streaming_tool.js +0 -14
  92. package/dist/esm/agents/base_agent.js +0 -214
  93. package/dist/esm/agents/base_llm_processor.js +0 -13
  94. package/dist/esm/agents/callback_context.js +0 -68
  95. package/dist/esm/agents/content_processor_utils.js +0 -315
  96. package/dist/esm/agents/functions.js +0 -344
  97. package/dist/esm/agents/instructions.js +0 -80
  98. package/dist/esm/agents/invocation_context.js +0 -76
  99. package/dist/esm/agents/live_request_queue.js +0 -106
  100. package/dist/esm/agents/llm_agent.js +0 -1180
  101. package/dist/esm/agents/loop_agent.js +0 -38
  102. package/dist/esm/agents/parallel_agent.js +0 -48
  103. package/dist/esm/agents/readonly_context.js +0 -38
  104. package/dist/esm/agents/run_config.js +0 -39
  105. package/dist/esm/agents/sequential_agent.js +0 -54
  106. package/dist/esm/agents/transcription_entry.js +0 -5
  107. package/dist/esm/artifacts/base_artifact_service.js +0 -5
  108. package/dist/esm/artifacts/gcs_artifact_service.js +0 -110
  109. package/dist/esm/artifacts/in_memory_artifact_service.js +0 -89
  110. package/dist/esm/auth/auth_credential.js +0 -16
  111. package/dist/esm/auth/auth_handler.js +0 -62
  112. package/dist/esm/auth/auth_schemes.js +0 -31
  113. package/dist/esm/auth/auth_tool.js +0 -5
  114. package/dist/esm/auth/credential_service/base_credential_service.js +0 -5
  115. package/dist/esm/auth/credential_service/in_memory_credential_service.js +0 -33
  116. package/dist/esm/auth/exchanger/base_credential_exchanger.js +0 -10
  117. package/dist/esm/auth/exchanger/credential_exchanger_registry.js +0 -29
  118. package/dist/esm/code_executors/base_code_executor.js +0 -46
  119. package/dist/esm/code_executors/built_in_code_executor.js +0 -28
  120. package/dist/esm/code_executors/code_execution_utils.js +0 -108
  121. package/dist/esm/code_executors/code_executor_context.js +0 -168
  122. package/dist/esm/common.js +0 -98
  123. package/dist/esm/events/event.js +0 -83
  124. package/dist/esm/events/event_actions.js +0 -52
  125. package/dist/esm/examples/base_example_provider.js +0 -10
  126. package/dist/esm/examples/example.js +0 -5
  127. package/dist/esm/examples/example_util.js +0 -76
  128. package/dist/esm/index_web.js +0 -6
  129. package/dist/esm/memory/base_memory_service.js +0 -5
  130. package/dist/esm/memory/in_memory_memory_service.js +0 -67
  131. package/dist/esm/memory/memory_entry.js +0 -5
  132. package/dist/esm/models/base_llm.js +0 -64
  133. package/dist/esm/models/base_llm_connection.js +0 -5
  134. package/dist/esm/models/gemini_llm_connection.js +0 -102
  135. package/dist/esm/models/google_llm.js +0 -533
  136. package/dist/esm/models/llm_request.js +0 -50
  137. package/dist/esm/models/llm_response.js +0 -41
  138. package/dist/esm/models/registry.js +0 -91
  139. package/dist/esm/plugins/base_plugin.js +0 -206
  140. package/dist/esm/plugins/logging_plugin.js +0 -192
  141. package/dist/esm/plugins/plugin_manager.js +0 -209
  142. package/dist/esm/plugins/security_plugin.js +0 -119
  143. package/dist/esm/runner/in_memory_runner.js +0 -28
  144. package/dist/esm/runner/runner.js +0 -247
  145. package/dist/esm/sessions/base_session_service.js +0 -41
  146. package/dist/esm/sessions/in_memory_session_service.js +0 -154
  147. package/dist/esm/sessions/session.js +0 -18
  148. package/dist/esm/sessions/state.js +0 -71
  149. package/dist/esm/telemetry/google_cloud.js +0 -54
  150. package/dist/esm/telemetry/setup.js +0 -67
  151. package/dist/esm/telemetry/tracing.js +0 -195
  152. package/dist/esm/tools/agent_tool.js +0 -104
  153. package/dist/esm/tools/base_tool.js +0 -77
  154. package/dist/esm/tools/base_toolset.js +0 -46
  155. package/dist/esm/tools/forwarding_artifact_service.js +0 -41
  156. package/dist/esm/tools/function_tool.js +0 -71
  157. package/dist/esm/tools/google_search_tool.js +0 -46
  158. package/dist/esm/tools/long_running_tool.js +0 -33
  159. package/dist/esm/tools/mcp/mcp_session_manager.js +0 -35
  160. package/dist/esm/tools/mcp/mcp_tool.js +0 -35
  161. package/dist/esm/tools/mcp/mcp_toolset.js +0 -31
  162. package/dist/esm/tools/tool_confirmation.js +0 -19
  163. package/dist/esm/tools/tool_context.js +0 -99
  164. package/dist/esm/utils/client_labels.js +0 -26
  165. package/dist/esm/utils/deep_clone.js +0 -14
  166. package/dist/esm/utils/env_aware_utils.js +0 -49
  167. package/dist/esm/utils/gemini_schema_util.js +0 -58
  168. package/dist/esm/utils/logger.js +0 -89
  169. package/dist/esm/utils/model_name.js +0 -41
  170. package/dist/esm/utils/simple_zod_to_json.js +0 -160
  171. package/dist/esm/utils/variant_utils.js +0 -24
  172. package/dist/esm/version.js +0 -9
  173. package/dist/web/agents/active_streaming_tool.js +0 -14
  174. package/dist/web/agents/base_agent.js +0 -265
  175. package/dist/web/agents/base_llm_processor.js +0 -13
  176. package/dist/web/agents/callback_context.js +0 -68
  177. package/dist/web/agents/content_processor_utils.js +0 -315
  178. package/dist/web/agents/functions.js +0 -344
  179. package/dist/web/agents/instructions.js +0 -80
  180. package/dist/web/agents/invocation_context.js +0 -76
  181. package/dist/web/agents/live_request_queue.js +0 -124
  182. package/dist/web/agents/llm_agent.js +0 -1310
  183. package/dist/web/agents/loop_agent.js +0 -71
  184. package/dist/web/agents/parallel_agent.js +0 -83
  185. package/dist/web/agents/readonly_context.js +0 -38
  186. package/dist/web/agents/run_config.js +0 -54
  187. package/dist/web/agents/sequential_agent.js +0 -99
  188. package/dist/web/agents/transcription_entry.js +0 -5
  189. package/dist/web/artifacts/base_artifact_service.js +0 -5
  190. package/dist/web/artifacts/gcs_artifact_service.js +0 -126
  191. package/dist/web/artifacts/in_memory_artifact_service.js +0 -89
  192. package/dist/web/auth/auth_credential.js +0 -16
  193. package/dist/web/auth/auth_handler.js +0 -62
  194. package/dist/web/auth/auth_schemes.js +0 -31
  195. package/dist/web/auth/auth_tool.js +0 -5
  196. package/dist/web/auth/credential_service/base_credential_service.js +0 -5
  197. package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -33
  198. package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -10
  199. package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -29
  200. package/dist/web/code_executors/base_code_executor.js +0 -46
  201. package/dist/web/code_executors/built_in_code_executor.js +0 -28
  202. package/dist/web/code_executors/code_execution_utils.js +0 -105
  203. package/dist/web/code_executors/code_executor_context.js +0 -168
  204. package/dist/web/common.js +0 -98
  205. package/dist/web/events/event.js +0 -101
  206. package/dist/web/events/event_actions.js +0 -67
  207. package/dist/web/examples/base_example_provider.js +0 -10
  208. package/dist/web/examples/example.js +0 -5
  209. package/dist/web/examples/example_util.js +0 -75
  210. package/dist/web/index_web.js +0 -6
  211. package/dist/web/memory/base_memory_service.js +0 -5
  212. package/dist/web/memory/in_memory_memory_service.js +0 -67
  213. package/dist/web/memory/memory_entry.js +0 -5
  214. package/dist/web/models/base_llm.js +0 -64
  215. package/dist/web/models/base_llm_connection.js +0 -5
  216. package/dist/web/models/gemini_llm_connection.js +0 -120
  217. package/dist/web/models/google_llm.js +0 -574
  218. package/dist/web/models/llm_request.js +0 -50
  219. package/dist/web/models/llm_response.js +0 -41
  220. package/dist/web/models/registry.js +0 -91
  221. package/dist/web/plugins/base_plugin.js +0 -206
  222. package/dist/web/plugins/logging_plugin.js +0 -192
  223. package/dist/web/plugins/plugin_manager.js +0 -209
  224. package/dist/web/plugins/security_plugin.js +0 -119
  225. package/dist/web/runner/in_memory_runner.js +0 -28
  226. package/dist/web/runner/runner.js +0 -278
  227. package/dist/web/sessions/base_session_service.js +0 -41
  228. package/dist/web/sessions/in_memory_session_service.js +0 -154
  229. package/dist/web/sessions/session.js +0 -18
  230. package/dist/web/sessions/state.js +0 -87
  231. package/dist/web/telemetry/google_cloud.js +0 -54
  232. package/dist/web/telemetry/setup.js +0 -67
  233. package/dist/web/telemetry/tracing.js +0 -210
  234. package/dist/web/tools/agent_tool.js +0 -118
  235. package/dist/web/tools/base_tool.js +0 -77
  236. package/dist/web/tools/base_toolset.js +0 -46
  237. package/dist/web/tools/forwarding_artifact_service.js +0 -41
  238. package/dist/web/tools/function_tool.js +0 -71
  239. package/dist/web/tools/google_search_tool.js +0 -46
  240. package/dist/web/tools/long_running_tool.js +0 -50
  241. package/dist/web/tools/mcp/mcp_session_manager.js +0 -35
  242. package/dist/web/tools/mcp/mcp_tool.js +0 -35
  243. package/dist/web/tools/mcp/mcp_toolset.js +0 -31
  244. package/dist/web/tools/tool_confirmation.js +0 -19
  245. package/dist/web/tools/tool_context.js +0 -99
  246. package/dist/web/utils/client_labels.js +0 -26
  247. package/dist/web/utils/deep_clone.js +0 -14
  248. package/dist/web/utils/env_aware_utils.js +0 -49
  249. package/dist/web/utils/gemini_schema_util.js +0 -58
  250. package/dist/web/utils/logger.js +0 -89
  251. package/dist/web/utils/model_name.js +0 -41
  252. package/dist/web/utils/simple_zod_to_json.js +0 -174
  253. package/dist/web/utils/variant_utils.js +0 -24
  254. package/dist/web/version.js +0 -9
@@ -1,87 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
- var __hasOwnProp = Object.prototype.hasOwnProperty;
4
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
- var __spreadValues = (a, b) => {
7
- for (var prop in b || (b = {}))
8
- if (__hasOwnProp.call(b, prop))
9
- __defNormalProp(a, prop, b[prop]);
10
- if (__getOwnPropSymbols)
11
- for (var prop of __getOwnPropSymbols(b)) {
12
- if (__propIsEnum.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- }
15
- return a;
16
- };
17
- /**
18
- * @license
19
- * Copyright 2025 Google LLC
20
- * SPDX-License-Identifier: Apache-2.0
21
- */
22
- class State {
23
- constructor(value = {}, delta = {}) {
24
- this.value = value;
25
- this.delta = delta;
26
- }
27
- /**
28
- * Returns the value of the state dict for the given key.
29
- *
30
- * @param key The key to get the value for.
31
- * @param defaultValue The default value to return if the key is not found.
32
- * @return The value of the state for the given key, or the default value if
33
- * not found.
34
- */
35
- get(key, defaultValue) {
36
- if (key in this.delta) {
37
- return this.delta[key];
38
- }
39
- if (key in this.value) {
40
- return this.value[key];
41
- }
42
- return defaultValue;
43
- }
44
- /**
45
- * Sets the value of the state dict for the given key.
46
- *
47
- * @param key The key to set the value for.
48
- * @param value The value to set.
49
- */
50
- set(key, value) {
51
- this.value[key] = value;
52
- this.delta[key] = value;
53
- }
54
- /**
55
- * Whether the state has pending delta.
56
- */
57
- has(key) {
58
- return key in this.value || key in this.delta;
59
- }
60
- /**
61
- * Whether the state has pending delta.
62
- */
63
- hasDelta() {
64
- return Object.keys(this.delta).length > 0;
65
- }
66
- /**
67
- * Updates the state dict with the given delta.
68
- *
69
- * @param delta The delta to update the state with.
70
- */
71
- update(delta) {
72
- this.delta = __spreadValues(__spreadValues({}, this.delta), delta);
73
- this.value = __spreadValues(__spreadValues({}, this.value), delta);
74
- }
75
- /**
76
- * Returns the state as a plain JSON object.
77
- */
78
- toRecord() {
79
- return __spreadValues(__spreadValues({}, this.value), this.delta);
80
- }
81
- }
82
- State.APP_PREFIX = "app:";
83
- State.USER_PREFIX = "user:";
84
- State.TEMP_PREFIX = "temp:";
85
- export {
86
- State
87
- };
@@ -1,54 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { GoogleAuth } from "google-auth-library";
7
- import { PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics";
8
- import { detectResources } from "@opentelemetry/resources";
9
- import { gcpDetector } from "@opentelemetry/resource-detector-gcp";
10
- import { TraceExporter } from "@google-cloud/opentelemetry-cloud-trace-exporter";
11
- import { BatchSpanProcessor } from "@opentelemetry/sdk-trace-base";
12
- import { MetricExporter } from "@google-cloud/opentelemetry-cloud-monitoring-exporter";
13
- import { logger } from "../utils/logger.js";
14
- const GCP_PROJECT_ERROR_MESSAGE = "Cannot determine GCP Project. OTel GCP Exporters cannot be set up. Please make sure to log into correct GCP Project.";
15
- async function getGcpProjectId() {
16
- try {
17
- const auth = new GoogleAuth();
18
- const projectId = await auth.getProjectId();
19
- return projectId || void 0;
20
- } catch (error) {
21
- return void 0;
22
- }
23
- }
24
- async function getGcpExporters(config = {}) {
25
- const {
26
- enableTracing = false,
27
- enableMetrics = false
28
- // enableCloudLogging = false,
29
- } = config;
30
- const projectId = await getGcpProjectId();
31
- if (!projectId) {
32
- logger.warn(GCP_PROJECT_ERROR_MESSAGE);
33
- return {};
34
- }
35
- return {
36
- spanProcessors: enableTracing ? [
37
- new BatchSpanProcessor(new TraceExporter({ projectId }))
38
- ] : [],
39
- metricReaders: enableMetrics ? [
40
- new PeriodicExportingMetricReader({
41
- exporter: new MetricExporter({ projectId }),
42
- exportIntervalMillis: 5e3
43
- })
44
- ] : [],
45
- logRecordProcessors: []
46
- };
47
- }
48
- function getGcpResource() {
49
- return detectResources({ detectors: [gcpDetector] });
50
- }
51
- export {
52
- getGcpExporters,
53
- getGcpResource
54
- };
@@ -1,67 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { trace, metrics } from "@opentelemetry/api";
7
- import { logs } from "@opentelemetry/api-logs";
8
- import { LoggerProvider, BatchLogRecordProcessor } from "@opentelemetry/sdk-logs";
9
- import { MeterProvider, PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics";
10
- import { detectResources } from "@opentelemetry/resources";
11
- import { BatchSpanProcessor } from "@opentelemetry/sdk-trace-base";
12
- import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
13
- import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
14
- import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-http";
15
- import { OTLPLogExporter } from "@opentelemetry/exporter-logs-otlp-http";
16
- function maybeSetOtelProviders(otelHooksToSetup = [], otelResource) {
17
- const resource = otelResource || getOtelResource();
18
- const allHooks = [...otelHooksToSetup, getOtelExporters()];
19
- const spanProcessors = allHooks.flatMap((hooks) => hooks.spanProcessors || []);
20
- const metricReaders = allHooks.flatMap((hooks) => hooks.metricReaders || []);
21
- const logRecordProcessors = allHooks.flatMap((hooks) => hooks.logRecordProcessors || []);
22
- if (spanProcessors.length > 0) {
23
- const tracerProvider = new NodeTracerProvider({
24
- resource,
25
- spanProcessors
26
- });
27
- tracerProvider.register();
28
- trace.setGlobalTracerProvider(tracerProvider);
29
- }
30
- if (metricReaders.length > 0) {
31
- const meterProvider = new MeterProvider({
32
- readers: metricReaders,
33
- resource
34
- });
35
- metrics.setGlobalMeterProvider(meterProvider);
36
- }
37
- if (logRecordProcessors.length > 0) {
38
- const loggerProvider = new LoggerProvider({
39
- resource,
40
- processors: logRecordProcessors
41
- });
42
- logs.setGlobalLoggerProvider(loggerProvider);
43
- }
44
- }
45
- function getOtelResource() {
46
- return detectResources({
47
- detectors: []
48
- });
49
- }
50
- function getOtelExportersConfig() {
51
- return {
52
- enableTracing: !!(process.env.OTEL_EXPORTER_OTLP_ENDPOINT || process.env.OTEL_EXPORTER_OTLP_TRACES_ENDPOINT),
53
- enableMetrics: !!(process.env.OTEL_EXPORTER_OTLP_ENDPOINT || process.env.OTEL_EXPORTER_OTLP_METRICS_ENDPOINT),
54
- enableLogging: !!(process.env.OTEL_EXPORTER_OTLP_ENDPOINT || process.env.OTEL_EXPORTER_OTLP_LOGS_ENDPOINT)
55
- };
56
- }
57
- function getOtelExporters(config = getOtelExportersConfig()) {
58
- const { enableTracing, enableMetrics, enableLogging } = config;
59
- return {
60
- spanProcessors: enableTracing ? [new BatchSpanProcessor(new OTLPTraceExporter())] : [],
61
- metricReaders: enableMetrics ? [new PeriodicExportingMetricReader({ exporter: new OTLPMetricExporter() })] : [],
62
- logRecordProcessors: enableLogging ? [new BatchLogRecordProcessor(new OTLPLogExporter())] : []
63
- };
64
- }
65
- export {
66
- maybeSetOtelProviders
67
- };
@@ -1,210 +0,0 @@
1
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
2
- var __hasOwnProp = Object.prototype.hasOwnProperty;
3
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
4
- var __objRest = (source, exclude) => {
5
- var target = {};
6
- for (var prop in source)
7
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
8
- target[prop] = source[prop];
9
- if (source != null && __getOwnPropSymbols)
10
- for (var prop of __getOwnPropSymbols(source)) {
11
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
12
- target[prop] = source[prop];
13
- }
14
- return target;
15
- };
16
- /**
17
- * @license
18
- * Copyright 2025 Google LLC
19
- * SPDX-License-Identifier: Apache-2.0
20
- */
21
- import { trace, context } from "@opentelemetry/api";
22
- import { version } from "../version.js";
23
- const GEN_AI_AGENT_DESCRIPTION = "gen_ai.agent.description";
24
- const GEN_AI_AGENT_NAME = "gen_ai.agent.name";
25
- const GEN_AI_CONVERSATION_ID = "gen_ai.conversation.id";
26
- const GEN_AI_OPERATION_NAME = "gen_ai.operation.name";
27
- const GEN_AI_TOOL_CALL_ID = "gen_ai.tool.call.id";
28
- const GEN_AI_TOOL_DESCRIPTION = "gen_ai.tool.description";
29
- const GEN_AI_TOOL_NAME = "gen_ai.tool.name";
30
- const GEN_AI_TOOL_TYPE = "gen_ai.tool.type";
31
- const tracer = trace.getTracer(
32
- "gcp.vertex.agent",
33
- version
34
- );
35
- function safeJsonSerialize(obj) {
36
- try {
37
- return JSON.stringify(obj);
38
- } catch (error) {
39
- return "<not serializable>";
40
- }
41
- }
42
- function traceAgentInvocation({
43
- agent,
44
- invocationContext
45
- }) {
46
- const span = trace.getActiveSpan();
47
- if (!span) return;
48
- span.setAttributes({
49
- [GEN_AI_OPERATION_NAME]: "invoke_agent",
50
- // Conditionally Required
51
- [GEN_AI_AGENT_DESCRIPTION]: agent.description,
52
- [GEN_AI_AGENT_NAME]: agent.name,
53
- [GEN_AI_CONVERSATION_ID]: invocationContext.session.id
54
- });
55
- }
56
- function traceToolCall({
57
- tool,
58
- args,
59
- functionResponseEvent
60
- }) {
61
- var _a, _b;
62
- const span = trace.getActiveSpan();
63
- if (!span) return;
64
- span.setAttributes({
65
- [GEN_AI_OPERATION_NAME]: "execute_tool",
66
- [GEN_AI_TOOL_DESCRIPTION]: tool.description || "",
67
- [GEN_AI_TOOL_NAME]: tool.name,
68
- // e.g. FunctionTool
69
- [GEN_AI_TOOL_TYPE]: tool.constructor.name,
70
- // Setting empty llm request and response (as UI expect these) while not
71
- // applicable for tool_response.
72
- "gcp.vertex.agent.llm_request": "{}",
73
- "gcp.vertex.agent.llm_response": "{}",
74
- "gcp.vertex.agent.tool_call_args": shouldAddRequestResponseToSpans() ? safeJsonSerialize(args) : "{}"
75
- });
76
- let toolCallId = "<not specified>";
77
- let toolResponse = "<not specified>";
78
- if ((_a = functionResponseEvent.content) == null ? void 0 : _a.parts) {
79
- const responseParts = functionResponseEvent.content.parts;
80
- const functionResponse = (_b = responseParts[0]) == null ? void 0 : _b.functionResponse;
81
- if (functionResponse == null ? void 0 : functionResponse.id) {
82
- toolCallId = functionResponse.id;
83
- }
84
- if (functionResponse == null ? void 0 : functionResponse.response) {
85
- toolResponse = functionResponse.response;
86
- }
87
- }
88
- if (typeof toolResponse !== "object" || toolResponse === null) {
89
- toolResponse = { result: toolResponse };
90
- }
91
- span.setAttributes({
92
- [GEN_AI_TOOL_CALL_ID]: toolCallId,
93
- "gcp.vertex.agent.event_id": functionResponseEvent.id,
94
- "gcp.vertex.agent.tool_response": shouldAddRequestResponseToSpans() ? safeJsonSerialize(toolResponse) : "{}"
95
- });
96
- }
97
- function traceMergedToolCalls({
98
- responseEventId,
99
- functionResponseEvent
100
- }) {
101
- const span = trace.getActiveSpan();
102
- if (!span) return;
103
- span.setAttributes({
104
- [GEN_AI_OPERATION_NAME]: "execute_tool",
105
- [GEN_AI_TOOL_NAME]: "(merged tools)",
106
- [GEN_AI_TOOL_DESCRIPTION]: "(merged tools)",
107
- [GEN_AI_TOOL_CALL_ID]: responseEventId,
108
- "gcp.vertex.agent.tool_call_args": "N/A",
109
- "gcp.vertex.agent.event_id": responseEventId,
110
- // Setting empty llm request and response (as UI expect these) while not
111
- // applicable for tool_response.
112
- "gcp.vertex.agent.llm_request": "{}",
113
- "gcp.vertex.agent.llm_response": "{}"
114
- });
115
- span.setAttribute("gcp.vertex.agent.tool_response", shouldAddRequestResponseToSpans() ? safeJsonSerialize(functionResponseEvent) : "{}");
116
- }
117
- function traceCallLlm({
118
- invocationContext,
119
- eventId,
120
- llmRequest,
121
- llmResponse
122
- }) {
123
- var _a, _b, _c;
124
- const span = trace.getActiveSpan();
125
- if (!span) return;
126
- span.setAttributes({
127
- "gen_ai.system": "gcp.vertex.agent",
128
- "gen_ai.request.model": llmRequest.model,
129
- "gcp.vertex.agent.invocation_id": invocationContext.invocationId,
130
- "gcp.vertex.agent.session_id": invocationContext.session.id,
131
- "gcp.vertex.agent.event_id": eventId,
132
- // Consider removing once GenAI SDK provides a way to record this info.
133
- "gcp.vertex.agent.llm_request": shouldAddRequestResponseToSpans() ? safeJsonSerialize(buildLlmRequestForTrace(llmRequest)) : "{}"
134
- });
135
- if ((_a = llmRequest.config) == null ? void 0 : _a.topP) {
136
- span.setAttribute("gen_ai.request.top_p", llmRequest.config.topP);
137
- }
138
- if (((_b = llmRequest.config) == null ? void 0 : _b.maxOutputTokens) !== void 0) {
139
- span.setAttribute("gen_ai.request.max_tokens", llmRequest.config.maxOutputTokens);
140
- }
141
- span.setAttribute("gcp.vertex.agent.llm_response", shouldAddRequestResponseToSpans() ? safeJsonSerialize(llmResponse) : "{}");
142
- if (llmResponse.usageMetadata) {
143
- span.setAttribute("gen_ai.usage.input_tokens", llmResponse.usageMetadata.promptTokenCount || 0);
144
- }
145
- if ((_c = llmResponse.usageMetadata) == null ? void 0 : _c.candidatesTokenCount) {
146
- span.setAttribute("gen_ai.usage.output_tokens", llmResponse.usageMetadata.candidatesTokenCount);
147
- }
148
- if (llmResponse.finishReason) {
149
- const finishReasonValue = typeof llmResponse.finishReason === "string" ? llmResponse.finishReason.toLowerCase() : String(llmResponse.finishReason).toLowerCase();
150
- span.setAttribute("gen_ai.response.finish_reasons", [finishReasonValue]);
151
- }
152
- }
153
- function traceSendData({
154
- invocationContext,
155
- eventId,
156
- data
157
- }) {
158
- const span = trace.getActiveSpan();
159
- if (!span) return;
160
- span.setAttributes({
161
- "gcp.vertex.agent.invocation_id": invocationContext.invocationId,
162
- "gcp.vertex.agent.event_id": eventId
163
- });
164
- span.setAttribute("gcp.vertex.agent.data", shouldAddRequestResponseToSpans() ? safeJsonSerialize(data) : "{}");
165
- }
166
- function buildLlmRequestForTrace(llmRequest) {
167
- const result = {
168
- model: llmRequest.model,
169
- contents: []
170
- };
171
- if (llmRequest.config) {
172
- const _a = llmRequest.config, { responseSchema } = _a, cleanConfig = __objRest(_a, ["responseSchema"]);
173
- result.config = cleanConfig;
174
- }
175
- result.contents = llmRequest.contents.map((content) => {
176
- var _a2;
177
- return {
178
- role: content.role,
179
- parts: ((_a2 = content.parts) == null ? void 0 : _a2.filter((part) => !part.inlineData)) || []
180
- };
181
- });
182
- return result;
183
- }
184
- function bindAsyncGenerator(ctx, generator) {
185
- return {
186
- // Bind the next() method to execute within the provided context
187
- next: context.bind(ctx, generator.next.bind(generator)),
188
- // Bind the return() method to execute within the provided context
189
- return: context.bind(ctx, generator.return.bind(generator)),
190
- // Bind the throw() method to execute within the provided context
191
- throw: context.bind(ctx, generator.throw.bind(generator)),
192
- // Ensure the async iterator symbol also returns a context-bound generator
193
- [Symbol.asyncIterator]() {
194
- return bindAsyncGenerator(ctx, generator[Symbol.asyncIterator]());
195
- }
196
- };
197
- }
198
- function shouldAddRequestResponseToSpans() {
199
- const envValue = process.env.ADK_CAPTURE_MESSAGE_CONTENT_IN_SPANS || "true";
200
- return envValue === "true" || envValue === "1";
201
- }
202
- export {
203
- bindAsyncGenerator,
204
- traceAgentInvocation,
205
- traceCallLlm,
206
- traceMergedToolCalls,
207
- traceSendData,
208
- traceToolCall,
209
- tracer
210
- };
@@ -1,118 +0,0 @@
1
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
2
- var __forAwait = (obj, it, method) => (it = obj[__knownSymbol("asyncIterator")]) ? it.call(obj) : (obj = obj[__knownSymbol("iterator")](), it = {}, method = (key, fn) => (fn = obj[key]) && (it[key] = (arg) => new Promise((yes, no, done) => (arg = fn.call(obj, arg), done = arg.done, Promise.resolve(arg.value).then((value) => yes({ value, done }), no)))), method("next"), method("return"), it);
3
- /**
4
- * @license
5
- * Copyright 2025 Google LLC
6
- * SPDX-License-Identifier: Apache-2.0
7
- */
8
- import { Type } from "@google/genai";
9
- import { LlmAgent } from "../agents/llm_agent.js";
10
- import { InMemoryMemoryService } from "../memory/in_memory_memory_service.js";
11
- import { Runner } from "../runner/runner.js";
12
- import { InMemorySessionService } from "../sessions/in_memory_session_service.js";
13
- import { GoogleLLMVariant } from "../utils/variant_utils.js";
14
- import { BaseTool } from "./base_tool.js";
15
- import { ForwardingArtifactService } from "./forwarding_artifact_service.js";
16
- class AgentTool extends BaseTool {
17
- constructor(config) {
18
- super(
19
- { name: config.agent.name, description: config.agent.description || "" }
20
- );
21
- this.agent = config.agent;
22
- this.skipSummarization = config.skipSummarization || false;
23
- }
24
- _getDeclaration() {
25
- let declaration;
26
- if (this.agent instanceof LlmAgent && this.agent.inputSchema) {
27
- declaration = {
28
- name: this.name,
29
- description: this.description,
30
- // TODO(b/425992518): We should not use the agent's input schema as is.
31
- // It should be validated and possibly transformed. Consider similar
32
- // logic to one we have in Python ADK.
33
- parameters: this.agent.inputSchema
34
- };
35
- } else {
36
- declaration = {
37
- name: this.name,
38
- description: this.description,
39
- parameters: {
40
- type: Type.OBJECT,
41
- properties: {
42
- "request": {
43
- type: Type.STRING
44
- }
45
- },
46
- required: ["request"]
47
- }
48
- };
49
- }
50
- if (this.apiVariant !== GoogleLLMVariant.GEMINI_API) {
51
- const hasOutputSchema = this.agent instanceof LlmAgent && this.agent.outputSchema;
52
- declaration.response = hasOutputSchema ? { type: Type.OBJECT } : { type: Type.STRING };
53
- }
54
- return declaration;
55
- }
56
- async runAsync({ args, toolContext }) {
57
- var _a, _b;
58
- if (this.skipSummarization) {
59
- toolContext.actions.skipSummarization = true;
60
- }
61
- const hasInputSchema = this.agent instanceof LlmAgent && this.agent.inputSchema;
62
- const content = {
63
- role: "user",
64
- parts: [
65
- {
66
- // TODO(b/425992518): Should be validated. Consider similar
67
- // logic to one we have in Python ADK.
68
- text: hasInputSchema ? JSON.stringify(args) : args["request"]
69
- }
70
- ]
71
- };
72
- const runner = new Runner({
73
- appName: this.agent.name,
74
- agent: this.agent,
75
- artifactService: new ForwardingArtifactService(toolContext),
76
- sessionService: new InMemorySessionService(),
77
- memoryService: new InMemoryMemoryService(),
78
- credentialService: toolContext.invocationContext.credentialService
79
- });
80
- const session = await runner.sessionService.createSession({
81
- appName: this.agent.name,
82
- userId: "tmp_user",
83
- state: toolContext.state.toRecord()
84
- });
85
- let lastEvent;
86
- try {
87
- for (var iter = __forAwait(runner.runAsync({
88
- userId: session.userId,
89
- sessionId: session.id,
90
- newMessage: content
91
- })), more, temp, error; more = !(temp = await iter.next()).done; more = false) {
92
- const event = temp.value;
93
- if (event.actions.stateDelta) {
94
- toolContext.state.update(event.actions.stateDelta);
95
- }
96
- lastEvent = event;
97
- }
98
- } catch (temp) {
99
- error = [temp];
100
- } finally {
101
- try {
102
- more && (temp = iter.return) && await temp.call(iter);
103
- } finally {
104
- if (error)
105
- throw error[0];
106
- }
107
- }
108
- if (!((_b = (_a = lastEvent == null ? void 0 : lastEvent.content) == null ? void 0 : _a.parts) == null ? void 0 : _b.length)) {
109
- return "";
110
- }
111
- const hasOutputSchema = this.agent instanceof LlmAgent && this.agent.outputSchema;
112
- const mergetText = lastEvent.content.parts.map((part) => part.text).filter((text) => text).join("\n");
113
- return hasOutputSchema ? JSON.parse(mergetText) : mergetText;
114
- }
115
- }
116
- export {
117
- AgentTool
118
- };
@@ -1,77 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { getGoogleLlmVariant } from "../utils/variant_utils.js";
7
- class BaseTool {
8
- /**
9
- * Base constructor for a tool.
10
- *
11
- * @param params The parameters for `BaseTool`.
12
- */
13
- constructor(params) {
14
- var _a;
15
- this.name = params.name;
16
- this.description = params.description;
17
- this.isLongRunning = (_a = params.isLongRunning) != null ? _a : false;
18
- }
19
- /**
20
- * Gets the OpenAPI specification of this tool in the form of a
21
- * FunctionDeclaration.
22
- *
23
- * NOTE
24
- * - Required if subclass uses the default implementation of
25
- * `processLlmRequest` to add function declaration to LLM request.
26
- * - Otherwise, can be skipped, e.g. for a built-in GoogleSearch tool for
27
- * Gemini.
28
- *
29
- * @return The FunctionDeclaration of this tool, or undefined if it doesn't
30
- * need to be added to LlmRequest.config.
31
- */
32
- _getDeclaration() {
33
- return void 0;
34
- }
35
- /**
36
- * Processes the outgoing LLM request for this tool.
37
- *
38
- * Use cases:
39
- * - Most common use case is adding this tool to the LLM request.
40
- * - Some tools may just preprocess the LLM request before it's sent out.
41
- *
42
- * @param request The request to process the LLM request.
43
- */
44
- async processLlmRequest({ toolContext, llmRequest }) {
45
- const functionDeclaration = this._getDeclaration();
46
- if (!functionDeclaration) {
47
- return;
48
- }
49
- llmRequest.toolsDict[this.name] = this;
50
- const tool = findToolWithFunctionDeclarations(llmRequest);
51
- if (tool) {
52
- if (!tool.functionDeclarations) {
53
- tool.functionDeclarations = [];
54
- }
55
- tool.functionDeclarations.push(functionDeclaration);
56
- } else {
57
- llmRequest.config = llmRequest.config || {};
58
- llmRequest.config.tools = llmRequest.config.tools || [];
59
- llmRequest.config.tools.push({
60
- functionDeclarations: [functionDeclaration]
61
- });
62
- }
63
- }
64
- /**
65
- * The Google API LLM variant to use.
66
- */
67
- get apiVariant() {
68
- return getGoogleLlmVariant();
69
- }
70
- }
71
- function findToolWithFunctionDeclarations(llmRequest) {
72
- var _a;
73
- return (((_a = llmRequest.config) == null ? void 0 : _a.tools) || []).find((tool) => "functionDeclarations" in tool);
74
- }
75
- export {
76
- BaseTool
77
- };
@@ -1,46 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- class BaseToolset {
7
- constructor(toolFilter) {
8
- this.toolFilter = toolFilter;
9
- }
10
- /**
11
- * Returns whether the tool should be exposed to LLM.
12
- *
13
- * @param tool The tool to check.
14
- * @param context Context used to filter tools available to the agent.
15
- * @return Whether the tool should be exposed to LLM.
16
- */
17
- isToolSelected(tool, context) {
18
- if (!this.toolFilter) {
19
- return true;
20
- }
21
- if (typeof this.toolFilter === "function") {
22
- return this.toolFilter(tool, context);
23
- }
24
- if (Array.isArray(this.toolFilter)) {
25
- return this.toolFilter.includes(tool.name);
26
- }
27
- return false;
28
- }
29
- /**
30
- * Processes the outgoing LLM request for this toolset. This method will be
31
- * called before each tool processes the llm request.
32
- *
33
- * Use cases:
34
- * - Instead of let each tool process the llm request, we can let the toolset
35
- * process the llm request. e.g. ComputerUseToolset can add computer use
36
- * tool to the llm request.
37
- *
38
- * @param toolContext The context of the tool.
39
- * @param llmRequest The outgoing LLM request, mutable this method.
40
- */
41
- async processLlmRequest(toolContext, llmRequest) {
42
- }
43
- }
44
- export {
45
- BaseToolset
46
- };