@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,110 @@
1
+ import { Schema } from "effect";
2
+ export declare const BoundaryConvention: Schema.Struct<{
3
+ visibility: Schema.Literal<["public-api", "internal"]>;
4
+ allowed_imports: Schema.Array$<typeof Schema.String>;
5
+ blocked_imports: Schema.optional<Schema.Array$<typeof Schema.String>>;
6
+ }>;
7
+ export type BoundaryConvention = typeof BoundaryConvention.Type;
8
+ export declare const NamingConventions: Schema.Struct<{
9
+ function: Schema.filter<typeof Schema.String>;
10
+ class: Schema.filter<typeof Schema.String>;
11
+ interface: Schema.filter<typeof Schema.String>;
12
+ type: Schema.filter<typeof Schema.String>;
13
+ const: Schema.filter<typeof Schema.String>;
14
+ enum: Schema.filter<typeof Schema.String>;
15
+ }>;
16
+ export type NamingConventions = typeof NamingConventions.Type;
17
+ export declare const SchemaConventions: Schema.Struct<{
18
+ schema_version: Schema.Literal<[1]>;
19
+ extracted_at_sha: typeof Schema.String;
20
+ boundaries: Schema.Record$<typeof Schema.String, Schema.Struct<{
21
+ visibility: Schema.Literal<["public-api", "internal"]>;
22
+ allowed_imports: Schema.Array$<typeof Schema.String>;
23
+ blocked_imports: Schema.optional<Schema.Array$<typeof Schema.String>>;
24
+ }>>;
25
+ rust_crate_boundaries: Schema.optional<Schema.Record$<typeof Schema.String, Schema.Struct<{
26
+ visibility: Schema.Literal<["public-api", "internal"]>;
27
+ allowed_dependents: Schema.optional<Schema.Array$<typeof Schema.String>>;
28
+ public_modules: Schema.optional<Schema.Array$<typeof Schema.String>>;
29
+ }>>>;
30
+ naming_conventions: Schema.Struct<{
31
+ function: Schema.filter<typeof Schema.String>;
32
+ class: Schema.filter<typeof Schema.String>;
33
+ interface: Schema.filter<typeof Schema.String>;
34
+ type: Schema.filter<typeof Schema.String>;
35
+ const: Schema.filter<typeof Schema.String>;
36
+ enum: Schema.filter<typeof Schema.String>;
37
+ }>;
38
+ architectural_rules: Schema.Array$<Schema.Struct<{
39
+ from: typeof Schema.String;
40
+ to: typeof Schema.String;
41
+ allowed: typeof Schema.Boolean;
42
+ reason: typeof Schema.String;
43
+ }>>;
44
+ }>;
45
+ export type SchemaConventions = typeof SchemaConventions.Type;
46
+ export declare const decodeSchemaConventions: (u: unknown, overrideOptions?: import("effect/SchemaAST").ParseOptions) => import("effect/Effect").Effect<{
47
+ readonly schema_version: 1;
48
+ readonly extracted_at_sha: string;
49
+ readonly boundaries: {
50
+ readonly [x: string]: {
51
+ readonly visibility: "public-api" | "internal";
52
+ readonly allowed_imports: readonly string[];
53
+ readonly blocked_imports?: readonly string[] | undefined;
54
+ };
55
+ };
56
+ readonly rust_crate_boundaries?: {
57
+ readonly [x: string]: {
58
+ readonly visibility: "public-api" | "internal";
59
+ readonly allowed_dependents?: readonly string[] | undefined;
60
+ readonly public_modules?: readonly string[] | undefined;
61
+ };
62
+ } | undefined;
63
+ readonly naming_conventions: {
64
+ readonly function: string;
65
+ readonly class: string;
66
+ readonly interface: string;
67
+ readonly type: string;
68
+ readonly const: string;
69
+ readonly enum: string;
70
+ };
71
+ readonly architectural_rules: readonly {
72
+ readonly from: string;
73
+ readonly to: string;
74
+ readonly reason: string;
75
+ readonly allowed: boolean;
76
+ }[];
77
+ }, import("effect/ParseResult").ParseError, never>;
78
+ export declare const decodeSchemaConventionsSync: (u: unknown, overrideOptions?: import("effect/SchemaAST").ParseOptions) => {
79
+ readonly schema_version: 1;
80
+ readonly extracted_at_sha: string;
81
+ readonly boundaries: {
82
+ readonly [x: string]: {
83
+ readonly visibility: "public-api" | "internal";
84
+ readonly allowed_imports: readonly string[];
85
+ readonly blocked_imports?: readonly string[] | undefined;
86
+ };
87
+ };
88
+ readonly rust_crate_boundaries?: {
89
+ readonly [x: string]: {
90
+ readonly visibility: "public-api" | "internal";
91
+ readonly allowed_dependents?: readonly string[] | undefined;
92
+ readonly public_modules?: readonly string[] | undefined;
93
+ };
94
+ } | undefined;
95
+ readonly naming_conventions: {
96
+ readonly function: string;
97
+ readonly class: string;
98
+ readonly interface: string;
99
+ readonly type: string;
100
+ readonly const: string;
101
+ readonly enum: string;
102
+ };
103
+ readonly architectural_rules: readonly {
104
+ readonly from: string;
105
+ readonly to: string;
106
+ readonly reason: string;
107
+ readonly allowed: boolean;
108
+ }[];
109
+ };
110
+ //# sourceMappingURL=conventions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conventions.d.ts","sourceRoot":"","sources":["../src/conventions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAsB/B,eAAO,MAAM,kBAAkB;;;;EAI7B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA;AAS/D,eAAO,MAAM,iBAAiB;;;;;;;EAO5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAU7D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAA0C,CAAA;AAC9E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8C,CAAA"}
@@ -0,0 +1,40 @@
1
+ import { Schema } from "effect";
2
+ const CasingPattern = Schema.Literal("camelCase", "PascalCase", "UPPER_SNAKE_CASE", "snake_case", "kebab-case");
3
+ const NAMING_CONVENTION_PATTERN = /^(camelCase|PascalCase|UPPER_SNAKE_CASE|snake_case|kebab-case)( \| (camelCase|PascalCase|UPPER_SNAKE_CASE|snake_case|kebab-case))*$/;
4
+ const NamingConventionValue = Schema.String.pipe(Schema.pattern(NAMING_CONVENTION_PATTERN));
5
+ const BoundaryVisibility = Schema.Literal("public-api", "internal");
6
+ export const BoundaryConvention = Schema.Struct({
7
+ visibility: BoundaryVisibility,
8
+ allowed_imports: Schema.Array(Schema.String),
9
+ blocked_imports: Schema.optional(Schema.Array(Schema.String)),
10
+ });
11
+ const RustCrateBoundaryConvention = Schema.Struct({
12
+ visibility: BoundaryVisibility,
13
+ allowed_dependents: Schema.optional(Schema.Array(Schema.String)),
14
+ public_modules: Schema.optional(Schema.Array(Schema.String)),
15
+ });
16
+ export const NamingConventions = Schema.Struct({
17
+ function: NamingConventionValue,
18
+ class: NamingConventionValue,
19
+ interface: NamingConventionValue,
20
+ type: NamingConventionValue,
21
+ const: NamingConventionValue,
22
+ enum: NamingConventionValue,
23
+ });
24
+ const ArchitecturalRule = Schema.Struct({
25
+ from: Schema.String,
26
+ to: Schema.String,
27
+ allowed: Schema.Boolean,
28
+ reason: Schema.String,
29
+ });
30
+ export const SchemaConventions = Schema.Struct({
31
+ schema_version: Schema.Literal(1),
32
+ extracted_at_sha: Schema.String,
33
+ boundaries: Schema.Record({ key: Schema.String, value: BoundaryConvention }),
34
+ rust_crate_boundaries: Schema.optional(Schema.Record({ key: Schema.String, value: RustCrateBoundaryConvention })),
35
+ naming_conventions: NamingConventions,
36
+ architectural_rules: Schema.Array(ArchitecturalRule),
37
+ });
38
+ export const decodeSchemaConventions = Schema.decodeUnknown(SchemaConventions);
39
+ export const decodeSchemaConventionsSync = Schema.decodeUnknownSync(SchemaConventions);
40
+ //# sourceMappingURL=conventions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conventions.js","sourceRoot":"","sources":["../src/conventions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAClC,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,YAAY,CACb,CAAA;AAGD,MAAM,yBAAyB,GAC7B,qIAAqI,CAAA;AAEvI,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAC9C,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAC1C,CAAA;AAGD,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;AAGnE,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,UAAU,EAAE,kBAAkB;IAC9B,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5C,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAC9D,CAAC,CAAA;AAGF,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,UAAU,EAAE,kBAAkB;IAC9B,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChE,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAC7D,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,qBAAqB;IAC/B,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,qBAAqB;IAChC,IAAI,EAAE,qBAAqB;IAC3B,KAAK,EAAE,qBAAqB;IAC5B,IAAI,EAAE,qBAAqB;CAC5B,CAAC,CAAA;AAGF,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC,MAAM;IAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5E,qBAAqB,EAAE,MAAM,CAAC,QAAQ,CACpC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAC1E;IACD,kBAAkB,EAAE,iBAAiB;IACrC,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;CACrD,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAA;AAC9E,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const dedupeByKey: <Item>(items: ReadonlyArray<Item>, keyOf: (item: Item) => string) => ReadonlyArray<Item>;
2
+ //# sourceMappingURL=dedupe-by-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedupe-by-key.d.ts","sourceRoot":"","sources":["../src/dedupe-by-key.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,GAAI,IAAI,EAC9B,OAAO,aAAa,CAAC,IAAI,CAAC,EAC1B,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,KAC5B,aAAa,CAAC,IAAI,CAYpB,CAAA"}
@@ -0,0 +1,13 @@
1
+ export const dedupeByKey = (items, keyOf) => {
2
+ const seen = new Set();
3
+ const deduped = [];
4
+ for (const item of items) {
5
+ const key = keyOf(item);
6
+ if (seen.has(key))
7
+ continue;
8
+ seen.add(key);
9
+ deduped.push(item);
10
+ }
11
+ return deduped;
12
+ };
13
+ //# sourceMappingURL=dedupe-by-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedupe-by-key.js","sourceRoot":"","sources":["../src/dedupe-by-key.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAA0B,EAC1B,KAA6B,EACR,EAAE;IACvB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,MAAM,OAAO,GAAgB,EAAE,CAAA;IAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;QACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAQ;QAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACb,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { Schema } from "effect";
2
+ /**
3
+ * A single actionable finding emitted by a signal's `diagnose` pass.
4
+ *
5
+ * Diagnostics are structured data, not strings. Downstream consumers
6
+ * (review routing, bisect reports, harness adapters) render them
7
+ * differently but should share the same underlying shape.
8
+ *
9
+ * `data` is optional structured metadata for downstream consumers.
10
+ * Hard-gate signals that participate in ratcheting should set
11
+ * `data.hash` to a stable identity string for the offending span.
12
+ */
13
+ export declare const Diagnostic: Schema.Struct<{
14
+ severity: Schema.Literal<["info", "warn", "block"]>;
15
+ message: typeof Schema.String;
16
+ location: Schema.optional<Schema.Struct<{
17
+ file: typeof Schema.String;
18
+ line: Schema.optional<typeof Schema.Number>;
19
+ column: Schema.optional<typeof Schema.Number>;
20
+ }>>;
21
+ data: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
22
+ }>;
23
+ export type Diagnostic = typeof Diagnostic.Type;
24
+ export declare const computeDiagnosticHash: (input: string) => string;
25
+ export declare const diagnosticHashOf: (diagnostic: Diagnostic) => string | undefined;
26
+ //# sourceMappingURL=diagnostic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostic.d.ts","sourceRoot":"","sources":["../src/diagnostic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAK/B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU;;;;;;;;;EAWrB,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,KAAG,MAIrD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,YAAY,UAAU,KAAG,MAAM,GAAG,SAGlE,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { createHash } from "node:crypto";
2
+ import { Schema } from "effect";
3
+ const Severity = Schema.Literal("info", "warn", "block");
4
+ /**
5
+ * A single actionable finding emitted by a signal's `diagnose` pass.
6
+ *
7
+ * Diagnostics are structured data, not strings. Downstream consumers
8
+ * (review routing, bisect reports, harness adapters) render them
9
+ * differently but should share the same underlying shape.
10
+ *
11
+ * `data` is optional structured metadata for downstream consumers.
12
+ * Hard-gate signals that participate in ratcheting should set
13
+ * `data.hash` to a stable identity string for the offending span.
14
+ */
15
+ export const Diagnostic = Schema.Struct({
16
+ severity: Severity,
17
+ message: Schema.String,
18
+ location: Schema.optional(Schema.Struct({
19
+ file: Schema.String,
20
+ line: Schema.optional(Schema.Number),
21
+ column: Schema.optional(Schema.Number),
22
+ })),
23
+ data: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Unknown })),
24
+ });
25
+ export const computeDiagnosticHash = (input) => {
26
+ const hash = createHash("sha256");
27
+ hash.update(input.replace(/\s+/g, " ").trim());
28
+ return hash.digest("hex");
29
+ };
30
+ export const diagnosticHashOf = (diagnostic) => {
31
+ const value = diagnostic.data?.hash;
32
+ return typeof value === "string" ? value : undefined;
33
+ };
34
+ //# sourceMappingURL=diagnostic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../src/diagnostic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;AAGxD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CACvB,MAAM,CAAC,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACpC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;KACvC,CAAC,CACH;IACD,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,qBAAqB,GAAG,CAAC,KAAa,EAAU,EAAE;IAC7D,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAsB,EAAsB,EAAE;IAC7E,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAA;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACtD,CAAC,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { Schema } from "effect";
2
+ /**
3
+ * Shared distributional summary used across signals that emit per-file
4
+ * or per-bucket aggregates. Exposing max/p95/sum/count alongside avg
5
+ * lets downstream compound signals and pulsar-vector overrides pick a
6
+ * different aggregation axis without forcing the producer to re-walk
7
+ * its input.
8
+ */
9
+ export declare const DistributionalSummary: Schema.Struct<{
10
+ max: typeof Schema.Number;
11
+ p95: typeof Schema.Number;
12
+ avg: typeof Schema.Number;
13
+ sum: typeof Schema.Number;
14
+ count: typeof Schema.Number;
15
+ }>;
16
+ export type DistributionalSummary = typeof DistributionalSummary.Type;
17
+ export declare const summarize: (values: ReadonlyArray<number>) => DistributionalSummary;
18
+ //# sourceMappingURL=distribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../src/distribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;;;;;;EAMhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAUrE,eAAO,MAAM,SAAS,GAAI,QAAQ,aAAa,CAAC,MAAM,CAAC,KAAG,qBAkBzD,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { Schema } from "effect";
2
+ /**
3
+ * Shared distributional summary used across signals that emit per-file
4
+ * or per-bucket aggregates. Exposing max/p95/sum/count alongside avg
5
+ * lets downstream compound signals and pulsar-vector overrides pick a
6
+ * different aggregation axis without forcing the producer to re-walk
7
+ * its input.
8
+ */
9
+ export const DistributionalSummary = Schema.Struct({
10
+ max: Schema.Number,
11
+ p95: Schema.Number,
12
+ avg: Schema.Number,
13
+ sum: Schema.Number,
14
+ count: Schema.Number,
15
+ });
16
+ const emptySummary = {
17
+ max: 0,
18
+ p95: 0,
19
+ avg: 0,
20
+ sum: 0,
21
+ count: 0,
22
+ };
23
+ export const summarize = (values) => {
24
+ if (values.length === 0)
25
+ return emptySummary;
26
+ const sorted = [...values].sort((a, b) => a - b);
27
+ let sum = 0;
28
+ let max = sorted[0] ?? 0;
29
+ for (const v of sorted) {
30
+ sum += v;
31
+ if (v > max)
32
+ max = v;
33
+ }
34
+ const p95Index = Math.min(sorted.length - 1, Math.floor(0.95 * (sorted.length - 1)));
35
+ const p95 = sorted[p95Index] ?? 0;
36
+ return {
37
+ max,
38
+ p95,
39
+ avg: sum / sorted.length,
40
+ sum,
41
+ count: sorted.length,
42
+ };
43
+ };
44
+ //# sourceMappingURL=distribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../src/distribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CAAC,CAAA;AAGF,MAAM,YAAY,GAA0B;IAC1C,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;CACT,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAA6B,EAAyB,EAAE;IAChF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,CAAA;IAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAChD,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACxB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,GAAG,IAAI,CAAC,CAAA;QACR,IAAI,CAAC,GAAG,GAAG;YAAE,GAAG,GAAG,CAAC,CAAA;IACtB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACpF,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACjC,OAAO;QACL,GAAG;QACH,GAAG;QACH,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM;QACxB,GAAG;QACH,KAAK,EAAE,MAAM,CAAC,MAAM;KACrB,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const levenshteinDistance: (left: string, right: string) => number;
2
+ //# sourceMappingURL=edit-distance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-distance.d.ts","sourceRoot":"","sources":["../src/edit-distance.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MAmBjE,CAAA"}
@@ -0,0 +1,21 @@
1
+ export const levenshteinDistance = (left, right) => {
2
+ if (left === right)
3
+ return 0;
4
+ if (left.length === 0)
5
+ return right.length;
6
+ if (right.length === 0)
7
+ return left.length;
8
+ const rows = Array.from({ length: left.length + 1 }, (_, index) => index);
9
+ for (let i = 1; i <= right.length; i += 1) {
10
+ let previous = i - 1;
11
+ rows[0] = i;
12
+ for (let j = 1; j <= left.length; j += 1) {
13
+ const current = rows[j];
14
+ const cost = left[j - 1] === right[i - 1] ? 0 : 1;
15
+ rows[j] = Math.min(rows[j] + 1, rows[j - 1] + 1, previous + cost);
16
+ previous = current;
17
+ }
18
+ }
19
+ return rows[left.length];
20
+ };
21
+ //# sourceMappingURL=edit-distance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-distance.js","sourceRoot":"","sources":["../src/edit-distance.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE;IACzE,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,CAAC,CAAA;IAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,CAAA;IAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,CAAA;IAE1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;IACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAA;QACpB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAEX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAE,CAAA;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACjD,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAA;YACnE,QAAQ,GAAG,OAAO,CAAA;QACpB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAE,CAAA;AAC3B,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { type PulsarVector } from "../vector.js";
2
+ import type { PulsarVectorProposal } from "./proposal-schema.js";
3
+ export declare const deriveAiAssistedModeProposal: (input: {
4
+ readonly changedFiles: ReadonlyArray<string>;
5
+ readonly toolName: string;
6
+ readonly vector: PulsarVector | undefined;
7
+ readonly now?: string;
8
+ }) => PulsarVectorProposal | undefined;
9
+ //# sourceMappingURL=proposal-ai-assisted-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposal-ai-assisted-mode.d.ts","sourceRoot":"","sources":["../../src/elicitation/proposal-ai-assisted-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAGhE,eAAO,MAAM,4BAA4B,GAAI,OAAO;IAClD,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACtB,KAAG,oBAAoB,GAAG,SAmC1B,CAAA"}
@@ -0,0 +1,37 @@
1
+ import { aiAssistedModeEnabled, } from "../vector.js";
2
+ import { sortedUniqueFiles } from "./proposal-utils.js";
3
+ export const deriveAiAssistedModeProposal = (input) => {
4
+ if (aiAssistedModeEnabled(input.vector))
5
+ return undefined;
6
+ return {
7
+ schema_version: 1,
8
+ id: "proposal-ai-assisted-mode",
9
+ source: "ai-assisted-detection",
10
+ domain: input.vector?.domain ?? "typescript",
11
+ created_at: input.now ?? new Date().toISOString(),
12
+ status: "pending-confirmation",
13
+ confidence: 0.95,
14
+ summary: "Detected agent-mediated editing; keep AI-assisted thresholds explicit instead of hidden.",
15
+ changed_files: sortedUniqueFiles(input.changedFiles),
16
+ evidence: [
17
+ {
18
+ kind: "observation",
19
+ summary: `Observed edit tool '${input.toolName}' changing tracked files in this worktree.`,
20
+ metadata: {
21
+ tool: input.toolName,
22
+ anti_dark_pattern: "The pulsar does not silently tighten thresholds. Accepting this proposal writes modes.ai_assisted into the vector; rejecting it preserves manual mode.",
23
+ },
24
+ },
25
+ ],
26
+ deltas: [],
27
+ mode_deltas: [
28
+ {
29
+ mode: "ai_assisted",
30
+ previous: false,
31
+ proposed: true,
32
+ rationale: "Agent edit tools were active in this worktree. Keep any tighter AI-assisted thresholds visible in the vector instead of inferring them through a hidden branch.",
33
+ },
34
+ ],
35
+ };
36
+ };
37
+ //# sourceMappingURL=proposal-ai-assisted-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposal-ai-assisted-mode.js","sourceRoot":"","sources":["../../src/elicitation/proposal-ai-assisted-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,GAEtB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAK5C,EAAoC,EAAE;IACrC,IAAI,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAA;IAEzD,OAAO;QACL,cAAc,EAAE,CAAC;QACjB,EAAE,EAAE,2BAA2B;QAC/B,MAAM,EAAE,uBAAuB;QAC/B,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,YAAY;QAC5C,UAAU,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACjD,MAAM,EAAE,sBAAsB;QAC9B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,0FAA0F;QACnG,aAAa,EAAE,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC;QACpD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,uBAAuB,KAAK,CAAC,QAAQ,4CAA4C;gBAC1F,QAAQ,EAAE;oBACR,IAAI,EAAE,KAAK,CAAC,QAAQ;oBACpB,iBAAiB,EACf,wJAAwJ;iBAC3J;aACF;SACF;QACD,MAAM,EAAE,EAAE;QACV,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,aAAa;gBACnB,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,IAAI;gBACd,SAAS,EACP,iKAAiK;aACpK;SACF;KACF,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { ObserverOutput } from "../observer.js";
2
+ import { type PulsarVector } from "../vector.js";
3
+ import type { PulsarVectorProposal } from "./proposal-schema.js";
4
+ export declare const derivePassiveVectorProposal: (input: {
5
+ readonly fingerprint: string;
6
+ readonly changedFiles: ReadonlyArray<string>;
7
+ readonly vector: PulsarVector | undefined;
8
+ readonly previous: ObserverOutput | undefined;
9
+ readonly current: ObserverOutput;
10
+ readonly now?: string;
11
+ }) => PulsarVectorProposal | undefined;
12
+ //# sourceMappingURL=proposal-passive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposal-passive.d.ts","sourceRoot":"","sources":["../../src/elicitation/proposal-passive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAY,KAAK,YAAY,EAA6B,MAAM,cAAc,CAAA;AACrF,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,sBAAsB,CAAA;AAM7B,eAAO,MAAM,2BAA2B,GAAI,OAAO;IACjD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACtB,KAAG,oBAAoB,GAAG,SA4D1B,CAAA"}
@@ -0,0 +1,62 @@
1
+ import { weightOf } from "../vector.js";
2
+ import { clampWeight, roundNumber, sortedUniqueFiles } from "./proposal-utils.js";
3
+ const SIGNIFICANT_SCORE_DELTA = 0.2;
4
+ const MAX_SIGNAL_BUMP = 0.25;
5
+ export const derivePassiveVectorProposal = (input) => {
6
+ if (input.previous === undefined)
7
+ return undefined;
8
+ const deltas = [];
9
+ for (const [signalId, currentResult] of input.current.signalResults.entries()) {
10
+ const previousScore = input.previous.signalResults.get(signalId)?.score;
11
+ if (previousScore === undefined)
12
+ continue;
13
+ const delta = currentResult.score - previousScore;
14
+ if (delta < SIGNIFICANT_SCORE_DELTA)
15
+ continue;
16
+ const previousWeight = weightOf(signalId, input.vector);
17
+ const proposedWeight = clampWeight(previousWeight + Math.min(MAX_SIGNAL_BUMP, delta * 0.5));
18
+ if (Math.abs(proposedWeight - previousWeight) < 0.05)
19
+ continue;
20
+ deltas.push({
21
+ signal_id: signalId,
22
+ previous_score: roundNumber(previousScore),
23
+ current_score: roundNumber(currentResult.score),
24
+ previous_weight: roundNumber(previousWeight),
25
+ proposed_weight: proposedWeight,
26
+ rationale: `Recent edit activity improved ${signalId} by ${delta.toFixed(2)}; keep that preference explicit before it becomes implicit drift.`,
27
+ });
28
+ }
29
+ const ranked = deltas.sort((left, right) => (right.current_score ?? 0) -
30
+ (right.previous_score ?? 0) -
31
+ ((left.current_score ?? 0) - (left.previous_score ?? 0)) ||
32
+ left.signal_id.localeCompare(right.signal_id));
33
+ const top = ranked.slice(0, 3);
34
+ if (top.length === 0)
35
+ return undefined;
36
+ const evidence = top.map((delta) => ({
37
+ kind: "score-delta",
38
+ summary: `${delta.signal_id} improved from ${(delta.previous_score ?? 0).toFixed(2)} to ${(delta.current_score ?? 0).toFixed(2)}`,
39
+ signal_ids: [delta.signal_id],
40
+ metadata: {
41
+ previous_score: delta.previous_score,
42
+ current_score: delta.current_score,
43
+ previous_weight: delta.previous_weight,
44
+ proposed_weight: delta.proposed_weight,
45
+ },
46
+ }));
47
+ return {
48
+ schema_version: 1,
49
+ id: `proposal-${input.fingerprint.slice(0, 12)}`,
50
+ source: "passive-extraction",
51
+ domain: input.vector?.domain ?? "typescript",
52
+ created_at: input.now ?? new Date().toISOString(),
53
+ status: "pending-confirmation",
54
+ confidence: 1,
55
+ summary: `Observed edit flow strengthened ${top.map((delta) => delta.signal_id).join(", ")}`,
56
+ changed_files: sortedUniqueFiles(input.changedFiles),
57
+ evidence,
58
+ deltas: top,
59
+ mode_deltas: [],
60
+ };
61
+ };
62
+ //# sourceMappingURL=proposal-passive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposal-passive.js","sourceRoot":"","sources":["../../src/elicitation/proposal-passive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type PulsarVector } from "../vector.js";
2
+ import type { PulsarVectorProposal, PulsarVectorProposalStatus } from "./proposal-schema.js";
3
+ export declare const applyPulsarVectorProposal: (vector: PulsarVector, proposal: PulsarVectorProposal, options?: {
4
+ readonly artifactPath?: string;
5
+ }) => PulsarVector;
6
+ export declare const resolvePulsarVectorProposal: (input: {
7
+ readonly proposal: PulsarVectorProposal;
8
+ readonly status: Exclude<PulsarVectorProposalStatus, "pending-confirmation">;
9
+ readonly now?: string;
10
+ }) => PulsarVectorProposal;
11
+ //# sourceMappingURL=proposal-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposal-resolution.d.ts","sourceRoot":"","sources":["../../src/elicitation/proposal-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAA;AAE7B,eAAO,MAAM,yBAAyB,GACpC,QAAQ,YAAY,EACpB,UAAU,oBAAoB,EAC9B,UAAU;IACR,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B,KACA,YA0CF,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAI,OAAO;IACjD,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,0BAA0B,EAAE,sBAAsB,CAAC,CAAA;IAC5E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACtB,KAAG,oBAIF,CAAA"}
@@ -0,0 +1,43 @@
1
+ import { appendVectorProvenance, } from "../vector.js";
2
+ export const applyPulsarVectorProposal = (vector, proposal, options) => {
3
+ const signalOverrides = { ...vector.signal_overrides };
4
+ for (const delta of proposal.deltas) {
5
+ signalOverrides[delta.signal_id] = {
6
+ ...signalOverrides[delta.signal_id],
7
+ weight: delta.proposed_weight,
8
+ };
9
+ }
10
+ let nextModes = vector.modes;
11
+ for (const delta of proposal.mode_deltas ?? []) {
12
+ if (delta.mode === "ai_assisted") {
13
+ nextModes = { ai_assisted: delta.proposed };
14
+ }
15
+ }
16
+ const acceptedEvidence = [...proposal.evidence];
17
+ acceptedEvidence.push({
18
+ kind: "proposal",
19
+ summary: `Accepted proposal ${proposal.id}`,
20
+ ...(options?.artifactPath !== undefined ? { artifact_path: options.artifactPath } : {}),
21
+ metadata: {
22
+ proposal_id: proposal.id,
23
+ status: proposal.status,
24
+ },
25
+ });
26
+ return appendVectorProvenance({
27
+ ...vector,
28
+ signal_overrides: signalOverrides,
29
+ ...(nextModes !== undefined ? { modes: nextModes } : {}),
30
+ }, {
31
+ source: proposal.source,
32
+ recorded_at: proposal.reviewed_at ?? proposal.created_at,
33
+ summary: proposal.summary,
34
+ ...(options?.artifactPath !== undefined ? { artifact_path: options.artifactPath } : {}),
35
+ evidence: acceptedEvidence,
36
+ });
37
+ };
38
+ export const resolvePulsarVectorProposal = (input) => ({
39
+ ...input.proposal,
40
+ status: input.status,
41
+ reviewed_at: input.now ?? new Date().toISOString(),
42
+ });
43
+ //# sourceMappingURL=proposal-resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposal-resolution.js","sourceRoot":"","sources":["../../src/elicitation/proposal-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAGvB,MAAM,cAAc,CAAA;AAMrB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,MAAoB,EACpB,QAA8B,EAC9B,OAEC,EACa,EAAE;IAChB,MAAM,eAAe,GAAG,EAAE,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAA;IAEtD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG;YACjC,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC;YACnC,MAAM,EAAE,KAAK,CAAC,eAAe;SAC9B,CAAA;IACH,CAAC;IAED,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAA;IAC5B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,SAAS,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAgC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC5E,gBAAgB,CAAC,IAAI,CAAC;QACpB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,qBAAqB,QAAQ,CAAC,EAAE,EAAE;QAC3C,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,QAAQ,EAAE;YACR,WAAW,EAAE,QAAQ,CAAC,EAAE;YACxB,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB;KACF,CAAC,CAAA;IAEF,OAAO,sBAAsB,CAC3B;QACE,GAAG,MAAM;QACT,gBAAgB,EAAE,eAAe;QACjC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,EACD;QACE,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,UAAU;QACxD,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,QAAQ,EAAE,gBAAgB;KAC3B,CACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,KAI3C,EAAwB,EAAE,CAAC,CAAC;IAC3B,GAAG,KAAK,CAAC,QAAQ;IACjB,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,WAAW,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;CACnD,CAAC,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { type PulsarVector } from "../vector.js";
2
+ import type { PulsarVectorProposal } from "./proposal-schema.js";
3
+ export declare const deriveRevealedPreferenceProposal: (input: {
4
+ readonly proposalId: string;
5
+ readonly createdAt: string;
6
+ readonly vector: PulsarVector | undefined;
7
+ readonly algorithm: string;
8
+ readonly sampleCount: number;
9
+ readonly minimumSampleCount: number;
10
+ readonly comparedPairs: number;
11
+ readonly outcomeCounts: {
12
+ readonly accepted: number;
13
+ readonly revised: number;
14
+ readonly reverted: number;
15
+ };
16
+ readonly weights: Readonly<Record<string, number>>;
17
+ readonly support: Readonly<Record<string, number>>;
18
+ readonly changedFiles: ReadonlyArray<string>;
19
+ readonly reportPath?: string;
20
+ }) => PulsarVectorProposal | undefined;
21
+ //# sourceMappingURL=proposal-revealed-preference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposal-revealed-preference.d.ts","sourceRoot":"","sources":["../../src/elicitation/proposal-revealed-preference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,sBAAsB,CAAA;AAQ7B,eAAO,MAAM,gCAAgC,GAAI,OAAO;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,aAAa,EAAE;QACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAC1B,CAAA;IACD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B,KAAG,oBAAoB,GAAG,SAwE1B,CAAA"}