npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@openvtc/trust-tasks

v0.2.1

Published

Generated TypeScript bindings for the Trust Tasks framework registry.

Downloads

98

Readme

@openvtc/trust-tasks

Generated TypeScript bindings for the Trust Tasks framework registry.

Every spec under dtgwg-trust-tasks-tf/specs/ that defines a payload.schema.json is compiled — via scripts/build-ts-bindings.mjs (json-schema-to-typescript) — to a TypeScript module under src/<slug>/<version>/payload.ts, giving you a typed Payload and (where the spec defines one) Response interface for each Trust Task. The package's root index.ts re-exports every module under a stable name keyed by the spec slug.

The Rust counterpart is trust-tasks-rs; both crates are regenerated together so the Rust and TypeScript wire shapes stay byte-identical.

Install

npm install @openvtc/trust-tasks

Usage

import { AclGrant_v0_1, DidManagementDidRegister_v0_1 } from "@openvtc/trust-tasks";

// Compose a request payload, type-checked against the spec's
// payload.schema.json.
const grant: AclGrant_v0_1.Payload = {
  subject: "did:key:z6MkAlice",
  role: "admin",
  after: { /* … */ },
};

// Each module exports the Response sub-schema too when the spec
// defines one — the framework's #response fragment convention.
const reply: AclGrant_v0_1.Response = {
  entry: { /* … */ },
};

// did-management example.
const register: DidManagementDidRegister_v0_1.Payload = {
  path: "alice",
  method: "webvh",
  didData: "{\"versionId\":\"1-…\",…}",
};

For the full list of generated modules, see src/index.ts or the website index.

Module layout

Each spec lands at a stable path:

src/
├── acl/grant/0.1/payload.ts           // AclGrant_v0_1
├── auth/authenticate/0.1/payload.ts   // AuthAuthenticate_v0_1
├── did-management/did/register/0.1/
│   └── payload.ts                     // DidManagementDidRegister_v0_1
├── vault/proxy-login/0.1/payload.ts   // VaultProxyLogin_v0_1
└── …

Slug / separators in the URI map to directory boundaries; the exported name is generated by Pascal-casing the slug segments and appending _v<MAJOR>_<MINOR>. Multiple versions of the same spec land in sibling directories (0.1/, 1.0/, …) and export distinct names — there is no "latest" alias by design.

Validating payloads at runtime

This package ships TypeScript types only — it does not bundle a JSON-Schema validator. If you need runtime validation, fetch the payload.schema.json from https://trusttasks.org/spec/<slug>/<version> and feed it to ajv or any other Draft 2020-12 validator.

Versioning

The package version (MAJOR.MINOR.PATCH) tracks the framework spec's SPEC.md revision MAJOR.MINOR with the patch component bumped per published binding revision. A bump in any individual spec's MAJOR.MINOR ships as a new exported module name (e.g. AclGrant_v1_0 alongside AclGrant_v0_1); the package version itself only bumps when the binding-generation or re-exported surface changes.

The Rust crate trust-tasks-rs follows the same release cadence.

License

Apache-2.0. See LICENSE.md at the repo root.

Contributing

This package is generated, not authored by hand. To change the exported surface, add or modify a spec under specs/ in the dtgwg-trust-tasks-tf repo and run npm run build-ts-bindings from the repo root. The generator updates this package's src/ tree atomically. See CONTRIBUTING-SPECS.md for the spec authoring guide.