Metadata-Version: 2.4
Name: aw-appservice-custom-ai-middleware-extension
Version: 0.3.4
Summary: Building blocks for agents hosted behind an EasyAuth-fronted App Service.
Requires-Python: >=3.11
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Provides-Extra: deferred
Provides-Extra: dev
Provides-Extra: functions
Provides-Extra: hosted-skills
Provides-Extra: sar
Provides-Extra: teams
Requires-Dist: azure-functions (>=1.21) ; extra == "functions"
Requires-Dist: azure-identity (>=1.15) ; extra == "deferred"
Requires-Dist: azure-identity (>=1.15) ; extra == "teams"
Requires-Dist: azure-storage-blob (>=12.19) ; extra == "deferred"
Requires-Dist: azurefunctions-agents-runtime (>=0.1.0b16,<0.1.0b17) ; extra == "hosted-skills"
Requires-Dist: azurefunctions-agents-runtime (>=0.1.0b16,<0.1.0b17) ; extra == "sar"
Requires-Dist: pytest (>=8.0) ; extra == "dev"
Description-Content-Type: text/markdown

# App Service Custom AI Middleware

Python middleware and tools for AI agents hosted behind Azure App Service
Authentication and App Service Hooks.

## Install

```bash
pip install aw-appservice-custom-ai-middleware-extension
```

The distribution name is `aw-appservice-custom-ai-middleware-extension`. The
stable Python import remains:

```python
import app_service_extensions as ase
```

For Azure Functions:

```bash
pip install "aw-appservice-custom-ai-middleware-extension[functions]"
```

For Azure Functions hosted skills:

```bash
pip install "aw-appservice-custom-ai-middleware-extension[hosted-skills]"
```

The hosted-skills integration patches runtime seams that are not yet public API.
Its dependency range is intentionally narrow and is expanded only after the
integration suite passes against a new runtime release.

## Azure Functions

Configure the middleware before creating the hosted-skills app, then attach it
to the generated Function app:

```python
import app_service_extensions as ase
from azure_functions_agents import create_function_app

ase.configure()
app = create_function_app()
ase.configure(app)
```

The package preserves App Service caller identity and the opaque
`X-MS-Hook-Invocation` recursion chain for same-site callbacks. It does not
send those credentials to third-party MCP servers.

