@cueai/omni-reader-mcp 1.7.0 → 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
@@ -47,9 +47,11 @@ agent workspace remains the default allowed scope.
47
47
 
48
48
  For a local file, Bridge requests a Cube parse grant and uses the returned controlled
49
49
  granted-data-plane URL to upload the file and stream the result. A `BRIDGE_UPGRADE_REQUIRED`
50
- error means the running Bridge release is not accepted for direct local-file parsing —
51
- install `@cueai/omni-reader-mcp@1.7.0` using the official setup instructions, then retry the
52
- same parse. Always run `doctor --json` first when diagnosing a parse failure.
50
+ error means the service does not accept the running Bridge release for direct local-file
51
+ parsing. Install the latest published `@cueai/omni-reader-mcp` release using the official
52
+ setup instructions, then retry once. If you are already running the latest published release,
53
+ do not reinstall or retry; run `doctor --json` and ask the service operator to verify Bridge
54
+ admission.
53
55
 
54
56
  ## Billing and free credits
55
57
 
@@ -86,7 +88,7 @@ authoritative billing/policy facts rather than estimating a charge from copied a
86
88
  Always use an audited exact version, never an implicit `latest`:
87
89
 
88
90
  ```sh
89
- npx -y @cueai/omni-reader-mcp@1.7.0 setup
91
+ npx -y @cueai/omni-reader-mcp@1.7.2 setup
90
92
  ```
91
93
 
92
94
  The interactive setup supports Hermes, Cursor, Claude Desktop, and generic stdio
@@ -94,9 +96,9 @@ configuration. Non-interactive installation uses the same argument parsing and w
94
96
  logic:
95
97
 
96
98
  ```sh
97
- npx -y @cueai/omni-reader-mcp@1.7.0 setup --client hermes --allowed-root /absolute/minimum/root --yes --json
98
- npx -y @cueai/omni-reader-mcp@1.7.0 setup --client cursor --add-root /absolute/minimum/root --yes --json
99
- npx -y @cueai/omni-reader-mcp@1.7.0 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
100
102
  ```
101
103
 
102
104
  When an agent or script runs under a pty (stdin is still a TTY), declare non-interactive
@@ -104,7 +106,7 @@ mode explicitly with `--headless` (alias `--non-interactive`): no `--yes` is req
104
106
  stdin is never read:
105
107
 
106
108
  ```sh
107
- npx -y @cueai/omni-reader-mcp@1.7.0 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
108
110
  ```
109
111
 
110
112
  ## Windows configuration
@@ -123,14 +125,14 @@ automatically; the second is the most robust when you configure by hand.
123
125
  1. **`cmd` + `npx` (what `setup` writes on Windows)** — `cmd.exe` is a real executable,
124
126
  so a client's no-shell spawn works:
125
127
  ```json
126
- { "command": "cmd", "args": ["/d", "/c", "npx", "-y", "@cueai/omni-reader-mcp@1.7.0"] }
128
+ { "command": "cmd", "args": ["/d", "/c", "npx", "-y", "@cueai/omni-reader-mcp@1.7.2"] }
127
129
  ```
128
130
  2. **`node` + the package entry (most robust)** — skips `npx` entirely; the absolute
129
131
  path must be a stable install you control:
130
132
  ```json
131
133
  { "command": "node", "args": ["C:\\path\\to\\node_modules\\@cueai\\omni-reader-mcp\\dist\\index.js"] }
132
134
  ```
133
- A deliberate local `npm install @cueai/omni-reader-mcp@1.7.0` gives you that stable
135
+ A deliberate local `npm install @cueai/omni-reader-mcp@1.7.2` gives you that stable
134
136
  path. Do not point the entry at an `_npx` cache directory — its hash subdirectory
135
137
  changes between installs.
136
138
  3. **Never use a session/timestamp directory** — such paths are cleaned up, and the
@@ -304,16 +306,16 @@ satisfies the constraints.
304
306
  ## Commands
305
307
 
306
308
  ```sh
307
- npx -y @cueai/omni-reader-mcp@1.7.0 doctor
308
- npx -y @cueai/omni-reader-mcp@1.7.0 doctor --json
309
- npx -y @cueai/omni-reader-mcp@1.7.0 clean
310
- npx -y @cueai/omni-reader-mcp@1.7.0 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
311
313
  ```
312
314
 
313
315
  Running the pinned version without a command starts the stdio MCP server:
314
316
 
315
317
  ```sh
316
- npx -y @cueai/omni-reader-mcp@1.7.0
318
+ npx -y @cueai/omni-reader-mcp@1.7.2
317
319
  ```
318
320
 
319
321
  Default `doctor --json` reports `inspection_scope: "current_process_env"`: its Key and
@@ -321,7 +323,7 @@ allowed-root facts describe the doctor process, not a separately running agent c
321
323
  inspect one caller-selected JSON entry without scanning or writing configuration, use:
322
324
 
323
325
  ```sh
324
- npx -y @cueai/omni-reader-mcp@1.7.0 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
325
327
  ```
326
328
 
