@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.
@@ -3,12 +3,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.OracleVS = exports.dropTablePurge = exports.createIndex = exports.createTable = exports.DistanceStrategy = exports.VectorElementFormat = exports.VectorType = exports.generateWhereClause = void 0;
6
+ exports.OracleVS = exports.dropTablePurge = exports.createIndex = exports.createTable = exports.DistanceStrategy = exports.VectorElementFormat = exports.VectorType = exports.generateWhereClause = exports.isLangChainOracleError = exports.OracleVSErrorCode = exports.OracleVSError = exports.ErrorCode = exports.LangChainOracleError = void 0;
7
7
  const node_crypto_1 = __importDefault(require("node:crypto"));
8
8
  const oracledb_1 = __importDefault(require("oracledb"));
9
9
  const vectorstores_1 = require("@langchain/core/vectorstores");
10
10
  const documents_1 = require("@langchain/core/documents");
11
11
  const math_1 = require("@langchain/core/utils/math");
12
+ const errors_js_1 = require("./errors.cjs");
13
+ Object.defineProperty(exports, "LangChainOracleError", { enumerable: true, get: function () { return errors_js_1.LangChainOracleError; } });
14
+ Object.defineProperty(exports, "OracleVSError", { enumerable: true, get: function () { return errors_js_1.LangChainOracleError; } });
15
+ Object.defineProperty(exports, "ErrorCode", { enumerable: true, get: function () { return errors_js_1.ErrorCode; } });
16
+ Object.defineProperty(exports, "OracleVSErrorCode", { enumerable: true, get: function () { return errors_js_1.ErrorCode; } });
17
+ Object.defineProperty(exports, "isLangChainOracleError", { enumerable: true, get: function () { return errors_js_1.isLangChainOracleError; } });
18
+ function validateMetadataKey(column) {
19
+ const pattern = /^[a-zA-Z0-9_.[\],\s*]*$/;
20
+ if (!column || !pattern.test(column)) {
21
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.FILTER_INVALID_METADATA_KEY, column);
22
+ }
23
+ }
12
24
  function generateWhereClause(dbFilter, bindValues) {
13
25
  // Handle $and
14
26
  if ("$and" in dbFilter && Array.isArray(dbFilter.$and)) {
@@ -44,6 +56,7 @@ function generateWhereClause(dbFilter, bindValues) {
44
56
  }
45
57
  exports.generateWhereClause = generateWhereClause;
46
58
  function generateOperatorCondition(column, operator, value, bindValues) {
59
+ validateMetadataKey(column);
47
60
  switch (operator) {
48
61
  case "$eq":
49
62
  return jsonCompare(column, "=", value, bindValues);
@@ -58,20 +71,23 @@ function generateOperatorCondition(column, operator, value, bindValues) {
58
71
  case "$gte":
59
72
  return jsonCompare(column, ">=", value, bindValues);
60
73
  case "$in": {
61
- if (!Array.isArray(value))
62
- throw new Error("$in requires array");
74
+ if (!Array.isArray(value)) {
75
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.FILTER_INVALID_VALUE, "$in requires array");
76
+ }
63
77
  const inClauses = value.map((v) => jsonCompare(column, "=", v, bindValues));
64
78
  return `(${inClauses.join(" OR ")})`;
65
79
  }
66
80
  case "$nin": {
67
- if (!Array.isArray(value))
68
- throw new Error("$nin requires array");
81
+ if (!Array.isArray(value)) {
82
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.FILTER_INVALID_VALUE, "$nin requires array");
83
+ }
69
84
  const ninClauses = value.map((v) => jsonCompare(column, "!=", v, bindValues));
70
85
  return `(${ninClauses.join(" AND ")})`;
71
86
  }
72
87
  case "$between": {
73
- if (!Array.isArray(value) || value.length !== 2)
74
- throw new Error("$between requires [low, high]");
88
+ if (!Array.isArray(value) || value.length !== 2) {
89
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.FILTER_INVALID_VALUE, "$between requires [low, high]");
90
+ }
75
91
  const [low, high] = value;
76
92
  bindValues.push(low, high);
77
93
  const posLow = bindValues.length - 1;
@@ -86,7 +102,7 @@ function generateOperatorCondition(column, operator, value, bindValues) {
86
102
  return `NOT JSON_EXISTS(metadata, '$.${column}')`;
87
103
  }
88
104
  default:
89
- throw new Error(`Unsupported operator: ${operator}`);
105
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.FILTER_UNSUPPORTED_OPERATOR, operator);
90
106
  }
91
107
  }
