{ "name": "@suaveplan/e2e-foundation-stack-saga", "version": "0.1.0", "private": true, "description": "Stage-6 closure smoke for the Suaveplan API plugin foundation. Boots a `createTestHost`-backed Bun.serve listener that hosts a 3-step compensable saga split across two plugins (plugin-a/step-1, plugin-b/step-2, plugin-a/step-3) and an `api-2pc` coordinator wired to two participants on a real Postgres testcontainer (`max_prepared_transactions=8`). Playwright specs drive the happy path, force a mid-saga failure to exercise reverse-order compensation, run a 2PC commit + abort + recovery cycle, and assert on the saga ledger row, the persisted step rows, the event sequence, and `pg_prepared_xacts` cleanliness after every round.", "type": "module", "scripts": { "dev": "bun run src/server.ts", "test:e2e": "playwright test", "typecheck": "tsc --noEmit" }, "dependencies": { "@suaveplan/api-2pc": "workspace:^", "@suaveplan/api-auth": "workspace:^", "@suaveplan/api-auth-anonymous": "workspace:^", "@suaveplan/api-auth-static-principal": "workspace:^", "@suaveplan/api-db-sqlite-memory": "workspace:^", "@suaveplan/api-events-in-memory": "workspace:^", "@suaveplan/api-host": "workspace:^", "@suaveplan/api-router-in-memory": "workspace:^", "@suaveplan/api-saga": "workspace:^", "@suaveplan/api-secrets-env": "workspace:^", "@suaveplan/api-tenant-provider": "workspace:^", "@suaveplan/api-tenant-provider-memory": "workspace:^", "@suaveplan/api-types": "workspace:^", "@suaveplan/events": "workspace:^", "@suaveplan/idempotency": "workspace:^", "@suaveplan/testing-integration-postgres": "workspace:^", "postgres": "catalog:database", "testcontainers": "catalog:containers" }, "devDependencies": { "@suaveplan/testing-e2e": "workspace:^", "@suaveplan/testing-integration": "workspace:^", "@suaveplan/typescript-config": "workspace:^", "@playwright/test": "catalog:testing", "@types/bun": "catalog:", "@types/node": "catalog:", "bun-types": "catalog:", "typescript": "catalog:" } }