@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
|
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
|
|
|
9
9
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
10
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
11
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
13
|
var __export = (target, all) => {
|
|
13
14
|
for (var name in all)
|
|
14
15
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -53,13 +54,17 @@ var import_session = require("./session.js");
|
|
|
53
54
|
const DEFAULT_MAX_ATTEMPTS = 30;
|
|
54
55
|
const GRPC_NOT_FOUND = 5;
|
|
55
56
|
const HTTP_NOT_FOUND = 404;
|
|
57
|
+
const HTTP_BAD_REQUEST = 400;
|
|
58
|
+
const WORKFLOW_CUSTOM_METADATA_KEY = "_workflow";
|
|
56
59
|
function isVertexAiConnectionString(uri) {
|
|
57
60
|
return (uri == null ? void 0 : uri.startsWith("vertexai://")) || false;
|
|
58
61
|
}
|
|
62
|
+
__name(isVertexAiConnectionString, "isVertexAiConnectionString");
|
|
59
63
|
function quoteFilterLiteral(value) {
|
|
60
64
|
const escaped = value.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
61
65
|
return `"${escaped}"`;
|
|
62
66
|
}
|
|
67
|
+
__name(quoteFilterLiteral, "quoteFilterLiteral");
|
|
63
68
|
let VertexAiSessionService = class extends import_base_session_service.BaseSessionService {
|
|
64
69
|
constructor(options) {
|
|
65
70
|
super();
|
|
@@ -71,16 +76,14 @@ let VertexAiSessionService = class extends import_base_session_service.BaseSessi
|
|
|
71
76
|
this.location,
|
|
72
77
|
options.expressModeApiKey
|
|
73
78
|
);
|
|
74
|
-
if (!options.sessions) {
|
|
75
|
-
if (!this.expressModeApiKey && (!this.projectId || !this.location)) {
|
|
76
|
-
throw new Error(
|
|
77
|
-
"Either (Project ID and Location) or an expressModeApiKey is required."
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
79
|
if (options.sessions) {
|
|
82
80
|
this.sessions = options.sessions;
|
|
83
81
|
} else {
|
|
82
|
+
if (!this.projectId || !this.location) {
|
|
83
|
+
throw new Error(
|
|
84
|
+
this.expressModeApiKey ? import_vertex_ai_utils.EXPRESS_MODE_UNSUPPORTED_MESSAGE : "Project ID and Location are required."
|
|
85
|
+
);
|
|
86
|
+
}
|
|
84
87
|
const client = new import_client.Client({
|
|
85
88
|
project: this.projectId,
|
|
86
89
|
location: this.location
|
|
@@ -104,13 +107,25 @@ let VertexAiSessionService = class extends import_base_session_service.BaseSessi
|
|
|
104
107
|
}
|
|
105
108
|
return match[3];
|
|
106
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Creates a session on Vertex AI Agent Engine.
|
|
112
|
+
*
|
|
113
|
+
* @throws if both `ttl` and `expireTime` are specified.
|
|
114
|
+
*/
|
|
107
115
|
async createSession({
|
|
108
116
|
appName,
|
|
109
117
|
userId,
|
|
110
118
|
state,
|
|
111
|
-
sessionId
|
|
119
|
+
sessionId,
|
|
120
|
+
ttl,
|
|
121
|
+
expireTime
|
|
112
122
|
}) {
|
|
113
123
|
var _a;
|
|
124
|
+
if (ttl != null && expireTime != null) {
|
|
125
|
+
throw new Error(
|
|
126
|
+
"Cannot specify both 'ttl' and 'expireTime' simultaneously."
|
|
127
|
+
);
|
|
128
|
+
}
|
|
114
129
|
const reasoningEngineId = this.getReasoningEngineId(appName);
|
|
115
130
|
const filteredState = state ? (0, import_base_session_service.trimTempState)(state) : void 0;
|
|
116
131
|
let apiResponse = await this.sessions.createInternal({
|
|
@@ -118,7 +133,9 @@ let VertexAiSessionService = class extends import_base_session_service.BaseSessi
|
|
|
118
133
|
userId,
|
|
119
134
|
config: {
|
|
120
135
|
...filteredState ? { sessionState: filteredState } : {},
|
|
121
|
-
...sessionId ? { sessionId } : {}
|
|
136
|
+
...sessionId ? { sessionId } : {},
|
|
137
|
+
...ttl != null ? { ttl } : {},
|
|
138
|
+
...expireTime != null ? { expireTime } : {}
|
|
122
139
|
}
|
|
123
140
|
});
|
|
124
141
|
const operationName = apiResponse.name;
|
|
@@ -204,7 +221,7 @@ let VertexAiSessionService = class extends import_base_session_service.BaseSessi
|
|
|
204
221
|
return session;
|
|
205
222
|
} catch (error) {
|
|
206
223
|
const err = error;
|
|
207
|
-
if (err.code === GRPC_NOT_FOUND || err.code === HTTP_NOT_FOUND) {
|
|
224
|
+
if (err.code === GRPC_NOT_FOUND || err.code === HTTP_NOT_FOUND || err.status === HTTP_NOT_FOUND) {
|
|
208
225
|
return void 0;
|
|
209
226
|
}
|
|
210
227
|
import_logger.logger.error(`Error getting session from Vertex AI: ${err.message}`);
|
|
@@ -323,12 +340,17 @@ let VertexAiSessionService = class extends import_base_session_service.BaseSessi
|
|
|
323
340
|
if (event.usageMetadata) {
|
|
324
341
|
customMetadata._usage_metadata = event.usageMetadata;
|
|
325
342
|
}
|
|
343
|
+
const workflowMetadata = toWorkflowMetadata(event);
|
|
344
|
+
if (workflowMetadata) {
|
|
345
|
+
customMetadata[WORKFLOW_CUSTOM_METADATA_KEY] = workflowMetadata;
|
|
346
|
+
}
|
|
326
347
|
const config = (0, import_partial_copy.partialCopy)(event, [
|
|
327
|
-
"content",
|
|
328
|
-
"actions",
|
|
329
348
|
"errorCode",
|
|
330
349
|
"errorMessage"
|
|
331
350
|
]);
|
|
351
|
+
config.actions = toApiActions(event.actions);
|
|
352
|
+
const content = dropUnsupportedPartFields(event.content);
|
|
353
|
+
config.content = content;
|
|
332
354
|
config.eventMetadata = {
|
|
333
355
|
...(0, import_partial_copy.partialCopy)(event, [
|
|
334
356
|
"partial",
|
|
@@ -340,7 +362,7 @@ let VertexAiSessionService = class extends import_base_session_service.BaseSessi
|
|
|
340
362
|
]),
|
|
341
363
|
customMetadata: Object.keys(customMetadata).length > 0 ? customMetadata : void 0
|
|
342
364
|
};
|
|
343
|
-
config.rawEvent = JSON.parse(JSON.stringify(event));
|
|
365
|
+
config.rawEvent = JSON.parse(JSON.stringify({ ...event, content }));
|
|
344
366
|
const params = {
|
|
345
367
|
name: `reasoningEngines/${reasoningEngineId}/sessions/${session.id}`,
|
|
346
368
|
author: event.author || "user",
|
|
@@ -351,27 +373,99 @@ let VertexAiSessionService = class extends import_base_session_service.BaseSessi
|
|
|
351
373
|
try {
|
|
352
374
|
await this.sessions.events.append(params);
|
|
353
375
|
} catch (error) {
|
|
376
|
+
if (!isInvalidArgumentError(error)) {
|
|
377
|
+
throw error;
|
|
378
|
+
}
|
|
354
379
|
import_logger.logger.warn(
|
|
355
|
-
"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.",
|
|
356
381
|
error
|
|
357
382
|
);
|
|
358
383
|
delete config.rawEvent;
|
|
359
|
-
await this.sessions.events.append(
|
|
360
|
-
name: `reasoningEngines/${reasoningEngineId}/sessions/${session.id}`,
|
|
361
|
-
author: event.author || "user",
|
|
362
|
-
invocationId: event.invocationId || `inv-${Date.now()}`,
|
|
363
|
-
timestamp: new Date(event.timestamp).toISOString(),
|
|
364
|
-
config
|
|
365
|
-
});
|
|
384
|
+
await this.sessions.events.append(params);
|
|
366
385
|
}
|
|
367
386
|
return event;
|
|
368
387
|
}
|
|
369
388
|
};
|
|
389
|
+
__name(VertexAiSessionService, "VertexAiSessionService");
|
|
370
390
|
VertexAiSessionService = __decorateClass([
|
|
371
391
|
import_experimental.experimental
|
|
372
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 { transferToAgent, ...rest } = actions;
|
|
443
|
+
return {
|
|
444
|
+
...rest,
|
|
445
|
+
...transferToAgent !== void 0 ? { transferAgent: transferToAgent } : {}
|
|
446
|
+
};
|
|
447
|
+
}
|
|
448
|
+
__name(toApiActions, "toApiActions");
|
|
449
|
+
function dropUnsupportedPartFields(content) {
|
|
450
|
+
if (!(content == null ? void 0 : content.parts)) {
|
|
451
|
+
return content;
|
|
452
|
+
}
|
|
453
|
+
return {
|
|
454
|
+
...content,
|
|
455
|
+
parts: content.parts.map((part) => {
|
|
456
|
+
const copy = { ...part };
|
|
457
|
+
delete copy.partMetadata;
|
|
458
|
+
return copy;
|
|
459
|
+
})
|
|
460
|
+
};
|
|
461
|
+
}
|
|
462
|
+
__name(dropUnsupportedPartFields, "dropUnsupportedPartFields");
|
|
463
|
+
function isInvalidArgumentError(error) {
|
|
464
|
+
return (error == null ? void 0 : error.status) === HTTP_BAD_REQUEST;
|
|
465
|
+
}
|
|
466
|
+
__name(isInvalidArgumentError, "isInvalidArgumentError");
|
|
373
467
|
function _fromApiEvent(apiEventObj) {
|
|
374
|
-
var _a, _b, _c;
|
|
468
|
+
var _a, _b, _c, _d;
|
|
375
469
|
const rawEvent = apiEventObj.rawEvent;
|
|
376
470
|
if (rawEvent) {
|
|
377
471
|
const event2 = JSON.parse(JSON.stringify(rawEvent));
|
|
@@ -388,7 +482,9 @@ function _fromApiEvent(apiEventObj) {
|
|
|
388
482
|
let customMetadata = eventMetadata.customMetadata;
|
|
389
483
|
let compactionData = null;
|
|
390
484
|
let usageMetadataData = null;
|
|
485
|
+
let workflowData;
|
|
391
486
|
if (customMetadata) {
|
|
487
|
+
customMetadata = { ...customMetadata };
|
|
392
488
|
if (customMetadata._compaction) {
|
|
393
489
|
compactionData = customMetadata._compaction;
|
|
394
490
|
delete customMetadata._compaction;
|
|
@@ -397,6 +493,10 @@ function _fromApiEvent(apiEventObj) {
|
|
|
397
493
|
usageMetadataData = customMetadata._usage_metadata;
|
|
398
494
|
delete customMetadata._usage_metadata;
|
|
399
495
|
}
|
|
496
|
+
if (customMetadata[WORKFLOW_CUSTOM_METADATA_KEY]) {
|
|
497
|
+
workflowData = customMetadata[WORKFLOW_CUSTOM_METADATA_KEY];
|
|
498
|
+
delete customMetadata[WORKFLOW_CUSTOM_METADATA_KEY];
|
|
499
|
+
}
|
|
400
500
|
if (Object.keys(customMetadata).length === 0) {
|
|
401
501
|
customMetadata = void 0;
|
|
402
502
|
}
|
|
@@ -407,18 +507,20 @@ function _fromApiEvent(apiEventObj) {
|
|
|
407
507
|
requestedAuthConfigs: actions.requestedAuthConfigs || {},
|
|
408
508
|
requestedToolConfirmations: actions["requestedToolConfirmations"] || {},
|
|
409
509
|
skipSummarization: actions["skipSummarization"],
|
|
410
|
-
|
|
510
|
+
// Earlier adk-js versions copied `event.actions` onto the request
|
|
511
|
+
// verbatim, so sessions they wrote store ADK's own `transferToAgent` key.
|
|
512
|
+
transferToAgent: (_b = actions["transferAgent"]) != null ? _b : actions["transferToAgent"],
|
|
411
513
|
escalate: actions["escalate"],
|
|
412
514
|
compaction: compactionData || void 0
|
|
413
515
|
};
|
|
414
516
|
const event = {
|
|
415
|
-
id: ((
|
|
517
|
+
id: ((_c = apiEventObj.name) == null ? void 0 : _c.split("/").pop()) || "",
|
|
416
518
|
invocationId: apiEventObj.invocationId || "",
|
|
417
519
|
author: apiEventObj.author,
|
|
418
520
|
actions: eventActions,
|
|
419
521
|
content: apiEventObj.content,
|
|
420
522
|
timestamp: apiEventObj.timestamp ? new Date(apiEventObj.timestamp).getTime() : Date.now(),
|
|
421
|
-
errorCode: (
|
|
523
|
+
errorCode: (_d = apiEventObj.errorCode) == null ? void 0 : _d.toString(),
|
|
422
524
|
errorMessage: apiEventObj.errorMessage,
|
|
423
525
|
partial: eventMetadata["partial"],
|
|
424
526
|
turnComplete: eventMetadata["turnComplete"],
|
|
@@ -426,6 +528,7 @@ function _fromApiEvent(apiEventObj) {
|
|
|
426
528
|
branch: eventMetadata["branch"],
|
|
427
529
|
customMetadata,
|
|
428
530
|
longRunningToolIds: eventMetadata["longRunningToolIds"],
|
|
531
|
+
groundingMetadata: eventMetadata["groundingMetadata"],
|
|
429
532
|
usageMetadata: usageMetadataData
|
|
430
533
|
};
|
|
431
534
|
if (compactionData) {
|
|
@@ -434,8 +537,12 @@ function _fromApiEvent(apiEventObj) {
|
|
|
434
537
|
event.endTime = compactionData.endTime;
|
|
435
538
|
event.compactedContent = compactionData.compactedContent;
|
|
436
539
|
}
|
|
540
|
+
if (workflowData) {
|
|
541
|
+
applyWorkflowMetadata(event, workflowData);
|
|
542
|
+
}
|
|
437
543
|
return event;
|
|
438
544
|
}
|
|
545
|
+
__name(_fromApiEvent, "_fromApiEvent");
|
|
439
546
|
// Annotate the CommonJS export names for ESM import in node:
|
|
440
547
|
0 && (module.exports = {
|
|
441
548
|
VertexAiSessionService,
|
|
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
|
|
|
9
9
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
10
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
11
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
13
|
var __export = (target, all) => {
|
|
13
14
|
for (var name in all)
|
|
14
15
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -95,6 +96,7 @@ let GCPSkillRegistry = class {
|
|
|
95
96
|
return results;
|
|
96
97
|
}
|
|
97
98
|
};
|
|
99
|
+
__name(GCPSkillRegistry, "GCPSkillRegistry");
|
|
98
100
|
GCPSkillRegistry = __decorateClass([
|
|
99
101
|
import_experimental.experimental
|
|
100
102
|
], GCPSkillRegistry);
|
|
@@ -11,6 +11,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
11
11
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
12
12
|
var __getProtoOf = Object.getPrototypeOf;
|
|
13
13
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
14
15
|
var __export = (target, all) => {
|
|
15
16
|
for (var name in all)
|
|
16
17
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -43,6 +44,7 @@ __export(loader_exports, {
|
|
|
43
44
|
module.exports = __toCommonJS(loader_exports);
|
|
44
45
|
var import_adm_zip = __toESM(require("adm-zip"), 1);
|
|
45
46
|
var import_js_yaml = __toESM(require("js-yaml"), 1);
|
|
47
|
+
var import_node_buffer = require("node:buffer");
|
|
46
48
|
var fs = __toESM(require("node:fs/promises"), 1);
|
|
47
49
|
var path = __toESM(require("node:path"), 1);
|
|
48
50
|
var import_logger = require("../utils/logger.js");
|
|
@@ -57,6 +59,9 @@ const ALLOWED_FRONTMATTER_KEYS = /* @__PURE__ */ new Set([
|
|
|
57
59
|
"description",
|
|
58
60
|
"license",
|
|
59
61
|
"allowed-tools",
|
|
62
|
+
// Camel-case alias: FrontmatterSchema's preprocessor derives `allowedTools`
|
|
63
|
+
// from `allowed-tools`, and `.loose()` passes either spelling through.
|
|
64
|
+
"allowedTools",
|
|
60
65
|
"metadata",
|
|
61
66
|
"compatibility"
|
|
62
67
|
]);
|
|
@@ -82,6 +87,10 @@ const IGNORED_EXTENSIONS = /* @__PURE__ */ new Set([
|
|
|
82
87
|
".tsbuildinfo",
|
|
83
88
|
".DS_Store"
|
|
84
89
|
]);
|
|
90
|
+
function decodeSkillFileContent(data) {
|
|
91
|
+
return (0, import_node_buffer.isUtf8)(data) ? data.toString("utf-8") : data;
|
|
92
|
+
}
|
|
93
|
+
__name(decodeSkillFileContent, "decodeSkillFileContent");
|
|
85
94
|
async function loadDir(directoryPath) {
|
|
86
95
|
const files = {};
|
|
87
96
|
async function walk(dir) {
|
|
@@ -99,14 +108,11 @@ async function loadDir(directoryPath) {
|
|
|
99
108
|
continue;
|
|
100
109
|
}
|
|
101
110
|
const fileData = await fs.readFile(fullPath);
|
|
102
|
-
|
|
103
|
-
files[relativePath] = fileData.toString("utf-8");
|
|
104
|
-
} catch (_e) {
|
|
105
|
-
files[relativePath] = fileData;
|
|
106
|
-
}
|
|
111
|
+
files[relativePath] = decodeSkillFileContent(fileData);
|
|
107
112
|
}
|
|
108
113
|
}
|
|
109
114
|
}
|
|
115
|
+
__name(walk, "walk");
|
|
110
116
|
try {
|
|
111
117
|
const stats = await fs.stat(directoryPath);
|
|
112
118
|
if (stats.isDirectory()) {
|
|
@@ -119,7 +125,8 @@ async function loadDir(directoryPath) {
|
|
|
119
125
|
}
|
|
120
126
|
return files;
|
|
121
127
|
}
|
|
122
|
-
|
|
128
|
+
__name(loadDir, "loadDir");
|
|
129
|
+
function parseFrontmatterYaml(content) {
|
|
123
130
|
if (!content.startsWith("---")) {
|
|
124
131
|
throw new Error("SKILL.md must start with YAML frontmatter (---)");
|
|
125
132
|
}
|
|
@@ -131,15 +138,39 @@ function parseSkillMdContent(content) {
|
|
|
131
138
|
const body = parts.filter((_, i) => i >= 2).join("---").trim();
|
|
132
139
|
try {
|
|
133
140
|
const parsed = import_js_yaml.default.load(frontmatterStr);
|
|
134
|
-
if (typeof parsed !== "object" || parsed === null) {
|
|
141
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
135
142
|
throw new Error("SKILL.md frontmatter must be a YAML mapping");
|
|
136
143
|
}
|
|
137
|
-
|
|
138
|
-
|
|
144
|
+
return { raw: parsed, body };
|
|
145
|
+
} catch (e) {
|
|
146
|
+
throw new Error(`Invalid YAML in frontmatter: ${e.message}`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
__name(parseFrontmatterYaml, "parseFrontmatterYaml");
|
|
150
|
+
function validateFrontmatter(raw) {
|
|
151
|
+
try {
|
|
152
|
+
return import_skill.FrontmatterSchema.parse(raw);
|
|
139
153
|
} catch (e) {
|
|
140
154
|
throw new Error(`Invalid YAML in frontmatter: ${e.message}`);
|
|
141
155
|
}
|
|
142
156
|
}
|
|
157
|
+
__name(validateFrontmatter, "validateFrontmatter");
|
|
158
|
+
function parseSkillMdContent(content) {
|
|
159
|
+
const { raw, body } = parseFrontmatterYaml(content);
|
|
160
|
+
return { frontmatter: validateFrontmatter(raw), body };
|
|
161
|
+
}
|
|
162
|
+
__name(parseSkillMdContent, "parseSkillMdContent");
|
|
163
|
+
function isDangerousZipEntryName(entryName) {
|
|
164
|
+
if (path.posix.isAbsolute(entryName) || path.win32.isAbsolute(entryName)) {
|
|
165
|
+
return true;
|
|
166
|
+
}
|
|
167
|
+
return entryName.split(/[/\\]/).some((segment) => segment === "..");
|
|
168
|
+
}
|
|
169
|
+
__name(isDangerousZipEntryName, "isDangerousZipEntryName");
|
|
170
|
+
function isBareSkillName(name) {
|
|
171
|
+
return name !== "." && name !== ".." && path.basename(name) === name;
|
|
172
|
+
}
|
|
173
|
+
__name(isBareSkillName, "isBareSkillName");
|
|
143
174
|
async function loadSkillFromDir(skillDir) {
|
|
144
175
|
const resolvedDir = path.resolve(skillDir);
|
|
145
176
|
const skill = await loadSkillFile(skillDir);
|
|
@@ -163,6 +194,7 @@ async function loadSkillFromDir(skillDir) {
|
|
|
163
194
|
resources
|
|
164
195
|
};
|
|
165
196
|
}
|
|
197
|
+
__name(loadSkillFromDir, "loadSkillFromDir");
|
|
166
198
|
async function validateSkillDir(skillDir) {
|
|
167
199
|
const problems = [];
|
|
168
200
|
const resolvedDir = path.resolve(skillDir);
|
|
@@ -191,6 +223,7 @@ async function validateSkillDir(skillDir) {
|
|
|
191
223
|
}
|
|
192
224
|
return problems;
|
|
193
225
|
}
|
|
226
|
+
__name(validateSkillDir, "validateSkillDir");
|
|
194
227
|
async function loadSkillFile(skillDir) {
|
|
195
228
|
const resolvedDir = path.resolve(skillDir);
|
|
196
229
|
let skillMdPath = "";
|
|
@@ -231,6 +264,7 @@ async function loadSkillFile(skillDir) {
|
|
|
231
264
|
instructions: body
|
|
232
265
|
};
|
|
233
266
|
}
|
|
267
|
+
__name(loadSkillFile, "loadSkillFile");
|
|
234
268
|
async function loadAllSkillsInDir(skillsBasePath) {
|
|
235
269
|
const resolvedPath = path.resolve(skillsBasePath);
|
|
236
270
|
const skills = {};
|
|
@@ -268,6 +302,7 @@ async function loadAllSkillsInDir(skillsBasePath) {
|
|
|
268
302
|
}
|
|
269
303
|
}
|
|
270
304
|
}
|
|
305
|
+
__name(scanDir, "scanDir");
|
|
271
306
|
try {
|
|
272
307
|
await fs.readdir(resolvedPath);
|
|
273
308
|
await scanDir(resolvedPath);
|
|
@@ -276,9 +311,15 @@ async function loadAllSkillsInDir(skillsBasePath) {
|
|
|
276
311
|
}
|
|
277
312
|
return skills;
|
|
278
313
|
}
|
|
314
|
+
__name(loadAllSkillsInDir, "loadAllSkillsInDir");
|
|
279
315
|
function loadSkillFromZipBuffer(zipBuffer) {
|
|
280
316
|
const zip = new import_adm_zip.default(zipBuffer);
|
|
281
317
|
const entries = zip.getEntries();
|
|
318
|
+
for (const entry of entries) {
|
|
319
|
+
if (isDangerousZipEntryName(entry.entryName)) {
|
|
320
|
+
throw new Error(`Dangerous zip entry ignored: ${entry.entryName}`);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
282
323
|
let skillMdContent = "";
|
|
283
324
|
for (const entry of entries) {
|
|
284
325
|
if (entry.isDirectory) continue;
|
|
@@ -290,8 +331,15 @@ function loadSkillFromZipBuffer(zipBuffer) {
|
|
|
290
331
|
if (!skillMdContent) {
|
|
291
332
|
throw new Error("SKILL.md not found in zipped filesystem.");
|
|
292
333
|
}
|
|
293
|
-
const {
|
|
294
|
-
const
|
|
334
|
+
const { raw, body } = parseFrontmatterYaml(skillMdContent);
|
|
335
|
+
const skillName = raw["name"];
|
|
336
|
+
if (!skillName) {
|
|
337
|
+
throw new Error("SKILL.md frontmatter must contain 'name'");
|
|
338
|
+
}
|
|
339
|
+
if (typeof skillName !== "string" || !isBareSkillName(skillName)) {
|
|
340
|
+
throw new Error(`Invalid skill name in SKILL.md: ${String(skillName)}`);
|
|
341
|
+
}
|
|
342
|
+
const frontmatter = validateFrontmatter(raw);
|
|
295
343
|
const references = {};
|
|
296
344
|
const assets = {};
|
|
297
345
|
const scripts = {};
|
|
@@ -305,15 +353,12 @@ function loadSkillFromZipBuffer(zipBuffer) {
|
|
|
305
353
|
const relativePath = entry.entryName.substring(normPrefix.length);
|
|
306
354
|
if (!relativePath) continue;
|
|
307
355
|
const data = entry.getData();
|
|
308
|
-
|
|
309
|
-
res[relativePath] = data.toString("utf-8");
|
|
310
|
-
} catch (_e) {
|
|
311
|
-
res[relativePath] = data;
|
|
312
|
-
}
|
|
356
|
+
res[relativePath] = decodeSkillFileContent(data);
|
|
313
357
|
}
|
|
314
358
|
}
|
|
315
359
|
return res;
|
|
316
360
|
}
|
|
361
|
+
__name(loadZipDir, "loadZipDir");
|
|
317
362
|
const refFiles = loadZipDir("references");
|
|
318
363
|
for (const [key, val] of Object.entries(refFiles)) {
|
|
319
364
|
references[key] = val;
|
|
@@ -338,6 +383,7 @@ function loadSkillFromZipBuffer(zipBuffer) {
|
|
|
338
383
|
}
|
|
339
384
|
};
|
|
340
385
|
}
|
|
386
|
+
__name(loadSkillFromZipBuffer, "loadSkillFromZipBuffer");
|
|
341
387
|
// Annotate the CommonJS export names for ESM import in node:
|
|
342
388
|
0 && (module.exports = {
|
|
343
389
|
loadAllSkillsInDir,
|
|
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
|
|
|
9
9
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
10
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
11
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
13
|
var __export = (target, all) => {
|
|
13
14
|
for (var name in all)
|
|
14
15
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -35,6 +36,7 @@ module.exports = __toCommonJS(prompt_exports);
|
|
|
35
36
|
function escapeHtml(unsafe) {
|
|
36
37
|
return unsafe.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
37
38
|
}
|
|
39
|
+
__name(escapeHtml, "escapeHtml");
|
|
38
40
|
function formatSkillsAsXml(skills) {
|
|
39
41
|
if (!skills || skills.length === 0) {
|
|
40
42
|
return "<available_skills>\n</available_skills>";
|
|
@@ -52,6 +54,7 @@ function formatSkillsAsXml(skills) {
|
|
|
52
54
|
lines.push("</available_skills>");
|
|
53
55
|
return lines.join("\n");
|
|
54
56
|
}
|
|
57
|
+
__name(formatSkillsAsXml, "formatSkillsAsXml");
|
|
55
58
|
// Annotate the CommonJS export names for ESM import in node:
|
|
56
59
|
0 && (module.exports = {
|
|
57
60
|
formatSkillsAsXml
|
|
@@ -5,10 +5,13 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
"use strict";
|
|
8
|
+
var __create = Object.create;
|
|
8
9
|
var __defProp = Object.defineProperty;
|
|
9
10
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
11
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
12
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
11
13
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
15
|
var __export = (target, all) => {
|
|
13
16
|
for (var name in all)
|
|
14
17
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -21,6 +24,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
21
24
|
}
|
|
22
25
|
return to;
|
|
23
26
|
};
|
|
27
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
28
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
29
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
30
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
31
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
32
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
33
|
+
mod
|
|
34
|
+
));
|
|
24
35
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
36
|
var google_cloud_exports = {};
|
|
26
37
|
__export(google_cloud_exports, {
|
|
@@ -28,14 +39,13 @@ __export(google_cloud_exports, {
|
|
|
28
39
|
getGcpResource: () => getGcpResource
|
|
29
40
|
});
|
|
30
41
|
module.exports = __toCommonJS(google_cloud_exports);
|
|
31
|
-
var import_opentelemetry_cloud_monitoring_exporter = require("@google-cloud/opentelemetry-cloud-monitoring-exporter");
|
|
32
|
-
var import_opentelemetry_cloud_trace_exporter = require("@google-cloud/opentelemetry-cloud-trace-exporter");
|
|
33
42
|
var import_resource_detector_gcp = require("@opentelemetry/resource-detector-gcp");
|
|
34
43
|
var import_resources = require("@opentelemetry/resources");
|
|
35
44
|
var import_sdk_metrics = require("@opentelemetry/sdk-metrics");
|
|
36
45
|
var import_sdk_trace_base = require("@opentelemetry/sdk-trace-base");
|
|
37
46
|
var import_google_auth_library = require("google-auth-library");
|
|
38
47
|
var import_logger = require("../utils/logger.js");
|
|
48
|
+
var import_optional_peer = require("../utils/optional_peer.js");
|
|
39
49
|
/**
|
|
40
50
|
* @license
|
|
41
51
|
* Copyright 2025 Google LLC
|
|
@@ -51,6 +61,32 @@ async function getGcpProjectId() {
|
|
|
51
61
|
return void 0;
|
|
52
62
|
}
|
|
53
63
|
}
|
|
64
|
+
__name(getGcpProjectId, "getGcpProjectId");
|
|
65
|
+
async function createCloudTraceProcessor(projectId) {
|
|
66
|
+
const { TraceExporter } = await (0, import_optional_peer.loadOptionalPeer)(
|
|
67
|
+
{
|
|
68
|
+
packageName: "@google-cloud/opentelemetry-cloud-trace-exporter",
|
|
69
|
+
feature: "getGcpExporters({enableTracing: true})"
|
|
70
|
+
},
|
|
71
|
+
() => Promise.resolve().then(() => __toESM(require("@google-cloud/opentelemetry-cloud-trace-exporter"), 1))
|
|
72
|
+
);
|
|
73
|
+
return new import_sdk_trace_base.BatchSpanProcessor(new TraceExporter({ projectId }));
|
|
74
|
+
}
|
|
75
|
+
__name(createCloudTraceProcessor, "createCloudTraceProcessor");
|
|
76
|
+
async function createCloudMetricReader(projectId) {
|
|
77
|
+
const { MetricExporter } = await (0, import_optional_peer.loadOptionalPeer)(
|
|
78
|
+
{
|
|
79
|
+
packageName: "@google-cloud/opentelemetry-cloud-monitoring-exporter",
|
|
80
|
+
feature: "getGcpExporters({enableMetrics: true})"
|
|
81
|
+
},
|
|
82
|
+
() => Promise.resolve().then(() => __toESM(require("@google-cloud/opentelemetry-cloud-monitoring-exporter"), 1))
|
|
83
|
+
);
|
|
84
|
+
return new import_sdk_metrics.PeriodicExportingMetricReader({
|
|
85
|
+
exporter: new MetricExporter({ projectId }),
|
|
86
|
+
exportIntervalMillis: 5e3
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
__name(createCloudMetricReader, "createCloudMetricReader");
|
|
54
90
|
async function getGcpExporters(config = {}) {
|
|
55
91
|
const {
|
|
56
92
|
enableTracing = false,
|
|
@@ -63,19 +99,16 @@ async function getGcpExporters(config = {}) {
|
|
|
63
99
|
return {};
|
|
64
100
|
}
|
|
65
101
|
return {
|
|
66
|
-
spanProcessors: enableTracing ? [
|
|
67
|
-
metricReaders: enableMetrics ? [
|
|
68
|
-
new import_sdk_metrics.PeriodicExportingMetricReader({
|
|
69
|
-
exporter: new import_opentelemetry_cloud_monitoring_exporter.MetricExporter({ projectId }),
|
|
70
|
-
exportIntervalMillis: 5e3
|
|
71
|
-
})
|
|
72
|
-
] : [],
|
|
102
|
+
spanProcessors: enableTracing ? [await createCloudTraceProcessor(projectId)] : [],
|
|
103
|
+
metricReaders: enableMetrics ? [await createCloudMetricReader(projectId)] : [],
|
|
73
104
|
logRecordProcessors: []
|
|
74
105
|
};
|
|
75
106
|
}
|
|
107
|
+
__name(getGcpExporters, "getGcpExporters");
|
|
76
108
|
function getGcpResource() {
|
|
77
109
|
return (0, import_resources.detectResources)({ detectors: [import_resource_detector_gcp.gcpDetector] });
|
|
78
110
|
}
|
|
111
|
+
__name(getGcpResource, "getGcpResource");
|
|
79
112
|
// Annotate the CommonJS export names for ESM import in node:
|
|
80
113
|
0 && (module.exports = {
|
|
81
114
|
getGcpExporters,
|
|
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
|
|
|
9
9
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
10
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
11
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
13
|
var __export = (target, all) => {
|
|
13
14
|
for (var name in all)
|
|
14
15
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -75,11 +76,13 @@ function maybeSetOtelProviders(otelHooksToSetup = [], otelResource) {
|
|
|
75
76
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
76
77
|
}
|
|
77
78
|
}
|
|
79
|
+
__name(maybeSetOtelProviders, "maybeSetOtelProviders");
|
|
78
80
|
function getOtelResource() {
|
|
79
81
|
return (0, import_resources.detectResources)({
|
|
80
82
|
detectors: []
|
|
81
83
|
});
|
|
82
84
|
}
|
|
85
|
+
__name(getOtelResource, "getOtelResource");
|
|
83
86
|
function getOtelExportersConfig() {
|
|
84
87
|
return {
|
|
85
88
|
enableTracing: !!(process.env.OTEL_EXPORTER_OTLP_ENDPOINT || process.env.OTEL_EXPORTER_OTLP_TRACES_ENDPOINT),
|
|
@@ -87,6 +90,7 @@ function getOtelExportersConfig() {
|
|
|
87
90
|
enableLogging: !!(process.env.OTEL_EXPORTER_OTLP_ENDPOINT || process.env.OTEL_EXPORTER_OTLP_LOGS_ENDPOINT)
|
|
88
91
|
};
|
|
89
92
|
}
|
|
93
|
+
__name(getOtelExportersConfig, "getOtelExportersConfig");
|
|
90
94
|
function getOtelExporters(config = getOtelExportersConfig()) {
|
|
91
95
|
const { enableTracing, enableMetrics, enableLogging } = config;
|
|
92
96
|
return {
|
|
@@ -99,6 +103,7 @@ function getOtelExporters(config = getOtelExportersConfig()) {
|
|
|
99
103
|
logRecordProcessors: enableLogging ? [new import_sdk_logs.BatchLogRecordProcessor(new import_exporter_logs_otlp_http.OTLPLogExporter())] : []
|
|
100
104
|
};
|
|
101
105
|
}
|
|
106
|
+
__name(getOtelExporters, "getOtelExporters");
|
|
102
107
|
// Annotate the CommonJS export names for ESM import in node:
|
|
103
108
|
0 && (module.exports = {
|
|
104
109
|
maybeSetOtelProviders
|