xparse-cli 2.2.1-beta.1 → 2.2.1-beta.3

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
@@ -11,7 +11,7 @@ Textin xParser 文档解析命令行工具,基于 [TextIn xParse API](https://
11
11
  需要 Node.js 18 或更高版本。Beta 版本必须显式安装,不会被普通安装或升级自动选中:
12
12
 
13
13
  ```bash
14
- npm install -g xparse-cli@2.2.1-beta.1
14
+ npm install -g xparse-cli@2.2.1-beta.3
15
15
  ```
16
16
 
17
17
  安装后可运行 `xparse-cli version` 检查版本。
@@ -308,7 +308,9 @@ OAuth 参数优先级:
308
308
 
309
309
  不传 `--api` 时使用 `auto`:CLI 先读取现有 quota 接口,在匿名每日免费额度与登录
310
310
  用户的免费套餐额度之间制定执行计划。显式 `--api free` 固定调用免费 Agent 接口,
311
- 显式 `--api paid` 固定调用现有付费接口,不参与自动额度路由。
311
+ 显式 `--api paid` 固定调用现有付费接口,不参与自动额度路由,但仍会读取 quota 中的
312
+ `standard_max_file_size_mb`,在上传本地文件前执行标准接口大小预检。旧服务端未下发
313
+ 该字段时使用 500MB 兼容值;URL 输入仍由服务端检查。
312
314
 
313
315
  认证选择顺序为:显式 `--auth-method` / 环境或配置选择 > OAuth > 完整 AppKey >
314
316
  匿名(仅可选认证接口)。自动选择 OAuth 时若刷新失败,会先回退完整 AppKey;两者都
@@ -320,42 +322,29 @@ OAuth 参数优先级:
320
322
 
321
323
  ## 退出码与错误处理
322
324
 
323
- | | 含义 | stderr 格式 |
324
- |----|------|-------------|
325
- | 0 | 成功 | — |
326
- | 1 | 一般错误 / 网络异常 | 纯文本 + `> [tag] suggestion` |
327
- | 2 | 参数错误 | 纯文本 + `> [tag] suggestion` |
328
- | 3 | API 返回错误 | `api_code:message` + `> [tag] suggestion` |
325
+ `xparse-cli parse` 默认向 stderr 输出一行 JSON;stdout 仍只承载解析结果。退出码保持兼容:
329
326
 
330
- 每条错误输出到 stderr,格式:
327
+ | 码 | 含义 |
328
+ |----|------|
329
+ | 0 | 成功 |
330
+ | 1 | 一般错误 / 网络异常 |
331
+ | 2 | 参数错误 |
332
+ | 3 | API 返回错误 |
331
333
 
332
- ```
333
- <错误信息>
334
- > <建议操作>
335
- (request_id: xxx, contact Textin support if unresolved) ← 部分 API 错误额外输出
336
- ```
337
-
338
- 第二行以 `>` 开头,包含 `[tag]` 标签指示处理方式:
339
-
340
- | 标签 | 含义 |
341
- |------|------|
342
- | `[fix]` | 修正参数后重新执行 |
343
- | `[retry]` | 自动重试(带退避) |
344
- | `[fallback]` | 尝试替代方案 |
345
- | `[ask human]` | 需要人工介入 |
334
+ 基础字段为 `schema_version`、`error_code`、`message`、`actual_value`、`limit`、
335
+ `retryable` 和 `next_action`;需要时还会包含 `upgrade_url`、`request_id`、`task_id`
336
+ `details`。`actual_value` 与 `limit` 不可确认时为 `null`,不会使用过期的本地固定值。
346
337
 
347
- 示例:
348
-
349
- ```
350
- invalid --view value, must be 'markdown' or 'json'
351
- > [fix] use --view markdown or --view json
338
+ ```json
339
+ {"schema_version":"xparse_error.v1","error_code":"FILE_TOO_LARGE","message":"file exceeds the current service limit","actual_value":{"file_size_mb":12.5},"limit":{"source":"service","max_file_size_mb":8},"retryable":false,"next_action":"REDUCE_FILE","request_id":"644e2efdb..."}
352
340
  ```
353
341
 
354
- ```
355
- 40306:服务暂时不可用
356
- > [retry] wait 3s then retry, max 2 retries
357
- (request_id: 644e2efdb..., contact Textin support if unresolved)
358
- ```
342
+ 稳定错误码至少包括:`FILE_NOT_FOUND`、`EMPTY_FILE`、`UNSUPPORTED_FILE_TYPE`、
343
+ `FILE_TOO_LARGE`、`PAGE_LIMIT_EXCEEDED`、`PAID_QUOTA_REQUIRED`、
344
+ `CAPABILITY_QUERY_FAILED`、`SPLIT_FAILED`、`MERGE_FAILED` `RETRY_EXHAUSTED`。
345
+
346
+ 人工调试或兼容旧脚本时可使用 `--error-format=text`,恢复原有的多行文本与建议格式。
347
+ 其他子命令继续使用原有文本错误格式。
359
348
 
360
349
  > stdout 仅输出文档内容,stderr 仅输出错误信息,exit code 严格为 0/1/2/3。
361
350
  > 完整的错误和建议枚举见 [suggestion.txt](suggestion.txt)。
@@ -374,7 +363,7 @@ invalid --view value, must be 'markdown' or 'json'
374
363
 
375
364
  | 限制项 | 免费 API | 付费 API |
376
365
  |--------|----------|----------|
377
- | 文件大小 | 由 quota 的 `max_file_size_mb` 下发,PDF 可自动分片 | 500MB |
366
+ | 文件大小 | 由 quota 的 `max_file_size_mb` 下发,PDF 可自动分片 | 由 quota 的 `standard_max_file_size_mb` 下发,旧服务端回退 500MB |
378
367
  | PDF 页数 | 由 quota 的 `max_pages_per_request` 下发,支持自动分段 | 1000 页 |
379
368
  | XLS/XLSX/CSV | — | 每 sheet ≤ 2000 行 × 100 列 |
380
369
  | TXT | — | ≤ 100KB |
package/bin/xparse-cli.js CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xparse-cli",
3
- "version": "2.2.1-beta.1",
3
+ "version": "2.2.1-beta.3",
4
4
  "description": "TextIn xParse command-line client for document parsing",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -19,12 +19,12 @@
19
19
  "node": ">=18"
20
20
  },
21
21
  "optionalDependencies": {
22
- "xparse-cli-darwin-amd64": "2.2.1-beta.1",
23
- "xparse-cli-darwin-arm64": "2.2.1-beta.1",
24
- "xparse-cli-linux-amd64": "2.2.1-beta.1",
25
- "xparse-cli-linux-arm64": "2.2.1-beta.1",
26
- "xparse-cli-windows-amd64": "2.2.1-beta.1",
27
- "xparse-cli-windows-arm64": "2.2.1-beta.1"
22
+ "xparse-cli-darwin-amd64": "2.2.1-beta.3",
23
+ "xparse-cli-darwin-arm64": "2.2.1-beta.3",
24
+ "xparse-cli-linux-amd64": "2.2.1-beta.3",
25
+ "xparse-cli-linux-arm64": "2.2.1-beta.3",
26
+ "xparse-cli-windows-amd64": "2.2.1-beta.3",
27
+ "xparse-cli-windows-arm64": "2.2.1-beta.3"
28
28
  },
29
29
  "publishConfig": {
30
30
  "access": "public",