@softactivate/adk 1.1.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.
- package/LICENSE +202 -0
- package/README.md +3 -0
- package/dist/cjs/a2a/a2a_event.js +317 -0
- package/dist/cjs/a2a/a2a_remote_agent.js +179 -0
- package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +205 -0
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +165 -0
- package/dist/cjs/a2a/agent_card.js +380 -0
- package/dist/cjs/a2a/agent_executor.js +221 -0
- package/dist/cjs/a2a/agent_to_a2a.js +115 -0
- package/dist/cjs/a2a/event_converter_utils.js +201 -0
- package/dist/cjs/a2a/event_processor_utils.js +180 -0
- package/dist/cjs/a2a/executor_context.js +53 -0
- package/dist/cjs/a2a/metadata_converter_utils.js +126 -0
- package/dist/cjs/a2a/part_converter_utils.js +223 -0
- package/dist/cjs/agents/active_streaming_tool.js +44 -0
- package/dist/cjs/agents/base_agent.js +294 -0
- package/dist/cjs/agents/context.js +180 -0
- package/dist/cjs/agents/functions.js +525 -0
- package/dist/cjs/agents/instructions.js +110 -0
- package/dist/cjs/agents/invocation_context.js +110 -0
- package/dist/cjs/agents/live_request_queue.js +136 -0
- package/dist/cjs/agents/llm_agent.js +722 -0
- package/dist/cjs/agents/loop_agent.js +84 -0
- package/dist/cjs/agents/parallel_agent.js +95 -0
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +132 -0
- package/dist/cjs/agents/processors/base_llm_processor.js +44 -0
- package/dist/cjs/agents/processors/basic_llm_request_processor.js +68 -0
- package/dist/cjs/agents/processors/code_execution_request_processor.js +391 -0
- package/dist/cjs/agents/processors/content_processor_utils.js +338 -0
- package/dist/cjs/agents/processors/content_request_processor.js +87 -0
- package/dist/cjs/agents/processors/context_compactor_request_processor.js +70 -0
- package/dist/cjs/agents/processors/identity_llm_request_processor.js +54 -0
- package/dist/cjs/agents/processors/instructions_llm_request_processor.js +85 -0
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +165 -0
- package/dist/cjs/agents/processors/tool_filter_request_processor.js +73 -0
- package/dist/cjs/agents/readonly_context.js +83 -0
- package/dist/cjs/agents/routed_agent.js +97 -0
- package/dist/cjs/agents/run_config.js +71 -0
- package/dist/cjs/agents/sequential_agent.js +106 -0
- package/dist/cjs/agents/transcription_entry.js +27 -0
- package/dist/cjs/artifacts/base_artifact_service.js +27 -0
- package/dist/cjs/artifacts/file_artifact_service.js +522 -0
- package/dist/cjs/artifacts/gcs_artifact_service.js +227 -0
- package/dist/cjs/artifacts/in_memory_artifact_service.js +181 -0
- package/dist/cjs/artifacts/registry.js +55 -0
- package/dist/cjs/auth/auth_credential.js +46 -0
- package/dist/cjs/auth/auth_handler.js +159 -0
- package/dist/cjs/auth/auth_preprocessor.js +178 -0
- package/dist/cjs/auth/auth_provider_registry.js +61 -0
- package/dist/cjs/auth/auth_schemes.js +62 -0
- package/dist/cjs/auth/auth_tool.js +27 -0
- package/dist/cjs/auth/base_auth_provider.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/credential_service/session_state_credential_service.js +51 -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/auth/oauth2/oauth2_credential_exchanger.js +198 -0
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +109 -0
- package/dist/cjs/auth/oauth2/oauth2_discovery.js +186 -0
- package/dist/cjs/auth/oauth2/oauth2_utils.js +119 -0
- package/dist/cjs/auth/refresher/base_credential_refresher.js +44 -0
- package/dist/cjs/auth/refresher/credential_refresher_registry.js +68 -0
- package/dist/cjs/code_executors/base_code_executor.js +92 -0
- package/dist/cjs/code_executors/built_in_code_executor.js +74 -0
- package/dist/cjs/code_executors/code_execution_utils.js +161 -0
- package/dist/cjs/code_executors/code_executor_context.js +198 -0
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +241 -0
- package/dist/cjs/common.js +362 -0
- package/dist/cjs/context/base_context_compactor.js +27 -0
- package/dist/cjs/context/summarizers/base_summarizer.js +27 -0
- package/dist/cjs/context/summarizers/llm_summarizer.js +93 -0
- package/dist/cjs/context/token_based_context_compactor.js +135 -0
- package/dist/cjs/context/truncating_context_compactor.js +58 -0
- package/dist/cjs/events/compacted_event.js +53 -0
- package/dist/cjs/events/event.js +146 -0
- package/dist/cjs/events/event_actions.js +83 -0
- package/dist/cjs/events/structured_events.js +105 -0
- package/dist/cjs/examples/base_example_provider.js +56 -0
- package/dist/cjs/examples/example.js +27 -0
- package/dist/cjs/examples/example_util.js +107 -0
- package/dist/cjs/features/feature_registry.js +141 -0
- package/dist/cjs/index.js +94 -0
- 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 +99 -0
- package/dist/cjs/memory/memory_entry.js +27 -0
- package/dist/cjs/models/apigee_llm.js +182 -0
- package/dist/cjs/models/base_llm.js +102 -0
- package/dist/cjs/models/base_llm_connection.js +27 -0
- package/dist/cjs/models/gemini_llm_connection.js +133 -0
- package/dist/cjs/models/google_llm.js +291 -0
- package/dist/cjs/models/llm_request.js +82 -0
- package/dist/cjs/models/llm_response.js +73 -0
- package/dist/cjs/models/registry.js +123 -0
- package/dist/cjs/models/routed_llm.js +99 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/plugins/base_plugin.js +295 -0
- package/dist/cjs/plugins/logging_plugin.js +259 -0
- package/dist/cjs/plugins/plugin_manager.js +310 -0
- package/dist/cjs/plugins/security_plugin.js +156 -0
- package/dist/cjs/runner/in_memory_runner.js +58 -0
- package/dist/cjs/runner/runner.js +380 -0
- package/dist/cjs/sessions/base_session_service.js +121 -0
- package/dist/cjs/sessions/database_session_service.js +367 -0
- package/dist/cjs/sessions/db/operations.js +109 -0
- package/dist/cjs/sessions/db/schema.js +204 -0
- package/dist/cjs/sessions/in_memory_session_service.js +210 -0
- package/dist/cjs/sessions/registry.js +49 -0
- package/dist/cjs/sessions/session.js +48 -0
- package/dist/cjs/sessions/state.js +101 -0
- package/dist/cjs/skills/loader.js +283 -0
- package/dist/cjs/skills/prompt.js +58 -0
- package/dist/cjs/skills/skill.js +78 -0
- package/dist/cjs/telemetry/google_cloud.js +83 -0
- package/dist/cjs/telemetry/setup.js +105 -0
- package/dist/cjs/telemetry/tracing.js +253 -0
- package/dist/cjs/tools/agent_tool.js +219 -0
- package/dist/cjs/tools/base_tool.js +122 -0
- package/dist/cjs/tools/base_toolset.js +86 -0
- package/dist/cjs/tools/exit_loop_tool.js +63 -0
- package/dist/cjs/tools/forwarding_artifact_service.js +87 -0
- package/dist/cjs/tools/function_tool.js +109 -0
- package/dist/cjs/tools/google_maps_grounding_tool.js +80 -0
- package/dist/cjs/tools/google_search_tool.js +80 -0
- package/dist/cjs/tools/load_artifacts_tool.js +188 -0
- package/dist/cjs/tools/load_memory_tool.js +107 -0
- package/dist/cjs/tools/long_running_tool.js +63 -0
- package/dist/cjs/tools/mcp/mcp_session_manager.js +77 -0
- package/dist/cjs/tools/mcp/mcp_tool.js +68 -0
- package/dist/cjs/tools/mcp/mcp_toolset.js +80 -0
- package/dist/cjs/tools/preload_memory_tool.js +109 -0
- package/dist/cjs/tools/skill/list_skills_tool.js +76 -0
- package/dist/cjs/tools/skill/load_skill_resource_tool.js +225 -0
- package/dist/cjs/tools/skill/load_skill_tool.js +108 -0
- package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +146 -0
- package/dist/cjs/tools/skill/run_skill_script_tool.js +224 -0
- package/dist/cjs/tools/skill/skill_toolset.js +163 -0
- package/dist/cjs/tools/tool_confirmation.js +49 -0
- package/dist/cjs/tools/url_context_tool.js +73 -0
- package/dist/cjs/tools/vertex_ai_search_tool.js +127 -0
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +64 -0
- package/dist/cjs/utils/client_labels.js +56 -0
- package/dist/cjs/utils/env_aware_utils.js +92 -0
- package/dist/cjs/utils/experimental.js +74 -0
- package/dist/cjs/utils/failover_utils.js +93 -0
- package/dist/cjs/utils/file_extension_utils.js +77 -0
- package/dist/cjs/utils/file_utils.js +94 -0
- package/dist/cjs/utils/gemini_schema_util.js +152 -0
- package/dist/cjs/utils/logger.js +173 -0
- package/dist/cjs/utils/model_name.js +90 -0
- package/dist/cjs/utils/object_notation_utils.js +78 -0
- package/dist/cjs/utils/simple_zod_to_json.js +150 -0
- package/dist/cjs/utils/streaming_utils.js +330 -0
- package/dist/cjs/utils/variant_utils.js +49 -0
- package/dist/cjs/version.js +39 -0
- package/dist/esm/a2a/a2a_event.js +271 -0
- package/dist/esm/a2a/a2a_remote_agent.js +155 -0
- package/dist/esm/a2a/a2a_remote_agent_run_processor.js +184 -0
- package/dist/esm/a2a/a2a_remote_agent_utils.js +133 -0
- package/dist/esm/a2a/agent_card.js +342 -0
- package/dist/esm/a2a/agent_executor.js +204 -0
- package/dist/esm/a2a/agent_to_a2a.js +82 -0
- package/dist/esm/a2a/event_converter_utils.js +189 -0
- package/dist/esm/a2a/event_processor_utils.js +161 -0
- package/dist/esm/a2a/executor_context.js +25 -0
- package/dist/esm/a2a/metadata_converter_utils.js +93 -0
- package/dist/esm/a2a/part_converter_utils.js +188 -0
- package/dist/esm/agents/active_streaming_tool.js +16 -0
- package/dist/esm/agents/base_agent.js +268 -0
- package/dist/esm/agents/context.js +152 -0
- package/dist/esm/agents/functions.js +489 -0
- package/dist/esm/agents/instructions.js +82 -0
- package/dist/esm/agents/invocation_context.js +81 -0
- package/dist/esm/agents/live_request_queue.js +108 -0
- package/dist/esm/agents/llm_agent.js +708 -0
- package/dist/esm/agents/loop_agent.js +55 -0
- package/dist/esm/agents/parallel_agent.js +66 -0
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +103 -0
- package/dist/esm/agents/processors/base_llm_processor.js +15 -0
- package/dist/esm/agents/processors/basic_llm_request_processor.js +39 -0
- package/dist/esm/agents/processors/code_execution_request_processor.js +368 -0
- package/dist/esm/agents/processors/content_processor_utils.js +319 -0
- package/dist/esm/agents/processors/content_request_processor.js +61 -0
- package/dist/esm/agents/processors/context_compactor_request_processor.js +42 -0
- package/dist/esm/agents/processors/identity_llm_request_processor.js +25 -0
- package/dist/esm/agents/processors/instructions_llm_request_processor.js +56 -0
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +142 -0
- package/dist/esm/agents/processors/tool_filter_request_processor.js +44 -0
- package/dist/esm/agents/readonly_context.js +55 -0
- package/dist/esm/agents/routed_agent.js +70 -0
- package/dist/esm/agents/run_config.js +42 -0
- package/dist/esm/agents/sequential_agent.js +77 -0
- package/dist/esm/agents/transcription_entry.js +7 -0
- package/dist/esm/artifacts/base_artifact_service.js +7 -0
- package/dist/esm/artifacts/file_artifact_service.js +480 -0
- package/dist/esm/artifacts/gcs_artifact_service.js +199 -0
- package/dist/esm/artifacts/in_memory_artifact_service.js +152 -0
- package/dist/esm/artifacts/registry.js +30 -0
- package/dist/esm/auth/auth_credential.js +18 -0
- package/dist/esm/auth/auth_handler.js +131 -0
- package/dist/esm/auth/auth_preprocessor.js +155 -0
- package/dist/esm/auth/auth_provider_registry.js +33 -0
- package/dist/esm/auth/auth_schemes.js +33 -0
- package/dist/esm/auth/auth_tool.js +7 -0
- package/dist/esm/auth/base_auth_provider.js +7 -0
- package/dist/esm/auth/credential_service/base_credential_service.js +7 -0
- package/dist/esm/auth/credential_service/in_memory_credential_service.js +35 -0
- package/dist/esm/auth/credential_service/session_state_credential_service.js +23 -0
- package/dist/esm/auth/exchanger/base_credential_exchanger.js +12 -0
- package/dist/esm/auth/exchanger/credential_exchanger_registry.js +31 -0
- package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +177 -0
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +85 -0
- package/dist/esm/auth/oauth2/oauth2_discovery.js +156 -0
- package/dist/esm/auth/oauth2/oauth2_utils.js +87 -0
- package/dist/esm/auth/refresher/base_credential_refresher.js +16 -0
- package/dist/esm/auth/refresher/credential_refresher_registry.js +40 -0
- package/dist/esm/code_executors/base_code_executor.js +63 -0
- package/dist/esm/code_executors/built_in_code_executor.js +45 -0
- package/dist/esm/code_executors/code_execution_utils.js +127 -0
- package/dist/esm/code_executors/code_executor_context.js +170 -0
- package/dist/esm/code_executors/unsafe_local_code_executor.js +205 -0
- package/dist/esm/common.js +245 -0
- package/dist/esm/context/base_context_compactor.js +7 -0
- package/dist/esm/context/summarizers/base_summarizer.js +7 -0
- package/dist/esm/context/summarizers/llm_summarizer.js +67 -0
- package/dist/esm/context/token_based_context_compactor.js +107 -0
- package/dist/esm/context/truncating_context_compactor.js +30 -0
- package/dist/esm/events/compacted_event.js +24 -0
- package/dist/esm/events/event.js +110 -0
- package/dist/esm/events/event_actions.js +54 -0
- package/dist/esm/events/structured_events.js +76 -0
- package/dist/esm/examples/base_example_provider.js +27 -0
- package/dist/esm/examples/example.js +7 -0
- package/dist/esm/examples/example_util.js +80 -0
- package/dist/esm/features/feature_registry.js +107 -0
- package/dist/esm/index.js +50 -0
- package/dist/esm/index_web.js +8 -0
- package/dist/esm/memory/base_memory_service.js +7 -0
- package/dist/esm/memory/in_memory_memory_service.js +71 -0
- package/dist/esm/memory/memory_entry.js +7 -0
- package/dist/esm/models/apigee_llm.js +154 -0
- package/dist/esm/models/base_llm.js +73 -0
- package/dist/esm/models/base_llm_connection.js +7 -0
- package/dist/esm/models/gemini_llm_connection.js +105 -0
- package/dist/esm/models/google_llm.js +265 -0
- package/dist/esm/models/llm_request.js +52 -0
- package/dist/esm/models/llm_response.js +45 -0
- package/dist/esm/models/registry.js +95 -0
- package/dist/esm/models/routed_llm.js +73 -0
- package/dist/esm/plugins/base_plugin.js +268 -0
- package/dist/esm/plugins/logging_plugin.js +235 -0
- package/dist/esm/plugins/plugin_manager.js +282 -0
- package/dist/esm/plugins/security_plugin.js +124 -0
- package/dist/esm/runner/in_memory_runner.js +30 -0
- package/dist/esm/runner/runner.js +360 -0
- package/dist/esm/sessions/base_session_service.js +91 -0
- package/dist/esm/sessions/database_session_service.js +355 -0
- package/dist/esm/sessions/db/operations.js +96 -0
- package/dist/esm/sessions/db/schema.js +174 -0
- package/dist/esm/sessions/in_memory_session_service.js +184 -0
- package/dist/esm/sessions/registry.js +27 -0
- package/dist/esm/sessions/session.js +20 -0
- package/dist/esm/sessions/state.js +73 -0
- package/dist/esm/skills/loader.js +244 -0
- package/dist/esm/skills/prompt.js +30 -0
- package/dist/esm/skills/skill.js +49 -0
- package/dist/esm/telemetry/google_cloud.js +54 -0
- package/dist/esm/telemetry/setup.js +83 -0
- package/dist/esm/telemetry/tracing.js +219 -0
- package/dist/esm/tools/agent_tool.js +190 -0
- package/dist/esm/tools/base_tool.js +93 -0
- package/dist/esm/tools/base_toolset.js +57 -0
- package/dist/esm/tools/exit_loop_tool.js +34 -0
- package/dist/esm/tools/forwarding_artifact_service.js +59 -0
- package/dist/esm/tools/function_tool.js +80 -0
- package/dist/esm/tools/google_maps_grounding_tool.js +54 -0
- package/dist/esm/tools/google_search_tool.js +51 -0
- package/dist/esm/tools/load_artifacts_tool.js +161 -0
- package/dist/esm/tools/load_memory_tool.js +80 -0
- package/dist/esm/tools/long_running_tool.js +37 -0
- package/dist/esm/tools/mcp/mcp_session_manager.js +53 -0
- package/dist/esm/tools/mcp/mcp_tool.js +40 -0
- package/dist/esm/tools/mcp/mcp_toolset.js +52 -0
- package/dist/esm/tools/preload_memory_tool.js +82 -0
- package/dist/esm/tools/skill/list_skills_tool.js +50 -0
- package/dist/esm/tools/skill/load_skill_resource_tool.js +191 -0
- package/dist/esm/tools/skill/load_skill_tool.js +82 -0
- package/dist/esm/tools/skill/run_skill_inline_script_tool.js +120 -0
- package/dist/esm/tools/skill/run_skill_script_tool.js +192 -0
- package/dist/esm/tools/skill/skill_toolset.js +137 -0
- package/dist/esm/tools/tool_confirmation.js +21 -0
- package/dist/esm/tools/url_context_tool.js +44 -0
- package/dist/esm/tools/vertex_ai_search_tool.js +103 -0
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +36 -0
- package/dist/esm/utils/client_labels.js +28 -0
- package/dist/esm/utils/env_aware_utils.js +59 -0
- package/dist/esm/utils/experimental.js +46 -0
- package/dist/esm/utils/failover_utils.js +65 -0
- package/dist/esm/utils/file_extension_utils.js +51 -0
- package/dist/esm/utils/file_utils.js +56 -0
- package/dist/esm/utils/gemini_schema_util.js +124 -0
- package/dist/esm/utils/logger.js +130 -0
- package/dist/esm/utils/model_name.js +58 -0
- package/dist/esm/utils/object_notation_utils.js +49 -0
- package/dist/esm/utils/simple_zod_to_json.js +123 -0
- package/dist/esm/utils/streaming_utils.js +304 -0
- package/dist/esm/utils/variant_utils.js +20 -0
- package/dist/esm/version.js +11 -0
- package/dist/types/a2a/a2a_event.d.ts +139 -0
- package/dist/types/a2a/a2a_remote_agent.d.ts +67 -0
- package/dist/types/a2a/a2a_remote_agent_run_processor.d.ts +31 -0
- package/dist/types/a2a/a2a_remote_agent_utils.d.ts +38 -0
- package/dist/types/a2a/agent_card.d.ts +23 -0
- package/dist/types/a2a/agent_executor.d.ts +52 -0
- package/dist/types/a2a/agent_to_a2a.d.ts +45 -0
- package/dist/types/a2a/event_converter_utils.d.ts +20 -0
- package/dist/types/a2a/event_processor_utils.d.ts +24 -0
- package/dist/types/a2a/executor_context.d.ts +33 -0
- package/dist/types/a2a/metadata_converter_utils.d.ts +63 -0
- package/dist/types/a2a/part_converter_utils.d.ts +48 -0
- package/dist/types/agents/active_streaming_tool.d.ts +29 -0
- package/dist/types/agents/base_agent.d.ts +194 -0
- package/dist/types/agents/context.d.ts +99 -0
- package/dist/types/agents/functions.d.ts +112 -0
- package/dist/types/agents/instructions.d.ts +32 -0
- package/dist/types/agents/invocation_context.d.ts +162 -0
- package/dist/types/agents/live_request_queue.d.ts +67 -0
- package/dist/types/agents/llm_agent.d.ts +351 -0
- package/dist/types/agents/loop_agent.d.ts +47 -0
- package/dist/types/agents/parallel_agent.d.ts +37 -0
- package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +18 -0
- package/dist/types/agents/processors/base_llm_processor.d.ts +27 -0
- package/dist/types/agents/processors/basic_llm_request_processor.d.ts +13 -0
- package/dist/types/agents/processors/code_execution_request_processor.d.ts +34 -0
- package/dist/types/agents/processors/content_processor_utils.d.ts +36 -0
- package/dist/types/agents/processors/content_request_processor.d.ts +13 -0
- package/dist/types/agents/processors/context_compactor_request_processor.d.ts +22 -0
- package/dist/types/agents/processors/identity_llm_request_processor.d.ts +13 -0
- package/dist/types/agents/processors/instructions_llm_request_processor.d.ts +16 -0
- package/dist/types/agents/processors/request_confirmation_llm_request_processor.d.ts +13 -0
- package/dist/types/agents/processors/tool_filter_request_processor.d.ts +14 -0
- package/dist/types/agents/readonly_context.d.ts +39 -0
- package/dist/types/agents/routed_agent.d.ts +59 -0
- package/dist/types/agents/run_config.d.ts +94 -0
- package/dist/types/agents/sequential_agent.d.ts +42 -0
- package/dist/types/agents/transcription_entry.d.ts +17 -0
- package/dist/types/artifacts/base_artifact_service.d.ts +158 -0
- package/dist/types/artifacts/file_artifact_service.d.ts +47 -0
- package/dist/types/artifacts/gcs_artifact_service.d.ts +18 -0
- package/dist/types/artifacts/in_memory_artifact_service.d.ts +21 -0
- package/dist/types/artifacts/registry.d.ts +7 -0
- package/dist/types/auth/auth_credential.d.ts +244 -0
- package/dist/types/auth/auth_handler.d.ts +28 -0
- package/dist/types/auth/auth_preprocessor.d.ts +12 -0
- package/dist/types/auth/auth_provider_registry.d.ts +27 -0
- package/dist/types/auth/auth_schemes.d.ts +39 -0
- package/dist/types/auth/auth_tool.d.ts +51 -0
- package/dist/types/auth/base_auth_provider.d.ts +20 -0
- package/dist/types/auth/credential_service/base_credential_service.d.ts +27 -0
- package/dist/types/auth/credential_service/in_memory_credential_service.d.ts +19 -0
- package/dist/types/auth/credential_service/session_state_credential_service.d.ts +20 -0
- package/dist/types/auth/exchanger/base_credential_exchanger.d.ts +39 -0
- package/dist/types/auth/exchanger/credential_exchanger_registry.d.ts +28 -0
- package/dist/types/auth/oauth2/oauth2_credential_exchanger.d.ts +26 -0
- package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +29 -0
- package/dist/types/auth/oauth2/oauth2_discovery.d.ts +38 -0
- package/dist/types/auth/oauth2/oauth2_utils.d.ts +56 -0
- package/dist/types/auth/refresher/base_credential_refresher.d.ts +38 -0
- package/dist/types/auth/refresher/credential_refresher_registry.d.ts +27 -0
- package/dist/types/code_executors/base_code_executor.d.ts +74 -0
- package/dist/types/code_executors/built_in_code_executor.d.ts +32 -0
- package/dist/types/code_executors/code_execution_utils.d.ts +127 -0
- package/dist/types/code_executors/code_executor_context.d.ts +85 -0
- package/dist/types/code_executors/unsafe_local_code_executor.d.ts +48 -0
- package/dist/types/common.d.ts +137 -0
- package/dist/types/context/base_context_compactor.d.ts +24 -0
- package/dist/types/context/summarizers/base_summarizer.d.ts +19 -0
- package/dist/types/context/summarizers/llm_summarizer.d.ts +23 -0
- package/dist/types/context/token_based_context_compactor.d.ts +33 -0
- package/dist/types/context/truncating_context_compactor.d.ts +24 -0
- package/dist/types/events/compacted_event.d.ts +33 -0
- package/dist/types/events/event.d.ts +102 -0
- package/dist/types/events/event_actions.d.ts +74 -0
- package/dist/types/events/structured_events.d.ts +106 -0
- package/dist/types/examples/base_example_provider.d.ts +36 -0
- package/dist/types/examples/example.d.ts +19 -0
- package/dist/types/examples/example_util.d.ts +13 -0
- package/dist/types/features/feature_registry.d.ts +66 -0
- package/dist/types/index.d.ts +28 -0
- package/dist/types/index_web.d.ts +6 -0
- package/dist/types/memory/base_memory_service.d.ts +53 -0
- package/dist/types/memory/in_memory_memory_service.d.ts +18 -0
- package/dist/types/memory/memory_entry.d.ts +30 -0
- package/dist/types/models/apigee_llm.d.ts +59 -0
- package/dist/types/models/base_llm.d.ts +66 -0
- package/dist/types/models/base_llm_connection.d.ts +51 -0
- package/dist/types/models/gemini_llm_connection.d.ts +54 -0
- package/dist/types/models/google_llm.d.ts +90 -0
- package/dist/types/models/llm_request.d.ts +53 -0
- package/dist/types/models/llm_response.d.ts +83 -0
- package/dist/types/models/registry.d.ts +49 -0
- package/dist/types/models/routed_llm.d.ts +38 -0
- package/dist/types/plugins/base_plugin.d.ts +368 -0
- package/dist/types/plugins/logging_plugin.d.ts +103 -0
- package/dist/types/plugins/plugin_manager.d.ts +175 -0
- package/dist/types/plugins/security_plugin.d.ts +60 -0
- package/dist/types/runner/in_memory_runner.d.ts +15 -0
- package/dist/types/runner/runner.d.ts +117 -0
- package/dist/types/sessions/base_session_service.d.ts +149 -0
- package/dist/types/sessions/database_session_service.d.ts +32 -0
- package/dist/types/sessions/db/operations.d.ts +28 -0
- package/dist/types/sessions/db/schema.d.ts +45 -0
- package/dist/types/sessions/in_memory_session_service.d.ts +30 -0
- package/dist/types/sessions/registry.d.ts +7 -0
- package/dist/types/sessions/session.d.ts +46 -0
- package/dist/types/sessions/state.d.ts +57 -0
- package/dist/types/skills/loader.d.ts +38 -0
- package/dist/types/skills/prompt.d.ts +13 -0
- package/dist/types/skills/skill.d.ts +48 -0
- package/dist/types/telemetry/google_cloud.d.ts +9 -0
- package/dist/types/telemetry/setup.d.ts +48 -0
- package/dist/types/telemetry/tracing.d.ts +112 -0
- package/dist/types/tools/agent_tool.d.ts +73 -0
- package/dist/types/tools/base_tool.d.ts +98 -0
- package/dist/types/tools/base_toolset.d.ts +74 -0
- package/dist/types/tools/exit_loop_tool.d.ts +24 -0
- package/dist/types/tools/forwarding_artifact_service.d.ts +23 -0
- package/dist/types/tools/function_tool.d.ts +62 -0
- package/dist/types/tools/google_maps_grounding_tool.d.ts +22 -0
- package/dist/types/tools/google_search_tool.d.ts +17 -0
- package/dist/types/tools/load_artifacts_tool.d.ts +21 -0
- package/dist/types/tools/load_memory_tool.d.ts +22 -0
- package/dist/types/tools/long_running_tool.d.ts +18 -0
- package/dist/types/tools/mcp/mcp_session_manager.d.ts +64 -0
- package/dist/types/tools/mcp/mcp_tool.d.ts +36 -0
- package/dist/types/tools/mcp/mcp_toolset.d.ts +44 -0
- package/dist/types/tools/preload_memory_tool.d.ts +23 -0
- package/dist/types/tools/skill/list_skills_tool.d.ts +14 -0
- package/dist/types/tools/skill/load_skill_resource_tool.d.ts +15 -0
- package/dist/types/tools/skill/load_skill_tool.d.ts +14 -0
- package/dist/types/tools/skill/run_skill_inline_script_tool.d.ts +14 -0
- package/dist/types/tools/skill/run_skill_script_tool.d.ts +17 -0
- package/dist/types/tools/skill/skill_toolset.d.ts +28 -0
- package/dist/types/tools/tool_confirmation.d.ts +25 -0
- package/dist/types/tools/url_context_tool.d.ts +17 -0
- package/dist/types/tools/vertex_ai_search_tool.d.ts +55 -0
- package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +42 -0
- package/dist/types/utils/client_labels.d.ts +9 -0
- package/dist/types/utils/env_aware_utils.d.ts +38 -0
- package/dist/types/utils/experimental.d.ts +11 -0
- package/dist/types/utils/failover_utils.d.ts +17 -0
- package/dist/types/utils/file_extension_utils.d.ts +21 -0
- package/dist/types/utils/file_utils.d.ts +11 -0
- package/dist/types/utils/gemini_schema_util.d.ts +15 -0
- package/dist/types/utils/logger.d.ts +38 -0
- package/dist/types/utils/model_name.d.ts +38 -0
- package/dist/types/utils/object_notation_utils.d.ts +21 -0
- package/dist/types/utils/simple_zod_to_json.d.ts +13 -0
- package/dist/types/utils/streaming_utils.d.ts +40 -0
- package/dist/types/utils/variant_utils.d.ts +24 -0
- package/dist/types/version.d.ts +6 -0
- package/dist/web/a2a/a2a_event.js +271 -0
- package/dist/web/a2a/a2a_remote_agent.js +186 -0
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +184 -0
- package/dist/web/a2a/a2a_remote_agent_utils.js +133 -0
- package/dist/web/a2a/agent_card.js +342 -0
- package/dist/web/a2a/agent_executor.js +218 -0
- package/dist/web/a2a/agent_to_a2a.js +82 -0
- package/dist/web/a2a/event_converter_utils.js +203 -0
- package/dist/web/a2a/event_processor_utils.js +170 -0
- package/dist/web/a2a/executor_context.js +25 -0
- package/dist/web/a2a/metadata_converter_utils.js +110 -0
- package/dist/web/a2a/part_converter_utils.js +188 -0
- package/dist/web/agents/active_streaming_tool.js +16 -0
- package/dist/web/agents/base_agent.js +354 -0
- package/dist/web/agents/context.js +152 -0
- package/dist/web/agents/functions.js +520 -0
- package/dist/web/agents/instructions.js +82 -0
- package/dist/web/agents/invocation_context.js +81 -0
- package/dist/web/agents/live_request_queue.js +126 -0
- package/dist/web/agents/llm_agent.js +907 -0
- package/dist/web/agents/loop_agent.js +88 -0
- package/dist/web/agents/parallel_agent.js +101 -0
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +102 -0
- package/dist/web/agents/processors/base_llm_processor.js +15 -0
- package/dist/web/agents/processors/basic_llm_request_processor.js +73 -0
- package/dist/web/agents/processors/code_execution_request_processor.js +370 -0
- package/dist/web/agents/processors/content_processor_utils.js +318 -0
- package/dist/web/agents/processors/content_request_processor.js +79 -0
- package/dist/web/agents/processors/context_compactor_request_processor.js +60 -0
- package/dist/web/agents/processors/identity_llm_request_processor.js +43 -0
- package/dist/web/agents/processors/instructions_llm_request_processor.js +74 -0
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +160 -0
- package/dist/web/agents/processors/tool_filter_request_processor.js +62 -0
- package/dist/web/agents/readonly_context.js +55 -0
- package/dist/web/agents/routed_agent.js +138 -0
- package/dist/web/agents/run_config.js +57 -0
- package/dist/web/agents/sequential_agent.js +122 -0
- package/dist/web/agents/transcription_entry.js +7 -0
- package/dist/web/artifacts/base_artifact_service.js +7 -0
- package/dist/web/artifacts/file_artifact_service.js +535 -0
- package/dist/web/artifacts/gcs_artifact_service.js +213 -0
- package/dist/web/artifacts/in_memory_artifact_service.js +152 -0
- package/dist/web/artifacts/registry.js +30 -0
- package/dist/web/auth/auth_credential.js +18 -0
- package/dist/web/auth/auth_handler.js +148 -0
- package/dist/web/auth/auth_preprocessor.js +173 -0
- package/dist/web/auth/auth_provider_registry.js +33 -0
- package/dist/web/auth/auth_schemes.js +33 -0
- package/dist/web/auth/auth_tool.js +7 -0
- package/dist/web/auth/base_auth_provider.js +7 -0
- package/dist/web/auth/credential_service/base_credential_service.js +7 -0
- package/dist/web/auth/credential_service/in_memory_credential_service.js +35 -0
- package/dist/web/auth/credential_service/session_state_credential_service.js +23 -0
- package/dist/web/auth/exchanger/base_credential_exchanger.js +12 -0
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +31 -0
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +188 -0
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +102 -0
- package/dist/web/auth/oauth2/oauth2_discovery.js +156 -0
- package/dist/web/auth/oauth2/oauth2_utils.js +87 -0
- package/dist/web/auth/refresher/base_credential_refresher.js +16 -0
- package/dist/web/auth/refresher/credential_refresher_registry.js +40 -0
- package/dist/web/code_executors/base_code_executor.js +63 -0
- package/dist/web/code_executors/built_in_code_executor.js +45 -0
- package/dist/web/code_executors/code_execution_utils.js +124 -0
- package/dist/web/code_executors/code_executor_context.js +170 -0
- package/dist/web/code_executors/unsafe_local_code_executor.js +203 -0
- package/dist/web/common.js +245 -0
- package/dist/web/context/base_context_compactor.js +7 -0
- package/dist/web/context/summarizers/base_summarizer.js +7 -0
- package/dist/web/context/summarizers/llm_summarizer.js +76 -0
- package/dist/web/context/token_based_context_compactor.js +107 -0
- package/dist/web/context/truncating_context_compactor.js +30 -0
- package/dist/web/events/compacted_event.js +42 -0
- package/dist/web/events/event.js +128 -0
- package/dist/web/events/event_actions.js +69 -0
- package/dist/web/events/structured_events.js +76 -0
- package/dist/web/examples/base_example_provider.js +27 -0
- package/dist/web/examples/example.js +7 -0
- package/dist/web/examples/example_util.js +79 -0
- package/dist/web/features/feature_registry.js +107 -0
- package/dist/web/index.js +50 -0
- package/dist/web/index_web.js +8 -0
- package/dist/web/memory/base_memory_service.js +7 -0
- package/dist/web/memory/in_memory_memory_service.js +71 -0
- package/dist/web/memory/memory_entry.js +7 -0
- package/dist/web/models/apigee_llm.js +221 -0
- package/dist/web/models/base_llm.js +73 -0
- package/dist/web/models/base_llm_connection.js +7 -0
- package/dist/web/models/gemini_llm_connection.js +123 -0
- package/dist/web/models/google_llm.js +321 -0
- package/dist/web/models/llm_request.js +52 -0
- package/dist/web/models/llm_response.js +45 -0
- package/dist/web/models/registry.js +95 -0
- package/dist/web/models/routed_llm.js +122 -0
- package/dist/web/plugins/base_plugin.js +268 -0
- package/dist/web/plugins/logging_plugin.js +235 -0
- package/dist/web/plugins/plugin_manager.js +282 -0
- package/dist/web/plugins/security_plugin.js +124 -0
- package/dist/web/runner/in_memory_runner.js +30 -0
- package/dist/web/runner/runner.js +426 -0
- package/dist/web/sessions/base_session_service.js +91 -0
- package/dist/web/sessions/database_session_service.js +373 -0
- package/dist/web/sessions/db/operations.js +96 -0
- package/dist/web/sessions/db/schema.js +174 -0
- package/dist/web/sessions/in_memory_session_service.js +184 -0
- package/dist/web/sessions/registry.js +27 -0
- package/dist/web/sessions/session.js +20 -0
- package/dist/web/sessions/state.js +89 -0
- package/dist/web/skills/loader.js +262 -0
- package/dist/web/skills/prompt.js +30 -0
- package/dist/web/skills/skill.js +67 -0
- package/dist/web/telemetry/google_cloud.js +54 -0
- package/dist/web/telemetry/setup.js +83 -0
- package/dist/web/telemetry/tracing.js +234 -0
- package/dist/web/tools/agent_tool.js +233 -0
- package/dist/web/tools/base_tool.js +93 -0
- package/dist/web/tools/base_toolset.js +57 -0
- package/dist/web/tools/exit_loop_tool.js +34 -0
- package/dist/web/tools/forwarding_artifact_service.js +59 -0
- package/dist/web/tools/function_tool.js +80 -0
- package/dist/web/tools/google_maps_grounding_tool.js +54 -0
- package/dist/web/tools/google_search_tool.js +51 -0
- package/dist/web/tools/load_artifacts_tool.js +152 -0
- package/dist/web/tools/load_memory_tool.js +79 -0
- package/dist/web/tools/long_running_tool.js +54 -0
- package/dist/web/tools/mcp/mcp_session_manager.js +53 -0
- package/dist/web/tools/mcp/mcp_tool.js +40 -0
- package/dist/web/tools/mcp/mcp_toolset.js +70 -0
- package/dist/web/tools/preload_memory_tool.js +77 -0
- package/dist/web/tools/skill/list_skills_tool.js +50 -0
- package/dist/web/tools/skill/load_skill_resource_tool.js +191 -0
- package/dist/web/tools/skill/load_skill_tool.js +82 -0
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +120 -0
- package/dist/web/tools/skill/run_skill_script_tool.js +190 -0
- package/dist/web/tools/skill/skill_toolset.js +123 -0
- package/dist/web/tools/tool_confirmation.js +21 -0
- package/dist/web/tools/url_context_tool.js +44 -0
- package/dist/web/tools/vertex_ai_search_tool.js +103 -0
- package/dist/web/tools/vertex_rag_retrieval_tool.js +36 -0
- package/dist/web/utils/client_labels.js +28 -0
- package/dist/web/utils/env_aware_utils.js +59 -0
- package/dist/web/utils/experimental.js +46 -0
- package/dist/web/utils/failover_utils.js +96 -0
- package/dist/web/utils/file_extension_utils.js +51 -0
- package/dist/web/utils/file_utils.js +74 -0
- package/dist/web/utils/gemini_schema_util.js +155 -0
- package/dist/web/utils/logger.js +130 -0
- package/dist/web/utils/model_name.js +58 -0
- package/dist/web/utils/object_notation_utils.js +49 -0
- package/dist/web/utils/simple_zod_to_json.js +123 -0
- package/dist/web/utils/streaming_utils.js +322 -0
- package/dist/web/utils/variant_utils.js +20 -0
- package/dist/web/version.js +11 -0
- package/package.json +84 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Feature names.
|
|
8
|
+
*/
|
|
9
|
+
export declare enum FeatureName {
|
|
10
|
+
PROGRESSIVE_SSE_STREAMING = "PROGRESSIVE_SSE_STREAMING"
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Feature lifecycle stages.
|
|
14
|
+
*/
|
|
15
|
+
export declare enum FeatureStage {
|
|
16
|
+
WIP = "wip",
|
|
17
|
+
EXPERIMENTAL = "experimental",
|
|
18
|
+
STABLE = "stable"
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Feature configuration.
|
|
22
|
+
*/
|
|
23
|
+
export interface FeatureConfig {
|
|
24
|
+
stage: FeatureStage;
|
|
25
|
+
defaultOn: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get the configuration of a feature from the registry.
|
|
29
|
+
*
|
|
30
|
+
* @param featureName The feature name.
|
|
31
|
+
* @returns The feature config from the registry, or undefined if not found.
|
|
32
|
+
*/
|
|
33
|
+
export declare function getFeatureConfig(featureName: FeatureName): FeatureConfig | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Register a feature with a specific config.
|
|
36
|
+
*
|
|
37
|
+
* @param featureName The feature name.
|
|
38
|
+
* @param config The feature config to register.
|
|
39
|
+
*/
|
|
40
|
+
export declare function registerFeature(featureName: FeatureName, config: FeatureConfig): void;
|
|
41
|
+
/**
|
|
42
|
+
* Programmatically override a feature's enabled state.
|
|
43
|
+
*
|
|
44
|
+
* This override takes highest priority, superseding environment variables
|
|
45
|
+
* and registry defaults.
|
|
46
|
+
*
|
|
47
|
+
* @param featureName The feature name to override.
|
|
48
|
+
* @param enabled Whether the feature should be enabled.
|
|
49
|
+
*/
|
|
50
|
+
export declare function overrideFeatureEnabled(featureName: FeatureName, enabled: boolean | undefined): void;
|
|
51
|
+
/**
|
|
52
|
+
* Check if a feature is enabled at runtime.
|
|
53
|
+
*
|
|
54
|
+
* Priority order (highest to lowest):
|
|
55
|
+
* 1. Programmatic overrides
|
|
56
|
+
* 2. Environment variables (ADK_ENABLE_* / ADK_DISABLE_*)
|
|
57
|
+
* 3. Registry defaults
|
|
58
|
+
*
|
|
59
|
+
* @param featureName The feature name.
|
|
60
|
+
* @returns True if the feature is enabled, false otherwise.
|
|
61
|
+
*/
|
|
62
|
+
export declare function isFeatureEnabled(featureName: FeatureName): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Temporarily overrides a feature for the duration of a callback.
|
|
65
|
+
*/
|
|
66
|
+
export declare function withTemporaryFeatureOverride<T>(featureName: FeatureName, enabled: boolean, callback: () => Promise<T> | T): Promise<T>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export { AGENT_CARD_PATH, RemoteA2AAgent } from './a2a/a2a_remote_agent.js';
|
|
7
|
+
export type { A2AStreamEventData, AfterA2ARequestCallback, BeforeA2ARequestCallback, RemoteA2AAgentConfig, } from './a2a/a2a_remote_agent.js';
|
|
8
|
+
export { getA2AAgentCard } from './a2a/agent_card.js';
|
|
9
|
+
export { A2AAgentExecutor } from './a2a/agent_executor.js';
|
|
10
|
+
export type { AfterEventCallback, AfterExecuteCallback, AgentExecutorConfig, BeforeExecuteCallback, RunnerOrRunnerConfig, } from './a2a/agent_executor.js';
|
|
11
|
+
export { toA2a } from './a2a/agent_to_a2a.js';
|
|
12
|
+
export type { ToA2aOptions } from './a2a/agent_to_a2a.js';
|
|
13
|
+
export type { ExecutorContext } from './a2a/executor_context.js';
|
|
14
|
+
export { FileArtifactService } from './artifacts/file_artifact_service.js';
|
|
15
|
+
export { GcsArtifactService } from './artifacts/gcs_artifact_service.js';
|
|
16
|
+
export { getArtifactServiceFromUri } from './artifacts/registry.js';
|
|
17
|
+
export { UnsafeLocalCodeExecutor, type UnsafeLocalCodeExecutorOptions, } from './code_executors/unsafe_local_code_executor.js';
|
|
18
|
+
export * from './common.js';
|
|
19
|
+
export { DatabaseSessionService } from './sessions/database_session_service.js';
|
|
20
|
+
export { getSessionServiceFromUri } from './sessions/registry.js';
|
|
21
|
+
export { loadAllSkillsInDir, loadSkillFromDir, validateSkillDir, } from './skills/loader.js';
|
|
22
|
+
export { RunSkillInlineScriptTool } from './tools/skill/run_skill_inline_script_tool.js';
|
|
23
|
+
export { RunSkillScriptTool } from './tools/skill/run_skill_script_tool.js';
|
|
24
|
+
export * from './telemetry/google_cloud.js';
|
|
25
|
+
export * from './telemetry/setup.js';
|
|
26
|
+
export * from './tools/mcp/mcp_session_manager.js';
|
|
27
|
+
export * from './tools/mcp/mcp_tool.js';
|
|
28
|
+
export * from './tools/mcp/mcp_toolset.js';
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Session } from '../sessions/session.js';
|
|
7
|
+
import { MemoryEntry } from './memory_entry.js';
|
|
8
|
+
/**
|
|
9
|
+
* Represents the response from a memory search.
|
|
10
|
+
*/
|
|
11
|
+
export interface SearchMemoryResponse {
|
|
12
|
+
/**
|
|
13
|
+
* A list of memory entries that are related to the search query.
|
|
14
|
+
*/
|
|
15
|
+
memories: MemoryEntry[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The parameters for `searchMemory`.
|
|
19
|
+
*/
|
|
20
|
+
export interface SearchMemoryRequest {
|
|
21
|
+
/** The app name associated with the memory to search. */
|
|
22
|
+
appName: string;
|
|
23
|
+
/** The user ID whose memory is being searched. */
|
|
24
|
+
userId: string;
|
|
25
|
+
/**
|
|
26
|
+
* The natural language query used to retrieve relevant memories.
|
|
27
|
+
* Implementations may use keyword matching or semantic search.
|
|
28
|
+
*/
|
|
29
|
+
query: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Base interface for memory services.
|
|
33
|
+
*
|
|
34
|
+
* The service provides functionalities to ingest sessions into memory so that
|
|
35
|
+
* the memory can be used for user queries.
|
|
36
|
+
*/
|
|
37
|
+
export interface BaseMemoryService {
|
|
38
|
+
/**
|
|
39
|
+
* Adds a session to the memory.
|
|
40
|
+
*
|
|
41
|
+
* @param session The session to add to the memory.
|
|
42
|
+
* @return A promise that resolves when the session is added to the memory.
|
|
43
|
+
*/
|
|
44
|
+
addSessionToMemory(session: Session): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Searches for sessions that match the query.
|
|
47
|
+
*
|
|
48
|
+
* @param request The request to search memory.
|
|
49
|
+
* @return A promise that resolves to SearchMemoryResponse containing the
|
|
50
|
+
* matching memories.
|
|
51
|
+
*/
|
|
52
|
+
searchMemory(request: SearchMemoryRequest): Promise<SearchMemoryResponse>;
|
|
53
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Session } from '../sessions/session.js';
|
|
7
|
+
import { BaseMemoryService, SearchMemoryRequest, SearchMemoryResponse } from './base_memory_service.js';
|
|
8
|
+
/**
|
|
9
|
+
* An in-memory memory service for prototyping purpose only.
|
|
10
|
+
*
|
|
11
|
+
* Uses keyword matching instead of semantic search.
|
|
12
|
+
*/
|
|
13
|
+
export declare class InMemoryMemoryService implements BaseMemoryService {
|
|
14
|
+
private readonly memories;
|
|
15
|
+
private readonly sessionEvents;
|
|
16
|
+
addSessionToMemory(session: Session): Promise<void>;
|
|
17
|
+
searchMemory(req: SearchMemoryRequest): Promise<SearchMemoryResponse>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Content } from '@google/genai';
|
|
7
|
+
/**
|
|
8
|
+
* Represents one memory entry retrieved from a memory service.
|
|
9
|
+
*
|
|
10
|
+
* Memory entries are created from session events and surfaced to the agent
|
|
11
|
+
* to provide relevant context from past interactions.
|
|
12
|
+
*/
|
|
13
|
+
export interface MemoryEntry {
|
|
14
|
+
/**
|
|
15
|
+
* The content of the memory entry, as originally produced during a session.
|
|
16
|
+
*/
|
|
17
|
+
content: Content;
|
|
18
|
+
/**
|
|
19
|
+
* The author of the memory. Common values are `'user'` and `'model'`, but
|
|
20
|
+
* this can also be the name of an agent when the content was produced by a
|
|
21
|
+
* named sub-agent.
|
|
22
|
+
*/
|
|
23
|
+
author?: string;
|
|
24
|
+
/**
|
|
25
|
+
* The time when the original content was produced.
|
|
26
|
+
* Forwarded to the LLM as part of the memory context.
|
|
27
|
+
* Preferred format is ISO 8601 (e.g. `'2024-01-15T10:30:00.000Z'`).
|
|
28
|
+
*/
|
|
29
|
+
timestamp?: string;
|
|
30
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { HttpOptions } from '@google/genai';
|
|
7
|
+
import { BaseLlmConnection } from './base_llm_connection.js';
|
|
8
|
+
import { Gemini, GeminiParams } from './google_llm.js';
|
|
9
|
+
import { LlmRequest } from './llm_request.js';
|
|
10
|
+
import { LlmResponse } from './llm_response.js';
|
|
11
|
+
export interface ApigeeLlmParams extends GeminiParams {
|
|
12
|
+
/**
|
|
13
|
+
* The name of the model to use. The model string specifies the LLM provider
|
|
14
|
+
* (e.g., Vertex AI, Gemini), API version, and the model ID. Supported format:
|
|
15
|
+
* `apigee/[<provider>/][<version>/]<model_id>`
|
|
16
|
+
* Components:
|
|
17
|
+
* `provider` (optional): `vertex_ai` or `gemini`.
|
|
18
|
+
* `version` (optional): The API version (e.g., `v1`, `v1beta`). If not
|
|
19
|
+
* provided, a default version will selected based on the provider.
|
|
20
|
+
* `model_id` (required): The model identifier (e.g.,
|
|
21
|
+
* `gemini-2.5-flash`).
|
|
22
|
+
* Examples:
|
|
23
|
+
* - `apigee/gemini-2.5-flash`
|
|
24
|
+
* - `apigee/v1/gemini-2.5-flash`
|
|
25
|
+
* - `apigee/vertex_ai/gemini-2.5-flash`
|
|
26
|
+
* - `apigee/gemini/v1/gemini-2.5-flash`
|
|
27
|
+
* - `apigee/vertex_ai/v1beta/gemini-2.5-flash`
|
|
28
|
+
*/
|
|
29
|
+
model: string;
|
|
30
|
+
/**
|
|
31
|
+
* The proxy URL for the provider API. If not provided, it will look for
|
|
32
|
+
* the APIGEE_PROXY_URL environment variable.
|
|
33
|
+
*/
|
|
34
|
+
proxyUrl?: string;
|
|
35
|
+
/**
|
|
36
|
+
* API key to use. If not provided, it will look for
|
|
37
|
+
* the GOOGLE_GENAI_API_KEY or GEMINI_API_KEY environment variable. If gemini
|
|
38
|
+
* provider is selected and no key is provided, the fake key "-" will be
|
|
39
|
+
* used for the "x-goog-api-key" header.
|
|
40
|
+
*/
|
|
41
|
+
apiKey?: string;
|
|
42
|
+
}
|
|
43
|
+
export declare class ApigeeLlm extends Gemini {
|
|
44
|
+
private readonly proxyUrl;
|
|
45
|
+
/**
|
|
46
|
+
* A list of model name patterns that are supported by this LLM.
|
|
47
|
+
*
|
|
48
|
+
* @returns A list of supported models.
|
|
49
|
+
*/
|
|
50
|
+
static readonly supportedModels: Array<string | RegExp>;
|
|
51
|
+
constructor({ model, proxyUrl, apiKey, vertexai, location, project, headers, }: ApigeeLlmParams);
|
|
52
|
+
protected getHttpOptions(): HttpOptions;
|
|
53
|
+
protected getLiveHttpOptions(): HttpOptions;
|
|
54
|
+
private identifyApiVersion;
|
|
55
|
+
private _apigeeLiveApiVersion?;
|
|
56
|
+
get liveApiVersion(): string;
|
|
57
|
+
generateContentAsync(llmRequest: LlmRequest, stream?: boolean, abortSignal?: AbortSignal): AsyncGenerator<LlmResponse, void>;
|
|
58
|
+
connect(llmRequest: LlmRequest): Promise<BaseLlmConnection>;
|
|
59
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { BaseLlmConnection } from './base_llm_connection.js';
|
|
7
|
+
import { LlmRequest } from './llm_request.js';
|
|
8
|
+
import { LlmResponse } from './llm_response.js';
|
|
9
|
+
/**
|
|
10
|
+
* A unique symbol to identify BaseLlm classes.
|
|
11
|
+
* Defined once and shared by all BaseLlm instances.
|
|
12
|
+
*/
|
|
13
|
+
declare const BASE_MODEL_SYMBOL: unique symbol;
|
|
14
|
+
/**
|
|
15
|
+
* Type guard to check if an object is an instance of BaseLlm.
|
|
16
|
+
* @param obj The object to check.
|
|
17
|
+
* @returns True if the object is an instance of BaseLlm, false otherwise.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isBaseLlm(obj: unknown): obj is BaseLlm;
|
|
20
|
+
/**
|
|
21
|
+
* The BaseLLM class.
|
|
22
|
+
*/
|
|
23
|
+
export declare abstract class BaseLlm {
|
|
24
|
+
/**
|
|
25
|
+
* A unique symbol to identify BaseLlm classes.
|
|
26
|
+
*/
|
|
27
|
+
readonly [BASE_MODEL_SYMBOL] = true;
|
|
28
|
+
readonly model: string;
|
|
29
|
+
/**
|
|
30
|
+
* Creates an instance of BaseLLM.
|
|
31
|
+
* @param params The parameters for creating a BaseLlm instance.
|
|
32
|
+
* @param params.model The name of the LLM, e.g. gemini-1.5-flash or
|
|
33
|
+
* gemini-1.5-flash-001.
|
|
34
|
+
*/
|
|
35
|
+
constructor({ model }: {
|
|
36
|
+
model: string;
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* List of supported models in regex for LlmRegistry.
|
|
40
|
+
*/
|
|
41
|
+
static readonly supportedModels: Array<string | RegExp>;
|
|
42
|
+
/**
|
|
43
|
+
* Generates one content from the given contents and tools.
|
|
44
|
+
*
|
|
45
|
+
* @param llmRequest LlmRequest, the request to send to the LLM.
|
|
46
|
+
* @param stream whether to do streaming call.
|
|
47
|
+
* For non-streaming call, it will only yield one Content.
|
|
48
|
+
* @return A generator of LlmResponse.
|
|
49
|
+
*/
|
|
50
|
+
abstract generateContentAsync(llmRequest: LlmRequest, stream?: boolean, abortSignal?: AbortSignal): AsyncGenerator<LlmResponse, void>;
|
|
51
|
+
/**
|
|
52
|
+
* Creates a live connection to the LLM.
|
|
53
|
+
*
|
|
54
|
+
* @param llmRequest LlmRequest, the request to send to the LLM.
|
|
55
|
+
* @return A live connection to the LLM.
|
|
56
|
+
*/
|
|
57
|
+
abstract connect(llmRequest: LlmRequest): Promise<BaseLlmConnection>;
|
|
58
|
+
protected get trackingHeaders(): Record<string, string>;
|
|
59
|
+
/**
|
|
60
|
+
* Appends a user content, so that model can continue to output.
|
|
61
|
+
*
|
|
62
|
+
* @param llmRequest LlmRequest, the request to send to the LLM.
|
|
63
|
+
*/
|
|
64
|
+
maybeAppendUserContent(llmRequest: LlmRequest): void;
|
|
65
|
+
}
|
|
66
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Blob, Content } from '@google/genai';
|
|
7
|
+
import { LlmResponse } from './llm_response.js';
|
|
8
|
+
/**
|
|
9
|
+
* The base class for a live model connection.
|
|
10
|
+
*/
|
|
11
|
+
export interface BaseLlmConnection {
|
|
12
|
+
/**
|
|
13
|
+
* Sends the conversation history to the model.
|
|
14
|
+
*
|
|
15
|
+
* You call this method right after setting up the model connection.
|
|
16
|
+
* The model will respond if the last content is from user, otherwise it will
|
|
17
|
+
* wait for new user input before responding.
|
|
18
|
+
*
|
|
19
|
+
* @param history The conversation history to send to the model.
|
|
20
|
+
*/
|
|
21
|
+
sendHistory(history: Content[]): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Sends the content to the model.
|
|
24
|
+
*
|
|
25
|
+
* The model will respond immediately upon receiving the content.
|
|
26
|
+
* If you send function responses, all parts in the content should be function
|
|
27
|
+
* responses.
|
|
28
|
+
*
|
|
29
|
+
* @param content The content to send to the model.
|
|
30
|
+
*/
|
|
31
|
+
sendContent(content: Content): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Sends a chunk of audio or a frame of video to the model in realtime.
|
|
34
|
+
*
|
|
35
|
+
* The model may not respond immediately upon receiving the blob. It will do
|
|
36
|
+
* voice activity detection and decide when to respond.
|
|
37
|
+
*
|
|
38
|
+
* @param blob The blob to send to the model.
|
|
39
|
+
*/
|
|
40
|
+
sendRealtime(blob: Blob): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Receives the model response using the llm server connection.
|
|
43
|
+
*
|
|
44
|
+
* @return A generator of LlmResponse.
|
|
45
|
+
*/
|
|
46
|
+
receive(): AsyncGenerator<LlmResponse, void, void>;
|
|
47
|
+
/**
|
|
48
|
+
* Closes the llm server connection.
|
|
49
|
+
*/
|
|
50
|
+
close(): Promise<void>;
|
|
51
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Blob, Content, Session } from '@google/genai';
|
|
7
|
+
import { BaseLlmConnection } from './base_llm_connection.js';
|
|
8
|
+
import { LlmResponse } from './llm_response.js';
|
|
9
|
+
/** The Gemini model connection. */
|
|
10
|
+
export declare class GeminiLlmConnection implements BaseLlmConnection {
|
|
11
|
+
private readonly geminiSession;
|
|
12
|
+
constructor(geminiSession: Session);
|
|
13
|
+
/**
|
|
14
|
+
* Sends the conversation history to the gemini model.
|
|
15
|
+
*
|
|
16
|
+
* You call this method right after setting up the model connection.
|
|
17
|
+
* The model will respond if the last content is from user, otherwise it will
|
|
18
|
+
* wait for new user input before responding.
|
|
19
|
+
*
|
|
20
|
+
* @param history The conversation history to send to the model.
|
|
21
|
+
*/
|
|
22
|
+
sendHistory(history: Content[]): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Sends a user content to the gemini model.
|
|
25
|
+
*
|
|
26
|
+
* The model will respond immediately upon receiving the content.
|
|
27
|
+
* If you send function responses, all parts in the content should be function
|
|
28
|
+
* responses.
|
|
29
|
+
*
|
|
30
|
+
* @param content The content to send to the model.
|
|
31
|
+
*/
|
|
32
|
+
sendContent(content: Content): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Sends a chunk of audio or a frame of video to the model in realtime.
|
|
35
|
+
*
|
|
36
|
+
* @param blob The blob to send to the model.
|
|
37
|
+
*/
|
|
38
|
+
sendRealtime(blob: Blob): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Builds a full text response.
|
|
41
|
+
*
|
|
42
|
+
* The text should not be partial and the returned LlmResponse is not be
|
|
43
|
+
* partial.
|
|
44
|
+
*
|
|
45
|
+
* @param text The text to be included in the response.
|
|
46
|
+
* @returns An LlmResponse containing the full text.
|
|
47
|
+
*/
|
|
48
|
+
private buildFullTextResponse;
|
|
49
|
+
receive(): AsyncGenerator<LlmResponse, void, void>;
|
|
50
|
+
/**
|
|
51
|
+
* Closes the llm server connection.
|
|
52
|
+
*/
|
|
53
|
+
close(): Promise<void>;
|
|
54
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { GoogleGenAI, HttpOptions } from '@google/genai';
|
|
7
|
+
import { GoogleLLMVariant } from '../utils/variant_utils.js';
|
|
8
|
+
import { BaseLlm } from './base_llm.js';
|
|
9
|
+
import { BaseLlmConnection } from './base_llm_connection.js';
|
|
10
|
+
import { LlmRequest } from './llm_request.js';
|
|
11
|
+
import { LlmResponse } from './llm_response.js';
|
|
12
|
+
/**
|
|
13
|
+
* The parameters for creating a Gemini instance.
|
|
14
|
+
*/
|
|
15
|
+
export interface GeminiParams {
|
|
16
|
+
/**
|
|
17
|
+
* The name of the model to use. Defaults to 'gemini-2.5-flash'.
|
|
18
|
+
*/
|
|
19
|
+
model?: string;
|
|
20
|
+
/**
|
|
21
|
+
* The API key to use for the Gemini API. If not provided, it will look for
|
|
22
|
+
* the GOOGLE_GENAI_API_KEY or GEMINI_API_KEY environment variable.
|
|
23
|
+
*/
|
|
24
|
+
apiKey?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Whether to use Vertex AI. If true, `project`, `location`
|
|
27
|
+
* should be provided.
|
|
28
|
+
*/
|
|
29
|
+
vertexai?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* The Vertex AI project ID. Required if `vertexai` is true.
|
|
32
|
+
*/
|
|
33
|
+
project?: string;
|
|
34
|
+
/**
|
|
35
|
+
* The Vertex AI location. Required if `vertexai` is true.
|
|
36
|
+
*/
|
|
37
|
+
location?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Headers to merge with internally crafted headers.
|
|
40
|
+
*/
|
|
41
|
+
headers?: Record<string, string>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Integration for Gemini models.
|
|
45
|
+
*/
|
|
46
|
+
export declare class Gemini extends BaseLlm {
|
|
47
|
+
private readonly apiKey?;
|
|
48
|
+
protected readonly vertexai: boolean;
|
|
49
|
+
private readonly project?;
|
|
50
|
+
private readonly location?;
|
|
51
|
+
private readonly headers?;
|
|
52
|
+
/**
|
|
53
|
+
* @param params The parameters for creating a Gemini instance.
|
|
54
|
+
*/
|
|
55
|
+
constructor({ model, apiKey, vertexai, project, location, headers, }: GeminiParams);
|
|
56
|
+
/**
|
|
57
|
+
* A list of model name patterns that are supported by this LLM.
|
|
58
|
+
*
|
|
59
|
+
* @returns A list of supported models.
|
|
60
|
+
*/
|
|
61
|
+
static readonly supportedModels: Array<string | RegExp>;
|
|
62
|
+
private _apiClient?;
|
|
63
|
+
private _apiBackend?;
|
|
64
|
+
private _trackingHeaders?;
|
|
65
|
+
private _liveApiVersion?;
|
|
66
|
+
private _liveApiClient?;
|
|
67
|
+
/**
|
|
68
|
+
* Sends a request to the Gemini model.
|
|
69
|
+
*
|
|
70
|
+
* @param llmRequest LlmRequest, the request to send to the Gemini model.
|
|
71
|
+
* @param stream bool = false, whether to do streaming call.
|
|
72
|
+
* @yields LlmResponse: The model response.
|
|
73
|
+
*/
|
|
74
|
+
generateContentAsync(llmRequest: LlmRequest, stream?: boolean, abortSignal?: AbortSignal): AsyncGenerator<LlmResponse, void>;
|
|
75
|
+
protected getHttpOptions(): HttpOptions;
|
|
76
|
+
get apiClient(): GoogleGenAI;
|
|
77
|
+
get apiBackend(): GoogleLLMVariant;
|
|
78
|
+
get liveApiVersion(): string;
|
|
79
|
+
protected getLiveHttpOptions(): HttpOptions;
|
|
80
|
+
get liveApiClient(): GoogleGenAI;
|
|
81
|
+
/**
|
|
82
|
+
* Connects to the Gemini model and returns an llm connection.
|
|
83
|
+
*
|
|
84
|
+
* @param llmRequest LlmRequest, the request to send to the Gemini model.
|
|
85
|
+
* @returns BaseLlmConnection, the connection to the Gemini model.
|
|
86
|
+
*/
|
|
87
|
+
connect(llmRequest: LlmRequest): Promise<BaseLlmConnection>;
|
|
88
|
+
private preprocessRequest;
|
|
89
|
+
}
|
|
90
|
+
export declare function geminiInitParams({ model, vertexai, project, location, apiKey, }: GeminiParams): GeminiParams;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Content, GenerateContentConfig, LiveConnectConfig, SchemaUnion } from '@google/genai';
|
|
7
|
+
import { BaseTool } from '../tools/base_tool.js';
|
|
8
|
+
/**
|
|
9
|
+
* LLM request class that allows passing in tools, output schema and system
|
|
10
|
+
* instructions to the model.
|
|
11
|
+
*/
|
|
12
|
+
export interface LlmRequest {
|
|
13
|
+
/**
|
|
14
|
+
* The model name.
|
|
15
|
+
*/
|
|
16
|
+
model?: string;
|
|
17
|
+
/**
|
|
18
|
+
* The contents to send to the model.
|
|
19
|
+
*/
|
|
20
|
+
contents: Content[];
|
|
21
|
+
/**
|
|
22
|
+
* Additional config for the generate content request.
|
|
23
|
+
* Tools in generateContentConfig should not be set directly; use appendTools.
|
|
24
|
+
*/
|
|
25
|
+
config?: GenerateContentConfig;
|
|
26
|
+
liveConnectConfig: LiveConnectConfig;
|
|
27
|
+
/**
|
|
28
|
+
* The tools dictionary. Excluded from JSON serialization.
|
|
29
|
+
*/
|
|
30
|
+
toolsDict: {
|
|
31
|
+
[key: string]: BaseTool;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* The set of allowed tools, populated by request processors.
|
|
35
|
+
*/
|
|
36
|
+
allowedTools?: string[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Appends instructions to the system instruction.
|
|
40
|
+
* @param instructions The instructions to append.
|
|
41
|
+
*/
|
|
42
|
+
export declare function appendInstructions(llmRequest: LlmRequest, instructions: string[]): void;
|
|
43
|
+
/**
|
|
44
|
+
* Appends tools to the request.
|
|
45
|
+
* @param tools The tools to append.
|
|
46
|
+
*/
|
|
47
|
+
export declare function appendTools(llmRequest: LlmRequest, tools: BaseTool[]): void;
|
|
48
|
+
/**
|
|
49
|
+
* Sets the output schema for the request.
|
|
50
|
+
*
|
|
51
|
+
* @param schema The JSON Schema object to set as the output schema.
|
|
52
|
+
*/
|
|
53
|
+
export declare function setOutputSchema(llmRequest: LlmRequest, schema: SchemaUnion): void;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { CitationMetadata, Content, FinishReason, GenerateContentResponse, GenerateContentResponseUsageMetadata, GroundingMetadata, LiveServerSessionResumptionUpdate, Transcription } from '@google/genai';
|
|
7
|
+
/**
|
|
8
|
+
* LLM response class that provides the first candidate response from the
|
|
9
|
+
* model if available. Otherwise, returns error code and message.
|
|
10
|
+
*/
|
|
11
|
+
export interface LlmResponse {
|
|
12
|
+
/**
|
|
13
|
+
* The content of the response.
|
|
14
|
+
*/
|
|
15
|
+
content?: Content;
|
|
16
|
+
/**
|
|
17
|
+
* The grounding metadata of the response.
|
|
18
|
+
*/
|
|
19
|
+
groundingMetadata?: GroundingMetadata;
|
|
20
|
+
/**
|
|
21
|
+
* The citation metadata of the response.
|
|
22
|
+
*/
|
|
23
|
+
citationMetadata?: CitationMetadata;
|
|
24
|
+
/**
|
|
25
|
+
* Indicates whether the text content is part of a unfinished text stream.
|
|
26
|
+
* Only used for streaming mode and when the content is plain text.
|
|
27
|
+
*/
|
|
28
|
+
partial?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Indicates whether the response from the model is complete.
|
|
31
|
+
* Only used for streaming mode.
|
|
32
|
+
*/
|
|
33
|
+
turnComplete?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Error code if the response is an error. Code varies by model.
|
|
36
|
+
*/
|
|
37
|
+
errorCode?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Error message if the response is an error.
|
|
40
|
+
*/
|
|
41
|
+
errorMessage?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Flag indicating that LLM was interrupted when generating the content.
|
|
44
|
+
* Usually it's due to user interruption during a bidi streaming.
|
|
45
|
+
*/
|
|
46
|
+
interrupted?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* The custom metadata of the LlmResponse.
|
|
49
|
+
* An optional key-value pair to label an LlmResponse.
|
|
50
|
+
* NOTE: the entire object must be JSON serializable.
|
|
51
|
+
*/
|
|
52
|
+
customMetadata?: {
|
|
53
|
+
[key: string]: unknown;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* The usage metadata of the LlmResponse.
|
|
57
|
+
*/
|
|
58
|
+
usageMetadata?: GenerateContentResponseUsageMetadata;
|
|
59
|
+
/**
|
|
60
|
+
* The finish reason of the response.
|
|
61
|
+
*/
|
|
62
|
+
finishReason?: FinishReason;
|
|
63
|
+
/**
|
|
64
|
+
* The session resumption update of the LlmResponse
|
|
65
|
+
*/
|
|
66
|
+
liveSessionResumptionUpdate?: LiveServerSessionResumptionUpdate;
|
|
67
|
+
/**
|
|
68
|
+
* Audio transcription of user input.
|
|
69
|
+
*/
|
|
70
|
+
inputTranscription?: Transcription;
|
|
71
|
+
/**
|
|
72
|
+
* Audio transcription of model output.
|
|
73
|
+
*/
|
|
74
|
+
outputTranscription?: Transcription;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Creates an LlmResponse from a GenerateContentResponse.
|
|
78
|
+
*
|
|
79
|
+
* @param response The GenerateContentResponse to create the
|
|
80
|
+
* LlmResponse from.
|
|
81
|
+
* @returns The LlmResponse.
|
|
82
|
+
*/
|
|
83
|
+
export declare function createLlmResponse(response: GenerateContentResponse): LlmResponse;
|