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

@entente/types

v0.1.20

Published

Shared TypeScript types for Entente contract testing

Readme

@entente/types

Shared TypeScript types and interfaces for the Entente contract testing platform. This package implements the core data structures defined in the ContractFlow specification for schema-first contract testing.

Overview

This package provides all the TypeScript interfaces needed across the Entente ecosystem, ensuring type safety and consistency between consumer testing, provider verification, fixture management, and the central service.

Key Types

Core Contract Types

  • ClientInteraction - Records of real consumer-provider interactions
  • VerificationTask - Tasks for provider verification against recorded interactions
  • VerificationResults - Results from provider verification runs

Fixture Management Types

  • Fixture - Approved test data with metadata and approval workflow
  • FixtureProposal - New fixture proposals from test runs
  • FixtureUpdate - Updates to existing fixtures
  • FixtureData - Request/response/state data within fixtures

OpenAPI & Specs

  • OpenAPISpec - OpenAPI specification structure
  • SpecMetadata - Metadata for uploaded specifications

Deployment Tracking

  • DeploymentState - Service deployment state across environments
  • ActiveVersion - Currently active service versions per environment

Configuration Types

  • ClientConfig - Configuration for consumer testing
  • ProviderConfig - Configuration for provider verification
  • MockOptions - Options for mock server creation

Core Philosophy Implementation

The types reflect ContractFlow's core principles:

  • Schema-First Always: OpenAPI specs are the single source of truth
  • Centralized Contract Management: All interactions flow through central service
  • Automatic Recording: Client interactions captured transparently in CI
  • Provider Verification: Real-world usage drives verification
  • Deployment Awareness: Only test against active versions
  • CI-Only Recording: Local tests fast, CI builds contribute data

Usage

import type { 
  ClientInteraction, 
  Fixture, 
  OpenAPISpec,
  DeploymentState 
} from '@entente/types'

// Use in consumer testing
const interaction: ClientInteraction = {
  id: 'int_123',
  service: 'order-service',
  serviceVersion: '2.1.0',
  consumer: 'web-app',
  consumerVersion: '1.0.0',
  environment: 'test',
  operation: 'getOrder',
  request: { method: 'GET', path: '/orders/123', headers: {} },
  response: { status: 200, headers: {}, body: { id: '123' } },
  timestamp: new Date(),
  duration: 150,
  clientInfo: { library: '@entente/consumer', version: '0.1.0' }
}

Implementation Status

✅ Complete

  • All core interfaces from ContractFlow specification
  • Type-safe HTTP request/response structures
  • Comprehensive fixture lifecycle types
  • Configuration types for all packages
  • OpenAPI integration types

🔄 In Progress

  • None - types package is feature complete

❌ TODO

  • Additional utility types as other packages evolve
  • Branded types for IDs to prevent mixing
  • More specific OpenAPI operation types

Development

# Build types
pnpm build

# Watch for changes
pnpm dev

# Run type checking
pnpm test

Dependencies

This package has no runtime dependencies and only dev dependencies for TypeScript compilation. It serves as the foundation for type safety across the entire Entente platform.