92
108
  // Helper: build JSON_EXISTS clause for comparison
@@ -117,32 +133,33 @@ exports.DistanceStrategy = {
117
133
  EUCLIDEAN_SQUARED: "EUCLIDEAN_SQUARED",
118
134
  };
119
135
  function handleError(error) {
120
- // Type guard to check if the error is an object and has 'name' and 'message' properties
121
- if (typeof error === "object" &&
136
+ // Preserve LangChainOracleError instances created by this package instead of
137
+ // wrapping them again as generic SYSTEM_ERROR failures.
138
+ if ((0, errors_js_1.isLangChainOracleError)(error)) {
139
+ throw error;
140
+ }
141
+ // Preserve a useful message for both real Error instances and thrown
142
+ // object literals shaped like { message: string }.
143
+ const details = typeof error === "object" &&
122
144
  error !== null &&
123
- "name" in error &&
124
- "message" in error) {
125
- const err = error; // Type assertion based on guarded checks
126
- // Handle specific error types based on the name property
127
- switch (err.name) {
128
- case "RuntimeError":
129
- throw new Error("Database operation failed due to a runtime error.");
130
- case "ValidationError":
131
- throw new Error("Operation failed due to a validation error.");
132
- default:
133
- throw new Error(`An unexpected error occurred during the operation. ${error}`);
134
- }
135
- }
136
- throw new Error(`An unknown and unexpected error occurred. ${error}`);
145
+ "message" in error &&
146
+ typeof error.message === "string"
147
+ ? error.message
148
+ : String(error);
149
+ // Normalize all underlying anomalies into a unified telemetry payload.
150
+ throw (0, errors_js_1.createErrorFromCodeWithCause)(errors_js_1.ErrorCode.SYSTEM_ERROR, error, `An unexpected error occurred during the operation. ${details}`);
137
151
  }
138
152
  function isPool(client) {
139
153
  return "getConnection" in client;
140
154
  }
155
+ function isClientProvider(client) {
156
+ return typeof client === "function";
157
+ }
141
158
  function quoteIdentifier(identifier) {
142
159
  const name = identifier.trim();
143
160
  const validateRegex = /^(?:"[^"]+"|[^".]+)(?:\.(?:"[^"]+"|[^".]+))*$/;
144
161
  if (!validateRegex.test(name)) {
145
- throw new Error(`Identifier name ${identifier} is not valid.`);
162
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VALIDATION_INVALID_IDENTIFIER, identifier);
146
163
  }
147
164
  // extracts parts of the identifier with quoted and unquoted.
148
165
  const matchRegex = /"([^"]+)"|([^".]+)/g;
@@ -187,24 +204,24 @@ function normalizeVectorFormat(value, vectorType) {
187
204
  ? normalizedValue
188
205
  : exports.VectorElementFormat.FLOAT32;
189
206
  if (vectorType === exports.VectorType.SPARSE && format === exports.VectorElementFormat.BINARY) {
190
- throw new Error("BINARY format is not supported for SPARSE vectors.");
207
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VECTOR_INVALID_CONFIGURATION, "BINARY format is not supported for SPARSE vectors.");
191
208
  }
192
209
  return format;
193
210
  }
