LangGraph API

LangGraph agent builders over the shared sqldbagent services.

sqldbagent.adapters.langgraph.agent.create_sqldbagent_agent(*, services, model, datasource_name, settings=None, schema_name=None, checkpointer=None, store=None, middleware=(), include_default_middleware=True, interrupt_before=None, interrupt_after=None, debug=False)[source]

Create a LangChain v1 agent compiled on LangGraph.

Parameters:
  • services (ServiceContainer) – Shared sqldbagent service container.

  • model (str | Any) – LangChain-compatible model instance or model identifier.

  • datasource_name (str) – Datasource identifier.

  • settings (AppSettings | None, default: None) – Optional application settings.

  • schema_name (str | None, default: None) – Optional schema focus.

  • checkpointer (Any | None, default: None) – Optional LangGraph checkpointer.

  • store (Any | None, default: None) – Optional LangGraph long-term memory store.

  • middleware (Sequence[Any], default: ()) – Optional additional LangChain middleware chain.

  • include_default_middleware (bool, default: True) – Whether to prepend sqldbagent’s default middleware.

  • interrupt_before (list[str] | None, default: None) – Optional LangGraph interrupt hook points.

  • interrupt_after (list[str] | None, default: None) – Optional LangGraph interrupt hook points.

  • debug (bool, default: False) – Whether LangGraph debug mode should be enabled.

Returns:

Compiled LangGraph agent.

Return type:

Any

sqldbagent.adapters.langgraph.agent.create_sync_postgres_checkpointed_agent(*, services, model, datasource_name, settings=None, schema_name=None, middleware=(), include_default_middleware=True, interrupt_before=None, interrupt_after=None, debug=False)[source]

Create a sync LangGraph agent with Postgres-backed checkpointing.

Parameters:
  • services (ServiceContainer) – Shared sqldbagent service container.

  • model (str | Any) – LangChain-compatible model instance or model identifier.

  • datasource_name (str) – Datasource identifier.

  • settings (AppSettings | None, default: None) – Optional application settings.

  • schema_name (str | None, default: None) – Optional schema focus.

  • middleware (Sequence[Any], default: ()) – Optional additional LangChain middleware chain.

  • include_default_middleware (bool, default: True) – Whether to prepend sqldbagent’s default middleware.

  • interrupt_before (list[str] | None, default: None) – Optional LangGraph interrupt hook points.

  • interrupt_after (list[str] | None, default: None) – Optional LangGraph interrupt hook points.

  • debug (bool, default: False) – Whether LangGraph debug mode should be enabled.

Yields:

Any – Compiled LangGraph agent.

Return type:

Iterator[Any]

sqldbagent.adapters.langgraph.agent.create_async_postgres_checkpointed_agent(*, services, model, datasource_name, settings=None, schema_name=None, middleware=(), include_default_middleware=True, interrupt_before=None, interrupt_after=None, debug=False)[source]

Create an async LangGraph agent with Postgres-backed checkpointing.

Parameters:
  • services (ServiceContainer) – Shared sqldbagent service container.

  • model (str | Any) – LangChain-compatible model instance or model identifier.

  • datasource_name (str) – Datasource identifier.

  • settings (AppSettings | None, default: None) – Optional application settings.

  • schema_name (str | None, default: None) – Optional schema focus.

  • middleware (Sequence[Any], default: ()) – Optional additional LangChain middleware chain.

  • include_default_middleware (bool, default: True) – Whether to prepend sqldbagent’s default middleware.

  • interrupt_before (list[str] | None, default: None) – Optional LangGraph interrupt hook points.

  • interrupt_after (list[str] | None, default: None) – Optional LangGraph interrupt hook points.

  • debug (bool, default: False) – Whether LangGraph debug mode should be enabled.

Yields:

Any – Compiled LangGraph agent.

Return type:

AsyncIterator[Any]

LangChain v1 middleware builders for sqldbagent agents.

sqldbagent.adapters.langgraph.middleware.create_sqldbagent_middleware(*, datasource_name, settings=None, schema_name=None, services=None)[source]

Build the default middleware stack for sqldbagent agents.

The middleware stack is where LangChain v1’s create_agent(...) contract becomes repo-specific. We use it for:

  • dynamic prompt injection from stored snapshots

  • bounded model and tool call loops

  • structured tool error responses instead of raw exceptions

