@google/adk 0.6.0 → 1.0.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/dist/cjs/a2a/a2a_remote_agent.js +18 -13
- package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -0
- package/dist/cjs/agents/base_agent.js +11 -2
- package/dist/cjs/agents/context.js +1 -0
- package/dist/cjs/agents/functions.js +1 -0
- package/dist/cjs/agents/invocation_context.js +1 -0
- package/dist/cjs/agents/llm_agent.js +70 -13
- package/dist/cjs/agents/loop_agent.js +4 -0
- package/dist/cjs/agents/parallel_agent.js +4 -0
- package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -0
- package/dist/cjs/agents/processors/context_compactor_request_processor.js +9 -0
- package/dist/cjs/agents/processors/tool_filter_request_processor.js +73 -0
- package/dist/cjs/agents/routed_agent.js +97 -0
- package/dist/cjs/auth/auth_handler.js +66 -1
- package/dist/cjs/auth/auth_preprocessor.js +178 -0
- package/dist/cjs/auth/auth_provider_registry.js +61 -0
- package/dist/cjs/auth/base_auth_provider.js +27 -0
- package/dist/cjs/auth/credential_service/session_state_credential_service.js +51 -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 +9 -5
- package/dist/cjs/code_executors/code_execution_utils.js +19 -0
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +241 -0
- package/dist/cjs/common.js +61 -0
- package/dist/cjs/features/feature_registry.js +141 -0
- package/dist/cjs/index.js +32 -20
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/models/apigee_llm.js +2 -2
- package/dist/cjs/models/google_llm.js +18 -53
- package/dist/cjs/models/routed_llm.js +99 -0
- package/dist/cjs/plugins/base_plugin.js +39 -2
- package/dist/cjs/plugins/plugin_manager.js +39 -0
- package/dist/cjs/runner/runner.js +31 -3
- package/dist/cjs/sessions/db/operations.js +3 -10
- 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/tools/agent_tool.js +10 -3
- package/dist/cjs/tools/mcp/mcp_tool.js +4 -1
- 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/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 +54 -12
- package/dist/cjs/utils/streaming_utils.js +333 -0
- package/dist/cjs/version.js +1 -1
- package/dist/esm/a2a/a2a_event.js +2 -0
- package/dist/esm/a2a/a2a_remote_agent.js +20 -13
- package/dist/esm/a2a/a2a_remote_agent_run_processor.js +9 -0
- package/dist/esm/a2a/a2a_remote_agent_utils.js +2 -0
- package/dist/esm/a2a/agent_card.js +2 -0
- package/dist/esm/a2a/agent_executor.js +2 -0
- package/dist/esm/a2a/agent_to_a2a.js +2 -0
- package/dist/esm/a2a/event_converter_utils.js +2 -0
- package/dist/esm/a2a/event_processor_utils.js +2 -0
- package/dist/esm/a2a/executor_context.js +2 -0
- package/dist/esm/a2a/metadata_converter_utils.js +2 -0
- package/dist/esm/a2a/part_converter_utils.js +2 -0
- package/dist/esm/agents/active_streaming_tool.js +2 -0
- package/dist/esm/agents/base_agent.js +13 -2
- package/dist/esm/agents/context.js +3 -0
- package/dist/esm/agents/functions.js +3 -0
- package/dist/esm/agents/instructions.js +2 -0
- package/dist/esm/agents/invocation_context.js +3 -0
- package/dist/esm/agents/live_request_queue.js +2 -0
- package/dist/esm/agents/llm_agent.js +72 -13
- package/dist/esm/agents/loop_agent.js +6 -0
- package/dist/esm/agents/parallel_agent.js +6 -0
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +2 -0
- package/dist/esm/agents/processors/base_llm_processor.js +2 -0
- package/dist/esm/agents/processors/basic_llm_request_processor.js +2 -0
- package/dist/esm/agents/processors/code_execution_request_processor.js +5 -0
- package/dist/esm/agents/processors/content_processor_utils.js +2 -0
- package/dist/esm/agents/processors/content_request_processor.js +2 -0
- package/dist/esm/agents/processors/context_compactor_request_processor.js +11 -0
- package/dist/esm/agents/processors/identity_llm_request_processor.js +2 -0
- package/dist/esm/agents/processors/instructions_llm_request_processor.js +2 -0
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +2 -0
- package/dist/esm/agents/processors/tool_filter_request_processor.js +44 -0
- package/dist/esm/agents/readonly_context.js +2 -0
- package/dist/esm/agents/routed_agent.js +70 -0
- package/dist/esm/agents/run_config.js +2 -0
- package/dist/esm/agents/sequential_agent.js +2 -0
- package/dist/esm/agents/transcription_entry.js +2 -0
- package/dist/esm/artifacts/base_artifact_service.js +2 -0
- package/dist/esm/artifacts/file_artifact_service.js +2 -0
- package/dist/esm/artifacts/gcs_artifact_service.js +2 -0
- package/dist/esm/artifacts/in_memory_artifact_service.js +2 -0
- package/dist/esm/artifacts/registry.js +2 -0
- package/dist/esm/auth/auth_credential.js +2 -0
- package/dist/esm/auth/auth_handler.js +68 -1
- 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 +2 -0
- package/dist/esm/auth/auth_tool.js +2 -0
- package/dist/esm/auth/base_auth_provider.js +7 -0
- package/dist/esm/auth/credential_service/base_credential_service.js +2 -0
- package/dist/esm/auth/credential_service/in_memory_credential_service.js +2 -0
- package/dist/esm/auth/credential_service/session_state_credential_service.js +23 -0
- package/dist/esm/auth/exchanger/base_credential_exchanger.js +2 -0
- package/dist/esm/auth/exchanger/credential_exchanger_registry.js +2 -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 +11 -5
- package/dist/esm/code_executors/built_in_code_executor.js +2 -0
- package/dist/esm/code_executors/code_execution_utils.js +19 -0
- package/dist/esm/code_executors/code_executor_context.js +2 -0
- package/dist/esm/code_executors/unsafe_local_code_executor.js +205 -0
- package/dist/esm/common.js +47 -3
- package/dist/esm/context/base_context_compactor.js +2 -0
- package/dist/esm/context/summarizers/base_summarizer.js +2 -0
- package/dist/esm/context/summarizers/llm_summarizer.js +2 -0
- package/dist/esm/context/token_based_context_compactor.js +2 -0
- package/dist/esm/context/truncating_context_compactor.js +2 -0
- package/dist/esm/events/compacted_event.js +2 -0
- package/dist/esm/events/event.js +2 -0
- package/dist/esm/events/event_actions.js +2 -0
- package/dist/esm/events/structured_events.js +2 -0
- package/dist/esm/examples/base_example_provider.js +2 -0
- package/dist/esm/examples/example.js +2 -0
- package/dist/esm/examples/example_util.js +2 -0
- package/dist/esm/features/feature_registry.js +107 -0
- package/dist/esm/index.js +34 -21
- package/dist/esm/index.js.map +4 -4
- package/dist/esm/index_web.js +2 -0
- package/dist/esm/memory/base_memory_service.js +2 -0
- package/dist/esm/memory/in_memory_memory_service.js +2 -0
- package/dist/esm/memory/memory_entry.js +2 -0
- package/dist/esm/models/apigee_llm.js +4 -2
- package/dist/esm/models/base_llm.js +2 -0
- package/dist/esm/models/base_llm_connection.js +2 -0
- package/dist/esm/models/gemini_llm_connection.js +2 -0
- package/dist/esm/models/google_llm.js +20 -54
- package/dist/esm/models/llm_request.js +2 -0
- package/dist/esm/models/llm_response.js +2 -0
- package/dist/esm/models/registry.js +2 -0
- package/dist/esm/models/routed_llm.js +73 -0
- package/dist/esm/plugins/base_plugin.js +41 -1
- package/dist/esm/plugins/logging_plugin.js +2 -0
- package/dist/esm/plugins/plugin_manager.js +41 -0
- package/dist/esm/plugins/security_plugin.js +2 -0
- package/dist/esm/runner/in_memory_runner.js +2 -0
- package/dist/esm/runner/runner.js +33 -3
- package/dist/esm/sessions/base_session_service.js +2 -0
- package/dist/esm/sessions/database_session_service.js +2 -0
- package/dist/esm/sessions/db/operations.js +5 -10
- package/dist/esm/sessions/db/schema.js +2 -0
- package/dist/esm/sessions/in_memory_session_service.js +2 -0
- package/dist/esm/sessions/registry.js +2 -0
- package/dist/esm/sessions/session.js +2 -0
- package/dist/esm/sessions/state.js +2 -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 +2 -0
- package/dist/esm/telemetry/setup.js +2 -0
- package/dist/esm/telemetry/tracing.js +2 -0
- package/dist/esm/tools/agent_tool.js +12 -3
- package/dist/esm/tools/base_tool.js +2 -0
- package/dist/esm/tools/base_toolset.js +2 -0
- package/dist/esm/tools/exit_loop_tool.js +2 -0
- package/dist/esm/tools/forwarding_artifact_service.js +2 -0
- package/dist/esm/tools/function_tool.js +2 -0
- package/dist/esm/tools/google_search_tool.js +2 -0
- package/dist/esm/tools/load_artifacts_tool.js +2 -0
- package/dist/esm/tools/load_memory_tool.js +2 -0
- package/dist/esm/tools/long_running_tool.js +2 -0
- package/dist/esm/tools/mcp/mcp_session_manager.js +2 -0
- package/dist/esm/tools/mcp/mcp_tool.js +6 -1
- package/dist/esm/tools/mcp/mcp_toolset.js +2 -0
- package/dist/esm/tools/preload_memory_tool.js +2 -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 +2 -0
- package/dist/esm/utils/client_labels.js +2 -0
- package/dist/esm/utils/env_aware_utils.js +2 -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 +56 -12
- package/dist/esm/utils/logger.js +2 -0
- package/dist/esm/utils/model_name.js +2 -0
- package/dist/esm/utils/object_notation_utils.js +2 -0
- package/dist/esm/utils/simple_zod_to_json.js +2 -0
- package/dist/esm/utils/streaming_utils.js +307 -0
- package/dist/esm/utils/variant_utils.js +2 -0
- package/dist/esm/version.js +3 -1
- package/dist/types/a2a/a2a_remote_agent.d.ts +7 -3
- package/dist/types/agents/context.d.ts +1 -0
- package/dist/types/agents/invocation_context.d.ts +5 -0
- package/dist/types/agents/processors/tool_filter_request_processor.d.ts +14 -0
- package/dist/types/agents/routed_agent.d.ts +59 -0
- package/dist/types/auth/auth_credential.d.ts +17 -0
- package/dist/types/auth/auth_handler.d.ts +1 -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/base_auth_provider.d.ts +20 -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 +12 -5
- 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 +4 -4
- package/dist/types/code_executors/code_execution_utils.d.ts +29 -1
- package/dist/types/code_executors/unsafe_local_code_executor.d.ts +48 -0
- package/dist/types/common.d.ts +26 -3
- package/dist/types/features/feature_registry.d.ts +66 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/memory/base_memory_service.d.ts +6 -0
- package/dist/types/memory/memory_entry.d.ts +11 -5
- package/dist/types/models/apigee_llm.d.ts +1 -1
- package/dist/types/models/base_llm.d.ts +1 -1
- package/dist/types/models/google_llm.d.ts +1 -1
- package/dist/types/models/llm_request.d.ts +4 -0
- package/dist/types/models/routed_llm.d.ts +38 -0
- package/dist/types/plugins/base_plugin.d.ts +49 -0
- package/dist/types/plugins/plugin_manager.d.ts +22 -1
- package/dist/types/runner/runner.d.ts +1 -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/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/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/streaming_utils.d.ts +40 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/web/a2a/a2a_event.js +2 -0
- package/dist/web/a2a/a2a_remote_agent.js +17 -24
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +9 -0
- package/dist/web/a2a/a2a_remote_agent_utils.js +2 -0
- package/dist/web/a2a/agent_card.js +2 -0
- package/dist/web/a2a/agent_executor.js +2 -0
- package/dist/web/a2a/agent_to_a2a.js +2 -0
- package/dist/web/a2a/event_converter_utils.js +2 -0
- package/dist/web/a2a/event_processor_utils.js +2 -0
- package/dist/web/a2a/executor_context.js +2 -0
- package/dist/web/a2a/metadata_converter_utils.js +2 -0
- package/dist/web/a2a/part_converter_utils.js +2 -0
- package/dist/web/agents/active_streaming_tool.js +2 -0
- package/dist/web/agents/base_agent.js +13 -2
- package/dist/web/agents/context.js +3 -0
- package/dist/web/agents/functions.js +3 -0
- package/dist/web/agents/instructions.js +2 -0
- package/dist/web/agents/invocation_context.js +3 -0
- package/dist/web/agents/live_request_queue.js +2 -0
- package/dist/web/agents/llm_agent.js +72 -13
- package/dist/web/agents/loop_agent.js +6 -0
- package/dist/web/agents/parallel_agent.js +6 -0
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +2 -0
- package/dist/web/agents/processors/base_llm_processor.js +2 -0
- package/dist/web/agents/processors/basic_llm_request_processor.js +2 -0
- package/dist/web/agents/processors/code_execution_request_processor.js +5 -0
- package/dist/web/agents/processors/content_processor_utils.js +2 -0
- package/dist/web/agents/processors/content_request_processor.js +2 -0
- package/dist/web/agents/processors/context_compactor_request_processor.js +11 -0
- package/dist/web/agents/processors/identity_llm_request_processor.js +2 -0
- package/dist/web/agents/processors/instructions_llm_request_processor.js +2 -0
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +2 -0
- package/dist/web/agents/processors/tool_filter_request_processor.js +62 -0
- package/dist/web/agents/readonly_context.js +2 -0
- package/dist/web/agents/routed_agent.js +138 -0
- package/dist/web/agents/run_config.js +2 -0
- package/dist/web/agents/sequential_agent.js +2 -0
- package/dist/web/agents/transcription_entry.js +2 -0
- package/dist/web/artifacts/base_artifact_service.js +2 -0
- package/dist/web/artifacts/file_artifact_service.js +2 -0
- package/dist/web/artifacts/gcs_artifact_service.js +2 -0
- package/dist/web/artifacts/in_memory_artifact_service.js +2 -0
- package/dist/web/artifacts/registry.js +2 -0
- package/dist/web/auth/auth_credential.js +2 -0
- package/dist/web/auth/auth_handler.js +85 -1
- 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 +2 -0
- package/dist/web/auth/auth_tool.js +2 -0
- package/dist/web/auth/base_auth_provider.js +7 -0
- package/dist/web/auth/credential_service/base_credential_service.js +2 -0
- package/dist/web/auth/credential_service/in_memory_credential_service.js +2 -0
- package/dist/web/auth/credential_service/session_state_credential_service.js +23 -0
- package/dist/web/auth/exchanger/base_credential_exchanger.js +2 -0
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +2 -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 +11 -5
- package/dist/web/code_executors/built_in_code_executor.js +2 -0
- package/dist/web/code_executors/code_execution_utils.js +19 -0
- package/dist/web/code_executors/code_executor_context.js +2 -0
- package/dist/web/code_executors/unsafe_local_code_executor.js +203 -0
- package/dist/web/common.js +47 -3
- package/dist/web/context/base_context_compactor.js +2 -0
- package/dist/web/context/summarizers/base_summarizer.js +2 -0
- package/dist/web/context/summarizers/llm_summarizer.js +2 -0
- package/dist/web/context/token_based_context_compactor.js +2 -0
- package/dist/web/context/truncating_context_compactor.js +2 -0
- package/dist/web/events/compacted_event.js +2 -0
- package/dist/web/events/event.js +2 -0
- package/dist/web/events/event_actions.js +2 -0
- package/dist/web/events/structured_events.js +2 -0
- package/dist/web/examples/base_example_provider.js +2 -0
- package/dist/web/examples/example.js +2 -0
- package/dist/web/examples/example_util.js +2 -0
- package/dist/web/features/feature_registry.js +107 -0
- package/dist/web/index.js +3 -2
- package/dist/web/index.js.map +4 -4
- package/dist/web/index_web.js +2 -0
- package/dist/web/memory/base_memory_service.js +2 -0
- package/dist/web/memory/in_memory_memory_service.js +2 -0
- package/dist/web/memory/memory_entry.js +2 -0
- package/dist/web/models/apigee_llm.js +4 -2
- package/dist/web/models/base_llm.js +2 -0
- package/dist/web/models/base_llm_connection.js +2 -0
- package/dist/web/models/gemini_llm_connection.js +2 -0
- package/dist/web/models/google_llm.js +37 -59
- package/dist/web/models/llm_request.js +2 -0
- package/dist/web/models/llm_response.js +2 -0
- package/dist/web/models/registry.js +2 -0
- package/dist/web/models/routed_llm.js +122 -0
- package/dist/web/plugins/base_plugin.js +41 -1
- package/dist/web/plugins/logging_plugin.js +2 -0
- package/dist/web/plugins/plugin_manager.js +41 -0
- package/dist/web/plugins/security_plugin.js +2 -0
- package/dist/web/runner/in_memory_runner.js +2 -0
- package/dist/web/runner/runner.js +33 -3
- package/dist/web/sessions/base_session_service.js +2 -0
- package/dist/web/sessions/database_session_service.js +2 -0
- package/dist/web/sessions/db/operations.js +5 -10
- package/dist/web/sessions/db/schema.js +2 -0
- package/dist/web/sessions/in_memory_session_service.js +2 -0
- package/dist/web/sessions/registry.js +2 -0
- package/dist/web/sessions/session.js +2 -0
- package/dist/web/sessions/state.js +2 -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 +2 -0
- package/dist/web/telemetry/setup.js +2 -0
- package/dist/web/telemetry/tracing.js +2 -0
- package/dist/web/tools/agent_tool.js +12 -3
- package/dist/web/tools/base_tool.js +2 -0
- package/dist/web/tools/base_toolset.js +2 -0
- package/dist/web/tools/exit_loop_tool.js +2 -0
- package/dist/web/tools/forwarding_artifact_service.js +2 -0
- package/dist/web/tools/function_tool.js +2 -0
- package/dist/web/tools/google_search_tool.js +2 -0
- package/dist/web/tools/load_artifacts_tool.js +2 -0
- package/dist/web/tools/load_memory_tool.js +2 -0
- package/dist/web/tools/long_running_tool.js +2 -0
- package/dist/web/tools/mcp/mcp_session_manager.js +2 -0
- package/dist/web/tools/mcp/mcp_tool.js +6 -1
- package/dist/web/tools/mcp/mcp_toolset.js +2 -0
- package/dist/web/tools/preload_memory_tool.js +2 -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 +2 -0
- package/dist/web/utils/client_labels.js +2 -0
- package/dist/web/utils/env_aware_utils.js +2 -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 +87 -12
- package/dist/web/utils/logger.js +2 -0
- package/dist/web/utils/model_name.js +2 -0
- package/dist/web/utils/object_notation_utils.js +2 -0
- package/dist/web/utils/simple_zod_to_json.js +2 -0
- package/dist/web/utils/streaming_utils.js +325 -0
- package/dist/web/utils/variant_utils.js +2 -0
- package/dist/web/version.js +3 -1
- package/package.json +20 -18
|
@@ -11,6 +11,13 @@ import { Event } from '../events/event.js';
|
|
|
11
11
|
import { LlmRequest } from '../models/llm_request.js';
|
|
12
12
|
import { LlmResponse } from '../models/llm_response.js';
|
|
13
13
|
import { BaseTool } from '../tools/base_tool.js';
|
|
14
|
+
/**
|
|
15
|
+
* Trigger for context compaction.
|
|
16
|
+
*/
|
|
17
|
+
export declare enum ContextCompactionTrigger {
|
|
18
|
+
Manual = "Manual",
|
|
19
|
+
Auto = "Auto"
|
|
20
|
+
}
|
|
14
21
|
/**
|
|
15
22
|
* Base class for creating plugins.
|
|
16
23
|
*
|
|
@@ -246,6 +253,48 @@ export declare abstract class BasePlugin {
|
|
|
246
253
|
llmRequest: LlmRequest;
|
|
247
254
|
error: Error;
|
|
248
255
|
}): Promise<LlmResponse | undefined>;
|
|
256
|
+
/**
|
|
257
|
+
* Callback executed before a tool is selected.
|
|
258
|
+
*
|
|
259
|
+
* This callback provides an opportunity to inspect, log, or modify the
|
|
260
|
+
* available tools before they are selected.
|
|
261
|
+
*
|
|
262
|
+
* @param params.callbackContext The context for the current agent call.
|
|
263
|
+
* @param params.tools The available tools.
|
|
264
|
+
* @returns An optional value. A non-`undefined` return may be used by the
|
|
265
|
+
* framework to modify or replace the available tools. Returning
|
|
266
|
+
* `undefined` allows the original tools to be used.
|
|
267
|
+
*/
|
|
268
|
+
beforeToolSelection(params: {
|
|
269
|
+
callbackContext: Context;
|
|
270
|
+
tools: Readonly<Record<string, BaseTool>>;
|
|
271
|
+
}): Promise<Readonly<Record<string, BaseTool>> | undefined>;
|
|
272
|
+
/**
|
|
273
|
+
* Callback executed before context compaction.
|
|
274
|
+
*
|
|
275
|
+
* This callback provides an opportunity to inspect or modify the context
|
|
276
|
+
* before it is compacted.
|
|
277
|
+
*
|
|
278
|
+
* @param params.invocationContext The context for the entire invocation.
|
|
279
|
+
* @param params.trigger The trigger for the context compaction.
|
|
280
|
+
*/
|
|
281
|
+
beforeContextCompaction(params: {
|
|
282
|
+
invocationContext: InvocationContext;
|
|
283
|
+
trigger: ContextCompactionTrigger;
|
|
284
|
+
}): Promise<void>;
|
|
285
|
+
/**
|
|
286
|
+
* Callback executed after context compaction.
|
|
287
|
+
*
|
|
288
|
+
* This callback provides an opportunity to inspect the context
|
|
289
|
+
* after it has been compacted.
|
|
290
|
+
*
|
|
291
|
+
* @param params.invocationContext The context for the entire invocation.
|
|
292
|
+
* @param params.trigger The trigger for the context compaction.
|
|
293
|
+
*/
|
|
294
|
+
afterContextCompaction(params: {
|
|
295
|
+
invocationContext: InvocationContext;
|
|
296
|
+
trigger: ContextCompactionTrigger;
|
|
297
|
+
}): Promise<void>;
|
|
249
298
|
/**
|
|
250
299
|
* Callback executed before a tool is called.
|
|
251
300
|
*
|
|
@@ -11,7 +11,7 @@ import { Event } from '../events/event.js';
|
|
|
11
11
|
import { LlmRequest } from '../models/llm_request.js';
|
|
12
12
|
import { LlmResponse } from '../models/llm_response.js';
|
|
13
13
|
import { BaseTool } from '../tools/base_tool.js';
|
|
14
|
-
import { BasePlugin } from './base_plugin.js';
|
|
14
|
+
import { BasePlugin, ContextCompactionTrigger } from './base_plugin.js';
|
|
15
15
|
/**
|
|
16
16
|
* Manages the registration and execution of plugins.
|
|
17
17
|
*
|
|
@@ -103,6 +103,27 @@ export declare class PluginManager {
|
|
|
103
103
|
agent: BaseAgent;
|
|
104
104
|
callbackContext: Context;
|
|
105
105
|
}): Promise<Content | undefined>;
|
|
106
|
+
/**
|
|
107
|
+
* Runs the `beforeToolSelection` for all plugins.
|
|
108
|
+
*/
|
|
109
|
+
runBeforeToolSelection({ callbackContext, tools, }: {
|
|
110
|
+
callbackContext: Context;
|
|
111
|
+
tools: Readonly<Record<string, BaseTool>>;
|
|
112
|
+
}): Promise<Readonly<Record<string, BaseTool>> | undefined>;
|
|
113
|
+
/**
|
|
114
|
+
* Runs the `beforeContextCompaction` for all plugins.
|
|
115
|
+
*/
|
|
116
|
+
runBeforeContextCompaction({ invocationContext, trigger, }: {
|
|
117
|
+
invocationContext: InvocationContext;
|
|
118
|
+
trigger: ContextCompactionTrigger;
|
|
119
|
+
}): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Runs the `afterContextCompaction` for all plugins.
|
|
122
|
+
*/
|
|
123
|
+
runAfterContextCompaction({ invocationContext, trigger, }: {
|
|
124
|
+
invocationContext: InvocationContext;
|
|
125
|
+
trigger: ContextCompactionTrigger;
|
|
126
|
+
}): Promise<void>;
|
|
106
127
|
/**
|
|
107
128
|
* Runs the `beforeToolCallback` for all plugins.
|
|
108
129
|
*/
|
|
@@ -84,6 +84,7 @@ export declare class Runner {
|
|
|
84
84
|
newMessage: Content;
|
|
85
85
|
stateDelta?: Record<string, unknown>;
|
|
86
86
|
runConfig?: RunConfig;
|
|
87
|
+
abortSignal?: AbortSignal;
|
|
87
88
|
}): AsyncGenerator<Event, void, undefined>;
|
|
88
89
|
/**
|
|
89
90
|
* Saves artifacts from the message parts and replaces the inline data with
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Frontmatter, Skill } from './skill.js';
|
|
7
|
+
/**
|
|
8
|
+
* Parses SKILL.md from a raw content string, extracting the YAML frontmatter and the body.
|
|
9
|
+
*
|
|
10
|
+
* @param content - The raw content of the SKILL.md file.
|
|
11
|
+
* @returns An object containing the parsed frontmatter and the remaining markdown body.
|
|
12
|
+
* @throws {Error} If the content is not properly formatted with YAML frontmatter.
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseSkillMdContent(content: string): {
|
|
15
|
+
frontmatter: Frontmatter;
|
|
16
|
+
body: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Load a complete skill, including its instructions and resources, from a directory.
|
|
20
|
+
*
|
|
21
|
+
* @param skillDir - The path to the directory containing the skill definition.
|
|
22
|
+
* @returns A promise that resolves to the fully loaded Skill object.
|
|
23
|
+
*/
|
|
24
|
+
export declare function loadSkillFromDir(skillDir: string): Promise<Skill>;
|
|
25
|
+
/**
|
|
26
|
+
* Validates a skill directory structure and frontmatter without fully loading all resources.
|
|
27
|
+
*
|
|
28
|
+
* @param skillDir - The path to the skill directory to validate.
|
|
29
|
+
* @returns A promise that resolves to an array of validation error messages, or an empty array if valid.
|
|
30
|
+
*/
|
|
31
|
+
export declare function validateSkillDir(skillDir: string): Promise<string[]>;
|
|
32
|
+
/**
|
|
33
|
+
* Loads all skills located within subdirectories of a given base path.
|
|
34
|
+
*
|
|
35
|
+
* @param skillsBasePath - The base directory containing individual skill subdirectories.
|
|
36
|
+
* @returns A promise that resolves to a map of skill names to their corresponding Skill objects.
|
|
37
|
+
*/
|
|
38
|
+
export declare function loadAllSkillsInDir(skillsBasePath: string): Promise<Record<string, Skill>>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Frontmatter, Skill } from './skill.js';
|
|
7
|
+
/**
|
|
8
|
+
* Formats available skills into a standard XML string.
|
|
9
|
+
*
|
|
10
|
+
* @param skills A list of skill frontmatter or full skill objects.
|
|
11
|
+
* @returns XML string with <available_skills> block.
|
|
12
|
+
*/
|
|
13
|
+
export declare function formatSkillsAsXml(skills: Array<Skill | Frontmatter>): string;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
export declare const SNAKE_OR_KEBAB_NAME_PATTERN: RegExp;
|
|
8
|
+
/**
|
|
9
|
+
* Schema and Type for Skill Frontmatter metadata.
|
|
10
|
+
*/
|
|
11
|
+
export declare const FrontmatterSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
|
|
12
|
+
name: z.ZodString;
|
|
13
|
+
description: z.ZodString;
|
|
14
|
+
license: z.ZodOptional<z.ZodString>;
|
|
15
|
+
compatibility: z.ZodOptional<z.ZodString>;
|
|
16
|
+
'allowed-tools': z.ZodOptional<z.ZodString>;
|
|
17
|
+
metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
18
|
+
}, z.core.$loose>>;
|
|
19
|
+
export interface Frontmatter {
|
|
20
|
+
name: string;
|
|
21
|
+
description: string;
|
|
22
|
+
license?: string;
|
|
23
|
+
compatibility?: string;
|
|
24
|
+
allowedTools?: string;
|
|
25
|
+
metadata?: Record<string, unknown>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Wrapper for script content.
|
|
29
|
+
*/
|
|
30
|
+
export interface Script {
|
|
31
|
+
src: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* L3 skill content: additional instructions, assets, and scripts.
|
|
35
|
+
*/
|
|
36
|
+
export interface Resources {
|
|
37
|
+
references?: Record<string, string | Buffer>;
|
|
38
|
+
assets?: Record<string, string | Buffer>;
|
|
39
|
+
scripts?: Record<string, Script>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Complete skill representation including frontmatter, instructions, and resources.
|
|
43
|
+
*/
|
|
44
|
+
export interface Skill {
|
|
45
|
+
frontmatter: Frontmatter;
|
|
46
|
+
instructions: string;
|
|
47
|
+
resources?: Resources;
|
|
48
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FunctionDeclaration } from '@google/genai';
|
|
7
|
+
import { BaseTool, RunAsyncToolRequest } from '../base_tool.js';
|
|
8
|
+
import { SkillToolset } from './skill_toolset.js';
|
|
9
|
+
export declare class ListSkillsTool extends BaseTool {
|
|
10
|
+
private toolset;
|
|
11
|
+
constructor(toolset: SkillToolset);
|
|
12
|
+
_getDeclaration(): FunctionDeclaration;
|
|
13
|
+
runAsync(_request: RunAsyncToolRequest): Promise<unknown>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FunctionDeclaration } from '@google/genai';
|
|
7
|
+
import { BaseTool, RunAsyncToolRequest, ToolProcessLlmRequest } from '../base_tool.js';
|
|
8
|
+
import { SkillToolset } from './skill_toolset.js';
|
|
9
|
+
export declare class LoadSkillResourceTool extends BaseTool {
|
|
10
|
+
private toolset;
|
|
11
|
+
constructor(toolset: SkillToolset);
|
|
12
|
+
_getDeclaration(): FunctionDeclaration;
|
|
13
|
+
runAsync({ args }: RunAsyncToolRequest): Promise<unknown>;
|
|
14
|
+
processLlmRequest(request: ToolProcessLlmRequest): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FunctionDeclaration } from '@google/genai';
|
|
7
|
+
import { BaseTool, RunAsyncToolRequest } from '../base_tool.js';
|
|
8
|
+
import { SkillToolset } from './skill_toolset.js';
|
|
9
|
+
export declare class LoadSkillTool extends BaseTool {
|
|
10
|
+
private toolset;
|
|
11
|
+
constructor(toolset: SkillToolset);
|
|
12
|
+
_getDeclaration(): FunctionDeclaration;
|
|
13
|
+
runAsync({ args, toolContext, }: RunAsyncToolRequest): Promise<unknown>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FunctionDeclaration } from '@google/genai';
|
|
7
|
+
import { BaseTool, RunAsyncToolRequest } from '../base_tool.js';
|
|
8
|
+
import { SkillToolset } from './skill_toolset.js';
|
|
9
|
+
export declare class RunSkillInlineScriptTool extends BaseTool {
|
|
10
|
+
private toolset;
|
|
11
|
+
constructor(toolset: SkillToolset);
|
|
12
|
+
_getDeclaration(): FunctionDeclaration;
|
|
13
|
+
runAsync({ args, toolContext, }: RunAsyncToolRequest): Promise<unknown>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FunctionDeclaration } from '@google/genai';
|
|
7
|
+
import { File } from '../../code_executors/code_execution_utils.js';
|
|
8
|
+
import { Skill } from '../../skills/skill.js';
|
|
9
|
+
import { BaseTool, RunAsyncToolRequest } from '../base_tool.js';
|
|
10
|
+
import { SkillToolset } from './skill_toolset.js';
|
|
11
|
+
export declare class RunSkillScriptTool extends BaseTool {
|
|
12
|
+
private toolset;
|
|
13
|
+
constructor(toolset: SkillToolset);
|
|
14
|
+
_getDeclaration(): FunctionDeclaration;
|
|
15
|
+
runAsync({ args, toolContext, }: RunAsyncToolRequest): Promise<unknown>;
|
|
16
|
+
}
|
|
17
|
+
export declare function getSkillResourceFiles(skill: Skill): File[];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Context } from '../../agents/context.js';
|
|
7
|
+
import { ReadonlyContext } from '../../agents/readonly_context.js';
|
|
8
|
+
import { BaseCodeExecutor } from '../../code_executors/base_code_executor.js';
|
|
9
|
+
import { LlmRequest } from '../../models/llm_request.js';
|
|
10
|
+
import { Skill } from '../../skills/skill.js';
|
|
11
|
+
import { BaseTool } from '../base_tool.js';
|
|
12
|
+
import { BaseToolset } from '../base_toolset.js';
|
|
13
|
+
export declare class SkillToolset extends BaseToolset {
|
|
14
|
+
skills: Record<string, Skill>;
|
|
15
|
+
private tools;
|
|
16
|
+
additionalTools: Array<BaseTool | BaseToolset>;
|
|
17
|
+
codeExecutor?: BaseCodeExecutor;
|
|
18
|
+
private toolCache;
|
|
19
|
+
constructor(skills: Record<string, Skill> | Skill[], options?: {
|
|
20
|
+
codeExecutor?: BaseCodeExecutor;
|
|
21
|
+
additionalTools?: Array<BaseTool | BaseToolset>;
|
|
22
|
+
});
|
|
23
|
+
getTools(context?: ReadonlyContext): Promise<BaseTool[]>;
|
|
24
|
+
close(): Promise<void>;
|
|
25
|
+
getSkill(name: string): Skill | undefined;
|
|
26
|
+
processLlmRequest(toolContext: Context, llmRequest: LlmRequest): Promise<void>;
|
|
27
|
+
private resolveAdditionalTools;
|
|
28
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Decorator to mark classes and methods as experimental.
|
|
8
|
+
* Logs a warning once per item when the class is instantiated or the method is called.
|
|
9
|
+
*/
|
|
10
|
+
export type Constructor = new (...args: unknown[]) => any;
|
|
11
|
+
export declare function experimental<T extends Constructor | object, P extends string | symbol | undefined = undefined>(target: T, propertyKey?: P, descriptor?: PropertyDescriptor): P extends undefined ? T : PropertyDescriptor;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Type definition for a function that selects an item based on the context.
|
|
8
|
+
*/
|
|
9
|
+
export type Router<T, C> = (items: Readonly<Record<string, T>>, context: C, errorContext?: {
|
|
10
|
+
failedKeys: ReadonlySet<string>;
|
|
11
|
+
lastError: unknown;
|
|
12
|
+
}) => Promise<string | undefined> | string | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Runs a core operation with selection and failover support.
|
|
15
|
+
* Internal helper to unify Promise and Generator logic.
|
|
16
|
+
*/
|
|
17
|
+
export declare function runWithRouting<T, C, TYield>(items: Readonly<Record<string, T>>, context: C, router: Router<T, C>, runFn: (item: T) => AsyncGenerator<TYield, void, void> | Promise<TYield>): AsyncGenerator<TYield, void, void>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { CodeExecutionLanguage, FileContentEncoding } from '../code_executors/code_execution_utils.js';
|
|
7
|
+
/**
|
|
8
|
+
* Gets the MIME type and file content encoding for a given file extension.
|
|
9
|
+
* @param ext The file extension (e.g., '.js', '.png').
|
|
10
|
+
* @returns An object containing the mimeType and encoding.
|
|
11
|
+
*/
|
|
12
|
+
export declare function getMimeTypeAndEncoding(ext: string): {
|
|
13
|
+
mimeType: string;
|
|
14
|
+
encoding: FileContentEncoding;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Gets the code execution language for a given file extension.
|
|
18
|
+
* @param ext The file extension (e.g., '.js', '.py').
|
|
19
|
+
* @returns The code execution language.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getScriptLanguageByExtension(ext: string): CodeExecutionLanguage;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { File } from '../code_executors/code_execution_utils.js';
|
|
7
|
+
/**
|
|
8
|
+
* Creates files with the given paths in the current working directory.
|
|
9
|
+
* @param files The files to materialize.
|
|
10
|
+
*/
|
|
11
|
+
export declare function materializeFiles(files: File[], dir?: string): Promise<File[]>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { GenerateContentResponse } from '@google/genai';
|
|
7
|
+
import { LlmResponse } from '../models/llm_response.js';
|
|
8
|
+
/**
|
|
9
|
+
* Aggregates partial streaming responses.
|
|
10
|
+
*
|
|
11
|
+
* It aggregates content from partial responses, and generates LlmResponses for
|
|
12
|
+
* individual (partial) model responses, as well as for aggregated content.
|
|
13
|
+
*/
|
|
14
|
+
export declare class StreamingResponseAggregator {
|
|
15
|
+
private readonly isProgressiveMode;
|
|
16
|
+
private usageMetadata?;
|
|
17
|
+
private groundingMetadata?;
|
|
18
|
+
private citationMetadata?;
|
|
19
|
+
private response?;
|
|
20
|
+
private text;
|
|
21
|
+
private thoughtText;
|
|
22
|
+
private partsSequence;
|
|
23
|
+
private currentTextBuffer;
|
|
24
|
+
private currentTextIsThought?;
|
|
25
|
+
private finishReason?;
|
|
26
|
+
private currentFcName?;
|
|
27
|
+
private currentFcArgs;
|
|
28
|
+
private currentFcId?;
|
|
29
|
+
private currentThoughtSignature?;
|
|
30
|
+
private lastThoughtSignature?;
|
|
31
|
+
constructor(isProgressiveMode?: boolean);
|
|
32
|
+
private flushTextBufferToSequence;
|
|
33
|
+
private getValueFromPartialArg;
|
|
34
|
+
private setValueByJsonPath;
|
|
35
|
+
private flushFunctionCallToSequence;
|
|
36
|
+
private processStreamingFunctionCall;
|
|
37
|
+
private processFunctionCallPart;
|
|
38
|
+
processResponse(response: GenerateContentResponse): AsyncGenerator<LlmResponse, void, void>;
|
|
39
|
+
close(): LlmResponse | undefined;
|
|
40
|
+
}
|
package/dist/types/version.d.ts
CHANGED
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
5
3
|
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
6
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
-
var __spreadValues = (a, b) => {
|
|
8
|
-
for (var prop in b || (b = {}))
|
|
9
|
-
if (__hasOwnProp.call(b, prop))
|
|
10
|
-
__defNormalProp(a, prop, b[prop]);
|
|
11
|
-
if (__getOwnPropSymbols)
|
|
12
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
13
|
-
if (__propIsEnum.call(b, prop))
|
|
14
|
-
__defNormalProp(a, prop, b[prop]);
|
|
15
|
-
}
|
|
16
|
-
return a;
|
|
17
|
-
};
|
|
18
4
|
var __await = function(promise, isYieldStar) {
|
|
19
5
|
this[0] = promise;
|
|
20
6
|
this[1] = isYieldStar;
|
|
@@ -59,17 +45,24 @@ class RemoteA2AAgent extends BaseAgent {
|
|
|
59
45
|
super(a2aConfig);
|
|
60
46
|
this.a2aConfig = a2aConfig;
|
|
61
47
|
this.isInitialized = false;
|
|
62
|
-
if (!a2aConfig.agentCard) {
|
|
63
|
-
throw new Error("AgentCard must be provided");
|
|
48
|
+
if (!a2aConfig.agentCard && !a2aConfig.client) {
|
|
49
|
+
throw new Error("Either AgentCard or Client must be provided");
|
|
64
50
|
}
|
|
65
51
|
}
|
|
66
52
|
async init() {
|
|
67
53
|
if (this.isInitialized) {
|
|
68
54
|
return;
|
|
69
55
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
56
|
+
if (this.a2aConfig.client) {
|
|
57
|
+
this.client = this.a2aConfig.client;
|
|
58
|
+
}
|
|
59
|
+
if (this.a2aConfig.agentCard) {
|
|
60
|
+
this.card = await resolveAgentCard(this.a2aConfig.agentCard);
|
|
61
|
+
if (!this.client) {
|
|
62
|
+
const factory = this.a2aConfig.clientFactory || new ClientFactory();
|
|
63
|
+
this.client = await factory.createFromAgentCard(this.card);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
73
66
|
this.isInitialized = true;
|
|
74
67
|
}
|
|
75
68
|
runAsyncImpl(context) {
|
|
@@ -106,11 +99,11 @@ class RemoteA2AAgent extends BaseAgent {
|
|
|
106
99
|
messageId: randomUUID(),
|
|
107
100
|
role: MessageRole.USER,
|
|
108
101
|
parts,
|
|
109
|
-
metadata:
|
|
102
|
+
metadata: getA2ASessionMetadata({
|
|
110
103
|
appName: context.session.appName,
|
|
111
104
|
userId: context.session.userId,
|
|
112
105
|
sessionId: context.session.id
|
|
113
|
-
})
|
|
106
|
+
})
|
|
114
107
|
};
|
|
115
108
|
if (taskId) message.taskId = taskId;
|
|
116
109
|
if (contextId) message.contextId = contextId;
|
|
@@ -124,7 +117,7 @@ class RemoteA2AAgent extends BaseAgent {
|
|
|
124
117
|
yield new __await(callback(context, params));
|
|
125
118
|
}
|
|
126
119
|
}
|
|
127
|
-
const useStreaming = ((_b = this.card.capabilities) == null ? void 0 : _b.streaming) !== false;
|
|
120
|
+
const useStreaming = this.card ? ((_b = this.card.capabilities) == null ? void 0 : _b.streaming) !== false : true;
|
|
128
121
|
if (useStreaming) {
|
|
129
122
|
try {
|
|
130
123
|
for (var iter = __forAwait(this.client.sendMessageStream(params)), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
1
3
|
/**
|
|
2
4
|
* @license
|
|
3
5
|
* Copyright 2026 Google LLC
|
|
@@ -157,6 +159,13 @@ class A2ARemoteAgentRunProcessor {
|
|
|
157
159
|
}
|
|
158
160
|
if (response) {
|
|
159
161
|
toAdd["response"] = response;
|
|
162
|
+
if (isTask(response)) {
|
|
163
|
+
if (response.id) toAdd["task_id"] = response.id;
|
|
164
|
+
if (response.contextId) toAdd["context_id"] = response.contextId;
|
|
165
|
+
} else if (response.taskId) {
|
|
166
|
+
toAdd["task_id"] = response.taskId;
|
|
167
|
+
if (response.contextId) toAdd["context_id"] = response.contextId;
|
|
168
|
+
}
|
|
160
169
|
}
|
|
161
170
|
if (Object.keys(toAdd).length === 0) {
|
|
162
171
|
return;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
1
3
|
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
2
4
|
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
5
|
/**
|