@inf-monkeys-tech/monkeys-cli 0.12.30 → 0.12.32

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.
Files changed (43) hide show
  1. package/README.md +6 -0
  2. package/dist/commands/data/asset/get.d.ts +1 -0
  3. package/dist/commands/data/asset/get.d.ts.map +1 -1
  4. package/dist/commands/data/asset/get.js +5 -2
  5. package/dist/commands/data/asset/get.js.map +1 -1
  6. package/dist/commands/data/asset/inspect.d.ts +19 -0
  7. package/dist/commands/data/asset/inspect.d.ts.map +1 -0
  8. package/dist/commands/data/asset/inspect.js +46 -0
  9. package/dist/commands/data/asset/inspect.js.map +1 -0
  10. package/dist/commands/data/asset/media/download.d.ts +1 -0
  11. package/dist/commands/data/asset/media/download.d.ts.map +1 -1
  12. package/dist/commands/data/asset/media/download.js +5 -2
  13. package/dist/commands/data/asset/media/download.js.map +1 -1
  14. package/dist/data/asset-inspect.d.ts +48 -0
  15. package/dist/data/asset-inspect.d.ts.map +1 -0
  16. package/dist/data/asset-inspect.js +178 -0
  17. package/dist/data/asset-inspect.js.map +1 -0
  18. package/dist/data/client.d.ts.map +1 -1
  19. package/dist/data/client.js +1 -0
  20. package/dist/data/client.js.map +1 -1
  21. package/dist/data/media.d.ts.map +1 -1
  22. package/dist/data/media.js +35 -6
  23. package/dist/data/media.js.map +1 -1
  24. package/dist/data/resource-locator-types.d.ts.map +1 -1
  25. package/dist/data/resource-locator-types.js +1 -0
  26. package/dist/data/resource-locator-types.js.map +1 -1
  27. package/dist/data/view-rows.d.ts.map +1 -1
  28. package/dist/data/view-rows.js +45 -24
  29. package/dist/data/view-rows.js.map +1 -1
  30. package/dist/data-transfer/files.d.ts.map +1 -1
  31. package/dist/data-transfer/files.js +37 -18
  32. package/dist/data-transfer/files.js.map +1 -1
  33. package/dist/transport/http-client.d.ts.map +1 -1
  34. package/dist/transport/http-client.js +2 -0
  35. package/dist/transport/http-client.js.map +1 -1
  36. package/dist/transport/media-download.d.ts.map +1 -1
  37. package/dist/transport/media-download.js +3 -0
  38. package/dist/transport/media-download.js.map +1 -1
  39. package/oclif.manifest.json +145 -3
  40. package/package.json +2 -2
  41. package/skills/monkeys-data/SKILL.md +2 -0
  42. package/skills/monkeys-data/references/data-read.md +8 -2
  43. package/skills/monkeys-data/references/data-transfer.md +4 -0
@@ -2724,7 +2724,7 @@
2724
2724
  "required": true
2725
2725
  }
2726
2726
  },
2727
- "description": "Get Asset by exact ID.",
2727
+ "description": "Get Asset by exact ID. For candidate fields and relations, use data asset inspect.",
2728
2728
  "enableJsonFlag": false,
2729
2729
  "flags": {
2730
2730
  "bucket": {
@@ -2776,6 +2776,13 @@
2776
2776
  "summary": "Use only this Data perspective; when omitted, read queries use Studio first and may fall back to Kernel",
2777
2777
  "type": "option"
2778
2778
  },
2779
+ "resource-team": {
2780
+ "hasDynamicHelp": false,
2781
+ "multiple": false,
2782
+ "name": "resource-team",
2783
+ "summary": "Kernel Ontology data resource location Team; does not represent Team filtering and cannot be used simultaneously with --team",
2784
+ "type": "option"
2785
+ },
2779
2786
  "subscription": {
2780
2787
  "hasDynamicHelp": false,
2781
2788
  "multiple": false,
@@ -3294,6 +3301,134 @@
3294
3301
  ],
3295
3302
  "strict": true
3296
3303
  },
