feat: local tier gateway with PGlite + Gitea-only publishing + repo linking

- Add PGlite (embedded Postgres) for local tier — gateway runs without
  external PG server. Same schema, same Drizzle API, zero module refactor.
- Install wizard now offers tier selection (local vs team).
  Local skips DATABASE_URL/VALKEY_URL, writes mosaic.config.json.
- Comment out npmjs publish step in CI (preserved for future use).
- Revert gateway publishConfig to Gitea registry, include in Gitea publish.
- Add repository field to all 23 publishable package.json files for
  Gitea package-to-repo linking.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jarvis
2026-04-04 13:32:02 -05:00
parent 86d6c214fe
commit 6954e43bbb
29 changed files with 224 additions and 38 deletions

View File

@@ -1,6 +1,11 @@
{
"name": "@mosaic/db",
"version": "0.0.2",
"repository": {
"type": "git",
"url": "https://git.mosaicstack.dev/mosaic/mosaic-stack.git",
"directory": "packages/db"
},
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",
@@ -28,6 +33,7 @@
"vitest": "^2.0.0"
},
"dependencies": {
"@electric-sql/pglite": "^0.2.17",
"drizzle-orm": "^0.45.1",
"postgres": "^3.4.8"
},

View File

@@ -0,0 +1,15 @@
import { PGlite } from '@electric-sql/pglite';
import { drizzle } from 'drizzle-orm/pglite';
import * as schema from './schema.js';
import type { DbHandle } from './client.js';
export function createPgliteDb(dataDir: string): DbHandle {
const client = new PGlite(dataDir);
const db = drizzle(client, { schema });
return {
db: db as unknown as DbHandle['db'],
close: async () => {
await client.close();
},
};
}

View File

@@ -1,4 +1,5 @@
export { createDb, type Db, type DbHandle } from './client.js';
export { createPgliteDb } from './client-pglite.js';
export { runMigrations } from './migrate.js';
export * from './schema.js';
export {