Full Code of microsoft/semantic-kernel for AI

main 8b32b3ba6f62 cached
5382 files
28.5 MB
4.3M tokens
11682 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (17,093K chars total). Download the full file to get everything.
Repository: microsoft/semantic-kernel
Branch: main
Commit: 8b32b3ba6f62
Files: 5382
Total size: 28.5 MB

Directory structure:
gitextract__39337o8/

├── .devcontainer/
│   └── devcontainer.json
├── .editorconfig
├── .gitattributes
├── .github/
│   ├── .linkspector.yml
│   ├── CODEOWNERS
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.md
│   │   ├── feature_graduation.md
│   │   └── feature_request.md
│   ├── _typos.toml
│   ├── dependabot.yml
│   ├── labeler.yml
│   ├── pull_request_template.md
│   ├── upgrades/
│   │   └── prompts/
│   │       └── SemanticKernelToAgentFramework.md
│   └── workflows/
│       ├── check-coverage.ps1
│       ├── close-inactive-issues.yml
│       ├── codeql-analysis.yml
│       ├── devflow-pr-review.yml
│       ├── dotnet-build-and-test.yml
│       ├── dotnet-ci.yml
│       ├── dotnet-format.yml
│       ├── dotnet-integration-tests.yml
│       ├── label-discussions.yml
│       ├── label-issues.yml
│       ├── label-pr.yml
│       ├── label-title-prefix.yml
│       ├── markdown-link-check.yml
│       ├── merge-gatekeeper.yml
│       ├── python-build.yml
│       ├── python-integration-tests.yml
│       ├── python-lint.yml
│       ├── python-manual-release.yml
│       ├── python-test-coverage-report.yml
│       ├── python-test-coverage.yml
│       ├── python-unit-tests.yml
│       ├── test-aot-compatibility.ps1
│       ├── typos.yaml
│       └── update-version.sh
├── .gitignore
├── CODE_OF_CONDUCT.md
├── COMMUNITY.md
├── CONTRIBUTING.md
├── FEATURE_MATRIX.md
├── LICENSE
├── README.md
├── SECURITY.md
├── TRANSPARENCY_FAQS.md
├── docs/
│   ├── COSINE_SIMILARITY.md
│   ├── DOT_PRODUCT.md
│   ├── EMBEDDINGS.md
│   ├── EUCLIDEAN_DISTANCE.md
│   ├── FAQS.md
│   ├── GLOSSARY.md
│   ├── PLANNERS.md
│   ├── PLUGINS.md
│   ├── PROMPT_TEMPLATE_LANGUAGE.md
│   └── decisions/
│       ├── 0001-madr-architecture-decisions.md
│       ├── 0002-java-folder-structure.md
│       ├── 0003-support-multiple-native-function-args.md
│       ├── 0004-error-handling.md
│       ├── 0005-kernel-hooks-phase1.md
│       ├── 0006-open-api-dynamic-payload-and-namespaces.md
│       ├── 0007-prompt-extract-template-engine.md
│       ├── 0008-support-generic-llm-request-settings.md
│       ├── 0009-support-multiple-named-args-in-template-function-calls.md
│       ├── 0010-dotnet-project-structure.md
│       ├── 0011-function-and-kernel-result-types.md
│       ├── 0012-kernel-service-registration.md
│       ├── 0013-memory-as-plugin.md
│       ├── 0014-chat-completion-roles-in-prompt.md
│       ├── 0015-completion-service-selection.md
│       ├── 0016-custom-prompt-template-formats.md
│       ├── 0017-openai-function-calling.md
│       ├── 0018-kernel-hooks-phase2.md
│       ├── 0019-semantic-function-multiple-model-support.md
│       ├── 0020-prompt-syntax-mapping-to-completion-service-model.md
│       ├── 0021-aiservice-metadata.md
│       ├── 0021-json-serializable-custom-types.md
│       ├── 0022-skfunction.md
│       ├── 0023-handlebars-template-engine.md
│       ├── 0023-kernel-streaming.md
│       ├── 0024-connectors-api-equalization.md
│       ├── 0025-chat-content-models.md
│       ├── 0025-planner-telemetry-enhancement.md
│       ├── 0026-file-service.md
│       ├── 0030-branching-strategy.md
│       ├── 0031-feature-branch-strategy.md
│       ├── 0032-agents.md
│       ├── 0033-kernel-filters.md
│       ├── 0034-rag-in-sk.md
│       ├── 0035-skfunction-type-descriptions.md
│       ├── 0036-semantic-kernel-release-versioning.md
│       ├── 0037-audio-naming.md
│       ├── 0038-completion-service-selection.md
│       ├── 0039-set-plugin-name-in-metadata.md
│       ├── 0040-chat-prompt-xml-support.md
│       ├── 0041-function-call-content.md
│       ├── 0042-samples-restructure.md
│       ├── 0043-filters-exception-handling.md
│       ├── 0044-OTel-semantic-convention.md
│       ├── 0045-breaking-changes-guidance.md
│       ├── 0046-azure-model-as-a-service.md
│       ├── 0046-java-repository-separation.md
│       ├── 0046-kernel-content-graduation.md
│       ├── 0047-azure-open-ai-connectors.md
│       ├── 0048-agent-chat-serialization.md
│       ├── 0049-agents-assistantsV2.md
│       ├── 0050-updated-vector-store-design.md
│       ├── 0051-dotnet-azure-model-as-a-service.md
│       ├── 0051-entity-framework-as-connector.md
│       ├── 0052-python-ai-connector-new-abstract-methods.md
│       ├── 0053-dotnet-structured-outputs.md
│       ├── 0054-processes.md
│       ├── 0055-dotnet-azureopenai-stable-version-strategy.md
│       ├── 0056-python-streaming-content-for-token-usage.md
│       ├── 0057-python-structured-output.md
│       ├── 0058-vector-search-design.md
│       ├── 0059-text-search.md
│       ├── 0060-jsos-integration.md
│       ├── 0061-function-call-behavior.md
│       ├── 0062-open-api-payload.md
│       ├── 0063-function-calling-reliability.md
│       ├── 0064-hybrid-model-orchestration.md
│       ├── 0065-realtime-api-clients.md
│       ├── 0066-concepts-guidelines.md
│       ├── 0067-hybrid-search.md
│       ├── 0068-structured-data-connector.md
│       ├── 0069-mcp.md
│       ├── 0070-declarative-agent-schema.md
│       ├── 0071-multi-agent-orchestration.md
│       ├── 0072-agents-with-memory.md
│       ├── 0072-context-based-function-selection.md
│       ├── 0073-linq-based-text-search-filtering.md
│       ├── README.md
│       ├── adr-short-template.md
│       ├── adr-template.md
│       └── diagrams/
│           ├── agent-abstractions.mmd
│           ├── agent-aggregator.mmd
│           ├── agent-assistant.mmd
│           ├── agent-chatcompletion.mmd
│           ├── agent-design.mmd
│           ├── agent-groupchat.mmd
│           ├── agentchat-state.mmd
│           ├── assistant-agent.mmd
│           ├── assistant-definition.mmd
│           ├── assistant-invocationsettings.mmd
│           ├── assistant-serviceconfig.mmd
│           ├── assistant-threadcreationsettings.mmd
│           ├── chat-text-models.mmd
│           ├── prompt-template-factory.mmd
│           ├── skfunctions-preview.mmd
│           ├── skfunctions-v1.mmd
│           ├── text-search-abstraction.mmd
│           ├── text-search-imemorystore.mmd
│           ├── text-search-iwebsearchengineconnector.mmd
│           ├── tool-call-auto-invoke.mmd
│           ├── tool-call-filters.mmd
│           └── tool-call-skip-llm.mmd
├── dotnet/
│   ├── Directory.Build.props
│   ├── Directory.Build.targets
│   ├── Directory.Packages.props
│   ├── MEVD.slnf
│   ├── README.md
│   ├── SK-dotnet.slnx
│   ├── SK-dotnet.slnx.DotSettings
│   ├── SK-dotnet.v3.ncrunchsolution
│   ├── SK-release.slnf
│   ├── build.cmd
│   ├── build.sh
│   ├── code-coverage.ps1
│   ├── docs/
│   │   ├── EXPERIMENTS.md
│   │   ├── MODELS.md
│   │   ├── OPENAI-CONNECTOR-MIGRATION.md
│   │   └── TELEMETRY.md
│   ├── format.ps1
│   ├── global.json
│   ├── notebooks/
│   │   ├── 0-AI-settings.ipynb
│   │   ├── 00-getting-started.ipynb
│   │   ├── 01-basic-loading-the-kernel.ipynb
│   │   ├── 02-running-prompts-from-file.ipynb
│   │   ├── 03-semantic-function-inline.ipynb
│   │   ├── 04-kernel-arguments-chat.ipynb
│   │   ├── 05-using-function-calling.ipynb
│   │   ├── 06-vector-stores-and-embeddings.ipynb
│   │   ├── 07-DALL-E-3.ipynb
│   │   ├── 08-chatGPT-with-DALL-E-3.ipynb
│   │   ├── 09-RAG-with-BingSearch.ipynb
│   │   ├── README.md
│   │   └── config/
│   │       ├── .gitignore
│   │       ├── Settings.cs
│   │       ├── SkiaUtils.cs
│   │       ├── Utils.cs
│   │       ├── settings.json.azure-example
│   │       └── settings.json.openai-example
│   ├── nuget/
│   │   ├── NUGET.md
│   │   ├── VECTORDATA-CONNECTORS-NUGET.md
│   │   └── nuget-package.props
│   ├── nuget.config
│   ├── samples/
│   │   ├── .editorconfig
│   │   ├── AgentFrameworkMigration/
│   │   │   ├── AgentOrchestrations/
│   │   │   │   ├── Step01_Concurrent/
│   │   │   │   │   ├── AgentOrchestrations_Step01_Concurrent.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step02_Sequential/
│   │   │   │   │   ├── AgentOrchestrations_Step02_Sequential.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   └── Step03_Handoff/
│   │   │   │       ├── AgentOrchestrations_Step03_Handoff.csproj
│   │   │   │       └── Program.cs
│   │   │   ├── AzureAIFoundry/
│   │   │   │   ├── Step01_Basics/
│   │   │   │   │   ├── AzureAIFoundry_Step01_Basics.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step02_ToolCall/
│   │   │   │   │   ├── AzureAIFoundry_Step02_ToolCall.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step03_DependencyInjection/
│   │   │   │   │   ├── AzureAIFoundry_Step03_DependencyInjection.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   └── Step04_CodeInterpreter/
│   │   │   │       ├── AzureAIFoundry_Step04_CodeInterpreter.csproj
│   │   │   │       └── Program.cs
│   │   │   ├── AzureOpenAI/
│   │   │   │   ├── Step01_Basics/
│   │   │   │   │   ├── AzureOpenAI_Step01_Basics.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step02_ToolCall/
│   │   │   │   │   ├── AzureOpenAI_Step02_ToolCall.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step03_DependencyInjection/
│   │   │   │   │   ├── AzureOpenAI_Step03_DependencyInjection.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   └── Step04_ToolCall_WithOpenAPI/
│   │   │   │       ├── AzureOpenAI_Step04_ToolCall_WithOpenAPI.csproj
│   │   │   │       ├── OpenAPISpec.json
│   │   │   │       └── Program.cs
│   │   │   ├── AzureOpenAIAssistants/
│   │   │   │   ├── Step01_Basics/
│   │   │   │   │   ├── AzureOpenAIAssistants_Step01_Basics.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step02_ToolCall/
│   │   │   │   │   ├── AzureOpenAIAssistants_Step02_ToolCall.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step03_DependencyInjection/
│   │   │   │   │   ├── AzureOpenAIAssistants_Step03_DependencyInjection.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   └── Step04_CodeInterpreter/
│   │   │   │       ├── AzureOpenAIAssistants_Step04_CodeInterpreter.csproj
│   │   │   │       └── Program.cs
│   │   │   ├── AzureOpenAIResponses/
│   │   │   │   ├── Step01_Basics/
│   │   │   │   │   ├── AzureOpenAIResponses_Step01_Basics.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step02_ReasoningModel/
│   │   │   │   │   ├── AzureOpenAIResponses_Step02_ReasoningModel.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step03_ToolCall/
│   │   │   │   │   ├── AzureOpenAIResponses_Step03_ToolCall.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   └── Step04_DependencyInjection/
│   │   │   │       ├── AzureOpenAIResponses_Step04_DependencyInjection.csproj
│   │   │   │       └── Program.cs
│   │   │   ├── OpenAI/
│   │   │   │   ├── Step01_Basics/
│   │   │   │   │   ├── OpenAI_Step01_Basics.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step02_ToolCall/
│   │   │   │   │   ├── OpenAI_Step02_ToolCall.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   └── Step03_DependencyInjection/
│   │   │   │       ├── OpenAI_Step03_DependencyInjection.csproj
│   │   │   │       └── Program.cs
│   │   │   ├── OpenAIAssistants/
│   │   │   │   ├── Step01_Basics/
│   │   │   │   │   ├── OpenAIAssistants_Step01_Basics.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step02_ToolCall/
│   │   │   │   │   ├── OpenAIAssistants_Step02_ToolCall.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step03_DependencyInjection/
│   │   │   │   │   ├── OpenAIAssistants_Step03_DependencyInjection.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   └── Step04_CodeInterpreter/
│   │   │   │       ├── OpenAIAssistants_Step04_CodeInterpreter.csproj
│   │   │   │       └── Program.cs
│   │   │   ├── OpenAIResponses/
│   │   │   │   ├── Step01_Basics/
│   │   │   │   │   ├── OpenAIResponses_Step01_Basics.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step02_ReasoningModel/
│   │   │   │   │   ├── OpenAIResponses_Step02_ReasoningModel.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step03_ToolCall/
│   │   │   │   │   ├── OpenAIResponses_Step03_ToolCall.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   └── Step04_DependencyInjection/
│   │   │   │       ├── OpenAIResponses_Step04_DependencyInjection.csproj
│   │   │   │       └── Program.cs
│   │   │   ├── Playground/
│   │   │   │   ├── README.md
│   │   │   │   └── SemanticKernelBasic/
│   │   │   │       ├── Program.cs
│   │   │   │       └── SemanticKernelBasic.csproj
│   │   │   └── README.md
│   │   ├── Concepts/
│   │   │   ├── Agents/
│   │   │   │   ├── AzureAIAgent_FileManipulation.cs
│   │   │   │   ├── AzureAIAgent_Streaming.cs
│   │   │   │   ├── ChatCompletion_ContextualFunctionSelection.cs
│   │   │   │   ├── ChatCompletion_FunctionTermination.cs
│   │   │   │   ├── ChatCompletion_HistoryReducer.cs
│   │   │   │   ├── ChatCompletion_Mem0.cs
│   │   │   │   ├── ChatCompletion_Rag.cs
│   │   │   │   ├── ChatCompletion_Serialization.cs
│   │   │   │   ├── ChatCompletion_ServiceSelection.cs
│   │   │   │   ├── ChatCompletion_Streaming.cs
│   │   │   │   ├── ChatCompletion_Templating.cs
│   │   │   │   ├── ChatCompletion_Whiteboard.cs
│   │   │   │   ├── ComplexChat_NestedShopper.cs
│   │   │   │   ├── DeclarativeAgents.cs
│   │   │   │   ├── MixedChat_Agents.cs
│   │   │   │   ├── MixedChat_Files.cs
│   │   │   │   ├── MixedChat_Images.cs
│   │   │   │   ├── MixedChat_Reset.cs
│   │   │   │   ├── MixedChat_Serialization.cs
│   │   │   │   ├── MixedChat_Streaming.cs
│   │   │   │   ├── OpenAIAssistant_ChartMaker.cs
│   │   │   │   ├── OpenAIAssistant_FileManipulation.cs
│   │   │   │   ├── OpenAIAssistant_FunctionFilters.cs
│   │   │   │   ├── OpenAIAssistant_Streaming.cs
│   │   │   │   ├── OpenAIAssistant_Templating.cs
│   │   │   │   ├── OpenAIResponseAgent_Whiteboard.cs
│   │   │   │   └── README.md
│   │   │   ├── AudioToText/
│   │   │   │   └── OpenAI_AudioToText.cs
│   │   │   ├── Caching/
│   │   │   │   └── SemanticCachingWithFilters.cs
│   │   │   ├── ChatCompletion/
│   │   │   │   ├── AzureAIInference_ChatCompletion.cs
│   │   │   │   ├── AzureAIInference_ChatCompletionStreaming.cs
│   │   │   │   ├── AzureOpenAIWithData_ChatCompletion.cs
│   │   │   │   ├── AzureOpenAI_ChatCompletion.cs
│   │   │   │   ├── AzureOpenAI_ChatCompletionStreaming.cs
│   │   │   │   ├── AzureOpenAI_ChatCompletionWithReasoning.cs
│   │   │   │   ├── AzureOpenAI_CustomClient.cs
│   │   │   │   ├── ChatHistoryAuthorName.cs
│   │   │   │   ├── ChatHistoryInFunctions.cs
│   │   │   │   ├── ChatHistoryReducers/
│   │   │   │   │   ├── ChatCompletionServiceExtensions.cs
│   │   │   │   │   ├── ChatCompletionServiceWithReducer.cs
│   │   │   │   │   ├── ChatHistoryExtensions.cs
│   │   │   │   │   ├── ChatHistoryMaxTokensReducer.cs
│   │   │   │   │   └── ChatHistoryReducerTests.cs
│   │   │   │   ├── ChatHistorySerialization.cs
│   │   │   │   ├── Connectors_CustomHttpClient.cs
│   │   │   │   ├── Connectors_KernelStreaming.cs
│   │   │   │   ├── Connectors_WithMultipleLLMs.cs
│   │   │   │   ├── Google_GeminiChatCompletion.cs
│   │   │   │   ├── Google_GeminiChatCompletionStreaming.cs
│   │   │   │   ├── Google_GeminiChatCompletionWithFile.cs
│   │   │   │   ├── Google_GeminiChatCompletionWithThinking.cs
│   │   │   │   ├── Google_GeminiGetModelResult.cs
│   │   │   │   ├── Google_GeminiStructuredOutputs.cs
│   │   │   │   ├── Google_GeminiVision.cs
│   │   │   │   ├── HuggingFace_ChatCompletion.cs
│   │   │   │   ├── HuggingFace_ChatCompletionStreaming.cs
│   │   │   │   ├── HybridCompletion_Fallback.cs
│   │   │   │   ├── LMStudio_ChatCompletion.cs
│   │   │   │   ├── LMStudio_ChatCompletionStreaming.cs
│   │   │   │   ├── MistralAI_ChatCompletion.cs
│   │   │   │   ├── MistralAI_ChatPrompt.cs
│   │   │   │   ├── MistralAI_FunctionCalling.cs
│   │   │   │   ├── MistralAI_StreamingFunctionCalling.cs
│   │   │   │   ├── MultipleProviders_ChatHistoryReducer.cs
│   │   │   │   ├── Ollama_ChatCompletion.cs
│   │   │   │   ├── Ollama_ChatCompletionStreaming.cs
│   │   │   │   ├── Ollama_ChatCompletionWithVision.cs
│   │   │   │   ├── Onnx_ChatCompletion.cs
│   │   │   │   ├── Onnx_ChatCompletionStreaming.cs
│   │   │   │   ├── OpenAI_ChatCompletion.cs
│   │   │   │   ├── OpenAI_ChatCompletionStreaming.cs
│   │   │   │   ├── OpenAI_ChatCompletionWebSearch.cs
│   │   │   │   ├── OpenAI_ChatCompletionWithAudio.cs
│   │   │   │   ├── OpenAI_ChatCompletionWithFile.cs
│   │   │   │   ├── OpenAI_ChatCompletionWithReasoning.cs
│   │   │   │   ├── OpenAI_ChatCompletionWithVision.cs
│   │   │   │   ├── OpenAI_CustomClient.cs
│   │   │   │   ├── OpenAI_FunctionCalling.cs
│   │   │   │   ├── OpenAI_FunctionCallingWithMemoryPlugin.cs
│   │   │   │   ├── OpenAI_ReasonedFunctionCalling.cs
│   │   │   │   ├── OpenAI_RepeatedFunctionCalling.cs
│   │   │   │   ├── OpenAI_StructuredOutputs.cs
│   │   │   │   └── OpenAI_UsingLogitBias.cs
│   │   │   ├── Concepts.csproj
│   │   │   ├── DependencyInjection/
│   │   │   │   ├── HttpClient_Registration.cs
│   │   │   │   ├── HttpClient_Resiliency.cs
│   │   │   │   ├── Kernel_Building.cs
│   │   │   │   └── Kernel_Injecting.cs
│   │   │   ├── Filtering/
│   │   │   │   ├── AutoFunctionInvocationFiltering.cs
│   │   │   │   ├── AzureOpenAI_DeploymentSwitch.cs
│   │   │   │   ├── ChatClient_AutoFunctionInvocationFiltering.cs
│   │   │   │   ├── FunctionInvocationFiltering.cs
│   │   │   │   ├── MaxTokensWithFilters.cs
│   │   │   │   ├── PIIDetection.cs
│   │   │   │   ├── PromptRenderFiltering.cs
│   │   │   │   ├── RetryWithFilters.cs
│   │   │   │   └── TelemetryWithFilters.cs
│   │   │   ├── FunctionCalling/
│   │   │   │   ├── AzureAIInference_FunctionCalling.cs
│   │   │   │   ├── ContextDependentAdvertising.cs
│   │   │   │   ├── FunctionCalling.cs
│   │   │   │   ├── FunctionCalling_ReturnMetadata.cs
│   │   │   │   ├── FunctionCalling_SharedState.cs
│   │   │   │   ├── Gemini_FunctionCalling.cs
│   │   │   │   ├── MultipleFunctionsVsParameters.cs
│   │   │   │   └── NexusRaven_FunctionCalling.cs
│   │   │   ├── Functions/
│   │   │   │   ├── Arguments.cs
│   │   │   │   ├── FunctionResult_Metadata.cs
│   │   │   │   ├── FunctionResult_StronglyTyped.cs
│   │   │   │   ├── MethodFunctions.cs
│   │   │   │   ├── MethodFunctions_Advanced.cs
│   │   │   │   ├── MethodFunctions_Types.cs
│   │   │   │   ├── MethodFunctions_Yaml.cs
│   │   │   │   ├── PromptFunctions_Inline.cs
│   │   │   │   └── PromptFunctions_MultipleArguments.cs
│   │   │   ├── ImageToText/
│   │   │   │   └── HuggingFace_ImageToText.cs
│   │   │   ├── Kernel/
│   │   │   │   ├── BuildingKernel.cs
│   │   │   │   ├── ConfigureExecutionSettings.cs
│   │   │   │   └── CustomAIServiceSelector.cs
│   │   │   ├── Memory/
│   │   │   │   ├── AWSBedrock_EmbeddingGeneration.cs
│   │   │   │   ├── Google_EmbeddingGeneration.cs
│   │   │   │   ├── HuggingFace_EmbeddingGeneration.cs
│   │   │   │   ├── HuggingFace_TextEmbeddingCustomHttpHandler.cs
│   │   │   │   ├── Ollama_EmbeddingGeneration.cs
│   │   │   │   ├── Onnx_EmbeddingGeneration.cs
│   │   │   │   ├── OpenAI_EmbeddingGeneration.cs
│   │   │   │   ├── TextChunkerUsage.cs
│   │   │   │   ├── TextChunkingAndEmbedding.cs
│   │   │   │   ├── VectorStoreExtensions.cs
│   │   │   │   ├── VectorStoreFixtures/
│   │   │   │   │   ├── VectorStoreInfra.cs
│   │   │   │   │   ├── VectorStorePostgresContainerFixture.cs
│   │   │   │   │   ├── VectorStoreQdrantContainerFixture.cs
│   │   │   │   │   └── VectorStoreRedisContainerFixture.cs
│   │   │   │   ├── VectorStoreLangchainInterop/
│   │   │   │   │   ├── LangchainDocument.cs
│   │   │   │   │   ├── PineconeFactory.cs
│   │   │   │   │   └── RedisFactory.cs
│   │   │   │   ├── VectorStore_ConsumeFromMemoryStore_AzureAISearch.cs
│   │   │   │   ├── VectorStore_ConsumeFromMemoryStore_Qdrant.cs
│   │   │   │   ├── VectorStore_ConsumeFromMemoryStore_Redis.cs
│   │   │   │   ├── VectorStore_DataIngestion_MultiStore.cs
│   │   │   │   ├── VectorStore_DataIngestion_Simple.cs
│   │   │   │   ├── VectorStore_DynamicDataModel_Interop.cs
│   │   │   │   ├── VectorStore_HybridSearch_Simple_AzureAISearch.cs
│   │   │   │   ├── VectorStore_Langchain_Interop.cs
│   │   │   │   ├── VectorStore_VectorSearch_MultiStore_AzureAISearch.cs
│   │   │   │   ├── VectorStore_VectorSearch_MultiStore_Common.cs
│   │   │   │   ├── VectorStore_VectorSearch_MultiStore_InMemory.cs
│   │   │   │   ├── VectorStore_VectorSearch_MultiStore_Postgres.cs
│   │   │   │   ├── VectorStore_VectorSearch_MultiStore_Qdrant.cs
│   │   │   │   ├── VectorStore_VectorSearch_MultiStore_Redis.cs
│   │   │   │   ├── VectorStore_VectorSearch_MultiVector.cs
│   │   │   │   ├── VectorStore_VectorSearch_Paging.cs
│   │   │   │   ├── VectorStore_VectorSearch_Simple.cs
│   │   │   │   └── VolatileVectorStore_LoadData.cs
│   │   │   ├── Optimization/
│   │   │   │   ├── FrugalGPTWithFilters.cs
│   │   │   │   └── PluginSelectionWithFilters.cs
│   │   │   ├── Plugins/
│   │   │   │   ├── ApiManifestBasedPlugins.cs
│   │   │   │   ├── ConversationSummaryPlugin.cs
│   │   │   │   ├── CopilotAgentBasedPlugins.cs
│   │   │   │   ├── CreatePluginFromOpenApiSpec_Github.cs
│   │   │   │   ├── CreatePluginFromOpenApiSpec_Jira.cs
│   │   │   │   ├── CreatePluginFromOpenApiSpec_Klarna.cs
│   │   │   │   ├── CreatePluginFromOpenApiSpec_RepairService.cs
│   │   │   │   ├── CreatePromptPluginFromDirectory.cs
│   │   │   │   ├── CrewAI_Plugin.cs
│   │   │   │   ├── CustomMutablePlugin.cs
│   │   │   │   ├── DescribeAllPluginsAndFunctions.cs
│   │   │   │   ├── GroundednessChecks.cs
│   │   │   │   ├── ImportPluginFromGrpc.cs
│   │   │   │   ├── MsGraph_CalendarPlugin.cs
│   │   │   │   ├── MsGraph_EmailPlugin.cs
│   │   │   │   ├── MsGraph_OneDrivePlugin.cs
│   │   │   │   ├── MsGraph_OrganizationHierarchyPlugin.cs
│   │   │   │   ├── MsGraph_TaskListPlugin.cs
│   │   │   │   ├── OpenApiPlugin_CustomHttpContentReader.cs
│   │   │   │   ├── OpenApiPlugin_Customization.cs
│   │   │   │   ├── OpenApiPlugin_Filtering.cs
│   │   │   │   ├── OpenApiPlugin_PayloadHandling.cs
│   │   │   │   ├── OpenApiPlugin_RestApiOperationResponseFactory.cs
│   │   │   │   ├── OpenApiPlugin_Telemetry.cs
│   │   │   │   ├── TransformPlugin.cs
│   │   │   │   └── WebPlugins.cs
│   │   │   ├── PromptTemplates/
│   │   │   │   ├── ChatCompletionPrompts.cs
│   │   │   │   ├── ChatLoopWithPrompt.cs
│   │   │   │   ├── ChatPromptWithAudio.cs
│   │   │   │   ├── ChatPromptWithBinary.cs
│   │   │   │   ├── ChatWithPrompts.cs
│   │   │   │   ├── HandlebarsPrompts.cs
│   │   │   │   ├── HandlebarsVisionPrompts.cs
│   │   │   │   ├── LiquidPrompts.cs
│   │   │   │   ├── MultiplePromptTemplates.cs
│   │   │   │   ├── PromptFunctionsWithChatGPT.cs
│   │   │   │   ├── PromptyFunction.cs
│   │   │   │   ├── SafeChatPrompts.cs
│   │   │   │   └── TemplateLanguage.cs
│   │   │   ├── RAG/
│   │   │   │   ├── Bing_RagWithTextSearch.cs
│   │   │   │   └── WithPlugins.cs
│   │   │   ├── README.md
│   │   │   ├── Resources/
│   │   │   │   ├── 22-ai-plugin.json
│   │   │   │   ├── 22-openapi.json
│   │   │   │   ├── 30-system-prompt.txt
│   │   │   │   ├── 30-user-context.txt
│   │   │   │   ├── 30-user-prompt.txt
│   │   │   │   ├── 65-prompt-override.handlebars
│   │   │   │   ├── DeclarativeAgents/
│   │   │   │   │   ├── SchedulingAssistant.json
│   │   │   │   │   └── scheduling-assistant-instructions.txt
│   │   │   │   ├── EnglishRoberta/
│   │   │   │   │   ├── dict.txt
│   │   │   │   │   ├── encoder.json
│   │   │   │   │   └── vocab.bpe
│   │   │   │   ├── GenerateStory.yaml
│   │   │   │   ├── GenerateStoryHandlebars.yaml
│   │   │   │   ├── HandlebarsPrompt.yaml
│   │   │   │   ├── LiquidPrompt.yaml
│   │   │   │   ├── Plugins/
│   │   │   │   │   ├── ApiManifestPlugins/
│   │   │   │   │   │   ├── AstronomyPlugin/
│   │   │   │   │   │   │   └── apimanifest.json
│   │   │   │   │   │   ├── CalendarPlugin/
│   │   │   │   │   │   │   └── apimanifest.json
│   │   │   │   │   │   ├── ContactsPlugin/
│   │   │   │   │   │   │   └── apimanifest.json
│   │   │   │   │   │   ├── DriveItemPlugin/
│   │   │   │   │   │   │   └── apimanifest.json
│   │   │   │   │   │   └── MessagesPlugin/
│   │   │   │   │   │       └── apimanifest.json
│   │   │   │   │   ├── CopilotAgentPlugins/
│   │   │   │   │   │   ├── AstronomyPlugin/
│   │   │   │   │   │   │   ├── astronomy-apiplugin.json
│   │   │   │   │   │   │   ├── astronomy-openapi.yml
│   │   │   │   │   │   │   └── messages-openapi.yml
│   │   │   │   │   │   ├── CalendarPlugin/
│   │   │   │   │   │   │   ├── calendar-apiplugin.json
│   │   │   │   │   │   │   └── calendar-openapi.yml
│   │   │   │   │   │   ├── ContactsPlugin/
│   │   │   │   │   │   │   ├── contacts-apiplugin.json
│   │   │   │   │   │   │   └── contacts-openapi.yml
│   │   │   │   │   │   ├── DriveItemPlugin/
│   │   │   │   │   │   │   ├── driveitem-apiplugin.json
│   │   │   │   │   │   │   └── driveitem-openapi.yml
│   │   │   │   │   │   ├── MessagesPlugin/
│   │   │   │   │   │   │   ├── messages-apiplugin.json
│   │   │   │   │   │   │   └── messages-openapi.yml
│   │   │   │   │   │   ├── README.md
│   │   │   │   │   │   └── RetrievalPlugin/
│   │   │   │   │   │       ├── retrieval-apiplugin.json
│   │   │   │   │   │       └── retrieval-openapi.yml
│   │   │   │   │   ├── DictionaryPlugin/
│   │   │   │   │   │   ├── ComplexParamsDictionaryPlugin.cs
│   │   │   │   │   │   ├── StringParamsDictionaryPlugin.cs
│   │   │   │   │   │   └── openapi.json
│   │   │   │   │   ├── EmailPlugin.cs
│   │   │   │   │   ├── EventPlugin/
│   │   │   │   │   │   ├── openapiV1.json
│   │   │   │   │   │   └── openapiV2.json
│   │   │   │   │   ├── JiraPlugin/
│   │   │   │   │   │   ├── README.md
│   │   │   │   │   │   └── openapi.json
│   │   │   │   │   ├── MoviePlugins/
│   │   │   │   │   │   ├── MoviePluginPrompt/
│   │   │   │   │   │   │   └── TopMovies/
│   │   │   │   │   │   │       ├── config.json
│   │   │   │   │   │   │       └── skprompt.txt
│   │   │   │   │   │   └── MoviePluginYaml/
│   │   │   │   │   │       └── TopMovies.yaml
│   │   │   │   │   ├── OpenAPI/
│   │   │   │   │   │   └── NASA/
│   │   │   │   │   │       └── apod.yaml
│   │   │   │   │   ├── PetsPlugin/
│   │   │   │   │   │   ├── allOfV3.json
│   │   │   │   │   │   ├── anyOfV3.json
│   │   │   │   │   │   └── oneOfV3.json
│   │   │   │   │   ├── ProductsPlugin/
│   │   │   │   │   │   └── openapi.json
│   │   │   │   │   ├── RepairServicePlugin/
│   │   │   │   │   │   └── repair-service.json
│   │   │   │   │   └── StaticTextPlugin.cs
│   │   │   │   ├── chat-gpt-retrieval-plugin-open-api.yaml
│   │   │   │   ├── sales.csv
│   │   │   │   ├── semantic-kernel-info.txt
│   │   │   │   ├── travel-destination-overview.txt
│   │   │   │   ├── travelinfo.txt
│   │   │   │   └── what-is-semantic-kernel.json
│   │   │   ├── Search/
│   │   │   │   ├── BingAndGooglePlugins.cs
│   │   │   │   ├── Bing_FunctionCallingWithTextSearch.cs
│   │   │   │   ├── Bing_TextSearch.cs
│   │   │   │   ├── Google_TextSearch.cs
│   │   │   │   ├── MyAzureAISearchPlugin.cs
│   │   │   │   ├── Tavily_TextSearch.cs
│   │   │   │   ├── VectorStore_TextSearch.cs
│   │   │   │   └── WebSearchQueriesPlugin.cs
│   │   │   ├── TextGeneration/
│   │   │   │   ├── Custom_TextGenerationService.cs
│   │   │   │   ├── HuggingFace_TextGeneration.cs
│   │   │   │   ├── Ollama_TextGeneration.cs
│   │   │   │   ├── Ollama_TextGenerationStreaming.cs
│   │   │   │   └── OpenAI_TextGenerationStreaming.cs
│   │   │   ├── TextToAudio/
│   │   │   │   └── OpenAI_TextToAudio.cs
│   │   │   └── TextToImage/
│   │   │       ├── AzureOpenAI_TextToImage.cs
│   │   │       ├── OpenAI_TextToImage.cs
│   │   │       └── OpenAI_TextToImageLegacy.cs
│   │   ├── Demos/
│   │   │   ├── A2AClientServer/
│   │   │   │   ├── A2AClient/
│   │   │   │   │   ├── A2AClient.csproj
│   │   │   │   │   ├── HostClientAgent.cs
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   └── README.md
│   │   │   │   ├── A2AServer/
│   │   │   │   │   ├── A2AServer.csproj
│   │   │   │   │   ├── A2AServer.http
│   │   │   │   │   ├── HostAgentFactory.cs
│   │   │   │   │   ├── Plugins/
│   │   │   │   │   │   └── InvoiceQueryPlugin.cs
│   │   │   │   │   └── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── AIModelRouter/
│   │   │   │   ├── AIModelRouter.csproj
│   │   │   │   ├── CustomRouter.cs
│   │   │   │   ├── Program.cs
│   │   │   │   ├── README.md
│   │   │   │   └── SelectedServiceFilter.cs
│   │   │   ├── AgentFrameworkWithAspire/
│   │   │   │   ├── .gitignore
│   │   │   │   ├── ChatWithAgent.ApiService/
│   │   │   │   │   ├── ChatWithAgent.ApiService.csproj
│   │   │   │   │   ├── Config/
│   │   │   │   │   │   └── ServiceConfig.cs
│   │   │   │   │   ├── Controllers/
│   │   │   │   │   │   ├── AgentCompletionRequest.cs
│   │   │   │   │   │   └── AgentCompletionsController.cs
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   ├── Rag/
│   │   │   │   │   │   └── TextSnippet.cs
│   │   │   │   │   ├── Resources/
│   │   │   │   │   │   ├── AgentDefinition.yaml
│   │   │   │   │   │   ├── AgentWithRagDefinition.yaml
│   │   │   │   │   │   └── EmbeddedResource.cs
│   │   │   │   │   └── appsettings.json
│   │   │   │   ├── ChatWithAgent.AppHost/
│   │   │   │   │   ├── ChatWithAgent.AppHost.csproj
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   └── ResourceBuilderExtensions.cs
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   └── appsettings.json
│   │   │   │   ├── ChatWithAgent.Configuration/
│   │   │   │   │   ├── AzureAISearchConfig.cs
│   │   │   │   │   ├── AzureOpenAIChatConfig.cs
│   │   │   │   │   ├── AzureOpenAIEmbeddingsConfig.cs
│   │   │   │   │   ├── ChatWithAgent.Configuration.csproj
│   │   │   │   │   ├── HostConfig.cs
│   │   │   │   │   ├── OpenAIChatConfig.cs
│   │   │   │   │   ├── OpenAIEmbeddingsConfig.cs
│   │   │   │   │   └── RagConfig.cs
│   │   │   │   ├── ChatWithAgent.ServiceDefaults/
│   │   │   │   │   ├── ChatWithAgent.ServiceDefaults.csproj
│   │   │   │   │   └── CommonExtensions.cs
│   │   │   │   ├── ChatWithAgent.Web/
│   │   │   │   │   ├── ApiClients/
│   │   │   │   │   │   └── AgentCompletionsApiClient.cs
│   │   │   │   │   ├── ChatWithAgent.Web.csproj
│   │   │   │   │   ├── Components/
│   │   │   │   │   │   ├── App.razor
│   │   │   │   │   │   ├── Layout/
│   │   │   │   │   │   │   ├── MainLayout.razor
│   │   │   │   │   │   │   ├── MainLayout.razor.css
│   │   │   │   │   │   │   ├── NavMenu.razor
│   │   │   │   │   │   │   └── NavMenu.razor.css
│   │   │   │   │   │   ├── Pages/
│   │   │   │   │   │   │   ├── Chat.razor
│   │   │   │   │   │   │   ├── Chat.razor.css
│   │   │   │   │   │   │   └── Error.razor
│   │   │   │   │   │   ├── Routes.razor
│   │   │   │   │   │   └── _Imports.razor
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   └── HttpClientBuilderExtensions.cs
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   ├── appsettings.json
│   │   │   │   │   └── wwwroot/
│   │   │   │   │       └── app.css
│   │   │   │   └── README.md
│   │   │   ├── AmazonBedrockModels/
│   │   │   │   ├── AmazonBedrockAIModels.csproj
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── AotCompatibility/
│   │   │   │   ├── AotCompatibility.csproj
│   │   │   │   ├── JsonSerializerContexts/
│   │   │   │   │   ├── LocationJsonSerializerContext.cs
│   │   │   │   │   └── WeatherJsonSerializerContext.cs
│   │   │   │   ├── KernelFunctionSamples.cs
│   │   │   │   ├── KernelPluginSamples.cs
│   │   │   │   ├── OnnxChatCompletionSamples.cs
│   │   │   │   ├── Plugins/
│   │   │   │   │   ├── Location.cs
│   │   │   │   │   ├── Weather.cs
│   │   │   │   │   └── WeatherPlugin.cs
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── BookingRestaurant/
│   │   │   │   ├── AppConfig.cs
│   │   │   │   ├── Appointment.cs
│   │   │   │   ├── BookingRestaurant.csproj
│   │   │   │   ├── BookingsPlugin.cs
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── CodeInterpreterPlugin/
│   │   │   │   ├── CodeInterpreterPlugin.csproj
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── ContentSafety/
│   │   │   │   ├── ContentSafety.csproj
│   │   │   │   ├── ContentSafety.http
│   │   │   │   ├── Controllers/
│   │   │   │   │   └── ChatController.cs
│   │   │   │   ├── Exceptions/
│   │   │   │   │   ├── AttackDetectionException.cs
│   │   │   │   │   └── TextModerationException.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── ConfigurationExtensions.cs
│   │   │   │   ├── Filters/
│   │   │   │   │   ├── AttackDetectionFilter.cs
│   │   │   │   │   └── TextModerationFilter.cs
│   │   │   │   ├── Handlers/
│   │   │   │   │   └── ContentSafetyExceptionHandler.cs
│   │   │   │   ├── Models/
│   │   │   │   │   └── ChatModel.cs
│   │   │   │   ├── Options/
│   │   │   │   │   ├── AzureContentSafetyOptions.cs
│   │   │   │   │   └── OpenAIOptions.cs
│   │   │   │   ├── Program.cs
│   │   │   │   ├── README.md
│   │   │   │   ├── Services/
│   │   │   │   │   └── PromptShield/
│   │   │   │   │       ├── PromptShieldAnalysis.cs
│   │   │   │   │       ├── PromptShieldRequest.cs
│   │   │   │   │       ├── PromptShieldResponse.cs
│   │   │   │   │       └── PromptShieldService.cs
│   │   │   │   └── appsettings.json
│   │   │   ├── CopilotAgentPlugins/
│   │   │   │   ├── CopilotAgentPluginsDemoSample/
│   │   │   │   │   ├── BearerAuthenticationProviderWithCancellationToken.cs
│   │   │   │   │   ├── CopilotAgentPluginsDemoSample.csproj
│   │   │   │   │   ├── CopilotAgentPluginsDemoSample.sln
│   │   │   │   │   ├── DemoCommand.cs
│   │   │   │   │   ├── Logging/
│   │   │   │   │   │   ├── SemanticKernelLogger.cs
│   │   │   │   │   │   └── SemanticKernelLoggerProvider.cs
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   └── appsettings.json
│   │   │   │   ├── README.md
│   │   │   │   └── TROUBLESHOOTING.md
│   │   │   ├── FSharpScripts/
│   │   │   │   └── huggingFaceChatCompletion.fsx
│   │   │   ├── FunctionInvocationApproval/
│   │   │   │   ├── FunctionInvocationApproval.csproj
│   │   │   │   ├── Options/
│   │   │   │   │   ├── AzureOpenAIOptions.cs
│   │   │   │   │   └── OpenAIOptions.cs
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── HomeAutomation/
│   │   │   │   ├── HomeAutomation.csproj
│   │   │   │   ├── Options/
│   │   │   │   │   ├── AzureOpenAIOptions.cs
│   │   │   │   │   └── OpenAIOptions.cs
│   │   │   │   ├── Plugins/
│   │   │   │   │   ├── MyAlarmPlugin.cs
│   │   │   │   │   ├── MyLightPlugin.cs
│   │   │   │   │   └── MyTimePlugin.cs
│   │   │   │   ├── Program.cs
│   │   │   │   ├── README.md
│   │   │   │   ├── Worker.cs
│   │   │   │   └── appsettings.json
│   │   │   ├── HuggingFaceImageToText/
│   │   │   │   ├── FormMain.Designer.cs
│   │   │   │   ├── FormMain.cs
│   │   │   │   ├── FormMain.resx
│   │   │   │   ├── HuggingFaceImageToText.csproj
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── ModelContextProtocolClientServer/
│   │   │   │   ├── MCPClient/
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   ├── AuthorRoleExtensions.cs
│   │   │   │   │   │   ├── ChatMessageContentExtensions.cs
│   │   │   │   │   │   ├── ContentBlockExtensions.cs
│   │   │   │   │   │   ├── PromptResultExtensions.cs
│   │   │   │   │   │   ├── ReadResourceResultExtensions.cs
│   │   │   │   │   │   ├── RoleExtensions.cs
│   │   │   │   │   │   └── SamplingMessageExtensions.cs
│   │   │   │   │   ├── HumanInTheLoopFilter.cs
│   │   │   │   │   ├── MCPClient.csproj
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   └── Samples/
│   │   │   │   │       ├── AgentAvailableAsMCPToolSample.cs
│   │   │   │   │       ├── AzureAIAgentWithMCPToolsSample.cs
│   │   │   │   │       ├── BaseSample.cs
│   │   │   │   │       ├── ChatCompletionAgentWithMCPToolsSample.cs
│   │   │   │   │       ├── MCPPromptSample.cs
│   │   │   │   │       ├── MCPResourceTemplatesSample.cs
│   │   │   │   │       ├── MCPResourcesSample.cs
│   │   │   │   │       ├── MCPSamplingSample.cs
│   │   │   │   │       └── MCPToolsSample.cs
│   │   │   │   ├── MCPServer/
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   ├── McpServerBuilderExtensions.cs
│   │   │   │   │   │   └── VectorStoreExtensions.cs
│   │   │   │   │   ├── MCPServer.csproj
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   ├── ProjectResources/
│   │   │   │   │   │   ├── EmbeddedResource.cs
│   │   │   │   │   │   ├── getCurrentWeatherForCity.json
│   │   │   │   │   │   └── semantic-kernel-info.txt
│   │   │   │   │   ├── Prompts/
│   │   │   │   │   │   └── PromptDefinition.cs
│   │   │   │   │   ├── Resources/
│   │   │   │   │   │   ├── ResourceDefinition.cs
│   │   │   │   │   │   ├── ResourceTemplateDefinition.cs
│   │   │   │   │   │   └── TextDataModel.cs
│   │   │   │   │   ├── Tools/
│   │   │   │   │   │   ├── DateTimeUtils.cs
│   │   │   │   │   │   ├── MailboxUtils.cs
│   │   │   │   │   │   ├── OrderProcessingUtils.cs
│   │   │   │   │   │   └── WeatherUtils.cs
│   │   │   │   │   └── appsettings.json
│   │   │   │   └── README.md
│   │   │   ├── ModelContextProtocolPlugin/
│   │   │   │   ├── ModelContextProtocolPlugin.csproj
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── ModelContextProtocolPluginAuth/
│   │   │   │   ├── ModelContextProtocolPluginAuth.csproj
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── OllamaFunctionCalling/
│   │   │   │   ├── OllamaFunctionCalling.csproj
│   │   │   │   ├── Plugins/
│   │   │   │   │   ├── MyAlarmPlugin.cs
│   │   │   │   │   ├── MyLightPlugin.cs
│   │   │   │   │   └── MyTimePlugin.cs
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── OnnxSimpleChatWithCuda/
│   │   │   │   ├── OnnxSimpleChatWithCuda.csproj
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── OnnxSimpleRAG/
│   │   │   │   ├── Facts/
│   │   │   │   │   ├── KernelMemory.txt
│   │   │   │   │   └── SemanticKernel.txt
│   │   │   │   ├── OnnxSimpleRAG.csproj
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── OpenAIRealtime/
│   │   │   │   ├── OpenAIRealtime.csproj
│   │   │   │   ├── Options/
│   │   │   │   │   ├── AzureOpenAIOptions.cs
│   │   │   │   │   └── OpenAIOptions.cs
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── ProcessFrameworkWithAspire/
│   │   │   │   ├── ProcessFramework.Aspire/
│   │   │   │   │   ├── ProcessFramework.Aspire.AppHost/
│   │   │   │   │   │   ├── ProcessFramework.Aspire.AppHost.csproj
│   │   │   │   │   │   ├── Program.cs
│   │   │   │   │   │   └── appsettings.json
│   │   │   │   │   ├── ProcessFramework.Aspire.ProcessOrchestrator/
│   │   │   │   │   │   ├── Models/
│   │   │   │   │   │   │   └── ProcessEvents.cs
│   │   │   │   │   │   ├── ProcessFramework.Aspire.ProcessOrchestrator.csproj
│   │   │   │   │   │   ├── ProcessFramework.Aspire.ProcessOrchestrator.http
│   │   │   │   │   │   ├── Program.cs
│   │   │   │   │   │   ├── Steps/
│   │   │   │   │   │   │   ├── SummarizeStep.cs
│   │   │   │   │   │   │   └── TranslateStep.cs
│   │   │   │   │   │   ├── SummaryAgentHttpClient.cs
│   │   │   │   │   │   ├── TranslatorAgentHttpClient.cs
│   │   │   │   │   │   └── appsettings.json
│   │   │   │   │   ├── ProcessFramework.Aspire.ServiceDefaults/
│   │   │   │   │   │   ├── CommonExtensions.cs
│   │   │   │   │   │   └── ProcessFramework.Aspire.ServiceDefaults.csproj
│   │   │   │   │   ├── ProcessFramework.Aspire.Shared/
│   │   │   │   │   │   ├── ProcessFramework.Aspire.Shared.csproj
│   │   │   │   │   │   ├── SummarizeRequest.cs
│   │   │   │   │   │   └── TranslationRequest.cs
│   │   │   │   │   ├── ProcessFramework.Aspire.SummaryAgent/
│   │   │   │   │   │   ├── ProcessFramework.Aspire.SummaryAgent.csproj
│   │   │   │   │   │   ├── ProcessFramework.Aspire.SummaryAgent.http
│   │   │   │   │   │   ├── Program.cs
│   │   │   │   │   │   └── appsettings.json
│   │   │   │   │   └── ProcessFramework.Aspire.TranslatorAgent/
│   │   │   │   │       ├── ProcessFramework.Aspire.TranslatorAgent.csproj
│   │   │   │   │       ├── ProcessFramework.Aspire.TranslatorAgent.http
│   │   │   │   │       ├── Program.cs
│   │   │   │   │       └── appsettings.json
│   │   │   │   └── README.md
│   │   │   ├── ProcessFrameworkWithSignalR/
│   │   │   │   ├── .gitignore
│   │   │   │   ├── README.md
│   │   │   │   ├── package.json
│   │   │   │   └── src/
│   │   │   │       ├── ProcessFramework.Aspire.SignalR.AppHost/
│   │   │   │       │   ├── ProcessFramework.Aspire.SignalR.AppHost.csproj
│   │   │   │       │   ├── Program.cs
│   │   │   │       │   └── appsettings.json
│   │   │   │       ├── ProcessFramework.Aspire.SignalR.ProcessOrchestrator/
│   │   │   │       │   ├── DocumentGenerationProcess.cs
│   │   │   │       │   ├── LocalEventProxyChannel.cs
│   │   │   │       │   ├── Models/
│   │   │   │       │   │   ├── DocumentGenerationRequest.cs
│   │   │   │       │   │   ├── DocumentInfo.cs
│   │   │   │       │   │   └── ProductInfo.cs
│   │   │   │       │   ├── ProcessFramework.Aspire.ProcessOrchestrator.http
│   │   │   │       │   ├── ProcessFramework.Aspire.SignalR.ProcessOrchestrator.csproj
│   │   │   │       │   ├── Program.cs
│   │   │   │       │   ├── Steps/
│   │   │   │       │   │   ├── GatherProductInfoStep.cs
│   │   │   │       │   │   ├── GenerateDocumentationStep.cs
│   │   │   │       │   │   ├── ProofreadDocumentationStep.cs
│   │   │   │       │   │   └── PublishDocumentationStep.cs
│   │   │   │       │   └── appsettings.json
│   │   │   │       ├── ProcessFramework.Aspire.SignalR.ReactFrontend/
│   │   │   │       │   ├── .gitignore
│   │   │   │       │   ├── README.md
│   │   │   │       │   ├── eslint.config.js
│   │   │   │       │   ├── index.html
│   │   │   │       │   ├── package.json
│   │   │   │       │   ├── src/
│   │   │   │       │   │   ├── App.css
│   │   │   │       │   │   ├── App.tsx
│   │   │   │       │   │   ├── common/
│   │   │   │       │   │   │   ├── AppConstants.ts
│   │   │   │       │   │   │   └── ChatConstants.ts
│   │   │   │       │   │   ├── components/
│   │   │   │       │   │   │   ├── GenerateDocumentsChat.tsx
│   │   │   │       │   │   │   ├── Icons.ts
│   │   │   │       │   │   │   └── SimpleChat.tsx
│   │   │   │       │   │   ├── index.css
│   │   │   │       │   │   ├── main.tsx
│   │   │   │       │   │   ├── services/
│   │   │   │       │   │   │   └── signalr/
│   │   │   │       │   │   │       ├── ProcessFrameworkClient.ts
│   │   │   │       │   │   │       ├── documentGeneration.client.ts
│   │   │   │       │   │   │       └── documentGeneration.ts
│   │   │   │       │   │   └── vite-env.d.ts
│   │   │   │       │   ├── tsconfig.app.json
│   │   │   │       │   ├── tsconfig.json
│   │   │   │       │   ├── tsconfig.node.json
│   │   │   │       │   └── vite.config.ts
│   │   │   │       └── ProcessFramework.Aspire.SignalR.ServiceDefaults/
│   │   │   │           ├── CommonExtensions.cs
│   │   │   │           └── ProcessFramework.Aspire.SignalR.ServiceDefaults.csproj
│   │   │   ├── ProcessWithCloudEvents/
│   │   │   │   ├── ProcessWithCloudEvents.Client/
│   │   │   │   │   ├── .gitignore
│   │   │   │   │   ├── README.md
│   │   │   │   │   ├── eslint.config.js
│   │   │   │   │   ├── index.html
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── src/
│   │   │   │   │   │   ├── App.css
│   │   │   │   │   │   ├── App.tsx
│   │   │   │   │   │   ├── common/
│   │   │   │   │   │   │   ├── AppConstants.ts
│   │   │   │   │   │   │   └── ChatConstants.ts
│   │   │   │   │   │   ├── components/
│   │   │   │   │   │   │   ├── GenerateDocumentsChat.tsx
│   │   │   │   │   │   │   ├── Icons.ts
│   │   │   │   │   │   │   └── SimpleChat.tsx
│   │   │   │   │   │   ├── index.css
│   │   │   │   │   │   ├── main.tsx
│   │   │   │   │   │   ├── services/
│   │   │   │   │   │   │   └── grpc/
│   │   │   │   │   │   │       ├── DocumentGenerationGrpcClient.ts
│   │   │   │   │   │   │       ├── gen/
│   │   │   │   │   │   │       │   ├── documentGeneration.client.ts
│   │   │   │   │   │   │       │   └── documentGeneration.ts
│   │   │   │   │   │   │       └── proto/
│   │   │   │   │   │   │           └── documentGeneration.proto
│   │   │   │   │   │   └── vite-env.d.ts
│   │   │   │   │   ├── tsconfig.app.json
│   │   │   │   │   ├── tsconfig.json
│   │   │   │   │   ├── tsconfig.node.json
│   │   │   │   │   └── vite.config.ts
│   │   │   │   ├── ProcessWithCloudEvents.Grpc/
│   │   │   │   │   ├── Clients/
│   │   │   │   │   │   └── DocumentGenerationGrpcClient.cs
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   └── ConfigurationExtension.cs
│   │   │   │   │   ├── Options/
│   │   │   │   │   │   └── OpenAIOptions.cs
│   │   │   │   │   ├── ProcessWithCloudEvents.Grpc.csproj
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   ├── Protos/
│   │   │   │   │   │   └── documentationGenerator.proto
│   │   │   │   │   ├── README.md
│   │   │   │   │   ├── Services/
│   │   │   │   │   │   └── DocumentGenerationService.cs
│   │   │   │   │   └── appsettings.json
│   │   │   │   ├── ProcessWithCloudEvents.Processes/
│   │   │   │   │   ├── DocumentGenerationProcess.cs
│   │   │   │   │   ├── Models/
│   │   │   │   │   │   ├── DocumentInfo.cs
│   │   │   │   │   │   └── ProductInfo.cs
│   │   │   │   │   ├── ProcessWithCloudEvents.Processes.csproj
│   │   │   │   │   └── Steps/
│   │   │   │   │       ├── GatherProductInfoStep.cs
│   │   │   │   │       ├── GenerateDocumentationStep.cs
│   │   │   │   │       ├── ProofreadDocumentationStep.cs
│   │   │   │   │       └── PublishDocumentationStep.cs
│   │   │   │   └── README.md
│   │   │   ├── ProcessWithDapr/
│   │   │   │   ├── Controllers/
│   │   │   │   │   └── ProcessController.cs
│   │   │   │   ├── ProcessWithDapr.csproj
│   │   │   │   ├── Program.cs
│   │   │   │   ├── README.md
│   │   │   │   └── appsettings.json
│   │   │   ├── QualityCheck/
│   │   │   │   ├── QualityCheckWithFilters/
│   │   │   │   │   ├── Filters/
│   │   │   │   │   │   ├── BertSummarizationEvaluationFilter.cs
│   │   │   │   │   │   ├── BleuSummarizationEvaluationFilter.cs
│   │   │   │   │   │   ├── CometTranslationEvaluationFilter.cs
│   │   │   │   │   │   ├── FilterFactory.cs
│   │   │   │   │   │   └── MeteorSummarizationEvaluationFilter.cs
│   │   │   │   │   ├── Models/
│   │   │   │   │   │   ├── EvaluationRequest.cs
│   │   │   │   │   │   ├── EvaluationResponse.cs
│   │   │   │   │   │   └── EvaluationScoreType.cs
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   ├── QualityCheckWithFilters.csproj
│   │   │   │   │   └── Services/
│   │   │   │   │       ├── EvaluationService.cs
│   │   │   │   │       └── FakeChatCompletionService.cs
│   │   │   │   ├── README.md
│   │   │   │   └── python-server/
│   │   │   │       ├── app/
│   │   │   │       │   ├── __init__.py
│   │   │   │       │   └── main.py
│   │   │   │       ├── docker-compose.yml
│   │   │   │       └── requirements.txt
│   │   │   ├── README.md
│   │   │   ├── StepwisePlannerMigration/
│   │   │   │   ├── Controllers/
│   │   │   │   │   ├── AutoFunctionCallingController.cs
│   │   │   │   │   └── StepwisePlannerController.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── ConfigurationExtensions.cs
│   │   │   │   ├── Models/
│   │   │   │   │   └── PlanRequest.cs
│   │   │   │   ├── Options/
│   │   │   │   │   └── OpenAIOptions.cs
│   │   │   │   ├── Plugins/
│   │   │   │   │   ├── TimePlugin.cs
│   │   │   │   │   └── WeatherPlugin.cs
│   │   │   │   ├── Program.cs
│   │   │   │   ├── README.md
│   │   │   │   ├── Resources/
│   │   │   │   │   ├── auto-function-calling-plan.json
│   │   │   │   │   └── stepwise-plan.json
│   │   │   │   ├── Services/
│   │   │   │   │   ├── IPlanProvider.cs
│   │   │   │   │   └── PlanProvider.cs
│   │   │   │   ├── StepwisePlannerMigration.csproj
│   │   │   │   ├── StepwisePlannerMigration.http
│   │   │   │   └── appsettings.json
│   │   │   ├── StructuredDataPlugin/
│   │   │   │   ├── ApplicationDbContext.cs
│   │   │   │   ├── Product.cs
│   │   │   │   ├── Program.cs
│   │   │   │   ├── README.md
│   │   │   │   ├── StructuredDataPlugin.csproj
│   │   │   │   └── appsettings.json
│   │   │   ├── TelemetryWithAppInsights/
│   │   │   │   ├── Program.cs
│   │   │   │   ├── README.md
│   │   │   │   ├── RepoUtils/
│   │   │   │   │   └── RepoFiles.cs
│   │   │   │   ├── TelemetryWithAppInsights.csproj
│   │   │   │   └── TestConfiguration.cs
│   │   │   ├── TimePlugin/
│   │   │   │   ├── Program.cs
│   │   │   │   ├── README.md
│   │   │   │   └── TimePlugin.csproj
│   │   │   ├── VectorStoreRAG/
│   │   │   │   ├── DataLoader.cs
│   │   │   │   ├── IDataLoader.cs
│   │   │   │   ├── Options/
│   │   │   │   │   ├── ApplicationConfig.cs
│   │   │   │   │   ├── AzureAISearchConfig.cs
│   │   │   │   │   ├── AzureOpenAIConfig.cs
│   │   │   │   │   ├── AzureOpenAIEmbeddingsConfig.cs
│   │   │   │   │   ├── CosmosConfig.cs
│   │   │   │   │   ├── OpenAIConfig.cs
│   │   │   │   │   ├── OpenAIEmbeddingsConfig.cs
│   │   │   │   │   ├── QdrantConfig.cs
│   │   │   │   │   ├── RagConfig.cs
│   │   │   │   │   ├── RedisConfig.cs
│   │   │   │   │   └── WeaviateConfig.cs
│   │   │   │   ├── Program.cs
│   │   │   │   ├── RAGChatService.cs
│   │   │   │   ├── README.md
│   │   │   │   ├── TextSnippet.cs
│   │   │   │   ├── UniqueKeyGenerator.cs
│   │   │   │   ├── VectorStoreRAG.csproj
│   │   │   │   └── appsettings.json
│   │   │   └── VoiceChat/
│   │   │       ├── Options/
│   │   │       │   ├── AudioOptions.cs
│   │   │       │   ├── ChatOptions.cs
│   │   │       │   └── OpenAIOptions.cs
│   │   │       ├── Pipeline/
│   │   │       │   ├── PipelineEvents.cs
│   │   │       │   ├── TurnManager.cs
│   │   │       │   └── VoiceChatPipeline.cs
│   │   │       ├── Program.cs
│   │   │       ├── README.md
│   │   │       ├── Services/
│   │   │       │   ├── AudioPlaybackService.cs
│   │   │       │   ├── AudioSourceService.cs
│   │   │       │   ├── ChatService.cs
│   │   │       │   ├── SpeechToTextService.cs
│   │   │       │   ├── TextToSpeechService.cs
│   │   │       │   └── VadService.cs
│   │   │       ├── Utilities/
│   │   │       │   └── Tools.cs
│   │   │       ├── VoiceChat.csproj
│   │   │       ├── VoiceChat.sln
│   │   │       └── appsettings.json
│   │   ├── GettingStarted/
│   │   │   ├── GettingStarted.csproj
│   │   │   ├── README.md
│   │   │   ├── Resources/
│   │   │   │   ├── GenerateStory.yaml
│   │   │   │   ├── GenerateStoryHandlebars.yaml
│   │   │   │   └── repair-service.json
│   │   │   ├── Step1_Create_Kernel.cs
│   │   │   ├── Step2_Add_Plugins.cs
│   │   │   ├── Step3_Yaml_Prompt.cs
│   │   │   ├── Step4_Dependency_Injection.cs
│   │   │   ├── Step5_Chat_Prompt.cs
│   │   │   ├── Step6_Responsible_AI.cs
│   │   │   ├── Step7_Observability.cs
│   │   │   ├── Step8_Pipelining.cs
│   │   │   └── Step9_OpenAPI_Plugins.cs
│   │   ├── GettingStartedWithAgents/
│   │   │   ├── A2A/
│   │   │   │   └── Step01_A2AAgent.cs
│   │   │   ├── AzureAIAgent/
│   │   │   │   ├── Step01_AzureAIAgent.cs
│   │   │   │   ├── Step02_AzureAIAgent_Plugins.cs
│   │   │   │   ├── Step03_AzureAIAgent_Vision.cs
│   │   │   │   ├── Step04_AzureAIAgent_CodeInterpreter.cs
│   │   │   │   ├── Step05_AzureAIAgent_FileSearch.cs
│   │   │   │   ├── Step06_AzureAIAgent_OpenAPI.cs
│   │   │   │   ├── Step07_AzureAIAgent_Functions.cs
│   │   │   │   ├── Step08_AzureAIAgent_Declarative.cs
│   │   │   │   ├── Step09_AzureAIAgent_BingGrounding.cs
│   │   │   │   └── Step10_JsonResponse.cs
│   │   │   ├── BedrockAgent/
│   │   │   │   ├── README.md
│   │   │   │   ├── Step01_BedrockAgent.cs
│   │   │   │   ├── Step02_BedrockAgent_CodeInterpreter.cs
│   │   │   │   ├── Step03_BedrockAgent_Functions.cs
│   │   │   │   ├── Step04_BedrockAgent_Trace.cs
│   │   │   │   ├── Step05_BedrockAgent_FileSearch.cs
│   │   │   │   ├── Step06_BedrockAgent_AgentChat.cs
│   │   │   │   └── Step07_BedrockAgent_Declarative.cs
│   │   │   ├── CopilotStudioAgent/
│   │   │   │   ├── Step01_CopilotStudioAgent.cs
│   │   │   │   ├── Step02_CopilotStudioAgent_Thread.cs
│   │   │   │   └── Step03_CopilotStudioAgent_WebSearch.cs
│   │   │   ├── GettingStartedWithAgents.csproj
│   │   │   ├── OpenAIAssistant/
│   │   │   │   ├── Step01_Assistant.cs
│   │   │   │   ├── Step02_Assistant_Plugins.cs
│   │   │   │   ├── Step03_Assistant_Vision.cs
│   │   │   │   ├── Step04_AssistantTool_CodeInterpreter.cs
│   │   │   │   ├── Step05_AssistantTool_FileSearch.cs
│   │   │   │   ├── Step06_AssistantTool_Function.cs
│   │   │   │   └── Step07_Assistant_Declarative.cs
│   │   │   ├── OpenAIResponse/
│   │   │   │   ├── Step01_OpenAIResponseAgent.cs
│   │   │   │   ├── Step02_OpenAIResponseAgent_ConversationState.cs
│   │   │   │   ├── Step03_OpenAIResponseAgent_ReasoningModel.cs
│   │   │   │   └── Step04_OpenAIResponseAgent_Tools.cs
│   │   │   ├── Orchestration/
│   │   │   │   ├── Step01_Concurrent.cs
│   │   │   │   ├── Step01a_ConcurrentWithStructuredOutput.cs
│   │   │   │   ├── Step02_Sequential.cs
│   │   │   │   ├── Step02a_SequentialCancellation.cs
│   │   │   │   ├── Step03_GroupChat.cs
│   │   │   │   ├── Step03a_GroupChatWithHumanInTheLoop.cs
│   │   │   │   ├── Step03b_GroupChatWithAIManager.cs
│   │   │   │   ├── Step04_Handoff.cs
│   │   │   │   ├── Step04a_HandoffWithStructuredInput.cs
│   │   │   │   ├── Step05_Magentic.cs
│   │   │   │   └── Step06_DifferentAgentTypes.cs
│   │   │   ├── Plugins/
│   │   │   │   ├── MenuPlugin.cs
│   │   │   │   └── WidgetFactory.cs
│   │   │   ├── README.md
│   │   │   ├── Resources/
│   │   │   │   ├── AutoInvokeTools.yaml
│   │   │   │   ├── GenerateStory.yaml
│   │   │   │   ├── Hamlet_full_play_summary.txt
│   │   │   │   ├── countries.json
│   │   │   │   └── weather.json
│   │   │   ├── Step01_Agent.cs
│   │   │   ├── Step02_Plugins.cs
│   │   │   ├── Step03_Chat.cs
│   │   │   ├── Step04_KernelFunctionStrategies.cs
│   │   │   ├── Step05_JsonResult.cs
│   │   │   ├── Step06_DependencyInjection.cs
│   │   │   ├── Step07_Telemetry.cs
│   │   │   ├── Step08_AgentAsKernelFunction.cs
│   │   │   ├── Step09_Declarative.cs
│   │   │   └── Step10_MultiAgent_Declarative.cs
│   │   ├── GettingStartedWithProcesses/
│   │   │   ├── Events/
│   │   │   │   └── CommonEvents.cs
│   │   │   ├── GettingStartedWithProcesses.csproj
│   │   │   ├── README.md
│   │   │   ├── SharedSteps/
│   │   │   │   ├── DisplayAssistantMessageStep.cs
│   │   │   │   └── ScriptedUserInputStep.cs
│   │   │   ├── Step00/
│   │   │   │   ├── Step00_Processes.cs
│   │   │   │   └── Steps/
│   │   │   │       ├── DoMoreWorkStep.cs
│   │   │   │       ├── DoSomeWorkStep.cs
│   │   │   │       ├── LastStep.cs
│   │   │   │       └── StartStep.cs
│   │   │   ├── Step01/
│   │   │   │   └── Step01_Processes.cs
│   │   │   ├── Step02/
│   │   │   │   ├── Models/
│   │   │   │   │   ├── AccountDetails.cs
│   │   │   │   │   ├── AccountOpeningEvents.cs
│   │   │   │   │   ├── AccountUserInteractionDetails.cs
│   │   │   │   │   ├── MarketingNewEntryDetails.cs
│   │   │   │   │   └── NewCustomerForm.cs
│   │   │   │   ├── Processes/
│   │   │   │   │   ├── NewAccountCreationProcess.cs
│   │   │   │   │   └── NewAccountVerificationProcess.cs
│   │   │   │   ├── Step02a_AccountOpening.cs
│   │   │   │   ├── Step02b_AccountOpening.cs
│   │   │   │   └── Steps/
│   │   │   │       ├── CRMRecordCreationStep.cs
│   │   │   │       ├── CompleteNewCustomerFormStep.cs
│   │   │   │       ├── CreditScoreCheckStep.cs
│   │   │   │       ├── FraudDetectionStep.cs
│   │   │   │       ├── MailServiceStep.cs
│   │   │   │       ├── NewAccountStep.cs
│   │   │   │       ├── NewMarketingEntryStep.cs
│   │   │   │       ├── TestInputs/
│   │   │   │       │   ├── UserInputCreditScoreFailureInteractionStep.cs
│   │   │   │       │   ├── UserInputFraudFailureInteractionStep.cs
│   │   │   │       │   └── UserInputSuccessfulInteractionStep.cs
│   │   │   │       └── WelcomePacketStep.cs
│   │   │   ├── Step03/
│   │   │   │   ├── Models/
│   │   │   │   │   ├── FoodIngredients.cs
│   │   │   │   │   └── FoodOrderItem.cs
│   │   │   │   ├── Processes/
│   │   │   │   │   ├── FishAndChipsProcess.cs
│   │   │   │   │   ├── FishSandwichProcess.cs
│   │   │   │   │   ├── FriedFishProcess.cs
│   │   │   │   │   ├── PotatoFriesProcess.cs
│   │   │   │   │   └── SingleFoodItemProcess.cs
│   │   │   │   ├── ProcessesStates/
│   │   │   │   │   ├── FishSandwichStateProcessSuccess.json
│   │   │   │   │   ├── FishSandwichStateProcessSuccessLowStock.json
│   │   │   │   │   ├── FriedFishProcessStateSuccess.json
│   │   │   │   │   ├── FriedFishProcessStateSuccessLowStock.json
│   │   │   │   │   └── FriedFishProcessStateSuccessNoStock.json
│   │   │   │   ├── Step03a_FoodPreparation.cs
│   │   │   │   ├── Step03b_FoodOrdering.cs
│   │   │   │   └── Steps/
│   │   │   │       ├── CutFoodStep.cs
│   │   │   │       ├── CutFoodWithSharpeningStep.cs
│   │   │   │       ├── ExternalStep.cs
│   │   │   │       ├── FryFoodStep.cs
│   │   │   │       └── GatherIngredientsStep.cs
│   │   │   ├── Step04/
│   │   │   │   ├── AgentOrchestrationEvents.cs
│   │   │   │   ├── ChatHistoryProvider.cs
│   │   │   │   ├── KernelExtensions.cs
│   │   │   │   ├── Plugins/
│   │   │   │   │   ├── CalendarPlugin.cs
│   │   │   │   │   ├── LocationPlugin.cs
│   │   │   │   │   └── WeatherPlugin.cs
│   │   │   │   ├── SchemaGenerator.cs
│   │   │   │   ├── Step04_AgentOrchestration.cs
│   │   │   │   └── Steps/
│   │   │   │       ├── AgentGroupChatStep.cs
│   │   │   │       ├── ManagerAgentStep.cs
│   │   │   │       └── RenderMessageStep.cs
│   │   │   ├── Step05/
│   │   │   │   └── Step05_MapReduce.cs
│   │   │   └── Utilities/
│   │   │       ├── MermaidRenderer.cs
│   │   │       └── ProcessStateMetadataUtilities.cs
│   │   ├── GettingStartedWithTextSearch/
│   │   │   ├── GettingStartedWithTextSearch.csproj
│   │   │   ├── InMemoryVectorStoreCollectionFixture.cs
│   │   │   ├── InMemoryVectorStoreFixture.cs
│   │   │   ├── README.md
│   │   │   ├── Step1_Web_Search.cs
│   │   │   ├── Step2_Search_For_RAG.cs
│   │   │   ├── Step3_Search_With_FunctionCalling.cs
│   │   │   └── Step4_Search_With_VectorStore.cs
│   │   ├── GettingStartedWithVectorStores/
│   │   │   ├── GettingStartedWithVectorStores.csproj
│   │   │   ├── Glossary.cs
│   │   │   ├── README.md
│   │   │   ├── Step1_Ingest_Data.cs
│   │   │   ├── Step2_Vector_Search.cs
│   │   │   ├── Step3_Switch_VectorStore.cs
│   │   │   ├── Step4_Use_DynamicDataModel.cs
│   │   │   └── VectorStoresFixture.cs
│   │   ├── LearnResources/
│   │   │   ├── LearnResources.csproj
│   │   │   ├── MicrosoftLearn/
│   │   │   │   ├── AIServices.cs
│   │   │   │   ├── ConfiguringPrompts.cs
│   │   │   │   ├── CreatingFunctions.cs
│   │   │   │   ├── FunctionsWithinPrompts.cs
│   │   │   │   ├── LearnBaseTest.cs
│   │   │   │   ├── Plugin.cs
│   │   │   │   ├── Prompts.cs
│   │   │   │   ├── README.md
│   │   │   │   ├── SerializingPrompts.cs
│   │   │   │   ├── Templates.cs
│   │   │   │   └── UsingTheKernel.cs
│   │   │   ├── Plugins/
│   │   │   │   ├── GitHub/
│   │   │   │   │   ├── GitHubModels.cs
│   │   │   │   │   └── GitHubPlugin.cs
│   │   │   │   ├── MathPlugin.cs
│   │   │   │   ├── OrchestratorPlugin/
│   │   │   │   │   └── GetIntent/
│   │   │   │   │       ├── config.json
│   │   │   │   │       └── skprompt.txt
│   │   │   │   ├── Prompts/
│   │   │   │   │   └── chat/
│   │   │   │   │       ├── config.json
│   │   │   │   │       └── skprompt.txt
│   │   │   │   └── WriterPlugin/
│   │   │   │       └── ShortPoem/
│   │   │   │           ├── config.json
│   │   │   │           └── skprompt.txt
│   │   │   ├── README.md
│   │   │   └── Resources/
│   │   │       ├── Grimms-The-King-of-the-Golden-Mountain.txt
│   │   │       ├── Grimms-The-Water-of-Life.txt
│   │   │       ├── Grimms-The-White-Snake.txt
│   │   │       ├── PopulationByAdmin1.csv
│   │   │       ├── PopulationByCountry.csv
│   │   │       ├── WomensSuffrage.txt
│   │   │       └── getIntent.prompt.yaml
│   │   └── README.md
│   ├── src/
│   │   ├── .editorconfig
│   │   ├── Agents/
│   │   │   ├── A2A/
│   │   │   │   ├── A2AAgent.cs
│   │   │   │   ├── A2AAgentExtensions.cs
│   │   │   │   ├── A2AAgentThread.cs
│   │   │   │   ├── A2AHostAgent.cs
│   │   │   │   ├── Agents.A2A.csproj
│   │   │   │   └── Extensions/
│   │   │   │       └── AuthorRoleExtensions.cs
│   │   │   ├── Abstractions/
│   │   │   │   ├── AIAgent/
│   │   │   │   │   ├── SemanticKernelAIAgent.cs
│   │   │   │   │   └── SemanticKernelAIAgentThread.cs
│   │   │   │   ├── Agent.cs
│   │   │   │   ├── AgentChannel.cs
│   │   │   │   ├── AgentChat.cs
│   │   │   │   ├── AgentChatSerializer.cs
│   │   │   │   ├── AgentExtensions.cs
│   │   │   │   ├── AgentInvokeOptions.cs
│   │   │   │   ├── AgentResponseItem.cs
│   │   │   │   ├── AgentThread.cs
│   │   │   │   ├── AgentThreadOperationException.cs
│   │   │   │   ├── Agents.Abstractions.csproj
│   │   │   │   ├── AggregatorAgent.cs
│   │   │   │   ├── AggregatorChannel.cs
│   │   │   │   ├── Definition/
│   │   │   │   │   ├── AgentCreationOptions.cs
│   │   │   │   │   ├── AgentDefinition.cs
│   │   │   │   │   ├── AgentFactory.cs
│   │   │   │   │   ├── AgentInput.cs
│   │   │   │   │   ├── AgentMetadata.cs
│   │   │   │   │   ├── AgentOutput.cs
│   │   │   │   │   ├── AgentToolDefinition.cs
│   │   │   │   │   ├── AggregatorAgentFactory.cs
│   │   │   │   │   ├── ModelConnection.cs
│   │   │   │   │   └── ModelDefinition.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── AgentDefinitionExtensions.cs
│   │   │   │   │   ├── AgentToolDefinitionExtensions.cs
│   │   │   │   │   └── ChatHistoryExtensions.cs
│   │   │   │   ├── Internal/
│   │   │   │   │   ├── BroadcastQueue.cs
│   │   │   │   │   ├── ChannelReference.cs
│   │   │   │   │   └── KeyEncoder.cs
│   │   │   │   ├── Logging/
│   │   │   │   │   ├── AgentChatLogMessages.cs
│   │   │   │   │   └── AggregatorAgentLogMessages.cs
│   │   │   │   └── Serialization/
│   │   │   │       ├── AgentChannelState.cs
│   │   │   │       ├── AgentChatState.cs
│   │   │   │       ├── AgentParticipant.cs
│   │   │   │       ├── ChatMessageReference.cs
│   │   │   │       └── JsonChannelStateConverter.cs
│   │   │   ├── AzureAI/
│   │   │   │   ├── Agents.AzureAI.csproj
│   │   │   │   ├── AzureAIAgent.ClientFactory.cs
│   │   │   │   ├── AzureAIAgent.cs
│   │   │   │   ├── AzureAIAgentExtensions.cs
│   │   │   │   ├── AzureAIAgentInvokeOptions.cs
│   │   │   │   ├── AzureAIAgentThread.cs
│   │   │   │   ├── AzureAIChannel.cs
│   │   │   │   ├── AzureAIInvocationOptions.cs
│   │   │   │   ├── AzureAIThreadMessageFactory.cs
│   │   │   │   ├── Definition/
│   │   │   │   │   └── AzureAIAgentFactory.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── AgentDefinitionExtensions.cs
│   │   │   │   │   ├── AgentRunExtensions.cs
│   │   │   │   │   ├── AgentToolDefinitionExtensions.cs
│   │   │   │   │   └── KernelFunctionExtensions.cs
│   │   │   │   ├── Internal/
│   │   │   │   │   ├── AgentMessageFactory.cs
│   │   │   │   │   └── AgentThreadActions.cs
│   │   │   │   ├── Logging/
│   │   │   │   │   ├── AgentThreadActionsLogMessages.cs
│   │   │   │   │   └── AzureAIAgentLogMessages.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   └── RunPollingOptions.cs
│   │   │   ├── Bedrock/
│   │   │   │   ├── Agents.Bedrock.csproj
│   │   │   │   ├── BedrockAgent.cs
│   │   │   │   ├── BedrockAgentChannel.cs
│   │   │   │   ├── BedrockAgentInvokeOptions.cs
│   │   │   │   ├── BedrockAgentThread.cs
│   │   │   │   ├── Definition/
│   │   │   │   │   └── BedrockAgentFactory.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── BedrockAgentDefinitionExtensions.cs
│   │   │   │   │   ├── BedrockAgentExtensions.cs
│   │   │   │   │   ├── BedrockAgentInvokeExtensions.cs
│   │   │   │   │   ├── BedrockAgentToolDefinitionExtensions.cs
│   │   │   │   │   └── BedrockFunctionSchemaExtensions.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   └── README.md
│   │   │   ├── Copilot/
│   │   │   │   ├── Agents.CopilotStudio.csproj
│   │   │   │   ├── CopilotStudioAgent.ClientFactory.cs
│   │   │   │   ├── CopilotStudioAgent.cs
│   │   │   │   ├── CopilotStudioAgentExtensions.cs
│   │   │   │   ├── CopilotStudioAgentThread.cs
│   │   │   │   ├── CopilotStudioConnectionSettings.cs
│   │   │   │   ├── CopilotStudioTokenHandler.cs
│   │   │   │   ├── Internal/
│   │   │   │   │   ├── ActivityProcessor.cs
│   │   │   │   │   └── ContentProcessor.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   └── README.md
│   │   │   ├── Core/
│   │   │   │   ├── AgentGroupChat.cs
│   │   │   │   ├── Agents.Core.csproj
│   │   │   │   ├── Chat/
│   │   │   │   │   ├── AgentGroupChatSettings.cs
│   │   │   │   │   ├── AggregatorTerminationStrategy.cs
│   │   │   │   │   ├── KernelFunctionSelectionStrategy.cs
│   │   │   │   │   ├── KernelFunctionTerminationStrategy.cs
│   │   │   │   │   ├── RegExTerminationStrategy.cs
│   │   │   │   │   ├── SelectionStrategy.cs
│   │   │   │   │   ├── SequentialSelectionStrategy.cs
│   │   │   │   │   └── TerminationStrategy.cs
│   │   │   │   ├── ChatCompletionAgent.cs
│   │   │   │   ├── ChatCompletionAgentExtensions.cs
│   │   │   │   ├── ChatHistoryAgent.cs
│   │   │   │   ├── ChatHistoryAgentThread.cs
│   │   │   │   ├── ChatHistoryChannel.cs
│   │   │   │   ├── Definition/
│   │   │   │   │   └── ChatCompletionAgentFactory.cs
│   │   │   │   ├── Functions/
│   │   │   │   │   ├── AgentKernelFunctionFactory.cs
│   │   │   │   │   └── AgentKernelPluginFactory.cs
│   │   │   │   ├── Internal/
│   │   │   │   │   ├── ChatMessageForPrompt.cs
│   │   │   │   │   └── CoreKernelArgumentsExtensions.cs
│   │   │   │   └── Logging/
│   │   │   │       ├── AgentGroupChatLogMessages.cs
│   │   │   │       ├── AggregatorTerminationStrategyLogMessages.cs
│   │   │   │       ├── ChatCompletionAgentLogMessages.cs
│   │   │   │       ├── KernelFunctionSelectionStrategyLogMessages.cs
│   │   │   │       ├── KernelFunctionTerminationStrategyLogMessages.cs
│   │   │   │       ├── RegExTerminationStrategyLogMessages.cs
│   │   │   │       ├── SequentialSelectionStrategyLogMessages.cs
│   │   │   │       └── TerminationStrategyLogMessages.cs
│   │   │   ├── Magentic/
│   │   │   │   ├── Agents.Magentic.csproj
│   │   │   │   ├── Internal/
│   │   │   │   │   └── PromptExecutionSettingsExtensions.cs
│   │   │   │   ├── Logging/
│   │   │   │   │   └── MagenticOrchestrationLogMessages.cs
│   │   │   │   ├── MagenticAgentActor.cs
│   │   │   │   ├── MagenticManager.cs
│   │   │   │   ├── MagenticManagerActor.cs
│   │   │   │   ├── MagenticManagerContext.cs
│   │   │   │   ├── MagenticMessages.cs
│   │   │   │   ├── MagenticOrchestration.String.cs
│   │   │   │   ├── MagenticOrchestration.cs
│   │   │   │   ├── MagenticProgressLedger.cs
│   │   │   │   ├── MagenticPrompts.cs
│   │   │   │   ├── MagenticTeam.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   └── StandardMagenticManager.cs
│   │   │   ├── OpenAI/
│   │   │   │   ├── Agents.OpenAI.csproj
│   │   │   │   ├── Definition/
│   │   │   │   │   └── OpenAIAssistantAgentFactory.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── AgentDefinitionExtensions.cs
│   │   │   │   │   ├── AssistantClientExtensions.cs
│   │   │   │   │   ├── AuthorRoleExtensions.cs
│   │   │   │   │   ├── ChatContentMessageExtensions.cs
│   │   │   │   │   ├── KernelContentExtensions.cs
│   │   │   │   │   ├── KernelFunctionExtensions.cs
│   │   │   │   │   ├── ModelConnectionExtensions.cs
│   │   │   │   │   ├── OpenAIClientExtensions.cs
│   │   │   │   │   ├── OpenAIResponseExtensions.cs
│   │   │   │   │   └── StreamingResponseOutputTextDeltaUpdateExtensions.cs
│   │   │   │   ├── Internal/
│   │   │   │   │   ├── AssistantMessageFactory.cs
│   │   │   │   │   ├── AssistantRunOptionsFactory.cs
│   │   │   │   │   ├── AssistantThreadActions.cs
│   │   │   │   │   ├── AssistantToolResourcesFactory.cs
│   │   │   │   │   ├── ResponseCreationOptionsFactory.cs
│   │   │   │   │   └── ResponseThreadActions.cs
│   │   │   │   ├── Logging/
│   │   │   │   │   ├── AssistantThreadActionsLogMessages.cs
│   │   │   │   │   └── OpenAIAssistantAgentLogMessages.cs
│   │   │   │   ├── OpenAIAssistantAgent.ClientFactory.cs
│   │   │   │   ├── OpenAIAssistantAgent.cs
│   │   │   │   ├── OpenAIAssistantAgentExtensions.cs
│   │   │   │   ├── OpenAIAssistantAgentInvokeOptions.cs
│   │   │   │   ├── OpenAIAssistantAgentThread.cs
│   │   │   │   ├── OpenAIAssistantCapabilities.cs
│   │   │   │   ├── OpenAIAssistantChannel.cs
│   │   │   │   ├── OpenAIAssistantDefinition.cs
│   │   │   │   ├── OpenAIAssistantExecutionOptions.cs
│   │   │   │   ├── OpenAIAssistantInvocationOptions.cs
│   │   │   │   ├── OpenAIClientProvider.cs
│   │   │   │   ├── OpenAIResponseAgent.cs
│   │   │   │   ├── OpenAIResponseAgentExtensions.cs
│   │   │   │   ├── OpenAIResponseAgentInvokeOptions.cs
│   │   │   │   ├── OpenAIResponseAgentThread.cs
│   │   │   │   ├── OpenAIThreadCreationOptions.cs
│   │   │   │   └── RunPollingOptions.cs
│   │   │   ├── Orchestration/
│   │   │   │   ├── AgentActor.cs
│   │   │   │   ├── AgentOrchestration.RequestActor.cs
│   │   │   │   ├── AgentOrchestration.ResultActor.cs
│   │   │   │   ├── AgentOrchestration.cs
│   │   │   │   ├── Agents.Orchestration.csproj
│   │   │   │   ├── Concurrent/
│   │   │   │   │   ├── ConcurrentActor.cs
│   │   │   │   │   ├── ConcurrentMessages.cs
│   │   │   │   │   ├── ConcurrentOrchestration.String.cs
│   │   │   │   │   ├── ConcurrentOrchestration.cs
│   │   │   │   │   └── ConcurrentResultActor.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── RuntimeExtensions.cs
│   │   │   │   ├── GroupChat/
│   │   │   │   │   ├── GroupChatAgentActor.cs
│   │   │   │   │   ├── GroupChatManager.cs
│   │   │   │   │   ├── GroupChatManagerActor.cs
│   │   │   │   │   ├── GroupChatMessages.cs
│   │   │   │   │   ├── GroupChatOrchestration.String.cs
│   │   │   │   │   ├── GroupChatOrchestration.cs
│   │   │   │   │   ├── GroupChatTeam.cs
│   │   │   │   │   └── RoundRobinGroupChatManager.cs
│   │   │   │   ├── Handoff/
│   │   │   │   │   ├── HandoffActor.cs
│   │   │   │   │   ├── HandoffInvocationFilter.cs
│   │   │   │   │   ├── HandoffMessages.cs
│   │   │   │   │   ├── HandoffOrchestration.String.cs
│   │   │   │   │   ├── HandoffOrchestration.cs
│   │   │   │   │   └── Handoffs.cs
│   │   │   │   ├── Logging/
│   │   │   │   │   ├── AgentOrchestrationLogMessages.cs
│   │   │   │   │   ├── ConcurrentOrchestrationLogMessages.cs
│   │   │   │   │   ├── GroupChatOrchestrationLogMessages.cs
│   │   │   │   │   ├── HandoffOrchestrationLogMessages.cs
│   │   │   │   │   ├── OrchestrationResultLogMessages.cs
│   │   │   │   │   └── SequentialOrchestrationLogMessages.cs
│   │   │   │   ├── OrchestrationActor.cs
│   │   │   │   ├── OrchestrationContext.cs
│   │   │   │   ├── OrchestrationResult.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── Sequential/
│   │   │   │   │   ├── SequentialActor.cs
│   │   │   │   │   ├── SequentialMessages.cs
│   │   │   │   │   ├── SequentialOrchestration.String.cs
│   │   │   │   │   └── SequentialOrchestration.cs
│   │   │   │   └── Transforms/
│   │   │   │       ├── DefaultTransforms.cs
│   │   │   │       ├── OrchestrationTransforms.cs
│   │   │   │       └── StructuredOutputTransform.cs
│   │   │   ├── Runtime/
│   │   │   │   ├── Abstractions/
│   │   │   │   │   ├── AgentId.cs
│   │   │   │   │   ├── AgentMetadata.cs
│   │   │   │   │   ├── AgentProxy.cs
│   │   │   │   │   ├── AgentType.cs
│   │   │   │   │   ├── Exceptions/
│   │   │   │   │   │   ├── CantHandleException.cs
│   │   │   │   │   │   ├── MessageDroppedException.cs
│   │   │   │   │   │   ├── NotAccessibleException.cs
│   │   │   │   │   │   └── UndeliverableException.cs
│   │   │   │   │   ├── IAgent.cs
│   │   │   │   │   ├── IAgentRuntime.cs
│   │   │   │   │   ├── IHostableAgent.cs
│   │   │   │   │   ├── ISaveState.cs
│   │   │   │   │   ├── ISubscriptionDefinition.cs
│   │   │   │   │   ├── Internal/
│   │   │   │   │   │   └── KeyValueParserExtensions.cs
│   │   │   │   │   ├── MessageContext.cs
│   │   │   │   │   ├── Runtime.Abstractions.csproj
│   │   │   │   │   └── TopicId.cs
│   │   │   │   ├── Abstractions.Tests/
│   │   │   │   │   ├── AgentIdTests.cs
│   │   │   │   │   ├── AgentMetaDataTests.cs
│   │   │   │   │   ├── AgentProxyTests.cs
│   │   │   │   │   ├── AgentTypeTests.cs
│   │   │   │   │   ├── MessageContextTests.cs
│   │   │   │   │   ├── Runtime.Abstractions.UnitTests.csproj
│   │   │   │   │   └── TopicIdTests.cs
│   │   │   │   ├── Core/
│   │   │   │   │   ├── AgentRuntimeExtensions.cs
│   │   │   │   │   ├── AgentsApp.cs
│   │   │   │   │   ├── AgentsAppBuilder.cs
│   │   │   │   │   ├── BaseAgent.cs
│   │   │   │   │   ├── IHandle.cs
│   │   │   │   │   ├── Internal/
│   │   │   │   │   │   └── HandlerInvoker.cs
│   │   │   │   │   ├── Runtime.Core.csproj
│   │   │   │   │   ├── TypePrefixSubscription.cs
│   │   │   │   │   ├── TypePrefixSubscriptionAttribute.cs
│   │   │   │   │   ├── TypeSubscription.cs
│   │   │   │   │   └── TypeSubscriptionAttribute.cs
│   │   │   │   ├── Core.Tests/
│   │   │   │   │   ├── AgentRuntimeExtensionsTests.cs
│   │   │   │   │   ├── AgentsAppBuilderTests.cs
│   │   │   │   │   ├── AgentsAppTests.cs
│   │   │   │   │   ├── BaseAgentTests.cs
│   │   │   │   │   ├── Runtime.Core.UnitTests.csproj
│   │   │   │   │   ├── TypePrefixSubscriptionAttributeTests.cs
│   │   │   │   │   ├── TypePrefixSubscriptionTests.cs
│   │   │   │   │   ├── TypeSubscriptionAttributeTests.cs
│   │   │   │   │   └── TypeSubscriptionTests.cs
│   │   │   │   ├── InProcess/
│   │   │   │   │   ├── InProcessRuntime.cs
│   │   │   │   │   ├── MessageDelivery.cs
│   │   │   │   │   ├── MessageEnvelope.cs
│   │   │   │   │   ├── ResultSink.cs
│   │   │   │   │   └── Runtime.InProcess.csproj
│   │   │   │   └── InProcess.Tests/
│   │   │   │       ├── InProcessRuntimeTests.cs
│   │   │   │       ├── MessageDeliveryTests.cs
│   │   │   │       ├── MessageEnvelopeTests.cs
│   │   │   │       ├── MessagingTestFixture.cs
│   │   │   │       ├── PublishMessageTests.cs
│   │   │   │       ├── ResultSinkTests.cs
│   │   │   │       ├── Runtime.InProcess.UnitTests.csproj
│   │   │   │       ├── SendMessageTests.cs
│   │   │   │       ├── TestAgents.cs
│   │   │   │       └── TestSubscription.cs
│   │   │   ├── UnitTests/
│   │   │   │   ├── A2A/
│   │   │   │   │   ├── A2AAgentExtensionsTests.cs
│   │   │   │   │   ├── A2AAgentTests.cs
│   │   │   │   │   ├── A2AHostAgentTests.cs
│   │   │   │   │   └── BaseA2AClientTest.cs
│   │   │   │   ├── AIAgent/
│   │   │   │   │   ├── SemanticKernelAIAgentTests.cs
│   │   │   │   │   └── SemanticKernelAIAgentThreadTests.cs
│   │   │   │   ├── AgentChannelTests.cs
│   │   │   │   ├── AgentChatSerializerTests.cs
│   │   │   │   ├── AgentChatTests.cs
│   │   │   │   ├── AgentExtensionsTests.cs
│   │   │   │   ├── AgentTests.cs
│   │   │   │   ├── Agents.UnitTests.csproj
│   │   │   │   ├── AggregatorAgentTests.cs
│   │   │   │   ├── AzureAI/
│   │   │   │   │   ├── AzureAIAgentExtensionsTests.cs
│   │   │   │   │   ├── AzureAIAgentInvokeOptionsTests.cs
│   │   │   │   │   ├── AzureAIAssistantInvocationOptionsTests.cs
│   │   │   │   │   ├── Definition/
│   │   │   │   │   │   └── AzureAIAgentFactoryTests.cs
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   ├── AgentDefinitionExtensionsTests.cs
│   │   │   │   │   │   └── KernelFunctionExtensionsTests.cs
│   │   │   │   │   ├── Internal/
│   │   │   │   │   │   └── AgentMessageFactoryTests.cs
│   │   │   │   │   └── RunPollingOptionsTests.cs
│   │   │   │   ├── Bedrock/
│   │   │   │   │   ├── BedrockAgentChannelTests.cs
│   │   │   │   │   ├── BedrockAgentTests.cs
│   │   │   │   │   └── Extensions.cs/
│   │   │   │   │       ├── BedrockAgentExtensionsTests.cs
│   │   │   │   │       └── BedrockFunctionSchemaExtensionsTests.cs
│   │   │   │   ├── Copilot/
│   │   │   │   │   └── CopilotStudioAgentExtensionsTests.cs
│   │   │   │   ├── CopilotStudio/
│   │   │   │   │   ├── ActivityProcessorTests.cs
│   │   │   │   │   ├── ContentProcessorTests.cs
│   │   │   │   │   ├── CopilotStudioAgentTests.cs
│   │   │   │   │   └── CopilotStudioConnectionSettingsTests.cs
│   │   │   │   ├── Core/
│   │   │   │   │   ├── AgentGroupChatTests.cs
│   │   │   │   │   ├── AgentThreadTests.cs
│   │   │   │   │   ├── Chat/
│   │   │   │   │   │   ├── AgentGroupChatSettingsTests.cs
│   │   │   │   │   │   ├── AggregatorTerminationStrategyTests.cs
│   │   │   │   │   │   ├── KernelFunctionSelectionStrategyTests.cs
│   │   │   │   │   │   ├── KernelFunctionTerminationStrategyTests.cs
│   │   │   │   │   │   ├── RegExTerminationStrategyTests.cs
│   │   │   │   │   │   └── SequentialSelectionStrategyTests.cs
│   │   │   │   │   ├── ChatCompletionAgentExtensionsTests.cs
│   │   │   │   │   ├── ChatCompletionAgentTests.cs
│   │   │   │   │   ├── ChatHistoryAgentThreadTests.cs
│   │   │   │   │   ├── ChatHistoryChannelTests.cs
│   │   │   │   │   ├── Definition/
│   │   │   │   │   │   └── ChatCompletionAgentFactoryTests.cs
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   └── AgentDefinitionExtensionsTests.cs
│   │   │   │   │   ├── Factory/
│   │   │   │   │   │   └── AggregatorAgentFactoryTests.cs
│   │   │   │   │   ├── Functions/
│   │   │   │   │   │   └── AgentKernelFunctionFactoryTests.cs
│   │   │   │   │   └── Internal/
│   │   │   │   │       └── ChatMessageForPromptTests.cs
│   │   │   │   ├── Definition/
│   │   │   │   │   └── AgentDefinitionModelTests.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── AgentDefinitionExtensionsTests.cs
│   │   │   │   │   ├── AgentToolDefinitionExtensionsTests.cs
│   │   │   │   │   ├── ChatHistoryExtensionsTests.cs
│   │   │   │   │   └── ResponseItemExtensionsTests.cs
│   │   │   │   ├── Internal/
│   │   │   │   │   ├── BroadcastQueueTests.cs
│   │   │   │   │   └── KeyEncoderTests.cs
│   │   │   │   ├── Magentic/
│   │   │   │   │   ├── MagenticManagerContextTests.cs
│   │   │   │   │   ├── MagenticOrchestrationTests.cs
│   │   │   │   │   └── StandardMagenticManagerTests.cs
│   │   │   │   ├── MockAgent.cs
│   │   │   │   ├── MockChannel.cs
│   │   │   │   ├── OpenAI/
│   │   │   │   │   ├── BaseOpenAIResponseClientTest.cs
│   │   │   │   │   ├── Definition/
│   │   │   │   │   │   └── OpenAIAssistantAgentFactoryTests.cs
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   ├── AgentDefinitionExtensionsTests.cs
│   │   │   │   │   │   ├── AssistantClientExtensionsTests.cs
│   │   │   │   │   │   ├── AuthorRoleExtensionsTests.cs
│   │   │   │   │   │   ├── ChatContentMessageExtensionsTests.cs
│   │   │   │   │   │   ├── KernelExtensionsTests.cs
│   │   │   │   │   │   ├── KernelFunctionExtensionsTests.cs
│   │   │   │   │   │   ├── OpenAIClientExtensionsTests.cs
│   │   │   │   │   │   └── OpenAIResponseExtensionsTests.cs
│   │   │   │   │   ├── Internal/
│   │   │   │   │   │   ├── AssistantMessageFactoryTests.cs
│   │   │   │   │   │   ├── AssistantRunOptionsFactoryTests.cs
│   │   │   │   │   │   └── ResponseCreationOptionsFactoryTests.cs
│   │   │   │   │   ├── OpenAIAssistantAgentExtensionsTests.cs
│   │   │   │   │   ├── OpenAIAssistantAgentInvokeOptionsTests.cs
│   │   │   │   │   ├── OpenAIAssistantAgentTests.cs
│   │   │   │   │   ├── OpenAIAssistantAgentThreadTests.cs
│   │   │   │   │   ├── OpenAIAssistantDefinitionTests.cs
│   │   │   │   │   ├── OpenAIAssistantInvocationOptionsTests.cs
│   │   │   │   │   ├── OpenAIAssistantResponseContent.cs
│   │   │   │   │   ├── OpenAIClientProviderTests.cs
│   │   │   │   │   ├── OpenAIResponseAgentExtensionsTests.cs
│   │   │   │   │   ├── OpenAIResponseAgentTests.cs
│   │   │   │   │   ├── OpenAIResponseAgentThreadTests.cs
│   │   │   │   │   ├── OpenAIThreadCreationOptionsTests.cs
│   │   │   │   │   └── RunPollingOptionsTests.cs
│   │   │   │   ├── Orchestration/
│   │   │   │   │   ├── ChatGroupExtensionsTests.cs
│   │   │   │   │   ├── ConcurrentOrchestrationTests.cs
│   │   │   │   │   ├── DefaultTransformsTests.cs
│   │   │   │   │   ├── GroupChatOrchestrationTests.cs
│   │   │   │   │   ├── HandoffOrchestrationTests.cs
│   │   │   │   │   ├── HandoffsTests.cs
│   │   │   │   │   ├── OrchestrationResultTests.cs
│   │   │   │   │   └── SequentialOrchestrationTests.cs
│   │   │   │   ├── Test/
│   │   │   │   │   ├── AssertCollection.cs
│   │   │   │   │   └── FakeTokenCredential.cs
│   │   │   │   └── Yaml/
│   │   │   │       ├── AgentDefinitionYamlTests.cs
│   │   │   │       ├── AgentYamlTests.cs
│   │   │   │       └── AzureAIKernelAgentYamlTests.cs
│   │   │   └── Yaml/
│   │   │       ├── AgentDefinitionYaml.cs
│   │   │       ├── AgentMetadataTypeConverter.cs
│   │   │       ├── Agents.Yaml.csproj
│   │   │       ├── Extensions/
│   │   │       │   ├── YamlAgentDefinitionExtensions.cs
│   │   │       │   └── YamlAgentFactoryExtensions.cs
│   │   │       └── ModelConfigurationTypeConverter.cs
│   │   ├── Connectors/
│   │   │   ├── Connectors.Amazon/
│   │   │   │   ├── Bedrock/
│   │   │   │   │   ├── AI21JurassicPenalties.cs
│   │   │   │   │   ├── CohereCommandRTools.cs
│   │   │   │   │   ├── Core/
│   │   │   │   │   │   ├── BedrockClientUtilities.cs
│   │   │   │   │   │   ├── BedrockModelUtilities.cs
│   │   │   │   │   │   ├── BedrockServiceFactory.cs
│   │   │   │   │   │   ├── Clients/
│   │   │   │   │   │   │   ├── BedrockChatCompletionClient.cs
│   │   │   │   │   │   │   ├── BedrockTextEmbeddingGenerationClient.cs
│   │   │   │   │   │   │   └── BedrockTextGenerationClient.cs
│   │   │   │   │   │   ├── IBedrockBatchTextEmbeddingService.cs
│   │   │   │   │   │   ├── IBedrockChatCompletionService.cs
│   │   │   │   │   │   ├── IBedrockSplitTextEmbeddingService.cs
│   │   │   │   │   │   ├── IBedrockTextEmbeddingService.cs
│   │   │   │   │   │   ├── IBedrockTextGenerationService.cs
│   │   │   │   │   │   └── Models/
│   │   │   │   │   │       ├── AI21Labs/
│   │   │   │   │   │       │   ├── AI21JambaRequest.cs
│   │   │   │   │   │       │   ├── AI21JambaResponse.cs
│   │   │   │   │   │       │   ├── AI21JambaService.cs
│   │   │   │   │   │       │   ├── AI21JurassicRequest.cs
│   │   │   │   │   │       │   ├── AI21JurassicResponse.cs
│   │   │   │   │   │       │   └── AI21JurassicService.cs
│   │   │   │   │   │       ├── Amazon/
│   │   │   │   │   │       │   ├── AmazonService.cs
│   │   │   │   │   │       │   ├── TitanRequest.cs
│   │   │   │   │   │       │   └── TitanResponse.cs
│   │   │   │   │   │       ├── AmazonEmbed/
│   │   │   │   │   │       │   ├── AmazonEmbedService.cs
│   │   │   │   │   │       │   ├── TitanEmbedRequest.cs
│   │   │   │   │   │       │   └── TitanEmbedResponse.cs
│   │   │   │   │   │       ├── Anthropic/
│   │   │   │   │   │       │   ├── AnthropicService.cs
│   │   │   │   │   │       │   ├── ClaudeRequest.cs
│   │   │   │   │   │       │   ├── ClaudeResponse.cs
│   │   │   │   │   │       │   └── ClaudeToolUse.cs
│   │   │   │   │   │       ├── Cohere/
│   │   │   │   │   │       │   ├── CohereCommandRService.cs
│   │   │   │   │   │       │   ├── CohereCommandService.cs
│   │   │   │   │   │       │   ├── CommandRRequest.cs
│   │   │   │   │   │       │   ├── CommandRResponse.cs
│   │   │   │   │   │       │   ├── CommandRequest.cs
│   │   │   │   │   │       │   └── CommandResponse.cs
│   │   │   │   │   │       ├── CohereEmbed/
│   │   │   │   │   │       │   ├── CohereEmbedService.cs
│   │   │   │   │   │       │   ├── EmbedRequest.cs
│   │   │   │   │   │       │   └── EmbedResponse.cs
│   │   │   │   │   │       ├── Meta/
│   │   │   │   │   │       │   ├── LlamaRequest.cs
│   │   │   │   │   │       │   ├── LlamaResponse.cs
│   │   │   │   │   │       │   └── MetaService.cs
│   │   │   │   │   │       └── Mistral/
│   │   │   │   │   │           ├── MistralRequest.cs
│   │   │   │   │   │           ├── MistralResponse.cs
│   │   │   │   │   │           └── MistralService.cs
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   ├── BedrockKernelBuilderExtensions.cs
│   │   │   │   │   │   ├── BedrockServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   │   │   └── BedrockServiceCollectionExtensions.cs
│   │   │   │   │   ├── Services/
│   │   │   │   │   │   ├── BedrockChatCompletionService.cs
│   │   │   │   │   │   ├── BedrockTextEmbeddingGeneratorService.cs
│   │   │   │   │   │   └── BedrockTextGenerationService.cs
│   │   │   │   │   └── Settings/
│   │   │   │   │       ├── AmazonClaudeExecutionSettings.cs
│   │   │   │   │       ├── AmazonCommandExecutionSettings.cs
│   │   │   │   │       ├── AmazonCommandRExecutionSettings.cs
│   │   │   │   │       ├── AmazonJambaExecutionSettings.cs
│   │   │   │   │       ├── AmazonJurassicExecutionSettings.cs
│   │   │   │   │       ├── AmazonLlama3ExecutionSettings.cs
│   │   │   │   │       ├── AmazonMistralExecutionSettings.cs
│   │   │   │   │       └── AmazonTitanExecutionSettings.cs
│   │   │   │   └── Connectors.Amazon.csproj
│   │   │   ├── Connectors.Amazon.UnitTests/
│   │   │   │   ├── Connectors.Amazon.UnitTests.csproj
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── BedrockKernelBuilderExtensionTests.cs
│   │   │   │   │   └── BedrockServiceCollectionExtensionTests.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── BedrockChatCompletionServiceTests.cs
│   │   │   │   │   ├── BedrockTextEmbeddingGenerationServiceTests.cs
│   │   │   │   │   └── BedrockTextGenerationServiceTests.cs
│   │   │   │   └── Settings/
│   │   │   │       ├── BedrockChatCompletionModelExecutionSettingsTests.cs
│   │   │   │       └── BedrockTextGenerationModelExecutionSettingsTests.cs
│   │   │   ├── Connectors.AzureAIInference/
│   │   │   │   ├── Connectors.AzureAIInference.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   ├── AddHeaderRequestPolicy.cs
│   │   │   │   │   ├── ChatClientCore.cs
│   │   │   │   │   └── RequestFailedExceptionExtensions.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── AzureAIInferenceKernelBuilderExtensions.cs
│   │   │   │   │   ├── AzureAIInferenceServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   │   └── AzureAIInferenceServiceCollectionExtensions.cs
│   │   │   │   ├── Services/
│   │   │   │   │   └── AzureAIInferenceChatCompletionService.cs
│   │   │   │   └── Settings/
│   │   │   │       └── AzureAIInferencePromptExecutionSettings.cs
│   │   │   ├── Connectors.AzureAIInference.UnitTests/
│   │   │   │   ├── Connectors.AzureAIInference.UnitTests.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   └── ChatClientCoreTests.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── AzureAIInferenceKernelBuilderExtensionsTests.cs
│   │   │   │   │   └── AzureAIInferenceServiceCollectionExtensionsTests.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── AzureAIInferenceChatCompletionServiceOpenTelemetryTests.cs
│   │   │   │   │   └── AzureAIInferenceChatCompletionServiceTests.cs
│   │   │   │   ├── Settings/
│   │   │   │   │   └── AzureAIInferencePromptExecutionSettingsTests.cs
│   │   │   │   └── TestData/
│   │   │   │       ├── chat_completion_response.json
│   │   │   │       ├── chat_completion_streaming_response.txt
│   │   │   │       └── text-embeddings-response.txt
│   │   │   ├── Connectors.AzureOpenAI/
│   │   │   │   ├── Connectors.AzureOpenAI.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   ├── AzureClientCore.ChatCompletion.cs
│   │   │   │   │   └── AzureClientCore.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── AzureOpenAIKernelBuilderExtensions.cs
│   │   │   │   │   ├── AzureOpenAIServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   │   └── AzureOpenAIServiceCollectionExtensions.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── AzureOpenAIAudioToTextService.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletionService.cs
│   │   │   │   │   ├── AzureOpenAITextEmbeddingGenerationService.cs
│   │   │   │   │   ├── AzureOpenAITextToAudioService.cs
│   │   │   │   │   └── AzureOpenAITextToImageService.cs
│   │   │   │   └── Settings/
│   │   │   │       └── AzureOpenAIPromptExecutionSettings.cs
│   │   │   ├── Connectors.AzureOpenAI.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── AzureOpenAITestHelper.cs
│   │   │   │   ├── Connectors.AzureOpenAI.UnitTests.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   ├── AzureClientCoreTests.cs
│   │   │   │   │   └── ClientCoreTests.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── AzureOpenAIKernelBuilderExtensionsChatClientTests.cs
│   │   │   │   │   ├── AzureOpenAIKernelBuilderExtensionsTests.cs
│   │   │   │   │   ├── AzureOpenAIServiceCollectionExtensionsChatClientTests.cs
│   │   │   │   │   └── AzureOpenAIServiceCollectionExtensionsTests.cs
│   │   │   │   ├── KernelCore/
│   │   │   │   │   └── KernelTests.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── AzureOpenAIAudioToTextServiceTests.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletionServiceTests.cs
│   │   │   │   │   ├── AzureOpenAITextEmbeddingGenerationServiceTests.cs
│   │   │   │   │   ├── AzureOpenAITextToAudioServiceTests.cs
│   │   │   │   │   └── AzureOpenAITextToImageServiceTests.cs
│   │   │   │   ├── Settings/
│   │   │   │   │   ├── AzureOpenAIPromptExecutionSettingsTests.cs
│   │   │   │   │   └── OpenAIPromptExecutionSettingsTests.cs
│   │   │   │   └── TestData/
│   │   │   │       ├── chat_completion_multiple_function_calls_test_response.json
│   │   │   │       ├── chat_completion_single_function_call_test_response.json
│   │   │   │       ├── chat_completion_streaming_async_filter_response.txt
│   │   │   │       ├── chat_completion_streaming_multiple_function_calls_test_async_filter_response.txt
│   │   │   │       ├── chat_completion_streaming_multiple_function_calls_test_response.txt
│   │   │   │       ├── chat_completion_streaming_single_function_call_empty_assistance_response.txt
│   │   │   │       ├── chat_completion_streaming_single_function_call_test_response.txt
│   │   │   │       ├── chat_completion_streaming_test_response.txt
│   │   │   │       ├── chat_completion_test_response.json
│   │   │   │       ├── chat_completion_with_data_streaming_test_response.txt
│   │   │   │       ├── chat_completion_with_data_test_response.json
│   │   │   │       ├── filters_multiple_function_calls_test_response.json
│   │   │   │       ├── filters_streaming_multiple_function_calls_test_response.txt
│   │   │   │       ├── text-embeddings-multiple-response.txt
│   │   │   │       ├── text-embeddings-response.txt
│   │   │   │       ├── text-to-image-b64_json-format-response.json
│   │   │   │       ├── text-to-image-response.json
│   │   │   │       ├── text_completion_streaming_test_response.txt
│   │   │   │       └── text_completion_test_response.json
│   │   │   ├── Connectors.Google/
│   │   │   │   ├── Connectors.Google.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   ├── ClientBase.cs
│   │   │   │   │   ├── Gemini/
│   │   │   │   │   │   ├── AuthorRoleConverter.cs
│   │   │   │   │   │   ├── Clients/
│   │   │   │   │   │   │   ├── GeminiChatCompletionClient.cs
│   │   │   │   │   │   │   └── GeminiTokenCounterClient.cs
│   │   │   │   │   │   ├── GeminiPluginCollectionExtensions.cs
│   │   │   │   │   │   └── Models/
│   │   │   │   │   │       ├── GeminiContent.cs
│   │   │   │   │   │       ├── GeminiPart.cs
│   │   │   │   │   │       ├── GeminiRequest.cs
│   │   │   │   │   │       ├── GeminiResponse.cs
│   │   │   │   │   │       ├── GeminiResponseCandidate.cs
│   │   │   │   │   │       └── GeminiTool.cs
│   │   │   │   │   ├── GoogleAI/
│   │   │   │   │   │   ├── GoogleAIEmbeddingClient.cs
│   │   │   │   │   │   ├── GoogleAIEmbeddingRequest.cs
│   │   │   │   │   │   └── GoogleAIEmbeddingResponse.cs
│   │   │   │   │   └── VertexAI/
│   │   │   │   │       ├── VertexAIEmbeddingClient.cs
│   │   │   │   │       ├── VertexAIEmbeddingRequest.cs
│   │   │   │   │       └── VertexAIEmbeddingResponse.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── GeminiKernelFunctionMetadataExtensions.cs
│   │   │   │   │   ├── GoogleAIKernelBuilderExtensions.cs
│   │   │   │   │   ├── GoogleAIMemoryBuilderExtensions.cs
│   │   │   │   │   ├── GoogleAIServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   │   ├── GoogleAIServiceCollectionExtensions.cs
│   │   │   │   │   ├── VertexAIKernelBuilderExtensions.cs
│   │   │   │   │   ├── VertexAIMemoryBuilderExtensions.cs
│   │   │   │   │   ├── VertexAIServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   │   └── VertexAIServiceCollectionExtensions.cs
│   │   │   │   ├── GeminiPromptExecutionSettings.cs
│   │   │   │   ├── GeminiThinkingConfig.cs
│   │   │   │   ├── GeminiToolCallBehavior.cs
│   │   │   │   ├── GoogleAIVersion.cs
│   │   │   │   ├── Models/
│   │   │   │   │   └── Gemini/
│   │   │   │   │       ├── GeminiChatMessageContent.cs
│   │   │   │   │       ├── GeminiFinishReason.cs
│   │   │   │   │       ├── GeminiFunction.cs
│   │   │   │   │       ├── GeminiFunctionToolCall.cs
│   │   │   │   │       ├── GeminiFunctionToolResult.cs
│   │   │   │   │       ├── GeminiMetadata.cs
│   │   │   │   │       ├── GeminiSafetyRating.cs
│   │   │   │   │       ├── GeminiSafetySetting.cs
│   │   │   │   │       └── GeminiStreamingChatMessageContent.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── GoogleAIEmbeddingGenerator.cs
│   │   │   │   │   ├── GoogleAIGeminiChatCompletionService.cs
│   │   │   │   │   ├── GoogleAITextEmbeddingGenerationService.cs
│   │   │   │   │   ├── VertexAIEmbeddingGenerator.cs
│   │   │   │   │   ├── VertexAIGeminiChatCompletionService.cs
│   │   │   │   │   └── VertexAITextEmbeddingGenerationService.cs
│   │   │   │   └── VertexAIVersion.cs
│   │   │   ├── Connectors.Google.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── Connectors.Google.UnitTests.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   ├── Gemini/
│   │   │   │   │   │   ├── AuthorRoleConverterTests.cs
│   │   │   │   │   │   ├── Clients/
│   │   │   │   │   │   │   ├── GeminiChatClientFunctionCallingTests.cs
│   │   │   │   │   │   │   ├── GeminiChatGenerationFunctionCallingTests.cs
│   │   │   │   │   │   │   ├── GeminiChatGenerationTests.cs
│   │   │   │   │   │   │   ├── GeminiChatStreamingFunctionCallingTests.cs
│   │   │   │   │   │   │   ├── GeminiChatStreamingTests.cs
│   │   │   │   │   │   │   └── GeminiCountingTokensTests.cs
│   │   │   │   │   │   ├── GeminiFunctionTests.cs
│   │   │   │   │   │   ├── GeminiFunctionToolCallTests.cs
│   │   │   │   │   │   ├── GeminiMetadataTests.cs
│   │   │   │   │   │   ├── GeminiPartTests.cs
│   │   │   │   │   │   ├── GeminiRequestTests.cs
│   │   │   │   │   │   └── GeminiStreamResponseTests.cs
│   │   │   │   │   ├── GoogleAI/
│   │   │   │   │   │   ├── GoogleAIClientEmbeddingsGenerationTests.cs
│   │   │   │   │   │   └── GoogleAIEmbeddingRequestTests.cs
│   │   │   │   │   └── VertexAI/
│   │   │   │   │       ├── VertexAIClientEmbeddingsGenerationTests.cs
│   │   │   │   │       └── VertexAIEmbeddingRequestTests.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── GeminiPluginCollectionExtensionsTests.cs
│   │   │   │   │   ├── GoogleAIMemoryBuilderExtensionsTests.cs
│   │   │   │   │   ├── GoogleAIServiceCollectionExtensionsTests.cs
│   │   │   │   │   ├── KernelFunctionMetadataExtensionsTests.cs
│   │   │   │   │   ├── VertexAIMemoryBuilderExtensionsTests.cs
│   │   │   │   │   └── VertexAIServiceCollectionExtensionsTests.cs
│   │   │   │   ├── GeminiPromptExecutionSettingsTests.cs
│   │   │   │   ├── GeminiToolCallBehaviorTests.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── GoogleAIEmbeddingGeneratorTests.cs
│   │   │   │   │   ├── GoogleAIGeminiChatCompletionServiceTests.cs
│   │   │   │   │   ├── GoogleAITextEmbeddingGenerationServiceTests.cs
│   │   │   │   │   ├── GoogleGeminiChatClientTests.cs
│   │   │   │   │   ├── VertexAIEmbeddingGeneratorTests.cs
│   │   │   │   │   ├── VertexAIGeminiChatCompletionServiceTests.cs
│   │   │   │   │   └── VertexAITextEmbeddingGenerationServiceTests.cs
│   │   │   │   └── TestData/
│   │   │   │       ├── chat_finish_reason_other_response.json
│   │   │   │       ├── chat_function_with_thought_signature_response.json
│   │   │   │       ├── chat_multiple_function_calls_response.json
│   │   │   │       ├── chat_one_function_response.json
│   │   │   │       ├── chat_one_response.json
│   │   │   │       ├── chat_stream_finish_reason_other_response.json
│   │   │   │       ├── chat_stream_response.json
│   │   │   │       ├── chat_text_with_thought_signature_response.json
│   │   │   │       ├── completion_one_response.json
│   │   │   │       ├── completion_stream_response.json
│   │   │   │       ├── counttokens_response.json
│   │   │   │       ├── embeddings_response.json
│   │   │   │       └── vertex_embeddings_response.json
│   │   │   ├── Connectors.HuggingFace/
│   │   │   │   ├── Connectors.HuggingFace.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   ├── HuggingFaceClient.cs
│   │   │   │   │   ├── HuggingFaceMessageApiClient.cs
│   │   │   │   │   └── Models/
│   │   │   │   │       ├── ChatCompletionRequest.cs
│   │   │   │   │       ├── ChatCompletionResponse.cs
│   │   │   │   │       ├── ChatCompletionStreamResponse.cs
│   │   │   │   │       ├── GeneratedTextItem.cs
│   │   │   │   │       ├── ImageToTextGenerationResponse.cs
│   │   │   │   │       ├── TextEmbeddingRequest.cs
│   │   │   │   │       ├── TextEmbeddingResponse.cs
│   │   │   │   │       ├── TextGenerationRequest.cs
│   │   │   │   │       ├── TextGenerationResponse.cs
│   │   │   │   │       └── TextGenerationStreamResponse.cs
│   │   │   │   ├── HuggingFaceKernelBuilderExtensions.cs
│   │   │   │   ├── HuggingFacePromptExecutionSettings.cs
│   │   │   │   ├── HuggingFaceServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   ├── HuggingFaceServiceCollectionExtensions.cs
│   │   │   │   ├── Models/
│   │   │   │   │   ├── HuggingFaceChatCompletionMetadata.cs
│   │   │   │   │   ├── HuggingFaceTextGenerationMetadata.cs
│   │   │   │   │   └── HuggingFaceTextGenerationStreamMetadata.cs
│   │   │   │   └── Services/
│   │   │   │       ├── HuggingFaceChatCompletionService.cs
│   │   │   │       ├── HuggingFaceEmbeddingGenerator.cs
│   │   │   │       ├── HuggingFaceImageToTextService.cs
│   │   │   │       ├── HuggingFaceTextEmbeddingGenerationService.cs
│   │   │   │       └── HuggingFaceTextGenerationService.cs
│   │   │   ├── Connectors.HuggingFace.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── Connectors.HuggingFace.UnitTests.csproj
│   │   │   │   ├── HttpMessageHandlerStub.cs
│   │   │   │   ├── HuggingFaceKernelBuilderExtensionsTests.cs
│   │   │   │   ├── HuggingFacePromptExecutionSettingsTests.cs
│   │   │   │   ├── HuggingFaceServiceCollectionExtensionsTests.cs
│   │   │   │   ├── HuggingFaceTestHelper.cs
│   │   │   │   ├── MultipleHttpMessageHandlerStub.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── HuggingFaceChatCompletionTests.cs
│   │   │   │   │   ├── HuggingFaceEmbeddingGenerationTests.cs
│   │   │   │   │   ├── HuggingFaceEmbeddingGeneratorTests.cs
│   │   │   │   │   ├── HuggingFaceImageToTextTests.cs
│   │   │   │   │   ├── HuggingFaceStreamingChatCompletionTests.cs
│   │   │   │   │   ├── HuggingFaceStreamingTextGenerationTests.cs
│   │   │   │   │   └── HuggingFaceTextGenerationTests.cs
│   │   │   │   ├── TestData/
│   │   │   │   │   ├── chatcompletion_test_response.json
│   │   │   │   │   ├── chatcompletion_test_stream_response.txt
│   │   │   │   │   ├── embeddings_test_response_feature_extraction.json
│   │   │   │   │   ├── embeddings_test_response_object.json
│   │   │   │   │   ├── imagetotext_test_response.json
│   │   │   │   │   ├── textgeneration_test_response.json
│   │   │   │   │   └── textgeneration_test_stream_response.txt
│   │   │   │   └── TextGeneration/
│   │   │   │       └── TextGenerationStreamResponseTests.cs
│   │   │   ├── Connectors.MistralAI/
│   │   │   │   ├── Client/
│   │   │   │   │   ├── ChatCompletionRequest.cs
│   │   │   │   │   ├── ChatCompletionResponse.cs
│   │   │   │   │   ├── ContentChunk.cs
│   │   │   │   │   ├── ContentChunkType.cs
│   │   │   │   │   ├── DocumentUrlChunk.cs
│   │   │   │   │   ├── ImageUrlChunk.cs
│   │   │   │   │   ├── MistralChatChoice.cs
│   │   │   │   │   ├── MistralChatCompletionChoice.cs
│   │   │   │   │   ├── MistralChatCompletionChunk.cs
│   │   │   │   │   ├── MistralChatMessage.cs
│   │   │   │   │   ├── MistralClient.cs
│   │   │   │   │   ├── MistralEmbedding.cs
│   │   │   │   │   ├── MistralFunction.cs
│   │   │   │   │   ├── MistralParameters.cs
│   │   │   │   │   ├── MistralResponseBase.cs
│   │   │   │   │   ├── MistralTool.cs
│   │   │   │   │   ├── MistralToolCall.cs
│   │   │   │   │   ├── MistralUsage.cs
│   │   │   │   │   ├── TextChunk.cs
│   │   │   │   │   ├── TextEmbeddingRequest.cs
│   │   │   │   │   └── TextEmbeddingResponse.cs
│   │   │   │   ├── Connectors.MistralAI.csproj
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── MistralAIKernelBuilderExtensions.cs
│   │   │   │   │   ├── MistralAIPluginCollectionExtensions.cs
│   │   │   │   │   ├── MistralAIServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   │   └── MistralAIServiceCollectionExtensions.cs
│   │   │   │   ├── MistralAIPromptExecutionSettings.cs
│   │   │   │   ├── MistralAIToolCallBehavior.cs
│   │   │   │   └── Services/
│   │   │   │       ├── MistralAIChatCompletionService.cs
│   │   │   │       ├── MistralAIEmbeddingGenerator.cs
│   │   │   │       └── MistralAITextEmbeddingGenerationService.cs
│   │   │   ├── Connectors.MistralAI.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── Client/
│   │   │   │   │   └── MistralClientTests.cs
│   │   │   │   ├── Connectors.MistralAI.UnitTests.csproj
│   │   │   │   ├── MistralAIExtensionTests.cs
│   │   │   │   ├── MistralAIPromptExecutionSettingsTests.cs
│   │   │   │   ├── MistralTestBase.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── MistralAIChatCompletionServiceTests.cs
│   │   │   │   │   ├── MistralAIEmbeddingGeneratorTests.cs
│   │   │   │   │   └── MistralAITextEmbeddingGenerationServiceTests.cs
│   │   │   │   └── TestData/
│   │   │   │       ├── chat_completions_function_call_none_response.json
│   │   │   │       ├── chat_completions_function_call_response.json
│   │   │   │       ├── chat_completions_function_called_response.json
│   │   │   │       ├── chat_completions_response.json
│   │   │   │       ├── chat_completions_response_with_document.json
│   │   │   │       ├── chat_completions_streaming_function_call_response.txt
│   │   │   │       ├── chat_completions_streaming_function_called_response.txt
│   │   │   │       ├── chat_completions_streaming_response.txt
│   │   │   │       ├── embeddings_response.json
│   │   │   │       └── function_call_response.json
│   │   │   ├── Connectors.Ollama/
│   │   │   │   ├── Connectors.Ollama.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   └── ServiceBase.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── OllamaKernelBuilderExtensions.cs
│   │   │   │   │   ├── OllamaServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   │   └── OllamaServiceCollectionExtensions.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── OllamaChatCompletionService.cs
│   │   │   │   │   ├── OllamaTextEmbeddingsGenerationService.cs
│   │   │   │   │   └── OllamaTextGenerationService.cs
│   │   │   │   └── Settings/
│   │   │   │       └── OllamaPromptExecutionSettings.cs
│   │   │   ├── Connectors.Ollama.UnitTests/
│   │   │   │   ├── Connectors.Ollama.UnitTests.csproj
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── OllamaKernelBuilderExtensionsChatClientTests.cs
│   │   │   │   │   ├── OllamaKernelBuilderExtensionsTests.cs
│   │   │   │   │   ├── OllamaServiceCollectionExtensionsChatClientTests.cs
│   │   │   │   │   └── OllamaServiceCollectionExtensionsTests.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── OllamaChatClientTests.cs
│   │   │   │   │   ├── OllamaChatCompletionTests.cs
│   │   │   │   │   ├── OllamaTextEmbeddingGenerationTests.cs
│   │   │   │   │   └── OllamaTextGenerationTests.cs
│   │   │   │   ├── Settings/
│   │   │   │   │   └── OllamaPromptExecutionSettingsTests.cs
│   │   │   │   └── TestData/
│   │   │   │       ├── chat_completion_function_call_response.txt
│   │   │   │       ├── chat_completion_multiple_function_calls_test_response.txt
│   │   │   │       ├── chat_completion_test_response.txt
│   │   │   │       ├── chat_completion_test_response_stream.txt
│   │   │   │       ├── embeddings_test_response.json
│   │   │   │       └── text_generation_test_response_stream.txt
│   │   │   ├── Connectors.Onnx/
│   │   │   │   ├── BertOnnxOptions.cs
│   │   │   │   ├── BertOnnxTextEmbeddingGenerationService.cs
│   │   │   │   ├── Connectors.Onnx.csproj
│   │   │   │   ├── OnnxKernelBuilderExtensions.ChatClient.cs
│   │   │   │   ├── OnnxKernelBuilderExtensions.cs
│   │   │   │   ├── OnnxRuntimeGenAIChatCompletionService.cs
│   │   │   │   ├── OnnxRuntimeGenAIPromptExecutionSettings.cs
│   │   │   │   ├── OnnxServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   ├── OnnxServiceCollectionExtensions.cs
│   │   │   │   ├── PoolingMode.cs
│   │   │   │   ├── Provider.cs
│   │   │   │   └── Text/
│   │   │   │       └── OnnxRuntimeGenAIPromptExecutionSettingsJsonSerializerContext.cs
│   │   │   ├── Connectors.Onnx.UnitTests/
│   │   │   │   ├── BertOnnxOptionsTests.cs
│   │   │   │   ├── Connectors.Onnx.UnitTests.csproj
│   │   │   │   ├── CustomPromptExecutionSettings.cs
│   │   │   │   ├── CustomPromptExecutionSettingsJsonSerializerContext.cs
│   │   │   │   ├── OnnxChatClientExtensionsTests.cs
│   │   │   │   ├── OnnxExtensionsTests.cs
│   │   │   │   ├── OnnxRuntimeGenAIChatCompletionServiceProvidersTests.cs
│   │   │   │   └── OnnxRuntimeGenAIPromptExecutionSettingsTests.cs
│   │   │   ├── Connectors.OpenAI/
│   │   │   │   ├── Connectors.OpenAI.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   ├── ChatToolCallListJsonConverter.cs
│   │   │   │   │   ├── ClientCore.AudioToText.cs
│   │   │   │   │   ├── ClientCore.ChatCompletion.cs
│   │   │   │   │   ├── ClientCore.Embeddings.cs
│   │   │   │   │   ├── ClientCore.TextToAudio.cs
│   │   │   │   │   ├── ClientCore.TextToImage.cs
│   │   │   │   │   ├── ClientCore.cs
│   │   │   │   │   ├── OpenAIChatMessageContent.cs
│   │   │   │   │   ├── OpenAIFunction.cs
│   │   │   │   │   ├── OpenAIFunctionToolCall.cs
│   │   │   │   │   └── OpenAIStreamingChatMessageContent.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── ChatHistoryExtensions.cs
│   │   │   │   │   ├── OpenAIKernelBuilderExtensions.ChatClient.cs
│   │   │   │   │   ├── OpenAIKernelBuilderExtensions.cs
│   │   │   │   │   ├── OpenAIKernelFunctionMetadataExtensions.cs
│   │   │   │   │   ├── OpenAIMemoryBuilderExtensions.cs
│   │   │   │   │   ├── OpenAIPluginCollectionExtensions.cs
│   │   │   │   │   ├── OpenAIServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   │   └── OpenAIServiceCollectionExtensions.cs
│   │   │   │   ├── Helpers/
│   │   │   │   │   └── OpenAIChatResponseFormatBuilder.cs
│   │   │   │   ├── Models/
│   │   │   │   │   ├── OpenAIFilePurpose.cs
│   │   │   │   │   └── OpenAIFileReference.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── OpenAIAudioToTextService.cs
│   │   │   │   │   ├── OpenAIChatCompletionService.cs
│   │   │   │   │   ├── OpenAIFileService.cs
│   │   │   │   │   ├── OpenAITextEmbeddingGenerationService.cs
│   │   │   │   │   ├── OpenAITextToAudioService.cs
│   │   │   │   │   └── OpenAITextToImageService.cs
│   │   │   │   ├── Settings/
│   │   │   │   │   ├── OpenAIAudioToTextExecutionSettings.cs
│   │   │   │   │   ├── OpenAIFileUploadExecutionSettings.cs
│   │   │   │   │   ├── OpenAIPromptExecutionSettings.cs
│   │   │   │   │   ├── OpenAITextToAudioExecutionSettings.cs
│   │   │   │   │   └── OpenAITextToImageExecutionSettings.cs
│   │   │   │   └── ToolCallBehavior.cs
│   │   │   └── Connectors.OpenAI.UnitTests/
│   │   │       ├── Connectors.OpenAI.UnitTests.csproj
│   │   │       ├── Core/
│   │   │       │   ├── AutoFunctionInvocationFilterChatClientTests.cs
│   │   │       │   ├── AutoFunctionInvocationFilterTests.cs
│   │   │       │   ├── ClientCoreTests.cs
│   │   │       │   ├── OpenAIChatMessageContentTests.cs
│   │   │       │   ├── OpenAIFunctionTests.cs
│   │   │       │   ├── OpenAIFunctionToolCallTests.cs
│   │   │       │   ├── OpenAIJsonSchemaTransformerTests.cs
│   │   │       │   └── OpenAIWithDataStreamingChatMessageContentTests.cs
│   │   │       ├── Extensions/
│   │   │       │   ├── ChatHistoryExtensionsTests.cs
│   │   │       │   ├── KernelBuilderExtensionsTests.cs
│   │   │       │   ├── KernelFunctionMetadataExtensionsTests.cs
│   │   │       │   ├── OpenAIKernelBuilderExtensionsChatClientTests.cs
│   │   │       │   ├── OpenAIPluginCollectionExtensionsTests.cs
│   │   │       │   ├── OpenAIServiceCollectionExtensionsChatClientTests.cs
│   │   │       │   └── ServiceCollectionExtensionsTests.cs
│   │   │       ├── Helpers/
│   │   │       │   └── OpenAIChatResponseFormatBuilderTests.cs
│   │   │       ├── KernelCore/
│   │   │       │   └── KernelTests.cs
│   │   │       ├── Services/
│   │   │       │   ├── OpenAIAudioToTextServiceTests.cs
│   │   │       │   ├── OpenAIChatCompletionServiceTests.cs
│   │   │       │   ├── OpenAIFileServiceTests.cs
│   │   │       │   ├── OpenAITextEmbeddingGenerationServiceTests.cs
│   │   │       │   ├── OpenAITextToAudioServiceTests.cs
│   │   │       │   └── OpenAITextToImageServiceTests.cs
│   │   │       ├── Settings/
│   │   │       │   ├── OpenAIAudioToTextExecutionSettingsTests.cs
│   │   │       │   ├── OpenAIPromptExecutionSettingsTests.cs
│   │   │       │   └── OpenAITextToAudioExecutionSettingsTests.cs
│   │   │       ├── TestData/
│   │   │       │   ├── chat_completion_invalid_streaming_test_response.txt
│   │   │       │   ├── chat_completion_multiple_function_calls_test_response.json
│   │   │       │   ├── chat_completion_refusal_test_response.json
│   │   │       │   ├── chat_completion_single_function_call_test_response.json
│   │   │       │   ├── chat_completion_streaming_chatclient_multiple_function_calls_test_response.txt
│   │   │       │   ├── chat_completion_streaming_multiple_function_calls_test_response.txt
│   │   │       │   ├── chat_completion_streaming_refusal_test_response.txt
│   │   │       │   ├── chat_completion_streaming_single_function_call_empty_assistance_response.txt
│   │   │       │   ├── chat_completion_streaming_single_function_call_test_response.txt
│   │   │       │   ├── chat_completion_streaming_test_response.txt
│   │   │       │   ├── chat_completion_test_response.json
│   │   │       │   ├── chat_completion_with_data_streaming_test_response.txt
│   │   │       │   ├── chat_completion_with_data_test_response.json
│   │   │       │   ├── filters_chatclient_multiple_function_calls_test_response.json
│   │   │       │   ├── filters_chatclient_streaming_multiple_function_calls_test_response.txt
│   │   │       │   ├── filters_multiple_function_calls_test_response.json
│   │   │       │   ├── filters_streaming_multiple_function_calls_test_response.txt
│   │   │       │   ├── text-embeddings-multiple-response.txt
│   │   │       │   ├── text-embeddings-response.txt
│   │   │       │   ├── text-to-image-b64_json-format-response.json
│   │   │       │   └── text-to-image-response.json
│   │   │       └── ToolCallBehaviorTests.cs
│   │   ├── Experimental/
│   │   │   ├── Agents/
│   │   │   │   └── README.md
│   │   │   ├── Orchestration.Flow/
│   │   │   │   ├── Abstractions/
│   │   │   │   │   ├── IFlowCatalog.cs
│   │   │   │   │   ├── IFlowExecutor.cs
│   │   │   │   │   ├── IFlowStatusProvider.cs
│   │   │   │   │   └── IFlowValidator.cs
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── EmbeddedResource.cs
│   │   │   │   ├── Execution/
│   │   │   │   │   ├── ChatHistorySerializer.cs
│   │   │   │   │   ├── Constants.cs
│   │   │   │   │   ├── ExecutionState.cs
│   │   │   │   │   ├── FlowExecutor.cs
│   │   │   │   │   ├── FlowStatusProvider.cs
│   │   │   │   │   ├── ReActEngine.cs
│   │   │   │   │   └── ReActStep.cs
│   │   │   │   ├── Experimental.Orchestration.Flow.csproj
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── ExceptionExtensions.cs
│   │   │   │   │   ├── FlowExtensions.cs
│   │   │   │   │   ├── FunctionResultExtensions.cs
│   │   │   │   │   ├── KernelArgumentsExtensions.cs
│   │   │   │   │   └── PromptTemplateConfigExtensions.cs
│   │   │   │   ├── FlowOrchestrator.cs
│   │   │   │   ├── FlowOrchestratorConfig.cs
│   │   │   │   ├── FlowSerializer.cs
│   │   │   │   ├── FlowValidator.cs
│   │   │   │   ├── Model/
│   │   │   │   │   ├── CompletionType.cs
│   │   │   │   │   ├── Flow.cs
│   │   │   │   │   ├── FlowStep.cs
│   │   │   │   │   └── ReferenceFlowStep.cs
│   │   │   │   └── Plugins/
│   │   │   │       ├── CheckRepeatStep.yaml
│   │   │   │       ├── CheckStartStep.yaml
│   │   │   │       ├── ReActEngine.gpt4.yaml
│   │   │   │       └── ReActEngine.yaml
│   │   │   ├── Orchestration.Flow.IntegrationTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── CollectEmailPlugin.cs
│   │   │   │   ├── Experimental.Orchestration.Flow.IntegrationTests.csproj
│   │   │   │   ├── FlowOrchestratorTests.cs
│   │   │   │   ├── README.md
│   │   │   │   ├── RedirectOutput.cs
│   │   │   │   ├── SendEmailPlugin.cs
│   │   │   │   ├── TestSettings/
│   │   │   │   │   ├── AzureOpenAIConfiguration.cs
│   │   │   │   │   └── OpenAIConfiguration.cs
│   │   │   │   └── testsettings.json
│   │   │   ├── Orchestration.Flow.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── ChatHistorySerializerTest.cs
│   │   │   │   ├── Experimental.Orchestration.Flow.UnitTests.csproj
│   │   │   │   ├── FlowExtensionsTests.cs
│   │   │   │   ├── FlowSerializerTests.cs
│   │   │   │   ├── FlowValidatorTests.cs
│   │   │   │   ├── TestData/
│   │   │   │   │   └── Flow/
│   │   │   │   │       ├── flow.json
│   │   │   │   │       └── flow.yml
│   │   │   │   └── XunitHelpers/
│   │   │   │       └── TestConsoleLogger.cs
│   │   │   ├── Process.Abstractions/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── IKernelExternalProcessMessageChannel.cs
│   │   │   │   ├── IKernelProcessMessageChannel.cs
│   │   │   │   ├── Internal/
│   │   │   │   │   └── KernelProcessStepMetadataFactory.cs
│   │   │   │   ├── KernelProcess.cs
│   │   │   │   ├── KernelProcessAgentExecutor.cs
│   │   │   │   ├── KernelProcessAgentStep.cs
│   │   │   │   ├── KernelProcessAgentThread.cs
│   │   │   │   ├── KernelProcessContext.cs
│   │   │   │   ├── KernelProcessDeclarativeConditionHandler.cs
│   │   │   │   ├── KernelProcessEdge.cs
│   │   │   │   ├── KernelProcessEdgeCondition.cs
│   │   │   │   ├── KernelProcessEdgeGroup.cs
│   │   │   │   ├── KernelProcessError.cs
│   │   │   │   ├── KernelProcessEvent.cs
│   │   │   │   ├── KernelProcessEventData.cs
│   │   │   │   ├── KernelProcessEventVisibility.cs
│   │   │   │   ├── KernelProcessFunctionTarget.cs
│   │   │   │   ├── KernelProcessMap.cs
│   │   │   │   ├── KernelProcessMapState.cs
│   │   │   │   ├── KernelProcessMessageSource.cs
│   │   │   │   ├── KernelProcessProxy.cs
│   │   │   │   ├── KernelProcessProxyMessage.cs
│   │   │   │   ├── KernelProcessState.cs
│   │   │   │   ├── KernelProcessStep.cs
│   │   │   │   ├── KernelProcessStepContext.cs
│   │   │   │   ├── KernelProcessStepExternalContext.cs
│   │   │   │   ├── KernelProcessStepInfo.cs
│   │   │   │   ├── KernelProcessStepMetadataAttribute.cs
│   │   │   │   ├── KernelProcessStepState.cs
│   │   │   │   ├── KernelProcessThreadLifetime.cs
│   │   │   │   ├── KernelProcessThreadType.cs
│   │   │   │   ├── KernelProxyStep.cs
│   │   │   │   ├── Models/
│   │   │   │   │   ├── KernelProcessMapStateMetadata.cs
│   │   │   │   │   ├── KernelProcessProxyEventMetadata.cs
│   │   │   │   │   ├── KernelProcessProxyStateMetadata.cs
│   │   │   │   │   ├── KernelProcessStateMetadata.cs
│   │   │   │   │   └── KernelProcessStepStateMetadata.cs
│   │   │   │   ├── Process.Abstractions.csproj
│   │   │   │   ├── ProcessAgentActions.cs
│   │   │   │   ├── ProcessTargetType.cs
│   │   │   │   └── Serialization/
│   │   │   │       └── Model/
│   │   │   │           └── Workflow.cs
│   │   │   ├── Process.Core/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── DeclarativeConditionContentWrapper.cs
│   │   │   │   ├── Internal/
│   │   │   │   │   ├── EndStep.cs
│   │   │   │   │   ├── KernelProcessStateMetadataExtension.cs
│   │   │   │   │   └── ProcessEventData.cs
│   │   │   │   ├── KernelProcessEdgeGroupBuilder.cs
│   │   │   │   ├── ListenForBuilder.cs
│   │   │   │   ├── ListenForTargetBuilder.cs
│   │   │   │   ├── MessageSourceBuilder.cs
│   │   │   │   ├── Process.Core.csproj
│   │   │   │   ├── ProcessAgentBuilder.cs
│   │   │   │   ├── ProcessBuilder.cs
│   │   │   │   ├── ProcessDefaultState.cs
│   │   │   │   ├── ProcessEdgeBuilder.cs
│   │   │   │   ├── ProcessFunctionTargetBuilder.cs
│   │   │   │   ├── ProcessMapBuilder.cs
│   │   │   │   ├── ProcessProxyBuilder.cs
│   │   │   │   ├── ProcessStepBuilder.cs
│   │   │   │   ├── ProcessStepEdgeBuilder.cs
│   │   │   │   ├── Tools/
│   │   │   │   │   ├── ProcessStepLoader.cs
│   │   │   │   │   └── ProcessVisualizationExtensions.cs
│   │   │   │   ├── Workflow/
│   │   │   │   │   └── WorkflowBuilder.cs
│   │   │   │   └── WorkflowSerializer.cs
│   │   │   ├── Process.IntegrationTestHost.Dapr/
│   │   │   │   ├── Contracts/
│   │   │   │   │   └── ProcessStartRequest.cs
│   │   │   │   ├── Controllers/
│   │   │   │   │   └── ProcessTestController.cs
│   │   │   │   ├── HealthActor.cs
│   │   │   │   ├── IHealthActor.cs
│   │   │   │   ├── Process.IntegrationTestHost.Dapr.csproj
│   │   │   │   ├── ProcessStateTypeResolver.cs
│   │   │   │   ├── Program.cs
│   │   │   │   └── appsettings.json
│   │   │   ├── Process.IntegrationTestRunner.Dapr/
│   │   │   │   ├── DaprTestProcessContext.cs
│   │   │   │   ├── Process.IntegrationTestRunner.Dapr.csproj
│   │   │   │   ├── ProcessTestFixture.cs
│   │   │   │   └── README.md
│   │   │   ├── Process.IntegrationTestRunner.Local/
│   │   │   │   ├── Process.IntegrationTestRunner.Local.csproj
│   │   │   │   └── ProcessTestFixture.cs
│   │   │   ├── Process.IntegrationTests.Resources/
│   │   │   │   ├── Process.IntegrationTests.Resources.csproj
│   │   │   │   ├── ProcessCloudEventsResources.cs
│   │   │   │   ├── ProcessCycleTestResources.cs
│   │   │   │   └── ProcessMapTestResources.cs
│   │   │   ├── Process.IntegrationTests.Shared/
│   │   │   │   ├── Process.IntegrationTests.Shared.csproj
│   │   │   │   ├── Process.IntegrationTests.Shared.props
│   │   │   │   ├── ProcessCloudEventsTests.cs
│   │   │   │   ├── ProcessCycleTests.cs
│   │   │   │   ├── ProcessMapTests.cs
│   │   │   │   ├── ProcessTestFixture.cs
│   │   │   │   ├── ProcessTests.cs
│   │   │   │   └── TestSettings/
│   │   │   │       ├── AzureOpenAIConfiguration.cs
│   │   │   │       ├── OpenAIConfiguration.cs
│   │   │   │       ├── ProcessTestGroup.cs
│   │   │   │       └── testsettings.json
│   │   │   ├── Process.LocalRuntime/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── LocalAgentStep.cs
│   │   │   │   ├── LocalEdgeGroupProcessor.cs
│   │   │   │   ├── LocalKernelProcessContext.cs
│   │   │   │   ├── LocalKernelProcessFactory.cs
│   │   │   │   ├── LocalMap.cs
│   │   │   │   ├── LocalProcess.cs
│   │   │   │   ├── LocalProxy.cs
│   │   │   │   ├── LocalStep.cs
│   │   │   │   └── Process.LocalRuntime.csproj
│   │   │   ├── Process.Runtime.Dapr/
│   │   │   │   ├── Actors/
│   │   │   │   │   ├── ActorStateKeys.cs
│   │   │   │   │   ├── EventBufferActor.cs
│   │   │   │   │   ├── ExternalEventBufferActor.cs
│   │   │   │   │   ├── ExternalMessageBufferActor.cs
│   │   │   │   │   ├── ExternalMessageBufferActorWrapper.cs
│   │   │   │   │   ├── MapActor.cs
│   │   │   │   │   ├── MessageBufferActor.cs
│   │   │   │   │   ├── ProcessActor.cs
│   │   │   │   │   ├── ProxyActor.cs
│   │   │   │   │   └── StepActor.cs
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── DaprKernelProcessContext.cs
│   │   │   │   ├── DaprKernelProcessFactory.cs
│   │   │   │   ├── DaprMapInfo.cs
│   │   │   │   ├── DaprProcessInfo.cs
│   │   │   │   ├── DaprProxyInfo.cs
│   │   │   │   ├── DaprStepInfo.cs
│   │   │   │   ├── Interfaces/
│   │   │   │   │   ├── IEventBuffer.cs
│   │   │   │   │   ├── IExternalEventBuffer.cs
│   │   │   │   │   ├── IExternalMessageBuffer.cs
│   │   │   │   │   ├── IMap.cs
│   │   │   │   │   ├── IMessageBuffer.cs
│   │   │   │   │   ├── IProcess.cs
│   │   │   │   │   ├── IProxy.cs
│   │   │   │   │   └── IStep.cs
│   │   │   │   ├── KernelProcessDaprExtensions.cs
│   │   │   │   ├── Process.Runtime.Dapr.csproj
│   │   │   │   └── Serialization/
│   │   │   │       ├── KernelProcessEventSerializer.cs
│   │   │   │       ├── ProcessEventSerializer.cs
│   │   │   │       ├── ProcessMessageSerializer.cs
│   │   │   │       ├── TypeContainers.cs
│   │   │   │       └── TypeInfo.cs
│   │   │   ├── Process.Runtime.Dapr.UnitTests/
│   │   │   │   ├── KernelProcessEventSerializationTests.cs
│   │   │   │   ├── Process.Runtime.Dapr.UnitTests.csproj
│   │   │   │   ├── ProcessEventSerializationTests.cs
│   │   │   │   ├── ProcessMessageSerializationTests.cs
│   │   │   │   └── TestSerializer.cs
│   │   │   ├── Process.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── Core/
│   │   │   │   │   ├── ProcessBuilderTests.cs
│   │   │   │   │   ├── ProcessEdgeBuilderTests.cs
│   │   │   │   │   ├── ProcessMapBuilderTests.cs
│   │   │   │   │   ├── ProcessProxyBuilderTests.cs
│   │   │   │   │   ├── ProcessStepBuilderTests.cs
│   │   │   │   │   └── ProcessStepEdgeBuilderTests.cs
│   │   │   │   ├── KernelProcessMapTests.cs
│   │   │   │   ├── KernelProcessProxyTests.cs
│   │   │   │   ├── KernelProcessSerializationTests.cs
│   │   │   │   ├── KernelProcessStateTests.cs
│   │   │   │   ├── Process.UnitTests.csproj
│   │   │   │   ├── Runtime.Local/
│   │   │   │   │   ├── LocalMapTests.cs
│   │   │   │   │   ├── LocalProcessTests.cs
│   │   │   │   │   └── LocalProxyTests.cs
│   │   │   │   └── Steps/
│   │   │   │       ├── AStep.cs
│   │   │   │       ├── BStep.cs
│   │   │   │       ├── CStep.cs
│   │   │   │       ├── CommonEvents.cs
│   │   │   │       ├── KickoffStep.cs
│   │   │   │       └── ProductInfoProvider.cs
│   │   │   └── Process.Utilities.UnitTests/
│   │   │       ├── CloneTests.cs
│   │   │       ├── Process.Utilities.UnitTests.csproj
│   │   │       └── ProcessTypeExtensionsTests.cs
│   │   ├── Extensions/
│   │   │   ├── Extensions.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── Extensions.UnitTests.csproj
│   │   │   │   ├── PromptTemplates/
│   │   │   │   │   └── Handlebars/
│   │   │   │   │       ├── HandlebarsPromptTemplateFactoryTests.cs
│   │   │   │   │       ├── HandlebarsPromptTemplateTestUtils.cs
│   │   │   │   │       ├── HandlebarsPromptTemplateTests.cs
│   │   │   │   │       └── Helpers/
│   │   │   │   │           ├── KernelFunctionHelpersTests.cs
│   │   │   │   │           ├── KernelHelperUtilsTests.cs
│   │   │   │   │           └── KernelSystemHelpersTests.cs
│   │   │   │   └── XunitHelpers/
│   │   │   │       └── TestConsoleLogger.cs
│   │   │   ├── PromptTemplates.Handlebars/
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── HandlebarsKernelExtensions.cs
│   │   │   │   ├── HandlebarsPromptTemplate.cs
│   │   │   │   ├── HandlebarsPromptTemplateFactory.cs
│   │   │   │   ├── HandlebarsPromptTemplateOptions.cs
│   │   │   │   ├── Helpers/
│   │   │   │   │   ├── KernelHelperUtils.cs
│   │   │   │   │   └── KernelHelpers/
│   │   │   │   │       ├── KernelFunctionHelpers.cs
│   │   │   │   │       └── KernelSystemHelpers.cs
│   │   │   │   └── PromptTemplates.Handlebars.csproj
│   │   │   ├── PromptTemplates.Liquid/
│   │   │   │   ├── LiquidPromptTemplate.cs
│   │   │   │   ├── LiquidPromptTemplateFactory.cs
│   │   │   │   └── PromptTemplates.Liquid.csproj
│   │   │   └── PromptTemplates.Liquid.UnitTests/
│   │   │       ├── LiquidTemplateFactoryTest.cs
│   │   │       ├── LiquidTemplateTest.cs
│   │   │       ├── PromptTemplates.Liquid.UnitTests.csproj
│   │   │       └── TestData/
│   │   │           └── chat.txt
│   │   ├── Functions/
│   │   │   ├── Functions.Grpc/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── GrpcKernelExtensions.cs
│   │   │   │   ├── Functions.Grpc.csproj
│   │   │   │   ├── GrpcOperationRunner.cs
│   │   │   │   ├── Model/
│   │   │   │   │   ├── GrpcOperation.cs
│   │   │   │   │   ├── GrpcOperationDataContractType.cs
│   │   │   │   │   └── GrpcOperationDataContractTypeFiled.cs
│   │   │   │   └── Protobuf/
│   │   │   │       └── ProtoDocumentParser.cs
│   │   │   ├── Functions.Markdown/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── Functions.Markdown.csproj
│   │   │   │   ├── KernelFunctionMarkdown.cs
│   │   │   │   └── MarkdownKernelExtensions.cs
│   │   │   ├── Functions.OpenApi/
│   │   │   │   ├── Authentication/
│   │   │   │   │   └── AuthenticateRequestAsyncCallback.cs
│   │   │   │   ├── CompatibilitySuppressions.xml
│   │   │   │   ├── DocumentLoader.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── OpenApiFunctionExecutionParameters.cs
│   │   │   │   │   ├── OpenApiKernelExtensions.cs
│   │   │   │   │   ├── OpenApiSchemaExtensions.cs
│   │   │   │   │   ├── RestApiOperationExtensions.cs
│   │   │   │   │   └── RestApiOperationResponseExtensions.cs
│   │   │   │   ├── Functions.OpenApi.csproj
│   │   │   │   ├── HttpContentFactory.cs
│   │   │   │   ├── HttpResponseContentReader.cs
│   │   │   │   ├── HttpResponseContentReaderContext.cs
│   │   │   │   ├── Model/
│   │   │   │   │   ├── RestApiExpectedResponse.cs
│   │   │   │   │   ├── RestApiInfo.cs
│   │   │   │   │   ├── RestApiOAuthFlow.cs
│   │   │   │   │   ├── RestApiOAuthFlows.cs
│   │   │   │   │   ├── RestApiOperation.cs
│   │   │   │   │   ├── RestApiOperationHeadersFactory.cs
│   │   │   │   │   ├── RestApiOperationPayloadFactory.cs
│   │   │   │   │   ├── RestApiOperationRunOptions.cs
│   │   │   │   │   ├── RestApiOperationUrlFactory.cs
│   │   │   │   │   ├── RestApiParameter.cs
│   │   │   │   │   ├── RestApiParameterLocation.cs
│   │   │   │   │   ├── RestApiParameterStyle.cs
│   │   │   │   │   ├── RestApiPayload.cs
│   │   │   │   │   ├── RestApiPayloadProperty.cs
│   │   │   │   │   ├── RestApiSecurityRequirement.cs
│   │   │   │   │   ├── RestApiSecurityScheme.cs
│   │   │   │   │   ├── RestApiServer.cs
│   │   │   │   │   ├── RestApiServerVariable.cs
│   │   │   │   │   └── RestApiSpecification.cs
│   │   │   │   ├── OpenApi/
│   │   │   │   │   ├── OpenApiDocumentParser.cs
│   │   │   │   │   ├── OpenApiDocumentParserOptions.cs
│   │   │   │   │   └── OperationSelectionPredicateContext.cs
│   │   │   │   ├── OpenApiKernelFunctionContext.cs
│   │   │   │   ├── OpenApiKernelPluginFactory.cs
│   │   │   │   ├── RestApiOperationResponseFactory.cs
│   │   │   │   ├── RestApiOperationResponseFactoryContext.cs
│   │   │   │   ├── RestApiOperationRunner.cs
│   │   │   │   ├── RestApiOperationServerUrlValidationOptions.cs
│   │   │   │   ├── RestApiParameterFilter.cs
│   │   │   │   ├── RestApiParameterFilterContext.cs
│   │   │   │   └── Serialization/
│   │   │   │       ├── ArrayParameterValueSerializer.cs
│   │   │   │       ├── FormStyleParameterSerializer.cs
│   │   │   │       ├── OpenApiTypeConverter.cs
│   │   │   │       ├── PipeDelimitedStyleParameterSerializer.cs
│   │   │   │       ├── SimpleStyleParameterSerializer.cs
│   │   │   │       └── SpaceDelimitedStyleParameterSerializer.cs
│   │   │   ├── Functions.OpenApi.Extensions/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── ApiManifestKernelExtensions.cs
│   │   │   │   │   ├── ApiManifestPluginParameters.cs
│   │   │   │   │   ├── CopilotAgentPluginKernelExtensions.cs
│   │   │   │   │   ├── CopilotAgentPluginParameters.cs
│   │   │   │   │   ├── DeclarativeAgentExtensions.cs
│   │   │   │   │   └── OperationIdNormalizationOpenApiVisitor.cs
│   │   │   │   └── Functions.OpenApi.Extensions.csproj
│   │   │   ├── Functions.Prompty/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── PromptyKernelExtensions.cs
│   │   │   │   ├── Functions.Prompty.csproj
│   │   │   │   └── KernelFunctionPrompty.cs
│   │   │   ├── Functions.Prompty.UnitTests/
│   │   │   │   ├── Functions.Prompty.UnitTests.csproj
│   │   │   │   ├── PromptyTests.cs
│   │   │   │   └── TestData/
│   │   │   │       ├── chat.prompty
│   │   │   │       ├── chatJsonObject.prompty
│   │   │   │       ├── chatNoExecutionSettings.prompty
│   │   │   │       ├── model.json
│   │   │   │       ├── relativeFileReference.prompty
│   │   │   │       └── schema.json
│   │   │   ├── Functions.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── Functions.UnitTests.csproj
│   │   │   │   ├── Grpc/
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   └── GrpcOperationExtensionsTests.cs
│   │   │   │   │   ├── GrpcRunnerTests.cs
│   │   │   │   │   └── Protobuf/
│   │   │   │   │       ├── ProtoDocumentParserV30Tests.cs
│   │   │   │   │       └── TestPlugins/
│   │   │   │   │           ├── ResourcePluginsProvider.cs
│   │   │   │   │           └── protoV3.proto
│   │   │   │   ├── OpenApi/
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   ├── CopilotAgentPluginKernelExtensionsTests.cs
│   │   │   │   │   │   ├── OpenApiKernelExtensionsTests.cs
│   │   │   │   │   │   ├── OpenApiSchemaExtensionsTests.cs
│   │   │   │   │   │   └── RestApiOperationExtensionsTests.cs
│   │   │   │   │   ├── HttpMessageHandlerStub.cs
│   │   │   │   │   ├── OpenApiDocumentParserExtensionsTests.cs
│   │   │   │   │   ├── OpenApiDocumentParserV20Tests.cs
│   │   │   │   │   ├── OpenApiDocumentParserV30FeatureTests.cs
│   │   │   │   │   ├── OpenApiDocumentParserV30Tests.cs
│   │   │   │   │   ├── OpenApiDocumentParserV31Tests.cs
│   │   │   │   │   ├── OpenApiKernelPluginFactoryFeatureTests.cs
│   │   │   │   │   ├── OpenApiKernelPluginFactoryTests.cs
│   │   │   │   │   ├── OpenApiTestHelper.cs
│   │   │   │   │   ├── OperationSelectionPredicateContextTests.cs
│   │   │   │   │   ├── RestApiOperationResponseConverterTests.cs
│   │   │   │   │   ├── RestApiOperationResponseTests.cs
│   │   │   │   │   ├── RestApiOperationRunnerTests.cs
│   │   │   │   │   ├── RestApiOperationTests.cs
│   │   │   │   │   ├── RestApiSecurityRequirementTests.cs
│   │   │   │   │   ├── Serialization/
│   │   │   │   │   │   ├── ArrayParameterSerializerTests.cs
│   │   │   │   │   │   ├── FormStyleParametersSerializerTests.cs
│   │   │   │   │   │   ├── OpenApiTypeConverterTests.cs
│   │   │   │   │   │   ├── PipeDelimitedStyleParametersSerializerTests.cs
│   │   │   │   │   │   ├── SimpleStyleParametersSerializerTests.cs
│   │   │   │   │   │   └── SpaceDelimitedStyleParametersSerializerTests.cs
│   │   │   │   │   ├── TestPlugins/
│   │   │   │   │   │   ├── ResourcePluginsProvider.cs
│   │   │   │   │   │   ├── ai-plugin.json
│   │   │   │   │   │   ├── ai-plugin2.json
│   │   │   │   │   │   ├── apikey-securityV3_0.json
│   │   │   │   │   │   ├── documentV2_0.json
│   │   │   │   │   │   ├── documentV3_0.json
│   │   │   │   │   │   ├── documentV3_1.yaml
│   │   │   │   │   │   ├── messages-apiplugin.json
│   │   │   │   │   │   ├── messages-openapi.yml
│   │   │   │   │   │   ├── multipart-form-data.json
│   │   │   │   │   │   ├── no-securityV3_0.json
│   │   │   │   │   │   ├── nonCompliant_documentV3_0.json
│   │   │   │   │   │   ├── oauth-securityV3_0.json
│   │   │   │   │   │   ├── openapi_feature_testsV3_0.json
│   │   │   │   │   │   └── repair-service.json
│   │   │   │   │   └── TestResponses/
│   │   │   │   │       ├── 200FakeResponseSchema.json
│   │   │   │   │       ├── 2XXFakeResponseSchema.json
│   │   │   │   │       ├── DefaultResponseSchema.json
│   │   │   │   │       ├── FakeResponseSchema.json
│   │   │   │   │       ├── InvalidProductContent.json
│   │   │   │   │       ├── NotProductContent.json
│   │   │   │   │       ├── ObjectResponseSchema.json
│   │   │   │   │       ├── ProductResponseSchema.json
│   │   │   │   │       ├── ResourceResponseProvider.cs
│   │   │   │   │       └── ValidProductContent.json
│   │   │   │   └── Yaml/
│   │   │   │       ├── Functions/
│   │   │   │       │   └── KernelFunctionYamlTests.cs
│   │   │   │       ├── Plugins/
│   │   │   │       │   └── CreateKernelPluginYamlTests.cs
│   │   │   │       └── PromptExecutionSettingsTypeConverterTests.cs
│   │   │   └── Functions.Yaml/
│   │   │       ├── Functions.Yaml.csproj
│   │   │       ├── KernelFunctionYaml.cs
│   │   │       ├── PromptExecutionSettingsTypeConverter.cs
│   │   │       └── PromptYamlKernelExtensions.cs
│   │   ├── IntegrationTests/
│   │   │   ├── .editorconfig
│   │   │   ├── Agents/
│   │   │   │   ├── AggregatorAgentTests.cs
│   │   │   │   ├── AzureAIAgentTests.cs
│   │   │   │   ├── BedrockAgentTests.cs
│   │   │   │   ├── ChatCompletionAgentTests.cs
│   │   │   │   ├── CommonInterfaceConformance/
│   │   │   │   │   ├── AgentFixture.cs
│   │   │   │   │   ├── AgentThreadConformance/
│   │   │   │   │   │   ├── AgentThreadTests.cs
│   │   │   │   │   │   ├── AzureAIAgentThreadTests.cs
│   │   │   │   │   │   ├── BedrockAgentThreadTests.cs
│   │   │   │   │   │   ├── ChatCompletionAgentThreadTests.cs
│   │   │   │   │   │   ├── OpenAIAssistantAgentThreadTests.cs
│   │   │   │   │   │   └── OpenAIResponseAgentThreadTests.cs
│   │   │   │   │   ├── AgentWithAIContextProviderConformance/
│   │   │   │   │   │   ├── AgentWithAIContextProviderTests.cs
│   │   │   │   │   │   ├── AzureAIAgentWithAIContextProviderTests.cs
│   │   │   │   │   │   ├── BedrockAgentWithAIContextProviderTests.cs
│   │   │   │   │   │   ├── ChatCompletionAgentWithAIContextProviderTests.cs
│   │   │   │   │   │   ├── OpenAIAssistantAgentWithAIContextProviderTests.cs
│   │   │   │   │   │   └── OpenAIResponseAgentWithAIContextProviderTests.cs
│   │   │   │   │   ├── AgentWithTextSearchProviderConformance/
│   │   │   │   │   │   ├── AgentWithTextSearchProvider.cs
│   │   │   │   │   │   ├── AzureAIAgentWithTextSearchProviderTests.cs
│   │   │   │   │   │   ├── ChatCompletionAgentWithTextSearchProviderTests.cs
│   │   │   │   │   │   └── OpenAIAssistantAgentWithTextSearchProviderTests.cs
│   │   │   │   │   ├── AzureAIAgentFixture.cs
│   │   │   │   │   ├── BedrockAgentFixture.cs
│   │   │   │   │   ├── ChatCompletionAgentFixture.cs
│   │   │   │   │   ├── InvokeConformance/
│   │   │   │   │   │   ├── AzureAIAgentInvokeTests.cs
│   │   │   │   │   │   ├── BedrockAgentInvokeTests.cs
│   │   │   │   │   │   ├── ChatCompletionAgentInvokeTests.cs
│   │   │   │   │   │   ├── InvokeTests.cs
│   │   │   │   │   │   ├── OpenAIAssistantAgentInvokeTests.cs
│   │   │   │   │   │   └── OpenAIResponseAgentInvokeTests.cs
│   │   │   │   │   ├── InvokeStreamingConformance/
│   │   │   │   │   │   ├── AzureAIAgentInvokeStreamingTests.cs
│   │   │   │   │   │   ├── ChatCompletionAgentInvokeStreamingTests.cs
│   │   │   │   │   │   ├── InvokeStreamingTests.cs
│   │   │   │   │   │   ├── OpenAIAssistantAgentInvokeStreamingTests.cs
│   │   │   │   │   │   └── OpenAIResponseAgentInvokeStreamingTests.cs
│   │   │   │   │   ├── MenuPlugin.cs
│   │   │   │   │   ├── OpenAIAssistantAgentFixture.cs
│   │   │   │   │   ├── OpenAIResponseAgentFixture.cs
│   │   │   │   │   └── SemanticKernelAIAgentConformance/
│   │   │   │   │       ├── AzureAIAgentAdapterTests.cs
│   │   │   │   │       ├── BedrockAgentAdapterTests.cs
│   │   │   │   │       ├── ChatCompletionAgentAdapterTests.cs
│   │   │   │   │       ├── OpenAIAssistantAgentAdapterTests.cs
│   │   │   │   │       ├── OpenAIResponseAgentAdapterTests.cs
│   │   │   │   │       └── SemanticKernelAIAgentTests.cs
│   │   │   │   ├── MixedAgentTests.cs
│   │   │   │   ├── OpenAIAssistantAgentTests.cs
│   │   │   │   └── OpenAIResponseAgentTests.cs
│   │   │   ├── BaseIntegrationTest.cs
│   │   │   ├── Connectors/
│   │   │   │   ├── Amazon/
│   │   │   │   │   └── Bedrock/
│   │   │   │   │       ├── BedrockChatClientTests.cs
│   │   │   │   │       ├── BedrockChatCompletionTests.cs
│   │   │   │   │       ├── BedrockTextEmbeddingTests.cs
│   │   │   │   │       └── BedrockTextGenerationTests.cs
│   │   │   │   ├── AzureAIInference/
│   │   │   │   │   ├── AzureAIInferenceChatClientTests.cs
│   │   │   │   │   ├── AzureAIInferenceChatCompletionServiceTests.cs
│   │   │   │   │   ├── AzureAIInferenceChatCompletion_FunctionCallingTests.cs
│   │   │   │   │   └── AzureAIInferenceEmbeddingGeneratorTests.cs
│   │   │   │   ├── AzureOpenAI/
│   │   │   │   │   ├── AzureOpenAIAudioToTextTests.cs
│   │   │   │   │   ├── AzureOpenAIChatClientTests.cs
│   │   │   │   │   ├── AzureOpenAIChatClient_AutoFunctionChoiceBehaviorTests.cs
│   │   │   │   │   ├── AzureOpenAIChatClient_NoneFunctionChoiceBehaviorTests.cs
│   │   │   │   │   ├── AzureOpenAIChatClient_RequiredFunctionChoiceBehaviorTests.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletionFunctionCallingTests.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletionNonStreamingTests.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletionStreamingTests.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletionTests.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletion_AutoFunctionChoiceBehaviorTests.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletion_NoneFunctionChoiceBehaviorTests.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletion_RequiredFunctionChoiceBehaviorTests.cs
│   │   │   │   │   ├── AzureOpenAITextEmbeddingTests.cs
│   │   │   │   │   ├── AzureOpenAITextToAudioTests.cs
│   │   │   │   │   └── AzureOpenAITextToImageTests.cs
│   │   │   │   ├── Google/
│   │   │   │   │   ├── EmbeddingGenerationTests.cs
│   │   │   │   │   ├── EmbeddingGeneratorTests.cs
│   │   │   │   │   ├── Gemini/
│   │   │   │   │   │   ├── GeminiChatClientTests.cs
│   │   │   │   │   │   ├── GeminiChatCompletionTests.cs
│   │   │   │   │   │   ├── GeminiFunctionCallingChatClientTests.cs
│   │   │   │   │   │   ├── GeminiFunctionCallingTests.cs
│   │   │   │   │   │   ├── GeminiVertexAIChatClientTests.cs
│   │   │   │   │   │   └── GeminiVertexAIFunctionCallingChatClientTests.cs
│   │   │   │   │   └── TestsBase.cs
│   │   │   │   ├── HuggingFace/
│   │   │   │   │   ├── ChatCompletion/
│   │   │   │   │   │   └── HuggingFaceChatCompletionTests.cs
│   │   │   │   │   ├── EmbeddingGeneration/
│   │   │   │   │   │   └── EmbeddingGenerationTests.cs
│   │   │   │   │   ├── HuggingFaceTestsBase.cs
│   │   │   │   │   └── TextGeneration/
│   │   │   │   │       └── HuggingFaceTextGenerationTests.cs
│   │   │   │   ├── MistralAI/
│   │   │   │   │   ├── ChatCompletion/
│   │   │   │   │   │   └── MistralAIChatCompletionTests.cs
│   │   │   │   │   └── TextEmbedding/
│   │   │   │   │       ├── MistralAIEmbeddingGeneratorTests.cs
│   │   │   │   │       └── MistralAITextEmbeddingTests.cs
│   │   │   │   ├── Ollama/
│   │   │   │   │   ├── OllamaChatClientIntegrationTests.cs
│   │   │   │   │   ├── OllamaChatCompletion_FunctionCallingTests.cs
│   │   │   │   │   ├── OllamaCompletionTests.cs
│   │   │   │   │   ├── OllamaTextEmbeddingTests.cs
│   │   │   │   │   └── OllamaTextGenerationTests.cs
│   │   │   │   ├── Onnx/
│   │   │   │   │   ├── BertOnnxTextEmbeddingGenerationServiceTests.cs
│   │   │   │   │   ├── OnnxRuntimeGenAIChatClientTests.cs
│   │   │   │   │   └── OnnxRuntimeGenAIChatCompletionServiceTests.cs
│   │   │   │   └── OpenAI/
│   │   │   │       ├── OpenAIAudioToTextTests.cs
│   │   │   │       ├── OpenAIChatClientTests.cs
│   │   │   │       ├── OpenAIChatClient_AutoFunctionChoiceBehaviorTests.cs
│   │   │   │       ├── OpenAIChatClient_NoneFunctionChoiceBehaviorTests.cs
│   │   │   │       ├── OpenAIChatClient_RequiredFunctionChoiceBehaviorTests.cs
│   │   │   │       ├── OpenAIChatCompletionTests.cs
│   │   │   │       ├── OpenAIChatCompletion_AutoFunctionChoiceBehaviorTests.cs
│   │   │   │       ├── OpenAIChatCompletion_FunctionCallingTests.cs
│   │   │   │       ├── OpenAIChatCompletion_NonStreamingTests.cs
│   │   │   │       ├── OpenAIChatCompletion_NoneFunctionChoiceBehaviorTests.cs
│   │   │   │       ├── OpenAIChatCompletion_RequiredFunctionChoiceBehaviorTests.cs
│   │   │   │       ├── OpenAIChatCompletion_StreamingTests.cs
│   │   │   │       ├── OpenAIEmbeddingGeneratorTests.cs
│   │   │   │       ├── OpenAITextEmbeddingTests.cs
│   │   │   │       ├── OpenAITextToAudioTests.cs
│   │   │   │       └── OpenAITextToImageTests.cs
│   │   │   ├── CrossLanguage/
│   │   │   │   ├── Data/
│   │   │   │   │   ├── LightBulbApi.json
│   │   │   │   │   ├── LightBulbApiTest.json
│   │   │   │   │   ├── PromptWithChatRolesStreamingTest.json
│   │   │   │   │   ├── PromptWithChatRolesTest-HB.yaml
│   │   │   │   │   ├── PromptWithChatRolesTest.json
│   │   │   │   │   ├── PromptWithComplexObjectsStreamingTest.json
│   │   │   │   │   ├── PromptWithComplexObjectsTest.json
│   │   │   │   │   ├── PromptWithHelperFunctionsStreamingTest.json
│   │   │   │   │   ├── PromptWithHelperFunctionsTest.json
│   │   │   │   │   ├── PromptWithSimpleVariableStreamingTest.json
│   │   │   │   │   ├── PromptWithSimpleVariableTest.json
│   │   │   │   │   ├── PromptWithSimpleVariableTest.yaml
│   │   │   │   │   ├── SimplePromptStreamingTest.json
│   │   │   │   │   ├── SimplePromptTest.json
│   │   │   │   │   └── SimplePromptTest.yaml
│   │   │   │   ├── KernelRequestTracer.cs
│   │   │   │   ├── OpenApiTest.cs
│   │   │   │   ├── PromptWithChatRolesTest.cs
│   │   │   │   ├── PromptWithComplexObjectsTest.cs
│   │   │   │   ├── PromptWithHelperFunctionsTest.cs
│   │   │   │   ├── PromptWithSimpleVariableTest.cs
│   │   │   │   ├── SimplePromptTest.cs
│   │   │   │   └── YamlPromptTest.cs
│   │   │   ├── Data/
│   │   │   │   ├── BaseTextSearchTests.cs
│   │   │   │   ├── BaseVectorStoreTextSearchTests.cs
│   │   │   │   └── VectorStoreExtensions.cs
│   │   │   ├── Extensions/
│   │   │   │   └── KernelFunctionExtensionsTests.cs
│   │   │   ├── Fakes/
│   │   │   │   ├── EmailPluginFake.cs
│   │   │   │   └── ThrowingEmailPluginFake.cs
│   │   │   ├── IntegrationTests.csproj
│   │   │   ├── Memory/
│   │   │   │   ├── Mem0ProviderTests.cs
│   │   │   │   └── WhiteboardProviderTests.cs
│   │   │   ├── Plugins/
│   │   │   │   ├── ContextualFunctionProviderTests.cs
│   │   │   │   ├── Core/
│   │   │   │   │   └── SessionsPythonPluginTests.cs
│   │   │   │   ├── OpenApi/
│   │   │   │   │   ├── OpenApiPluginsTests.cs
│   │   │   │   │   ├── RepairServiceTests.cs
│   │   │   │   │   ├── instacart-service.yaml
│   │   │   │   │   └── repair-service.json
│   │   │   │   ├── OpenApiManifest/
│   │   │   │   │   ├── ApiManifestKernelExtensionsTests.cs
│   │   │   │   │   ├── example-apimanifest-local.json
│   │   │   │   │   ├── example-apimanifest-repair-service.json
│   │   │   │   │   └── example-apimanifest.json
│   │   │   │   ├── SamplePluginsTests.cs
│   │   │   │   └── Web/
│   │   │   │       ├── Bing/
│   │   │   │       │   └── BingTextSearchTests.cs
│   │   │   │       ├── Google/
│   │   │   │       │   └── GoogleTextSearchTests.cs
│   │   │   │       ├── Tavily/
│   │   │   │       │   └── TavilyTextSearchTests.cs
│   │   │   │       └── WebFileDownloadPluginTests.cs
│   │   │   ├── PromptTests.cs
│   │   │   ├── README.md
│   │   │   ├── RedirectOutput.cs
│   │   │   ├── Resources/
│   │   │   │   └── gemini_cached_content.json
│   │   │   ├── TestData/
│   │   │   │   ├── SessionsPythonPlugin/
│   │   │   │   │   ├── file_to_upload_1.txt
│   │   │   │   │   └── file_to_upload_2.txt
│   │   │   │   ├── semantic-kernel-info.txt
│   │   │   │   ├── serializedChatHistoryV1_15_1.json
│   │   │   │   └── test_content.txt
│   │   │   ├── TestHelpers.cs
│   │   │   ├── TestSettings/
│   │   │   │   ├── AzureAIConfiguration.cs
│   │   │   │   ├── AzureAIInferenceConfiguration.cs
│   │   │   │   ├── AzureContainerAppSessionPoolConfiguration.cs
│   │   │   │   ├── AzureOpenAIConfiguration.cs
│   │   │   │   ├── BedrockAgentConfiguration.cs
│   │   │   │   ├── BingConfiguration.cs
│   │   │   │   ├── GoogleConfiguration.cs
│   │   │   │   ├── Mem0Configuration.cs
│   │   │   │   ├── Memory/
│   │   │   │   │   ├── AzureAISearchConfiguration.cs
│   │   │   │   │   └── AzureAISearchSetup.psm1
│   │   │   │   ├── OllamaConfiguration.cs
│   │   │   │   ├── OnnxConfiguration.cs
│   │   │   │   ├── OpenAIConfiguration.cs
│   │   │   │   └── TavilyConfiguration.cs
│   │   │   ├── WebPlugin/
│   │   │   │   └── WebPluginTests.cs
│   │   │   ├── XunitLogger.cs
│   │   │   ├── prompts/
│   │   │   │   ├── GenerateStory.yaml
│   │   │   │   └── GenerateStoryHandlebars.yaml
│   │   │   ├── skills/
│   │   │   │   └── FunSkill/
│   │   │   │       └── Joke/
│   │   │   │           ├── config.json
│   │   │   │           └── skprompt.txt
│   │   │   └── testsettings.json
│   │   ├── InternalUtilities/
│   │   │   ├── agents/
│   │   │   │   ├── AgentUtilities.props
│   │   │   │   └── Extensions/
│   │   │   │       ├── AgentExtensions.cs
│   │   │   │       └── KernelFunctionMetadataExtensions.cs
│   │   │   ├── arguments/
│   │   │   │   └── Extensions/
│   │   │   │       └── KernelArgumentsExtensions.cs
│   │   │   ├── azure/
│   │   │   │   ├── AzureAIUtilities.props
│   │   │   │   ├── Policies/
│   │   │   │   │   └── GeneratedActionPipelinePolicy.cs
│   │   │   │   └── workflow/
│   │   │   │       ├── ClientOptions.cs
│   │   │   │       └── UriExtensions.cs
│   │   │   ├── connectors/
│   │   │   │   ├── AI/
│   │   │   │   │   └── FunctionCalling/
│   │   │   │   │       ├── FunctionCallingUtilities.props
│   │   │   │   │       ├── FunctionCallsProcessor.cs
│   │   │   │   │       └── FunctionCallsProcessorLoggerExtensions.cs
│   │   │   │   └── Memory/
│   │   │   │       └── MongoDB/
│   │   │   │           ├── BsonValueFactory.cs
│   │   │   │           ├── ErrorHandlingAsyncCursor.cs
│   │   │   │           ├── IMongoMapper.cs
│   │   │   │           ├── MongoConstants.cs
│   │   │   │           ├── MongoDynamicMapper.cs
│   │   │   │           ├── MongoMapper.cs
│   │   │   │           └── MongoModelBuilder.cs
│   │   │   ├── meai/
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── ChatMessageExtensions.cs
│   │   │   │   └── MEAIUtilities.props
│   │   │   ├── openai/
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── ClientResultExceptionExtensions.cs
│   │   │   │   ├── OpenAIUtilities.props
│   │   │   │   └── Policies/
│   │   │   │       └── GeneratedActionPipelinePolicy.cs
│   │   │   ├── planning/
│   │   │   │   ├── Exceptions/
│   │   │   │   │   └── PlanCreationException.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── ChatHistoryExtensions.cs
│   │   │   │   │   ├── KernelFunctionMetadataExtensions.cs
│   │   │   │   │   └── ReadOnlyFunctionCollectionPlannerExtensions.cs
│   │   │   │   ├── PlannerInstrumentation.cs
│   │   │   │   ├── PlannerOptions.cs
│   │   │   │   ├── PlanningUtilities.props
│   │   │   │   ├── Schema/
│   │   │   │   │   ├── JsonSchemaFunctionContent.cs
│   │   │   │   │   ├── JsonSchemaFunctionParameters.cs
│   │   │   │   │   ├── JsonSchemaFunctionResponse.cs
│   │   │   │   │   ├── JsonSchemaFunctionView.cs
│   │   │   │   │   └── JsonSchemaResponse.cs
│   │   │   │   └── SemanticMemoryConfig.cs
│   │   │   ├── process/
│   │   │   │   ├── Abstractions/
│   │   │   │   │   ├── DeclarativeConditionEvaluation.cs
│   │   │   │   │   ├── ExceptionExtensions.cs
│   │   │   │   │   ├── KernelProcessStateMetadataFactory.cs
│   │   │   │   │   ├── KernelProcessStepExtension.cs
│   │   │   │   │   ├── MapExtensions.cs
│   │   │   │   │   ├── ProcessConstants.cs
│   │   │   │   │   ├── ProcessExtensions.cs
│   │   │   │   │   ├── ProcessStateManager.cs
│   │   │   │   │   └── StepExtensions.cs
│   │   │   │   ├── InternalUtilities.props
│   │   │   │   ├── Runtime/
│   │   │   │   │   ├── AgentFactoryFactory.cs
│   │   │   │   │   ├── AgentThreadFactory.cs
│   │   │   │   │   ├── KernelProcessAgentExecutor_Internal.cs
│   │   │   │   │   ├── KernelProcessProxyMessageFactory.cs
│   │   │   │   │   ├── MapExtensions.cs
│   │   │   │   │   ├── ProcessEvent.cs
│   │   │   │   │   ├── ProcessMessage.cs
│   │   │   │   │   └── ProcessMessageFactory.cs
│   │   │   │   ├── RuntimeUtilities.props
│   │   │   │   ├── TestsShared/
│   │   │   │   │   ├── CloudEvents/
│   │   │   │   │   │   ├── MockCloudEventClient.cs
│   │   │   │   │   │   └── MockCloudEventData.cs
│   │   │   │   │   ├── Services/
│   │   │   │   │   │   ├── CounterService.cs
│   │   │   │   │   │   └── ICounterService.cs
│   │   │   │   │   ├── Setup/
│   │   │   │   │   │   └── KernelSetup.cs
│   │   │   │   │   └── Steps/
│   │   │   │   │       └── CommonSteps.cs
│   │   │   │   └── TestsSharedComponents.props
│   │   │   ├── samples/
│   │   │   │   ├── AgentUtilities/
│   │   │   │   │   ├── BaseAgentsTest.cs
│   │   │   │   │   ├── BaseAssistantTest.cs
│   │   │   │   │   ├── BaseAzureAgentTest.cs
│   │   │   │   │   ├── BaseAzureTest.cs
│   │   │   │   │   ├── BaseBedrockAgentTest.cs
│   │   │   │   │   ├── BaseOrchestrationTest.cs
│   │   │   │   │   └── BaseResponsesAgentTest.cs
│   │   │   │   ├── InternalUtilities/
│   │   │   │   │   ├── BaseTest.cs
│   │   │   │   │   ├── ConfigurationNotFoundException.cs
│   │   │   │   │   ├── EmbeddedResource.cs
│   │   │   │   │   ├── EnumerableExtensions.cs
│   │   │   │   │   ├── Env.cs
│   │   │   │   │   ├── JsonResultTranslator.cs
│   │   │   │   │   ├── ObjectExtensions.cs
│   │   │   │   │   ├── RepoFiles.cs
│   │   │   │   │   ├── StringExtensions.cs
│   │   │   │   │   ├── TestConfiguration.cs
│   │   │   │   │   ├── TextOutputHelperExtensions.cs
│   │   │   │   │   ├── XunitLogger.cs
│   │   │   │   │   └── YourAppException.cs
│   │   │   │   └── SamplesInternalUtilities.props
│   │   │   ├── src/
│   │   │   │   ├── Data/
│   │   │   │   │   └── VectorStoreErrorHandler.cs
│   │   │   │   ├── Diagnostics/
│   │   │   │   │   ├── ActivityExtensions.cs
│   │   │   │   │   ├── CompilerServicesAttributes.cs
│   │   │   │   │   ├── DynamicallyAccessedMembersAttribute.cs
│   │   │   │   │   ├── ExceptionExtensions.cs
│   │   │   │   │   ├── ExperimentalAttribute.cs
│   │   │   │   │   ├── IsExternalInit.cs
│   │   │   │   │   ├── KernelVerify.cs
│   │   │   │   │   ├── LoggingExtensions.cs
│   │   │   │   │   ├── ModelDiagnostics.cs
│   │   │   │   │   ├── NullableAttributes.cs
│   │   │   │   │   ├── RequiresDynamicCodeAttribute.cs
│   │   │   │   │   ├── RequiresUnreferencedCodeAttribute.cs
│   │   │   │   │   ├── Throw.cs
│   │   │   │   │   ├── UnconditionalSuppressMessageAttribute.cs
│   │   │   │   │   ├── UnreachableException.cs
│   │   │   │   │   └── Verify.cs
│   │   │   │   ├── EmptyCollections/
│   │   │   │   │   ├── EmptyReadonlyDictionary.cs
│   │   │   │   │   └── EmptyReadonlyList.cs
│   │   │   │   ├── Functions/
│   │   │   │   │   └── FunctionName.cs
│   │   │   │   ├── Http/
│   │   │   │   │   ├── HttpClientExtensions.cs
│   │   │   │   │   ├── HttpClientProvider.cs
│   │   │   │   │   ├── HttpContentExtensions.cs
│   │   │   │   │   ├── HttpContentPolyfills.cs
│   │   │   │   │   ├── HttpHeaderConstant.cs
│   │   │   │   │   ├── HttpRequest.cs
│   │   │   │   │   └── HttpResponseStream.cs
│   │   │   │   ├── InternalUtilities.props
│   │   │   │   ├── Linq/
│   │   │   │   │   └── EnumerableExtensions.cs
│   │   │   │   ├── Model/
│   │   │   │   │   └── Freezable.cs
│   │   │   │   ├── RestrictedInternalUtilities.props
│   │   │   │   ├── Schema/
│   │   │   │   │   └── KernelJsonSchemaBuilder.cs
│   │   │   │   ├── System/
│   │   │   │   │   ├── AppContextSwitchHelper.cs
│   │   │   │   │   ├── EmptyKeyedServiceProvider.cs
│   │   │   │   │   ├── EnvExtensions.cs
│   │   │   │   │   ├── IListExtensions.cs
│   │   │   │   │   ├── InternalTypeConverter.cs
│   │   │   │   │   ├── NonNullCollection.cs
│   │   │   │   │   ├── TypeConverterFactory.cs
│   │   │   │   │   └── ValueTaskExtensions.cs
│   │   │   │   ├── Text/
│   │   │   │   │   ├── BoolJsonConverter.cs
│   │   │   │   │   ├── DataUriParser.cs
│   │   │   │   │   ├── ExceptionJsonConverter.cs
│   │   │   │   │   ├── JsonOptionsCache.cs
│   │   │   │   │   ├── OptionalBoolJsonConverter.cs
│   │   │   │   │   ├── SseData.cs
│   │   │   │   │   ├── SseJsonParser.cs
│   │   │   │   │   ├── SseLine.cs
│   │   │   │   │   ├── SseReader.cs
│   │   │   │   │   └── StreamJsonParser.cs
│   │   │   │   └── Type/
│   │   │   │       └── TypeExtensions.cs
│   │   │   └── test/
│   │   │       ├── AssertExtensions.cs
│   │   │       ├── HttpMessageHandlerStub.cs
│   │   │       ├── MoqExtensions.cs
│   │   │       ├── MultipleHttpMessageHandlerStub.cs
│   │   │       └── TestInternalUtilities.props
│   │   ├── Plugins/
│   │   │   ├── Plugins.AI/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── CrewAI/
│   │   │   │   │   ├── Client/
│   │   │   │   │   │   ├── CrewAIEnterpriseClient.cs
│   │   │   │   │   │   └── CrewAIStateEnumConverter.cs
│   │   │   │   │   ├── CrewAIEnterprise.cs
│   │   │   │   │   ├── CrewAIInputMetadata.cs
│   │   │   │   │   └── Models/
│   │   │   │   │       ├── CrewAIKickoffResponse.cs
│   │   │   │   │       ├── CrewAIKickoffState.cs
│   │   │   │   │       ├── CrewAIRequiredInputs.cs
│   │   │   │   │       └── CrewAIStatusResponse.cs
│   │   │   │   └── Plugins.AI.csproj
│   │   │   ├── Plugins.AI.UnitTests/
│   │   │   │   ├── CrewAI/
│   │   │   │   │   ├── CrewAIEnterpriseClientTests.cs
│   │   │   │   │   ├── CrewAIEnterpriseTests.cs
│   │   │   │   │   └── MockHttpClientFactory.cs
│   │   │   │   └── Plugins.AI.UnitTests.csproj
│   │   │   ├── Plugins.Core/
│   │   │   │   ├── CodeInterpreter/
│   │   │   │   │   ├── SessionsPythonCodeExecutionProperties.cs
│   │   │   │   │   ├── SessionsPythonCodeExecutionResult.cs
│   │   │   │   │   ├── SessionsPythonPlugin.cs
│   │   │   │   │   ├── SessionsPythonSettings.cs
│   │   │   │   │   └── SessionsRemoteFileMetadata.cs
│   │   │   │   ├── ConversationSummaryPlugin.cs
│   │   │   │   ├── FileIOPlugin.cs
│   │   │   │   ├── HttpPlugin.cs
│   │   │   │   ├── Plugins.Core.csproj
│   │   │   │   ├── PromptFunctionConstants.cs
│   │   │   │   ├── TextPlugin.cs
│   │   │   │   └── TimePlugin.cs
│   │   │   ├── Plugins.Document/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── DocumentPlugin.cs
│   │   │   │   ├── FileSystem/
│   │   │   │   │   ├── IFileSystemConnector.cs
│   │   │   │   │   └── LocalFileSystemConnector.cs
│   │   │   │   ├── IDocumentConnector.cs
│   │   │   │   ├── OpenXml/
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   └── WordprocessingDocumentEx.cs
│   │   │   │   │   └── WordDocumentConnector.cs
│   │   │   │   └── Plugins.Document.csproj
│   │   │   ├── Plugins.Memory/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── Collections/
│   │   │   │   │   ├── MinHeap.cs
│   │   │   │   │   ├── ScoredValue.cs
│   │   │   │   │   └── TopNCollection.cs
│   │   │   │   ├── Plugins.Memory.csproj
│   │   │   │   ├── TextMemoryPlugin.cs
│   │   │   │   └── VolatileMemoryStore.cs
│   │   │   ├── Plugins.MsGraph/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── CalendarPlugin.cs
│   │   │   │   ├── CloudDrivePlugin.cs
│   │   │   │   ├── Connectors/
│   │   │   │   │   ├── Client/
│   │   │   │   │   │   ├── MsGraphClientLoggingHandler.cs
│   │   │   │   │   │   └── MsGraphConfiguration.cs
│   │   │   │   │   ├── CredentialManagers/
│   │   │   │   │   │   └── LocalUserMSALCredentialManager.cs
│   │   │   │   │   ├── Diagnostics/
│   │   │   │   │   │   └── Ensure.cs
│   │   │   │   │   ├── MicrosoftGraphModelExtensions.cs
│   │   │   │   │   ├── MicrosoftToDoConnector.cs
│   │   │   │   │   ├── OneDriveConnector.cs
│   │   │   │   │   ├── OrganizationHierarchyConnector.cs
│   │   │   │   │   ├── OutlookCalendarConnector.cs
│   │   │   │   │   └── OutlookMailConnector.cs
│   │   │   │   ├── Diagnostics/
│   │   │   │   │   └── Ensure.cs
│   │   │   │   ├── EmailPlugin.cs
│   │   │   │   ├── ICalendarConnector.cs
│   │   │   │   ├── ICloudDriveConnector.cs
│   │   │   │   ├── IEmailConnector.cs
│   │   │   │   ├── IOrganizationHierarchyConnector.cs
│   │   │   │   ├── ITaskManagementConnector.cs
│   │   │   │   ├── Models/
│   │   │   │   │   ├── CalendarEvent.cs
│   │   │   │   │   ├── EmailAddress.cs
│   │   │   │   │   ├── EmailMessage.cs
│   │   │   │   │   ├── TaskManagementTask.cs
│   │   │   │   │   └── TaskManagementTaskList.cs
│   │   │   │   ├── OrganizationHierarchyPlugin.cs
│   │   │   │   ├── Plugins.MsGraph.csproj
│   │   │   │   └── TaskListPlugin.cs
│   │   │   ├── Plugins.StructuredData.EntityFramework/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── Plugins.StructuredData.EntityFramework.csproj
│   │   │   │   ├── StructuredDataOperation.cs
│   │   │   │   ├── StructuredDataPluginFactory.cs
│   │   │   │   ├── StructuredDataService.cs
│   │   │   │   └── StructuredDataServiceExtensions.cs
│   │   │   ├── Plugins.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── Core/
│   │   │   │   │   ├── FileIOPluginTests.cs
│   │   │   │   │   ├── HttpPluginTests.cs
│   │   │   │   │   ├── SessionsPythonCodeExecutionResultTests.cs
│   │   │   │   │   ├── SessionsPythonPluginTests.cs
│   │   │   │   │   ├── TextPluginTests.cs
│   │   │   │   │   └── TimePluginTests.cs
│   │   │   │   ├── Document/
│   │   │   │   │   └── DocumentPluginTests.cs
│   │   │   │   ├── Memory/
│   │   │   │   │   ├── MemoryBuilderTests.cs
│   │   │   │   │   └── VolatileMemoryStoreTests.cs
│   │   │   │   ├── MsGraph/
│   │   │   │   │   ├── CalendarPluginTests.cs
│   │   │   │   │   ├── CloudDrivePluginTests.cs
│   │   │   │   │   ├── EmailPluginTests.cs
│   │   │   │   │   ├── OrganizationHierarchyPluginTests.cs
│   │   │   │   │   └── TaskListPluginTests.cs
│   │   │   │   ├── Plugins.UnitTests.csproj
│   │   │   │   ├── StructuredData/
│   │   │   │   │   └── StructuredDataServiceTests.cs
│   │   │   │   ├── TestData/
│   │   │   │   │   ├── bing_site_filter_devblogs_microsoft.com.json
│   │   │   │   │   ├── bing_what_is_the_semantic_kernel.json
│   │   │   │   │   ├── brave_site_filter_what_is_the_semantic_kernel.json
│   │   │   │   │   ├── brave_what_is_the_semantic_kernel.json
│   │   │   │   │   ├── google_site_filter_devblogs_microsoft.com.json
│   │   │   │   │   ├── google_what_is_the_semantic_kernel.json
│   │   │   │   │   ├── sessions_python_plugin_code_execution.json
│   │   │   │   │   ├── sessions_python_plugin_file.txt
│   │   │   │   │   ├── sessions_python_plugin_file_list.json
│   │   │   │   │   ├── sessions_python_plugin_file_upload.json
│   │   │   │   │   ├── tavily_site_filter_devblogs_microsoft.com.json
│   │   │   │   │   └── tavily_what_is_the_semantic_kernel.json
│   │   │   │   └── Web/
│   │   │   │       ├── Bing/
│   │   │   │       │   └── BingTextSearchTests.cs
│   │   │   │       ├── Brave/
│   │   │   │       │   └── BraveTextSearchTests.cs
│   │   │   │       ├── Google/
│   │   │   │       │   └── GoogleTextSearchTests.cs
│   │   │   │       ├── SearchUrlSkillTests.cs
│   │   │   │       ├── Tavily/
│   │   │   │       │   └── TavilyTextSearchTests.cs
│   │   │   │       ├── WebFileDownloadPluginTests.cs
│   │   │   │       └── WebSearchEngineSkillTests.cs
│   │   │   └── Plugins.Web/
│   │   │       ├── AssemblyInfo.cs
│   │   │       ├── Bing/
│   │   │       │   ├── BingConnector.cs
│   │   │       │   ├── BingMetaTag.cs
│   │   │       │   ├── BingOpenGraphImage.cs
│   │   │       │   ├── BingSearchResponse.cs
│   │   │       │   ├── BingTextSearch.cs
│   │   │       │   ├── BingTextSearchOptions.cs
│   │   │       │   └── BingWebPage.cs
│   │   │       ├── Brave/
│   │   │       │   ├── BraveConnector.cs
│   │   │       │   ├── BraveSearchResponse.cs
│   │   │       │   ├── BraveTextSearch.cs
│   │   │       │   ├── BraveTextSearchOptions.cs
│   │   │       │   ├── BraveWebPage.cs
│   │   │       │   └── BraveWebResult.cs
│   │   │       ├── Google/
│   │   │       │   ├── GoogleConnector.cs
│   │   │       │   ├── GoogleTextSearch.cs
│   │   │       │   ├── GoogleTextSearchOptions.cs
│   │   │       │   └── GoogleWebPage.cs
│   │   │       ├── IWebSearchEngineConnector.cs
│   │   │       ├── Plugins.Web.csproj
│   │   │       ├── SearchUrlPlugin.cs
│   │   │       ├── Tavily/
│   │   │       │   ├── TavilyImageResult.cs
│   │   │       │   ├── TavilySearchDepth.cs
│   │   │       │   ├── TavilySearchRequest.cs
│   │   │       │   ├── TavilySearchResponse.cs
│   │   │       │   ├── TavilySearchResult.cs
│   │   │       │   ├── TavilyTextSearch.cs
│   │   │       │   ├── TavilyTextSearchOptions.cs
│   │   │       │   └── TavilyWebPage.cs
│   │   │       ├── WebFileDownloadPlugin.cs
│   │   │       ├── WebKernelBuilderExtensions.cs
│   │   │       ├── WebPage.cs
│   │   │       ├── WebSearchEnginePlugin.cs
│   │   │       └── WebServiceCollectionExtensions.cs
│   │   ├── SemanticKernel.Abstractions/
│   │   │   ├── AI/
│   │   │   │   ├── AudioToText/
│   │   │   │   │   ├── AudioToTextServiceExtensions.cs
│   │   │   │   │   └── IAudioToTextService.cs
│   │   │   │   ├── ChatClient/
│   │   │   │   │   ├── ChatClientAIService.cs
│   │   │   │   │   ├── ChatClientExtensions.cs
│   │   │   │   │   ├── ChatOptionsExtensions.cs
│   │   │   │   │   ├── ChatResponseUpdateExtensions.cs
│   │   │   │   │   ├── KernelChatOptions.cs
│   │   │   │   │   ├── KernelFunctionInvokingChatClient.cs
│   │   │   │   │   └── KernelFunctionInvokingChatClientBuilderExtensions.cs
│   │   │   │   ├── ChatCompletion/
│   │   │   │   │   ├── AIFunctionArgumentsExtensions.cs
│   │   │   │   │   ├── AIFunctionExtensions.cs
│   │   │   │   │   ├── AIFunctionKernelFunction.cs
│   │   │   │   │   ├── AuthorRole.cs
│   │   │   │   │   ├── ChatClientChatCompletionService.cs
│   │   │   │   │   ├── ChatCompletionServiceChatClient.cs
│   │   │   │   │   ├── ChatCompletionServiceExtensions.cs
│   │   │   │   │   ├── ChatHistory.cs
│   │   │   │   │   ├── ChatHistoryExtensions.cs
│   │   │   │   │   ├── ChatMessageContentItemCollection.cs
│   │   │   │   │   ├── ChatPromptParser.cs
│   │   │   │   │   ├── IChatCompletionService.cs
│   │   │   │   │   ├── IChatHistoryReducer.cs
│   │   │   │   │   └── StreamingKernelContentItemCollection.cs
│   │   │   │   ├── Embeddings/
│   │   │   │   │   ├── EmbeddingGenerationServiceExtensions.cs
│   │   │   │   │   ├── IEmbeddingGenerationService.cs
│   │   │   │   │   └── ITextEmbeddingGenerationService.cs
│   │   │   │   ├── FunctionChoiceBehaviors/
│   │   │   │   │   ├── AutoFunctionChoiceBehavior.cs
│   │   │   │   │   ├── FunctionChoice.cs
│   │   │   │   │   ├── FunctionChoiceBehavior.cs
│   │   │   │   │   ├── FunctionChoiceBehaviorConfiguration.cs
│   │   │   │   │   ├── FunctionChoiceBehaviorConfigurationContext.cs
│   │   │   │   │   ├── FunctionChoiceBehaviorOptions.cs
│   │   │   │   │   ├── NoneFunctionChoiceBehavior.cs
│   │   │   │   │   └── RequiredFunctionChoiceBehavior.cs
│   │   │   │   ├── ImageToText/
│   │   │   │   │   ├── IImageToTextService.cs
│   │   │   │   │   └── ImageToTextExtensions.cs
│   │   │   │   ├── PromptExecutionSettings.cs
│   │   │   │   ├── PromptExecutionSettingsExtensions.cs
│   │   │   │   ├── PromptNode.cs
│   │   │   │   ├── TextGeneration/
│   │   │   │   │   ├── ITextGenerationService.cs
│   │   │   │   │   └── TextGenerationExtensions.cs
│   │   │   │   ├── TextToAudio/
│   │   │   │   │   ├── ITextToAudioService.cs
│   │   │   │   │   └── TextToAudioServiceExtensions.cs
│   │   │   │   ├── TextToImage/
│   │   │   │   │   ├── ITextToImageService.cs
│   │   │   │   │   └── TextToImageServiceExtensions.cs
│   │   │   │   └── XmlPromptParser.cs
│   │   │   ├── AbstractionsJsonContext.cs
│   │   │   ├── Contents/
│   │   │   │   ├── ActionContent.cs
│   │   │   │   ├── AnnotationContent.cs
│   │   │   │   ├── AnnotationKind.cs
│   │   │   │   ├── AudioContent.cs
│   │   │   │   ├── BinaryContent.cs
│   │   │   │   ├── ChatMessageContent.cs
│   │   │   │   ├── ChatMessageContentExtensions.cs
│   │   │   │   ├── FileReferenceContent.cs
│   │   │   │   ├── FunctionCallContent.cs
│   │   │   │   ├── FunctionCallContentBuilder.cs
│   │   │   │   ├── FunctionResultContent.cs
│   │   │   │   ├── ImageContent.cs
│   │   │   │   ├── KernelContent.cs
│   │   │   │   ├── ReasoningContent.cs
│   │   │   │   ├── StreamingActionContent.cs
│   │   │   │   ├── StreamingAnnotationContent.cs
│   │   │   │   ├── StreamingChatMessageContent.cs
│   │   │   │   ├── StreamingChatMessageContentExtensions.cs
│   │   │   │   ├── StreamingFileReferenceContent.cs
│   │   │   │   ├── StreamingFunctionCallUpdateContent.cs
│   │   │   │   ├── StreamingKernelContent.cs
│   │   │   │   ├── StreamingReasoningContent.cs
│   │   │   │   ├── StreamingTextContent.cs
│   │   │   │   └── TextContent.cs
│   │   │   ├── Data/
│   │   │   │   └── TextSearch/
│   │   │   │       ├── ITextSearch.cs
│   │   │   │       ├── ITextSearchResultMapper.cs
│   │   │   │       ├── ITextSearchStringMapper.cs
│   │   │   │       ├── KernelSearchResults.cs
│   │   │   │       ├── TextSearchFilter.cs
│   │   │   │       ├── TextSearchOptions.cs
│   │   │   │       ├── TextSearchResult.cs
│   │   │   │       ├── TextSearchResultLinkAttribute.cs
│   │   │   │       ├── TextSearchResultNameAttribute.cs
│   │   │   │       └── TextSearchResultValueAttribute.cs
│   │   │   ├── Events/
│   │   │   │   ├── CancelKernelEventArgs.cs
│   │   │   │   ├── FunctionInvokedEventArgs.cs
│   │   │   │   ├── FunctionInvokingEventArgs.cs
│   │   │   │   ├── KernelEventArgs.cs
│   │   │   │   ├── PromptRenderedEventArgs.cs
│   │   │   │   └── PromptRenderingEventArgs.cs
│   │   │   ├── Filters/
│   │   │   │   ├── AutoFunctionInvocation/
│   │   │   │   │   ├── AutoFunctionInvocationContext.cs
│   │   │   │   │   └── IAutoFunctionInvocationFilter.cs
│   │   │   │   ├── Function/
│   │   │   │   │   ├── FunctionInvocationContext.cs
│   │   │   │   │   └── IFunctionInvocationFilter.cs
│   │   │   │   └── Prompt/
│   │   │   │       ├── IPromptRenderFilter.cs
│   │   │   │       └── PromptRenderContext.cs
│   │   │   ├── Functions/
│   │   │   │   ├── FromKernelServicesAttribute.cs
│   │   │   │   ├── FullyQualifiedAIFunction.cs
│   │   │   │   ├── FunctionResult.cs
│   │   │   │   ├── IReadOnlyKernelPluginCollection.cs
│   │   │   │   ├── KernelArguments.cs
│   │   │   │   ├── KernelFunction.cs
│   │   │   │   ├── KernelFunctionAttribute.cs
│   │   │   │   ├── KernelFunctionCanceledException.cs
│   │   │   │   ├── KernelFunctionExtensions.cs
│   │   │   │   ├── KernelFunctionLogMessages.cs
│   │   │   │   ├── KernelFunctionMetadata.cs
│   │   │   │   ├── KernelFunctionNoop.cs
│   │   │   │   ├── KernelFunctionSchemaModel.cs
│   │   │   │   ├── KernelJsonSchema.cs
│   │   │   │   ├── KernelParameterMetadata.cs
│   │   │   │   ├── KernelPlugin.cs
│   │   │   │   ├── KernelPluginCollection.cs
│   │   │   │   ├── KernelPluginExtensions.cs
│   │   │   │   ├── KernelReturnParameterMetadata.cs
│   │   │   │   ├── RestApiOperationResponse.cs
│   │   │   │   └── RestApiOperationResponseConverter.cs
│   │   │   ├── Http/
│   │   │   │   └── HttpOperationException.cs
│   │   │   ├── IKernelBuilder.cs
│   │   │   ├── Kernel.cs
│   │   │   ├── KernelBuilder.cs
│   │   │   ├── KernelException.cs
│   │   │   ├── Memory/
│   │   │   │   ├── AIContext.cs
│   │   │   │   ├── AIContextProvider.cs
│   │   │   │   ├── AggregateAIContextProvider.cs
│   │   │   │   ├── AggregateAIContextProviderExtensions.cs
│   │   │   │   ├── DataEntryBase.cs
│   │   │   │   ├── IMemoryStore.cs
│   │   │   │   ├── ISemanticTextMemory.cs
│   │   │   │   ├── MemoryQueryResult.cs
│   │   │   │   ├── MemoryRecord.cs
│   │   │   │   ├── MemoryRecordMetadata.cs
│   │   │   │   └── NullMemory.cs
│   │   │   ├── PromptTemplate/
│   │   │   │   ├── IPromptTemplate.cs
│   │   │   │   ├── IPromptTemplateFactory.cs
│   │   │   │   ├── InputVariable.cs
│   │   │   │   ├── OutputVariable.cs
│   │   │   │   ├── PromptTemplateConfig.cs
│   │   │   │   ├── PromptTemplateFactoryExtensions.cs
│   │   │   │   └── TemplateOptions.cs
│   │   │   ├── SemanticKernel.Abstractions.csproj
│   │   │   ├── Services/
│   │   │   │   ├── AIServiceExtensions.cs
│   │   │   │   ├── EmptyServiceProvider.cs
│   │   │   │   ├── IAIService.cs
│   │   │   │   ├── IAIServiceSelector.cs
│   │   │   │   ├── IChatClientSelector.cs
│   │   │   │   ├── KernelServiceCollectionExtensions.cs
│   │   │   │   └── OrderedAIServiceSelector.cs
│   │   │   └── Text/
│   │   │       ├── JsonElementJsonSerializerContext.cs
│   │   │       └── MemoryRecordMetadataJsonSerializerContext.cs
│   │   ├── SemanticKernel.AotTests/
│   │   │   ├── JsonSerializerContexts/
│   │   │   │   ├── CustomResultJsonSerializerContext.cs
│   │   │   │   ├── LocationJsonSerializerContext.cs
│   │   │   │   └── WeatherJsonSerializerContext.cs
│   │   │   ├── Plugins/
│   │   │   │   ├── CustomResult.cs
│   │   │   │   ├── Location.cs
│   │   │   │   ├── Weather.cs
│   │   │   │   └── WeatherPlugin.cs
│   │   │   ├── Program.cs
│   │   │   ├── README.md
│   │   │   ├── SemanticKernel.AotTests.csproj
│   │   │   └── UnitTests/
│   │   │       ├── Core/
│   │   │       │   ├── Functions/
│   │   │       │   │   ├── KernelExtensions_InvokePromptTests.cs
│   │   │       │   │   ├── KernelExtensions_KernelFunctionTests.cs
│   │   │       │   │   ├── KernelFunctionFactoryTests.cs
│   │   │       │   │   ├── KernelFunctionFromMethodTests.cs
│   │   │       │   │   └── KernelFunctionMetadataFactoryTests.cs
│   │   │       │   ├── GetWeatherFunctionAsserts.cs
│   │   │       │   └── Plugins/
│   │   │       │       ├── KernelBuilderPluginsExtensionsTests.cs
│   │   │       │       ├── KernelExtensions_KernelPluginTests.cs
│   │   │       │       ├── KernelPluginExtensionsTests.cs
│   │   │       │       └── KernelPluginFactoryTests.cs
│   │   │       ├── PromptEchoChatCompletionService.cs
│   │   │       └── Search/
│   │   │           ├── MockTextSearch.cs
│   │   │           ├── MockVectorizableTextSearch.cs
│   │   │           ├── TextSearchExtensionsTests.cs
│   │   │           └── VectorStoreTextSearchTests.cs
│   │   ├── SemanticKernel.Core/
│   │   │   ├── AI/
│   │   │   │   └── ChatCompletion/
│   │   │   │       ├── ChatHistoryReducerExtensions.cs
│   │   │   │       ├── ChatHistorySummarizationReducer.cs
│   │   │   │       └── ChatHistoryTruncationReducer.cs
│   │   │   ├── Contents/
│   │   │   │   ├── BinaryContentExtensions.cs
│   │   │   │   └── StreamingMethodContent.cs
│   │   │   ├── Data/
│   │   │   │   ├── TextSearch/
│   │   │   │   │   ├── TextSearchExtensions.cs
│   │   │   │   │   ├── TextSearchKernelBuilderExtensions.cs
│   │   │   │   │   ├── TextSearchResultPropertyReader.cs
│   │   │   │   │   ├── TextSearchServiceCollectionExtensions.cs
│   │   │   │   │   ├── VectorStoreTextSearch.cs
│   │   │   │   │   └── VectorStoreTextSearchOptions.cs
│   │   │   │   ├── TextSearchBehavior/
│   │   │   │   │   ├── TextSearchProvider.cs
│   │   │   │   │   └── TextSearchProviderOptions.cs
│   │   │   │   └── TextSearchStore/
│   │   │   │       ├── TextSearchDocument.cs
│   │   │   │       ├── TextSearchStore.cs
│   │   │   │       ├── TextSearchStoreOptions.cs
│   │   │   │       ├── TextSearchStoreSourceRetrievalRequest.cs
│   │   │   │       ├── TextSearchStoreSourceRetrievalResponse.cs
│   │   │   │       └── TextSearchStoreUpsertOptions.cs
│   │   │   ├── Functions/
│   │   │   │   ├── ContextualSelection/
│   │   │   │   │   ├── ContextualFunctionProvider.cs
│   │   │   │   │   ├── ContextualFunctionProviderOptions.cs
│   │   │   │   │   ├── FunctionStore.cs
│   │   │   │   │   ├── FunctionStoreLoggingExtensions.cs
│   │   │   │   │   └── FunctionStoreOptions.cs
│   │   │   │   ├── DefaultKernelPlugin.cs
│   │   │   │   ├── KernelFunctionFactory.cs
│   │   │   │   ├── KernelFunctionFromMethod.cs
│   │   │   │   ├── KernelFunctionFromMethodOptions.cs
│   │   │   │   ├── KernelFunctionFromPrompt.cs
│   │   │   │   ├── KernelFunctionMetadataFactory.cs
│   │   │   │   ├── KernelPluginFactory.cs
│   │   │   │   └── PromptRenderingResult.cs
│   │   │   ├── KernelExtensions.cs
│   │   │   ├── Memory/
│   │   │   │   ├── AIContextExtensions.cs
│   │   │   │   ├── Mem0/
│   │   │   │   │   ├── Mem0Client.cs
│   │   │   │   │   ├── Mem0Provider.cs
│   │   │   │   │   └── Mem0ProviderOptions.cs
│   │   │   │   ├── MemoryBuilder.cs
│   │   │   │   ├── SemanticTextMemory.cs
│   │   │   │   └── Whiteboard/
│   │   │   │       ├── WhiteboardProvider.cs
│   │   │   │       └── WhiteboardProviderOptions.cs
│   │   │   ├── PromptTemplate/
│   │   │   │   ├── AggregatorPromptTemplateFactory.cs
│   │   │   │   ├── EchoPromptTemplate.cs
│   │   │   │   ├── EchoPromptTemplateFactory.cs
│   │   │   │   ├── KernelPromptTemplate.cs
│   │   │   │   └── KernelPromptTemplateFactory.cs
│   │   │   ├── SemanticKernel.Core.csproj
│   │   │   ├── TemplateEngine/
│   │   │   │   ├── Blocks/
│   │   │   │   │   ├── Block.cs
│   │   │   │   │   ├── BlockTypes.cs
│   │   │   │   │   ├── CodeBlock.cs
│   │   │   │   │   ├── FunctionIdBlock.cs
│   │   │   │   │   ├── ICodeRendering.cs
│   │   │   │   │   ├── ITextRendering.cs
│   │   │   │   │   ├── NamedArgBlock.cs
│   │   │   │   │   ├── Symbols.cs
│   │   │   │   │   ├── TextBlock.cs
│   │   │   │   │   ├── ValBlock.cs
│   │   │   │   │   └── VarBlock.cs
│   │   │   │   ├── CodeTokenizer.cs
│   │   │   │   └── TemplateTokenizer.cs
│   │   │   └── Text/
│   │   │       └── TextChunker.cs
│   │   ├── SemanticKernel.MetaPackage/
│   │   │   └── SemanticKernel.MetaPackage.csproj
│   │   ├── SemanticKernel.UnitTests/
│   │   │   ├── .editorconfig
│   │   │   ├── AI/
│   │   │   │   ├── ChatCompletion/
│   │   │   │   │   ├── AIFunctionKernelFunctionTests.cs
│   │   │   │   │   ├── ChatClientChatCompletionServiceConversionTests.cs
│   │   │   │   │   ├── ChatHistoryReducerExtensionsTests.cs
│   │   │   │   │   ├── ChatHistorySummarizationReducerTests.cs
│   │   │   │   │   ├── ChatHistoryTests.cs
│   │   │   │   │   ├── ChatHistoryTruncationReducerTests.cs
│   │   │   │   │   ├── MockChatHistoryGenerator.cs
│   │   │   │   │   └── StreamingKernelContentItemCollectionTests.cs
│   │   │   │   ├── FunctionChoiceBehaviors/
│   │   │   │   │   ├── AutoFunctionChoiceBehaviorTests.cs
│   │   │   │   │   ├── FunctionChoiceBehaviorDeserializationTests.cs
│   │   │   │   │   ├── FunctionChoiceBehaviorTests.cs
│   │   │   │   │   ├── FunctionChoiceTests.cs
│   │   │   │   │   ├── NoneFunctionChoiceBehaviorTests.cs
│   │   │   │   │   └── RequiredFunctionChoiceBehaviorTests.cs
│   │   │   │   ├── PromptExecutionSettingsTests.cs
│   │   │   │   └── ServiceConversionExtensionsTests.cs
│   │   │   ├── Contents/
│   │   │   │   ├── ActionContentTests.cs
│   │   │   │   ├── AnnotationContentTests.cs
│   │   │   │   ├── AudioContentTests.cs
│   │   │   │   ├── BinaryContentTests.cs
│   │   │   │   ├── ChatMessageContentTests.cs
│   │   │   │   ├── FileReferenceContentTests.cs
│   │   │   │   ├── FunctionCallBuilder/
│   │   │   │   │   ├── FunctionCallContentBuilderTests.cs
│   │   │   │   │   └── KernelArgumentsJsonSerializerContext.cs
│   │   │   │   ├── FunctionCallContentTests.cs
│   │   │   │   ├── FunctionResultContentTests.cs
│   │   │   │   ├── ImageContentTests.cs
│   │   │   │   ├── ReasoningContentTests.cs
│   │   │   │   ├── StreamingAnnotationContentTests.cs
│   │   │   │   ├── StreamingChatMessageContentTests.cs
│   │   │   │   └── StreamingFileReferenceContentTests.cs
│   │   │   ├── Data/
│   │   │   │   ├── MockTextSearch.cs
│   │   │   │   ├── TextSearchExtensionsTests.cs
│   │   │   │   ├── TextSearchProviderTests.cs
│   │   │   │   ├── TextSearchServiceCollectionExtensionsTests.cs
│   │   │   │   ├── TextSearchStoreTests.cs
│   │   │   │   ├── VectorStoreTextSearchTestBase.cs
│   │   │   │   └── VectorStoreTextSearchTests.cs
│   │   │   ├── Events/
│   │   │   │   └── FunctionInvokedEventArgsTests.cs
│   │   │   ├── Extensions/
│   │   │   │   ├── ChatMessageExtensionsTests.cs
│   │   │   │   └── ClientResultExceptionExtensionsTests.cs
│   │   │   ├── Filters/
│   │   │   │   ├── AutoFunctionInvocation/
│   │   │   │   │   └── AutoFunctionInvocationContextTests.cs
│   │   │   │   ├── FilterBaseTest.cs
│   │   │   │   ├── FunctionInvocationFilterTests.cs
│   │   │   │   ├── KernelFilterTests.cs
│   │   │   │   └── PromptRenderFilterTests.cs
│   │   │   ├── Functions/
│   │   │   │   ├── AIFunctionExtensionsTests.cs
│   │   │   │   ├── ContextualSelection/
│   │   │   │   │   ├── ContextualFunctionProviderTests.cs
│   │   │   │   │   └── FunctionStoreTests.cs
│   │   │   │   ├── CustomAIChatClientSelectorTests.cs
│   │   │   │   ├── CustomAIServiceSelectorTests.cs
│   │   │   │   ├── DefaultKernelPluginTests.cs
│   │   │   │   ├── FunctionFromMethodTests.cs
│   │   │   │   ├── FunctionResultTests.cs
│   │   │   │   ├── JsonSerializerContexts/
│   │   │   │   │   ├── PrimitiveTypesJsonSerializerContext.cs
│   │   │   │   │   ├── TestJsonSerializerOptionsForPrimitives.cs
│   │   │   │   │   ├── TestJsonSerializerOptionsForTestParameterAndReturnTypes.cs
│   │   │   │   │   ├── TestParameterType.cs
│   │   │   │   │   ├── TestParameterTypeJsonSerializerContext.cs
│   │   │   │   │   ├── TestReturnType.cs
│   │   │   │   │   └── TestReturnTypeJsonSerializerContext.cs
│   │   │   │   ├── KernelArgumentsTests.cs
│   │   │   │   ├── KernelBuilderTests.cs
│   │   │   │   ├── KernelExtensions_CreateAddAImportPluginsTests.cs
│   │   │   │   ├── KernelExtensions_CreateFunctionFromMethodTests.cs
│   │   │   │   ├── KernelExtensions_CreateFunctionFromPromptTests.cs
│   │   │   │   ├── KernelExtensions_InvokePromptTests.cs
│   │   │   │   ├── KernelFunctionCloneTests.cs
│   │   │   │   ├── KernelFunctionExtensionsTests.cs
│   │   │   │   ├── KernelFunctionFactory_CreateFromDelegateTests.cs
│   │   │   │   ├── KernelFunctionFactory_CreateFromMethodInfoTests.cs
│   │   │   │   ├── KernelFunctionFactory_CreateFromPromptTests.cs
│   │   │   │   ├── KernelFunctionFromMethodTests1.cs
│   │   │   │   ├── KernelFunctionFromMethodTests2.cs
│   │   │   │   ├── KernelFunctionFromPromptTests.cs
│   │   │   │   ├── KernelFunctionLogMessagesTests.cs
│   │   │   │   ├── KernelFunctionMetadataFactoryTests.cs
│   │   │   │   ├── KernelFunctionMetadataTests.cs
│   │   │   │   ├── KernelFunctionTests.cs
│   │   │   │   ├── KernelFunctionUnitTestStrategies.cs
│   │   │   │   ├── KernelJsonSchemaTests.cs
│   │   │   │   ├── KernelParameterMetadataTests.cs
│   │   │   │   ├── KernelPluginCollectionTests.cs
│   │   │   │   ├── KernelPluginFactoryTests.cs
│   │   │   │   ├── KernelPluginTests.cs
│   │   │   │   ├── KernelReturnParameterMetadataTests.cs
│   │   │   │   ├── MultipleModelTests.cs
│   │   │   │   └── OrderedAIServiceSelectorTests.cs
│   │   │   ├── HttpMessageHandlerStub.cs
│   │   │   ├── KernelExtensionsTests.cs
│   │   │   ├── KernelTests.cs
│   │   │   ├── Memory/
│   │   │   │   ├── AIContextProviderTests.cs
│   │   │   │   ├── AggregateAIContextProviderExtensionsTests.cs
│   │   │   │   ├── AggregateAIContextProviderTests.cs
│   │   │   │   ├── Mem0ProviderTests.cs
│   │   │   │   ├── MemoryRecordTests.cs
│   │   │   │   └── WhiteboardProviderTests.cs
│   │   │   ├── Prompt/
│   │   │   │   ├── ChatPromptParserTests.cs
│   │   │   │   └── XmlPromptParserTests.cs
│   │   │   ├── PromptTemplate/
│   │   │   │   ├── AggregatorPromptTemplateFactoryTests.cs
│   │   │   │   ├── EchoPromptTemplateTests.cs
│   │   │   │   ├── KernelPromptTemplateFactoryTests.cs
│   │   │   │   ├── KernelPromptTemplateTests.cs
│   │   │   │   └── PromptTemplateConfigTests.cs
│   │   │   ├── SemanticKernel.UnitTests.csproj
│   │   │   ├── TemplateEngine/
│   │   │   │   ├── Blocks/
│   │   │   │   │   ├── CodeBlockTests.cs
│   │   │   │   │   ├── FunctionIdBlockTests.cs
│   │   │   │   │   ├── NamedArgBlockTests.cs
│   │   │   │   │   ├── TextBlockTests.cs
│   │   │   │   │   ├── ValBlockTests.cs
│   │   │   │   │   └── VarBlockTests.cs
│   │   │   │   ├── CodeTokenizerTests.cs
│   │   │   │   └── TemplateTokenizerTests.cs
│   │   │   ├── Text/
│   │   │   │   ├── TextChunkerInternationalTests.VerifyShortStoryInLanguage_language=Arabic.txt
│   │   │   │   ├── TextChunkerInternationalTests.VerifyShortStoryInLanguage_language=Chinese.txt
│   │   │   │   ├── TextChunkerInternationalTests.VerifyShortStoryInLanguage_language=English.txt
│   │   │   │   ├── TextChunkerInternationalTests.VerifyShortStoryInLanguage_language=Japanese.txt
│   │   │   │   ├── TextChunkerInternationalTests.VerifyShortStoryInLanguage_language=Korean.txt
│   │   │   │   ├── TextChunkerInternationalTests.cs
│   │   │   │   └── TextChunkerTests.cs
│   │   │   ├── Utilities/
│   │   │   │   ├── AIConnectors/
│   │   │   │   │   └── FunctionCallsProcessorTests.cs
│   │   │   │   ├── ActivityExtensionsTests.cs
│   │   │   │   ├── DataUriParserTests.cs
│   │   │   │   ├── ExceptionConverterTests.cs
│   │   │   │   ├── FakeLogger.cs
│   │   │   │   ├── FunctionNameTests.cs
│   │   │   │   ├── HttpClientExtensionsTests.cs
│   │   │   │   ├── HttpContentExtensionsTests.cs
│   │   │   │   ├── IListExtensionsTests.cs
│   │   │   │   ├── InternalTypeConverterTests.cs
│   │   │   │   ├── KernelJsonSchemaBuilderTests.cs
│   │   │   │   ├── LoggingExtensionsTests.cs
│   │   │   │   ├── Model/
│   │   │   │   │   └── FreezableTests.cs
│   │   │   │   ├── OpenAI/
│   │   │   │   │   ├── GenericActionPipelinePolicyTests.cs
│   │   │   │   │   ├── MockPipelineResponse.cs
│   │   │   │   │   └── MockResponseHeaders.cs
│   │   │   │   ├── SseJsonParserTests.cs
│   │   │   │   ├── StreamJsonParserTests.cs
│   │   │   │   └── TypeExtensionsTests.cs
│   │   │   └── XunitHelpers/
│   │   │       └── TestConsoleLogger.cs
│   │   └── VectorData/
│   │       ├── AzureAISearch/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── AzureAISearch.csproj
│   │       │   ├── AzureAISearchCollection.cs
│   │       │   ├── AzureAISearchCollectionCreateMapping.cs
│   │       │   ├── AzureAISearchCollectionOptions.cs
│   │       │   ├── AzureAISearchCollectionSearchMapping.cs
│   │       │   ├── AzureAISearchConstants.cs
│   │       │   ├── AzureAISearchDynamicCollection.cs
│   │       │   ├── AzureAISearchDynamicMapper.cs
│   │       │   ├── AzureAISearchDynamicModelBuilder.cs
│   │       │   ├── AzureAISearchFilterTranslator.cs
│   │       │   ├── AzureAISearchMapper.cs
│   │       │   ├── AzureAISearchModelBuilder.cs
│   │       │   ├── AzureAISearchServiceCollectionExtensions.cs
│   │       │   ├── AzureAISearchVectorStore.cs
│   │       │   ├── AzureAISearchVectorStoreOptions.cs
│   │       │   └── IAzureAISearchMapper.cs
│   │       ├── Chroma/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── Chroma.csproj
│   │       │   ├── ChromaClient.cs
│   │       │   ├── ChromaMemoryBuilderExtensions.cs
│   │       │   ├── ChromaMemoryStore.cs
│   │       │   ├── Http/
│   │       │   │   └── ApiSchema/
│   │       │   │       ├── ChromaCollectionModel.cs
│   │       │   │       ├── ChromaEmbeddingsModel.cs
│   │       │   │       ├── ChromaQueryResultModel.cs
│   │       │   │       └── Internal/
│   │       │   │           ├── CreateCollectionRequest.cs
│   │       │   │           ├── DeleteCollectionRequest.cs
│   │       │   │           ├── DeleteEmbeddingsRequest.cs
│   │       │   │           ├── GetCollectionRequest.cs
│   │       │   │           ├── GetEmbeddingsRequest.cs
│   │       │   │           ├── ListCollectionsRequest.cs
│   │       │   │           ├── QueryEmbeddingsRequest.cs
│   │       │   │           └── UpsertEmbeddingsRequest.cs
│   │       │   ├── IChromaClient.cs
│   │       │   └── README.md
│   │       ├── Common/
│   │       │   └── SqlFilterTranslator.cs
│   │       ├── CosmosMongoDB/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── CosmosMongoCollection.cs
│   │       │   ├── CosmosMongoCollectionCreateMapping.cs
│   │       │   ├── CosmosMongoCollectionOptions.cs
│   │       │   ├── CosmosMongoCollectionSearchMapping.cs
│   │       │   ├── CosmosMongoConstants.cs
│   │       │   ├── CosmosMongoDB.csproj
│   │       │   ├── CosmosMongoDynamicCollection.cs
│   │       │   ├── CosmosMongoFilterTranslator.cs
│   │       │   ├── CosmosMongoServiceCollectionExtensions.cs
│   │       │   ├── CosmosMongoVectorStore.cs
│   │       │   └── CosmosMongoVectorStoreOptions.cs
│   │       ├── CosmosNoSql/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── ByteArrayJsonConverter.cs
│   │       │   ├── ClientWrapper.cs
│   │       │   ├── CosmosNoSql.csproj
│   │       │   ├── CosmosNoSqlCollection.cs
│   │       │   ├── CosmosNoSqlCollectionOptions.cs
│   │       │   ├── CosmosNoSqlCollectionQueryBuilder.cs
│   │       │   ├── CosmosNoSqlConstants.cs
│   │       │   ├── CosmosNoSqlDynamicCollection.cs
│   │       │   ├── CosmosNoSqlDynamicMapper.cs
│   │       │   ├── CosmosNoSqlFilterTranslator.cs
│   │       │   ├── CosmosNoSqlKey.cs
│   │       │   ├── CosmosNoSqlMapper.cs
│   │       │   ├── CosmosNoSqlModelBuilder.cs
│   │       │   ├── CosmosNoSqlServiceCollectionExtensions.cs
│   │       │   ├── CosmosNoSqlVectorStore.cs
│   │       │   ├── CosmosNoSqlVectorStoreOptions.cs
│   │       │   ├── ErrorHandlingFeedIterator.cs
│   │       │   └── ICosmosNoSQLMapper.cs
│   │       ├── Directory.Build.props
│   │       ├── InMemory/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── InMemory.csproj
│   │       │   ├── InMemoryCollection.cs
│   │       │   ├── InMemoryCollectionOptions.cs
│   │       │   ├── InMemoryCollectionSearchMapping.cs
│   │       │   ├── InMemoryConstants.cs
│   │       │   ├── InMemoryDynamicCollection.cs
│   │       │   ├── InMemoryModelBuilder.cs
│   │       │   ├── InMemoryRecordWrapper.cs
│   │       │   ├── InMemoryServiceCollectionExtensions.cs
│   │       │   ├── InMemoryVectorStore.cs
│   │       │   ├── InMemoryVectorStoreExtensions.cs
│   │       │   └── InMemoryVectorStoreOptions.cs
│   │       ├── Milvus/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── Milvus.csproj
│   │       │   ├── MilvusMemoryStore.cs
│   │       │   └── README.md
│   │       ├── MongoDB/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── MongoCollection.cs
│   │       │   ├── MongoCollectionCreateMapping.cs
│   │       │   ├── MongoCollectionOptions.cs
│   │       │   ├── MongoCollectionSearchMapping.cs
│   │       │   ├── MongoDB.csproj
│   │       │   ├── MongoDynamicCollection.cs
│   │       │   ├── MongoFilterTranslator.cs
│   │       │   ├── MongoServiceCollectionExtensions.cs
│   │       │   ├── MongoVectorStore.cs
│   │       │   ├── MongoVectorStoreOptions.cs
│   │       │   └── README.md
│   │       ├── PgVector/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── PgVector.csproj
│   │       │   ├── PostgresCollection.cs
│   │       │   ├── PostgresCollectionOptions.cs
│   │       │   ├── PostgresConstants.cs
│   │       │   ├── PostgresDbClient.cs
│   │       │   ├── PostgresDynamicCollection.cs
│   │       │   ├── PostgresFilterTranslator.cs
│   │       │   ├── PostgresMapper.cs
│   │       │   ├── PostgresModelBuilder.cs
│   │       │   ├── PostgresPropertyExtensions.cs
│   │       │   ├── PostgresPropertyMapping.cs
│   │       │   ├── PostgresServiceCollectionExtensions.cs
│   │       │   ├── PostgresSqlBuilder.cs
│   │       │   ├── PostgresUtils.cs
│   │       │   ├── PostgresVectorStore.cs
│   │       │   ├── PostgresVectorStoreOptions.cs
│   │       │   └── README.md
│   │       ├── Pinecone/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── Pinecone.csproj
│   │       │   ├── PineconeCollection.cs
│   │       │   ├── PineconeCollectionOptions.cs
│   │       │   ├── PineconeCollectionSearchMapping.cs
│   │       │   ├── PineconeConstants.cs
│   │       │   ├── PineconeDynamicCollection.cs
│   │       │   ├── PineconeFieldMapping.cs
│   │       │   ├── PineconeFilterTranslator.cs
│   │       │   ├── PineconeMapper.cs
│   │       │   ├── PineconeModelBuilder.cs
│   │       │   ├── PineconeServiceCollectionExtensions.cs
│   │       │   ├── PineconeVectorStore.cs
│   │       │   └── PineconeVectorStoreOptions.cs
│   │       ├── Qdrant/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── MockableQdrantClient.cs
│   │       │   ├── Qdrant.csproj
│   │       │   ├── QdrantCollection.cs
│   │       │   ├── QdrantCollectionCreateMapping.cs
│   │       │   ├── QdrantCollectionOptions.cs
│   │       │   ├── QdrantCollectionSearchMapping.cs
│   │       │   ├── QdrantConstants.cs
│   │       │   ├── QdrantDynamicCollection.cs
│   │       │   ├── QdrantFieldMapping.cs
│   │       │   ├── QdrantFilterTranslator.cs
│   │       │   ├── QdrantMapper.cs
│   │       │   ├── QdrantModelBuilder.cs
│   │       │   ├── QdrantServiceCollectionExtensions.cs
│   │       │   ├── QdrantVectorStore.cs
│   │       │   └── QdrantVectorStoreOptions.cs
│   │       ├── Redis/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── IRedisJsonMapper.cs
│   │       │   ├── README.md
│   │       │   ├── Redis.csproj
│   │       │   ├── RedisCollectionCreateMapping.cs
│   │       │   ├── RedisCollectionSearchMapping.cs
│   │       │   ├── RedisConstants.cs
│   │       │   ├── RedisFieldMapping.cs
│   │       │   ├── RedisFilterTranslator.cs
│   │       │   ├── RedisHashSetCollection.cs
│   │       │   ├── RedisHashSetCollectionOptions.cs
│   │       │   ├── RedisHashSetDynamicCollection.cs
│   │       │   ├── RedisHashSetMapper.cs
│   │       │   ├── RedisJsonCollection.cs
│   │       │   ├── RedisJsonCollectionOptions.cs
│   │       │   ├── RedisJsonDynamicCollection.cs
│   │       │   ├── RedisJsonDynamicMapper.cs
│   │       │   ├── RedisJsonDynamicModelBuilder.cs
│   │       │   ├── RedisJsonMapper.cs
│   │       │   ├── RedisJsonModelBuilder.cs
│   │       │   ├── RedisModelBuilder.cs
│   │       │   ├── RedisServiceCollectionExtensions.cs
│   │       │   ├── RedisStorageType.cs
│   │       │   ├── RedisVectorStore.cs
│   │       │   └── RedisVectorStoreOptions.cs
│   │       ├── SqlServer/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── README.md
│   │       │   ├── SqlServer.csproj
│   │       │   ├── SqlServerCollection.cs
│   │       │   ├── SqlServerCollectionOptions.cs
│   │       │   ├── SqlServerCommandBuilder.cs
│   │       │   ├── SqlServerConstants.cs
│   │       │   ├── SqlServerDynamicCollection.cs
│   │       │   ├── SqlServerFilterTranslator.cs
│   │       │   ├── SqlServerJsonSerializerContext.cs
│   │       │   ├── SqlServerMapper.cs
│   │       │   ├── SqlServerModelBuilder.cs
│   │       │   ├── SqlServerServiceCollectionExtensions.cs
│   │       │   ├── SqlServerVectorStore.cs
│   │       │   └── SqlServerVectorStoreOptions.cs
│   │       ├── SqliteVec/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── Conditions/
│   │       │   │   ├── SqliteWhereCondition.cs
│   │       │   │   ├── SqliteWhereEqualsCondition.cs
│   │       │   │   ├── SqliteWhereInCondition.cs
│   │       │   │   └── SqliteWhereMatchCondition.cs
│   │       │   ├── SqliteCollection.cs
│   │       │   ├── SqliteCollectionOptions.cs
│   │       │   ├── SqliteColumn.cs
│   │       │   ├── SqliteCommandBuilder.cs
│   │       │   ├── SqliteConstants.cs
│   │       │   ├── SqliteDynamicCollection.cs
│   │       │   ├── SqliteExtensions.cs
│   │       │   ├── SqliteFilterTranslator.cs
│   │       │   ├── SqliteMapper.cs
│   │       │   ├── SqliteModelBuilder.cs
│   │       │   ├── SqlitePropertyMapping.cs
│   │       │   ├── SqliteServiceCollectionExtensions.cs
│   │       │   ├── SqliteVec.csproj
│   │       │   ├── SqliteVectorStore.cs
│   │       │   └── SqliteVectorStoreOptions.cs
│   │       ├── VectorData.Abstractions/
│   │       │   ├── .editorconfig
│   │       │   ├── FilterClauses/
│   │       │   │   ├── AnyTagEqualToFilterClause.cs
│   │       │   │   ├── EqualToFilterClause.cs
│   │       │   │   └── FilterClause.cs
│   │       │   ├── PACKAGE.md
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── ProviderServices/
│   │       │   │   ├── CollectionJsonModelBuilder.cs
│   │       │   │   ├── CollectionModel.cs
│   │       │   │   ├── CollectionModelBuilder.cs
│   │       │   │   ├── CollectionModelBuildingOptions.cs
│   │       │   │   ├── DataPropertyModel.cs
│   │       │   │   ├── EmbeddingGenerationDispatcher.cs
│   │       │   │   ├── Filter/
│   │       │   │   │   ├── FilterPreprocessingOptions.cs
│   │       │   │   │   ├── FilterTranslatorBase.cs
│   │       │   │   │   └── QueryParameterExpression.cs
│   │       │   │   ├── IRecordCreator.cs
│   │       │   │   ├── KeyPropertyModel.cs
│   │       │   │   ├── PropertyModel.cs
│   │       │   │   ├── VectorDataStrings.cs
│   │       │   │   ├── VectorPropertyModel.cs
│   │       │   │   └── VectorPropertyModel{TInput}.cs
│   │       │   ├── RecordAttributes/
│   │       │   │   ├── VectorStoreDataAttribute.cs
│   │       │   │   ├── VectorStoreKeyAttribute.cs
│   │       │   │   └── VectorStoreVectorAttribute.cs
│   │       │   ├── RecordDefinition/
│   │       │   │   ├── DistanceFunction.cs
│   │       │   │   ├── IndexKind.cs
│   │       │   │   ├── VectorStoreCollectionDefinition.cs
│   │       │   │   ├── VectorStoreDataProperty.cs
│   │       │   │   ├── VectorStoreKeyProperty.cs
│   │       │   │   ├── VectorStoreProperty.cs
│   │       │   │   ├── VectorStoreVectorProperty.cs
│   │       │   │   └── VectorStoreVectorProperty{TInput}.cs
│   │       │   ├── RecordOptions/
│   │       │   │   ├── FilteredRecordRetrievalOptions.cs
│   │       │   │   └── RecordRetrievalOptions.cs
│   │       │   ├── Throw.cs
│   │       │   ├── VectorData.Abstractions.csproj
│   │       │   ├── VectorSearch/
│   │       │   │   ├── HybridSearchOptions.cs
│   │       │   │   ├── IKeywordHybridSearchable.cs
│   │       │   │   ├── IVectorSearchable.cs
│   │       │   │   ├── KeywordHybridSearchExtensions.cs
│   │       │   │   ├── RecordSearchOptions.cs
│   │       │   │   ├── VectorSearchExtensions.cs
│   │       │   │   ├── VectorSearchFilter.cs
│   │       │   │   └── VectorSearchResult.cs
│   │       │   └── VectorStorage/
│   │       │       ├── VectorStore.cs
│   │       │       ├── VectorStoreCollection.cs
│   │       │       ├── VectorStoreCollectionMetadata.cs
│   │       │       ├── VectorStoreCollectionOptions.cs
│   │       │       ├── VectorStoreException.cs
│   │       │       ├── VectorStoreExtensions.cs
│   │       │       └── VectorStoreMetadata.cs
│   │       └── Weaviate/
│   │           ├── AssemblyInfo.cs
│   │           ├── Converters/
│   │           │   ├── WeaviateDateOnlyConverter.cs
│   │           │   ├── WeaviateDateTimeConverter.cs
│   │           │   ├── WeaviateDateTimeOffsetConverter.cs
│   │           │   ├── WeaviateNullableDateOnlyConverter.cs
│   │           │   ├── WeaviateNullableDateTimeConverter.cs
│   │           │   └── WeaviateNullableDateTimeOffsetConverter.cs
│   │           ├── Http/
│   │           │   └── HttpRequest.cs
│   │           ├── HttpV2/
│   │           │   ├── WeaviateCreateCollectionSchemaRequest.cs
│   │           │   ├── WeaviateDeleteCollectionSchemaRequest.cs
│   │           │   ├── WeaviateDeleteObjectBatchRequest.cs
│   │           │   ├── WeaviateDeleteObjectRequest.cs
│   │           │   ├── WeaviateGetCollectionObjectRequest.cs
│   │           │   ├── WeaviateGetCollectionSchemaRequest.cs
│   │           │   ├── WeaviateGetCollectionSchemaResponse.cs
│   │           │   ├── WeaviateGetCollectionsRequest.cs
│   │           │   ├── WeaviateGetCollectionsResponse.cs
│   │           │   ├── WeaviateUpsertCollectionObjectBatchRequest.cs
│   │           │   ├── WeaviateUpsertCollectionObjectBatchResponse.cs
│   │           │   ├── WeaviateVectorSearchRequest.cs
│   │           │   └── WeaviateVectorSearchResponse.cs
│   │           ├── ModelV2/
│   │           │   ├── WeaviateCollectionSchema.cs
│   │           │   ├── WeaviateCollectionSchemaProperty.cs
│   │           │   ├── WeaviateCollectionSchemaVectorConfig.cs
│   │           │   ├── WeaviateCollectionSchemaVectorIndexConfig.cs
│   │           │   ├── WeaviateOperationResult.cs
│   │           │   ├── WeaviateOperationResultError.cs
│   │           │   ├── WeaviateOperationResultErrors.cs
│   │           │   ├── WeaviateQueryMatch.cs
│   │           │   ├── WeaviateQueryMatchWhereClause.cs
│   │           │   └── WeaviateVectorSearchData.cs
│   │           ├── Weaviate.csproj
│   │           ├── WeaviateCollection.cs
│   │           ├── WeaviateCollectionCreateMapping.cs
│   │           ├── WeaviateCollectionOptions.cs
│   │           ├── WeaviateCollectionSearchMapping.cs
│   │           ├── WeaviateConstants.cs
│   │           ├── WeaviateDynamicCollection.cs
│   │           ├── WeaviateFilterTranslator.cs
│   │           ├── WeaviateMapper.cs
│   │           ├── WeaviateModelBuilder.cs
│   │           ├── WeaviateQueryBuilder.cs
│   │           ├── WeaviateServiceCollectionExtensions.cs
│   │           ├── WeaviateVectorStore.cs
│   │           └── WeaviateVectorStoreOptions.cs
│   └── test/
│       ├── Directory.Build.props
│       └── VectorData/
│           ├── AzureAISearch.ConformanceTests/
│           │   ├── AzureAISearch.ConformanceTests.csproj
│           │   ├── AzureAISearchAllSupportedTypesTests.cs
│           │   ├── AzureAISearchCollectionManagementTests.cs
│           │   ├── AzureAISearchDependencyInjectionTests.cs
│           │   ├── AzureAISearchDistanceFunctionTests.cs
│           │   ├── AzureAISearchEmbeddingGenerationTests.cs
│           │   ├── AzureAISearchFilterTests.cs
│           │   ├── AzureAISearchHybridSearchTests.cs
│           │   ├── AzureAISearchIndexKindTests.cs
│           │   ├── AzureAISearchTestSuiteImplementationTests.cs
│           │   ├── ModelTests/
│           │   │   ├── AzureAISearchBasicModelTests.cs
│           │   │   ├── AzureAISearchDynamicModelTests.cs
│           │   │   ├── AzureAISearchMultiVectorModelTests.cs
│           │   │   ├── AzureAISearchNoDataModelTests.cs
│           │   │   └── AzureAISearchNoVectorModelTests.cs
│           │   ├── Properties/
│           │   │   └── AssemblyAttributes.cs
│           │   ├── Support/
│           │   │   ├── AzureAISearchAllTypes.cs
│           │   │   ├── AzureAISearchFixture.cs
│           │   │   ├── AzureAISearchTestEnvironment.cs
│           │   │   ├── AzureAISearchTestStore.cs
│           │   │   └── AzureAISearchUrlRequiredAttribute.cs
│ 

================================================
FILE CONTENTS
================================================

================================================
FILE: .devcontainer/devcontainer.json
================================================
{
	"image": "mcr.microsoft.com/devcontainers/universal:2",
	"features": {
		"ghcr.io/devcontainers/features/node:1": {},
		"ghcr.io/jlaundry/devcontainer-features/azure-functions-core-tools:1": {},
		"ghcr.io/devcontainers/features/github-cli:1": {
			"version": "2"
		},
		"ghcr.io/devcontainers/features/powershell:1": {
			"version": "latest"
		},
		"ghcr.io/azure/azure-dev/azd:0": {
			"version": "latest"
		},
		"ghcr.io/devcontainers/features/common-utils:2": {},
		"ghcr.io/devcontainers/features/dotnet:2": {
			"version": "none",
			"dotnetRuntimeVersions": "10.0",
			"aspNetCoreRuntimeVersions": "10.0"
		},
		"ghcr.io/devcontainers/features/copilot-cli:1": {}
	},
	"customizations": {
		"vscode": {
			"extensions": [
				"ms-dotnettools.dotnet-interactive-vscode",
				"ms-semantic-kernel.semantic-kernel",
				"esbenp.prettier-vscode"
			]
		}
	},
	"postCreateCommand": "sudo chmod a+rwx /usr/share/dotnet" // avoids needing to run as 'sudo' when starting KernelHttpServer
}

================================================
FILE: .editorconfig
================================================
# To learn more about .editorconfig see https://aka.ms/editorconfigdocs
###############################
# Core EditorConfig Options   #
###############################
root = true
# All files
[*]
indent_style = space
end_of_line = lf

# XML project files
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
indent_size = 2

# XML config files
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}]
indent_size = 2

# YAML config files
[*.{yml,yaml}]
tab_width = 2
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

# JSON config files
[*.json]
tab_width = 2
indent_size = 2
insert_final_newline = false
trim_trailing_whitespace = true

# Typescript files
[*.{ts,tsx}]
insert_final_newline = true
trim_trailing_whitespace = true
tab_width = 4
indent_size = 4
file_header_template = Copyright (c) Microsoft. All rights reserved.

# Stylesheet files
[*.{css,scss,sass,less}]
insert_final_newline = true
trim_trailing_whitespace = true
tab_width = 4
indent_size = 4

# Code files
[*.{cs,csx,vb,vbx}]
tab_width = 4
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8-bom
file_header_template = Copyright (c) Microsoft. All rights reserved.

###############################
# .NET Coding Conventions     #
###############################
[*.{cs,vb}]
# Organize usings
dotnet_sort_system_directives_first = true
# this. preferences
dotnet_style_qualification_for_field = true:error
dotnet_style_qualification_for_property = true:error
dotnet_style_qualification_for_method = true:error
dotnet_style_qualification_for_event = true:error
# Language keywords vs BCL types preferences
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
dotnet_style_predefined_type_for_member_access = true:suggestion
# Parentheses preferences
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:suggestion
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:suggestion
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
# Modifier preferences
dotnet_style_require_accessibility_modifiers = for_non_interface_members:error
dotnet_style_readonly_field = true:warning
# Expression-level preferences
dotnet_style_object_initializer = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_explicit_tuple_names = true:suggestion
dotnet_style_null_propagation = true:suggestion
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
dotnet_style_prefer_inferred_tuple_names = true:suggestion
dotnet_style_prefer_inferred_anonymous_type_member_names = true:silent
dotnet_style_prefer_auto_properties = true:suggestion
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
dotnet_style_prefer_conditional_expression_over_return = true:silent
dotnet_style_prefer_simplified_interpolation = true:suggestion
dotnet_style_operator_placement_when_wrapping = beginning_of_line
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
dotnet_style_prefer_compound_assignment = true:suggestion
# Code quality rules
dotnet_code_quality_unused_parameters = all:suggestion

[*.cs]
# Note: these settings cause "dotnet format" to fix the code. You should review each change if you uses "dotnet format".
dotnet_diagnostic.RCS1036.severity = warning # Remove unnecessary blank line.
dotnet_diagnostic.RCS1037.severity = warning # Remove trailing white-space.
dotnet_diagnostic.RCS1097.severity = warning # Remove redundant 'ToString' call.
dotnet_diagnostic.RCS1138.severity = warning # Add summary to documentation comment.
dotnet_diagnostic.RCS1139.severity = warning # Add summary element to documentation comment.
dotnet_diagnostic.RCS1168.severity = warning # Parameter name 'foo' differs from base name 'bar'.
dotnet_diagnostic.RCS1175.severity = warning # Unused 'this' parameter 'operation'.
dotnet_diagnostic.RCS1192.severity = warning # Unnecessary usage of verbatim string literal.
dotnet_diagnostic.RCS1194.severity = warning # Implement exception constructors.
dotnet_diagnostic.RCS1211.severity = warning # Remove unnecessary else clause.
dotnet_diagnostic.RCS1214.severity = warning # Unnecessary interpolated string.
dotnet_diagnostic.RCS1225.severity = warning # Make class sealed.
dotnet_diagnostic.RCS1232.severity = warning # Order elements in documentation comment.

# Commented out because `dotnet format` change can be disruptive.
# dotnet_diagnostic.RCS1085.severity = warning # Use auto-implemented property.

# Commented out because `dotnet format` removes the xmldoc element, while we should add the missing documentation instead.
# dotnet_diagnostic.RCS1228.severity = warning # Unused element in documentation comment.

# Diagnostics elevated as warnings
dotnet_diagnostic.CA1000.severity = warning # Do not declare static members on generic types
dotnet_diagnostic.CA1031.severity = warning # Do not catch general exception types
dotnet_diagnostic.CA1050.severity = warning # Declare types in namespaces
dotnet_diagnostic.CA1063.severity = warning # Implement IDisposable correctly
dotnet_diagnostic.CA1064.severity = warning # Exceptions should be public
dotnet_diagnostic.CA1416.severity = warning # Validate platform compatibility
dotnet_diagnostic.CA1508.severity = warning # Avoid dead conditional code
dotnet_diagnostic.CA1852.severity = warning # Sealed classes
dotnet_diagnostic.CA1859.severity = warning # Use concrete types when possible for improved performance
dotnet_diagnostic.CA1860.severity = warning # Prefer comparing 'Count' to 0 rather than using 'Any()', both for clarity and for performance
dotnet_diagnostic.CA2000.severity = warning # Call System.IDisposable.Dispose on object before all references to it are out of scope
dotnet_diagnostic.CA2201.severity = warning # Exception type System.Exception is not sufficiently specific

dotnet_diagnostic.IDE0001.severity = warning # Simplify name
dotnet_diagnostic.IDE0005.severity = warning # Remove unnecessary using directives
dotnet_diagnostic.IDE0009.severity = warning # Add this or Me qualification
dotnet_diagnostic.IDE0011.severity = warning # Add braces
dotnet_diagnostic.IDE0018.severity = warning # Inline variable declaration

dotnet_diagnostic.IDE0032.severity = warning # Use auto-implemented property
dotnet_diagnostic.IDE0034.severity = warning # Simplify 'default' expression
dotnet_diagnostic.IDE0035.severity = warning # Remove unreachable code
dotnet_diagnostic.IDE0040.severity = warning # Add accessibility modifiers
dotnet_diagnostic.IDE0049.severity = warning # Use language keywords instead of framework type names for type references
dotnet_diagnostic.IDE0050.severity = warning # Convert anonymous type to tuple
dotnet_diagnostic.IDE0051.severity = warning # Remove unused private member
dotnet_diagnostic.IDE0055.severity = warning # Formatting rule
dotnet_diagnostic.IDE0060.severity = warning # Remove unused parameter
dotnet_diagnostic.IDE0070.severity = warning # Use 'System.HashCode.Combine'
dotnet_diagnostic.IDE0071.severity = warning # Simplify interpolation
dotnet_diagnostic.IDE0073.severity = warning # Require file header
dotnet_diagnostic.IDE0082.severity = warning # Convert typeof to nameof
dotnet_diagnostic.IDE0090.severity = warning # Simplify new expression
dotnet_diagnostic.IDE0161.severity = warning # Use file-scoped namespace

# Suppressed diagnostics
dotnet_diagnostic.CA1002.severity = none # Change 'List<string>' in '...' to use 'Collection<T>' ...
dotnet_diagnostic.CA1032.severity = none # We're using RCS1194 which seems to cover more ctors
dotnet_diagnostic.CA1034.severity = none # Do not nest type. Alternatively, change its accessibility so that it is not externally visible
dotnet_diagnostic.CA1062.severity = none # Disable null check, C# already does it for us
dotnet_diagnostic.CA1303.severity = none # Do not pass literals as localized parameters
dotnet_diagnostic.CA1305.severity = none # Operation could vary based on current user's locale settings
dotnet_diagnostic.CA1307.severity = none # Operation has an overload that takes a StringComparison
dotnet_diagnostic.CA1508.severity = none # Avoid dead conditional code. Too many false positives.
dotnet_diagnostic.CA1510.severity = none # ArgumentNullException.Throw
dotnet_diagnostic.CA1512.severity = none # ArgumentOutOfRangeException.Throw
dotnet_diagnostic.CA1515.severity = none # Making public types from exes internal
dotnet_diagnostic.CA1805.severity = none # Member is explicitly initialized to its default value
dotnet_diagnostic.CA1822.severity = none # Member does not access instance data and can be marked as static
dotnet_diagnostic.CA1848.severity = none # For improved performance, use the LoggerMessage delegates
dotnet_diagnostic.CA1849.severity = none # Use async equivalent; analyzer is currently noisy
dotnet_diagnostic.CA1865.severity = none # StartsWith(char)
dotnet_diagnostic.CA1867.severity = none # EndsWith(char)
dotnet_diagnostic.CA2007.severity = none # Do not directly await a Task
dotnet_diagnostic.CA2225.severity = none # Operator overloads have named alternates
dotnet_diagnostic.CA2227.severity = none # Change to be read-only by removing the property setter
dotnet_diagnostic.CA2253.severity = none # Named placeholders in the logging message template should not be comprised of only numeric characters
dotnet_diagnostic.CA2253.severity = none # Named placeholders in the logging message template should not be comprised of only numeric characters
dotnet_diagnostic.CA2263.severity = suggestion # Use generic overload

dotnet_diagnostic.VSTHRD003.severity = none # Waiting on thread from another context
dotnet_diagnostic.VSTHRD103.severity = none # Use async equivalent; analyzer is currently noisy
dotnet_diagnostic.VSTHRD111.severity = none # Use .ConfigureAwait(bool) is hidden by default, set to none to prevent IDE from changing on autosave
dotnet_diagnostic.VSTHRD200.severity = none # Use Async suffix for async methods
dotnet_diagnostic.xUnit1004.severity = none # Test methods should not be skipped. Remove the Skip property to start running the test again.

dotnet_diagnostic.RCS1021.severity = none # Use expression-bodied lambda.
dotnet_diagnostic.RCS1032.severity = none # Remove redundant parentheses.
dotnet_diagnostic.RCS1061.severity = none # Merge 'if' with nested 'if'.
dotnet_diagnostic.RCS1069.severity = none # Remove unnecessary case label.
dotnet_diagnostic.RCS1074.severity = none # Remove redundant constructor.
dotnet_diagnostic.RCS1077.severity = none # Optimize LINQ method call.
dotnet_diagnostic.RCS1118.severity = none # Mark local variable as const.
dotnet_diagnostic.RCS1124.severity = none # Inline local variable.
dotnet_diagnostic.RCS1129.severity = none # Remove redundant field initialization.
dotnet_diagnostic.RCS1140.severity = none # Add exception to documentation comment.
dotnet_diagnostic.RCS1141.severity = none # Add 'param' element to documentation comment.
dotnet_diagnostic.RCS1142.severity = none # Add 'typeparam' element to documentation comment.
dotnet_diagnostic.RCS1146.severity = none # Use conditional access.
dotnet_diagnostic.RCS1151.severity = none # Remove redundant cast.
dotnet_diagnostic.RCS1158.severity = none # Static member in generic type should use a type parameter.
dotnet_diagnostic.RCS1161.severity = none # Enum should declare explicit value
dotnet_diagnostic.RCS1163.severity = none # Unused parameter 'foo'.
dotnet_diagnostic.RCS1170.severity = none # Use read-only auto-implemented property.
dotnet_diagnostic.RCS1173.severity = none # Use coalesce expression instead of 'if'.
dotnet_diagnostic.RCS1181.severity = none # Convert comment to documentation comment.
dotnet_diagnostic.RCS1186.severity = none # Use Regex instance instead of static method.
dotnet_diagnostic.RCS1188.severity = none # Remove redundant auto-property initialization.
dotnet_diagnostic.RCS1189.severity = none # Add region name to #endregion.
dotnet_diagnostic.RCS1197.severity = none # Optimize StringBuilder.AppendLine call.
dotnet_diagnostic.RCS1201.severity = none # Use method chaining.
dotnet_diagnostic.RCS1205.severity = none # Order named arguments according to the order of parameters.
dotnet_diagnostic.RCS1212.severity = none # Remove redundant assignment.
dotnet_diagnostic.RCS1217.severity = none # Convert interpolated string to concatenation.
dotnet_diagnostic.RCS1222.severity = none # Merge preprocessor directives.
dotnet_diagnostic.RCS1226.severity = none # Add paragraph to documentation comment.
dotnet_diagnostic.RCS1229.severity = none # Use async/await when necessary.
dotnet_diagnostic.RCS1234.severity = none # Enum duplicate value
dotnet_diagnostic.RCS1238.severity = none # Avoid nested ?: operators.
dotnet_diagnostic.RCS1241.severity = none # Implement IComparable when implementing IComparable<T><T>.

dotnet_diagnostic.IDE0001.severity = none # Simplify name
dotnet_diagnostic.IDE0002.severity = none # Simplify member access
dotnet_diagnostic.IDE0004.severity = none # Remove unnecessary cast
dotnet_diagnostic.IDE0010.severity = none # Populate switch
dotnet_diagnostic.IDE0021.severity = none # Use block body for constructors
dotnet_diagnostic.IDE0022.severity = none # Use block body for methods
dotnet_diagnostic.IDE0024.severity = none # Use block body for operator
dotnet_diagnostic.IDE0035.severity = none # Remove unreachable code
dotnet_diagnostic.IDE0051.severity = none # Remove unused private member
dotnet_diagnostic.IDE0052.severity = none # Remove unread private member
dotnet_diagnostic.IDE0058.severity = none # Remove unused expression value
dotnet_diagnostic.IDE0059.severity = none # Unnecessary assignment of a value
dotnet_diagnostic.IDE0060.severity = none # Remove unused parameter
dotnet_diagnostic.IDE0061.severity = none # Use block body for local function
dotnet_diagnostic.IDE0079.severity = none # Remove unnecessary suppression.
dotnet_diagnostic.IDE0080.severity = none # Remove unnecessary suppression operator.
dotnet_diagnostic.IDE0100.severity = none # Remove unnecessary equality operator
dotnet_diagnostic.IDE0110.severity = none # Remove unnecessary discards
dotnet_diagnostic.IDE0130.severity = none # Namespace does not match folder structure
dotnet_diagnostic.IDE0290.severity = none # Use primary constructor
dotnet_diagnostic.IDE0032.severity = none # Use auto property
dotnet_diagnostic.IDE0160.severity = none # Use block-scoped namespace
dotnet_diagnostic.IDE1006.severity = warning # Naming rule violations
dotnet_diagnostic.IDE0046.severity = suggestion # If statement can be simplified
dotnet_diagnostic.IDE0056.severity = suggestion # Indexing can be simplified
dotnet_diagnostic.IDE0057.severity = suggestion # Substring can be simplified

###############################
# Naming Conventions          #
###############################

# Styles

dotnet_naming_style.pascal_case_style.capitalization = pascal_case

dotnet_naming_style.camel_case_style.capitalization = camel_case

dotnet_naming_style.static_underscored.capitalization = camel_case
dotnet_naming_style.static_underscored.required_prefix = s_

dotnet_naming_style.underscored.capitalization = camel_case
dotnet_naming_style.underscored.required_prefix = _

dotnet_naming_style.uppercase_with_underscore_separator.capitalization = all_upper
dotnet_naming_style.uppercase_with_underscore_separator.word_separator = _

dotnet_naming_style.end_in_async.required_prefix =
dotnet_naming_style.end_in_async.required_suffix = Async
dotnet_naming_style.end_in_async.capitalization = pascal_case
dotnet_naming_style.end_in_async.word_separator =

# Symbols

dotnet_naming_symbols.constant_fields.applicable_kinds = field
dotnet_naming_symbols.constant_fields.applicable_accessibilities  = *
dotnet_naming_symbols.constant_fields.required_modifiers = const

dotnet_naming_symbols.local_constant.applicable_kinds = local
dotnet_naming_symbols.local_constant.applicable_accessibilities  = *
dotnet_naming_symbols.local_constant.required_modifiers = const

dotnet_naming_symbols.private_static_fields.applicable_kinds = field
dotnet_naming_symbols.private_static_fields.applicable_accessibilities = private
dotnet_naming_symbols.private_static_fields.required_modifiers = static

dotnet_naming_symbols.private_fields.applicable_kinds = field
dotnet_naming_symbols.private_fields.applicable_accessibilities = private

dotnet_naming_symbols.any_async_methods.applicable_kinds = method
dotnet_naming_symbols.any_async_methods.applicable_accessibilities = *
dotnet_naming_symbols.any_async_methods.required_modifiers = async

# Rules

dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = error

dotnet_naming_rule.local_constant_should_be_pascal_case.symbols = local_constant
dotnet_naming_rule.local_constant_should_be_pascal_case.style = pascal_case_style
dotnet_naming_rule.local_constant_should_be_pascal_case.severity = error

dotnet_naming_rule.private_static_fields_underscored.symbols = private_static_fields
dotnet_naming_rule.private_static_fields_underscored.style = static_underscored
dotnet_naming_rule.private_static_fields_underscored.severity = error

dotnet_naming_rule.private_fields_underscored.symbols = private_fields
dotnet_naming_rule.private_fields_underscored.style = underscored
dotnet_naming_rule.private_fields_underscored.severity = error

dotnet_naming_rule.async_methods_end_in_async.symbols = any_async_methods
dotnet_naming_rule.async_methods_end_in_async.style = end_in_async
dotnet_naming_rule.async_methods_end_in_async.severity = error

###############################
# C# Coding Conventions       #
###############################

# var preferences
csharp_style_var_for_built_in_types = false:none
csharp_style_var_when_type_is_apparent = false:none
csharp_style_var_elsewhere = false:none
# Expression-bodied members
csharp_style_expression_bodied_methods = false:silent
csharp_style_expression_bodied_constructors = false:silent
csharp_style_expression_bodied_operators = false:silent
csharp_style_expression_bodied_properties = true:silent
csharp_style_expression_bodied_indexers = true:silent
csharp_style_expression_bodied_accessors = true:silent
# Pattern matching preferences
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
# Null-checking preferences
csharp_style_throw_expression = true:suggestion
csharp_style_conditional_delegate_call = true:suggestion
# Modifier preferences
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion
# Expression-level preferences
csharp_prefer_braces = true:error
csharp_style_deconstructed_variable_declaration = true:suggestion
csharp_prefer_simple_default_expression = true:suggestion
csharp_style_prefer_local_over_anonymous_function = true:error
csharp_style_inlined_variable_declaration = true:suggestion

###############################
# C# Formatting Rules         #
###############################

# New line preferences
csharp_new_line_before_open_brace = all
csharp_new_line_before_else = true
csharp_new_line_before_catch = true
csharp_new_line_before_finally = true
csharp_new_line_before_members_in_object_initializers = false # Does not work with resharper, forcing code to be on long lines instead of wrapping
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_between_query_expression_clauses = true
# Indentation preferences
csharp_indent_braces = false
csharp_indent_case_contents = true
csharp_indent_case_contents_when_block = false
csharp_indent_switch_labels = true
csharp_indent_labels = flush_left
# Space preferences
csharp_space_after_cast = false
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_around_binary_operators = before_and_after
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
# Wrapping preferences
csharp_preserve_single_line_statements = true
csharp_preserve_single_line_blocks = true
csharp_using_directive_placement = outside_namespace:warning
csharp_prefer_simple_using_statement = true:suggestion
csharp_style_namespace_declarations = file_scoped:warning
csharp_style_prefer_method_group_conversion = true:silent
csharp_style_prefer_top_level_statements = true:silent
csharp_style_expression_bodied_lambdas = true:silent
csharp_style_expression_bodied_local_functions = false:silent

###############################
# Resharper Rules             #
###############################

# Resharper disabled rules: https://www.jetbrains.com/help/resharper/Reference__Code_Inspections_CSHARP.html#CodeSmell
resharper_redundant_linebreak_highlighting = none # Disable Resharper's "Redundant line break" highlighting
resharper_missing_linebreak_highlighting = none # Disable Resharper's "Missing line break" highlighting
resharper_bad_empty_braces_line_breaks_highlighting = none # Disable Resharper's "Bad empty braces line breaks" highlighting
resharper_missing_indent_highlighting = none # Disable Resharper's "Missing indent" highlighting
resharper_missing_blank_lines_highlighting = none # Disable Resharper's "Missing blank lines" highlighting
resharper_wrong_indent_size_highlighting = none # Disable Resharper's "Wrong indent size" highlighting
resharper_bad_indent_highlighting = none # Disable Resharper's "Bad indent" highlighting
resharper_bad_expression_braces_line_breaks_highlighting = none # Disable Resharper's "Bad expression braces line breaks" highlighting
resharper_multiple_spaces_highlighting = none # Disable Resharper's "Multiple spaces" highlighting
resharper_bad_expression_braces_indent_highlighting = none # Disable Resharper's "Bad expression braces indent" highlighting
resharper_bad_control_braces_indent_highlighting = none # Disable Resharper's "Bad control braces indent" highlighting
resharper_bad_preprocessor_indent_highlighting = none # Disable Resharper's "Bad preprocessor indent" highlighting
resharper_redundant_blank_lines_highlighting = none # Disable Resharper's "Redundant blank lines" highlighting
resharper_multiple_statements_on_one_line_highlighting = none # Disable Resharper's "Multiple statements on one line" highlighting
resharper_bad_braces_spaces_highlighting = none # Disable Resharper's "Bad braces spaces" highlighting
resharper_outdent_is_off_prev_level_highlighting = none # Disable Resharper's "Outdent is off previous level" highlighting
resharper_bad_symbol_spaces_highlighting = none # Disable Resharper's "Bad symbol spaces" highlighting
resharper_bad_colon_spaces_highlighting = none # Disable Resharper's "Bad colon spaces" highlighting
resharper_bad_semicolon_spaces_highlighting = none # Disable Resharper's "Bad semicolon spaces" highlighting
resharper_bad_square_brackets_spaces_highlighting = none # Disable Resharper's "Bad square brackets spaces" highlighting
resharper_bad_parens_spaces_highlighting = none # Disable Resharper's "Bad parens spaces" highlighting

# Resharper enabled rules: https://www.jetbrains.com/help/resharper/Reference__Code_Inspections_CSHARP.html#CodeSmell
resharper_comment_typo_highlighting = suggestion # Resharper's "Comment typo" highlighting
resharper_redundant_using_directive_highlighting = warning # Resharper's "Redundant using directive" highlighting
resharper_inconsistent_naming_highlighting = warning # Resharper's "Inconsistent naming" highlighting
resharper_redundant_this_qualifier_highlighting = warning # Resharper's "Redundant 'this' qualifier" highlighting
resharper_arrange_this_qualifier_highlighting = warning # Resharper's "Arrange 'this' qualifier" highlighting

###############################
# Java Coding Conventions     #
###############################
[*.java]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = false
tab_width = 4
ij_formatter_off_tag = @formatter:off
ij_formatter_on_tag = @formatter:on
ij_smart_tabs = false
ij_visual_guides = none

max_line_length = 100
ij_continuation_indent_size = 4
ij_formatter_tags_enabled = false
ij_wrap_on_typing = false

ij_java_align_consecutive_assignments = false
ij_java_align_consecutive_variable_declarations = false
ij_java_align_group_field_declarations = false
ij_java_align_multiline_annotation_parameters = false
ij_java_align_multiline_array_initializer_expression = false
ij_java_align_multiline_assignment = false
ij_java_align_multiline_binary_operation = false
ij_java_align_multiline_chained_methods = false
ij_java_align_multiline_extends_list = false
ij_java_align_multiline_for = false
ij_java_align_multiline_method_parentheses = false
ij_java_align_multiline_parameters = false
ij_java_align_multiline_parameters_in_calls = false
ij_java_align_multiline_parenthesized_expression = false
ij_java_align_multiline_resources = false
ij_java_align_multiline_ternary_operation = false
ij_java_align_multiline_throws_list = false
ij_java_align_subsequent_simple_methods = false
ij_java_align_throws_keyword = false
ij_java_annotation_parameter_wrap = off
ij_java_array_initializer_new_line_after_left_brace = false
ij_java_array_initializer_right_brace_on_new_line = false
ij_java_array_initializer_wrap = normal
ij_java_assert_statement_colon_on_next_line = false
ij_java_assert_statement_wrap = off
ij_java_assignment_wrap = off
ij_java_binary_operation_sign_on_next_line = true
ij_java_binary_operation_wrap = normal
ij_java_blank_lines_after_anonymous_class_header = 0
ij_java_blank_lines_after_class_header = 1
ij_java_blank_lines_after_imports = 1
ij_java_blank_lines_after_package = 1
ij_java_blank_lines_around_class = 1
ij_java_blank_lines_around_field = 0
ij_java_blank_lines_around_field_in_interface = 0
ij_java_blank_lines_around_initializer = 1
ij_java_blank_lines_around_method = 1
ij_java_blank_lines_around_method_in_interface = 1
ij_java_blank_lines_before_class_end = 0
ij_java_blank_lines_before_imports = 1
ij_java_blank_lines_before_method_body = 0
ij_java_blank_lines_before_package = 0
ij_java_block_brace_style = end_of_line
ij_java_block_comment_at_first_column = true
ij_java_call_parameters_new_line_after_left_paren = false
ij_java_call_parameters_right_paren_on_new_line = false
ij_java_call_parameters_wrap = normal
ij_java_case_statement_on_separate_line = true
ij_java_catch_on_new_line = false
ij_java_class_annotation_wrap = split_into_lines
ij_java_class_brace_style = end_of_line
ij_java_class_count_to_use_import_on_demand = 999
ij_java_class_names_in_javadoc = 1
ij_java_do_not_indent_top_level_class_members = false
ij_java_do_not_wrap_after_single_annotation = false
ij_java_do_while_brace_force = always
ij_java_doc_add_blank_line_after_description = true
ij_java_doc_add_blank_line_after_param_comments = false
ij_java_doc_add_blank_line_after_return = false
ij_java_doc_add_p_tag_on_empty_lines = true
ij_java_doc_align_exception_comments = true
ij_java_doc_align_param_comments = true
ij_java_doc_do_not_wrap_if_one_line = false
ij_java_doc_enable_formatting = true
ij_java_doc_enable_leading_asterisks = true
ij_java_doc_indent_on_continuation = false
ij_java_doc_keep_empty_lines = true
ij_java_doc_keep_empty_parameter_tag = true
ij_java_doc_keep_empty_return_tag = true
ij_java_doc_keep_empty_throws_tag = true
ij_java_doc_keep_invalid_tags = true
ij_java_doc_param_description_on_new_line = false
ij_java_doc_preserve_line_breaks = false
ij_java_doc_use_throws_not_exception_tag = true
ij_java_else_on_new_line = false
ij_java_entity_dd_suffix = EJB
ij_java_entity_eb_suffix = Bean
ij_java_entity_hi_suffix = Home
ij_java_entity_lhi_prefix = Local
ij_java_entity_lhi_suffix = Home
ij_java_entity_li_prefix = Local
ij_java_entity_pk_class = java.lang.String
ij_java_entity_vo_suffix = VO
ij_java_enum_constants_wrap = off
ij_java_extends_keyword_wrap = off
ij_java_extends_list_wrap = normal
ij_java_field_annotation_wrap = split_into_lines
ij_java_finally_on_new_line = false
ij_java_for_brace_force = always
ij_java_for_statement_new_line_after_left_paren = false
ij_java_for_statement_right_paren_on_new_line = false
ij_java_for_statement_wrap = normal
ij_java_generate_final_locals = false
ij_java_generate_final_parameters = false
ij_java_if_brace_force = always
ij_java_imports_layout = $*, |, *
ij_java_indent_case_from_switch = true
ij_java_insert_inner_class_imports = true
ij_java_insert_override_annotation = true
ij_java_keep_blank_lines_before_right_brace = 2
ij_java_keep_blank_lines_between_package_declaration_and_header = 2
ij_java_keep_blank_lines_in_code = 1
ij_java_keep_blank_lines_in_declarations = 2
ij_java_keep_control_statement_in_one_line = false
ij_java_keep_first_column_comment = true
ij_java_keep_indents_on_empty_lines = false
ij_java_keep_line_breaks = true
ij_java_keep_multiple_expressions_in_one_line = false
ij_java_keep_simple_blocks_in_one_line = false
ij_java_keep_simple_classes_in_one_line = false
ij_java_keep_simple_lambdas_in_one_line = false
ij_java_keep_simple_methods_in_one_line = false
ij_java_lambda_brace_style = end_of_line
ij_java_layout_static_imports_separately = true
ij_java_line_comment_add_space = false
ij_java_line_comment_at_first_column = true
ij_java_message_dd_suffix = EJB
ij_java_message_eb_suffix = Bean
ij_java_method_annotation_wrap = split_into_lines
ij_java_method_brace_style = end_of_line
ij_java_method_call_chain_wrap = normal
ij_java_method_parameters_new_line_after_left_paren = false
ij_java_method_parameters_right_paren_on_new_line = false
ij_java_method_parameters_wrap = normal
ij_java_modifier_list_wrap = false
ij_java_names_count_to_use_import_on_demand = 999
ij_java_parameter_annotation_wrap = off
ij_java_parentheses_expression_new_line_after_left_paren = false
ij_java_parentheses_expression_right_paren_on_new_line = false
ij_java_place_assignment_sign_on_next_line = false
ij_java_prefer_longer_names = true
ij_java_prefer_parameters_wrap = false
ij_java_repeat_synchronized = true
ij_java_replace_instanceof_and_cast = false
ij_java_replace_null_check = true
ij_java_replace_sum_lambda_with_method_ref = true
ij_java_resource_list_new_line_after_left_paren = false
ij_java_resource_list_right_paren_on_new_line = false
ij_java_resource_list_wrap = off
ij_java_session_dd_suffix = EJB
ij_java_session_eb_suffix = Bean
ij_java_session_hi_suffix = Home
ij_java_session_lhi_prefix = Local
ij_java_session_lhi_suffix = Home
ij_java_session_li_prefix = Local
ij_java_session_si_suffix = Service
ij_java_space_after_closing_angle_bracket_in_type_argument = false
ij_java_space_after_colon = true
ij_java_space_after_comma = true
ij_java_space_after_comma_in_type_arguments = true
ij_java_space_after_for_semicolon = true
ij_java_space_after_quest = true
ij_java_space_after_type_cast = true
ij_java_space_before_annotation_array_initializer_left_brace = false
ij_java_space_before_annotation_parameter_list = false
ij_java_space_before_array_initializer_left_brace = false
ij_java_space_before_catch_keyword = true
ij_java_space_before_catch_left_brace = true
ij_java_space_before_catch_parentheses = true
ij_java_space_before_class_left_brace = true
ij_java_space_before_colon = true
ij_java_space_before_colon_in_foreach = true
ij_java_space_before_comma = false
ij_java_space_before_do_left_brace = true
ij_java_space_before_else_keyword = true
ij_java_space_before_else_left_brace = true
ij_java_space_before_finally_keyword = true
ij_java_space_before_finally_left_brace = true
ij_java_space_before_for_left_brace = true
ij_java_space_before_for_parentheses = true
ij_java_space_before_for_semicolon = false
ij_java_space_before_if_left_brace = true
ij_java_space_before_if_parentheses = true
ij_java_space_before_method_call_parentheses = false
ij_java_space_before_method_left_brace = true
ij_java_space_before_method_parentheses = false
ij_java_space_before_opening_angle_bracket_in_type_parameter = false
ij_java_space_before_quest = true
ij_java_space_before_switch_left_brace = true
ij_java_space_before_switch_parentheses = true
ij_java_space_before_synchronized_left_brace = true
ij_java_space_before_synchronized_parentheses = true
ij_java_space_before_try_left_brace = true
ij_java_space_before_try_parentheses = true
ij_java_space_before_type_parameter_list = false
ij_java_space_before_while_keyword = true
ij_java_space_before_while_left_brace = true
ij_java_space_before_while_parentheses = true
ij_java_space_inside_one_line_enum_braces = false
ij_java_space_within_empty_array_initializer_braces = false
ij_java_space_within_empty_method_call_parentheses = false
ij_java_space_within_empty_method_parentheses = false
ij_java_spaces_around_additive_operators = true
ij_java_spaces_around_assignment_operators = true
ij_java_spaces_around_bitwise_operators = true
ij_java_spaces_around_equality_operators = true
ij_java_spaces_around_lambda_arrow = true
ij_java_spaces_around_logical_operators = true
ij_java_spaces_around_method_ref_dbl_colon = false
ij_java_spaces_around_multiplicative_operators = true
ij_java_spaces_around_relational_operators = true
ij_java_spaces_around_shift_operators = true
ij_java_spaces_around_type_bounds_in_type_parameters = true
ij_java_spaces_around_unary_operator = false
ij_java_spaces_within_angle_brackets = false
ij_java_spaces_within_annotation_parentheses = false
ij_java_spaces_within_array_initializer_braces = false
ij_java_spaces_within_braces = false
ij_java_spaces_within_brackets = false
ij_java_spaces_within_cast_parentheses = false
ij_java_spaces_within_catch_parentheses = false
ij_java_spaces_within_for_parentheses = false
ij_java_spaces_within_if_parentheses = false
ij_java_spaces_within_method_call_parentheses = false
ij_java_spaces_within_method_parentheses = false
ij_java_spaces_within_parentheses = false
ij_java_spaces_within_switch_parentheses = false
ij_java_spaces_within_synchronized_parentheses = false
ij_java_spaces_within_try_parentheses = false
ij_java_spaces_within_while_parentheses = false
ij_java_special_else_if_treatment = true
ij_java_subclass_name_suffix = Impl
ij_java_ternary_operation_signs_on_next_line = true
ij_java_ternary_operation_wrap = normal
ij_java_test_name_suffix = Test
ij_java_throws_keyword_wrap = normal
ij_java_throws_list_wrap = off
ij_java_use_external_annotations = false
ij_java_use_fq_class_names = false
ij_java_use_single_class_imports = true
ij_java_variable_annotation_wrap = off
ij_java_visibility = public
ij_java_while_brace_force = always
ij_java_while_on_new_line = false
ij_java_wrap_comments = true
ij_java_wrap_first_method_in_call_chain = false
ij_java_wrap_long_lines = false


================================================
FILE: .gitattributes
================================================
# Auto-detect text files, ensure they use LF.
* text=auto eol=lf working-tree-encoding=UTF-8

# Bash scripts
*.sh  text eol=lf
*.cmd text eol=crlf


================================================
FILE: .github/.linkspector.yml
================================================
dirs: 
  - .
ignorePatterns:
  - pattern: "/github/"
  - pattern: "./actions"
  - pattern: "./blob"
  - pattern: "./issues"
  - pattern: "./discussions"
  - pattern: "./pulls"
  - pattern: "https:\/\/platform.openai.com"
  - pattern: "https:\/\/outlook.office.com/bookings"
excludedDirs:
  # Folders which include links to localhost, since it's not ignored with regular expressions
  - ./python/samples/demos/telemetry
  - ./python/samples/demos/process_with_dapr
  - ./dotnet/samples/Demos/ProcessWithDapr
  - ./dotnet/samples/Demos/CopilotAgentPlugins
  # Exclude folders that contain documents with links prone to becoming broken and temporarily unavailable. This should be removed when the link checker is implemented as a background job that does not block PRs.
  - ./docs/decisions
  - ./dotnet/samples
  - ./dotnet/src/IntegrationTests # Cannot reach https://www.microsoft.com/en-us/bing/apis/bing-web-search-api Status: 404" location:{path:"dotnet/src/IntegrationTests/README.md"
  - ./dotnet/src/Experimental/Orchestration.Flow.IntegrationTests # Cannot reach https://www.microsoft.com/en-us/bing/apis/bing-web-search-api Status: 404" location:{path:"dotnet/src/Experimental/Orchestration.Flow.IntegrationTests/README.md"
  - ./python/samples
baseUrl: https://github.com/microsoft/semantic-kernel/
aliveStatusCodes: 
  - 200
  - 206
  - 429
  - 500
  - 503
useGitIgnore: true


================================================
FILE: .github/CODEOWNERS
================================================
# @microsoft/octo-semantickernel-pr-dotnet owns any files in the dotnet
# directory at the root of the repository and any of its
# subdirectories.
/dotnet/ @microsoft/octo-semantickernel-pr-dotnet

# @microsoft/octo-semantickernel-pr-python owns any files in the python
# directory at the root of the repository and any of its
# subdirectories.
/python/ @microsoft/octo-semantickernel-pr-python

# @microsoft/octo-semantickernel-pr-python owns any files in the java
# directory at the root of the repository and any of its
# subdirectories.
/java/ @microsoft/octo-semantickernel-pr-java


================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve
title: 'Bug: '
type: 'bug'
labels: ["bug"]
projects: ["semantic-kernel"]
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Platform**
 - Language: [e.g. C#, Python]
 - Source: [e.g. NuGet package version 0.1.0, pip package version 0.1.0, main branch of repository]
 - AI model: [e.g. OpenAI:GPT-4o-mini(2024-07-18)]
 - IDE: [e.g. Visual Studio, VS Code]
 - OS: [e.g. Windows, Mac]

**Additional context**
Add any other context about the problem here.

================================================
FILE: .github/ISSUE_TEMPLATE/feature_graduation.md
================================================
---
name: Feature graduation
about: Plan the graduation of an experimental feature
title: 'Graduate XXX feature'
labels: ["feature_graduation"]
type: 'feature'
projects: ["semantic-kernel"]
assignees: ''

---

---
name: Feature graduation
about: Plan the graduation of an experimental feature

---

Checklist to be completed when graduating an experimental feature

- [ ] Notify PM's and EM's that feature is ready for graduation
- [ ] Contact PM for list of sample use cases
- [ ] Verify there are sample implementations​ for each of the use cases
- [ ] Verify telemetry and logging are complete
- [ ] ​Verify API docs are complete and arrange to have them published
- [ ] Make appropriate updates to Learn docs​
- [ ] Make appropriate updates to Concept samples
- [ ] Make appropriate updates to Blog posts
- [ ] Verify there are no serious open Issues​​
- [ ] Update table in EXPERIMENTS.md
- [ ] Remove SKEXP​ flag from the experimental code


================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Suggest an idea for this project
title: 'New Feature: '
labels: ''
type: 'feature'
projects: ["semantic-kernel"]
assignees: ''

---

---
name: Feature request
about: Suggest an idea for this project

---

<!-- ⚠️⚠️ Do Not Delete This! feature_request_template ⚠️⚠️ -->
<!-- Please read our Rules of Conduct: https://opensource.microsoft.com/codeofconduct/ -->
<!-- Please search existing issues to avoid creating duplicates. -->

<!-- Describe the feature you'd like. -->


================================================
FILE: .github/_typos.toml
================================================
# Typos configuration file
#
# Info:    https://github.com/marketplace/actions/typos-action
# Install: brew install typos-cli
# Install: conda install typos
# Run:     typos -c .github/_typos.toml

[files]
extend-exclude = [
    "_typos.toml",
    "package-lock.json",
    "*.bicep",
    "encoder.json",
    "vocab.bpe",
    "CodeTokenizerTests.cs",
    "test_code_tokenizer.py",
    "*response.json",
    "test_content.txt",
    "google_what_is_the_semantic_kernel.json",
    "what-is-semantic-kernel.json",
    "serializedChatHistoryV1_15_1.json",
    "MultipleFunctionsVsParameters.cs",
    "PopulationByCountry.csv",
    "PopulationByAdmin1.csv",
    "WomensSuffrage.txt",
    "SK-dotnet.slnx.DotSettings",
    "**/azure_ai_search_hotel_samples/README.md",
    "**/Demos/ProcessFrameworkWithAspire/ProcessFramework.Aspire/ProcessFramework.Aspire.ProcessOrchestrator/Program.cs",
    "**/Demos/ProcessFrameworkWithAspire/**/*.http",
    "**/samples/Concepts/Resources/travel-destination-overview.txt"
]

[default.extend-words]
ACI = "ACI"               # Azure Container Instance
exercize = "exercize"     # test typos
gramatical = "gramatical" # test typos
Guid = "Guid"             # Globally Unique Identifier
HD = "HD"                 # Test header value
EOF = "EOF"               # End of File
ans = "ans"               # Short for answers
arange = "arange"         # Method in Python numpy package
prompty = "prompty"       # prompty is a format name.
ist = "ist"               # German language
dall = "dall"             # OpenAI model name
pn = "pn"                 # Kiota parameter
nin = "nin"               # MongoDB "not in" operator
asend = "asend"           # Async generator method
Magentic = "Magentic"     # Magentic is a name of an agentic pattern

[default.extend-identifiers]
ags = "ags" # Azure Graph Service

[type.jupyter]
extend-ignore-re = [
    '"[A-Fa-f0-9]{8}"', # cell id strings
]

[type.msbuild]
extend-ignore-re = [
    'Version=".*"', # ignore package version numbers
]


================================================
FILE: .github/dependabot.yml
================================================
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
  # Maintain dependencies for nuget
  - package-ecosystem: "nuget"
    directory: "dotnet/"
    schedule:
      interval: "weekly"
      day: "monday"
    ignore:
      # For all System.* and Microsoft.Extensions/Bcl.* packages, ignore all major version updates
      - dependency-name: "System.*"
        update-types: ["version-update:semver-major"]
      - dependency-name: "Microsoft.Extensions.*"
        update-types: ["version-update:semver-major"]
      - dependency-name: "Microsoft.Bcl.*"
        update-types: ["version-update:semver-major"]
      - dependency-name: "Moq"
    labels:
      - ".NET"
      - "dependencies"

  # Maintain dependencies for pip
  - package-ecosystem: "pip"
    directory: "python/"
    schedule:
      interval: "weekly"
      day: "monday"
    labels:
      - "python"
      - "dependencies"

  # Maintain dependencies for github-actions
  - package-ecosystem: "github-actions"
    # Workflow files stored in the
    # default location of `.github/workflows`
    directory: "/"
    schedule:
      interval: "weekly"
      day: "tuesday"


================================================
FILE: .github/labeler.yml
================================================
# Add 'kernel' label to any change within Connectors, Extensions, Skills, and tests directories
kernel:
  - dotnet/src/Connectors/**/*
  - dotnet/src/Extensions/**/*
  - dotnet/src/Skills/**/*
  - dotnet/src/IntegrationTests/**/*
  - dotnet/src/SemanticKernel.UnitTests/**/*

# Add 'kernel.core' label to any change within the 'SemanticKernel', 'SemanticKernel.Abstractions', or 'SemanticKernel.MetaPackage' directories
kernel.core:
  - dotnet/src/SemanticKernel/**/*
  - dotnet/src/SemanticKernel.Abstractions/**/*
  - dotnet/src/SemanticKernel.MetaPackage/**/*

# Add 'python' label to any change within the 'python' directory
python:
  - python/**/*

# Add 'java' label to any change within the 'java' directory
java:
  - java/**/*

# Add 'samples' label to any change within the 'samples' directory
samples:
  - samples/**/*

# Add '.NET' label to any change within samples or kernel 'dotnet' directories.
.NET:
  - dotnet/**/*

# Add 'copilot chat' label to any change within the 'samples/apps/copilot-chat-app' directory
copilot chat:
  - samples/apps/copilot-chat-app/**/*

# Add 'documentation' label to any change within the 'docs' directory, or any '.md' files
documentation:
  - docs/**/*
  - '**/*.md'

# Add 'memory' label to any memory connectors in dotnet/ or python/
memory:
  - dotnet/src/Connectors/Connectors.Memory.*/**/*
  - python/semantic_kernel/connectors/memory/**/*


================================================
FILE: .github/pull_request_template.md
================================================
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
     These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone :smile:


================================================
FILE: .github/upgrades/prompts/SemanticKernelToAgentFramework.md
================================================
# Instructions for migrating from Semantic Kernel Agents to Agent Framework in .NET projects.

## Scope

When you are asked to migrate a project from `Microsoft.SemanticKernel.Agents` to `Microsoft.Agents.AI` you need to determine for which projects you need to do it.
If a single project is specified - do it for that project only. If you are asked to do it for a solution, migrate all projects in the solution
that reference `Microsoft.SemanticKernel.Agents` or related Semantic Kernel agent packages. If you don't know which projects to migrate, ask the user.

## Things to consider while doing migration

- NuGet package names, assembly names, projects names or other dependencies names are case insensitive(!). You ***must take it into account*** when doing something
  with project dependencies, like searching for dependencies or when removing them from projects etc.
- Agent Framework uses different namespace patterns and API structures compared to Semantic Kernel Agents
- Text-based heuristics should be avoided in favor of proper content type inspection when available.

## Planning

For each project that needs to be migrated, you need to do the following:

<agent_type_identification>
- Find projects depending on `Microsoft.SemanticKernel.Agents` or related Semantic Kernel agent packages (when searching for projects, if some projects are not part of the
  solution or you could not find the project, notify user and continue with other projects).
- Identify the specific Semantic Kernel agent types being used:
  - `ChatCompletionAgent` → `ChatClientAgent`
  - `OpenAIAssistantAgent` → `assistantsClient.CreateAIAgent()` (via OpenAI Assistants client extension)
  - `AzureAIAgent` → `persistentAgentsClient.CreateAIAgent()` (via Azure AI Foundry client extension)
  - `OpenAIResponseAgent` → `responsesClient.CreateAIAgent()` (via OpenAI Responses client extension)
  - `A2AAgent` → `AIAgent` (via A2A card resolver)
  - `BedrockAgent` → Custom implementation required (not supported)
- Determine if agents are being created new or retrieved from hosted services:
  - **New agents**: Use `CreateAIAgent()` methods
  - **Existing hosted agents**: Use `GetAIAgent(agentId)` methods for OpenAI Assistants and Azure AI Foundry
</agent_type_identification>

- Determine the AI provider being used (OpenAI, Azure OpenAI, Azure AI Foundry, etc.)
- Analyze tool/function registration patterns
- Review thread management and invocation patterns

## Execution

***Important***: when running steps in this section you must not pause, you must continue until you are done with all steps or you are truly unable to
continue and need user's interaction (you will be penalized if you stop unnecessarily).

Keep in mind information in the next section about differences and follow these steps in the order they are specified (you will be penalized if you do steps
below in wrong order or skip any of them):

1. For each project that has an explicit package dependency to Semantic Kernel agent packages in the project file or some imported MSBuild targets (some
   project could receive package dependencies transitively, so avoid adding new package dependencies for such projects), do the following:

- Remove the Semantic Kernel agent package references from the project file:
  - `Microsoft.SemanticKernel.Agents.Core`
  - `Microsoft.SemanticKernel.Agents.OpenAI`
  - `Microsoft.SemanticKernel.Agents.AzureAI`
  - `Microsoft.SemanticKernel` (if only used for agents)
- Add the appropriate Agent Framework package references based on the provider being used:
  - `Microsoft.Agents.AI.Abstractions` (always required)
  - `Microsoft.Agents.AI.OpenAI` (for OpenAI and Azure OpenAI providers)
  - For unsupported providers (Bedrock, CopilotStudio), note in the report that custom implementation is required
- If projects use Central Package Management, update the `Directory.Packages.props` file to remove the Semantic Kernel agent package versions in addition to
  removing package reference from projects.
  When adding the Agent Framework PackageReferences, add them to affected project files without a version and add PackageVersion elements to the
  Directory.Packages.props file with the version that supports the project's target framework.

2. Update code files using Semantic Kernel Agents in the selected projects (and in projects that depend on them since they could receive Semantic Kernel transitively):

- Find ***all*** code files in the selected projects (and in projects that depend on them since they could receive Semantic Kernel transitively).
  When doing search of code files that need changes, prefer calling search tools with `upgrade_` prefix if available. Also do pass project's root folder for all
  selected projects or projects that depend on them.
- Update the code files that use Semantic Kernel Agents to use Agent Framework instead. You never should add placeholders when updating code, or remove any comments in the code files,
  you must keep the business logic as close as possible to the original code but use new API. When checking if code file needs to be updated, you should check for
  using statements, types and API from `Microsoft.SemanticKernel.Agents` namespace (skip comments and string literal constants).
- Ensure that you replace all Semantic Kernel agent using statements with Agent Framework using statements (always check if there are any other Semantic Kernel agent
  API used in the file having any of the Semantic Kernel agent using statements; if no other API detected, Semantic Kernel agent using statements should be just removed
  instead of replaced). If there were no Semantic Kernel agent using statements in the file, do not add Agent Framework using statements.
- When replacing types you must ensure that you add using statements for them, since some types that lived in main `Microsoft.SemanticKernel.Agents` namespace live in other namespaces
  under `Microsoft.Agents.AI`. For example, `Microsoft.SemanticKernel.Agents.ChatCompletionAgent` is replaced with `Microsoft.Agents.AI.ChatClientAgent`, when that
  happens using statement with `Microsoft.Agents.AI` needs to be added (unless you use fully qualified type name)
- If you see some code that really cannot be converted or will have potential behavior changes at runtime, remember files and code lines where it
  happens at the end of the migration process you will generate a report markdown file and list all follow up steps user would have to do.

3. Validate that all places where Semantic Kernel Agents were used are migrated. To do that search for `Microsoft.SemanticKernel.Agents` in all affected projects and projects that depend
   on them again and if still see any Semantic Kernel agent presence go back to step 2. Steps 2 and 3 should be repeated until you see no Semantic Kernel agent references.

4. Build all modified projects to ensure that they compile without errors. If there are any build errors, you must fix them all yourself one by one and
   don't stop until all errors are fixed without breaking any of the migration guidance.

5. **Validate Migration**: Use the validation checklist below to ensure complete migration.

6. Generate the report file under `<solution root>\.github folder`, the file name should be `SemanticKernelToAgentFrameworkReport.md`, it is highly important that
   you generate report when migration complete. Report should contain:
     - all project dependencies changes (mention what was changed, added or removed, including provider-specific packages)
     - all code files that were changed (mention what was changed in the file, if it was not changed, just mention that the file was not changed)
     - provider-specific migration patterns used (OpenAI, Azure OpenAI, Azure AI Foundry, A2A, ONNX, etc.)
     - all cases where you could not convert the code because of unsupported features and you were unable to find a workaround
     - unsupported providers that require custom implementation (Bedrock, CopilotStudio)
     - breaking glass pattern migrations (InnerContent → RawRepresentation) and any CodeInterpreter or advanced tool usage
     - all behavioral changes that have to be verified at runtime
     - provider-specific configuration changes that may affect behavior
     - all follow up steps that user would have to do in the report markdown file

## Migration Validation Checklist

After completing migration, verify these specific items:

1. **Compilation**: Execute `dotnet build` on all modified projects - zero errors required
2. **Namespace Updates**: Confirm all `using Microsoft.SemanticKernel.Agents` statements are replaced
3. **Method Calls**: Verify all `InvokeAsync` calls are changed to `RunAsync`
4. **Return Types**: Confirm handling of `AgentRunResponse` instead of `IAsyncEnumerable<AgentResponseItem<ChatMessageContent>>`
5. **Thread Creation**: Validate all thread creation uses `agent.GetNewThread()` pattern
6. **Tool Registration**: Ensure `[KernelFunction]` attributes are removed and `AIFunctionFactory.Create()` is used
7. **Options Configuration**: Verify `AgentRunOptions` or `ChatClientAgentRunOptions` replaces `AgentInvokeOptions`
8. **Breaking Glass**: Test `RawRepresentation` access replaces `InnerContent` access

## Detailed information about differences in Semantic Kernel Agents and Agent Framework

<api_changes>
Agent Framework provides functionality for creating and managing AI agents through the Microsoft.Extensions.AI package ecosystem. The framework uses different APIs and patterns compared to Semantic Kernel Agents.

Key API differences:
- Agent creation: Remove Kernel dependency, use direct client-based creation
- Method names: `InvokeAsync` → `RunAsync`, `InvokeStreamingAsync` → `RunStreamingAsync`
- Return types: `IAsyncEnumerable<AgentResponseItem<ChatMessageContent>>` → `AgentRunResponse`
- Thread creation: Provider-specific constructors → `agent.GetNewThread()`
- Tool registration: `KernelPlugin` system → Direct `AIFunction` registration
- Options: `AgentInvokeOptions` → Provider-specific run options (e.g., `ChatClientAgentRunOptions`)
</api_changes>

<configuration_changes>
Configuration patterns have changed from Kernel-based to direct client configuration:
- Remove `Kernel.CreateBuilder()` patterns
- Replace with provider-specific client creation
- Update namespace imports from `Microsoft.SemanticKernel.Agents` to `Microsoft.Agents.AI`
- Change tool registration from attribute-based to factory-based
</configuration_changes>

### Exact API Mappings

<agent_type_identification>
Replace these Semantic Kernel agent classes with their Agent Framework equivalents:

| Semantic Kernel Class | Agent Framework Replacement | Constructor Changes |
|----------------------|----------------------------|-------------------|
| `IChatCompletionService` | `IChatClient` | Convert to `IChatClient` using `chatService.AsChatClient()` extensions |
| `ChatCompletionAgent` | `ChatClientAgent` | Remove `Kernel` parameter, add `IChatClient` parameter |
| `OpenAIAssistantAgent` | `AIAgent` (via extension) | **New**: `OpenAIClient.GetAssistantClient().CreateAIAgent()` <br> **Existing**: `OpenAIClient.GetAssistantClient().GetAIAgent(assistantId)` |
| `AzureAIAgent` | `AIAgent` (via extension) | **New**: `PersistentAgentsClient.CreateAIAgent()` <br> **Existing**: `PersistentAgentsClient.GetAIAgent(agentId)` |
| `OpenAIResponseAgent` | `AIAgent` (via extension) | Replace with `OpenAIClient.GetOpenAIResponseClient().CreateAIAgent()` |
| `A2AAgent` | `AIAgent` (via extension) | Replace with `A2ACardResolver.GetAIAgentAsync()` |
| `BedrockAgent` | Not supported | Custom implementation required |

**Important distinction:**
- **CreateAIAgent()**: Use when creating new agents in the hosted service
- **GetAIAgent(agentId)**: Use when retrieving existing agents from the hosted service
</agent_type_identification>

<api_changes>
Replace these method calls:

| Semantic Kernel Method | Agent Framework Method | Parameter Changes |
|----------------------|----------------------|------------------|
| `agent.InvokeAsync(message, thread, options)` | `agent.RunAsync(message, thread, options)` | Same parameters, different return type |
| `agent.InvokeStreamingAsync(message, thread, options)` | `agent.RunStreamingAsync(message, thread, options)` | Same parameters, different return type |
| `new ChatHistoryAgentThread()` | `agent.GetNewThread()` | No parameters needed |
| `new OpenAIAssistantAgentThread(client)` | `agent.GetNewThread()` | No parameters needed |
| `new AzureAIAgentThread(client)` | `agent.GetNewThread()` | No parameters needed |
| `thread.DeleteAsync()` | Provider-specific cleanup | Use provider client directly |

Return type changes:
- `IAsyncEnumerable<AgentResponseItem<ChatMessageContent>>` → `AgentRunResponse`
- `IAsyncEnumerable<StreamingChatMessageContent>` → `IAsyncEnumerable<AgentRunResponseUpdate>`
</api_changes>

<configuration_changes>
Replace these configuration patterns:

| Semantic Kernel Pattern | Agent Framework Pattern |
|------------------------|------------------------|
| `AgentInvokeOptions` | `AgentRunOptions` <br> **ChatClientAgent**: `ChatClientAgentRunOptions` |
| `KernelArguments` | If no arguments are provided, do nothing. If arguments are provided, template is not supported and the prompt must be rendered before calling agent |
| `[KernelFunction]` attribute | Remove attribute, use `AIFunctionFactory.Create()` |
| `KernelPlugin` registration | Direct function list in agent creation |
| `InnerContent` property | `RawRepresentation` property |
| `content.Metadata` property | `AdditionalProperties` property |
</configuration_changes>

<behavioral_changes>
### Functional Differences

Agent Framework changes these behaviors compared to Semantic Kernel Agents:

1. **Thread Management**: Agent Framework automatically manages thread state. Semantic Kernel required manual thread updates in some scenarios (e.g., OpenAI Responses).

2. **Return Types**:
   - Non-streaming: Returns single `AgentRunResponse` instead of `IAsyncEnumerable<AgentResponseItem<ChatMessageContent>>`
   - Streaming: Returns `IAsyncEnumerable<AgentRunResponseUpdate>` instead of `IAsyncEnumerable<StreamingChatMessageContent>`

3. **Tool Registration**: Agent Framework uses direct function registration without requiring `[KernelFunction]` attributes.

4. **Usage Metadata**: Agent Framework provides unified `UsageDetails` access via `response.Usage` and `update.Contents.OfType<UsageContent>()`.

5. **Breaking Glass**: Access underlying SDK objects via `RawRepresentation` instead of `InnerContent`.
</behavioral_changes>

### Namespace Updates

<configuration_changes>
Replace these exact namespace imports:

**Remove these Semantic Kernel namespaces:**
```csharp
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Agents;
using Microsoft.SemanticKernel.Agents.OpenAI;
using Microsoft.SemanticKernel.Agents.AzureAI;
using Microsoft.SemanticKernel.Agents.A2A;
using Microsoft.SemanticKernel.Connectors.OpenAI;
```

**Add these Agent Framework namespaces:**
```csharp
using Microsoft.Extensions.AI;
using Microsoft.Agents.AI;
// Provider-specific namespaces (add only if needed):
using OpenAI; // For OpenAI provider
using Azure.AI.OpenAI; // For Azure OpenAI provider
using Azure.AI.Agents.Persistent; // For Azure AI Foundry provider
using Azure.Identity; // For Azure authentication
```
</configuration_changes>

### Chat Completion Abstractions

<configuration_changes>

**Replace this Semantic Kernel pattern:**
```csharp
Kernel kernel = Kernel.CreateBuilder()
    .AddOpenAIChatCompletion(modelId, apiKey)
    .Build();

ChatCompletionAgent agent = new()
{
    Instructions = "You are a helpful assistant",
    Kernel = kernel
};
```

**With this Agent Framework pattern:**
```csharp
// Method 1: Direct constructor
IChatClient chatClient = new OpenAIClient(apiKey).GetChatClient(modelId).AsIChatClient();
AIAgent agent = new ChatClientAgent(chatClient, instructions: "You are a helpful assistant");

// Method 2: Extension method (recommended)
AIAgent agent = new OpenAIClient(apiKey)
    .GetChatClient(modelId)
    .CreateAIAgent(instructions: "You are a helpful assistant");
```
</configuration_changes>

### Chat Completion Service

<configuration_changes>

**Replace this Semantic Kernel pattern:**

```csharp
IChatCompletionService completionService = kernel.GetService<IChatCompletionService>();

ChatCompletionAgent agent = new()
{
    Instructions = "You are a helpful assistant",
    Kernel = kernel
};
```

**With this Agent Framework pattern:**

Agent Framework does not support `IChatCompletionService` directly. Instead, use `IChatClient` as the common abstraction
converting from `IChatCompletionService` to `IChatClient` via `AsChatClient()` extension method or creating a new `IChatClient`
 instance directly using the provider package dedicated extensions.

```csharp
IChatCompletionService completionService = kernel.GetService<IChatCompletionService>();
IChatClient chatClient = completionService.AsChatClient();

var agent = new ChatClientAgent(chatClient, instructions: "You are a helpful assistant");
```
</configuration_changes>

### Agent Creation Transformation

<configuration_changes>

**Replace this Semantic Kernel pattern:**
```csharp
Kernel kernel = Kernel.CreateBuilder()
    .AddOpenAIChatClient(modelId, apiKey)
    .Build();

ChatCompletionAgent agent = new()
{
    Instructions = "You are a helpful assistant",
    Kernel = kernel
};
```

**With this Agent Framework pattern:**
```csharp
// Method 1: Direct constructor (OpenAI/AzureOpenAI Package specific)
IChatClient chatClient = new OpenAIClient(apiKey).GetChatClient(modelId).AsIChatClient();
AIAgent agent = new ChatClientAgent(chatClient, instructions: "You are a helpful assistant");

// Method 2: Extension method (recommended)
AIAgent agent = new OpenAIClient(apiKey)
    .GetChatClient(modelId)
    .CreateAIAgent(instructions: "You are a helpful assistant");
```

**Required changes:**
1. Remove `Kernel.CreateBuilder()` and `.Build()` calls
2. Replace `ChatCompletionAgent` with `ChatClientAgent` or use extension methods
3. Remove `Kernel` property assignment
4. Pass `IChatClient` directly to constructor or use extension methods
</configuration_changes>

### Thread Management Transformation

<api_changes>
**Replace these Semantic Kernel thread creation patterns:**
```csharp
// Remove these provider-specific thread constructors:
AgentThread thread = new ChatHistoryAgentThread();
AgentThread thread = new OpenAIAssistantAgentThread(assistantClient);
AgentThread thread = new AzureAIAgentThread(azureClient);
```

**With this unified Agent Framework pattern:**
```csharp
// Use this single pattern for all agent types:
AgentThread thread = agent.GetNewThread();
```

**Required changes:**
1. Remove all `new [Provider]AgentThread()` constructor calls
2. Replace with `agent.GetNewThread()` method call
3. Remove provider client parameters from thread creation
4. Use the same pattern regardless of agent provider type
</api_changes>

### Tool Registration Transformation

<configuration_changes>
**Replace this Semantic Kernel tool registration pattern:**
```csharp
[KernelFunction] // Remove this attribute
[Description("Get the weather for a location")]
static string GetWeather(string location) => $"Weather in {location}";

KernelFunction kernelFunction = KernelFunctionFactory.CreateFromMethod(GetWeather);
KernelPlugin kernelPlugin = KernelPluginFactory.CreateFromFunctions("WeatherPlugin", [kernelFunction]);
kernel.Plugins.Add(kernelPlugin);

ChatCompletionAgent agent = new() { Kernel = kernel };
```

**With this Agent Framework pattern:**
```csharp
[Description("Get the weather for a location")] // Keep Description attribute
static string GetWeather(string location) => $"Weather in {location}";

AIAgent agent = chatClient.CreateAIAgent(
    instructions: "You are a helpful assistant",
    tools: [AIFunctionFactory.Create(GetWeather)]);
```

**Required changes:**
1. Remove `[KernelFunction]` attributes from methods
2. Keep `[Description]` attributes for function descriptions
3. Remove `KernelFunctionFactory.CreateFromMethod()` calls
4. Remove `KernelPluginFactory.CreateFromFunctions()` calls
5. Remove `kernel.Plugins.Add()` calls
6. Replace with `AIFunctionFactory.Create()` in tools parameter
7. Pass tools directly to agent creation method
</configuration_changes>

### Runtime Tool Registration Transformation

<configuration_changes>
In Semantic Kernel, plugins/tools could be added to the kernel after it was already built using `kernel.Plugins.Add()`. Agent Framework provides a similar capability using the builder middleware API.

**Replace this Semantic Kernel post-creation tool registration pattern:**
```csharp
// Define the tool function
[Description("Get the weather for a location")]
static string GetWeather(string location) => $"Weather in {location}";

// Semantic Kernel - Tools added after kernel is already built
Kernel kernel = kernelBuilder.Build();
ChatCompletionAgent agent = new() { Kernel = kernel };

// Later: Add tools to the existing kernel instance
KernelFunction function = KernelFunctionFactory.CreateFromMethod(GetWeather);
KernelPlugin plugin = KernelPluginFactory.CreateFromFunctions("WeatherPlugin", [function]);
kernel.Plugins.Add(plugin);

// Tools are now available on subsequent invocations
await foreach (var item in agent.InvokeAsync(userInput, thread)) { ... }
```

**With this Agent Framework pattern using builder middleware:**
```csharp
// Define the tool function
[Description("Get the weather for a location")]
static string GetWeather(string location) => $"Weather in {location}";

// Start with an existing agent
AIAgent existingAgent = chatClient.CreateAIAgent(
    instructions: "You are a helpful assistant");

// Create an augmented agent with additional tools using builder middleware
var augmentedAgent = existingAgent.AsBuilder()
    .Use(async (chatMessages, agentThread, agentRunOptions, next, cancellationToken) =>
    {
        if (agentRunOptions is ChatClientAgentRunOptions chatClientAgentRunOptions)
        {
            chatClientAgentRunOptions.ChatOptions ??= new ChatOptions();
            chatClientAgentRunOptions.ChatOptions.Tools ??= [];
            chatClientAgentRunOptions.ChatOptions.Tools.Add(AIFunctionFactory.Create(GetWeather));
        }

        return await next(chatMessages, agentThread, agentRunOptions, cancellationToken);
    })
    .Build();

// Use the augmented agent with the additional tools
AgentRunResponse result = await augmentedAgent.RunAsync(userInput, thread);
```

**Required changes:**
1. Call `AsBuilder()` on the existing agent to get a builder
2. Use the `Use()` middleware method to intercept and modify run options
3. Add tools to `ChatClientAgentRunOptions.ChatOptions.Tools` in the middleware
4. Call `Build()` to create the augmented agent instance
5. Use the new augmented agent for invocations that need the additional tools

**Note:** This pattern is the preferred approach as it provides:
- A controlled environment with a dedicated agent instance
- No disruption to existing agent usages
- Dynamic tool composition per user, tenant, or feature flags
- Modular system composition without recreating agents
</configuration_changes>

### Invocation Method Transformation

<api_changes>
**Replace this Semantic Kernel non-streaming pattern:**
```csharp
await foreach (AgentResponseItem<ChatMessageContent> item in agent.InvokeAsync(userInput, thread, options))
{
    Console.WriteLine(item.Message);
}
```

**With this Agent Framework non-streaming pattern:**
```csharp
AgentRunResponse result = await agent.RunAsync(userInput, thread, options);
Console.WriteLine(result);
```

**Replace this Semantic Kernel streaming pattern:**
```csharp
await foreach (StreamingChatMessageContent update in agent.InvokeStreamingAsync(userInput, thread, options))
{
    Console.Write(update.Message);
}
```

**With this Agent Framework streaming pattern:**
```csharp
await foreach (AgentRunResponseUpdate update in agent.RunStreamingAsync(userInput, thread, options))
{
    Console.Write(update);
}
```

**Required changes:**
1. Replace `agent.InvokeAsync()` with `agent.RunAsync()`
2. Replace `agent.InvokeStreamingAsync()` with `agent.RunStreamingAsync()`
3. Change return type handling from `IAsyncEnumerable<AgentResponseItem<ChatMessageContent>>` to `AgentRunResponse`
4. Change streaming type from `StreamingChatMessageContent` to `AgentRunResponseUpdate`
5. Remove `await foreach` for non-streaming calls
6. Access message content directly from result object instead of iterating
</api_changes>

### Options and Configuration Transformation

<configuration_changes>
**Replace this Semantic Kernel options pattern:**
```csharp
OpenAIPromptExecutionSettings settings = new() { MaxTokens = 1000 };
AgentInvokeOptions options = new() { KernelArguments = new(settings) };
```

**With this Agent Framework options pattern:**
```csharp
ChatClientAgentRunOptions options = new(new ChatOptions { MaxOutputTokens = 1000 });
```

**Required changes:**
1. Remove `OpenAIPromptExecutionSettings` (or other provider-specific settings)
2. Remove `AgentInvokeOptions` wrapper
3. Remove `KernelArguments` wrapper
4. Replace with `ChatClientAgentRunOptions` containing `ChatOptions`
5. Update property names: `MaxTokens` → `MaxOutputTokens`
6. Pass options directly to `RunAsync()` or `RunStreamingAsync()` methods
</configuration_changes>

### Dependency Injection Transformation

<configuration_changes>
**Replace this Semantic Kernel DI pattern:**

Different providers require different kernel extensions:

```csharp
services.AddKernel().AddOpenAIChatClient(modelId, apiKey);
services.AddTransient<ChatCompletionAgent>(sp => new()
{
    Kernel = sp.GetRequiredService<Kernel>(),
    Instructions = "You are helpful"
});
```

**With this Agent Framework DI pattern:**
```csharp
services.AddTransient<AIAgent>(sp =>
    new OpenAIClient(apiKey)
        .GetChatClient(modelId)
        .CreateAIAgent(instructions: "You are helpful"));
```

**Required changes:**
1. Remove `services.AddKernel()` registration
2. Remove provider-specific kernel extensions (e.g., `.AddOpenAIChatClient()`)
3. Replace `ChatCompletionAgent` with `AIAgent` in service registration
4. Remove `Kernel` dependency from constructor
5. Use direct client creation and extension methods
6. Remove `sp.GetRequiredService<Kernel>()` calls
</configuration_changes>

### Thread Cleanup Transformation

<api_changes>
**Replace this Semantic Kernel cleanup pattern:**
```csharp
await thread.DeleteAsync(); // For hosted threads
```

**With these Agent Framework cleanup patterns:**

For every thread created if there's intent to cleanup, the caller should track all the created threads for the provider that support hosted threads for cleanup purposes.

```csharp
// For OpenAI Assistants (when cleanup is needed):
var assistantClient = new OpenAIClient(apiKey).GetAssistantClient();
await assistantClient.DeleteThreadAsync(thread.ConversationId);

// For Azure AI Foundry (when cleanup is needed):
var persistentClient = new PersistentAgentsClient(endpoint, credential);
await persistentClient.Threads.DeleteThreadAsync(thread.ConversationId);

// No thread and agent cleanup is needed for non-hosted agent providers like 
// - Azure OpenAI Chat Completion
// - OpenAI Chat Completion
// - Azure OpenAI Responses
// - OpenAI Responses
```

**Required changes:**
1. Remove `thread.DeleteAsync()` calls
2. Use provider-specific client for cleanup when required
3. Access thread ID via `thread.ConversationId` property
4. Only implement cleanup for providers that require it (Assistants, Azure AI Foundry)
</api_changes>

### Provider-Specific Creation Patterns

<configuration_changes>
Use these exact patterns for each provider:

**OpenAI Chat Completion:**
```csharp
AIAgent agent = new OpenAIClient(apiKey)
    .GetChatClient(modelId)
    .CreateAIAgent(instructions: instructions);
```

**OpenAI Assistants (New):**
```csharp
AIAgent agent = new OpenAIClient(apiKey)
    .GetAssistantClient()
    .CreateAIAgent(modelId, instructions: instructions);
```

**OpenAI Assistants (Existing):**
```csharp
AIAgent agent = new OpenAIClient(apiKey)
    .GetAssistantClient()
    .GetAIAgent(assistantId);
```

**Azure OpenAI:**
```csharp
AIAgent agent = new AzureOpenAIClient(endpoint, credential)
    .GetChatClient(deploymentName)
    .CreateAIAgent(instructions: instructions);
```

**Azure AI Foundry (New):**
```csharp
AIAgent agent = new PersistentAgentsClient(endpoint, credential)
    .CreateAIAgent(model: deploymentName, instructions: instructions);
```

**Azure AI Foundry (Existing):**
```csharp
AIAgent agent = await new PersistentAgentsClient(endpoint, credential)
    .GetAIAgentAsync(agentId);
```

**A2A:**
```csharp
A2ACardResolver resolver = new(new Uri(agentHost));
AIAgent agent = await resolver.GetAIAgentAsync();
```
</configuration_changes>

### Complete Migration Examples

#### Basic Agent Creation Transformation
<configuration_changes>
**Replace this complete Semantic Kernel pattern:**
```csharp
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Agents;

Kernel kernel = Kernel.CreateBuilder()
    .AddOpenAIChatClient(modelId, apiKey)
    .Build();

ChatCompletionAgent agent = new()
{
    Instructions = "You are helpful",
    Kernel = kernel
};

AgentThread thread = new ChatHistoryAgentThread();
```

**With this complete Agent Framework pattern:**
```csharp
using Microsoft.Agents.AI;
using OpenAI;

AIAgent agent = new OpenAIClient(apiKey)
    .GetChatClient(modelId)
    .CreateAIAgent(instructions: "You are helpful");

AgentThread thread = agent.GetNewThread();
```
</configuration_changes>

#### Tool Registration Transformation
<configuration_changes>
**Replace this complete Semantic Kernel tool pattern:**
```csharp
[KernelFunction] // Remove this attribute
[Description("Get weather information")]
static string GetWeather([Description("Location")] string location)
    => $"Weather in {location}";

KernelFunction function = KernelFunctionFactory.CreateFromMethod(GetWeather);
KernelPlugin plugin = KernelPluginFactory.CreateFromFunctions("Weather", [function]);
kernel.Plugins.Add(plugin);
```

**With this complete Agent Framework tool pattern:**
```csharp
[Description("Get weather information")] // Keep this attribute
static string GetWeather([Description("Location")] string location)
    => $"Weather in {location}";

AIAgent agent = chatClient.CreateAIAgent(
    instructions: "You are a helpful assistant",
    tools: [AIFunctionFactory.Create(GetWeather)]);
```
</configuration_changes>

#### Agent Invocation Transformation
<api_changes>
**Replace this complete Semantic Kernel invocation pattern:**
```csharp
OpenAIPromptExecutionSettings settings = new() { MaxTokens = 1000 };
AgentInvokeOptions options = new() { KernelArguments = new(settings) };

await foreach (var result in agent.InvokeAsync(input, thread, options))
{
    Console.WriteLine(result.Message);
}
```

**With this complete Agent Framework invocation pattern:**
```csharp
ChatClientAgentRunOptions options = new(new ChatOptions { MaxOutputTokens = 1000 });

AgentRunResponse result = await agent.RunAsync(input, thread, options);
Console.WriteLine(result);

// Access underlying content when needed:
var chatResponse = result.RawRepresentation as ChatResponse;
// Access underlying SDK objects via chatResponse?.RawRepresentation
```
</api_changes>

### Usage Metadata Transformation

<api_changes>
**Replace this Semantic Kernel non-streaming usage pattern:**
```csharp
await foreach (var result in agent.InvokeAsync(input, thread, options))
{
    if (result.Message.Metadata?.TryGetValue("Usage", out object? usage) ?? false)
    {
        if (usage is ChatTokenUsage openAIUsage)
        {
            Console.WriteLine($"Tokens: {openAIUsage.TotalTokenCount}");
        }
    }
}
```

**With this Agent Framework non-streaming usage pattern:**
```csharp
AgentRunResponse result = await agent.RunAsync(input, thread, options);
Console.WriteLine($"Tokens: {result.Usage.TotalTokenCount}");
```

**Replace this Semantic Kernel streaming usage pattern:**
```csharp
await foreach (StreamingChatMessageContent response in agent.InvokeStreamingAsync(message, agentThread))
{
    if (response.Metadata?.TryGetValue("Usage", out object? usage) ?? false)
    {
        if (usage is ChatTokenUsage openAIUsage)
        {
            Console.WriteLine($"Tokens: {openAIUsage.TotalTokenCount}");
        }
    }
}
```

**With this Agent Framework streaming usage pattern:**
```csharp
await foreach (AgentRunResponseUpdate update in agent.RunStreamingAsync(input, thread, options))
{
    if (update.Contents.OfType<UsageContent>().FirstOrDefault() is { } usageContent)
    {
        Console.WriteLine($"Tokens: {usageContent.Details.TotalTokenCount}");
    }
}
```
</api_changes>



### Breaking Glass Pattern Transformation

<api_changes>
**Replace this Semantic Kernel breaking glass pattern:**
```csharp
await foreach (var content in agent.InvokeAsync(userInput, thread))
{
    UnderlyingSdkType? underlyingChatMessage = content.Message.InnerContent as UnderlyingSdkType;
}
```

**With this Agent Framework breaking glass pattern:**
```csharp
var agentRunResponse = await agent.RunAsync(userInput, thread);

// If the agent uses a ChatClient the first breaking glass probably will be a Microsoft.Extensions.AI.ChatResponse
ChatResponse? chatResponse = agentRunResponse.RawRepresentation as ChatResponse;

// If thats the case, to access the underlying SDK types you will need to break glass again.
UnderlyingSdkType? underlyingChatMessage = chatResponse?.RawRepresentation as UnderlyingSdkType;
```

**Required changes:**
1. Replace `InnerContent` property access with `RawRepresentation` property access
2. Cast `RawRepresentation` to appropriate type expected
3. If the `RawRepresentation` is a `Microsoft.Extensions.AI` type, break glass again to access the underlying SDK types
</api_changes>

#### CodeInterpreter Tool Transformation

<behavioral_changes>
**Replace this Semantic Kernel CodeInterpreter pattern:**
```csharp
await foreach (var content in agent.InvokeAsync(userInput, thread))
{
    bool isCode = content.Message.Metadata?.ContainsKey(AzureAIAgent.CodeInterpreterMetadataKey) ?? false;
    Console.WriteLine($"# {content.Message.Role}{(isCode ? "\n# Generated Code:\n" : ":")}{content.Message.Content}");

    // Process annotations
    foreach (var item in content.Message.Items)
    {
        if (item is AnnotationContent annotation)
        {
            Console.WriteLine($"[{item.GetType().Name}] {annotation.Label}: File #{annotation.ReferenceId}");
        }
        else if (item is FileReferenceContent fileReference)
        {
            Console.WriteLine($"[{item.GetType().Name}] File #{fileReference.FileId}");
        }
    }
}
```

**With this Agent Framework CodeInterpreter pattern:**
```csharp
var result = await agent.RunAsync(userInput, thread);
Console.WriteLine(result);

// Extract chat response MEAI type via first level breaking glass
var chatResponse = result.RawRepresentation as ChatResponse;

// Extract underlying SDK updates via second level breaking glass
var underlyingStreamingUpdates = chatResponse?.RawRepresentation as IEnumerable<object?> ?? [];

StringBuilder generatedCode = new();
foreach (object? underlyingUpdate in underlyingStreamingUpdates ?? [])
{
    if (underlyingUpdate is RunStepDetailsUpdate stepDetailsUpdate && stepDetailsUpdate.CodeInterpreterInput is not null)
    {
        generatedCode.Append(stepDetailsUpdate.CodeInterpreterInput);
    }
}

if (!string.IsNullOrEmpty(generatedCode.ToString()))
{
    Console.WriteLine($"\n# {chatResponse?.Messages[0].Role}:Generated Code:\n{generatedCode}");
}
```

**Functional differences:**
1. Code interpreter output is separate from text content, not a metadata property
2. Access code via `RunStepDetailsUpdate.CodeInterpreterInput` instead of metadata
3. Use breaking glass pattern to access underlying SDK objects
4. Process text content and code interpreter output independently
</behavioral_changes>

#### Provider-Specific Options Configuration

<configuration_changes>
For advanced model settings not available in `ChatOptions`, use the `RawRepresentationFactory` property:

```csharp
var agentOptions = new ChatClientAgentRunOptions(new ChatOptions
{
    MaxOutputTokens = 8000,
    // Breaking glass to access provider-specific options
    RawRepresentationFactory = (_) => new OpenAI.Responses.CreateResponseOptions()
    {
        TruncationMode = OpenAI.Responses.ResponseTruncationMode.Auto,
    }
});
```

**Use this pattern when:**
1. Standard `ChatOptions` properties don't cover required model settings
2. Provider-specific configuration is needed (e.g., truncation mode)
3. Advanced SDK features need to be accessed
</configuration_changes>

#### Type-Safe Extension Methods

<api_changes>
Use provider-specific extension methods for safer breaking glass access:

```csharp
using OpenAI; // Brings in extension methods

// Type-safe extraction of OpenAI ChatCompletion
var chatCompletion = result.AsChatCompletion();

// Access underlying OpenAI objects safely
var openAIResponse = chatCompletion.GetRawResponse();
```

**Available extension methods:**
- `result.AsChatCompletion()` for OpenAI providers
- `result.GetRawResponse()` for accessing underlying SDK responses
- Provider-specific extensions for type-safe casting
</api_changes>



### Common Migration Issues and Solutions

<configuration_changes>
**Issue: Missing Using Statements**
- **Problem**: Compilation errors due to missing namespace imports
- **Solution**: Add `using Microsoft.Agents.AI;` and remove `using Microsoft.SemanticKernel.Agents;`

**Issue: Tool Function Signatures**
- **Problem**: `[KernelFunction]` attributes cause compilation errors
- **Solution**: Remove `[KernelFunction]` attributes, keep `[Description]` attributes

**Issue: Thread Type Mismatches**
- **Problem**: Provider-specific thread constructors not found
- **Solution**: Replace all thread constructors with `agent.GetNewThread()`

**Issue: Options Configuration**
- **Problem**: `AgentInvokeOptions` type not found
- **Solution**: Replace with `AgentRunOptions` or `ChatClientAgentRunOptions` containing `ChatOptions`

**Issue: Dependency Injection**
- **Problem**: `Kernel` service registration not found
- **Solution**: Remove `services.AddKernel()`, use direct client registration
</configuration_changes>

### Migration Execution Steps

<configuration_changes>
1. **Update Package References**: Remove SK packages, add AF packages per provider
2. **Update Namespaces**: Replace SK namespaces with AF namespaces
3. **Update Agent Creation**: Remove Kernel, use direct client creation
4. **Update Method Calls**: Replace `InvokeAsync` with `RunAsync`
5. **Update Thread Creation**: Replace provider-specific constructors with `GetNewThread()`
6. **Update Tool Registration**: Remove attributes, use `AIFunctionFactory.Create()`
7. **Update Options**: Replace `AgentInvokeOptions` with provider-specific options
8. **Test and Validate**: Compile and test all functionality
</configuration_changes>

## Provider-Specific Migration Patterns

<configuration_changes>
The following sections provide detailed migration patterns for each supported provider, covering package references, agent creation patterns, and provider-specific configurations.
</configuration_changes>

### 1. OpenAI Chat Completion Migration

<configuration_changes>
**Remove Semantic Kernel Packages:**
```xml
<PackageReference Include="Microsoft.SemanticKernel.Agents.OpenAI" />
```

**Add Agent Framework Packages:**
```xml
<PackageReference Include="Microsoft.Agents.AI.OpenAI" />
```
</configuration_changes>

**Before (Semantic Kernel):**
```csharp
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Agents;

Kernel kernel = Kernel.CreateBuilder()
    .AddOpenAIChatClient(modelId, apiKey)
    .Build();

ChatCompletionAgent agent = new()
{
    Instructions = "You are a helpful assistant",
    Kernel = kernel
};

AgentThread thread = new ChatHistoryAgentThread();
```

**After (Agent Framework):**
```csharp
using Microsoft.Agents.AI;
using OpenAI;

AIAgent agent = new OpenAIClient(apiKey)
    .GetChatClient(modelId)
    .CreateAIAgent(instructions: "You are a helpful assistant");

AgentThread thread = agent.GetNewThread();
```

### 2. Azure OpenAI Chat Completion Migration

<configuration_changes>
**Remove Semantic Kernel Packages:**
```xml
<PackageReference Include="Microsoft.SemanticKernel.Agents.OpenAI" />
<PackageReference Include="Azure.AI.OpenAI" />
<PackageReference Include="Azure.Identity" />
```

**Add Agent Framework Packages:**
```xml
<PackageReference Include="Microsoft.Agents.AI.OpenAI" />
<PackageReference Include="Azure.AI.OpenAI" />
<PackageReference Include="Azure.Identity" />
```

**Note**: If not using `AzureCliCredential`, you can use `ApiKeyCredential` instead without the `Azure.Identity` package.
</configuration_changes>

**Before (Semantic Kernel):**
```csharp
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Agents;
using Azure.Identity;

Kernel kernel = Kernel.CreateBuilder()
    .AddAzureOpenAIChatClient(deploymentName, endpoint, new AzureCliCredential())
    .Build();

ChatCompletionAgent agent = new()
{
    Instructions = "You are a helpful assistant",
    Kernel = kernel
};
```

**After (Agent Framework):**
```csharp
using Microsoft.Agents.AI;
using Azure.AI.OpenAI;
using Azure.Identity;

AIAgent agent = new AzureOpenAIClient(new Uri(endpoint), new AzureCliCredential())
    .GetChatClient(deploymentName)
    .CreateAIAgent(instructions: "You are a helpful assistant");
```

### 3. OpenAI Assistants Migration

<configuration_changes>
**Remove Semantic Kernel Packages:**
```xml
<PackageReference Include="Microsoft.SemanticKernel.Agents.OpenAI" />
```

**Add Agent Framework Packages:**
```xml
<PackageReference Include="Microsoft.Agents.AI.OpenAI" />
```
</configuration_changes>

<api_changes>
**Replace this Semantic Kernel pattern:**
```csharp
using Microsoft.SemanticKernel.Agents.OpenAI;
using OpenAI.Assistants;

AssistantClient assistantClient = new(apiKey);
Assistant assistant = await assistantClient.CreateAssistantAsync(
    modelId,
    instructions: "You are a helpful assistant");

OpenAIAssistantAgent agent = new(assistant, assistantClient)
{
    Kernel = kernel
};

AgentThread thread = new OpenAIAssistantAgentThread(assistantClient);
```

**With this Agent Framework pattern:**

**Creating a new assistant:**
```csharp
using Microsoft.Agents.AI;
using OpenAI;

AIAgent agent = new OpenAIClient(apiKey)
    .GetAssistantClient()
    .CreateAIAgent(modelId, instructions: "You are a helpful assistant");

AgentThread thread = agent.GetNewThread();

// Cleanup when needed
await assistantClient.DeleteThreadAsync(thread.ConversationId);
```

**Retrieving an existing assistant:**
```csharp
using Microsoft.Agents.AI;
using OpenAI;

AIAgent agent = new OpenAIClient(apiKey)
    .GetAssistantClient()
    .GetAIAgent(assistantId); // Use existing assistant ID

AgentThread thread = agent.GetNewThread();
```
</api_changes>

### 4. Azure AI Foundry (AzureAIAgent) Migration

<configuration_changes>
**Remove Semantic Kernel Packages:**
```xml
<PackageReference Include="Microsoft.SemanticKernel.Agents.AzureAI" />
<PackageReference Include="Azure.Identity" />
```

**Add Agent Framework Packages:**
```xml
<PackageReference Include="Microsoft.Agents.AI.AzureAI" />
<PackageReference Include="Azure.Identity" />
```
</configuration_changes>

<api_changes>
**Replace these Semantic Kernel patterns:**

**Pattern 1: Direct AzureAIAgent creation**
```csharp
using Microsoft.SemanticKernel.Agents.AzureAI;
using Azure.Identity;

AzureAIAgent agent = new(
    endpoint: new Uri(endpoint),
    credential: new AzureCliCredential(),
    projectId: projectId)
{
    Instructions = "You are a helpful assistant"
};

AgentThread thread = new AzureAIAgentThread(agent);
```

**Pattern 2: PersistentAgent definition creation**
```csharp
// Define the agent
PersistentAgent definition = await client.Administration.CreateAgentAsync(
    deploymentName,
    tools: [new CodeInterpreterToolDefinition()]);

AzureAIAgent agent = new(definition, client);

// Create a thread for the agent conversation.
AgentThread thread = new AzureAIAgentThread(client);
```

**With these Agent Framework patterns:**

**Creating a new agent:**
```csharp
using Microsoft.Agents.AI;
using Azure.AI.Agents.Persistent;
using Azure.Identity;

var client = new PersistentAgentsClient(endpoint, new AzureCliCredential());

// Create a new AIAgent using Agent Framework
AIAgent agent = client.CreateAIAgent(
    model: deploymentName,
    instructions: "You are a helpful assistant",
    tools: [/* List of specialized Azure.AI.Agents.Persistent.ToolDefinition types */]);

AgentThread thread = agent.GetNewThread();
```

**Retrieving an existing agent:**
```csharp
using Microsoft.Agents.AI;
using Azure.AI.Agents.Persistent;
using Azure.Identity;

var client = new PersistentAgentsClient(endpoint, new AzureCliCredential());

// Retrieve an existing AIAgent using its ID
AIAgent agent = await client.GetAIAgentAsync(agentId);

AgentThread thread = agent.GetNewThread();
```
</api_changes>

### 5. A2A Migration

<configuration_changes>
**Remove Semantic Kernel Packages:**
```xml
<PackageReference Include="Microsoft.SemanticKernel.Agents.A2A" />
```

**Add Agent Framework Packages:**
```xml
<PackageReference Include="Microsoft.Agents.AI.A2A" />
```
</configuration_changes>

<api_changes>
**Replace this Semantic Kernel pattern:**
```csharp
// Create an A2A agent instance
using var httpClient = CreateHttpClient();
var client = new A2AClient(url, httpClient);
var cardResolver = new A2ACardResolver(url, httpClient);
var agentCard = await cardResolver.GetAgentCardAsync();
var agent = new A2AAgent(client, agentCard);
```

**With this Agent Framework pattern:**
```csharp
// Initialize an A2ACardResolver to get an A2A agent card.
A2ACardResolver agentCardResolver = new(new Uri(a2aAgentHost));

// Create an instance of the AIAgent for an existing A2A agent specified by the agent card.
AIAgent agent = await agentCardResolver.GetAIAgentAsync();
```
</api_changes>

### 6. OpenAI Responses Migration

<configuration_changes>
**Remove Semantic Kernel Packages:**
```xml
<PackageReference Include="Microsoft.SemanticKernel.Agents.OpenAI" />
```

**Add Agent Framework Packages:**
```xml
<PackageReference Include="Microsoft.Agents.AI.OpenAI" />
```
</configuration_changes>

<api_changes>
**Replace this Semantic Kernel pattern:**

The thread management is done manually with OpenAI Responses in Semantic Kernel, where the thread
needs to be passed to the `InvokeAsync` method and updated with the `item.Thread` from the response.

```csharp
using Microsoft.SemanticKernel.Agents.OpenAI;

// Define the agent
OpenAIResponseAgent agent = new(new OpenAIClient(apiKey))
{
    Name = "ResponseAgent",
    Instructions = "Answer all queries in English and French.",
};

// Initial thread can be null as it will be automatically created
AgentThread? agentThread = null;

var responseItems = agent.InvokeAsync(new ChatMessageContent(AuthorRole.User, "Input message."), agentThread);
await foreach (AgentResponseItem<ChatMessageContent> responseItem in responseItems)
{
    // Update the thread to maintain the conversation for future interaction
    agentThread = responseItem.Thread;

    WriteAgentChatMessage(responseItem.Message);
}
```

**With this Agent Framework pattern:**

Agent Framework automatically manages the thread, so there's no need to manually update it.

```csharp
using Microsoft.Agents.AI.OpenAI;

AIAgent agent = new OpenAIClient(apiKey)
    .GetOpenAIResponseClient(modelId)
    .CreateAIAgent(
        name: "ResponseAgent",
        instructions: "Answer all queries in English and French.",
        tools: [/* AITools */]);

AgentThread thread = agent.GetNewThread();

var result = await agent.RunAsync(userInput, thread);

// The thread will be automatically updated with the new response id from this point
```
</api_changes>

### 7. Azure OpenAI Responses Migration

<configuration_changes>
**Remove Semantic Kernel Packages:**
```xml
<PackageReference Include="Microsoft.SemanticKernel.Agents.OpenAI" />
<PackageReference Include="Azure.AI.OpenAI" />
```

**Add Agent Framework Packages:**
```xml
<PackageReference Include="Microsoft.Agents.AI.OpenAI" />
<PackageReference Include="Azure.AI.OpenAI" />
```
</configuration_changes>

<api_changes>
**Replace this Semantic Kernel pattern:**

Azure OpenAI Responses uses `AzureOpenAIClient` instead of `OpenAIClient`. The thread management is done manually where the thread needs to be passed to the `InvokeAsync` method and updated with the `item.Thread` from the response.

```csharp
using Microsoft.SemanticKernel.Agents.OpenAI;
using Azure.AI.OpenAI;

// Define the agent
OpenAIResponseAgent agent = new(new AzureOpenAIClient(endpoint, new AzureCliCredential()))
{
    Name = "ResponseAgent",
    Instructions = "Answer all queries in English and French.",
};

// Initial thread can be null as it will be automatically created
AgentThread? agentThread = null;

var responseItems = agent.InvokeAsync(new ChatMessageContent(AuthorRole.User, "Input message."), agentThread);
await foreach (AgentResponseItem<ChatMessageContent> responseItem in responseItems)
{
    // Update the thread to maintain the conversation for future interaction
    agentThread = responseItem.Thread;

    WriteAgentChatMessage(responseItem.Message);
}
```

**With this Agent Framework pattern:**

Agent Framework automatically manages the thread, so there's no need to manually update it.

```csharp
using Microsoft.Agents.AI.OpenAI;
using Azure.AI.OpenAI;

AIAgent agent = new AzureOpenAIClient(endpoint, new AzureCliCredential())
    .GetOpenAIResponseClient(modelId)
    .CreateAIAgent(
        name: "ResponseAgent",
        instructions: "Answer all queries in English and French.",
        tools: [/* AITools */]);

AgentThread thread = agent.GetNewThread();

var result = await agent.RunAsync(userInput, thread);

// The thread will be automatically updated with the new response id from this point
```
</api_changes>

### 8. A2A Migration

<configuration_changes>
**Remove Semantic Kernel Packages:**
```xml
<PackageReference Include="Microsoft.SemanticKernel.Agents.A2A" />
```

**Add Agent Framework Packages:**
```xml
<PackageReference Include="Microsoft.Agents.AI.A2A" />
```
</configuration_changes>

<api_changes>
**Replace this Semantic Kernel pattern:**
```csharp
using A2A;
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Agents;
using Microsoft.SemanticKernel.Agents.A2A;

using var httpClient = CreateHttpClient();
var client = new A2AClient(agentUrl, httpClient);
var cardResolver = new A2ACardResolver(url, httpClient);
var agentCard = await cardResolver.GetAgentCardAsync();
Console.WriteLine(JsonSerializer.Serialize(agentCard, s_jsonSerializerOptions));
var agent = new A2AAgent(client, agentCard);
```

**With this Agent Framework pattern:**
```csharp
using System;
using A2A;
using Microsoft.Agents.AI;
using Microsoft.Agents.AI.A2A;

// Initialize an A2ACardResolver to get an A2A agent card.
A2ACardResolver agentCardResolver = new(new Uri(a2aAgentHost));

// Create an instance of the AIAgent for an existing A2A agent specified by the agent card.
AIAgent agent = await agentCardResolver.GetAIAgentAsync();
```
</api_changes>

### 9. Unsupported Providers (Require Custom Implementation)

<behavioral_changes>
#### BedrockAgent Migration

**Status**: Hosted Agents is not directly supported in Agent Framework

**Status**: Non-Hosted AI Model Agents supported via `ChatClientAgent`

**Replace this Semantic Kernel pattern:**
```csharp
using Microsoft.SemanticKernel.Agents.Bedrock;

// Create a new agent on the Bedrock Agent service and prepare it for use
using var client =  new AmazonBedrockAgentClient();
using var runtimeClient = new AmazonBedrockAgentRuntimeClient();
var agentModel = await client.CreateAndPrepareAgentAsync(new CreateAgentRequest()
    {
        AgentName = agentName,
        Description = "AgentDescription",
        Instruction = "You are a helpful assistant",
        AgentResourceRoleArn = TestConfiguration.BedrockAgent.AgentResourceRoleArn,
        FoundationModel = TestConfiguration.BedrockAgent.FoundationModel,
    });

// Create a new BedrockAgent instance with the agent model and the client
// so that we can interact with the agent using Semantic Kernel contents.
var agent = new BedrockAgent(agentModel, client, runtimeClient);
```

**With this Agent Framework workaround:**

Currently there's no support for the Hosted Bedrock Agent service in Agent Framework.

For providers like AWS Bedrock that have an `IChatClient` implementation available, use the `ChatClientAgent` directly by providing the `IChatClient` instance to the agent.

_Those agents will be purely backed by the AI chat models behavior and will not store any state in the server._

```csharp
using Microsoft.Agents.AI;

services.TryAddAWSService<IAmazonBedrockRuntime>();
var serviceProvider = services.BuildServiceProvider();
IAmazonBedrockRuntime runtime = serviceProvider.GetRequiredService<IAmazonBedrockRuntime>();

using var bedrockChatClient = runtime.AsIChatClient();
AIAgent agent = new ChatClientAgent(bedrockChatClient, instructions: "You are a helpful assistant");
```
</behavioral_changes>

### Unsupported Features that need workarounds

<behavioral_changes>
The following Semantic Kernel Agents features currently don't have direct equivalents in Agent Framework:

#### Plugins Migration

**Problem**: Semantic Kernel plugins allowed multiple functions to be registered under a type or object instance

**Semantic Kernel pattern**
```csharp
// Create plugin with multiple functions
public class WeatherPlugin
{
    [KernelFunction, Description("Get current weather")]
    public string GetCurrentWeather(string location) 
        => $"Weather in {location}: Sunny";

    [KernelFunction, Description("Get weather forecast")]
    public static Task<string> GetForecastAsync(string location, int days) 
        => Task.FromResult($"Forecast for {location}: {days} days");
}

kernel.Plugins.AddFromType<WeatherPlugin>();
// OR
kernel.Plugins.AddFromObject(new WeatherPlugin());
```

**Agent Framework workaround:**

```csharp
// Create individual functions (no plugin grouping)
public class WeatherFunctions
{
    [Description("Get current weather")]
    public static string GetCurrentWeather(string location) 
        => $"Weather in {location}: Sunny";

    [Description("Get weather forecast")]
    public Task<string> GetForecastAsync(string location, int days) 
        => Task.FromResult($"Forecast for {location}: {days} days");
}

var weatherService = new WeatherFunctions();

// Register functions individually as tools
AITool[] tools = [
    AIFunctionFactory.Create(WeatherFunctions.GetCurrentWeather), // Get from type static method
    AIFunctionFactory.Create(weatherService.GetForecastAsync) // Get from instance method
];

// OR Iterate over the type or instance if many functions are needed for registration
AITool[] tools =
[
    .. typeof(WeatherFunctions)
        .GetMethods(BindingFlags.Static | BindingFlags.Public)
        .Select((m) => AIFunctionFactory.Create(m, target: null)), // Get from type static methods
    .. weatherService.GetType()
        .GetMethods(BindingFlags.Instance | BindingFlags.Public)
        .Select((m) => AIFunctionFactory.Create(m, target: weatherService)) // Get from instance methods
];

AIAgent agent = new OpenAIClient(apiKey)
    .GetChatClient(modelId)
    .CreateAIAgent(
        instructions: "You are a weather assistant",
        tools: tools);
```

#### Prompt Template Migration

**Problem**: Agent prompt templating is not yet supported in Agent Framework

**Semantic Kernel pattern**
```csharp
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Agents;

var template = "Tell a story about {{$topic}} that is {{$length}} sentences long.";

ChatCompletionAgent agent =
    new(templateFactory: new KernelPromptTemplateFactory(),
        templateConfig: new(template) { TemplateFormat = PromptTemplateConfig.SemanticKernelTemplateFormat })
    {
        Kernel = kernel,
        Name = "StoryTeller",
        Arguments = new KernelArguments()
        {
            { "topic", "Dog" },
            { "length", "3" },
        }
    };
```

**Agent Framework workaround**

```csharp
using Microsoft.Agents.AI;
using Microsoft.SemanticKernel; 

// Manually render template
var template = "Tell a story about {{$topic}} that is {{$length}} sentences long.";

var renderedTemplate = await new KernelPromptTemplateFactory()
    .Create(new PromptTemplateConfig(template))
    .RenderAsync(new Kernel(), new KernelArguments()
    {
        ["topic"] = "Dog",
        ["length"] = "3"
    });

AIAgent agent = new OpenAIClient(apiKey)
    .GetChatClient(modelId)
    .CreateAIAgent(instructions: renderedTemplate);

// No template variables in invocation - use plain string
var result = await agent.RunAsync("What's the weather?", thread);
Console.WriteLine(result);
```
</behavioral_changes>

### 10. Function Invocation Filtering

**Invocation Context**

Semantic Kernel's `IAutoFunctionInvocationFilter` provides a `AutoFunctionInvocationContext` where Agent Framework provides `FunctionInvocationContext` 

The property mapping guide from a `AutoFunctionInvocationContext` to a `FunctionInvocationContext` is as follows:

| SK | AF |
| --- | --- |
| RequestSequenceIndex | Iteration |
| FunctionSequenceIndex | FunctionCallIndex |
| ToolCallId | CallContent.CallId |
| ChatMessageContent | Messages[0] |
| ExecutionSettings | Options |
| ChatHistory | Messages |
| Function | Function |
| Kernel | N/A |
| Result | Use `return` from the delegate |
| Terminate | Terminate |
| CancellationToken | provided via argument to middleware delegate |
| Arguments | Arguments |

#### Semantic Kernel

```csharp
// Filter specifically for functions calling
public sealed class CustomAutoFunctionInvocationFilter : IAutoFunctionInvocationFilter
{
    public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocationContext context, Func<AutoFunctionInvocationContext, Task> next)
    {
        Console.WriteLine($"[SK Auto Filter] Auto-invoking function: {context.Function.Name}");

        // Check if function should be auto-invoked
        if (context.Function.Name.Contains("Dangerous"))
        {
            Console.WriteLine($"[SK Auto Filter] Skipping dangerous function: {context.Function.Name}");
            context.Terminate = true;
            return;
        }

        await next(context);

        Console.WriteLine($"[SK Auto Filter] Auto-invocation completed for: {context.Function.Name}");
    }
}

var builder = Kernel.CreateBuilder()
    .AddOpenAIChatClient(modelId, apiKey);
    
// via builder DI
var builder = Kernel.CreateBuilder()
    .AddOpenAIChatClient(modelId, apiKey)
    .Services
    .AddSingleton<IAutoFunctionInvocationFilter, CustomAutoFunctionInvocationFilter>();

// OR via DI
services
    .AddKernel()
    .AddOpenAIChatClient(modelId, apiKey)
    .AddSingleton<IAutoFunctionInvocationFilter, CustomAutoFunctionInvocationFilter>();

// OR register auto function filter directly with the kernel instance
kernel.AutoFunctionInvocationFilters.Add(new CustomAutoFunctionInvocationFilter());

// Create agent with filtered kernel
ChatCompletionAgent agent = new()
{
    Instructions = "You are a helpful assistant",
    Kernel = kernel
};
```

#### Agent Framework

Agent Framework provides function calling middleware that offers equivalent capabilities to Semantic Kernel's auto function invocation filters:

```csharp
// Function calling middleware equivalent to CustomAutoFunctionInvocationFilter
async ValueTask<object?> CustomAutoFunctionMiddleware(
    AIAgent agent,
    FunctionInvocationContext context,
    Func<FunctionInvocationContext, CancellationToken, ValueTask<object?>> next,
    CancellationToken cancellationToken)
{
    Console.WriteLine($"[AF Middleware] Auto-invoking function: {context.Function.Name}");

    // Check if function should be auto-invoked
    if (context.Function.Name.Contains("Dangerous"))
    {
        Console.WriteLine($"[AF Middleware] Skipping dangerous function: {context.Function.Name}");
        context.Terminate = true;
        return "Function execution blocked for security reasons";
    }

    var result = await next(context, cancellationToken);

    Console.WriteLine($"[AF Middleware] Auto-invocation completed for: {context.Function.Name}");
    return result;
}

// Apply middleware to agent
var filteredAgent = originalAgent
    .AsBuilder()
    .Use(CustomAutoFunctionMiddleware)
    .Build();
```

### 11. Function Invocation Contexts

**Invocation Context**

Semantic Kernel's `IAutoFunctionInvocationFilter` provides a `AutoFunctionInvocationContext` where Agent Framework provides `FunctionInvocationContext` 

The property mapping guide from a `AutoFunctionInvocationContext` to a `FunctionInvocationContext` is as follows:

| Semantic Kernel | Agent Framework |
| --- | --- |
| RequestSequenceIndex | Iteration |
| FunctionSequenceIndex | FunctionCallIndex |
| ToolCallId | CallContent.CallId |
| ChatMessageContent | Messages[0] |
| ExecutionSettings | Options |
| ChatHistory | Messages |
| Function | Function |
| Kernel | N/A |
| Result | Use `return` from the delegate |
| Terminate | Terminate |
| CancellationToken | provided via argument to middleware delegate |
| Arguments | Arguments |

================================================
FILE: .github/workflows/check-coverage.ps1
================================================
param (
    [string]$JsonReportPath,
    [double]$CoverageThreshold
)

$jsonContent = Get-Content $JsonReportPath -Raw | ConvertFrom-Json
$coverageBelowThreshold = $false

$nonExperimentalAssemblies = [System.Collections.Generic.HashSet[string]]::new()

$assembliesCollection = @(
    'Microsoft.SemanticKernel.Abstractions'
    'Microsoft.SemanticKernel.Core'
    'Microsoft.SemanticKernel.PromptTemplates.Handlebars'
    'Microsoft.SemanticKernel.Connectors.OpenAI'
    'Microsoft.SemanticKernel.Connectors.AzureOpenAI'
    'Microsoft.SemanticKernel.Yaml'
    'Microsoft.SemanticKernel.Agents.Abstractions'
    'Microsoft.SemanticKernel.Agents.Core'
    'Microsoft.SemanticKernel.Agents.OpenAI'
)

foreach ($assembly in $assembliesCollection) {
    $nonExperimentalAssemblies.Add($assembly)
}

function Get-FormattedValue {
    param (
        [float]$Coverage,
        [bool]$UseIcon = $false
    )
    $formattedNumber = "{0:N1}" -f $Coverage
    $icon = if (-not $UseIcon) { "" } elseif ($Coverage -ge $CoverageThreshold) { '✅' } else { '❌' }
    
    return "$formattedNumber% $icon"
}

$lineCoverage = $jsonContent.summary.linecoverage
$branchCoverage = $jsonContent.summary.branchcoverage

$totalTableData = [PSCustomObject]@{
    'Metric'          = 'Total Coverage'
    'Line Coverage'   = Get-FormattedValue -Coverage $lineCoverage
    'Branch Coverage' = Get-FormattedValue -Coverage $branchCoverage
}

$totalTableData | Format-Table -AutoSize

$assemblyTableData = @()

foreach ($assembly in $jsonContent.coverage.assemblies) {
    $assemblyName = $assembly.name
    $assemblyLineCoverage = $assembly.coverage
    $assemblyBranchCoverage = $assembly.branchcoverage

    $isNonExperimentalAssembly = $nonExperimentalAssemblies -contains $assemblyName

    if ($isNonExperimentalAssembly -and ($assemblyLineCoverage -lt $CoverageThreshold -or $assemblyBranchCoverage -lt $CoverageThreshold)) {
        $coverageBelowThreshold = $true
    }

    $assemblyTableData += [PSCustomObject]@{
        'Assembly Name' = $assemblyName
        'Line'          = Get-FormattedValue -Coverage $assemblyLineCoverage -UseIcon $isNonExperimentalAssembly
        'Branch'        = Get-FormattedValue -Coverage $assemblyBranchCoverage -UseIcon $isNonExperimentalAssembly
    }
}

$sortedTable = $assemblyTableData | Sort-Object {
    $nonExperimentalAssemblies -contains $_.'Assembly Name'
} -Descending

$sortedTable | Format-Table -AutoSize

if ($coverageBelowThreshold) {
    Write-Host "Code coverage is lower than defined threshold: $CoverageThreshold. Stopping the task."
    exit 1
}


================================================
FILE: .github/workflows/close-inactive-issues.yml
================================================
name: Close inactive issues
on:
  schedule:
    - cron: "30 1 * * *"

jobs:
  close-issues:
    runs-on: ubuntu-latest
    permissions:
      issues: write
      pull-requests: write
    steps:
      - uses: actions/stale@v5
        with:
          days-before-issue-stale: 90
          days-before-issue-close: 14
          stale-issue-label: "stale"
          stale-issue-message: "This issue is stale because it has been open for 90 days with no activity."
          close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale."
          days-before-pr-stale: -1
          days-before-pr-close: -1
          repo-token: ${{ secrets.GITHUB_TOKEN }}


================================================
FILE: .github/workflows/codeql-analysis.yml
================================================
# CodeQL is the code analysis engine developed by GitHub to automate security checks.
# The results are shown as code scanning alerts in GitHub. For more details, visit:
# https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql

name: "CodeQL"

on:
  workflow_dispatch:
  push:
    # TODO: Add "feature*" back in again, once we determine the cause of the ongoing CodeQL failures.
    branches: ["main", "experimental*", "*-development"]
  schedule:
    - cron: "17 11 * * 2"

jobs:
  analyze:
    name: Analyze
    runs-on: ubuntu-latest
    permissions:
      actions: read
      contents: read
      security-events: write

    strategy:
      fail-fast: false
      matrix:
        language: ["csharp", "python"]
        # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
        # Use only 'java' to analyze code written in Java, Kotlin or both
        # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
        # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support

    steps:
      - name: Checkout repository
        uses: actions/checkout@v5
        with:
          persist-credentials: false

      # Initializes the CodeQL tools for scanning.
      - name: Initialize CodeQL
        uses: github/codeql-action/init@v3
        with:
          languages: ${{ matrix.language }}
          # If you wish to specify custom queries, you can do so here or in a config file.
          # By default, queries listed here will override any specified in a config file.
          # Prefix the list here with "+" to use these queries and those in the config file.

          # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
          # queries: security-extended,security-and-quality

      # Autobuild attempts to build any compiled languages  (C/C++, C#, Go, or Java).
      # If this step fails, then you should remove it and run the build manually (see below)
      - name: Autobuild
        if: ${{ matrix.language != 'java' }}
        uses: github/codeql-action/autobuild@v3

      # ℹ️ Command-line programs to run using the OS shell.
      # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

      #   If the Autobuild fails above, remove it and uncomment the following three lines.
      #   modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

      # - run: |
      #     echo "Run, Build Application using script"
      #     ./location_of_script_within_repo/buildscript.sh

      - name: Perform CodeQL Analysis
        uses: github/codeql-action/analyze@v3
        with:
          category: "/language:${{matrix.language}}"


================================================
FILE: .github/workflows/devflow-pr-review.yml
================================================
name: DevFlow PR Review

on:
  pull_request_target:
    types:
      - opened
      - reopened
      - ready_for_review
  workflow_dispatch:
    inputs:
      pr_url:
        description: Pull request URL to review
        required: true
        type: string

permissions:
  contents: read
  issues: write
  pull-requests: write

concurrency:
  group: devflow-pr-review-${{ github.repository }}-${{ github.event.pull_request.number || github.run_id }}
  cancel-in-progress: true

env:
  DEVFLOW_REPOSITORY: ${{ vars.DF_REPO }}
  DEVFLOW_REF: main
  TARGET_REPO_PATH: ${{ github.workspace }}/target-repo
  DEVFLOW_PATH: ${{ github.workspace }}/devflow

jobs:
  review:
    runs-on: ubuntu-latest
    timeout-minutes: 60
    if: ${{ github.event_name != 'pull_request_target' || !github.event.pull_request.draft }}

    steps:
      - name: Resolve PR metadata
        id: pr
        shell: bash
        env:
          PR_HTML_URL: ${{ github.event.pull_request.html_url }}
          PR_NUMBER: ${{ github.event.pull_request.number }}
          PR_URL_INPUT: ${{ inputs.pr_url }}
        run: |
          set -euo pipefail

          if [[ "${GITHUB_EVENT_NAME}" == "pull_request_target" ]]; then
            echo "pr_url=${PR_HTML_URL}" >> "$GITHUB_OUTPUT"
            echo "pr_number=${PR_NUMBER}" >> "$GITHUB_OUTPUT"
            echo "repo=${GITHUB_REPOSITORY}" >> "$GITHUB_OUTPUT"
            exit 0
          fi

          if [[ -z "$PR_URL_INPUT" ]]; then
            echo "workflow_dispatch requires pr_url" >&2
            exit 1
          fi

          if [[ ! "$PR_URL_INPUT" =~ ^https://github\.com/([^/]+/[^/]+)/pull/([0-9]+)([/?].*)?$ ]]; then
            echo "Could not parse pull request URL (expected https://github.com/<owner>/<repo>/pull/<number>): $PR_URL_INPUT" >&2
            exit 1
          fi

          pr_repo="${BASH_REMATCH[1]}"
          pr_number="${BASH_REMATCH[2]}"

          if [[ "$pr_repo" != "$GITHUB_REPOSITORY" ]]; then
            echo "PR URL repository ($pr_repo) does not match current repository ($GITHUB_REPOSITORY)" >&2
            exit 1
          fi

          echo "pr_url=${PR_URL_INPUT}" >> "$GITHUB_OUTPUT"
          echo "pr_number=${pr_number}" >> "$GITHUB_OUTPUT"
          echo "repo=${pr_repo}" >> "$GITHUB_OUTPUT"

      # Safe checkout: base repo only, not the untrusted PR head.
      - name: Checkout target repo base
        uses: actions/checkout@v5
        with:
          ref: ${{ github.event_name == 'pull_request_target' && github.event.pull_request.base.sha || github.sha }}
          fetch-depth: 0
          persist-credentials: false
          path: target-repo

      # Private DevFlow checkout: the PAT/token grants access to this repo's code.
      - name: Checkout DevFlow
        uses: actions/checkout@v5
        with:
          repository: ${{ env.DEVFLOW_REPOSITORY }}
          ref: ${{ env.DEVFLOW_REF }}
          token: ${{ secrets.DEVFLOW_TOKEN }}
          fetch-depth: 1
          persist-credentials: false
          path: devflow

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: "3.13"

      - name: Set up uv
        uses: astral-sh/setup-uv@v6
        with:
          version: "0.5.x"
          enable-cache: true

      - name: Install DevFlow dependencies
        working-directory: ${{ env.DEVFLOW_PATH }}
        run: uv sync --frozen

      - name: Classify PR relevance
        id: spam
        working-directory: ${{ env.DEVFLOW_PATH }}
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          GH_COPILOT_TOKEN: ${{ secrets.GH_COPILOT_TOKEN }}
          SK_REPO_PATH: ${{ env.TARGET_REPO_PATH }}
          AGENT_REPO_PATH: ${{ env.TARGET_REPO_PATH }}
          PR_REPO: ${{ steps.pr.outputs.repo }}
          PR_NUMBER: ${{ steps.pr.outputs.pr_number }}
        run: |
          uv run python scripts/classify_pr_spam.py \
            --repo "$PR_REPO" \
            --pr-number "$PR_NUMBER" \
            --repo-path "${TARGET_REPO_PATH}" \
            --apply-labels

      - name: Stop after spam gate
        if: ${{ steps.spam.outputs.decision != 'allow' }}
        shell: bash
        env:
          SPAM_DECISION: ${{ steps.spam.outputs.decision }}
        run: |
          echo "Skipping review because spam gate decided: ${SPAM_DECISION}"

      - name: Run PR review
        if: ${{ steps.spam.outputs.decision == 'allow' }}
        id: review
        working-directory: ${{ env.DEVFLOW_PATH }}
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          GH_COPILOT_TOKEN: ${{ secrets.GH_COPILOT_TOKEN }}
          SK_REPO_PATH: ${{ env.TARGET_REPO_PATH }}
          AGENT_REPO_PATH: ${{ env.TARGET_REPO_PATH }}
          PR_URL: ${{ steps.pr.outputs.pr_url }}
        run: |
          uv run python scripts/trigger_pr_review.py \
            --pr-url "$PR_URL" \
            --github-username "$GITHUB_ACTOR" \
            --no-require-comment-selection


================================================
FILE: .github/workflows/dotnet-build-and-test.yml
================================================
#
# This workflow will build and run all unit tests using dotnet docker containers,
# each targeting a single version of the dotnet SDK.
#

name: dotnet-build-and-test

on:
  workflow_dispatch:
  pull_request:
    branches: ["main", "feature*"]
  merge_group:
    branches: ["main"]

env:
  COVERAGE_THRESHOLD: 80

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

permissions:
  contents: read
  id-token: "write"

jobs:
  paths-filter:
    runs-on: ubuntu-latest
    outputs:
      dotnetChanges: ${{ steps.filter.outputs.dotnet }}
    steps:
      - uses: actions/checkout@v5
        with:
          persist-credentials: false
      - uses: dorny/paths-filter@v2
        id: filter
        with:
          filters: |
            dotnet:
              - 'dotnet/**'
              - '**/dotnet/**'
              - '.github/workflows/check-coverage.ps1'
              - '.github/workflows/dotnet-build-and-test.yml'
      # run only if 'dotnet' files were changed
      - name: dotnet tests
        if: steps.filter.outputs.dotnet == 'true'
        run: echo "Dotnet file"
      # run only if not 'dotnet' files were changed
      - name: not dotnet tests
        if: steps.filter.outputs.dotnet != 'true'
        run: echo "NOT dotnet file"
  dotnet-build-and-test:
    needs: paths-filter
    if: needs.paths-filter.outputs.dotnetChanges == 'true'
    strategy:
      fail-fast: false
      matrix:
        include:
          - {
              dotnet: "10.0",
              os: "ubuntu-latest",
              configuration: Release,
              integration-tests: true,
              environment: "integration",
            }
          - { dotnet: "10.0", os: "windows-latest", configuration: Debug }
          - { dotnet: "9.0", os: "windows-latest", configuration: Release }

    runs-on: ${{ matrix.os }}
    environment: ${{ matrix.environment }}
    steps:
      - uses: actions/checkout@v5
        with:
          persist-credentials: false

      - name: Setup dotnet
        uses: actions/setup-dotnet@v5
        with:
          global-json-file: ${{ github.workspace }}/dotnet/global.json

      - name: Build dotnet solutions
        shell: bash
        run: |
          export SOLUTIONS=$(find ./dotnet/ -type f -name "*.slnx" | tr '\n' ' ')
          for solution in $SOLUTIONS; do
            dotnet build $solution -c ${{ matrix.configuration }} --warnaserror
          done

      - name: Package install check
        shell: bash
        run: |
          export SOLUTIONS=$(find ./dotnet/ -type f -name "*.slnx" | tr '\n' ' ')
          for solution in $SOLUTIONS; do
            dotnet pack $solution -c ${{ matrix.configuration }} --no-build --no-restore --output ./artifacts
          done
          dotnet new console --name packcheck --output consoleapp

          # Create minimal nuget.config and use only dotnet nuget commands
          echo '<?xml version="1.0" encoding="utf-8"?><configuration><packageSources><clear /></packageSources></configuration>' > consoleapp/nuget.config

          # Add sources with local first using dotnet nuget commands
          dotnet nuget add source ../artifacts --name local --configfile consoleapp/nuget.config
          dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org --configfile consoleapp/nuget.config

          # Change to project directory to ensure local nuget.config is used
          cd consoleapp
          dotnet add packcheck.csproj package Microsoft.SemanticKernel
          dotnet build -c ${{ matrix.configuration }} packcheck.csproj
          cd ..

          # Clean up
          rm -rf ./artifacts
          rm -rf ./consoleapp

      - name: Run Unit Tests
        shell: bash
        run: |
          export UT_PROJECTS=$(find ./dotnet -type f -name "*.UnitTests.csproj" | grep -v -E "(Experimental.Orchestration.Flow.UnitTests.csproj|Experimental.Assistants.UnitTests.csproj)" | tr '\n' ' ')
          for project in $UT_PROJECTS; do
            dotnet test -c ${{ matrix.configuration }} $project --no-build -v Normal --logger trx --collect:"XPlat Code Coverage" --results-directory:"TestResults/Coverage/" -- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.ExcludeByAttribute=GeneratedCodeAttribute,CompilerGeneratedAttribute,ExcludeFromCodeCoverageAttribute
          done

      - name: Run AOT Unit Tests
        shell: pwsh
        run: .github/workflows/test-aot-compatibility.ps1 ${{ matrix.dotnet }}

      - name: Azure CLI Login
        if: github.event_name != 'pull_request' && matrix.integration-tests
        uses: azure/login@v2
        with:
          client-id: ${{ secrets.AZURE_CLIENT_ID }}
          tenant-id: ${{ secrets.AZURE_TENANT_ID }}
          subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

      - name: Run Integration Tests
        shell: bash
        if: github.event_name != 'pull_request' && matrix.integration-tests
        run: |
          export INTEGRATION_TEST_PROJECTS=$(find ./dotnet -type f -name "*IntegrationTests.csproj" | grep -v "Experimental.Orchestration.Flow.IntegrationTests.csproj" | grep -v "VectorDataIntegrationTests.csproj" | tr '\n' ' ')
          for project in $INTEGRATION_TEST_PROJECTS; do
            dotnet test -f net10.0 -c ${{ matrix.configuration }} $project --no-build -v Normal --logger trx
          done
        env:
          # Azure OpenAI Deployments
          AzureOpenAI__Endpoint: ${{ secrets.AZUREOPENAI__ENDPOINT }}
          AzureOpenAI__DeploymentName: ${{ vars.AZUREOPENAI__DEPLOYMENTNAME }}
          AzureOpenAI__ChatDeploymentName: ${{ vars.AZUREOPENAI__CHATDEPLOYMENTNAME }}
          AzureOpenAIEmbeddings__Endpoint: ${{ secrets.AZUREOPENAI__ENDPOINT }}
          AzureOpenAIEmbeddings__DeploymentName: ${{ vars.AZUREOPENAIEMBEDDING__DEPLOYMENTNAME }}
          AzureOpenAITextToAudio__Endpoint: ${{ secrets.AZUREOPENAITEXTTOAUDIO__ENDPOINT }}
          AzureOpenAITextToAudio__DeploymentName: ${{ vars.AZUREOPENAITEXTTOAUDIO__DEPLOYMENTNAME }}
          AzureOpenAIAudioToText__Endpoint: ${{ secrets.AZUREOPENAIAUDIOTOTEXT__ENDPOINT }}
          AzureOpenAIAudioToText__DeploymentName: ${{ vars.AZUREOPENAIAUDIOTOTEXT__DEPLOYMENTNAME }}
          AzureOpenAITextToImage__Endpoint: ${{ secrets.AZUREOPENAITEXTTOIMAGE__ENDPOINT }}
          AzureOpenAITextToImage__DeploymentName: ${{ vars.AZUREOPENAITEXTTOIMAGE__DEPLOYMENTNAME }}
          Planners__AzureOpenAI__Endpoint: ${{ secrets.PLANNERS__AZUREOPENAI__ENDPOINT }}
          Planners__AzureOpenAI__DeploymentName: ${{ vars.PLANNERS__AZUREOPENAI__DEPLOYMENTNAME }}
          # OpenAI Models
          OpenAI__ApiKey: ${{ secrets.OPENAI__APIKEY }}
          OpenAI__ChatModelId: ${{ vars.OPENAI__CHATMODELID }}
          OpenAIEmbeddings__ApiKey: ${{ secrets.OPENAIEMBEDDINGS__APIKEY }}
          OpenAIEmbeddings__ModelId: ${{ vars.OPENAIEMBEDDINGS__MODELID }}
          OpenAITextToAudio__ApiKey: ${{ secrets.OPENAITEXTTOAUDIO__APIKEY }}
          OpenAITextToAudio__ModelId: ${{ vars.OPENAITEXTTOAUDIO__MODELID }}
          OpenAIAudioToText__ApiKey: ${{ secrets.OPENAIAUDIOTOTEXT__APIKEY }}
          OpenAIAudioToText__ModelId: ${{ vars.OPENAIAUDIOTOTEXT__MODELID }}
          OpenAITextToImage__ApiKey: ${{ secrets.OPENAITEXTTOIMAGE__APIKEY }}
          OpenAITextToImage__ModelId: ${{ vars.OPENAITEXTTOIMAGE__MODELID }}
          Planners__OpenAI__ApiKey: ${{ secrets.PLANNERS__OPENAI__APIKEY }}
          Planners__OpenAI__ModelId: ${{ vars.PLANNERS__OPENAI__MODELID }}
          # Bing Web Search
          Bing__ApiKey: ${{ secrets.BING__APIKEY }}
          # Google Web Search
          Google__SearchEngineId: ${{ secrets.GOOGLE__SEARCHENGINEID }}
          Google__ApiKey: ${{ secrets.GOOGLE__APIKEY }}
          # Azure AI Inference Endpoint
          AzureAIInference__ApiKey: ${{ secrets.AZUREAIINFERENCE__APIKEY }}
          AzureAIInference__Endpoint: ${{ secrets.AZUREAIINFERENCE__ENDPOINT }}
          AzureAIInference__ChatModelId: ${{ vars.AZUREAIINFERENCE__CHATMODELID }}
          # Azure AI Foundry
          AzureAI__Endpoint: ${{ secrets.AZUREAI__ENDPOINT }}
          AzureAI__ConnectionString: ${{ secrets.AZUREAI__CONNECTIONSTRING }}
          AzureAI__ChatModelId: ${{ vars.AZUREAI__CHATMODELID }}

      # Generate test reports and check coverage
      - name: Generate test reports
        uses: danielpalme/ReportGenerator-GitHub-Action@5.4.12
        with:
          reports: "./TestResults/Coverage/**/coverage.cobertura.xml"
          targetdir: "./TestResults/Reports"
          reporttypes: "HtmlInline;JsonSummary"

      - name: Upload coverage report artifact
        uses: actions/upload-artifact@v4
        with:
          name: CoverageReport-${{ matrix.os }}-${{ matrix.dotnet }}-${{ matrix.configuration }} # Artifact name
          path: ./TestResults/Reports # Directory containing files to upload

      - name: Check coverage
        shell: pwsh
        run: .github/workflows/check-coverage.ps1 -JsonReportPath "TestResults/Reports/Summary.json" -CoverageThreshold $env:COVERAGE_THRESHOLD

  # This final job is required to satisfy the merge queue. It must only run (or succeed) if no tests failed
  dotnet-build-and-test-check:
    if: always()
    runs-on: ubuntu-latest
    needs: [dotnet-build-and-test]
    steps:
      - name: Get Date
        shell: bash
        run: |
          echo "date=$(date +'%m/%d/%Y %H:%M:%S')" >> "$GITHUB_ENV"

      - name: Run Type is Daily
        if: ${{ github.event_name == 'schedule' }}
        shell: bash
        run: |
          echo "run_type=Daily" >> "$GITHUB_ENV"

      - name: Run Type is Manual
        if: ${{ github.event_name == 'workflow_dispatch' }}
        shell: bash
        run: |
          echo "run_type=Manual" >> "$GITHUB_ENV"

      - name: Run Type is ${{ github.event_name }}
        if: ${{ github.event_name != 'schedule' && github.event_name != 'workflow_dispatch'}}
        shell: bash
        run: |
          echo "run_type=${{ github.event_name }}" >> "$GITHUB_ENV"

      - name: Fail workflow if tests failed
        id: check_tests_failed
        if: contains(join(needs.*.result, ','), 'failure')
        uses: actions/github-script@v6
        with:
          script: core.setFailed('Integration Tests Failed!')

      - name: Fail workflow if tests cancelled
        id: check_tests_cancelled
        if: contains(join(needs.*.result, ','), 'cancelled')
        uses: actions/github-script@v6
        with:
          script: core.setFailed('Integration Tests Cancelled!')


================================================
FILE: .github/workflows/dotnet-ci.yml
================================================
#
# This workflow will build and run all tests using dotnet docker containers,
# each targeting a single version of the dotnet SDK.
#

name: dotnet-ci

on:
  workflow_dispatch:
  schedule:
    - cron:  '0 7 * * *'

permissions:
  contents: read

jobs:
  build-and-test-docker:
    strategy:
        fail-fast: false
        matrix:
          include:
          - { os: ubuntu-latest, dotnet: '10.0', configuration: Debug }
          - { os: ubuntu-latest, dotnet: '10.0', configuration: Release }

    runs-on: ${{ matrix.os }}
    steps:
    - uses: actions/checkout@v5
      with:
        clean: true
        persist-credentials: false

    - name: Find solutions
      shell: bash
      run: echo "solutions=$(find ./ -type f -name "*.slnx" | tr '\n' ' ')" >> $GITHUB_ENV

    - name: Pull container dotnet/sdk:${{ matrix.dotnet }}
      run: |
        docker pull mcr.microsoft.com/dotnet/sdk:${{ matrix.dotnet }}

    - name: Build
      run: |
        for solution in ${{ env.solutions }}; do
          docker run --rm -v $(pwd):/app -w /app -e GITHUB_ACTIONS='true' mcr.microsoft.com/dotnet/sdk:${{ matrix.dotnet }} /bin/sh -c "dotnet build -c ${{ matrix.configuration }} /app/$solution"
        done

    - name: Find test projects
      shell: bash
      run: echo "testprojects=$(find ./dotnet -type f -name "*UnitTests.csproj" | tr '\n' ' ')" >> $GITHUB_ENV

    - name: Run Tests
      shell: bash
      run: |
        for project in ${{ env.testprojects }}; do
          docker run --rm -v $(pwd):/app -w /app mcr.microsoft.com/dotnet/sdk:${{ matrix.dotnet }} /bin/sh -c "dotnet test -c ${{ matrix.configuration }} /app/$project --no-build -v Normal --logger trx"
        done

    - name: Upload dotnet test results
      uses: actions/upload-artifact@v4
      with:
        name: dotnet-testresults-${{ matrix.configuration }}
        path: ./TestResults
      if: ${{ always() }}

  build-and-test-windows:
    strategy:
        fail-fast: false
        matrix:
          os: [windows-latest]
          configuration: [Release, Debug]
          dotnet-version: ['10.0.x']
    runs-on: ${{ matrix.os }}
    env:
      NUGET_CERT_REVOCATION_MODE: offline
    steps:
    - uses: actions/checkout@v5
      with:
        clean: true
        persist-credentials: false

    - name: Setup .NET SDK ${{ matrix.dotnet-version }}
      uses: actions/setup-dotnet@v5
      with:
        dotnet-version: ${{ matrix.dotnet-version }}
      env:
        NUGET_AUTH_TOKEN: ${{ secrets.GPR_READ_TOKEN }}

    - uses: actions/cache@v4
      with:
        path: ~/.nuget/packages
        # Look to see if there is a cache hit for the corresponding requirements file
        key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
        restore-keys: |
          ${{ runner.os }}-nuget

    - name: Find solutions
      shell: bash
      run: echo "solutions=$(find ./dotnet -type f -name "*.slnx" | tr '\n' ' ')" >> $GITHUB_ENV

    - name: Restore dependencies
      shell: bash
      run: |
        for solution in ${{ env.solutions }}; do
          dotnet restore $solution
        done

    - name: Build
      shell: bash
      run: |
        for solution in ${{ env.solutions }}; do
          dotnet build $solution --no-restore --configuration ${{ matrix.configuration }}
        done

    - name: Find test projects
      shell: bash
      run: echo "testprojects=$(find ./dotnet -type f -name "*Tests.csproj" | tr '\n' ' ')" >> $GITHUB_ENV

    - name: Run Tests
      shell: bash
      run: |
        for project in ${{ env.testprojects }}; do
          dotnet test $project --verbosity normal --logger trx --results-directory ./TestResults --configuration ${{ matrix.configuration }}
        done

    - name: Upload dotnet test results
      uses: actions/upload-artifact@v4
      with:
        name: dotnet-testresults-${{ matrix.configuration }}
        path: ./TestResults
      if: ${{ always() }}


================================================
FILE: .github/workflows/dotnet-format.yml
================================================
#
# This workflow runs the dotnet formatter on all c-sharp code.
#

name: dotnet-format

on:
  workflow_dispatch:
  pull_request:
    branches: ["main", "feature*"]
    paths:
      - "dotnet/**"
      - "samples/dotnet/**"
      - "**.cs"
      - "**.csproj"
      - "**.editorconfig"

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

jobs:
  check-format:
    strategy:
      fail-fast: false
      matrix:
        include:
          - { dotnet: "10.0", configuration: Release, os: ubuntu-latest }

    runs-on: ${{ matrix.os }}
    env:
      NUGET_CERT_REVOCATION_MODE: offline

    steps:
      - name: Check out code
        uses: actions/checkout@v5
        with:
          fetch-depth: 0
          persist-credentials: false

      - name: Get changed files
        id: changed-files
        if: github.event_name == 'pull_request'
        uses: jitterbit/get-changed-files@v1
        continue-on-error: true

      - name: No C# files changed
        id: no-csharp
        if: github.event_name == 'pull_request' && steps.changed-files.outputs.added_modified == ''
        run: echo "No C# files changed"

      # This step will loop over the changed files and find the nearest .csproj file for each one, then store the unique csproj files in a variable
      - name: Find csproj files
        id: find-csproj
        if: github.event_name != 'pull_request' || steps.changed-files.outputs.added_modified != '' || steps.changed-files.outcome == 'failure'
        run: |
          csproj_files=()
          exclude_files=("Experimental.Orchestration.Flow.csproj" "Experimental.Orchestration.Flow.UnitTests.csproj" "Experimental.Orchestration.Flow.IntegrationTests.csproj")
          if [[ ${{ steps.changed-files.outcome }} == 'success' ]]; then
            for file in ${{ steps.changed-files.outputs.added_modified }}; do
              echo "$file was changed"
              dir="./$file"
              while [[ $dir != "." && $dir != "/" && $dir != $GITHUB_WORKSPACE ]]; do
                if find "$dir" -maxdepth 1 -name "*.csproj" -print -quit | grep -q .; then
                  csproj_path="$(find "$dir" -maxdepth 1 -name "*.csproj" -print -quit)"
                  if [[ ! "${exclude_files[@]}" =~ "${csproj_path##*/}" ]]; then
                    csproj_files+=("$csproj_path")
                  fi
                  break
                fi

                dir=$(echo ${dir%/*})
              done
            done
          else
            # if the changed-files step failed, run dotnet on the whole slnx instead of specific projects
            csproj_files=$(find ./ -type f -name "*.slnx" | tr '\n' ' ');
          fi
          csproj_files=($(printf "%s\n" "${csproj_files[@]}" | sort -u))
          echo "Found ${#csproj_files[@]} unique csproj/slnx files: ${csproj_files[*]}"
          echo "::set-output name=csproj_files::${csproj_files[*]}"

      - name: Pull container dotnet/sdk:${{ matrix.dotnet }}
        if: steps.find-csproj.outputs.csproj_files != ''
        run: docker pull mcr.microsoft.com/dotnet/sdk:${{ matrix.dotnet }}

      # This step will run dotnet format on each of the unique csproj files and fail if any changes are made
      - name: Run dotnet format
        if: steps.find-csproj.outputs.csproj_files != ''
        run: |
          for csproj in ${{ steps.find-csproj.outputs.csproj_files }}; do
            echo "Running dotnet format on $csproj"
            docker run --rm -v $(pwd):/app -w /app mcr.microsoft.com/dotnet/sdk:${{ matrix.dotnet }} /bin/sh -c "dotnet format $csproj --verify-no-changes --verbosity diagnostic"
          done


================================================
FILE: .github/workflows/dotnet-integration-tests.yml
================================================
#
# This workflow will run all dotnet integrations tests.
#

name: dotnet-integration-tests

on:
  workflow_dispatch:
  pull_request:
    branches: ["main"]
  merge_group:
    branches: ["main"]

permissions:
  contents: read

jobs:
  integration-tests:
    strategy:
      matrix:
        os: [ubuntu-latest]
        configuration: [Debug]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v5
        if: ${{ github.event_name != 'pull_request' }}
        with:
          clean: true
          persist-credentials: false

      - name: Setup .NET
        uses: actions/setup-dotnet@v5
        if: ${{ github.event_name != 'pull_request' }}
        with:
          dotnet-version: 10.0.x

      - name: Find projects
        shell: bash
        if: ${{ github.event_name != 'pull_request' }}
        run: echo "projects=$(find ./dotnet -type f -name "*Tests.csproj" | tr '\n' ' ')" >> $GITHUB_ENV

      - name: Integration Tests
        shell: bash
        if: ${{ github.event_name != 'pull_request' }}
        env: # Set Azure credentials secret as an input
          AzureOpenAI__Label: azure-text-davinci-003
          AzureOpenAIEmbedding__Label: azure-text-embedding-ada-002
          AzureOpenAI__DeploymentName: ${{ vars.AZUREOPENAI__DEPLOYMENTNAME }}
          AzureOpenAIEmbeddings__DeploymentName: ${{ vars.AZUREOPENAIEMBEDDING__DEPLOYMENTNAME }}
          AzureOpenAI__Endpoint: ${{ secrets.AZUREOPENAI__ENDPOINT }}
          AzureOpenAIEmbeddings__Endpoint: ${{ secrets.AZUREOPENAI__ENDPOINT }}
          AzureOpenAI__ApiKey: ${{ secrets.AZUREOPENAI__APIKEY }}
          AzureOpenAIEmbeddings__ApiKey: ${{ secrets.AZUREOPENAI__APIKEY }}
          AzureAI__ConnectionString: ${{ secrets.AZUREAI__CONNECTIONSTRING }}
          Bing__ApiKey: ${{ secrets.BING__APIKEY }}
          OpenAI__ApiKey: ${{ secrets.OPENAI__APIKEY }}
        run: |
          for project in ${{ env.projects }}; do
            dotnet test $project --verbosity normal --logger trx --results-directory ./TestResults --configuration ${{ matrix.configuration }}
          done

      - name: Upload dotnet test results
        uses: actions/upload-artifact@v4
        with:
          name: dotnet-testresults-${{ matrix.configuration }}
          path: ./TestResults
        if: ${{ github.event_name != 'pull_request' && always() }}


================================================
FILE: .github/workflows/label-discussions.yml
================================================
name: Label Discussions

on:
  discussion:
    types:
      - created

jobs:
  label_discussions:
    runs-on: ubuntu-latest
    permissions:
      discussions: write
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

    steps:
      - name: Always add "triage" label
        if: >
          github.event.discussion.node_id != '' &&
          (github.event.discussion.category.name == 'General' ||
           github.event.discussion.category.name == 'Ideas' ||
           github.event.discussion.category.name == 'Q&A')
        uses: octokit/graphql-action@v2.x
        with:
          query: |
            mutation($labelableId: ID!) {
              addLabelsToLabelable(
                input: {
                  labelableId: $labelableId
                  labelIds: ["LA_kwDOJDJ_Yc8AAAABU2klmQ"]
                }
              ) {
                clientMutationId
              }
            }
          variables: |
            {
              "labelableId": "${{ github.event.discussion.node_id }}"
            }

      - name: Conditionally add "python" label
        if: >
          github.event.discussion.node_id != '' &&
          (github.event.discussion.category.name == 'General' ||
           github.event.discussion.category.name == 'Ideas' ||
           github.event.discussion.category.name == 'Q&A') &&
          (contains(github.event.discussion.body, 'python') ||
           contains(github.event.discussion.body, 'Python') ||
           contains(github.event.discussion.title, 'python') ||
           contains(github.event.discussion.title, 'Python'))
        uses: octokit/graphql-action@v2.x
        with:
          query: |
            mutation($labelableId: ID!) {
              addLabelsToLabelable(
                input: {
                  labelableId: $labelableId
                  labelIds: ["LA_kwDOJDJ_Yc8AAAABO0f2Lg"]
                }
              ) {
                clientMutationId
              }
            }
          variables: |
            {
              "labelableId": "${{ github.event.discussion.node_id }}"
            }

      - name: Conditionally add ".NET" label
        if: >
          github.event.discussion.node_id != '' &&
          (github.event.discussion.category.name == 'General' ||
           github.event.discussion.category.name == 'Ideas' ||
           github.event.discussion.category.name == 'Q&A') &&
          (contains(github.event.discussion.body, '.net') ||
           contains(github.event.discussion.body, '.NET') ||
           contains(github.event.discussion.title, '.net') ||
           contains(github.event.discussion.title, '.NET') ||
           contains(github.event.discussion.body, 'dotnet') ||
           contains(github.event.discussion.body, 'DotNet') ||
           contains(github.event.discussion.title, 'dotnet') ||
           contains(github.event.discussion.title, 'DotNet') ||
           contains(github.event.discussion.body, 'c#') ||
           contains(github.event.discussion.body, 'C#') ||
           contains(github.event.discussion.title, 'c#') ||
           contains(github.event.discussion.title, 'C#') ||
           contains(github.event.discussion.body, 'csharp') ||
           contains(github.event.discussion.body, 'CSharp') ||
           contains(github.event.discussion.title, 'csharp') ||
           contains(github.event.discussion.title, 'CSharp'))
        uses: octokit/graphql-action@v2.x
        with:
          query: |
            mutation($labelableId: ID!) {
              addLabelsToLabelable(
                input: {
                  labelableId: $labelableId
                  labelIds: ["LA_kwDOJDJ_Yc8AAAABN_r7Lw"]
                }
              ) {
                clientMutationId
              }
            }
          variables: |
            {
              "labelableId": "${{ github.event.discussion.node_id }}"
            }


================================================
FILE: .github/workflows/label-issues.yml
================================================
name: Label issues
on:
  issues:
    types:
      - reopened
      - opened

jobs:
  label_issues:
    name: "Issue: add labels"
    if: ${{ github.event.action == 'opened' || github.event.action == 'reopened' }}
    runs-on: ubuntu-latest
    permissions:
      issues: write
    steps:
      - uses: actions/github-script@v6
        with:
          github-token: ${{ secrets.GH_ACTIONS_PR_WRITE }}
          script: |
            // Get the issue body and title
            const body = context.payload.issue.body
            let title = context.payload.issue.title
            
            // Define the labels array
            let labels = ["triage"]
            
            // Check if the body or the title contains the word 'python' (case-insensitive)
            if ((body != null && body.match(/python/i)) || (title != null && title.match(/python/i))) {
              // Add the 'python' label to the array
              labels.push("python")
            }
            
            // Check if the body or the title contains the word 'java' (case-insensitive)
            if ((body != null && body.match(/java/i)) || (title != null && title.match(/java/i))) {
              // Add the 'java' label to the array
              labels.push("java")
            }
            
            // Check if the body or the title contains the words 'dotnet', '.net', 'c#' or 'csharp' (case-insensitive)
            if ((body != null && body.match(/.net/i)) || (title != null && title.match(/.net/i)) ||
                (body != null && body.match(/dotnet/i)) || (title != null && title.match(/dotnet/i)) ||
                (body != null && body.match(/C#/i)) || (title != null && title.match(/C#/i)) ||
                (body != null && body.match(/csharp/i)) || (title != null && title.match(/csharp/i))) {
              // Add the '.NET' label to the array
              labels.push(".NET")
            }

            // Add the labels to the issue
            github.rest.issues.addLabels({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              labels: labels
            });


================================================
FILE: .github/workflows/label-pr.yml
================================================
# This workflow will triage pull requests and apply a label based on the
# paths that are modified in the pull request.
#
# To use this workflow, you will need to set up a .github/labeler.yml
# file with configuration.  For more information, see:
# https://github.com/actions/labeler

name: Label pull request
on: [pull_request_target]

jobs:
  add_label:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write

    steps:
      - uses: actions/labeler@v4
        with:
          repo-token: "${{ secrets.GH_ACTIONS_PR_WRITE }}"


================================================
FILE: .github/workflows/label-title-prefix.yml
================================================
name: Label title prefix
on:
  issues:
    types: [labeled]
  pull_request_target:
    types: [labeled]

jobs:
  add_title_prefix:
    name: "Issue/PR: add title prefix"
    continue-on-error: true
    runs-on: ubuntu-latest
    permissions:
      issues: write
      pull-requests: write

    steps:
      - uses: actions/github-script@v6
        name: "Issue/PR: update title"
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          script: |
            let prefixLabels = {
              "python": "Python",
              "java": "Java",
              ".NET": ".Net"
            };

            function addTitlePrefix(title, prefix)
            {
              // Update the title based on the label and prefix
              // Check if the title starts with the prefix (case-sensitive)
              if (!title.startsWith(prefix + ": ")) {
                // If not, check if the first word is the label (case-insensitive)
                if (title.match(new RegExp(`^${prefix}`, 'i'))) {
                  // If yes, replace it with the prefix (case-sensitive)
                  title = title.replace(new RegExp(`^${prefix}`, 'i'), prefix);
                } else {
                  // If not, prepend the prefix to the title
                  title = prefix + ": " + title;
                }
              }

              return title;
            }

            labelAdded = context.payload.label.name

            // Check if the issue or PR has the label
            if (labelAdded in prefixLabels) {
              let prefix = prefixLabels[labelAdded];
              switch(context.eventName) {
                case 'issues':
                  github.rest.issues.update({
                    issue_number: context.issue.number,
                    owner: context.repo.owner,
                    repo: context.repo.repo,
                    title: addTitlePrefix(context.payload.issue.title, prefix)
                  });
                  break

                case 'pull_request_target':
                  github.rest.pulls.update({
                    pull_number: context.issue.number,
                    owner: context.repo.owner,
                    repo: context.repo.repo,
                    title: addTitlePrefix(context.payload.pull_request.title, prefix)
                  });
                  break
                default:
                  core.setFailed('Unrecognited eventName: ' + context.eventName);
              }
            }


================================================
FILE: .github/workflows/markdown-link-check.yml
================================================
name: Check .md links

on:
  workflow_dispatch:
  pull_request:
    branches: ["main"]

permissions:
  contents: read

jobs:
  markdown-link-check:
    runs-on: ubuntu-22.04
    # check out the latest version of the code
    steps:
      - uses: actions/checkout@v5
        with:
          persist-credentials: false

      # Checks the status of hyperlinks in all files
      - name: Run linkspector
        uses: umbrelladocs/action-linkspector@v1
        with:
          reporter: local
          filter_mode: nofilter
          fail_on_error: true
          config_file: ".github/.linkspector.yml"


================================================
FILE: .github/workflows/merge-gatekeeper.yml
================================================
name: Merge Gatekeeper

on:
  pull_request:
    branches: [ "main", "feature*" ]
  merge_group:
    branches: ["main"]

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

jobs:
  merge-gatekeeper:
    runs-on: ubuntu-latest
    # Restrict permissions of the GITHUB_TOKEN.
    # Docs: https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs
    permissions:
      checks: read
      statuses: read
    steps:
      - name: Run Merge Gatekeeper
        # NOTE: v1 is updated to reflect the latest v1.x.y. Please use any tag/branch that suits your needs:
        #       https://github.com/upsidr/merge-gatekeeper/tags
        #       https://github.com/upsidr/merge-gatekeeper/branches
        uses: upsidr/merge-gatekeeper@v1
        if: github.event_name == 'pull_request'
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          timeout: 3600
          interval: 30
          ignored: python-tests-coverage


================================================
FILE: .github/workflows/python-build.yml
================================================
name: Python Build Assets

on:
  release:
    types: [published]

permissions:
  contents: write
  id-token: write

jobs:
  python-build-assets:
    if: github.event_name == 'release' && startsWith(github.event.release.tag_name, 'python-')
    name: Python Build Assets and add to Release
    runs-on: ubuntu-latest
    environment: "integration"
    env:
      UV_PYTHON: "3.10"
    steps:
      - uses: actions/checkout@v5
      - name: Set up uv
        uses: astral-sh/setup-uv@v6
        with:
          version: "0.5.x"
          enable-cache: true
          cache-suffix: ${{ runner.os }}-${{ matrix.python-version }}
          cache-dependency-glob: "**/uv.lock"
      - name: Check version
        run: |
          echo "Building and uploading Python package version: ${{ github.event.release.tag_name }}"
      - name: Build the package
        run: cd python && make build
      - name: Release
        uses: softprops/action-gh-release@v2
        with:
          files: |
            python/dist/*
      - name: Azure Login
        uses: azure/login@v2
        with:
          client-id: ${{ secrets.AZURE_CLIENT_ID }}
          tenant-id: ${{ secrets.AZURE_TENANT_ID }}
          subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
      - name: Start DevOps pipeline
        uses: azure/cli@v2
        with:
          inlineScript: |
            az pipelines run --id ${{ vars.ADO_PYTHON_RELEASE_ID }} --org ${{ vars.ADO_ORG }} --project ${{ vars.ADO_PROJECT_NAME }} --parameters tag=${{ github.event.release.tag_name }} delay=0


================================================
FILE: .github/workflows/python-integration-tests.yml
================================================
#
# This workflow will run all python integrations tests.
#

name: Python Integration Tests

on:
  workflow_dispatch:
  pull_request:
    branches: ["main"]
  merge_group:
    branches: ["main"]
  schedule:
    - cron: "0 0 * * *" # Run at midnight UTC daily

permissions:
  contents: read
  id-token: "write"

env:
  # Configure a constant location for the uv cache
  UV_CACHE_DIR: /tmp/.uv-cache
  Python_Integration_Tests: Python_Integration_Tests
  INTEGRATION_TEST_SERVICE_SETUP_EXCEPTION: ${{ true }}
  AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME: ${{ vars.AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME }} # azure-text-embedding-ada-002
  AZURE_OPENAI_CHAT_DEPLOYMENT_NAME: ${{ vars.AZURE_OPENAI_CHAT_DEPLOYMENT_NAME }}
  AZURE_OPENAI_TEXT_DEPLOYMENT_NAME: ${{ vars.AZURE_OPENAI_TEXT_DEPLOYMENT_NAME }}
  AZURE_OPENAI_AUDIO_TO_TEXT_DEPLOYMENT_NAME: ${{ vars.AZURE_OPENAI_AUDIO_TO_TEXT_DEPLOYMENT_NAME }}
  AZURE_OPENAI_TEXT_TO_AUDIO_DEPLOYMENT_NAME: ${{ vars.AZURE_OPENAI_TEXT_TO_AUDIO_DEPLOYMENT_NAME }}
  AZURE_OPENAI_TEXT_TO_IMAGE_DEPLOYMENT_NAME: ${{ vars.AZURE_OPENAI_TEXT_TO_IMAGE_DEPLOYMENT_NAME }}
  AZURE_OPENAI_API_VERSION: ${{ vars.AZURE_OPENAI_API_VERSION }}
  AZURE_OPENAI_ENDPOINT: ${{ secrets.AZURE_OPENAI_ENDPOINT }}
  AZURE_OPENAI_AUDIO_TO_TEXT_ENDPOINT: ${{ secrets.AZURE_OPENAI_AUDIO_TO_TEXT_ENDPOINT }}
  AZURE_OPENAI_TEXT_TO_AUDIO_ENDPOINT: ${{ secrets.AZURE_OPENAI_TEXT_TO_AUDIO_ENDPOINT }}
  AZURE_AI_AGENT_ENDPOINT: ${{ secrets.AZURE_AI_AGENT_ENDPOINT }}
  AZURE_AI_AGENT_MODEL_DEPLOYMENT_NAME: ${{ secrets.AZURE_AI_AGENT_MODEL_DEPLOYMENT_NAME }}
  AZURE_OPENAI_RESPONSES_DEPLOYMENT_NAME: ${{ vars.AZURE_OPENAI_RESPONSES_DEPLOYMENT_NAME }}
  BING_API_KEY: ${{ secrets.BING_API_KEY }}
  OPENAI_RESPONSES_MODEL_ID: ${{ vars.OPENAI_RESPONSES_MODEL_ID }}
  OPENAI_CHAT_MODEL_ID: ${{ vars.OPENAI_CHAT_MODEL_ID }}
  OPENAI_TEXT_MODEL_ID: ${{ vars.OPENAI_TEXT_MODEL_ID }}
  OPENAI_EMBEDDING_MODEL_ID: ${{ vars.OPENAI_EMBEDDING_MODEL_ID }}
  OPENAI_AUDIO_TO_TEXT_MODEL_ID: ${{ vars.OPENAI_AUDIO_TO_TEXT_MODEL_ID }}
  OPENAI_TEXT_TO_AUDIO_MODEL_ID: ${{ vars.OPENAI_TEXT_TO_AUDIO_MODEL_ID }}
  OPENAI_TEXT_TO_IMAGE_MODEL_ID: ${{ vars.OPENAI_TEXT_TO_IMAGE_MODEL_ID }}
  OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
  PINECONE_API_KEY: ${{ secrets.PINECONE__APIKEY }}
  POSTGRES_CONNECTION_STRING: ${{secrets.POSTGRES__CONNECTIONSTR}}
  POSTGRES_MAX_POOL: ${{ vars.POSTGRES_MAX_POOL }}
  AZURE_AI_SEARCH_API_KEY: ${{secrets.AZURE_AI_SEARCH_API_KEY}}
  AZURE_AI_SEARCH_ENDPOINT: ${{secrets.AZURE_AI_SEARCH_ENDPOINT}}
  MONGODB_ATLAS_CONNECTION_STRING: ${{secrets.MONGODB_ATLAS_CONNECTION_STRING}}
  AZURE_KEY_VAULT_ENDPOINT: ${{secrets.AZURE_KEY_VAULT_ENDPOINT}}
  AZURE_KEY_VAULT_CLIENT_ID: ${{secrets.AZURE_KEY_VAULT_CLIENT_ID}}
  AZURE_KEY_VAULT_CLIENT_SECRET: ${{secrets.AZURE_KEY_VAULT_CLIENT_SECRET}}
  ACA_POOL_MANAGEMENT_ENDPOINT: ${{secrets.ACA_POOL_MANAGEMENT_ENDPOINT}}
  MISTRALAI_API_KEY: ${{secrets.MISTRALAI_API_KEY}}
  MISTRALAI_CHAT_MODEL_ID: ${{ vars.MISTRALAI_CHAT_MODEL_ID }}
  MISTRALAI_EMBEDDING_MODEL_ID: ${{ vars.MISTRALAI_EMBEDDING_MODEL_ID }}
  ANTHROPIC_API_KEY: ${{secrets.ANTHROPIC_API_KEY}}
  ANTHROPIC_CHAT_MODEL_ID: ${{ vars.ANTHROPIC_CHAT_MODEL_ID }}
  OLLAMA_CHAT_MODEL_ID: "${{ vars.OLLAMA_CHAT_MODEL_ID || '' }}" # llama3.2:1b
  OLLAMA_CHAT_MODEL_ID_IMAGE: "${{ vars.OLLAMA_CHAT_MODEL_ID_IMAGE || '' }}" # moondream
  OLLAMA_CHAT_MODEL_ID_TOOL_CALL: "${{ vars.OLLAMA_CHAT_MODEL_ID_TOOL_CALL || '' }}" # llama3.2:1b
  OLLAMA_TEXT_MODEL_ID: "${{ vars.OLLAMA_TEXT_MODEL_ID || '' }}" # llama3.2:1b
  OLLAMA_EMBEDDING_MODEL_ID: "${{ vars.OLLAMA_EMBEDDING_MODEL_ID || '' }}" # nomic-embed-text
  GOOGLE_AI_GEMINI_MODEL_ID: ${{ vars.GOOGLE_AI_GEMINI_MODEL_ID }}
  GOOGLE_AI_EMBEDDING_MODEL_ID: ${{ vars.GOOGLE_AI_EMBEDDING_MODEL_ID }}
  GOOGLE_AI_API_KEY: ${{ secrets.GOOGLE_AI_API_KEY }}
  GOOGLE_AI_CLOUD_PROJECT_ID: ${{ vars.GOOGLE_AI_CLOUD_PROJECT_ID }}
  VERTEX_AI_PROJECT_ID: ${{ vars.VERTEX_AI_PROJECT_ID }}
  VERTEX_AI_GEMINI_MODEL_ID: ${{ vars.VERTEX_AI_GEMINI_MODEL_ID }}
  VERTEX_AI_EMBEDDING_MODEL_ID: ${{ vars.VERTEX_AI_EMBEDDING_MODEL_ID }}
  REDIS_CONNECTION_STRING: ${{ vars.REDIS_CONNECTION_STRING }}
  AZURE_COSMOS_DB_NO_SQL_URL: ${{ vars.AZURE_COSMOS_DB_NO_SQL_URL }}
  AZURE_COSMOS_DB_NO_SQL_KEY: ${{ secrets.AZURE_COSMOS_DB_NO_SQL_KEY }}
  BEDROCK_AGENT_AGENT_RESOURCE_ROLE_ARN: ${{ secrets.BEDROCK_AGENT_AGENT_RESOURCE_ROLE_ARN }}
  BEDROCK_AGENT_FOUNDATION_MODEL: ${{ vars.BEDROCK_AGENT_FOUNDATION_MODEL }}

jobs:
  paths-filter:
    runs-on: ubuntu-latest
    outputs:
      pythonChanges: ${{ steps.filter.outputs.python}}
    steps:
      - uses: actions/checkout@v5
      - uses: dorny/paths-filter@v2
        id: filter
        with:
          filters: |
            python:
              - 'python/**'
      # run only if 'python' files were changed
      - name: python tests
        if: steps.filter.outputs.python == 'true'
        run: echo "Python file"
      # run only if not 'python' files were changed
      - name: not python tests
        if: steps.filter.outputs.python != 'true'
        run: echo "NOT python file"

  python-merge-gate-ai-services:
    name: Python Pre-Merge Integration Tests - AI Services (incl samples using those)
    needs: paths-filter
    if: github.event_name != 'pull_request' && github.event_name != 'schedule' && needs.paths-filter.outputs.pythonChanges == 'true'
    strategy:
      max-parallel: 1
      fail-fast: false
      matrix:
        python-version: ["3.11"]
        os: [ubuntu-latest]
    defaults:
      run:
        working-directory: python
    runs-on: ${{ matrix.os }}
    environment: "integration"
    env:
      UV_PYTHON: ${{ matrix.python-version }}
      COMPLETIONS_CONCEPT_SAMPLE: "true"
    steps:
      - uses: actions/checkout@v5
      - name: Set up uv
        uses: astral-sh/setup-uv@v6
        with:
          version: "0.5.x"
          enable-cache: true
          cache-suffix: ${{ runner.os }}-${{ matrix.python-version }}
          cache-dependency-glob: "**/uv.lock"
      - name: Install dependencies
        run: |
          uv sync --all-extras --dev
      - name: Google auth
        uses: google-github-actions/auth@v3
        with:
          project_id: ${{ vars.VERTEX_AI_PROJECT_ID }}
          credentials_json: ${{ secrets.VERTEX_AI_SERVICE_ACCOUNT_KEY }}
      - name: Set up gcloud
        uses: google-github-actions/setup-gcloud@v3
      - name: Configure AWS Credentials
        uses: aws-actions/configure-aws-credentials@v5
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: ${{ vars.AWS_REGION }}
      - name: Azure CLI Login
        if: github.event_name != 'pull_request'
        uses: azure/login@v2
        with:
          client-id: ${{ secrets.AZURE_CLIENT_ID }}
          tenant-id: ${{ secrets.AZURE_TENANT_ID }}
          subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
      - name: Run Integration Tests
        id: run_tests_ai_services
        shell: bash
        run: |
          uv run pytest -v --log-cli-level=INFO --durations=20 -n logical --dist loadfile --dist worksteal -m "not ollama" ./tests/integration/completions ./tests/integration/embeddings ./tests/samples ./tests/integration/cross_language

  python-merge-gate-multi-modality:
    name: Python Pre-Merge Integration Tests - Multi-Modality
    needs: paths-filter
    if: github.event_name != 'pull_request' && github.event_name != 'schedule' && needs.paths-filter.outputs.pythonChanges == 'true'
    strategy:
      max-parallel: 1
      fail-fast: false
      matrix:
        python-version: ["3.11"]
        os: [ubuntu-latest]
    defaults:
      run:
        working-directory: python
    runs-on: ${{ matrix.os }}
    environment: "integration"
    env:
      UV_PYTHON: ${{ matrix.python-version }}
    steps:
      - uses: actions/checkout@v5
      - name: Set up uv
        uses: astral-sh/setup-uv@v6
        with:
          version: "0.5.x"
          enable-cache: true
          cache-suffix: ${{ runner.os }}-${{ matrix.python-version }}
      - name: Install dependencies
        run: |
          uv sync --all-extras --dev
      - name: Azure CLI Login
        if: github.event_name != 'pull_request'
        uses: azure/login@v2
        with:
          client-id: ${{ secrets.AZURE_CLIENT_ID }}
          tenant-id: ${{ secrets.AZURE_TENANT_ID }}
          subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
      - name: Run Integration Tests
        id: run_tests_multi_modality
        shell: bash
        run: |
          uv run pytest -v --log-cli-level=INFO --durations=20 -n logical --dist loadfile --dist worksteal ./tests/integration/audio_to_text ./tests/integration/text_to_audio ./tests/integration/text_to_image

  python-merge-gate-agents:
    name: Python Pre-Merge Integration Tests - Agents
    needs: paths-filter
    if: github.event_name != 'pull_request' && github.event_name != 'schedule' && needs.paths-filter.outputs.pythonChanges == 'true'
    strategy:
      max-parallel: 1
      fail-fast: false
      matrix:
        python-version: ["3.11"]
        os: [ubuntu-latest]
    defaults:
      run:
        working-directory: python
    runs-on: ${{ matrix.os }}
    environment: "integration"
    env:
      UV_PYTHON: ${{ matrix.python-version }}
    steps:
      - uses: actions/checkout@v5
      - name: Set up uv
        uses: astral-sh/setup-uv@v6
        with:
          version: "0.5.x"
          enable-cache: true
          cache-suffix: ${{ runner.os }}-${{ matrix.python-version }}
      - name: Install dependencies
        run: |
          uv sync --all-extras --dev
      - name: Configure AWS Credentials
        uses: aws-actions/configure-aws-credentials@v5
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: ${{ vars.AWS_REGION }}
      - name: Azure CLI Login
        if: github.event_name != 'pull_request'
        uses: azure/login@v2
        with:
          client-id: ${{ secrets.AZURE_CLIENT_ID }}
          tenant-id: ${{ secrets.AZURE_TENANT_ID }}
          subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
      - name: Run Integration Tests
        id: run_tests_agents
        shell: bash
        run: |
          uv run pytest -v --log-cli-level=INFO --durations=20 -n logical --dist loadfile --dist worksteal ./tests/integration/agents

  python-merge-gate-ollama:
    name: Python Pre-Merge Integration Tests - Ollama
    needs: paths-filter
    # Ollama tests are very unstable at the moment. It often fails to pull models from the Ollama server. Thus, this job is disabled for now.
    if: false && github.event_name != 'pull_request' && github.event_name != 'schedule' && needs.paths-filter.outputs.pythonChanges == 'true'
    strategy:
      max-parallel: 1
      fail-fast: false
      matrix:
        python-version: ["3.11"]
        os: [ubuntu-latest]
    defaults:
      run:
        working-directory: python
    runs-on: ${{ matrix.os }}
    environment: "integration"
    env:
      UV_PYTHON: ${{ matrix.python-version }}
      COMPLETIONS_CONCEPT_SAMPLE: "true"
    steps:
      - uses: actions/checkout@v5
      - name: Set up uv
        uses: astral-sh/setup-uv@v6
        with:
          version: "0.5.x"
          enable-cache: true
          cache-suffix: ${{ runner.os }}-${{ matrix.python-version }}
          cache-dependency-glob: "**/uv.lock"
      - name: Install dependencies
        run: |
          uv sync --all-extras --dev
      - name: Install Ollama
        if: matrix.os == 'ubuntu-latest'
        run: |
          curl -fsSL https://ollama.com/install.sh | sh
          ollama serve &
          sleep 5
      - name: Pull model in Ollama
        if: matrix.os == 'ubuntu-latest'
        run: |
          ollama pull ${{ vars.OLLAMA_CHAT_MODEL_ID }}
          ollama pull ${{ vars.OLLAMA_CHAT_MODEL_ID_IMAGE }}
          ollama pull ${{ vars.OLLAMA_CHAT_MODEL_ID_TOOL_CALL }}
          ollama pull ${{ vars.OLLAMA_TEXT_MODEL_ID }}
          ollama pull ${{ vars.OLLAMA_EMBEDDING_MODEL_ID }}
          ollama list
      - name: Run Integration Tests
        id: run_tests_ai_services
        shell: bash
        run: |
          uv run pytest -v --log-cli-level=INFO --durations=0 -n logical --dist loadfile --dist worksteal -m ollama --timeout=300 ./tests/integration/completions ./tests/integration/embeddings

  python-merge-gate-memory:
    name: Python Pre-Merge Integration Tests - Memory (incl samples using those)
    needs: paths-filter
    if: github.event_name != 'pull_request' && github.event_name != 'schedule' && needs.paths-filter.outputs.pythonChanges == 'true'
    strategy:
      max-parallel: 1
      fail-fast: false
      matrix:
        python-version: ["3.11"]
        os: [ubuntu-latest]
    defaults:
      run:
        working-directory: python
    runs-on: ${{ matrix.os }}
    environment: "integration"
    env:
      UV_PYTHON: ${{ matrix.python-version }}
      MEMORY_CONCEPT_SAMPLE: "true"
    # Service containers to run with for the memory connectors, this only works on Ubuntu
    services:
      # Label used to access the service container
      redis:
        # Docker Hub image
        image: redis/redis-stack-server:latest
        ports:
          # Opens tcp port 6379 on the host and service container
          - 6379:6379
      weaviate:
        image: cr.weaviate.io/semitechnologies/weaviate:1.33.3
        ports:
          - 8080:8080
          - 50051:50051
    steps:
      - uses: actions/checkout@v5
      - name: Set up uv
        uses: astral-sh/setup-uv@v6
        with:
          version: "0.5.x"
          enable-cache: true
          cache-suffix: ${{ runner.os }}-${{ matrix.python-version }}
          cache-dependency-glob: "**/uv.lock"
      - name: Install dependencies
        run: |
          uv sync --all-extras --dev
      - name: Azure CLI Login
        if: github.event_name != 'pull_request'
        uses: azure/login@v2
        with:
          client-id: ${{ secrets.AZURE_CLIENT_ID }}
          tenant-id: ${{ secrets.AZURE_TENANT_ID }}
          subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
      - name: Run Integration Tests
        id: run_tests_memory
        timeout-minutes: 15
        shell: bash
        run: |
          uv run pytest -v --log-cli-level=INFO --durations=20 -n logical --dist loadfile --dist worksteal ./tests/integration/memory ./tests/samples

  python-integration-tests:
    name: Python Integration Tests - Scheduled run
    needs: paths-filter
    if: (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && needs.paths-filter.outputs.pythonChanges == 'true'
    strategy:
      max-parallel: 1
      fail-fast: false
      matrix:
        python-version: ["3.10", "3.11", "3.12"]
        os: [ubuntu-latest, windows-latest, macos-latest]
    defaults:
      run:
        working-directory: python
    runs-on: ${{ matrix.os }}
    env:
      UV_PYTHON: ${{ matrix.python-version }}
      MEMORY_CONCEPT_SAMPLE: "true"
      COMPLETIONS_CONCEPT_SAMPLE: "true"
    # Service containers to run with for the memory connectors, this only works on Ubuntu
    services:
      # Label used to access the service container
      redis:
        # Docker Hub image
        image: redis/redis-stack-server:latest
        ports:
          # Opens tcp port 6379 on the host and service container
          - 6379:6379
      weaviate:
        image: cr.weaviate.io/semitechnologies/weaviate:1.26.6
        ports:
          - 8080:8080
          - 50051:50051
    steps:
      - uses: actions/checkout@v5
      - name: Set up uv
        uses: astral-sh/setup-uv@v6
        with:
          version: "0.5.x"
          enable-cache: true
          cache-suffix: ${{ runner.os }}-${{ matrix.python-version }}
          cache-dependency-glob: "**/uv.lock"
      - name: Install dependencies
        run: |
          uv sync --all-extras --dev
      - name: Install Ollama
        if: matrix.os == 'ubuntu-latest'
        run: |
          curl -fsSL https://ollama.com/install.sh | sh
          ollama serve &
          sleep 5
      - name: Pull model in Ollama
        # Ollama tests are very unstable at the moment. It often fails to pull models from the Ollama server. Thus, Ollama is disabled for now.
        if: false && matrix.os == 'ubuntu-latest'
        run: |
          ollama pull ${{ vars.OLLAMA_CHAT_MODEL_ID }}
          ollama pull ${{ vars.OLLAMA_CHAT_MODEL_ID_IMAGE }}
          ollama pull ${{ vars.OLLAMA_CHAT_MODEL_ID_TOOL_CALL }}
          ollama pull ${{ vars.OLLAMA_TEXT_MODEL_ID }}
          ollama pull ${{ vars.OLLAMA_EMBEDDING_MODEL_ID }}
          ollama list
      - name: Google auth
        uses: google-github-actions/auth@v3
        with:
          project_id: ${{ vars.VERTEX_AI_PROJECT_ID }}
          credentials_json: ${{ secrets.VERTEX_AI_SERVICE_ACCOUNT_KEY }}
      - name: Set up gcloud
        uses: google-github-actions/setup-gcloud@v3
      - name: Configure AWS Credentials
        uses: aws-actions/configure-aws-credentials@v5
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: ${{ vars.AWS_REGION }}
      - name: Start Azure Cosmos DB emulator
        if: matrix.os == 'windows-latest'
        run: |
          Write-Host "Launching Cosmos DB Emulator"
          Import-Module "$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules\Microsoft.Azure.CosmosDB.Emulator"
          Start-CosmosDbEmulator
      - name: Azure CLI Login
        if: github.event_name != 'pull_request'
        uses: azure/login@v2
        with:
          client-id: ${{ secrets.AZURE_CLIENT_ID }}
          tenant-id: ${{ secrets.AZURE_TENANT_ID }}
          subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
      - name: Run Integration Tests - Completions
        id: run_tests_completions
        timeout-minutes: 10
        shell: bash
        # Ollama tests are very unstable at the moment. It often fails to pull models from the Ollama server. Thus, Ollama is disabled for now.
        run: |
          uv run pytest -v -n logical --dist loadfile --dist worksteal -m "not ollama" ./tests/integration/completions
      - name: Run Integration Tests - Embeddings
        id: run_tests_embeddings
        timeout-minutes: 5
        shell: bash
        # Ollama tests are very unstable at the moment. It often fails to pull models from the Ollama server. Thus, Ollama is disabled for now.
        run: |
          uv run pytest -v -n logical --dist loadfile --dist worksteal -m "not ollama" ./tests/integration/embeddings
      - name: Run Integration Tests - Memory
        id: run_tests_memory
        timeout-minutes: 5
        shell: bash
        run: |
          uv run pytest -v -n logical --dist loadfile --dist worksteal ./tests/integration/memory
      - name: Run Integration Tests - Cross Language
        id: run_tests_cross_language
        timeout-minutes: 5
        shell: bash
        run: |
          uv run pytest -v -n logical --dist loadfile --dist worksteal ./tests/integration/cross_language
      - name: Run Integration Tests - Planning
        id: run_tests_planning
        timeout-minutes: 5
        shell: bash
        run: |
          uv run pytest -v -n logical --dist loadfile --dist worksteal ./tests/integration/planning
      - name: Run Integration Tests - Samples
        id: run_tests_samples
        timeout-minutes: 5
        shell: bash
        run: |
          uv run pytest -v -n logical --dist loadfile --dist worksteal ./tests/samples
      - name: Run Integration Tests - Agents
        id: run_tests_agents
        timeout-minutes: 10
        shell: bash
        run: |
          uv run pytest -v -n logical --dist loadfile --dist worksteal ./tests/integration/agents
      - name: Run Integration Tests - Multi-Modality
        id: run_tests_multi_modality
        timeout-minutes: 5
        shell: bash
        run: |
          uv run pytest -v -n logical --dist loadfile --dist worksteal ./tests/integration/audio_to_text ./tests/integration/text_to_audio ./tests/integration/text_to_image

  # This final job is required to satisfy the merge queue. It must only run (or succeed) if no tests failed
  python-integration-tests-check:
    if: always()
    runs-on: ubuntu-latest
    strategy:
      max-parallel: 1
      fail-fast: false
    needs:
      [
        python-merge-gate-ai-services,
        python-merge-gate-ollama,
        python-merge-gate-memory,
        python-merge-gate-agents,
        python-merge-gate-multi-modality,
        python-integration-tests,
      ]
    steps:
      - name: Get Date
        shell: bash
        run: |
          echo "date=$(date +'%m/%d/%Y %H:%M:%S')" >> "$GITHUB_ENV"

      - name: Run Type is Daily
        if: ${{ github.event_name == 'schedule' }}
        shell: bash
        run: |
          echo "run_type=Daily" >> "$GITHUB_ENV"

      - name: Run Type is Manual
        if: ${{ github.event_name == 'workflow_dispatch' }}
        shell: bash
        run: |
          echo "run_type=Manual" >> "$GITHUB_ENV"

      - name: Run Type is ${{ github.event_name }}
        if: ${{ github.event_name != 'schedule' && github.event_name != 'workflow_dispatch'}}
        shell: bash
        run: |
          echo "run_type=${{ github.event_name }}" >> "$GITHUB_ENV"

      - name: Fail workflow if tests failed
        id: check_tests_failed
        if: contains(join(needs.*.result, ','), 'failure')
        uses: actions/github-script@v6
        with:
          script: core.setFailed('Integration Tests Failed!')

      - name: Fail workflow if tests cancelled
        id: check_tests_cancelled
        if: contains(join(needs.*.result, ','), 'cancelled')
        uses: actions/github-script@v6
        with:
          script: core.setFailed('Integration Tests Cancelled!')

      - name: Microsoft Teams Notification
        uses: skitionek/notify-microsoft-teams@v1.0.9
        if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
        with:
          webhook_url: ${{ secrets.MSTEAMS_WEBHOOK }}
          dry_run: ${{ env.run_type != 'Daily' && env.run_type != 'Manual'}}
          job: ${{ toJson(job) }}
          steps: ${{ toJson(steps) }}
          title: "{title: ` ${{ env.run_type }}: ${{ env.date }} `, text: ` ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}`}"

      - name: Microsoft Teams Notification (Dry Run)
        uses: skitionek/notify-microsoft-teams@v1.0.9
        if: github.ref != 'refs/heads/main'
        with:
          webhook_url: NONE
          dry_run: ${{ env.run_type != 'Daily' && env.run_type != 'Manual'}}
          job: ${{ toJson(job) }}
          steps: ${{ toJson(steps) }}
          title: "{title: ` ${{ env.run_type }}: ${{ env.date }} `, text: ` ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}`}"


================================================
FILE: .github/workflows/python-lint.yml
================================================
name: Python Code Quality Checks
on:
  workflow_dispatch:
  pull_request:
    branches: ["main", "feature*"]
    paths:
      - "python/**"

jobs:
  pre-commit:
    if: "!cancelled()"
    strategy:
      fail-fast: false
      matrix:
        python-version: ["3.10"]
    runs-on: ubuntu-latest
    continue-on-error: true
    defaults:
      run:
        working-directory: python
    env:
      # Configure a constant location for the uv cache
      UV_CACHE_DIR: /tmp/.uv-cache
      UV_PYTHON: ${{ matrix.python-version }}
    steps:
      - uses: actions/checkout@v5
      - name: Set up uv
        uses: astral-sh/setup-uv@v6
        with:
          version: "0.5.x"
          enable-cache: true
          cache-suffix: ${{ runner.os }}-${{ matrix.python-version }}
          cache-dependency-glob: "**/uv.lock"
      - name: Install the project
        run: uv sync --all-extras --dev
      - uses: pre-commit/action@v3.0.1
        name: Run Pre-Commit Hooks
        with:
          extra_args: --config python/.pre-commit-config.yaml --all-files
      - name: Run Mypy
        run: uv run mypy -p semantic_kernel --config-file mypy.ini


================================================
FILE: .github/workflows/python-manual-release.yml
================================================
name: Python Start Release on ADO

on:
  workflow_dispatch:
    inputs:
      tag:
        description: "Tag to release"
        required: true

permissions:
  contents: read
  id-token: write

jobs:
  python-start-ado-release-job:
    name: Trigger ADO Pipeline for Python Release
    runs-on: ubuntu-latest
    environment: "integration"
    steps:
      - name: Azure Login
        uses: azure/login@v2
        with:
          client-id: ${{ secrets.AZURE_CLIENT_ID }}
          tenant-id: ${{ secrets.AZURE_TENANT_ID }}
          subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
      - name: Start DevOps pipeline
        uses: azure/cli@v2
        with:
          inlineScript: |
            az pipelines run --id ${{ vars.ADO_PYTHON_RELEASE_ID }} --org ${{ vars.ADO_ORG }} --project ${{ vars.ADO_PROJECT_NAME }}  --parameters tag=${{ inputs.tag }} delay=0


================================================
FILE: .github/workflows/python-test-coverage-report.yml
================================================
name: Python Test Coverage Report

on:
  workflow_run:
    workflows: ["Python Test Coverage"]
    types:
      - completed

permissions:
  contents: read
  pull-requests: write

jobs:
  python-test-coverage-report:
    runs-on: ubuntu-latest
    if: github.event.workflow_run.conclusion == 'success'
    continue-on-error: false
    defaults:
      run:
        working-directory: python
    steps:
      - uses: actions/checkout@v5
      - name: Download coverage report
        uses: actions/download-artifact@v5
        with:
          github-token: ${{ secrets.GH_ACTIONS_PR_WRITE }}
          run-id: ${{ github.event.workflow_run.id }}
          path: ./python
          merge-multiple: true
      - name: Display structure of downloaded files
        run: ls
      - name: Read and set PR number
        # Need to read the PR number from the file saved in the previous workflow
        # because the workflow_run event does not have access to the PR number
        # The PR number is needed to post the comment on the PR
        run: |
          PR_NUMBER=$(cat pr_number)
          echo "PR number: $PR_NUMBER"
          echo "PR_NUMBER=$PR_NUMBER" >> $GITHUB_ENV
      - name: Pytest coverage comment
        id: coverageComment
        uses: MishaKav/pytest-coverage-comment@v1.1.57
        with:
          github-token: ${{ secrets.GH_ACTIONS_PR_WRITE }}
          issue-number: ${{ env.PR_NUMBER }}
          pytest-xml-coverage-path: python/python-coverage.xml
          title: "Python Test Coverage Report"
          badge-title: "Python Test Coverage"
          junitxml-title: "Python Unit Test Overview"
          junitxml-path: python/pytest.xml
          default-branch: "main"
          report-only-changed-files: true


================================================
FILE: .github/workflows/python-test-coverage.yml
================================================
name: Python Test Coverage

on:
  pull_request:
    branches: ["main", "feature*"]
    paths:
      - "python/semantic_kernel/**"
      - "python/tests/unit/**"
env:
  # Configure a constant location for the uv cache
  UV_CACHE_DIR: /tmp/.uv-cache

jobs:
  python-tests-coverage:
    runs-on: ubuntu-latest
    continue-on-error: false
    defaults:
      run:
        working-directory: python
    env:
      UV_PYTHON: "3.10"
    steps:
      - uses: actions/checkout@v5
      # Save the PR number to a file since the workflow_run event
      # in the coverage report workflow does not have access to it
      - name: Save PR number
        run: |
          echo ${{ github.event.number }} > ./pr_number
      - name: Set up uv
        uses: astral-sh/setup-uv@v6
        with:
          version: "0.5.x"
          enable-cache: true
          cache-suffix: ${{ runner.os }}-${{ env.UV_PYTHON }}
          cache-dependency-glob: "**/uv.lock"
      - name: Install the project
        run: uv sync --all-extras --dev -U --prerelease=if-necessary-or-explicit
      - name: Test with pytest
        run: uv run --frozen pytest -q --junitxml=pytest.xml --cov=semantic_kernel --cov-report=term-missing:skip-covered --cov-report=xml:python-coverage.xml ./tests/unit --ignore=./tests/unit/processes/dapr_runtime
      - name: Upload coverage report
        uses: actions/upload-artifact@v4
        with:
          path: |
            python/python-coverage.xml
            python/pytest.xml
            python/pr_number
          overwrite: true
          retention-days: 1
          if-no-files-found: error


================================================
FILE: .github/workflows/python-unit-tests.yml
================================================
name: Python Unit Tests

on:
  pull_request:
    branches: ["main", "feature*"]
    paths:
      - "python/**"
env:
  # Configure a constant location for the uv cache
  UV_CACHE_DIR: /tmp/.uv-cache

jobs:
  python-unit-tests:
    name: Python Unit Tests
    runs-on: ${{ matrix.os }}
    continue-on-error: ${{ matrix.experimental }}
    strategy:
      fail-fast: true
      matrix:
        python-version: ["3.10", "3.11", "3.12"]
        os: [ubuntu-latest, windows-latest, macos-latest]
        experimental: [false]
        test-suite: ["unit-all-except-dapr", "dapr"]
        exclude:
          - python-version: "3.10"
            os: macos-latest
          - python-version: "3.11"
            os: macos-latest
        include:
          - python-version: "3.13"
            os: "ubuntu-latest"
            experimental: true
            test-suite: "unit-all-except-dapr"
    env:
      UV_PYTHON: ${{ matrix.python-version }}
    permissions:
      contents: write
    defaults:
      run:
        working-directory: python
    steps:
      - uses: actions/checkout@v5
      - name: Set up uv
        uses: astral-sh/setup-uv@v6
        with:
          version: "0.5.x"
          enable-cache: true
          cache-suffix: ${{ runner.os }}-${{ matrix.python-version }}
          cache-dependency-glob: "**/uv.lock"
      - name: Install the project (all extras)
        if: matrix.test-suite == 'unit-all-except-dapr'
        run: uv sync --all-extras --dev -U --prerelease=if-necessary-or-explicit
      - name: Install the project (dapr tests)
        if: matrix.test-suite == 'dapr'
        run: uv sync --extra pandas --dev -U --prerelease=if-necessary-or-explicit && uv pip install "dapr>=1.14.0" "dapr-ext-fastapi>=1.14.0" "flask-dapr>=1.14.0"
      - name: Test with pytest (all except dapr)
        if: matrix.test-suite == 'unit-all-except-dapr'
        env:
          PYTHON_GIL: ${{ matrix.gil }}
        run: uv run --frozen pytest --junitxml=pytest.xml ./tests/unit --ignore=tests/unit/processes/dapr_runtime
      - name: Test dapr with pytest
        if: matrix.test-suite == 'dapr'
        env:
          PYTHON_GIL: ${{ matrix.gil }}
        run: uv run --frozen pytest --junitxml=pytest-dapr.xml ./tests/unit/processes/dapr_runtime
      - name: Surface failing tests
        if: ${{ !matrix.experimental && matrix.test-suite == 'unit-all-except-dapr' }}
        uses: pmeier/pytest-results-action@v0.7.2
        with:
          path: python/pytest.xml
          summary: true
          display-options: fEX
          fail-on-empty: true
          title: Test results


================================================
FILE: .github/workflows/test-aot-compatibility.ps1
================================================
param([string]$targetNetFramework)

$targetNetFramework = "net$targetNetFramework"

$rootDirectory = Get-Location

Write-Host "Publishing the SemanticKernel.AotTests application."

dotnet publish $rootDirectory/dotnet/src/SemanticKernel.AotTests/SemanticKernel.AotTests.csproj --framework $targetNetFramework | Tee-Object -Variable publishOutput

$warningFound = $false

if ($LastExitCode -ne 0)
{
    Write-Host "Errors were detected while publishing the application. See the output for more details."
    Exit $LastExitCode
}
elseif ($publishOutput -like "*analysis warning IL*" -or $publishOutput -like "*analysis error IL*")
{
    Write-Host "Native AOT analysis warnings were detected while publishing the application. See the output for more details."
    Exit 1
}

Write-Host "The application was published successfully."

$runtime = $IsWindows ? "win-x64" : "linux-x64"

$appPublishDirectory = Join-Path -Path $rootDirectory -ChildPath dotnet/src/SemanticKernel.AotTests/bin/Release/$targetNetFramework/$runtime/publish

$appFileName = $IsWindows ? "SemanticKernel.AotTests.exe" : "SemanticKernel.AotTests"

$app = Join-Path -Path $appPublishDirectory -ChildPath $appFileName

Write-Host "Executing the SemanticKernel.AotTests application."

& $app

if ($LastExitCode -ne 0)
{
    $testPassed = 1
    Write-Host "There was an error while executing the application. The Last Exit Code is: $LastExitCode"
}
else
{
    Write-Host "The application was executed successfully."
}

Exit $testPassed

================================================
FILE: .github/workflows/typos.yaml
================================================
# Check pull requests for typos.
#
# Configuration: .github/_typos.toml
#
# Info:          https://github.com/marketplace/actions/typos-action
# Local install: brew install typos-cli
# Local install: conda install typos
# Local run:     typos -c .github/_typos.toml

name: Spell Check

on:
  workflow_dispatch:
  pull_request:
    branches: ["main", "feature*"]

jobs:
  run:
    name: Spell Check with Typos
    runs-on: ubuntu-latest
    steps:
      - name: Check out code
        uses: actions/checkout@v5
        with:
          persist-credentials: false

      - name: Use custom config file
        uses: crate-ci/typos@v1.36.2
        with:
          config: .github/_typos.toml
          write_changes: false


================================================
FILE: .github/workflows/update-version.sh
================================================
#!/bin/bash

POSITIONAL_ARGS=()

while [[ $# -gt 0 ]]; do
    case $1 in
        -f|--file)
            file="$2"
            shift # past argument
            shift # past value
        ;;
        -p|--propsFile)
            propsFile="$2"
            shift # past argument
            shift # past value
        ;;
        -b|--buildAndRevisionNumber)
            buildAndRevisionNumber="$2"
            shift # past argument
            shift # past value
        ;;
        -*|--*)
            echo "Unknown option $1"
            exit 1
        ;;
        *)
            POSITIONAL_ARGS+=("$1") # save positional arg
            shift # past argument
        ;;
    esac
done

set -- "${POSITIONAL_ARGS[@]}" # restore positional parameters

if [ -z "$file" ]; then
    echo "ERROR: Parameter file (-f|--file) not provided"
    exit 1;
elif [ ! -f "$file" ]; then
    echo "ERROR: file ${file} not found"
    exit 1;
fi

if [ -n "$(cat $file | grep -i "<IsPackable>false</IsPackable>")" ]; then
    echo "Project is marked as NOT packable - skipping."
    exit 0;
fi
    
if [ -z "$propsFile" ]; then
    echo "ERROR: Parameter propsFile (-f|--file) not provided"
    exit 1;
elif [ ! -f "$propsFile" ]; then
    echo "ERROR: propsFile ${file} not found"
    exit 1;
fi

if [ -z "$buildAndRevisionNumber" ]; then
    echo "ERROR: Parameter buildAndRevisionNumber (-b|--buildAndRevisionNumber) not provided"
    exit 1;
fi

propsVersionString=$(cat $propsFile | grep -i "<Version>");
regex="<Version>([0-9.]*)<\/Version>"
if [[ $propsVersionString =~ $regex ]]; then
  propsVersion=${BASH_REMATCH[1]}
else
  echo "ERROR: Version tag not found in propsFile"
  exit 1;
fi

if [ -z "$propsVersion" ]; then
    echo "ERROR: Version tag not found in propsFile"
    exit 1;
elif [[ ! "$propsVersion" =~ ^0.* ]]; then
    echo "ERROR: Version expected to start with 0. Actual: ${propsVersion}"
    exit 1;
fi

fullVersionString="${propsVersion}.${buildAndRevisionNumber}-preview"

if [[ ! "$fullVersionString" =~ ^0.* ]]; then
    echo "ERROR: Version expected to start with 0. Actual: ${fullVersionString}"
    exit 1;
fi

echo "==== Project: ${file} ====";
echo "propsFile = ${propsFile}"
echo "buildAndRevisionNumber = ${buildAndRevisionNumber}"
echo "version prefix from propsFile = ${propsVersion}"
echo "full version string: ${fullVersionString}"

versionInProj=$(cat $file | grep -i "<Version>");
if [ -n "$versionInProj" ]; then
    # Version tag already exists in the csproj. Let's replace it.
    echo "Updating version tag..."
    content=$(cat $file | sed --expression="s/<Version>\([0-9]*.[0-9]*\)<\/Version>/<Version>$fullVersionString<\/Version>/g");
else
    # Version tag not found in the csproj. Let's add it.
    echo "Project is packable - adding version tag..."
    content=$(cat $file | sed --expression="s/<\/Project>/<PropertyGroup><Version>$fullVersionString<\/Version><\/PropertyGroup><\/Project>/g");
fi

if [ $? -ne 0 ]; then exit 1; fi
echo "$content" && echo "$content" > $file;
if [ $? -ne 0 ]; then exit 1; fi

echo "DONE";
echo "";


================================================
FILE: .gitignore
================================================
dotnet/.config

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore

# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Mono auto generated files
mono_crash.*

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/

# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/

# Visual Studio 2017 auto generated files
Generated\ Files/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

# Benchmark Results
BenchmarkDotNet.Artifacts/

# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/

# ASP.NET Scaffolding
ScaffoldingReadMe.txt

# StyleCop
StyleCopReport.xml

# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.tlog
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Chutzpah Test files
_Chutzpah*

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb

# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap

# Visual Studio Trace Files
*.e2e

# TFS 2012 Local Workspace
$tf/

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json

# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info

# Visual Studio code coverage results
*.coverage
*.coveragexml

# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*

# MightyMoose
*.mm.*
AutoTest.Net/

# Web workbench (sass)
.sass-cache/

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj

# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/

# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets

# Microsoft Azure Build Output
csx/
*.build.csdef

# Microsoft Azure Emulator
ecf/
rcf/

# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload

# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/

# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs

# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk

# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak

# SQL Server files
*.mdf
*.ldf
*.ndf

# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl

# Microsoft Fakes
FakesAssemblies/

# GhostDoc plugin setting file
*.GhostDoc.xml

# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/

# Visual Studio 6 build log
*.plg

# Visual Studio 6 workspace options file
*.opt

# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw

# Visual Studio 6 auto-generated project file (contains which files were open etc.)
*.vbp

# Visual Studio 6 workspace and project file (working project files containing files to include in project)
*.dsw
*.dsp

# Visual Studio 6 technical files
*.ncb
*.aps

# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions

# Paket dependency manager
.paket/paket.exe
paket-files/

# FAKE - F# Make
.fake/

# CodeRush personal settings
.cr/personal

# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc

# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config

# Tabs Studio
*.tss

# Telerik's JustMock configuration file
*.jmconfig

# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs

# OpenCover UI analysis results
OpenCover/

# 
Download .txt
Showing preview only (302K chars total). Download the full file or copy to clipboard to get everything.
gitextract__39337o8/

├── .devcontainer/
│   └── devcontainer.json
├── .editorconfig
├── .gitattributes
├── .github/
│   ├── .linkspector.yml
│   ├── CODEOWNERS
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.md
│   │   ├── feature_graduation.md
│   │   └── feature_request.md
│   ├── _typos.toml
│   ├── dependabot.yml
│   ├── labeler.yml
│   ├── pull_request_template.md
│   ├── upgrades/
│   │   └── prompts/
│   │       └── SemanticKernelToAgentFramework.md
│   └── workflows/
│       ├── check-coverage.ps1
│       ├── close-inactive-issues.yml
│       ├── codeql-analysis.yml
│       ├── devflow-pr-review.yml
│       ├── dotnet-build-and-test.yml
│       ├── dotnet-ci.yml
│       ├── dotnet-format.yml
│       ├── dotnet-integration-tests.yml
│       ├── label-discussions.yml
│       ├── label-issues.yml
│       ├── label-pr.yml
│       ├── label-title-prefix.yml
│       ├── markdown-link-check.yml
│       ├── merge-gatekeeper.yml
│       ├── python-build.yml
│       ├── python-integration-tests.yml
│       ├── python-lint.yml
│       ├── python-manual-release.yml
│       ├── python-test-coverage-report.yml
│       ├── python-test-coverage.yml
│       ├── python-unit-tests.yml
│       ├── test-aot-compatibility.ps1
│       ├── typos.yaml
│       └── update-version.sh
├── .gitignore
├── CODE_OF_CONDUCT.md
├── COMMUNITY.md
├── CONTRIBUTING.md
├── FEATURE_MATRIX.md
├── LICENSE
├── README.md
├── SECURITY.md
├── TRANSPARENCY_FAQS.md
├── docs/
│   ├── COSINE_SIMILARITY.md
│   ├── DOT_PRODUCT.md
│   ├── EMBEDDINGS.md
│   ├── EUCLIDEAN_DISTANCE.md
│   ├── FAQS.md
│   ├── GLOSSARY.md
│   ├── PLANNERS.md
│   ├── PLUGINS.md
│   ├── PROMPT_TEMPLATE_LANGUAGE.md
│   └── decisions/
│       ├── 0001-madr-architecture-decisions.md
│       ├── 0002-java-folder-structure.md
│       ├── 0003-support-multiple-native-function-args.md
│       ├── 0004-error-handling.md
│       ├── 0005-kernel-hooks-phase1.md
│       ├── 0006-open-api-dynamic-payload-and-namespaces.md
│       ├── 0007-prompt-extract-template-engine.md
│       ├── 0008-support-generic-llm-request-settings.md
│       ├── 0009-support-multiple-named-args-in-template-function-calls.md
│       ├── 0010-dotnet-project-structure.md
│       ├── 0011-function-and-kernel-result-types.md
│       ├── 0012-kernel-service-registration.md
│       ├── 0013-memory-as-plugin.md
│       ├── 0014-chat-completion-roles-in-prompt.md
│       ├── 0015-completion-service-selection.md
│       ├── 0016-custom-prompt-template-formats.md
│       ├── 0017-openai-function-calling.md
│       ├── 0018-kernel-hooks-phase2.md
│       ├── 0019-semantic-function-multiple-model-support.md
│       ├── 0020-prompt-syntax-mapping-to-completion-service-model.md
│       ├── 0021-aiservice-metadata.md
│       ├── 0021-json-serializable-custom-types.md
│       ├── 0022-skfunction.md
│       ├── 0023-handlebars-template-engine.md
│       ├── 0023-kernel-streaming.md
│       ├── 0024-connectors-api-equalization.md
│       ├── 0025-chat-content-models.md
│       ├── 0025-planner-telemetry-enhancement.md
│       ├── 0026-file-service.md
│       ├── 0030-branching-strategy.md
│       ├── 0031-feature-branch-strategy.md
│       ├── 0032-agents.md
│       ├── 0033-kernel-filters.md
│       ├── 0034-rag-in-sk.md
│       ├── 0035-skfunction-type-descriptions.md
│       ├── 0036-semantic-kernel-release-versioning.md
│       ├── 0037-audio-naming.md
│       ├── 0038-completion-service-selection.md
│       ├── 0039-set-plugin-name-in-metadata.md
│       ├── 0040-chat-prompt-xml-support.md
│       ├── 0041-function-call-content.md
│       ├── 0042-samples-restructure.md
│       ├── 0043-filters-exception-handling.md
│       ├── 0044-OTel-semantic-convention.md
│       ├── 0045-breaking-changes-guidance.md
│       ├── 0046-azure-model-as-a-service.md
│       ├── 0046-java-repository-separation.md
│       ├── 0046-kernel-content-graduation.md
│       ├── 0047-azure-open-ai-connectors.md
│       ├── 0048-agent-chat-serialization.md
│       ├── 0049-agents-assistantsV2.md
│       ├── 0050-updated-vector-store-design.md
│       ├── 0051-dotnet-azure-model-as-a-service.md
│       ├── 0051-entity-framework-as-connector.md
│       ├── 0052-python-ai-connector-new-abstract-methods.md
│       ├── 0053-dotnet-structured-outputs.md
│       ├── 0054-processes.md
│       ├── 0055-dotnet-azureopenai-stable-version-strategy.md
│       ├── 0056-python-streaming-content-for-token-usage.md
│       ├── 0057-python-structured-output.md
│       ├── 0058-vector-search-design.md
│       ├── 0059-text-search.md
│       ├── 0060-jsos-integration.md
│       ├── 0061-function-call-behavior.md
│       ├── 0062-open-api-payload.md
│       ├── 0063-function-calling-reliability.md
│       ├── 0064-hybrid-model-orchestration.md
│       ├── 0065-realtime-api-clients.md
│       ├── 0066-concepts-guidelines.md
│       ├── 0067-hybrid-search.md
│       ├── 0068-structured-data-connector.md
│       ├── 0069-mcp.md
│       ├── 0070-declarative-agent-schema.md
│       ├── 0071-multi-agent-orchestration.md
│       ├── 0072-agents-with-memory.md
│       ├── 0072-context-based-function-selection.md
│       ├── 0073-linq-based-text-search-filtering.md
│       ├── README.md
│       ├── adr-short-template.md
│       ├── adr-template.md
│       └── diagrams/
│           ├── agent-abstractions.mmd
│           ├── agent-aggregator.mmd
│           ├── agent-assistant.mmd
│           ├── agent-chatcompletion.mmd
│           ├── agent-design.mmd
│           ├── agent-groupchat.mmd
│           ├── agentchat-state.mmd
│           ├── assistant-agent.mmd
│           ├── assistant-definition.mmd
│           ├── assistant-invocationsettings.mmd
│           ├── assistant-serviceconfig.mmd
│           ├── assistant-threadcreationsettings.mmd
│           ├── chat-text-models.mmd
│           ├── prompt-template-factory.mmd
│           ├── skfunctions-preview.mmd
│           ├── skfunctions-v1.mmd
│           ├── text-search-abstraction.mmd
│           ├── text-search-imemorystore.mmd
│           ├── text-search-iwebsearchengineconnector.mmd
│           ├── tool-call-auto-invoke.mmd
│           ├── tool-call-filters.mmd
│           └── tool-call-skip-llm.mmd
├── dotnet/
│   ├── Directory.Build.props
│   ├── Directory.Build.targets
│   ├── Directory.Packages.props
│   ├── MEVD.slnf
│   ├── README.md
│   ├── SK-dotnet.slnx
│   ├── SK-dotnet.slnx.DotSettings
│   ├── SK-dotnet.v3.ncrunchsolution
│   ├── SK-release.slnf
│   ├── build.cmd
│   ├── build.sh
│   ├── code-coverage.ps1
│   ├── docs/
│   │   ├── EXPERIMENTS.md
│   │   ├── MODELS.md
│   │   ├── OPENAI-CONNECTOR-MIGRATION.md
│   │   └── TELEMETRY.md
│   ├── format.ps1
│   ├── global.json
│   ├── notebooks/
│   │   ├── 0-AI-settings.ipynb
│   │   ├── 00-getting-started.ipynb
│   │   ├── 01-basic-loading-the-kernel.ipynb
│   │   ├── 02-running-prompts-from-file.ipynb
│   │   ├── 03-semantic-function-inline.ipynb
│   │   ├── 04-kernel-arguments-chat.ipynb
│   │   ├── 05-using-function-calling.ipynb
│   │   ├── 06-vector-stores-and-embeddings.ipynb
│   │   ├── 07-DALL-E-3.ipynb
│   │   ├── 08-chatGPT-with-DALL-E-3.ipynb
│   │   ├── 09-RAG-with-BingSearch.ipynb
│   │   ├── README.md
│   │   └── config/
│   │       ├── .gitignore
│   │       ├── Settings.cs
│   │       ├── SkiaUtils.cs
│   │       ├── Utils.cs
│   │       ├── settings.json.azure-example
│   │       └── settings.json.openai-example
│   ├── nuget/
│   │   ├── NUGET.md
│   │   ├── VECTORDATA-CONNECTORS-NUGET.md
│   │   └── nuget-package.props
│   ├── nuget.config
│   ├── samples/
│   │   ├── .editorconfig
│   │   ├── AgentFrameworkMigration/
│   │   │   ├── AgentOrchestrations/
│   │   │   │   ├── Step01_Concurrent/
│   │   │   │   │   ├── AgentOrchestrations_Step01_Concurrent.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step02_Sequential/
│   │   │   │   │   ├── AgentOrchestrations_Step02_Sequential.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   └── Step03_Handoff/
│   │   │   │       ├── AgentOrchestrations_Step03_Handoff.csproj
│   │   │   │       └── Program.cs
│   │   │   ├── AzureAIFoundry/
│   │   │   │   ├── Step01_Basics/
│   │   │   │   │   ├── AzureAIFoundry_Step01_Basics.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step02_ToolCall/
│   │   │   │   │   ├── AzureAIFoundry_Step02_ToolCall.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step03_DependencyInjection/
│   │   │   │   │   ├── AzureAIFoundry_Step03_DependencyInjection.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   └── Step04_CodeInterpreter/
│   │   │   │       ├── AzureAIFoundry_Step04_CodeInterpreter.csproj
│   │   │   │       └── Program.cs
│   │   │   ├── AzureOpenAI/
│   │   │   │   ├── Step01_Basics/
│   │   │   │   │   ├── AzureOpenAI_Step01_Basics.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step02_ToolCall/
│   │   │   │   │   ├── AzureOpenAI_Step02_ToolCall.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step03_DependencyInjection/
│   │   │   │   │   ├── AzureOpenAI_Step03_DependencyInjection.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   └── Step04_ToolCall_WithOpenAPI/
│   │   │   │       ├── AzureOpenAI_Step04_ToolCall_WithOpenAPI.csproj
│   │   │   │       ├── OpenAPISpec.json
│   │   │   │       └── Program.cs
│   │   │   ├── AzureOpenAIAssistants/
│   │   │   │   ├── Step01_Basics/
│   │   │   │   │   ├── AzureOpenAIAssistants_Step01_Basics.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step02_ToolCall/
│   │   │   │   │   ├── AzureOpenAIAssistants_Step02_ToolCall.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step03_DependencyInjection/
│   │   │   │   │   ├── AzureOpenAIAssistants_Step03_DependencyInjection.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   └── Step04_CodeInterpreter/
│   │   │   │       ├── AzureOpenAIAssistants_Step04_CodeInterpreter.csproj
│   │   │   │       └── Program.cs
│   │   │   ├── AzureOpenAIResponses/
│   │   │   │   ├── Step01_Basics/
│   │   │   │   │   ├── AzureOpenAIResponses_Step01_Basics.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step02_ReasoningModel/
│   │   │   │   │   ├── AzureOpenAIResponses_Step02_ReasoningModel.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step03_ToolCall/
│   │   │   │   │   ├── AzureOpenAIResponses_Step03_ToolCall.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   └── Step04_DependencyInjection/
│   │   │   │       ├── AzureOpenAIResponses_Step04_DependencyInjection.csproj
│   │   │   │       └── Program.cs
│   │   │   ├── OpenAI/
│   │   │   │   ├── Step01_Basics/
│   │   │   │   │   ├── OpenAI_Step01_Basics.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step02_ToolCall/
│   │   │   │   │   ├── OpenAI_Step02_ToolCall.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   └── Step03_DependencyInjection/
│   │   │   │       ├── OpenAI_Step03_DependencyInjection.csproj
│   │   │   │       └── Program.cs
│   │   │   ├── OpenAIAssistants/
│   │   │   │   ├── Step01_Basics/
│   │   │   │   │   ├── OpenAIAssistants_Step01_Basics.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step02_ToolCall/
│   │   │   │   │   ├── OpenAIAssistants_Step02_ToolCall.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step03_DependencyInjection/
│   │   │   │   │   ├── OpenAIAssistants_Step03_DependencyInjection.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   └── Step04_CodeInterpreter/
│   │   │   │       ├── OpenAIAssistants_Step04_CodeInterpreter.csproj
│   │   │   │       └── Program.cs
│   │   │   ├── OpenAIResponses/
│   │   │   │   ├── Step01_Basics/
│   │   │   │   │   ├── OpenAIResponses_Step01_Basics.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step02_ReasoningModel/
│   │   │   │   │   ├── OpenAIResponses_Step02_ReasoningModel.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   ├── Step03_ToolCall/
│   │   │   │   │   ├── OpenAIResponses_Step03_ToolCall.csproj
│   │   │   │   │   └── Program.cs
│   │   │   │   └── Step04_DependencyInjection/
│   │   │   │       ├── OpenAIResponses_Step04_DependencyInjection.csproj
│   │   │   │       └── Program.cs
│   │   │   ├── Playground/
│   │   │   │   ├── README.md
│   │   │   │   └── SemanticKernelBasic/
│   │   │   │       ├── Program.cs
│   │   │   │       └── SemanticKernelBasic.csproj
│   │   │   └── README.md
│   │   ├── Concepts/
│   │   │   ├── Agents/
│   │   │   │   ├── AzureAIAgent_FileManipulation.cs
│   │   │   │   ├── AzureAIAgent_Streaming.cs
│   │   │   │   ├── ChatCompletion_ContextualFunctionSelection.cs
│   │   │   │   ├── ChatCompletion_FunctionTermination.cs
│   │   │   │   ├── ChatCompletion_HistoryReducer.cs
│   │   │   │   ├── ChatCompletion_Mem0.cs
│   │   │   │   ├── ChatCompletion_Rag.cs
│   │   │   │   ├── ChatCompletion_Serialization.cs
│   │   │   │   ├── ChatCompletion_ServiceSelection.cs
│   │   │   │   ├── ChatCompletion_Streaming.cs
│   │   │   │   ├── ChatCompletion_Templating.cs
│   │   │   │   ├── ChatCompletion_Whiteboard.cs
│   │   │   │   ├── ComplexChat_NestedShopper.cs
│   │   │   │   ├── DeclarativeAgents.cs
│   │   │   │   ├── MixedChat_Agents.cs
│   │   │   │   ├── MixedChat_Files.cs
│   │   │   │   ├── MixedChat_Images.cs
│   │   │   │   ├── MixedChat_Reset.cs
│   │   │   │   ├── MixedChat_Serialization.cs
│   │   │   │   ├── MixedChat_Streaming.cs
│   │   │   │   ├── OpenAIAssistant_ChartMaker.cs
│   │   │   │   ├── OpenAIAssistant_FileManipulation.cs
│   │   │   │   ├── OpenAIAssistant_FunctionFilters.cs
│   │   │   │   ├── OpenAIAssistant_Streaming.cs
│   │   │   │   ├── OpenAIAssistant_Templating.cs
│   │   │   │   ├── OpenAIResponseAgent_Whiteboard.cs
│   │   │   │   └── README.md
│   │   │   ├── AudioToText/
│   │   │   │   └── OpenAI_AudioToText.cs
│   │   │   ├── Caching/
│   │   │   │   └── SemanticCachingWithFilters.cs
│   │   │   ├── ChatCompletion/
│   │   │   │   ├── AzureAIInference_ChatCompletion.cs
│   │   │   │   ├── AzureAIInference_ChatCompletionStreaming.cs
│   │   │   │   ├── AzureOpenAIWithData_ChatCompletion.cs
│   │   │   │   ├── AzureOpenAI_ChatCompletion.cs
│   │   │   │   ├── AzureOpenAI_ChatCompletionStreaming.cs
│   │   │   │   ├── AzureOpenAI_ChatCompletionWithReasoning.cs
│   │   │   │   ├── AzureOpenAI_CustomClient.cs
│   │   │   │   ├── ChatHistoryAuthorName.cs
│   │   │   │   ├── ChatHistoryInFunctions.cs
│   │   │   │   ├── ChatHistoryReducers/
│   │   │   │   │   ├── ChatCompletionServiceExtensions.cs
│   │   │   │   │   ├── ChatCompletionServiceWithReducer.cs
│   │   │   │   │   ├── ChatHistoryExtensions.cs
│   │   │   │   │   ├── ChatHistoryMaxTokensReducer.cs
│   │   │   │   │   └── ChatHistoryReducerTests.cs
│   │   │   │   ├── ChatHistorySerialization.cs
│   │   │   │   ├── Connectors_CustomHttpClient.cs
│   │   │   │   ├── Connectors_KernelStreaming.cs
│   │   │   │   ├── Connectors_WithMultipleLLMs.cs
│   │   │   │   ├── Google_GeminiChatCompletion.cs
│   │   │   │   ├── Google_GeminiChatCompletionStreaming.cs
│   │   │   │   ├── Google_GeminiChatCompletionWithFile.cs
│   │   │   │   ├── Google_GeminiChatCompletionWithThinking.cs
│   │   │   │   ├── Google_GeminiGetModelResult.cs
│   │   │   │   ├── Google_GeminiStructuredOutputs.cs
│   │   │   │   ├── Google_GeminiVision.cs
│   │   │   │   ├── HuggingFace_ChatCompletion.cs
│   │   │   │   ├── HuggingFace_ChatCompletionStreaming.cs
│   │   │   │   ├── HybridCompletion_Fallback.cs
│   │   │   │   ├── LMStudio_ChatCompletion.cs
│   │   │   │   ├── LMStudio_ChatCompletionStreaming.cs
│   │   │   │   ├── MistralAI_ChatCompletion.cs
│   │   │   │   ├── MistralAI_ChatPrompt.cs
│   │   │   │   ├── MistralAI_FunctionCalling.cs
│   │   │   │   ├── MistralAI_StreamingFunctionCalling.cs
│   │   │   │   ├── MultipleProviders_ChatHistoryReducer.cs
│   │   │   │   ├── Ollama_ChatCompletion.cs
│   │   │   │   ├── Ollama_ChatCompletionStreaming.cs
│   │   │   │   ├── Ollama_ChatCompletionWithVision.cs
│   │   │   │   ├── Onnx_ChatCompletion.cs
│   │   │   │   ├── Onnx_ChatCompletionStreaming.cs
│   │   │   │   ├── OpenAI_ChatCompletion.cs
│   │   │   │   ├── OpenAI_ChatCompletionStreaming.cs
│   │   │   │   ├── OpenAI_ChatCompletionWebSearch.cs
│   │   │   │   ├── OpenAI_ChatCompletionWithAudio.cs
│   │   │   │   ├── OpenAI_ChatCompletionWithFile.cs
│   │   │   │   ├── OpenAI_ChatCompletionWithReasoning.cs
│   │   │   │   ├── OpenAI_ChatCompletionWithVision.cs
│   │   │   │   ├── OpenAI_CustomClient.cs
│   │   │   │   ├── OpenAI_FunctionCalling.cs
│   │   │   │   ├── OpenAI_FunctionCallingWithMemoryPlugin.cs
│   │   │   │   ├── OpenAI_ReasonedFunctionCalling.cs
│   │   │   │   ├── OpenAI_RepeatedFunctionCalling.cs
│   │   │   │   ├── OpenAI_StructuredOutputs.cs
│   │   │   │   └── OpenAI_UsingLogitBias.cs
│   │   │   ├── Concepts.csproj
│   │   │   ├── DependencyInjection/
│   │   │   │   ├── HttpClient_Registration.cs
│   │   │   │   ├── HttpClient_Resiliency.cs
│   │   │   │   ├── Kernel_Building.cs
│   │   │   │   └── Kernel_Injecting.cs
│   │   │   ├── Filtering/
│   │   │   │   ├── AutoFunctionInvocationFiltering.cs
│   │   │   │   ├── AzureOpenAI_DeploymentSwitch.cs
│   │   │   │   ├── ChatClient_AutoFunctionInvocationFiltering.cs
│   │   │   │   ├── FunctionInvocationFiltering.cs
│   │   │   │   ├── MaxTokensWithFilters.cs
│   │   │   │   ├── PIIDetection.cs
│   │   │   │   ├── PromptRenderFiltering.cs
│   │   │   │   ├── RetryWithFilters.cs
│   │   │   │   └── TelemetryWithFilters.cs
│   │   │   ├── FunctionCalling/
│   │   │   │   ├── AzureAIInference_FunctionCalling.cs
│   │   │   │   ├── ContextDependentAdvertising.cs
│   │   │   │   ├── FunctionCalling.cs
│   │   │   │   ├── FunctionCalling_ReturnMetadata.cs
│   │   │   │   ├── FunctionCalling_SharedState.cs
│   │   │   │   ├── Gemini_FunctionCalling.cs
│   │   │   │   ├── MultipleFunctionsVsParameters.cs
│   │   │   │   └── NexusRaven_FunctionCalling.cs
│   │   │   ├── Functions/
│   │   │   │   ├── Arguments.cs
│   │   │   │   ├── FunctionResult_Metadata.cs
│   │   │   │   ├── FunctionResult_StronglyTyped.cs
│   │   │   │   ├── MethodFunctions.cs
│   │   │   │   ├── MethodFunctions_Advanced.cs
│   │   │   │   ├── MethodFunctions_Types.cs
│   │   │   │   ├── MethodFunctions_Yaml.cs
│   │   │   │   ├── PromptFunctions_Inline.cs
│   │   │   │   └── PromptFunctions_MultipleArguments.cs
│   │   │   ├── ImageToText/
│   │   │   │   └── HuggingFace_ImageToText.cs
│   │   │   ├── Kernel/
│   │   │   │   ├── BuildingKernel.cs
│   │   │   │   ├── ConfigureExecutionSettings.cs
│   │   │   │   └── CustomAIServiceSelector.cs
│   │   │   ├── Memory/
│   │   │   │   ├── AWSBedrock_EmbeddingGeneration.cs
│   │   │   │   ├── Google_EmbeddingGeneration.cs
│   │   │   │   ├── HuggingFace_EmbeddingGeneration.cs
│   │   │   │   ├── HuggingFace_TextEmbeddingCustomHttpHandler.cs
│   │   │   │   ├── Ollama_EmbeddingGeneration.cs
│   │   │   │   ├── Onnx_EmbeddingGeneration.cs
│   │   │   │   ├── OpenAI_EmbeddingGeneration.cs
│   │   │   │   ├── TextChunkerUsage.cs
│   │   │   │   ├── TextChunkingAndEmbedding.cs
│   │   │   │   ├── VectorStoreExtensions.cs
│   │   │   │   ├── VectorStoreFixtures/
│   │   │   │   │   ├── VectorStoreInfra.cs
│   │   │   │   │   ├── VectorStorePostgresContainerFixture.cs
│   │   │   │   │   ├── VectorStoreQdrantContainerFixture.cs
│   │   │   │   │   └── VectorStoreRedisContainerFixture.cs
│   │   │   │   ├── VectorStoreLangchainInterop/
│   │   │   │   │   ├── LangchainDocument.cs
│   │   │   │   │   ├── PineconeFactory.cs
│   │   │   │   │   └── RedisFactory.cs
│   │   │   │   ├── VectorStore_ConsumeFromMemoryStore_AzureAISearch.cs
│   │   │   │   ├── VectorStore_ConsumeFromMemoryStore_Qdrant.cs
│   │   │   │   ├── VectorStore_ConsumeFromMemoryStore_Redis.cs
│   │   │   │   ├── VectorStore_DataIngestion_MultiStore.cs
│   │   │   │   ├── VectorStore_DataIngestion_Simple.cs
│   │   │   │   ├── VectorStore_DynamicDataModel_Interop.cs
│   │   │   │   ├── VectorStore_HybridSearch_Simple_AzureAISearch.cs
│   │   │   │   ├── VectorStore_Langchain_Interop.cs
│   │   │   │   ├── VectorStore_VectorSearch_MultiStore_AzureAISearch.cs
│   │   │   │   ├── VectorStore_VectorSearch_MultiStore_Common.cs
│   │   │   │   ├── VectorStore_VectorSearch_MultiStore_InMemory.cs
│   │   │   │   ├── VectorStore_VectorSearch_MultiStore_Postgres.cs
│   │   │   │   ├── VectorStore_VectorSearch_MultiStore_Qdrant.cs
│   │   │   │   ├── VectorStore_VectorSearch_MultiStore_Redis.cs
│   │   │   │   ├── VectorStore_VectorSearch_MultiVector.cs
│   │   │   │   ├── VectorStore_VectorSearch_Paging.cs
│   │   │   │   ├── VectorStore_VectorSearch_Simple.cs
│   │   │   │   └── VolatileVectorStore_LoadData.cs
│   │   │   ├── Optimization/
│   │   │   │   ├── FrugalGPTWithFilters.cs
│   │   │   │   └── PluginSelectionWithFilters.cs
│   │   │   ├── Plugins/
│   │   │   │   ├── ApiManifestBasedPlugins.cs
│   │   │   │   ├── ConversationSummaryPlugin.cs
│   │   │   │   ├── CopilotAgentBasedPlugins.cs
│   │   │   │   ├── CreatePluginFromOpenApiSpec_Github.cs
│   │   │   │   ├── CreatePluginFromOpenApiSpec_Jira.cs
│   │   │   │   ├── CreatePluginFromOpenApiSpec_Klarna.cs
│   │   │   │   ├── CreatePluginFromOpenApiSpec_RepairService.cs
│   │   │   │   ├── CreatePromptPluginFromDirectory.cs
│   │   │   │   ├── CrewAI_Plugin.cs
│   │   │   │   ├── CustomMutablePlugin.cs
│   │   │   │   ├── DescribeAllPluginsAndFunctions.cs
│   │   │   │   ├── GroundednessChecks.cs
│   │   │   │   ├── ImportPluginFromGrpc.cs
│   │   │   │   ├── MsGraph_CalendarPlugin.cs
│   │   │   │   ├── MsGraph_EmailPlugin.cs
│   │   │   │   ├── MsGraph_OneDrivePlugin.cs
│   │   │   │   ├── MsGraph_OrganizationHierarchyPlugin.cs
│   │   │   │   ├── MsGraph_TaskListPlugin.cs
│   │   │   │   ├── OpenApiPlugin_CustomHttpContentReader.cs
│   │   │   │   ├── OpenApiPlugin_Customization.cs
│   │   │   │   ├── OpenApiPlugin_Filtering.cs
│   │   │   │   ├── OpenApiPlugin_PayloadHandling.cs
│   │   │   │   ├── OpenApiPlugin_RestApiOperationResponseFactory.cs
│   │   │   │   ├── OpenApiPlugin_Telemetry.cs
│   │   │   │   ├── TransformPlugin.cs
│   │   │   │   └── WebPlugins.cs
│   │   │   ├── PromptTemplates/
│   │   │   │   ├── ChatCompletionPrompts.cs
│   │   │   │   ├── ChatLoopWithPrompt.cs
│   │   │   │   ├── ChatPromptWithAudio.cs
│   │   │   │   ├── ChatPromptWithBinary.cs
│   │   │   │   ├── ChatWithPrompts.cs
│   │   │   │   ├── HandlebarsPrompts.cs
│   │   │   │   ├── HandlebarsVisionPrompts.cs
│   │   │   │   ├── LiquidPrompts.cs
│   │   │   │   ├── MultiplePromptTemplates.cs
│   │   │   │   ├── PromptFunctionsWithChatGPT.cs
│   │   │   │   ├── PromptyFunction.cs
│   │   │   │   ├── SafeChatPrompts.cs
│   │   │   │   └── TemplateLanguage.cs
│   │   │   ├── RAG/
│   │   │   │   ├── Bing_RagWithTextSearch.cs
│   │   │   │   └── WithPlugins.cs
│   │   │   ├── README.md
│   │   │   ├── Resources/
│   │   │   │   ├── 22-ai-plugin.json
│   │   │   │   ├── 22-openapi.json
│   │   │   │   ├── 30-system-prompt.txt
│   │   │   │   ├── 30-user-context.txt
│   │   │   │   ├── 30-user-prompt.txt
│   │   │   │   ├── 65-prompt-override.handlebars
│   │   │   │   ├── DeclarativeAgents/
│   │   │   │   │   ├── SchedulingAssistant.json
│   │   │   │   │   └── scheduling-assistant-instructions.txt
│   │   │   │   ├── EnglishRoberta/
│   │   │   │   │   ├── dict.txt
│   │   │   │   │   ├── encoder.json
│   │   │   │   │   └── vocab.bpe
│   │   │   │   ├── GenerateStory.yaml
│   │   │   │   ├── GenerateStoryHandlebars.yaml
│   │   │   │   ├── HandlebarsPrompt.yaml
│   │   │   │   ├── LiquidPrompt.yaml
│   │   │   │   ├── Plugins/
│   │   │   │   │   ├── ApiManifestPlugins/
│   │   │   │   │   │   ├── AstronomyPlugin/
│   │   │   │   │   │   │   └── apimanifest.json
│   │   │   │   │   │   ├── CalendarPlugin/
│   │   │   │   │   │   │   └── apimanifest.json
│   │   │   │   │   │   ├── ContactsPlugin/
│   │   │   │   │   │   │   └── apimanifest.json
│   │   │   │   │   │   ├── DriveItemPlugin/
│   │   │   │   │   │   │   └── apimanifest.json
│   │   │   │   │   │   └── MessagesPlugin/
│   │   │   │   │   │       └── apimanifest.json
│   │   │   │   │   ├── CopilotAgentPlugins/
│   │   │   │   │   │   ├── AstronomyPlugin/
│   │   │   │   │   │   │   ├── astronomy-apiplugin.json
│   │   │   │   │   │   │   ├── astronomy-openapi.yml
│   │   │   │   │   │   │   └── messages-openapi.yml
│   │   │   │   │   │   ├── CalendarPlugin/
│   │   │   │   │   │   │   ├── calendar-apiplugin.json
│   │   │   │   │   │   │   └── calendar-openapi.yml
│   │   │   │   │   │   ├── ContactsPlugin/
│   │   │   │   │   │   │   ├── contacts-apiplugin.json
│   │   │   │   │   │   │   └── contacts-openapi.yml
│   │   │   │   │   │   ├── DriveItemPlugin/
│   │   │   │   │   │   │   ├── driveitem-apiplugin.json
│   │   │   │   │   │   │   └── driveitem-openapi.yml
│   │   │   │   │   │   ├── MessagesPlugin/
│   │   │   │   │   │   │   ├── messages-apiplugin.json
│   │   │   │   │   │   │   └── messages-openapi.yml
│   │   │   │   │   │   ├── README.md
│   │   │   │   │   │   └── RetrievalPlugin/
│   │   │   │   │   │       ├── retrieval-apiplugin.json
│   │   │   │   │   │       └── retrieval-openapi.yml
│   │   │   │   │   ├── DictionaryPlugin/
│   │   │   │   │   │   ├── ComplexParamsDictionaryPlugin.cs
│   │   │   │   │   │   ├── StringParamsDictionaryPlugin.cs
│   │   │   │   │   │   └── openapi.json
│   │   │   │   │   ├── EmailPlugin.cs
│   │   │   │   │   ├── EventPlugin/
│   │   │   │   │   │   ├── openapiV1.json
│   │   │   │   │   │   └── openapiV2.json
│   │   │   │   │   ├── JiraPlugin/
│   │   │   │   │   │   ├── README.md
│   │   │   │   │   │   └── openapi.json
│   │   │   │   │   ├── MoviePlugins/
│   │   │   │   │   │   ├── MoviePluginPrompt/
│   │   │   │   │   │   │   └── TopMovies/
│   │   │   │   │   │   │       ├── config.json
│   │   │   │   │   │   │       └── skprompt.txt
│   │   │   │   │   │   └── MoviePluginYaml/
│   │   │   │   │   │       └── TopMovies.yaml
│   │   │   │   │   ├── OpenAPI/
│   │   │   │   │   │   └── NASA/
│   │   │   │   │   │       └── apod.yaml
│   │   │   │   │   ├── PetsPlugin/
│   │   │   │   │   │   ├── allOfV3.json
│   │   │   │   │   │   ├── anyOfV3.json
│   │   │   │   │   │   └── oneOfV3.json
│   │   │   │   │   ├── ProductsPlugin/
│   │   │   │   │   │   └── openapi.json
│   │   │   │   │   ├── RepairServicePlugin/
│   │   │   │   │   │   └── repair-service.json
│   │   │   │   │   └── StaticTextPlugin.cs
│   │   │   │   ├── chat-gpt-retrieval-plugin-open-api.yaml
│   │   │   │   ├── sales.csv
│   │   │   │   ├── semantic-kernel-info.txt
│   │   │   │   ├── travel-destination-overview.txt
│   │   │   │   ├── travelinfo.txt
│   │   │   │   └── what-is-semantic-kernel.json
│   │   │   ├── Search/
│   │   │   │   ├── BingAndGooglePlugins.cs
│   │   │   │   ├── Bing_FunctionCallingWithTextSearch.cs
│   │   │   │   ├── Bing_TextSearch.cs
│   │   │   │   ├── Google_TextSearch.cs
│   │   │   │   ├── MyAzureAISearchPlugin.cs
│   │   │   │   ├── Tavily_TextSearch.cs
│   │   │   │   ├── VectorStore_TextSearch.cs
│   │   │   │   └── WebSearchQueriesPlugin.cs
│   │   │   ├── TextGeneration/
│   │   │   │   ├── Custom_TextGenerationService.cs
│   │   │   │   ├── HuggingFace_TextGeneration.cs
│   │   │   │   ├── Ollama_TextGeneration.cs
│   │   │   │   ├── Ollama_TextGenerationStreaming.cs
│   │   │   │   └── OpenAI_TextGenerationStreaming.cs
│   │   │   ├── TextToAudio/
│   │   │   │   └── OpenAI_TextToAudio.cs
│   │   │   └── TextToImage/
│   │   │       ├── AzureOpenAI_TextToImage.cs
│   │   │       ├── OpenAI_TextToImage.cs
│   │   │       └── OpenAI_TextToImageLegacy.cs
│   │   ├── Demos/
│   │   │   ├── A2AClientServer/
│   │   │   │   ├── A2AClient/
│   │   │   │   │   ├── A2AClient.csproj
│   │   │   │   │   ├── HostClientAgent.cs
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   └── README.md
│   │   │   │   ├── A2AServer/
│   │   │   │   │   ├── A2AServer.csproj
│   │   │   │   │   ├── A2AServer.http
│   │   │   │   │   ├── HostAgentFactory.cs
│   │   │   │   │   ├── Plugins/
│   │   │   │   │   │   └── InvoiceQueryPlugin.cs
│   │   │   │   │   └── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── AIModelRouter/
│   │   │   │   ├── AIModelRouter.csproj
│   │   │   │   ├── CustomRouter.cs
│   │   │   │   ├── Program.cs
│   │   │   │   ├── README.md
│   │   │   │   └── SelectedServiceFilter.cs
│   │   │   ├── AgentFrameworkWithAspire/
│   │   │   │   ├── .gitignore
│   │   │   │   ├── ChatWithAgent.ApiService/
│   │   │   │   │   ├── ChatWithAgent.ApiService.csproj
│   │   │   │   │   ├── Config/
│   │   │   │   │   │   └── ServiceConfig.cs
│   │   │   │   │   ├── Controllers/
│   │   │   │   │   │   ├── AgentCompletionRequest.cs
│   │   │   │   │   │   └── AgentCompletionsController.cs
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   ├── Rag/
│   │   │   │   │   │   └── TextSnippet.cs
│   │   │   │   │   ├── Resources/
│   │   │   │   │   │   ├── AgentDefinition.yaml
│   │   │   │   │   │   ├── AgentWithRagDefinition.yaml
│   │   │   │   │   │   └── EmbeddedResource.cs
│   │   │   │   │   └── appsettings.json
│   │   │   │   ├── ChatWithAgent.AppHost/
│   │   │   │   │   ├── ChatWithAgent.AppHost.csproj
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   └── ResourceBuilderExtensions.cs
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   └── appsettings.json
│   │   │   │   ├── ChatWithAgent.Configuration/
│   │   │   │   │   ├── AzureAISearchConfig.cs
│   │   │   │   │   ├── AzureOpenAIChatConfig.cs
│   │   │   │   │   ├── AzureOpenAIEmbeddingsConfig.cs
│   │   │   │   │   ├── ChatWithAgent.Configuration.csproj
│   │   │   │   │   ├── HostConfig.cs
│   │   │   │   │   ├── OpenAIChatConfig.cs
│   │   │   │   │   ├── OpenAIEmbeddingsConfig.cs
│   │   │   │   │   └── RagConfig.cs
│   │   │   │   ├── ChatWithAgent.ServiceDefaults/
│   │   │   │   │   ├── ChatWithAgent.ServiceDefaults.csproj
│   │   │   │   │   └── CommonExtensions.cs
│   │   │   │   ├── ChatWithAgent.Web/
│   │   │   │   │   ├── ApiClients/
│   │   │   │   │   │   └── AgentCompletionsApiClient.cs
│   │   │   │   │   ├── ChatWithAgent.Web.csproj
│   │   │   │   │   ├── Components/
│   │   │   │   │   │   ├── App.razor
│   │   │   │   │   │   ├── Layout/
│   │   │   │   │   │   │   ├── MainLayout.razor
│   │   │   │   │   │   │   ├── MainLayout.razor.css
│   │   │   │   │   │   │   ├── NavMenu.razor
│   │   │   │   │   │   │   └── NavMenu.razor.css
│   │   │   │   │   │   ├── Pages/
│   │   │   │   │   │   │   ├── Chat.razor
│   │   │   │   │   │   │   ├── Chat.razor.css
│   │   │   │   │   │   │   └── Error.razor
│   │   │   │   │   │   ├── Routes.razor
│   │   │   │   │   │   └── _Imports.razor
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   └── HttpClientBuilderExtensions.cs
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   ├── appsettings.json
│   │   │   │   │   └── wwwroot/
│   │   │   │   │       └── app.css
│   │   │   │   └── README.md
│   │   │   ├── AmazonBedrockModels/
│   │   │   │   ├── AmazonBedrockAIModels.csproj
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── AotCompatibility/
│   │   │   │   ├── AotCompatibility.csproj
│   │   │   │   ├── JsonSerializerContexts/
│   │   │   │   │   ├── LocationJsonSerializerContext.cs
│   │   │   │   │   └── WeatherJsonSerializerContext.cs
│   │   │   │   ├── KernelFunctionSamples.cs
│   │   │   │   ├── KernelPluginSamples.cs
│   │   │   │   ├── OnnxChatCompletionSamples.cs
│   │   │   │   ├── Plugins/
│   │   │   │   │   ├── Location.cs
│   │   │   │   │   ├── Weather.cs
│   │   │   │   │   └── WeatherPlugin.cs
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── BookingRestaurant/
│   │   │   │   ├── AppConfig.cs
│   │   │   │   ├── Appointment.cs
│   │   │   │   ├── BookingRestaurant.csproj
│   │   │   │   ├── BookingsPlugin.cs
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── CodeInterpreterPlugin/
│   │   │   │   ├── CodeInterpreterPlugin.csproj
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── ContentSafety/
│   │   │   │   ├── ContentSafety.csproj
│   │   │   │   ├── ContentSafety.http
│   │   │   │   ├── Controllers/
│   │   │   │   │   └── ChatController.cs
│   │   │   │   ├── Exceptions/
│   │   │   │   │   ├── AttackDetectionException.cs
│   │   │   │   │   └── TextModerationException.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── ConfigurationExtensions.cs
│   │   │   │   ├── Filters/
│   │   │   │   │   ├── AttackDetectionFilter.cs
│   │   │   │   │   └── TextModerationFilter.cs
│   │   │   │   ├── Handlers/
│   │   │   │   │   └── ContentSafetyExceptionHandler.cs
│   │   │   │   ├── Models/
│   │   │   │   │   └── ChatModel.cs
│   │   │   │   ├── Options/
│   │   │   │   │   ├── AzureContentSafetyOptions.cs
│   │   │   │   │   └── OpenAIOptions.cs
│   │   │   │   ├── Program.cs
│   │   │   │   ├── README.md
│   │   │   │   ├── Services/
│   │   │   │   │   └── PromptShield/
│   │   │   │   │       ├── PromptShieldAnalysis.cs
│   │   │   │   │       ├── PromptShieldRequest.cs
│   │   │   │   │       ├── PromptShieldResponse.cs
│   │   │   │   │       └── PromptShieldService.cs
│   │   │   │   └── appsettings.json
│   │   │   ├── CopilotAgentPlugins/
│   │   │   │   ├── CopilotAgentPluginsDemoSample/
│   │   │   │   │   ├── BearerAuthenticationProviderWithCancellationToken.cs
│   │   │   │   │   ├── CopilotAgentPluginsDemoSample.csproj
│   │   │   │   │   ├── CopilotAgentPluginsDemoSample.sln
│   │   │   │   │   ├── DemoCommand.cs
│   │   │   │   │   ├── Logging/
│   │   │   │   │   │   ├── SemanticKernelLogger.cs
│   │   │   │   │   │   └── SemanticKernelLoggerProvider.cs
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   └── appsettings.json
│   │   │   │   ├── README.md
│   │   │   │   └── TROUBLESHOOTING.md
│   │   │   ├── FSharpScripts/
│   │   │   │   └── huggingFaceChatCompletion.fsx
│   │   │   ├── FunctionInvocationApproval/
│   │   │   │   ├── FunctionInvocationApproval.csproj
│   │   │   │   ├── Options/
│   │   │   │   │   ├── AzureOpenAIOptions.cs
│   │   │   │   │   └── OpenAIOptions.cs
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── HomeAutomation/
│   │   │   │   ├── HomeAutomation.csproj
│   │   │   │   ├── Options/
│   │   │   │   │   ├── AzureOpenAIOptions.cs
│   │   │   │   │   └── OpenAIOptions.cs
│   │   │   │   ├── Plugins/
│   │   │   │   │   ├── MyAlarmPlugin.cs
│   │   │   │   │   ├── MyLightPlugin.cs
│   │   │   │   │   └── MyTimePlugin.cs
│   │   │   │   ├── Program.cs
│   │   │   │   ├── README.md
│   │   │   │   ├── Worker.cs
│   │   │   │   └── appsettings.json
│   │   │   ├── HuggingFaceImageToText/
│   │   │   │   ├── FormMain.Designer.cs
│   │   │   │   ├── FormMain.cs
│   │   │   │   ├── FormMain.resx
│   │   │   │   ├── HuggingFaceImageToText.csproj
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── ModelContextProtocolClientServer/
│   │   │   │   ├── MCPClient/
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   ├── AuthorRoleExtensions.cs
│   │   │   │   │   │   ├── ChatMessageContentExtensions.cs
│   │   │   │   │   │   ├── ContentBlockExtensions.cs
│   │   │   │   │   │   ├── PromptResultExtensions.cs
│   │   │   │   │   │   ├── ReadResourceResultExtensions.cs
│   │   │   │   │   │   ├── RoleExtensions.cs
│   │   │   │   │   │   └── SamplingMessageExtensions.cs
│   │   │   │   │   ├── HumanInTheLoopFilter.cs
│   │   │   │   │   ├── MCPClient.csproj
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   └── Samples/
│   │   │   │   │       ├── AgentAvailableAsMCPToolSample.cs
│   │   │   │   │       ├── AzureAIAgentWithMCPToolsSample.cs
│   │   │   │   │       ├── BaseSample.cs
│   │   │   │   │       ├── ChatCompletionAgentWithMCPToolsSample.cs
│   │   │   │   │       ├── MCPPromptSample.cs
│   │   │   │   │       ├── MCPResourceTemplatesSample.cs
│   │   │   │   │       ├── MCPResourcesSample.cs
│   │   │   │   │       ├── MCPSamplingSample.cs
│   │   │   │   │       └── MCPToolsSample.cs
│   │   │   │   ├── MCPServer/
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   ├── McpServerBuilderExtensions.cs
│   │   │   │   │   │   └── VectorStoreExtensions.cs
│   │   │   │   │   ├── MCPServer.csproj
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   ├── ProjectResources/
│   │   │   │   │   │   ├── EmbeddedResource.cs
│   │   │   │   │   │   ├── getCurrentWeatherForCity.json
│   │   │   │   │   │   └── semantic-kernel-info.txt
│   │   │   │   │   ├── Prompts/
│   │   │   │   │   │   └── PromptDefinition.cs
│   │   │   │   │   ├── Resources/
│   │   │   │   │   │   ├── ResourceDefinition.cs
│   │   │   │   │   │   ├── ResourceTemplateDefinition.cs
│   │   │   │   │   │   └── TextDataModel.cs
│   │   │   │   │   ├── Tools/
│   │   │   │   │   │   ├── DateTimeUtils.cs
│   │   │   │   │   │   ├── MailboxUtils.cs
│   │   │   │   │   │   ├── OrderProcessingUtils.cs
│   │   │   │   │   │   └── WeatherUtils.cs
│   │   │   │   │   └── appsettings.json
│   │   │   │   └── README.md
│   │   │   ├── ModelContextProtocolPlugin/
│   │   │   │   ├── ModelContextProtocolPlugin.csproj
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── ModelContextProtocolPluginAuth/
│   │   │   │   ├── ModelContextProtocolPluginAuth.csproj
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── OllamaFunctionCalling/
│   │   │   │   ├── OllamaFunctionCalling.csproj
│   │   │   │   ├── Plugins/
│   │   │   │   │   ├── MyAlarmPlugin.cs
│   │   │   │   │   ├── MyLightPlugin.cs
│   │   │   │   │   └── MyTimePlugin.cs
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── OnnxSimpleChatWithCuda/
│   │   │   │   ├── OnnxSimpleChatWithCuda.csproj
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── OnnxSimpleRAG/
│   │   │   │   ├── Facts/
│   │   │   │   │   ├── KernelMemory.txt
│   │   │   │   │   └── SemanticKernel.txt
│   │   │   │   ├── OnnxSimpleRAG.csproj
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── OpenAIRealtime/
│   │   │   │   ├── OpenAIRealtime.csproj
│   │   │   │   ├── Options/
│   │   │   │   │   ├── AzureOpenAIOptions.cs
│   │   │   │   │   └── OpenAIOptions.cs
│   │   │   │   ├── Program.cs
│   │   │   │   └── README.md
│   │   │   ├── ProcessFrameworkWithAspire/
│   │   │   │   ├── ProcessFramework.Aspire/
│   │   │   │   │   ├── ProcessFramework.Aspire.AppHost/
│   │   │   │   │   │   ├── ProcessFramework.Aspire.AppHost.csproj
│   │   │   │   │   │   ├── Program.cs
│   │   │   │   │   │   └── appsettings.json
│   │   │   │   │   ├── ProcessFramework.Aspire.ProcessOrchestrator/
│   │   │   │   │   │   ├── Models/
│   │   │   │   │   │   │   └── ProcessEvents.cs
│   │   │   │   │   │   ├── ProcessFramework.Aspire.ProcessOrchestrator.csproj
│   │   │   │   │   │   ├── ProcessFramework.Aspire.ProcessOrchestrator.http
│   │   │   │   │   │   ├── Program.cs
│   │   │   │   │   │   ├── Steps/
│   │   │   │   │   │   │   ├── SummarizeStep.cs
│   │   │   │   │   │   │   └── TranslateStep.cs
│   │   │   │   │   │   ├── SummaryAgentHttpClient.cs
│   │   │   │   │   │   ├── TranslatorAgentHttpClient.cs
│   │   │   │   │   │   └── appsettings.json
│   │   │   │   │   ├── ProcessFramework.Aspire.ServiceDefaults/
│   │   │   │   │   │   ├── CommonExtensions.cs
│   │   │   │   │   │   └── ProcessFramework.Aspire.ServiceDefaults.csproj
│   │   │   │   │   ├── ProcessFramework.Aspire.Shared/
│   │   │   │   │   │   ├── ProcessFramework.Aspire.Shared.csproj
│   │   │   │   │   │   ├── SummarizeRequest.cs
│   │   │   │   │   │   └── TranslationRequest.cs
│   │   │   │   │   ├── ProcessFramework.Aspire.SummaryAgent/
│   │   │   │   │   │   ├── ProcessFramework.Aspire.SummaryAgent.csproj
│   │   │   │   │   │   ├── ProcessFramework.Aspire.SummaryAgent.http
│   │   │   │   │   │   ├── Program.cs
│   │   │   │   │   │   └── appsettings.json
│   │   │   │   │   └── ProcessFramework.Aspire.TranslatorAgent/
│   │   │   │   │       ├── ProcessFramework.Aspire.TranslatorAgent.csproj
│   │   │   │   │       ├── ProcessFramework.Aspire.TranslatorAgent.http
│   │   │   │   │       ├── Program.cs
│   │   │   │   │       └── appsettings.json
│   │   │   │   └── README.md
│   │   │   ├── ProcessFrameworkWithSignalR/
│   │   │   │   ├── .gitignore
│   │   │   │   ├── README.md
│   │   │   │   ├── package.json
│   │   │   │   └── src/
│   │   │   │       ├── ProcessFramework.Aspire.SignalR.AppHost/
│   │   │   │       │   ├── ProcessFramework.Aspire.SignalR.AppHost.csproj
│   │   │   │       │   ├── Program.cs
│   │   │   │       │   └── appsettings.json
│   │   │   │       ├── ProcessFramework.Aspire.SignalR.ProcessOrchestrator/
│   │   │   │       │   ├── DocumentGenerationProcess.cs
│   │   │   │       │   ├── LocalEventProxyChannel.cs
│   │   │   │       │   ├── Models/
│   │   │   │       │   │   ├── DocumentGenerationRequest.cs
│   │   │   │       │   │   ├── DocumentInfo.cs
│   │   │   │       │   │   └── ProductInfo.cs
│   │   │   │       │   ├── ProcessFramework.Aspire.ProcessOrchestrator.http
│   │   │   │       │   ├── ProcessFramework.Aspire.SignalR.ProcessOrchestrator.csproj
│   │   │   │       │   ├── Program.cs
│   │   │   │       │   ├── Steps/
│   │   │   │       │   │   ├── GatherProductInfoStep.cs
│   │   │   │       │   │   ├── GenerateDocumentationStep.cs
│   │   │   │       │   │   ├── ProofreadDocumentationStep.cs
│   │   │   │       │   │   └── PublishDocumentationStep.cs
│   │   │   │       │   └── appsettings.json
│   │   │   │       ├── ProcessFramework.Aspire.SignalR.ReactFrontend/
│   │   │   │       │   ├── .gitignore
│   │   │   │       │   ├── README.md
│   │   │   │       │   ├── eslint.config.js
│   │   │   │       │   ├── index.html
│   │   │   │       │   ├── package.json
│   │   │   │       │   ├── src/
│   │   │   │       │   │   ├── App.css
│   │   │   │       │   │   ├── App.tsx
│   │   │   │       │   │   ├── common/
│   │   │   │       │   │   │   ├── AppConstants.ts
│   │   │   │       │   │   │   └── ChatConstants.ts
│   │   │   │       │   │   ├── components/
│   │   │   │       │   │   │   ├── GenerateDocumentsChat.tsx
│   │   │   │       │   │   │   ├── Icons.ts
│   │   │   │       │   │   │   └── SimpleChat.tsx
│   │   │   │       │   │   ├── index.css
│   │   │   │       │   │   ├── main.tsx
│   │   │   │       │   │   ├── services/
│   │   │   │       │   │   │   └── signalr/
│   │   │   │       │   │   │       ├── ProcessFrameworkClient.ts
│   │   │   │       │   │   │       ├── documentGeneration.client.ts
│   │   │   │       │   │   │       └── documentGeneration.ts
│   │   │   │       │   │   └── vite-env.d.ts
│   │   │   │       │   ├── tsconfig.app.json
│   │   │   │       │   ├── tsconfig.json
│   │   │   │       │   ├── tsconfig.node.json
│   │   │   │       │   └── vite.config.ts
│   │   │   │       └── ProcessFramework.Aspire.SignalR.ServiceDefaults/
│   │   │   │           ├── CommonExtensions.cs
│   │   │   │           └── ProcessFramework.Aspire.SignalR.ServiceDefaults.csproj
│   │   │   ├── ProcessWithCloudEvents/
│   │   │   │   ├── ProcessWithCloudEvents.Client/
│   │   │   │   │   ├── .gitignore
│   │   │   │   │   ├── README.md
│   │   │   │   │   ├── eslint.config.js
│   │   │   │   │   ├── index.html
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── src/
│   │   │   │   │   │   ├── App.css
│   │   │   │   │   │   ├── App.tsx
│   │   │   │   │   │   ├── common/
│   │   │   │   │   │   │   ├── AppConstants.ts
│   │   │   │   │   │   │   └── ChatConstants.ts
│   │   │   │   │   │   ├── components/
│   │   │   │   │   │   │   ├── GenerateDocumentsChat.tsx
│   │   │   │   │   │   │   ├── Icons.ts
│   │   │   │   │   │   │   └── SimpleChat.tsx
│   │   │   │   │   │   ├── index.css
│   │   │   │   │   │   ├── main.tsx
│   │   │   │   │   │   ├── services/
│   │   │   │   │   │   │   └── grpc/
│   │   │   │   │   │   │       ├── DocumentGenerationGrpcClient.ts
│   │   │   │   │   │   │       ├── gen/
│   │   │   │   │   │   │       │   ├── documentGeneration.client.ts
│   │   │   │   │   │   │       │   └── documentGeneration.ts
│   │   │   │   │   │   │       └── proto/
│   │   │   │   │   │   │           └── documentGeneration.proto
│   │   │   │   │   │   └── vite-env.d.ts
│   │   │   │   │   ├── tsconfig.app.json
│   │   │   │   │   ├── tsconfig.json
│   │   │   │   │   ├── tsconfig.node.json
│   │   │   │   │   └── vite.config.ts
│   │   │   │   ├── ProcessWithCloudEvents.Grpc/
│   │   │   │   │   ├── Clients/
│   │   │   │   │   │   └── DocumentGenerationGrpcClient.cs
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   └── ConfigurationExtension.cs
│   │   │   │   │   ├── Options/
│   │   │   │   │   │   └── OpenAIOptions.cs
│   │   │   │   │   ├── ProcessWithCloudEvents.Grpc.csproj
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   ├── Protos/
│   │   │   │   │   │   └── documentationGenerator.proto
│   │   │   │   │   ├── README.md
│   │   │   │   │   ├── Services/
│   │   │   │   │   │   └── DocumentGenerationService.cs
│   │   │   │   │   └── appsettings.json
│   │   │   │   ├── ProcessWithCloudEvents.Processes/
│   │   │   │   │   ├── DocumentGenerationProcess.cs
│   │   │   │   │   ├── Models/
│   │   │   │   │   │   ├── DocumentInfo.cs
│   │   │   │   │   │   └── ProductInfo.cs
│   │   │   │   │   ├── ProcessWithCloudEvents.Processes.csproj
│   │   │   │   │   └── Steps/
│   │   │   │   │       ├── GatherProductInfoStep.cs
│   │   │   │   │       ├── GenerateDocumentationStep.cs
│   │   │   │   │       ├── ProofreadDocumentationStep.cs
│   │   │   │   │       └── PublishDocumentationStep.cs
│   │   │   │   └── README.md
│   │   │   ├── ProcessWithDapr/
│   │   │   │   ├── Controllers/
│   │   │   │   │   └── ProcessController.cs
│   │   │   │   ├── ProcessWithDapr.csproj
│   │   │   │   ├── Program.cs
│   │   │   │   ├── README.md
│   │   │   │   └── appsettings.json
│   │   │   ├── QualityCheck/
│   │   │   │   ├── QualityCheckWithFilters/
│   │   │   │   │   ├── Filters/
│   │   │   │   │   │   ├── BertSummarizationEvaluationFilter.cs
│   │   │   │   │   │   ├── BleuSummarizationEvaluationFilter.cs
│   │   │   │   │   │   ├── CometTranslationEvaluationFilter.cs
│   │   │   │   │   │   ├── FilterFactory.cs
│   │   │   │   │   │   └── MeteorSummarizationEvaluationFilter.cs
│   │   │   │   │   ├── Models/
│   │   │   │   │   │   ├── EvaluationRequest.cs
│   │   │   │   │   │   ├── EvaluationResponse.cs
│   │   │   │   │   │   └── EvaluationScoreType.cs
│   │   │   │   │   ├── Program.cs
│   │   │   │   │   ├── QualityCheckWithFilters.csproj
│   │   │   │   │   └── Services/
│   │   │   │   │       ├── EvaluationService.cs
│   │   │   │   │       └── FakeChatCompletionService.cs
│   │   │   │   ├── README.md
│   │   │   │   └── python-server/
│   │   │   │       ├── app/
│   │   │   │       │   ├── __init__.py
│   │   │   │       │   └── main.py
│   │   │   │       ├── docker-compose.yml
│   │   │   │       └── requirements.txt
│   │   │   ├── README.md
│   │   │   ├── StepwisePlannerMigration/
│   │   │   │   ├── Controllers/
│   │   │   │   │   ├── AutoFunctionCallingController.cs
│   │   │   │   │   └── StepwisePlannerController.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── ConfigurationExtensions.cs
│   │   │   │   ├── Models/
│   │   │   │   │   └── PlanRequest.cs
│   │   │   │   ├── Options/
│   │   │   │   │   └── OpenAIOptions.cs
│   │   │   │   ├── Plugins/
│   │   │   │   │   ├── TimePlugin.cs
│   │   │   │   │   └── WeatherPlugin.cs
│   │   │   │   ├── Program.cs
│   │   │   │   ├── README.md
│   │   │   │   ├── Resources/
│   │   │   │   │   ├── auto-function-calling-plan.json
│   │   │   │   │   └── stepwise-plan.json
│   │   │   │   ├── Services/
│   │   │   │   │   ├── IPlanProvider.cs
│   │   │   │   │   └── PlanProvider.cs
│   │   │   │   ├── StepwisePlannerMigration.csproj
│   │   │   │   ├── StepwisePlannerMigration.http
│   │   │   │   └── appsettings.json
│   │   │   ├── StructuredDataPlugin/
│   │   │   │   ├── ApplicationDbContext.cs
│   │   │   │   ├── Product.cs
│   │   │   │   ├── Program.cs
│   │   │   │   ├── README.md
│   │   │   │   ├── StructuredDataPlugin.csproj
│   │   │   │   └── appsettings.json
│   │   │   ├── TelemetryWithAppInsights/
│   │   │   │   ├── Program.cs
│   │   │   │   ├── README.md
│   │   │   │   ├── RepoUtils/
│   │   │   │   │   └── RepoFiles.cs
│   │   │   │   ├── TelemetryWithAppInsights.csproj
│   │   │   │   └── TestConfiguration.cs
│   │   │   ├── TimePlugin/
│   │   │   │   ├── Program.cs
│   │   │   │   ├── README.md
│   │   │   │   └── TimePlugin.csproj
│   │   │   ├── VectorStoreRAG/
│   │   │   │   ├── DataLoader.cs
│   │   │   │   ├── IDataLoader.cs
│   │   │   │   ├── Options/
│   │   │   │   │   ├── ApplicationConfig.cs
│   │   │   │   │   ├── AzureAISearchConfig.cs
│   │   │   │   │   ├── AzureOpenAIConfig.cs
│   │   │   │   │   ├── AzureOpenAIEmbeddingsConfig.cs
│   │   │   │   │   ├── CosmosConfig.cs
│   │   │   │   │   ├── OpenAIConfig.cs
│   │   │   │   │   ├── OpenAIEmbeddingsConfig.cs
│   │   │   │   │   ├── QdrantConfig.cs
│   │   │   │   │   ├── RagConfig.cs
│   │   │   │   │   ├── RedisConfig.cs
│   │   │   │   │   └── WeaviateConfig.cs
│   │   │   │   ├── Program.cs
│   │   │   │   ├── RAGChatService.cs
│   │   │   │   ├── README.md
│   │   │   │   ├── TextSnippet.cs
│   │   │   │   ├── UniqueKeyGenerator.cs
│   │   │   │   ├── VectorStoreRAG.csproj
│   │   │   │   └── appsettings.json
│   │   │   └── VoiceChat/
│   │   │       ├── Options/
│   │   │       │   ├── AudioOptions.cs
│   │   │       │   ├── ChatOptions.cs
│   │   │       │   └── OpenAIOptions.cs
│   │   │       ├── Pipeline/
│   │   │       │   ├── PipelineEvents.cs
│   │   │       │   ├── TurnManager.cs
│   │   │       │   └── VoiceChatPipeline.cs
│   │   │       ├── Program.cs
│   │   │       ├── README.md
│   │   │       ├── Services/
│   │   │       │   ├── AudioPlaybackService.cs
│   │   │       │   ├── AudioSourceService.cs
│   │   │       │   ├── ChatService.cs
│   │   │       │   ├── SpeechToTextService.cs
│   │   │       │   ├── TextToSpeechService.cs
│   │   │       │   └── VadService.cs
│   │   │       ├── Utilities/
│   │   │       │   └── Tools.cs
│   │   │       ├── VoiceChat.csproj
│   │   │       ├── VoiceChat.sln
│   │   │       └── appsettings.json
│   │   ├── GettingStarted/
│   │   │   ├── GettingStarted.csproj
│   │   │   ├── README.md
│   │   │   ├── Resources/
│   │   │   │   ├── GenerateStory.yaml
│   │   │   │   ├── GenerateStoryHandlebars.yaml
│   │   │   │   └── repair-service.json
│   │   │   ├── Step1_Create_Kernel.cs
│   │   │   ├── Step2_Add_Plugins.cs
│   │   │   ├── Step3_Yaml_Prompt.cs
│   │   │   ├── Step4_Dependency_Injection.cs
│   │   │   ├── Step5_Chat_Prompt.cs
│   │   │   ├── Step6_Responsible_AI.cs
│   │   │   ├── Step7_Observability.cs
│   │   │   ├── Step8_Pipelining.cs
│   │   │   └── Step9_OpenAPI_Plugins.cs
│   │   ├── GettingStartedWithAgents/
│   │   │   ├── A2A/
│   │   │   │   └── Step01_A2AAgent.cs
│   │   │   ├── AzureAIAgent/
│   │   │   │   ├── Step01_AzureAIAgent.cs
│   │   │   │   ├── Step02_AzureAIAgent_Plugins.cs
│   │   │   │   ├── Step03_AzureAIAgent_Vision.cs
│   │   │   │   ├── Step04_AzureAIAgent_CodeInterpreter.cs
│   │   │   │   ├── Step05_AzureAIAgent_FileSearch.cs
│   │   │   │   ├── Step06_AzureAIAgent_OpenAPI.cs
│   │   │   │   ├── Step07_AzureAIAgent_Functions.cs
│   │   │   │   ├── Step08_AzureAIAgent_Declarative.cs
│   │   │   │   ├── Step09_AzureAIAgent_BingGrounding.cs
│   │   │   │   └── Step10_JsonResponse.cs
│   │   │   ├── BedrockAgent/
│   │   │   │   ├── README.md
│   │   │   │   ├── Step01_BedrockAgent.cs
│   │   │   │   ├── Step02_BedrockAgent_CodeInterpreter.cs
│   │   │   │   ├── Step03_BedrockAgent_Functions.cs
│   │   │   │   ├── Step04_BedrockAgent_Trace.cs
│   │   │   │   ├── Step05_BedrockAgent_FileSearch.cs
│   │   │   │   ├── Step06_BedrockAgent_AgentChat.cs
│   │   │   │   └── Step07_BedrockAgent_Declarative.cs
│   │   │   ├── CopilotStudioAgent/
│   │   │   │   ├── Step01_CopilotStudioAgent.cs
│   │   │   │   ├── Step02_CopilotStudioAgent_Thread.cs
│   │   │   │   └── Step03_CopilotStudioAgent_WebSearch.cs
│   │   │   ├── GettingStartedWithAgents.csproj
│   │   │   ├── OpenAIAssistant/
│   │   │   │   ├── Step01_Assistant.cs
│   │   │   │   ├── Step02_Assistant_Plugins.cs
│   │   │   │   ├── Step03_Assistant_Vision.cs
│   │   │   │   ├── Step04_AssistantTool_CodeInterpreter.cs
│   │   │   │   ├── Step05_AssistantTool_FileSearch.cs
│   │   │   │   ├── Step06_AssistantTool_Function.cs
│   │   │   │   └── Step07_Assistant_Declarative.cs
│   │   │   ├── OpenAIResponse/
│   │   │   │   ├── Step01_OpenAIResponseAgent.cs
│   │   │   │   ├── Step02_OpenAIResponseAgent_ConversationState.cs
│   │   │   │   ├── Step03_OpenAIResponseAgent_ReasoningModel.cs
│   │   │   │   └── Step04_OpenAIResponseAgent_Tools.cs
│   │   │   ├── Orchestration/
│   │   │   │   ├── Step01_Concurrent.cs
│   │   │   │   ├── Step01a_ConcurrentWithStructuredOutput.cs
│   │   │   │   ├── Step02_Sequential.cs
│   │   │   │   ├── Step02a_SequentialCancellation.cs
│   │   │   │   ├── Step03_GroupChat.cs
│   │   │   │   ├── Step03a_GroupChatWithHumanInTheLoop.cs
│   │   │   │   ├── Step03b_GroupChatWithAIManager.cs
│   │   │   │   ├── Step04_Handoff.cs
│   │   │   │   ├── Step04a_HandoffWithStructuredInput.cs
│   │   │   │   ├── Step05_Magentic.cs
│   │   │   │   └── Step06_DifferentAgentTypes.cs
│   │   │   ├── Plugins/
│   │   │   │   ├── MenuPlugin.cs
│   │   │   │   └── WidgetFactory.cs
│   │   │   ├── README.md
│   │   │   ├── Resources/
│   │   │   │   ├── AutoInvokeTools.yaml
│   │   │   │   ├── GenerateStory.yaml
│   │   │   │   ├── Hamlet_full_play_summary.txt
│   │   │   │   ├── countries.json
│   │   │   │   └── weather.json
│   │   │   ├── Step01_Agent.cs
│   │   │   ├── Step02_Plugins.cs
│   │   │   ├── Step03_Chat.cs
│   │   │   ├── Step04_KernelFunctionStrategies.cs
│   │   │   ├── Step05_JsonResult.cs
│   │   │   ├── Step06_DependencyInjection.cs
│   │   │   ├── Step07_Telemetry.cs
│   │   │   ├── Step08_AgentAsKernelFunction.cs
│   │   │   ├── Step09_Declarative.cs
│   │   │   └── Step10_MultiAgent_Declarative.cs
│   │   ├── GettingStartedWithProcesses/
│   │   │   ├── Events/
│   │   │   │   └── CommonEvents.cs
│   │   │   ├── GettingStartedWithProcesses.csproj
│   │   │   ├── README.md
│   │   │   ├── SharedSteps/
│   │   │   │   ├── DisplayAssistantMessageStep.cs
│   │   │   │   └── ScriptedUserInputStep.cs
│   │   │   ├── Step00/
│   │   │   │   ├── Step00_Processes.cs
│   │   │   │   └── Steps/
│   │   │   │       ├── DoMoreWorkStep.cs
│   │   │   │       ├── DoSomeWorkStep.cs
│   │   │   │       ├── LastStep.cs
│   │   │   │       └── StartStep.cs
│   │   │   ├── Step01/
│   │   │   │   └── Step01_Processes.cs
│   │   │   ├── Step02/
│   │   │   │   ├── Models/
│   │   │   │   │   ├── AccountDetails.cs
│   │   │   │   │   ├── AccountOpeningEvents.cs
│   │   │   │   │   ├── AccountUserInteractionDetails.cs
│   │   │   │   │   ├── MarketingNewEntryDetails.cs
│   │   │   │   │   └── NewCustomerForm.cs
│   │   │   │   ├── Processes/
│   │   │   │   │   ├── NewAccountCreationProcess.cs
│   │   │   │   │   └── NewAccountVerificationProcess.cs
│   │   │   │   ├── Step02a_AccountOpening.cs
│   │   │   │   ├── Step02b_AccountOpening.cs
│   │   │   │   └── Steps/
│   │   │   │       ├── CRMRecordCreationStep.cs
│   │   │   │       ├── CompleteNewCustomerFormStep.cs
│   │   │   │       ├── CreditScoreCheckStep.cs
│   │   │   │       ├── FraudDetectionStep.cs
│   │   │   │       ├── MailServiceStep.cs
│   │   │   │       ├── NewAccountStep.cs
│   │   │   │       ├── NewMarketingEntryStep.cs
│   │   │   │       ├── TestInputs/
│   │   │   │       │   ├── UserInputCreditScoreFailureInteractionStep.cs
│   │   │   │       │   ├── UserInputFraudFailureInteractionStep.cs
│   │   │   │       │   └── UserInputSuccessfulInteractionStep.cs
│   │   │   │       └── WelcomePacketStep.cs
│   │   │   ├── Step03/
│   │   │   │   ├── Models/
│   │   │   │   │   ├── FoodIngredients.cs
│   │   │   │   │   └── FoodOrderItem.cs
│   │   │   │   ├── Processes/
│   │   │   │   │   ├── FishAndChipsProcess.cs
│   │   │   │   │   ├── FishSandwichProcess.cs
│   │   │   │   │   ├── FriedFishProcess.cs
│   │   │   │   │   ├── PotatoFriesProcess.cs
│   │   │   │   │   └── SingleFoodItemProcess.cs
│   │   │   │   ├── ProcessesStates/
│   │   │   │   │   ├── FishSandwichStateProcessSuccess.json
│   │   │   │   │   ├── FishSandwichStateProcessSuccessLowStock.json
│   │   │   │   │   ├── FriedFishProcessStateSuccess.json
│   │   │   │   │   ├── FriedFishProcessStateSuccessLowStock.json
│   │   │   │   │   └── FriedFishProcessStateSuccessNoStock.json
│   │   │   │   ├── Step03a_FoodPreparation.cs
│   │   │   │   ├── Step03b_FoodOrdering.cs
│   │   │   │   └── Steps/
│   │   │   │       ├── CutFoodStep.cs
│   │   │   │       ├── CutFoodWithSharpeningStep.cs
│   │   │   │       ├── ExternalStep.cs
│   │   │   │       ├── FryFoodStep.cs
│   │   │   │       └── GatherIngredientsStep.cs
│   │   │   ├── Step04/
│   │   │   │   ├── AgentOrchestrationEvents.cs
│   │   │   │   ├── ChatHistoryProvider.cs
│   │   │   │   ├── KernelExtensions.cs
│   │   │   │   ├── Plugins/
│   │   │   │   │   ├── CalendarPlugin.cs
│   │   │   │   │   ├── LocationPlugin.cs
│   │   │   │   │   └── WeatherPlugin.cs
│   │   │   │   ├── SchemaGenerator.cs
│   │   │   │   ├── Step04_AgentOrchestration.cs
│   │   │   │   └── Steps/
│   │   │   │       ├── AgentGroupChatStep.cs
│   │   │   │       ├── ManagerAgentStep.cs
│   │   │   │       └── RenderMessageStep.cs
│   │   │   ├── Step05/
│   │   │   │   └── Step05_MapReduce.cs
│   │   │   └── Utilities/
│   │   │       ├── MermaidRenderer.cs
│   │   │       └── ProcessStateMetadataUtilities.cs
│   │   ├── GettingStartedWithTextSearch/
│   │   │   ├── GettingStartedWithTextSearch.csproj
│   │   │   ├── InMemoryVectorStoreCollectionFixture.cs
│   │   │   ├── InMemoryVectorStoreFixture.cs
│   │   │   ├── README.md
│   │   │   ├── Step1_Web_Search.cs
│   │   │   ├── Step2_Search_For_RAG.cs
│   │   │   ├── Step3_Search_With_FunctionCalling.cs
│   │   │   └── Step4_Search_With_VectorStore.cs
│   │   ├── GettingStartedWithVectorStores/
│   │   │   ├── GettingStartedWithVectorStores.csproj
│   │   │   ├── Glossary.cs
│   │   │   ├── README.md
│   │   │   ├── Step1_Ingest_Data.cs
│   │   │   ├── Step2_Vector_Search.cs
│   │   │   ├── Step3_Switch_VectorStore.cs
│   │   │   ├── Step4_Use_DynamicDataModel.cs
│   │   │   └── VectorStoresFixture.cs
│   │   ├── LearnResources/
│   │   │   ├── LearnResources.csproj
│   │   │   ├── MicrosoftLearn/
│   │   │   │   ├── AIServices.cs
│   │   │   │   ├── ConfiguringPrompts.cs
│   │   │   │   ├── CreatingFunctions.cs
│   │   │   │   ├── FunctionsWithinPrompts.cs
│   │   │   │   ├── LearnBaseTest.cs
│   │   │   │   ├── Plugin.cs
│   │   │   │   ├── Prompts.cs
│   │   │   │   ├── README.md
│   │   │   │   ├── SerializingPrompts.cs
│   │   │   │   ├── Templates.cs
│   │   │   │   └── UsingTheKernel.cs
│   │   │   ├── Plugins/
│   │   │   │   ├── GitHub/
│   │   │   │   │   ├── GitHubModels.cs
│   │   │   │   │   └── GitHubPlugin.cs
│   │   │   │   ├── MathPlugin.cs
│   │   │   │   ├── OrchestratorPlugin/
│   │   │   │   │   └── GetIntent/
│   │   │   │   │       ├── config.json
│   │   │   │   │       └── skprompt.txt
│   │   │   │   ├── Prompts/
│   │   │   │   │   └── chat/
│   │   │   │   │       ├── config.json
│   │   │   │   │       └── skprompt.txt
│   │   │   │   └── WriterPlugin/
│   │   │   │       └── ShortPoem/
│   │   │   │           ├── config.json
│   │   │   │           └── skprompt.txt
│   │   │   ├── README.md
│   │   │   └── Resources/
│   │   │       ├── Grimms-The-King-of-the-Golden-Mountain.txt
│   │   │       ├── Grimms-The-Water-of-Life.txt
│   │   │       ├── Grimms-The-White-Snake.txt
│   │   │       ├── PopulationByAdmin1.csv
│   │   │       ├── PopulationByCountry.csv
│   │   │       ├── WomensSuffrage.txt
│   │   │       └── getIntent.prompt.yaml
│   │   └── README.md
│   ├── src/
│   │   ├── .editorconfig
│   │   ├── Agents/
│   │   │   ├── A2A/
│   │   │   │   ├── A2AAgent.cs
│   │   │   │   ├── A2AAgentExtensions.cs
│   │   │   │   ├── A2AAgentThread.cs
│   │   │   │   ├── A2AHostAgent.cs
│   │   │   │   ├── Agents.A2A.csproj
│   │   │   │   └── Extensions/
│   │   │   │       └── AuthorRoleExtensions.cs
│   │   │   ├── Abstractions/
│   │   │   │   ├── AIAgent/
│   │   │   │   │   ├── SemanticKernelAIAgent.cs
│   │   │   │   │   └── SemanticKernelAIAgentThread.cs
│   │   │   │   ├── Agent.cs
│   │   │   │   ├── AgentChannel.cs
│   │   │   │   ├── AgentChat.cs
│   │   │   │   ├── AgentChatSerializer.cs
│   │   │   │   ├── AgentExtensions.cs
│   │   │   │   ├── AgentInvokeOptions.cs
│   │   │   │   ├── AgentResponseItem.cs
│   │   │   │   ├── AgentThread.cs
│   │   │   │   ├── AgentThreadOperationException.cs
│   │   │   │   ├── Agents.Abstractions.csproj
│   │   │   │   ├── AggregatorAgent.cs
│   │   │   │   ├── AggregatorChannel.cs
│   │   │   │   ├── Definition/
│   │   │   │   │   ├── AgentCreationOptions.cs
│   │   │   │   │   ├── AgentDefinition.cs
│   │   │   │   │   ├── AgentFactory.cs
│   │   │   │   │   ├── AgentInput.cs
│   │   │   │   │   ├── AgentMetadata.cs
│   │   │   │   │   ├── AgentOutput.cs
│   │   │   │   │   ├── AgentToolDefinition.cs
│   │   │   │   │   ├── AggregatorAgentFactory.cs
│   │   │   │   │   ├── ModelConnection.cs
│   │   │   │   │   └── ModelDefinition.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── AgentDefinitionExtensions.cs
│   │   │   │   │   ├── AgentToolDefinitionExtensions.cs
│   │   │   │   │   └── ChatHistoryExtensions.cs
│   │   │   │   ├── Internal/
│   │   │   │   │   ├── BroadcastQueue.cs
│   │   │   │   │   ├── ChannelReference.cs
│   │   │   │   │   └── KeyEncoder.cs
│   │   │   │   ├── Logging/
│   │   │   │   │   ├── AgentChatLogMessages.cs
│   │   │   │   │   └── AggregatorAgentLogMessages.cs
│   │   │   │   └── Serialization/
│   │   │   │       ├── AgentChannelState.cs
│   │   │   │       ├── AgentChatState.cs
│   │   │   │       ├── AgentParticipant.cs
│   │   │   │       ├── ChatMessageReference.cs
│   │   │   │       └── JsonChannelStateConverter.cs
│   │   │   ├── AzureAI/
│   │   │   │   ├── Agents.AzureAI.csproj
│   │   │   │   ├── AzureAIAgent.ClientFactory.cs
│   │   │   │   ├── AzureAIAgent.cs
│   │   │   │   ├── AzureAIAgentExtensions.cs
│   │   │   │   ├── AzureAIAgentInvokeOptions.cs
│   │   │   │   ├── AzureAIAgentThread.cs
│   │   │   │   ├── AzureAIChannel.cs
│   │   │   │   ├── AzureAIInvocationOptions.cs
│   │   │   │   ├── AzureAIThreadMessageFactory.cs
│   │   │   │   ├── Definition/
│   │   │   │   │   └── AzureAIAgentFactory.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── AgentDefinitionExtensions.cs
│   │   │   │   │   ├── AgentRunExtensions.cs
│   │   │   │   │   ├── AgentToolDefinitionExtensions.cs
│   │   │   │   │   └── KernelFunctionExtensions.cs
│   │   │   │   ├── Internal/
│   │   │   │   │   ├── AgentMessageFactory.cs
│   │   │   │   │   └── AgentThreadActions.cs
│   │   │   │   ├── Logging/
│   │   │   │   │   ├── AgentThreadActionsLogMessages.cs
│   │   │   │   │   └── AzureAIAgentLogMessages.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   └── RunPollingOptions.cs
│   │   │   ├── Bedrock/
│   │   │   │   ├── Agents.Bedrock.csproj
│   │   │   │   ├── BedrockAgent.cs
│   │   │   │   ├── BedrockAgentChannel.cs
│   │   │   │   ├── BedrockAgentInvokeOptions.cs
│   │   │   │   ├── BedrockAgentThread.cs
│   │   │   │   ├── Definition/
│   │   │   │   │   └── BedrockAgentFactory.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── BedrockAgentDefinitionExtensions.cs
│   │   │   │   │   ├── BedrockAgentExtensions.cs
│   │   │   │   │   ├── BedrockAgentInvokeExtensions.cs
│   │   │   │   │   ├── BedrockAgentToolDefinitionExtensions.cs
│   │   │   │   │   └── BedrockFunctionSchemaExtensions.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   └── README.md
│   │   │   ├── Copilot/
│   │   │   │   ├── Agents.CopilotStudio.csproj
│   │   │   │   ├── CopilotStudioAgent.ClientFactory.cs
│   │   │   │   ├── CopilotStudioAgent.cs
│   │   │   │   ├── CopilotStudioAgentExtensions.cs
│   │   │   │   ├── CopilotStudioAgentThread.cs
│   │   │   │   ├── CopilotStudioConnectionSettings.cs
│   │   │   │   ├── CopilotStudioTokenHandler.cs
│   │   │   │   ├── Internal/
│   │   │   │   │   ├── ActivityProcessor.cs
│   │   │   │   │   └── ContentProcessor.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   └── README.md
│   │   │   ├── Core/
│   │   │   │   ├── AgentGroupChat.cs
│   │   │   │   ├── Agents.Core.csproj
│   │   │   │   ├── Chat/
│   │   │   │   │   ├── AgentGroupChatSettings.cs
│   │   │   │   │   ├── AggregatorTerminationStrategy.cs
│   │   │   │   │   ├── KernelFunctionSelectionStrategy.cs
│   │   │   │   │   ├── KernelFunctionTerminationStrategy.cs
│   │   │   │   │   ├── RegExTerminationStrategy.cs
│   │   │   │   │   ├── SelectionStrategy.cs
│   │   │   │   │   ├── SequentialSelectionStrategy.cs
│   │   │   │   │   └── TerminationStrategy.cs
│   │   │   │   ├── ChatCompletionAgent.cs
│   │   │   │   ├── ChatCompletionAgentExtensions.cs
│   │   │   │   ├── ChatHistoryAgent.cs
│   │   │   │   ├── ChatHistoryAgentThread.cs
│   │   │   │   ├── ChatHistoryChannel.cs
│   │   │   │   ├── Definition/
│   │   │   │   │   └── ChatCompletionAgentFactory.cs
│   │   │   │   ├── Functions/
│   │   │   │   │   ├── AgentKernelFunctionFactory.cs
│   │   │   │   │   └── AgentKernelPluginFactory.cs
│   │   │   │   ├── Internal/
│   │   │   │   │   ├── ChatMessageForPrompt.cs
│   │   │   │   │   └── CoreKernelArgumentsExtensions.cs
│   │   │   │   └── Logging/
│   │   │   │       ├── AgentGroupChatLogMessages.cs
│   │   │   │       ├── AggregatorTerminationStrategyLogMessages.cs
│   │   │   │       ├── ChatCompletionAgentLogMessages.cs
│   │   │   │       ├── KernelFunctionSelectionStrategyLogMessages.cs
│   │   │   │       ├── KernelFunctionTerminationStrategyLogMessages.cs
│   │   │   │       ├── RegExTerminationStrategyLogMessages.cs
│   │   │   │       ├── SequentialSelectionStrategyLogMessages.cs
│   │   │   │       └── TerminationStrategyLogMessages.cs
│   │   │   ├── Magentic/
│   │   │   │   ├── Agents.Magentic.csproj
│   │   │   │   ├── Internal/
│   │   │   │   │   └── PromptExecutionSettingsExtensions.cs
│   │   │   │   ├── Logging/
│   │   │   │   │   └── MagenticOrchestrationLogMessages.cs
│   │   │   │   ├── MagenticAgentActor.cs
│   │   │   │   ├── MagenticManager.cs
│   │   │   │   ├── MagenticManagerActor.cs
│   │   │   │   ├── MagenticManagerContext.cs
│   │   │   │   ├── MagenticMessages.cs
│   │   │   │   ├── MagenticOrchestration.String.cs
│   │   │   │   ├── MagenticOrchestration.cs
│   │   │   │   ├── MagenticProgressLedger.cs
│   │   │   │   ├── MagenticPrompts.cs
│   │   │   │   ├── MagenticTeam.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   └── StandardMagenticManager.cs
│   │   │   ├── OpenAI/
│   │   │   │   ├── Agents.OpenAI.csproj
│   │   │   │   ├── Definition/
│   │   │   │   │   └── OpenAIAssistantAgentFactory.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── AgentDefinitionExtensions.cs
│   │   │   │   │   ├── AssistantClientExtensions.cs
│   │   │   │   │   ├── AuthorRoleExtensions.cs
│   │   │   │   │   ├── ChatContentMessageExtensions.cs
│   │   │   │   │   ├── KernelContentExtensions.cs
│   │   │   │   │   ├── KernelFunctionExtensions.cs
│   │   │   │   │   ├── ModelConnectionExtensions.cs
│   │   │   │   │   ├── OpenAIClientExtensions.cs
│   │   │   │   │   ├── OpenAIResponseExtensions.cs
│   │   │   │   │   └── StreamingResponseOutputTextDeltaUpdateExtensions.cs
│   │   │   │   ├── Internal/
│   │   │   │   │   ├── AssistantMessageFactory.cs
│   │   │   │   │   ├── AssistantRunOptionsFactory.cs
│   │   │   │   │   ├── AssistantThreadActions.cs
│   │   │   │   │   ├── AssistantToolResourcesFactory.cs
│   │   │   │   │   ├── ResponseCreationOptionsFactory.cs
│   │   │   │   │   └── ResponseThreadActions.cs
│   │   │   │   ├── Logging/
│   │   │   │   │   ├── AssistantThreadActionsLogMessages.cs
│   │   │   │   │   └── OpenAIAssistantAgentLogMessages.cs
│   │   │   │   ├── OpenAIAssistantAgent.ClientFactory.cs
│   │   │   │   ├── OpenAIAssistantAgent.cs
│   │   │   │   ├── OpenAIAssistantAgentExtensions.cs
│   │   │   │   ├── OpenAIAssistantAgentInvokeOptions.cs
│   │   │   │   ├── OpenAIAssistantAgentThread.cs
│   │   │   │   ├── OpenAIAssistantCapabilities.cs
│   │   │   │   ├── OpenAIAssistantChannel.cs
│   │   │   │   ├── OpenAIAssistantDefinition.cs
│   │   │   │   ├── OpenAIAssistantExecutionOptions.cs
│   │   │   │   ├── OpenAIAssistantInvocationOptions.cs
│   │   │   │   ├── OpenAIClientProvider.cs
│   │   │   │   ├── OpenAIResponseAgent.cs
│   │   │   │   ├── OpenAIResponseAgentExtensions.cs
│   │   │   │   ├── OpenAIResponseAgentInvokeOptions.cs
│   │   │   │   ├── OpenAIResponseAgentThread.cs
│   │   │   │   ├── OpenAIThreadCreationOptions.cs
│   │   │   │   └── RunPollingOptions.cs
│   │   │   ├── Orchestration/
│   │   │   │   ├── AgentActor.cs
│   │   │   │   ├── AgentOrchestration.RequestActor.cs
│   │   │   │   ├── AgentOrchestration.ResultActor.cs
│   │   │   │   ├── AgentOrchestration.cs
│   │   │   │   ├── Agents.Orchestration.csproj
│   │   │   │   ├── Concurrent/
│   │   │   │   │   ├── ConcurrentActor.cs
│   │   │   │   │   ├── ConcurrentMessages.cs
│   │   │   │   │   ├── ConcurrentOrchestration.String.cs
│   │   │   │   │   ├── ConcurrentOrchestration.cs
│   │   │   │   │   └── ConcurrentResultActor.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── RuntimeExtensions.cs
│   │   │   │   ├── GroupChat/
│   │   │   │   │   ├── GroupChatAgentActor.cs
│   │   │   │   │   ├── GroupChatManager.cs
│   │   │   │   │   ├── GroupChatManagerActor.cs
│   │   │   │   │   ├── GroupChatMessages.cs
│   │   │   │   │   ├── GroupChatOrchestration.String.cs
│   │   │   │   │   ├── GroupChatOrchestration.cs
│   │   │   │   │   ├── GroupChatTeam.cs
│   │   │   │   │   └── RoundRobinGroupChatManager.cs
│   │   │   │   ├── Handoff/
│   │   │   │   │   ├── HandoffActor.cs
│   │   │   │   │   ├── HandoffInvocationFilter.cs
│   │   │   │   │   ├── HandoffMessages.cs
│   │   │   │   │   ├── HandoffOrchestration.String.cs
│   │   │   │   │   ├── HandoffOrchestration.cs
│   │   │   │   │   └── Handoffs.cs
│   │   │   │   ├── Logging/
│   │   │   │   │   ├── AgentOrchestrationLogMessages.cs
│   │   │   │   │   ├── ConcurrentOrchestrationLogMessages.cs
│   │   │   │   │   ├── GroupChatOrchestrationLogMessages.cs
│   │   │   │   │   ├── HandoffOrchestrationLogMessages.cs
│   │   │   │   │   ├── OrchestrationResultLogMessages.cs
│   │   │   │   │   └── SequentialOrchestrationLogMessages.cs
│   │   │   │   ├── OrchestrationActor.cs
│   │   │   │   ├── OrchestrationContext.cs
│   │   │   │   ├── OrchestrationResult.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── Sequential/
│   │   │   │   │   ├── SequentialActor.cs
│   │   │   │   │   ├── SequentialMessages.cs
│   │   │   │   │   ├── SequentialOrchestration.String.cs
│   │   │   │   │   └── SequentialOrchestration.cs
│   │   │   │   └── Transforms/
│   │   │   │       ├── DefaultTransforms.cs
│   │   │   │       ├── OrchestrationTransforms.cs
│   │   │   │       └── StructuredOutputTransform.cs
│   │   │   ├── Runtime/
│   │   │   │   ├── Abstractions/
│   │   │   │   │   ├── AgentId.cs
│   │   │   │   │   ├── AgentMetadata.cs
│   │   │   │   │   ├── AgentProxy.cs
│   │   │   │   │   ├── AgentType.cs
│   │   │   │   │   ├── Exceptions/
│   │   │   │   │   │   ├── CantHandleException.cs
│   │   │   │   │   │   ├── MessageDroppedException.cs
│   │   │   │   │   │   ├── NotAccessibleException.cs
│   │   │   │   │   │   └── UndeliverableException.cs
│   │   │   │   │   ├── IAgent.cs
│   │   │   │   │   ├── IAgentRuntime.cs
│   │   │   │   │   ├── IHostableAgent.cs
│   │   │   │   │   ├── ISaveState.cs
│   │   │   │   │   ├── ISubscriptionDefinition.cs
│   │   │   │   │   ├── Internal/
│   │   │   │   │   │   └── KeyValueParserExtensions.cs
│   │   │   │   │   ├── MessageContext.cs
│   │   │   │   │   ├── Runtime.Abstractions.csproj
│   │   │   │   │   └── TopicId.cs
│   │   │   │   ├── Abstractions.Tests/
│   │   │   │   │   ├── AgentIdTests.cs
│   │   │   │   │   ├── AgentMetaDataTests.cs
│   │   │   │   │   ├── AgentProxyTests.cs
│   │   │   │   │   ├── AgentTypeTests.cs
│   │   │   │   │   ├── MessageContextTests.cs
│   │   │   │   │   ├── Runtime.Abstractions.UnitTests.csproj
│   │   │   │   │   └── TopicIdTests.cs
│   │   │   │   ├── Core/
│   │   │   │   │   ├── AgentRuntimeExtensions.cs
│   │   │   │   │   ├── AgentsApp.cs
│   │   │   │   │   ├── AgentsAppBuilder.cs
│   │   │   │   │   ├── BaseAgent.cs
│   │   │   │   │   ├── IHandle.cs
│   │   │   │   │   ├── Internal/
│   │   │   │   │   │   └── HandlerInvoker.cs
│   │   │   │   │   ├── Runtime.Core.csproj
│   │   │   │   │   ├── TypePrefixSubscription.cs
│   │   │   │   │   ├── TypePrefixSubscriptionAttribute.cs
│   │   │   │   │   ├── TypeSubscription.cs
│   │   │   │   │   └── TypeSubscriptionAttribute.cs
│   │   │   │   ├── Core.Tests/
│   │   │   │   │   ├── AgentRuntimeExtensionsTests.cs
│   │   │   │   │   ├── AgentsAppBuilderTests.cs
│   │   │   │   │   ├── AgentsAppTests.cs
│   │   │   │   │   ├── BaseAgentTests.cs
│   │   │   │   │   ├── Runtime.Core.UnitTests.csproj
│   │   │   │   │   ├── TypePrefixSubscriptionAttributeTests.cs
│   │   │   │   │   ├── TypePrefixSubscriptionTests.cs
│   │   │   │   │   ├── TypeSubscriptionAttributeTests.cs
│   │   │   │   │   └── TypeSubscriptionTests.cs
│   │   │   │   ├── InProcess/
│   │   │   │   │   ├── InProcessRuntime.cs
│   │   │   │   │   ├── MessageDelivery.cs
│   │   │   │   │   ├── MessageEnvelope.cs
│   │   │   │   │   ├── ResultSink.cs
│   │   │   │   │   └── Runtime.InProcess.csproj
│   │   │   │   └── InProcess.Tests/
│   │   │   │       ├── InProcessRuntimeTests.cs
│   │   │   │       ├── MessageDeliveryTests.cs
│   │   │   │       ├── MessageEnvelopeTests.cs
│   │   │   │       ├── MessagingTestFixture.cs
│   │   │   │       ├── PublishMessageTests.cs
│   │   │   │       ├── ResultSinkTests.cs
│   │   │   │       ├── Runtime.InProcess.UnitTests.csproj
│   │   │   │       ├── SendMessageTests.cs
│   │   │   │       ├── TestAgents.cs
│   │   │   │       └── TestSubscription.cs
│   │   │   ├── UnitTests/
│   │   │   │   ├── A2A/
│   │   │   │   │   ├── A2AAgentExtensionsTests.cs
│   │   │   │   │   ├── A2AAgentTests.cs
│   │   │   │   │   ├── A2AHostAgentTests.cs
│   │   │   │   │   └── BaseA2AClientTest.cs
│   │   │   │   ├── AIAgent/
│   │   │   │   │   ├── SemanticKernelAIAgentTests.cs
│   │   │   │   │   └── SemanticKernelAIAgentThreadTests.cs
│   │   │   │   ├── AgentChannelTests.cs
│   │   │   │   ├── AgentChatSerializerTests.cs
│   │   │   │   ├── AgentChatTests.cs
│   │   │   │   ├── AgentExtensionsTests.cs
│   │   │   │   ├── AgentTests.cs
│   │   │   │   ├── Agents.UnitTests.csproj
│   │   │   │   ├── AggregatorAgentTests.cs
│   │   │   │   ├── AzureAI/
│   │   │   │   │   ├── AzureAIAgentExtensionsTests.cs
│   │   │   │   │   ├── AzureAIAgentInvokeOptionsTests.cs
│   │   │   │   │   ├── AzureAIAssistantInvocationOptionsTests.cs
│   │   │   │   │   ├── Definition/
│   │   │   │   │   │   └── AzureAIAgentFactoryTests.cs
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   ├── AgentDefinitionExtensionsTests.cs
│   │   │   │   │   │   └── KernelFunctionExtensionsTests.cs
│   │   │   │   │   ├── Internal/
│   │   │   │   │   │   └── AgentMessageFactoryTests.cs
│   │   │   │   │   └── RunPollingOptionsTests.cs
│   │   │   │   ├── Bedrock/
│   │   │   │   │   ├── BedrockAgentChannelTests.cs
│   │   │   │   │   ├── BedrockAgentTests.cs
│   │   │   │   │   └── Extensions.cs/
│   │   │   │   │       ├── BedrockAgentExtensionsTests.cs
│   │   │   │   │       └── BedrockFunctionSchemaExtensionsTests.cs
│   │   │   │   ├── Copilot/
│   │   │   │   │   └── CopilotStudioAgentExtensionsTests.cs
│   │   │   │   ├── CopilotStudio/
│   │   │   │   │   ├── ActivityProcessorTests.cs
│   │   │   │   │   ├── ContentProcessorTests.cs
│   │   │   │   │   ├── CopilotStudioAgentTests.cs
│   │   │   │   │   └── CopilotStudioConnectionSettingsTests.cs
│   │   │   │   ├── Core/
│   │   │   │   │   ├── AgentGroupChatTests.cs
│   │   │   │   │   ├── AgentThreadTests.cs
│   │   │   │   │   ├── Chat/
│   │   │   │   │   │   ├── AgentGroupChatSettingsTests.cs
│   │   │   │   │   │   ├── AggregatorTerminationStrategyTests.cs
│   │   │   │   │   │   ├── KernelFunctionSelectionStrategyTests.cs
│   │   │   │   │   │   ├── KernelFunctionTerminationStrategyTests.cs
│   │   │   │   │   │   ├── RegExTerminationStrategyTests.cs
│   │   │   │   │   │   └── SequentialSelectionStrategyTests.cs
│   │   │   │   │   ├── ChatCompletionAgentExtensionsTests.cs
│   │   │   │   │   ├── ChatCompletionAgentTests.cs
│   │   │   │   │   ├── ChatHistoryAgentThreadTests.cs
│   │   │   │   │   ├── ChatHistoryChannelTests.cs
│   │   │   │   │   ├── Definition/
│   │   │   │   │   │   └── ChatCompletionAgentFactoryTests.cs
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   └── AgentDefinitionExtensionsTests.cs
│   │   │   │   │   ├── Factory/
│   │   │   │   │   │   └── AggregatorAgentFactoryTests.cs
│   │   │   │   │   ├── Functions/
│   │   │   │   │   │   └── AgentKernelFunctionFactoryTests.cs
│   │   │   │   │   └── Internal/
│   │   │   │   │       └── ChatMessageForPromptTests.cs
│   │   │   │   ├── Definition/
│   │   │   │   │   └── AgentDefinitionModelTests.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── AgentDefinitionExtensionsTests.cs
│   │   │   │   │   ├── AgentToolDefinitionExtensionsTests.cs
│   │   │   │   │   ├── ChatHistoryExtensionsTests.cs
│   │   │   │   │   └── ResponseItemExtensionsTests.cs
│   │   │   │   ├── Internal/
│   │   │   │   │   ├── BroadcastQueueTests.cs
│   │   │   │   │   └── KeyEncoderTests.cs
│   │   │   │   ├── Magentic/
│   │   │   │   │   ├── MagenticManagerContextTests.cs
│   │   │   │   │   ├── MagenticOrchestrationTests.cs
│   │   │   │   │   └── StandardMagenticManagerTests.cs
│   │   │   │   ├── MockAgent.cs
│   │   │   │   ├── MockChannel.cs
│   │   │   │   ├── OpenAI/
│   │   │   │   │   ├── BaseOpenAIResponseClientTest.cs
│   │   │   │   │   ├── Definition/
│   │   │   │   │   │   └── OpenAIAssistantAgentFactoryTests.cs
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   ├── AgentDefinitionExtensionsTests.cs
│   │   │   │   │   │   ├── AssistantClientExtensionsTests.cs
│   │   │   │   │   │   ├── AuthorRoleExtensionsTests.cs
│   │   │   │   │   │   ├── ChatContentMessageExtensionsTests.cs
│   │   │   │   │   │   ├── KernelExtensionsTests.cs
│   │   │   │   │   │   ├── KernelFunctionExtensionsTests.cs
│   │   │   │   │   │   ├── OpenAIClientExtensionsTests.cs
│   │   │   │   │   │   └── OpenAIResponseExtensionsTests.cs
│   │   │   │   │   ├── Internal/
│   │   │   │   │   │   ├── AssistantMessageFactoryTests.cs
│   │   │   │   │   │   ├── AssistantRunOptionsFactoryTests.cs
│   │   │   │   │   │   └── ResponseCreationOptionsFactoryTests.cs
│   │   │   │   │   ├── OpenAIAssistantAgentExtensionsTests.cs
│   │   │   │   │   ├── OpenAIAssistantAgentInvokeOptionsTests.cs
│   │   │   │   │   ├── OpenAIAssistantAgentTests.cs
│   │   │   │   │   ├── OpenAIAssistantAgentThreadTests.cs
│   │   │   │   │   ├── OpenAIAssistantDefinitionTests.cs
│   │   │   │   │   ├── OpenAIAssistantInvocationOptionsTests.cs
│   │   │   │   │   ├── OpenAIAssistantResponseContent.cs
│   │   │   │   │   ├── OpenAIClientProviderTests.cs
│   │   │   │   │   ├── OpenAIResponseAgentExtensionsTests.cs
│   │   │   │   │   ├── OpenAIResponseAgentTests.cs
│   │   │   │   │   ├── OpenAIResponseAgentThreadTests.cs
│   │   │   │   │   ├── OpenAIThreadCreationOptionsTests.cs
│   │   │   │   │   └── RunPollingOptionsTests.cs
│   │   │   │   ├── Orchestration/
│   │   │   │   │   ├── ChatGroupExtensionsTests.cs
│   │   │   │   │   ├── ConcurrentOrchestrationTests.cs
│   │   │   │   │   ├── DefaultTransformsTests.cs
│   │   │   │   │   ├── GroupChatOrchestrationTests.cs
│   │   │   │   │   ├── HandoffOrchestrationTests.cs
│   │   │   │   │   ├── HandoffsTests.cs
│   │   │   │   │   ├── OrchestrationResultTests.cs
│   │   │   │   │   └── SequentialOrchestrationTests.cs
│   │   │   │   ├── Test/
│   │   │   │   │   ├── AssertCollection.cs
│   │   │   │   │   └── FakeTokenCredential.cs
│   │   │   │   └── Yaml/
│   │   │   │       ├── AgentDefinitionYamlTests.cs
│   │   │   │       ├── AgentYamlTests.cs
│   │   │   │       └── AzureAIKernelAgentYamlTests.cs
│   │   │   └── Yaml/
│   │   │       ├── AgentDefinitionYaml.cs
│   │   │       ├── AgentMetadataTypeConverter.cs
│   │   │       ├── Agents.Yaml.csproj
│   │   │       ├── Extensions/
│   │   │       │   ├── YamlAgentDefinitionExtensions.cs
│   │   │       │   └── YamlAgentFactoryExtensions.cs
│   │   │       └── ModelConfigurationTypeConverter.cs
│   │   ├── Connectors/
│   │   │   ├── Connectors.Amazon/
│   │   │   │   ├── Bedrock/
│   │   │   │   │   ├── AI21JurassicPenalties.cs
│   │   │   │   │   ├── CohereCommandRTools.cs
│   │   │   │   │   ├── Core/
│   │   │   │   │   │   ├── BedrockClientUtilities.cs
│   │   │   │   │   │   ├── BedrockModelUtilities.cs
│   │   │   │   │   │   ├── BedrockServiceFactory.cs
│   │   │   │   │   │   ├── Clients/
│   │   │   │   │   │   │   ├── BedrockChatCompletionClient.cs
│   │   │   │   │   │   │   ├── BedrockTextEmbeddingGenerationClient.cs
│   │   │   │   │   │   │   └── BedrockTextGenerationClient.cs
│   │   │   │   │   │   ├── IBedrockBatchTextEmbeddingService.cs
│   │   │   │   │   │   ├── IBedrockChatCompletionService.cs
│   │   │   │   │   │   ├── IBedrockSplitTextEmbeddingService.cs
│   │   │   │   │   │   ├── IBedrockTextEmbeddingService.cs
│   │   │   │   │   │   ├── IBedrockTextGenerationService.cs
│   │   │   │   │   │   └── Models/
│   │   │   │   │   │       ├── AI21Labs/
│   │   │   │   │   │       │   ├── AI21JambaRequest.cs
│   │   │   │   │   │       │   ├── AI21JambaResponse.cs
│   │   │   │   │   │       │   ├── AI21JambaService.cs
│   │   │   │   │   │       │   ├── AI21JurassicRequest.cs
│   │   │   │   │   │       │   ├── AI21JurassicResponse.cs
│   │   │   │   │   │       │   └── AI21JurassicService.cs
│   │   │   │   │   │       ├── Amazon/
│   │   │   │   │   │       │   ├── AmazonService.cs
│   │   │   │   │   │       │   ├── TitanRequest.cs
│   │   │   │   │   │       │   └── TitanResponse.cs
│   │   │   │   │   │       ├── AmazonEmbed/
│   │   │   │   │   │       │   ├── AmazonEmbedService.cs
│   │   │   │   │   │       │   ├── TitanEmbedRequest.cs
│   │   │   │   │   │       │   └── TitanEmbedResponse.cs
│   │   │   │   │   │       ├── Anthropic/
│   │   │   │   │   │       │   ├── AnthropicService.cs
│   │   │   │   │   │       │   ├── ClaudeRequest.cs
│   │   │   │   │   │       │   ├── ClaudeResponse.cs
│   │   │   │   │   │       │   └── ClaudeToolUse.cs
│   │   │   │   │   │       ├── Cohere/
│   │   │   │   │   │       │   ├── CohereCommandRService.cs
│   │   │   │   │   │       │   ├── CohereCommandService.cs
│   │   │   │   │   │       │   ├── CommandRRequest.cs
│   │   │   │   │   │       │   ├── CommandRResponse.cs
│   │   │   │   │   │       │   ├── CommandRequest.cs
│   │   │   │   │   │       │   └── CommandResponse.cs
│   │   │   │   │   │       ├── CohereEmbed/
│   │   │   │   │   │       │   ├── CohereEmbedService.cs
│   │   │   │   │   │       │   ├── EmbedRequest.cs
│   │   │   │   │   │       │   └── EmbedResponse.cs
│   │   │   │   │   │       ├── Meta/
│   │   │   │   │   │       │   ├── LlamaRequest.cs
│   │   │   │   │   │       │   ├── LlamaResponse.cs
│   │   │   │   │   │       │   └── MetaService.cs
│   │   │   │   │   │       └── Mistral/
│   │   │   │   │   │           ├── MistralRequest.cs
│   │   │   │   │   │           ├── MistralResponse.cs
│   │   │   │   │   │           └── MistralService.cs
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   ├── BedrockKernelBuilderExtensions.cs
│   │   │   │   │   │   ├── BedrockServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   │   │   └── BedrockServiceCollectionExtensions.cs
│   │   │   │   │   ├── Services/
│   │   │   │   │   │   ├── BedrockChatCompletionService.cs
│   │   │   │   │   │   ├── BedrockTextEmbeddingGeneratorService.cs
│   │   │   │   │   │   └── BedrockTextGenerationService.cs
│   │   │   │   │   └── Settings/
│   │   │   │   │       ├── AmazonClaudeExecutionSettings.cs
│   │   │   │   │       ├── AmazonCommandExecutionSettings.cs
│   │   │   │   │       ├── AmazonCommandRExecutionSettings.cs
│   │   │   │   │       ├── AmazonJambaExecutionSettings.cs
│   │   │   │   │       ├── AmazonJurassicExecutionSettings.cs
│   │   │   │   │       ├── AmazonLlama3ExecutionSettings.cs
│   │   │   │   │       ├── AmazonMistralExecutionSettings.cs
│   │   │   │   │       └── AmazonTitanExecutionSettings.cs
│   │   │   │   └── Connectors.Amazon.csproj
│   │   │   ├── Connectors.Amazon.UnitTests/
│   │   │   │   ├── Connectors.Amazon.UnitTests.csproj
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── BedrockKernelBuilderExtensionTests.cs
│   │   │   │   │   └── BedrockServiceCollectionExtensionTests.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── BedrockChatCompletionServiceTests.cs
│   │   │   │   │   ├── BedrockTextEmbeddingGenerationServiceTests.cs
│   │   │   │   │   └── BedrockTextGenerationServiceTests.cs
│   │   │   │   └── Settings/
│   │   │   │       ├── BedrockChatCompletionModelExecutionSettingsTests.cs
│   │   │   │       └── BedrockTextGenerationModelExecutionSettingsTests.cs
│   │   │   ├── Connectors.AzureAIInference/
│   │   │   │   ├── Connectors.AzureAIInference.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   ├── AddHeaderRequestPolicy.cs
│   │   │   │   │   ├── ChatClientCore.cs
│   │   │   │   │   └── RequestFailedExceptionExtensions.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── AzureAIInferenceKernelBuilderExtensions.cs
│   │   │   │   │   ├── AzureAIInferenceServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   │   └── AzureAIInferenceServiceCollectionExtensions.cs
│   │   │   │   ├── Services/
│   │   │   │   │   └── AzureAIInferenceChatCompletionService.cs
│   │   │   │   └── Settings/
│   │   │   │       └── AzureAIInferencePromptExecutionSettings.cs
│   │   │   ├── Connectors.AzureAIInference.UnitTests/
│   │   │   │   ├── Connectors.AzureAIInference.UnitTests.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   └── ChatClientCoreTests.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── AzureAIInferenceKernelBuilderExtensionsTests.cs
│   │   │   │   │   └── AzureAIInferenceServiceCollectionExtensionsTests.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── AzureAIInferenceChatCompletionServiceOpenTelemetryTests.cs
│   │   │   │   │   └── AzureAIInferenceChatCompletionServiceTests.cs
│   │   │   │   ├── Settings/
│   │   │   │   │   └── AzureAIInferencePromptExecutionSettingsTests.cs
│   │   │   │   └── TestData/
│   │   │   │       ├── chat_completion_response.json
│   │   │   │       ├── chat_completion_streaming_response.txt
│   │   │   │       └── text-embeddings-response.txt
│   │   │   ├── Connectors.AzureOpenAI/
│   │   │   │   ├── Connectors.AzureOpenAI.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   ├── AzureClientCore.ChatCompletion.cs
│   │   │   │   │   └── AzureClientCore.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── AzureOpenAIKernelBuilderExtensions.cs
│   │   │   │   │   ├── AzureOpenAIServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   │   └── AzureOpenAIServiceCollectionExtensions.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── AzureOpenAIAudioToTextService.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletionService.cs
│   │   │   │   │   ├── AzureOpenAITextEmbeddingGenerationService.cs
│   │   │   │   │   ├── AzureOpenAITextToAudioService.cs
│   │   │   │   │   └── AzureOpenAITextToImageService.cs
│   │   │   │   └── Settings/
│   │   │   │       └── AzureOpenAIPromptExecutionSettings.cs
│   │   │   ├── Connectors.AzureOpenAI.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── AzureOpenAITestHelper.cs
│   │   │   │   ├── Connectors.AzureOpenAI.UnitTests.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   ├── AzureClientCoreTests.cs
│   │   │   │   │   └── ClientCoreTests.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── AzureOpenAIKernelBuilderExtensionsChatClientTests.cs
│   │   │   │   │   ├── AzureOpenAIKernelBuilderExtensionsTests.cs
│   │   │   │   │   ├── AzureOpenAIServiceCollectionExtensionsChatClientTests.cs
│   │   │   │   │   └── AzureOpenAIServiceCollectionExtensionsTests.cs
│   │   │   │   ├── KernelCore/
│   │   │   │   │   └── KernelTests.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── AzureOpenAIAudioToTextServiceTests.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletionServiceTests.cs
│   │   │   │   │   ├── AzureOpenAITextEmbeddingGenerationServiceTests.cs
│   │   │   │   │   ├── AzureOpenAITextToAudioServiceTests.cs
│   │   │   │   │   └── AzureOpenAITextToImageServiceTests.cs
│   │   │   │   ├── Settings/
│   │   │   │   │   ├── AzureOpenAIPromptExecutionSettingsTests.cs
│   │   │   │   │   └── OpenAIPromptExecutionSettingsTests.cs
│   │   │   │   └── TestData/
│   │   │   │       ├── chat_completion_multiple_function_calls_test_response.json
│   │   │   │       ├── chat_completion_single_function_call_test_response.json
│   │   │   │       ├── chat_completion_streaming_async_filter_response.txt
│   │   │   │       ├── chat_completion_streaming_multiple_function_calls_test_async_filter_response.txt
│   │   │   │       ├── chat_completion_streaming_multiple_function_calls_test_response.txt
│   │   │   │       ├── chat_completion_streaming_single_function_call_empty_assistance_response.txt
│   │   │   │       ├── chat_completion_streaming_single_function_call_test_response.txt
│   │   │   │       ├── chat_completion_streaming_test_response.txt
│   │   │   │       ├── chat_completion_test_response.json
│   │   │   │       ├── chat_completion_with_data_streaming_test_response.txt
│   │   │   │       ├── chat_completion_with_data_test_response.json
│   │   │   │       ├── filters_multiple_function_calls_test_response.json
│   │   │   │       ├── filters_streaming_multiple_function_calls_test_response.txt
│   │   │   │       ├── text-embeddings-multiple-response.txt
│   │   │   │       ├── text-embeddings-response.txt
│   │   │   │       ├── text-to-image-b64_json-format-response.json
│   │   │   │       ├── text-to-image-response.json
│   │   │   │       ├── text_completion_streaming_test_response.txt
│   │   │   │       └── text_completion_test_response.json
│   │   │   ├── Connectors.Google/
│   │   │   │   ├── Connectors.Google.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   ├── ClientBase.cs
│   │   │   │   │   ├── Gemini/
│   │   │   │   │   │   ├── AuthorRoleConverter.cs
│   │   │   │   │   │   ├── Clients/
│   │   │   │   │   │   │   ├── GeminiChatCompletionClient.cs
│   │   │   │   │   │   │   └── GeminiTokenCounterClient.cs
│   │   │   │   │   │   ├── GeminiPluginCollectionExtensions.cs
│   │   │   │   │   │   └── Models/
│   │   │   │   │   │       ├── GeminiContent.cs
│   │   │   │   │   │       ├── GeminiPart.cs
│   │   │   │   │   │       ├── GeminiRequest.cs
│   │   │   │   │   │       ├── GeminiResponse.cs
│   │   │   │   │   │       ├── GeminiResponseCandidate.cs
│   │   │   │   │   │       └── GeminiTool.cs
│   │   │   │   │   ├── GoogleAI/
│   │   │   │   │   │   ├── GoogleAIEmbeddingClient.cs
│   │   │   │   │   │   ├── GoogleAIEmbeddingRequest.cs
│   │   │   │   │   │   └── GoogleAIEmbeddingResponse.cs
│   │   │   │   │   └── VertexAI/
│   │   │   │   │       ├── VertexAIEmbeddingClient.cs
│   │   │   │   │       ├── VertexAIEmbeddingRequest.cs
│   │   │   │   │       └── VertexAIEmbeddingResponse.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── GeminiKernelFunctionMetadataExtensions.cs
│   │   │   │   │   ├── GoogleAIKernelBuilderExtensions.cs
│   │   │   │   │   ├── GoogleAIMemoryBuilderExtensions.cs
│   │   │   │   │   ├── GoogleAIServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   │   ├── GoogleAIServiceCollectionExtensions.cs
│   │   │   │   │   ├── VertexAIKernelBuilderExtensions.cs
│   │   │   │   │   ├── VertexAIMemoryBuilderExtensions.cs
│   │   │   │   │   ├── VertexAIServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   │   └── VertexAIServiceCollectionExtensions.cs
│   │   │   │   ├── GeminiPromptExecutionSettings.cs
│   │   │   │   ├── GeminiThinkingConfig.cs
│   │   │   │   ├── GeminiToolCallBehavior.cs
│   │   │   │   ├── GoogleAIVersion.cs
│   │   │   │   ├── Models/
│   │   │   │   │   └── Gemini/
│   │   │   │   │       ├── GeminiChatMessageContent.cs
│   │   │   │   │       ├── GeminiFinishReason.cs
│   │   │   │   │       ├── GeminiFunction.cs
│   │   │   │   │       ├── GeminiFunctionToolCall.cs
│   │   │   │   │       ├── GeminiFunctionToolResult.cs
│   │   │   │   │       ├── GeminiMetadata.cs
│   │   │   │   │       ├── GeminiSafetyRating.cs
│   │   │   │   │       ├── GeminiSafetySetting.cs
│   │   │   │   │       └── GeminiStreamingChatMessageContent.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── GoogleAIEmbeddingGenerator.cs
│   │   │   │   │   ├── GoogleAIGeminiChatCompletionService.cs
│   │   │   │   │   ├── GoogleAITextEmbeddingGenerationService.cs
│   │   │   │   │   ├── VertexAIEmbeddingGenerator.cs
│   │   │   │   │   ├── VertexAIGeminiChatCompletionService.cs
│   │   │   │   │   └── VertexAITextEmbeddingGenerationService.cs
│   │   │   │   └── VertexAIVersion.cs
│   │   │   ├── Connectors.Google.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── Connectors.Google.UnitTests.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   ├── Gemini/
│   │   │   │   │   │   ├── AuthorRoleConverterTests.cs
│   │   │   │   │   │   ├── Clients/
│   │   │   │   │   │   │   ├── GeminiChatClientFunctionCallingTests.cs
│   │   │   │   │   │   │   ├── GeminiChatGenerationFunctionCallingTests.cs
│   │   │   │   │   │   │   ├── GeminiChatGenerationTests.cs
│   │   │   │   │   │   │   ├── GeminiChatStreamingFunctionCallingTests.cs
│   │   │   │   │   │   │   ├── GeminiChatStreamingTests.cs
│   │   │   │   │   │   │   └── GeminiCountingTokensTests.cs
│   │   │   │   │   │   ├── GeminiFunctionTests.cs
│   │   │   │   │   │   ├── GeminiFunctionToolCallTests.cs
│   │   │   │   │   │   ├── GeminiMetadataTests.cs
│   │   │   │   │   │   ├── GeminiPartTests.cs
│   │   │   │   │   │   ├── GeminiRequestTests.cs
│   │   │   │   │   │   └── GeminiStreamResponseTests.cs
│   │   │   │   │   ├── GoogleAI/
│   │   │   │   │   │   ├── GoogleAIClientEmbeddingsGenerationTests.cs
│   │   │   │   │   │   └── GoogleAIEmbeddingRequestTests.cs
│   │   │   │   │   └── VertexAI/
│   │   │   │   │       ├── VertexAIClientEmbeddingsGenerationTests.cs
│   │   │   │   │       └── VertexAIEmbeddingRequestTests.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── GeminiPluginCollectionExtensionsTests.cs
│   │   │   │   │   ├── GoogleAIMemoryBuilderExtensionsTests.cs
│   │   │   │   │   ├── GoogleAIServiceCollectionExtensionsTests.cs
│   │   │   │   │   ├── KernelFunctionMetadataExtensionsTests.cs
│   │   │   │   │   ├── VertexAIMemoryBuilderExtensionsTests.cs
│   │   │   │   │   └── VertexAIServiceCollectionExtensionsTests.cs
│   │   │   │   ├── GeminiPromptExecutionSettingsTests.cs
│   │   │   │   ├── GeminiToolCallBehaviorTests.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── GoogleAIEmbeddingGeneratorTests.cs
│   │   │   │   │   ├── GoogleAIGeminiChatCompletionServiceTests.cs
│   │   │   │   │   ├── GoogleAITextEmbeddingGenerationServiceTests.cs
│   │   │   │   │   ├── GoogleGeminiChatClientTests.cs
│   │   │   │   │   ├── VertexAIEmbeddingGeneratorTests.cs
│   │   │   │   │   ├── VertexAIGeminiChatCompletionServiceTests.cs
│   │   │   │   │   └── VertexAITextEmbeddingGenerationServiceTests.cs
│   │   │   │   └── TestData/
│   │   │   │       ├── chat_finish_reason_other_response.json
│   │   │   │       ├── chat_function_with_thought_signature_response.json
│   │   │   │       ├── chat_multiple_function_calls_response.json
│   │   │   │       ├── chat_one_function_response.json
│   │   │   │       ├── chat_one_response.json
│   │   │   │       ├── chat_stream_finish_reason_other_response.json
│   │   │   │       ├── chat_stream_response.json
│   │   │   │       ├── chat_text_with_thought_signature_response.json
│   │   │   │       ├── completion_one_response.json
│   │   │   │       ├── completion_stream_response.json
│   │   │   │       ├── counttokens_response.json
│   │   │   │       ├── embeddings_response.json
│   │   │   │       └── vertex_embeddings_response.json
│   │   │   ├── Connectors.HuggingFace/
│   │   │   │   ├── Connectors.HuggingFace.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   ├── HuggingFaceClient.cs
│   │   │   │   │   ├── HuggingFaceMessageApiClient.cs
│   │   │   │   │   └── Models/
│   │   │   │   │       ├── ChatCompletionRequest.cs
│   │   │   │   │       ├── ChatCompletionResponse.cs
│   │   │   │   │       ├── ChatCompletionStreamResponse.cs
│   │   │   │   │       ├── GeneratedTextItem.cs
│   │   │   │   │       ├── ImageToTextGenerationResponse.cs
│   │   │   │   │       ├── TextEmbeddingRequest.cs
│   │   │   │   │       ├── TextEmbeddingResponse.cs
│   │   │   │   │       ├── TextGenerationRequest.cs
│   │   │   │   │       ├── TextGenerationResponse.cs
│   │   │   │   │       └── TextGenerationStreamResponse.cs
│   │   │   │   ├── HuggingFaceKernelBuilderExtensions.cs
│   │   │   │   ├── HuggingFacePromptExecutionSettings.cs
│   │   │   │   ├── HuggingFaceServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   ├── HuggingFaceServiceCollectionExtensions.cs
│   │   │   │   ├── Models/
│   │   │   │   │   ├── HuggingFaceChatCompletionMetadata.cs
│   │   │   │   │   ├── HuggingFaceTextGenerationMetadata.cs
│   │   │   │   │   └── HuggingFaceTextGenerationStreamMetadata.cs
│   │   │   │   └── Services/
│   │   │   │       ├── HuggingFaceChatCompletionService.cs
│   │   │   │       ├── HuggingFaceEmbeddingGenerator.cs
│   │   │   │       ├── HuggingFaceImageToTextService.cs
│   │   │   │       ├── HuggingFaceTextEmbeddingGenerationService.cs
│   │   │   │       └── HuggingFaceTextGenerationService.cs
│   │   │   ├── Connectors.HuggingFace.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── Connectors.HuggingFace.UnitTests.csproj
│   │   │   │   ├── HttpMessageHandlerStub.cs
│   │   │   │   ├── HuggingFaceKernelBuilderExtensionsTests.cs
│   │   │   │   ├── HuggingFacePromptExecutionSettingsTests.cs
│   │   │   │   ├── HuggingFaceServiceCollectionExtensionsTests.cs
│   │   │   │   ├── HuggingFaceTestHelper.cs
│   │   │   │   ├── MultipleHttpMessageHandlerStub.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── HuggingFaceChatCompletionTests.cs
│   │   │   │   │   ├── HuggingFaceEmbeddingGenerationTests.cs
│   │   │   │   │   ├── HuggingFaceEmbeddingGeneratorTests.cs
│   │   │   │   │   ├── HuggingFaceImageToTextTests.cs
│   │   │   │   │   ├── HuggingFaceStreamingChatCompletionTests.cs
│   │   │   │   │   ├── HuggingFaceStreamingTextGenerationTests.cs
│   │   │   │   │   └── HuggingFaceTextGenerationTests.cs
│   │   │   │   ├── TestData/
│   │   │   │   │   ├── chatcompletion_test_response.json
│   │   │   │   │   ├── chatcompletion_test_stream_response.txt
│   │   │   │   │   ├── embeddings_test_response_feature_extraction.json
│   │   │   │   │   ├── embeddings_test_response_object.json
│   │   │   │   │   ├── imagetotext_test_response.json
│   │   │   │   │   ├── textgeneration_test_response.json
│   │   │   │   │   └── textgeneration_test_stream_response.txt
│   │   │   │   └── TextGeneration/
│   │   │   │       └── TextGenerationStreamResponseTests.cs
│   │   │   ├── Connectors.MistralAI/
│   │   │   │   ├── Client/
│   │   │   │   │   ├── ChatCompletionRequest.cs
│   │   │   │   │   ├── ChatCompletionResponse.cs
│   │   │   │   │   ├── ContentChunk.cs
│   │   │   │   │   ├── ContentChunkType.cs
│   │   │   │   │   ├── DocumentUrlChunk.cs
│   │   │   │   │   ├── ImageUrlChunk.cs
│   │   │   │   │   ├── MistralChatChoice.cs
│   │   │   │   │   ├── MistralChatCompletionChoice.cs
│   │   │   │   │   ├── MistralChatCompletionChunk.cs
│   │   │   │   │   ├── MistralChatMessage.cs
│   │   │   │   │   ├── MistralClient.cs
│   │   │   │   │   ├── MistralEmbedding.cs
│   │   │   │   │   ├── MistralFunction.cs
│   │   │   │   │   ├── MistralParameters.cs
│   │   │   │   │   ├── MistralResponseBase.cs
│   │   │   │   │   ├── MistralTool.cs
│   │   │   │   │   ├── MistralToolCall.cs
│   │   │   │   │   ├── MistralUsage.cs
│   │   │   │   │   ├── TextChunk.cs
│   │   │   │   │   ├── TextEmbeddingRequest.cs
│   │   │   │   │   └── TextEmbeddingResponse.cs
│   │   │   │   ├── Connectors.MistralAI.csproj
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── MistralAIKernelBuilderExtensions.cs
│   │   │   │   │   ├── MistralAIPluginCollectionExtensions.cs
│   │   │   │   │   ├── MistralAIServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   │   └── MistralAIServiceCollectionExtensions.cs
│   │   │   │   ├── MistralAIPromptExecutionSettings.cs
│   │   │   │   ├── MistralAIToolCallBehavior.cs
│   │   │   │   └── Services/
│   │   │   │       ├── MistralAIChatCompletionService.cs
│   │   │   │       ├── MistralAIEmbeddingGenerator.cs
│   │   │   │       └── MistralAITextEmbeddingGenerationService.cs
│   │   │   ├── Connectors.MistralAI.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── Client/
│   │   │   │   │   └── MistralClientTests.cs
│   │   │   │   ├── Connectors.MistralAI.UnitTests.csproj
│   │   │   │   ├── MistralAIExtensionTests.cs
│   │   │   │   ├── MistralAIPromptExecutionSettingsTests.cs
│   │   │   │   ├── MistralTestBase.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── MistralAIChatCompletionServiceTests.cs
│   │   │   │   │   ├── MistralAIEmbeddingGeneratorTests.cs
│   │   │   │   │   └── MistralAITextEmbeddingGenerationServiceTests.cs
│   │   │   │   └── TestData/
│   │   │   │       ├── chat_completions_function_call_none_response.json
│   │   │   │       ├── chat_completions_function_call_response.json
│   │   │   │       ├── chat_completions_function_called_response.json
│   │   │   │       ├── chat_completions_response.json
│   │   │   │       ├── chat_completions_response_with_document.json
│   │   │   │       ├── chat_completions_streaming_function_call_response.txt
│   │   │   │       ├── chat_completions_streaming_function_called_response.txt
│   │   │   │       ├── chat_completions_streaming_response.txt
│   │   │   │       ├── embeddings_response.json
│   │   │   │       └── function_call_response.json
│   │   │   ├── Connectors.Ollama/
│   │   │   │   ├── Connectors.Ollama.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   └── ServiceBase.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── OllamaKernelBuilderExtensions.cs
│   │   │   │   │   ├── OllamaServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   │   └── OllamaServiceCollectionExtensions.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── OllamaChatCompletionService.cs
│   │   │   │   │   ├── OllamaTextEmbeddingsGenerationService.cs
│   │   │   │   │   └── OllamaTextGenerationService.cs
│   │   │   │   └── Settings/
│   │   │   │       └── OllamaPromptExecutionSettings.cs
│   │   │   ├── Connectors.Ollama.UnitTests/
│   │   │   │   ├── Connectors.Ollama.UnitTests.csproj
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── OllamaKernelBuilderExtensionsChatClientTests.cs
│   │   │   │   │   ├── OllamaKernelBuilderExtensionsTests.cs
│   │   │   │   │   ├── OllamaServiceCollectionExtensionsChatClientTests.cs
│   │   │   │   │   └── OllamaServiceCollectionExtensionsTests.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── OllamaChatClientTests.cs
│   │   │   │   │   ├── OllamaChatCompletionTests.cs
│   │   │   │   │   ├── OllamaTextEmbeddingGenerationTests.cs
│   │   │   │   │   └── OllamaTextGenerationTests.cs
│   │   │   │   ├── Settings/
│   │   │   │   │   └── OllamaPromptExecutionSettingsTests.cs
│   │   │   │   └── TestData/
│   │   │   │       ├── chat_completion_function_call_response.txt
│   │   │   │       ├── chat_completion_multiple_function_calls_test_response.txt
│   │   │   │       ├── chat_completion_test_response.txt
│   │   │   │       ├── chat_completion_test_response_stream.txt
│   │   │   │       ├── embeddings_test_response.json
│   │   │   │       └── text_generation_test_response_stream.txt
│   │   │   ├── Connectors.Onnx/
│   │   │   │   ├── BertOnnxOptions.cs
│   │   │   │   ├── BertOnnxTextEmbeddingGenerationService.cs
│   │   │   │   ├── Connectors.Onnx.csproj
│   │   │   │   ├── OnnxKernelBuilderExtensions.ChatClient.cs
│   │   │   │   ├── OnnxKernelBuilderExtensions.cs
│   │   │   │   ├── OnnxRuntimeGenAIChatCompletionService.cs
│   │   │   │   ├── OnnxRuntimeGenAIPromptExecutionSettings.cs
│   │   │   │   ├── OnnxServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   ├── OnnxServiceCollectionExtensions.cs
│   │   │   │   ├── PoolingMode.cs
│   │   │   │   ├── Provider.cs
│   │   │   │   └── Text/
│   │   │   │       └── OnnxRuntimeGenAIPromptExecutionSettingsJsonSerializerContext.cs
│   │   │   ├── Connectors.Onnx.UnitTests/
│   │   │   │   ├── BertOnnxOptionsTests.cs
│   │   │   │   ├── Connectors.Onnx.UnitTests.csproj
│   │   │   │   ├── CustomPromptExecutionSettings.cs
│   │   │   │   ├── CustomPromptExecutionSettingsJsonSerializerContext.cs
│   │   │   │   ├── OnnxChatClientExtensionsTests.cs
│   │   │   │   ├── OnnxExtensionsTests.cs
│   │   │   │   ├── OnnxRuntimeGenAIChatCompletionServiceProvidersTests.cs
│   │   │   │   └── OnnxRuntimeGenAIPromptExecutionSettingsTests.cs
│   │   │   ├── Connectors.OpenAI/
│   │   │   │   ├── Connectors.OpenAI.csproj
│   │   │   │   ├── Core/
│   │   │   │   │   ├── ChatToolCallListJsonConverter.cs
│   │   │   │   │   ├── ClientCore.AudioToText.cs
│   │   │   │   │   ├── ClientCore.ChatCompletion.cs
│   │   │   │   │   ├── ClientCore.Embeddings.cs
│   │   │   │   │   ├── ClientCore.TextToAudio.cs
│   │   │   │   │   ├── ClientCore.TextToImage.cs
│   │   │   │   │   ├── ClientCore.cs
│   │   │   │   │   ├── OpenAIChatMessageContent.cs
│   │   │   │   │   ├── OpenAIFunction.cs
│   │   │   │   │   ├── OpenAIFunctionToolCall.cs
│   │   │   │   │   └── OpenAIStreamingChatMessageContent.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── ChatHistoryExtensions.cs
│   │   │   │   │   ├── OpenAIKernelBuilderExtensions.ChatClient.cs
│   │   │   │   │   ├── OpenAIKernelBuilderExtensions.cs
│   │   │   │   │   ├── OpenAIKernelFunctionMetadataExtensions.cs
│   │   │   │   │   ├── OpenAIMemoryBuilderExtensions.cs
│   │   │   │   │   ├── OpenAIPluginCollectionExtensions.cs
│   │   │   │   │   ├── OpenAIServiceCollectionExtensions.DependencyInjection.cs
│   │   │   │   │   └── OpenAIServiceCollectionExtensions.cs
│   │   │   │   ├── Helpers/
│   │   │   │   │   └── OpenAIChatResponseFormatBuilder.cs
│   │   │   │   ├── Models/
│   │   │   │   │   ├── OpenAIFilePurpose.cs
│   │   │   │   │   └── OpenAIFileReference.cs
│   │   │   │   ├── Services/
│   │   │   │   │   ├── OpenAIAudioToTextService.cs
│   │   │   │   │   ├── OpenAIChatCompletionService.cs
│   │   │   │   │   ├── OpenAIFileService.cs
│   │   │   │   │   ├── OpenAITextEmbeddingGenerationService.cs
│   │   │   │   │   ├── OpenAITextToAudioService.cs
│   │   │   │   │   └── OpenAITextToImageService.cs
│   │   │   │   ├── Settings/
│   │   │   │   │   ├── OpenAIAudioToTextExecutionSettings.cs
│   │   │   │   │   ├── OpenAIFileUploadExecutionSettings.cs
│   │   │   │   │   ├── OpenAIPromptExecutionSettings.cs
│   │   │   │   │   ├── OpenAITextToAudioExecutionSettings.cs
│   │   │   │   │   └── OpenAITextToImageExecutionSettings.cs
│   │   │   │   └── ToolCallBehavior.cs
│   │   │   └── Connectors.OpenAI.UnitTests/
│   │   │       ├── Connectors.OpenAI.UnitTests.csproj
│   │   │       ├── Core/
│   │   │       │   ├── AutoFunctionInvocationFilterChatClientTests.cs
│   │   │       │   ├── AutoFunctionInvocationFilterTests.cs
│   │   │       │   ├── ClientCoreTests.cs
│   │   │       │   ├── OpenAIChatMessageContentTests.cs
│   │   │       │   ├── OpenAIFunctionTests.cs
│   │   │       │   ├── OpenAIFunctionToolCallTests.cs
│   │   │       │   ├── OpenAIJsonSchemaTransformerTests.cs
│   │   │       │   └── OpenAIWithDataStreamingChatMessageContentTests.cs
│   │   │       ├── Extensions/
│   │   │       │   ├── ChatHistoryExtensionsTests.cs
│   │   │       │   ├── KernelBuilderExtensionsTests.cs
│   │   │       │   ├── KernelFunctionMetadataExtensionsTests.cs
│   │   │       │   ├── OpenAIKernelBuilderExtensionsChatClientTests.cs
│   │   │       │   ├── OpenAIPluginCollectionExtensionsTests.cs
│   │   │       │   ├── OpenAIServiceCollectionExtensionsChatClientTests.cs
│   │   │       │   └── ServiceCollectionExtensionsTests.cs
│   │   │       ├── Helpers/
│   │   │       │   └── OpenAIChatResponseFormatBuilderTests.cs
│   │   │       ├── KernelCore/
│   │   │       │   └── KernelTests.cs
│   │   │       ├── Services/
│   │   │       │   ├── OpenAIAudioToTextServiceTests.cs
│   │   │       │   ├── OpenAIChatCompletionServiceTests.cs
│   │   │       │   ├── OpenAIFileServiceTests.cs
│   │   │       │   ├── OpenAITextEmbeddingGenerationServiceTests.cs
│   │   │       │   ├── OpenAITextToAudioServiceTests.cs
│   │   │       │   └── OpenAITextToImageServiceTests.cs
│   │   │       ├── Settings/
│   │   │       │   ├── OpenAIAudioToTextExecutionSettingsTests.cs
│   │   │       │   ├── OpenAIPromptExecutionSettingsTests.cs
│   │   │       │   └── OpenAITextToAudioExecutionSettingsTests.cs
│   │   │       ├── TestData/
│   │   │       │   ├── chat_completion_invalid_streaming_test_response.txt
│   │   │       │   ├── chat_completion_multiple_function_calls_test_response.json
│   │   │       │   ├── chat_completion_refusal_test_response.json
│   │   │       │   ├── chat_completion_single_function_call_test_response.json
│   │   │       │   ├── chat_completion_streaming_chatclient_multiple_function_calls_test_response.txt
│   │   │       │   ├── chat_completion_streaming_multiple_function_calls_test_response.txt
│   │   │       │   ├── chat_completion_streaming_refusal_test_response.txt
│   │   │       │   ├── chat_completion_streaming_single_function_call_empty_assistance_response.txt
│   │   │       │   ├── chat_completion_streaming_single_function_call_test_response.txt
│   │   │       │   ├── chat_completion_streaming_test_response.txt
│   │   │       │   ├── chat_completion_test_response.json
│   │   │       │   ├── chat_completion_with_data_streaming_test_response.txt
│   │   │       │   ├── chat_completion_with_data_test_response.json
│   │   │       │   ├── filters_chatclient_multiple_function_calls_test_response.json
│   │   │       │   ├── filters_chatclient_streaming_multiple_function_calls_test_response.txt
│   │   │       │   ├── filters_multiple_function_calls_test_response.json
│   │   │       │   ├── filters_streaming_multiple_function_calls_test_response.txt
│   │   │       │   ├── text-embeddings-multiple-response.txt
│   │   │       │   ├── text-embeddings-response.txt
│   │   │       │   ├── text-to-image-b64_json-format-response.json
│   │   │       │   └── text-to-image-response.json
│   │   │       └── ToolCallBehaviorTests.cs
│   │   ├── Experimental/
│   │   │   ├── Agents/
│   │   │   │   └── README.md
│   │   │   ├── Orchestration.Flow/
│   │   │   │   ├── Abstractions/
│   │   │   │   │   ├── IFlowCatalog.cs
│   │   │   │   │   ├── IFlowExecutor.cs
│   │   │   │   │   ├── IFlowStatusProvider.cs
│   │   │   │   │   └── IFlowValidator.cs
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── EmbeddedResource.cs
│   │   │   │   ├── Execution/
│   │   │   │   │   ├── ChatHistorySerializer.cs
│   │   │   │   │   ├── Constants.cs
│   │   │   │   │   ├── ExecutionState.cs
│   │   │   │   │   ├── FlowExecutor.cs
│   │   │   │   │   ├── FlowStatusProvider.cs
│   │   │   │   │   ├── ReActEngine.cs
│   │   │   │   │   └── ReActStep.cs
│   │   │   │   ├── Experimental.Orchestration.Flow.csproj
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── ExceptionExtensions.cs
│   │   │   │   │   ├── FlowExtensions.cs
│   │   │   │   │   ├── FunctionResultExtensions.cs
│   │   │   │   │   ├── KernelArgumentsExtensions.cs
│   │   │   │   │   └── PromptTemplateConfigExtensions.cs
│   │   │   │   ├── FlowOrchestrator.cs
│   │   │   │   ├── FlowOrchestratorConfig.cs
│   │   │   │   ├── FlowSerializer.cs
│   │   │   │   ├── FlowValidator.cs
│   │   │   │   ├── Model/
│   │   │   │   │   ├── CompletionType.cs
│   │   │   │   │   ├── Flow.cs
│   │   │   │   │   ├── FlowStep.cs
│   │   │   │   │   └── ReferenceFlowStep.cs
│   │   │   │   └── Plugins/
│   │   │   │       ├── CheckRepeatStep.yaml
│   │   │   │       ├── CheckStartStep.yaml
│   │   │   │       ├── ReActEngine.gpt4.yaml
│   │   │   │       └── ReActEngine.yaml
│   │   │   ├── Orchestration.Flow.IntegrationTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── CollectEmailPlugin.cs
│   │   │   │   ├── Experimental.Orchestration.Flow.IntegrationTests.csproj
│   │   │   │   ├── FlowOrchestratorTests.cs
│   │   │   │   ├── README.md
│   │   │   │   ├── RedirectOutput.cs
│   │   │   │   ├── SendEmailPlugin.cs
│   │   │   │   ├── TestSettings/
│   │   │   │   │   ├── AzureOpenAIConfiguration.cs
│   │   │   │   │   └── OpenAIConfiguration.cs
│   │   │   │   └── testsettings.json
│   │   │   ├── Orchestration.Flow.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── ChatHistorySerializerTest.cs
│   │   │   │   ├── Experimental.Orchestration.Flow.UnitTests.csproj
│   │   │   │   ├── FlowExtensionsTests.cs
│   │   │   │   ├── FlowSerializerTests.cs
│   │   │   │   ├── FlowValidatorTests.cs
│   │   │   │   ├── TestData/
│   │   │   │   │   └── Flow/
│   │   │   │   │       ├── flow.json
│   │   │   │   │       └── flow.yml
│   │   │   │   └── XunitHelpers/
│   │   │   │       └── TestConsoleLogger.cs
│   │   │   ├── Process.Abstractions/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── IKernelExternalProcessMessageChannel.cs
│   │   │   │   ├── IKernelProcessMessageChannel.cs
│   │   │   │   ├── Internal/
│   │   │   │   │   └── KernelProcessStepMetadataFactory.cs
│   │   │   │   ├── KernelProcess.cs
│   │   │   │   ├── KernelProcessAgentExecutor.cs
│   │   │   │   ├── KernelProcessAgentStep.cs
│   │   │   │   ├── KernelProcessAgentThread.cs
│   │   │   │   ├── KernelProcessContext.cs
│   │   │   │   ├── KernelProcessDeclarativeConditionHandler.cs
│   │   │   │   ├── KernelProcessEdge.cs
│   │   │   │   ├── KernelProcessEdgeCondition.cs
│   │   │   │   ├── KernelProcessEdgeGroup.cs
│   │   │   │   ├── KernelProcessError.cs
│   │   │   │   ├── KernelProcessEvent.cs
│   │   │   │   ├── KernelProcessEventData.cs
│   │   │   │   ├── KernelProcessEventVisibility.cs
│   │   │   │   ├── KernelProcessFunctionTarget.cs
│   │   │   │   ├── KernelProcessMap.cs
│   │   │   │   ├── KernelProcessMapState.cs
│   │   │   │   ├── KernelProcessMessageSource.cs
│   │   │   │   ├── KernelProcessProxy.cs
│   │   │   │   ├── KernelProcessProxyMessage.cs
│   │   │   │   ├── KernelProcessState.cs
│   │   │   │   ├── KernelProcessStep.cs
│   │   │   │   ├── KernelProcessStepContext.cs
│   │   │   │   ├── KernelProcessStepExternalContext.cs
│   │   │   │   ├── KernelProcessStepInfo.cs
│   │   │   │   ├── KernelProcessStepMetadataAttribute.cs
│   │   │   │   ├── KernelProcessStepState.cs
│   │   │   │   ├── KernelProcessThreadLifetime.cs
│   │   │   │   ├── KernelProcessThreadType.cs
│   │   │   │   ├── KernelProxyStep.cs
│   │   │   │   ├── Models/
│   │   │   │   │   ├── KernelProcessMapStateMetadata.cs
│   │   │   │   │   ├── KernelProcessProxyEventMetadata.cs
│   │   │   │   │   ├── KernelProcessProxyStateMetadata.cs
│   │   │   │   │   ├── KernelProcessStateMetadata.cs
│   │   │   │   │   └── KernelProcessStepStateMetadata.cs
│   │   │   │   ├── Process.Abstractions.csproj
│   │   │   │   ├── ProcessAgentActions.cs
│   │   │   │   ├── ProcessTargetType.cs
│   │   │   │   └── Serialization/
│   │   │   │       └── Model/
│   │   │   │           └── Workflow.cs
│   │   │   ├── Process.Core/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── DeclarativeConditionContentWrapper.cs
│   │   │   │   ├── Internal/
│   │   │   │   │   ├── EndStep.cs
│   │   │   │   │   ├── KernelProcessStateMetadataExtension.cs
│   │   │   │   │   └── ProcessEventData.cs
│   │   │   │   ├── KernelProcessEdgeGroupBuilder.cs
│   │   │   │   ├── ListenForBuilder.cs
│   │   │   │   ├── ListenForTargetBuilder.cs
│   │   │   │   ├── MessageSourceBuilder.cs
│   │   │   │   ├── Process.Core.csproj
│   │   │   │   ├── ProcessAgentBuilder.cs
│   │   │   │   ├── ProcessBuilder.cs
│   │   │   │   ├── ProcessDefaultState.cs
│   │   │   │   ├── ProcessEdgeBuilder.cs
│   │   │   │   ├── ProcessFunctionTargetBuilder.cs
│   │   │   │   ├── ProcessMapBuilder.cs
│   │   │   │   ├── ProcessProxyBuilder.cs
│   │   │   │   ├── ProcessStepBuilder.cs
│   │   │   │   ├── ProcessStepEdgeBuilder.cs
│   │   │   │   ├── Tools/
│   │   │   │   │   ├── ProcessStepLoader.cs
│   │   │   │   │   └── ProcessVisualizationExtensions.cs
│   │   │   │   ├── Workflow/
│   │   │   │   │   └── WorkflowBuilder.cs
│   │   │   │   └── WorkflowSerializer.cs
│   │   │   ├── Process.IntegrationTestHost.Dapr/
│   │   │   │   ├── Contracts/
│   │   │   │   │   └── ProcessStartRequest.cs
│   │   │   │   ├── Controllers/
│   │   │   │   │   └── ProcessTestController.cs
│   │   │   │   ├── HealthActor.cs
│   │   │   │   ├── IHealthActor.cs
│   │   │   │   ├── Process.IntegrationTestHost.Dapr.csproj
│   │   │   │   ├── ProcessStateTypeResolver.cs
│   │   │   │   ├── Program.cs
│   │   │   │   └── appsettings.json
│   │   │   ├── Process.IntegrationTestRunner.Dapr/
│   │   │   │   ├── DaprTestProcessContext.cs
│   │   │   │   ├── Process.IntegrationTestRunner.Dapr.csproj
│   │   │   │   ├── ProcessTestFixture.cs
│   │   │   │   └── README.md
│   │   │   ├── Process.IntegrationTestRunner.Local/
│   │   │   │   ├── Process.IntegrationTestRunner.Local.csproj
│   │   │   │   └── ProcessTestFixture.cs
│   │   │   ├── Process.IntegrationTests.Resources/
│   │   │   │   ├── Process.IntegrationTests.Resources.csproj
│   │   │   │   ├── ProcessCloudEventsResources.cs
│   │   │   │   ├── ProcessCycleTestResources.cs
│   │   │   │   └── ProcessMapTestResources.cs
│   │   │   ├── Process.IntegrationTests.Shared/
│   │   │   │   ├── Process.IntegrationTests.Shared.csproj
│   │   │   │   ├── Process.IntegrationTests.Shared.props
│   │   │   │   ├── ProcessCloudEventsTests.cs
│   │   │   │   ├── ProcessCycleTests.cs
│   │   │   │   ├── ProcessMapTests.cs
│   │   │   │   ├── ProcessTestFixture.cs
│   │   │   │   ├── ProcessTests.cs
│   │   │   │   └── TestSettings/
│   │   │   │       ├── AzureOpenAIConfiguration.cs
│   │   │   │       ├── OpenAIConfiguration.cs
│   │   │   │       ├── ProcessTestGroup.cs
│   │   │   │       └── testsettings.json
│   │   │   ├── Process.LocalRuntime/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── LocalAgentStep.cs
│   │   │   │   ├── LocalEdgeGroupProcessor.cs
│   │   │   │   ├── LocalKernelProcessContext.cs
│   │   │   │   ├── LocalKernelProcessFactory.cs
│   │   │   │   ├── LocalMap.cs
│   │   │   │   ├── LocalProcess.cs
│   │   │   │   ├── LocalProxy.cs
│   │   │   │   ├── LocalStep.cs
│   │   │   │   └── Process.LocalRuntime.csproj
│   │   │   ├── Process.Runtime.Dapr/
│   │   │   │   ├── Actors/
│   │   │   │   │   ├── ActorStateKeys.cs
│   │   │   │   │   ├── EventBufferActor.cs
│   │   │   │   │   ├── ExternalEventBufferActor.cs
│   │   │   │   │   ├── ExternalMessageBufferActor.cs
│   │   │   │   │   ├── ExternalMessageBufferActorWrapper.cs
│   │   │   │   │   ├── MapActor.cs
│   │   │   │   │   ├── MessageBufferActor.cs
│   │   │   │   │   ├── ProcessActor.cs
│   │   │   │   │   ├── ProxyActor.cs
│   │   │   │   │   └── StepActor.cs
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── DaprKernelProcessContext.cs
│   │   │   │   ├── DaprKernelProcessFactory.cs
│   │   │   │   ├── DaprMapInfo.cs
│   │   │   │   ├── DaprProcessInfo.cs
│   │   │   │   ├── DaprProxyInfo.cs
│   │   │   │   ├── DaprStepInfo.cs
│   │   │   │   ├── Interfaces/
│   │   │   │   │   ├── IEventBuffer.cs
│   │   │   │   │   ├── IExternalEventBuffer.cs
│   │   │   │   │   ├── IExternalMessageBuffer.cs
│   │   │   │   │   ├── IMap.cs
│   │   │   │   │   ├── IMessageBuffer.cs
│   │   │   │   │   ├── IProcess.cs
│   │   │   │   │   ├── IProxy.cs
│   │   │   │   │   └── IStep.cs
│   │   │   │   ├── KernelProcessDaprExtensions.cs
│   │   │   │   ├── Process.Runtime.Dapr.csproj
│   │   │   │   └── Serialization/
│   │   │   │       ├── KernelProcessEventSerializer.cs
│   │   │   │       ├── ProcessEventSerializer.cs
│   │   │   │       ├── ProcessMessageSerializer.cs
│   │   │   │       ├── TypeContainers.cs
│   │   │   │       └── TypeInfo.cs
│   │   │   ├── Process.Runtime.Dapr.UnitTests/
│   │   │   │   ├── KernelProcessEventSerializationTests.cs
│   │   │   │   ├── Process.Runtime.Dapr.UnitTests.csproj
│   │   │   │   ├── ProcessEventSerializationTests.cs
│   │   │   │   ├── ProcessMessageSerializationTests.cs
│   │   │   │   └── TestSerializer.cs
│   │   │   ├── Process.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── Core/
│   │   │   │   │   ├── ProcessBuilderTests.cs
│   │   │   │   │   ├── ProcessEdgeBuilderTests.cs
│   │   │   │   │   ├── ProcessMapBuilderTests.cs
│   │   │   │   │   ├── ProcessProxyBuilderTests.cs
│   │   │   │   │   ├── ProcessStepBuilderTests.cs
│   │   │   │   │   └── ProcessStepEdgeBuilderTests.cs
│   │   │   │   ├── KernelProcessMapTests.cs
│   │   │   │   ├── KernelProcessProxyTests.cs
│   │   │   │   ├── KernelProcessSerializationTests.cs
│   │   │   │   ├── KernelProcessStateTests.cs
│   │   │   │   ├── Process.UnitTests.csproj
│   │   │   │   ├── Runtime.Local/
│   │   │   │   │   ├── LocalMapTests.cs
│   │   │   │   │   ├── LocalProcessTests.cs
│   │   │   │   │   └── LocalProxyTests.cs
│   │   │   │   └── Steps/
│   │   │   │       ├── AStep.cs
│   │   │   │       ├── BStep.cs
│   │   │   │       ├── CStep.cs
│   │   │   │       ├── CommonEvents.cs
│   │   │   │       ├── KickoffStep.cs
│   │   │   │       └── ProductInfoProvider.cs
│   │   │   └── Process.Utilities.UnitTests/
│   │   │       ├── CloneTests.cs
│   │   │       ├── Process.Utilities.UnitTests.csproj
│   │   │       └── ProcessTypeExtensionsTests.cs
│   │   ├── Extensions/
│   │   │   ├── Extensions.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── Extensions.UnitTests.csproj
│   │   │   │   ├── PromptTemplates/
│   │   │   │   │   └── Handlebars/
│   │   │   │   │       ├── HandlebarsPromptTemplateFactoryTests.cs
│   │   │   │   │       ├── HandlebarsPromptTemplateTestUtils.cs
│   │   │   │   │       ├── HandlebarsPromptTemplateTests.cs
│   │   │   │   │       └── Helpers/
│   │   │   │   │           ├── KernelFunctionHelpersTests.cs
│   │   │   │   │           ├── KernelHelperUtilsTests.cs
│   │   │   │   │           └── KernelSystemHelpersTests.cs
│   │   │   │   └── XunitHelpers/
│   │   │   │       └── TestConsoleLogger.cs
│   │   │   ├── PromptTemplates.Handlebars/
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── HandlebarsKernelExtensions.cs
│   │   │   │   ├── HandlebarsPromptTemplate.cs
│   │   │   │   ├── HandlebarsPromptTemplateFactory.cs
│   │   │   │   ├── HandlebarsPromptTemplateOptions.cs
│   │   │   │   ├── Helpers/
│   │   │   │   │   ├── KernelHelperUtils.cs
│   │   │   │   │   └── KernelHelpers/
│   │   │   │   │       ├── KernelFunctionHelpers.cs
│   │   │   │   │       └── KernelSystemHelpers.cs
│   │   │   │   └── PromptTemplates.Handlebars.csproj
│   │   │   ├── PromptTemplates.Liquid/
│   │   │   │   ├── LiquidPromptTemplate.cs
│   │   │   │   ├── LiquidPromptTemplateFactory.cs
│   │   │   │   └── PromptTemplates.Liquid.csproj
│   │   │   └── PromptTemplates.Liquid.UnitTests/
│   │   │       ├── LiquidTemplateFactoryTest.cs
│   │   │       ├── LiquidTemplateTest.cs
│   │   │       ├── PromptTemplates.Liquid.UnitTests.csproj
│   │   │       └── TestData/
│   │   │           └── chat.txt
│   │   ├── Functions/
│   │   │   ├── Functions.Grpc/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── GrpcKernelExtensions.cs
│   │   │   │   ├── Functions.Grpc.csproj
│   │   │   │   ├── GrpcOperationRunner.cs
│   │   │   │   ├── Model/
│   │   │   │   │   ├── GrpcOperation.cs
│   │   │   │   │   ├── GrpcOperationDataContractType.cs
│   │   │   │   │   └── GrpcOperationDataContractTypeFiled.cs
│   │   │   │   └── Protobuf/
│   │   │   │       └── ProtoDocumentParser.cs
│   │   │   ├── Functions.Markdown/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── Functions.Markdown.csproj
│   │   │   │   ├── KernelFunctionMarkdown.cs
│   │   │   │   └── MarkdownKernelExtensions.cs
│   │   │   ├── Functions.OpenApi/
│   │   │   │   ├── Authentication/
│   │   │   │   │   └── AuthenticateRequestAsyncCallback.cs
│   │   │   │   ├── CompatibilitySuppressions.xml
│   │   │   │   ├── DocumentLoader.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── OpenApiFunctionExecutionParameters.cs
│   │   │   │   │   ├── OpenApiKernelExtensions.cs
│   │   │   │   │   ├── OpenApiSchemaExtensions.cs
│   │   │   │   │   ├── RestApiOperationExtensions.cs
│   │   │   │   │   └── RestApiOperationResponseExtensions.cs
│   │   │   │   ├── Functions.OpenApi.csproj
│   │   │   │   ├── HttpContentFactory.cs
│   │   │   │   ├── HttpResponseContentReader.cs
│   │   │   │   ├── HttpResponseContentReaderContext.cs
│   │   │   │   ├── Model/
│   │   │   │   │   ├── RestApiExpectedResponse.cs
│   │   │   │   │   ├── RestApiInfo.cs
│   │   │   │   │   ├── RestApiOAuthFlow.cs
│   │   │   │   │   ├── RestApiOAuthFlows.cs
│   │   │   │   │   ├── RestApiOperation.cs
│   │   │   │   │   ├── RestApiOperationHeadersFactory.cs
│   │   │   │   │   ├── RestApiOperationPayloadFactory.cs
│   │   │   │   │   ├── RestApiOperationRunOptions.cs
│   │   │   │   │   ├── RestApiOperationUrlFactory.cs
│   │   │   │   │   ├── RestApiParameter.cs
│   │   │   │   │   ├── RestApiParameterLocation.cs
│   │   │   │   │   ├── RestApiParameterStyle.cs
│   │   │   │   │   ├── RestApiPayload.cs
│   │   │   │   │   ├── RestApiPayloadProperty.cs
│   │   │   │   │   ├── RestApiSecurityRequirement.cs
│   │   │   │   │   ├── RestApiSecurityScheme.cs
│   │   │   │   │   ├── RestApiServer.cs
│   │   │   │   │   ├── RestApiServerVariable.cs
│   │   │   │   │   └── RestApiSpecification.cs
│   │   │   │   ├── OpenApi/
│   │   │   │   │   ├── OpenApiDocumentParser.cs
│   │   │   │   │   ├── OpenApiDocumentParserOptions.cs
│   │   │   │   │   └── OperationSelectionPredicateContext.cs
│   │   │   │   ├── OpenApiKernelFunctionContext.cs
│   │   │   │   ├── OpenApiKernelPluginFactory.cs
│   │   │   │   ├── RestApiOperationResponseFactory.cs
│   │   │   │   ├── RestApiOperationResponseFactoryContext.cs
│   │   │   │   ├── RestApiOperationRunner.cs
│   │   │   │   ├── RestApiOperationServerUrlValidationOptions.cs
│   │   │   │   ├── RestApiParameterFilter.cs
│   │   │   │   ├── RestApiParameterFilterContext.cs
│   │   │   │   └── Serialization/
│   │   │   │       ├── ArrayParameterValueSerializer.cs
│   │   │   │       ├── FormStyleParameterSerializer.cs
│   │   │   │       ├── OpenApiTypeConverter.cs
│   │   │   │       ├── PipeDelimitedStyleParameterSerializer.cs
│   │   │   │       ├── SimpleStyleParameterSerializer.cs
│   │   │   │       └── SpaceDelimitedStyleParameterSerializer.cs
│   │   │   ├── Functions.OpenApi.Extensions/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── ApiManifestKernelExtensions.cs
│   │   │   │   │   ├── ApiManifestPluginParameters.cs
│   │   │   │   │   ├── CopilotAgentPluginKernelExtensions.cs
│   │   │   │   │   ├── CopilotAgentPluginParameters.cs
│   │   │   │   │   ├── DeclarativeAgentExtensions.cs
│   │   │   │   │   └── OperationIdNormalizationOpenApiVisitor.cs
│   │   │   │   └── Functions.OpenApi.Extensions.csproj
│   │   │   ├── Functions.Prompty/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── PromptyKernelExtensions.cs
│   │   │   │   ├── Functions.Prompty.csproj
│   │   │   │   └── KernelFunctionPrompty.cs
│   │   │   ├── Functions.Prompty.UnitTests/
│   │   │   │   ├── Functions.Prompty.UnitTests.csproj
│   │   │   │   ├── PromptyTests.cs
│   │   │   │   └── TestData/
│   │   │   │       ├── chat.prompty
│   │   │   │       ├── chatJsonObject.prompty
│   │   │   │       ├── chatNoExecutionSettings.prompty
│   │   │   │       ├── model.json
│   │   │   │       ├── relativeFileReference.prompty
│   │   │   │       └── schema.json
│   │   │   ├── Functions.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── Functions.UnitTests.csproj
│   │   │   │   ├── Grpc/
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   └── GrpcOperationExtensionsTests.cs
│   │   │   │   │   ├── GrpcRunnerTests.cs
│   │   │   │   │   └── Protobuf/
│   │   │   │   │       ├── ProtoDocumentParserV30Tests.cs
│   │   │   │   │       └── TestPlugins/
│   │   │   │   │           ├── ResourcePluginsProvider.cs
│   │   │   │   │           └── protoV3.proto
│   │   │   │   ├── OpenApi/
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   ├── CopilotAgentPluginKernelExtensionsTests.cs
│   │   │   │   │   │   ├── OpenApiKernelExtensionsTests.cs
│   │   │   │   │   │   ├── OpenApiSchemaExtensionsTests.cs
│   │   │   │   │   │   └── RestApiOperationExtensionsTests.cs
│   │   │   │   │   ├── HttpMessageHandlerStub.cs
│   │   │   │   │   ├── OpenApiDocumentParserExtensionsTests.cs
│   │   │   │   │   ├── OpenApiDocumentParserV20Tests.cs
│   │   │   │   │   ├── OpenApiDocumentParserV30FeatureTests.cs
│   │   │   │   │   ├── OpenApiDocumentParserV30Tests.cs
│   │   │   │   │   ├── OpenApiDocumentParserV31Tests.cs
│   │   │   │   │   ├── OpenApiKernelPluginFactoryFeatureTests.cs
│   │   │   │   │   ├── OpenApiKernelPluginFactoryTests.cs
│   │   │   │   │   ├── OpenApiTestHelper.cs
│   │   │   │   │   ├── OperationSelectionPredicateContextTests.cs
│   │   │   │   │   ├── RestApiOperationResponseConverterTests.cs
│   │   │   │   │   ├── RestApiOperationResponseTests.cs
│   │   │   │   │   ├── RestApiOperationRunnerTests.cs
│   │   │   │   │   ├── RestApiOperationTests.cs
│   │   │   │   │   ├── RestApiSecurityRequirementTests.cs
│   │   │   │   │   ├── Serialization/
│   │   │   │   │   │   ├── ArrayParameterSerializerTests.cs
│   │   │   │   │   │   ├── FormStyleParametersSerializerTests.cs
│   │   │   │   │   │   ├── OpenApiTypeConverterTests.cs
│   │   │   │   │   │   ├── PipeDelimitedStyleParametersSerializerTests.cs
│   │   │   │   │   │   ├── SimpleStyleParametersSerializerTests.cs
│   │   │   │   │   │   └── SpaceDelimitedStyleParametersSerializerTests.cs
│   │   │   │   │   ├── TestPlugins/
│   │   │   │   │   │   ├── ResourcePluginsProvider.cs
│   │   │   │   │   │   ├── ai-plugin.json
│   │   │   │   │   │   ├── ai-plugin2.json
│   │   │   │   │   │   ├── apikey-securityV3_0.json
│   │   │   │   │   │   ├── documentV2_0.json
│   │   │   │   │   │   ├── documentV3_0.json
│   │   │   │   │   │   ├── documentV3_1.yaml
│   │   │   │   │   │   ├── messages-apiplugin.json
│   │   │   │   │   │   ├── messages-openapi.yml
│   │   │   │   │   │   ├── multipart-form-data.json
│   │   │   │   │   │   ├── no-securityV3_0.json
│   │   │   │   │   │   ├── nonCompliant_documentV3_0.json
│   │   │   │   │   │   ├── oauth-securityV3_0.json
│   │   │   │   │   │   ├── openapi_feature_testsV3_0.json
│   │   │   │   │   │   └── repair-service.json
│   │   │   │   │   └── TestResponses/
│   │   │   │   │       ├── 200FakeResponseSchema.json
│   │   │   │   │       ├── 2XXFakeResponseSchema.json
│   │   │   │   │       ├── DefaultResponseSchema.json
│   │   │   │   │       ├── FakeResponseSchema.json
│   │   │   │   │       ├── InvalidProductContent.json
│   │   │   │   │       ├── NotProductContent.json
│   │   │   │   │       ├── ObjectResponseSchema.json
│   │   │   │   │       ├── ProductResponseSchema.json
│   │   │   │   │       ├── ResourceResponseProvider.cs
│   │   │   │   │       └── ValidProductContent.json
│   │   │   │   └── Yaml/
│   │   │   │       ├── Functions/
│   │   │   │       │   └── KernelFunctionYamlTests.cs
│   │   │   │       ├── Plugins/
│   │   │   │       │   └── CreateKernelPluginYamlTests.cs
│   │   │   │       └── PromptExecutionSettingsTypeConverterTests.cs
│   │   │   └── Functions.Yaml/
│   │   │       ├── Functions.Yaml.csproj
│   │   │       ├── KernelFunctionYaml.cs
│   │   │       ├── PromptExecutionSettingsTypeConverter.cs
│   │   │       └── PromptYamlKernelExtensions.cs
│   │   ├── IntegrationTests/
│   │   │   ├── .editorconfig
│   │   │   ├── Agents/
│   │   │   │   ├── AggregatorAgentTests.cs
│   │   │   │   ├── AzureAIAgentTests.cs
│   │   │   │   ├── BedrockAgentTests.cs
│   │   │   │   ├── ChatCompletionAgentTests.cs
│   │   │   │   ├── CommonInterfaceConformance/
│   │   │   │   │   ├── AgentFixture.cs
│   │   │   │   │   ├── AgentThreadConformance/
│   │   │   │   │   │   ├── AgentThreadTests.cs
│   │   │   │   │   │   ├── AzureAIAgentThreadTests.cs
│   │   │   │   │   │   ├── BedrockAgentThreadTests.cs
│   │   │   │   │   │   ├── ChatCompletionAgentThreadTests.cs
│   │   │   │   │   │   ├── OpenAIAssistantAgentThreadTests.cs
│   │   │   │   │   │   └── OpenAIResponseAgentThreadTests.cs
│   │   │   │   │   ├── AgentWithAIContextProviderConformance/
│   │   │   │   │   │   ├── AgentWithAIContextProviderTests.cs
│   │   │   │   │   │   ├── AzureAIAgentWithAIContextProviderTests.cs
│   │   │   │   │   │   ├── BedrockAgentWithAIContextProviderTests.cs
│   │   │   │   │   │   ├── ChatCompletionAgentWithAIContextProviderTests.cs
│   │   │   │   │   │   ├── OpenAIAssistantAgentWithAIContextProviderTests.cs
│   │   │   │   │   │   └── OpenAIResponseAgentWithAIContextProviderTests.cs
│   │   │   │   │   ├── AgentWithTextSearchProviderConformance/
│   │   │   │   │   │   ├── AgentWithTextSearchProvider.cs
│   │   │   │   │   │   ├── AzureAIAgentWithTextSearchProviderTests.cs
│   │   │   │   │   │   ├── ChatCompletionAgentWithTextSearchProviderTests.cs
│   │   │   │   │   │   └── OpenAIAssistantAgentWithTextSearchProviderTests.cs
│   │   │   │   │   ├── AzureAIAgentFixture.cs
│   │   │   │   │   ├── BedrockAgentFixture.cs
│   │   │   │   │   ├── ChatCompletionAgentFixture.cs
│   │   │   │   │   ├── InvokeConformance/
│   │   │   │   │   │   ├── AzureAIAgentInvokeTests.cs
│   │   │   │   │   │   ├── BedrockAgentInvokeTests.cs
│   │   │   │   │   │   ├── ChatCompletionAgentInvokeTests.cs
│   │   │   │   │   │   ├── InvokeTests.cs
│   │   │   │   │   │   ├── OpenAIAssistantAgentInvokeTests.cs
│   │   │   │   │   │   └── OpenAIResponseAgentInvokeTests.cs
│   │   │   │   │   ├── InvokeStreamingConformance/
│   │   │   │   │   │   ├── AzureAIAgentInvokeStreamingTests.cs
│   │   │   │   │   │   ├── ChatCompletionAgentInvokeStreamingTests.cs
│   │   │   │   │   │   ├── InvokeStreamingTests.cs
│   │   │   │   │   │   ├── OpenAIAssistantAgentInvokeStreamingTests.cs
│   │   │   │   │   │   └── OpenAIResponseAgentInvokeStreamingTests.cs
│   │   │   │   │   ├── MenuPlugin.cs
│   │   │   │   │   ├── OpenAIAssistantAgentFixture.cs
│   │   │   │   │   ├── OpenAIResponseAgentFixture.cs
│   │   │   │   │   └── SemanticKernelAIAgentConformance/
│   │   │   │   │       ├── AzureAIAgentAdapterTests.cs
│   │   │   │   │       ├── BedrockAgentAdapterTests.cs
│   │   │   │   │       ├── ChatCompletionAgentAdapterTests.cs
│   │   │   │   │       ├── OpenAIAssistantAgentAdapterTests.cs
│   │   │   │   │       ├── OpenAIResponseAgentAdapterTests.cs
│   │   │   │   │       └── SemanticKernelAIAgentTests.cs
│   │   │   │   ├── MixedAgentTests.cs
│   │   │   │   ├── OpenAIAssistantAgentTests.cs
│   │   │   │   └── OpenAIResponseAgentTests.cs
│   │   │   ├── BaseIntegrationTest.cs
│   │   │   ├── Connectors/
│   │   │   │   ├── Amazon/
│   │   │   │   │   └── Bedrock/
│   │   │   │   │       ├── BedrockChatClientTests.cs
│   │   │   │   │       ├── BedrockChatCompletionTests.cs
│   │   │   │   │       ├── BedrockTextEmbeddingTests.cs
│   │   │   │   │       └── BedrockTextGenerationTests.cs
│   │   │   │   ├── AzureAIInference/
│   │   │   │   │   ├── AzureAIInferenceChatClientTests.cs
│   │   │   │   │   ├── AzureAIInferenceChatCompletionServiceTests.cs
│   │   │   │   │   ├── AzureAIInferenceChatCompletion_FunctionCallingTests.cs
│   │   │   │   │   └── AzureAIInferenceEmbeddingGeneratorTests.cs
│   │   │   │   ├── AzureOpenAI/
│   │   │   │   │   ├── AzureOpenAIAudioToTextTests.cs
│   │   │   │   │   ├── AzureOpenAIChatClientTests.cs
│   │   │   │   │   ├── AzureOpenAIChatClient_AutoFunctionChoiceBehaviorTests.cs
│   │   │   │   │   ├── AzureOpenAIChatClient_NoneFunctionChoiceBehaviorTests.cs
│   │   │   │   │   ├── AzureOpenAIChatClient_RequiredFunctionChoiceBehaviorTests.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletionFunctionCallingTests.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletionNonStreamingTests.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletionStreamingTests.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletionTests.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletion_AutoFunctionChoiceBehaviorTests.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletion_NoneFunctionChoiceBehaviorTests.cs
│   │   │   │   │   ├── AzureOpenAIChatCompletion_RequiredFunctionChoiceBehaviorTests.cs
│   │   │   │   │   ├── AzureOpenAITextEmbeddingTests.cs
│   │   │   │   │   ├── AzureOpenAITextToAudioTests.cs
│   │   │   │   │   └── AzureOpenAITextToImageTests.cs
│   │   │   │   ├── Google/
│   │   │   │   │   ├── EmbeddingGenerationTests.cs
│   │   │   │   │   ├── EmbeddingGeneratorTests.cs
│   │   │   │   │   ├── Gemini/
│   │   │   │   │   │   ├── GeminiChatClientTests.cs
│   │   │   │   │   │   ├── GeminiChatCompletionTests.cs
│   │   │   │   │   │   ├── GeminiFunctionCallingChatClientTests.cs
│   │   │   │   │   │   ├── GeminiFunctionCallingTests.cs
│   │   │   │   │   │   ├── GeminiVertexAIChatClientTests.cs
│   │   │   │   │   │   └── GeminiVertexAIFunctionCallingChatClientTests.cs
│   │   │   │   │   └── TestsBase.cs
│   │   │   │   ├── HuggingFace/
│   │   │   │   │   ├── ChatCompletion/
│   │   │   │   │   │   └── HuggingFaceChatCompletionTests.cs
│   │   │   │   │   ├── EmbeddingGeneration/
│   │   │   │   │   │   └── EmbeddingGenerationTests.cs
│   │   │   │   │   ├── HuggingFaceTestsBase.cs
│   │   │   │   │   └── TextGeneration/
│   │   │   │   │       └── HuggingFaceTextGenerationTests.cs
│   │   │   │   ├── MistralAI/
│   │   │   │   │   ├── ChatCompletion/
│   │   │   │   │   │   └── MistralAIChatCompletionTests.cs
│   │   │   │   │   └── TextEmbedding/
│   │   │   │   │       ├── MistralAIEmbeddingGeneratorTests.cs
│   │   │   │   │       └── MistralAITextEmbeddingTests.cs
│   │   │   │   ├── Ollama/
│   │   │   │   │   ├── OllamaChatClientIntegrationTests.cs
│   │   │   │   │   ├── OllamaChatCompletion_FunctionCallingTests.cs
│   │   │   │   │   ├── OllamaCompletionTests.cs
│   │   │   │   │   ├── OllamaTextEmbeddingTests.cs
│   │   │   │   │   └── OllamaTextGenerationTests.cs
│   │   │   │   ├── Onnx/
│   │   │   │   │   ├── BertOnnxTextEmbeddingGenerationServiceTests.cs
│   │   │   │   │   ├── OnnxRuntimeGenAIChatClientTests.cs
│   │   │   │   │   └── OnnxRuntimeGenAIChatCompletionServiceTests.cs
│   │   │   │   └── OpenAI/
│   │   │   │       ├── OpenAIAudioToTextTests.cs
│   │   │   │       ├── OpenAIChatClientTests.cs
│   │   │   │       ├── OpenAIChatClient_AutoFunctionChoiceBehaviorTests.cs
│   │   │   │       ├── OpenAIChatClient_NoneFunctionChoiceBehaviorTests.cs
│   │   │   │       ├── OpenAIChatClient_RequiredFunctionChoiceBehaviorTests.cs
│   │   │   │       ├── OpenAIChatCompletionTests.cs
│   │   │   │       ├── OpenAIChatCompletion_AutoFunctionChoiceBehaviorTests.cs
│   │   │   │       ├── OpenAIChatCompletion_FunctionCallingTests.cs
│   │   │   │       ├── OpenAIChatCompletion_NonStreamingTests.cs
│   │   │   │       ├── OpenAIChatCompletion_NoneFunctionChoiceBehaviorTests.cs
│   │   │   │       ├── OpenAIChatCompletion_RequiredFunctionChoiceBehaviorTests.cs
│   │   │   │       ├── OpenAIChatCompletion_StreamingTests.cs
│   │   │   │       ├── OpenAIEmbeddingGeneratorTests.cs
│   │   │   │       ├── OpenAITextEmbeddingTests.cs
│   │   │   │       ├── OpenAITextToAudioTests.cs
│   │   │   │       └── OpenAITextToImageTests.cs
│   │   │   ├── CrossLanguage/
│   │   │   │   ├── Data/
│   │   │   │   │   ├── LightBulbApi.json
│   │   │   │   │   ├── LightBulbApiTest.json
│   │   │   │   │   ├── PromptWithChatRolesStreamingTest.json
│   │   │   │   │   ├── PromptWithChatRolesTest-HB.yaml
│   │   │   │   │   ├── PromptWithChatRolesTest.json
│   │   │   │   │   ├── PromptWithComplexObjectsStreamingTest.json
│   │   │   │   │   ├── PromptWithComplexObjectsTest.json
│   │   │   │   │   ├── PromptWithHelperFunctionsStreamingTest.json
│   │   │   │   │   ├── PromptWithHelperFunctionsTest.json
│   │   │   │   │   ├── PromptWithSimpleVariableStreamingTest.json
│   │   │   │   │   ├── PromptWithSimpleVariableTest.json
│   │   │   │   │   ├── PromptWithSimpleVariableTest.yaml
│   │   │   │   │   ├── SimplePromptStreamingTest.json
│   │   │   │   │   ├── SimplePromptTest.json
│   │   │   │   │   └── SimplePromptTest.yaml
│   │   │   │   ├── KernelRequestTracer.cs
│   │   │   │   ├── OpenApiTest.cs
│   │   │   │   ├── PromptWithChatRolesTest.cs
│   │   │   │   ├── PromptWithComplexObjectsTest.cs
│   │   │   │   ├── PromptWithHelperFunctionsTest.cs
│   │   │   │   ├── PromptWithSimpleVariableTest.cs
│   │   │   │   ├── SimplePromptTest.cs
│   │   │   │   └── YamlPromptTest.cs
│   │   │   ├── Data/
│   │   │   │   ├── BaseTextSearchTests.cs
│   │   │   │   ├── BaseVectorStoreTextSearchTests.cs
│   │   │   │   └── VectorStoreExtensions.cs
│   │   │   ├── Extensions/
│   │   │   │   └── KernelFunctionExtensionsTests.cs
│   │   │   ├── Fakes/
│   │   │   │   ├── EmailPluginFake.cs
│   │   │   │   └── ThrowingEmailPluginFake.cs
│   │   │   ├── IntegrationTests.csproj
│   │   │   ├── Memory/
│   │   │   │   ├── Mem0ProviderTests.cs
│   │   │   │   └── WhiteboardProviderTests.cs
│   │   │   ├── Plugins/
│   │   │   │   ├── ContextualFunctionProviderTests.cs
│   │   │   │   ├── Core/
│   │   │   │   │   └── SessionsPythonPluginTests.cs
│   │   │   │   ├── OpenApi/
│   │   │   │   │   ├── OpenApiPluginsTests.cs
│   │   │   │   │   ├── RepairServiceTests.cs
│   │   │   │   │   ├── instacart-service.yaml
│   │   │   │   │   └── repair-service.json
│   │   │   │   ├── OpenApiManifest/
│   │   │   │   │   ├── ApiManifestKernelExtensionsTests.cs
│   │   │   │   │   ├── example-apimanifest-local.json
│   │   │   │   │   ├── example-apimanifest-repair-service.json
│   │   │   │   │   └── example-apimanifest.json
│   │   │   │   ├── SamplePluginsTests.cs
│   │   │   │   └── Web/
│   │   │   │       ├── Bing/
│   │   │   │       │   └── BingTextSearchTests.cs
│   │   │   │       ├── Google/
│   │   │   │       │   └── GoogleTextSearchTests.cs
│   │   │   │       ├── Tavily/
│   │   │   │       │   └── TavilyTextSearchTests.cs
│   │   │   │       └── WebFileDownloadPluginTests.cs
│   │   │   ├── PromptTests.cs
│   │   │   ├── README.md
│   │   │   ├── RedirectOutput.cs
│   │   │   ├── Resources/
│   │   │   │   └── gemini_cached_content.json
│   │   │   ├── TestData/
│   │   │   │   ├── SessionsPythonPlugin/
│   │   │   │   │   ├── file_to_upload_1.txt
│   │   │   │   │   └── file_to_upload_2.txt
│   │   │   │   ├── semantic-kernel-info.txt
│   │   │   │   ├── serializedChatHistoryV1_15_1.json
│   │   │   │   └── test_content.txt
│   │   │   ├── TestHelpers.cs
│   │   │   ├── TestSettings/
│   │   │   │   ├── AzureAIConfiguration.cs
│   │   │   │   ├── AzureAIInferenceConfiguration.cs
│   │   │   │   ├── AzureContainerAppSessionPoolConfiguration.cs
│   │   │   │   ├── AzureOpenAIConfiguration.cs
│   │   │   │   ├── BedrockAgentConfiguration.cs
│   │   │   │   ├── BingConfiguration.cs
│   │   │   │   ├── GoogleConfiguration.cs
│   │   │   │   ├── Mem0Configuration.cs
│   │   │   │   ├── Memory/
│   │   │   │   │   ├── AzureAISearchConfiguration.cs
│   │   │   │   │   └── AzureAISearchSetup.psm1
│   │   │   │   ├── OllamaConfiguration.cs
│   │   │   │   ├── OnnxConfiguration.cs
│   │   │   │   ├── OpenAIConfiguration.cs
│   │   │   │   └── TavilyConfiguration.cs
│   │   │   ├── WebPlugin/
│   │   │   │   └── WebPluginTests.cs
│   │   │   ├── XunitLogger.cs
│   │   │   ├── prompts/
│   │   │   │   ├── GenerateStory.yaml
│   │   │   │   └── GenerateStoryHandlebars.yaml
│   │   │   ├── skills/
│   │   │   │   └── FunSkill/
│   │   │   │       └── Joke/
│   │   │   │           ├── config.json
│   │   │   │           └── skprompt.txt
│   │   │   └── testsettings.json
│   │   ├── InternalUtilities/
│   │   │   ├── agents/
│   │   │   │   ├── AgentUtilities.props
│   │   │   │   └── Extensions/
│   │   │   │       ├── AgentExtensions.cs
│   │   │   │       └── KernelFunctionMetadataExtensions.cs
│   │   │   ├── arguments/
│   │   │   │   └── Extensions/
│   │   │   │       └── KernelArgumentsExtensions.cs
│   │   │   ├── azure/
│   │   │   │   ├── AzureAIUtilities.props
│   │   │   │   ├── Policies/
│   │   │   │   │   └── GeneratedActionPipelinePolicy.cs
│   │   │   │   └── workflow/
│   │   │   │       ├── ClientOptions.cs
│   │   │   │       └── UriExtensions.cs
│   │   │   ├── connectors/
│   │   │   │   ├── AI/
│   │   │   │   │   └── FunctionCalling/
│   │   │   │   │       ├── FunctionCallingUtilities.props
│   │   │   │   │       ├── FunctionCallsProcessor.cs
│   │   │   │   │       └── FunctionCallsProcessorLoggerExtensions.cs
│   │   │   │   └── Memory/
│   │   │   │       └── MongoDB/
│   │   │   │           ├── BsonValueFactory.cs
│   │   │   │           ├── ErrorHandlingAsyncCursor.cs
│   │   │   │           ├── IMongoMapper.cs
│   │   │   │           ├── MongoConstants.cs
│   │   │   │           ├── MongoDynamicMapper.cs
│   │   │   │           ├── MongoMapper.cs
│   │   │   │           └── MongoModelBuilder.cs
│   │   │   ├── meai/
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── ChatMessageExtensions.cs
│   │   │   │   └── MEAIUtilities.props
│   │   │   ├── openai/
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── ClientResultExceptionExtensions.cs
│   │   │   │   ├── OpenAIUtilities.props
│   │   │   │   └── Policies/
│   │   │   │       └── GeneratedActionPipelinePolicy.cs
│   │   │   ├── planning/
│   │   │   │   ├── Exceptions/
│   │   │   │   │   └── PlanCreationException.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── ChatHistoryExtensions.cs
│   │   │   │   │   ├── KernelFunctionMetadataExtensions.cs
│   │   │   │   │   └── ReadOnlyFunctionCollectionPlannerExtensions.cs
│   │   │   │   ├── PlannerInstrumentation.cs
│   │   │   │   ├── PlannerOptions.cs
│   │   │   │   ├── PlanningUtilities.props
│   │   │   │   ├── Schema/
│   │   │   │   │   ├── JsonSchemaFunctionContent.cs
│   │   │   │   │   ├── JsonSchemaFunctionParameters.cs
│   │   │   │   │   ├── JsonSchemaFunctionResponse.cs
│   │   │   │   │   ├── JsonSchemaFunctionView.cs
│   │   │   │   │   └── JsonSchemaResponse.cs
│   │   │   │   └── SemanticMemoryConfig.cs
│   │   │   ├── process/
│   │   │   │   ├── Abstractions/
│   │   │   │   │   ├── DeclarativeConditionEvaluation.cs
│   │   │   │   │   ├── ExceptionExtensions.cs
│   │   │   │   │   ├── KernelProcessStateMetadataFactory.cs
│   │   │   │   │   ├── KernelProcessStepExtension.cs
│   │   │   │   │   ├── MapExtensions.cs
│   │   │   │   │   ├── ProcessConstants.cs
│   │   │   │   │   ├── ProcessExtensions.cs
│   │   │   │   │   ├── ProcessStateManager.cs
│   │   │   │   │   └── StepExtensions.cs
│   │   │   │   ├── InternalUtilities.props
│   │   │   │   ├── Runtime/
│   │   │   │   │   ├── AgentFactoryFactory.cs
│   │   │   │   │   ├── AgentThreadFactory.cs
│   │   │   │   │   ├── KernelProcessAgentExecutor_Internal.cs
│   │   │   │   │   ├── KernelProcessProxyMessageFactory.cs
│   │   │   │   │   ├── MapExtensions.cs
│   │   │   │   │   ├── ProcessEvent.cs
│   │   │   │   │   ├── ProcessMessage.cs
│   │   │   │   │   └── ProcessMessageFactory.cs
│   │   │   │   ├── RuntimeUtilities.props
│   │   │   │   ├── TestsShared/
│   │   │   │   │   ├── CloudEvents/
│   │   │   │   │   │   ├── MockCloudEventClient.cs
│   │   │   │   │   │   └── MockCloudEventData.cs
│   │   │   │   │   ├── Services/
│   │   │   │   │   │   ├── CounterService.cs
│   │   │   │   │   │   └── ICounterService.cs
│   │   │   │   │   ├── Setup/
│   │   │   │   │   │   └── KernelSetup.cs
│   │   │   │   │   └── Steps/
│   │   │   │   │       └── CommonSteps.cs
│   │   │   │   └── TestsSharedComponents.props
│   │   │   ├── samples/
│   │   │   │   ├── AgentUtilities/
│   │   │   │   │   ├── BaseAgentsTest.cs
│   │   │   │   │   ├── BaseAssistantTest.cs
│   │   │   │   │   ├── BaseAzureAgentTest.cs
│   │   │   │   │   ├── BaseAzureTest.cs
│   │   │   │   │   ├── BaseBedrockAgentTest.cs
│   │   │   │   │   ├── BaseOrchestrationTest.cs
│   │   │   │   │   └── BaseResponsesAgentTest.cs
│   │   │   │   ├── InternalUtilities/
│   │   │   │   │   ├── BaseTest.cs
│   │   │   │   │   ├── ConfigurationNotFoundException.cs
│   │   │   │   │   ├── EmbeddedResource.cs
│   │   │   │   │   ├── EnumerableExtensions.cs
│   │   │   │   │   ├── Env.cs
│   │   │   │   │   ├── JsonResultTranslator.cs
│   │   │   │   │   ├── ObjectExtensions.cs
│   │   │   │   │   ├── RepoFiles.cs
│   │   │   │   │   ├── StringExtensions.cs
│   │   │   │   │   ├── TestConfiguration.cs
│   │   │   │   │   ├── TextOutputHelperExtensions.cs
│   │   │   │   │   ├── XunitLogger.cs
│   │   │   │   │   └── YourAppException.cs
│   │   │   │   └── SamplesInternalUtilities.props
│   │   │   ├── src/
│   │   │   │   ├── Data/
│   │   │   │   │   └── VectorStoreErrorHandler.cs
│   │   │   │   ├── Diagnostics/
│   │   │   │   │   ├── ActivityExtensions.cs
│   │   │   │   │   ├── CompilerServicesAttributes.cs
│   │   │   │   │   ├── DynamicallyAccessedMembersAttribute.cs
│   │   │   │   │   ├── ExceptionExtensions.cs
│   │   │   │   │   ├── ExperimentalAttribute.cs
│   │   │   │   │   ├── IsExternalInit.cs
│   │   │   │   │   ├── KernelVerify.cs
│   │   │   │   │   ├── LoggingExtensions.cs
│   │   │   │   │   ├── ModelDiagnostics.cs
│   │   │   │   │   ├── NullableAttributes.cs
│   │   │   │   │   ├── RequiresDynamicCodeAttribute.cs
│   │   │   │   │   ├── RequiresUnreferencedCodeAttribute.cs
│   │   │   │   │   ├── Throw.cs
│   │   │   │   │   ├── UnconditionalSuppressMessageAttribute.cs
│   │   │   │   │   ├── UnreachableException.cs
│   │   │   │   │   └── Verify.cs
│   │   │   │   ├── EmptyCollections/
│   │   │   │   │   ├── EmptyReadonlyDictionary.cs
│   │   │   │   │   └── EmptyReadonlyList.cs
│   │   │   │   ├── Functions/
│   │   │   │   │   └── FunctionName.cs
│   │   │   │   ├── Http/
│   │   │   │   │   ├── HttpClientExtensions.cs
│   │   │   │   │   ├── HttpClientProvider.cs
│   │   │   │   │   ├── HttpContentExtensions.cs
│   │   │   │   │   ├── HttpContentPolyfills.cs
│   │   │   │   │   ├── HttpHeaderConstant.cs
│   │   │   │   │   ├── HttpRequest.cs
│   │   │   │   │   └── HttpResponseStream.cs
│   │   │   │   ├── InternalUtilities.props
│   │   │   │   ├── Linq/
│   │   │   │   │   └── EnumerableExtensions.cs
│   │   │   │   ├── Model/
│   │   │   │   │   └── Freezable.cs
│   │   │   │   ├── RestrictedInternalUtilities.props
│   │   │   │   ├── Schema/
│   │   │   │   │   └── KernelJsonSchemaBuilder.cs
│   │   │   │   ├── System/
│   │   │   │   │   ├── AppContextSwitchHelper.cs
│   │   │   │   │   ├── EmptyKeyedServiceProvider.cs
│   │   │   │   │   ├── EnvExtensions.cs
│   │   │   │   │   ├── IListExtensions.cs
│   │   │   │   │   ├── InternalTypeConverter.cs
│   │   │   │   │   ├── NonNullCollection.cs
│   │   │   │   │   ├── TypeConverterFactory.cs
│   │   │   │   │   └── ValueTaskExtensions.cs
│   │   │   │   ├── Text/
│   │   │   │   │   ├── BoolJsonConverter.cs
│   │   │   │   │   ├── DataUriParser.cs
│   │   │   │   │   ├── ExceptionJsonConverter.cs
│   │   │   │   │   ├── JsonOptionsCache.cs
│   │   │   │   │   ├── OptionalBoolJsonConverter.cs
│   │   │   │   │   ├── SseData.cs
│   │   │   │   │   ├── SseJsonParser.cs
│   │   │   │   │   ├── SseLine.cs
│   │   │   │   │   ├── SseReader.cs
│   │   │   │   │   └── StreamJsonParser.cs
│   │   │   │   └── Type/
│   │   │   │       └── TypeExtensions.cs
│   │   │   └── test/
│   │   │       ├── AssertExtensions.cs
│   │   │       ├── HttpMessageHandlerStub.cs
│   │   │       ├── MoqExtensions.cs
│   │   │       ├── MultipleHttpMessageHandlerStub.cs
│   │   │       └── TestInternalUtilities.props
│   │   ├── Plugins/
│   │   │   ├── Plugins.AI/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── CrewAI/
│   │   │   │   │   ├── Client/
│   │   │   │   │   │   ├── CrewAIEnterpriseClient.cs
│   │   │   │   │   │   └── CrewAIStateEnumConverter.cs
│   │   │   │   │   ├── CrewAIEnterprise.cs
│   │   │   │   │   ├── CrewAIInputMetadata.cs
│   │   │   │   │   └── Models/
│   │   │   │   │       ├── CrewAIKickoffResponse.cs
│   │   │   │   │       ├── CrewAIKickoffState.cs
│   │   │   │   │       ├── CrewAIRequiredInputs.cs
│   │   │   │   │       └── CrewAIStatusResponse.cs
│   │   │   │   └── Plugins.AI.csproj
│   │   │   ├── Plugins.AI.UnitTests/
│   │   │   │   ├── CrewAI/
│   │   │   │   │   ├── CrewAIEnterpriseClientTests.cs
│   │   │   │   │   ├── CrewAIEnterpriseTests.cs
│   │   │   │   │   └── MockHttpClientFactory.cs
│   │   │   │   └── Plugins.AI.UnitTests.csproj
│   │   │   ├── Plugins.Core/
│   │   │   │   ├── CodeInterpreter/
│   │   │   │   │   ├── SessionsPythonCodeExecutionProperties.cs
│   │   │   │   │   ├── SessionsPythonCodeExecutionResult.cs
│   │   │   │   │   ├── SessionsPythonPlugin.cs
│   │   │   │   │   ├── SessionsPythonSettings.cs
│   │   │   │   │   └── SessionsRemoteFileMetadata.cs
│   │   │   │   ├── ConversationSummaryPlugin.cs
│   │   │   │   ├── FileIOPlugin.cs
│   │   │   │   ├── HttpPlugin.cs
│   │   │   │   ├── Plugins.Core.csproj
│   │   │   │   ├── PromptFunctionConstants.cs
│   │   │   │   ├── TextPlugin.cs
│   │   │   │   └── TimePlugin.cs
│   │   │   ├── Plugins.Document/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── DocumentPlugin.cs
│   │   │   │   ├── FileSystem/
│   │   │   │   │   ├── IFileSystemConnector.cs
│   │   │   │   │   └── LocalFileSystemConnector.cs
│   │   │   │   ├── IDocumentConnector.cs
│   │   │   │   ├── OpenXml/
│   │   │   │   │   ├── Extensions/
│   │   │   │   │   │   └── WordprocessingDocumentEx.cs
│   │   │   │   │   └── WordDocumentConnector.cs
│   │   │   │   └── Plugins.Document.csproj
│   │   │   ├── Plugins.Memory/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── Collections/
│   │   │   │   │   ├── MinHeap.cs
│   │   │   │   │   ├── ScoredValue.cs
│   │   │   │   │   └── TopNCollection.cs
│   │   │   │   ├── Plugins.Memory.csproj
│   │   │   │   ├── TextMemoryPlugin.cs
│   │   │   │   └── VolatileMemoryStore.cs
│   │   │   ├── Plugins.MsGraph/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── CalendarPlugin.cs
│   │   │   │   ├── CloudDrivePlugin.cs
│   │   │   │   ├── Connectors/
│   │   │   │   │   ├── Client/
│   │   │   │   │   │   ├── MsGraphClientLoggingHandler.cs
│   │   │   │   │   │   └── MsGraphConfiguration.cs
│   │   │   │   │   ├── CredentialManagers/
│   │   │   │   │   │   └── LocalUserMSALCredentialManager.cs
│   │   │   │   │   ├── Diagnostics/
│   │   │   │   │   │   └── Ensure.cs
│   │   │   │   │   ├── MicrosoftGraphModelExtensions.cs
│   │   │   │   │   ├── MicrosoftToDoConnector.cs
│   │   │   │   │   ├── OneDriveConnector.cs
│   │   │   │   │   ├── OrganizationHierarchyConnector.cs
│   │   │   │   │   ├── OutlookCalendarConnector.cs
│   │   │   │   │   └── OutlookMailConnector.cs
│   │   │   │   ├── Diagnostics/
│   │   │   │   │   └── Ensure.cs
│   │   │   │   ├── EmailPlugin.cs
│   │   │   │   ├── ICalendarConnector.cs
│   │   │   │   ├── ICloudDriveConnector.cs
│   │   │   │   ├── IEmailConnector.cs
│   │   │   │   ├── IOrganizationHierarchyConnector.cs
│   │   │   │   ├── ITaskManagementConnector.cs
│   │   │   │   ├── Models/
│   │   │   │   │   ├── CalendarEvent.cs
│   │   │   │   │   ├── EmailAddress.cs
│   │   │   │   │   ├── EmailMessage.cs
│   │   │   │   │   ├── TaskManagementTask.cs
│   │   │   │   │   └── TaskManagementTaskList.cs
│   │   │   │   ├── OrganizationHierarchyPlugin.cs
│   │   │   │   ├── Plugins.MsGraph.csproj
│   │   │   │   └── TaskListPlugin.cs
│   │   │   ├── Plugins.StructuredData.EntityFramework/
│   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   ├── Plugins.StructuredData.EntityFramework.csproj
│   │   │   │   ├── StructuredDataOperation.cs
│   │   │   │   ├── StructuredDataPluginFactory.cs
│   │   │   │   ├── StructuredDataService.cs
│   │   │   │   └── StructuredDataServiceExtensions.cs
│   │   │   ├── Plugins.UnitTests/
│   │   │   │   ├── .editorconfig
│   │   │   │   ├── Core/
│   │   │   │   │   ├── FileIOPluginTests.cs
│   │   │   │   │   ├── HttpPluginTests.cs
│   │   │   │   │   ├── SessionsPythonCodeExecutionResultTests.cs
│   │   │   │   │   ├── SessionsPythonPluginTests.cs
│   │   │   │   │   ├── TextPluginTests.cs
│   │   │   │   │   └── TimePluginTests.cs
│   │   │   │   ├── Document/
│   │   │   │   │   └── DocumentPluginTests.cs
│   │   │   │   ├── Memory/
│   │   │   │   │   ├── MemoryBuilderTests.cs
│   │   │   │   │   └── VolatileMemoryStoreTests.cs
│   │   │   │   ├── MsGraph/
│   │   │   │   │   ├── CalendarPluginTests.cs
│   │   │   │   │   ├── CloudDrivePluginTests.cs
│   │   │   │   │   ├── EmailPluginTests.cs
│   │   │   │   │   ├── OrganizationHierarchyPluginTests.cs
│   │   │   │   │   └── TaskListPluginTests.cs
│   │   │   │   ├── Plugins.UnitTests.csproj
│   │   │   │   ├── StructuredData/
│   │   │   │   │   └── StructuredDataServiceTests.cs
│   │   │   │   ├── TestData/
│   │   │   │   │   ├── bing_site_filter_devblogs_microsoft.com.json
│   │   │   │   │   ├── bing_what_is_the_semantic_kernel.json
│   │   │   │   │   ├── brave_site_filter_what_is_the_semantic_kernel.json
│   │   │   │   │   ├── brave_what_is_the_semantic_kernel.json
│   │   │   │   │   ├── google_site_filter_devblogs_microsoft.com.json
│   │   │   │   │   ├── google_what_is_the_semantic_kernel.json
│   │   │   │   │   ├── sessions_python_plugin_code_execution.json
│   │   │   │   │   ├── sessions_python_plugin_file.txt
│   │   │   │   │   ├── sessions_python_plugin_file_list.json
│   │   │   │   │   ├── sessions_python_plugin_file_upload.json
│   │   │   │   │   ├── tavily_site_filter_devblogs_microsoft.com.json
│   │   │   │   │   └── tavily_what_is_the_semantic_kernel.json
│   │   │   │   └── Web/
│   │   │   │       ├── Bing/
│   │   │   │       │   └── BingTextSearchTests.cs
│   │   │   │       ├── Brave/
│   │   │   │       │   └── BraveTextSearchTests.cs
│   │   │   │       ├── Google/
│   │   │   │       │   └── GoogleTextSearchTests.cs
│   │   │   │       ├── SearchUrlSkillTests.cs
│   │   │   │       ├── Tavily/
│   │   │   │       │   └── TavilyTextSearchTests.cs
│   │   │   │       ├── WebFileDownloadPluginTests.cs
│   │   │   │       └── WebSearchEngineSkillTests.cs
│   │   │   └── Plugins.Web/
│   │   │       ├── AssemblyInfo.cs
│   │   │       ├── Bing/
│   │   │       │   ├── BingConnector.cs
│   │   │       │   ├── BingMetaTag.cs
│   │   │       │   ├── BingOpenGraphImage.cs
│   │   │       │   ├── BingSearchResponse.cs
│   │   │       │   ├── BingTextSearch.cs
│   │   │       │   ├── BingTextSearchOptions.cs
│   │   │       │   └── BingWebPage.cs
│   │   │       ├── Brave/
│   │   │       │   ├── BraveConnector.cs
│   │   │       │   ├── BraveSearchResponse.cs
│   │   │       │   ├── BraveTextSearch.cs
│   │   │       │   ├── BraveTextSearchOptions.cs
│   │   │       │   ├── BraveWebPage.cs
│   │   │       │   └── BraveWebResult.cs
│   │   │       ├── Google/
│   │   │       │   ├── GoogleConnector.cs
│   │   │       │   ├── GoogleTextSearch.cs
│   │   │       │   ├── GoogleTextSearchOptions.cs
│   │   │       │   └── GoogleWebPage.cs
│   │   │       ├── IWebSearchEngineConnector.cs
│   │   │       ├── Plugins.Web.csproj
│   │   │       ├── SearchUrlPlugin.cs
│   │   │       ├── Tavily/
│   │   │       │   ├── TavilyImageResult.cs
│   │   │       │   ├── TavilySearchDepth.cs
│   │   │       │   ├── TavilySearchRequest.cs
│   │   │       │   ├── TavilySearchResponse.cs
│   │   │       │   ├── TavilySearchResult.cs
│   │   │       │   ├── TavilyTextSearch.cs
│   │   │       │   ├── TavilyTextSearchOptions.cs
│   │   │       │   └── TavilyWebPage.cs
│   │   │       ├── WebFileDownloadPlugin.cs
│   │   │       ├── WebKernelBuilderExtensions.cs
│   │   │       ├── WebPage.cs
│   │   │       ├── WebSearchEnginePlugin.cs
│   │   │       └── WebServiceCollectionExtensions.cs
│   │   ├── SemanticKernel.Abstractions/
│   │   │   ├── AI/
│   │   │   │   ├── AudioToText/
│   │   │   │   │   ├── AudioToTextServiceExtensions.cs
│   │   │   │   │   └── IAudioToTextService.cs
│   │   │   │   ├── ChatClient/
│   │   │   │   │   ├── ChatClientAIService.cs
│   │   │   │   │   ├── ChatClientExtensions.cs
│   │   │   │   │   ├── ChatOptionsExtensions.cs
│   │   │   │   │   ├── ChatResponseUpdateExtensions.cs
│   │   │   │   │   ├── KernelChatOptions.cs
│   │   │   │   │   ├── KernelFunctionInvokingChatClient.cs
│   │   │   │   │   └── KernelFunctionInvokingChatClientBuilderExtensions.cs
│   │   │   │   ├── ChatCompletion/
│   │   │   │   │   ├── AIFunctionArgumentsExtensions.cs
│   │   │   │   │   ├── AIFunctionExtensions.cs
│   │   │   │   │   ├── AIFunctionKernelFunction.cs
│   │   │   │   │   ├── AuthorRole.cs
│   │   │   │   │   ├── ChatClientChatCompletionService.cs
│   │   │   │   │   ├── ChatCompletionServiceChatClient.cs
│   │   │   │   │   ├── ChatCompletionServiceExtensions.cs
│   │   │   │   │   ├── ChatHistory.cs
│   │   │   │   │   ├── ChatHistoryExtensions.cs
│   │   │   │   │   ├── ChatMessageContentItemCollection.cs
│   │   │   │   │   ├── ChatPromptParser.cs
│   │   │   │   │   ├── IChatCompletionService.cs
│   │   │   │   │   ├── IChatHistoryReducer.cs
│   │   │   │   │   └── StreamingKernelContentItemCollection.cs
│   │   │   │   ├── Embeddings/
│   │   │   │   │   ├── EmbeddingGenerationServiceExtensions.cs
│   │   │   │   │   ├── IEmbeddingGenerationService.cs
│   │   │   │   │   └── ITextEmbeddingGenerationService.cs
│   │   │   │   ├── FunctionChoiceBehaviors/
│   │   │   │   │   ├── AutoFunctionChoiceBehavior.cs
│   │   │   │   │   ├── FunctionChoice.cs
│   │   │   │   │   ├── FunctionChoiceBehavior.cs
│   │   │   │   │   ├── FunctionChoiceBehaviorConfiguration.cs
│   │   │   │   │   ├── FunctionChoiceBehaviorConfigurationContext.cs
│   │   │   │   │   ├── FunctionChoiceBehaviorOptions.cs
│   │   │   │   │   ├── NoneFunctionChoiceBehavior.cs
│   │   │   │   │   └── RequiredFunctionChoiceBehavior.cs
│   │   │   │   ├── ImageToText/
│   │   │   │   │   ├── IImageToTextService.cs
│   │   │   │   │   └── ImageToTextExtensions.cs
│   │   │   │   ├── PromptExecutionSettings.cs
│   │   │   │   ├── PromptExecutionSettingsExtensions.cs
│   │   │   │   ├── PromptNode.cs
│   │   │   │   ├── TextGeneration/
│   │   │   │   │   ├── ITextGenerationService.cs
│   │   │   │   │   └── TextGenerationExtensions.cs
│   │   │   │   ├── TextToAudio/
│   │   │   │   │   ├── ITextToAudioService.cs
│   │   │   │   │   └── TextToAudioServiceExtensions.cs
│   │   │   │   ├── TextToImage/
│   │   │   │   │   ├── ITextToImageService.cs
│   │   │   │   │   └── TextToImageServiceExtensions.cs
│   │   │   │   └── XmlPromptParser.cs
│   │   │   ├── AbstractionsJsonContext.cs
│   │   │   ├── Contents/
│   │   │   │   ├── ActionContent.cs
│   │   │   │   ├── AnnotationContent.cs
│   │   │   │   ├── AnnotationKind.cs
│   │   │   │   ├── AudioContent.cs
│   │   │   │   ├── BinaryContent.cs
│   │   │   │   ├── ChatMessageContent.cs
│   │   │   │   ├── ChatMessageContentExtensions.cs
│   │   │   │   ├── FileReferenceContent.cs
│   │   │   │   ├── FunctionCallContent.cs
│   │   │   │   ├── FunctionCallContentBuilder.cs
│   │   │   │   ├── FunctionResultContent.cs
│   │   │   │   ├── ImageContent.cs
│   │   │   │   ├── KernelContent.cs
│   │   │   │   ├── ReasoningContent.cs
│   │   │   │   ├── StreamingActionContent.cs
│   │   │   │   ├── StreamingAnnotationContent.cs
│   │   │   │   ├── StreamingChatMessageContent.cs
│   │   │   │   ├── StreamingChatMessageContentExtensions.cs
│   │   │   │   ├── StreamingFileReferenceContent.cs
│   │   │   │   ├── StreamingFunctionCallUpdateContent.cs
│   │   │   │   ├── StreamingKernelContent.cs
│   │   │   │   ├── StreamingReasoningContent.cs
│   │   │   │   ├── StreamingTextContent.cs
│   │   │   │   └── TextContent.cs
│   │   │   ├── Data/
│   │   │   │   └── TextSearch/
│   │   │   │       ├── ITextSearch.cs
│   │   │   │       ├── ITextSearchResultMapper.cs
│   │   │   │       ├── ITextSearchStringMapper.cs
│   │   │   │       ├── KernelSearchResults.cs
│   │   │   │       ├── TextSearchFilter.cs
│   │   │   │       ├── TextSearchOptions.cs
│   │   │   │       ├── TextSearchResult.cs
│   │   │   │       ├── TextSearchResultLinkAttribute.cs
│   │   │   │       ├── TextSearchResultNameAttribute.cs
│   │   │   │       └── TextSearchResultValueAttribute.cs
│   │   │   ├── Events/
│   │   │   │   ├── CancelKernelEventArgs.cs
│   │   │   │   ├── FunctionInvokedEventArgs.cs
│   │   │   │   ├── FunctionInvokingEventArgs.cs
│   │   │   │   ├── KernelEventArgs.cs
│   │   │   │   ├── PromptRenderedEventArgs.cs
│   │   │   │   └── PromptRenderingEventArgs.cs
│   │   │   ├── Filters/
│   │   │   │   ├── AutoFunctionInvocation/
│   │   │   │   │   ├── AutoFunctionInvocationContext.cs
│   │   │   │   │   └── IAutoFunctionInvocationFilter.cs
│   │   │   │   ├── Function/
│   │   │   │   │   ├── FunctionInvocationContext.cs
│   │   │   │   │   └── IFunctionInvocationFilter.cs
│   │   │   │   └── Prompt/
│   │   │   │       ├── IPromptRenderFilter.cs
│   │   │   │       └── PromptRenderContext.cs
│   │   │   ├── Functions/
│   │   │   │   ├── FromKernelServicesAttribute.cs
│   │   │   │   ├── FullyQualifiedAIFunction.cs
│   │   │   │   ├── FunctionResult.cs
│   │   │   │   ├── IReadOnlyKernelPluginCollection.cs
│   │   │   │   ├── KernelArguments.cs
│   │   │   │   ├── KernelFunction.cs
│   │   │   │   ├── KernelFunctionAttribute.cs
│   │   │   │   ├── KernelFunctionCanceledException.cs
│   │   │   │   ├── KernelFunctionExtensions.cs
│   │   │   │   ├── KernelFunctionLogMessages.cs
│   │   │   │   ├── KernelFunctionMetadata.cs
│   │   │   │   ├── KernelFunctionNoop.cs
│   │   │   │   ├── KernelFunctionSchemaModel.cs
│   │   │   │   ├── KernelJsonSchema.cs
│   │   │   │   ├── KernelParameterMetadata.cs
│   │   │   │   ├── KernelPlugin.cs
│   │   │   │   ├── KernelPluginCollection.cs
│   │   │   │   ├── KernelPluginExtensions.cs
│   │   │   │   ├── KernelReturnParameterMetadata.cs
│   │   │   │   ├── RestApiOperationResponse.cs
│   │   │   │   └── RestApiOperationResponseConverter.cs
│   │   │   ├── Http/
│   │   │   │   └── HttpOperationException.cs
│   │   │   ├── IKernelBuilder.cs
│   │   │   ├── Kernel.cs
│   │   │   ├── KernelBuilder.cs
│   │   │   ├── KernelException.cs
│   │   │   ├── Memory/
│   │   │   │   ├── AIContext.cs
│   │   │   │   ├── AIContextProvider.cs
│   │   │   │   ├── AggregateAIContextProvider.cs
│   │   │   │   ├── AggregateAIContextProviderExtensions.cs
│   │   │   │   ├── DataEntryBase.cs
│   │   │   │   ├── IMemoryStore.cs
│   │   │   │   ├── ISemanticTextMemory.cs
│   │   │   │   ├── MemoryQueryResult.cs
│   │   │   │   ├── MemoryRecord.cs
│   │   │   │   ├── MemoryRecordMetadata.cs
│   │   │   │   └── NullMemory.cs
│   │   │   ├── PromptTemplate/
│   │   │   │   ├── IPromptTemplate.cs
│   │   │   │   ├── IPromptTemplateFactory.cs
│   │   │   │   ├── InputVariable.cs
│   │   │   │   ├── OutputVariable.cs
│   │   │   │   ├── PromptTemplateConfig.cs
│   │   │   │   ├── PromptTemplateFactoryExtensions.cs
│   │   │   │   └── TemplateOptions.cs
│   │   │   ├── SemanticKernel.Abstractions.csproj
│   │   │   ├── Services/
│   │   │   │   ├── AIServiceExtensions.cs
│   │   │   │   ├── EmptyServiceProvider.cs
│   │   │   │   ├── IAIService.cs
│   │   │   │   ├── IAIServiceSelector.cs
│   │   │   │   ├── IChatClientSelector.cs
│   │   │   │   ├── KernelServiceCollectionExtensions.cs
│   │   │   │   └── OrderedAIServiceSelector.cs
│   │   │   └── Text/
│   │   │       ├── JsonElementJsonSerializerContext.cs
│   │   │       └── MemoryRecordMetadataJsonSerializerContext.cs
│   │   ├── SemanticKernel.AotTests/
│   │   │   ├── JsonSerializerContexts/
│   │   │   │   ├── CustomResultJsonSerializerContext.cs
│   │   │   │   ├── LocationJsonSerializerContext.cs
│   │   │   │   └── WeatherJsonSerializerContext.cs
│   │   │   ├── Plugins/
│   │   │   │   ├── CustomResult.cs
│   │   │   │   ├── Location.cs
│   │   │   │   ├── Weather.cs
│   │   │   │   └── WeatherPlugin.cs
│   │   │   ├── Program.cs
│   │   │   ├── README.md
│   │   │   ├── SemanticKernel.AotTests.csproj
│   │   │   └── UnitTests/
│   │   │       ├── Core/
│   │   │       │   ├── Functions/
│   │   │       │   │   ├── KernelExtensions_InvokePromptTests.cs
│   │   │       │   │   ├── KernelExtensions_KernelFunctionTests.cs
│   │   │       │   │   ├── KernelFunctionFactoryTests.cs
│   │   │       │   │   ├── KernelFunctionFromMethodTests.cs
│   │   │       │   │   └── KernelFunctionMetadataFactoryTests.cs
│   │   │       │   ├── GetWeatherFunctionAsserts.cs
│   │   │       │   └── Plugins/
│   │   │       │       ├── KernelBuilderPluginsExtensionsTests.cs
│   │   │       │       ├── KernelExtensions_KernelPluginTests.cs
│   │   │       │       ├── KernelPluginExtensionsTests.cs
│   │   │       │       └── KernelPluginFactoryTests.cs
│   │   │       ├── PromptEchoChatCompletionService.cs
│   │   │       └── Search/
│   │   │           ├── MockTextSearch.cs
│   │   │           ├── MockVectorizableTextSearch.cs
│   │   │           ├── TextSearchExtensionsTests.cs
│   │   │           └── VectorStoreTextSearchTests.cs
│   │   ├── SemanticKernel.Core/
│   │   │   ├── AI/
│   │   │   │   └── ChatCompletion/
│   │   │   │       ├── ChatHistoryReducerExtensions.cs
│   │   │   │       ├── ChatHistorySummarizationReducer.cs
│   │   │   │       └── ChatHistoryTruncationReducer.cs
│   │   │   ├── Contents/
│   │   │   │   ├── BinaryContentExtensions.cs
│   │   │   │   └── StreamingMethodContent.cs
│   │   │   ├── Data/
│   │   │   │   ├── TextSearch/
│   │   │   │   │   ├── TextSearchExtensions.cs
│   │   │   │   │   ├── TextSearchKernelBuilderExtensions.cs
│   │   │   │   │   ├── TextSearchResultPropertyReader.cs
│   │   │   │   │   ├── TextSearchServiceCollectionExtensions.cs
│   │   │   │   │   ├── VectorStoreTextSearch.cs
│   │   │   │   │   └── VectorStoreTextSearchOptions.cs
│   │   │   │   ├── TextSearchBehavior/
│   │   │   │   │   ├── TextSearchProvider.cs
│   │   │   │   │   └── TextSearchProviderOptions.cs
│   │   │   │   └── TextSearchStore/
│   │   │   │       ├── TextSearchDocument.cs
│   │   │   │       ├── TextSearchStore.cs
│   │   │   │       ├── TextSearchStoreOptions.cs
│   │   │   │       ├── TextSearchStoreSourceRetrievalRequest.cs
│   │   │   │       ├── TextSearchStoreSourceRetrievalResponse.cs
│   │   │   │       └── TextSearchStoreUpsertOptions.cs
│   │   │   ├── Functions/
│   │   │   │   ├── ContextualSelection/
│   │   │   │   │   ├── ContextualFunctionProvider.cs
│   │   │   │   │   ├── ContextualFunctionProviderOptions.cs
│   │   │   │   │   ├── FunctionStore.cs
│   │   │   │   │   ├── FunctionStoreLoggingExtensions.cs
│   │   │   │   │   └── FunctionStoreOptions.cs
│   │   │   │   ├── DefaultKernelPlugin.cs
│   │   │   │   ├── KernelFunctionFactory.cs
│   │   │   │   ├── KernelFunctionFromMethod.cs
│   │   │   │   ├── KernelFunctionFromMethodOptions.cs
│   │   │   │   ├── KernelFunctionFromPrompt.cs
│   │   │   │   ├── KernelFunctionMetadataFactory.cs
│   │   │   │   ├── KernelPluginFactory.cs
│   │   │   │   └── PromptRenderingResult.cs
│   │   │   ├── KernelExtensions.cs
│   │   │   ├── Memory/
│   │   │   │   ├── AIContextExtensions.cs
│   │   │   │   ├── Mem0/
│   │   │   │   │   ├── Mem0Client.cs
│   │   │   │   │   ├── Mem0Provider.cs
│   │   │   │   │   └── Mem0ProviderOptions.cs
│   │   │   │   ├── MemoryBuilder.cs
│   │   │   │   ├── SemanticTextMemory.cs
│   │   │   │   └── Whiteboard/
│   │   │   │       ├── WhiteboardProvider.cs
│   │   │   │       └── WhiteboardProviderOptions.cs
│   │   │   ├── PromptTemplate/
│   │   │   │   ├── AggregatorPromptTemplateFactory.cs
│   │   │   │   ├── EchoPromptTemplate.cs
│   │   │   │   ├── EchoPromptTemplateFactory.cs
│   │   │   │   ├── KernelPromptTemplate.cs
│   │   │   │   └── KernelPromptTemplateFactory.cs
│   │   │   ├── SemanticKernel.Core.csproj
│   │   │   ├── TemplateEngine/
│   │   │   │   ├── Blocks/
│   │   │   │   │   ├── Block.cs
│   │   │   │   │   ├── BlockTypes.cs
│   │   │   │   │   ├── CodeBlock.cs
│   │   │   │   │   ├── FunctionIdBlock.cs
│   │   │   │   │   ├── ICodeRendering.cs
│   │   │   │   │   ├── ITextRendering.cs
│   │   │   │   │   ├── NamedArgBlock.cs
│   │   │   │   │   ├── Symbols.cs
│   │   │   │   │   ├── TextBlock.cs
│   │   │   │   │   ├── ValBlock.cs
│   │   │   │   │   └── VarBlock.cs
│   │   │   │   ├── CodeTokenizer.cs
│   │   │   │   └── TemplateTokenizer.cs
│   │   │   └── Text/
│   │   │       └── TextChunker.cs
│   │   ├── SemanticKernel.MetaPackage/
│   │   │   └── SemanticKernel.MetaPackage.csproj
│   │   ├── SemanticKernel.UnitTests/
│   │   │   ├── .editorconfig
│   │   │   ├── AI/
│   │   │   │   ├── ChatCompletion/
│   │   │   │   │   ├── AIFunctionKernelFunctionTests.cs
│   │   │   │   │   ├── ChatClientChatCompletionServiceConversionTests.cs
│   │   │   │   │   ├── ChatHistoryReducerExtensionsTests.cs
│   │   │   │   │   ├── ChatHistorySummarizationReducerTests.cs
│   │   │   │   │   ├── ChatHistoryTests.cs
│   │   │   │   │   ├── ChatHistoryTruncationReducerTests.cs
│   │   │   │   │   ├── MockChatHistoryGenerator.cs
│   │   │   │   │   └── StreamingKernelContentItemCollectionTests.cs
│   │   │   │   ├── FunctionChoiceBehaviors/
│   │   │   │   │   ├── AutoFunctionChoiceBehaviorTests.cs
│   │   │   │   │   ├── FunctionChoiceBehaviorDeserializationTests.cs
│   │   │   │   │   ├── FunctionChoiceBehaviorTests.cs
│   │   │   │   │   ├── FunctionChoiceTests.cs
│   │   │   │   │   ├── NoneFunctionChoiceBehaviorTests.cs
│   │   │   │   │   └── RequiredFunctionChoiceBehaviorTests.cs
│   │   │   │   ├── PromptExecutionSettingsTests.cs
│   │   │   │   └── ServiceConversionExtensionsTests.cs
│   │   │   ├── Contents/
│   │   │   │   ├── ActionContentTests.cs
│   │   │   │   ├── AnnotationContentTests.cs
│   │   │   │   ├── AudioContentTests.cs
│   │   │   │   ├── BinaryContentTests.cs
│   │   │   │   ├── ChatMessageContentTests.cs
│   │   │   │   ├── FileReferenceContentTests.cs
│   │   │   │   ├── FunctionCallBuilder/
│   │   │   │   │   ├── FunctionCallContentBuilderTests.cs
│   │   │   │   │   └── KernelArgumentsJsonSerializerContext.cs
│   │   │   │   ├── FunctionCallContentTests.cs
│   │   │   │   ├── FunctionResultContentTests.cs
│   │   │   │   ├── ImageContentTests.cs
│   │   │   │   ├── ReasoningContentTests.cs
│   │   │   │   ├── StreamingAnnotationContentTests.cs
│   │   │   │   ├── StreamingChatMessageContentTests.cs
│   │   │   │   └── StreamingFileReferenceContentTests.cs
│   │   │   ├── Data/
│   │   │   │   ├── MockTextSearch.cs
│   │   │   │   ├── TextSearchExtensionsTests.cs
│   │   │   │   ├── TextSearchProviderTests.cs
│   │   │   │   ├── TextSearchServiceCollectionExtensionsTests.cs
│   │   │   │   ├── TextSearchStoreTests.cs
│   │   │   │   ├── VectorStoreTextSearchTestBase.cs
│   │   │   │   └── VectorStoreTextSearchTests.cs
│   │   │   ├── Events/
│   │   │   │   └── FunctionInvokedEventArgsTests.cs
│   │   │   ├── Extensions/
│   │   │   │   ├── ChatMessageExtensionsTests.cs
│   │   │   │   └── ClientResultExceptionExtensionsTests.cs
│   │   │   ├── Filters/
│   │   │   │   ├── AutoFunctionInvocation/
│   │   │   │   │   └── AutoFunctionInvocationContextTests.cs
│   │   │   │   ├── FilterBaseTest.cs
│   │   │   │   ├── FunctionInvocationFilterTests.cs
│   │   │   │   ├── KernelFilterTests.cs
│   │   │   │   └── PromptRenderFilterTests.cs
│   │   │   ├── Functions/
│   │   │   │   ├── AIFunctionExtensionsTests.cs
│   │   │   │   ├── ContextualSelection/
│   │   │   │   │   ├── ContextualFunctionProviderTests.cs
│   │   │   │   │   └── FunctionStoreTests.cs
│   │   │   │   ├── CustomAIChatClientSelectorTests.cs
│   │   │   │   ├── CustomAIServiceSelectorTests.cs
│   │   │   │   ├── DefaultKernelPluginTests.cs
│   │   │   │   ├── FunctionFromMethodTests.cs
│   │   │   │   ├── FunctionResultTests.cs
│   │   │   │   ├── JsonSerializerContexts/
│   │   │   │   │   ├── PrimitiveTypesJsonSerializerContext.cs
│   │   │   │   │   ├── TestJsonSerializerOptionsForPrimitives.cs
│   │   │   │   │   ├── TestJsonSerializerOptionsForTestParameterAndReturnTypes.cs
│   │   │   │   │   ├── TestParameterType.cs
│   │   │   │   │   ├── TestParameterTypeJsonSerializerContext.cs
│   │   │   │   │   ├── TestReturnType.cs
│   │   │   │   │   └── TestReturnTypeJsonSerializerContext.cs
│   │   │   │   ├── KernelArgumentsTests.cs
│   │   │   │   ├── KernelBuilderTests.cs
│   │   │   │   ├── KernelExtensions_CreateAddAImportPluginsTests.cs
│   │   │   │   ├── KernelExtensions_CreateFunctionFromMethodTests.cs
│   │   │   │   ├── KernelExtensions_CreateFunctionFromPromptTests.cs
│   │   │   │   ├── KernelExtensions_InvokePromptTests.cs
│   │   │   │   ├── KernelFunctionCloneTests.cs
│   │   │   │   ├── KernelFunctionExtensionsTests.cs
│   │   │   │   ├── KernelFunctionFactory_CreateFromDelegateTests.cs
│   │   │   │   ├── KernelFunctionFactory_CreateFromMethodInfoTests.cs
│   │   │   │   ├── KernelFunctionFactory_CreateFromPromptTests.cs
│   │   │   │   ├── KernelFunctionFromMethodTests1.cs
│   │   │   │   ├── KernelFunctionFromMethodTests2.cs
│   │   │   │   ├── KernelFunctionFromPromptTests.cs
│   │   │   │   ├── KernelFunctionLogMessagesTests.cs
│   │   │   │   ├── KernelFunctionMetadataFactoryTests.cs
│   │   │   │   ├── KernelFunctionMetadataTests.cs
│   │   │   │   ├── KernelFunctionTests.cs
│   │   │   │   ├── KernelFunctionUnitTestStrategies.cs
│   │   │   │   ├── KernelJsonSchemaTests.cs
│   │   │   │   ├── KernelParameterMetadataTests.cs
│   │   │   │   ├── KernelPluginCollectionTests.cs
│   │   │   │   ├── KernelPluginFactoryTests.cs
│   │   │   │   ├── KernelPluginTests.cs
│   │   │   │   ├── KernelReturnParameterMetadataTests.cs
│   │   │   │   ├── MultipleModelTests.cs
│   │   │   │   └── OrderedAIServiceSelectorTests.cs
│   │   │   ├── HttpMessageHandlerStub.cs
│   │   │   ├── KernelExtensionsTests.cs
│   │   │   ├── KernelTests.cs
│   │   │   ├── Memory/
│   │   │   │   ├── AIContextProviderTests.cs
│   │   │   │   ├── AggregateAIContextProviderExtensionsTests.cs
│   │   │   │   ├── AggregateAIContextProviderTests.cs
│   │   │   │   ├── Mem0ProviderTests.cs
│   │   │   │   ├── MemoryRecordTests.cs
│   │   │   │   └── WhiteboardProviderTests.cs
│   │   │   ├── Prompt/
│   │   │   │   ├── ChatPromptParserTests.cs
│   │   │   │   └── XmlPromptParserTests.cs
│   │   │   ├── PromptTemplate/
│   │   │   │   ├── AggregatorPromptTemplateFactoryTests.cs
│   │   │   │   ├── EchoPromptTemplateTests.cs
│   │   │   │   ├── KernelPromptTemplateFactoryTests.cs
│   │   │   │   ├── KernelPromptTemplateTests.cs
│   │   │   │   └── PromptTemplateConfigTests.cs
│   │   │   ├── SemanticKernel.UnitTests.csproj
│   │   │   ├── TemplateEngine/
│   │   │   │   ├── Blocks/
│   │   │   │   │   ├── CodeBlockTests.cs
│   │   │   │   │   ├── FunctionIdBlockTests.cs
│   │   │   │   │   ├── NamedArgBlockTests.cs
│   │   │   │   │   ├── TextBlockTests.cs
│   │   │   │   │   ├── ValBlockTests.cs
│   │   │   │   │   └── VarBlockTests.cs
│   │   │   │   ├── CodeTokenizerTests.cs
│   │   │   │   └── TemplateTokenizerTests.cs
│   │   │   ├── Text/
│   │   │   │   ├── TextChunkerInternationalTests.VerifyShortStoryInLanguage_language=Arabic.txt
│   │   │   │   ├── TextChunkerInternationalTests.VerifyShortStoryInLanguage_language=Chinese.txt
│   │   │   │   ├── TextChunkerInternationalTests.VerifyShortStoryInLanguage_language=English.txt
│   │   │   │   ├── TextChunkerInternationalTests.VerifyShortStoryInLanguage_language=Japanese.txt
│   │   │   │   ├── TextChunkerInternationalTests.VerifyShortStoryInLanguage_language=Korean.txt
│   │   │   │   ├── TextChunkerInternationalTests.cs
│   │   │   │   └── TextChunkerTests.cs
│   │   │   ├── Utilities/
│   │   │   │   ├── AIConnectors/
│   │   │   │   │   └── FunctionCallsProcessorTests.cs
│   │   │   │   ├── ActivityExtensionsTests.cs
│   │   │   │   ├── DataUriParserTests.cs
│   │   │   │   ├── ExceptionConverterTests.cs
│   │   │   │   ├── FakeLogger.cs
│   │   │   │   ├── FunctionNameTests.cs
│   │   │   │   ├── HttpClientExtensionsTests.cs
│   │   │   │   ├── HttpContentExtensionsTests.cs
│   │   │   │   ├── IListExtensionsTests.cs
│   │   │   │   ├── InternalTypeConverterTests.cs
│   │   │   │   ├── KernelJsonSchemaBuilderTests.cs
│   │   │   │   ├── LoggingExtensionsTests.cs
│   │   │   │   ├── Model/
│   │   │   │   │   └── FreezableTests.cs
│   │   │   │   ├── OpenAI/
│   │   │   │   │   ├── GenericActionPipelinePolicyTests.cs
│   │   │   │   │   ├── MockPipelineResponse.cs
│   │   │   │   │   └── MockResponseHeaders.cs
│   │   │   │   ├── SseJsonParserTests.cs
│   │   │   │   ├── StreamJsonParserTests.cs
│   │   │   │   └── TypeExtensionsTests.cs
│   │   │   └── XunitHelpers/
│   │   │       └── TestConsoleLogger.cs
│   │   └── VectorData/
│   │       ├── AzureAISearch/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── AzureAISearch.csproj
│   │       │   ├── AzureAISearchCollection.cs
│   │       │   ├── AzureAISearchCollectionCreateMapping.cs
│   │       │   ├── AzureAISearchCollectionOptions.cs
│   │       │   ├── AzureAISearchCollectionSearchMapping.cs
│   │       │   ├── AzureAISearchConstants.cs
│   │       │   ├── AzureAISearchDynamicCollection.cs
│   │       │   ├── AzureAISearchDynamicMapper.cs
│   │       │   ├── AzureAISearchDynamicModelBuilder.cs
│   │       │   ├── AzureAISearchFilterTranslator.cs
│   │       │   ├── AzureAISearchMapper.cs
│   │       │   ├── AzureAISearchModelBuilder.cs
│   │       │   ├── AzureAISearchServiceCollectionExtensions.cs
│   │       │   ├── AzureAISearchVectorStore.cs
│   │       │   ├── AzureAISearchVectorStoreOptions.cs
│   │       │   └── IAzureAISearchMapper.cs
│   │       ├── Chroma/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── Chroma.csproj
│   │       │   ├── ChromaClient.cs
│   │       │   ├── ChromaMemoryBuilderExtensions.cs
│   │       │   ├── ChromaMemoryStore.cs
│   │       │   ├── Http/
│   │       │   │   └── ApiSchema/
│   │       │   │       ├── ChromaCollectionModel.cs
│   │       │   │       ├── ChromaEmbeddingsModel.cs
│   │       │   │       ├── ChromaQueryResultModel.cs
│   │       │   │       └── Internal/
│   │       │   │           ├── CreateCollectionRequest.cs
│   │       │   │           ├── DeleteCollectionRequest.cs
│   │       │   │           ├── DeleteEmbeddingsRequest.cs
│   │       │   │           ├── GetCollectionRequest.cs
│   │       │   │           ├── GetEmbeddingsRequest.cs
│   │       │   │           ├── ListCollectionsRequest.cs
│   │       │   │           ├── QueryEmbeddingsRequest.cs
│   │       │   │           └── UpsertEmbeddingsRequest.cs
│   │       │   ├── IChromaClient.cs
│   │       │   └── README.md
│   │       ├── Common/
│   │       │   └── SqlFilterTranslator.cs
│   │       ├── CosmosMongoDB/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── CosmosMongoCollection.cs
│   │       │   ├── CosmosMongoCollectionCreateMapping.cs
│   │       │   ├── CosmosMongoCollectionOptions.cs
│   │       │   ├── CosmosMongoCollectionSearchMapping.cs
│   │       │   ├── CosmosMongoConstants.cs
│   │       │   ├── CosmosMongoDB.csproj
│   │       │   ├── CosmosMongoDynamicCollection.cs
│   │       │   ├── CosmosMongoFilterTranslator.cs
│   │       │   ├── CosmosMongoServiceCollectionExtensions.cs
│   │       │   ├── CosmosMongoVectorStore.cs
│   │       │   └── CosmosMongoVectorStoreOptions.cs
│   │       ├── CosmosNoSql/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── ByteArrayJsonConverter.cs
│   │       │   ├── ClientWrapper.cs
│   │       │   ├── CosmosNoSql.csproj
│   │       │   ├── CosmosNoSqlCollection.cs
│   │       │   ├── CosmosNoSqlCollectionOptions.cs
│   │       │   ├── CosmosNoSqlCollectionQueryBuilder.cs
│   │       │   ├── CosmosNoSqlConstants.cs
│   │       │   ├── CosmosNoSqlDynamicCollection.cs
│   │       │   ├── CosmosNoSqlDynamicMapper.cs
│   │       │   ├── CosmosNoSqlFilterTranslator.cs
│   │       │   ├── CosmosNoSqlKey.cs
│   │       │   ├── CosmosNoSqlMapper.cs
│   │       │   ├── CosmosNoSqlModelBuilder.cs
│   │       │   ├── CosmosNoSqlServiceCollectionExtensions.cs
│   │       │   ├── CosmosNoSqlVectorStore.cs
│   │       │   ├── CosmosNoSqlVectorStoreOptions.cs
│   │       │   ├── ErrorHandlingFeedIterator.cs
│   │       │   └── ICosmosNoSQLMapper.cs
│   │       ├── Directory.Build.props
│   │       ├── InMemory/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── InMemory.csproj
│   │       │   ├── InMemoryCollection.cs
│   │       │   ├── InMemoryCollectionOptions.cs
│   │       │   ├── InMemoryCollectionSearchMapping.cs
│   │       │   ├── InMemoryConstants.cs
│   │       │   ├── InMemoryDynamicCollection.cs
│   │       │   ├── InMemoryModelBuilder.cs
│   │       │   ├── InMemoryRecordWrapper.cs
│   │       │   ├── InMemoryServiceCollectionExtensions.cs
│   │       │   ├── InMemoryVectorStore.cs
│   │       │   ├── InMemoryVectorStoreExtensions.cs
│   │       │   └── InMemoryVectorStoreOptions.cs
│   │       ├── Milvus/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── Milvus.csproj
│   │       │   ├── MilvusMemoryStore.cs
│   │       │   └── README.md
│   │       ├── MongoDB/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── MongoCollection.cs
│   │       │   ├── MongoCollectionCreateMapping.cs
│   │       │   ├── MongoCollectionOptions.cs
│   │       │   ├── MongoCollectionSearchMapping.cs
│   │       │   ├── MongoDB.csproj
│   │       │   ├── MongoDynamicCollection.cs
│   │       │   ├── MongoFilterTranslator.cs
│   │       │   ├── MongoServiceCollectionExtensions.cs
│   │       │   ├── MongoVectorStore.cs
│   │       │   ├── MongoVectorStoreOptions.cs
│   │       │   └── README.md
│   │       ├── PgVector/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── PgVector.csproj
│   │       │   ├── PostgresCollection.cs
│   │       │   ├── PostgresCollectionOptions.cs
│   │       │   ├── PostgresConstants.cs
│   │       │   ├── PostgresDbClient.cs
│   │       │   ├── PostgresDynamicCollection.cs
│   │       │   ├── PostgresFilterTranslator.cs
│   │       │   ├── PostgresMapper.cs
│   │       │   ├── PostgresModelBuilder.cs
│   │       │   ├── PostgresPropertyExtensions.cs
│   │       │   ├── PostgresPropertyMapping.cs
│   │       │   ├── PostgresServiceCollectionExtensions.cs
│   │       │   ├── PostgresSqlBuilder.cs
│   │       │   ├── PostgresUtils.cs
│   │       │   ├── PostgresVectorStore.cs
│   │       │   ├── PostgresVectorStoreOptions.cs
│   │       │   └── README.md
│   │       ├── Pinecone/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── Pinecone.csproj
│   │       │   ├── PineconeCollection.cs
│   │       │   ├── PineconeCollectionOptions.cs
│   │       │   ├── PineconeCollectionSearchMapping.cs
│   │       │   ├── PineconeConstants.cs
│   │       │   ├── PineconeDynamicCollection.cs
│   │       │   ├── PineconeFieldMapping.cs
│   │       │   ├── PineconeFilterTranslator.cs
│   │       │   ├── PineconeMapper.cs
│   │       │   ├── PineconeModelBuilder.cs
│   │       │   ├── PineconeServiceCollectionExtensions.cs
│   │       │   ├── PineconeVectorStore.cs
│   │       │   └── PineconeVectorStoreOptions.cs
│   │       ├── Qdrant/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── MockableQdrantClient.cs
│   │       │   ├── Qdrant.csproj
│   │       │   ├── QdrantCollection.cs
│   │       │   ├── QdrantCollectionCreateMapping.cs
│   │       │   ├── QdrantCollectionOptions.cs
│   │       │   ├── QdrantCollectionSearchMapping.cs
│   │       │   ├── QdrantConstants.cs
│   │       │   ├── QdrantDynamicCollection.cs
│   │       │   ├── QdrantFieldMapping.cs
│   │       │   ├── QdrantFilterTranslator.cs
│   │       │   ├── QdrantMapper.cs
│   │       │   ├── QdrantModelBuilder.cs
│   │       │   ├── QdrantServiceCollectionExtensions.cs
│   │       │   ├── QdrantVectorStore.cs
│   │       │   └── QdrantVectorStoreOptions.cs
│   │       ├── Redis/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── IRedisJsonMapper.cs
│   │       │   ├── README.md
│   │       │   ├── Redis.csproj
│   │       │   ├── RedisCollectionCreateMapping.cs
│   │       │   ├── RedisCollectionSearchMapping.cs
│   │       │   ├── RedisConstants.cs
│   │       │   ├── RedisFieldMapping.cs
│   │       │   ├── RedisFilterTranslator.cs
│   │       │   ├── RedisHashSetCollection.cs
│   │       │   ├── RedisHashSetCollectionOptions.cs
│   │       │   ├── RedisHashSetDynamicCollection.cs
│   │       │   ├── RedisHashSetMapper.cs
│   │       │   ├── RedisJsonCollection.cs
│   │       │   ├── RedisJsonCollectionOptions.cs
│   │       │   ├── RedisJsonDynamicCollection.cs
│   │       │   ├── RedisJsonDynamicMapper.cs
│   │       │   ├── RedisJsonDynamicModelBuilder.cs
│   │       │   ├── RedisJsonMapper.cs
│   │       │   ├── RedisJsonModelBuilder.cs
│   │       │   ├── RedisModelBuilder.cs
│   │       │   ├── RedisServiceCollectionExtensions.cs
│   │       │   ├── RedisStorageType.cs
│   │       │   ├── RedisVectorStore.cs
│   │       │   └── RedisVectorStoreOptions.cs
│   │       ├── SqlServer/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── README.md
│   │       │   ├── SqlServer.csproj
│   │       │   ├── SqlServerCollection.cs
│   │       │   ├── SqlServerCollectionOptions.cs
│   │       │   ├── SqlServerCommandBuilder.cs
│   │       │   ├── SqlServerConstants.cs
│   │       │   ├── SqlServerDynamicCollection.cs
│   │       │   ├── SqlServerFilterTranslator.cs
│   │       │   ├── SqlServerJsonSerializerContext.cs
│   │       │   ├── SqlServerMapper.cs
│   │       │   ├── SqlServerModelBuilder.cs
│   │       │   ├── SqlServerServiceCollectionExtensions.cs
│   │       │   ├── SqlServerVectorStore.cs
│   │       │   └── SqlServerVectorStoreOptions.cs
│   │       ├── SqliteVec/
│   │       │   ├── AssemblyInfo.cs
│   │       │   ├── Conditions/
│   │       │   │   ├── SqliteWhereCondition.cs
│   │       │   │   ├── SqliteWhereEqualsCondition.cs
│   │       │   │   ├── SqliteWhereInCondition.cs
│   │       │   │   └── SqliteWhereMatchCondition.cs
│   │       │   ├── SqliteCollection.cs
│   │       │   ├── SqliteCollectionOptions.cs
│   │       │   ├── SqliteColumn.cs
│   │       │   ├── SqliteCommandBuilder.cs
│   │       │   ├── SqliteConstants.cs
│   │       │   ├── SqliteDynamicCollection.cs
│   │       │   ├── SqliteExtensions.cs
│   │       │   ├── SqliteFilterTranslator.cs
│   │       │   ├── SqliteMapper.cs
│   │       │   ├── SqliteModelBuilder.cs
│   │       │   ├── SqlitePropertyMapping.cs
│   │       │   ├── SqliteServiceCollectionExtensions.cs
│   │       │   ├── SqliteVec.csproj
│   │       │   ├── SqliteVectorStore.cs
│   │       │   └── SqliteVectorStoreOptions.cs
│   │       ├── VectorData.Abstractions/
│   │       │   ├── .editorconfig
│   │       │   ├── FilterClauses/
│   │       │   │   ├── AnyTagEqualToFilterClause.cs
│   │       │   │   ├── EqualToFilterClause.cs
│   │       │   │   └── FilterClause.cs
│   │       │   ├── PACKAGE.md
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── ProviderServices/
│   │       │   │   ├── CollectionJsonModelBuilder.cs
│   │       │   │   ├── CollectionModel.cs
│   │       │   │   ├── CollectionModelBuilder.cs
│   │       │   │   ├── CollectionModelBuildingOptions.cs
│   │       │   │   ├── DataPropertyModel.cs
│   │       │   │   ├── EmbeddingGenerationDispatcher.cs
│   │       │   │   ├── Filter/
│   │       │   │   │   ├── FilterPreprocessingOptions.cs
│   │       │   │   │   ├── FilterTranslatorBase.cs
│   │       │   │   │   └── QueryParameterExpression.cs
│   │       │   │   ├── IRecordCreator.cs
│   │       │   │   ├── KeyPropertyModel.cs
│   │       │   │   ├── PropertyModel.cs
│   │       │   │   ├── VectorDataStrings.cs
│   │       │   │   ├── VectorPropertyModel.cs
│   │       │   │   └── VectorPropertyModel{TInput}.cs
│   │       │   ├── RecordAttributes/
│   │       │   │   ├── VectorStoreDataAttribute.cs
│   │       │   │   ├── VectorStoreKeyAttribute.cs
│   │       │   │   └── VectorStoreVectorAttribute.cs
│   │       │   ├── RecordDefinition/
│   │       │   │   ├── DistanceFunction.cs
│   │       │   │   ├── IndexKind.cs
│   │       │   │   ├── VectorStoreCollectionDefinition.cs
│   │       │   │   ├── VectorStoreDataProperty.cs
│   │       │   │   ├── VectorStoreKeyProperty.cs
│   │       │   │   ├── VectorStoreProperty.cs
│   │       │   │   ├── VectorStoreVectorProperty.cs
│   │       │   │   └── VectorStoreVectorProperty{TInput}.cs
│   │       │   ├── RecordOptions/
│   │       │   │   ├── FilteredRecordRetrievalOptions.cs
│   │       │   │   └── RecordRetrievalOptions.cs
│   │       │   ├── Throw.cs
│   │       │   ├── VectorData.Abstractions.csproj
│   │       │   ├── VectorSearch/
│   │       │   │   ├── HybridSearchOptions.cs
│   │       │   │   ├── IKeywordHybridSearchable.cs
│   │       │   │   ├── IVectorSearchable.cs
│   │       │   │   ├── KeywordHybridSearchExtensions.cs
│   │       │   │   ├── RecordSearchOptions.cs
│   │       │   │   ├── VectorSearchExtensions.cs
│   │       │   │   ├── VectorSearchFilter.cs
│   │       │   │   └── VectorSearchResult.cs
│   │       │   └── VectorStorage/
│   │       │       ├── VectorStore.cs
│   │       │       ├── VectorStoreCollection.cs
│   │       │       ├── VectorStoreCollectionMetadata.cs
│   │       │       ├── VectorStoreCollectionOptions.cs
│   │       │       ├── VectorStoreException.cs
│   │       │       ├── VectorStoreExtensions.cs
│   │       │       └── VectorStoreMetadata.cs
│   │       └── Weaviate/
│   │           ├── AssemblyInfo.cs
│   │           ├── Converters/
│   │           │   ├── WeaviateDateOnlyConverter.cs
│   │           │   ├── WeaviateDateTimeConverter.cs
│   │           │   ├── WeaviateDateTimeOffsetConverter.cs
│   │           │   ├── WeaviateNullableDateOnlyConverter.cs
│   │           │   ├── WeaviateNullableDateTimeConverter.cs
│   │           │   └── WeaviateNullableDateTimeOffsetConverter.cs
│   │           ├── Http/
│   │           │   └── HttpRequest.cs
│   │           ├── HttpV2/
│   │           │   ├── WeaviateCreateCollectionSchemaRequest.cs
│   │           │   ├── WeaviateDeleteCollectionSchemaRequest.cs
│   │           │   ├── WeaviateDeleteObjectBatchRequest.cs
│   │           │   ├── WeaviateDeleteObjectRequest.cs
│   │           │   ├── WeaviateGetCollectionObjectRequest.cs
│   │           │   ├── WeaviateGetCollectionSchemaRequest.cs
│   │           │   ├── WeaviateGetCollectionSchemaResponse.cs
│   │           │   ├── WeaviateGetCollectionsRequest.cs
│   │           │   ├── WeaviateGetCollectionsResponse.cs
│   │           │   ├── WeaviateUpsertCollectionObjectBatchRequest.cs
│   │           │   ├── WeaviateUpsertCollectionObjectBatchResponse.cs
│   │           │   ├── WeaviateVectorSearchRequest.cs
│   │           │   └── WeaviateVectorSearchResponse.cs
│   │           ├── ModelV2/
│   │           │   ├── WeaviateCollectionSchema.cs
│   │           │   ├── WeaviateCollectionSchemaProperty.cs
│   │           │   ├── WeaviateCollectionSchemaVectorConfig.cs
│   │           │   ├── WeaviateCollectionSchemaVectorIndexConfig.cs
│   │           │   ├── WeaviateOperationResult.cs
│   │           │   ├── WeaviateOperationResultError.cs
│   │           │   ├── WeaviateOperationResultErrors.cs
│   │           │   ├── WeaviateQueryMatch.cs
│   │           │   ├── WeaviateQueryMatchWhereClause.cs
│   │           │   └── WeaviateVectorSearchData.cs
│   │           ├── Weaviate.csproj
│   │           ├── WeaviateCollection.cs
│   │           ├── WeaviateCollectionCreateMapping.cs
│   │           ├── WeaviateCollectionOptions.cs
│   │           ├── WeaviateCollectionSearchMapping.cs
│   │           ├── WeaviateConstants.cs
│   │           ├── WeaviateDynamicCollection.cs
│   │           ├── WeaviateFilterTranslator.cs
│   │           ├── WeaviateMapper.cs
│   │           ├── WeaviateModelBuilder.cs
│   │           ├── WeaviateQueryBuilder.cs
│   │           ├── WeaviateServiceCollectionExtensions.cs
│   │           ├── WeaviateVectorStore.cs
│   │           └── WeaviateVectorStoreOptions.cs
│   └── test/
│       ├── Directory.Build.props
│       └── VectorData/
│           ├── AzureAISearch.ConformanceTests/
│           │   ├── AzureAISearch.ConformanceTests.csproj
│           │   ├── AzureAISearchAllSupportedTypesTests.cs
│           │   ├── AzureAISearchCollectionManagementTests.cs
│           │   ├── AzureAISearchDependencyInjectionTests.cs
│           │   ├── AzureAISearchDistanceFunctionTests.cs
│           │   ├── AzureAISearchEmbeddingGenerationTests.cs
│           │   ├── AzureAISearchFilterTests.cs
│           │   ├── AzureAISearchHybridSearchTests.cs
│           │   ├── AzureAISearchIndexKindTests.cs
│           │   ├── AzureAISearchTestSuiteImplementationTests.cs
│           │   ├── ModelTests/
│           │   │   ├── AzureAISearchBasicModelTests.cs
│           │   │   ├── AzureAISearchDynamicModelTests.cs
│           │   │   ├── AzureAISearchMultiVectorModelTests.cs
│           │   │   ├── AzureAISearchNoDataModelTests.cs
│           │   │   └── AzureAISearchNoVectorModelTests.cs
│           │   ├── Properties/
│           │   │   └── AssemblyAttributes.cs
│           │   ├── Support/
│           │   │   ├── AzureAISearchAllTypes.cs
│           │   │   ├── AzureAISearchFixture.cs
│           │   │   ├── AzureAISearchTestEnvironment.cs
│           │   │   ├── AzureAISearchTestStore.cs
│           │   │   └── AzureAISearchUrlRequiredAttribute.cs
│           │   └── TypeTests/
│           │       ├── AzureAISearchDataTypeTests.cs
│           │       ├── AzureAISearchEmbedd
Download .txt
Showing preview only (1,247K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (11682 symbols across 1893 files)

FILE: dotnet/notebooks/config/Settings.cs
  class Settings (line 13) | public static class Settings
    method AskAzureEndpoint (line 24) | public static async Task<string> AskAzureEndpoint(bool _useAzureOpenAI...
    method AskModel (line 48) | public static async Task<string> AskModel(bool _useAzureOpenAI = true,...
    method AskApiKey (line 86) | public static async Task<string> AskApiKey(bool _useAzureOpenAI = true...
    method AskOrg (line 115) | public static async Task<string> AskOrg(bool _useAzureOpenAI = true, s...
    method LoadFromFile (line 131) | public static (bool useAzureOpenAI, string model, string azureEndpoint...
    method Reset (line 161) | public static void Reset(string configFile = DefaultConfigFile)
    method ReadSettings (line 177) | private static (bool useAzureOpenAI, string model, string azureEndpoin...
    method WriteSettings (line 214) | private static void WriteSettings(

FILE: dotnet/notebooks/config/SkiaUtils.cs
  class SkiaUtils (line 7) | public static class SkiaUtils
    method ShowImage (line 10) | public static async Task ShowImage(string url, int width, int height)

FILE: dotnet/notebooks/config/Utils.cs
  class Utils (line 4) | public static class Utils
    method WordWrap (line 7) | public static string WordWrap(string text, int maxLineLength)

FILE: dotnet/samples/Concepts/Agents/AzureAIAgent_FileManipulation.cs
  class AzureAIAgent_FileManipulation (line 13) | public class AzureAIAgent_FileManipulation(ITestOutputHelper output) : B...
    method AnalyzeCSVFileUsingAzureAIAgentAsync (line 15) | [Fact]

FILE: dotnet/samples/Concepts/Agents/AzureAIAgent_Streaming.cs
  class AzureAIAgent_Streaming (line 14) | public class AzureAIAgent_Streaming(ITestOutputHelper output) : BaseAzur...
    method UseStreamingAgentAsync (line 16) | [Fact]
    method UseStreamingAssistantAgentWithPluginAsync (line 49) | [Fact]
    method UseStreamingAssistantWithCodeInterpreterAsync (line 86) | [Fact]
    method InvokeAgentAsync (line 121) | private async Task InvokeAgentAsync(AzureAIAgent agent, Microsoft.Sema...
    method DisplayChatHistoryAsync (line 172) | private async Task DisplayChatHistoryAsync(AzureAIAgentThread agentThr...
    class MenuPlugin (line 185) | public sealed class MenuPlugin
      method GetSpecials (line 187) | [KernelFunction, Description("Provides a list of specials from the m...
      method GetItemPrice (line 199) | [KernelFunction, Description("Provides the price of the requested me...

FILE: dotnet/samples/Concepts/Agents/ChatCompletion_ContextualFunctionSelection.cs
  class ChatCompletion_ContextualFunctionSelection (line 23) | public class ChatCompletion_ContextualFunctionSelection(ITestOutputHelpe...
    method SelectFunctionsRelevantToCurrentInvocationContext (line 29) | [Fact]
    method SelectFunctionsBasedOnPreviousAndCurrentInvocationContext (line 100) | [Fact]
    method GetAvailableFunctions (line 161) | private IReadOnlyList<AIFunction> GetAvailableFunctions()

FILE: dotnet/samples/Concepts/Agents/ChatCompletion_FunctionTermination.cs
  class ChatCompletion_FunctionTermination (line 14) | public class ChatCompletion_FunctionTermination(ITestOutputHelper output...
    method UseAutoFunctionInvocationFilterWithAgentInvocation (line 16) | [Theory]
    method UseAutoFunctionInvocationFilterWithAgentChat (line 58) | [Theory]
    method UseAutoFunctionInvocationFilterWithStreamingAgentInvocation (line 101) | [Theory]
    method UseAutoFunctionInvocationFilterWithStreamingAgentChat (line 165) | [Theory]
    method WriteChatHistory (line 220) | private void WriteChatHistory(IEnumerable<ChatMessageContent> chat)
    method CreateKernelWithFilter (line 231) | private Kernel CreateKernelWithFilter(bool useChatClient)
    class MenuPlugin (line 249) | private sealed class MenuPlugin
      method GetSpecials (line 251) | [KernelFunction, Description("Provides a list of specials from the m...
      method GetItemPrice (line 263) | [KernelFunction, Description("Provides the price of the requested me...
    class AutoInvocationFilter (line 272) | private sealed class AutoInvocationFilter(bool terminate = true) : IAu...
      method OnAutoFunctionInvocationAsync (line 274) | public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocati...

FILE: dotnet/samples/Concepts/Agents/ChatCompletion_HistoryReducer.cs
  class ChatCompletion_HistoryReducer (line 14) | public class ChatCompletion_HistoryReducer(ITestOutputHelper output) : B...
    method TruncatedAgentReduction (line 23) | [Theory]
    method SummarizedAgentReduction (line 40) | [Theory]
    method InvokeAgentAsync (line 54) | private async Task InvokeAgentAsync(ChatCompletionAgent agent, int mes...
    method CreateSummarizingAgent (line 91) | private ChatCompletionAgent CreateSummarizingAgent(int reducerMessageC...
    method CreateTruncatingAgent (line 109) | private ChatCompletionAgent CreateTruncatingAgent(int reducerMessageCo...

FILE: dotnet/samples/Concepts/Agents/ChatCompletion_Mem0.cs
  class ChatCompletion_Mem0 (line 16) | public class ChatCompletion_Mem0(ITestOutputHelper output) : BaseTest(ou...
    method UseMemoryAsync (line 24) | [Fact]
    class FinancePlugin (line 95) | private sealed class FinancePlugin
      method RetrieveCompanyReport (line 97) | [KernelFunction]
    type ReportFormat (line 114) | private enum ReportFormat

FILE: dotnet/samples/Concepts/Agents/ChatCompletion_Rag.cs
  class ChatCompletion_Rag (line 26) | public class ChatCompletion_Rag(ITestOutputHelper output) : BaseTest(out...
    method UseChatCompletionAgentWithBasicRag (line 34) | [Fact]
    method RagWithCitationsAndFiltering (line 92) | [Fact]
    method GetSampleDocuments (line 138) | private static IEnumerable<TextSearchDocument> GetSampleDocuments()

FILE: dotnet/samples/Concepts/Agents/ChatCompletion_Serialization.cs
  class ChatCompletion_Serialization (line 11) | public class ChatCompletion_Serialization(ITestOutputHelper output) : Ba...
    method SerializeAndRestoreAgentGroupChat (line 16) | [Theory]
    class MenuPlugin (line 89) | private sealed class MenuPlugin
      method GetSpecials (line 91) | [KernelFunction, Description("Provides a list of specials from the m...
      method GetItemPrice (line 100) | [KernelFunction, Description("Provides the price of the requested me...

FILE: dotnet/samples/Concepts/Agents/ChatCompletion_ServiceSelection.cs
  class ChatCompletion_ServiceSelection (line 16) | public class ChatCompletion_ServiceSelection(ITestOutputHelper output) :...
    method UseServiceSelectionWithChatCompletionAgent (line 21) | [Theory]
    method CreateKernelWithTwoServices (line 101) | private Kernel CreateKernelWithTwoServices(bool useChatClient)

FILE: dotnet/samples/Concepts/Agents/ChatCompletion_Streaming.cs
  class ChatCompletion_Streaming (line 12) | public class ChatCompletion_Streaming(ITestOutputHelper output) : BaseAg...
    method UseStreamingChatCompletionAgent (line 17) | [Theory]
    method UseStreamingChatCompletionAgentWithPlugin (line 44) | [Theory]
    method InvokeAgentAsync (line 78) | private async Task InvokeAgentAsync(ChatCompletionAgent agent, ChatHis...
    method DisplayChatHistory (line 117) | private async Task DisplayChatHistory(ChatHistoryAgentThread agentThread)
    class MenuPlugin (line 130) | public sealed class MenuPlugin
      method GetSpecials (line 132) | [KernelFunction, Description("Provides a list of specials from the m...
      method GetItemPrice (line 143) | [KernelFunction, Description("Provides the price of the requested me...

FILE: dotnet/samples/Concepts/Agents/ChatCompletion_Templating.cs
  class ChatCompletion_Templating (line 13) | public class ChatCompletion_Templating(ITestOutputHelper output) : BaseA...
    method InvokeAgentWithInstructionsTemplate (line 23) | [Theory]
    method InvokeAgentWithKernelTemplate (line 49) | [Theory]
    method InvokeAgentWithHandlebarsTemplate (line 65) | [Theory]
    method InvokeAgentWithLiquidTemplate (line 80) | [Theory]
    method InvokeChatCompletionAgentWithTemplateAsync (line 95) | private async Task InvokeChatCompletionAgentWithTemplateAsync(
    method InvokeChatCompletionAgentWithTemplateAsync (line 123) | private async Task InvokeChatCompletionAgentWithTemplateAsync(ChatComp...

FILE: dotnet/samples/Concepts/Agents/ChatCompletion_Whiteboard.cs
  class ChatCompletion_Whiteboard (line 21) | public class ChatCompletion_Whiteboard(ITestOutputHelper output) : BaseT...
    method UseWhiteboardForShortTermMemory (line 30) | [Fact]
    class VMPlugin (line 102) | private sealed class VMPlugin
      method CreateVM (line 104) | [KernelFunction]
    class VMCreateResult (line 116) | public class VMCreateResult
    type Region (line 121) | private enum Region
    type OperatingSystem (line 131) | private enum OperatingSystem

FILE: dotnet/samples/Concepts/Agents/ComplexChat_NestedShopper.cs
  class ComplexChat_NestedShopper (line 17) | public class ComplexChat_NestedShopper(ITestOutputHelper output) : BaseA...
    method NestedChatWithAggregatorAgent (line 95) | [Theory]
    type OuterTerminationResult (line 220) | private sealed record OuterTerminationResult(bool isAnswered, string r...
    type AgentSelectionResult (line 222) | private sealed record AgentSelectionResult(string name, string reason);
    class AgentTerminationStrategy (line 224) | private sealed class AgentTerminationStrategy : TerminationStrategy
      method ShouldAgentTerminateAsync (line 227) | protected override Task<bool> ShouldAgentTerminateAsync(Agent agent,...

FILE: dotnet/samples/Concepts/Agents/DeclarativeAgents.cs
  class DeclarativeAgents (line 24) | public class DeclarativeAgents(ITestOutputHelper output) : BaseAgentsTes...
    method LoadsAgentFromDeclarativeAgentManifest (line 26) | [Theory]
    class ExpectedSchemaFunctionFilter (line 69) | private sealed class ExpectedSchemaFunctionFilter : IAutoFunctionInvoc...
      method OnAutoFunctionInvocationAsync (line 72) | public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocati...

FILE: dotnet/samples/Concepts/Agents/MixedChat_Agents.cs
  class MixedChat_Agents (line 14) | public class MixedChat_Agents(ITestOutputHelper output) : BaseAssistantT...
    method ChatWithOpenAIAssistantAgentAndChatCompletionAgent (line 36) | [Theory]
    class ApprovalTerminationStrategy (line 96) | private sealed class ApprovalTerminationStrategy : TerminationStrategy
      method ShouldAgentTerminateAsync (line 99) | protected override Task<bool> ShouldAgentTerminateAsync(Agent agent,...

FILE: dotnet/samples/Concepts/Agents/MixedChat_Files.cs
  class MixedChat_Files (line 15) | public class MixedChat_Files(ITestOutputHelper output) : BaseAssistantTe...
    method AnalyzeFileAndGenerateReport (line 19) | [Theory]

FILE: dotnet/samples/Concepts/Agents/MixedChat_Images.cs
  class MixedChat_Images (line 14) | public class MixedChat_Images(ITestOutputHelper output) : BaseAssistantT...
    method AnalyzeDataAndGenerateChartAsync (line 22) | [Theory]

FILE: dotnet/samples/Concepts/Agents/MixedChat_Reset.cs
  class MixedChat_Reset (line 13) | public class MixedChat_Reset(ITestOutputHelper output) : BaseAssistantTe...
    method ResetChat (line 21) | [Theory]

FILE: dotnet/samples/Concepts/Agents/MixedChat_Serialization.cs
  class MixedChat_Serialization (line 14) | public class MixedChat_Serialization(ITestOutputHelper output) : BaseAss...
    method SerializeAndRestoreAgentGroupChat (line 31) | [Theory]
    class CountingTerminationStrategy (line 121) | private sealed class CountingTerminationStrategy(int maxTurns) : Termi...
      method ShouldAgentTerminateAsync (line 125) | protected override Task<bool> ShouldAgentTerminateAsync(Agent agent,...

FILE: dotnet/samples/Concepts/Agents/MixedChat_Streaming.cs
  class MixedChat_Streaming (line 15) | public class MixedChat_Streaming(ITestOutputHelper output) : BaseAssista...
    method UseStreamingAgentChat (line 37) | [Theory]
    class ApprovalTerminationStrategy (line 121) | private sealed class ApprovalTerminationStrategy : TerminationStrategy
      method ShouldAgentTerminateAsync (line 124) | protected override Task<bool> ShouldAgentTerminateAsync(Agent agent,...

FILE: dotnet/samples/Concepts/Agents/OpenAIAssistant_ChartMaker.cs
  class OpenAIAssistant_ChartMaker (line 14) | public class OpenAIAssistant_ChartMaker(ITestOutputHelper output) : Base...
    method GenerateChartWithOpenAIAssistantAgentAsync (line 16) | [Fact]

FILE: dotnet/samples/Concepts/Agents/OpenAIAssistant_FileManipulation.cs
  class OpenAIAssistant_FileManipulation (line 14) | public class OpenAIAssistant_FileManipulation(ITestOutputHelper output) ...
    method AnalyzeCSVFileUsingOpenAIAssistantAgentAsync (line 16) | [Fact]

FILE: dotnet/samples/Concepts/Agents/OpenAIAssistant_FunctionFilters.cs
  class OpenAIAssistant_FunctionFilters (line 17) | public class OpenAIAssistant_FunctionFilters(ITestOutputHelper output) :...
    method UseFunctionInvocationFilterAsync (line 19) | [Fact]
    method UseFunctionInvocationFilterStreamingAsync (line 29) | [Fact]
    method UseAutoFunctionInvocationFilterAsync (line 39) | [Theory]
    method UseAutoFunctionInvocationFilterWithStreamingAgentInvocationAsync (line 51) | [Theory]
    method InvokeAssistantAsync (line 63) | private async Task InvokeAssistantAsync(OpenAIAssistantAgent agent)
    method InvokeAssistantStreamingAsync (line 84) | private async Task InvokeAssistantStreamingAsync(OpenAIAssistantAgent ...
    method WriteChatHistory (line 105) | private void WriteChatHistory(IEnumerable<ChatMessageContent> history)
    method CreateAssistantAsync (line 116) | private async Task<OpenAIAssistantAgent> CreateAssistantAsync(Kernel k...
    method CreateKernelWithAutoFilter (line 135) | private Kernel CreateKernelWithAutoFilter(bool terminate)
    method CreateKernelWithInvokeFilter (line 146) | private Kernel CreateKernelWithInvokeFilter()
    class MenuPlugin (line 157) | private sealed class MenuPlugin
      method GetSpecials (line 159) | [KernelFunction, Description("Provides a list of specials from the m...
      method GetItemPrice (line 171) | [KernelFunction, Description("Provides the price of the requested me...
    class InvocationFilter (line 178) | private sealed class InvocationFilter() : IFunctionInvocationFilter
      method OnFunctionInvocationAsync (line 180) | public async Task OnFunctionInvocationAsync(FunctionInvocationContex...
    class AutoInvocationFilter (line 195) | private sealed class AutoInvocationFilter(bool terminate = true) : IAu...
      method OnAutoFunctionInvocationAsync (line 197) | public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocati...

FILE: dotnet/samples/Concepts/Agents/OpenAIAssistant_Streaming.cs
  class OpenAIAssistant_Streaming (line 14) | public class OpenAIAssistant_Streaming(ITestOutputHelper output) : BaseA...
    method UseStreamingAssistantAgentAsync (line 16) | [Fact]
    method UseStreamingAssistantAgentWithPluginAsync (line 42) | [Fact]
    method UseStreamingAssistantWithCodeInterpreterAsync (line 68) | [Fact]
    method InvokeAgentAsync (line 95) | private async Task InvokeAgentAsync(OpenAIAssistantAgent agent, AgentT...
    method DisplayChatHistoryAsync (line 146) | private async Task DisplayChatHistoryAsync(OpenAIAssistantAgentThread ...
    class MenuPlugin (line 159) | public sealed class MenuPlugin
      method GetSpecials (line 161) | [KernelFunction, Description("Provides a list of specials from the m...
      method GetItemPrice (line 173) | [KernelFunction, Description("Provides the price of the requested me...

FILE: dotnet/samples/Concepts/Agents/OpenAIAssistant_Templating.cs
  class OpenAIAssistant_Templating (line 14) | public class OpenAIAssistant_Templating(ITestOutputHelper output) : Base...
    method InvokeAgentWithInstructionsAsync (line 24) | [Fact]
    method InvokeAgentWithKernelTemplateAsync (line 50) | [Fact]
    method InvokeAgentWithHandlebarsTemplateAsync (line 63) | [Fact]
    method InvokeAgentWithLiquidTemplateAsync (line 75) | [Fact]
    method InvokeAssistantAgentWithTemplateAsync (line 87) | private async Task InvokeAssistantAgentWithTemplateAsync(
    method InvokeAssistantAgentWithTemplateAsync (line 117) | private async Task InvokeAssistantAgentWithTemplateAsync(OpenAIAssista...

FILE: dotnet/samples/Concepts/Agents/OpenAIResponseAgent_Whiteboard.cs
  class OpenAIResponseAgent_Whiteboard (line 22) | public class OpenAIResponseAgent_Whiteboard(ITestOutputHelper output) : ...
    method UseWhiteboardForShortTermMemory (line 31) | [Fact]
    class VMPlugin (line 100) | private sealed class VMPlugin
      method CreateVM (line 102) | [KernelFunction]
    class VMCreateResult (line 114) | public class VMCreateResult
    type Region (line 119) | private enum Region
    type OperatingSystem (line 129) | private enum OperatingSystem

FILE: dotnet/samples/Concepts/AudioToText/OpenAI_AudioToText.cs
  class OpenAI_AudioToText (line 13) | public sealed class OpenAI_AudioToText(ITestOutputHelper output) : BaseT...
    method AudioToTextAsync (line 18) | [Fact(Skip = "Setup and run TextToAudioAsync before running this test.")]

FILE: dotnet/samples/Concepts/Caching/SemanticCachingWithFilters.cs
  class SemanticCachingWithFilters (line 19) | public class SemanticCachingWithFilters(ITestOutputHelper output) : Base...
    method InMemoryCacheAsync (line 25) | [Fact]
    method RedisCacheAsync (line 55) | [Fact]
    method CosmosMongoDBCacheAsync (line 84) | [Fact]
    method GetKernelWithCache (line 115) | private Kernel GetKernelWithCache(Action<IServiceCollection> configure...
    class CacheBaseFilter (line 167) | public class CacheBaseFilter
    class PromptCacheFilter (line 183) | public sealed class PromptCacheFilter(
      method OnPromptRenderAsync (line 188) | public async Task OnPromptRenderAsync(PromptRenderContext context, F...
    class FunctionCacheFilter (line 220) | public sealed class FunctionCacheFilter(
      method OnFunctionInvocationAsync (line 225) | public async Task OnFunctionInvocationAsync(Microsoft.SemanticKernel...
    method ExecuteAsync (line 266) | private async Task<FunctionResult> ExecuteAsync(Kernel kernel, string ...
    class CacheRecord (line 285) | private sealed class CacheRecord

FILE: dotnet/samples/Concepts/ChatCompletion/AzureAIInference_ChatCompletion.cs
  class AzureAIInference_ChatCompletion (line 16) | public class AzureAIInference_ChatCompletion(ITestOutputHelper output) :...
    method ServicePromptAsync (line 18) | [Fact]
    method ChatPromptAsync (line 83) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/AzureAIInference_ChatCompletionStreaming.cs
  class AzureAIInference_ChatCompletionStreaming (line 16) | public class AzureAIInference_ChatCompletionStreaming(ITestOutputHelper ...
    method StreamChatAsync (line 21) | [Fact]
    method StreamChatPromptAsync (line 38) | [Fact]
    method StreamTextFromChatAsync (line 70) | [Fact]
    method StartStreamingChatAsync (line 102) | private async Task StartStreamingChatAsync(IChatCompletionService chat...
    method StreamMessageOutputFromKernelAsync (line 131) | private async Task<string> StreamMessageOutputFromKernelAsync(Kernel k...

FILE: dotnet/samples/Concepts/ChatCompletion/AzureOpenAIWithData_ChatCompletion.cs
  class AzureOpenAIWithData_ChatCompletion (line 31) | public class AzureOpenAIWithData_ChatCompletion(ITestOutputHelper output...
    method ExampleWithChatCompletionAsync (line 33) | [RetryFact(typeof(HttpOperationException))]
    method ExampleWithKernelAsync (line 96) | [RetryFact(typeof(HttpOperationException))]
    method ExampleWithFunctionCallingAsync (line 146) | [Fact]
    method GetAzureSearchDataSource (line 226) | private static AzureSearchChatDataSource GetAzureSearchDataSource()
    method GetCitations (line 239) | private static IList<ChatCitation> GetCitations(ChatMessageContent cha...
    method GetCitations (line 250) | private static IList<ChatCitation>? GetCitations(StreamingChatMessageC...
    method OutputCitations (line 261) | private void OutputCitations(IList<ChatCitation>? citations)
    class FunctionInvocationRetryFilter (line 284) | private sealed class FunctionInvocationRetryFilter : IFunctionInvocati...
      method OnFunctionInvocationAsync (line 286) | public async Task OnFunctionInvocationAsync(FunctionInvocationContex...
    class ModelResult (line 359) | private sealed class ModelResult
      method Parse (line 368) | public static ModelResult? Parse(string? result)
    class DataPlugin (line 388) | private sealed class DataPlugin
      method GetEmails (line 396) | [KernelFunction]

FILE: dotnet/samples/Concepts/ChatCompletion/AzureOpenAI_ChatCompletion.cs
  class AzureOpenAI_ChatCompletion (line 14) | public class AzureOpenAI_ChatCompletion(ITestOutputHelper output) : Base...
    method ChatPromptAsync (line 19) | [Fact]
    method ServicePromptAsync (line 64) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/AzureOpenAI_ChatCompletionStreaming.cs
  class AzureOpenAI_ChatCompletionStreaming (line 13) | public class AzureOpenAI_ChatCompletionStreaming(ITestOutputHelper outpu...
    method StreamServicePromptAsync (line 18) | [Fact]
    method StreamServicePromptTextAsync (line 37) | [Fact]
    method StreamFunctionCallContentAsync (line 70) | [Fact]
    method StartStreamingChatAsync (line 109) | private async Task StartStreamingChatAsync(IChatCompletionService chat...

FILE: dotnet/samples/Concepts/ChatCompletion/AzureOpenAI_ChatCompletionWithReasoning.cs
  class AzureOpenAI_ChatCompletionWithReasoning (line 14) | public class AzureOpenAI_ChatCompletionWithReasoning(ITestOutputHelper o...
    method ChatPromptWithReasoningAsync (line 19) | [Fact]
    method ServicePromptWithReasoningAsync (line 63) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/AzureOpenAI_CustomClient.cs
  class AzureOpenAI_CustomClient (line 16) | public sealed class AzureOpenAI_CustomClient(ITestOutputHelper output) :...
    method UsingCustomHttpClientWithAzureOpenAI (line 18) | [Fact]
    class MyCustomClientHttpHandler (line 66) | private sealed class MyCustomClientHttpHandler(ITestOutputHelper outpu...
      method SendAsync (line 68) | protected override async Task<HttpResponseMessage> SendAsync(HttpReq...

FILE: dotnet/samples/Concepts/ChatCompletion/ChatHistoryAuthorName.cs
  class ChatHistoryAuthorName (line 11) | public class ChatHistoryAuthorName(ITestOutputHelper output) : BaseTest(...
    method CompletionIdentityAsync (line 32) | [Theory]
    method StreamingIdentityAsync (line 50) | [Theory]
    method CreateHistory (line 68) | private static ChatHistory CreateHistory(bool withName)
    method ValidateMessages (line 77) | private void ValidateMessages(ChatHistory chatHistory, bool expectName)
    method WriteMessages (line 92) | private void WriteMessages(IReadOnlyList<ChatMessageContent> messages,...
    method CreateCompletionService (line 102) | private static IChatCompletionService CreateCompletionService()

FILE: dotnet/samples/Concepts/ChatCompletion/ChatHistoryInFunctions.cs
  class ChatHistoryInFunctions (line 15) | public sealed class ChatHistoryInFunctions(ITestOutputHelper output) : B...
    method UsingKernelDataAsync (line 22) | [Fact]
    method UsingKernelArgumentsAndFilterOption1Async (line 66) | [Fact]
    method UsingKernelArgumentsAndFilterOption2Async (line 104) | [Fact]
    class AutoFunctionInvocationFilter (line 138) | private sealed class AutoFunctionInvocationFilter : IAutoFunctionInvoc...
      method OnAutoFunctionInvocationAsync (line 140) | public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocati...
    class DataPlugin (line 161) | private sealed class DataPlugin(ITestOutputHelper output)
      method GetFeaturedProducts (line 163) | [KernelFunction]
      method GetProductReviews (line 176) | [KernelFunction]
      method GetDailySalesSummary (line 194) | [KernelFunction]
      method GetChatHistory (line 210) | private static ChatHistory? GetChatHistory(IDictionary<string, objec...
    class EmailPlugin (line 225) | private sealed class EmailPlugin(ITestOutputHelper output)
      method SendEmail (line 227) | [KernelFunction]
    method GetKernel (line 243) | private static Kernel GetKernel()

FILE: dotnet/samples/Concepts/ChatCompletion/ChatHistoryReducers/ChatCompletionServiceExtensions.cs
  class ChatCompletionServiceExtensions (line 10) | internal static class ChatCompletionServiceExtensions
    method UsingChatHistoryReducer (line 19) | public static IChatCompletionService UsingChatHistoryReducer(this ICha...

FILE: dotnet/samples/Concepts/ChatCompletion/ChatHistoryReducers/ChatCompletionServiceWithReducer.cs
  class ChatCompletionServiceWithReducer (line 13) | public sealed class ChatCompletionServiceWithReducer(IChatCompletionServ...
    method GetChatMessageContentsAsync (line 20) | public async Task<IReadOnlyList<ChatMessageContent>> GetChatMessageCon...
    method GetStreamingChatMessageContentsAsync (line 33) | public async IAsyncEnumerable<StreamingChatMessageContent> GetStreamin...

FILE: dotnet/samples/Concepts/ChatCompletion/ChatHistoryReducers/ChatHistoryExtensions.cs
  class ChatHistoryExtensions (line 12) | internal static class ChatHistoryExtensions
    method GetSystemMessage (line 22) | internal static ChatMessageContent? GetSystemMessage(this IReadOnlyLis...
    method Extract (line 36) | public static IEnumerable<ChatMessageContent> Extract(
    method ComputeTruncationIndex (line 80) | public static int ComputeTruncationIndex(this IReadOnlyList<ChatMessag...
    method AddSystemMessageWithTokenCount (line 111) | public static void AddSystemMessageWithTokenCount(this ChatHistory cha...
    method AddUserMessageWithTokenCount (line 125) | public static void AddUserMessageWithTokenCount(this ChatHistory chatH...
    method AddAssistantMessageWithTokenCount (line 139) | public static void AddAssistantMessageWithTokenCount(this ChatHistory ...

FILE: dotnet/samples/Concepts/ChatCompletion/ChatHistoryReducers/ChatHistoryMaxTokensReducer.cs
  class ChatHistoryMaxTokensReducer (line 14) | public sealed class ChatHistoryMaxTokensReducer : IChatHistoryReducer
    method ChatHistoryMaxTokensReducer (line 22) | public ChatHistoryMaxTokensReducer(int maxTokenCount)
    method ReduceAsync (line 33) | public Task<IEnumerable<ChatMessageContent>?> ReduceAsync(IReadOnlyLis...
    method ComputeTruncationIndex (line 56) | private int ComputeTruncationIndex(IReadOnlyList<ChatMessageContent> c...

FILE: dotnet/samples/Concepts/ChatCompletion/ChatHistoryReducers/ChatHistoryReducerTests.cs
  class ChatHistoryReducerTests (line 12) | public class ChatHistoryReducerTests(ITestOutputHelper output) : BaseTes...
    method VerifyMaxTokensChatHistoryReducerAsync (line 14) | [Theory]
    method VerifyReducedHistory (line 34) | private static void VerifyReducedHistory(IEnumerable<ChatMessageConten...
    method ComputeExpectedMessages (line 47) | private static ChatMessageContent[]? ComputeExpectedMessages(ChatHisto...
    method CreateHistoryWithUserInput (line 68) | private static ChatHistory CreateHistoryWithUserInput(int messageCount...
    class FakeChatCompletionService (line 117) | private sealed class FakeChatCompletionService(string result) : IChatC...
      method GetChatMessageContentsAsync (line 121) | public Task<IReadOnlyList<ChatMessageContent>> GetChatMessageContent...
      method GetStreamingChatMessageContentsAsync (line 128) | public async IAsyncEnumerable<StreamingChatMessageContent> GetStream...

FILE: dotnet/samples/Concepts/ChatCompletion/ChatHistorySerialization.cs
  class ChatHistorySerialization (line 11) | public class ChatHistorySerialization(ITestOutputHelper output) : BaseTe...
    method SerializeChatHistoryWithSKContentTypesAsync (line 19) | [Fact]
    method SerializeChatWithHistoryWithCustomContentType (line 60) | [Fact]
    class CustomContent (line 96) | private sealed class CustomContent(string content) : KernelContent(con...
    class CustomResolver (line 105) | private sealed class CustomResolver : DefaultJsonTypeInfoResolver
      method GetTypeInfo (line 107) | public override JsonTypeInfo GetTypeInfo(Type type, JsonSerializerOp...

FILE: dotnet/samples/Concepts/ChatCompletion/Connectors_CustomHttpClient.cs
  class Connectors_CustomHttpClient (line 8) | public class Connectors_CustomHttpClient(ITestOutputHelper output) : Bas...
    method UseDefaultHttpClient (line 13) | [Fact]
    method UseCustomHttpClient (line 26) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/Connectors_KernelStreaming.cs
  class Connectors_KernelStreaming (line 12) | public class Connectors_KernelStreaming(ITestOutputHelper output) : Base...
    method RunAsync (line 14) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/Connectors_WithMultipleLLMs.cs
  class Connectors_WithMultipleLLMs (line 7) | public class Connectors_WithMultipleLLMs(ITestOutputHelper output) : Bas...
    method BuildKernel (line 11) | private static Kernel BuildKernel()
    method InvokePromptByServiceIdAsync (line 31) | [Theory]
    method InvokePromptByModelIdAsync (line 46) | [Fact]
    method InvokePromptFunctionWithFirstMatchingServiceIdAsync (line 62) | [Fact]
    method InvokePromptFunctionWithFirstMatchingModelIdAsync (line 78) | [Fact]
    method InvokePreconfiguredFunctionWithFirstMatchingServiceIdAsync (line 94) | [Fact]
    method InvokePreconfiguredFunctionWithFirstMatchingModelIdAsync (line 111) | [Fact]
    method InvokePreconfiguredFunctionByModelIdAsync (line 128) | [Fact]
    method InvokePreconfiguredFunctionByServiceIdAsync (line 145) | [Theory]
    method InvokePromptByNonExistingServiceIdThrowsExceptionAsync (line 162) | [Theory]
    method InvokePromptByNonExistingModelIdUsesDefaultServiceAsync (line 176) | [Theory]

FILE: dotnet/samples/Concepts/ChatCompletion/Google_GeminiChatCompletion.cs
  class Google_GeminiChatCompletion (line 12) | public sealed class Google_GeminiChatCompletion(ITestOutputHelper output...
    method GoogleAIUsingChatCompletion (line 14) | [Fact]
    method VertexAIUsingChatCompletion (line 37) | [Fact]
    method ProcessChatAsync (line 106) | private async Task ProcessChatAsync(Kernel kernel)
    method MessageOutputAsync (line 133) | private Task MessageOutputAsync(ChatHistory chatHistory)

FILE: dotnet/samples/Concepts/ChatCompletion/Google_GeminiChatCompletionStreaming.cs
  class Google_GeminiChatCompletionStreaming (line 13) | public sealed class Google_GeminiChatCompletionStreaming(ITestOutputHelp...
    method GoogleAIUsingStreamingChatCompletion (line 15) | [Fact]
    method VertexAIUsingStreamingChatCompletion (line 38) | [Fact]
    method ProcessStreamingChatAsync (line 107) | private async Task ProcessStreamingChatAsync(Kernel kernel)
    method MessageOutputAsync (line 134) | private Task MessageOutputAsync(ChatHistory chatHistory)
    method MessageOutputAsync (line 144) | private async Task<ChatMessageContent> MessageOutputAsync(IAsyncEnumer...

FILE: dotnet/samples/Concepts/ChatCompletion/Google_GeminiChatCompletionWithFile.cs
  class Google_GeminiChatCompletionWithFile (line 12) | public class Google_GeminiChatCompletionWithFile(ITestOutputHelper outpu...
    method GoogleAIChatCompletionWithLocalFile (line 14) | [Fact]
    method VertexAIChatCompletionWithLocalFile (line 42) | [Fact]
    method GoogleAIChatCompletionWithBase64DataUri (line 76) | [Fact]
    method VertexAIChatCompletionWithBase64DataUri (line 107) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/Google_GeminiChatCompletionWithThinking.cs
  class Google_GeminiChatCompletionWithThinking (line 17) | public sealed class Google_GeminiChatCompletionWithThinking(ITestOutputH...
    method GoogleAIChatCompletionUsingThinkingBudget (line 19) | [Fact]
    method GoogleAIChatCompletionUsingThinkingLevel (line 51) | [Fact]
    method MessageOutputAsync (line 87) | private Task MessageOutputAsync(ChatHistory chatHistory)

FILE: dotnet/samples/Concepts/ChatCompletion/Google_GeminiGetModelResult.cs
  class Google_GeminiGetModelResult (line 11) | public sealed class Google_GeminiGetModelResult(ITestOutputHelper output...
    method GetTokenUsageMetadata (line 13) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/Google_GeminiStructuredOutputs.cs
  class Google_GeminiStructuredOutputs (line 21) | public class Google_GeminiStructuredOutputs(ITestOutputHelper output) : ...
    method StructuredOutputsWithTypeInExecutionSettings (line 27) | [Theory]
    method StructuredOutputsWithFunctionCalling (line 65) | [Theory]
    method StructuredOutputsWithFunctionsFromPrompt (line 100) | [Theory]
    method StructuredOutputsWithFunctionsFromYaml (line 137) | [Theory]
    type MovieResult (line 176) | private struct MovieResult
    type Movie (line 182) | private struct Movie
    type MovieGenre (line 199) | private enum MovieGenre
    class EmailResult (line 214) | private sealed class EmailResult
    class Email (line 219) | private sealed class Email
    class EmailPlugin (line 227) | private sealed class EmailPlugin
      method GetEmails (line 230) | [KernelFunction]
    class User (line 244) | [Description("User")]
    method OutputResult (line 264) | private void OutputResult(MovieResult movieResult)
    method OutputResult (line 284) | private void OutputResult(EmailResult emailResult)
    method OutputResult (line 298) | private void OutputResult(User user)
    method InitializeKernel (line 308) | private Kernel InitializeKernel(bool useGoogleAI)

FILE: dotnet/samples/Concepts/ChatCompletion/Google_GeminiVision.cs
  class Google_GeminiVision (line 12) | public sealed class Google_GeminiVision(ITestOutputHelper output) : Base...
    method GoogleAIChatCompletionWithVision (line 14) | [Fact]
    method VertexAIChatCompletionWithVision (line 55) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/HuggingFace_ChatCompletion.cs
  class HuggingFace_ChatCompletion (line 18) | public class HuggingFace_ChatCompletion(ITestOutputHelper output) : Base...
    method UsingKernelNonStreamingWithHuggingFace (line 23) | [Fact]
    method UsingServiceNonStreamingWithHuggingFace (line 57) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/HuggingFace_ChatCompletionStreaming.cs
  class HuggingFace_ChatCompletionStreaming (line 18) | public class HuggingFace_ChatCompletionStreaming(ITestOutputHelper outpu...
    method UsingServiceStreamingWithHuggingFace (line 23) | [Fact]
    method UsingKernelStreamingWithHuggingFace (line 64) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/HybridCompletion_Fallback.cs
  class HybridCompletion_Fallback (line 27) | public class HybridCompletion_Fallback(ITestOutputHelper output) : BaseT...
    method FallbackToAvailableModelAsync (line 32) | [Fact]
    method FallbackToAvailableModelStreamingAsync (line 67) | [Fact]
    method CreateUnavailableOpenAIChatClient (line 95) | private static IChatClient CreateUnavailableOpenAIChatClient()
    method CreateAzureOpenAIChatClient (line 114) | private static IChatClient CreateAzureOpenAIChatClient()
    class StubHandler (line 123) | protected sealed class StubHandler(HttpMessageHandler innerHandler, Fu...
      method SendAsync (line 125) | protected override async Task<HttpResponseMessage> SendAsync(HttpReq...
  class FallbackChatClient (line 139) | internal sealed class FallbackChatClient : IChatClient
    method FallbackChatClient (line 155) | public FallbackChatClient(IList<IChatClient> chatClients)
    method GetResponseAsync (line 169) | public async Task<Microsoft.Extensions.AI.ChatResponse> GetResponseAsy...
    method GetStreamingResponseAsync (line 195) | public async IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponse...
    method ShouldFallbackToNextClient (line 244) | private bool ShouldFallbackToNextClient(Exception ex, int clientIndex,...
    method Dispose (line 269) | public void Dispose()
    method GetService (line 275) | public object? GetService(Type serviceType, object? serviceKey = null)

FILE: dotnet/samples/Concepts/ChatCompletion/LMStudio_ChatCompletion.cs
  class LMStudio_ChatCompletion (line 20) | public class LMStudio_ChatCompletion(ITestOutputHelper output) : BaseTes...
    method UsingKernelStreamingWithLMStudio (line 25) | [Fact]
    method UsingServiceNonStreamingWithLMStudio (line 59) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/LMStudio_ChatCompletionStreaming.cs
  class LMStudio_ChatCompletionStreaming (line 20) | public class LMStudio_ChatCompletionStreaming(ITestOutputHelper output) ...
    method UsingServiceStreamingWithLMStudio (line 25) | [Fact]
    method UsingKernelStreamingWithLMStudio (line 66) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/MistralAI_ChatCompletion.cs
  class MistralAI_ChatCompletion (line 10) | public class MistralAI_ChatCompletion(ITestOutputHelper output) : BaseTe...
    method GetChatMessageContentAsync (line 12) | [Fact]
    method GetChatMessageContentUsingImageContentAsync (line 31) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/MistralAI_ChatPrompt.cs
  class MistralAI_ChatPrompt (line 12) | public sealed class MistralAI_ChatPrompt(ITestOutputHelper output) : Bas...
    method GetChatMessageContentsAsync (line 14) | [Fact]
    method GetStreamingChatMessageContentsAsync (line 36) | [Fact]
    method ChatPromptAsync (line 58) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/MistralAI_FunctionCalling.cs
  class MistralAI_FunctionCalling (line 15) | public sealed class MistralAI_FunctionCalling(ITestOutputHelper output) ...
    method AutoInvokeKernelFunctionsAsync (line 17) | [Fact]
    method AutoInvokeKernelFunctionsMultipleCallsAsync (line 35) | [Fact]
    method RequiredKernelFunctionsAsync (line 58) | [Fact]
    method NoKernelFunctionsAsync (line 80) | [Fact]
    method AutoInvokeKernelFunctionsMultiplePluginsAsync (line 101) | [Fact]
    class WeatherPlugin (line 120) | public sealed class WeatherPlugin
      method GetWeather (line 122) | [KernelFunction]
    class WidgetPlugin (line 129) | public sealed class WidgetPlugin
      method CreateWidget (line 131) | [KernelFunction]
    type WidgetColor (line 140) | [JsonConverter(typeof(JsonStringEnumConverter))]
    method CreateKernelWithWeatherPlugin (line 153) | private Kernel CreateKernelWithWeatherPlugin()

FILE: dotnet/samples/Concepts/ChatCompletion/MistralAI_StreamingFunctionCalling.cs
  class MistralAI_StreamingFunctionCalling (line 13) | public sealed class MistralAI_StreamingFunctionCalling(ITestOutputHelper...
    method GetChatMessageContentsAsync (line 15) | [Fact]
    class WeatherPlugin (line 41) | public sealed class WeatherPlugin
      method GetWeather (line 43) | [KernelFunction]

FILE: dotnet/samples/Concepts/ChatCompletion/MultipleProviders_ChatHistoryReducer.cs
  class MultipleProviders_ChatHistoryReducer (line 13) | public class MultipleProviders_ChatHistoryReducer(ITestOutputHelper outp...
    method ShowTotalTokenCountAsync (line 15) | [Fact]
    method ShowHowToReduceChatHistoryToLastMessageAsync (line 54) | [Fact]
    method ShowHowToReduceChatHistoryToLastMessageStreamingAsync (line 97) | [Fact]
    method ShowHowToReduceChatHistoryToMaxTokensAsync (line 145) | [Fact]
    method ShowHowToReduceChatHistoryWithSummarizationAsync (line 188) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/Ollama_ChatCompletion.cs
  class Ollama_ChatCompletion (line 14) | public class Ollama_ChatCompletion(ITestOutputHelper output) : BaseTest(...
    method UsingChatClientPromptAsync (line 19) | [Fact]
    method UsingChatCompletionServicePromptWithInnerContentAsync (line 61) | [Fact]
    method ChatPromptAsync (line 96) | [Fact]
    method ChatPromptWithInnerContentAsync (line 129) | [Fact]
    method OutputOllamaSharpContent (line 162) | private void OutputOllamaSharpContent(OllamaSharp.Models.Chat.ChatDone...

FILE: dotnet/samples/Concepts/ChatCompletion/Ollama_ChatCompletionStreaming.cs
  class Ollama_ChatCompletionStreaming (line 14) | public class Ollama_ChatCompletionStreaming(ITestOutputHelper output) : ...
    method UsingChatClientStreaming (line 19) | [Fact]
    method UsingChatCompletionServiceStreamingWithOllama (line 54) | [Fact]
    method UsingChatClientStreamingRawContentsWithOllama (line 94) | [Fact]
    method UsingKernelChatPromptStreaming (line 125) | [Fact]
    method UsingKernelChatPromptStreamingRawRepresentation (line 159) | [Fact]
    method UsingStreamingTextFromChatCompletion (line 194) | [Fact]
    method StreamMessageOutputFromKernelAsync (line 224) | private async Task<string> StreamMessageOutputFromKernelAsync(Kernel k...
    method StreamChatClientMessageOutputAsync (line 248) | private async Task StreamChatClientMessageOutputAsync(IChatClient chat...
    method OutputOllamaSharpContent (line 279) | private void OutputOllamaSharpContent(OllamaSharp.Models.Chat.ChatResp...
    method OutputLastMessage (line 305) | private void OutputLastMessage(List<ChatMessage> chatHistory)

FILE: dotnet/samples/Concepts/ChatCompletion/Ollama_ChatCompletionWithVision.cs
  class Ollama_ChatCompletionWithVision (line 14) | public class Ollama_ChatCompletionWithVision(ITestOutputHelper output) :...
    method GetLocalImageDescriptionUsingChatClient (line 20) | [Fact]
    method GetLocalImageDescription (line 50) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/Onnx_ChatCompletion.cs
  class Onnx_ChatCompletion (line 11) | public class Onnx_ChatCompletion(ITestOutputHelper output) : BaseTest(ou...
    method ServicePromptAsync (line 29) | [Fact]
    method ChatPromptAsync (line 81) | [Fact]
    method DisposeServices (line 116) | private static void DisposeServices(Kernel kernel)

FILE: dotnet/samples/Concepts/ChatCompletion/Onnx_ChatCompletionStreaming.cs
  class Onnx_ChatCompletionStreaming (line 13) | public class Onnx_ChatCompletionStreaming(ITestOutputHelper output) : Ba...
    method StreamChatAsync (line 31) | [Fact]
    method StreamChatPromptAsync (line 80) | [Fact]
    method StreamTextFromChatAsync (line 129) | [Fact]
    method StreamMessageOutputAsync (line 158) | private async Task StreamMessageOutputAsync(OnnxRuntimeGenAIChatComple...
    method StreamMessageOutputFromKernelAsync (line 182) | private async Task<string> StreamMessageOutputFromKernelAsync(Kernel k...
    method DisposeServices (line 210) | private static void DisposeServices(Kernel kernel)

FILE: dotnet/samples/Concepts/ChatCompletion/OpenAI_ChatCompletion.cs
  class OpenAI_ChatCompletion (line 13) | public class OpenAI_ChatCompletion(ITestOutputHelper output) : BaseTest(...
    method ServicePromptAsync (line 18) | [Fact]
    method ServicePromptWithInnerContentAsync (line 56) | [Fact]
    method ChatPromptAsync (line 87) | [Fact]
    method ChatPromptWithInnerContentAsync (line 119) | [Fact]
    method ChatPromptStoreWithMetadataAsync (line 149) | [Fact]
    method OutputInnerContent (line 181) | private void OutputInnerContent(OpenAI.Chat.ChatCompletion innerContent)

FILE: dotnet/samples/Concepts/ChatCompletion/OpenAI_ChatCompletionStreaming.cs
  class OpenAI_ChatCompletionStreaming (line 13) | public class OpenAI_ChatCompletionStreaming(ITestOutputHelper output) : ...
    method StreamServicePromptAsync (line 18) | [Fact]
    method StreamServicePromptTextAsync (line 54) | [Fact]
    method StreamServicePromptWithInnerContentAsync (line 88) | [Fact]
    method StreamChatPromptAsync (line 118) | [Fact]
    method StreamChatPromptWithInnerContentAsync (line 149) | [Fact]
    method StreamFunctionCallContentAsync (line 178) | [Fact]
    method StreamMessageOutputFromKernelAsync (line 217) | private async Task<string> StreamMessageOutputFromKernelAsync(Kernel k...
    method OutputInnerContent (line 253) | private void OutputInnerContent(OpenAI.Chat.StreamingChatCompletionUpd...

FILE: dotnet/samples/Concepts/ChatCompletion/OpenAI_ChatCompletionWebSearch.cs
  class OpenAI_ChatCompletioWebSearch (line 19) | public class OpenAI_ChatCompletioWebSearch(ITestOutputHelper output) : B...
    method UsingChatCompletionWithWebSearchEnabled (line 21) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/OpenAI_ChatCompletionWithAudio.cs
  class OpenAI_ChatCompletionWithAudio (line 27) | public class OpenAI_ChatCompletionWithAudio(ITestOutputHelper output) : ...
    method UsingChatCompletionWithLocalInputAudioAndOutputAudio (line 42) | [Fact]
    method UsingChatCompletionWithLocalInputAudioAndTextOutput (line 93) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/OpenAI_ChatCompletionWithFile.cs
  class OpenAI_ChatCompletionWithFile (line 12) | public class OpenAI_ChatCompletionWithFile(ITestOutputHelper output) : B...
    method UsingLocalFileInChatCompletion (line 17) | [Fact]
    method UsingBase64DataUriInChatCompletion (line 44) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/OpenAI_ChatCompletionWithReasoning.cs
  class OpenAI_ChatCompletionWithReasoning (line 12) | public class OpenAI_ChatCompletionWithReasoning(ITestOutputHelper output...
    method ChatPromptWithReasoningAsync (line 17) | [Fact]
    method ServicePromptWithReasoningAsync (line 55) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/OpenAI_ChatCompletionWithVision.cs
  class OpenAI_ChatCompletionWithVision (line 10) | public class OpenAI_ChatCompletionWithVision(ITestOutputHelper output) :...
    method RemoteImageAsync (line 12) | [Fact]
    method LocalImageAsync (line 36) | [Fact]
    method LocalImageWithImageDetailInMetadataAsync (line 60) | [Fact]

FILE: dotnet/samples/Concepts/ChatCompletion/OpenAI_CustomClient.cs
  class OpenAI_CustomClient (line 16) | public sealed class OpenAI_CustomClient(ITestOutputHelper output) : Base...
    method UsingCustomHttpClientWithOpenAI (line 18) | [Fact]
    class MyCustomClientHttpHandler (line 66) | private sealed class MyCustomClientHttpHandler(ITestOutputHelper outpu...
      method SendAsync (line 68) | protected override async Task<HttpResponseMessage> SendAsync(HttpReq...

FILE: dotnet/samples/Concepts/ChatCompletion/OpenAI_FunctionCalling.cs
  class OpenAI_FunctionCalling (line 11) | public sealed class OpenAI_FunctionCalling(ITestOutputHelper output) : B...
    method AutoInvokeKernelFunctionsAsync (line 13) | [Fact]
    method AutoInvokeKernelFunctionsMultipleCallsAsync (line 31) | [Fact]
    method AutoInvokeKernelFunctionsWithComplexParameterAsync (line 54) | [Fact]
    method AutoInvokeLightPluginAsync (line 72) | [Fact]
    class WeatherPlugin (line 91) | private sealed class WeatherPlugin
      method GetWeather (line 93) | [KernelFunction]
    class HolidayPlugin (line 100) | private sealed class HolidayPlugin
      method BookHoliday (line 102) | [KernelFunction]
    class HolidayRequest (line 109) | private sealed class HolidayRequest
    class LightPlugin (line 118) | private sealed class LightPlugin
      method GetState (line 122) | [KernelFunction]
      method ChangeState (line 126) | [KernelFunction]
    method CreateKernelWithPlugin (line 136) | private Kernel CreateKernelWithPlugin<T>()
    class FunctionFilterExample (line 153) | private sealed class FunctionFilterExample(ITestOutputHelper output) :...
      method OnFunctionInvocationAsync (line 155) | public async Task OnFunctionInvocationAsync(FunctionInvocationContex...

FILE: dotnet/samples/Concepts/ChatCompletion/OpenAI_FunctionCallingWithMemoryPlugin.cs
  class OpenAI_FunctionCallingWithMemoryPlugin (line 17) | public class OpenAI_FunctionCallingWithMemoryPlugin(ITestOutputHelper ou...
    method UseFunctionCallingToRetrieveMemoriesAsync (line 26) | [Fact]
    method PopulateMemoryAsync (line 71) | private static async Task PopulateMemoryAsync(string collection, Seman...
    class MemoryPlugin (line 93) | private sealed class MemoryPlugin(string collection, ISemanticTextMemo...
      method GetUsefulInformationAsync (line 95) | [KernelFunction]
    class FunctionInvocationFilter (line 112) | private sealed class FunctionInvocationFilter(ITestOutputHelper output...
      method OnFunctionInvocationAsync (line 117) | public async Task OnFunctionInvocationAsync(Microsoft.SemanticKernel...

FILE: dotnet/samples/Concepts/ChatCompletion/OpenAI_ReasonedFunctionCalling.cs
  class OpenAI_ReasonedFunctionCalling (line 14) | public sealed class OpenAI_ReasonedFunctionCalling(ITestOutputHelper out...
    method AskAssistantToExplainFunctionCallsAfterExecutionAsync (line 22) | [Fact]
    method UseDecoratedFunctionAsync (line 48) | [Fact]
    method UseDecoratedFunctionWithPromptAsync (line 70) | [Fact]
    method AskAssistantToExplainFunctionCallsBeforeExecutionAsync (line 90) | [Fact]
    method QueryAssistantToExplainFunctionCallsBeforeExecutionAsync (line 114) | [Fact]
    class RespondExplainFunctionInvocationFilter (line 142) | private sealed class RespondExplainFunctionInvocationFilter : IAutoFun...
      method OnAutoFunctionInvocationAsync (line 146) | public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocati...
    class QueryExplainFunctionInvocationFilter (line 180) | private sealed class QueryExplainFunctionInvocationFilter(ITestOutputH...
      method OnAutoFunctionInvocationAsync (line 184) | public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocati...
    class WeatherPlugin (line 204) | private sealed class WeatherPlugin
      method GetWeather (line 206) | [KernelFunction]
    class DecoratedWeatherPlugin (line 213) | private sealed class DecoratedWeatherPlugin
      method GetWeather (line 217) | [KernelFunction]
    method CreateKernelWithPlugin (line 225) | private Kernel CreateKernelWithPlugin<T>()

FILE: dotnet/samples/Concepts/ChatCompletion/OpenAI_RepeatedFunctionCalling.cs
  class OpenAI_RepeatedFunctionCalling (line 13) | public sealed class OpenAI_RepeatedFunctionCalling(ITestOutputHelper out...
    method ReuseFunctionResultExecutionAsync (line 19) | [Fact]
    class WeatherPlugin (line 51) | private sealed class WeatherPlugin
      method GetWeather (line 53) | [KernelFunction]
    method CreateKernelWithPlugin (line 60) | private Kernel CreateKernelWithPlugin<T>()

FILE: dotnet/samples/Concepts/ChatCompletion/OpenAI_StructuredOutputs.cs
  class OpenAI_StructuredOutputs (line 28) | public class OpenAI_StructuredOutputs(ITestOutputHelper output) : BaseTe...
    method StructuredOutputsWithChatResponseFormatAsync (line 34) | [Fact]
    method StructuredOutputsWithTypeInExecutionSettingsAsync (line 107) | [Fact]
    method StructuredOutputsWithFunctionCallingOpenAIAsync (line 152) | [Fact]
    method StructuredOutputsWithFunctionCallingAzureOpenAIAsync (line 201) | [Fact]
    method StructuredOutputsWithAzureOpenAIAsync (line 250) | [Fact]
    method StructuredOutputsWithFunctionsFromPromptAsync (line 295) | [Fact]
    method StructuredOutputsWithFunctionsFromYamlAsync (line 338) | [Fact]
    type MovieResult (line 383) | private struct MovieResult
    type Movie (line 389) | private struct Movie
    class EmailResult (line 404) | private sealed class EmailResult
    class Email (line 409) | private sealed class Email
    class EmailPlugin (line 417) | private sealed class EmailPlugin
      method GetEmails (line 420) | [KernelFunction]
    method OutputResult (line 435) | private void OutputResult(MovieResult movieResult)
    method OutputResult (line 452) | private void OutputResult(EmailResult emailResult)

FILE: dotnet/samples/Concepts/ChatCompletion/OpenAI_UsingLogitBias.cs
  class OpenAI_UsingLogitBias (line 12) | public class OpenAI_UsingLogitBias(ITestOutputHelper output) : BaseTest(...
    method RunAsync (line 14) | [Fact]
    method MessageOutputAsync (line 70) | private Task MessageOutputAsync(ChatHistory chatHistory)

FILE: dotnet/samples/Concepts/DependencyInjection/HttpClient_Registration.cs
  class HttpClient_Registration (line 9) | public class HttpClient_Registration(ITestOutputHelper output) : BaseTes...
    method UseBasicRegistrationWithHttpClientFactory (line 14) | [Fact]
    method UseNamedRegistrationWitHttpClientFactory (line 37) | [Fact]

FILE: dotnet/samples/Concepts/DependencyInjection/HttpClient_Resiliency.cs
  class HttpClient_Resiliency (line 12) | public class HttpClient_Resiliency(ITestOutputHelper output) : BaseTest(...
    method RunAsync (line 17) | [Fact]

FILE: dotnet/samples/Concepts/DependencyInjection/Kernel_Building.cs
  class Kernel_Building (line 15) | public class Kernel_Building(ITestOutputHelper output) : BaseTest(output)
    method BuildKernelUsingServiceCollection (line 17) | [Fact]
    method BuildKernelUsingServiceProvider (line 33) | [Fact]
    method BuildKernelUsingServiceCollectionExtension (line 59) | [Fact]

FILE: dotnet/samples/Concepts/DependencyInjection/Kernel_Injecting.cs
  class Kernel_Injecting (line 10) | public class Kernel_Injecting(ITestOutputHelper output) : BaseTest(output)
    method RunAsync (line 12) | [Fact]
    class KernelClient (line 37) | private sealed class KernelClient(Kernel kernel, ILoggerFactory logger...
      method SummarizeAsync (line 42) | public async Task SummarizeAsync(string ask)

FILE: dotnet/samples/Concepts/Filtering/AutoFunctionInvocationFiltering.cs
  class AutoFunctionInvocationFiltering (line 9) | public class AutoFunctionInvocationFiltering(ITestOutputHelper output) :...
    method AutoFunctionInvocationFilterAsync (line 14) | [Fact]
    method GetFunctionCallsWithFilterAsync (line 49) | [Fact]
    class AutoFunctionInvocationFilter (line 94) | private sealed class AutoFunctionInvocationFilter(ITestOutputHelper ou...
      method OnAutoFunctionInvocationAsync (line 96) | public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocati...
    class FunctionCallsFilter (line 149) | private sealed class FunctionCallsFilter(ITestOutputHelper output) : I...
      method OnAutoFunctionInvocationAsync (line 151) | public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocati...

FILE: dotnet/samples/Concepts/Filtering/AzureOpenAI_DeploymentSwitch.cs
  class AzureOpenAI_DeploymentSwitch (line 15) | public class AzureOpenAI_DeploymentSwitch(ITestOutputHelper output) : Ba...
    method DeploymentSwitchAsync (line 17) | [Fact]
    class AutoFunctionInvocationFilter (line 71) | private sealed class AutoFunctionInvocationFilter(ITestOutputHelper ou...
      method OnAutoFunctionInvocationAsync (line 73) | public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocati...

FILE: dotnet/samples/Concepts/Filtering/ChatClient_AutoFunctionInvocationFiltering.cs
  class ChatClient_AutoFunctionInvocationFiltering (line 9) | public class ChatClient_AutoFunctionInvocationFiltering(ITestOutputHelpe...
    method UsingAutoFunctionInvocationFilter (line 14) | [Fact]
    method GetFunctionCallsWithFilterAsync (line 49) | [Fact]
    class AutoFunctionInvocationFilter (line 94) | private sealed class AutoFunctionInvocationFilter(ITestOutputHelper ou...
      method OnAutoFunctionInvocationAsync (line 96) | public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocati...
    class FunctionCallsFilter (line 149) | private sealed class FunctionCallsFilter(ITestOutputHelper output) : I...
      method OnAutoFunctionInvocationAsync (line 151) | public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocati...

FILE: dotnet/samples/Concepts/Filtering/FunctionInvocationFiltering.cs
  class FunctionInvocationFiltering (line 10) | public class FunctionInvocationFiltering(ITestOutputHelper output) : Bas...
    method FunctionAndPromptFiltersAsync (line 15) | [Fact]
    method FunctionFilterResultOverrideAsync (line 40) | [Fact]
    method FunctionFilterResultOverrideOnStreamingAsync (line 61) | [Fact]
    method FunctionFilterResultOverrideForBothStreamingAndNonStreamingAsync (line 91) | [Fact]
    method FunctionFilterExceptionHandlingAsync (line 125) | [Fact]
    method FunctionFilterExceptionHandlingOnStreamingAsync (line 145) | [Fact]
    class FunctionFilterExample (line 175) | private sealed class FunctionFilterExample : IFunctionInvocationFilter
      method OnFunctionInvocationAsync (line 177) | public async Task OnFunctionInvocationAsync(FunctionInvocationContex...
    class StreamingFunctionFilterExample (line 204) | private sealed class StreamingFunctionFilterExample : IFunctionInvocat...
      method OnFunctionInvocationAsync (line 206) | public async Task OnFunctionInvocationAsync(FunctionInvocationContex...
      method OverrideStreamingDataAsync (line 216) | private async IAsyncEnumerable<string> OverrideStreamingDataAsync(IA...
    class ExceptionHandlingFilterExample (line 227) | private sealed class ExceptionHandlingFilterExample(ILogger logger) : ...
      method OnFunctionInvocationAsync (line 231) | public async Task OnFunctionInvocationAsync(FunctionInvocationContex...
    class StreamingExceptionHandlingFilterExample (line 251) | private sealed class StreamingExceptionHandlingFilterExample(ILogger l...
      method OnFunctionInvocationAsync (line 255) | public async Task OnFunctionInvocationAsync(FunctionInvocationContex...
      method StreamingWithExceptionHandlingAsync (line 263) | private async IAsyncEnumerable<string> StreamingWithExceptionHandlin...
    class DualModeFilter (line 296) | private sealed class DualModeFilter : IFunctionInvocationFilter
      method OnFunctionInvocationAsync (line 298) | public async Task OnFunctionInvocationAsync(FunctionInvocationContex...
      method OverrideStreamingDataAsync (line 314) | private async IAsyncEnumerable<string> OverrideStreamingDataAsync(IA...
      method OverrideNonStreamingData (line 322) | private string OverrideNonStreamingData(string data)
    class FirstFunctionFilter (line 332) | private sealed class FirstFunctionFilter(ITestOutputHelper output) : I...
      method OnFunctionInvocationAsync (line 336) | public async Task OnFunctionInvocationAsync(FunctionInvocationContex...
    class SecondFunctionFilter (line 344) | private sealed class SecondFunctionFilter(ITestOutputHelper output) : ...
      method OnFunctionInvocationAsync (line 348) | public async Task OnFunctionInvocationAsync(FunctionInvocationContex...

FILE: dotnet/samples/Concepts/Filtering/MaxTokensWithFilters.cs
  class MaxTokensWithFilters (line 18) | public sealed class MaxTokensWithFilters(ITestOutputHelper output) : Bas...
    method ExampleAsync (line 23) | [Fact]
    method RunExampleAsync (line 49) | private async Task RunExampleAsync(bool includeFilter)
    class MaxTokensFilter (line 91) | private sealed class MaxTokensFilter(OpenAIPromptExecutionSettings exe...
      method OnAutoFunctionInvocationAsync (line 93) | public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocati...
    class MoviePlugin (line 113) | private sealed class MoviePlugin(ITestOutputHelper output)
      method GetMovieTitles (line 115) | [KernelFunction]
      method GetDirectors (line 130) | [KernelFunction]
      method GetMovieDescriptions (line 145) | [KernelFunction]
    method GetChatHistoryOutputTokens (line 162) | private static int GetChatHistoryOutputTokens(ChatHistory? chatHistory)
    method GetOutputTokensFromMetadata (line 185) | private static int? GetOutputTokensFromMetadata(IReadOnlyDictionary<st...

FILE: dotnet/samples/Concepts/Filtering/PIIDetection.cs
  class PIIDetection (line 18) | public class PIIDetection(ITestOutputHelper output) : BaseTest(output)
    method PromptAnalyzerAsync (line 25) | [Fact]
    method PromptAnonymizerAsync (line 83) | [Fact]
    class PromptAnalyzerFilter (line 173) | private sealed class PromptAnalyzerFilter(
      method OnPromptRenderAsync (line 178) | public async Task OnPromptRenderAsync(PromptRenderContext context, F...
    class PromptAnonymizerFilter (line 215) | private sealed class PromptAnonymizerFilter(
      method OnPromptRenderAsync (line 221) | public async Task OnPromptRenderAsync(PromptRenderContext context, F...
    type AnalyzerEntityType (line 256) | private readonly struct AnalyzerEntityType(string name)
    class PresidioTextAnalyzerRequest (line 272) | private sealed class PresidioTextAnalyzerRequest
    class PresidioTextAnalyzerResponse (line 287) | private sealed class PresidioTextAnalyzerResponse
    class PresidioTextAnalyzerService (line 309) | private sealed class PresidioTextAnalyzerService(HttpClient httpClient)
      method AnalyzeAsync (line 313) | public async Task<List<PresidioTextAnalyzerResponse>> AnalyzeAsync(P...
    type AnonymizerType (line 336) | private readonly struct AnonymizerType(string name)
    class PresidioTextAnonymizer (line 352) | private sealed class PresidioTextAnonymizer
    class PresidioTextAnonymizerRequest (line 367) | private sealed class PresidioTextAnonymizerRequest
    class PresidioTextAnonymizerResponseItem (line 386) | private sealed class PresidioTextAnonymizerResponseItem
    class PresidioTextAnonymizerResponse (line 409) | private sealed class PresidioTextAnonymizerResponse
    class PresidioTextAnonymizerService (line 423) | private sealed class PresidioTextAnonymizerService(HttpClient httpClient)
      method AnonymizeAsync (line 427) | public async Task<PresidioTextAnonymizerResponse> AnonymizeAsync(Pre...
    class Contact (line 449) | private sealed class Contact
    class SearchPlugin (line 459) | private sealed class SearchPlugin
      method GetContacts (line 461) | [KernelFunction]

FILE: dotnet/samples/Concepts/Filtering/PromptRenderFiltering.cs
  class PromptRenderFiltering (line 8) | public class PromptRenderFiltering(ITestOutputHelper output) : BaseTest(...
    method FunctionAndPromptFiltersAsync (line 13) | [Fact]
    method PromptFilterRenderedPromptOverrideAsync (line 37) | [Fact]
    class PromptFilterExample (line 60) | private sealed class PromptFilterExample : IPromptRenderFilter
      method OnPromptRenderAsync (line 62) | public async Task OnPromptRenderAsync(PromptRenderContext context, F...
    class FirstPromptFilter (line 74) | private sealed class FirstPromptFilter(ITestOutputHelper output) : IPr...
      method OnPromptRenderAsync (line 78) | public async Task OnPromptRenderAsync(PromptRenderContext context, F...

FILE: dotnet/samples/Concepts/Filtering/RetryWithFilters.cs
  class RetryWithFilters (line 14) | public class RetryWithFilters(ITestOutputHelper output) : BaseTest(output)
    method ChangeModelAndRetryAsync (line 16) | [Fact]
    method ChangeModelAndRetryStreaming (line 47) | [Fact]
    class RetryFilter (line 80) | private sealed class RetryFilter(string fallbackModelId) : IFunctionIn...
      method OnFunctionInvocationAsync (line 82) | public async Task OnFunctionInvocationAsync(FunctionInvocationContex...
    class StreamingRetryFilter (line 107) | private sealed class StreamingRetryFilter(string fallbackModelId) : IF...
      method OnFunctionInvocationAsync (line 109) | public async Task OnFunctionInvocationAsync(FunctionInvocationContex...
      method DeferredStreamingRetryResult (line 118) | private async IAsyncEnumerable<StreamingKernelContent> DeferredStrea...

FILE: dotnet/samples/Concepts/Filtering/TelemetryWithFilters.cs
  class TelemetryWithFilters (line 19) | public class TelemetryWithFilters(ITestOutputHelper output) : BaseTest(o...
    method LoggingAsync (line 21) | [Theory]
    class FunctionInvocationLoggingFilter (line 126) | private sealed class FunctionInvocationLoggingFilter(ILogger logger) :...
      method OnFunctionInvocationAsync (line 128) | public async Task OnFunctionInvocationAsync(FunctionInvocationContex...
      method ProcessFunctionResult (line 180) | private void ProcessFunctionResult(FunctionResult functionResult)
      method ProcessFunctionResultStreamingAsync (line 196) | private async IAsyncEnumerable<StreamingChatMessageContent> ProcessF...
    class PromptRenderLoggingFilter (line 231) | private sealed class PromptRenderLoggingFilter(ILogger logger) : IProm...
      method OnPromptRenderAsync (line 233) | public async Task OnPromptRenderAsync(PromptRenderContext context, F...
    class AutoFunctionInvocationLoggingFilter (line 245) | private sealed class AutoFunctionInvocationLoggingFilter(ILogger logge...
      method OnAutoFunctionInvocationAsync (line 247) | public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocati...

FILE: dotnet/samples/Concepts/FunctionCalling/AzureAIInference_FunctionCalling.cs
  class AzureAIInference_FunctionCalling (line 8) | public class AzureAIInference_FunctionCalling : BaseTest
    method AzureAIInference_FunctionCalling (line 14) | public AzureAIInference_FunctionCalling(ITestOutputHelper output) : ba...
    method FunctionCallingAsync (line 24) | [Fact]
    method FunctionCallingWithPromptExecutionSettingsAsync (line 35) | [Fact]
    method Dispose (line 43) | protected override void Dispose(bool disposing)
    method CreateKernel (line 58) | private Kernel CreateKernel()

FILE: dotnet/samples/Concepts/FunctionCalling/ContextDependentAdvertising.cs
  class ContextDependentAdvertising (line 12) | public class ContextDependentAdvertising(ITestOutputHelper output) : Bas...
    method AdvertiseFunctionsDependingOnContextPerUserInteractionAsync (line 20) | [Fact]
    method CreateKernel (line 80) | private static Kernel CreateKernel()
    class GameUtils (line 90) | private sealed class GameUtils
      method CreateMaze (line 92) | [KernelFunction]
      method AddTrapsToMaze (line 95) | [KernelFunction]
      method AddTreasuresToMaze (line 98) | [KernelFunction]
      method PlayGame (line 101) | [KernelFunction]

FILE: dotnet/samples/Concepts/FunctionCalling/FunctionCalling.cs
  class FunctionCalling (line 63) | public class FunctionCalling(ITestOutputHelper output) : BaseTest(output)
    method RunPromptWithAutoFunctionChoiceBehaviorAdvertisingAllKernelFunctionsInvokedAutomaticallyAsync (line 68) | [Fact]
    method RunPromptWithRequiredFunctionChoiceBehaviorAdvertisingOneFunctionInvokedAutomaticallyAsync (line 83) | [Fact]
    method RunPromptWithNoneFunctionChoiceBehaviorAdvertisingAllKernelFunctionsAsync (line 100) | [Fact]
    method RunPromptTemplateConfigWithAutoFunctionChoiceBehaviorAdvertisingAllKernelFunctionsInvokedAutomaticallyAsync (line 117) | [Fact]
    method RunPromptTemplateConfigWithAutoFunctionChoiceBehaviorAdvertisingOneFunctionInvokedAutomaticallyAsync (line 142) | [Fact]
    method RunNonStreamingChatCompletionApiWithAutomaticFunctionInvocationAsync (line 166) | [Fact]
    method RunStreamingChatCompletionApiWithAutomaticFunctionInvocationAsync (line 190) | [Fact]
    method RunNonStreamingChatCompletionApiWithManualFunctionInvocationAsync (line 223) | [Fact]
    method RunStreamingChatCompletionApiWithManualFunctionCallingAsync (line 284) | [Fact]
    method RunNonStreamingPromptWithSimulatedFunctionAsync (line 352) | [Fact]
    method DisableFunctionCallingAsync (line 405) | [Fact]
    method DisableFunctionCallingInPromptTemplateConfigAsync (line 422) | [Fact]
    method RunNonStreamingChatCompletionApiWithConcurrentFunctionInvocationOptionAsync (line 446) | [Fact]
    method RunNonStreamingChatCompletionApiWithParallelFunctionCallOptionAsync (line 473) | [Fact]
    method RunNonStreamingChatCompletionApiWithParallelFunctionCallAndConcurrentFunctionInvocationOptionsAsync (line 500) | [Fact]
    method CreateKernel (line 532) | private static Kernel CreateKernel(ITestOutputHelper? output = null)

FILE: dotnet/samples/Concepts/FunctionCalling/FunctionCalling_ReturnMetadata.cs
  class FunctionCalling_ReturnMetadata (line 23) | public class FunctionCalling_ReturnMetadata(ITestOutputHelper output) : ...
    method ProvideFunctionReturnTypeDescriptionInFunctionDescriptionAsync (line 25) | [Fact]
    method ProvideFunctionReturnTypeSchemaInFunctionDescriptionAsync (line 54) | [Fact]
    method ProvideFunctionReturnTypeSchemaAsPartOfFunctionReturnValueAsync (line 83) | [Fact]
    class WeatherPlugin1 (line 122) | private sealed class WeatherPlugin1
      method GetWeatherData (line 124) | [KernelFunction]
      class WeatherData (line 136) | public sealed class WeatherData
    class WeatherPlugin2 (line 148) | private sealed class WeatherPlugin2
      method GetWeatherData (line 150) | [KernelFunction]
      class WeatherData (line 163) | public sealed class WeatherData
    class WeatherPlugin3 (line 175) | private sealed class WeatherPlugin3
      method GetWeatherData (line 177) | [KernelFunction]
      class WeatherData (line 189) | public sealed class WeatherData
    class AddReturnTypeSchemaFilter (line 208) | private sealed class AddReturnTypeSchemaFilter : IAutoFunctionInvocati...
      method OnAutoFunctionInvocationAsync (line 210) | public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocati...
      class FunctionResultWithSchema (line 226) | private sealed class FunctionResultWithSchema
    method CreateKernel (line 237) | private static Kernel CreateKernel()

FILE: dotnet/samples/Concepts/FunctionCalling/FunctionCalling_SharedState.cs
  class FunctionCalling_SharedState (line 14) | public class FunctionCalling_SharedState(ITestOutputHelper output) : Bas...
    method SaveSharedStateInLocalStoreAsync (line 24) | [Fact]
    class SummarizationPlugin (line 57) | private sealed class SummarizationPlugin(LocalStateService stateService)
      method Summarize (line 59) | [KernelFunction, Description("Summarize the text and store the summa...
    class TranslationPlugin (line 74) | private sealed class TranslationPlugin(LocalStateService stateService)
      method Translate (line 76) | [KernelFunction, Description("Translate the text from state identifi...
    class ConsolePlugin (line 94) | private sealed class ConsolePlugin(LocalStateService stateService, ITe...
      method Print (line 96) | [KernelFunction, Description("Print the text from state identified b...
    class LocalStateService (line 106) | private sealed class LocalStateService
      method GetState (line 110) | public string GetState(string id)
      method SetState (line 119) | public void SetState(string id, string value)

FILE: dotnet/samples/Concepts/FunctionCalling/Gemini_FunctionCalling.cs
  class Gemini_FunctionCalling (line 27) | public sealed class Gemini_FunctionCalling(ITestOutputHelper output) : B...
    method GoogleAIChatCompletionWithFunctionCalling (line 29) | [RetryFact]
    method VertexAIChatCompletionWithFunctionCalling (line 46) | [RetryFact]
    method GoogleAIFunctionCallingNullable (line 90) | [RetryFact]
    class MyWeatherPlugin (line 116) | private sealed class MyWeatherPlugin
      method GetWeather (line 118) | [KernelFunction]
    method VertexAIFunctionCallingNullable (line 126) | [RetryFact]
    method RunSampleAsync (line 176) | private async Task RunSampleAsync(Kernel kernel)
    class WeatherRequest (line 305) | private sealed class WeatherRequest

FILE: dotnet/samples/Concepts/FunctionCalling/MultipleFunctionsVsParameters.cs
  class MultipleFunctionsVsParameters (line 32) | public class MultipleFunctionsVsParameters(ITestOutputHelper output) : B...
    method InvoiceSearchBySampleAsync (line 37) | [Fact]
    method InvoiceSearchSampleAsync (line 56) | [Fact]
    method InvokePromptsAsync (line 73) | private async Task InvokePromptsAsync(Kernel kernel)
    class AutoFunctionInvocationFilter (line 100) | private sealed class AutoFunctionInvocationFilter(ITestOutputHelper ou...
      method OnAutoFunctionInvocationAsync (line 102) | public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocati...
    class InvoiceSearchBy (line 118) | private sealed class InvoiceSearchBy
      method SearchByCustomerName (line 120) | [KernelFunction]
      method SearchByPurchaseOrder (line 132) | [KernelFunction]
      method SearchByVendorNumber (line 144) | [KernelFunction]
    class InvoiceSearch (line 160) | private sealed class InvoiceSearch
      method Search (line 162) | [KernelFunction]
    class Invoice (line 193) | private sealed class Invoice
    class InvoiceSearchRequest (line 203) | [Description("The invoice search request.")]

FILE: dotnet/samples/Concepts/FunctionCalling/NexusRaven_FunctionCalling.cs
  class NexusRaven_FunctionCalling (line 16) | public class NexusRaven_FunctionCalling(ITestOutputHelper output) : Base...
    method InvokeTextGenerationAsync (line 26) | [Fact]
    method InvokeTextGenerationWithFunctionCallingAsync (line 44) | [Fact]
    method CreateSignature (line 96) | private static string CreateSignature(KernelFunction function)
    method GetType (line 109) | private static string GetType(KernelParameterMetadata parameter)
    method ImportFunctions (line 122) | private static KernelPlugin ImportFunctions(Kernel kernel)
    class FunctionDefinition (line 140) | private sealed class FunctionDefinition

FILE: dotnet/samples/Concepts/Functions/Arguments.cs
  class Arguments (line 10) | public class Arguments(ITestOutputHelper output) : BaseTest(output)
    method RunAsync (line 12) | [Fact]
    class StaticTextPlugin (line 43) | public sealed class StaticTextPlugin
      method Uppercase (line 45) | [KernelFunction, Description("Change all string chars to uppercase")]
      method AppendDay (line 49) | [KernelFunction, Description("Append the day variable")]

FILE: dotnet/samples/Concepts/Functions/FunctionResult_Metadata.cs
  class FunctionResult_Metadata (line 7) | public class FunctionResult_Metadata(ITestOutputHelper output) : BaseTes...
    method GetTokenUsageMetadataAsync (line 9) | [Fact]
    method GetFullModelMetadataAsync (line 34) | [Fact]
    method GetMetadataFromStreamAsync (line 59) | [Fact]

FILE: dotnet/samples/Concepts/Functions/FunctionResult_StronglyTyped.cs
  class FunctionResult_StronglyTyped (line 13) | public class FunctionResult_StronglyTyped(ITestOutputHelper output) : Ba...
    method RunAsync (line 15) | [Fact]
    class RootObject (line 51) | private sealed class RootObject
    class TestCompany (line 56) | private sealed class TestCompany
    class FunctionResultTestDataGen (line 66) | private sealed class FunctionResultTestDataGen : FunctionResultExtended
      method FunctionResultTestDataGen (line 72) | public FunctionResultTestDataGen(FunctionResult functionResult, long...
      method ParseTokenCounts (line 80) | private TokenCounts? ParseTokenCounts()
      method ParseTestCompanies (line 95) | private List<TestCompany> ParseTestCompanies()
    class TokenCounts (line 105) | private sealed class TokenCounts(int completionTokens, int promptToken...
    class FunctionResultExtended (line 115) | private class FunctionResultExtended
      method FunctionResultExtended (line 122) | public FunctionResultExtended(FunctionResult functionResult)
      method ParseResultFromFunctionResult (line 128) | private string ParseResultFromFunctionResult()

FILE: dotnet/samples/Concepts/Functions/MethodFunctions.cs
  class MethodFunctions (line 7) | public class MethodFunctions(ITestOutputHelper output) : BaseTest(output)
    method RunAsync (line 9) | [Fact]

FILE: dotnet/samples/Concepts/Functions/MethodFunctions_Advanced.cs
  class MethodFunctions_Advanced (line 14) | public class MethodFunctions_Advanced(ITestOutputHelper output) : BaseTe...
    method MethodFunctionsChaining (line 19) | [Fact]
    method AccessUnderlyingMethodAttributes (line 37) | [Fact]
    class Plugin (line 54) | private sealed class Plugin
      method Function1Async (line 58) | [KernelFunction]
      method Function2 (line 71) | [KernelFunction]
      method FunctionWithInvocationSettingsAttribute (line 81) | [KernelFunction, InvocationSettingsAttribute(priority: Priority.High)]
    class MyCustomType (line 96) | [TypeConverter(typeof(MyCustomTypeConverter))]
    class MyCustomTypeConverter (line 109) | private sealed class MyCustomTypeConverter : TypeConverter
      method CanConvertFrom (line 111) | public override bool CanConvertFrom(ITypeDescriptorContext? context,...
      method ConvertFrom (line 117) | public override object? ConvertFrom(ITypeDescriptorContext? context,...
      method ConvertTo (line 126) | public override object? ConvertTo(ITypeDescriptorContext? context, C...
    class InvocationSettingsAttribute (line 132) | [AttributeUsage(AttributeTargets.Method)]
      method InvocationSettingsAttribute (line 135) | public InvocationSettingsAttribute(Priority priority = Priority.Normal)
    type Priority (line 143) | private enum Priority

FILE: dotnet/samples/Concepts/Functions/MethodFunctions_Types.cs
  class MethodFunctions_Types (line 12) | public class MethodFunctions_Types(ITestOutputHelper output) : BaseTest(...
    method RunAsync (line 14) | [Fact]
  class LocalExamplePlugin (line 66) | public class LocalExamplePlugin(ITestOutputHelper output)
    method NoInputWithVoidResult (line 73) | [KernelFunction]
    method NoInputTaskWithVoidResult (line 82) | [KernelFunction]
    method InputDateTimeWithStringResult (line 92) | [KernelFunction]
    method NoInputTaskWithStringResult (line 103) | [KernelFunction]
    method MultipleInputsWithVoidResult (line 114) | [KernelFunction]
    method ComplexInputWithStringResult (line 123) | [KernelFunction]
    method InputStringTaskWithStringResult (line 134) | [KernelFunction]
    method InputStringTaskWithVoidResult (line 144) | [KernelFunction]
    method NoInputWithFunctionResult (line 154) | [KernelFunction]
    method NoInputTaskWithFunctionResult (line 166) | [KernelFunction]
    method TaskInjectingKernelWithInputTextAndStringResult (line 178) | [KernelFunction]
    method TaskInjectingKernelFunctionWithStringResult (line 189) | [KernelFunction, Description("Example function injecting itself as a p...
    method TaskInjectingLoggerWithNoResult (line 200) | [KernelFunction]
    method TaskInjectingLoggerFactoryWithNoResult (line 211) | [KernelFunction]
    method TaskInjectingServiceSelectorWithStringResult (line 225) | [KernelFunction]
    method TaskInjectingCultureInfoOrIFormatProviderWithStringResult (line 242) | [KernelFunction]
    method TaskInjectingCancellationTokenWithStringResult (line 253) | [KernelFunction]
    method ToString (line 261) | public override string ToString()

FILE: dotnet/samples/Concepts/Functions/MethodFunctions_Yaml.cs
  class MethodFunctions_Yaml (line 8) | public class MethodFunctions_Yaml(ITestOutputHelper output) : BaseTest(o...
    method CreateFunctionFromMethodWithYamlConfigAsync (line 31) | [Fact]
    class ValidatorPlugin (line 66) | private sealed class ValidatorPlugin
      method ValidateTaskId (line 68) | public string ValidateTaskId(Kernel kernel, string taskId)

FILE: dotnet/samples/Concepts/Functions/PromptFunctions_Inline.cs
  class PromptFunctions_Inline (line 8) | public class PromptFunctions_Inline(ITestOutputHelper output) : BaseTest...
    method RunAsync (line 10) | [Fact]

FILE: dotnet/samples/Concepts/Functions/PromptFunctions_MultipleArguments.cs
  class PromptFunctions_MultipleArguments (line 11) | public class PromptFunctions_MultipleArguments(ITestOutputHelper output)...
    method RunAsync (line 17) | [Fact]

FILE: dotnet/samples/Concepts/ImageToText/HuggingFace_ImageToText.cs
  class HuggingFace_ImageToText (line 13) | public sealed class HuggingFace_ImageToText(ITestOutputHelper output) : ...
    method ImageToTextAsync (line 18) | [Fact]

FILE: dotnet/samples/Concepts/Kernel/BuildingKernel.cs
  class BuildingKernel (line 12) | public class BuildingKernel(ITestOutputHelper output) : BaseTest(output)
    method BuildKernelWithAzureChatCompletion (line 14) | [Fact]
    method BuildKernelWithPlugins (line 28) | [Fact]

FILE: dotnet/samples/Concepts/Kernel/ConfigureExecutionSettings.cs
  class ConfigureExecutionSettings (line 9) | public sealed class ConfigureExecutionSettings(ITestOutputHelper output)...
    method RunAsync (line 14) | [Fact]

FILE: dotnet/samples/Concepts/Kernel/CustomAIServiceSelector.cs
  class CustomAIServiceSelector (line 15) | public class CustomAIServiceSelector(ITestOutputHelper output) : BaseTes...
    method UsingCustomSelectToSelectServiceByMatchingModelId (line 17) | [Fact]
    class GptAIServiceSelector (line 59) | private sealed class GptAIServiceSelector(string modelNameStartsWith, ...
      method TrySelect (line 64) | private bool TrySelect<T>(
      method TrySelectAIService (line 101) | public bool TrySelectAIService<T>(
      method TrySelectChatClient (line 110) | public bool TrySelectChatClient<T>(

FILE: dotnet/samples/Concepts/Memory/AWSBedrock_EmbeddingGeneration.cs
  class AWSBedrock_EmbeddingGeneration (line 11) | public class AWSBedrock_EmbeddingGeneration(ITestOutputHelper output) : ...
    method GenerateEmbeddings (line 16) | [RetryFact(typeof(HttpOperationException))]

FILE: dotnet/samples/Concepts/Memory/Google_EmbeddingGeneration.cs
  class Google_EmbeddingGeneration (line 12) | public class Google_EmbeddingGeneration(ITestOutputHelper output) : Base...
    method GenerateEmbeddingWithDefaultDimensionsUsingVertexAI (line 20) | [RetryFact(typeof(HttpOperationException))]
    method GenerateEmbeddingWithDefaultDimensionsUsingGoogleAI (line 72) | [RetryFact(typeof(HttpOperationException))]
    method GenerateEmbeddingWithCustomDimensionsUsingGoogleAI (line 93) | [RetryFact(typeof(HttpOperationException))]

FILE: dotnet/samples/Concepts/Memory/HuggingFace_EmbeddingGeneration.cs
  class HuggingFace_EmbeddingGeneration (line 13) | public class HuggingFace_EmbeddingGeneration(ITestOutputHelper output) :...
    method RunInferenceApiEmbeddingAsync (line 15) | [RetryFact(typeof(HttpOperationException))]

FILE: dotnet/samples/Concepts/Memory/HuggingFace_TextEmbeddingCustomHttpHandler.cs
  class HuggingFace_TextEmbeddingCustomHttpHandler (line 19) | [Obsolete("The IMemoryStore abstraction is being obsoleted")]
    method RunInferenceApiEmbeddingCustomHttpHandlerAsync (line 22) | public async Task RunInferenceApiEmbeddingCustomHttpHandlerAsync()
    class Record (line 48) | public class Record
    class CustomHttpClientHandler (line 60) | private sealed class CustomHttpClientHandler : HttpClientHandler
      method SendAsync (line 63) | protected override async Task<HttpResponseMessage> SendAsync(HttpReq...

FILE: dotnet/samples/Concepts/Memory/Ollama_EmbeddingGeneration.cs
  class Ollama_EmbeddingGeneration (line 10) | public class Ollama_EmbeddingGeneration(ITestOutputHelper output) : Base...
    method RunEmbeddingAsync (line 12) | [RetryFact(typeof(HttpOperationException))]

FILE: dotnet/samples/Concepts/Memory/Onnx_EmbeddingGeneration.cs
  class Onnx_EmbeddingGeneration (line 10) | public class Onnx_EmbeddingGeneration(ITestOutputHelper output) : BaseTe...
    method RunEmbeddingAsync (line 28) | [Fact]
    method RunServiceCollectionEmbeddingAsync (line 64) | [Fact]

FILE: dotnet/samples/Concepts/Memory/OpenAI_EmbeddingGeneration.cs
  class OpenAI_EmbeddingGeneration (line 13) | public class OpenAI_EmbeddingGeneration(ITestOutputHelper output) : Base...
    method RunEmbeddingAsync (line 15) | [RetryFact(typeof(HttpOperationException))]

FILE: dotnet/samples/Concepts/Memory/TextChunkerUsage.cs
  class TextChunkerUsage (line 9) | public class TextChunkerUsage(ITestOutputHelper output) : BaseTest(output)
    method RunExample (line 13) | [Fact]
    method RunExampleWithTokenCounter (line 24) | [Fact]
    method RunExampleWithHeader (line 40) | [Fact]
    method WriteParagraphsToConsole (line 51) | private void WriteParagraphsToConsole(List<string> paragraphs)

FILE: dotnet/samples/Concepts/Memory/TextChunkingAndEmbedding.cs
  class TextChunkingAndEmbedding (line 11) | public class TextChunkingAndEmbedding(ITestOutputHelper output) : BaseTe...
    method RunAsync (line 16) | [Fact]
    method RunExampleAsync (line 23) | private async Task RunExampleAsync()

FILE: dotnet/samples/Concepts/Memory/VectorStoreExtensions.cs
  class VectorStoreExtensions (line 13) | internal static class VectorStoreExtensions
    method CreateCollectionFromListAsync (line 41) | internal static async Task<VectorStoreCollection<TKey, TRecord>> Creat...
    method CreateCollectionFromTextSearchResultsAsync (line 77) | internal static async Task<VectorStoreCollection<TKey, TRecord>> Creat...

FILE: dotnet/samples/Concepts/Memory/VectorStoreFixtures/VectorStoreInfra.cs
  class VectorStoreInfra (line 11) | internal static class VectorStoreInfra
    method SetupPostgresContainerAsync (line 18) | public static async Task<string> SetupPostgresContainerAsync(DockerCli...
    method SetupQdrantContainerAsync (line 63) | public static async Task<string> SetupQdrantContainerAsync(DockerClien...
    method SetupRedisContainerAsync (line 105) | public static async Task<string> SetupRedisContainerAsync(DockerClient...
    method DeleteContainerAsync (line 148) | public static async Task DeleteContainerAsync(DockerClient client, str...

FILE: dotnet/samples/Concepts/Memory/VectorStoreFixtures/VectorStorePostgresContainerFixture.cs
  class VectorStorePostgresContainerFixture (line 11) | public class VectorStorePostgresContainerFixture : IAsyncLifetime
    method InitializeAsync (line 16) | public async Task InitializeAsync()
    method ManualInitializeAsync (line 20) | public async Task ManualInitializeAsync()
    method DisposeAsync (line 59) | public async Task DisposeAsync()

FILE: dotnet/samples/Concepts/Memory/VectorStoreFixtures/VectorStoreQdrantContainerFixture.cs
  class VectorStoreQdrantContainerFixture (line 11) | public class VectorStoreQdrantContainerFixture : IAsyncLifetime
    method InitializeAsync (line 16) | public async Task InitializeAsync()
    method ManualInitializeAsync (line 20) | public async Task ManualInitializeAsync()
    method DisposeAsync (line 48) | public async Task DisposeAsync()

FILE: dotnet/samples/Concepts/Memory/VectorStoreFixtures/VectorStoreRedisContainerFixture.cs
  class VectorStoreRedisContainerFixture (line 10) | public class VectorStoreRedisContainerFixture : IAsyncLifetime
    method InitializeAsync (line 15) | public async Task InitializeAsync()
    method ManualInitializeAsync (line 19) | public async Task ManualInitializeAsync()
    method DisposeAsync (line 30) | public async Task DisposeAsync()

FILE: dotnet/samples/Concepts/Memory/VectorStoreLangchainInterop/LangchainDocument.cs
  class LangchainDocument (line 13) | public class LangchainDocument<TKey>

FILE: dotnet/samples/Concepts/Memory/VectorStoreLangchainInterop/PineconeFactory.cs
  class PineconeFactory (line 15) | public static class PineconeFactory
    method CreatePineconeLangchainInteropVectorStore (line 36) | public static VectorStore CreatePineconeLangchainInteropVectorStore(Pi...
    class PineconeLangchainInteropVectorStore (line 39) | private sealed class PineconeLangchainInteropVectorStore(
      method GetCollection (line 46) | public override VectorStoreCollection<TKey, TRecord> GetCollection<T...
      method GetDynamicCollection (line 65) | public override VectorStoreCollection<object, Dictionary<string, obj...
      method GetService (line 79) | public override object? GetService(Type serviceType, object? service...
      method ListCollectionNamesAsync (line 81) | public override IAsyncEnumerable<string> ListCollectionNamesAsync(Ca...
      method CollectionExistsAsync (line 83) | public override Task<bool> CollectionExistsAsync(string name, Cancel...
      method EnsureCollectionDeletedAsync (line 85) | public override Task EnsureCollectionDeletedAsync(string name, Cance...

FILE: dotnet/samples/Concepts/Memory/VectorStoreLangchainInterop/RedisFactory.cs
  class RedisFactory (line 15) | public static class RedisFactory
    method CreateRedisLangchainInteropVectorStore (line 36) | public static VectorStore CreateRedisLangchainInteropVectorStore(IData...
    class RedisLangchainInteropVectorStore (line 39) | private sealed class RedisLangchainInteropVectorStore(
      method GetCollection (line 46) | public override VectorStoreCollection<TKey, TRecord> GetCollection<T...
      method GetDynamicCollection (line 66) | public override VectorStoreCollection<object, Dictionary<string, obj...
      method GetService (line 81) | public override object? GetService(Type serviceType, object? service...
      method ListCollectionNamesAsync (line 83) | public override IAsyncEnumerable<string> ListCollectionNamesAsync(Ca...
      method CollectionExistsAsync (line 85) | public override Task<bool> CollectionExistsAsync(string name, Cancel...
      method EnsureCollectionDeletedAsync (line 87) | public override Task EnsureCollectionDeletedAsync(string name, Cance...

FILE: dotnet/samples/Concepts/Memory/VectorStore_ConsumeFromMemoryStore_AzureAISearch.cs
  class VectorStore_ConsumeFromMemoryStore_AzureAISearch (line 27) | public class VectorStore_ConsumeFromMemoryStore_AzureAISearch(ITestOutpu...
    method ConsumeExampleAsync (line 32) | [Fact]
    class VectorStoreRecord (line 60) | private sealed class VectorStoreRecord

FILE: dotnet/samples/Concepts/Memory/VectorStore_ConsumeFromMemoryStore_Qdrant.cs
  class VectorStore_ConsumeFromMemoryStore_Qdrant (line 24) | public class VectorStore_ConsumeFromMemoryStore_Qdrant(ITestOutputHelper...
    method ConsumeExampleAsync (line 29) | [Fact]
    class VectorStoreRecord (line 56) | private sealed class VectorStoreRecord

FILE: dotnet/samples/Concepts/Memory/VectorStore_ConsumeFromMemoryStore_Redis.cs
  class VectorStore_ConsumeFromMemoryStore_Redis (line 23) | public class VectorStore_ConsumeFromMemoryStore_Redis(ITestOutputHelper ...
    method ConsumeExampleAsync (line 28) | [Fact]
    class VectorStoreRecord (line 58) | private sealed class VectorStoreRecord

FILE: dotnet/samples/Concepts/Memory/VectorStore_DataIngestion_MultiStore.cs
  class VectorStore_DataIngestion_MultiStore (line 32) | [Collection("Sequential")]
    method ExampleWithDIAsync (line 39) | [Theory]
    method ExampleWithoutDIAsync (line 97) | [Theory]
    method UpsertDataAndReadFromVectorStoreAsync (line 146) | private async Task UpsertDataAndReadFromVectorStoreAsync<TKey>(DataIng...
    class DataIngestor (line 165) | private sealed class DataIngestor(VectorStore vectorStore, IEmbeddingG...
      method ImportDataAsync (line 172) | public async Task<IEnumerable<TKey>> ImportDataAsync<TKey>(Func<TKey...
      method GetGlossaryAsync (line 199) | public Task<Glossary<TKey>?> GetGlossaryAsync<TKey>(TKey key)
    method CreateGlossaryEntries (line 213) | private static IEnumerable<Glossary<TKey>> CreateGlossaryEntries<TKey>...
    class Glossary (line 245) | private sealed class Glossary<TKey>

FILE: dotnet/samples/Concepts/Memory/VectorStore_DataIngestion_Simple.cs
  class VectorStore_DataIngestion_Simple (line 25) | [Collection("Sequential")]
    method ExampleAsync (line 28) | [Fact]
    class Glossary (line 70) | private sealed class Glossary
    method CreateGlossaryEntries (line 89) | private static IEnumerable<Glossary> CreateGlossaryEntries()

FILE: dotnet/samples/Concepts/Memory/VectorStore_DynamicDataModel_Interop.cs
  class VectorStore_DynamicDataModel_Interop (line 23) | public class VectorStore_DynamicDataModel_Interop(ITestOutputHelper outp...
    method UpsertWithDynamicRetrieveWithCustomAsync (line 38) | [Fact]
    method UpsertWithCustomRetrieveWithDynamicAsync (line 75) | [Fact]
    class Glossary (line 119) | private sealed class Glossary
    method CreateCustomGlossaryEntries (line 138) | private static IEnumerable<Glossary> CreateCustomGlossaryEntries()
    method CreateDynamicGlossaryEntries (line 166) | private static IEnumerable<Dictionary<string, object?>> CreateDynamicG...

FILE: dotnet/samples/Concepts/Memory/VectorStore_HybridSearch_Simple_AzureAISearch.cs
  class VectorStore_HybridSearch_Simple_AzureAISearch (line 22) | public class VectorStore_HybridSearch_Simple_AzureAISearch(ITestOutputHe...
    method IngestDataAndUseHybridSearch (line 24) | [Fact]
    class Glossary (line 92) | private sealed class Glossary
    method CreateGlossaryEntries (line 114) | private static IEnumerable<Glossary> CreateGlossaryEntries()

FILE: dotnet/samples/Concepts/Memory/VectorStore_Langchain_Interop.cs
  class VectorStore_Langchain_Interop (line 26) | public class VectorStore_Langchain_Interop(ITestOutputHelper output) : B...
    method ReadDataFromLangchainPineconeAsync (line 31) | [Fact]
    method ReadDataFromLangchainRedisAsync (line 42) | [Fact]
    method ReadDataFromCollectionAsync (line 56) | private async Task ReadDataFromCollectionAsync(VectorStore vectorStore...

FILE: dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_MultiStore_AzureAISearch.cs
  class VectorStore_VectorSearch_MultiStore_AzureAISearch (line 31) | public class VectorStore_VectorSearch_MultiStore_AzureAISearch(ITestOutp...
    method ExampleWithDIAsync (line 33) | [Fact]
    method ExampleWithoutDIAsync (line 68) | [Fact]

FILE: dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_MultiStore_Common.cs
  class VectorStore_VectorSearch_MultiStore_Common (line 23) | public class VectorStore_VectorSearch_MultiStore_Common(VectorStore vect...
    method IngestDataAndSearchAsync (line 32) | public async Task IngestDataAndSearchAsync<TKey>(string collectionName...
    method CreateGlossaryEntries (line 89) | private static IEnumerable<Glossary<TKey>> CreateGlossaryEntries<TKey>...
    class Glossary (line 124) | private sealed class Glossary<TKey>

FILE: dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_MultiStore_InMemory.cs
  class VectorStore_VectorSearch_MultiStore_InMemory (line 24) | public class VectorStore_VectorSearch_MultiStore_InMemory(ITestOutputHel...
    method ExampleWithDIAsync (line 26) | [Fact]
    method ExampleWithoutDIAsync (line 61) | [Fact]

FILE: dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_MultiStore_Postgres.cs
  class VectorStore_VectorSearch_MultiStore_Postgres (line 27) | public class VectorStore_VectorSearch_MultiStore_Postgres(ITestOutputHel...
    method ExampleWithDIAsync (line 29) | [Fact]
    method ExampleWithoutDIAsync (line 63) | [Fact]

FILE: dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_MultiStore_Qdrant.cs
  class VectorStore_VectorSearch_MultiStore_Qdrant (line 28) | public class VectorStore_VectorSearch_MultiStore_Qdrant(ITestOutputHelpe...
    method ExampleWithDIAsync (line 30) | [Fact]
    method ExampleWithoutDIAsync (line 64) | [Fact]

FILE: dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_MultiStore_Redis.cs
  class VectorStore_VectorSearch_MultiStore_Redis (line 31) | public class VectorStore_VectorSearch_MultiStore_Redis(ITestOutputHelper...
    method ExampleWithDIAsync (line 33) | [Theory]
    method ExampleWithoutDIAsync (line 71) | [Theory]

FILE: dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_MultiVector.cs
  class VectorStore_VectorSearch_MultiVector (line 20) | public class VectorStore_VectorSearch_MultiVector(ITestOutputHelper outp...
    method VectorSearchWithMultiVectorRecordAsync (line 22) | [Fact]
    method CreateProductRecords (line 87) | private static IEnumerable<Product> CreateProductRecords()
    class Product (line 125) | private sealed class Product

FILE: dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_Paging.cs
  class VectorStore_VectorSearch_Paging (line 16) | public class VectorStore_VectorSearch_Paging(ITestOutputHelper output) :...
    method VectorSearchWithPagingAsync (line 18) | [Fact]
    class TextSnippet (line 79) | private sealed class TextSnippet

FILE: dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_Simple.cs
  class VectorStore_VectorSearch_Simple (line 20) | public class VectorStore_VectorSearch_Simple(ITestOutputHelper output) :...
    method ExampleAsync (line 22) | [Fact]
    class Glossary (line 86) | private sealed class Glossary
    method CreateGlossaryEntries (line 108) | private static IEnumerable<Glossary> CreateGlossaryEntries()

FILE: dotnet/samples/Concepts/Memory/VolatileVectorStore_LoadData.cs
  class InMemoryVectorStore_LoadData (line 18) | public class InMemoryVectorStore_LoadData(ITestOutputHelper output) : Ba...
    method LoadStringListAndSearchAsync (line 20) | [Fact]
    method LoadTextSearchResultsAndSearchAsync (line 84) | [Fact]
    class DataModel (line 134) | private sealed class DataModel

FILE: dotnet/samples/Concepts/Optimization/FrugalGPTWithFilters.cs
  class FrugalGPTWithFilters (line 19) | public sealed class FrugalGPTWithFilters(ITestOutputHelper output) : Bas...
    method ReducePromptSizeAsync (line 27) | [Fact]
    method LLMCascadeAsync (line 122) | [Fact]
    class FewShotPromptOptimizationFilter (line 170) | private sealed class FewShotPromptOptimizationFilter(
      method OnPromptRenderAsync (line 184) | public async Task OnPromptRenderAsync(PromptRenderContext context, F...
    class LLMCascadeFilter (line 235) | private sealed class LLMCascadeFilter(
      method OnFunctionInvocationAsync (line 240) | public async Task OnFunctionInvocationAsync(Microsoft.SemanticKernel...
    class MockChatCompletionService (line 295) | private sealed class MockChatCompletionService(string modelId, string ...
      method GetChatMessageContentsAsync (line 299) | public Task<IReadOnlyList<ChatMessageContent>> GetChatMessageContent...
      method GetStreamingChatMessageContentsAsync (line 308) | public async IAsyncEnumerable<StreamingChatMessageContent> GetStream...
    class ExampleRecord (line 318) | private sealed class ExampleRecord

FILE: dotnet/samples/Concepts/Optimization/PluginSelectionWithFilters.cs
  class PluginSelectionWithFilters (line 24) | public sealed class PluginSelectionWithFilters(ITestOutputHelper output)...
    method UsingVectorSearchWithKernelAsync (line 29) | [Fact]
    method UsingVectorSearchWithChatCompletionAsync (line 103) | [Fact]
    class PluginSelectionFilter (line 178) | private sealed class PluginSelectionFilter(
      method OnFunctionInvocationAsync (line 184) | public async Task OnFunctionInvocationAsync(Microsoft.SemanticKernel...
      method GetExecutionSettings (line 222) | private static Dictionary<string, PromptExecutionSettings>? GetExecu...
      method GetRequestArgument (line 237) | private static string? GetRequestArgument(KernelArguments arguments)
    type IFunctionKeyProvider (line 246) | public interface IFunctionKeyProvider
      method GetFunctionKey (line 248) | string GetFunctionKey(KernelFunction kernelFunction);
    type IFunctionProvider (line 254) | public interface IFunctionProvider
      method GetBestFunctionsAsync (line 256) | Task<List<KernelFunction>> GetBestFunctionsAsync(
    type IPluginStore (line 267) | public interface IPluginStore
      method SaveAsync (line 269) | Task SaveAsync(string collectionName, KernelPluginCollection plugins...
    class FunctionKeyProvider (line 272) | public class FunctionKeyProvider : IFunctionKeyProvider
      method GetFunctionKey (line 274) | public string GetFunctionKey(KernelFunction kernelFunction)
    class FunctionProvider (line 282) | public class FunctionProvider(
      method GetBestFunctionsAsync (line 287) | public async Task<List<KernelFunction>> GetBestFunctionsAsync(
    class PluginStore (line 311) | public class PluginStore(
      method SaveAsync (line 316) | public async Task SaveAsync(string collectionName, KernelPluginColle...
      method GetFunctionsData (line 347) | private static List<(KernelFunction Function, string TextToVectorize...
    class TimePlugin (line 358) | private sealed class TimePlugin
      method GetCurrentTime (line 360) | [KernelFunction, Description("Provides the current date and time.")]
    class WeatherPlugin (line 364) | private sealed class WeatherPlugin
      method GetWeather (line 366) | [KernelFunction, Description("Provides weather information for vario...
    class EmailPlugin (line 380) | private sealed class EmailPlugin(ILogger logger)
      method SendEmail (line 382) | [KernelFunction, Description("Sends email to recipient with subject ...
    class NewsPlugin (line 389) | private sealed class NewsPlugin
      method GetLatestHeadlines (line 391) | [KernelFunction, Description("Provides the latest news headlines.")]
    class CalendarPlugin (line 401) | private sealed class CalendarPlugin
      method GetUpcomingEvents (line 403) | [KernelFunction, Description("Provides a list of upcoming events.")]
    class FunctionRecord (line 417) | private sealed class FunctionRecord

FILE: dotnet/samples/Concepts/Plugins/ApiManifestBasedPlugins.cs
  class ApiManifestBasedPlugins (line 56) | public class ApiManifestBasedPlugins(ITestOutputHelper output) : BaseTes...
    method RunApiManifestPluginAsync (line 83) | [Theory, MemberData(nameof(s_parameters))]
    method WriteSampleHeadingToConsole (line 96) | private void WriteSampleHeadingToConsole(string pluginToTest, string f...
    method AddApiManifestPluginsAsync (line 105) | private async Task AddApiManifestPluginsAsync(Kernel kernel, params st...
  class BearerAuthenticationProviderWithCancellationToken (line 179) | public class BearerAuthenticationProviderWithCancellationToken(Func<Task...
    method AuthenticateRequestAsync (line 188) | public async Task AuthenticateRequestAsync(HttpRequestMessage request,...

FILE: dotnet/samples/Concepts/Plugins/ConversationSummaryPlugin.cs
  class ConversationSummaryPlugin (line 8) | public class ConversationSummaryPlugin(ITestOutputHelper output) : BaseT...
    method RunAsync (line 118) | [RetryFact(typeof(HttpOperationException))]
    method ConversationSummaryPluginAsync (line 126) | private async Task ConversationSummaryPluginAsync()
    method GetConversationActionItemsAsync (line 140) | private async Task GetConversationActionItemsAsync()
    method GetConversationTopicsAsync (line 154) | private async Task GetConversationTopicsAsync()
    method InitializeKernel (line 168) | private Kernel InitializeKernel()

FILE: dotnet/samples/Concepts/Plugins/CopilotAgentBasedPlugins.cs
  class CopilotAgentBasedPlugins (line 55) | public class CopilotAgentBasedPlugins(ITestOutputHelper output) : BaseTe...
    method RunCopilotAgentPluginAsync (line 80) | [Theory, MemberData(nameof(s_parameters))]
    method WriteSampleHeadingToConsole (line 93) | private void WriteSampleHeadingToConsole(string pluginToTest, string f...
    method TrimPropertiesFromRequestBody (line 166) | private static KernelJsonSchema? TrimPropertiesFromRequestBody(KernelJ...
    method TrimPropertiesFromJsonNode (line 184) | private static void TrimPropertiesFromJsonNode(JsonNode jsonNode)
    method GetAuthenticationParametersAsync (line 221) | internal static async Task<CopilotAgentPluginParameters> GetAuthentica...
    method AddCopilotAgentPluginsAsync (line 273) | private async Task AddCopilotAgentPluginsAsync(Kernel kernel, params s...

FILE: dotnet/samples/Concepts/Plugins/CreatePluginFromOpenApiSpec_Github.cs
  class CreatePluginFromOpenApiSpec_Github (line 11) | public class CreatePluginFromOpenApiSpec_Github(ITestOutputHelper output...
    method RunOpenAIPluginWithMetadataAsync (line 19) | [Fact]
    method WriteStringToStream (line 100) | private static void WriteStringToStream(MemoryStream stream, string in...

FILE: dotnet/samples/Concepts/Plugins/CreatePluginFromOpenApiSpec_Jira.cs
  class CreatePluginFromOpenApiSpec_Jira (line 12) | public class CreatePluginFromOpenApiSpec_Jira(ITestOutputHelper output) ...
    method RunAsync (line 36) | [Fact(Skip = "Setup credentials")]
    class BasicAuthenticationProvider (line 115) | public class BasicAuthenticationProvider(Func<Task<string>> credentials)
      method AuthenticateRequestAsync (line 124) | public async Task AuthenticateRequestAsync(HttpRequestMessage reques...
    class BearerAuthenticationProvider (line 136) | public class BearerAuthenticationProvider(Func<Task<string>> bearerToken)
      method AuthenticateRequestAsync (line 144) | public async Task AuthenticateRequestAsync(HttpRequestMessage request)
    class InteractiveMsalAuthenticationProvider (line 154) | public class InteractiveMsalAuthenticationProvider(string clientId, st...
      method GetTokenAsync (line 164) | private static async Task<string> GetTokenAsync(string clientId, str...
    class CustomAuthenticationProvider (line 193) | public sealed class CustomAuthenticationProvider(Func<Task<string>> he...
      method AuthenticateRequestAsync (line 202) | public async Task AuthenticateRequestAsync(HttpRequestMessage request)

FILE: dotnet/samples/Concepts/Plugins/CreatePluginFromOpenApiSpec_Klarna.cs
  class CreatePluginFromOpenApiSpec_Klarna (line 8) | public class CreatePluginFromOpenApiSpec_Klarna(ITestOutputHelper output...
    method InvokeOpenApiPluginAsync (line 16) | [Fact(Skip = "Run it only after filling the template below")]
    method InvokeKlarnaGetProductsAsOpenApiPluginAsync (line 41) | [Fact]
    method UseDelegatingHandlerWhenInvokingAnOpenApiFunctionAsync (line 72) | [Fact]
    class CustomHandler (line 102) | private sealed class CustomHandler(HttpMessageHandler innerHandler) : ...
      method SendAsync (line 104) | protected override async Task<HttpResponseMessage> SendAsync(HttpReq...

FILE: dotnet/samples/Concepts/Plugins/CreatePluginFromOpenApiSpec_RepairService.cs
  class CreatePluginFromOpenApiSpec_RepairService (line 13) | public sealed class CreatePluginFromOpenApiSpec_RepairService(ITestOutpu...
    method ShowCreatingRepairServicePluginAsync (line 15) | [Fact]
    class Repair (line 63) | private sealed class Repair

FILE: dotnet/samples/Concepts/Plugins/CreatePromptPluginFromDirectory.cs
  class CreatePromptPluginFromDirectory (line 10) | public class CreatePromptPluginFromDirectory(ITestOutputHelper output) :...
    method ImportAndUsePromptPluginFromDirectoryWithOpenAI (line 12) | [Fact]
    method CreateFileBasedPluginTemplate (line 46) | private static void CreateFileBasedPluginTemplate(string pluginRootDir...

FILE: dotnet/samples/Concepts/Plugins/CrewAI_Plugin.cs
  class CrewAI_Plugin (line 12) | public class CrewAI_Plugin(ITestOutputHelper output) : BaseTest(output)
    method UsingCrewAIEnterpriseAsync (line 17) | [Fact]
    method UsingCrewAIEnterpriseAsPluginAsync (line 48) | [Fact]

FILE: dotnet/samples/Concepts/Plugins/CustomMutablePlugin.cs
  class CustomMutablePlugin (line 12) | public class CustomMutablePlugin(ITestOutputHelper output) : BaseTest(ou...
    method RunAsync (line 14) | [Fact]
    class MutableKernelPlugin (line 31) | public class MutableKernelPlugin : KernelPlugin
      method MutableKernelPlugin (line 42) | public MutableKernelPlugin(string name, string? description = null, ...
      method TryGetFunction (line 61) | public override bool TryGetFunction(string name, [NotNullWhen(true)]...
      method AddFunction (line 69) | public void AddFunction(KernelFunction function)
      method GetEnumerator (line 78) | public override IEnumerator<KernelFunction> GetEnumerator() => this....

FILE: dotnet/samples/Concepts/Plugins/DescribeAllPluginsAndFunctions.cs
  class DescribeAllPluginsAndFunctions (line 9) | public class DescribeAllPluginsAndFunctions(ITestOutputHelper output) : ...
    method RunAsync (line 16) | [Fact]
    method PrintFunction (line 60) | private void PrintFunction(KernelFunctionMetadata func)

FILE: dotnet/samples/Concepts/Plugins/GroundednessChecks.cs
  class GroundednessChecks (line 8) | public class GroundednessChecks(ITestOutputHelper output) : BaseTest(out...
    method GroundednessCheckingAsync (line 10) | [RetryFact(typeof(HttpOperationException))]

FILE: dotnet/samples/Concepts/Plugins/ImportPluginFromGrpc.cs
  class ImportPluginFromGrpc (line 9) | public class ImportPluginFromGrpc(ITestOutputHelper output) : BaseTest(o...
    method RunAsync (line 11) | [Fact(Skip = "Setup crendentials")]

FILE: dotnet/samples/Concepts/Plugins/MsGraph_CalendarPlugin.cs
  class MsGraph_CalendarPlugin (line 16) | public class MsGraph_CalendarPlugin(ITestOutputHelper output) : BaseTest...
    method UsingWithAIModel (line 21) | [Fact]
    method GetGraphClient (line 50) | private static GraphServiceClient GetGraphClient()

FILE: dotnet/samples/Concepts/Plugins/MsGraph_EmailPlugin.cs
  class MsGraph_EmailPlugin (line 14) | public class MsGraph_EmailPlugin(ITestOutputHelper output) : BaseTest(ou...
    method EmailPlugin_SendEmailToMyself (line 17) | [Fact]
    method GetGraphClient (line 47) | private static GraphServiceClient GetGraphClient()

FILE: dotnet/samples/Concepts/Plugins/MsGraph_OneDrivePlugin.cs
  class MsGraph_OneDrivePlugin (line 15) | public class MsGraph_OneDrivePlugin(ITestOutputHelper output) : BaseTest...
    method UsingWithAIModel (line 18) | [Fact]
    method GetGraphClient (line 48) | private static GraphServiceClient GetGraphClient()

FILE: dotnet/samples/Concepts/Plugins/MsGraph_OrganizationHierarchyPlugin.cs
  class MsGraph_OrganizationHierarchyPlugin (line 16) | public class MsGraph_OrganizationHierarchyPlugin(ITestOutputHelper outpu...
    method UsingWithAIModel (line 21) | [Fact]
    method GetGraphClient (line 45) | private static GraphServiceClient GetGraphClient()

FILE: dotnet/samples/Concepts/Plugins/MsGraph_TaskListPlugin.cs
  class MsGraph_TaskListPlugin (line 16) | public class MsGraph_TaskListPlugin(ITestOutputHelper output) : BaseTest...
    method UsingWithAIModel (line 21) | [Fact]
    method GetGraphClient (line 48) | private static GraphServiceClient GetGraphClient()

FILE: dotnet/samples/Concepts/Plugins/OpenApiPlugin_CustomHttpContentReader.cs
  class CustomHttpContentReaderForOpenApiPlugin (line 13) | public sealed class CustomHttpContentReaderForOpenApiPlugin(ITestOutputH...
    method ShowReadingJsonAsStreamAsync (line 15) | [Fact]
    method ReadHttpResponseContentAsync (line 62) | private static async Task<object?> ReadHttpResponseContentAsync(HttpRe...
    class Repair (line 81) | private sealed class Repair

FILE: dotnet/samples/Concepts/Plugins/OpenApiPlugin_Customization.cs
  class OpenApiPlugin_Customization (line 13) | public sealed class OpenApiPlugin_Customization : BaseTest
    method OpenApiPlugin_Customization (line 19) | public OpenApiPlugin_Customization(ITestOutputHelper output) : base(ou...
    method HandleOpenApiDocumentHavingTwoParametersWithSameNameButRelatedToDifferentEntitiesAsync (line 45) | [Fact]
    class StubHttpHandler (line 103) | private sealed class StubHttpHandler : DelegatingHandler
      method StubHttpHandler (line 108) | public StubHttpHandler(Action<string> requestHandler) : base()
      method SendAsync (line 114) | protected override async Task<HttpResponseMessage> SendAsync(HttpReq...
    method Dispose (line 132) | protected override void Dispose(bool disposing)

FILE: dotnet/samples/Concepts/Plugins/OpenApiPlugin_Filtering.cs
  class OpenApiPlugin_Filtering (line 12) | public sealed class OpenApiPlugin_Filtering : BaseTest
    method OpenApiPlugin_Filtering (line 17) | public OpenApiPlugin_Filtering(ITestOutputHelper output) : base(output)
    method ExcludeOperationsBasedOnExclusionListAsync (line 35) | [Fact]
    method ImportOperationsBasedOnInclusionListAsync (line 72) | [Fact]
    method ImportOperationsBasedOnMethodAsync (line 113) | [Fact]
    method FilterOperationsAtPostParsingStageAsync (line 148) | [Fact]

FILE: dotnet/samples/Concepts/Plugins/OpenApiPlugin_PayloadHandling.cs
  class OpenApiPlugin_PayloadHandling (line 18) | public sealed class OpenApiPlugin_PayloadHandling : BaseTest
    method OpenApiPlugin_PayloadHandling (line 24) | public OpenApiPlugin_PayloadHandling(ITestOutputHelper output) : base(...
    method InvokeOpenApiFunctionWithPayloadProvidedByCallerAsync (line 48) | [Fact]
    method InvokeOpenApiFunctionWithArgumentsForPayloadLeafPropertiesAsync (line 150) | [Fact]
    method InvokeOpenApiFunctionWithArgumentsForPayloadLeafPropertiesWithNamespacesAsync (line 211) | [Fact]
    method InvokeOpenApiFunctionWithArgumentsForPayloadOneOfAsync (line 292) | [Fact]
    method InvokeOpenApiFunctionWithArgumentsForPayloadAllOfAsync (line 321) | [Fact]
    method InvokeOpenApiFunctionWithArgumentsForPayloadAnyOfAsync (line 351) | [Fact]
    method Dispose (line 375) | protected override void Dispose(bool disposing)
    class StubHttpHandler (line 381) | private sealed class StubHttpHandler : DelegatingHandler
      method StubHttpHandler (line 386) | public StubHttpHandler(Action<string> requestPayloadHandler) : base()
      method SendAsync (line 392) | protected override async Task<HttpResponseMessage> SendAsync(HttpReq...

FILE: dotnet/samples/Concepts/Plugins/OpenApiPlugin_RestApiOperationResponseFactory.cs
  class OpenApiPlugin_RestApiOperationResponseFactory (line 13) | public sealed class OpenApiPlugin_RestApiOperationResponseFactory(ITestO...
    method IncludeResponseHeadersToOperationResponseAsync (line 17) | [Fact]
    method IncludeHeadersIntoRestApiOperationResponseAsync (line 56) | private static async Task<RestApiOperationResponse> IncludeHeadersInto...
    method InterceptRequestAndCustomizeResponseAsync (line 84) | private static async Task<HttpResponseMessage> InterceptRequestAndCust...
    class StubHttpHandler (line 102) | private sealed class StubHttpHandler(Func<HttpRequestMessage, Task<Htt...
      method SendAsync (line 106) | protected override async Task<HttpResponseMessage> SendAsync(HttpReq...
    method Dispose (line 112) | protected override void Dispose(bool disposing)

FILE: dotnet/samples/Concepts/Plugins/OpenApiPlugin_Telemetry.cs
  class OpenApiPlugin_Telemetry (line 15) | public sealed class OpenApiPlugin_Telemetry(ITestOutputHelper output) : ...
    method LoggingAsync (line 24) | [Fact]
    class Repair (line 124) | private sealed class Repair

FILE: dotnet/samples/Concepts/Plugins/TransformPlugin.cs
  class TransformPlugin (line 14) | public sealed class TransformPlugin(ITestOutputHelper output) : BaseTest...
    class UserFavorites (line 19) | public class UserFavorites
      method GetFavoriteColor (line 21) | [KernelFunction]
      method GetFavoriteAnimal (line 28) | [KernelFunction]
      method GetBobsFavoriteAnimal (line 40) | private string GetBobsFavoriteAnimal(AnimalType animalType) => anima...
      method GetDefaultFavoriteAnimal (line 51) | private string GetDefaultFavoriteAnimal(AnimalType animalType) => an...
    type AnimalType (line 63) | [JsonConverter(typeof(JsonStringEnumConverter))]
    method MissingRequiredInformationAsync (line 83) | [Fact]
    method CreatePluginWithAlteredParametersAsync (line 107) | [Fact]
    method CreatePluginWithParameters (line 152) | public static KernelPlugin CreatePluginWithParameters(KernelPlugin plu...
    method CreateFunctionWithParameters (line 168) | private static KernelFunction CreateFunctionWithParameters(KernelFunct...
    method CreateParameterMetadataWithParameters (line 190) | private static List<KernelParameterMetadata> CreateParameterMetadataWi...

FILE: dotnet/samples/Concepts/Plugins/WebPlugins.cs
  class WebPlugins (line 10) | public sealed class WebPlugins(ITestOutputHelper output) : BaseTest(output)
    method DownloadSKLogoAsync (line 15) | [Fact]

FILE: dotnet/samples/Concepts/PromptTemplates/ChatCompletionPrompts.cs
  class ChatCompletionPrompts (line 8) | public class ChatCompletionPrompts(ITestOutputHelper output) : BaseTest(...
    method RunAsync (line 10) | [Fact]

FILE: dotnet/samples/Concepts/PromptTemplates/ChatLoopWithPrompt.cs
  class ChatLoopWithPrompt (line 9) | public sealed class ChatLoopWithPrompt(ITestOutputHelper output) : BaseT...
    method ExecuteChatLoopAsPromptAsync (line 15) | [Fact]

FILE: dotnet/samples/Concepts/PromptTemplates/ChatPromptWithAudio.cs
  class OpenAI_ChatPromptWithAudio (line 12) | public class OpenAI_ChatPromptWithAudio(ITestOutputHelper output) : Base...
    method ChatPromptWithAudioContentDataUri (line 17) | [Fact]
    method ChatPromptConversationWithAudioContent (line 52) | [Fact]

FILE: dotnet/samples/Concepts/PromptTemplates/ChatPromptWithBinary.cs
  class ChatPromptWithBinary (line 12) | public class ChatPromptWithBinary(ITestOutputHelper output) : BaseTest(o...
    method ChatPromptWithBinaryContentDataUri (line 17) | [Fact]
    method ChatPromptConversationWithBinaryContent (line 52) | [Fact]

FILE: dotnet/samples/Concepts/PromptTemplates/ChatWithPrompts.cs
  class ChatWithPrompts (line 34) | public class ChatWithPrompts(ITestOutputHelper output) : BaseTest(output)
    method RunAsync (line 36) | [Fact]

FILE: dotnet/samples/Concepts/PromptTemplates/HandlebarsPrompts.cs
  class HandlebarsPrompts (line 10) | public class HandlebarsPrompts(ITestOutputHelper output) : BaseTest(output)
    method UsingHandlebarsPromptTemplatesAsync (line 12) | [Fact]
    method LoadingHandlebarsPromptTemplatesAsync (line 93) | [Fact]

FILE: dotnet/samples/Concepts/PromptTemplates/HandlebarsVisionPrompts.cs
  class HandlebarsVisionPrompts (line 9) | public class HandlebarsVisionPrompts(ITestOutputHelper output) : BaseTes...
    method RunAsync (line 11) | [Fact]

FILE: dotnet/samples/Concepts/PromptTemplates/LiquidPrompts.cs
  class LiquidPrompts (line 10) | public class LiquidPrompts(ITestOutputHelper output) : BaseTest(output)
    method UsingHandlebarsPromptTemplatesAsync (line 12) | [Fact]
    method LoadingHandlebarsPromptTemplatesAsync (line 93) | [Fact]

FILE: dotnet/samples/Concepts/PromptTemplates/MultiplePromptTemplates.cs
  class MultiplePromptTemplates (line 11) | public class MultiplePromptTemplates(ITestOutputHelper output) : BaseTes...
    method InvokeDifferentPromptTypes (line 16) | [RetryTheory(typeof(HttpOperationException))]
    method RunPromptAsync (line 41) | private async Task RunPromptAsync(Kernel kernel, string prompt, string...

FILE: dotnet/samples/Concepts/PromptTemplates/PromptFunctionsWithChatGPT.cs
  class PromptFunctionsWithChatGPT (line 10) | public class PromptFunctionsWithChatGPT(ITestOutputHelper output) : Base...
    method RunAsync (line 12) | [Fact]

FILE: dotnet/samples/Concepts/PromptTemplates/PromptyFunction.cs
  class PromptyFunction (line 10) | public class PromptyFunction(ITestOutputHelper output) : BaseTest(output)
    method InlineFunctionAsync (line 12) | [Fact]
    method InlineFunctionWithVariablesAsync (line 43) | [Fact]
    method RenderPromptAsync (line 108) | [Fact]

FILE: dotnet/samples/Concepts/PromptTemplates/SafeChatPrompts.cs
  class SafeChatPrompts (line 7) | public sealed class SafeChatPrompts : BaseTest
    method SafeChatPrompts (line 14) | public SafeChatPrompts(ITestOutputHelper output) : base(output)
    method Dispose (line 29) | protected override void Dispose(bool disposing)
    method TrustedTemplateAsync (line 47) | [Fact]
    method TrustedFunctionAsync (line 73) | [Fact]
    method TrustedVariablesAsync (line 94) | [Fact]
    method UnsafeFunctionAsync (line 121) | [Fact]
    method SafeFunctionAsync (line 138) | [Fact]
    method UnsafeInputVariableAsync (line 155) | [Fact]
    method SafeInputVariableAsync (line 172) | [Fact]
    method EmptyInputVariableAsync (line 189) | [Fact]
    method HtmlEncodedTextAsync (line 202) | [Fact]
    method CDataSectionAsync (line 215) | [Fact]
    method TextContentAsync (line 228) | [Fact]
    method PlainTextAsync (line 243) | [Fact]
    method EncodedTextAsync (line 256) | [Fact]
    method RenderPromptAsync (line 269) | private Task<string> RenderPromptAsync(string template, KernelArgument...
    method RenderPromptAsync (line 278) | private Task<string> RenderPromptAsync(PromptTemplateConfig promptConf...

FILE: dotnet/samples/Concepts/PromptTemplates/TemplateLanguage.cs
  class TemplateLanguage (line 9) | public class TemplateLanguage(ITestOutputHelper output) : BaseTest(output)
    method RunAsync (line 15) | [Fact]

FILE: dotnet/samples/Concepts/RAG/Bing_RagWithTextSearch.cs
  class Bing_RagWithTextSearch (line 13) | public sealed class Bing_RagWithTextSearch(ITestOutputHelper output) : B...
    method RagWithBingTextSearchAsync (line 19) | [Fact]
    method RagWithBingTextSearchIncludingCitationsAsync (line 46) | [Fact]
    method RagWithBingTextSearchIncludingTimeStampedCitationsAsync (line 93) | [Fact]
    method RagWithBingTextSearchUsingDevBlogsSiteAsync (line 142) | [Fact]

FILE: dotnet/samples/Concepts/RAG/WithPlugins.cs
  class WithPlugins (line 16) | public class WithPlugins(ITestOutputHelper output) : BaseTest(output)
    method RAGWithCustomPluginAsync (line 18) | [Fact]
    method RAGWithInMemoryVectorStoreAndPluginAsync (line 35) | [Fact]
    method RAGWithChatGPTRetrievalPluginAsync (line 79) | [Fact(Skip = "Requires ChatGPT Retrieval Plugin and selected vector DB...
    class CustomPlugin (line 109) | private sealed class CustomPlugin
      method SearchAsync (line 111) | [KernelFunction]
    class FinanceInfo (line 119) | private sealed class FinanceInfo

FILE: dotnet/samples/Concepts/Resources/Plugins/DictionaryPlugin/ComplexParamsDictionaryPlugin.cs
  class ComplexParamsDictionaryPlugin (line 14) | public sealed class ComplexParamsDictionaryPlugin
    method GetRandomEntry (line 27) | [KernelFunction, Description("Gets a random word from a dictionary of ...
    method GetWord (line 37) | [KernelFunction, Description("Gets the word for a given dictionary ent...
    method GetDefinition (line 44) | [KernelFunction, Description("Gets the definition for a given word.")]
  class DictionaryEntry (line 61) | [TypeConverter(typeof(DictionaryEntryConverter))]
    method DictionaryEntry (line 67) | public DictionaryEntry(string word, string definition)
  class DictionaryEntryConverter (line 79) | public sealed class DictionaryEntryConverter : TypeConverter
    method CanConvertFrom (line 81) | public override bool CanConvertFrom(ITypeDescriptorContext? context, T...
    method ConvertFrom (line 87) | public override object? ConvertFrom(ITypeDescriptorContext? context, C...
    method ConvertTo (line 96) | public override object? ConvertTo(ITypeDescriptorContext? context, Cul...

FILE: dotnet/samples/Concepts/Resources/Plugins/DictionaryPlugin/StringParamsDictionaryPlugin.cs
  class StringParamsDictionaryPlugin (line 12) | public sealed class StringParamsDictionaryPlugin
    method GetRandomWord (line 25) | [KernelFunction, Description("Gets a random word from a dictionary of ...
    method GetDefinition (line 35) | [KernelFunction, Description("Gets the definition for a given word.")]

FILE: dotnet/samples/Concepts/Resources/Plugins/EmailPlugin.cs
  class EmailPlugin (line 9) | internal sealed class EmailPlugin
    method SendEmail (line 11) | [KernelFunction, Description("Given an e-mail and message body, send a...
    method GetEmailAddress (line 18) | [KernelFunction, Description("Given a name, find email address")]

FILE: dotnet/samples/Concepts/Resources/Plugins/StaticTextPlugin.cs
  class StaticTextPlugin (line 8) | public sealed class StaticTextPlugin
    method Uppercase (line 10) | [KernelFunction, Description("Change all string chars to uppercase")]
    method AppendDay (line 14) | [KernelFunction, Description("Append the day variable")]

FILE: dotnet/samples/Concepts/Search/BingAndGooglePlugins.cs
  class BingAndGooglePlugins (line 16) | public class BingAndGooglePlugins(ITestOutputHelper output) : BaseTest(o...
    method RunAsync (line 18) | [Fact(Skip = "Setup Credentials")]
    method Example1Async (line 71) | private async Task Example1Async(Kernel kernel, string searchPluginName)
    method Example2Async (line 97) | private async Task Example2Async(Kernel kernel)

FILE: dotnet/samples/Concepts/Search/Bing_FunctionCallingWithTextSearch.cs
  class Bing_FunctionCallingWithTextSearch (line 13) | public class Bing_FunctionCallingWithTextSearch(ITestOutputHelper output...
    method FunctionCallingWithBingTextSearchAsync (line 19) | [Fact]
    method FunctionCallingWithBingTextSearchIncludingCitationsAsync (line 46) | [Fact]
    method FunctionCallingWithBingTextSearchUsingDevBlogsSiteAsync (line 74) | [Fact]
    method FunctionCallingWithBingTextSearchUsingSiteArgumentAsync (line 106) | [Fact]
    method CreateSearchBySite (line 129) | private static KernelFunction CreateSearchBySite(BingTextSearch textSe...

FILE: dotnet/samples/Concepts/Search/Bing_TextSearch.cs
  class Bing_TextSearch (line 12) | public class Bing_TextSearch(ITestOutputHelper output) : BaseTest(output)
    method UsingBingTextSearchAsync (line 18) | [Fact]
    method UsingBingTextSearchWithACustomMapperAsync (line 67) | [Fact]
    method UsingBingTextSearchWithASiteFilterAsync (line 96) | [Fact]
    method UsingBingTextSearchWithLinqFilteringAsync (line 127) | [Fact]
    class TestTextSearchStringMapper (line 208) | private sealed class TestTextSearchStringMapper : ITextSearchStringMapper
      method MapFromResultToString (line 211) | public string MapFromResultToString(object result)

FILE: dotnet/samples/Concepts/Search/Google_TextSearch.cs
  class Google_TextSearch (line 13) | public class Google_TextSearch(ITestOutputHelper output) : BaseTest(output)
    method UsingGoogleTextSearchAsync (line 19) | [Fact]
    method UsingGoogleTextSearchWithACustomMapperAsync (line 66) | [Fact]
    method UsingGoogleTextSearchWithASiteSearchFilterAsync (line 90) | [Fact]
    method UsingGoogleTextSearchWithEnhancedLinqFilteringAsync (line 115) | [Fact]
    class TestTextSearchStringMapper (line 225) | private sealed class TestTextSearchStringMapper : ITextSearchStringMapper
      method MapFromResultToString (line 228) | public string MapFromResultToString(object result)
    class LoggingConfigurableMessageHandler (line 237) | private sealed class LoggingConfigurableMessageHandler(HttpMessageHand...
      method SendAsync (line 243) | protected override async Task<HttpResponseMessage> SendAsync(HttpReq...
    class CustomHttpClientFactory (line 281) | private sealed class CustomHttpClientFactory(ITestOutputHelper output)...
      method CreateHttpClient (line 285) | public ConfigurableHttpClient CreateHttpClient(CreateHttpClientArgs ...

FILE: dotnet/samples/Concepts/Search/MyAzureAISearchPlugin.cs
  class AzureAISearchPlugin (line 16) | public class AzureAISearchPlugin(ITestOutputHelper output) : BaseTest(ou...
    method AzureAISearchPluginAsync (line 21) | [Fact]
    class IndexSchema (line 74) | private sealed class IndexSchema
    type IAzureAISearchService (line 99) | private interface IAzureAISearchService
      method SearchAsync (line 101) | Task<string?> SearchAsync(
    class AzureAISearchService (line 111) | private sealed class AzureAISearchService(SearchIndexClient indexClien...
      method SearchAsync (line 117) | public async Task<string?> SearchAsync(
    class MyAzureAISearchPlugin (line 163) | private sealed class MyAzureAISearchPlugin(
      method SearchAsync (line 170) | [KernelFunction("Search")]

FILE: dotnet/samples/Concepts/Search/Tavily_TextSearch.cs
  class Tavily_TextSearch (line 12) | public class Tavily_TextSearch(ITestOutputHelper output) : BaseTest(output)
    method UsingTavilyTextSearch (line 18) | [Fact]
    method UsingTavilyTextSearchToGetAnAnswer (line 67) | [Fact]
    method UsingTavilyTextSearchAndIncludeEverything (line 92) | [Fact]
    method UsingTavilyTextSearchWithACustomMapperAsync (line 130) | [Fact]
    method UsingTavilyTextSearchWithAnIncludeDomainFilterAsync (line 159) | [Fact]
    method UsingTavilyTextSearchWithLinqFilteringAsync (line 190) | [Fact]
    class TestTextSearchStringMapper (line 271) | private sealed class TestTextSearchStringMapper : ITextSearchStringMapper
      method MapFromResultToString (line 274) | public string MapFromResultToString(object result)

FILE: dotnet/samples/Concepts/Search/VectorStore_TextSearch.cs
  class VectorStore_TextSearch (line 14) | public class VectorStore_TextSearch(ITestOutputHelper output) : BaseTest...
    method UsingInMemoryVectorStoreRecordTextSearchAsync (line 20) | [Fact]
    method ExecuteSearchesAsync (line 61) | private async Task ExecuteSearchesAsync(VectorStoreTextSearch<DataMode...
    method CreateCollectionFromListAsync (line 115) | internal static async Task<VectorStoreCollection<TKey, TRecord>> Creat...
    class DataModel (line 141) | private sealed class DataModel

FILE: dotnet/samples/Concepts/Search/WebSearchQueriesPlugin.cs
  class WebSearchQueriesPlugin (line 8) | public class WebSearchQueriesPlugin(ITestOutputHelper output) : BaseTest...
    method RunAsync (line 10) | [Fact]

FILE: dotnet/samples/Concepts/TextGeneration/Custom_TextGenerationService.cs
  class Custom_TextGenerationService (line 25) | public class Custom_TextGenerationService(ITestOutputHelper output) : Ba...
    method CustomTextGenerationWithKernelFunctionAsync (line 27) | [Fact]
    method CustomTextGenerationAsync (line 49) | [Fact]
    method CustomTextGenerationStreamAsync (line 63) | [Fact]
    class MyTextGenerationService (line 83) | private sealed class MyTextGenerationService : ITextGenerationService
      method GetStreamingTextContentsAsync (line 95) | public async IAsyncEnumerable<StreamingTextContent> GetStreamingText...
      method GetTextContentsAsync (line 106) | public Task<IReadOnlyList<TextContent>> GetTextContentsAsync(string ...

FILE: dotnet/samples/Concepts/TextGeneration/HuggingFace_TextGeneration.cs
  class HuggingFace_TextGeneration (line 13) | public class HuggingFace_TextGeneration(ITestOutputHelper helper) : Base...
    method RunInferenceApiExampleAsync (line 21) | [Fact]
    method RunStreamingExampleAsync (line 45) | [RetryFact(typeof(HttpOperationException))]
    method RunLlamaExampleAsync (line 82) | [Fact(Skip = "Requires local model or Huggingface Pro subscription")]

FILE: dotnet/samples/Concepts/TextGeneration/Ollama_TextGeneration.cs
  class Ollama_TextGeneration (line 13) | public class Ollama_TextGeneration(ITestOutputHelper helper) : BaseTest(...
    method KernelPromptAsync (line 15) | [Fact]
    method ServicePromptAsync (line 35) | [Fact]
    method RunStreamingExampleAsync (line 54) | [RetryFact(typeof(HttpOperationException))]

FILE: dotnet/samples/Concepts/TextGeneration/Ollama_TextGenerationStreaming.cs
  class Ollama_TextGenerationStreaming (line 12) | public class Ollama_TextGenerationStreaming(ITestOutputHelper helper) : ...
    method RunKernelStreamingExampleAsync (line 14) | [Fact]
    method RunServiceStreamingExampleAsync (line 35) | [Fact]

FILE: dotnet/samples/Concepts/TextGeneration/OpenAI_TextGenerationStreaming.cs
  class OpenAI_TextGenerationStreaming (line 19) | public class OpenAI_TextGenerationStreaming(ITestOutputHelper output) : ...
    method AzureOpenAITextGenerationStreamAsync (line 21) | [Fact]
    method OpenAITextGenerationStreamAsync (line 35) | [Fact]
    method TextGenerationStreamAsync (line 45) | private async Task TextGenerationStreamAsync(ITextGenerationService te...

FILE: dotnet/samples/Concepts/TextToAudio/OpenAI_TextToAudio.cs
  class OpenAI_TextToAudio (line 12) | public sealed class OpenAI_TextToAudio(ITestOutputHelper output) : BaseT...
    method TextToAudioAsync (line 16) | [Fact(Skip = "Uncomment the line to write the audio file output before...

FILE: dotnet/samples/Concepts/TextToImage/AzureOpenAI_TextToImage.cs
  class AzureOpenAI_TextToImage (line 10) | public class AzureOpenAI_TextToImage(ITestOutputHelper output) : BaseTes...
    method SimpleDallE3ImageUriAsync (line 12) | [Fact]
    method SimpleDallE3ImageBinaryAsync (line 32) | [Fact]

FILE: dotnet/samples/Concepts/TextToImage/OpenAI_TextToImage.cs
  class OpenAI_TextToImage (line 13) | public class OpenAI_TextToImage(ITestOutputHelper output) : BaseTest(out...
    method ChatDallE2Async (line 15) | [Fact]
    method SimpleDallE3ImageUriAsync (line 84) | [Fact]
    method SimpleDallE3ImageBinaryAsync (line 102) | [Fact]
    method ChatDallE3Async (line 125) | [Fact]

FILE: dotnet/samples/Concepts/TextToImage/OpenAI_TextToImageLegacy.cs
  class OpenAI_TextToImageLegacy (line 14) | public class OpenAI_TextToImageLegacy(ITestOutputHelper output) : BaseTe...
    method OpenAIDallEAsync (line 16) | [Fact]
    method AzureOpenAIDallEAsync (line 83) | [Fact(Skip = "Generating the Image can take too long and often break t...

FILE: dotnet/samples/Demos/A2AClientServer/A2AClient/HostClientAgent.cs
  class HostClientAgent (line 10) | internal sealed class HostClientAgent
    method HostClientAgent (line 12) | internal HostClientAgent(ILogger logger)
    method InitializeAgentAsync (line 16) | internal async Task InitializeAgentAsync(string modelId, string apiKey...
    method CreateAgentAsync (line 61) | private async Task<A2AAgent> CreateAgentAsync(string agentUri)
  class ConsoleOutputFunctionInvocationFilter (line 78) | internal sealed class ConsoleOutputFunctionInvocationFilter() : IFunctio...
    method IndentMultilineString (line 80) | private static string IndentMultilineString(string multilineText, int ...
    method OnFunctionInvocationAsync (line 91) | public async Task OnFunctionInvocationAsync(FunctionInvocationContext ...

FILE: dotnet/samples/Demos/A2AClientServer/A2AClient/Program.cs
  class Program (line 13) | public static class Program
    method Main (line 15) | public static async Task<int> Main(string[] args)
    method HandleCommandsAsync (line 25) | public static async System.Threading.Tasks.Task HandleCommandsAsync(In...
    method RunCliAsync (line 31) | private static async System.Threading.Tasks.Task RunCliAsync()

FILE: dotnet/samples/Demos/A2AClientServer/A2AServer/HostAgentFactory.cs
  class HostAgentFactory (line 13) | internal static class HostAgentFactory
    method CreateFoundryHostAgentAsync (line 15) | internal static async Task<A2AHostAgent> CreateFoundryHostAgentAsync(s...
    method CreateChatCompletionHostAgentAsync (line 33) | internal static async Task<A2AHostAgent> CreateChatCompletionHostAgent...
    method GetInvoiceAgentCard (line 66) | private static AgentCard GetInvoiceAgentCard()
    method GetPolicyAgentCard (line 98) | private static AgentCard GetPolicyAgentCard()
    method GetLogisticsAgentCard (line 130) | private static AgentCard GetLogisticsAgentCard()

FILE: dotnet/samples/Demos/A2AClientServer/A2AServer/Plugins/InvoiceQueryPlugin.cs
  class Product (line 10) | public class Product
    method Product (line 16) | public Product(string name, int quantity, decimal price)
    method TotalPrice (line 23) | public decimal TotalPrice()
  class Invoice (line 29) | public class Invoice
    method Invoice (line 37) | public Invoice(string transactionId, string invoiceId, string companyN...
    method TotalInvoicePrice (line 46) | public decimal TotalInvoicePrice()
  class InvoiceQueryPlugin (line 52) | public class InvoiceQueryPlugin
    method InvoiceQueryPlugin (line 57) | public InvoiceQueryPlugin()
    method GetRandomDateWithinLastTwoMonths (line 125) | public static DateTime GetRandomDateWithinLastTwoMonths()
    method QueryInvoices (line 141) | [KernelFunction]
    method QueryByTransactionId (line 160) | [KernelFunction]
    method QueryByInvoiceId (line 169) | [KernelFunction]

FILE: dotnet/samples/Demos/AIModelRouter/CustomRouter.cs
  class CustomRouter (line 14) | internal sealed class CustomRouter()
    method GetService (line 24) | internal string GetService(string lookupPrompt, List<string> serviceIds)
    method Contains (line 39) | private static bool Contains(string prompt, string pattern)

FILE: dotnet/samples/Demos/AIModelRouter/Program.cs
  class Program (line 13) | internal sealed class Program
    method Main (line 15) | private static async Task Main(string[] args)

FILE: dotnet/samples/Demos/AIModelRouter/SelectedServiceFilter.cs
  class SelectedServiceFilter (line 14) | internal sealed class SelectedServiceFilter : IPromptRenderFilter
    method OnPromptRenderAsync (line 17) | public Task OnPromptRenderAsync(PromptRenderContext context, Func<Prom...

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.ApiService/Config/ServiceConfig.cs
  class ServiceConfig (line 11) | public sealed class ServiceConfig
    method ServiceConfig (line 19) | public ServiceConfig(ConfigurationManager configurationManager)

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.ApiService/Controllers/AgentCompletionRequest.cs
  class AgentCompletionRequest (line 10) | public sealed class AgentCompletionRequest

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.ApiService/Controllers/AgentCompletionsController.cs
  class AgentCompletionsController (line 19) | [ApiController]
    method AgentCompletionsController (line 31) | public AgentCompletionsController(ChatCompletionAgent agent, ILogger<A...
    method CompleteAsync (line 42) | [HttpPost]
    method CompleteAsync (line 70) | private async IAsyncEnumerable<ChatMessageContent> CompleteAsync(ChatH...
    method CompleteSteamingAsync (line 89) | private async IAsyncEnumerable<StreamingChatMessageContent> CompleteSt...
    method ValidateChatHistory (line 105) | private static void ValidateChatHistory(ChatHistory chatHistory)

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.ApiService/Program.cs
  class Program (line 25) | public static class Program
    method Main (line 31) | public static void Main(string[] args)
    method AddAIServices (line 94) | private static void AddAIServices(WebApplicationBuilder builder, HostC...
    method AddVectorStore (line 159) | private static void AddVectorStore(WebApplicationBuilder builder, Host...
    method AddAgent (line 192) | private static void AddAgent(WebApplicationBuilder builder, HostConfig...

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.ApiService/Rag/TextSnippet.cs
  class TextSnippet (line 14) | internal sealed class TextSnippet<TKey>

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.ApiService/Resources/EmbeddedResource.cs
  class EmbeddedResource (line 12) | public static class EmbeddedResource
    method Read (line 16) | internal static string Read(string fileName)

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.AppHost/Extensions/ResourceBuilderExtensions.cs
  class ResourceBuilderExtensions (line 10) | public static class ResourceBuilderExtensions
    method WithEnvironment (line 19) | public static IResourceBuilder<T> WithEnvironment<T>(this IResourceBui...
    method WithReferences (line 80) | public static IResourceBuilder<T> WithReferences<T>(this IResourceBuil...

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.Configuration/AzureAISearchConfig.cs
  class AzureAISearchConfig (line 8) | public sealed class AzureAISearchConfig

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.Configuration/AzureOpenAIChatConfig.cs
  class AzureOpenAIChatConfig (line 10) | public sealed class AzureOpenAIChatConfig

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.Configuration/AzureOpenAIEmbeddingsConfig.cs
  class AzureOpenAIEmbeddingsConfig (line 10) | public sealed class AzureOpenAIEmbeddingsConfig

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.Configuration/HostConfig.cs
  class HostConfig (line 11) | public sealed class HostConfig
    method HostConfig (line 51) | public HostConfig(ConfigurationManager configurationManager)

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.Configuration/OpenAIChatConfig.cs
  class OpenAIChatConfig (line 10) | public sealed class OpenAIChatConfig

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.Configuration/OpenAIEmbeddingsConfig.cs
  class OpenAIEmbeddingsConfig (line 10) | public sealed class OpenAIEmbeddingsConfig

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.Configuration/RagConfig.cs
  class RagConfig (line 10) | public sealed class RagConfig

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.ServiceDefaults/CommonExtensions.cs
  class CommonExtensions (line 19) | public static class CommonExtensions
    method AddServiceDefaults (line 27) | public static TBuilder AddServiceDefaults<TBuilder>(this TBuilder buil...
    method ConfigureOpenTelemetry (line 59) | public static TBuilder ConfigureOpenTelemetry<TBuilder>(this TBuilder ...
    method AddDefaultHealthChecks (line 94) | public static TBuilder AddDefaultHealthChecks<TBuilder>(this TBuilder ...
    method MapDefaultEndpoints (line 108) | public static WebApplication MapDefaultEndpoints(this WebApplication app)
    method AddOpenTelemetryExporters (line 127) | private static TBuilder AddOpenTelemetryExporters<TBuilder>(this TBuil...

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.Web/ApiClients/AgentCompletionsApiClient.cs
  class AgentCompletionsApiClient (line 13) | internal sealed class AgentCompletionsApiClient
    method AgentCompletionsApiClient (line 22) | public AgentCompletionsApiClient(HttpClient httpClient)
    method CompleteStreamingAsync (line 34) | internal async IAsyncEnumerable<string> CompleteStreamingAsync(string ...
    class AgentCompletionRequest (line 71) | private sealed class AgentCompletionRequest

FILE: dotnet/samples/Demos/AgentFrameworkWithAspire/ChatWithAgent.Web/Extensions/HttpClientBuilderExtensions.cs
  class HttpClientBuilderExtensions (line 10) | public static class HttpClientBuilderExtensions
    method ClearResilienceHandlers (line 19) | public static IHttpClientBuilder ClearResilienceHandlers(this IHttpCli...

FILE: dotnet/samples/Demos/AmazonBedrockModels/Program.cs
  type ModelDefinition (line 250) | internal struct ModelDefinition
    type SupportedModality (line 268) | internal enum SupportedModality

FILE: dotnet/samples/Demos/AotCompatibility/JsonSerializerContexts/LocationJsonSerializerContext.cs
  class LocationJsonSerializerContext (line 8) | [JsonSerializable(typeof(Location))]

FILE: dotnet/samples/Demos/AotCompatibility/JsonSerializerContexts/WeatherJsonSerializerContext.cs
  class WeatherJsonSerializerContext (line 8) | [JsonSerializable(typeof(Weather))]

FILE: dotnet/samples/Demos/AotCompatibility/KernelFunctionSamples.cs
  class KernelFunctionSamples (line 14) | internal static class KernelFunctionSamples
    method CreateFunctionFromLambda (line 23) | public static async Task CreateFunctionFromLambda(IConfigurationRoot _)

FILE: dotnet/samples/Demos/AotCompatibility/KernelPluginSamples.cs
  class KernelPluginSamples (line 14) | internal static class KernelPluginSamples
    method CreatePluginFromType (line 24) | public static async Task CreatePluginFromType(IConfigurationRoot _)
    method ImportPluginFromType (line 55) | public static async Task ImportPluginFromType(IConfigurationRoot _)
    method AddPluginFromType (line 86) | public static async Task AddPluginFromType(IConfigurationRoot _)

FILE: dotnet/samples/Demos/AotCompatibility/OnnxChatCompletionSamples.cs
  class OnnxChatCompletionSamples (line 13) | internal static class OnnxChatCompletionSamples
    method GetChatMessageContent (line 18) | public static async Task GetChatMessageContent(IConfigurationRoot config)
    method GetStreamingChatMessageContents (line 51) | public static async Task GetStreamingChatMessageContents(IConfiguratio...

FILE: dotnet/samples/Demos/AotCompatibility/Plugins/Location.cs
  class Location (line 5) | internal sealed class Location
    method Location (line 11) | public Location(string country, string city)

FILE: dotnet/samples/Demos/AotCompatibility/Plugins/Weather.cs
  class Weather (line 5) | internal sealed class Weather
    method ToString (line 10) | public override string ToString() => $"Current weather(temperature: {t...

FILE: dotnet/samples/Demos/AotCompatibility/Plugins/WeatherPlugin.cs
  class WeatherPlugin (line 8) | internal sealed class WeatherPlugin
    method GetCurrentWeather (line 10) | [KernelFunction]

FILE: dotnet/samples/Demos/AotCompatibility/Program.cs
  class Program (line 10) | internal sealed class Program
    method Main (line 12) | private static async Task<int> Main(string[] args)
    method RunAsync (line 36) | private static async Task<bool> RunAsync(IEnumerable<Func<IConfigurati...

FILE: dotnet/samples/Demos/BookingRestaurant/AppConfig.cs
  class AppConfig (line 3) | internal sealed class AppConfig
    method Validate (line 41) | internal void Validate()
    class OpenAIConfig (line 69) | internal sealed class OpenAIConfig
    class AzureOpenAIConfig (line 88) | internal sealed class AzureOpenAIConfig
    class AzureEntraIdConfig (line 106) | internal sealed class AzureEntraIdConfig

FILE: dotnet/samples/Demos/BookingRestaurant/Appointment.cs
  class Appointment (line 10) | internal sealed class Appointment
    method Appointment (line 12) | internal Appointment(BookingAppointment bookingAppointment)

FILE: dotnet/samples/Demos/BookingRestaurant/BookingsPlugin.cs
  class BookingsPlugin (line 13) | internal sealed class BookingsPlugin
    method BookingsPlugin (line 23) | internal BookingsPlugin(
    method BookTableAsync (line 36) | [KernelFunction("BookTable")]
    method ListReservationsAsync (line 114) | [KernelFunction]
    method CancelReservationAsync (line 130) | [KernelFunction]

FILE: dotnet/samples/Demos/ContentSafety/Controllers/ChatController.cs
  class ChatController (line 12) | [ApiController]
    method PostAsync (line 24) | [HttpPost]

FILE: dotnet/samples/Demos/ContentSafety/Exceptions/AttackDetectionException.cs
  class AttackDetectionException (line 12) | public class AttackDetectionException : Exception
    method AttackDetectionException (line 33) | public AttackDetectionException()
    method AttackDetectionException (line 37) | public AttackDetectionException(string? message) : base(message)
    method AttackDetectionException (line 41) | public AttackDetectionException(string? message, Exception? innerExcep...

FILE: dotnet/samples/Demos/ContentSafety/Exceptions/TextModerationException.cs
  class TextModerationException (line 12) | public class TextModerationException : Exception
    method TextModerationException (line 28) | public TextModerationException()
    method TextModerationException (line 32) | public TextModerationException(string? message) : base(message)
    method TextModerationException (line 36) | public TextModerationException(string? message, Exception? innerExcept...

FILE: dotnet/samples/Demos/ContentSafety/Extensions/ConfigurationExtensions.cs
  class ConfigurationExtensions (line 10) | public static class ConfigurationExtensions
    method GetValid (line 15) | public static TOptions GetValid<TOptions>(this IConfigurationRoot conf...

FILE: dotnet/samples/Demos/ContentSafety/Filters/AttackDetectionFilter.cs
  class AttackDetectionFilter (line 13) | public class AttackDetectionFilter(PromptShieldService promptShieldServi...
    method OnPromptRenderAsync (line 17) | public async Task OnPromptRenderAsync(PromptRenderContext context, Fun...

FILE: dotnet/samples/Demos/ContentSafety/Filters/TextModerationFilter.cs
  class TextModerationFilter (line 13) | public class TextModerationFilter(
    method OnPromptRenderAsync (line 20) | public async Task OnPromptRenderAsync(PromptRenderContext context, Fun...
    method ProcessTextAnalysis (line 45) | private void ProcessTextAnalysis(AnalyzeTextResult analysisResult)

FILE: dotnet/samples/Demos/ContentSafety/Handlers/ContentSafetyExceptionHandler.cs
  class ContentSafetyExceptionHandler (line 13) | public class ContentSafetyExceptionHandler : IExceptionHandler
    method TryHandleAsync (line 15) | public async ValueTask<bool> TryHandleAsync(HttpContext httpContext, E...

FILE: dotnet/samples/Demos/ContentSafety/Models/ChatModel.cs
  class ChatModel (line 10) | public class ChatModel

FILE: dotnet/samples/Demos/ContentSafety/Options/AzureContentSafetyOptions.cs
  class AzureContentSafetyOptions (line 10) | public class AzureContentSafetyOptions

FILE: dotnet/samples/Demos/ContentSafety/Options/OpenAIOptions.cs
  class OpenAIOptions (line 10) | public class OpenAIOptions

FILE: dotnet/samples/Demos/ContentSafety/Services/PromptShield/PromptShieldAnalysis.cs
  class PromptShieldAnalysis (line 11) | public class PromptShieldAnalysis

FILE: dotnet/samples/Demos/ContentSafety/Services/PromptShield/PromptShieldRequest.cs
  class PromptShieldRequest (line 11) | public class PromptShieldRequest

FILE: dotnet/samples/Demos/ContentSafety/Services/PromptShield/PromptShieldResponse.cs
  class PromptShieldResponse (line 11) | public class PromptShieldResponse

FILE: dotnet/samples/Demos/ContentSafety/Services/PromptShield/PromptShieldService.cs
  class PromptShieldService (line 14) | public class PromptShieldService(
    method DetectAttackAsync (line 26) | public async Task<PromptShieldResponse> DetectAttackAsync(PromptShield...
    method CreateHttpRequest (line 39) | private Request CreateHttpRequest(PromptShieldRequest request)

FILE: dotnet/samples/Demos/CopilotAgentPlugins/CopilotAgentPluginsDemoSample/BearerAuthenticationProviderWithCancellationToken.cs
  class BearerAuthenticationProviderWithCancellationToken (line 11) | public class BearerAuthenticationProviderWithCancellationToken
    method BearerAuthenticationProviderWithCancellationToken (line 19) | public BearerAuthenticationProviderWithCancellationToken(IConfiguratio...
    method AuthenticateRequestAsync (line 42) | public async Task AuthenticateRequestAsync(HttpRequestMessage request,...
    method GetAccessTokenAsync (line 47) | private async Task<string> GetAccessTokenAsync(CancellationToken cance...

FILE: dotnet/samples/Demos/CopilotAgentPlugins/CopilotAgentPluginsDemoSample/DemoCommand.cs
  class DemoCommand (line 19) | public class DemoCommand : AsyncCommand<DemoCommand.DemoSettings>
    class DemoSettings (line 21) | public class DemoSettings : CommandSettings
    method ExecuteAsync (line 35) | public override async Task<int> ExecuteAsync(CommandContext context, D...
    method LoadCopilotAgentPluginAsync (line 112) | private async Task LoadCopilotAgentPluginAsync(Kernel kernel, IConfigu...
    method ShowCopilotAgentManifestAsync (line 117) | private async Task ShowCopilotAgentManifestAsync(string[] availableCop...
    method GetCopilotAgentManifestPath (line 121) | private static string GetCopilotAgentManifestPath(string name) => Path...
    method ShowManifestAsync (line 123) | private async Task ShowManifestAsync(string[] availableApiManifestPlug...
    method ListLoadedPlugins (line 140) | private void ListLoadedPlugins(Kernel kernel, bool withFunctions = fal...
    method LoadPluginAsync (line 181) | private async Task LoadPluginAsync(Kernel kernel, IConfigurationRoot c...
    method ExecuteGoalAsync (line 214) | private async Task ExecuteGoalAsync(Kernel kernel, PromptExecutionSett...
    method InitializeKernelForOllama (line 222) | private static (Kernel, PromptExecutionSettings) InitializeKernelForOl...
    method InitializeAzureOpenAiKernel (line 257) | private static (Kernel, PromptExecutionSettings) InitializeAzureOpenAi...
    method InitializeOpenAiKernel (line 298) | public static (Kernel, PromptExecutionSettings) InitializeOpenAiKernel...
    method GetApiKeyAuthProvider (line 335) | private static AuthenticateRequestAsyncCallback? GetApiKeyAuthProvider...
    method AddCopilotAgentPluginAsync (line 358) | private async Task AddCopilotAgentPluginAsync(Kernel kernel, IConfigur...
    method TrimPropertiesFromRequestBody (line 453) | private static KernelJsonSchema? TrimPropertiesFromRequestBody(KernelJ...
    method TrimPropertiesFromJsonNode (line 471) | private static void TrimPropertiesFromJsonNode(JsonNode jsonNode)
    class ExpectedSchemaFunctionFilter (line 511) | private sealed class ExpectedSchemaFunctionFilter : IAutoFunctionInvoc...
      method OnAutoFunctionInvocationAsync (line 513) | public async Task OnAutoFunctionInvocationAsync(AutoFunctionInvocati...

FILE: dotnet/samples/Demos/CopilotAgentPlugins/CopilotAgentPluginsDemoSample/Logging/SemanticKernelLogger.cs
  class SemanticKernelLogger (line 8) | public class SemanticKernelLogger : ILogger
    method BeginScope (line 10) | public IDisposable? BeginScope<TState>(TState state) where TState : no...
    method IsEnabled (line 15) | public bool IsEnabled(LogLevel logLevel)
    method Log (line 20) | public void Log<TState>(LogLevel logLevel, EventId eventId, TState sta...
    method PrintMessageWithALabelAndJson (line 38) | private bool PrintMessageWithALabelAndJson(string label, string message)
    method PrintMessageBetweenTags (line 89) | private bool PrintMessageBetweenTags(string message, string label, str...
    method EscapeMarkup (line 121) | private string EscapeMarkup(string text)

FILE: dotnet/samples/Demos/CopilotAgentPlugins/CopilotAgentPluginsDemoSample/Logging/SemanticKernelLoggerProvider.cs
  class SemanticKernelLoggerProvider (line 5) | public class SemanticKernelLoggerProvider : ILoggerProvider, IDisposable
    method CreateLogger (line 7) | public ILogger CreateLogger(string categoryName)
    method Dispose (line 12) | protected virtual void Dispose(bool disposing)
    method Dispose (line 22) | public void Dispose()

FILE: dotnet/samples/Demos/FunctionInvocationApproval/Options/AzureOpenAIOptions.cs
  class AzureOpenAIOptions (line 8) | public class AzureOpenAIOptions

FILE: dotnet/samples/Demos/FunctionInvocationApproval/Options/OpenAIOptions.cs
  class OpenAIOptions (line 8) | public class OpenAIOptions

FILE: dotnet/samples/Demos/FunctionInvocationApproval/Program.cs
  class Program (line 11) | internal sealed class Program
    method Main (line 20) | public static async Task Main()
    class SoftwareBuilderPlugin (line 55) | public sealed class SoftwareBuilderPlugin
      method CollectRequirements (line 57) | [KernelFunction]
      method Design (line 64) | [KernelFunction]
      method Implement (line 71) | [KernelFunction]
      method Test (line 78) | [KernelFunction]
      method Deploy (line 85) | [KernelFunction]
    type IFunctionApprovalService (line 100) | public interface IFunctionApprovalService
      method IsInvocationApproved (line 102) | bool IsInvocationApproved(KernelFunction function, KernelArguments a...
    class ConsoleFunctionApprovalService (line 108) | public sealed class ConsoleFunctionApprovalService : IFunctionApproval...
      method IsInvocationApproved (line 110) | public bool IsInvocationApproved(KernelFunction function, KernelArgu...
    class FunctionInvocationFilter (line 145) | public sealed class FunctionInvocationFilter(IFunctionApprovalService ...
      method OnFunctionInvocationAsync (line 149) | public async Task OnFunctionInvocationAsync(FunctionInvocationContex...
    method AddChatCompletion (line 168) | private static void AddChatCompletion(IKernelBuilder builder)

FILE: dotnet/samples/Demos/HomeAutomation/Options/AzureOpenAIOptions.cs
  class AzureOpenAIOptions (line 10) | public sealed class AzureOpenAIOptions

FILE: dotnet/samples/Demos/HomeAutomation/Options/OpenAIOptions.cs
  class OpenAIOptions (line 10) | public sealed class OpenAIOptions

FILE: dotnet/samples/Demos/HomeAutomation/Plugins/MyAlarmPlugin.cs
  class MyAlarmPlugin (line 12) | public class MyAlarmPlugin(MyTimePlugin timePlugin)
    method SetAlarm (line 14) | [KernelFunction, Description("Sets an alarm at the provided time")]

FILE: dotnet/samples/Demos/HomeAutomation/Plugins/MyLightPlugin.cs
  class MyLightPlugin (line 11) | [Description("Represents a light")]
    method IsTurnedOn (line 16) | [KernelFunction, Description("Returns whether this light is on")]
    method TurnOn (line 19) | [KernelFunction, Description("Turn on this light")]
    method TurnOff (line 22) | [KernelFunction, Description("Turn off this light")]

FILE: dotnet/samples/Demos/HomeAutomation/Plugins/MyTimePlugin.cs
  class MyTimePlugin (line 11) | public class MyTimePlugin
    method Time (line 13) | [KernelFunction, Description("Get the current time")]

FILE: dotnet/samples/Demos/HomeAutomation/Program.cs
  class Program (line 28) | internal static class Program
    method Main (line 30) | internal static async Task Main(string[] args)

FILE: dotnet/samples/Demos/HomeAutomation/Worker.cs
  class Worker (line 14) | internal sealed class Worker(
    method ExecuteAsync (line 21) | protected override async Task ExecuteAsync(CancellationToken stoppingT...

FILE: dotnet/samples/Demos/HuggingFaceImageToText/FormMain.Designer.cs
  class FormMain (line 5) | partial class FormMain
    method Dispose (line 16) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 31) | private void InitializeComponent()

FILE: dotnet/samples/Demos/HuggingFaceImageToText/FormMain.cs
  class FormMain (line 14) | public partial class FormMain : Form
    method FormMain (line 22) | public FormMain()
    method FormMain_Load (line 37) | private void FormMain_Load(object sender, EventArgs e)
    method ChangeFolder (line 46) | private void ChangeFolder()
    method RefreshImages (line 68) | private void RefreshImages()
    method PictureBoxOnClickAsync (line 100) | private async void PictureBoxOnClickAsync(object? sender, EventArgs e)
    method UpdateImageDescription (line 123) | private void UpdateImageDescription(string description)
    method CreateImageContentFromPictureBox (line 144) | private static ImageContent CreateImageContentFromPictureBox(PictureBo...
    method ConvertImageToReadOnlyMemory (line 152) | private static ReadOnlyMemory<byte> ConvertImageToReadOnlyMemory(Pictu...
    method btRefresh_Click (line 171) | private void btRefresh_Click(object sender, EventArgs e)
    method GetMimeType (line 181) | private static string GetMimeType(string fileName)
    method GetImageFormat (line 196) | private static ImageFormat GetImageFormat(string fileName)
    method btChangeFolder_Click (line 216) | private void btChangeFolder_Click(object sender, EventArgs e)

FILE: dotnet/samples/Demos/HuggingFaceImageToText/Program.cs
  class Program (line 5) | internal static class Program
    method Main (line 10) | [STAThread]

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Extensions/AuthorRoleExtensions.cs
  class AuthorRoleExtensions (line 12) | internal static class AuthorRoleExtensions
    method ToMCPRole (line 19) | public static Role ToMCPRole(this AuthorRole role)

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Extensions/ChatMessageContentExtensions.cs
  class ChatMessageContentExtensions (line 13) | public static class ChatMessageContentExtensions
    method ToCreateMessageResult (line 20) | public static CreateMessageResult ToCreateMessageResult(this ChatMessa...

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Extensions/ContentBlockExtensions.cs
  class ContentBlockExtensions (line 12) | public static class ContentBlockExtensions
    method ToKernelContent (line 19) | public static KernelContent ToKernelContent(this ContentBlock content)

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Extensions/PromptResultExtensions.cs
  class PromptResultExtensions (line 14) | internal static class PromptResultExtensions
    method ToChatMessageContents (line 21) | public static IList<ChatMessageContent> ToChatMessageContents(this Get...
    method ToChatMessageContent (line 31) | public static ChatMessageContent ToChatMessageContent(this PromptMessa...

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Extensions/ReadResourceResultExtensions.cs
  class ReadResourceResultExtensions (line 14) | public static class ReadResourceResultExtensions
    method ToChatMessageContentItemCollection (line 21) | public static ChatMessageContentItemCollection ToChatMessageContentIte...

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Extensions/RoleExtensions.cs
  class RoleExtensions (line 12) | internal static class RoleExtensions
    method ToAuthorRole (line 19) | public static AuthorRole ToAuthorRole(this Role role)

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Extensions/SamplingMessageExtensions.cs
  class SamplingMessageExtensions (line 13) | public static class SamplingMessageExtensions
    method ToChatMessageContents (line 20) | public static List<ChatMessageContent> ToChatMessageContents(this IEnu...
    method ToChatMessageContent (line 30) | public static ChatMessageContent ToChatMessageContent(this SamplingMes...

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/HumanInTheLoopFilter.cs
  class HumanInTheLoopFilter (line 13) | public class HumanInTheLoopFilter : IFunctionInvocationFilter
    method OnFunctionInvocationAsync (line 16) | public Task OnFunctionInvocationAsync(FunctionInvocationContext contex...
    method GetUserApprovalForSamplingMessages (line 43) | private static bool GetUserApprovalForSamplingMessages(CreateMessageRe...

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Program.cs
  class Program (line 8) | internal sealed class Program
    method Main (line 13) | public static async Task Main(string[] args)

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Samples/AgentAvailableAsMCPToolSample.cs
  class AgentAvailableAsMCPToolSample (line 16) | internal sealed class AgentAvailableAsMCPToolSample : BaseSample
    method RunAsync (line 31) | public static async Task RunAsync()

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Samples/AzureAIAgentWithMCPToolsSample.cs
  class AzureAIAgentWithMCPToolsSample (line 20) | internal sealed class AzureAIAgentWithMCPToolsSample : BaseSample
    method RunAsync (line 35) | public static async Task RunAsync()
    method CreateAzureAIAgentAsync (line 81) | private static async Task<AzureAIAgent> CreateAzureAIAgentAsync(Kernel...

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Samples/BaseSample.cs
  class BaseSample (line 16) | internal abstract class BaseSample
    method CreateMcpClientAsync (line 24) | protected static Task<McpClient> CreateMcpClientAsync(
    method CreateKernelWithChatCompletionService (line 78) | protected static Kernel CreateKernelWithChatCompletionService()
    method DisplayTools (line 106) | protected static void DisplayTools(IList<McpClientTool> tools)
    method GetMCPServerPath (line 120) | private static string GetMCPServerPath()

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Samples/ChatCompletionAgentWithMCPToolsSample.cs
  class ChatCompletionAgentWithMCPToolsSample (line 17) | internal sealed class ChatCompletionAgentWithMCPToolsSample : BaseSample
    method RunAsync (line 32) | public static async Task RunAsync()

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Samples/MCPPromptSample.cs
  class MCPPromptSample (line 16) | internal sealed class MCPPromptSample : BaseSample
    method RunAsync (line 27) | public static async Task RunAsync()
    method DisplayPrompts (line 69) | private static void DisplayPrompts(IList<McpClientPrompt> prompts)

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Samples/MCPResourceTemplatesSample.cs
  class MCPResourceTemplatesSample (line 17) | internal sealed class MCPResourceTemplatesSample : BaseSample
    method RunAsync (line 27) | public static async Task RunAsync()
    method DisplayResourceTemplates (line 74) | private static void DisplayResourceTemplates(IList<McpClientResourceTe...

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Samples/MCPResourcesSample.cs
  class MCPResourcesSample (line 17) | internal sealed class MCPResourcesSample : BaseSample
    method RunAsync (line 27) | public static async Task RunAsync()
    method DisplayResources (line 72) | private static void DisplayResources(IList<McpClientResource> resources)

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Samples/MCPSamplingSample.cs
  class MCPSamplingSample (line 20) | internal sealed class MCPSamplingSample : BaseSample
    method RunAsync (line 39) | public static async Task RunAsync()
    method SamplingRequestHandlerAsync (line 103) | private static async Task<CreateMessageResult> SamplingRequestHandlerA...

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPClient/Samples/MCPToolsSample.cs
  class MCPToolsSample (line 16) | internal sealed class MCPToolsSample : BaseSample
    method RunAsync (line 29) | public static async Task RunAsync()

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPServer/Extensions/McpServerBuilderExtensions.cs
  class McpServerBuilderExtensions (line 14) | public static class McpServerBuilderExtensions
    method WithTools (line 24) | public static IMcpServerBuilder WithTools(this IMcpServerBuilder build...
    method WithPrompt (line 67) | public static IMcpServerBuilder WithPrompt(this IMcpServerBuilder buil...
    method WithPromptHandlers (line 82) | public static IMcpServerBuilder WithPromptHandlers(this IMcpServerBuil...
    method WithResourceTemplate (line 98) | public static IMcpServerBuilder WithResourceTemplate(
    method WithResourceTemplate (line 115) | public static IMcpServerBuilder WithResourceTemplate(this IMcpServerBu...
    method WithResourceTemplateHandlers (line 130) | public static IMcpServerBuilder WithResourceTemplateHandlers(this IMcp...
    method WithResource (line 146) | public static IMcpServerBuilder WithResource(
    method WithResource (line 163) | public static IMcpServerBuilder WithResource(this IMcpServerBuilder bu...
    method WithResourceHandlers (line 178) | public static IMcpServerBuilder WithResourceHandlers(this IMcpServerBu...
    method HandleListPromptRequestsAsync (line 186) | private static ValueTask<ListPromptsResult> HandleListPromptRequestsAs...
    method HandleGetPromptRequestsAsync (line 197) | private static async ValueTask<GetPromptResult> HandleGetPromptRequest...
    method HandleReadResourceRequestAsync (line 219) | private static ValueTask<ReadResourceResult> HandleReadResourceRequest...
    method HandleListResourceTemplatesRequestAsync (line 250) | private static ValueTask<ListResourceTemplatesResult> HandleListResour...
    method HandleListResourcesRequestAsync (line 261) | private static ValueTask<ListResourcesResult> HandleListResourcesReque...

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPServer/Extensions/VectorStoreExtensions.cs
  class VectorStoreExtensions (line 11) | public static class VectorStoreExtensions
    method CreateCollectionFromListAsync (line 31) | public static async Task<VectorStoreCollection<TKey, TRecord>> CreateC...

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPServer/ProjectResources/EmbeddedResource.cs
  class EmbeddedResource (line 10) | public static class EmbeddedResource
    method ReadAsString (line 19) | public static string ReadAsString(string resourcePath)
    method ReadAsBytes (line 32) | public static byte[] ReadAsBytes(string resourcePath)
    method ReadAsStream (line 46) | public static Stream ReadAsStream(string resourcePath)

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPServer/Prompts/PromptDefinition.cs
  class PromptDefinition (line 13) | public sealed class PromptDefinition
    method Create (line 33) | public static PromptDefinition Create(string jsonPrompt, Kernel? kerne...
    method GetPrompt (line 54) | private static Prompt GetPrompt(PromptTemplateConfig promptTemplateCon...
    method GetPromptHandlerAsync (line 87) | private static async Task<GetPromptResult> GetPromptHandlerAsync(Reque...

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPServer/Resources/ResourceDefinition.cs
  class ResourceDefinition (line 12) | public sealed class ResourceDefinition
    method CreateBlobResource (line 47) | public static ResourceDefinition CreateBlobResource(string uri, string...
    method InvokeHandlerAsync (line 77) | public async ValueTask<ReadResourceResult> InvokeHandlerAsync(RequestC...

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPServer/Resources/ResourceTemplateDefinition.cs
  class ResourceTemplateDefinition (line 13) | public sealed class ResourceTemplateDefinition
    method IsMatch (line 45) | public bool IsMatch(string uri)
    method InvokeHandlerAsync (line 56) | public async ValueTask<ReadResourceResult> InvokeHandlerAsync(RequestC...
    method GetRegex (line 74) | private Regex GetRegex()
    method GetArguments (line 90) | private Dictionary<string, object?> GetArguments(string uri)

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPServer/Resources/TextDataModel.cs
  class TextDataModel (line 10) | public class TextDataModel

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPServer/Tools/DateTimeUtils.cs
  class DateTimeUtils (line 11) | internal sealed class DateTimeUtils
    method GetCurrentDateTimeInUtc (line 17) | [KernelFunction, Description("Retrieves the current date time in UTC.")]

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPServer/Tools/MailboxUtils.cs
  class MailboxUtils (line 13) | internal sealed class MailboxUtils
    method SummarizeUnreadEmailsAsync (line 19) | [KernelFunction]
    method CreateMessagesFromEmails (line 66) | private static List<SamplingMessage> CreateMessagesFromEmails(params E...
    class Email (line 104) | private sealed class Email

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPServer/Tools/OrderProcessingUtils.cs
  class OrderProcessingUtils (line 10) | internal sealed class OrderProcessingUtils
    method PlaceOrder (line 17) | [KernelFunction]
    method ExecuteRefund (line 28) | [KernelFunction]

FILE: dotnet/samples/Demos/ModelContextProtocolClientServer/MCPServer/Tools/WeatherUtils.cs
  class WeatherUtils (line 11) | internal sealed class WeatherUtils
    method GetWeatherForCity (line 19) | [KernelFunction, Description("Gets the current weather for the specifi...

FILE: dotnet/samples/Demos/OllamaFunctionCalling/Plugins/MyAlarmPlugin.cs
  class MyAlarmPlugin (line 11) | public class MyAlarmPlugin
    method MyAlarmPlugin (line 15) | public MyAlarmPlugin(string providedHour)
    method SetAlarm (line 20) | [KernelFunction, Description("Sets an alarm at the provided time")]
    method GetCurrentAlarm (line 27) | [KernelFunction, Description("Get current alarm set")]

FILE: dotnet/samples/Demos/OllamaFunctionCalling/Plugins/MyLightPlugin.cs
  class MyLightPlugin (line 11) | [Description("Represents a light bulb")]
    method IsTurnedOn (line 16) | [KernelFunction, Description("Returns whether this light is on")]
    method TurnOn (line 19) | [KernelFunction, Description("Turn on this light")]
    method TurnOff (line 22) | [KernelFunction, Description("Turn off this light")]

FILE: dotnet/samples/Demos/OllamaFunctionCalling/Plugins/MyTimePlugin.cs
  class MyTimePlugin (line 12) | public class MyTimePlugin
    method Time (line 14) | [KernelFunction, Description("Get the current time")]

FILE: dotnet/samples/Demos/OnnxSimpleRAG/Program.cs
  class InformationItem (line 127) | internal sealed class InformationItem

FILE: dotnet/samples/Demos/OpenAIRealtime/Options/AzureOpenAIOptions.cs
  class AzureOpenAIOptions (line 8) | public class AzureOpenAIOptions

FILE: dotnet/samples/Demos/OpenAIRealtime/Options/OpenAIOptions.cs
  class OpenAIOptions (line 8) | public class OpenAIOptions

FILE: dotnet/samples/Demos/OpenAIRealtime/Program.cs
  class Program (line 22) | internal sealed class Program
    method Main (line 24) | public static async Task Main(string[] args)
    class WeatherPlugin (line 289) | private sealed class WeatherPlugin
      method GetWeatherForCity (line 291) | [KernelFunction]
    method ParseFunctionName (line 313) | private static (string FunctionName, string? PluginName) ParseFunction...
    method DeserializeArguments (line 331) | private static KernelArguments? DeserializeArguments(string argumentsS...
    method ProcessFunctionResult (line 349) | private static string? ProcessFunctionResult(object? functionResult)
    method ConvertFunctions (line 360) | private static IEnumerable<RealtimeTool> ConvertFunctions(Kernel kernel)
    method FindFile (line 380) | private static string FindFile(string fileName)
    method GetRealtimeConversationClient (line 400) | private static RealtimeClient GetRealtimeConversationClient()

FILE: dotnet/samples/Demos/ProcessFrameworkWithAspire/ProcessFramework.Aspire/ProcessFramework.Aspire.ProcessOrchestrator/Models/ProcessEvents.cs
  class ProcessEvents (line 5) | public static class ProcessEvents

FILE: dotnet/samples/Demos/ProcessFrameworkWithAspire/ProcessFramework.Aspire/ProcessFramework.Aspire.ProcessOrchestrator/Steps/SummarizeStep.cs
  class SummarizeStep (line 8) | public class SummarizeStep : KernelProcessStep
    class ProcessFunctions (line 10) | public static class ProcessFunctions
    method SummarizeAsync (line 15) | [KernelFunction(ProcessFunctions.Summarize)]

FILE: dotnet/samples/Demos/ProcessFrameworkWithAspire/ProcessFramework.Aspire/ProcessFramework.Aspire.ProcessOrchestrator/Steps/TranslateStep.cs
  class TranslateStep (line 8) | public class TranslateStep : KernelProcessStep
    class ProcessFunctions (line 10) | public static class ProcessFunctions
    method TranslateAsync (line 15) | [KernelFunction(ProcessFunctions.Translate)]

FILE: dotnet/samples/Demos/ProcessFrameworkWithAspire/ProcessFramework.Aspire/ProcessFramework.Aspire.ProcessOrchestrator/SummaryAgentHttpClient.cs
  class SummaryAgentHttpClient (line 9) | public class SummaryAgentHttpClient(HttpClient httpClient)
    method SummarizeAsync (line 11) | public async Task<string> SummarizeAsync(string textToSummarize)

FILE: dotnet/samples/Demos/ProcessFrameworkWithAspire/ProcessFramework.Aspire/ProcessFramework.Aspire.ProcessOrchestrator/TranslatorAgentHttpClient.cs
  class TranslatorAgentHttpClient (line 9) | public class TranslatorAgentHttpClient(HttpClient httpClient)
    method TranslateAsync (line 11) | public async Task<string> TranslateAsync(string textToTranslate)

FILE: dotnet/samples/Demos/ProcessFrameworkWithAspire/ProcessFramework.Aspire/ProcessFramework.Aspire.ServiceDefaults/CommonExtensions.cs
  class CommonExtensions (line 18) | public static class CommonExtensions
    method AddServiceDefaults (line 30) | public static TBuilder AddServiceDefaults<TBuilder>(this TBuilder buil...
    method ConfigureOpenTelemetry (line 62) | public static TBuilder ConfigureOpenTelemetry<TBuilder>(this TBuilder ...
    method AddOpenTelemetryExporters (line 99) | private static TBuilder AddOpenTelemetryExporters<TBuilder>(this TBuil...
    method AddDefaultHealthChecks (line 124) | public static TBuilder AddDefaultHealthChecks<TBuilder>(this TBuilder ...
    method MapDefaultEndpoints (line 139) | public static WebApplication MapDefaultEndpoints(this WebApplication app)

FILE: dotnet/samples/Demos/ProcessFrameworkWithAspire/ProcessFramework.Aspire/ProcessFramework.Aspire.Shared/SummarizeRequest.cs
  class SummarizeRequest (line 8) | public class SummarizeRequest

FILE: dotnet/samples/Demos/ProcessFrameworkWithAspire/ProcessFramework.Aspire/ProcessFramework.Aspire.Shared/TranslationRequest.cs
  class TranslationRequest (line 8) | public class TranslationRequest

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ProcessOrchestrator/DocumentGenerationProcess.cs
  class DocumentGenerationProcess (line 11) | public static class DocumentGenerationProcess
    class DocGenerationEvents (line 16) | public static class DocGenerationEvents
    class DocGenerationTopics (line 36) | public static class DocGenerationTopics
    method CreateProcessBuilder (line 53) | public static ProcessBuilder CreateProcessBuilder(string processName =...

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ProcessOrchestrator/LocalEventProxyChannel.cs
  class LocalEventProxyChannel (line 8) | public sealed class LocalEventProxyChannel : IExternalKernelProcessMessa...
    method EmitExternalEventAsync (line 12) | public Task EmitExternalEventAsync(string externalTopicEvent, KernelPr...
    method Initialize (line 22) | public async ValueTask Initialize()
    method Uninitialize (line 31) | public async ValueTask Uninitialize()

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ProcessOrchestrator/Models/DocumentGenerationRequest.cs
  class DocumentGenerationRequest (line 5) | public class DocumentGenerationRequest
  class ProcessData (line 16) | public class ProcessData

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ProcessOrchestrator/Models/DocumentInfo.cs
  class DocumentInfo (line 11) | public class DocumentInfo

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ProcessOrchestrator/Models/ProductInfo.cs
  class ProductInfo (line 8) | public class ProductInfo

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ProcessOrchestrator/Program.cs
  class MyHub (line 104) | public class MyHub : Hub
    method OnConnectedAsync (line 106) | public override async Task OnConnectedAsync()
    method OnDisconnectedAsync (line 111) | public override async Task OnDisconnectedAsync(Exception? exception)
    method RequestUserReview (line 117) | public async Task RequestUserReview(KernelProcessProxyMessage eventData)
    method PublishDocumentation (line 129) | public async Task PublishDocumentation(KernelProcessProxyMessage event...
  class ExternalEventTopics (line 142) | public static class ExternalEventTopics

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ProcessOrchestrator/Steps/GatherProductInfoStep.cs
  class GatherProductInfoStep (line 11) | public class GatherProductInfoStep : KernelProcessStep
    method OnReceiveUserRequest (line 19) | [KernelFunction]

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ProcessOrchestrator/Steps/GenerateDocumentationStep.cs
  class GenerateDocumentationStep (line 12) | public class GenerateDocumentationStep : KernelProcessStep<GenerateDocum...
    class ProcessFunctions (line 17) | public static class ProcessFunctions
    class OutputEvents (line 32) | public static class OutputEvents
    method ActivateAsync (line 51) | public override ValueTask ActivateAsync(KernelProcessStepState<Generat...
    method GenerateDocumentationAsync (line 66) | [KernelFunction(ProcessFunctions.GenerateDocs)]
    method ApplySuggestionsAsync (line 97) | [KernelFunction(ProcessFunctions.ApplySuggestions)]
  class GenerateDocumentationState (line 126) | public sealed class GenerateDocumentationState

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ProcessOrchestrator/Steps/ProofreadDocumentationStep.cs
  class ProofReadDocumentationStep (line 15) | public class ProofReadDocumentationStep : KernelProcessStep
    class OutputEvents (line 20) | public static class OutputEvents
    method ProofreadDocumentationAsync (line 51) | [KernelFunction]
    class ProofreadingResponse (line 86) | private sealed class ProofreadingResponse

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ProcessOrchestrator/Steps/PublishDocumentationStep.cs
  class PublishDocumentationStep (line 11) | public class PublishDocumentationStep : KernelProcessStep
    method OnPublishDocumentation (line 19) | [KernelFunction]

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ReactFrontend/src/App.tsx
  type AppProps (line 20) | interface AppProps {

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ReactFrontend/src/common/AppConstants.ts
  type AppPages (line 8) | enum AppPages {
  type EnumDetails (line 12) | interface EnumDetails {
  type CloudTechnology (line 30) | enum CloudTechnology {

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ReactFrontend/src/common/ChatConstants.ts
  type ChatUser (line 5) | enum ChatUser {
  type ChatMessageContent (line 10) | interface ChatMessageContent {

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ReactFrontend/src/components/GenerateDocumentsChat.tsx
  type NewDocument (line 26) | interface NewDocument {
  type DocumentReview (line 32) | interface DocumentReview {
  type GenerateDocsChatProps (line 38) | interface GenerateDocsChatProps {

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ReactFrontend/src/components/SimpleChat.tsx
  type SimpleChatProps (line 20) | interface SimpleChatProps {

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ReactFrontend/src/services/signalr/ProcessFrameworkClient.ts
  constant API_BASE_URL (line 3) | const API_BASE_URL = 'http://localhost:5125';
  class ProcessFrameworkHttpClient (line 5) | class ProcessFrameworkHttpClient {
    method generateDocumentation (line 6) | async generateDocumentation(request: {
    method requestDocumentationReview (line 20) | async requestDocumentationReview(request: {

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ReactFrontend/src/services/signalr/documentGeneration.client.ts
  class SignalRDocumentationGenerationClient (line 8) | class SignalRDocumentationGenerationClient {
    method constructor (line 11) | constructor() {
    method userRequestFeatureDocumentation (line 33) | async userRequestFeatureDocumentation(input: FeatureDocumentationReque...
    method requestUserReviewDocumentationFromProcess (line 37) | async requestUserReviewDocumentationFromProcess(input: DocumentationCo...
    method userReviewedDocumentation (line 41) | async userReviewedDocumentation(input: DocumentationApprovalRequest): ...
    method publishDocumentation (line 45) | async publishDocumentation(input: DocumentationContentRequest): Promis...
    method subscribeToProcessEvents (line 49) | subscribeToProcessEvents(_processId: string, handlers: {

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ReactFrontend/src/services/signalr/documentGeneration.ts
  type FeatureDocumentationRequest (line 1) | interface FeatureDocumentationRequest {
  type DocumentationContentRequest (line 8) | interface DocumentationContentRequest {
  type DocumentationApprovalRequest (line 15) | interface DocumentationApprovalRequest {
  type ProcessData (line 21) | interface ProcessData {

FILE: dotnet/samples/Demos/ProcessFrameworkWithSignalR/src/ProcessFramework.Aspire.SignalR.ServiceDefaults/CommonExtensions.cs
  class CommonExtensions (line 18) | public static class CommonExtensions
    method AddServiceDefaults (line 30) | public static TBuilder AddServiceDefaults<TBuilder>(this TBuilder buil...
    method ConfigureOpenTelemetry (line 62) | public static TBuilder ConfigureOpenTelemetry<TBuilder>(this TBuilder ...
    method AddOpenTelemetryExporters (line 111) | private static TBuilder AddOpenTelemetryExporters<TBuilder>(this TBuil...
    method AddDefaultHealthChecks (line 136) | public static TBuilder AddDefaultHealthChecks<TBuilder>(this TBuilder ...
    method MapDefaultEndpoints (line 151) | public static WebApplication MapDefaultEndpoints(this WebApplication app)

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Client/src/App.tsx
  type AppProps (line 32) | interface AppProps {

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Client/src/common/AppConstants.ts
  type AppPages (line 8) | enum AppPages {
  type EnumDetails (line 12) | interface EnumDetails {
  type CloudTechnology (line 30) | enum CloudTechnology {

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Client/src/common/ChatConstants.ts
  type ChatUser (line 5) | enum ChatUser {
  type ChatMessageContent (line 10) | interface ChatMessageContent {

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Client/src/components/GenerateDocumentsChat.tsx
  type NewDocument (line 26) | interface NewDocument {
  type DocumentReview (line 32) | interface DocumentReview {
  type GenerateDocsChatProps (line 38) | interface GenerateDocsChatProps {

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Client/src/components/SimpleChat.tsx
  type SimpleChatProps (line 20) | interface SimpleChatProps {

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Client/src/services/grpc/gen/documentGeneration.client.ts
  type IGrpcDocumentationGenerationClient (line 19) | interface IGrpcDocumentationGenerationClient {
  class GrpcDocumentationGenerationClient (line 48) | class GrpcDocumentationGenerationClient implements IGrpcDocumentationGen...
    method constructor (line 52) | constructor(private readonly _transport: RpcTransport) {
    method userRequestFeatureDocumentation (line 57) | userRequestFeatureDocumentation(input: FeatureDocumentationRequest, op...
    method requestUserReviewDocumentationFromProcess (line 64) | requestUserReviewDocumentationFromProcess(input: DocumentationContentR...
    method requestUserReviewDocumentation (line 71) | requestUserReviewDocumentation(input: ProcessData, options?: RpcOption...
    method userReviewedDocumentation (line 78) | userReviewedDocumentation(input: DocumentationApprovalRequest, options...
    method publishDocumentation (line 85) | publishDocumentation(input: DocumentationContentRequest, options?: Rpc...
    method receivePublishedDocumentation (line 92) | receivePublishedDocumentation(input: ProcessData, options?: RpcOptions...

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Client/src/services/grpc/gen/documentGeneration.ts
  type FeatureDocumentationRequest (line 17) | interface FeatureDocumentationRequest {
  type DocumentationContentRequest (line 38) | interface DocumentationContentRequest {
  type DocumentationApprovalRequest (line 59) | interface DocumentationApprovalRequest {
  type ProcessData (line 76) | interface ProcessData {
  type Empty (line 85) | interface Empty {
  class FeatureDocumentationRequest$Type (line 88) | class FeatureDocumentationRequest$Type extends MessageType<FeatureDocume...
    method constructor (line 89) | constructor() {
    method create (line 97) | create(value?: PartialMessage<FeatureDocumentationRequest>): FeatureDo...
    method internalBinaryRead (line 107) | internalBinaryRead(reader: IBinaryReader, length: number, options: Bin...
    method internalBinaryWrite (line 135) | internalBinaryWrite(message: FeatureDocumentationRequest, writer: IBin...
  class DocumentationContentRequest$Type (line 159) | class DocumentationContentRequest$Type extends MessageType<Documentation...
    method constructor (line 160) | constructor() {
    method create (line 168) | create(value?: PartialMessage<DocumentationContentRequest>): Documenta...
    method internalBinaryRead (line 177) | internalBinaryRead(reader: IBinaryReader, length: number, options: Bin...
    method internalBinaryWrite (line 205) | internalBinaryWrite(message: DocumentationContentRequest, writer: IBin...
  class DocumentationApprovalRequest$Type (line 229) | class DocumentationApprovalRequest$Type extends MessageType<Documentatio...
    method constructor (line 230) | constructor() {
    method create (line 237) | create(value?: PartialMessage<DocumentationApprovalRequest>): Document...
    method internalBinaryRead (line 245) | internalBinaryRead(reader: IBinaryReader, length: number, options: Bin...
    method internalBinaryWrite (line 270) | internalBinaryWrite(message: DocumentationApprovalRequest, writer: IBi...
  class ProcessData$Type (line 291) | class ProcessData$Type extends MessageType<ProcessData> {
    method constructor (line 292) | constructor() {
    method create (line 297) | create(value?: PartialMessage<ProcessData>): ProcessData {
    method internalBinaryRead (line 304) | internalBinaryRead(reader: IBinaryReader, length: number, options: Bin...
    method internalBinaryWrite (line 323) | internalBinaryWrite(message: ProcessData, writer: IBinaryWriter, optio...
  class Empty$Type (line 338) | class Empty$Type extends MessageType<Empty> {
    method constructor (line 339) | constructor() {
    method create (line 342) | create(value?: PartialMessage<Empty>): Empty {
    method internalBinaryRead (line 348) | internalBinaryRead(reader: IBinaryReader, length: number, options: Bin...
    method internalBinaryWrite (line 364) | internalBinaryWrite(message: Empty, writer: IBinaryWriter, options: Bi...

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Grpc/Clients/DocumentGenerationGrpcClient.cs
  class DocumentGenerationGrpcClient (line 15) | public class DocumentGenerationGrpcClient : IExternalKernelProcessMessag...
    method Initialize (line 21) | public async ValueTask Initialize()
    method Uninitialize (line 28) | public async ValueTask Uninitialize()
    method EmitExternalEventAsync (line 37) | public async Task EmitExternalEventAsync(string externalTopicEvent, Ke...

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Grpc/Extensions/ConfigurationExtension.cs
  class ConfigurationExtensions (line 10) | public static class ConfigurationExtensions
    method GetValid (line 15) | public static TOptions GetValid<TOptions>(this IConfigurationRoot conf...

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Grpc/Options/OpenAIOptions.cs
  class OpenAIOptions (line 10) | public class OpenAIOptions

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Grpc/Services/DocumentGenerationService.cs
  class DocumentGenerationService (line 18) | public class DocumentGenerationService : GrpcDocumentationGeneration.Grp...
    method DocumentGenerationService (line 31) | public DocumentGenerationService(ILogger<DocumentGenerationService> lo...
    method UserRequestFeatureDocumentation (line 48) | public override async Task<ProcessData> UserRequestFeatureDocumentatio...
    method RequestUserReviewDocumentationFromProcess (line 73) | public override async Task<Empty> RequestUserReviewDocumentationFromPr...
    method RequestUserReviewDocumentation (line 94) | public override async Task RequestUserReviewDocumentation(ProcessData ...
    method UserReviewedDocumentation (line 120) | public override async Task<Empty> UserReviewedDocumentation(Documentat...
    method PublishDocumentation (line 155) | public override async Task<Empty> PublishDocumentation(DocumentationCo...
    method ReceivePublishedDocumentation (line 176) | public override async Task ReceivePublishedDocumentation(ProcessData r...

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Processes/DocumentGenerationProcess.cs
  class DocumentGenerationProcess (line 11) | public static class DocumentGenerationProcess
    class DocGenerationEvents (line 16) | public static class DocGenerationEvents
    class DocGenerationTopics (line 36) | public static class DocGenerationTopics
    method CreateProcessBuilder (line 53) | public static ProcessBuilder CreateProcessBuilder(string processName =...

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Processes/Models/DocumentInfo.cs
  class DocumentInfo (line 11) | public class DocumentInfo

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Processes/Models/ProductInfo.cs
  class ProductInfo (line 10) | public class ProductInfo

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Processes/Steps/GatherProductInfoStep.cs
  class GatherProductInfoStep (line 11) | public class GatherProductInfoStep : KernelProcessStep
    method OnReceiveUserRequest (line 19) | [KernelFunction]

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Processes/Steps/GenerateDocumentationStep.cs
  class GenerateDocumentationStep (line 12) | public class GenerateDocumentationStep : KernelProcessStep<GenerateDocum...
    class ProcessFunctions (line 17) | public static class ProcessFunctions
    class OutputEvents (line 32) | public static class OutputEvents
    method ActivateAsync (line 51) | public override ValueTask ActivateAsync(KernelProcessStepState<Generat...
    method GenerateDocumentationAsync (line 66) | [KernelFunction(ProcessFunctions.GenerateDocs)]
    method ApplySuggestionsAsync (line 97) | [KernelFunction(ProcessFunctions.ApplySuggestions)]
  class GenerateDocumentationState (line 126) | public sealed class GenerateDocumentationState

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Processes/Steps/ProofreadDocumentationStep.cs
  class ProofReadDocumentationStep (line 15) | public class ProofReadDocumentationStep : KernelProcessStep
    class OutputEvents (line 20) | public static class OutputEvents
    method ProofreadDocumentationAsync (line 51) | [KernelFunction]
    class ProofreadingResponse (line 86) | private sealed class ProofreadingResponse

FILE: dotnet/samples/Demos/ProcessWithCloudEvents/ProcessWithCloudEvents.Processes/Steps/PublishDocumentationStep.cs
  class PublishDocumentationStep (line 11) | public class PublishDocumentationStep : KernelProcessStep
    method OnPublishDocumentation (line 19) | [KernelFunction]

FILE: dotnet/samples/Demos/ProcessWithDapr/Controllers/ProcessController.cs
  class ProcessController (line 12) | [ApiController]
    method ProcessController (line 21) | public ProcessController(Kernel kernel)
    method PostAsync (line 31) | [HttpGet("processes/{processId}")]
    method GetProcess (line 41) | private KernelProcess GetProcess()
    class KickoffStep (line 98) | private sealed class KickoffStep : KernelProcessStep
      class Functions (line 100) | public static class Functions
      method PrintWelcomeMessageAsync (line 105) | [KernelFunction(Functions.KickOff)]
    class AStep (line 116) | private sealed class AStep : KernelProcessStep
      method DoItAsync (line 118) | [KernelFunction]
    class BStep (line 130) | private sealed class BStep : KernelProcessStep
      method DoItAsync (line 132) | [KernelFunction]
    class CStep (line 145) | private sealed class CStep : KernelProcessStep<CStepState>
      method ActivateAsync (line 153) | public override ValueTask ActivateAsync(KernelProcessStepState<CStep...
      method DoItAsync (line 160) | [KernelFunction]
    type CStepState (line 182) | [DataContract]
    class CommonEvents (line 192) | private static class CommonEvents

FILE: dotnet/samples/Demos/QualityCheck/QualityCheckWithFilters/Filters/BertSummarizationEvaluationFilter.cs
  class BertSummarizationEvaluationFilter (line 15) | internal sealed class BertSummarizationEvaluationFilter(
    method OnFunctionInvocationAsync (line 20) | public async Task OnFunctionInvocationAsync(FunctionInvocationContext ...

FILE: dotnet/samples/Demos/QualityCheck/QualityCheckWithFilters/Filters/BleuSummarizationEvaluationFilter.cs
  class BleuSummarizationEvaluationFilter (line 15) | internal sealed class BleuSummarizationEvaluationFilter(
    method OnFunctionInvocationAsync (line 20) | public async Task OnFunctionInvocationAsync(FunctionInvocationContext ...

FILE: dotnet/samples/Demos/QualityCheck/QualityCheckWithFilters/Filters/CometTranslationEvaluationFilter.cs
  class CometTranslationEvaluationFilter (line 14) | internal sealed class CometTranslationEvaluationFilter(
    method OnFunctionInvocationAsync (line 19) | public async Task OnFunctionInvocationAsync(FunctionInvocationContext ...

FILE: dotnet/samples/Demos/QualityCheck/QualityCheckWithFilters/Filters/FilterFactory.cs
  class FilterFactory (line 13) | internal sealed class FilterFactory
    method Create (line 23) | public static IFunctionInvocationFilter Create(EvaluationScoreType typ...

FILE: dotnet/samples/Demos/QualityCheck/QualityCheckWithFilters/Filters/MeteorSummarizationEvaluationFilter.cs
  class MeteorSummarizationEvaluationFilter (line 14) | internal sealed class MeteorSummarizationEvaluationFilter(
    method OnFunctionInvocationAsync (line 19) | public async Task OnFunctionInvocationAsync(FunctionInvocationContext ...

FILE: dotnet/samples/Demos/QualityCheck/QualityCheckWithFilters/Models/EvaluationRequest.cs
  class EvaluationRequest (line 8) | internal class EvaluationRequest
  class SummarizationEvaluationRequest (line 15) | internal sealed class SummarizationEvaluationRequest : EvaluationRequest
  class TranslationEvaluationRequest (line 22) | internal sealed class TranslationEvaluationRequest : EvaluationRequest

FILE: dotnet/samples/Demos/QualityCheck/QualityCheckWithFilters/Models/EvaluationResponse.cs
  class BertSummarizationEvaluationResponse (line 8) | internal sealed class BertSummarizationEvaluationResponse
  class BleuSummarizationEvaluationResponse (line 21) | internal sealed class BleuSummarizationEvaluationResponse
  class MeteorSummarizationEvaluationResponse (line 37) | internal sealed class MeteorSummarizationEvaluationResponse
  class CometTranslationEvaluationResponse (line 44) | internal sealed class CometTranslationEvaluationResponse

FILE: dotnet/samples/Demos/QualityCheck/QualityCheckWithFilters/Models/EvaluationScoreType.cs
  type EvaluationScoreType (line 10) | internal readonly struct EvaluationScoreType(string endpoint) : IEquatab...
    method Equals (line 23) | public override bool Equals([NotNullWhen(true)] object? obj) => obj is...
    method Equals (line 26) | public bool Equals(EvaluationScoreType other) => string.Equals(this.En...
    method GetHashCode (line 29) | public override int GetHashCode() => StringComparer.OrdinalIgnoreCase....
    method ToString (line 32) | public override string ToString() => this.Endpoint ?? string.Empty;

FILE: dotnet/samples/Demos/QualityCheck/QualityCheckWithFilters/Program.cs
  class Program (line 13) | public class Program
    method Main (line 28) | public static async Task Main()
    method SummarizationEvaluationAsync (line 72) | private static async Task SummarizationEvaluationAsync(EvaluationScore...
    method TranslationEvaluationAsync (line 132) | private static async Task TranslationEvaluationAsync(double threshold)
    method GetKernelBuilder (line 167) | private static IKernelBuilder GetKernelBuilder(EvaluationScoreType sco...
    method InvokeAsync (line 198) | private static async Task InvokeAsync(Kernel kernel, string input, str...

FILE: dotnet/samples/Demos/QualityCheck/QualityCheckWithFilters/Services/EvaluationService.cs
  class EvaluationService (line 12) | internal sealed class EvaluationService(HttpClient httpClient, string en...
    method EvaluateAsync (line 14) | public async Task<TResponse> EvaluateAsync<TRequest, TResponse>(TReque...

FILE: dotnet/samples/Demos/QualityCheck/QualityCheckWithFilters/Services/FakeChatCompletionService.cs
  class FakeChatCompletionService (line 15) | internal sealed class FakeChatCompletionService(string modelId, string r...
    method GetChatMessageContentsAsync (line 19) | public Task<IReadOnlyList<ChatMessageContent>> GetChatMessageContentsA...
    method GetStreamingChatMessageContentsAsync (line 24) | public async IAsyncEnumerable<StreamingChatMessageContent> GetStreamin...

FILE: dotnet/samples/Demos/QualityCheck/python-server/app/main.py
  class SummarizationEvaluationRequest (line 12) | class SummarizationEvaluationRequest(BaseModel):
  class TranslationEvaluationRequest (line 16) | class TranslationEvaluationRequest(BaseModel):
  function bert_score (line 21) | def bert_score(request: SummarizationEvaluationRequest):
  function meteor_score (line 26) | def meteor_score(request: SummarizationEvaluationRequest):
  function bleu_score (line 31) | def bleu_score(request: SummarizationEvaluationRequest):
  function comet_score (line 36) | def comet_score(request: TranslationEvaluationRequest):

FILE: dotnet/samples/Demos/StepwisePlannerMigration/Controllers/AutoFunctionCallingController.cs
  class AutoFunctionCallingController (line 21) | [ApiController]
    method AutoFunctionCallingController (line 29) | public AutoFunctionCallingController(
    method GeneratePlanAsync (line 45) | [HttpPost, Route("generate-plan")]
    method ExecuteNewPlanAsync (line 62) | [HttpPost, Route("execute-new-plan")]
    method ExecuteExistingPlanAsync (line 76) | [HttpPost, Route("execute-existing-plan")]

FILE: dotnet/samples/Demos/StepwisePlannerMigration/Controllers/StepwisePlannerController.cs
  class 
Copy disabled (too large) Download .json
Condensed preview — 5382 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (16,815K chars).
[
  {
    "path": ".devcontainer/devcontainer.json",
    "chars": 989,
    "preview": "{\n\t\"image\": \"mcr.microsoft.com/devcontainers/universal:2\",\n\t\"features\": {\n\t\t\"ghcr.io/devcontainers/features/node:1\": {},"
  },
  {
    "path": ".editorconfig",
    "chars": 35315,
    "preview": "# To learn more about .editorconfig see https://aka.ms/editorconfigdocs\n###############################\n# Core EditorCon"
  },
  {
    "path": ".gitattributes",
    "chars": 147,
    "preview": "# Auto-detect text files, ensure they use LF.\n* text=auto eol=lf working-tree-encoding=UTF-8\n\n# Bash scripts\n*.sh  text "
  },
  {
    "path": ".github/.linkspector.yml",
    "chars": 1385,
    "preview": "dirs: \n  - .\nignorePatterns:\n  - pattern: \"/github/\"\n  - pattern: \"./actions\"\n  - pattern: \"./blob\"\n  - pattern: \"./issu"
  },
  {
    "path": ".github/CODEOWNERS",
    "chars": 587,
    "preview": "# @microsoft/octo-semantickernel-pr-dotnet owns any files in the dotnet\n# directory at the root of the repository and an"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "chars": 847,
    "preview": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: 'Bug: '\ntype: 'bug'\nlabels: [\"bug\"]\nprojects: [\"se"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_graduation.md",
    "chars": 946,
    "preview": "---\nname: Feature graduation\nabout: Plan the graduation of an experimental feature\ntitle: 'Graduate XXX feature'\nlabels:"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "chars": 505,
    "preview": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: 'New Feature: '\nlabels: ''\ntype: 'feature'\nproj"
  },
  {
    "path": ".github/_typos.toml",
    "chars": 2006,
    "preview": "# Typos configuration file\n#\n# Info:    https://github.com/marketplace/actions/typos-action\n# Install: brew install typo"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 1423,
    "preview": "# To get started with Dependabot version updates, you'll need to specify which\n# package ecosystems to update and where "
  },
  {
    "path": ".github/labeler.yml",
    "chars": 1392,
    "preview": "# Add 'kernel' label to any change within Connectors, Extensions, Skills, and tests directories\nkernel:\n  - dotnet/src/C"
  },
  {
    "path": ".github/pull_request_template.md",
    "chars": 1042,
    "preview": "### Motivation and Context\n\n<!-- Thank you for your contribution to the semantic-kernel repo!\nPlease help reviewers and "
  },
  {
    "path": ".github/upgrades/prompts/SemanticKernelToAgentFramework.md",
    "chars": 61723,
    "preview": "# Instructions for migrating from Semantic Kernel Agents to Agent Framework in .NET projects.\n\n## Scope\n\nWhen you are as"
  },
  {
    "path": ".github/workflows/check-coverage.ps1",
    "chars": 2585,
    "preview": "param (\n    [string]$JsonReportPath,\n    [double]$CoverageThreshold\n)\n\n$jsonContent = Get-Content $JsonReportPath -Raw |"
  },
  {
    "path": ".github/workflows/close-inactive-issues.yml",
    "chars": 705,
    "preview": "name: Close inactive issues\non:\n  schedule:\n    - cron: \"30 1 * * *\"\n\njobs:\n  close-issues:\n    runs-on: ubuntu-latest\n "
  },
  {
    "path": ".github/workflows/codeql-analysis.yml",
    "chars": 3016,
    "preview": "# CodeQL is the code analysis engine developed by GitHub to automate security checks.\n# The results are shown as code sc"
  },
  {
    "path": ".github/workflows/devflow-pr-review.yml",
    "chars": 4955,
    "preview": "name: DevFlow PR Review\n\non:\n  pull_request_target:\n    types:\n      - opened\n      - reopened\n      - ready_for_review\n"
  },
  {
    "path": ".github/workflows/dotnet-build-and-test.yml",
    "chars": 10569,
    "preview": "#\n# This workflow will build and run all unit tests using dotnet docker containers,\n# each targeting a single version of"
  },
  {
    "path": ".github/workflows/dotnet-ci.yml",
    "chars": 3928,
    "preview": "#\n# This workflow will build and run all tests using dotnet docker containers,\n# each targeting a single version of the "
  },
  {
    "path": ".github/workflows/dotnet-format.yml",
    "chars": 3678,
    "preview": "#\n# This workflow runs the dotnet formatter on all c-sharp code.\n#\n\nname: dotnet-format\n\non:\n  workflow_dispatch:\n  pull"
  },
  {
    "path": ".github/workflows/dotnet-integration-tests.yml",
    "chars": 2338,
    "preview": "#\n# This workflow will run all dotnet integrations tests.\n#\n\nname: dotnet-integration-tests\n\non:\n  workflow_dispatch:\n  "
  },
  {
    "path": ".github/workflows/label-discussions.yml",
    "chars": 3874,
    "preview": "name: Label Discussions\n\non:\n  discussion:\n    types:\n      - created\n\njobs:\n  label_discussions:\n    runs-on: ubuntu-la"
  },
  {
    "path": ".github/workflows/label-issues.yml",
    "chars": 2167,
    "preview": "name: Label issues\non:\n  issues:\n    types:\n      - reopened\n      - opened\n\njobs:\n  label_issues:\n    name: \"Issue: add"
  },
  {
    "path": ".github/workflows/label-pr.yml",
    "chars": 566,
    "preview": "# This workflow will triage pull requests and apply a label based on the\n# paths that are modified in the pull request.\n"
  },
  {
    "path": ".github/workflows/label-title-prefix.yml",
    "chars": 2485,
    "preview": "name: Label title prefix\non:\n  issues:\n    types: [labeled]\n  pull_request_target:\n    types: [labeled]\n\njobs:\n  add_tit"
  },
  {
    "path": ".github/workflows/markdown-link-check.yml",
    "chars": 602,
    "preview": "name: Check .md links\n\non:\n  workflow_dispatch:\n  pull_request:\n    branches: [\"main\"]\n\npermissions:\n  contents: read\n\nj"
  },
  {
    "path": ".github/workflows/merge-gatekeeper.yml",
    "chars": 1016,
    "preview": "name: Merge Gatekeeper\n\non:\n  pull_request:\n    branches: [ \"main\", \"feature*\" ]\n  merge_group:\n    branches: [\"main\"]\n\n"
  },
  {
    "path": ".github/workflows/python-build.yml",
    "chars": 1545,
    "preview": "name: Python Build Assets\n\non:\n  release:\n    types: [published]\n\npermissions:\n  contents: write\n  id-token: write\n\njobs"
  },
  {
    "path": ".github/workflows/python-integration-tests.yml",
    "chars": 23106,
    "preview": "#\n# This workflow will run all python integrations tests.\n#\n\nname: Python Integration Tests\n\non:\n  workflow_dispatch:\n  "
  },
  {
    "path": ".github/workflows/python-lint.yml",
    "chars": 1144,
    "preview": "name: Python Code Quality Checks\non:\n  workflow_dispatch:\n  pull_request:\n    branches: [\"main\", \"feature*\"]\n    paths:\n"
  },
  {
    "path": ".github/workflows/python-manual-release.yml",
    "chars": 868,
    "preview": "name: Python Start Release on ADO\n\non:\n  workflow_dispatch:\n    inputs:\n      tag:\n        description: \"Tag to release\""
  },
  {
    "path": ".github/workflows/python-test-coverage-report.yml",
    "chars": 1740,
    "preview": "name: Python Test Coverage Report\n\non:\n  workflow_run:\n    workflows: [\"Python Test Coverage\"]\n    types:\n      - comple"
  },
  {
    "path": ".github/workflows/python-test-coverage.yml",
    "chars": 1604,
    "preview": "name: Python Test Coverage\n\non:\n  pull_request:\n    branches: [\"main\", \"feature*\"]\n    paths:\n      - \"python/semantic_k"
  },
  {
    "path": ".github/workflows/python-unit-tests.yml",
    "chars": 2596,
    "preview": "name: Python Unit Tests\n\non:\n  pull_request:\n    branches: [\"main\", \"feature*\"]\n    paths:\n      - \"python/**\"\nenv:\n  # "
  },
  {
    "path": ".github/workflows/test-aot-compatibility.ps1",
    "chars": 1499,
    "preview": "param([string]$targetNetFramework)\n\n$targetNetFramework = \"net$targetNetFramework\"\n\n$rootDirectory = Get-Location\n\nWrite"
  },
  {
    "path": ".github/workflows/typos.yaml",
    "chars": 719,
    "preview": "# Check pull requests for typos.\n#\n# Configuration: .github/_typos.toml\n#\n# Info:          https://github.com/marketplac"
  },
  {
    "path": ".github/workflows/update-version.sh",
    "chars": 3061,
    "preview": "#!/bin/bash\n\nPOSITIONAL_ARGS=()\n\nwhile [[ $# -gt 0 ]]; do\n    case $1 in\n        -f|--file)\n            file=\"$2\"\n      "
  },
  {
    "path": ".gitignore",
    "chars": 8043,
    "preview": "dotnet/.config\n\n## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio "
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 444,
    "preview": "# Microsoft Open Source Code of Conduct\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://op"
  },
  {
    "path": "COMMUNITY.md",
    "chars": 1857,
    "preview": "# Welcome to the Semantic Kernel Community!\n\nBelow are some ways that you can get involved in the SK Community.\n\n## Enga"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 7004,
    "preview": "# Contributing to Semantic Kernel\n\nYou can contribute to Semantic Kernel with issues and pull requests (PRs). Simply\nfil"
  },
  {
    "path": "FEATURE_MATRIX.md",
    "chars": 444,
    "preview": "# Semantic Kernel feature matrix by language\n\nThis document has been moved to the Semantic Kernel Documentation site. Yo"
  },
  {
    "path": "LICENSE",
    "chars": 1141,
    "preview": "    MIT License\n\n    Copyright (c) Microsoft Corporation.\n\n    Permission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "README.md",
    "chars": 13474,
    "preview": "# Semantic Kernel\n\n**Build intelligent AI agents and multi-agent systems with this enterprise-ready orchestration framew"
  },
  {
    "path": "SECURITY.md",
    "chars": 2563,
    "preview": "<!-- BEGIN MICROSOFT SECURITY.MD V0.0.9 BLOCK -->\n\n## Security\n\nMicrosoft takes the security of our software products an"
  },
  {
    "path": "TRANSPARENCY_FAQS.md",
    "chars": 8042,
    "preview": "# Semantic Kernel Responsible AI FAQs\n\n## What is Microsoft Semantic Kernel?\nMicrosoft Semantic Kernel is a lightweight,"
  },
  {
    "path": "docs/COSINE_SIMILARITY.md",
    "chars": 3128,
    "preview": "# Cosine Similarity\n\nCosine similarity is a measure of the degree of similarity between two vectors in\na multi-dimension"
  },
  {
    "path": "docs/DOT_PRODUCT.md",
    "chars": 2788,
    "preview": "# Dot Product\n\nDot product is a mathematical operation that takes two equal-length vectors and\nreturns a single scalar v"
  },
  {
    "path": "docs/EMBEDDINGS.md",
    "chars": 4240,
    "preview": "# Embeddings\n\nEmbeddings are a powerful tool for software developers working with artificial intelligence\nand natural la"
  },
  {
    "path": "docs/EUCLIDEAN_DISTANCE.md",
    "chars": 2892,
    "preview": "# Euclidean Distance\n\nEuclidean distance is a mathematical concept that measures the straight-line distance\nbetween two"
  },
  {
    "path": "docs/FAQS.md",
    "chars": 2907,
    "preview": "# Frequently Asked Questions\n\n### How do I get access to nightly builds?\n\nNightly builds of the Semantic Kernel are avai"
  },
  {
    "path": "docs/GLOSSARY.md",
    "chars": 1694,
    "preview": "# Glossary ✍\n\nTo wrap your mind around the concepts we present throughout the kernel, here is a glossary of\ncommonly use"
  },
  {
    "path": "docs/PLANNERS.md",
    "chars": 425,
    "preview": "# Semantic Kernel planner\n\nThis document has been moved to the Semantic Kernel Documentation site. You can find it by na"
  },
  {
    "path": "docs/PLUGINS.md",
    "chars": 393,
    "preview": "# What are plugins?\n\nThis document has been moved to the Semantic Kernel Documentation site. You can find it by navigati"
  },
  {
    "path": "docs/PROMPT_TEMPLATE_LANGUAGE.md",
    "chars": 401,
    "preview": "# SK Prompt Template Syntax\n\nThis document has been moved to the Semantic Kernel Documentation site. You can find it by "
  },
  {
    "path": "docs/decisions/0001-madr-architecture-decisions.md",
    "chars": 3090,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ndate: 2023-05-29\ndeciders: dluc, sh"
  },
  {
    "path": "docs/decisions/0002-java-folder-structure.md",
    "chars": 5194,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ndate: 2013-06-19\ndeciders: shawncal"
  },
  {
    "path": "docs/decisions/0003-support-multiple-native-function-args.md",
    "chars": 9128,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: markwallace-microsoft\ndate"
  },
  {
    "path": "docs/decisions/0004-error-handling.md",
    "chars": 5777,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: SergeyMenshykh\ndate: 2023-"
  },
  {
    "path": "docs/decisions/0005-kernel-hooks-phase1.md",
    "chars": 10807,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: rogerbarreto\ndate: 2023-05"
  },
  {
    "path": "docs/decisions/0006-open-api-dynamic-payload-and-namespaces.md",
    "chars": 4090,
    "preview": "---\nstatus: superseded by [ADR-0062](0062-open-api-payload.md)\ncontact: SergeyMenshykh\ndate: 2023-08-15\ndeciders: shawnc"
  },
  {
    "path": "docs/decisions/0007-prompt-extract-template-engine.md",
    "chars": 1648,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: markwallace-microsoft\ndate"
  },
  {
    "path": "docs/decisions/0008-support-generic-llm-request-settings.md",
    "chars": 10937,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: markwallace-microsoft\ndate"
  },
  {
    "path": "docs/decisions/0009-support-multiple-named-args-in-template-function-calls.md",
    "chars": 3623,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: dmytrostruk\ndate: 2013-06-"
  },
  {
    "path": "docs/decisions/0010-dotnet-project-structure.md",
    "chars": 14090,
    "preview": "---\n# These are optional elements. Feel free to remove any of them\n\nstatus: superseded by [ADR-0042](0042-samples-restru"
  },
  {
    "path": "docs/decisions/0011-function-and-kernel-result-types.md",
    "chars": 4427,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: dmytrostruk\ndate: 2023-09-"
  },
  {
    "path": "docs/decisions/0012-kernel-service-registration.md",
    "chars": 7147,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: dmytrostruk\ndate: 2023-10-"
  },
  {
    "path": "docs/decisions/0013-memory-as-plugin.md",
    "chars": 1975,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: dmytrostruk\ndate: 2023-09-"
  },
  {
    "path": "docs/decisions/0014-chat-completion-roles-in-prompt.md",
    "chars": 6521,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: SergeyMenshykh\ndate: 2023-"
  },
  {
    "path": "docs/decisions/0015-completion-service-selection.md",
    "chars": 5131,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: superseded by [ADR-0038](0038-completion-ser"
  },
  {
    "path": "docs/decisions/0016-custom-prompt-template-formats.md",
    "chars": 12698,
    "preview": "---\nstatus: approved\ncontact: markwallace-microsoft\ndate: 2023-10-26\ndeciders: matthewbolanos, markwallace-microsoft, Se"
  },
  {
    "path": "docs/decisions/0017-openai-function-calling.md",
    "chars": 4365,
    "preview": "---\nstatus: accepted\ncontact: gitri-ms\ndate: 2023-09-21\ndeciders: gitri-ms, shawncal\nconsulted: lemillermicrosoft, awhar"
  },
  {
    "path": "docs/decisions/0018-kernel-hooks-phase2.md",
    "chars": 17423,
    "preview": "## Context and Problem Statement\n\nCurrently Kernel invoking and invoked handlers don't expose the prompt to the handlers"
  },
  {
    "path": "docs/decisions/0019-semantic-function-multiple-model-support.md",
    "chars": 9271,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: approved\ncontact: markwallace-microsoft\ndate"
  },
  {
    "path": "docs/decisions/0020-prompt-syntax-mapping-to-completion-service-model.md",
    "chars": 3321,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ndate: 2023-10-27\ncontact: SergeyMen"
  },
  {
    "path": "docs/decisions/0021-aiservice-metadata.md",
    "chars": 8076,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: {proposed}\ndate: {2023-11-10}\ndeciders: Serg"
  },
  {
    "path": "docs/decisions/0021-json-serializable-custom-types.md",
    "chars": 6506,
    "preview": "---\nstatus: proposed\ncontact: dehoward\ndate: 2023-11-06\ndeciders: alliscode, markwallace-microsoft\nconsulted:\ninformed:\n"
  },
  {
    "path": "docs/decisions/0022-skfunction.md",
    "chars": 2128,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: proposed\ncontact: markwallace-microsoft\ndate"
  },
  {
    "path": "docs/decisions/0023-handlebars-template-engine.md",
    "chars": 15066,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: teresaqhoang\ndate: 2023-12"
  },
  {
    "path": "docs/decisions/0023-kernel-streaming.md",
    "chars": 15216,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: proposed\ndate: 2023-11-13\ndeciders: rogerbar"
  },
  {
    "path": "docs/decisions/0024-connectors-api-equalization.md",
    "chars": 6909,
    "preview": "## Proposal\n\n### IChatCompletion\n\nBefore:\n\n```csharp\npublic interface IChatCompletion : IAIService\n{\n    ChatHistory Cre"
  },
  {
    "path": "docs/decisions/0025-chat-content-models.md",
    "chars": 8483,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: dmytrostruk\ndate: 2023-12-"
  },
  {
    "path": "docs/decisions/0025-planner-telemetry-enhancement.md",
    "chars": 13873,
    "preview": "---\nstatus: { accepted }\ncontact: { TaoChenOSU }\ndate: { 2023-11-21 }\ndeciders: alliscode, dmytrostruk, markwallace, Ser"
  },
  {
    "path": "docs/decisions/0026-file-service.md",
    "chars": 4051,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: proposed\ncontact: crickman, mabolan, semensh"
  },
  {
    "path": "docs/decisions/0030-branching-strategy.md",
    "chars": 11415,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: proposed\ncontact: SergeyMenshykh\ndate: 2024-"
  },
  {
    "path": "docs/decisions/0031-feature-branch-strategy.md",
    "chars": 11642,
    "preview": "---\n# Strategy for Community Driven Connectors and Features\n\nstatus: approved\ncontact: rogerbarreto\ndate: 2024-01-24\ndec"
  },
  {
    "path": "docs/decisions/0032-agents.md",
    "chars": 17013,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: experimental\ncontact: crickman\ndate: 2024-01"
  },
  {
    "path": "docs/decisions/0033-kernel-filters.md",
    "chars": 5794,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: dmytrostruk\ndate: 2023-01-"
  },
  {
    "path": "docs/decisions/0034-rag-in-sk.md",
    "chars": 15188,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: proposed\ncontact: dmytrostruk\ndate: 2023-01-"
  },
  {
    "path": "docs/decisions/0035-skfunction-type-descriptions.md",
    "chars": 9974,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ndate: 2023-11-8\ncontact: alliscode\n"
  },
  {
    "path": "docs/decisions/0036-semantic-kernel-release-versioning.md",
    "chars": 2858,
    "preview": "---\nstatus: accepted\ncontact: markwallace\ndate: 2024-023-2706\ndeciders: sergeymenshykh, markwallace, rbarreto, dmytrostr"
  },
  {
    "path": "docs/decisions/0037-audio-naming.md",
    "chars": 7355,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: proposed\ncontact: dmytrostruk\ndate: 2023-02-"
  },
  {
    "path": "docs/decisions/0038-completion-service-selection.md",
    "chars": 1151,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: markwallace-microsoft\ndate"
  },
  {
    "path": "docs/decisions/0039-set-plugin-name-in-metadata.md",
    "chars": 2882,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: markwallace\ndate: 2024-03-"
  },
  {
    "path": "docs/decisions/0040-chat-prompt-xml-support.md",
    "chars": 13711,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: markwallace\ndate: 2024-04-"
  },
  {
    "path": "docs/decisions/0041-function-call-content.md",
    "chars": 26540,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: sergeymenshykh\ndate: 2024-"
  },
  {
    "path": "docs/decisions/0042-samples-restructure.md",
    "chars": 18290,
    "preview": "---\n# Reestructure of How Sample Code will be Structured In the Repository\n\nstatus: accepted\ncontact: rogerbarreto\ndate:"
  },
  {
    "path": "docs/decisions/0043-filters-exception-handling.md",
    "chars": 8216,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: dmytrostruk\ndate: 2024-04-"
  },
  {
    "path": "docs/decisions/0044-OTel-semantic-convention.md",
    "chars": 14363,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: { accepted }\ncontact: { Tao Chen }\ndate: { "
  },
  {
    "path": "docs/decisions/0045-breaking-changes-guidance.md",
    "chars": 2128,
    "preview": "---\nstatus: accepted\ncontact: markwallace\ndate: 2024-06-10\ndeciders: sergeymenshykh, mbolan, rbarreto, dmytrostruk, west"
  },
  {
    "path": "docs/decisions/0046-azure-model-as-a-service.md",
    "chars": 3036,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: { accepted }\ncontact: { rogerbarreto, taoche"
  },
  {
    "path": "docs/decisions/0046-java-repository-separation.md",
    "chars": 3338,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: proposed\ncontact: John Oliver\ndate: 2024-06-"
  },
  {
    "path": "docs/decisions/0046-kernel-content-graduation.md",
    "chars": 15409,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: proposed\ncontact: rogerbarreto\ndate: 2024-05"
  },
  {
    "path": "docs/decisions/0047-azure-open-ai-connectors.md",
    "chars": 11214,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: approved\ncontact: rogerbarreto\ndate: 2024-06"
  },
  {
    "path": "docs/decisions/0048-agent-chat-serialization.md",
    "chars": 12006,
    "preview": "---\nstatus: proposed\ncontact: crickman\ndate: 2024-06-24\ndeciders: bentho, matthewbolanos\n---\n\n# `AgentChat` Serializatio"
  },
  {
    "path": "docs/decisions/0049-agents-assistantsV2.md",
    "chars": 8653,
    "preview": "\n# Agent Framework - Assistant V2 Migration\n\n## Context and Problem Statement\n\nOpen AI has release the _Assistants V2_ A"
  },
  {
    "path": "docs/decisions/0050-updated-vector-store-design.md",
    "chars": 49049,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: proposed\ncontact: westey-m\ndate: 2024-06-05\n"
  },
  {
    "path": "docs/decisions/0051-dotnet-azure-model-as-a-service.md",
    "chars": 2980,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: proposed\ncontact: rogerbarreto\ndate: 2024-08"
  },
  {
    "path": "docs/decisions/0051-entity-framework-as-connector.md",
    "chars": 9063,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: proposed\ncontact: dmytrostruk\ndate: 2024-08-"
  },
  {
    "path": "docs/decisions/0052-python-ai-connector-new-abstract-methods.md",
    "chars": 3514,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: { accepted }\ncontact: { Tao Chen }\ndate: { 2"
  },
  {
    "path": "docs/decisions/0053-dotnet-structured-outputs.md",
    "chars": 13009,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: proposed\ncontact: dmytrostruk\ndate: 2024-09-"
  },
  {
    "path": "docs/decisions/0054-processes.md",
    "chars": 18969,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: bentho\ndate: September 20,"
  },
  {
    "path": "docs/decisions/0055-dotnet-azureopenai-stable-version-strategy.md",
    "chars": 12474,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: rogerbarreto\ndate: 2024-10"
  },
  {
    "path": "docs/decisions/0056-python-streaming-content-for-token-usage.md",
    "chars": 9700,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: { accepted }\ncontact: { Tao Chen }\ndate: { 2"
  },
  {
    "path": "docs/decisions/0057-python-structured-output.md",
    "chars": 9243,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: { in-progress }\ncontact: { Evan Mattson }\nda"
  },
  {
    "path": "docs/decisions/0058-vector-search-design.md",
    "chars": 16307,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: proposed\ncontact: westey-m\ndate: 2024-08-14\n"
  },
  {
    "path": "docs/decisions/0059-text-search.md",
    "chars": 54266,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: proposed\ncontact: markwallace\ndate: 2024-08-"
  },
  {
    "path": "docs/decisions/0060-jsos-integration.md",
    "chars": 11277,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: sergeymenshykh\ndate: 2024-"
  },
  {
    "path": "docs/decisions/0061-function-call-behavior.md",
    "chars": 24015,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: sergeymenshykh\ndate: 2024-"
  },
  {
    "path": "docs/decisions/0062-open-api-payload.md",
    "chars": 11021,
    "preview": "---\nstatus: proposed\ncontact: sergeymenshykh\ndate: 2024-10-25\ndeciders: dmytrostruk, markwallace, rbarreto, sergeymenshy"
  },
  {
    "path": "docs/decisions/0063-function-calling-reliability.md",
    "chars": 13572,
    "preview": "---\nstatus: proposed\ncontact: sergeymenshykh\ndate: 2025-01-21\ndeciders: dmytrostruk, markwallace, rbarreto, sergeymenshy"
  },
  {
    "path": "docs/decisions/0064-hybrid-model-orchestration.md",
    "chars": 12912,
    "preview": "---\nstatus: accepted\ncontact: sergeymenshykh\ndate: 2025-02-05\ndeciders: dmytrostruk, markwallace, rbarreto, sergeymenshy"
  },
  {
    "path": "docs/decisions/0065-realtime-api-clients.md",
    "chars": 73266,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus:  proposed \ncontact:  eavanvalkenburg\ndate:  "
  },
  {
    "path": "docs/decisions/0066-concepts-guidelines.md",
    "chars": 3930,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: proposed\ncontact: rogerbarreto\ndate: 2025-02"
  },
  {
    "path": "docs/decisions/0067-hybrid-search.md",
    "chars": 34289,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: westey-m\ndate: 2024-03-10\n"
  },
  {
    "path": "docs/decisions/0068-structured-data-connector.md",
    "chars": 2739,
    "preview": "---\nstatus: proposed\ncontact: rogerbarreto\ndate: 2025-03-07\ndeciders: rogerbarreto, markwallace, dmytrostruk, westey-m, "
  },
  {
    "path": "docs/decisions/0069-mcp.md",
    "chars": 9642,
    "preview": "---\nstatus: approved\ncontact: eavanvalkenburg\ndate: 2024-04-08\ndeciders: eavanvalkenburg, markwallace, sergeymenshykh, s"
  },
  {
    "path": "docs/decisions/0070-declarative-agent-schema.md",
    "chars": 18208,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: proposed\ncontact: markwallace-microsoft\ndate"
  },
  {
    "path": "docs/decisions/0071-multi-agent-orchestration.md",
    "chars": 31493,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: { proposed }\ncontact: { Tao Chen }\ndate: { 2"
  },
  {
    "path": "docs/decisions/0072-agents-with-memory.md",
    "chars": 9868,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: westey-m\ndate: 2025-04-17\n"
  },
  {
    "path": "docs/decisions/0072-context-based-function-selection.md",
    "chars": 22189,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: accepted\ncontact: sergeymenshykh\ndate: 2025-"
  },
  {
    "path": "docs/decisions/0073-linq-based-text-search-filtering.md",
    "chars": 27513,
    "preview": "---\nstatus: accepted\ncontact: alzarei\ndate: 2025-10-25\ndeciders: roji, westey-m, markwallace-microsoft\nconsulted:\ninform"
  },
  {
    "path": "docs/decisions/README.md",
    "chars": 1836,
    "preview": "# Architectural Decision Records (ADRs)\n\nAn Architectural Decision (AD) is a justified software design choice that addre"
  },
  {
    "path": "docs/decisions/adr-short-template.md",
    "chars": 1504,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: {proposed | rejected | accepted | deprecated"
  },
  {
    "path": "docs/decisions/adr-template.md",
    "chars": 3135,
    "preview": "---\n# These are optional elements. Feel free to remove any of them.\nstatus: {proposed | rejected | accepted | deprecated"
  },
  {
    "path": "docs/decisions/diagrams/agent-abstractions.mmd",
    "chars": 2166,
    "preview": "classDiagram\n\n    Agent --> AgentChannel\n    class Agent {\n        <<Abstract>>        \n        +String Id\n        +Stri"
  },
  {
    "path": "docs/decisions/diagrams/agent-aggregator.mmd",
    "chars": 730,
    "preview": "classDiagram\n\n    Agent\n    AgentChannel\n\n    AggregatorAgent --> AggregatorMode\n    class AggregatorMode {\n        <<En"
  },
  {
    "path": "docs/decisions/diagrams/agent-assistant.mmd",
    "chars": 1653,
    "preview": "classDiagram\n\n    Agent\n    AgentChannel\n    Agent <|-- KernelAgent\n    \n    KernelAgent <|-- OpenAIAssistantAgent\n    O"
  },
  {
    "path": "docs/decisions/diagrams/agent-chatcompletion.mmd",
    "chars": 537,
    "preview": "classDiagram\n\n    Agent\n    Agent <|-- KernelAgent\n    KernelAgent <|-- ChatHistoryKernelAgent\n    IChatHistoryHandler <"
  },
  {
    "path": "docs/decisions/diagrams/agent-design.mmd",
    "chars": 468,
    "preview": "classDiagram\n\n    Agent --> AgentChannel\n    class Agent {\n        <<Abstract>>        \n    }\n\n    Agent <|-- KernelAgen"
  },
  {
    "path": "docs/decisions/diagrams/agent-groupchat.mmd",
    "chars": 1431,
    "preview": "classDiagram\n\n    Agent\n    AgentChannel\n    AgentChat\n    \n    AgentChat <|-- AgentGroupChat\n    AgentGroupChat o-- Age"
  },
  {
    "path": "docs/decisions/diagrams/agentchat-state.mmd",
    "chars": 479,
    "preview": "classDiagram\n\n    ChatHistory\n\n    AgentChatState --> ChatHistory\n    AgentChannelState --* AgentChatState\n    ChatParti"
  },
  {
    "path": "docs/decisions/diagrams/assistant-agent.mmd",
    "chars": 2101,
    "preview": "classDiagram\n\n    KernelAgent\n    OpenAIAssistantDefinition\n    OpenAIAssistantDefinition --> OpenAIExecutionOptions\n   "
  },
  {
    "path": "docs/decisions/diagrams/assistant-definition.mmd",
    "chars": 1095,
    "preview": "classDiagram\n\n    OpenAIAssistantDefinition --> OpenAIAssistantExecutionOptions\n    class OpenAIAssistantDefinition {\n  "
  },
  {
    "path": "docs/decisions/diagrams/assistant-invocationsettings.mmd",
    "chars": 793,
    "preview": "classDiagram\n\n    OpenAIAssistantInvocationOptions --> OpenAIAssistantToolCallBehavior\n    class OpenAIAssistantInvocati"
  },
  {
    "path": "docs/decisions/diagrams/assistant-serviceconfig.mmd",
    "chars": 1325,
    "preview": "classDiagram\n\n    OpenAIClientFactory ..> OpenAIServiceConfiguration\n    class OpenAIClientFactory {\n        <<internal>"
  },
  {
    "path": "docs/decisions/diagrams/assistant-threadcreationsettings.mmd",
    "chars": 229,
    "preview": "classDiagram\n\n    class OpenAIThreadCreationOptions {\n        List~string~? CodeInterpterFileIds\n        IReadOnlyList<C"
  },
  {
    "path": "docs/decisions/diagrams/chat-text-models.mmd",
    "chars": 3768,
    "preview": "---\ntitle: Chat & Text Models\n---\nclassDiagram\n    %% Use https://mermaid.live/ to preview this diagram. The VS Code ext"
  },
  {
    "path": "docs/decisions/diagrams/prompt-template-factory.mmd",
    "chars": 1181,
    "preview": "---\ntitle: IPromptTemplateFactory\n---\nclassDiagram\n    %% Use https://mermaid.live/ to preview this diagram. The VS Code"
  },
  {
    "path": "docs/decisions/diagrams/skfunctions-preview.mmd",
    "chars": 1714,
    "preview": "---\ntitle: Semantic Kernel Functions (preview)\n---\nclassDiagram\n    %% Use https://mermaid.live/ to preview this diagram"
  },
  {
    "path": "docs/decisions/diagrams/skfunctions-v1.mmd",
    "chars": 1824,
    "preview": "---\ntitle: Semantic Kernel Functions (v1.0)\n---\nclassDiagram\n    %% Use https://mermaid.live/ to preview this diagram. T"
  },
  {
    "path": "docs/decisions/diagrams/text-search-abstraction.mmd",
    "chars": 2778,
    "preview": "---\ntitle: ITextSearch\n---\nclassDiagram\n    %% Use https://mermaid.live/ to preview this diagram. The VS Code extension "
  },
  {
    "path": "docs/decisions/diagrams/text-search-imemorystore.mmd",
    "chars": 1564,
    "preview": "block-beta\ncolumns 1\n  block:Plugin\n    PluginAbstraction[[\"TextMemoryPlugin\"]]\n    PluginDescription[\"Provides a plugin"
  },
  {
    "path": "docs/decisions/diagrams/text-search-iwebsearchengineconnector.mmd",
    "chars": 923,
    "preview": "block-beta\ncolumns 1\n  block:Plugin\n    PluginAbstraction[[\"WebSearchEnginePlugin\"]]\n    PluginDescription[\"Provides a p"
  },
  {
    "path": "docs/decisions/diagrams/tool-call-auto-invoke.mmd",
    "chars": 909,
    "preview": "---\ntitle: Tool Call with Auto Invoke Kernel Functions\n---\nsequenceDiagram\n    participant Client\n    participant Plugin"
  },
  {
    "path": "docs/decisions/diagrams/tool-call-filters.mmd",
    "chars": 1050,
    "preview": "---\ntitle: Tool Call with Filters\n---\nsequenceDiagram\n    participant Client\n    participant Plugin\n    participant Kern"
  },
  {
    "path": "docs/decisions/diagrams/tool-call-skip-llm.mmd",
    "chars": 790,
    "preview": "---\ntitle: Tool Call with Auto Invoke Kernel Functions and Skip LLM\n---\nsequenceDiagram\n    participant Client\n    parti"
  },
  {
    "path": "dotnet/Directory.Build.props",
    "chars": 1706,
    "preview": "<Project>\n  <PropertyGroup>\n    <!-- Default properties inherited by all projects. Projects can override. -->\n    <RunA"
  },
  {
    "path": "dotnet/Directory.Build.targets",
    "chars": 767,
    "preview": "<Project>\n  <!-- Direct all packages under 'dotnet' to get versions from Directory.Packages.props -->\n  <!-- using Centr"
  },
  {
    "path": "dotnet/Directory.Packages.props",
    "chars": 17434,
    "preview": "<Project>\n  <PropertyGroup>\n    <!-- Enable central package management -->\n    <!-- https://learn.microsoft.com/en-us/nu"
  },
  {
    "path": "dotnet/MEVD.slnf",
    "chars": 2758,
    "preview": "{\n  \"solution\": {\n    \"path\": \"SK-dotnet.slnx\",\n    \"projects\":\n    [\n      \"src/VectorData/AzureAISearch/AzureAISearch."
  },
  {
    "path": "dotnet/README.md",
    "chars": 6795,
    "preview": "# Get Started with Semantic Kernel ⚡\n\n## OpenAI / Azure OpenAI API keys\n\nTo run the LLM prompts and semantic functions i"
  },
  {
    "path": "dotnet/SK-dotnet.slnx",
    "chars": 22222,
    "preview": "<Solution>\n  <Folder Name=\"/Solution Items/\">\n    <File Path=\"../.editorconfig\" />\n    <File Path=\"../.github/workflows/"
  },
  {
    "path": "dotnet/SK-dotnet.slnx.DotSettings",
    "chars": 35930,
    "preview": "<wpf:ResourceDictionary xml:space=\"preserve\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\" xmlns:s=\"clr-namesp"
  },
  {
    "path": "dotnet/SK-dotnet.v3.ncrunchsolution",
    "chars": 126,
    "preview": "<SolutionConfiguration>\n  <Settings>\n    <SolutionConfigured>True</SolutionConfigured>\n  </Settings>\n</SolutionConfigur"
  },
  {
    "path": "dotnet/SK-release.slnf",
    "chars": 3902,
    "preview": "{\n  \"solution\": {\n    \"path\": \"SK-dotnet.slnx\",\n    \"projects\":\n    [\n      \"src\\\\SemanticKernel.Abstractions\\\\SemanticK"
  },
  {
    "path": "dotnet/build.cmd",
    "chars": 167,
    "preview": "@echo off\r\nsetlocal\r\ncd \"%~dp0\"\r\ndotnet build --configuration Release --interactive ^\r\n  && dotnet test --configuration "
  },
  {
    "path": "dotnet/build.sh",
    "chars": 332,
    "preview": "#!/usr/bin/env bash\n\nset -e\n\nSCRIPT_DIR=$( cd -- \"$( dirname -- \"${BASH_SOURCE[0]}\" )\" &> /dev/null && pwd )\n\npushd \"$SC"
  },
  {
    "path": "dotnet/code-coverage.ps1",
    "chars": 2245,
    "preview": "# This script is for local use to analyze code coverage in more detail using HTML report.\n\nParam(\n    [switch]$ProdPacka"
  },
  {
    "path": "dotnet/docs/EXPERIMENTS.md",
    "chars": 3252,
    "preview": "# Experiments\n\nThe following capabilities are marked experimental in the .NET SDK. Once the APIs for these features are "
  },
  {
    "path": "dotnet/docs/MODELS.md",
    "chars": 15198,
    "preview": "# Models\n\nThis document describes the planned models to be supported by Semantic Kernel along with their current status."
  },
  {
    "path": "dotnet/docs/OPENAI-CONNECTOR-MIGRATION.md",
    "chars": 9645,
    "preview": "# OpenAI Connector Migration Guide\n\nThis manual prepares you for the migration of your OpenAI Connector to the new OpenA"
  },
  {
    "path": "dotnet/docs/TELEMETRY.md",
    "chars": 6627,
    "preview": "# Telemetry\n\nTelemetry in Semantic Kernel (SK) .NET implementation includes _logging_, _metering_ and _tracing_.\nThe cod"
  },
  {
    "path": "dotnet/format.ps1",
    "chars": 1323,
    "preview": "$ErrorActionPreference = 'Stop'\n\n# --- config -------------------------------------------------------\n$exclude = @(\n  'E"
  },
  {
    "path": "dotnet/global.json",
    "chars": 103,
    "preview": "{\n  \"sdk\": {\n    \"version\": \"10.0.100\",\n    \"rollForward\": \"major\",\n    \"allowPrerelease\": false\n  }\n}\n"
  },
  {
    "path": "dotnet/notebooks/0-AI-settings.ipynb",
    "chars": 4059,
    "preview": "{\n \"cells\": [\n  {\n   \"attachments\": {},\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Before starti"
  },
  {
    "path": "dotnet/notebooks/00-getting-started.ipynb",
    "chars": 4426,
    "preview": "{\n \"cells\": [\n  {\n   \"attachments\": {},\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Watch th"
  },
  {
    "path": "dotnet/notebooks/01-basic-loading-the-kernel.ipynb",
    "chars": 4627,
    "preview": "{\n \"cells\": [\n  {\n   \"attachments\": {},\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Basic Loadi"
  },
  {
    "path": "dotnet/notebooks/02-running-prompts-from-file.ipynb",
    "chars": 5938,
    "preview": "{\n \"cells\": [\n  {\n   \"attachments\": {},\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# How to run "
  },
  {
    "path": "dotnet/notebooks/03-semantic-function-inline.ipynb",
    "chars": 10656,
    "preview": "{\n \"cells\": [\n  {\n   \"attachments\": {},\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Running Sem"
  },
  {
    "path": "dotnet/notebooks/04-kernel-arguments-chat.ipynb",
    "chars": 8854,
    "preview": "{\n \"cells\": [\n  {\n   \"attachments\": {},\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Creating a "
  },
  {
    "path": "dotnet/notebooks/05-using-function-calling.ipynb",
    "chars": 6593,
    "preview": "{\n \"cells\": [\n  {\n   \"attachments\": {},\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Introductio"
  },
  {
    "path": "dotnet/notebooks/06-vector-stores-and-embeddings.ipynb",
    "chars": 18572,
    "preview": "{\n \"cells\": [\n  {\n   \"attachments\": {},\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Vector Stor"
  },
  {
    "path": "dotnet/notebooks/07-DALL-E-3.ipynb",
    "chars": 7819,
    "preview": "{\n \"cells\": [\n  {\n   \"attachments\": {},\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Generating "
  },
  {
    "path": "dotnet/notebooks/08-chatGPT-with-DALL-E-3.ipynb",
    "chars": 8775,
    "preview": "{\n \"cells\": [\n  {\n   \"attachments\": {},\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Using ChatG"
  },
  {
    "path": "dotnet/notebooks/09-RAG-with-BingSearch.ipynb",
    "chars": 11990,
    "preview": "{\n \"cells\": [\n  {\n   \"attachments\": {},\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# RAG with Bi"
  },
  {
    "path": "dotnet/notebooks/README.md",
    "chars": 4516,
    "preview": "# Semantic Kernel C# Notebooks\n\nThe current folder contains a few C# Jupyter Notebooks that demonstrate how to get start"
  },
  {
    "path": "dotnet/notebooks/config/.gitignore",
    "chars": 56,
    "preview": "*.json\nbin\nobj\n.ipy*\n*.csproj\n*.ini\n*.cache\n*.log\n*.tmp\n"
  },
  {
    "path": "dotnet/notebooks/config/Settings.cs",
    "chars": 8982,
    "preview": "// Copyright (c) Microsoft. All rights reserved.\n\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing"
  },
  {
    "path": "dotnet/notebooks/config/SkiaUtils.cs",
    "chars": 987,
    "preview": "// Copyright (c) Microsoft. All rights reserved.\n\nusing SkiaSharp;\nusing System.Net.Http;\n\n// ReSharper disable Inconsis"
  },
  {
    "path": "dotnet/notebooks/config/Utils.cs",
    "chars": 884,
    "preview": "// Copyright (c) Microsoft. All rights reserved.\n\n// ReSharper disable InconsistentNaming\npublic static class Utils\n{\n  "
  },
  {
    "path": "dotnet/notebooks/config/settings.json.azure-example",
    "chars": 289,
    "preview": "{\n  \"type\":     \"azure\",\n  \"model\":    \"... your Azure OpenAI deployment name ...\",\n  \"endpoint\": \"https:// ... your end"
  },
  {
    "path": "dotnet/notebooks/config/settings.json.openai-example",
    "chars": 156,
    "preview": "{\n  \"type\":   \"openai\",\n  \"endpoint\": \"NOT-USED-BUT-REQUIRED-FOR-PARSER\",\n  \"model\":  \"gpt-4o-mini\",\n  \"apikey\": \"... yo"
  },
  {
    "path": "dotnet/nuget/NUGET.md",
    "chars": 1184,
    "preview": "# About Semantic Kernel\n\n**Semantic Kernel (SK)** is a lightweight SDK enabling integration of AI Large\nLanguage Models "
  },
  {
    "path": "dotnet/nuget/VECTORDATA-CONNECTORS-NUGET.md",
    "chars": 1267,
    "preview": "# VectorData Implementations by Semantic Kernel\n\n**Microsoft.Extensions.VectorData.Abstractions** provides abstractions "
  },
  {
    "path": "dotnet/nuget/nuget-package.props",
    "chars": 3239,
    "preview": "<Project>\n  <PropertyGroup>\n    <!-- Central version prefix - applies to all nuget packages. -->\n    <VersionPrefix>1.73"
  },
  {
    "path": "dotnet/nuget.config",
    "chars": 341,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n\n  <packageSources>\n    <clear />\n    <add key=\"nuget.org\" value"
  },
  {
    "path": "dotnet/samples/.editorconfig",
    "chars": 2077,
    "preview": "# Setting errors for SDK projects under samples folder\n[*.cs]\nindent_style = space\nindent_size = 4\ndotnet_diagnostic.CA2"
  },
  {
    "path": "dotnet/samples/AgentFrameworkMigration/AgentOrchestrations/Step01_Concurrent/AgentOrchestrations_Step01_Concurrent.csproj",
    "chars": 1106,
    "preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <OutputType>Exe</OutputType>\n    <TargetFramework>net10.0</Targ"
  },
  {
    "path": "dotnet/samples/AgentFrameworkMigration/AgentOrchestrations/Step01_Concurrent/Program.cs",
    "chars": 4283,
    "preview": "// Copyright (c) Microsoft. All rights reserved.\n\nusing Azure.AI.OpenAI;\nusing Azure.Identity;\nusing Microsoft.Agents.A"
  }
]

// ... and 5182 more files (download for full content)

About this extraction

This page contains the full source code of the microsoft/semantic-kernel GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 5382 files (28.5 MB), approximately 4.3M tokens, and a symbol index with 11682 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!