@cueai/omni-reader-mcp 1.7.1 → 1.7.2
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/README.md +18 -18
- package/dist/cli/agent-config.js +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/path-security.js +27 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -88,7 +88,7 @@ authoritative billing/policy facts rather than estimating a charge from copied a
|
|
|
88
88
|
Always use an audited exact version, never an implicit `latest`:
|
|
89
89
|
|
|
90
90
|
```sh
|
|
91
|
-
npx -y @cueai/omni-reader-mcp@1.7.
|
|
91
|
+
npx -y @cueai/omni-reader-mcp@1.7.2 setup
|
|
92
92
|
```
|
|
93
93
|
|
|
94
94
|
The interactive setup supports Hermes, Cursor, Claude Desktop, and generic stdio
|
|
@@ -96,9 +96,9 @@ configuration. Non-interactive installation uses the same argument parsing and w
|
|
|
96
96
|
logic:
|
|
97
97
|
|
|
98
98
|
```sh
|
|
99
|
-
npx -y @cueai/omni-reader-mcp@1.7.
|
|
100
|
-
npx -y @cueai/omni-reader-mcp@1.7.
|
|
101
|
-
npx -y @cueai/omni-reader-mcp@1.7.
|
|
99
|
+
npx -y @cueai/omni-reader-mcp@1.7.2 setup --client hermes --allowed-root /absolute/minimum/root --yes --json
|
|
100
|
+
npx -y @cueai/omni-reader-mcp@1.7.2 setup --client cursor --add-root /absolute/minimum/root --yes --json
|
|
101
|
+
npx -y @cueai/omni-reader-mcp@1.7.2 setup --client claude-desktop --allowed-root /absolute/minimum/root --yes --json
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
When an agent or script runs under a pty (stdin is still a TTY), declare non-interactive
|
|
@@ -106,7 +106,7 @@ mode explicitly with `--headless` (alias `--non-interactive`): no `--yes` is req
|
|
|
106
106
|
stdin is never read:
|
|
107
107
|
|
|
108
108
|
```sh
|
|
109
|
-
npx -y @cueai/omni-reader-mcp@1.7.
|
|
109
|
+
npx -y @cueai/omni-reader-mcp@1.7.2 setup --client cursor --allowed-root /absolute/minimum/root --headless --json
|
|
110
110
|
```
|
|
111
111
|
|
|
112
112
|
## Windows configuration
|
|
@@ -125,14 +125,14 @@ automatically; the second is the most robust when you configure by hand.
|
|
|
125
125
|
1. **`cmd` + `npx` (what `setup` writes on Windows)** — `cmd.exe` is a real executable,
|
|
126
126
|
so a client's no-shell spawn works:
|
|
127
127
|
```json
|
|
128
|
-
{ "command": "cmd", "args": ["/d", "/c", "npx", "-y", "@cueai/omni-reader-mcp@1.7.
|
|
128
|
+
{ "command": "cmd", "args": ["/d", "/c", "npx", "-y", "@cueai/omni-reader-mcp@1.7.2"] }
|
|
129
129
|
```
|
|
130
130
|
2. **`node` + the package entry (most robust)** — skips `npx` entirely; the absolute
|
|
131
131
|
path must be a stable install you control:
|
|
132
132
|
```json
|
|
133
133
|
{ "command": "node", "args": ["C:\\path\\to\\node_modules\\@cueai\\omni-reader-mcp\\dist\\index.js"] }
|
|
134
134
|
```
|
|
135
|
-
A deliberate local `npm install @cueai/omni-reader-mcp@1.7.
|
|
135
|
+
A deliberate local `npm install @cueai/omni-reader-mcp@1.7.2` gives you that stable
|
|
136
136
|
path. Do not point the entry at an `_npx` cache directory — its hash subdirectory
|
|
137
137
|
changes between installs.
|
|
138
138
|
3. **Never use a session/timestamp directory** — such paths are cleaned up, and the
|
|
@@ -306,16 +306,16 @@ satisfies the constraints.
|
|
|
306
306
|
## Commands
|
|
307
307
|
|
|
308
308
|
```sh
|
|
309
|
-
npx -y @cueai/omni-reader-mcp@1.7.
|
|
310
|
-
npx -y @cueai/omni-reader-mcp@1.7.
|
|
311
|
-
npx -y @cueai/omni-reader-mcp@1.7.
|
|
312
|
-
npx -y @cueai/omni-reader-mcp@1.7.
|
|
309
|
+
npx -y @cueai/omni-reader-mcp@1.7.2 doctor
|
|
310
|
+
npx -y @cueai/omni-reader-mcp@1.7.2 doctor --json
|
|
311
|
+
npx -y @cueai/omni-reader-mcp@1.7.2 clean
|
|
312
|
+
npx -y @cueai/omni-reader-mcp@1.7.2 uninstall --yes --json
|
|
313
313
|
```
|
|
314
314
|
|
|
315
315
|
Running the pinned version without a command starts the stdio MCP server:
|
|
316
316
|
|
|
317
317
|
```sh
|
|
318
|
-
npx -y @cueai/omni-reader-mcp@1.7.
|
|
318
|
+
npx -y @cueai/omni-reader-mcp@1.7.2
|
|
319
319
|
```
|
|
320
320
|
|
|
321
321
|
Default `doctor --json` reports `inspection_scope: "current_process_env"`: its Key and
|
|
@@ -323,7 +323,7 @@ allowed-root facts describe the doctor process, not a separately running agent c
|
|
|
323
323
|
inspect one caller-selected JSON entry without scanning or writing configuration, use:
|
|
324
324
|
|
|
325
325
|
```sh
|
|
326
|
-
npx -y @cueai/omni-reader-mcp@1.7.
|
|
326
|
+
npx -y @cueai/omni-reader-mcp@1.7.2 doctor --json --config-path /absolute/client-config.json --server-name omni-reader
|
|
327
327
|
```
|
|
328
328
|
|
|
329
329
|
The optional `explicit_config` block reports only closed redacted facts: entry/transport
|
|
@@ -341,7 +341,7 @@ definitively "available" until a real local-file parse validates the route.
|
|
|
341
341
|
|
|
342
342
|
## Network diagnostics
|
|
343
343
|
|
|
344
|
-
Run `npx -y @cueai/omni-reader-mcp@1.7.
|
|
344
|
+
Run `npx -y @cueai/omni-reader-mcp@1.7.2 doctor --json` first. Diagnose failures by
|
|
345
345
|
stage instead of guessing an endpoint:
|
|
346
346
|
|
|
347
347
|
| Failure | Stage | Meaning |
|
|
@@ -370,16 +370,16 @@ the same way from every client.
|
|
|
370
370
|
|
|
371
371
|
## Uninstall and rollback
|
|
372
372
|
|
|
373
|
-
`uninstall --yes --json` removes only a trusted 1.7.
|
|
373
|
+
`uninstall --yes --json` removes only a trusted 1.7.1 or 1.7.2 Bridge entry, plus
|
|
374
374
|
the exact broken bare-`npx` Windows entry written by 1.5.1. When a matching trusted
|
|
375
375
|
backup exists, it restores the original URL-only `omni-reader` entry. Uninstall never
|
|
376
376
|
deletes user source files and never silently removes unexpired local results.
|
|
377
377
|
|
|
378
|
-
To roll back from 1.7.
|
|
378
|
+
To roll back from 1.7.2 to 1.7.1:
|
|
379
379
|
|
|
380
|
-
1. stop recommending or installing 1.7.
|
|
380
|
+
1. stop recommending or installing 1.7.2;
|
|
381
381
|
2. run `uninstall --yes --json` to restore the trusted URL-only entry;
|
|
382
|
-
3. if the local facade is still required, run `npx -y @cueai/omni-reader-mcp@1.7.
|
|
382
|
+
3. if the local facade is still required, run `npx -y @cueai/omni-reader-mcp@1.7.1 setup`;
|
|
383
383
|
4. for already-uploaded operations, continue using status recovery so settlement and
|
|
384
384
|
cleanup complete;
|
|
385
385
|
5. keep local results, or have the user explicitly run `discard_result` / `clean`.
|
package/dist/cli/agent-config.js
CHANGED
|
@@ -7,7 +7,7 @@ const PACKAGE_SPEC = `@cueai/omni-reader-mcp@${BRIDGE_RELEASE_VERSION}`;
|
|
|
7
7
|
// The release that the current version is a trusted upgrade from: normal upgrade,
|
|
8
8
|
// uninstall, and rollback recognize exactly {previous, current}. Bump this to the
|
|
9
9
|
// version we just published when BRIDGE_RELEASE_VERSION advances.
|
|
10
|
-
const PREVIOUS_RELEASE_VERSION = "1.7.
|
|
10
|
+
const PREVIOUS_RELEASE_VERSION = "1.7.1";
|
|
11
11
|
const PREVIOUS_PACKAGE_SPEC = `@cueai/omni-reader-mcp@${PREVIOUS_RELEASE_VERSION}`;
|
|
12
12
|
// Preserve the one evidenced two-release migration exception: 1.5.1 setup wrote a
|
|
13
13
|
// bare `npx` launcher on Windows, so later setup/uninstall versions must still be able
|
package/dist/constants.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare const CUBE_GRANT_PROTOCOL_VERSION = "omni.parse_grant.v1";
|
|
|
6
6
|
export declare const GRANTED_STREAM_PROTOCOL_VERSION = "omni.granted_parse_stream.v1";
|
|
7
7
|
export declare const DEFAULT_CUBE_BASE_URL = "https://mcp.cuecue.cn";
|
|
8
8
|
export declare const DEFAULT_IIIS_GRANTED_BASE_URL = "https://omni-upload.cuecue.cn/omni/granted/";
|
|
9
|
-
export declare const BRIDGE_RELEASE_VERSION = "1.7.
|
|
9
|
+
export declare const BRIDGE_RELEASE_VERSION = "1.7.2";
|
|
10
10
|
export declare const REMOTE_OMNI_MCP_URL = "https://mcp.cuecue.cn/api/omni-reader/mcp/";
|
|
11
11
|
export declare const FOREGROUND_BUDGET_MS = 15000;
|
|
12
12
|
export declare const STATUS_LONG_POLL_MAX_MS = 20000;
|
package/dist/constants.js
CHANGED
|
@@ -6,7 +6,7 @@ export const CUBE_GRANT_PROTOCOL_VERSION = "omni.parse_grant.v1";
|
|
|
6
6
|
export const GRANTED_STREAM_PROTOCOL_VERSION = "omni.granted_parse_stream.v1";
|
|
7
7
|
export const DEFAULT_CUBE_BASE_URL = "https://mcp.cuecue.cn";
|
|
8
8
|
export const DEFAULT_IIIS_GRANTED_BASE_URL = "https://omni-upload.cuecue.cn/omni/granted/";
|
|
9
|
-
export const BRIDGE_RELEASE_VERSION = "1.7.
|
|
9
|
+
export const BRIDGE_RELEASE_VERSION = "1.7.2";
|
|
10
10
|
export const REMOTE_OMNI_MCP_URL = "https://mcp.cuecue.cn/api/omni-reader/mcp/";
|
|
11
11
|
export const FOREGROUND_BUDGET_MS = 15_000;
|
|
12
12
|
export const STATUS_LONG_POLL_MAX_MS = 20_000;
|
package/dist/path-security.js
CHANGED
|
@@ -15,6 +15,11 @@ const CONTENT_TYPES = {
|
|
|
15
15
|
".xls": "application/vnd.ms-excel",
|
|
16
16
|
".ppt": "application/vnd.ms-powerpoint",
|
|
17
17
|
".zip": "application/zip",
|
|
18
|
+
".rar": "application/vnd.rar",
|
|
19
|
+
".tar": "application/x-tar",
|
|
20
|
+
".tgz": "application/gzip",
|
|
21
|
+
".gz": "application/gzip",
|
|
22
|
+
".bz2": "application/x-bzip2",
|
|
18
23
|
".jpg": "image/jpeg",
|
|
19
24
|
".jpeg": "image/jpeg",
|
|
20
25
|
".png": "image/png",
|
|
@@ -40,8 +45,30 @@ const CONTENT_TYPES = {
|
|
|
40
45
|
".txt": "text/plain",
|
|
41
46
|
".md": "text/markdown",
|
|
42
47
|
".csv": "text/csv",
|
|
48
|
+
".tsv": "text/tab-separated-values",
|
|
49
|
+
".json": "application/json",
|
|
50
|
+
".yaml": "application/yaml",
|
|
51
|
+
".yml": "application/yaml",
|
|
52
|
+
".toml": "application/toml",
|
|
53
|
+
".xml": "application/xml",
|
|
54
|
+
".ini": "text/plain",
|
|
55
|
+
".cfg": "text/plain",
|
|
56
|
+
".conf": "text/plain",
|
|
57
|
+
".log": "text/plain",
|
|
58
|
+
".rdf": "application/rdf+xml",
|
|
59
|
+
".ttl": "text/turtle",
|
|
60
|
+
".nt": "application/n-triples",
|
|
61
|
+
".n3": "text/n3",
|
|
62
|
+
".jsonld": "application/ld+json",
|
|
63
|
+
".mm": "application/x-freemind",
|
|
43
64
|
".html": "text/html",
|
|
44
65
|
".htm": "text/html",
|
|
66
|
+
// Deliberately excluded: .parquet — not text, not any of the magic-byte formats above,
|
|
67
|
+
// so L1's detect_format() falls through to "other" and it is rejected as an unsupported
|
|
68
|
+
// media type either way. (deploy/k8s/omni-reader-deploy.yaml sets an OMNI_PARQUET_POLICY
|
|
69
|
+
// env var, but nothing in pipeline/ currently reads it — the actual rejection is the
|
|
70
|
+
// generic fallback, not that policy.) Accepting it here would only move the rejection
|
|
71
|
+
// from Bridge to the server.
|
|
45
72
|
};
|
|
46
73
|
const SUPPORTED_EXTENSIONS = [...new Set(Object.keys(CONTENT_TYPES).map((extension) => extension.slice(1)))].sort();
|
|
47
74
|
const NODE_FILE_SYSTEM = {
|