prismatica 0.2.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 (1815) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +403 -0
  3. package/dist/agent-runner.js +656 -0
  4. package/dist/agent-runner.js.map +1 -0
  5. package/dist/assurance/mainpush.js +533 -0
  6. package/dist/assurance/mainpush.js.map +1 -0
  7. package/dist/assurance/outcome.js +165 -0
  8. package/dist/assurance/outcome.js.map +1 -0
  9. package/dist/assurance/passport.js +98 -0
  10. package/dist/assurance/passport.js.map +1 -0
  11. package/dist/assurance/proofinputs.js +425 -0
  12. package/dist/assurance/proofinputs.js.map +1 -0
  13. package/dist/atlas/diff.js +102 -0
  14. package/dist/atlas/diff.js.map +1 -0
  15. package/dist/atlas/evidence.js +31 -0
  16. package/dist/atlas/evidence.js.map +1 -0
  17. package/dist/atlas/hygiene.js +288 -0
  18. package/dist/atlas/hygiene.js.map +1 -0
  19. package/dist/atlas/impact.js +312 -0
  20. package/dist/atlas/impact.js.map +1 -0
  21. package/dist/atlas/labels.js +121 -0
  22. package/dist/atlas/labels.js.map +1 -0
  23. package/dist/atlas/next.js +327 -0
  24. package/dist/atlas/next.js.map +1 -0
  25. package/dist/atlas/packs.js +169 -0
  26. package/dist/atlas/packs.js.map +1 -0
  27. package/dist/atlas/presentation.js +349 -0
  28. package/dist/atlas/presentation.js.map +1 -0
  29. package/dist/atlas/render.js +269 -0
  30. package/dist/atlas/render.js.map +1 -0
  31. package/dist/atlas/store.js +389 -0
  32. package/dist/atlas/store.js.map +1 -0
  33. package/dist/board/html.js +1382 -0
  34. package/dist/board/html.js.map +1 -0
  35. package/dist/board/model.js +369 -0
  36. package/dist/board/model.js.map +1 -0
  37. package/dist/board/server.js +325 -0
  38. package/dist/board/server.js.map +1 -0
  39. package/dist/board/understand.js +128 -0
  40. package/dist/board/understand.js.map +1 -0
  41. package/dist/change.js +104 -0
  42. package/dist/change.js.map +1 -0
  43. package/dist/checkengine.js +220 -0
  44. package/dist/checkengine.js.map +1 -0
  45. package/dist/claudehook.js +189 -0
  46. package/dist/claudehook.js.map +1 -0
  47. package/dist/cli.js +1120 -0
  48. package/dist/cli.js.map +1 -0
  49. package/dist/clipboard.js +33 -0
  50. package/dist/clipboard.js.map +1 -0
  51. package/dist/commands/abandon.js +329 -0
  52. package/dist/commands/abandon.js.map +1 -0
  53. package/dist/commands/accept.js +85 -0
  54. package/dist/commands/accept.js.map +1 -0
  55. package/dist/commands/amend.js +158 -0
  56. package/dist/commands/amend.js.map +1 -0
  57. package/dist/commands/check.js +128 -0
  58. package/dist/commands/check.js.map +1 -0
  59. package/dist/commands/close.js +274 -0
  60. package/dist/commands/close.js.map +1 -0
  61. package/dist/commands/context.js +46 -0
  62. package/dist/commands/context.js.map +1 -0
  63. package/dist/commands/delta.js +192 -0
  64. package/dist/commands/delta.js.map +1 -0
  65. package/dist/commands/discover.js +173 -0
  66. package/dist/commands/discover.js.map +1 -0
  67. package/dist/commands/doctor.js +384 -0
  68. package/dist/commands/doctor.js.map +1 -0
  69. package/dist/commands/flow.js +929 -0
  70. package/dist/commands/flow.js.map +1 -0
  71. package/dist/commands/forget.js +33 -0
  72. package/dist/commands/forget.js.map +1 -0
  73. package/dist/commands/frame.js +231 -0
  74. package/dist/commands/frame.js.map +1 -0
  75. package/dist/commands/gate.js +48 -0
  76. package/dist/commands/gate.js.map +1 -0
  77. package/dist/commands/guide.js +17 -0
  78. package/dist/commands/guide.js.map +1 -0
  79. package/dist/commands/init.js +257 -0
  80. package/dist/commands/init.js.map +1 -0
  81. package/dist/commands/merge.js +188 -0
  82. package/dist/commands/merge.js.map +1 -0
  83. package/dist/commands/next.js +352 -0
  84. package/dist/commands/next.js.map +1 -0
  85. package/dist/commands/open.js +255 -0
  86. package/dist/commands/open.js.map +1 -0
  87. package/dist/commands/pack.js +165 -0
  88. package/dist/commands/pack.js.map +1 -0
  89. package/dist/commands/propose.js +102 -0
  90. package/dist/commands/propose.js.map +1 -0
  91. package/dist/commands/ready.js +931 -0
  92. package/dist/commands/ready.js.map +1 -0
  93. package/dist/commands/review.js +434 -0
  94. package/dist/commands/review.js.map +1 -0
  95. package/dist/commands/rules.js +399 -0
  96. package/dist/commands/rules.js.map +1 -0
  97. package/dist/commands/seal.js +52 -0
  98. package/dist/commands/seal.js.map +1 -0
  99. package/dist/commands/ship.js +333 -0
  100. package/dist/commands/ship.js.map +1 -0
  101. package/dist/commands/start.js +1164 -0
  102. package/dist/commands/start.js.map +1 -0
  103. package/dist/commands/stats.js +100 -0
  104. package/dist/commands/stats.js.map +1 -0
  105. package/dist/commands/view.js +23 -0
  106. package/dist/commands/view.js.map +1 -0
  107. package/dist/config.js +46 -0
  108. package/dist/config.js.map +1 -0
  109. package/dist/detect.js +495 -0
  110. package/dist/detect.js.map +1 -0
  111. package/dist/errors.js +13 -0
  112. package/dist/errors.js.map +1 -0
  113. package/dist/evidence.js +20 -0
  114. package/dist/evidence.js.map +1 -0
  115. package/dist/executor.js +256 -0
  116. package/dist/executor.js.map +1 -0
  117. package/dist/gate.js +109 -0
  118. package/dist/gate.js.map +1 -0
  119. package/dist/gh.js +236 -0
  120. package/dist/gh.js.map +1 -0
  121. package/dist/git.js +589 -0
  122. package/dist/git.js.map +1 -0
  123. package/dist/guide.js +2038 -0
  124. package/dist/guide.js.map +1 -0
  125. package/dist/ids.js +60 -0
  126. package/dist/ids.js.map +1 -0
  127. package/dist/keys.js +58 -0
  128. package/dist/keys.js.map +1 -0
  129. package/dist/ledger.js +197 -0
  130. package/dist/ledger.js.map +1 -0
  131. package/dist/paths.js +109 -0
  132. package/dist/paths.js.map +1 -0
  133. package/dist/planning/context.js +94 -0
  134. package/dist/planning/context.js.map +1 -0
  135. package/dist/planning/materialise.js +210 -0
  136. package/dist/planning/materialise.js.map +1 -0
  137. package/dist/planning/pack.js +290 -0
  138. package/dist/planning/pack.js.map +1 -0
  139. package/dist/planning/schema.js +296 -0
  140. package/dist/planning/schema.js.map +1 -0
  141. package/dist/planning/snapshot.js +308 -0
  142. package/dist/planning/snapshot.js.map +1 -0
  143. package/dist/planning/validate.js +417 -0
  144. package/dist/planning/validate.js.map +1 -0
  145. package/dist/prepush.js +192 -0
  146. package/dist/prepush.js.map +1 -0
  147. package/dist/records/store.js +268 -0
  148. package/dist/records/store.js.map +1 -0
  149. package/dist/records/types.js +836 -0
  150. package/dist/records/types.js.map +1 -0
  151. package/dist/registry.js +68 -0
  152. package/dist/registry.js.map +1 -0
  153. package/dist/render.js +275 -0
  154. package/dist/render.js.map +1 -0
  155. package/dist/runtime.js +47 -0
  156. package/dist/runtime.js.map +1 -0
  157. package/dist/scope.js +62 -0
  158. package/dist/scope.js.map +1 -0
  159. package/dist/secrets.js +24 -0
  160. package/dist/secrets.js.map +1 -0
  161. package/dist/selfhost.js +199 -0
  162. package/dist/selfhost.js.map +1 -0
  163. package/dist/shellquote.js +5 -0
  164. package/dist/shellquote.js.map +1 -0
  165. package/dist/skills.js +398 -0
  166. package/dist/skills.js.map +1 -0
  167. package/dist/state.js +62 -0
  168. package/dist/state.js.map +1 -0
  169. package/dist/templates.js +264 -0
  170. package/dist/templates.js.map +1 -0
  171. package/dist/tier.js +48 -0
  172. package/dist/tier.js.map +1 -0
  173. package/dist/ui.js +94 -0
  174. package/dist/ui.js.map +1 -0
  175. package/dist/vitestreport.js +59 -0
  176. package/dist/vitestreport.js.map +1 -0
  177. package/dist/worktree.js +31 -0
  178. package/dist/worktree.js.map +1 -0
  179. package/node_modules/@inquirer/ansi/LICENSE +22 -0
  180. package/node_modules/@inquirer/ansi/README.md +89 -0
  181. package/node_modules/@inquirer/ansi/dist/index.d.ts +14 -0
  182. package/node_modules/@inquirer/ansi/dist/index.js +21 -0
  183. package/node_modules/@inquirer/ansi/package.json +78 -0
  184. package/node_modules/@inquirer/checkbox/LICENSE +22 -0
  185. package/node_modules/@inquirer/checkbox/README.md +195 -0
  186. package/node_modules/@inquirer/checkbox/dist/index.d.ts +56 -0
  187. package/node_modules/@inquirer/checkbox/dist/index.js +210 -0
  188. package/node_modules/@inquirer/checkbox/package.json +92 -0
  189. package/node_modules/@inquirer/confirm/LICENSE +22 -0
  190. package/node_modules/@inquirer/confirm/README.md +92 -0
  191. package/node_modules/@inquirer/confirm/dist/index.d.ts +10 -0
  192. package/node_modules/@inquirer/confirm/dist/index.js +48 -0
  193. package/node_modules/@inquirer/confirm/package.json +90 -0
  194. package/node_modules/@inquirer/core/LICENSE +22 -0
  195. package/node_modules/@inquirer/core/README.md +386 -0
  196. package/node_modules/@inquirer/core/dist/index.d.ts +13 -0
  197. package/node_modules/@inquirer/core/dist/index.js +12 -0
  198. package/node_modules/@inquirer/core/dist/lib/Separator.d.ts +10 -0
  199. package/node_modules/@inquirer/core/dist/lib/Separator.js +21 -0
  200. package/node_modules/@inquirer/core/dist/lib/create-prompt.d.ts +4 -0
  201. package/node_modules/@inquirer/core/dist/lib/create-prompt.js +165 -0
  202. package/node_modules/@inquirer/core/dist/lib/errors.d.ts +20 -0
  203. package/node_modules/@inquirer/core/dist/lib/errors.js +21 -0
  204. package/node_modules/@inquirer/core/dist/lib/hook-engine.d.ts +23 -0
  205. package/node_modules/@inquirer/core/dist/lib/hook-engine.js +111 -0
  206. package/node_modules/@inquirer/core/dist/lib/key.d.ts +15 -0
  207. package/node_modules/@inquirer/core/dist/lib/key.js +34 -0
  208. package/node_modules/@inquirer/core/dist/lib/make-theme.d.ts +3 -0
  209. package/node_modules/@inquirer/core/dist/lib/make-theme.js +32 -0
  210. package/node_modules/@inquirer/core/dist/lib/pagination/use-pagination.d.ts +16 -0
  211. package/node_modules/@inquirer/core/dist/lib/pagination/use-pagination.js +121 -0
  212. package/node_modules/@inquirer/core/dist/lib/promise-polyfill.d.ts +7 -0
  213. package/node_modules/@inquirer/core/dist/lib/promise-polyfill.js +14 -0
  214. package/node_modules/@inquirer/core/dist/lib/screen-manager.d.ts +14 -0
  215. package/node_modules/@inquirer/core/dist/lib/screen-manager.js +84 -0
  216. package/node_modules/@inquirer/core/dist/lib/theme.d.ts +166 -0
  217. package/node_modules/@inquirer/core/dist/lib/theme.js +29 -0
  218. package/node_modules/@inquirer/core/dist/lib/use-effect.d.ts +2 -0
  219. package/node_modules/@inquirer/core/dist/lib/use-effect.js +11 -0
  220. package/node_modules/@inquirer/core/dist/lib/use-keypress.d.ts +3 -0
  221. package/node_modules/@inquirer/core/dist/lib/use-keypress.js +20 -0
  222. package/node_modules/@inquirer/core/dist/lib/use-memo.d.ts +1 -0
  223. package/node_modules/@inquirer/core/dist/lib/use-memo.js +14 -0
  224. package/node_modules/@inquirer/core/dist/lib/use-prefix.d.ts +5 -0
  225. package/node_modules/@inquirer/core/dist/lib/use-prefix.js +35 -0
  226. package/node_modules/@inquirer/core/dist/lib/use-ref.d.ts +6 -0
  227. package/node_modules/@inquirer/core/dist/lib/use-ref.js +4 -0
  228. package/node_modules/@inquirer/core/dist/lib/use-state.d.ts +4 -0
  229. package/node_modules/@inquirer/core/dist/lib/use-state.js +23 -0
  230. package/node_modules/@inquirer/core/dist/lib/utils.d.ts +13 -0
  231. package/node_modules/@inquirer/core/dist/lib/utils.js +25 -0
  232. package/node_modules/@inquirer/core/package.json +97 -0
  233. package/node_modules/@inquirer/editor/LICENSE +22 -0
  234. package/node_modules/@inquirer/editor/README.md +101 -0
  235. package/node_modules/@inquirer/editor/dist/index.d.ts +21 -0
  236. package/node_modules/@inquirer/editor/dist/index.js +73 -0
  237. package/node_modules/@inquirer/editor/package.json +91 -0
  238. package/node_modules/@inquirer/expand/LICENSE +22 -0
  239. package/node_modules/@inquirer/expand/README.md +141 -0
  240. package/node_modules/@inquirer/expand/dist/index.d.ts +24 -0
  241. package/node_modules/@inquirer/expand/dist/index.js +110 -0
  242. package/node_modules/@inquirer/expand/package.json +90 -0
  243. package/node_modules/@inquirer/external-editor/LICENSE +22 -0
  244. package/node_modules/@inquirer/external-editor/README.md +154 -0
  245. package/node_modules/@inquirer/external-editor/dist/errors/CreateFileError.d.ts +10 -0
  246. package/node_modules/@inquirer/external-editor/dist/errors/CreateFileError.js +13 -0
  247. package/node_modules/@inquirer/external-editor/dist/errors/LaunchEditorError.d.ts +10 -0
  248. package/node_modules/@inquirer/external-editor/dist/errors/LaunchEditorError.js +13 -0
  249. package/node_modules/@inquirer/external-editor/dist/errors/ReadFileError.d.ts +10 -0
  250. package/node_modules/@inquirer/external-editor/dist/errors/ReadFileError.js +13 -0
  251. package/node_modules/@inquirer/external-editor/dist/errors/RemoveFileError.d.ts +10 -0
  252. package/node_modules/@inquirer/external-editor/dist/errors/RemoveFileError.js +13 -0
  253. package/node_modules/@inquirer/external-editor/dist/errors.d.ts +20 -0
  254. package/node_modules/@inquirer/external-editor/dist/errors.js +32 -0
  255. package/node_modules/@inquirer/external-editor/dist/index.d.ts +35 -0
  256. package/node_modules/@inquirer/external-editor/dist/index.js +146 -0
  257. package/node_modules/@inquirer/external-editor/dist/parse-editor-command.d.ts +5 -0
  258. package/node_modules/@inquirer/external-editor/dist/parse-editor-command.js +28 -0
  259. package/node_modules/@inquirer/external-editor/package.json +97 -0
  260. package/node_modules/@inquirer/figures/LICENSE +22 -0
  261. package/node_modules/@inquirer/figures/dist/index.d.ts +275 -0
  262. package/node_modules/@inquirer/figures/dist/index.js +315 -0
  263. package/node_modules/@inquirer/figures/package.json +80 -0
  264. package/node_modules/@inquirer/input/LICENSE +22 -0
  265. package/node_modules/@inquirer/input/README.md +101 -0
  266. package/node_modules/@inquirer/input/dist/index.d.ts +20 -0
  267. package/node_modules/@inquirer/input/dist/index.js +99 -0
  268. package/node_modules/@inquirer/input/package.json +90 -0
  269. package/node_modules/@inquirer/number/LICENSE +22 -0
  270. package/node_modules/@inquirer/number/README.md +95 -0
  271. package/node_modules/@inquirer/number/dist/index.d.ts +13 -0
  272. package/node_modules/@inquirer/number/dist/index.js +95 -0
  273. package/node_modules/@inquirer/number/package.json +90 -0
  274. package/node_modules/@inquirer/password/LICENSE +22 -0
  275. package/node_modules/@inquirer/password/README.md +93 -0
  276. package/node_modules/@inquirer/password/dist/index.d.ts +15 -0
  277. package/node_modules/@inquirer/password/dist/index.js +60 -0
  278. package/node_modules/@inquirer/password/package.json +91 -0
  279. package/node_modules/@inquirer/prompts/LICENSE +22 -0
  280. package/node_modules/@inquirer/prompts/README.md +543 -0
  281. package/node_modules/@inquirer/prompts/dist/index.d.ts +10 -0
  282. package/node_modules/@inquirer/prompts/dist/index.js +10 -0
  283. package/node_modules/@inquirer/prompts/package.json +101 -0
  284. package/node_modules/@inquirer/rawlist/LICENSE +22 -0
  285. package/node_modules/@inquirer/rawlist/README.md +135 -0
  286. package/node_modules/@inquirer/rawlist/dist/index.d.ts +23 -0
  287. package/node_modules/@inquirer/rawlist/dist/index.js +145 -0
  288. package/node_modules/@inquirer/rawlist/package.json +90 -0
  289. package/node_modules/@inquirer/search/LICENSE +22 -0
  290. package/node_modules/@inquirer/search/README.md +213 -0
  291. package/node_modules/@inquirer/search/dist/index.d.ts +33 -0
  292. package/node_modules/@inquirer/search/dist/index.js +195 -0
  293. package/node_modules/@inquirer/search/package.json +91 -0
  294. package/node_modules/@inquirer/select/LICENSE +22 -0
  295. package/node_modules/@inquirer/select/README.md +188 -0
  296. package/node_modules/@inquirer/select/dist/index.d.ts +34 -0
  297. package/node_modules/@inquirer/select/dist/index.js +191 -0
  298. package/node_modules/@inquirer/select/package.json +92 -0
  299. package/node_modules/@inquirer/type/LICENSE +22 -0
  300. package/node_modules/@inquirer/type/dist/index.d.ts +2 -0
  301. package/node_modules/@inquirer/type/dist/index.js +2 -0
  302. package/node_modules/@inquirer/type/dist/inquirer.d.ts +35 -0
  303. package/node_modules/@inquirer/type/dist/inquirer.js +1 -0
  304. package/node_modules/@inquirer/type/dist/utils.d.ts +29 -0
  305. package/node_modules/@inquirer/type/dist/utils.js +2 -0
  306. package/node_modules/@inquirer/type/package.json +87 -0
  307. package/node_modules/@sec-ant/readable-stream/LICENSE +21 -0
  308. package/node_modules/@sec-ant/readable-stream/README.md +230 -0
  309. package/node_modules/@sec-ant/readable-stream/dist/core/asyncIterablePrototype.d.ts +1 -0
  310. package/node_modules/@sec-ant/readable-stream/dist/core/asyncIterator.d.ts +27 -0
  311. package/node_modules/@sec-ant/readable-stream/dist/core/fromAnyIterable.d.ts +6 -0
  312. package/node_modules/@sec-ant/readable-stream/dist/index/asyncIterator.d.ts +2 -0
  313. package/node_modules/@sec-ant/readable-stream/dist/index/asyncIterator.js +5 -0
  314. package/node_modules/@sec-ant/readable-stream/dist/index/fromAnyIterable.d.ts +2 -0
  315. package/node_modules/@sec-ant/readable-stream/dist/index/fromAnyIterable.js +5 -0
  316. package/node_modules/@sec-ant/readable-stream/dist/index/index.d.ts +2 -0
  317. package/node_modules/@sec-ant/readable-stream/dist/index/index.js +8 -0
  318. package/node_modules/@sec-ant/readable-stream/dist/polyfill/asyncIterator.d.ts +1 -0
  319. package/node_modules/@sec-ant/readable-stream/dist/polyfill/asyncIterator.js +3 -0
  320. package/node_modules/@sec-ant/readable-stream/dist/polyfill/fromAnyIterable.d.ts +1 -0
  321. package/node_modules/@sec-ant/readable-stream/dist/polyfill/fromAnyIterable.js +2 -0
  322. package/node_modules/@sec-ant/readable-stream/dist/polyfill/index.d.ts +2 -0
  323. package/node_modules/@sec-ant/readable-stream/dist/polyfill/index.js +4 -0
  324. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/asyncIterator.d.ts +1 -0
  325. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/asyncIterator.js +89 -0
  326. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/fromAnyIterable.d.ts +1 -0
  327. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/fromAnyIterable.js +34 -0
  328. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/index.d.ts +2 -0
  329. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/index.js +6 -0
  330. package/node_modules/@sec-ant/readable-stream/dist/types/async-iterator.d.ts +11 -0
  331. package/node_modules/@sec-ant/readable-stream/package.json +96 -0
  332. package/node_modules/@sindresorhus/merge-streams/index.d.ts +44 -0
  333. package/node_modules/@sindresorhus/merge-streams/index.js +265 -0
  334. package/node_modules/@sindresorhus/merge-streams/license +9 -0
  335. package/node_modules/@sindresorhus/merge-streams/package.json +49 -0
  336. package/node_modules/@sindresorhus/merge-streams/readme.md +53 -0
  337. package/node_modules/argparse/LICENSE +21 -0
  338. package/node_modules/argparse/README.md +257 -0
  339. package/node_modules/argparse/index.js +3 -0
  340. package/node_modules/argparse/lib/action/append/constant.js +47 -0
  341. package/node_modules/argparse/lib/action/append.js +53 -0
  342. package/node_modules/argparse/lib/action/count.js +40 -0
  343. package/node_modules/argparse/lib/action/help.js +47 -0
  344. package/node_modules/argparse/lib/action/store/constant.js +43 -0
  345. package/node_modules/argparse/lib/action/store/false.js +27 -0
  346. package/node_modules/argparse/lib/action/store/true.js +26 -0
  347. package/node_modules/argparse/lib/action/store.js +50 -0
  348. package/node_modules/argparse/lib/action/subparsers.js +149 -0
  349. package/node_modules/argparse/lib/action/version.js +47 -0
  350. package/node_modules/argparse/lib/action.js +146 -0
  351. package/node_modules/argparse/lib/action_container.js +482 -0
  352. package/node_modules/argparse/lib/argparse.js +14 -0
  353. package/node_modules/argparse/lib/argument/error.js +50 -0
  354. package/node_modules/argparse/lib/argument/exclusive.js +54 -0
  355. package/node_modules/argparse/lib/argument/group.js +75 -0
  356. package/node_modules/argparse/lib/argument_parser.js +1161 -0
  357. package/node_modules/argparse/lib/const.js +21 -0
  358. package/node_modules/argparse/lib/help/added_formatters.js +87 -0
  359. package/node_modules/argparse/lib/help/formatter.js +795 -0
  360. package/node_modules/argparse/lib/namespace.js +76 -0
  361. package/node_modules/argparse/lib/utils.js +57 -0
  362. package/node_modules/argparse/package.json +34 -0
  363. package/node_modules/chardet/LICENSE +19 -0
  364. package/node_modules/chardet/README.md +135 -0
  365. package/node_modules/chardet/lib/encoding/ascii.d.ts +6 -0
  366. package/node_modules/chardet/lib/encoding/ascii.js +23 -0
  367. package/node_modules/chardet/lib/encoding/ascii.js.map +1 -0
  368. package/node_modules/chardet/lib/encoding/index.d.ts +14 -0
  369. package/node_modules/chardet/lib/encoding/index.js +3 -0
  370. package/node_modules/chardet/lib/encoding/index.js.map +1 -0
  371. package/node_modules/chardet/lib/encoding/iso2022.d.ts +23 -0
  372. package/node_modules/chardet/lib/encoding/iso2022.js +114 -0
  373. package/node_modules/chardet/lib/encoding/iso2022.js.map +1 -0
  374. package/node_modules/chardet/lib/encoding/mbcs.d.ts +50 -0
  375. package/node_modules/chardet/lib/encoding/mbcs.js +347 -0
  376. package/node_modules/chardet/lib/encoding/mbcs.js.map +1 -0
  377. package/node_modules/chardet/lib/encoding/sbcs.d.ts +94 -0
  378. package/node_modules/chardet/lib/encoding/sbcs.js +935 -0
  379. package/node_modules/chardet/lib/encoding/sbcs.js.map +1 -0
  380. package/node_modules/chardet/lib/encoding/unicode.d.ts +27 -0
  381. package/node_modules/chardet/lib/encoding/unicode.js +109 -0
  382. package/node_modules/chardet/lib/encoding/unicode.js.map +1 -0
  383. package/node_modules/chardet/lib/encoding/utf8.d.ts +6 -0
  384. package/node_modules/chardet/lib/encoding/utf8.js +72 -0
  385. package/node_modules/chardet/lib/encoding/utf8.js.map +1 -0
  386. package/node_modules/chardet/lib/fs/browser.d.ts +2 -0
  387. package/node_modules/chardet/lib/fs/browser.js +6 -0
  388. package/node_modules/chardet/lib/fs/browser.js.map +1 -0
  389. package/node_modules/chardet/lib/fs/node.d.ts +2 -0
  390. package/node_modules/chardet/lib/fs/node.js +11 -0
  391. package/node_modules/chardet/lib/fs/node.js.map +1 -0
  392. package/node_modules/chardet/lib/index.d.ts +20 -0
  393. package/node_modules/chardet/lib/index.js +177 -0
  394. package/node_modules/chardet/lib/index.js.map +1 -0
  395. package/node_modules/chardet/lib/match.d.ts +9 -0
  396. package/node_modules/chardet/lib/match.js +8 -0
  397. package/node_modules/chardet/lib/match.js.map +1 -0
  398. package/node_modules/chardet/lib/utils.d.ts +1 -0
  399. package/node_modules/chardet/lib/utils.js +10 -0
  400. package/node_modules/chardet/lib/utils.js.map +1 -0
  401. package/node_modules/chardet/package.json +100 -0
  402. package/node_modules/cli-width/LICENSE +13 -0
  403. package/node_modules/cli-width/README.md +71 -0
  404. package/node_modules/cli-width/index.d.ts +13 -0
  405. package/node_modules/cli-width/index.js +49 -0
  406. package/node_modules/cli-width/package.json +40 -0
  407. package/node_modules/commander/LICENSE +22 -0
  408. package/node_modules/commander/Readme.md +1172 -0
  409. package/node_modules/commander/index.js +21 -0
  410. package/node_modules/commander/lib/argument.js +147 -0
  411. package/node_modules/commander/lib/command.js +2790 -0
  412. package/node_modules/commander/lib/error.js +36 -0
  413. package/node_modules/commander/lib/help.js +731 -0
  414. package/node_modules/commander/lib/option.js +377 -0
  415. package/node_modules/commander/lib/suggestSimilar.js +99 -0
  416. package/node_modules/commander/package-support.json +19 -0
  417. package/node_modules/commander/package.json +64 -0
  418. package/node_modules/commander/typings/index.d.ts +1113 -0
  419. package/node_modules/cross-spawn/LICENSE +21 -0
  420. package/node_modules/cross-spawn/README.md +89 -0
  421. package/node_modules/cross-spawn/index.js +39 -0
  422. package/node_modules/cross-spawn/lib/enoent.js +59 -0
  423. package/node_modules/cross-spawn/lib/parse.js +91 -0
  424. package/node_modules/cross-spawn/lib/util/escape.js +47 -0
  425. package/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
  426. package/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
  427. package/node_modules/cross-spawn/package.json +73 -0
  428. package/node_modules/esprima/LICENSE.BSD +21 -0
  429. package/node_modules/esprima/README.md +46 -0
  430. package/node_modules/esprima/bin/esparse.js +139 -0
  431. package/node_modules/esprima/bin/esvalidate.js +236 -0
  432. package/node_modules/esprima/dist/esprima.js +6709 -0
  433. package/node_modules/esprima/package.json +112 -0
  434. package/node_modules/execa/index.d.ts +27 -0
  435. package/node_modules/execa/index.js +28 -0
  436. package/node_modules/execa/lib/arguments/command.js +20 -0
  437. package/node_modules/execa/lib/arguments/cwd.js +39 -0
  438. package/node_modules/execa/lib/arguments/encoding-option.js +50 -0
  439. package/node_modules/execa/lib/arguments/escape.js +88 -0
  440. package/node_modules/execa/lib/arguments/fd-options.js +108 -0
  441. package/node_modules/execa/lib/arguments/file-url.js +25 -0
  442. package/node_modules/execa/lib/arguments/options.js +96 -0
  443. package/node_modules/execa/lib/arguments/shell.js +11 -0
  444. package/node_modules/execa/lib/arguments/specific.js +111 -0
  445. package/node_modules/execa/lib/convert/add.js +15 -0
  446. package/node_modules/execa/lib/convert/concurrent.js +33 -0
  447. package/node_modules/execa/lib/convert/duplex.js +69 -0
  448. package/node_modules/execa/lib/convert/iterable.js +34 -0
  449. package/node_modules/execa/lib/convert/readable.js +113 -0
  450. package/node_modules/execa/lib/convert/shared.js +46 -0
  451. package/node_modules/execa/lib/convert/writable.js +90 -0
  452. package/node_modules/execa/lib/io/contents.js +116 -0
  453. package/node_modules/execa/lib/io/input-sync.js +44 -0
  454. package/node_modules/execa/lib/io/iterate.js +110 -0
  455. package/node_modules/execa/lib/io/max-buffer.js +89 -0
  456. package/node_modules/execa/lib/io/output-async.js +80 -0
  457. package/node_modules/execa/lib/io/output-sync.js +135 -0
  458. package/node_modules/execa/lib/io/pipeline.js +48 -0
  459. package/node_modules/execa/lib/io/strip-newline.js +12 -0
  460. package/node_modules/execa/lib/ipc/array.js +4 -0
  461. package/node_modules/execa/lib/ipc/buffer-messages.js +47 -0
  462. package/node_modules/execa/lib/ipc/forward.js +56 -0
  463. package/node_modules/execa/lib/ipc/get-each.js +89 -0
  464. package/node_modules/execa/lib/ipc/get-one.js +69 -0
  465. package/node_modules/execa/lib/ipc/graceful.js +72 -0
  466. package/node_modules/execa/lib/ipc/incoming.js +79 -0
  467. package/node_modules/execa/lib/ipc/ipc-input.js +44 -0
  468. package/node_modules/execa/lib/ipc/methods.js +49 -0
  469. package/node_modules/execa/lib/ipc/outgoing.js +47 -0
  470. package/node_modules/execa/lib/ipc/reference.js +44 -0
  471. package/node_modules/execa/lib/ipc/send.js +91 -0
  472. package/node_modules/execa/lib/ipc/strict.js +113 -0
  473. package/node_modules/execa/lib/ipc/validation.js +111 -0
  474. package/node_modules/execa/lib/methods/bind.js +23 -0
  475. package/node_modules/execa/lib/methods/command.js +43 -0
  476. package/node_modules/execa/lib/methods/create.js +65 -0
  477. package/node_modules/execa/lib/methods/main-async.js +194 -0
  478. package/node_modules/execa/lib/methods/main-sync.js +163 -0
  479. package/node_modules/execa/lib/methods/node.js +51 -0
  480. package/node_modules/execa/lib/methods/parameters.js +31 -0
  481. package/node_modules/execa/lib/methods/promise.js +15 -0
  482. package/node_modules/execa/lib/methods/script.js +22 -0
  483. package/node_modules/execa/lib/methods/template.js +153 -0
  484. package/node_modules/execa/lib/pipe/abort.js +20 -0
  485. package/node_modules/execa/lib/pipe/pipe-arguments.js +91 -0
  486. package/node_modules/execa/lib/pipe/sequence.js +24 -0
  487. package/node_modules/execa/lib/pipe/setup.js +72 -0
  488. package/node_modules/execa/lib/pipe/streaming.js +51 -0
  489. package/node_modules/execa/lib/pipe/throw.js +58 -0
  490. package/node_modules/execa/lib/resolve/all-async.js +46 -0
  491. package/node_modules/execa/lib/resolve/all-sync.js +33 -0
  492. package/node_modules/execa/lib/resolve/exit-async.js +54 -0
  493. package/node_modules/execa/lib/resolve/exit-sync.js +25 -0
  494. package/node_modules/execa/lib/resolve/stdio.js +47 -0
  495. package/node_modules/execa/lib/resolve/wait-stream.js +96 -0
  496. package/node_modules/execa/lib/resolve/wait-subprocess.js +146 -0
  497. package/node_modules/execa/lib/return/duration.js +8 -0
  498. package/node_modules/execa/lib/return/early-error.js +60 -0
  499. package/node_modules/execa/lib/return/final-error.js +40 -0
  500. package/node_modules/execa/lib/return/message.js +157 -0
  501. package/node_modules/execa/lib/return/reject.js +13 -0
  502. package/node_modules/execa/lib/return/result.js +186 -0
  503. package/node_modules/execa/lib/stdio/direction.js +76 -0
  504. package/node_modules/execa/lib/stdio/duplicate.js +116 -0
  505. package/node_modules/execa/lib/stdio/handle-async.js +52 -0
  506. package/node_modules/execa/lib/stdio/handle-sync.js +57 -0
  507. package/node_modules/execa/lib/stdio/handle.js +214 -0
  508. package/node_modules/execa/lib/stdio/input-option.js +50 -0
  509. package/node_modules/execa/lib/stdio/native.js +106 -0
  510. package/node_modules/execa/lib/stdio/stdio-option.js +60 -0
  511. package/node_modules/execa/lib/stdio/type.js +173 -0
  512. package/node_modules/execa/lib/terminate/cancel.js +20 -0
  513. package/node_modules/execa/lib/terminate/cleanup.js +16 -0
  514. package/node_modules/execa/lib/terminate/graceful.js +71 -0
  515. package/node_modules/execa/lib/terminate/kill.js +93 -0
  516. package/node_modules/execa/lib/terminate/signal.js +70 -0
  517. package/node_modules/execa/lib/terminate/timeout.js +21 -0
  518. package/node_modules/execa/lib/transform/encoding-transform.js +51 -0
  519. package/node_modules/execa/lib/transform/generator.js +107 -0
  520. package/node_modules/execa/lib/transform/normalize.js +111 -0
  521. package/node_modules/execa/lib/transform/object-mode.js +41 -0
  522. package/node_modules/execa/lib/transform/run-async.js +60 -0
  523. package/node_modules/execa/lib/transform/run-sync.js +50 -0
  524. package/node_modules/execa/lib/transform/split.js +110 -0
  525. package/node_modules/execa/lib/transform/validate.js +43 -0
  526. package/node_modules/execa/lib/utils/abort-signal.js +8 -0
  527. package/node_modules/execa/lib/utils/deferred.js +7 -0
  528. package/node_modules/execa/lib/utils/max-listeners.js +14 -0
  529. package/node_modules/execa/lib/utils/standard-stream.js +6 -0
  530. package/node_modules/execa/lib/utils/uint-array.js +69 -0
  531. package/node_modules/execa/lib/verbose/complete.js +24 -0
  532. package/node_modules/execa/lib/verbose/custom.js +26 -0
  533. package/node_modules/execa/lib/verbose/default.js +54 -0
  534. package/node_modules/execa/lib/verbose/error.js +13 -0
  535. package/node_modules/execa/lib/verbose/info.js +39 -0
  536. package/node_modules/execa/lib/verbose/ipc.js +15 -0
  537. package/node_modules/execa/lib/verbose/log.js +54 -0
  538. package/node_modules/execa/lib/verbose/output.js +60 -0
  539. package/node_modules/execa/lib/verbose/start.js +15 -0
  540. package/node_modules/execa/lib/verbose/values.js +33 -0
  541. package/node_modules/execa/license +9 -0
  542. package/node_modules/execa/package.json +105 -0
  543. package/node_modules/execa/readme.md +461 -0
  544. package/node_modules/execa/types/arguments/encoding-option.d.ts +19 -0
  545. package/node_modules/execa/types/arguments/fd-options.d.ts +8 -0
  546. package/node_modules/execa/types/arguments/options.d.ts +400 -0
  547. package/node_modules/execa/types/arguments/specific.d.ts +52 -0
  548. package/node_modules/execa/types/convert.d.ts +58 -0
  549. package/node_modules/execa/types/ipc.d.ts +156 -0
  550. package/node_modules/execa/types/methods/command.d.ts +114 -0
  551. package/node_modules/execa/types/methods/main-async.d.ts +379 -0
  552. package/node_modules/execa/types/methods/main-sync.d.ts +59 -0
  553. package/node_modules/execa/types/methods/node.d.ts +62 -0
  554. package/node_modules/execa/types/methods/script.d.ts +115 -0
  555. package/node_modules/execa/types/methods/template.d.ts +18 -0
  556. package/node_modules/execa/types/pipe.d.ts +58 -0
  557. package/node_modules/execa/types/return/final-error.d.ts +51 -0
  558. package/node_modules/execa/types/return/ignore.d.ts +26 -0
  559. package/node_modules/execa/types/return/result-all.d.ts +30 -0
  560. package/node_modules/execa/types/return/result-ipc.d.ts +27 -0
  561. package/node_modules/execa/types/return/result-stdio.d.ts +17 -0
  562. package/node_modules/execa/types/return/result-stdout.d.ts +50 -0
  563. package/node_modules/execa/types/return/result.d.ts +203 -0
  564. package/node_modules/execa/types/stdio/array.d.ts +16 -0
  565. package/node_modules/execa/types/stdio/direction.d.ts +12 -0
  566. package/node_modules/execa/types/stdio/option.d.ts +40 -0
  567. package/node_modules/execa/types/stdio/type.d.ts +170 -0
  568. package/node_modules/execa/types/subprocess/all.d.ts +17 -0
  569. package/node_modules/execa/types/subprocess/stdio.d.ts +18 -0
  570. package/node_modules/execa/types/subprocess/stdout.d.ts +22 -0
  571. package/node_modules/execa/types/subprocess/subprocess.d.ts +117 -0
  572. package/node_modules/execa/types/transform/normalize.d.ts +57 -0
  573. package/node_modules/execa/types/transform/object-mode.d.ts +21 -0
  574. package/node_modules/execa/types/utils.d.ts +13 -0
  575. package/node_modules/execa/types/verbose.d.ts +98 -0
  576. package/node_modules/extend-shallow/LICENSE +21 -0
  577. package/node_modules/extend-shallow/README.md +61 -0
  578. package/node_modules/extend-shallow/index.js +33 -0
  579. package/node_modules/extend-shallow/package.json +56 -0
  580. package/node_modules/fast-string-truncated-width/dist/index.d.ts +4 -0
  581. package/node_modules/fast-string-truncated-width/dist/index.js +111 -0
  582. package/node_modules/fast-string-truncated-width/dist/types.d.ts +19 -0
  583. package/node_modules/fast-string-truncated-width/dist/types.js +2 -0
  584. package/node_modules/fast-string-truncated-width/dist/utils.d.ts +4 -0
  585. package/node_modules/fast-string-truncated-width/dist/utils.js +20 -0
  586. package/node_modules/fast-string-truncated-width/license +21 -0
  587. package/node_modules/fast-string-truncated-width/package.json +35 -0
  588. package/node_modules/fast-string-truncated-width/readme.md +59 -0
  589. package/node_modules/fast-string-width/dist/index.d.ts +4 -0
  590. package/node_modules/fast-string-width/dist/index.js +14 -0
  591. package/node_modules/fast-string-width/license +21 -0
  592. package/node_modules/fast-string-width/package.json +34 -0
  593. package/node_modules/fast-string-width/readme.md +42 -0
  594. package/node_modules/fast-wrap-ansi/LICENSE +23 -0
  595. package/node_modules/fast-wrap-ansi/README.md +26 -0
  596. package/node_modules/fast-wrap-ansi/lib/main.d.ts +6 -0
  597. package/node_modules/fast-wrap-ansi/lib/main.js +218 -0
  598. package/node_modules/fast-wrap-ansi/package.json +51 -0
  599. package/node_modules/figures/index.d.ts +279 -0
  600. package/node_modules/figures/index.js +292 -0
  601. package/node_modules/figures/license +9 -0
  602. package/node_modules/figures/package.json +49 -0
  603. package/node_modules/figures/readme.md +337 -0
  604. package/node_modules/get-stream/license +9 -0
  605. package/node_modules/get-stream/package.json +60 -0
  606. package/node_modules/get-stream/readme.md +303 -0
  607. package/node_modules/get-stream/source/array-buffer.js +84 -0
  608. package/node_modules/get-stream/source/array.js +32 -0
  609. package/node_modules/get-stream/source/buffer.js +19 -0
  610. package/node_modules/get-stream/source/contents.js +121 -0
  611. package/node_modules/get-stream/source/exports.js +5 -0
  612. package/node_modules/get-stream/source/index.d.ts +121 -0
  613. package/node_modules/get-stream/source/index.js +13 -0
  614. package/node_modules/get-stream/source/stream.js +65 -0
  615. package/node_modules/get-stream/source/string.js +41 -0
  616. package/node_modules/get-stream/source/utils.js +11 -0
  617. package/node_modules/gray-matter/LICENSE +21 -0
  618. package/node_modules/gray-matter/README.md +565 -0
  619. package/node_modules/gray-matter/gray-matter.d.ts +114 -0
  620. package/node_modules/gray-matter/index.js +228 -0
  621. package/node_modules/gray-matter/lib/defaults.js +18 -0
  622. package/node_modules/gray-matter/lib/engine.js +30 -0
  623. package/node_modules/gray-matter/lib/engines.js +54 -0
  624. package/node_modules/gray-matter/lib/excerpt.js +32 -0
  625. package/node_modules/gray-matter/lib/parse.js +13 -0
  626. package/node_modules/gray-matter/lib/stringify.js +56 -0
  627. package/node_modules/gray-matter/lib/to-file.js +43 -0
  628. package/node_modules/gray-matter/lib/utils.js +66 -0
  629. package/node_modules/gray-matter/package.json +127 -0
  630. package/node_modules/human-signals/LICENSE +201 -0
  631. package/node_modules/human-signals/README.md +171 -0
  632. package/node_modules/human-signals/build/src/core.js +273 -0
  633. package/node_modules/human-signals/build/src/main.d.ts +206 -0
  634. package/node_modules/human-signals/build/src/main.js +70 -0
  635. package/node_modules/human-signals/build/src/realtime.js +16 -0
  636. package/node_modules/human-signals/build/src/signals.js +34 -0
  637. package/node_modules/human-signals/package.json +66 -0
  638. package/node_modules/iconv-lite/LICENSE +21 -0
  639. package/node_modules/iconv-lite/README.md +138 -0
  640. package/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  641. package/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  642. package/node_modules/iconv-lite/encodings/index.js +23 -0
  643. package/node_modules/iconv-lite/encodings/internal.js +218 -0
  644. package/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  645. package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  646. package/node_modules/iconv-lite/encodings/sbcs-data.js +180 -0
  647. package/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  648. package/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  649. package/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  650. package/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  651. package/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  652. package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  653. package/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  654. package/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  655. package/node_modules/iconv-lite/encodings/utf16.js +187 -0
  656. package/node_modules/iconv-lite/encodings/utf32.js +314 -0
  657. package/node_modules/iconv-lite/encodings/utf7.js +283 -0
  658. package/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  659. package/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  660. package/node_modules/iconv-lite/lib/index.d.ts +129 -0
  661. package/node_modules/iconv-lite/lib/index.js +182 -0
  662. package/node_modules/iconv-lite/lib/streams.js +105 -0
  663. package/node_modules/iconv-lite/package.json +70 -0
  664. package/node_modules/iconv-lite/types/encodings.d.ts +425 -0
  665. package/node_modules/is-extendable/LICENSE +21 -0
  666. package/node_modules/is-extendable/README.md +72 -0
  667. package/node_modules/is-extendable/index.js +13 -0
  668. package/node_modules/is-extendable/package.json +51 -0
  669. package/node_modules/is-plain-obj/index.d.ts +35 -0
  670. package/node_modules/is-plain-obj/index.js +8 -0
  671. package/node_modules/is-plain-obj/license +9 -0
  672. package/node_modules/is-plain-obj/package.json +41 -0
  673. package/node_modules/is-plain-obj/readme.md +58 -0
  674. package/node_modules/is-stream/index.d.ts +90 -0
  675. package/node_modules/is-stream/index.js +37 -0
  676. package/node_modules/is-stream/license +9 -0
  677. package/node_modules/is-stream/package.json +48 -0
  678. package/node_modules/is-stream/readme.md +57 -0
  679. package/node_modules/is-unicode-supported/index.d.ts +12 -0
  680. package/node_modules/is-unicode-supported/index.js +21 -0
  681. package/node_modules/is-unicode-supported/license +9 -0
  682. package/node_modules/is-unicode-supported/package.json +47 -0
  683. package/node_modules/is-unicode-supported/readme.md +35 -0
  684. package/node_modules/isexe/.npmignore +2 -0
  685. package/node_modules/isexe/LICENSE +15 -0
  686. package/node_modules/isexe/README.md +51 -0
  687. package/node_modules/isexe/index.js +57 -0
  688. package/node_modules/isexe/mode.js +41 -0
  689. package/node_modules/isexe/package.json +31 -0
  690. package/node_modules/isexe/test/basic.js +221 -0
  691. package/node_modules/isexe/windows.js +42 -0
  692. package/node_modules/js-yaml/LICENSE +21 -0
  693. package/node_modules/js-yaml/README.md +302 -0
  694. package/node_modules/js-yaml/bin/js-yaml.js +132 -0
  695. package/node_modules/js-yaml/dist/js-yaml.js +4011 -0
  696. package/node_modules/js-yaml/dist/js-yaml.min.js +1 -0
  697. package/node_modules/js-yaml/index.js +7 -0
  698. package/node_modules/js-yaml/lib/js-yaml/common.js +59 -0
  699. package/node_modules/js-yaml/lib/js-yaml/dumper.js +850 -0
  700. package/node_modules/js-yaml/lib/js-yaml/exception.js +43 -0
  701. package/node_modules/js-yaml/lib/js-yaml/loader.js +1666 -0
  702. package/node_modules/js-yaml/lib/js-yaml/mark.js +76 -0
  703. package/node_modules/js-yaml/lib/js-yaml/schema/core.js +18 -0
  704. package/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +25 -0
  705. package/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +28 -0
  706. package/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +17 -0
  707. package/node_modules/js-yaml/lib/js-yaml/schema/json.js +25 -0
  708. package/node_modules/js-yaml/lib/js-yaml/schema.js +108 -0
  709. package/node_modules/js-yaml/lib/js-yaml/type/binary.js +138 -0
  710. package/node_modules/js-yaml/lib/js-yaml/type/bool.js +35 -0
  711. package/node_modules/js-yaml/lib/js-yaml/type/float.js +116 -0
  712. package/node_modules/js-yaml/lib/js-yaml/type/int.js +173 -0
  713. package/node_modules/js-yaml/lib/js-yaml/type/js/function.js +93 -0
  714. package/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +60 -0
  715. package/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +28 -0
  716. package/node_modules/js-yaml/lib/js-yaml/type/map.js +8 -0
  717. package/node_modules/js-yaml/lib/js-yaml/type/merge.js +12 -0
  718. package/node_modules/js-yaml/lib/js-yaml/type/null.js +34 -0
  719. package/node_modules/js-yaml/lib/js-yaml/type/omap.js +44 -0
  720. package/node_modules/js-yaml/lib/js-yaml/type/pairs.js +53 -0
  721. package/node_modules/js-yaml/lib/js-yaml/type/seq.js +8 -0
  722. package/node_modules/js-yaml/lib/js-yaml/type/set.js +29 -0
  723. package/node_modules/js-yaml/lib/js-yaml/type/str.js +8 -0
  724. package/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +88 -0
  725. package/node_modules/js-yaml/lib/js-yaml/type.js +61 -0
  726. package/node_modules/js-yaml/lib/js-yaml.js +39 -0
  727. package/node_modules/js-yaml/package.json +52 -0
  728. package/node_modules/kind-of/LICENSE +21 -0
  729. package/node_modules/kind-of/README.md +367 -0
  730. package/node_modules/kind-of/index.js +129 -0
  731. package/node_modules/kind-of/package.json +88 -0
  732. package/node_modules/mute-stream/LICENSE +15 -0
  733. package/node_modules/mute-stream/README.md +68 -0
  734. package/node_modules/mute-stream/lib/index.js +142 -0
  735. package/node_modules/mute-stream/package.json +54 -0
  736. package/node_modules/npm-run-path/index.d.ts +90 -0
  737. package/node_modules/npm-run-path/index.js +55 -0
  738. package/node_modules/npm-run-path/license +9 -0
  739. package/node_modules/npm-run-path/node_modules/path-key/index.d.ts +31 -0
  740. package/node_modules/npm-run-path/node_modules/path-key/index.js +12 -0
  741. package/node_modules/npm-run-path/node_modules/path-key/license +9 -0
  742. package/node_modules/npm-run-path/node_modules/path-key/package.json +41 -0
  743. package/node_modules/npm-run-path/node_modules/path-key/readme.md +57 -0
  744. package/node_modules/npm-run-path/package.json +52 -0
  745. package/node_modules/npm-run-path/readme.md +104 -0
  746. package/node_modules/parse-ms/index.d.ts +30 -0
  747. package/node_modules/parse-ms/index.js +45 -0
  748. package/node_modules/parse-ms/license +9 -0
  749. package/node_modules/parse-ms/package.json +47 -0
  750. package/node_modules/parse-ms/readme.md +46 -0
  751. package/node_modules/path-key/index.d.ts +40 -0
  752. package/node_modules/path-key/index.js +16 -0
  753. package/node_modules/path-key/license +9 -0
  754. package/node_modules/path-key/package.json +39 -0
  755. package/node_modules/path-key/readme.md +61 -0
  756. package/node_modules/picomatch/LICENSE +21 -0
  757. package/node_modules/picomatch/README.md +743 -0
  758. package/node_modules/picomatch/index.js +17 -0
  759. package/node_modules/picomatch/lib/constants.js +184 -0
  760. package/node_modules/picomatch/lib/parse.js +1416 -0
  761. package/node_modules/picomatch/lib/picomatch.js +361 -0
  762. package/node_modules/picomatch/lib/scan.js +391 -0
  763. package/node_modules/picomatch/lib/utils.js +72 -0
  764. package/node_modules/picomatch/package.json +83 -0
  765. package/node_modules/picomatch/posix.js +3 -0
  766. package/node_modules/pretty-ms/index.d.ts +157 -0
  767. package/node_modules/pretty-ms/index.js +149 -0
  768. package/node_modules/pretty-ms/license +9 -0
  769. package/node_modules/pretty-ms/package.json +55 -0
  770. package/node_modules/pretty-ms/readme.md +179 -0
  771. package/node_modules/safer-buffer/LICENSE +21 -0
  772. package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  773. package/node_modules/safer-buffer/Readme.md +156 -0
  774. package/node_modules/safer-buffer/dangerous.js +58 -0
  775. package/node_modules/safer-buffer/package.json +34 -0
  776. package/node_modules/safer-buffer/safer.js +77 -0
  777. package/node_modules/safer-buffer/tests.js +406 -0
  778. package/node_modules/section-matter/LICENSE +21 -0
  779. package/node_modules/section-matter/README.md +236 -0
  780. package/node_modules/section-matter/index.js +136 -0
  781. package/node_modules/section-matter/package.json +55 -0
  782. package/node_modules/shebang-command/index.js +19 -0
  783. package/node_modules/shebang-command/license +9 -0
  784. package/node_modules/shebang-command/package.json +34 -0
  785. package/node_modules/shebang-command/readme.md +34 -0
  786. package/node_modules/shebang-regex/index.d.ts +22 -0
  787. package/node_modules/shebang-regex/index.js +2 -0
  788. package/node_modules/shebang-regex/license +9 -0
  789. package/node_modules/shebang-regex/package.json +35 -0
  790. package/node_modules/shebang-regex/readme.md +33 -0
  791. package/node_modules/signal-exit/LICENSE.txt +16 -0
  792. package/node_modules/signal-exit/README.md +74 -0
  793. package/node_modules/signal-exit/dist/cjs/browser.d.ts +12 -0
  794. package/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
  795. package/node_modules/signal-exit/dist/cjs/browser.js +10 -0
  796. package/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
  797. package/node_modules/signal-exit/dist/cjs/index.d.ts +48 -0
  798. package/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
  799. package/node_modules/signal-exit/dist/cjs/index.js +279 -0
  800. package/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
  801. package/node_modules/signal-exit/dist/cjs/package.json +3 -0
  802. package/node_modules/signal-exit/dist/cjs/signals.d.ts +29 -0
  803. package/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
  804. package/node_modules/signal-exit/dist/cjs/signals.js +42 -0
  805. package/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
  806. package/node_modules/signal-exit/dist/mjs/browser.d.ts +12 -0
  807. package/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
  808. package/node_modules/signal-exit/dist/mjs/browser.js +4 -0
  809. package/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
  810. package/node_modules/signal-exit/dist/mjs/index.d.ts +48 -0
  811. package/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
  812. package/node_modules/signal-exit/dist/mjs/index.js +275 -0
  813. package/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
  814. package/node_modules/signal-exit/dist/mjs/package.json +3 -0
  815. package/node_modules/signal-exit/dist/mjs/signals.d.ts +29 -0
  816. package/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
  817. package/node_modules/signal-exit/dist/mjs/signals.js +39 -0
  818. package/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
  819. package/node_modules/signal-exit/package.json +106 -0
  820. package/node_modules/sprintf-js/.npmignore +1 -0
  821. package/node_modules/sprintf-js/LICENSE +24 -0
  822. package/node_modules/sprintf-js/README.md +88 -0
  823. package/node_modules/sprintf-js/bower.json +14 -0
  824. package/node_modules/sprintf-js/demo/angular.html +20 -0
  825. package/node_modules/sprintf-js/dist/angular-sprintf.min.js +4 -0
  826. package/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +1 -0
  827. package/node_modules/sprintf-js/dist/angular-sprintf.min.map +1 -0
  828. package/node_modules/sprintf-js/dist/sprintf.min.js +4 -0
  829. package/node_modules/sprintf-js/dist/sprintf.min.js.map +1 -0
  830. package/node_modules/sprintf-js/dist/sprintf.min.map +1 -0
  831. package/node_modules/sprintf-js/gruntfile.js +36 -0
  832. package/node_modules/sprintf-js/package.json +22 -0
  833. package/node_modules/sprintf-js/src/angular-sprintf.js +18 -0
  834. package/node_modules/sprintf-js/src/sprintf.js +208 -0
  835. package/node_modules/sprintf-js/test/test.js +82 -0
  836. package/node_modules/strip-bom-string/LICENSE +21 -0
  837. package/node_modules/strip-bom-string/README.md +66 -0
  838. package/node_modules/strip-bom-string/index.js +15 -0
  839. package/node_modules/strip-bom-string/package.json +60 -0
  840. package/node_modules/strip-final-newline/index.d.ts +18 -0
  841. package/node_modules/strip-final-newline/index.js +26 -0
  842. package/node_modules/strip-final-newline/license +9 -0
  843. package/node_modules/strip-final-newline/package.json +49 -0
  844. package/node_modules/strip-final-newline/readme.md +34 -0
  845. package/node_modules/unicorn-magic/default.d.ts +13 -0
  846. package/node_modules/unicorn-magic/default.js +14 -0
  847. package/node_modules/unicorn-magic/license +9 -0
  848. package/node_modules/unicorn-magic/node.d.ts +125 -0
  849. package/node_modules/unicorn-magic/node.js +49 -0
  850. package/node_modules/unicorn-magic/package.json +62 -0
  851. package/node_modules/unicorn-magic/readme.md +25 -0
  852. package/node_modules/which/LICENSE +15 -0
  853. package/node_modules/which/README.md +54 -0
  854. package/node_modules/which/bin/node-which +52 -0
  855. package/node_modules/which/package.json +43 -0
  856. package/node_modules/which/which.js +125 -0
  857. package/node_modules/yaml/LICENSE +13 -0
  858. package/node_modules/yaml/README.md +172 -0
  859. package/node_modules/yaml/bin.mjs +11 -0
  860. package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
  861. package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
  862. package/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
  863. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
  864. package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  865. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
  866. package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
  867. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
  868. package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  869. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
  870. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +225 -0
  871. package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
  872. package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  873. package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
  874. package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  875. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
  876. package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
  877. package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
  878. package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
  879. package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
  880. package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
  881. package/node_modules/yaml/browser/dist/errors.js +57 -0
  882. package/node_modules/yaml/browser/dist/index.js +17 -0
  883. package/node_modules/yaml/browser/dist/log.js +11 -0
  884. package/node_modules/yaml/browser/dist/nodes/Alias.js +116 -0
  885. package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
  886. package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
  887. package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  888. package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
  889. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
  890. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
  891. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
  892. package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
  893. package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
  894. package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
  895. package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  896. package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  897. package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  898. package/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
  899. package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  900. package/node_modules/yaml/browser/dist/parse/parser.js +975 -0
  901. package/node_modules/yaml/browser/dist/public-api.js +102 -0
  902. package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
  903. package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
  904. package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
  905. package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
  906. package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  907. package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  908. package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  909. package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  910. package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  911. package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  912. package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
  913. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
  914. package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  915. package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  916. package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  917. package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
  918. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
  919. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
  920. package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
  921. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
  922. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  923. package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
  924. package/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
  925. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
  926. package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
  927. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
  928. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
  929. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
  930. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
  931. package/node_modules/yaml/browser/dist/util.js +11 -0
  932. package/node_modules/yaml/browser/dist/visit.js +233 -0
  933. package/node_modules/yaml/browser/index.js +5 -0
  934. package/node_modules/yaml/browser/package.json +3 -0
  935. package/node_modules/yaml/dist/cli.d.ts +8 -0
  936. package/node_modules/yaml/dist/cli.mjs +201 -0
  937. package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
  938. package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  939. package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
  940. package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  941. package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
  942. package/node_modules/yaml/dist/compose/compose-node.js +112 -0
  943. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  944. package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  945. package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
  946. package/node_modules/yaml/dist/compose/composer.js +224 -0
  947. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  948. package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  949. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
  950. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  951. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
  952. package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  953. package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  954. package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  955. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
  956. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  957. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  958. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +227 -0
  959. package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
  960. package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  961. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  962. package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  963. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  964. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  965. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  966. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  967. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  968. package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  969. package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
  970. package/node_modules/yaml/dist/doc/Document.js +337 -0
  971. package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  972. package/node_modules/yaml/dist/doc/anchors.js +76 -0
  973. package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  974. package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  975. package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  976. package/node_modules/yaml/dist/doc/createNode.js +90 -0
  977. package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
  978. package/node_modules/yaml/dist/doc/directives.js +178 -0
  979. package/node_modules/yaml/dist/errors.d.ts +21 -0
  980. package/node_modules/yaml/dist/errors.js +62 -0
  981. package/node_modules/yaml/dist/index.d.ts +25 -0
  982. package/node_modules/yaml/dist/index.js +50 -0
  983. package/node_modules/yaml/dist/log.d.ts +3 -0
  984. package/node_modules/yaml/dist/log.js +19 -0
  985. package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
  986. package/node_modules/yaml/dist/nodes/Alias.js +118 -0
  987. package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  988. package/node_modules/yaml/dist/nodes/Collection.js +151 -0
  989. package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  990. package/node_modules/yaml/dist/nodes/Node.js +40 -0
  991. package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
  992. package/node_modules/yaml/dist/nodes/Pair.js +39 -0
  993. package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
  994. package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  995. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
  996. package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  997. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
  998. package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  999. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
  1000. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  1001. package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  1002. package/node_modules/yaml/dist/nodes/identity.js +53 -0
  1003. package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
  1004. package/node_modules/yaml/dist/nodes/toJS.js +39 -0
  1005. package/node_modules/yaml/dist/options.d.ts +350 -0
  1006. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  1007. package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  1008. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  1009. package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  1010. package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  1011. package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  1012. package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
  1013. package/node_modules/yaml/dist/parse/cst.js +112 -0
  1014. package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  1015. package/node_modules/yaml/dist/parse/lexer.js +723 -0
  1016. package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  1017. package/node_modules/yaml/dist/parse/line-counter.js +41 -0
  1018. package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  1019. package/node_modules/yaml/dist/parse/parser.js +980 -0
  1020. package/node_modules/yaml/dist/public-api.d.ts +44 -0
  1021. package/node_modules/yaml/dist/public-api.js +107 -0
  1022. package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
  1023. package/node_modules/yaml/dist/schema/Schema.js +39 -0
  1024. package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  1025. package/node_modules/yaml/dist/schema/common/map.js +19 -0
  1026. package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  1027. package/node_modules/yaml/dist/schema/common/null.js +17 -0
  1028. package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  1029. package/node_modules/yaml/dist/schema/common/seq.js +19 -0
  1030. package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  1031. package/node_modules/yaml/dist/schema/common/string.js +16 -0
  1032. package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  1033. package/node_modules/yaml/dist/schema/core/bool.js +21 -0
  1034. package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  1035. package/node_modules/yaml/dist/schema/core/float.js +47 -0
  1036. package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  1037. package/node_modules/yaml/dist/schema/core/int.js +42 -0
  1038. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  1039. package/node_modules/yaml/dist/schema/core/schema.js +25 -0
  1040. package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  1041. package/node_modules/yaml/dist/schema/json/schema.js +64 -0
  1042. package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
  1043. package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
  1044. package/node_modules/yaml/dist/schema/tags.js +99 -0
  1045. package/node_modules/yaml/dist/schema/types.d.ts +92 -0
  1046. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  1047. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  1048. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  1049. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  1050. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  1051. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  1052. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  1053. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  1054. package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
  1055. package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
  1056. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
  1057. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  1058. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  1059. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  1060. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  1061. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  1062. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
  1063. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  1064. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  1065. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  1066. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  1067. package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  1068. package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
  1069. package/node_modules/yaml/dist/stringify/stringify.js +132 -0
  1070. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  1071. package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  1072. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  1073. package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  1074. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
  1075. package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  1076. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  1077. package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
  1078. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  1079. package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  1080. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
  1081. package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  1082. package/node_modules/yaml/dist/test-events.d.ts +4 -0
  1083. package/node_modules/yaml/dist/test-events.js +134 -0
  1084. package/node_modules/yaml/dist/util.d.ts +16 -0
  1085. package/node_modules/yaml/dist/util.js +28 -0
  1086. package/node_modules/yaml/dist/visit.d.ts +102 -0
  1087. package/node_modules/yaml/dist/visit.js +236 -0
  1088. package/node_modules/yaml/package.json +97 -0
  1089. package/node_modules/yaml/util.js +2 -0
  1090. package/node_modules/yoctocolors/base.d.ts +47 -0
  1091. package/node_modules/yoctocolors/base.js +94 -0
  1092. package/node_modules/yoctocolors/index.d.ts +2 -0
  1093. package/node_modules/yoctocolors/index.js +2 -0
  1094. package/node_modules/yoctocolors/license +9 -0
  1095. package/node_modules/yoctocolors/package.json +69 -0
  1096. package/node_modules/yoctocolors/readme.md +138 -0
  1097. package/node_modules/zod/LICENSE +21 -0
  1098. package/node_modules/zod/README.md +191 -0
  1099. package/node_modules/zod/index.cjs +33 -0
  1100. package/node_modules/zod/index.d.cts +4 -0
  1101. package/node_modules/zod/index.d.ts +4 -0
  1102. package/node_modules/zod/index.js +4 -0
  1103. package/node_modules/zod/locales/index.cjs +17 -0
  1104. package/node_modules/zod/locales/index.d.cts +1 -0
  1105. package/node_modules/zod/locales/index.d.ts +1 -0
  1106. package/node_modules/zod/locales/index.js +1 -0
  1107. package/node_modules/zod/locales/package.json +7 -0
  1108. package/node_modules/zod/mini/index.cjs +32 -0
  1109. package/node_modules/zod/mini/index.d.cts +3 -0
  1110. package/node_modules/zod/mini/index.d.ts +3 -0
  1111. package/node_modules/zod/mini/index.js +3 -0
  1112. package/node_modules/zod/mini/package.json +7 -0
  1113. package/node_modules/zod/package.json +135 -0
  1114. package/node_modules/zod/src/index.ts +4 -0
  1115. package/node_modules/zod/src/locales/index.ts +1 -0
  1116. package/node_modules/zod/src/mini/index.ts +3 -0
  1117. package/node_modules/zod/src/v3/ZodError.ts +330 -0
  1118. package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  1119. package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  1120. package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  1121. package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  1122. package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  1123. package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  1124. package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  1125. package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  1126. package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  1127. package/node_modules/zod/src/v3/errors.ts +13 -0
  1128. package/node_modules/zod/src/v3/external.ts +6 -0
  1129. package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  1130. package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  1131. package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  1132. package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  1133. package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  1134. package/node_modules/zod/src/v3/helpers/util.ts +224 -0
  1135. package/node_modules/zod/src/v3/index.ts +4 -0
  1136. package/node_modules/zod/src/v3/locales/en.ts +124 -0
  1137. package/node_modules/zod/src/v3/standard-schema.ts +113 -0
  1138. package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  1139. package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  1140. package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  1141. package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  1142. package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  1143. package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  1144. package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  1145. package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  1146. package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  1147. package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  1148. package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  1149. package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
  1150. package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  1151. package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  1152. package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  1153. package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  1154. package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  1155. package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  1156. package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  1157. package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  1158. package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  1159. package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  1160. package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
  1161. package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  1162. package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  1163. package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  1164. package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  1165. package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  1166. package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  1167. package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  1168. package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  1169. package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  1170. package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
  1171. package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  1172. package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  1173. package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  1174. package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  1175. package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  1176. package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  1177. package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  1178. package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  1179. package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  1180. package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  1181. package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  1182. package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  1183. package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  1184. package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  1185. package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  1186. package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  1187. package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  1188. package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  1189. package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  1190. package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  1191. package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  1192. package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  1193. package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  1194. package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  1195. package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  1196. package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  1197. package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  1198. package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  1199. package/node_modules/zod/src/v3/types.ts +5138 -0
  1200. package/node_modules/zod/src/v4/classic/checks.ts +32 -0
  1201. package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  1202. package/node_modules/zod/src/v4/classic/compat.ts +70 -0
  1203. package/node_modules/zod/src/v4/classic/errors.ts +82 -0
  1204. package/node_modules/zod/src/v4/classic/external.ts +52 -0
  1205. package/node_modules/zod/src/v4/classic/from-json-schema.ts +659 -0
  1206. package/node_modules/zod/src/v4/classic/index.ts +5 -0
  1207. package/node_modules/zod/src/v4/classic/iso.ts +90 -0
  1208. package/node_modules/zod/src/v4/classic/parse.ts +82 -0
  1209. package/node_modules/zod/src/v4/classic/schemas.ts +2672 -0
  1210. package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  1211. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
  1212. package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  1213. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +216 -0
  1214. package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  1215. package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  1216. package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  1217. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  1218. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
  1219. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +326 -0
  1220. package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  1221. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
  1222. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +703 -0
  1223. package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  1224. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
  1225. package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  1226. package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
  1227. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
  1228. package/node_modules/zod/src/v4/classic/tests/default.test.ts +409 -0
  1229. package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
  1230. package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  1231. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +197 -0
  1232. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +694 -0
  1233. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  1234. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +807 -0
  1235. package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  1236. package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
  1237. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
  1238. package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
  1239. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +895 -0
  1240. package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
  1241. package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  1242. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +39 -0
  1243. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
  1244. package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
  1245. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
  1246. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
  1247. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +46 -0
  1248. package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
  1249. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  1250. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
  1251. package/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
  1252. package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
  1253. package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
  1254. package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  1255. package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  1256. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
  1257. package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  1258. package/node_modules/zod/src/v4/classic/tests/number.test.ts +325 -0
  1259. package/node_modules/zod/src/v4/classic/tests/object.test.ts +717 -0
  1260. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +333 -0
  1261. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +450 -0
  1262. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
  1263. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
  1264. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
  1265. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +26 -0
  1266. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +351 -0
  1267. package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  1268. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  1269. package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  1270. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  1271. package/node_modules/zod/src/v4/classic/tests/record.test.ts +717 -0
  1272. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +631 -0
  1273. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +633 -0
  1274. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
  1275. package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
  1276. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
  1277. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
  1278. package/node_modules/zod/src/v4/classic/tests/string.test.ts +1224 -0
  1279. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
  1280. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
  1281. package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
  1282. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +3125 -0
  1283. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +378 -0
  1284. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +496 -0
  1285. package/node_modules/zod/src/v4/classic/tests/union.test.ts +273 -0
  1286. package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
  1287. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  1288. package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  1289. package/node_modules/zod/src/v4/core/api.ts +1823 -0
  1290. package/node_modules/zod/src/v4/core/checks.ts +1293 -0
  1291. package/node_modules/zod/src/v4/core/config.ts +15 -0
  1292. package/node_modules/zod/src/v4/core/core.ts +153 -0
  1293. package/node_modules/zod/src/v4/core/doc.ts +44 -0
  1294. package/node_modules/zod/src/v4/core/errors.ts +455 -0
  1295. package/node_modules/zod/src/v4/core/index.ts +16 -0
  1296. package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
  1297. package/node_modules/zod/src/v4/core/json-schema-processors.ts +666 -0
  1298. package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
  1299. package/node_modules/zod/src/v4/core/parse.ts +195 -0
  1300. package/node_modules/zod/src/v4/core/regexes.ts +190 -0
  1301. package/node_modules/zod/src/v4/core/registries.ts +105 -0
  1302. package/node_modules/zod/src/v4/core/schemas.ts +4730 -0
  1303. package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
  1304. package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
  1305. package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  1306. package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  1307. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +215 -0
  1308. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  1309. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
  1310. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
  1311. package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
  1312. package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
  1313. package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
  1314. package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  1315. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  1316. package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +105 -0
  1317. package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +125 -0
  1318. package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
  1319. package/node_modules/zod/src/v4/core/to-json-schema.ts +622 -0
  1320. package/node_modules/zod/src/v4/core/util.ts +983 -0
  1321. package/node_modules/zod/src/v4/core/versions.ts +5 -0
  1322. package/node_modules/zod/src/v4/core/zsf.ts +323 -0
  1323. package/node_modules/zod/src/v4/index.ts +4 -0
  1324. package/node_modules/zod/src/v4/locales/ar.ts +115 -0
  1325. package/node_modules/zod/src/v4/locales/az.ts +111 -0
  1326. package/node_modules/zod/src/v4/locales/be.ts +176 -0
  1327. package/node_modules/zod/src/v4/locales/bg.ts +128 -0
  1328. package/node_modules/zod/src/v4/locales/ca.ts +116 -0
  1329. package/node_modules/zod/src/v4/locales/cs.ts +118 -0
  1330. package/node_modules/zod/src/v4/locales/da.ts +123 -0
  1331. package/node_modules/zod/src/v4/locales/de.ts +116 -0
  1332. package/node_modules/zod/src/v4/locales/el.ts +121 -0
  1333. package/node_modules/zod/src/v4/locales/en.ts +123 -0
  1334. package/node_modules/zod/src/v4/locales/eo.ts +118 -0
  1335. package/node_modules/zod/src/v4/locales/es.ts +141 -0
  1336. package/node_modules/zod/src/v4/locales/fa.ts +126 -0
  1337. package/node_modules/zod/src/v4/locales/fi.ts +121 -0
  1338. package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
  1339. package/node_modules/zod/src/v4/locales/fr.ts +132 -0
  1340. package/node_modules/zod/src/v4/locales/he.ts +246 -0
  1341. package/node_modules/zod/src/v4/locales/hr.ts +131 -0
  1342. package/node_modules/zod/src/v4/locales/hu.ts +117 -0
  1343. package/node_modules/zod/src/v4/locales/hy.ts +164 -0
  1344. package/node_modules/zod/src/v4/locales/id.ts +115 -0
  1345. package/node_modules/zod/src/v4/locales/index.ts +52 -0
  1346. package/node_modules/zod/src/v4/locales/is.ts +119 -0
  1347. package/node_modules/zod/src/v4/locales/it.ts +116 -0
  1348. package/node_modules/zod/src/v4/locales/ja.ts +114 -0
  1349. package/node_modules/zod/src/v4/locales/ka.ts +123 -0
  1350. package/node_modules/zod/src/v4/locales/kh.ts +7 -0
  1351. package/node_modules/zod/src/v4/locales/km.ts +119 -0
  1352. package/node_modules/zod/src/v4/locales/ko.ts +121 -0
  1353. package/node_modules/zod/src/v4/locales/lt.ts +239 -0
  1354. package/node_modules/zod/src/v4/locales/mk.ts +118 -0
  1355. package/node_modules/zod/src/v4/locales/ms.ts +115 -0
  1356. package/node_modules/zod/src/v4/locales/nl.ts +121 -0
  1357. package/node_modules/zod/src/v4/locales/no.ts +116 -0
  1358. package/node_modules/zod/src/v4/locales/ota.ts +117 -0
  1359. package/node_modules/zod/src/v4/locales/pl.ts +118 -0
  1360. package/node_modules/zod/src/v4/locales/ps.ts +126 -0
  1361. package/node_modules/zod/src/v4/locales/pt.ts +116 -0
  1362. package/node_modules/zod/src/v4/locales/ro.ts +129 -0
  1363. package/node_modules/zod/src/v4/locales/ru.ts +176 -0
  1364. package/node_modules/zod/src/v4/locales/sl.ts +118 -0
  1365. package/node_modules/zod/src/v4/locales/sv.ts +119 -0
  1366. package/node_modules/zod/src/v4/locales/ta.ts +118 -0
  1367. package/node_modules/zod/src/v4/locales/th.ts +119 -0
  1368. package/node_modules/zod/src/v4/locales/tr.ts +111 -0
  1369. package/node_modules/zod/src/v4/locales/ua.ts +7 -0
  1370. package/node_modules/zod/src/v4/locales/uk.ts +117 -0
  1371. package/node_modules/zod/src/v4/locales/ur.ts +119 -0
  1372. package/node_modules/zod/src/v4/locales/uz.ts +117 -0
  1373. package/node_modules/zod/src/v4/locales/vi.ts +117 -0
  1374. package/node_modules/zod/src/v4/locales/yo.ts +124 -0
  1375. package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
  1376. package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
  1377. package/node_modules/zod/src/v4/mini/checks.ts +32 -0
  1378. package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
  1379. package/node_modules/zod/src/v4/mini/external.ts +41 -0
  1380. package/node_modules/zod/src/v4/mini/index.ts +3 -0
  1381. package/node_modules/zod/src/v4/mini/iso.ts +66 -0
  1382. package/node_modules/zod/src/v4/mini/parse.ts +14 -0
  1383. package/node_modules/zod/src/v4/mini/schemas.ts +1947 -0
  1384. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
  1385. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  1386. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
  1387. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  1388. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +548 -0
  1389. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  1390. package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  1391. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
  1392. package/node_modules/zod/src/v4/mini/tests/index.test.ts +993 -0
  1393. package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  1394. package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
  1395. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  1396. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +325 -0
  1397. package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
  1398. package/node_modules/zod/src/v4/mini/tests/string.test.ts +352 -0
  1399. package/node_modules/zod/src/v4-mini/index.ts +3 -0
  1400. package/node_modules/zod/v3/ZodError.cjs +138 -0
  1401. package/node_modules/zod/v3/ZodError.d.cts +164 -0
  1402. package/node_modules/zod/v3/ZodError.d.ts +164 -0
  1403. package/node_modules/zod/v3/ZodError.js +133 -0
  1404. package/node_modules/zod/v3/errors.cjs +17 -0
  1405. package/node_modules/zod/v3/errors.d.cts +5 -0
  1406. package/node_modules/zod/v3/errors.d.ts +5 -0
  1407. package/node_modules/zod/v3/errors.js +9 -0
  1408. package/node_modules/zod/v3/external.cjs +22 -0
  1409. package/node_modules/zod/v3/external.d.cts +6 -0
  1410. package/node_modules/zod/v3/external.d.ts +6 -0
  1411. package/node_modules/zod/v3/external.js +6 -0
  1412. package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  1413. package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  1414. package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  1415. package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  1416. package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  1417. package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  1418. package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  1419. package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  1420. package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  1421. package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  1422. package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  1423. package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  1424. package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  1425. package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  1426. package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  1427. package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  1428. package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  1429. package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  1430. package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  1431. package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  1432. package/node_modules/zod/v3/helpers/util.cjs +137 -0
  1433. package/node_modules/zod/v3/helpers/util.d.cts +85 -0
  1434. package/node_modules/zod/v3/helpers/util.d.ts +85 -0
  1435. package/node_modules/zod/v3/helpers/util.js +133 -0
  1436. package/node_modules/zod/v3/index.cjs +33 -0
  1437. package/node_modules/zod/v3/index.d.cts +4 -0
  1438. package/node_modules/zod/v3/index.d.ts +4 -0
  1439. package/node_modules/zod/v3/index.js +4 -0
  1440. package/node_modules/zod/v3/locales/en.cjs +112 -0
  1441. package/node_modules/zod/v3/locales/en.d.cts +3 -0
  1442. package/node_modules/zod/v3/locales/en.d.ts +3 -0
  1443. package/node_modules/zod/v3/locales/en.js +109 -0
  1444. package/node_modules/zod/v3/package.json +7 -0
  1445. package/node_modules/zod/v3/standard-schema.cjs +2 -0
  1446. package/node_modules/zod/v3/standard-schema.d.cts +102 -0
  1447. package/node_modules/zod/v3/standard-schema.d.ts +102 -0
  1448. package/node_modules/zod/v3/standard-schema.js +1 -0
  1449. package/node_modules/zod/v3/types.cjs +3777 -0
  1450. package/node_modules/zod/v3/types.d.cts +1034 -0
  1451. package/node_modules/zod/v3/types.d.ts +1034 -0
  1452. package/node_modules/zod/v3/types.js +3695 -0
  1453. package/node_modules/zod/v4/classic/checks.cjs +33 -0
  1454. package/node_modules/zod/v4/classic/checks.d.cts +1 -0
  1455. package/node_modules/zod/v4/classic/checks.d.ts +1 -0
  1456. package/node_modules/zod/v4/classic/checks.js +1 -0
  1457. package/node_modules/zod/v4/classic/coerce.cjs +47 -0
  1458. package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  1459. package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  1460. package/node_modules/zod/v4/classic/coerce.js +17 -0
  1461. package/node_modules/zod/v4/classic/compat.cjs +61 -0
  1462. package/node_modules/zod/v4/classic/compat.d.cts +50 -0
  1463. package/node_modules/zod/v4/classic/compat.d.ts +50 -0
  1464. package/node_modules/zod/v4/classic/compat.js +31 -0
  1465. package/node_modules/zod/v4/classic/errors.cjs +74 -0
  1466. package/node_modules/zod/v4/classic/errors.d.cts +30 -0
  1467. package/node_modules/zod/v4/classic/errors.d.ts +30 -0
  1468. package/node_modules/zod/v4/classic/errors.js +48 -0
  1469. package/node_modules/zod/v4/classic/external.cjs +73 -0
  1470. package/node_modules/zod/v4/classic/external.d.cts +16 -0
  1471. package/node_modules/zod/v4/classic/external.d.ts +16 -0
  1472. package/node_modules/zod/v4/classic/external.js +20 -0
  1473. package/node_modules/zod/v4/classic/from-json-schema.cjs +625 -0
  1474. package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
  1475. package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
  1476. package/node_modules/zod/v4/classic/from-json-schema.js +599 -0
  1477. package/node_modules/zod/v4/classic/index.cjs +33 -0
  1478. package/node_modules/zod/v4/classic/index.d.cts +4 -0
  1479. package/node_modules/zod/v4/classic/index.d.ts +4 -0
  1480. package/node_modules/zod/v4/classic/index.js +4 -0
  1481. package/node_modules/zod/v4/classic/iso.cjs +60 -0
  1482. package/node_modules/zod/v4/classic/iso.d.cts +22 -0
  1483. package/node_modules/zod/v4/classic/iso.d.ts +22 -0
  1484. package/node_modules/zod/v4/classic/iso.js +30 -0
  1485. package/node_modules/zod/v4/classic/package.json +7 -0
  1486. package/node_modules/zod/v4/classic/parse.cjs +41 -0
  1487. package/node_modules/zod/v4/classic/parse.d.cts +31 -0
  1488. package/node_modules/zod/v4/classic/parse.d.ts +31 -0
  1489. package/node_modules/zod/v4/classic/parse.js +15 -0
  1490. package/node_modules/zod/v4/classic/schemas.cjs +1511 -0
  1491. package/node_modules/zod/v4/classic/schemas.d.cts +767 -0
  1492. package/node_modules/zod/v4/classic/schemas.d.ts +767 -0
  1493. package/node_modules/zod/v4/classic/schemas.js +1395 -0
  1494. package/node_modules/zod/v4/core/api.cjs +1227 -0
  1495. package/node_modules/zod/v4/core/api.d.cts +325 -0
  1496. package/node_modules/zod/v4/core/api.d.ts +325 -0
  1497. package/node_modules/zod/v4/core/api.js +1087 -0
  1498. package/node_modules/zod/v4/core/checks.cjs +601 -0
  1499. package/node_modules/zod/v4/core/checks.d.cts +278 -0
  1500. package/node_modules/zod/v4/core/checks.d.ts +278 -0
  1501. package/node_modules/zod/v4/core/checks.js +575 -0
  1502. package/node_modules/zod/v4/core/core.cjs +85 -0
  1503. package/node_modules/zod/v4/core/core.d.cts +70 -0
  1504. package/node_modules/zod/v4/core/core.d.ts +70 -0
  1505. package/node_modules/zod/v4/core/core.js +78 -0
  1506. package/node_modules/zod/v4/core/doc.cjs +39 -0
  1507. package/node_modules/zod/v4/core/doc.d.cts +14 -0
  1508. package/node_modules/zod/v4/core/doc.d.ts +14 -0
  1509. package/node_modules/zod/v4/core/doc.js +35 -0
  1510. package/node_modules/zod/v4/core/errors.cjs +216 -0
  1511. package/node_modules/zod/v4/core/errors.d.cts +221 -0
  1512. package/node_modules/zod/v4/core/errors.d.ts +221 -0
  1513. package/node_modules/zod/v4/core/errors.js +185 -0
  1514. package/node_modules/zod/v4/core/index.cjs +47 -0
  1515. package/node_modules/zod/v4/core/index.d.cts +16 -0
  1516. package/node_modules/zod/v4/core/index.d.ts +16 -0
  1517. package/node_modules/zod/v4/core/index.js +16 -0
  1518. package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
  1519. package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
  1520. package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
  1521. package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
  1522. package/node_modules/zod/v4/core/json-schema-processors.cjs +644 -0
  1523. package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
  1524. package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
  1525. package/node_modules/zod/v4/core/json-schema-processors.js +601 -0
  1526. package/node_modules/zod/v4/core/json-schema.cjs +2 -0
  1527. package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
  1528. package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
  1529. package/node_modules/zod/v4/core/json-schema.js +1 -0
  1530. package/node_modules/zod/v4/core/package.json +7 -0
  1531. package/node_modules/zod/v4/core/parse.cjs +131 -0
  1532. package/node_modules/zod/v4/core/parse.d.cts +49 -0
  1533. package/node_modules/zod/v4/core/parse.d.ts +49 -0
  1534. package/node_modules/zod/v4/core/parse.js +93 -0
  1535. package/node_modules/zod/v4/core/regexes.cjs +172 -0
  1536. package/node_modules/zod/v4/core/regexes.d.cts +85 -0
  1537. package/node_modules/zod/v4/core/regexes.d.ts +85 -0
  1538. package/node_modules/zod/v4/core/regexes.js +139 -0
  1539. package/node_modules/zod/v4/core/registries.cjs +56 -0
  1540. package/node_modules/zod/v4/core/registries.d.cts +35 -0
  1541. package/node_modules/zod/v4/core/registries.d.ts +35 -0
  1542. package/node_modules/zod/v4/core/registries.js +51 -0
  1543. package/node_modules/zod/v4/core/schemas.cjs +2270 -0
  1544. package/node_modules/zod/v4/core/schemas.d.cts +1184 -0
  1545. package/node_modules/zod/v4/core/schemas.d.ts +1184 -0
  1546. package/node_modules/zod/v4/core/schemas.js +2239 -0
  1547. package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  1548. package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
  1549. package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
  1550. package/node_modules/zod/v4/core/standard-schema.js +1 -0
  1551. package/node_modules/zod/v4/core/to-json-schema.cjs +457 -0
  1552. package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
  1553. package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
  1554. package/node_modules/zod/v4/core/to-json-schema.js +448 -0
  1555. package/node_modules/zod/v4/core/util.cjs +734 -0
  1556. package/node_modules/zod/v4/core/util.d.cts +200 -0
  1557. package/node_modules/zod/v4/core/util.d.ts +200 -0
  1558. package/node_modules/zod/v4/core/util.js +674 -0
  1559. package/node_modules/zod/v4/core/versions.cjs +8 -0
  1560. package/node_modules/zod/v4/core/versions.d.cts +5 -0
  1561. package/node_modules/zod/v4/core/versions.d.ts +5 -0
  1562. package/node_modules/zod/v4/core/versions.js +5 -0
  1563. package/node_modules/zod/v4/index.cjs +22 -0
  1564. package/node_modules/zod/v4/index.d.cts +3 -0
  1565. package/node_modules/zod/v4/index.d.ts +3 -0
  1566. package/node_modules/zod/v4/index.js +3 -0
  1567. package/node_modules/zod/v4/locales/ar.cjs +133 -0
  1568. package/node_modules/zod/v4/locales/ar.d.cts +5 -0
  1569. package/node_modules/zod/v4/locales/ar.d.ts +4 -0
  1570. package/node_modules/zod/v4/locales/ar.js +106 -0
  1571. package/node_modules/zod/v4/locales/az.cjs +132 -0
  1572. package/node_modules/zod/v4/locales/az.d.cts +5 -0
  1573. package/node_modules/zod/v4/locales/az.d.ts +4 -0
  1574. package/node_modules/zod/v4/locales/az.js +105 -0
  1575. package/node_modules/zod/v4/locales/be.cjs +183 -0
  1576. package/node_modules/zod/v4/locales/be.d.cts +5 -0
  1577. package/node_modules/zod/v4/locales/be.d.ts +4 -0
  1578. package/node_modules/zod/v4/locales/be.js +156 -0
  1579. package/node_modules/zod/v4/locales/bg.cjs +147 -0
  1580. package/node_modules/zod/v4/locales/bg.d.cts +5 -0
  1581. package/node_modules/zod/v4/locales/bg.d.ts +4 -0
  1582. package/node_modules/zod/v4/locales/bg.js +120 -0
  1583. package/node_modules/zod/v4/locales/ca.cjs +134 -0
  1584. package/node_modules/zod/v4/locales/ca.d.cts +5 -0
  1585. package/node_modules/zod/v4/locales/ca.d.ts +4 -0
  1586. package/node_modules/zod/v4/locales/ca.js +107 -0
  1587. package/node_modules/zod/v4/locales/cs.cjs +138 -0
  1588. package/node_modules/zod/v4/locales/cs.d.cts +5 -0
  1589. package/node_modules/zod/v4/locales/cs.d.ts +4 -0
  1590. package/node_modules/zod/v4/locales/cs.js +111 -0
  1591. package/node_modules/zod/v4/locales/da.cjs +142 -0
  1592. package/node_modules/zod/v4/locales/da.d.cts +5 -0
  1593. package/node_modules/zod/v4/locales/da.d.ts +4 -0
  1594. package/node_modules/zod/v4/locales/da.js +115 -0
  1595. package/node_modules/zod/v4/locales/de.cjs +135 -0
  1596. package/node_modules/zod/v4/locales/de.d.cts +5 -0
  1597. package/node_modules/zod/v4/locales/de.d.ts +4 -0
  1598. package/node_modules/zod/v4/locales/de.js +108 -0
  1599. package/node_modules/zod/v4/locales/el.cjs +136 -0
  1600. package/node_modules/zod/v4/locales/el.d.cts +5 -0
  1601. package/node_modules/zod/v4/locales/el.d.ts +4 -0
  1602. package/node_modules/zod/v4/locales/el.js +109 -0
  1603. package/node_modules/zod/v4/locales/en.cjs +140 -0
  1604. package/node_modules/zod/v4/locales/en.d.cts +5 -0
  1605. package/node_modules/zod/v4/locales/en.d.ts +4 -0
  1606. package/node_modules/zod/v4/locales/en.js +113 -0
  1607. package/node_modules/zod/v4/locales/eo.cjs +136 -0
  1608. package/node_modules/zod/v4/locales/eo.d.cts +5 -0
  1609. package/node_modules/zod/v4/locales/eo.d.ts +4 -0
  1610. package/node_modules/zod/v4/locales/eo.js +109 -0
  1611. package/node_modules/zod/v4/locales/es.cjs +159 -0
  1612. package/node_modules/zod/v4/locales/es.d.cts +5 -0
  1613. package/node_modules/zod/v4/locales/es.d.ts +4 -0
  1614. package/node_modules/zod/v4/locales/es.js +132 -0
  1615. package/node_modules/zod/v4/locales/fa.cjs +141 -0
  1616. package/node_modules/zod/v4/locales/fa.d.cts +5 -0
  1617. package/node_modules/zod/v4/locales/fa.d.ts +4 -0
  1618. package/node_modules/zod/v4/locales/fa.js +114 -0
  1619. package/node_modules/zod/v4/locales/fi.cjs +139 -0
  1620. package/node_modules/zod/v4/locales/fi.d.cts +5 -0
  1621. package/node_modules/zod/v4/locales/fi.d.ts +4 -0
  1622. package/node_modules/zod/v4/locales/fi.js +112 -0
  1623. package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
  1624. package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
  1625. package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  1626. package/node_modules/zod/v4/locales/fr-CA.js +107 -0
  1627. package/node_modules/zod/v4/locales/fr.cjs +152 -0
  1628. package/node_modules/zod/v4/locales/fr.d.cts +5 -0
  1629. package/node_modules/zod/v4/locales/fr.d.ts +4 -0
  1630. package/node_modules/zod/v4/locales/fr.js +125 -0
  1631. package/node_modules/zod/v4/locales/he.cjs +241 -0
  1632. package/node_modules/zod/v4/locales/he.d.cts +5 -0
  1633. package/node_modules/zod/v4/locales/he.d.ts +4 -0
  1634. package/node_modules/zod/v4/locales/he.js +214 -0
  1635. package/node_modules/zod/v4/locales/hr.cjs +149 -0
  1636. package/node_modules/zod/v4/locales/hr.d.cts +5 -0
  1637. package/node_modules/zod/v4/locales/hr.d.ts +4 -0
  1638. package/node_modules/zod/v4/locales/hr.js +122 -0
  1639. package/node_modules/zod/v4/locales/hu.cjs +135 -0
  1640. package/node_modules/zod/v4/locales/hu.d.cts +5 -0
  1641. package/node_modules/zod/v4/locales/hu.d.ts +4 -0
  1642. package/node_modules/zod/v4/locales/hu.js +108 -0
  1643. package/node_modules/zod/v4/locales/hy.cjs +174 -0
  1644. package/node_modules/zod/v4/locales/hy.d.cts +5 -0
  1645. package/node_modules/zod/v4/locales/hy.d.ts +4 -0
  1646. package/node_modules/zod/v4/locales/hy.js +147 -0
  1647. package/node_modules/zod/v4/locales/id.cjs +133 -0
  1648. package/node_modules/zod/v4/locales/id.d.cts +5 -0
  1649. package/node_modules/zod/v4/locales/id.d.ts +4 -0
  1650. package/node_modules/zod/v4/locales/id.js +106 -0
  1651. package/node_modules/zod/v4/locales/index.cjs +111 -0
  1652. package/node_modules/zod/v4/locales/index.d.cts +52 -0
  1653. package/node_modules/zod/v4/locales/index.d.ts +52 -0
  1654. package/node_modules/zod/v4/locales/index.js +52 -0
  1655. package/node_modules/zod/v4/locales/is.cjs +136 -0
  1656. package/node_modules/zod/v4/locales/is.d.cts +5 -0
  1657. package/node_modules/zod/v4/locales/is.d.ts +4 -0
  1658. package/node_modules/zod/v4/locales/is.js +109 -0
  1659. package/node_modules/zod/v4/locales/it.cjs +135 -0
  1660. package/node_modules/zod/v4/locales/it.d.cts +5 -0
  1661. package/node_modules/zod/v4/locales/it.d.ts +4 -0
  1662. package/node_modules/zod/v4/locales/it.js +108 -0
  1663. package/node_modules/zod/v4/locales/ja.cjs +134 -0
  1664. package/node_modules/zod/v4/locales/ja.d.cts +5 -0
  1665. package/node_modules/zod/v4/locales/ja.d.ts +4 -0
  1666. package/node_modules/zod/v4/locales/ja.js +107 -0
  1667. package/node_modules/zod/v4/locales/ka.cjs +139 -0
  1668. package/node_modules/zod/v4/locales/ka.d.cts +5 -0
  1669. package/node_modules/zod/v4/locales/ka.d.ts +4 -0
  1670. package/node_modules/zod/v4/locales/ka.js +112 -0
  1671. package/node_modules/zod/v4/locales/kh.cjs +12 -0
  1672. package/node_modules/zod/v4/locales/kh.d.cts +5 -0
  1673. package/node_modules/zod/v4/locales/kh.d.ts +5 -0
  1674. package/node_modules/zod/v4/locales/kh.js +5 -0
  1675. package/node_modules/zod/v4/locales/km.cjs +137 -0
  1676. package/node_modules/zod/v4/locales/km.d.cts +5 -0
  1677. package/node_modules/zod/v4/locales/km.d.ts +4 -0
  1678. package/node_modules/zod/v4/locales/km.js +110 -0
  1679. package/node_modules/zod/v4/locales/ko.cjs +138 -0
  1680. package/node_modules/zod/v4/locales/ko.d.cts +5 -0
  1681. package/node_modules/zod/v4/locales/ko.d.ts +4 -0
  1682. package/node_modules/zod/v4/locales/ko.js +111 -0
  1683. package/node_modules/zod/v4/locales/lt.cjs +230 -0
  1684. package/node_modules/zod/v4/locales/lt.d.cts +5 -0
  1685. package/node_modules/zod/v4/locales/lt.d.ts +4 -0
  1686. package/node_modules/zod/v4/locales/lt.js +203 -0
  1687. package/node_modules/zod/v4/locales/mk.cjs +136 -0
  1688. package/node_modules/zod/v4/locales/mk.d.cts +5 -0
  1689. package/node_modules/zod/v4/locales/mk.d.ts +4 -0
  1690. package/node_modules/zod/v4/locales/mk.js +109 -0
  1691. package/node_modules/zod/v4/locales/ms.cjs +134 -0
  1692. package/node_modules/zod/v4/locales/ms.d.cts +5 -0
  1693. package/node_modules/zod/v4/locales/ms.d.ts +4 -0
  1694. package/node_modules/zod/v4/locales/ms.js +107 -0
  1695. package/node_modules/zod/v4/locales/nl.cjs +137 -0
  1696. package/node_modules/zod/v4/locales/nl.d.cts +5 -0
  1697. package/node_modules/zod/v4/locales/nl.d.ts +4 -0
  1698. package/node_modules/zod/v4/locales/nl.js +110 -0
  1699. package/node_modules/zod/v4/locales/no.cjs +135 -0
  1700. package/node_modules/zod/v4/locales/no.d.cts +5 -0
  1701. package/node_modules/zod/v4/locales/no.d.ts +4 -0
  1702. package/node_modules/zod/v4/locales/no.js +108 -0
  1703. package/node_modules/zod/v4/locales/ota.cjs +136 -0
  1704. package/node_modules/zod/v4/locales/ota.d.cts +5 -0
  1705. package/node_modules/zod/v4/locales/ota.d.ts +4 -0
  1706. package/node_modules/zod/v4/locales/ota.js +109 -0
  1707. package/node_modules/zod/v4/locales/package.json +7 -0
  1708. package/node_modules/zod/v4/locales/pl.cjs +136 -0
  1709. package/node_modules/zod/v4/locales/pl.d.cts +5 -0
  1710. package/node_modules/zod/v4/locales/pl.d.ts +4 -0
  1711. package/node_modules/zod/v4/locales/pl.js +109 -0
  1712. package/node_modules/zod/v4/locales/ps.cjs +141 -0
  1713. package/node_modules/zod/v4/locales/ps.d.cts +5 -0
  1714. package/node_modules/zod/v4/locales/ps.d.ts +4 -0
  1715. package/node_modules/zod/v4/locales/ps.js +114 -0
  1716. package/node_modules/zod/v4/locales/pt.cjs +135 -0
  1717. package/node_modules/zod/v4/locales/pt.d.cts +5 -0
  1718. package/node_modules/zod/v4/locales/pt.d.ts +4 -0
  1719. package/node_modules/zod/v4/locales/pt.js +108 -0
  1720. package/node_modules/zod/v4/locales/ro.cjs +146 -0
  1721. package/node_modules/zod/v4/locales/ro.d.cts +5 -0
  1722. package/node_modules/zod/v4/locales/ro.d.ts +4 -0
  1723. package/node_modules/zod/v4/locales/ro.js +119 -0
  1724. package/node_modules/zod/v4/locales/ru.cjs +183 -0
  1725. package/node_modules/zod/v4/locales/ru.d.cts +5 -0
  1726. package/node_modules/zod/v4/locales/ru.d.ts +4 -0
  1727. package/node_modules/zod/v4/locales/ru.js +156 -0
  1728. package/node_modules/zod/v4/locales/sl.cjs +136 -0
  1729. package/node_modules/zod/v4/locales/sl.d.cts +5 -0
  1730. package/node_modules/zod/v4/locales/sl.d.ts +4 -0
  1731. package/node_modules/zod/v4/locales/sl.js +109 -0
  1732. package/node_modules/zod/v4/locales/sv.cjs +137 -0
  1733. package/node_modules/zod/v4/locales/sv.d.cts +5 -0
  1734. package/node_modules/zod/v4/locales/sv.d.ts +4 -0
  1735. package/node_modules/zod/v4/locales/sv.js +110 -0
  1736. package/node_modules/zod/v4/locales/ta.cjs +137 -0
  1737. package/node_modules/zod/v4/locales/ta.d.cts +5 -0
  1738. package/node_modules/zod/v4/locales/ta.d.ts +4 -0
  1739. package/node_modules/zod/v4/locales/ta.js +110 -0
  1740. package/node_modules/zod/v4/locales/th.cjs +137 -0
  1741. package/node_modules/zod/v4/locales/th.d.cts +5 -0
  1742. package/node_modules/zod/v4/locales/th.d.ts +4 -0
  1743. package/node_modules/zod/v4/locales/th.js +110 -0
  1744. package/node_modules/zod/v4/locales/tr.cjs +132 -0
  1745. package/node_modules/zod/v4/locales/tr.d.cts +5 -0
  1746. package/node_modules/zod/v4/locales/tr.d.ts +4 -0
  1747. package/node_modules/zod/v4/locales/tr.js +105 -0
  1748. package/node_modules/zod/v4/locales/ua.cjs +12 -0
  1749. package/node_modules/zod/v4/locales/ua.d.cts +5 -0
  1750. package/node_modules/zod/v4/locales/ua.d.ts +5 -0
  1751. package/node_modules/zod/v4/locales/ua.js +5 -0
  1752. package/node_modules/zod/v4/locales/uk.cjs +135 -0
  1753. package/node_modules/zod/v4/locales/uk.d.cts +5 -0
  1754. package/node_modules/zod/v4/locales/uk.d.ts +4 -0
  1755. package/node_modules/zod/v4/locales/uk.js +108 -0
  1756. package/node_modules/zod/v4/locales/ur.cjs +137 -0
  1757. package/node_modules/zod/v4/locales/ur.d.cts +5 -0
  1758. package/node_modules/zod/v4/locales/ur.d.ts +4 -0
  1759. package/node_modules/zod/v4/locales/ur.js +110 -0
  1760. package/node_modules/zod/v4/locales/uz.cjs +137 -0
  1761. package/node_modules/zod/v4/locales/uz.d.cts +5 -0
  1762. package/node_modules/zod/v4/locales/uz.d.ts +4 -0
  1763. package/node_modules/zod/v4/locales/uz.js +110 -0
  1764. package/node_modules/zod/v4/locales/vi.cjs +135 -0
  1765. package/node_modules/zod/v4/locales/vi.d.cts +5 -0
  1766. package/node_modules/zod/v4/locales/vi.d.ts +4 -0
  1767. package/node_modules/zod/v4/locales/vi.js +108 -0
  1768. package/node_modules/zod/v4/locales/yo.cjs +134 -0
  1769. package/node_modules/zod/v4/locales/yo.d.cts +5 -0
  1770. package/node_modules/zod/v4/locales/yo.d.ts +4 -0
  1771. package/node_modules/zod/v4/locales/yo.js +107 -0
  1772. package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
  1773. package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
  1774. package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  1775. package/node_modules/zod/v4/locales/zh-CN.js +109 -0
  1776. package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
  1777. package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
  1778. package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  1779. package/node_modules/zod/v4/locales/zh-TW.js +107 -0
  1780. package/node_modules/zod/v4/mini/checks.cjs +34 -0
  1781. package/node_modules/zod/v4/mini/checks.d.cts +1 -0
  1782. package/node_modules/zod/v4/mini/checks.d.ts +1 -0
  1783. package/node_modules/zod/v4/mini/checks.js +1 -0
  1784. package/node_modules/zod/v4/mini/coerce.cjs +52 -0
  1785. package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  1786. package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  1787. package/node_modules/zod/v4/mini/coerce.js +22 -0
  1788. package/node_modules/zod/v4/mini/external.cjs +63 -0
  1789. package/node_modules/zod/v4/mini/external.d.cts +13 -0
  1790. package/node_modules/zod/v4/mini/external.d.ts +13 -0
  1791. package/node_modules/zod/v4/mini/external.js +14 -0
  1792. package/node_modules/zod/v4/mini/index.cjs +32 -0
  1793. package/node_modules/zod/v4/mini/index.d.cts +3 -0
  1794. package/node_modules/zod/v4/mini/index.d.ts +3 -0
  1795. package/node_modules/zod/v4/mini/index.js +3 -0
  1796. package/node_modules/zod/v4/mini/iso.cjs +64 -0
  1797. package/node_modules/zod/v4/mini/iso.d.cts +22 -0
  1798. package/node_modules/zod/v4/mini/iso.d.ts +22 -0
  1799. package/node_modules/zod/v4/mini/iso.js +34 -0
  1800. package/node_modules/zod/v4/mini/package.json +7 -0
  1801. package/node_modules/zod/v4/mini/parse.cjs +16 -0
  1802. package/node_modules/zod/v4/mini/parse.d.cts +1 -0
  1803. package/node_modules/zod/v4/mini/parse.d.ts +1 -0
  1804. package/node_modules/zod/v4/mini/parse.js +1 -0
  1805. package/node_modules/zod/v4/mini/schemas.cjs +1083 -0
  1806. package/node_modules/zod/v4/mini/schemas.d.cts +445 -0
  1807. package/node_modules/zod/v4/mini/schemas.d.ts +445 -0
  1808. package/node_modules/zod/v4/mini/schemas.js +961 -0
  1809. package/node_modules/zod/v4/package.json +7 -0
  1810. package/node_modules/zod/v4-mini/index.cjs +32 -0
  1811. package/node_modules/zod/v4-mini/index.d.cts +3 -0
  1812. package/node_modules/zod/v4-mini/index.d.ts +3 -0
  1813. package/node_modules/zod/v4-mini/index.js +3 -0
  1814. package/node_modules/zod/v4-mini/package.json +7 -0
  1815. package/package.json +57 -0
