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 déclarationsSELECT 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 · 35 affichés

@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
Votre vue

Make room for your context.

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

Votre contexte

The different parts of you

Choose a starting point

Un mélange utile de contexte, de visuels et de guidage discret.

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

Confort de lecture

Choisir votre langue

La langue de l’interface change uniquement le texte. Les marchés, les prix et les parcours conservent leurs propres paramètres.

Couverture des traductions

Une partie du contenu est affichée en anglais.

Navigation151
Graphe616
Catégories378
Portfolio833
Exemples2 035
Aperçu de la source1 542

D’autres traductions seront ajoutées à mesure que le contenu sera relu.

Cette préférence est enregistrée dans ce navigateur.

Rechercher sur le site

Des points de départ utiles

Aucun résultat. Essayez une expression plus courte, un nom d’opération ou un autre périmètre de recherche.

UN PEU DE PLACE POUR EXPLORER

Trouvez quelque chose à explorer.

Ouvrez un aperçu détaillé sur cette page, essayez une autre perspective ou suivez le détail vers sa propre page.

Fonctionnement des aperçus et des commandes
01

Regarder avant de partir

Survolez un lien ou sélectionnez-le avec Tab pour voir un aperçu. Cliquer sur le lien d’origine ou appuyer sur Entrée ouvre toujours sa destination.

02

Rester dans le contexte

Entrez dans l’aperçu pour explorer ses sections. Depuis un lien sélectionné, utilisez Alt + ↓ pour y entrer au clavier. Échap le ferme.

03

Ouvrir les possibilités

Les lignes dépliables, les choix de perspective et les commandes mises en évidence révèlent davantage. Votre vue adapte le confort de lecture et le contexte exploré.

Un bouton séparé pour voir de plus près

Affichez de petits boutons d’aperçu à côté des liens quand l’espace le permet. Touchez l’œil pour examiner ou le lien pour y aller directement. Ce choix reste dans cet onglet.

Aucun historique de navigation n’est collecté. La réduction des animations suit votre appareil et Votre vue.