forge-sql-orm 2.1.24 → 2.1.26

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/README.md CHANGED
@@ -44,6 +44,7 @@
44
44
  - ✅ **Optimistic Locking** Ensures data consistency by preventing conflicts when multiple users update the same record
45
45
  - ✅ **Query Plan Analysis**: Detailed execution plan analysis and optimization insights
46
46
  - ✅ **Rovo Integration** Secure pattern for natural-language analytics with comprehensive security validations, Row-Level Security (RLS) support, and dynamic SQL query execution
47
+ - ✅ **TiDB `VECTOR` type & vector SQL helpers** — Drizzle column type `vectorTiDBType` plus `vecCosineDistance`, `vecL2Distance`, `vecDims`, and related helpers for **SQL with AI** (embeddings storage and similarity search)
47
48
 
48
49
  ## Table of Contents
49
50
 
@@ -84,6 +85,7 @@
84
85
  - [Automatic Error Analysis](#automatic-error-analysis) - Automatic timeout and OOM error detection with execution plans
85
86
  - [Slow Query Monitoring](#slow-query-monitoring) - Scheduled monitoring of slow queries with execution plans
86
87
  - [Date and Time Types](#date-and-time-types)
88
+ - [TiDB vector types (AI / similarity search)](#tidb-vector-types-ai--similarity-search)
87
89
 
88
90
  ### 🛠️ Development Tools
89
91
 
@@ -102,6 +104,7 @@
102
104
  - [Organization Tracker Example](examples/forge-sql-orm-example-org-tracker)
103
105
  - [Checklist Example](examples/forge-sql-orm-example-checklist)
104
106
  - [Cache Example](examples/forge-sql-orm-example-cache) - Advanced caching capabilities with performance monitoring
107
+ - [Vector / AI SQL Example](examples/forge-sql-orm-example-vector) - `VECTOR` columns, embeddings, cosine-distance search (TiDB-compatible)
105
108
  - [Rovo Integration Example](https://github.com/vzakharchenko/Forge-Secure-Notes-for-Jira) - Real-world Rovo AI agent implementation with secure natural-language analytics
106
109
 
107
110
  ### 📚 Reference
@@ -708,10 +711,12 @@ The diagram below shows how Evict Cache works in Forge-SQL-ORM:
708
711
 
709
712
  The diagram below shows how Scheduled Expiration Cleanup works:
710
713
 
714
+ **Note:** forge-sql-orm uses Forge KVS TTL feature (`{ ttl: { unit: "SECONDS", value: number } }`) to mark entries as expired. However, **actual deletion is asynchronous and may take up to 48 hours**. During this window, read operations may still return expired results. The scheduler trigger proactively cleans up expired entries to prevent cache growth from impacting INSERT/UPDATE performance.
715
+
711
716
  1. A periodic scheduler (Forge trigger) runs cache cleanup independently of data modifications.
712
717
  2. forge-sql-orm queries the cache entity by the expiration index to find entries with expiration < now.
713
718
  3. Entries are deleted in batches (up to 25 per transaction) until the page is empty; pagination is done with a cursor (e.g., 100 per page).
714
- 4. This keeps the cache footprint small and prevents stale data accumulation.
719
+ 4. This keeps the cache footprint small and prevents stale data accumulation, especially important when cache size impacts data modification performance.
715
720
 
716
721
  ![img.png](img/umlCacheEvictScheduler1.png)
717
722
 
@@ -734,6 +739,12 @@ The diagram below shows how Cache Context works:
734
739
  **@forge/kvs Limits:**
735
740
  Please review the [official @forge/kvs quotas and limits](https://developer.atlassian.com/platform/forge/platform-quotas-and-limits/#kvs-and-custom-entity-store-quotas) before implementing caching.
736
741
 
742
+ **TTL Limitations:**
743
+
744
+ - **Maximum TTL**: The maximum supported TTL is 1 year from the time the expiry is set.
745
+ - **Asynchronous deletion**: Expired data is not removed immediately upon expiry. Deletion may take up to 48 hours. During this window, read operations may still return expired results.
746
+ - **Performance impact**: If cache grows large, expired entries can impact INSERT/UPDATE performance. Use the Clear Cache Scheduler Trigger to proactively clean up expired entries.
747
+
737
748
  **Caching Guidelines:**
738
749
 
739
750
  - Don't cache everything - be selective about what to cache
@@ -741,6 +752,7 @@ Please review the [official @forge/kvs quotas and limits](https://developer.atla
741
752
  - Consider data size and frequency of changes
742
753
  - Monitor cache usage to stay within quotas
743
754
  - Use appropriate TTL values
755
+ - If cache growth impacts performance, configure the Clear Cache Scheduler Trigger
744
756
 
745
757
  **⚠️ Important Cache Limitations:**
746
758
 
@@ -754,10 +766,11 @@ npm install @forge/kvs -S
754
766
 
755
767
  ### Step 2: Configure Manifest
756
768
 
757
- Add the storage entity configuration and scheduler trigger to your `manifest.yml`:
769
+ Add the storage entity configuration to your `manifest.yml`. The `scheduledTrigger` is **optional** - only configure it if your cache grows large and impacts INSERT/UPDATE performance:
758
770
 
759
771
  ```yaml
760
772
  modules:
773
+ # Optional: Only needed if cache growth impacts INSERT/UPDATE performance
761
774
  scheduledTrigger:
762
775
  - key: clear-cache-trigger
763
776
  function: clearCache
@@ -814,7 +827,7 @@ const forgeSQL = new ForgeSQL(options);
814
827
  - The `cacheEntityName` must exactly match the `name` in your manifest storage entities
815
828
  - The entity attributes (`sql`, `expiration`, `data`) are required for proper cache functionality
816
829
  - Indexes on `sql` and `expiration` improve cache lookup performance
817
- - Cache data is automatically cleaned up based on TTL settings
830
+ - Cache data uses Forge KVS TTL for expiration (deletion is asynchronous, may take up to 48 hours)
818
831
  - No additional permissions are required beyond standard Forge app permissions
819
832
 
820
833
  ### Complete Setup Examples
@@ -862,6 +875,7 @@ npm install forge-sql-orm @forge/sql @forge/kvs drizzle-orm -S
862
875
 
863
876
  ```yaml
864
877
  modules:
878
+ # Optional: Only needed if cache growth impacts INSERT/UPDATE performance
865
879
  scheduledTrigger:
866
880
  - key: clear-cache-trigger
867
881
  function: clearCache
@@ -1060,6 +1074,7 @@ where Cache context - allows you to batch cache invalidation events and bypass c
1060
1074
  npm pkg set scripts.models:create="forge-sql-orm-cli generate:model --output src/entities --saveEnv"
1061
1075
  npm pkg set scripts.migration:create="forge-sql-orm-cli migrations:create --force --output src/migration --entitiesPath src/entities"
1062
1076
  npm pkg set scripts.migration:update="forge-sql-orm-cli migrations:update --entitiesPath src/entities --output src/migration"
1077
+ npm pkg set scripts.schema:create="forge-sql-orm-cli schema:create --entitiesPath src/entities"
1063
1078
  ```
1064
1079
 
1065
1080
  _(This is done only once when setting up the project)_
@@ -1254,6 +1269,78 @@ Our custom types provide:
1254
1269
 
1255
1270
  Each type ensures that the data is properly formatted according to Forge SQL's requirements while providing a clean, type-safe interface for your application code.
1256
1271
 
1272
+ ---
1273
+
1274
+ ## TiDB vector types (AI / similarity search)
1275
+
1276
+ Forge SQL ORM exposes **TiDB-compatible** `VECTOR` columns and vector functions so you can store **embeddings** and run **similarity search** in SQL—typical for **AI** features (semantic search, RAG-style retrieval) built on Forge SQL.
1277
+
1278
+ ### Schema: `vectorTiDBType`
1279
+
1280
+ Use the Drizzle custom column type from `forge-sql-orm` (same patterns as `text()`, `int()`, …). With a fixed dimension, DDL becomes `VECTOR(n)`; without it, `VECTOR`.
1281
+
1282
+ Explicit **SQL column name** + options:
1283
+
1284
+ ```typescript
1285
+ embedding: vectorTiDBType("embedding", { dimension: 1536 }).notNull(),
1286
+ ```
1287
+
1288
+ Config only (column name is the **property key** in `mysqlTable`):
1289
+
1290
+ ```typescript
1291
+ embedding: vectorTiDBType({ dimension: 1536 }).notNull(),
1292
+ ```
1293
+
1294
+ Full example:
1295
+
1296
+ ```typescript
1297
+ import { int, mysqlTable, primaryKey, text } from "drizzle-orm/mysql-core";
1298
+ import { vectorTiDBType } from "forge-sql-orm";
1299
+
1300
+ export const documents = mysqlTable(
1301
+ "documents",
1302
+ {
1303
+ id: int().autoincrement().notNull(),
1304
+ body: text().notNull(),
1305
+ embedding: vectorTiDBType("embedding", { dimension: 1536 }).notNull(),
1306
+ },
1307
+ (table) => [primaryKey({ columns: [table.id], name: "id" })],
1308
+ );
1309
+ ```
1310
+
1311
+ Values in application code are **`number[]`**; the driver maps them to the textual form TiDB expects.
1312
+
1313
+ ### Queries: distance helpers
1314
+
1315
+ Helpers build the same expressions as TiDB’s vector functions (e.g. `VEC_COSINE_DISTANCE`). Use them inside `forgeSQL.select()`, `where()`, `orderBy()`, etc.
1316
+
1317
+ ```typescript
1318
+ import { asc, sql } from "drizzle-orm";
1319
+ import { vecCosineDistance } from "forge-sql-orm";
1320
+ import { documents } from "./schema";
1321
+
1322
+ const queryVector = [0.1, 0.2, 0.3];
1323
+
1324
+ const distanceAlias = sql.raw("distance");
1325
+ const distance = sql<number>`${vecCosineDistance(documents.embedding, queryVector)} AS \`${distanceAlias}\``;
1326
+
1327
+ const nearest = await forgeSQL
1328
+ .select({
1329
+ id: documents.id,
1330
+ body: documents.body,
1331
+ distance,
1332
+ })
1333
+ .from(documents)
1334
+ .orderBy(asc(distanceAlias))
1335
+ .limit(10);
1336
+ ```
1337
+
1338
+ Also available (see `src/core/VectorTiDB.ts`): `vecFromText`, `vecAsText`, `vecDims`, `vecL2Norm`, `vecL2Distance`, `vecL1Distance`, `vecNegativeInnerProduct`.
1339
+
1340
+ ### Example app
1341
+
1342
+ See **[examples/forge-sql-orm-example-vector](examples/forge-sql-orm-example-vector)** for a full Forge app (migrations, resolvers, UI) aligned with [Get Started with Vector Search via SQL](https://docs.pingcap.com/tidb/stable/vector-search-get-started-using-sql).
1343
+
1257
1344
  # Connection to ORM
1258
1345
 
1259
1346
  ```js
@@ -1681,7 +1768,7 @@ This multi-level approach provides optimal performance by checking the fastest c
1681
1768
 
1682
1769
  ### Cache Configuration
1683
1770
 
1684
- The caching system uses Atlassian Forge's Custom entity store to persist cache data. Each cache entry is stored as a custom entity with automatic TTL management and efficient key-based retrieval.
1771
+ The caching system uses Atlassian Forge's Custom entity store to persist cache data. Each cache entry is stored as a custom entity with TTL management via Forge KVS. Note that expired data deletion is asynchronous and may take up to 48 hours. If cache growth impacts INSERT/UPDATE performance, use the Clear Cache Scheduler Trigger for proactive cleanup.
1685
1772
 
1686
1773
  ```typescript
1687
1774
  const options = {
@@ -1706,7 +1793,7 @@ const forgeSQL = new ForgeSQL(options);
1706
1793
  The caching system leverages Forge's Custom entity store to provide:
1707
1794
 
1708
1795
  - **Persistent Storage**: Cache data survives app restarts and deployments
1709
- - **Automatic TTL**: Built-in expiration handling through Forge's entity lifecycle
1796
+ - **TTL Support**: Uses Forge KVS TTL feature for expiration (deletion is asynchronous, may take up to 48 hours)
1710
1797
  - **Efficient Retrieval**: Fast key-based lookups using Forge's optimized storage
1711
1798
  - **Data Serialization**: Automatic handling of complex objects and query results
1712
1799
  - **Batch Operations**: Efficient bulk cache operations for better performance
@@ -1905,18 +1992,18 @@ const userResolver = async (req) => {
1905
1992
 
1906
1993
  #### Local Cache (Level 1) vs Global Cache (Level 2)
1907
1994
 
1908
- | Feature | Local Cache (Level 1) | Global Cache (Level 2) |
1909
- | ------------------ | ------------------------------------- | ------------------------------------------- |
1910
- | **Storage** | In-memory (Node.js process) | Persistent (KVS Custom Entities) |
1911
- | **Scope** | Single forge invocation | Cross-invocation (between calls) |
1912
- | **Persistence** | No (cleared on invocation end) | Yes (survives app redeploy) |
1913
- | **Performance** | Very fast (memory access) | Fast (KVS optimized storage) |
1914
- | **Memory Usage** | Low (invocation-scoped) | Higher (persistent storage) |
1915
- | **Use Case** | Invocation optimization | Cross-invocation data sharing |
1916
- | **Configuration** | None required | Requires KVS setup |
1917
- | **TTL Support** | No (invocation-scoped) | Yes (automatic expiration) |
1918
- | **Cache Eviction** | Automatic on DML operations | Manual or scheduled cleanup |
1919
- | **Best For** | Repeated queries in single invocation | Frequently accessed data across invocations |
1995
+ | Feature | Local Cache (Level 1) | Global Cache (Level 2) |
1996
+ | ------------------ | ------------------------------------- | ------------------------------------------------------------------- |
1997
+ | **Storage** | In-memory (Node.js process) | Persistent (KVS Custom Entities) |
1998
+ | **Scope** | Single forge invocation | Cross-invocation (between calls) |
1999
+ | **Persistence** | No (cleared on invocation end) | Yes (survives app redeploy) |
2000
+ | **Performance** | Very fast (memory access) | Fast (KVS optimized storage) |
2001
+ | **Memory Usage** | Low (invocation-scoped) | Higher (persistent storage) |
2002
+ | **Use Case** | Invocation optimization | Cross-invocation data sharing |
2003
+ | **Configuration** | None required | Requires KVS setup |
2004
+ | **TTL Support** | No (invocation-scoped) | Yes (TTL via Forge KVS, async deletion up to 48h) |
2005
+ | **Cache Eviction** | Automatic on DML operations | Manual or scheduled cleanup (optional if cache impacts performance) |
2006
+ | **Best For** | Repeated queries in single invocation | Frequently accessed data across invocations |
1920
2007
 
1921
2008
  #### Integration with Global Cache (Level 2)
1922
2009
 
@@ -2352,6 +2439,7 @@ The CLI tool provides the following main commands:
2352
2439
  - `migrations:create` - Create new migration files
2353
2440
  - `migrations:update` - Update existing migrations with schema changes
2354
2441
  - `migrations:drop` - Create migration to drop tables
2442
+ - `schema:create` - Apply schema directly from Drizzle models to database
2355
2443
 
2356
2444
  ### Installation
2357
2445
 
@@ -2369,6 +2457,7 @@ Add the following scripts to your `package.json`:
2369
2457
  npm pkg set scripts.models:create="forge-sql-orm-cli generate:model --output src/entities --saveEnv"
2370
2458
  npm pkg set scripts.migration:create="forge-sql-orm-cli migrations:create --force --output src/migration --entitiesPath src/entities"
2371
2459
  npm pkg set scripts.migration:update="forge-sql-orm-cli migrations:update --entitiesPath src/entities --output src/migration"
2460
+ npm pkg set scripts.schema:create="forge-sql-orm-cli schema:create --entitiesPath src/entities"
2372
2461
  ```
2373
2462
 
2374
2463
  ### Basic Usage
@@ -2384,6 +2473,9 @@ npm run migration:create
2384
2473
 
2385
2474
  # Update migration
2386
2475
  npm run migration:update
2476
+
2477
+ # Apply schema directly from Drizzle models
2478
+ npm run schema:create
2387
2479
  ```
2388
2480
 
2389
2481
  **Note:** The CLI tool is designed to work as a local dependency through npm scripts. Configuration is saved to `.env` file using the `--saveEnv` flag, so you only need to provide database credentials once.
@@ -2519,12 +2611,22 @@ SET foreign_key_checks = 1;
2519
2611
 
2520
2612
  ### 4. Clear Cache Scheduler Trigger
2521
2613
 
2522
- This trigger automatically cleans up expired cache entries based on their TTL (Time To Live). It's useful for:
2614
+ This trigger automatically cleans up expired cache entries based on their TTL (Time To Live).
2523
2615
 
2524
- - Automatic cache maintenance
2525
- - Preventing cache storage from growing indefinitely
2526
- - Ensuring optimal cache performance
2527
- - Reducing storage costs
2616
+ **⚠️ Important:** While Forge KVS uses TTL to mark entries as expired, **actual deletion is asynchronous and may take up to 48 hours**. During this window, read operations may still return expired results. If your cache grows large and impacts INSERT/UPDATE performance, you should use this scheduler trigger to proactively clean up expired entries.
2617
+
2618
+ **When to use:**
2619
+
2620
+ - Your cache grows large over time
2621
+ - INSERT/UPDATE operations are slowing down due to cache size
2622
+ - You need strict expiry semantics (immediate cleanup)
2623
+ - You want to reduce storage costs proactively
2624
+
2625
+ **When optional:**
2626
+
2627
+ - Small cache footprint
2628
+ - No performance impact on data modifications
2629
+ - You can tolerate expired entries being returned for up to 48 hours
2528
2630
 
2529
2631
  ```typescript
2530
2632
  // Example usage in your Forge app
@@ -2537,9 +2639,10 @@ export const clearCache = () => {
2537
2639
  };
2538
2640
  ```
2539
2641
 
2540
- Configure in `manifest.yml`:
2642
+ Configure in `manifest.yml` (optional - only if cache growth impacts INSERT/UPDATE performance):
2541
2643
 
2542
2644
  ```yaml
2645
+ # Optional: Only needed if cache growth impacts INSERT/UPDATE performance
2543
2646
  scheduledTrigger:
2544
2647
  - key: clear-cache-trigger
2545
2648
  function: clearCache
@@ -1 +1 @@
1
- {"version":3,"file":"ForgeSQLQueryBuilder.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLQueryBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ForgeSQLQueryBuilder.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLQueryBuilder.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,26 @@ const sqlUtils_1 = require("../utils/sqlUtils");
6
6
  /**
7
7
  * Creates a custom type for date/time fields with specified format and timestamp validation.
8
8
  */
9
+ function normalizeDateOnlyValue(value) {
10
+ if (typeof value !== "string") {
11
+ return value;
12
+ }
13
+ const trimmedValue = value.trim();
14
+ const dotSeparatedMatch = /^(\d{2})\.(\d{2})\.(\d{4})$/.exec(trimmedValue);
15
+ if (dotSeparatedMatch) {
16
+ const [, day, month, year] = dotSeparatedMatch;
17
+ return `${year}-${month}-${day} 00:00:00.000`;
18
+ }
19
+ const slashSeparatedMatch = /^(\d{2})\/(\d{2})\/(\d{4})$/.exec(trimmedValue);
20
+ if (slashSeparatedMatch) {
21
+ const [, day, month, year] = slashSeparatedMatch;
22
+ return `${year}-${month}-${day} 00:00:00.000`;
23
+ }
24
+ if (trimmedValue.length === 10) {
25
+ return `${trimmedValue} 00:00:00.000`;
26
+ }
27
+ return value;
28
+ }
9
29
  function createDateCustomType(dataType, format, isTimeStamp) {
10
30
  return (0, mysql_core_1.customType)({
11
31
  dataType() {
@@ -15,6 +35,9 @@ function createDateCustomType(dataType, format, isTimeStamp) {
15
35
  return (0, sqlUtils_1.formatDateTime)(value, format, isTimeStamp);
16
36
  },
17
37
  fromDriver(value) {
38
+ if (value === null || value === undefined) {
39
+ return value;
40
+ }
18
41
  return (0, sqlUtils_1.parseDateTime)(value, format);
19
42
  },
20
43
  });
@@ -25,7 +48,21 @@ function createDateCustomType(dataType, format, isTimeStamp) {
25
48
  *
26
49
  * @type {CustomType}
27
50
  */
28
- exports.forgeDateTimeString = createDateCustomType("datetime", "yyyy-MM-dd' 'HH:mm:ss.SSS", false);
51
+ exports.forgeDateTimeString = (0, mysql_core_1.customType)({
52
+ dataType() {
53
+ return "datetime";
54
+ },
55
+ toDriver(value) {
56
+ return (0, sqlUtils_1.formatDateTime)(value, "yyyy-MM-dd' 'HH:mm:ss.SSS", false);
57
+ },
58
+ fromDriver(value) {
59
+ if (value === null || value === undefined) {
60
+ return value;
61
+ }
62
+ const normalizedValue = normalizeDateOnlyValue(value);
63
+ return (0, sqlUtils_1.parseDateTime)(normalizedValue, "yyyy-MM-dd' 'HH:mm:ss.SSS");
64
+ },
65
+ });
29
66
  /**
30
67
  * Custom type for MySQL timestamp fields.
31
68
  * Handles conversion between JavaScript Date objects and MySQL timestamp strings.
@@ -1 +1 @@
1
- {"version":3,"file":"ForgeSQLQueryBuilder.js","sourceRoot":"","sources":["../../src/core/ForgeSQLQueryBuilder.ts"],"names":[],"mappings":";;;AAEA,uDAOgC;AAMhC,gDAAkE;AAkvClE;;GAEG;AACH,SAAS,oBAAoB,CAAC,QAAgB,EAAE,MAAc,EAAE,WAAoB;IAClF,OAAO,IAAA,uBAAU,EAId;QACD,QAAQ;YACN,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,QAAQ,CAAC,KAAW;YAClB,OAAO,IAAA,yBAAc,EAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,UAAU,CAAC,KAAc;YACvB,OAAO,IAAA,wBAAa,EAAC,KAAe,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACU,QAAA,mBAAmB,GAAG,oBAAoB,CACrD,UAAU,EACV,2BAA2B,EAC3B,KAAK,CACN,CAAC;AAEF;;;;;GAKG;AACU,QAAA,oBAAoB,GAAG,oBAAoB,CACtD,WAAW,EACX,2BAA2B,EAC3B,IAAI,CACL,CAAC;AAEF;;;;;GAKG;AACU,QAAA,eAAe,GAAG,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AAEjF;;;;;GAKG;AACU,QAAA,eAAe,GAAG,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"ForgeSQLQueryBuilder.js","sourceRoot":"","sources":["../../src/core/ForgeSQLQueryBuilder.ts"],"names":[],"mappings":";;;AAEA,uDAOgC;AAMhC,gDAAkE;AAkvClE;;GAEG;AACH,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAElC,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3E,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,iBAAiB,CAAC;QAC/C,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,eAAe,CAAC;IAChD,CAAC;IAED,MAAM,mBAAmB,GAAG,6BAA6B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7E,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,mBAAmB,CAAC;QACjD,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,eAAe,CAAC;IAChD,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC/B,OAAO,GAAG,YAAY,eAAe,CAAC;IACxC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB,EAAE,MAAc,EAAE,WAAoB;IAClF,OAAO,IAAA,uBAAU,EAId;QACD,QAAQ;YACN,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,QAAQ,CAAC,KAAW;YAClB,OAAO,IAAA,yBAAc,EAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,UAAU,CAAC,KAAc;YACvB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAO,KAAwB,CAAC;YAClC,CAAC;YACD,OAAO,IAAA,wBAAa,EAAC,KAAe,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACU,QAAA,mBAAmB,GAAG,IAAA,uBAAU,EAI1C;IACD,QAAQ;QACN,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,QAAQ,CAAC,KAAW;QAClB,OAAO,IAAA,yBAAc,EAAC,KAAK,EAAE,2BAA2B,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IACD,UAAU,CAAC,KAAc;QACvB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,KAAwB,CAAC;QAClC,CAAC;QACD,MAAM,eAAe,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,IAAA,wBAAa,EAAC,eAAyB,EAAE,2BAA2B,CAAC,CAAC;IAC/E,CAAC;CACF,CAAC,CAAC;AAEH;;;;;GAKG;AACU,QAAA,oBAAoB,GAAG,oBAAoB,CACtD,WAAW,EACX,2BAA2B,EAC3B,IAAI,CACL,CAAC;AAEF;;;;;GAKG;AACU,QAAA,eAAe,GAAG,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AAEjF;;;;;GAKG;AACU,QAAA,eAAe,GAAG,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC"}
@@ -0,0 +1,120 @@
1
+ import { type SQL, type AnyColumn } from "drizzle-orm";
2
+ type VectorConfig = {
3
+ dimension?: number;
4
+ };
5
+ /**
6
+ * Input accepted by TiDB vector SQL helpers.
7
+ *
8
+ * - `number[]`: converted to `VEC_FROM_TEXT('[...]')`
9
+ * - `string`: treated as raw SQL vector expression, for example:
10
+ * `CAST('[0.3, 0.5, -0.1]' AS VECTOR)`
11
+ * - `SQL` / `AnyColumn`: passed through as-is
12
+ */
13
+ type VectorInput = string | number[] | SQL | AnyColumn;
14
+ /**
15
+ * TiDB `VECTOR` column type (same call shapes as other Drizzle MySQL builders).
16
+ *
17
+ * - `vectorTiDBType('embedding', { dimension: 1536 })` — SQL column name + fixed dimension (`VECTOR(1536)`).
18
+ * - `vectorTiDBType({ dimension: 1536 })` — config only; column name comes from the object key in `mysqlTable`.
19
+ * - `vectorTiDBType('embedding')` or `vectorTiDBType()` — `VECTOR` without a fixed size in DDL.
20
+ *
21
+ * Values are `number[]` in application code; the driver maps to TiDB’s text form.
22
+ */
23
+ export declare const vectorTiDBType: {
24
+ (): import("drizzle-orm/mysql-core").MySqlCustomColumnBuilder<{
25
+ name: "";
26
+ dataType: "custom";
27
+ columnType: "MySqlCustomColumn";
28
+ data: number[];
29
+ driverParam: string;
30
+ enumValues: undefined;
31
+ }>;
32
+ <TConfig extends Record<string, any> & VectorConfig>(fieldConfig?: TConfig | undefined): import("drizzle-orm/mysql-core").MySqlCustomColumnBuilder<{
33
+ name: "";
34
+ dataType: "custom";
35
+ columnType: "MySqlCustomColumn";
36
+ data: number[];
37
+ driverParam: string;
38
+ enumValues: undefined;
39
+ }>;
40
+ <TName extends string>(dbName: TName, fieldConfig?: VectorConfig | undefined): import("drizzle-orm/mysql-core").MySqlCustomColumnBuilder<{
41
+ name: TName;
42
+ dataType: "custom";
43
+ columnType: "MySqlCustomColumn";
44
+ data: number[];
45
+ driverParam: string;
46
+ enumValues: undefined;
47
+ }>;
48
+ };
49
+ /**
50
+ * Converts a text representation of a vector into a TiDB VECTOR expression.
51
+ *
52
+ * TiDB function: `VEC_FROM_TEXT(string)`.
53
+ *
54
+ * @example
55
+ * vecFromText("[1, 2, 3]")
56
+ */
57
+ export declare function vecFromText(text: string): SQL;
58
+ /**
59
+ * Converts a vector value/expression to its normalized string representation.
60
+ *
61
+ * TiDB function: `VEC_AS_TEXT(vector)`.
62
+ *
63
+ * @example
64
+ * vecAsText(table.embedding)
65
+ */
66
+ export declare function vecAsText(vector: VectorInput): SQL<string>;
67
+ /**
68
+ * Returns the dimension (number of elements) of a vector.
69
+ *
70
+ * TiDB function: `VEC_DIMS(vector)`.
71
+ *
72
+ * Accepts vector column/expression, `sql.raw(...)`, raw SQL string expression,
73
+ * or `number[]`.
74
+ *
75
+ * @example
76
+ * vecDims(table.embedding)
77
+ * vecDims(sql.raw("CAST('[0.3, 0.5, -0.1]' AS VECTOR)"))
78
+ * vecDims("CAST('[0.3, 0.5, -0.1]' AS VECTOR)")
79
+ */
80
+ export declare function vecDims(vector: VectorInput): SQL<number>;
81
+ /**
82
+ * Calculates L2 norm (Euclidean norm) of a vector.
83
+ *
84
+ * TiDB function: `VEC_L2_NORM(vector)`.
85
+ */
86
+ export declare function vecL2Norm(vector: VectorInput): SQL<number>;
87
+ /**
88
+ * Calculates L2 distance (Euclidean distance) between two vectors.
89
+ *
90
+ * TiDB function: `VEC_L2_DISTANCE(vector1, vector2)`.
91
+ *
92
+ * Both vectors must have the same dimensions.
93
+ */
94
+ export declare function vecL2Distance(left: VectorInput, right: VectorInput): SQL<number>;
95
+ /**
96
+ * Calculates cosine distance between two vectors.
97
+ *
98
+ * TiDB function: `VEC_COSINE_DISTANCE(vector1, vector2)`.
99
+ *
100
+ * Both vectors must have the same dimensions.
101
+ */
102
+ export declare function vecCosineDistance(left: VectorInput, right: VectorInput): SQL<number>;
103
+ /**
104
+ * Calculates negative inner product distance between two vectors.
105
+ *
106
+ * TiDB function: `VEC_NEGATIVE_INNER_PRODUCT(vector1, vector2)`.
107
+ *
108
+ * Both vectors must have the same dimensions.
109
+ */
110
+ export declare function vecNegativeInnerProduct(left: VectorInput, right: VectorInput): SQL<number>;
111
+ /**
112
+ * Calculates L1 distance (Manhattan distance) between two vectors.
113
+ *
114
+ * TiDB function: `VEC_L1_DISTANCE(vector1, vector2)`.
115
+ *
116
+ * Both vectors must have the same dimensions.
117
+ */
118
+ export declare function vecL1Distance(left: VectorInput, right: VectorInput): SQL<number>;
119
+ export {};
120
+ //# sourceMappingURL=VectorTiDB.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VectorTiDB.d.ts","sourceRoot":"","sources":["../../src/core/VectorTiDB.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE5D,KAAK,YAAY,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAyCF;;;;;;;GAOG;AACH,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,GAAG,SAAS,CAAC;AAYvD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;CAsBzB,CAAC;AAEH;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAE7C;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAE1D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAExD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAEhF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAEpF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAE1F;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAEhF"}