@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.
- package/.github/SECURITY.md +47 -0
- package/.nvmrc +1 -0
- package/.poetic/README.md +37 -0
- package/.poetic/providers/catalog.json +12051 -0
- package/.poetic/providers/pricing.json +1272 -0
- package/.poetic/providers/registry.json +3369 -0
- package/CHANGELOG.md +552 -0
- package/CODE_OF_CONDUCT.md +40 -0
- package/CONTRIBUTING.md +23 -0
- package/INSTALL.md +454 -0
- package/LICENSE +21 -0
- package/README.md +474 -0
- package/dist/BasicOptimizationCompetitionRunner-5H5TBYO4.js +153 -0
- package/dist/ExecutionTracker-UVONC4C6.js +16 -0
- package/dist/OptimizationConfig-7DFY2TST.js +17 -0
- package/dist/OptimizationEngine-MXTSOSST.js +1597 -0
- package/dist/PromptStore-U6ZD3ZMQ.js +18 -0
- package/dist/actions-M3AESHFF.js +322 -0
- package/dist/agent-ingest-HO77TH26.js +53 -0
- package/dist/aggregator-DNCBINFO.js +12 -0
- package/dist/ai-judge-LDWHURKK.js +156 -0
- package/dist/allowlist-grounding-RO6HKUFI.js +16 -0
- package/dist/allowlist-utils-23V7TJ3G.js +28 -0
- package/dist/anchored-turn-service-GFYU6GCQ.js +489 -0
- package/dist/api-transport-FS3CQRMN.js +1087 -0
- package/dist/apply-completion-mode-JBT2CTQO.js +89 -0
- package/dist/artifact-migrator-23L45ISD.js +267 -0
- package/dist/ask-UYVZY7JH.js +135 -0
- package/dist/auth-CSQP5RHJ.js +67 -0
- package/dist/auth-E6XUNZ5M.js +68 -0
- package/dist/auth-KQLJPZ2E.js +134 -0
- package/dist/auth-OC4E6633.js +71 -0
- package/dist/auth-R3NQ2ZF5.js +78 -0
- package/dist/auth-S4CTX4GQ.js +44 -0
- package/dist/auth-YLH3S7EY.js +69 -0
- package/dist/auth-liveness-TDDEZY3T.js +46 -0
- package/dist/auto-optimizer-HA3T23SF.js +80 -0
- package/dist/autoloop-cleanup-JOGKTLWA.js +109 -0
- package/dist/autoloop-evidence-gates-ACB5YW5G.js +36 -0
- package/dist/autoloop-gate-policy-XZA5EQFN.js +175 -0
- package/dist/autoloop-helpers-EFJLBQUP.js +22 -0
- package/dist/autoloop-ledger-W7QO62PX.js +96 -0
- package/dist/autoloop-ledger-subscriber-Z5RW5EIE.js +162 -0
- package/dist/autoloop-run-defaults-FERGRZGP.js +19 -0
- package/dist/autoloop-run-lock-CT2NWSV3.js +197 -0
- package/dist/autoloop-success-OPR74YEX.js +85 -0
- package/dist/autoloop-termination-summary-RN75F422.js +58 -0
- package/dist/autoloop-trajectory-K5I45UBR.js +282 -0
- package/dist/autoloop-wall-clock-T7ZVIQOC.js +12 -0
- package/dist/autonomous-loop-controller-4QJMOIIN.js +4120 -0
- package/dist/backend-P3DAYRP7.js +29 -0
- package/dist/background-executor-CBN552V4.js +257 -0
- package/dist/backlog-execution-intent-U4XYPTV6.js +15 -0
- package/dist/backup-active-store-5WXG6SXT.js +17 -0
- package/dist/backup-telemetry-db-XGLXAA3N.js +254 -0
- package/dist/basic-competition-master-WXZHUT42.js +344 -0
- package/dist/branch-archive-manager-RP6FP3ZC.js +254 -0
- package/dist/branch-cleanup-manager-RSHAI7YR.js +20 -0
- package/dist/build-gate-YFASRB5Z.js +71 -0
- package/dist/change-summary-WY7J5TOX.js +33 -0
- package/dist/chunk-25QL3M3L.js +899 -0
- package/dist/chunk-2ABC6SEC.js +2626 -0
- package/dist/chunk-2AICM4P3.js +1763 -0
- package/dist/chunk-2AQUWJPW.js +225 -0
- package/dist/chunk-2DY5KNVM.js +276 -0
- package/dist/chunk-2QJ3H3L7.js +42 -0
- package/dist/chunk-2UH6VQRZ.js +328 -0
- package/dist/chunk-2VSQMRCB.js +18 -0
- package/dist/chunk-2XQXYBM2.js +130 -0
- package/dist/chunk-2YFUIER7.js +426 -0
- package/dist/chunk-2YXZCZTX.js +1160 -0
- package/dist/chunk-32VLDFRT.js +797 -0
- package/dist/chunk-34CNP2HB.js +148 -0
- package/dist/chunk-35P3W3JX.js +456 -0
- package/dist/chunk-36PEBZAF.js +18 -0
- package/dist/chunk-3733QTI7.js +6818 -0
- package/dist/chunk-3A5PDH5L.js +12513 -0
- package/dist/chunk-3AOKYKA7.js +22 -0
- package/dist/chunk-3BCUNHKF.js +475 -0
- package/dist/chunk-3C26DPFK.js +566 -0
- package/dist/chunk-3FLXLLB7.js +26 -0
- package/dist/chunk-3FOZ2VHV.js +100 -0
- package/dist/chunk-3G6FZCRF.js +106 -0
- package/dist/chunk-3JWNRJSB.js +736 -0
- package/dist/chunk-3LUMR3D3.js +156 -0
- package/dist/chunk-3M57DADF.js +44 -0
- package/dist/chunk-3S62LLWJ.js +543 -0
- package/dist/chunk-3VABAKT2.js +1784 -0
- package/dist/chunk-44N5WZZH.js +45 -0
- package/dist/chunk-45FPSA3B.js +125 -0
- package/dist/chunk-4BIPZBT7.js +791 -0
- package/dist/chunk-4BJ3O4RQ.js +929 -0
- package/dist/chunk-4BTDUT2S.js +42 -0
- package/dist/chunk-4CSS7WVI.js +143 -0
- package/dist/chunk-4CUY7AFY.js +247 -0
- package/dist/chunk-4HN6DF7V.js +1027 -0
- package/dist/chunk-4HXKHDNH.js +1064 -0
- package/dist/chunk-4KKI477Q.js +44 -0
- package/dist/chunk-4NA7FSTV.js +595 -0
- package/dist/chunk-4NXPXE62.js +84 -0
- package/dist/chunk-4SALLK63.js +9831 -0
- package/dist/chunk-4SHKPCGK.js +110 -0
- package/dist/chunk-4VJITV4P.js +445 -0
- package/dist/chunk-4W2NRXQL.js +1205 -0
- package/dist/chunk-4XICK3HN.js +784 -0
- package/dist/chunk-55EJVV3C.js +385 -0
- package/dist/chunk-5DLKYTQX.js +4003 -0
- package/dist/chunk-5EERLVZB.js +139 -0
- package/dist/chunk-5HDP7XZG.js +91 -0
- package/dist/chunk-5LAMRH4X.js +969 -0
- package/dist/chunk-5REDMNLZ.js +310 -0
- package/dist/chunk-5UCJARII.js +1984 -0
- package/dist/chunk-5WCQRDRB.js +588 -0
- package/dist/chunk-5WRLK5KW.js +700 -0
- package/dist/chunk-66AGFTBQ.js +131 -0
- package/dist/chunk-66CIO2SV.js +48 -0
- package/dist/chunk-6BM72ZMG.js +31 -0
- package/dist/chunk-6BTFXYRO.js +276 -0
- package/dist/chunk-6EDAJH2I.js +68 -0
- package/dist/chunk-6EQKFDBH.js +457 -0
- package/dist/chunk-6KMJKHIQ.js +2193 -0
- package/dist/chunk-6MFRHTRI.js +115 -0
- package/dist/chunk-6QMUKUHH.js +632 -0
- package/dist/chunk-6TZJRKNW.js +321 -0
- package/dist/chunk-6V7HGQFZ.js +20 -0
- package/dist/chunk-6Y5TWI7H.js +146 -0
- package/dist/chunk-6Y5U7UFY.js +91 -0
- package/dist/chunk-6ZLAK3XG.js +14 -0
- package/dist/chunk-72XCRQED.js +34 -0
- package/dist/chunk-72YTZMAM.js +589 -0
- package/dist/chunk-73NCTWKL.js +188 -0
- package/dist/chunk-77I6G4CO.js +1 -0
- package/dist/chunk-7D7QT3BE.js +688 -0
- package/dist/chunk-7DNSNKJV.js +78 -0
- package/dist/chunk-7FMJVYBS.js +307 -0
- package/dist/chunk-7GDRQBQC.js +419 -0
- package/dist/chunk-7IL4A2PP.js +948 -0
- package/dist/chunk-7NPSXSHO.js +975 -0
- package/dist/chunk-7PS6INZP.js +302 -0
- package/dist/chunk-7QCZSLBH.js +1 -0
- package/dist/chunk-7R2WLDOS.js +62 -0
- package/dist/chunk-7XV3QXLT.js +878 -0
- package/dist/chunk-A2WKSVX7.js +43 -0
- package/dist/chunk-A3YGID55.js +133 -0
- package/dist/chunk-A5MRWHMI.js +1604 -0
- package/dist/chunk-A722DEVA.js +14 -0
- package/dist/chunk-AG2Z2SUZ.js +554 -0
- package/dist/chunk-AHWAZ2MU.js +137 -0
- package/dist/chunk-AIAQ3HS3.js +119 -0
- package/dist/chunk-ALAB3PBR.js +2206 -0
- package/dist/chunk-APPNGGN7.js +365 -0
- package/dist/chunk-APV6MK5E.js +137 -0
- package/dist/chunk-AQNPGRWS.js +395 -0
- package/dist/chunk-ASEP3M2W.js +968 -0
- package/dist/chunk-AT4TNPWW.js +2931 -0
- package/dist/chunk-ATVKCSGT.js +250 -0
- package/dist/chunk-AX6GWE7V.js +47 -0
- package/dist/chunk-AZQILSNQ.js +1376 -0
- package/dist/chunk-B76KHLX6.js +13 -0
- package/dist/chunk-BAV2HJXS.js +194 -0
- package/dist/chunk-BBHRN366.js +89 -0
- package/dist/chunk-BCZAENOH.js +448 -0
- package/dist/chunk-BIGSACCY.js +19527 -0
- package/dist/chunk-BPYMCIVD.js +9243 -0
- package/dist/chunk-BSE4R6XD.js +322 -0
- package/dist/chunk-BVPWRDCO.js +2321 -0
- package/dist/chunk-BXI4NXL3.js +507 -0
- package/dist/chunk-C3L6YQ7P.js +147 -0
- package/dist/chunk-C57KJOUQ.js +121 -0
- package/dist/chunk-CCV7BPSY.js +118 -0
- package/dist/chunk-CD7ISXA4.js +826 -0
- package/dist/chunk-CE5OZBYY.js +21 -0
- package/dist/chunk-CFBIG37O.js +154 -0
- package/dist/chunk-CHQV73H5.js +408 -0
- package/dist/chunk-CJC6GZ46.js +457 -0
- package/dist/chunk-CJHRFSNY.js +924 -0
- package/dist/chunk-CKP2Q3TP.js +1905 -0
- package/dist/chunk-CLKSETWE.js +10 -0
- package/dist/chunk-CQM3A35X.js +844 -0
- package/dist/chunk-CSLAS5GW.js +4007 -0
- package/dist/chunk-CTLUBNCW.js +622 -0
- package/dist/chunk-CVMVZWG4.js +3544 -0
- package/dist/chunk-CYB6QDCT.js +263 -0
- package/dist/chunk-D5EP5D2W.js +26 -0
- package/dist/chunk-DC4ZYMXJ.js +115 -0
- package/dist/chunk-DCAVAABI.js +348 -0
- package/dist/chunk-DCYF7EKG.js +26 -0
- package/dist/chunk-DF5SLDE4.js +966 -0
- package/dist/chunk-DN7UMLF7.js +5678 -0
- package/dist/chunk-DSFM56OA.js +1203 -0
- package/dist/chunk-DTY4APYV.js +218 -0
- package/dist/chunk-E3NTPHEO.js +194 -0
- package/dist/chunk-E74LUIID.js +302 -0
- package/dist/chunk-EJ42BNGY.js +2904 -0
- package/dist/chunk-EJ4ZAWLV.js +305 -0
- package/dist/chunk-EJGCZGUF.js +1483 -0
- package/dist/chunk-EK2U3YEG.js +486 -0
- package/dist/chunk-ELMFYNV7.js +109 -0
- package/dist/chunk-ENRGKNR5.js +25 -0
- package/dist/chunk-EQGIDAUF.js +62 -0
- package/dist/chunk-EX3OM35G.js +20414 -0
- package/dist/chunk-F5JO7HAS.js +94 -0
- package/dist/chunk-F7ER6ANO.js +174 -0
- package/dist/chunk-FATUVIIN.js +374 -0
- package/dist/chunk-FC23CTXV.js +322 -0
- package/dist/chunk-FCNAS3W2.js +1033 -0
- package/dist/chunk-FD4ERYEG.js +22 -0
- package/dist/chunk-FDVZLG6Z.js +3104 -0
- package/dist/chunk-FEPIFY7D.js +511 -0
- package/dist/chunk-FEQ4HXL7.js +412 -0
- package/dist/chunk-FFH5HHJU.js +5351 -0
- package/dist/chunk-FH7WOJAE.js +79 -0
- package/dist/chunk-FKAUPHMR.js +96 -0
- package/dist/chunk-FRG57FPM.js +240 -0
- package/dist/chunk-FUVP64ER.js +31 -0
- package/dist/chunk-G2PTLLEL.js +284 -0
- package/dist/chunk-G35UYQ6Z.js +69 -0
- package/dist/chunk-G36W2T2S.js +1143 -0
- package/dist/chunk-G4THLFV3.js +148 -0
- package/dist/chunk-GAFJEYLK.js +29 -0
- package/dist/chunk-GCCAPO3S.js +118 -0
- package/dist/chunk-GG6KJYW6.js +85 -0
- package/dist/chunk-GHHFDU2U.js +55 -0
- package/dist/chunk-GHTZSQB7.js +57 -0
- package/dist/chunk-GJTWJNLV.js +1374 -0
- package/dist/chunk-GKN3HMN4.js +2809 -0
- package/dist/chunk-GNH3QGTL.js +1342 -0
- package/dist/chunk-GOAQ2I7Y.js +7000 -0
- package/dist/chunk-GSGD5E4C.js +30 -0
- package/dist/chunk-GXWAJQOJ.js +5011 -0
- package/dist/chunk-H2AYQIHW.js +224 -0
- package/dist/chunk-H6G7QRMQ.js +35 -0
- package/dist/chunk-H7JAGHZT.js +59 -0
- package/dist/chunk-HAC6EHZZ.js +79 -0
- package/dist/chunk-HE2KH6EQ.js +161 -0
- package/dist/chunk-HIHENQDX.js +66 -0
- package/dist/chunk-HIO33P3G.js +19 -0
- package/dist/chunk-HK4AQZSR.js +438 -0
- package/dist/chunk-HMVQIPH3.js +547 -0
- package/dist/chunk-HOYBYAOA.js +257 -0
- package/dist/chunk-HQLGXODD.js +123 -0
- package/dist/chunk-HQXYYUNY.js +1231 -0
- package/dist/chunk-HY3ESWCA.js +708 -0
- package/dist/chunk-I46EG2XQ.js +65 -0
- package/dist/chunk-I4NPDSCB.js +279 -0
- package/dist/chunk-I5WRT7ZR.js +514 -0
- package/dist/chunk-I6BL3PDH.js +1024 -0
- package/dist/chunk-IATQ7NBI.js +679 -0
- package/dist/chunk-IC7I6YIJ.js +301 -0
- package/dist/chunk-IDCSOZVN.js +78 -0
- package/dist/chunk-IEXU4RR6.js +5742 -0
- package/dist/chunk-IFCBYECK.js +112 -0
- package/dist/chunk-IFZCPEY2.js +66 -0
- package/dist/chunk-IKFP2KUR.js +48 -0
- package/dist/chunk-IP7BYVUV.js +338 -0
- package/dist/chunk-IRJ2I6KH.js +166 -0
- package/dist/chunk-IUXNGKA6.js +152 -0
- package/dist/chunk-IZYIQQ7X.js +53 -0
- package/dist/chunk-IZZK3H6I.js +2175 -0
- package/dist/chunk-J3J4P7RW.js +353 -0
- package/dist/chunk-J62KPGII.js +464 -0
- package/dist/chunk-J6P3FWWW.js +130 -0
- package/dist/chunk-JD6SIZED.js +712 -0
- package/dist/chunk-JEV6UI7H.js +537 -0
- package/dist/chunk-JKBHJQMT.js +434 -0
- package/dist/chunk-JLS65NUQ.js +14 -0
- package/dist/chunk-JOSYEJKY.js +141 -0
- package/dist/chunk-JPKSXKNB.js +94 -0
- package/dist/chunk-JQD5VYKR.js +483 -0
- package/dist/chunk-JSOWEFEQ.js +351 -0
- package/dist/chunk-JSWMRQYG.js +28 -0
- package/dist/chunk-K4XK7SGB.js +6783 -0
- package/dist/chunk-K54Y7MLK.js +160 -0
- package/dist/chunk-KAT4RXUT.js +521 -0
- package/dist/chunk-KDMKKIRK.js +103 -0
- package/dist/chunk-KM3F7SYE.js +702 -0
- package/dist/chunk-KNDYMVWN.js +102 -0
- package/dist/chunk-KNT72VR6.js +132 -0
- package/dist/chunk-KQEBSK3T.js +274 -0
- package/dist/chunk-KT6VHSPF.js +84 -0
- package/dist/chunk-KTMW65UX.js +14 -0
- package/dist/chunk-L4427KOE.js +26 -0
- package/dist/chunk-L6OM4A22.js +189 -0
- package/dist/chunk-L7E6XCRA.js +1042 -0
- package/dist/chunk-L7JZLXQL.js +173 -0
- package/dist/chunk-LAMKBTXX.js +40 -0
- package/dist/chunk-LDCF2MKN.js +132 -0
- package/dist/chunk-LEIIWPWQ.js +78 -0
- package/dist/chunk-LFTQVYBB.js +31 -0
- package/dist/chunk-LGHII5ET.js +23 -0
- package/dist/chunk-LH34OGSB.js +265 -0
- package/dist/chunk-LO3X5NLS.js +326 -0
- package/dist/chunk-LPITVM7M.js +339 -0
- package/dist/chunk-LR5IJIGV.js +810 -0
- package/dist/chunk-LUVKFFWR.js +315 -0
- package/dist/chunk-LWCBNGH6.js +35 -0
- package/dist/chunk-LWTN3WRV.js +260 -0
- package/dist/chunk-LZBBXYWF.js +1004 -0
- package/dist/chunk-M34PS4NE.js +2213 -0
- package/dist/chunk-M3HQYKQX.js +308 -0
- package/dist/chunk-MCPQNJMK.js +482 -0
- package/dist/chunk-MF5HP6XV.js +221 -0
- package/dist/chunk-MFADRRTR.js +112 -0
- package/dist/chunk-MN6PL4AN.js +120 -0
- package/dist/chunk-MQ4WA34C.js +206 -0
- package/dist/chunk-MTVZITQ2.js +185 -0
- package/dist/chunk-MWHF5V7U.js +223 -0
- package/dist/chunk-MWHLBPNU.js +211 -0
- package/dist/chunk-MWK5UZQ3.js +1068 -0
- package/dist/chunk-MYLH2S4G.js +64 -0
- package/dist/chunk-MZ5WYKNA.js +28 -0
- package/dist/chunk-N5DX4JAK.js +12 -0
- package/dist/chunk-NEDCMN7E.js +415 -0
- package/dist/chunk-NEQUQHOX.js +223 -0
- package/dist/chunk-NGK6PEOG.js +25 -0
- package/dist/chunk-NM6PMYY4.js +768 -0
- package/dist/chunk-NOZGR2QO.js +2373 -0
- package/dist/chunk-NP2V3L7K.js +226 -0
- package/dist/chunk-NPZJMUZ4.js +194 -0
- package/dist/chunk-NRLY536M.js +260 -0
- package/dist/chunk-NS33V3IM.js +51 -0
- package/dist/chunk-NWOYOA6H.js +378 -0
- package/dist/chunk-NWRUSEXG.js +322 -0
- package/dist/chunk-O6V4PNLO.js +63 -0
- package/dist/chunk-OGMSYL6J.js +227 -0
- package/dist/chunk-OIS7J26S.js +319 -0
- package/dist/chunk-OKBTRSZI.js +205 -0
- package/dist/chunk-OMX5VL43.js +79 -0
- package/dist/chunk-ON3G73BU.js +264 -0
- package/dist/chunk-OPYFYTWQ.js +220 -0
- package/dist/chunk-OQ6K46CK.js +1734 -0
- package/dist/chunk-OSDYVKHW.js +2440 -0
- package/dist/chunk-OUM5S64R.js +3429 -0
- package/dist/chunk-OWB7JXUS.js +751 -0
- package/dist/chunk-OYZYO7TV.js +47 -0
- package/dist/chunk-P47VN5F4.js +282 -0
- package/dist/chunk-P6VQROCO.js +594 -0
- package/dist/chunk-P7CQGPLS.js +30 -0
- package/dist/chunk-PA6BCSOX.js +2872 -0
- package/dist/chunk-PGSPX4SU.js +15 -0
- package/dist/chunk-PIKLF7BM.js +432 -0
- package/dist/chunk-PJWJ3SAV.js +22 -0
- package/dist/chunk-PKIFMV72.js +100 -0
- package/dist/chunk-PTH5E5XO.js +195 -0
- package/dist/chunk-PYITM4N2.js +79 -0
- package/dist/chunk-PZ5AY32C.js +10 -0
- package/dist/chunk-Q3RO7N35.js +45 -0
- package/dist/chunk-Q3WIC6GQ.js +2670 -0
- package/dist/chunk-QGJDMEOV.js +34 -0
- package/dist/chunk-QJYIHVXT.js +100 -0
- package/dist/chunk-QNOB37UH.js +58 -0
- package/dist/chunk-QOCOVLUH.js +462 -0
- package/dist/chunk-QTCJ5CC5.js +172 -0
- package/dist/chunk-QU6JQJMH.js +3063 -0
- package/dist/chunk-QVFV5IP2.js +232 -0
- package/dist/chunk-QVZMFDYG.js +29 -0
- package/dist/chunk-R2ZYWNW3.js +1581 -0
- package/dist/chunk-R4UWBC35.js +200 -0
- package/dist/chunk-R6W23LKN.js +254 -0
- package/dist/chunk-RAK5HOIJ.js +459 -0
- package/dist/chunk-RDFRCT64.js +168 -0
- package/dist/chunk-RE5VZDFQ.js +58 -0
- package/dist/chunk-RGROYC2G.js +638 -0
- package/dist/chunk-RGWHUI5E.js +68 -0
- package/dist/chunk-RHVG6UNL.js +205 -0
- package/dist/chunk-RI4EX2QE.js +18 -0
- package/dist/chunk-RIKFAWZF.js +71 -0
- package/dist/chunk-RJAAKDRX.js +17 -0
- package/dist/chunk-RSXSD4MH.js +1016 -0
- package/dist/chunk-RW7RVSDV.js +79 -0
- package/dist/chunk-RWREC3KJ.js +517 -0
- package/dist/chunk-RZY7RKM5.js +500 -0
- package/dist/chunk-S2MNWFAG.js +52 -0
- package/dist/chunk-S2VQCZO4.js +22 -0
- package/dist/chunk-S54MKU6V.js +117 -0
- package/dist/chunk-S77XPALC.js +239 -0
- package/dist/chunk-SCW4ZF6R.js +150 -0
- package/dist/chunk-SKHGYQ7W.js +405 -0
- package/dist/chunk-SNLBO4BF.js +247 -0
- package/dist/chunk-SP3LFU6B.js +60 -0
- package/dist/chunk-SQZRPY23.js +5181 -0
- package/dist/chunk-SSB5UQHA.js +4128 -0
- package/dist/chunk-STJOHHSF.js +605 -0
- package/dist/chunk-STV6LYYE.js +45 -0
- package/dist/chunk-SUN4OFTW.js +740 -0
- package/dist/chunk-SURZ2WFE.js +326 -0
- package/dist/chunk-SUZ7UYZH.js +1972 -0
- package/dist/chunk-SZ7DL357.js +1047 -0
- package/dist/chunk-T2SZELJL.js +624 -0
- package/dist/chunk-T6VPI2XP.js +10338 -0
- package/dist/chunk-TAJPCXSB.js +13 -0
- package/dist/chunk-TAOOYK3P.js +358 -0
- package/dist/chunk-TDSEX5CF.js +24 -0
- package/dist/chunk-TFTGP7Z7.js +174 -0
- package/dist/chunk-TGON4N4O.js +197 -0
- package/dist/chunk-TIBZPAD2.js +9924 -0
- package/dist/chunk-TK644IOG.js +1813 -0
- package/dist/chunk-TRSVUPCX.js +25 -0
- package/dist/chunk-TSPQONRT.js +4533 -0
- package/dist/chunk-TSXGRLPR.js +107 -0
- package/dist/chunk-TWYLVAS2.js +152 -0
- package/dist/chunk-U2S3YEX3.js +224 -0
- package/dist/chunk-U32HWI76.js +437 -0
- package/dist/chunk-U45RTRGY.js +818 -0
- package/dist/chunk-U62VCQGR.js +49 -0
- package/dist/chunk-UDMS5AD3.js +307 -0
- package/dist/chunk-UGX7GI37.js +94 -0
- package/dist/chunk-UH3JJSHK.js +1 -0
- package/dist/chunk-UHRBTZYY.js +208 -0
- package/dist/chunk-UHT2KRG5.js +193 -0
- package/dist/chunk-UI2F6DJ5.js +118 -0
- package/dist/chunk-UKMAFG7A.js +189 -0
- package/dist/chunk-UUH2RVKS.js +585 -0
- package/dist/chunk-UVBBFDFQ.js +270 -0
- package/dist/chunk-UXZF3B7T.js +75 -0
- package/dist/chunk-V6YLL5WA.js +3746 -0
- package/dist/chunk-V72RMBM4.js +48 -0
- package/dist/chunk-VBNCKCCI.js +16 -0
- package/dist/chunk-VCAUV5XQ.js +3679 -0
- package/dist/chunk-VDSH7O4Y.js +152 -0
- package/dist/chunk-VNSYKC25.js +24 -0
- package/dist/chunk-VTLNJQ44.js +133 -0
- package/dist/chunk-VV6HOXRC.js +302 -0
- package/dist/chunk-VVGEPBPS.js +218 -0
- package/dist/chunk-VXF4Q3FW.js +20 -0
- package/dist/chunk-W3ZGW3C5.js +331 -0
- package/dist/chunk-W4OMESPG.js +271 -0
- package/dist/chunk-WDUORIHF.js +877 -0
- package/dist/chunk-WDVTY4U6.js +148 -0
- package/dist/chunk-WGXYDLMX.js +4386 -0
- package/dist/chunk-WMPU2UOV.js +82 -0
- package/dist/chunk-WOEVVPDP.js +1125 -0
- package/dist/chunk-WTLMSPBQ.js +256 -0
- package/dist/chunk-X43NMU4Z.js +1124 -0
- package/dist/chunk-X5NTI5U5.js +368 -0
- package/dist/chunk-X6UIEADS.js +949 -0
- package/dist/chunk-XAONGNST.js +57 -0
- package/dist/chunk-XB5YLCLB.js +13 -0
- package/dist/chunk-XGYF2QMZ.js +351 -0
- package/dist/chunk-XHEKQENB.js +255 -0
- package/dist/chunk-XPHKYHO4.js +878 -0
- package/dist/chunk-XQD2B6BB.js +507 -0
- package/dist/chunk-XT2ZQVTC.js +558 -0
- package/dist/chunk-XUSRFFA7.js +1859 -0
- package/dist/chunk-XUXVDPSZ.js +50 -0
- package/dist/chunk-XV7NZL4B.js +57 -0
- package/dist/chunk-XXCGJGSQ.js +121 -0
- package/dist/chunk-XYGDZCB5.js +659 -0
- package/dist/chunk-XZAMZUX5.js +992 -0
- package/dist/chunk-XZE4XARH.js +563 -0
- package/dist/chunk-Y34DUC4A.js +1356 -0
- package/dist/chunk-Y3J4JMTU.js +61 -0
- package/dist/chunk-Y4RC2YFX.js +1270 -0
- package/dist/chunk-Y55LZN5U.js +52 -0
- package/dist/chunk-Y5677NDO.js +183 -0
- package/dist/chunk-YESZJFK6.js +220 -0
- package/dist/chunk-YGXKOBQQ.js +292 -0
- package/dist/chunk-YMX76IOS.js +31 -0
- package/dist/chunk-YOTXESEH.js +257 -0
- package/dist/chunk-YQAAKTVH.js +712 -0
- package/dist/chunk-YVORHQ2S.js +579 -0
- package/dist/chunk-YWNAHW24.js +1552 -0
- package/dist/chunk-Z476RATD.js +1689 -0
- package/dist/chunk-ZDTGECTN.js +235 -0
- package/dist/chunk-ZDTMICNY.js +316 -0
- package/dist/chunk-ZIPWI2LY.js +151 -0
- package/dist/chunk-ZIVYXF7A.js +2344 -0
- package/dist/chunk-ZX65UI5W.js +78 -0
- package/dist/chunk-ZYG7GGKO.js +218 -0
- package/dist/chunk-ZZZUL4OF.js +38 -0
- package/dist/cli-utils-HUOTBRM3.js +40 -0
- package/dist/cli-validation-WLXWLUJL.js +111 -0
- package/dist/commit-utils-3QV2P6RA.js +202 -0
- package/dist/compete-config-resolver-SNH3TT2Q.js +76 -0
- package/dist/compete-request-XWNPOARL.js +364 -0
- package/dist/compete-results-PAP67LDR.js +208 -0
- package/dist/competition-outcome-tracker-GOZXNAQU.js +38 -0
- package/dist/config-HWHUNA72.js +166 -0
- package/dist/config-audit-EL3GHXS7.js +360 -0
- package/dist/config-explain-TNILDEVJ.js +12 -0
- package/dist/config-loader-VPFPFO4B.js +38 -0
- package/dist/config-manager-L3VRNTSG.js +67 -0
- package/dist/config-validator-SIIQEOFQ.js +72 -0
- package/dist/cost-7CX37DU3.js +53 -0
- package/dist/coverage-orchestrator-MNKHD6YC.js +772 -0
- package/dist/coverage-scanner-YVD62MLH.js +12 -0
- package/dist/createCompetitionRunner-LJG6ZQSO.js +46 -0
- package/dist/data-migration-state-VJK64DLT.js +31 -0
- package/dist/db-migrator-XSEIOGWY.js +34 -0
- package/dist/discovery-JGYGDD25.js +25 -0
- package/dist/doctor-CGBCD7IQ.js +186 -0
- package/dist/domain-analyzer-DL6BDR2N.js +29 -0
- package/dist/ensure-initialized-4BY73HLE.js +52 -0
- package/dist/entry.js +940 -0
- package/dist/environment-IGVH5X53.js +81 -0
- package/dist/error-parser-core-PPZ36A4S.js +50 -0
- package/dist/escalation-ladder-NWY5BJ57.js +130 -0
- package/dist/evaluation-context-KMWDSDYD.js +35 -0
- package/dist/evidence-plan-resolver-YIVH76PU.js +85 -0
- package/dist/execution-data-writer-OHAQ7G5H.js +53 -0
- package/dist/execution-policy-applier-ZHD3DCF3.js +31 -0
- package/dist/execution-preflight-Z4Y64V3I.js +209 -0
- package/dist/execution-roles-KBH2MC3M.js +66 -0
- package/dist/exit-code-error-Z4SW2DVK.js +14 -0
- package/dist/external-temp-cleanup-N2RZH4QP.js +311 -0
- package/dist/factory-IYBMCZG7.js +149 -0
- package/dist/file-utils-XIVR2ZMA.js +47 -0
- package/dist/flywheel-autoloop-executor-R3KD2G4D.js +249 -0
- package/dist/flywheel-competition-executor-XCFGVJSK.js +259 -0
- package/dist/flywheel-executor-LTSIZN2L.js +369 -0
- package/dist/flywheel-git-isolation-CZ5YVVZY.js +48 -0
- package/dist/flywheel-manifest-5UC4VBMA.js +108 -0
- package/dist/flywheel-model-defaults-7CVKP53V.js +27 -0
- package/dist/flywheel-preflight-6E33DJDK.js +104 -0
- package/dist/flywheel-resume-7HELH7QS.js +23 -0
- package/dist/flywheel-safety-7U7DPOAP.js +28 -0
- package/dist/flywheel-scope-decision-ZHKF6ZIN.js +11 -0
- package/dist/get-telemetry-logger-AZ46EPRP.js +73 -0
- package/dist/git-worktree-IY6V6DUO.js +18 -0
- package/dist/github-pr-manager-4XUO2YTM.js +211 -0
- package/dist/guidance-profile-config-E7XJL2VP.js +117 -0
- package/dist/guidance-profile-renderer-QK2YMAAP.js +21 -0
- package/dist/index-query-4JEUKA44.js +31 -0
- package/dist/index.js +108644 -0
- package/dist/instructions-CM6THDV7.js +64 -0
- package/dist/invoke-provider-auth-V5TC5UDS.js +223 -0
- package/dist/judge-scoring.json +80 -0
- package/dist/judge-test.js +555 -0
- package/dist/lab-mode-OTWVHN63.js +39 -0
- package/dist/lab-utils-VA6VXNOV.js +23 -0
- package/dist/linux-host-class-UY4KVLFD.js +29 -0
- package/dist/llm-judge-executor-34YPIRJ7.js +133 -0
- package/dist/local-executor-LJJSCWZX.js +223 -0
- package/dist/logger-6PRYM56M.js +72 -0
- package/dist/loop-spec-XTLQAVZ7.js +191 -0
- package/dist/manager-2HJG5CLT.js +25 -0
- package/dist/matrix-prompt-builder-LHDTJ4TY.js +497 -0
- package/dist/matrix-result-parser-7W35EUOV.js +15 -0
- package/dist/metadata-HQ43NDEK.js +22 -0
- package/dist/model-invocations-db-QBO4Y7WZ.js +38 -0
- package/dist/monitor-MCI3F4PX.js +72 -0
- package/dist/next-HQKDXIIR.js +90 -0
- package/dist/next-JC3V2UCS.js +69 -0
- package/dist/optimization-config-resolver-QPSFLCJU.js +75 -0
- package/dist/package-3YCWIQQ5.js +10 -0
- package/dist/parallel-orchestrator-NL7YJJU2.js +297 -0
- package/dist/parallel-worker.js +279 -0
- package/dist/parse-git-status-PIAF3OTP.js +10 -0
- package/dist/path-security-ETTH6TZL.js +39 -0
- package/dist/pattern-bank-UNJR5ADV.js +15 -0
- package/dist/plan-backlog-list-fast-DZK24LSZ.js +270 -0
- package/dist/plan-backlog-show-fast-63GBBH6Q.js +406 -0
- package/dist/plan-sprint-list-fast-TJ6ZUF5E.js +162 -0
- package/dist/plan-sprint-status-fast-YWE5X3NG.js +208 -0
- package/dist/plan-task-status-fast-K22BTTBW.js +349 -0
- package/dist/plan-to-flywheel-VFGCPINA.js +456 -0
- package/dist/planning-backlog-Y6TIJYWU.js +319 -0
- package/dist/poetic-root-V5DNXEAE.js +17 -0
- package/dist/preflight-OPANWMME.js +12 -0
- package/dist/process-registry-PDZJPTAS.js +27 -0
- package/dist/process-scanner-C22SYXYD.js +22 -0
- package/dist/processes-KMQUD7HY.js +29 -0
- package/dist/processes-json-fast-IBDXZ6WW.js +135 -0
- package/dist/profile-2XP3FWH2.js +149 -0
- package/dist/prompts-EPAAAMMF.js +168 -0
- package/dist/protected-branches-RNTEX7ET.js +57 -0
- package/dist/provider-aware-resource-manager-QBTZJMNP.js +18 -0
- package/dist/provider-matrix-KWTYA5QV.js +154 -0
- package/dist/provider-matrix-renderer-MZDWKKID.js +139 -0
- package/dist/provider-output-forwarding-DERID3TP.js +30 -0
- package/dist/provider-registry-J5NRBJKI.js +128 -0
- package/dist/provider-temp-cleanup-KYGLF6YU.js +14 -0
- package/dist/prune-engine-Q6E2DXBN.js +451 -0
- package/dist/quality-gate-33SHK43X.js +70 -0
- package/dist/quickstart-E32SODTA.js +62 -0
- package/dist/readiness-REWW7OSV.js +96 -0
- package/dist/registry-N6L36RE2.js +153 -0
- package/dist/repair-helpers-TTV5FEF4.js +117 -0
- package/dist/repo-root-2IGD4H7X.js +22 -0
- package/dist/resolution-engine-LXQYDSKS.js +127 -0
- package/dist/resolve-provider-cli-O2P6XZBZ.js +35 -0
- package/dist/restore-telemetry-db-BQL6DTQF.js +360 -0
- package/dist/result-streamer-WEHW476R.js +19 -0
- package/dist/routing-events-DHPUZDDF.js +27 -0
- package/dist/routing-history-store-UWCEXAP3.js +46 -0
- package/dist/routing-planner-VGQU35QM.js +160 -0
- package/dist/run-poetic-tui-ZZXFDOQ4.js +13517 -0
- package/dist/run-simulation.js +376 -0
- package/dist/runner-2YPKOJ6A.js +1092 -0
- package/dist/runner-HEJJ65AJ.js +1571 -0
- package/dist/safety-OCC4KJJR.js +64 -0
- package/dist/safety-stanza-BSVE6OJU.js +60 -0
- package/dist/sandbox-3AG2WJLM.js +94 -0
- package/dist/sandbox-5JOFBS75.js +81 -0
- package/dist/schema-extensions.sql +234 -0
- package/dist/security-2KI5XNDG.js +17 -0
- package/dist/setup-bb-plugin-QAQWZCV5.js +738 -0
- package/dist/setup-claude-code-P7BTTSPO.js +317 -0
- package/dist/setup-temp-cleanup-GASCWZ2I.js +20 -0
- package/dist/shared-utils-D6U6UREP.js +37 -0
- package/dist/simple-artifact-goal-OTXNGZY6.js +25 -0
- package/dist/sprint-QGXLN3SO.js +338 -0
- package/dist/sprint-bridge-FNKQCJGL.js +68 -0
- package/dist/sprint-execution-service-4ELKNJDS.js +311 -0
- package/dist/sprint-manager-7TNCXCIX.js +91 -0
- package/dist/sqlite-wrapper-UDWCTNLJ.js +17 -0
- package/dist/stale-cleanup-orchestrator-H5XKGZP2.js +62 -0
- package/dist/storage-access-F6ALDN4S.js +22 -0
- package/dist/synthesis-TGQUVAW3.js +185 -0
- package/dist/task-classifier-DZIRBSS2.js +494 -0
- package/dist/task-list-fast-PJ2EXVZE.js +147 -0
- package/dist/task-manager-5742GMJK.js +93 -0
- package/dist/task-splitter-6MBXSWF6.js +79 -0
- package/dist/task-type-detector-OLVOMXZO.js +21 -0
- package/dist/task-type-resolver-4HG6TXFV.js +42 -0
- package/dist/telemetry-JX7EMNOZ.js +131 -0
- package/dist/telemetry-health-tracker-DMSSGBZ2.js +11 -0
- package/dist/telemetry-path-resolver-7ICSG276.js +28 -0
- package/dist/telemetry-reliability-2MLJ4J6B.js +125 -0
- package/dist/token-estimator-PDU345YE.js +37 -0
- package/dist/transports-3UEO6C5Y.js +255 -0
- package/dist/unified-cost-tracker-F3W5NMPG.js +35 -0
- package/dist/unified-state-cleanup-LJPF2BOW.js +276 -0
- package/dist/universal-cost-calculator-BAJV35GA.js +42 -0
- package/dist/user-agents-GHUGCSKN.js +22 -0
- package/dist/variant-delivery-state-XCOYVCM4.js +33 -0
- package/dist/variant-state-cleanup-QIEKRULB.js +280 -0
- package/dist/variant-success-PJXWE3ZV.js +12 -0
- package/dist/variant-worker-HPTUA37Z.js +4196 -0
- package/dist/variant-worker.js +24 -0
- package/dist/variants-2HDYZOCG.js +233 -0
- package/dist/verification-toolchains-VVKT3GBF.js +28 -0
- package/dist/verify-commands-5F6CJV4B.js +37 -0
- package/dist/warning-EGQGUUIO.js +12 -0
- package/dist/work-edge-RWEDWJZF.js +49 -0
- package/dist/work-item-writer-WHAVZXAY.js +19 -0
- package/dist/worker-AGWHD4D2.js +1435 -0
- package/dist/worker.js +19 -0
- package/dist/worktree-metrics-3DFUYVYE.js +26 -0
- package/dist/writeback-VZKHYHSN.js +44 -0
- package/docs/CLI_REFERENCE.md +7040 -0
- package/docs/PROVIDER_SETUP.md +1570 -0
- package/docs/README.md +96 -0
- package/docs/TROUBLESHOOTING.md +2232 -0
- package/docs/getting-started/QUICK_START.md +294 -0
- package/docs/getting-started/README.md +188 -0
- package/docs/getting-started/SETUP.md +52 -0
- package/docs/reference/AGENT_CONTEXT.md +38 -0
- package/docs/reference/PROVIDER_RELEASE_TIERS.md +34 -0
- package/docs/reference/README.md +381 -0
- package/docs/reference/SECURITY.md +262 -0
- package/integrations/bb-plugin-poetic/README.md +362 -0
- package/integrations/bb-plugin-poetic/app.css +341 -0
- package/integrations/bb-plugin-poetic/app.tsx +5059 -0
- package/integrations/bb-plugin-poetic/package.json +45 -0
- package/integrations/bb-plugin-poetic/server.ts +444 -0
- package/integrations/bb-plugin-poetic/src/adapter.ts +3312 -0
- package/integrations/bb-plugin-poetic/src/backlog-authoring-model.ts +150 -0
- package/integrations/bb-plugin-poetic/src/backlog-authoring-schema.ts +355 -0
- package/integrations/bb-plugin-poetic/src/backlog-authoring-service.ts +419 -0
- package/integrations/bb-plugin-poetic/src/backlog-authoring-view.ts +1026 -0
- package/integrations/bb-plugin-poetic/src/competition-defaults-schema.ts +122 -0
- package/integrations/bb-plugin-poetic/src/competition-defaults-service.ts +105 -0
- package/integrations/bb-plugin-poetic/src/competition-defaults-view.ts +138 -0
- package/integrations/bb-plugin-poetic/src/contract.ts +615 -0
- package/integrations/bb-plugin-poetic/src/finalize-model.ts +205 -0
- package/integrations/bb-plugin-poetic/src/finalize-schema.ts +158 -0
- package/integrations/bb-plugin-poetic/src/finalize-service.ts +382 -0
- package/integrations/bb-plugin-poetic/src/finalize-view.ts +159 -0
- package/integrations/bb-plugin-poetic/src/judge-operations-readback.ts +303 -0
- package/integrations/bb-plugin-poetic/src/judge-operations-schema.ts +33 -0
- package/integrations/bb-plugin-poetic/src/judge-operations-view.ts +459 -0
- package/integrations/bb-plugin-poetic/src/model.ts +1302 -0
- package/integrations/bb-plugin-poetic/src/monitor-service.ts +233 -0
- package/integrations/bb-plugin-poetic/src/panel-read-ux.ts +97 -0
- package/integrations/bb-plugin-poetic/src/patch-preview-schema.ts +166 -0
- package/integrations/bb-plugin-poetic/src/patch-preview-service.ts +480 -0
- package/integrations/bb-plugin-poetic/src/patch-preview-view.ts +109 -0
- package/integrations/bb-plugin-poetic/src/planning-readback.ts +204 -0
- package/integrations/bb-plugin-poetic/src/planning-service.ts +594 -0
- package/integrations/bb-plugin-poetic/src/planning-workspace-schema.ts +95 -0
- package/integrations/bb-plugin-poetic/src/planning-workspace.ts +323 -0
- package/integrations/bb-plugin-poetic/src/poll-handoff.ts +136 -0
- package/integrations/bb-plugin-poetic/src/project-target-server.ts +21 -0
- package/integrations/bb-plugin-poetic/src/project-target.ts +45 -0
- package/integrations/bb-plugin-poetic/src/reference-index.ts +192 -0
- package/integrations/bb-plugin-poetic/src/repository-schema.ts +30 -0
- package/integrations/bb-plugin-poetic/src/result-explorer-view.ts +597 -0
- package/integrations/bb-plugin-poetic/src/result-readback-model.ts +163 -0
- package/integrations/bb-plugin-poetic/src/result-readback-schema.ts +319 -0
- package/integrations/bb-plugin-poetic/src/result-readback-service.ts +333 -0
- package/integrations/bb-plugin-poetic/src/run-page-view.ts +177 -0
- package/integrations/bb-plugin-poetic/src/setup-config-schema.ts +291 -0
- package/integrations/bb-plugin-poetic/src/setup-config-service.ts +590 -0
- package/integrations/bb-plugin-poetic/src/setup-config-view.ts +413 -0
- package/integrations/bb-plugin-poetic/src/sprint-close-model.ts +150 -0
- package/integrations/bb-plugin-poetic/src/sprint-close-schema.ts +136 -0
- package/integrations/bb-plugin-poetic/src/sprint-close-service.ts +341 -0
- package/integrations/bb-plugin-poetic/src/sprint-close-view.ts +116 -0
- package/integrations/bb-plugin-poetic/src/sprint-composition-model.ts +714 -0
- package/integrations/bb-plugin-poetic/src/sprint-composition-readback.ts +231 -0
- package/integrations/bb-plugin-poetic/src/sprint-composition-schema.ts +601 -0
- package/integrations/bb-plugin-poetic/src/sprint-composition-service.ts +775 -0
- package/integrations/bb-plugin-poetic/src/sprint-composition-view.ts +1221 -0
- package/integrations/bb-plugin-poetic/src/task-authoring-model.ts +567 -0
- package/integrations/bb-plugin-poetic/src/task-authoring-schema.ts +635 -0
- package/integrations/bb-plugin-poetic/src/task-authoring-service.ts +842 -0
- package/integrations/bb-plugin-poetic/src/task-authoring-view.ts +1227 -0
- package/integrations/bb-plugin-poetic/src/task-detail-readback.ts +56 -0
- package/integrations/bb-plugin-poetic/src/task-detail-schema.ts +144 -0
- package/integrations/bb-plugin-poetic/src/task-navigation.ts +446 -0
- package/integrations/bb-plugin-poetic/src/workbench-route.ts +74 -0
- package/integrations/bb-plugin-poetic/tests/host-contract.test.ts +773 -0
- package/integrations/bb-plugin-poetic/tsconfig.json +18 -0
- package/integrations/bb-plugin-poetic/types/PROVENANCE.json +52 -0
- package/integrations/bb-plugin-poetic/types/bb-plugin-sdk-app.d.ts +1444 -0
- package/integrations/bb-plugin-poetic/types/bb-plugin-sdk.d.ts +13030 -0
- package/integrations/bb-plugin-poetic/vitest.host.config.ts +71 -0
- package/package.json +331 -0
- package/schemas/README.md +80 -0
- package/schemas/config-v1.schema.json +136 -0
- package/schemas/execution-config.schema.json +47 -0
- package/schemas/judge-scoring.schema.json +370 -0
- package/schemas/poetic.config.schema.json +2214 -0
- package/schemas/provider-config.schema.json +203 -0
- package/schemas/telemetry-config.schema.json +79 -0
- package/schemas/user-preferences.schema.json +141 -0
- package/scripts/assert-node-runtime.mjs +140 -0
- package/scripts/preflight-native.mjs +49 -0
- package/scripts/preinstall-node-check.mjs +78 -0
- package/scripts/setup-git-hooks.mjs +24 -0
- package/scripts/sync.sh +2722 -0
- package/scripts/write-node-launcher.sh +108 -0
- package/src/resources/gemini/slash-packs/default/plan.toml +15 -0
- package/src/resources/gemini/slash-packs/default/summary.toml +16 -0
- package/src/resources/gemini/slash-packs/default/tests.toml +16 -0
- package/templates/.poetic/README.md +37 -0
- package/templates/.poetic/agents/README.md +296 -0
- package/templates/.poetic/agents/api-documenter.md +147 -0
- package/templates/.poetic/agents/backend-architect.md +31 -0
- package/templates/.poetic/agents/code-reviewer.md +157 -0
- package/templates/.poetic/agents/data-scientist.md +179 -0
- package/templates/.poetic/agents/database-optimizer.md +145 -0
- package/templates/.poetic/agents/debugger.md +31 -0
- package/templates/.poetic/agents/deployment-engineer.md +164 -0
- package/templates/.poetic/agents/devops-troubleshooter.md +139 -0
- package/templates/.poetic/agents/frontend-developer.md +150 -0
- package/templates/.poetic/agents/javascript-pro.md +36 -0
- package/templates/.poetic/agents/performance-engineer.md +151 -0
- package/templates/.poetic/agents/python-pro.md +137 -0
- package/templates/.poetic/agents/test-automator.md +147 -0
- package/templates/.poetic/agents/typescript-pro.md +34 -0
- package/templates/.poetic/config/poetic.config.jsonc +69 -0
- package/templates/.poetic/config/project-context.template.json +6 -0
- package/templates/.poetic/config/task-type-aliases.presets/kanban.yaml +14 -0
- package/templates/.poetic/config/task-type-aliases.presets/scrum.yaml +17 -0
- package/templates/.poetic/config/task-type-aliases.presets/xp.yaml +12 -0
- package/templates/.poetic/config/task-type-aliases.yaml +28 -0
- package/templates/.poetic/gitignore.template +55 -0
- package/templates/.poetic/task-types/analysis.yaml +40 -0
- package/templates/.poetic/task-types/architecture.yaml +38 -0
- package/templates/.poetic/task-types/doc.yaml +35 -0
- package/templates/.poetic/task-types/feature.yaml +23 -0
- package/templates/.poetic/task-types/general.yaml +6 -0
- package/templates/.poetic/task-types/security.yaml +39 -0
- package/templates/AGENTS.template.md +99 -0
- package/templates/CLAUDE.template.md +1 -0
- package/templates/GEMINI.template.md +1 -0
- package/templates/builtin-workflows/code-review.yaml +73 -0
- package/templates/builtin-workflows/compete-streak.yaml +78 -0
- package/templates/builtin-workflows/hello-verify.yaml +10 -0
- package/templates/builtin-workflows/judge-regression.yaml +114 -0
- package/templates/builtin-workflows/skills/code-review/SKILL.md +60 -0
- package/templates/builtin-workflows/skills/hello-verify/SKILL.md +6 -0
- package/templates/guard-kit/GUARD_SETUP.md.template +255 -0
- package/templates/guard-kit/check.mjs.template +777 -0
- package/templates/guard-kit/config.json.template +6 -0
- package/templates/guard-kit/poetic-guard.yml.template +189 -0
- package/templates/profiles/README.md +56 -0
- package/templates/profiles/frontier-claude.json +27 -0
- package/templates/profiles/frontier-codex.json +26 -0
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
import {
|
|
2
|
+
detectProjectCapabilities
|
|
3
|
+
} from "./chunk-GNH3QGTL.js";
|
|
4
|
+
import {
|
|
5
|
+
isProjectConfigPath,
|
|
6
|
+
isProjectDocsPath
|
|
7
|
+
} from "./chunk-UDMS5AD3.js";
|
|
8
|
+
|
|
9
|
+
// src/core/project/spec-harness-convergence.ts
|
|
10
|
+
function pushFirstAvailable(out, commands) {
|
|
11
|
+
const command = commands.find((entry) => entry.trim().length > 0);
|
|
12
|
+
if (command && !out.includes(command)) {
|
|
13
|
+
out.push(command);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function resolveSpecHarnessConvergenceCommands(root) {
|
|
17
|
+
const capabilities = detectProjectCapabilities(root);
|
|
18
|
+
const commands = [];
|
|
19
|
+
pushFirstAvailable(commands, capabilities.verification.test);
|
|
20
|
+
pushFirstAvailable(commands, capabilities.verification.typecheck);
|
|
21
|
+
return commands;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// src/core/providers/shared/prompt-adapter-core.ts
|
|
25
|
+
var POETIC_CONTEXT_MARKER_NAMES = [
|
|
26
|
+
"POETIC_ANALYSIS_CONTEXT",
|
|
27
|
+
"POETIC_STAGE_CONTEXT",
|
|
28
|
+
"POETIC_CONTEXT_INJECTION"
|
|
29
|
+
];
|
|
30
|
+
var POETIC_CONTEXT_MARKER_PATTERN = POETIC_CONTEXT_MARKER_NAMES.join("|");
|
|
31
|
+
var POETIC_CONTEXT_BLOCK_RE = new RegExp(
|
|
32
|
+
`<!--\\s*(?:${POETIC_CONTEXT_MARKER_PATTERN})\\s*-->\\r?\\n?[\\s\\S]*?\\r?\\n?<!--\\s*\\/(?:${POETIC_CONTEXT_MARKER_PATTERN})\\s*-->`,
|
|
33
|
+
"g"
|
|
34
|
+
);
|
|
35
|
+
var POETIC_CONTEXT_MARKER_RE = new RegExp(
|
|
36
|
+
`<!--\\s*(\\/)?\\s*(${POETIC_CONTEXT_MARKER_PATTERN})\\s*-->`,
|
|
37
|
+
"g"
|
|
38
|
+
);
|
|
39
|
+
function neutralizePoeticContextMarkers(text) {
|
|
40
|
+
return text.replace(
|
|
41
|
+
POETIC_CONTEXT_MARKER_RE,
|
|
42
|
+
(_match, closing, marker) => `[${closing ? "/" : ""}${marker}]`
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
function neutralizeUnpairedPoeticContextMarkers(text) {
|
|
46
|
+
const sections = [];
|
|
47
|
+
let cursor = 0;
|
|
48
|
+
for (const match of text.matchAll(POETIC_CONTEXT_BLOCK_RE)) {
|
|
49
|
+
const index = match.index ?? 0;
|
|
50
|
+
sections.push(neutralizePoeticContextMarkers(text.slice(cursor, index)));
|
|
51
|
+
sections.push(match[0]);
|
|
52
|
+
cursor = index + match[0].length;
|
|
53
|
+
}
|
|
54
|
+
sections.push(neutralizePoeticContextMarkers(text.slice(cursor)));
|
|
55
|
+
return sections.join("");
|
|
56
|
+
}
|
|
57
|
+
function stripPoeticContextBlocks(text) {
|
|
58
|
+
return text.replace(POETIC_CONTEXT_BLOCK_RE, "");
|
|
59
|
+
}
|
|
60
|
+
function normalizePath(pathStr) {
|
|
61
|
+
return pathStr.replace(/\\/g, "/").replace(/^\.\//, "").trim();
|
|
62
|
+
}
|
|
63
|
+
function stripTrailingPunctuation(value) {
|
|
64
|
+
return value.replace(/[.,;:]+$/g, "").trim();
|
|
65
|
+
}
|
|
66
|
+
function stripTrailingKnownAnnotation(value) {
|
|
67
|
+
return value.replace(
|
|
68
|
+
/\s*\((?:create|new|modify|out\s+of\s+scope|out-of-scope|read[\s-]?only|optional|reference|related|info\s+only)\)\s*$/i,
|
|
69
|
+
""
|
|
70
|
+
).trim();
|
|
71
|
+
}
|
|
72
|
+
var NEUTRAL_ROOT_MANIFEST_BASENAMES = /* @__PURE__ */ new Set([
|
|
73
|
+
"go.mod",
|
|
74
|
+
"go.sum",
|
|
75
|
+
"go.work",
|
|
76
|
+
"go.work.sum",
|
|
77
|
+
"cargo.toml",
|
|
78
|
+
"cargo.lock",
|
|
79
|
+
"pom.xml",
|
|
80
|
+
"setup.py",
|
|
81
|
+
"pipfile",
|
|
82
|
+
"pipfile.lock",
|
|
83
|
+
"package-lock.json",
|
|
84
|
+
"pnpm-lock.yaml",
|
|
85
|
+
"yarn.lock"
|
|
86
|
+
]);
|
|
87
|
+
function isLikelyFilePathToken(value) {
|
|
88
|
+
const file = value.trim();
|
|
89
|
+
if (!file) return false;
|
|
90
|
+
if (file.match(/^[A-Z]:?$/)) return false;
|
|
91
|
+
if (file.includes("/")) return true;
|
|
92
|
+
if (file.startsWith(".")) return true;
|
|
93
|
+
if (file === "Makefile" || file === "Dockerfile" || file === "LICENSE") return true;
|
|
94
|
+
if (isProjectConfigPath(file) || isProjectDocsPath(file)) {
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
if (NEUTRAL_ROOT_MANIFEST_BASENAMES.has(file.toLowerCase())) return true;
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
function normalizeFileTargetToken(raw) {
|
|
101
|
+
const stripPathWrappers = (value) => value.replace(/^[`'"]+|[`'"]+$/g, "").trim();
|
|
102
|
+
const stripTrailingLineReference = (value) => value.replace(/(?:#L?\d+(?::\d+)?(?:-L?\d+(?::\d+)?)?|:\d+(?::\d+)?)$/i, "").trim();
|
|
103
|
+
let trimmed = raw.trim().replace(/^[`'"]+|[`'"]+$/g, "").trim();
|
|
104
|
+
trimmed = stripTrailingPunctuation(trimmed);
|
|
105
|
+
trimmed = stripTrailingKnownAnnotation(trimmed);
|
|
106
|
+
trimmed = stripTrailingPunctuation(trimmed);
|
|
107
|
+
const extMatch = /^(.+?\.(?:ts|tsx|js|jsx|json|md|yaml|yml|toml|go|rs|py|c|cc|cpp|h|hpp))(?:(?::\d+)+|[`'"()[\]*_]|\s|$)/i.exec(
|
|
108
|
+
trimmed
|
|
109
|
+
);
|
|
110
|
+
let candidate = (extMatch?.[1] ?? trimmed).replace(/[;,]$/, "").trim();
|
|
111
|
+
candidate = candidate.replace(/(\.[A-Za-z0-9]+)\*+$/u, "$1");
|
|
112
|
+
if (!extMatch && candidate.includes("/") && /\s/.test(candidate)) {
|
|
113
|
+
candidate = candidate.split(/\s+/)[0]?.trim() ?? candidate;
|
|
114
|
+
}
|
|
115
|
+
candidate = stripPathWrappers(candidate);
|
|
116
|
+
candidate = stripTrailingLineReference(candidate);
|
|
117
|
+
candidate = stripTrailingPunctuation(candidate);
|
|
118
|
+
return normalizePath(candidate);
|
|
119
|
+
}
|
|
120
|
+
var SCOPED_EDIT_ONLY_CLAUSE_RE = /\b(?:edit|update|modify|change)\s+only\s+([\s\S]+?)(?=\.\s*(?:Do\s+not|Don't)\b|\.\s*$|$)/i;
|
|
121
|
+
var FILE_PATH_IN_SEGMENT_RE = /(?:`([^`\n]+)`|([A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)+\.[A-Za-z0-9]{1,12}))/g;
|
|
122
|
+
function stripNegatedFileClauses(prompt) {
|
|
123
|
+
let result = prompt;
|
|
124
|
+
const patterns = [
|
|
125
|
+
/\bdo\s+not\s+(?:inspect\s+or\s+)?(?:modify|edit)\s+[^.\n]+/gi,
|
|
126
|
+
/\bdon't\s+(?:modify|edit)\s+[^.\n]+/gi,
|
|
127
|
+
/\bdo\s+not\s+modify\s+files\s+outside\s+[^.\n]+/gi
|
|
128
|
+
];
|
|
129
|
+
for (const pattern of patterns) {
|
|
130
|
+
result = result.replace(pattern, " ");
|
|
131
|
+
}
|
|
132
|
+
return result;
|
|
133
|
+
}
|
|
134
|
+
function extractPathsFromTextSegment(segment) {
|
|
135
|
+
const paths = /* @__PURE__ */ new Set();
|
|
136
|
+
for (const match of segment.matchAll(FILE_PATH_IN_SEGMENT_RE)) {
|
|
137
|
+
const raw = match[1] ?? match[2] ?? "";
|
|
138
|
+
const normalized = normalizeFileTargetToken(raw);
|
|
139
|
+
if (normalized.length > 0 && isLikelyFilePathToken(normalized)) {
|
|
140
|
+
paths.add(normalized);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return Array.from(paths);
|
|
144
|
+
}
|
|
145
|
+
function extractScopedEditOnlyPaths(prompt) {
|
|
146
|
+
const match = SCOPED_EDIT_ONLY_CLAUSE_RE.exec(prompt);
|
|
147
|
+
if (!match?.[1]) {
|
|
148
|
+
return [];
|
|
149
|
+
}
|
|
150
|
+
return extractPathsFromTextSegment(match[1]);
|
|
151
|
+
}
|
|
152
|
+
function renderFileTargets(targets, options = {}) {
|
|
153
|
+
const uniqueTargets = Array.from(new Set(targets.filter((target) => target.trim().length > 0)));
|
|
154
|
+
if (uniqueTargets.length === 0) return "";
|
|
155
|
+
if (options.style === "single") {
|
|
156
|
+
return uniqueTargets.map((target) => `FILE: ${target}`).join("\n");
|
|
157
|
+
}
|
|
158
|
+
if (uniqueTargets.length === 1) {
|
|
159
|
+
return `FILE: ${uniqueTargets[0]}`;
|
|
160
|
+
}
|
|
161
|
+
if (options.style === "list" || uniqueTargets.length > 2) {
|
|
162
|
+
return `FILES:
|
|
163
|
+
${uniqueTargets.map((target) => `- ${target}`).join("\n")}`;
|
|
164
|
+
}
|
|
165
|
+
return uniqueTargets.map((target) => `FILE: ${target}`).join("\n");
|
|
166
|
+
}
|
|
167
|
+
function hasExplicitFileTargets(text, options = {}) {
|
|
168
|
+
return extractExplicitFileTargets(text, options).length > 0;
|
|
169
|
+
}
|
|
170
|
+
function extractExplicitFileTargets(prompt, options = {}) {
|
|
171
|
+
const { includeProseMarkers = false, includeScopedSections = false } = options;
|
|
172
|
+
const targets = /* @__PURE__ */ new Set();
|
|
173
|
+
const addCandidate = (raw) => {
|
|
174
|
+
const candidate = normalizeFileTargetToken(raw);
|
|
175
|
+
if (isLikelyFilePathToken(candidate)) {
|
|
176
|
+
targets.add(candidate);
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
let cleanPrompt = stripPoeticContextBlocks(prompt);
|
|
180
|
+
const toolPolicySplit = cleanPrompt.split(/\n---\n\n/);
|
|
181
|
+
if (toolPolicySplit.length > 1 && /##\s*Tool Usage Policy/i.test(toolPolicySplit[0] ?? "")) {
|
|
182
|
+
cleanPrompt = toolPolicySplit.slice(1).join("\n---\n\n");
|
|
183
|
+
}
|
|
184
|
+
cleanPrompt = cleanPrompt.replace(/##\s+Recent Git History[\s\S]*?(?=\n##\s+|\n$)/gi, "");
|
|
185
|
+
cleanPrompt = cleanPrompt.replace(/##\s+Relevant Files[\s\S]*?(?=\n##\s+|\n$)/gi, "");
|
|
186
|
+
cleanPrompt = cleanPrompt.replace(/##\s+Architecture Context[\s\S]*?(?=\n##\s+|\n$)/gi, "");
|
|
187
|
+
const singleFileRegex = /\bfile:\s*([^\n,;]+?)(?=(?:\s+\band\b|\s*\bfile:|$)|\n|[,;]|$)/gi;
|
|
188
|
+
const multiLineRegex = /\bfiles:\s*\n((?:\s*[-*]\s*[^\n]+\n?)+)/i;
|
|
189
|
+
const fileTargetsBlockRegex = /file targets:\s*\n((?:\s*[-•]\s*[^\n]+\n?)+)/i;
|
|
190
|
+
const scopedSectionRegex = /(?:^|\n)\s*#{1,6}\s*(?:scope(?:\s*\/\s*surfaces?\s+affected)?(?:\s*\(optional\))?|files?\s+to\s+modify)\s*\n((?:\s*[-*]\s*[^\n]+\n?)+)/i;
|
|
191
|
+
for (const match of cleanPrompt.matchAll(singleFileRegex)) {
|
|
192
|
+
if (match[1]) {
|
|
193
|
+
addCandidate(
|
|
194
|
+
match[1].trim().replace(/^FILE:?\s*/i, "").replace(/^[A-Z]:?\s*/, "").trim()
|
|
195
|
+
);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
const processListBlock = (block, linePattern, trimPattern) => {
|
|
199
|
+
if (!block) return;
|
|
200
|
+
const lines = block.match(linePattern);
|
|
201
|
+
if (!lines) return;
|
|
202
|
+
for (const line of lines) {
|
|
203
|
+
addCandidate(
|
|
204
|
+
line.replace(trimPattern, "").replace(/^FILE:?\s*/i, "").trim()
|
|
205
|
+
);
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
processListBlock(multiLineRegex.exec(cleanPrompt)?.[1], /^\s*[-*]\s*[^\n]+/gm, /^\s*[-*]\s*/);
|
|
209
|
+
processListBlock(
|
|
210
|
+
fileTargetsBlockRegex.exec(cleanPrompt)?.[1],
|
|
211
|
+
/^\s*[-•]\s*[^\n]+/gm,
|
|
212
|
+
/^\s*[-•]\s*/
|
|
213
|
+
);
|
|
214
|
+
if (includeProseMarkers) {
|
|
215
|
+
const proseRegex = /files?\s+to\s+(?:modify|change|update|touch)[:\s]*\n((?:\s*[-*]\s*[^\n]+\n?)+)/gim;
|
|
216
|
+
for (const match of cleanPrompt.matchAll(proseRegex)) {
|
|
217
|
+
processListBlock(match[1], /^\s*[-*]\s*[^\n]+/gm, /^\s*[-*]\s*/);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
if (includeScopedSections) {
|
|
221
|
+
processListBlock(
|
|
222
|
+
scopedSectionRegex.exec(cleanPrompt)?.[1],
|
|
223
|
+
/^\s*[-*]\s*[^\n]+/gm,
|
|
224
|
+
/^\s*[-*]\s*/
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
return Array.from(targets);
|
|
228
|
+
}
|
|
229
|
+
function generateWorkspaceAgentHeader(provider, executionIntent) {
|
|
230
|
+
switch (executionIntent) {
|
|
231
|
+
case "code":
|
|
232
|
+
return `# ${provider} Workspace Agent: Code Generation Mode
|
|
233
|
+
You are editing an isolated workspace
|
|
234
|
+
Output must be executable code`;
|
|
235
|
+
case "analysis":
|
|
236
|
+
return `# ${provider} Workspace Agent: Analysis Mode
|
|
237
|
+
You are analyzing an isolated git worktree
|
|
238
|
+
Provide detailed analysis`;
|
|
239
|
+
case "mixed":
|
|
240
|
+
return `# ${provider} Workspace Agent: Mixed Mode
|
|
241
|
+
analysis + implementation
|
|
242
|
+
Both investigation and executable code`;
|
|
243
|
+
default:
|
|
244
|
+
return "# Workspace Agent: Default Mode";
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
function generateAnalysisModeInstructions(executionIntent) {
|
|
248
|
+
switch (executionIntent) {
|
|
249
|
+
case "code":
|
|
250
|
+
return "";
|
|
251
|
+
case "analysis":
|
|
252
|
+
return "PRIMARY FOCUS: Analysis, insights, and recommendations\nCODE CHANGES: Optional";
|
|
253
|
+
case "mixed":
|
|
254
|
+
return "BALANCED APPROACH: Both planning and implementation are expected";
|
|
255
|
+
default:
|
|
256
|
+
return "";
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
function extractFileTargets(prompt) {
|
|
260
|
+
return extractExplicitFileTargets(prompt);
|
|
261
|
+
}
|
|
262
|
+
function generateMinimalAdaptation(options) {
|
|
263
|
+
const intent = options.executionIntent || "code";
|
|
264
|
+
const strategy = options.strategy || "conservative";
|
|
265
|
+
const files = options.targetFiles?.length ? options.targetFiles.join(", ") : "";
|
|
266
|
+
const intentGuide = {
|
|
267
|
+
code: "Simplified code generation guidance: Focus on direct implementation.",
|
|
268
|
+
analysis: "Simplified analysis guidance: Provide concise, targeted insights.",
|
|
269
|
+
mixed: "Simplified mixed-mode guidance: Balance analysis and implementation."
|
|
270
|
+
};
|
|
271
|
+
const strategyGuide = {
|
|
272
|
+
conservative: "Thorough inline documentation. Prioritize existing patterns, safety, and comprehensive error handling.",
|
|
273
|
+
hybrid: "Balanced approach. Adapt carefully to context.",
|
|
274
|
+
innovative: "Creative solutions. Explore alternative implementations."
|
|
275
|
+
};
|
|
276
|
+
const fileContext = files ? `Target: ${files}` : "";
|
|
277
|
+
return ["Simplified Guidance:", intentGuide[intent], strategyGuide[strategy], fileContext].filter(Boolean).join("\n");
|
|
278
|
+
}
|
|
279
|
+
function injectBacklogReviewContract(prompt, targetFiles) {
|
|
280
|
+
const normalizedPrompt = prompt.toLowerCase();
|
|
281
|
+
const touchesBacklog = targetFiles.some((file) => file.toLowerCase().includes("backlog/"));
|
|
282
|
+
const looksLikeReview = normalizedPrompt.includes("you are reviewing") || normalizedPrompt.includes("review this backlog") || normalizedPrompt.includes("review") && normalizedPrompt.includes("backlog");
|
|
283
|
+
const isBacklogReview = touchesBacklog && looksLikeReview;
|
|
284
|
+
if (!isBacklogReview) {
|
|
285
|
+
return prompt;
|
|
286
|
+
}
|
|
287
|
+
const contractLines = [
|
|
288
|
+
"## BACKLOG REVIEW CONTRACT",
|
|
289
|
+
"**Do not delete or rewrite existing sections.** Only append a 'Review' section at the top of the file.",
|
|
290
|
+
"",
|
|
291
|
+
"Keep all existing content intact (implementation plan, references, timestamps, etc.).",
|
|
292
|
+
"",
|
|
293
|
+
"**Output expectations:**",
|
|
294
|
+
"- Target length: ~25\u201360 lines total (for the Review section)",
|
|
295
|
+
"- Cover all required sections; 3\u20135 bullets per section",
|
|
296
|
+
"- End with a short 'Recommended next action' (1\u20132 bullets)",
|
|
297
|
+
""
|
|
298
|
+
];
|
|
299
|
+
const fileSpecPattern = /^FILE:/im;
|
|
300
|
+
if (fileSpecPattern.test(prompt)) {
|
|
301
|
+
const lines = prompt.split("\n");
|
|
302
|
+
let insertIndex = 0;
|
|
303
|
+
for (let i = 0; i < lines.length; i++) {
|
|
304
|
+
const line = lines[i];
|
|
305
|
+
if (line && /^FILE:/i.test(line)) {
|
|
306
|
+
insertIndex = i + 1;
|
|
307
|
+
while (insertIndex < lines.length) {
|
|
308
|
+
const nextLine = lines[insertIndex];
|
|
309
|
+
if (nextLine && /^FILE:/i.test(nextLine)) {
|
|
310
|
+
insertIndex++;
|
|
311
|
+
} else {
|
|
312
|
+
break;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
break;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
lines.splice(insertIndex, 0, ...contractLines);
|
|
319
|
+
return lines.join("\n");
|
|
320
|
+
}
|
|
321
|
+
return `${contractLines.join("\n")}
|
|
322
|
+
${prompt}`;
|
|
323
|
+
}
|
|
324
|
+
function generateSpecHarness(root) {
|
|
325
|
+
return `## Spec Harness v1: Deterministic Output Expectations
|
|
326
|
+
|
|
327
|
+
**Purpose:** Ensure consistent, testable outputs across all providers
|
|
328
|
+
|
|
329
|
+
### Required Semantics
|
|
330
|
+
- All file paths MUST be repo-relative (not absolute)
|
|
331
|
+
- All edits MUST target files within the repository
|
|
332
|
+
- Do NOT edit generated, dependency, or build output directories (e.g. vendor/, node_modules/, .git/, dist/, target/, __pycache__/, build/)
|
|
333
|
+
- Do NOT edit \`.poetic/\` except for required control files (e.g. \`.poetic/edits.jsonl\`) or when explicitly requested
|
|
334
|
+
- Configuration files require explicit justification in completion signal
|
|
335
|
+
|
|
336
|
+
### Must-Fail Inputs (Your output should handle these gracefully)
|
|
337
|
+
- Empty/null file paths
|
|
338
|
+
- Paths outside repository boundaries
|
|
339
|
+
- Circular dependencies in imports
|
|
340
|
+
- Syntax errors in generated code
|
|
341
|
+
|
|
342
|
+
### Output Stability Rules
|
|
343
|
+
1. **Deterministic ordering**: Always process files in lexicographic order
|
|
344
|
+
2. **Consistent formatting**: Use project's existing style (respect .editorconfig, biome.json, etc.)
|
|
345
|
+
3. **Stable identifiers**: Generated names should be predictable (avoid random suffixes unless required)
|
|
346
|
+
4. **Idempotency**: Running the same task twice should produce equivalent results
|
|
347
|
+
|
|
348
|
+
${renderSmokeCommandsSection(root)}`;
|
|
349
|
+
}
|
|
350
|
+
function renderSmokeCommandsSection(root) {
|
|
351
|
+
const header = "### Smoke Commands for Self-Validation";
|
|
352
|
+
const trailer = "**Note:** These are validation expectations. Run the targeted checks when feasible, especially for touched code or tests. If you cannot run them, say that explicitly in your completion signal and still emit the completion signal.";
|
|
353
|
+
if (root) {
|
|
354
|
+
const commands = resolveSpecHarnessConvergenceCommands(root);
|
|
355
|
+
if (commands.length > 0) {
|
|
356
|
+
const bullets = commands.map((command) => `- \`${command}\``).join("\n");
|
|
357
|
+
return `${header}
|
|
358
|
+
Before completing, mentally verify (or actually run if you have shell access) the project's verification commands:
|
|
359
|
+
${bullets}
|
|
360
|
+
Also run the project's documented lint/build commands when you touched relevant code.
|
|
361
|
+
|
|
362
|
+
${trailer}`;
|
|
363
|
+
}
|
|
364
|
+
return `${header}
|
|
365
|
+
Before completing, mentally verify (or actually run if you have shell access) the project's own test, lint, and build commands as documented for this project. If this project's language is not recognized or has no verification commands, report verification as unavailable in your completion signal rather than claiming the output is clean.
|
|
366
|
+
|
|
367
|
+
${trailer}`;
|
|
368
|
+
}
|
|
369
|
+
return `${header}
|
|
370
|
+
Before completing, mentally verify (or actually run if you have shell access) the project's own test, lint, and build commands as documented for this project. If this project's language is not recognized or has no verification commands, report verification as unavailable in your completion signal rather than claiming the output is clean.
|
|
371
|
+
|
|
372
|
+
${trailer}`;
|
|
373
|
+
}
|
|
374
|
+
var COMPLETION_DIRECTIVE_VARIANT_A = `## REQUIRED: Completion Signal
|
|
375
|
+
|
|
376
|
+
Before finishing, emit exactly ONE completion signal (as a JSON line, not in code fences):
|
|
377
|
+
|
|
378
|
+
{"type":"poetic_completion","filesEdited":["path/to/file.ts"],"editIntent":"edited","reason":"<what you did>"}
|
|
379
|
+
|
|
380
|
+
**editIntent values:**
|
|
381
|
+
- "edited": You made changes to files
|
|
382
|
+
- "no-op": No changes needed (MUST explain why in reason)
|
|
383
|
+
- "partial": Some changes made but incomplete (explain what's missing)
|
|
384
|
+
|
|
385
|
+
**Examples:**
|
|
386
|
+
{"type":"poetic_completion","filesEdited":["src/auth.ts"],"editIntent":"edited","reason":"Added null check for user object"}
|
|
387
|
+
{"type":"poetic_completion","filesEdited":[],"editIntent":"no-op","reason":"File already contains all specified functions"}
|
|
388
|
+
{"type":"poetic_completion","filesEdited":["src/api.ts"],"editIntent":"partial","reason":"Added 2/3 endpoints; third needs schema change"}
|
|
389
|
+
|
|
390
|
+
If you cannot complete the task, still emit with "partial" and explain why.`;
|
|
391
|
+
var COMPLETION_DIRECTIVE_VARIANT_B = `## MANDATORY: Task Completion Signal
|
|
392
|
+
|
|
393
|
+
When done, output exactly ONE completion record (raw JSON line \u2014 no markdown fences):
|
|
394
|
+
|
|
395
|
+
{"type":"poetic_completion","filesEdited":["path/to/file.ts"],"editIntent":"edited","reason":"<summary of what you did>"}
|
|
396
|
+
|
|
397
|
+
**editIntent options:**
|
|
398
|
+
- "edited": files were modified
|
|
399
|
+
- "no-op": nothing to change (reason field must explain why)
|
|
400
|
+
- "partial": work is incomplete (reason field must describe what remains)
|
|
401
|
+
|
|
402
|
+
**Examples:**
|
|
403
|
+
{"type":"poetic_completion","filesEdited":["src/auth.ts"],"editIntent":"edited","reason":"Added null check for user object"}
|
|
404
|
+
{"type":"poetic_completion","filesEdited":[],"editIntent":"no-op","reason":"File already contains all specified functions"}
|
|
405
|
+
{"type":"poetic_completion","filesEdited":["src/api.ts"],"editIntent":"partial","reason":"Added 2/3 endpoints; third needs schema change"}
|
|
406
|
+
|
|
407
|
+
Always emit this record \u2014 even if the task could not be completed. Use "partial" and describe why.`;
|
|
408
|
+
function generateCompletionDirectiveWithVariant(forceVariant) {
|
|
409
|
+
const variant = forceVariant ?? (Math.random() < 0.5 ? "A" : "B");
|
|
410
|
+
const text = variant === "A" ? COMPLETION_DIRECTIVE_VARIANT_A : COMPLETION_DIRECTIVE_VARIANT_B;
|
|
411
|
+
return { text, completion_signal_variant: variant };
|
|
412
|
+
}
|
|
413
|
+
function appendWorkspaceEditInstructions(prompt, options) {
|
|
414
|
+
const {
|
|
415
|
+
targetFiles: _targetFiles = [],
|
|
416
|
+
// FILE: enforcement disabled per A/B test results (2026-02-02)
|
|
417
|
+
includeExamples = true,
|
|
418
|
+
level = "conservative",
|
|
419
|
+
executionIntent: _executionIntent,
|
|
420
|
+
// Accepted but not currently used
|
|
421
|
+
projectRoot
|
|
422
|
+
} = options;
|
|
423
|
+
const fileContext = "";
|
|
424
|
+
const editInstructions = [
|
|
425
|
+
"Workspace Edit Protocol:",
|
|
426
|
+
"1. For every file change, write ONE JSON line to `.poetic/edits.jsonl` in this worktree.",
|
|
427
|
+
' Format: {"type":"poetic_edit","op":"writeFile","path":"relative/path.ts","contents":"FULL FILE CONTENT"}',
|
|
428
|
+
"2. Supported ops:",
|
|
429
|
+
" - writeFile: complete file replacement",
|
|
430
|
+
" - appendFile: add content to end of file",
|
|
431
|
+
" - renameFile, deleteFile as needed",
|
|
432
|
+
"3. Paths must be repo-relative and must not target generated, dependency, or build output directories (e.g. vendor/, node_modules/, .git/, dist/, target/, __pycache__/, build/).",
|
|
433
|
+
" Note: `.poetic/edits.jsonl` is required for edit events; avoid other `.poetic/` writes unless explicitly requested."
|
|
434
|
+
];
|
|
435
|
+
const exampleSection = includeExamples ? [
|
|
436
|
+
"\nEdit Event Examples:",
|
|
437
|
+
'{"type":"poetic_edit","op":"writeFile","path":"src/utils/logger.ts","contents":"...full file content..."}',
|
|
438
|
+
'{"type":"poetic_edit","op":"appendFile","path":"src/config.ts","contents":"// New configuration added"}'
|
|
439
|
+
] : [];
|
|
440
|
+
const aggressionLevelNotes = {
|
|
441
|
+
conservative: "Thorough documentation, preserve existing code structure.",
|
|
442
|
+
moderate: "Balanced approach, refactor with careful consideration.",
|
|
443
|
+
aggressive: "Open to significant restructuring if beneficial."
|
|
444
|
+
}[level];
|
|
445
|
+
const completionDirective = generateCompletionDirectiveWithVariant();
|
|
446
|
+
return {
|
|
447
|
+
text: [
|
|
448
|
+
prompt,
|
|
449
|
+
"\n",
|
|
450
|
+
generateSpecHarness(projectRoot),
|
|
451
|
+
"\n",
|
|
452
|
+
fileContext,
|
|
453
|
+
editInstructions.join("\n"),
|
|
454
|
+
`Execution Strategy: ${aggressionLevelNotes}`,
|
|
455
|
+
...exampleSection,
|
|
456
|
+
"\n",
|
|
457
|
+
completionDirective.text
|
|
458
|
+
].join("\n"),
|
|
459
|
+
completionSignalVariant: completionDirective.completion_signal_variant
|
|
460
|
+
};
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
export {
|
|
464
|
+
resolveSpecHarnessConvergenceCommands,
|
|
465
|
+
neutralizePoeticContextMarkers,
|
|
466
|
+
neutralizeUnpairedPoeticContextMarkers,
|
|
467
|
+
stripPoeticContextBlocks,
|
|
468
|
+
normalizePath,
|
|
469
|
+
normalizeFileTargetToken,
|
|
470
|
+
stripNegatedFileClauses,
|
|
471
|
+
extractScopedEditOnlyPaths,
|
|
472
|
+
renderFileTargets,
|
|
473
|
+
hasExplicitFileTargets,
|
|
474
|
+
extractExplicitFileTargets,
|
|
475
|
+
generateWorkspaceAgentHeader,
|
|
476
|
+
generateAnalysisModeInstructions,
|
|
477
|
+
extractFileTargets,
|
|
478
|
+
generateMinimalAdaptation,
|
|
479
|
+
injectBacklogReviewContract,
|
|
480
|
+
generateCompletionDirectiveWithVariant,
|
|
481
|
+
appendWorkspaceEditInstructions
|
|
482
|
+
};
|
|
483
|
+
//# sourceMappingURL=chunk-JQD5VYKR.js.map
|