@skastr0/pulsar-core 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 (474) hide show
  1. package/dist/backpressure.d.ts +31 -0
  2. package/dist/backpressure.d.ts.map +1 -0
  3. package/dist/backpressure.js +206 -0
  4. package/dist/backpressure.js.map +1 -0
  5. package/dist/baseline.d.ts +91 -0
  6. package/dist/baseline.d.ts.map +1 -0
  7. package/dist/baseline.js +139 -0
  8. package/dist/baseline.js.map +1 -0
  9. package/dist/bypass.d.ts +14 -0
  10. package/dist/bypass.d.ts.map +1 -0
  11. package/dist/bypass.js +47 -0
  12. package/dist/bypass.js.map +1 -0
  13. package/dist/cache-disk.d.ts +4 -0
  14. package/dist/cache-disk.d.ts.map +1 -0
  15. package/dist/cache-disk.js +212 -0
  16. package/dist/cache-disk.js.map +1 -0
  17. package/dist/cache.d.ts +62 -0
  18. package/dist/cache.d.ts.map +1 -0
  19. package/dist/cache.js +87 -0
  20. package/dist/cache.js.map +1 -0
  21. package/dist/calibration-context.d.ts +7 -0
  22. package/dist/calibration-context.d.ts.map +1 -0
  23. package/dist/calibration-context.js +40 -0
  24. package/dist/calibration-context.js.map +1 -0
  25. package/dist/calibration-fingerprint.d.ts +28 -0
  26. package/dist/calibration-fingerprint.d.ts.map +1 -0
  27. package/dist/calibration-fingerprint.js +67 -0
  28. package/dist/calibration-fingerprint.js.map +1 -0
  29. package/dist/calibration-model.d.ts +103 -0
  30. package/dist/calibration-model.d.ts.map +1 -0
  31. package/dist/calibration-model.js +44 -0
  32. package/dist/calibration-model.js.map +1 -0
  33. package/dist/calibration-slot-values.d.ts +232 -0
  34. package/dist/calibration-slot-values.d.ts.map +1 -0
  35. package/dist/calibration-slot-values.js +2 -0
  36. package/dist/calibration-slot-values.js.map +1 -0
  37. package/dist/calibration.d.ts +4 -0
  38. package/dist/calibration.d.ts.map +1 -0
  39. package/dist/calibration.js +4 -0
  40. package/dist/calibration.js.map +1 -0
  41. package/dist/category.d.ts +6 -0
  42. package/dist/category.d.ts.map +1 -0
  43. package/dist/category.js +12 -0
  44. package/dist/category.js.map +1 -0
  45. package/dist/concurrency.d.ts +2 -0
  46. package/dist/concurrency.d.ts.map +1 -0
  47. package/dist/concurrency.js +15 -0
  48. package/dist/concurrency.js.map +1 -0
  49. package/dist/context.d.ts +40 -0
  50. package/dist/context.d.ts.map +1 -0
  51. package/dist/context.js +28 -0
  52. package/dist/context.js.map +1 -0
  53. package/dist/conventions.d.ts +110 -0
  54. package/dist/conventions.d.ts.map +1 -0
  55. package/dist/conventions.js +40 -0
  56. package/dist/conventions.js.map +1 -0
  57. package/dist/dedupe-by-key.d.ts +2 -0
  58. package/dist/dedupe-by-key.d.ts.map +1 -0
  59. package/dist/dedupe-by-key.js +13 -0
  60. package/dist/dedupe-by-key.js.map +1 -0
  61. package/dist/diagnostic.d.ts +26 -0
  62. package/dist/diagnostic.d.ts.map +1 -0
  63. package/dist/diagnostic.js +34 -0
  64. package/dist/diagnostic.js.map +1 -0
  65. package/dist/distribution.d.ts +18 -0
  66. package/dist/distribution.d.ts.map +1 -0
  67. package/dist/distribution.js +44 -0
  68. package/dist/distribution.js.map +1 -0
  69. package/dist/edit-distance.d.ts +2 -0
  70. package/dist/edit-distance.d.ts.map +1 -0
  71. package/dist/edit-distance.js +21 -0
  72. package/dist/edit-distance.js.map +1 -0
  73. package/dist/elicitation/proposal-ai-assisted-mode.d.ts +9 -0
  74. package/dist/elicitation/proposal-ai-assisted-mode.d.ts.map +1 -0
  75. package/dist/elicitation/proposal-ai-assisted-mode.js +37 -0
  76. package/dist/elicitation/proposal-ai-assisted-mode.js.map +1 -0
  77. package/dist/elicitation/proposal-passive.d.ts +12 -0
  78. package/dist/elicitation/proposal-passive.d.ts.map +1 -0
  79. package/dist/elicitation/proposal-passive.js +62 -0
  80. package/dist/elicitation/proposal-passive.js.map +1 -0
  81. package/dist/elicitation/proposal-resolution.d.ts +11 -0
  82. package/dist/elicitation/proposal-resolution.d.ts.map +1 -0
  83. package/dist/elicitation/proposal-resolution.js +43 -0
  84. package/dist/elicitation/proposal-resolution.js.map +1 -0
  85. package/dist/elicitation/proposal-revealed-preference.d.ts +21 -0
  86. package/dist/elicitation/proposal-revealed-preference.d.ts.map +1 -0
  87. package/dist/elicitation/proposal-revealed-preference.js +72 -0
  88. package/dist/elicitation/proposal-revealed-preference.js.map +1 -0
  89. package/dist/elicitation/proposal-schema.d.ts +62 -0
  90. package/dist/elicitation/proposal-schema.d.ts.map +1 -0
  91. package/dist/elicitation/proposal-schema.js +39 -0
  92. package/dist/elicitation/proposal-schema.js.map +1 -0
  93. package/dist/elicitation/proposal-utils.d.ts +6 -0
  94. package/dist/elicitation/proposal-utils.d.ts.map +1 -0
  95. package/dist/elicitation/proposal-utils.js +7 -0
  96. package/dist/elicitation/proposal-utils.js.map +1 -0
  97. package/dist/elicitation/proposals.d.ts +6 -0
  98. package/dist/elicitation/proposals.d.ts.map +1 -0
  99. package/dist/elicitation/proposals.js +6 -0
  100. package/dist/elicitation/proposals.js.map +1 -0
  101. package/dist/elicitation/quiz.d.ts +72 -0
  102. package/dist/elicitation/quiz.d.ts.map +1 -0
  103. package/dist/elicitation/quiz.js +189 -0
  104. package/dist/elicitation/quiz.js.map +1 -0
  105. package/dist/elicitation/revealed-preference.d.ts +24 -0
  106. package/dist/elicitation/revealed-preference.d.ts.map +1 -0
  107. package/dist/elicitation/revealed-preference.js +101 -0
  108. package/dist/elicitation/revealed-preference.js.map +1 -0
  109. package/dist/elicitation.d.ts +5 -0
  110. package/dist/elicitation.d.ts.map +1 -0
  111. package/dist/elicitation.js +5 -0
  112. package/dist/elicitation.js.map +1 -0
  113. package/dist/enforcement.d.ts +13 -0
  114. package/dist/enforcement.d.ts.map +1 -0
  115. package/dist/enforcement.js +31 -0
  116. package/dist/enforcement.js.map +1 -0
  117. package/dist/errors.d.ts +132 -0
  118. package/dist/errors.d.ts.map +1 -0
  119. package/dist/errors.js +76 -0
  120. package/dist/errors.js.map +1 -0
  121. package/dist/factor-ledger.d.ts +38 -0
  122. package/dist/factor-ledger.d.ts.map +1 -0
  123. package/dist/factor-ledger.js +184 -0
  124. package/dist/factor-ledger.js.map +1 -0
  125. package/dist/factor-policy-ledger.d.ts +12 -0
  126. package/dist/factor-policy-ledger.d.ts.map +1 -0
  127. package/dist/factor-policy-ledger.js +48 -0
  128. package/dist/factor-policy-ledger.js.map +1 -0
  129. package/dist/factors.d.ts +4 -0
  130. package/dist/factors.d.ts.map +1 -0
  131. package/dist/factors.js +3 -0
  132. package/dist/factors.js.map +1 -0
  133. package/dist/file-taxonomy.d.ts +10 -0
  134. package/dist/file-taxonomy.d.ts.map +1 -0
  135. package/dist/file-taxonomy.js +171 -0
  136. package/dist/file-taxonomy.js.map +1 -0
  137. package/dist/globs.d.ts +3 -0
  138. package/dist/globs.d.ts.map +1 -0
  139. package/dist/globs.js +24 -0
  140. package/dist/globs.js.map +1 -0
  141. package/dist/glossary.d.ts +137 -0
  142. package/dist/glossary.d.ts.map +1 -0
  143. package/dist/glossary.js +51 -0
  144. package/dist/glossary.js.map +1 -0
  145. package/dist/goodhart.d.ts +31 -0
  146. package/dist/goodhart.d.ts.map +1 -0
  147. package/dist/goodhart.js +176 -0
  148. package/dist/goodhart.js.map +1 -0
  149. package/dist/index.d.ts +12 -0
  150. package/dist/index.d.ts.map +1 -0
  151. package/dist/index.js +12 -0
  152. package/dist/index.js.map +1 -0
  153. package/dist/input-outputs.d.ts +3 -0
  154. package/dist/input-outputs.d.ts.map +1 -0
  155. package/dist/input-outputs.js +10 -0
  156. package/dist/input-outputs.js.map +1 -0
  157. package/dist/observer-categories.d.ts +7 -0
  158. package/dist/observer-categories.d.ts.map +1 -0
  159. package/dist/observer-categories.js +158 -0
  160. package/dist/observer-categories.js.map +1 -0
  161. package/dist/observer-execution.d.ts +23 -0
  162. package/dist/observer-execution.d.ts.map +1 -0
  163. package/dist/observer-execution.js +130 -0
  164. package/dist/observer-execution.js.map +1 -0
  165. package/dist/observer-json.d.ts +319 -0
  166. package/dist/observer-json.d.ts.map +1 -0
  167. package/dist/observer-json.js +153 -0
  168. package/dist/observer-json.js.map +1 -0
  169. package/dist/observer-local-pressure.d.ts +5 -0
  170. package/dist/observer-local-pressure.d.ts.map +1 -0
  171. package/dist/observer-local-pressure.js +9 -0
  172. package/dist/observer-local-pressure.js.map +1 -0
  173. package/dist/observer-minimum.d.ts +26 -0
  174. package/dist/observer-minimum.d.ts.map +1 -0
  175. package/dist/observer-minimum.js +94 -0
  176. package/dist/observer-minimum.js.map +1 -0
  177. package/dist/observer-model.d.ts +129 -0
  178. package/dist/observer-model.d.ts.map +1 -0
  179. package/dist/observer-model.js +2 -0
  180. package/dist/observer-model.js.map +1 -0
  181. package/dist/observer-readiness.d.ts +6 -0
  182. package/dist/observer-readiness.d.ts.map +1 -0
  183. package/dist/observer-readiness.js +131 -0
  184. package/dist/observer-readiness.js.map +1 -0
  185. package/dist/observer-score-utils.d.ts +8 -0
  186. package/dist/observer-score-utils.d.ts.map +1 -0
  187. package/dist/observer-score-utils.js +17 -0
  188. package/dist/observer-score-utils.js.map +1 -0
  189. package/dist/observer-serializer.d.ts +3 -0
  190. package/dist/observer-serializer.d.ts.map +1 -0
  191. package/dist/observer-serializer.js +66 -0
  192. package/dist/observer-serializer.js.map +1 -0
  193. package/dist/observer-time.d.ts +3 -0
  194. package/dist/observer-time.d.ts.map +1 -0
  195. package/dist/observer-time.js +7 -0
  196. package/dist/observer-time.js.map +1 -0
  197. package/dist/observer-weighted-mean.d.ts +4 -0
  198. package/dist/observer-weighted-mean.d.ts.map +1 -0
  199. package/dist/observer-weighted-mean.js +17 -0
  200. package/dist/observer-weighted-mean.js.map +1 -0
  201. package/dist/observer.d.ts +26 -0
  202. package/dist/observer.d.ts.map +1 -0
  203. package/dist/observer.js +63 -0
  204. package/dist/observer.js.map +1 -0
  205. package/dist/presets.d.ts +11 -0
  206. package/dist/presets.d.ts.map +1 -0
  207. package/dist/presets.js +52 -0
  208. package/dist/presets.js.map +1 -0
  209. package/dist/reference-data-loader.d.ts +6 -0
  210. package/dist/reference-data-loader.d.ts.map +1 -0
  211. package/dist/reference-data-loader.js +53 -0
  212. package/dist/reference-data-loader.js.map +1 -0
  213. package/dist/reference-data.d.ts +6 -0
  214. package/dist/reference-data.d.ts.map +1 -0
  215. package/dist/reference-data.js +6 -0
  216. package/dist/reference-data.js.map +1 -0
  217. package/dist/registry.d.ts +16 -0
  218. package/dist/registry.d.ts.map +1 -0
  219. package/dist/registry.js +174 -0
  220. package/dist/registry.js.map +1 -0
  221. package/dist/review-plan.d.ts +30 -0
  222. package/dist/review-plan.d.ts.map +1 -0
  223. package/dist/review-plan.js +235 -0
  224. package/dist/review-plan.js.map +1 -0
  225. package/dist/routing-context-payload.d.ts +20 -0
  226. package/dist/routing-context-payload.d.ts.map +1 -0
  227. package/dist/routing-context-payload.js +58 -0
  228. package/dist/routing-context-payload.js.map +1 -0
  229. package/dist/routing-matching.d.ts +10 -0
  230. package/dist/routing-matching.d.ts.map +1 -0
  231. package/dist/routing-matching.js +74 -0
  232. package/dist/routing-matching.js.map +1 -0
  233. package/dist/routing-pattern-catalog.d.ts +7 -0
  234. package/dist/routing-pattern-catalog.d.ts.map +1 -0
  235. package/dist/routing-pattern-catalog.js +120 -0
  236. package/dist/routing-pattern-catalog.js.map +1 -0
  237. package/dist/routing-schema.d.ts +162 -0
  238. package/dist/routing-schema.d.ts.map +1 -0
  239. package/dist/routing-schema.js +75 -0
  240. package/dist/routing-schema.js.map +1 -0
  241. package/dist/routing.d.ts +14 -0
  242. package/dist/routing.d.ts.map +1 -0
  243. package/dist/routing.js +35 -0
  244. package/dist/routing.js.map +1 -0
  245. package/dist/runner.d.ts +26 -0
  246. package/dist/runner.d.ts.map +1 -0
  247. package/dist/runner.js +72 -0
  248. package/dist/runner.js.map +1 -0
  249. package/dist/scoring-engine-contract.d.ts +43 -0
  250. package/dist/scoring-engine-contract.d.ts.map +1 -0
  251. package/dist/scoring-engine-contract.js +42 -0
  252. package/dist/scoring-engine-contract.js.map +1 -0
  253. package/dist/scoring-engine-git-content-hash.d.ts +12 -0
  254. package/dist/scoring-engine-git-content-hash.d.ts.map +1 -0
  255. package/dist/scoring-engine-git-content-hash.js +154 -0
  256. package/dist/scoring-engine-git-content-hash.js.map +1 -0
  257. package/dist/scoring-engine-git-diff.d.ts +10 -0
  258. package/dist/scoring-engine-git-diff.d.ts.map +1 -0
  259. package/dist/scoring-engine-git-diff.js +103 -0
  260. package/dist/scoring-engine-git-diff.js.map +1 -0
  261. package/dist/scoring-engine-git-paths.d.ts +2 -0
  262. package/dist/scoring-engine-git-paths.d.ts.map +1 -0
  263. package/dist/scoring-engine-git-paths.js +17 -0
  264. package/dist/scoring-engine-git-paths.js.map +1 -0
  265. package/dist/scoring-engine-git-range.d.ts +9 -0
  266. package/dist/scoring-engine-git-range.d.ts.map +1 -0
  267. package/dist/scoring-engine-git-range.js +19 -0
  268. package/dist/scoring-engine-git-range.js.map +1 -0
  269. package/dist/scoring-engine-git-run.d.ts +7 -0
  270. package/dist/scoring-engine-git-run.d.ts.map +1 -0
  271. package/dist/scoring-engine-git-run.js +32 -0
  272. package/dist/scoring-engine-git-run.js.map +1 -0
  273. package/dist/scoring-engine-git-worktree.d.ts +9 -0
  274. package/dist/scoring-engine-git-worktree.d.ts.map +1 -0
  275. package/dist/scoring-engine-git-worktree.js +83 -0
  276. package/dist/scoring-engine-git-worktree.js.map +1 -0
  277. package/dist/scoring-engine-git.d.ts +5 -0
  278. package/dist/scoring-engine-git.d.ts.map +1 -0
  279. package/dist/scoring-engine-git.js +5 -0
  280. package/dist/scoring-engine-git.js.map +1 -0
  281. package/dist/scoring-engine-layer.d.ts +12 -0
  282. package/dist/scoring-engine-layer.d.ts.map +1 -0
  283. package/dist/scoring-engine-layer.js +48 -0
  284. package/dist/scoring-engine-layer.js.map +1 -0
  285. package/dist/scoring-engine-observe.d.ts +50 -0
  286. package/dist/scoring-engine-observe.d.ts.map +1 -0
  287. package/dist/scoring-engine-observe.js +77 -0
  288. package/dist/scoring-engine-observe.js.map +1 -0
  289. package/dist/scoring-engine-observer-cache.d.ts +36 -0
  290. package/dist/scoring-engine-observer-cache.d.ts.map +1 -0
  291. package/dist/scoring-engine-observer-cache.js +115 -0
  292. package/dist/scoring-engine-observer-cache.js.map +1 -0
  293. package/dist/scoring-engine-runtime.d.ts +25 -0
  294. package/dist/scoring-engine-runtime.d.ts.map +1 -0
  295. package/dist/scoring-engine-runtime.js +49 -0
  296. package/dist/scoring-engine-runtime.js.map +1 -0
  297. package/dist/scoring-engine-score-execution.d.ts +24 -0
  298. package/dist/scoring-engine-score-execution.d.ts.map +1 -0
  299. package/dist/scoring-engine-score-execution.js +71 -0
  300. package/dist/scoring-engine-score-execution.js.map +1 -0
  301. package/dist/scoring-engine-score.d.ts +13 -0
  302. package/dist/scoring-engine-score.d.ts.map +1 -0
  303. package/dist/scoring-engine-score.js +28 -0
  304. package/dist/scoring-engine-score.js.map +1 -0
  305. package/dist/scoring-engine.d.ts +5 -0
  306. package/dist/scoring-engine.d.ts.map +1 -0
  307. package/dist/scoring-engine.js +5 -0
  308. package/dist/scoring-engine.js.map +1 -0
  309. package/dist/scoring.d.ts +9 -0
  310. package/dist/scoring.d.ts.map +1 -0
  311. package/dist/scoring.js +9 -0
  312. package/dist/scoring.js.map +1 -0
  313. package/dist/shared-02-aggregation.d.ts +31 -0
  314. package/dist/shared-02-aggregation.d.ts.map +1 -0
  315. package/dist/shared-02-aggregation.js +63 -0
  316. package/dist/shared-02-aggregation.js.map +1 -0
  317. package/dist/shared-02-bus-factor.d.ts +37 -0
  318. package/dist/shared-02-bus-factor.d.ts.map +1 -0
  319. package/dist/shared-02-bus-factor.js +195 -0
  320. package/dist/shared-02-bus-factor.js.map +1 -0
  321. package/dist/shared-02-history.d.ts +7 -0
  322. package/dist/shared-02-history.d.ts.map +1 -0
  323. package/dist/shared-02-history.js +9 -0
  324. package/dist/shared-02-history.js.map +1 -0
  325. package/dist/shared-03-churn-rate.d.ts +47 -0
  326. package/dist/shared-03-churn-rate.d.ts.map +1 -0
  327. package/dist/shared-03-churn-rate.js +187 -0
  328. package/dist/shared-03-churn-rate.js.map +1 -0
  329. package/dist/shared-03-compute.d.ts +4 -0
  330. package/dist/shared-03-compute.d.ts.map +1 -0
  331. package/dist/shared-03-compute.js +84 -0
  332. package/dist/shared-03-compute.js.map +1 -0
  333. package/dist/shared-03-line-matching.d.ts +2 -0
  334. package/dist/shared-03-line-matching.d.ts.map +1 -0
  335. package/dist/shared-03-line-matching.js +119 -0
  336. package/dist/shared-03-line-matching.js.map +1 -0
  337. package/dist/shared-churn-01.d.ts +24 -0
  338. package/dist/shared-churn-01.d.ts.map +1 -0
  339. package/dist/shared-churn-01.js +107 -0
  340. package/dist/shared-churn-01.js.map +1 -0
  341. package/dist/shared-history-authors.d.ts +5 -0
  342. package/dist/shared-history-authors.d.ts.map +1 -0
  343. package/dist/shared-history-authors.js +77 -0
  344. package/dist/shared-history-authors.js.map +1 -0
  345. package/dist/shared-history-defaults.d.ts +2 -0
  346. package/dist/shared-history-defaults.d.ts.map +1 -0
  347. package/dist/shared-history-defaults.js +73 -0
  348. package/dist/shared-history-defaults.js.map +1 -0
  349. package/dist/shared-history-files.d.ts +3 -0
  350. package/dist/shared-history-files.d.ts.map +1 -0
  351. package/dist/shared-history-files.js +19 -0
  352. package/dist/shared-history-files.js.map +1 -0
  353. package/dist/shared-history-filter.d.ts +10 -0
  354. package/dist/shared-history-filter.d.ts.map +1 -0
  355. package/dist/shared-history-filter.js +10 -0
  356. package/dist/shared-history-filter.js.map +1 -0
  357. package/dist/shared-history-git.d.ts +7 -0
  358. package/dist/shared-history-git.d.ts.map +1 -0
  359. package/dist/shared-history-git.js +45 -0
  360. package/dist/shared-history-git.js.map +1 -0
  361. package/dist/shared-history-lines.d.ts +4 -0
  362. package/dist/shared-history-lines.d.ts.map +1 -0
  363. package/dist/shared-history-lines.js +139 -0
  364. package/dist/shared-history-lines.js.map +1 -0
  365. package/dist/shared-history.d.ts +6 -0
  366. package/dist/shared-history.d.ts.map +1 -0
  367. package/dist/shared-history.js +6 -0
  368. package/dist/shared-history.js.map +1 -0
  369. package/dist/shared-signals.d.ts +4 -0
  370. package/dist/shared-signals.d.ts.map +1 -0
  371. package/dist/shared-signals.js +4 -0
  372. package/dist/shared-signals.js.map +1 -0
  373. package/dist/signal-api.d.ts +16 -0
  374. package/dist/signal-api.d.ts.map +1 -0
  375. package/dist/signal-api.js +13 -0
  376. package/dist/signal-api.js.map +1 -0
  377. package/dist/signal-factor-model.d.ts +53 -0
  378. package/dist/signal-factor-model.d.ts.map +1 -0
  379. package/dist/signal-factor-model.js +2 -0
  380. package/dist/signal-factor-model.js.map +1 -0
  381. package/dist/signal-runtime.d.ts +13 -0
  382. package/dist/signal-runtime.d.ts.map +1 -0
  383. package/dist/signal-runtime.js +2 -0
  384. package/dist/signal-runtime.js.map +1 -0
  385. package/dist/signal-score-utils.d.ts +2 -0
  386. package/dist/signal-score-utils.d.ts.map +1 -0
  387. package/dist/signal-score-utils.js +6 -0
  388. package/dist/signal-score-utils.js.map +1 -0
  389. package/dist/signal.d.ts +113 -0
  390. package/dist/signal.d.ts.map +1 -0
  391. package/dist/signal.js +2 -0
  392. package/dist/signal.js.map +1 -0
  393. package/dist/state-paths.d.ts +7 -0
  394. package/dist/state-paths.d.ts.map +1 -0
  395. package/dist/state-paths.js +32 -0
  396. package/dist/state-paths.js.map +1 -0
  397. package/dist/tier.d.ts +14 -0
  398. package/dist/tier.d.ts.map +1 -0
  399. package/dist/tier.js +12 -0
  400. package/dist/tier.js.map +1 -0
  401. package/dist/time-series-compaction-types.d.ts +6 -0
  402. package/dist/time-series-compaction-types.d.ts.map +1 -0
  403. package/dist/time-series-compaction-types.js +2 -0
  404. package/dist/time-series-compaction-types.js.map +1 -0
  405. package/dist/time-series-compaction.d.ts +3 -0
  406. package/dist/time-series-compaction.d.ts.map +1 -0
  407. package/dist/time-series-compaction.js +138 -0
  408. package/dist/time-series-compaction.js.map +1 -0
  409. package/dist/time-series-dates.d.ts +8 -0
  410. package/dist/time-series-dates.d.ts.map +1 -0
  411. package/dist/time-series-dates.js +43 -0
  412. package/dist/time-series-dates.js.map +1 -0
  413. package/dist/time-series-metadata.d.ts +6 -0
  414. package/dist/time-series-metadata.d.ts.map +1 -0
  415. package/dist/time-series-metadata.js +72 -0
  416. package/dist/time-series-metadata.js.map +1 -0
  417. package/dist/time-series-model.d.ts +419 -0
  418. package/dist/time-series-model.d.ts.map +1 -0
  419. package/dist/time-series-model.js +51 -0
  420. package/dist/time-series-model.js.map +1 -0
  421. package/dist/time-series-readiness.d.ts +4 -0
  422. package/dist/time-series-readiness.d.ts.map +1 -0
  423. package/dist/time-series-readiness.js +82 -0
  424. package/dist/time-series-readiness.js.map +1 -0
  425. package/dist/time-series-storage.d.ts +15 -0
  426. package/dist/time-series-storage.d.ts.map +1 -0
  427. package/dist/time-series-storage.js +124 -0
  428. package/dist/time-series-storage.js.map +1 -0
  429. package/dist/time-series.d.ts +6 -0
  430. package/dist/time-series.d.ts.map +1 -0
  431. package/dist/time-series.js +98 -0
  432. package/dist/time-series.js.map +1 -0
  433. package/dist/vector-ai-mode.d.ts +10 -0
  434. package/dist/vector-ai-mode.d.ts.map +1 -0
  435. package/dist/vector-ai-mode.js +41 -0
  436. package/dist/vector-ai-mode.js.map +1 -0
  437. package/dist/vector-backpressure-config.d.ts +3 -0
  438. package/dist/vector-backpressure-config.d.ts.map +1 -0
  439. package/dist/vector-backpressure-config.js +18 -0
  440. package/dist/vector-backpressure-config.js.map +1 -0
  441. package/dist/vector-observer-config.d.ts +7 -0
  442. package/dist/vector-observer-config.d.ts.map +1 -0
  443. package/dist/vector-observer-config.js +24 -0
  444. package/dist/vector-observer-config.js.map +1 -0
  445. package/dist/vector-provenance.d.ts +3 -0
  446. package/dist/vector-provenance.d.ts.map +1 -0
  447. package/dist/vector-provenance.js +5 -0
  448. package/dist/vector-provenance.js.map +1 -0
  449. package/dist/vector-resolution.d.ts +25 -0
  450. package/dist/vector-resolution.d.ts.map +1 -0
  451. package/dist/vector-resolution.js +82 -0
  452. package/dist/vector-resolution.js.map +1 -0
  453. package/dist/vector-schema.d.ts +435 -0
  454. package/dist/vector-schema.d.ts.map +1 -0
  455. package/dist/vector-schema.js +158 -0
  456. package/dist/vector-schema.js.map +1 -0
  457. package/dist/vector.d.ts +3 -0
  458. package/dist/vector.d.ts.map +1 -0
  459. package/dist/vector.js +3 -0
  460. package/dist/vector.js.map +1 -0
  461. package/package.json +106 -0
  462. package/presets/ai-slop-defense.json +28 -0
  463. package/presets/domain-purist.json +15 -0
  464. package/presets/refactor-friendly.json +18 -0
  465. package/presets/security-paranoid.json +20 -0
  466. package/presets/strict-type-safety.json +15 -0
  467. package/presets/velocity-first.json +32 -0
  468. package/quiz-items/typescript.json +602 -0
  469. package/routing-patterns/api-surface-change.json +17 -0
  470. package/routing-patterns/auth-paths-touched.json +16 -0
  471. package/routing-patterns/crypto-import-added.json +21 -0
  472. package/routing-patterns/domain-term-drift.json +17 -0
  473. package/routing-patterns/migration-added.json +13 -0
  474. package/routing-patterns/unsafe-added.json +17 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-plan.js","sourceRoot":"","sources":["../src/review-plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { ObserverOutput } from "./observer.js";
