integrationPackage manifestv2.1.4

integration.provider-analytics

Analytics provider implementations for ContractSpec.

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

Source snapshot bcc79fcc · Declared package version 2.1.4. 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-analyticsintegrations

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

6 declarationsSELECT TO INSPECT

@lssm-tech/integration.provider-analytics

Website: https://contractspec.io

Analytics provider implementations for ContractSpec.

Usage

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

PosthogLssmPorts is the canonical initial adapter for the vendor-neutral analytics, OTel observability, error-reporting, feature-flag, and experiment ports. It defaults to PostHog EU, supports US and explicit self-hosted profiles, uses tenant/workspace groups, disables implicit flag exposure events, and buffers capture behind bounded retries and a circuit breaker. Secret, prompt, body, webhook/MCP payload, and personal fields are removed by default. Tenant, workspace, and organization identifiers are omitted from event properties; configured PostHog group keys remain available only as project-scoped pseudonyms. Unknown-consent non-personal capture requires an explicit property or targeting-attribute allowlist, normalizes sensitive-key aliases with Unicode compatibility folding before redaction, and pseudonymizes feature-flag subject keys before the provider boundary.

Manual errors now use PostHog's canonical $exception_list and $exception_fingerprint fields without transmitting raw messages or stacks. Experiment allocations emit the canonical $feature_flag_called exposure event with $feature_flag and $feature_flag_response; the adapter no longer uses a legacy custom exposure event. PostHog remains an analysis projection and never satisfies Connect or promotion authority by itself.

Compatibility

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

Marketing warehouse reports

impls/posthog-marketing-reports implements the library-owned metric report source. Its authority callback validates actor/brand/campaign access, authoritative metric source and freshness policy, then supplies a project-bound PosthogAnalyticsReader query method and a qualified projection name. All request values use HogQL placeholders.

The projection must expose tenant_id, workspace_id, brand_id, campaign_ref, metric, grain, source, period_start, period_end and observation_json. The last column contains the complete MarketingObservation JSON contract, including attribution, currency, revision, coverage and evidence digest. Map native advertising imports into this versioned projection; preserve one owner per metric grain and source-event identity. Do not combine platform and first-party attribution in the same rows.

The reader rejects foreign scope, malformed rows, schema drift, explicit truncation and results above 10,000 rows. Split large reports into explicit qualified periods. Empty results remain missing in the reporting runtime. Installation-specific warehouse view creation, native-source mappings and live project qualification remain required.

HogQL constant binding follows the official query schema; this adapter reuses the existing query API reader and does not copy warehouse ingestion.

The pure-fetch PostHog client binds requests to its configured origin, rejects credential header overrides and redirects, and bounds response reads to 5 MB with a 30-second timeout. API errors expose status only; malformed success JSON fails instead of being returned as a typed result. HTTPS is required except for explicit loopback development.

Declared capabilities.

Integration Provider Analytics

Analytics provider implementations for ContractSpec.

Use it to

  • Adopt analytics provider implementations for contractspec

Requires

  • TypeScript

Choose another boundary when

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

@lssm-tech/integration.provider-analytics

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

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

@lssm-tech/integration.provider-analytics/impls/posthog

@lssm-tech/integration.provider-analytics/impls/posthog-fetch-client

@lssm-tech/integration.provider-analytics/impls/posthog-lssm-capture

@lssm-tech/integration.provider-analytics/impls/posthog-lssm-ports

@lssm-tech/integration.provider-analytics/impls/posthog-lssm-transport

@lssm-tech/integration.provider-analytics/impls/posthog-lssm-utils

@lssm-tech/integration.provider-analytics/impls/posthog-reader

@lssm-tech/integration.provider-analytics/impls/posthog-utils

Imports and export paths.

12 entries

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

12 imports

Dependencies and related packages.

Runtime dependencies 6
Development dependencies 5
@types/bun
catalog:types
posthog-node
catalog:integrations
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.