MEAL
SDKs
Rust, TypeScript and HTTP for MEAL.
Every operation on MEAL is reachable from every shipped SDK plus the raw HTTP wire.
Rust
use map_sdk::Client;
use serde_json::json;
let client = Client::from_env()?;
let resp = client
.dispatch(
"MEAL",
"v1.0.0",
"meter",
json!({
"dim": "tokens",
"amount": 1024
}),
)
.await?;
println!("{:#?}", resp);TypeScript
import { MapClient } from '@l1fe/map';
const map = new MapClient({
apiKey: process.env.MAP_API_KEY!,
agentDid: process.env.MAP_AGENT_DID!,
tenantId: 'org_acme'
});
const resp = await map.dispatch({
protocol: 'MEAL',
version: 'v1.0.0',
operation: 'meter',
input: {
"dim": "tokens",
"amount": 1024
}
});HTTP wire
POST /v1/dispatch HTTP/2
Host: api.multiagentic.dev
Authorization: Bearer $MAP_API_KEY
X-Agent-Did: $MAP_AGENT_DID
X-Tenant-Id: org_acme
Content-Type: application/json
{
"protocol": "MEAL",
"version": "v1.0.0",
"operation": "meter",
"input": {
"dim": "tokens",
"amount": 1024
},
"tenant_id": "org_acme"
}All operations
map.dispatch(...)with operation"meter"— Record a metered event (tokens, seconds, watts) against caller account.map.dispatch(...)with operation"statement"— Generate a statement for an account over a period.map.dispatch(...)with operation"reconcile"— Reconcile metered events against settled payments; reports unbalances.
See SDKs for client construction, retry, trace propagation.