@liendev/core 0.22.0 → 0.23.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.
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error thrown when config file exists but has invalid syntax or structure.
|
|
3
|
+
* This is separate from "file not found" which is expected behavior.
|
|
4
|
+
*/
|
|
5
|
+
export declare class ConfigValidationError extends Error {
|
|
6
|
+
readonly configPath: string;
|
|
7
|
+
constructor(message: string, configPath: string);
|
|
8
|
+
}
|
|
1
9
|
/**
|
|
2
10
|
* Global configuration for Lien.
|
|
3
11
|
* Only contains what truly needs configuration: storage backend choice.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/config/global-config.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,MAAM,CAAC,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KAEjB,CAAC;CACH;
|
|
1
|
+
{"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/config/global-config.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aACD,UAAU,EAAE,MAAM;gBAAnD,OAAO,EAAE,MAAM,EAAkB,UAAU,EAAE,MAAM;CAIhE;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,MAAM,CAAC,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KAEjB,CAAC;CACH;AAoGD;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC,CAuB9D;AA0ED;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBjF"}
|
|
@@ -4,6 +4,89 @@ import os from 'os';
|
|
|
4
4
|
import { exec } from 'child_process';
|
|
5
5
|
import { promisify } from 'util';
|
|
6
6
|
const execAsync = promisify(exec);
|
|
7
|
+
/**
|
|
8
|
+
* Error thrown when config file exists but has invalid syntax or structure.
|
|
9
|
+
* This is separate from "file not found" which is expected behavior.
|
|
10
|
+
*/
|
|
11
|
+
export class ConfigValidationError extends Error {
|
|
12
|
+
configPath;
|
|
13
|
+
constructor(message, configPath) {
|
|
14
|
+
super(message);
|
|
15
|
+
this.configPath = configPath;
|
|
16
|
+
this.name = 'ConfigValidationError';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Load configuration from environment variables if present.
|
|
21
|
+
*/
|
|
22
|
+
function loadConfigFromEnv() {
|
|
23
|
+
const backendEnv = process.env.LIEN_BACKEND;
|
|
24
|
+
if (!backendEnv) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
// Validate backend value
|
|
28
|
+
const validBackends = ['lancedb', 'qdrant'];
|
|
29
|
+
if (!validBackends.includes(backendEnv)) {
|
|
30
|
+
throw new ConfigValidationError(`Invalid LIEN_BACKEND environment variable: "${backendEnv}"\n` +
|
|
31
|
+
`Valid values: 'lancedb' or 'qdrant'`, '<environment>');
|
|
32
|
+
}
|
|
33
|
+
const backend = backendEnv;
|
|
34
|
+
if (backend === 'qdrant') {
|
|
35
|
+
const url = process.env.LIEN_QDRANT_URL;
|
|
36
|
+
if (!url) {
|
|
37
|
+
// Fail fast with clear error instead of returning incomplete config
|
|
38
|
+
throw new ConfigValidationError('Qdrant backend requires LIEN_QDRANT_URL environment variable.\n' +
|
|
39
|
+
'Set it with: export LIEN_QDRANT_URL=http://localhost:6333', '<environment>');
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
backend: 'qdrant',
|
|
43
|
+
qdrant: {
|
|
44
|
+
url,
|
|
45
|
+
apiKey: process.env.LIEN_QDRANT_API_KEY,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return { backend };
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Parse and validate a config object.
|
|
53
|
+
*/
|
|
54
|
+
function validateConfig(config, configPath) {
|
|
55
|
+
// Validate backend value
|
|
56
|
+
if (config.backend && !['lancedb', 'qdrant'].includes(config.backend)) {
|
|
57
|
+
throw new ConfigValidationError(`Invalid backend in global config: "${config.backend}"\n` +
|
|
58
|
+
`Config file: ${configPath}\n` +
|
|
59
|
+
`Valid values: 'lancedb' or 'qdrant'`, configPath);
|
|
60
|
+
}
|
|
61
|
+
// Validate Qdrant configuration
|
|
62
|
+
if (config.backend === 'qdrant') {
|
|
63
|
+
if (!config.qdrant) {
|
|
64
|
+
throw new ConfigValidationError(`Qdrant backend requires a "qdrant" configuration section\n` +
|
|
65
|
+
`Config file: ${configPath}\n` +
|
|
66
|
+
`Add: { "qdrant": { "url": "http://localhost:6333" } }`, configPath);
|
|
67
|
+
}
|
|
68
|
+
if (!config.qdrant.url) {
|
|
69
|
+
throw new ConfigValidationError(`Qdrant backend requires qdrant.url in config\n` +
|
|
70
|
+
`Config file: ${configPath}\n` +
|
|
71
|
+
`Add: { "qdrant": { "url": "http://localhost:6333" } }`, configPath);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Parse JSON config file with helpful error messages.
|
|
77
|
+
*/
|
|
78
|
+
function parseConfigFile(content, configPath) {
|
|
79
|
+
try {
|
|
80
|
+
return JSON.parse(content);
|
|
81
|
+
}
|
|
82
|
+
catch (parseError) {
|
|
83
|
+
const errorMsg = parseError instanceof Error ? parseError.message : String(parseError);
|
|
84
|
+
throw new ConfigValidationError(`Failed to parse global config file.\n` +
|
|
85
|
+
`Config file: ${configPath}\n` +
|
|
86
|
+
`Syntax error: ${errorMsg}\n\n` +
|
|
87
|
+
`Please fix the JSON syntax errors in your config file.`, configPath);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
7
90
|
/**
|
|
8
91
|
* Load global configuration from environment variables or config file.
|
|
9
92
|
*
|
|
@@ -16,39 +99,24 @@ const execAsync = promisify(exec);
|
|
|
16
99
|
*/
|
|
17
100
|
export async function loadGlobalConfig() {
|
|
18
101
|
// 1. Check environment variables first
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return {
|
|
23
|
-
backend: 'qdrant',
|
|
24
|
-
qdrant: {
|
|
25
|
-
url: process.env.LIEN_QDRANT_URL,
|
|
26
|
-
apiKey: process.env.LIEN_QDRANT_API_KEY,
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
return { backend };
|
|
102
|
+
const envConfig = loadConfigFromEnv();
|
|
103
|
+
if (envConfig) {
|
|
104
|
+
return envConfig;
|
|
31
105
|
}
|
|
32
106
|
// 2. Check global config file
|
|
33
107
|
const configPath = path.join(os.homedir(), '.lien', 'config.json');
|
|
34
108
|
try {
|
|
35
109
|
const content = await fs.readFile(configPath, 'utf-8');
|
|
36
|
-
const config =
|
|
37
|
-
|
|
38
|
-
if (config.backend && !['lancedb', 'qdrant'].includes(config.backend)) {
|
|
39
|
-
throw new Error(`Invalid backend: ${config.backend}. Must be 'lancedb' or 'qdrant'`);
|
|
40
|
-
}
|
|
41
|
-
if (config.backend === 'qdrant' && config.qdrant && !config.qdrant.url) {
|
|
42
|
-
throw new Error('Qdrant backend requires qdrant.url in config');
|
|
43
|
-
}
|
|
110
|
+
const config = parseConfigFile(content, configPath);
|
|
111
|
+
validateConfig(config, configPath);
|
|
44
112
|
return config;
|
|
45
113
|
}
|
|
46
114
|
catch (error) {
|
|
47
115
|
if (error.code === 'ENOENT') {
|
|
48
|
-
// File doesn't exist - use defaults
|
|
116
|
+
// File doesn't exist - use defaults (this is normal)
|
|
49
117
|
return { backend: 'lancedb' };
|
|
50
118
|
}
|
|
51
|
-
// Re-throw validation errors
|
|
119
|
+
// Re-throw all other errors (validation errors, JSON parse errors, etc.)
|
|
52
120
|
throw error;
|
|
53
121
|
}
|
|
54
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-config.js","sourceRoot":"","sources":["../../src/config/global-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"global-config.js","sourceRoot":"","sources":["../../src/config/global-config.ts"],"names":[],"mappings":"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"}
|
package/dist/vectordb/factory.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VectorDB } from './lancedb.js';
|
|
2
2
|
import { QdrantDB } from './qdrant.js';
|
|
3
|
-
import { loadGlobalConfig, extractOrgIdFromGit } from '../config/global-config.js';
|
|
3
|
+
import { loadGlobalConfig, extractOrgIdFromGit, ConfigValidationError } from '../config/global-config.js';
|
|
4
4
|
import { getCurrentBranch, getCurrentCommit } from '../git/utils.js';
|
|
5
5
|
/**
|
|
6
6
|
* Validate that a VectorDB instance has the required methods.
|
|
@@ -82,21 +82,20 @@ export async function createVectorDB(projectRoot) {
|
|
|
82
82
|
globalConfig = await loadGlobalConfig();
|
|
83
83
|
}
|
|
84
84
|
catch (error) {
|
|
85
|
-
|
|
86
|
-
//
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
if (
|
|
85
|
+
// ConfigValidationError: Config file exists but has syntax/validation errors
|
|
86
|
+
// This should fail hard with a clear error message
|
|
87
|
+
if (error instanceof ConfigValidationError) {
|
|
88
|
+
throw error; // Error message already has helpful details
|
|
89
|
+
}
|
|
90
|
+
// Check if this is a "file not found" error (expected)
|
|
91
|
+
if (error.code === 'ENOENT') {
|
|
91
92
|
// Expected: No config file exists, use default LanceDB (normal for CLI usage)
|
|
92
93
|
return await createLanceDB(projectRoot);
|
|
93
94
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
`Error: ${errorMessage}`);
|
|
99
|
-
}
|
|
95
|
+
// Any other error: fail hard with details
|
|
96
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
97
|
+
throw new Error('Failed to load global config file. Please check your config file for errors.\n' +
|
|
98
|
+
`Error: ${errorMessage}`);
|
|
100
99
|
}
|
|
101
100
|
// Config loaded successfully - respect the backend choice
|
|
102
101
|
switch (globalConfig.backend) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/vectordb/factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAgB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/vectordb/factory.ts"],"names":[],"mappings":"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"}
|