@gemindex/cli 1.3.0-next.1 → 1.3.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.
- package/CHANGELOG.md +23 -26
- package/dist/@gemindex-cli-1.3.0.tgz +0 -0
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +2 -1
- package/dist/commands/sync.js.map +1 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +2 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/sync-engine.d.ts +1 -1
- package/dist/lib/sync-engine.d.ts.map +1 -1
- package/dist/lib/sync-engine.js +19 -7
- package/dist/lib/sync-engine.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/@gemindex-cli-1.3.0-next.1.tgz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,47 +1,44 @@
|
|
|
1
|
-
## 1.3.0
|
|
1
|
+
## 1.3.0 (2026-01-27)
|
|
2
2
|
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* feat: add preserve patterns for remote-only files in sync configuration ([665463e](https://github.com/Ecube-Labs/gemindex/commit/665463e))
|
|
4
|
+
* feat(api): add Remote MCP Server support ([adca074](https://github.com/Ecube-Labs/gemindex/commit/adca074))
|
|
5
|
+
* feat(mcp): add support for Remote MCP Server and OAuth discovery endpoints ([b1e6322](https://github.com/Ecube-Labs/gemindex/commit/b1e6322))
|
|
6
|
+
* feat(mcp): implement MCP stdio proxy CLI with OAuth2 support and cookie management ([b4b7cd2](https://github.com/Ecube-Labs/gemindex/commit/b4b7cd2))
|
|
7
|
+
* Merge pull request #10 from Ecube-Labs/fix-pagination ([a53750e](https://github.com/Ecube-Labs/gemindex/commit/a53750e)), closes [#10](https://github.com/Ecube-Labs/gemindex/issues/10)
|
|
6
8
|
* 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
9
|
* 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
10
|
* 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
11
|
* fix: fetch all pages when listing files from Gemini API ([ae64512](https://github.com/Ecube-Labs/gemindex/commit/ae64512))
|
|
10
12
|
* fix: update favicon link and add favicon.ico file ([3dac011](https://github.com/Ecube-Labs/gemindex/commit/3dac011))
|
|
11
13
|
* 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
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
15
|
* build(deps): bump qs from 6.14.0 to 6.14.1 ([1a8a8ca](https://github.com/Ecube-Labs/gemindex/commit/1a8a8ca))
|
|
19
16
|
|
|
20
17
|
## <small>1.2.1 (2025-12-29)</small>
|
|
21
18
|
|
|
22
|
-
|
|
19
|
+
* fix: improve error message for API connection failures ([8b3ab9c](https://github.com/Ecube-Labs/gemindex/commit/8b3ab9c))
|
|
23
20
|
|
|
24
21
|
## 1.2.0 (2025-12-29)
|
|
25
22
|
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
* 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)
|
|
24
|
+
* feat: implement pathToFilename function for safe filename conversion in sync and upload processes ([f522298](https://github.com/Ecube-Labs/gemindex/commit/f522298))
|
|
28
25
|
|
|
29
26
|
## 1.1.0 (2025-12-29)
|
|
30
27
|
|
|
31
|
-
|
|
28
|
+
* feat: add publishConfig for public access in package.json ([410a0d0](https://github.com/Ecube-Labs/gemindex/commit/410a0d0))
|
|
32
29
|
|
|
33
30
|
## 1.0.0 (2025-12-29)
|
|
34
31
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
32
|
+
* fix: update npm publish workflow to use GITHUB_TOKEN for checkout and configure Git credentials ([2fecaff](https://github.com/Ecube-Labs/gemindex/commit/2fecaff))
|
|
33
|
+
* 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)
|
|
34
|
+
* feat: add functions to adjust character indices for markdown parsing ([e20fb26](https://github.com/Ecube-Labs/gemindex/commit/e20fb26))
|
|
35
|
+
* feat: add GitHub Actions workflow for building and pushing Docker images ([3fe981b](https://github.com/Ecube-Labs/gemindex/commit/3fe981b))
|
|
36
|
+
* feat: add helper functions to process React children and check for marker characters ([11a9444](https://github.com/Ecube-Labs/gemindex/commit/11a9444))
|
|
37
|
+
* feat: add ping endpoint for lightweight health check ([3f79feb](https://github.com/Ecube-Labs/gemindex/commit/3f79feb))
|
|
38
|
+
* feat: add rehype-raw for processing HTML in markdown content ([6e526ad](https://github.com/Ecube-Labs/gemindex/commit/6e526ad))
|
|
39
|
+
* feat: add store protection to prevent deletion of critical stores ([7a5a973](https://github.com/Ecube-Labs/gemindex/commit/7a5a973))
|
|
40
|
+
* feat: initial project setup for GemIndex ([284f50b](https://github.com/Ecube-Labs/gemindex/commit/284f50b))
|
|
41
|
+
* feat: remove form-data dependency and update upload progress handling ([b77cfbe](https://github.com/Ecube-Labs/gemindex/commit/b77cfbe))
|
|
42
|
+
* feat: replace dotenv with dotenvx for multi-env file support ([88eb2cd](https://github.com/Ecube-Labs/gemindex/commit/88eb2cd))
|
|
43
|
+
* feat(cli): initialize CLI for syncing files to Gemini File Search ([0e0db4e](https://github.com/Ecube-Labs/gemindex/commit/0e0db4e))
|
|
44
|
+
* 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,SA0LpB,CAAC"}
|
package/dist/commands/sync.js
CHANGED
|
@@ -36,6 +36,7 @@ export const syncCommand = new Command('sync')
|
|
|
36
36
|
const config = loadConfig(configPath);
|
|
37
37
|
const storeName = options.store || config.store;
|
|
38
38
|
const deleteRemote = options.delete ?? config.sync?.delete ?? false;
|
|
39
|
+
const preservePatterns = config.sync?.preserve ?? [];
|
|
39
40
|
const concurrency = parseInt(options.concurrency) || config.sync?.concurrency || 8;
|
|
40
41
|
spinner.succeed(`Config loaded (store: ${pc.cyan(storeName)})`);
|
|
41
42
|
graceful.checkAborted();
|
|
@@ -63,7 +64,7 @@ export const syncCommand = new Command('sync')
|
|
|
63
64
|
spinner.succeed(`Found ${pc.cyan(String(remoteFiles.length))} remote file(s)`);
|
|
64
65
|
graceful.checkAborted();
|
|
65
66
|
// 6. Build sync plan
|
|
66
|
-
const plan = buildSyncPlan(localFiles, localHashes, remoteFiles, deleteRemote);
|
|
67
|
+
const plan = buildSyncPlan(localFiles, localHashes, remoteFiles, deleteRemote, preservePatterns);
|
|
67
68
|
console.log();
|
|
68
69
|
console.log(formatSyncPlan(plan));
|
|
69
70
|
// 7. Check if nothing to do
|
|
@@ -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,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAG1D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,eAAe,CAAC;KAClE,MAAM,CAAC,WAAW,EAAE,yCAAyC,CAAC;KAC9D,MAAM,CAAC,eAAe,EAAE,6BAA6B,CAAC;KACtD,MAAM,CAAC,cAAc,EAAE,kCAAkC,CAAC;KAC1D,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,GAAG,CAAC;KACzD,MAAM,CAAC,oBAAoB,EAAE,sCAAsC,CAAC;KACpE,MAAM,CAAC,sBAAsB,EAAE,qCAAqC,CAAC;KACrE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,OAAO,GAAkC,IAAI,CAAC;IAElD,+BAA+B;IAC/B,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,iBAAiB;QACjB,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;QAChD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC;QACpE,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC;QACnF,OAAO,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAEhE,QAAQ,CAAC,YAAY,EAAE,CAAC;QAExB,2BAA2B;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,EAAE,QAAQ,IAAI,uBAAuB,CAAC;QACrF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;YAC3B,QAAQ;YACR,KAAK;SACN,CAAC,CAAC;QAEH,sBAAsB;QACtB,OAAO,GAAG,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5F,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAE7E,QAAQ,CAAC,YAAY,EAAE,CAAC;QAExB,oBAAoB;QACpB,OAAO,GAAG,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrE,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAEnC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAExB,wBAAwB;QACxB,OAAO,GAAG,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvE,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAE/E,QAAQ,CAAC,YAAY,EAAE,CAAC;QAExB,qBAAqB;QACrB,MAAM,IAAI,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAI5B;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAI5B;AAkBD;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAsD7D"}
|
package/dist/lib/config.js
CHANGED
|
@@ -15,6 +15,7 @@ const DEFAULT_CONFIG = {
|
|
|
15
15
|
},
|
|
16
16
|
sync: {
|
|
17
17
|
delete: false,
|
|
18
|
+
preserve: [],
|
|
18
19
|
concurrency: 8,
|
|
19
20
|
},
|
|
20
21
|
api: {
|
|
@@ -60,6 +61,7 @@ export function loadConfig(configPath) {
|
|
|
60
61
|
},
|
|
61
62
|
sync: {
|
|
62
63
|
delete: parsed.sync?.delete ?? DEFAULT_CONFIG.sync.delete,
|
|
64
|
+
preserve: parsed.sync?.preserve ?? DEFAULT_CONFIG.sync.preserve,
|
|
63
65
|
concurrency: parsed.sync?.concurrency ?? DEFAULT_CONFIG.sync.concurrency,
|
|
64
66
|
},
|
|
65
67
|
api: {
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAG1C,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,cAAc,GAA4B;IAC9C,OAAO,EAAE,CAAC;IACV,OAAO,EAAE;QACP,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACZ;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,CAAC;KACf;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,uBAAuB;KAClC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,UAAkB;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,WAAW,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CACnB,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC1F,CAAC;IACJ,CAAC;IAED,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC,OAAO,CAA4B,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CACnB,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACpF,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,WAAW,CAAC,+BAA+B,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACrC,MAAM,IAAI,WAAW,CACnB,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,cAAc,CAAC,OAAQ;QAClD,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE;YACP,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;YAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,OAAQ,CAAC,OAAQ;SACpE;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,cAAc,CAAC,IAAK,CAAC,MAAO;YAC3D,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,IAAI,cAAc,CAAC,IAAK,CAAC,WAAY;SAC3E;QACD,GAAG,EAAE;YACH,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,IAAI,cAAc,CAAC,GAAI,CAAC,QAAS;YAC/D,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS;SACjC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,5 +2,5 @@ import type { LocalFile, RemoteFile, SyncPlan } from '../types/index.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Build a sync plan by comparing local and remote files.
|
|
4
4
|
*/
|
|
5
|
-
export declare function buildSyncPlan(localFiles: LocalFile[], localHashes: Map<string, string>, remoteFiles: RemoteFile[], deleteRemote: boolean): SyncPlan;
|
|
5
|
+
export declare function buildSyncPlan(localFiles: LocalFile[], localHashes: Map<string, string>, remoteFiles: RemoteFile[], deleteRemote: boolean, preservePatterns?: string[]): SyncPlan;
|
|
6
6
|
//# sourceMappingURL=sync-engine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-engine.d.ts","sourceRoot":"","sources":["../../src/lib/sync-engine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync-engine.d.ts","sourceRoot":"","sources":["../../src/lib/sync-engine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAUzE;;GAEG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,SAAS,EAAE,EACvB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,WAAW,EAAE,UAAU,EAAE,EACzB,YAAY,EAAE,OAAO,EACrB,gBAAgB,GAAE,MAAM,EAAO,GAC9B,QAAQ,CAkFV"}
|
package/dist/lib/sync-engine.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import picomatch from 'picomatch';
|
|
1
2
|
/**
|
|
2
3
|
* Convert a file path to a safe filename by replacing path separators with underscores.
|
|
3
4
|
* e.g., "docs/guide.md" → "docs_guide.md"
|
|
@@ -8,7 +9,7 @@ function pathToFilename(relativePath) {
|
|
|
8
9
|
/**
|
|
9
10
|
* Build a sync plan by comparing local and remote files.
|
|
10
11
|
*/
|
|
11
|
-
export function buildSyncPlan(localFiles, localHashes, remoteFiles, deleteRemote) {
|
|
12
|
+
export function buildSyncPlan(localFiles, localHashes, remoteFiles, deleteRemote, preservePatterns = []) {
|
|
12
13
|
const plan = {
|
|
13
14
|
uploads: [],
|
|
14
15
|
skips: [],
|
|
@@ -67,12 +68,23 @@ export function buildSyncPlan(localFiles, localHashes, remoteFiles, deleteRemote
|
|
|
67
68
|
}
|
|
68
69
|
// Remaining remote files are orphans
|
|
69
70
|
if (deleteRemote) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
71
|
+
// Create matcher for preserve patterns
|
|
72
|
+
const shouldPreserve = preservePatterns.length > 0 ? picomatch(preservePatterns) : () => false;
|
|
73
|
+
for (const [fileName, remote] of remoteByName) {
|
|
74
|
+
if (shouldPreserve(fileName)) {
|
|
75
|
+
plan.skips.push({
|
|
76
|
+
type: 'skip',
|
|
77
|
+
remoteFile: remote,
|
|
78
|
+
reason: 'preserved',
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
plan.deletes.push({
|
|
83
|
+
type: 'delete',
|
|
84
|
+
remoteFile: remote,
|
|
85
|
+
reason: 'not in local',
|
|
86
|
+
});
|
|
87
|
+
}
|
|
76
88
|
}
|
|
77
89
|
}
|
|
78
90
|
return plan;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-engine.js","sourceRoot":"","sources":["../../src/lib/sync-engine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync-engine.js","sourceRoot":"","sources":["../../src/lib/sync-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACnC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACnC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gemindex/cli",
|
|
3
|
-
"version": "1.3.0
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "CLI for syncing files to Gemini File Search stores",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"@semantic-release/changelog": "^6.0.3",
|
|
47
47
|
"@semantic-release/git": "^10.0.1",
|
|
48
48
|
"@types/node": "^22.10.2",
|
|
49
|
+
"@types/picomatch": "^4.0.2",
|
|
49
50
|
"semantic-release": "^24.2.1",
|
|
50
51
|
"semantic-release-yarn": "^3.0.2",
|
|
51
52
|
"tsx": "^4.19.2",
|
|
@@ -156,6 +157,5 @@
|
|
|
156
157
|
}
|
|
157
158
|
]
|
|
158
159
|
]
|
|
159
|
-
}
|
|
160
|
-
"stableVersion": "1.1.0"
|
|
160
|
+
}
|
|
161
161
|
}
|
|
Binary file
|