ParmanaClient (typescript/src/client/ParmanaClient.ts) is a thin facade: it composes eight sub-APIs over a single Transport and exposes flat, top-level convenience methods. Its own doc comment is explicit about what it delegates rather than does itself: it does not evaluate policy, authorize execution, execute business logic, verify trust records, or replay executions — every one of those is delegated to the Runtime over HTTP.
Methods
| Method | Delegates to | REST endpoint |
|---|---|---|
health() | HealthApi.health() | GET /health |
execute(transaction) | ExecutionApi.execute() | POST /execute |
verify(businessTransactionId) | VerificationApi.verify() | GET /verification/:id |
replay(businessTransactionId) | ReplayApi.replay() | POST /replay |
receipt(businessTransactionId) | ReceiptApi.generate() | POST /receipt |
transaction(businessTransactionId) | TransactionApi.get() | GET /transactions/:id |
transactions(page?, pageSize?) | TransactionApi.list() | GET /transactions |
trustRecord(businessTransactionId) | TrustRecordApi.get() | GET /trust-records/:id |
validatePolicy(policy) | PolicyApi.validate() | POST /policies/validate |
Composition, not inheritance
ParmanaClient constructs one instance of each sub-API in its constructor, all sharing the same Transport:
ParmanaClient — see APIs — with one exception: PolicyApi is not part of the package’s public export list in typescript/src/index.ts (its export line is commented out: // export { PolicyApi } from "./client/PolicyApi.js";). It’s still fully usable through client.validatePolicy(), since ParmanaClient imports it directly, but you cannot import { PolicyApi } from "parmana" and construct one standalone.
Related
Installation
Configuration and transport setup.
APIs
Each sub-API in detail.
Models
The domain types these methods accept and return.
Basic Execution Guide
A full
execute → verify → receipt walkthrough.