@paean-ai/adk 0.2.19 → 0.2.20
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.
- package/dist/cjs/agents/active_streaming_tool.js +44 -0
- package/dist/cjs/agents/base_agent.js +245 -0
- package/dist/cjs/agents/base_llm_processor.js +44 -0
- package/dist/cjs/agents/callback_context.js +98 -0
- package/dist/cjs/agents/content_processor_utils.js +311 -0
- package/dist/cjs/agents/functions.js +425 -0
- package/dist/cjs/agents/instructions.js +110 -0
- package/dist/cjs/agents/invocation_context.js +107 -0
- package/dist/cjs/agents/live_request_queue.js +136 -0
- package/dist/cjs/agents/llm_agent.js +1257 -0
- package/dist/cjs/agents/loop_agent.js +68 -0
- package/dist/cjs/agents/parallel_agent.js +78 -0
- package/dist/cjs/agents/readonly_context.js +68 -0
- package/dist/cjs/agents/run_config.js +70 -0
- package/dist/cjs/agents/sequential_agent.js +84 -0
- package/dist/cjs/agents/transcription_entry.js +27 -0
- package/dist/cjs/artifacts/base_artifact_service.js +27 -0
- package/dist/cjs/artifacts/gcs_artifact_service.js +140 -0
- package/dist/cjs/artifacts/in_memory_artifact_service.js +119 -0
- package/dist/cjs/auth/auth_credential.js +46 -0
- package/dist/cjs/auth/auth_handler.js +92 -0
- package/dist/cjs/auth/auth_schemes.js +62 -0
- package/dist/cjs/auth/auth_tool.js +27 -0
- package/dist/cjs/auth/credential_service/base_credential_service.js +27 -0
- package/dist/cjs/auth/credential_service/in_memory_credential_service.js +63 -0
- package/dist/cjs/auth/exchanger/base_credential_exchanger.js +40 -0
- package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +59 -0
- package/dist/cjs/code_executors/base_code_executor.js +76 -0
- package/dist/cjs/code_executors/built_in_code_executor.js +58 -0
- package/dist/cjs/code_executors/code_execution_utils.js +142 -0
- package/dist/cjs/code_executors/code_executor_context.js +198 -0
- package/dist/cjs/common.js +181 -0
- package/dist/cjs/events/event.js +119 -0
- package/dist/cjs/events/event_actions.js +83 -0
- package/dist/cjs/examples/base_example_provider.js +40 -0
- package/dist/cjs/examples/example.js +27 -0
- package/dist/cjs/examples/example_util.js +107 -0
- package/dist/cjs/index.js +12 -12
- package/dist/cjs/index.js.map +3 -3
- package/dist/cjs/index_web.js +33 -0
- package/dist/cjs/memory/base_memory_service.js +27 -0
- package/dist/cjs/memory/in_memory_memory_service.js +97 -0
- package/dist/cjs/memory/memory_entry.js +27 -0
- package/dist/cjs/models/base_llm.js +95 -0
- package/dist/cjs/models/base_llm_connection.js +27 -0
- package/dist/cjs/models/gemini_llm_connection.js +132 -0
- package/dist/cjs/models/google_llm.js +472 -0
- package/dist/cjs/models/llm_request.js +82 -0
- package/dist/cjs/models/llm_response.js +71 -0
- package/dist/cjs/models/registry.js +121 -0
- package/dist/cjs/plugins/base_plugin.js +236 -0
- package/dist/cjs/plugins/logging_plugin.js +222 -0
- package/dist/cjs/plugins/plugin_manager.js +239 -0
- package/dist/cjs/plugins/security_plugin.js +153 -0
- package/dist/cjs/runner/in_memory_runner.js +58 -0
- package/dist/cjs/runner/runner.js +277 -0
- package/dist/cjs/sessions/base_session_service.js +71 -0
- package/dist/cjs/sessions/in_memory_session_service.js +184 -0
- package/dist/cjs/sessions/session.js +48 -0
- package/dist/cjs/sessions/state.js +101 -0
- package/dist/cjs/telemetry/google_cloud.js +85 -0
- package/dist/cjs/telemetry/setup.js +97 -0
- package/dist/cjs/telemetry/tracing.js +231 -0
- package/dist/cjs/tools/agent_tool.js +134 -0
- package/dist/cjs/tools/base_tool.js +107 -0
- package/dist/cjs/tools/base_toolset.js +76 -0
- package/dist/cjs/tools/forwarding_artifact_service.js +71 -0
- package/dist/cjs/tools/function_tool.js +101 -0
- package/dist/cjs/tools/google_search_tool.js +77 -0
- package/dist/cjs/tools/long_running_tool.js +63 -0
- package/dist/cjs/tools/mcp/mcp_session_manager.js +65 -0
- package/dist/cjs/tools/mcp/mcp_tool.js +65 -0
- package/dist/cjs/tools/mcp/mcp_toolset.js +61 -0
- package/dist/cjs/tools/tool_confirmation.js +49 -0
- package/dist/cjs/tools/tool_context.js +129 -0
- package/dist/cjs/utils/client_labels.js +56 -0
- package/dist/cjs/utils/deep_clone.js +44 -0
- package/dist/cjs/utils/env_aware_utils.js +83 -0
- package/dist/cjs/utils/gemini_schema_util.js +88 -0
- package/dist/cjs/utils/logger.js +121 -0
- package/dist/cjs/utils/model_name.js +76 -0
- package/dist/cjs/utils/simple_zod_to_json.js +191 -0
- package/dist/cjs/utils/variant_utils.js +55 -0
- package/dist/cjs/version.js +39 -0
- package/dist/esm/agents/active_streaming_tool.js +14 -0
- package/dist/esm/agents/base_agent.js +214 -0
- package/dist/esm/agents/base_llm_processor.js +13 -0
- package/dist/esm/agents/callback_context.js +68 -0
- package/dist/esm/agents/content_processor_utils.js +280 -0
- package/dist/esm/agents/functions.js +384 -0
- package/dist/esm/agents/instructions.js +80 -0
- package/dist/esm/agents/invocation_context.js +76 -0
- package/dist/esm/agents/live_request_queue.js +106 -0
- package/dist/esm/agents/llm_agent.js +1225 -0
- package/dist/esm/agents/loop_agent.js +38 -0
- package/dist/esm/agents/parallel_agent.js +48 -0
- package/dist/esm/agents/readonly_context.js +38 -0
- package/dist/esm/agents/run_config.js +39 -0
- package/dist/esm/agents/sequential_agent.js +54 -0
- package/dist/esm/agents/transcription_entry.js +5 -0
- package/dist/esm/artifacts/base_artifact_service.js +5 -0
- package/dist/esm/artifacts/gcs_artifact_service.js +110 -0
- package/dist/esm/artifacts/in_memory_artifact_service.js +89 -0
- package/dist/esm/auth/auth_credential.js +16 -0
- package/dist/esm/auth/auth_handler.js +62 -0
- package/dist/esm/auth/auth_schemes.js +31 -0
- package/dist/esm/auth/auth_tool.js +5 -0
- package/dist/esm/auth/credential_service/base_credential_service.js +5 -0
- package/dist/esm/auth/credential_service/in_memory_credential_service.js +33 -0
- package/dist/esm/auth/exchanger/base_credential_exchanger.js +10 -0
- package/dist/esm/auth/exchanger/credential_exchanger_registry.js +29 -0
- package/dist/esm/code_executors/base_code_executor.js +46 -0
- package/dist/esm/code_executors/built_in_code_executor.js +28 -0
- package/dist/esm/code_executors/code_execution_utils.js +108 -0
- package/dist/esm/code_executors/code_executor_context.js +168 -0
- package/dist/esm/common.js +98 -0
- package/dist/esm/events/event.js +83 -0
- package/dist/esm/events/event_actions.js +52 -0
- package/dist/esm/examples/base_example_provider.js +10 -0
- package/dist/esm/examples/example.js +5 -0
- package/dist/esm/examples/example_util.js +76 -0
- package/dist/esm/index.js +12 -12
- package/dist/esm/index.js.map +3 -3
- package/dist/esm/index_web.js +6 -0
- package/dist/esm/memory/base_memory_service.js +5 -0
- package/dist/esm/memory/in_memory_memory_service.js +67 -0
- package/dist/esm/memory/memory_entry.js +5 -0
- package/dist/esm/models/base_llm.js +64 -0
- package/dist/esm/models/base_llm_connection.js +5 -0
- package/dist/esm/models/gemini_llm_connection.js +102 -0
- package/dist/esm/models/google_llm.js +446 -0
- package/dist/esm/models/llm_request.js +50 -0
- package/dist/esm/models/llm_response.js +41 -0
- package/dist/esm/models/registry.js +91 -0
- package/dist/esm/plugins/base_plugin.js +206 -0
- package/dist/esm/plugins/logging_plugin.js +192 -0
- package/dist/esm/plugins/plugin_manager.js +209 -0
- package/dist/esm/plugins/security_plugin.js +119 -0
- package/dist/esm/runner/in_memory_runner.js +28 -0
- package/dist/esm/runner/runner.js +247 -0
- package/dist/esm/sessions/base_session_service.js +41 -0
- package/dist/esm/sessions/in_memory_session_service.js +154 -0
- package/dist/esm/sessions/session.js +18 -0
- package/dist/esm/sessions/state.js +71 -0
- package/dist/esm/telemetry/google_cloud.js +54 -0
- package/dist/esm/telemetry/setup.js +67 -0
- package/dist/esm/telemetry/tracing.js +195 -0
- package/dist/esm/tools/agent_tool.js +104 -0
- package/dist/esm/tools/base_tool.js +77 -0
- package/dist/esm/tools/base_toolset.js +46 -0
- package/dist/esm/tools/forwarding_artifact_service.js +41 -0
- package/dist/esm/tools/function_tool.js +71 -0
- package/dist/esm/tools/google_search_tool.js +47 -0
- package/dist/esm/tools/long_running_tool.js +33 -0
- package/dist/esm/tools/mcp/mcp_session_manager.js +35 -0
- package/dist/esm/tools/mcp/mcp_tool.js +35 -0
- package/dist/esm/tools/mcp/mcp_toolset.js +31 -0
- package/dist/esm/tools/tool_confirmation.js +19 -0
- package/dist/esm/tools/tool_context.js +99 -0
- package/dist/esm/utils/client_labels.js +26 -0
- package/dist/esm/utils/deep_clone.js +14 -0
- package/dist/esm/utils/env_aware_utils.js +49 -0
- package/dist/esm/utils/gemini_schema_util.js +58 -0
- package/dist/esm/utils/logger.js +89 -0
- package/dist/esm/utils/model_name.js +41 -0
- package/dist/esm/utils/simple_zod_to_json.js +160 -0
- package/dist/esm/utils/variant_utils.js +24 -0
- package/dist/esm/version.js +9 -0
- package/dist/types/models/google_llm.d.ts +0 -7
- package/dist/web/agents/active_streaming_tool.js +14 -0
- package/dist/web/agents/base_agent.js +265 -0
- package/dist/web/agents/base_llm_processor.js +13 -0
- package/dist/web/agents/callback_context.js +68 -0
- package/dist/web/agents/content_processor_utils.js +280 -0
- package/dist/web/agents/functions.js +384 -0
- package/dist/web/agents/instructions.js +80 -0
- package/dist/web/agents/invocation_context.js +76 -0
- package/dist/web/agents/live_request_queue.js +124 -0
- package/dist/web/agents/llm_agent.js +1355 -0
- package/dist/web/agents/loop_agent.js +71 -0
- package/dist/web/agents/parallel_agent.js +83 -0
- package/dist/web/agents/readonly_context.js +38 -0
- package/dist/web/agents/run_config.js +54 -0
- package/dist/web/agents/sequential_agent.js +99 -0
- package/dist/web/agents/transcription_entry.js +5 -0
- package/dist/web/artifacts/base_artifact_service.js +5 -0
- package/dist/web/artifacts/gcs_artifact_service.js +126 -0
- package/dist/web/artifacts/in_memory_artifact_service.js +89 -0
- package/dist/web/auth/auth_credential.js +16 -0
- package/dist/web/auth/auth_handler.js +62 -0
- package/dist/web/auth/auth_schemes.js +31 -0
- package/dist/web/auth/auth_tool.js +5 -0
- package/dist/web/auth/credential_service/base_credential_service.js +5 -0
- package/dist/web/auth/credential_service/in_memory_credential_service.js +33 -0
- package/dist/web/auth/exchanger/base_credential_exchanger.js +10 -0
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +29 -0
- package/dist/web/code_executors/base_code_executor.js +46 -0
- package/dist/web/code_executors/built_in_code_executor.js +28 -0
- package/dist/web/code_executors/code_execution_utils.js +105 -0
- package/dist/web/code_executors/code_executor_context.js +168 -0
- package/dist/web/common.js +98 -0
- package/dist/web/events/event.js +101 -0
- package/dist/web/events/event_actions.js +67 -0
- package/dist/web/examples/base_example_provider.js +10 -0
- package/dist/web/examples/example.js +5 -0
- package/dist/web/examples/example_util.js +75 -0
- package/dist/web/index.js +1 -1
- package/dist/web/index.js.map +3 -3
- package/dist/web/index_web.js +6 -0
- package/dist/web/memory/base_memory_service.js +5 -0
- package/dist/web/memory/in_memory_memory_service.js +67 -0
- package/dist/web/memory/memory_entry.js +5 -0
- package/dist/web/models/base_llm.js +64 -0
- package/dist/web/models/base_llm_connection.js +5 -0
- package/dist/web/models/gemini_llm_connection.js +120 -0
- package/dist/web/models/google_llm.js +487 -0
- package/dist/web/models/llm_request.js +50 -0
- package/dist/web/models/llm_response.js +41 -0
- package/dist/web/models/registry.js +91 -0
- package/dist/web/plugins/base_plugin.js +206 -0
- package/dist/web/plugins/logging_plugin.js +192 -0
- package/dist/web/plugins/plugin_manager.js +209 -0
- package/dist/web/plugins/security_plugin.js +119 -0
- package/dist/web/runner/in_memory_runner.js +28 -0
- package/dist/web/runner/runner.js +278 -0
- package/dist/web/sessions/base_session_service.js +41 -0
- package/dist/web/sessions/in_memory_session_service.js +154 -0
- package/dist/web/sessions/session.js +18 -0
- package/dist/web/sessions/state.js +87 -0
- package/dist/web/telemetry/google_cloud.js +54 -0
- package/dist/web/telemetry/setup.js +67 -0
- package/dist/web/telemetry/tracing.js +210 -0
- package/dist/web/tools/agent_tool.js +118 -0
- package/dist/web/tools/base_tool.js +77 -0
- package/dist/web/tools/base_toolset.js +46 -0
- package/dist/web/tools/forwarding_artifact_service.js +41 -0
- package/dist/web/tools/function_tool.js +71 -0
- package/dist/web/tools/google_search_tool.js +47 -0
- package/dist/web/tools/long_running_tool.js +50 -0
- package/dist/web/tools/mcp/mcp_session_manager.js +35 -0
- package/dist/web/tools/mcp/mcp_tool.js +35 -0
- package/dist/web/tools/mcp/mcp_toolset.js +31 -0
- package/dist/web/tools/tool_confirmation.js +19 -0
- package/dist/web/tools/tool_context.js +99 -0
- package/dist/web/utils/client_labels.js +26 -0
- package/dist/web/utils/deep_clone.js +14 -0
- package/dist/web/utils/env_aware_utils.js +49 -0
- package/dist/web/utils/gemini_schema_util.js +58 -0
- package/dist/web/utils/logger.js +89 -0
- package/dist/web/utils/model_name.js +41 -0
- package/dist/web/utils/simple_zod_to_json.js +174 -0
- package/dist/web/utils/variant_utils.js +24 -0
- package/dist/web/version.js +9 -0
- package/package.json +1 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
const MODEL_NAME_PATTERN = "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/(.+)$";
|
|
7
|
+
function extractModelName(modelString) {
|
|
8
|
+
const match = modelString.match(MODEL_NAME_PATTERN);
|
|
9
|
+
if (match) {
|
|
10
|
+
return match[1];
|
|
11
|
+
}
|
|
12
|
+
return modelString;
|
|
13
|
+
}
|
|
14
|
+
function isGeminiModel(modelString) {
|
|
15
|
+
const modelName = extractModelName(modelString);
|
|
16
|
+
return modelName.startsWith("gemini-");
|
|
17
|
+
}
|
|
18
|
+
function isGemini1Model(modelString) {
|
|
19
|
+
const modelName = extractModelName(modelString);
|
|
20
|
+
return modelName.startsWith("gemini-1");
|
|
21
|
+
}
|
|
22
|
+
function isGemini2Model(modelString) {
|
|
23
|
+
const modelName = extractModelName(modelString);
|
|
24
|
+
return modelName.startsWith("gemini-2");
|
|
25
|
+
}
|
|
26
|
+
function isGemini3Model(modelString) {
|
|
27
|
+
const modelName = extractModelName(modelString);
|
|
28
|
+
return modelName.startsWith("gemini-3");
|
|
29
|
+
}
|
|
30
|
+
function isGemini3PreviewModel(modelString) {
|
|
31
|
+
const modelName = extractModelName(modelString);
|
|
32
|
+
return modelName.startsWith("gemini-3") && modelName.includes("preview");
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
extractModelName,
|
|
36
|
+
isGemini1Model,
|
|
37
|
+
isGemini2Model,
|
|
38
|
+
isGemini3Model,
|
|
39
|
+
isGemini3PreviewModel,
|
|
40
|
+
isGeminiModel
|
|
41
|
+
};
|
|
@@ -0,0 +1,174 @@
|
|
|
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
|
+
import { Type } from "@google/genai";
|
|
23
|
+
import { z } from "zod";
|
|
24
|
+
function isZodObject(obj) {
|
|
25
|
+
var _a;
|
|
26
|
+
return obj !== null && typeof obj === "object" && ((_a = obj._def) == null ? void 0 : _a.typeName) === "ZodObject";
|
|
27
|
+
}
|
|
28
|
+
function parseZodType(zodType) {
|
|
29
|
+
const def = zodType._def;
|
|
30
|
+
if (!def) {
|
|
31
|
+
return {};
|
|
32
|
+
}
|
|
33
|
+
const description = def.description;
|
|
34
|
+
const result = {};
|
|
35
|
+
if (description) result.description = description;
|
|
36
|
+
const returnResult = (result2) => {
|
|
37
|
+
if (result2.description === void 0) {
|
|
38
|
+
delete result2.description;
|
|
39
|
+
}
|
|
40
|
+
return result2;
|
|
41
|
+
};
|
|
42
|
+
switch (def.typeName) {
|
|
43
|
+
case z.ZodFirstPartyTypeKind.ZodString:
|
|
44
|
+
result.type = Type.STRING;
|
|
45
|
+
for (const check of def.checks || []) {
|
|
46
|
+
if (check.kind === "min")
|
|
47
|
+
result.minLength = check.value.toString();
|
|
48
|
+
else if (check.kind === "max")
|
|
49
|
+
result.maxLength = check.value.toString();
|
|
50
|
+
else if (check.kind === "email")
|
|
51
|
+
result.format = "email";
|
|
52
|
+
else if (check.kind === "uuid")
|
|
53
|
+
result.format = "uuid";
|
|
54
|
+
else if (check.kind === "url")
|
|
55
|
+
result.format = "uri";
|
|
56
|
+
else if (check.kind === "regex")
|
|
57
|
+
result.pattern = check.regex.source;
|
|
58
|
+
}
|
|
59
|
+
return returnResult(result);
|
|
60
|
+
case z.ZodFirstPartyTypeKind.ZodNumber:
|
|
61
|
+
result.type = Type.NUMBER;
|
|
62
|
+
for (const check of def.checks || []) {
|
|
63
|
+
if (check.kind === "min")
|
|
64
|
+
result.minimum = check.value;
|
|
65
|
+
else if (check.kind === "max")
|
|
66
|
+
result.maximum = check.value;
|
|
67
|
+
else if (check.kind === "int")
|
|
68
|
+
result.type = Type.INTEGER;
|
|
69
|
+
}
|
|
70
|
+
return returnResult(result);
|
|
71
|
+
case z.ZodFirstPartyTypeKind.ZodBoolean:
|
|
72
|
+
result.type = Type.BOOLEAN;
|
|
73
|
+
return returnResult(result);
|
|
74
|
+
case z.ZodFirstPartyTypeKind.ZodArray:
|
|
75
|
+
result.type = Type.ARRAY;
|
|
76
|
+
result.items = parseZodType(def.type);
|
|
77
|
+
if (def.minLength) result.minItems = def.minLength.value.toString();
|
|
78
|
+
if (def.maxLength) result.maxItems = def.maxLength.value.toString();
|
|
79
|
+
return returnResult(result);
|
|
80
|
+
case z.ZodFirstPartyTypeKind.ZodObject: {
|
|
81
|
+
const nestedSchema = zodObjectToSchema(zodType);
|
|
82
|
+
return nestedSchema;
|
|
83
|
+
}
|
|
84
|
+
case z.ZodFirstPartyTypeKind.ZodLiteral:
|
|
85
|
+
const literalType = typeof def.value;
|
|
86
|
+
result.enum = [def.value.toString()];
|
|
87
|
+
if (literalType === "string") {
|
|
88
|
+
result.type = Type.STRING;
|
|
89
|
+
} else if (literalType === "number") {
|
|
90
|
+
result.type = Type.NUMBER;
|
|
91
|
+
} else if (literalType === "boolean") {
|
|
92
|
+
result.type = Type.BOOLEAN;
|
|
93
|
+
} else if (def.value === null) {
|
|
94
|
+
result.type = Type.NULL;
|
|
95
|
+
} else {
|
|
96
|
+
throw new Error("Unsupported ZodLiteral value type: ".concat(literalType));
|
|
97
|
+
}
|
|
98
|
+
return returnResult(result);
|
|
99
|
+
case z.ZodFirstPartyTypeKind.ZodEnum:
|
|
100
|
+
result.type = Type.STRING;
|
|
101
|
+
result.enum = def.values;
|
|
102
|
+
return returnResult(result);
|
|
103
|
+
case z.ZodFirstPartyTypeKind.ZodNativeEnum:
|
|
104
|
+
result.type = Type.STRING;
|
|
105
|
+
result.enum = Object.values(def.values);
|
|
106
|
+
return returnResult(result);
|
|
107
|
+
case z.ZodFirstPartyTypeKind.ZodUnion:
|
|
108
|
+
result.anyOf = def.options.map(parseZodType);
|
|
109
|
+
return returnResult(result);
|
|
110
|
+
case z.ZodFirstPartyTypeKind.ZodOptional:
|
|
111
|
+
return parseZodType(def.innerType);
|
|
112
|
+
case z.ZodFirstPartyTypeKind.ZodNullable:
|
|
113
|
+
const nullableInner = parseZodType(def.innerType);
|
|
114
|
+
return nullableInner ? returnResult(__spreadValues({
|
|
115
|
+
anyOf: [nullableInner, { type: Type.NULL }]
|
|
116
|
+
}, description && { description })) : returnResult(__spreadValues({ type: Type.NULL }, description && { description }));
|
|
117
|
+
case z.ZodFirstPartyTypeKind.ZodDefault:
|
|
118
|
+
const defaultInner = parseZodType(def.innerType);
|
|
119
|
+
if (defaultInner) defaultInner.default = def.defaultValue();
|
|
120
|
+
return defaultInner;
|
|
121
|
+
case z.ZodFirstPartyTypeKind.ZodBranded:
|
|
122
|
+
return parseZodType(def.type);
|
|
123
|
+
case z.ZodFirstPartyTypeKind.ZodReadonly:
|
|
124
|
+
return parseZodType(def.innerType);
|
|
125
|
+
case z.ZodFirstPartyTypeKind.ZodNull:
|
|
126
|
+
result.type = Type.NULL;
|
|
127
|
+
return returnResult(result);
|
|
128
|
+
case z.ZodFirstPartyTypeKind.ZodAny:
|
|
129
|
+
case z.ZodFirstPartyTypeKind.ZodUnknown:
|
|
130
|
+
return returnResult(__spreadValues({}, description && { description }));
|
|
131
|
+
default:
|
|
132
|
+
throw new Error("Unsupported Zod type: ".concat(def.typeName));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
function zodObjectToSchema(schema) {
|
|
136
|
+
if (schema._def.typeName !== z.ZodFirstPartyTypeKind.ZodObject) {
|
|
137
|
+
throw new Error("Expected a ZodObject");
|
|
138
|
+
}
|
|
139
|
+
const shape = schema.shape;
|
|
140
|
+
const properties = {};
|
|
141
|
+
const required = [];
|
|
142
|
+
for (const key in shape) {
|
|
143
|
+
const fieldSchema = shape[key];
|
|
144
|
+
const parsedField = parseZodType(fieldSchema);
|
|
145
|
+
if (parsedField) {
|
|
146
|
+
properties[key] = parsedField;
|
|
147
|
+
}
|
|
148
|
+
let currentSchema = fieldSchema;
|
|
149
|
+
let isOptional = false;
|
|
150
|
+
while (currentSchema._def.typeName === z.ZodFirstPartyTypeKind.ZodOptional || currentSchema._def.typeName === z.ZodFirstPartyTypeKind.ZodDefault) {
|
|
151
|
+
isOptional = true;
|
|
152
|
+
currentSchema = currentSchema._def.innerType;
|
|
153
|
+
}
|
|
154
|
+
if (!isOptional) {
|
|
155
|
+
required.push(key);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
const catchall = schema._def.catchall;
|
|
159
|
+
let additionalProperties = false;
|
|
160
|
+
if (catchall && catchall._def.typeName !== z.ZodFirstPartyTypeKind.ZodNever) {
|
|
161
|
+
additionalProperties = parseZodType(catchall) || true;
|
|
162
|
+
} else {
|
|
163
|
+
additionalProperties = schema._def.unknownKeys === "passthrough";
|
|
164
|
+
}
|
|
165
|
+
return __spreadValues({
|
|
166
|
+
type: Type.OBJECT,
|
|
167
|
+
properties,
|
|
168
|
+
required: required.length > 0 ? required : []
|
|
169
|
+
}, schema._def.description ? { description: schema._def.description } : {});
|
|
170
|
+
}
|
|
171
|
+
export {
|
|
172
|
+
isZodObject,
|
|
173
|
+
zodObjectToSchema
|
|
174
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
var GoogleLLMVariant = /* @__PURE__ */ ((GoogleLLMVariant2) => {
|
|
7
|
+
GoogleLLMVariant2["VERTEX_AI"] = "VERTEX_AI";
|
|
8
|
+
GoogleLLMVariant2["GEMINI_API"] = "GEMINI_API";
|
|
9
|
+
return GoogleLLMVariant2;
|
|
10
|
+
})(GoogleLLMVariant || {});
|
|
11
|
+
function getGoogleLlmVariant() {
|
|
12
|
+
return getBooleanEnvVar("GOOGLE_GENAI_USE_VERTEXAI") ? "VERTEX_AI" /* VERTEX_AI */ : "GEMINI_API" /* GEMINI_API */;
|
|
13
|
+
}
|
|
14
|
+
function getBooleanEnvVar(envVar) {
|
|
15
|
+
if (!process.env) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
const envVarValue = (process.env[envVar] || "").toLowerCase();
|
|
19
|
+
return ["true", "1"].includes(envVar.toLowerCase());
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
GoogleLLMVariant,
|
|
23
|
+
getGoogleLlmVariant
|
|
24
|
+
};
|