@cueai/omni-reader-mcp 1.4.0 → 1.4.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/README.md CHANGED
@@ -64,7 +64,7 @@ differ from the numbers above, report the live values.
64
64
  Always use an audited exact version, never an implicit `latest`:
65
65
 
66
66
  ```sh
67
- npx -y @cueai/omni-reader-mcp@1.4.0 setup
67
+ npx -y @cueai/omni-reader-mcp@1.4.1 setup
68
68
  ```
69
69
 
70
70
  The interactive setup supports Hermes, Cursor, Claude Desktop, and generic stdio
@@ -72,9 +72,9 @@ configuration. Non-interactive installation uses the same argument parsing and w
72
72
  logic:
73
73
 
74
74
  ```sh
75
- npx -y @cueai/omni-reader-mcp@1.4.0 setup --client hermes --allowed-root /absolute/minimum/root --yes --json
76
- npx -y @cueai/omni-reader-mcp@1.4.0 setup --client cursor --add-root /absolute/minimum/root --yes --json
77
- npx -y @cueai/omni-reader-mcp@1.4.0 setup --client claude-desktop --allowed-root /absolute/minimum/root --yes --json
75
+ npx -y @cueai/omni-reader-mcp@1.4.1 setup --client hermes --allowed-root /absolute/minimum/root --yes --json
76
+ npx -y @cueai/omni-reader-mcp@1.4.1 setup --client cursor --add-root /absolute/minimum/root --yes --json
77
+ npx -y @cueai/omni-reader-mcp@1.4.1 setup --client claude-desktop --allowed-root /absolute/minimum/root --yes --json
78
78
  ```
79
79
 
80
80
  When an agent or script runs under a pty (stdin is still a TTY), declare non-interactive
@@ -82,7 +82,7 @@ mode explicitly with `--headless` (alias `--non-interactive`): no `--yes` is req
82
82
  stdin is never read:
83
83
 
84
84
  ```sh
85
- npx -y @cueai/omni-reader-mcp@1.4.0 setup --client cursor --allowed-root /absolute/minimum/root --headless --json
85
+ npx -y @cueai/omni-reader-mcp@1.4.1 setup --client cursor --allowed-root /absolute/minimum/root --headless --json
86
86
  ```
87
87
 
88
88
  ## Cache and journal isolation
@@ -133,6 +133,7 @@ The public tools are fixed:
133
133
  - `read_result`
134
134
  - `read_outline`
135
135
  - `discard_result`
136
+ - `save_result`
136
137
 
137
138
  Every tool returns `structuredContent` with a strict `outputSchema`, plus an equivalent
138
139
  fallback for clients that only read legacy MCP `content[].text`:
@@ -150,7 +151,11 @@ fallback for clients that only read legacy MCP `content[].text`:
150
151
  advancing sequentially through `next_cursor`. An empty or absent outline is reported
151
152
  explicitly, never silently — it never blocks reading the result itself with `read_result`;
152
153
  - the `discard_result` text JSON explicitly returns `discarded`; never claim deletion on
153
- call success alone.
154
+ call success alone;
155
+ - the `save_result` text JSON contains the written file `path` and `bytes` count; there is
156
+ no path argument — the file is always named from `result_id` inside the Bridge cache's
157
+ export directory, so it cannot be pointed at an arbitrary location; calling it again for
158
+ the same result overwrites the same file.
154
159
 
155
160
  This gives clients that do not render `structuredContent` the operation/result handles
156
161
  and the full body without changing the contract for structured-capable clients.
@@ -188,7 +193,11 @@ Both URL and local files use mandatory no-store semantics and enter the
188
193
  **24 hours**; this is a different class of data from the remote 10-minute delivery
189
194
  window;
190
195
  - `read_result` reads local results in chunks; `discard_result` deletes a specific result
