integrationPackage manifestv2.0.4

integration.lssm-os-provider-supabase

Supabase provider execution adapter for LSSM OS.

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

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

Package source ↗ Manifest ↗
serverbunnode
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.lssm-os-provider-supabaseintegrations

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

2 declarationsSELECT TO INSPECT

@lssm-tech/integration.lssm-os-provider-supabase

Authoritative Supabase adapter for the LSSM OS ProviderExecutionPort. It binds provider-neutral plans to injected management and database drivers and never reads credentials or calls Supabase directly.

The ./runtime-node export directly implements ProviderLifecyclePortV1 over closed, secret-free, digest-bound V2 commands. It reserves the exact execution fence before an effect, routes Postgres/Queues/Cron commands to the database driver and other product commands to the management driver, persists an exact V2 receipt, and replays only independently verified durable receipts. It does not load or call the legacy ProviderExecutionPort.

Management API access tokens and database credentials remain outside commands, receipts, errors, and durable state. The injected driver owns current Supabase API details and OAuth scopes. Database migrations that expect Data API access must explicitly grant the intended roles and enable matching RLS; new tables must not rely on historical automatic exposure defaults. Timed-out mutations are aborted and retained in indeterminate custody before any redelivery.

The v0 discovery/import surface covers projects, Postgres, Auth, Storage, Realtime, Edge Functions, Queues, and Cron. Every family needs explicit terminal completion evidence. Usage/billing is represented as actual, estimated, or unavailable with evidence and limitations.

Execution is reserved before effects in a durable store. Reservations bind the tenant scope, owner, lease expiry, fencing token, current step, effect digest, authorization attestation, observations, result, and receipt. Expired work can be taken over atomically; a resource-scoped high-water fence survives completion. Uncertain effects persist as indeterminate for reconciliation and never emit an unverifiable receipt. Compensation and decommission fail closed without an exact trusted prior effect and verified pre/post observations.

Each provider mutation is preceded by an atomic durable attempt marker that binds its provider idempotency key and exact mutation digest. If receipt completion cannot be confirmed, retry performs read-only reconciliation from that marker and never submits the mutation again. Deterministic delete or compensation precondition failures use a typed no_effect attempt marker with the exact failure resolution. The externally signed terminal record binds that marker, so retry replays the failure without provider reconciliation or mutation.

All discovery pages and their family-specific resources, driver results, observations, billing records, and webhook evidence are decoded into fresh allowlisted objects before aggregation, trust, or persistence. Durable operation and resource identities use the shared runtime scope encoding plus versioned code-point length-prefixed identifiers, so delimiters and Unicode cannot alias. Ambiguous legacy keys fail migration with an explicit error. Trusted clock, receipt, trust-record, attempt, lease, and stored-row timestamps must be real canonical UTC millisecond instants ending in Z; normalized offsets, date-only values, invalid dates, and future receipts fail closed. A separate private-row issuance anchor is signed by an injected external receipt authority and bound to the operation, resource, reservation, fence, attempt, receipt, and trust record. The database stores only the Ed25519 algorithm, key reference, and signature; no signing key or recomputable row-local seal.

migrations/0001_execution_state.sql is transactional, repeatable, upgrade-safe, and tested on PGlite. It moves earlier public tables into the private lssm_os_provider_private schema, revokes Data API roles, enables RLS, indexes tenant policy paths, and supplies SELECT plus UPDATE USING/WITH CHECK policies. It forces RLS and grants a dedicated non-owner, non-BYPASSRLS runtime role; detectable owner or bypass-role composition is refused. Terminal rows are immutable and legacy completions without an external signature require review. Tenant identifiers are portable nonempty text, including non-UUID runtime identities. Only a trusted server-side migration-owner connection may use it; do not expose or grant this execution-authority schema to anon or authenticated.

The ./conformance export supplies the verifier-owned V0 offline target, and ./testing provides deterministic fakes. Passing offline conformance does not claim live Supabase qualification or production certification.

bun run test:node-package extracts the publish-ready adapter tarball into a clean temporary Node consumer and imports all four declared public subpaths through Node conditions, with external packages stubbed at their module boundary.

Release follow-up: this package-scoped change intentionally does not edit the repository-root .changeset directory. The repository release owner must add the paired changeset note and release capsule before publication.

Declared capabilities.

Integration Lssm Os Provider Supabase

Supabase provider execution adapter for LSSM OS.

Use it to

  • Adopt supabase provider execution adapter for lssm os

Requires

  • TypeScript

Choose another boundary when

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

@lssm-tech/integration.lssm-os-provider-supabase

@lssm-tech/integration.lssm-os-provider-supabase/conformance

@lssm-tech/integration.lssm-os-provider-supabase/runtime-node

@lssm-tech/integration.lssm-os-provider-supabase/postgres

@lssm-tech/integration.lssm-os-provider-supabase/testing

Imports and export paths.

40 entries

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

40 imports · showing 35

@lssm-tech/integration.lssm-os-provider-supabase
@lssm-tech/integration.lssm-os-provider-supabase/adapter
@lssm-tech/integration.lssm-os-provider-supabase/ports

Dependencies and related packages.

Runtime dependencies 2
Development dependencies 4
@electric-sql/pglite
catalog:data
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
cleanrimraf dist .turbo
lintbun run lint:fix
lint:checknode ../../../scripts/biome.cjs check .
lint:fixnode ../../../scripts/biome.cjs check --write .
testbun test
test:node-packagenode ./scripts/verify-node-package.mjs
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.