194
211
  function buildVectorColumnDefinition(embeddingDim, customization) {
195
212
  if (embeddingDim === undefined || embeddingDim === null) {
196
- throw new Error("Embedding dimension is required to create the vector column.");
213
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VECTOR_INVALID_CONFIGURATION, "Embedding dimension is required to create the vector column.");
197
214
  }
198
215
  if (!Number.isInteger(embeddingDim) || embeddingDim <= 0) {
199
- throw new Error("Embedding dimension must be a positive integer.");
216
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VECTOR_INVALID_CONFIGURATION, "Embedding dimension must be a positive integer.");
200
217
  }
201
218
  const vectorType = normalizeVectorTypeValue(customization?.vectorType);
202
219
  if (vectorType === exports.VectorType.SPARSE && customization?.format === undefined) {
203
- throw new Error("Sparse vector type requires a vector format to be specified.");
220
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VECTOR_INVALID_CONFIGURATION, "Sparse vector type requires a vector format to be specified.");
204
221
  }
205
222
  const format = normalizeVectorFormat(customization?.format, vectorType);
206
223
  if (format === exports.VectorElementFormat.BINARY && embeddingDim % 8 !== 0) {
207
- throw new Error("BINARY vector format requires dimensions to be a multiple of 8.");
224
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VECTOR_INVALID_CONFIGURATION, "BINARY vector format requires dimensions to be a multiple of 8.");
208
225
  }
209
226
  const dimensionSegment = String(embeddingDim);
210
227
  const formatSegment = format ?? exports.VectorElementFormat.FLOAT32;
@@ -296,7 +313,7 @@ function convertDenseVectorForFormat(values, format) {
296
313
  for (let i = 0; i < values.length; i += 1) {
297
314
  const rounded = Math.round(values[i]);
298
315
  if (rounded < -128 || rounded > 127) {
299
- throw new Error("INT8 vector values must be within [-128, 127].");
316
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VECTOR_INVALID_VALUE, "INT8 vector values must be within [-128, 127].");
300
317
  }
301
318
  clamped[i] = rounded;
302
319
  }
@@ -336,7 +353,7 @@ async function createHNSWIndex(connection, oraclevs, params = {}) {
336
353
  const { idxName = _getIndexName("HNSW"), idxType = "HNSW", neighbors = 32, efConstruction = 200, accuracy = 90, parallel = 8, ...extra } = params;
337
354
  const invalidKeys = Object.keys(extra);
338
355
  if (invalidKeys.length > 0) {
339
- throw new Error(`Invalid parameter(s): ${invalidKeys.join(", ")}`);
356
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VECTOR_INVALID_INDEX_PARAMETERS, invalidKeys);
340
357
  }
341
358
  const ddl = `
342
359
  CREATE VECTOR INDEX IF NOT EXISTS ${quoteIdentifier(idxName)}
@@ -360,7 +377,7 @@ async function createIVFIndex(connection, oraclevs, params = {}) {
360
377
  const { idxName = _getIndexName("IVF"), idxType = "IVF", neighborPart = 32, accuracy = 90, parallel = 8, ...extra } = params;
361
378
  const invalidKeys = Object.keys(extra);
362
379
  if (invalidKeys.length > 0) {
363
- throw new Error(`Invalid parameter(s): ${invalidKeys.join(", ")}`);
380
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VECTOR_INVALID_INDEX_PARAMETERS, invalidKeys);
364
381
  }
365
382
  const ddl = `
366
383
  CREATE VECTOR INDEX IF NOT EXISTS ${quoteIdentifier(idxName)}
@@ -401,6 +418,14 @@ class OracleVS extends vectorstores_1.VectorStore {
401
418
  writable: true,
402
419
  value: void 0
403
420
  });
