@kynetic-ai/spec 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (487) hide show
  1. package/README.md +55 -455
  2. package/dist/agent-runtime/bootstrap.d.ts +31 -0
  3. package/dist/agent-runtime/bootstrap.d.ts.map +1 -0
  4. package/dist/agent-runtime/bootstrap.js +302 -0
  5. package/dist/agent-runtime/bootstrap.js.map +1 -0
  6. package/dist/agent-runtime/dispatch.d.ts +150 -10
  7. package/dist/agent-runtime/dispatch.d.ts.map +1 -1
  8. package/dist/agent-runtime/dispatch.js +1248 -244
  9. package/dist/agent-runtime/dispatch.js.map +1 -1
  10. package/dist/agent-runtime/invocation.d.ts +28 -1
  11. package/dist/agent-runtime/invocation.d.ts.map +1 -1
  12. package/dist/agent-runtime/invocation.js +172 -60
  13. package/dist/agent-runtime/invocation.js.map +1 -1
  14. package/dist/agent-runtime/prompts.d.ts +9 -0
  15. package/dist/agent-runtime/prompts.d.ts.map +1 -1
  16. package/dist/agent-runtime/prompts.js +42 -7
  17. package/dist/agent-runtime/prompts.js.map +1 -1
  18. package/dist/agent-runtime/session-event-accumulator.d.ts +83 -0
  19. package/dist/agent-runtime/session-event-accumulator.d.ts.map +1 -0
  20. package/dist/agent-runtime/session-event-accumulator.js +203 -0
  21. package/dist/agent-runtime/session-event-accumulator.js.map +1 -0
  22. package/dist/agent-runtime/session-event-types.d.ts +67 -0
  23. package/dist/agent-runtime/session-event-types.d.ts.map +1 -0
  24. package/dist/agent-runtime/session-event-types.js +13 -0
  25. package/dist/agent-runtime/session-event-types.js.map +1 -0
  26. package/dist/agent-runtime/workspace.d.ts +244 -0
  27. package/dist/agent-runtime/workspace.d.ts.map +1 -0
  28. package/dist/agent-runtime/workspace.js +2025 -0
  29. package/dist/agent-runtime/workspace.js.map +1 -0
  30. package/dist/agents/adapters.d.ts.map +1 -1
  31. package/dist/agents/adapters.js +58 -13
  32. package/dist/agents/adapters.js.map +1 -1
  33. package/dist/agents/spawner.d.ts +8 -0
  34. package/dist/agents/spawner.d.ts.map +1 -1
  35. package/dist/agents/spawner.js +25 -3
  36. package/dist/agents/spawner.js.map +1 -1
  37. package/dist/cli/batch-exec.js +1 -1
  38. package/dist/cli/batch-exec.js.map +1 -1
  39. package/dist/cli/command-annotations.d.ts +15 -3
  40. package/dist/cli/command-annotations.d.ts.map +1 -1
  41. package/dist/cli/command-annotations.js +23 -3
  42. package/dist/cli/command-annotations.js.map +1 -1
  43. package/dist/cli/commands/agent.d.ts +2 -0
  44. package/dist/cli/commands/agent.d.ts.map +1 -1
  45. package/dist/cli/commands/agent.js +144 -27
  46. package/dist/cli/commands/agent.js.map +1 -1
  47. package/dist/cli/commands/agents.d.ts.map +1 -1
  48. package/dist/cli/commands/agents.js +5 -5
  49. package/dist/cli/commands/agents.js.map +1 -1
  50. package/dist/cli/commands/derive.d.ts.map +1 -1
  51. package/dist/cli/commands/derive.js +118 -3
  52. package/dist/cli/commands/derive.js.map +1 -1
  53. package/dist/cli/commands/guard.d.ts.map +1 -1
  54. package/dist/cli/commands/guard.js +8 -6
  55. package/dist/cli/commands/guard.js.map +1 -1
  56. package/dist/cli/commands/index.d.ts +1 -0
  57. package/dist/cli/commands/index.d.ts.map +1 -1
  58. package/dist/cli/commands/index.js +1 -0
  59. package/dist/cli/commands/index.js.map +1 -1
  60. package/dist/cli/commands/init.d.ts.map +1 -1
  61. package/dist/cli/commands/init.js +20 -0
  62. package/dist/cli/commands/init.js.map +1 -1
  63. package/dist/cli/commands/item.d.ts.map +1 -1
  64. package/dist/cli/commands/item.js +205 -47
  65. package/dist/cli/commands/item.js.map +1 -1
  66. package/dist/cli/commands/log.d.ts.map +1 -1
  67. package/dist/cli/commands/log.js +24 -10
  68. package/dist/cli/commands/log.js.map +1 -1
  69. package/dist/cli/commands/meta.d.ts.map +1 -1
  70. package/dist/cli/commands/meta.js +10 -1
  71. package/dist/cli/commands/meta.js.map +1 -1
  72. package/dist/cli/commands/plan-import.d.ts +3 -3
  73. package/dist/cli/commands/plan-import.d.ts.map +1 -1
  74. package/dist/cli/commands/plan-import.js +213 -528
  75. package/dist/cli/commands/plan-import.js.map +1 -1
  76. package/dist/cli/commands/plan.d.ts.map +1 -1
  77. package/dist/cli/commands/plan.js +533 -83
  78. package/dist/cli/commands/plan.js.map +1 -1
  79. package/dist/cli/commands/review.d.ts +14 -0
  80. package/dist/cli/commands/review.d.ts.map +1 -0
  81. package/dist/cli/commands/review.js +1142 -0
  82. package/dist/cli/commands/review.js.map +1 -0
  83. package/dist/cli/commands/serve.d.ts +1 -0
  84. package/dist/cli/commands/serve.d.ts.map +1 -1
  85. package/dist/cli/commands/serve.js +33 -10
  86. package/dist/cli/commands/serve.js.map +1 -1
  87. package/dist/cli/commands/session/checkpoint.d.ts +2 -4
  88. package/dist/cli/commands/session/checkpoint.d.ts.map +1 -1
  89. package/dist/cli/commands/session/checkpoint.js +6 -107
  90. package/dist/cli/commands/session/checkpoint.js.map +1 -1
  91. package/dist/cli/commands/session/commands.d.ts.map +1 -1
  92. package/dist/cli/commands/session/commands.js +33 -23
  93. package/dist/cli/commands/session/commands.js.map +1 -1
  94. package/dist/cli/commands/session/compact.js +4 -4
  95. package/dist/cli/commands/session/compact.js.map +1 -1
  96. package/dist/cli/commands/session/create.js +2 -2
  97. package/dist/cli/commands/session/create.js.map +1 -1
  98. package/dist/cli/commands/session/format.d.ts.map +1 -1
  99. package/dist/cli/commands/session/format.js +1 -6
  100. package/dist/cli/commands/session/format.js.map +1 -1
  101. package/dist/cli/commands/session/log.d.ts +32 -7
  102. package/dist/cli/commands/session/log.d.ts.map +1 -1
  103. package/dist/cli/commands/session/log.js +166 -60
  104. package/dist/cli/commands/session/log.js.map +1 -1
  105. package/dist/cli/commands/session/migrate.d.ts +9 -0
  106. package/dist/cli/commands/session/migrate.d.ts.map +1 -0
  107. package/dist/cli/commands/session/migrate.js +46 -0
  108. package/dist/cli/commands/session/migrate.js.map +1 -0
  109. package/dist/cli/commands/session/stale-close.d.ts.map +1 -1
  110. package/dist/cli/commands/session/stale-close.js +5 -8
  111. package/dist/cli/commands/session/stale-close.js.map +1 -1
  112. package/dist/cli/commands/session/types.d.ts +1 -1
  113. package/dist/cli/commands/session/types.d.ts.map +1 -1
  114. package/dist/cli/commands/setup.d.ts +2 -2
  115. package/dist/cli/commands/setup.d.ts.map +1 -1
  116. package/dist/cli/commands/setup.js +287 -257
  117. package/dist/cli/commands/setup.js.map +1 -1
  118. package/dist/cli/commands/shadow.d.ts.map +1 -1
  119. package/dist/cli/commands/shadow.js +147 -31
  120. package/dist/cli/commands/shadow.js.map +1 -1
  121. package/dist/cli/commands/skill-crud.d.ts +7 -0
  122. package/dist/cli/commands/skill-crud.d.ts.map +1 -1
  123. package/dist/cli/commands/skill-crud.js +41 -18
  124. package/dist/cli/commands/skill-crud.js.map +1 -1
  125. package/dist/cli/commands/skill-diff.d.ts.map +1 -1
  126. package/dist/cli/commands/skill-diff.js +29 -3
  127. package/dist/cli/commands/skill-diff.js.map +1 -1
  128. package/dist/cli/commands/skill-install.d.ts.map +1 -1
  129. package/dist/cli/commands/skill-install.js +5 -4
  130. package/dist/cli/commands/skill-install.js.map +1 -1
  131. package/dist/cli/commands/task.d.ts.map +1 -1
  132. package/dist/cli/commands/task.js +359 -49
  133. package/dist/cli/commands/task.js.map +1 -1
  134. package/dist/cli/commands/trait.d.ts.map +1 -1
  135. package/dist/cli/commands/trait.js +5 -27
  136. package/dist/cli/commands/trait.js.map +1 -1
  137. package/dist/cli/commands/validate.d.ts.map +1 -1
  138. package/dist/cli/commands/validate.js +113 -52
  139. package/dist/cli/commands/validate.js.map +1 -1
  140. package/dist/cli/index.d.ts.map +1 -1
  141. package/dist/cli/index.js +69 -2
  142. package/dist/cli/index.js.map +1 -1
  143. package/dist/cli/output.d.ts +26 -0
  144. package/dist/cli/output.d.ts.map +1 -1
  145. package/dist/cli/output.js +108 -1
  146. package/dist/cli/output.js.map +1 -1
  147. package/dist/cli/sync-mode.d.ts +44 -0
  148. package/dist/cli/sync-mode.d.ts.map +1 -0
  149. package/dist/cli/sync-mode.js +64 -0
  150. package/dist/cli/sync-mode.js.map +1 -0
  151. package/dist/daemon/middleware/project-context.ts +25 -7
  152. package/dist/daemon/project-context.ts +18 -0
  153. package/dist/daemon/routes/agent-dispatch.ts +107 -23
  154. package/dist/daemon/routes/aggregation.ts +184 -0
  155. package/dist/daemon/routes/inbox.ts +5 -0
  156. package/dist/daemon/routes/items.ts +167 -0
  157. package/dist/daemon/routes/meta.ts +141 -1
  158. package/dist/daemon/routes/plans.ts +147 -0
  159. package/dist/daemon/routes/projects.ts +28 -6
  160. package/dist/daemon/routes/ref-resolution.ts +119 -0
  161. package/dist/daemon/routes/refs.ts +42 -0
  162. package/dist/daemon/routes/session-related.ts +140 -0
  163. package/dist/daemon/routes/sessions.ts +581 -0
  164. package/dist/daemon/routes/tasks.ts +257 -2
  165. package/dist/daemon/routes/triage.ts +40 -1
  166. package/dist/daemon/routes/validation.ts +1 -1
  167. package/dist/daemon/server.ts +165 -50
  168. package/dist/daemon/session-sync.ts +11 -0
  169. package/dist/daemon/shadow-sync.ts +11 -0
  170. package/dist/daemon/watcher.ts +56 -5
  171. package/dist/daemon/websocket/project-resolution.ts +77 -0
  172. package/dist/export/json.d.ts.map +1 -1
  173. package/dist/export/json.js +104 -1
  174. package/dist/export/json.js.map +1 -1
  175. package/dist/export/types.d.ts +52 -1
  176. package/dist/export/types.d.ts.map +1 -1
  177. package/dist/index.d.ts +1 -0
  178. package/dist/index.d.ts.map +1 -1
  179. package/dist/index.js +1 -0
  180. package/dist/index.js.map +1 -1
  181. package/dist/parser/agent-detection.d.ts +1 -1
  182. package/dist/parser/agent-detection.d.ts.map +1 -1
  183. package/dist/parser/agent-detection.js +10 -0
  184. package/dist/parser/agent-detection.js.map +1 -1
  185. package/dist/parser/alignment.d.ts.map +1 -1
  186. package/dist/parser/alignment.js +4 -2
  187. package/dist/parser/alignment.js.map +1 -1
  188. package/dist/parser/config.d.ts +397 -2
  189. package/dist/parser/config.d.ts.map +1 -1
  190. package/dist/parser/config.js +125 -3
  191. package/dist/parser/config.js.map +1 -1
  192. package/dist/parser/dispatch-workspaces.d.ts +18 -0
  193. package/dist/parser/dispatch-workspaces.d.ts.map +1 -0
  194. package/dist/parser/dispatch-workspaces.js +209 -0
  195. package/dist/parser/dispatch-workspaces.js.map +1 -0
  196. package/dist/parser/doctor.d.ts.map +1 -1
  197. package/dist/parser/doctor.js +27 -8
  198. package/dist/parser/doctor.js.map +1 -1
  199. package/dist/parser/file-lock.d.ts.map +1 -1
  200. package/dist/parser/file-lock.js +9 -2
  201. package/dist/parser/file-lock.js.map +1 -1
  202. package/dist/parser/index.d.ts +6 -0
  203. package/dist/parser/index.d.ts.map +1 -1
  204. package/dist/parser/index.js +6 -0
  205. package/dist/parser/index.js.map +1 -1
  206. package/dist/parser/plans.d.ts.map +1 -1
  207. package/dist/parser/plans.js +1 -0
  208. package/dist/parser/plans.js.map +1 -1
  209. package/dist/parser/refs.d.ts +8 -1
  210. package/dist/parser/refs.d.ts.map +1 -1
  211. package/dist/parser/refs.js +27 -1
  212. package/dist/parser/refs.js.map +1 -1
  213. package/dist/parser/review-operations.d.ts +72 -0
  214. package/dist/parser/review-operations.d.ts.map +1 -0
  215. package/dist/parser/review-operations.js +185 -0
  216. package/dist/parser/review-operations.js.map +1 -0
  217. package/dist/parser/review-task-integration.d.ts +78 -0
  218. package/dist/parser/review-task-integration.d.ts.map +1 -0
  219. package/dist/parser/review-task-integration.js +173 -0
  220. package/dist/parser/review-task-integration.js.map +1 -0
  221. package/dist/parser/review-threads.d.ts +101 -0
  222. package/dist/parser/review-threads.d.ts.map +1 -0
  223. package/dist/parser/review-threads.js +222 -0
  224. package/dist/parser/review-threads.js.map +1 -0
  225. package/dist/parser/review-validation.d.ts +69 -0
  226. package/dist/parser/review-validation.d.ts.map +1 -0
  227. package/dist/parser/review-validation.js +207 -0
  228. package/dist/parser/review-validation.js.map +1 -0
  229. package/dist/parser/reviews.d.ts +58 -0
  230. package/dist/parser/reviews.d.ts.map +1 -0
  231. package/dist/parser/reviews.js +230 -0
  232. package/dist/parser/reviews.js.map +1 -0
  233. package/dist/parser/session-branch.d.ts +91 -0
  234. package/dist/parser/session-branch.d.ts.map +1 -0
  235. package/dist/parser/session-branch.js +565 -0
  236. package/dist/parser/session-branch.js.map +1 -0
  237. package/dist/parser/session-sync-scheduler.d.ts +53 -0
  238. package/dist/parser/session-sync-scheduler.d.ts.map +1 -0
  239. package/dist/parser/session-sync-scheduler.js +100 -0
  240. package/dist/parser/session-sync-scheduler.js.map +1 -0
  241. package/dist/parser/setup-status.d.ts +7 -1
  242. package/dist/parser/setup-status.d.ts.map +1 -1
  243. package/dist/parser/setup-status.js +104 -39
  244. package/dist/parser/setup-status.js.map +1 -1
  245. package/dist/parser/shadow-sync-scheduler.d.ts +71 -0
  246. package/dist/parser/shadow-sync-scheduler.d.ts.map +1 -0
  247. package/dist/parser/shadow-sync-scheduler.js +139 -0
  248. package/dist/parser/shadow-sync-scheduler.js.map +1 -0
  249. package/dist/parser/shadow.d.ts +121 -14
  250. package/dist/parser/shadow.d.ts.map +1 -1
  251. package/dist/parser/shadow.js +752 -27
  252. package/dist/parser/shadow.js.map +1 -1
  253. package/dist/parser/skill-render.d.ts +24 -0
  254. package/dist/parser/skill-render.d.ts.map +1 -1
  255. package/dist/parser/skill-render.js +98 -26
  256. package/dist/parser/skill-render.js.map +1 -1
  257. package/dist/parser/validate.d.ts +43 -3
  258. package/dist/parser/validate.d.ts.map +1 -1
  259. package/dist/parser/validate.js +204 -30
  260. package/dist/parser/validate.js.map +1 -1
  261. package/dist/parser/yaml.d.ts +47 -11
  262. package/dist/parser/yaml.d.ts.map +1 -1
  263. package/dist/parser/yaml.js +329 -149
  264. package/dist/parser/yaml.js.map +1 -1
  265. package/dist/review/checks.d.ts +97 -0
  266. package/dist/review/checks.d.ts.map +1 -0
  267. package/dist/review/checks.js +175 -0
  268. package/dist/review/checks.js.map +1 -0
  269. package/dist/review/index.d.ts +3 -0
  270. package/dist/review/index.d.ts.map +1 -0
  271. package/dist/review/index.js +3 -0
  272. package/dist/review/index.js.map +1 -0
  273. package/dist/review/subject-bindings.d.ts +83 -0
  274. package/dist/review/subject-bindings.d.ts.map +1 -0
  275. package/dist/review/subject-bindings.js +175 -0
  276. package/dist/review/subject-bindings.js.map +1 -0
  277. package/dist/schema/common.d.ts +26 -0
  278. package/dist/schema/common.d.ts.map +1 -1
  279. package/dist/schema/common.js +13 -0
  280. package/dist/schema/common.js.map +1 -1
  281. package/dist/schema/dispatch-workspace.d.ts +2643 -0
  282. package/dist/schema/dispatch-workspace.d.ts.map +1 -0
  283. package/dist/schema/dispatch-workspace.js +187 -0
  284. package/dist/schema/dispatch-workspace.js.map +1 -0
  285. package/dist/schema/inbox.d.ts +8 -8
  286. package/dist/schema/index.d.ts +2 -0
  287. package/dist/schema/index.d.ts.map +1 -1
  288. package/dist/schema/index.js +2 -0
  289. package/dist/schema/index.js.map +1 -1
  290. package/dist/schema/meta.d.ts +663 -116
  291. package/dist/schema/meta.d.ts.map +1 -1
  292. package/dist/schema/meta.js +28 -0
  293. package/dist/schema/meta.js.map +1 -1
  294. package/dist/schema/plan.d.ts +30 -19
  295. package/dist/schema/plan.d.ts.map +1 -1
  296. package/dist/schema/plan.js +3 -1
  297. package/dist/schema/plan.js.map +1 -1
  298. package/dist/schema/review-records.d.ts +2676 -0
  299. package/dist/schema/review-records.d.ts.map +1 -0
  300. package/dist/schema/review-records.js +232 -0
  301. package/dist/schema/review-records.js.map +1 -0
  302. package/dist/schema/spec.d.ts +32 -14
  303. package/dist/schema/spec.d.ts.map +1 -1
  304. package/dist/schema/spec.js +5 -0
  305. package/dist/schema/spec.js.map +1 -1
  306. package/dist/schema/task.d.ts +187 -29
  307. package/dist/schema/task.d.ts.map +1 -1
  308. package/dist/schema/task.js +12 -2
  309. package/dist/schema/task.js.map +1 -1
  310. package/dist/schema/triage.d.ts +22 -22
  311. package/dist/sessions/cache.d.ts +119 -0
  312. package/dist/sessions/cache.d.ts.map +1 -0
  313. package/dist/sessions/cache.js +284 -0
  314. package/dist/sessions/cache.js.map +1 -0
  315. package/dist/sessions/index.d.ts +1 -0
  316. package/dist/sessions/index.d.ts.map +1 -1
  317. package/dist/sessions/index.js +2 -0
  318. package/dist/sessions/index.js.map +1 -1
  319. package/dist/sessions/legacy.d.ts +77 -0
  320. package/dist/sessions/legacy.d.ts.map +1 -0
  321. package/dist/sessions/legacy.js +146 -0
  322. package/dist/sessions/legacy.js.map +1 -0
  323. package/dist/sessions/store.d.ts +115 -71
  324. package/dist/sessions/store.d.ts.map +1 -1
  325. package/dist/sessions/store.js +357 -182
  326. package/dist/sessions/store.js.map +1 -1
  327. package/dist/sessions/types.d.ts +44 -16
  328. package/dist/sessions/types.d.ts.map +1 -1
  329. package/dist/sessions/types.js +11 -2
  330. package/dist/sessions/types.js.map +1 -1
  331. package/dist/strings/errors.d.ts +32 -0
  332. package/dist/strings/errors.d.ts.map +1 -1
  333. package/dist/strings/errors.js +17 -0
  334. package/dist/strings/errors.js.map +1 -1
  335. package/dist/strings/labels.d.ts +1 -0
  336. package/dist/strings/labels.d.ts.map +1 -1
  337. package/dist/strings/labels.js +1 -0
  338. package/dist/strings/labels.js.map +1 -1
  339. package/dist/utils/activity.d.ts +101 -0
  340. package/dist/utils/activity.d.ts.map +1 -0
  341. package/dist/utils/activity.js +408 -0
  342. package/dist/utils/activity.js.map +1 -0
  343. package/dist/utils/git.d.ts +31 -0
  344. package/dist/utils/git.d.ts.map +1 -1
  345. package/dist/utils/git.js +87 -0
  346. package/dist/utils/git.js.map +1 -1
  347. package/dist/utils/index.d.ts +2 -0
  348. package/dist/utils/index.d.ts.map +1 -1
  349. package/dist/utils/index.js +1 -0
  350. package/dist/utils/index.js.map +1 -1
  351. package/dist/web-ui/_app/immutable/assets/0.tmlwn-Ih.css +1 -0
  352. package/dist/web-ui/_app/immutable/assets/9.BwwJybWx.css +1 -0
  353. package/dist/web-ui/_app/immutable/chunks/2KqE8gtn.js +1 -0
  354. package/dist/web-ui/_app/immutable/chunks/70-t_QvE.js +1 -0
  355. package/dist/web-ui/_app/immutable/chunks/AiWQj974.js +1 -0
  356. package/dist/web-ui/_app/immutable/chunks/B25nWFyA.js +5 -0
  357. package/dist/web-ui/_app/immutable/chunks/B2bcA_Q_.js +1 -0
  358. package/dist/web-ui/_app/immutable/chunks/B5e5HYyB.js +1 -0
  359. package/dist/web-ui/_app/immutable/chunks/B7-5z6eA.js +1 -0
  360. package/dist/web-ui/_app/immutable/chunks/B7bGmhK0.js +1 -0
  361. package/dist/web-ui/_app/immutable/chunks/B8tYZKAE.js +1 -0
  362. package/dist/web-ui/_app/immutable/chunks/BFGAyJjD.js +1 -0
  363. package/dist/web-ui/_app/immutable/chunks/BG0850zf.js +1 -0
  364. package/dist/web-ui/_app/immutable/chunks/BG8eSzAd.js +1 -0
  365. package/dist/web-ui/_app/immutable/chunks/BIMxXS8I.js +1 -0
  366. package/dist/web-ui/_app/immutable/chunks/BSzL1fpU.js +1 -0
  367. package/dist/web-ui/_app/immutable/chunks/BYtjHfeq.js +1 -0
  368. package/dist/web-ui/_app/immutable/chunks/{D1ArdqNb.js → Bp5pFYXL.js} +1 -1
  369. package/dist/web-ui/_app/immutable/chunks/BsJFsuAT.js +1 -0
  370. package/dist/web-ui/_app/immutable/chunks/BvpNHcD6.js +1 -0
  371. package/dist/web-ui/_app/immutable/chunks/BypqA25-.js +1 -0
  372. package/dist/web-ui/_app/immutable/chunks/C0w6WDm5.js +1 -0
  373. package/dist/web-ui/_app/immutable/chunks/C5_PAZ0y.js +1 -0
  374. package/dist/web-ui/_app/immutable/chunks/CDRO15Iv.js +1 -0
  375. package/dist/web-ui/_app/immutable/chunks/CF1CoqD5.js +1 -0
  376. package/dist/web-ui/_app/immutable/chunks/CS2sa4_m.js +1 -0
  377. package/dist/web-ui/_app/immutable/chunks/CWUQwB9H.js +1 -0
  378. package/dist/web-ui/_app/immutable/chunks/CY5FDdSU.js +1 -0
  379. package/dist/web-ui/_app/immutable/chunks/C_7MTDoj.js +1 -0
  380. package/dist/web-ui/_app/immutable/chunks/CaAJD3dl.js +1 -0
  381. package/dist/web-ui/_app/immutable/chunks/{i-XnOIX0.js → ChB5iyEL.js} +1 -1
  382. package/dist/web-ui/_app/immutable/chunks/ChQD-6N8.js +1 -0
  383. package/dist/web-ui/_app/immutable/chunks/{BCkp8Hs8.js → CqbsoCwA.js} +1 -1
  384. package/dist/web-ui/_app/immutable/chunks/DCeJW50p.js +1 -0
  385. package/dist/web-ui/_app/immutable/chunks/DJtZNgcs.js +1 -0
  386. package/dist/web-ui/_app/immutable/chunks/DKIeaprD.js +1 -0
  387. package/dist/web-ui/_app/immutable/chunks/DLd2uVIA.js +1 -0
  388. package/dist/web-ui/_app/immutable/chunks/DW_subyT.js +2 -0
  389. package/dist/web-ui/_app/immutable/chunks/DbU6lVn0.js +1 -0
  390. package/dist/web-ui/_app/immutable/chunks/Dc7ZCC5m.js +1 -0
  391. package/dist/web-ui/_app/immutable/chunks/Dd5umPsk.js +2 -0
  392. package/dist/web-ui/_app/immutable/chunks/Dg_zDpDS.js +1 -0
  393. package/dist/web-ui/_app/immutable/chunks/Dgqu8Yuc.js +1 -0
  394. package/dist/web-ui/_app/immutable/chunks/DmxsPZTB.js +1 -0
  395. package/dist/web-ui/_app/immutable/chunks/DphTaFUB.js +1 -0
  396. package/dist/web-ui/_app/immutable/chunks/DqK4iHp0.js +1 -0
  397. package/dist/web-ui/_app/immutable/chunks/DqT6OH_u.js +2 -0
  398. package/dist/web-ui/_app/immutable/chunks/Ds9I9wQb.js +1 -0
  399. package/dist/web-ui/_app/immutable/chunks/Du5ng3u4.js +1 -0
  400. package/dist/web-ui/_app/immutable/chunks/DxJw79Wi.js +1 -0
  401. package/dist/web-ui/_app/immutable/chunks/GFTX8GgV.js +1 -0
  402. package/dist/web-ui/_app/immutable/chunks/HNjs76Zz.js +1 -0
  403. package/dist/web-ui/_app/immutable/chunks/HVMjDi4_.js +1 -0
  404. package/dist/web-ui/_app/immutable/chunks/P0A_fJvS.js +1 -0
  405. package/dist/web-ui/_app/immutable/chunks/T3vGWjIL.js +1 -0
  406. package/dist/web-ui/_app/immutable/chunks/VTmrX9Qu.js +1 -0
  407. package/dist/web-ui/_app/immutable/chunks/Xvwhx_F1.js +1 -0
  408. package/dist/web-ui/_app/immutable/chunks/Yyz1XMQA.js +1 -0
  409. package/dist/web-ui/_app/immutable/chunks/dh5HeqUr.js +1 -0
  410. package/dist/web-ui/_app/immutable/chunks/fZMteyca.js +62 -0
  411. package/dist/web-ui/_app/immutable/chunks/{D28BF5MJ.js → gPrj-hqC.js} +1 -1
  412. package/dist/web-ui/_app/immutable/chunks/htcWMiYN.js +1 -0
  413. package/dist/web-ui/_app/immutable/chunks/oTsvd9y4.js +1 -0
  414. package/dist/web-ui/_app/immutable/chunks/qJfLUwU4.js +1 -0
  415. package/dist/web-ui/_app/immutable/chunks/xCtiO_JE.js +1 -0
  416. package/dist/web-ui/_app/immutable/chunks/y4GeEH6k.js +1 -0
  417. package/dist/web-ui/_app/immutable/entry/app.C4h_eOn6.js +2 -0
  418. package/dist/web-ui/_app/immutable/entry/start.CQFTf9ep.js +1 -0
  419. package/dist/web-ui/_app/immutable/nodes/0.Dh1xO970.js +1 -0
  420. package/dist/web-ui/_app/immutable/nodes/1.l75D3Opx.js +1 -0
  421. package/dist/web-ui/_app/immutable/nodes/10.DBidBPc-.js +1 -0
  422. package/dist/web-ui/_app/immutable/nodes/11.Ab0gUKWe.js +1 -0
  423. package/dist/web-ui/_app/immutable/nodes/12.CMsnoxfs.js +1 -0
  424. package/dist/web-ui/_app/immutable/nodes/13.D8YKuknB.js +1 -0
  425. package/dist/web-ui/_app/immutable/nodes/14.DZ0aan7y.js +1 -0
  426. package/dist/web-ui/_app/immutable/nodes/15.CUIKreDL.js +2 -0
  427. package/dist/web-ui/_app/immutable/nodes/16.BWc8--BO.js +1 -0
  428. package/dist/web-ui/_app/immutable/nodes/2.CDUonbuh.js +1 -0
  429. package/dist/web-ui/_app/immutable/nodes/3.Ctg3M00i.js +1 -0
  430. package/dist/web-ui/_app/immutable/nodes/4.Ci-JDwbA.js +2 -0
  431. package/dist/web-ui/_app/immutable/nodes/5.CTyEDAq0.js +1 -0
  432. package/dist/web-ui/_app/immutable/nodes/6.BTZZqsAb.js +1 -0
  433. package/dist/web-ui/_app/immutable/nodes/7.BI52g_Jo.js +137 -0
  434. package/dist/web-ui/_app/immutable/nodes/8.3hZPaB9x.js +1 -0
  435. package/dist/web-ui/_app/immutable/nodes/9.DS49kvwl.js +29 -0
  436. package/dist/web-ui/_app/version.json +1 -1
  437. package/dist/web-ui/favicon-192.png +0 -0
  438. package/dist/web-ui/favicon-32.png +0 -0
  439. package/dist/web-ui/favicon.ico +0 -0
  440. package/dist/web-ui/index.html +14 -11
  441. package/package.json +14 -7
  442. package/plugin/.claude-plugin/marketplace.json +1 -1
  443. package/plugin/.claude-plugin/plugin.json +1 -1
  444. package/plugin/plugins/kspec/skills/merge/SKILL.md +127 -0
  445. package/plugin/plugins/kspec/skills/plan/SKILL.md +55 -26
  446. package/plugin/plugins/kspec/skills/review/SKILL.md +350 -133
  447. package/plugin/plugins/kspec/skills/task-work/SKILL.md +96 -106
  448. package/templates/agents-sections/04-pr-workflow.md +15 -12
  449. package/templates/agents-sections/06-ralph-loop.md +15 -10
  450. package/templates/skills/manifest.yaml +25 -7
  451. package/templates/skills/merge/SKILL.md +120 -0
  452. package/templates/skills/plan/SKILL.md +55 -26
  453. package/templates/skills/review/SKILL.md +346 -130
  454. package/templates/skills/task-work/SKILL.md +93 -103
  455. package/dist/web-ui/_app/immutable/assets/0.BxCxvrZR.css +0 -1
  456. package/dist/web-ui/_app/immutable/chunks/B-CZR0q8.js +0 -1
  457. package/dist/web-ui/_app/immutable/chunks/B1IR5Su5.js +0 -1
  458. package/dist/web-ui/_app/immutable/chunks/B_Cvvtc4.js +0 -1
  459. package/dist/web-ui/_app/immutable/chunks/BtFaGGII.js +0 -1
  460. package/dist/web-ui/_app/immutable/chunks/Bu8JVsCH.js +0 -1
  461. package/dist/web-ui/_app/immutable/chunks/C87u-CNA.js +0 -1
  462. package/dist/web-ui/_app/immutable/chunks/CrFkBTYp.js +0 -1
  463. package/dist/web-ui/_app/immutable/chunks/D6RtLpzL.js +0 -1
  464. package/dist/web-ui/_app/immutable/chunks/D7FHSgx2.js +0 -1
  465. package/dist/web-ui/_app/immutable/chunks/DBXrsxZQ.js +0 -2
  466. package/dist/web-ui/_app/immutable/chunks/Da_hHMuA.js +0 -1
  467. package/dist/web-ui/_app/immutable/chunks/Do6LchSF.js +0 -1
  468. package/dist/web-ui/_app/immutable/chunks/DoNPtcAw.js +0 -1
  469. package/dist/web-ui/_app/immutable/chunks/DtUbXRZz.js +0 -1
  470. package/dist/web-ui/_app/immutable/chunks/DyFPRlLl.js +0 -1
  471. package/dist/web-ui/_app/immutable/chunks/DzAP8lRM.js +0 -1
  472. package/dist/web-ui/_app/immutable/chunks/DzVXElzN.js +0 -2
  473. package/dist/web-ui/_app/immutable/chunks/aoPBFken.js +0 -1
  474. package/dist/web-ui/_app/immutable/chunks/laxtrUO3.js +0 -1
  475. package/dist/web-ui/_app/immutable/chunks/q1nIWgqB.js +0 -1
  476. package/dist/web-ui/_app/immutable/chunks/sTLbk5Nm.js +0 -1
  477. package/dist/web-ui/_app/immutable/chunks/vwKgQu5P.js +0 -5
  478. package/dist/web-ui/_app/immutable/entry/app.BCwMcqnT.js +0 -2
  479. package/dist/web-ui/_app/immutable/entry/start.wKCQH-tt.js +0 -1
  480. package/dist/web-ui/_app/immutable/nodes/0.CjGVMG74.js +0 -1
  481. package/dist/web-ui/_app/immutable/nodes/1.B6_AIPan.js +0 -1
  482. package/dist/web-ui/_app/immutable/nodes/2.q4oCS7Ws.js +0 -1
  483. package/dist/web-ui/_app/immutable/nodes/3.rTKZf9o2.js +0 -1
  484. package/dist/web-ui/_app/immutable/nodes/4.DVIDRu1d.js +0 -1
  485. package/dist/web-ui/_app/immutable/nodes/5.8PtPXIOd.js +0 -1
  486. package/dist/web-ui/_app/immutable/nodes/6.ZZrTemy_.js +0 -1
  487. package/dist/web-ui/_app/immutable/nodes/7.IP-gxCxi.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"skill-render.js","sourceRoot":"","sources":["../../src/parser/skill-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAoB,MAAM,WAAW,CAAC;AA6GhF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAE7D;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IACpD,MAAM,WAAW,GAA4B;QAC3C,IAAI,EAAE,KAAK,CAAC,EAAE;QACd,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI;KAC7C,CAAC;IAEF,gEAAgE;IAChE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,WAAW,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC;IACrD,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,WAAW,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAClD,CAAC;IAED,wFAAwF;IACxF,MAAM,gBAAgB,GAAG,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC;IAC5D,IAAI,gBAAgB,EAAE,CAAC;QACrB,2DAA2D;QAC3D,IAAI,gBAAgB,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAClD,WAAW,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC,cAAc,CAAC;QAClE,CAAC;QACD,qEAAqE;QACrE,IAAI,gBAAgB,CAAC,wBAAwB,KAAK,SAAS,EAAE,CAAC;YAC5D,WAAW,CAAC,0BAA0B,CAAC,GAAG,gBAAgB,CAAC,wBAAwB,CAAC;QACtF,CAAC;QACD,8DAA8D;QAC9D,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,WAAW,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC;QACjD,CAAC;QACD,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC3B,WAAW,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC;QAC7C,CAAC;QACD,2BAA2B;QAC3B,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC3B,WAAW,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC;QAC7C,CAAC;QACD,IAAI,gBAAgB,CAAC,aAAa,EAAE,CAAC;YACnC,WAAW,CAAC,eAAe,CAAC,GAAG,gBAAgB,CAAC,aAAa,CAAC;QAChE,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,uBAAuB,CAAC;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAAG,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,MAAe,EAAE,QAAiB;IAChF,IAAI,MAAM,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC9C,OAAO,SAAS,OAAO,EAAE,CAAC;IAC5B,CAAC;IACD,6DAA6D;IAC7D,sDAAsD;IACtD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAkB;IACzD,OAAO,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,wBAAwB,GAAG,iCAAiC,CAAC;AAEnE;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,GAAiB;IAC/C,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiC,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,QAAgB,EAAE,MAA8B;IACrG,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,aAAa;YAChB,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;QACjE,KAAK,OAAO;YACV,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QACxD;YACE,OAAO,IAAI,OAAO,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sCAAsC,CACpD,IAAY,EACZ,QAAgB,EAChB,eAAmD,IAAI,GAAG,EAAE,EAC5D,kBAA0C;IAE1C,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,KAAa,EAAE,EAAE;QACtE,kFAAkF;QAClF,MAAM,gBAAgB,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACzG,OAAO,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,2BAA2B,CAClC,IAAY,EACZ,QAAgB,EAChB,KAAkB,EAClB,YAAgD;IAEhD,OAAO,sCAAsC,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5F,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,WAAmB,EAAE,OAAe,EAAE,MAAe;IACjF,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,wDAAwD;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,CAAS,EAAE,CAAS;IAChD,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAOD,SAAS,cAAc,CAAC,QAAgB;IACtC,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,IAAY,EACZ,OAA2E;IAE3E,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,GAAG,CAAC;IACxC,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAE7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACjC,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,MAAM,oBAAoB,GAAG,OAAO,EAAE,oBAAoB,CAAC;YAC3D,IAAI,oBAAoB,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACvD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC/E,MAAM,WAAW,GAAG,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;gBACnE,MAAM,oBAAoB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC9C,MAAM,oBAAoB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,OAAe;IAChE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe,EAAE,OAAe;IACnE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAe,EAAE,OAAe,EAAE,IAAY;IAClF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,WAAmB,EACnB,OAAe,EACf,MAAe;IAEf,MAAM,QAAQ,GAAG,oBAAoB,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,iBAAiB,CAAC,CAAC,iDAAiD;IAC7E,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAErD,gCAAgC;IAChC,IAAI,eAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,kBAAkB;IAClB,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iBAAiB;IACjB,MAAM,WAAW,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACxD,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAW,EAAE,IAAY;IAC9D,OAAO,6BAA6B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,GAAW,EACX,IAAY,EACZ,OAA2E;IAE3E,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,GAAG,CAAC;QAExC,0CAA0C;QAC1C,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,gDAAgD;QAChD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7D,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAI,QAAQ,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtD,IAAI,CAAC,CAAC,MAAM,6BAA6B,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;oBACvF,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnD,IAAI,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACrD,MAAM,oBAAoB,GAAG,OAAO,EAAE,oBAAoB,CAAC;gBAC3D,IAAI,oBAAoB,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC/E,UAAU,GAAG,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;gBAC9D,CAAC;gBACD,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACzD,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;oBAC5C,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gBAAgB;gBAChB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,kGAAkG;AAClG,+EAA+E;AAE/E,uCAAuC;AACvC,MAAM,eAAe,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAE7E;;;;GAIG;AACH,KAAK,UAAU,yBAAyB,CACtC,cAAsB,EACtB,cAAsB,EACtB,MAAe,EACf,oBAA2C;IAE3C,MAAM,OAAO,GAAoE,EAAE,CAAC;IAEpF,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,yBAAyB;YACzB,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACzB,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,sBAAsB;gBACtB,MAAM,KAAK,GAAG,MAAM,6BAA6B,CAAC,SAAS,EAAE,SAAS,EAAE;oBACtE,OAAO,EAAE,cAAc;oBACvB,oBAAoB;iBACrB,CAAC,CAAC;gBACH,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACrD,CAAC;YAED,gBAAgB;YAChB,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE,CAAC;gBAChD,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBACD,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/C,MAAM,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE;oBACxC,OAAO,EAAE,cAAc;oBACvB,oBAAoB;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;YACjC,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAiB,EACjB,WAAmB,EACnB,KAAkB,EAClB,UAA8B,EAAE;IAEhC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE5E,qDAAqD;IACrD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,EAAE;SACT,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAEvD,gEAAgE;IAChE,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAEzD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,mEAAmE;QACnE,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,eAAe,GAAG,GAAG,WAAW,KAAK,oBAAoB,SAAS,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,WAAW,IAAI,EAAE,IAAI,CAAC;QAErH,4DAA4D;QAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YAC5D,kEAAkE;YAClE,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;gBACjD,MAAM,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,aAAa;SACpB,CAAC;IACJ,CAAC;IAED,kFAAkF;IAClF,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAE/C,4DAA4D;IAC5D,MAAM,gBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACvE,MAAM,yBAAyB,GAAG,gBAAgB;QAChD,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACjD,CAAC,CAAC,aAAa,CAAC;IAClB,MAAM,eAAe,GAAG,2BAA2B,CACjD,yBAAyB,EACzB,aAAa,EACb,KAAK,EACL,YAAY,CACb,CAAC;IAEF,iGAAiG;IACjG,MAAM,eAAe,GAAG,GAAG,WAAW,KAAK,oBAAoB,KAAK,eAAe,EAAE,CAAC;IAEtF,qDAAqD;IACrD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC1D,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IAED,uCAAuC;IACvC,IAAI,MAA2C,CAAC;IAEhD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;SAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,CAAC;QACzD,MAAM,GAAG,WAAW,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IAED,yEAAyE;IACzE,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QACtC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QAC5D,kEAAkE;QAClE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;YACjD,MAAM,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,gHAAgH;IAChH,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,oBAAoB,GAAG,MAAM,yBAAyB,CAC1D,cAAc,EACd,SAAS,EACT,MAAM,EACN,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CACzB,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,CAAC,CAC3E,CAAC;IAEF,qDAAqD;IACrD,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,IAAI,SAAS,CAAC;IAE1D,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,MAAM;QACN,IAAI,EAAE,aAAa;QACnB,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,WAAmB;IAC3D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,kEAAkE;AAClE,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAe,EAAE,OAAe,EAAE,QAAgB;IAC1F,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,QAAQ,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAe,EACf,OAAe,EACf,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;QACnD,OAAO,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAe,EACf,OAAe,EACf,QAAgB;IAEhB,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE/E,IAAI,CAAC;QACH,iDAAiD;QACjD,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC,CAAC,mBAAmB;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,oDAAoD;IACtD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC9D,sCAAsC;QACtC,MAAM,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC,CAAC,wBAAwB;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC,CAAC,4BAA4B;IAC5C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAe,EACf,OAAe,EACf,QAAgB,EAChB,IAAY;IAEZ,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAe,EACf,WAAmB,EACnB,OAAe,EACf,QAAgB,EAChB,SAAkB,EAClB,MAAe;IAEf,uEAAuE;IACvE,IAAI,MAAM,KAAK,MAAM,IAAI,QAAQ,KAAK,aAAa,IAAI,CAAC,SAAS,EAAE,CAAC;QAClE,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,8BAA8B;IAC9B,IAAI,YAAoB,CAAC;IACzB,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzD,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzD,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/E,CAAC;IAED,gCAAgC;IAChC,IAAI,eAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,0EAA0E;IAC1E,MAAM,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE1D,0EAA0E;IAC1E,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iBAAiB;IACjB,MAAM,WAAW,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACxD,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,SAAS,2BAA2B,CAAC,QAAgB;IACnD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,aAAa;YAChB,OAAO,gBAAgB,CAAC;QAC1B,KAAK,OAAO;YACV,OAAO,gBAAgB,CAAC;QAC1B;YACE,OAAO,IAAI,QAAQ,SAAS,CAAC;IACjC,CAAC;AACH,CAAC;AAsCD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAiB,EACjB,WAAmB,EACnB,KAAkB,EAClB,OAA8B,EAC9B,MAAwB,EACxB,gBAAwB,EACxB,WAAoB;IAEpB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,gBAAgB,CAAC;IAExD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,sBAAsB;IACtB,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAEzD,yCAAyC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAEtD,sDAAsD;IACtD,IAAI,eAAuB,CAAC;IAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,eAAe,GAAG,GAAG,WAAW,KAAK,oBAAoB,SAAS,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,WAAW,IAAI,EAAE,IAAI,CAAC;IACjH,CAAC;SAAM,CAAC;QACN,MAAM,gBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACvE,MAAM,yBAAyB,GAAG,gBAAgB;YAChD,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACjD,CAAC,CAAC,aAAa,CAAC;QAClB,MAAM,eAAe,GAAG,MAAM,CAAC,aAAa;YAC1C,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,yBAAyB,EAAE,KAAK,CAAC;YACxD,CAAC,CAAC,yBAAyB,CAAC;QAC9B,eAAe,GAAG,GAAG,WAAW,KAAK,oBAAoB,KAAK,eAAe,EAAE,CAAC;IAClF,CAAC;IAED,oBAAoB;IACpB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC1D,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IAED,IAAI,MAAuD,CAAC;IAC5D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;SAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,CAAC;QACzD,MAAM,GAAG,WAAW,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IAED,iBAAiB;IACjB,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QACtC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE1B,mDAAmD;IACnD,IAAI,wBAAwB,GAAG,KAAK,CAAC;IACrC,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACpF,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAChC,wBAAwB,GAAG,UAAU,CAAC,cAAc,CAAC;IACvD,CAAC;IAED,0BAA0B;IAC1B,MAAM,cAAc,GAAG,MAAM,KAAK,WAAW,IAAI,wBAAwB,CAAC;IAC1E,IAAI,CAAC,MAAM,IAAI,SAAS,IAAI,cAAc,EAAE,CAAC;QAC3C,0DAA0D;QAC1D,MAAM,qBAAqB,GAAG,MAAM,CAAC,wBAAwB,EAAE,CAAC,eAAe,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,qBAAqB;YACvC,CAAC,CAAC,eAAe,GAAG,IAAI,GAAG,qBAAqB;YAChD,CAAC,CAAC,eAAe,CAAC;QACpB,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,uBAAuB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC5E,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,MAAM,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,oBAAoB,GAAG,MAAM,yBAAyB,CAC1D,cAAc,EACd,SAAS,EACT,MAAM,EACN,MAAM,CAAC,8BAA8B;QACnC,CAAC,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,CACxB,MAAM,CAAC,8BAA+B,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC;QACxE,CAAC,CAAC,SAAS,CACd,CAAC;IAEF,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACxE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM;QACN,KAAK;QACL,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,qDAAqD;AACrD,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,WAAmB,EAAE,OAAe;IAC9E,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;IAE1C,iDAAiD;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAClF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;IAC3B,CAAC;IAED,4DAA4D;IAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACjG,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;IAC3B,CAAC;IAED,gDAAgD;IAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACxF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;IAC3B,CAAC;IAED,+DAA+D;IAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACrF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpG,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;IAC3B,CAAC;IAED,oCAAoC;IACpC,KAAK,MAAM,GAAG,IAAI;QAChB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;KACnC,EAAE,CAAC;QACF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAqB;IAClD,QAAQ,EAAE,aAAa;IACvB,gBAAgB,EAAE,gBAAgB;IAElC,KAAK,CAAC,MAAM,CACV,GAAiB,EACjB,WAAmB,EACnB,KAAkB,EAClB,UAAiC,EAAE;QAEnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;QAEvC,iFAAiF;QACjF,4EAA4E;QAC5E,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAClD,sCAAsC;YACtC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,qBAAqB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACrD,CAAC;YAED,OAAO;gBACL,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE,2CAA2C;gBACvD,QAAQ,EAAE,iBAAiB;aAC5B,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAEjD,iDAAiD;QACjD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE;YACrE,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,mBAAmB;YACnB,aAAa,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CACnC,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC;YAC7E,8BAA8B,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CACtE,2BAA2B,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC;YAChF,eAAe,EAAE,IAAI;SACtB,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAEpC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,UAAU,CACd,OAAe,EACf,WAAmB,EACnB,OAAe,EACf,OAAiD;QAEjD,OAAO,uBAAuB,CAC5B,OAAO,EACP,WAAW,EACX,OAAO,EACP,IAAI,CAAC,QAAQ,EACb,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,MAAM,CAChB,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,+EAA+E;AAC/E,+CAA+C;AAC/C,wCAAwC;AACxC,+EAA+E;AAE/E;;;GAGG;AACH,SAAS,wBAAwB,CAAC,KAAkB;IAClD,MAAM,WAAW,GAA4B;QAC3C,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;QACrD,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI;KAC7C,CAAC;IACF,OAAO,QAAQ,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,SAAS,kCAAkC,CAAC,IAAY;IACtD,OAAO,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,CAAC,MAAM,EAAE,OAAe,EAAE,EAAE;QAC/E,OAAO,UAAU,OAAO,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAAC,KAAkB;IAClD,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC;IACjD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6CAA6C;IAC7C,MAAM,OAAO,GAA4B,EAAE,CAAC;IAE5C,qEAAqE;IACrE,MAAM,gBAAgB,GAA4B,EAAE,CAAC;IACrD,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,gBAAgB,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;IAC3D,CAAC;IACD,IAAI,WAAW,CAAC,iBAAiB,EAAE,CAAC;QAClC,gBAAgB,CAAC,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC;IACrE,CAAC;IACD,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;QAC3B,gBAAgB,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;IACvD,CAAC;IACD,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;QAC3B,gBAAgB,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;IACvD,CAAC;IACD,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC5B,gBAAgB,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;IACzD,CAAC;IACD,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;QAC/B,gBAAgB,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC;IAC/D,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,SAAS,GAAG,gBAAgB,CAAC;IACvC,CAAC;IAED,6CAA6C;IAC7C,IAAI,WAAW,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,CAAC,MAAM,GAAG;YACf,yBAAyB,EAAE,WAAW,CAAC,yBAAyB;SACjE,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C,QAAQ,EAAE,OAAO;IACjB,gBAAgB,EAAE,gBAAgB;IAElC,KAAK,CAAC,MAAM,CACV,GAAiB,EACjB,WAAmB,EACnB,KAAkB,EAClB,UAAiC,EAAE;QAEnC,wEAAwE;QACxE,MAAM,cAAc,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAEjD,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEpE,OAAO,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE;YACvD,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,mBAAmB,EAAE,wBAAwB;YAC7C,uDAAuD;YACvD,gFAAgF;YAChF,aAAa,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE;gBACnC,MAAM,aAAa,GAAG,2BAA2B,CAC/C,IAAI,EACJ,IAAI,CAAC,QAAQ,EACb,WAAW,EACX,YAAY,CACb,CAAC;gBACF,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAClC,OAAO,kCAAkC,CAAC,aAAa,CAAC,CAAC;gBAC3D,CAAC;gBACD,OAAO,aAAa,CAAC;YACvB,CAAC;YACD,8BAA8B,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE;gBACtE,MAAM,aAAa,GAAG,2BAA2B,CAC/C,OAAO,EACP,IAAI,CAAC,QAAQ,EACb,WAAW,EACX,YAAY,CACb,CAAC;gBACF,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAClC,OAAO,kCAAkC,CAAC,aAAa,CAAC,CAAC;gBAC3D,CAAC;gBACD,OAAO,aAAa,CAAC;YACvB,CAAC;YAED,yEAAyE;YACzE,wBAAwB,EAAE,GAAG,EAAE,CAAC,cAAc;YAE9C,oEAAoE;YACpE,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;gBAC9D,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,IAAI,cAAc,GAAG,KAAK,CAAC;gBAE3B,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;oBAClD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;oBAEzD,yBAAyB;oBACzB,IAAI,aAAa,GAAG,KAAK,CAAC;oBAC1B,IAAI,eAAe,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACH,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;wBAC1D,aAAa,GAAG,IAAI,CAAC;oBACvB,CAAC;oBAAC,MAAM,CAAC;wBACP,gBAAgB;oBAClB,CAAC;oBAED,MAAM,aAAa,GAAG,CAAC,aAAa;wBAClC,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,aAAa,CAAC,cAAc,EAAE,eAAe,CAAC;4BAC9C,CAAC,CAAC,WAAW;4BACb,CAAC,CAAC,SAAS,CAAC;oBAEhB,IAAI,CAAC,MAAM,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;wBAC7C,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;wBAChD,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;oBAC3D,CAAC;oBAED,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACxB,cAAc,GAAG,aAAa,KAAK,WAAW,CAAC;gBACjD,CAAC;gBAED,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;YACnC,CAAC;SACF,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,UAAU,CACd,OAAe,EACf,WAAmB,EACnB,OAAe,EACf,OAAiD;QAEjD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACtE,MAAM,iBAAiB,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAErD,gCAAgC;QAChC,IAAI,eAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,gCAAgC;QAChC,MAAM,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE/D,kBAAkB;QAClB,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,oCAAoC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QACjE,IAAI,cAAc,GAAkB,IAAI,CAAC;QACzC,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;QAED,gEAAgE;QAChE,MAAM,eAAe,GAAG,cAAc;YACpC,CAAC,CAAC,eAAe,GAAG,IAAI,GAAG,cAAc;YACzC,CAAC,CAAC,eAAe,CAAC;QACpB,MAAM,WAAW,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;QACxD,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,CAAC;CACF,CAAC;AAEF,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,sDAAsD;AACtD,MAAM,gBAAgB,GAAkC,IAAI,GAAG,CAAC;IAC9D,CAAC,aAAa,EAAE,kBAAkB,CAAC;IACnC,CAAC,OAAO,EAAE,aAAa,CAAC;CACzB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,OAAO,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAA0B;IACzD,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"skill-render.js","sourceRoot":"","sources":["../../src/parser/skill-render.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Provides schema validation, reference validation, and orphan detection.
5
5
  */
6
- import { type RefValidationError, type RefValidationWarning } from "./refs.js";
6
+ import { ReferenceIndex, type RefValidationError, type RefValidationWarning } from "./refs.js";
7
7
  import type { KspecContext, LoadedSpecItem } from "./yaml.js";
8
8
  /**
9
9
  * Schema validation error
@@ -26,7 +26,7 @@ export interface OrphanItem {
26
26
  /**
27
27
  * Completeness warning types
28
28
  */
29
- export type CompletenessWarningType = "missing_acceptance_criteria" | "missing_description" | "status_inconsistency" | "missing_test_coverage" | "automation_eligible_no_spec" | "ac_schema_field_mismatch";
29
+ export type CompletenessWarningType = "missing_acceptance_criteria" | "missing_description" | "status_inconsistency" | "missing_test_coverage" | "automation_eligible_no_spec" | "ac_schema_field_mismatch" | "invalid_ac_annotation" | "inconsistent_review_linkage";
30
30
  /**
31
31
  * Trait cycle error
32
32
  */
@@ -94,14 +94,54 @@ export interface ValidateOptions {
94
94
  */
95
95
  requireAcceptance?: boolean;
96
96
  }
97
+ /**
98
+ * Parse all @ref groups from an AC annotation line.
99
+ * Handles single and multiple @ref groups separated by commas or spaces.
100
+ * Examples:
101
+ * "// AC: @spec-a ac-1" → [{specRef:"@spec-a", acIds:["ac-1"]}]
102
+ * "// AC: @spec-a ac-create, ac-update" → [{specRef:"@spec-a", acIds:["ac-create","ac-update"]}]
103
+ * "// AC: @spec-a ac-1, @spec-b ac-2" → [{specRef:"@spec-a", acIds:["ac-1"]}, {specRef:"@spec-b", acIds:["ac-2"]}]
104
+ * "// AC: @spec-a ac-1 — N/A: reason" → [{specRef:"@spec-a", acIds:["ac-1"]}]
105
+ */
106
+ export declare function parseACAnnotationLine(lineText: string): {
107
+ specRef: string;
108
+ acIds: string[];
109
+ }[];
97
110
  /**
98
111
  * Scan test files for AC annotations to build coverage index.
99
112
  * Scans:
100
113
  * - tests/ (unit/integration tests, .test.ts/.test.js)
101
114
  * - packages/web-ui/tests/e2e/ (E2E Playwright tests, .spec.ts/.spec.js)
102
- * Returns a Set of covered ACs in format "@spec-ref ac-N"
115
+ * Returns a Set of covered ACs in format "@spec-ref ac-id"
103
116
  */
104
117
  export declare function scanTestCoverage(rootDir: string): Promise<Set<string>>;
118
+ /**
119
+ * Structured AC annotation found in a test file.
120
+ */
121
+ export interface ACAnnotation {
122
+ /** The @slug or @ULID reference */
123
+ specRef: string;
124
+ /** Specific AC ids like "ac-1", "ac-2", or empty if just the ref */
125
+ acIds: string[];
126
+ /** Source file where annotation was found */
127
+ file: string;
128
+ /** Line number in the source file (1-based) */
129
+ line: number;
130
+ }
131
+ /**
132
+ * Scan all test directories for structured AC annotations.
133
+ */
134
+ export declare function scanACAnnotations(rootDir: string): Promise<ACAnnotation[]>;
135
+ /**
136
+ * Validate AC annotations in test files.
137
+ * Checks that:
138
+ * 1. @slug resolves to a real spec item or trait
139
+ * 2. ac-N exists on the resolved item's acceptance_criteria
140
+ * 3. blanket refs without ac-* ids do not count for items that define ACs
141
+ *
142
+ * Returns completeness warnings for invalid annotations.
143
+ */
144
+ export declare function validateACAnnotations(annotations: ACAnnotation[], items: LoadedSpecItem[], index: ReferenceIndex): CompletenessWarning[];
105
145
  /**
106
146
  * Compute coverage status for acceptance criteria of a spec item.
107
147
  * Shared utility used by both daemon API and JSON export.
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/parser/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/parser/validate.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,10 @@ import * as path from "node:path";
8
8
  import { AgentSchema, ConventionSchema, isSkill, ManifestSchema, MetaManifestSchema, ObservationSchema, SkillSchema, SpecItemSchema, TaskSchema, TasksFileSchema, UlidSchema, WorkflowSchema, } from "../schema/index.js";
9
9
  import { findMetaManifest, getSkillContentPath, loadMetaContext } from "./meta.js";
10
10
  import { loadPlans } from "./plans.js";
11
+ import { findReviewFiles, validateReviewsFile } from "./review-validation.js";
11
12
  import { ReferenceIndex, shortestUniqueUlid, validateRefs, } from "./refs.js";
13
+ import { checkReviewLinkageConsistency } from "./review-task-integration.js";
14
+ import { loadReviewRecords } from "./reviews.js";
12
15
  import { TraitIndex } from "./traits.js";
13
16
  import { expandIncludePattern, extractItemsFromRaw, findTaskFiles, loadSpecFile, readYamlFile, } from "./yaml.js";
14
17
  // ============================================================
@@ -535,6 +538,47 @@ async function findTestFilesRecursive(dir) {
535
538
  }
536
539
  return testFiles;
537
540
  }
541
+ /** Prefix pattern that identifies an AC annotation line. */
542
+ const AC_LINE_PREFIX = /\/\/\s*AC:\s*/;
543
+ /**
544
+ * Parse all @ref groups from an AC annotation line.
545
+ * Handles single and multiple @ref groups separated by commas or spaces.
546
+ * Examples:
547
+ * "// AC: @spec-a ac-1" → [{specRef:"@spec-a", acIds:["ac-1"]}]
548
+ * "// AC: @spec-a ac-create, ac-update" → [{specRef:"@spec-a", acIds:["ac-create","ac-update"]}]
549
+ * "// AC: @spec-a ac-1, @spec-b ac-2" → [{specRef:"@spec-a", acIds:["ac-1"]}, {specRef:"@spec-b", acIds:["ac-2"]}]
550
+ * "// AC: @spec-a ac-1 — N/A: reason" → [{specRef:"@spec-a", acIds:["ac-1"]}]
551
+ */
552
+ export function parseACAnnotationLine(lineText) {
553
+ const prefixMatch = AC_LINE_PREFIX.exec(lineText);
554
+ if (!prefixMatch)
555
+ return [];
556
+ // Get everything after "// AC: "
557
+ let remainder = lineText.slice(prefixMatch.index + prefixMatch[0].length);
558
+ // Strip N/A suffix: " — N/A: ..." or " -- N/A: ..."
559
+ remainder = remainder.replace(/\s*[—–-]{1,3}\s*N\/A\b.*$/, "");
560
+ // Strip parenthetical comments: " (some comment)"
561
+ remainder = remainder.replace(/\s*\(.*$/, "");
562
+ const groups = [];
563
+ // Match each @ref followed by its optional ac-N ids
564
+ // This regex captures @ref and then all ac-N tokens until the next @ref or end
565
+ const refGroupPattern = /(@[\w-]+)((?:\s*,?\s*ac-[\w-]+)*)/g;
566
+ let match;
567
+ while ((match = refGroupPattern.exec(remainder)) !== null) {
568
+ const specRef = match[1];
569
+ const acPart = match[2].trim();
570
+ const acIds = [];
571
+ if (acPart) {
572
+ // Extract individual ac-N tokens
573
+ const acMatches = acPart.match(/ac-[\w-]+/g);
574
+ if (acMatches) {
575
+ acIds.push(...acMatches);
576
+ }
577
+ }
578
+ groups.push({ specRef, acIds });
579
+ }
580
+ return groups;
581
+ }
538
582
  /**
539
583
  * Scan a directory of test files for AC annotations and add to the coverage set.
540
584
  */
@@ -549,25 +593,16 @@ async function scanDirForACAnnotations(dir, coveredACs) {
549
593
  const testFiles = await findTestFilesRecursive(dir);
550
594
  for (const filePath of testFiles) {
551
595
  const content = await fs.readFile(filePath, "utf-8");
552
- // Match AC annotations: // AC: @spec-ref ac-N
553
- // Also handle multiple ACs on one line: // AC: @spec-ref ac-1, ac-2
554
- const acPattern = /\/\/\s*AC:\s*(@[\w-]+)(?:\s+(ac-\d+(?:\s*,\s*ac-\d+)*))?/g;
555
- let match;
556
- while ((match = acPattern.exec(content)) !== null) {
557
- const specRef = match[1]; // @spec-ref
558
- const acList = match[2]; // "ac-1, ac-2" or just "ac-1" or undefined
559
- if (acList) {
560
- // Split by comma and trim
561
- const acs = acList.split(",").map((ac) => ac.trim());
562
- for (const ac of acs) {
596
+ const lines = content.split("\n");
597
+ for (const lineText of lines) {
598
+ if (!AC_LINE_PREFIX.test(lineText))
599
+ continue;
600
+ const groups = parseACAnnotationLine(lineText);
601
+ for (const { specRef, acIds } of groups) {
602
+ for (const ac of acIds) {
563
603
  coveredACs.add(`${specRef} ${ac}`);
564
604
  }
565
605
  }
566
- else {
567
- // No specific AC mentioned, just the spec ref
568
- // We'll consider this as generic coverage
569
- coveredACs.add(specRef);
570
- }
571
606
  }
572
607
  }
573
608
  }
@@ -576,7 +611,7 @@ async function scanDirForACAnnotations(dir, coveredACs) {
576
611
  * Scans:
577
612
  * - tests/ (unit/integration tests, .test.ts/.test.js)
578
613
  * - packages/web-ui/tests/e2e/ (E2E Playwright tests, .spec.ts/.spec.js)
579
- * Returns a Set of covered ACs in format "@spec-ref ac-N"
614
+ * Returns a Set of covered ACs in format "@spec-ref ac-id"
580
615
  */
581
616
  export async function scanTestCoverage(rootDir) {
582
617
  const coveredACs = new Set();
@@ -586,6 +621,117 @@ export async function scanTestCoverage(rootDir) {
586
621
  await scanDirForACAnnotations(path.join(rootDir, "packages", "web-ui", "tests", "e2e"), coveredACs);
587
622
  return coveredACs;
588
623
  }
624
+ /**
625
+ * Scan a directory for structured AC annotation data.
626
+ * Unlike scanDirForACAnnotations which only returns a Set<string>,
627
+ * this returns full annotation details including file and line number.
628
+ */
629
+ async function scanDirForACAnnotationsStructured(dir, annotations) {
630
+ try {
631
+ await fs.access(dir);
632
+ }
633
+ catch {
634
+ return;
635
+ }
636
+ const testFiles = await findTestFilesRecursive(dir);
637
+ for (const filePath of testFiles) {
638
+ const content = await fs.readFile(filePath, "utf-8");
639
+ const lines = content.split("\n");
640
+ for (let i = 0; i < lines.length; i++) {
641
+ const lineText = lines[i];
642
+ if (!AC_LINE_PREFIX.test(lineText))
643
+ continue;
644
+ const groups = parseACAnnotationLine(lineText);
645
+ for (const { specRef, acIds } of groups) {
646
+ annotations.push({
647
+ specRef,
648
+ acIds,
649
+ file: filePath,
650
+ line: i + 1,
651
+ });
652
+ }
653
+ }
654
+ }
655
+ }
656
+ /**
657
+ * Scan all test directories for structured AC annotations.
658
+ */
659
+ export async function scanACAnnotations(rootDir) {
660
+ const annotations = [];
661
+ await scanDirForACAnnotationsStructured(path.join(rootDir, "tests"), annotations);
662
+ await scanDirForACAnnotationsStructured(path.join(rootDir, "packages", "web-ui", "tests", "e2e"), annotations);
663
+ return annotations;
664
+ }
665
+ /**
666
+ * Validate AC annotations in test files.
667
+ * Checks that:
668
+ * 1. @slug resolves to a real spec item or trait
669
+ * 2. ac-N exists on the resolved item's acceptance_criteria
670
+ * 3. blanket refs without ac-* ids do not count for items that define ACs
671
+ *
672
+ * Returns completeness warnings for invalid annotations.
673
+ */
674
+ export function validateACAnnotations(annotations, items, index) {
675
+ const warnings = [];
676
+ for (const annotation of annotations) {
677
+ const { specRef, acIds, file, line } = annotation;
678
+ const relFile = path.basename(file);
679
+ // Check if the reference resolves
680
+ const result = index.resolve(specRef);
681
+ if (!result.ok) {
682
+ warnings.push({
683
+ type: "invalid_ac_annotation",
684
+ itemRef: specRef,
685
+ itemTitle: `${relFile}:${line}`,
686
+ message: `AC annotation references '${specRef}' which cannot be resolved`,
687
+ details: `${file}:${line}`,
688
+ });
689
+ continue;
690
+ }
691
+ // Find the resolved item in our loaded spec items
692
+ const item = items.find((i) => i._ulid === result.ulid);
693
+ if (!item) {
694
+ // Resolved to a non-spec item (task, plan, meta) — AC annotations must target spec items or traits
695
+ warnings.push({
696
+ type: "invalid_ac_annotation",
697
+ itemRef: specRef,
698
+ itemTitle: `${relFile}:${line}`,
699
+ message: `AC annotation references '${specRef}' which resolves but is not a spec item or trait`,
700
+ details: `${file}:${line}`,
701
+ });
702
+ continue;
703
+ }
704
+ if (acIds.length === 0) {
705
+ const hasAcceptanceCriteria = (item.acceptance_criteria?.length ?? 0) > 0;
706
+ if (hasAcceptanceCriteria) {
707
+ warnings.push({
708
+ type: "invalid_ac_annotation",
709
+ itemRef: specRef,
710
+ itemTitle: `${relFile}:${line}`,
711
+ message: `AC annotation references '${specRef}' without explicit ac-* ids; blanket refs do not count for completeness coverage`,
712
+ details: `${file}:${line}`,
713
+ });
714
+ }
715
+ continue;
716
+ }
717
+ const existingACs = new Set((item.acceptance_criteria || []).map((ac) => ac.id));
718
+ for (const acId of acIds) {
719
+ if (!existingACs.has(acId)) {
720
+ const itemRef = item.slugs?.[0]
721
+ ? `@${item.slugs[0]}`
722
+ : `@${index.shortUlid(item._ulid)}`;
723
+ warnings.push({
724
+ type: "invalid_ac_annotation",
725
+ itemRef,
726
+ itemTitle: `${relFile}:${line}`,
727
+ message: `AC annotation references '${specRef} ${acId}' but ${itemRef} has no acceptance criterion '${acId}'`,
728
+ details: `${file}:${line}`,
729
+ });
730
+ }
731
+ }
732
+ }
733
+ return warnings;
734
+ }
589
735
  /**
590
736
  * Compute coverage status for acceptance criteria of a spec item.
591
737
  * Shared utility used by both daemon API and JSON export.
@@ -598,19 +744,16 @@ export function computeACCoverage(item, coveredACs) {
598
744
  if (!item.acceptance_criteria || item.acceptance_criteria.length === 0) {
599
745
  return [];
600
746
  }
601
- return item.acceptance_criteria.map((ac, index) => {
602
- const acId = `ac-${index + 1}`;
747
+ return item.acceptance_criteria.map((ac) => {
603
748
  const possibleRefs = [];
604
749
  // Try with primary slug
605
750
  if (item.slugs && item.slugs.length > 0) {
606
- possibleRefs.push(`@${item.slugs[0]} ${acId}`);
607
- possibleRefs.push(`@${item.slugs[0]}`);
751
+ possibleRefs.push(`@${item.slugs[0]} ${ac.id}`);
608
752
  }
609
753
  // Try all ULID prefix lengths (8..full) to support shortest-unique refs
610
754
  for (let prefixLength = 8; prefixLength <= item._ulid.length; prefixLength++) {
611
755
  const prefix = item._ulid.slice(0, prefixLength);
612
- possibleRefs.push(`@${prefix} ${acId}`);
613
- possibleRefs.push(`@${prefix}`);
756
+ possibleRefs.push(`@${prefix} ${ac.id}`);
614
757
  }
615
758
  const covered = possibleRefs.some((ref) => coveredACs.has(ref));
616
759
  return { ...ac, covered };
@@ -619,6 +762,7 @@ export function computeACCoverage(item, coveredACs) {
619
762
  /**
620
763
  * Check spec items for completeness
621
764
  * AC: @spec-completeness ac-1, ac-2, ac-3
765
+ * AC: @spec-completeness-policy ac-module-exempt, ac-feature-required, ac-description-required, ac-decision-required
622
766
  * AC: @trait-validation ac-1, ac-2, ac-3
623
767
  */
624
768
  async function checkCompleteness(items, index, rootDir, traitIndex) {
@@ -630,10 +774,14 @@ async function checkCompleteness(items, index, rootDir, traitIndex) {
630
774
  ? `@${item.slugs[0]}`
631
775
  : `@${index.shortUlid(item._ulid)}`;
632
776
  const isTrait = item.type === "trait";
777
+ const isModule = item.type === "module";
633
778
  // AC: @spec-completeness ac-1
779
+ // AC: @spec-completeness-policy ac-module-exempt
780
+ // AC: @spec-completeness-policy ac-feature-required
781
+ // AC: @spec-completeness-policy ac-decision-required
634
782
  // AC: @trait-type ac-2 - Traits should have acceptance criteria for completeness
635
783
  // Check for missing acceptance criteria
636
- if (!item.acceptance_criteria || item.acceptance_criteria.length === 0) {
784
+ if (!isModule && (!item.acceptance_criteria || item.acceptance_criteria.length === 0)) {
637
785
  warnings.push({
638
786
  type: "missing_acceptance_criteria",
639
787
  itemRef,
@@ -642,9 +790,10 @@ async function checkCompleteness(items, index, rootDir, traitIndex) {
642
790
  });
643
791
  }
644
792
  // AC: @spec-completeness ac-2
793
+ // AC: @spec-completeness-policy ac-description-required
645
794
  // AC: @trait-type ac-3 - Traits should have description for completeness
646
795
  // Check for missing description
647
- if (!item.description || item.description.trim() === "") {
796
+ if (!isModule && (!item.description || item.description.trim() === "")) {
648
797
  warnings.push({
649
798
  type: "missing_description",
650
799
  itemRef,
@@ -696,14 +845,11 @@ async function checkCompleteness(items, index, rootDir, traitIndex) {
696
845
  // Try with primary slug
697
846
  if (item.slugs && item.slugs.length > 0) {
698
847
  possibleRefs.push(`@${item.slugs[0]} ${ac.id}`);
699
- // Also check for just the slug without specific AC
700
- possibleRefs.push(`@${item.slugs[0]}`);
701
848
  }
702
849
  // Try all ULID prefix lengths (8..full) to support shortest-unique refs
703
850
  for (let prefixLength = 8; prefixLength <= item._ulid.length; prefixLength++) {
704
851
  const prefix = item._ulid.slice(0, prefixLength);
705
852
  possibleRefs.push(`@${prefix} ${ac.id}`);
706
- possibleRefs.push(`@${prefix}`);
707
853
  }
708
854
  // Check if any of these references are covered
709
855
  const isCovered = possibleRefs.some((ref) => coveredACs.has(ref));
@@ -733,12 +879,10 @@ async function checkCompleteness(items, index, rootDir, traitIndex) {
733
879
  const possibleRefs = [];
734
880
  // Try with trait slug
735
881
  possibleRefs.push(`@${trait.slug} ${ac.id}`);
736
- possibleRefs.push(`@${trait.slug}`);
737
882
  // Try all trait ULID prefix lengths (8..full) to support shortest-unique refs
738
883
  for (let prefixLength = 8; prefixLength <= trait.ulid.length; prefixLength++) {
739
884
  const prefix = trait.ulid.slice(0, prefixLength);
740
885
  possibleRefs.push(`@${prefix} ${ac.id}`);
741
- possibleRefs.push(`@${prefix}`);
742
886
  }
743
887
  // Check if any of these references are covered
744
888
  const isCovered = possibleRefs.some((ref) => coveredACs.has(ref));
@@ -981,7 +1125,11 @@ async function validateSkillContentFiles(ctx, skills) {
981
1125
  */
982
1126
  function checkAutomationEligibility(tasks, index) {
983
1127
  const warnings = [];
1128
+ const terminalStatuses = new Set(["completed", "cancelled"]);
984
1129
  for (const task of tasks) {
1130
+ // AC: @task-automation-eligibility ac-21 — skip terminal statuses
1131
+ if (terminalStatuses.has(task.status))
1132
+ continue;
985
1133
  const taskRef = task.slugs?.[0]
986
1134
  ? `@${task.slugs[0]}`
987
1135
  : `@${index.shortUlid(task._ulid)}`;
@@ -1159,6 +1307,16 @@ export async function validate(ctx, options = {}) {
1159
1307
  // Already reported in schema validation
1160
1308
  }
1161
1309
  }
1310
+ // Validate review files
1311
+ // AC: @review-record-validation ac-1, ac-2
1312
+ if (runSchema) {
1313
+ const reviewFiles = await findReviewFiles(ctx.specDir);
1314
+ for (const reviewFile of reviewFiles) {
1315
+ const reviewErrors = await validateReviewsFile(reviewFile);
1316
+ result.schemaErrors.push(...reviewErrors);
1317
+ result.stats.filesChecked++;
1318
+ }
1319
+ }
1162
1320
  // Validate spec files (from includes)
1163
1321
  if (ctx.manifest && ctx.manifestPath) {
1164
1322
  const manifestDir = path.dirname(ctx.manifestPath);
@@ -1252,6 +1410,22 @@ export async function validate(ctx, options = {}) {
1252
1410
  // Check automation eligibility warnings for tasks
1253
1411
  const automationWarnings = checkAutomationEligibility(allTasks, index);
1254
1412
  completenessWarnings.push(...automationWarnings);
1413
+ // AC: @review-task-lifecycle-integration ac-5
1414
+ // Check review linkage consistency for pending_review tasks
1415
+ const reviews = await loadReviewRecords(ctx);
1416
+ const linkageWarnings = checkReviewLinkageConsistency(allTasks, reviews);
1417
+ for (const lw of linkageWarnings) {
1418
+ completenessWarnings.push({
1419
+ type: "inconsistent_review_linkage",
1420
+ itemRef: lw.taskRef,
1421
+ itemTitle: lw.taskTitle,
1422
+ message: lw.message,
1423
+ });
1424
+ }
1425
+ // Validate AC annotations in test files
1426
+ const annotations = await scanACAnnotations(ctx.rootDir);
1427
+ const annotationWarnings = validateACAnnotations(annotations, allItems, index);
1428
+ completenessWarnings.push(...annotationWarnings);
1255
1429
  // AC: @config-validation ac-1 — require_acceptance promotes missing AC to errors
1256
1430
  if (options.requireAcceptance) {
1257
1431
  const missingAC = completenessWarnings.filter((w) => w.type === "missing_acceptance_criteria");