wiki-graph-core 0.3.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.
Files changed (576) hide show
  1. package/LICENSE +201 -0
  2. package/data/editor/clue_reviewer.jinja +410 -0
  3. package/data/editor/clue_reviewer_generator.jinja +428 -0
  4. package/data/editor/revision_feedback.jinja +5 -0
  5. package/data/editor/text_compressor.jinja +127 -0
  6. package/data/guaranteed/response_intent_classifier.jinja +8 -0
  7. package/data/help/commands/archive/next.jinja +29 -0
  8. package/data/help/commands/gc.jinja +38 -0
  9. package/data/help/commands/legacy/migrate.jinja +20 -0
  10. package/data/help/commands/legacy.jinja +19 -0
  11. package/data/help/commands/maintenance/chapter/add.jinja +41 -0
  12. package/data/help/commands/maintenance/chapter/list.jinja +33 -0
  13. package/data/help/commands/maintenance/chapter/move.jinja +36 -0
  14. package/data/help/commands/maintenance/chapter/remove.jinja +26 -0
  15. package/data/help/commands/maintenance/chapter/reset.jinja +29 -0
  16. package/data/help/commands/maintenance/chapter/set-source.jinja +34 -0
  17. package/data/help/commands/maintenance/chapter/set-summary.jinja +31 -0
  18. package/data/help/commands/maintenance/chapter/set-title.jinja +29 -0
  19. package/data/help/commands/maintenance/chapter/tree.jinja +58 -0
  20. package/data/help/commands/maintenance/chapter.jinja +59 -0
  21. package/data/help/commands/maintenance/cover.jinja +28 -0
  22. package/data/help/commands/maintenance/meta.jinja +55 -0
  23. package/data/help/commands/predicate.jinja +460 -0
  24. package/data/help/commands/root.jinja +83 -0
  25. package/data/help/commands/transform.jinja +34 -0
  26. package/data/help/commands/uri.jinja +274 -0
  27. package/data/help/topics/config.jinja +88 -0
  28. package/data/help/topics/format.jinja +72 -0
  29. package/data/help/topics/readiness.jinja +99 -0
  30. package/data/help/topics/recipe.jinja +151 -0
  31. package/data/help/topics/runtime.jinja +62 -0
  32. package/data/help/topics/uri.jinja +178 -0
  33. package/data/output/epub/cover.xhtml.jinja +13 -0
  34. package/data/output/epub/nav.xhtml.jinja +12 -0
  35. package/data/output/epub/package.opf.xml.jinja +39 -0
  36. package/data/output/epub/section.xhtml.jinja +12 -0
  37. package/data/topologization/book_coherence_extraction.jinja +223 -0
  38. package/data/topologization/chunk_extraction.jinja +233 -0
  39. package/data/topologization/evidence_choice.jinja +38 -0
  40. package/data/topologization/translate_chunks.jinja +138 -0
  41. package/data/topologization/user_focused_extraction.jinja +378 -0
  42. package/dist/archive/query/archive-view.d.ts +26 -0
  43. package/dist/archive/query/archive-view.js +4540 -0
  44. package/dist/archive/query/archive-view.js.map +1 -0
  45. package/dist/archive/query/continuation-cursor.d.ts +61 -0
  46. package/dist/archive/query/continuation-cursor.js +363 -0
  47. package/dist/archive/query/continuation-cursor.js.map +1 -0
  48. package/dist/archive/query/index.d.ts +29 -0
  49. package/dist/archive/query/index.js +63 -0
  50. package/dist/archive/query/index.js.map +1 -0
  51. package/dist/archive/query/lexical-search.d.ts +22 -0
  52. package/dist/archive/query/lexical-search.js +137 -0
  53. package/dist/archive/query/lexical-search.js.map +1 -0
  54. package/dist/archive/query/search-cache.d.ts +192 -0
  55. package/dist/archive/query/search-cache.js +1248 -0
  56. package/dist/archive/query/search-cache.js.map +1 -0
  57. package/dist/archive/search-index/index.d.ts +26 -0
  58. package/dist/archive/search-index/index.js +29 -0
  59. package/dist/archive/search-index/index.js.map +1 -0
  60. package/dist/archive/search-index/search-index.d.ts +26 -0
  61. package/dist/archive/search-index/search-index.js +555 -0
  62. package/dist/archive/search-index/search-index.js.map +1 -0
  63. package/dist/archive/search-index/search-tokenizer.d.ts +16 -0
  64. package/dist/archive/search-index/search-tokenizer.js +225 -0
  65. package/dist/archive/search-index/search-tokenizer.js.map +1 -0
  66. package/dist/common/cli-command.d.ts +4 -0
  67. package/dist/common/cli-command.js +7 -0
  68. package/dist/common/cli-command.js.map +1 -0
  69. package/dist/common/data-dir.d.ts +3 -0
  70. package/dist/common/data-dir.js +48 -0
  71. package/dist/common/data-dir.js.map +1 -0
  72. package/dist/common/language.d.ts +55 -0
  73. package/dist/common/language.js +208 -0
  74. package/dist/common/language.js.map +1 -0
  75. package/dist/common/llm-scope.d.ts +19 -0
  76. package/dist/common/llm-scope.js +31 -0
  77. package/dist/common/llm-scope.js.map +1 -0
  78. package/dist/common/logging.d.ts +22 -0
  79. package/dist/common/logging.js +141 -0
  80. package/dist/common/logging.js.map +1 -0
  81. package/dist/common/template.d.ts +8 -0
  82. package/dist/common/template.js +54 -0
  83. package/dist/common/template.js.map +1 -0
  84. package/dist/common/tinyld-language.d.ts +6 -0
  85. package/dist/common/tinyld-language.js +34 -0
  86. package/dist/common/tinyld-language.js.map +1 -0
  87. package/dist/common/wiki-graph-dir.d.ts +10 -0
  88. package/dist/common/wiki-graph-dir.js +41 -0
  89. package/dist/common/wiki-graph-dir.js.map +1 -0
  90. package/dist/common/wiki-graph-temp.d.ts +6 -0
  91. package/dist/common/wiki-graph-temp.js +21 -0
  92. package/dist/common/wiki-graph-temp.js.map +1 -0
  93. package/dist/common/wiki-graph-uri.d.ts +28 -0
  94. package/dist/common/wiki-graph-uri.js +171 -0
  95. package/dist/common/wiki-graph-uri.js.map +1 -0
  96. package/dist/context/index.d.ts +1 -0
  97. package/dist/context/index.js +13 -0
  98. package/dist/context/index.js.map +1 -0
  99. package/dist/context/task-context.d.ts +41 -0
  100. package/dist/context/task-context.js +111 -0
  101. package/dist/context/task-context.js.map +1 -0
  102. package/dist/document/database.d.ts +30 -0
  103. package/dist/document/database.js +273 -0
  104. package/dist/document/database.js.map +1 -0
  105. package/dist/document/document.d.ts +153 -0
  106. package/dist/document/document.js +615 -0
  107. package/dist/document/document.js.map +1 -0
  108. package/dist/document/fragments.d.ts +63 -0
  109. package/dist/document/fragments.js +371 -0
  110. package/dist/document/fragments.js.map +1 -0
  111. package/dist/document/index.d.ts +13 -0
  112. package/dist/document/index.js +62 -0
  113. package/dist/document/index.js.map +1 -0
  114. package/dist/document/schema.d.ts +8 -0
  115. package/dist/document/schema.js +472 -0
  116. package/dist/document/schema.js.map +1 -0
  117. package/dist/document/shared-state-database.d.ts +9 -0
  118. package/dist/document/shared-state-database.js +193 -0
  119. package/dist/document/shared-state-database.js.map +1 -0
  120. package/dist/document/stores.d.ts +203 -0
  121. package/dist/document/stores.js +1678 -0
  122. package/dist/document/stores.js.map +1 -0
  123. package/dist/document/text-streams.d.ts +86 -0
  124. package/dist/document/text-streams.js +515 -0
  125. package/dist/document/text-streams.js.map +1 -0
  126. package/dist/document/types.d.ts +148 -0
  127. package/dist/document/types.js +69 -0
  128. package/dist/document/types.js.map +1 -0
  129. package/dist/editor/clue.d.ts +27 -0
  130. package/dist/editor/clue.js +158 -0
  131. package/dist/editor/clue.js.map +1 -0
  132. package/dist/editor/compressor.d.ts +18 -0
  133. package/dist/editor/compressor.js +68 -0
  134. package/dist/editor/compressor.js.map +1 -0
  135. package/dist/editor/editor.d.ts +39 -0
  136. package/dist/editor/editor.js +253 -0
  137. package/dist/editor/editor.js.map +1 -0
  138. package/dist/editor/feedback.d.ts +16 -0
  139. package/dist/editor/feedback.js +104 -0
  140. package/dist/editor/feedback.js.map +1 -0
  141. package/dist/editor/index.d.ts +17 -0
  142. package/dist/editor/index.js +5 -0
  143. package/dist/editor/index.js.map +1 -0
  144. package/dist/editor/language-review.d.ts +14 -0
  145. package/dist/editor/language-review.js +35 -0
  146. package/dist/editor/language-review.js.map +1 -0
  147. package/dist/editor/log.d.ts +37 -0
  148. package/dist/editor/log.js +202 -0
  149. package/dist/editor/log.js.map +1 -0
  150. package/dist/editor/markup.d.ts +20 -0
  151. package/dist/editor/markup.js +294 -0
  152. package/dist/editor/markup.js.map +1 -0
  153. package/dist/editor/prompt-templates.d.ts +6 -0
  154. package/dist/editor/prompt-templates.js +11 -0
  155. package/dist/editor/prompt-templates.js.map +1 -0
  156. package/dist/editor/response.d.ts +5 -0
  157. package/dist/editor/response.js +31 -0
  158. package/dist/editor/response.js.map +1 -0
  159. package/dist/editor/review.d.ts +34 -0
  160. package/dist/editor/review.js +189 -0
  161. package/dist/editor/review.js.map +1 -0
  162. package/dist/editor/types.d.ts +31 -0
  163. package/dist/editor/types.js +21 -0
  164. package/dist/editor/types.js.map +1 -0
  165. package/dist/evidence-selection/anchor-resolver.d.ts +43 -0
  166. package/dist/evidence-selection/anchor-resolver.js +783 -0
  167. package/dist/evidence-selection/anchor-resolver.js.map +1 -0
  168. package/dist/evidence-selection/anchor-types.d.ts +27 -0
  169. package/dist/evidence-selection/anchor-types.js +1 -0
  170. package/dist/evidence-selection/anchor-types.js.map +1 -0
  171. package/dist/evidence-selection/index.d.ts +8 -0
  172. package/dist/evidence-selection/index.js +32 -0
  173. package/dist/evidence-selection/index.js.map +1 -0
  174. package/dist/evidence-selection/prompt.d.ts +18 -0
  175. package/dist/evidence-selection/prompt.js +54 -0
  176. package/dist/evidence-selection/prompt.js.map +1 -0
  177. package/dist/evidence-selection/quote-score.d.ts +29 -0
  178. package/dist/evidence-selection/quote-score.js +331 -0
  179. package/dist/evidence-selection/quote-score.js.map +1 -0
  180. package/dist/evidence-selection/selection-resolver.d.ts +19 -0
  181. package/dist/evidence-selection/selection-resolver.js +303 -0
  182. package/dist/evidence-selection/selection-resolver.js.map +1 -0
  183. package/dist/evidence-selection/text.d.ts +4 -0
  184. package/dist/evidence-selection/text.js +66 -0
  185. package/dist/evidence-selection/text.js.map +1 -0
  186. package/dist/evidence-selection/types.d.ts +36 -0
  187. package/dist/evidence-selection/types.js +1 -0
  188. package/dist/evidence-selection/types.js.map +1 -0
  189. package/dist/facade/app.d.ts +75 -0
  190. package/dist/facade/app.js +141 -0
  191. package/dist/facade/app.js.map +1 -0
  192. package/dist/facade/build-queue.d.ts +181 -0
  193. package/dist/facade/build-queue.js +1442 -0
  194. package/dist/facade/build-queue.js.map +1 -0
  195. package/dist/facade/chapter-build.d.ts +60 -0
  196. package/dist/facade/chapter-build.js +1020 -0
  197. package/dist/facade/chapter-build.js.map +1 -0
  198. package/dist/facade/chapter.d.ts +168 -0
  199. package/dist/facade/chapter.js +944 -0
  200. package/dist/facade/chapter.js.map +1 -0
  201. package/dist/facade/digest.d.ts +55 -0
  202. package/dist/facade/digest.js +168 -0
  203. package/dist/facade/digest.js.map +1 -0
  204. package/dist/facade/graph.d.ts +60 -0
  205. package/dist/facade/graph.js +203 -0
  206. package/dist/facade/graph.js.map +1 -0
  207. package/dist/facade/import.d.ts +49 -0
  208. package/dist/facade/import.js +262 -0
  209. package/dist/facade/import.js.map +1 -0
  210. package/dist/facade/index.d.ts +39 -0
  211. package/dist/facade/index.js +171 -0
  212. package/dist/facade/index.js.map +1 -0
  213. package/dist/facade/knowledge-graph-build.d.ts +75 -0
  214. package/dist/facade/knowledge-graph-build.js +897 -0
  215. package/dist/facade/knowledge-graph-build.js.map +1 -0
  216. package/dist/facade/llm-sampling.d.ts +11 -0
  217. package/dist/facade/llm-sampling.js +58 -0
  218. package/dist/facade/llm-sampling.js.map +1 -0
  219. package/dist/facade/types.d.ts +8 -0
  220. package/dist/facade/types.js +1 -0
  221. package/dist/facade/types.js.map +1 -0
  222. package/dist/facade/wiki-graph-archive.d.ts +41 -0
  223. package/dist/facade/wiki-graph-archive.js +130 -0
  224. package/dist/facade/wiki-graph-archive.js.map +1 -0
  225. package/dist/gc/files.d.ts +15 -0
  226. package/dist/gc/files.js +141 -0
  227. package/dist/gc/files.js.map +1 -0
  228. package/dist/gc/index.d.ts +2 -0
  229. package/dist/gc/index.js +5 -0
  230. package/dist/gc/index.js.map +1 -0
  231. package/dist/gc/lock.d.ts +3 -0
  232. package/dist/gc/lock.js +137 -0
  233. package/dist/gc/lock.js.map +1 -0
  234. package/dist/gc/runner.d.ts +9 -0
  235. package/dist/gc/runner.js +129 -0
  236. package/dist/gc/runner.js.map +1 -0
  237. package/dist/gc/tmp-gc.d.ts +5 -0
  238. package/dist/gc/tmp-gc.js +57 -0
  239. package/dist/gc/tmp-gc.js.map +1 -0
  240. package/dist/gc/types.d.ts +24 -0
  241. package/dist/gc/types.js +1 -0
  242. package/dist/gc/types.js.map +1 -0
  243. package/dist/gc.cjs +10041 -0
  244. package/dist/gc.cjs.map +1 -0
  245. package/dist/gc.d.cts +10 -0
  246. package/dist/gc.d.ts +2 -0
  247. package/dist/gc.js +5 -0
  248. package/dist/gc.js.map +1 -0
  249. package/dist/guaranteed/classifier.d.ts +10 -0
  250. package/dist/guaranteed/classifier.js +88 -0
  251. package/dist/guaranteed/classifier.js.map +1 -0
  252. package/dist/guaranteed/errors.d.ts +38 -0
  253. package/dist/guaranteed/errors.js +73 -0
  254. package/dist/guaranteed/errors.js.map +1 -0
  255. package/dist/guaranteed/index.d.ts +7 -0
  256. package/dist/guaranteed/index.js +21 -0
  257. package/dist/guaranteed/index.js.map +1 -0
  258. package/dist/guaranteed/request.d.ts +8 -0
  259. package/dist/guaranteed/request.js +206 -0
  260. package/dist/guaranteed/request.js.map +1 -0
  261. package/dist/guaranteed/response.d.ts +12 -0
  262. package/dist/guaranteed/response.js +98 -0
  263. package/dist/guaranteed/response.js.map +1 -0
  264. package/dist/guaranteed/types.d.ts +20 -0
  265. package/dist/guaranteed/types.js +1 -0
  266. package/dist/guaranteed/types.js.map +1 -0
  267. package/dist/index-B8NNnQ8P.d.ts +424 -0
  268. package/dist/index.cjs +34774 -0
  269. package/dist/index.cjs.map +1 -0
  270. package/dist/index.d.cts +2462 -0
  271. package/dist/index.d.ts +79 -0
  272. package/dist/index.js +168 -0
  273. package/dist/index.js.map +1 -0
  274. package/dist/legacy-sdpub/upgrade.d.ts +7 -0
  275. package/dist/legacy-sdpub/upgrade.js +795 -0
  276. package/dist/legacy-sdpub/upgrade.js.map +1 -0
  277. package/dist/llm/cache.d.ts +13 -0
  278. package/dist/llm/cache.js +35 -0
  279. package/dist/llm/cache.js.map +1 -0
  280. package/dist/llm/client.d.ts +26 -0
  281. package/dist/llm/client.js +572 -0
  282. package/dist/llm/client.js.map +1 -0
  283. package/dist/llm/context.d.ts +22 -0
  284. package/dist/llm/context.js +78 -0
  285. package/dist/llm/context.js.map +1 -0
  286. package/dist/llm/errors.d.ts +7 -0
  287. package/dist/llm/errors.js +12 -0
  288. package/dist/llm/errors.js.map +1 -0
  289. package/dist/llm/index.d.ts +7 -0
  290. package/dist/llm/index.js +17 -0
  291. package/dist/llm/index.js.map +1 -0
  292. package/dist/llm/request-log.d.ts +9 -0
  293. package/dist/llm/request-log.js +35 -0
  294. package/dist/llm/request-log.js.map +1 -0
  295. package/dist/llm/sampling.d.ts +11 -0
  296. package/dist/llm/sampling.js +67 -0
  297. package/dist/llm/sampling.js.map +1 -0
  298. package/dist/llm/types.d.ts +50 -0
  299. package/dist/llm/types.js +1 -0
  300. package/dist/llm/types.js.map +1 -0
  301. package/dist/output/epub/archive.d.ts +9 -0
  302. package/dist/output/epub/archive.js +81 -0
  303. package/dist/output/epub/archive.js.map +1 -0
  304. package/dist/output/epub/book.d.ts +15 -0
  305. package/dist/output/epub/book.js +76 -0
  306. package/dist/output/epub/book.js.map +1 -0
  307. package/dist/output/epub/content.d.ts +9 -0
  308. package/dist/output/epub/content.js +35 -0
  309. package/dist/output/epub/content.js.map +1 -0
  310. package/dist/output/epub/index.d.ts +20 -0
  311. package/dist/output/epub/index.js +14 -0
  312. package/dist/output/epub/index.js.map +1 -0
  313. package/dist/output/epub/model.d.ts +24 -0
  314. package/dist/output/epub/model.js +1 -0
  315. package/dist/output/epub/model.js.map +1 -0
  316. package/dist/output/epub/navigation.d.ts +10 -0
  317. package/dist/output/epub/navigation.js +39 -0
  318. package/dist/output/epub/navigation.js.map +1 -0
  319. package/dist/output/epub/package.d.ts +17 -0
  320. package/dist/output/epub/package.js +29 -0
  321. package/dist/output/epub/package.js.map +1 -0
  322. package/dist/output/epub/shared.d.ts +4 -0
  323. package/dist/output/epub/shared.js +12 -0
  324. package/dist/output/epub/shared.js.map +1 -0
  325. package/dist/output/epub/templates.d.ts +35 -0
  326. package/dist/output/epub/templates.js +26 -0
  327. package/dist/output/epub/templates.js.map +1 -0
  328. package/dist/output/index.d.ts +14 -0
  329. package/dist/output/index.js +11 -0
  330. package/dist/output/index.js.map +1 -0
  331. package/dist/output/plain-text.d.ts +18 -0
  332. package/dist/output/plain-text.js +56 -0
  333. package/dist/output/plain-text.js.map +1 -0
  334. package/dist/progress/index.d.ts +3 -0
  335. package/dist/progress/index.js +14 -0
  336. package/dist/progress/index.js.map +1 -0
  337. package/dist/progress/reporter.d.ts +10 -0
  338. package/dist/progress/reporter.js +79 -0
  339. package/dist/progress/reporter.js.map +1 -0
  340. package/dist/progress/tracker.d.ts +37 -0
  341. package/dist/progress/tracker.js +119 -0
  342. package/dist/progress/tracker.js.map +1 -0
  343. package/dist/progress/types.d.ts +28 -0
  344. package/dist/progress/types.js +1 -0
  345. package/dist/progress/types.js.map +1 -0
  346. package/dist/reader/attention/attention.d.ts +39 -0
  347. package/dist/reader/attention/attention.js +123 -0
  348. package/dist/reader/attention/attention.js.map +1 -0
  349. package/dist/reader/attention/index.d.ts +9 -0
  350. package/dist/reader/attention/index.js +5 -0
  351. package/dist/reader/attention/index.js.map +1 -0
  352. package/dist/reader/attention/wave-reflection.d.ts +21 -0
  353. package/dist/reader/attention/wave-reflection.js +153 -0
  354. package/dist/reader/attention/wave-reflection.js.map +1 -0
  355. package/dist/reader/attention/working-memory.d.ts +28 -0
  356. package/dist/reader/attention/working-memory.js +62 -0
  357. package/dist/reader/attention/working-memory.js.map +1 -0
  358. package/dist/reader/chunk-batch/extract.d.ts +13 -0
  359. package/dist/reader/chunk-batch/extract.js +14 -0
  360. package/dist/reader/chunk-batch/extract.js.map +1 -0
  361. package/dist/reader/chunk-batch/extractor.d.ts +17 -0
  362. package/dist/reader/chunk-batch/extractor.js +337 -0
  363. package/dist/reader/chunk-batch/extractor.js.map +1 -0
  364. package/dist/reader/chunk-batch/fragment-projection.d.ts +34 -0
  365. package/dist/reader/chunk-batch/fragment-projection.js +94 -0
  366. package/dist/reader/chunk-batch/fragment-projection.js.map +1 -0
  367. package/dist/reader/chunk-batch/index.d.ts +12 -0
  368. package/dist/reader/chunk-batch/index.js +13 -0
  369. package/dist/reader/chunk-batch/index.js.map +1 -0
  370. package/dist/reader/chunk-batch/language.d.ts +9 -0
  371. package/dist/reader/chunk-batch/language.js +23 -0
  372. package/dist/reader/chunk-batch/language.js.map +1 -0
  373. package/dist/reader/chunk-batch/parser.d.ts +94 -0
  374. package/dist/reader/chunk-batch/parser.js +640 -0
  375. package/dist/reader/chunk-batch/parser.js.map +1 -0
  376. package/dist/reader/chunk-batch/prompt-templates.d.ts +6 -0
  377. package/dist/reader/chunk-batch/prompt-templates.js +11 -0
  378. package/dist/reader/chunk-batch/prompt-templates.js.map +1 -0
  379. package/dist/reader/chunk-batch/types.d.ts +85 -0
  380. package/dist/reader/chunk-batch/types.js +1 -0
  381. package/dist/reader/chunk-batch/types.js.map +1 -0
  382. package/dist/reader/index.d.ts +13 -0
  383. package/dist/reader/index.js +7 -0
  384. package/dist/reader/index.js.map +1 -0
  385. package/dist/reader/reader.d.ts +37 -0
  386. package/dist/reader/reader.js +82 -0
  387. package/dist/reader/reader.js.map +1 -0
  388. package/dist/reader/segment/index.d.ts +2 -0
  389. package/dist/reader/segment/index.js +5 -0
  390. package/dist/reader/segment/index.js.map +1 -0
  391. package/dist/reader/segment/intl-segmenter.d.ts +5 -0
  392. package/dist/reader/segment/intl-segmenter.js +102 -0
  393. package/dist/reader/segment/intl-segmenter.js.map +1 -0
  394. package/dist/reader/segment/segment.d.ts +5 -0
  395. package/dist/reader/segment/segment.js +9 -0
  396. package/dist/reader/segment/segment.js.map +1 -0
  397. package/dist/reader/segment/types.d.ts +14 -0
  398. package/dist/reader/segment/types.js +1 -0
  399. package/dist/reader/segment/types.js.map +1 -0
  400. package/dist/reader/types.d.ts +29 -0
  401. package/dist/reader/types.js +1 -0
  402. package/dist/reader/types.js.map +1 -0
  403. package/dist/serial.d.ts +89 -0
  404. package/dist/serial.js +476 -0
  405. package/dist/serial.js.map +1 -0
  406. package/dist/source/adapter.d.ts +15 -0
  407. package/dist/source/adapter.js +1 -0
  408. package/dist/source/adapter.js.map +1 -0
  409. package/dist/source/epub/archive.d.ts +27 -0
  410. package/dist/source/epub/archive.js +189 -0
  411. package/dist/source/epub/archive.js.map +1 -0
  412. package/dist/source/epub/content.d.ts +22 -0
  413. package/dist/source/epub/content.js +183 -0
  414. package/dist/source/epub/content.js.map +1 -0
  415. package/dist/source/epub/document.d.ts +55 -0
  416. package/dist/source/epub/document.js +179 -0
  417. package/dist/source/epub/document.js.map +1 -0
  418. package/dist/source/epub/index.d.ts +10 -0
  419. package/dist/source/epub/index.js +6 -0
  420. package/dist/source/epub/index.js.map +1 -0
  421. package/dist/source/epub/navigation.d.ts +16 -0
  422. package/dist/source/epub/navigation.js +215 -0
  423. package/dist/source/epub/navigation.js.map +1 -0
  424. package/dist/source/epub/package.d.ts +33 -0
  425. package/dist/source/epub/package.js +237 -0
  426. package/dist/source/epub/package.js.map +1 -0
  427. package/dist/source/epub/xml.d.ts +16 -0
  428. package/dist/source/epub/xml.js +111 -0
  429. package/dist/source/epub/xml.js.map +1 -0
  430. package/dist/source/index.d.ts +12 -0
  431. package/dist/source/index.js +32 -0
  432. package/dist/source/index.js.map +1 -0
  433. package/dist/source/meta.d.ts +30 -0
  434. package/dist/source/meta.js +22 -0
  435. package/dist/source/meta.js.map +1 -0
  436. package/dist/source/plain-text.d.ts +16 -0
  437. package/dist/source/plain-text.js +86 -0
  438. package/dist/source/plain-text.js.map +1 -0
  439. package/dist/source/toc.d.ts +16 -0
  440. package/dist/source/toc.js +17 -0
  441. package/dist/source/toc.js.map +1 -0
  442. package/dist/source/types.d.ts +16 -0
  443. package/dist/source/types.js +1 -0
  444. package/dist/source/types.js.map +1 -0
  445. package/dist/topology/grouping.d.ts +15 -0
  446. package/dist/topology/grouping.js +18 -0
  447. package/dist/topology/grouping.js.map +1 -0
  448. package/dist/topology/index.d.ts +21 -0
  449. package/dist/topology/index.js +5 -0
  450. package/dist/topology/index.js.map +1 -0
  451. package/dist/topology/resource-segmentation.d.ts +13 -0
  452. package/dist/topology/resource-segmentation.js +111 -0
  453. package/dist/topology/resource-segmentation.js.map +1 -0
  454. package/dist/topology/segment-incision.d.ts +18 -0
  455. package/dist/topology/segment-incision.js +197 -0
  456. package/dist/topology/segment-incision.js.map +1 -0
  457. package/dist/topology/snake-detector.d.ts +13 -0
  458. package/dist/topology/snake-detector.js +520 -0
  459. package/dist/topology/snake-detector.js.map +1 -0
  460. package/dist/topology/snake-graph-builder.d.ts +14 -0
  461. package/dist/topology/snake-graph-builder.js +76 -0
  462. package/dist/topology/snake-graph-builder.js.map +1 -0
  463. package/dist/topology/topology.d.ts +29 -0
  464. package/dist/topology/topology.js +348 -0
  465. package/dist/topology/topology.js.map +1 -0
  466. package/dist/topology/weights.d.ts +10 -0
  467. package/dist/topology/weights.js +84 -0
  468. package/dist/topology/weights.js.map +1 -0
  469. package/dist/types-FVIqiLC9.d.cts +24 -0
  470. package/dist/utils/async-semaphore.d.ts +7 -0
  471. package/dist/utils/async-semaphore.js +40 -0
  472. package/dist/utils/async-semaphore.js.map +1 -0
  473. package/dist/utils/enum.d.ts +5 -0
  474. package/dist/utils/enum.js +18 -0
  475. package/dist/utils/enum.js.map +1 -0
  476. package/dist/utils/hash.d.ts +3 -0
  477. package/dist/utils/hash.js +132 -0
  478. package/dist/utils/hash.js.map +1 -0
  479. package/dist/utils/node-error.d.ts +4 -0
  480. package/dist/utils/node-error.js +59 -0
  481. package/dist/utils/node-error.js.map +1 -0
  482. package/dist/wikg/archive-uri.d.ts +1 -0
  483. package/dist/wikg/archive-uri.js +37 -0
  484. package/dist/wikg/archive-uri.js.map +1 -0
  485. package/dist/wikg/archive.d.ts +28 -0
  486. package/dist/wikg/archive.js +496 -0
  487. package/dist/wikg/archive.js.map +1 -0
  488. package/dist/wikg/index.d.ts +31 -0
  489. package/dist/wikg/index.js +60 -0
  490. package/dist/wikg/index.js.map +1 -0
  491. package/dist/wikg/wikg-coordinator.d.ts +45 -0
  492. package/dist/wikg/wikg-coordinator.js +1687 -0
  493. package/dist/wikg/wikg-coordinator.js.map +1 -0
  494. package/dist/wikg/wiki-graph-archive-file.d.ts +42 -0
  495. package/dist/wikg/wiki-graph-archive-file.js +78 -0
  496. package/dist/wikg/wiki-graph-archive-file.js.map +1 -0
  497. package/dist/wikilink/index.d.ts +10 -0
  498. package/dist/wikilink/index.js +7 -0
  499. package/dist/wikilink/index.js.map +1 -0
  500. package/dist/wikilink/relation-discovery.d.ts +31 -0
  501. package/dist/wikilink/relation-discovery.js +477 -0
  502. package/dist/wikilink/relation-discovery.js.map +1 -0
  503. package/dist/wikilink/types.d.ts +23 -0
  504. package/dist/wikilink/types.js +1 -0
  505. package/dist/wikilink/types.js.map +1 -0
  506. package/dist/wikilink/window.d.ts +7 -0
  507. package/dist/wikilink/window.js +53 -0
  508. package/dist/wikilink/window.js.map +1 -0
  509. package/dist/wikimatch/enrichment.d.ts +10 -0
  510. package/dist/wikimatch/enrichment.js +55 -0
  511. package/dist/wikimatch/enrichment.js.map +1 -0
  512. package/dist/wikimatch/index.d.ts +16 -0
  513. package/dist/wikimatch/index.js +66 -0
  514. package/dist/wikimatch/index.js.map +1 -0
  515. package/dist/wikimatch/option-narrowing.d.ts +17 -0
  516. package/dist/wikimatch/option-narrowing.js +208 -0
  517. package/dist/wikimatch/option-narrowing.js.map +1 -0
  518. package/dist/wikimatch/options.d.ts +14 -0
  519. package/dist/wikimatch/options.js +155 -0
  520. package/dist/wikimatch/options.js.map +1 -0
  521. package/dist/wikimatch/policy-judge.d.ts +17 -0
  522. package/dist/wikimatch/policy-judge.js +430 -0
  523. package/dist/wikimatch/policy-judge.js.map +1 -0
  524. package/dist/wikimatch/range-suppression.d.ts +9 -0
  525. package/dist/wikimatch/range-suppression.js +27 -0
  526. package/dist/wikimatch/range-suppression.js.map +1 -0
  527. package/dist/wikimatch/surface-screening.d.ts +16 -0
  528. package/dist/wikimatch/surface-screening.js +168 -0
  529. package/dist/wikimatch/surface-screening.js.map +1 -0
  530. package/dist/wikimatch/surface-window.d.ts +6 -0
  531. package/dist/wikimatch/surface-window.js +44 -0
  532. package/dist/wikimatch/surface-window.js.map +1 -0
  533. package/dist/wikimatch/types.d.ts +151 -0
  534. package/dist/wikimatch/types.js +1 -0
  535. package/dist/wikimatch/types.js.map +1 -0
  536. package/dist/wikimatch/wikispine.d.ts +43 -0
  537. package/dist/wikimatch/wikispine.js +399 -0
  538. package/dist/wikimatch/wikispine.js.map +1 -0
  539. package/dist/wikimatch/window.d.ts +6 -0
  540. package/dist/wikimatch/window.js +83 -0
  541. package/dist/wikimatch/window.js.map +1 -0
  542. package/dist/wikimatch/words.d.ts +16 -0
  543. package/dist/wikimatch/words.js +66 -0
  544. package/dist/wikimatch/words.js.map +1 -0
  545. package/dist/wikipage/cache.d.ts +18 -0
  546. package/dist/wikipage/cache.js +404 -0
  547. package/dist/wikipage/cache.js.map +1 -0
  548. package/dist/wikipage/fetch-log.d.ts +17 -0
  549. package/dist/wikipage/fetch-log.js +143 -0
  550. package/dist/wikipage/fetch-log.js.map +1 -0
  551. package/dist/wikipage/index.d.ts +14 -0
  552. package/dist/wikipage/index.js +17 -0
  553. package/dist/wikipage/index.js.map +1 -0
  554. package/dist/wikipage/normalizer.d.ts +14 -0
  555. package/dist/wikipage/normalizer.js +147 -0
  556. package/dist/wikipage/normalizer.js.map +1 -0
  557. package/dist/wikipage/rate-limiter.d.ts +13 -0
  558. package/dist/wikipage/rate-limiter.js +84 -0
  559. package/dist/wikipage/rate-limiter.js.map +1 -0
  560. package/dist/wikipage/resolver.d.ts +26 -0
  561. package/dist/wikipage/resolver.js +325 -0
  562. package/dist/wikipage/resolver.js.map +1 -0
  563. package/dist/wikipage/types.d.ts +96 -0
  564. package/dist/wikipage/types.js +1 -0
  565. package/dist/wikipage/types.js.map +1 -0
  566. package/dist/wikipage/wikimedia-client.d.ts +48 -0
  567. package/dist/wikipage/wikimedia-client.js +397 -0
  568. package/dist/wikipage/wikimedia-client.js.map +1 -0
  569. package/dist/worker-BgQ0Xl8T.d.cts +181 -0
  570. package/dist/worker.cjs +5259 -0
  571. package/dist/worker.cjs.map +1 -0
  572. package/dist/worker.d.cts +2 -0
  573. package/dist/worker.d.ts +2 -0
  574. package/dist/worker.js +5 -0
  575. package/dist/worker.js.map +1 -0
  576. package/package.json +78 -0
