@nicia-ai/typegraph 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backend/drizzle/index.cjs +5 -6
- package/dist/backend/drizzle/index.d.cts +1 -1
- package/dist/backend/drizzle/index.d.ts +1 -1
- package/dist/backend/drizzle/index.js +3 -4
- package/dist/backend/drizzle/postgres.cjs +3 -4
- package/dist/backend/drizzle/postgres.d.cts +1 -1
- package/dist/backend/drizzle/postgres.d.ts +1 -1
- package/dist/backend/drizzle/postgres.js +2 -3
- package/dist/backend/drizzle/schema/postgres.cjs +0 -1
- package/dist/backend/drizzle/schema/postgres.js +0 -1
- package/dist/backend/drizzle/schema/sqlite.cjs +0 -1
- package/dist/backend/drizzle/schema/sqlite.js +0 -1
- package/dist/backend/drizzle/sqlite.cjs +3 -4
- package/dist/backend/drizzle/sqlite.d.cts +1 -1
- package/dist/backend/drizzle/sqlite.d.ts +1 -1
- package/dist/backend/drizzle/sqlite.js +2 -3
- package/dist/backend/postgres/index.cjs +3 -4
- package/dist/backend/postgres/index.d.cts +1 -1
- package/dist/backend/postgres/index.d.ts +1 -1
- package/dist/backend/postgres/index.js +2 -3
- package/dist/backend/sqlite/index.cjs +4 -5
- package/dist/backend/sqlite/index.cjs.map +1 -1
- package/dist/backend/sqlite/index.d.cts +1 -1
- package/dist/backend/sqlite/index.d.ts +1 -1
- package/dist/backend/sqlite/index.js +3 -4
- package/dist/backend/sqlite/index.js.map +1 -1
- package/dist/{chunk-TXHKFLWX.cjs → chunk-2FURVVAX.cjs} +41 -35
- package/dist/chunk-2FURVVAX.cjs.map +1 -0
- package/dist/{chunk-MFVCSNIY.cjs → chunk-H7THXVH6.cjs} +36 -30
- package/dist/chunk-H7THXVH6.cjs.map +1 -0
- package/dist/{chunk-F32HCHYA.cjs → chunk-HXAPXPZH.cjs} +2 -2
- package/dist/chunk-HXAPXPZH.cjs.map +1 -0
- package/dist/{chunk-RYT4H46I.js → chunk-QB3WBMDT.js} +2 -2
- package/dist/chunk-QB3WBMDT.js.map +1 -0
- package/dist/{chunk-3A5TKOEJ.js → chunk-X4EVMBON.js} +10 -4
- package/dist/chunk-X4EVMBON.js.map +1 -0
- package/dist/{chunk-536PH5FT.js → chunk-XZL4NLV6.js} +10 -4
- package/dist/chunk-XZL4NLV6.js.map +1 -0
- package/dist/index.cjs +16 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +15 -10
- package/dist/index.js.map +1 -1
- package/dist/indexes/index.cjs +0 -1
- package/dist/indexes/index.js +0 -1
- package/dist/interchange/index.cjs +0 -1
- package/dist/interchange/index.cjs.map +1 -1
- package/dist/interchange/index.d.cts +2 -2
- package/dist/interchange/index.d.ts +2 -2
- package/dist/interchange/index.js +0 -1
- package/dist/interchange/index.js.map +1 -1
- package/dist/profiler/index.cjs +0 -1
- package/dist/profiler/index.cjs.map +1 -1
- package/dist/profiler/index.d.cts +2 -2
- package/dist/profiler/index.d.ts +2 -2
- package/dist/profiler/index.js +0 -1
- package/dist/profiler/index.js.map +1 -1
- package/dist/{store-60Lcfi0w.d.ts → store-BPhjw5S8.d.ts} +1 -35
- package/dist/{store-Bifii8MZ.d.cts → store-DNOOQEm8.d.cts} +1 -35
- package/dist/{types-CjZ7g_7v.d.ts → types-DsRfx0yk.d.ts} +65 -1
- package/dist/{types-DDOSfrih.d.cts → types-aapj0GLz.d.cts} +65 -1
- package/package.json +1 -1
- package/dist/chunk-3A5TKOEJ.js.map +0 -1
- package/dist/chunk-536PH5FT.js.map +0 -1
- package/dist/chunk-DGUM43GV.js +0 -10
- package/dist/chunk-DGUM43GV.js.map +0 -1
- package/dist/chunk-F32HCHYA.cjs.map +0 -1
- package/dist/chunk-JEQ2X3Z6.cjs +0 -12
- package/dist/chunk-JEQ2X3Z6.cjs.map +0 -1
- package/dist/chunk-MFVCSNIY.cjs.map +0 -1
- package/dist/chunk-RYT4H46I.js.map +0 -1
- package/dist/chunk-TXHKFLWX.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/backend/drizzle/postgres.ts"],"names":["tables","options"],"mappings":"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","file":"chunk-XZL4NLV6.js","sourcesContent":["/**\n * PostgreSQL backend adapter for TypeGraph.\n *\n * Works with any Drizzle PostgreSQL database instance:\n * - node-postgres (pg)\n * - PGlite\n * - Neon\n * - Vercel Postgres\n * - Supabase\n *\n * @example\n * ```typescript\n * import { drizzle } from \"drizzle-orm/node-postgres\";\n * import { Pool } from \"pg\";\n * import { createPostgresBackend } from \"@nicia-ai/typegraph/drizzle/postgres\";\n * import { tables } from \"@nicia-ai/typegraph/drizzle/schema/postgres\";\n *\n * const pool = new Pool({ connectionString: process.env.DATABASE_URL });\n * const db = drizzle(pool);\n * const backend = createPostgresBackend(db, { tables });\n * ```\n */\nimport { getTableName,type SQL } from \"drizzle-orm\";\nimport { type PgDatabase } from \"drizzle-orm/pg-core\";\n\nimport { UniquenessError } from \"../../errors\";\nimport type { SqlTableNames } from \"../../query/compiler/schema\";\nimport {\n type BackendCapabilities,\n type CheckUniqueParams,\n type CountEdgesByKindParams,\n type CountEdgesFromParams,\n type CountNodesByKindParams,\n type DeleteEdgeParams,\n type DeleteEmbeddingParams,\n type DeleteNodeParams,\n type DeleteUniqueParams,\n type EdgeExistsBetweenParams,\n type EdgeRow,\n type EmbeddingRow,\n type FindEdgesByKindParams,\n type FindEdgesConnectedToParams,\n type FindNodesByKindParams,\n type GraphBackend,\n type HardDeleteEdgeParams,\n type HardDeleteNodeParams,\n type InsertEdgeParams,\n type InsertNodeParams,\n type InsertSchemaParams,\n type InsertUniqueParams,\n type NodeRow,\n POSTGRES_CAPABILITIES,\n type SchemaVersionRow,\n type TransactionBackend,\n type TransactionOptions,\n type UniqueRow,\n type UpdateEdgeParams,\n type UpdateNodeParams,\n type UpsertEmbeddingParams,\n type VectorSearchParams,\n type VectorSearchResult,\n} from \"../types\";\nimport * as ops from \"./operations\";\nimport {\n type PostgresTables,\n tables as defaultTables,\n} from \"./schema/postgres\";\n\n// ============================================================\n// Types\n// ============================================================\n\n/**\n * Options for creating a PostgreSQL backend.\n */\nexport type PostgresBackendOptions = Readonly<{\n /**\n * Custom table definitions. Use createPostgresTables() to customize table names.\n * Defaults to standard TypeGraph table names.\n */\n tables?: PostgresTables;\n}>;\n\n/**\n * Any Drizzle PostgreSQL database instance.\n * Using 'any' for the query result type to support all PG drivers.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype AnyPgDatabase = PgDatabase<any>;\n\n// ============================================================\n// Utilities\n// ============================================================\n\n/**\n * Gets the current timestamp in ISO format.\n */\nfunction nowIso(): string {\n return new Date().toISOString();\n}\n\n/**\n * Converts null to undefined.\n */\nfunction nullToUndefined<T>(value: T | null): T | undefined {\n return value ?? undefined;\n}\n\n/**\n * Formats a timestamp value to ISO string.\n * PostgreSQL returns Date objects or timestamp strings, need to normalize to ISO format.\n */\nfunction formatTimestamp(value: unknown): string | undefined {\n if (value === null || value === undefined) return undefined;\n if (value instanceof Date) return value.toISOString();\n if (typeof value === \"string\") {\n // If already in ISO format, return as-is\n if (value.includes(\"T\")) return value;\n // Parse PostgreSQL timestamp format and convert to ISO\n const date = new Date(value);\n if (!Number.isNaN(date.getTime())) return date.toISOString();\n return value;\n }\n return undefined;\n}\n\n/**\n * Converts a database row to NodeRow type.\n * PostgreSQL returns dates as Date objects and JSONB as objects.\n * Raw SQL returns snake_case column names.\n */\nfunction toNodeRow(row: Record<string, unknown>): NodeRow {\n return {\n graph_id: row.graph_id as string,\n kind: row.kind as string,\n id: row.id as string,\n // PostgreSQL JSONB is already parsed, stringify for consistency\n props:\n typeof row.props === \"string\"\n ? row.props\n : JSON.stringify(row.props ?? {}),\n version: row.version as number,\n valid_from: nullToUndefined(formatTimestamp(row.valid_from)),\n valid_to: nullToUndefined(formatTimestamp(row.valid_to)),\n created_at: formatTimestamp(row.created_at) ?? \"\",\n updated_at: formatTimestamp(row.updated_at) ?? \"\",\n deleted_at: nullToUndefined(formatTimestamp(row.deleted_at)),\n };\n}\n\n/**\n * Converts a database row to EdgeRow type.\n * Raw SQL returns snake_case column names.\n */\nfunction toEdgeRow(row: Record<string, unknown>): EdgeRow {\n return {\n graph_id: row.graph_id as string,\n id: row.id as string,\n kind: row.kind as string,\n from_kind: row.from_kind as string,\n from_id: row.from_id as string,\n to_kind: row.to_kind as string,\n to_id: row.to_id as string,\n props:\n typeof row.props === \"string\"\n ? row.props\n : JSON.stringify(row.props ?? {}),\n valid_from: nullToUndefined(formatTimestamp(row.valid_from)),\n valid_to: nullToUndefined(formatTimestamp(row.valid_to)),\n created_at: formatTimestamp(row.created_at) ?? \"\",\n updated_at: formatTimestamp(row.updated_at) ?? \"\",\n deleted_at: nullToUndefined(formatTimestamp(row.deleted_at)),\n };\n}\n\n/**\n * Converts a database row to UniqueRow type.\n * Raw SQL returns snake_case column names.\n */\nfunction toUniqueRow(row: Record<string, unknown>): UniqueRow {\n return {\n graph_id: row.graph_id as string,\n node_kind: row.node_kind as string,\n constraint_name: row.constraint_name as string,\n key: row.key as string,\n node_id: row.node_id as string,\n concrete_kind: row.concrete_kind as string,\n deleted_at: nullToUndefined(formatTimestamp(row.deleted_at)),\n };\n}\n\n/**\n * Converts a database row to SchemaVersionRow type.\n * Raw SQL returns snake_case column names.\n */\nfunction toSchemaVersionRow(row: Record<string, unknown>): SchemaVersionRow {\n // PostgreSQL may return is_active as boolean or number/string depending on driver\n const isActiveValue = row.is_active;\n const isActive = isActiveValue === true || isActiveValue === 1 || isActiveValue === \"1\";\n\n return {\n graph_id: row.graph_id as string,\n version: row.version as number,\n schema_hash: row.schema_hash as string,\n schema_doc:\n typeof row.schema_doc === \"string\"\n ? row.schema_doc\n : JSON.stringify(row.schema_doc ?? {}),\n created_at: formatTimestamp(row.created_at) ?? \"\",\n is_active: isActive,\n };\n}\n\n/**\n * Converts a database row to EmbeddingRow type.\n * Raw SQL returns snake_case column names.\n */\nfunction toEmbeddingRow(row: Record<string, unknown>): EmbeddingRow {\n // pgvector returns embedding as a string '[1,2,3]' or as parsed array\n let embedding: readonly number[];\n if (typeof row.embedding === \"string\") {\n const content = row.embedding.slice(1, -1);\n embedding = content === \"\" ? [] : content.split(\",\").map((s) => Number.parseFloat(s.trim()));\n } else if (Array.isArray(row.embedding)) {\n embedding = row.embedding as number[];\n } else {\n embedding = [];\n }\n\n return {\n graph_id: row.graph_id as string,\n node_kind: row.node_kind as string,\n node_id: row.node_id as string,\n field_path: row.field_path as string,\n embedding,\n dimensions: row.dimensions as number,\n created_at: formatTimestamp(row.created_at) ?? \"\",\n updated_at: formatTimestamp(row.updated_at) ?? \"\",\n };\n}\n\n/**\n * PostgreSQL capabilities with vector search support.\n * Extends base POSTGRES_CAPABILITIES with vector operations.\n */\nconst POSTGRES_VECTOR_CAPABILITIES: BackendCapabilities = {\n ...POSTGRES_CAPABILITIES,\n vector: {\n supported: true,\n metrics: [\"cosine\", \"l2\", \"inner_product\"] as const,\n indexTypes: [\"hnsw\", \"ivfflat\", \"none\"] as const,\n maxDimensions: 16_000, // pgvector limit\n },\n};\n\n// ============================================================\n// Backend Factory\n// ============================================================\n\n/**\n * Creates a TypeGraph backend for PostgreSQL databases.\n *\n * Works with any Drizzle PostgreSQL instance regardless of the underlying driver.\n *\n * @param db - A Drizzle PostgreSQL database instance\n * @param options - Backend configuration\n * @returns A GraphBackend implementation\n */\nexport function createPostgresBackend(\n db: AnyPgDatabase,\n options: PostgresBackendOptions = {},\n): GraphBackend {\n const tables = options.tables ?? defaultTables;\n\n const tableNames: SqlTableNames = {\n nodes: getTableName(tables.nodes),\n edges: getTableName(tables.edges),\n embeddings: getTableName(tables.embeddings),\n };\n\n /**\n * Execute a query and return all rows.\n */\n async function execAll<T>(query: SQL): Promise<T[]> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const result: { rows: T[] } = await db.execute(query);\n return result.rows;\n }\n\n /**\n * Execute a query and return the first row.\n */\n async function execGet<T>(query: SQL): Promise<T | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const result: { rows: T[] } = await db.execute(query);\n return result.rows[0];\n }\n\n /**\n * Execute a modification query.\n */\n async function execRun(query: SQL): Promise<void> {\n await db.execute(query);\n }\n\n // Create the backend operations\n const backend: GraphBackend = {\n dialect: \"postgres\",\n capabilities: POSTGRES_VECTOR_CAPABILITIES,\n tableNames,\n\n // === Node Operations ===\n\n async insertNode(params: InsertNodeParams): Promise<NodeRow> {\n const timestamp = nowIso();\n const query = ops.buildInsertNode(tables, params, timestamp);\n const row = await execGet<Record<string, unknown>>(query);\n if (!row) throw new Error(\"Insert node failed: no row returned\");\n return toNodeRow(row);\n },\n\n async getNode(\n graphId: string,\n kind: string,\n id: string,\n ): Promise<NodeRow | undefined> {\n const query = ops.buildGetNode(tables, graphId, kind, id);\n const row = await execGet<Record<string, unknown>>(query);\n return row ? toNodeRow(row) : undefined;\n },\n\n async updateNode(params: UpdateNodeParams): Promise<NodeRow> {\n const timestamp = nowIso();\n const query = ops.buildUpdateNode(tables, params, timestamp);\n const row = await execGet<Record<string, unknown>>(query);\n if (!row) throw new Error(\"Update node failed: no row returned\");\n return toNodeRow(row);\n },\n\n async deleteNode(params: DeleteNodeParams): Promise<void> {\n const timestamp = nowIso();\n const query = ops.buildDeleteNode(tables, params, timestamp);\n await execRun(query);\n },\n\n async hardDeleteNode(params: HardDeleteNodeParams): Promise<void> {\n // Delete associated uniqueness entries\n const deleteUniquesQuery = ops.buildHardDeleteUniquesByNode(\n tables,\n params.graphId,\n params.id,\n );\n await execRun(deleteUniquesQuery);\n\n // Delete associated embeddings\n const deleteEmbeddingsQuery = ops.buildHardDeleteEmbeddingsByNode(\n tables,\n params.graphId,\n params.kind,\n params.id,\n );\n await execRun(deleteEmbeddingsQuery);\n\n // Delete the node itself\n const query = ops.buildHardDeleteNode(tables, params);\n await execRun(query);\n },\n\n // === Edge Operations ===\n\n async insertEdge(params: InsertEdgeParams): Promise<EdgeRow> {\n const timestamp = nowIso();\n const query = ops.buildInsertEdge(tables, params, timestamp);\n const row = await execGet<Record<string, unknown>>(query);\n if (!row) throw new Error(\"Insert edge failed: no row returned\");\n return toEdgeRow(row);\n },\n\n async getEdge(graphId: string, id: string): Promise<EdgeRow | undefined> {\n const query = ops.buildGetEdge(tables, graphId, id);\n const row = await execGet<Record<string, unknown>>(query);\n return row ? toEdgeRow(row) : undefined;\n },\n\n async updateEdge(params: UpdateEdgeParams): Promise<EdgeRow> {\n const timestamp = nowIso();\n const query = ops.buildUpdateEdge(tables, params, timestamp);\n const row = await execGet<Record<string, unknown>>(query);\n if (!row) throw new Error(\"Update edge failed: no row returned\");\n return toEdgeRow(row);\n },\n\n async deleteEdge(params: DeleteEdgeParams): Promise<void> {\n const timestamp = nowIso();\n const query = ops.buildDeleteEdge(tables, params, timestamp);\n await execRun(query);\n },\n\n async hardDeleteEdge(params: HardDeleteEdgeParams): Promise<void> {\n const query = ops.buildHardDeleteEdge(tables, params);\n await execRun(query);\n },\n\n // === Edge Cardinality Operations ===\n\n async countEdgesFrom(params: CountEdgesFromParams): Promise<number> {\n const query = ops.buildCountEdgesFrom(tables, params);\n const row = await execGet<{ count: string | number }>(query);\n // PostgreSQL returns count as string for bigint\n return Number(row?.count ?? 0);\n },\n\n async edgeExistsBetween(params: EdgeExistsBetweenParams): Promise<boolean> {\n const query = ops.buildEdgeExistsBetween(tables, params);\n const row = await execGet<Record<string, unknown>>(query);\n return row !== undefined;\n },\n\n // === Edge Query Operations ===\n\n async findEdgesConnectedTo(\n params: FindEdgesConnectedToParams,\n ): Promise<readonly EdgeRow[]> {\n const query = ops.buildFindEdgesConnectedTo(tables, params);\n const rows = await execAll<Record<string, unknown>>(query);\n return rows.map((row) => toEdgeRow(row));\n },\n\n // === Collection Query Operations ===\n\n async findNodesByKind(\n params: FindNodesByKindParams,\n ): Promise<readonly NodeRow[]> {\n const query = ops.buildFindNodesByKind(tables, params);\n const rows = await execAll<Record<string, unknown>>(query);\n return rows.map((row) => toNodeRow(row));\n },\n\n async countNodesByKind(params: CountNodesByKindParams): Promise<number> {\n const query = ops.buildCountNodesByKind(tables, params);\n const row = await execGet<{ count: string | number }>(query);\n return Number(row?.count ?? 0);\n },\n\n async findEdgesByKind(\n params: FindEdgesByKindParams,\n ): Promise<readonly EdgeRow[]> {\n const query = ops.buildFindEdgesByKind(tables, params);\n const rows = await execAll<Record<string, unknown>>(query);\n return rows.map((row) => toEdgeRow(row));\n },\n\n async countEdgesByKind(params: CountEdgesByKindParams): Promise<number> {\n const query = ops.buildCountEdgesByKind(tables, params);\n const row = await execGet<{ count: string | number }>(query);\n return Number(row?.count ?? 0);\n },\n\n // === Unique Constraint Operations ===\n\n async insertUnique(params: InsertUniqueParams): Promise<void> {\n const query = ops.buildInsertUnique(tables, \"postgres\", params);\n const result = await execGet<{ node_id: string }>(query);\n\n // Check if the returned node_id matches our input\n // If different, another node holds this key (race condition or conflict)\n if (result && result.node_id !== params.nodeId) {\n throw new UniquenessError({\n constraintName: params.constraintName,\n kind: params.nodeKind,\n existingId: result.node_id,\n newId: params.nodeId,\n fields: [], // Fields not available at this level\n });\n }\n },\n\n async deleteUnique(params: DeleteUniqueParams): Promise<void> {\n const timestamp = nowIso();\n const query = ops.buildDeleteUnique(tables, params, timestamp);\n await execRun(query);\n },\n\n async checkUnique(\n params: CheckUniqueParams,\n ): Promise<UniqueRow | undefined> {\n const query = ops.buildCheckUnique(tables, params);\n const row = await execGet<Record<string, unknown>>(query);\n return row ? toUniqueRow(row) : undefined;\n },\n\n // === Schema Operations ===\n\n async getActiveSchema(\n graphId: string,\n ): Promise<SchemaVersionRow | undefined> {\n const query = ops.buildGetActiveSchema(tables, graphId, \"postgres\");\n const row = await execGet<Record<string, unknown>>(query);\n return row ? toSchemaVersionRow(row) : undefined;\n },\n\n async insertSchema(params: InsertSchemaParams): Promise<SchemaVersionRow> {\n const timestamp = nowIso();\n const query = ops.buildInsertSchema(tables, params, timestamp, \"postgres\");\n const row = await execGet<Record<string, unknown>>(query);\n if (!row) throw new Error(\"Insert schema failed: no row returned\");\n return toSchemaVersionRow(row);\n },\n\n async getSchemaVersion(\n graphId: string,\n version: number,\n ): Promise<SchemaVersionRow | undefined> {\n const query = ops.buildGetSchemaVersion(tables, graphId, version);\n const row = await execGet<Record<string, unknown>>(query);\n return row ? toSchemaVersionRow(row) : undefined;\n },\n\n async setActiveSchema(graphId: string, version: number): Promise<void> {\n const queries = ops.buildSetActiveSchema(tables, graphId, version, \"postgres\");\n await execRun(queries.deactivateAll);\n await execRun(queries.activateVersion);\n },\n\n // === Embedding Operations ===\n\n async upsertEmbedding(params: UpsertEmbeddingParams): Promise<void> {\n const timestamp = nowIso();\n const query = ops.buildUpsertEmbeddingPostgres(tables, params, timestamp);\n await execRun(query);\n },\n\n async deleteEmbedding(params: DeleteEmbeddingParams): Promise<void> {\n const query = ops.buildDeleteEmbedding(tables, params);\n await execRun(query);\n },\n\n async getEmbedding(\n graphId: string,\n nodeKind: string,\n nodeId: string,\n fieldPath: string,\n ): Promise<EmbeddingRow | undefined> {\n const query = ops.buildGetEmbedding(\n tables,\n graphId,\n nodeKind,\n nodeId,\n fieldPath,\n );\n const row = await execGet<Record<string, unknown>>(query);\n return row ? toEmbeddingRow(row) : undefined;\n },\n\n async vectorSearch(\n params: VectorSearchParams,\n ): Promise<readonly VectorSearchResult[]> {\n const query = ops.buildVectorSearchPostgres(tables, params);\n const rows = await execAll<{ node_id: string; score: number }>(query);\n return rows.map((row) => ({\n nodeId: row.node_id,\n score: row.score,\n }));\n },\n\n // === Query Execution ===\n\n async execute<T>(query: SQL): Promise<readonly T[]> {\n return execAll<T>(query);\n },\n\n // === Transaction ===\n\n async transaction<T>(\n fn: (tx: TransactionBackend) => Promise<T>,\n options?: TransactionOptions,\n ): Promise<T> {\n // Map isolation levels to Drizzle format\n const txConfig = options?.isolationLevel\n ? {\n isolationLevel: options.isolationLevel.replace(\"_\", \" \") as\n | \"read uncommitted\"\n | \"read committed\"\n | \"repeatable read\"\n | \"serializable\",\n }\n : undefined;\n\n return db.transaction(async (tx) => {\n const txBackend = createTransactionBackend(\n tx as unknown as AnyPgDatabase,\n tables,\n );\n return fn(txBackend);\n }, txConfig);\n },\n\n // === Lifecycle ===\n\n async close(): Promise<void> {\n // Drizzle doesn't expose a close method\n // Users manage connection lifecycle themselves\n },\n };\n\n return backend;\n}\n\n/**\n * Creates a transaction backend from a Drizzle transaction.\n */\nfunction createTransactionBackend(\n tx: AnyPgDatabase,\n tables: PostgresTables,\n): TransactionBackend {\n // Create a new backend using the transaction\n const txBackend = createPostgresBackend(tx, { tables });\n\n // Return without transaction and close methods\n const { transaction: _tx, close: _close, ...ops } = txBackend;\n void _tx;\n void _close;\n return ops;\n}\n\n// Re-export schema utilities\nexport type { PostgresTables, TableNames } from \"./schema/postgres\";\nexport { createPostgresTables, tables } from \"./schema/postgres\";\n"]}
|
package/dist/index.cjs
CHANGED
|
@@ -4,7 +4,6 @@ var chunkDBFCKELK_cjs = require('./chunk-DBFCKELK.cjs');
|
|
|
4
4
|
var chunkSV5H3XM5_cjs = require('./chunk-SV5H3XM5.cjs');
|
|
5
5
|
var chunkYM5AL65Y_cjs = require('./chunk-YM5AL65Y.cjs');
|
|
6
6
|
var chunkP5CNM325_cjs = require('./chunk-P5CNM325.cjs');
|
|
7
|
-
var chunkJEQ2X3Z6_cjs = require('./chunk-JEQ2X3Z6.cjs');
|
|
8
7
|
var zod = require('zod');
|
|
9
8
|
var drizzleOrm = require('drizzle-orm');
|
|
10
9
|
var nanoid = require('nanoid');
|
|
@@ -7649,7 +7648,7 @@ function serializeZodSchema(schema) {
|
|
|
7649
7648
|
return { type: "object" };
|
|
7650
7649
|
}
|
|
7651
7650
|
}
|
|
7652
|
-
function computeSchemaHash(schema) {
|
|
7651
|
+
async function computeSchemaHash(schema) {
|
|
7653
7652
|
const hashable = {
|
|
7654
7653
|
graphId: schema.graphId,
|
|
7655
7654
|
nodes: schema.nodes,
|
|
@@ -7670,9 +7669,15 @@ function sortedReplacer(_key, value) {
|
|
|
7670
7669
|
}
|
|
7671
7670
|
return value;
|
|
7672
7671
|
}
|
|
7673
|
-
function sha256Hash(input) {
|
|
7674
|
-
const
|
|
7675
|
-
|
|
7672
|
+
async function sha256Hash(input) {
|
|
7673
|
+
const encoded = new TextEncoder().encode(input);
|
|
7674
|
+
const digest = await globalThis.crypto.subtle.digest("SHA-256", encoded);
|
|
7675
|
+
const bytes = new Uint8Array(digest);
|
|
7676
|
+
let hex = "";
|
|
7677
|
+
for (let index = 0; index < 8; index++) {
|
|
7678
|
+
hex += bytes[index].toString(16).padStart(2, "0");
|
|
7679
|
+
}
|
|
7680
|
+
return hex;
|
|
7676
7681
|
}
|
|
7677
7682
|
|
|
7678
7683
|
// src/schema/manager.ts
|
|
@@ -7687,7 +7692,7 @@ async function ensureSchema(backend, graph, options) {
|
|
|
7687
7692
|
const storedSchema = JSON.parse(activeSchema.schema_doc);
|
|
7688
7693
|
const currentSchema = serializeSchema(graph, activeSchema.version + 1);
|
|
7689
7694
|
const storedHash = activeSchema.schema_hash;
|
|
7690
|
-
const currentHash = computeSchemaHash(currentSchema);
|
|
7695
|
+
const currentHash = await computeSchemaHash(currentSchema);
|
|
7691
7696
|
if (storedHash === currentHash) {
|
|
7692
7697
|
return { status: "unchanged", version: activeSchema.version };
|
|
7693
7698
|
}
|
|
@@ -7731,7 +7736,7 @@ async function ensureSchema(backend, graph, options) {
|
|
|
7731
7736
|
}
|
|
7732
7737
|
async function initializeSchema(backend, graph) {
|
|
7733
7738
|
const schema = serializeSchema(graph, 1);
|
|
7734
|
-
const hash = computeSchemaHash(schema);
|
|
7739
|
+
const hash = await computeSchemaHash(schema);
|
|
7735
7740
|
return backend.insertSchema({
|
|
7736
7741
|
graphId: graph.id,
|
|
7737
7742
|
version: 1,
|
|
@@ -7743,7 +7748,7 @@ async function initializeSchema(backend, graph) {
|
|
|
7743
7748
|
async function migrateSchema(backend, graph, currentVersion) {
|
|
7744
7749
|
const newVersion = currentVersion + 1;
|
|
7745
7750
|
const schema = serializeSchema(graph, newVersion);
|
|
7746
|
-
const hash = computeSchemaHash(schema);
|
|
7751
|
+
const hash = await computeSchemaHash(schema);
|
|
7747
7752
|
await backend.insertSchema({
|
|
7748
7753
|
graphId: graph.id,
|
|
7749
7754
|
version: newVersion,
|
|
@@ -7783,7 +7788,7 @@ var Store = class {
|
|
|
7783
7788
|
this.#backend = backend;
|
|
7784
7789
|
this.#registry = buildKindRegistry(graph);
|
|
7785
7790
|
this.#hooks = options?.hooks ?? {};
|
|
7786
|
-
this.#schema = options?.schema;
|
|
7791
|
+
this.#schema = options?.schema ?? (backend.tableNames ? createSqlSchema(backend.tableNames) : void 0);
|
|
7787
7792
|
}
|
|
7788
7793
|
// === Accessors ===
|
|
7789
7794
|
/** The graph definition */
|
|
@@ -8251,6 +8256,7 @@ Object.defineProperty(exports, "parseJsonPointer", {
|
|
|
8251
8256
|
enumerable: true,
|
|
8252
8257
|
get: function () { return chunkP5CNM325_cjs.parseJsonPointer; }
|
|
8253
8258
|
});
|
|
8259
|
+
exports.DEFAULT_SQL_SCHEMA = DEFAULT_SQL_SCHEMA;
|
|
8254
8260
|
exports.ExecutableAggregateQuery = ExecutableAggregateQuery;
|
|
8255
8261
|
exports.ExecutableQuery = ExecutableQuery;
|
|
8256
8262
|
exports.KindRegistry = KindRegistry;
|
|
@@ -8269,6 +8275,7 @@ exports.countDistinct = countDistinct;
|
|
|
8269
8275
|
exports.createExternalRef = createExternalRef;
|
|
8270
8276
|
exports.createFragment = createFragment;
|
|
8271
8277
|
exports.createQueryBuilder = createQueryBuilder;
|
|
8278
|
+
exports.createSqlSchema = createSqlSchema;
|
|
8272
8279
|
exports.createStore = createStore;
|
|
8273
8280
|
exports.createStoreWithSchema = createStoreWithSchema;
|
|
8274
8281
|
exports.createValidationError = createValidationError;
|