3304
+ "data:asset:inspect": {
3305
+ "aliases": [],
3306
+ "args": {},
3307
+ "description": "Batch-read fields and relations for exact candidate Asset IDs without listing or exporting the Ontology. Missing values remain explicit; related assets are not recursively fetched.",
3308
+ "enableJsonFlag": false,
3309
+ "flags": {
3310
+ "asset-ids-file": {
3311
+ "hasDynamicHelp": false,
3312
+ "multiple": false,
3313
+ "name": "asset-ids-file",
3314
+ "required": true,
3315
+ "summary": "JSON array of 1-1000 exact Asset IDs; duplicates are read once",
3316
+ "type": "option"
3317
+ },
3318
+ "bucket": {
3319
+ "hasDynamicHelp": false,
3320
+ "multiple": false,
3321
+ "name": "bucket",
3322
+ "summary": "Old Bucket ID (deprecated; new tasks use --ontology)",
3323
+ "type": "option"
3324
+ },
3325
+ "field-id": {
3326
+ "hasDynamicHelp": false,
3327
+ "multiple": true,
3328
+ "name": "field-id",
3329
+ "summary": "Exact Field ID; repeat to select fields; defaults to all fields visible in the chosen scope (maximum 200)",
3330
+ "type": "option"
3331
+ },
3332
+ "jq": {
3333
+ "char": "q",
3334
+ "hasDynamicHelp": false,
3335
+ "multiple": false,
3336
+ "name": "jq",
3337
+ "summary": "Filter the JSON result with a jq expression",
3338
+ "type": "option"
3339
+ },
3340
+ "ontology": {
3341
+ "hasDynamicHelp": false,
3342
+ "multiple": false,
3343
+ "name": "ontology",
3344
+ "summary": "Ontology ID",
3345
+ "type": "option"
3346
+ },
3347
+ "output": {
3348
+ "default": "json",
3349
+ "hasDynamicHelp": false,
3350
+ "multiple": false,
3351
+ "name": "output",
3352
+ "options": [
3353
+ "json",
3354
+ "pretty",
3355
+ "table",
3356
+ "ndjson",
3357
+ "csv",
3358
+ "text"
3359
+ ],
3360
+ "summary": "Output format",
3361
+ "type": "option"
3362
+ },
3363
+ "perspective": {
3364
+ "hasDynamicHelp": false,
3365
+ "multiple": false,
3366
+ "name": "perspective",
3367
+ "options": [
3368
+ "kernel",
3369
+ "studio"
3370
+ ],
3371
+ "summary": "Use only this Data perspective; when omitted, read queries use Studio first and may fall back to Kernel",
3372
+ "type": "option"
3373
+ },
3374
+ "relations": {
3375
+ "allowNo": true,
3376
+ "name": "relations",
3377
+ "summary": "Include normalized incoming/outgoing relations for selected relation fields",
3378
+ "type": "boolean"
3379
+ },
3380
+ "resource-team": {
3381
+ "hasDynamicHelp": false,
3382
+ "multiple": false,
3383
+ "name": "resource-team",
3384
+ "summary": "Kernel Ontology data resource location Team; does not represent Team filtering and cannot be used simultaneously with --team",
3385
+ "type": "option"
3386
+ },
3387
+ "subscription": {
3388
+ "hasDynamicHelp": false,
3389
+ "multiple": false,
3390
+ "name": "subscription",
3391
+ "summary": "Subscription name",
3392
+ "type": "option"
3393
+ },
3394
+ "team": {
3395
+ "hasDynamicHelp": false,
3396
+ "multiple": false,
3397
+ "name": "team",
3398
+ "summary": "Studio Team context; only used under Kernel for explicit Team filtering",
3399
+ "type": "option"
3400
+ },
3401
+ "view": {
3402
+ "hasDynamicHelp": false,
3403
+ "multiple": false,
3404
+ "name": "view",
3405
+ "summary": "Exact View scope for View-exclusive fields; omitted reads global fields only",
3406
+ "type": "option"
3407
+ },
3408
+ "yes": {
3409
+ "allowNo": false,
3410
+ "char": "y",
3411
+ "name": "yes",
3412
+ "summary": "Confirm destructive or privileged operations",
3413
+ "type": "boolean"
3414
+ }
3415
+ },
3416
+ "hasDynamicHelp": false,
3417
+ "hiddenAliases": [],
3418
+ "id": "data:asset:inspect",
3419
+ "isESM": true,
3420
+ "pluginAlias": "@inf-monkeys-tech/monkeys-cli",
3421
+ "pluginName": "@inf-monkeys-tech/monkeys-cli",
3422
+ "pluginType": "core",
3423
+ "relativePath": [
3424
+ "dist",
3425
+ "commands",
3426
+ "data",
3427
+ "asset",
3428
+ "inspect.js"
3429
+ ],
3430
+ "strict": true
3431
+ },
3297
3432
  "data:asset:list": {
3298
3433
  "aliases": [],
3299
3434
  "args": {},
@@ -3533,6 +3668,13 @@
3533
3668
  "summary": "Use only this Data perspective; when omitted, read queries use Studio first and may fall back to Kernel",
3534
3669
  "type": "option"
3535
3670
  },