191
- immediately; `clean` removes Bridge-created local artifacts and expired records.
196
+ immediately; `clean` removes Bridge-created local artifacts and expired records;
197
+ - `save_result` writes a result's complete content to a stable file under the Bridge cache's
198
+ export directory and returns its path; exports are independent of the 24-hour cache sweep,
199
+ so discarding the cached artifact or letting retention expire does not remove an export the
200
+ user asked to keep.
192
201
 
193
202
  Status queries, result reads, and discards never create a new parse or usage event.
194
203
  `cancel_parse` reports only the real settlement state confirmed by the server and never
@@ -212,16 +221,16 @@ satisfies the constraints.
212
221
  ## Commands
213
222
 
214
223
  ```sh
215
- npx -y @cueai/omni-reader-mcp@1.4.0 doctor
216
- npx -y @cueai/omni-reader-mcp@1.4.0 doctor --json
217
- npx -y @cueai/omni-reader-mcp@1.4.0 clean
218
- npx -y @cueai/omni-reader-mcp@1.4.0 uninstall --yes --json
224
+ npx -y @cueai/omni-reader-mcp@1.4.1 doctor
225
+ npx -y @cueai/omni-reader-mcp@1.4.1 doctor --json
226
+ npx -y @cueai/omni-reader-mcp@1.4.1 clean
227
+ npx -y @cueai/omni-reader-mcp@1.4.1 uninstall --yes --json
219
228
  ```
220
229
 
221
230
  Running the pinned version without a command starts the stdio MCP server:
222
231
 
223
232
  ```sh
224
- npx -y @cueai/omni-reader-mcp@1.4.0
233
+ npx -y @cueai/omni-reader-mcp@1.4.1
225
234
  ```
226
235
 
227
236
  `doctor --json` returns package/npm/client adapter, Key present/absent, allowed-root
@@ -230,12 +239,12 @@ status; it never prints the Key, private source paths, or content.
230
239
 
231
240
  ## Uninstall and rollback
232
241
 
233
- `uninstall --yes --json` removes only a trusted 1.3.3 or 1.4.0 Bridge entry; when a
242
+ `uninstall --yes --json` removes only a trusted 1.4.0 or 1.4.1 Bridge entry; when a
234
243
  matching trusted backup exists, it restores the original URL-only `omni-reader` entry.
235
244
  Uninstall never deletes user source files and never silently removes unexpired local
236
245
  results.
237
246
 
238
- To roll back from 1.4.0:
247
+ To roll back from 1.4.1:
239
248
 
240
249
  1. stop recommending or installing that version;
241
250
  2. run `uninstall --yes --json` to restore the trusted URL-only entry;
@@ -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: uninstall and
8
8
  // rollback recognize exactly {previous, current} and nothing else. Bump this to
9
9
  // the version we just published when BRIDGE_RELEASE_VERSION advances.
10
- const PREVIOUS_RELEASE_VERSION = "1.3.3";
10
+ const PREVIOUS_RELEASE_VERSION = "1.4.0";
11
11
  const PREVIOUS_PACKAGE_SPEC = `@cueai/omni-reader-mcp@${PREVIOUS_RELEASE_VERSION}`;
12
12
  const LEGACY_PACKAGE_SPEC = "@cueai/omni-reader-mcp";
13
13
  const TRUSTED_EXACT_PACKAGE_SPECS = new Set([PREVIOUS_PACKAGE_SPEC, PACKAGE_SPEC]);
@@ -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://cubefile.ai.iiis.co:9443/omni/granted/";
9
- export declare const BRIDGE_RELEASE_VERSION = "1.4.0";
9
+ export declare const BRIDGE_RELEASE_VERSION = "1.4.1";
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://cubefile.ai.iiis.co:9443/omni/granted/";
9
- export const BRIDGE_RELEASE_VERSION = "1.4.0";
9
+ export const BRIDGE_RELEASE_VERSION = "1.4.1";
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cueai/omni-reader-mcp",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "description": "Local stdio MCP bridge for direct Omni document parsing",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",