@ncukondo/search-hub 0.1.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 (319) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +93 -0
  3. package/dist/_virtual/___vite-browser-external.js +7 -0
  4. package/dist/_virtual/___vite-browser-external.js.map +1 -0
  5. package/dist/_virtual/__vite-browser-external.js +5 -0
  6. package/dist/_virtual/__vite-browser-external.js.map +1 -0
  7. package/dist/_virtual/_commonjsHelpers.js +28 -0
  8. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  9. package/dist/_virtual/cli-progress.js +6 -0
  10. package/dist/_virtual/cli-progress.js.map +1 -0
  11. package/dist/_virtual/index.js +5 -0
  12. package/dist/_virtual/index.js.map +1 -0
  13. package/dist/_virtual/index2.js +5 -0
  14. package/dist/_virtual/index2.js.map +1 -0
  15. package/dist/cli/commands/config.d.ts +37 -0
  16. package/dist/cli/commands/config.d.ts.map +1 -0
  17. package/dist/cli/commands/config.js +117 -0
  18. package/dist/cli/commands/config.js.map +1 -0
  19. package/dist/cli/commands/export.d.ts +26 -0
  20. package/dist/cli/commands/export.d.ts.map +1 -0
  21. package/dist/cli/commands/export.js +86 -0
  22. package/dist/cli/commands/export.js.map +1 -0
  23. package/dist/cli/commands/init.d.ts +45 -0
  24. package/dist/cli/commands/init.d.ts.map +1 -0
  25. package/dist/cli/commands/init.js +134 -0
  26. package/dist/cli/commands/init.js.map +1 -0
  27. package/dist/cli/commands/query/translate.d.ts +32 -0
  28. package/dist/cli/commands/query/translate.d.ts.map +1 -0
  29. package/dist/cli/commands/query/translate.js +76 -0
  30. package/dist/cli/commands/query/translate.js.map +1 -0
  31. package/dist/cli/commands/query/validate.d.ts +25 -0
  32. package/dist/cli/commands/query/validate.d.ts.map +1 -0
  33. package/dist/cli/commands/query/validate.js +68 -0
  34. package/dist/cli/commands/query/validate.js.map +1 -0
  35. package/dist/cli/commands/register.d.ts +39 -0
  36. package/dist/cli/commands/register.d.ts.map +1 -0
  37. package/dist/cli/commands/register.js +78 -0
  38. package/dist/cli/commands/register.js.map +1 -0
  39. package/dist/cli/commands/resume-executor.d.ts +19 -0
  40. package/dist/cli/commands/resume-executor.d.ts.map +1 -0
  41. package/dist/cli/commands/resume-executor.js +170 -0
  42. package/dist/cli/commands/resume-executor.js.map +1 -0
  43. package/dist/cli/commands/resume.d.ts +26 -0
  44. package/dist/cli/commands/resume.d.ts.map +1 -0
  45. package/dist/cli/commands/resume.js +51 -0
  46. package/dist/cli/commands/resume.js.map +1 -0
  47. package/dist/cli/commands/search-executor.d.ts +26 -0
  48. package/dist/cli/commands/search-executor.d.ts.map +1 -0
  49. package/dist/cli/commands/search-executor.js +315 -0
  50. package/dist/cli/commands/search-executor.js.map +1 -0
  51. package/dist/cli/commands/search.d.ts +30 -0
  52. package/dist/cli/commands/search.d.ts.map +1 -0
  53. package/dist/cli/commands/search.js +67 -0
  54. package/dist/cli/commands/search.js.map +1 -0
  55. package/dist/cli/commands/status.d.ts +41 -0
  56. package/dist/cli/commands/status.d.ts.map +1 -0
  57. package/dist/cli/commands/status.js +123 -0
  58. package/dist/cli/commands/status.js.map +1 -0
  59. package/dist/cli/e2e-helpers.d.ts +165 -0
  60. package/dist/cli/e2e-helpers.d.ts.map +1 -0
  61. package/dist/cli/exit-codes.d.ts +25 -0
  62. package/dist/cli/exit-codes.d.ts.map +1 -0
  63. package/dist/cli/exit-codes.js +18 -0
  64. package/dist/cli/exit-codes.js.map +1 -0
  65. package/dist/cli/index.d.ts +25 -0
  66. package/dist/cli/index.d.ts.map +1 -0
  67. package/dist/cli/index.js +638 -0
  68. package/dist/cli/index.js.map +1 -0
  69. package/dist/cli/utils/progress.d.ts +24 -0
  70. package/dist/cli/utils/progress.d.ts.map +1 -0
  71. package/dist/cli/utils/progress.js +128 -0
  72. package/dist/cli/utils/progress.js.map +1 -0
  73. package/dist/cli/utils/sessions-dir.d.ts +14 -0
  74. package/dist/cli/utils/sessions-dir.d.ts.map +1 -0
  75. package/dist/cli/utils/sessions-dir.js +21 -0
  76. package/dist/cli/utils/sessions-dir.js.map +1 -0
  77. package/dist/cli/utils/validation.d.ts +18 -0
  78. package/dist/cli/utils/validation.d.ts.map +1 -0
  79. package/dist/cli/utils/validation.js +24 -0
  80. package/dist/cli/utils/validation.js.map +1 -0
  81. package/dist/config/defaults.d.ts +12 -0
  82. package/dist/config/defaults.d.ts.map +1 -0
  83. package/dist/config/defaults.js +10 -0
  84. package/dist/config/defaults.js.map +1 -0
  85. package/dist/config/env.d.ts +12 -0
  86. package/dist/config/env.d.ts.map +1 -0
  87. package/dist/config/env.js +36 -0
  88. package/dist/config/env.js.map +1 -0
  89. package/dist/config/index.d.ts +9 -0
  90. package/dist/config/index.d.ts.map +1 -0
  91. package/dist/config/loader.d.ts +49 -0
  92. package/dist/config/loader.d.ts.map +1 -0
  93. package/dist/config/loader.js +72 -0
  94. package/dist/config/loader.js.map +1 -0
  95. package/dist/config/paths.d.ts +23 -0
  96. package/dist/config/paths.d.ts.map +1 -0
  97. package/dist/config/paths.js +22 -0
  98. package/dist/config/paths.js.map +1 -0
  99. package/dist/config/schema.d.ts +109 -0
  100. package/dist/config/schema.d.ts.map +1 -0
  101. package/dist/config/schema.js +74 -0
  102. package/dist/config/schema.js.map +1 -0
  103. package/dist/index.d.ts +11 -0
  104. package/dist/index.d.ts.map +1 -0
  105. package/dist/index.js +54 -0
  106. package/dist/index.js.map +1 -0
  107. package/dist/integration/ref-cli.d.ts +41 -0
  108. package/dist/integration/ref-cli.d.ts.map +1 -0
  109. package/dist/integration/ref-cli.js +132 -0
  110. package/dist/integration/ref-cli.js.map +1 -0
  111. package/dist/integration/register.d.ts +27 -0
  112. package/dist/integration/register.d.ts.map +1 -0
  113. package/dist/integration/register.js +108 -0
  114. package/dist/integration/register.js.map +1 -0
  115. package/dist/integration/types.d.ts +61 -0
  116. package/dist/integration/types.d.ts.map +1 -0
  117. package/dist/integration/types.js +61 -0
  118. package/dist/integration/types.js.map +1 -0
  119. package/dist/node_modules/cli-progress/cli-progress.js +37 -0
  120. package/dist/node_modules/cli-progress/cli-progress.js.map +1 -0
  121. package/dist/node_modules/cli-progress/lib/eta.js +52 -0
  122. package/dist/node_modules/cli-progress/lib/eta.js.map +1 -0
  123. package/dist/node_modules/cli-progress/lib/format-bar.js +16 -0
  124. package/dist/node_modules/cli-progress/lib/format-bar.js.map +1 -0
  125. package/dist/node_modules/cli-progress/lib/format-time.js +32 -0
  126. package/dist/node_modules/cli-progress/lib/format-time.js.map +1 -0
  127. package/dist/node_modules/cli-progress/lib/format-value.js +25 -0
  128. package/dist/node_modules/cli-progress/lib/format-value.js.map +1 -0
  129. package/dist/node_modules/cli-progress/lib/formatter.js +57 -0
  130. package/dist/node_modules/cli-progress/lib/formatter.js.map +1 -0
  131. package/dist/node_modules/cli-progress/lib/generic-bar.js +137 -0
  132. package/dist/node_modules/cli-progress/lib/generic-bar.js.map +1 -0
  133. package/dist/node_modules/cli-progress/lib/multi-bar.js +147 -0
  134. package/dist/node_modules/cli-progress/lib/multi-bar.js.map +1 -0
  135. package/dist/node_modules/cli-progress/lib/options.js +59 -0
  136. package/dist/node_modules/cli-progress/lib/options.js.map +1 -0
  137. package/dist/node_modules/cli-progress/lib/single-bar.js +95 -0
  138. package/dist/node_modules/cli-progress/lib/single-bar.js.map +1 -0
  139. package/dist/node_modules/cli-progress/lib/terminal.js +125 -0
  140. package/dist/node_modules/cli-progress/lib/terminal.js.map +1 -0
  141. package/dist/node_modules/cli-progress/node_modules/ansi-regex/index.js +18 -0
  142. package/dist/node_modules/cli-progress/node_modules/ansi-regex/index.js.map +1 -0
  143. package/dist/node_modules/cli-progress/node_modules/emoji-regex/index.js +14 -0
  144. package/dist/node_modules/cli-progress/node_modules/emoji-regex/index.js.map +1 -0
  145. package/dist/node_modules/cli-progress/node_modules/string-width/index.js +44 -0
  146. package/dist/node_modules/cli-progress/node_modules/string-width/index.js.map +1 -0
  147. package/dist/node_modules/cli-progress/node_modules/strip-ansi/index.js +14 -0
  148. package/dist/node_modules/cli-progress/node_modules/strip-ansi/index.js.map +1 -0
  149. package/dist/node_modules/cli-progress/presets/index.js +25 -0
  150. package/dist/node_modules/cli-progress/presets/index.js.map +1 -0
  151. package/dist/node_modules/cli-progress/presets/legacy.js +16 -0
  152. package/dist/node_modules/cli-progress/presets/legacy.js.map +1 -0
  153. package/dist/node_modules/cli-progress/presets/rect.js +16 -0
  154. package/dist/node_modules/cli-progress/presets/rect.js.map +1 -0
  155. package/dist/node_modules/cli-progress/presets/shades-classic.js +16 -0
  156. package/dist/node_modules/cli-progress/presets/shades-classic.js.map +1 -0
  157. package/dist/node_modules/cli-progress/presets/shades-grey.js +16 -0
  158. package/dist/node_modules/cli-progress/presets/shades-grey.js.map +1 -0
  159. package/dist/node_modules/env-paths/index.js +58 -0
  160. package/dist/node_modules/env-paths/index.js.map +1 -0
  161. package/dist/node_modules/fast-xml-parser/src/ignoreAttributes.js +22 -0
  162. package/dist/node_modules/fast-xml-parser/src/ignoreAttributes.js.map +1 -0
  163. package/dist/node_modules/fast-xml-parser/src/util.js +33 -0
  164. package/dist/node_modules/fast-xml-parser/src/util.js.map +1 -0
  165. package/dist/node_modules/fast-xml-parser/src/validator.js +309 -0
  166. package/dist/node_modules/fast-xml-parser/src/validator.js.map +1 -0
  167. package/dist/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +265 -0
  168. package/dist/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js.map +1 -0
  169. package/dist/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +53 -0
  170. package/dist/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js.map +1 -0
  171. package/dist/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +515 -0
  172. package/dist/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js.map +1 -0
  173. package/dist/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +68 -0
  174. package/dist/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js.map +1 -0
  175. package/dist/node_modules/fast-xml-parser/src/xmlparser/node2json.js +88 -0
  176. package/dist/node_modules/fast-xml-parser/src/xmlparser/node2json.js.map +1 -0
  177. package/dist/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +36 -0
  178. package/dist/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js.map +1 -0
  179. package/dist/node_modules/is-fullwidth-code-point/index.js +37 -0
  180. package/dist/node_modules/is-fullwidth-code-point/index.js.map +1 -0
  181. package/dist/node_modules/strnum/strnum.js +100 -0
  182. package/dist/node_modules/strnum/strnum.js.map +1 -0
  183. package/dist/providers/arxiv/client.d.ts +54 -0
  184. package/dist/providers/arxiv/client.d.ts.map +1 -0
  185. package/dist/providers/arxiv/client.js +105 -0
  186. package/dist/providers/arxiv/client.js.map +1 -0
  187. package/dist/providers/arxiv/index.d.ts +14 -0
  188. package/dist/providers/arxiv/index.d.ts.map +1 -0
  189. package/dist/providers/arxiv/parser.d.ts +16 -0
  190. package/dist/providers/arxiv/parser.d.ts.map +1 -0
  191. package/dist/providers/arxiv/parser.js +144 -0
  192. package/dist/providers/arxiv/parser.js.map +1 -0
  193. package/dist/providers/arxiv/provider.d.ts +39 -0
  194. package/dist/providers/arxiv/provider.d.ts.map +1 -0
  195. package/dist/providers/arxiv/provider.js +153 -0
  196. package/dist/providers/arxiv/provider.js.map +1 -0
  197. package/dist/providers/arxiv/translator.d.ts +17 -0
  198. package/dist/providers/arxiv/translator.d.ts.map +1 -0
  199. package/dist/providers/arxiv/translator.js +112 -0
  200. package/dist/providers/arxiv/translator.js.map +1 -0
  201. package/dist/providers/arxiv/types.d.ts +71 -0
  202. package/dist/providers/arxiv/types.d.ts.map +1 -0
  203. package/dist/providers/arxiv/types.js +17 -0
  204. package/dist/providers/arxiv/types.js.map +1 -0
  205. package/dist/providers/base/index.d.ts +16 -0
  206. package/dist/providers/base/index.d.ts.map +1 -0
  207. package/dist/providers/base/mock-provider.d.ts +76 -0
  208. package/dist/providers/base/mock-provider.d.ts.map +1 -0
  209. package/dist/providers/base/mock-provider.js +159 -0
  210. package/dist/providers/base/mock-provider.js.map +1 -0
  211. package/dist/providers/base/provider.d.ts +95 -0
  212. package/dist/providers/base/provider.d.ts.map +1 -0
  213. package/dist/providers/base/provider.js +117 -0
  214. package/dist/providers/base/provider.js.map +1 -0
  215. package/dist/providers/base/rate-limiter.d.ts +70 -0
  216. package/dist/providers/base/rate-limiter.d.ts.map +1 -0
  217. package/dist/providers/base/rate-limiter.js +111 -0
  218. package/dist/providers/base/rate-limiter.js.map +1 -0
  219. package/dist/providers/base/registry.d.ts +52 -0
  220. package/dist/providers/base/registry.d.ts.map +1 -0
  221. package/dist/providers/base/registry.js +55 -0
  222. package/dist/providers/base/registry.js.map +1 -0
  223. package/dist/providers/base/types.d.ts +163 -0
  224. package/dist/providers/base/types.d.ts.map +1 -0
  225. package/dist/providers/base/types.js +29 -0
  226. package/dist/providers/base/types.js.map +1 -0
  227. package/dist/providers/eric/client.d.ts +40 -0
  228. package/dist/providers/eric/client.d.ts.map +1 -0
  229. package/dist/providers/eric/client.js +93 -0
  230. package/dist/providers/eric/client.js.map +1 -0
  231. package/dist/providers/eric/index.d.ts +14 -0
  232. package/dist/providers/eric/index.d.ts.map +1 -0
  233. package/dist/providers/eric/parser.d.ts +21 -0
  234. package/dist/providers/eric/parser.d.ts.map +1 -0
  235. package/dist/providers/eric/parser.js +86 -0
  236. package/dist/providers/eric/parser.js.map +1 -0
  237. package/dist/providers/eric/provider.d.ts +59 -0
  238. package/dist/providers/eric/provider.d.ts.map +1 -0
  239. package/dist/providers/eric/provider.js +166 -0
  240. package/dist/providers/eric/provider.js.map +1 -0
  241. package/dist/providers/eric/translator.d.ts +12 -0
  242. package/dist/providers/eric/translator.d.ts.map +1 -0
  243. package/dist/providers/eric/translator.js +81 -0
  244. package/dist/providers/eric/translator.js.map +1 -0
  245. package/dist/providers/eric/types.d.ts +84 -0
  246. package/dist/providers/eric/types.d.ts.map +1 -0
  247. package/dist/providers/pubmed/client.d.ts +54 -0
  248. package/dist/providers/pubmed/client.d.ts.map +1 -0
  249. package/dist/providers/pubmed/client.js +141 -0
  250. package/dist/providers/pubmed/client.js.map +1 -0
  251. package/dist/providers/pubmed/index.d.ts +27 -0
  252. package/dist/providers/pubmed/index.d.ts.map +1 -0
  253. package/dist/providers/pubmed/parser.d.ts +22 -0
  254. package/dist/providers/pubmed/parser.d.ts.map +1 -0
  255. package/dist/providers/pubmed/parser.js +174 -0
  256. package/dist/providers/pubmed/parser.js.map +1 -0
  257. package/dist/providers/pubmed/provider.d.ts +44 -0
  258. package/dist/providers/pubmed/provider.d.ts.map +1 -0
  259. package/dist/providers/pubmed/provider.js +224 -0
  260. package/dist/providers/pubmed/provider.js.map +1 -0
  261. package/dist/providers/pubmed/translator.d.ts +7 -0
  262. package/dist/providers/pubmed/translator.d.ts.map +1 -0
  263. package/dist/providers/pubmed/translator.js +143 -0
  264. package/dist/providers/pubmed/translator.js.map +1 -0
  265. package/dist/providers/pubmed/types.d.ts +72 -0
  266. package/dist/providers/pubmed/types.d.ts.map +1 -0
  267. package/dist/providers/scopus/client.d.ts +64 -0
  268. package/dist/providers/scopus/client.d.ts.map +1 -0
  269. package/dist/providers/scopus/client.js +155 -0
  270. package/dist/providers/scopus/client.js.map +1 -0
  271. package/dist/providers/scopus/index.d.ts +21 -0
  272. package/dist/providers/scopus/index.d.ts.map +1 -0
  273. package/dist/providers/scopus/parser.d.ts +11 -0
  274. package/dist/providers/scopus/parser.d.ts.map +1 -0
  275. package/dist/providers/scopus/parser.js +128 -0
  276. package/dist/providers/scopus/parser.js.map +1 -0
  277. package/dist/providers/scopus/provider.d.ts +39 -0
  278. package/dist/providers/scopus/provider.d.ts.map +1 -0
  279. package/dist/providers/scopus/provider.js +175 -0
  280. package/dist/providers/scopus/provider.js.map +1 -0
  281. package/dist/providers/scopus/translator.d.ts +7 -0
  282. package/dist/providers/scopus/translator.d.ts.map +1 -0
  283. package/dist/providers/scopus/translator.js +83 -0
  284. package/dist/providers/scopus/translator.js.map +1 -0
  285. package/dist/providers/scopus/types.d.ts +86 -0
  286. package/dist/providers/scopus/types.d.ts.map +1 -0
  287. package/dist/query/index.d.ts +12 -0
  288. package/dist/query/index.d.ts.map +1 -0
  289. package/dist/query/parser.d.ts +18 -0
  290. package/dist/query/parser.d.ts.map +1 -0
  291. package/dist/query/parser.js +16 -0
  292. package/dist/query/parser.js.map +1 -0
  293. package/dist/query/types.d.ts +85 -0
  294. package/dist/query/types.d.ts.map +1 -0
  295. package/dist/query/validator.d.ts +635 -0
  296. package/dist/query/validator.d.ts.map +1 -0
  297. package/dist/query/validator.js +117 -0
  298. package/dist/query/validator.js.map +1 -0
  299. package/dist/session/index.d.ts +14 -0
  300. package/dist/session/index.d.ts.map +1 -0
  301. package/dist/session/logger.d.ts +15 -0
  302. package/dist/session/logger.d.ts.map +1 -0
  303. package/dist/session/logger.js +18 -0
  304. package/dist/session/logger.js.map +1 -0
  305. package/dist/session/manager.d.ts +63 -0
  306. package/dist/session/manager.d.ts.map +1 -0
  307. package/dist/session/manager.js +193 -0
  308. package/dist/session/manager.js.map +1 -0
  309. package/dist/session/types.d.ts +182 -0
  310. package/dist/session/types.d.ts.map +1 -0
  311. package/dist/utils/deep-merge.d.ts +17 -0
  312. package/dist/utils/deep-merge.d.ts.map +1 -0
  313. package/dist/utils/deep-merge.js +23 -0
  314. package/dist/utils/deep-merge.js.map +1 -0
  315. package/dist/utils/path.d.ts +9 -0
  316. package/dist/utils/path.d.ts.map +1 -0
  317. package/dist/utils/path.js +15 -0
  318. package/dist/utils/path.js.map +1 -0
  319. package/package.json +82 -0
