@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 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.1 setup
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.1 setup --client hermes --allowed-root /absolute/minimum/root --yes --json
100
- npx -y @cueai/omni-reader-mcp@1.7.1 setup --client cursor --add-root /absolute/minimum/root --yes --json
101
- npx -y @cueai/omni-reader-mcp@1.7.1 setup --client claude-desktop --allowed-root /absolute/minimum/root --yes --json
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.1 setup --client cursor --allowed-root /absolute/minimum/root --headless --json
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.1"] }
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.1` gives you that stable
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.1 doctor
310
- npx -y @cueai/omni-reader-mcp@1.7.1 doctor --json
311
- npx -y @cueai/omni-reader-mcp@1.7.1 clean
312
- npx -y @cueai/omni-reader-mcp@1.7.1 uninstall --yes --json
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.1
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.1 doctor --json --config-path /absolute/client-config.json --server-name omni-reader
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.1 doctor --json` first. Diagnose failures by
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.0 or 1.7.1 Bridge entry, plus
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.1 to 1.7.0:
378
+ To roll back from 1.7.2 to 1.7.1:
379
379
 
380
- 1. stop recommending or installing 1.7.1;
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.0 setup`;
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`.
@@ -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.0";
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
@@ -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.1";
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.1";
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;
@@ -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 = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cueai/omni-reader-mcp",
3
- "version": "1.7.1",
3
+ "version": "1.7.2",
4
4
  "description": "Local stdio MCP bridge for direct Omni document parsing",
5
5
  "keywords": [
6
6
  "mcp",