diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fbb46774..42b7a28e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -108,8 +108,7 @@ jobs: - name: Check linting run: | - uv run --frozen ruff check . - continue-on-error: true + uv run --frozen ruff check . --preview - name: Check formatting run: | diff --git a/generate_dependency_diagram.py b/generate_dependency_diagram.py index c766de62..c0d5bced 100644 --- a/generate_dependency_diagram.py +++ b/generate_dependency_diagram.py @@ -9,7 +9,6 @@ import re import tomllib from pathlib import Path -from typing import Dict, List, Set class PackageInfo: @@ -19,16 +18,16 @@ def __init__(self, name: str, package_type: str, path: Path): self.name = name self.package_type = package_type self.path = path - self.dependencies: Set[str] = set() + self.dependencies: set[str] = set() -def read_pyproject_toml(path: Path) -> Dict: +def read_pyproject_toml(path: Path) -> dict: """Read and parse a pyproject.toml file.""" with open(path, "rb") as f: return tomllib.load(f) -def extract_dependencies(pyproject_data: Dict, package_names: Set[str]) -> Set[str]: +def extract_dependencies(pyproject_data: dict, package_names: set[str]) -> set[str]: """Extract internal package dependencies from pyproject.toml data.""" dependencies = set() @@ -45,7 +44,7 @@ def extract_dependencies(pyproject_data: Dict, package_names: Set[str]) -> Set[s return dependencies -def generate_mermaid_diagram(packages: List[PackageInfo]) -> str: +def generate_mermaid_diagram(packages: list[PackageInfo]) -> str: """Generate a Mermaid diagram from package information.""" # Color scheme based on package types @@ -96,7 +95,7 @@ def generate_mermaid_diagram(packages: List[PackageInfo]) -> str: lines.append(" %% Styling") # Group packages by type for styling - packages_by_type: Dict[str, List[str]] = {} + packages_by_type: dict[str, list[str]] = {} for pkg in packages: if pkg.package_type not in packages_by_type: packages_by_type[pkg.package_type] = [] @@ -170,8 +169,8 @@ def main(): # Collect all package names first and cache pyproject data all_package_names = set() - packages: List[PackageInfo] = [] - pyproject_data_cache: Dict[str, Dict] = {} + packages: list[PackageInfo] = [] + pyproject_data_cache: dict[str, dict] = {} for path_str, pkg_type in package_configs: pyproject_path = repo_root / path_str / "pyproject.toml" diff --git a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/__init__.py b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/__init__.py index b12f85c7..0a347c52 100644 --- a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/__init__.py +++ b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/__init__.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. """ Microsoft Agent 365 Notifications diff --git a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/agent_notification.py b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/agent_notification.py index 8a5f94de..57483843 100644 --- a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/agent_notification.py +++ b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/agent_notification.py @@ -1,3 +1,6 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + from __future__ import annotations from collections.abc import Awaitable, Callable, Iterable diff --git a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/__init__.py b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/__init__.py index a4ee9d2d..ecfc2407 100644 --- a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/__init__.py +++ b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/__init__.py @@ -1,3 +1,6 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + from .agent_notification_activity import AgentNotificationActivity from .email_reference import EmailReference from .wpx_comment import WpxComment diff --git a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/agent_lifecycle_event.py b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/agent_lifecycle_event.py index 87d89c61..12a43c87 100644 --- a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/agent_lifecycle_event.py +++ b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/agent_lifecycle_event.py @@ -1,3 +1,6 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + from enum import Enum diff --git a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/agent_notification_activity.py b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/agent_notification_activity.py index c2de5e77..77af7a39 100644 --- a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/agent_notification_activity.py +++ b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/agent_notification_activity.py @@ -1,3 +1,6 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + from typing import Any, Optional, Type, TypeVar from microsoft_agents.activity import Activity from .notification_types import NotificationTypes diff --git a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/agent_subchannel.py b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/agent_subchannel.py index 2adbd521..4fd00207 100644 --- a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/agent_subchannel.py +++ b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/agent_subchannel.py @@ -1,3 +1,6 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + from enum import Enum diff --git a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/email_reference.py b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/email_reference.py index 77e746ee..70faf9d0 100644 --- a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/email_reference.py +++ b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/email_reference.py @@ -1,3 +1,6 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + from typing import Optional, Literal from microsoft_agents.activity.entity import Entity from .notification_types import NotificationTypes diff --git a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/email_response.py b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/email_response.py index 6aff69c5..c52c32c4 100644 --- a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/email_response.py +++ b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/email_response.py @@ -1,3 +1,6 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + from typing import Literal from microsoft_agents.activity.activity import Activity from microsoft_agents.activity.entity import Entity diff --git a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/notification_types.py b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/notification_types.py index 5aea900b..96ab4e67 100644 --- a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/notification_types.py +++ b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/notification_types.py @@ -1,3 +1,6 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + from enum import Enum diff --git a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/wpx_comment.py b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/wpx_comment.py index a57f8d84..53f7a690 100644 --- a/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/wpx_comment.py +++ b/libraries/microsoft-agents-a365-notifications/microsoft_agents_a365/notifications/models/wpx_comment.py @@ -1,3 +1,6 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + from typing import Optional, Literal from microsoft_agents.activity.entity import Entity from .notification_types import NotificationTypes diff --git a/libraries/microsoft-agents-a365-notifications/pyproject.toml b/libraries/microsoft-agents-a365-notifications/pyproject.toml index e2b3283b..a75a0570 100644 --- a/libraries/microsoft-agents-a365-notifications/pyproject.toml +++ b/libraries/microsoft-agents-a365-notifications/pyproject.toml @@ -69,6 +69,10 @@ target-version = ['py311'] line-length = 100 target-version = "py311" +[tool.ruff.lint.flake8-copyright] +notice-rgx = "# Copyright \\(c\\) Microsoft Corporation\\.\\r?\\n# Licensed under the MIT License\\." +min-file-size = 1 + [tool.mypy] python_version = "3.11" strict = true diff --git a/libraries/microsoft-agents-a365-notifications/setup.py b/libraries/microsoft-agents-a365-notifications/setup.py index 1c812d3b..d311d241 100644 --- a/libraries/microsoft-agents-a365-notifications/setup.py +++ b/libraries/microsoft-agents-a365-notifications/setup.py @@ -13,7 +13,7 @@ helper_path = Path(__file__).parent.parent.parent / "versioning" / "helper" sys.path.insert(0, str(helper_path)) -from setup_utils import get_dynamic_dependencies +from setup_utils import get_dynamic_dependencies # noqa: E402 # Use minimum version strategy: # - Internal packages get: >= current_base_version (e.g., >= 0.1.0) diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/__init__.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/__init__.py index 07a1a9f8..fdc17a34 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/__init__.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/__init__.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # Microsoft Agent 365 Python SDK for OpenTelemetry tracing. diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/config.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/config.py index 7a8b9658..26eab5d2 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/config.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/config.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. import logging import threading diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/constants.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/constants.py index 46634e5a..35ad5321 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/constants.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/constants.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # Constants for SDK OpenTelemetry implementation. diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/execution_type.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/execution_type.py index eb7b0b84..59f5c15e 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/execution_type.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/execution_type.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # Execution type enum. diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/exporters/agent365_exporter.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/exporters/agent365_exporter.py index 6c0c8b67..da51c41f 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/exporters/agent365_exporter.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/exporters/agent365_exporter.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # pip install opentelemetry-sdk opentelemetry-api requests diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/exporters/utils.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/exporters/utils.py index aae458ff..b6d687c0 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/exporters/utils.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/exporters/utils.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. import json import logging diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/inference_call_details.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/inference_call_details.py index 18d726ca..d62c1eab 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/inference_call_details.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/inference_call_details.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. from dataclasses import dataclass diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/inference_operation_type.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/inference_operation_type.py index 90465081..1b2809c2 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/inference_operation_type.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/inference_operation_type.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. from enum import Enum diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/invoke_agent_details.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/invoke_agent_details.py index 221d7873..72b3d8e0 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/invoke_agent_details.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/invoke_agent_details.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # Data class for invoke agent details. diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/middleware/__init__.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/middleware/__init__.py index 27367a57..7ef448ca 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/middleware/__init__.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/middleware/__init__.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # Middleware components for Microsoft Agent 365 SDK. diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/middleware/baggage_builder.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/middleware/baggage_builder.py index 6d05786e..368f7119 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/middleware/baggage_builder.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/middleware/baggage_builder.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # Per request baggage builder for OpenTelemetry context propagation. diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/opentelemetry_scope.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/opentelemetry_scope.py index 0782b10c..eb92c81f 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/opentelemetry_scope.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/opentelemetry_scope.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # Base class for OpenTelemetry tracing scopes. diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/request.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/request.py index 3e292641..40f61a96 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/request.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/request.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # Request class. diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/source_metadata.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/source_metadata.py index 777e650c..74581b0a 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/source_metadata.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/source_metadata.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # Source metadata class. diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/tenant_details.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/tenant_details.py index 8a8b76d9..a9186fcb 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/tenant_details.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/tenant_details.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # Tenant details class. from dataclasses import dataclass diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/tool_call_details.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/tool_call_details.py index 5889bcd2..fbcaafb9 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/tool_call_details.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/tool_call_details.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # Data class for tool call details. diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/tool_type.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/tool_type.py index b026d9b4..d6580f19 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/tool_type.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/tool_type.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # Tool type enum. diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/trace_processor/__init__.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/trace_processor/__init__.py index c75ca536..18b27d77 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/trace_processor/__init__.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/trace_processor/__init__.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. """ Trace Processors diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/trace_processor/span_processor.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/trace_processor/span_processor.py index 237be264..ed1d331a 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/trace_processor/span_processor.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/trace_processor/span_processor.py @@ -1,6 +1,7 @@ -"""Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. -Span processor for copying OpenTelemetry baggage entries onto spans. +"""Span processor for copying OpenTelemetry baggage entries onto spans. This implementation assumes `opentelemetry.baggage.get_all` is available with the signature `get_all(context: Context | None) -> Mapping[str, object]`. diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/trace_processor/util.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/trace_processor/util.py index bfb75a56..d33bcab3 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/trace_processor/util.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/trace_processor/util.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. from .. import constants as consts diff --git a/libraries/microsoft-agents-a365-observability-core/pyproject.toml b/libraries/microsoft-agents-a365-observability-core/pyproject.toml index fdce9c36..5d8447ef 100644 --- a/libraries/microsoft-agents-a365-observability-core/pyproject.toml +++ b/libraries/microsoft-agents-a365-observability-core/pyproject.toml @@ -80,6 +80,10 @@ target-version = ['py311'] line-length = 100 target-version = "py311" +[tool.ruff.lint.flake8-copyright] +notice-rgx = "# Copyright \\(c\\) Microsoft Corporation\\.\\r?\\n# Licensed under the MIT License\\." +min-file-size = 1 + [tool.mypy] python_version = "3.11" strict = true diff --git a/libraries/microsoft-agents-a365-observability-core/setup.py b/libraries/microsoft-agents-a365-observability-core/setup.py index 1c812d3b..d311d241 100644 --- a/libraries/microsoft-agents-a365-observability-core/setup.py +++ b/libraries/microsoft-agents-a365-observability-core/setup.py @@ -13,7 +13,7 @@ helper_path = Path(__file__).parent.parent.parent / "versioning" / "helper" sys.path.insert(0, str(helper_path)) -from setup_utils import get_dynamic_dependencies +from setup_utils import get_dynamic_dependencies # noqa: E402 # Use minimum version strategy: # - Internal packages get: >= current_base_version (e.g., >= 0.1.0) diff --git a/libraries/microsoft-agents-a365-observability-extensions-agentframework/pyproject.toml b/libraries/microsoft-agents-a365-observability-extensions-agentframework/pyproject.toml index 57da1a7a..39e226b0 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-agentframework/pyproject.toml +++ b/libraries/microsoft-agents-a365-observability-extensions-agentframework/pyproject.toml @@ -68,6 +68,10 @@ target-version = ['py311'] line-length = 100 target-version = "py311" +[tool.ruff.lint.flake8-copyright] +notice-rgx = "# Copyright \\(c\\) Microsoft Corporation\\.\\r?\\n# Licensed under the MIT License\\." +min-file-size = 1 + [tool.mypy] python_version = "3.11" strict = true diff --git a/libraries/microsoft-agents-a365-observability-extensions-agentframework/setup.py b/libraries/microsoft-agents-a365-observability-extensions-agentframework/setup.py index 1c812d3b..d311d241 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-agentframework/setup.py +++ b/libraries/microsoft-agents-a365-observability-extensions-agentframework/setup.py @@ -13,7 +13,7 @@ helper_path = Path(__file__).parent.parent.parent / "versioning" / "helper" sys.path.insert(0, str(helper_path)) -from setup_utils import get_dynamic_dependencies +from setup_utils import get_dynamic_dependencies # noqa: E402 # Use minimum version strategy: # - Internal packages get: >= current_base_version (e.g., >= 0.1.0) diff --git a/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/__init__.py b/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/__init__.py index 282c3d0b..2c25c81b 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/__init__.py +++ b/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/__init__.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. """ Wraps the Langchain Agents SDK tracer to integrate with our Telemetry Solution. diff --git a/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/tracer.py b/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/tracer.py index 221f20d2..bb8eb122 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/tracer.py +++ b/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/tracer.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. import logging import re diff --git a/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/tracer_instrumentor.py b/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/tracer_instrumentor.py index 73ebc669..efb245ba 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/tracer_instrumentor.py +++ b/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/tracer_instrumentor.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. from __future__ import annotations diff --git a/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/utils.py b/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/utils.py index f634808c..b7dfe638 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/utils.py +++ b/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/utils.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. import json from collections.abc import Iterable, Iterator, Mapping, Sequence diff --git a/libraries/microsoft-agents-a365-observability-extensions-langchain/pyproject.toml b/libraries/microsoft-agents-a365-observability-extensions-langchain/pyproject.toml index d7046632..cff9f156 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-langchain/pyproject.toml +++ b/libraries/microsoft-agents-a365-observability-extensions-langchain/pyproject.toml @@ -71,6 +71,10 @@ target-version = ['py311'] line-length = 100 target-version = "py311" +[tool.ruff.lint.flake8-copyright] +notice-rgx = "# Copyright \\(c\\) Microsoft Corporation\\.\\r?\\n# Licensed under the MIT License\\." +min-file-size = 1 + [tool.mypy] python_version = "3.11" strict = true diff --git a/libraries/microsoft-agents-a365-observability-extensions-langchain/setup.py b/libraries/microsoft-agents-a365-observability-extensions-langchain/setup.py index 1c812d3b..d311d241 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-langchain/setup.py +++ b/libraries/microsoft-agents-a365-observability-extensions-langchain/setup.py @@ -13,7 +13,7 @@ helper_path = Path(__file__).parent.parent.parent / "versioning" / "helper" sys.path.insert(0, str(helper_path)) -from setup_utils import get_dynamic_dependencies +from setup_utils import get_dynamic_dependencies # noqa: E402 # Use minimum version strategy: # - Internal packages get: >= current_base_version (e.g., >= 0.1.0) diff --git a/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/__init__.py b/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/__init__.py index 72259f15..2b548f52 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/__init__.py +++ b/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/__init__.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. """ Wraps the OpenAI Agents SDK tracer to integrate with the Microsoft Agent 365 Telemetry Solution. diff --git a/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/constants.py b/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/constants.py index 9bc69bf9..2cd5b415 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/constants.py +++ b/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/constants.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # Span Attribute Types from microsoft_agents_a365.observability.core.constants import ( diff --git a/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/trace_instrumentor.py b/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/trace_instrumentor.py index 18d5f805..dae8786e 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/trace_instrumentor.py +++ b/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/trace_instrumentor.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # Wrapper for OpenAI Agents SDK diff --git a/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/trace_processor.py b/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/trace_processor.py index 1459c95a..a9c775b3 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/trace_processor.py +++ b/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/trace_processor.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # Processor for OpenAI Agents SDK diff --git a/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/utils.py b/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/utils.py index f1904a85..eb9c0b07 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/utils.py +++ b/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/utils.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # -------------------------------------------------- # # HELPER FUNCTIONS ### diff --git a/libraries/microsoft-agents-a365-observability-extensions-openai/pyproject.toml b/libraries/microsoft-agents-a365-observability-extensions-openai/pyproject.toml index a0c55afc..bc6e7225 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-openai/pyproject.toml +++ b/libraries/microsoft-agents-a365-observability-extensions-openai/pyproject.toml @@ -69,6 +69,10 @@ target-version = ['py311'] line-length = 100 target-version = "py311" +[tool.ruff.lint.flake8-copyright] +notice-rgx = "# Copyright \\(c\\) Microsoft Corporation\\.\\r?\\n# Licensed under the MIT License\\." +min-file-size = 1 + [tool.mypy] python_version = "3.11" strict = true diff --git a/libraries/microsoft-agents-a365-observability-extensions-openai/setup.py b/libraries/microsoft-agents-a365-observability-extensions-openai/setup.py index 1c812d3b..d311d241 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-openai/setup.py +++ b/libraries/microsoft-agents-a365-observability-extensions-openai/setup.py @@ -13,7 +13,7 @@ helper_path = Path(__file__).parent.parent.parent / "versioning" / "helper" sys.path.insert(0, str(helper_path)) -from setup_utils import get_dynamic_dependencies +from setup_utils import get_dynamic_dependencies # noqa: E402 # Use minimum version strategy: # - Internal packages get: >= current_base_version (e.g., >= 0.1.0) diff --git a/libraries/microsoft-agents-a365-observability-extensions-semantickernel/microsoft_agents_a365/observability/extensions/semantickernel/__init__.py b/libraries/microsoft-agents-a365-observability-extensions-semantickernel/microsoft_agents_a365/observability/extensions/semantickernel/__init__.py index 2a50eae8..b7c52582 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-semantickernel/microsoft_agents_a365/observability/extensions/semantickernel/__init__.py +++ b/libraries/microsoft-agents-a365-observability-extensions-semantickernel/microsoft_agents_a365/observability/extensions/semantickernel/__init__.py @@ -1 +1,3 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + diff --git a/libraries/microsoft-agents-a365-observability-extensions-semantickernel/microsoft_agents_a365/observability/extensions/semantickernel/span_processor.py b/libraries/microsoft-agents-a365-observability-extensions-semantickernel/microsoft_agents_a365/observability/extensions/semantickernel/span_processor.py index d7a78133..c78f748a 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-semantickernel/microsoft_agents_a365/observability/extensions/semantickernel/span_processor.py +++ b/libraries/microsoft-agents-a365-observability-extensions-semantickernel/microsoft_agents_a365/observability/extensions/semantickernel/span_processor.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. # Custom Span Processor diff --git a/libraries/microsoft-agents-a365-observability-extensions-semantickernel/microsoft_agents_a365/observability/extensions/semantickernel/trace_instrumentor.py b/libraries/microsoft-agents-a365-observability-extensions-semantickernel/microsoft_agents_a365/observability/extensions/semantickernel/trace_instrumentor.py index 1d1b75c6..bd44bb42 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-semantickernel/microsoft_agents_a365/observability/extensions/semantickernel/trace_instrumentor.py +++ b/libraries/microsoft-agents-a365-observability-extensions-semantickernel/microsoft_agents_a365/observability/extensions/semantickernel/trace_instrumentor.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. from __future__ import annotations diff --git a/libraries/microsoft-agents-a365-observability-extensions-semantickernel/pyproject.toml b/libraries/microsoft-agents-a365-observability-extensions-semantickernel/pyproject.toml index e8ef995a..182329b2 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-semantickernel/pyproject.toml +++ b/libraries/microsoft-agents-a365-observability-extensions-semantickernel/pyproject.toml @@ -71,6 +71,10 @@ target-version = ['py311'] line-length = 100 target-version = "py311" +[tool.ruff.lint.flake8-copyright] +notice-rgx = "# Copyright \\(c\\) Microsoft Corporation\\.\\r?\\n# Licensed under the MIT License\\." +min-file-size = 1 + [tool.mypy] python_version = "3.11" strict = true diff --git a/libraries/microsoft-agents-a365-observability-extensions-semantickernel/setup.py b/libraries/microsoft-agents-a365-observability-extensions-semantickernel/setup.py index 1c812d3b..d311d241 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-semantickernel/setup.py +++ b/libraries/microsoft-agents-a365-observability-extensions-semantickernel/setup.py @@ -13,7 +13,7 @@ helper_path = Path(__file__).parent.parent.parent / "versioning" / "helper" sys.path.insert(0, str(helper_path)) -from setup_utils import get_dynamic_dependencies +from setup_utils import get_dynamic_dependencies # noqa: E402 # Use minimum version strategy: # - Internal packages get: >= current_base_version (e.g., >= 0.1.0) diff --git a/libraries/microsoft-agents-a365-observability-hosting/microsoft_agents_a365/observability/hosting/scope_helpers/populate_baggage.py b/libraries/microsoft-agents-a365-observability-hosting/microsoft_agents_a365/observability/hosting/scope_helpers/populate_baggage.py index 6dbf807a..c1e36341 100644 --- a/libraries/microsoft-agents-a365-observability-hosting/microsoft_agents_a365/observability/hosting/scope_helpers/populate_baggage.py +++ b/libraries/microsoft-agents-a365-observability-hosting/microsoft_agents_a365/observability/hosting/scope_helpers/populate_baggage.py @@ -1,3 +1,6 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + from __future__ import annotations from collections.abc import Iterator diff --git a/libraries/microsoft-agents-a365-observability-hosting/microsoft_agents_a365/observability/hosting/scope_helpers/populate_invoke_agent_scope.py b/libraries/microsoft-agents-a365-observability-hosting/microsoft_agents_a365/observability/hosting/scope_helpers/populate_invoke_agent_scope.py index f7b4f517..f0f990d6 100644 --- a/libraries/microsoft-agents-a365-observability-hosting/microsoft_agents_a365/observability/hosting/scope_helpers/populate_invoke_agent_scope.py +++ b/libraries/microsoft-agents-a365-observability-hosting/microsoft_agents_a365/observability/hosting/scope_helpers/populate_invoke_agent_scope.py @@ -1,3 +1,6 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + from __future__ import annotations from typing import TYPE_CHECKING diff --git a/libraries/microsoft-agents-a365-observability-hosting/setup.py b/libraries/microsoft-agents-a365-observability-hosting/setup.py index 9e538463..6fcc5181 100644 --- a/libraries/microsoft-agents-a365-observability-hosting/setup.py +++ b/libraries/microsoft-agents-a365-observability-hosting/setup.py @@ -14,7 +14,7 @@ helper_path = Path(__file__).parent.parent.parent / "versioning" / "helper" sys.path.insert(0, str(helper_path)) -from setup_utils import get_dynamic_dependencies +from setup_utils import get_dynamic_dependencies # noqa: E402 # Use minimum version strategy: # - Internal packages get: >= current_base_version (e.g., >= 0.1.0) diff --git a/libraries/microsoft-agents-a365-runtime/microsoft_agents_a365/runtime/environment_utils.py b/libraries/microsoft-agents-a365-runtime/microsoft_agents_a365/runtime/environment_utils.py index 4b9cb194..3eb6463b 100644 --- a/libraries/microsoft-agents-a365-runtime/microsoft_agents_a365/runtime/environment_utils.py +++ b/libraries/microsoft-agents-a365-runtime/microsoft_agents_a365/runtime/environment_utils.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. """ Utility logic for environment-related operations. diff --git a/libraries/microsoft-agents-a365-runtime/microsoft_agents_a365/runtime/power_platform_api_discovery.py b/libraries/microsoft-agents-a365-runtime/microsoft_agents_a365/runtime/power_platform_api_discovery.py index f3891a36..df691110 100644 --- a/libraries/microsoft-agents-a365-runtime/microsoft_agents_a365/runtime/power_platform_api_discovery.py +++ b/libraries/microsoft-agents-a365-runtime/microsoft_agents_a365/runtime/power_platform_api_discovery.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. import re from typing import Literal diff --git a/libraries/microsoft-agents-a365-runtime/microsoft_agents_a365/runtime/utility.py b/libraries/microsoft-agents-a365-runtime/microsoft_agents_a365/runtime/utility.py index 9a26ccc1..6d02505a 100644 --- a/libraries/microsoft-agents-a365-runtime/microsoft_agents_a365/runtime/utility.py +++ b/libraries/microsoft-agents-a365-runtime/microsoft_agents_a365/runtime/utility.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. """ Utility functions for Microsoft Agent 365 runtime operations. diff --git a/libraries/microsoft-agents-a365-runtime/pyproject.toml b/libraries/microsoft-agents-a365-runtime/pyproject.toml index c994444c..2ae56b2f 100644 --- a/libraries/microsoft-agents-a365-runtime/pyproject.toml +++ b/libraries/microsoft-agents-a365-runtime/pyproject.toml @@ -65,6 +65,10 @@ target-version = ['py311'] line-length = 100 target-version = "py311" +[tool.ruff.lint.flake8-copyright] +notice-rgx = "# Copyright \\(c\\) Microsoft Corporation\\.\\r?\\n# Licensed under the MIT License\\." +min-file-size = 1 + [tool.mypy] python_version = "3.11" strict = true diff --git a/libraries/microsoft-agents-a365-runtime/setup.py b/libraries/microsoft-agents-a365-runtime/setup.py index 1c812d3b..d311d241 100644 --- a/libraries/microsoft-agents-a365-runtime/setup.py +++ b/libraries/microsoft-agents-a365-runtime/setup.py @@ -13,7 +13,7 @@ helper_path = Path(__file__).parent.parent.parent / "versioning" / "helper" sys.path.insert(0, str(helper_path)) -from setup_utils import get_dynamic_dependencies +from setup_utils import get_dynamic_dependencies # noqa: E402 # Use minimum version strategy: # - Internal packages get: >= current_base_version (e.g., >= 0.1.0) diff --git a/libraries/microsoft-agents-a365-tooling-extensions-agentframework/microsoft_agents_a365/tooling/extensions/agentframework/__init__.py b/libraries/microsoft-agents-a365-tooling-extensions-agentframework/microsoft_agents_a365/tooling/extensions/agentframework/__init__.py index b06cfe4e..c4ba4378 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-agentframework/microsoft_agents_a365/tooling/extensions/agentframework/__init__.py +++ b/libraries/microsoft-agents-a365-tooling-extensions-agentframework/microsoft_agents_a365/tooling/extensions/agentframework/__init__.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. """ Agent 365 Tooling Agent Framework Extensions diff --git a/libraries/microsoft-agents-a365-tooling-extensions-agentframework/microsoft_agents_a365/tooling/extensions/agentframework/services/__init__.py b/libraries/microsoft-agents-a365-tooling-extensions-agentframework/microsoft_agents_a365/tooling/extensions/agentframework/services/__init__.py index 6f38d194..d0ff91ab 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-agentframework/microsoft_agents_a365/tooling/extensions/agentframework/services/__init__.py +++ b/libraries/microsoft-agents-a365-tooling-extensions-agentframework/microsoft_agents_a365/tooling/extensions/agentframework/services/__init__.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. """ Services module for Agent Framework tooling. diff --git a/libraries/microsoft-agents-a365-tooling-extensions-agentframework/microsoft_agents_a365/tooling/extensions/agentframework/services/mcp_tool_registration_service.py b/libraries/microsoft-agents-a365-tooling-extensions-agentframework/microsoft_agents_a365/tooling/extensions/agentframework/services/mcp_tool_registration_service.py index 267680d6..a04e414f 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-agentframework/microsoft_agents_a365/tooling/extensions/agentframework/services/mcp_tool_registration_service.py +++ b/libraries/microsoft-agents-a365-tooling-extensions-agentframework/microsoft_agents_a365/tooling/extensions/agentframework/services/mcp_tool_registration_service.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. from typing import Optional, List, Any, Union import logging diff --git a/libraries/microsoft-agents-a365-tooling-extensions-agentframework/pyproject.toml b/libraries/microsoft-agents-a365-tooling-extensions-agentframework/pyproject.toml index a25e8091..030b08b0 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-agentframework/pyproject.toml +++ b/libraries/microsoft-agents-a365-tooling-extensions-agentframework/pyproject.toml @@ -67,6 +67,10 @@ target-version = ['py311'] line-length = 100 target-version = "py311" +[tool.ruff.lint.flake8-copyright] +notice-rgx = "# Copyright \\(c\\) Microsoft Corporation\\.\\r?\\n# Licensed under the MIT License\\." +min-file-size = 1 + [tool.mypy] python_version = "3.11" strict = true diff --git a/libraries/microsoft-agents-a365-tooling-extensions-agentframework/setup.py b/libraries/microsoft-agents-a365-tooling-extensions-agentframework/setup.py index 1c812d3b..d311d241 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-agentframework/setup.py +++ b/libraries/microsoft-agents-a365-tooling-extensions-agentframework/setup.py @@ -13,7 +13,7 @@ helper_path = Path(__file__).parent.parent.parent / "versioning" / "helper" sys.path.insert(0, str(helper_path)) -from setup_utils import get_dynamic_dependencies +from setup_utils import get_dynamic_dependencies # noqa: E402 # Use minimum version strategy: # - Internal packages get: >= current_base_version (e.g., >= 0.1.0) diff --git a/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/microsoft_agents_a365/tooling/extensions/azureaifoundry/services/__init__.py b/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/microsoft_agents_a365/tooling/extensions/azureaifoundry/services/__init__.py index 33ef7cb5..08bcbb81 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/microsoft_agents_a365/tooling/extensions/azureaifoundry/services/__init__.py +++ b/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/microsoft_agents_a365/tooling/extensions/azureaifoundry/services/__init__.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. """ Azure Foundry Services Module. diff --git a/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/microsoft_agents_a365/tooling/extensions/azureaifoundry/services/mcp_tool_registration_service.py b/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/microsoft_agents_a365/tooling/extensions/azureaifoundry/services/mcp_tool_registration_service.py index 1342b870..65cd1cf6 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/microsoft_agents_a365/tooling/extensions/azureaifoundry/services/mcp_tool_registration_service.py +++ b/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/microsoft_agents_a365/tooling/extensions/azureaifoundry/services/mcp_tool_registration_service.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. """ MCP Tool Registration Service implementation for Azure Foundry. diff --git a/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/pyproject.toml b/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/pyproject.toml index 58ae9ed7..29a6f7a1 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/pyproject.toml +++ b/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/pyproject.toml @@ -66,6 +66,10 @@ target-version = ['py311'] line-length = 100 target-version = "py311" +[tool.ruff.lint.flake8-copyright] +notice-rgx = "# Copyright \\(c\\) Microsoft Corporation\\.\\r?\\n# Licensed under the MIT License\\." +min-file-size = 1 + [tool.mypy] python_version = "3.11" strict = true diff --git a/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/setup.py b/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/setup.py index 1c812d3b..d311d241 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/setup.py +++ b/libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry/setup.py @@ -13,7 +13,7 @@ helper_path = Path(__file__).parent.parent.parent / "versioning" / "helper" sys.path.insert(0, str(helper_path)) -from setup_utils import get_dynamic_dependencies +from setup_utils import get_dynamic_dependencies # noqa: E402 # Use minimum version strategy: # - Internal packages get: >= current_base_version (e.g., >= 0.1.0) diff --git a/libraries/microsoft-agents-a365-tooling-extensions-openai/microsoft_agents_a365/tooling/extensions/openai/mcp_tool_registration_service.py b/libraries/microsoft-agents-a365-tooling-extensions-openai/microsoft_agents_a365/tooling/extensions/openai/mcp_tool_registration_service.py index 1d6e6cc9..207b1ab3 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-openai/microsoft_agents_a365/tooling/extensions/openai/mcp_tool_registration_service.py +++ b/libraries/microsoft-agents-a365-tooling-extensions-openai/microsoft_agents_a365/tooling/extensions/openai/mcp_tool_registration_service.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. from typing import Dict, Optional from dataclasses import dataclass diff --git a/libraries/microsoft-agents-a365-tooling-extensions-openai/pyproject.toml b/libraries/microsoft-agents-a365-tooling-extensions-openai/pyproject.toml index 76f02b70..449ac55e 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-openai/pyproject.toml +++ b/libraries/microsoft-agents-a365-tooling-extensions-openai/pyproject.toml @@ -65,6 +65,10 @@ target-version = ['py311'] line-length = 100 target-version = "py311" +[tool.ruff.lint.flake8-copyright] +notice-rgx = "# Copyright \\(c\\) Microsoft Corporation\\.\\r?\\n# Licensed under the MIT License\\." +min-file-size = 1 + [tool.mypy] python_version = "3.11" strict = true diff --git a/libraries/microsoft-agents-a365-tooling-extensions-openai/setup.py b/libraries/microsoft-agents-a365-tooling-extensions-openai/setup.py index 1c812d3b..d311d241 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-openai/setup.py +++ b/libraries/microsoft-agents-a365-tooling-extensions-openai/setup.py @@ -13,7 +13,7 @@ helper_path = Path(__file__).parent.parent.parent / "versioning" / "helper" sys.path.insert(0, str(helper_path)) -from setup_utils import get_dynamic_dependencies +from setup_utils import get_dynamic_dependencies # noqa: E402 # Use minimum version strategy: # - Internal packages get: >= current_base_version (e.g., >= 0.1.0) diff --git a/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/microsoft_agents_a365/tooling/extensions/semantickernel/services/__init__.py b/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/microsoft_agents_a365/tooling/extensions/semantickernel/services/__init__.py index e981e2aa..02de5908 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/microsoft_agents_a365/tooling/extensions/semantickernel/services/__init__.py +++ b/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/microsoft_agents_a365/tooling/extensions/semantickernel/services/__init__.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. """ Services module for Semantic Kernel tooling. diff --git a/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/microsoft_agents_a365/tooling/extensions/semantickernel/services/mcp_tool_registration_service.py b/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/microsoft_agents_a365/tooling/extensions/semantickernel/services/mcp_tool_registration_service.py index e4180319..fec78df9 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/microsoft_agents_a365/tooling/extensions/semantickernel/services/mcp_tool_registration_service.py +++ b/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/microsoft_agents_a365/tooling/extensions/semantickernel/services/mcp_tool_registration_service.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. """ MCP Tool Registration Service implementation for Semantic Kernel. @@ -20,7 +21,7 @@ from microsoft_agents_a365.tooling.services.mcp_tool_server_configuration_service import ( McpToolServerConfigurationService, ) -from microsoft_agents_a365.tooling.models import MCPServerConfig, ToolOptions +from microsoft_agents_a365.tooling.models import ToolOptions from microsoft_agents_a365.tooling.utils.constants import Constants from microsoft_agents_a365.tooling.utils.utility import ( get_mcp_platform_authentication_scope, diff --git a/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/pyproject.toml b/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/pyproject.toml index 8de328a1..35f94b93 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/pyproject.toml +++ b/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/pyproject.toml @@ -65,6 +65,10 @@ target-version = ['py311'] line-length = 100 target-version = "py311" +[tool.ruff.lint.flake8-copyright] +notice-rgx = "# Copyright \\(c\\) Microsoft Corporation\\.\\r?\\n# Licensed under the MIT License\\." +min-file-size = 1 + [tool.mypy] python_version = "3.11" strict = true diff --git a/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/setup.py b/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/setup.py index 1c812d3b..d311d241 100644 --- a/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/setup.py +++ b/libraries/microsoft-agents-a365-tooling-extensions-semantickernel/setup.py @@ -13,7 +13,7 @@ helper_path = Path(__file__).parent.parent.parent / "versioning" / "helper" sys.path.insert(0, str(helper_path)) -from setup_utils import get_dynamic_dependencies +from setup_utils import get_dynamic_dependencies # noqa: E402 # Use minimum version strategy: # - Internal packages get: >= current_base_version (e.g., >= 0.1.0) diff --git a/libraries/microsoft-agents-a365-tooling/microsoft_agents_a365/tooling/models/mcp_server_config.py b/libraries/microsoft-agents-a365-tooling/microsoft_agents_a365/tooling/models/mcp_server_config.py index b8526c13..6d5ddaf1 100644 --- a/libraries/microsoft-agents-a365-tooling/microsoft_agents_a365/tooling/models/mcp_server_config.py +++ b/libraries/microsoft-agents-a365-tooling/microsoft_agents_a365/tooling/models/mcp_server_config.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. """ MCP Server Configuration model. diff --git a/libraries/microsoft-agents-a365-tooling/microsoft_agents_a365/tooling/models/tool_options.py b/libraries/microsoft-agents-a365-tooling/microsoft_agents_a365/tooling/models/tool_options.py index 9c5c7604..4afbcd37 100644 --- a/libraries/microsoft-agents-a365-tooling/microsoft_agents_a365/tooling/models/tool_options.py +++ b/libraries/microsoft-agents-a365-tooling/microsoft_agents_a365/tooling/models/tool_options.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. """ Tooling Options model. diff --git a/libraries/microsoft-agents-a365-tooling/microsoft_agents_a365/tooling/services/__init__.py b/libraries/microsoft-agents-a365-tooling/microsoft_agents_a365/tooling/services/__init__.py index fc669b72..c36e427b 100644 --- a/libraries/microsoft-agents-a365-tooling/microsoft_agents_a365/tooling/services/__init__.py +++ b/libraries/microsoft-agents-a365-tooling/microsoft_agents_a365/tooling/services/__init__.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. """ MCP tooling services package. diff --git a/libraries/microsoft-agents-a365-tooling/microsoft_agents_a365/tooling/utils/constants.py b/libraries/microsoft-agents-a365-tooling/microsoft_agents_a365/tooling/utils/constants.py index 46f3e03c..c788447d 100644 --- a/libraries/microsoft-agents-a365-tooling/microsoft_agents_a365/tooling/utils/constants.py +++ b/libraries/microsoft-agents-a365-tooling/microsoft_agents_a365/tooling/utils/constants.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. """ Provides constant values used throughout the Tooling components. diff --git a/libraries/microsoft-agents-a365-tooling/pyproject.toml b/libraries/microsoft-agents-a365-tooling/pyproject.toml index 354480c2..77fbceec 100644 --- a/libraries/microsoft-agents-a365-tooling/pyproject.toml +++ b/libraries/microsoft-agents-a365-tooling/pyproject.toml @@ -62,6 +62,10 @@ target-version = ['py311'] line-length = 100 target-version = "py311" +[tool.ruff.lint.flake8-copyright] +notice-rgx = "# Copyright \\(c\\) Microsoft Corporation\\.\\r?\\n# Licensed under the MIT License\\." +min-file-size = 1 + [tool.mypy] python_version = "3.11" strict = true diff --git a/libraries/microsoft-agents-a365-tooling/setup.py b/libraries/microsoft-agents-a365-tooling/setup.py index 1c812d3b..d311d241 100644 --- a/libraries/microsoft-agents-a365-tooling/setup.py +++ b/libraries/microsoft-agents-a365-tooling/setup.py @@ -13,7 +13,7 @@ helper_path = Path(__file__).parent.parent.parent / "versioning" / "helper" sys.path.insert(0, str(helper_path)) -from setup_utils import get_dynamic_dependencies +from setup_utils import get_dynamic_dependencies # noqa: E402 # Use minimum version strategy: # - Internal packages get: >= current_base_version (e.g., >= 0.1.0) diff --git a/pyproject.toml b/pyproject.toml index 4799b21e..63d7c85a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,8 +66,11 @@ line-length = 100 target-version = "py311" preview = true +[tool.ruff.lint] +preview = true + # Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default. -lint.select = [ +select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # Pyflakes @@ -78,13 +81,13 @@ lint.select = [ "CPY", ] -lint.ignore = [ +ignore = [ "E501", # Line too long, handled by formatter ] # Allow fix for all enabled rules (when `--fix`) is provided. -lint.fixable = ["ALL"] -lint.unfixable = [] +fixable = ["ALL"] +unfixable = [] # Exclude a variety of commonly ignored directories. exclude = [ @@ -112,8 +115,8 @@ exclude = [ ] [tool.ruff.lint.flake8-copyright] -# Require this exact line anywhere in the first 4096 bytes -notice-rgx = "^# Copyright \\(c\\) Microsoft\\. All rights reserved\\." +# Require this exact copyright header (matches CLAUDE.md specification) +notice-rgx = "# Copyright \\(c\\) Microsoft Corporation\\.\\r?\\n# Licensed under the MIT License\\." # (optional) ensure all files are checked regardless of size min-file-size = 1 diff --git a/tests/__init__.py b/tests/__init__.py index 2a50eae8..59e481eb 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1 +1,2 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. diff --git a/tests/observability/core/exporters/test_utils.py b/tests/observability/core/exporters/test_utils.py index 76b80b59..dda81a7a 100644 --- a/tests/observability/core/exporters/test_utils.py +++ b/tests/observability/core/exporters/test_utils.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. import os import unittest diff --git a/tests/observability/core/test_agent365_exporter.py b/tests/observability/core/test_agent365_exporter.py index 6ad13d2f..c3b215b9 100644 --- a/tests/observability/core/test_agent365_exporter.py +++ b/tests/observability/core/test_agent365_exporter.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. import json import os diff --git a/tests/observability/core/test_baggage_builder.py b/tests/observability/core/test_baggage_builder.py index e6b398b5..937b3085 100644 --- a/tests/observability/core/test_baggage_builder.py +++ b/tests/observability/core/test_baggage_builder.py @@ -1,5 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. - +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. import os import unittest diff --git a/tests/observability/core/test_record_attributes.py b/tests/observability/core/test_record_attributes.py index 95f1ee57..a43b67b2 100644 --- a/tests/observability/core/test_record_attributes.py +++ b/tests/observability/core/test_record_attributes.py @@ -1,5 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. - +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. import os import unittest diff --git a/tests/observability/core/test_span_processor.py b/tests/observability/core/test_span_processor.py index a10d52f9..f7bd4f5a 100644 --- a/tests/observability/core/test_span_processor.py +++ b/tests/observability/core/test_span_processor.py @@ -1,5 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. - +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. import unittest from unittest.mock import MagicMock diff --git a/tests/observability/extensions/agentframework/integration/test_agentframework_trace_processor.py b/tests/observability/extensions/agentframework/integration/test_agentframework_trace_processor.py index f3e319cb..800282d3 100644 --- a/tests/observability/extensions/agentframework/integration/test_agentframework_trace_processor.py +++ b/tests/observability/extensions/agentframework/integration/test_agentframework_trace_processor.py @@ -18,10 +18,10 @@ # AgentFramework SDK try: - from agent_framework.azure import AzureOpenAIChatClient from agent_framework import ChatAgent, ai_function - from azure.identity import AzureCliCredential + from agent_framework.azure import AzureOpenAIChatClient from agent_framework.observability import setup_observability + from azure.identity import AzureCliCredential except ImportError: pytest.skip( "AgentFramework library and dependencies required for integration tests", diff --git a/tests/observability/extensions/langchain/test_wrapper_langchain.py b/tests/observability/extensions/langchain/test_wrapper_langchain.py index a5ff15e5..0a9c1116 100644 --- a/tests/observability/extensions/langchain/test_wrapper_langchain.py +++ b/tests/observability/extensions/langchain/test_wrapper_langchain.py @@ -1,5 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. - +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. import unittest from unittest.mock import MagicMock diff --git a/tests/observability/extensions/openai/test_prompt_suppression.py b/tests/observability/extensions/openai/test_prompt_suppression.py index c5226e2c..2c8e0ffe 100644 --- a/tests/observability/extensions/openai/test_prompt_suppression.py +++ b/tests/observability/extensions/openai/test_prompt_suppression.py @@ -1,4 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. import unittest diff --git a/tests/observability/extensions/openai/test_wrapper_openaiagents.py b/tests/observability/extensions/openai/test_wrapper_openaiagents.py index a5852c5a..b95c99ce 100644 --- a/tests/observability/extensions/openai/test_wrapper_openaiagents.py +++ b/tests/observability/extensions/openai/test_wrapper_openaiagents.py @@ -1,5 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. - +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. import unittest diff --git a/tests/observability/extensions/semantickernel/test_wrapper_semantic_kernel.py b/tests/observability/extensions/semantickernel/test_wrapper_semantic_kernel.py index 99c9a266..ff475dbb 100644 --- a/tests/observability/extensions/semantickernel/test_wrapper_semantic_kernel.py +++ b/tests/observability/extensions/semantickernel/test_wrapper_semantic_kernel.py @@ -1,5 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. - +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. import unittest from unittest.mock import MagicMock, patch diff --git a/tests/runtime/test_environment_utils.py b/tests/runtime/test_environment_utils.py index cb0c8077..a79a1b43 100644 --- a/tests/runtime/test_environment_utils.py +++ b/tests/runtime/test_environment_utils.py @@ -4,7 +4,6 @@ """Unit tests for environment_utils module.""" import pytest - from microsoft_agents_a365.runtime.environment_utils import ( PROD_OBSERVABILITY_SCOPE, get_observability_authentication_scope, diff --git a/tests/runtime/test_power_platform_api_discovery.py b/tests/runtime/test_power_platform_api_discovery.py index 4189d44c..9dd27cfb 100644 --- a/tests/runtime/test_power_platform_api_discovery.py +++ b/tests/runtime/test_power_platform_api_discovery.py @@ -4,7 +4,6 @@ """Unit tests for PowerPlatformApiDiscovery class.""" import pytest - from microsoft_agents_a365.runtime.power_platform_api_discovery import ( PowerPlatformApiDiscovery, ) diff --git a/tests/runtime/test_version_utils.py b/tests/runtime/test_version_utils.py index 5da6851b..5e87da4d 100644 --- a/tests/runtime/test_version_utils.py +++ b/tests/runtime/test_version_utils.py @@ -4,8 +4,8 @@ """Unit tests for version_utils module.""" import warnings -import pytest +import pytest from microsoft_agents_a365.runtime.version_utils import build_version diff --git a/tests/tooling/models/test_chat_history_message.py b/tests/tooling/models/test_chat_history_message.py index 12578590..dc9bb5e6 100644 --- a/tests/tooling/models/test_chat_history_message.py +++ b/tests/tooling/models/test_chat_history_message.py @@ -3,11 +3,11 @@ """Unit tests for ChatHistoryMessage class.""" -from datetime import datetime, timezone +from datetime import UTC, datetime import pytest -from pydantic import ValidationError from microsoft_agents_a365.tooling.models import ChatHistoryMessage +from pydantic import ValidationError class TestChatHistoryMessage: @@ -16,7 +16,7 @@ class TestChatHistoryMessage: def test_chat_history_message_can_be_instantiated(self): """Test that ChatHistoryMessage can be instantiated with valid parameters.""" # Arrange & Act - timestamp = datetime.now(timezone.utc) + timestamp = datetime.now(UTC) message = ChatHistoryMessage( id="msg-123", role="user", @@ -34,7 +34,7 @@ def test_chat_history_message_can_be_instantiated(self): def test_chat_history_message_to_dict(self): """Test that ChatHistoryMessage converts to dictionary correctly.""" # Arrange - timestamp = datetime(2024, 1, 15, 10, 30, 0, tzinfo=timezone.utc) + timestamp = datetime(2024, 1, 15, 10, 30, 0, tzinfo=UTC) message = ChatHistoryMessage( id="msg-456", role="assistant", @@ -65,7 +65,7 @@ def test_chat_history_message_with_optional_id_none(self): def test_chat_history_message_requires_non_empty_content(self): """Test that ChatHistoryMessage requires a non-empty content.""" # Arrange - timestamp = datetime.now(timezone.utc) + timestamp = datetime.now(UTC) # Act & Assert with pytest.raises(ValidationError, match="cannot be empty or whitespace"): @@ -90,7 +90,7 @@ def test_chat_history_message_with_optional_timestamp_none(self): def test_chat_history_message_supports_system_role(self): """Test that ChatHistoryMessage supports system role.""" # Arrange & Act - timestamp = datetime.now(timezone.utc) + timestamp = datetime.now(UTC) message = ChatHistoryMessage( id="sys-001", role="system", @@ -104,7 +104,7 @@ def test_chat_history_message_supports_system_role(self): def test_chat_history_message_preserves_timestamp_precision(self): """Test that ChatHistoryMessage preserves timestamp precision.""" # Arrange - timestamp = datetime(2024, 1, 15, 10, 30, 45, 123000, tzinfo=timezone.utc) + timestamp = datetime(2024, 1, 15, 10, 30, 45, 123000, tzinfo=UTC) message = ChatHistoryMessage( id="msg-001", role="user", @@ -122,7 +122,7 @@ def test_chat_history_message_preserves_timestamp_precision(self): def test_chat_history_message_rejects_whitespace_only_content(self): """Test that ChatHistoryMessage rejects whitespace-only content.""" # Arrange - timestamp = datetime.now(timezone.utc) + timestamp = datetime.now(UTC) # Act & Assert with pytest.raises(ValidationError, match="cannot be empty or whitespace"): @@ -136,7 +136,7 @@ def test_chat_history_message_rejects_whitespace_only_content(self): def test_chat_history_message_rejects_newline_only_content(self): """Test that ChatHistoryMessage rejects newline-only content.""" # Arrange - timestamp = datetime.now(timezone.utc) + timestamp = datetime.now(UTC) # Act & Assert with pytest.raises(ValidationError, match="cannot be empty or whitespace"): @@ -150,7 +150,7 @@ def test_chat_history_message_rejects_newline_only_content(self): def test_chat_history_message_rejects_invalid_role(self): """Test that ChatHistoryMessage rejects invalid role values.""" # Arrange - timestamp = datetime.now(timezone.utc) + timestamp = datetime.now(UTC) # Act & Assert with pytest.raises( @@ -165,7 +165,7 @@ def test_chat_history_message_rejects_invalid_role(self): def test_chat_history_message_supports_all_valid_roles(self): """Test that ChatHistoryMessage supports all valid role values.""" - timestamp = datetime.now(timezone.utc) + timestamp = datetime.now(UTC) for role in ["user", "assistant", "system"]: message = ChatHistoryMessage( diff --git a/tests/tooling/models/test_chat_message_request.py b/tests/tooling/models/test_chat_message_request.py index e3cd8375..683e6b66 100644 --- a/tests/tooling/models/test_chat_message_request.py +++ b/tests/tooling/models/test_chat_message_request.py @@ -3,11 +3,11 @@ """Unit tests for ChatMessageRequest class.""" -from datetime import datetime, timezone +from datetime import UTC, datetime import pytest -from pydantic import ValidationError from microsoft_agents_a365.tooling.models import ChatHistoryMessage, ChatMessageRequest +from pydantic import ValidationError class TestChatMessageRequest: @@ -16,7 +16,7 @@ class TestChatMessageRequest: def test_chat_message_request_can_be_instantiated(self): """Test that ChatMessageRequest can be instantiated with valid parameters.""" # Arrange - timestamp = datetime.now(timezone.utc) + timestamp = datetime.now(UTC) message1 = ChatHistoryMessage(id="msg-1", role="user", content="Hello", timestamp=timestamp) message2 = ChatHistoryMessage( id="msg-2", role="assistant", content="Hi there!", timestamp=timestamp @@ -41,7 +41,7 @@ def test_chat_message_request_can_be_instantiated(self): def test_chat_message_request_to_dict(self): """Test that ChatMessageRequest converts to dictionary correctly.""" # Arrange - timestamp = datetime(2024, 1, 15, 10, 30, 0, tzinfo=timezone.utc) + timestamp = datetime(2024, 1, 15, 10, 30, 0, tzinfo=UTC) message = ChatHistoryMessage(id="msg-1", role="user", content="Hello", timestamp=timestamp) request = ChatMessageRequest( conversation_id="conv-123", @@ -65,7 +65,7 @@ def test_chat_message_request_to_dict(self): def test_chat_message_request_requires_non_empty_conversation_id(self): """Test that ChatMessageRequest requires a non-empty conversation_id.""" # Arrange - timestamp = datetime.now(timezone.utc) + timestamp = datetime.now(UTC) message = ChatHistoryMessage(id="msg-1", role="user", content="Hello", timestamp=timestamp) # Act & Assert @@ -80,7 +80,7 @@ def test_chat_message_request_requires_non_empty_conversation_id(self): def test_chat_message_request_requires_non_empty_message_id(self): """Test that ChatMessageRequest requires a non-empty message_id.""" # Arrange - timestamp = datetime.now(timezone.utc) + timestamp = datetime.now(UTC) message = ChatHistoryMessage(id="msg-1", role="user", content="Hello", timestamp=timestamp) # Act & Assert @@ -95,7 +95,7 @@ def test_chat_message_request_requires_non_empty_message_id(self): def test_chat_message_request_requires_non_empty_user_message(self): """Test that ChatMessageRequest requires a non-empty user_message.""" # Arrange - timestamp = datetime.now(timezone.utc) + timestamp = datetime.now(UTC) message = ChatHistoryMessage(id="msg-1", role="user", content="Hello", timestamp=timestamp) # Act & Assert @@ -123,7 +123,7 @@ def test_chat_message_request_requires_non_empty_chat_history(self): def test_chat_message_request_with_multiple_messages(self): """Test that ChatMessageRequest handles multiple messages correctly.""" # Arrange - timestamp = datetime(2024, 1, 15, 10, 30, 0, tzinfo=timezone.utc) + timestamp = datetime(2024, 1, 15, 10, 30, 0, tzinfo=UTC) message1 = ChatHistoryMessage(id="msg-1", role="user", content="Hello", timestamp=timestamp) message2 = ChatHistoryMessage( id="msg-2", role="assistant", content="Hi!", timestamp=timestamp @@ -151,7 +151,7 @@ def test_chat_message_request_with_multiple_messages(self): def test_chat_message_request_rejects_whitespace_only_conversation_id(self): """Test that ChatMessageRequest rejects whitespace-only conversation_id.""" # Arrange - timestamp = datetime.now(timezone.utc) + timestamp = datetime.now(UTC) message = ChatHistoryMessage(id="msg-1", role="user", content="Hello", timestamp=timestamp) # Act & Assert @@ -166,7 +166,7 @@ def test_chat_message_request_rejects_whitespace_only_conversation_id(self): def test_chat_message_request_rejects_whitespace_only_message_id(self): """Test that ChatMessageRequest rejects whitespace-only message_id.""" # Arrange - timestamp = datetime.now(timezone.utc) + timestamp = datetime.now(UTC) message = ChatHistoryMessage(id="msg-1", role="user", content="Hello", timestamp=timestamp) # Act & Assert @@ -181,7 +181,7 @@ def test_chat_message_request_rejects_whitespace_only_message_id(self): def test_chat_message_request_rejects_whitespace_only_user_message(self): """Test that ChatMessageRequest rejects whitespace-only user_message.""" # Arrange - timestamp = datetime.now(timezone.utc) + timestamp = datetime.now(UTC) message = ChatHistoryMessage(id="msg-1", role="user", content="Hello", timestamp=timestamp) # Act & Assert @@ -196,7 +196,7 @@ def test_chat_message_request_rejects_whitespace_only_user_message(self): def test_chat_message_request_rejects_tab_only_conversation_id(self): """Test that ChatMessageRequest rejects tab-only conversation_id.""" # Arrange - timestamp = datetime.now(timezone.utc) + timestamp = datetime.now(UTC) message = ChatHistoryMessage(id="msg-1", role="user", content="Hello", timestamp=timestamp) # Act & Assert diff --git a/tests/tooling/services/test_send_chat_history.py b/tests/tooling/services/test_send_chat_history.py index 67f0e4e3..259b2a6e 100644 --- a/tests/tooling/services/test_send_chat_history.py +++ b/tests/tooling/services/test_send_chat_history.py @@ -3,7 +3,7 @@ """Unit tests for send_chat_history method in McpToolServerConfigurationService.""" -from datetime import datetime, timezone +from datetime import UTC, datetime from unittest.mock import AsyncMock, MagicMock, Mock, patch import pytest @@ -33,7 +33,7 @@ def mock_turn_context(self): @pytest.fixture def chat_history_messages(self): """Create sample chat history messages.""" - timestamp = datetime.now(timezone.utc) + timestamp = datetime.now(UTC) return [ ChatHistoryMessage(id="msg-1", role="user", content="Hello", timestamp=timestamp), ChatHistoryMessage( diff --git a/tests/usage_example.py b/tests/usage_example.py index e091e859..e42e9259 100644 --- a/tests/usage_example.py +++ b/tests/usage_example.py @@ -1,5 +1,5 @@ -# Copyright (c) Microsoft. All rights reserved. - +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. import os from urllib.parse import urlparse diff --git a/versioning/helper/__init__.py b/versioning/helper/__init__.py index 40ecc2c3..5cd1fdc6 100644 --- a/versioning/helper/__init__.py +++ b/versioning/helper/__init__.py @@ -4,10 +4,10 @@ """Microsoft Agent 365 Python SDK setup utilities.""" from .setup_utils import ( - get_package_version, - get_dynamic_dependencies, get_base_version, + get_dynamic_dependencies, get_next_major_version, + get_package_version, ) __all__ = [ diff --git a/versioning/helper/setup_utils.py b/versioning/helper/setup_utils.py index 1f08ca8a..5c007f68 100644 --- a/versioning/helper/setup_utils.py +++ b/versioning/helper/setup_utils.py @@ -9,7 +9,6 @@ """ from os import environ -from typing import List def get_package_version() -> str: @@ -106,7 +105,7 @@ def get_dynamic_dependencies( pyproject_path: str = "pyproject.toml", use_exact_match: bool = False, use_compatible_release: bool = False, -) -> List[str]: +) -> list[str]: """ Read dependencies from pyproject.toml and update internal package versions. @@ -156,31 +155,33 @@ def get_dynamic_dependencies( raise ImportError( "Failed to import TOML library. For Python < 3.11, please install tomli: " "pip install tomli" - ) + ) from None # Read and parse pyproject.toml with comprehensive error handling try: with open(pyproject_path, "rb") as f: pyproject = tomllib.load(f) - except FileNotFoundError: + except FileNotFoundError as err: raise FileNotFoundError( f"Could not find {pyproject_path}. " f"Ensure the file exists in the expected location. " f"Current working directory may be incorrect." - ) - except PermissionError: + ) from err + except PermissionError as err: raise PermissionError( f"Permission denied reading {pyproject_path}. Check file permissions." - ) + ) from err except Exception as e: # Catch TOML decode errors (attribute may vary by library) if "TOML" in type(e).__name__ or "Decode" in type(e).__name__: raise ValueError( f"Invalid TOML syntax in {pyproject_path}: {e}. " f"Please check the file for syntax errors." - ) + ) from e # Re-raise unexpected errors - raise RuntimeError(f"Unexpected error reading {pyproject_path}: {type(e).__name__}: {e}") + raise RuntimeError( + f"Unexpected error reading {pyproject_path}: {type(e).__name__}: {e}" + ) from e # Validate pyproject.toml structure if "project" not in pyproject: