tea-rags 1.10.0 → 1.12.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 (315) hide show
  1. package/build/bootstrap/config/app-config.d.ts +29 -0
  2. package/build/bootstrap/config/app-config.d.ts.map +1 -0
  3. package/build/bootstrap/config/app-config.js +62 -0
  4. package/build/bootstrap/config/app-config.js.map +1 -0
  5. package/build/bootstrap/config/index.d.ts +4 -25
  6. package/build/bootstrap/config/index.d.ts.map +1 -1
  7. package/build/bootstrap/config/index.js +4 -57
  8. package/build/bootstrap/config/index.js.map +1 -1
  9. package/build/bootstrap/config/parse.d.ts.map +1 -1
  10. package/build/bootstrap/config/parse.js +66 -75
  11. package/build/bootstrap/config/parse.js.map +1 -1
  12. package/build/bootstrap/errors.d.ts +29 -0
  13. package/build/bootstrap/errors.d.ts.map +1 -0
  14. package/build/bootstrap/errors.js +50 -0
  15. package/build/bootstrap/errors.js.map +1 -0
  16. package/build/cli/commands/server.d.ts +10 -0
  17. package/build/cli/commands/server.d.ts.map +1 -0
  18. package/build/cli/commands/server.js +51 -0
  19. package/build/cli/commands/server.js.map +1 -0
  20. package/build/cli/config/loader.d.ts +13 -0
  21. package/build/cli/config/loader.d.ts.map +1 -0
  22. package/build/cli/config/loader.js +49 -0
  23. package/build/cli/config/loader.js.map +1 -0
  24. package/build/cli/create-cli.d.ts +7 -0
  25. package/build/cli/create-cli.d.ts.map +1 -0
  26. package/build/cli/create-cli.js +16 -0
  27. package/build/cli/create-cli.js.map +1 -0
  28. package/build/cli/index.d.ts +3 -0
  29. package/build/cli/index.d.ts.map +1 -0
  30. package/build/cli/index.js +9 -0
  31. package/build/cli/index.js.map +1 -0
  32. package/build/core/adapters/embeddings/cohere/errors.d.ts +11 -0
  33. package/build/core/adapters/embeddings/cohere/errors.d.ts.map +1 -0
  34. package/build/core/adapters/embeddings/cohere/errors.js +27 -0
  35. package/build/core/adapters/embeddings/cohere/errors.js.map +1 -0
  36. package/build/core/adapters/embeddings/cohere.d.ts.map +1 -1
  37. package/build/core/adapters/embeddings/cohere.js +20 -18
  38. package/build/core/adapters/embeddings/cohere.js.map +1 -1
  39. package/build/core/adapters/embeddings/errors.d.ts +11 -0
  40. package/build/core/adapters/embeddings/errors.d.ts.map +1 -0
  41. package/build/core/adapters/embeddings/errors.js +11 -0
  42. package/build/core/adapters/embeddings/errors.js.map +1 -0
  43. package/build/core/adapters/embeddings/factory.d.ts.map +1 -1
  44. package/build/core/adapters/embeddings/factory.js +5 -4
  45. package/build/core/adapters/embeddings/factory.js.map +1 -1
  46. package/build/core/adapters/embeddings/ollama/errors.d.ts +13 -0
  47. package/build/core/adapters/embeddings/ollama/errors.d.ts.map +1 -0
  48. package/build/core/adapters/embeddings/ollama/errors.js +29 -0
  49. package/build/core/adapters/embeddings/ollama/errors.js.map +1 -0
  50. package/build/core/adapters/embeddings/ollama.d.ts +1 -0
  51. package/build/core/adapters/embeddings/ollama.d.ts.map +1 -1
  52. package/build/core/adapters/embeddings/ollama.js +39 -44
  53. package/build/core/adapters/embeddings/ollama.js.map +1 -1
  54. package/build/core/adapters/embeddings/onnx/errors.d.ts +14 -0
  55. package/build/core/adapters/embeddings/onnx/errors.d.ts.map +1 -0
  56. package/build/core/adapters/embeddings/onnx/errors.js +37 -0
  57. package/build/core/adapters/embeddings/onnx/errors.js.map +1 -0
  58. package/build/core/adapters/embeddings/onnx/worker.js +2 -2
  59. package/build/core/adapters/embeddings/onnx/worker.js.map +1 -1
  60. package/build/core/adapters/embeddings/onnx.d.ts.map +1 -1
  61. package/build/core/adapters/embeddings/onnx.js +7 -6
  62. package/build/core/adapters/embeddings/onnx.js.map +1 -1
  63. package/build/core/adapters/embeddings/openai/errors.d.ts +11 -0
  64. package/build/core/adapters/embeddings/openai/errors.d.ts.map +1 -0
  65. package/build/core/adapters/embeddings/openai/errors.js +27 -0
  66. package/build/core/adapters/embeddings/openai/errors.js.map +1 -0
  67. package/build/core/adapters/embeddings/openai.d.ts.map +1 -1
  68. package/build/core/adapters/embeddings/openai.js +28 -26
  69. package/build/core/adapters/embeddings/openai.js.map +1 -1
  70. package/build/core/adapters/embeddings/retry.d.ts +16 -0
  71. package/build/core/adapters/embeddings/retry.d.ts.map +1 -0
  72. package/build/core/adapters/embeddings/retry.js +23 -0
  73. package/build/core/adapters/embeddings/retry.js.map +1 -0
  74. package/build/core/adapters/embeddings/voyage/errors.d.ts +11 -0
  75. package/build/core/adapters/embeddings/voyage/errors.d.ts.map +1 -0
  76. package/build/core/adapters/embeddings/voyage/errors.js +27 -0
  77. package/build/core/adapters/embeddings/voyage/errors.js.map +1 -0
  78. package/build/core/adapters/embeddings/voyage.d.ts.map +1 -1
  79. package/build/core/adapters/embeddings/voyage.js +19 -17
  80. package/build/core/adapters/embeddings/voyage.js.map +1 -1
  81. package/build/core/adapters/errors.d.ts +14 -0
  82. package/build/core/adapters/errors.d.ts.map +1 -0
  83. package/build/core/adapters/errors.js +14 -0
  84. package/build/core/adapters/errors.js.map +1 -0
  85. package/build/core/adapters/git/errors.d.ts +11 -0
  86. package/build/core/adapters/git/errors.d.ts.map +1 -0
  87. package/build/core/adapters/git/errors.js +26 -0
  88. package/build/core/adapters/git/errors.js.map +1 -0
  89. package/build/core/adapters/qdrant/aliases.d.ts +19 -0
  90. package/build/core/adapters/qdrant/aliases.d.ts.map +1 -0
  91. package/build/core/adapters/qdrant/aliases.js +89 -0
  92. package/build/core/adapters/qdrant/aliases.js.map +1 -0
  93. package/build/core/adapters/qdrant/client.d.ts +4 -0
  94. package/build/core/adapters/qdrant/client.d.ts.map +1 -1
  95. package/build/core/adapters/qdrant/client.js +21 -8
  96. package/build/core/adapters/qdrant/client.js.map +1 -1
  97. package/build/core/adapters/qdrant/embedded/daemon.d.ts.map +1 -1
  98. package/build/core/adapters/qdrant/embedded/daemon.js +3 -2
  99. package/build/core/adapters/qdrant/embedded/daemon.js.map +1 -1
  100. package/build/core/adapters/qdrant/embedded/download.d.ts.map +1 -1
  101. package/build/core/adapters/qdrant/embedded/download.js +5 -3
  102. package/build/core/adapters/qdrant/embedded/download.js.map +1 -1
  103. package/build/core/adapters/qdrant/errors.d.ts +17 -0
  104. package/build/core/adapters/qdrant/errors.d.ts.map +1 -0
  105. package/build/core/adapters/qdrant/errors.js +49 -0
  106. package/build/core/adapters/qdrant/errors.js.map +1 -0
  107. package/build/core/adapters/qdrant/schema-migration.d.ts +3 -1
  108. package/build/core/adapters/qdrant/schema-migration.d.ts.map +1 -1
  109. package/build/core/adapters/qdrant/schema-migration.js +22 -1
  110. package/build/core/adapters/qdrant/schema-migration.js.map +1 -1
  111. package/build/core/api/errors.d.ts +37 -0
  112. package/build/core/api/errors.d.ts.map +1 -0
  113. package/build/core/api/errors.js +53 -0
  114. package/build/core/api/errors.js.map +1 -0
  115. package/build/core/api/index.d.ts +1 -1
  116. package/build/core/api/index.d.ts.map +1 -1
  117. package/build/core/api/index.js +1 -1
  118. package/build/core/api/index.js.map +1 -1
  119. package/build/core/api/internal/facades/explore-facade.d.ts +2 -5
  120. package/build/core/api/internal/facades/explore-facade.d.ts.map +1 -1
  121. package/build/core/api/internal/facades/explore-facade.js +22 -17
  122. package/build/core/api/internal/facades/explore-facade.js.map +1 -1
  123. package/build/core/api/internal/facades/ingest-facade.d.ts +4 -1
  124. package/build/core/api/internal/facades/ingest-facade.d.ts.map +1 -1
  125. package/build/core/api/internal/facades/ingest-facade.js +30 -1
  126. package/build/core/api/internal/facades/ingest-facade.js.map +1 -1
  127. package/build/core/api/internal/infra/schema-builder.d.ts.map +1 -1
  128. package/build/core/api/internal/infra/schema-builder.js +2 -1
  129. package/build/core/api/internal/infra/schema-builder.js.map +1 -1
  130. package/build/core/api/internal/ops/document-ops.d.ts.map +1 -1
  131. package/build/core/api/internal/ops/document-ops.js +2 -1
  132. package/build/core/api/internal/ops/document-ops.js.map +1 -1
  133. package/build/core/api/public/dto/explore.d.ts +3 -0
  134. package/build/core/api/public/dto/explore.d.ts.map +1 -1
  135. package/build/core/api/public/dto/ingest.d.ts +4 -0
  136. package/build/core/api/public/dto/ingest.d.ts.map +1 -1
  137. package/build/core/contracts/errors.d.ts +21 -0
  138. package/build/core/contracts/errors.d.ts.map +1 -0
  139. package/build/core/contracts/errors.js +5 -0
  140. package/build/core/contracts/errors.js.map +1 -0
  141. package/build/core/contracts/index.d.ts +1 -0
  142. package/build/core/contracts/index.d.ts.map +1 -1
  143. package/build/core/contracts/index.js.map +1 -1
  144. package/build/core/domains/explore/errors.d.ts +35 -0
  145. package/build/core/domains/explore/errors.d.ts.map +1 -0
  146. package/build/core/domains/explore/errors.js +58 -0
  147. package/build/core/domains/explore/errors.js.map +1 -0
  148. package/build/core/domains/explore/index.d.ts +2 -1
  149. package/build/core/domains/explore/index.d.ts.map +1 -1
  150. package/build/core/domains/explore/index.js +2 -1
  151. package/build/core/domains/explore/index.js.map +1 -1
  152. package/build/core/domains/explore/strategies/base.d.ts.map +1 -1
  153. package/build/core/domains/explore/strategies/base.js +7 -2
  154. package/build/core/domains/explore/strategies/base.js.map +1 -1
  155. package/build/core/domains/explore/strategies/factory.d.ts.map +1 -1
  156. package/build/core/domains/explore/strategies/factory.js +2 -1
  157. package/build/core/domains/explore/strategies/factory.js.map +1 -1
  158. package/build/core/domains/explore/strategies/hybrid.d.ts.map +1 -1
  159. package/build/core/domains/explore/strategies/hybrid.js +2 -1
  160. package/build/core/domains/explore/strategies/hybrid.js.map +1 -1
  161. package/build/core/domains/explore/strategies/scroll-rank.d.ts.map +1 -1
  162. package/build/core/domains/explore/strategies/scroll-rank.js +3 -2
  163. package/build/core/domains/explore/strategies/scroll-rank.js.map +1 -1
  164. package/build/core/domains/explore/strategies/types.d.ts +1 -7
  165. package/build/core/domains/explore/strategies/types.d.ts.map +1 -1
  166. package/build/core/domains/explore/strategies/types.js +2 -10
  167. package/build/core/domains/explore/strategies/types.js.map +1 -1
  168. package/build/core/domains/explore/strategies/vector.d.ts.map +1 -1
  169. package/build/core/domains/explore/strategies/vector.js +2 -1
  170. package/build/core/domains/explore/strategies/vector.js.map +1 -1
  171. package/build/core/domains/ingest/alias-cleanup.d.ts +9 -0
  172. package/build/core/domains/ingest/alias-cleanup.d.ts.map +1 -0
  173. package/build/core/domains/ingest/alias-cleanup.js +19 -0
  174. package/build/core/domains/ingest/alias-cleanup.js.map +1 -0
  175. package/build/core/domains/ingest/collection-stats.d.ts.map +1 -1
  176. package/build/core/domains/ingest/collection-stats.js +32 -20
  177. package/build/core/domains/ingest/collection-stats.js.map +1 -1
  178. package/build/core/domains/ingest/errors.d.ts +51 -0
  179. package/build/core/domains/ingest/errors.d.ts.map +1 -0
  180. package/build/core/domains/ingest/errors.js +102 -0
  181. package/build/core/domains/ingest/errors.js.map +1 -0
  182. package/build/core/domains/ingest/index.d.ts +2 -0
  183. package/build/core/domains/ingest/index.d.ts.map +1 -1
  184. package/build/core/domains/ingest/index.js +2 -0
  185. package/build/core/domains/ingest/index.js.map +1 -1
  186. package/build/core/domains/ingest/indexing.d.ts +29 -0
  187. package/build/core/domains/ingest/indexing.d.ts.map +1 -1
  188. package/build/core/domains/ingest/indexing.js +148 -68
  189. package/build/core/domains/ingest/indexing.js.map +1 -1
  190. package/build/core/domains/ingest/pipeline/chunk-pipeline.d.ts +0 -9
  191. package/build/core/domains/ingest/pipeline/chunk-pipeline.d.ts.map +1 -1
  192. package/build/core/domains/ingest/pipeline/chunk-pipeline.js +9 -18
  193. package/build/core/domains/ingest/pipeline/chunk-pipeline.js.map +1 -1
  194. package/build/core/domains/ingest/pipeline/chunker/infra/pool.d.ts.map +1 -1
  195. package/build/core/domains/ingest/pipeline/chunker/infra/pool.js +2 -1
  196. package/build/core/domains/ingest/pipeline/chunker/infra/pool.js.map +1 -1
  197. package/build/core/domains/ingest/pipeline/enrichment/coordinator.d.ts.map +1 -1
  198. package/build/core/domains/ingest/pipeline/enrichment/coordinator.js +67 -59
  199. package/build/core/domains/ingest/pipeline/enrichment/coordinator.js.map +1 -1
  200. package/build/core/domains/ingest/pipeline/infra/worker-pool.js +2 -2
  201. package/build/core/domains/ingest/pipeline/infra/worker-pool.js.map +1 -1
  202. package/build/core/domains/ingest/pipeline/pipeline-manager.d.ts +0 -10
  203. package/build/core/domains/ingest/pipeline/pipeline-manager.d.ts.map +1 -1
  204. package/build/core/domains/ingest/pipeline/pipeline-manager.js +10 -35
  205. package/build/core/domains/ingest/pipeline/pipeline-manager.js.map +1 -1
  206. package/build/core/domains/ingest/pipeline/status-module.d.ts +2 -1
  207. package/build/core/domains/ingest/pipeline/status-module.d.ts.map +1 -1
  208. package/build/core/domains/ingest/pipeline/status-module.js +23 -2
  209. package/build/core/domains/ingest/pipeline/status-module.js.map +1 -1
  210. package/build/core/domains/ingest/reindexing.d.ts +12 -1
  211. package/build/core/domains/ingest/reindexing.d.ts.map +1 -1
  212. package/build/core/domains/ingest/reindexing.js +160 -124
  213. package/build/core/domains/ingest/reindexing.js.map +1 -1
  214. package/build/core/domains/ingest/sync/consistent-hash.d.ts.map +1 -1
  215. package/build/core/domains/ingest/sync/consistent-hash.js +3 -2
  216. package/build/core/domains/ingest/sync/consistent-hash.js.map +1 -1
  217. package/build/core/domains/ingest/sync/migration.d.ts.map +1 -1
  218. package/build/core/domains/ingest/sync/migration.js +2 -1
  219. package/build/core/domains/ingest/sync/migration.js.map +1 -1
  220. package/build/core/domains/ingest/sync/parallel-synchronizer.d.ts +11 -2
  221. package/build/core/domains/ingest/sync/parallel-synchronizer.d.ts.map +1 -1
  222. package/build/core/domains/ingest/sync/parallel-synchronizer.js +47 -6
  223. package/build/core/domains/ingest/sync/parallel-synchronizer.js.map +1 -1
  224. package/build/core/domains/ingest/sync/sharded-snapshot.d.ts +11 -1
  225. package/build/core/domains/ingest/sync/sharded-snapshot.d.ts.map +1 -1
  226. package/build/core/domains/ingest/sync/sharded-snapshot.js +6 -3
  227. package/build/core/domains/ingest/sync/sharded-snapshot.js.map +1 -1
  228. package/build/core/domains/ingest/sync/synchronizer.d.ts.map +1 -1
  229. package/build/core/domains/ingest/sync/synchronizer.js +5 -1
  230. package/build/core/domains/ingest/sync/synchronizer.js.map +1 -1
  231. package/build/core/domains/trajectory/errors.d.ts +49 -0
  232. package/build/core/domains/trajectory/errors.d.ts.map +1 -0
  233. package/build/core/domains/trajectory/errors.js +74 -0
  234. package/build/core/domains/trajectory/errors.js.map +1 -0
  235. package/build/core/domains/trajectory/git/errors.d.ts +5 -0
  236. package/build/core/domains/trajectory/git/errors.d.ts.map +1 -0
  237. package/build/core/domains/trajectory/git/errors.js +5 -0
  238. package/build/core/domains/trajectory/git/errors.js.map +1 -0
  239. package/build/core/domains/trajectory/git/index.d.ts +1 -0
  240. package/build/core/domains/trajectory/git/index.d.ts.map +1 -1
  241. package/build/core/domains/trajectory/git/index.js +1 -0
  242. package/build/core/domains/trajectory/git/index.js.map +1 -1
  243. package/build/core/domains/trajectory/index.d.ts +3 -57
  244. package/build/core/domains/trajectory/index.d.ts.map +1 -1
  245. package/build/core/domains/trajectory/index.js +3 -132
  246. package/build/core/domains/trajectory/index.js.map +1 -1
  247. package/build/core/domains/trajectory/registry.d.ts +60 -0
  248. package/build/core/domains/trajectory/registry.d.ts.map +1 -0
  249. package/build/core/domains/trajectory/registry.js +135 -0
  250. package/build/core/domains/trajectory/registry.js.map +1 -0
  251. package/build/core/domains/trajectory/static/errors.d.ts +5 -0
  252. package/build/core/domains/trajectory/static/errors.d.ts.map +1 -0
  253. package/build/core/domains/trajectory/static/errors.js +5 -0
  254. package/build/core/domains/trajectory/static/errors.js.map +1 -0
  255. package/build/core/domains/trajectory/static/index.d.ts +1 -0
  256. package/build/core/domains/trajectory/static/index.d.ts.map +1 -1
  257. package/build/core/domains/trajectory/static/index.js +1 -0
  258. package/build/core/domains/trajectory/static/index.js.map +1 -1
  259. package/build/core/domains/trajectory/static/rerank/derived-signals/chunk-density.d.ts.map +1 -1
  260. package/build/core/domains/trajectory/static/rerank/derived-signals/chunk-density.js +2 -0
  261. package/build/core/domains/trajectory/static/rerank/derived-signals/chunk-density.js.map +1 -1
  262. package/build/core/domains/trajectory/static/rerank/derived-signals/chunk-size.d.ts.map +1 -1
  263. package/build/core/domains/trajectory/static/rerank/derived-signals/chunk-size.js +2 -0
  264. package/build/core/domains/trajectory/static/rerank/derived-signals/chunk-size.js.map +1 -1
  265. package/build/core/infra/collection-name.d.ts +3 -4
  266. package/build/core/infra/collection-name.d.ts.map +1 -1
  267. package/build/core/infra/collection-name.js +7 -9
  268. package/build/core/infra/collection-name.js.map +1 -1
  269. package/build/core/infra/errors.d.ts +40 -0
  270. package/build/core/infra/errors.d.ts.map +1 -0
  271. package/build/core/infra/errors.js +53 -0
  272. package/build/core/infra/errors.js.map +1 -0
  273. package/build/core/types.d.ts +8 -0
  274. package/build/core/types.d.ts.map +1 -1
  275. package/build/index.js +0 -2
  276. package/build/index.js.map +1 -1
  277. package/build/mcp/middleware/error-handler.d.ts +42 -0
  278. package/build/mcp/middleware/error-handler.d.ts.map +1 -0
  279. package/build/mcp/middleware/error-handler.js +47 -0
  280. package/build/mcp/middleware/error-handler.js.map +1 -0
  281. package/build/mcp/prompts/loader.d.ts.map +1 -1
  282. package/build/mcp/prompts/loader.js +4 -3
  283. package/build/mcp/prompts/loader.js.map +1 -1
  284. package/build/mcp/prompts/template.d.ts.map +1 -1
  285. package/build/mcp/prompts/template.js +2 -1
  286. package/build/mcp/prompts/template.js.map +1 -1
  287. package/build/mcp/resources/index.d.ts +2 -15
  288. package/build/mcp/resources/index.d.ts.map +1 -1
  289. package/build/mcp/resources/index.js +2 -334
  290. package/build/mcp/resources/index.js.map +1 -1
  291. package/build/mcp/resources/registry.d.ts +18 -0
  292. package/build/mcp/resources/registry.d.ts.map +1 -0
  293. package/build/mcp/resources/registry.js +338 -0
  294. package/build/mcp/resources/registry.js.map +1 -0
  295. package/build/mcp/tools/code.d.ts.map +1 -1
  296. package/build/mcp/tools/code.js +97 -119
  297. package/build/mcp/tools/code.js.map +1 -1
  298. package/build/mcp/tools/collection.d.ts.map +1 -1
  299. package/build/mcp/tools/collection.js +17 -36
  300. package/build/mcp/tools/collection.js.map +1 -1
  301. package/build/mcp/tools/document.d.ts.map +1 -1
  302. package/build/mcp/tools/document.js +8 -17
  303. package/build/mcp/tools/document.js.map +1 -1
  304. package/build/mcp/tools/explore.d.ts.map +1 -1
  305. package/build/mcp/tools/explore.js +31 -47
  306. package/build/mcp/tools/explore.js.map +1 -1
  307. package/build/mcp/tools/schemas.d.ts +11 -36
  308. package/build/mcp/tools/schemas.d.ts.map +1 -1
  309. package/build/mcp/tools/schemas.js +36 -28
  310. package/build/mcp/tools/schemas.js.map +1 -1
  311. package/package.json +5 -2
  312. package/build/bootstrap/ollama.d.ts +0 -2
  313. package/build/bootstrap/ollama.d.ts.map +0 -1
  314. package/build/bootstrap/ollama.js +0 -56
  315. package/build/bootstrap/ollama.js.map +0 -1
@@ -0,0 +1,29 @@
1
+ /**
2
+ * AppConfig — resolves Zod config slices into the typed AppConfig structure.
3
+ */
4
+ import type { IngestCodeConfig, TrajectoryIngestConfig } from "../../core/types.js";
5
+ import { parseAppConfigZod } from "./parse.js";
6
+ export interface ResolvedPaths {
7
+ appData: string;
8
+ snapshots: string;
9
+ logs: string;
10
+ models: string;
11
+ daemonSocket: string;
12
+ daemonPid: string;
13
+ }
14
+ export interface AppConfig {
15
+ qdrantUrl?: string;
16
+ qdrantApiKey?: string;
17
+ embeddingProvider: string;
18
+ transportMode: "stdio" | "http";
19
+ httpPort: number;
20
+ requestTimeoutMs: number;
21
+ promptsConfigFile: string;
22
+ ingestCode: IngestCodeConfig;
23
+ trajectoryIngest: TrajectoryIngestConfig;
24
+ paths: ResolvedPaths;
25
+ }
26
+ /** Get the full Zod config from the last parseAppConfig() call */
27
+ export declare function getZodConfig(): ReturnType<typeof parseAppConfigZod>;
28
+ export declare function parseAppConfig(): AppConfig;
29
+ //# sourceMappingURL=app-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-config.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/config/app-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,OAAO,GAAG,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,KAAK,EAAE,aAAa,CAAC;CACtB;AAID,kEAAkE;AAClE,wBAAgB,YAAY,IAAI,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAGnE;AAED,wBAAgB,cAAc,IAAI,SAAS,CAgD1C"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * AppConfig — resolves Zod config slices into the typed AppConfig structure.
3
+ */
4
+ import { ConfigNotInitializedError } from "../errors.js";
5
+ import { DEFAULT_CODE_EXTENSIONS, DEFAULT_IGNORE_PATTERNS } from "./defaults.js";
6
+ import { parseAppConfigZod } from "./parse.js";
7
+ import { appDataDir, daemonPidFile, daemonSocketPath, logsDir, modelsDir, snapshotsDir } from "./paths.js";
8
+ let _lastZodConfig = null;
9
+ /** Get the full Zod config from the last parseAppConfig() call */
10
+ export function getZodConfig() {
11
+ if (!_lastZodConfig)
12
+ throw new ConfigNotInitializedError("zodConfig", "parseAppConfig");
13
+ return _lastZodConfig;
14
+ }
15
+ export function parseAppConfig() {
16
+ const zodConfig = parseAppConfigZod();
17
+ _lastZodConfig = zodConfig;
18
+ const paths = {
19
+ appData: appDataDir(),
20
+ snapshots: snapshotsDir(),
21
+ logs: logsDir(),
22
+ models: modelsDir(),
23
+ daemonSocket: daemonSocketPath(),
24
+ daemonPid: daemonPidFile(),
25
+ };
26
+ // Bridge Zod slices to typed AppConfig for consumers
27
+ return {
28
+ qdrantUrl: zodConfig.core.qdrantUrl,
29
+ qdrantApiKey: zodConfig.core.qdrantApiKey,
30
+ embeddingProvider: zodConfig.embedding.provider,
31
+ transportMode: zodConfig.core.transportMode,
32
+ httpPort: zodConfig.core.httpPort,
33
+ requestTimeoutMs: zodConfig.core.requestTimeoutMs,
34
+ promptsConfigFile: zodConfig.core.promptsConfigFile,
35
+ ingestCode: {
36
+ chunkSize: zodConfig.ingest.chunkSize,
37
+ chunkOverlap: zodConfig.ingest.chunkOverlap,
38
+ supportedExtensions: DEFAULT_CODE_EXTENSIONS,
39
+ ignorePatterns: DEFAULT_IGNORE_PATTERNS,
40
+ enableHybridSearch: zodConfig.ingest.enableHybrid,
41
+ quantizationScalar: zodConfig.qdrantTune.quantizationScalar,
42
+ enableGitMetadata: zodConfig.trajectoryGit.enabled,
43
+ maxChunksPerFile: undefined,
44
+ maxTotalChunks: undefined,
45
+ },
46
+ paths,
47
+ trajectoryIngest: {
48
+ enableGitMetadata: zodConfig.trajectoryGit.enabled,
49
+ squashAwareSessions: zodConfig.trajectoryGit.squashAwareSessions,
50
+ sessionGapMinutes: zodConfig.trajectoryGit.sessionGapMinutes,
51
+ trajectoryGit: {
52
+ logMaxAgeMonths: zodConfig.trajectoryGit.logMaxAgeMonths,
53
+ logTimeoutMs: zodConfig.trajectoryGit.logTimeoutMs,
54
+ chunkConcurrency: zodConfig.trajectoryGit.chunkConcurrency,
55
+ chunkMaxAgeMonths: zodConfig.trajectoryGit.chunkMaxAgeMonths,
56
+ chunkTimeoutMs: zodConfig.trajectoryGit.chunkTimeoutMs,
57
+ chunkMaxFileLines: zodConfig.trajectoryGit.chunkMaxFileLines,
58
+ },
59
+ },
60
+ };
61
+ }
62
+ //# sourceMappingURL=app-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-config.js","sourceRoot":"","sources":["../../../src/bootstrap/config/app-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAwB3G,IAAI,cAAc,GAAgD,IAAI,CAAC;AAEvE,kEAAkE;AAClE,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC,cAAc;QAAE,MAAM,IAAI,yBAAyB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IACxF,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;IACtC,cAAc,GAAG,SAAS,CAAC;IAE3B,MAAM,KAAK,GAAkB;QAC3B,OAAO,EAAE,UAAU,EAAE;QACrB,SAAS,EAAE,YAAY,EAAE;QACzB,IAAI,EAAE,OAAO,EAAE;QACf,MAAM,EAAE,SAAS,EAAE;QACnB,YAAY,EAAE,gBAAgB,EAAE;QAChC,SAAS,EAAE,aAAa,EAAE;KAC3B,CAAC;IAEF,qDAAqD;IACrD,OAAO;QACL,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS;QACnC,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,YAAY;QACzC,iBAAiB,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ;QAC/C,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,aAAa;QAC3C,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ;QACjC,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC,gBAAgB;QACjD,iBAAiB,EAAE,SAAS,CAAC,IAAI,CAAC,iBAAiB;QACnD,UAAU,EAAE;YACV,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS;YACrC,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY;YAC3C,mBAAmB,EAAE,uBAAuB;YAC5C,cAAc,EAAE,uBAAuB;YACvC,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY;YACjD,kBAAkB,EAAE,SAAS,CAAC,UAAU,CAAC,kBAAkB;YAC3D,iBAAiB,EAAE,SAAS,CAAC,aAAa,CAAC,OAAO;YAClD,gBAAgB,EAAE,SAAS;YAC3B,cAAc,EAAE,SAAS;SAC1B;QACD,KAAK;QACL,gBAAgB,EAAE;YAChB,iBAAiB,EAAE,SAAS,CAAC,aAAa,CAAC,OAAO;YAClD,mBAAmB,EAAE,SAAS,CAAC,aAAa,CAAC,mBAAmB;YAChE,iBAAiB,EAAE,SAAS,CAAC,aAAa,CAAC,iBAAiB;YAC5D,aAAa,EAAE;gBACb,eAAe,EAAE,SAAS,CAAC,aAAa,CAAC,eAAe;gBACxD,YAAY,EAAE,SAAS,CAAC,aAAa,CAAC,YAAY;gBAClD,gBAAgB,EAAE,SAAS,CAAC,aAAa,CAAC,gBAAgB;gBAC1D,iBAAiB,EAAE,SAAS,CAAC,aAAa,CAAC,iBAAiB;gBAC5D,cAAc,EAAE,SAAS,CAAC,aAAa,CAAC,cAAc;gBACtD,iBAAiB,EAAE,SAAS,CAAC,aAAa,CAAC,iBAAiB;aAC7D;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1,31 +1,10 @@
1
- import type { IngestCodeConfig, TrajectoryIngestConfig } from "../../core/types.js";
2
- import { parseAppConfigZod } from "./parse.js";
1
+ /**
2
+ * Bootstrap config barrel — re-exports public API.
3
+ */
4
+ export * from "./app-config.js";
3
5
  export * from "./defaults.js";
4
6
  export * from "./paths.js";
5
7
  export * from "./utils.js";
6
8
  export * from "./schemas.js";
7
9
  export * from "./parse.js";
8
- export interface ResolvedPaths {
9
- appData: string;
10
- snapshots: string;
11
- logs: string;
12
- models: string;
13
- daemonSocket: string;
14
- daemonPid: string;
15
- }
16
- export interface AppConfig {
17
- qdrantUrl?: string;
18
- qdrantApiKey?: string;
19
- embeddingProvider: string;
20
- transportMode: "stdio" | "http";
21
- httpPort: number;
22
- requestTimeoutMs: number;
23
- promptsConfigFile: string;
24
- ingestCode: IngestCodeConfig;
25
- trajectoryIngest: TrajectoryIngestConfig;
26
- paths: ResolvedPaths;
27
- }
28
- /** Get the full Zod config from the last parseAppConfig() call */
29
- export declare function getZodConfig(): ReturnType<typeof parseAppConfigZod>;
30
- export declare function parseAppConfig(): AppConfig;
31
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAE3B,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,OAAO,GAAG,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,KAAK,EAAE,aAAa,CAAC;CACtB;AAID,kEAAkE;AAClE,wBAAgB,YAAY,IAAI,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAGnE;AAED,wBAAgB,cAAc,IAAI,SAAS,CAgD1C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
@@ -1,63 +1,10 @@
1
- import { DEFAULT_CODE_EXTENSIONS, DEFAULT_IGNORE_PATTERNS } from "./defaults.js";
2
- import { parseAppConfigZod } from "./parse.js";
3
- import { appDataDir, daemonPidFile, daemonSocketPath, logsDir, modelsDir, snapshotsDir } from "./paths.js";
1
+ /**
2
+ * Bootstrap config barrel — re-exports public API.
3
+ */
4
+ export * from "./app-config.js";
4
5
  export * from "./defaults.js";
5
6
  export * from "./paths.js";
6
7
  export * from "./utils.js";
7
8
  export * from "./schemas.js";
8
9
  export * from "./parse.js";
9
- let _lastZodConfig = null;
10
- /** Get the full Zod config from the last parseAppConfig() call */
11
- export function getZodConfig() {
12
- if (!_lastZodConfig)
13
- throw new Error("parseAppConfig() must be called first");
14
- return _lastZodConfig;
15
- }
16
- export function parseAppConfig() {
17
- const zodConfig = parseAppConfigZod();
18
- _lastZodConfig = zodConfig;
19
- const paths = {
20
- appData: appDataDir(),
21
- snapshots: snapshotsDir(),
22
- logs: logsDir(),
23
- models: modelsDir(),
24
- daemonSocket: daemonSocketPath(),
25
- daemonPid: daemonPidFile(),
26
- };
27
- // Bridge Zod slices to typed AppConfig for consumers
28
- return {
29
- qdrantUrl: zodConfig.core.qdrantUrl,
30
- qdrantApiKey: zodConfig.core.qdrantApiKey,
31
- embeddingProvider: zodConfig.embedding.provider,
32
- transportMode: zodConfig.core.transportMode,
33
- httpPort: zodConfig.core.httpPort,
34
- requestTimeoutMs: zodConfig.core.requestTimeoutMs,
35
- promptsConfigFile: zodConfig.core.promptsConfigFile,
36
- ingestCode: {
37
- chunkSize: zodConfig.ingest.chunkSize,
38
- chunkOverlap: zodConfig.ingest.chunkOverlap,
39
- supportedExtensions: DEFAULT_CODE_EXTENSIONS,
40
- ignorePatterns: DEFAULT_IGNORE_PATTERNS,
41
- enableHybridSearch: zodConfig.ingest.enableHybrid,
42
- quantizationScalar: zodConfig.qdrantTune.quantizationScalar,
43
- enableGitMetadata: zodConfig.trajectoryGit.enabled,
44
- maxChunksPerFile: undefined,
45
- maxTotalChunks: undefined,
46
- },
47
- paths,
48
- trajectoryIngest: {
49
- enableGitMetadata: zodConfig.trajectoryGit.enabled,
50
- squashAwareSessions: zodConfig.trajectoryGit.squashAwareSessions,
51
- sessionGapMinutes: zodConfig.trajectoryGit.sessionGapMinutes,
52
- trajectoryGit: {
53
- logMaxAgeMonths: zodConfig.trajectoryGit.logMaxAgeMonths,
54
- logTimeoutMs: zodConfig.trajectoryGit.logTimeoutMs,
55
- chunkConcurrency: zodConfig.trajectoryGit.chunkConcurrency,
56
- chunkMaxAgeMonths: zodConfig.trajectoryGit.chunkMaxAgeMonths,
57
- chunkTimeoutMs: zodConfig.trajectoryGit.chunkTimeoutMs,
58
- chunkMaxFileLines: zodConfig.trajectoryGit.chunkMaxFileLines,
59
- },
60
- },
61
- };
62
- }
63
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bootstrap/config/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE3G,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAwB3B,IAAI,cAAc,GAAgD,IAAI,CAAC;AAEvE,kEAAkE;AAClE,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC9E,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;IACtC,cAAc,GAAG,SAAS,CAAC;IAE3B,MAAM,KAAK,GAAkB;QAC3B,OAAO,EAAE,UAAU,EAAE;QACrB,SAAS,EAAE,YAAY,EAAE;QACzB,IAAI,EAAE,OAAO,EAAE;QACf,MAAM,EAAE,SAAS,EAAE;QACnB,YAAY,EAAE,gBAAgB,EAAE;QAChC,SAAS,EAAE,aAAa,EAAE;KAC3B,CAAC;IAEF,qDAAqD;IACrD,OAAO;QACL,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS;QACnC,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,YAAY;QACzC,iBAAiB,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ;QAC/C,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,aAAa;QAC3C,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ;QACjC,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC,gBAAgB;QACjD,iBAAiB,EAAE,SAAS,CAAC,IAAI,CAAC,iBAAiB;QACnD,UAAU,EAAE;YACV,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS;YACrC,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY;YAC3C,mBAAmB,EAAE,uBAAuB;YAC5C,cAAc,EAAE,uBAAuB;YACvC,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY;YACjD,kBAAkB,EAAE,SAAS,CAAC,UAAU,CAAC,kBAAkB;YAC3D,iBAAiB,EAAE,SAAS,CAAC,aAAa,CAAC,OAAO;YAClD,gBAAgB,EAAE,SAAS;YAC3B,cAAc,EAAE,SAAS;SAC1B;QACD,KAAK;QACL,gBAAgB,EAAE;YAChB,iBAAiB,EAAE,SAAS,CAAC,aAAa,CAAC,OAAO;YAClD,mBAAmB,EAAE,SAAS,CAAC,aAAa,CAAC,mBAAmB;YAChE,iBAAiB,EAAE,SAAS,CAAC,aAAa,CAAC,iBAAiB;YAC5D,aAAa,EAAE;gBACb,eAAe,EAAE,SAAS,CAAC,aAAa,CAAC,eAAe;gBACxD,YAAY,EAAE,SAAS,CAAC,aAAa,CAAC,YAAY;gBAClD,gBAAgB,EAAE,SAAS,CAAC,aAAa,CAAC,gBAAgB;gBAC1D,iBAAiB,EAAE,SAAS,CAAC,aAAa,CAAC,iBAAiB;gBAC5D,cAAc,EAAE,SAAS,CAAC,aAAa,CAAC,cAAc;gBACtD,iBAAiB,EAAE,SAAS,CAAC,aAAa,CAAC,iBAAiB;aAC7D;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bootstrap/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/config/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAErE,wBAAgB,iBAAiB,IAAI;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,mBAAmB,CAAC;IACnC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,KAAK,EAAE;QAAE,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC;CACtC,CAoJA;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAI3E;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgBrE"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/config/parse.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAkHrE,wBAAgB,iBAAiB,IAAI;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,mBAAmB,CAAC;IACnC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,KAAK,EAAE;QAAE,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC;CACtC,CA2BA;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAI3E;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgBrE"}
@@ -1,9 +1,42 @@
1
+ import { ConfigValueInvalidError, ConfigValueMissingError } from "../errors.js";
1
2
  import { coreSchema, embeddingSchema, ingestSchema, qdrantTuneSchema, trajectoryGitSchema, } from "./schemas.js";
