acp_sdk.server.server module

class acp_sdk.server.server.Server[source]

Bases: object

__init__()[source]
Return type:

None

agent(name=None, description=None, *, metadata=None)[source]

Decorator to register an agent.

Parameters:
  • name (str | None)

  • description (str | None)

  • metadata (Metadata | None)

Return type:

Callable

lifespan(app)[source]
Parameters:

app (FastAPI)

Return type:

AsyncGenerator[None]

register(*agents)[source]
Parameters:

agents (AgentManifest)

Return type:

None

run(*, configure_logger=True, configure_telemetry=False, self_registration=True, store=None, resource_store=None, resource_loader=None, host='127.0.0.1', port=8000, uds=None, fd=None, loop='auto', http='auto', ws='auto', ws_max_size=16777216, ws_max_queue=32, ws_ping_interval=20.0, ws_ping_timeout=20.0, ws_per_message_deflate=True, lifespan='auto', env_file=None, log_config={'disable_existing_loggers': False, 'formatters': {'access': {'()': 'uvicorn.logging.AccessFormatter', 'fmt': '%(levelprefix)s %(client_addr)s - "%(request_line)s" %(status_code)s'}, 'default': {'()': 'uvicorn.logging.DefaultFormatter', 'fmt': '%(levelprefix)s %(message)s', 'use_colors': None}}, 'handlers': {'access': {'class': 'logging.StreamHandler', 'formatter': 'access', 'stream': 'ext://sys.stdout'}, 'default': {'class': 'logging.StreamHandler', 'formatter': 'default', 'stream': 'ext://sys.stderr'}}, 'loggers': {'uvicorn': {'handlers': ['default'], 'level': 'INFO', 'propagate': False}, 'uvicorn.access': {'handlers': ['access'], 'level': 'INFO', 'propagate': False}, 'uvicorn.error': {'level': 'INFO'}}, 'version': 1}, log_level=None, access_log=True, use_colors=None, interface='auto', reload=False, reload_dirs=None, reload_delay=0.25, reload_includes=None, reload_excludes=None, workers=None, proxy_headers=True, server_header=True, date_header=True, forwarded_allow_ips=None, root_path='', limit_concurrency=None, limit_max_requests=None, backlog=2048, timeout_keep_alive=5, timeout_notify=30, timeout_graceful_shutdown=None, callback_notify=None, ssl_keyfile=None, ssl_certfile=None, ssl_keyfile_password=None, ssl_version=_SSLMethod.PROTOCOL_TLS_SERVER, ssl_cert_reqs=VerifyMode.CERT_NONE, ssl_ca_certs=None, ssl_ciphers='TLSv1', headers=None, factory=False, h11_max_incomplete_event_size=None)[source]
Parameters:
  • configure_logger (bool)

  • configure_telemetry (bool)

  • self_registration (bool)

  • store (Store | None)

  • resource_store (ResourceStore | None)

  • resource_loader (ResourceLoader | None)

  • host (str)

  • port (int)

  • uds (str | None)

  • fd (int | None)

  • loop (Literal['none', 'auto', 'asyncio', 'uvloop'])

  • http (type[Protocol] | Literal['auto', 'h11', 'httptools'])

  • ws (type[Protocol] | Literal['auto', 'none', 'websockets', 'wsproto'])

  • ws_max_size (int)

  • ws_max_queue (int)

  • ws_ping_interval (float | None)

  • ws_ping_timeout (float | None)

  • ws_per_message_deflate (bool)

  • lifespan (Literal['auto', 'on', 'off'])

  • env_file (str | PathLike[str] | None)

  • log_config (dict[str, Any] | str | RawConfigParser | IO[Any] | None)

  • log_level (str | int | None)

  • access_log (bool)

  • use_colors (bool | None)

  • interface (Literal['auto', 'asgi3', 'asgi2', 'wsgi'])

  • reload (bool)

  • reload_dirs (list[str] | str | None)

  • reload_delay (float)

  • reload_includes (list[str] | str | None)

  • reload_excludes (list[str] | str | None)

  • workers (int | None)

  • proxy_headers (bool)

  • server_header (bool)

  • date_header (bool)

  • forwarded_allow_ips (list[str] | str | None)

  • root_path (str)

  • limit_concurrency (int | None)

  • limit_max_requests (int | None)

  • backlog (int)

  • timeout_keep_alive (int)

  • timeout_notify (int)

  • timeout_graceful_shutdown (int | None)

  • callback_notify (Callable[[...], Awaitable[None]] | None)

  • ssl_keyfile (str | PathLike[str] | None)

  • ssl_certfile (str | PathLike[str] | None)

  • ssl_keyfile_password (str | None)

  • ssl_version (int)

  • ssl_cert_reqs (int)

  • ssl_ca_certs (str | None)

  • ssl_ciphers (str)

  • headers (list[tuple[str, str]] | None)

  • factory (bool)

  • h11_max_incomplete_event_size (int | None)

