integrationPackage manifestv2.0.5

integration.provider-health

Health data provider implementations for ContractSpec.

@lssm-tech/integration.provider-health
Source, release and verification context

Source snapshot bcc79fcc · Declared package version 2.0.5. This page combines the checked-in package guide and manifest; commands and runtime behavior were not executed in this review.

Package source ↗ Manifest ↗
servernode
EXPLORE THE PACKAGE

See where this package fits.

Follow a declared connection, inspect an import, then open the source guide when you need the detail.

THIS PACKAGEintegration.provider-healthintegrations

Arrows point from a package to its direct dependency. Each count is derived from the captured manifests.

4 declarationsSELECT TO INSPECT

@lssm-tech/integration.provider-health

Website: https://contractspec.io

Health data provider implementations for ContractSpec.

Usage

Import the root entrypoint for the domain surface, or import a concrete implementation from the ./impls/* subpaths.

For a subject-bound PersonalOS health ledger, use ./strict. It exposes:

  • strict Strava, Oura, Garmin, and Fitbit adapter constructors over a caller-supplied transport port;
  • HealthKit and Health Connect native SDK port contracts, explicitly requiring host SDK installation and user authorization;
  • exact normalization that preserves provider provenance, units, timestamps, time zones, page references, and ambiguity for downstream quarantine;
  • SHA-256 HMAC webhook verification using constant-time comparison and fail-closed handling for absent credentials or signatures.

Strict adapters hold encrypted credential references only. The host transport resolves credentials transiently and owns retry, timeout, rate-limit, SDK, and network behavior. Raw provider records may be mapped in transit but must never be persisted, logged, returned in errors, or written to ledger state. Revocation and deletion effects are bound to the connection's credential reference, reject caller-supplied mismatches, and sanitize transport failures.

Production hosts should use the createObserved*LedgerAdapter constructors. Their observability port receives only a canonical event name, provider kind, operation, fixed 30-day content-free retention class, opaque HMAC trace reference, result, and allowlisted failure code. Subject, connection, consent, credential, cursor, record, raw payload, and upstream error values never cross that port. A durable begin receipt is required before provider I/O; unavailable observation therefore fails closed. Completion loss leaves the persisted begin record actionable without retrying a provider effect. The one-argument constructors remain compatibility surfaces and do not claim production observability qualification.

The historical ./impls/* entrypoints remain compatibility surfaces for prior consumers. They are not evidence of configured SDKs, credentials, or real native connectivity and should not be selected for the strict PersonalOS ledger path.

Compatibility

This package owns the health implementation slice split out of @lssm-tech/integration.providers-impls. The legacy package continues to re-export these subpaths for existing consumers.

Declared capabilities.

Integration Provider Health

Health data provider implementations for ContractSpec.

Use it to

  • Adopt health data provider implementations for contractspec

Requires

  • TypeScript

Choose another boundary when

  • The @lssm-tech/integration.provider-health package constraints do not match the target runtime or platform.

@lssm-tech/integration.provider-health

@lssm-tech/integration.provider-health/health

@lssm-tech/integration.provider-health/impls

@lssm-tech/integration.provider-health/impls/health-provider-factory

@lssm-tech/integration.provider-health/impls/health/base-health-provider

@lssm-tech/integration.provider-health/impls/health/hybrid-health-providers

@lssm-tech/integration.provider-health/impls/health/official-health-providers

@lssm-tech/integration.provider-health/impls/health/provider-event-normalizers

@lssm-tech/integration.provider-health/impls/health/provider-measurement-normalizers

@lssm-tech/integration.provider-health/impls/health/provider-normalizer-utils

@lssm-tech/integration.provider-health/impls/health/provider-normalizers

@lssm-tech/integration.provider-health/impls/health/providers

Imports and export paths.

20 entries

These are package-manifest entry points. Named symbols listed above come from the capability catalogue; this is not an exhaustive TypeScript symbol reference.

20 imports

Dependencies and related packages.

Runtime dependencies 4
Development dependencies 5
@electric-sql/pglite
catalog:data
@types/bun
catalog:types
typescript
catalog:

Package scripts.

Commands declared by this package. Review its setup requirements before running them; no command here was executed by this review.

buildcontractspec-bun-build build
build:bundlecontractspec-bun-build transpile
build:typescontractspec-bun-build types
devcontractspec-bun-build dev
cleanrimraf dist .turbo
lint:checknode ../../../scripts/biome.cjs check .
lint:fixnode ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .
testbun test
prebuildcontractspec-bun-build prebuild
typechecktsgo --noEmit
Your view

Make room for your context.

Shape the presentation around this moment. You can change it whenever you need.

Your context

The different parts of you

Choose a starting point

A useful mix of context, visuals and gentle guidance.

Tune each dimension
Each dimension can change independently. Product permissions and available actions stay unchanged.

Support the way you begin and return

Tune your support

Reading comfort

Choose your language

Interface language changes text only. Markets, prices and workflows keep their own settings.

Translation coverage

Original source

Navigation151
Graph616
Categories378
Portfolio833
Examples2,035
Source preview1,542

More translations will be added as content is reviewed.

This preference is saved on this browser.

Search the website

Useful starting points

No results. Try a shorter phrase, an operation name or another search area.

A LITTLE ROOM TO EXPLORE

Find something to explore.

Open a closer look on this page, try a different perspective, or follow the detail into its own page.

How previews and controls work
01

Look before you leave

Hover a link or focus it with Tab to see a preview. Clicking the original link or pressing Enter always opens its destination.

02

Stay with the context

Move into the preview to explore its sections. Use Alt + ↓ from a focused link to enter it with the keyboard. Escape closes it.

03

Open the possibilities

Disclosure rows, perspective choices and highlighted controls reveal more. Your view changes reading comfort and the context you explore.

A separate button for a closer look

Show small preview buttons beside links where there is room. Tap the eye to inspect, or tap the link to go straight there. This choice stays in this tab.

No browsing history is collected. Reduced motion follows your device and Your view.