@@ -0,0 +1,635 @@
1
+ import { z } from 'zod';
2
+ import { QueryAST } from './types.js';
3
+ /**
4
+ * Schema for field types.
5
+ */
6
+ export declare const fieldTypeSchema: z.ZodEnum<{
7
+ title: "title";
8
+ abstract: "abstract";
9
+ title_abstract: "title_abstract";
10
+ author: "author";
11
+ keyword: "keyword";
12
+ all: "all";
13
+ }>;
14
+ /**
15
+ * Schema for term block containing search terms.
16
+ */
17
+ export declare const termBlockSchema: z.ZodObject<{
18
+ keywords: z.ZodArray<z.ZodString>;
19
+ mesh: z.ZodOptional<z.ZodArray<z.ZodString>>;
20
+ emtree: z.ZodOptional<z.ZodArray<z.ZodString>>;
21
+ }, z.core.$strip>;
22
+ /**
23
+ * Schema for operator.
24
+ */
25
+ export declare const operatorSchema: z.ZodEnum<{
26
+ AND: "AND";
27
+ OR: "OR";
28
+ }>;
29
+ /**
30
+ * Schema for query block.
31
+ */
32
+ export declare const queryBlockSchema: z.ZodObject<{
33
+ field: z.ZodEnum<{
34
+ title: "title";
35
+ abstract: "abstract";
36
+ title_abstract: "title_abstract";
37
+ author: "author";
38
+ keyword: "keyword";
39
+ all: "all";
40
+ }>;
41
+ terms: z.ZodObject<{
42
+ keywords: z.ZodArray<z.ZodString>;
43
+ mesh: z.ZodOptional<z.ZodArray<z.ZodString>>;
44
+ emtree: z.ZodOptional<z.ZodArray<z.ZodString>>;
45
+ }, z.core.$strip>;
46
+ operator: z.ZodEnum<{
47
+ AND: "AND";
48
+ OR: "OR";
49
+ }>;
50
+ }, z.core.$strip>;
51
+ /**
52
+ * Schema for publication type filter.
53
+ */
54
+ export declare const publicationTypeFilterSchema: z.ZodObject<{
55
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
56
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
57
+ }, z.core.$strip>;
58
+ /**
59
+ * Schema for filters (YAML input format with snake_case).
60
+ * Transforms to camelCase for internal use.
61
+ */
62
+ export declare const filtersSchema: z.ZodPipe<z.ZodDefault<z.ZodOptional<z.ZodObject<{
63
+ year_from: z.ZodOptional<z.ZodNumber>;
64
+ year_to: z.ZodOptional<z.ZodNumber>;
65
+ language: z.ZodOptional<z.ZodArray<z.ZodString>>;
66
+ publication_types: z.ZodOptional<z.ZodObject<{
67
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
68
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
69
+ }, z.core.$strip>>;
70
+ }, z.core.$strip>>>, z.ZodTransform<{
71
+ yearFrom: number | undefined;
72
+ yearTo: number | undefined;
73
+ languages: string[] | undefined;
74
+ publicationTypes: {
75
+ include?: string[] | undefined;
76
+ exclude?: string[] | undefined;
77
+ } | undefined;
78
+ }, {
79
+ year_from?: number | undefined;
80
+ year_to?: number | undefined;
81
+ language?: string[] | undefined;
82
+ publication_types?: {
83
+ include?: string[] | undefined;
84
+ exclude?: string[] | undefined;
85
+ } | undefined;
86
+ }>>;
87
+ /**
88
+ * Schema for override block (YAML input format).
89
+ */
90
+ export declare const overrideBlockSchema: z.ZodPipe<z.ZodObject<{
91
+ filters: z.ZodOptional<z.ZodObject<{
92
+ year_from: z.ZodOptional<z.ZodNumber>;
93
+ year_to: z.ZodOptional<z.ZodNumber>;
94
+ language: z.ZodOptional<z.ZodArray<z.ZodString>>;
95
+ publication_types: z.ZodOptional<z.ZodObject<{
96
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
97
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
98
+ }, z.core.$strip>>;
99
+ }, z.core.$strip>>;
100
+ categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
101
+ source_types: z.ZodOptional<z.ZodArray<z.ZodString>>;
102
+ }, z.core.$strip>, z.ZodTransform<{
103
+ filters: {
104
+ yearFrom: number | undefined;
105
+ yearTo: number | undefined;
106
+ languages: string[] | undefined;
107
+ publicationTypes: {
108
+ include?: string[] | undefined;
109
+ exclude?: string[] | undefined;
110
+ } | undefined;
111
+ } | undefined;
112
+ categories: string[] | undefined;
113
+ sourceTypes: string[] | undefined;
114
+ }, {
115
+ filters?: {
116
+ year_from?: number | undefined;
117
+ year_to?: number | undefined;
118
+ language?: string[] | undefined;
119
+ publication_types?: {
120
+ include?: string[] | undefined;
121
+ exclude?: string[] | undefined;
122
+ } | undefined;
123
+ } | undefined;
124
+ categories?: string[] | undefined;
125
+ source_types?: string[] | undefined;
126
+ }>>;
127
+ /**
128
+ * Provider names schema.
129
+ */
130
+ export declare const providerNameSchema: z.ZodEnum<{
131
+ pubmed: "pubmed";
132
+ eric: "eric";
133
+ arxiv: "arxiv";
134
+ scopus: "scopus";
135
+ wos: "wos";
136
+ embase: "embase";
137
+ }>;
138
+ /**
139
+ * Schema for the complete query file (YAML input format).
140
+ * Transforms to QueryAST for internal use.
141
+ */
142
+ export declare const queryFileSchema: z.ZodPipe<z.ZodObject<{
143
+ name: z.ZodString;
144
+ description: z.ZodOptional<z.ZodString>;
145
+ query: z.ZodArray<z.ZodObject<{
146
+ field: z.ZodEnum<{
147
+ title: "title";
148
+ abstract: "abstract";
149
+ title_abstract: "title_abstract";
150
+ author: "author";
151
+ keyword: "keyword";
152
+ all: "all";
153
+ }>;
154
+ terms: z.ZodObject<{
155
+ keywords: z.ZodArray<z.ZodString>;
156
+ mesh: z.ZodOptional<z.ZodArray<z.ZodString>>;
157
+ emtree: z.ZodOptional<z.ZodArray<z.ZodString>>;
158
+ }, z.core.$strip>;
159
+ operator: z.ZodEnum<{
160
+ AND: "AND";
161
+ OR: "OR";
162
+ }>;
163
+ }, z.core.$strip>>;
164
+ filters: z.ZodPipe<z.ZodDefault<z.ZodOptional<z.ZodObject<{
165
+ year_from: z.ZodOptional<z.ZodNumber>;
166
+ year_to: z.ZodOptional<z.ZodNumber>;
167
+ language: z.ZodOptional<z.ZodArray<z.ZodString>>;
168
+ publication_types: z.ZodOptional<z.ZodObject<{
169
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
170
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
171
+ }, z.core.$strip>>;
172
+ }, z.core.$strip>>>, z.ZodTransform<{
173
+ yearFrom: number | undefined;
174
+ yearTo: number | undefined;
175
+ languages: string[] | undefined;
176
+ publicationTypes: {
177
+ include?: string[] | undefined;
178
+ exclude?: string[] | undefined;
179
+ } | undefined;
180
+ }, {
181
+ year_from?: number | undefined;
182
+ year_to?: number | undefined;
183
+ language?: string[] | undefined;
184
+ publication_types?: {
185
+ include?: string[] | undefined;
186
+ exclude?: string[] | undefined;
187
+ } | undefined;
188
+ }>>;
189
+ overrides: z.ZodDefault<z.ZodOptional<z.ZodObject<{
190
+ pubmed: z.ZodOptional<z.ZodPipe<z.ZodObject<{
191
+ filters: z.ZodOptional<z.ZodObject<{
192
+ year_from: z.ZodOptional<z.ZodNumber>;
193
+ year_to: z.ZodOptional<z.ZodNumber>;
194
+ language: z.ZodOptional<z.ZodArray<z.ZodString>>;
195
+ publication_types: z.ZodOptional<z.ZodObject<{
196
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
197
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
198
+ }, z.core.$strip>>;
199
+ }, z.core.$strip>>;
200
+ categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
201
+ source_types: z.ZodOptional<z.ZodArray<z.ZodString>>;
202
+ }, z.core.$strip>, z.ZodTransform<{
203
+ filters: {
204
+ yearFrom: number | undefined;
205
+ yearTo: number | undefined;
206
+ languages: string[] | undefined;
207
+ publicationTypes: {
208
+ include?: string[] | undefined;
209
+ exclude?: string[] | undefined;
210
+ } | undefined;
211
+ } | undefined;
212
+ categories: string[] | undefined;
213
+ sourceTypes: string[] | undefined;
214
+ }, {
215
+ filters?: {
216
+ year_from?: number | undefined;
217
+ year_to?: number | undefined;
218
+ language?: string[] | undefined;
219
+ publication_types?: {
220
+ include?: string[] | undefined;
221
+ exclude?: string[] | undefined;
222
+ } | undefined;
223
+ } | undefined;
224
+ categories?: string[] | undefined;
225
+ source_types?: string[] | undefined;
226
+ }>>>;
227
+ scopus: z.ZodOptional<z.ZodPipe<z.ZodObject<{
228
+ filters: z.ZodOptional<z.ZodObject<{
229
+ year_from: z.ZodOptional<z.ZodNumber>;
230
+ year_to: z.ZodOptional<z.ZodNumber>;
231
+ language: z.ZodOptional<z.ZodArray<z.ZodString>>;
232
+ publication_types: z.ZodOptional<z.ZodObject<{
233
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
234
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
235
+ }, z.core.$strip>>;
236
+ }, z.core.$strip>>;
237
+ categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
238
+ source_types: z.ZodOptional<z.ZodArray<z.ZodString>>;
239
+ }, z.core.$strip>, z.ZodTransform<{
240
+ filters: {
241
+ yearFrom: number | undefined;
242
+ yearTo: number | undefined;
243
+ languages: string[] | undefined;
244
+ publicationTypes: {
245
+ include?: string[] | undefined;
246
+ exclude?: string[] | undefined;
247
+ } | undefined;
248
+ } | undefined;
249
+ categories: string[] | undefined;
250
+ sourceTypes: string[] | undefined;
251
+ }, {
252
+ filters?: {
253
+ year_from?: number | undefined;
254
+ year_to?: number | undefined;
255
+ language?: string[] | undefined;
256
+ publication_types?: {
257
+ include?: string[] | undefined;
258
+ exclude?: string[] | undefined;
259
+ } | undefined;
260
+ } | undefined;
261
+ categories?: string[] | undefined;
262
+ source_types?: string[] | undefined;
263
+ }>>>;
264
+ eric: z.ZodOptional<z.ZodPipe<z.ZodObject<{
265
+ filters: z.ZodOptional<z.ZodObject<{
266
+ year_from: z.ZodOptional<z.ZodNumber>;
267
+ year_to: z.ZodOptional<z.ZodNumber>;
268
+ language: z.ZodOptional<z.ZodArray<z.ZodString>>;
269
+ publication_types: z.ZodOptional<z.ZodObject<{
270
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
271
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
272
+ }, z.core.$strip>>;
273
+ }, z.core.$strip>>;
274
+ categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
275
+ source_types: z.ZodOptional<z.ZodArray<z.ZodString>>;
276
+ }, z.core.$strip>, z.ZodTransform<{
277
+ filters: {
278
+ yearFrom: number | undefined;
279
+ yearTo: number | undefined;
280
+ languages: string[] | undefined;
281
+ publicationTypes: {
282
+ include?: string[] | undefined;
283
+ exclude?: string[] | undefined;
284
+ } | undefined;
285
+ } | undefined;
286
+ categories: string[] | undefined;
287
+ sourceTypes: string[] | undefined;
288
+ }, {
289
+ filters?: {
290
+ year_from?: number | undefined;
291
+ year_to?: number | undefined;
292
+ language?: string[] | undefined;
293
+ publication_types?: {
294
+ include?: string[] | undefined;
295
+ exclude?: string[] | undefined;
296
+ } | undefined;
297
+ } | undefined;
298
+ categories?: string[] | undefined;
299
+ source_types?: string[] | undefined;
300
+ }>>>;
301
+ arxiv: z.ZodOptional<z.ZodPipe<z.ZodObject<{
302
+ filters: z.ZodOptional<z.ZodObject<{
303
+ year_from: z.ZodOptional<z.ZodNumber>;
304
+ year_to: z.ZodOptional<z.ZodNumber>;
305
+ language: z.ZodOptional<z.ZodArray<z.ZodString>>;
306
+ publication_types: z.ZodOptional<z.ZodObject<{
307
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
308
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
309
+ }, z.core.$strip>>;
310
+ }, z.core.$strip>>;
311
+ categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
312
+ source_types: z.ZodOptional<z.ZodArray<z.ZodString>>;
313
+ }, z.core.$strip>, z.ZodTransform<{
314
+ filters: {
315
+ yearFrom: number | undefined;
316
+ yearTo: number | undefined;
317
+ languages: string[] | undefined;
318
+ publicationTypes: {
319
+ include?: string[] | undefined;
320
+ exclude?: string[] | undefined;
321
+ } | undefined;
322
+ } | undefined;
323
+ categories: string[] | undefined;
324
+ sourceTypes: string[] | undefined;
325
+ }, {
326
+ filters?: {
327
+ year_from?: number | undefined;
328
+ year_to?: number | undefined;
329
+ language?: string[] | undefined;
330
+ publication_types?: {
331
+ include?: string[] | undefined;
332
+ exclude?: string[] | undefined;
333
+ } | undefined;
334
+ } | undefined;
335
+ categories?: string[] | undefined;
336
+ source_types?: string[] | undefined;
337
+ }>>>;
338
+ wos: z.ZodOptional<z.ZodPipe<z.ZodObject<{
339
+ filters: z.ZodOptional<z.ZodObject<{
340
+ year_from: z.ZodOptional<z.ZodNumber>;
341
+ year_to: z.ZodOptional<z.ZodNumber>;
342
+ language: z.ZodOptional<z.ZodArray<z.ZodString>>;
343
+ publication_types: z.ZodOptional<z.ZodObject<{
344
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
345
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
346
+ }, z.core.$strip>>;
347
+ }, z.core.$strip>>;
348
+ categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
349
+ source_types: z.ZodOptional<z.ZodArray<z.ZodString>>;
350
+ }, z.core.$strip>, z.ZodTransform<{
351
+ filters: {
352
+ yearFrom: number | undefined;
353
+ yearTo: number | undefined;
354
+ languages: string[] | undefined;
355
+ publicationTypes: {
356
+ include?: string[] | undefined;
357
+ exclude?: string[] | undefined;
358
+ } | undefined;
359
+ } | undefined;
360
+ categories: string[] | undefined;
361
+ sourceTypes: string[] | undefined;
362
+ }, {
363
+ filters?: {
364
+ year_from?: number | undefined;
365
+ year_to?: number | undefined;
366
+ language?: string[] | undefined;
367
+ publication_types?: {
368
+ include?: string[] | undefined;
369
+ exclude?: string[] | undefined;
370
+ } | undefined;
371
+ } | undefined;
372
+ categories?: string[] | undefined;
373
+ source_types?: string[] | undefined;
374
+ }>>>;
375
+ embase: z.ZodOptional<z.ZodPipe<z.ZodObject<{
376
+ filters: z.ZodOptional<z.ZodObject<{
377
+ year_from: z.ZodOptional<z.ZodNumber>;
378
+ year_to: z.ZodOptional<z.ZodNumber>;
379
+ language: z.ZodOptional<z.ZodArray<z.ZodString>>;
380
+ publication_types: z.ZodOptional<z.ZodObject<{
381
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
382
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
383
+ }, z.core.$strip>>;
384
+ }, z.core.$strip>>;
385
+ categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
386
+ source_types: z.ZodOptional<z.ZodArray<z.ZodString>>;
387
+ }, z.core.$strip>, z.ZodTransform<{
388
+ filters: {
389
+ yearFrom: number | undefined;
390
+ yearTo: number | undefined;
391
+ languages: string[] | undefined;
392
+ publicationTypes: {
393
+ include?: string[] | undefined;
394
+ exclude?: string[] | undefined;
395
+ } | undefined;
396
+ } | undefined;
397
+ categories: string[] | undefined;
398
+ sourceTypes: string[] | undefined;
399
+ }, {
400
+ filters?: {
401
+ year_from?: number | undefined;
402
+ year_to?: number | undefined;
403
+ language?: string[] | undefined;
404
+ publication_types?: {
405
+ include?: string[] | undefined;
406
+ exclude?: string[] | undefined;
407
+ } | undefined;
408
+ } | undefined;
409
+ categories?: string[] | undefined;
410
+ source_types?: string[] | undefined;
411
+ }>>>;
412
+ }, z.core.$strip>>>;
413
+ }, z.core.$strip>, z.ZodTransform<{
414
+ name: string;
415
+ description: string | undefined;
416
+ blocks: {
417
+ field: "title" | "abstract" | "title_abstract" | "author" | "keyword" | "all";
418
+ terms: {
419
+ keywords: string[];
420
+ mesh?: string[] | undefined;
421
+ emtree?: string[] | undefined;
422
+ };
423
+ operator: "AND" | "OR";
424
+ }[];
425
+ filters: {
426
+ yearFrom: number | undefined;
427
+ yearTo: number | undefined;
428
+ languages: string[] | undefined;
429
+ publicationTypes: {
430
+ include?: string[] | undefined;
431
+ exclude?: string[] | undefined;
432
+ } | undefined;
433
+ };
434
+ overrides: {
435
+ pubmed?: {
436
+ filters: {
437
+ yearFrom: number | undefined;
438
+ yearTo: number | undefined;
439
+ languages: string[] | undefined;
440
+ publicationTypes: {
441
+ include?: string[] | undefined;
442
+ exclude?: string[] | undefined;
443
+ } | undefined;
444
+ } | undefined;
445
+ categories: string[] | undefined;
446
+ sourceTypes: string[] | undefined;
447
+ } | undefined;
448
+ scopus?: {
449
+ filters: {
450
+ yearFrom: number | undefined;
451
+ yearTo: number | undefined;
452
+ languages: string[] | undefined;
453
+ publicationTypes: {
454
+ include?: string[] | undefined;
455
+ exclude?: string[] | undefined;
456
+ } | undefined;
457
+ } | undefined;
458
+ categories: string[] | undefined;
459
+ sourceTypes: string[] | undefined;
460
+ } | undefined;
461
+ eric?: {
462
+ filters: {
463
+ yearFrom: number | undefined;
464
+ yearTo: number | undefined;
465
+ languages: string[] | undefined;
466
+ publicationTypes: {
467
+ include?: string[] | undefined;
468
+ exclude?: string[] | undefined;
469
+ } | undefined;
470
+ } | undefined;
471
+ categories: string[] | undefined;
472
+ sourceTypes: string[] | undefined;
473
+ } | undefined;
474
+ arxiv?: {
475
+ filters: {
476
+ yearFrom: number | undefined;
477
+ yearTo: number | undefined;
478
+ languages: string[] | undefined;
479
+ publicationTypes: {
480
+ include?: string[] | undefined;
481
+ exclude?: string[] | undefined;
482
+ } | undefined;
483
+ } | undefined;
484
+ categories: string[] | undefined;
485
+ sourceTypes: string[] | undefined;
486
+ } | undefined;
487
+ wos?: {
488
+ filters: {
489
+ yearFrom: number | undefined;
490
+ yearTo: number | undefined;
491
+ languages: string[] | undefined;
492
+ publicationTypes: {
493
+ include?: string[] | undefined;
494
+ exclude?: string[] | undefined;
495
+ } | undefined;
496
+ } | undefined;
497
+ categories: string[] | undefined;
498
+ sourceTypes: string[] | undefined;
499
+ } | undefined;
500
+ embase?: {
501
+ filters: {
502
+ yearFrom: number | undefined;
503
+ yearTo: number | undefined;
504
+ languages: string[] | undefined;
505
+ publicationTypes: {
506
+ include?: string[] | undefined;
507
+ exclude?: string[] | undefined;
508
+ } | undefined;
509
+ } | undefined;
510
+ categories: string[] | undefined;
511
+ sourceTypes: string[] | undefined;
512
+ } | undefined;
513
+ };
514
+ }, {
515
+ name: string;
516
+ query: {
517
+ field: "title" | "abstract" | "title_abstract" | "author" | "keyword" | "all";
518
+ terms: {
519
+ keywords: string[];
520
+ mesh?: string[] | undefined;
521
+ emtree?: string[] | undefined;
522
+ };
523
+ operator: "AND" | "OR";
524
+ }[];
525
+ filters: {
526
+ yearFrom: number | undefined;
527
+ yearTo: number | undefined;
528
+ languages: string[] | undefined;
529
+ publicationTypes: {
530
+ include?: string[] | undefined;
531
+ exclude?: string[] | undefined;
532
+ } | undefined;
533
+ };
534
+ overrides: {
535
+ pubmed?: {
536
+ filters: {
537
+ yearFrom: number | undefined;
538
+ yearTo: number | undefined;
539
+ languages: string[] | undefined;
540
+ publicationTypes: {
541
+ include?: string[] | undefined;
542
+ exclude?: string[] | undefined;
543
+ } | undefined;
544
+ } | undefined;
545
+ categories: string[] | undefined;
546
+ sourceTypes: string[] | undefined;
547
+ } | undefined;
548
+ scopus?: {
549
+ filters: {
550
+ yearFrom: number | undefined;
551
+ yearTo: number | undefined;
552
+ languages: string[] | undefined;
553
+ publicationTypes: {
554
+ include?: string[] | undefined;
555
+ exclude?: string[] | undefined;
556
+ } | undefined;
557
+ } | undefined;
558
+ categories: string[] | undefined;
559
+ sourceTypes: string[] | undefined;
560
+ } | undefined;
561
+ eric?: {
562
+ filters: {
563
+ yearFrom: number | undefined;
564
+ yearTo: number | undefined;
565
+ languages: string[] | undefined;
566
+ publicationTypes: {
567
+ include?: string[] | undefined;
568
+ exclude?: string[] | undefined;
569
+ } | undefined;
570
+ } | undefined;
571
+ categories: string[] | undefined;
572
+ sourceTypes: string[] | undefined;
573
+ } | undefined;
574
+ arxiv?: {
575
+ filters: {
576
+ yearFrom: number | undefined;
577
+ yearTo: number | undefined;
578
+ languages: string[] | undefined;
579
+ publicationTypes: {
580
+ include?: string[] | undefined;
581
+ exclude?: string[] | undefined;
582
+ } | undefined;
583
+ } | undefined;
584
+ categories: string[] | undefined;
585
+ sourceTypes: string[] | undefined;
586
+ } | undefined;
587
+ wos?: {
588
+ filters: {
589
+ yearFrom: number | undefined;
590
+ yearTo: number | undefined;
591
+ languages: string[] | undefined;
592
+ publicationTypes: {
593
+ include?: string[] | undefined;
594
+ exclude?: string[] | undefined;
595
+ } | undefined;
596
+ } | undefined;
597
+ categories: string[] | undefined;
598
+ sourceTypes: string[] | undefined;
599
+ } | undefined;
600
+ embase?: {
601
+ filters: {
602
+ yearFrom: number | undefined;
603
+ yearTo: number | undefined;
604
+ languages: string[] | undefined;
605
+ publicationTypes: {
606
+ include?: string[] | undefined;
607
+ exclude?: string[] | undefined;
608
+ } | undefined;
609
+ } | undefined;
610
+ categories: string[] | undefined;
611
+ sourceTypes: string[] | undefined;
612
+ } | undefined;
613
+ };
614
+ description?: string | undefined;
615
+ }>>;
616
+ /**
617
+ * Validate a parsed YAML object against the query schema.
618
+ * Returns a validated QueryAST.
619
+ */
620
+ export declare function validateQueryFile(data: unknown): QueryAST;
621
+ /**
622
+ * Validation error with path information.
623
+ */
624
+ export declare class ValidationError extends Error {
625
+ readonly path: string;
626
+ constructor(path: string, message: string);
627
+ }
628
+ /**
629
+ * Format Zod validation errors into an array of ValidationError objects.
630
+ *
631
+ * @param data - The data to validate
632
+ * @returns Array of ValidationError objects (empty if valid)
633
+ */
634
+ export declare function formatValidationErrors(data: unknown): ValidationError[];
635
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/query/validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;EAO1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;iBAI1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;EAAwB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;iBAI3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;GAcrB,CAAC;AAEN;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwB3B,CAAC;AAEN;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;EAO7B,CAAC;AAiBH;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAcvB,CAAC;AAEN;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAEzD;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aAEtB,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM;CAKlB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe,EAAE,CAWvE"}