@poetic-ai/poetic 1.42.1-bootstrap.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 (781) 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-MXTSOSST.js +1597 -0
  17. package/dist/PromptStore-U6ZD3ZMQ.js +18 -0
  18. package/dist/actions-M3AESHFF.js +322 -0
  19. package/dist/agent-ingest-HO77TH26.js +53 -0
  20. package/dist/aggregator-DNCBINFO.js +12 -0
  21. package/dist/ai-judge-LDWHURKK.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-GFYU6GCQ.js +489 -0
  25. package/dist/api-transport-FS3CQRMN.js +1087 -0
  26. package/dist/apply-completion-mode-JBT2CTQO.js +89 -0
  27. package/dist/artifact-migrator-23L45ISD.js +267 -0
  28. package/dist/ask-UYVZY7JH.js +135 -0
  29. package/dist/auth-CSQP5RHJ.js +67 -0
  30. package/dist/auth-E6XUNZ5M.js +68 -0
  31. package/dist/auth-KQLJPZ2E.js +134 -0
  32. package/dist/auth-OC4E6633.js +71 -0
  33. package/dist/auth-R3NQ2ZF5.js +78 -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-HA3T23SF.js +80 -0
  38. package/dist/autoloop-cleanup-JOGKTLWA.js +109 -0
  39. package/dist/autoloop-evidence-gates-ACB5YW5G.js +36 -0
  40. package/dist/autoloop-gate-policy-XZA5EQFN.js +175 -0
  41. package/dist/autoloop-helpers-EFJLBQUP.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-OPR74YEX.js +85 -0
  47. package/dist/autoloop-termination-summary-RN75F422.js +58 -0
  48. package/dist/autoloop-trajectory-K5I45UBR.js +282 -0
  49. package/dist/autoloop-wall-clock-T7ZVIQOC.js +12 -0
  50. package/dist/autonomous-loop-controller-4QJMOIIN.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-WXZHUT42.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-YFASRB5Z.js +71 -0
  60. package/dist/change-summary-WY7J5TOX.js +33 -0
  61. package/dist/chunk-25QL3M3L.js +899 -0
  62. package/dist/chunk-2ABC6SEC.js +2626 -0
  63. package/dist/chunk-2AICM4P3.js +1763 -0
  64. package/dist/chunk-2AQUWJPW.js +225 -0
  65. package/dist/chunk-2DY5KNVM.js +276 -0
  66. package/dist/chunk-2QJ3H3L7.js +42 -0
  67. package/dist/chunk-2UH6VQRZ.js +328 -0
  68. package/dist/chunk-2VSQMRCB.js +18 -0
  69. package/dist/chunk-2XQXYBM2.js +130 -0
  70. package/dist/chunk-2YFUIER7.js +426 -0
  71. package/dist/chunk-2YXZCZTX.js +1160 -0
  72. package/dist/chunk-32VLDFRT.js +797 -0
  73. package/dist/chunk-34CNP2HB.js +148 -0
  74. package/dist/chunk-35P3W3JX.js +456 -0
  75. package/dist/chunk-36PEBZAF.js +18 -0
  76. package/dist/chunk-3733QTI7.js +6818 -0
  77. package/dist/chunk-3A5PDH5L.js +12513 -0
  78. package/dist/chunk-3AOKYKA7.js +22 -0
  79. package/dist/chunk-3BCUNHKF.js +475 -0
  80. package/dist/chunk-3C26DPFK.js +566 -0
  81. package/dist/chunk-3FLXLLB7.js +26 -0
  82. package/dist/chunk-3FOZ2VHV.js +100 -0
  83. package/dist/chunk-3G6FZCRF.js +106 -0
  84. package/dist/chunk-3JWNRJSB.js +736 -0
  85. package/dist/chunk-3LUMR3D3.js +156 -0
  86. package/dist/chunk-3M57DADF.js +44 -0
  87. package/dist/chunk-3S62LLWJ.js +543 -0
  88. package/dist/chunk-3VABAKT2.js +1784 -0
  89. package/dist/chunk-44N5WZZH.js +45 -0
  90. package/dist/chunk-45FPSA3B.js +125 -0
  91. package/dist/chunk-4BIPZBT7.js +791 -0
  92. package/dist/chunk-4BJ3O4RQ.js +929 -0
  93. package/dist/chunk-4BTDUT2S.js +42 -0
  94. package/dist/chunk-4CSS7WVI.js +143 -0
  95. package/dist/chunk-4CUY7AFY.js +247 -0
  96. package/dist/chunk-4HN6DF7V.js +1027 -0
  97. package/dist/chunk-4HXKHDNH.js +1064 -0
  98. package/dist/chunk-4KKI477Q.js +44 -0
  99. package/dist/chunk-4NA7FSTV.js +595 -0
  100. package/dist/chunk-4NXPXE62.js +84 -0
  101. package/dist/chunk-4SALLK63.js +9831 -0
  102. package/dist/chunk-4SHKPCGK.js +110 -0
  103. package/dist/chunk-4VJITV4P.js +445 -0
  104. package/dist/chunk-4W2NRXQL.js +1205 -0
  105. package/dist/chunk-4XICK3HN.js +784 -0
  106. package/dist/chunk-55EJVV3C.js +385 -0
  107. package/dist/chunk-5DLKYTQX.js +4003 -0
  108. package/dist/chunk-5EERLVZB.js +139 -0
  109. package/dist/chunk-5HDP7XZG.js +91 -0
  110. package/dist/chunk-5LAMRH4X.js +969 -0
  111. package/dist/chunk-5REDMNLZ.js +310 -0
  112. package/dist/chunk-5UCJARII.js +1984 -0
  113. package/dist/chunk-5WCQRDRB.js +588 -0
  114. package/dist/chunk-5WRLK5KW.js +700 -0
  115. package/dist/chunk-66AGFTBQ.js +131 -0
  116. package/dist/chunk-66CIO2SV.js +48 -0
  117. package/dist/chunk-6BM72ZMG.js +31 -0
  118. package/dist/chunk-6BTFXYRO.js +276 -0
  119. package/dist/chunk-6EDAJH2I.js +68 -0
  120. package/dist/chunk-6EQKFDBH.js +457 -0
  121. package/dist/chunk-6KMJKHIQ.js +2193 -0
  122. package/dist/chunk-6MFRHTRI.js +115 -0
  123. package/dist/chunk-6QMUKUHH.js +632 -0
  124. package/dist/chunk-6TZJRKNW.js +321 -0
  125. package/dist/chunk-6V7HGQFZ.js +20 -0
  126. package/dist/chunk-6Y5TWI7H.js +146 -0
  127. package/dist/chunk-6Y5U7UFY.js +91 -0
  128. package/dist/chunk-6ZLAK3XG.js +14 -0
  129. package/dist/chunk-72XCRQED.js +34 -0
  130. package/dist/chunk-72YTZMAM.js +589 -0
  131. package/dist/chunk-73NCTWKL.js +188 -0
  132. package/dist/chunk-77I6G4CO.js +1 -0
  133. package/dist/chunk-7D7QT3BE.js +688 -0
  134. package/dist/chunk-7DNSNKJV.js +78 -0
  135. package/dist/chunk-7FMJVYBS.js +307 -0
  136. package/dist/chunk-7GDRQBQC.js +419 -0
  137. package/dist/chunk-7IL4A2PP.js +948 -0
  138. package/dist/chunk-7NPSXSHO.js +975 -0
  139. package/dist/chunk-7PS6INZP.js +302 -0
  140. package/dist/chunk-7QCZSLBH.js +1 -0
  141. package/dist/chunk-7R2WLDOS.js +62 -0
  142. package/dist/chunk-7XV3QXLT.js +878 -0
  143. package/dist/chunk-A2WKSVX7.js +43 -0
  144. package/dist/chunk-A3YGID55.js +133 -0
  145. package/dist/chunk-A5MRWHMI.js +1604 -0
  146. package/dist/chunk-A722DEVA.js +14 -0
  147. package/dist/chunk-AG2Z2SUZ.js +554 -0
  148. package/dist/chunk-AHWAZ2MU.js +137 -0
  149. package/dist/chunk-AIAQ3HS3.js +119 -0
  150. package/dist/chunk-ALAB3PBR.js +2206 -0
  151. package/dist/chunk-APPNGGN7.js +365 -0
  152. package/dist/chunk-APV6MK5E.js +137 -0
  153. package/dist/chunk-AQNPGRWS.js +395 -0
  154. package/dist/chunk-ASEP3M2W.js +968 -0
  155. package/dist/chunk-AT4TNPWW.js +2931 -0
  156. package/dist/chunk-ATVKCSGT.js +250 -0
  157. package/dist/chunk-AX6GWE7V.js +47 -0
  158. package/dist/chunk-AZQILSNQ.js +1376 -0
  159. package/dist/chunk-B76KHLX6.js +13 -0
  160. package/dist/chunk-BAV2HJXS.js +194 -0
  161. package/dist/chunk-BBHRN366.js +89 -0
  162. package/dist/chunk-BCZAENOH.js +448 -0
  163. package/dist/chunk-BIGSACCY.js +19527 -0
  164. package/dist/chunk-BPYMCIVD.js +9243 -0
  165. package/dist/chunk-BSE4R6XD.js +322 -0
  166. package/dist/chunk-BVPWRDCO.js +2321 -0
  167. package/dist/chunk-BXI4NXL3.js +507 -0
  168. package/dist/chunk-C3L6YQ7P.js +147 -0
  169. package/dist/chunk-C57KJOUQ.js +121 -0
  170. package/dist/chunk-CCV7BPSY.js +118 -0
  171. package/dist/chunk-CD7ISXA4.js +826 -0
  172. package/dist/chunk-CE5OZBYY.js +21 -0
  173. package/dist/chunk-CFBIG37O.js +154 -0
  174. package/dist/chunk-CHQV73H5.js +408 -0
  175. package/dist/chunk-CJC6GZ46.js +457 -0
  176. package/dist/chunk-CJHRFSNY.js +924 -0
  177. package/dist/chunk-CKP2Q3TP.js +1905 -0
  178. package/dist/chunk-CLKSETWE.js +10 -0
  179. package/dist/chunk-CQM3A35X.js +844 -0
  180. package/dist/chunk-CSLAS5GW.js +4007 -0
  181. package/dist/chunk-CTLUBNCW.js +622 -0
  182. package/dist/chunk-CVMVZWG4.js +3544 -0
  183. package/dist/chunk-CYB6QDCT.js +263 -0
  184. package/dist/chunk-D5EP5D2W.js +26 -0
  185. package/dist/chunk-DC4ZYMXJ.js +115 -0
  186. package/dist/chunk-DCAVAABI.js +348 -0
  187. package/dist/chunk-DCYF7EKG.js +26 -0
  188. package/dist/chunk-DF5SLDE4.js +966 -0
  189. package/dist/chunk-DN7UMLF7.js +5678 -0
  190. package/dist/chunk-DSFM56OA.js +1203 -0
  191. package/dist/chunk-DTY4APYV.js +218 -0
  192. package/dist/chunk-E3NTPHEO.js +194 -0
  193. package/dist/chunk-E74LUIID.js +302 -0
  194. package/dist/chunk-EJ42BNGY.js +2904 -0
  195. package/dist/chunk-EJ4ZAWLV.js +305 -0
  196. package/dist/chunk-EJGCZGUF.js +1483 -0
  197. package/dist/chunk-EK2U3YEG.js +486 -0
  198. package/dist/chunk-ELMFYNV7.js +109 -0
  199. package/dist/chunk-ENRGKNR5.js +25 -0
  200. package/dist/chunk-EQGIDAUF.js +62 -0
  201. package/dist/chunk-EX3OM35G.js +20414 -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-FCNAS3W2.js +1033 -0
  207. package/dist/chunk-FD4ERYEG.js +22 -0
  208. package/dist/chunk-FDVZLG6Z.js +3104 -0
  209. package/dist/chunk-FEPIFY7D.js +511 -0
  210. package/dist/chunk-FEQ4HXL7.js +412 -0
  211. package/dist/chunk-FFH5HHJU.js +5351 -0
  212. package/dist/chunk-FH7WOJAE.js +79 -0
  213. package/dist/chunk-FKAUPHMR.js +96 -0
  214. package/dist/chunk-FRG57FPM.js +240 -0
  215. package/dist/chunk-FUVP64ER.js +31 -0
  216. package/dist/chunk-G2PTLLEL.js +284 -0
  217. package/dist/chunk-G35UYQ6Z.js +69 -0
  218. package/dist/chunk-G36W2T2S.js +1143 -0
  219. package/dist/chunk-G4THLFV3.js +148 -0
  220. package/dist/chunk-GAFJEYLK.js +29 -0
  221. package/dist/chunk-GCCAPO3S.js +118 -0
  222. package/dist/chunk-GG6KJYW6.js +85 -0
  223. package/dist/chunk-GHHFDU2U.js +55 -0
  224. package/dist/chunk-GHTZSQB7.js +57 -0
  225. package/dist/chunk-GJTWJNLV.js +1374 -0
  226. package/dist/chunk-GKN3HMN4.js +2809 -0
  227. package/dist/chunk-GNH3QGTL.js +1342 -0
  228. package/dist/chunk-GOAQ2I7Y.js +7000 -0
  229. package/dist/chunk-GSGD5E4C.js +30 -0
  230. package/dist/chunk-GXWAJQOJ.js +5011 -0
  231. package/dist/chunk-H2AYQIHW.js +224 -0
  232. package/dist/chunk-H6G7QRMQ.js +35 -0
  233. package/dist/chunk-H7JAGHZT.js +59 -0
  234. package/dist/chunk-HAC6EHZZ.js +79 -0
  235. package/dist/chunk-HE2KH6EQ.js +161 -0
  236. package/dist/chunk-HIHENQDX.js +66 -0
  237. package/dist/chunk-HIO33P3G.js +19 -0
  238. package/dist/chunk-HK4AQZSR.js +438 -0
  239. package/dist/chunk-HMVQIPH3.js +547 -0
  240. package/dist/chunk-HOYBYAOA.js +257 -0
  241. package/dist/chunk-HQLGXODD.js +123 -0
  242. package/dist/chunk-HQXYYUNY.js +1231 -0
  243. package/dist/chunk-HY3ESWCA.js +708 -0
  244. package/dist/chunk-I46EG2XQ.js +65 -0
  245. package/dist/chunk-I4NPDSCB.js +279 -0
  246. package/dist/chunk-I5WRT7ZR.js +514 -0
  247. package/dist/chunk-I6BL3PDH.js +1024 -0
  248. package/dist/chunk-IATQ7NBI.js +679 -0
  249. package/dist/chunk-IC7I6YIJ.js +301 -0
  250. package/dist/chunk-IDCSOZVN.js +78 -0
  251. package/dist/chunk-IEXU4RR6.js +5742 -0
  252. package/dist/chunk-IFCBYECK.js +112 -0
  253. package/dist/chunk-IFZCPEY2.js +66 -0
  254. package/dist/chunk-IKFP2KUR.js +48 -0
  255. package/dist/chunk-IP7BYVUV.js +338 -0
  256. package/dist/chunk-IRJ2I6KH.js +166 -0
  257. package/dist/chunk-IUXNGKA6.js +152 -0
  258. package/dist/chunk-IZYIQQ7X.js +53 -0
  259. package/dist/chunk-IZZK3H6I.js +2175 -0
  260. package/dist/chunk-J3J4P7RW.js +353 -0
  261. package/dist/chunk-J62KPGII.js +464 -0
  262. package/dist/chunk-J6P3FWWW.js +130 -0
  263. package/dist/chunk-JD6SIZED.js +712 -0
  264. package/dist/chunk-JEV6UI7H.js +537 -0
  265. package/dist/chunk-JKBHJQMT.js +434 -0
  266. package/dist/chunk-JLS65NUQ.js +14 -0
  267. package/dist/chunk-JOSYEJKY.js +141 -0
  268. package/dist/chunk-JPKSXKNB.js +94 -0
  269. package/dist/chunk-JQD5VYKR.js +483 -0
  270. package/dist/chunk-JSOWEFEQ.js +351 -0
  271. package/dist/chunk-JSWMRQYG.js +28 -0
  272. package/dist/chunk-K4XK7SGB.js +6783 -0
  273. package/dist/chunk-K54Y7MLK.js +160 -0
  274. package/dist/chunk-KAT4RXUT.js +521 -0
  275. package/dist/chunk-KDMKKIRK.js +103 -0
  276. package/dist/chunk-KM3F7SYE.js +702 -0
  277. package/dist/chunk-KNDYMVWN.js +102 -0
  278. package/dist/chunk-KNT72VR6.js +132 -0
  279. package/dist/chunk-KQEBSK3T.js +274 -0
  280. package/dist/chunk-KT6VHSPF.js +84 -0
  281. package/dist/chunk-KTMW65UX.js +14 -0
  282. package/dist/chunk-L4427KOE.js +26 -0
  283. package/dist/chunk-L6OM4A22.js +189 -0
  284. package/dist/chunk-L7E6XCRA.js +1042 -0
  285. package/dist/chunk-L7JZLXQL.js +173 -0
  286. package/dist/chunk-LAMKBTXX.js +40 -0
  287. package/dist/chunk-LDCF2MKN.js +132 -0
  288. package/dist/chunk-LEIIWPWQ.js +78 -0
  289. package/dist/chunk-LFTQVYBB.js +31 -0
  290. package/dist/chunk-LGHII5ET.js +23 -0
  291. package/dist/chunk-LH34OGSB.js +265 -0
  292. package/dist/chunk-LO3X5NLS.js +326 -0
  293. package/dist/chunk-LPITVM7M.js +339 -0
  294. package/dist/chunk-LR5IJIGV.js +810 -0
  295. package/dist/chunk-LUVKFFWR.js +315 -0
  296. package/dist/chunk-LWCBNGH6.js +35 -0
  297. package/dist/chunk-LWTN3WRV.js +260 -0
  298. package/dist/chunk-LZBBXYWF.js +1004 -0
  299. package/dist/chunk-M34PS4NE.js +2213 -0
  300. package/dist/chunk-M3HQYKQX.js +308 -0
  301. package/dist/chunk-MCPQNJMK.js +482 -0
  302. package/dist/chunk-MF5HP6XV.js +221 -0
  303. package/dist/chunk-MFADRRTR.js +112 -0
  304. package/dist/chunk-MN6PL4AN.js +120 -0
  305. package/dist/chunk-MQ4WA34C.js +206 -0
  306. package/dist/chunk-MTVZITQ2.js +185 -0
  307. package/dist/chunk-MWHF5V7U.js +223 -0
  308. package/dist/chunk-MWHLBPNU.js +211 -0
  309. package/dist/chunk-MWK5UZQ3.js +1068 -0
  310. package/dist/chunk-MYLH2S4G.js +64 -0
  311. package/dist/chunk-MZ5WYKNA.js +28 -0
  312. package/dist/chunk-N5DX4JAK.js +12 -0
  313. package/dist/chunk-NEDCMN7E.js +415 -0
  314. package/dist/chunk-NEQUQHOX.js +223 -0
  315. package/dist/chunk-NGK6PEOG.js +25 -0
  316. package/dist/chunk-NM6PMYY4.js +768 -0
  317. package/dist/chunk-NOZGR2QO.js +2373 -0
  318. package/dist/chunk-NP2V3L7K.js +226 -0
  319. package/dist/chunk-NPZJMUZ4.js +194 -0
  320. package/dist/chunk-NRLY536M.js +260 -0
  321. package/dist/chunk-NS33V3IM.js +51 -0
  322. package/dist/chunk-NWOYOA6H.js +378 -0
  323. package/dist/chunk-NWRUSEXG.js +322 -0
  324. package/dist/chunk-O6V4PNLO.js +63 -0
  325. package/dist/chunk-OGMSYL6J.js +227 -0
  326. package/dist/chunk-OIS7J26S.js +319 -0
  327. package/dist/chunk-OKBTRSZI.js +205 -0
  328. package/dist/chunk-OMX5VL43.js +79 -0
  329. package/dist/chunk-ON3G73BU.js +264 -0
  330. package/dist/chunk-OPYFYTWQ.js +220 -0
  331. package/dist/chunk-OQ6K46CK.js +1734 -0
  332. package/dist/chunk-OSDYVKHW.js +2440 -0
  333. package/dist/chunk-OUM5S64R.js +3429 -0
  334. package/dist/chunk-OWB7JXUS.js +751 -0
  335. package/dist/chunk-OYZYO7TV.js +47 -0
  336. package/dist/chunk-P47VN5F4.js +282 -0
  337. package/dist/chunk-P6VQROCO.js +594 -0
  338. package/dist/chunk-P7CQGPLS.js +30 -0
  339. package/dist/chunk-PA6BCSOX.js +2872 -0
  340. package/dist/chunk-PGSPX4SU.js +15 -0
  341. package/dist/chunk-PIKLF7BM.js +432 -0
  342. package/dist/chunk-PJWJ3SAV.js +22 -0
  343. package/dist/chunk-PKIFMV72.js +100 -0
  344. package/dist/chunk-PTH5E5XO.js +195 -0
  345. package/dist/chunk-PYITM4N2.js +79 -0
  346. package/dist/chunk-PZ5AY32C.js +10 -0
  347. package/dist/chunk-Q3RO7N35.js +45 -0
  348. package/dist/chunk-Q3WIC6GQ.js +2670 -0
  349. package/dist/chunk-QGJDMEOV.js +34 -0
  350. package/dist/chunk-QJYIHVXT.js +100 -0
  351. package/dist/chunk-QNOB37UH.js +58 -0
  352. package/dist/chunk-QOCOVLUH.js +462 -0
  353. package/dist/chunk-QTCJ5CC5.js +172 -0
  354. package/dist/chunk-QU6JQJMH.js +3063 -0
  355. package/dist/chunk-QVFV5IP2.js +232 -0
  356. package/dist/chunk-QVZMFDYG.js +29 -0
  357. package/dist/chunk-R2ZYWNW3.js +1581 -0
  358. package/dist/chunk-R4UWBC35.js +200 -0
  359. package/dist/chunk-R6W23LKN.js +254 -0
  360. package/dist/chunk-RAK5HOIJ.js +459 -0
  361. package/dist/chunk-RDFRCT64.js +168 -0
  362. package/dist/chunk-RE5VZDFQ.js +58 -0
  363. package/dist/chunk-RGROYC2G.js +638 -0
  364. package/dist/chunk-RGWHUI5E.js +68 -0
  365. package/dist/chunk-RHVG6UNL.js +205 -0
  366. package/dist/chunk-RI4EX2QE.js +18 -0
  367. package/dist/chunk-RIKFAWZF.js +71 -0
  368. package/dist/chunk-RJAAKDRX.js +17 -0
  369. package/dist/chunk-RSXSD4MH.js +1016 -0
  370. package/dist/chunk-RW7RVSDV.js +79 -0
  371. package/dist/chunk-RWREC3KJ.js +517 -0
  372. package/dist/chunk-RZY7RKM5.js +500 -0
  373. package/dist/chunk-S2MNWFAG.js +52 -0
  374. package/dist/chunk-S2VQCZO4.js +22 -0
  375. package/dist/chunk-S54MKU6V.js +117 -0
  376. package/dist/chunk-S77XPALC.js +239 -0
  377. package/dist/chunk-SCW4ZF6R.js +150 -0
  378. package/dist/chunk-SKHGYQ7W.js +405 -0
  379. package/dist/chunk-SNLBO4BF.js +247 -0
  380. package/dist/chunk-SP3LFU6B.js +60 -0
  381. package/dist/chunk-SQZRPY23.js +5181 -0
  382. package/dist/chunk-SSB5UQHA.js +4128 -0
  383. package/dist/chunk-STJOHHSF.js +605 -0
  384. package/dist/chunk-STV6LYYE.js +45 -0
  385. package/dist/chunk-SUN4OFTW.js +740 -0
  386. package/dist/chunk-SURZ2WFE.js +326 -0
  387. package/dist/chunk-SUZ7UYZH.js +1972 -0
  388. package/dist/chunk-SZ7DL357.js +1047 -0
  389. package/dist/chunk-T2SZELJL.js +624 -0
  390. package/dist/chunk-T6VPI2XP.js +10338 -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-TIBZPAD2.js +9924 -0
  397. package/dist/chunk-TK644IOG.js +1813 -0
  398. package/dist/chunk-TRSVUPCX.js +25 -0
  399. package/dist/chunk-TSPQONRT.js +4533 -0
  400. package/dist/chunk-TSXGRLPR.js +107 -0
  401. package/dist/chunk-TWYLVAS2.js +152 -0
  402. package/dist/chunk-U2S3YEX3.js +224 -0
  403. package/dist/chunk-U32HWI76.js +437 -0
  404. package/dist/chunk-U45RTRGY.js +818 -0
  405. package/dist/chunk-U62VCQGR.js +49 -0
  406. package/dist/chunk-UDMS5AD3.js +307 -0
  407. package/dist/chunk-UGX7GI37.js +94 -0
  408. package/dist/chunk-UH3JJSHK.js +1 -0
  409. package/dist/chunk-UHRBTZYY.js +208 -0
  410. package/dist/chunk-UHT2KRG5.js +193 -0
  411. package/dist/chunk-UI2F6DJ5.js +118 -0
  412. package/dist/chunk-UKMAFG7A.js +189 -0
  413. package/dist/chunk-UUH2RVKS.js +585 -0
  414. package/dist/chunk-UVBBFDFQ.js +270 -0
  415. package/dist/chunk-UXZF3B7T.js +75 -0
  416. package/dist/chunk-V6YLL5WA.js +3746 -0
  417. package/dist/chunk-V72RMBM4.js +48 -0
  418. package/dist/chunk-VBNCKCCI.js +16 -0
  419. package/dist/chunk-VCAUV5XQ.js +3679 -0
  420. package/dist/chunk-VDSH7O4Y.js +152 -0
  421. package/dist/chunk-VNSYKC25.js +24 -0
  422. package/dist/chunk-VTLNJQ44.js +133 -0
  423. package/dist/chunk-VV6HOXRC.js +302 -0
  424. package/dist/chunk-VVGEPBPS.js +218 -0
  425. package/dist/chunk-VXF4Q3FW.js +20 -0
  426. package/dist/chunk-W3ZGW3C5.js +331 -0
  427. package/dist/chunk-W4OMESPG.js +271 -0
  428. package/dist/chunk-WDUORIHF.js +877 -0
  429. package/dist/chunk-WDVTY4U6.js +148 -0
  430. package/dist/chunk-WGXYDLMX.js +4386 -0
  431. package/dist/chunk-WMPU2UOV.js +82 -0
  432. package/dist/chunk-WOEVVPDP.js +1125 -0
  433. package/dist/chunk-WTLMSPBQ.js +256 -0
  434. package/dist/chunk-X43NMU4Z.js +1124 -0
  435. package/dist/chunk-X5NTI5U5.js +368 -0
  436. package/dist/chunk-X6UIEADS.js +949 -0
  437. package/dist/chunk-XAONGNST.js +57 -0
  438. package/dist/chunk-XB5YLCLB.js +13 -0
  439. package/dist/chunk-XGYF2QMZ.js +351 -0
  440. package/dist/chunk-XHEKQENB.js +255 -0
  441. package/dist/chunk-XPHKYHO4.js +878 -0
  442. package/dist/chunk-XQD2B6BB.js +507 -0
  443. package/dist/chunk-XT2ZQVTC.js +558 -0
  444. package/dist/chunk-XUSRFFA7.js +1859 -0
  445. package/dist/chunk-XUXVDPSZ.js +50 -0
  446. package/dist/chunk-XV7NZL4B.js +57 -0
  447. package/dist/chunk-XXCGJGSQ.js +121 -0
  448. package/dist/chunk-XYGDZCB5.js +659 -0
  449. package/dist/chunk-XZAMZUX5.js +992 -0
  450. package/dist/chunk-XZE4XARH.js +563 -0
  451. package/dist/chunk-Y34DUC4A.js +1356 -0
  452. package/dist/chunk-Y3J4JMTU.js +61 -0
  453. package/dist/chunk-Y4RC2YFX.js +1270 -0
  454. package/dist/chunk-Y55LZN5U.js +52 -0
  455. package/dist/chunk-Y5677NDO.js +183 -0
  456. package/dist/chunk-YESZJFK6.js +220 -0
  457. package/dist/chunk-YGXKOBQQ.js +292 -0
  458. package/dist/chunk-YMX76IOS.js +31 -0
  459. package/dist/chunk-YOTXESEH.js +257 -0
  460. package/dist/chunk-YQAAKTVH.js +712 -0
  461. package/dist/chunk-YVORHQ2S.js +579 -0
  462. package/dist/chunk-YWNAHW24.js +1552 -0
  463. package/dist/chunk-Z476RATD.js +1689 -0
  464. package/dist/chunk-ZDTGECTN.js +235 -0
  465. package/dist/chunk-ZDTMICNY.js +316 -0
  466. package/dist/chunk-ZIPWI2LY.js +151 -0
  467. package/dist/chunk-ZIVYXF7A.js +2344 -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-HUOTBRM3.js +40 -0
  472. package/dist/cli-validation-WLXWLUJL.js +111 -0
  473. package/dist/commit-utils-3QV2P6RA.js +202 -0
  474. package/dist/compete-config-resolver-SNH3TT2Q.js +76 -0
  475. package/dist/compete-request-XWNPOARL.js +364 -0
  476. package/dist/compete-results-PAP67LDR.js +208 -0
  477. package/dist/competition-outcome-tracker-GOZXNAQU.js +38 -0
  478. package/dist/config-HWHUNA72.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-L3VRNTSG.js +67 -0
  483. package/dist/config-validator-SIIQEOFQ.js +72 -0
  484. package/dist/cost-7CX37DU3.js +53 -0
  485. package/dist/coverage-orchestrator-MNKHD6YC.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-CGBCD7IQ.js +186 -0
  492. package/dist/domain-analyzer-DL6BDR2N.js +29 -0
  493. package/dist/ensure-initialized-4BY73HLE.js +52 -0
  494. package/dist/entry.js +940 -0
  495. package/dist/environment-IGVH5X53.js +81 -0
  496. package/dist/error-parser-core-PPZ36A4S.js +50 -0
  497. package/dist/escalation-ladder-NWY5BJ57.js +130 -0
  498. package/dist/evaluation-context-KMWDSDYD.js +35 -0
  499. package/dist/evidence-plan-resolver-YIVH76PU.js +85 -0
  500. package/dist/execution-data-writer-OHAQ7G5H.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-KBH2MC3M.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-IYBMCZG7.js +149 -0
  507. package/dist/file-utils-XIVR2ZMA.js +47 -0
  508. package/dist/flywheel-autoloop-executor-R3KD2G4D.js +249 -0
  509. package/dist/flywheel-competition-executor-XCFGVJSK.js +259 -0
  510. package/dist/flywheel-executor-LTSIZN2L.js +369 -0
  511. package/dist/flywheel-git-isolation-CZ5YVVZY.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-6E33DJDK.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-AZ46EPRP.js +73 -0
  519. package/dist/git-worktree-IY6V6DUO.js +18 -0
  520. package/dist/github-pr-manager-4XUO2YTM.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 +108644 -0
  525. package/dist/instructions-CM6THDV7.js +64 -0
  526. package/dist/invoke-provider-auth-V5TC5UDS.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-VA6VXNOV.js +23 -0
  531. package/dist/linux-host-class-UY4KVLFD.js +29 -0
  532. package/dist/llm-judge-executor-34YPIRJ7.js +133 -0
  533. package/dist/local-executor-LJJSCWZX.js +223 -0
  534. package/dist/logger-6PRYM56M.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-LHDTJ4TY.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-MCI3F4PX.js +72 -0
  542. package/dist/next-HQKDXIIR.js +90 -0
  543. package/dist/next-JC3V2UCS.js +69 -0
  544. package/dist/optimization-config-resolver-QPSFLCJU.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-DZK24LSZ.js +270 -0
  552. package/dist/plan-backlog-show-fast-63GBBH6Q.js +406 -0
  553. package/dist/plan-sprint-list-fast-TJ6ZUF5E.js +162 -0
  554. package/dist/plan-sprint-status-fast-YWE5X3NG.js +208 -0
  555. package/dist/plan-task-status-fast-K22BTTBW.js +349 -0
  556. package/dist/plan-to-flywheel-VFGCPINA.js +456 -0
  557. package/dist/planning-backlog-Y6TIJYWU.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-2XP3FWH2.js +149 -0
  565. package/dist/prompts-EPAAAMMF.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-KWTYA5QV.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-33SHK43X.js +70 -0
  575. package/dist/quickstart-E32SODTA.js +62 -0
  576. package/dist/readiness-REWW7OSV.js +96 -0
  577. package/dist/registry-N6L36RE2.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-LXQYDSKS.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-VGQU35QM.js +160 -0
  587. package/dist/run-poetic-tui-ZZXFDOQ4.js +13517 -0
  588. package/dist/run-simulation.js +376 -0
  589. package/dist/runner-2YPKOJ6A.js +1092 -0
  590. package/dist/runner-HEJJ65AJ.js +1571 -0
  591. package/dist/safety-OCC4KJJR.js +64 -0
  592. package/dist/safety-stanza-BSVE6OJU.js +60 -0
  593. package/dist/sandbox-3AG2WJLM.js +94 -0
  594. package/dist/sandbox-5JOFBS75.js +81 -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-QGXLN3SO.js +338 -0
  603. package/dist/sprint-bridge-FNKQCJGL.js +68 -0
  604. package/dist/sprint-execution-service-4ELKNJDS.js +311 -0
  605. package/dist/sprint-manager-7TNCXCIX.js +91 -0
  606. package/dist/sqlite-wrapper-UDWCTNLJ.js +17 -0
  607. package/dist/stale-cleanup-orchestrator-H5XKGZP2.js +62 -0
  608. package/dist/storage-access-F6ALDN4S.js +22 -0
  609. package/dist/synthesis-TGQUVAW3.js +185 -0
  610. package/dist/task-classifier-DZIRBSS2.js +494 -0
  611. package/dist/task-list-fast-PJ2EXVZE.js +147 -0
  612. package/dist/task-manager-5742GMJK.js +93 -0
  613. package/dist/task-splitter-6MBXSWF6.js +79 -0
  614. package/dist/task-type-detector-OLVOMXZO.js +21 -0
  615. package/dist/task-type-resolver-4HG6TXFV.js +42 -0
  616. package/dist/telemetry-JX7EMNOZ.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-2MLJ4J6B.js +125 -0
  620. package/dist/token-estimator-PDU345YE.js +37 -0
  621. package/dist/transports-3UEO6C5Y.js +255 -0
  622. package/dist/unified-cost-tracker-F3W5NMPG.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-XCOYVCM4.js +33 -0
  627. package/dist/variant-state-cleanup-QIEKRULB.js +280 -0
  628. package/dist/variant-success-PJXWE3ZV.js +12 -0
  629. package/dist/variant-worker-HPTUA37Z.js +4196 -0
  630. package/dist/variant-worker.js +24 -0
  631. package/dist/variants-2HDYZOCG.js +233 -0
  632. package/dist/verification-toolchains-VVKT3GBF.js +28 -0
  633. package/dist/verify-commands-5F6CJV4B.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-AGWHD4D2.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 +7040 -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/package.json +331 -0
  720. package/schemas/README.md +80 -0
  721. package/schemas/config-v1.schema.json +136 -0
  722. package/schemas/execution-config.schema.json +47 -0
  723. package/schemas/judge-scoring.schema.json +370 -0
  724. package/schemas/poetic.config.schema.json +2214 -0
  725. package/schemas/provider-config.schema.json +203 -0
  726. package/schemas/telemetry-config.schema.json +79 -0
  727. package/schemas/user-preferences.schema.json +141 -0
  728. package/scripts/assert-node-runtime.mjs +140 -0
  729. package/scripts/preflight-native.mjs +49 -0
  730. package/scripts/preinstall-node-check.mjs +78 -0
  731. package/scripts/setup-git-hooks.mjs +24 -0
  732. package/scripts/sync.sh +2722 -0
  733. package/scripts/write-node-launcher.sh +108 -0
  734. package/src/resources/gemini/slash-packs/default/plan.toml +15 -0
  735. package/src/resources/gemini/slash-packs/default/summary.toml +16 -0
  736. package/src/resources/gemini/slash-packs/default/tests.toml +16 -0
  737. package/templates/.poetic/README.md +37 -0
  738. package/templates/.poetic/agents/README.md +296 -0
  739. package/templates/.poetic/agents/api-documenter.md +147 -0
  740. package/templates/.poetic/agents/backend-architect.md +31 -0
  741. package/templates/.poetic/agents/code-reviewer.md +157 -0
  742. package/templates/.poetic/agents/data-scientist.md +179 -0
  743. package/templates/.poetic/agents/database-optimizer.md +145 -0
  744. package/templates/.poetic/agents/debugger.md +31 -0
  745. package/templates/.poetic/agents/deployment-engineer.md +164 -0
  746. package/templates/.poetic/agents/devops-troubleshooter.md +139 -0
  747. package/templates/.poetic/agents/frontend-developer.md +150 -0
  748. package/templates/.poetic/agents/javascript-pro.md +36 -0
  749. package/templates/.poetic/agents/performance-engineer.md +151 -0
  750. package/templates/.poetic/agents/python-pro.md +137 -0
  751. package/templates/.poetic/agents/test-automator.md +147 -0
  752. package/templates/.poetic/agents/typescript-pro.md +34 -0
  753. package/templates/.poetic/config/poetic.config.jsonc +69 -0
  754. package/templates/.poetic/config/project-context.template.json +6 -0
  755. package/templates/.poetic/config/task-type-aliases.presets/kanban.yaml +14 -0
  756. package/templates/.poetic/config/task-type-aliases.presets/scrum.yaml +17 -0
  757. package/templates/.poetic/config/task-type-aliases.presets/xp.yaml +12 -0
  758. package/templates/.poetic/config/task-type-aliases.yaml +28 -0
  759. package/templates/.poetic/gitignore.template +55 -0
  760. package/templates/.poetic/task-types/analysis.yaml +40 -0
  761. package/templates/.poetic/task-types/architecture.yaml +38 -0
  762. package/templates/.poetic/task-types/doc.yaml +35 -0
  763. package/templates/.poetic/task-types/feature.yaml +23 -0
  764. package/templates/.poetic/task-types/general.yaml +6 -0
  765. package/templates/.poetic/task-types/security.yaml +39 -0
  766. package/templates/AGENTS.template.md +99 -0
  767. package/templates/CLAUDE.template.md +1 -0
  768. package/templates/GEMINI.template.md +1 -0
  769. package/templates/builtin-workflows/code-review.yaml +73 -0
  770. package/templates/builtin-workflows/compete-streak.yaml +78 -0
  771. package/templates/builtin-workflows/hello-verify.yaml +10 -0
  772. package/templates/builtin-workflows/judge-regression.yaml +114 -0
  773. package/templates/builtin-workflows/skills/code-review/SKILL.md +60 -0
  774. package/templates/builtin-workflows/skills/hello-verify/SKILL.md +6 -0
  775. package/templates/guard-kit/GUARD_SETUP.md.template +255 -0
  776. package/templates/guard-kit/check.mjs.template +777 -0
  777. package/templates/guard-kit/config.json.template +6 -0
  778. package/templates/guard-kit/poetic-guard.yml.template +189 -0
  779. package/templates/profiles/README.md +56 -0
  780. package/templates/profiles/frontier-claude.json +27 -0
  781. package/templates/profiles/frontier-codex.json +26 -0