2
3
  import { envWithFallback } from "./utils.js";
3
- export function parseAppConfigZod() {
4
- const deprecations = [];
5
- const env = (name, ...fallbacks) => envWithFallback(deprecations, name, ...fallbacks);
6
- const coreInput = {
4
+ function validateSchema(schema, input, section) {
5
+ const result = schema.safeParse(input);
6
+ if (!result.success) {
7
+ const issues = result.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; ");
8
+ throw new ConfigValueInvalidError(section, "invalid", issues);
9
+ }
10
+ return result.data;
11
+ }
12
+ function validateApiKey(embedding) {
13
+ if (embedding.provider === "ollama" || embedding.provider === "onnx")
14
+ return;
15
+ const keyMap = {
16
+ openai: "openaiApiKey",
17
+ cohere: "cohereApiKey",
18
+ voyage: "voyageApiKey",
19
+ };
20
+ const envMap = {
21
+ openai: "OPENAI_API_KEY",
22
+ cohere: "COHERE_API_KEY",
23
+ voyage: "VOYAGE_API_KEY",
24
+ };
25
+ const keyField = keyMap[embedding.provider];
26
+ if (keyField && !embedding[keyField]) {
27
+ throw new ConfigValueMissingError(keyField, envMap[embedding.provider]);
28
+ }
29
+ }
30
+ const PROVIDER_BATCH_DEFAULTS = {
31
+ onnx: 32,
32
+ ollama: 1024,
33
+ openai: 2048,
34
+ cohere: 96,
35
+ voyage: 128,
36
+ };
37
+ function buildEnvInputs(env) {
38
+ const userSetBatchSize = env("EMBEDDING_TUNE_BATCH_SIZE", "EMBEDDING_BATCH_SIZE", "CODE_BATCH_SIZE");
39
+ const core = {
7
40
  debug: env("DEBUG"),
8
41
  qdrantUrl: env("QDRANT_URL"),
9
42
  qdrantApiKey: env("QDRANT_API_KEY"),
@@ -12,8 +45,7 @@ export function parseAppConfigZod() {
12
45
  requestTimeoutMs: env("SERVER_HTTP_TIMEOUT_MS", "HTTP_REQUEST_TIMEOUT_MS"),
13
46
  promptsConfigFile: env("SERVER_PROMPTS_FILE", "PROMPTS_CONFIG_FILE"),
14
47
  };
15
- const userSetBatchSize = env("EMBEDDING_TUNE_BATCH_SIZE", "EMBEDDING_BATCH_SIZE", "CODE_BATCH_SIZE");
16
- const embeddingTuneInput = {
48
+ const embeddingTune = {
17
49
  batchSize: userSetBatchSize,
18
50
  minBatchSize: env("EMBEDDING_TUNE_MIN_BATCH_SIZE", "MIN_BATCH_SIZE"),
19
51
  batchTimeoutMs: env("EMBEDDING_TUNE_BATCH_TIMEOUT_MS", "BATCH_FORMATION_TIMEOUT_MS"),
@@ -21,33 +53,33 @@ export function parseAppConfigZod() {
21
53
  retryAttempts: env("EMBEDDING_TUNE_RETRY_ATTEMPTS", "EMBEDDING_RETRY_ATTEMPTS"),
22
54
  retryDelayMs: env("EMBEDDING_TUNE_RETRY_DELAY_MS", "EMBEDDING_RETRY_DELAY"),
23
55
  };
24
- const embeddingInput = {
56
+ const embedding = {
25
57
  provider: env("EMBEDDING_PROVIDER"),
26
58
  model: env("EMBEDDING_MODEL"),
27
59
  dimensions: env("EMBEDDING_DIMENSIONS"),
28
60
  device: env("EMBEDDING_DEVICE"),
29
- baseUrl: env("EMBEDDING_BASE_URL"),
61
+ baseUrl: env("EMBEDDING_BASE_URL", "OLLAMA_URL"),
30
62
  ollamaLegacyApi: env("OLLAMA_LEGACY_API"),
31
63
  ollamaNumGpu: env("OLLAMA_NUM_GPU"),
32
64
  openaiApiKey: env("OPENAI_API_KEY"),
33
65
  cohereApiKey: env("COHERE_API_KEY"),
34
66
  voyageApiKey: env("VOYAGE_API_KEY"),
35
- tune: embeddingTuneInput,
67
+ tune: embeddingTune,
36
68
  };
37
- const ingestTuneInput = {
69
+ const ingestTune = {
38
70
  pipelineConcurrency: env("INGEST_PIPELINE_CONCURRENCY", "EMBEDDING_TUNE_CONCURRENCY", "EMBEDDING_CONCURRENCY"),
39
71
  chunkerPoolSize: env("INGEST_TUNE_CHUNKER_POOL_SIZE", "CHUNKER_POOL_SIZE"),
40
72
  fileConcurrency: env("INGEST_TUNE_FILE_CONCURRENCY", "FILE_PROCESSING_CONCURRENCY"),
41
73
  ioConcurrency: env("INGEST_TUNE_IO_CONCURRENCY", "MAX_IO_CONCURRENCY"),
42
74
  };
43
- const ingestInput = {
75
+ const ingest = {
44
76
  chunkSize: env("INGEST_CHUNK_SIZE", "CODE_CHUNK_SIZE"),
45
77
  chunkOverlap: env("INGEST_CHUNK_OVERLAP", "CODE_CHUNK_OVERLAP"),
46
78
  enableAST: env("INGEST_ENABLE_AST", "CODE_ENABLE_AST"),
47
79
  enableHybrid: env("INGEST_ENABLE_HYBRID", "CODE_ENABLE_HYBRID"),
48
- tune: ingestTuneInput,
80
+ tune: ingestTune,
49
81
  };
50
- const trajectoryGitInput = {
82
+ const trajectoryGit = {
51
83
  enabled: env("TRAJECTORY_GIT_ENABLED", "CODE_ENABLE_GIT_METADATA"),
52
84
  logMaxAgeMonths: env("TRAJECTORY_GIT_LOG_MAX_AGE_MONTHS", "GIT_LOG_MAX_AGE_MONTHS"),
53
85
  logTimeoutMs: env("TRAJECTORY_GIT_LOG_TIMEOUT_MS", "GIT_LOG_TIMEOUT_MS"),
@@ -58,7 +90,7 @@ export function parseAppConfigZod() {
58
90
  squashAwareSessions: env("TRAJECTORY_GIT_SQUASH_AWARE_SESSIONS"),
59
91
  sessionGapMinutes: env("TRAJECTORY_GIT_SESSION_GAP_MINUTES"),
60
92
  };
61
- const qdrantTuneInput = {
93
+ const qdrantTune = {
62
94
  upsertBatchSize: env("QDRANT_TUNE_UPSERT_BATCH_SIZE", "QDRANT_UPSERT_BATCH_SIZE", "CODE_BATCH_SIZE"),
63
95
  upsertFlushIntervalMs: env("QDRANT_TUNE_UPSERT_FLUSH_INTERVAL_MS", "QDRANT_FLUSH_INTERVAL_MS"),
64
96
  upsertOrdering: env("QDRANT_TUNE_UPSERT_ORDERING", "QDRANT_BATCH_ORDERING") ?? "weak",
@@ -67,70 +99,29 @@ export function parseAppConfigZod() {
67
99
  deleteFlushTimeoutMs: env("QDRANT_TUNE_DELETE_FLUSH_TIMEOUT_MS", "DELETE_FLUSH_TIMEOUT_MS"),
68
100
  quantizationScalar: env("QDRANT_QUANTIZATION_SCALAR"),
69
101
  };
70
- const coreResult = coreSchema.safeParse(coreInput);
71
- if (!coreResult.success) {
72
- const issues = coreResult.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; ");
73
- throw new Error(`Invalid config (core): ${issues}`);
74
- }
75
- const embeddingResult = embeddingSchema.safeParse(embeddingInput);
76
- if (!embeddingResult.success) {
77
- const issues = embeddingResult.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; ");
78
- throw new Error(`Invalid config (embedding): ${issues}`);
79
- }
80
- const ingestResult = ingestSchema.safeParse(ingestInput);
81
- if (!ingestResult.success) {
82
- const issues = ingestResult.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; ");
83
- throw new Error(`Invalid config (ingest): ${issues}`);
84
- }
85
- const trajectoryGitResult = trajectoryGitSchema.safeParse(trajectoryGitInput);
86
- if (!trajectoryGitResult.success) {
87
- const issues = trajectoryGitResult.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; ");
88
- throw new Error(`Invalid config (trajectoryGit): ${issues}`);
89
- }
90
- const qdrantTuneResult = qdrantTuneSchema.safeParse(qdrantTuneInput);
91
- if (!qdrantTuneResult.success) {
92
- const issues = qdrantTuneResult.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; ");
93
- throw new Error(`Invalid config (qdrantTune): ${issues}`);
94
- }
95
- // Validate API keys for non-ollama providers
96
- const embedding = embeddingResult.data;
97
- if (embedding.provider !== "ollama" && embedding.provider !== "onnx") {
98
- const keyMap = {
99
- openai: "openaiApiKey",
100
- cohere: "cohereApiKey",
101
- voyage: "voyageApiKey",
102
- };
103
- const envMap = {
104
- openai: "OPENAI_API_KEY",
105
- cohere: "COHERE_API_KEY",
106
- voyage: "VOYAGE_API_KEY",
107
- };
108
- const keyField = keyMap[embedding.provider];
109
- if (keyField && !embedding[keyField]) {
110
- throw new Error(`${envMap[embedding.provider]} is required for ${embedding.provider} provider.`);
111
- }
112
- }
113
- // Apply provider-specific batch size default if not explicitly set
114
- if (!userSetBatchSize) {
115
- const providerBatchDefaults = {
116
- onnx: 32,
117
- ollama: 1024,
118
- openai: 2048,
119
- cohere: 96,
120
- voyage: 128,
121
- };
122
- embedding.tune.batchSize = providerBatchDefaults[embedding.provider] ?? 1024;
102
+ return { core, embedding, ingest, trajectoryGit, qdrantTune, userSetBatchSize };
103
+ }
104
+ export function parseAppConfigZod() {
105
+ const deprecations = [];
106
+ const env = (name, ...fallbacks) => envWithFallback(deprecations, name, ...fallbacks);
107
+ const inputs = buildEnvInputs(env);
108
+ const core = validateSchema(coreSchema, inputs.core, "core");
109
+ const embedding = validateSchema(embeddingSchema, inputs.embedding, "embedding");
110
+ const ingest = validateSchema(ingestSchema, inputs.ingest, "ingest");
111
+ const trajectoryGit = validateSchema(trajectoryGitSchema, inputs.trajectoryGit, "trajectoryGit");
112
+ const qdrantTune = validateSchema(qdrantTuneSchema, inputs.qdrantTune, "qdrantTune");
113
+ validateApiKey(embedding);
114
+ if (!inputs.userSetBatchSize) {
115
+ embedding.tune.batchSize = PROVIDER_BATCH_DEFAULTS[embedding.provider] ?? 1024;
123
116
  }
124
117
  return {
125
- core: coreResult.data,
126
- embedding: embeddingResult.data,
127
- ingest: ingestResult.data,
128
- trajectoryGit: trajectoryGitResult.data,
129
- qdrantTune: qdrantTuneResult.data,
118
+ core,
119
+ embedding,
120
+ ingest,
121
+ trajectoryGit,
122
+ qdrantTune,
130
123
  deprecations,
131
- flags: {
132
- userSetBatchSize: !!userSetBatchSize,
133
- },
124
+ flags: { userSetBatchSize: !!inputs.userSetBatchSize },
134
125
  };
135
126
  }
136
127
  export function printDeprecationWarnings(notices) {
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/bootstrap/config/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/bootstrap/config/parse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Configuration errors — thrown during bootstrap when config values are invalid or missing.
3
+ */
4
+ import { TeaRagsError } from "../core/infra/errors.js";
5
+ /**
6
+ * Abstract base for all configuration errors.
7
+ * Default httpStatus: 400 (client misconfiguration).
8
+ */
9
+ export declare abstract class ConfigError extends TeaRagsError {
10
+ }
11
+ /**
12
+ * Thrown when a configuration field has an invalid value.
13
+ */
14
+ export declare class ConfigValueInvalidError extends ConfigError {
15
+ constructor(field: string, value: string, expected: string);
16
+ }
17
+ /**
18
+ * Thrown when a required configuration field is not set.
19
+ */
20
+ export declare class ConfigValueMissingError extends ConfigError {
21
+ constructor(field: string, envVar: string);
22
+ }
23
+ /**
24
+ * Thrown when a config subsystem is accessed before initialization.
25
+ */
26
+ export declare class ConfigNotInitializedError extends ConfigError {
27
+ constructor(subsystem: string, initMethod: string);
28
+ }
29
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/bootstrap/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;;GAGG;AACH,8BAAsB,WAAY,SAAQ,YAAY;CAAG;AAEzD;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,WAAW;gBAC1C,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAQ3D;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,WAAW;gBAC1C,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAQ1C;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,WAAW;gBAC5C,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAQlD"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Configuration errors — thrown during bootstrap when config values are invalid or missing.
3
+ */
4
+ import { TeaRagsError } from "../core/infra/errors.js";
5
+ /**
6
+ * Abstract base for all configuration errors.
7
+ * Default httpStatus: 400 (client misconfiguration).
8
+ */
9
+ export class ConfigError extends TeaRagsError {
10
+ }
11
+ /**
12
+ * Thrown when a configuration field has an invalid value.
13
+ */
14
+ export class ConfigValueInvalidError extends ConfigError {
15
+ constructor(field, value, expected) {
16
+ super({
17
+ code: "CONFIG_VALUE_INVALID",
18
+ message: `Invalid value "${value}" for configuration field "${field}"`,
19
+ hint: `Expected one of: ${expected}`,
20
+ httpStatus: 400,
21
+ });
22
+ }
23
+ }
24
+ /**
25
+ * Thrown when a required configuration field is not set.
26
+ */
27
+ export class ConfigValueMissingError extends ConfigError {
28
+ constructor(field, envVar) {
29
+ super({
30
+ code: "CONFIG_VALUE_MISSING",
31
+ message: `Required configuration field "${field}" is not set`,
32
+ hint: `Set the ${envVar} environment variable`,
33
+ httpStatus: 400,
34
+ });
35
+ }
36
+ }
37
+ /**
38
+ * Thrown when a config subsystem is accessed before initialization.
39
+ */
40
+ export class ConfigNotInitializedError extends ConfigError {
41
+ constructor(subsystem, initMethod) {
42
+ super({
43
+ code: "CONFIG_NOT_INITIALIZED",
44
+ message: `Configuration subsystem "${subsystem}" is not initialized`,
45
+ hint: `Call ${initMethod}() before accessing this configuration`,
46
+ httpStatus: 500,
47
+ });
48
+ }
49
+ }
50
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/bootstrap/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;;GAGG;AACH,MAAM,OAAgB,WAAY,SAAQ,YAAY;CAAG;AAEzD;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACtD,YAAY,KAAa,EAAE,KAAa,EAAE,QAAgB;QACxD,KAAK,CAAC;YACJ,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,kBAAkB,KAAK,8BAA8B,KAAK,GAAG;YACtE,IAAI,EAAE,oBAAoB,QAAQ,EAAE;YACpC,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACtD,YAAY,KAAa,EAAE,MAAc;QACvC,KAAK,CAAC;YACJ,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,iCAAiC,KAAK,cAAc;YAC7D,IAAI,EAAE,WAAW,MAAM,uBAAuB;YAC9C,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,WAAW;IACxD,YAAY,SAAiB,EAAE,UAAkB;QAC/C,KAAK,CAAC;YACJ,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,4BAA4B,SAAS,sBAAsB;YACpE,IAAI,EAAE,QAAQ,UAAU,wCAAwC;YAChE,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,10 @@
1
+ import type { CommandModule } from "yargs";
2
+ export interface ServerArgs {
3
+ http?: boolean;
4
+ }
5
+ /**
6
+ * Run the MCP server. Extracted for testability.
7
+ */
8
+ export declare function runServer(args: ServerArgs): Promise<void>;
9
+ export declare const serverCommand: CommandModule<object, ServerArgs>;
10
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAQ3C,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC/D;AAED,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE,UAAU,CAY3D,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { getZodConfig, parseAppConfig } from "../../bootstrap/config/index.js";
2
+ import { createAppContext, createConfiguredServer, loadPrompts } from "../../bootstrap/factory.js";
3
+ import { migrateHomeDir } from "../../bootstrap/migrate.js";
4
+ import { startHttpServer } from "../../bootstrap/transport/http.js";
5
+ import { startStdioServer } from "../../bootstrap/transport/stdio.js";
6
+ /**
7
+ * Run the MCP server. Extracted for testability.
8
+ */
9
+ export async function runServer(args) {
10
+ migrateHomeDir();
11
+ const config = parseAppConfig();
12
+ const zodConfig = getZodConfig();
13
+ const ctx = await createAppContext(config);
14
+ const promptsConfig = loadPrompts(config);
15
+ // Log deprecation warnings
16
+ const { deprecations } = zodConfig;
17
+ if (deprecations.length > 0) {
18
+ const lines = deprecations.map((d) => ` ${d.oldName} -> use ${d.newName}`).join("\n");
19
+ console.error(`[tea-rags] Deprecated env vars:\n${lines}`);
20
+ }
21
+ // Graceful shutdown
22
+ if (ctx.cleanup) {
23
+ process.on("SIGTERM", ctx.cleanup);
24
+ process.on("SIGINT", ctx.cleanup);
25
+ process.on("beforeExit", ctx.cleanup);
26
+ }
27
+ if (args.http || config.transportMode === "http") {
28
+ await startHttpServer({ config, ctx, promptsConfig });
29
+ }
30
+ else {
31
+ const server = createConfiguredServer(ctx, promptsConfig);
32
+ await startStdioServer(server);
33
+ if (deprecations.length > 0) {
34
+ const lines = deprecations.map((d) => `${d.oldName} -> use ${d.newName}`).join(", ");
35
+ await server.sendLoggingMessage({ level: "warning", data: `Deprecated env vars: ${lines}` });
36
+ }
37
+ }
38
+ }
39
+ export const serverCommand = {
40
+ command: "server",
41
+ describe: "Start the MCP server",
42
+ builder: (yargs) => yargs.option("http", {
43
+ type: "boolean",
44
+ describe: "Use HTTP transport instead of stdio",
45
+ default: false,
46
+ }),
47
+ handler: async (argv) => {
48
+ await runServer({ http: argv.http });
49
+ },
50
+ };
51
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/cli/commands/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAMtE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAgB;IAC9C,cAAc,EAAE,CAAC;IAEjB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAE1C,2BAA2B;IAC3B,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IACnC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvF,OAAO,CAAC,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,oBAAoB;IACpB,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;QACjD,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE/B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrF,MAAM,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,wBAAwB,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAsC;IAC9D,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,sBAAsB;IAChC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,qCAAqC;QAC/C,OAAO,EAAE,KAAK;KACf,CAAC;IACJ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;CACF,CAAC"}