JSPM

@aisar-labs/zeptoclaw-sea-shared

0.1.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 93
  • Score
    100M100P100Q73648F
  • License MIT

Shared auth utilities for ZeptoClaw SEA MCP servers

Package Exports

  • @aisar-labs/zeptoclaw-sea-shared
  • @aisar-labs/zeptoclaw-sea-shared/build/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@aisar-labs/zeptoclaw-sea-shared) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@aisar-labs/zeptoclaw-sea-shared

Shared auth and utility package for all ZeptoClaw SEA MCP servers.

This is not an MCP server -- it is a shared library used by all @aisar-labs/*-mcp packages.

Install

npm install @aisar-labs/zeptoclaw-sea-shared

Exports

Auth Helpers

  • basicAuthHeader(username, password) -- Build Basic auth header
  • apiKeyHeader(key, headerName?) -- Build API key header
  • OAuth2Client -- OAuth 2.0 client with token refresh

Webhook Verification

  • hmacSha256(secret, payload) -- Compute HMAC-SHA256
  • verifyWebhookSignature(secret, payload, signature) -- Verify webhook HMAC signature
  • verifyHmacWebhook(secret, payload, signature, algorithm?) -- Verify HMAC webhook (configurable algorithm)
  • verifyHashWebhook(payload, expectedHash, algorithm?) -- Verify hash-based webhook
  • verifyStripeWebhook(secret, payload, signatureHeader) -- Verify Stripe webhook signature
  • verifyBillplzCallback(secret, params) -- Verify Billplz callback
  • verifyMoMoIpn(secret, params) -- Verify MoMo IPN signature
  • verifyQrPaymentCallback(secret, params) -- Verify QR payment callback
  • parseWebhookPayload(body, contentType?) -- Parse webhook body (JSON or form)

HTTP Utilities

  • fetchWithRetry(url, options, retryConfig?) -- Fetch with exponential backoff
  • RateLimiter -- Token bucket rate limiter
  • calculateBackoff(attempt, baseMs?, maxMs?) -- Calculate exponential backoff delay

MCP Helpers

  • toolResult(content) -- Format successful tool result
  • toolError(message) -- Format tool error result
  • apiError(status, message) -- Create API error with status code

Usage

Auth Headers

import { basicAuthHeader, apiKeyHeader } from "@aisar-labs/zeptoclaw-sea-shared";

const headers = {
  Authorization: basicAuthHeader("user", "pass"),
};

const apiHeaders = {
  ...apiKeyHeader("sk-abc123", "X-API-Key"),
};

Webhook Verification

import { verifyWebhookSignature } from "@aisar-labs/zeptoclaw-sea-shared";

const isValid = verifyWebhookSignature(
  process.env.WEBHOOK_SECRET,
  rawBody,
  signatureHeader
);

Fetch with Retry

import { fetchWithRetry } from "@aisar-labs/zeptoclaw-sea-shared";

const response = await fetchWithRetry("https://api.example.com/data", {
  headers: { Authorization: "Bearer token" },
}, { maxRetries: 3, baseDelayMs: 1000 });

Tool Results

import { toolResult, toolError } from "@aisar-labs/zeptoclaw-sea-shared";

// In a tool handler
if (success) {
  return toolResult({ orderId: "123", status: "created" });
} else {
  return toolError("Order creation failed: insufficient stock");
}

License

MIT