2
+ type PatternMatchPayload = {
3
+ readonly matchDetail: unknown;
4
+ };
5
+ type ContextPayloadSignalRef = {
6
+ readonly signalId: string;
7
+ readonly include: "score" | "diagnostics" | "output" | "all";
8
+ };
9
+ type ContextPayloadPattern = {
10
+ readonly contextPayload: ReadonlyArray<ContextPayloadSignalRef>;
11
+ };
12
+ type ContextPayloadDiff = {
13
+ readonly changedFiles: unknown;
14
+ readonly addedImports: unknown;
15
+ readonly astMatches: unknown;
16
+ readonly signalChanges: unknown;
17
+ };
18
+ export declare const buildContextPayload: (pattern: ContextPayloadPattern, observerOutput: ObserverOutput, diff: ContextPayloadDiff, match: PatternMatchPayload) => Record<string, unknown>;
19
+ export {};
20
+ //# sourceMappingURL=routing-context-payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-context-payload.d.ts","sourceRoot":"","sources":["../src/routing-context-payload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,GAAG,QAAQ,GAAG,KAAK,CAAA;CAC7D,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAA;CAChE,CAAA;AAED,KAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAChC,CAAA;AAQD,eAAO,MAAM,mBAAmB,GAC9B,SAAS,qBAAqB,EAC9B,gBAAgB,cAAc,EAC9B,MAAM,kBAAkB,EACxB,OAAO,mBAAmB,KACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAkBxB,CAAA"}
@@ -0,0 +1,58 @@
1
+ export const buildContextPayload = (pattern, observerOutput, diff, match) => {
2
+ const payload = {
3
+ diff: toSerializable({
4
+ changedFiles: diff.changedFiles,
5
+ addedImports: diff.addedImports,
6
+ astMatches: diff.astMatches,
7
+ signalChanges: diff.signalChanges,
8
+ match: match.matchDetail,
9
+ }),
10
+ };
11
+ for (const signalRef of pattern.contextPayload) {
12
+ const result = observerOutput.signalResults.get(signalRef.signalId);
13
+ if (result === undefined)
14
+ continue;
15
+ payload[signalRef.signalId] = selectSignalPayload(result, signalRef.include);
16
+ }
17
+ return payload;
18
+ };
19
+ const selectSignalPayload = (result, include) => {
20
+ switch (include) {
21
+ case "score":
22
+ return { score: result.score };
23
+ case "diagnostics":
24
+ return { diagnostics: toSerializable(result.diagnostics) };
25
+ case "output":
26
+ return { output: toSerializable(result.output) };
27
+ case "all":
28
+ default:
29
+ return {
30
+ score: result.score,
31
+ diagnostics: toSerializable(result.diagnostics),
32
+ output: toSerializable(result.output),
33
+ };
34
+ }
35
+ };
36
+ const toSerializable = (value) => {
37
+ if (value === null || value === undefined)
38
+ return value;
39
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
40
+ return value;
41
+ }
42
+ if (Array.isArray(value))
43
+ return value.map(toSerializable);
44
+ if (value instanceof Map) {
45
+ return Object.fromEntries([...value.entries()].map(([key, entry]) => [String(key), toSerializable(entry)]));
46
+ }
47
+ if (value instanceof Set) {
48
+ return [...value.values()].map(toSerializable);
49
+ }
50
+ if (typeof value === "object") {
51
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => [
52
+ key,
53
+ toSerializable(entry),
54
+ ]));
55
+ }
56
+ return String(value);
57
+ };
58
+ //# sourceMappingURL=routing-context-payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-context-payload.js","sourceRoot":"","sources":["../src/routing-context-payload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ObserverOutput } from "./observer.js";
2
+ import type { Location, RoutingDiff, RoutingPattern } from "./routing-schema.js";
3
+ type PatternMatch = {
4
+ readonly sourceLocations: ReadonlyArray<Location>;
5
+ readonly matchDetail: unknown;
6
+ };
7
+ export declare const matchPattern: (pattern: RoutingPattern, observerOutput: ObserverOutput, diff: RoutingDiff) => PatternMatch | undefined;
8
+ export declare const dedupeLocations: (locations: ReadonlyArray<Location>) => ReadonlyArray<Location>;
9
+ export {};
10
+ //# sourceMappingURL=routing-matching.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-matching.d.ts","sourceRoot":"","sources":["../src/routing-matching.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EACV,QAAQ,EAER,WAAW,EACX,cAAc,EACf,MAAM,qBAAqB,CAAA;AAE5B,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IACjD,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,YAAY,GACvB,SAAS,cAAc,EACvB,gBAAgB,cAAc,EAC9B,MAAM,WAAW,KAChB,YAAY,GAAG,SAajB,CAAA;AAwGD,eAAO,MAAM,eAAe,GAC1B,WAAW,aAAa,CAAC,QAAQ,CAAC,KACjC,aAAa,CAAC,QAAQ,CAItB,CAAA"}
@@ -0,0 +1,74 @@
1
+ import { dedupeByKey } from "./dedupe-by-key.js";
2
+ import { matchesGlob } from "./globs.js";
3
+ export const matchPattern = (pattern, observerOutput, diff) => {
4
+ const condition = pattern.condition;
5
+ switch (condition.kind) {
6
+ case "file-path":
7
+ return matchFilePathCondition(condition, diff);
8
+ case "import-added":
9
+ return matchImportAddedCondition(condition, diff);
10
+ case "ast-match":
11
+ return matchAstMatchCondition(condition, diff);
12
+ case "signal-threshold":
13
+ return matchSignalThresholdCondition(condition, observerOutput, diff);
14
+ }
15
+ };
16
+ const matchFilePathCondition = (condition, diff) => {
17
+ const matchedFiles = diff.changedFiles.filter((file) => condition.globs.some((glob) => matchesGlob(file, glob)));
18
+ if (matchedFiles.length === 0)
19
+ return undefined;
20
+ return {
21
+ sourceLocations: matchedFiles.map((file) => ({ file })),
22
+ matchDetail: { matchedFiles },
23
+ };
24
+ };
25
+ const matchImportAddedCondition = (condition, diff) => {
26
+ const matchedImports = diff.addedImports.filter((entry) => condition.specifiers.some((specifier) => matchesSpecifierPattern(entry.specifier, specifier)));
27
+ if (matchedImports.length === 0)
28
+ return undefined;
29
+ return {
30
+ sourceLocations: matchedImports.map((entry) => ({
31
+ file: entry.file,
32
+ ...(entry.line !== undefined ? { line: entry.line } : {}),
33
+ })),
34
+ matchDetail: { matchedImports },
35
+ };
36
+ };
37
+ const matchAstMatchCondition = (condition, diff) => {
38
+ const matchedAstNodes = diff.astMatches.filter((entry) => entry.signalId === condition.signalId && entry.outputKey === condition.outputKey);
39
+ if (matchedAstNodes.length === 0)
40
+ return undefined;
41
+ return {
42
+ sourceLocations: matchedAstNodes.map((entry) => entry.location),
43
+ matchDetail: { matchedAstNodes },
44
+ };
45
+ };
46
+ const matchSignalThresholdCondition = (condition, observerOutput, diff) => {
47
+ const result = observerOutput.signalResults.get(condition.signalId);
48
+ const signalChange = diff.signalChanges[condition.signalId];
49
+ const scoreMatch = condition.below !== undefined && result !== undefined && result.score < condition.below;
50
+ const changeMatch = condition.changeRatioAbove !== undefined &&
51
+ signalChange?.relativeDelta !== undefined &&
52
+ signalChange.relativeDelta >= condition.changeRatioAbove;
53
+ if (!scoreMatch && !changeMatch)
54
+ return undefined;
55
+ return {
56
+ sourceLocations: signalChange?.sourceLocations ?? locationsFromDiagnostics(result?.diagnostics ?? []),
57
+ matchDetail: {
58
+ signalId: condition.signalId,
59
+ ...(condition.below !== undefined ? { below: condition.below } : {}),
60
+ ...(result !== undefined ? { currentScore: result.score } : {}),
61
+ ...(signalChange !== undefined ? { signalChange } : {}),
62
+ },
63
+ };
64
+ };
65
+ const matchesSpecifierPattern = (specifier, pattern) => {
66
+ if (pattern.endsWith("/*")) {
67
+ const prefix = pattern.slice(0, -1);
68
+ return specifier.startsWith(prefix);
69
+ }
70
+ return specifier === pattern;
71
+ };
72
+ const locationsFromDiagnostics = (diagnostics) => diagnostics.flatMap((diagnostic) => diagnostic.location === undefined ? [] : [diagnostic.location]);
73
+ export const dedupeLocations = (locations) => dedupeByKey(locations, (location) => `${location.file}:${location.line ?? -1}:${location.column ?? -1}`);
74
+ //# sourceMappingURL=routing-matching.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-matching.js","sourceRoot":"","sources":["../src/routing-matching.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Effect } from "effect";
2
+ import { RoutingPatternLoadFailed } from "./errors.js";
3
+ import { type RoutingPattern as RoutingPatternType } from "./routing-schema.js";
4
+ export declare const loadRoutingPatterns: (options?: {
5
+ readonly repoRoot?: string;
6
+ }) => Effect.Effect<ReadonlyArray<RoutingPatternType>, RoutingPatternLoadFailed, never>;
7
+ //# sourceMappingURL=routing-pattern-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-pattern-catalog.d.ts","sourceRoot":"","sources":["../src/routing-pattern-catalog.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAkB,KAAK,cAAc,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAmB/F,eAAO,MAAM,mBAAmB,GAC9B,UAAU;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KACvC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,wBAAwB,EAAE,KAAK,CAc/E,CAAA"}
@@ -0,0 +1,120 @@
1
+ import { readdir, readFile } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { Effect, Schema } from "effect";
4
+ import { RoutingPatternLoadFailed } from "./errors.js";
5
+ import { RoutingPattern } from "./routing-schema.js";
6
+ import apiSurfaceChangePattern from "../routing-patterns/api-surface-change.json" with { type: "json" };
7
+ import authPathsTouchedPattern from "../routing-patterns/auth-paths-touched.json" with { type: "json" };
8
+ import cryptoImportAddedPattern from "../routing-patterns/crypto-import-added.json" with { type: "json" };
9
+ import domainTermDriftPattern from "../routing-patterns/domain-term-drift.json" with { type: "json" };
10
+ import migrationAddedPattern from "../routing-patterns/migration-added.json" with { type: "json" };
11
+ import unsafeAddedPattern from "../routing-patterns/unsafe-added.json" with { type: "json" };
12
+ const SHIPPED_ROUTING_PATTERNS = [
13
+ apiSurfaceChangePattern,
14
+ authPathsTouchedPattern,
15
+ cryptoImportAddedPattern,
16
+ domainTermDriftPattern,
17
+ migrationAddedPattern,
18
+ unsafeAddedPattern,
19
+ ];
20
+ const RoutingPatternFile = Schema.Union(RoutingPattern, Schema.Array(RoutingPattern));
21
+ export const loadRoutingPatterns = (options) => Effect.gen(function* () {
22
+ const repoRoot = options?.repoRoot ?? process.cwd();
23
+ const shipped = yield* decodeShippedRoutingPatterns(repoRoot);
24
+ const custom = options?.repoRoot === undefined
25
+ ? []
26
+ : yield* loadPatternsFromDirectory({
27
+ repoRoot: options.repoRoot,
28
+ directory: join(options.repoRoot, ".pulsar", "routing-patterns"),
29
+ optional: true,
30
+ });
31
+ return mergePatterns(shipped, custom);
32
+ });
33
+ const mergePatterns = (shipped, custom) => {
34
+ const merged = new Map();
35
+ for (const pattern of shipped)
36
+ merged.set(pattern.id, pattern);
37
+ for (const pattern of custom)
38
+ merged.set(pattern.id, pattern);
39
+ return [...merged.values()].sort((left, right) => left.id.localeCompare(right.id));
40
+ };
41
+ const loadPatternsFromDirectory = (opts) => Effect.gen(function* () {
42
+ const entries = yield* Effect.tryPromise({
43
+ try: async () => {
44
+ try {
45
+ const files = await readdir(opts.directory);
46
+ return files.filter((file) => file.endsWith(".json")).sort();
47
+ }
48
+ catch (cause) {
49
+ if (opts.optional && errorCodeOf(cause) === "ENOENT") {
50
+ return [];
51
+ }
52
+ throw cause;
53
+ }
54
+ },
55
+ catch: (cause) => new RoutingPatternLoadFailed({
56
+ repoPath: opts.repoRoot,
57
+ path: opts.directory,
58
+ message: `Failed to list routing patterns: ${String(cause)}`,
59
+ }),
60
+ });
61
+ return yield* Effect.forEach(entries, (file) => Effect.gen(function* () {
62
+ const absolutePath = join(opts.directory, file);
63
+ const raw = yield* Effect.tryPromise({
64
+ try: () => readFile(absolutePath, "utf8"),
65
+ catch: (cause) => new RoutingPatternLoadFailed({
66
+ repoPath: opts.repoRoot,
67
+ path: absolutePath,
68
+ message: `Failed to read routing pattern file: ${String(cause)}`,
69
+ }),
70
+ });
71
+ const parsed = yield* Effect.try({
72
+ try: () => JSON.parse(raw),
73
+ catch: (cause) => new RoutingPatternLoadFailed({
74
+ repoPath: opts.repoRoot,
75
+ path: absolutePath,
76
+ message: `Failed to parse routing pattern JSON: ${String(cause)}`,
77
+ }),
78
+ });
79
+ const decoded = yield* Schema.decodeUnknown(RoutingPatternFile)(parsed).pipe(Effect.mapError((cause) => new RoutingPatternLoadFailed({
80
+ repoPath: opts.repoRoot,
81
+ path: absolutePath,
82
+ message: `Failed to decode routing pattern file: ${String(cause)}`,
83
+ })), Effect.flatMap(validateRoutingPatternFile(absolutePath, opts.repoRoot)));
84
+ return Array.isArray(decoded) ? decoded : [decoded];
85
+ })).pipe(Effect.map((groups) => groups.flat()));
86
+ });
87
+ const decodeShippedRoutingPatterns = (repoRoot) => Effect.forEach(SHIPPED_ROUTING_PATTERNS, (pattern, index) => Schema.decodeUnknown(RoutingPatternFile)(pattern).pipe(Effect.mapError((cause) => new RoutingPatternLoadFailed({
88
+ repoPath: repoRoot,
89
+ path: `shipped-routing-pattern:${index}`,
90
+ message: `Failed to decode shipped routing pattern: ${String(cause)}`,
91
+ })), Effect.flatMap(validateRoutingPatternFile(`shipped-routing-pattern:${index}`, repoRoot)), Effect.map((decoded) => (Array.isArray(decoded) ? decoded : [decoded])))).pipe(Effect.map((groups) => groups.flat()));
92
+ const validateRoutingPatternFile = (path, repoRoot) => (value) => Effect.gen(function* () {
93
+ const patterns = Array.isArray(value) ? value : [value];
94
+ for (const pattern of patterns) {
95
+ if (pattern.triggerKind !== pattern.condition.kind) {
96
+ return yield* Effect.fail(new RoutingPatternLoadFailed({
97
+ repoPath: repoRoot,
98
+ path,
99
+ message: `Pattern ${pattern.id} has triggerKind ${pattern.triggerKind} but condition kind ${pattern.condition.kind}`,
100
+ }));
101
+ }
102
+ if (pattern.condition.kind === "signal-threshold" &&
103
+ pattern.condition.below === undefined &&
104
+ pattern.condition.changeRatioAbove === undefined) {
105
+ return yield* Effect.fail(new RoutingPatternLoadFailed({
106
+ repoPath: repoRoot,
107
+ path,
108
+ message: `Pattern ${pattern.id} must declare below or changeRatioAbove`,
109
+ }));
110
+ }
111
+ }
112
+ return value;
113
+ });
114
+ const errorCodeOf = (error) => {
115
+ if (typeof error !== "object" || error === null || !("code" in error))
116
+ return undefined;
117
+ const code = error.code;
118
+ return typeof code === "string" ? code : undefined;
119
+ };
120
+ //# sourceMappingURL=routing-pattern-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-pattern-catalog.js","sourceRoot":"","sources":["../src/routing-pattern-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,162 @@
1
+ import { Schema } from "effect";
2
+ export declare const Location: Schema.Struct<{
3
+ file: typeof Schema.String;
4
+ line: Schema.optional<typeof Schema.Number>;
5
+ column: Schema.optional<typeof Schema.Number>;
6
+ }>;
7
+ export type Location = typeof Location.Type;
8
+ export declare const SignalRef: Schema.Struct<{
9
+ signalId: typeof Schema.String;
10
+ include: Schema.optionalWith<Schema.Literal<["score", "diagnostics", "output", "all"]>, {
11
+ default: () => "all";
12
+ }>;
13
+ }>;
14
+ export type SignalRef = typeof SignalRef.Type;
15
+ export declare const PatternCondition: Schema.Union<[Schema.Struct<{
16
+ kind: Schema.Literal<["file-path"]>;
17
+ globs: Schema.Array$<typeof Schema.String>;
18
+ }>, Schema.Struct<{
19
+ kind: Schema.Literal<["import-added"]>;
20
+ specifiers: Schema.Array$<typeof Schema.String>;
21
+ }>, Schema.Struct<{
22
+ kind: Schema.Literal<["ast-match"]>;
23
+ signalId: typeof Schema.String;
24
+ outputKey: typeof Schema.String;
25
+ }>, Schema.Struct<{
26
+ kind: Schema.Literal<["signal-threshold"]>;
27
+ signalId: typeof Schema.String;
28
+ below: Schema.optional<Schema.filter<typeof Schema.Number>>;
29
+ changeRatioAbove: Schema.optional<Schema.filter<typeof Schema.Number>>;
30
+ }>]>;
31
+ export type PatternCondition = typeof PatternCondition.Type;
32
+ export declare const RoutingPattern: Schema.Struct<{
33
+ id: typeof Schema.String;
34
+ displayName: typeof Schema.String;
35
+ triggerKind: Schema.Literal<["file-path", "import-added", "ast-match", "signal-threshold"]>;
36
+ condition: Schema.Union<[Schema.Struct<{
37
+ kind: Schema.Literal<["file-path"]>;
38
+ globs: Schema.Array$<typeof Schema.String>;
39
+ }>, Schema.Struct<{
40
+ kind: Schema.Literal<["import-added"]>;
41
+ specifiers: Schema.Array$<typeof Schema.String>;
42
+ }>, Schema.Struct<{
43
+ kind: Schema.Literal<["ast-match"]>;
44
+ signalId: typeof Schema.String;
45
+ outputKey: typeof Schema.String;
46
+ }>, Schema.Struct<{
47
+ kind: Schema.Literal<["signal-threshold"]>;
48
+ signalId: typeof Schema.String;
49
+ below: Schema.optional<Schema.filter<typeof Schema.Number>>;
50
+ changeRatioAbove: Schema.optional<Schema.filter<typeof Schema.Number>>;
51
+ }>]>;
52
+ reviewerRole: typeof Schema.String;
53
+ contextPayload: Schema.Array$<Schema.Struct<{
54
+ signalId: typeof Schema.String;
55
+ include: Schema.optionalWith<Schema.Literal<["score", "diagnostics", "output", "all"]>, {
56
+ default: () => "all";
57
+ }>;
58
+ }>>;
59
+ }>;
60
+ export type RoutingPattern = typeof RoutingPattern.Type;
61
+ export declare const ImportAddition: Schema.Struct<{
62
+ file: typeof Schema.String;
63
+ specifier: typeof Schema.String;
64
+ line: Schema.optional<typeof Schema.Number>;
65
+ }>;
66
+ export type ImportAddition = typeof ImportAddition.Type;
67
+ export declare const AstMatch: Schema.Struct<{
68
+ signalId: typeof Schema.String;
69
+ outputKey: typeof Schema.String;
70
+ location: Schema.Struct<{
71
+ file: typeof Schema.String;
72
+ line: Schema.optional<typeof Schema.Number>;
73
+ column: Schema.optional<typeof Schema.Number>;
74
+ }>;
75
+ data: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
76
+ }>;
77
+ export type AstMatch = typeof AstMatch.Type;
78
+ export declare const SignalChange: Schema.Struct<{
79
+ previousScore: Schema.optional<typeof Schema.Number>;
80
+ currentScore: typeof Schema.Number;
81
+ absoluteDelta: typeof Schema.Number;
82
+ relativeDelta: Schema.optional<typeof Schema.Number>;
83
+ sourceLocations: Schema.optional<Schema.Array$<Schema.Struct<{
84
+ file: typeof Schema.String;
85
+ line: Schema.optional<typeof Schema.Number>;
86
+ column: Schema.optional<typeof Schema.Number>;
87
+ }>>>;
88
+ }>;
89
+ export type SignalChange = typeof SignalChange.Type;
90
+ export declare const RoutingDiff: Schema.Struct<{
91
+ changedFiles: Schema.Array$<typeof Schema.String>;
92
+ changedHunks: Schema.optionalWith<Schema.Array$<Schema.Struct<{
93
+ file: typeof Schema.String;
94
+ oldStart: typeof Schema.Number;
95
+ oldLines: typeof Schema.Number;
96
+ newStart: typeof Schema.Number;
97
+ newLines: typeof Schema.Number;
98
+ }>>, {
99
+ default: () => never[];
100
+ }>;
101
+ addedFiles: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
102
+ default: () => never[];
103
+ }>;
104
+ addedImports: Schema.optionalWith<Schema.Array$<Schema.Struct<{
105
+ file: typeof Schema.String;
106
+ specifier: typeof Schema.String;
107
+ line: Schema.optional<typeof Schema.Number>;
108
+ }>>, {
109
+ default: () => never[];
110
+ }>;
111
+ astMatches: Schema.optionalWith<Schema.Array$<Schema.Struct<{
112
+ signalId: typeof Schema.String;
113
+ outputKey: typeof Schema.String;
114
+ location: Schema.Struct<{
115
+ file: typeof Schema.String;
116
+ line: Schema.optional<typeof Schema.Number>;
117
+ column: Schema.optional<typeof Schema.Number>;
118
+ }>;
119
+ data: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
120
+ }>>, {
121
+ default: () => never[];
122
+ }>;
123
+ signalChanges: Schema.optionalWith<Schema.Record$<typeof Schema.String, Schema.Struct<{
124
+ previousScore: Schema.optional<typeof Schema.Number>;
125
+ currentScore: typeof Schema.Number;
126
+ absoluteDelta: typeof Schema.Number;
127
+ relativeDelta: Schema.optional<typeof Schema.Number>;
128
+ sourceLocations: Schema.optional<Schema.Array$<Schema.Struct<{
129
+ file: typeof Schema.String;
130
+ line: Schema.optional<typeof Schema.Number>;
131
+ column: Schema.optional<typeof Schema.Number>;
132
+ }>>>;
133
+ }>>, {
134
+ default: () => {};
135
+ }>;
136
+ }>;
137
+ export type RoutingDiff = typeof RoutingDiff.Type;
138
+ export declare const RoutingTrigger: Schema.Struct<{
139
+ patternId: typeof Schema.String;
140
+ reviewerRole: typeof Schema.String;
141
+ contextPayload: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
142
+ sourceLocations: Schema.Array$<Schema.Struct<{
143
+ file: typeof Schema.String;
144
+ line: Schema.optional<typeof Schema.Number>;
145
+ column: Schema.optional<typeof Schema.Number>;
146
+ }>>;
147
+ }>;
148
+ export type RoutingTrigger = typeof RoutingTrigger.Type;
149
+ export declare const RoutingOutput: Schema.Struct<{
150
+ triggers: Schema.Array$<Schema.Struct<{
151
+ patternId: typeof Schema.String;
152
+ reviewerRole: typeof Schema.String;
153
+ contextPayload: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
154
+ sourceLocations: Schema.Array$<Schema.Struct<{
155
+ file: typeof Schema.String;
156
+ line: Schema.optional<typeof Schema.Number>;
157
+ column: Schema.optional<typeof Schema.Number>;
158
+ }>>;
159
+ }>>;
160
+ }>;
161
+ export type RoutingOutput = typeof RoutingOutput.Type;
162
+ //# sourceMappingURL=routing-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-schema.d.ts","sourceRoot":"","sources":["../src/routing-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAO,MAAM,QAAQ;;;;EAInB,CAAA;AACF,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAA;AAE3C,eAAO,MAAM,SAAS;;;;;EAMpB,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAyB7C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;IAK5B,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYzB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,cAAc;;;;EAIzB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,QAAQ;;;;;;;;;EAKnB,CAAA;AACF,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAA;AAE3C,eAAO,MAAM,YAAY;;;;;;;;;;EAMvB,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUtB,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,eAAO,MAAM,cAAc;;;;;;;;;EAKzB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,aAAa;;;;;;;;;;;EAExB,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA"}
@@ -0,0 +1,75 @@
1
+ import { Schema } from "effect";
2
+ import { ChangedHunk } from "./context.js";
3
+ export const Location = Schema.Struct({
4
+ file: Schema.String,
5
+ line: Schema.optional(Schema.Number),
6
+ column: Schema.optional(Schema.Number),
7
+ });
8
+ export const SignalRef = Schema.Struct({
9
+ signalId: Schema.String,
10
+ include: Schema.optionalWith(Schema.Literal("score", "diagnostics", "output", "all"), { default: () => "all" }),
11
+ });
12
+ const FilePathCondition = Schema.Struct({
13
+ kind: Schema.Literal("file-path"),
14
+ globs: Schema.Array(Schema.String),
15
+ });
16
+ const ImportAddedCondition = Schema.Struct({
17
+ kind: Schema.Literal("import-added"),
18
+ specifiers: Schema.Array(Schema.String),
19
+ });
20
+ const AstMatchCondition = Schema.Struct({
21
+ kind: Schema.Literal("ast-match"),
22
+ signalId: Schema.String,
23
+ outputKey: Schema.String,
24
+ });
25
+ const SignalThresholdCondition = Schema.Struct({
26
+ kind: Schema.Literal("signal-threshold"),
27
+ signalId: Schema.String,
28
+ below: Schema.optional(Schema.Number.pipe(Schema.between(0, 1))),
29
+ changeRatioAbove: Schema.optional(Schema.Number.pipe(Schema.greaterThanOrEqualTo(0))),
30
+ });
31
+ export const PatternCondition = Schema.Union(FilePathCondition, ImportAddedCondition, AstMatchCondition, SignalThresholdCondition);
32
+ export const RoutingPattern = Schema.Struct({
33
+ id: Schema.String,
34
+ displayName: Schema.String,
35
+ triggerKind: Schema.Literal("file-path", "import-added", "ast-match", "signal-threshold"),
36
+ condition: PatternCondition,
37
+ reviewerRole: Schema.String,
38
+ contextPayload: Schema.Array(SignalRef),
39
+ });
40
+ export const ImportAddition = Schema.Struct({
41
+ file: Schema.String,
42
+ specifier: Schema.String,
43
+ line: Schema.optional(Schema.Number),
44
+ });
45
+ export const AstMatch = Schema.Struct({
46
+ signalId: Schema.String,
47
+ outputKey: Schema.String,
48
+ location: Location,
49
+ data: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Unknown })),
50
+ });
51
+ export const SignalChange = Schema.Struct({
52
+ previousScore: Schema.optional(Schema.Number),
53
+ currentScore: Schema.Number,
54
+ absoluteDelta: Schema.Number,
55
+ relativeDelta: Schema.optional(Schema.Number),
56
+ sourceLocations: Schema.optional(Schema.Array(Location)),
57
+ });
58
+ export const RoutingDiff = Schema.Struct({
59
+ changedFiles: Schema.Array(Schema.String),
60
+ changedHunks: Schema.optionalWith(Schema.Array(ChangedHunk), { default: () => [] }),
61
+ addedFiles: Schema.optionalWith(Schema.Array(Schema.String), { default: () => [] }),
62
+ addedImports: Schema.optionalWith(Schema.Array(ImportAddition), { default: () => [] }),
63
+ astMatches: Schema.optionalWith(Schema.Array(AstMatch), { default: () => [] }),
64
+ signalChanges: Schema.optionalWith(Schema.Record({ key: Schema.String, value: SignalChange }), { default: () => ({}) }),
65
+ });
66
+ export const RoutingTrigger = Schema.Struct({
67
+ patternId: Schema.String,
68
+ reviewerRole: Schema.String,
69
+ contextPayload: Schema.Record({ key: Schema.String, value: Schema.Unknown }),
70
+ sourceLocations: Schema.Array(Location),
71
+ });
72
+ export const RoutingOutput = Schema.Struct({
73
+ triggers: Schema.Array(RoutingTrigger),
74
+ });
75
+ //# sourceMappingURL=routing-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-schema.js","sourceRoot":"","sources":["../src/routing-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACvC,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,OAAO,EAAE,MAAM,CAAC,YAAY,CAC1B,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,EACvD,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CACzB;CACF,CAAC,CAAA;AAGF,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;CACnC,CAAC,CAAA;AAEF,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;CACxC,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CAAC,CAAA;AAEF,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChE,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;CACtF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAC1C,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,CACzB,CAAA;AAGD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,WAAW,EAAE,MAAM,CAAC,MAAM;IAC1B,WAAW,EAAE,MAAM,CAAC,OAAO,CACzB,WAAW,EACX,cAAc,EACd,WAAW,EACX,kBAAkB,CACnB;IACD,SAAS,EAAE,gBAAgB;IAC3B,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;CACxC,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACrC,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;CACpF,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAC7C,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,aAAa,EAAE,MAAM,CAAC,MAAM;IAC5B,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAC7C,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;CACzD,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACnF,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACnF,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACtF,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC9E,aAAa,EAAE,MAAM,CAAC,YAAY,CAChC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAC1D,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CACxB;CACF,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IAC5E,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;CACxC,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;CACvC,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { Effect } from "effect";
2
+ import type { ObserverOutput } from "./observer.js";
3
+ import { RoutingDiff, type RoutingOutput, type RoutingPattern } from "./routing-schema.js";
4
+ export * from "./routing-schema.js";
5
+ export { generateReviewPlan, type ReviewPlan } from "./review-plan.js";
6
+ export declare class RoutingDetector {
7
+ readonly patterns: ReadonlyArray<RoutingPattern>;
8
+ constructor(patterns: ReadonlyArray<RoutingPattern>);
9
+ detect(observerOutput: ObserverOutput, diff: RoutingDiff): RoutingOutput;
10
+ static load(options?: {
11
+ readonly repoRoot?: string;
12
+ }): Effect.Effect<RoutingDetector, unknown, never>;
13
+ }
14
+ //# sourceMappingURL=routing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../src/routing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAInD,OAAO,EACL,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,cAAc,EAEpB,MAAM,qBAAqB,CAAA;AAE5B,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAEtE,qBAAa,eAAe;IAExB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC;gBAAvC,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC;IAGlD,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,GAAG,aAAa;IAoBxE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC;CAKtG"}