@@ -0,0 +1,566 @@
1
+ import {
2
+ classifyFailureEnvelope
3
+ } from "./chunk-NWRUSEXG.js";
4
+ import {
5
+ runSemanticPrompt
6
+ } from "./chunk-G2PTLLEL.js";
7
+ import {
8
+ signalCoordinator
9
+ } from "./chunk-72YTZMAM.js";
10
+ import {
11
+ parseJsonWithContext
12
+ } from "./chunk-QVZMFDYG.js";
13
+ import {
14
+ mkPoeticTempDirSync
15
+ } from "./chunk-C57KJOUQ.js";
16
+ import {
17
+ atomicWriteJson
18
+ } from "./chunk-A3YGID55.js";
19
+ import {
20
+ getRuntimeEnv
21
+ } from "./chunk-ENRGKNR5.js";
22
+ import {
23
+ mergeExecutionContextEnvOverrides
24
+ } from "./chunk-UI2F6DJ5.js";
25
+ import {
26
+ debugLog,
27
+ emitWarning
28
+ } from "./chunk-EJGCZGUF.js";
29
+ import {
30
+ POETIC_ALLOW_MOCK_PROVIDERS,
31
+ POETIC_MOCK_PROVIDERS,
32
+ readEnv
33
+ } from "./chunk-5DLKYTQX.js";
34
+
35
+ // src/core/safety/recursion-tracker.ts
36
+ import { chmodSync, existsSync, rmSync, unlinkSync } from "fs";
37
+ import { chmod, mkdir, readFile, rm, unlink } from "fs/promises";
38
+ import { join } from "path";
39
+ var RecursionTracker = class {
40
+ stateDir;
41
+ stateFile;
42
+ maxDepth;
43
+ currentState = null;
44
+ previousStateFile;
45
+ cleanupHandlers = [];
46
+ /**
47
+ * Number of live, unbalanced `enter()` calls in THIS process. The tracker is a
48
+ * per-process singleton, so overlapping in-process competitions share one
49
+ * instance. Only the FIRST `enter()`
50
+ * establishes the depth/state file and only the LAST `exit()` tears it down;
51
+ * intermediate calls just adjust this count. This makes enter()/exit() safe to
52
+ * call from independent concurrent invocations without one clearing another's
53
+ * state. NOTE: the cross-PROCESS recursion DEPTH (the exponential-spawn guard)
54
+ * is unchanged — it is still derived once, on the first entry, from the parent
55
+ * state file; this counter only governs local teardown ordering.
56
+ */
57
+ activeEntries = 0;
58
+ /**
59
+ * Single-flight guard for first-entry establishment. The first concurrent
60
+ * `enter()` that finds no `currentState` runs the establishment work (read
61
+ * parent state file → derive depth → write our state file → set the child env
62
+ * pointer) exactly once; any other entrant that arrives while it is in flight
63
+ * awaits THIS promise instead of re-deriving depth. Without it, two concurrent
64
+ * first entries would both pass the `currentState === null` check and the
65
+ * second could read the first's just-written state file as its "parent",
66
+ * inflating depth to 1 for same-process concurrency. Cleared once settled so a
67
+ * later entry can retry if establishment failed.
68
+ */
69
+ establishmentInFlight = null;
70
+ constructor(maxDepth = 2) {
71
+ this.stateDir = mkPoeticTempDirSync("recursion");
72
+ chmodSync(this.stateDir, 448);
73
+ this.stateFile = join(this.stateDir, `recursion-${process.pid}.json`);
74
+ this.maxDepth = maxDepth;
75
+ this.registerCleanupHandlers();
76
+ }
77
+ /**
78
+ * Initialize recursion tracking for this process.
79
+ * Checks if we're exceeding recursion limits.
80
+ *
81
+ * @throws Error if recursion depth exceeded
82
+ * @returns Current depth after increment
83
+ */
84
+ async enter() {
85
+ this.activeEntries += 1;
86
+ try {
87
+ if (this.currentState) {
88
+ return this.currentState.depth;
89
+ }
90
+ if (!this.establishmentInFlight) {
91
+ this.establishmentInFlight = this.establish();
92
+ }
93
+ try {
94
+ const state = await this.establishmentInFlight;
95
+ return state.depth;
96
+ } finally {
97
+ this.establishmentInFlight = null;
98
+ }
99
+ } catch (err) {
100
+ this.activeEntries -= 1;
101
+ throw err;
102
+ }
103
+ }
104
+ /**
105
+ * One-time first-entry establishment: read the parent state file, derive this
106
+ * process's depth, enforce the recursion limit, persist our state, and point
107
+ * children at it. Runs at most once concurrently (guarded by
108
+ * `establishmentInFlight`); the result is shared by all concurrent first
109
+ * entrants so they observe the same depth.
110
+ */
111
+ async establish() {
112
+ await this.ensureStateDir();
113
+ const parentStateFile = getRuntimeEnv("POETIC_RECURSION_STATE_FILE");
114
+ let parentState = null;
115
+ if (parentStateFile) {
116
+ try {
117
+ const content = await readFile(parentStateFile, "utf8");
118
+ parentState = parseJsonWithContext(content, "parent recursion state file");
119
+ } catch (_err) {
120
+ parentState = null;
121
+ }
122
+ }
123
+ const currentDepth = parentState ? parentState.depth + 1 : 0;
124
+ if (currentDepth >= this.maxDepth) {
125
+ throw new Error(
126
+ `Alert: RECURSION LIMIT EXCEEDED
127
+
128
+ Maximum recursion depth: ${this.maxDepth}
129
+ Current depth: ${currentDepth}
130
+ Parent PIDs: ${parentState?.parentPids.join(" \u2192 ") || "none"}
131
+
132
+ This safety limit prevents exponential process growth that could crash your system.
133
+ Poetic detected nested parallel execution or recursive task spawning.
134
+
135
+ Solution:
136
+ - Use --fan-out only at the top level, not in sub-agents
137
+ - Check if your task accidentally spawns nested Poetic commands
138
+ - Increase limit with POETIC_MAX_RECURSION_DEPTH env var (not recommended)
139
+ `
140
+ );
141
+ }
142
+ const state = {
143
+ depth: currentDepth,
144
+ maxDepth: this.maxDepth,
145
+ parentPids: [...parentState?.parentPids || [], process.pid],
146
+ timestamp: Date.now()
147
+ };
148
+ this.currentState = state;
149
+ await atomicWriteJson(this.stateFile, state);
150
+ this.previousStateFile = parentStateFile;
151
+ mergeExecutionContextEnvOverrides({
152
+ POETIC_RECURSION_STATE_FILE: this.stateFile
153
+ });
154
+ return state;
155
+ }
156
+ /** Active state-file pointer to propagate to child execution contexts. */
157
+ getStateFilePath() {
158
+ return this.currentState ? this.stateFile : void 0;
159
+ }
160
+ /**
161
+ * Clean up recursion state for this process.
162
+ * Called automatically on process exit.
163
+ *
164
+ * Ref-counted: balances one `enter()`. When more than one live entry remains
165
+ * (concurrent/nested in-process invocations), this only decrements the count
166
+ * and returns WITHOUT tearing down, so one invocation cannot clear state that
167
+ * another still depends on. Only the last balancing `exit()` removes the state
168
+ * file and restores the parent env pointer.
169
+ *
170
+ * @param opts.force - Tear down immediately regardless of the live-entry count
171
+ * (used by full-reset and signal/process-exit cleanup, where the whole
172
+ * process is being reset or terminated). Default false.
173
+ */
174
+ async exit(opts) {
175
+ if (!opts?.force && this.activeEntries > 1) {
176
+ this.activeEntries -= 1;
177
+ return;
178
+ }
179
+ this.activeEntries = 0;
180
+ this.establishmentInFlight = null;
181
+ if (this.currentState) {
182
+ mergeExecutionContextEnvOverrides({
183
+ POETIC_RECURSION_STATE_FILE: this.previousStateFile
184
+ });
185
+ this.previousStateFile = void 0;
186
+ }
187
+ if (this.stateFile) {
188
+ try {
189
+ await unlink(this.stateFile);
190
+ } catch (err) {
191
+ const code = err?.code;
192
+ if (code === "ENOENT") {
193
+ this.currentState = null;
194
+ return;
195
+ }
196
+ emitWarning(
197
+ "WS-003",
198
+ {
199
+ subsystem: "safety",
200
+ executionPhase: "cleanup"
201
+ },
202
+ {
203
+ severity: "WARN" /* WARN */,
204
+ metadata: {
205
+ error: err instanceof Error ? err.message : String(err),
206
+ operation: "cleanupRecursionState",
207
+ stateFile: this.stateFile
208
+ }
209
+ }
210
+ );
211
+ }
212
+ }
213
+ this.currentState = null;
214
+ }
215
+ /**
216
+ * Get current recursion depth.
217
+ * Returns 0 if not yet entered.
218
+ */
219
+ getDepth() {
220
+ return this.currentState?.depth ?? 0;
221
+ }
222
+ /**
223
+ * Get maximum allowed recursion depth.
224
+ */
225
+ getMaxDepth() {
226
+ return this.maxDepth;
227
+ }
228
+ /**
229
+ * Get parent process PIDs for debugging.
230
+ */
231
+ getParentPids() {
232
+ return this.currentState?.parentPids ?? [];
233
+ }
234
+ /**
235
+ * Check if we can safely spawn child processes.
236
+ * Returns true if we're below recursion limit.
237
+ */
238
+ canSpawnChildren() {
239
+ const currentDepth = this.currentState?.depth ?? 0;
240
+ return currentDepth < this.maxDepth - 1;
241
+ }
242
+ /**
243
+ * Ensure state directory exists with secure permissions.
244
+ */
245
+ async ensureStateDir() {
246
+ if (!existsSync(this.stateDir)) {
247
+ await mkdir(this.stateDir, { recursive: true });
248
+ await chmod(this.stateDir, 448);
249
+ }
250
+ }
251
+ /**
252
+ * Register cleanup handlers for process exit.
253
+ */
254
+ registerCleanupHandlers() {
255
+ signalCoordinator.register("RecursionTracker", async () => {
256
+ await this.exit({ force: true });
257
+ });
258
+ const exitHandler = () => {
259
+ if (this.stateFile && existsSync(this.stateFile)) {
260
+ try {
261
+ unlinkSync(this.stateFile);
262
+ } catch {
263
+ }
264
+ }
265
+ };
266
+ process.on("exit", exitHandler);
267
+ this.cleanupHandlers = [() => process.off("exit", exitHandler)];
268
+ }
269
+ /**
270
+ * Clean up resources and remove event listeners.
271
+ * Also removes the temporary directory created in constructor.
272
+ */
273
+ close() {
274
+ for (const cleanup of this.cleanupHandlers) {
275
+ try {
276
+ cleanup();
277
+ } catch (_error) {
278
+ }
279
+ }
280
+ this.cleanupHandlers = [];
281
+ if (this.stateDir && existsSync(this.stateDir)) {
282
+ try {
283
+ rmSync(this.stateDir, { recursive: true, force: true });
284
+ } catch (_error) {
285
+ }
286
+ }
287
+ }
288
+ /**
289
+ * Async cleanup for temporary directory.
290
+ * Preferred over close() when async context is available.
291
+ */
292
+ async closeAsync() {
293
+ for (const cleanup of this.cleanupHandlers) {
294
+ try {
295
+ cleanup();
296
+ } catch (_error) {
297
+ }
298
+ }
299
+ this.cleanupHandlers = [];
300
+ if (this.stateDir && existsSync(this.stateDir)) {
301
+ try {
302
+ await rm(this.stateDir, { recursive: true, force: true });
303
+ } catch (_error) {
304
+ }
305
+ }
306
+ }
307
+ };
308
+ var _globalRecursionTracker = null;
309
+ var DEFAULT_MAX_RECURSION_DEPTH = 2;
310
+ function parseMaxRecursionDepthEnv(value) {
311
+ if (value === void 0) {
312
+ return DEFAULT_MAX_RECURSION_DEPTH;
313
+ }
314
+ const normalized = value.trim();
315
+ if (!/^\d+$/.test(normalized)) {
316
+ return DEFAULT_MAX_RECURSION_DEPTH;
317
+ }
318
+ const parsed = Number(normalized);
319
+ return Number.isSafeInteger(parsed) && parsed > 0 ? parsed : DEFAULT_MAX_RECURSION_DEPTH;
320
+ }
321
+ function resolveMaxRecursionDepth(override) {
322
+ if (override !== void 0) {
323
+ return Number.isSafeInteger(override) ? override : DEFAULT_MAX_RECURSION_DEPTH;
324
+ }
325
+ return parseMaxRecursionDepthEnv(getRuntimeEnv("POETIC_MAX_RECURSION_DEPTH"));
326
+ }
327
+ function getGlobalRecursionTracker(maxDepth) {
328
+ if (!_globalRecursionTracker) {
329
+ const depth = resolveMaxRecursionDepth(maxDepth);
330
+ _globalRecursionTracker = new RecursionTracker(depth);
331
+ }
332
+ return _globalRecursionTracker;
333
+ }
334
+ async function resetGlobalRecursionTracker() {
335
+ if (_globalRecursionTracker) {
336
+ await _globalRecursionTracker.exit({ force: true });
337
+ }
338
+ }
339
+ var globalRecursionTracker = new Proxy({}, {
340
+ get(_target, prop) {
341
+ if (prop === "reset") {
342
+ return resetGlobalRecursionTracker;
343
+ }
344
+ const tracker = getGlobalRecursionTracker();
345
+ const value = tracker[prop];
346
+ return typeof value === "function" ? value.bind(tracker) : value;
347
+ }
348
+ });
349
+
350
+ // src/orchestrator/autoloop-recovery.ts
351
+ var TERMINAL_ENVIRONMENT_FAILURES = /* @__PURE__ */ new Set([
352
+ "auth_unavailable",
353
+ "cli_missing",
354
+ "quota_exhausted",
355
+ "model_unavailable",
356
+ "sandbox_denied",
357
+ "invalid_configuration"
358
+ ]);
359
+ var TRANSIENT_FAILURES = /* @__PURE__ */ new Set([
360
+ "idle_terminated",
361
+ "startup_timeout",
362
+ "transport_error",
363
+ "output_malformed",
364
+ "rate_limited"
365
+ ]);
366
+ function isPositiveClassification(failure) {
367
+ return failure.confidence === "high" && (failure.evidenceSource === "typed" || failure.evidenceSource === "parsed");
368
+ }
369
+ function deriveDirectAutoloopRecovery(failure, options = {}) {
370
+ if (failure.category === "user_cancelled" && isPositiveClassification(failure)) {
371
+ return "operator_stop";
372
+ }
373
+ if (options.deliveryRescueEligible === true) {
374
+ return "delivery_rescue";
375
+ }
376
+ if (isPositiveClassification(failure) && TERMINAL_ENVIRONMENT_FAILURES.has(failure.category)) {
377
+ return "terminal_stop";
378
+ }
379
+ if (isPositiveClassification(failure) && TRANSIENT_FAILURES.has(failure.category) && failure.retryable === true && failure.mutationState === "none-observed") {
380
+ return "transport_retry";
381
+ }
382
+ return "agent_correction";
383
+ }
384
+ function serializeDirectAutoloopFailureRecovery(failure, disposition) {
385
+ return {
386
+ schemaVersion: 1,
387
+ failure: {
388
+ category: failure.category,
389
+ evidenceSource: failure.evidenceSource,
390
+ executionPhase: failure.executionPhase,
391
+ mutationState: failure.mutationState,
392
+ retryable: failure.retryable,
393
+ failoverEligible: failure.failoverEligible,
394
+ confidence: failure.confidence
395
+ },
396
+ recovery: { disposition }
397
+ };
398
+ }
399
+ var DirectAutoloopExecutionFailure = class extends Error {
400
+ failureEnvelope;
401
+ constructor(error, failureEnvelope, detail = "") {
402
+ super(`${error.message}${detail}`, { cause: error });
403
+ this.name = "DirectAutoloopExecutionFailure";
404
+ this.failureEnvelope = failureEnvelope;
405
+ }
406
+ };
407
+ function createDirectAutoloopCancellationFailure(error, executionPhase, mutationState = executionPhase === "post-run" ? "none-observed" : "unknown") {
408
+ return new DirectAutoloopExecutionFailure(
409
+ error,
410
+ classifyFailureEnvelope(
411
+ { reason: "cancelled", message: error.message },
412
+ { executionPhase, mutationState }
413
+ )
414
+ );
415
+ }
416
+ function createDirectAutoloopProviderFailure(error, filesModifiedCount, changedFilesReadable, detail = "") {
417
+ const mutationState = filesModifiedCount > 0 ? "observed" : changedFilesReadable ? "none-observed" : "unknown";
418
+ return new DirectAutoloopExecutionFailure(
419
+ error,
420
+ classifyFailureEnvelope(error, { executionPhase: "post-run", mutationState }),
421
+ detail
422
+ );
423
+ }
424
+ function getCarriedDirectAutoloopFailureEnvelope(error) {
425
+ return error instanceof DirectAutoloopExecutionFailure ? error.failureEnvelope : void 0;
426
+ }
427
+
428
+ // src/core/validation/semantic-progress-rater.ts
429
+ function clampTimeoutToDeadline(configuredTimeoutMs, deadlineMs) {
430
+ if (deadlineMs == null) {
431
+ return configuredTimeoutMs;
432
+ }
433
+ const remainingMs = Math.max(0, deadlineMs - Date.now());
434
+ if (configuredTimeoutMs == null) {
435
+ return remainingMs;
436
+ }
437
+ return Math.min(configuredTimeoutMs, remainingMs);
438
+ }
439
+ function generateProgressPrompt(task, gitDiff) {
440
+ return `You are evaluating whether code changes move closer to completing a task.
441
+
442
+ Task: ${task}
443
+
444
+ Git Diff:
445
+ \`\`\`diff
446
+ ${gitDiff}
447
+ \`\`\`
448
+
449
+ Questions:
450
+ 1. Do these changes move closer to completing the task? (yes/no)
451
+ 2. Confidence (0-100%): How confident are you in this assessment?
452
+ 3. Brief reasoning (1-2 sentences)
453
+
454
+ Respond in this exact format:
455
+ MOVED_CLOSER: yes|no
456
+ CONFIDENCE: 0-100
457
+ REASONING: your brief explanation`;
458
+ }
459
+ function parseProgressResponse(responseText) {
460
+ const movedCloserMatch = responseText.match(/MOVED_CLOSER:\s*(yes|no)/i);
461
+ if (!movedCloserMatch?.[1]) {
462
+ throw new Error("Semantic progress response missing MOVED_CLOSER field");
463
+ }
464
+ const movedCloser = movedCloserMatch[1].toLowerCase() === "yes";
465
+ const confidenceMatch = responseText.match(/CONFIDENCE:\s*(\d+)/);
466
+ if (!confidenceMatch?.[1]) {
467
+ throw new Error("Semantic progress response missing CONFIDENCE field");
468
+ }
469
+ const confidencePercent = Number.parseInt(confidenceMatch[1], 10);
470
+ if (!Number.isFinite(confidencePercent) || confidencePercent < 0 || confidencePercent > 100) {
471
+ throw new Error(`Semantic progress response CONFIDENCE out of range: ${confidenceMatch[1]}`);
472
+ }
473
+ const confidence = Math.max(0, Math.min(1, confidencePercent / 100));
474
+ const reasoningMatch = responseText.match(/REASONING:\s*(.+?)(?:\n|$)/s);
475
+ const reasoning = reasoningMatch?.[1]?.trim() || "No reasoning provided";
476
+ return {
477
+ movedCloser,
478
+ confidence,
479
+ reasoning
480
+ };
481
+ }
482
+ async function rateProgress(task, gitDiff, options = {}) {
483
+ debugLog("[ProgressRater] Evaluating progress for task...");
484
+ debugLog(`[ProgressRater] Task: ${task.substring(0, 100)}...`);
485
+ debugLog(`[ProgressRater] Diff size: ${gitDiff.length} characters`);
486
+ if (!gitDiff || gitDiff.trim().length === 0) {
487
+ debugLog("[ProgressRater] Empty git diff - no progress made");
488
+ return {
489
+ movedCloser: false,
490
+ confidence: 1,
491
+ reasoning: "No changes made (empty git diff)"
492
+ };
493
+ }
494
+ if (!task || task.trim().length === 0) {
495
+ debugLog("[ProgressRater] Empty task - cannot evaluate progress");
496
+ return {
497
+ movedCloser: false,
498
+ confidence: 0.5,
499
+ reasoning: "Cannot evaluate progress without task description"
500
+ };
501
+ }
502
+ if (options.abortSignal?.aborted) {
503
+ throw new Error("Semantic progress evaluation aborted before provider launch");
504
+ }
505
+ if (options.deadlineMs !== void 0 && options.deadlineMs <= Date.now()) {
506
+ throw new Error("Semantic progress evaluation deadline exhausted before provider launch");
507
+ }
508
+ if (readEnv(POETIC_MOCK_PROVIDERS).value === "1" && readEnv(POETIC_ALLOW_MOCK_PROVIDERS).value === true) {
509
+ debugLog("[ProgressRater] Mock provider mode - accepting non-empty diff as progress");
510
+ return {
511
+ movedCloser: true,
512
+ confidence: 0.95,
513
+ reasoning: "Mock provider mode accepted a non-empty diff as semantic progress"
514
+ };
515
+ }
516
+ if (!options.provider || !options.workingDir) {
517
+ throw new Error(
518
+ "rateProgress requires provider and workingDir when evaluating non-empty inputs"
519
+ );
520
+ }
521
+ const prompt = generateProgressPrompt(task, gitDiff);
522
+ const timeoutMs = clampTimeoutToDeadline(options.timeoutMs, options.deadlineMs);
523
+ if (options.deadlineMs !== void 0 && timeoutMs === 0) {
524
+ throw new Error("Semantic progress evaluation deadline exhausted before provider launch");
525
+ }
526
+ const providerResult = await runSemanticPrompt({
527
+ provider: options.provider,
528
+ prompt,
529
+ workingDir: options.workingDir,
530
+ profile: options.profile,
531
+ model: options.model,
532
+ timeoutMs,
533
+ deadlineMs: options.deadlineMs,
534
+ abortSignal: options.abortSignal,
535
+ workspaceMode: options.workspaceMode,
536
+ allowedTools: options.allowedTools,
537
+ tools: options.tools,
538
+ disallowedTools: options.disallowedTools,
539
+ executionIntent: "analysis"
540
+ });
541
+ const stdout = (providerResult.stdout ?? "").trim();
542
+ if (!stdout) {
543
+ throw new Error("Semantic progress provider returned empty output");
544
+ }
545
+ const result = parseProgressResponse(stdout);
546
+ debugLog(
547
+ `[ProgressRater] Result: ${result.movedCloser ? "moved closer" : "no progress"} (confidence: ${result.confidence.toFixed(2)})`
548
+ );
549
+ debugLog(`[ProgressRater] Reasoning: ${result.reasoning}`);
550
+ return result;
551
+ }
552
+ function isSignificantProgress(result, minConfidence = 0.7) {
553
+ return result.movedCloser && result.confidence >= minConfidence;
554
+ }
555
+
556
+ export {
557
+ globalRecursionTracker,
558
+ deriveDirectAutoloopRecovery,
559
+ serializeDirectAutoloopFailureRecovery,
560
+ createDirectAutoloopCancellationFailure,
561
+ createDirectAutoloopProviderFailure,
562
+ getCarriedDirectAutoloopFailureEnvelope,
563
+ rateProgress,
564
+ isSignificantProgress
565
+ };
566
+ //# sourceMappingURL=chunk-3C26DPFK.js.map
@@ -0,0 +1,26 @@
1
+ import {
2
+ createEngineMetadata
3
+ } from "./chunk-GHHFDU2U.js";
4
+
5
+ // src/core/providers/opencode/metadata.ts
6
+ var metadata = createEngineMetadata(
7
+ {
8
+ id: "opencode",
9
+ name: "OpenCode",
10
+ description: "Open source AI coding agent via OpenCode CLI",
11
+ cliCommand: "opencode",
12
+ cliBinary: "opencode",
13
+ installCommand: "curl -fsSL https://opencode.ai/install | bash",
14
+ authHint: "opencode auth login",
15
+ setupCommand: "poetic provider setup --providers opencode",
16
+ docsPath: "docs/PROVIDER_SETUP.md",
17
+ docsAnchor: "opencode-cli",
18
+ experimental: false
19
+ },
20
+ ["installCommand", "experimental"]
21
+ );
22
+
23
+ export {
24
+ metadata
25
+ };
26
+ //# sourceMappingURL=chunk-3FLXLLB7.js.map
@@ -0,0 +1,100 @@
1
+ import {
2
+ getDefaultPaths
3
+ } from "./chunk-UUH2RVKS.js";
4
+ import {
5
+ emitWarning
6
+ } from "./chunk-EJGCZGUF.js";
7
+
8
+ // src/core/steering/user-agents.ts
9
+ import { createHash as createHash2 } from "crypto";
10
+ import { existsSync, readFileSync, statSync } from "fs";
11
+ import { join } from "path";
12
+
13
+ // src/core/steering/template.ts
14
+ import { createHash } from "crypto";
15
+ var DEFAULT_USER_AGENTS_TEMPLATE = `# Poetic Global Instructions
16
+
17
+ These instructions are injected by Poetic for provider runs on this machine.
18
+ Keep them short, durable, and broadly applicable across repositories.
19
+
20
+ - Read existing code before modifying it. Check for existing helpers and local patterns.
21
+ - Prefer standard well-known solutions. Avoid adding algorithmic or data-structure complexity for small inputs unless the task explicitly justifies it.
22
+ `;
23
+ var DEFAULT_USER_AGENTS_TEMPLATE_SHA256 = createHash("sha256").update(DEFAULT_USER_AGENTS_TEMPLATE).digest("hex");
24
+
25
+ // src/core/steering/user-agents.ts
26
+ var unreadableWarnings = /* @__PURE__ */ new Set();
27
+ var cachedUserGlobal = null;
28
+ function sha256Text(text) {
29
+ return createHash2("sha256").update(text).digest("hex");
30
+ }
31
+ function byteLength(text) {
32
+ return Buffer.byteLength(text, "utf8");
33
+ }
34
+ function getUserAgentsPath() {
35
+ const override = process.env.POETIC_AGENTS_FILE?.trim();
36
+ if (override) return override;
37
+ return join(getDefaultPaths().userConfigDir, "AGENTS.md");
38
+ }
39
+ function warnUnreadableAgentsFile(path, error) {
40
+ if (unreadableWarnings.has(path)) return;
41
+ unreadableWarnings.add(path);
42
+ emitWarning(
43
+ "CFG-001",
44
+ {
45
+ taskId: "runtime-steering",
46
+ subsystem: "steering",
47
+ executionPhase: "setup"
48
+ },
49
+ {
50
+ severity: "WARN" /* WARN */,
51
+ metadata: {
52
+ operation: "loadUserGlobalAgents",
53
+ path,
54
+ error: error instanceof Error ? error.message : String(error)
55
+ }
56
+ }
57
+ );
58
+ }
59
+ function loadUserGlobalAgentsFile() {
60
+ const path = getUserAgentsPath();
61
+ if (!existsSync(path)) {
62
+ return null;
63
+ }
64
+ try {
65
+ const stats = statSync(path);
66
+ if (!stats.isFile()) {
67
+ throw new Error("Path exists but is not a regular file");
68
+ }
69
+ if (cachedUserGlobal?.path === path && cachedUserGlobal.mtimeMs === stats.mtimeMs) {
70
+ return cachedUserGlobal.loaded;
71
+ }
72
+ const text = readFileSync(path, "utf8");
73
+ const sha256 = sha256Text(text);
74
+ const loaded = {
75
+ text,
76
+ source: {
77
+ kind: "user-global",
78
+ path,
79
+ mtime: stats.mtimeMs,
80
+ sha256,
81
+ bytes: byteLength(text),
82
+ editedByUser: sha256 !== DEFAULT_USER_AGENTS_TEMPLATE_SHA256
83
+ }
84
+ };
85
+ cachedUserGlobal = { path, mtimeMs: stats.mtimeMs, loaded };
86
+ return loaded;
87
+ } catch (error) {
88
+ warnUnreadableAgentsFile(path, error);
89
+ return null;
90
+ }
91
+ }
92
+
93
+ export {
94
+ DEFAULT_USER_AGENTS_TEMPLATE,
95
+ sha256Text,
96
+ byteLength,
97
+ getUserAgentsPath,
98
+ loadUserGlobalAgentsFile
99
+ };
100
+ //# sourceMappingURL=chunk-3FOZ2VHV.js.map