@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,459 @@
1
+ import {
2
+ ExitCodeError
3
+ } from "./chunk-FUVP64ER.js";
4
+ import {
5
+ detectSandboxBoundaryAttestation,
6
+ isSandboxEnabledForProvider,
7
+ isSandboxEnforcementOperational,
8
+ isSandboxEnforcementSupported,
9
+ isSandboxSupported,
10
+ resolveSandboxBoundaryPolicy,
11
+ willSandboxBeActive
12
+ } from "./chunk-2AICM4P3.js";
13
+ import {
14
+ getKnownSandboxProviderIds,
15
+ probeProviderSandboxCapability
16
+ } from "./chunk-5WCQRDRB.js";
17
+ import {
18
+ formatLinuxDesktopConsentFailure,
19
+ formatLinuxHostClassNote,
20
+ resolveLinuxHostClass,
21
+ revokeLinuxHostPolicy,
22
+ writeLinuxHostPolicy
23
+ } from "./chunk-RWREC3KJ.js";
24
+ import {
25
+ POETIC_SANDBOX_BOUNDARY_POLICY,
26
+ readRawEnv
27
+ } from "./chunk-5DLKYTQX.js";
28
+
29
+ // src/cli/commands/sandbox.ts
30
+ import os from "os";
31
+ import { Command } from "commander";
32
+ var LINUX_DARWIN_HOST_REFUSAL = "Error: linux host-class declarations are ignored on macOS.\nmacOS write-capable runs require an accepted Seatbelt boundary.";
33
+ var LINUX_DESKTOP_RISK_PARAGRAPH = [
34
+ "Warning: This Linux host is not Seatbelt-sandboxed.",
35
+ "",
36
+ "Provider CLIs Poetic launches can write anywhere $USER can, including",
37
+ "$HOME and credential paths (~/.ssh, ~/.config, ~/.poetic, cloud-token",
38
+ "stores). Poetic cannot generate a macOS-Seatbelt-equivalent filesystem",
39
+ "write boundary on Linux.",
40
+ "",
41
+ "If this is a VM, container, or isolated cloud instance:",
42
+ " poetic sandbox trust linux --host isolated",
43
+ "",
44
+ "WSL is treated as a desktop."
45
+ ].join("\n");
46
+ var WRITE_CAPABLE_ROOTS = /* @__PURE__ */ new Set([
47
+ "run",
48
+ "compete",
49
+ "build",
50
+ "autoloop",
51
+ "do",
52
+ "auto",
53
+ "swarm",
54
+ "loop",
55
+ "fusion",
56
+ "flywheel",
57
+ "sprint",
58
+ "backlog",
59
+ "plan"
60
+ ]);
61
+ var NEVER_PROMPT_ROOTS = /* @__PURE__ */ new Set([
62
+ "sandbox",
63
+ "doctor",
64
+ "provider",
65
+ "providers",
66
+ "ask",
67
+ "config",
68
+ "help",
69
+ "init",
70
+ "status"
71
+ ]);
72
+ function summarizeCapability(result) {
73
+ return {
74
+ capable: result.capable,
75
+ missingPaths: result.missing.map((entry) => entry.path)
76
+ };
77
+ }
78
+ function buildProviderStatus(providerId, probe) {
79
+ const attestation = detectSandboxBoundaryAttestation(providerId, providerId);
80
+ const capability = probe ? summarizeCapability(
81
+ probeProviderSandboxCapability(providerId, {
82
+ includeSharedPaths: false,
83
+ env: process.env
84
+ })
85
+ ) : null;
86
+ return {
87
+ providerId,
88
+ sandboxEnabled: isSandboxEnabledForProvider(providerId, providerId),
89
+ willBeActive: willSandboxBeActive(providerId, providerId),
90
+ enforcementOperational: isSandboxEnforcementOperational(providerId, providerId),
91
+ provenance: attestation.provenance,
92
+ boundaryEvidence: { ...attestation.evidence },
93
+ probed: probe,
94
+ capability
95
+ };
96
+ }
97
+ function resolveLinuxHostForCli(options = {}) {
98
+ return resolveLinuxHostClass({
99
+ ...options.env ? { env: options.env } : {},
100
+ ...options.stateDir ? { stateDir: options.stateDir } : {}
101
+ });
102
+ }
103
+ function toSandboxLinuxHostStatus(resolution) {
104
+ return {
105
+ hostClass: resolution.hostClass,
106
+ source: resolution.source,
107
+ writesAllowed: resolution.writesAllowed,
108
+ policyVersionCurrent: resolution.policyVersionCurrent,
109
+ acknowledgedPolicyVersion: resolution.acknowledgedPolicyVersion,
110
+ hypervisorHint: resolution.evidence.hypervisorHint
111
+ };
112
+ }
113
+ function formatLinuxHostAck(linuxHost) {
114
+ if (linuxHost.hostClass === "isolated") return "n/a (isolated)";
115
+ if (linuxHost.hostClass === "not-applicable") return "n/a";
116
+ if (linuxHost.acknowledgedPolicyVersion != null) {
117
+ return String(linuxHost.acknowledgedPolicyVersion);
118
+ }
119
+ return "none";
120
+ }
121
+ function buildSandboxStatus(options = {}) {
122
+ const envValue = readRawEnv(POETIC_SANDBOX_BOUNDARY_POLICY);
123
+ const effective = resolveSandboxBoundaryPolicy(envValue);
124
+ const probe = options.probe ?? false;
125
+ let providerIds = [];
126
+ if (options.provider) {
127
+ providerIds = [options.provider.toLowerCase()];
128
+ } else if (options.all) {
129
+ providerIds = getKnownSandboxProviderIds();
130
+ }
131
+ const linuxHost = toSandboxLinuxHostStatus(
132
+ resolveLinuxHostForCli({
133
+ ...options.env ? { env: options.env } : {},
134
+ ...options.stateDir ? { stateDir: options.stateDir } : {}
135
+ })
136
+ );
137
+ return {
138
+ platform: os.platform(),
139
+ sandboxSupported: isSandboxSupported(),
140
+ enforcementSupported: isSandboxEnforcementSupported(),
141
+ boundaryPolicy: {
142
+ effective,
143
+ envKey: POETIC_SANDBOX_BOUNDARY_POLICY.name,
144
+ envValue: envValue ?? null
145
+ },
146
+ linuxHost,
147
+ providers: providerIds.map((id) => buildProviderStatus(id, probe)),
148
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
149
+ };
150
+ }
151
+ function printLinuxHostHuman(linuxHost) {
152
+ console.log(`Host class: ${linuxHost.hostClass} (source=${linuxHost.source})`);
153
+ console.log(`Writes allowed: ${linuxHost.writesAllowed}`);
154
+ console.log(`Ack: ${formatLinuxHostAck(linuxHost)}`);
155
+ console.log(`Policy version: ${linuxHost.policyVersionCurrent}`);
156
+ }
157
+ function printHuman(status, scoped) {
158
+ console.log(`Platform: ${status.platform}`);
159
+ console.log(`Sandbox supported: ${status.sandboxSupported}`);
160
+ console.log(`Enforcement supported: ${status.enforcementSupported}`);
161
+ printLinuxHostHuman(status.linuxHost);
162
+ console.log(
163
+ `Boundary policy: ${status.boundaryPolicy.effective} (${status.boundaryPolicy.envKey}=${status.boundaryPolicy.envValue ?? "unset"})`
164
+ );
165
+ if (status.providers.length === 0) {
166
+ console.log("");
167
+ console.log("Info: no provider scope. Use --provider <id> or --all for per-provider state.");
168
+ return;
169
+ }
170
+ for (const p of status.providers) {
171
+ console.log("");
172
+ console.log(`Provider: ${p.providerId}`);
173
+ console.log(` Sandbox enabled: ${p.sandboxEnabled}`);
174
+ console.log(` Will be active: ${p.willBeActive}`);
175
+ console.log(` Enforcement operational: ${p.enforcementOperational}`);
176
+ console.log(` Provenance: ${p.provenance}`);
177
+ if (!p.capability) {
178
+ console.log(" Capability: not probed (run with --probe to test writability)");
179
+ } else {
180
+ console.log(` Capability: ${p.capability.capable ? "capable" : "denied"}`);
181
+ if (!p.capability.capable && p.capability.missingPaths.length > 0) {
182
+ console.log(` Missing paths: ${p.capability.missingPaths.join(", ")}`);
183
+ }
184
+ }
185
+ }
186
+ void scoped;
187
+ }
188
+ function printLinuxHostClassification(resolution, json) {
189
+ if (json) {
190
+ console.log(JSON.stringify(resolution, null, 2));
191
+ if (resolution.hostClass === "desktop-unacked") {
192
+ throw new ExitCodeError(1, formatLinuxDesktopConsentFailure(resolution));
193
+ }
194
+ return;
195
+ }
196
+ const linuxHost = toSandboxLinuxHostStatus(resolution);
197
+ console.log(`Platform: ${resolution.platform}`);
198
+ printLinuxHostHuman(linuxHost);
199
+ console.log("Evidence:");
200
+ console.log(` durableHostClass: ${resolution.evidence.durableHostClass}`);
201
+ console.log(` envHostClass: ${resolution.evidence.envHostClass}`);
202
+ console.log(` containerAttested: ${resolution.evidence.containerAttested}`);
203
+ console.log(` containerOsSignal: ${resolution.evidence.containerOsSignal}`);
204
+ console.log(` ciVendor: ${resolution.evidence.ciVendor}`);
205
+ console.log(` cloudAgent: ${resolution.evidence.cloudAgent}`);
206
+ console.log(` hypervisorHint: ${resolution.evidence.hypervisorHint}`);
207
+ if (resolution.hostClass === "desktop-unacked") {
208
+ process.stderr.write(`${LINUX_DESKTOP_RISK_PARAGRAPH}
209
+ `);
210
+ if (resolution.evidence.hypervisorHint) {
211
+ process.stderr.write(
212
+ `
213
+ This host looks like a VM (${resolution.evidence.hypervisorHint}). If it is a dedicated isolated instance, run:
214
+ poetic sandbox trust linux --host isolated
215
+ `
216
+ );
217
+ }
218
+ process.stderr.write(`
219
+ ${formatLinuxDesktopConsentFailure(resolution)}
220
+ `);
221
+ throw new ExitCodeError(1, formatLinuxDesktopConsentFailure(resolution));
222
+ }
223
+ const note = resolution.note ?? formatLinuxHostClassNote(resolution);
224
+ if (note) {
225
+ console.log(`Info: ${note}`);
226
+ }
227
+ }
228
+ function runSandboxClassify(options = {}) {
229
+ const resolution = resolveLinuxHostForCli(options);
230
+ printLinuxHostClassification(resolution, options.json === true);
231
+ }
232
+ function refuseDarwinLinuxHostMutation(platform) {
233
+ if (platform !== "darwin") return;
234
+ process.stderr.write(`${LINUX_DARWIN_HOST_REFUSAL}
235
+ `);
236
+ throw new ExitCodeError(1, LINUX_DARWIN_HOST_REFUSAL);
237
+ }
238
+ function runSandboxTrustLinux(options) {
239
+ const platform = options.platform ?? os.platform();
240
+ const host = options.host?.trim();
241
+ const ackDesktop = options.ackDesktop === true;
242
+ const revoke = options.revoke === true;
243
+ if (host && host !== "isolated") {
244
+ const message = "Error: --host only accepts isolated.";
245
+ process.stderr.write(`${message}
246
+ `);
247
+ throw new ExitCodeError(1, message);
248
+ }
249
+ if (host === "isolated" && ackDesktop) {
250
+ const message = "Error: --host isolated and --ack-desktop are mutually exclusive.";
251
+ process.stderr.write(`${message}
252
+ `);
253
+ throw new ExitCodeError(1, message);
254
+ }
255
+ if (revoke && (host === "isolated" || ackDesktop)) {
256
+ const message = "Error: --revoke cannot be combined with --host or --ack-desktop.";
257
+ process.stderr.write(`${message}
258
+ `);
259
+ throw new ExitCodeError(1, message);
260
+ }
261
+ if (!revoke && host !== "isolated" && !ackDesktop) {
262
+ const message = "Error: specify --host isolated, --ack-desktop, or --revoke.";
263
+ process.stderr.write(`${message}
264
+ `);
265
+ throw new ExitCodeError(1, message);
266
+ }
267
+ refuseDarwinLinuxHostMutation(platform);
268
+ const writeInput = {
269
+ source: "cli",
270
+ ...options.env ? { env: options.env } : {},
271
+ ...options.stateDir ? { stateDir: options.stateDir } : {}
272
+ };
273
+ if (revoke) {
274
+ revokeLinuxHostPolicy({
275
+ ...options.stateDir ? { stateDir: options.stateDir } : {}
276
+ });
277
+ console.log("Info: revoked Linux host-class policy for this user state.");
278
+ return;
279
+ }
280
+ if (host === "isolated") {
281
+ writeLinuxHostPolicy({
282
+ hostClass: "isolated",
283
+ ...writeInput
284
+ });
285
+ console.log("Info: recorded Linux host class isolated for this user state.");
286
+ return;
287
+ }
288
+ process.stderr.write(`${LINUX_DESKTOP_RISK_PARAGRAPH}
289
+ `);
290
+ writeLinuxHostPolicy({
291
+ hostClass: "desktop",
292
+ ...writeInput
293
+ });
294
+ console.log("Info: recorded Linux desktop write consent for this user state.");
295
+ }
296
+ function collectCommandPathNames(command) {
297
+ const names = [];
298
+ let current = command;
299
+ while (current?.parent) {
300
+ const name = current.name();
301
+ if (name) names.unshift(name);
302
+ current = current.parent;
303
+ }
304
+ return names;
305
+ }
306
+ function isWriteCapableCommand(commandNames) {
307
+ const root = commandNames[0];
308
+ if (!root || NEVER_PROMPT_ROOTS.has(root)) return false;
309
+ if (!WRITE_CAPABLE_ROOTS.has(root)) return false;
310
+ if (root === "sprint") return commandNames.includes("run");
311
+ if (root === "backlog") return commandNames.includes("execute");
312
+ if (root === "plan") {
313
+ if (commandNames.includes("execute")) return true;
314
+ if (commandNames.includes("sprint") && commandNames.includes("run")) return true;
315
+ return commandNames.length === 1;
316
+ }
317
+ return true;
318
+ }
319
+ function shouldPromptLinuxDesktopConsent(options) {
320
+ const platform = options.platform ?? os.platform();
321
+ if (platform !== "linux") return false;
322
+ if (options.hostClass !== "desktop-unacked") return false;
323
+ if (options.isTTY !== true) return false;
324
+ return isWriteCapableCommand(options.commandNames);
325
+ }
326
+ async function confirmYesNoViaReadline(question) {
327
+ const readline = await import("readline");
328
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
329
+ try {
330
+ const answer = await new Promise((resolve) => {
331
+ rl.question(question, (value) => resolve(value));
332
+ });
333
+ const normalized = answer.trim().toLowerCase();
334
+ return normalized === "y" || normalized === "yes";
335
+ } finally {
336
+ rl.close();
337
+ }
338
+ }
339
+ async function maybePromptLinuxDesktopConsent(options) {
340
+ const platform = options.platform ?? os.platform();
341
+ const isTTY = options.isTTY ?? Boolean(process.stdin.isTTY === true && process.stdout.isTTY === true);
342
+ const resolution = resolveLinuxHostForCli({
343
+ ...options.env ? { env: options.env } : {},
344
+ ...options.stateDir ? { stateDir: options.stateDir } : {}
345
+ });
346
+ if (!shouldPromptLinuxDesktopConsent({
347
+ commandNames: options.commandNames,
348
+ hostClass: resolution.hostClass,
349
+ isTTY,
350
+ platform
351
+ })) {
352
+ return;
353
+ }
354
+ process.stderr.write(`${LINUX_DESKTOP_RISK_PARAGRAPH}
355
+ `);
356
+ if (resolution.evidence.hypervisorHint) {
357
+ process.stderr.write(
358
+ `
359
+ This host looks like a VM (${resolution.evidence.hypervisorHint}). If it is a dedicated isolated instance, run:
360
+ poetic sandbox trust linux --host isolated
361
+ `
362
+ );
363
+ }
364
+ const confirm = options.confirm ?? confirmYesNoViaReadline;
365
+ const accepted = await confirm("Proceed and remember this consent for this user state? [y/N] ");
366
+ if (accepted) {
367
+ writeLinuxHostPolicy({
368
+ hostClass: "desktop",
369
+ source: "cli",
370
+ ...options.env ? { env: options.env } : {},
371
+ ...options.stateDir ? { stateDir: options.stateDir } : {}
372
+ });
373
+ return;
374
+ }
375
+ const message = formatLinuxDesktopConsentFailure(resolution);
376
+ process.stderr.write(`${message}
377
+ `);
378
+ throw new ExitCodeError(1, message);
379
+ }
380
+ async function offerLinuxDesktopTrustIfInteractive(options = {}) {
381
+ const platform = options.platform ?? os.platform();
382
+ const isTTY = options.isTTY ?? Boolean(process.stdin.isTTY === true && process.stdout.isTTY === true);
383
+ if (platform !== "linux" || !isTTY) return "not-needed";
384
+ const resolution = resolveLinuxHostForCli({
385
+ ...options.env ? { env: options.env } : {},
386
+ ...options.stateDir ? { stateDir: options.stateDir } : {}
387
+ });
388
+ if (resolution.hostClass !== "desktop-unacked") return "not-needed";
389
+ console.log("Info: this user state will need write consent before poetic run.");
390
+ process.stderr.write(`${LINUX_DESKTOP_RISK_PARAGRAPH}
391
+ `);
392
+ const confirm = options.confirm ?? confirmYesNoViaReadline;
393
+ const accepted = await confirm("Record desktop write consent for this user state now? [y/N] ");
394
+ if (!accepted) {
395
+ console.log(
396
+ "Info: skipped. Before poetic run: poetic sandbox trust linux --ack-desktop\nIf this is a VM, container, or cloud instance: poetic sandbox trust linux --host isolated"
397
+ );
398
+ return "skipped";
399
+ }
400
+ writeLinuxHostPolicy({
401
+ hostClass: "desktop",
402
+ source: "cli",
403
+ ...options.env ? { env: options.env } : {},
404
+ ...options.stateDir ? { stateDir: options.stateDir } : {}
405
+ });
406
+ console.log("Info: recorded Linux desktop write consent for this user state.");
407
+ return "acked";
408
+ }
409
+ function createSandboxCommand() {
410
+ const sandbox = new Command("sandbox").description(
411
+ "Inspect sandbox state and declare Linux host-class write policy"
412
+ );
413
+ sandbox.command("status").description("Show resolved sandbox boundary/provenance state (read-only by default)").option("--provider <id>", "Scope to a single provider id").option("--all", "Show all known providers").option("--json", "Output as JSON").option(
414
+ "--probe",
415
+ "Run the active write-probe (PERFORMS WRITES: creates+removes a probe file under each provider state dir; reflects live CODEX_HOME/XDG_*)"
416
+ ).action((options) => {
417
+ const status = buildSandboxStatus({
418
+ provider: options.provider,
419
+ all: options.all,
420
+ probe: options.probe
421
+ });
422
+ if (options.json) {
423
+ console.log(JSON.stringify(status, null, 2));
424
+ return;
425
+ }
426
+ printHuman(status, Boolean(options.provider));
427
+ });
428
+ sandbox.command("classify").description("Dry-run Linux host-class resolution (no writes)").option("--json", "Output as JSON").action((options) => {
429
+ runSandboxClassify({ json: options.json === true });
430
+ });
431
+ const trust = sandbox.command("trust").description("Persist or revoke the user-scoped Linux host-class policy");
432
+ trust.command("linux").description("Declare this Linux host isolated, acknowledge desktop risk, or revoke").option("--host <class>", "Persist host class (isolated)").option("--ack-desktop", "Print the risk paragraph and persist desktop consent").option("--revoke", "Delete the durable Linux host-class file").action((options) => {
433
+ runSandboxTrustLinux({
434
+ host: options.host,
435
+ ackDesktop: options.ackDesktop === true,
436
+ revoke: options.revoke === true
437
+ });
438
+ });
439
+ return sandbox;
440
+ }
441
+
442
+ export {
443
+ LINUX_DARWIN_HOST_REFUSAL,
444
+ LINUX_DESKTOP_RISK_PARAGRAPH,
445
+ resolveLinuxHostForCli,
446
+ toSandboxLinuxHostStatus,
447
+ formatLinuxHostAck,
448
+ buildSandboxStatus,
449
+ printLinuxHostClassification,
450
+ runSandboxClassify,
451
+ runSandboxTrustLinux,
452
+ collectCommandPathNames,
453
+ isWriteCapableCommand,
454
+ shouldPromptLinuxDesktopConsent,
455
+ maybePromptLinuxDesktopConsent,
456
+ offerLinuxDesktopTrustIfInteractive,
457
+ createSandboxCommand
458
+ };
459
+ //# sourceMappingURL=chunk-RAK5HOIJ.js.map
@@ -0,0 +1,168 @@
1
+ import {
2
+ ProviderRegistry
3
+ } from "./chunk-AT4TNPWW.js";
4
+
5
+ // src/core/anchored-chat/capabilities.ts
6
+ var ANCHORED_CHAT_FEATURE_ENV = "POETIC_TUI_ANCHOR";
7
+ var CLAUDE_CONVERSATION = {
8
+ operations: ["start", "load/resume", "prompt", "cancel"],
9
+ output: "streaming",
10
+ readOnly: "enforced"
11
+ };
12
+ var CURSOR_CONVERSATION = {
13
+ operations: ["start", "load/resume", "prompt", "cancel"],
14
+ output: "buffered",
15
+ readOnly: "enforced",
16
+ qualification: "version"
17
+ };
18
+ var CODEX_CONVERSATION = {
19
+ operations: ["start", "prompt", "cancel"],
20
+ output: "buffered",
21
+ readOnly: "enforced"
22
+ };
23
+ var ANCHORED_PROVIDER_CAPABILITIES = {
24
+ claude: {
25
+ provider: "claude",
26
+ nativeResume: true,
27
+ readOnlyEnforced: true,
28
+ transcriptStrategy: "native-resume",
29
+ stability: "stable",
30
+ requiresQa: false,
31
+ conversation: CLAUDE_CONVERSATION
32
+ },
33
+ cursor: {
34
+ provider: "cursor",
35
+ nativeResume: true,
36
+ readOnlyEnforced: true,
37
+ transcriptStrategy: "native-resume",
38
+ stability: "experimental",
39
+ requiresQa: true,
40
+ conversation: CURSOR_CONVERSATION
41
+ },
42
+ codex: {
43
+ provider: "codex",
44
+ nativeResume: false,
45
+ readOnlyEnforced: true,
46
+ transcriptStrategy: "poetic-last-n",
47
+ stability: "stable",
48
+ requiresQa: false,
49
+ conversation: CODEX_CONVERSATION
50
+ },
51
+ gemini: {
52
+ provider: "gemini",
53
+ nativeResume: false,
54
+ readOnlyEnforced: false,
55
+ transcriptStrategy: "poetic-last-n",
56
+ stability: "experimental",
57
+ requiresQa: true
58
+ },
59
+ opencode: {
60
+ provider: "opencode",
61
+ nativeResume: false,
62
+ readOnlyEnforced: false,
63
+ transcriptStrategy: "poetic-last-n",
64
+ stability: "experimental",
65
+ requiresQa: true
66
+ }
67
+ };
68
+ function isAnchoredChatEnabled(env = process.env) {
69
+ const value = env[ANCHORED_CHAT_FEATURE_ENV];
70
+ if (value === void 0) return true;
71
+ const normalized = value.trim().toLowerCase();
72
+ return !(normalized === "0" || normalized === "false" || normalized === "off");
73
+ }
74
+ function getAnchoredProviderCapability(provider) {
75
+ const builtIn = ANCHORED_PROVIDER_CAPABILITIES[provider];
76
+ if (builtIn) return builtIn;
77
+ const declared = registryConversationCapability(provider);
78
+ if (!declared) {
79
+ throw new Error(`Provider ${provider} does not declare TUI conversation capabilities.`);
80
+ }
81
+ const nativeResume = declared.operations.includes("load/resume");
82
+ return {
83
+ provider,
84
+ nativeResume,
85
+ readOnlyEnforced: declared.readOnly === "enforced",
86
+ transcriptStrategy: nativeResume ? "native-resume" : "poetic-last-n",
87
+ stability: "experimental",
88
+ requiresQa: declared.qualification !== void 0,
89
+ conversation: declared
90
+ };
91
+ }
92
+ function resolveTuiConversationCapability(provider, registryCapability) {
93
+ if (registryCapability) {
94
+ return {
95
+ operations: registryCapability.operations,
96
+ output: registryCapability.output,
97
+ readOnly: registryCapability.read_only,
98
+ qualification: registryCapability.qualification
99
+ };
100
+ }
101
+ return isAnchoredChatProvider(provider) ? getAnchoredProviderCapability(provider).conversation : void 0;
102
+ }
103
+ function isAnchoredChatProvider(value) {
104
+ return value in ANCHORED_PROVIDER_CAPABILITIES || registryConversationCapability(value) !== void 0;
105
+ }
106
+ function listAnchoredChatProviders() {
107
+ const configured = safelyGetEnabledProviderIds().filter(
108
+ (provider) => registryConversationCapability(provider) !== void 0
109
+ );
110
+ return [.../* @__PURE__ */ new Set([...Object.keys(ANCHORED_PROVIDER_CAPABILITIES), ...configured])];
111
+ }
112
+ function listEnforcedAnchorProviders() {
113
+ return listAnchoredChatProviders().filter((provider) => {
114
+ try {
115
+ return getAnchoredProviderCapability(provider).readOnlyEnforced;
116
+ } catch {
117
+ return false;
118
+ }
119
+ });
120
+ }
121
+ function isEnforcedAnchorProvider(value) {
122
+ if (!isAnchoredChatProvider(value)) return false;
123
+ try {
124
+ return getAnchoredProviderCapability(value).readOnlyEnforced;
125
+ } catch {
126
+ return false;
127
+ }
128
+ }
129
+ function registryConversationCapability(provider) {
130
+ try {
131
+ const declared = ProviderRegistry.getProviderConfig(provider).capabilities.tui_conversation;
132
+ if (!declared) return void 0;
133
+ return {
134
+ operations: declared.operations,
135
+ output: declared.output,
136
+ readOnly: declared.read_only,
137
+ qualification: declared.qualification
138
+ };
139
+ } catch {
140
+ return void 0;
141
+ }
142
+ }
143
+ function safelyGetEnabledProviderIds() {
144
+ try {
145
+ return ProviderRegistry.getEnabledProviders().map((provider) => provider.id);
146
+ } catch {
147
+ return [];
148
+ }
149
+ }
150
+ function formatEnforcedAnchorProviderList() {
151
+ const providers = listEnforcedAnchorProviders();
152
+ if (providers.length <= 1) return providers.join("");
153
+ const head = providers.slice(0, -1).join(", ");
154
+ return `${head}, or ${providers[providers.length - 1]}`;
155
+ }
156
+
157
+ export {
158
+ ANCHORED_CHAT_FEATURE_ENV,
159
+ ANCHORED_PROVIDER_CAPABILITIES,
160
+ isAnchoredChatEnabled,
161
+ getAnchoredProviderCapability,
162
+ resolveTuiConversationCapability,
163
+ isAnchoredChatProvider,
164
+ listAnchoredChatProviders,
165
+ isEnforcedAnchorProvider,
166
+ formatEnforcedAnchorProviderList
167
+ };
168
+ //# sourceMappingURL=chunk-RDFRCT64.js.map
@@ -0,0 +1,58 @@
1
+ // src/core/providers/routing/generated/provider-concurrency.ts
2
+ var GENERATED_PROVIDER_CONCURRENCY = {
3
+ claude: {
4
+ maxConcurrent: 2,
5
+ hybridBatching: false,
6
+ rationale: "Two concurrent local Claude CLI subprocesses - the shared local-provider baseline. This is a process count, not a request rate, so it does not encode the quota of any one backend or account. It is also not a promise about throughput, since an account that cannot sustain two concurrent runs surfaces its own throttling error from the provider CLI, after which the operator lowers this value. The observed-rate-limit penalty is a mitigation within a single run, not a justification for this number - it is reactive, recorded only after a leg completes, process-local, and matched on error text that does not cover every backend phrasing, so it cannot stop the first two legs from starting. Increase in user provider config after validating host resources and account quota."
7
+ },
8
+ codex: {
9
+ maxConcurrent: 2,
10
+ hybridBatching: false,
11
+ rationale: "Codex runs as a local CLI subprocess. Limit concurrency to the provider memory budget of two processes to avoid local CPU, memory, and state contention."
12
+ },
13
+ cursor: {
14
+ maxConcurrent: 2,
15
+ hybridBatching: false,
16
+ rationale: "Baseline local-provider concurrency. The previous 1 was justified by matching the max_processes budget below, but that field has no runtime consumer - Memory Guardian reads only the warn/critical/emergency thresholds in this block - so the two were never reconciled at runtime and agreement between them was never enforcing anything. No measured per-seat licensing or host-resource limit is known that distinguishes Cursor from the other local CLI providers, so it takes the shared baseline. Lower it in user provider config if a seat limit surfaces from the provider CLI."
17
+ },
18
+ grok: {
19
+ maxConcurrent: 2,
20
+ hybridBatching: false,
21
+ rationale: 'Baseline local-provider concurrency. The previous 1 deferred to "broader smoke/A-B data", which was never gathered, so it was indefinite caution rather than a measured limit. Grok CLI also supports native subagent fanout, which multiplies WITHIN a single leg and is opt-in, so this number bounds Poetic-owned processes only and is independent of that fanout. Lower it in user provider config if host contention appears when subagents are enabled.'
22
+ },
23
+ opencode: {
24
+ maxConcurrent: 2,
25
+ hybridBatching: false,
26
+ rationale: "Baseline local-provider concurrency. OpenCode executes through a local CLI process model (one subprocess per run) with the same host cost profile as the other local providers, so it takes the shared baseline rather than a higher number. This LOWERS the previous default of 5, which was never measured and was the outlier in this file - it also exceeded the max_processes budget declared below, a contradiction nothing detected because that field has no runtime consumer. Raise it in user provider config after validating host resources and upstream API quota. No internal batching support."
27
+ },
28
+ antigravity: {
29
+ maxConcurrent: 1,
30
+ hybridBatching: false,
31
+ rationale: "Google Antigravity CLI runs a local agent process with workspace tools and subagents. Keep default concurrency at one until workspace edit behavior is validated, to avoid competing file edits and local resource contention."
32
+ },
33
+ copilot: {
34
+ maxConcurrent: 2,
35
+ hybridBatching: false,
36
+ rationale: "Baseline local-provider concurrency. Copilot CLI runs locally with per-seat licensing and the same host cost profile as the other local providers. This LOWERS the previous default of 3, which exceeded the max_processes budget declared below - a contradiction nothing detected because that field has no runtime consumer. Raise it in user provider config after validating host resources and seat entitlement."
37
+ },
38
+ kiro: {
39
+ maxConcurrent: 1,
40
+ hybridBatching: false,
41
+ rationale: "Kiro CLI headless mode runs a local agent process with workspace tools. Keep default concurrency at one while experimental to avoid competing file edits and local resource contention."
42
+ },
43
+ gemini: {
44
+ maxConcurrent: 1,
45
+ hybridBatching: true,
46
+ rationale: "The only local provider below the shared baseline of 2. This was previously described as a CORRECTNESS ceiling on the grounds that concurrent Gemini CLI processes share mutable state under ~/.gemini because the CLI ignores GEMINI_CONFIG_DIR. That reasoning is now obsolete, because the parallel executor gives each worktree an isolated HOME and restores per-process isolation by a different mechanism than the one that broke. So this is unverified caution rather than a correctness requirement - two concurrent Gemini legs have simply never been exercised. Raise it to the baseline after one live 2-concurrent run confirms the isolated HOME holds. Internal batching remains enabled and is unaffected."
47
+ },
48
+ pi: {
49
+ maxConcurrent: 1,
50
+ hybridBatching: false,
51
+ rationale: "Pi runs a local agent process with workspace edit tools against an operator-configured backend of unknown rate limits. Keep concurrency at one while experimental to avoid competing file edits."
52
+ }
53
+ };
54
+
55
+ export {
56
+ GENERATED_PROVIDER_CONCURRENCY
57
+ };
58
+ //# sourceMappingURL=chunk-RE5VZDFQ.js.map