nat.plugins.a365.front_end.plugin#

Microsoft Agent 365 front-end plugin implementation.

Attributes#

Classes#

A365FrontEndPlugin

Microsoft Agent 365 front-end plugin.

Functions#

_run_until_stopped(→ None)

Block until cancelled or the process exits; used so tests can patch this hook.

_build_aiohttp_app(agent_app, connection_manager, adapter)

Build aiohttp application with JWT middleware and Bot Framework message route.

_start_aiohttp_site(→ None)

Start aiohttp AppRunner/TCPSite and idle until stopped.

Module Contents#

logger#
async _run_until_stopped() None#

Block until cancelled or the process exits; used so tests can patch this hook.

_build_aiohttp_app(agent_app, connection_manager, adapter)#

Build aiohttp application with JWT middleware and Bot Framework message route.

async _start_aiohttp_site(host: str, port: int, app) None#

Start aiohttp AppRunner/TCPSite and idle until stopped.

class A365FrontEndPlugin#

Bases: nat.builder.front_end.FrontEndBase[nat.plugins.a365.front_end.front_end_config.A365FrontEndConfig]

Microsoft Agent 365 front-end plugin.

This plugin integrates NAT workflows with Microsoft Agent 365 hosting framework, allowing workflows to receive and respond to notifications from Teams, Email, and Office 365.

async run() None#

Run the Microsoft Agent 365 server.

This method orchestrates the workflow lifecycle: 1. Imports and validates Microsoft Agents SDK dependencies 2. Configures logging 3. Builds NAT workflows and creates session managers 4. Delegates SDK setup to worker 5. Starts the Microsoft Agents SDK server 6. Handles cleanup on shutdown

_get_worker_instance() nat.plugins.a365.front_end.worker.A365FrontEndPluginWorker#

Instantiate the worker (default or runner_class override).

runner_class must be a dotted path pkg.module.ClassName (same pattern as MCP / A2A front-ends): last segment is the class, everything before is the module.