@@ -0,0 +1,225 @@
1
+ import { createHash } from "crypto";
2
+ const HAN_RUN_RE = new RegExp("\\p{Script=Han}+", "gu");
3
+ const LATIN_OR_NUMBER_RE = /[\p{Script=Latin}\p{Number}]+/gu;
4
+ const ZERO_WIDTH_RE = /[\u200B-\u200D\u2060\uFEFF]/gu;
5
+ const CONTROL_RE = /[\p{Cc}\p{Cf}]/gu;
6
+ const WHITESPACE_RE = /\s+/gu;
7
+ const HAN_RE = new RegExp("^\\p{Script=Han}+$", "u");
8
+ const ASCII_ALNUM_RE = /^[a-z0-9]+$/u;
9
+ const CHINESE_STOPWORDS = /* @__PURE__ */ new Set([
10
+ "\u7684",
11
+ "\u5730",
12
+ "\u5F97",
13
+ "\u4E86",
14
+ "\u7740",
15
+ "\u8FC7",
16
+ "\u548C",
17
+ "\u4E0E",
18
+ "\u53CA",
19
+ "\u6216",
20
+ "\u800C",
21
+ "\u5728",
22
+ "\u662F",
23
+ "\u4E3A",
24
+ "\u4EE5",
25
+ "\u4E8E",
26
+ "\u5BF9",
27
+ "\u4E2D",
28
+ "\u4E0A",
29
+ "\u4E0B",
30
+ "\u7B49"
31
+ ]);
32
+ const ENGLISH_STOPWORDS = /* @__PURE__ */ new Set([
33
+ "a",
34
+ "an",
35
+ "and",
36
+ "are",
37
+ "as",
38
+ "at",
39
+ "be",
40
+ "been",
41
+ "being",
42
+ "by",
43
+ "can",
44
+ "could",
45
+ "did",
46
+ "do",
47
+ "does",
48
+ "for",
49
+ "from",
50
+ "had",
51
+ "has",
52
+ "have",
53
+ "in",
54
+ "is",
55
+ "may",
56
+ "might",
57
+ "of",
58
+ "on",
59
+ "or",
60
+ "should",
61
+ "the",
62
+ "to",
63
+ "was",
64
+ "were",
65
+ "will",
66
+ "with",
67
+ "would"
68
+ ]);
69
+ const IRREGULAR_LEMMAS = /* @__PURE__ */ new Map([
70
+ ["am", "be"],
71
+ ["are", "be"],
72
+ ["is", "be"],
73
+ ["was", "be"],
74
+ ["were", "be"],
75
+ ["been", "be"],
76
+ ["being", "be"],
77
+ ["has", "have"],
78
+ ["had", "have"],
79
+ ["does", "do"],
80
+ ["did", "do"],
81
+ ["done", "do"]
82
+ ]);
83
+ function normalizeSearchText(value) {
84
+ return value.normalize("NFKC").replace(ZERO_WIDTH_RE, "").replace(CONTROL_RE, " ").replace(WHITESPACE_RE, " ").trim();
85
+ }
86
+ function createSearchTokenPlan(value) {
87
+ const normalized = normalizeSearchText(value);
88
+ const tier1 = [];
89
+ const tier2 = [];
90
+ const tier3 = [];
91
+ for (const raw of createHanTokens(normalized, "phrase")) {
92
+ tier1.push(createToken(raw, "hp", 1));
93
+ }
94
+ for (const raw of createHanTokens(normalized, "bigram")) {
95
+ tier1.push(createToken(raw, "h2", 1));
96
+ }
97
+ for (const raw of createHanTokens(normalized, "trigram")) {
98
+ tier1.push(createToken(raw, "h3", 1));
99
+ }
100
+ for (const raw of createSegmenterTokens(normalized)) {
101
+ tier1.push(createToken(raw, "hw", 1));
102
+ }
103
+ for (const raw of createLatinTokens(normalized)) {
104
+ tier1.push(createToken(raw, "le", 1));
105
+ const stem = stemEnglish(raw);
106
+ if (stem !== raw && !ENGLISH_STOPWORDS.has(stem)) {
107
+ tier2.push(createToken(stem, "ls", 2));
108
+ }
109
+ }
110
+ for (const raw of createHanTokens(normalized, "char")) {
111
+ tier3.push(createToken(raw, "hc", 3));
112
+ }
113
+ return {
114
+ tier1: dedupeTokens(tier1),
115
+ tier2: dedupeTokens(tier2),
116
+ tier3: dedupeTokens(tier3)
117
+ };
118
+ }
119
+ function listSearchPlanTerms(plan) {
120
+ return [
121
+ ...new Set(
122
+ [...plan.tier1, ...plan.tier2, ...plan.tier3].map((token) => token.raw)
123
+ )
124
+ ];
125
+ }
126
+ function hasSearchTokens(plan) {
127
+ return plan.tier1.length > 0 || plan.tier2.length > 0 || plan.tier3.length > 0;
128
+ }
129
+ function createHanTokens(value, kind) {
130
+ const tokens = [];
131
+ for (const match of value.matchAll(HAN_RUN_RE)) {
132
+ const run = [...match[0]];
133
+ if (kind === "phrase") {
134
+ if (run.length >= 2) {
135
+ tokens.push(run.join(""));
136
+ }
137
+ continue;
138
+ }
139
+ if (kind === "char") {
140
+ tokens.push(...run.filter((token) => !CHINESE_STOPWORDS.has(token)));
141
+ continue;
142
+ }
143
+ const size = kind === "bigram" ? 2 : 3;
144
+ if (run.length < size) {
145
+ continue;
146
+ }
147
+ for (let index = 0; index <= run.length - size; index += 1) {
148
+ tokens.push(run.slice(index, index + size).join(""));
149
+ }
150
+ }
151
+ return tokens;
152
+ }
153
+ function createLatinTokens(value) {
154
+ return [...value.toLowerCase().matchAll(LATIN_OR_NUMBER_RE)].map((match) => match[0]).filter((token) => !ENGLISH_STOPWORDS.has(token));
155
+ }
156
+ function createSegmenterTokens(value) {
157
+ if (typeof Intl.Segmenter !== "function") {
158
+ return [];
159
+ }
160
+ const segmenter = new Intl.Segmenter("zh-CN", { granularity: "word" });
161
+ const tokens = [];
162
+ for (const segment of segmenter.segment(value)) {
163
+ const token = normalizeSearchText(segment.segment).toLowerCase();
164
+ if (segment.isWordLike === true && [...token].length >= 2 && HAN_RE.test(token)) {
165
+ tokens.push(token);
166
+ }
167
+ }
168
+ return tokens;
169
+ }
170
+ function createToken(raw, prefix, tier) {
171
+ const normalized = normalizeSearchText(raw).toLowerCase();
172
+ const digest = createHash("sha256").update(normalized).digest("hex").slice(0, 20);
173
+ return {
174
+ encoded: `${prefix}${digest}`,
175
+ raw: normalized,
176
+ tier
177
+ };
178
+ }
179
+ function dedupeTokens(tokens) {
180
+ const seen = /* @__PURE__ */ new Set();
181
+ const result = [];
182
+ for (const token of tokens) {
183
+ if (seen.has(token.encoded)) {
184
+ continue;
185
+ }
186
+ seen.add(token.encoded);
187
+ result.push(token);
188
+ }
189
+ return result;
190
+ }
191
+ function stemEnglish(token) {
192
+ const lemma = IRREGULAR_LEMMAS.get(token);
193
+ if (lemma !== void 0) {
194
+ return lemma;
195
+ }
196
+ if (!ASCII_ALNUM_RE.test(token) || /\d/u.test(token) || token.length < 4) {
197
+ return token;
198
+ }
199
+ return porterStem(token);
200
+ }
201
+ function porterStem(value) {
202
+ let token = value;
203
+ if (token.endsWith("ies") && token.length > 4) {
204
+ token = `${token.slice(0, -3)}y`;
205
+ } else if (token.endsWith("ing") && token.length > 5) {
206
+ token = token.slice(0, -3);
207
+ } else if (token.endsWith("ed") && token.length > 4) {
208
+ token = token.slice(0, -2);
209
+ } else if (token.endsWith("es") && token.length > 4) {
210
+ token = token.slice(0, -2);
211
+ } else if (token.endsWith("s") && token.length > 4) {
212
+ token = token.slice(0, -1);
213
+ }
214
+ if (token.length > 3 && token.at(-1) === token.at(-2) && /[bcdfghjklmnpqrstvwxyz]/u.test(token.at(-1))) {
215
+ token = token.slice(0, -1);
216
+ }
217
+ return token;
218
+ }
219
+ export {
220
+ createSearchTokenPlan,
221
+ hasSearchTokens,
222
+ listSearchPlanTerms,
223
+ normalizeSearchText
224
+ };
225
+ //# sourceMappingURL=search-tokenizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/archive/search-index/search-tokenizer.ts"],"sourcesContent":["import { createHash } from \"crypto\";\n\nexport interface SearchToken {\n readonly encoded: string;\n readonly raw: string;\n readonly tier: 1 | 2 | 3;\n}\n\nexport interface SearchTokenPlan {\n readonly tier1: readonly SearchToken[];\n readonly tier2: readonly SearchToken[];\n readonly tier3: readonly SearchToken[];\n}\n\nconst HAN_RUN_RE = /\\p{Script=Han}+/gu;\nconst LATIN_OR_NUMBER_RE = /[\\p{Script=Latin}\\p{Number}]+/gu;\nconst ZERO_WIDTH_RE = /[\\u200B-\\u200D\\u2060\\uFEFF]/gu;\nconst CONTROL_RE = /[\\p{Cc}\\p{Cf}]/gu;\nconst WHITESPACE_RE = /\\s+/gu;\nconst HAN_RE = /^\\p{Script=Han}+$/u;\nconst ASCII_ALNUM_RE = /^[a-z0-9]+$/u;\n\nconst CHINESE_STOPWORDS = new Set([\n \"的\",\n \"地\",\n \"得\",\n \"了\",\n \"着\",\n \"过\",\n \"和\",\n \"与\",\n \"及\",\n \"或\",\n \"而\",\n \"在\",\n \"是\",\n \"为\",\n \"以\",\n \"于\",\n \"对\",\n \"中\",\n \"上\",\n \"下\",\n \"等\",\n]);\n\nconst ENGLISH_STOPWORDS = new Set([\n \"a\",\n \"an\",\n \"and\",\n \"are\",\n \"as\",\n \"at\",\n \"be\",\n \"been\",\n \"being\",\n \"by\",\n \"can\",\n \"could\",\n \"did\",\n \"do\",\n \"does\",\n \"for\",\n \"from\",\n \"had\",\n \"has\",\n \"have\",\n \"in\",\n \"is\",\n \"may\",\n \"might\",\n \"of\",\n \"on\",\n \"or\",\n \"should\",\n \"the\",\n \"to\",\n \"was\",\n \"were\",\n \"will\",\n \"with\",\n \"would\",\n]);\n\nconst IRREGULAR_LEMMAS = new Map([\n [\"am\", \"be\"],\n [\"are\", \"be\"],\n [\"is\", \"be\"],\n [\"was\", \"be\"],\n [\"were\", \"be\"],\n [\"been\", \"be\"],\n [\"being\", \"be\"],\n [\"has\", \"have\"],\n [\"had\", \"have\"],\n [\"does\", \"do\"],\n [\"did\", \"do\"],\n [\"done\", \"do\"],\n]);\n\nexport function normalizeSearchText(value: string): string {\n return value\n .normalize(\"NFKC\")\n .replace(ZERO_WIDTH_RE, \"\")\n .replace(CONTROL_RE, \" \")\n .replace(WHITESPACE_RE, \" \")\n .trim();\n}\n\nexport function createSearchTokenPlan(value: string): SearchTokenPlan {\n const normalized = normalizeSearchText(value);\n const tier1: SearchToken[] = [];\n const tier2: SearchToken[] = [];\n const tier3: SearchToken[] = [];\n\n for (const raw of createHanTokens(normalized, \"phrase\")) {\n tier1.push(createToken(raw, \"hp\", 1));\n }\n for (const raw of createHanTokens(normalized, \"bigram\")) {\n tier1.push(createToken(raw, \"h2\", 1));\n }\n for (const raw of createHanTokens(normalized, \"trigram\")) {\n tier1.push(createToken(raw, \"h3\", 1));\n }\n for (const raw of createSegmenterTokens(normalized)) {\n tier1.push(createToken(raw, \"hw\", 1));\n }\n for (const raw of createLatinTokens(normalized)) {\n tier1.push(createToken(raw, \"le\", 1));\n const stem = stemEnglish(raw);\n\n if (stem !== raw && !ENGLISH_STOPWORDS.has(stem)) {\n tier2.push(createToken(stem, \"ls\", 2));\n }\n }\n for (const raw of createHanTokens(normalized, \"char\")) {\n tier3.push(createToken(raw, \"hc\", 3));\n }\n\n return {\n tier1: dedupeTokens(tier1),\n tier2: dedupeTokens(tier2),\n tier3: dedupeTokens(tier3),\n };\n}\n\nexport function listSearchPlanTerms(plan: SearchTokenPlan): readonly string[] {\n return [\n ...new Set(\n [...plan.tier1, ...plan.tier2, ...plan.tier3].map((token) => token.raw),\n ),\n ];\n}\n\nexport function hasSearchTokens(plan: SearchTokenPlan): boolean {\n return (\n plan.tier1.length > 0 || plan.tier2.length > 0 || plan.tier3.length > 0\n );\n}\n\nfunction createHanTokens(\n value: string,\n kind: \"bigram\" | \"char\" | \"phrase\" | \"trigram\",\n): readonly string[] {\n const tokens: string[] = [];\n\n for (const match of value.matchAll(HAN_RUN_RE)) {\n const run = [...match[0]];\n\n if (kind === \"phrase\") {\n if (run.length >= 2) {\n tokens.push(run.join(\"\"));\n }\n continue;\n }\n if (kind === \"char\") {\n tokens.push(...run.filter((token) => !CHINESE_STOPWORDS.has(token)));\n continue;\n }\n\n const size = kind === \"bigram\" ? 2 : 3;\n\n if (run.length < size) {\n continue;\n }\n for (let index = 0; index <= run.length - size; index += 1) {\n tokens.push(run.slice(index, index + size).join(\"\"));\n }\n }\n\n return tokens;\n}\n\nfunction createLatinTokens(value: string): readonly string[] {\n return [...value.toLowerCase().matchAll(LATIN_OR_NUMBER_RE)]\n .map((match) => match[0])\n .filter((token) => !ENGLISH_STOPWORDS.has(token));\n}\n\nfunction createSegmenterTokens(value: string): readonly string[] {\n if (typeof Intl.Segmenter !== \"function\") {\n return [];\n }\n\n const segmenter = new Intl.Segmenter(\"zh-CN\", { granularity: \"word\" });\n const tokens: string[] = [];\n\n for (const segment of segmenter.segment(value)) {\n const token = normalizeSearchText(segment.segment).toLowerCase();\n\n if (\n segment.isWordLike === true &&\n [...token].length >= 2 &&\n HAN_RE.test(token)\n ) {\n tokens.push(token);\n }\n }\n\n return tokens;\n}\n\nfunction createToken(\n raw: string,\n prefix: string,\n tier: 1 | 2 | 3,\n): SearchToken {\n const normalized = normalizeSearchText(raw).toLowerCase();\n const digest = createHash(\"sha256\")\n .update(normalized)\n .digest(\"hex\")\n .slice(0, 20);\n\n return {\n encoded: `${prefix}${digest}`,\n raw: normalized,\n tier,\n };\n}\n\nfunction dedupeTokens(tokens: readonly SearchToken[]): readonly SearchToken[] {\n const seen = new Set<string>();\n const result: SearchToken[] = [];\n\n for (const token of tokens) {\n if (seen.has(token.encoded)) {\n continue;\n }\n\n seen.add(token.encoded);\n result.push(token);\n }\n\n return result;\n}\n\nfunction stemEnglish(token: string): string {\n const lemma = IRREGULAR_LEMMAS.get(token);\n\n if (lemma !== undefined) {\n return lemma;\n }\n if (!ASCII_ALNUM_RE.test(token) || /\\d/u.test(token) || token.length < 4) {\n return token;\n }\n\n return porterStem(token);\n}\n\nfunction porterStem(value: string): string {\n // A deliberately small Porter-like stemmer: enough for weak recall tokens,\n // not intended to replace exact Latin tokens or final ranking.\n let token = value;\n\n if (token.endsWith(\"ies\") && token.length > 4) {\n token = `${token.slice(0, -3)}y`;\n } else if (token.endsWith(\"ing\") && token.length > 5) {\n token = token.slice(0, -3);\n } else if (token.endsWith(\"ed\") && token.length > 4) {\n token = token.slice(0, -2);\n } else if (token.endsWith(\"es\") && token.length > 4) {\n token = token.slice(0, -2);\n } else if (token.endsWith(\"s\") && token.length > 4) {\n token = token.slice(0, -1);\n }\n\n if (\n token.length > 3 &&\n token.at(-1) === token.at(-2) &&\n /[bcdfghjklmnpqrstvwxyz]/u.test(token.at(-1)!)\n ) {\n token = token.slice(0, -1);\n }\n\n return token;\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,4 @@
1
+ declare const CLI_PRIMARY_COMMAND = "wg";
2
+ declare const CLI_FULL_COMMAND = "wikigraph";
3
+
4
+ export { CLI_FULL_COMMAND, CLI_PRIMARY_COMMAND };
@@ -0,0 +1,7 @@
1
+ const CLI_PRIMARY_COMMAND = "wg";
2
+ const CLI_FULL_COMMAND = "wikigraph";
3
+ export {
4
+ CLI_FULL_COMMAND,
5
+ CLI_PRIMARY_COMMAND
6
+ };
7
+ //# sourceMappingURL=cli-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/common/cli-command.ts"],"sourcesContent":["export const CLI_PRIMARY_COMMAND = \"wg\";\nexport const CLI_FULL_COMMAND = \"wikigraph\";\n"],"mappings":"AAAO,MAAM,sBAAsB;AAC5B,MAAM,mBAAmB;","names":[]}
@@ -0,0 +1,3 @@
1
+ declare function resolveDataDirPath(): string;
2
+
3
+ export { resolveDataDirPath };
@@ -0,0 +1,48 @@
1
+ import { existsSync, statSync } from "fs";
2
+ import { fileURLToPath } from "url";
3
+ import { dirname, join, parse, resolve } from "path";
4
+ function resolveDataDirPath() {
5
+ const injectedPath = globalThis.__WIKIGRAPH_DATA_DIR__;
6
+ if (typeof injectedPath === "string" && injectedPath !== "") {
7
+ return injectedPath;
8
+ }
9
+ const moduleDataDirPath = resolveDataDirPathFromModule();
10
+ if (moduleDataDirPath !== void 0) {
11
+ return moduleDataDirPath;
12
+ }
13
+ return resolveDataDirPathFromWorkingDirectory();
14
+ }
15
+ function resolveDataDirPathFromModule() {
16
+ const moduleDirectoryPath = dirname(fileURLToPath(import.meta.url));
17
+ for (const candidatePath of [
18
+ resolve(moduleDirectoryPath, "../../data"),
19
+ resolve(moduleDirectoryPath, "../data")
20
+ ]) {
21
+ if (existsSync(candidatePath) && statSync(candidatePath).isDirectory()) {
22
+ return candidatePath;
23
+ }
24
+ }
25
+ return void 0;
26
+ }
27
+ function resolveDataDirPathFromWorkingDirectory() {
28
+ let currentDirectoryPath = process.cwd();
29
+ const rootDirectoryPath = parse(currentDirectoryPath).root;
30
+ while (true) {
31
+ for (const candidatePath of [
32
+ join(currentDirectoryPath, "data"),
33
+ join(currentDirectoryPath, "packages", "core", "data")
34
+ ]) {
35
+ if (existsSync(candidatePath) && statSync(candidatePath).isDirectory()) {
36
+ return candidatePath;
37
+ }
38
+ }
39
+ if (currentDirectoryPath === rootDirectoryPath) {
40
+ throw new Error("Could not locate data directory");
41
+ }
42
+ currentDirectoryPath = dirname(currentDirectoryPath);
43
+ }
44
+ }
45
+ export {
46
+ resolveDataDirPath
47
+ };
48
+ //# sourceMappingURL=data-dir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/common/data-dir.ts"],"sourcesContent":["import { existsSync, statSync } from \"fs\";\nimport { fileURLToPath } from \"url\";\nimport { dirname, join, parse, resolve } from \"path\";\n\nexport function resolveDataDirPath(): string {\n const injectedPath = (globalThis as { __WIKIGRAPH_DATA_DIR__?: unknown })\n .__WIKIGRAPH_DATA_DIR__;\n\n if (typeof injectedPath === \"string\" && injectedPath !== \"\") {\n return injectedPath;\n }\n\n const moduleDataDirPath = resolveDataDirPathFromModule();\n if (moduleDataDirPath !== undefined) {\n return moduleDataDirPath;\n }\n\n return resolveDataDirPathFromWorkingDirectory();\n}\n\nfunction resolveDataDirPathFromModule(): string | undefined {\n const moduleDirectoryPath = dirname(fileURLToPath(import.meta.url));\n\n for (const candidatePath of [\n resolve(moduleDirectoryPath, \"../../data\"),\n resolve(moduleDirectoryPath, \"../data\"),\n ]) {\n if (existsSync(candidatePath) && statSync(candidatePath).isDirectory()) {\n return candidatePath;\n }\n }\n\n return undefined;\n}\n\nfunction resolveDataDirPathFromWorkingDirectory(): string {\n let currentDirectoryPath = process.cwd();\n const rootDirectoryPath = parse(currentDirectoryPath).root;\n\n while (true) {\n for (const candidatePath of [\n join(currentDirectoryPath, \"data\"),\n join(currentDirectoryPath, \"packages\", \"core\", \"data\"),\n ]) {\n if (existsSync(candidatePath) && statSync(candidatePath).isDirectory()) {\n return candidatePath;\n }\n }\n\n if (currentDirectoryPath === rootDirectoryPath) {\n throw new Error(\"Could not locate data directory\");\n }\n\n currentDirectoryPath = dirname(currentDirectoryPath);\n }\n}\n"],"mappings":"AAAA,SAAS,YAAY,gBAAgB;AACrC,SAAS,qBAAqB;AAC9B,SAAS,SAAS,MAAM,OAAO,eAAe;AAEvC,SAAS,qBAA6B;AAC3C,QAAM,eAAgB,WACnB;AAEH,MAAI,OAAO,iBAAiB,YAAY,iBAAiB,IAAI;AAC3D,WAAO;AAAA,EACT;AAEA,QAAM,oBAAoB,6BAA6B;AACvD,MAAI,sBAAsB,QAAW;AACnC,WAAO;AAAA,EACT;AAEA,SAAO,uCAAuC;AAChD;AAEA,SAAS,+BAAmD;AAC1D,QAAM,sBAAsB,QAAQ,cAAc,YAAY,GAAG,CAAC;AAElE,aAAW,iBAAiB;AAAA,IAC1B,QAAQ,qBAAqB,YAAY;AAAA,IACzC,QAAQ,qBAAqB,SAAS;AAAA,EACxC,GAAG;AACD,QAAI,WAAW,aAAa,KAAK,SAAS,aAAa,EAAE,YAAY,GAAG;AACtE,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;AAEA,SAAS,yCAAiD;AACxD,MAAI,uBAAuB,QAAQ,IAAI;AACvC,QAAM,oBAAoB,MAAM,oBAAoB,EAAE;AAEtD,SAAO,MAAM;AACX,eAAW,iBAAiB;AAAA,MAC1B,KAAK,sBAAsB,MAAM;AAAA,MACjC,KAAK,sBAAsB,YAAY,QAAQ,MAAM;AAAA,IACvD,GAAG;AACD,UAAI,WAAW,aAAa,KAAK,SAAS,aAAa,EAAE,YAAY,GAAG;AACtE,eAAO;AAAA,MACT;AAAA,IACF;AAEA,QAAI,yBAAyB,mBAAmB;AAC9C,YAAM,IAAI,MAAM,iCAAiC;AAAA,IACnD;AAEA,2BAAuB,QAAQ,oBAAoB;AAAA,EACrD;AACF;","names":[]}
@@ -0,0 +1,55 @@
1
+ declare enum Language {
2
+ Arabic = "Arabic",
3
+ Danish = "Danish",
4
+ Dutch = "Dutch",
5
+ English = "English",
6
+ Finnish = "Finnish",
7
+ French = "French",
8
+ German = "German",
9
+ Hindi = "Hindi",
10
+ Indonesian = "Indonesian",
11
+ Italian = "Italian",
12
+ Japanese = "Japanese",
13
+ Korean = "Korean",
14
+ Norwegian = "Norwegian",
15
+ Polish = "Polish",
16
+ Portuguese = "Portuguese",
17
+ Russian = "Russian",
18
+ SimplifiedChinese = "Simplified Chinese",
19
+ Spanish = "Spanish",
20
+ Swedish = "Swedish",
21
+ Thai = "Thai",
22
+ TraditionalChinese = "Traditional Chinese",
23
+ Turkish = "Turkish",
24
+ Vietnamese = "Vietnamese"
25
+ }
26
+ declare enum LanguageCode {
27
+ Arabic = "ar",
28
+ Chinese = "zh",
29
+ Danish = "da",
30
+ Dutch = "nl",
31
+ English = "en",
32
+ Finnish = "fi",
33
+ French = "fr",
34
+ German = "de",
35
+ Hindi = "hi",
36
+ Indonesian = "id",
37
+ Italian = "it",
38
+ Japanese = "ja",
39
+ Korean = "ko",
40
+ Norwegian = "no",
41
+ Polish = "pl",
42
+ Portuguese = "pt",
43
+ Russian = "ru",
44
+ Spanish = "es",
45
+ Swedish = "sv",
46
+ Thai = "th",
47
+ Turkish = "tr",
48
+ Vietnamese = "vi"
49
+ }
50
+ declare function getLanguageCode(language: Language): LanguageCode;
51
+ declare function formatLanguageForPrompt(code: LanguageCode): Language;
52
+ declare function normalizeLanguageCode(language: Language | string | null | undefined): LanguageCode | undefined;
53
+ declare function getWikipageLanguageCode(language: Language | string | null | undefined): "en" | "zh" | undefined;
54
+
55
+ export { Language, LanguageCode, formatLanguageForPrompt, getLanguageCode, getWikipageLanguageCode, normalizeLanguageCode };
@@ -0,0 +1,208 @@
1
+ var Language = /* @__PURE__ */ ((Language2) => {
2
+ Language2["Arabic"] = "Arabic";
3
+ Language2["Danish"] = "Danish";
4
+ Language2["Dutch"] = "Dutch";
5
+ Language2["English"] = "English";
6
+ Language2["Finnish"] = "Finnish";
7
+ Language2["French"] = "French";
8
+ Language2["German"] = "German";
9
+ Language2["Hindi"] = "Hindi";
10
+ Language2["Indonesian"] = "Indonesian";
11
+ Language2["Italian"] = "Italian";
12
+ Language2["Japanese"] = "Japanese";
13
+ Language2["Korean"] = "Korean";
14
+ Language2["Norwegian"] = "Norwegian";
15
+ Language2["Polish"] = "Polish";
16
+ Language2["Portuguese"] = "Portuguese";
17
+ Language2["Russian"] = "Russian";
18
+ Language2["SimplifiedChinese"] = "Simplified Chinese";
19
+ Language2["Spanish"] = "Spanish";
20
+ Language2["Swedish"] = "Swedish";
21
+ Language2["Thai"] = "Thai";
22
+ Language2["TraditionalChinese"] = "Traditional Chinese";
23
+ Language2["Turkish"] = "Turkish";
24
+ Language2["Vietnamese"] = "Vietnamese";
25
+ return Language2;
26
+ })(Language || {});
27
+ var LanguageCode = /* @__PURE__ */ ((LanguageCode2) => {
28
+ LanguageCode2["Arabic"] = "ar";
29
+ LanguageCode2["Chinese"] = "zh";
30
+ LanguageCode2["Danish"] = "da";
31
+ LanguageCode2["Dutch"] = "nl";
32
+ LanguageCode2["English"] = "en";
33
+ LanguageCode2["Finnish"] = "fi";
34
+ LanguageCode2["French"] = "fr";
35
+ LanguageCode2["German"] = "de";
36
+ LanguageCode2["Hindi"] = "hi";
37
+ LanguageCode2["Indonesian"] = "id";
38
+ LanguageCode2["Italian"] = "it";
39
+ LanguageCode2["Japanese"] = "ja";
40
+ LanguageCode2["Korean"] = "ko";
41
+ LanguageCode2["Norwegian"] = "no";
42
+ LanguageCode2["Polish"] = "pl";
43
+ LanguageCode2["Portuguese"] = "pt";
44
+ LanguageCode2["Russian"] = "ru";
45
+ LanguageCode2["Spanish"] = "es";
46
+ LanguageCode2["Swedish"] = "sv";
47
+ LanguageCode2["Thai"] = "th";
48
+ LanguageCode2["Turkish"] = "tr";
49
+ LanguageCode2["Vietnamese"] = "vi";
50
+ return LanguageCode2;
51
+ })(LanguageCode || {});
52
+ const LANGUAGE_TO_CODE = {
53
+ ["Arabic" /* Arabic */]: "ar" /* Arabic */,
54
+ ["Danish" /* Danish */]: "da" /* Danish */,
55
+ ["Dutch" /* Dutch */]: "nl" /* Dutch */,
56
+ ["English" /* English */]: "en" /* English */,
57
+ ["Finnish" /* Finnish */]: "fi" /* Finnish */,
58
+ ["French" /* French */]: "fr" /* French */,
59
+ ["German" /* German */]: "de" /* German */,
60
+ ["Hindi" /* Hindi */]: "hi" /* Hindi */,
61
+ ["Indonesian" /* Indonesian */]: "id" /* Indonesian */,
62
+ ["Italian" /* Italian */]: "it" /* Italian */,
63
+ ["Japanese" /* Japanese */]: "ja" /* Japanese */,
64
+ ["Korean" /* Korean */]: "ko" /* Korean */,
65
+ ["Norwegian" /* Norwegian */]: "no" /* Norwegian */,
66
+ ["Polish" /* Polish */]: "pl" /* Polish */,
67
+ ["Portuguese" /* Portuguese */]: "pt" /* Portuguese */,
68
+ ["Russian" /* Russian */]: "ru" /* Russian */,
69
+ ["Simplified Chinese" /* SimplifiedChinese */]: "zh" /* Chinese */,
70
+ ["Spanish" /* Spanish */]: "es" /* Spanish */,
71
+ ["Swedish" /* Swedish */]: "sv" /* Swedish */,
72
+ ["Thai" /* Thai */]: "th" /* Thai */,
73
+ ["Traditional Chinese" /* TraditionalChinese */]: "zh" /* Chinese */,
74
+ ["Turkish" /* Turkish */]: "tr" /* Turkish */,
75
+ ["Vietnamese" /* Vietnamese */]: "vi" /* Vietnamese */
76
+ };
77
+ const LANGUAGE_CODE_TO_PROMPT_LANGUAGE = {
78
+ ["ar" /* Arabic */]: "Arabic" /* Arabic */,
79
+ ["zh" /* Chinese */]: "Simplified Chinese" /* SimplifiedChinese */,
80
+ ["da" /* Danish */]: "Danish" /* Danish */,
81
+ ["nl" /* Dutch */]: "Dutch" /* Dutch */,
82
+ ["en" /* English */]: "English" /* English */,
83
+ ["fi" /* Finnish */]: "Finnish" /* Finnish */,
84
+ ["fr" /* French */]: "French" /* French */,
85
+ ["de" /* German */]: "German" /* German */,
86
+ ["hi" /* Hindi */]: "Hindi" /* Hindi */,
87
+ ["id" /* Indonesian */]: "Indonesian" /* Indonesian */,
88
+ ["it" /* Italian */]: "Italian" /* Italian */,
89
+ ["ja" /* Japanese */]: "Japanese" /* Japanese */,
90
+ ["ko" /* Korean */]: "Korean" /* Korean */,
91
+ ["no" /* Norwegian */]: "Norwegian" /* Norwegian */,
92
+ ["pl" /* Polish */]: "Polish" /* Polish */,
93
+ ["pt" /* Portuguese */]: "Portuguese" /* Portuguese */,
94
+ ["ru" /* Russian */]: "Russian" /* Russian */,
95
+ ["es" /* Spanish */]: "Spanish" /* Spanish */,
96
+ ["sv" /* Swedish */]: "Swedish" /* Swedish */,
97
+ ["th" /* Thai */]: "Thai" /* Thai */,
98
+ ["tr" /* Turkish */]: "Turkish" /* Turkish */,
99
+ ["vi" /* Vietnamese */]: "Vietnamese" /* Vietnamese */
100
+ };
101
+ const LANGUAGE_CODE_ALIASES = /* @__PURE__ */ new Map([
102
+ ["ar", "ar" /* Arabic */],
103
+ ["ara", "ar" /* Arabic */],
104
+ ["arabic", "ar" /* Arabic */],
105
+ ["da", "da" /* Danish */],
106
+ ["danish", "da" /* Danish */],
107
+ ["de", "de" /* German */],
108
+ ["deu", "de" /* German */],
109
+ ["dut", "nl" /* Dutch */],
110
+ ["dutch", "nl" /* Dutch */],
111
+ ["en", "en" /* English */],
112
+ ["eng", "en" /* English */],
113
+ ["english", "en" /* English */],
114
+ ["fi", "fi" /* Finnish */],
115
+ ["fin", "fi" /* Finnish */],
116
+ ["finnish", "fi" /* Finnish */],
117
+ ["fr", "fr" /* French */],
118
+ ["fra", "fr" /* French */],
119
+ ["fre", "fr" /* French */],
120
+ ["french", "fr" /* French */],
121
+ ["ger", "de" /* German */],
122
+ ["german", "de" /* German */],
123
+ ["hi", "hi" /* Hindi */],
124
+ ["hin", "hi" /* Hindi */],
125
+ ["hindi", "hi" /* Hindi */],
126
+ ["id", "id" /* Indonesian */],
127
+ ["ind", "id" /* Indonesian */],
128
+ ["indonesian", "id" /* Indonesian */],
129
+ ["it", "it" /* Italian */],
130
+ ["ita", "it" /* Italian */],
131
+ ["italian", "it" /* Italian */],
132
+ ["ja", "ja" /* Japanese */],
133
+ ["japanese", "ja" /* Japanese */],
134
+ ["jpn", "ja" /* Japanese */],
135
+ ["ko", "ko" /* Korean */],
136
+ ["kor", "ko" /* Korean */],
137
+ ["korean", "ko" /* Korean */],
138
+ ["nl", "nl" /* Dutch */],
139
+ ["no", "no" /* Norwegian */],
140
+ ["nor", "no" /* Norwegian */],
141
+ ["norwegian", "no" /* Norwegian */],
142
+ ["pl", "pl" /* Polish */],
143
+ ["pol", "pl" /* Polish */],
144
+ ["polish", "pl" /* Polish */],
145
+ ["por", "pt" /* Portuguese */],
146
+ ["portuguese", "pt" /* Portuguese */],
147
+ ["pt", "pt" /* Portuguese */],
148
+ ["ru", "ru" /* Russian */],
149
+ ["rus", "ru" /* Russian */],
150
+ ["russian", "ru" /* Russian */],
151
+ ["spa", "es" /* Spanish */],
152
+ ["spanish", "es" /* Spanish */],
153
+ ["es", "es" /* Spanish */],
154
+ ["sv", "sv" /* Swedish */],
155
+ ["swe", "sv" /* Swedish */],
156
+ ["swedish", "sv" /* Swedish */],
157
+ ["th", "th" /* Thai */],
158
+ ["tha", "th" /* Thai */],
159
+ ["thai", "th" /* Thai */],
160
+ ["tr", "tr" /* Turkish */],
161
+ ["tur", "tr" /* Turkish */],
162
+ ["turkish", "tr" /* Turkish */],
163
+ ["vi", "vi" /* Vietnamese */],
164
+ ["vie", "vi" /* Vietnamese */],
165
+ ["vietnamese", "vi" /* Vietnamese */],
166
+ ["zh", "zh" /* Chinese */],
167
+ ["zh-cn", "zh" /* Chinese */],
168
+ ["zh-hans", "zh" /* Chinese */],
169
+ ["zh-sg", "zh" /* Chinese */],
170
+ ["zh-tw", "zh" /* Chinese */],
171
+ ["zh-hant", "zh" /* Chinese */],
172
+ ["zh-hk", "zh" /* Chinese */],
173
+ ["cn", "zh" /* Chinese */],
174
+ ["chi", "zh" /* Chinese */],
175
+ ["chinese", "zh" /* Chinese */],
176
+ ["simplified chinese", "zh" /* Chinese */],
177
+ ["traditional chinese", "zh" /* Chinese */],
178
+ ["zho", "zh" /* Chinese */]
179
+ ]);
180
+ function getLanguageCode(language) {
181
+ return LANGUAGE_TO_CODE[language];
182
+ }
183
+ function formatLanguageForPrompt(code) {
184
+ return LANGUAGE_CODE_TO_PROMPT_LANGUAGE[code];
185
+ }
186
+ function normalizeLanguageCode(language) {
187
+ const normalized = language?.trim().toLowerCase().replaceAll("_", "-");
188
+ if (normalized === void 0 || normalized === "") {
189
+ return void 0;
190
+ }
191
+ return LANGUAGE_CODE_ALIASES.get(normalized);
192
+ }
193
+ function getWikipageLanguageCode(language) {
194
+ const code = normalizeLanguageCode(language);
195
+ if (code === "en" /* English */ || code === "zh" /* Chinese */) {
196
+ return code;
197
+ }
198
+ return void 0;
199
+ }
200
+ export {
201
+ Language,
202
+ LanguageCode,
203
+ formatLanguageForPrompt,
204
+ getLanguageCode,
205
+ getWikipageLanguageCode,
206
+ normalizeLanguageCode
207
+ };
208
+ //# sourceMappingURL=language.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/common/language.ts"],"sourcesContent":["export enum Language {\n Arabic = \"Arabic\",\n Danish = \"Danish\",\n Dutch = \"Dutch\",\n English = \"English\",\n Finnish = \"Finnish\",\n French = \"French\",\n German = \"German\",\n Hindi = \"Hindi\",\n Indonesian = \"Indonesian\",\n Italian = \"Italian\",\n Japanese = \"Japanese\",\n Korean = \"Korean\",\n Norwegian = \"Norwegian\",\n Polish = \"Polish\",\n Portuguese = \"Portuguese\",\n Russian = \"Russian\",\n SimplifiedChinese = \"Simplified Chinese\",\n Spanish = \"Spanish\",\n Swedish = \"Swedish\",\n Thai = \"Thai\",\n TraditionalChinese = \"Traditional Chinese\",\n Turkish = \"Turkish\",\n Vietnamese = \"Vietnamese\",\n}\n\nexport enum LanguageCode {\n Arabic = \"ar\",\n Chinese = \"zh\",\n Danish = \"da\",\n Dutch = \"nl\",\n English = \"en\",\n Finnish = \"fi\",\n French = \"fr\",\n German = \"de\",\n Hindi = \"hi\",\n Indonesian = \"id\",\n Italian = \"it\",\n Japanese = \"ja\",\n Korean = \"ko\",\n Norwegian = \"no\",\n Polish = \"pl\",\n Portuguese = \"pt\",\n Russian = \"ru\",\n Spanish = \"es\",\n Swedish = \"sv\",\n Thai = \"th\",\n Turkish = \"tr\",\n Vietnamese = \"vi\",\n}\n\nconst LANGUAGE_TO_CODE = {\n [Language.Arabic]: LanguageCode.Arabic,\n [Language.Danish]: LanguageCode.Danish,\n [Language.Dutch]: LanguageCode.Dutch,\n [Language.English]: LanguageCode.English,\n [Language.Finnish]: LanguageCode.Finnish,\n [Language.French]: LanguageCode.French,\n [Language.German]: LanguageCode.German,\n [Language.Hindi]: LanguageCode.Hindi,\n [Language.Indonesian]: LanguageCode.Indonesian,\n [Language.Italian]: LanguageCode.Italian,\n [Language.Japanese]: LanguageCode.Japanese,\n [Language.Korean]: LanguageCode.Korean,\n [Language.Norwegian]: LanguageCode.Norwegian,\n [Language.Polish]: LanguageCode.Polish,\n [Language.Portuguese]: LanguageCode.Portuguese,\n [Language.Russian]: LanguageCode.Russian,\n [Language.SimplifiedChinese]: LanguageCode.Chinese,\n [Language.Spanish]: LanguageCode.Spanish,\n [Language.Swedish]: LanguageCode.Swedish,\n [Language.Thai]: LanguageCode.Thai,\n [Language.TraditionalChinese]: LanguageCode.Chinese,\n [Language.Turkish]: LanguageCode.Turkish,\n [Language.Vietnamese]: LanguageCode.Vietnamese,\n} satisfies Record<Language, LanguageCode>;\n\nconst LANGUAGE_CODE_TO_PROMPT_LANGUAGE = {\n [LanguageCode.Arabic]: Language.Arabic,\n [LanguageCode.Chinese]: Language.SimplifiedChinese,\n [LanguageCode.Danish]: Language.Danish,\n [LanguageCode.Dutch]: Language.Dutch,\n [LanguageCode.English]: Language.English,\n [LanguageCode.Finnish]: Language.Finnish,\n [LanguageCode.French]: Language.French,\n [LanguageCode.German]: Language.German,\n [LanguageCode.Hindi]: Language.Hindi,\n [LanguageCode.Indonesian]: Language.Indonesian,\n [LanguageCode.Italian]: Language.Italian,\n [LanguageCode.Japanese]: Language.Japanese,\n [LanguageCode.Korean]: Language.Korean,\n [LanguageCode.Norwegian]: Language.Norwegian,\n [LanguageCode.Polish]: Language.Polish,\n [LanguageCode.Portuguese]: Language.Portuguese,\n [LanguageCode.Russian]: Language.Russian,\n [LanguageCode.Spanish]: Language.Spanish,\n [LanguageCode.Swedish]: Language.Swedish,\n [LanguageCode.Thai]: Language.Thai,\n [LanguageCode.Turkish]: Language.Turkish,\n [LanguageCode.Vietnamese]: Language.Vietnamese,\n} satisfies Record<LanguageCode, Language>;\n\nconst LANGUAGE_CODE_ALIASES = new Map<string, LanguageCode>([\n [\"ar\", LanguageCode.Arabic],\n [\"ara\", LanguageCode.Arabic],\n [\"arabic\", LanguageCode.Arabic],\n [\"da\", LanguageCode.Danish],\n [\"danish\", LanguageCode.Danish],\n [\"de\", LanguageCode.German],\n [\"deu\", LanguageCode.German],\n [\"dut\", LanguageCode.Dutch],\n [\"dutch\", LanguageCode.Dutch],\n [\"en\", LanguageCode.English],\n [\"eng\", LanguageCode.English],\n [\"english\", LanguageCode.English],\n [\"fi\", LanguageCode.Finnish],\n [\"fin\", LanguageCode.Finnish],\n [\"finnish\", LanguageCode.Finnish],\n [\"fr\", LanguageCode.French],\n [\"fra\", LanguageCode.French],\n [\"fre\", LanguageCode.French],\n [\"french\", LanguageCode.French],\n [\"ger\", LanguageCode.German],\n [\"german\", LanguageCode.German],\n [\"hi\", LanguageCode.Hindi],\n [\"hin\", LanguageCode.Hindi],\n [\"hindi\", LanguageCode.Hindi],\n [\"id\", LanguageCode.Indonesian],\n [\"ind\", LanguageCode.Indonesian],\n [\"indonesian\", LanguageCode.Indonesian],\n [\"it\", LanguageCode.Italian],\n [\"ita\", LanguageCode.Italian],\n [\"italian\", LanguageCode.Italian],\n [\"ja\", LanguageCode.Japanese],\n [\"japanese\", LanguageCode.Japanese],\n [\"jpn\", LanguageCode.Japanese],\n [\"ko\", LanguageCode.Korean],\n [\"kor\", LanguageCode.Korean],\n [\"korean\", LanguageCode.Korean],\n [\"nl\", LanguageCode.Dutch],\n [\"no\", LanguageCode.Norwegian],\n [\"nor\", LanguageCode.Norwegian],\n [\"norwegian\", LanguageCode.Norwegian],\n [\"pl\", LanguageCode.Polish],\n [\"pol\", LanguageCode.Polish],\n [\"polish\", LanguageCode.Polish],\n [\"por\", LanguageCode.Portuguese],\n [\"portuguese\", LanguageCode.Portuguese],\n [\"pt\", LanguageCode.Portuguese],\n [\"ru\", LanguageCode.Russian],\n [\"rus\", LanguageCode.Russian],\n [\"russian\", LanguageCode.Russian],\n [\"spa\", LanguageCode.Spanish],\n [\"spanish\", LanguageCode.Spanish],\n [\"es\", LanguageCode.Spanish],\n [\"sv\", LanguageCode.Swedish],\n [\"swe\", LanguageCode.Swedish],\n [\"swedish\", LanguageCode.Swedish],\n [\"th\", LanguageCode.Thai],\n [\"tha\", LanguageCode.Thai],\n [\"thai\", LanguageCode.Thai],\n [\"tr\", LanguageCode.Turkish],\n [\"tur\", LanguageCode.Turkish],\n [\"turkish\", LanguageCode.Turkish],\n [\"vi\", LanguageCode.Vietnamese],\n [\"vie\", LanguageCode.Vietnamese],\n [\"vietnamese\", LanguageCode.Vietnamese],\n [\"zh\", LanguageCode.Chinese],\n [\"zh-cn\", LanguageCode.Chinese],\n [\"zh-hans\", LanguageCode.Chinese],\n [\"zh-sg\", LanguageCode.Chinese],\n [\"zh-tw\", LanguageCode.Chinese],\n [\"zh-hant\", LanguageCode.Chinese],\n [\"zh-hk\", LanguageCode.Chinese],\n [\"cn\", LanguageCode.Chinese],\n [\"chi\", LanguageCode.Chinese],\n [\"chinese\", LanguageCode.Chinese],\n [\"simplified chinese\", LanguageCode.Chinese],\n [\"traditional chinese\", LanguageCode.Chinese],\n [\"zho\", LanguageCode.Chinese],\n]);\n\nexport function getLanguageCode(language: Language): LanguageCode {\n return LANGUAGE_TO_CODE[language];\n}\n\nexport function formatLanguageForPrompt(code: LanguageCode): Language {\n return LANGUAGE_CODE_TO_PROMPT_LANGUAGE[code];\n}\n\nexport function normalizeLanguageCode(\n language: Language | string | null | undefined,\n): LanguageCode | undefined {\n const normalized = language?.trim().toLowerCase().replaceAll(\"_\", \"-\");\n\n if (normalized === undefined || normalized === \"\") {\n return undefined;\n }\n\n return LANGUAGE_CODE_ALIASES.get(normalized);\n}\n\nexport function getWikipageLanguageCode(\n language: Language | string | null | undefined,\n): \"en\" | \"zh\" | undefined {\n const code = normalizeLanguageCode(language);\n\n if (code === LanguageCode.English || code === LanguageCode.Chinese) {\n return code;\n }\n\n return undefined;\n}\n"],"mappings":"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","names":["Language","LanguageCode"]}
@@ -0,0 +1,19 @@
1
+ declare enum WikiGraphScope {
2
+ EditorCompress = "serial-generation/editor-compress",
3
+ EditorReview = "serial-generation/editor-review",
4
+ EditorReviewGuide = "serial-generation/editor-review-guide",
5
+ ReaderChoice = "serial-generation/reader-choice",
6
+ ReaderExtraction = "serial-generation/reader-extraction"
7
+ }
8
+ declare const WIKI_GRAPH_SCOPES: readonly [WikiGraphScope.EditorCompress, WikiGraphScope.EditorReview, WikiGraphScope.EditorReviewGuide, WikiGraphScope.ReaderChoice, WikiGraphScope.ReaderExtraction];
9
+ declare const WIKI_GRAPH_EDITOR_SCOPES: Readonly<{
10
+ compress: WikiGraphScope.EditorCompress;
11
+ review: WikiGraphScope.EditorReview;
12
+ reviewGuide: WikiGraphScope.EditorReviewGuide;
13
+ }>;
14
+ declare const WIKI_GRAPH_READER_SCOPES: Readonly<{
15
+ choice: WikiGraphScope.ReaderChoice;
16
+ extraction: WikiGraphScope.ReaderExtraction;
17
+ }>;
18
+
19
+ export { WIKI_GRAPH_EDITOR_SCOPES, WIKI_GRAPH_READER_SCOPES, WIKI_GRAPH_SCOPES, WikiGraphScope };