@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
package/README.md ADDED
@@ -0,0 +1,474 @@
1
+ # Poetic
2
+
3
+ Poetic is a TypeScript CLI for running AI coding work through multiple local
4
+ providers, comparing their results, and keeping the winning implementation
5
+ grounded in tests and repository policy.
6
+
7
+ [![Version](https://img.shields.io/badge/version-v1.42-blue.svg)](package.json)
8
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
9
+
10
+ ## What It Does
11
+
12
+ Poetic helps with coding tasks that benefit from orchestration rather than a
13
+ single model response:
14
+
15
+ - Run one provider or several competing provider variants.
16
+ - Compare conservative, hybrid, and innovative approaches.
17
+ - Use an AI judge to evaluate and synthesize variants.
18
+ - Track cost, telemetry, and validation results locally.
19
+ - Coordinate project work through backlog, sprint, and task workflows.
20
+
21
+ The actively maintained provider path is local CLI execution. Historical cloud
22
+ execution code and telemetry fields remain for compatibility, but new workflows
23
+ should prefer local provider modes.
24
+
25
+ ## Security Model At A Glance
26
+
27
+ Poetic runs local provider CLIs and asks them to edit your checkout. Treat those
28
+ providers as code-executing tools that can read repository files and any other
29
+ broadly-readable files their own runtime can access.
30
+
31
+ On macOS, Poetic wraps provider CLI processes in the native Seatbelt sandbox by
32
+ default. The sandbox is a write and persistence boundary: it restricts writes to
33
+ the worktree, temp/cache locations, and selected provider state directories, and
34
+ it blocks known sensitive credential paths. It is not a confidentiality boundary
35
+ or a network egress filter. Provider CLIs still have outbound network access and
36
+ can read files that are not explicitly denied.
37
+
38
+ Write-capable provider automation requires an accepted sandbox/policy boundary.
39
+ On macOS that is still Seatbelt, or an attested container / inherited outer;
40
+ missing those still fails closed. On Linux, host class is the write policy (not
41
+ a Seatbelt sandbox): isolated VM/container/cloud/CI hosts just work; Linux
42
+ desktops warn and require `poetic sandbox trust linux --ack-desktop` or a TTY
43
+ prompt. Never a Linux platform ban. Missing desktop consent fails this run with
44
+ `linux_desktop_consent_required`. WSL is treated as a desktop. Install,
45
+ readiness, orientation, telemetry, and other read-only CLI commands remain
46
+ available without that consent. See
47
+ [docs/reference/SECURITY.md](./docs/reference/SECURITY.md#runtime-security-boundaries).
48
+
49
+ That boundary does not cover project verification. Poetic's verification steps
50
+ run your target repository's own test, build, lint, and typecheck commands as
51
+ ordinary child processes with your full OS privileges. Wherever a boundary is
52
+ active it confines provider execution only, never these commands. Code reached
53
+ that way can write anywhere your user account can. Realistic exposure paths are a compromised dependency pulled into
54
+ the target project, or agent-authored or prompt-injected code that reaches a
55
+ verification script; neither requires a hostile third-party contribution. The
56
+ command allowlist constrains the command string (`npm test` is accepted), not
57
+ what the invoked script then does. Running Poetic against an unfamiliar
58
+ repository means running that repository's code on your machine. See
59
+ [Project Verification Executes Target-Repository Code](./docs/reference/SECURITY.md#project-verification-executes-target-repository-code).
60
+
61
+ ## Quick Start
62
+
63
+ Requires Node.js 24.x on macOS or Linux. Native Windows is not supported; use
64
+ WSL2. WSL is treated as a Linux desktop. Install and read-only CLI commands
65
+ work on Linux without extra setup. Write-capable provider automation on Linux
66
+ uses host class (isolated hosts just work; desktops warn and require consent);
67
+ macOS still requires Seatbelt or an attested container (see
68
+ [Security Model At A Glance](#security-model-at-a-glance)). See
69
+ [INSTALL.md](INSTALL.md) for the full prerequisite list.
70
+
71
+ Install the exact release from npm:
72
+
73
+ ```bash
74
+ npm install -g @poetic-ai/poetic@1.42.0
75
+ ```
76
+
77
+ The repository is private until the open-source switch, so authenticated users
78
+ can run the tagged installer through GitHub CLI:
79
+
80
+ ```bash
81
+ gh api -H 'Accept: application/vnd.github.raw+json' \
82
+ 'repos/ebrindley/Poetic/contents/install.sh?ref=v1.42.0' \
83
+ | bash -s -- --version 1.42.0 --strict
84
+ ```
85
+
86
+ After the repository becomes public, the floating one-liner is:
87
+
88
+ ```bash
89
+ curl -fsSL https://raw.githubusercontent.com/ebrindley/Poetic/main/install.sh | bash
90
+ ```
91
+
92
+ Contributors can build from the public source repository as described in
93
+ [INSTALL.md](INSTALL.md).
94
+
95
+ Verify the install:
96
+
97
+ ```bash
98
+ poetic provider list
99
+ poetic doctor --all
100
+ ```
101
+
102
+ ### For Interactive Use
103
+
104
+ Run provider setup first, then initialize the git repository you want Poetic
105
+ to change:
106
+
107
+ ```bash
108
+ poetic provider setup --first-run
109
+ cd /path/to/target-git-repo
110
+ poetic init
111
+ poetic doctor
112
+ ```
113
+
114
+ `poetic init` is the full project scaffold. `poetic init quickstart` is an
115
+ optional readiness and safe-branch helper. `poetic init --safe-branch` creates
116
+ a safe branch then initializes; legacy `poetic quickstart` remains a hidden
117
+ compatibility path through 1.42.x.
118
+
119
+ ### For Agents and Scripts
120
+
121
+ Read compact project context instead of loading README or the full command
122
+ reference:
123
+
124
+ ```bash
125
+ poetic context --json
126
+ ```
127
+
128
+ For the primary validated path, authenticate Claude or Codex first.
129
+ Provider release tiers are tracked in
130
+ [docs/reference/PROVIDER_RELEASE_TIERS.md](./docs/reference/PROVIDER_RELEASE_TIERS.md):
131
+ Claude and Codex are primary validated; Grok, Cursor, OpenCode, Antigravity,
132
+ and Pi are supported validated; Gemini, Kiro, and Copilot are experimental.
133
+
134
+ ```bash
135
+ poetic provider setup --providers claude,codex
136
+ claude auth login
137
+ codex login
138
+ poetic provider list
139
+ ```
140
+
141
+ In an interactive terminal, running `poetic` with no arguments opens the local
142
+ dashboard. In CI, pipes, and other non-interactive shells, bare `poetic` prints
143
+ lightweight help instead.
144
+
145
+ ### First success
146
+
147
+ Start with `poetic provider setup --first-run`, then in the project repository
148
+ run `poetic init` and `poetic doctor`. Work from that target repository,
149
+ not a nested checkout. Use a safe branch (`run/*` is fine) rather than `main`.
150
+ `poetic init quickstart` remains an optional branch helper.
151
+ Prefer `poetic run` for straightforward single-provider execution. Use
152
+ `poetic run competition` when you want judge scores/rationale (single-variant
153
+ graded evaluation) or multi-variant comparative selection. The example selects
154
+ Claude explicitly; Codex is the peer primary path when it is the ready local
155
+ CLI. The configured runtime default remains whatever
156
+ `poetic config resolved --summary --json` reports for your project.
157
+
158
+ ```bash
159
+ # In your project repo (not on main)
160
+ poetic init
161
+ poetic doctor
162
+ # Optional branch helper:
163
+ poetic init quickstart "my task" --branch --branch-name run/my-task
164
+
165
+ # Preferred default: straightforward single-provider execution
166
+ poetic run "Your concrete task here"
167
+ # Delivery caveat: changes may stay in an isolated worktree or patch under .poetic/
168
+
169
+ # When you want judge scores/rationale (AI judging is the default)
170
+ poetic run competition "Your concrete task here" --variant claude:conservative
171
+ # Note the competition ID, then apply on a fix/* / docs/* / test/* branch:
172
+ poetic init quickstart "apply my task" --branch --branch-name fix/my-task
173
+ poetic run competition apply <competition-id>
174
+
175
+ git status # inspect repo-root changes when apply (or in-place) delivery landed
176
+ poetic provider list # confirm provider readiness
177
+ ```
178
+
179
+ **Verify:** `poetic provider list` reports at least one ready provider. After a
180
+ successful `compete apply` (or an in-place run), `git status` shows the expected
181
+ files in the repo root. Direct `run` and judged `compete` remain **Beta** until
182
+ post-apply verification, judgeWinner/deliveryArtifact identity, and the end-to-end
183
+ judged apply path are validated.
184
+
185
+ See [docs/getting-started/QUICK_START.md](./docs/getting-started/QUICK_START.md)
186
+ for the full walkthrough. The supported surface contract is in
187
+ [docs/RELEASE_VERIFICATION.md](https://github.com/ebrindley/Poetic/blob/main/docs/RELEASE_VERIFICATION.md#supported-surface-contract).
188
+
189
+ ### Source install details
190
+
191
+ Poetic is MIT-licensed open-source software. The public source repository is
192
+ available for source builds under the [MIT License](./LICENSE); clone, build,
193
+ and local link steps are in [INSTALL.md](INSTALL.md). For the installer script,
194
+ upgrades, and CI options, see [INSTALL.md](INSTALL.md).
195
+
196
+ Additional checks for a source setup:
197
+
198
+ ```bash
199
+ poetic d # short alias for `poetic doctor`
200
+ ```
201
+
202
+ **Power-user pattern: executor + reviewer.** Beyond the default execute path,
203
+ Poetic can pair a fast executor with an independent, cross-vendor AI code
204
+ reviewer on every dispatched task (executor -> reviewer -> gate -> verify),
205
+ configured via `roles.*`. This is an advanced, instrumented pattern.
206
+
207
+ ### Beta limitations
208
+
209
+ - Prefer `poetic run` for straightforward single-provider work. By default it
210
+ uses isolated worktrees and may leave patch artifacts under `.poetic/` rather
211
+ than editing your repo root. Use `poetic run competition` when you want judge
212
+ scores/rationale or multi-variant comparison.
213
+ - Single-variant `poetic run competition` with the default AI judge is graded
214
+ evaluation (scores and rationale). Multi-variant judged `run competition` is
215
+ comparative selection. Do not pass `--judge ai` unless you are overriding a
216
+ non-default judge choice — AI judging is already the default.
217
+ - Analysis-classified tasks auto-use Fusion peer synthesis. Pass `--judge ai`
218
+ explicitly when you want graded judge feedback instead of Fusion.
219
+ - `--judge off` with one variant is ungraded execution through competition
220
+ infrastructure. With multiple variants it is manual comparison with no
221
+ automatic winner (inspect, then `poetic run competition apply <id> --variant <name>`).
222
+ - `poetic plan approve --to-sprint --no-apply` still runs Flywheel (results
223
+ stay on the review branch); it is not the same as
224
+ `build "<intent>" --planned --no-apply`, which stops after planning without
225
+ sprint or workflow execution.
226
+ - Apply-mode pipeline commands (`run competition`, `build --planned`,
227
+ `sprint run`, `run`) are blocked on `main` unless you pass `--allow-main`.
228
+ Prefer a `run/*` execution branch, and harvest competition results onto
229
+ `fix/*`, `docs/*`, or `test/*` with `poetic run competition apply`.
230
+ - Validation-only checks from protected branches should use
231
+ `poetic run competition --validation-run ...`; product fixes still need a
232
+ separate `fix/*`, `docs/*`, or `test/*` apply branch.
233
+ - Cleanup commands default to dry-run. Inspect with `poetic cleanup doctor`,
234
+ `poetic cleanup worktrees`, or `poetic cleanup preview` before adding
235
+ `--execute`.
236
+
237
+ ## Provider Setup
238
+
239
+ Poetic delegates to provider CLIs that you install and authenticate separately.
240
+ Claude and Codex are the primary validated providers for the public release.
241
+ Grok, Cursor, and OpenCode are supported validated providers. Antigravity and
242
+ Pi are also supported validated; Gemini, Kiro, and Copilot are experimental.
243
+ That release status does not override configured defaults: use
244
+ `poetic config resolved --summary --json`
245
+ to inspect the active execution and judge defaults. Use `poetic provider setup` for
246
+ guided setup, or configure only the providers you want:
247
+
248
+ ```bash
249
+ poetic provider setup --providers claude,codex
250
+ ```
251
+
252
+ Common provider commands:
253
+
254
+ | Provider | Setup |
255
+ | ----------- | ---------------------------------------------------------------------- |
256
+ | Claude | `claude auth login` |
257
+ | Codex | `npm install -g @openai/codex && codex login` |
258
+ | Grok | `POETIC_ALLOW_CURL_BASH=1 poetic provider setup --providers grok`, then `grok login --device-auth` (or `grok login` / `grok`); optional `XAI_API_KEY` for CI/headless |
259
+ | Cursor | `POETIC_ALLOW_CURL_BASH=1 poetic provider setup --providers cursor` |
260
+ | Gemini | `npm install -g @google/gemini-cli`, then `gemini` or `GOOGLE_API_KEY` |
261
+ | Copilot CLI | Run `copilot` once to complete device auth |
262
+ | OpenCode | `curl -fsSL https://opencode.ai/install \| bash`, then `opencode auth login` |
263
+
264
+ See [docs/PROVIDER_SETUP.md](./docs/PROVIDER_SETUP.md) for full provider notes.
265
+
266
+ ## Core Commands
267
+
268
+ Beta (default path) — capture, orient, execute:
269
+
270
+ ```bash
271
+ poetic plan backlog add "Add logging to the auth service"
272
+ poetic plan next
273
+ poetic run task --backlog-item <id> # or: poetic run competition --backlog-item <id>
274
+ ```
275
+
276
+ `poetic plan next` reads from `backlog/`. Add items with `poetic plan backlog add`, then
277
+ `poetic plan next` surfaces actionable work. Use `poetic plan backlog show <id>` to
278
+ inspect, `poetic plan backlog refine <id>` to fill out incomplete specs.
279
+
280
+ Concrete-task and intent-based execution, then graded/comparative
281
+ `run competition` when needed:
282
+
283
+ ```bash
284
+ poetic init quickstart "my task" --branch --branch-name run/my-task
285
+ poetic run "Add logging to the auth service"
286
+ poetic build "Improve the authentication flow"
287
+ poetic build "Redesign authentication across services" --planned
288
+ # Optional: graded evaluation or multi-variant comparison (AI judge default)
289
+ poetic run competition "Add logging to the auth service" --variant claude:conservative
290
+ poetic init quickstart "apply my task" --branch --branch-name fix/my-task
291
+ poetic run competition apply <competition-id>
292
+ ```
293
+
294
+ Operator and power commands (sprint lifecycle, plan approval, sprint run): see
295
+ [docs/SPRINT_PLANNING_GUIDE.md](https://github.com/ebrindley/Poetic/blob/main/docs/SPRINT_PLANNING_GUIDE.md).
296
+
297
+ ```bash
298
+ # Operator examples
299
+ poetic plan backlog execute <id>
300
+ poetic plan sprint create --name "Sprint 1" --start 2026-01-01 --end 2026-01-14
301
+ poetic plan sprint close <sprint-id>
302
+
303
+ # Power / internal example
304
+ poetic plan sprint run
305
+ ```
306
+
307
+ ## Choosing Providers
308
+
309
+ | Scenario | Good fit |
310
+ | --------------------------------- | ------------------------------------------------------- |
311
+ | Straightforward single-provider | Claude or Codex via `poetic run` (worktree/patch caveat) |
312
+ | Graded evaluation (scores/rationale) | Single-variant `poetic run competition` (AI judge default) |
313
+ | Comparative selection | Multi-variant `poetic run competition` with default AI judging |
314
+ | Supported validated providers | Grok, Cursor, OpenCode, Antigravity, Pi when local CLIs are ready |
315
+ | Experimental providers | Gemini, Kiro, Copilot after local setup and readiness checks |
316
+ | Fast local suggestions | Copilot CLI or Claude when local CLIs are ready |
317
+ | Cost-sensitive work | `poetic run --optimize cost` |
318
+ | Local-only workflows | Local CLI providers |
319
+
320
+ Provider names are literal. `opencode` is not `gemini`; `codex` is not
321
+ `copilot`.
322
+
323
+ ## Project Workflows
324
+
325
+ Poetic can manage work queues and execution state:
326
+
327
+ ```bash
328
+ poetic plan next
329
+ poetic plan task list
330
+ poetic plan sprint status
331
+ poetic run --backlog-item <id>
332
+ ```
333
+
334
+ Managed directories such as `backlog/`, `sprint/`, and `task/` are meant to be
335
+ changed through the CLI rather than by hand.
336
+
337
+ ## Telemetry And Cost
338
+
339
+ Telemetry is stored locally in SQLite under `.poetic/telemetry/db/`.
340
+ Project state and JSONL logs live under `.poetic/telemetry/` unless global
341
+ telemetry or `POETIC_TELEMETRY_DB` changes the location.
342
+
343
+ ```bash
344
+ poetic telemetry leaderboard
345
+ poetic telemetry prompts
346
+ poetic cost status
347
+ poetic cost compare anthropic:<model> google:<model>
348
+ ```
349
+
350
+ Poetic can store prompts, prompt hashes and lengths, repository paths, changed
351
+ file paths, provider/model/strategy metadata, output and error tails,
352
+ validation command output tails, token counts, cost snapshots, and retention
353
+ metadata. Defaults from `src/telemetry/retention-config.ts` keep JSONL logs and
354
+ signal files for 90 days, soft-prune SQLite rows after 180 days, use a 90-day
355
+ warning prune threshold, keep backups for 30 days plus 3 monthly archives, cap
356
+ telemetry backups at 1 GiB, and keep cleanup logs for 7 days. See
357
+ [docs/reference/TELEMETRY_PRIVACY.md](https://github.com/ebrindley/Poetic/blob/main/docs/reference/TELEMETRY_PRIVACY.md)
358
+ for disable, cleanup, and deletion commands.
359
+
360
+ Cost telemetry is informational by default. Poetic records, displays, predicts,
361
+ and recommends cost improvements, but it does not automatically switch providers,
362
+ skip work, or enforce cost caps. Cost data may inform explicit user choices, but
363
+ Poetic does not enforce spend limits by default.
364
+
365
+ ## Validation
366
+
367
+ For local development:
368
+
369
+ ```bash
370
+ npm run test:smoke
371
+ npm run typecheck
372
+ npm run check:esm
373
+ ```
374
+
375
+ For release packaging:
376
+
377
+ ```bash
378
+ npm pack --dry-run
379
+ ```
380
+
381
+ The npm package exposes `poetic` through `dist/entry.js`; local source builds
382
+ install a Node 24 launcher into `~/.local/bin` (override with `POETIC_BIN_DIR`)
383
+ through `scripts/build-poetic.sh`, without registering the package in npm's
384
+ global prefix.
385
+
386
+ Node 24 is pinned in two tool-specific files: CI reads `.node-version`, while
387
+ local development, preinstall checks, and source builds read `.nvmrc`. Keep the
388
+ two values aligned with `package.json#engines`.
389
+
390
+ ## Repository layout
391
+
392
+ The published npm package ships from an allowlist (`package.json#files`): compiled
393
+ `dist/`, schemas, templates, provider configs, and selected docs. Most of the
394
+ repository is development-only and never reaches an installed copy.
395
+
396
+ | Path | Ships in package? | Purpose |
397
+ |---|---|---|
398
+ | `src/` | As compiled `dist/` | Product source |
399
+ | `tests/` | No | Test suite |
400
+ | `scripts/` | Only 6 install/lifecycle scripts (`sync.sh`, `preinstall-node-check.mjs`, `assert-node-runtime.mjs`, `preflight-native.mjs`, `setup-git-hooks.mjs`, `write-node-launcher.sh`) | Dev/ops utilities (`scripts/AGENTS.md`) |
401
+ | `docs/` | Selected files only | Documentation |
402
+
403
+ When browsing the repo, treat `scripts/` as engineering support, not runtime surface
404
+ area. Benchmark suite runners and the `benchmark:` compete route have been removed from
405
+ Poetic; portable CLI comparison harnesses live outside this repository when needed.
406
+ For the class-level component map (judges, orchestrators, executors, provider adapters)
407
+ see [docs/reference/COMPONENT_TAXONOMY.md](https://github.com/ebrindley/Poetic/blob/main/docs/reference/COMPONENT_TAXONOMY.md).
408
+
409
+ ## Documentation
410
+
411
+ | Document | Audience | Purpose |
412
+ | ------------------------------------------------------------------ | -------- | --------------------------------- |
413
+ | [docs/getting-started/QUICK_START.md](./docs/getting-started/QUICK_START.md) | New user | Setup and getting started |
414
+ | [docs/CLI_REFERENCE.md](./docs/CLI_REFERENCE.md) | Operator | Command reference |
415
+ | [docs/PROVIDER_SETUP.md](./docs/PROVIDER_SETUP.md) | New user | Provider authentication and setup |
416
+ | [docs/AI_JUDGE.md](https://github.com/ebrindley/Poetic/blob/main/docs/AI_JUDGE.md) | Operator | Judge behavior and analysis mode |
417
+ | [docs/TELEMETRY_STATE.md](https://github.com/ebrindley/Poetic/blob/main/docs/TELEMETRY_STATE.md) | Operator | Telemetry state files |
418
+ | [docs/INSTRUCTION_ARCHITECTURE.md](https://github.com/ebrindley/Poetic/blob/main/docs/INSTRUCTION_ARCHITECTURE.md) | Contributor | Instruction architecture overview |
419
+ | [docs/PARALLEL_EXECUTION.md](https://github.com/ebrindley/Poetic/blob/main/docs/PARALLEL_EXECUTION.md) | Operator | Parallel execution guide |
420
+
421
+ ## Project Status
422
+
423
+ Poetic ships as v1.42. The npm package version is `1.42.0`.
424
+
425
+ The public release is **conditionally ready** for readiness, orientation, and stable
426
+ telemetry. Prefer `poetic run` for straightforward single-provider execution;
427
+ use judged `poetic run competition` for graded evaluation or comparative
428
+ selection. Direct `run` and judged `run competition` are **Beta** — not an
429
+ A-grade claim — until post-apply verification, judgeWinner/deliveryArtifact
430
+ identity, and the end-to-end judged apply path are validated. See the full
431
+ release contract in
432
+ [docs/RELEASE_VERIFICATION.md](https://github.com/ebrindley/Poetic/blob/main/docs/RELEASE_VERIFICATION.md#supported-surface-contract)
433
+ and tier labels in [docs/CLI_REFERENCE.md](./docs/CLI_REFERENCE.md#support-tiers-and-release-contract)
434
+ (aligned with `poetic --help`).
435
+
436
+ | Area | Tier / status |
437
+ | -------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
438
+ | `poetic run` (straightforward single-provider) | **Beta** (isolated worktree / patch delivery caveat) |
439
+ | Single-variant judged `run competition` (graded evaluation) | **Beta** (AI judge default; apply with `run competition apply`) |
440
+ | Multi-variant judged `run competition` (comparative selection) | **Beta** (AI judge default selects a winner when judging succeeds) |
441
+ | `--judge off` (single or multi) | **Beta** (ungraded competition infra / manual comparison; no automatic winner when multi) |
442
+ | Readiness (`provider list`, `doctor`) and orientation (`next`) | **Dependable** |
443
+ | Telemetry and cost tracking | **Dependable** (stable) |
444
+ | Core orchestration (`fast`, `best`, `cheap`) | Beta |
445
+ | `poetic build` (intent execution, including `--planned`) | **Beta** canonical intent front door |
446
+ | Configured default provider / judge | Resolved from project config; currently expected to be Claude unless product defaults change |
447
+ | Providers: Claude, Codex | Primary validated |
448
+ | Providers: Grok, Cursor, OpenCode, Antigravity, Pi | Supported validated |
449
+ | Providers: Gemini, Copilot CLI, Kiro | Experimental |
450
+ | GLM models | Available through OpenCode, not a standalone provider |
451
+ | AI Judge and synthesis | Beta; heuristic fallback validated, clean judge success depends on configured judge provider |
452
+ | Sprint, backlog operator CLI | Advanced (under `plan …`) |
453
+ | `plan approve`, `planning-checkpoint`, `plan sprint run`, `run flywheel` | Internal; pre-release for first users |
454
+ | `poetic swarm`, multi-agent judge, cherry-pick synthesis | Experimental |
455
+ | Cloud execution paths | Legacy compatibility |
456
+
457
+ ## Contributing
458
+
459
+ Bug reports and feature requests are welcome through
460
+ [GitHub Issues](https://github.com/ebrindley/Poetic/issues). Open-ended
461
+ questions should go to
462
+ [GitHub Discussions](https://github.com/ebrindley/Poetic/discussions) once
463
+ Discussions are enabled.
464
+
465
+ External pull requests are not currently accepted. See
466
+ [CONTRIBUTING.md](./CONTRIBUTING.md) for the maintenance policy.
467
+
468
+ For security issues, use GitHub private security advisories and see
469
+ [docs/reference/SECURITY.md](./docs/reference/SECURITY.md#reporting-vulnerabilities).
470
+ Do not file vulnerabilities as public issues.
471
+
472
+ ## License
473
+
474
+ Poetic is licensed under the MIT License. See [LICENSE](./LICENSE).
@@ -0,0 +1,153 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/core/optimization/runners/BasicOptimizationCompetitionRunner.ts
4
+ import crypto from "crypto";
5
+ function summarizeBasicResult(result) {
6
+ const variants = result.variants ?? [];
7
+ const total = variants.length;
8
+ if (total === 0) {
9
+ return {
10
+ status: "failed",
11
+ successRate: 0,
12
+ avgCompleteness: 0,
13
+ avgDuration: 0,
14
+ winnerName: null
15
+ };
16
+ }
17
+ const successes = variants.filter((v) => v.success === true).length;
18
+ const successRate = successes / total;
19
+ const avgCompleteness = variants.reduce(
20
+ (acc, v) => acc + (typeof v.completeness === "number" ? v.completeness : 0),
21
+ 0
22
+ ) / total;
23
+ const avgDuration = variants.reduce((acc, v) => acc + (typeof v.duration === "number" ? v.duration : 0), 0) / total;
24
+ const winnerName = result.winner ? `${result.winner.provider}${result.winner.model ? `:${result.winner.model}` : ""}` : null;
25
+ return {
26
+ status: successes > 0 ? "completed" : "failed",
27
+ successRate,
28
+ avgCompleteness,
29
+ avgDuration,
30
+ winnerName
31
+ };
32
+ }
33
+ var BasicOptimizationCompetitionRunner = class {
34
+ runBasicCompetition;
35
+ variants;
36
+ verbose;
37
+ workerCwd;
38
+ constructor(options) {
39
+ this.runBasicCompetition = options.runBasicCompetition;
40
+ this.variants = options.variants ?? [];
41
+ this.verbose = options.verbose ?? false;
42
+ this.workerCwd = options.workerCwd;
43
+ }
44
+ async run(context) {
45
+ const errors = [];
46
+ const warnings = [];
47
+ let candidatesCompleted = 0;
48
+ const candidates = context.candidates ?? [];
49
+ const candidatesAttempted = candidates.length;
50
+ for (const candidate of candidates) {
51
+ try {
52
+ const outcome = await this.runOneCandidate(context, candidate, warnings);
53
+ if (outcome.status === "completed") {
54
+ candidatesCompleted += 1;
55
+ } else {
56
+ errors.push(`candidate ${candidate.id}: all variants failed`);
57
+ }
58
+ } catch (err) {
59
+ const message = err instanceof Error ? err.message : String(err);
60
+ errors.push(`candidate ${candidate.id}: ${message}`);
61
+ }
62
+ }
63
+ const allAttemptedCandidatesFailed = candidatesAttempted > 0 && candidatesCompleted === 0 && errors.length > 0;
64
+ return {
65
+ status: allAttemptedCandidatesFailed ? "failed" : "completed",
66
+ candidatesAttempted,
67
+ candidatesCompleted,
68
+ errors,
69
+ warnings
70
+ };
71
+ }
72
+ async runOneCandidate(context, candidate, warnings) {
73
+ const taskId = `${context.cycleId}_${candidate.id}`;
74
+ const promptContent = candidate.content;
75
+ const executionId = deterministicExecutionId(context.cycleId, candidate.id);
76
+ const tracker = context.executionTracker;
77
+ if (this.variants.length === 0) {
78
+ throw new Error("No optimization competition providers configured");
79
+ }
80
+ const existingExecution = tracker.getExecution(executionId);
81
+ if (existingExecution?.status === "completed") {
82
+ return {
83
+ status: "completed",
84
+ successRate: existingExecution.successRate ?? 0,
85
+ avgCompleteness: existingExecution.avgCompleteness ?? 0,
86
+ avgDuration: existingExecution.avgDuration ?? 0,
87
+ winnerName: existingExecution.winningVariantId ?? null
88
+ };
89
+ }
90
+ if (existingExecution?.status === "failed") {
91
+ throw new Error(`existing execution ${executionId} already failed`);
92
+ }
93
+ if (existingExecution?.status === "running") {
94
+ throw new Error(`existing execution ${executionId} is already running`);
95
+ }
96
+ const execution = await tracker.startExecution({
97
+ id: executionId,
98
+ promptId: context.promptId,
99
+ versionId: candidate.id,
100
+ executionMode: "compete",
101
+ variantCount: this.variants.length
102
+ });
103
+ let competitionResult;
104
+ try {
105
+ competitionResult = await this.runBasicCompetition(taskId, promptContent, this.variants, {
106
+ verbose: this.verbose,
107
+ workerCwd: this.workerCwd,
108
+ // Optimization consumes only variants/winner metrics; skip synthesis.
109
+ synthesize: false
110
+ });
111
+ } catch (error) {
112
+ await tracker.completeExecution(execution.id, { status: "failed" });
113
+ throw error;
114
+ }
115
+ const summary = summarizeBasicResult(competitionResult);
116
+ for (const variant of competitionResult.variants ?? []) {
117
+ try {
118
+ await tracker.recordVariant({
119
+ executionId: execution.id,
120
+ variantName: `${variant.provider}${variant.model ? `:${variant.model}` : ""}`,
121
+ provider: variant.provider,
122
+ model: variant.model,
123
+ success: variant.success === true,
124
+ completeness: variant.completeness,
125
+ durationSeconds: variant.duration,
126
+ isWinner: !!competitionResult.winner && variant.provider === competitionResult.winner.provider && (variant.model ?? null) === (competitionResult.winner.model ?? null)
127
+ });
128
+ } catch (err) {
129
+ const message = err instanceof Error ? err.message : String(err);
130
+ const variantName = `${variant.provider}${variant.model ? `:${variant.model}` : ""}`;
131
+ warnings.push(
132
+ `candidate ${candidate.id}: failed to record variant ${variantName}: ${message}`
133
+ );
134
+ }
135
+ }
136
+ await tracker.completeExecution(execution.id, {
137
+ status: summary.status,
138
+ winningVariantId: summary.winnerName ?? void 0,
139
+ successRate: summary.successRate,
140
+ avgCompleteness: summary.avgCompleteness,
141
+ avgDuration: summary.avgDuration
142
+ });
143
+ return summary;
144
+ }
145
+ };
146
+ function deterministicExecutionId(cycleId, candidateVersionId) {
147
+ const digest = crypto.createHash("sha256").update(`${cycleId}:${candidateVersionId}`).digest("hex").slice(0, 24);
148
+ return `opt_exec_${digest}`;
149
+ }
150
+ export {
151
+ BasicOptimizationCompetitionRunner
152
+ };
153
+ //# sourceMappingURL=BasicOptimizationCompetitionRunner-5H5TBYO4.js.map
@@ -0,0 +1,16 @@
1
+ import {
2
+ ExecutionTracker
3
+ } from "./chunk-U45RTRGY.js";
4
+ import "./chunk-QVZMFDYG.js";
5
+ import "./chunk-S54MKU6V.js";
6
+ import "./chunk-UI2F6DJ5.js";
7
+ import "./chunk-L7JZLXQL.js";
8
+ import "./chunk-IZYIQQ7X.js";
9
+ import "./chunk-EJGCZGUF.js";
10
+ import "./chunk-LPITVM7M.js";
11
+ import "./chunk-5DLKYTQX.js";
12
+ import "./chunk-PZ5AY32C.js";
13
+ export {
14
+ ExecutionTracker
15
+ };
16
+ //# sourceMappingURL=ExecutionTracker-UVONC4C6.js.map
@@ -0,0 +1,17 @@
1
+ import {
2
+ OptimizationConfigManager
3
+ } from "./chunk-7FMJVYBS.js";
4
+ import "./chunk-QVZMFDYG.js";
5
+ import "./chunk-S54MKU6V.js";
6
+ import "./chunk-2VSQMRCB.js";
7
+ import "./chunk-UI2F6DJ5.js";
8
+ import "./chunk-L7JZLXQL.js";
9
+ import "./chunk-IZYIQQ7X.js";
10
+ import "./chunk-EJGCZGUF.js";
11
+ import "./chunk-LPITVM7M.js";
12
+ import "./chunk-5DLKYTQX.js";
13
+ import "./chunk-PZ5AY32C.js";
14
+ export {
15
+ OptimizationConfigManager
16
+ };
17
+ //# sourceMappingURL=OptimizationConfig-7DFY2TST.js.map