prts-terrarchive 0.2.0

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 (287) hide show
  1. package/GAME_ASSETS.md +26 -0
  2. package/LICENSE +21 -0
  3. package/README.en.md +274 -0
  4. package/README.md +423 -0
  5. package/THIRD_PARTY_NOTICES.md +61 -0
  6. package/bin/bake-rhine-details.mjs +34 -0
  7. package/bin/install.js +273 -0
  8. package/bin/pack-map-assets.mjs +110 -0
  9. package/bin/preview-rhine.mjs +71 -0
  10. package/bin/rhine-detail-baker.ts +84 -0
  11. package/contracts/cloud_tools_v1.schema.json +243 -0
  12. package/contracts/corpus_i18n_v1.schema.json +179 -0
  13. package/contracts/corpus_tools_v1.schema.json +1801 -0
  14. package/cordis.patch.yml +32 -0
  15. package/docs/endfield-official-i18n.md +103 -0
  16. package/lib/client.js +3912 -0
  17. package/lib/endfield-map/map.js.br +0 -0
  18. package/lib/endfield-map/map.js.gz +0 -0
  19. package/lib/endfield-map/resources/map-00b0d0744a1b4404.json.br +0 -0
  20. package/lib/endfield-map/resources/map-00b0d0744a1b4404.json.gz +0 -0
  21. package/lib/endfield-map/resources/map-01616f534aaaeca1.png +0 -0
  22. package/lib/endfield-map/resources/map-1562e0dff4be3d23.png +0 -0
  23. package/lib/endfield-map/resources/map-160fe040f080f6a3.png +0 -0
  24. package/lib/endfield-map/resources/map-17b9d8be25dc2b39.json.br +0 -0
  25. package/lib/endfield-map/resources/map-17b9d8be25dc2b39.json.gz +0 -0
  26. package/lib/endfield-map/resources/map-1c4245c4e8b80c43.json.br +0 -0
  27. package/lib/endfield-map/resources/map-1c4245c4e8b80c43.json.gz +0 -0
  28. package/lib/endfield-map/resources/map-1d30baaaef3e29cc.png +0 -0
  29. package/lib/endfield-map/resources/map-21a61386af79cd12.json.br +0 -0
  30. package/lib/endfield-map/resources/map-21a61386af79cd12.json.gz +0 -0
  31. package/lib/endfield-map/resources/map-24b920b8dab49b44.json.br +0 -0
  32. package/lib/endfield-map/resources/map-24b920b8dab49b44.json.gz +0 -0
  33. package/lib/endfield-map/resources/map-26caf8d71247abb7.png +0 -0
  34. package/lib/endfield-map/resources/map-2729942c89545e73.json.br +0 -0
  35. package/lib/endfield-map/resources/map-2729942c89545e73.json.gz +0 -0
  36. package/lib/endfield-map/resources/map-29063a9802f67014.json.br +0 -0
  37. package/lib/endfield-map/resources/map-29063a9802f67014.json.gz +0 -0
  38. package/lib/endfield-map/resources/map-2f35d09a3ab60a63.json.br +0 -0
  39. package/lib/endfield-map/resources/map-2f35d09a3ab60a63.json.gz +0 -0
  40. package/lib/endfield-map/resources/map-2f98a873da81425e.json.br +0 -0
  41. package/lib/endfield-map/resources/map-2f98a873da81425e.json.gz +0 -0
  42. package/lib/endfield-map/resources/map-3ab978ae44190f80.json.br +0 -0
  43. package/lib/endfield-map/resources/map-3ab978ae44190f80.json.gz +0 -0
  44. package/lib/endfield-map/resources/map-3b62c80d14208902.json.br +0 -0
  45. package/lib/endfield-map/resources/map-3b62c80d14208902.json.gz +0 -0
  46. package/lib/endfield-map/resources/map-3d486e887ae121ac.png +0 -0
  47. package/lib/endfield-map/resources/map-418dc4865608fce5.png +0 -0
  48. package/lib/endfield-map/resources/map-4366b84607335f76.json.br +0 -0
  49. package/lib/endfield-map/resources/map-4366b84607335f76.json.gz +0 -0
  50. package/lib/endfield-map/resources/map-4371259d3ab7aac7.png +0 -0
  51. package/lib/endfield-map/resources/map-48dcc0fd55e13f7f.png +0 -0
  52. package/lib/endfield-map/resources/map-4aabda0e41197570.json.br +0 -0
  53. package/lib/endfield-map/resources/map-4aabda0e41197570.json.gz +0 -0
  54. package/lib/endfield-map/resources/map-505f5687b287043c.json.br +0 -0
  55. package/lib/endfield-map/resources/map-505f5687b287043c.json.gz +0 -0
  56. package/lib/endfield-map/resources/map-5177e9d1d46f47e2.png +0 -0
  57. package/lib/endfield-map/resources/map-51baeb59b7f8c28d.png +0 -0
  58. package/lib/endfield-map/resources/map-549561b46e621874.png +0 -0
  59. package/lib/endfield-map/resources/map-56c6a0bef799c8dc.json.br +0 -0
  60. package/lib/endfield-map/resources/map-56c6a0bef799c8dc.json.gz +0 -0
  61. package/lib/endfield-map/resources/map-5a6963909423b674.png +0 -0
  62. package/lib/endfield-map/resources/map-5a9c533c0552d7b7.png +0 -0
  63. package/lib/endfield-map/resources/map-5d20ae9ffa9a02b0.png +0 -0
  64. package/lib/endfield-map/resources/map-626c8847393f60bf.png +0 -0
  65. package/lib/endfield-map/resources/map-63d43cbec3bed3b8.png +0 -0
  66. package/lib/endfield-map/resources/map-661b6ec56e722574.png +0 -0
  67. package/lib/endfield-map/resources/map-6ddd384eca190828.png +0 -0
  68. package/lib/endfield-map/resources/map-6fc1aa9144f8156c.json.br +0 -0
  69. package/lib/endfield-map/resources/map-6fc1aa9144f8156c.json.gz +0 -0
  70. package/lib/endfield-map/resources/map-738ebaa002c33cfc.png +0 -0
  71. package/lib/endfield-map/resources/map-758c13be6085ec07.json.br +0 -0
  72. package/lib/endfield-map/resources/map-758c13be6085ec07.json.gz +0 -0
  73. package/lib/endfield-map/resources/map-78929f26d6844509.png +0 -0
  74. package/lib/endfield-map/resources/map-7f09c142950a0f74.png +0 -0
  75. package/lib/endfield-map/resources/map-8385e11f39e1a51c.json.br +0 -0
  76. package/lib/endfield-map/resources/map-8385e11f39e1a51c.json.gz +0 -0
  77. package/lib/endfield-map/resources/map-881343926a568f27.json.br +0 -0
  78. package/lib/endfield-map/resources/map-881343926a568f27.json.gz +0 -0
  79. package/lib/endfield-map/resources/map-8d1ade3f01d952b0.png +0 -0
  80. package/lib/endfield-map/resources/map-8fef3495bb7ed60f.png +0 -0
  81. package/lib/endfield-map/resources/map-907a7ecf8a0ce352.png +0 -0
  82. package/lib/endfield-map/resources/map-9113d5951c4db903.json.br +0 -0
  83. package/lib/endfield-map/resources/map-9113d5951c4db903.json.gz +0 -0
  84. package/lib/endfield-map/resources/map-94ad6634436224e3.json.br +0 -0
  85. package/lib/endfield-map/resources/map-94ad6634436224e3.json.gz +0 -0
  86. package/lib/endfield-map/resources/map-99722e61da5f3e53.png +0 -0
  87. package/lib/endfield-map/resources/map-9be9596cc059abe3.png +0 -0
  88. package/lib/endfield-map/resources/map-a4db9a4763e47fbf.png +0 -0
  89. package/lib/endfield-map/resources/map-a4e8ef07159997e7.json.br +0 -0
  90. package/lib/endfield-map/resources/map-a4e8ef07159997e7.json.gz +0 -0
  91. package/lib/endfield-map/resources/map-ab35d06875ee418f.png +0 -0
  92. package/lib/endfield-map/resources/map-ac51bb3e7623cd8b.png +0 -0
  93. package/lib/endfield-map/resources/map-ac830a66296bc83a.png +0 -0
  94. package/lib/endfield-map/resources/map-b3fd04209718e55e.json.br +0 -0
  95. package/lib/endfield-map/resources/map-b3fd04209718e55e.json.gz +0 -0
  96. package/lib/endfield-map/resources/map-b8164f1af7c5d895.png +0 -0
  97. package/lib/endfield-map/resources/map-b8cde93b965384d8.json.br +0 -0
  98. package/lib/endfield-map/resources/map-b8cde93b965384d8.json.gz +0 -0
  99. package/lib/endfield-map/resources/map-b8e48511502e0e8d.json.br +0 -0
  100. package/lib/endfield-map/resources/map-b8e48511502e0e8d.json.gz +0 -0
  101. package/lib/endfield-map/resources/map-bfc58277d5ba649d.png +0 -0
  102. package/lib/endfield-map/resources/map-c013f82048c6891a.png +0 -0
  103. package/lib/endfield-map/resources/map-c49c947841ae4ab5.json.br +0 -0
  104. package/lib/endfield-map/resources/map-c49c947841ae4ab5.json.gz +0 -0
  105. package/lib/endfield-map/resources/map-c4d1b1c6d6706c81.json.br +0 -0
  106. package/lib/endfield-map/resources/map-c4d1b1c6d6706c81.json.gz +0 -0
  107. package/lib/endfield-map/resources/map-c607f8b4c8ad8967.png +0 -0
  108. package/lib/endfield-map/resources/map-c6f20276b8781326.json.br +0 -0
  109. package/lib/endfield-map/resources/map-c6f20276b8781326.json.gz +0 -0
  110. package/lib/endfield-map/resources/map-d51adf5952af1e8e.png +0 -0
  111. package/lib/endfield-map/resources/map-d695eface22f8b74.json.br +0 -0
  112. package/lib/endfield-map/resources/map-d695eface22f8b74.json.gz +0 -0
  113. package/lib/endfield-map/resources/map-db11d394456a7465.png +0 -0
  114. package/lib/endfield-map/resources/map-dcc4d218581e3dc6.png +0 -0
  115. package/lib/endfield-map/resources/map-ddd43dbb8ab8a4e3.json.br +0 -0
  116. package/lib/endfield-map/resources/map-ddd43dbb8ab8a4e3.json.gz +0 -0
  117. package/lib/endfield-map/resources/map-defe5db7dabf748a.png +0 -0
  118. package/lib/endfield-map/resources/map-e1aeb833e22520aa.json.br +0 -0
  119. package/lib/endfield-map/resources/map-e1aeb833e22520aa.json.gz +0 -0
  120. package/lib/endfield-map/resources/map-e25ee9af6e493500.png +0 -0
  121. package/lib/endfield-map/resources/map-e3824082cd6f747d.json.br +0 -0
  122. package/lib/endfield-map/resources/map-e3824082cd6f747d.json.gz +0 -0
  123. package/lib/endfield-map/resources/map-e694a91e630b1bd6.png +0 -0
  124. package/lib/endfield-map/resources/map-eaa93af79d12a87d.png +0 -0
  125. package/lib/endfield-map/resources/map-ec9575ee65d7766f.json.br +0 -0
  126. package/lib/endfield-map/resources/map-ec9575ee65d7766f.json.gz +0 -0
  127. package/lib/endfield-map/resources/map-ede421a329dc78a4.png +0 -0
  128. package/lib/endfield-map/resources/map-eff3bce8f6888fc5.json.br +0 -0
  129. package/lib/endfield-map/resources/map-eff3bce8f6888fc5.json.gz +0 -0
  130. package/lib/endfield-map/resources/map-fb5f4a59a181452c.png +0 -0
  131. package/lib/endfield-map/resources/map-fdeaa17eeba90d8e.json.br +0 -0
  132. package/lib/endfield-map/resources/map-fdeaa17eeba90d8e.json.gz +0 -0
  133. package/lib/rhine/assets/archive-assembly.glb +0 -0
  134. package/lib/rhine/assets/archive-cassette.glb +0 -0
  135. package/lib/rhine/fonts/MiSans-Bold.woff2 +0 -0
  136. package/lib/rhine/fonts/MiSans-Demibold.woff2 +0 -0
  137. package/lib/rhine/fonts/MiSans-Light.woff2 +0 -0
  138. package/lib/rhine/fonts/MiSans-Regular.woff2 +0 -0
  139. package/lib/rhine/fonts/MiSans-license.pdf +0 -0
  140. package/lib/rhine/fonts/NOTICE.txt +6 -0
  141. package/lib/rhine/licenses/RhineLabUI-MIT.txt +21 -0
  142. package/lib/rhine/licenses/entities-BSD-2-Clause.txt +11 -0
  143. package/lib/rhine/licenses/linkify-it-MIT.txt +22 -0
  144. package/lib/rhine/licenses/markdown-it-MIT.txt +22 -0
  145. package/lib/rhine/licenses/mdurl-MIT.txt +45 -0
  146. package/lib/rhine/licenses/punycode.js-MIT.txt +20 -0
  147. package/lib/rhine/licenses/rolling-number-MIT.txt +21 -0
  148. package/lib/rhine/licenses/three-MIT.txt +21 -0
  149. package/lib/rhine/licenses/uc.micro-MIT.txt +20 -0
  150. package/lib/rhine/rhine.css +1 -0
  151. package/lib/rhine/rhine.js +5106 -0
  152. package/lib/skins/common.css +31 -0
  153. package/lib/skins/endfield-aic.css +141 -0
  154. package/lib/skins/prts-agent.css +136 -0
  155. package/lib/skins/rhine-lab.css +70 -0
  156. package/package.json +112 -0
  157. package/presets/definition.js +26 -0
  158. package/presets/prts/agent.cordis.yml +25 -0
  159. package/presets/prts/preset.yml +3 -0
  160. package/presets/register.js +86 -0
  161. package/resources/entity-routing.json +21 -0
  162. package/skills/prts-investigation/SKILL.md +121 -0
  163. package/skills/prts-retrieval/SKILL.md +35 -0
  164. package/skills/prts-retrieval/references/cloud-tools.md +13 -0
  165. package/skills/prts-retrieval/references/diagnostics.md +15 -0
  166. package/skills/prts-retrieval/references/local-tools.md +24 -0
  167. package/skills/prts-retrieval/references/module-arknights.md +23 -0
  168. package/skills/prts-retrieval/references/module-dual.md +15 -0
  169. package/skills/prts-retrieval/references/module-endfield.md +21 -0
  170. package/skills/prts-retrieval/references/retrieval-process.md +44 -0
  171. package/skills/prts-retrieval/references/retrieval-recipes-dual.md +34 -0
  172. package/skills/prts-retrieval/references/retrieval-recipes-endfield.md +37 -0
  173. package/skills/prts-retrieval/references/retrieval-recipes.md +39 -0
  174. package/skills/prts-retrieval/references/tools-runtime.md +48 -0
  175. package/skills/prts-retrieval/references/wiki-schema.md +38 -0
  176. package/src/archive-presentation.js +287 -0
  177. package/src/cloud-projection.js +124 -0
  178. package/src/cloud.js +498 -0
  179. package/src/entity-recognizer.js +311 -0
  180. package/src/entity-routing.js +82 -0
  181. package/src/evidence-state.js +332 -0
  182. package/src/i18n.js +365 -0
  183. package/src/index.js +1261 -0
  184. package/src/installer.js +1362 -0
  185. package/src/investigation-review.js +87 -0
  186. package/src/investigation-store.js +579 -0
  187. package/src/investigation-tools.js +113 -0
  188. package/src/localization-format.js +23 -0
  189. package/src/manual-search.js +103 -0
  190. package/src/read.js +1097 -0
  191. package/src/release-compatibility.js +73 -0
  192. package/src/release-watch.js +40 -0
  193. package/src/search-projection.js +139 -0
  194. package/src/search.js +1522 -0
  195. package/src/skill.js +98 -0
  196. package/src/source-map.js +348 -0
  197. package/src/state.js +314 -0
  198. package/src/store.js +1569 -0
  199. package/src/timeline.js +386 -0
  200. package/src/ui.js +1353 -0
  201. package/src/wiki.js +111 -0
  202. package/tsconfig.rhine.json +15 -0
  203. package/ui/rhine/archive-navigation-limit.ts +31 -0
  204. package/ui/rhine/archive-rack.ts +83 -0
  205. package/ui/rhine/assets/evidence-observatory.webp +0 -0
  206. package/ui/rhine/board-plane-transform.ts +24 -0
  207. package/ui/rhine/catalogue.ts +72 -0
  208. package/ui/rhine/deferred-preparation.ts +146 -0
  209. package/ui/rhine/evidence-board-controls.css +22 -0
  210. package/ui/rhine/evidence-board-history.ts +73 -0
  211. package/ui/rhine/evidence-board-model.ts +189 -0
  212. package/ui/rhine/evidence-board-panel.ts +762 -0
  213. package/ui/rhine/evidence-board-scene.ts +548 -0
  214. package/ui/rhine/evidence-board.css +191 -0
  215. package/ui/rhine/evidence-card-art.ts +470 -0
  216. package/ui/rhine/evidence-card-style.ts +17 -0
  217. package/ui/rhine/evidence-inbox-scene.ts +43 -0
  218. package/ui/rhine/evidence-inbox.css +29 -0
  219. package/ui/rhine/evidence-inbox.ts +104 -0
  220. package/ui/rhine/index.ts +12 -0
  221. package/ui/rhine/interaction.css +20 -0
  222. package/ui/rhine/investigation-board-plane.ts +5 -0
  223. package/ui/rhine/investigation-board.css +34 -0
  224. package/ui/rhine/investigation-board.ts +348 -0
  225. package/ui/rhine/investigation-edits.ts +46 -0
  226. package/ui/rhine/investigation-layout.ts +29 -0
  227. package/ui/rhine/label-prefetch.ts +34 -0
  228. package/ui/rhine/looping-title.ts +40 -0
  229. package/ui/rhine/manual-search.css +41 -0
  230. package/ui/rhine/manual-search.ts +89 -0
  231. package/ui/rhine/original/appearance.ts +180 -0
  232. package/ui/rhine/original/archive-label.ts +84 -0
  233. package/ui/rhine/original/archive-lighting.ts +39 -0
  234. package/ui/rhine/original/archive-loop.ts +82 -0
  235. package/ui/rhine/original/archive-refill.ts +64 -0
  236. package/ui/rhine/original/array-detail-data.ts +2 -0
  237. package/ui/rhine/original/array-detail.ts +41 -0
  238. package/ui/rhine/original/array-interior.ts +411 -0
  239. package/ui/rhine/original/array-occlusion.ts +166 -0
  240. package/ui/rhine/original/array-shell.ts +38 -0
  241. package/ui/rhine/original/array-visibility.ts +309 -0
  242. package/ui/rhine/original/asset-url.ts +4 -0
  243. package/ui/rhine/original/brand.ts +12 -0
  244. package/ui/rhine/original/cassette-lod.ts +81 -0
  245. package/ui/rhine/original/data.ts +21 -0
  246. package/ui/rhine/original/decryption.ts +185 -0
  247. package/ui/rhine/original/detail-signature.ts +18 -0
  248. package/ui/rhine/original/glass-reveal.ts +45 -0
  249. package/ui/rhine/original/internal-optics.ts +70 -0
  250. package/ui/rhine/original/label-renderer.ts +119 -0
  251. package/ui/rhine/original/label-textures.ts +117 -0
  252. package/ui/rhine/original/model-viewer.ts +658 -0
  253. package/ui/rhine/original/motion.ts +116 -0
  254. package/ui/rhine/original/opaque-backfaces.ts +64 -0
  255. package/ui/rhine/original/program-preparation.ts +111 -0
  256. package/ui/rhine/original/quality-renderer.ts +97 -0
  257. package/ui/rhine/original/quality-settings.ts +111 -0
  258. package/ui/rhine/original/render-quality.ts +163 -0
  259. package/ui/rhine/original/scene.ts +2051 -0
  260. package/ui/rhine/original/shelf-interior.ts +142 -0
  261. package/ui/rhine/original/ui-transitions.ts +111 -0
  262. package/ui/rhine/original/viewer-camera.ts +92 -0
  263. package/ui/rhine/original/viewport-layout.ts +41 -0
  264. package/ui/rhine/original-ui.css +2334 -0
  265. package/ui/rhine/readability.css +46 -0
  266. package/ui/rhine/reading-object.ts +96 -0
  267. package/ui/rhine/reading-origin.ts +28 -0
  268. package/ui/rhine/reading-room.css +55 -0
  269. package/ui/rhine/report-markdown.ts +98 -0
  270. package/ui/rhine/scene-edge-navigation.ts +84 -0
  271. package/ui/rhine/scene.ts +1726 -0
  272. package/ui/rhine/shelf-layout.ts +38 -0
  273. package/ui/rhine/snapshot-update-gate.ts +22 -0
  274. package/ui/rhine/source-reading.ts +15 -0
  275. package/ui/rhine/source-selection.css +164 -0
  276. package/ui/rhine/temporary-performance-observers.ts +163 -0
  277. package/ui/rhine/temporary-performance-panel.ts +124 -0
  278. package/ui/rhine/temporary-performance.css +19 -0
  279. package/ui/rhine/temporary-performance.ts +552 -0
  280. package/ui/rhine/temporary-render-diagnostics.ts +105 -0
  281. package/ui/rhine/tool-activity.ts +69 -0
  282. package/ui/rhine/types.ts +219 -0
  283. package/ui/rhine/visible-scene-hit.ts +13 -0
  284. package/ui/rhine/workbench.css +818 -0
  285. package/ui/rhine/workbench.ts +2245 -0
  286. package/ui/rhine/workspace-travel.ts +32 -0
  287. package/vite.rhine.config.ts +19 -0
