@isaacriehm/cairn 0.1.0 → 0.1.4

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 (533) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +0 -1
  4. package/dist/index.js.map +1 -1
  5. package/package.json +4 -4
  6. package/dist/backprop/id.d.ts +0 -14
  7. package/dist/backprop/id.js +0 -40
  8. package/dist/backprop/id.js.map +0 -1
  9. package/dist/backprop/index.d.ts +0 -23
  10. package/dist/backprop/index.js +0 -21
  11. package/dist/backprop/index.js.map +0 -1
  12. package/dist/backprop/prompt.d.ts +0 -16
  13. package/dist/backprop/prompt.js +0 -101
  14. package/dist/backprop/prompt.js.map +0 -1
  15. package/dist/backprop/runner.d.ts +0 -18
  16. package/dist/backprop/runner.js +0 -95
  17. package/dist/backprop/runner.js.map +0 -1
  18. package/dist/backprop/schema.d.ts +0 -61
  19. package/dist/backprop/schema.js +0 -55
  20. package/dist/backprop/schema.js.map +0 -1
  21. package/dist/backprop/types.d.ts +0 -101
  22. package/dist/backprop/types.js +0 -24
  23. package/dist/backprop/types.js.map +0 -1
  24. package/dist/backprop/writer.d.ts +0 -27
  25. package/dist/backprop/writer.js +0 -301
  26. package/dist/backprop/writer.js.map +0 -1
  27. package/dist/claude/error.d.ts +0 -33
  28. package/dist/claude/error.js +0 -58
  29. package/dist/claude/error.js.map +0 -1
  30. package/dist/claude/index.d.ts +0 -3
  31. package/dist/claude/index.js +0 -3
  32. package/dist/claude/index.js.map +0 -1
  33. package/dist/claude/runner.d.ts +0 -11
  34. package/dist/claude/runner.js +0 -132
  35. package/dist/claude/runner.js.map +0 -1
  36. package/dist/claude/types.d.ts +0 -52
  37. package/dist/claude/types.js +0 -14
  38. package/dist/claude/types.js.map +0 -1
  39. package/dist/cli/daemon.d.ts +0 -54
  40. package/dist/cli/daemon.js +0 -351
  41. package/dist/cli/daemon.js.map +0 -1
  42. package/dist/cli/install.d.ts +0 -52
  43. package/dist/cli/install.js +0 -308
  44. package/dist/cli/install.js.map +0 -1
  45. package/dist/cli/mirror.d.ts +0 -1
  46. package/dist/cli/mirror.js +0 -97
  47. package/dist/cli/mirror.js.map +0 -1
  48. package/dist/cli/run.d.ts +0 -1
  49. package/dist/cli/run.js +0 -174
  50. package/dist/cli/run.js.map +0 -1
  51. package/dist/cli/task.d.ts +0 -18
  52. package/dist/cli/task.js +0 -137
  53. package/dist/cli/task.js.map +0 -1
  54. package/dist/cli/watch.d.ts +0 -1
  55. package/dist/cli/watch.js +0 -73
  56. package/dist/cli/watch.js.map +0 -1
  57. package/dist/decision-capture/capture.d.ts +0 -57
  58. package/dist/decision-capture/capture.js +0 -186
  59. package/dist/decision-capture/capture.js.map +0 -1
  60. package/dist/decision-capture/extractor.d.ts +0 -20
  61. package/dist/decision-capture/extractor.js +0 -103
  62. package/dist/decision-capture/extractor.js.map +0 -1
  63. package/dist/decision-capture/id.d.ts +0 -14
  64. package/dist/decision-capture/id.js +0 -44
  65. package/dist/decision-capture/id.js.map +0 -1
  66. package/dist/decision-capture/index.d.ts +0 -25
  67. package/dist/decision-capture/index.js +0 -21
  68. package/dist/decision-capture/index.js.map +0 -1
  69. package/dist/decision-capture/prompt.d.ts +0 -15
  70. package/dist/decision-capture/prompt.js +0 -68
  71. package/dist/decision-capture/prompt.js.map +0 -1
  72. package/dist/decision-capture/refinement-prompt.d.ts +0 -25
  73. package/dist/decision-capture/refinement-prompt.js +0 -146
  74. package/dist/decision-capture/refinement-prompt.js.map +0 -1
  75. package/dist/decision-capture/refinement-schema.d.ts +0 -52
  76. package/dist/decision-capture/refinement-schema.js +0 -61
  77. package/dist/decision-capture/refinement-schema.js.map +0 -1
  78. package/dist/decision-capture/refinement.d.ts +0 -60
  79. package/dist/decision-capture/refinement.js +0 -439
  80. package/dist/decision-capture/refinement.js.map +0 -1
  81. package/dist/decision-capture/schema.d.ts +0 -70
  82. package/dist/decision-capture/schema.js +0 -71
  83. package/dist/decision-capture/schema.js.map +0 -1
  84. package/dist/decision-capture/types.d.ts +0 -201
  85. package/dist/decision-capture/types.js +0 -20
  86. package/dist/decision-capture/types.js.map +0 -1
  87. package/dist/decision-capture/writer.d.ts +0 -90
  88. package/dist/decision-capture/writer.js +0 -267
  89. package/dist/decision-capture/writer.js.map +0 -1
  90. package/dist/frontend/discord/acl.d.ts +0 -6
  91. package/dist/frontend/discord/acl.js +0 -19
  92. package/dist/frontend/discord/acl.js.map +0 -1
  93. package/dist/frontend/discord/channels.d.ts +0 -29
  94. package/dist/frontend/discord/channels.js +0 -58
  95. package/dist/frontend/discord/channels.js.map +0 -1
  96. package/dist/frontend/discord/classifier.d.ts +0 -16
  97. package/dist/frontend/discord/classifier.js +0 -29
  98. package/dist/frontend/discord/classifier.js.map +0 -1
  99. package/dist/frontend/discord/index.d.ts +0 -118
  100. package/dist/frontend/discord/index.js +0 -1104
  101. package/dist/frontend/discord/index.js.map +0 -1
  102. package/dist/frontend/discord/slash.d.ts +0 -18
  103. package/dist/frontend/discord/slash.js +0 -90
  104. package/dist/frontend/discord/slash.js.map +0 -1
  105. package/dist/frontend/inbox.d.ts +0 -17
  106. package/dist/frontend/inbox.js +0 -30
  107. package/dist/frontend/inbox.js.map +0 -1
  108. package/dist/frontend/index.d.ts +0 -8
  109. package/dist/frontend/index.js +0 -6
  110. package/dist/frontend/index.js.map +0 -1
  111. package/dist/frontend/stub/index.d.ts +0 -58
  112. package/dist/frontend/stub/index.js +0 -144
  113. package/dist/frontend/stub/index.js.map +0 -1
  114. package/dist/frontend/types.d.ts +0 -247
  115. package/dist/frontend/types.js +0 -15
  116. package/dist/frontend/types.js.map +0 -1
  117. package/dist/gc/apply.d.ts +0 -26
  118. package/dist/gc/apply.js +0 -48
  119. package/dist/gc/apply.js.map +0 -1
  120. package/dist/gc/canary.d.ts +0 -42
  121. package/dist/gc/canary.js +0 -134
  122. package/dist/gc/canary.js.map +0 -1
  123. package/dist/gc/classify.d.ts +0 -25
  124. package/dist/gc/classify.js +0 -89
  125. package/dist/gc/classify.js.map +0 -1
  126. package/dist/gc/doc-gardening.d.ts +0 -29
  127. package/dist/gc/doc-gardening.js +0 -146
  128. package/dist/gc/doc-gardening.js.map +0 -1
  129. package/dist/gc/frontmatter.d.ts +0 -35
  130. package/dist/gc/frontmatter.js +0 -111
  131. package/dist/gc/frontmatter.js.map +0 -1
  132. package/dist/gc/generator-drift.d.ts +0 -28
  133. package/dist/gc/generator-drift.js +0 -53
  134. package/dist/gc/generator-drift.js.map +0 -1
  135. package/dist/gc/index.d.ts +0 -35
  136. package/dist/gc/index.js +0 -26
  137. package/dist/gc/index.js.map +0 -1
  138. package/dist/gc/quality-update.d.ts +0 -23
  139. package/dist/gc/quality-update.js +0 -69
  140. package/dist/gc/quality-update.js.map +0 -1
  141. package/dist/gc/stub-hits.d.ts +0 -31
  142. package/dist/gc/stub-hits.js +0 -125
  143. package/dist/gc/stub-hits.js.map +0 -1
  144. package/dist/gc/sweep.d.ts +0 -56
  145. package/dist/gc/sweep.js +0 -178
  146. package/dist/gc/sweep.js.map +0 -1
  147. package/dist/gc/types.d.ts +0 -129
  148. package/dist/gc/types.js +0 -26
  149. package/dist/gc/types.js.map +0 -1
  150. package/dist/ground/drift.d.ts +0 -8
  151. package/dist/ground/drift.js +0 -23
  152. package/dist/ground/drift.js.map +0 -1
  153. package/dist/ground/frontmatter.d.ts +0 -20
  154. package/dist/ground/frontmatter.js +0 -49
  155. package/dist/ground/frontmatter.js.map +0 -1
  156. package/dist/ground/glob.d.ts +0 -10
  157. package/dist/ground/glob.js +0 -46
  158. package/dist/ground/glob.js.map +0 -1
  159. package/dist/ground/index.d.ts +0 -14
  160. package/dist/ground/index.js +0 -10
  161. package/dist/ground/index.js.map +0 -1
  162. package/dist/ground/ledgers.d.ts +0 -18
  163. package/dist/ground/ledgers.js +0 -103
  164. package/dist/ground/ledgers.js.map +0 -1
  165. package/dist/ground/manifest.d.ts +0 -10
  166. package/dist/ground/manifest.js +0 -88
  167. package/dist/ground/manifest.js.map +0 -1
  168. package/dist/ground/paths.d.ts +0 -20
  169. package/dist/ground/paths.js +0 -61
  170. package/dist/ground/paths.js.map +0 -1
  171. package/dist/ground/quality-grades.d.ts +0 -11
  172. package/dist/ground/quality-grades.js +0 -98
  173. package/dist/ground/quality-grades.js.map +0 -1
  174. package/dist/ground/schemas.d.ts +0 -306
  175. package/dist/ground/schemas.js +0 -188
  176. package/dist/ground/schemas.js.map +0 -1
  177. package/dist/ground/walk.d.ts +0 -7
  178. package/dist/ground/walk.js +0 -53
  179. package/dist/ground/walk.js.map +0 -1
  180. package/dist/init/detect.d.ts +0 -25
  181. package/dist/init/detect.js +0 -336
  182. package/dist/init/detect.js.map +0 -1
  183. package/dist/init/index.d.ts +0 -14
  184. package/dist/init/index.js +0 -9
  185. package/dist/init/index.js.map +0 -1
  186. package/dist/init/init.d.ts +0 -68
  187. package/dist/init/init.js +0 -673
  188. package/dist/init/init.js.map +0 -1
  189. package/dist/init/mapper.d.ts +0 -160
  190. package/dist/init/mapper.js +0 -248
  191. package/dist/init/mapper.js.map +0 -1
  192. package/dist/init/prompts.d.ts +0 -70
  193. package/dist/init/prompts.js +0 -80
  194. package/dist/init/prompts.js.map +0 -1
  195. package/dist/init/secrets.d.ts +0 -18
  196. package/dist/init/secrets.js +0 -76
  197. package/dist/init/secrets.js.map +0 -1
  198. package/dist/init/seed.d.ts +0 -21
  199. package/dist/init/seed.js +0 -75
  200. package/dist/init/seed.js.map +0 -1
  201. package/dist/init/setup-runners.d.ts +0 -17
  202. package/dist/init/setup-runners.js +0 -70
  203. package/dist/init/setup-runners.js.map +0 -1
  204. package/dist/init/types.d.ts +0 -59
  205. package/dist/init/types.js +0 -10
  206. package/dist/init/types.js.map +0 -1
  207. package/dist/init/walker.d.ts +0 -53
  208. package/dist/init/walker.js +0 -460
  209. package/dist/init/walker.js.map +0 -1
  210. package/dist/init/workflow-block.d.ts +0 -34
  211. package/dist/init/workflow-block.js +0 -110
  212. package/dist/init/workflow-block.js.map +0 -1
  213. package/dist/logger.d.ts +0 -3
  214. package/dist/logger.js +0 -23
  215. package/dist/logger.js.map +0 -1
  216. package/dist/mcp/context.d.ts +0 -16
  217. package/dist/mcp/context.js +0 -8
  218. package/dist/mcp/context.js.map +0 -1
  219. package/dist/mcp/errors.d.ts +0 -17
  220. package/dist/mcp/errors.js +0 -23
  221. package/dist/mcp/errors.js.map +0 -1
  222. package/dist/mcp/index.d.ts +0 -10
  223. package/dist/mcp/index.js +0 -7
  224. package/dist/mcp/index.js.map +0 -1
  225. package/dist/mcp/path-allowlist.d.ts +0 -25
  226. package/dist/mcp/path-allowlist.js +0 -66
  227. package/dist/mcp/path-allowlist.js.map +0 -1
  228. package/dist/mcp/result.d.ts +0 -8
  229. package/dist/mcp/result.js +0 -18
  230. package/dist/mcp/result.js.map +0 -1
  231. package/dist/mcp/schemas.d.ts +0 -153
  232. package/dist/mcp/schemas.js +0 -135
  233. package/dist/mcp/schemas.js.map +0 -1
  234. package/dist/mcp/server.d.ts +0 -11
  235. package/dist/mcp/server.js +0 -58
  236. package/dist/mcp/server.js.map +0 -1
  237. package/dist/mcp/telemetry.d.ts +0 -15
  238. package/dist/mcp/telemetry.js +0 -13
  239. package/dist/mcp/telemetry.js.map +0 -1
  240. package/dist/mcp/tools/append.d.ts +0 -8
  241. package/dist/mcp/tools/append.js +0 -33
  242. package/dist/mcp/tools/append.js.map +0 -1
  243. package/dist/mcp/tools/archive.d.ts +0 -8
  244. package/dist/mcp/tools/archive.js +0 -49
  245. package/dist/mcp/tools/archive.js.map +0 -1
  246. package/dist/mcp/tools/ask-operator.d.ts +0 -34
  247. package/dist/mcp/tools/ask-operator.js +0 -93
  248. package/dist/mcp/tools/ask-operator.js.map +0 -1
  249. package/dist/mcp/tools/canonical-for-topic.d.ts +0 -6
  250. package/dist/mcp/tools/canonical-for-topic.js +0 -40
  251. package/dist/mcp/tools/canonical-for-topic.js.map +0 -1
  252. package/dist/mcp/tools/decision-get.d.ts +0 -6
  253. package/dist/mcp/tools/decision-get.js +0 -49
  254. package/dist/mcp/tools/decision-get.js.map +0 -1
  255. package/dist/mcp/tools/decisions-for-symbol.d.ts +0 -7
  256. package/dist/mcp/tools/decisions-for-symbol.js +0 -42
  257. package/dist/mcp/tools/decisions-for-symbol.js.map +0 -1
  258. package/dist/mcp/tools/decisions-in-scope.d.ts +0 -7
  259. package/dist/mcp/tools/decisions-in-scope.js +0 -47
  260. package/dist/mcp/tools/decisions-in-scope.js.map +0 -1
  261. package/dist/mcp/tools/drop-task.d.ts +0 -12
  262. package/dist/mcp/tools/drop-task.js +0 -47
  263. package/dist/mcp/tools/drop-task.js.map +0 -1
  264. package/dist/mcp/tools/get-full.d.ts +0 -7
  265. package/dist/mcp/tools/get-full.js +0 -46
  266. package/dist/mcp/tools/get-full.js.map +0 -1
  267. package/dist/mcp/tools/ground-get.d.ts +0 -7
  268. package/dist/mcp/tools/ground-get.js +0 -80
  269. package/dist/mcp/tools/ground-get.js.map +0 -1
  270. package/dist/mcp/tools/index.d.ts +0 -3
  271. package/dist/mcp/tools/index.js +0 -44
  272. package/dist/mcp/tools/index.js.map +0 -1
  273. package/dist/mcp/tools/invariant-get.d.ts +0 -6
  274. package/dist/mcp/tools/invariant-get.js +0 -49
  275. package/dist/mcp/tools/invariant-get.js.map +0 -1
  276. package/dist/mcp/tools/invariants-in-scope.d.ts +0 -7
  277. package/dist/mcp/tools/invariants-in-scope.js +0 -65
  278. package/dist/mcp/tools/invariants-in-scope.js.map +0 -1
  279. package/dist/mcp/tools/query-history.d.ts +0 -9
  280. package/dist/mcp/tools/query-history.js +0 -33
  281. package/dist/mcp/tools/query-history.js.map +0 -1
  282. package/dist/mcp/tools/record-decision.d.ts +0 -14
  283. package/dist/mcp/tools/record-decision.js +0 -101
  284. package/dist/mcp/tools/record-decision.js.map +0 -1
  285. package/dist/mcp/tools/record-run-event.d.ts +0 -10
  286. package/dist/mcp/tools/record-run-event.js +0 -28
  287. package/dist/mcp/tools/record-run-event.js.map +0 -1
  288. package/dist/mcp/tools/search.d.ts +0 -9
  289. package/dist/mcp/tools/search.js +0 -165
  290. package/dist/mcp/tools/search.js.map +0 -1
  291. package/dist/mcp/tools/supersedes-chain.d.ts +0 -6
  292. package/dist/mcp/tools/supersedes-chain.js +0 -66
  293. package/dist/mcp/tools/supersedes-chain.js.map +0 -1
  294. package/dist/mcp/tools/timeline.d.ts +0 -9
  295. package/dist/mcp/tools/timeline.js +0 -65
  296. package/dist/mcp/tools/timeline.js.map +0 -1
  297. package/dist/mcp/tools/types.d.ts +0 -9
  298. package/dist/mcp/tools/types.js +0 -2
  299. package/dist/mcp/tools/types.js.map +0 -1
  300. package/dist/mirror/clone.d.ts +0 -6
  301. package/dist/mirror/clone.js +0 -48
  302. package/dist/mirror/clone.js.map +0 -1
  303. package/dist/mirror/dirty-overlap.d.ts +0 -13
  304. package/dist/mirror/dirty-overlap.js +0 -77
  305. package/dist/mirror/dirty-overlap.js.map +0 -1
  306. package/dist/mirror/index.d.ts +0 -7
  307. package/dist/mirror/index.js +0 -7
  308. package/dist/mirror/index.js.map +0 -1
  309. package/dist/mirror/paths.d.ts +0 -18
  310. package/dist/mirror/paths.js +0 -45
  311. package/dist/mirror/paths.js.map +0 -1
  312. package/dist/mirror/push.d.ts +0 -9
  313. package/dist/mirror/push.js +0 -27
  314. package/dist/mirror/push.js.map +0 -1
  315. package/dist/mirror/state.d.ts +0 -4
  316. package/dist/mirror/state.js +0 -36
  317. package/dist/mirror/state.js.map +0 -1
  318. package/dist/mirror/sync.d.ts +0 -9
  319. package/dist/mirror/sync.js +0 -33
  320. package/dist/mirror/sync.js.map +0 -1
  321. package/dist/mirror/types.d.ts +0 -77
  322. package/dist/mirror/types.js +0 -2
  323. package/dist/mirror/types.js.map +0 -1
  324. package/dist/orchestrator/activity-summarizer.d.ts +0 -33
  325. package/dist/orchestrator/activity-summarizer.js +0 -120
  326. package/dist/orchestrator/activity-summarizer.js.map +0 -1
  327. package/dist/orchestrator/inbox.d.ts +0 -78
  328. package/dist/orchestrator/inbox.js +0 -115
  329. package/dist/orchestrator/inbox.js.map +0 -1
  330. package/dist/orchestrator/index.d.ts +0 -9
  331. package/dist/orchestrator/index.js +0 -7
  332. package/dist/orchestrator/index.js.map +0 -1
  333. package/dist/orchestrator/orchestrator.d.ts +0 -154
  334. package/dist/orchestrator/orchestrator.js +0 -2437
  335. package/dist/orchestrator/orchestrator.js.map +0 -1
  336. package/dist/orchestrator/prompt.d.ts +0 -19
  337. package/dist/orchestrator/prompt.js +0 -50
  338. package/dist/orchestrator/prompt.js.map +0 -1
  339. package/dist/orchestrator/queue.d.ts +0 -21
  340. package/dist/orchestrator/queue.js +0 -80
  341. package/dist/orchestrator/queue.js.map +0 -1
  342. package/dist/orchestrator/run-log.d.ts +0 -53
  343. package/dist/orchestrator/run-log.js +0 -92
  344. package/dist/orchestrator/run-log.js.map +0 -1
  345. package/dist/orchestrator/runner.d.ts +0 -56
  346. package/dist/orchestrator/runner.js +0 -172
  347. package/dist/orchestrator/runner.js.map +0 -1
  348. package/dist/orchestrator/tool-digest.d.ts +0 -35
  349. package/dist/orchestrator/tool-digest.js +0 -116
  350. package/dist/orchestrator/tool-digest.js.map +0 -1
  351. package/dist/orchestrator/types.d.ts +0 -263
  352. package/dist/orchestrator/types.js +0 -2
  353. package/dist/orchestrator/types.js.map +0 -1
  354. package/dist/orchestrator/workspace.d.ts +0 -21
  355. package/dist/orchestrator/workspace.js +0 -31
  356. package/dist/orchestrator/workspace.js.map +0 -1
  357. package/dist/profiles/index.d.ts +0 -3
  358. package/dist/profiles/index.js +0 -3
  359. package/dist/profiles/index.js.map +0 -1
  360. package/dist/profiles/registry.d.ts +0 -5
  361. package/dist/profiles/registry.js +0 -31
  362. package/dist/profiles/registry.js.map +0 -1
  363. package/dist/profiles/types.d.ts +0 -48
  364. package/dist/profiles/types.js +0 -11
  365. package/dist/profiles/types.js.map +0 -1
  366. package/dist/profiles/unknown.d.ts +0 -9
  367. package/dist/profiles/unknown.js +0 -17
  368. package/dist/profiles/unknown.js.map +0 -1
  369. package/dist/reviewer/index.d.ts +0 -6
  370. package/dist/reviewer/index.js +0 -5
  371. package/dist/reviewer/index.js.map +0 -1
  372. package/dist/reviewer/prompt.d.ts +0 -11
  373. package/dist/reviewer/prompt.js +0 -132
  374. package/dist/reviewer/prompt.js.map +0 -1
  375. package/dist/reviewer/remediation.d.ts +0 -15
  376. package/dist/reviewer/remediation.js +0 -61
  377. package/dist/reviewer/remediation.js.map +0 -1
  378. package/dist/reviewer/reviewer.d.ts +0 -9
  379. package/dist/reviewer/reviewer.js +0 -89
  380. package/dist/reviewer/reviewer.js.map +0 -1
  381. package/dist/reviewer/schema.d.ts +0 -45
  382. package/dist/reviewer/schema.js +0 -43
  383. package/dist/reviewer/schema.js.map +0 -1
  384. package/dist/reviewer/types.d.ts +0 -74
  385. package/dist/reviewer/types.js +0 -14
  386. package/dist/reviewer/types.js.map +0 -1
  387. package/dist/sensors/attestation.d.ts +0 -44
  388. package/dist/sensors/attestation.js +0 -262
  389. package/dist/sensors/attestation.js.map +0 -1
  390. package/dist/sensors/catalog.d.ts +0 -41
  391. package/dist/sensors/catalog.js +0 -123
  392. package/dist/sensors/catalog.js.map +0 -1
  393. package/dist/sensors/decisions.d.ts +0 -30
  394. package/dist/sensors/decisions.js +0 -393
  395. package/dist/sensors/decisions.js.map +0 -1
  396. package/dist/sensors/diff.d.ts +0 -27
  397. package/dist/sensors/diff.js +0 -148
  398. package/dist/sensors/diff.js.map +0 -1
  399. package/dist/sensors/index.d.ts +0 -13
  400. package/dist/sensors/index.js +0 -9
  401. package/dist/sensors/index.js.map +0 -1
  402. package/dist/sensors/remediation.d.ts +0 -20
  403. package/dist/sensors/remediation.js +0 -65
  404. package/dist/sensors/remediation.js.map +0 -1
  405. package/dist/sensors/runner.d.ts +0 -44
  406. package/dist/sensors/runner.js +0 -95
  407. package/dist/sensors/runner.js.map +0 -1
  408. package/dist/sensors/structural.d.ts +0 -30
  409. package/dist/sensors/structural.js +0 -204
  410. package/dist/sensors/structural.js.map +0 -1
  411. package/dist/sensors/stub-catalog.d.ts +0 -39
  412. package/dist/sensors/stub-catalog.js +0 -115
  413. package/dist/sensors/stub-catalog.js.map +0 -1
  414. package/dist/sensors/types.d.ts +0 -135
  415. package/dist/sensors/types.js +0 -14
  416. package/dist/sensors/types.js.map +0 -1
  417. package/dist/tier0/classify.d.ts +0 -5
  418. package/dist/tier0/classify.js +0 -91
  419. package/dist/tier0/classify.js.map +0 -1
  420. package/dist/tier0/index.d.ts +0 -3
  421. package/dist/tier0/index.js +0 -3
  422. package/dist/tier0/index.js.map +0 -1
  423. package/dist/tier0/ollama.d.ts +0 -22
  424. package/dist/tier0/ollama.js +0 -63
  425. package/dist/tier0/ollama.js.map +0 -1
  426. package/dist/tier0/types.d.ts +0 -24
  427. package/dist/tier0/types.js +0 -7
  428. package/dist/tier0/types.js.map +0 -1
  429. package/dist/tightener/index.d.ts +0 -4
  430. package/dist/tightener/index.js +0 -4
  431. package/dist/tightener/index.js.map +0 -1
  432. package/dist/tightener/prompt.d.ts +0 -3
  433. package/dist/tightener/prompt.js +0 -67
  434. package/dist/tightener/prompt.js.map +0 -1
  435. package/dist/tightener/schema.d.ts +0 -68
  436. package/dist/tightener/schema.js +0 -44
  437. package/dist/tightener/schema.js.map +0 -1
  438. package/dist/tightener/tighten.d.ts +0 -2
  439. package/dist/tightener/tighten.js +0 -66
  440. package/dist/tightener/tighten.js.map +0 -1
  441. package/dist/tightener/types.d.ts +0 -74
  442. package/dist/tightener/types.js +0 -6
  443. package/dist/tightener/types.js.map +0 -1
  444. package/dist/uat/bundle.d.ts +0 -68
  445. package/dist/uat/bundle.js +0 -168
  446. package/dist/uat/bundle.js.map +0 -1
  447. package/dist/uat/index.d.ts +0 -15
  448. package/dist/uat/index.js +0 -10
  449. package/dist/uat/index.js.map +0 -1
  450. package/dist/uat/persistent.d.ts +0 -64
  451. package/dist/uat/persistent.js +0 -206
  452. package/dist/uat/persistent.js.map +0 -1
  453. package/dist/uat/probes/cli.d.ts +0 -11
  454. package/dist/uat/probes/cli.js +0 -107
  455. package/dist/uat/probes/cli.js.map +0 -1
  456. package/dist/uat/probes/http.d.ts +0 -12
  457. package/dist/uat/probes/http.js +0 -139
  458. package/dist/uat/probes/http.js.map +0 -1
  459. package/dist/uat/probes/index.d.ts +0 -21
  460. package/dist/uat/probes/index.js +0 -30
  461. package/dist/uat/probes/index.js.map +0 -1
  462. package/dist/uat/probes/integration.d.ts +0 -18
  463. package/dist/uat/probes/integration.js +0 -188
  464. package/dist/uat/probes/integration.js.map +0 -1
  465. package/dist/uat/probes/sql/config.d.ts +0 -14
  466. package/dist/uat/probes/sql/config.js +0 -57
  467. package/dist/uat/probes/sql/config.js.map +0 -1
  468. package/dist/uat/probes/sql/index.d.ts +0 -29
  469. package/dist/uat/probes/sql/index.js +0 -43
  470. package/dist/uat/probes/sql/index.js.map +0 -1
  471. package/dist/uat/probes/sql/mysql.d.ts +0 -12
  472. package/dist/uat/probes/sql/mysql.js +0 -96
  473. package/dist/uat/probes/sql/mysql.js.map +0 -1
  474. package/dist/uat/probes/sql/pg.d.ts +0 -20
  475. package/dist/uat/probes/sql/pg.js +0 -102
  476. package/dist/uat/probes/sql/pg.js.map +0 -1
  477. package/dist/uat/probes/sql/sqlite.d.ts +0 -9
  478. package/dist/uat/probes/sql/sqlite.js +0 -58
  479. package/dist/uat/probes/sql/sqlite.js.map +0 -1
  480. package/dist/uat/probes/sql/types.d.ts +0 -46
  481. package/dist/uat/probes/sql/types.js +0 -10
  482. package/dist/uat/probes/sql/types.js.map +0 -1
  483. package/dist/uat/probes/sql.d.ts +0 -9
  484. package/dist/uat/probes/sql.js +0 -119
  485. package/dist/uat/probes/sql.js.map +0 -1
  486. package/dist/uat/probes/ui.d.ts +0 -19
  487. package/dist/uat/probes/ui.js +0 -244
  488. package/dist/uat/probes/ui.js.map +0 -1
  489. package/dist/uat/prompt.d.ts +0 -10
  490. package/dist/uat/prompt.js +0 -85
  491. package/dist/uat/prompt.js.map +0 -1
  492. package/dist/uat/question.d.ts +0 -50
  493. package/dist/uat/question.js +0 -139
  494. package/dist/uat/question.js.map +0 -1
  495. package/dist/uat/rejection.d.ts +0 -58
  496. package/dist/uat/rejection.js +0 -163
  497. package/dist/uat/rejection.js.map +0 -1
  498. package/dist/uat/runner.d.ts +0 -6
  499. package/dist/uat/runner.js +0 -96
  500. package/dist/uat/runner.js.map +0 -1
  501. package/dist/uat/schema.d.ts +0 -322
  502. package/dist/uat/schema.js +0 -189
  503. package/dist/uat/schema.js.map +0 -1
  504. package/dist/uat/types.d.ts +0 -268
  505. package/dist/uat/types.js +0 -18
  506. package/dist/uat/types.js.map +0 -1
  507. package/dist/uat/uat.d.ts +0 -89
  508. package/dist/uat/uat.js +0 -256
  509. package/dist/uat/uat.js.map +0 -1
  510. package/dist/voice/index.d.ts +0 -4
  511. package/dist/voice/index.js +0 -4
  512. package/dist/voice/index.js.map +0 -1
  513. package/dist/voice/model.d.ts +0 -23
  514. package/dist/voice/model.js +0 -46
  515. package/dist/voice/model.js.map +0 -1
  516. package/dist/voice/pipe.d.ts +0 -9
  517. package/dist/voice/pipe.js +0 -47
  518. package/dist/voice/pipe.js.map +0 -1
  519. package/dist/voice/transcribe.d.ts +0 -3
  520. package/dist/voice/transcribe.js +0 -43
  521. package/dist/voice/transcribe.js.map +0 -1
  522. package/dist/voice/types.d.ts +0 -26
  523. package/dist/voice/types.js +0 -9
  524. package/dist/voice/types.js.map +0 -1
  525. package/dist/watch/daemon.d.ts +0 -21
  526. package/dist/watch/daemon.js +0 -143
  527. package/dist/watch/daemon.js.map +0 -1
  528. package/dist/watch/index.d.ts +0 -4
  529. package/dist/watch/index.js +0 -3
  530. package/dist/watch/index.js.map +0 -1
  531. package/dist/watch/regenerate.d.ts +0 -25
  532. package/dist/watch/regenerate.js +0 -51
  533. package/dist/watch/regenerate.js.map +0 -1
