@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,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Part } from '@google/genai';
|
|
7
|
+
import { ArtifactVersion, BaseArtifactService, DeleteArtifactRequest, ListArtifactKeysRequest, ListVersionsRequest, LoadArtifactRequest, SaveArtifactRequest } from './base_artifact_service.js';
|
|
8
|
+
/**
|
|
9
|
+
* Service for managing artifacts stored on the local filesystem.
|
|
10
|
+
*
|
|
11
|
+
* Stores filesystem-backed artifacts beneath a configurable root directory.
|
|
12
|
+
*
|
|
13
|
+
* Storage layout matches the cloud and in-memory services:
|
|
14
|
+
* root/
|
|
15
|
+
* └── users/
|
|
16
|
+
* └── {userId}/
|
|
17
|
+
* ├── sessions/
|
|
18
|
+
* │ └── {sessionId}/
|
|
19
|
+
* │ └── artifacts/
|
|
20
|
+
* │ └── {artifactPath}/ // derived from filename
|
|
21
|
+
* │ └── versions/
|
|
22
|
+
* │ └── {version}/
|
|
23
|
+
* │ ├── {originalFilename}
|
|
24
|
+
* │ └── metadata.json
|
|
25
|
+
* └── artifacts/
|
|
26
|
+
* └── {artifactPath}/...
|
|
27
|
+
*
|
|
28
|
+
* Artifact paths are derived from the provided filenames: separators create
|
|
29
|
+
* nested directories, and path traversal is rejected to keep the layout
|
|
30
|
+
* portable across filesystems. `{artifactPath}` therefore mirrors the
|
|
31
|
+
* sanitized, scope-relative path derived from each filename.
|
|
32
|
+
*/
|
|
33
|
+
export declare class FileArtifactService implements BaseArtifactService {
|
|
34
|
+
private readonly rootDir;
|
|
35
|
+
constructor(rootDirOrUri: string);
|
|
36
|
+
saveArtifact({ userId, sessionId, filename, artifact, customMetadata, }: SaveArtifactRequest): Promise<number>;
|
|
37
|
+
loadArtifact({ userId, sessionId, filename, version, }: LoadArtifactRequest): Promise<Part | undefined>;
|
|
38
|
+
listArtifactKeys({ userId, sessionId, }: ListArtifactKeysRequest): Promise<string[]>;
|
|
39
|
+
deleteArtifact({ userId, sessionId, filename, }: DeleteArtifactRequest): Promise<void>;
|
|
40
|
+
listVersions({ userId, sessionId, filename, }: ListVersionsRequest): Promise<number[]>;
|
|
41
|
+
listArtifactVersions({ userId, sessionId, filename, }: ListVersionsRequest): Promise<ArtifactVersion[]>;
|
|
42
|
+
getArtifactVersion({ userId, sessionId, filename, version, }: LoadArtifactRequest): Promise<ArtifactVersion | undefined>;
|
|
43
|
+
}
|
|
44
|
+
export declare function assertSafeSegment(value: string, label: string): void;
|
|
45
|
+
export declare function assertInsideRoot(resolvedPath: string, rootDir: string, label: string): void;
|
|
46
|
+
export declare function getUserRoot(rootDir: string, userId: string): string;
|
|
47
|
+
export declare function getSessionArtifactsDir(baseRoot: string, sessionId: string): string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Part } from '@google/genai';
|
|
7
|
+
import { ArtifactVersion, BaseArtifactService, DeleteArtifactRequest, ListArtifactKeysRequest, ListVersionsRequest, LoadArtifactRequest, SaveArtifactRequest } from './base_artifact_service.js';
|
|
8
|
+
export declare class GcsArtifactService implements BaseArtifactService {
|
|
9
|
+
private readonly bucket;
|
|
10
|
+
constructor(bucket: string);
|
|
11
|
+
saveArtifact(request: SaveArtifactRequest): Promise<number>;
|
|
12
|
+
loadArtifact(request: LoadArtifactRequest): Promise<Part | undefined>;
|
|
13
|
+
listArtifactKeys(request: ListArtifactKeysRequest): Promise<string[]>;
|
|
14
|
+
deleteArtifact(request: DeleteArtifactRequest): Promise<void>;
|
|
15
|
+
listVersions(request: ListVersionsRequest): Promise<number[]>;
|
|
16
|
+
listArtifactVersions(request: ListVersionsRequest): Promise<ArtifactVersion[]>;
|
|
17
|
+
getArtifactVersion(request: LoadArtifactRequest): Promise<ArtifactVersion | undefined>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Part } from '@google/genai';
|
|
7
|
+
import { ArtifactVersion, BaseArtifactService, DeleteArtifactRequest, ListArtifactKeysRequest, ListVersionsRequest, LoadArtifactRequest, SaveArtifactRequest } from './base_artifact_service.js';
|
|
8
|
+
export declare function isInMemoryConnectionString(uri: string): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* An in-memory implementation of the ArtifactService.
|
|
11
|
+
*/
|
|
12
|
+
export declare class InMemoryArtifactService implements BaseArtifactService {
|
|
13
|
+
private readonly artifacts;
|
|
14
|
+
saveArtifact({ appName, userId, sessionId, filename, artifact, customMetadata, }: SaveArtifactRequest): Promise<number>;
|
|
15
|
+
loadArtifact({ appName, userId, sessionId, filename, version, }: LoadArtifactRequest): Promise<Part | undefined>;
|
|
16
|
+
listArtifactKeys({ appName, userId, sessionId, }: ListArtifactKeysRequest): Promise<string[]>;
|
|
17
|
+
deleteArtifact({ appName, userId, sessionId, filename, }: DeleteArtifactRequest): Promise<void>;
|
|
18
|
+
listVersions({ appName, userId, sessionId, filename, }: ListVersionsRequest): Promise<number[]>;
|
|
19
|
+
listArtifactVersions({ appName, userId, sessionId, filename, }: ListVersionsRequest): Promise<ArtifactVersion[]>;
|
|
20
|
+
getArtifactVersion({ appName, userId, sessionId, filename, version, }: LoadArtifactRequest): Promise<ArtifactVersion | undefined>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Represents the secret token value for HTTP authentication, like user name,
|
|
8
|
+
* password, oauth token, etc.
|
|
9
|
+
*/
|
|
10
|
+
export interface HttpCredentials {
|
|
11
|
+
username?: string;
|
|
12
|
+
password?: string;
|
|
13
|
+
token?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The credentials and metadata for HTTP authentication.
|
|
17
|
+
*/
|
|
18
|
+
export interface HttpAuth {
|
|
19
|
+
/**
|
|
20
|
+
* The name of the HTTP Authorization scheme to be used in the Authorization
|
|
21
|
+
* header as defined in RFC7235. The values used SHOULD be registered in the
|
|
22
|
+
* IANA Authentication Scheme registry.
|
|
23
|
+
* Examples: 'basic', 'bearer'
|
|
24
|
+
*/
|
|
25
|
+
scheme: string;
|
|
26
|
+
credentials: HttpCredentials;
|
|
27
|
+
/**
|
|
28
|
+
* Additional HTTP headers to include in the request.
|
|
29
|
+
*/
|
|
30
|
+
additionalHeaders?: Record<string, string>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Represents credential value and its metadata for a OAuth2 credential.
|
|
34
|
+
*/
|
|
35
|
+
export interface OAuth2Auth {
|
|
36
|
+
clientId?: string;
|
|
37
|
+
clientSecret?: string;
|
|
38
|
+
/**
|
|
39
|
+
* tool or adk can generate the authUri with the state info thus client can
|
|
40
|
+
* verify the state
|
|
41
|
+
*/
|
|
42
|
+
authUri?: string;
|
|
43
|
+
nonce?: string;
|
|
44
|
+
state?: string;
|
|
45
|
+
codeVerifier?: string;
|
|
46
|
+
/**
|
|
47
|
+
* tool or adk can decide the redirect_uri if they don't want client to decide
|
|
48
|
+
*/
|
|
49
|
+
redirectUri?: string;
|
|
50
|
+
authResponseUri?: string;
|
|
51
|
+
authCode?: string;
|
|
52
|
+
accessToken?: string;
|
|
53
|
+
refreshToken?: string;
|
|
54
|
+
idToken?: string;
|
|
55
|
+
expiresAt?: number;
|
|
56
|
+
expiresIn?: number;
|
|
57
|
+
audience?: string;
|
|
58
|
+
tokenEndpointAuthMethod?: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Represents Google Service Account configuration.
|
|
62
|
+
* @example
|
|
63
|
+
* config = {
|
|
64
|
+
* type: "service_account",
|
|
65
|
+
* projectId: "your_project_id",
|
|
66
|
+
* privateKeyId: "your_private_key_id",
|
|
67
|
+
* privateKey: "-----BEGIN PRIVATE KEY-----...",
|
|
68
|
+
* clientEmail: "...@....iam.gserviceaccount.com",
|
|
69
|
+
* clientId: "your_client_id",
|
|
70
|
+
* authUri: "https://accounts.google.com/o/oauth2/auth",
|
|
71
|
+
* tokenUri: "https://oauth2.googleapis.com/token",
|
|
72
|
+
* authProviderX509CertUrl: "https://www.googleapis.com/oauth2/v1/certs",
|
|
73
|
+
* clientX509CertUrl: "https://www.googleapis.com/robot/v1/metadata/x509/...",
|
|
74
|
+
* universeDomain: "googleapis.com",
|
|
75
|
+
* }
|
|
76
|
+
*/
|
|
77
|
+
export interface ServiceAccountCredential {
|
|
78
|
+
/**
|
|
79
|
+
* The type should be 'service_account'.
|
|
80
|
+
*/
|
|
81
|
+
type: 'service_account';
|
|
82
|
+
/**
|
|
83
|
+
* The project ID of the Google Cloud project.
|
|
84
|
+
*/
|
|
85
|
+
projectId: string;
|
|
86
|
+
/**
|
|
87
|
+
* The ID of the private key.
|
|
88
|
+
*/
|
|
89
|
+
privateKeyId: string;
|
|
90
|
+
/**
|
|
91
|
+
* The private key value.
|
|
92
|
+
*/
|
|
93
|
+
privateKey: string;
|
|
94
|
+
/**
|
|
95
|
+
* The client email.
|
|
96
|
+
*/
|
|
97
|
+
clientEmail: string;
|
|
98
|
+
/**
|
|
99
|
+
* The client ID.
|
|
100
|
+
*/
|
|
101
|
+
clientId: string;
|
|
102
|
+
/**
|
|
103
|
+
* The authorization URI.
|
|
104
|
+
*/
|
|
105
|
+
authUri: string;
|
|
106
|
+
/**
|
|
107
|
+
* The token URI.
|
|
108
|
+
*/
|
|
109
|
+
tokenUri: string;
|
|
110
|
+
/**
|
|
111
|
+
* URL for auth provider's X.509 cert.
|
|
112
|
+
*/
|
|
113
|
+
authProviderX509CertUrl: string;
|
|
114
|
+
/**
|
|
115
|
+
* URL for the client's X.509 cert.
|
|
116
|
+
*/
|
|
117
|
+
clientX509CertUrl: string;
|
|
118
|
+
/**
|
|
119
|
+
* The universe domain.
|
|
120
|
+
*/
|
|
121
|
+
universeDomain: string;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Represents Google Service Account configuration.
|
|
125
|
+
*/
|
|
126
|
+
export interface ServiceAccount {
|
|
127
|
+
serviceAccountCredential?: ServiceAccountCredential;
|
|
128
|
+
scopes?: string[];
|
|
129
|
+
useDefaultCredential?: boolean;
|
|
130
|
+
/**
|
|
131
|
+
* If true, get an ID token instead of an access token.
|
|
132
|
+
*/
|
|
133
|
+
useIdToken?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* The audience for the ID token. Required if useIdToken is true.
|
|
136
|
+
*/
|
|
137
|
+
audience?: string;
|
|
138
|
+
}
|
|
139
|
+
export declare enum AuthCredentialTypes {
|
|
140
|
+
/**
|
|
141
|
+
* API Key credential:
|
|
142
|
+
* @see {@link https://swagger.io/docs/specification/v3_0/authentication/api-keys/}
|
|
143
|
+
*/
|
|
144
|
+
API_KEY = "apiKey",
|
|
145
|
+
/**
|
|
146
|
+
* Credentials for HTTP Auth schemes:
|
|
147
|
+
* @see {@link https://www.iana.org/assignments/http-authschemes/http-auth-schemes.xhtml}
|
|
148
|
+
*/
|
|
149
|
+
HTTP = "http",
|
|
150
|
+
/**
|
|
151
|
+
* OAuth2 credentials:
|
|
152
|
+
* @see {@link https://swagger.io/docs/specification/v3_0/authentication/oauth2/}
|
|
153
|
+
*/
|
|
154
|
+
OAUTH2 = "oauth2",
|
|
155
|
+
/**
|
|
156
|
+
* Open ID Connect credentials:
|
|
157
|
+
* @see {@link https://swagger.io/docs/specification/v3_0/authentication/openid-connect-discovery/}
|
|
158
|
+
*/
|
|
159
|
+
OPEN_ID_CONNECT = "openIdConnect",
|
|
160
|
+
/**
|
|
161
|
+
* Service Account credentials:
|
|
162
|
+
* @see {@link https://cloud.google.com/iam/docs/service-account-creds}
|
|
163
|
+
*/
|
|
164
|
+
SERVICE_ACCOUNT = "serviceAccount"
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Data class representing an authentication credential.
|
|
168
|
+
*
|
|
169
|
+
* To exchange for the actual credential, please use
|
|
170
|
+
* CredentialExchanger.exchangeCredential().
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* // API Key Auth
|
|
174
|
+
* const authCredential: AuthCredential = {
|
|
175
|
+
* authType: AuthCredentialTypes.API_KEY,
|
|
176
|
+
* apiKey: "your_api_key",
|
|
177
|
+
* };
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* // HTTP Auth
|
|
181
|
+
* const authCredential: AuthCredential = {
|
|
182
|
+
* authType: AuthCredentialTypes.HTTP,
|
|
183
|
+
* http: {
|
|
184
|
+
* scheme: "basic",
|
|
185
|
+
* credentials: {
|
|
186
|
+
* username: "user",
|
|
187
|
+
* password: "password",
|
|
188
|
+
* },
|
|
189
|
+
* }
|
|
190
|
+
* }
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* // OAuth2 Bearer Token in HTTP Header
|
|
194
|
+
* const authCredential: AuthCredential = {
|
|
195
|
+
* authType: AuthCredentialTypes.HTTP,
|
|
196
|
+
* http: {
|
|
197
|
+
* scheme: "bearer",
|
|
198
|
+
* credentials: {
|
|
199
|
+
* token: "your_access_token",
|
|
200
|
+
* },
|
|
201
|
+
* }
|
|
202
|
+
* }
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* // OAuth2 Auth with Authorization Code Flow
|
|
206
|
+
* const authCredential: AuthCredential = {
|
|
207
|
+
* authType: AuthCredentialTypes.OAUTH2,
|
|
208
|
+
* oauth2: {
|
|
209
|
+
* clientId: "your_client_id",
|
|
210
|
+
* clientSecret: "your_client_secret",
|
|
211
|
+
* }
|
|
212
|
+
* }
|
|
213
|
+
*
|
|
214
|
+
* @example:
|
|
215
|
+
* // Open ID Connect Auth
|
|
216
|
+
* const authCredential: AuthCredential = {
|
|
217
|
+
* authType: AuthCredentialTypes.OPEN_ID_CONNECT,
|
|
218
|
+
* oauth2: {
|
|
219
|
+
* clientId: "1234",
|
|
220
|
+
* clientSecret: "secret",
|
|
221
|
+
* redirectUri: "https://example.com",
|
|
222
|
+
* scopes: ["scope1", "scope2"],
|
|
223
|
+
* }
|
|
224
|
+
* }
|
|
225
|
+
*
|
|
226
|
+
* @example:
|
|
227
|
+
* // Auth with resource reference
|
|
228
|
+
* const authCredential: AuthCredential = {
|
|
229
|
+
* authType: AuthCredentialTypes.API_KEY,
|
|
230
|
+
* resourceRef: "projects/1234/locations/us-central1/resources/resource1"
|
|
231
|
+
* }
|
|
232
|
+
*/
|
|
233
|
+
export interface AuthCredential {
|
|
234
|
+
authType: AuthCredentialTypes;
|
|
235
|
+
/**
|
|
236
|
+
* Resource reference for the credential.
|
|
237
|
+
* This will be supported in the future.
|
|
238
|
+
*/
|
|
239
|
+
resourceRef?: string;
|
|
240
|
+
apiKey?: string;
|
|
241
|
+
http?: HttpAuth;
|
|
242
|
+
serviceAccount?: ServiceAccount;
|
|
243
|
+
oauth2?: OAuth2Auth;
|
|
244
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { State } from '../sessions/state.js';
|
|
7
|
+
import { AuthCredential } from './auth_credential.js';
|
|
8
|
+
import { AuthConfig } from './auth_tool.js';
|
|
9
|
+
/**
|
|
10
|
+
* A handler that handles the auth flow in Agent Development Kit to help
|
|
11
|
+
* orchestrates the credential request and response flow (e.g. OAuth flow)
|
|
12
|
+
* This class should only be used by Agent Development Kit.
|
|
13
|
+
*/
|
|
14
|
+
export declare class AuthHandler {
|
|
15
|
+
private readonly authConfig;
|
|
16
|
+
constructor(authConfig: AuthConfig);
|
|
17
|
+
getAuthResponse(state: State): AuthCredential | undefined;
|
|
18
|
+
parseAndStoreAuthResponse(state: State): Promise<void>;
|
|
19
|
+
generateAuthRequest(): AuthConfig;
|
|
20
|
+
/**
|
|
21
|
+
* Generates an response containing the auth uri for user to sign in.
|
|
22
|
+
*
|
|
23
|
+
* @return An AuthCredential object containing the auth URI and state.
|
|
24
|
+
* @throws Error: If the authorization endpoint is not configured in the
|
|
25
|
+
* auth scheme.
|
|
26
|
+
*/
|
|
27
|
+
generateAuthUri(): AuthCredential | undefined;
|
|
28
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { InvocationContext } from '../agents/invocation_context.js';
|
|
7
|
+
import { BaseLlmRequestProcessor } from '../agents/processors/base_llm_processor.js';
|
|
8
|
+
import { Event } from '../events/event.js';
|
|
9
|
+
export declare class AuthPreprocessor extends BaseLlmRequestProcessor {
|
|
10
|
+
runAsync(invocationContext: InvocationContext): AsyncGenerator<Event, void, void>;
|
|
11
|
+
}
|
|
12
|
+
export declare const AUTH_PREPROCESSOR: AuthPreprocessor;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { AuthScheme } from './auth_schemes.js';
|
|
7
|
+
import { BaseAuthProvider } from './base_auth_provider.js';
|
|
8
|
+
/**
|
|
9
|
+
* Registry for auth provider instances.
|
|
10
|
+
*/
|
|
11
|
+
export declare class AuthProviderRegistry {
|
|
12
|
+
private readonly providers;
|
|
13
|
+
/**
|
|
14
|
+
* Register a provider instance for an auth scheme type.
|
|
15
|
+
*
|
|
16
|
+
* @param authSchemeType The auth scheme type (e.g., 'oauth2', 'apiKey').
|
|
17
|
+
* @param providerInstance The provider instance to register.
|
|
18
|
+
*/
|
|
19
|
+
register(authSchemeType: string, providerInstance: BaseAuthProvider): void;
|
|
20
|
+
/**
|
|
21
|
+
* Get the provider instance for an auth scheme.
|
|
22
|
+
*
|
|
23
|
+
* @param authScheme The auth scheme to get provider for.
|
|
24
|
+
* @returns The provider instance if registered, undefined otherwise.
|
|
25
|
+
*/
|
|
26
|
+
getProvider(authScheme: AuthScheme): BaseAuthProvider | undefined;
|
|
27
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { OpenAPIV3 } from 'openapi-types';
|
|
7
|
+
type Oauth2Flow = OpenAPIV3.OAuth2SecurityScheme['flows'];
|
|
8
|
+
/**
|
|
9
|
+
* OpenIdConnectWithConfig extends OpenIdSecurityScheme with additional
|
|
10
|
+
* configuration options.
|
|
11
|
+
*/
|
|
12
|
+
export interface OpenIdConnectWithConfig extends OpenAPIV3.OpenIdSecurityScheme {
|
|
13
|
+
authorizationEndpoint: string;
|
|
14
|
+
tokenEndpoint: string;
|
|
15
|
+
userinfoEndpoint?: string;
|
|
16
|
+
revocationEndpoint?: string;
|
|
17
|
+
tokenEndpointAuthMethodsSupported?: string[];
|
|
18
|
+
grantTypesSupported?: string[];
|
|
19
|
+
scopes?: string[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* AuthSchemes contains SecuritySchemes from OpenAPI 3.0 and an extra flattened
|
|
23
|
+
* OpenIdConnectWithConfig.
|
|
24
|
+
*/
|
|
25
|
+
export type AuthScheme = OpenAPIV3.SecuritySchemeObject | OpenIdConnectWithConfig;
|
|
26
|
+
/**
|
|
27
|
+
* Represents the OAuth2 flow (or grant type).
|
|
28
|
+
*/
|
|
29
|
+
export declare enum OAuthGrantType {
|
|
30
|
+
CLIENT_CREDENTIALS = "client_credentials",
|
|
31
|
+
AUTHORIZATION_CODE = "authorization_code",
|
|
32
|
+
IMPLICIT = "implicit",
|
|
33
|
+
PASSWORD = "password"
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Converts an OAuthFlows object to a OAuthGrantType.
|
|
37
|
+
*/
|
|
38
|
+
export declare function getOAuthGrantTypeFromFlow(flow: Oauth2Flow): OAuthGrantType | undefined;
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { AuthCredential } from './auth_credential.js';
|
|
7
|
+
import { AuthScheme } from './auth_schemes.js';
|
|
8
|
+
/**
|
|
9
|
+
* The auth config sent by tool asking client to collect auth credentials and
|
|
10
|
+
* adk and client will help to fill in the response.
|
|
11
|
+
*/
|
|
12
|
+
export interface AuthConfig {
|
|
13
|
+
/**
|
|
14
|
+
* The auth scheme used to collect credentials
|
|
15
|
+
*/
|
|
16
|
+
authScheme: AuthScheme;
|
|
17
|
+
/**
|
|
18
|
+
* The raw auth credential used to collect credentials. The raw auth
|
|
19
|
+
* credentials are used in some auth scheme that needs to exchange auth
|
|
20
|
+
* credentials. e.g. OAuth2 and OIDC. For other auth scheme, it could be
|
|
21
|
+
* undefined.
|
|
22
|
+
*/
|
|
23
|
+
rawAuthCredential?: AuthCredential;
|
|
24
|
+
/**
|
|
25
|
+
* The exchanged auth credential used to collect credentials. adk and client
|
|
26
|
+
* will work together to fill it. For those auth scheme that doesn't need to
|
|
27
|
+
* exchange auth credentials, e.g. API key, service account etc. It's filled
|
|
28
|
+
* by client directly. For those auth scheme that need to exchange auth
|
|
29
|
+
* credentials, e.g. OAuth2 and OIDC, it's first filled by adk. If the raw
|
|
30
|
+
* credentials passed by tool only has client id and client credential, adk
|
|
31
|
+
* will help to generate the corresponding authorization uri and state and
|
|
32
|
+
* store the processed credential in this field. If the raw credentials passed
|
|
33
|
+
* by tool already has authorization uri, state, etc. then it's copied to this
|
|
34
|
+
* field. Client will use this field to guide the user through the OAuth2 flow
|
|
35
|
+
* and fill auth response in this field
|
|
36
|
+
*/
|
|
37
|
+
exchangedAuthCredential?: AuthCredential;
|
|
38
|
+
/**
|
|
39
|
+
* A user specified key used to load and save this credential in a credential
|
|
40
|
+
* service.
|
|
41
|
+
*/
|
|
42
|
+
credentialKey: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The arguments for the special long running function tool that is used to
|
|
46
|
+
* request end user credentials.
|
|
47
|
+
*/
|
|
48
|
+
export interface AuthToolArguments {
|
|
49
|
+
functionCallId: string;
|
|
50
|
+
authConfig: AuthConfig;
|
|
51
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { AuthCredential } from './auth_credential.js';
|
|
7
|
+
import { AuthConfig } from './auth_tool.js';
|
|
8
|
+
/**
|
|
9
|
+
* Abstract base interface for custom authentication providers.
|
|
10
|
+
*/
|
|
11
|
+
export interface BaseAuthProvider {
|
|
12
|
+
/**
|
|
13
|
+
* Provide an AuthCredential asynchronously.
|
|
14
|
+
*
|
|
15
|
+
* @param authConfig The current authentication configuration.
|
|
16
|
+
* @param context The current callback context (placeholder).
|
|
17
|
+
* @returns The retrieved AuthCredential, or undefined if unavailable.
|
|
18
|
+
*/
|
|
19
|
+
getAuthCredential(authConfig: AuthConfig, context?: unknown): Promise<AuthCredential | undefined>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Context } from '../../agents/context.js';
|
|
7
|
+
import { AuthCredential } from '../auth_credential.js';
|
|
8
|
+
import { AuthConfig } from '../auth_tool.js';
|
|
9
|
+
/**
|
|
10
|
+
* Abstract class for Service that loads / saves tool credentials from / to the
|
|
11
|
+
* backend credential store.
|
|
12
|
+
*/
|
|
13
|
+
export interface BaseCredentialService {
|
|
14
|
+
/**
|
|
15
|
+
* Loads the credential by auth config and current tool context from the
|
|
16
|
+
* backend credential store.
|
|
17
|
+
*
|
|
18
|
+
* @param authConfig The auth config which contains the auth scheme and auth
|
|
19
|
+
* credential information. auth_config.get_credential_key will be used to
|
|
20
|
+
* build the key to load the credential.
|
|
21
|
+
* @param toolContext The context of the current invocation when the tool is
|
|
22
|
+
* trying to load the credential.
|
|
23
|
+
* @return A promise that resolves to the credential saved in the store.
|
|
24
|
+
*/
|
|
25
|
+
loadCredential(authConfig: AuthConfig, toolContext: Context): Promise<AuthCredential | undefined>;
|
|
26
|
+
saveCredential(authConfig: AuthConfig, toolContext: Context): Promise<void>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Context } from '../../agents/context.js';
|
|
7
|
+
import { AuthCredential } from '../auth_credential.js';
|
|
8
|
+
import { AuthConfig } from '../auth_tool.js';
|
|
9
|
+
import { BaseCredentialService } from './base_credential_service.js';
|
|
10
|
+
/**
|
|
11
|
+
* @experimental (Experimental, subject to change) Class for in memory
|
|
12
|
+
* implementation of credential service
|
|
13
|
+
*/
|
|
14
|
+
export declare class InMemoryCredentialService implements BaseCredentialService {
|
|
15
|
+
private readonly credentials;
|
|
16
|
+
loadCredential(authConfig: AuthConfig, toolContext: Context): Promise<AuthCredential | undefined>;
|
|
17
|
+
saveCredential(authConfig: AuthConfig, toolContext: Context): Promise<void>;
|
|
18
|
+
private getBucketForCurrentContext;
|
|
19
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
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 { AuthCredential } from '../auth_credential.js';
|
|
8
|
+
import { AuthConfig } from '../auth_tool.js';
|
|
9
|
+
import { BaseCredentialService } from './base_credential_service.js';
|
|
10
|
+
/**
|
|
11
|
+
* Class for implementation of credential service using session state as the store.
|
|
12
|
+
*
|
|
13
|
+
* Warning: Storing credentials in session state is insecure. Session state may be
|
|
14
|
+
* persisted in plaintext, logged, or accessible via XSS depending on the runner
|
|
15
|
+
* environment. Use a secure vault or encrypted storage for production applications.
|
|
16
|
+
*/
|
|
17
|
+
export declare class SessionStateCredentialService implements BaseCredentialService {
|
|
18
|
+
loadCredential(authConfig: AuthConfig, toolContext: Context): Promise<AuthCredential | undefined>;
|
|
19
|
+
saveCredential(authConfig: AuthConfig, toolContext: Context): Promise<void>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { AuthCredential } from '../auth_credential.js';
|
|
7
|
+
import { AuthScheme } from '../auth_schemes.js';
|
|
8
|
+
/**
|
|
9
|
+
* Base exception for credential exchange errors.
|
|
10
|
+
*/
|
|
11
|
+
export declare class CredentialExchangeError extends Error {
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Result of a credential exchange.
|
|
15
|
+
*/
|
|
16
|
+
export interface ExchangeResult {
|
|
17
|
+
credential: AuthCredential;
|
|
18
|
+
wasExchanged: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Base interface for credential exchangers.
|
|
22
|
+
*
|
|
23
|
+
* Credential exchangers are responsible for exchanging credentials from
|
|
24
|
+
* one format or scheme to another.
|
|
25
|
+
*/
|
|
26
|
+
export interface BaseCredentialExchanger {
|
|
27
|
+
/**
|
|
28
|
+
* Exchange credential if needed.
|
|
29
|
+
*
|
|
30
|
+
* @param params.authCredential - The credential to exchange.
|
|
31
|
+
* @param params.authScheme - The authentication scheme (optional, some exchangers don't need it).
|
|
32
|
+
* @returns The exchanged credential.
|
|
33
|
+
* @throws CredentialExchangeError: If credential exchange fails.
|
|
34
|
+
*/
|
|
35
|
+
exchange(params: {
|
|
36
|
+
authScheme?: AuthScheme;
|
|
37
|
+
authCredential: AuthCredential;
|
|
38
|
+
}): Promise<ExchangeResult>;
|
|
39
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Credential exchanger registry.
|
|
8
|
+
*/
|
|
9
|
+
import { AuthCredentialTypes } from '../auth_credential.js';
|
|
10
|
+
import { BaseCredentialExchanger } from './base_credential_exchanger.js';
|
|
11
|
+
/**
|
|
12
|
+
* Registry for credential exchanger instances.
|
|
13
|
+
*/
|
|
14
|
+
export declare class CredentialExchangerRegistry {
|
|
15
|
+
private exchangers;
|
|
16
|
+
/**
|
|
17
|
+
* Register an exchanger instance for a credential type.
|
|
18
|
+
* @param credentialType - The credential type to register for.
|
|
19
|
+
* @param exchangerInstance - The exchanger instance to register.
|
|
20
|
+
*/
|
|
21
|
+
register(credentialType: AuthCredentialTypes, exchangerInstance: BaseCredentialExchanger): void;
|
|
22
|
+
/**
|
|
23
|
+
* Get the exchanger instance for a credential type.
|
|
24
|
+
* @param credentialType - The credential type to get exchanger for.
|
|
25
|
+
* @returns The exchanger instance if registered, undefined otherwise.
|
|
26
|
+
*/
|
|
27
|
+
getExchanger(credentialType: AuthCredentialTypes): BaseCredentialExchanger | undefined;
|
|
28
|
+
}
|