421
+ // Tracks connections borrowed from a pool so retConnection() can return them
422
+ // without closing direct connections owned by the caller.
423
+ Object.defineProperty(this, "poolConnections", {
424
+ enumerable: true,
425
+ configurable: true,
426
+ writable: true,
427
+ value: new WeakSet()
428
+ });
404
429
  Object.defineProperty(this, "embeddingDimension", {
405
430
  enumerable: true,
406
431
  configurable: true,
@@ -478,7 +503,7 @@ class OracleVS extends vectorstores_1.VectorStore {
478
503
  }
479
504
  ensureEmbeddingDimension() {
480
505
  if (this.embeddingDimension === undefined || this.embeddingDimension === null) {
481
- throw new Error("Embedding dimension is not initialized for this vector store.");
506
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.STATE_INVALID, "Embedding dimension is not initialized for this vector store.");
482
507
  }
483
508
  return this.embeddingDimension;
484
509
  }
@@ -493,7 +518,7 @@ class OracleVS extends vectorstores_1.VectorStore {
493
518
  : exports.VectorElementFormat.FLOAT32;
494
519
  if (vectorType === exports.VectorType.SPARSE) {
495
520
  if (vector.length !== dimension) {
496
- throw new Error("Sparse vectors must supply full-dimension arrays for conversion.");
521
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VECTOR_INVALID_VALUE, "Sparse vectors must supply full-dimension arrays for conversion.");
497
522
  }
498
523
  let sparseInput = vector;
499
524
  if (format === exports.VectorElementFormat.INT8) {
@@ -501,7 +526,7 @@ class OracleVS extends vectorstores_1.VectorStore {
501
526
  for (let i = 0; i < vector.length; i += 1) {
502
527
  const rounded = Math.round(vector[i]);
503
528
  if (rounded < -128 || rounded > 127) {
504
- throw new Error("INT8 sparse vector values must be within [-128, 127].");
529
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VECTOR_INVALID_VALUE, "INT8 sparse vector values must be within [-128, 127].");
505
530
  }
506
531
  clamped[i] = rounded;
507
532
  }
@@ -516,7 +541,7 @@ class OracleVS extends vectorstores_1.VectorStore {
516
541
  return new oracledb_1.default.SparseVector(sparseInput);
517
542
  }
518
543
  if (vector.length !== dimension) {
519
- throw new Error("Vector length does not match the embedding dimension.");
544
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VECTOR_INVALID_VALUE, "Vector length does not match the embedding dimension.");
520
545
  }
521
546
  return convertDenseVectorForFormat(vector, format);
522
547
  }
@@ -529,7 +554,7 @@ class OracleVS extends vectorstores_1.VectorStore {
529
554
  if (isSparseVector(value)) {
530
555
  const dense = value.dense?.();
531
556
  if (!dense) {
532
- throw new Error("Unable to expand sparse vector to dense representation.");
557
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VECTOR_UNSUPPORTED_REPRESENTATION, "Unable to expand sparse vector to dense representation.");
533
558
  }
534
559
  if (isFloat32Array(dense)) {
535
560
  return dense;
@@ -551,7 +576,7 @@ class OracleVS extends vectorstores_1.VectorStore {
551
576
  if (Array.isArray(value)) {
552
577
  return value;
553
578
  }
554
- throw new Error("Received unsupported vector representation from the database.");
579
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VECTOR_UNSUPPORTED_REPRESENTATION, "Received unsupported vector representation from the database.");
555
580
  }
556
581
  // Normalizes any supported vector representation into Float32Array so downstream math
557
582
  // (MMR, distance calculations) can assume a consistent element type without forcing
@@ -600,12 +625,20 @@ class OracleVS extends vectorstores_1.VectorStore {
600
625
  await this.retConnection(connection);
601
626
  }
602
627
  }
628
+ async resolveClient() {
629
+ return isClientProvider(this.client)
630
+ ? await this.client()
631
+ : this.client;
632
+ }
603
633
  async getConnection() {
604
634
  try {
605
- if (isPool(this.client)) {
606
- return await this.client.getConnection();
635
+ const client = await this.resolveClient();
636
+ if (isPool(client)) {
637
+ const connection = await client.getConnection();
638
+ this.poolConnections.add(connection);
639
+ return connection;
607
640
  }
608
- return this.client;
641
+ return client;
609
642
  }
610
643
  catch (error) {
611
644
  handleError(error);
@@ -614,9 +647,10 @@ class OracleVS extends vectorstores_1.VectorStore {
614
647
  // Close connection or return it to the pool
615
648
  async retConnection(connection) {
616
649
  try {
617
- // If the client is a pool, close the connection (return it to the pool)
618
- if (isPool(this.client)) {
650
+ // If this public connection came from any pool, close it to return it to the pool.
651
+ if (this.poolConnections.has(connection)) {
619
652
  await connection.close();
653
+ this.poolConnections.delete(connection);
620
654
  }
621
655
  }
622
656
  catch (error) {
@@ -634,16 +668,15 @@ class OracleVS extends vectorstores_1.VectorStore {
634
668
  */
635
669
  async addVectors(vectors, documents, options) {
636
670
  if (vectors.length === 0) {
637
- throw new Error("Vectors input null. Nothing to add...");
671
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VALIDATION_INVALID_INPUT, "Vectors input null. Nothing to add...");
638
672
  }
639
673
  const inputIds = options?.ids;
640
674
  let connection = null;
641
675
  try {
642
676
  // Ensure there are IDs for all documents
643
677
  if (inputIds !== undefined && inputIds.length !== vectors.length) {
644
- throw new Error("The number of ids must match the number of vectors provided.");
678
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VALIDATION_INVALID_INPUT, "The number of ids must match the number of vectors provided.");
645
679
  }
646
- connection = await this.getConnection();
647
680
  const finalIds = [];
648
681
  const binds = [];
649
682
  for (let index = 0; index < documents.length; index += 1) {
@@ -689,6 +722,7 @@ class OracleVS extends vectorstores_1.VectorStore {
689
722
  },
690
723
  autoCommit: false,
691
724
  };
725
+ connection = await this.getConnection();
692
726
  await connection.executeMany(sql, binds, executeOptions);
693
727
  // Commit once all inserts are queued up
694
728
  await connection.commit();
@@ -719,14 +753,22 @@ class OracleVS extends vectorstores_1.VectorStore {
719
753
  let connection = null;
720
754
  try {
721
755
  const bindValues = [this.prepareQueryVector(query)];
756
+ const hasFilter = !!filter && Object.keys(filter).length > 0;
757
+ // Keep the vector index hint for unfiltered searches. When a JSON filter
758
+ // is present, forcing VECTOR_INDEX_TRANSFORM can change result semantics
759
+ // by doing approximate top-k before the filter is applied.
760
+ const selectClause = hasFilter
761
+ ? "SELECT"
762
+ : `SELECT /*+ VECTOR_INDEX_TRANSFORM(${this.tableName}) */`;
722
763
  let sqlQuery = `
723
- SELECT external_id,
764
+ ${selectClause}
765
+ external_id,
724
766
  text,
725
767
  metadata,
726
768
  vector_distance(embedding, :1, ${this.distanceStrategy}) as distance,
727
769
  embedding
728
770
  FROM ${this.tableName} `;
729
- if (filter && Object.keys(filter).length > 0) {
771
+ if (hasFilter) {
730
772
  sqlQuery += ` WHERE ${generateWhereClause(filter, bindValues)}`;
731
773
  }
732
774
  bindValues.push(k);
@@ -754,14 +796,10 @@ class OracleVS extends vectorstores_1.VectorStore {
754
796
  docsScoresAndEmbeddings.push([document, distance, embedding]);
755
797
  }
756
798
  }
757
- else {
758
- // Throw an exception if no rows are found
759
- throw new Error("No rows found.");
760
- }
761
799
  }
762
800
  finally {
763
801
  if (connection) {
764
- await connection.close();
802
+ await this.retConnection(connection);
765
803
  }
766
804
  }
767
805
  return docsScoresAndEmbeddings;
@@ -842,14 +880,16 @@ class OracleVS extends vectorstores_1.VectorStore {
842
880
  handleError(error);
843
881
  }
844
882
  finally {
845
- if (connection)
846
- await connection.close();
883
+ if (connection) {
884
+ await this.retConnection(connection);
885
+ }
847
886
  }
848
887
  }
849
888
  static async fromDocuments(documents, embeddings, dbConfig, options) {
850
889
  const { client } = dbConfig;
851
- if (!client)
852
- throw new Error("client parameter is required...");
890
+ if (!client) {
891
+ (0, errors_js_1.throwError)(errors_js_1.ErrorCode.VALIDATION_MISSING_REQUIRED_PARAMETER, "client");
892
+ }
853
893
  try {
854
894
  const vss = new OracleVS(embeddings, dbConfig);
855
895
  await vss.initialize();
@@ -869,8 +909,8 @@ class OracleVS extends vectorstores_1.VectorStore {
869
909
  * inside the pool are terminated.
870
910
  */
871
911
  async end() {
872
- if (isPool(this.client)) {
873
- await this.client?.close();
912
+ if (!isClientProvider(this.client) && isPool(this.client)) {
913
+ await this.client.close();
874
914
  }
875
915
  }
876
916
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vectorstores.cjs","sourceRoot":"","sources":["../src/vectorstores.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vectorstores.cjs","sourceRoot":"","sources":["../src/vectorstores.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,15 @@ import oracledb from "oracledb";
4
4
  import { type MaxMarginalRelevanceSearchOptions, VectorStore } from "@langchain/core/vectorstores";
5
5
  import { Document, type DocumentInterface } from "@langchain/core/documents";
6
6
  import type { EmbeddingsInterface } from "@langchain/core/embeddings";
7
+ import { LangChainOracleError, ErrorCode, isLangChainOracleError } from "./errors.js";
7
8
  export type Metadata = Record<string, unknown>;
8
9
  interface AddDocumentOptions {
9
10
  ids?: string[];
10
11
  mutateOnDuplicate?: boolean;
11
12
  }
13
+ export { LangChainOracleError, ErrorCode };
14
+ export { LangChainOracleError as OracleVSError, ErrorCode as OracleVSErrorCode, };
15
+ export { isLangChainOracleError };
12
16
  export declare function generateWhereClause(dbFilter: Metadata, bindValues: unknown[]): string;
13
17
  export declare const VectorType: {
14
18
  readonly DENSE: "DENSE";
@@ -23,10 +27,12 @@ export declare const VectorElementFormat: {
23
27
  readonly FLEX: "*";
24
28
  };
25
29
  export type VectorElementFormat = (typeof VectorElementFormat)[keyof typeof VectorElementFormat];
30
+ export type OracleDBClient = oracledb.Pool | oracledb.Connection;
31
+ export type OracleDBClientProvider = () => Promise<OracleDBClient>;
26
32
  export interface OracleDBVSArgs {
27
33
  tableName: string;
28
34
  schemaName?: string | null;
29
- client: oracledb.Pool | oracledb.Connection;
35
+ client: OracleDBClient | OracleDBClientProvider;
30
36
  query: string;
31
37
  distanceStrategy?: DistanceStrategy;
32
38
  filter?: Metadata;
@@ -71,7 +77,8 @@ export declare function createIndex(client: oracledb.Connection, vectorStore: Or
71
77
  export declare function dropTablePurge(connection: oracledb.Connection, tableName: string): Promise<void>;
72
78
  export declare class OracleVS extends VectorStore {
73
79
  FilterType: Metadata;
74
- readonly client: oracledb.Pool | oracledb.Connection;
80
+ readonly client: OracleDBClient | OracleDBClientProvider;
81
+ private readonly poolConnections;
75
82
  embeddingDimension: number | undefined;
76
83
  readonly tableName: string;
77
84
  readonly distanceStrategy: DistanceStrategy;
@@ -91,6 +98,7 @@ export declare class OracleVS extends VectorStore {
91
98
  private coerceEmbeddingToFloat32;
92
99
  getEmbeddingDimension(query: string): Promise<number>;
93
100
  initialize(): Promise<void>;
101
+ private resolveClient;
94
102
  getConnection(): Promise<oracledb.Connection>;
95
103
  retConnection(connection: oracledb.Connection): Promise<void>;
96
104
  /**
@@ -146,4 +154,3 @@ export declare class OracleVS extends VectorStore {
146
154
  */
147
155
  end(): Promise<void>;
148
156
  }
149
- export {};
@@ -4,11 +4,15 @@ import oracledb from "oracledb";
4
4
  import { type MaxMarginalRelevanceSearchOptions, VectorStore } from "@langchain/core/vectorstores";
5
5
  import { Document, type DocumentInterface } from "@langchain/core/documents";
6
6
  import type { EmbeddingsInterface } from "@langchain/core/embeddings";
7
+ import { LangChainOracleError, ErrorCode, isLangChainOracleError } from "./errors.js";
7
8
  export type Metadata = Record<string, unknown>;
8
9
  interface AddDocumentOptions {
9
10
  ids?: string[];
10
11
  mutateOnDuplicate?: boolean;
11
12
  }
13
+ export { LangChainOracleError, ErrorCode };
14
+ export { LangChainOracleError as OracleVSError, ErrorCode as OracleVSErrorCode, };
15
+ export { isLangChainOracleError };
12
16
  export declare function generateWhereClause(dbFilter: Metadata, bindValues: unknown[]): string;
13
17
  export declare const VectorType: {
14
18
  readonly DENSE: "DENSE";
@@ -23,10 +27,12 @@ export declare const VectorElementFormat: {
23
27
  readonly FLEX: "*";
24
28
  };
25
29
  export type VectorElementFormat = (typeof VectorElementFormat)[keyof typeof VectorElementFormat];
30
+ export type OracleDBClient = oracledb.Pool | oracledb.Connection;
31
+ export type OracleDBClientProvider = () => Promise<OracleDBClient>;
26
32
  export interface OracleDBVSArgs {
27
33
  tableName: string;
28
34
  schemaName?: string | null;
29
- client: oracledb.Pool | oracledb.Connection;
35
+ client: OracleDBClient | OracleDBClientProvider;
30
36
  query: string;
31
37
  distanceStrategy?: DistanceStrategy;
32
38
  filter?: Metadata;
@@ -71,7 +77,8 @@ export declare function createIndex(client: oracledb.Connection, vectorStore: Or
71
77
  export declare function dropTablePurge(connection: oracledb.Connection, tableName: string): Promise<void>;
72
78
  export declare class OracleVS extends VectorStore {
73
79
  FilterType: Metadata;
74
- readonly client: oracledb.Pool | oracledb.Connection;
80
+ readonly client: OracleDBClient | OracleDBClientProvider;
81
+ private readonly poolConnections;
75
82
  embeddingDimension: number | undefined;
76
83
  readonly tableName: string;
77
84
  readonly distanceStrategy: DistanceStrategy;
@@ -91,6 +98,7 @@ export declare class OracleVS extends VectorStore {
91
98
  private coerceEmbeddingToFloat32;
92
99
  getEmbeddingDimension(query: string): Promise<number>;
93
100
  initialize(): Promise<void>;
101
+ private resolveClient;
94
102
  getConnection(): Promise<oracledb.Connection>;
95
103
  retConnection(connection: oracledb.Connection): Promise<void>;
96
104
  /**
@@ -146,4 +154,3 @@ export declare class OracleVS extends VectorStore {
146
154
  */
147
155
  end(): Promise<void>;
148
156
  }
149
- export {};