@@ -1,393 +0,0 @@
1
- /**
2
- * Decision-assertions sensor.
3
- *
4
- * For every accepted decision whose `scope_globs` overlap the diff, evaluate
5
- * each machine-readable `assertion` against the post-change repository state.
6
- * Failure quotes the failing assertion id + decision id + the contradicting
7
- * line.
8
- *
9
- * Per L26+L41 — 11 assertion kinds. AST-level precision is v2; this module
10
- * uses regex-based approximations and surfaces soft findings when it cannot
11
- * verify with confidence (the reviewer subagent in Phase 10 catches the rest).
12
- */
13
- import { execSync } from "node:child_process";
14
- import { existsSync, readdirSync, readFileSync } from "node:fs";
15
- import { join } from "node:path";
16
- import { matchAnyGlob } from "../ground/glob.js";
17
- import { parseFrontmatter } from "../ground/frontmatter.js";
18
- import { decisionsDir } from "../ground/paths.js";
19
- import { DecisionFrontmatter, } from "../ground/schemas.js";
20
- const SENSOR_ID = "decision-assertions";
21
- /** All decisions accepted at HEAD with parsed frontmatter. */
22
- export function loadAcceptedDecisions(repoRoot) {
23
- const dir = decisionsDir(repoRoot);
24
- if (!existsSync(dir))
25
- return [];
26
- let dirents;
27
- try {
28
- dirents = readdirSync(dir, { withFileTypes: true, encoding: "utf8" });
29
- }
30
- catch {
31
- return [];
32
- }
33
- const out = [];
34
- for (const d of dirents) {
35
- if (!d.isFile())
36
- continue;
37
- if (!d.name.endsWith(".md"))
38
- continue;
39
- if (d.name.startsWith("_"))
40
- continue;
41
- const abs = join(dir, d.name);
42
- const fm = parseFrontmatter(readFileSync(abs, "utf8")).frontmatter;
43
- const parsed = DecisionFrontmatter.safeParse(fm);
44
- if (!parsed.success)
45
- continue;
46
- if (parsed.data.status !== "accepted")
47
- continue;
48
- if (parsed.data.superseded_by)
49
- continue;
50
- out.push(parsed.data);
51
- }
52
- return out;
53
- }
54
- /** Decisions whose scope_globs overlap the diff. */
55
- export function decisionsInScope(decisions, diff) {
56
- return decisions.filter((d) => {
57
- const globs = d.scope_globs ?? [];
58
- if (globs.length === 0)
59
- return true; // no scope = applies everywhere
60
- return diff.some((entry) => matchAnyGlob(entry.path, globs));
61
- });
62
- }
63
- /** Read every tracked file in the mirror once, lazy. */
64
- class MirrorFileReader {
65
- mirrorPath;
66
- cache = new Map();
67
- constructor(mirrorPath) {
68
- this.mirrorPath = mirrorPath;
69
- }
70
- read(relPath) {
71
- const cached = this.cache.get(relPath);
72
- if (cached !== undefined)
73
- return cached;
74
- try {
75
- const text = readFileSync(join(this.mirrorPath, relPath), "utf8");
76
- this.cache.set(relPath, text);
77
- return text;
78
- }
79
- catch {
80
- this.cache.set(relPath, "");
81
- return "";
82
- }
83
- }
84
- }
85
- /**
86
- * Walk the mirror once and list every tracked file (not gitignored). This is
87
- * used by assertion kinds that need to scan beyond the diff (e.g. when the
88
- * assertion targets a file the agent didn't change).
89
- */
90
- export function listMirrorFiles(mirrorPath) {
91
- // Use git ls-files synchronously for simplicity. simple-git's async API is
92
- // available too; we keep this synchronous so assertion evaluation remains
93
- // a tight loop. Plus untracked-but-not-ignored, since the agent's new
94
- // files won't be tracked yet at sensor time.
95
- try {
96
- const tracked = execSync("git ls-files", {
97
- cwd: mirrorPath,
98
- encoding: "utf8",
99
- maxBuffer: 64 * 1024 * 1024,
100
- });
101
- const untracked = execSync("git ls-files --others --exclude-standard", {
102
- cwd: mirrorPath,
103
- encoding: "utf8",
104
- maxBuffer: 64 * 1024 * 1024,
105
- });
106
- return [...tracked.split("\n"), ...untracked.split("\n")]
107
- .map((s) => s.trim())
108
- .filter((s) => s.length > 0);
109
- }
110
- catch {
111
- return [];
112
- }
113
- }
114
- /** Run the decision-assertions sensor. */
115
- export function runDecisionAssertions(args) {
116
- const startedAt = Date.now();
117
- const findings = [];
118
- const reader = new MirrorFileReader(args.mirrorPath);
119
- const allFiles = listMirrorFiles(args.mirrorPath);
120
- for (const decision of args.decisions) {
121
- const assertions = decision.assertions ?? [];
122
- for (const a of assertions) {
123
- const result = evaluateAssertion({
124
- mirrorPath: args.mirrorPath,
125
- decision,
126
- assertion: a,
127
- diff: args.diff,
128
- reader,
129
- allFiles,
130
- });
131
- if (result === null)
132
- continue;
133
- findings.push(result);
134
- }
135
- // human_review_hint at the decision level (not assertion-level).
136
- if (decision.human_review_hint) {
137
- findings.push({
138
- sensor_id: SENSOR_ID,
139
- decision_id: decision.id,
140
- message: `human-review hint for ${decision.id}: ${decision.human_review_hint}`,
141
- severity: "soft",
142
- });
143
- }
144
- }
145
- const ok = findings.every((f) => f.severity !== "hard");
146
- return {
147
- sensor_id: SENSOR_ID,
148
- ok,
149
- duration_ms: Date.now() - startedAt,
150
- findings,
151
- };
152
- }
153
- function evaluateAssertion(args) {
154
- const a = args.assertion;
155
- const ctx = { decision_id: args.decision.id, assertion_id: a.id };
156
- switch (a.kind) {
157
- case "schema_must_contain": {
158
- const candidates = args.allFiles.filter((p) => /\.(sql|prisma|ts|py|rb)$/i.test(p));
159
- const tableRe = new RegExp(`\\b${escapeReg(a.table)}\\b`);
160
- const columnRe = new RegExp(`\\b${escapeReg(a.column)}\\b`);
161
- for (const path of candidates) {
162
- const text = args.reader.read(path);
163
- if (!text || !tableRe.test(text) || !columnRe.test(text))
164
- continue;
165
- // Co-locate within ±10 lines.
166
- const lines = text.split(/\r?\n/);
167
- for (let i = 0; i < lines.length; i++) {
168
- if (!tableRe.test(lines[i] ?? ""))
169
- continue;
170
- const lo = Math.max(0, i - 10);
171
- const hi = Math.min(lines.length - 1, i + 10);
172
- for (let j = lo; j <= hi; j++) {
173
- if (columnRe.test(lines[j] ?? ""))
174
- return null;
175
- }
176
- }
177
- }
178
- return finding("hard", `${ctx.decision_id}/${ctx.assertion_id} requires schema column \`${a.table}.${a.column}\` — not found in mirror`, ctx);
179
- }
180
- case "text_must_match": {
181
- const re = safeRegex(a.pattern);
182
- if (!re)
183
- return finding("soft", `${ctx.decision_id}/${ctx.assertion_id} pattern unparseable`, ctx);
184
- const inScope = args.allFiles.filter((p) => matchAnyGlob(p, a.in_globs));
185
- for (const path of inScope) {
186
- if (re.test(args.reader.read(path)))
187
- return null;
188
- }
189
- return finding("hard", `${ctx.decision_id}/${ctx.assertion_id} text_must_match \`${a.pattern}\` — no file under ${a.in_globs.join(", ")} matches`, ctx);
190
- }
191
- case "text_must_not_match": {
192
- const re = safeRegex(a.pattern);
193
- if (!re)
194
- return finding("soft", `${ctx.decision_id}/${ctx.assertion_id} pattern unparseable`, ctx);
195
- const inScope = args.allFiles.filter((p) => matchAnyGlob(p, a.in_globs));
196
- for (const path of inScope) {
197
- const text = args.reader.read(path);
198
- const m = re.exec(text);
199
- if (!m)
200
- continue;
201
- const line = lineOf(text, m.index);
202
- return finding("hard", `${ctx.decision_id}/${ctx.assertion_id} text_must_not_match \`${a.pattern}\` — matched at ${path}:${line}`, { ...ctx, path, line, matched_text: m[0] });
203
- }
204
- return null;
205
- }
206
- case "index_must_exist": {
207
- const candidates = args.allFiles.filter((p) => /\.(sql|prisma|ts|py|rb)$/i.test(p));
208
- const colsPattern = a.columns
209
- .map((c) => `(?=.*\\b${escapeReg(c)}\\b)`)
210
- .join("");
211
- const re = new RegExp(`(?:CREATE\\s+(?:UNIQUE\\s+)?INDEX|index\\s*\\(.*\\bon\\s*:?\\s*['"\`]${escapeReg(a.table)}['"\`])[\\s\\S]{0,400}\\b${escapeReg(a.table)}\\b[\\s\\S]{0,400}${colsPattern}`, "i");
212
- for (const path of candidates) {
213
- const text = args.reader.read(path);
214
- if (re.test(text)) {
215
- if (!a.where)
216
- return null;
217
- // If WHERE clause demanded, verify presence in same file.
218
- if (text.toLowerCase().includes(a.where.toLowerCase()))
219
- return null;
220
- return finding("hard", `${ctx.decision_id}/${ctx.assertion_id} index_must_exist on ${a.table}(${a.columns.join(", ")}) WHERE ${a.where} — partial-index predicate not present in ${path}`, { ...ctx, path });
221
- }
222
- }
223
- return finding("hard", `${ctx.decision_id}/${ctx.assertion_id} index_must_exist on ${a.table}(${a.columns.join(", ")}) — not found in any schema-like file`, ctx);
224
- }
225
- case "ast_pattern": {
226
- // v1 fallback: regex over in_globs, language ignored beyond filtering.
227
- const re = safeRegex(a.pattern);
228
- if (!re)
229
- return finding("soft", `${ctx.decision_id}/${ctx.assertion_id} pattern unparseable`, ctx);
230
- const inScope = args.allFiles.filter((p) => matchAnyGlob(p, a.in_globs));
231
- for (const path of inScope) {
232
- if (re.test(args.reader.read(path)))
233
- return null;
234
- }
235
- return finding("hard", `${ctx.decision_id}/${ctx.assertion_id} ast_pattern (lang=${a.language}) \`${a.pattern}\` — no match under ${a.in_globs.join(", ")}`, ctx);
236
- }
237
- case "file_must_not_be_modified": {
238
- const hit = args.diff.find((d) => d.path === a.path);
239
- if (!hit)
240
- return null;
241
- return finding("hard", `${ctx.decision_id}/${ctx.assertion_id} file_must_not_be_modified — ${a.path} appears in diff (${hit.status})`, { ...ctx, path: a.path });
242
- }
243
- case "query_must_filter_by": {
244
- // Approximate: search in_globs for table + each column appearing in the
245
- // same statement-ish window. For ORM=drizzle: `.where(and(...col1...col2...))`.
246
- const inScope = args.allFiles.filter((p) => matchAnyGlob(p, a.in_globs));
247
- const tableRef = new RegExp(`\\b${escapeReg(a.table)}\\b`);
248
- const combinator = a.require_combination === "and" ? /\band\s*\(/i : /\bor\s*\(/i;
249
- let anyHit = false;
250
- for (const path of inScope) {
251
- const text = args.reader.read(path);
252
- if (!tableRef.test(text))
253
- continue;
254
- anyHit = true;
255
- // Find each `where(` window of 400 chars and check all columns.
256
- const whereRe = /\.where\s*\(/g;
257
- let m;
258
- let allPresent = true;
259
- let saw = false;
260
- while ((m = whereRe.exec(text)) !== null) {
261
- saw = true;
262
- const win = text.slice(m.index, Math.min(text.length, m.index + 600));
263
- if (a.require_combination !== undefined && !combinator.test(win)) {
264
- allPresent = false;
265
- break;
266
- }
267
- for (const col of a.columns) {
268
- if (!new RegExp(`\\b${escapeReg(col)}\\b`).test(win)) {
269
- allPresent = false;
270
- break;
271
- }
272
- }
273
- if (!allPresent)
274
- break;
275
- }
276
- if (!saw)
277
- continue;
278
- if (allPresent)
279
- return null;
280
- const line = lineOf(text, (whereRe.exec(text) ?? { index: 0 }).index);
281
- return finding("hard", `${ctx.decision_id}/${ctx.assertion_id} query_must_filter_by(${a.table}, [${a.columns.join(", ")}], ${a.require_combination}) — query in ${path}:${line} omits required column(s)`, { ...ctx, path, line });
282
- }
283
- if (!anyHit) {
284
- return finding("soft", `${ctx.decision_id}/${ctx.assertion_id} query_must_filter_by(${a.table}) — no query referencing this table found in scope; nothing to verify`, ctx);
285
- }
286
- return null;
287
- }
288
- case "route_must_have_guard": {
289
- const inScope = args.allFiles.filter((p) => matchAnyGlob(p, a.in_globs));
290
- for (const path of inScope) {
291
- const text = args.reader.read(path);
292
- for (const required of a.require_on) {
293
- // Look for the required hook (e.g. method name, decorator) and
294
- // verify guard appears within 5 preceding lines.
295
- const lines = text.split(/\r?\n/);
296
- for (let i = 0; i < lines.length; i++) {
297
- const line = lines[i] ?? "";
298
- if (!line.includes(required))
299
- continue;
300
- const lo = Math.max(0, i - 8);
301
- const window = lines.slice(lo, i + 1).join("\n");
302
- if (window.includes(a.guard))
303
- continue;
304
- return finding("hard", `${ctx.decision_id}/${ctx.assertion_id} route_must_have_guard \`${a.guard}\` — \`${required}\` at ${path}:${i + 1} is not preceded by the guard`, { ...ctx, path, line: i + 1 });
305
- }
306
- }
307
- }
308
- return null;
309
- }
310
- case "event_must_emit": {
311
- const inScope = args.allFiles.filter((p) => matchAnyGlob(p, a.in_globs));
312
- let any = false;
313
- for (const path of inScope) {
314
- const text = args.reader.read(path);
315
- const callRe = new RegExp(`\\b${escapeReg(a.after_method)}\\s*\\(`);
316
- if (!callRe.test(text))
317
- continue;
318
- any = true;
319
- const emitRe = new RegExp(`\\.emit\\s*\\(\\s*['"\`]${escapeReg(a.event_key)}['"\`]`);
320
- if (!emitRe.test(text)) {
321
- return finding("hard", `${ctx.decision_id}/${ctx.assertion_id} event_must_emit \`${a.event_key}\` after \`${a.after_method}\` — no .emit() found in ${path}`, { ...ctx, path });
322
- }
323
- if (a.payload_must_include && a.payload_must_include.length > 0) {
324
- for (const field of a.payload_must_include) {
325
- if (!new RegExp(`\\b${escapeReg(field)}\\b`).test(text)) {
326
- return finding("hard", `${ctx.decision_id}/${ctx.assertion_id} event_must_emit payload missing field \`${field}\` in ${path}`, { ...ctx, path });
327
- }
328
- }
329
- }
330
- }
331
- if (!any) {
332
- return finding("soft", `${ctx.decision_id}/${ctx.assertion_id} event_must_emit — no call to \`${a.after_method}\` found in scope; nothing to verify`, ctx);
333
- }
334
- return null;
335
- }
336
- case "service_method_must_call": {
337
- const inScope = args.allFiles.filter((p) => matchAnyGlob(p, a.in_globs));
338
- for (const path of inScope) {
339
- const text = args.reader.read(path);
340
- const methodRe = new RegExp(`\\b${escapeReg(a.in_method)}\\s*\\([^)]*\\)\\s*(?::\\s*[^{]+)?\\{([\\s\\S]*?)\\n\\s*\\}`);
341
- const m = methodRe.exec(text);
342
- if (!m)
343
- continue;
344
- const body = m[1] ?? "";
345
- const callRe = new RegExp(`\\b${escapeReg(a.must_call)}\\s*\\(`);
346
- if (callRe.test(body))
347
- return null;
348
- const line = lineOf(text, m.index);
349
- return finding("hard", `${ctx.decision_id}/${ctx.assertion_id} service_method_must_call — method \`${a.in_method}\` at ${path}:${line} does not call \`${a.must_call}\``, { ...ctx, path, line });
350
- }
351
- return finding("soft", `${ctx.decision_id}/${ctx.assertion_id} service_method_must_call — method \`${a.in_method}\` not found in scope; nothing to verify`, ctx);
352
- }
353
- case "human_review_hint": {
354
- return finding("soft", `${ctx.decision_id}/${ctx.assertion_id} human-review hint: ${a.description}`, ctx);
355
- }
356
- }
357
- }
358
- function finding(severity, message, ctx) {
359
- const f = {
360
- sensor_id: SENSOR_ID,
361
- decision_id: ctx.decision_id,
362
- assertion_id: ctx.assertion_id,
363
- message,
364
- severity,
365
- };
366
- if (ctx.path !== undefined)
367
- f.path = ctx.path;
368
- if (ctx.line !== undefined)
369
- f.line = ctx.line;
370
- if (ctx.matched_text !== undefined)
371
- f.matched_text = ctx.matched_text;
372
- return f;
373
- }
374
- function escapeReg(s) {
375
- return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
376
- }
377
- function safeRegex(p) {
378
- try {
379
- return new RegExp(p, "m");
380
- }
381
- catch {
382
- return null;
383
- }
384
- }
385
- function lineOf(text, charIndex) {
386
- let line = 1;
387
- for (let i = 0; i < charIndex && i < text.length; i++) {
388
- if (text.charCodeAt(i) === 10)
389
- line += 1;
390
- }
391
- return line;
392
- }
393
- //# sourceMappingURL=decisions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../src/sensors/decisions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAe,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,mBAAmB,GAEpB,MAAM,sBAAsB,CAAC;AAO9B,MAAM,SAAS,GAAG,qBAAqB,CAAC;AAExC,8DAA8D;AAC9D,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;YAAE,SAAS;QAC1B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QACtC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;QACnE,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,SAAS;QAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU;YAAE,SAAS;QAChD,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa;YAAE,SAAS;QACxC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,gBAAgB,CAC9B,SAAgC,EAChC,IAAiB;IAEjB,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,gCAAgC;QACrE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wDAAwD;AACxD,MAAM,gBAAgB;IAES;IADrB,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,YAA6B,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;IACnD,IAAI,CAAC,OAAe;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;YAClE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,2EAA2E;IAC3E,0EAA0E;IAC1E,sEAAsE;IACtE,6CAA6C;IAC7C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE;YACvC,GAAG,EAAE,UAAU;YACf,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;SAC5B,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,QAAQ,CAAC,0CAA0C,EAAE;YACrE,GAAG,EAAE,UAAU;YACf,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;SAC5B,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACtD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,qBAAqB,CAAC,IAIrC;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAElD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,iBAAiB,CAAC;gBAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ;gBACR,SAAS,EAAE,CAAC;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;YACH,IAAI,MAAM,KAAK,IAAI;gBAAE,SAAS;YAC9B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QACD,iEAAiE;QACjE,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC;gBACZ,SAAS,EAAE,SAAS;gBACpB,WAAW,EAAE,QAAQ,CAAC,EAAE;gBACxB,OAAO,EAAE,yBAAyB,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,iBAAiB,EAAE;gBAC9E,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;IACxD,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,EAAE;QACF,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;QACnC,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAO1B;IACC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;IACzB,MAAM,GAAG,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IAElE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,CACpC,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACnE,8BAA8B;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBAAE,SAAS;oBAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC9C,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC9B,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;4BAAE,OAAO,IAAI,CAAC;oBACjD,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CACZ,MAAM,EACN,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,6BAA6B,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,0BAA0B,EAChH,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE;gBAAE,OAAO,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,sBAAsB,EAAE,GAAG,CAAC,CAAC;YACnG,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;YACnD,CAAC;YACD,OAAO,OAAO,CACZ,MAAM,EACN,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,sBAAsB,CAAC,CAAC,OAAO,sBAAsB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAC1H,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE;gBAAE,OAAO,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,sBAAsB,EAAE,GAAG,CAAC,CAAC;YACnG,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,CAAC,CAAC;oBAAE,SAAS;gBACjB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACnC,OAAO,OAAO,CACZ,MAAM,EACN,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,0BAA0B,CAAC,CAAC,OAAO,mBAAmB,IAAI,IAAI,IAAI,EAAE,EAC1G,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAC3C,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,CACpC,CAAC;YACF,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO;iBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;iBACzC,IAAI,CAAC,EAAE,CAAC,CAAC;YACZ,MAAM,EAAE,GAAG,IAAI,MAAM,CACnB,wEAAwE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,4BAA4B,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,WAAW,EAAE,EAC1K,GAAG,CACJ,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClB,IAAI,CAAC,CAAC,CAAC,KAAK;wBAAE,OAAO,IAAI,CAAC;oBAC1B,0DAA0D;oBAC1D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;wBAAE,OAAO,IAAI,CAAC;oBACpE,OAAO,OAAO,CACZ,MAAM,EACN,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,wBAAwB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,6CAA6C,IAAI,EAAE,EAClK,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,CACjB,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CACZ,MAAM,EACN,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,wBAAwB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,uCAAuC,EACpI,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,uEAAuE;YACvE,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE;gBAAE,OAAO,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,sBAAsB,EAAE,GAAG,CAAC,CAAC;YACnG,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;YACnD,CAAC;YACD,OAAO,OAAO,CACZ,MAAM,EACN,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,sBAAsB,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,OAAO,uBAAuB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACpI,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,KAAK,2BAA2B,CAAC,CAAC,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,OAAO,OAAO,CACZ,MAAM,EACN,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,gCAAgC,CAAC,CAAC,IAAI,qBAAqB,GAAG,CAAC,MAAM,GAAG,EAC9G,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CACzB,CAAC;QACJ,CAAC;QAED,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,wEAAwE;YACxE,gFAAgF;YAChF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,CAAC,CAAC,mBAAmB,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;YAClF,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACnC,MAAM,GAAG,IAAI,CAAC;gBACd,gEAAgE;gBAChE,MAAM,OAAO,GAAG,eAAe,CAAC;gBAChC,IAAI,CAAyB,CAAC;gBAC9B,IAAI,UAAU,GAAG,IAAI,CAAC;gBACtB,IAAI,GAAG,GAAG,KAAK,CAAC;gBAChB,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBACzC,GAAG,GAAG,IAAI,CAAC;oBACX,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;oBACtE,IAAI,CAAC,CAAC,mBAAmB,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBACjE,UAAU,GAAG,KAAK,CAAC;wBACnB,MAAM;oBACR,CAAC;oBACD,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBAC5B,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BACrD,UAAU,GAAG,KAAK,CAAC;4BACnB,MAAM;wBACR,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,UAAU;wBAAE,MAAM;gBACzB,CAAC;gBACD,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,IAAI,UAAU;oBAAE,OAAO,IAAI,CAAC;gBAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtE,OAAO,OAAO,CACZ,MAAM,EACN,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,yBAAyB,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,mBAAmB,gBAAgB,IAAI,IAAI,IAAI,2BAA2B,EAClL,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CACvB,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,OAAO,CACZ,MAAM,EACN,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,yBAAyB,CAAC,CAAC,KAAK,uEAAuE,EAC7I,GAAG,CACJ,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,KAAK,MAAM,QAAQ,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;oBACpC,+DAA+D;oBAC/D,iDAAiD;oBACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;4BAAE,SAAS;wBACvC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACjD,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;4BAAE,SAAS;wBACvC,OAAO,OAAO,CACZ,MAAM,EACN,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,4BAA4B,CAAC,CAAC,KAAK,UAAU,QAAQ,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,+BAA+B,EAChJ,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAC9B,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzE,IAAI,GAAG,GAAG,KAAK,CAAC;YAChB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACpE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACjC,GAAG,GAAG,IAAI,CAAC;gBACX,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,2BAA2B,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAC1D,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,OAAO,OAAO,CACZ,MAAM,EACN,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,sBAAsB,CAAC,CAAC,SAAS,cAAc,CAAC,CAAC,YAAY,4BAA4B,IAAI,EAAE,EACrI,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,CACjB,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,CAAC,oBAAoB,IAAI,CAAC,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChE,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,oBAAoB,EAAE,CAAC;wBAC3C,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4BACxD,OAAO,OAAO,CACZ,MAAM,EACN,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,4CAA4C,KAAK,SAAS,IAAI,EAAE,EACtG,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,CACjB,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,OAAO,CACZ,MAAM,EACN,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,mCAAmC,CAAC,CAAC,YAAY,sCAAsC,EAC7H,GAAG,CACJ,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,0BAA0B,CAAC,CAAC,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,IAAI,MAAM,CACzB,MAAM,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,6DAA6D,CAC1F,CAAC;gBACF,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9B,IAAI,CAAC,CAAC;oBAAE,SAAS;gBACjB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACjE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACnC,OAAO,OAAO,CACZ,MAAM,EACN,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,wCAAwC,CAAC,CAAC,SAAS,SAAS,IAAI,IAAI,IAAI,oBAAoB,CAAC,CAAC,SAAS,IAAI,EACjJ,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CACvB,CAAC;YACJ,CAAC;YACD,OAAO,OAAO,CACZ,MAAM,EACN,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,wCAAwC,CAAC,CAAC,SAAS,0CAA0C,EACnI,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,OAAO,OAAO,CACZ,MAAM,EACN,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,uBAAuB,CAAC,CAAC,WAAW,EAAE,EAC5E,GAAG,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CACd,QAAyB,EACzB,OAAe,EACf,GAMC;IAED,MAAM,CAAC,GAAkB;QACvB,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,OAAO;QACP,QAAQ;KACT,CAAC;IACF,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAE,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAC9C,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAE,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAC9C,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS;QAAE,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;IACtE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,IAAI,CAAC;QACH,OAAO,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,SAAiB;IAC7C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtD,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE;YAAE,IAAI,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Diff acquisition — read agent's working-tree changes against the SHA pin.
3
- *
4
- * The agent mutates files in the mirror but never commits. So `git diff
5
- * <sha_pin>` gives tracked-file changes; `git ls-files --others
6
- * --exclude-standard` gives newly-created files. Both contribute to the
7
- * sensor input.
8
- */
9
- import type { DiffEntry } from "./types.js";
10
- /**
11
- * Compute the diff between the SHA pin and the current working tree (incl.
12
- * untracked files). The agent does not commit, so working tree is the source.
13
- *
14
- * For renames, simple-git surfaces both an `R` entry. We treat it as the new
15
- * path, with `fromPath` carrying the original.
16
- */
17
- export declare function getDiff(args: {
18
- mirrorPath: string;
19
- shaPin: string;
20
- }): Promise<DiffEntry[]>;
21
- /** True iff any changed file's path matches any of the supplied globs. */
22
- export declare function diffHasGlobMatch(diff: DiffEntry[], globs: readonly string[], matcher: (path: string, glob: string) => boolean): boolean;
23
- /**
24
- * Filter a diff to entries whose path matches any of the supplied globs.
25
- * Useful for layered sensors that scope to e.g. route_handler_globs.
26
- */
27
- export declare function filterDiffByGlobs(diff: DiffEntry[], globs: readonly string[], matcher: (path: string, glob: string) => boolean): DiffEntry[];
@@ -1,148 +0,0 @@
1
- /**
2
- * Diff acquisition — read agent's working-tree changes against the SHA pin.
3
- *
4
- * The agent mutates files in the mirror but never commits. So `git diff
5
- * <sha_pin>` gives tracked-file changes; `git ls-files --others
6
- * --exclude-standard` gives newly-created files. Both contribute to the
7
- * sensor input.
8
- */
9
- import { readFile } from "node:fs/promises";
10
- import { join } from "node:path";
11
- import { simpleGit } from "simple-git";
12
- function parseNameStatus(out) {
13
- const result = [];
14
- for (const raw of out.split("\n")) {
15
- const line = raw.trim();
16
- if (line.length === 0)
17
- continue;
18
- // Format: A\tpath, M\tpath, D\tpath, R<score>\tfrom\tto
19
- const parts = line.split(/\t/);
20
- const head = parts[0] ?? "";
21
- if (head.startsWith("A"))
22
- result.push({ status: "A", path: parts[1] ?? "" });
23
- else if (head.startsWith("M"))
24
- result.push({ status: "M", path: parts[1] ?? "" });
25
- else if (head.startsWith("D"))
26
- result.push({ status: "D", path: parts[1] ?? "" });
27
- else if (head.startsWith("R")) {
28
- result.push({
29
- status: "R",
30
- path: parts[2] ?? "",
31
- fromPath: parts[1] ?? "",
32
- });
33
- }
34
- }
35
- return result;
36
- }
37
- /** Best-effort read; returns undefined when the file is absent. */
38
- async function readMaybe(path) {
39
- try {
40
- return await readFile(path, "utf8");
41
- }
42
- catch (err) {
43
- if (err.code === "ENOENT")
44
- return undefined;
45
- throw err;
46
- }
47
- }
48
- /** `git show <sha>:<path>` returning undefined if path didn't exist at sha. */
49
- async function showAtSha(git, sha, path) {
50
- try {
51
- return await git.show([`${sha}:${path}`]);
52
- }
53
- catch {
54
- return undefined;
55
- }
56
- }
57
- /**
58
- * Compute the diff between the SHA pin and the current working tree (incl.
59
- * untracked files). The agent does not commit, so working tree is the source.
60
- *
61
- * For renames, simple-git surfaces both an `R` entry. We treat it as the new
62
- * path, with `fromPath` carrying the original.
63
- */
64
- export async function getDiff(args) {
65
- const git = simpleGit({ baseDir: args.mirrorPath });
66
- // Tracked changes: diff against shaPin, name-status only first.
67
- const tracked = await git.raw([
68
- "diff",
69
- "--name-status",
70
- "--find-renames",
71
- args.shaPin,
72
- ]);
73
- const trackedRows = parseNameStatus(tracked);
74
- // Untracked: anything new not in `git diff` against the SHA but present now.
75
- const untrackedRaw = await git.raw([
76
- "ls-files",
77
- "--others",
78
- "--exclude-standard",
79
- ]);
80
- const untracked = untrackedRaw
81
- .split("\n")
82
- .map((s) => s.trim())
83
- .filter((s) => s.length > 0);
84
- // De-dupe untracked vs the diff name-status (a file added since shaPin shows
85
- // up in BOTH `git diff --name-status` (as A) and ls-files (as untracked)
86
- // until staged — so we treat ls-files as authoritative for new files).
87
- const trackedNonAdded = trackedRows.filter((r) => r.status !== "A");
88
- const trackedAddedPaths = new Set(trackedRows.filter((r) => r.status === "A").map((r) => r.path));
89
- const out = [];
90
- for (const row of trackedNonAdded) {
91
- const abs = join(args.mirrorPath, row.path);
92
- if (row.status === "D") {
93
- const before = await showAtSha(git, args.shaPin, row.path);
94
- const entry = { path: row.path, status: "deleted" };
95
- if (before !== undefined)
96
- entry.beforeContent = before;
97
- out.push(entry);
98
- }
99
- else if (row.status === "M") {
100
- const before = await showAtSha(git, args.shaPin, row.path);
101
- const after = await readMaybe(abs);
102
- const entry = { path: row.path, status: "modified" };
103
- if (before !== undefined)
104
- entry.beforeContent = before;
105
- if (after !== undefined)
106
- entry.afterContent = after;
107
- out.push(entry);
108
- }
109
- else if (row.status === "R") {
110
- const fromPath = row.fromPath ?? "";
111
- const before = await showAtSha(git, args.shaPin, fromPath);
112
- const after = await readMaybe(abs);
113
- const entry = {
114
- path: row.path,
115
- status: "renamed",
116
- fromPath,
117
- };
118
- if (before !== undefined)
119
- entry.beforeContent = before;
120
- if (after !== undefined)
121
- entry.afterContent = after;
122
- out.push(entry);
123
- }
124
- }
125
- // New files: union of `git diff` "A" entries and ls-files untracked.
126
- const newPaths = new Set([...trackedAddedPaths, ...untracked]);
127
- for (const path of newPaths) {
128
- const after = await readMaybe(join(args.mirrorPath, path));
129
- const entry = { path, status: "added" };
130
- if (after !== undefined)
131
- entry.afterContent = after;
132
- out.push(entry);
133
- }
134
- out.sort((a, b) => a.path.localeCompare(b.path));
135
- return out;
136
- }
137
- /** True iff any changed file's path matches any of the supplied globs. */
138
- export function diffHasGlobMatch(diff, globs, matcher) {
139
- return diff.some((d) => globs.some((g) => matcher(d.path, g)));
140
- }
141
- /**
142
- * Filter a diff to entries whose path matches any of the supplied globs.
143
- * Useful for layered sensors that scope to e.g. route_handler_globs.
144
- */
145
- export function filterDiffByGlobs(diff, globs, matcher) {
146
- return diff.filter((d) => globs.some((g) => matcher(d.path, g)));
147
- }
148
- //# sourceMappingURL=diff.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/sensors/diff.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- export type { Attestation, AttestationDelivered, AttestationDeferred, DiffEntry, ProjectGlobs, SensorFinding, SensorInput, SensorLanguage, SensorResult, SensorSweepResult, StubCatalog, StubPattern, } from "./types.js";
2
- export { getDiff, diffHasGlobMatch, filterDiffByGlobs } from "./diff.js";
3
- export { loadStubCatalog, parseStubCatalog, loadSensorRegistry } from "./catalog.js";
4
- export type { SensorRegistry, SensorRegistryEntry } from "./catalog.js";
5
- export { detectStubMatches, runStubCatalog, detectLanguage } from "./stub-catalog.js";
6
- export type { StubMatch } from "./stub-catalog.js";
7
- export { extractAttestation, runAttestationCrossCheck, } from "./attestation.js";
8
- export { runRouteHandlerNonEmpty, runDtoNoFakeFields, } from "./structural.js";
9
- export { loadAcceptedDecisions, decisionsInScope, listMirrorFiles, runDecisionAssertions, } from "./decisions.js";
10
- export { formatRemediation } from "./remediation.js";
11
- export type { RemediationOptions } from "./remediation.js";
12
- export { runSensors } from "./runner.js";
13
- export type { RunSensorsArgs } from "./runner.js";
@@ -1,9 +0,0 @@
1
- export { getDiff, diffHasGlobMatch, filterDiffByGlobs } from "./diff.js";
2
- export { loadStubCatalog, parseStubCatalog, loadSensorRegistry } from "./catalog.js";
3
- export { detectStubMatches, runStubCatalog, detectLanguage } from "./stub-catalog.js";
4
- export { extractAttestation, runAttestationCrossCheck, } from "./attestation.js";
5
- export { runRouteHandlerNonEmpty, runDtoNoFakeFields, } from "./structural.js";
6
- export { loadAcceptedDecisions, decisionsInScope, listMirrorFiles, runDecisionAssertions, } from "./decisions.js";
7
- export { formatRemediation } from "./remediation.js";
8
- export { runSensors } from "./runner.js";
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sensors/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAErF,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtF,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}