Commit Graph

5 Commits

  • .NET: skill as class (#5027)
    * add class-based skills
    
    * address formating issues
    
    * Remove generated filtered-unit.slnx and add to .gitignore
    
    The filtered solution file is generated dynamically by
    eng/scripts/New-FilteredSolution.ps1 during CI. Checking it in
    risks it becoming stale and out-of-sync with the real solution.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Remove generated filtered-unit.slnx and add to .gitignore
    
    The filtered solution file is generated dynamically by
    eng/scripts/New-FilteredSolution.ps1 during CI. Checking it in
    risks it becoming stale and out-of-sync with the real solution.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * consolidate DI samples into one
    
    * fix file encoding
    
    * suppress compatibility warning
    
    ---------
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
  • .NET: Bump Azure.AI.Projects to 2.0.0 GA (#5060)
    * Bump Azure.AI.Projects to 2.0.0 GA
    
    - Update Azure.AI.Projects from 2.0.0-beta.2 to 2.0.0 in CPM
    - Update Azure.Identity from 1.19.0 to 1.20.0 (transitive dep)
    - Update System.ClientModel from 1.9.0 to 1.10.0 (transitive dep)
    - Rename types per Azure.AI.Projects.Agents 2.0.0 breaking changes:
      - AgentVersion -> ProjectsAgentVersion
      - AgentRecord -> ProjectsAgentRecord
      - AgentDefinition -> ProjectsAgentDefinition
      - AgentVersionCreationOptions -> ProjectsAgentVersionCreationOptions
      - PromptAgentDefinition -> DeclarativeAgentDefinition
      - AgentTool -> ProjectsAgentTool
      - AgentsClient -> AgentAdministrationClient
      - .Agents property -> .AgentAdministrationClient
    - Add using Azure.AI.Projects.Memory namespace (types moved)
    - Update AGENTS.md with BOM and output capture conventions
    
    * Address PR review feedback
    
    - Rename AIProjectClient parameter to aiProjectClient in AsChatClientAgent overloads
    - Fix XML doc: ProjectsAgentTool namespace from Azure.AI.Projects.OpenAI to Azure.AI.Projects.Agents
    - Rename test method to reflect DeclarativeAgentDefinition terminology
  • .NET: Add Foundry Memory Context Provider (#3522)
    * Add Azure AI Foundry Memory Context Provider with unit tests
    
    * Add FoundryMemory integration tests and sample application
    
    * Fix ClearStoredMemoriesAsync to handle 404 gracefully and rename to EnsureStoredMemoriesDeletedAsync
    
    * Refactor FoundryMemory: simplify architecture and add memory store creation
    
    - Remove IFoundryMemoryOperations interface (was only for test mocking)
    - Remove AIProjectClientMemoryOperations wrapper class
    - Provider now directly uses AIProjectClient with internal extension methods
    - Extension methods return actual response models instead of extracted values
    - Remove WaitForUpdateCompletionAsync from provider (sample uses delay)
    - Simplify EnsureMemoryStoreCreatedAsync to return Task instead of Task<bool>
    - Add memory store creation with chat_model and embedding_model
    - Add UpdateMemoriesResponse with SupersededBy and Error fields
    - Simplify unit tests to focus on constructor validation and serialization
    - Update sample to use simple delay for memory processing wait
    
    * Add waiting operation for memory store updates
    
    * Fix UTF-8 BOM encoding for FoundryMemory csproj files
    
    * Update copilot instructions for UTF-8 BOM and fix sample API rename
    
    * Fix UTF-8 BOM encoding for TestableAIProjectClient.cs
    
    * Add missing response headers for TS
    
    * Changing default embedding
    
    * Using the SDK Models
    
    * Program update
    
    * Remove debugging code from sample
    
    * Adapt FoundryMemoryProvider to new AIContextProvider API and add UTF-8 BOM instruction
    
    - Override ProvideAIContextAsync/StoreAIContextAsync instead of removed virtual InvokingAsync/InvokedAsync
    - Use ProviderSessionState<State> for session-scoped state management (matching Mem0Provider pattern)
    - Replace constructor-based scope with stateInitializer delegate
    - Remove Serialize method (no longer on base class)
    - Add SearchInputMessageFilter, StorageInputMessageFilter, StateKey to options
    - Update sample to use AIContextProviders list instead of AIContextProviderFactory
    - Update unit and integration tests for new API
    - Add UTF-8 BOM encoding and --tl:off instructions to dotnet/AGENTS.md
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Use DefaultAzureCredential in Foundry Memory sample
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Address PR review comments for FoundryMemoryProvider
    
    - Move memoryStoreName from options to required constructor parameter
    - Make FoundryMemoryProviderScope require non-null/whitespace scope in constructor
    - Make Scope property read-only (getter only)
    - Replace ConcurrentQueue with single last update ID to fix memory leak
    - Only clear pending update ID after successful completion
    - Add delete success logging
    - Mark FoundryMemoryProvider with [Experimental] attribute
    - Update unit tests for new API signatures
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Use Throw.IfNullOrWhitespace for scope and memoryStoreName validation
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
  • .NET: Add tweaks to .net agent skills (#4081)
    * Add tweaks to .net agent skills
    
    * Address PR feedback
  • .NET: Python: Add AGENTS.md files and update coding standards (#3644)
    * Add AGENTS.md files and update coding standards for Python
    
    - Add root python/AGENTS.md with project structure and package links
    - Add AGENTS.md for each package describing purpose and main classes
    - Update .github/copilot-instructions.md with improved structure
    - Update python/CODING_STANDARD.md with API review guidance:
      - Future annotations convention (#3578)
      - TypeVar naming convention (#3594)
      - Mapping vs MutableMapping (#3577)
      - Avoid shadowing built-ins (#3583)
      - Explicit exports (#3605)
      - Exception documentation guidelines (#3410)
    - Simplify python/.github/instructions/python.instructions.md to reference AGENTS.md
    - Remove AGENTS.md from .gitignore
    
    * Fix purview import path in AGENTS.md
    
    * Address PR review comments and restructure instructions
    
    - Slim down .github/copilot-instructions.md to reference language-specific docs
    - Add ADR section explaining templates and purpose
    - Create dotnet/AGENTS.md with .NET-specific build commands, conventions, and sample guidance
    - Update Python build/test instructions for core vs isolated changes
    - Fix Microsoft.Extensions.AI package references
    - Update kwargs guidance per issue #3642
    - Fix Python sample helper placement (top, not bottom)
    - Document new 'typing' poe task in DEV_SETUP.md
    
    * Add 'typing' poe task to run both pyright and mypy
    
    * Add kwargs guidelines from issue #3642 to CODING_STANDARD.md
    
    * Clarify that connector packages pull in core as dependency