@aster-rpc/aster API Reference
    Preparing search index...

    @aster-rpc/aster API Reference

    @aster-rpc/aster -- Public API Reference

    Curated public surface of the Aster RPC framework, mirroring the Python aster.public module. This is the entry point used to generate the TypeScript API reference at /api/typescript/.

    In your code, import from @aster-rpc/aster directly, not from @aster-rpc/aster/public. This file exists only so the documentation pipeline has a focused, opinionated view of the user-facing surface (the full index.ts re-exports many internal types that are not intended for direct use).

    Producer (server):

    import { AsterServer, Service, Rpc, WireType } from '@aster-rpc/aster';

    @WireType("myapp/GreetRequest")
    class GreetRequest {
    name = "";
    constructor(init?: Partial<GreetRequest>) { if (init) Object.assign(this, init); }
    }

    @WireType("myapp/GreetResponse")
    class GreetResponse {
    message = "";
    constructor(init?: Partial<GreetResponse>) { if (init) Object.assign(this, init); }
    }

    @Service({ name: "Greeter", version: 1 })
    class Greeter {
    @Rpc({ request: GreetRequest, response: GreetResponse })
    async greet(req: GreetRequest): Promise<GreetResponse> {
    return new GreetResponse({ message: `Hello, ${req.name}!` });
    }
    }

    const server = new AsterServer({ services: [new Greeter()] });
    await server.start();
    console.log(server.address); // share this with consumers
    await server.serve();

    Consumer (client):

    import { AsterClientWrapper } from '@aster-rpc/aster';

    const client = new AsterClientWrapper({ address: "aster1..." });
    await client.connect();

    // Dynamic proxy: speaks JSON, no local types needed
    const greeter = client.proxy("Greeter");
    const reply = await greeter.greet({ name: "World" });
    console.log(reply.message);

    await client.close();

    Server and Client

    AsterConfig
    AdmissionDeniedError
    AsterServerOptions
    AsterServer
    AsterClientOptions
    AsterClientWrapper
    ProxyClient

    Decorators

    ServiceOptions
    Service
    Rpc
    ServerStream
    ClientStream
    BidiStream
    WireTypeOptions
    WireType

    Authorization

    anyOf
    allOf

    Serialization

    SerializationMode
    SerializationMode
    ExponentialBackoff
    RetryPolicy

    Errors

    StatusCode
    StatusCode
    statusName
    RpcError
    CancelledError
    UnknownRpcError
    InvalidArgumentError
    DeadlineExceededError
    NotFoundError
    AlreadyExistsError
    PermissionDeniedError
    ResourceExhaustedError
    FailedPreconditionError
    AbortedError
    OutOfRangeError
    UnimplementedError
    InternalError
    UnavailableError
    DataLossError
    UnauthenticatedError
    ContractViolationError

    Interceptors

    AuditLogFn
    AuditEntry
    AuditLogInterceptor
    AuthInterceptor
    CallContext
    Interceptor
    CapabilityInterceptor
    CircuitBreakerOptions
    CircuitBreakerInterceptor
    CompressionInterceptor
    DeadlineInterceptor
    MetricsInterceptor
    RateLimitOptions
    RateLimitInterceptor
    RetryInterceptor