3671
+ "resource-team": {
3672
+ "hasDynamicHelp": false,
3673
+ "multiple": false,
3674
+ "name": "resource-team",
3675
+ "summary": "Kernel Ontology data resource location Team; does not represent Team filtering and cannot be used simultaneously with --team",
3676
+ "type": "option"
3677
+ },
3536
3678
  "source": {
3537
3679
  "default": "auto",
3538
3680
  "hasDynamicHelp": false,
@@ -3544,7 +3686,7 @@
3544
3686
  "media",
3545
3687
  "thumbnail"
3546
3688
  ],
3547
- "summary": "Media source; auto select primary, media, thumbnail in sequence",
3689
+ "summary": "Media source; auto tries distinct primary, media, thumbnail sources on recoverable failures",
3548
3690
  "type": "option"
3549
3691
  },
3550
3692
  "subscription": {
@@ -19878,5 +20020,5 @@
19878
20020
  "strict": true
19879
20021
  }
19880
20022
  },
19881
- "version": "0.12.30"
20023
+ "version": "0.12.32"
19882
20024
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inf-monkeys-tech/monkeys-cli",
3
- "version": "0.12.30",
3
+ "version": "0.12.32",
4
4
  "packageManager": "bun@1.3.14",
5
5
  "description": "Monkeys command-line client for AI agents, automation, and interactive use",
6
6
  "type": "module",
@@ -150,5 +150,5 @@
150
150
  "publishConfig": {
151
151
  "access": "public"
152
152
  },
153
- "monkeysReleaseCommit": "632d473a7d1bbef25c93cd3b0b227f1dbf5c8bdb"
153
+ "monkeysReleaseCommit": "e7a09666262d1e11b0bfbc7b1ae6dd13241d7053"
154
154
  }
@@ -29,3 +29,5 @@ description: 通过 monkeys CLI 理解并操作 Ontology、View、Asset、Field/
29
29
  - 筛选失败或空集合不得触发 View 转换、Raw API、PG 扫描或视角写重放。
30
30
  - Data 文件未指定文件格式时按 JSONL;真实导入必须先对同一输入完成全量 dry-run,并获得精确 Subscription、Perspective、Ontology 与文件授权。
31
31
  - Asset/附件 URL 只在 CLI 内部使用;不得显示、签名或经普通 HTTP 工具处理。
32
+
33
+ 已选候选需要字段/关系时优先用 `data asset inspect --asset-ids-file <ids.json>`,详见 [读取](references/data-read.md);不要为少量候选导出整个本体。
@@ -24,8 +24,8 @@
24
24
  7. 只有用户明确要求简略列表、资源元数据或低上下文投影时,才使用 `data asset list --view <View ID>`。默认单页有界;只有用户确实需要时扩大范围。
25
25
  8. 抽样使用 `data asset sample` 的有界样本,不自行无限翻页后随机。
26
26
  9. 只复用同一 Context、Team 模式、Data 合同、Ontology、View 和查询生成的 Cursor;CLI Cursor 会保留自动路由后的实际 Data Perspective,游标不匹配时重新查询。
27
- 10. 用户需要读取、查看或保存 Asset 封面图片/媒体时,使用 `monkeys data asset media download <Asset ID> --ontology <Ontology ID> --out <本地路径> --subscription <Subscription> --output json`;用户明确指定视角时再补 `--perspective studio|kernel`。`--source auto` 默认依次选择 `primaryContent.value`、`media`、`thumbnail`;需要特定来源时显式传 `--source`。
28
- 11. 用户需要 View Feature 中的 PDF/文件时,使用 `monkeys data asset attachment download <Asset ID> --ontology <Ontology ID> --view <View ID> --field <Field ID 或唯一精确名称> --out <本地路径> --subscription <Subscription> --output json`;用户明确指定视角时再补 `--perspective studio|kernel`。历史 Field 类型可能是 `img`,仍应按实际 Content-Type/文件内容称为 PDF 或附件,不要误称为图片。
27
+ 10. 用户需要读取、查看或保存 Asset 封面图片/媒体时,使用 `monkeys data asset media download <Asset ID> --ontology <Ontology ID> --out <本地路径> --subscription <Subscription> --output json`;明确 Kernel 时补 `--perspective kernel --resource-team <已确认的数据 Team>`,明确 Studio 时补 `--perspective studio --team <Team ID>`,不要混传两种 Team 参数。`--source auto` 按 `primaryContent.value`、`media`、`thumbnail` 顺序尝试不同地址;网络、5xx 或非媒体响应等可恢复错误会继续下一来源,同一地址只下载一次。显式指定来源时不自动换源;权限、签名校验、重定向、文件大小和本地写入错误仍直接报告。
28
+ 11. 用户需要 View Feature 中的 PDF/文件时,使用 `monkeys data asset attachment download <Asset ID> --ontology <Ontology ID> --view <View ID> --field <Field ID 或唯一精确名称> --out <本地路径> --subscription <Subscription> --output json`;明确 Kernel 时补 `--perspective kernel --resource-team <已确认的数据 Team>`,明确 Studio 时补 `--perspective studio --team <Team ID>`,不要混传两种 Team 参数。历史 Field 类型可能是 `img`,仍应按实际 Content-Type/文件内容称为 PDF 或附件,不要误称为图片。
29
29
  12. 下载成功后依据 CLI 返回的本地 `path` 展示或处理文件,并向用户报告来源 Field、大小和 SHA-256;不要把二进制正文塞入 JSON 或聊天文本。
