mewkit 1.15.0 → 1.16.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 (490) hide show
  1. package/NOTICE +24 -0
  2. package/README.md +29 -70
  3. package/dist/commands/visual-plan.d.ts +23 -0
  4. package/dist/commands/visual-plan.d.ts.map +1 -0
  5. package/dist/commands/visual-plan.js +26 -0
  6. package/dist/commands/visual-plan.js.map +1 -0
  7. package/dist/core/capability.d.ts +81 -81
  8. package/dist/core/consolidation-ledger.d.ts.map +1 -1
  9. package/dist/core/consolidation-ledger.js +13 -11
  10. package/dist/core/consolidation-ledger.js.map +1 -1
  11. package/dist/core/install-metadata.d.ts +27 -27
  12. package/dist/core/plugin-manifest.d.ts +16 -16
  13. package/dist/core/release-metadata.d.ts +2 -2
  14. package/dist/core/task-record.d.ts +8 -8
  15. package/dist/index.js +33 -21
  16. package/dist/index.js.map +1 -1
  17. package/dist/local-web/atomic-write.d.ts +15 -0
  18. package/dist/local-web/atomic-write.d.ts.map +1 -0
  19. package/dist/local-web/atomic-write.js +69 -0
  20. package/dist/local-web/atomic-write.js.map +1 -0
  21. package/dist/local-web/constants.d.ts +13 -0
  22. package/dist/local-web/constants.d.ts.map +1 -0
  23. package/dist/local-web/constants.js +13 -0
  24. package/dist/local-web/constants.js.map +1 -0
  25. package/dist/local-web/etag.d.ts +19 -0
  26. package/dist/local-web/etag.d.ts.map +1 -0
  27. package/dist/local-web/etag.js +32 -0
  28. package/dist/local-web/etag.js.map +1 -0
  29. package/dist/local-web/host-guard.d.ts +12 -0
  30. package/dist/local-web/host-guard.d.ts.map +1 -0
  31. package/dist/local-web/host-guard.js +18 -0
  32. package/dist/local-web/host-guard.js.map +1 -0
  33. package/dist/local-web/index.d.ts +23 -0
  34. package/dist/local-web/index.d.ts.map +1 -0
  35. package/dist/local-web/index.js +23 -0
  36. package/dist/local-web/index.js.map +1 -0
  37. package/dist/local-web/local-server.d.ts +37 -0
  38. package/dist/local-web/local-server.d.ts.map +1 -0
  39. package/dist/local-web/local-server.js +85 -0
  40. package/dist/local-web/local-server.js.map +1 -0
  41. package/dist/local-web/open-browser.d.ts +12 -0
  42. package/dist/local-web/open-browser.d.ts.map +1 -0
  43. package/dist/{orchviz/open-url.js → local-web/open-browser.js} +9 -8
  44. package/dist/local-web/open-browser.js.map +1 -0
  45. package/dist/local-web/origin-guard.d.ts +11 -0
  46. package/dist/local-web/origin-guard.d.ts.map +1 -0
  47. package/dist/local-web/origin-guard.js +15 -0
  48. package/dist/local-web/origin-guard.js.map +1 -0
  49. package/dist/local-web/path-boundary.d.ts +20 -0
  50. package/dist/local-web/path-boundary.d.ts.map +1 -0
  51. package/dist/local-web/path-boundary.js +39 -0
  52. package/dist/local-web/path-boundary.js.map +1 -0
  53. package/dist/local-web/request-body.d.ts +24 -0
  54. package/dist/local-web/request-body.d.ts.map +1 -0
  55. package/dist/local-web/request-body.js +68 -0
  56. package/dist/local-web/request-body.js.map +1 -0
  57. package/dist/local-web/static-handler.d.ts +14 -0
  58. package/dist/local-web/static-handler.d.ts.map +1 -0
  59. package/dist/{orchviz/server → local-web}/static-handler.js +11 -6
  60. package/dist/local-web/static-handler.js.map +1 -0
  61. package/dist/migrate/reconcile/portable-manifest.d.ts +12 -12
  62. package/dist/migrate/reconcile/portable-registry.d.ts +24 -24
  63. package/dist/migrate/types.d.ts +10 -10
  64. package/dist/{orchviz/token-estimator.d.ts → token-estimator/index.d.ts} +6 -1
  65. package/dist/token-estimator/index.d.ts.map +1 -0
  66. package/dist/{orchviz/token-estimator.js → token-estimator/index.js} +11 -2
  67. package/dist/token-estimator/index.js.map +1 -0
  68. package/dist/visual-plan/__fixtures__/valid-plan.d.ts +15 -0
  69. package/dist/visual-plan/__fixtures__/valid-plan.d.ts.map +1 -0
  70. package/dist/visual-plan/__fixtures__/valid-plan.js +79 -0
  71. package/dist/visual-plan/__fixtures__/valid-plan.js.map +1 -0
  72. package/dist/visual-plan/application/apply-feedback.d.ts +31 -0
  73. package/dist/visual-plan/application/apply-feedback.d.ts.map +1 -0
  74. package/dist/visual-plan/application/apply-feedback.js +85 -0
  75. package/dist/visual-plan/application/apply-feedback.js.map +1 -0
  76. package/dist/visual-plan/application/apply-patch-op.d.ts +13 -0
  77. package/dist/visual-plan/application/apply-patch-op.d.ts.map +1 -0
  78. package/dist/visual-plan/application/apply-patch-op.js +72 -0
  79. package/dist/visual-plan/application/apply-patch-op.js.map +1 -0
  80. package/dist/visual-plan/application/approve.d.ts +24 -0
  81. package/dist/visual-plan/application/approve.d.ts.map +1 -0
  82. package/dist/visual-plan/application/approve.js +53 -0
  83. package/dist/visual-plan/application/approve.js.map +1 -0
  84. package/dist/visual-plan/application/clock.d.ts +8 -0
  85. package/dist/visual-plan/application/clock.d.ts.map +1 -0
  86. package/dist/visual-plan/application/clock.js +10 -0
  87. package/dist/visual-plan/application/clock.js.map +1 -0
  88. package/dist/visual-plan/application/export-plan.d.ts +19 -0
  89. package/dist/visual-plan/application/export-plan.d.ts.map +1 -0
  90. package/dist/visual-plan/application/export-plan.js +59 -0
  91. package/dist/visual-plan/application/export-plan.js.map +1 -0
  92. package/dist/visual-plan/application/patch-plan.d.ts +26 -0
  93. package/dist/visual-plan/application/patch-plan.d.ts.map +1 -0
  94. package/dist/visual-plan/application/patch-plan.js +48 -0
  95. package/dist/visual-plan/application/patch-plan.js.map +1 -0
  96. package/dist/visual-plan/application/prepare-feedback.d.ts +24 -0
  97. package/dist/visual-plan/application/prepare-feedback.d.ts.map +1 -0
  98. package/dist/visual-plan/application/prepare-feedback.js +70 -0
  99. package/dist/visual-plan/application/prepare-feedback.js.map +1 -0
  100. package/dist/visual-plan/application/rehash.d.ts +19 -0
  101. package/dist/visual-plan/application/rehash.d.ts.map +1 -0
  102. package/dist/visual-plan/application/rehash.js +43 -0
  103. package/dist/visual-plan/application/rehash.js.map +1 -0
  104. package/dist/visual-plan/application/status.d.ts +20 -0
  105. package/dist/visual-plan/application/status.d.ts.map +1 -0
  106. package/dist/visual-plan/application/status.js +27 -0
  107. package/dist/visual-plan/application/status.js.map +1 -0
  108. package/dist/visual-plan/application/validate-plan.d.ts +30 -0
  109. package/dist/visual-plan/application/validate-plan.d.ts.map +1 -0
  110. package/dist/visual-plan/application/validate-plan.js +59 -0
  111. package/dist/visual-plan/application/validate-plan.js.map +1 -0
  112. package/dist/visual-plan/domain/coverage.d.ts +35 -0
  113. package/dist/visual-plan/domain/coverage.d.ts.map +1 -0
  114. package/dist/visual-plan/domain/coverage.js +99 -0
  115. package/dist/visual-plan/domain/coverage.js.map +1 -0
  116. package/dist/visual-plan/domain/cross-refs.d.ts +20 -0
  117. package/dist/visual-plan/domain/cross-refs.d.ts.map +1 -0
  118. package/dist/visual-plan/domain/cross-refs.js +92 -0
  119. package/dist/visual-plan/domain/cross-refs.js.map +1 -0
  120. package/dist/visual-plan/domain/errors.d.ts +43 -0
  121. package/dist/visual-plan/domain/errors.d.ts.map +1 -0
  122. package/dist/visual-plan/domain/errors.js +33 -0
  123. package/dist/visual-plan/domain/errors.js.map +1 -0
  124. package/dist/visual-plan/domain/feedback-schemas.d.ts +160 -0
  125. package/dist/visual-plan/domain/feedback-schemas.d.ts.map +1 -0
  126. package/dist/visual-plan/domain/feedback-schemas.js +71 -0
  127. package/dist/visual-plan/domain/feedback-schemas.js.map +1 -0
  128. package/dist/visual-plan/domain/ids.d.ts +21 -0
  129. package/dist/visual-plan/domain/ids.d.ts.map +1 -0
  130. package/dist/visual-plan/domain/ids.js +25 -0
  131. package/dist/visual-plan/domain/ids.js.map +1 -0
  132. package/dist/visual-plan/domain/patches.d.ts +176 -0
  133. package/dist/visual-plan/domain/patches.d.ts.map +1 -0
  134. package/dist/visual-plan/domain/patches.js +41 -0
  135. package/dist/visual-plan/domain/patches.js.map +1 -0
  136. package/dist/visual-plan/domain/sanitizer-config.d.ts +61 -0
  137. package/dist/visual-plan/domain/sanitizer-config.d.ts.map +1 -0
  138. package/dist/visual-plan/domain/sanitizer-config.js +70 -0
  139. package/dist/visual-plan/domain/sanitizer-config.js.map +1 -0
  140. package/dist/visual-plan/domain/schemas.d.ts +1492 -0
  141. package/dist/visual-plan/domain/schemas.d.ts.map +1 -0
  142. package/dist/visual-plan/domain/schemas.js +166 -0
  143. package/dist/visual-plan/domain/schemas.js.map +1 -0
  144. package/dist/visual-plan/infrastructure/atomic-write.d.ts +11 -0
  145. package/dist/visual-plan/infrastructure/atomic-write.d.ts.map +1 -0
  146. package/dist/visual-plan/infrastructure/atomic-write.js +44 -0
  147. package/dist/visual-plan/infrastructure/atomic-write.js.map +1 -0
  148. package/dist/visual-plan/infrastructure/feedback-repository.d.ts +18 -0
  149. package/dist/visual-plan/infrastructure/feedback-repository.d.ts.map +1 -0
  150. package/dist/visual-plan/infrastructure/feedback-repository.js +59 -0
  151. package/dist/visual-plan/infrastructure/feedback-repository.js.map +1 -0
  152. package/dist/visual-plan/infrastructure/hashing.d.ts +37 -0
  153. package/dist/visual-plan/infrastructure/hashing.d.ts.map +1 -0
  154. package/dist/visual-plan/infrastructure/hashing.js +81 -0
  155. package/dist/visual-plan/infrastructure/hashing.js.map +1 -0
  156. package/dist/visual-plan/infrastructure/plan-state.d.ts +32 -0
  157. package/dist/visual-plan/infrastructure/plan-state.d.ts.map +1 -0
  158. package/dist/visual-plan/infrastructure/plan-state.js +58 -0
  159. package/dist/visual-plan/infrastructure/plan-state.js.map +1 -0
  160. package/dist/visual-plan/infrastructure/receipt-repository.d.ts +17 -0
  161. package/dist/visual-plan/infrastructure/receipt-repository.d.ts.map +1 -0
  162. package/dist/visual-plan/infrastructure/receipt-repository.js +59 -0
  163. package/dist/visual-plan/infrastructure/receipt-repository.js.map +1 -0
  164. package/dist/visual-plan/infrastructure/visual-plan-repository.d.ts +38 -0
  165. package/dist/visual-plan/infrastructure/visual-plan-repository.d.ts.map +1 -0
  166. package/dist/visual-plan/infrastructure/visual-plan-repository.js +97 -0
  167. package/dist/visual-plan/infrastructure/visual-plan-repository.js.map +1 -0
  168. package/dist/visual-plan/infrastructure/wireframe-sanitizer.d.ts +41 -0
  169. package/dist/visual-plan/infrastructure/wireframe-sanitizer.d.ts.map +1 -0
  170. package/dist/visual-plan/infrastructure/wireframe-sanitizer.js +72 -0
  171. package/dist/visual-plan/infrastructure/wireframe-sanitizer.js.map +1 -0
  172. package/dist/visual-plan/interface/cli.d.ts +29 -0
  173. package/dist/visual-plan/interface/cli.d.ts.map +1 -0
  174. package/dist/visual-plan/interface/cli.js +280 -0
  175. package/dist/visual-plan/interface/cli.js.map +1 -0
  176. package/dist/visual-plan/interface/studio.d.ts +20 -0
  177. package/dist/visual-plan/interface/studio.d.ts.map +1 -0
  178. package/dist/visual-plan/interface/studio.js +74 -0
  179. package/dist/visual-plan/interface/studio.js.map +1 -0
  180. package/dist/visual-plan/server/csp.d.ts +13 -0
  181. package/dist/visual-plan/server/csp.d.ts.map +1 -0
  182. package/dist/visual-plan/server/csp.js +17 -0
  183. package/dist/visual-plan/server/csp.js.map +1 -0
  184. package/dist/visual-plan/server/edit-lock.d.ts +28 -0
  185. package/dist/visual-plan/server/edit-lock.d.ts.map +1 -0
  186. package/dist/visual-plan/server/edit-lock.js +71 -0
  187. package/dist/visual-plan/server/edit-lock.js.map +1 -0
  188. package/dist/visual-plan/server/routes/feedback.d.ts +12 -0
  189. package/dist/visual-plan/server/routes/feedback.d.ts.map +1 -0
  190. package/dist/visual-plan/server/routes/feedback.js +63 -0
  191. package/dist/visual-plan/server/routes/feedback.js.map +1 -0
  192. package/dist/visual-plan/server/routes/get-plan.d.ts +14 -0
  193. package/dist/visual-plan/server/routes/get-plan.d.ts.map +1 -0
  194. package/dist/visual-plan/server/routes/get-plan.js +38 -0
  195. package/dist/visual-plan/server/routes/get-plan.js.map +1 -0
  196. package/dist/visual-plan/server/routes/patch.d.ts +10 -0
  197. package/dist/visual-plan/server/routes/patch.d.ts.map +1 -0
  198. package/dist/visual-plan/server/routes/patch.js +66 -0
  199. package/dist/visual-plan/server/routes/patch.js.map +1 -0
  200. package/dist/visual-plan/server/visual-plan-server.d.ts +30 -0
  201. package/dist/visual-plan/server/visual-plan-server.d.ts.map +1 -0
  202. package/dist/visual-plan/server/visual-plan-server.js +79 -0
  203. package/dist/visual-plan/server/visual-plan-server.js.map +1 -0
  204. package/dist/visual-plan-web/architects-daughter-latin-400-normal.woff +0 -0
  205. package/dist/visual-plan-web/architects-daughter-latin-400-normal.woff2 +0 -0
  206. package/dist/visual-plan-web/architects-daughter-latin-ext-400-normal.woff +0 -0
  207. package/dist/visual-plan-web/architects-daughter-latin-ext-400-normal.woff2 +0 -0
  208. package/dist/visual-plan-web/index.css +1 -0
  209. package/dist/visual-plan-web/index.html +17 -0
  210. package/dist/visual-plan-web/index.js +51 -0
  211. package/package.json +14 -17
  212. package/dist/commands/orchviz.d.ts +0 -12
  213. package/dist/commands/orchviz.d.ts.map +0 -1
  214. package/dist/commands/orchviz.js +0 -157
  215. package/dist/commands/orchviz.js.map +0 -1
  216. package/dist/migrate/converters/md-to-codex-rules.d.ts +0 -10
  217. package/dist/migrate/converters/md-to-codex-rules.d.ts.map +0 -1
  218. package/dist/migrate/converters/md-to-codex-rules.js +0 -133
  219. package/dist/migrate/converters/md-to-codex-rules.js.map +0 -1
  220. package/dist/orchviz/constants.d.ts +0 -72
  221. package/dist/orchviz/constants.d.ts.map +0 -1
  222. package/dist/orchviz/constants.js +0 -105
  223. package/dist/orchviz/constants.js.map +0 -1
  224. package/dist/orchviz/fs-utils.d.ts +0 -24
  225. package/dist/orchviz/fs-utils.d.ts.map +0 -1
  226. package/dist/orchviz/fs-utils.js +0 -49
  227. package/dist/orchviz/fs-utils.js.map +0 -1
  228. package/dist/orchviz/index.d.ts +0 -29
  229. package/dist/orchviz/index.d.ts.map +0 -1
  230. package/dist/orchviz/index.js +0 -28
  231. package/dist/orchviz/index.js.map +0 -1
  232. package/dist/orchviz/log-persister.d.ts +0 -22
  233. package/dist/orchviz/log-persister.d.ts.map +0 -1
  234. package/dist/orchviz/log-persister.js +0 -96
  235. package/dist/orchviz/log-persister.js.map +0 -1
  236. package/dist/orchviz/logger.d.ts +0 -13
  237. package/dist/orchviz/logger.d.ts.map +0 -1
  238. package/dist/orchviz/logger.js +0 -47
  239. package/dist/orchviz/logger.js.map +0 -1
  240. package/dist/orchviz/open-url.d.ts +0 -11
  241. package/dist/orchviz/open-url.d.ts.map +0 -1
  242. package/dist/orchviz/open-url.js.map +0 -1
  243. package/dist/orchviz/overlay/collector.d.ts +0 -29
  244. package/dist/orchviz/overlay/collector.d.ts.map +0 -1
  245. package/dist/orchviz/overlay/collector.js +0 -38
  246. package/dist/orchviz/overlay/collector.js.map +0 -1
  247. package/dist/orchviz/overlay/gate-readers.d.ts +0 -18
  248. package/dist/orchviz/overlay/gate-readers.d.ts.map +0 -1
  249. package/dist/orchviz/overlay/gate-readers.js +0 -111
  250. package/dist/orchviz/overlay/gate-readers.js.map +0 -1
  251. package/dist/orchviz/overlay/session-state-readers.d.ts +0 -18
  252. package/dist/orchviz/overlay/session-state-readers.d.ts.map +0 -1
  253. package/dist/orchviz/overlay/session-state-readers.js +0 -78
  254. package/dist/orchviz/overlay/session-state-readers.js.map +0 -1
  255. package/dist/orchviz/parser/handle-progress.d.ts +0 -9
  256. package/dist/orchviz/parser/handle-progress.d.ts.map +0 -1
  257. package/dist/orchviz/parser/handle-progress.js +0 -38
  258. package/dist/orchviz/parser/handle-progress.js.map +0 -1
  259. package/dist/orchviz/parser/handle-system.d.ts +0 -22
  260. package/dist/orchviz/parser/handle-system.d.ts.map +0 -1
  261. package/dist/orchviz/parser/handle-system.js +0 -99
  262. package/dist/orchviz/parser/handle-system.js.map +0 -1
  263. package/dist/orchviz/parser/handle-text.d.ts +0 -10
  264. package/dist/orchviz/parser/handle-text.d.ts.map +0 -1
  265. package/dist/orchviz/parser/handle-text.js +0 -83
  266. package/dist/orchviz/parser/handle-text.js.map +0 -1
  267. package/dist/orchviz/parser/handle-thinking.d.ts +0 -10
  268. package/dist/orchviz/parser/handle-thinking.d.ts.map +0 -1
  269. package/dist/orchviz/parser/handle-thinking.js +0 -35
  270. package/dist/orchviz/parser/handle-thinking.js.map +0 -1
  271. package/dist/orchviz/parser/handle-tool-result.d.ts +0 -10
  272. package/dist/orchviz/parser/handle-tool-result.d.ts.map +0 -1
  273. package/dist/orchviz/parser/handle-tool-result.js +0 -130
  274. package/dist/orchviz/parser/handle-tool-result.js.map +0 -1
  275. package/dist/orchviz/parser/handle-tool-use.d.ts +0 -11
  276. package/dist/orchviz/parser/handle-tool-use.d.ts.map +0 -1
  277. package/dist/orchviz/parser/handle-tool-use.js +0 -120
  278. package/dist/orchviz/parser/handle-tool-use.js.map +0 -1
  279. package/dist/orchviz/parser/index.d.ts +0 -38
  280. package/dist/orchviz/parser/index.d.ts.map +0 -1
  281. package/dist/orchviz/parser/index.js +0 -144
  282. package/dist/orchviz/parser/index.js.map +0 -1
  283. package/dist/orchviz/parser/label-helpers.d.ts +0 -9
  284. package/dist/orchviz/parser/label-helpers.d.ts.map +0 -1
  285. package/dist/orchviz/parser/label-helpers.js +0 -44
  286. package/dist/orchviz/parser/label-helpers.js.map +0 -1
  287. package/dist/orchviz/parser/strip-ansi.d.ts +0 -6
  288. package/dist/orchviz/parser/strip-ansi.d.ts.map +0 -1
  289. package/dist/orchviz/parser/strip-ansi.js +0 -14
  290. package/dist/orchviz/parser/strip-ansi.js.map +0 -1
  291. package/dist/orchviz/parser/utils.d.ts +0 -20
  292. package/dist/orchviz/parser/utils.d.ts.map +0 -1
  293. package/dist/orchviz/parser/utils.js +0 -54
  294. package/dist/orchviz/parser/utils.js.map +0 -1
  295. package/dist/orchviz/permission-detection.d.ts +0 -32
  296. package/dist/orchviz/permission-detection.d.ts.map +0 -1
  297. package/dist/orchviz/permission-detection.js +0 -104
  298. package/dist/orchviz/permission-detection.js.map +0 -1
  299. package/dist/orchviz/plan/apply-todo-toggle.d.ts +0 -29
  300. package/dist/orchviz/plan/apply-todo-toggle.d.ts.map +0 -1
  301. package/dist/orchviz/plan/apply-todo-toggle.js +0 -129
  302. package/dist/orchviz/plan/apply-todo-toggle.js.map +0 -1
  303. package/dist/orchviz/plan/atomic-write.d.ts +0 -25
  304. package/dist/orchviz/plan/atomic-write.d.ts.map +0 -1
  305. package/dist/orchviz/plan/atomic-write.js +0 -85
  306. package/dist/orchviz/plan/atomic-write.js.map +0 -1
  307. package/dist/orchviz/plan/collector.d.ts +0 -49
  308. package/dist/orchviz/plan/collector.d.ts.map +0 -1
  309. package/dist/orchviz/plan/collector.js +0 -169
  310. package/dist/orchviz/plan/collector.js.map +0 -1
  311. package/dist/orchviz/plan/etag.d.ts +0 -24
  312. package/dist/orchviz/plan/etag.d.ts.map +0 -1
  313. package/dist/orchviz/plan/etag.js +0 -58
  314. package/dist/orchviz/plan/etag.js.map +0 -1
  315. package/dist/orchviz/plan/find-active-plan.d.ts +0 -9
  316. package/dist/orchviz/plan/find-active-plan.d.ts.map +0 -1
  317. package/dist/orchviz/plan/find-active-plan.js +0 -90
  318. package/dist/orchviz/plan/find-active-plan.js.map +0 -1
  319. package/dist/orchviz/plan/index.d.ts +0 -23
  320. package/dist/orchviz/plan/index.d.ts.map +0 -1
  321. package/dist/orchviz/plan/index.js +0 -91
  322. package/dist/orchviz/plan/index.js.map +0 -1
  323. package/dist/orchviz/plan/list-plans.d.ts +0 -19
  324. package/dist/orchviz/plan/list-plans.d.ts.map +0 -1
  325. package/dist/orchviz/plan/list-plans.js +0 -143
  326. package/dist/orchviz/plan/list-plans.js.map +0 -1
  327. package/dist/orchviz/plan/parse-phase-file.d.ts +0 -13
  328. package/dist/orchviz/plan/parse-phase-file.d.ts.map +0 -1
  329. package/dist/orchviz/plan/parse-phase-file.js +0 -134
  330. package/dist/orchviz/plan/parse-phase-file.js.map +0 -1
  331. package/dist/orchviz/plan/parse-plan-file.d.ts +0 -19
  332. package/dist/orchviz/plan/parse-plan-file.d.ts.map +0 -1
  333. package/dist/orchviz/plan/parse-plan-file.js +0 -62
  334. package/dist/orchviz/plan/parse-plan-file.js.map +0 -1
  335. package/dist/orchviz/plan/plan-constants.d.ts +0 -17
  336. package/dist/orchviz/plan/plan-constants.d.ts.map +0 -1
  337. package/dist/orchviz/plan/plan-constants.js +0 -19
  338. package/dist/orchviz/plan/plan-constants.js.map +0 -1
  339. package/dist/orchviz/plan/plan-lifecycle.d.ts +0 -17
  340. package/dist/orchviz/plan/plan-lifecycle.d.ts.map +0 -1
  341. package/dist/orchviz/plan/plan-lifecycle.js +0 -97
  342. package/dist/orchviz/plan/plan-lifecycle.js.map +0 -1
  343. package/dist/orchviz/plan/types.d.ts +0 -46
  344. package/dist/orchviz/plan/types.d.ts.map +0 -1
  345. package/dist/orchviz/plan/types.js +0 -6
  346. package/dist/orchviz/plan/types.js.map +0 -1
  347. package/dist/orchviz/protocol.d.ts +0 -171
  348. package/dist/orchviz/protocol.d.ts.map +0 -1
  349. package/dist/orchviz/protocol.js +0 -23
  350. package/dist/orchviz/protocol.js.map +0 -1
  351. package/dist/orchviz/redact.d.ts +0 -10
  352. package/dist/orchviz/redact.d.ts.map +0 -1
  353. package/dist/orchviz/redact.js +0 -38
  354. package/dist/orchviz/redact.js.map +0 -1
  355. package/dist/orchviz/sanitize.d.ts +0 -11
  356. package/dist/orchviz/sanitize.d.ts.map +0 -1
  357. package/dist/orchviz/sanitize.js +0 -38
  358. package/dist/orchviz/sanitize.js.map +0 -1
  359. package/dist/orchviz/server/api-handlers.d.ts +0 -55
  360. package/dist/orchviz/server/api-handlers.d.ts.map +0 -1
  361. package/dist/orchviz/server/api-handlers.js +0 -112
  362. package/dist/orchviz/server/api-handlers.js.map +0 -1
  363. package/dist/orchviz/server/index.d.ts +0 -36
  364. package/dist/orchviz/server/index.d.ts.map +0 -1
  365. package/dist/orchviz/server/index.js +0 -144
  366. package/dist/orchviz/server/index.js.map +0 -1
  367. package/dist/orchviz/server/sse-handler.d.ts +0 -28
  368. package/dist/orchviz/server/sse-handler.d.ts.map +0 -1
  369. package/dist/orchviz/server/sse-handler.js +0 -217
  370. package/dist/orchviz/server/sse-handler.js.map +0 -1
  371. package/dist/orchviz/server/static-handler.d.ts +0 -9
  372. package/dist/orchviz/server/static-handler.d.ts.map +0 -1
  373. package/dist/orchviz/server/static-handler.js.map +0 -1
  374. package/dist/orchviz/server/write-handlers.d.ts +0 -20
  375. package/dist/orchviz/server/write-handlers.d.ts.map +0 -1
  376. package/dist/orchviz/server/write-handlers.js +0 -184
  377. package/dist/orchviz/server/write-handlers.js.map +0 -1
  378. package/dist/orchviz/server/write-utils.d.ts +0 -59
  379. package/dist/orchviz/server/write-utils.d.ts.map +0 -1
  380. package/dist/orchviz/server/write-utils.js +0 -161
  381. package/dist/orchviz/server/write-utils.js.map +0 -1
  382. package/dist/orchviz/session-discovery.d.ts +0 -19
  383. package/dist/orchviz/session-discovery.d.ts.map +0 -1
  384. package/dist/orchviz/session-discovery.js +0 -104
  385. package/dist/orchviz/session-discovery.js.map +0 -1
  386. package/dist/orchviz/session-manager.d.ts +0 -17
  387. package/dist/orchviz/session-manager.d.ts.map +0 -1
  388. package/dist/orchviz/session-manager.js +0 -63
  389. package/dist/orchviz/session-manager.js.map +0 -1
  390. package/dist/orchviz/session-runtime.d.ts +0 -21
  391. package/dist/orchviz/session-runtime.d.ts.map +0 -1
  392. package/dist/orchviz/session-runtime.js +0 -135
  393. package/dist/orchviz/session-runtime.js.map +0 -1
  394. package/dist/orchviz/session-watcher.d.ts +0 -33
  395. package/dist/orchviz/session-watcher.d.ts.map +0 -1
  396. package/dist/orchviz/session-watcher.js +0 -135
  397. package/dist/orchviz/session-watcher.js.map +0 -1
  398. package/dist/orchviz/subagent-meta.d.ts +0 -12
  399. package/dist/orchviz/subagent-meta.d.ts.map +0 -1
  400. package/dist/orchviz/subagent-meta.js +0 -34
  401. package/dist/orchviz/subagent-meta.js.map +0 -1
  402. package/dist/orchviz/subagent-scanner.d.ts +0 -15
  403. package/dist/orchviz/subagent-scanner.d.ts.map +0 -1
  404. package/dist/orchviz/subagent-scanner.js +0 -27
  405. package/dist/orchviz/subagent-scanner.js.map +0 -1
  406. package/dist/orchviz/subagent-watcher.d.ts +0 -20
  407. package/dist/orchviz/subagent-watcher.d.ts.map +0 -1
  408. package/dist/orchviz/subagent-watcher.js +0 -160
  409. package/dist/orchviz/subagent-watcher.js.map +0 -1
  410. package/dist/orchviz/token-estimator.d.ts.map +0 -1
  411. package/dist/orchviz/token-estimator.js.map +0 -1
  412. package/dist/orchviz/tool-input-data.d.ts +0 -11
  413. package/dist/orchviz/tool-input-data.d.ts.map +0 -1
  414. package/dist/orchviz/tool-input-data.js +0 -74
  415. package/dist/orchviz/tool-input-data.js.map +0 -1
  416. package/dist/orchviz/tool-summarizer.d.ts +0 -16
  417. package/dist/orchviz/tool-summarizer.d.ts.map +0 -1
  418. package/dist/orchviz/tool-summarizer.js +0 -129
  419. package/dist/orchviz/tool-summarizer.js.map +0 -1
  420. package/dist/orchviz-web/fira-code-cyrillic-400-normal.woff +0 -0
  421. package/dist/orchviz-web/fira-code-cyrillic-400-normal.woff2 +0 -0
  422. package/dist/orchviz-web/fira-code-cyrillic-500-normal.woff +0 -0
  423. package/dist/orchviz-web/fira-code-cyrillic-500-normal.woff2 +0 -0
  424. package/dist/orchviz-web/fira-code-cyrillic-ext-400-normal.woff +0 -0
  425. package/dist/orchviz-web/fira-code-cyrillic-ext-400-normal.woff2 +0 -0
  426. package/dist/orchviz-web/fira-code-cyrillic-ext-500-normal.woff +0 -0
  427. package/dist/orchviz-web/fira-code-cyrillic-ext-500-normal.woff2 +0 -0
  428. package/dist/orchviz-web/fira-code-greek-400-normal.woff +0 -0
  429. package/dist/orchviz-web/fira-code-greek-400-normal.woff2 +0 -0
  430. package/dist/orchviz-web/fira-code-greek-500-normal.woff +0 -0
  431. package/dist/orchviz-web/fira-code-greek-500-normal.woff2 +0 -0
  432. package/dist/orchviz-web/fira-code-greek-ext-400-normal.woff +0 -0
  433. package/dist/orchviz-web/fira-code-greek-ext-400-normal.woff2 +0 -0
  434. package/dist/orchviz-web/fira-code-greek-ext-500-normal.woff +0 -0
  435. package/dist/orchviz-web/fira-code-greek-ext-500-normal.woff2 +0 -0
  436. package/dist/orchviz-web/fira-code-latin-400-normal.woff +0 -0
  437. package/dist/orchviz-web/fira-code-latin-400-normal.woff2 +0 -0
  438. package/dist/orchviz-web/fira-code-latin-500-normal.woff +0 -0
  439. package/dist/orchviz-web/fira-code-latin-500-normal.woff2 +0 -0
  440. package/dist/orchviz-web/fira-code-latin-ext-400-normal.woff +0 -0
  441. package/dist/orchviz-web/fira-code-latin-ext-400-normal.woff2 +0 -0
  442. package/dist/orchviz-web/fira-code-latin-ext-500-normal.woff +0 -0
  443. package/dist/orchviz-web/fira-code-latin-ext-500-normal.woff2 +0 -0
  444. package/dist/orchviz-web/fira-code-symbols2-400-normal.woff +0 -0
  445. package/dist/orchviz-web/fira-code-symbols2-500-normal.woff +0 -0
  446. package/dist/orchviz-web/index.css +0 -1
  447. package/dist/orchviz-web/index.html +0 -18
  448. package/dist/orchviz-web/index.js +0 -53
  449. package/dist/orchviz-web/inter-cyrillic-400-normal.woff +0 -0
  450. package/dist/orchviz-web/inter-cyrillic-400-normal.woff2 +0 -0
  451. package/dist/orchviz-web/inter-cyrillic-500-normal.woff +0 -0
  452. package/dist/orchviz-web/inter-cyrillic-500-normal.woff2 +0 -0
  453. package/dist/orchviz-web/inter-cyrillic-600-normal.woff +0 -0
  454. package/dist/orchviz-web/inter-cyrillic-600-normal.woff2 +0 -0
  455. package/dist/orchviz-web/inter-cyrillic-ext-400-normal.woff +0 -0
  456. package/dist/orchviz-web/inter-cyrillic-ext-400-normal.woff2 +0 -0
  457. package/dist/orchviz-web/inter-cyrillic-ext-500-normal.woff +0 -0
  458. package/dist/orchviz-web/inter-cyrillic-ext-500-normal.woff2 +0 -0
  459. package/dist/orchviz-web/inter-cyrillic-ext-600-normal.woff +0 -0
  460. package/dist/orchviz-web/inter-cyrillic-ext-600-normal.woff2 +0 -0
  461. package/dist/orchviz-web/inter-greek-400-normal.woff +0 -0
  462. package/dist/orchviz-web/inter-greek-400-normal.woff2 +0 -0
  463. package/dist/orchviz-web/inter-greek-500-normal.woff +0 -0
  464. package/dist/orchviz-web/inter-greek-500-normal.woff2 +0 -0
  465. package/dist/orchviz-web/inter-greek-600-normal.woff +0 -0
  466. package/dist/orchviz-web/inter-greek-600-normal.woff2 +0 -0
  467. package/dist/orchviz-web/inter-greek-ext-400-normal.woff +0 -0
  468. package/dist/orchviz-web/inter-greek-ext-400-normal.woff2 +0 -0
  469. package/dist/orchviz-web/inter-greek-ext-500-normal.woff +0 -0
  470. package/dist/orchviz-web/inter-greek-ext-500-normal.woff2 +0 -0
  471. package/dist/orchviz-web/inter-greek-ext-600-normal.woff +0 -0
  472. package/dist/orchviz-web/inter-greek-ext-600-normal.woff2 +0 -0
  473. package/dist/orchviz-web/inter-latin-400-normal.woff +0 -0
  474. package/dist/orchviz-web/inter-latin-400-normal.woff2 +0 -0
  475. package/dist/orchviz-web/inter-latin-500-normal.woff +0 -0
  476. package/dist/orchviz-web/inter-latin-500-normal.woff2 +0 -0
  477. package/dist/orchviz-web/inter-latin-600-normal.woff +0 -0
  478. package/dist/orchviz-web/inter-latin-600-normal.woff2 +0 -0
  479. package/dist/orchviz-web/inter-latin-ext-400-normal.woff +0 -0
  480. package/dist/orchviz-web/inter-latin-ext-400-normal.woff2 +0 -0
  481. package/dist/orchviz-web/inter-latin-ext-500-normal.woff +0 -0
  482. package/dist/orchviz-web/inter-latin-ext-500-normal.woff2 +0 -0
  483. package/dist/orchviz-web/inter-latin-ext-600-normal.woff +0 -0
  484. package/dist/orchviz-web/inter-latin-ext-600-normal.woff2 +0 -0
  485. package/dist/orchviz-web/inter-vietnamese-400-normal.woff +0 -0
  486. package/dist/orchviz-web/inter-vietnamese-400-normal.woff2 +0 -0
  487. package/dist/orchviz-web/inter-vietnamese-500-normal.woff +0 -0
  488. package/dist/orchviz-web/inter-vietnamese-500-normal.woff2 +0 -0
  489. package/dist/orchviz-web/inter-vietnamese-600-normal.woff +0 -0
  490. package/dist/orchviz-web/inter-vietnamese-600-normal.woff2 +0 -0
