@oracle/langchain-oracledb 0.2.0 → 1.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/README.md +7 -1
- package/dist/document_loaders.cjs +4 -3
- package/dist/document_loaders.cjs.map +1 -1
- package/dist/document_loaders.js +4 -3
- package/dist/document_loaders.js.map +1 -1
- package/dist/errors.cjs +99 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.cts +50 -0
- package/dist/errors.d.ts +50 -0
- package/dist/errors.js +90 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.cjs +1 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/vectorstores.cjs +100 -60
- package/dist/vectorstores.cjs.map +1 -1
- package/dist/vectorstores.d.cts +10 -3
- package/dist/vectorstores.d.ts +10 -3
- package/dist/vectorstores.js +97 -59
- package/dist/vectorstores.js.map +1 -1
- package/package.json +24 -23
package/dist/vectorstores.js
CHANGED
|
@@ -3,6 +3,16 @@ import oracledb from "oracledb";
|
|
|
3
3
|
import { VectorStore, } from "@langchain/core/vectorstores";
|
|
4
4
|
import { Document } from "@langchain/core/documents";
|
|
5
5
|
import { maximalMarginalRelevance } from "@langchain/core/utils/math";
|
|
6
|
+
import { LangChainOracleError, ErrorCode, createErrorFromCodeWithCause, isLangChainOracleError, throwError, } from "./errors.js";
|
|
7
|
+
export { LangChainOracleError, ErrorCode };
|
|
8
|
+
export { LangChainOracleError as OracleVSError, ErrorCode as OracleVSErrorCode, };
|
|
9
|
+
export { isLangChainOracleError };
|
|
10
|
+
function validateMetadataKey(column) {
|
|
11
|
+
const pattern = /^[a-zA-Z0-9_.[\],\s*]*$/;
|
|
12
|
+
if (!column || !pattern.test(column)) {
|
|
13
|
+
throwError(ErrorCode.FILTER_INVALID_METADATA_KEY, column);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
6
16
|
export function generateWhereClause(dbFilter, bindValues) {
|
|
7
17
|
// Handle $and
|
|
8
18
|
if ("$and" in dbFilter && Array.isArray(dbFilter.$and)) {
|
|
@@ -37,6 +47,7 @@ export function generateWhereClause(dbFilter, bindValues) {
|
|
|
37
47
|
: conditions[0];
|
|
38
48
|
}
|
|
39
49
|
function generateOperatorCondition(column, operator, value, bindValues) {
|
|
50
|
+
validateMetadataKey(column);
|
|
40
51
|
switch (operator) {
|
|
41
52
|
case "$eq":
|
|
42
53
|
return jsonCompare(column, "=", value, bindValues);
|
|
@@ -51,20 +62,23 @@ function generateOperatorCondition(column, operator, value, bindValues) {
|
|
|
51
62
|
case "$gte":
|
|
52
63
|
return jsonCompare(column, ">=", value, bindValues);
|
|
53
64
|
case "$in": {
|
|
54
|
-
if (!Array.isArray(value))
|
|
55
|
-
|
|
65
|
+
if (!Array.isArray(value)) {
|
|
66
|
+
throwError(ErrorCode.FILTER_INVALID_VALUE, "$in requires array");
|
|
67
|
+
}
|
|
56
68
|
const inClauses = value.map((v) => jsonCompare(column, "=", v, bindValues));
|
|
57
69
|
return `(${inClauses.join(" OR ")})`;
|
|
58
70
|
}
|
|
59
71
|
case "$nin": {
|
|
60
|
-
if (!Array.isArray(value))
|
|
61
|
-
|
|
72
|
+
if (!Array.isArray(value)) {
|
|
73
|
+
throwError(ErrorCode.FILTER_INVALID_VALUE, "$nin requires array");
|
|
74
|
+
}
|
|
62
75
|
const ninClauses = value.map((v) => jsonCompare(column, "!=", v, bindValues));
|
|
63
76
|
return `(${ninClauses.join(" AND ")})`;
|
|
64
77
|
}
|
|
65
78
|
case "$between": {
|
|
66
|
-
if (!Array.isArray(value) || value.length !== 2)
|
|
67
|
-
|
|
79
|
+
if (!Array.isArray(value) || value.length !== 2) {
|
|
80
|
+
throwError(ErrorCode.FILTER_INVALID_VALUE, "$between requires [low, high]");
|
|
81
|
+
}
|
|
68
82
|
const [low, high] = value;
|
|
69
83
|
bindValues.push(low, high);
|
|
70
84
|
const posLow = bindValues.length - 1;
|
|
@@ -79,7 +93,7 @@ function generateOperatorCondition(column, operator, value, bindValues) {
|
|
|
79
93
|
return `NOT JSON_EXISTS(metadata, '$.${column}')`;
|
|
80
94
|
}
|
|
81
95
|
default:
|
|
82
|
-
|
|
96
|
+
throwError(ErrorCode.FILTER_UNSUPPORTED_OPERATOR, operator);
|
|
83
97
|
}
|
|
84
98
|
}
|
|
85
99
|
// Helper: build JSON_EXISTS clause for comparison
|
|
@@ -110,32 +124,33 @@ export const DistanceStrategy = {
|
|
|
110
124
|
EUCLIDEAN_SQUARED: "EUCLIDEAN_SQUARED",
|
|
111
125
|
};
|
|
112
126
|
function handleError(error) {
|
|
113
|
-
//
|
|
114
|
-
|
|
127
|
+
// Preserve LangChainOracleError instances created by this package instead of
|
|
128
|
+
// wrapping them again as generic SYSTEM_ERROR failures.
|
|
129
|
+
if (isLangChainOracleError(error)) {
|
|
130
|
+
throw error;
|
|
131
|
+
}
|
|
132
|
+
// Preserve a useful message for both real Error instances and thrown
|
|
133
|
+
// object literals shaped like { message: string }.
|
|
134
|
+
const details = typeof error === "object" &&
|
|
115
135
|
error !== null &&
|
|
116
|
-
"
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
throw new Error("Database operation failed due to a runtime error.");
|
|
123
|
-
case "ValidationError":
|
|
124
|
-
throw new Error("Operation failed due to a validation error.");
|
|
125
|
-
default:
|
|
126
|
-
throw new Error(`An unexpected error occurred during the operation. ${error}`);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
throw new Error(`An unknown and unexpected error occurred. ${error}`);
|
|
136
|
+
"message" in error &&
|
|
137
|
+
typeof error.message === "string"
|
|
138
|
+
? error.message
|
|
139
|
+
: String(error);
|
|
140
|
+
// Normalize all underlying anomalies into a unified telemetry payload.
|
|
141
|
+
throw createErrorFromCodeWithCause(ErrorCode.SYSTEM_ERROR, error, `An unexpected error occurred during the operation. ${details}`);
|
|
130
142
|
}
|
|
131
143
|
function isPool(client) {
|
|
132
144
|
return "getConnection" in client;
|
|
133
145
|
}
|
|
146
|
+
function isClientProvider(client) {
|
|
147
|
+
return typeof client === "function";
|
|
148
|
+
}
|
|
134
149
|
function quoteIdentifier(identifier) {
|
|
135
150
|
const name = identifier.trim();
|
|
136
151
|
const validateRegex = /^(?:"[^"]+"|[^".]+)(?:\.(?:"[^"]+"|[^".]+))*$/;
|
|
137
152
|
if (!validateRegex.test(name)) {
|
|
138
|
-
|
|
153
|
+
throwError(ErrorCode.VALIDATION_INVALID_IDENTIFIER, identifier);
|
|
139
154
|
}
|
|
140
155
|
// extracts parts of the identifier with quoted and unquoted.
|
|
141
156
|
const matchRegex = /"([^"]+)"|([^".]+)/g;
|
|
@@ -180,24 +195,24 @@ function normalizeVectorFormat(value, vectorType) {
|
|
|
180
195
|
? normalizedValue
|
|
181
196
|
: VectorElementFormat.FLOAT32;
|
|
182
197
|
if (vectorType === VectorType.SPARSE && format === VectorElementFormat.BINARY) {
|
|
183
|
-
|
|
198
|
+
throwError(ErrorCode.VECTOR_INVALID_CONFIGURATION, "BINARY format is not supported for SPARSE vectors.");
|
|
184
199
|
}
|
|
185
200
|
return format;
|
|
186
201
|
}
|
|
187
202
|
function buildVectorColumnDefinition(embeddingDim, customization) {
|
|
188
203
|
if (embeddingDim === undefined || embeddingDim === null) {
|
|
189
|
-
|
|
204
|
+
throwError(ErrorCode.VECTOR_INVALID_CONFIGURATION, "Embedding dimension is required to create the vector column.");
|
|
190
205
|
}
|
|
191
206
|
if (!Number.isInteger(embeddingDim) || embeddingDim <= 0) {
|
|
192
|
-
|
|
207
|
+
throwError(ErrorCode.VECTOR_INVALID_CONFIGURATION, "Embedding dimension must be a positive integer.");
|
|
193
208
|
}
|
|
194
209
|
const vectorType = normalizeVectorTypeValue(customization?.vectorType);
|
|
195
210
|
if (vectorType === VectorType.SPARSE && customization?.format === undefined) {
|
|
196
|
-
|
|
211
|
+
throwError(ErrorCode.VECTOR_INVALID_CONFIGURATION, "Sparse vector type requires a vector format to be specified.");
|
|
197
212
|
}
|
|
198
213
|
const format = normalizeVectorFormat(customization?.format, vectorType);
|
|
199
214
|
if (format === VectorElementFormat.BINARY && embeddingDim % 8 !== 0) {
|
|
200
|
-
|
|
215
|
+
throwError(ErrorCode.VECTOR_INVALID_CONFIGURATION, "BINARY vector format requires dimensions to be a multiple of 8.");
|
|
201
216
|
}
|
|
202
217
|
const dimensionSegment = String(embeddingDim);
|
|
203
218
|
const formatSegment = format ?? VectorElementFormat.FLOAT32;
|
|
@@ -288,7 +303,7 @@ function convertDenseVectorForFormat(values, format) {
|
|
|
288
303
|
for (let i = 0; i < values.length; i += 1) {
|
|
289
304
|
const rounded = Math.round(values[i]);
|
|
290
305
|
if (rounded < -128 || rounded > 127) {
|
|
291
|
-
|
|
306
|
+
throwError(ErrorCode.VECTOR_INVALID_VALUE, "INT8 vector values must be within [-128, 127].");
|
|
292
307
|
}
|
|
293
308
|
clamped[i] = rounded;
|
|
294
309
|
}
|
|
@@ -327,7 +342,7 @@ async function createHNSWIndex(connection, oraclevs, params = {}) {
|
|
|
327
342
|
const { idxName = _getIndexName("HNSW"), idxType = "HNSW", neighbors = 32, efConstruction = 200, accuracy = 90, parallel = 8, ...extra } = params;
|
|
328
343
|
const invalidKeys = Object.keys(extra);
|
|
329
344
|
if (invalidKeys.length > 0) {
|
|
330
|
-
|
|
345
|
+
throwError(ErrorCode.VECTOR_INVALID_INDEX_PARAMETERS, invalidKeys);
|
|
331
346
|
}
|
|
332
347
|
const ddl = `
|
|
333
348
|
CREATE VECTOR INDEX IF NOT EXISTS ${quoteIdentifier(idxName)}
|
|
@@ -351,7 +366,7 @@ async function createIVFIndex(connection, oraclevs, params = {}) {
|
|
|
351
366
|
const { idxName = _getIndexName("IVF"), idxType = "IVF", neighborPart = 32, accuracy = 90, parallel = 8, ...extra } = params;
|
|
352
367
|
const invalidKeys = Object.keys(extra);
|
|
353
368
|
if (invalidKeys.length > 0) {
|
|
354
|
-
|
|
369
|
+
throwError(ErrorCode.VECTOR_INVALID_INDEX_PARAMETERS, invalidKeys);
|
|
355
370
|
}
|
|
356
371
|
const ddl = `
|
|
357
372
|
CREATE VECTOR INDEX IF NOT EXISTS ${quoteIdentifier(idxName)}
|
|
@@ -391,6 +406,14 @@ export class OracleVS extends VectorStore {
|
|
|
391
406
|
writable: true,
|
|
392
407
|
value: void 0
|
|
393
408
|
});
|
|
409
|
+
// Tracks connections borrowed from a pool so retConnection() can return them
|
|
410
|
+
// without closing direct connections owned by the caller.
|
|
411
|
+
Object.defineProperty(this, "poolConnections", {
|
|
412
|
+
enumerable: true,
|
|
413
|
+
configurable: true,
|
|
414
|
+
writable: true,
|
|
415
|
+
value: new WeakSet()
|
|
416
|
+
});
|
|
394
417
|
Object.defineProperty(this, "embeddingDimension", {
|
|
395
418
|
enumerable: true,
|
|
396
419
|
configurable: true,
|
|
@@ -468,7 +491,7 @@ export class OracleVS extends VectorStore {
|
|
|
468
491
|
}
|
|
469
492
|
ensureEmbeddingDimension() {
|
|
470
493
|
if (this.embeddingDimension === undefined || this.embeddingDimension === null) {
|
|
471
|
-
|
|
494
|
+
throwError(ErrorCode.STATE_INVALID, "Embedding dimension is not initialized for this vector store.");
|
|
472
495
|
}
|
|
473
496
|
return this.embeddingDimension;
|
|
474
497
|
}
|
|
@@ -483,7 +506,7 @@ export class OracleVS extends VectorStore {
|
|
|
483
506
|
: VectorElementFormat.FLOAT32;
|
|
484
507
|
if (vectorType === VectorType.SPARSE) {
|
|
485
508
|
if (vector.length !== dimension) {
|
|
486
|
-
|
|
509
|
+
throwError(ErrorCode.VECTOR_INVALID_VALUE, "Sparse vectors must supply full-dimension arrays for conversion.");
|
|
487
510
|
}
|
|
488
511
|
let sparseInput = vector;
|
|
489
512
|
if (format === VectorElementFormat.INT8) {
|
|
@@ -491,7 +514,7 @@ export class OracleVS extends VectorStore {
|
|
|
491
514
|
for (let i = 0; i < vector.length; i += 1) {
|
|
492
515
|
const rounded = Math.round(vector[i]);
|
|
493
516
|
if (rounded < -128 || rounded > 127) {
|
|
494
|
-
|
|
517
|
+
throwError(ErrorCode.VECTOR_INVALID_VALUE, "INT8 sparse vector values must be within [-128, 127].");
|
|
495
518
|
}
|
|
496
519
|
clamped[i] = rounded;
|
|
497
520
|
}
|
|
@@ -506,7 +529,7 @@ export class OracleVS extends VectorStore {
|
|
|
506
529
|
return new oracledb.SparseVector(sparseInput);
|
|
507
530
|
}
|
|
508
531
|
if (vector.length !== dimension) {
|
|
509
|
-
|
|
532
|
+
throwError(ErrorCode.VECTOR_INVALID_VALUE, "Vector length does not match the embedding dimension.");
|
|
510
533
|
}
|
|
511
534
|
return convertDenseVectorForFormat(vector, format);
|
|
512
535
|
}
|
|
@@ -519,7 +542,7 @@ export class OracleVS extends VectorStore {
|
|
|
519
542
|
if (isSparseVector(value)) {
|
|
520
543
|
const dense = value.dense?.();
|
|
521
544
|
if (!dense) {
|
|
522
|
-
|
|
545
|
+
throwError(ErrorCode.VECTOR_UNSUPPORTED_REPRESENTATION, "Unable to expand sparse vector to dense representation.");
|
|
523
546
|
}
|
|
524
547
|
if (isFloat32Array(dense)) {
|
|
525
548
|
return dense;
|
|
@@ -541,7 +564,7 @@ export class OracleVS extends VectorStore {
|
|
|
541
564
|
if (Array.isArray(value)) {
|
|
542
565
|
return value;
|
|
543
566
|
}
|
|
544
|
-
|
|
567
|
+
throwError(ErrorCode.VECTOR_UNSUPPORTED_REPRESENTATION, "Received unsupported vector representation from the database.");
|
|
545
568
|
}
|
|
546
569
|
// Normalizes any supported vector representation into Float32Array so downstream math
|
|
547
570
|
// (MMR, distance calculations) can assume a consistent element type without forcing
|
|
@@ -590,12 +613,20 @@ export class OracleVS extends VectorStore {
|
|
|
590
613
|
await this.retConnection(connection);
|
|
591
614
|
}
|
|
592
615
|
}
|
|
616
|
+
async resolveClient() {
|
|
617
|
+
return isClientProvider(this.client)
|
|
618
|
+
? await this.client()
|
|
619
|
+
: this.client;
|
|
620
|
+
}
|
|
593
621
|
async getConnection() {
|
|
594
622
|
try {
|
|
595
|
-
|
|
596
|
-
|
|
623
|
+
const client = await this.resolveClient();
|
|
624
|
+
if (isPool(client)) {
|
|
625
|
+
const connection = await client.getConnection();
|
|
626
|
+
this.poolConnections.add(connection);
|
|
627
|
+
return connection;
|
|
597
628
|
}
|
|
598
|
-
return
|
|
629
|
+
return client;
|
|
599
630
|
}
|
|
600
631
|
catch (error) {
|
|
601
632
|
handleError(error);
|
|
@@ -604,9 +635,10 @@ export class OracleVS extends VectorStore {
|
|
|
604
635
|
// Close connection or return it to the pool
|
|
605
636
|
async retConnection(connection) {
|
|
606
637
|
try {
|
|
607
|
-
// If
|
|
608
|
-
if (
|
|
638
|
+
// If this public connection came from any pool, close it to return it to the pool.
|
|
639
|
+
if (this.poolConnections.has(connection)) {
|
|
609
640
|
await connection.close();
|
|
641
|
+
this.poolConnections.delete(connection);
|
|
610
642
|
}
|
|
611
643
|
}
|
|
612
644
|
catch (error) {
|
|
@@ -624,16 +656,15 @@ export class OracleVS extends VectorStore {
|
|
|
624
656
|
*/
|
|
625
657
|
async addVectors(vectors, documents, options) {
|
|
626
658
|
if (vectors.length === 0) {
|
|
627
|
-
|
|
659
|
+
throwError(ErrorCode.VALIDATION_INVALID_INPUT, "Vectors input null. Nothing to add...");
|
|
628
660
|
}
|
|
629
661
|
const inputIds = options?.ids;
|
|
630
662
|
let connection = null;
|
|
631
663
|
try {
|
|
632
664
|
// Ensure there are IDs for all documents
|
|
633
665
|
if (inputIds !== undefined && inputIds.length !== vectors.length) {
|
|
634
|
-
|
|
666
|
+
throwError(ErrorCode.VALIDATION_INVALID_INPUT, "The number of ids must match the number of vectors provided.");
|
|
635
667
|
}
|
|
636
|
-
connection = await this.getConnection();
|
|
637
668
|
const finalIds = [];
|
|
638
669
|
const binds = [];
|
|
639
670
|
for (let index = 0; index < documents.length; index += 1) {
|
|
@@ -679,6 +710,7 @@ export class OracleVS extends VectorStore {
|
|
|
679
710
|
},
|
|
680
711
|
autoCommit: false,
|
|
681
712
|
};
|
|
713
|
+
connection = await this.getConnection();
|
|
682
714
|
await connection.executeMany(sql, binds, executeOptions);
|
|
683
715
|
// Commit once all inserts are queued up
|
|
684
716
|
await connection.commit();
|
|
@@ -709,14 +741,22 @@ export class OracleVS extends VectorStore {
|
|
|
709
741
|
let connection = null;
|
|
710
742
|
try {
|
|
711
743
|
const bindValues = [this.prepareQueryVector(query)];
|
|
744
|
+
const hasFilter = !!filter && Object.keys(filter).length > 0;
|
|
745
|
+
// Keep the vector index hint for unfiltered searches. When a JSON filter
|
|
746
|
+
// is present, forcing VECTOR_INDEX_TRANSFORM can change result semantics
|
|
747
|
+
// by doing approximate top-k before the filter is applied.
|
|
748
|
+
const selectClause = hasFilter
|
|
749
|
+
? "SELECT"
|
|
750
|
+
: `SELECT /*+ VECTOR_INDEX_TRANSFORM(${this.tableName}) */`;
|
|
712
751
|
let sqlQuery = `
|
|
713
|
-
|
|
752
|
+
${selectClause}
|
|
753
|
+
external_id,
|
|
714
754
|
text,
|
|
715
755
|
metadata,
|
|
716
756
|
vector_distance(embedding, :1, ${this.distanceStrategy}) as distance,
|
|
717
757
|
embedding
|
|
718
758
|
FROM ${this.tableName} `;
|
|
719
|
-
if (
|
|
759
|
+
if (hasFilter) {
|
|
720
760
|
sqlQuery += ` WHERE ${generateWhereClause(filter, bindValues)}`;
|
|
721
761
|
}
|
|
722
762
|
bindValues.push(k);
|
|
@@ -744,14 +784,10 @@ export class OracleVS extends VectorStore {
|
|
|
744
784
|
docsScoresAndEmbeddings.push([document, distance, embedding]);
|
|
745
785
|
}
|
|
746
786
|
}
|
|
747
|
-
else {
|
|
748
|
-
// Throw an exception if no rows are found
|
|
749
|
-
throw new Error("No rows found.");
|
|
750
|
-
}
|
|
751
787
|
}
|
|
752
788
|
finally {
|
|
753
789
|
if (connection) {
|
|
754
|
-
await
|
|
790
|
+
await this.retConnection(connection);
|
|
755
791
|
}
|
|
756
792
|
}
|
|
757
793
|
return docsScoresAndEmbeddings;
|
|
@@ -832,14 +868,16 @@ export class OracleVS extends VectorStore {
|
|
|
832
868
|
handleError(error);
|
|
833
869
|
}
|
|
834
870
|
finally {
|
|
835
|
-
if (connection)
|
|
836
|
-
await
|
|
871
|
+
if (connection) {
|
|
872
|
+
await this.retConnection(connection);
|
|
873
|
+
}
|
|
837
874
|
}
|
|
838
875
|
}
|
|
839
876
|
static async fromDocuments(documents, embeddings, dbConfig, options) {
|
|
840
877
|
const { client } = dbConfig;
|
|
841
|
-
if (!client)
|
|
842
|
-
|
|
878
|
+
if (!client) {
|
|
879
|
+
throwError(ErrorCode.VALIDATION_MISSING_REQUIRED_PARAMETER, "client");
|
|
880
|
+
}
|
|
843
881
|
try {
|
|
844
882
|
const vss = new OracleVS(embeddings, dbConfig);
|
|
845
883
|
await vss.initialize();
|
|
@@ -859,8 +897,8 @@ export class OracleVS extends VectorStore {
|
|
|
859
897
|
* inside the pool are terminated.
|
|
860
898
|
*/
|
|
861
899
|
async end() {
|
|
862
|
-
if (isPool(this.client)) {
|
|
863
|
-
await this.client
|
|
900
|
+
if (!isClientProvider(this.client) && isPool(this.client)) {
|
|
901
|
+
await this.client.close();
|
|
864
902
|
}
|
|
865
903
|
}
|
|
866
904
|
}
|
package/dist/vectorstores.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vectorstores.js","sourceRoot":"","sources":["../src/vectorstores.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vectorstores.js","sourceRoot":"","sources":["../src/vectorstores.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oracle/langchain-oracledb",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Oracle Database integration for LangChain.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -14,6 +14,27 @@
|
|
|
14
14
|
"directory": "libs/js/oracledb/langchain-oracledb"
|
|
15
15
|
},
|
|
16
16
|
"homepage": "https://github.com/oracle/langchain-oracle/tree/main/libs/js/langchain-oracledb",
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "pnpm clean && pnpm build:esm && pnpm build:cjs && pnpm build:types:cjs && pnpm build:scripts",
|
|
19
|
+
"build:esm": "NODE_OPTIONS=--max-old-space-size=4096 tsc --outDir dist/ && rm -rf dist/tests dist/**/tests",
|
|
20
|
+
"build:cjs": "NODE_OPTIONS=--max-old-space-size=4096 tsc --outDir dist-cjs/ -p tsconfig.cjs.json && node scripts/move-cjs-to-dist.js && rm -rf dist-cjs",
|
|
21
|
+
"build:types:cjs": "NODE_OPTIONS=--max-old-space-size=4096 tsc -p tsconfig.types.cjs.json && node scripts/rename-cjs-dts.js",
|
|
22
|
+
"build:watch": "node scripts/create-entrypoints.js && tsc --outDir dist/ --watch",
|
|
23
|
+
"build:scripts": "node scripts/create-entrypoints.js && node scripts/check-tree-shaking.js",
|
|
24
|
+
"lint": "NODE_OPTIONS=--max-old-space-size=4096 eslint src && dpdm --exit-code circular:1 --no-warning --no-tree src/*.ts src/**/*.ts",
|
|
25
|
+
"lint:fix": "pnpm lint --fix",
|
|
26
|
+
"clean": "rm -rf dist/ dist-types-cjs && NODE_OPTIONS=--max-old-space-size=4096 node scripts/create-entrypoints.js pre",
|
|
27
|
+
"prepack": "pnpm build",
|
|
28
|
+
"release": "release-it --only-version --config .release-it.json",
|
|
29
|
+
"test": "vitest run",
|
|
30
|
+
"test:watch": "vitest",
|
|
31
|
+
"test:int": "vitest run --mode int",
|
|
32
|
+
"test:standard:unit": "vitest run --mode standard-unit",
|
|
33
|
+
"test:standard:int": "vitest run --mode standard-int",
|
|
34
|
+
"test:standard": "pnpm test:standard:unit && pnpm test:standard:int",
|
|
35
|
+
"format": "prettier --write \"src\"",
|
|
36
|
+
"format:check": "prettier --check \"src\""
|
|
37
|
+
},
|
|
17
38
|
"author": "LangChain",
|
|
18
39
|
"license": "MIT",
|
|
19
40
|
"dependencies": {
|
|
@@ -64,25 +85,5 @@
|
|
|
64
85
|
"index.js",
|
|
65
86
|
"index.d.ts",
|
|
66
87
|
"index.d.cts"
|
|
67
|
-
]
|
|
68
|
-
|
|
69
|
-
"build": "pnpm clean && pnpm build:esm && pnpm build:cjs && pnpm build:types:cjs && pnpm build:scripts",
|
|
70
|
-
"build:esm": "NODE_OPTIONS=--max-old-space-size=4096 tsc --outDir dist/ && rm -rf dist/tests dist/**/tests",
|
|
71
|
-
"build:cjs": "NODE_OPTIONS=--max-old-space-size=4096 tsc --outDir dist-cjs/ -p tsconfig.cjs.json && node scripts/move-cjs-to-dist.js && rm -rf dist-cjs",
|
|
72
|
-
"build:types:cjs": "NODE_OPTIONS=--max-old-space-size=4096 tsc -p tsconfig.types.cjs.json && node scripts/rename-cjs-dts.js",
|
|
73
|
-
"build:watch": "node scripts/create-entrypoints.js && tsc --outDir dist/ --watch",
|
|
74
|
-
"build:scripts": "node scripts/create-entrypoints.js && node scripts/check-tree-shaking.js",
|
|
75
|
-
"lint": "NODE_OPTIONS=--max-old-space-size=4096 eslint src && dpdm --exit-code circular:1 --no-warning --no-tree src/*.ts src/**/*.ts",
|
|
76
|
-
"lint:fix": "pnpm lint --fix",
|
|
77
|
-
"clean": "rm -rf dist/ dist-types-cjs && NODE_OPTIONS=--max-old-space-size=4096 node scripts/create-entrypoints.js pre",
|
|
78
|
-
"release": "release-it --only-version --config .release-it.json",
|
|
79
|
-
"test": "vitest run",
|
|
80
|
-
"test:watch": "vitest",
|
|
81
|
-
"test:int": "vitest run --mode int",
|
|
82
|
-
"test:standard:unit": "vitest run --mode standard-unit",
|
|
83
|
-
"test:standard:int": "vitest run --mode standard-int",
|
|
84
|
-
"test:standard": "pnpm test:standard:unit && pnpm test:standard:int",
|
|
85
|
-
"format": "prettier --write \"src\"",
|
|
86
|
-
"format:check": "prettier --check \"src\""
|
|
87
|
-
}
|
|
88
|
-
}
|
|
88
|
+
]
|
|
89
|
+
}
|