30
30
  13. 两种下载都由 CLI 内部处理对象地址:公开 HTTPS 对象使用匿名、无身份 Header、无重定向、有界原子下载;对象明确返回 401/403/404 时,CLI 才请求 Server 生成短期签名并重试。CLI 不自行签名,任何规范或签名 URL 都不得进入结构化输出或聊天。网络错误、重定向、异常 Content-Type、超限或签名失败必须直接报告,不得使用普通 HTTP、Raw API 或手工 URL 兜底。
31
31
  14. 覆盖本地已有文件前必须得到用户对该精确路径的授权,并同时传 `--overwrite --yes`。默认最大 50 MiB;只有任务确有需要时才提高 `--max-bytes`,不得超过 1 GiB。
@@ -45,3 +45,9 @@ monkeys data view rows --ontology <Ontology ID> --view <View ID> --resource-team
45
45
  前两类输出应为 `teamMode=filter`、`effectiveTeamId=0`;第三类仍为 `teamMode=none`,并通过 `resourceLocator.teamId=0` 报告后端分区定位。不要同时传 `--team 0` 与 `--resource-team 0`,也不要把任一形式解释为“查询所有 Team”。
46
46
 
47
47
  `visible` 只表示当前身份可以读取,不代表可以创建、更新或治理。`data bucket` 和 `--bucket` 只用于旧脚本/旧部署兼容;新任务不得优先使用。
48
+
49
+ ## 候选 Asset 的完整字段与关系
50
+
51
+ 已得到候选 ID 后,使用 `monkeys data asset inspect --ontology <Ontology ID> --asset-ids-file <ids.json> --perspective kernel --resource-team <已确认 Team> --subscription <Subscription> --output json`。ids.json 是最多1000个精确ID的JSON数组,CLI去重并按100条分批读取;不扫描无关商品或全量导出。默认读取当前作用域全部字段(最多200列)及关系,`--field-id <ID>` 可重复指定。View专属字段须传 `--view <View ID>`;未传View时仅读取全局字段,并列出被排除的作用域字段。
52
+
53
+ 结果包含字段ID/名称/类型、每个候选的values、missingFieldIds、valueStatus、relations及实际数据请求数。false、0、null不等同于缺失;row-missing不等于空关系,也不能当作资源存在证明。关联目标按返回的Ontology和Asset ID另批读取,避免无界递归。原始结果存工作目录并复用,模型只读取任务需要的摘要;已选候选不要使用全量asset export补字段。
@@ -72,3 +72,7 @@ Ontology 全局 Asset 导出会遍历 View,默认合并多 View Membership 和
72
72
  - Ontology 映射报告最大 32 MiB。全局 Membership 导出使用磁盘分区;单分区超过 16 MiB 或 100,000 条时显式失败,应缩小到 View 作用域或拆分迁移,不得放宽内存门禁后自动重试。
73
73
  - XLSX 只使用 `data` 工作表,任何公式 Cell 都拒绝导入。
74
74
  - 本能力不打包图片、PDF 或其他附件二进制。附件仍按 Data 读取 Skill 使用专用下载命令处理。
75
+
76
+ ## 同一目标的重复导出
77
+
78
+ 导出持有目标文件的排他锁;返回 `DATA_TRANSFER_IN_PROGRESS` 时等待已有进程,不因最终文件尚未出现而重启。成功后读取已有结果。进程异常退出留下锁时,先确认原进程已终止再移除该精确锁文件;不要自动按时长抢锁。