Return type:

None

async serve(*, configure_logger=True, configure_telemetry=False, self_registration=True, store=None, resource_store=None, resource_loader=None, host='127.0.0.1', port=8000, uds=None, fd=None, loop='auto', http='auto', ws='auto', ws_max_size=16777216, ws_max_queue=32, ws_ping_interval=20.0, ws_ping_timeout=20.0, ws_per_message_deflate=True, lifespan='auto', env_file=None, log_config={'disable_existing_loggers': False, 'formatters': {'access': {'()': 'uvicorn.logging.AccessFormatter', 'fmt': '%(levelprefix)s %(client_addr)s - "%(request_line)s" %(status_code)s'}, 'default': {'()': 'uvicorn.logging.DefaultFormatter', 'fmt': '%(levelprefix)s %(message)s', 'use_colors': None}}, 'handlers': {'access': {'class': 'logging.StreamHandler', 'formatter': 'access', 'stream': 'ext://sys.stdout'}, 'default': {'class': 'logging.StreamHandler', 'formatter': 'default', 'stream': 'ext://sys.stderr'}}, 'loggers': {'uvicorn': {'handlers': ['default'], 'level': 'INFO', 'propagate': False}, 'uvicorn.access': {'handlers': ['access'], 'level': 'INFO', 'propagate': False}, 'uvicorn.error': {'level': 'INFO'}}, 'version': 1}, log_level=None, access_log=True, use_colors=None, interface='auto', reload=False, reload_dirs=None, reload_delay=0.25, reload_includes=None, reload_excludes=None, workers=None, proxy_headers=True, server_header=True, date_header=True, forwarded_allow_ips=None, root_path='', limit_concurrency=None, limit_max_requests=None, backlog=2048, timeout_keep_alive=5, timeout_notify=30, timeout_graceful_shutdown=None, callback_notify=None, ssl_keyfile=None, ssl_certfile=None, ssl_keyfile_password=None, ssl_version=_SSLMethod.PROTOCOL_TLS_SERVER, ssl_cert_reqs=VerifyMode.CERT_NONE, ssl_ca_certs=None, ssl_ciphers='TLSv1', headers=None, factory=False, h11_max_incomplete_event_size=None)[source]
Parameters:
  • configure_logger (bool)

  • configure_telemetry (bool)

  • self_registration (bool)

  • store (Store | None)

  • resource_store (ResourceStore | None)

  • resource_loader (ResourceLoader | None)

  • host (str)

  • port (int)

  • uds (str | None)

  • fd (int | None)

  • loop (Literal['none', 'auto', 'asyncio', 'uvloop'])

  • http (type[Protocol] | Literal['auto', 'h11', 'httptools'])

  • ws (type[Protocol] | Literal['auto', 'none', 'websockets', 'wsproto'])

  • ws_max_size (int)

  • ws_max_queue (int)

  • ws_ping_interval (float | None)

  • ws_ping_timeout (float | None)

  • ws_per_message_deflate (bool)

  • lifespan (Literal['auto', 'on', 'off'])

  • env_file (str | PathLike[str] | None)

  • log_config (dict[str, Any] | str | RawConfigParser | IO[Any] | None)

  • log_level (str | int | None)

  • access_log (bool)

  • use_colors (bool | None)

  • interface (Literal['auto', 'asgi3', 'asgi2', 'wsgi'])

  • reload (bool)

  • reload_dirs (list[str] | str | None)

  • reload_delay (float)

  • reload_includes (list[str] | str | None)

  • reload_excludes (list[str] | str | None)

  • workers (int | None)

  • proxy_headers (bool)

  • server_header (bool)

  • date_header (bool)

  • forwarded_allow_ips (list[str] | str | None)

  • root_path (str)

  • limit_concurrency (int | None)

  • limit_max_requests (int | None)

  • backlog (int)

  • timeout_keep_alive (int)

  • timeout_notify (int)

  • timeout_graceful_shutdown (int | None)

  • callback_notify (Callable[[...], Awaitable[None]] | None)

  • ssl_keyfile (str | PathLike[str] | None)

  • ssl_certfile (str | PathLike[str] | None)

  • ssl_keyfile_password (str | None)

  • ssl_version (int)

  • ssl_cert_reqs (int)

  • ssl_ca_certs (str | None)

  • ssl_ciphers (str)

  • headers (list[tuple[str, str]] | None)

  • factory (bool)

  • h11_max_incomplete_event_size (int | None)

Return type:

None

property should_exit: bool