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 declaracionesSELECT 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 importaciones · se muestran 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
Tu vista

Make room for your context.

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

Tu contexto

The different parts of you

Choose a starting point

Una mezcla útil de contexto, imágenes y orientación discreta.

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

Comodidad de lectura

Elige tu idioma

El idioma de la interfaz solo cambia el texto. Los mercados, precios y flujos de trabajo conservan sus propios ajustes.

Cobertura de traducción

Parte del contenido se muestra en inglés.

Navegación151
Grafo616
Categorías188
Portafolio332
Ejemplos2035
Vista previa de la fuente41

Se añadirán más traducciones a medida que se revise el contenido.

Esta preferencia se guarda en este navegador.

Buscar en el sitio web

Puntos de partida útiles

Sin resultados. Prueba una frase más corta, un nombre de operación u otro ámbito de búsqueda.

UN POCO DE ESPACIO PARA EXPLORAR

Encuentra algo que explorar.

Abre una vista detallada en esta página, prueba otra perspectiva o sigue el detalle a su propia página.

Cómo funcionan las vistas previas y los controles
01

Mirar antes de salir

Pasa el cursor por un enlace o enfócalo con Tab para ver una vista previa. Hacer clic en el enlace original o pulsar Intro siempre abre su destino.

02

Mantener el contexto

Entra en la vista previa para explorar sus secciones. Usa Alt + ↓ desde un enlace enfocado para entrar con el teclado. Escape la cierra.

03

Abrir las posibilidades

Las filas desplegables, las perspectivas y los controles destacados revelan más. Tu vista cambia la comodidad de lectura y el contexto que exploras.

Un botón separado para mirar más de cerca

Muestra pequeños botones de vista previa junto a los enlaces donde haya espacio. Toca el ojo para inspeccionar o el enlace para ir directamente. Esta elección permanece en esta pestaña.

No se recoge historial de navegación. El movimiento reducido sigue tu dispositivo y Tu vista.