family-ai-agent 1.0.7 → 1.0.9
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/dist/cli/index.js
CHANGED
|
@@ -260,7 +260,7 @@ async function runQuery(query) {
|
|
|
260
260
|
program
|
|
261
261
|
.name('family-ai-agent')
|
|
262
262
|
.description('Family AI Agent - Your AI Family for All Tasks')
|
|
263
|
-
.version('1.0.
|
|
263
|
+
.version('1.0.9');
|
|
264
264
|
// Add config command group
|
|
265
265
|
program.addCommand(createConfigCommand());
|
|
266
266
|
program
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/database/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUpF;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/database/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUpF;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CA2FrF;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAWhH;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,eAAe,CAAC,CAU3D;AA8CD;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAOlD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAGnC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,YAAY,GAAG,QAAQ,GAAG,IAAI,CAE/D;AAGD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;;;;;;;;;;AAEhD,wBAQE"}
|
|
@@ -52,15 +52,7 @@ export async function detectDatabase(config) {
|
|
|
52
52
|
reason: 'Explicit SQLite configuration',
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
|
-
// 2.
|
|
56
|
-
if (config.postgresUrl) {
|
|
57
|
-
return {
|
|
58
|
-
type: 'postgresql',
|
|
59
|
-
connectionString: config.postgresUrl,
|
|
60
|
-
reason: 'DATABASE_URL environment variable set',
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
// 3. Try PostgreSQL connection
|
|
55
|
+
// 2. Try PostgreSQL connection (either from DATABASE_URL or built from config)
|
|
64
56
|
try {
|
|
65
57
|
const connectionString = buildPostgresUrl({
|
|
66
58
|
DATABASE_URL: config.postgresUrl,
|
|
@@ -145,14 +137,38 @@ export async function getAdapter() {
|
|
|
145
137
|
*/
|
|
146
138
|
async function initializeAdapter() {
|
|
147
139
|
const config = getDatabaseConfig();
|
|
148
|
-
|
|
140
|
+
let detection = await detectDatabase(config);
|
|
149
141
|
logger.info('Database detected', {
|
|
150
142
|
type: detection.type,
|
|
151
143
|
reason: detection.reason,
|
|
152
144
|
path: detection.sqlitePath,
|
|
153
145
|
});
|
|
154
|
-
|
|
155
|
-
|
|
146
|
+
try {
|
|
147
|
+
adapterInstance = await createAdapter(detection, config);
|
|
148
|
+
return adapterInstance;
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
// If PostgreSQL initialization failed and we're not in explicit mode, fallback to SQLite
|
|
152
|
+
if (detection.type === 'postgresql' && config.type === 'auto') {
|
|
153
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
154
|
+
logger.warn('PostgreSQL initialization failed, falling back to SQLite', { error: message });
|
|
155
|
+
// Retry with SQLite
|
|
156
|
+
detection = {
|
|
157
|
+
type: 'sqlite',
|
|
158
|
+
sqlitePath: config.sqlitePath ?? getDefaultSqlitePath(),
|
|
159
|
+
reason: 'PostgreSQL initialization failed, auto-fallback to SQLite',
|
|
160
|
+
};
|
|
161
|
+
logger.info('Retrying with SQLite', {
|
|
162
|
+
type: detection.type,
|
|
163
|
+
reason: detection.reason,
|
|
164
|
+
path: detection.sqlitePath,
|
|
165
|
+
});
|
|
166
|
+
adapterInstance = await createAdapter(detection, config);
|
|
167
|
+
return adapterInstance;
|
|
168
|
+
}
|
|
169
|
+
// Otherwise, re-throw the error
|
|
170
|
+
throw error;
|
|
171
|
+
}
|
|
156
172
|
}
|
|
157
173
|
/**
|
|
158
174
|
* Close the database adapter
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/database/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5F,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACpB,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAE9C,6BAA6B;AAC7B,IAAI,eAAe,GAA2B,IAAI,CAAC;AACnD,IAAI,WAAW,GAAoC,IAAI,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAsB;IACzD,sCAAsC;IACtC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,gBAAgB,EAAE,MAAM,CAAC,WAAW,IAAI,gBAAgB,CAAC;oBACvD,YAAY,EAAE,MAAM,CAAC,WAAW;oBAChC,OAAO,EAAE,MAAM,CAAC,YAAY;oBAC5B,OAAO,EAAE,MAAM,CAAC,YAAY;oBAC5B,OAAO,EAAE,MAAM,CAAC,YAAY;oBAC5B,WAAW,EAAE,MAAM,CAAC,gBAAgB;oBACpC,OAAO,EAAE,MAAM,CAAC,gBAAgB;oBAChC,WAAW,EAAE,MAAM,CAAC,eAAe;oBACnC,uBAAuB,EAAE,MAAM,CAAC,qBAAqB;oBACrD,6BAA6B,EAAE,MAAM,CAAC,2BAA2B;oBACjE,aAAa,EAAE,YAAY;oBAC3B,WAAW,EAAE,MAAM,CAAC,UAAU;oBAC9B,2BAA2B,EAAE,MAAM,CAAC,qBAAqB;oBACzD,4BAA4B,EAAE,MAAM,CAAC,uBAAuB;oBAC5D,6BAA6B,EAAE,MAAM,CAAC,uBAAuB;oBAC7D,iBAAiB,EAAE,MAAM,CAAC,YAAY;oBACtC,eAAe,EAAE,MAAM,CAAC,UAAU;oBAClC,gBAAgB,EAAE,MAAM,CAAC,eAAe;oBACxC,qBAAqB,EAAE,MAAM,CAAC,mBAAmB;iBAClD,CAAC;gBACF,MAAM,EAAE,mCAAmC;aAC5C,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,oBAAoB,EAAE;YACvD,MAAM,EAAE,+BAA+B;SACxC,CAAC;IACJ,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/database/adapters/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/cli/index.ts
CHANGED
|
@@ -320,7 +320,7 @@ async function runQuery(query: string): Promise<void> {
|
|
|
320
320
|
program
|
|
321
321
|
.name('family-ai-agent')
|
|
322
322
|
.description('Family AI Agent - Your AI Family for All Tasks')
|
|
323
|
-
.version('1.0.
|
|
323
|
+
.version('1.0.9');
|
|
324
324
|
|
|
325
325
|
// Add config command group
|
|
326
326
|
program.addCommand(createConfigCommand());
|
|
@@ -60,16 +60,7 @@ export async function detectDatabase(config: DatabaseConfig): Promise<DetectionR
|
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
// 2.
|
|
64
|
-
if (config.postgresUrl) {
|
|
65
|
-
return {
|
|
66
|
-
type: 'postgresql',
|
|
67
|
-
connectionString: config.postgresUrl,
|
|
68
|
-
reason: 'DATABASE_URL environment variable set',
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// 3. Try PostgreSQL connection
|
|
63
|
+
// 2. Try PostgreSQL connection (either from DATABASE_URL or built from config)
|
|
73
64
|
try {
|
|
74
65
|
const connectionString = buildPostgresUrl({
|
|
75
66
|
DATABASE_URL: config.postgresUrl,
|
|
@@ -162,7 +153,7 @@ export async function getAdapter(): Promise<DatabaseAdapter> {
|
|
|
162
153
|
*/
|
|
163
154
|
async function initializeAdapter(): Promise<DatabaseAdapter> {
|
|
164
155
|
const config = getDatabaseConfig();
|
|
165
|
-
|
|
156
|
+
let detection = await detectDatabase(config);
|
|
166
157
|
|
|
167
158
|
logger.info('Database detected', {
|
|
168
159
|
type: detection.type,
|
|
@@ -170,8 +161,35 @@ async function initializeAdapter(): Promise<DatabaseAdapter> {
|
|
|
170
161
|
path: detection.sqlitePath,
|
|
171
162
|
});
|
|
172
163
|
|
|
173
|
-
|
|
174
|
-
|
|
164
|
+
try {
|
|
165
|
+
adapterInstance = await createAdapter(detection, config);
|
|
166
|
+
return adapterInstance;
|
|
167
|
+
} catch (error) {
|
|
168
|
+
// If PostgreSQL initialization failed and we're not in explicit mode, fallback to SQLite
|
|
169
|
+
if (detection.type === 'postgresql' && config.type === 'auto') {
|
|
170
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
171
|
+
logger.warn('PostgreSQL initialization failed, falling back to SQLite', { error: message });
|
|
172
|
+
|
|
173
|
+
// Retry with SQLite
|
|
174
|
+
detection = {
|
|
175
|
+
type: 'sqlite',
|
|
176
|
+
sqlitePath: config.sqlitePath ?? getDefaultSqlitePath(),
|
|
177
|
+
reason: 'PostgreSQL initialization failed, auto-fallback to SQLite',
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
logger.info('Retrying with SQLite', {
|
|
181
|
+
type: detection.type,
|
|
182
|
+
reason: detection.reason,
|
|
183
|
+
path: detection.sqlitePath,
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
adapterInstance = await createAdapter(detection, config);
|
|
187
|
+
return adapterInstance;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// Otherwise, re-throw the error
|
|
191
|
+
throw error;
|
|
192
|
+
}
|
|
175
193
|
}
|
|
176
194
|
|
|
177
195
|
/**
|