@@ -0,0 +1,1164 @@
1
+ /**
2
+ * `start` — turn one agent-written plan into a real, framed change.
3
+ *
4
+ * The owner-facing model is one line:
5
+ *
6
+ * describe need to your agent → it plans it → owner imports and confirms →
7
+ * Builder → fresh reviewer → deterministic gate
8
+ *
9
+ * Prismatica does not run the planning agent. It exports a context
10
+ * (`prismatica context discover`'s sibling, `prismatica context start`), the
11
+ * owner's own agent answers it, and `--import` brings that answer back through
12
+ * strict local validation. There is no provider adapter, no capability probe,
13
+ * no structured-output dialect and no second, looser route into the records —
14
+ * there is one document and one validation of it.
15
+ *
16
+ * `start` takes NO positional request. The need is described and clarified in
17
+ * the conversation the owner is already having, and the wording they settle on
18
+ * comes back inside the plan as `request`. Retyping it on the command line
19
+ * would record a second description that can disagree with the one they
20
+ * approved — the same defect that removed the agent-supplied issue text.
21
+ *
22
+ * Four properties matter more than anything else here:
23
+ *
24
+ * 1. **Nothing durable or outward-facing happens before the owner confirms.**
25
+ * No issue, no branch, no lane, no record. An imported-but-unconfirmed plan
26
+ * is ephemeral by design — hidden durable state the owner did not ask for is
27
+ * worse than re-running the command, and it keeps tracked main clean.
28
+ * 2. **The imported document is never a decision input.** Which Flows exist,
29
+ * which ids are taken, the tier rules — all of it is read from a snapshot
30
+ * taken FRESH here. The snapshot the document ECHOES is parsed, checked
31
+ * against its own recomputed id, and then used for one thing only: telling
32
+ * the owner what moved since the agent read the tree.
33
+ * `validateStartProposal` takes the fresh snapshot as a parameter for
34
+ * exactly this reason, and never reads the embedded one.
35
+ * 3. **Fresh state is checked twice.** Snapshot A validates the plan the owner
36
+ * is shown. Snapshot B is taken AFTER they confirm and immediately before
37
+ * the first outward-facing write, and the plan is REVALIDATED against it —
38
+ * not merely diffed. A confirmation can take minutes, and a plan that was
39
+ * true when it was displayed is not thereby true when it is acted on.
40
+ * 4. **`--resume` is the same path, not a bypass.** It runs snapshot A, the
41
+ * full validator, the full preview, the same default-No confirmation and
42
+ * the snapshot-B revalidation, exactly as a first run does. All it changes
43
+ * is what happens afterwards: it verifies each record that already exists
44
+ * instead of creating it, and writes only what is genuinely missing.
45
+ * What it may NOT do is finish a lane with a different plan: framing
46
+ * records `startPlanHash` on the contract, and resume recomputes it from
47
+ * the imported document and requires an exact match.
48
+ *
49
+ * Once the build starts, the ordering is issue → lane → intent → Delta/Planned
50
+ * Flow → pack. Every step that can fail is checked before the step after it
51
+ * runs, and anything already created is preserved with an exact recovery
52
+ * command — never rolled back behind the owner's back. Past the lane, that
53
+ * recovery is `start --resume`, which finishes what this run began.
54
+ */
55
+ import { createHash } from 'node:crypto';
56
+ import { renderDeltaBody, renderFlowProposalBody } from '../atlas/render.js';
57
+ import { findDeltaForContract, flowProposalExists, readFlowProposal, writeDelta, writeFlowProposal, } from '../atlas/store.js';
58
+ import { listOpenChanges } from '../change.js';
59
+ import { UserError } from '../errors.js';
60
+ import { ghInstalled, ghIssueCreate } from '../gh.js';
61
+ import { makeDeltaId } from '../ids.js';
62
+ import { readAnswerFile } from '../planning/context.js';
63
+ import { sameRecordIgnoring } from '../planning/materialise.js';
64
+ import { compareSnapshots, takeSnapshot, verifyHandoffSnapshot } from '../planning/snapshot.js';
65
+ import { validateStartProposal } from '../planning/validate.js';
66
+ import { DeltaSchema, FlowProposalSchema, IntentSchema, } from '../records/types.js';
67
+ import { contractExists, contractScopeHash, intentExists, packExists, readContract, readIntent, readPack, stableStringify, writeContract, writeIntent, } from '../records/store.js';
68
+ import { renderContractBody } from '../render.js';
69
+ import { stageIndex } from '../state.js';
70
+ import { rewriteForSelfHost, selfHostAdvice } from '../selfhost.js';
71
+ import { shellQuote } from '../shellquote.js';
72
+ import { DEFAULT_BUILDER } from '../skills.js';
73
+ import * as ui from '../ui.js';
74
+ import { runFrame } from './frame.js';
75
+ import { packBrief, runPack } from './pack.js';
76
+ /**
77
+ * Raised after something durable was already created. The message names what
78
+ * survived; the fix is the exact command that carries on from there. Nothing is
79
+ * deleted — a half-started change the owner can finish beats a clean failure
80
+ * that silently threw away a real GitHub issue.
81
+ */
82
+ function partialFailure(message, command, why) {
83
+ return new UserError(message, { command, why });
84
+ }
85
+ /**
86
+ * A recovery command the owner can paste in Prismatica's OWN checkout, where a
87
+ * bare `prismatica …` runs whichever copy is on PATH rather than the one being
88
+ * governed. Gated exactly as `next` gates it: an ordinary repository, or the
89
+ * checkout this CLI is already running from, is returned untouched.
90
+ *
91
+ * The caller MUST hand this the COMPLETE command — `--import`, `--issue`,
92
+ * `--resume` and all — because a checkout that is not yet built has no
93
+ * `dist/cli.js` to name, and `rewriteForSelfHost` then REPLACES the advice with
94
+ * the one `npm ci`/`npm run build` step that fixes it. Appending a flag to that
95
+ * afterwards would produce a line that means nothing at all.
96
+ */
97
+ function selfHostSafe(command, target) {
98
+ return selfHostAdvice(target) ? rewriteForSelfHost(command, target) : command;
99
+ }
100
+ export function startCommand(options) {
101
+ const args = [`prismatica start --import ${shellQuote(options.importFile)}`];
102
+ if (options.resume?.trim())
103
+ args.push(`--resume ${shellQuote(options.resume.trim())}`);
104
+ if (options.issue?.trim())
105
+ args.push(`--issue ${shellQuote(options.issue.trim())}`);
106
+ if (options.installHook === false)
107
+ args.push('--no-hook');
108
+ return args.join(' ');
109
+ }
110
+ // ── The plan binding ─────────────────────────────────────────────────────────
111
+ /**
112
+ * The ONE canonical digest of an approved Start plan, recorded on the contract
113
+ * at framing and rechecked by `--resume`.
114
+ *
115
+ * It exists because `framedFieldsFor` cannot answer the question resume has to
116
+ * ask. Those are the fields a CONTRACT carries, and two genuinely different
117
+ * plans can produce identical ones while disagreeing about the request, the
118
+ * rationale, current and desired behaviour, the assumptions, the Delta or the
119
+ * Planned Flow — all of which the owner read and approved, and all of which
120
+ * resume goes on to write into the Intent, the Delta and the Flow proposal. One
121
+ * digest over the whole document answers it once; a widening set of partial
122
+ * comparisons only ever covers the fields someone remembered to add.
123
+ *
124
+ * The canonical representation is the PARSED proposal — never the raw file —
125
+ * with `snapshot` omitted:
126
+ *
127
+ * - Parsed, because zod applies `.default([])` and friends. A document that
128
+ * omits an optional array and one that spells it `[]` are the same approved
129
+ * plan, and hashing the raw bytes would make re-importing a run's own file
130
+ * fail whenever the agent had left an optional key out.
131
+ * - `snapshot` omitted, because it is transport: the reading the plan was
132
+ * written against, used for drift reasons and nothing else. It is ephemeral
133
+ * by design — every commit moves it — so including it would mean no plan
134
+ * could ever be resumed. Everything else is meaning the owner approved,
135
+ * `assumptions` and `possibleConflicts` included: they are previewed, and
136
+ * recorded verbatim in the Intent.
137
+ *
138
+ * `stableStringify` is the same key-sorted serialisation `contractScopeHash`
139
+ * and the planning snapshot already use, so JSON key order cannot move it.
140
+ */
141
+ export function startPlanHash(proposal) {
142
+ const { snapshot: _snapshot, ...meaning } = proposal;
143
+ return createHash('sha256').update(stableStringify(meaning)).digest('hex');
144
+ }
145
+ // ── The plan → records mapping ───────────────────────────────────────────────
146
+ function intentFor(proposal, contractId, now) {
147
+ // IntentSchema takes 2–4 checks; the contract carries the full list.
148
+ return IntentSchema.parse({
149
+ id: contractId,
150
+ title: proposal.summary,
151
+ state: 'open',
152
+ checks: proposal.acceptance.slice(0, 4).map((check, index) => ({
153
+ id: `ac-${index + 1}`,
154
+ description: check.description,
155
+ status: 'unproven',
156
+ })),
157
+ createdAt: now.toISOString(),
158
+ });
159
+ }
160
+ function deltaFor(proposal, contractId, now) {
161
+ const source = proposal.delta;
162
+ return DeltaSchema.parse({
163
+ id: makeDeltaId(source.instead, now),
164
+ flowId: proposal.flowId,
165
+ step: source.step,
166
+ today: source.today,
167
+ instead: source.instead,
168
+ keep: source.keep,
169
+ assumptions: source.assumptions,
170
+ showMe: source.showMe,
171
+ // Approved, because the owner just approved this exact plan — and bound to
172
+ // the contract immediately, so it can never be framed a second time.
173
+ status: 'approved',
174
+ contractId,
175
+ createdAt: now.toISOString(),
176
+ });
177
+ }
178
+ /**
179
+ * A genuinely new Flow enters through the machinery that already exists for
180
+ * one: a Flow PROPOSAL, `status: planned`, marked `proposedBy: owner`. No new
181
+ * lifecycle type, and nothing is marked `works` — the flow is planned until the
182
+ * work exists and rediscovery finds it, at which point the ordinary
183
+ * `flow approve` path writes the canonical record. `flow approve` remains the
184
+ * single writer of canonical truth; `start` does not become a second one.
185
+ */
186
+ function plannedFlowFor(proposal, now) {
187
+ const source = proposal.plannedFlow;
188
+ return FlowProposalSchema.parse({
189
+ id: source.id,
190
+ proposalType: 'draft',
191
+ reason: `Planned as part of "${proposal.summary}" — approved by the owner at start`,
192
+ proposedBy: 'owner',
193
+ createdAt: now.toISOString(),
194
+ status: 'planned',
195
+ presentation: source.presentation,
196
+ truth: source.truth,
197
+ mechanics: source.mechanics,
198
+ });
199
+ }
200
+ /**
201
+ * The issue this change will file, built DETERMINISTICALLY from the approved
202
+ * plan — the same inputs always produce the same bytes, and the owner is shown
203
+ * exactly these bytes before confirming.
204
+ *
205
+ * It is assembled here rather than taken verbatim from the agent, which is why
206
+ * the plan carries no `issue` field at all. An agent-supplied title and body
207
+ * were a second, unvalidated description of the change that could disagree with
208
+ * the plan the owner actually approved, and the owner had no way to see it
209
+ * before it was filed on a real repository. Everything below traces to a field
210
+ * the owner just read.
211
+ */
212
+ export function issueText(input) {
213
+ const { proposal } = input;
214
+ const list = (items, none) => items.length === 0 ? `_${none}_` : items.map((item) => `- ${item}`).join('\n');
215
+ const body = [
216
+ `**What the owner asked for**`,
217
+ '',
218
+ `> ${proposal.request.split('\n').join('\n> ')}`,
219
+ '',
220
+ '## Why',
221
+ '',
222
+ proposal.rationale,
223
+ '',
224
+ '## Today',
225
+ '',
226
+ proposal.currentBehaviour,
227
+ '',
228
+ '## Instead',
229
+ '',
230
+ proposal.desiredBehaviour,
231
+ '',
232
+ '## Done when',
233
+ '',
234
+ proposal.acceptance
235
+ .map((check) => `- ${check.description} — proven by \`${check.test}\``)
236
+ .join('\n'),
237
+ '',
238
+ '## Scope',
239
+ '',
240
+ list([
241
+ ...proposal.scope.allow.map((glob) => `\`${glob}\``),
242
+ ...proposal.scope.forbid.map((glob) => `never: \`${glob}\``),
243
+ ], 'no scope stated'),
244
+ '',
245
+ `**Risk tier:** ${input.tier.tier}${input.tier.raisedByFiles ? ` (raised from ${input.tier.fromAnswers} by the files it touches)` : ''}`,
246
+ `**Builder:** ${proposal.builder}`,
247
+ '',
248
+ '---',
249
+ '',
250
+ '_Planned with an agent, imported and confirmed by the owner via `prismatica start`._',
251
+ ].join('\n');
252
+ return { title: proposal.summary, body };
253
+ }
254
+ // ── The command ──────────────────────────────────────────────────────────────
255
+ /** Every refusal that means "this plan no longer describes this repository". */
256
+ const REPLAN = {
257
+ command: 'prismatica context start',
258
+ why: 'nothing was written — export a fresh context and plan against the tree as it is now',
259
+ };
260
+ export async function runStart(options) {
261
+ const now = options.now ?? new Date();
262
+ if (options.importFile.trim() === '') {
263
+ throw new UserError('`start` needs the plan your agent wrote.', {
264
+ command: 'prismatica context start',
265
+ why: 'export the context, let the agent you are already using answer it, then import that answer',
266
+ });
267
+ }
268
+ const recovery = (target, overrides = {}) => selfHostSafe(startCommand({ ...options, ...overrides }), target);
269
+ const raw = readAnswerFile(options.importFile, {
270
+ command: 'prismatica context start',
271
+ why: 'export the context, let your agent answer it, then import that answer here',
272
+ });
273
+ // ── 1. Snapshot A — the reading the owner's decision is made against ───────
274
+ const snapshotA = await takeSnapshot(options.cwd, now);
275
+ const retry = recovery(snapshotA.repoRoot);
276
+ const validation = validateStartProposal(raw, snapshotA);
277
+ if (!validation.ok) {
278
+ throw new UserError(`The plan that came back is not usable:\n${validation.problems
279
+ .map((problem) => ` - ${problem.field}: ${problem.detail}`)
280
+ .join('\n')}`, { ...REPLAN, why: 'nothing was written — the plan is rejected, not repaired' });
281
+ }
282
+ const { proposal, tier } = validation.value;
283
+ // ── 2. The echoed snapshot: real, then what moved since ────────────────────
284
+ // Recomputing the id from the echo's own contents proves it is a snapshot
285
+ // this repository produced rather than a string the agent composed. What it
286
+ // then supplies is drift REASONS and nothing else — every decision above and
287
+ // below came from `snapshotA`.
288
+ const echoProblem = verifyHandoffSnapshot(proposal.snapshot);
289
+ if (echoProblem) {
290
+ throw new UserError(`The snapshot this plan echoes is not usable — ${echoProblem}.`, REPLAN);
291
+ }
292
+ const drift = compareSnapshots(proposal.snapshot, snapshotA);
293
+ const warnings = [
294
+ ...validation.warnings,
295
+ ...(drift.moved
296
+ ? [
297
+ `the repository moved after this plan was written (${drift.reasons.join('; ')}) — the plan still validates against the tree as it is now, but read it with that in mind`,
298
+ ]
299
+ : []),
300
+ ];
301
+ // ── 3. Resuming? Prove the lane is live and was framed from THIS plan ──────
302
+ // Before the owner is asked anything, because a mismatched plan or a lane
303
+ // that is not there is not a decision they should have to make.
304
+ const resuming = options.resume ? await verifyResumable(options, options.resume, proposal) : null;
305
+ // ── 4. The whole plan, and the exact issue text ────────────────────────────
306
+ const issue = issueText({ proposal, tier });
307
+ printProposal(proposal, resuming ? tierFromContract(resuming.contract) : tier, warnings, issue, resuming, options.issue?.trim());
308
+ // ── 5. One decision ───────────────────────────────────────────────────────
309
+ // One question, defaulting to No, and no `--yes` anywhere. The plan came from
310
+ // a session the owner was already in; asking twice about a document they have
311
+ // just been shown in full adds ceremony, not consent.
312
+ const approved = await options.prompts.confirm({
313
+ message: resuming ? `Finish ${resuming.contract.id}?` : 'Start this change?',
314
+ default: false,
315
+ });
316
+ if (!approved) {
317
+ // Deliberately nothing is saved. The plan was ephemeral, and it stays
318
+ // ephemeral — no half-state on disk for the owner to discover later. The
319
+ // imported file is still on disk, so re-running costs nothing.
320
+ return { kind: 'declined', proposal, tier, resumeCommand: retry };
321
+ }
322
+ // ── 6. Snapshot B — REVALIDATE, immediately before the first outward write ─
323
+ // Not a diff of A against B: the plan is put through the whole validator
324
+ // again, against the tree as it is now. Referential integrity is the reason —
325
+ // the Flow this Delta targets may have been approved away, and an id that was
326
+ // free when the plan was displayed may have been taken while the owner read
327
+ // it. `compareSnapshots` only supplies the better sentence.
328
+ //
329
+ // Drift between A and B is REFUSED here, unlike drift between the hand-off
330
+ // and A, which is only reported. The two windows are not the same question.
331
+ // The hand-off window is long and the owner is about to READ the plan, so
332
+ // telling them what moved is the useful answer. This window is the seconds
333
+ // between their yes and the first write, and what they said yes to was a
334
+ // preview computed from A — so anything that moved in it is something they
335
+ // approved a picture of and did not see.
336
+ const snapshotB = await takeSnapshot(options.cwd, now);
337
+ const moved = compareSnapshots(snapshotA, snapshotB);
338
+ const revalidation = validateStartProposal(raw, snapshotB);
339
+ if (moved.moved || !revalidation.ok) {
340
+ throw new UserError(moved.moved
341
+ ? `The repository changed while this plan was being reviewed (${moved.reasons.join('; ')}).`
342
+ : `The plan no longer validates against the repository:\n${(revalidation.ok ? [] : revalidation.problems)
343
+ .map((problem) => ` - ${problem.field}: ${problem.detail}`)
344
+ .join('\n')}`, { ...REPLAN, why: 'nothing was created — plan against the tree as it is now' });
345
+ }
346
+ if (resuming) {
347
+ const current = await verifyResumable(options, resuming.contract.id, proposal);
348
+ if (!sameRecordIgnoring(resuming.contract, current.contract, []) ||
349
+ !sameBody(resuming.contractBody, current.contractBody)) {
350
+ throw new UserError(`The contract for ${resuming.contract.id} changed while this plan was being reviewed.`, {
351
+ command: retry,
352
+ why: 'nothing was written — review the current contract before resuming',
353
+ });
354
+ }
355
+ return finishResume(current, proposal, now);
356
+ }
357
+ if (!options.issue?.trim() && !(await ghInstalled())) {
358
+ throw new UserError('An issue is required, and the GitHub CLI (`gh`) is not available.', {
359
+ command: recovery(snapshotB.repoRoot, { issue: '<url-or-#number>' }),
360
+ why: 'no contract without an issue — link one you already have',
361
+ });
362
+ }
363
+ // ── 5. Create the issue ───────────────────────────────────────────────────
364
+ let issueLink;
365
+ const existing = options.issue?.trim();
366
+ if (existing) {
367
+ issueLink = existing;
368
+ }
369
+ else {
370
+ const created = await ghIssueCreate(snapshotB.repoRoot, issue.title, issue.body);
371
+ if (!created.ok || !created.url) {
372
+ // Two genuinely different facts, never collapsed into one. Telling the
373
+ // owner "nothing was created" when an issue may exist is what produces
374
+ // the duplicate — so when we cannot tell, we say we cannot tell and send
375
+ // them to look, which is the only recovery that cannot create a second.
376
+ throw new UserError(created.uncertain
377
+ ? `The GitHub issue may or may not have been created — \`gh\` did not report a usable result: ${created.error ?? 'unknown error'}`
378
+ : `Could not create the GitHub issue: ${created.error ?? 'unknown error'}`, {
379
+ command: created.uncertain
380
+ ? `gh issue list --search ${shellQuote(issue.title)} --state open # then: ${recovery(snapshotB.repoRoot, { issue: '<url-or-#number>' })}`
381
+ : recovery(snapshotB.repoRoot, { issue: '<url-or-#number>' }),
382
+ why: created.uncertain
383
+ ? 'nothing else was created — check for the issue first and link it, rather than opening a duplicate'
384
+ : 'nothing was created — link an existing issue instead',
385
+ });
386
+ }
387
+ issueLink = created.url;
388
+ }
389
+ // ── 7. Frame the lane ─────────────────────────────────────────────────────
390
+ let framed;
391
+ try {
392
+ framed = await runFrame({
393
+ cwd: options.cwd,
394
+ issue: issueLink,
395
+ // Exactly the fields `verifyResumable` compares a lane's contract
396
+ // against, from exactly the same function — so "was this lane framed from
397
+ // this plan?" and "what does this plan frame?" can never answer
398
+ // differently.
399
+ ...framedFieldsFor(proposal),
400
+ // The durable binding between this lane and the complete plan the owner
401
+ // just approved. Recorded HERE, at the exact point `--resume` becomes
402
+ // possible, so a resume can never be handed a different plan.
403
+ planHash: startPlanHash(proposal),
404
+ answers: {
405
+ touchesAuth: proposal.risk.touchesAuth,
406
+ touchesPayments: proposal.risk.touchesPayments,
407
+ touchesSavedData: proposal.risk.touchesSavedData,
408
+ copyOnly: proposal.risk.copyOnly,
409
+ },
410
+ // The deterministic floor, already computed — an agent can raise the
411
+ // tier by its answers but can never lower what the paths demand.
412
+ tierOverride: tier.tier,
413
+ installHook: options.installHook,
414
+ now,
415
+ });
416
+ }
417
+ catch (error) {
418
+ throw partialFailure(`The issue was created (${issueLink}) but the lane could not be framed: ${describe(error)}`, recovery(snapshotB.repoRoot, { issue: issueLink }), 'the issue is real and is kept — re-run with it linked rather than opening a duplicate');
419
+ }
420
+ const { contract: framedContract, worktree } = framed;
421
+ // Past this point the lane exists, so recovery is `--resume`: it verifies
422
+ // what is already there and writes only what is genuinely missing.
423
+ const recover = recovery(snapshotB.repoRoot, { issue: issueLink, resume: framedContract.id });
424
+ // ── 8. Approved intent, into THIS lane ────────────────────────────────────
425
+ let intent;
426
+ try {
427
+ intent = writeApprovedIntent(worktree, framedContract, proposal);
428
+ }
429
+ catch (error) {
430
+ throw partialFailure(`The lane ${worktree} exists, but the approved intent could not be written: ${describe(error)}`, recover, 'the issue and lane are kept — nothing was lost');
431
+ }
432
+ // ── 9. The Delta or the Planned Flow, into the same lane ──────────────────
433
+ let planRecords;
434
+ try {
435
+ planRecords = writePlanRecords(worktree, framedContract.id, proposal, now);
436
+ }
437
+ catch (error) {
438
+ throw partialFailure(`The lane ${worktree} exists, but the approved ${proposal.kind === 'new-flow' ? 'Planned Flow' : 'Delta'} could not be written: ${describe(error)}`, recover, 'the issue, lane and intent are kept — resume completes only what is missing');
439
+ }
440
+ // ── 10. The builder pack ──────────────────────────────────────────────────
441
+ try {
442
+ await runPack({ cwd: worktree, contractId: framedContract.id });
443
+ }
444
+ catch (error) {
445
+ throw partialFailure(`The lane ${worktree} is set up, but the builder brief could not be written: ${describe(error)}`, recover, 'everything before this succeeded — this is the only step left');
446
+ }
447
+ // Re-read, so what we report is what is actually on disk — never what we
448
+ // intended to write. "The build started" is a claim about the filesystem.
449
+ const contract = readContract(worktree, framedContract.id).data;
450
+ return {
451
+ kind: 'started',
452
+ proposal,
453
+ tier,
454
+ contract,
455
+ worktree,
456
+ issue: issueLink,
457
+ intent,
458
+ delta: planRecords.delta,
459
+ plannedFlow: planRecords.plannedFlow,
460
+ hookInstalled: framed.hookInstalled,
461
+ warnings,
462
+ };
463
+ }
464
+ /**
465
+ * The contract fields `runFrame` derives from a plan — the plan's "normalised"
466
+ * form, in the sense that matters here.
467
+ *
468
+ * ONE function, used twice: to frame a new lane, and to check that an existing
469
+ * lane really was framed from the plan being imported. Comparing a hand-picked
470
+ * subset instead is how "the title and the acceptance descriptions match, so
471
+ * this must be the same plan" came to be true of two plans with different
472
+ * SCOPE, different non-goals, a different docs delta and a different builder.
473
+ *
474
+ * The risk tier is deliberately not here. It is not a field of the plan: it is
475
+ * decided from the plan's risk answers AND the repository's own tier rules, and
476
+ * the contract's recorded tier is what everything downstream already binds to.
477
+ * Resume reads it back off the contract (`tierFromContract`) and never
478
+ * re-decides it — a repository whose `tierRules` changed after framing must not
479
+ * stop a half-created change from being finished.
480
+ */
481
+ export function framedFieldsFor(proposal) {
482
+ return {
483
+ title: proposal.summary,
484
+ allowedPaths: proposal.scope.allow,
485
+ forbiddenPaths: proposal.scope.forbid,
486
+ nonGoals: [
487
+ ...proposal.mustNotChange,
488
+ ...proposal.exclusions,
489
+ ...proposal.desiredRules.map((rule) => `Desired rule (not yet truth): ${rule}`),
490
+ ],
491
+ acceptanceChecks: proposal.acceptance.map((check, index) => ({
492
+ id: `ac-${index + 1}`,
493
+ description: check.description,
494
+ test: check.test,
495
+ })),
496
+ // The plan named the docs that go stale if this lands; the check engine
497
+ // then requires each of them to have really changed.
498
+ docsDelta: proposal.docsDelta,
499
+ // From the plan, resolved during the planning conversation. Never inferred
500
+ // from whoever planned the change, and no longer settable by a flag that
501
+ // could contradict the document the owner is about to approve.
502
+ builder: proposal.builder,
503
+ };
504
+ }
505
+ /**
506
+ * `--resume <id>` finishes a change whose LANE ALREADY EXISTS.
507
+ *
508
+ * It exists for exactly one shape of failure: framing succeeded, and something
509
+ * after it did not. Before framing there is nothing to resume — an issue may
510
+ * have been created, and the recovery for that is an ordinary `start --issue
511
+ * <url>`, which is why this refuses outright when no live lane is there.
512
+ *
513
+ * This half runs BEFORE the owner is shown anything, and establishes two facts:
514
+ *
515
+ * 1. a LIVE lane exists for this contract. `listOpenChanges` is the test,
516
+ * because it means exactly "a worktree on `change/<id>` that carries a
517
+ * contract". The general change resolver deliberately falls back to the
518
+ * current checkout and then to main, which is right for `pack` or `check`
519
+ * and wrong here: an archived contract sitting on main, or an unrelated
520
+ * checkout that happens to hold one, would otherwise satisfy a resume and
521
+ * be "completed" in a tree that is not the change's lane at all.
522
+ * 2. that lane was framed from THIS plan — the WHOLE plan, by the digest
523
+ * framing recorded (`startPlanHash`), not merely the fields a contract
524
+ * happens to carry.
525
+ *
526
+ * The digest is the load-bearing test and the field comparison is kept only for
527
+ * the SENTENCE it produces: an owner who imported the wrong file is better
528
+ * served by "they differ on: allowed scope, builder" than by two hashes. A lane
529
+ * whose contract records NO digest is refused outright rather than falling back
530
+ * to that comparison — it can prove nothing about which plan it was framed
531
+ * from, and accepting it would leave exactly the hole the digest closes.
532
+ *
533
+ * Everything after it — preview, confirmation, snapshot-B revalidation — is the
534
+ * ordinary `start` path, unchanged. Resume is not a quiet route past the owner.
535
+ */
536
+ async function verifyResumable(options, contractId, proposal) {
537
+ const lane = (await listOpenChanges(options.cwd)).find((change) => change.id === contractId);
538
+ if (!lane || !contractExists(lane.home, contractId)) {
539
+ throw new UserError(`There is no live lane for "${contractId}" to resume.`, {
540
+ command: startCommand({
541
+ ...options,
542
+ resume: undefined,
543
+ issue: '<url-or-#number>',
544
+ }),
545
+ why: 'resume finishes a change whose lane exists; if only the issue was created, start again and link it',
546
+ });
547
+ }
548
+ const record = readContract(lane.home, contractId);
549
+ const contract = record.data;
550
+ const framed = framedFieldsFor(proposal);
551
+ const differences = [
552
+ contract.title !== framed.title ? `title ("${contract.title}" vs "${framed.title}")` : null,
553
+ listsDiffer(contract.allowedPaths, framed.allowedPaths) ? 'allowed scope' : null,
554
+ listsDiffer(contract.forbiddenPaths, framed.forbiddenPaths) ? 'forbidden scope' : null,
555
+ listsDiffer(contract.nonGoals, framed.nonGoals) ? 'non-goals' : null,
556
+ listsDiffer(contract.docsDelta, framed.docsDelta) ? 'docs delta' : null,
557
+ listsDiffer(contract.acceptanceChecks.map((check) => `${check.id}|${check.description}|${check.test}`), framed.acceptanceChecks.map((check) => `${check.id}|${check.description}|${check.test}`))
558
+ ? 'acceptance checks'
559
+ : null,
560
+ contract.builder !== undefined && contract.builder !== framed.builder
561
+ ? `builder ("${contract.builder}" vs "${framed.builder}")`
562
+ : null,
563
+ ].filter((difference) => difference !== null);
564
+ // The digest first, because it is the complete test — the field differences
565
+ // below only make its verdict readable. A plan can match every contract field
566
+ // and still be a different approved document.
567
+ if (contract.planHash === undefined) {
568
+ throw new UserError(`The lane for "${contractId}" records no approved plan, so nothing can prove this file is the one it was framed from.`, {
569
+ command: `prismatica pack ${contractId}`,
570
+ why: 'nothing was written — finish this change with the ordinary commands rather than importing a plan the lane cannot be checked against',
571
+ });
572
+ }
573
+ if (contract.planHash !== startPlanHash(proposal)) {
574
+ throw new UserError(`That plan is not the one ${contractId} was framed from${differences.length > 0 ? ` — they differ on: ${differences.join(', ')}` : ''}.`, {
575
+ command: `prismatica pack ${contractId}`,
576
+ why: differences.length > 0
577
+ ? 'resume completes the change this plan started; it is not a way to re-plan an existing one, and the approved intent would otherwise record terms the contract never carried'
578
+ : 'the contract fields match, but the approved plan behind them does not — the meaning the owner said yes to (the request, the reasoning, the Delta or Planned Flow) is not the same document',
579
+ });
580
+ }
581
+ return { contract, contractBody: record.body, worktree: lane.home };
582
+ }
583
+ /** Order-sensitive: `["a","b"]` and `["b","a"]` are two different scopes. */
584
+ function listsDiffer(a, b) {
585
+ return a.length !== b.length || a.some((value, index) => value !== b[index]);
586
+ }
587
+ /**
588
+ * The write half of resume: verify each record that already exists, create only
589
+ * what is genuinely missing.
590
+ *
591
+ * A record that exists and is SEMANTICALLY IDENTICAL to the one this run would
592
+ * write is the interrupted run's own work — it is left exactly as it is, with
593
+ * its original timestamp. One that DIFFERS fails closed rather than being
594
+ * overwritten, because the version on disk may be the one the owner edited.
595
+ * Comparison ignores only the deterministic stamps a second run cannot
596
+ * reproduce (`createdAt`, and a Delta's id, which embeds the instant it was
597
+ * made), through the same JSON-round-trip comparison the proposals importer
598
+ * uses — one implementation of "is this the same record", not two.
599
+ */
600
+ async function finishResume(resumable, proposal, now) {
601
+ const { contract, worktree } = resumable;
602
+ const contractId = contract.id;
603
+ const completed = [];
604
+ const alreadyPresent = [];
605
+ // ── The approved Intent, and the contract link to it ──────────────────────
606
+ // Two writes, so THREE states can be on disk — and the middle one is the
607
+ // reason existence is tested by RECORD and not by link. `writeApprovedIntent`
608
+ // writes `intents/<contractId>.md` first and links it into the contract
609
+ // second, so an interrupted run leaves a valid Intent that the contract does
610
+ // not reference. Asking `contract.intent && intentExists(…)` reports that
611
+ // orphan as absent and OVERWRITES it — destroying a record principle 5 says
612
+ // to preserve. It is not hypothetical: `pack` already fails closed on exactly
613
+ // this state, which is also why the link must be repaired BEFORE `runPack`
614
+ // below rather than after it.
615
+ //
616
+ // The intent id is always the contract id (`intentFor`), so that is the only
617
+ // path to look at; a link pointing anywhere else was not written by this
618
+ // sequence and fails closed rather than being quietly replaced.
619
+ if (contract.intent !== undefined && contract.intent !== contractId) {
620
+ throw new UserError(`The contract for ${contractId} links a different approved intent (${contract.intent}).`, {
621
+ command: `prismatica pack ${contractId}`,
622
+ why: 'nothing was overwritten — resume finishes the plan this lane was framed from, and that link was not written by it',
623
+ });
624
+ }
625
+ if (intentExists(worktree, contractId)) {
626
+ const intended = intentFor(proposal, contractId, new Date(contract.createdAt));
627
+ const onDisk = readIntent(worktree, contractId);
628
+ // THE WHOLE RECORD, frontmatter AND body. The frontmatter is a title, the
629
+ // check descriptions and a timestamp; the body is the approved plan itself,
630
+ // and it is the half `pack` and `review` hand on verbatim. Comparing only
631
+ // the frontmatter reported an Intent whose plan had been rewritten as "the
632
+ // interrupted run's own work, unchanged" — and then a missing pack embedded
633
+ // that rewritten plan as the one the owner approved.
634
+ if (!sameRecordIgnoring(onDisk.data, intended, ['createdAt']) ||
635
+ !sameBody(onDisk.body, approvedIntentBody(proposal, contract.tier))) {
636
+ throw new UserError(`A different approved intent (${contractId}) is already in this lane.`, {
637
+ command: `prismatica pack ${contractId}`,
638
+ why: 'nothing was overwritten — the intent on disk may be the one you edited',
639
+ });
640
+ }
641
+ alreadyPresent.push(`intent ${contractId}`);
642
+ if (contract.intent === undefined) {
643
+ // The interruption window itself: a valid Intent, an unlinked contract.
644
+ // Only the missing link is written; the Intent keeps its bytes and its
645
+ // original timestamp.
646
+ const linked = { ...contract, intent: contractId };
647
+ writeContract(worktree, linked, renderContractBody(linked));
648
+ completed.push(`contract link to intent ${contractId}`);
649
+ }
650
+ }
651
+ else {
652
+ writeApprovedIntent(worktree, contract, proposal);
653
+ completed.push(`intent ${contractId}`);
654
+ }
655
+ const records = writePlanRecords(worktree, contractId, proposal, now, { resuming: true });
656
+ completed.push(...records.completed);
657
+ alreadyPresent.push(...records.alreadyPresent);
658
+ // ── The pack, and the stage it is supposed to have advanced ───────────────
659
+ // A pack FILE existing does not prove the pack STEP completed: `runPack`
660
+ // writes the brief and only then advances `frame` → `pack`, so a failure
661
+ // between them leaves a perfectly good pack on a contract still at `frame`.
662
+ // Reporting that as resumed would declare a Start finished while one of its
663
+ // postconditions is missing.
664
+ //
665
+ // Re-read the contract first. `contractScopeHash` includes `intent`, so
666
+ // repairing the link above CHANGES the hash — comparing the pack against the
667
+ // stale in-memory contract would call the original run's own pack stale on
668
+ // every orphan-intent resume.
669
+ const current = readContract(worktree, contractId).data;
670
+ const pack = await completePack(worktree, current);
671
+ completed.push(...pack.completed);
672
+ alreadyPresent.push(...pack.alreadyPresent);
673
+ return {
674
+ kind: 'resumed',
675
+ contract: readContract(worktree, contractId).data,
676
+ worktree,
677
+ completed,
678
+ alreadyPresent,
679
+ };
680
+ }
681
+ /**
682
+ * Bring the pack step to its real postcondition: the expected brief on disk AND
683
+ * the contract at (or past) stage `pack`.
684
+ *
685
+ * `packExists` alone is not that predicate. `runPack` writes the brief and then
686
+ * advances the stage in a second write, so the pair can be interrupted between
687
+ * them — and resume reporting success there would leave the change stuck at
688
+ * `frame` with nothing saying so.
689
+ *
690
+ * "The expected pack" is the pack's own staleness test, not a new one: its
691
+ * `contractHash` must still equal `contractScopeHash(contract)`, which is
692
+ * exactly what `open` and the gate already mean by a stale pack. A mismatch
693
+ * (or a brief that will not parse) is therefore REGENERATED rather than
694
+ * refused: a pack is derived, unsigned material with a documented cure, and
695
+ * `runPack` is that cure. Nothing here is the owner's own writing to preserve —
696
+ * unlike the Intent, the Delta and the Flow proposal above, every one of which
697
+ * fails closed on a difference.
698
+ */
699
+ async function completePack(worktree, contract) {
700
+ const contractId = contract.id;
701
+ if (!(await packIsCurrent(worktree, contract))) {
702
+ // Writes the brief and advances the stage — both postconditions at once.
703
+ await runPack({ cwd: worktree, contractId });
704
+ return { completed: [`pack ${contractId}`], alreadyPresent: [] };
705
+ }
706
+ if (stageIndex(contract.stage) < stageIndex('pack')) {
707
+ const advanced = { ...contract, stage: 'pack' };
708
+ writeContract(worktree, advanced, renderContractBody(advanced));
709
+ return { completed: [`contract stage → pack`], alreadyPresent: [`pack ${contractId}`] };
710
+ }
711
+ return { completed: [], alreadyPresent: [`pack ${contractId}`] };
712
+ }
713
+ /**
714
+ * The pack on disk is the brief this contract produces right now — the BODY, not
715
+ * merely a matching `contractHash`.
716
+ *
717
+ * The hash stays, and stays first: it is exactly what `open` and the gate mean by
718
+ * a stale pack, and it is cheap. But it lives in the FRONTMATTER, so an emptied
719
+ * or edited brief carrying the original hash was read as current — and the brief
720
+ * is the entire thing the builder is handed. So the body is compared against a
721
+ * regenerated one from `packBrief`, the same function `runPack` writes from.
722
+ *
723
+ * ponytail: the brief embeds the ledger-derived progress note and the Intent
724
+ * body, so resuming a lane where a check has already run will see a legitimate
725
+ * mismatch and rebuild. That is non-destructive — derived, unsigned material
726
+ * whose documented cure is `runPack` — but it dirties the lane and costs one
727
+ * re-`check`. Narrow the comparison only if that turns out to bite; resume's real
728
+ * case is a lane framed moments ago, where the two briefs are identical.
729
+ */
730
+ async function packIsCurrent(worktree, contract) {
731
+ if (!packExists(worktree, contract.id)) {
732
+ return false;
733
+ }
734
+ try {
735
+ const onDisk = readPack(worktree, contract.id);
736
+ if (onDisk.data.contractHash !== contractScopeHash(contract)) {
737
+ return false;
738
+ }
739
+ return sameBody(onDisk.body, (await packBrief({ cwd: worktree, contractId: contract.id })).brief);
740
+ }
741
+ catch {
742
+ // Unreadable is not "conflicting" — it is a derived file that cannot be
743
+ // trusted to be the expected brief, so it is rebuilt from the contract. A
744
+ // `packBrief` that refuses for a real reason raises it properly from
745
+ // `runPack` a moment later.
746
+ return false;
747
+ }
748
+ }
749
+ /**
750
+ * A record's body as it comes BACK off disk, against the body a write would put
751
+ * there. `writeMarkdownRecord` pads with a newline either side and
752
+ * `readMarkdownRecord` trims, so the comparison is against the trimmed form —
753
+ * one place that knows this, rather than one per record kind.
754
+ */
755
+ function sameBody(onDisk, expected) {
756
+ return onDisk === expected.trim();
757
+ }
758
+ /**
759
+ * The tier is read back off the contract on resume rather than recomputed. It
760
+ * was decided deterministically when the contract was framed, and recomputing
761
+ * it against a tree that has since moved could only ever disagree with the
762
+ * record everything downstream already binds to.
763
+ */
764
+ function tierFromContract(contract) {
765
+ return {
766
+ fromAnswers: contract.tier,
767
+ fromFiles: contract.tier,
768
+ tier: contract.tier,
769
+ raisedByFiles: false,
770
+ };
771
+ }
772
+ function writeApprovedIntent(worktree, contract, proposal) {
773
+ const intent = intentFor(proposal, contract.id, new Date(contract.createdAt));
774
+ writeIntent(worktree, intent, approvedIntentBody(proposal, contract.tier));
775
+ const linked = { ...contract, intent: intent.id };
776
+ writeContract(worktree, linked, renderContractBody(linked));
777
+ return intent;
778
+ }
779
+ /**
780
+ * The Delta (existing Flow) or the Planned Flow proposal (new Flow). Technical
781
+ * work writes neither — honest technical work invents no Flow.
782
+ *
783
+ * On a first run an existing record is an error: nothing should be there. On a
784
+ * resume an IDENTICAL record is the interrupted run's own work and is left
785
+ * alone, while a DIFFERENT one fails closed. That asymmetry is the whole point
786
+ * of the flag — "already there" means something different depending on whether
787
+ * this run is meant to have created it.
788
+ */
789
+ function writePlanRecords(worktree, contractId, proposal, now, options = {}) {
790
+ const completed = [];
791
+ const alreadyPresent = [];
792
+ if (proposal.kind === 'existing-flow') {
793
+ // Found by its `contractId`, never by recomputing the id: a Delta id embeds
794
+ // the instant it was made, so a later run would compute a different one and
795
+ // write a duplicate beside the record it was meant to recognise.
796
+ const existing = findDeltaForContract(worktree, contractId);
797
+ if (existing) {
798
+ if (!options.resuming) {
799
+ throw new Error(`a delta "${existing.id}" already exists in the lane`);
800
+ }
801
+ // The WHOLE record, not a couple of fields. `today`, `keep`, `assumptions`
802
+ // and `showMe` are every bit as much the owner's approved terms as
803
+ // `instead` is, and comparing a subset is how an edited record gets
804
+ // reported as "already there, unchanged". `id` is excluded because a
805
+ // Delta id embeds the instant it was made, so a second run computes a
806
+ // different one for the same content.
807
+ if (!sameRecordIgnoring(existing, deltaFor(proposal, contractId, now), ['id', 'createdAt'])) {
808
+ throw new UserError(`A different Delta (${existing.id}) is already bound to ${contractId}.`, {
809
+ command: `prismatica delta show ${existing.id}`,
810
+ why: 'nothing was overwritten — the Delta on disk may be the one you edited',
811
+ });
812
+ }
813
+ alreadyPresent.push(`delta ${existing.id}`);
814
+ return { delta: existing, plannedFlow: null, completed, alreadyPresent };
815
+ }
816
+ const delta = deltaFor(proposal, contractId, now);
817
+ writeDelta(worktree, delta, renderDeltaBody(delta));
818
+ completed.push(`delta ${delta.id}`);
819
+ return { delta, plannedFlow: null, completed, alreadyPresent };
820
+ }
821
+ if (proposal.kind === 'new-flow') {
822
+ const id = proposal.plannedFlow.id;
823
+ if (flowProposalExists(worktree, id)) {
824
+ if (!options.resuming) {
825
+ throw new Error(`a proposal for "${id}" already exists`);
826
+ }
827
+ const onDisk = readFlowProposal(worktree, id).data;
828
+ // Again the whole record: a Planned Flow's steps, variations, rules and
829
+ // touchpoints are the substance of it, and `status` plus `goal` are two
830
+ // fields that two genuinely different proposals can share.
831
+ if (!sameRecordIgnoring(onDisk, plannedFlowFor(proposal, now), ['createdAt'])) {
832
+ throw new UserError(`A different proposal for "${id}" already exists in this lane.`, {
833
+ command: `prismatica flow show ${id}`,
834
+ why: 'nothing was overwritten — review what is there before replacing it',
835
+ });
836
+ }
837
+ alreadyPresent.push(`flow proposal ${id}`);
838
+ return { delta: null, plannedFlow: onDisk, completed, alreadyPresent };
839
+ }
840
+ const plannedFlow = plannedFlowFor(proposal, now);
841
+ writeFlowProposal(worktree, plannedFlow, renderFlowProposalBody(plannedFlow));
842
+ completed.push(`flow proposal ${plannedFlow.id}`);
843
+ return { delta: null, plannedFlow, completed, alreadyPresent };
844
+ }
845
+ return { delta: null, plannedFlow: null, completed, alreadyPresent };
846
+ }
847
+ function describe(error) {
848
+ return error instanceof Error ? error.message : String(error);
849
+ }
850
+ /**
851
+ * The Intent body: the complete approved plan meaning, deterministically rendered.
852
+ *
853
+ * It reads EXACTLY the two things `--resume` has already pinned, and nothing
854
+ * else. That is the load-bearing property rather than a tidiness one: resume
855
+ * has to tell the interrupted run's own Intent from an altered one, and the
856
+ * frontmatter cannot answer it — `IntentSchema` carries a title, up to four
857
+ * check descriptions and a timestamp, while the BODY carries the plan, and
858
+ * `pack` and `review` both embed that body VERBATIM, so an unchecked one
859
+ * reaches the builder and the reviewer as the plan the owner approved.
860
+ *
861
+ * The two inputs, and why they are the only two admissible:
862
+ *
863
+ * - the plan's MEANING — `proposal` with `snapshot` dropped, which is
864
+ * precisely what `startPlanHash` hashes and therefore precisely what
865
+ * `verifyResumable` has already proved identical. `snapshot` is TRANSPORT
866
+ * and is excluded there because including it "would make every plan
867
+ * unresumable"; reading it here reintroduced that exact defect one layer
868
+ * down, in both the provenance line and the embedded JSON. Two documents
869
+ * that legitimately pass the resume gate can echo different snapshots — the
870
+ * hand-off lives in an OS temp directory the system may reap, so
871
+ * re-exporting and re-planning is an ordinary recovery, not an edge case —
872
+ * and resume answered that with "a different approved intent is already in
873
+ * this lane", a false refusal over the one field the binding says is not
874
+ * part of the plan. Equal `planHash` now implies an equal body BY
875
+ * CONSTRUCTION, rather than by an audit of which inputs happen to be stable.
876
+ * The snapshot is not lost as decision context: `printProposal` shows it
877
+ * before the owner's yes, drift against it is reported, and the echo itself
878
+ * is proved genuine by `verifyHandoffSnapshot`. It is deliberately not a
879
+ * durable part of the approved meaning.
880
+ * - the tier is the contract's own `tier`, the value everything downstream
881
+ * already binds to, with no "raised from X by the files it touches" note.
882
+ * That note needs `fromAnswers`, which needs `config.defaultTier` and the
883
+ * repo's `tierRules` — the very inputs `tierFromContract` exists to keep
884
+ * resume independent of, since a repo whose rules moved must not strand a
885
+ * half-created change. The fact still reaches the owner: `issueText` puts it
886
+ * in the issue body, and `printProposal` shows it before they confirm.
887
+ *
888
+ * Requiring an exact body is the kind of rule that can refuse to READ a record
889
+ * already on disk, which this codebase guards against (`Contract.planHash`, the
890
+ * `builder` pattern). It is safe here for the same reason it was safe there:
891
+ * `--resume` ships in this change, so no Intent any resume can reach predates
892
+ * this body.
893
+ */
894
+ function approvedIntentBody(proposal, tier) {
895
+ // Dropped at the top, in the same spelling `startPlanHash` uses, so every
896
+ // interpolation below is provably one of the fields that hash pins — there is
897
+ // no `proposal.` left in the template to reach the snapshot through.
898
+ const { snapshot: _snapshot, ...meaning } = proposal;
899
+ return `# Approved intent: ${meaning.summary}
900
+
901
+ The owner imported this plan and confirmed the change. Its approved meaning is
902
+ recorded here verbatim; the transport snapshot is deliberately omitted.
903
+
904
+ - **Kind:** ${meaning.kind}
905
+ - **Risk tier:** ${tier}
906
+ - **Builder:** ${meaning.builder}
907
+
908
+ ## What the owner asked for
909
+
910
+ This is the wording the owner and the planning agent settled on together, taken
911
+ from the plan itself — not a description reconstructed afterwards.
912
+
913
+ > ${meaning.request.split('\n').join('\n> ')}
914
+
915
+ ## Why
916
+
917
+ ${meaning.rationale}
918
+
919
+ ## Today
920
+
921
+ ${meaning.currentBehaviour}
922
+
923
+ ## Instead
924
+
925
+ ${meaning.desiredBehaviour}
926
+
927
+ ## Advisory — the planning agent's reading, not established fact
928
+
929
+ The two lists below are the planning agent's interpretation. Deterministic code
930
+ checked that this plan is complete, in scope, correctly bound, and correctly
931
+ tiered; it did not and cannot check whether this reading of the app is right.
932
+ Verify them against the code.
933
+
934
+ **Assumptions**
935
+
936
+ ${meaning.assumptions.length === 0 ? '_none stated_' : meaning.assumptions.map((a) => `- ${a}`).join('\n')}
937
+
938
+ **Possible conflicts**
939
+
940
+ ${meaning.possibleConflicts.length === 0 ? '_none stated_' : meaning.possibleConflicts.map((c) => `- ${c}`).join('\n')}
941
+
942
+ ## The complete approved plan
943
+
944
+ \`\`\`json
945
+ ${JSON.stringify(meaning, null, 2)}
946
+ \`\`\`
947
+ `;
948
+ }
949
+ // ── Printing ─────────────────────────────────────────────────────────────────
950
+ const KIND_LABEL = {
951
+ 'existing-flow': 'a change to an existing Flow',
952
+ 'new-flow': 'a genuinely new Flow',
953
+ technical: 'technical work (no product Flow)',
954
+ };
955
+ const RISK_LABEL = [
956
+ { key: 'touchesAuth', label: 'touches authentication' },
957
+ { key: 'touchesPayments', label: 'touches payments' },
958
+ { key: 'touchesSavedData', label: 'touches saved data' },
959
+ { key: 'copyOnly', label: 'copy/colour/spacing only' },
960
+ ];
961
+ /**
962
+ * The whole plan, and nothing summarised away.
963
+ *
964
+ * The REQUEST comes first, because everything below is an answer to it and the
965
+ * owner cannot judge an answer without seeing the question it was given. Then
966
+ * every consequence the confirmation actually buys — the scope, the Delta or
967
+ * Planned Flow in full, the exclusions, the desired rules, the risk answers
968
+ * behind the tier, and the exact GitHub issue bytes. A preview that shows only
969
+ * the headline fields asks for consent to a document the owner has not read.
970
+ */
971
+ export function printProposal(proposal, tier, warnings, issue, resuming = null, existingIssue, width = ui.terminalWidth()) {
972
+ console.log('');
973
+ if (resuming) {
974
+ console.log(ui.warn(`Finishing ${resuming.contract.id} — its lane already exists.`));
975
+ console.log(ui.dim(` ${resuming.worktree}`));
976
+ console.log(ui.dim(' Records already there and identical are kept; only what is missing is written.'));
977
+ console.log('');
978
+ }
979
+ console.log(ui.bold('What you asked for'));
980
+ console.log('');
981
+ for (const line of proposal.request.split('\n')) {
982
+ console.log(` ${line}`);
983
+ }
984
+ console.log('');
985
+ console.log(ui.bold(proposal.summary));
986
+ console.log('');
987
+ console.log(ui.field('What', KIND_LABEL[proposal.kind], { width }));
988
+ if (proposal.flowId) {
989
+ console.log(ui.field('Flow', proposal.flowId, { width }));
990
+ }
991
+ console.log(ui.field('Why', proposal.rationale, { width }));
992
+ console.log(ui.field('Today', proposal.currentBehaviour, { width }));
993
+ console.log(ui.field('Instead', proposal.desiredBehaviour, { width }));
994
+ console.log(ui.field('Risk tier', tier.raisedByFiles
995
+ ? `${tier.tier} (raised from ${tier.fromAnswers} by the files it touches)`
996
+ : tier.tier, { width }));
997
+ console.log(ui.field('Builder', proposal.builder, { width }));
998
+ console.log('');
999
+ console.log(ui.bold('Scope'));
1000
+ for (const glob of proposal.scope.allow) {
1001
+ console.log(ui.bullet(glob, { width }));
1002
+ }
1003
+ for (const glob of proposal.scope.forbid) {
1004
+ console.log(ui.bullet(`never: ${glob}`, { width }));
1005
+ }
1006
+ // The tier is a deterministic decision, so the answers behind it are shown
1007
+ // rather than left to be inferred from the one word it produced.
1008
+ console.log('');
1009
+ console.log(ui.bold('Risk answers'));
1010
+ for (const { key, label } of RISK_LABEL) {
1011
+ console.log(ui.bullet(`${label}: ${proposal.risk[key] ? 'yes' : 'no'}`, { width }));
1012
+ }
1013
+ console.log(ui.bullet(`why: ${proposal.risk.rationale}`, { width }));
1014
+ if (proposal.mustNotChange.length > 0) {
1015
+ console.log('');
1016
+ console.log(ui.bold('Must not change'));
1017
+ for (const item of proposal.mustNotChange) {
1018
+ console.log(ui.bullet(item, { width }));
1019
+ }
1020
+ }
1021
+ if (proposal.exclusions.length > 0) {
1022
+ console.log('');
1023
+ console.log(ui.bold('Deliberately excluded'));
1024
+ for (const item of proposal.exclusions) {
1025
+ console.log(ui.bullet(item, { width }));
1026
+ }
1027
+ }
1028
+ if (proposal.desiredRules.length > 0) {
1029
+ console.log('');
1030
+ console.log(ui.bold('Desired rules — contract constraints, not app truth'));
1031
+ for (const rule of proposal.desiredRules) {
1032
+ console.log(ui.bullet(rule, { width }));
1033
+ }
1034
+ }
1035
+ console.log('');
1036
+ console.log(ui.bold('Done when'));
1037
+ for (const check of proposal.acceptance) {
1038
+ console.log(ui.bullet(`${check.description} — proven by ${check.test}`, { width }));
1039
+ }
1040
+ if (proposal.docsDelta.length > 0) {
1041
+ console.log('');
1042
+ console.log(ui.bold('Docs that must change'));
1043
+ for (const file of proposal.docsDelta) {
1044
+ console.log(ui.bullet(file, { width }));
1045
+ }
1046
+ }
1047
+ // The Delta and the Planned Flow are records this confirmation WRITES, so
1048
+ // they are shown in the same detail the owner would see in `delta show` or
1049
+ // `flow show` — not reduced to an id.
1050
+ if (proposal.delta) {
1051
+ console.log('');
1052
+ console.log(ui.bold('The Flow Delta this will record (approved)'));
1053
+ if (proposal.delta.step !== undefined) {
1054
+ console.log(ui.field('Step', String(proposal.delta.step), { width }));
1055
+ }
1056
+ console.log(ui.field('Today', proposal.delta.today, { width }));
1057
+ console.log(ui.field('Instead', proposal.delta.instead, { width }));
1058
+ console.log(ui.field('Show me', proposal.delta.showMe, { width }));
1059
+ for (const item of proposal.delta.keep) {
1060
+ console.log(ui.bullet(`keep: ${item}`, { width }));
1061
+ }
1062
+ for (const item of proposal.delta.assumptions) {
1063
+ console.log(ui.bullet(`assumes: ${item}`, { width }));
1064
+ }
1065
+ }
1066
+ if (proposal.plannedFlow) {
1067
+ const flow = proposal.plannedFlow;
1068
+ console.log('');
1069
+ console.log(ui.bold(`The Planned Flow this will propose — ${flow.id}`));
1070
+ console.log(ui.field('Goal', flow.truth.goal, { width }));
1071
+ console.log(ui.field('Starts when', flow.truth.startsWhen, { width }));
1072
+ console.log(ui.field('Ends with', flow.truth.endsWith, { width }));
1073
+ flow.truth.steps.forEach((step, index) => {
1074
+ console.log(ui.bullet(`${index + 1}. ${step.actor} — ${step.action}`, { width }));
1075
+ });
1076
+ for (const touchpoint of flow.mechanics.touchpoints) {
1077
+ console.log(ui.bullet(`lives in: ${touchpoint}`, { width }));
1078
+ }
1079
+ console.log(ui.dim(' Proposed as `planned` — nothing here is marked as working.'));
1080
+ }
1081
+ if (proposal.assumptions.length > 0 || proposal.possibleConflicts.length > 0) {
1082
+ console.log('');
1083
+ console.log(ui.bold('Advisory — the planning agent’s reading, not checked'));
1084
+ for (const item of [...proposal.assumptions, ...proposal.possibleConflicts]) {
1085
+ console.log(ui.bullet(item, { width }));
1086
+ }
1087
+ }
1088
+ // Show the outward effect exactly: either the existing issue that will be
1089
+ // linked, or the complete bytes `gh issue create` will receive.
1090
+ if (!resuming) {
1091
+ console.log('');
1092
+ if (existingIssue) {
1093
+ console.log(ui.bold('The existing GitHub issue this will link'));
1094
+ console.log(ui.dim(` ${existingIssue}`));
1095
+ }
1096
+ else {
1097
+ console.log(ui.bold('The GitHub issue this will file'));
1098
+ console.log('');
1099
+ console.log(ui.dim(` ${issue.title}`));
1100
+ for (const line of issue.body.split('\n')) {
1101
+ console.log(ui.dim(` ${line}`));
1102
+ }
1103
+ }
1104
+ }
1105
+ for (const warning of warnings) {
1106
+ console.log('');
1107
+ console.log(ui.warn(`! ${warning}`));
1108
+ }
1109
+ console.log('');
1110
+ console.log(ui.dim(resuming ? 'Nothing has been written yet.' : 'Nothing has been created yet.'));
1111
+ }
1112
+ export function printStartOutcome(outcome) {
1113
+ if (outcome.kind === 'declined') {
1114
+ console.log('');
1115
+ console.log(ui.dim('Not started. Nothing was created.'));
1116
+ console.log('');
1117
+ console.log('The plan is still on disk. When you are ready:');
1118
+ console.log(` ${ui.bold(outcome.resumeCommand)}`);
1119
+ return;
1120
+ }
1121
+ if (outcome.kind === 'resumed') {
1122
+ console.log(ui.ok(`✓ resumed ${outcome.contract.id}`));
1123
+ console.log('');
1124
+ for (const item of outcome.completed) {
1125
+ console.log(` ${ui.bold('wrote')} ${item}`);
1126
+ }
1127
+ for (const item of outcome.alreadyPresent) {
1128
+ console.log(` ${ui.dim('kept')} ${item}`);
1129
+ }
1130
+ console.log('');
1131
+ console.log(ui.bold('Next'));
1132
+ const builder = outcome.contract.builder ?? DEFAULT_BUILDER;
1133
+ console.log(` ${ui.bold(`prismatica open ${builder} ${outcome.contract.id}`)}`);
1134
+ return;
1135
+ }
1136
+ const { contract } = outcome;
1137
+ console.log(ui.ok(`✓ started ${contract.id}`));
1138
+ console.log('');
1139
+ console.log(` ${ui.bold('issue')} ${outcome.issue}`);
1140
+ console.log(` ${ui.bold('tier')} ${contract.tier}`);
1141
+ console.log(` ${ui.bold('lane')} ${outcome.worktree}`);
1142
+ console.log(` ${ui.bold('intent')} ${outcome.intent.id}`);
1143
+ if (outcome.delta) {
1144
+ console.log(` ${ui.bold('delta')} ${outcome.delta.id} → ${outcome.delta.flowId}`);
1145
+ }
1146
+ if (outcome.plannedFlow) {
1147
+ console.log(` ${ui.bold('flow')} ${outcome.plannedFlow.id} (planned — approve it once it is built)`);
1148
+ }
1149
+ // Never let "started" quietly imply "guarded". The hook is a Claude-Code
1150
+ // quality layer over the scope backstop `check`/`gate` always apply, so a
1151
+ // failed install is not fatal — but it is the owner's to know about.
1152
+ if (!outcome.hookInstalled) {
1153
+ console.log('');
1154
+ console.log(ui.warn('! the Claude Code scope hook was NOT installed in this lane'));
1155
+ console.log(ui.dim(' check and gate still enforce scope for every agent — reinstall with: prismatica init --hooks'));
1156
+ }
1157
+ console.log('');
1158
+ console.log(ui.bold('Next'));
1159
+ console.log(' Hand the brief to your builder:');
1160
+ const builder = contract.builder ?? DEFAULT_BUILDER;
1161
+ console.log(` ${ui.bold(`prismatica open ${builder} ${contract.id}`)}`);
1162
+ console.log(` ${ui.bold(`prismatica open --copy ${contract.id}`)} ${ui.dim('(copies the brief)')}`);
1163
+ }
1164
+ //# sourceMappingURL=start.js.map