@ambiten/adapter-graphql
v1.0.0
Published
Ambiten adapter for GraphQL
Readme
Overview
@ambiten/adapter-graphql connects GraphQL execution to the Ambiten runtime.
The adapter establishes execution boundaries for queries, mutations, and subscriptions so runtime context remains available throughout resolver execution. Tenant information, request metadata, transactions, logging, instrumentation, and runtime services can then participate consistently across GraphQL operations.
The adapter does not replace GraphQL. It allows GraphQL execution to participate fully in the Ambiten runtime model.
Installation
npm install @ambiten/adapter-graphqlIf you are starting a new application, installing the core runtime is also recommended:
npm install @ambiten/core @ambiten/adapter-graphqlQuick Start
import {
AmbitenBootstrapFactory
} from "@ambiten/core";
import {
createGraphQLAdapter
} from "@ambiten/adapter-graphql";
const adapter = createGraphQLAdapter();
const bootstrap =
await AmbitenBootstrapFactory.create({
adapter
});Once installed, GraphQL operations automatically participate in the Ambiten execution model.
What the Adapter Provides
The adapter acts as the bridge between GraphQL execution and the runtime.
It can establish request-scoped context, initialize tenant boundaries, propagate request metadata, participate in transaction-aware execution flows, and expose runtime state to resolvers, services, and models.
This allows resolver code to remain focused on business logic while execution concerns remain coordinated by the runtime.
Runtime Flow
GraphQL Request
↓
GraphQL Adapter
↓
AmbitenContext
↓
Resolvers
↓
Models & Services
↓
MongoDBThe adapter creates the execution boundary. The runtime then carries execution state throughout the remainder of the operation lifecycle.
Resolver Context
GraphQL applications often require execution state to flow across multiple resolver layers.
The adapter automatically makes runtime context available throughout resolver execution so tenant information, request metadata, transactions, logging, and instrumentation remain consistent regardless of how deeply nested a resolver chain becomes.
Query
↓
Resolver
↓
Nested Resolver
↓
Service
↓
ModelExecution context remains attached throughout the entire flow.
Multi-Tenancy
When multi-tenancy is enabled, tenant information can be resolved during GraphQL execution and made available throughout the active runtime context.
GraphQL Request
↓
Tenant Resolution
↓
AmbitenContext
↓
Tenant-Aware ExecutionThis allows models and services to operate against the correct tenant boundary without manually passing tenant identifiers between resolvers.
Subscriptions
The adapter also supports runtime-aware subscription execution.
Subscription events can participate in the same execution model used by queries and mutations, allowing tenant information, instrumentation, logging, and runtime metadata to remain consistent across real-time GraphQL workflows.
Documentation
Complete documentation is available at:
https://ambiten.dev
Related Packages
@ambiten/core@ambiten/logger@ambiten/create
License
MIT