@@ -0,0 +1,243 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://prts.chat/contracts/agent-cloud-tools-v1.schema.json",
4
+ "title": "PRTS Agent cloud retrieval tools",
5
+ "$defs": {
6
+ "identifier": {
7
+ "type": "string",
8
+ "minLength": 1,
9
+ "maxLength": 128,
10
+ "pattern": "^[A-Za-z0-9._:-]+$"
11
+ },
12
+ "nonEmptyString": {
13
+ "type": "string",
14
+ "minLength": 1,
15
+ "maxLength": 512
16
+ },
17
+ "stringList": {
18
+ "type": "array",
19
+ "maxItems": 100,
20
+ "uniqueItems": true,
21
+ "items": { "$ref": "#/$defs/nonEmptyString" }
22
+ },
23
+ "sourceType": {
24
+ "type": "string",
25
+ "enum": [
26
+ "entity_profile",
27
+ "entity_attachment",
28
+ "graph_entity",
29
+ "graph_relation",
30
+ "graph_event",
31
+ "csv_archive",
32
+ "csv_activity",
33
+ "csv_record",
34
+ "vector_original",
35
+ "vector_scene",
36
+ "vector_wiki",
37
+ "entity_attribute",
38
+ "travel_notes",
39
+ "classic_hit",
40
+ "timeline"
41
+ ]
42
+ },
43
+ "entity": {
44
+ "type": "object",
45
+ "additionalProperties": false,
46
+ "required": ["text", "official_name", "label"],
47
+ "properties": {
48
+ "text": { "$ref": "#/$defs/nonEmptyString" },
49
+ "official_name": { "type": "string", "minLength": 1, "maxLength": 512 },
50
+ "label": { "type": "string", "minLength": 1, "maxLength": 128 },
51
+ "start": { "type": "integer", "minimum": 0 },
52
+ "end": { "type": "integer", "minimum": 0 },
53
+ "is_group": { "type": "boolean" },
54
+ "members": {
55
+ "type": "array",
56
+ "maxItems": 100,
57
+ "items": { "$ref": "#/$defs/entity" }
58
+ }
59
+ }
60
+ },
61
+ "retrievalFilters": {
62
+ "description": "云端候选过滤条件。同一数组内取 OR,不同字段之间取 AND;只在后续精修轮使用已经确认的实体或来源范围。",
63
+ "type": "object",
64
+ "additionalProperties": false,
65
+ "properties": {
66
+ "entity_names": { "$ref": "#/$defs/stringList", "description": "规范实体名。" },
67
+ "entity_labels": { "$ref": "#/$defs/stringList", "description": "实体类型标签。" },
68
+ "activities": { "$ref": "#/$defs/stringList", "description": "活动展示名。" },
69
+ "story_ids": { "$ref": "#/$defs/stringList", "description": "稳定剧情 ID。" },
70
+ "story_codes": { "$ref": "#/$defs/stringList", "description": "关卡或篇目代码。" },
71
+ "source_files": { "$ref": "#/$defs/stringList", "description": "云端来源文件标记。" },
72
+ "doc_ids": { "$ref": "#/$defs/stringList", "description": "云端资料记录 ID。" },
73
+ "source_types": {
74
+ "type": "array",
75
+ "maxItems": 100,
76
+ "uniqueItems": true,
77
+ "items": { "$ref": "#/$defs/sourceType" }
78
+ },
79
+ "speakers": { "$ref": "#/$defs/stringList", "description": "结构化说话人;只匹配具有说话人字段的候选。" }
80
+ }
81
+ },
82
+ "retrievalLimits": {
83
+ "description": "后续精修轮的候选、最终来源和回答上下文预算;首轮省略以使用服务端默认值。",
84
+ "type": "object",
85
+ "additionalProperties": false,
86
+ "properties": {
87
+ "per_channel": {
88
+ "type": "object",
89
+ "additionalProperties": { "type": "integer", "minimum": 1, "maximum": 1000 }
90
+ },
91
+ "candidate_limit": { "type": "integer", "minimum": 1, "maximum": 1000 },
92
+ "final_limit": { "type": "integer", "minimum": 1, "maximum": 500 },
93
+ "context_chars": { "type": "integer", "minimum": 500, "maximum": 1000000 }
94
+ }
95
+ },
96
+ "retrievalThresholds": {
97
+ "description": "后续精修轮的最低检索分数;分数仅用于筛选,不代表事实正确。",
98
+ "type": "object",
99
+ "additionalProperties": false,
100
+ "properties": {
101
+ "per_channel": {
102
+ "type": "object",
103
+ "additionalProperties": { "type": "number" }
104
+ },
105
+ "minimum_score": { "type": "number" }
106
+ }
107
+ },
108
+ "retrievalOptions": {
109
+ "description": "高级检索控制。新意图的默认首轮必须省略;读取首轮结果并确认具体缺口后才选择性设置。",
110
+ "type": "object",
111
+ "additionalProperties": false,
112
+ "properties": {
113
+ "channels": {
114
+ "description": "仅执行这些主检索渠道;不是首轮必填项。",
115
+ "type": "array",
116
+ "minItems": 1,
117
+ "maxItems": 8,
118
+ "uniqueItems": true,
119
+ "items": { "$ref": "#/$defs/nonEmptyString" }
120
+ },
121
+ "exclude_channels": {
122
+ "description": "排除这些检索渠道。",
123
+ "type": "array",
124
+ "maxItems": 8,
125
+ "uniqueItems": true,
126
+ "items": { "$ref": "#/$defs/nonEmptyString" }
127
+ },
128
+ "query_variants": {
129
+ "description": "在原问题之外追加的等义或定向查询;必须保留原问题含义。",
130
+ "type": "array",
131
+ "maxItems": 8,
132
+ "uniqueItems": true,
133
+ "items": { "type": "string", "minLength": 1, "maxLength": 20000 }
134
+ },
135
+ "entity_overrides": {
136
+ "description": "使用已经确认的规范实体覆盖本轮自动实体链接。",
137
+ "type": "array",
138
+ "maxItems": 100,
139
+ "items": { "$ref": "#/$defs/entity" }
140
+ },
141
+ "filters": { "$ref": "#/$defs/retrievalFilters" },
142
+ "limits": { "$ref": "#/$defs/retrievalLimits" },
143
+ "thresholds": { "$ref": "#/$defs/retrievalThresholds" },
144
+ "validation": {
145
+ "description": "候选 LLM 审核方式:default 沿用产品默认,none 跳过,record_only 记录但不删除,llm 显式启用。",
146
+ "type": "string",
147
+ "enum": ["default", "none", "record_only", "llm"]
148
+ },
149
+ "search_intent": {
150
+ "description": "single_sentence_search 在用户只记得一句原文的大意、措辞可能不准时,专门对官方剧情单句向量表做模糊检索;quote_search 跨资料查结构化说话人台词、名词或近似引文;scene_search 查事件和场景。",
151
+ "type": "string",
152
+ "enum": ["quote_search", "scene_search", "single_sentence_search"]
153
+ },
154
+ "preprocess": { "type": "boolean", "description": "是否执行查询预处理。" },
155
+ "link_entities": { "type": "boolean", "description": "是否自动链接规范实体。" },
156
+ "attach_entity_profiles": { "type": "boolean", "description": "是否附加命中实体的资料卡。" },
157
+ "run_cleaner": { "type": "boolean", "description": "是否执行候选清洗与审核。" },
158
+ "append_fallback_original": { "type": "boolean", "description": "是否附加兜底原文检索。" },
159
+ "append_wiki": { "type": "boolean", "description": "是否附加自建 Wiki 检索。" },
160
+ "append_timeline": { "type": "boolean", "description": "是否附加时间线检索。" },
161
+ "include_raw_candidates": { "type": "boolean", "description": "响应投影偏好;首轮模型视图不含原始候选,完整候选仍可由 cloud_inspect 查看。" },
162
+ "include_rejected": { "type": "boolean", "description": "响应投影偏好;淘汰决定保留在可审计的服务端检索状态中。" },
163
+ "include_selected_sources": { "type": "boolean", "description": "响应投影偏好;浏览器用最终来源生成本地锚点,模型仅接收无正文 source_index。" },
164
+ "include_answer_context": { "type": "boolean", "description": "是否返回与主站相同的 Cleaner 有界回答材料;Agent 首轮固定启用。" },
165
+ "include_events": { "type": "boolean", "description": "响应投影偏好;事件默认只通过 cloud_inspect 查看。" },
166
+ "include_trace": { "type": "boolean", "description": "响应投影偏好;trace 默认只通过 cloud_inspect 查看。" },
167
+ "timeout_ms": { "type": "integer", "minimum": 100, "maximum": 300000, "description": "本轮云端检索总超时毫秒数。" }
168
+ }
169
+ },
170
+ "cloudSearchRequest": {
171
+ "description": "执行一轮云端组合检索。新意图首轮通常只提交 intent_id 和完整自然语言 query;用户只记得一句原文的大意且需要模糊定位时,可在首轮设置 options.search_intent=single_sentence_search。",
172
+ "type": "object",
173
+ "additionalProperties": false,
174
+ "required": ["intent_id", "query"],
175
+ "properties": {
176
+ "intent_id": { "$ref": "#/$defs/identifier", "description": "同一用户检索意图跨轮复用的稳定 ID。" },
177
+ "request_id": { "$ref": "#/$defs/identifier", "description": "本次实际云端调用 ID;省略时由运行时生成。" },
178
+ "round_id": { "$ref": "#/$defs/identifier", "description": "同一意图内的云端检索轮次;省略时由运行时生成。" },
179
+ "query": { "type": "string", "minLength": 1, "maxLength": 20000,
180
+ "description": "首轮提交完整自然语言问题;可以保留原问题或在不改变含义与问题结构的前提下润色,不能退化为分词后的关键词堆砌。" },
181
+ "games": {
182
+ "type": "array",
183
+ "minItems": 1,
184
+ "maxItems": 2,
185
+ "uniqueItems": true,
186
+ "items": { "type": "string", "enum": ["arknights", "endfield"] },
187
+ "description": "检索的游戏语料域;省略时同一次调用同时检索明日方舟与终末地。只有用户明确限定游戏时才收窄。"
188
+ },
189
+ "depth": { "type": "string", "enum": ["fast", "standard", "deep"], "description": "云端检索深度;首轮省略以使用产品默认。" },
190
+ "evidence_policy": { "type": "string", "enum": ["mixed", "original_only"], "description": "mixed 允许多资料来源,original_only 将最终来源限制为原文类;首轮通常省略。" },
191
+ "options": { "$ref": "#/$defs/retrievalOptions", "description": "高级检索控制;新意图首轮通常省略。明确需要模糊检索单句原文时,首轮可只设置 search_intent=single_sentence_search;其他参数在确认召回缺口后再选择性设置。" }
192
+ }
193
+ },
194
+ "cloudInspectRequest": {
195
+ "description": "过滤或重读指定 request_id 的云端检索状态;首轮 cloud_search 已交付主站同款回答工作集,诊断和来源全文按需读取。",
196
+ "type": "object",
197
+ "additionalProperties": false,
198
+ "required": ["request_id"],
199
+ "properties": {
200
+ "request_id": { "$ref": "#/$defs/identifier", "description": "cloud_search 返回的 request_id。" },
201
+ "section": {
202
+ "description": "summary 为概览,candidates 为原始候选与决定,selected_sources 为最终来源,answer_context 为组合回答材料,events/trace_steps 仅用于诊断。",
203
+ "type": "string",
204
+ "enum": ["summary", "candidates", "selected_sources", "events", "trace_steps", "answer_context"]
205
+ },
206
+ "cursor": { "type": "integer", "minimum": 0, "description": "数值分页起点;首次省略,后续使用响应的 next_cursor。" },
207
+ "limit": { "type": "integer", "minimum": 1, "maximum": 200, "description": "本页最多返回的条目数;服务端默认 50。" },
208
+ "channels": { "$ref": "#/$defs/stringList" },
209
+ "games": {
210
+ "type": "array", "maxItems": 2, "uniqueItems": true,
211
+ "items": { "type": "string", "enum": ["arknights", "endfield"] },
212
+ "description": "只查看指定游戏的候选、来源或事件;省略时查看联合状态。"
213
+ },
214
+ "query_variants": { "$ref": "#/$defs/stringList" },
215
+ "retrievers": { "$ref": "#/$defs/stringList" },
216
+ "source_types": {
217
+ "type": "array",
218
+ "maxItems": 100,
219
+ "uniqueItems": true,
220
+ "items": { "$ref": "#/$defs/sourceType" }
221
+ },
222
+ "statuses": {
223
+ "type": "array",
224
+ "maxItems": 100,
225
+ "uniqueItems": true,
226
+ "items": {
227
+ "type": "string",
228
+ "enum": ["retrieved", "kept", "filtered", "discarded", "error"]
229
+ }
230
+ },
231
+ "stages": { "$ref": "#/$defs/stringList" },
232
+ "candidate_ids": { "$ref": "#/$defs/stringList" },
233
+ "evidence_ids": { "$ref": "#/$defs/stringList" },
234
+ "event_sequence_from": { "type": "integer", "minimum": 1 },
235
+ "event_sequence_to": { "type": "integer", "minimum": 1 },
236
+ "event_time_from": { "type": "string", "format": "date-time" },
237
+ "event_time_to": { "type": "string", "format": "date-time" },
238
+ "content_mode": { "type": "string", "enum": ["none", "preview", "full"], "description": "none 隐去正文字段,preview 返回受限正文,full 返回本页完整正文;默认 preview。" },
239
+ "content_max_chars": { "type": "integer", "minimum": 100, "maximum": 100000, "description": "preview 模式下每个正文字段的最大字符数;默认 1200。" }
240
+ }
241
+ }
242
+ }
243
+ }
@@ -0,0 +1,179 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "corpus_i18n v1",
4
+ "description": "Official localization lookup. Internal text IDs are opt-in; no generated translation.",
5
+ "$defs": {
6
+ "request": {
7
+ "type": "object",
8
+ "additionalProperties": false,
9
+ "required": [
10
+ "languages"
11
+ ],
12
+ "properties": {
13
+ "game": {
14
+ "type": "string",
15
+ "enum": [
16
+ "endfield"
17
+ ],
18
+ "description": "当前支持终末地官方资料"
19
+ },
20
+ "query": {
21
+ "type": "string",
22
+ "description": "名称或原句;仅有片段时使用 match_mode=literal"
23
+ },
24
+ "title": {
25
+ "type": "string",
26
+ "description": "已有检索结果的完整篇章标题,与 query/document_uid/text_ids 四选一"
27
+ },
28
+ "document_uid": {
29
+ "type": "string",
30
+ "description": "已有检索结果的文档定位,替代 title"
31
+ },
32
+ "line": {
33
+ "type": "integer",
34
+ "description": "已有中文结果中的行号,只用于定位对应文本/记录"
35
+ },
36
+ "text_ids": {
37
+ "type": "array",
38
+ "items": {
39
+ "type": "string"
40
+ },
41
+ "description": "显式请求 ID 后可用于精确复查;普通查询不需要"
42
+ },
43
+ "source_language": {
44
+ "type": "string",
45
+ "description": "原句的语言,默认 CN;也接受 en/ja/ko/zh-CN 等标准代码"
46
+ },
47
+ "languages": {
48
+ "type": "array",
49
+ "items": {
50
+ "type": "string"
51
+ },
52
+ "description": "1–4 种目标语言:CN/EN/JP/KR/TC/MX/BR/FR/DE/RU/IT/ID/TH/VN"
53
+ },
54
+ "match_mode": {
55
+ "type": "string",
56
+ "enum": [
57
+ "exact",
58
+ "literal"
59
+ ],
60
+ "description": "原句精确匹配或字面量片段搜索,默认 exact"
61
+ },
62
+ "include_ids": {
63
+ "type": "boolean",
64
+ "description": "默认 false;仅调试、核验或精确复查时返回内部文本 ID 与来源字段"
65
+ },
66
+ "max_matches": {
67
+ "type": "integer",
68
+ "description": "每页候选数,默认 5,最多 20"
69
+ },
70
+ "max_chars": {
71
+ "type": "integer",
72
+ "description": "每页原文和译文的字符预算,默认 16000,范围 1000–48000"
73
+ },
74
+ "data_version": {
75
+ "type": "string",
76
+ "description": "绑定已有结果的资料版本,避免混用版本"
77
+ },
78
+ "after": {
79
+ "type": "object",
80
+ "additionalProperties": false,
81
+ "required": [
82
+ "data_version",
83
+ "request_hash",
84
+ "position",
85
+ "text_offset"
86
+ ],
87
+ "properties": {
88
+ "data_version": {
89
+ "type": "string"
90
+ },
91
+ "request_hash": {
92
+ "type": "string"
93
+ },
94
+ "position": {
95
+ "type": "integer"
96
+ },
97
+ "text_offset": {
98
+ "type": "integer"
99
+ }
100
+ },
101
+ "description": "仅原样提交工具返回的续页位置;长记录会明确分块返回"
102
+ }
103
+ }
104
+ },
105
+ "response": {
106
+ "type": "object",
107
+ "properties": {
108
+ "status": {
109
+ "type": "string",
110
+ "enum": [
111
+ "ok",
112
+ "not_found",
113
+ "unmapped_source",
114
+ "unavailable"
115
+ ]
116
+ },
117
+ "game": {
118
+ "type": "string"
119
+ },
120
+ "data_version": {
121
+ "type": "string"
122
+ },
123
+ "game_version": {
124
+ "type": "string"
125
+ },
126
+ "source_language": {
127
+ "type": "string"
128
+ },
129
+ "languages": {
130
+ "type": "array",
131
+ "items": {
132
+ "type": "string"
133
+ }
134
+ },
135
+ "matches": {
136
+ "type": "array",
137
+ "items": {
138
+ "type": "object",
139
+ "properties": {
140
+ "source": {
141
+ "type": "object"
142
+ },
143
+ "translations": {
144
+ "type": "object"
145
+ },
146
+ "references": {
147
+ "type": "array",
148
+ "items": {
149
+ "type": "object"
150
+ }
151
+ },
152
+ "reference_count": {
153
+ "type": "integer"
154
+ },
155
+ "text_id": {
156
+ "type": "string"
157
+ },
158
+ "source_fields": {
159
+ "type": "array",
160
+ "items": {
161
+ "type": "object"
162
+ }
163
+ }
164
+ }
165
+ }
166
+ },
167
+ "page": {
168
+ "type": "object"
169
+ },
170
+ "message": {
171
+ "type": "string"
172
+ },
173
+ "note": {
174
+ "type": "string"
175
+ }
176
+ }
177
+ }
178
+ }
179
+ }