@memberjunction/ai-vectors-sqlserver 0.0.1 → 5.39.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLServerVectorDatabase.js","sourceRoot":"","sources":["../../src/models/SQLServerVectorDatabase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /** SQL Server major version that first ships the native `VECTOR` type (2025). */
2
+ export declare const SQLSERVER_2025_MAJOR_VERSION = 17;
3
+ /**
4
+ * Default cardinality threshold for the filtered-query dispatch: at or below this many
5
+ * filter-matching rows, use the exact iterative-filter path; above it, use DiskANN.
6
+ */
7
+ export declare const DEFAULT_ITERATIVE_FILTER_THRESHOLD = 50000;
8
+ /** Where the vectors physically live relative to MJ's entities. */
9
+ export type SqlServerStorageMode = 'sibling' | 'entityColumn';
10
+ /** Map the MJ metric enum to the SQL Server distance-function / index metric name. */
11
+ export declare const METRIC_DISTANCE_FN: Readonly<Record<string, string>>;
12
+ /** Resolve the SQL Server distance metric name for a metric, defaulting to cosine. */
13
+ export declare function MetricDistanceFn(metric: string): string;
14
+ /**
15
+ * Convert a `VECTOR_DISTANCE` value to a similarity score (higher = more similar), mirroring
16
+ * the pgvector provider's semantics so cross-store results are comparable.
17
+ */
18
+ export declare function DistanceToScore(distance: number, metric: string): number;
19
+ /** Format a number array as the JSON-array string SQL Server casts to `VECTOR(N)`. */
20
+ export declare function VectorJson(values: ReadonlyArray<number>): string;
21
+ /** Parse a SQL Server vector JSON string (e.g. `"[0.1,0.2]"`) into a number array. */
22
+ export declare function ParseVectorJson(value: string | null | undefined): number[];
23
+ /** Derive a keyword corpus from metadata string values (mirrors the pgvector provider). */
24
+ export declare function DeriveContent(metadata: Record<string, unknown> | undefined): string;
25
+ /** Clamp a requested topK to a safe positive integer for literal interpolation into `TOP (N)`. */
26
+ export declare function SafeTopK(topK: number, max?: number): number;
27
+ /**
28
+ * Describes the physical target a query runs against — the sibling table MJ manages, or an
29
+ * existing VECTOR column on an entity table (the migration shape for systems that already store
30
+ * embeddings on their own tables).
31
+ */
32
+ export interface SqlServerIndexTarget {
33
+ /** Schema-qualified table the vectors live in, already bracket-quoted (e.g. `[__mj].[vec_x]`). */
34
+ qualifiedTable: string;
35
+ /** The VECTOR column name (sibling: `embedding`; entityColumn: e.g. `Embedding`). */
36
+ vectorColumn: string;
37
+ /** The key/id column projected as `id` (sibling: `id`; entityColumn: e.g. `ID`). */
38
+ keyColumn: string;
39
+ /** Extra columns returned with each match (sibling: `['metadata']`; entityColumn: entity cols). */
40
+ selectColumns: ReadonlyArray<string>;
41
+ /** How a filter field resolves to SQL: JSON on the metadata column, or a live entity column. */
42
+ filterMode: 'jsonMetadata' | 'column';
43
+ }
44
+ /** A parameterized SQL fragment for SQL Server (`@pN` placeholders). */
45
+ export interface SqlServerFragment {
46
+ /** Clause text without a leading `WHERE`/`AND`, or empty string if no conditions. */
47
+ clause: string;
48
+ /** Positional parameter values, in `@p${startIndex}` order. */
49
+ params: unknown[];
50
+ }
51
+ /**
52
+ * Build a metadata `WHERE` fragment. In `jsonMetadata` mode fields resolve via `JSON_VALUE` on
53
+ * the sibling table's `metadata` column; in `column` mode they resolve to live entity columns
54
+ * (`c.[Field]`) — which is what lets entityColumn-mode filters hit current relational values.
55
+ * Supports the `_pgvectorConditions` envelope and the generic `{field:value}` / `{$eq}` / `{$in}`
56
+ * shapes, matching the pgvector provider's filter semantics.
57
+ */
58
+ export declare function BuildFilterFragment(filter: object | undefined, startParamIndex: number, mode: 'jsonMetadata' | 'column'): SqlServerFragment;
59
+ /** A fully-built parameterized statement. */
60
+ export interface BuiltQuery {
61
+ sql: string;
62
+ params: unknown[];
63
+ }
64
+ /** Shared inputs to the vector query builders. */
65
+ export interface SqlServerQueryBuild {
66
+ target: SqlServerIndexTarget;
67
+ dimension: number;
68
+ metric: string;
69
+ vector: ReadonlyArray<number>;
70
+ topK: number;
71
+ filter?: object;
72
+ }
73
+ /**
74
+ * Build the **approximate** (DiskANN) vector query using the `VECTOR_SEARCH` TVF. This is the
75
+ * fast path — it engages the vector index. Filters apply as an outer `WHERE` on the TVF row
76
+ * alias `c`. `@p0` is the query-vector JSON; filter params follow at `@p1`.
77
+ */
78
+ export declare function BuildApproximateVectorQuery(build: SqlServerQueryBuild): BuiltQuery;
79
+ /**
80
+ * Build the **exact** iterative-filter query: pre-filter on a B-tree index, then compute
81
+ * `VECTOR_DISTANCE` per surviving row in a CTE. Bypasses DiskANN entirely — used when a filter's
82
+ * matching set is small enough that brute force beats ANN's non-convergence on disjoint clusters.
83
+ * The `vectorColumn IS NOT NULL` guard keeps null-embedding rows out. `@p0` is the query vector.
84
+ * `WITH (NOLOCK)` is an intentional perf choice for a read-only similarity scan — it permits dirty
85
+ * reads, acceptable for ranked search where exact transactional consistency isn't required.
86
+ */
87
+ export declare function BuildExactVectorQuery(build: SqlServerQueryBuild): BuiltQuery;
88
+ /**
89
+ * Build the cardinality COUNT used by the dispatch logic to choose exact vs. approximate.
90
+ * Deliberately omits the `vectorColumn IS NOT NULL` predicate (forcing a per-row lookup of the
91
+ * VECTOR column would defeat the covering index — the missing-vector rows are immaterial to the
92
+ * threshold decision). Returns no params when there's no filter.
93
+ */
94
+ export declare function BuildFilterCountQuery(target: SqlServerIndexTarget, filter: object | undefined): BuiltQuery;
95
+ //# sourceMappingURL=sqlserverColocatedSQL.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlserverColocatedSQL.d.ts","sourceRoot":"","sources":["../../src/models/sqlserverColocatedSQL.ts"],"names":[],"mappings":"AA+BA,iFAAiF;AACjF,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,kCAAkC,QAAQ,CAAC;AAExD,mEAAmE;AACnE,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,cAAc,CAAC;AAE9D,sFAAsF;AACtF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAI/D,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAUxE;AAED,sFAAsF;AACtF,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAEhE;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAU1E;AAOD,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,CASnF;AAED,kGAAkG;AAClG,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAO,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,kGAAkG;IAClG,cAAc,EAAE,MAAM,CAAC;IACvB,qFAAqF;IACrF,YAAY,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,mGAAmG;IACnG,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,gGAAgG;IAChG,UAAU,EAAE,cAAc,GAAG,QAAQ,CAAC;CACzC;AAkBD,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAC9B,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,MAAM,EAAE,OAAO,EAAE,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,cAAc,GAAG,QAAQ,GAChC,iBAAiB,CA2DnB;AAED,6CAA6C;AAC7C,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAcD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,mBAAmB,GAAG,UAAU,CAqBlF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,GAAG,UAAU,CAuB5E;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAO1G"}
@@ -0,0 +1,255 @@
1
+ /**
2
+ * @fileoverview Pure SQL builders for the SQL Server 2025 native colocated vector provider.
3
+ *
4
+ * Functional core — pure functions, no I/O. The provider executes them via the borrowed host
5
+ * connection. SQL Server 2025 introduces the `VECTOR(N)` type, the `VECTOR_SEARCH` DiskANN
6
+ * table-valued function, and `VECTOR_DISTANCE`. Positional params bind as `@p0..@pN` (see
7
+ * `SQLServerDataProvider.RunColocatedSQL`); `@p0` is always the query-vector JSON.
8
+ *
9
+ * The SQL shapes here are backported from a production-verified SQL Server 2025 implementation.
10
+ * Key hard-won lessons encoded below:
11
+ *
12
+ * - **Use `VECTOR_SEARCH` + `SELECT TOP (N) WITH APPROXIMATE`, never `ORDER BY VECTOR_DISTANCE`.**
13
+ * The latter does NOT engage the DiskANN vector index — measured >60s vs ~50ms (≈1000×).
14
+ * - **`SIMILAR_TO` requires a DECLARED `VECTOR` variable**, not an inline `CAST(...)` — the
15
+ * parser rejects the cast there. So every search batch is `DECLARE @qv ...; SELECT ...`.
16
+ * - **`TOP (N)` must be a literal**, not a bound parameter (binding throws "Incorrect syntax
17
+ * near '('"). N is integer-clamped here before interpolation — no injection vector.
18
+ * - **`WITH APPROXIMATE` is incompatible with `OFFSET/FETCH`** — ANN search can't paginate.
19
+ * - **Emit only the filter predicates actually in play** — the `(@p IS NULL OR col=@p)` guard
20
+ * confuses the cardinality estimator into a clustered-index scan (sub-second → 30s+).
21
+ * - **Filtered ANN convergence**: when a metadata filter's row cluster doesn't intersect the
22
+ * query vector's neighborhood, DiskANN runs to timeout. Below a cardinality threshold we
23
+ * switch to an exact `VECTOR_DISTANCE` CTE (brute force over the filtered set) instead.
24
+ *
25
+ * NOTE: this provider is **untested at runtime** pending a SQL Server 2025 instance. The pure
26
+ * builders below are unit-tested for SQL shape; the I/O paths require live verification.
27
+ *
28
+ * @module @memberjunction/ai-vectors-sqlserver
29
+ */
30
+ import { ValidateSqlIdentifier } from '@memberjunction/ai-vectordb';
31
+ /** SQL Server major version that first ships the native `VECTOR` type (2025). */
32
+ export const SQLSERVER_2025_MAJOR_VERSION = 17;
33
+ /**
34
+ * Default cardinality threshold for the filtered-query dispatch: at or below this many
35
+ * filter-matching rows, use the exact iterative-filter path; above it, use DiskANN.
36
+ */
37
+ export const DEFAULT_ITERATIVE_FILTER_THRESHOLD = 50000;
38
+ /** Map the MJ metric enum to the SQL Server distance-function / index metric name. */
39
+ export const METRIC_DISTANCE_FN = {
40
+ cosine: 'cosine',
41
+ euclidean: 'euclidean',
42
+ dotproduct: 'dot',
43
+ };
44
+ /** Resolve the SQL Server distance metric name for a metric, defaulting to cosine. */
45
+ export function MetricDistanceFn(metric) {
46
+ return METRIC_DISTANCE_FN[metric] ?? 'cosine';
47
+ }
48
+ /**
49
+ * Convert a `VECTOR_DISTANCE` value to a similarity score (higher = more similar), mirroring
50
+ * the pgvector provider's semantics so cross-store results are comparable.
51
+ */
52
+ export function DistanceToScore(distance, metric) {
53
+ switch (metric) {
54
+ case 'euclidean':
55
+ return 1 / (1 + distance);
56
+ case 'dotproduct':
57
+ return -distance;
58
+ case 'cosine':
59
+ default:
60
+ return 1 - distance;
61
+ }
62
+ }
63
+ /** Format a number array as the JSON-array string SQL Server casts to `VECTOR(N)`. */
64
+ export function VectorJson(values) {
65
+ return JSON.stringify([...values]);
66
+ }
67
+ /** Parse a SQL Server vector JSON string (e.g. `"[0.1,0.2]"`) into a number array. */
68
+ export function ParseVectorJson(value) {
69
+ if (!value) {
70
+ return [];
71
+ }
72
+ try {
73
+ const parsed = JSON.parse(value);
74
+ return Array.isArray(parsed) ? parsed.map(Number) : [];
75
+ }
76
+ catch {
77
+ return [];
78
+ }
79
+ }
80
+ /** System metadata keys excluded from the derived keyword content corpus. */
81
+ const NON_CONTENT_KEYS = new Set([
82
+ 'RecordID', 'Entity', 'TemplateID', 'EntityIcon', '__mj_UpdatedAt', 'SourceType',
83
+ ]);
84
+ /** Derive a keyword corpus from metadata string values (mirrors the pgvector provider). */
85
+ export function DeriveContent(metadata) {
86
+ if (!metadata) {
87
+ return '';
88
+ }
89
+ return Object.entries(metadata)
90
+ .filter(([key, value]) => !NON_CONTENT_KEYS.has(key) && value != null)
91
+ .map(([, value]) => (Array.isArray(value) ? value.join(' ') : String(value)))
92
+ .filter(part => part.trim().length > 0)
93
+ .join(' ');
94
+ }
95
+ /** Clamp a requested topK to a safe positive integer for literal interpolation into `TOP (N)`. */
96
+ export function SafeTopK(topK, max = 1000) {
97
+ return Math.max(1, Math.min(max, Math.floor(Number(topK) || 1)));
98
+ }
99
+ /** Validate an entity column/identifier (throws on anything not allow-listed) before bracket-quoting. */
100
+ function safeColumn(field) {
101
+ return ValidateSqlIdentifier(field, 'column');
102
+ }
103
+ /** Build the SQL LHS for a filter field given the target's filter mode (alias is always `c`).
104
+ * column mode → a live entity column (identifier-validated); jsonMetadata mode → a JSON path on the
105
+ * `metadata` string column, where the key is data inside a single-quoted literal (quote-doubled, so
106
+ * no SQL break-out — a bare identifier allow-list there would wrongly reject field names with spaces). */
107
+ function filterColumnRef(field, mode) {
108
+ if (mode === 'column') {
109
+ return `c.[${safeColumn(field)}]`;
110
+ }
111
+ return `JSON_VALUE(c.metadata, '$.${field.replace(/'/g, "''")}')`;
112
+ }
113
+ /**
114
+ * Build a metadata `WHERE` fragment. In `jsonMetadata` mode fields resolve via `JSON_VALUE` on
115
+ * the sibling table's `metadata` column; in `column` mode they resolve to live entity columns
116
+ * (`c.[Field]`) — which is what lets entityColumn-mode filters hit current relational values.
117
+ * Supports the `_pgvectorConditions` envelope and the generic `{field:value}` / `{$eq}` / `{$in}`
118
+ * shapes, matching the pgvector provider's filter semantics.
119
+ */
120
+ export function BuildFilterFragment(filter, startParamIndex, mode) {
121
+ if (!filter) {
122
+ return { clause: '', params: [] };
123
+ }
124
+ const filterRecord = filter;
125
+ const parts = [];
126
+ const params = [];
127
+ let idx = startParamIndex;
128
+ const pushEq = (field, value) => {
129
+ parts.push(`${filterColumnRef(field, mode)} = @p${idx}`);
130
+ params.push(value);
131
+ idx += 1;
132
+ };
133
+ const pushIn = (field, values) => {
134
+ const placeholders = values.map(() => `@p${idx++}`).join(', ');
135
+ parts.push(`${filterColumnRef(field, mode)} IN (${placeholders})`);
136
+ params.push(...values);
137
+ };
138
+ if (filterRecord['_pgvectorConditions']) {
139
+ const conditions = filterRecord['_pgvectorConditions'];
140
+ for (const cond of conditions) {
141
+ switch (cond.Operator) {
142
+ case 'in':
143
+ if (!Array.isArray(cond.Value)) {
144
+ throw new Error(`Filter operator 'in' requires an array value for field ${JSON.stringify(cond.Field)}`);
145
+ }
146
+ pushIn(cond.Field, cond.Value);
147
+ break;
148
+ case 'eq':
149
+ case 'contains':
150
+ pushEq(cond.Field, String(cond.Value));
151
+ break;
152
+ default:
153
+ // Never silently drop a condition — that would widen the result set vs. the caller's intent.
154
+ throw new Error(`Unsupported filter operator ${JSON.stringify(cond.Operator)} for field ${JSON.stringify(cond.Field)}`);
155
+ }
156
+ }
157
+ }
158
+ else {
159
+ for (const [key, value] of Object.entries(filterRecord)) {
160
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
161
+ const opRecord = value;
162
+ if (opRecord['$eq'] != null) {
163
+ pushEq(key, String(opRecord['$eq']));
164
+ }
165
+ else if (Array.isArray(opRecord['$in'])) {
166
+ pushIn(key, opRecord['$in']);
167
+ }
168
+ else {
169
+ throw new Error(`Unsupported filter for field ${JSON.stringify(key)}: expected $eq or $in, got ${JSON.stringify(Object.keys(opRecord))}`);
170
+ }
171
+ }
172
+ else {
173
+ pushEq(key, String(value));
174
+ }
175
+ }
176
+ }
177
+ return { clause: parts.length > 0 ? parts.join(' AND ') : '', params };
178
+ }
179
+ /** Render the projected select list (`c.[key] AS id, c.[col] AS [col], ...`) for the TVF/CTE inner select. */
180
+ function innerProjection(target) {
181
+ const cols = target.selectColumns.map(col => `c.[${safeColumn(col)}] AS [${safeColumn(col)}]`);
182
+ return [`c.[${safeColumn(target.keyColumn)}] AS id`, ...cols].join(', ');
183
+ }
184
+ /** Render the outer projection (column names only) for the exact-CTE outer select. */
185
+ function outerProjection(target) {
186
+ const cols = target.selectColumns.map(col => `[${safeColumn(col)}]`);
187
+ return ['id', ...cols].join(', ');
188
+ }
189
+ /**
190
+ * Build the **approximate** (DiskANN) vector query using the `VECTOR_SEARCH` TVF. This is the
191
+ * fast path — it engages the vector index. Filters apply as an outer `WHERE` on the TVF row
192
+ * alias `c`. `@p0` is the query-vector JSON; filter params follow at `@p1`.
193
+ */
194
+ export function BuildApproximateVectorQuery(build) {
195
+ const { target } = build;
196
+ const fn = MetricDistanceFn(build.metric);
197
+ const k = SafeTopK(build.topK);
198
+ const filterFrag = BuildFilterFragment(build.filter, 1, target.filterMode);
199
+ const where = filterFrag.clause ? `WHERE ${filterFrag.clause}` : '';
200
+ const sql = `DECLARE @qv VECTOR(${build.dimension}) = CAST(@p0 AS VECTOR(${build.dimension}));\n` +
201
+ `SELECT TOP (${k}) WITH APPROXIMATE\n` +
202
+ ` ${innerProjection(target)}, vs.distance AS distance\n` +
203
+ `FROM VECTOR_SEARCH(\n` +
204
+ ` TABLE = ${target.qualifiedTable} AS c,\n` +
205
+ ` COLUMN = [${safeColumn(target.vectorColumn)}],\n` +
206
+ ` SIMILAR_TO = @qv,\n` +
207
+ ` METRIC = '${fn}'\n` +
208
+ `) AS vs\n` +
209
+ `${where}\n` +
210
+ `ORDER BY vs.distance ASC`;
211
+ return { sql, params: [VectorJson(build.vector), ...filterFrag.params] };
212
+ }
213
+ /**
214
+ * Build the **exact** iterative-filter query: pre-filter on a B-tree index, then compute
215
+ * `VECTOR_DISTANCE` per surviving row in a CTE. Bypasses DiskANN entirely — used when a filter's
216
+ * matching set is small enough that brute force beats ANN's non-convergence on disjoint clusters.
217
+ * The `vectorColumn IS NOT NULL` guard keeps null-embedding rows out. `@p0` is the query vector.
218
+ * `WITH (NOLOCK)` is an intentional perf choice for a read-only similarity scan — it permits dirty
219
+ * reads, acceptable for ranked search where exact transactional consistency isn't required.
220
+ */
221
+ export function BuildExactVectorQuery(build) {
222
+ const { target } = build;
223
+ const fn = MetricDistanceFn(build.metric);
224
+ const k = SafeTopK(build.topK);
225
+ const filterFrag = BuildFilterFragment(build.filter, 1, target.filterMode);
226
+ const innerWhere = [
227
+ `c.[${safeColumn(target.vectorColumn)}] IS NOT NULL`,
228
+ ...(filterFrag.clause ? [filterFrag.clause] : []),
229
+ ].join(' AND ');
230
+ const sql = `DECLARE @qv VECTOR(${build.dimension}) = CAST(@p0 AS VECTOR(${build.dimension}));\n` +
231
+ `WITH FilteredCandidates AS (\n` +
232
+ ` SELECT ${innerProjection(target)},\n` +
233
+ ` VECTOR_DISTANCE('${fn}', @qv, c.[${safeColumn(target.vectorColumn)}]) AS distance\n` +
234
+ ` FROM ${target.qualifiedTable} c WITH (NOLOCK)\n` +
235
+ ` WHERE ${innerWhere}\n` +
236
+ `)\n` +
237
+ `SELECT TOP (${k}) ${outerProjection(target)}, distance\n` +
238
+ `FROM FilteredCandidates\n` +
239
+ `ORDER BY distance ASC`;
240
+ return { sql, params: [VectorJson(build.vector), ...filterFrag.params] };
241
+ }
242
+ /**
243
+ * Build the cardinality COUNT used by the dispatch logic to choose exact vs. approximate.
244
+ * Deliberately omits the `vectorColumn IS NOT NULL` predicate (forcing a per-row lookup of the
245
+ * VECTOR column would defeat the covering index — the missing-vector rows are immaterial to the
246
+ * threshold decision). Returns no params when there's no filter.
247
+ */
248
+ export function BuildFilterCountQuery(target, filter) {
249
+ const filterFrag = BuildFilterFragment(filter, 0, target.filterMode);
250
+ const where = filterFrag.clause ? `WHERE ${filterFrag.clause}` : '';
251
+ const sql = `SELECT COUNT(*) AS n FROM ${target.qualifiedTable} c WITH (NOLOCK)\n` +
252
+ `${where}`;
253
+ return { sql, params: filterFrag.params };
254
+ }
255
+ //# sourceMappingURL=sqlserverColocatedSQL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlserverColocatedSQL.js","sourceRoot":"","sources":["../../src/models/sqlserverColocatedSQL.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,33 @@
1
1
  {
2
2
  "name": "@memberjunction/ai-vectors-sqlserver",
3
- "version": "0.0.1",
4
- "description": "OIDC trusted publishing setup package for @memberjunction/ai-vectors-sqlserver",
5
- "keywords": [
6
- "oidc",
7
- "trusted-publishing",
8
- "setup"
9
- ]
3
+ "type": "module",
4
+ "version": "5.39.0",
5
+ "description": "SQL Server 2025 native VECTOR implementation for AI Vector Database (colocated)",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "/dist"
10
+ ],
11
+ "scripts": {
12
+ "start": "ts-node-dev src/index.ts",
13
+ "build": "tsc && tsc-alias -f",
14
+ "test": "vitest run"
15
+ },
16
+ "author": "MemberJunction.com",
17
+ "license": "ISC",
18
+ "dependencies": {
19
+ "@memberjunction/ai-vectordb": "5.39.0",
20
+ "@memberjunction/core": "5.39.0",
21
+ "@memberjunction/global": "5.39.0",
22
+ "dotenv": "^17.2.4"
23
+ },
24
+ "devDependencies": {
25
+ "@types/node": "24.10.11",
26
+ "ts-node-dev": "^2.0.0",
27
+ "typescript": "^5.9.3"
28
+ },
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "https://github.com/MemberJunction/MJ"
32
+ }
10
33
  }