@google/adk 1.5.0 → 2.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_event.js +18 -0
- package/dist/cjs/a2a/a2a_remote_agent.js +17 -4
- package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -3
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +9 -2
- package/dist/cjs/a2a/agent_card.js +33 -3
- package/dist/cjs/a2a/agent_executor.js +25 -16
- package/dist/cjs/a2a/agent_to_a2a.js +22 -11
- package/dist/cjs/a2a/auth.js +68 -0
- package/dist/cjs/a2a/event_converter_utils.js +50 -15
- package/dist/cjs/a2a/event_processor_utils.js +71 -35
- package/dist/cjs/a2a/executor_context.js +2 -0
- package/dist/cjs/a2a/index.js +53 -0
- package/dist/cjs/a2a/metadata_converter_utils.js +5 -0
- package/dist/cjs/a2a/part_converter_utils.js +12 -0
- package/dist/cjs/agents/active_streaming_tool.js +5 -2
- package/dist/cjs/agents/base_agent.js +46 -9
- package/dist/cjs/agents/context.js +5 -2
- package/dist/cjs/agents/framework_function_calls.js +64 -0
- package/dist/cjs/agents/functions.js +58 -23
- package/dist/cjs/agents/instructions.js +51 -12
- package/dist/cjs/agents/invocation_context.js +42 -8
- package/dist/cjs/agents/live_request_queue.js +29 -5
- package/dist/cjs/agents/llm_agent.js +536 -45
- package/dist/cjs/agents/loop_agent.js +19 -2
- package/dist/cjs/agents/parallel_agent.js +21 -2
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +7 -4
- package/dist/cjs/agents/processors/base_llm_processor.js +9 -4
- package/dist/cjs/agents/processors/basic_llm_request_processor.js +8 -4
- package/dist/cjs/agents/processors/code_execution_request_processor.js +18 -5
- package/dist/cjs/agents/processors/content_processor_utils.js +85 -15
- package/dist/cjs/agents/processors/content_request_processor.js +11 -25
- package/dist/cjs/agents/processors/context_compactor_request_processor.js +5 -2
- package/dist/cjs/agents/processors/identity_llm_request_processor.js +12 -4
- package/dist/cjs/agents/processors/instructions_llm_request_processor.js +8 -3
- package/dist/cjs/agents/processors/interactions_request_processor.js +5 -2
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +313 -92
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +218 -0
- package/dist/cjs/agents/processors/tool_filter_request_processor.js +5 -2
- package/dist/cjs/agents/readonly_context.js +7 -3
- package/dist/cjs/agents/routed_agent.js +6 -13
- package/dist/cjs/agents/run_config.js +12 -0
- package/dist/cjs/agents/sequential_agent.js +20 -3
- package/dist/cjs/agents/user_input_request.js +145 -0
- package/dist/cjs/apps/app.js +11 -11
- package/dist/cjs/apps/resumability_config.js +2 -0
- package/dist/cjs/artifacts/file_artifact_service.js +21 -2
- package/dist/cjs/artifacts/gcs_artifact_service.js +46 -11
- package/dist/cjs/artifacts/in_memory_artifact_service.js +19 -11
- package/dist/cjs/artifacts/registry.js +6 -1
- package/dist/cjs/artifacts/scoped_artifact_service.js +5 -2
- package/dist/cjs/auth/auth_handler.js +5 -2
- package/dist/cjs/auth/auth_preprocessor.js +48 -40
- package/dist/cjs/auth/auth_provider_registry.js +5 -2
- package/dist/cjs/auth/auth_schemes.js +2 -0
- package/dist/cjs/auth/credential_response_binding.js +101 -0
- package/dist/cjs/auth/credential_service/in_memory_credential_service.js +19 -5
- package/dist/cjs/auth/credential_service/session_state_credential_service.js +5 -2
- package/dist/cjs/auth/exchanger/base_credential_exchanger.js +5 -2
- package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +5 -2
- package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +8 -2
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +5 -2
- package/dist/cjs/auth/oauth2/oauth2_discovery.js +7 -2
- package/dist/cjs/auth/oauth2/oauth2_utils.js +6 -0
- package/dist/cjs/auth/refresher/base_credential_refresher.js +5 -2
- package/dist/cjs/auth/refresher/credential_refresher_registry.js +5 -2
- package/dist/cjs/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/cjs/code_executors/base_code_executor.js +6 -2
- package/dist/cjs/code_executors/built_in_code_executor.js +6 -2
- package/dist/cjs/code_executors/code_execution_utils.js +6 -0
- package/dist/cjs/code_executors/code_executor_context.js +5 -2
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +31 -14
- package/dist/cjs/common.js +112 -1
- package/dist/cjs/context/agent_controlled_context_compactor.js +7 -13
- package/dist/cjs/context/anchored_context_compactor.js +5 -2
- package/dist/cjs/context/compaction_utils.js +17 -2
- package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
- package/dist/cjs/context/token_based_context_compactor.js +11 -23
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +5 -2
- package/dist/cjs/context/truncating_context_compactor.js +5 -2
- package/dist/cjs/environment/base_environment.js +97 -0
- package/dist/cjs/environment/local_environment.js +186 -0
- package/dist/cjs/events/compacted_event.js +4 -0
- package/dist/cjs/events/event.js +38 -3
- package/dist/cjs/events/event_actions.js +5 -0
- package/dist/cjs/events/structured_events.js +2 -0
- package/dist/cjs/examples/base_example_provider.js +6 -2
- package/dist/cjs/examples/example_util.js +3 -0
- package/dist/cjs/features/feature_registry.js +7 -0
- package/dist/cjs/index.js +7 -22
- package/dist/cjs/integrations/agent_registry/agent_registry.js +7 -4
- package/dist/cjs/integrations/agent_registry/agent_registry_mcp_toolset.js +7 -4
- package/dist/cjs/integrations/agent_registry/helpers.js +3 -0
- package/dist/cjs/memory/in_memory_memory_service.js +21 -4
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +20 -2
- package/dist/cjs/models/apigee_llm.js +9 -3
- package/dist/cjs/models/base_llm.js +7 -3
- package/dist/cjs/models/gemini_llm_connection.js +5 -2
- package/dist/cjs/models/google_llm.js +24 -12
- package/dist/cjs/models/interactions_utils.js +16 -0
- package/dist/cjs/models/llm_request.js +4 -0
- package/dist/cjs/models/llm_response.js +2 -0
- package/dist/cjs/models/registry.js +6 -2
- package/dist/cjs/models/routed_llm.js +4 -13
- package/dist/cjs/plugins/base_plugin.js +43 -7
- package/dist/cjs/plugins/global_instruction_plugin.js +5 -2
- package/dist/cjs/plugins/logging_plugin.js +13 -8
- package/dist/cjs/plugins/plugin_manager.js +37 -2
- package/dist/cjs/plugins/security_plugin.js +15 -8
- package/dist/cjs/runner/in_memory_runner.js +5 -2
- package/dist/cjs/runner/runner.js +226 -29
- package/dist/cjs/sessions/base_session_service.js +21 -5
- package/dist/cjs/sessions/database_session_service.js +6 -2
- package/dist/cjs/sessions/db/operations.js +34 -6
- package/dist/cjs/sessions/db/schema.js +16 -8
- package/dist/cjs/sessions/in_memory_session_service.js +30 -22
- package/dist/cjs/sessions/registry.js +4 -1
- package/dist/cjs/sessions/session.js +2 -0
- package/dist/cjs/sessions/state.js +80 -8
- package/dist/cjs/sessions/state_write_order.js +105 -0
- package/dist/cjs/sessions/vertex_ai_session_service.js +132 -25
- package/dist/cjs/skills/gcp_skill_registry.js +2 -0
- package/dist/cjs/skills/loader.js +62 -16
- package/dist/cjs/skills/prompt.js +3 -0
- package/dist/cjs/telemetry/google_cloud.js +42 -9
- package/dist/cjs/telemetry/setup.js +5 -0
- package/dist/cjs/telemetry/tracing.js +60 -4
- package/dist/cjs/tools/agent_tool.js +6 -2
- package/dist/cjs/tools/base_tool.js +24 -2
- package/dist/cjs/tools/base_toolset.js +6 -2
- package/dist/cjs/tools/consolidate_context_tool.js +5 -2
- package/dist/cjs/tools/enterprise_web_search_tool.js +6 -2
- package/dist/cjs/tools/example_tool.js +5 -2
- package/dist/cjs/tools/exit_loop_tool.js +5 -2
- package/dist/cjs/tools/finish_task_tool.js +119 -0
- package/dist/cjs/tools/forwarding_artifact_service.js +5 -2
- package/dist/cjs/tools/function_tool.js +73 -8
- package/dist/cjs/tools/get_user_choice_tool.js +54 -0
- package/dist/cjs/tools/google_maps_grounding_tool.js +6 -2
- package/dist/cjs/tools/google_search_tool.js +5 -2
- package/dist/cjs/tools/load_artifacts_tool.js +8 -2
- package/dist/cjs/tools/load_memory_tool.js +5 -2
- package/dist/cjs/tools/load_web_page.js +21 -1
- package/dist/cjs/tools/long_running_tool.js +5 -2
- package/dist/cjs/tools/mcp/index.js +39 -0
- package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +5 -2
- package/dist/cjs/tools/mcp/mcp_session_manager.js +69 -27
- package/dist/cjs/tools/mcp/mcp_tool.js +5 -2
- package/dist/cjs/tools/mcp/mcp_toolset.js +5 -2
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +4 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/cjs/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/cjs/tools/preload_memory_tool.js +5 -2
- package/dist/cjs/tools/request_input_tool.js +56 -0
- package/dist/cjs/tools/skill/list_skills_tool.js +2 -0
- package/dist/cjs/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/cjs/tools/skill/load_skill_tool.js +4 -1
- package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +8 -2
- package/dist/cjs/tools/skill/run_skill_script_tool.js +10 -2
- package/dist/cjs/tools/skill/search_skills_tool.js +2 -0
- package/dist/cjs/tools/skill/skill_toolset.js +35 -0
- package/dist/cjs/tools/tool_confirmation.js +26 -3
- package/dist/cjs/tools/url_context_tool.js +5 -2
- package/dist/cjs/tools/vertex_ai_search_tool.js +5 -2
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +5 -2
- package/dist/cjs/utils/async_hooks_shim.js +5 -2
- package/dist/cjs/utils/async_queue.js +45 -18
- package/dist/cjs/utils/branch_trie.js +2 -0
- package/dist/cjs/utils/case_utils.js +2 -0
- package/dist/cjs/utils/client_labels.js +5 -0
- package/dist/cjs/utils/crypto_shim.js +45 -0
- package/dist/cjs/utils/deprecated.js +68 -0
- package/dist/cjs/utils/env_aware_utils.js +56 -13
- package/dist/cjs/utils/error_utils.js +128 -0
- package/dist/cjs/utils/experimental.js +9 -2
- package/dist/cjs/utils/failover_utils.js +3 -0
- package/dist/cjs/utils/file_extension_utils.js +3 -0
- package/dist/cjs/utils/file_utils.js +12 -4
- package/dist/cjs/utils/gemini_schema_util.js +6 -2
- package/dist/cjs/utils/genai_schema_to_json.js +107 -0
- package/dist/cjs/utils/live_connection_utils.js +5 -2
- package/dist/cjs/utils/logger.js +13 -4
- package/dist/cjs/utils/model_name.js +8 -0
- package/dist/cjs/utils/object_notation_utils.js +7 -3
- package/dist/cjs/utils/optional_peer.js +68 -0
- package/dist/cjs/utils/output_schema_utils.js +45 -0
- package/dist/cjs/utils/partial_copy.js +2 -0
- package/dist/cjs/utils/redact_uri.js +66 -0
- package/dist/cjs/utils/schema.js +178 -0
- package/dist/cjs/utils/simple_zod_to_json.js +17 -4
- package/dist/cjs/utils/streaming_utils.js +14 -6
- package/dist/cjs/utils/task.js +7 -4
- package/dist/cjs/utils/variant_utils.js +3 -1
- package/dist/cjs/utils/vertex_ai_utils.js +6 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/base_node.js +211 -0
- package/dist/cjs/workflow/branch_path.js +108 -0
- package/dist/cjs/workflow/dynamic_node_scheduler.js +220 -0
- package/dist/cjs/workflow/errors.js +178 -0
- package/dist/cjs/workflow/graph.js +158 -0
- package/dist/cjs/workflow/index.js +131 -0
- package/dist/cjs/workflow/node.js +65 -0
- package/dist/cjs/workflow/node_builders.js +68 -0
- package/dist/cjs/workflow/node_context.js +246 -0
- package/dist/cjs/workflow/node_error_event.js +86 -0
- package/dist/cjs/workflow/node_runner.js +459 -0
- package/dist/cjs/workflow/node_state.js +57 -0
- package/dist/cjs/workflow/node_status.js +48 -0
- package/dist/cjs/workflow/nodes/function_node.js +195 -0
- package/dist/cjs/workflow/nodes/join_node.js +56 -0
- package/dist/cjs/workflow/nodes/node_tool.js +156 -0
- package/dist/cjs/workflow/nodes/parallel_worker.js +129 -0
- package/dist/cjs/workflow/nodes/tool_node.js +117 -0
- package/dist/cjs/workflow/request_input.js +64 -0
- package/dist/cjs/workflow/retry_config.js +71 -0
- package/dist/cjs/workflow/run_llm_agent_as_node.js +192 -0
- package/dist/cjs/workflow/run_node_as_invocation.js +165 -0
- package/dist/cjs/workflow/schedule_dynamic_node.js +53 -0
- package/dist/cjs/workflow/trigger.js +27 -0
- package/dist/cjs/workflow/utils/graph_parser.js +212 -0
- package/dist/cjs/workflow/utils/graph_validation.js +216 -0
- package/dist/cjs/workflow/utils/hitl_utils.js +252 -0
- package/dist/cjs/workflow/utils/rehydration_utils.js +373 -0
- package/dist/cjs/workflow/utils/retry_utils.js +112 -0
- package/dist/cjs/workflow/utils/workflow_graph_utils.js +144 -0
- package/dist/cjs/workflow/workflow.js +509 -0
- package/dist/esm/a2a/a2a_event.js +19 -0
- package/dist/esm/a2a/a2a_remote_agent.js +18 -4
- package/dist/esm/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/esm/a2a/a2a_remote_agent_utils.js +10 -2
- package/dist/esm/a2a/agent_card.js +34 -3
- package/dist/esm/a2a/agent_executor.js +27 -17
- package/dist/esm/a2a/agent_to_a2a.js +44 -16
- package/dist/esm/a2a/auth.js +41 -0
- package/dist/esm/a2a/event_converter_utils.js +51 -15
- package/dist/esm/a2a/event_processor_utils.js +74 -34
- package/dist/esm/a2a/executor_context.js +3 -0
- package/dist/esm/a2a/index.js +20 -0
- package/dist/esm/a2a/metadata_converter_utils.js +6 -0
- package/dist/esm/a2a/part_converter_utils.js +13 -0
- package/dist/esm/agents/active_streaming_tool.js +6 -2
- package/dist/esm/agents/base_agent.js +47 -9
- package/dist/esm/agents/context.js +6 -2
- package/dist/esm/agents/framework_function_calls.js +34 -0
- package/dist/esm/agents/functions.js +62 -20
- package/dist/esm/agents/instructions.js +52 -12
- package/dist/esm/agents/invocation_context.js +41 -7
- package/dist/esm/agents/live_request_queue.js +30 -5
- package/dist/esm/agents/llm_agent.js +537 -45
- package/dist/esm/agents/loop_agent.js +21 -2
- package/dist/esm/agents/parallel_agent.js +23 -2
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +8 -4
- package/dist/esm/agents/processors/base_llm_processor.js +10 -4
- package/dist/esm/agents/processors/basic_llm_request_processor.js +9 -4
- package/dist/esm/agents/processors/code_execution_request_processor.js +19 -5
- package/dist/esm/agents/processors/content_processor_utils.js +88 -16
- package/dist/esm/agents/processors/content_request_processor.js +12 -25
- package/dist/esm/agents/processors/context_compactor_request_processor.js +6 -2
- package/dist/esm/agents/processors/identity_llm_request_processor.js +13 -4
- package/dist/esm/agents/processors/instructions_llm_request_processor.js +9 -3
- package/dist/esm/agents/processors/interactions_request_processor.js +6 -2
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +318 -93
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +197 -0
- package/dist/esm/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/esm/agents/readonly_context.js +8 -3
- package/dist/esm/agents/routed_agent.js +6 -14
- package/dist/esm/agents/run_config.js +13 -0
- package/dist/esm/agents/sequential_agent.js +22 -3
- package/dist/esm/agents/user_input_request.js +120 -0
- package/dist/esm/apps/app.js +14 -11
- package/dist/esm/apps/resumability_config.js +3 -0
- package/dist/esm/artifacts/file_artifact_service.js +22 -2
- package/dist/esm/artifacts/gcs_artifact_service.js +58 -11
- package/dist/esm/artifacts/in_memory_artifact_service.js +20 -11
- package/dist/esm/artifacts/registry.js +7 -1
- package/dist/esm/artifacts/scoped_artifact_service.js +6 -2
- package/dist/esm/auth/auth_handler.js +6 -2
- package/dist/esm/auth/auth_preprocessor.js +50 -41
- package/dist/esm/auth/auth_provider_registry.js +6 -2
- package/dist/esm/auth/auth_schemes.js +3 -0
- package/dist/esm/auth/credential_response_binding.js +74 -0
- package/dist/esm/auth/credential_service/in_memory_credential_service.js +20 -5
- package/dist/esm/auth/credential_service/session_state_credential_service.js +6 -2
- package/dist/esm/auth/exchanger/base_credential_exchanger.js +6 -2
- package/dist/esm/auth/exchanger/credential_exchanger_registry.js +6 -2
- package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +9 -2
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +6 -2
- package/dist/esm/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/esm/auth/oauth2/oauth2_utils.js +7 -0
- package/dist/esm/auth/refresher/base_credential_refresher.js +6 -2
- package/dist/esm/auth/refresher/credential_refresher_registry.js +6 -2
- package/dist/esm/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/esm/code_executors/base_code_executor.js +7 -2
- package/dist/esm/code_executors/built_in_code_executor.js +7 -2
- package/dist/esm/code_executors/code_execution_utils.js +7 -0
- package/dist/esm/code_executors/code_executor_context.js +6 -2
- package/dist/esm/code_executors/unsafe_local_code_executor.js +31 -13
- package/dist/esm/common.js +113 -4
- package/dist/esm/context/agent_controlled_context_compactor.js +8 -13
- package/dist/esm/context/anchored_context_compactor.js +6 -2
- package/dist/esm/context/compaction_utils.js +16 -1
- package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
- package/dist/esm/context/token_based_context_compactor.js +16 -24
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +6 -2
- package/dist/esm/context/truncating_context_compactor.js +6 -2
- package/dist/esm/environment/base_environment.js +71 -0
- package/dist/esm/environment/local_environment.js +150 -0
- package/dist/esm/events/compacted_event.js +5 -0
- package/dist/esm/events/event.js +38 -3
- package/dist/esm/events/event_actions.js +6 -0
- package/dist/esm/events/structured_events.js +3 -0
- package/dist/esm/examples/base_example_provider.js +7 -2
- package/dist/esm/examples/example_util.js +4 -0
- package/dist/esm/features/feature_registry.js +8 -0
- package/dist/esm/index.js +4 -13
- package/dist/esm/integrations/agent_registry/agent_registry.js +8 -4
- package/dist/esm/integrations/agent_registry/agent_registry_mcp_toolset.js +6 -2
- package/dist/esm/integrations/agent_registry/helpers.js +4 -0
- package/dist/esm/memory/in_memory_memory_service.js +22 -4
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +25 -3
- package/dist/esm/models/apigee_llm.js +10 -3
- package/dist/esm/models/base_llm.js +8 -3
- package/dist/esm/models/gemini_llm_connection.js +6 -2
- package/dist/esm/models/google_llm.js +26 -13
- package/dist/esm/models/interactions_utils.js +17 -0
- package/dist/esm/models/llm_request.js +5 -0
- package/dist/esm/models/llm_response.js +3 -0
- package/dist/esm/models/registry.js +7 -2
- package/dist/esm/models/routed_llm.js +4 -14
- package/dist/esm/plugins/base_plugin.js +43 -7
- package/dist/esm/plugins/global_instruction_plugin.js +6 -2
- package/dist/esm/plugins/logging_plugin.js +14 -8
- package/dist/esm/plugins/plugin_manager.js +38 -2
- package/dist/esm/plugins/security_plugin.js +14 -6
- package/dist/esm/runner/in_memory_runner.js +6 -2
- package/dist/esm/runner/runner.js +233 -31
- package/dist/esm/sessions/base_session_service.js +22 -5
- package/dist/esm/sessions/database_session_service.js +7 -2
- package/dist/esm/sessions/db/operations.js +34 -6
- package/dist/esm/sessions/db/schema.js +16 -8
- package/dist/esm/sessions/in_memory_session_service.js +31 -22
- package/dist/esm/sessions/registry.js +5 -1
- package/dist/esm/sessions/session.js +3 -0
- package/dist/esm/sessions/state.js +78 -7
- package/dist/esm/sessions/state_write_order.js +74 -0
- package/dist/esm/sessions/vertex_ai_session_service.js +136 -26
- package/dist/esm/skills/gcp_skill_registry.js +2 -0
- package/dist/esm/skills/loader.js +63 -16
- package/dist/esm/skills/prompt.js +4 -0
- package/dist/esm/telemetry/google_cloud.js +54 -9
- package/dist/esm/telemetry/setup.js +6 -0
- package/dist/esm/telemetry/tracing.js +59 -4
- package/dist/esm/tools/agent_tool.js +7 -2
- package/dist/esm/tools/base_tool.js +25 -2
- package/dist/esm/tools/base_toolset.js +7 -2
- package/dist/esm/tools/consolidate_context_tool.js +6 -2
- package/dist/esm/tools/enterprise_web_search_tool.js +7 -2
- package/dist/esm/tools/example_tool.js +6 -2
- package/dist/esm/tools/exit_loop_tool.js +6 -2
- package/dist/esm/tools/finish_task_tool.js +92 -0
- package/dist/esm/tools/forwarding_artifact_service.js +6 -2
- package/dist/esm/tools/function_tool.js +74 -8
- package/dist/esm/tools/get_user_choice_tool.js +27 -0
- package/dist/esm/tools/google_maps_grounding_tool.js +7 -2
- package/dist/esm/tools/google_search_tool.js +6 -2
- package/dist/esm/tools/load_artifacts_tool.js +9 -2
- package/dist/esm/tools/load_memory_tool.js +6 -2
- package/dist/esm/tools/load_web_page.js +22 -1
- package/dist/esm/tools/long_running_tool.js +6 -2
- package/dist/esm/tools/mcp/index.js +11 -0
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +6 -2
- package/dist/esm/tools/mcp/mcp_session_manager.js +80 -30
- package/dist/esm/tools/mcp/mcp_tool.js +6 -2
- package/dist/esm/tools/mcp/mcp_toolset.js +6 -2
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +5 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/esm/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/esm/tools/preload_memory_tool.js +6 -2
- package/dist/esm/tools/request_input_tool.js +29 -0
- package/dist/esm/tools/skill/list_skills_tool.js +2 -0
- package/dist/esm/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/esm/tools/skill/load_skill_tool.js +4 -1
- package/dist/esm/tools/skill/run_skill_inline_script_tool.js +8 -2
- package/dist/esm/tools/skill/run_skill_script_tool.js +10 -2
- package/dist/esm/tools/skill/search_skills_tool.js +2 -0
- package/dist/esm/tools/skill/skill_toolset.js +25 -0
- package/dist/esm/tools/tool_confirmation.js +24 -2
- package/dist/esm/tools/url_context_tool.js +6 -2
- package/dist/esm/tools/vertex_ai_search_tool.js +6 -2
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +6 -2
- package/dist/esm/utils/async_hooks_shim.js +6 -2
- package/dist/esm/utils/async_queue.js +46 -18
- package/dist/esm/utils/branch_trie.js +3 -0
- package/dist/esm/utils/case_utils.js +3 -0
- package/dist/esm/utils/client_labels.js +6 -0
- package/dist/esm/utils/crypto_shim.js +18 -0
- package/dist/esm/utils/deprecated.js +40 -0
- package/dist/esm/utils/env_aware_utils.js +56 -13
- package/dist/esm/utils/error_utils.js +101 -0
- package/dist/esm/utils/experimental.js +10 -2
- package/dist/esm/utils/failover_utils.js +4 -0
- package/dist/esm/utils/file_extension_utils.js +4 -0
- package/dist/esm/utils/file_utils.js +13 -4
- package/dist/esm/utils/gemini_schema_util.js +7 -2
- package/dist/esm/utils/genai_schema_to_json.js +80 -0
- package/dist/esm/utils/live_connection_utils.js +6 -2
- package/dist/esm/utils/logger.js +14 -4
- package/dist/esm/utils/model_name.js +9 -0
- package/dist/esm/utils/object_notation_utils.js +8 -3
- package/dist/esm/utils/optional_peer.js +41 -0
- package/dist/esm/utils/output_schema_utils.js +18 -0
- package/dist/esm/utils/partial_copy.js +3 -0
- package/dist/esm/utils/redact_uri.js +39 -0
- package/dist/esm/utils/schema.js +152 -0
- package/dist/esm/utils/simple_zod_to_json.js +15 -4
- package/dist/esm/utils/streaming_utils.js +15 -6
- package/dist/esm/utils/task.js +8 -4
- package/dist/esm/utils/variant_utils.js +5 -2
- package/dist/esm/utils/vertex_ai_utils.js +7 -2
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/base_node.js +182 -0
- package/dist/esm/workflow/branch_path.js +77 -0
- package/dist/esm/workflow/dynamic_node_scheduler.js +202 -0
- package/dist/esm/workflow/errors.js +140 -0
- package/dist/esm/workflow/graph.js +127 -0
- package/dist/esm/workflow/index.js +80 -0
- package/dist/esm/workflow/node.js +38 -0
- package/dist/esm/workflow/node_builders.js +40 -0
- package/dist/esm/workflow/node_context.js +219 -0
- package/dist/esm/workflow/node_error_event.js +57 -0
- package/dist/esm/workflow/node_runner.js +439 -0
- package/dist/esm/workflow/node_state.js +29 -0
- package/dist/esm/workflow/node_status.js +20 -0
- package/dist/esm/workflow/nodes/function_node.js +172 -0
- package/dist/esm/workflow/nodes/join_node.js +29 -0
- package/dist/esm/workflow/nodes/node_tool.js +131 -0
- package/dist/esm/workflow/nodes/parallel_worker.js +102 -0
- package/dist/esm/workflow/nodes/tool_node.js +90 -0
- package/dist/esm/workflow/request_input.js +36 -0
- package/dist/esm/workflow/retry_config.js +43 -0
- package/dist/esm/workflow/run_llm_agent_as_node.js +172 -0
- package/dist/esm/workflow/run_node_as_invocation.js +139 -0
- package/dist/esm/workflow/schedule_dynamic_node.js +26 -0
- package/dist/esm/workflow/trigger.js +7 -0
- package/dist/esm/workflow/utils/graph_parser.js +188 -0
- package/dist/esm/workflow/utils/graph_validation.js +189 -0
- package/dist/esm/workflow/utils/hitl_utils.js +222 -0
- package/dist/esm/workflow/utils/rehydration_utils.js +342 -0
- package/dist/esm/workflow/utils/retry_utils.js +82 -0
- package/dist/esm/workflow/utils/workflow_graph_utils.js +115 -0
- package/dist/esm/workflow/workflow.js +493 -0
- package/dist/types/a2a/agent_card.d.ts +3 -3
- package/dist/types/a2a/agent_to_a2a.d.ts +4 -4
- package/dist/types/a2a/auth.d.ts +30 -0
- package/dist/types/a2a/event_converter_utils.d.ts +4 -1
- package/dist/types/a2a/event_processor_utils.d.ts +17 -2
- package/dist/types/a2a/index.d.ts +18 -0
- package/dist/types/agents/base_agent.d.ts +37 -9
- package/dist/types/agents/framework_function_calls.d.ts +26 -0
- package/dist/types/agents/functions.d.ts +1 -2
- package/dist/types/agents/invocation_context.d.ts +95 -3
- package/dist/types/agents/live_request_queue.d.ts +7 -1
- package/dist/types/agents/llm_agent.d.ts +77 -1
- package/dist/types/agents/loop_agent.d.ts +5 -0
- package/dist/types/agents/parallel_agent.d.ts +5 -0
- package/dist/types/agents/processors/content_processor_utils.d.ts +3 -2
- package/dist/types/agents/processors/identity_llm_request_processor.d.ts +4 -1
- package/dist/types/agents/processors/request_input_llm_request_processor.d.ts +21 -0
- package/dist/types/agents/run_config.d.ts +57 -2
- package/dist/types/agents/sequential_agent.d.ts +5 -0
- package/dist/types/agents/user_input_request.d.ts +71 -0
- package/dist/types/apps/app.d.ts +8 -3
- package/dist/types/artifacts/gcs_artifact_service.d.ts +9 -2
- package/dist/types/auth/credential_response_binding.d.ts +24 -0
- package/dist/types/auth/credential_service/in_memory_credential_service.d.ts +11 -0
- package/dist/types/code_executors/unsafe_local_code_executor.d.ts +5 -1
- package/dist/types/common.d.ts +20 -8
- package/dist/types/context/agent_controlled_context_compactor.d.ts +0 -1
- package/dist/types/context/compaction_utils.d.ts +8 -0
- package/dist/types/context/token_based_context_compactor.d.ts +0 -1
- package/dist/types/environment/base_environment.d.ts +101 -0
- package/dist/types/environment/local_environment.d.ts +72 -0
- package/dist/types/events/event.d.ts +94 -1
- package/dist/types/events/event_actions.d.ts +10 -0
- package/dist/types/index.d.ts +6 -13
- package/dist/types/memory/in_memory_memory_service.d.ts +11 -0
- package/dist/types/models/apigee_llm.d.ts +4 -4
- package/dist/types/models/google_llm.d.ts +2 -1
- package/dist/types/plugins/base_plugin.d.ts +39 -2
- package/dist/types/plugins/plugin_manager.d.ts +20 -0
- package/dist/types/plugins/security_plugin.d.ts +4 -2
- package/dist/types/runner/in_memory_runner.d.ts +2 -2
- package/dist/types/runner/runner.d.ts +59 -3
- package/dist/types/sessions/base_session_service.d.ts +10 -2
- package/dist/types/sessions/in_memory_session_service.d.ts +9 -0
- package/dist/types/sessions/state.d.ts +34 -1
- package/dist/types/sessions/state_write_order.d.ts +39 -0
- package/dist/types/sessions/vertex_ai_session_service.d.ts +19 -1
- package/dist/types/skills/loader.d.ts +5 -0
- package/dist/types/telemetry/tracing.d.ts +15 -0
- package/dist/types/tools/base_tool.d.ts +15 -0
- package/dist/types/tools/finish_task_tool.d.ts +47 -0
- package/dist/types/tools/function_tool.d.ts +46 -1
- package/dist/types/tools/get_user_choice_tool.d.ts +14 -0
- package/dist/types/tools/mcp/index.d.ts +13 -0
- package/dist/types/tools/mcp/mcp_session_manager.d.ts +3 -3
- package/dist/types/tools/mcp/mcp_tool.d.ts +1 -1
- package/dist/types/tools/mcp/mcp_toolset.d.ts +1 -1
- package/dist/types/tools/request_input_tool.d.ts +20 -0
- package/dist/types/tools/skill/skill_toolset.d.ts +26 -0
- package/dist/types/tools/tool_confirmation.d.ts +47 -0
- package/dist/types/utils/async_queue.d.ts +34 -2
- package/dist/types/utils/crypto_shim.d.ts +16 -0
- package/dist/types/utils/deprecated.d.ts +21 -0
- package/dist/types/utils/env_aware_utils.d.ts +39 -0
- package/dist/types/utils/error_utils.d.ts +18 -0
- package/dist/types/utils/file_utils.d.ts +10 -2
- package/dist/types/utils/genai_schema_to_json.d.ts +25 -0
- package/dist/types/utils/optional_peer.d.ts +36 -0
- package/dist/types/utils/output_schema_utils.d.ts +18 -0
- package/dist/types/utils/redact_uri.d.ts +28 -0
- package/dist/types/utils/schema.d.ts +73 -0
- package/dist/types/utils/simple_zod_to_json.d.ts +8 -0
- package/dist/types/utils/vertex_ai_utils.d.ts +5 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/workflow/base_node.d.ts +142 -0
- package/dist/types/workflow/branch_path.d.ts +40 -0
- package/dist/types/workflow/dynamic_node_scheduler.d.ts +64 -0
- package/dist/types/workflow/errors.d.ts +132 -0
- package/dist/types/workflow/graph.d.ts +127 -0
- package/dist/types/workflow/index.d.ts +46 -0
- package/dist/types/workflow/node.d.ts +48 -0
- package/dist/types/workflow/node_builders.d.ts +25 -0
- package/dist/types/workflow/node_context.d.ts +208 -0
- package/dist/types/workflow/node_error_event.d.ts +18 -0
- package/dist/types/workflow/node_runner.d.ts +82 -0
- package/dist/types/workflow/node_state.d.ts +47 -0
- package/dist/types/workflow/node_status.d.ts +28 -0
- package/dist/types/workflow/nodes/function_node.d.ts +78 -0
- package/dist/types/workflow/nodes/join_node.d.ts +24 -0
- package/dist/types/workflow/nodes/node_tool.d.ts +53 -0
- package/dist/types/workflow/nodes/parallel_worker.d.ts +55 -0
- package/dist/types/workflow/nodes/tool_node.d.ts +34 -0
- package/dist/types/workflow/request_input.d.ts +73 -0
- package/dist/types/workflow/retry_config.d.ts +84 -0
- package/dist/types/workflow/run_llm_agent_as_node.d.ts +28 -0
- package/dist/types/workflow/run_node_as_invocation.d.ts +72 -0
- package/dist/types/workflow/schedule_dynamic_node.d.ts +66 -0
- package/dist/types/workflow/trigger.d.ts +22 -0
- package/dist/types/workflow/utils/graph_parser.d.ts +8 -0
- package/dist/types/workflow/utils/graph_validation.d.ts +18 -0
- package/dist/types/workflow/utils/hitl_utils.d.ts +92 -0
- package/dist/types/workflow/utils/rehydration_utils.d.ts +132 -0
- package/dist/types/workflow/utils/retry_utils.d.ts +54 -0
- package/dist/types/workflow/utils/workflow_graph_utils.d.ts +76 -0
- package/dist/types/workflow/workflow.d.ts +115 -0
- package/dist/web/a2a/a2a_event.js +19 -0
- package/dist/web/a2a/a2a_remote_agent.js +18 -4
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/web/a2a/a2a_remote_agent_utils.js +10 -2
- package/dist/web/a2a/agent_card.js +34 -3
- package/dist/web/a2a/agent_executor.js +45 -17
- package/dist/web/a2a/agent_to_a2a.js +44 -16
- package/dist/web/a2a/auth.js +41 -0
- package/dist/web/a2a/event_converter_utils.js +50 -15
- package/dist/web/a2a/event_processor_utils.js +73 -34
- package/dist/web/a2a/executor_context.js +3 -0
- package/dist/web/a2a/index.js +20 -0
- package/dist/web/a2a/metadata_converter_utils.js +5 -0
- package/dist/web/a2a/part_converter_utils.js +13 -0
- package/dist/web/agents/active_streaming_tool.js +6 -2
- package/dist/web/agents/base_agent.js +48 -9
- package/dist/web/agents/context.js +6 -2
- package/dist/web/agents/framework_function_calls.js +34 -0
- package/dist/web/agents/functions.js +62 -20
- package/dist/web/agents/instructions.js +52 -12
- package/dist/web/agents/invocation_context.js +56 -7
- package/dist/web/agents/live_request_queue.js +30 -5
- package/dist/web/agents/llm_agent.js +631 -52
- package/dist/web/agents/loop_agent.js +21 -2
- package/dist/web/agents/parallel_agent.js +23 -2
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +8 -4
- package/dist/web/agents/processors/base_llm_processor.js +10 -4
- package/dist/web/agents/processors/basic_llm_request_processor.js +8 -4
- package/dist/web/agents/processors/code_execution_request_processor.js +19 -5
- package/dist/web/agents/processors/content_processor_utils.js +87 -16
- package/dist/web/agents/processors/content_request_processor.js +12 -25
- package/dist/web/agents/processors/context_compactor_request_processor.js +6 -2
- package/dist/web/agents/processors/identity_llm_request_processor.js +13 -4
- package/dist/web/agents/processors/instructions_llm_request_processor.js +9 -3
- package/dist/web/agents/processors/interactions_request_processor.js +6 -2
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +329 -104
- package/dist/web/agents/processors/request_input_llm_request_processor.js +228 -0
- package/dist/web/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/web/agents/readonly_context.js +8 -3
- package/dist/web/agents/routed_agent.js +6 -14
- package/dist/web/agents/run_config.js +12 -0
- package/dist/web/agents/sequential_agent.js +22 -3
- package/dist/web/agents/user_input_request.js +135 -0
- package/dist/web/apps/app.js +14 -11
- package/dist/web/apps/resumability_config.js +2 -0
- package/dist/web/artifacts/file_artifact_service.js +22 -2
- package/dist/web/artifacts/gcs_artifact_service.js +56 -11
- package/dist/web/artifacts/in_memory_artifact_service.js +20 -11
- package/dist/web/artifacts/registry.js +7 -1
- package/dist/web/artifacts/scoped_artifact_service.js +5 -2
- package/dist/web/auth/auth_handler.js +5 -2
- package/dist/web/auth/auth_preprocessor.js +50 -41
- package/dist/web/auth/auth_provider_registry.js +6 -2
- package/dist/web/auth/auth_schemes.js +3 -0
- package/dist/web/auth/credential_response_binding.js +91 -0
- package/dist/web/auth/credential_service/in_memory_credential_service.js +20 -5
- package/dist/web/auth/credential_service/session_state_credential_service.js +6 -2
- package/dist/web/auth/exchanger/base_credential_exchanger.js +6 -2
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +6 -2
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +8 -2
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +5 -2
- package/dist/web/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/web/auth/oauth2/oauth2_utils.js +7 -0
- package/dist/web/auth/refresher/base_credential_refresher.js +6 -2
- package/dist/web/auth/refresher/credential_refresher_registry.js +6 -2
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/web/code_executors/base_code_executor.js +7 -2
- package/dist/web/code_executors/built_in_code_executor.js +7 -2
- package/dist/web/code_executors/code_execution_utils.js +7 -0
- package/dist/web/code_executors/code_executor_context.js +6 -2
- package/dist/web/code_executors/unsafe_local_code_executor.js +31 -13
- package/dist/web/common.js +113 -4
- package/dist/web/context/agent_controlled_context_compactor.js +8 -13
- package/dist/web/context/anchored_context_compactor.js +5 -2
- package/dist/web/context/compaction_utils.js +16 -1
- package/dist/web/context/summarizers/llm_summarizer.js +6 -2
- package/dist/web/context/token_based_context_compactor.js +16 -24
- package/dist/web/context/trajectory_thought_pruning_compactor.js +6 -2
- package/dist/web/context/truncating_context_compactor.js +6 -2
- package/dist/web/environment/base_environment.js +71 -0
- package/dist/web/environment/local_environment.js +165 -0
- package/dist/web/events/compacted_event.js +4 -0
- package/dist/web/events/event.js +37 -3
- package/dist/web/events/event_actions.js +5 -0
- package/dist/web/events/structured_events.js +3 -0
- package/dist/web/examples/base_example_provider.js +7 -2
- package/dist/web/examples/example_util.js +4 -0
- package/dist/web/features/feature_registry.js +8 -0
- package/dist/web/index.js +4 -13
- package/dist/web/integrations/agent_registry/agent_registry.js +8 -4
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +5 -2
- package/dist/web/integrations/agent_registry/helpers.js +4 -0
- package/dist/web/memory/in_memory_memory_service.js +22 -4
- package/dist/web/memory/vertex_ai_memory_bank_service.js +24 -3
- package/dist/web/models/apigee_llm.js +9 -3
- package/dist/web/models/base_llm.js +8 -3
- package/dist/web/models/gemini_llm_connection.js +6 -2
- package/dist/web/models/google_llm.js +25 -13
- package/dist/web/models/interactions_utils.js +17 -0
- package/dist/web/models/llm_request.js +5 -0
- package/dist/web/models/llm_response.js +3 -0
- package/dist/web/models/registry.js +7 -2
- package/dist/web/models/routed_llm.js +4 -14
- package/dist/web/plugins/base_plugin.js +43 -7
- package/dist/web/plugins/global_instruction_plugin.js +6 -2
- package/dist/web/plugins/logging_plugin.js +14 -8
- package/dist/web/plugins/plugin_manager.js +38 -2
- package/dist/web/plugins/security_plugin.js +14 -6
- package/dist/web/runner/in_memory_runner.js +6 -2
- package/dist/web/runner/runner.js +249 -31
- package/dist/web/sessions/base_session_service.js +22 -5
- package/dist/web/sessions/database_session_service.js +6 -2
- package/dist/web/sessions/db/operations.js +34 -6
- package/dist/web/sessions/db/schema.js +16 -8
- package/dist/web/sessions/in_memory_session_service.js +31 -22
- package/dist/web/sessions/registry.js +5 -1
- package/dist/web/sessions/session.js +3 -0
- package/dist/web/sessions/state.js +77 -7
- package/dist/web/sessions/state_write_order.js +74 -0
- package/dist/web/sessions/vertex_ai_session_service.js +142 -26
- package/dist/web/skills/gcp_skill_registry.js +2 -0
- package/dist/web/skills/loader.js +62 -16
- package/dist/web/skills/prompt.js +4 -0
- package/dist/web/telemetry/google_cloud.js +54 -9
- package/dist/web/telemetry/setup.js +6 -0
- package/dist/web/telemetry/tracing.js +77 -7
- package/dist/web/tools/agent_tool.js +7 -2
- package/dist/web/tools/base_tool.js +25 -2
- package/dist/web/tools/base_toolset.js +7 -2
- package/dist/web/tools/consolidate_context_tool.js +6 -2
- package/dist/web/tools/enterprise_web_search_tool.js +7 -2
- package/dist/web/tools/example_tool.js +6 -2
- package/dist/web/tools/exit_loop_tool.js +6 -2
- package/dist/web/tools/finish_task_tool.js +92 -0
- package/dist/web/tools/forwarding_artifact_service.js +6 -2
- package/dist/web/tools/function_tool.js +74 -8
- package/dist/web/tools/get_user_choice_tool.js +27 -0
- package/dist/web/tools/google_maps_grounding_tool.js +7 -2
- package/dist/web/tools/google_search_tool.js +6 -2
- package/dist/web/tools/load_artifacts_tool.js +9 -2
- package/dist/web/tools/load_memory_tool.js +6 -2
- package/dist/web/tools/load_web_page.js +22 -1
- package/dist/web/tools/long_running_tool.js +5 -2
- package/dist/web/tools/mcp/index.js +11 -0
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +6 -2
- package/dist/web/tools/mcp/mcp_session_manager.js +80 -30
- package/dist/web/tools/mcp/mcp_tool.js +6 -2
- package/dist/web/tools/mcp/mcp_toolset.js +5 -2
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +5 -0
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/web/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/web/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/web/tools/preload_memory_tool.js +6 -2
- package/dist/web/tools/request_input_tool.js +29 -0
- package/dist/web/tools/skill/list_skills_tool.js +2 -0
- package/dist/web/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/web/tools/skill/load_skill_tool.js +4 -1
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +26 -2
- package/dist/web/tools/skill/run_skill_script_tool.js +28 -2
- package/dist/web/tools/skill/search_skills_tool.js +2 -0
- package/dist/web/tools/skill/skill_toolset.js +25 -0
- package/dist/web/tools/tool_confirmation.js +24 -2
- package/dist/web/tools/url_context_tool.js +6 -2
- package/dist/web/tools/vertex_ai_search_tool.js +6 -2
- package/dist/web/tools/vertex_rag_retrieval_tool.js +6 -2
- package/dist/web/utils/async_hooks_shim.js +6 -2
- package/dist/web/utils/async_queue.js +46 -18
- package/dist/web/utils/branch_trie.js +3 -0
- package/dist/web/utils/case_utils.js +3 -0
- package/dist/web/utils/client_labels.js +6 -0
- package/dist/web/utils/crypto_shim.js +18 -0
- package/dist/web/utils/deprecated.js +40 -0
- package/dist/web/utils/env_aware_utils.js +56 -13
- package/dist/web/utils/error_utils.js +101 -0
- package/dist/web/utils/experimental.js +10 -2
- package/dist/web/utils/failover_utils.js +4 -0
- package/dist/web/utils/file_extension_utils.js +4 -0
- package/dist/web/utils/file_utils.js +12 -4
- package/dist/web/utils/gemini_schema_util.js +6 -2
- package/dist/web/utils/genai_schema_to_json.js +80 -0
- package/dist/web/utils/live_connection_utils.js +5 -2
- package/dist/web/utils/logger.js +14 -4
- package/dist/web/utils/model_name.js +9 -0
- package/dist/web/utils/object_notation_utils.js +8 -3
- package/dist/web/utils/optional_peer.js +38 -0
- package/dist/web/utils/output_schema_utils.js +18 -0
- package/dist/web/utils/partial_copy.js +3 -0
- package/dist/web/utils/redact_uri.js +39 -0
- package/dist/web/utils/schema.js +167 -0
- package/dist/web/utils/simple_zod_to_json.js +15 -4
- package/dist/web/utils/streaming_utils.js +14 -6
- package/dist/web/utils/task.js +8 -4
- package/dist/web/utils/variant_utils.js +5 -2
- package/dist/web/utils/vertex_ai_utils.js +7 -2
- package/dist/web/version.js +1 -1
- package/dist/web/workflow/base_node.js +215 -0
- package/dist/web/workflow/branch_path.js +77 -0
- package/dist/web/workflow/dynamic_node_scheduler.js +202 -0
- package/dist/web/workflow/errors.js +140 -0
- package/dist/web/workflow/graph.js +127 -0
- package/dist/web/workflow/index.js +80 -0
- package/dist/web/workflow/node.js +87 -0
- package/dist/web/workflow/node_builders.js +40 -0
- package/dist/web/workflow/node_context.js +236 -0
- package/dist/web/workflow/node_error_event.js +86 -0
- package/dist/web/workflow/node_runner.js +481 -0
- package/dist/web/workflow/node_state.js +43 -0
- package/dist/web/workflow/node_status.js +20 -0
- package/dist/web/workflow/nodes/function_node.js +221 -0
- package/dist/web/workflow/nodes/join_node.js +47 -0
- package/dist/web/workflow/nodes/node_tool.js +131 -0
- package/dist/web/workflow/nodes/parallel_worker.js +120 -0
- package/dist/web/workflow/nodes/tool_node.js +126 -0
- package/dist/web/workflow/request_input.js +36 -0
- package/dist/web/workflow/retry_config.js +43 -0
- package/dist/web/workflow/run_llm_agent_as_node.js +266 -0
- package/dist/web/workflow/run_node_as_invocation.js +170 -0
- package/dist/web/workflow/schedule_dynamic_node.js +26 -0
- package/dist/web/workflow/trigger.js +7 -0
- package/dist/web/workflow/utils/graph_parser.js +188 -0
- package/dist/web/workflow/utils/graph_validation.js +189 -0
- package/dist/web/workflow/utils/hitl_utils.js +239 -0
- package/dist/web/workflow/utils/rehydration_utils.js +342 -0
- package/dist/web/workflow/utils/retry_utils.js +82 -0
- package/dist/web/workflow/utils/workflow_graph_utils.js +115 -0
- package/dist/web/workflow/workflow.js +529 -0
- package/package.json +82 -8
|
@@ -20,6 +20,19 @@ var __spreadValues = (a, b) => {
|
|
|
20
20
|
return a;
|
|
21
21
|
};
|
|
22
22
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
23
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
24
|
+
var __objRest = (source, exclude) => {
|
|
25
|
+
var target = {};
|
|
26
|
+
for (var prop in source)
|
|
27
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
if (source != null && __getOwnPropSymbols)
|
|
30
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
31
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
32
|
+
target[prop] = source[prop];
|
|
33
|
+
}
|
|
34
|
+
return target;
|
|
35
|
+
};
|
|
23
36
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
24
37
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
25
38
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
@@ -37,7 +50,10 @@ import { Client } from "@google-cloud/vertexai/build/src/genai/client.js";
|
|
|
37
50
|
import { isCompactedEvent } from "../events/compacted_event.js";
|
|
38
51
|
import { experimental } from "../utils/experimental.js";
|
|
39
52
|
import { logger } from "../utils/logger.js";
|
|
40
|
-
import {
|
|
53
|
+
import {
|
|
54
|
+
EXPRESS_MODE_UNSUPPORTED_MESSAGE,
|
|
55
|
+
getExpressModeApiKey
|
|
56
|
+
} from "../utils/vertex_ai_utils.js";
|
|
41
57
|
import { partialCopy } from "../utils/partial_copy.js";
|
|
42
58
|
import {
|
|
43
59
|
BaseSessionService,
|
|
@@ -47,13 +63,17 @@ import { createSession } from "./session.js";
|
|
|
47
63
|
const DEFAULT_MAX_ATTEMPTS = 30;
|
|
48
64
|
const GRPC_NOT_FOUND = 5;
|
|
49
65
|
const HTTP_NOT_FOUND = 404;
|
|
66
|
+
const HTTP_BAD_REQUEST = 400;
|
|
67
|
+
const WORKFLOW_CUSTOM_METADATA_KEY = "_workflow";
|
|
50
68
|
function isVertexAiConnectionString(uri) {
|
|
51
69
|
return (uri == null ? void 0 : uri.startsWith("vertexai://")) || false;
|
|
52
70
|
}
|
|
71
|
+
__name(isVertexAiConnectionString, "isVertexAiConnectionString");
|
|
53
72
|
function quoteFilterLiteral(value) {
|
|
54
73
|
const escaped = value.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
55
74
|
return '"'.concat(escaped, '"');
|
|
56
75
|
}
|
|
76
|
+
__name(quoteFilterLiteral, "quoteFilterLiteral");
|
|
57
77
|
let VertexAiSessionService = class extends BaseSessionService {
|
|
58
78
|
constructor(options) {
|
|
59
79
|
super();
|
|
@@ -65,16 +85,14 @@ let VertexAiSessionService = class extends BaseSessionService {
|
|
|
65
85
|
this.location,
|
|
66
86
|
options.expressModeApiKey
|
|
67
87
|
);
|
|
68
|
-
if (!options.sessions) {
|
|
69
|
-
if (!this.expressModeApiKey && (!this.projectId || !this.location)) {
|
|
70
|
-
throw new Error(
|
|
71
|
-
"Either (Project ID and Location) or an expressModeApiKey is required."
|
|
72
|
-
);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
88
|
if (options.sessions) {
|
|
76
89
|
this.sessions = options.sessions;
|
|
77
90
|
} else {
|
|
91
|
+
if (!this.projectId || !this.location) {
|
|
92
|
+
throw new Error(
|
|
93
|
+
this.expressModeApiKey ? EXPRESS_MODE_UNSUPPORTED_MESSAGE : "Project ID and Location are required."
|
|
94
|
+
);
|
|
95
|
+
}
|
|
78
96
|
const client = new Client({
|
|
79
97
|
project: this.projectId,
|
|
80
98
|
location: this.location
|
|
@@ -98,19 +116,31 @@ let VertexAiSessionService = class extends BaseSessionService {
|
|
|
98
116
|
}
|
|
99
117
|
return match[3];
|
|
100
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Creates a session on Vertex AI Agent Engine.
|
|
121
|
+
*
|
|
122
|
+
* @throws if both `ttl` and `expireTime` are specified.
|
|
123
|
+
*/
|
|
101
124
|
async createSession({
|
|
102
125
|
appName,
|
|
103
126
|
userId,
|
|
104
127
|
state,
|
|
105
|
-
sessionId
|
|
128
|
+
sessionId,
|
|
129
|
+
ttl,
|
|
130
|
+
expireTime
|
|
106
131
|
}) {
|
|
107
132
|
var _a;
|
|
133
|
+
if (ttl != null && expireTime != null) {
|
|
134
|
+
throw new Error(
|
|
135
|
+
"Cannot specify both 'ttl' and 'expireTime' simultaneously."
|
|
136
|
+
);
|
|
137
|
+
}
|
|
108
138
|
const reasoningEngineId = this.getReasoningEngineId(appName);
|
|
109
139
|
const filteredState = state ? trimTempState(state) : void 0;
|
|
110
140
|
let apiResponse = await this.sessions.createInternal({
|
|
111
141
|
name: "reasoningEngines/".concat(reasoningEngineId),
|
|
112
142
|
userId,
|
|
113
|
-
config: __spreadValues(__spreadValues({}, filteredState ? { sessionState: filteredState } : {}), sessionId ? { sessionId } : {})
|
|
143
|
+
config: __spreadValues(__spreadValues(__spreadValues(__spreadValues({}, filteredState ? { sessionState: filteredState } : {}), sessionId ? { sessionId } : {}), ttl != null ? { ttl } : {}), expireTime != null ? { expireTime } : {})
|
|
114
144
|
});
|
|
115
145
|
const operationName = apiResponse.name;
|
|
116
146
|
let attempts = 0;
|
|
@@ -195,7 +225,7 @@ let VertexAiSessionService = class extends BaseSessionService {
|
|
|
195
225
|
return session;
|
|
196
226
|
} catch (error) {
|
|
197
227
|
const err = error;
|
|
198
|
-
if (err.code === GRPC_NOT_FOUND || err.code === HTTP_NOT_FOUND) {
|
|
228
|
+
if (err.code === GRPC_NOT_FOUND || err.code === HTTP_NOT_FOUND || err.status === HTTP_NOT_FOUND) {
|
|
199
229
|
return void 0;
|
|
200
230
|
}
|
|
201
231
|
logger.error("Error getting session from Vertex AI: ".concat(err.message));
|
|
@@ -311,12 +341,17 @@ let VertexAiSessionService = class extends BaseSessionService {
|
|
|
311
341
|
if (event.usageMetadata) {
|
|
312
342
|
customMetadata._usage_metadata = event.usageMetadata;
|
|
313
343
|
}
|
|
344
|
+
const workflowMetadata = toWorkflowMetadata(event);
|
|
345
|
+
if (workflowMetadata) {
|
|
346
|
+
customMetadata[WORKFLOW_CUSTOM_METADATA_KEY] = workflowMetadata;
|
|
347
|
+
}
|
|
314
348
|
const config = partialCopy(event, [
|
|
315
|
-
"content",
|
|
316
|
-
"actions",
|
|
317
349
|
"errorCode",
|
|
318
350
|
"errorMessage"
|
|
319
351
|
]);
|
|
352
|
+
config.actions = toApiActions(event.actions);
|
|
353
|
+
const content = dropUnsupportedPartFields(event.content);
|
|
354
|
+
config.content = content;
|
|
320
355
|
config.eventMetadata = __spreadProps(__spreadValues({}, partialCopy(event, [
|
|
321
356
|
"partial",
|
|
322
357
|
"turnComplete",
|
|
@@ -327,7 +362,7 @@ let VertexAiSessionService = class extends BaseSessionService {
|
|
|
327
362
|
])), {
|
|
328
363
|
customMetadata: Object.keys(customMetadata).length > 0 ? customMetadata : void 0
|
|
329
364
|
});
|
|
330
|
-
config.rawEvent = JSON.parse(JSON.stringify(event));
|
|
365
|
+
config.rawEvent = JSON.parse(JSON.stringify(__spreadProps(__spreadValues({}, event), { content })));
|
|
331
366
|
const params = {
|
|
332
367
|
name: "reasoningEngines/".concat(reasoningEngineId, "/sessions/").concat(session.id),
|
|
333
368
|
author: event.author || "user",
|
|
@@ -338,27 +373,95 @@ let VertexAiSessionService = class extends BaseSessionService {
|
|
|
338
373
|
try {
|
|
339
374
|
await this.sessions.events.append(params);
|
|
340
375
|
} catch (error) {
|
|
376
|
+
if (!isInvalidArgumentError(error)) {
|
|
377
|
+
throw error;
|
|
378
|
+
}
|
|
341
379
|
logger.warn(
|
|
342
|
-
"Failed to append event with rawEvent
|
|
380
|
+
"Failed to append event with rawEvent; retrying without it. The event will be reconstructed from its structured fields and customMetadata on read.",
|
|
343
381
|
error
|
|
344
382
|
);
|
|
345
383
|
delete config.rawEvent;
|
|
346
|
-
await this.sessions.events.append(
|
|
347
|
-
name: "reasoningEngines/".concat(reasoningEngineId, "/sessions/").concat(session.id),
|
|
348
|
-
author: event.author || "user",
|
|
349
|
-
invocationId: event.invocationId || "inv-".concat(Date.now()),
|
|
350
|
-
timestamp: new Date(event.timestamp).toISOString(),
|
|
351
|
-
config
|
|
352
|
-
});
|
|
384
|
+
await this.sessions.events.append(params);
|
|
353
385
|
}
|
|
354
386
|
return event;
|
|
355
387
|
}
|
|
356
388
|
};
|
|
389
|
+
__name(VertexAiSessionService, "VertexAiSessionService");
|
|
357
390
|
VertexAiSessionService = __decorateClass([
|
|
358
391
|
experimental
|
|
359
392
|
], VertexAiSessionService);
|
|
393
|
+
function toWorkflowMetadata(event) {
|
|
394
|
+
var _a, _b;
|
|
395
|
+
const metadata = {};
|
|
396
|
+
if (event.output !== void 0) {
|
|
397
|
+
metadata.output = event.output;
|
|
398
|
+
}
|
|
399
|
+
if (event.route !== void 0) {
|
|
400
|
+
metadata.route = event.route;
|
|
401
|
+
}
|
|
402
|
+
if (event.nodeInfo !== void 0) {
|
|
403
|
+
metadata.nodeInfo = event.nodeInfo;
|
|
404
|
+
}
|
|
405
|
+
if (event.isolationScope !== void 0) {
|
|
406
|
+
metadata.isolationScope = event.isolationScope;
|
|
407
|
+
}
|
|
408
|
+
if (((_a = event.actions) == null ? void 0 : _a.agentState) !== void 0) {
|
|
409
|
+
metadata.agentState = event.actions.agentState;
|
|
410
|
+
}
|
|
411
|
+
if (((_b = event.actions) == null ? void 0 : _b.endOfAgent) !== void 0) {
|
|
412
|
+
metadata.endOfAgent = event.actions.endOfAgent;
|
|
413
|
+
}
|
|
414
|
+
return Object.keys(metadata).length > 0 ? metadata : void 0;
|
|
415
|
+
}
|
|
416
|
+
__name(toWorkflowMetadata, "toWorkflowMetadata");
|
|
417
|
+
function applyWorkflowMetadata(event, metadata) {
|
|
418
|
+
if (metadata.output !== void 0) {
|
|
419
|
+
event.output = metadata.output;
|
|
420
|
+
}
|
|
421
|
+
if (metadata.route !== void 0) {
|
|
422
|
+
event.route = metadata.route;
|
|
423
|
+
}
|
|
424
|
+
if (metadata.nodeInfo !== void 0) {
|
|
425
|
+
event.nodeInfo = metadata.nodeInfo;
|
|
426
|
+
}
|
|
427
|
+
if (metadata.isolationScope !== void 0) {
|
|
428
|
+
event.isolationScope = metadata.isolationScope;
|
|
429
|
+
}
|
|
430
|
+
if (metadata.agentState !== void 0) {
|
|
431
|
+
event.actions.agentState = metadata.agentState;
|
|
432
|
+
}
|
|
433
|
+
if (metadata.endOfAgent !== void 0) {
|
|
434
|
+
event.actions.endOfAgent = metadata.endOfAgent;
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
__name(applyWorkflowMetadata, "applyWorkflowMetadata");
|
|
438
|
+
function toApiActions(actions) {
|
|
439
|
+
if (!actions) {
|
|
440
|
+
return void 0;
|
|
441
|
+
}
|
|
442
|
+
const _a = actions, { transferToAgent } = _a, rest = __objRest(_a, ["transferToAgent"]);
|
|
443
|
+
return __spreadValues(__spreadValues({}, rest), transferToAgent !== void 0 ? { transferAgent: transferToAgent } : {});
|
|
444
|
+
}
|
|
445
|
+
__name(toApiActions, "toApiActions");
|
|
446
|
+
function dropUnsupportedPartFields(content) {
|
|
447
|
+
if (!(content == null ? void 0 : content.parts)) {
|
|
448
|
+
return content;
|
|
449
|
+
}
|
|
450
|
+
return __spreadProps(__spreadValues({}, content), {
|
|
451
|
+
parts: content.parts.map((part) => {
|
|
452
|
+
const copy = __spreadValues({}, part);
|
|
453
|
+
delete copy.partMetadata;
|
|
454
|
+
return copy;
|
|
455
|
+
})
|
|
456
|
+
});
|
|
457
|
+
}
|
|
458
|
+
__name(dropUnsupportedPartFields, "dropUnsupportedPartFields");
|
|
459
|
+
function isInvalidArgumentError(error) {
|
|
460
|
+
return (error == null ? void 0 : error.status) === HTTP_BAD_REQUEST;
|
|
461
|
+
}
|
|
462
|
+
__name(isInvalidArgumentError, "isInvalidArgumentError");
|
|
360
463
|
function _fromApiEvent(apiEventObj) {
|
|
361
|
-
var _a, _b, _c;
|
|
464
|
+
var _a, _b, _c, _d;
|
|
362
465
|
const rawEvent = apiEventObj.rawEvent;
|
|
363
466
|
if (rawEvent) {
|
|
364
467
|
const event2 = JSON.parse(JSON.stringify(rawEvent));
|
|
@@ -375,7 +478,9 @@ function _fromApiEvent(apiEventObj) {
|
|
|
375
478
|
let customMetadata = eventMetadata.customMetadata;
|
|
376
479
|
let compactionData = null;
|
|
377
480
|
let usageMetadataData = null;
|
|
481
|
+
let workflowData;
|
|
378
482
|
if (customMetadata) {
|
|
483
|
+
customMetadata = __spreadValues({}, customMetadata);
|
|
379
484
|
if (customMetadata._compaction) {
|
|
380
485
|
compactionData = customMetadata._compaction;
|
|
381
486
|
delete customMetadata._compaction;
|
|
@@ -384,6 +489,10 @@ function _fromApiEvent(apiEventObj) {
|
|
|
384
489
|
usageMetadataData = customMetadata._usage_metadata;
|
|
385
490
|
delete customMetadata._usage_metadata;
|
|
386
491
|
}
|
|
492
|
+
if (customMetadata[WORKFLOW_CUSTOM_METADATA_KEY]) {
|
|
493
|
+
workflowData = customMetadata[WORKFLOW_CUSTOM_METADATA_KEY];
|
|
494
|
+
delete customMetadata[WORKFLOW_CUSTOM_METADATA_KEY];
|
|
495
|
+
}
|
|
387
496
|
if (Object.keys(customMetadata).length === 0) {
|
|
388
497
|
customMetadata = void 0;
|
|
389
498
|
}
|
|
@@ -394,18 +503,20 @@ function _fromApiEvent(apiEventObj) {
|
|
|
394
503
|
requestedAuthConfigs: actions.requestedAuthConfigs || {},
|
|
395
504
|
requestedToolConfirmations: actions["requestedToolConfirmations"] || {},
|
|
396
505
|
skipSummarization: actions["skipSummarization"],
|
|
397
|
-
|
|
506
|
+
// Earlier adk-js versions copied `event.actions` onto the request
|
|
507
|
+
// verbatim, so sessions they wrote store ADK's own `transferToAgent` key.
|
|
508
|
+
transferToAgent: (_b = actions["transferAgent"]) != null ? _b : actions["transferToAgent"],
|
|
398
509
|
escalate: actions["escalate"],
|
|
399
510
|
compaction: compactionData || void 0
|
|
400
511
|
};
|
|
401
512
|
const event = {
|
|
402
|
-
id: ((
|
|
513
|
+
id: ((_c = apiEventObj.name) == null ? void 0 : _c.split("/").pop()) || "",
|
|
403
514
|
invocationId: apiEventObj.invocationId || "",
|
|
404
515
|
author: apiEventObj.author,
|
|
405
516
|
actions: eventActions,
|
|
406
517
|
content: apiEventObj.content,
|
|
407
518
|
timestamp: apiEventObj.timestamp ? new Date(apiEventObj.timestamp).getTime() : Date.now(),
|
|
408
|
-
errorCode: (
|
|
519
|
+
errorCode: (_d = apiEventObj.errorCode) == null ? void 0 : _d.toString(),
|
|
409
520
|
errorMessage: apiEventObj.errorMessage,
|
|
410
521
|
partial: eventMetadata["partial"],
|
|
411
522
|
turnComplete: eventMetadata["turnComplete"],
|
|
@@ -413,6 +524,7 @@ function _fromApiEvent(apiEventObj) {
|
|
|
413
524
|
branch: eventMetadata["branch"],
|
|
414
525
|
customMetadata,
|
|
415
526
|
longRunningToolIds: eventMetadata["longRunningToolIds"],
|
|
527
|
+
groundingMetadata: eventMetadata["groundingMetadata"],
|
|
416
528
|
usageMetadata: usageMetadataData
|
|
417
529
|
};
|
|
418
530
|
if (compactionData) {
|
|
@@ -421,8 +533,12 @@ function _fromApiEvent(apiEventObj) {
|
|
|
421
533
|
event.endTime = compactionData.endTime;
|
|
422
534
|
event.compactedContent = compactionData.compactedContent;
|
|
423
535
|
}
|
|
536
|
+
if (workflowData) {
|
|
537
|
+
applyWorkflowMetadata(event, workflowData);
|
|
538
|
+
}
|
|
424
539
|
return event;
|
|
425
540
|
}
|
|
541
|
+
__name(_fromApiEvent, "_fromApiEvent");
|
|
426
542
|
export {
|
|
427
543
|
VertexAiSessionService,
|
|
428
544
|
isVertexAiConnectionString,
|
|
@@ -2,6 +2,7 @@ import {createRequire as topLevelCreateRequire} from 'module';
|
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
5
6
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
6
7
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
7
8
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
@@ -70,6 +71,7 @@ let GCPSkillRegistry = class {
|
|
|
70
71
|
return results;
|
|
71
72
|
}
|
|
72
73
|
};
|
|
74
|
+
__name(GCPSkillRegistry, "GCPSkillRegistry");
|
|
73
75
|
GCPSkillRegistry = __decorateClass([
|
|
74
76
|
experimental
|
|
75
77
|
], GCPSkillRegistry);
|
|
@@ -19,6 +19,7 @@ var __spreadValues = (a, b) => {
|
|
|
19
19
|
return a;
|
|
20
20
|
};
|
|
21
21
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
22
23
|
/**
|
|
23
24
|
* @license
|
|
24
25
|
* Copyright 2026 Google LLC
|
|
@@ -26,6 +27,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
|
26
27
|
*/
|
|
27
28
|
import AdmZip from "adm-zip";
|
|
28
29
|
import yaml from "js-yaml";
|
|
30
|
+
import { isUtf8 } from "node:buffer";
|
|
29
31
|
import * as fs from "node:fs/promises";
|
|
30
32
|
import * as path from "node:path";
|
|
31
33
|
import { logger } from "../utils/logger.js";
|
|
@@ -37,6 +39,9 @@ const ALLOWED_FRONTMATTER_KEYS = /* @__PURE__ */ new Set([
|
|
|
37
39
|
"description",
|
|
38
40
|
"license",
|
|
39
41
|
"allowed-tools",
|
|
42
|
+
// Camel-case alias: FrontmatterSchema's preprocessor derives `allowedTools`
|
|
43
|
+
// from `allowed-tools`, and `.loose()` passes either spelling through.
|
|
44
|
+
"allowedTools",
|
|
40
45
|
"metadata",
|
|
41
46
|
"compatibility"
|
|
42
47
|
]);
|
|
@@ -62,6 +67,10 @@ const IGNORED_EXTENSIONS = /* @__PURE__ */ new Set([
|
|
|
62
67
|
".tsbuildinfo",
|
|
63
68
|
".DS_Store"
|
|
64
69
|
]);
|
|
70
|
+
function decodeSkillFileContent(data) {
|
|
71
|
+
return isUtf8(data) ? data.toString("utf-8") : data;
|
|
72
|
+
}
|
|
73
|
+
__name(decodeSkillFileContent, "decodeSkillFileContent");
|
|
65
74
|
async function loadDir(directoryPath) {
|
|
66
75
|
const files = {};
|
|
67
76
|
async function walk(dir) {
|
|
@@ -79,14 +88,11 @@ async function loadDir(directoryPath) {
|
|
|
79
88
|
continue;
|
|
80
89
|
}
|
|
81
90
|
const fileData = await fs.readFile(fullPath);
|
|
82
|
-
|
|
83
|
-
files[relativePath] = fileData.toString("utf-8");
|
|
84
|
-
} catch (_e) {
|
|
85
|
-
files[relativePath] = fileData;
|
|
86
|
-
}
|
|
91
|
+
files[relativePath] = decodeSkillFileContent(fileData);
|
|
87
92
|
}
|
|
88
93
|
}
|
|
89
94
|
}
|
|
95
|
+
__name(walk, "walk");
|
|
90
96
|
try {
|
|
91
97
|
const stats = await fs.stat(directoryPath);
|
|
92
98
|
if (stats.isDirectory()) {
|
|
@@ -99,7 +105,8 @@ async function loadDir(directoryPath) {
|
|
|
99
105
|
}
|
|
100
106
|
return files;
|
|
101
107
|
}
|
|
102
|
-
|
|
108
|
+
__name(loadDir, "loadDir");
|
|
109
|
+
function parseFrontmatterYaml(content) {
|
|
103
110
|
if (!content.startsWith("---")) {
|
|
104
111
|
throw new Error("SKILL.md must start with YAML frontmatter (---)");
|
|
105
112
|
}
|
|
@@ -111,15 +118,39 @@ function parseSkillMdContent(content) {
|
|
|
111
118
|
const body = parts.filter((_, i) => i >= 2).join("---").trim();
|
|
112
119
|
try {
|
|
113
120
|
const parsed = yaml.load(frontmatterStr);
|
|
114
|
-
if (typeof parsed !== "object" || parsed === null) {
|
|
121
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
115
122
|
throw new Error("SKILL.md frontmatter must be a YAML mapping");
|
|
116
123
|
}
|
|
117
|
-
|
|
118
|
-
|
|
124
|
+
return { raw: parsed, body };
|
|
125
|
+
} catch (e) {
|
|
126
|
+
throw new Error("Invalid YAML in frontmatter: ".concat(e.message));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
__name(parseFrontmatterYaml, "parseFrontmatterYaml");
|
|
130
|
+
function validateFrontmatter(raw) {
|
|
131
|
+
try {
|
|
132
|
+
return FrontmatterSchema.parse(raw);
|
|
119
133
|
} catch (e) {
|
|
120
134
|
throw new Error("Invalid YAML in frontmatter: ".concat(e.message));
|
|
121
135
|
}
|
|
122
136
|
}
|
|
137
|
+
__name(validateFrontmatter, "validateFrontmatter");
|
|
138
|
+
function parseSkillMdContent(content) {
|
|
139
|
+
const { raw, body } = parseFrontmatterYaml(content);
|
|
140
|
+
return { frontmatter: validateFrontmatter(raw), body };
|
|
141
|
+
}
|
|
142
|
+
__name(parseSkillMdContent, "parseSkillMdContent");
|
|
143
|
+
function isDangerousZipEntryName(entryName) {
|
|
144
|
+
if (path.posix.isAbsolute(entryName) || path.win32.isAbsolute(entryName)) {
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
return entryName.split(/[/\\]/).some((segment) => segment === "..");
|
|
148
|
+
}
|
|
149
|
+
__name(isDangerousZipEntryName, "isDangerousZipEntryName");
|
|
150
|
+
function isBareSkillName(name) {
|
|
151
|
+
return name !== "." && name !== ".." && path.basename(name) === name;
|
|
152
|
+
}
|
|
153
|
+
__name(isBareSkillName, "isBareSkillName");
|
|
123
154
|
async function loadSkillFromDir(skillDir) {
|
|
124
155
|
const resolvedDir = path.resolve(skillDir);
|
|
125
156
|
const skill = await loadSkillFile(skillDir);
|
|
@@ -142,6 +173,7 @@ async function loadSkillFromDir(skillDir) {
|
|
|
142
173
|
resources
|
|
143
174
|
});
|
|
144
175
|
}
|
|
176
|
+
__name(loadSkillFromDir, "loadSkillFromDir");
|
|
145
177
|
async function validateSkillDir(skillDir) {
|
|
146
178
|
const problems = [];
|
|
147
179
|
const resolvedDir = path.resolve(skillDir);
|
|
@@ -170,6 +202,7 @@ async function validateSkillDir(skillDir) {
|
|
|
170
202
|
}
|
|
171
203
|
return problems;
|
|
172
204
|
}
|
|
205
|
+
__name(validateSkillDir, "validateSkillDir");
|
|
173
206
|
async function loadSkillFile(skillDir) {
|
|
174
207
|
const resolvedDir = path.resolve(skillDir);
|
|
175
208
|
let skillMdPath = "";
|
|
@@ -210,6 +243,7 @@ async function loadSkillFile(skillDir) {
|
|
|
210
243
|
instructions: body
|
|
211
244
|
};
|
|
212
245
|
}
|
|
246
|
+
__name(loadSkillFile, "loadSkillFile");
|
|
213
247
|
async function loadAllSkillsInDir(skillsBasePath) {
|
|
214
248
|
const resolvedPath = path.resolve(skillsBasePath);
|
|
215
249
|
const skills = {};
|
|
@@ -247,6 +281,7 @@ async function loadAllSkillsInDir(skillsBasePath) {
|
|
|
247
281
|
}
|
|
248
282
|
}
|
|
249
283
|
}
|
|
284
|
+
__name(scanDir, "scanDir");
|
|
250
285
|
try {
|
|
251
286
|
await fs.readdir(resolvedPath);
|
|
252
287
|
await scanDir(resolvedPath);
|
|
@@ -255,9 +290,15 @@ async function loadAllSkillsInDir(skillsBasePath) {
|
|
|
255
290
|
}
|
|
256
291
|
return skills;
|
|
257
292
|
}
|
|
293
|
+
__name(loadAllSkillsInDir, "loadAllSkillsInDir");
|
|
258
294
|
function loadSkillFromZipBuffer(zipBuffer) {
|
|
259
295
|
const zip = new AdmZip(zipBuffer);
|
|
260
296
|
const entries = zip.getEntries();
|
|
297
|
+
for (const entry of entries) {
|
|
298
|
+
if (isDangerousZipEntryName(entry.entryName)) {
|
|
299
|
+
throw new Error("Dangerous zip entry ignored: ".concat(entry.entryName));
|
|
300
|
+
}
|
|
301
|
+
}
|
|
261
302
|
let skillMdContent = "";
|
|
262
303
|
for (const entry of entries) {
|
|
263
304
|
if (entry.isDirectory) continue;
|
|
@@ -269,8 +310,15 @@ function loadSkillFromZipBuffer(zipBuffer) {
|
|
|
269
310
|
if (!skillMdContent) {
|
|
270
311
|
throw new Error("SKILL.md not found in zipped filesystem.");
|
|
271
312
|
}
|
|
272
|
-
const {
|
|
273
|
-
const
|
|
313
|
+
const { raw, body } = parseFrontmatterYaml(skillMdContent);
|
|
314
|
+
const skillName = raw["name"];
|
|
315
|
+
if (!skillName) {
|
|
316
|
+
throw new Error("SKILL.md frontmatter must contain 'name'");
|
|
317
|
+
}
|
|
318
|
+
if (typeof skillName !== "string" || !isBareSkillName(skillName)) {
|
|
319
|
+
throw new Error("Invalid skill name in SKILL.md: ".concat(String(skillName)));
|
|
320
|
+
}
|
|
321
|
+
const frontmatter = validateFrontmatter(raw);
|
|
274
322
|
const references = {};
|
|
275
323
|
const assets = {};
|
|
276
324
|
const scripts = {};
|
|
@@ -284,15 +332,12 @@ function loadSkillFromZipBuffer(zipBuffer) {
|
|
|
284
332
|
const relativePath = entry.entryName.substring(normPrefix.length);
|
|
285
333
|
if (!relativePath) continue;
|
|
286
334
|
const data = entry.getData();
|
|
287
|
-
|
|
288
|
-
res[relativePath] = data.toString("utf-8");
|
|
289
|
-
} catch (_e) {
|
|
290
|
-
res[relativePath] = data;
|
|
291
|
-
}
|
|
335
|
+
res[relativePath] = decodeSkillFileContent(data);
|
|
292
336
|
}
|
|
293
337
|
}
|
|
294
338
|
return res;
|
|
295
339
|
}
|
|
340
|
+
__name(loadZipDir, "loadZipDir");
|
|
296
341
|
const refFiles = loadZipDir("references");
|
|
297
342
|
for (const [key, val] of Object.entries(refFiles)) {
|
|
298
343
|
references[key] = val;
|
|
@@ -317,6 +362,7 @@ function loadSkillFromZipBuffer(zipBuffer) {
|
|
|
317
362
|
}
|
|
318
363
|
};
|
|
319
364
|
}
|
|
365
|
+
__name(loadSkillFromZipBuffer, "loadSkillFromZipBuffer");
|
|
320
366
|
export {
|
|
321
367
|
loadAllSkillsInDir,
|
|
322
368
|
loadSkillFromDir,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2026 Google LLC
|
|
@@ -8,6 +10,7 @@ const require = topLevelCreateRequire(import.meta.url);
|
|
|
8
10
|
function escapeHtml(unsafe) {
|
|
9
11
|
return unsafe.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
10
12
|
}
|
|
13
|
+
__name(escapeHtml, "escapeHtml");
|
|
11
14
|
function formatSkillsAsXml(skills) {
|
|
12
15
|
if (!skills || skills.length === 0) {
|
|
13
16
|
return "<available_skills>\n</available_skills>";
|
|
@@ -25,6 +28,7 @@ function formatSkillsAsXml(skills) {
|
|
|
25
28
|
lines.push("</available_skills>");
|
|
26
29
|
return lines.join("\n");
|
|
27
30
|
}
|
|
31
|
+
__name(formatSkillsAsXml, "formatSkillsAsXml");
|
|
28
32
|
export {
|
|
29
33
|
formatSkillsAsXml
|
|
30
34
|
};
|
|
@@ -1,18 +1,40 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
19
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
20
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
21
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
22
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
23
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
24
|
+
mod
|
|
25
|
+
));
|
|
3
26
|
/**
|
|
4
27
|
* @license
|
|
5
28
|
* Copyright 2025 Google LLC
|
|
6
29
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
30
|
*/
|
|
8
|
-
import { MetricExporter } from "@google-cloud/opentelemetry-cloud-monitoring-exporter";
|
|
9
|
-
import { TraceExporter } from "@google-cloud/opentelemetry-cloud-trace-exporter";
|
|
10
31
|
import { gcpDetector } from "@opentelemetry/resource-detector-gcp";
|
|
11
32
|
import { detectResources } from "@opentelemetry/resources";
|
|
12
33
|
import { PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics";
|
|
13
34
|
import { BatchSpanProcessor } from "@opentelemetry/sdk-trace-base";
|
|
14
35
|
import { GoogleAuth } from "google-auth-library";
|
|
15
36
|
import { logger } from "../utils/logger.js";
|
|
37
|
+
import { loadOptionalPeer } from "../utils/optional_peer.js";
|
|
16
38
|
const GCP_PROJECT_ERROR_MESSAGE = "Cannot determine GCP Project. OTel GCP Exporters cannot be set up. Please make sure to log into correct GCP Project.";
|
|
17
39
|
async function getGcpProjectId() {
|
|
18
40
|
try {
|
|
@@ -23,6 +45,32 @@ async function getGcpProjectId() {
|
|
|
23
45
|
return void 0;
|
|
24
46
|
}
|
|
25
47
|
}
|
|
48
|
+
__name(getGcpProjectId, "getGcpProjectId");
|
|
49
|
+
async function createCloudTraceProcessor(projectId) {
|
|
50
|
+
const { TraceExporter } = await loadOptionalPeer(
|
|
51
|
+
{
|
|
52
|
+
packageName: "@google-cloud/opentelemetry-cloud-trace-exporter",
|
|
53
|
+
feature: "getGcpExporters({enableTracing: true})"
|
|
54
|
+
},
|
|
55
|
+
() => Promise.resolve().then(() => __toESM(require("@google-cloud/opentelemetry-cloud-trace-exporter"), 1))
|
|
56
|
+
);
|
|
57
|
+
return new BatchSpanProcessor(new TraceExporter({ projectId }));
|
|
58
|
+
}
|
|
59
|
+
__name(createCloudTraceProcessor, "createCloudTraceProcessor");
|
|
60
|
+
async function createCloudMetricReader(projectId) {
|
|
61
|
+
const { MetricExporter } = await loadOptionalPeer(
|
|
62
|
+
{
|
|
63
|
+
packageName: "@google-cloud/opentelemetry-cloud-monitoring-exporter",
|
|
64
|
+
feature: "getGcpExporters({enableMetrics: true})"
|
|
65
|
+
},
|
|
66
|
+
() => Promise.resolve().then(() => __toESM(require("@google-cloud/opentelemetry-cloud-monitoring-exporter"), 1))
|
|
67
|
+
);
|
|
68
|
+
return new PeriodicExportingMetricReader({
|
|
69
|
+
exporter: new MetricExporter({ projectId }),
|
|
70
|
+
exportIntervalMillis: 5e3
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
__name(createCloudMetricReader, "createCloudMetricReader");
|
|
26
74
|
async function getGcpExporters(config = {}) {
|
|
27
75
|
const {
|
|
28
76
|
enableTracing = false,
|
|
@@ -35,19 +83,16 @@ async function getGcpExporters(config = {}) {
|
|
|
35
83
|
return {};
|
|
36
84
|
}
|
|
37
85
|
return {
|
|
38
|
-
spanProcessors: enableTracing ? [
|
|
39
|
-
metricReaders: enableMetrics ? [
|
|
40
|
-
new PeriodicExportingMetricReader({
|
|
41
|
-
exporter: new MetricExporter({ projectId }),
|
|
42
|
-
exportIntervalMillis: 5e3
|
|
43
|
-
})
|
|
44
|
-
] : [],
|
|
86
|
+
spanProcessors: enableTracing ? [await createCloudTraceProcessor(projectId)] : [],
|
|
87
|
+
metricReaders: enableMetrics ? [await createCloudMetricReader(projectId)] : [],
|
|
45
88
|
logRecordProcessors: []
|
|
46
89
|
};
|
|
47
90
|
}
|
|
91
|
+
__name(getGcpExporters, "getGcpExporters");
|
|
48
92
|
function getGcpResource() {
|
|
49
93
|
return detectResources({ detectors: [gcpDetector] });
|
|
50
94
|
}
|
|
95
|
+
__name(getGcpResource, "getGcpResource");
|
|
51
96
|
export {
|
|
52
97
|
getGcpExporters,
|
|
53
98
|
getGcpResource
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2025 Google LLC
|
|
@@ -54,11 +56,13 @@ function maybeSetOtelProviders(otelHooksToSetup = [], otelResource) {
|
|
|
54
56
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
55
57
|
}
|
|
56
58
|
}
|
|
59
|
+
__name(maybeSetOtelProviders, "maybeSetOtelProviders");
|
|
57
60
|
function getOtelResource() {
|
|
58
61
|
return detectResources({
|
|
59
62
|
detectors: []
|
|
60
63
|
});
|
|
61
64
|
}
|
|
65
|
+
__name(getOtelResource, "getOtelResource");
|
|
62
66
|
function getOtelExportersConfig() {
|
|
63
67
|
return {
|
|
64
68
|
enableTracing: !!(process.env.OTEL_EXPORTER_OTLP_ENDPOINT || process.env.OTEL_EXPORTER_OTLP_TRACES_ENDPOINT),
|
|
@@ -66,6 +70,7 @@ function getOtelExportersConfig() {
|
|
|
66
70
|
enableLogging: !!(process.env.OTEL_EXPORTER_OTLP_ENDPOINT || process.env.OTEL_EXPORTER_OTLP_LOGS_ENDPOINT)
|
|
67
71
|
};
|
|
68
72
|
}
|
|
73
|
+
__name(getOtelExportersConfig, "getOtelExportersConfig");
|
|
69
74
|
function getOtelExporters(config = getOtelExportersConfig()) {
|
|
70
75
|
const { enableTracing, enableMetrics, enableLogging } = config;
|
|
71
76
|
return {
|
|
@@ -78,6 +83,7 @@ function getOtelExporters(config = getOtelExportersConfig()) {
|
|
|
78
83
|
logRecordProcessors: enableLogging ? [new BatchLogRecordProcessor(new OTLPLogExporter())] : []
|
|
79
84
|
};
|
|
80
85
|
}
|
|
86
|
+
__name(getOtelExporters, "getOtelExporters");
|
|
81
87
|
export {
|
|
82
88
|
maybeSetOtelProviders
|
|
83
89
|
};
|