@vibeorm/extensions 2.3.2 → 3.0.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/LICENSE +21 -0
- package/README.md +2 -0
- package/dist/index.js +36 -26
- package/dist/index.js.map +4 -4
- package/dist/search/index.js +32 -23
- package/dist/search/index.js.map +3 -3
- package/dist/vector/index.js +5 -4
- package/dist/vector/index.js.map +3 -3
- package/package.json +7 -5
- package/dist/index.d.ts.map +0 -1
- package/dist/search/index.d.ts.map +0 -1
- package/dist/shared.d.ts.map +0 -1
- package/dist/trgm/index.d.ts.map +0 -1
- package/dist/vector/index.d.ts.map +0 -1
package/dist/vector/index.js
CHANGED
|
@@ -245,7 +245,8 @@ function createVectorNamespace(config) {
|
|
|
245
245
|
const op = METRIC_OPERATOR[metric];
|
|
246
246
|
const col = `${t}.${quote(column)}`;
|
|
247
247
|
const collector = new ParamCollector(dialect);
|
|
248
|
-
|
|
248
|
+
const vector = dialect.name === "postgres" ? collector.add(literal) : undefined;
|
|
249
|
+
let text = `SELECT ${ctx.projection({ qualify: "t" })}, (${col} ${op} ${vector ?? collector.add(literal)}) AS ${quote(DISTANCE_ALIAS)}`;
|
|
249
250
|
text += ` FROM ${quote(config.table)} AS ${t}`;
|
|
250
251
|
text += ` WHERE ${col} IS NOT NULL`;
|
|
251
252
|
if (args.where !== undefined) {
|
|
@@ -254,9 +255,9 @@ function createVectorNamespace(config) {
|
|
|
254
255
|
text += ` AND (${renderExpr({ dialect, expr, collector })})`;
|
|
255
256
|
}
|
|
256
257
|
if (args.maxDistance !== undefined) {
|
|
257
|
-
text += ` AND (${col} ${op} ${collector.add(literal)}) < ${collector.add(args.maxDistance)}`;
|
|
258
|
+
text += ` AND (${col} ${op} ${vector ?? collector.add(literal)}) < ${collector.add(args.maxDistance)}`;
|
|
258
259
|
}
|
|
259
|
-
text += ` ORDER BY ${col} ${op} ${collector.add(literal)} LIMIT ${take}`;
|
|
260
|
+
text += ` ORDER BY ${col} ${op} ${vector ?? collector.add(literal)} LIMIT ${take}`;
|
|
260
261
|
const rows = await ctx.executeRows({
|
|
261
262
|
text,
|
|
262
263
|
values: collector.values,
|
|
@@ -407,4 +408,4 @@ export {
|
|
|
407
408
|
vector
|
|
408
409
|
};
|
|
409
410
|
|
|
410
|
-
//# debugId=
|
|
411
|
+
//# debugId=8A08621F3E9969AF64756E2164756E21
|
package/dist/vector/index.js.map
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/vector/index.ts", "../src/shared.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"/**\n * `vector` — pgvector similarity search (extensions.md §5).\n *\n * Schema: `embedding Vector(1536)` (field type) + `@@vector([embedding],\n * metric: \"cosine\", index: \"hnsw\")` (index declaration). Client surface is a\n * namespace (D9): `db.doc.vector.nearest({ by, to, take })` and\n * `db.doc.vector.set({ where, by, to })`. Postgres AND pglite (on pglite’s\n * current 0.5 line pgvector loads from @electric-sql/pglite-pgvector — the\n * 0.3 line bundled it as @electric-sql/pglite/vector); sqlite/mysql →\n * VIBE_UNSUPPORTED_CAPABILITY at generate time.\n */\n\nimport { VibeError, assertIdentifierFits, defineExtension, fitDefaultName, unsupportedCapability } from \"@vibeorm/schema\";\nimport type {\n ExtensionArtifact,\n ExtensionSchemaContext,\n VibeExtension,\n} from \"@vibeorm/schema\";\nimport { ParamCollector, getSqlDialect, renderExpr } from \"@vibeorm/sql\";\nimport type { ExtensionMountContext } from \"@vibeorm/runtime\";\nimport {\n finiteNumber,\n columnNameOf,\n declString,\n declStringArray,\n isSafeSqlName,\n pgExtensionCheck,\n primaryKeyFieldOf,\n tableNameOf,\n} from \"../shared.ts\";\n\n// ─── Options & types ──────────────────────────────────────────────\n\nexport type VectorOptions = Record<string, never>;\n\nexport type VectorMetric = \"cosine\" | \"l2\" | \"ip\";\n\n/** One nearest-neighbour hit. */\nexport type VectorHit<T> = {\n readonly row: T;\n /** Distance under the query's metric — smaller is closer (ip is negated inner product). */\n readonly distance: number;\n};\n\nconst VERSION = \"2.0.0-alpha.0\";\n\nconst METRIC_OPERATOR: Readonly<Record<VectorMetric, string>> = {\n cosine: \"<=>\",\n l2: \"<->\",\n ip: \"<#>\",\n};\n\nconst METRIC_OPCLASS: Readonly<Record<VectorMetric, string>> = {\n cosine: \"vector_cosine_ops\",\n l2: \"vector_l2_ops\",\n ip: \"vector_ip_ops\",\n};\n\nconst METRICS: readonly VectorMetric[] = [\"cosine\", \"l2\", \"ip\"];\nconst INDEX_KINDS: readonly string[] = [\"hnsw\", \"ivfflat\"];\nconst DISTANCE_ALIAS = \"_vibe_distance\";\n\n// pgvector v0.8.2 src/hnsw.h and src/ivfflat.h reloption bounds.\nconst INDEX_BOUNDS: Readonly<Record<string, readonly [number, number]>> = {\n m: [2, 100],\n efConstruction: [4, 1000],\n lists: [1, 32768],\n};\n\nfunction indexOptionError(params: { declaration: Readonly<Record<string, unknown>> }): string | undefined {\n for (const [key, [min, max]] of Object.entries(INDEX_BOUNDS)) {\n const value = params.declaration[key];\n if (value !== undefined && (typeof value !== \"number\" || !Number.isInteger(value) || value < min || value > max)) {\n return `${key} must be an integer between ${min} and ${max}`;\n }\n }\n return undefined;\n}\n\n// ─── Declaration helpers ──────────────────────────────────────────\n\ntype VectorColumnDecl = { readonly column: string; readonly dims: number };\n\nfunction vectorColumnsOf(params: {\n declaration: Readonly<Record<string, unknown>>;\n}): Readonly<Record<string, { readonly dims: number }>> {\n const columns = params.declaration[\"columns\"];\n if (columns === null || typeof columns !== \"object\" || Array.isArray(columns)) return {};\n const out: Record<string, { dims: number }> = {};\n for (const [field, spec] of Object.entries(columns as Record<string, unknown>)) {\n if (spec === null || typeof spec !== \"object\") continue;\n const dims = (spec as { dims?: unknown }).dims;\n if (typeof dims === \"number\") out[field] = { dims };\n }\n return out;\n}\n\n// ─── Artifacts ────────────────────────────────────────────────────\n\nfunction vectorArtifacts(ctx: ExtensionSchemaContext): readonly ExtensionArtifact[] {\n if (ctx.dialect !== \"postgres\") {\n throw unsupportedCapability({\n dialect: ctx.dialect,\n feature: \"the vector extension (pgvector)\",\n hint: \"pgvector exists on postgres/pglite only (sqlite-vec/mysql are post-2.0)\",\n });\n }\n const dialect = getSqlDialect({ dialect: ctx.dialect });\n const quote = (name: string): string => dialect.quoteIdent({ name });\n\n const artifacts: ExtensionArtifact[] = [\n {\n id: \"vector:extension\",\n owns: { kind: \"postgresExtension\", name: \"vector\" },\n create: [\"CREATE EXTENSION IF NOT EXISTS vector;\"],\n drop: [\"DROP EXTENSION IF EXISTS vector;\"],\n },\n ];\n\n for (const [modelName, declaration] of Object.entries(ctx.declarations)) {\n const model = ctx.schema.models.find((candidate) => candidate.name === modelName);\n if (model === undefined) continue;\n const invalidOption = indexOptionError({ declaration });\n if (invalidOption !== undefined) {\n throw new VibeError({ code: \"VIBE_SCHEMA_INVALID\", message: invalidOption, meta: { model: modelName } });\n }\n const table = tableNameOf({ model });\n const columns = vectorColumnsOf({ declaration });\n\n const indexFields = declStringArray(declaration, \"fields\") ?? [];\n const kindRaw = declString(declaration, \"index\") ?? \"hnsw\";\n // The parse-time attribute validation is the usual gate; a declaration\n // assembled by hand (a DSL extension declaration, a hand-written IR) must\n // not reach `USING <anything>` — the kind is spliced into DDL.\n if (!INDEX_KINDS.includes(kindRaw)) {\n throw new VibeError({\n code: \"VIBE_SCHEMA_INVALID\",\n message: `@@vector on \"${modelName}\" declares index kind \"${kindRaw}\" — expected one of ${INDEX_KINDS.join(\", \")}`,\n meta: { model: modelName, index: kindRaw },\n });\n }\n const metricRaw = declString(declaration, \"metric\") ?? \"cosine\";\n const metric = METRICS.find((candidate) => candidate === metricRaw) ?? \"cosine\";\n\n for (const field of indexFields) {\n if (columns[field] === undefined) {\n throw new VibeError({\n code: \"VIBE_SCHEMA_INVALID\",\n message: `@@vector on \"${modelName}\" indexes \"${field}\", which is not a Vector(n) column`,\n meta: { model: modelName, field },\n });\n }\n const column = columnNameOf({ model, field });\n // Adoption override (validated single-field-only at parse): consumers\n // with a live index keep its name instead of a rename migration.\n const nameOverride = indexFields.length === 1 ? declString(declaration, \"indexName\") : undefined;\n // Same identifier-limit rule as every minted index name: a truncated\n // name would miss migrate's ownership handshake and be rebuilt (HNSW!)\n // on every push.\n if (nameOverride !== undefined) assertIdentifierFits({ name: nameOverride, dialect: ctx.dialect, what: \"@@vector indexName\", remedy: \"Shorten it.\" });\n const indexName = nameOverride ?? fitDefaultName({ prefix: `${table}_${column}_${kindRaw}`, suffix: \"_idx\", dialect: ctx.dialect });\n const withOptions: string[] = [];\n const m = declaration[\"m\"];\n const efConstruction = declaration[\"efConstruction\"];\n const lists = declaration[\"lists\"];\n if (kindRaw === \"hnsw\") {\n if (typeof m === \"number\") withOptions.push(`m = ${m}`);\n if (typeof efConstruction === \"number\") withOptions.push(`ef_construction = ${efConstruction}`);\n } else if (typeof lists === \"number\") {\n withOptions.push(`lists = ${lists}`);\n }\n const withClause = withOptions.length === 0 ? \"\" : ` WITH (${withOptions.join(\", \")})`;\n artifacts.push({\n id: `vector:${modelName}:${field}`,\n owns: { kind: \"index\", table, name: indexName },\n create: [\n `CREATE INDEX IF NOT EXISTS ${quote(indexName)} ON ${quote(table)} USING ${kindRaw} (${quote(column)} ${METRIC_OPCLASS[metric]})${withClause};`,\n ],\n drop: [`DROP INDEX IF EXISTS ${quote(indexName)};`],\n });\n }\n }\n return artifacts;\n}\n\n// ─── Runtime namespace (generated-glue target) ────────────────────\n\n/** Baked per-model config the generator writes into the client. */\nexport type VectorNamespaceConfig = {\n readonly table: string;\n /** Field name → column + dims. */\n readonly columns: Readonly<Record<string, VectorColumnDecl>>;\n /** Default metric from the schema declaration. */\n readonly metric: VectorMetric;\n};\n\nexport type VectorNearestArgs = {\n readonly by: string;\n readonly to: readonly number[];\n readonly metric?: VectorMetric;\n readonly take?: number;\n readonly where?: Record<string, unknown>;\n readonly maxDistance?: number;\n};\n\nexport type VectorSetArgs = {\n readonly where: Record<string, unknown>;\n readonly by: string;\n readonly to: readonly number[];\n};\n\nexport type VectorNamespace = {\n readonly nearest: (args: VectorNearestArgs) => Promise<VectorHit<Record<string, unknown>>[]>;\n readonly set: (args: VectorSetArgs) => Promise<number>;\n};\n\nfunction resolveColumn(params: {\n config: VectorNamespaceConfig;\n args: { by: string; to: readonly number[] };\n}): { column: string; literal: string } {\n const { config, args } = params;\n const spec = config.columns[args.by];\n if (spec === undefined) {\n throw new VibeError({\n code: \"VIBE_VALIDATION\",\n message: `\"${args.by}\" is not a Vector(n) column — declared: ${Object.keys(config.columns).join(\", \")}`,\n meta: { by: args.by },\n });\n }\n if (!Array.isArray(args.to) || args.to.some((entry) => typeof entry !== \"number\" || !Number.isFinite(entry))) {\n throw new VibeError({\n code: \"VIBE_VALIDATION\",\n message: `vector \"to\" must be an array of finite numbers`,\n meta: { by: args.by },\n });\n }\n if (args.to.length !== spec.dims) {\n throw new VibeError({\n code: \"VIBE_VALIDATION\",\n message: `vector \"to\" has ${args.to.length} dimensions, \"${args.by}\" expects ${spec.dims}`,\n meta: { by: args.by, dims: spec.dims },\n });\n }\n return { column: spec.column, literal: `[${args.to.join(\",\")}]` };\n}\n\n/**\n * The generated client's glue target: bakes per-model config at generate time,\n * mounts as the `vector` namespace at runtime (D9).\n */\nexport function createVectorNamespace(\n config: VectorNamespaceConfig,\n): (ctx: ExtensionMountContext) => VectorNamespace {\n return (ctx: ExtensionMountContext): VectorNamespace => {\n const dialect = ctx.dialect;\n const quote = (name: string): string => dialect.quoteIdent({ name });\n const t = quote(\"t\");\n\n return {\n nearest: async (args: VectorNearestArgs): Promise<VectorHit<Record<string, unknown>>[]> => {\n const take = finiteNumber({ value: args.take === undefined ? 10 : args.take, name: \"take\", integer: true, min: 1 });\n if (args.maxDistance !== undefined) finiteNumber({ value: args.maxDistance, name: \"maxDistance\" });\n const { column, literal } = resolveColumn({ config, args });\n const metric = args.metric ?? config.metric;\n const op = METRIC_OPERATOR[metric];\n const col = `${t}.${quote(column)}`;\n const collector = new ParamCollector(dialect);\n\n let text = `SELECT ${t}.*, (${col} ${op} ${collector.add(literal)}) AS ${quote(DISTANCE_ALIAS)}`;\n text += ` FROM ${quote(config.table)} AS ${t}`;\n text += ` WHERE ${col} IS NOT NULL`;\n if (args.where !== undefined) {\n const expr = ctx.compileWhere({ where: args.where, qualify: \"t\" });\n if (expr !== undefined) text += ` AND (${renderExpr({ dialect, expr, collector })})`;\n }\n if (args.maxDistance !== undefined) {\n text += ` AND (${col} ${op} ${collector.add(literal)}) < ${collector.add(args.maxDistance)}`;\n }\n text += ` ORDER BY ${col} ${op} ${collector.add(literal)} LIMIT ${take}`;\n\n const rows = await ctx.executeRows({\n text,\n values: collector.values,\n method: \"vector.nearest\",\n });\n return rows.map((row) => {\n const { [DISTANCE_ALIAS]: distance, ...rest } = row;\n return { row: rest, distance: Number(distance) };\n });\n },\n\n set: async (args: VectorSetArgs): Promise<number> => {\n const { column, literal } = resolveColumn({ config, args });\n const collector = new ParamCollector(dialect);\n let text = `UPDATE ${quote(config.table)} SET ${quote(column)} = ${collector.add(literal)}`;\n const expr = ctx.compileWhere({ where: args.where });\n if (expr !== undefined) text += ` WHERE ${renderExpr({ dialect, expr, collector })}`;\n text += ` RETURNING 1 AS ${quote(\"_vibe_set\")}`;\n const rows = await ctx.executeRows({ text, values: collector.values, method: \"vector.set\" });\n return rows.length;\n },\n };\n };\n}\n\n// ─── Factory ──────────────────────────────────────────────────────\n\n/**\n * pgvector similarity search.\n *\n * @example schema\n * // embedding Vector(1536)\n * // @@vector([embedding], metric: \"cosine\", index: \"hnsw\")\n * const near = await db.doc.vector.nearest({ by: \"embedding\", to: queryVec, take: 10 });\n */\nexport function vector(options: VectorOptions = {}): VibeExtension {\n return defineExtension({\n name: \"vector\",\n version: VERSION,\n options: { ...options },\n requires: { postgresql: { extension: \"vector\" }, pglite: { extension: \"vector\" } },\n\n schema: {\n fieldTypes: [\n {\n name: \"Vector\",\n lower: ({ field, args }) => {\n const dims = Number(args[0]);\n if (!Number.isInteger(dims) || dims <= 0) {\n return { error: \"Vector(n) requires a positive integer dimension, e.g. Vector(1536)\" };\n }\n return {\n nativeType: `vector(${dims})`,\n declaration: { columns: { [field]: { dims } } },\n };\n },\n },\n ],\n modelAttributes: [\n {\n name: \"vector\",\n parse: ({ args, fieldNames }) => {\n const fields = args.fields ?? [];\n if (fields.length === 0) {\n return { error: \"@@vector requires a field list, e.g. @@vector([embedding])\" };\n }\n const missing = fields.find((name) => !fieldNames.includes(name));\n if (missing !== undefined) {\n return { error: `@@vector references unknown field \"${missing}\"` };\n }\n const metric = args.named[\"metric\"];\n if (metric !== undefined && !METRICS.includes(metric as VectorMetric)) {\n return { error: `metric must be one of ${METRICS.join(\", \")}` };\n }\n const kind = args.named[\"index\"];\n if (kind !== undefined && !INDEX_KINDS.includes(String(kind))) {\n return { error: `index must be one of ${INDEX_KINDS.join(\", \")}` };\n }\n const invalidOption = indexOptionError({ declaration: args.named });\n if (invalidOption !== undefined) return { error: invalidOption };\n const indexName = args.named[\"indexName\"];\n if (indexName !== undefined) {\n if (typeof indexName !== \"string\" || !isSafeSqlName({ name: indexName })) {\n return { error: `indexName must be a plain identifier` };\n }\n if (fields.length !== 1) {\n return {\n error: `indexName needs exactly one indexed field — split @@vector declarations to name each index`,\n };\n }\n }\n return { declaration: { fields, ...args.named } };\n },\n },\n ],\n indexKinds: [\"hnsw\", \"ivfflat\"],\n },\n\n migrate: { artifacts: vectorArtifacts },\n\n client: {\n model: ({ model, dialect, declaration, typeNames }) => {\n const columns = vectorColumnsOf({ declaration });\n const fieldNames = Object.keys(columns);\n if (fieldNames.length === 0) return null;\n if (dialect !== \"postgres\") {\n throw unsupportedCapability({\n dialect,\n feature: `the vector extension (declared on model \"${model.name}\")`,\n hint: \"pgvector exists on postgres/pglite only\",\n });\n }\n const metricRaw = declString(declaration, \"metric\");\n const metric = METRICS.find((candidate) => candidate === metricRaw) ?? \"cosine\";\n const config: VectorNamespaceConfig = {\n table: tableNameOf({ model }),\n columns: Object.fromEntries(\n fieldNames.map((field) => [\n field,\n { column: columnNameOf({ model, field }), dims: columns[field]!.dims },\n ]),\n ),\n metric,\n };\n const byUnion = fieldNames.map((name) => JSON.stringify(name)).join(\" | \");\n return {\n kind: \"namespace\",\n // `nearest` reads; `set` issues an UPDATE, so it is NOT classified and\n // a $readOnly client neither declares nor forwards it.\n readOnly: [\"nearest\"],\n runtimeGlue: `createVectorNamespace(${JSON.stringify(config)})`,\n imports: [{ from: \"@vibeorm/extensions/vector\", names: [\"createVectorNamespace\"] }],\n dtsImports: [{ from: \"@vibeorm/extensions/vector\", names: [\"VectorHit\", \"VectorMetric\"] }],\n dts: [\n `readonly vector: {`,\n ` readonly nearest: (args: {`,\n ` readonly by: ${byUnion};`,\n ` readonly to: readonly number[];`,\n ` readonly metric?: VectorMetric;`,\n ` readonly take?: number;`,\n ` readonly where?: ${typeNames.whereInput};`,\n ` readonly maxDistance?: number;`,\n ` }) => Promise<VectorHit<${typeNames.payload}>[]>;`,\n ` readonly set: (args: {`,\n ` readonly where: ${typeNames.whereInput};`,\n ` readonly by: ${byUnion};`,\n ` readonly to: readonly number[];`,\n ` }) => Promise<number>;`,\n `};`,\n ],\n };\n },\n },\n\n doctor: async ({ execute, dialect }) => {\n if (dialect !== \"postgres\") {\n return { checks: [{ name: \"vector dialect\", ok: false, note: \"postgres/pglite only\" }] };\n }\n return { checks: [await pgExtensionCheck({ execute, name: \"vector\" })] };\n },\n });\n}\n",
|
|
5
|
+
"/**\n * `vector` — pgvector similarity search (extensions.md §5).\n *\n * Schema: `embedding Vector(1536)` (field type) + `@@vector([embedding],\n * metric: \"cosine\", index: \"hnsw\")` (index declaration). Client surface is a\n * namespace (D9): `db.doc.vector.nearest({ by, to, take })` and\n * `db.doc.vector.set({ where, by, to })`. Postgres AND pglite (on pglite’s\n * current 0.5 line pgvector loads from @electric-sql/pglite-pgvector — the\n * 0.3 line bundled it as @electric-sql/pglite/vector); sqlite/mysql →\n * VIBE_UNSUPPORTED_CAPABILITY at generate time.\n */\n\nimport { VibeError, assertIdentifierFits, defineExtension, fitDefaultName, unsupportedCapability } from \"@vibeorm/schema\";\nimport type {\n ExtensionArtifact,\n ExtensionSchemaContext,\n VibeExtension,\n} from \"@vibeorm/schema\";\nimport { ParamCollector, getSqlDialect, renderExpr } from \"@vibeorm/sql\";\nimport type { ExtensionMountContext } from \"@vibeorm/runtime\";\nimport {\n finiteNumber,\n columnNameOf,\n declString,\n declStringArray,\n isSafeSqlName,\n pgExtensionCheck,\n primaryKeyFieldOf,\n tableNameOf,\n} from \"../shared.ts\";\n\n// ─── Options & types ──────────────────────────────────────────────\n\nexport type VectorOptions = Record<string, never>;\n\nexport type VectorMetric = \"cosine\" | \"l2\" | \"ip\";\n\n/** One nearest-neighbour hit. */\nexport type VectorHit<T> = {\n readonly row: T;\n /** Distance under the query's metric — smaller is closer (ip is negated inner product). */\n readonly distance: number;\n};\n\nconst VERSION = \"2.0.0-alpha.0\";\n\nconst METRIC_OPERATOR: Readonly<Record<VectorMetric, string>> = {\n cosine: \"<=>\",\n l2: \"<->\",\n ip: \"<#>\",\n};\n\nconst METRIC_OPCLASS: Readonly<Record<VectorMetric, string>> = {\n cosine: \"vector_cosine_ops\",\n l2: \"vector_l2_ops\",\n ip: \"vector_ip_ops\",\n};\n\nconst METRICS: readonly VectorMetric[] = [\"cosine\", \"l2\", \"ip\"];\nconst INDEX_KINDS: readonly string[] = [\"hnsw\", \"ivfflat\"];\nconst DISTANCE_ALIAS = \"_vibe_distance\";\n\n// pgvector v0.8.2 src/hnsw.h and src/ivfflat.h reloption bounds.\nconst INDEX_BOUNDS: Readonly<Record<string, readonly [number, number]>> = {\n m: [2, 100],\n efConstruction: [4, 1000],\n lists: [1, 32768],\n};\n\nfunction indexOptionError(params: { declaration: Readonly<Record<string, unknown>> }): string | undefined {\n for (const [key, [min, max]] of Object.entries(INDEX_BOUNDS)) {\n const value = params.declaration[key];\n if (value !== undefined && (typeof value !== \"number\" || !Number.isInteger(value) || value < min || value > max)) {\n return `${key} must be an integer between ${min} and ${max}`;\n }\n }\n return undefined;\n}\n\n// ─── Declaration helpers ──────────────────────────────────────────\n\ntype VectorColumnDecl = { readonly column: string; readonly dims: number };\n\nfunction vectorColumnsOf(params: {\n declaration: Readonly<Record<string, unknown>>;\n}): Readonly<Record<string, { readonly dims: number }>> {\n const columns = params.declaration[\"columns\"];\n if (columns === null || typeof columns !== \"object\" || Array.isArray(columns)) return {};\n const out: Record<string, { dims: number }> = {};\n for (const [field, spec] of Object.entries(columns as Record<string, unknown>)) {\n if (spec === null || typeof spec !== \"object\") continue;\n const dims = (spec as { dims?: unknown }).dims;\n if (typeof dims === \"number\") out[field] = { dims };\n }\n return out;\n}\n\n// ─── Artifacts ────────────────────────────────────────────────────\n\nfunction vectorArtifacts(ctx: ExtensionSchemaContext): readonly ExtensionArtifact[] {\n if (ctx.dialect !== \"postgres\") {\n throw unsupportedCapability({\n dialect: ctx.dialect,\n feature: \"the vector extension (pgvector)\",\n hint: \"pgvector exists on postgres/pglite only (sqlite-vec/mysql are post-2.0)\",\n });\n }\n const dialect = getSqlDialect({ dialect: ctx.dialect });\n const quote = (name: string): string => dialect.quoteIdent({ name });\n\n const artifacts: ExtensionArtifact[] = [\n {\n id: \"vector:extension\",\n owns: { kind: \"postgresExtension\", name: \"vector\" },\n create: [\"CREATE EXTENSION IF NOT EXISTS vector;\"],\n drop: [\"DROP EXTENSION IF EXISTS vector;\"],\n },\n ];\n\n for (const [modelName, declaration] of Object.entries(ctx.declarations)) {\n const model = ctx.schema.models.find((candidate) => candidate.name === modelName);\n if (model === undefined) continue;\n const invalidOption = indexOptionError({ declaration });\n if (invalidOption !== undefined) {\n throw new VibeError({ code: \"VIBE_SCHEMA_INVALID\", message: invalidOption, meta: { model: modelName } });\n }\n const table = tableNameOf({ model });\n const columns = vectorColumnsOf({ declaration });\n\n const indexFields = declStringArray(declaration, \"fields\") ?? [];\n const kindRaw = declString(declaration, \"index\") ?? \"hnsw\";\n // The parse-time attribute validation is the usual gate; a declaration\n // assembled by hand (a DSL extension declaration, a hand-written IR) must\n // not reach `USING <anything>` — the kind is spliced into DDL.\n if (!INDEX_KINDS.includes(kindRaw)) {\n throw new VibeError({\n code: \"VIBE_SCHEMA_INVALID\",\n message: `@@vector on \"${modelName}\" declares index kind \"${kindRaw}\" — expected one of ${INDEX_KINDS.join(\", \")}`,\n meta: { model: modelName, index: kindRaw },\n });\n }\n const metricRaw = declString(declaration, \"metric\") ?? \"cosine\";\n const metric = METRICS.find((candidate) => candidate === metricRaw) ?? \"cosine\";\n\n for (const field of indexFields) {\n if (columns[field] === undefined) {\n throw new VibeError({\n code: \"VIBE_SCHEMA_INVALID\",\n message: `@@vector on \"${modelName}\" indexes \"${field}\", which is not a Vector(n) column`,\n meta: { model: modelName, field },\n });\n }\n const column = columnNameOf({ model, field });\n // Adoption override (validated single-field-only at parse): consumers\n // with a live index keep its name instead of a rename migration.\n const nameOverride = indexFields.length === 1 ? declString(declaration, \"indexName\") : undefined;\n // Same identifier-limit rule as every minted index name: a truncated\n // name would miss migrate's ownership handshake and be rebuilt (HNSW!)\n // on every push.\n if (nameOverride !== undefined) assertIdentifierFits({ name: nameOverride, dialect: ctx.dialect, what: \"@@vector indexName\", remedy: \"Shorten it.\" });\n const indexName = nameOverride ?? fitDefaultName({ prefix: `${table}_${column}_${kindRaw}`, suffix: \"_idx\", dialect: ctx.dialect });\n const withOptions: string[] = [];\n const m = declaration[\"m\"];\n const efConstruction = declaration[\"efConstruction\"];\n const lists = declaration[\"lists\"];\n if (kindRaw === \"hnsw\") {\n if (typeof m === \"number\") withOptions.push(`m = ${m}`);\n if (typeof efConstruction === \"number\") withOptions.push(`ef_construction = ${efConstruction}`);\n } else if (typeof lists === \"number\") {\n withOptions.push(`lists = ${lists}`);\n }\n const withClause = withOptions.length === 0 ? \"\" : ` WITH (${withOptions.join(\", \")})`;\n artifacts.push({\n id: `vector:${modelName}:${field}`,\n owns: { kind: \"index\", table, name: indexName },\n create: [\n `CREATE INDEX IF NOT EXISTS ${quote(indexName)} ON ${quote(table)} USING ${kindRaw} (${quote(column)} ${METRIC_OPCLASS[metric]})${withClause};`,\n ],\n drop: [`DROP INDEX IF EXISTS ${quote(indexName)};`],\n });\n }\n }\n return artifacts;\n}\n\n// ─── Runtime namespace (generated-glue target) ────────────────────\n\n/** Baked per-model config the generator writes into the client. */\nexport type VectorNamespaceConfig = {\n readonly table: string;\n /** Field name → column + dims. */\n readonly columns: Readonly<Record<string, VectorColumnDecl>>;\n /** Default metric from the schema declaration. */\n readonly metric: VectorMetric;\n};\n\nexport type VectorNearestArgs = {\n readonly by: string;\n readonly to: readonly number[];\n readonly metric?: VectorMetric;\n readonly take?: number;\n readonly where?: Record<string, unknown>;\n readonly maxDistance?: number;\n};\n\nexport type VectorSetArgs = {\n readonly where: Record<string, unknown>;\n readonly by: string;\n readonly to: readonly number[];\n};\n\nexport type VectorNamespace = {\n readonly nearest: (args: VectorNearestArgs) => Promise<VectorHit<Record<string, unknown>>[]>;\n readonly set: (args: VectorSetArgs) => Promise<number>;\n};\n\nfunction resolveColumn(params: {\n config: VectorNamespaceConfig;\n args: { by: string; to: readonly number[] };\n}): { column: string; literal: string } {\n const { config, args } = params;\n const spec = config.columns[args.by];\n if (spec === undefined) {\n throw new VibeError({\n code: \"VIBE_VALIDATION\",\n message: `\"${args.by}\" is not a Vector(n) column — declared: ${Object.keys(config.columns).join(\", \")}`,\n meta: { by: args.by },\n });\n }\n if (!Array.isArray(args.to) || args.to.some((entry) => typeof entry !== \"number\" || !Number.isFinite(entry))) {\n throw new VibeError({\n code: \"VIBE_VALIDATION\",\n message: `vector \"to\" must be an array of finite numbers`,\n meta: { by: args.by },\n });\n }\n if (args.to.length !== spec.dims) {\n throw new VibeError({\n code: \"VIBE_VALIDATION\",\n message: `vector \"to\" has ${args.to.length} dimensions, \"${args.by}\" expects ${spec.dims}`,\n meta: { by: args.by, dims: spec.dims },\n });\n }\n return { column: spec.column, literal: `[${args.to.join(\",\")}]` };\n}\n\n/**\n * The generated client's glue target: bakes per-model config at generate time,\n * mounts as the `vector` namespace at runtime (D9).\n */\nexport function createVectorNamespace(\n config: VectorNamespaceConfig,\n): (ctx: ExtensionMountContext) => VectorNamespace {\n return (ctx: ExtensionMountContext): VectorNamespace => {\n const dialect = ctx.dialect;\n const quote = (name: string): string => dialect.quoteIdent({ name });\n const t = quote(\"t\");\n\n return {\n nearest: async (args: VectorNearestArgs): Promise<VectorHit<Record<string, unknown>>[]> => {\n const take = finiteNumber({ value: args.take === undefined ? 10 : args.take, name: \"take\", integer: true, min: 1 });\n if (args.maxDistance !== undefined) finiteNumber({ value: args.maxDistance, name: \"maxDistance\" });\n const { column, literal } = resolveColumn({ config, args });\n const metric = args.metric ?? config.metric;\n const op = METRIC_OPERATOR[metric];\n const col = `${t}.${quote(column)}`;\n const collector = new ParamCollector(dialect);\n const vector = dialect.name === \"postgres\" ? collector.add(literal) : undefined;\n\n let text = `SELECT ${ctx.projection({ qualify: \"t\" })}, (${col} ${op} ${vector ?? collector.add(literal)}) AS ${quote(DISTANCE_ALIAS)}`;\n text += ` FROM ${quote(config.table)} AS ${t}`;\n text += ` WHERE ${col} IS NOT NULL`;\n if (args.where !== undefined) {\n const expr = ctx.compileWhere({ where: args.where, qualify: \"t\" });\n if (expr !== undefined) text += ` AND (${renderExpr({ dialect, expr, collector })})`;\n }\n if (args.maxDistance !== undefined) {\n text += ` AND (${col} ${op} ${vector ?? collector.add(literal)}) < ${collector.add(args.maxDistance)}`;\n }\n text += ` ORDER BY ${col} ${op} ${vector ?? collector.add(literal)} LIMIT ${take}`;\n\n const rows = await ctx.executeRows({\n text,\n values: collector.values,\n method: \"vector.nearest\",\n });\n return rows.map((row) => {\n const { [DISTANCE_ALIAS]: distance, ...rest } = row;\n return { row: rest, distance: Number(distance) };\n });\n },\n\n set: async (args: VectorSetArgs): Promise<number> => {\n const { column, literal } = resolveColumn({ config, args });\n const collector = new ParamCollector(dialect);\n let text = `UPDATE ${quote(config.table)} SET ${quote(column)} = ${collector.add(literal)}`;\n const expr = ctx.compileWhere({ where: args.where });\n if (expr !== undefined) text += ` WHERE ${renderExpr({ dialect, expr, collector })}`;\n text += ` RETURNING 1 AS ${quote(\"_vibe_set\")}`;\n const rows = await ctx.executeRows({ text, values: collector.values, method: \"vector.set\" });\n return rows.length;\n },\n };\n };\n}\n\n// ─── Factory ──────────────────────────────────────────────────────\n\n/**\n * pgvector similarity search.\n *\n * @example schema\n * // embedding Vector(1536)\n * // @@vector([embedding], metric: \"cosine\", index: \"hnsw\")\n * const near = await db.doc.vector.nearest({ by: \"embedding\", to: queryVec, take: 10 });\n */\nexport function vector(options: VectorOptions = {}): VibeExtension {\n return defineExtension({\n name: \"vector\",\n version: VERSION,\n options: { ...options },\n requires: { postgresql: { extension: \"vector\" }, pglite: { extension: \"vector\" } },\n\n schema: {\n fieldTypes: [\n {\n name: \"Vector\",\n lower: ({ field, args }) => {\n const dims = Number(args[0]);\n if (!Number.isInteger(dims) || dims <= 0) {\n return { error: \"Vector(n) requires a positive integer dimension, e.g. Vector(1536)\" };\n }\n return {\n nativeType: `vector(${dims})`,\n declaration: { columns: { [field]: { dims } } },\n };\n },\n },\n ],\n modelAttributes: [\n {\n name: \"vector\",\n parse: ({ args, fieldNames }) => {\n const fields = args.fields ?? [];\n if (fields.length === 0) {\n return { error: \"@@vector requires a field list, e.g. @@vector([embedding])\" };\n }\n const missing = fields.find((name) => !fieldNames.includes(name));\n if (missing !== undefined) {\n return { error: `@@vector references unknown field \"${missing}\"` };\n }\n const metric = args.named[\"metric\"];\n if (metric !== undefined && !METRICS.includes(metric as VectorMetric)) {\n return { error: `metric must be one of ${METRICS.join(\", \")}` };\n }\n const kind = args.named[\"index\"];\n if (kind !== undefined && !INDEX_KINDS.includes(String(kind))) {\n return { error: `index must be one of ${INDEX_KINDS.join(\", \")}` };\n }\n const invalidOption = indexOptionError({ declaration: args.named });\n if (invalidOption !== undefined) return { error: invalidOption };\n const indexName = args.named[\"indexName\"];\n if (indexName !== undefined) {\n if (typeof indexName !== \"string\" || !isSafeSqlName({ name: indexName })) {\n return { error: `indexName must be a plain identifier` };\n }\n if (fields.length !== 1) {\n return {\n error: `indexName needs exactly one indexed field — split @@vector declarations to name each index`,\n };\n }\n }\n return { declaration: { fields, ...args.named } };\n },\n },\n ],\n indexKinds: [\"hnsw\", \"ivfflat\"],\n },\n\n migrate: { artifacts: vectorArtifacts },\n\n client: {\n model: ({ model, dialect, declaration, typeNames }) => {\n const columns = vectorColumnsOf({ declaration });\n const fieldNames = Object.keys(columns);\n if (fieldNames.length === 0) return null;\n if (dialect !== \"postgres\") {\n throw unsupportedCapability({\n dialect,\n feature: `the vector extension (declared on model \"${model.name}\")`,\n hint: \"pgvector exists on postgres/pglite only\",\n });\n }\n const metricRaw = declString(declaration, \"metric\");\n const metric = METRICS.find((candidate) => candidate === metricRaw) ?? \"cosine\";\n const config: VectorNamespaceConfig = {\n table: tableNameOf({ model }),\n columns: Object.fromEntries(\n fieldNames.map((field) => [\n field,\n { column: columnNameOf({ model, field }), dims: columns[field]!.dims },\n ]),\n ),\n metric,\n };\n const byUnion = fieldNames.map((name) => JSON.stringify(name)).join(\" | \");\n return {\n kind: \"namespace\",\n // `nearest` reads; `set` issues an UPDATE, so it is NOT classified and\n // a $readOnly client neither declares nor forwards it.\n readOnly: [\"nearest\"],\n runtimeGlue: `createVectorNamespace(${JSON.stringify(config)})`,\n imports: [{ from: \"@vibeorm/extensions/vector\", names: [\"createVectorNamespace\"] }],\n dtsImports: [{ from: \"@vibeorm/extensions/vector\", names: [\"VectorHit\", \"VectorMetric\"] }],\n dts: [\n `readonly vector: {`,\n ` readonly nearest: (args: {`,\n ` readonly by: ${byUnion};`,\n ` readonly to: readonly number[];`,\n ` readonly metric?: VectorMetric;`,\n ` readonly take?: number;`,\n ` readonly where?: ${typeNames.whereInput};`,\n ` readonly maxDistance?: number;`,\n ` }) => Promise<VectorHit<${typeNames.payload}>[]>;`,\n ` readonly set: (args: {`,\n ` readonly where: ${typeNames.whereInput};`,\n ` readonly by: ${byUnion};`,\n ` readonly to: readonly number[];`,\n ` }) => Promise<number>;`,\n `};`,\n ],\n };\n },\n },\n\n doctor: async ({ execute, dialect }) => {\n if (dialect !== \"postgres\") {\n return { checks: [{ name: \"vector dialect\", ok: false, note: \"postgres/pglite only\" }] };\n }\n return { checks: [await pgExtensionCheck({ execute, name: \"vector\" })] };\n },\n });\n}\n",
|
|
6
6
|
"/**\n * Helpers shared by the tier-1 extensions. Nothing here is privileged —\n * userland extensions can do everything these do with the same public hooks.\n */\n\nimport { VibeError } from \"@vibeorm/schema\";\nimport type {\n ExtensionDoctorCheck,\n ExtensionSqlExecutor,\n ModelIR,\n} from \"@vibeorm/schema\";\n\n// ─── Numeric admission ────────────────────────────────────────────\n\n/** Refuse non-finite extension arguments before compilation or execution. */\nexport function finiteNumber(params: { value: unknown; name: string; integer?: boolean; min?: number }): number {\n const { value, name, integer, min } = params;\n if (typeof value !== \"number\" || !Number.isFinite(value) ||\n (integer === true && !Number.isSafeInteger(value)) || (min !== undefined && value < min)) {\n throw new VibeError({\n code: \"VIBE_VALIDATION\",\n message: `${name} must be a finite ${integer === true ? \"safe integer\" : \"number\"}${min === undefined ? \"\" : ` >= ${min}`}`,\n meta: { argument: name },\n });\n }\n return value;\n}\n\n// ─── IR lookups ───────────────────────────────────────────────────\n\n/** Table name of a model (`dbName ?? name`). */\nexport function tableNameOf(params: { model: ModelIR }): string {\n return params.model.dbName ?? params.model.name;\n}\n\n/** Column name of a field (`dbName ?? name`); the field must exist. */\nexport function columnNameOf(params: { model: ModelIR; field: string }): string {\n const found = params.model.fields.find((candidate) => candidate.name === params.field);\n if (found === undefined) {\n throw new VibeError({\n code: \"VIBE_INTERNAL\",\n message: `extension referenced unknown field \"${params.field}\" on model \"${params.model.name}\"`,\n meta: { model: params.model.name, field: params.field },\n });\n }\n return found.dbName ?? found.name;\n}\n\n/** The model's single primary-key field name, for key_field-style options. */\nexport function primaryKeyFieldOf(params: { model: ModelIR }): string | null {\n const { model } = params;\n if (model.primaryKey !== undefined && model.primaryKey.fields.length === 1) {\n return model.primaryKey.fields[0] ?? null;\n }\n const idField = model.fields.find((field) => field.isId);\n return idField?.name ?? null;\n}\n\n// ─── Declaration readers (ExtensionDeclIR.options are untyped JSON) ─\n\nexport function declString(decl: Readonly<Record<string, unknown>>, key: string): string | undefined {\n const value = decl[key];\n return typeof value === \"string\" ? value : undefined;\n}\n\nexport function declStringArray(\n decl: Readonly<Record<string, unknown>>,\n key: string,\n): readonly string[] | undefined {\n const value = decl[key];\n if (!Array.isArray(value)) return undefined;\n return value.every((entry): entry is string => typeof entry === \"string\") ? value : undefined;\n}\n\nexport function declNumberArray(\n decl: Readonly<Record<string, unknown>>,\n key: string,\n): readonly number[] | undefined {\n const value = decl[key];\n if (!Array.isArray(value)) return undefined;\n return value.every((entry): entry is number => typeof entry === \"number\") ? value : undefined;\n}\n\n// ─── Identifier safety ────────────────────────────────────────────\n\nconst SQL_LITERAL_NAME = /^[A-Za-z_][A-Za-z0-9_]*$/;\n\n/**\n * Names an extension splices as SQL LITERALS (regconfig names, key_field\n * options) must be plain identifiers — everything else is rejected at parse\n * time so no schema-borne text ever reaches SQL unquoted.\n */\nexport function isSafeSqlName(params: { name: string }): boolean {\n return SQL_LITERAL_NAME.test(params.name);\n}\n\n// ─── Doctor helpers ───────────────────────────────────────────────\n\n/** Availability of a postgres extension, per pg_available_extensions. */\nexport async function pgExtensionCheck(params: {\n execute: ExtensionSqlExecutor;\n name: string;\n}): Promise<ExtensionDoctorCheck> {\n const { execute, name } = params;\n try {\n const rows = await execute({\n text: \"SELECT name, default_version, installed_version FROM pg_available_extensions WHERE name = $1\",\n values: [name],\n });\n const row = rows[0];\n if (row === undefined) {\n return { name: `extension ${name}`, ok: false, note: \"not available on this server\" };\n }\n const installed = row[\"installed_version\"];\n return {\n name: `extension ${name}`,\n ok: true,\n note: installed === null || installed === undefined ? \"available, not installed\" : `installed ${String(installed)}`,\n };\n } catch (error) {\n return {\n name: `extension ${name}`,\n ok: false,\n note: `check failed: ${error instanceof Error ? error.message : String(error)}`,\n };\n }\n}\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "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",
|
|
9
|
-
"debugId": "
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "8A08621F3E9969AF64756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibeorm/extensions",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Tier-1 VibeORM extensions — full-text search, pgvector similarity and pg_trgm fuzzy matching",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"orm",
|
|
@@ -47,16 +47,18 @@
|
|
|
47
47
|
},
|
|
48
48
|
"files": [
|
|
49
49
|
"dist",
|
|
50
|
-
"
|
|
50
|
+
"!dist/**/*.d.ts.map",
|
|
51
|
+
"README.md",
|
|
52
|
+
"LICENSE"
|
|
51
53
|
],
|
|
52
54
|
"engines": {
|
|
53
55
|
"node": ">=18",
|
|
54
56
|
"bun": ">=1.2.0"
|
|
55
57
|
},
|
|
56
58
|
"dependencies": {
|
|
57
|
-
"@vibeorm/runtime": "
|
|
58
|
-
"@vibeorm/schema": "
|
|
59
|
-
"@vibeorm/sql": "
|
|
59
|
+
"@vibeorm/runtime": "3.0.0",
|
|
60
|
+
"@vibeorm/schema": "3.0.0",
|
|
61
|
+
"@vibeorm/sql": "3.0.0"
|
|
60
62
|
},
|
|
61
63
|
"publishConfig": {
|
|
62
64
|
"access": "public"
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACtF,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAClE,YAAY,EACV,SAAS,EACT,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"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"}
|
package/dist/shared.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,OAAO,EACR,MAAM,iBAAiB,CAAC;AAIzB,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAW9G;AAID,gDAAgD;AAChD,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAE9D;AAED,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAU9E;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAO3E;AAID,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGnG;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACvC,GAAG,EAAE,MAAM,GACV,SAAS,MAAM,EAAE,GAAG,SAAS,CAI/B;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACvC,GAAG,EAAE,MAAM,GACV,SAAS,MAAM,EAAE,GAAG,SAAS,CAI/B;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAE/D;AAID,yEAAyE;AACzE,wBAAsB,gBAAgB,CAAC,MAAM,EAAE;IAC7C,OAAO,EAAE,oBAAoB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAwBhC"}
|
package/dist/trgm/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/trgm/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAGV,aAAa,EACd,MAAM,iBAAiB,CAAC;AAMzB,MAAM,MAAM,WAAW,GAAG;IACxB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAqD/F;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,aAAa,CAgL7D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vector/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAGV,aAAa,EACd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAc9D,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;AAElD,iCAAiC;AACjC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAChB,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC;AAuCF,KAAK,gBAAgB,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AA0G3E,mEAAmE;AACnE,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC7D,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7F,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACxD,CAAC;AAgCF;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,qBAAqB,GAC5B,CAAC,GAAG,EAAE,qBAAqB,KAAK,eAAe,CAmDjD;AAID;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,aAAa,CA8HjE"}
|