@poetic-ai/poetic 1.42.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 (782) hide show
  1. package/.github/SECURITY.md +47 -0
  2. package/.nvmrc +1 -0
  3. package/.poetic/README.md +37 -0
  4. package/.poetic/providers/catalog.json +12051 -0
  5. package/.poetic/providers/pricing.json +1272 -0
  6. package/.poetic/providers/registry.json +3369 -0
  7. package/CHANGELOG.md +552 -0
  8. package/CODE_OF_CONDUCT.md +40 -0
  9. package/CONTRIBUTING.md +23 -0
  10. package/INSTALL.md +454 -0
  11. package/LICENSE +21 -0
  12. package/README.md +474 -0
  13. package/dist/BasicOptimizationCompetitionRunner-5H5TBYO4.js +153 -0
  14. package/dist/ExecutionTracker-UVONC4C6.js +16 -0
  15. package/dist/OptimizationConfig-7DFY2TST.js +17 -0
  16. package/dist/OptimizationEngine-JIMGP3LY.js +1597 -0
  17. package/dist/PromptStore-U6ZD3ZMQ.js +18 -0
  18. package/dist/actions-LUJPINLJ.js +322 -0
  19. package/dist/agent-ingest-3DJUJ7FU.js +53 -0
  20. package/dist/aggregator-DNCBINFO.js +12 -0
  21. package/dist/ai-judge-5QT5QJVU.js +156 -0
  22. package/dist/allowlist-grounding-RO6HKUFI.js +16 -0
  23. package/dist/allowlist-utils-23V7TJ3G.js +28 -0
  24. package/dist/anchored-turn-service-JULUCUIK.js +489 -0
  25. package/dist/api-transport-4TYTNLTJ.js +1087 -0
  26. package/dist/apply-completion-mode-AW2MOS3R.js +89 -0
  27. package/dist/artifact-migrator-23L45ISD.js +267 -0
  28. package/dist/ask-HWVV6QFR.js +135 -0
  29. package/dist/auth-5KEDKAPP.js +67 -0
  30. package/dist/auth-7TT3JINV.js +78 -0
  31. package/dist/auth-E6XUNZ5M.js +68 -0
  32. package/dist/auth-H3XDZE22.js +134 -0
  33. package/dist/auth-OC4E6633.js +71 -0
  34. package/dist/auth-S4CTX4GQ.js +44 -0
  35. package/dist/auth-YLH3S7EY.js +69 -0
  36. package/dist/auth-liveness-TDDEZY3T.js +46 -0
  37. package/dist/auto-optimizer-VPRWOWGU.js +80 -0
  38. package/dist/autoloop-cleanup-JOGKTLWA.js +109 -0
  39. package/dist/autoloop-evidence-gates-PCDALGVJ.js +38 -0
  40. package/dist/autoloop-gate-policy-Z7FVJVXV.js +175 -0
  41. package/dist/autoloop-helpers-2KTK43GL.js +22 -0
  42. package/dist/autoloop-ledger-W7QO62PX.js +96 -0
  43. package/dist/autoloop-ledger-subscriber-Z5RW5EIE.js +162 -0
  44. package/dist/autoloop-run-defaults-FERGRZGP.js +19 -0
  45. package/dist/autoloop-run-lock-CT2NWSV3.js +197 -0
  46. package/dist/autoloop-success-J2VKKBXQ.js +85 -0
  47. package/dist/autoloop-termination-summary-RN75F422.js +58 -0
  48. package/dist/autoloop-trajectory-XFIEXP5Z.js +282 -0
  49. package/dist/autoloop-wall-clock-T7ZVIQOC.js +12 -0
  50. package/dist/autonomous-loop-controller-PW4XVFGQ.js +4120 -0
  51. package/dist/backend-P3DAYRP7.js +29 -0
  52. package/dist/background-executor-CBN552V4.js +257 -0
  53. package/dist/backlog-execution-intent-U4XYPTV6.js +15 -0
  54. package/dist/backup-active-store-5WXG6SXT.js +17 -0
  55. package/dist/backup-telemetry-db-XGLXAA3N.js +254 -0
  56. package/dist/basic-competition-master-VCSBJVRN.js +344 -0
  57. package/dist/branch-archive-manager-RP6FP3ZC.js +254 -0
  58. package/dist/branch-cleanup-manager-RSHAI7YR.js +20 -0
  59. package/dist/build-gate-YHGRB4QB.js +71 -0
  60. package/dist/change-summary-WY7J5TOX.js +33 -0
  61. package/dist/chunk-23A26CSN.js +123 -0
  62. package/dist/chunk-27UTJD3M.js +265 -0
  63. package/dist/chunk-2A5CILN3.js +310 -0
  64. package/dist/chunk-2AQUWJPW.js +225 -0
  65. package/dist/chunk-2BZ53J6J.js +2344 -0
  66. package/dist/chunk-2DY5KNVM.js +276 -0
  67. package/dist/chunk-2EIA4RBE.js +659 -0
  68. package/dist/chunk-2IUXIGQD.js +1064 -0
  69. package/dist/chunk-2N42MS2Z.js +2193 -0
  70. package/dist/chunk-2QJ3H3L7.js +42 -0
  71. package/dist/chunk-2QLYTVYX.js +791 -0
  72. package/dist/chunk-2VSQMRCB.js +18 -0
  73. package/dist/chunk-2XQXYBM2.js +130 -0
  74. package/dist/chunk-2YFUIER7.js +426 -0
  75. package/dist/chunk-34CNP2HB.js +148 -0
  76. package/dist/chunk-35P3W3JX.js +456 -0
  77. package/dist/chunk-36PEBZAF.js +18 -0
  78. package/dist/chunk-3AOKYKA7.js +22 -0
  79. package/dist/chunk-3BCUNHKF.js +475 -0
  80. package/dist/chunk-3FLXLLB7.js +26 -0
  81. package/dist/chunk-3FOZ2VHV.js +100 -0
  82. package/dist/chunk-3G6FZCRF.js +106 -0
  83. package/dist/chunk-3M57DADF.js +44 -0
  84. package/dist/chunk-3S62LLWJ.js +543 -0
  85. package/dist/chunk-3ZPQLGV7.js +2904 -0
  86. package/dist/chunk-44N5WZZH.js +45 -0
  87. package/dist/chunk-45FPSA3B.js +125 -0
  88. package/dist/chunk-4BJ3O4RQ.js +929 -0
  89. package/dist/chunk-4BOP7T6L.js +2321 -0
  90. package/dist/chunk-4BTDUT2S.js +42 -0
  91. package/dist/chunk-4CSS7WVI.js +143 -0
  92. package/dist/chunk-4CUY7AFY.js +247 -0
  93. package/dist/chunk-4GSN5O5J.js +62 -0
  94. package/dist/chunk-4HN6DF7V.js +1027 -0
  95. package/dist/chunk-4IAPOG5V.js +415 -0
  96. package/dist/chunk-4IYIZQWV.js +48 -0
  97. package/dist/chunk-4NXPXE62.js +84 -0
  98. package/dist/chunk-4RCCF5BR.js +712 -0
  99. package/dist/chunk-4V7NAQ4R.js +19527 -0
  100. package/dist/chunk-4VJITV4P.js +445 -0
  101. package/dist/chunk-4YX7J6QL.js +1859 -0
  102. package/dist/chunk-527OBWQB.js +338 -0
  103. package/dist/chunk-5D4A7E3D.js +448 -0
  104. package/dist/chunk-5DLKYTQX.js +4003 -0
  105. package/dist/chunk-5EERLVZB.js +139 -0
  106. package/dist/chunk-5H72XE4H.js +256 -0
  107. package/dist/chunk-5HDP7XZG.js +91 -0
  108. package/dist/chunk-5LAMRH4X.js +969 -0
  109. package/dist/chunk-5LTN43AS.js +1972 -0
  110. package/dist/chunk-5RBHQYDB.js +2206 -0
  111. package/dist/chunk-5WCQRDRB.js +588 -0
  112. package/dist/chunk-5WRLK5KW.js +700 -0
  113. package/dist/chunk-5ZCXC23G.js +595 -0
  114. package/dist/chunk-6BM72ZMG.js +31 -0
  115. package/dist/chunk-6EDAJH2I.js +68 -0
  116. package/dist/chunk-6EQKFDBH.js +457 -0
  117. package/dist/chunk-6MFRHTRI.js +115 -0
  118. package/dist/chunk-6TZJRKNW.js +321 -0
  119. package/dist/chunk-6V7HGQFZ.js +20 -0
  120. package/dist/chunk-6VWVO2TU.js +3746 -0
  121. package/dist/chunk-6Y5TWI7H.js +146 -0
  122. package/dist/chunk-6Y5U7UFY.js +91 -0
  123. package/dist/chunk-6ZLAK3XG.js +14 -0
  124. package/dist/chunk-72XCRQED.js +34 -0
  125. package/dist/chunk-72YTZMAM.js +589 -0
  126. package/dist/chunk-73BBJOKA.js +263 -0
  127. package/dist/chunk-73NCTWKL.js +188 -0
  128. package/dist/chunk-77I6G4CO.js +1 -0
  129. package/dist/chunk-7DHRDWFS.js +3104 -0
  130. package/dist/chunk-7DNSNKJV.js +78 -0
  131. package/dist/chunk-7FMJVYBS.js +307 -0
  132. package/dist/chunk-7GDRQBQC.js +419 -0
  133. package/dist/chunk-7GPCEFUV.js +270 -0
  134. package/dist/chunk-7IL4A2PP.js +948 -0
  135. package/dist/chunk-7MMLMXO6.js +3679 -0
  136. package/dist/chunk-7QCZSLBH.js +1 -0
  137. package/dist/chunk-7R2WLDOS.js +62 -0
  138. package/dist/chunk-7T7RUJI7.js +949 -0
  139. package/dist/chunk-A2WKSVX7.js +43 -0
  140. package/dist/chunk-A3YGID55.js +133 -0
  141. package/dist/chunk-A722DEVA.js +14 -0
  142. package/dist/chunk-ACDIT7OP.js +1376 -0
  143. package/dist/chunk-ACKIPAOJ.js +302 -0
  144. package/dist/chunk-APPNGGN7.js +365 -0
  145. package/dist/chunk-APV6MK5E.js +137 -0
  146. package/dist/chunk-ASEP3M2W.js +968 -0
  147. package/dist/chunk-AT4TNPWW.js +2931 -0
  148. package/dist/chunk-ATVKCSGT.js +250 -0
  149. package/dist/chunk-AURFMVCD.js +899 -0
  150. package/dist/chunk-AX6GWE7V.js +47 -0
  151. package/dist/chunk-AY5EWJPF.js +385 -0
  152. package/dist/chunk-BAV2HJXS.js +194 -0
  153. package/dist/chunk-BBHRN366.js +89 -0
  154. package/dist/chunk-BBPSTTPA.js +1004 -0
  155. package/dist/chunk-BDATUDDJ.js +992 -0
  156. package/dist/chunk-BKE5PG5L.js +20414 -0
  157. package/dist/chunk-BLPHWMDK.js +797 -0
  158. package/dist/chunk-BSE4R6XD.js +322 -0
  159. package/dist/chunk-BXGMAU4A.js +396 -0
  160. package/dist/chunk-BXI4NXL3.js +507 -0
  161. package/dist/chunk-BZU2O43F.js +1125 -0
  162. package/dist/chunk-C3L6YQ7P.js +147 -0
  163. package/dist/chunk-C57KJOUQ.js +121 -0
  164. package/dist/chunk-CCV7BPSY.js +118 -0
  165. package/dist/chunk-CD7ISXA4.js +826 -0
  166. package/dist/chunk-CE5OZBYY.js +21 -0
  167. package/dist/chunk-CFBIG37O.js +154 -0
  168. package/dist/chunk-CJC6GZ46.js +457 -0
  169. package/dist/chunk-CKCDGXIV.js +408 -0
  170. package/dist/chunk-CKNX3TTP.js +10338 -0
  171. package/dist/chunk-CLKSETWE.js +10 -0
  172. package/dist/chunk-CP7H3HSP.js +1552 -0
  173. package/dist/chunk-CPLEWXNZ.js +66 -0
  174. package/dist/chunk-CQM3A35X.js +844 -0
  175. package/dist/chunk-CS6P76D3.js +103 -0
  176. package/dist/chunk-CTLUBNCW.js +622 -0
  177. package/dist/chunk-CUSRN6RJ.js +632 -0
  178. package/dist/chunk-D5EP5D2W.js +26 -0
  179. package/dist/chunk-D5RYINO7.js +412 -0
  180. package/dist/chunk-DBFS4HMH.js +751 -0
  181. package/dist/chunk-DC4ZYMXJ.js +115 -0
  182. package/dist/chunk-DCBZP442.js +9243 -0
  183. package/dist/chunk-DCYF7EKG.js +26 -0
  184. package/dist/chunk-DDMAFNUK.js +5351 -0
  185. package/dist/chunk-DF5SLDE4.js +966 -0
  186. package/dist/chunk-DJFW7SMX.js +348 -0
  187. package/dist/chunk-DQFLLBJW.js +121 -0
  188. package/dist/chunk-DSFM56OA.js +1203 -0
  189. package/dist/chunk-DTY4APYV.js +218 -0
  190. package/dist/chunk-DXH5JBRS.js +437 -0
  191. package/dist/chunk-E3NTPHEO.js +194 -0
  192. package/dist/chunk-E74LUIID.js +302 -0
  193. package/dist/chunk-EI57M5BI.js +194 -0
  194. package/dist/chunk-EJ4ZAWLV.js +305 -0
  195. package/dist/chunk-EJGCZGUF.js +1483 -0
  196. package/dist/chunk-EK2U3YEG.js +486 -0
  197. package/dist/chunk-ELMFYNV7.js +109 -0
  198. package/dist/chunk-ENRGKNR5.js +25 -0
  199. package/dist/chunk-ETYDXCK7.js +679 -0
  200. package/dist/chunk-EYRH3W74.js +239 -0
  201. package/dist/chunk-F23DIWNN.js +1024 -0
  202. package/dist/chunk-F5JO7HAS.js +94 -0
  203. package/dist/chunk-F7ER6ANO.js +174 -0
  204. package/dist/chunk-FATUVIIN.js +374 -0
  205. package/dist/chunk-FC23CTXV.js +322 -0
  206. package/dist/chunk-FD4ERYEG.js +22 -0
  207. package/dist/chunk-FH7WOJAE.js +79 -0
  208. package/dist/chunk-FHOWVDF5.js +1342 -0
  209. package/dist/chunk-FKAUPHMR.js +96 -0
  210. package/dist/chunk-FONNFJXA.js +137 -0
  211. package/dist/chunk-FQ7FSZRW.js +75 -0
  212. package/dist/chunk-FRG57FPM.js +240 -0
  213. package/dist/chunk-FUVP64ER.js +31 -0
  214. package/dist/chunk-FYOILAN5.js +6818 -0
  215. package/dist/chunk-G35UYQ6Z.js +69 -0
  216. package/dist/chunk-G36W2T2S.js +1143 -0
  217. package/dist/chunk-G3L2L5XZ.js +49 -0
  218. package/dist/chunk-G4THLFV3.js +148 -0
  219. package/dist/chunk-GAFJEYLK.js +29 -0
  220. package/dist/chunk-GFGYB2ZU.js +1689 -0
  221. package/dist/chunk-GG6KJYW6.js +85 -0
  222. package/dist/chunk-GHHFDU2U.js +55 -0
  223. package/dist/chunk-GHTZSQB7.js +57 -0
  224. package/dist/chunk-GK37ILCX.js +1231 -0
  225. package/dist/chunk-GKN3HMN4.js +2809 -0
  226. package/dist/chunk-GNVDBVJP.js +156 -0
  227. package/dist/chunk-GPEL3FBM.js +924 -0
  228. package/dist/chunk-GPSNGPZS.js +1604 -0
  229. package/dist/chunk-GSGD5E4C.js +30 -0
  230. package/dist/chunk-GSUQJJXQ.js +331 -0
  231. package/dist/chunk-GSV226X6.js +110 -0
  232. package/dist/chunk-H2AYQIHW.js +224 -0
  233. package/dist/chunk-H66DXFS5.js +1374 -0
  234. package/dist/chunk-H6G7QRMQ.js +35 -0
  235. package/dist/chunk-H7JAGHZT.js +59 -0
  236. package/dist/chunk-H7ZEFECA.js +316 -0
  237. package/dist/chunk-HAC6EHZZ.js +79 -0
  238. package/dist/chunk-HIO33P3G.js +19 -0
  239. package/dist/chunk-HMVQIPH3.js +547 -0
  240. package/dist/chunk-HOYBYAOA.js +257 -0
  241. package/dist/chunk-HX5P3CSP.js +1784 -0
  242. package/dist/chunk-I46EG2XQ.js +65 -0
  243. package/dist/chunk-I4NPDSCB.js +279 -0
  244. package/dist/chunk-I5WRT7ZR.js +514 -0
  245. package/dist/chunk-IC7I6YIJ.js +301 -0
  246. package/dist/chunk-IDCSOZVN.js +78 -0
  247. package/dist/chunk-IFCBYECK.js +112 -0
  248. package/dist/chunk-IFZCPEY2.js +66 -0
  249. package/dist/chunk-IKFP2KUR.js +48 -0
  250. package/dist/chunk-IRFBN336.js +878 -0
  251. package/dist/chunk-IUXNGKA6.js +152 -0
  252. package/dist/chunk-IV2RVAN7.js +1356 -0
  253. package/dist/chunk-IZYIQQ7X.js +53 -0
  254. package/dist/chunk-J3UUR7DE.js +210 -0
  255. package/dist/chunk-J54VUAY2.js +566 -0
  256. package/dist/chunk-J62KPGII.js +464 -0
  257. package/dist/chunk-J6P3FWWW.js +130 -0
  258. package/dist/chunk-JKBHJQMT.js +434 -0
  259. package/dist/chunk-JLS65NUQ.js +14 -0
  260. package/dist/chunk-JOSYEJKY.js +141 -0
  261. package/dist/chunk-JPKSXKNB.js +94 -0
  262. package/dist/chunk-JQNJB2BB.js +2440 -0
  263. package/dist/chunk-JRVNSWSQ.js +2626 -0
  264. package/dist/chunk-JSWMRQYG.js +28 -0
  265. package/dist/chunk-JZKNBBIB.js +152 -0
  266. package/dist/chunk-K54Y7MLK.js +160 -0
  267. package/dist/chunk-K65546RE.js +183 -0
  268. package/dist/chunk-KM3F7SYE.js +702 -0
  269. package/dist/chunk-KNDYMVWN.js +102 -0
  270. package/dist/chunk-KNT72VR6.js +132 -0
  271. package/dist/chunk-KP6YILMU.js +482 -0
  272. package/dist/chunk-KQEBSK3T.js +274 -0
  273. package/dist/chunk-KT6VHSPF.js +84 -0
  274. package/dist/chunk-KTMW65UX.js +14 -0
  275. package/dist/chunk-KZ5CJVBP.js +1813 -0
  276. package/dist/chunk-L4427KOE.js +26 -0
  277. package/dist/chunk-L6OM4A22.js +189 -0
  278. package/dist/chunk-L7E6XCRA.js +1042 -0
  279. package/dist/chunk-L7JZLXQL.js +173 -0
  280. package/dist/chunk-LAMKBTXX.js +40 -0
  281. package/dist/chunk-LDCF2MKN.js +132 -0
  282. package/dist/chunk-LEIIWPWQ.js +78 -0
  283. package/dist/chunk-LFTQVYBB.js +31 -0
  284. package/dist/chunk-LG3PDRTR.js +2872 -0
  285. package/dist/chunk-LGHII5ET.js +23 -0
  286. package/dist/chunk-LH5QY22X.js +1205 -0
  287. package/dist/chunk-LIVJ6266.js +438 -0
  288. package/dist/chunk-LKRAR3IH.js +276 -0
  289. package/dist/chunk-LO23NABI.js +3063 -0
  290. package/dist/chunk-LO3X5NLS.js +326 -0
  291. package/dist/chunk-LPITVM7M.js +339 -0
  292. package/dist/chunk-LR5IJIGV.js +810 -0
  293. package/dist/chunk-LRGMHROI.js +79 -0
  294. package/dist/chunk-LUVKFFWR.js +315 -0
  295. package/dist/chunk-LWCBNGH6.js +35 -0
  296. package/dist/chunk-LWTN3WRV.js +260 -0
  297. package/dist/chunk-M3HQYKQX.js +308 -0
  298. package/dist/chunk-M6GVSPEH.js +1016 -0
  299. package/dist/chunk-MF5HP6XV.js +221 -0
  300. package/dist/chunk-MHLCBZJB.js +328 -0
  301. package/dist/chunk-MN6PL4AN.js +120 -0
  302. package/dist/chunk-MOEY65Z6.js +5678 -0
  303. package/dist/chunk-MQ4WA34C.js +206 -0
  304. package/dist/chunk-MWHF5V7U.js +223 -0
  305. package/dist/chunk-MWHLBPNU.js +211 -0
  306. package/dist/chunk-MWK5UZQ3.js +1068 -0
  307. package/dist/chunk-MYLH2S4G.js +64 -0
  308. package/dist/chunk-MZ5WYKNA.js +28 -0
  309. package/dist/chunk-N4VTRA7K.js +131 -0
  310. package/dist/chunk-N5DX4JAK.js +12 -0
  311. package/dist/chunk-N65O4XTH.js +5011 -0
  312. package/dist/chunk-NEQUQHOX.js +223 -0
  313. package/dist/chunk-NGK6PEOG.js +25 -0
  314. package/dist/chunk-NJVD4PWE.js +1033 -0
  315. package/dist/chunk-NM6PMYY4.js +768 -0
  316. package/dist/chunk-NN4PJDHP.js +708 -0
  317. package/dist/chunk-NP2V3L7K.js +226 -0
  318. package/dist/chunk-NRLY536M.js +260 -0
  319. package/dist/chunk-NRNE225N.js +1270 -0
  320. package/dist/chunk-NS2K2GTP.js +605 -0
  321. package/dist/chunk-NS33V3IM.js +51 -0
  322. package/dist/chunk-NSHASMZZ.js +71 -0
  323. package/dist/chunk-NWOYOA6H.js +378 -0
  324. package/dist/chunk-NWRUSEXG.js +322 -0
  325. package/dist/chunk-NZGDAWIP.js +1905 -0
  326. package/dist/chunk-O47UOKU3.js +395 -0
  327. package/dist/chunk-O4G2W3ST.js +9831 -0
  328. package/dist/chunk-O6V4PNLO.js +63 -0
  329. package/dist/chunk-OA4GPILI.js +624 -0
  330. package/dist/chunk-OGMSYL6J.js +227 -0
  331. package/dist/chunk-OIS7J26S.js +319 -0
  332. package/dist/chunk-OMX5VL43.js +79 -0
  333. package/dist/chunk-ON3G73BU.js +264 -0
  334. package/dist/chunk-OPYFYTWQ.js +220 -0
  335. package/dist/chunk-OQ6K46CK.js +1734 -0
  336. package/dist/chunk-OYZYO7TV.js +47 -0
  337. package/dist/chunk-OZ4REHIN.js +4386 -0
  338. package/dist/chunk-P47VN5F4.js +282 -0
  339. package/dist/chunk-P5I4X7A7.js +353 -0
  340. package/dist/chunk-P6VQROCO.js +594 -0
  341. package/dist/chunk-P7CQGPLS.js +30 -0
  342. package/dist/chunk-PCAGC5MR.js +1763 -0
  343. package/dist/chunk-PFTQBXS6.js +5181 -0
  344. package/dist/chunk-PGSPX4SU.js +15 -0
  345. package/dist/chunk-PIKLF7BM.js +432 -0
  346. package/dist/chunk-PJWJ3SAV.js +22 -0
  347. package/dist/chunk-PKIFMV72.js +100 -0
  348. package/dist/chunk-PL37JDNA.js +189 -0
  349. package/dist/chunk-PTH5E5XO.js +195 -0
  350. package/dist/chunk-PW6AXLQC.js +4128 -0
  351. package/dist/chunk-PYITM4N2.js +79 -0
  352. package/dist/chunk-PZ5AY32C.js +10 -0
  353. package/dist/chunk-Q3RO7N35.js +45 -0
  354. package/dist/chunk-Q3WIC6GQ.js +2670 -0
  355. package/dist/chunk-Q5XIXSHX.js +271 -0
  356. package/dist/chunk-QGJDMEOV.js +34 -0
  357. package/dist/chunk-QNOB37UH.js +58 -0
  358. package/dist/chunk-QOCOVLUH.js +462 -0
  359. package/dist/chunk-QTCJ5CC5.js +172 -0
  360. package/dist/chunk-QVFV5IP2.js +232 -0
  361. package/dist/chunk-QVZMFDYG.js +29 -0
  362. package/dist/chunk-R35PEUKH.js +511 -0
  363. package/dist/chunk-R4UWBC35.js +200 -0
  364. package/dist/chunk-R6MLCREW.js +44 -0
  365. package/dist/chunk-R6W23LKN.js +254 -0
  366. package/dist/chunk-R7XDDX2A.js +4007 -0
  367. package/dist/chunk-RDFRCT64.js +168 -0
  368. package/dist/chunk-RE5VZDFQ.js +58 -0
  369. package/dist/chunk-RGROYC2G.js +638 -0
  370. package/dist/chunk-RGWHUI5E.js +68 -0
  371. package/dist/chunk-RHVG6UNL.js +205 -0
  372. package/dist/chunk-RI4EX2QE.js +18 -0
  373. package/dist/chunk-RJAAKDRX.js +17 -0
  374. package/dist/chunk-ROMHOSMQ.js +185 -0
  375. package/dist/chunk-RWREC3KJ.js +517 -0
  376. package/dist/chunk-RYNETRDJ.js +118 -0
  377. package/dist/chunk-RZY7RKM5.js +500 -0
  378. package/dist/chunk-S2MNWFAG.js +52 -0
  379. package/dist/chunk-S2VQCZO4.js +22 -0
  380. package/dist/chunk-S54MKU6V.js +117 -0
  381. package/dist/chunk-S5OIDFRM.js +302 -0
  382. package/dist/chunk-SCW4ZF6R.js +150 -0
  383. package/dist/chunk-SLS2N4PH.js +2213 -0
  384. package/dist/chunk-SNLBO4BF.js +247 -0
  385. package/dist/chunk-SP3LFU6B.js +60 -0
  386. package/dist/chunk-SQQTDDQA.js +537 -0
  387. package/dist/chunk-STV6LYYE.js +45 -0
  388. package/dist/chunk-SURZ2WFE.js +326 -0
  389. package/dist/chunk-SZ7DL357.js +1047 -0
  390. package/dist/chunk-T5E4NQCM.js +5742 -0
  391. package/dist/chunk-TAJPCXSB.js +13 -0
  392. package/dist/chunk-TAOOYK3P.js +358 -0
  393. package/dist/chunk-TDSEX5CF.js +24 -0
  394. package/dist/chunk-TFTGP7Z7.js +174 -0
  395. package/dist/chunk-TGON4N4O.js +197 -0
  396. package/dist/chunk-TGQZHDY2.js +2373 -0
  397. package/dist/chunk-TJJZ2OKV.js +6783 -0
  398. package/dist/chunk-TRSVUPCX.js +25 -0
  399. package/dist/chunk-TSXGRLPR.js +107 -0
  400. package/dist/chunk-U2S3YEX3.js +224 -0
  401. package/dist/chunk-U45RTRGY.js +818 -0
  402. package/dist/chunk-U6C3VVWS.js +13 -0
  403. package/dist/chunk-UDMS5AD3.js +307 -0
  404. package/dist/chunk-UGX7GI37.js +94 -0
  405. package/dist/chunk-UH3JJSHK.js +1 -0
  406. package/dist/chunk-UHRBTZYY.js +208 -0
  407. package/dist/chunk-UHT2KRG5.js +193 -0
  408. package/dist/chunk-UI2F6DJ5.js +118 -0
  409. package/dist/chunk-UMAKSB4Z.js +284 -0
  410. package/dist/chunk-UR2IBGIM.js +521 -0
  411. package/dist/chunk-UUH2RVKS.js +585 -0
  412. package/dist/chunk-UVJ4PJDK.js +4533 -0
  413. package/dist/chunk-V53UG2OT.js +9924 -0
  414. package/dist/chunk-V72RMBM4.js +48 -0
  415. package/dist/chunk-VBNCKCCI.js +16 -0
  416. package/dist/chunk-VNSYKC25.js +24 -0
  417. package/dist/chunk-VPHVFK4A.js +1984 -0
  418. package/dist/chunk-VTLNJQ44.js +133 -0
  419. package/dist/chunk-VTW7HP3R.js +100 -0
  420. package/dist/chunk-VVGEPBPS.js +218 -0
  421. package/dist/chunk-VVLLL7I4.js +166 -0
  422. package/dist/chunk-VX3UMWB7.js +483 -0
  423. package/dist/chunk-VXF4Q3FW.js +20 -0
  424. package/dist/chunk-W3JMT2YY.js +712 -0
  425. package/dist/chunk-WDUORIHF.js +877 -0
  426. package/dist/chunk-WDVTY4U6.js +148 -0
  427. package/dist/chunk-WIFZCHEG.js +12566 -0
  428. package/dist/chunk-WIRN3F75.js +736 -0
  429. package/dist/chunk-WMPU2UOV.js +82 -0
  430. package/dist/chunk-WTOKKE2V.js +784 -0
  431. package/dist/chunk-WX5IRLF6.js +740 -0
  432. package/dist/chunk-WZ6U3O7I.js +1581 -0
  433. package/dist/chunk-XAONGNST.js +57 -0
  434. package/dist/chunk-XB5YLCLB.js +13 -0
  435. package/dist/chunk-XEP5NQ5Y.js +688 -0
  436. package/dist/chunk-XGYF2QMZ.js +351 -0
  437. package/dist/chunk-XHEKQENB.js +255 -0
  438. package/dist/chunk-XNO4FM6X.js +1124 -0
  439. package/dist/chunk-XPHKYHO4.js +878 -0
  440. package/dist/chunk-XPK2I4NC.js +405 -0
  441. package/dist/chunk-XPU2XADL.js +2175 -0
  442. package/dist/chunk-XQD2B6BB.js +507 -0
  443. package/dist/chunk-XT2ZQVTC.js +558 -0
  444. package/dist/chunk-XTXJGGUV.js +351 -0
  445. package/dist/chunk-XUXVDPSZ.js +50 -0
  446. package/dist/chunk-XV7NZL4B.js +57 -0
  447. package/dist/chunk-XZE4XARH.js +563 -0
  448. package/dist/chunk-XZYR5EDO.js +152 -0
  449. package/dist/chunk-Y3J4JMTU.js +61 -0
  450. package/dist/chunk-Y55LZN5U.js +52 -0
  451. package/dist/chunk-Y5VN7DMP.js +112 -0
  452. package/dist/chunk-Y67VAHN4.js +459 -0
  453. package/dist/chunk-YAXSKEUH.js +3544 -0
  454. package/dist/chunk-YB3JD4E6.js +975 -0
  455. package/dist/chunk-YESZJFK6.js +220 -0
  456. package/dist/chunk-YGXKOBQQ.js +292 -0
  457. package/dist/chunk-YMX76IOS.js +31 -0
  458. package/dist/chunk-YOTXESEH.js +257 -0
  459. package/dist/chunk-YTYIEZQY.js +119 -0
  460. package/dist/chunk-YVORHQ2S.js +579 -0
  461. package/dist/chunk-Z2CUQDAR.js +3429 -0
  462. package/dist/chunk-Z2KYOFHS.js +7000 -0
  463. package/dist/chunk-Z6PC7QX6.js +161 -0
  464. package/dist/chunk-ZDTGECTN.js +235 -0
  465. package/dist/chunk-ZIPWI2LY.js +151 -0
  466. package/dist/chunk-ZSKKMTQJ.js +554 -0
  467. package/dist/chunk-ZTT5IVPY.js +1160 -0
  468. package/dist/chunk-ZX65UI5W.js +78 -0
  469. package/dist/chunk-ZYG7GGKO.js +218 -0
  470. package/dist/chunk-ZZZUL4OF.js +38 -0
  471. package/dist/cli-utils-IXL26KJT.js +40 -0
  472. package/dist/cli-validation-WLXWLUJL.js +111 -0
  473. package/dist/commit-utils-P7CRJF5N.js +202 -0
  474. package/dist/compete-config-resolver-R5ULXMYH.js +76 -0
  475. package/dist/compete-request-62JESVET.js +364 -0
  476. package/dist/compete-results-QEPG6FZX.js +208 -0
  477. package/dist/competition-outcome-tracker-R32OOZ43.js +38 -0
  478. package/dist/config-JCOKXOQT.js +166 -0
  479. package/dist/config-audit-EL3GHXS7.js +360 -0
  480. package/dist/config-explain-TNILDEVJ.js +12 -0
  481. package/dist/config-loader-VPFPFO4B.js +38 -0
  482. package/dist/config-manager-7T4E2BQO.js +67 -0
  483. package/dist/config-validator-KKOHOW7O.js +72 -0
  484. package/dist/cost-YC42XUF3.js +53 -0
  485. package/dist/coverage-orchestrator-CISNKJC2.js +772 -0
  486. package/dist/coverage-scanner-YVD62MLH.js +12 -0
  487. package/dist/createCompetitionRunner-LJG6ZQSO.js +46 -0
  488. package/dist/data-migration-state-VJK64DLT.js +31 -0
  489. package/dist/db-migrator-XSEIOGWY.js +34 -0
  490. package/dist/discovery-JGYGDD25.js +25 -0
  491. package/dist/doctor-GJOYE7AE.js +186 -0
  492. package/dist/domain-analyzer-AWF3RP6E.js +29 -0
  493. package/dist/ensure-initialized-744DIZEZ.js +52 -0
  494. package/dist/entry.js +940 -0
  495. package/dist/environment-YS45U5ZI.js +81 -0
  496. package/dist/error-parser-core-PPZ36A4S.js +50 -0
  497. package/dist/escalation-ladder-MKTCEGSA.js +130 -0
  498. package/dist/evaluation-context-KV4GZNN7.js +35 -0
  499. package/dist/evidence-plan-resolver-GBSYSAPX.js +85 -0
  500. package/dist/execution-data-writer-3ODTBDLH.js +53 -0
  501. package/dist/execution-policy-applier-ZHD3DCF3.js +31 -0
  502. package/dist/execution-preflight-Z4Y64V3I.js +209 -0
  503. package/dist/execution-roles-R3DPPMD3.js +66 -0
  504. package/dist/exit-code-error-Z4SW2DVK.js +14 -0
  505. package/dist/external-temp-cleanup-N2RZH4QP.js +311 -0
  506. package/dist/factory-XBN7DFIM.js +149 -0
  507. package/dist/file-utils-XIVR2ZMA.js +47 -0
  508. package/dist/flywheel-autoloop-executor-UILGOFFK.js +249 -0
  509. package/dist/flywheel-competition-executor-JOBEXTRB.js +259 -0
  510. package/dist/flywheel-executor-6JFLA6J5.js +369 -0
  511. package/dist/flywheel-git-isolation-UC5NIEVU.js +48 -0
  512. package/dist/flywheel-manifest-5UC4VBMA.js +108 -0
  513. package/dist/flywheel-model-defaults-7CVKP53V.js +27 -0
  514. package/dist/flywheel-preflight-XEY5SHM6.js +104 -0
  515. package/dist/flywheel-resume-7HELH7QS.js +23 -0
  516. package/dist/flywheel-safety-7U7DPOAP.js +28 -0
  517. package/dist/flywheel-scope-decision-ZHKF6ZIN.js +11 -0
  518. package/dist/get-telemetry-logger-DPVWWIYY.js +73 -0
  519. package/dist/git-worktree-IY6V6DUO.js +18 -0
  520. package/dist/github-pr-manager-4LXEKJTA.js +211 -0
  521. package/dist/guidance-profile-config-E7XJL2VP.js +117 -0
  522. package/dist/guidance-profile-renderer-QK2YMAAP.js +21 -0
  523. package/dist/index-query-4JEUKA44.js +31 -0
  524. package/dist/index.js +108661 -0
  525. package/dist/instructions-6BURLQJC.js +64 -0
  526. package/dist/invoke-provider-auth-GRUYP44M.js +223 -0
  527. package/dist/judge-scoring.json +80 -0
  528. package/dist/judge-test.js +555 -0
  529. package/dist/lab-mode-OTWVHN63.js +39 -0
  530. package/dist/lab-utils-BJRFLGK4.js +23 -0
  531. package/dist/linux-host-class-UY4KVLFD.js +29 -0
  532. package/dist/llm-judge-executor-F7Z3HO77.js +133 -0
  533. package/dist/local-executor-CEHWE2PL.js +223 -0
  534. package/dist/logger-33TR6EE5.js +72 -0
  535. package/dist/loop-spec-XTLQAVZ7.js +191 -0
  536. package/dist/manager-2HJG5CLT.js +25 -0
  537. package/dist/matrix-prompt-builder-6UDN5X3F.js +497 -0
  538. package/dist/matrix-result-parser-7W35EUOV.js +15 -0
  539. package/dist/metadata-HQ43NDEK.js +22 -0
  540. package/dist/model-invocations-db-QBO4Y7WZ.js +38 -0
  541. package/dist/monitor-XGYBG2DW.js +72 -0
  542. package/dist/next-PB5ZXZKB.js +90 -0
  543. package/dist/next-ZBDK725T.js +69 -0
  544. package/dist/optimization-config-resolver-O6WKR47U.js +75 -0
  545. package/dist/package-3YCWIQQ5.js +10 -0
  546. package/dist/parallel-orchestrator-NL7YJJU2.js +297 -0
  547. package/dist/parallel-worker.js +279 -0
  548. package/dist/parse-git-status-PIAF3OTP.js +10 -0
  549. package/dist/path-security-ETTH6TZL.js +39 -0
  550. package/dist/pattern-bank-UNJR5ADV.js +15 -0
  551. package/dist/plan-backlog-list-fast-VAGYBV3J.js +270 -0
  552. package/dist/plan-backlog-show-fast-SG2CZPW3.js +406 -0
  553. package/dist/plan-sprint-list-fast-LURAX47V.js +162 -0
  554. package/dist/plan-sprint-status-fast-FJAODCHD.js +208 -0
  555. package/dist/plan-task-status-fast-HNYBMQI4.js +349 -0
  556. package/dist/plan-to-flywheel-Z4U3GWPN.js +456 -0
  557. package/dist/planning-backlog-3CQ5QQBQ.js +319 -0
  558. package/dist/poetic-root-V5DNXEAE.js +17 -0
  559. package/dist/preflight-OPANWMME.js +12 -0
  560. package/dist/process-registry-PDZJPTAS.js +27 -0
  561. package/dist/process-scanner-C22SYXYD.js +22 -0
  562. package/dist/processes-KMQUD7HY.js +29 -0
  563. package/dist/processes-json-fast-IBDXZ6WW.js +135 -0
  564. package/dist/profile-SE5EVXAP.js +149 -0
  565. package/dist/prompts-WZZPGWBX.js +168 -0
  566. package/dist/protected-branches-RNTEX7ET.js +57 -0
  567. package/dist/provider-aware-resource-manager-QBTZJMNP.js +18 -0
  568. package/dist/provider-matrix-N5X57V3Y.js +154 -0
  569. package/dist/provider-matrix-renderer-MZDWKKID.js +139 -0
  570. package/dist/provider-output-forwarding-DERID3TP.js +30 -0
  571. package/dist/provider-registry-J5NRBJKI.js +128 -0
  572. package/dist/provider-temp-cleanup-KYGLF6YU.js +14 -0
  573. package/dist/prune-engine-Q6E2DXBN.js +451 -0
  574. package/dist/quality-gate-YRHMQAEI.js +70 -0
  575. package/dist/quickstart-FIRLKGJI.js +62 -0
  576. package/dist/readiness-VZTMSG6J.js +96 -0
  577. package/dist/registry-YODFY77A.js +153 -0
  578. package/dist/repair-helpers-TTV5FEF4.js +117 -0
  579. package/dist/repo-root-2IGD4H7X.js +22 -0
  580. package/dist/resolution-engine-D6TX6FRG.js +127 -0
  581. package/dist/resolve-provider-cli-O2P6XZBZ.js +35 -0
  582. package/dist/restore-telemetry-db-BQL6DTQF.js +360 -0
  583. package/dist/result-streamer-WEHW476R.js +19 -0
  584. package/dist/routing-events-DHPUZDDF.js +27 -0
  585. package/dist/routing-history-store-UWCEXAP3.js +46 -0
  586. package/dist/routing-planner-F5WQEUOM.js +160 -0
  587. package/dist/run-poetic-tui-J6LWRJUP.js +13517 -0
  588. package/dist/run-simulation.js +376 -0
  589. package/dist/runner-CS2TNGHA.js +1092 -0
  590. package/dist/runner-HHH7ZN2Z.js +1571 -0
  591. package/dist/safety-OCC4KJJR.js +64 -0
  592. package/dist/safety-stanza-7SV3HGG3.js +60 -0
  593. package/dist/sandbox-32QXJEMV.js +81 -0
  594. package/dist/sandbox-RSO7VP6V.js +94 -0
  595. package/dist/schema-extensions.sql +234 -0
  596. package/dist/security-2KI5XNDG.js +17 -0
  597. package/dist/setup-bb-plugin-QAQWZCV5.js +738 -0
  598. package/dist/setup-claude-code-P7BTTSPO.js +317 -0
  599. package/dist/setup-temp-cleanup-GASCWZ2I.js +20 -0
  600. package/dist/shared-utils-D6U6UREP.js +37 -0
  601. package/dist/simple-artifact-goal-OTXNGZY6.js +25 -0
  602. package/dist/sprint-UIXPYOXQ.js +338 -0
  603. package/dist/sprint-bridge-4BHMSC3M.js +68 -0
  604. package/dist/sprint-execution-service-2B7WHL5L.js +311 -0
  605. package/dist/sprint-manager-IDQUDNQI.js +91 -0
  606. package/dist/sqlite-wrapper-UDWCTNLJ.js +17 -0
  607. package/dist/stale-cleanup-orchestrator-XWXV7KCZ.js +62 -0
  608. package/dist/storage-access-F6ALDN4S.js +22 -0
  609. package/dist/synthesis-XD6EDVHF.js +185 -0
  610. package/dist/task-classifier-LNLXSHOM.js +494 -0
  611. package/dist/task-list-fast-PTMA4LUC.js +147 -0
  612. package/dist/task-manager-XAT7GOWB.js +93 -0
  613. package/dist/task-splitter-U7DJ7W6A.js +79 -0
  614. package/dist/task-type-detector-OLVOMXZO.js +21 -0
  615. package/dist/task-type-resolver-KKNQYSB4.js +42 -0
  616. package/dist/telemetry-5HWBBXLX.js +131 -0
  617. package/dist/telemetry-health-tracker-DMSSGBZ2.js +11 -0
  618. package/dist/telemetry-path-resolver-7ICSG276.js +28 -0
  619. package/dist/telemetry-reliability-XUOZNZZ6.js +125 -0
  620. package/dist/token-estimator-MEQUL3EJ.js +37 -0
  621. package/dist/transports-KNSSV2V4.js +255 -0
  622. package/dist/unified-cost-tracker-4TFRBVPR.js +35 -0
  623. package/dist/unified-state-cleanup-LJPF2BOW.js +276 -0
  624. package/dist/universal-cost-calculator-BAJV35GA.js +42 -0
  625. package/dist/user-agents-GHUGCSKN.js +22 -0
  626. package/dist/variant-delivery-state-KLRNG6XA.js +33 -0
  627. package/dist/variant-state-cleanup-MZGGLQAJ.js +280 -0
  628. package/dist/variant-success-PJXWE3ZV.js +12 -0
  629. package/dist/variant-worker-KUWKBLAH.js +4196 -0
  630. package/dist/variant-worker.js +24 -0
  631. package/dist/variants-JE2FSAQS.js +233 -0
  632. package/dist/verification-toolchains-V24UHW6Q.js +28 -0
  633. package/dist/verify-commands-H3DTCSGI.js +37 -0
  634. package/dist/warning-EGQGUUIO.js +12 -0
  635. package/dist/work-edge-RWEDWJZF.js +49 -0
  636. package/dist/work-item-writer-WHAVZXAY.js +19 -0
  637. package/dist/worker-7SA2VS2Y.js +1435 -0
  638. package/dist/worker.js +19 -0
  639. package/dist/worktree-metrics-3DFUYVYE.js +26 -0
  640. package/dist/writeback-VZKHYHSN.js +44 -0
  641. package/docs/CLI_REFERENCE.md +7042 -0
  642. package/docs/PROVIDER_SETUP.md +1570 -0
  643. package/docs/README.md +96 -0
  644. package/docs/TROUBLESHOOTING.md +2232 -0
  645. package/docs/getting-started/QUICK_START.md +294 -0
  646. package/docs/getting-started/README.md +188 -0
  647. package/docs/getting-started/SETUP.md +52 -0
  648. package/docs/reference/AGENT_CONTEXT.md +38 -0
  649. package/docs/reference/PROVIDER_RELEASE_TIERS.md +34 -0
  650. package/docs/reference/README.md +381 -0
  651. package/docs/reference/SECURITY.md +262 -0
  652. package/integrations/bb-plugin-poetic/README.md +362 -0
  653. package/integrations/bb-plugin-poetic/app.css +341 -0
  654. package/integrations/bb-plugin-poetic/app.tsx +5059 -0
  655. package/integrations/bb-plugin-poetic/package.json +45 -0
  656. package/integrations/bb-plugin-poetic/server.ts +444 -0
  657. package/integrations/bb-plugin-poetic/src/adapter.ts +3312 -0
  658. package/integrations/bb-plugin-poetic/src/backlog-authoring-model.ts +150 -0
  659. package/integrations/bb-plugin-poetic/src/backlog-authoring-schema.ts +355 -0
  660. package/integrations/bb-plugin-poetic/src/backlog-authoring-service.ts +419 -0
  661. package/integrations/bb-plugin-poetic/src/backlog-authoring-view.ts +1026 -0
  662. package/integrations/bb-plugin-poetic/src/competition-defaults-schema.ts +122 -0
  663. package/integrations/bb-plugin-poetic/src/competition-defaults-service.ts +105 -0
  664. package/integrations/bb-plugin-poetic/src/competition-defaults-view.ts +138 -0
  665. package/integrations/bb-plugin-poetic/src/contract.ts +615 -0
  666. package/integrations/bb-plugin-poetic/src/finalize-model.ts +205 -0
  667. package/integrations/bb-plugin-poetic/src/finalize-schema.ts +158 -0
  668. package/integrations/bb-plugin-poetic/src/finalize-service.ts +382 -0
  669. package/integrations/bb-plugin-poetic/src/finalize-view.ts +159 -0
  670. package/integrations/bb-plugin-poetic/src/judge-operations-readback.ts +303 -0
  671. package/integrations/bb-plugin-poetic/src/judge-operations-schema.ts +33 -0
  672. package/integrations/bb-plugin-poetic/src/judge-operations-view.ts +459 -0
  673. package/integrations/bb-plugin-poetic/src/model.ts +1302 -0
  674. package/integrations/bb-plugin-poetic/src/monitor-service.ts +233 -0
  675. package/integrations/bb-plugin-poetic/src/panel-read-ux.ts +97 -0
  676. package/integrations/bb-plugin-poetic/src/patch-preview-schema.ts +166 -0
  677. package/integrations/bb-plugin-poetic/src/patch-preview-service.ts +480 -0
  678. package/integrations/bb-plugin-poetic/src/patch-preview-view.ts +109 -0
  679. package/integrations/bb-plugin-poetic/src/planning-readback.ts +204 -0
  680. package/integrations/bb-plugin-poetic/src/planning-service.ts +594 -0
  681. package/integrations/bb-plugin-poetic/src/planning-workspace-schema.ts +95 -0
  682. package/integrations/bb-plugin-poetic/src/planning-workspace.ts +323 -0
  683. package/integrations/bb-plugin-poetic/src/poll-handoff.ts +136 -0
  684. package/integrations/bb-plugin-poetic/src/project-target-server.ts +21 -0
  685. package/integrations/bb-plugin-poetic/src/project-target.ts +45 -0
  686. package/integrations/bb-plugin-poetic/src/reference-index.ts +192 -0
  687. package/integrations/bb-plugin-poetic/src/repository-schema.ts +30 -0
  688. package/integrations/bb-plugin-poetic/src/result-explorer-view.ts +597 -0
  689. package/integrations/bb-plugin-poetic/src/result-readback-model.ts +163 -0
  690. package/integrations/bb-plugin-poetic/src/result-readback-schema.ts +319 -0
  691. package/integrations/bb-plugin-poetic/src/result-readback-service.ts +333 -0
  692. package/integrations/bb-plugin-poetic/src/run-page-view.ts +177 -0
  693. package/integrations/bb-plugin-poetic/src/setup-config-schema.ts +291 -0
  694. package/integrations/bb-plugin-poetic/src/setup-config-service.ts +590 -0
  695. package/integrations/bb-plugin-poetic/src/setup-config-view.ts +413 -0
  696. package/integrations/bb-plugin-poetic/src/sprint-close-model.ts +150 -0
  697. package/integrations/bb-plugin-poetic/src/sprint-close-schema.ts +136 -0
  698. package/integrations/bb-plugin-poetic/src/sprint-close-service.ts +341 -0
  699. package/integrations/bb-plugin-poetic/src/sprint-close-view.ts +116 -0
  700. package/integrations/bb-plugin-poetic/src/sprint-composition-model.ts +714 -0
  701. package/integrations/bb-plugin-poetic/src/sprint-composition-readback.ts +231 -0
  702. package/integrations/bb-plugin-poetic/src/sprint-composition-schema.ts +601 -0
  703. package/integrations/bb-plugin-poetic/src/sprint-composition-service.ts +775 -0
  704. package/integrations/bb-plugin-poetic/src/sprint-composition-view.ts +1221 -0
  705. package/integrations/bb-plugin-poetic/src/task-authoring-model.ts +567 -0
  706. package/integrations/bb-plugin-poetic/src/task-authoring-schema.ts +635 -0
  707. package/integrations/bb-plugin-poetic/src/task-authoring-service.ts +842 -0
  708. package/integrations/bb-plugin-poetic/src/task-authoring-view.ts +1227 -0
  709. package/integrations/bb-plugin-poetic/src/task-detail-readback.ts +56 -0
  710. package/integrations/bb-plugin-poetic/src/task-detail-schema.ts +144 -0
  711. package/integrations/bb-plugin-poetic/src/task-navigation.ts +446 -0
  712. package/integrations/bb-plugin-poetic/src/workbench-route.ts +74 -0
  713. package/integrations/bb-plugin-poetic/tests/host-contract.test.ts +773 -0
  714. package/integrations/bb-plugin-poetic/tsconfig.json +18 -0
  715. package/integrations/bb-plugin-poetic/types/PROVENANCE.json +52 -0
  716. package/integrations/bb-plugin-poetic/types/bb-plugin-sdk-app.d.ts +1444 -0
  717. package/integrations/bb-plugin-poetic/types/bb-plugin-sdk.d.ts +13030 -0
  718. package/integrations/bb-plugin-poetic/vitest.host.config.ts +71 -0
  719. package/npm-shrinkwrap.json +4950 -0
  720. package/package.json +331 -0
  721. package/schemas/README.md +80 -0
  722. package/schemas/config-v1.schema.json +136 -0
  723. package/schemas/execution-config.schema.json +47 -0
  724. package/schemas/judge-scoring.schema.json +370 -0
  725. package/schemas/poetic.config.schema.json +2214 -0
  726. package/schemas/provider-config.schema.json +203 -0
  727. package/schemas/telemetry-config.schema.json +79 -0
  728. package/schemas/user-preferences.schema.json +141 -0
  729. package/scripts/assert-node-runtime.mjs +140 -0
  730. package/scripts/preflight-native.mjs +49 -0
  731. package/scripts/preinstall-node-check.mjs +78 -0
  732. package/scripts/setup-git-hooks.mjs +24 -0
  733. package/scripts/sync.sh +2722 -0
  734. package/scripts/write-node-launcher.sh +108 -0
  735. package/src/resources/gemini/slash-packs/default/plan.toml +15 -0
  736. package/src/resources/gemini/slash-packs/default/summary.toml +16 -0
  737. package/src/resources/gemini/slash-packs/default/tests.toml +16 -0
  738. package/templates/.poetic/README.md +37 -0
  739. package/templates/.poetic/agents/README.md +296 -0
  740. package/templates/.poetic/agents/api-documenter.md +147 -0
  741. package/templates/.poetic/agents/backend-architect.md +31 -0
  742. package/templates/.poetic/agents/code-reviewer.md +157 -0
  743. package/templates/.poetic/agents/data-scientist.md +179 -0
  744. package/templates/.poetic/agents/database-optimizer.md +145 -0
  745. package/templates/.poetic/agents/debugger.md +31 -0
  746. package/templates/.poetic/agents/deployment-engineer.md +164 -0
  747. package/templates/.poetic/agents/devops-troubleshooter.md +139 -0
  748. package/templates/.poetic/agents/frontend-developer.md +150 -0
  749. package/templates/.poetic/agents/javascript-pro.md +36 -0
  750. package/templates/.poetic/agents/performance-engineer.md +151 -0
  751. package/templates/.poetic/agents/python-pro.md +137 -0
  752. package/templates/.poetic/agents/test-automator.md +147 -0
  753. package/templates/.poetic/agents/typescript-pro.md +34 -0
  754. package/templates/.poetic/config/poetic.config.jsonc +69 -0
  755. package/templates/.poetic/config/project-context.template.json +6 -0
  756. package/templates/.poetic/config/task-type-aliases.presets/kanban.yaml +14 -0
  757. package/templates/.poetic/config/task-type-aliases.presets/scrum.yaml +17 -0
  758. package/templates/.poetic/config/task-type-aliases.presets/xp.yaml +12 -0
  759. package/templates/.poetic/config/task-type-aliases.yaml +28 -0
  760. package/templates/.poetic/gitignore.template +55 -0
  761. package/templates/.poetic/task-types/analysis.yaml +40 -0
  762. package/templates/.poetic/task-types/architecture.yaml +38 -0
  763. package/templates/.poetic/task-types/doc.yaml +35 -0
  764. package/templates/.poetic/task-types/feature.yaml +23 -0
  765. package/templates/.poetic/task-types/general.yaml +6 -0
  766. package/templates/.poetic/task-types/security.yaml +39 -0
  767. package/templates/AGENTS.template.md +99 -0
  768. package/templates/CLAUDE.template.md +1 -0
  769. package/templates/GEMINI.template.md +1 -0
  770. package/templates/builtin-workflows/code-review.yaml +73 -0
  771. package/templates/builtin-workflows/compete-streak.yaml +78 -0
  772. package/templates/builtin-workflows/hello-verify.yaml +10 -0
  773. package/templates/builtin-workflows/judge-regression.yaml +114 -0
  774. package/templates/builtin-workflows/skills/code-review/SKILL.md +60 -0
  775. package/templates/builtin-workflows/skills/hello-verify/SKILL.md +6 -0
  776. package/templates/guard-kit/GUARD_SETUP.md.template +255 -0
  777. package/templates/guard-kit/check.mjs.template +777 -0
  778. package/templates/guard-kit/config.json.template +6 -0
  779. package/templates/guard-kit/poetic-guard.yml.template +189 -0
  780. package/templates/profiles/README.md +56 -0
  781. package/templates/profiles/frontier-claude.json +27 -0
  782. package/templates/profiles/frontier-codex.json +26 -0
