@namera-ai/protocol
v1.0.2
Published
Runtime schemas, DTOs, models, and typed errors for the Namera API.
Maintainers
Readme
@namera-ai/protocol
Runtime schemas and TypeScript types for Namera wallets, session keys, transactions, signatures, and API messages. Validate input and encode wire data using the same Effect schemas as the backend, without importing server code.
Installation
Requires Node.js 24.14+ for Node applications, or a modern browser bundler. Examples use the matching Effect 4 release candidate.
npm install @namera-ai/protocol [email protected]
pnpm add @namera-ai/protocol [email protected]
yarn add @namera-ai/protocol [email protected]
bun add @namera-ai/protocol [email protected]Choose one command.
Validate and normalize input
import { Schema } from "effect";
import { Email } from "@namera-ai/protocol";
const email = Schema.decodeUnknownSync(Email)(" [email protected] ");
console.log(email); // [email protected]Invalid input throws a schema error. Use Schema.decodeUnknownEffect when
validation belongs in an Effect workflow.
Encode an API request
import { Schema } from "effect";
import { JoinWaitlistRequest } from "@namera-ai/protocol/dto";
type Input = typeof JoinWaitlistRequest.Encoded;
type Request = typeof JoinWaitlistRequest.Type;
const input: Input = { email: "[email protected]" };
const request: Request = Schema.decodeUnknownSync(JoinWaitlistRequest)(input);
const json = JSON.stringify(Schema.encodeSync(JoinWaitlistRequest)(request));Use .Encoded for wire shapes and .Type for decoded values. Schemas can
transform dates and amounts, so use schema encoding before serializing.
Import paths
| Import | Contents |
| --------------------------- | -------------------------------------------------------- |
| @namera-ai/protocol | Shared primitives, branded identities, typed errors |
| @namera-ai/protocol/dto | API request and response schemas |
| @namera-ai/protocol/evm | Chain identifiers, EVM calls, permissions and signatures |
| @namera-ai/protocol/model | Domain and persistence models |
| @namera-ai/protocol/local | Local signer bindings and encrypted key exports |
Prefer DTOs for HTTP payloads: persistence models may contain sensitive fields. Local key-material schemas belong only in trusted client code, never in logs, analytics, or server payloads.
Schemas validate structure, not authorization, installation, or signature validity. Use the SDK for API operations. API, protocol, SDK and CLI share a version starting with 1.0.0. Contributor architecture.
