@gemindex/cli 1.2.0 → 1.3.0-next.1
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/CHANGELOG.md +39 -16
- package/dist/@gemindex-cli-1.3.0-next.1.tgz +0 -0
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +5 -1
- package/dist/commands/sync.js.map +1 -1
- package/dist/lib/api-client.d.ts +8 -0
- package/dist/lib/api-client.d.ts.map +1 -1
- package/dist/lib/api-client.js +48 -8
- package/dist/lib/api-client.js.map +1 -1
- package/package.json +3 -2
- package/dist/@gemindex-cli-1.2.0.tgz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,24 +1,47 @@
|
|
|
1
|
+
## 1.3.0-next.1 (2026-01-27)
|
|
2
|
+
|
|
3
|
+
* Merge branch 'fix-pagination' into develop ([647b49b](https://github.com/Ecube-Labs/gemindex/commit/647b49b))
|
|
4
|
+
* Merge branch 'improve-file-names' into develop ([572cb99](https://github.com/Ecube-Labs/gemindex/commit/572cb99))
|
|
5
|
+
* Merge branch 'improve-file-names' into develop ([b7204ff](https://github.com/Ecube-Labs/gemindex/commit/b7204ff))
|
|
6
|
+
* Merge pull request #4 from Ecube-Labs/dependabot/npm_and_yarn/qs-6.14.1 ([d96b821](https://github.com/Ecube-Labs/gemindex/commit/d96b821)), closes [#4](https://github.com/Ecube-Labs/gemindex/issues/4)
|
|
7
|
+
* Merge pull request #5 from Ecube-Labs/support-remote-mcp ([a82452a](https://github.com/Ecube-Labs/gemindex/commit/a82452a)), closes [#5](https://github.com/Ecube-Labs/gemindex/issues/5)
|
|
8
|
+
* Merge pull request #6 from Ecube-Labs/support-remote-mcp ([40f4d44](https://github.com/Ecube-Labs/gemindex/commit/40f4d44)), closes [#6](https://github.com/Ecube-Labs/gemindex/issues/6)
|
|
9
|
+
* fix: fetch all pages when listing files from Gemini API ([ae64512](https://github.com/Ecube-Labs/gemindex/commit/ae64512))
|
|
10
|
+
* fix: update favicon link and add favicon.ico file ([3dac011](https://github.com/Ecube-Labs/gemindex/commit/3dac011))
|
|
11
|
+
* docs: add MCP architecture documentation with Mermaid diagrams ([303bb46](https://github.com/Ecube-Labs/gemindex/commit/303bb46))
|
|
12
|
+
* chore(release): cli 1.2.0-next.1 [skip ci] ([3101305](https://github.com/Ecube-Labs/gemindex/commit/3101305))
|
|
13
|
+
* chore(release): cli 1.2.0-next.2 [skip ci] ([50529db](https://github.com/Ecube-Labs/gemindex/commit/50529db))
|
|
14
|
+
* chore(release): mcp 1.0.0 [skip ci] ([3c27ba3](https://github.com/Ecube-Labs/gemindex/commit/3c27ba3))
|
|
15
|
+
* feat(api): add Remote MCP Server support ([adca074](https://github.com/Ecube-Labs/gemindex/commit/adca074))
|
|
16
|
+
* feat(mcp): add support for Remote MCP Server and OAuth discovery endpoints ([b1e6322](https://github.com/Ecube-Labs/gemindex/commit/b1e6322))
|
|
17
|
+
* feat(mcp): implement MCP stdio proxy CLI with OAuth2 support and cookie management ([b4b7cd2](https://github.com/Ecube-Labs/gemindex/commit/b4b7cd2))
|
|
18
|
+
* build(deps): bump qs from 6.14.0 to 6.14.1 ([1a8a8ca](https://github.com/Ecube-Labs/gemindex/commit/1a8a8ca))
|
|
19
|
+
|
|
20
|
+
## <small>1.2.1 (2025-12-29)</small>
|
|
21
|
+
|
|
22
|
+
- fix: improve error message for API connection failures ([8b3ab9c](https://github.com/Ecube-Labs/gemindex/commit/8b3ab9c))
|
|
23
|
+
|
|
1
24
|
## 1.2.0 (2025-12-29)
|
|
2
25
|
|
|
3
|
-
|
|
4
|
-
|
|
26
|
+
- Merge pull request #3 from Ecube-Labs/improve-file-names ([d07fb3f](https://github.com/Ecube-Labs/gemindex/commit/d07fb3f)), closes [#3](https://github.com/Ecube-Labs/gemindex/issues/3)
|
|
27
|
+
- feat: implement pathToFilename function for safe filename conversion in sync and upload processes ([f522298](https://github.com/Ecube-Labs/gemindex/commit/f522298))
|
|
5
28
|
|
|
6
29
|
## 1.1.0 (2025-12-29)
|
|
7
30
|
|
|
8
|
-
|
|
31
|
+
- feat: add publishConfig for public access in package.json ([410a0d0](https://github.com/Ecube-Labs/gemindex/commit/410a0d0))
|
|
9
32
|
|
|
10
33
|
## 1.0.0 (2025-12-29)
|
|
11
34
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
35
|
+
- fix: update npm publish workflow to use GITHUB_TOKEN for checkout and configure Git credentials ([2fecaff](https://github.com/Ecube-Labs/gemindex/commit/2fecaff))
|
|
36
|
+
- Merge pull request #2 from Ecube-Labs/support-sync-cli ([2636eda](https://github.com/Ecube-Labs/gemindex/commit/2636eda)), closes [#2](https://github.com/Ecube-Labs/gemindex/issues/2)
|
|
37
|
+
- feat: add functions to adjust character indices for markdown parsing ([e20fb26](https://github.com/Ecube-Labs/gemindex/commit/e20fb26))
|
|
38
|
+
- feat: add GitHub Actions workflow for building and pushing Docker images ([3fe981b](https://github.com/Ecube-Labs/gemindex/commit/3fe981b))
|
|
39
|
+
- feat: add helper functions to process React children and check for marker characters ([11a9444](https://github.com/Ecube-Labs/gemindex/commit/11a9444))
|
|
40
|
+
- feat: add ping endpoint for lightweight health check ([3f79feb](https://github.com/Ecube-Labs/gemindex/commit/3f79feb))
|
|
41
|
+
- feat: add rehype-raw for processing HTML in markdown content ([6e526ad](https://github.com/Ecube-Labs/gemindex/commit/6e526ad))
|
|
42
|
+
- feat: add store protection to prevent deletion of critical stores ([7a5a973](https://github.com/Ecube-Labs/gemindex/commit/7a5a973))
|
|
43
|
+
- feat: initial project setup for GemIndex ([284f50b](https://github.com/Ecube-Labs/gemindex/commit/284f50b))
|
|
44
|
+
- feat: remove form-data dependency and update upload progress handling ([b77cfbe](https://github.com/Ecube-Labs/gemindex/commit/b77cfbe))
|
|
45
|
+
- feat: replace dotenv with dotenvx for multi-env file support ([88eb2cd](https://github.com/Ecube-Labs/gemindex/commit/88eb2cd))
|
|
46
|
+
- feat(cli): initialize CLI for syncing files to Gemini File Search ([0e0db4e](https://github.com/Ecube-Labs/gemindex/commit/0e0db4e))
|
|
47
|
+
- refactor: code structure for improved readability and maintainability ([5a52e6a](https://github.com/Ecube-Labs/gemindex/commit/5a52e6a))
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,eAAO,MAAM,WAAW,SAmLpB,CAAC"}
|
package/dist/commands/sync.js
CHANGED
|
@@ -5,7 +5,7 @@ import path from 'path';
|
|
|
5
5
|
import { loadConfig, ConfigError } from '../lib/config.js';
|
|
6
6
|
import { scanFiles } from '../lib/file-scanner.js';
|
|
7
7
|
import { computeHashes } from '../lib/hasher.js';
|
|
8
|
-
import { ApiClient } from '../lib/api-client.js';
|
|
8
|
+
import { ApiClient, ApiConnectionError } from '../lib/api-client.js';
|
|
9
9
|
import { buildSyncPlan } from '../lib/sync-engine.js';
|
|
10
10
|
import { executeUploads, executeDeletes } from '../lib/uploader.js';
|
|
11
11
|
import { formatSyncPlan, formatSyncSummary, buildSummary, formatFailures, } from '../lib/reporter.js';
|
|
@@ -144,6 +144,10 @@ export const syncCommand = new Command('sync')
|
|
|
144
144
|
console.error(pc.red(`\nConfig error: ${error.message}`));
|
|
145
145
|
process.exit(2);
|
|
146
146
|
}
|
|
147
|
+
if (error instanceof ApiConnectionError) {
|
|
148
|
+
console.error(pc.red(`\n${error.message}`));
|
|
149
|
+
process.exit(1);
|
|
150
|
+
}
|
|
147
151
|
console.error(pc.red(`\nError: ${error instanceof Error ? error.message : 'Unknown error'}`));
|
|
148
152
|
process.exit(1);
|
|
149
153
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api-client.d.ts
CHANGED
|
@@ -3,6 +3,14 @@ export interface ApiClientConfig {
|
|
|
3
3
|
endpoint: string;
|
|
4
4
|
token?: string;
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* Custom error class for API connection failures.
|
|
8
|
+
*/
|
|
9
|
+
export declare class ApiConnectionError extends Error {
|
|
10
|
+
readonly endpoint: string;
|
|
11
|
+
readonly cause?: Error | undefined;
|
|
12
|
+
constructor(message: string, endpoint: string, cause?: Error | undefined);
|
|
13
|
+
}
|
|
6
14
|
export declare class ApiClient {
|
|
7
15
|
private baseUrl;
|
|
8
16
|
private headers;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAUD,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAyB;gBAE5B,MAAM,EAAE,eAAe;IAUnC;;OAEG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA4B/E;;OAEG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAUD;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,QAAQ,EAAE,MAAM;aAChB,KAAK,CAAC,EAAE,KAAK;gBAF7B,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAqCD,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAyB;gBAE5B,MAAM,EAAE,eAAe;IAUnC;;OAEG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA4B/E;;OAEG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAiChD;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAe/F"}
|
package/dist/lib/api-client.js
CHANGED
|
@@ -1,5 +1,45 @@
|
|
|
1
1
|
import fs from 'fs/promises';
|
|
2
2
|
import path from 'path';
|
|
3
|
+
/**
|
|
4
|
+
* Custom error class for API connection failures.
|
|
5
|
+
*/
|
|
6
|
+
export class ApiConnectionError extends Error {
|
|
7
|
+
endpoint;
|
|
8
|
+
cause;
|
|
9
|
+
constructor(message, endpoint, cause) {
|
|
10
|
+
super(message);
|
|
11
|
+
this.endpoint = endpoint;
|
|
12
|
+
this.cause = cause;
|
|
13
|
+
this.name = 'ApiConnectionError';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Wrap fetch to provide helpful error messages for connection failures.
|
|
18
|
+
*/
|
|
19
|
+
async function fetchWithConnectionCheck(url, options) {
|
|
20
|
+
try {
|
|
21
|
+
return await fetch(url, options);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
const endpoint = new URL(url).origin;
|
|
25
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
26
|
+
// Check for common connection error patterns
|
|
27
|
+
if (errorMessage.includes('fetch failed') ||
|
|
28
|
+
errorMessage.includes('ECONNREFUSED') ||
|
|
29
|
+
errorMessage.includes('ENOTFOUND') ||
|
|
30
|
+
errorMessage.includes('ETIMEDOUT') ||
|
|
31
|
+
errorMessage.includes('network')) {
|
|
32
|
+
throw new ApiConnectionError(`Cannot connect to API server at ${endpoint}\n\n` +
|
|
33
|
+
`Possible solutions:\n` +
|
|
34
|
+
` 1. Check if the API server is running\n` +
|
|
35
|
+
` 2. Verify the endpoint URL in your config file\n` +
|
|
36
|
+
` 3. Check your network connection\n` +
|
|
37
|
+
` 4. If using a custom endpoint, ensure it's accessible\n\n` +
|
|
38
|
+
`Original error: ${errorMessage}`, endpoint, error instanceof Error ? error : undefined);
|
|
39
|
+
}
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
3
43
|
export class ApiClient {
|
|
4
44
|
baseUrl;
|
|
5
45
|
headers;
|
|
@@ -16,7 +56,7 @@ export class ApiClient {
|
|
|
16
56
|
* List files in a store.
|
|
17
57
|
*/
|
|
18
58
|
async listFiles(storeName, signal) {
|
|
19
|
-
const response = await
|
|
59
|
+
const response = await fetchWithConnectionCheck(`${this.baseUrl}/api/stores/${encodeURIComponent(storeName)}/files`, {
|
|
20
60
|
headers: this.headers,
|
|
21
61
|
signal,
|
|
22
62
|
});
|
|
@@ -46,14 +86,14 @@ export class ApiClient {
|
|
|
46
86
|
const form = new FormData();
|
|
47
87
|
const blob = new Blob([fileBuffer]);
|
|
48
88
|
form.append('file', blob, fileName);
|
|
49
|
-
const
|
|
89
|
+
const headers = {};
|
|
90
|
+
if (this.headers['Authorization']) {
|
|
91
|
+
headers['Authorization'] = this.headers['Authorization'];
|
|
92
|
+
}
|
|
93
|
+
const response = await fetchWithConnectionCheck(`${this.baseUrl}/api/stores/${encodeURIComponent(storeName)}/files`, {
|
|
50
94
|
method: 'POST',
|
|
51
95
|
body: form,
|
|
52
|
-
headers
|
|
53
|
-
...(this.headers['Authorization']
|
|
54
|
-
? { Authorization: this.headers['Authorization'] }
|
|
55
|
-
: {}),
|
|
56
|
-
},
|
|
96
|
+
headers,
|
|
57
97
|
signal,
|
|
58
98
|
});
|
|
59
99
|
if (!response.ok) {
|
|
@@ -66,7 +106,7 @@ export class ApiClient {
|
|
|
66
106
|
* Delete a file from a store.
|
|
67
107
|
*/
|
|
68
108
|
async deleteFile(storeName, documentName, signal) {
|
|
69
|
-
const response = await
|
|
109
|
+
const response = await fetchWithConnectionCheck(`${this.baseUrl}/api/stores/${encodeURIComponent(storeName)}/files/${encodeURIComponent(documentName)}`, {
|
|
70
110
|
method: 'DELETE',
|
|
71
111
|
headers: this.headers,
|
|
72
112
|
signal,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAgBxB,MAAM,OAAO,SAAS;IACZ,OAAO,CAAS;IAChB,OAAO,CAAyB;IAExC,YAAY,MAAuB;QACjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG;YACb,cAAc,EAAE,kBAAkB;SACnC,CAAC;QACF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,MAAoB;QACrD,MAAM,QAAQ,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gemindex/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0-next.1",
|
|
4
4
|
"description": "CLI for syncing files to Gemini File Search stores",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -156,5 +156,6 @@
|
|
|
156
156
|
}
|
|
157
157
|
]
|
|
158
158
|
]
|
|
159
|
-
}
|
|
159
|
+
},
|
|
160
|
+
"stableVersion": "1.1.0"
|
|
160
161
|
}
|
|
Binary file
|