
Security News
GPT-6 Astra Attempts Supply Chain Attacks Against Open Source Maintainers in Testing
GPT-6 Astra hits 100% on ExploitBench and finds zero-days autonomously, while independent tests reveal scope violations and monitoring gaps.
@postio/core
Advanced tools
Runtime-agnostic typed client for the Postio API (Workers / Node / Bun / Deno / browser).
Runtime-agnostic typed client for the Postio API — UK address, email, and phone validation.
Works in Node 20+, modern browsers, Cloudflare Workers, Deno, and Bun.
Uses the platform's native fetch. Returns the API envelope unchanged
so you can hand it straight to your own UI or storage layer.
npm install @postio/core
import { Postio } from "@postio/core";
const postio = new Postio({ apiKey: process.env.POSTIO_API_KEY! });
const search = await postio.address.search("57 wimpole");
// { success: true, results: [{ udprn, suggestion }, …], meta: { requestId, … } }
const full = await postio.address.udprn(search.results[0]!.udprn);
const byPostcode = await postio.address.postcode("W1G 8YW");
const email = await postio.email.validate("alice@postio.co.uk");
const phone = await postio.phone.validate("+447700900123");
// Free key/health probe — useful as an input-focus warm-up.
await postio.connect();
new Postio({
apiKey: "pk_live_…",
baseUrl: "https://api.postio.co.uk/v1", // default
timeoutMs: 10_000, // default
fetch: customFetch, // override (e.g. tests, proxy)
headers: { "x-correlation-id": "…" }, // merged into every request
});
Per-request you can pass an AbortSignal:
const ctrl = new AbortController();
const p = postio.address.search("brid", { signal: ctrl.signal });
ctrl.abort(); // throws PostioError with code: "request_aborted"
Anything non-2xx, network failure, abort, or parse error throws a
PostioError. The original API envelope is attached when the server
returned one.
import { Postio, PostioError } from "@postio/core";
try {
await postio.address.udprn(99999999);
} catch (err) {
if (err instanceof PostioError) {
err.status; // 404
err.code; // "udprn_not_found"
err.requestId; // server-side correlation id
err.envelope; // raw { success: false, error, results: [], meta }
}
}
PostioError.code for transport-level failures: request_timeout,
request_aborted, network_error, parse_error,
unexpected_content_type.
Every method returns the envelope shape from the OpenAPI spec —
{ success, results, meta }. Re-exported from
@postio/api-types:
import type { Address, EmailResult, PhoneResult, AddressSearchResult } from "@postio/core";
pnpm install
pnpm build
MIT.
FAQs
Runtime-agnostic typed client for the Postio API (Workers / Node / Bun / Deno / browser).
The npm package @postio/core receives a total of 14 weekly downloads. As such, @postio/core popularity was classified as not popular.
We found that @postio/core demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
GPT-6 Astra hits 100% on ExploitBench and finds zero-days autonomously, while independent tests reveal scope violations and monitoring gaps.

Product
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.

Security News
pnpm 12 rewrites the package manager in Rust, cutting install times by up to 90% while preserving pnpm 11 workflows and lockfiles.