@o-lang/semantic-doc-search 1.0.14 → 1.0.16

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o-lang/semantic-doc-search",
3
- "version": "1.0.14",
3
+ "version": "1.0.16",
4
4
  "description": "O-lang Semantic Document Search Resolver with hybrid search, embeddings, rerank, and streaming.",
5
5
  "main": "src/index.js",
6
6
  "type": "commonjs",
@@ -13,27 +13,32 @@ class PgVectorAdapter {
13
13
  });
14
14
  }
15
15
 
16
- // Convert JavaScript array to PostgreSQL array format
17
- // [1.0, 2.0, 3.0] -> {1.0,2.0,3.0}
18
- arrayToPgArray(arr) {
19
- return `{${arr.join(',')}}`;
20
- }
21
-
22
16
  async upsert({ id, vector, content, source, metadata = {} }) {
23
- // Convert to PostgreSQL array format (NOT JSON)
24
- const pgVector = this.arrayToPgArray(vector);
17
+ console.log('🔍 Adapter received vector type:', typeof vector);
18
+ console.log('🔍 Adapter received vector is array:', Array.isArray(vector));
19
+ if (Array.isArray(vector)) {
20
+ console.log('🔍 Adapter vector sample:', vector.slice(0, 3));
21
+ } else {
22
+ console.log('🔍 Adapter vector value:', vector);
23
+ }
25
24
 
26
25
  await this.pool.query(
27
26
  `INSERT INTO doc_embeddings (id, embedding, content, source, metadata)
28
27
  VALUES ($1, $2::vector, $3, $4, $5::jsonb)
29
28
  ON CONFLICT (id) DO UPDATE
30
29
  SET embedding = $2::vector, content = $3, source = $4, metadata = $5::jsonb, updated_at = NOW()`,
31
- [id, pgVector, content, source, JSON.stringify(metadata)]
30
+ [id, vector, content, source, JSON.stringify(metadata)]
32
31
  );
33
32
  }
34
33
 
35
34
  async query(vector, topK = 5) {
36
- const pgVector = this.arrayToPgArray(vector);
35
+ console.log('🔍 Query received vector type:', typeof vector);
36
+ console.log('🔍 Query received vector is array:', Array.isArray(vector));
37
+ if (Array.isArray(vector)) {
38
+ console.log('🔍 Query vector sample:', vector.slice(0, 3));
39
+ } else {
40
+ console.log('🔍 Query vector value:', vector);
41
+ }
37
42
 
38
43
  const res = await this.pool.query(
39
44
  `SELECT id, content, source, metadata,
@@ -41,7 +46,7 @@ class PgVectorAdapter {
41
46
  FROM doc_embeddings
42
47
  ORDER BY embedding <=> $1::vector
43
48
  LIMIT $2`,
44
- [pgVector, topK]
49
+ [vector, topK]
45
50
  );
46
51
 
47
52
  return res.rows.map(row => ({