Parameters:
  • datasource_name (str) – Datasource identifier.

  • settings (AppSettings | None, default: None) – Optional application settings.

  • schema_name (str | None, default: None) – Optional schema focus.

  • services (ServiceContainer | None, default: None)

Returns:

LangChain middleware instances in execution order.

Return type:

list[Any]

sqldbagent.adapters.langgraph.middleware.create_sqldbagent_state_middleware(*, datasource_name, settings=None, schema_name=None, services=None)[source]

Seed agent state with snapshot and dashboard-oriented context.

Parameters:
  • datasource_name (str) – Datasource identifier.

  • settings (AppSettings | None, default: None) – Optional application settings.

  • schema_name (str | None, default: None) – Optional schema focus.

  • services (ServiceContainer | None, default: None) – Optional shared services for first-run snapshot bootstrap.

Returns:

LangChain middleware instance created via @before_agent.

Return type:

Any

sqldbagent.adapters.langgraph.middleware.create_sqldbagent_dynamic_prompt_middleware(*, datasource_name, settings=None, schema_name=None)[source]

Create dynamic prompt middleware over stored snapshot context.

Parameters:
  • datasource_name (str) – Datasource identifier.

  • settings (AppSettings | None, default: None) – Optional application settings.

  • schema_name (str | None, default: None) – Optional schema focus.

Returns:

LangChain middleware instance created via @dynamic_prompt.

Return type:

Any

sqldbagent.adapters.langgraph.middleware.create_sqldbagent_tool_error_middleware()[source]

Create tool middleware that converts tool exceptions into ToolMessages.

Returns:

LangChain middleware instance created via @wrap_tool_call.

Return type:

Any

sqldbagent.adapters.langgraph.middleware.create_sqldbagent_tool_digest_middleware(*, settings=None)[source]

Create middleware that compresses tool-call outputs into digest state.

Parameters:

settings (AppSettings | None, default: None) – Optional application settings.

Returns:

LangChain middleware instance created via @after_agent.

Return type:

Any

sqldbagent.adapters.langgraph.middleware.create_sqldbagent_summarization_middleware(*, settings=None)[source]

Create context summarization middleware when configured.

Parameters:

settings (AppSettings | None, default: None) – Optional application settings.

Returns:

LangChain summarization middleware when configured.

Return type:

Any | None

LangSmith tracing helpers for LangGraph-backed surfaces.

sqldbagent.adapters.langgraph.observability.is_langsmith_tracing_enabled(settings=None)[source]

Return whether LangSmith tracing is enabled and configured.

Parameters:

settings (AppSettings | None, default: None) – Optional application settings.

Returns:

True when tracing is enabled and an API key is available.

Return type:

bool

sqldbagent.adapters.langgraph.observability.create_langsmith_client(settings=None)[source]

Create a LangSmith client when tracing is configured.

Parameters:

settings (AppSettings | None, default: None) – Optional application settings.

Returns:

LangSmith client instance, or None when tracing is disabled.

Return type:

Any | None

sqldbagent.adapters.langgraph.observability.build_langsmith_metadata(*, surface, datasource_name, schema_name=None, thread_id=None, operation=None)[source]

Build standard LangSmith trace metadata for sqldbagent surfaces.

Parameters:
  • surface (str) – Calling surface name such as dashboard or runtime.

  • datasource_name (str) – Datasource identifier for the active run.

  • schema_name (str | None, default: None) – Optional schema focus.

  • thread_id (str | None, default: None) – Optional thread identifier.

  • operation (str | None, default: None) – Optional operation label.

Returns:

Trace metadata payload.

Return type:

dict[str, Any]

sqldbagent.adapters.langgraph.observability.langsmith_tracing_context(*, settings=None, tags=(), metadata=None)[source]

Apply a LangSmith tracing context around a surface operation.

Parameters:
  • settings (AppSettings | None, default: None) – Optional application settings.

  • tags (Sequence[str], default: ()) – Additional trace tags for the active surface.

  • metadata (dict[str, Any] | None, default: None) – Optional metadata merged into the trace context.

Yields:

None – Control returns to the wrapped operation.

Return type:

Iterator[None]

Runtime Entry Point

The LangGraph runtime entrypoint used by langgraph.json lives in sqldbagent.adapters.langgraph.runtime. It intentionally exposes a module-level agent object for LangGraph CLI and SDK loading, so the docs keep that module descriptive rather than importing it through autodoc.