@@ -0,0 +1,899 @@
1
+ import {
2
+ resolveProviderReleaseStatus
3
+ } from "./chunk-VBNCKCCI.js";
4
+ import {
5
+ isSkipAuthEnvActive
6
+ } from "./chunk-4VJITV4P.js";
7
+ import {
8
+ resolveProviderCliCommand
9
+ } from "./chunk-SURZ2WFE.js";
10
+ import {
11
+ formatSandboxCapabilityFailure,
12
+ probeProviderSandboxCapability
13
+ } from "./chunk-5WCQRDRB.js";
14
+ import {
15
+ formatLinuxHostClassNote,
16
+ resolveLinuxHostClass
17
+ } from "./chunk-RWREC3KJ.js";
18
+ import {
19
+ ProviderRegistry
20
+ } from "./chunk-AT4TNPWW.js";
21
+ import {
22
+ POETIC_SKIP_READINESS_PREFLIGHT,
23
+ POETIC_STRICT_READINESS,
24
+ readRawEnv
25
+ } from "./chunk-5DLKYTQX.js";
26
+
27
+ // src/core/providers/readiness.ts
28
+ import { constants as fsConstants } from "fs";
29
+ import { access } from "fs/promises";
30
+ import path from "path";
31
+ import { execa } from "execa";
32
+ function isProviderSkipAuthActive(config, env) {
33
+ const skipEnvVar = config.auth?.skip_env_var;
34
+ if (!skipEnvVar) {
35
+ return false;
36
+ }
37
+ return isSkipAuthEnvActive(skipEnvVar, env);
38
+ }
39
+ function resolveWriteBoundaryAdvisory(env) {
40
+ try {
41
+ const resolution = resolveLinuxHostClass(env ? { env } : {});
42
+ let detail;
43
+ if (resolution.hostClass === "desktop-unacked") {
44
+ detail = "Linux desktop write consent is not recorded. Run poetic sandbox trust linux --ack-desktop or poetic sandbox trust linux --host isolated.";
45
+ } else if (resolution.note) {
46
+ detail = resolution.note;
47
+ } else {
48
+ detail = formatLinuxHostClassNote(resolution) ?? `Host class ${resolution.hostClass} (source=${resolution.source})`;
49
+ }
50
+ return {
51
+ hostClass: resolution.hostClass,
52
+ source: String(resolution.source),
53
+ writesAllowed: resolution.writesAllowed,
54
+ detail
55
+ };
56
+ } catch {
57
+ return void 0;
58
+ }
59
+ }
60
+ function resolveAuthLabel(readiness) {
61
+ if (readiness.readinessNote === "env-var-auth-assumed") return "assumed-env";
62
+ switch (readiness.authenticated) {
63
+ case "yes":
64
+ return "authenticated";
65
+ case "no":
66
+ return "not-authenticated";
67
+ default:
68
+ return "unknown";
69
+ }
70
+ }
71
+ function resolveNamedReadiness(readiness, dryRun) {
72
+ const executableAvailable = readiness.installed && readiness.cliHealthy;
73
+ const configured = typeof readiness.configured === "boolean" ? readiness.configured : readiness.reasonCode !== "provider-not-found" && readiness.reasonCode !== "no-cli-channel" && readiness.known !== false;
74
+ const lastSuccessfulDryRun = dryRun?.fresh ? dryRun.lastSuccessMs : null;
75
+ const readyForRun = readiness.readinessNote === "env-var-auth-assumed" ? false : readiness.ready;
76
+ return {
77
+ configured,
78
+ authenticated: resolveAuthLabel(readiness),
79
+ executableAvailable,
80
+ lastSuccessfulDryRun,
81
+ readyForRun
82
+ };
83
+ }
84
+ function resolveProviderParityLabel(readiness, resolved) {
85
+ const named = resolved ?? resolveNamedReadiness(readiness);
86
+ if (!named.configured || !readiness.installed) {
87
+ return "missing";
88
+ }
89
+ if (!readiness.cliHealthy && readiness.reasonCode === "cli-unhealthy") {
90
+ return "installed-unhealthy";
91
+ }
92
+ if (!readiness.cliHealthy && readiness.reasonCode !== "cli-present-unprobed") {
93
+ return "installed-unhealthy";
94
+ }
95
+ if (readiness.readinessNote === "env-var-auth-assumed" || named.authenticated === "assumed-env") {
96
+ return "env-assumed";
97
+ }
98
+ if (readiness.ready && named.readyForRun) {
99
+ return "verified-ready";
100
+ }
101
+ if (readiness.authenticated === "no" || named.authenticated === "not-authenticated") {
102
+ return "auth-no";
103
+ }
104
+ return "auth-unknown";
105
+ }
106
+ function resolveAuthEvidence(readiness) {
107
+ if (readiness.readinessNote === "env-var-auth-assumed") {
108
+ return {
109
+ authEvidence: "assumed-env-var",
110
+ authDetail: "Auth inferred from a configured env var for setup readiness; execution still verifies provider access."
111
+ };
112
+ }
113
+ if (readiness.authenticated === "yes") {
114
+ return {
115
+ authEvidence: "provider-reported",
116
+ authDetail: "Provider readiness reported authentication available."
117
+ };
118
+ }
119
+ if (readiness.authenticated === "no") {
120
+ return {
121
+ authEvidence: "reported-missing",
122
+ authDetail: readiness.reason ?? "Provider readiness reported authentication missing."
123
+ };
124
+ }
125
+ if (readiness.warning?.includes("active auth probe")) {
126
+ return {
127
+ authEvidence: "active-unverified",
128
+ authDetail: readiness.warning ?? "Active auth probe could not verify headless execution; this is not a confirmed credential failure."
129
+ };
130
+ }
131
+ if (readiness.warning || readiness.reason?.includes("Authentication status unknown")) {
132
+ return {
133
+ authEvidence: "passive-unknown",
134
+ authDetail: readiness.warning ?? readiness.reason ?? "Passive readiness could not verify provider-owned authentication state."
135
+ };
136
+ }
137
+ return {
138
+ authEvidence: "not-collected",
139
+ authDetail: "Authentication status was not collected for this diagnostic."
140
+ };
141
+ }
142
+ function classifyProviderReadiness(readiness, resolved) {
143
+ const auth = resolveAuthEvidence(readiness);
144
+ const named = resolved ?? resolveNamedReadiness(readiness);
145
+ if (!named.configured || !readiness.installed) {
146
+ return {
147
+ readinessStatus: "unavailable",
148
+ readinessStatusDetail: readiness.reason ?? "CLI is not installed.",
149
+ ...auth
150
+ };
151
+ }
152
+ if (!readiness.cliHealthy && readiness.reasonCode !== "cli-present-unprobed") {
153
+ return {
154
+ readinessStatus: "broken",
155
+ readinessStatusDetail: readiness.reason ?? "CLI is installed but failed health probes.",
156
+ ...auth
157
+ };
158
+ }
159
+ if (readiness.sandboxCapable === false) {
160
+ const sandboxDetail = readiness.sandboxReason ?? readiness.reason ?? "Execute-tier sandbox/policy probe blocked provider state access.";
161
+ return {
162
+ readinessStatus: "installed-but-unverified",
163
+ readinessStatusDetail: `Readiness caveat: ${sandboxDetail} This is not a broken CLI or confirmed auth failure.`,
164
+ ...auth
165
+ };
166
+ }
167
+ if (readiness.readinessNote === "env-var-auth-assumed") {
168
+ return {
169
+ readinessStatus: "installed-but-unverified",
170
+ readinessStatusDetail: "CLI is installed and setup readiness is assumed from configured env auth; execution still verifies provider access.",
171
+ ...auth
172
+ };
173
+ }
174
+ if (readiness.sandboxCapable === true && readiness.authenticated === "no") {
175
+ return {
176
+ readinessStatus: "contained-auth-needed",
177
+ readinessStatusDetail: "CLI is contained and healthy, but authentication is missing.",
178
+ ...auth
179
+ };
180
+ }
181
+ if (readiness.sandboxCapable === true && readiness.ready) {
182
+ return {
183
+ readinessStatus: "contained-ready",
184
+ readinessStatusDetail: "CLI, auth, and execute-tier containment checks are ready.",
185
+ ...auth
186
+ };
187
+ }
188
+ if (readiness.authenticated === "no" || resolved?.authenticated === "not-authenticated") {
189
+ return {
190
+ readinessStatus: "normal-auth-needed",
191
+ readinessStatusDetail: "CLI is installed and healthy, but authentication is missing.",
192
+ ...auth
193
+ };
194
+ }
195
+ if (readiness.ready || resolved?.readyForRun) {
196
+ return {
197
+ readinessStatus: "normal-auth-ready",
198
+ readinessStatusDetail: "CLI is installed and auth readiness evidence is present.",
199
+ ...auth
200
+ };
201
+ }
202
+ return {
203
+ readinessStatus: "installed-but-unverified",
204
+ readinessStatusDetail: readiness.reason ?? "CLI is installed and healthy, but auth or execution readiness is not verified.",
205
+ ...auth
206
+ };
207
+ }
208
+ var SETUP_CHECK_READINESS_OPTIONS = {
209
+ mode: "setup",
210
+ sandboxProbeMode: "execute"
211
+ };
212
+ function resolveReadinessScopeLabel(readiness, resolved) {
213
+ if (!readiness.installed) return "unknown";
214
+ if (!readiness.cliHealthy && readiness.reasonCode !== "cli-present-unprobed") {
215
+ return "degraded";
216
+ }
217
+ if (readiness.sandboxCapable === false) return "degraded";
218
+ if (readiness.readinessNote === "env-var-auth-assumed") return "assumed";
219
+ if (readiness.ready && readiness.readinessNote !== "env-var-auth-assumed" || resolved?.readyForRun) {
220
+ return "execute-ready";
221
+ }
222
+ if (readiness.authenticated === "yes" || resolved?.authenticated === "authenticated") {
223
+ return "authenticated";
224
+ }
225
+ if (readiness.authenticated === "no" || resolved?.authenticated === "not-authenticated") {
226
+ return "auth-needed";
227
+ }
228
+ if (readiness.installed) return "installed";
229
+ return "unknown";
230
+ }
231
+ function resolveReadinessScope(readiness, resolved) {
232
+ const label = resolveReadinessScopeLabel(readiness, resolved);
233
+ switch (label) {
234
+ case "unknown":
235
+ if (!readiness.installed) {
236
+ return { label, detail: "CLI not installed" };
237
+ }
238
+ if (readiness.authenticated === "no" || resolved?.authenticated === "not-authenticated") {
239
+ return { label, detail: "Authentication not configured" };
240
+ }
241
+ return {
242
+ label,
243
+ detail: "Auth status not verified at this diagnostic scope"
244
+ };
245
+ case "degraded":
246
+ if (!readiness.cliHealthy) {
247
+ return { label, detail: readiness.reason ?? "CLI not healthy" };
248
+ }
249
+ if (readiness.sandboxCapable === false) {
250
+ const sandboxDetail = readiness.sandboxReason ?? readiness.reason ?? "execute-tier sandbox/policy blocked provider state access";
251
+ return {
252
+ label,
253
+ detail: `Readiness caveat: ${sandboxDetail}`
254
+ };
255
+ }
256
+ return { label, detail: readiness.reason ?? "Provider degraded" };
257
+ case "assumed":
258
+ return {
259
+ label,
260
+ detail: "Assumed from configured env var for setup only; execution still verifies provider access"
261
+ };
262
+ case "auth-needed":
263
+ return { label, detail: "Authentication not configured" };
264
+ case "installed":
265
+ return {
266
+ label,
267
+ detail: "CLI installed; auth not verified by passive setup-tier checks"
268
+ };
269
+ case "authenticated":
270
+ return { label, detail: "Authenticated; execute-tier checks incomplete" };
271
+ case "execute-ready":
272
+ return { label };
273
+ }
274
+ }
275
+ function readinessProbeContextForOptions(options = {}) {
276
+ const modeProbes = options.mode ? readinessProbesForMode(options.mode) : void 0;
277
+ const cliProbeMode = options.cliProbeMode ?? modeProbes?.cliProbeMode ?? "execute";
278
+ const authProbeMode = options.probeAuth !== void 0 ? "deferred" : options.authProbeMode ?? modeProbes?.authProbeMode ?? "passive";
279
+ return {
280
+ mode: options.mode ?? "execute",
281
+ cliProbeMode,
282
+ authProbeMode,
283
+ sandboxProbeMode: options.sandboxProbeMode ?? (options.mode === "setup" ? "none" : "execute")
284
+ };
285
+ }
286
+ var EXECUTE_CLI_PROBE_OPTIONS = {
287
+ timeoutMs: 15e3,
288
+ retries: 1
289
+ };
290
+ function readinessProbesForMode(mode) {
291
+ switch (mode) {
292
+ case "setup":
293
+ return { cliProbeMode: "execute", authProbeMode: "passive" };
294
+ case "execute":
295
+ return { cliProbeMode: "execute", authProbeMode: "passive" };
296
+ }
297
+ }
298
+ function formatAuthReadinessReason(displayName, authenticated, authProbeMode, authNote) {
299
+ if (authenticated === "yes") return void 0;
300
+ if (authenticated === "no") {
301
+ return authNote ? `Authentication missing. ${authNote}` : "Authentication missing";
302
+ }
303
+ if (authProbeMode === "active") {
304
+ const detail = authNote ? ` Detail: ${authNote}` : "";
305
+ return `${displayName} active auth probe could not verify headless execution; this is not a confirmed credential failure. Check provider runtime, sandbox, and CLI diagnostics.${detail}`;
306
+ }
307
+ return "Authentication status unknown; runtime will defer to the provider CLI.";
308
+ }
309
+ var ProviderNotReadyError = class extends Error {
310
+ provider;
311
+ readiness;
312
+ constructor(readiness, message = formatProviderNotReadyMessage(readiness)) {
313
+ super(message);
314
+ this.name = "ProviderNotReadyError";
315
+ this.provider = readiness.provider;
316
+ this.readiness = readiness;
317
+ }
318
+ };
319
+ var DEFAULT_CLI_PROBE_ARGS = [
320
+ ["--version"],
321
+ ["-v"],
322
+ ["--help"]
323
+ ];
324
+ var CLI_PRESENT_PATTERNS = [
325
+ /unknown (flag|option|argument)/i,
326
+ /unrecognized (flag|option|argument)/i,
327
+ /invalid (flag|option|argument)/i,
328
+ /no such option/i
329
+ ];
330
+ async function pathIsExecutable(filePath) {
331
+ try {
332
+ await access(filePath, fsConstants.X_OK);
333
+ return true;
334
+ } catch {
335
+ return false;
336
+ }
337
+ }
338
+ function pathEntries() {
339
+ return (process.env.PATH ?? "").split(path.delimiter).map((entry) => entry.trim()).filter(Boolean);
340
+ }
341
+ function providerSupportsCli(config) {
342
+ if (config.id === "openrouter") return false;
343
+ if (!config.cli?.command || config.cli.command === "N/A") return false;
344
+ if (!Array.isArray(config.channels)) return true;
345
+ return config.channels.includes("cli");
346
+ }
347
+ async function probeProviderCliOnce(command, preferredArgs, prefixArgs, timeoutMs) {
348
+ const probeArgs = [
349
+ ...preferredArgs && preferredArgs.length > 0 ? [Array.from(preferredArgs)] : [],
350
+ ...DEFAULT_CLI_PROBE_ARGS
351
+ ];
352
+ let lastErrorMessage;
353
+ let sawUnknownFlag = false;
354
+ for (const args of probeArgs) {
355
+ try {
356
+ await execa(command, [...prefixArgs ?? [], ...args], {
357
+ timeout: timeoutMs
358
+ });
359
+ return { present: true, healthy: true, healthProbed: true };
360
+ } catch (error) {
361
+ const err = error;
362
+ const message = err?.message ?? "";
363
+ const stderr = err?.stderr ?? "";
364
+ const combined = `${message}
365
+ ${stderr}`;
366
+ const isNotFound = err?.code === "ENOENT" || /spawn .* ENOENT/i.test(message) || /\bENOENT\b/i.test(message) || /command not found/i.test(combined) || /is not recognized as an internal or external command/i.test(combined);
367
+ if (isNotFound) {
368
+ return { present: false, healthy: false, healthProbed: true };
369
+ }
370
+ if (CLI_PRESENT_PATTERNS.some((pattern) => pattern.test(combined))) {
371
+ sawUnknownFlag = true;
372
+ continue;
373
+ }
374
+ lastErrorMessage = (stderr || message).trim() || lastErrorMessage;
375
+ }
376
+ }
377
+ return {
378
+ present: true,
379
+ healthy: false,
380
+ healthProbed: true,
381
+ degradedReason: lastErrorMessage ?? (sawUnknownFlag ? "CLI found but did not accept version/help probes" : "CLI found but failed to respond to version/help probes")
382
+ };
383
+ }
384
+ async function probeProviderCli(command, preferredArgs, prefixArgs, options = {}) {
385
+ const timeoutMs = options.timeoutMs ?? 5e3;
386
+ const maxAttempts = (options.retries ?? 0) + 1;
387
+ let lastResult = { present: false, healthy: false };
388
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
389
+ lastResult = await probeProviderCliOnce(command, preferredArgs, prefixArgs, timeoutMs);
390
+ if (lastResult.present && lastResult.healthy) {
391
+ return lastResult;
392
+ }
393
+ if (!lastResult.present) {
394
+ return lastResult;
395
+ }
396
+ }
397
+ return lastResult;
398
+ }
399
+ async function probeProviderCliPresence(command, prefixArgs) {
400
+ if (prefixArgs && prefixArgs.length > 0) {
401
+ return probeProviderCli(command, ["--version"], prefixArgs);
402
+ }
403
+ if (path.isAbsolute(command) || command.includes(path.sep)) {
404
+ return await pathIsExecutable(command) ? { present: true, healthy: false, healthProbed: false } : { present: false, healthy: false, healthProbed: false };
405
+ }
406
+ for (const entry of pathEntries()) {
407
+ const candidate = path.join(entry, command);
408
+ if (await pathIsExecutable(candidate)) {
409
+ return { present: true, healthy: false, healthProbed: false };
410
+ }
411
+ }
412
+ return { present: false, healthy: false, healthProbed: false };
413
+ }
414
+ var NATIVE_PROVIDER_AUTH_IDS = /* @__PURE__ */ new Set([
415
+ "claude",
416
+ "codex",
417
+ "cursor",
418
+ "gemini",
419
+ "grok",
420
+ "copilot",
421
+ "opencode",
422
+ "kiro",
423
+ "antigravity",
424
+ "pi"
425
+ ]);
426
+ function isSetupTierReadiness(options) {
427
+ if (options.mode === "setup") return true;
428
+ if (options.mode === "execute") return false;
429
+ return options.cliProbeMode === "presence" && options.authProbeMode !== "active";
430
+ }
431
+ function readConfiguredEnvValue(env, key) {
432
+ return env ? env[key] : process.env[key];
433
+ }
434
+ function hasConfiguredEnvVarAuth(config, env) {
435
+ const envVars = config.auth?.env_vars ?? [];
436
+ return envVars.some((key) => {
437
+ const value = readConfiguredEnvValue(env, key);
438
+ return typeof value === "string" && value.trim().length > 0;
439
+ });
440
+ }
441
+ function resolveEnvVarAuthReadinessPromotion(_providerId, config, authenticated, sandboxBlocked, options) {
442
+ if (authenticated !== "unknown" || sandboxBlocked) return void 0;
443
+ if (readRawEnv(POETIC_STRICT_READINESS) === "1") return void 0;
444
+ if (!hasConfiguredEnvVarAuth(config, options.authProbeEnv)) return void 0;
445
+ return "env-var-auth-assumed";
446
+ }
447
+ function normalizePassiveAuthForEnvVarPromotion(providerId, config, authenticated, authProbeMode, options) {
448
+ if (!isSetupTierReadiness(options)) return authenticated;
449
+ if (authenticated !== "no") return authenticated;
450
+ if (authProbeMode === "active") return authenticated;
451
+ if (providerId !== "opencode") return authenticated;
452
+ if (!hasConfiguredEnvVarAuth(config, options.authProbeEnv)) return authenticated;
453
+ return "unknown";
454
+ }
455
+ function shouldProbeSandboxCapability(executeTier, options) {
456
+ if (options.sandboxProbeMode === "none") return false;
457
+ if (options.probeSandboxCapability) return true;
458
+ if (options.sandboxProbeMode === "execute") {
459
+ const runningUnderVitest2 = Boolean(process.env.VITEST || process.env.VITEST_WORKER_ID) || process.env.NODE_ENV === "test";
460
+ return !runningUnderVitest2;
461
+ }
462
+ if (!executeTier) return false;
463
+ const runningUnderVitest = Boolean(process.env.VITEST || process.env.VITEST_WORKER_ID) || process.env.NODE_ENV === "test";
464
+ return !runningUnderVitest;
465
+ }
466
+ async function probeProviderAuthReadinessPassive(providerId, config, env) {
467
+ if (isProviderSkipAuthActive(config, env)) return "yes";
468
+ if (NATIVE_PROVIDER_AUTH_IDS.has(providerId)) {
469
+ const { invokeProviderAuthState } = await import("./invoke-provider-auth-GRUYP44M.js");
470
+ return invokeProviderAuthState(providerId, env ? { mode: "passive", env } : "passive");
471
+ }
472
+ return "unknown";
473
+ }
474
+ async function probeProviderAuthReadiness(providerId, config, options = {}) {
475
+ return (await probeProviderAuthReadinessDetailed(providerId, config, options)).state;
476
+ }
477
+ async function probeProviderAuthReadinessDetailed(providerId, config, options = {}) {
478
+ const providerConfig = config ?? ProviderRegistry.getProviderConfig(providerId);
479
+ const mode = options.mode ?? "passive";
480
+ if (mode === "passive") {
481
+ return {
482
+ state: await probeProviderAuthReadinessPassive(providerId, providerConfig, options.env)
483
+ };
484
+ }
485
+ if (isProviderSkipAuthActive(providerConfig, options.env)) return { state: "yes" };
486
+ if (NATIVE_PROVIDER_AUTH_IDS.has(providerId)) {
487
+ const { invokeProviderAuthReadiness } = await import("./invoke-provider-auth-GRUYP44M.js");
488
+ try {
489
+ return await invokeProviderAuthReadiness(
490
+ providerId,
491
+ options.env ? { mode: "active", env: options.env } : "active"
492
+ );
493
+ } catch {
494
+ return { state: "unknown" };
495
+ }
496
+ }
497
+ return { state: "unknown" };
498
+ }
499
+ async function getProviderReadiness(providerId, options = {}) {
500
+ let config;
501
+ try {
502
+ config = options.providers?.find((provider) => provider.id === providerId) ?? ProviderRegistry.getProviderConfig(providerId);
503
+ } catch (error) {
504
+ return {
505
+ provider: providerId,
506
+ displayName: providerId,
507
+ known: false,
508
+ configured: false,
509
+ installed: false,
510
+ cliHealthy: false,
511
+ authenticated: "unknown",
512
+ ready: false,
513
+ order: 99,
514
+ reasonCode: "provider-not-found",
515
+ reason: error instanceof Error ? error.message : "Provider not found"
516
+ };
517
+ }
518
+ const installCommand = config.cli?.install_command;
519
+ const normalizedProviderId = config.id ?? providerId;
520
+ const displayName = config.display_name ?? normalizedProviderId;
521
+ const order = config.order ?? 99;
522
+ const experimental = resolveProviderReleaseStatus(config) === "experimental";
523
+ if (!providerSupportsCli(config)) {
524
+ return {
525
+ provider: normalizedProviderId,
526
+ displayName,
527
+ known: true,
528
+ configured: false,
529
+ installed: false,
530
+ cliHealthy: false,
531
+ authenticated: "unknown",
532
+ ready: false,
533
+ installCommand,
534
+ authCommand: config.auth?.note,
535
+ order,
536
+ reasonCode: "no-cli-channel",
537
+ reason: "Provider does not expose a local CLI execution channel"
538
+ };
539
+ }
540
+ let cli;
541
+ try {
542
+ cli = (options.resolveCliCommand ?? resolveProviderCliCommand)(normalizedProviderId);
543
+ } catch (error) {
544
+ return {
545
+ provider: normalizedProviderId,
546
+ displayName,
547
+ known: true,
548
+ configured: true,
549
+ installed: false,
550
+ cliHealthy: false,
551
+ authenticated: "unknown",
552
+ ready: false,
553
+ installCommand,
554
+ authCommand: config.auth?.note,
555
+ order,
556
+ reasonCode: "cli-resolve-failed",
557
+ reason: error instanceof Error ? error.message : "Provider CLI could not be resolved"
558
+ };
559
+ }
560
+ const modeProbes = options.mode ? readinessProbesForMode(options.mode) : void 0;
561
+ const cliProbeMode = options.cliProbeMode ?? modeProbes?.cliProbeMode;
562
+ const authProbeMode = options.authProbeMode ?? modeProbes?.authProbeMode;
563
+ const executeTier = options.mode === "execute" || options.mode === void 0 && cliProbeMode === "execute";
564
+ const healthProbeRequested = cliProbeMode === "execute";
565
+ const setupTier = isSetupTierReadiness(options);
566
+ const probe = options.probeCli !== void 0 ? await options.probeCli(cli.command, ["--version"], cli.prefixArgs) : cliProbeMode === "presence" ? await probeProviderCliPresence(cli.command, cli.prefixArgs) : await probeProviderCli(
567
+ cli.command,
568
+ ["--version"],
569
+ cli.prefixArgs,
570
+ healthProbeRequested ? EXECUTE_CLI_PROBE_OPTIONS : void 0
571
+ );
572
+ if (!probe.present) {
573
+ return {
574
+ provider: normalizedProviderId,
575
+ displayName,
576
+ known: true,
577
+ configured: true,
578
+ installed: false,
579
+ cliHealthy: false,
580
+ authenticated: "unknown",
581
+ ready: false,
582
+ command: cli.command,
583
+ prefixArgs: cli.prefixArgs,
584
+ installCommand,
585
+ authCommand: config.auth?.note,
586
+ order,
587
+ reasonCode: "cli-not-installed",
588
+ reason: "CLI is not installed"
589
+ };
590
+ }
591
+ const healthProbed = probe.healthProbed === true || probe.healthy === true;
592
+ const presenceOnly = cliProbeMode === "presence" && !healthProbed && !probe.healthy;
593
+ if (!probe.healthy && !presenceOnly) {
594
+ return {
595
+ provider: normalizedProviderId,
596
+ displayName,
597
+ known: true,
598
+ configured: true,
599
+ installed: true,
600
+ cliHealthy: false,
601
+ authenticated: "unknown",
602
+ ready: false,
603
+ command: cli.command,
604
+ prefixArgs: cli.prefixArgs,
605
+ installCommand,
606
+ authCommand: config.auth?.note,
607
+ order,
608
+ reasonCode: "cli-unhealthy",
609
+ reason: probe.degradedReason ?? "CLI found but failed health probes"
610
+ };
611
+ }
612
+ const cliHealthy = probe.healthy;
613
+ const presentUnprobed = presenceOnly;
614
+ const sandboxCapability = shouldProbeSandboxCapability(executeTier, options) ? options.probeSandboxCapability ? options.probeSandboxCapability(normalizedProviderId) : probeProviderSandboxCapability(normalizedProviderId, {
615
+ env: options.authProbeEnv
616
+ }) : void 0;
617
+ const sandboxCapable = sandboxCapability?.capable;
618
+ const sandboxReason = sandboxCapability && !sandboxCapability.capable ? formatSandboxCapabilityFailure(sandboxCapability) : void 0;
619
+ const sandboxBlocked = sandboxCapable === false;
620
+ const sandboxDeniedPaths = sandboxCapability?.missing.map((entry) => entry.path);
621
+ const writeBoundary = resolveWriteBoundaryAdvisory(options.authProbeEnv);
622
+ if (sandboxBlocked) {
623
+ return {
624
+ provider: normalizedProviderId,
625
+ displayName,
626
+ known: true,
627
+ configured: true,
628
+ installed: true,
629
+ // Presence-only leaves health unverified; execute probes that reached here were healthy.
630
+ cliHealthy: !presentUnprobed,
631
+ authenticated: "unknown",
632
+ sandboxCapable,
633
+ ...sandboxReason ? { sandboxReason } : {},
634
+ ...sandboxDeniedPaths && sandboxDeniedPaths.length > 0 ? { sandboxDeniedPaths } : {},
635
+ ...writeBoundary ? { writeBoundary } : {},
636
+ ready: false,
637
+ command: cli.command,
638
+ prefixArgs: cli.prefixArgs,
639
+ installCommand,
640
+ authCommand: config.auth?.note,
641
+ order,
642
+ reasonCode: "sandbox-blocked",
643
+ reason: sandboxReason
644
+ };
645
+ }
646
+ const injectedAuthProbe = options.probeAuth;
647
+ const authReadiness = injectedAuthProbe ? { state: await injectedAuthProbe(normalizedProviderId, config) } : await probeProviderAuthReadinessDetailed(normalizedProviderId, config, {
648
+ mode: authProbeMode ?? "passive",
649
+ ...options.authProbeEnv ? { env: options.authProbeEnv } : {}
650
+ });
651
+ const rawAuthenticated = authReadiness.state;
652
+ const normalizedAuthenticated = injectedAuthProbe ? rawAuthenticated : normalizePassiveAuthForEnvVarPromotion(
653
+ normalizedProviderId,
654
+ config,
655
+ rawAuthenticated,
656
+ authProbeMode,
657
+ options
658
+ );
659
+ const unverifiedEnvAuth = !injectedAuthProbe && authReadiness.evidence !== "execution" && !isProviderSkipAuthActive(config, options.authProbeEnv) && hasConfiguredEnvVarAuth(config, options.authProbeEnv);
660
+ const authenticated = unverifiedEnvAuth && !(authProbeMode === "active" && normalizedAuthenticated === "no") ? "unknown" : normalizedAuthenticated;
661
+ const readinessNote = resolveEnvVarAuthReadinessPromotion(
662
+ normalizedProviderId,
663
+ config,
664
+ authenticated,
665
+ sandboxBlocked,
666
+ options
667
+ );
668
+ const ready = readinessNote !== void 0 ? setupTier && cliHealthy : authenticated === "yes" && !sandboxBlocked && (cliHealthy || !presentUnprobed);
669
+ const attemptEligible = executeTier && !sandboxBlocked && (authenticated === "unknown" || readinessNote !== void 0) && authenticated !== "no";
670
+ const authReason = formatAuthReadinessReason(
671
+ displayName,
672
+ authenticated,
673
+ authProbeMode,
674
+ authReadiness.reason ?? config.auth?.note
675
+ );
676
+ const authWarning = authenticated === "unknown" ? authProbeMode === "active" ? `${displayName} active auth probe could not verify headless execution; runtime may still fail in the provider CLI.${authReadiness.reason ? ` Detail: ${authReadiness.reason}` : ""}` : "Auth status was not collected by passive readiness checks; runtime will defer to the provider CLI." : void 0;
677
+ const reasonCode = (() => {
678
+ if (ready && readinessNote === void 0) return "ready";
679
+ if (readinessNote !== void 0) return "env-var-auth-assumed";
680
+ if (authenticated === "no") return "auth-missing";
681
+ if (authProbeMode === "active" && authenticated === "unknown") {
682
+ return "auth-active-unverified";
683
+ }
684
+ if (authenticated === "unknown") return "auth-unknown";
685
+ if (presentUnprobed) return "cli-present-unprobed";
686
+ return "ready";
687
+ })();
688
+ return {
689
+ provider: normalizedProviderId,
690
+ displayName,
691
+ known: true,
692
+ configured: true,
693
+ installed: true,
694
+ cliHealthy,
695
+ authenticated,
696
+ ...sandboxCapable !== void 0 ? { sandboxCapable } : {},
697
+ ...sandboxReason ? { sandboxReason } : {},
698
+ ...writeBoundary ? { writeBoundary } : {},
699
+ ready,
700
+ ...readinessNote ? { readinessNote } : {},
701
+ ...attemptEligible ? { attemptEligible: true } : {},
702
+ ...experimental ? { experimental: true } : {},
703
+ command: cli.command,
704
+ prefixArgs: cli.prefixArgs,
705
+ installCommand,
706
+ authCommand: config.auth?.note,
707
+ order,
708
+ reasonCode,
709
+ reason: ready && readinessNote === void 0 ? void 0 : readinessNote ? "Auth assumed from configured env var; not verified for execute-tier readiness." : authReason,
710
+ warning: authWarning
711
+ };
712
+ }
713
+ async function getAllProviderReadiness(options = {}) {
714
+ const providers = (options.providers ?? ProviderRegistry.getEnabledProviders()).filter(
715
+ providerSupportsCli
716
+ );
717
+ const results = await Promise.all(
718
+ providers.map((provider) => getProviderReadiness(provider.id, { ...options, providers }))
719
+ );
720
+ return results.sort((a, b) => a.order - b.order);
721
+ }
722
+ function selectReadyProvider(readiness) {
723
+ const ready = readiness.filter((provider) => provider.ready).sort((a, b) => a.order - b.order);
724
+ if (ready.length === 0) {
725
+ return { kind: "none", candidates: readiness };
726
+ }
727
+ const stable = ready.filter((provider) => !provider.experimental);
728
+ const candidates = stable.length > 0 ? stable : ready;
729
+ if (candidates.length === 1 && candidates[0]) {
730
+ return { kind: "single", provider: candidates[0], candidates };
731
+ }
732
+ return { kind: "multiple", candidates };
733
+ }
734
+ function formatProviderSetupGuidance(readiness) {
735
+ const lines = ["No ready AI provider CLI found.", "", "Install or authenticate one provider:"];
736
+ const candidates = readiness.length > 0 ? readiness : [];
737
+ for (const provider of candidates) {
738
+ const action = provider.installed ? provider.authCommand ?? `Authenticate ${provider.displayName}` : provider.installCommand ?? `Install ${provider.displayName}`;
739
+ lines.push(` ${provider.displayName}: ${action}`);
740
+ }
741
+ lines.push("", "Run poetic provider list after setup completes.");
742
+ return lines.join("\n");
743
+ }
744
+ function formatProviderNotReadyMessage(readiness, options = {}) {
745
+ if (readiness.sandboxCapable === false) {
746
+ const roleSuffix = options.role ? ` (${options.role})` : "";
747
+ const deniedPaths = readiness.sandboxDeniedPaths?.join(", ");
748
+ const pathLine = deniedPaths ? `Denied path(s): ${deniedPaths}.` : void 0;
749
+ const reason2 = readiness.sandboxReason ?? readiness.reason ?? "Required state paths are not writable.";
750
+ return [
751
+ `${readiness.displayName}${roleSuffix} is blocked by sandbox/policy access, not an auth failure.`,
752
+ pathLine,
753
+ reason2,
754
+ "Action: grant write access to the denied path(s) in the effective sandbox, or run outside the inherited sandbox.",
755
+ `Run poetic doctor --provider ${readiness.provider} for execute-tier diagnostics.`
756
+ ].filter((line) => Boolean(line)).join("\n");
757
+ }
758
+ const reason = readiness.reason ?? "provider is not ready";
759
+ const action = readiness.installed ? readiness.authCommand ?? `Authenticate ${readiness.displayName}` : readiness.installCommand ?? `Install ${readiness.displayName}`;
760
+ return [
761
+ `Configured provider ${readiness.displayName} is not ready: ${reason}.`,
762
+ `Action: ${action}`,
763
+ "Run poetic provider list after setup completes."
764
+ ].join("\n");
765
+ }
766
+ function isSandboxOnlyReadinessBlock(readiness) {
767
+ return readiness.sandboxCapable === false && readiness.installed === true && readiness.cliHealthy === true && readiness.authenticated !== "no";
768
+ }
769
+ function shouldBlockOnProviderReadiness(readiness) {
770
+ if (readiness.ready) {
771
+ return false;
772
+ }
773
+ if (readiness.attemptEligible) {
774
+ return false;
775
+ }
776
+ return true;
777
+ }
778
+ async function assertProviderReady(providerId, options = {}) {
779
+ if (readRawEnv(POETIC_SKIP_READINESS_PREFLIGHT) === "1") {
780
+ return getProviderReadiness(providerId, {
781
+ mode: options.mode ?? "execute",
782
+ probeAuth: async () => "unknown"
783
+ });
784
+ }
785
+ const readiness = await getProviderReadiness(providerId, {
786
+ mode: options.mode ?? "execute",
787
+ probeAuth: async () => "unknown"
788
+ });
789
+ if (shouldBlockOnProviderReadiness(readiness)) {
790
+ throw new ProviderNotReadyError(readiness);
791
+ }
792
+ return readiness;
793
+ }
794
+ function isGateReadyProvider(readiness) {
795
+ if (readiness.ready) return true;
796
+ return readiness.cliHealthy && readiness.readinessNote === "env-var-auth-assumed";
797
+ }
798
+ function buildRemediation(readiness) {
799
+ if (isGateReadyProvider(readiness)) return void 0;
800
+ if (!readiness.configured || !readiness.known) {
801
+ return `${readiness.displayName}: provider is not configured for local CLI use`;
802
+ }
803
+ if (!readiness.installed) {
804
+ return readiness.installCommand ? `${readiness.displayName}: install with \`${readiness.installCommand}\`` : `${readiness.displayName}: install the provider CLI`;
805
+ }
806
+ if (!readiness.cliHealthy && readiness.reasonCode === "cli-unhealthy") {
807
+ return `${readiness.displayName}: CLI is installed but unhealthy${readiness.reason ? ` (${readiness.reason})` : ""}`;
808
+ }
809
+ if (readiness.authenticated === "no") {
810
+ return readiness.authCommand ? `${readiness.displayName}: authenticate with \`${readiness.authCommand}\`` : `${readiness.displayName}: authenticate the provider CLI`;
811
+ }
812
+ if (readiness.authenticated === "unknown") {
813
+ return `${readiness.displayName}: auth not verified; run \`poetic doctor --probe --provider ${readiness.provider}\` or \`poetic provider setup\``;
814
+ }
815
+ return readiness.reason ? `${readiness.displayName}: ${readiness.reason}` : `${readiness.displayName}: not ready`;
816
+ }
817
+ function toSnapshot(readiness, dryRun) {
818
+ const resolved = resolveNamedReadiness(readiness, dryRun);
819
+ const classification = classifyProviderReadiness(readiness, resolved);
820
+ const scope = resolveReadinessScope(readiness, resolved);
821
+ return {
822
+ readiness,
823
+ resolved,
824
+ classification,
825
+ scope,
826
+ parityLabel: resolveProviderParityLabel(readiness, resolved)
827
+ };
828
+ }
829
+ async function collectProviderReadinessGate(options = {}) {
830
+ const baseOptions = options.readinessOptions ?? {
831
+ mode: "setup",
832
+ sandboxProbeMode: "none"
833
+ };
834
+ let readinessList = await getAllProviderReadiness(baseOptions);
835
+ if (options.activeAuthWhenNeeded) {
836
+ readinessList = await Promise.all(
837
+ readinessList.map(async (entry) => {
838
+ if (isGateReadyProvider(entry)) return entry;
839
+ if (!entry.installed) return entry;
840
+ if (entry.authenticated === "no") return entry;
841
+ return getProviderReadiness(entry.provider, {
842
+ ...baseOptions,
843
+ mode: baseOptions.mode ?? "execute",
844
+ authProbeMode: "active",
845
+ cliProbeMode: baseOptions.cliProbeMode ?? "execute",
846
+ providers: baseOptions.providers,
847
+ resolveCliCommand: baseOptions.resolveCliCommand,
848
+ probeCli: baseOptions.probeCli,
849
+ authProbeEnv: baseOptions.authProbeEnv,
850
+ probeSandboxCapability: baseOptions.probeSandboxCapability,
851
+ sandboxProbeMode: baseOptions.sandboxProbeMode
852
+ });
853
+ })
854
+ );
855
+ }
856
+ const providers = readinessList.map(
857
+ (entry) => toSnapshot(entry, options.dryRunForProvider?.(entry.provider))
858
+ );
859
+ const readyProviders = providers.filter((entry) => isGateReadyProvider(entry.readiness)).map((entry) => entry.readiness.provider);
860
+ const readyCount = readyProviders.length;
861
+ const gateLabel = readyCount === 0 ? "zero-ready" : readyCount === 1 ? "one-ready" : "multi-ready";
862
+ const requireAtLeastOneReady = options.requireAtLeastOneReady === true;
863
+ const gatePassed = !requireAtLeastOneReady || readyCount > 0;
864
+ const remediations = providers.map((entry) => buildRemediation(entry.readiness)).filter((line) => Boolean(line));
865
+ return {
866
+ providers,
867
+ readyCount,
868
+ readyProviders,
869
+ gatePassed,
870
+ gateLabel,
871
+ remediations
872
+ };
873
+ }
874
+
875
+ export {
876
+ resolveNamedReadiness,
877
+ resolveProviderParityLabel,
878
+ classifyProviderReadiness,
879
+ SETUP_CHECK_READINESS_OPTIONS,
880
+ resolveReadinessScope,
881
+ readinessProbeContextForOptions,
882
+ EXECUTE_CLI_PROBE_OPTIONS,
883
+ readinessProbesForMode,
884
+ ProviderNotReadyError,
885
+ probeProviderCli,
886
+ probeProviderCliPresence,
887
+ probeProviderAuthReadiness,
888
+ getProviderReadiness,
889
+ getAllProviderReadiness,
890
+ selectReadyProvider,
891
+ formatProviderSetupGuidance,
892
+ formatProviderNotReadyMessage,
893
+ isSandboxOnlyReadinessBlock,
894
+ shouldBlockOnProviderReadiness,
895
+ assertProviderReady,
896
+ isGateReadyProvider,
897
+ collectProviderReadinessGate
898
+ };
899
+ //# sourceMappingURL=chunk-AURFMVCD.js.map