@@ -0,0 +1,1492 @@
1
+ /**
2
+ * `visual-plan/v1` canonical artifact schema (shape + bounded sizes only).
3
+ *
4
+ * This module validates STRUCTURE. Cross-reference integrity (dangling refs,
5
+ * duplicate ids), coverage closure, HTML safety, and source-hash freshness are
6
+ * separate deterministic passes (`cross-refs.ts`, `coverage.ts`, the sanitizer,
7
+ * `hashing.ts`) so each can emit an exact JSON path and a stable code.
8
+ *
9
+ * `.passthrough()` is used on the top-level object so a future additive field
10
+ * survives a read→write round-trip; every nested object stays strict.
11
+ *
12
+ * Bounds (red-team: agent-native precedent caps depth/count/size) protect the
13
+ * validator and the Phase-4 renderer from pathological artifacts.
14
+ */
15
+ import { z } from "zod";
16
+ /** Concrete caps. Generous for real plans, hard ceilings against abuse. */
17
+ export declare const CAPS: {
18
+ readonly FRAMES: 200;
19
+ readonly CONNECTORS: 400;
20
+ readonly ANNOTATIONS: 200;
21
+ readonly LANES: 40;
22
+ readonly DOCUMENT_BLOCKS: 100;
23
+ readonly SURFACES: 50;
24
+ readonly STATES_PER_SURFACE: 100;
25
+ readonly SOURCE_REFS: 500;
26
+ readonly HTML_BYTES: 20000;
27
+ };
28
+ export declare const SURFACE_KINDS: readonly ["browser", "desktop", "mobile", "popover", "panel", "dialog"];
29
+ export declare const CHANGE_MODES: readonly ["current", "target", "unchanged-context"];
30
+ export declare const OMISSION_REASONS: readonly ["equivalent-layout", "out-of-scope", "unreachable-after-change", "non-visual-only", "requires-runtime-data", "accepted-risk"];
31
+ export declare const REVIEW_STATUSES: readonly ["draft", "feedback-pending", "approved", "stale"];
32
+ declare const CoverageStateSchema: z.ZodObject<{
33
+ id: z.ZodString;
34
+ label: z.ZodOptional<z.ZodString>;
35
+ frameIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
36
+ sourceRefIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
37
+ omitted: z.ZodOptional<z.ZodObject<{
38
+ reason: z.ZodEnum<["equivalent-layout", "out-of-scope", "unreachable-after-change", "non-visual-only", "requires-runtime-data", "accepted-risk"]>;
39
+ representedBy: z.ZodOptional<z.ZodString>;
40
+ riskId: z.ZodOptional<z.ZodString>;
41
+ note: z.ZodOptional<z.ZodString>;
42
+ }, "strict", z.ZodTypeAny, {
43
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
44
+ note?: string | undefined;
45
+ representedBy?: string | undefined;
46
+ riskId?: string | undefined;
47
+ }, {
48
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
49
+ note?: string | undefined;
50
+ representedBy?: string | undefined;
51
+ riskId?: string | undefined;
52
+ }>>;
53
+ }, "strict", z.ZodTypeAny, {
54
+ id: string;
55
+ frameIds: string[];
56
+ sourceRefIds: string[];
57
+ label?: string | undefined;
58
+ omitted?: {
59
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
60
+ note?: string | undefined;
61
+ representedBy?: string | undefined;
62
+ riskId?: string | undefined;
63
+ } | undefined;
64
+ }, {
65
+ id: string;
66
+ label?: string | undefined;
67
+ frameIds?: string[] | undefined;
68
+ sourceRefIds?: string[] | undefined;
69
+ omitted?: {
70
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
71
+ note?: string | undefined;
72
+ representedBy?: string | undefined;
73
+ riskId?: string | undefined;
74
+ } | undefined;
75
+ }>;
76
+ declare const CoverageSurfaceSchema: z.ZodObject<{
77
+ id: z.ZodString;
78
+ label: z.ZodOptional<z.ZodString>;
79
+ states: z.ZodArray<z.ZodObject<{
80
+ id: z.ZodString;
81
+ label: z.ZodOptional<z.ZodString>;
82
+ frameIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
83
+ sourceRefIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
84
+ omitted: z.ZodOptional<z.ZodObject<{
85
+ reason: z.ZodEnum<["equivalent-layout", "out-of-scope", "unreachable-after-change", "non-visual-only", "requires-runtime-data", "accepted-risk"]>;
86
+ representedBy: z.ZodOptional<z.ZodString>;
87
+ riskId: z.ZodOptional<z.ZodString>;
88
+ note: z.ZodOptional<z.ZodString>;
89
+ }, "strict", z.ZodTypeAny, {
90
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
91
+ note?: string | undefined;
92
+ representedBy?: string | undefined;
93
+ riskId?: string | undefined;
94
+ }, {
95
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
96
+ note?: string | undefined;
97
+ representedBy?: string | undefined;
98
+ riskId?: string | undefined;
99
+ }>>;
100
+ }, "strict", z.ZodTypeAny, {
101
+ id: string;
102
+ frameIds: string[];
103
+ sourceRefIds: string[];
104
+ label?: string | undefined;
105
+ omitted?: {
106
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
107
+ note?: string | undefined;
108
+ representedBy?: string | undefined;
109
+ riskId?: string | undefined;
110
+ } | undefined;
111
+ }, {
112
+ id: string;
113
+ label?: string | undefined;
114
+ frameIds?: string[] | undefined;
115
+ sourceRefIds?: string[] | undefined;
116
+ omitted?: {
117
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
118
+ note?: string | undefined;
119
+ representedBy?: string | undefined;
120
+ riskId?: string | undefined;
121
+ } | undefined;
122
+ }>, "many">;
123
+ }, "strict", z.ZodTypeAny, {
124
+ id: string;
125
+ states: {
126
+ id: string;
127
+ frameIds: string[];
128
+ sourceRefIds: string[];
129
+ label?: string | undefined;
130
+ omitted?: {
131
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
132
+ note?: string | undefined;
133
+ representedBy?: string | undefined;
134
+ riskId?: string | undefined;
135
+ } | undefined;
136
+ }[];
137
+ label?: string | undefined;
138
+ }, {
139
+ id: string;
140
+ states: {
141
+ id: string;
142
+ label?: string | undefined;
143
+ frameIds?: string[] | undefined;
144
+ sourceRefIds?: string[] | undefined;
145
+ omitted?: {
146
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
147
+ note?: string | undefined;
148
+ representedBy?: string | undefined;
149
+ riskId?: string | undefined;
150
+ } | undefined;
151
+ }[];
152
+ label?: string | undefined;
153
+ }>;
154
+ declare const FrameSchema: z.ZodObject<{
155
+ id: z.ZodString;
156
+ label: z.ZodString;
157
+ surface: z.ZodEnum<["browser", "desktop", "mobile", "popover", "panel", "dialog"]>;
158
+ laneId: z.ZodString;
159
+ order: z.ZodNumber;
160
+ x: z.ZodOptional<z.ZodNumber>;
161
+ y: z.ZodOptional<z.ZodNumber>;
162
+ stateKind: z.ZodOptional<z.ZodString>;
163
+ changeMode: z.ZodEnum<["current", "target", "unchanged-context"]>;
164
+ coverageStateIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
165
+ sourceRefIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
166
+ wireframe: z.ZodObject<{
167
+ format: z.ZodLiteral<"semantic-html">;
168
+ html: z.ZodString;
169
+ }, "strict", z.ZodTypeAny, {
170
+ format: "semantic-html";
171
+ html: string;
172
+ }, {
173
+ format: "semantic-html";
174
+ html: string;
175
+ }>;
176
+ }, "strict", z.ZodTypeAny, {
177
+ id: string;
178
+ surface: "browser" | "desktop" | "mobile" | "popover" | "panel" | "dialog";
179
+ label: string;
180
+ sourceRefIds: string[];
181
+ laneId: string;
182
+ order: number;
183
+ changeMode: "target" | "current" | "unchanged-context";
184
+ coverageStateIds: string[];
185
+ wireframe: {
186
+ format: "semantic-html";
187
+ html: string;
188
+ };
189
+ y?: number | undefined;
190
+ x?: number | undefined;
191
+ stateKind?: string | undefined;
192
+ }, {
193
+ id: string;
194
+ surface: "browser" | "desktop" | "mobile" | "popover" | "panel" | "dialog";
195
+ label: string;
196
+ laneId: string;
197
+ order: number;
198
+ changeMode: "target" | "current" | "unchanged-context";
199
+ wireframe: {
200
+ format: "semantic-html";
201
+ html: string;
202
+ };
203
+ y?: number | undefined;
204
+ sourceRefIds?: string[] | undefined;
205
+ x?: number | undefined;
206
+ stateKind?: string | undefined;
207
+ coverageStateIds?: string[] | undefined;
208
+ }>;
209
+ export declare const AnnotationSchema: z.ZodObject<{
210
+ id: z.ZodString;
211
+ kind: z.ZodEnum<["note", "markup"]>;
212
+ text: z.ZodString;
213
+ targetId: z.ZodOptional<z.ZodString>;
214
+ placement: z.ZodOptional<z.ZodEnum<["top", "right", "bottom", "left"]>>;
215
+ points: z.ZodOptional<z.ZodArray<z.ZodObject<{
216
+ x: z.ZodNumber;
217
+ y: z.ZodNumber;
218
+ }, "strict", z.ZodTypeAny, {
219
+ y: number;
220
+ x: number;
221
+ }, {
222
+ y: number;
223
+ x: number;
224
+ }>, "many">>;
225
+ }, "strict", z.ZodTypeAny, {
226
+ id: string;
227
+ kind: "note" | "markup";
228
+ text: string;
229
+ targetId?: string | undefined;
230
+ placement?: "top" | "right" | "bottom" | "left" | undefined;
231
+ points?: {
232
+ y: number;
233
+ x: number;
234
+ }[] | undefined;
235
+ }, {
236
+ id: string;
237
+ kind: "note" | "markup";
238
+ text: string;
239
+ targetId?: string | undefined;
240
+ placement?: "top" | "right" | "bottom" | "left" | undefined;
241
+ points?: {
242
+ y: number;
243
+ x: number;
244
+ }[] | undefined;
245
+ }>;
246
+ export declare const VisualPlanSchema: z.ZodObject<{
247
+ schemaVersion: z.ZodLiteral<"visual-plan/v1">;
248
+ id: z.ZodString;
249
+ revision: z.ZodNumber;
250
+ source: z.ZodObject<{
251
+ planPath: z.ZodString;
252
+ planHash: z.ZodString;
253
+ phaseHashes: z.ZodRecord<z.ZodString, z.ZodString>;
254
+ }, "strict", z.ZodTypeAny, {
255
+ planPath: string;
256
+ planHash: string;
257
+ phaseHashes: Record<string, string>;
258
+ }, {
259
+ planPath: string;
260
+ planHash: string;
261
+ phaseHashes: Record<string, string>;
262
+ }>;
263
+ uiCoverage: z.ZodObject<{
264
+ surfaces: z.ZodArray<z.ZodObject<{
265
+ id: z.ZodString;
266
+ label: z.ZodOptional<z.ZodString>;
267
+ states: z.ZodArray<z.ZodObject<{
268
+ id: z.ZodString;
269
+ label: z.ZodOptional<z.ZodString>;
270
+ frameIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
271
+ sourceRefIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
272
+ omitted: z.ZodOptional<z.ZodObject<{
273
+ reason: z.ZodEnum<["equivalent-layout", "out-of-scope", "unreachable-after-change", "non-visual-only", "requires-runtime-data", "accepted-risk"]>;
274
+ representedBy: z.ZodOptional<z.ZodString>;
275
+ riskId: z.ZodOptional<z.ZodString>;
276
+ note: z.ZodOptional<z.ZodString>;
277
+ }, "strict", z.ZodTypeAny, {
278
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
279
+ note?: string | undefined;
280
+ representedBy?: string | undefined;
281
+ riskId?: string | undefined;
282
+ }, {
283
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
284
+ note?: string | undefined;
285
+ representedBy?: string | undefined;
286
+ riskId?: string | undefined;
287
+ }>>;
288
+ }, "strict", z.ZodTypeAny, {
289
+ id: string;
290
+ frameIds: string[];
291
+ sourceRefIds: string[];
292
+ label?: string | undefined;
293
+ omitted?: {
294
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
295
+ note?: string | undefined;
296
+ representedBy?: string | undefined;
297
+ riskId?: string | undefined;
298
+ } | undefined;
299
+ }, {
300
+ id: string;
301
+ label?: string | undefined;
302
+ frameIds?: string[] | undefined;
303
+ sourceRefIds?: string[] | undefined;
304
+ omitted?: {
305
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
306
+ note?: string | undefined;
307
+ representedBy?: string | undefined;
308
+ riskId?: string | undefined;
309
+ } | undefined;
310
+ }>, "many">;
311
+ }, "strict", z.ZodTypeAny, {
312
+ id: string;
313
+ states: {
314
+ id: string;
315
+ frameIds: string[];
316
+ sourceRefIds: string[];
317
+ label?: string | undefined;
318
+ omitted?: {
319
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
320
+ note?: string | undefined;
321
+ representedBy?: string | undefined;
322
+ riskId?: string | undefined;
323
+ } | undefined;
324
+ }[];
325
+ label?: string | undefined;
326
+ }, {
327
+ id: string;
328
+ states: {
329
+ id: string;
330
+ label?: string | undefined;
331
+ frameIds?: string[] | undefined;
332
+ sourceRefIds?: string[] | undefined;
333
+ omitted?: {
334
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
335
+ note?: string | undefined;
336
+ representedBy?: string | undefined;
337
+ riskId?: string | undefined;
338
+ } | undefined;
339
+ }[];
340
+ label?: string | undefined;
341
+ }>, "many">;
342
+ /** Author totals are IGNORED — always recomputed from states. Optional here. */
343
+ summary: z.ZodOptional<z.ZodObject<{
344
+ total: z.ZodNumber;
345
+ resolved: z.ZodNumber;
346
+ planned: z.ZodNumber;
347
+ omitted: z.ZodNumber;
348
+ unresolved: z.ZodNumber;
349
+ }, "strict", z.ZodTypeAny, {
350
+ planned: number;
351
+ resolved: number;
352
+ total: number;
353
+ omitted: number;
354
+ unresolved: number;
355
+ }, {
356
+ planned: number;
357
+ resolved: number;
358
+ total: number;
359
+ omitted: number;
360
+ unresolved: number;
361
+ }>>;
362
+ }, "strict", z.ZodTypeAny, {
363
+ surfaces: {
364
+ id: string;
365
+ states: {
366
+ id: string;
367
+ frameIds: string[];
368
+ sourceRefIds: string[];
369
+ label?: string | undefined;
370
+ omitted?: {
371
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
372
+ note?: string | undefined;
373
+ representedBy?: string | undefined;
374
+ riskId?: string | undefined;
375
+ } | undefined;
376
+ }[];
377
+ label?: string | undefined;
378
+ }[];
379
+ summary?: {
380
+ planned: number;
381
+ resolved: number;
382
+ total: number;
383
+ omitted: number;
384
+ unresolved: number;
385
+ } | undefined;
386
+ }, {
387
+ surfaces: {
388
+ id: string;
389
+ states: {
390
+ id: string;
391
+ label?: string | undefined;
392
+ frameIds?: string[] | undefined;
393
+ sourceRefIds?: string[] | undefined;
394
+ omitted?: {
395
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
396
+ note?: string | undefined;
397
+ representedBy?: string | undefined;
398
+ riskId?: string | undefined;
399
+ } | undefined;
400
+ }[];
401
+ label?: string | undefined;
402
+ }[];
403
+ summary?: {
404
+ planned: number;
405
+ resolved: number;
406
+ total: number;
407
+ omitted: number;
408
+ unresolved: number;
409
+ } | undefined;
410
+ }>;
411
+ canvas: z.ZodObject<{
412
+ lanes: z.ZodArray<z.ZodObject<{
413
+ id: z.ZodString;
414
+ label: z.ZodOptional<z.ZodString>;
415
+ kind: z.ZodOptional<z.ZodString>;
416
+ }, "strict", z.ZodTypeAny, {
417
+ id: string;
418
+ kind?: string | undefined;
419
+ label?: string | undefined;
420
+ }, {
421
+ id: string;
422
+ kind?: string | undefined;
423
+ label?: string | undefined;
424
+ }>, "many">;
425
+ frames: z.ZodArray<z.ZodObject<{
426
+ id: z.ZodString;
427
+ label: z.ZodString;
428
+ surface: z.ZodEnum<["browser", "desktop", "mobile", "popover", "panel", "dialog"]>;
429
+ laneId: z.ZodString;
430
+ order: z.ZodNumber;
431
+ x: z.ZodOptional<z.ZodNumber>;
432
+ y: z.ZodOptional<z.ZodNumber>;
433
+ stateKind: z.ZodOptional<z.ZodString>;
434
+ changeMode: z.ZodEnum<["current", "target", "unchanged-context"]>;
435
+ coverageStateIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
436
+ sourceRefIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
437
+ wireframe: z.ZodObject<{
438
+ format: z.ZodLiteral<"semantic-html">;
439
+ html: z.ZodString;
440
+ }, "strict", z.ZodTypeAny, {
441
+ format: "semantic-html";
442
+ html: string;
443
+ }, {
444
+ format: "semantic-html";
445
+ html: string;
446
+ }>;
447
+ }, "strict", z.ZodTypeAny, {
448
+ id: string;
449
+ surface: "browser" | "desktop" | "mobile" | "popover" | "panel" | "dialog";
450
+ label: string;
451
+ sourceRefIds: string[];
452
+ laneId: string;
453
+ order: number;
454
+ changeMode: "target" | "current" | "unchanged-context";
455
+ coverageStateIds: string[];
456
+ wireframe: {
457
+ format: "semantic-html";
458
+ html: string;
459
+ };
460
+ y?: number | undefined;
461
+ x?: number | undefined;
462
+ stateKind?: string | undefined;
463
+ }, {
464
+ id: string;
465
+ surface: "browser" | "desktop" | "mobile" | "popover" | "panel" | "dialog";
466
+ label: string;
467
+ laneId: string;
468
+ order: number;
469
+ changeMode: "target" | "current" | "unchanged-context";
470
+ wireframe: {
471
+ format: "semantic-html";
472
+ html: string;
473
+ };
474
+ y?: number | undefined;
475
+ sourceRefIds?: string[] | undefined;
476
+ x?: number | undefined;
477
+ stateKind?: string | undefined;
478
+ coverageStateIds?: string[] | undefined;
479
+ }>, "many">;
480
+ connectors: z.ZodArray<z.ZodObject<{
481
+ id: z.ZodString;
482
+ from: z.ZodString;
483
+ to: z.ZodString;
484
+ label: z.ZodOptional<z.ZodString>;
485
+ }, "strict", z.ZodTypeAny, {
486
+ id: string;
487
+ from: string;
488
+ to: string;
489
+ label?: string | undefined;
490
+ }, {
491
+ id: string;
492
+ from: string;
493
+ to: string;
494
+ label?: string | undefined;
495
+ }>, "many">;
496
+ annotations: z.ZodArray<z.ZodObject<{
497
+ id: z.ZodString;
498
+ kind: z.ZodEnum<["note", "markup"]>;
499
+ text: z.ZodString;
500
+ targetId: z.ZodOptional<z.ZodString>;
501
+ placement: z.ZodOptional<z.ZodEnum<["top", "right", "bottom", "left"]>>;
502
+ points: z.ZodOptional<z.ZodArray<z.ZodObject<{
503
+ x: z.ZodNumber;
504
+ y: z.ZodNumber;
505
+ }, "strict", z.ZodTypeAny, {
506
+ y: number;
507
+ x: number;
508
+ }, {
509
+ y: number;
510
+ x: number;
511
+ }>, "many">>;
512
+ }, "strict", z.ZodTypeAny, {
513
+ id: string;
514
+ kind: "note" | "markup";
515
+ text: string;
516
+ targetId?: string | undefined;
517
+ placement?: "top" | "right" | "bottom" | "left" | undefined;
518
+ points?: {
519
+ y: number;
520
+ x: number;
521
+ }[] | undefined;
522
+ }, {
523
+ id: string;
524
+ kind: "note" | "markup";
525
+ text: string;
526
+ targetId?: string | undefined;
527
+ placement?: "top" | "right" | "bottom" | "left" | undefined;
528
+ points?: {
529
+ y: number;
530
+ x: number;
531
+ }[] | undefined;
532
+ }>, "many">;
533
+ }, "strict", z.ZodTypeAny, {
534
+ lanes: {
535
+ id: string;
536
+ kind?: string | undefined;
537
+ label?: string | undefined;
538
+ }[];
539
+ frames: {
540
+ id: string;
541
+ surface: "browser" | "desktop" | "mobile" | "popover" | "panel" | "dialog";
542
+ label: string;
543
+ sourceRefIds: string[];
544
+ laneId: string;
545
+ order: number;
546
+ changeMode: "target" | "current" | "unchanged-context";
547
+ coverageStateIds: string[];
548
+ wireframe: {
549
+ format: "semantic-html";
550
+ html: string;
551
+ };
552
+ y?: number | undefined;
553
+ x?: number | undefined;
554
+ stateKind?: string | undefined;
555
+ }[];
556
+ connectors: {
557
+ id: string;
558
+ from: string;
559
+ to: string;
560
+ label?: string | undefined;
561
+ }[];
562
+ annotations: {
563
+ id: string;
564
+ kind: "note" | "markup";
565
+ text: string;
566
+ targetId?: string | undefined;
567
+ placement?: "top" | "right" | "bottom" | "left" | undefined;
568
+ points?: {
569
+ y: number;
570
+ x: number;
571
+ }[] | undefined;
572
+ }[];
573
+ }, {
574
+ lanes: {
575
+ id: string;
576
+ kind?: string | undefined;
577
+ label?: string | undefined;
578
+ }[];
579
+ frames: {
580
+ id: string;
581
+ surface: "browser" | "desktop" | "mobile" | "popover" | "panel" | "dialog";
582
+ label: string;
583
+ laneId: string;
584
+ order: number;
585
+ changeMode: "target" | "current" | "unchanged-context";
586
+ wireframe: {
587
+ format: "semantic-html";
588
+ html: string;
589
+ };
590
+ y?: number | undefined;
591
+ sourceRefIds?: string[] | undefined;
592
+ x?: number | undefined;
593
+ stateKind?: string | undefined;
594
+ coverageStateIds?: string[] | undefined;
595
+ }[];
596
+ connectors: {
597
+ id: string;
598
+ from: string;
599
+ to: string;
600
+ label?: string | undefined;
601
+ }[];
602
+ annotations: {
603
+ id: string;
604
+ kind: "note" | "markup";
605
+ text: string;
606
+ targetId?: string | undefined;
607
+ placement?: "top" | "right" | "bottom" | "left" | undefined;
608
+ points?: {
609
+ y: number;
610
+ x: number;
611
+ }[] | undefined;
612
+ }[];
613
+ }>;
614
+ documentBlocks: z.ZodDefault<z.ZodArray<z.ZodObject<{
615
+ id: z.ZodString;
616
+ title: z.ZodOptional<z.ZodString>;
617
+ body: z.ZodString;
618
+ }, "strict", z.ZodTypeAny, {
619
+ id: string;
620
+ body: string;
621
+ title?: string | undefined;
622
+ }, {
623
+ id: string;
624
+ body: string;
625
+ title?: string | undefined;
626
+ }>, "many">>;
627
+ sourceRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
628
+ id: z.ZodString;
629
+ kind: z.ZodEnum<["code", "plan-requirement"]>;
630
+ ref: z.ZodString;
631
+ note: z.ZodOptional<z.ZodString>;
632
+ }, "strict", z.ZodTypeAny, {
633
+ id: string;
634
+ kind: "code" | "plan-requirement";
635
+ ref: string;
636
+ note?: string | undefined;
637
+ }, {
638
+ id: string;
639
+ kind: "code" | "plan-requirement";
640
+ ref: string;
641
+ note?: string | undefined;
642
+ }>, "many">>;
643
+ review: z.ZodObject<{
644
+ status: z.ZodEnum<["draft", "feedback-pending", "approved", "stale"]>;
645
+ approvedRevision: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
646
+ approvedAt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
647
+ pendingFeedbackBatchIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
648
+ }, "strict", z.ZodTypeAny, {
649
+ status: "stale" | "approved" | "draft" | "feedback-pending";
650
+ approvedRevision: number | null;
651
+ approvedAt: string | null;
652
+ pendingFeedbackBatchIds: string[];
653
+ }, {
654
+ status: "stale" | "approved" | "draft" | "feedback-pending";
655
+ approvedRevision?: number | null | undefined;
656
+ approvedAt?: string | null | undefined;
657
+ pendingFeedbackBatchIds?: string[] | undefined;
658
+ }>;
659
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
660
+ schemaVersion: z.ZodLiteral<"visual-plan/v1">;
661
+ id: z.ZodString;
662
+ revision: z.ZodNumber;
663
+ source: z.ZodObject<{
664
+ planPath: z.ZodString;
665
+ planHash: z.ZodString;
666
+ phaseHashes: z.ZodRecord<z.ZodString, z.ZodString>;
667
+ }, "strict", z.ZodTypeAny, {
668
+ planPath: string;
669
+ planHash: string;
670
+ phaseHashes: Record<string, string>;
671
+ }, {
672
+ planPath: string;
673
+ planHash: string;
674
+ phaseHashes: Record<string, string>;
675
+ }>;
676
+ uiCoverage: z.ZodObject<{
677
+ surfaces: z.ZodArray<z.ZodObject<{
678
+ id: z.ZodString;
679
+ label: z.ZodOptional<z.ZodString>;
680
+ states: z.ZodArray<z.ZodObject<{
681
+ id: z.ZodString;
682
+ label: z.ZodOptional<z.ZodString>;
683
+ frameIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
684
+ sourceRefIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
685
+ omitted: z.ZodOptional<z.ZodObject<{
686
+ reason: z.ZodEnum<["equivalent-layout", "out-of-scope", "unreachable-after-change", "non-visual-only", "requires-runtime-data", "accepted-risk"]>;
687
+ representedBy: z.ZodOptional<z.ZodString>;
688
+ riskId: z.ZodOptional<z.ZodString>;
689
+ note: z.ZodOptional<z.ZodString>;
690
+ }, "strict", z.ZodTypeAny, {
691
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
692
+ note?: string | undefined;
693
+ representedBy?: string | undefined;
694
+ riskId?: string | undefined;
695
+ }, {
696
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
697
+ note?: string | undefined;
698
+ representedBy?: string | undefined;
699
+ riskId?: string | undefined;
700
+ }>>;
701
+ }, "strict", z.ZodTypeAny, {
702
+ id: string;
703
+ frameIds: string[];
704
+ sourceRefIds: string[];
705
+ label?: string | undefined;
706
+ omitted?: {
707
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
708
+ note?: string | undefined;
709
+ representedBy?: string | undefined;
710
+ riskId?: string | undefined;
711
+ } | undefined;
712
+ }, {
713
+ id: string;
714
+ label?: string | undefined;
715
+ frameIds?: string[] | undefined;
716
+ sourceRefIds?: string[] | undefined;
717
+ omitted?: {
718
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
719
+ note?: string | undefined;
720
+ representedBy?: string | undefined;
721
+ riskId?: string | undefined;
722
+ } | undefined;
723
+ }>, "many">;
724
+ }, "strict", z.ZodTypeAny, {
725
+ id: string;
726
+ states: {
727
+ id: string;
728
+ frameIds: string[];
729
+ sourceRefIds: string[];
730
+ label?: string | undefined;
731
+ omitted?: {
732
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
733
+ note?: string | undefined;
734
+ representedBy?: string | undefined;
735
+ riskId?: string | undefined;
736
+ } | undefined;
737
+ }[];
738
+ label?: string | undefined;
739
+ }, {
740
+ id: string;
741
+ states: {
742
+ id: string;
743
+ label?: string | undefined;
744
+ frameIds?: string[] | undefined;
745
+ sourceRefIds?: string[] | undefined;
746
+ omitted?: {
747
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
748
+ note?: string | undefined;
749
+ representedBy?: string | undefined;
750
+ riskId?: string | undefined;
751
+ } | undefined;
752
+ }[];
753
+ label?: string | undefined;
754
+ }>, "many">;
755
+ /** Author totals are IGNORED — always recomputed from states. Optional here. */
756
+ summary: z.ZodOptional<z.ZodObject<{
757
+ total: z.ZodNumber;
758
+ resolved: z.ZodNumber;
759
+ planned: z.ZodNumber;
760
+ omitted: z.ZodNumber;
761
+ unresolved: z.ZodNumber;
762
+ }, "strict", z.ZodTypeAny, {
763
+ planned: number;
764
+ resolved: number;
765
+ total: number;
766
+ omitted: number;
767
+ unresolved: number;
768
+ }, {
769
+ planned: number;
770
+ resolved: number;
771
+ total: number;
772
+ omitted: number;
773
+ unresolved: number;
774
+ }>>;
775
+ }, "strict", z.ZodTypeAny, {
776
+ surfaces: {
777
+ id: string;
778
+ states: {
779
+ id: string;
780
+ frameIds: string[];
781
+ sourceRefIds: string[];
782
+ label?: string | undefined;
783
+ omitted?: {
784
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
785
+ note?: string | undefined;
786
+ representedBy?: string | undefined;
787
+ riskId?: string | undefined;
788
+ } | undefined;
789
+ }[];
790
+ label?: string | undefined;
791
+ }[];
792
+ summary?: {
793
+ planned: number;
794
+ resolved: number;
795
+ total: number;
796
+ omitted: number;
797
+ unresolved: number;
798
+ } | undefined;
799
+ }, {
800
+ surfaces: {
801
+ id: string;
802
+ states: {
803
+ id: string;
804
+ label?: string | undefined;
805
+ frameIds?: string[] | undefined;
806
+ sourceRefIds?: string[] | undefined;
807
+ omitted?: {
808
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
809
+ note?: string | undefined;
810
+ representedBy?: string | undefined;
811
+ riskId?: string | undefined;
812
+ } | undefined;
813
+ }[];
814
+ label?: string | undefined;
815
+ }[];
816
+ summary?: {
817
+ planned: number;
818
+ resolved: number;
819
+ total: number;
820
+ omitted: number;
821
+ unresolved: number;
822
+ } | undefined;
823
+ }>;
824
+ canvas: z.ZodObject<{
825
+ lanes: z.ZodArray<z.ZodObject<{
826
+ id: z.ZodString;
827
+ label: z.ZodOptional<z.ZodString>;
828
+ kind: z.ZodOptional<z.ZodString>;
829
+ }, "strict", z.ZodTypeAny, {
830
+ id: string;
831
+ kind?: string | undefined;
832
+ label?: string | undefined;
833
+ }, {
834
+ id: string;
835
+ kind?: string | undefined;
836
+ label?: string | undefined;
837
+ }>, "many">;
838
+ frames: z.ZodArray<z.ZodObject<{
839
+ id: z.ZodString;
840
+ label: z.ZodString;
841
+ surface: z.ZodEnum<["browser", "desktop", "mobile", "popover", "panel", "dialog"]>;
842
+ laneId: z.ZodString;
843
+ order: z.ZodNumber;
844
+ x: z.ZodOptional<z.ZodNumber>;
845
+ y: z.ZodOptional<z.ZodNumber>;
846
+ stateKind: z.ZodOptional<z.ZodString>;
847
+ changeMode: z.ZodEnum<["current", "target", "unchanged-context"]>;
848
+ coverageStateIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
849
+ sourceRefIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
850
+ wireframe: z.ZodObject<{
851
+ format: z.ZodLiteral<"semantic-html">;
852
+ html: z.ZodString;
853
+ }, "strict", z.ZodTypeAny, {
854
+ format: "semantic-html";
855
+ html: string;
856
+ }, {
857
+ format: "semantic-html";
858
+ html: string;
859
+ }>;
860
+ }, "strict", z.ZodTypeAny, {
861
+ id: string;
862
+ surface: "browser" | "desktop" | "mobile" | "popover" | "panel" | "dialog";
863
+ label: string;
864
+ sourceRefIds: string[];
865
+ laneId: string;
866
+ order: number;
867
+ changeMode: "target" | "current" | "unchanged-context";
868
+ coverageStateIds: string[];
869
+ wireframe: {
870
+ format: "semantic-html";
871
+ html: string;
872
+ };
873
+ y?: number | undefined;
874
+ x?: number | undefined;
875
+ stateKind?: string | undefined;
876
+ }, {
877
+ id: string;
878
+ surface: "browser" | "desktop" | "mobile" | "popover" | "panel" | "dialog";
879
+ label: string;
880
+ laneId: string;
881
+ order: number;
882
+ changeMode: "target" | "current" | "unchanged-context";
883
+ wireframe: {
884
+ format: "semantic-html";
885
+ html: string;
886
+ };
887
+ y?: number | undefined;
888
+ sourceRefIds?: string[] | undefined;
889
+ x?: number | undefined;
890
+ stateKind?: string | undefined;
891
+ coverageStateIds?: string[] | undefined;
892
+ }>, "many">;
893
+ connectors: z.ZodArray<z.ZodObject<{
894
+ id: z.ZodString;
895
+ from: z.ZodString;
896
+ to: z.ZodString;
897
+ label: z.ZodOptional<z.ZodString>;
898
+ }, "strict", z.ZodTypeAny, {
899
+ id: string;
900
+ from: string;
901
+ to: string;
902
+ label?: string | undefined;
903
+ }, {
904
+ id: string;
905
+ from: string;
906
+ to: string;
907
+ label?: string | undefined;
908
+ }>, "many">;
909
+ annotations: z.ZodArray<z.ZodObject<{
910
+ id: z.ZodString;
911
+ kind: z.ZodEnum<["note", "markup"]>;
912
+ text: z.ZodString;
913
+ targetId: z.ZodOptional<z.ZodString>;
914
+ placement: z.ZodOptional<z.ZodEnum<["top", "right", "bottom", "left"]>>;
915
+ points: z.ZodOptional<z.ZodArray<z.ZodObject<{
916
+ x: z.ZodNumber;
917
+ y: z.ZodNumber;
918
+ }, "strict", z.ZodTypeAny, {
919
+ y: number;
920
+ x: number;
921
+ }, {
922
+ y: number;
923
+ x: number;
924
+ }>, "many">>;
925
+ }, "strict", z.ZodTypeAny, {
926
+ id: string;
927
+ kind: "note" | "markup";
928
+ text: string;
929
+ targetId?: string | undefined;
930
+ placement?: "top" | "right" | "bottom" | "left" | undefined;
931
+ points?: {
932
+ y: number;
933
+ x: number;
934
+ }[] | undefined;
935
+ }, {
936
+ id: string;
937
+ kind: "note" | "markup";
938
+ text: string;
939
+ targetId?: string | undefined;
940
+ placement?: "top" | "right" | "bottom" | "left" | undefined;
941
+ points?: {
942
+ y: number;
943
+ x: number;
944
+ }[] | undefined;
945
+ }>, "many">;
946
+ }, "strict", z.ZodTypeAny, {
947
+ lanes: {
948
+ id: string;
949
+ kind?: string | undefined;
950
+ label?: string | undefined;
951
+ }[];
952
+ frames: {
953
+ id: string;
954
+ surface: "browser" | "desktop" | "mobile" | "popover" | "panel" | "dialog";
955
+ label: string;
956
+ sourceRefIds: string[];
957
+ laneId: string;
958
+ order: number;
959
+ changeMode: "target" | "current" | "unchanged-context";
960
+ coverageStateIds: string[];
961
+ wireframe: {
962
+ format: "semantic-html";
963
+ html: string;
964
+ };
965
+ y?: number | undefined;
966
+ x?: number | undefined;
967
+ stateKind?: string | undefined;
968
+ }[];
969
+ connectors: {
970
+ id: string;
971
+ from: string;
972
+ to: string;
973
+ label?: string | undefined;
974
+ }[];
975
+ annotations: {
976
+ id: string;
977
+ kind: "note" | "markup";
978
+ text: string;
979
+ targetId?: string | undefined;
980
+ placement?: "top" | "right" | "bottom" | "left" | undefined;
981
+ points?: {
982
+ y: number;
983
+ x: number;
984
+ }[] | undefined;
985
+ }[];
986
+ }, {
987
+ lanes: {
988
+ id: string;
989
+ kind?: string | undefined;
990
+ label?: string | undefined;
991
+ }[];
992
+ frames: {
993
+ id: string;
994
+ surface: "browser" | "desktop" | "mobile" | "popover" | "panel" | "dialog";
995
+ label: string;
996
+ laneId: string;
997
+ order: number;
998
+ changeMode: "target" | "current" | "unchanged-context";
999
+ wireframe: {
1000
+ format: "semantic-html";
1001
+ html: string;
1002
+ };
1003
+ y?: number | undefined;
1004
+ sourceRefIds?: string[] | undefined;
1005
+ x?: number | undefined;
1006
+ stateKind?: string | undefined;
1007
+ coverageStateIds?: string[] | undefined;
1008
+ }[];
1009
+ connectors: {
1010
+ id: string;
1011
+ from: string;
1012
+ to: string;
1013
+ label?: string | undefined;
1014
+ }[];
1015
+ annotations: {
1016
+ id: string;
1017
+ kind: "note" | "markup";
1018
+ text: string;
1019
+ targetId?: string | undefined;
1020
+ placement?: "top" | "right" | "bottom" | "left" | undefined;
1021
+ points?: {
1022
+ y: number;
1023
+ x: number;
1024
+ }[] | undefined;
1025
+ }[];
1026
+ }>;
1027
+ documentBlocks: z.ZodDefault<z.ZodArray<z.ZodObject<{
1028
+ id: z.ZodString;
1029
+ title: z.ZodOptional<z.ZodString>;
1030
+ body: z.ZodString;
1031
+ }, "strict", z.ZodTypeAny, {
1032
+ id: string;
1033
+ body: string;
1034
+ title?: string | undefined;
1035
+ }, {
1036
+ id: string;
1037
+ body: string;
1038
+ title?: string | undefined;
1039
+ }>, "many">>;
1040
+ sourceRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
1041
+ id: z.ZodString;
1042
+ kind: z.ZodEnum<["code", "plan-requirement"]>;
1043
+ ref: z.ZodString;
1044
+ note: z.ZodOptional<z.ZodString>;
1045
+ }, "strict", z.ZodTypeAny, {
1046
+ id: string;
1047
+ kind: "code" | "plan-requirement";
1048
+ ref: string;
1049
+ note?: string | undefined;
1050
+ }, {
1051
+ id: string;
1052
+ kind: "code" | "plan-requirement";
1053
+ ref: string;
1054
+ note?: string | undefined;
1055
+ }>, "many">>;
1056
+ review: z.ZodObject<{
1057
+ status: z.ZodEnum<["draft", "feedback-pending", "approved", "stale"]>;
1058
+ approvedRevision: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
1059
+ approvedAt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1060
+ pendingFeedbackBatchIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1061
+ }, "strict", z.ZodTypeAny, {
1062
+ status: "stale" | "approved" | "draft" | "feedback-pending";
1063
+ approvedRevision: number | null;
1064
+ approvedAt: string | null;
1065
+ pendingFeedbackBatchIds: string[];
1066
+ }, {
1067
+ status: "stale" | "approved" | "draft" | "feedback-pending";
1068
+ approvedRevision?: number | null | undefined;
1069
+ approvedAt?: string | null | undefined;
1070
+ pendingFeedbackBatchIds?: string[] | undefined;
1071
+ }>;
1072
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1073
+ schemaVersion: z.ZodLiteral<"visual-plan/v1">;
1074
+ id: z.ZodString;
1075
+ revision: z.ZodNumber;
1076
+ source: z.ZodObject<{
1077
+ planPath: z.ZodString;
1078
+ planHash: z.ZodString;
1079
+ phaseHashes: z.ZodRecord<z.ZodString, z.ZodString>;
1080
+ }, "strict", z.ZodTypeAny, {
1081
+ planPath: string;
1082
+ planHash: string;
1083
+ phaseHashes: Record<string, string>;
1084
+ }, {
1085
+ planPath: string;
1086
+ planHash: string;
1087
+ phaseHashes: Record<string, string>;
1088
+ }>;
1089
+ uiCoverage: z.ZodObject<{
1090
+ surfaces: z.ZodArray<z.ZodObject<{
1091
+ id: z.ZodString;
1092
+ label: z.ZodOptional<z.ZodString>;
1093
+ states: z.ZodArray<z.ZodObject<{
1094
+ id: z.ZodString;
1095
+ label: z.ZodOptional<z.ZodString>;
1096
+ frameIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1097
+ sourceRefIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1098
+ omitted: z.ZodOptional<z.ZodObject<{
1099
+ reason: z.ZodEnum<["equivalent-layout", "out-of-scope", "unreachable-after-change", "non-visual-only", "requires-runtime-data", "accepted-risk"]>;
1100
+ representedBy: z.ZodOptional<z.ZodString>;
1101
+ riskId: z.ZodOptional<z.ZodString>;
1102
+ note: z.ZodOptional<z.ZodString>;
1103
+ }, "strict", z.ZodTypeAny, {
1104
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
1105
+ note?: string | undefined;
1106
+ representedBy?: string | undefined;
1107
+ riskId?: string | undefined;
1108
+ }, {
1109
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
1110
+ note?: string | undefined;
1111
+ representedBy?: string | undefined;
1112
+ riskId?: string | undefined;
1113
+ }>>;
1114
+ }, "strict", z.ZodTypeAny, {
1115
+ id: string;
1116
+ frameIds: string[];
1117
+ sourceRefIds: string[];
1118
+ label?: string | undefined;
1119
+ omitted?: {
1120
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
1121
+ note?: string | undefined;
1122
+ representedBy?: string | undefined;
1123
+ riskId?: string | undefined;
1124
+ } | undefined;
1125
+ }, {
1126
+ id: string;
1127
+ label?: string | undefined;
1128
+ frameIds?: string[] | undefined;
1129
+ sourceRefIds?: string[] | undefined;
1130
+ omitted?: {
1131
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
1132
+ note?: string | undefined;
1133
+ representedBy?: string | undefined;
1134
+ riskId?: string | undefined;
1135
+ } | undefined;
1136
+ }>, "many">;
1137
+ }, "strict", z.ZodTypeAny, {
1138
+ id: string;
1139
+ states: {
1140
+ id: string;
1141
+ frameIds: string[];
1142
+ sourceRefIds: string[];
1143
+ label?: string | undefined;
1144
+ omitted?: {
1145
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
1146
+ note?: string | undefined;
1147
+ representedBy?: string | undefined;
1148
+ riskId?: string | undefined;
1149
+ } | undefined;
1150
+ }[];
1151
+ label?: string | undefined;
1152
+ }, {
1153
+ id: string;
1154
+ states: {
1155
+ id: string;
1156
+ label?: string | undefined;
1157
+ frameIds?: string[] | undefined;
1158
+ sourceRefIds?: string[] | undefined;
1159
+ omitted?: {
1160
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
1161
+ note?: string | undefined;
1162
+ representedBy?: string | undefined;
1163
+ riskId?: string | undefined;
1164
+ } | undefined;
1165
+ }[];
1166
+ label?: string | undefined;
1167
+ }>, "many">;
1168
+ /** Author totals are IGNORED — always recomputed from states. Optional here. */
1169
+ summary: z.ZodOptional<z.ZodObject<{
1170
+ total: z.ZodNumber;
1171
+ resolved: z.ZodNumber;
1172
+ planned: z.ZodNumber;
1173
+ omitted: z.ZodNumber;
1174
+ unresolved: z.ZodNumber;
1175
+ }, "strict", z.ZodTypeAny, {
1176
+ planned: number;
1177
+ resolved: number;
1178
+ total: number;
1179
+ omitted: number;
1180
+ unresolved: number;
1181
+ }, {
1182
+ planned: number;
1183
+ resolved: number;
1184
+ total: number;
1185
+ omitted: number;
1186
+ unresolved: number;
1187
+ }>>;
1188
+ }, "strict", z.ZodTypeAny, {
1189
+ surfaces: {
1190
+ id: string;
1191
+ states: {
1192
+ id: string;
1193
+ frameIds: string[];
1194
+ sourceRefIds: string[];
1195
+ label?: string | undefined;
1196
+ omitted?: {
1197
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
1198
+ note?: string | undefined;
1199
+ representedBy?: string | undefined;
1200
+ riskId?: string | undefined;
1201
+ } | undefined;
1202
+ }[];
1203
+ label?: string | undefined;
1204
+ }[];
1205
+ summary?: {
1206
+ planned: number;
1207
+ resolved: number;
1208
+ total: number;
1209
+ omitted: number;
1210
+ unresolved: number;
1211
+ } | undefined;
1212
+ }, {
1213
+ surfaces: {
1214
+ id: string;
1215
+ states: {
1216
+ id: string;
1217
+ label?: string | undefined;
1218
+ frameIds?: string[] | undefined;
1219
+ sourceRefIds?: string[] | undefined;
1220
+ omitted?: {
1221
+ reason: "out-of-scope" | "equivalent-layout" | "unreachable-after-change" | "non-visual-only" | "requires-runtime-data" | "accepted-risk";
1222
+ note?: string | undefined;
1223
+ representedBy?: string | undefined;
1224
+ riskId?: string | undefined;
1225
+ } | undefined;
1226
+ }[];
1227
+ label?: string | undefined;
1228
+ }[];
1229
+ summary?: {
1230
+ planned: number;
1231
+ resolved: number;
1232
+ total: number;
1233
+ omitted: number;
1234
+ unresolved: number;
1235
+ } | undefined;
1236
+ }>;
1237
+ canvas: z.ZodObject<{
1238
+ lanes: z.ZodArray<z.ZodObject<{
1239
+ id: z.ZodString;
1240
+ label: z.ZodOptional<z.ZodString>;
1241
+ kind: z.ZodOptional<z.ZodString>;
1242
+ }, "strict", z.ZodTypeAny, {
1243
+ id: string;
1244
+ kind?: string | undefined;
1245
+ label?: string | undefined;
1246
+ }, {
1247
+ id: string;
1248
+ kind?: string | undefined;
1249
+ label?: string | undefined;
1250
+ }>, "many">;
1251
+ frames: z.ZodArray<z.ZodObject<{
1252
+ id: z.ZodString;
1253
+ label: z.ZodString;
1254
+ surface: z.ZodEnum<["browser", "desktop", "mobile", "popover", "panel", "dialog"]>;
1255
+ laneId: z.ZodString;
1256
+ order: z.ZodNumber;
1257
+ x: z.ZodOptional<z.ZodNumber>;
1258
+ y: z.ZodOptional<z.ZodNumber>;
1259
+ stateKind: z.ZodOptional<z.ZodString>;
1260
+ changeMode: z.ZodEnum<["current", "target", "unchanged-context"]>;
1261
+ coverageStateIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1262
+ sourceRefIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1263
+ wireframe: z.ZodObject<{
1264
+ format: z.ZodLiteral<"semantic-html">;
1265
+ html: z.ZodString;
1266
+ }, "strict", z.ZodTypeAny, {
1267
+ format: "semantic-html";
1268
+ html: string;
1269
+ }, {
1270
+ format: "semantic-html";
1271
+ html: string;
1272
+ }>;
1273
+ }, "strict", z.ZodTypeAny, {
1274
+ id: string;
1275
+ surface: "browser" | "desktop" | "mobile" | "popover" | "panel" | "dialog";
1276
+ label: string;
1277
+ sourceRefIds: string[];
1278
+ laneId: string;
1279
+ order: number;
1280
+ changeMode: "target" | "current" | "unchanged-context";
1281
+ coverageStateIds: string[];
1282
+ wireframe: {
1283
+ format: "semantic-html";
1284
+ html: string;
1285
+ };
1286
+ y?: number | undefined;
1287
+ x?: number | undefined;
1288
+ stateKind?: string | undefined;
1289
+ }, {
1290
+ id: string;
1291
+ surface: "browser" | "desktop" | "mobile" | "popover" | "panel" | "dialog";
1292
+ label: string;
1293
+ laneId: string;
1294
+ order: number;
1295
+ changeMode: "target" | "current" | "unchanged-context";
1296
+ wireframe: {
1297
+ format: "semantic-html";
1298
+ html: string;
1299
+ };
1300
+ y?: number | undefined;
1301
+ sourceRefIds?: string[] | undefined;
1302
+ x?: number | undefined;
1303
+ stateKind?: string | undefined;
1304
+ coverageStateIds?: string[] | undefined;
1305
+ }>, "many">;
1306
+ connectors: z.ZodArray<z.ZodObject<{
1307
+ id: z.ZodString;
1308
+ from: z.ZodString;
1309
+ to: z.ZodString;
1310
+ label: z.ZodOptional<z.ZodString>;
1311
+ }, "strict", z.ZodTypeAny, {
1312
+ id: string;
1313
+ from: string;
1314
+ to: string;
1315
+ label?: string | undefined;
1316
+ }, {
1317
+ id: string;
1318
+ from: string;
1319
+ to: string;
1320
+ label?: string | undefined;
1321
+ }>, "many">;
1322
+ annotations: z.ZodArray<z.ZodObject<{
1323
+ id: z.ZodString;
1324
+ kind: z.ZodEnum<["note", "markup"]>;
1325
+ text: z.ZodString;
1326
+ targetId: z.ZodOptional<z.ZodString>;
1327
+ placement: z.ZodOptional<z.ZodEnum<["top", "right", "bottom", "left"]>>;
1328
+ points: z.ZodOptional<z.ZodArray<z.ZodObject<{
1329
+ x: z.ZodNumber;
1330
+ y: z.ZodNumber;
1331
+ }, "strict", z.ZodTypeAny, {
1332
+ y: number;
1333
+ x: number;
1334
+ }, {
1335
+ y: number;
1336
+ x: number;
1337
+ }>, "many">>;
1338
+ }, "strict", z.ZodTypeAny, {
1339
+ id: string;
1340
+ kind: "note" | "markup";
1341
+ text: string;
1342
+ targetId?: string | undefined;
1343
+ placement?: "top" | "right" | "bottom" | "left" | undefined;
1344
+ points?: {
1345
+ y: number;
1346
+ x: number;
1347
+ }[] | undefined;
1348
+ }, {
1349
+ id: string;
1350
+ kind: "note" | "markup";
1351
+ text: string;
1352
+ targetId?: string | undefined;
1353
+ placement?: "top" | "right" | "bottom" | "left" | undefined;
1354
+ points?: {
1355
+ y: number;
1356
+ x: number;
1357
+ }[] | undefined;
1358
+ }>, "many">;
1359
+ }, "strict", z.ZodTypeAny, {
1360
+ lanes: {
1361
+ id: string;
1362
+ kind?: string | undefined;
1363
+ label?: string | undefined;
1364
+ }[];
1365
+ frames: {
1366
+ id: string;
1367
+ surface: "browser" | "desktop" | "mobile" | "popover" | "panel" | "dialog";
1368
+ label: string;
1369
+ sourceRefIds: string[];
1370
+ laneId: string;
1371
+ order: number;
1372
+ changeMode: "target" | "current" | "unchanged-context";
1373
+ coverageStateIds: string[];
1374
+ wireframe: {
1375
+ format: "semantic-html";
1376
+ html: string;
1377
+ };
1378
+ y?: number | undefined;
1379
+ x?: number | undefined;
1380
+ stateKind?: string | undefined;
1381
+ }[];
1382
+ connectors: {
1383
+ id: string;
1384
+ from: string;
1385
+ to: string;
1386
+ label?: string | undefined;
1387
+ }[];
1388
+ annotations: {
1389
+ id: string;
1390
+ kind: "note" | "markup";
1391
+ text: string;
1392
+ targetId?: string | undefined;
1393
+ placement?: "top" | "right" | "bottom" | "left" | undefined;
1394
+ points?: {
1395
+ y: number;
1396
+ x: number;
1397
+ }[] | undefined;
1398
+ }[];
1399
+ }, {
1400
+ lanes: {
1401
+ id: string;
1402
+ kind?: string | undefined;
1403
+ label?: string | undefined;
1404
+ }[];
1405
+ frames: {
1406
+ id: string;
1407
+ surface: "browser" | "desktop" | "mobile" | "popover" | "panel" | "dialog";
1408
+ label: string;
1409
+ laneId: string;
1410
+ order: number;
1411
+ changeMode: "target" | "current" | "unchanged-context";
1412
+ wireframe: {
1413
+ format: "semantic-html";
1414
+ html: string;
1415
+ };
1416
+ y?: number | undefined;
1417
+ sourceRefIds?: string[] | undefined;
1418
+ x?: number | undefined;
1419
+ stateKind?: string | undefined;
1420
+ coverageStateIds?: string[] | undefined;
1421
+ }[];
1422
+ connectors: {
1423
+ id: string;
1424
+ from: string;
1425
+ to: string;
1426
+ label?: string | undefined;
1427
+ }[];
1428
+ annotations: {
1429
+ id: string;
1430
+ kind: "note" | "markup";
1431
+ text: string;
1432
+ targetId?: string | undefined;
1433
+ placement?: "top" | "right" | "bottom" | "left" | undefined;
1434
+ points?: {
1435
+ y: number;
1436
+ x: number;
1437
+ }[] | undefined;
1438
+ }[];
1439
+ }>;
1440
+ documentBlocks: z.ZodDefault<z.ZodArray<z.ZodObject<{
1441
+ id: z.ZodString;
1442
+ title: z.ZodOptional<z.ZodString>;
1443
+ body: z.ZodString;
1444
+ }, "strict", z.ZodTypeAny, {
1445
+ id: string;
1446
+ body: string;
1447
+ title?: string | undefined;
1448
+ }, {
1449
+ id: string;
1450
+ body: string;
1451
+ title?: string | undefined;
1452
+ }>, "many">>;
1453
+ sourceRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
1454
+ id: z.ZodString;
1455
+ kind: z.ZodEnum<["code", "plan-requirement"]>;
1456
+ ref: z.ZodString;
1457
+ note: z.ZodOptional<z.ZodString>;
1458
+ }, "strict", z.ZodTypeAny, {
1459
+ id: string;
1460
+ kind: "code" | "plan-requirement";
1461
+ ref: string;
1462
+ note?: string | undefined;
1463
+ }, {
1464
+ id: string;
1465
+ kind: "code" | "plan-requirement";
1466
+ ref: string;
1467
+ note?: string | undefined;
1468
+ }>, "many">>;
1469
+ review: z.ZodObject<{
1470
+ status: z.ZodEnum<["draft", "feedback-pending", "approved", "stale"]>;
1471
+ approvedRevision: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
1472
+ approvedAt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1473
+ pendingFeedbackBatchIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1474
+ }, "strict", z.ZodTypeAny, {
1475
+ status: "stale" | "approved" | "draft" | "feedback-pending";
1476
+ approvedRevision: number | null;
1477
+ approvedAt: string | null;
1478
+ pendingFeedbackBatchIds: string[];
1479
+ }, {
1480
+ status: "stale" | "approved" | "draft" | "feedback-pending";
1481
+ approvedRevision?: number | null | undefined;
1482
+ approvedAt?: string | null | undefined;
1483
+ pendingFeedbackBatchIds?: string[] | undefined;
1484
+ }>;
1485
+ }, z.ZodTypeAny, "passthrough">>;
1486
+ export type VisualPlan = z.infer<typeof VisualPlanSchema>;
1487
+ export type Frame = z.infer<typeof FrameSchema>;
1488
+ export type CoverageState = z.infer<typeof CoverageStateSchema>;
1489
+ export type CoverageSurface = z.infer<typeof CoverageSurfaceSchema>;
1490
+ export type Annotation = z.infer<typeof AnnotationSchema>;
1491
+ export {};
1492
+ //# sourceMappingURL=schemas.d.ts.map