Keep familiar query and model workflows while KynetraDB remains honest about the boundary. Two native HTTP previews and ten Postgres bridge starters share one versioned capability catalog.
Prisma-shaped repository methods and a Drizzle-shaped query builder translate a bounded, validated subset to KynetraDB HTTP requests. They are not full upstream ORM drivers.
IntegrationDeliveryContract
Prisma
Node.js / TypeScript
Native HTTP previewpreview
A Prisma-shaped repository for findMany, findUnique, create, update, delete, and upsert. It is not a Prisma driver adapter and does not run Prisma query-engine plans.
Each native HTTP mutation is one request. Interactive and nested Prisma transactions are unsupported.
const db = createDrizzleClient({ baseUrl, apiKey })
const published = await db.select('id,title')
.from('posts')
.where(and(eq('published', true), gte('views', 10)))
.orderBy(desc('created_at'))
.limit(20)
Direct PostgreSQL access
Postgres bridge starters
Schema mappings target the same kynetra_entities table used by KynetraDB Postgres Bridge. KynetraDB owns that table, its indexes, and helper functions.
IntegrationDeliveryContract
SQLAlchemy
Python
Postgres bridge starterpreview
A SQLAlchemy 2.x declarative mapping for bridge entities and JSON attributes.
Transactions cover the bridge PostgreSQL database only; they do not create a distributed KynetraDB Universal Log transaction.
One migrator CLI reads from 14 systems and writes Collections and entities into KynetraDB. Sources split by how they reach your data: a file on disk, a database wire protocol, or a vendor HTTP API.
Source
Subcommand
Reaches your data via
What it reads
Cloudflare D1
d1
SQLite file
A D1 export. Tables are enumerated from sqlite_master, skipping SQLite internals and Cloudflare _cf_* bookkeeping tables.
PocketBase
pocketbase
SQLite file
A pb_data/data.db file, using PocketBase’s _collections meta table.
SQLitenewest
sqlite
SQLite file
Any local SQLite database. One collection per table, one entity per row; sqlite_% internals and all views skipped.
MongoDB
mongo
Wire proto
All collections from a database.
PostgreSQL
postgres
Wire proto
Schema-aware: creates Collections, then streams rows.
Supabase
supabase
Wire proto
A Supabase or PostgreSQL database.
Algolia
algolia
HTTP API
An index via the Browse API.
Appwrite
appwrite
HTTP API
All databases, collections and documents from a project.
Convex
convex
HTTP API
All tables from a deployment via internal migration functions.
Meilisearch
meilisearch
HTTP API
All documents from an index.
Pinecone
pinecone
HTTP API
An index via the Data Plane REST API.
Typesense
typesense
HTTP API
All documents from a collection, as an NDJSON export.
NDJSON
ndjson
File
A per-tenant export produced by the admin export endpoint; verifies the integrity trailer before it writes.
Firebase
firebase
JSON export
A Firestore admin export JSON file.
The SQLite source cannot touch your database
The newest source opens the file with SQLITE_OPEN_READ_ONLY andno CREATE flag. That is a structural guarantee rather than a policy: SQLite itself refuses the write, so a migration cannot mutate, vacuum, or fabricate your data — and it cannot quietly create an empty database if you typo the path, because a missing file makes the open fail instead of succeeding against nothing. Journal and WAL sidecar files are not created either.
It matters because the failure mode it removes is the expensive one: a migration tool that opens read-write can leave your source subtly different from how it found it, and you will not know until you try to roll back to it.
read-only by constructionbash
# One collection per table, one entity per row.
kynetra-migrate sqlite ./app.db
# Opened with SQLITE_OPEN_READ_ONLY and no CREATE:
# - cannot mutate, vacuum or rewrite the source
# - no -journal / -wal sidecars created
# - a missing path ERRORS instead of being
# created as an empty database
# - sqlite_% internals and all views skipped
# (tables only in this slice)
Compatibility boundary
Transactions
Native HTTP mutations are individual requests. Direct ORM transactions stop at the bridge PostgreSQL database and do not span the Universal Log, files, caches, or sinks.
Migrations
Application migration tools may own application tables. They must not drop, rename, or retype kynetra_entities or Kynetra helper functions.
Search
BM25 and vector operations remain raw-query or KynetraDB API operations until each framework has a verified native extension.
Review template fingerprints and retrieval evidence inKynetra Foundry.