327
329
  The optional `explicit_config` block reports only closed redacted facts: entry/transport
@@ -339,7 +341,7 @@ definitively "available" until a real local-file parse validates the route.
339
341
 
340
342
  ## Network diagnostics
341
343
 
342
- Run `npx -y @cueai/omni-reader-mcp@1.7.0 doctor --json` first. Diagnose failures by
344
+ Run `npx -y @cueai/omni-reader-mcp@1.7.2 doctor --json` first. Diagnose failures by
343
345
  stage instead of guessing an endpoint:
344
346
 
345
347
  | Failure | Stage | Meaning |
@@ -349,7 +351,7 @@ stage instead of guessing an endpoint:
349
351
  | `DETAIL_CAPABILITIES_UNAVAILABLE` | before grant | this service does not currently advertise grounded/layout parsing; use text only when Markdown without grounding/layout sidecars is acceptable |
350
352
  | `UNSUPPORTED_DETAIL` | before upload | the requested parsing representation/profile is unavailable; do not retry unchanged or describe the account as text-only |
351
353
  | `PRINCIPAL_CONCURRENCY_LIMIT` | before upload | the principal already has the maximum active parses; wait for `retry_after`, then retry the same parse |
352
- | `BRIDGE_UPGRADE_REQUIRED` | before upload | this Bridge release is too old; install `@cueai/omni-reader-mcp@1.7.0` via the official setup, then retry the same parse |
354
+ | `BRIDGE_UPGRADE_REQUIRED` | before upload | install the latest published `@cueai/omni-reader-mcp` release, then retry once; if already running latest, do not reinstall or retry—run `doctor --json` and ask the service operator to verify Bridge admission |
353
355
  | a secure upload-stage failure | after grant creation | the file was granted, but the secure upload stage did not complete |
354
356
  | `CUBE_PROTOCOL_ERROR` | control-plane response | the response did not match the required contract |
355
357
  | `MCP error -32000: Connection closed` | before Bridge starts | the client launcher shape is invalid; see Windows configuration |
@@ -368,16 +370,16 @@ the same way from every client.
368
370
 
369
371
  ## Uninstall and rollback
370
372
 
371
- `uninstall --yes --json` removes only a trusted 1.6.0 or 1.7.0 Bridge entry, plus
373
+ `uninstall --yes --json` removes only a trusted 1.7.1 or 1.7.2 Bridge entry, plus
372
374
  the exact broken bare-`npx` Windows entry written by 1.5.1. When a matching trusted
373
375
  backup exists, it restores the original URL-only `omni-reader` entry. Uninstall never
374
376
  deletes user source files and never silently removes unexpired local results.
375
377
 
376
- To roll back from 1.7.0 to 1.6.0:
378
+ To roll back from 1.7.2 to 1.7.1:
377
379
 
378
- 1. stop recommending or installing 1.7.0;
380
+ 1. stop recommending or installing 1.7.2;
379
381
  2. run `uninstall --yes --json` to restore the trusted URL-only entry;
380
- 3. if the local facade is still required, run `npx -y @cueai/omni-reader-mcp@1.6.0 setup`;
382
+ 3. if the local facade is still required, run `npx -y @cueai/omni-reader-mcp@1.7.1 setup`;
381
383
  4. for already-uploaded operations, continue using status recovery so settlement and
382
384
  cleanup complete;
383
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.6.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
@@ -641,7 +641,7 @@ export function expectedBridgeVersion(target, value, platform) {
641
641
  }
642
642
  function isLegacyBridgeEntry(target, value, platform) {
643
643
  // Defer the entire invocation-shape decision to the single platform policy:
644
- // exact pinned {1.6.0 previous, 1.7.0 current} plus the exact Windows 1.5.1
644
+ // exact pinned {1.7.0 previous, 1.7.1 current} plus the exact Windows 1.5.1
645
645
  // bare-npx migration source. The historical platform-agnostic acceptance of a
646
646
  // bare unpinned `npx -y @cueai/omni-reader-mcp` is removed: it widened the
647
647
  // frozen trust set to a floating latest on every OS, which expectedBridgeVersion
@@ -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.0";
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.0";
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;
@@ -371,7 +371,7 @@ async function grantResponseError(response) {
371
371
  return bridgeError("BRIDGE_UPGRADE_REQUIRED", "This Bridge release is not accepted for direct local-file parsing.", false, {
372
372
  failureScope: "service",
373
373
  sourceKind: "local",
374
- userAction: `Upgrade to @cueai/omni-reader-mcp@${BRIDGE_RELEASE_VERSION} using the official Omni setup instructions, then retry the same local-file parse.`,
374
+ userAction: "Install the latest published @cueai/omni-reader-mcp release using the official Omni setup instructions, then retry once. If you are already running the latest published release, do not reinstall or retry; run doctor --json and ask the service operator to verify Bridge admission.",
375
375
  });
376
376
  }
377
377
  }
@@ -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.0",
3
+ "version": "1.7.2",
4
4
  "description": "Local stdio MCP bridge for direct Omni document parsing",
5
5
  "keywords": [
6
6
  "mcp",