@poetic-ai/poetic 1.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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-JIMGP3LY.js +1597 -0
- package/dist/PromptStore-U6ZD3ZMQ.js +18 -0
- package/dist/actions-LUJPINLJ.js +322 -0
- package/dist/agent-ingest-3DJUJ7FU.js +53 -0
- package/dist/aggregator-DNCBINFO.js +12 -0
- package/dist/ai-judge-5QT5QJVU.js +156 -0
- package/dist/allowlist-grounding-RO6HKUFI.js +16 -0
- package/dist/allowlist-utils-23V7TJ3G.js +28 -0
- package/dist/anchored-turn-service-JULUCUIK.js +489 -0
- package/dist/api-transport-4TYTNLTJ.js +1087 -0
- package/dist/apply-completion-mode-AW2MOS3R.js +89 -0
- package/dist/artifact-migrator-23L45ISD.js +267 -0
- package/dist/ask-HWVV6QFR.js +135 -0
- package/dist/auth-5KEDKAPP.js +67 -0
- package/dist/auth-7TT3JINV.js +78 -0
- package/dist/auth-E6XUNZ5M.js +68 -0
- package/dist/auth-H3XDZE22.js +134 -0
- package/dist/auth-OC4E6633.js +71 -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-VPRWOWGU.js +80 -0
- package/dist/autoloop-cleanup-JOGKTLWA.js +109 -0
- package/dist/autoloop-evidence-gates-PCDALGVJ.js +38 -0
- package/dist/autoloop-gate-policy-Z7FVJVXV.js +175 -0
- package/dist/autoloop-helpers-2KTK43GL.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-J2VKKBXQ.js +85 -0
- package/dist/autoloop-termination-summary-RN75F422.js +58 -0
- package/dist/autoloop-trajectory-XFIEXP5Z.js +282 -0
- package/dist/autoloop-wall-clock-T7ZVIQOC.js +12 -0
- package/dist/autonomous-loop-controller-PW4XVFGQ.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-VCSBJVRN.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-YHGRB4QB.js +71 -0
- package/dist/change-summary-WY7J5TOX.js +33 -0
- package/dist/chunk-23A26CSN.js +123 -0
- package/dist/chunk-27UTJD3M.js +265 -0
- package/dist/chunk-2A5CILN3.js +310 -0
- package/dist/chunk-2AQUWJPW.js +225 -0
- package/dist/chunk-2BZ53J6J.js +2344 -0
- package/dist/chunk-2DY5KNVM.js +276 -0
- package/dist/chunk-2EIA4RBE.js +659 -0
- package/dist/chunk-2IUXIGQD.js +1064 -0
- package/dist/chunk-2N42MS2Z.js +2193 -0
- package/dist/chunk-2QJ3H3L7.js +42 -0
- package/dist/chunk-2QLYTVYX.js +791 -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-34CNP2HB.js +148 -0
- package/dist/chunk-35P3W3JX.js +456 -0
- package/dist/chunk-36PEBZAF.js +18 -0
- package/dist/chunk-3AOKYKA7.js +22 -0
- package/dist/chunk-3BCUNHKF.js +475 -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-3M57DADF.js +44 -0
- package/dist/chunk-3S62LLWJ.js +543 -0
- package/dist/chunk-3ZPQLGV7.js +2904 -0
- package/dist/chunk-44N5WZZH.js +45 -0
- package/dist/chunk-45FPSA3B.js +125 -0
- package/dist/chunk-4BJ3O4RQ.js +929 -0
- package/dist/chunk-4BOP7T6L.js +2321 -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-4GSN5O5J.js +62 -0
- package/dist/chunk-4HN6DF7V.js +1027 -0
- package/dist/chunk-4IAPOG5V.js +415 -0
- package/dist/chunk-4IYIZQWV.js +48 -0
- package/dist/chunk-4NXPXE62.js +84 -0
- package/dist/chunk-4RCCF5BR.js +712 -0
- package/dist/chunk-4V7NAQ4R.js +19527 -0
- package/dist/chunk-4VJITV4P.js +445 -0
- package/dist/chunk-4YX7J6QL.js +1859 -0
- package/dist/chunk-527OBWQB.js +338 -0
- package/dist/chunk-5D4A7E3D.js +448 -0
- package/dist/chunk-5DLKYTQX.js +4003 -0
- package/dist/chunk-5EERLVZB.js +139 -0
- package/dist/chunk-5H72XE4H.js +256 -0
- package/dist/chunk-5HDP7XZG.js +91 -0
- package/dist/chunk-5LAMRH4X.js +969 -0
- package/dist/chunk-5LTN43AS.js +1972 -0
- package/dist/chunk-5RBHQYDB.js +2206 -0
- package/dist/chunk-5WCQRDRB.js +588 -0
- package/dist/chunk-5WRLK5KW.js +700 -0
- package/dist/chunk-5ZCXC23G.js +595 -0
- package/dist/chunk-6BM72ZMG.js +31 -0
- package/dist/chunk-6EDAJH2I.js +68 -0
- package/dist/chunk-6EQKFDBH.js +457 -0
- package/dist/chunk-6MFRHTRI.js +115 -0
- package/dist/chunk-6TZJRKNW.js +321 -0
- package/dist/chunk-6V7HGQFZ.js +20 -0
- package/dist/chunk-6VWVO2TU.js +3746 -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-73BBJOKA.js +263 -0
- package/dist/chunk-73NCTWKL.js +188 -0
- package/dist/chunk-77I6G4CO.js +1 -0
- package/dist/chunk-7DHRDWFS.js +3104 -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-7GPCEFUV.js +270 -0
- package/dist/chunk-7IL4A2PP.js +948 -0
- package/dist/chunk-7MMLMXO6.js +3679 -0
- package/dist/chunk-7QCZSLBH.js +1 -0
- package/dist/chunk-7R2WLDOS.js +62 -0
- package/dist/chunk-7T7RUJI7.js +949 -0
- package/dist/chunk-A2WKSVX7.js +43 -0
- package/dist/chunk-A3YGID55.js +133 -0
- package/dist/chunk-A722DEVA.js +14 -0
- package/dist/chunk-ACDIT7OP.js +1376 -0
- package/dist/chunk-ACKIPAOJ.js +302 -0
- package/dist/chunk-APPNGGN7.js +365 -0
- package/dist/chunk-APV6MK5E.js +137 -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-AURFMVCD.js +899 -0
- package/dist/chunk-AX6GWE7V.js +47 -0
- package/dist/chunk-AY5EWJPF.js +385 -0
- package/dist/chunk-BAV2HJXS.js +194 -0
- package/dist/chunk-BBHRN366.js +89 -0
- package/dist/chunk-BBPSTTPA.js +1004 -0
- package/dist/chunk-BDATUDDJ.js +992 -0
- package/dist/chunk-BKE5PG5L.js +20414 -0
- package/dist/chunk-BLPHWMDK.js +797 -0
- package/dist/chunk-BSE4R6XD.js +322 -0
- package/dist/chunk-BXGMAU4A.js +396 -0
- package/dist/chunk-BXI4NXL3.js +507 -0
- package/dist/chunk-BZU2O43F.js +1125 -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-CJC6GZ46.js +457 -0
- package/dist/chunk-CKCDGXIV.js +408 -0
- package/dist/chunk-CKNX3TTP.js +10338 -0
- package/dist/chunk-CLKSETWE.js +10 -0
- package/dist/chunk-CP7H3HSP.js +1552 -0
- package/dist/chunk-CPLEWXNZ.js +66 -0
- package/dist/chunk-CQM3A35X.js +844 -0
- package/dist/chunk-CS6P76D3.js +103 -0
- package/dist/chunk-CTLUBNCW.js +622 -0
- package/dist/chunk-CUSRN6RJ.js +632 -0
- package/dist/chunk-D5EP5D2W.js +26 -0
- package/dist/chunk-D5RYINO7.js +412 -0
- package/dist/chunk-DBFS4HMH.js +751 -0
- package/dist/chunk-DC4ZYMXJ.js +115 -0
- package/dist/chunk-DCBZP442.js +9243 -0
- package/dist/chunk-DCYF7EKG.js +26 -0
- package/dist/chunk-DDMAFNUK.js +5351 -0
- package/dist/chunk-DF5SLDE4.js +966 -0
- package/dist/chunk-DJFW7SMX.js +348 -0
- package/dist/chunk-DQFLLBJW.js +121 -0
- package/dist/chunk-DSFM56OA.js +1203 -0
- package/dist/chunk-DTY4APYV.js +218 -0
- package/dist/chunk-DXH5JBRS.js +437 -0
- package/dist/chunk-E3NTPHEO.js +194 -0
- package/dist/chunk-E74LUIID.js +302 -0
- package/dist/chunk-EI57M5BI.js +194 -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-ETYDXCK7.js +679 -0
- package/dist/chunk-EYRH3W74.js +239 -0
- package/dist/chunk-F23DIWNN.js +1024 -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-FD4ERYEG.js +22 -0
- package/dist/chunk-FH7WOJAE.js +79 -0
- package/dist/chunk-FHOWVDF5.js +1342 -0
- package/dist/chunk-FKAUPHMR.js +96 -0
- package/dist/chunk-FONNFJXA.js +137 -0
- package/dist/chunk-FQ7FSZRW.js +75 -0
- package/dist/chunk-FRG57FPM.js +240 -0
- package/dist/chunk-FUVP64ER.js +31 -0
- package/dist/chunk-FYOILAN5.js +6818 -0
- package/dist/chunk-G35UYQ6Z.js +69 -0
- package/dist/chunk-G36W2T2S.js +1143 -0
- package/dist/chunk-G3L2L5XZ.js +49 -0
- package/dist/chunk-G4THLFV3.js +148 -0
- package/dist/chunk-GAFJEYLK.js +29 -0
- package/dist/chunk-GFGYB2ZU.js +1689 -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-GK37ILCX.js +1231 -0
- package/dist/chunk-GKN3HMN4.js +2809 -0
- package/dist/chunk-GNVDBVJP.js +156 -0
- package/dist/chunk-GPEL3FBM.js +924 -0
- package/dist/chunk-GPSNGPZS.js +1604 -0
- package/dist/chunk-GSGD5E4C.js +30 -0
- package/dist/chunk-GSUQJJXQ.js +331 -0
- package/dist/chunk-GSV226X6.js +110 -0
- package/dist/chunk-H2AYQIHW.js +224 -0
- package/dist/chunk-H66DXFS5.js +1374 -0
- package/dist/chunk-H6G7QRMQ.js +35 -0
- package/dist/chunk-H7JAGHZT.js +59 -0
- package/dist/chunk-H7ZEFECA.js +316 -0
- package/dist/chunk-HAC6EHZZ.js +79 -0
- package/dist/chunk-HIO33P3G.js +19 -0
- package/dist/chunk-HMVQIPH3.js +547 -0
- package/dist/chunk-HOYBYAOA.js +257 -0
- package/dist/chunk-HX5P3CSP.js +1784 -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-IC7I6YIJ.js +301 -0
- package/dist/chunk-IDCSOZVN.js +78 -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-IRFBN336.js +878 -0
- package/dist/chunk-IUXNGKA6.js +152 -0
- package/dist/chunk-IV2RVAN7.js +1356 -0
- package/dist/chunk-IZYIQQ7X.js +53 -0
- package/dist/chunk-J3UUR7DE.js +210 -0
- package/dist/chunk-J54VUAY2.js +566 -0
- package/dist/chunk-J62KPGII.js +464 -0
- package/dist/chunk-J6P3FWWW.js +130 -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-JQNJB2BB.js +2440 -0
- package/dist/chunk-JRVNSWSQ.js +2626 -0
- package/dist/chunk-JSWMRQYG.js +28 -0
- package/dist/chunk-JZKNBBIB.js +152 -0
- package/dist/chunk-K54Y7MLK.js +160 -0
- package/dist/chunk-K65546RE.js +183 -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-KP6YILMU.js +482 -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-KZ5CJVBP.js +1813 -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-LG3PDRTR.js +2872 -0
- package/dist/chunk-LGHII5ET.js +23 -0
- package/dist/chunk-LH5QY22X.js +1205 -0
- package/dist/chunk-LIVJ6266.js +438 -0
- package/dist/chunk-LKRAR3IH.js +276 -0
- package/dist/chunk-LO23NABI.js +3063 -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-LRGMHROI.js +79 -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-M3HQYKQX.js +308 -0
- package/dist/chunk-M6GVSPEH.js +1016 -0
- package/dist/chunk-MF5HP6XV.js +221 -0
- package/dist/chunk-MHLCBZJB.js +328 -0
- package/dist/chunk-MN6PL4AN.js +120 -0
- package/dist/chunk-MOEY65Z6.js +5678 -0
- package/dist/chunk-MQ4WA34C.js +206 -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-N4VTRA7K.js +131 -0
- package/dist/chunk-N5DX4JAK.js +12 -0
- package/dist/chunk-N65O4XTH.js +5011 -0
- package/dist/chunk-NEQUQHOX.js +223 -0
- package/dist/chunk-NGK6PEOG.js +25 -0
- package/dist/chunk-NJVD4PWE.js +1033 -0
- package/dist/chunk-NM6PMYY4.js +768 -0
- package/dist/chunk-NN4PJDHP.js +708 -0
- package/dist/chunk-NP2V3L7K.js +226 -0
- package/dist/chunk-NRLY536M.js +260 -0
- package/dist/chunk-NRNE225N.js +1270 -0
- package/dist/chunk-NS2K2GTP.js +605 -0
- package/dist/chunk-NS33V3IM.js +51 -0
- package/dist/chunk-NSHASMZZ.js +71 -0
- package/dist/chunk-NWOYOA6H.js +378 -0
- package/dist/chunk-NWRUSEXG.js +322 -0
- package/dist/chunk-NZGDAWIP.js +1905 -0
- package/dist/chunk-O47UOKU3.js +395 -0
- package/dist/chunk-O4G2W3ST.js +9831 -0
- package/dist/chunk-O6V4PNLO.js +63 -0
- package/dist/chunk-OA4GPILI.js +624 -0
- package/dist/chunk-OGMSYL6J.js +227 -0
- package/dist/chunk-OIS7J26S.js +319 -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-OYZYO7TV.js +47 -0
- package/dist/chunk-OZ4REHIN.js +4386 -0
- package/dist/chunk-P47VN5F4.js +282 -0
- package/dist/chunk-P5I4X7A7.js +353 -0
- package/dist/chunk-P6VQROCO.js +594 -0
- package/dist/chunk-P7CQGPLS.js +30 -0
- package/dist/chunk-PCAGC5MR.js +1763 -0
- package/dist/chunk-PFTQBXS6.js +5181 -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-PL37JDNA.js +189 -0
- package/dist/chunk-PTH5E5XO.js +195 -0
- package/dist/chunk-PW6AXLQC.js +4128 -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-Q5XIXSHX.js +271 -0
- package/dist/chunk-QGJDMEOV.js +34 -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-QVFV5IP2.js +232 -0
- package/dist/chunk-QVZMFDYG.js +29 -0
- package/dist/chunk-R35PEUKH.js +511 -0
- package/dist/chunk-R4UWBC35.js +200 -0
- package/dist/chunk-R6MLCREW.js +44 -0
- package/dist/chunk-R6W23LKN.js +254 -0
- package/dist/chunk-R7XDDX2A.js +4007 -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-RJAAKDRX.js +17 -0
- package/dist/chunk-ROMHOSMQ.js +185 -0
- package/dist/chunk-RWREC3KJ.js +517 -0
- package/dist/chunk-RYNETRDJ.js +118 -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-S5OIDFRM.js +302 -0
- package/dist/chunk-SCW4ZF6R.js +150 -0
- package/dist/chunk-SLS2N4PH.js +2213 -0
- package/dist/chunk-SNLBO4BF.js +247 -0
- package/dist/chunk-SP3LFU6B.js +60 -0
- package/dist/chunk-SQQTDDQA.js +537 -0
- package/dist/chunk-STV6LYYE.js +45 -0
- package/dist/chunk-SURZ2WFE.js +326 -0
- package/dist/chunk-SZ7DL357.js +1047 -0
- package/dist/chunk-T5E4NQCM.js +5742 -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-TGQZHDY2.js +2373 -0
- package/dist/chunk-TJJZ2OKV.js +6783 -0
- package/dist/chunk-TRSVUPCX.js +25 -0
- package/dist/chunk-TSXGRLPR.js +107 -0
- package/dist/chunk-U2S3YEX3.js +224 -0
- package/dist/chunk-U45RTRGY.js +818 -0
- package/dist/chunk-U6C3VVWS.js +13 -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-UMAKSB4Z.js +284 -0
- package/dist/chunk-UR2IBGIM.js +521 -0
- package/dist/chunk-UUH2RVKS.js +585 -0
- package/dist/chunk-UVJ4PJDK.js +4533 -0
- package/dist/chunk-V53UG2OT.js +9924 -0
- package/dist/chunk-V72RMBM4.js +48 -0
- package/dist/chunk-VBNCKCCI.js +16 -0
- package/dist/chunk-VNSYKC25.js +24 -0
- package/dist/chunk-VPHVFK4A.js +1984 -0
- package/dist/chunk-VTLNJQ44.js +133 -0
- package/dist/chunk-VTW7HP3R.js +100 -0
- package/dist/chunk-VVGEPBPS.js +218 -0
- package/dist/chunk-VVLLL7I4.js +166 -0
- package/dist/chunk-VX3UMWB7.js +483 -0
- package/dist/chunk-VXF4Q3FW.js +20 -0
- package/dist/chunk-W3JMT2YY.js +712 -0
- package/dist/chunk-WDUORIHF.js +877 -0
- package/dist/chunk-WDVTY4U6.js +148 -0
- package/dist/chunk-WIFZCHEG.js +12566 -0
- package/dist/chunk-WIRN3F75.js +736 -0
- package/dist/chunk-WMPU2UOV.js +82 -0
- package/dist/chunk-WTOKKE2V.js +784 -0
- package/dist/chunk-WX5IRLF6.js +740 -0
- package/dist/chunk-WZ6U3O7I.js +1581 -0
- package/dist/chunk-XAONGNST.js +57 -0
- package/dist/chunk-XB5YLCLB.js +13 -0
- package/dist/chunk-XEP5NQ5Y.js +688 -0
- package/dist/chunk-XGYF2QMZ.js +351 -0
- package/dist/chunk-XHEKQENB.js +255 -0
- package/dist/chunk-XNO4FM6X.js +1124 -0
- package/dist/chunk-XPHKYHO4.js +878 -0
- package/dist/chunk-XPK2I4NC.js +405 -0
- package/dist/chunk-XPU2XADL.js +2175 -0
- package/dist/chunk-XQD2B6BB.js +507 -0
- package/dist/chunk-XT2ZQVTC.js +558 -0
- package/dist/chunk-XTXJGGUV.js +351 -0
- package/dist/chunk-XUXVDPSZ.js +50 -0
- package/dist/chunk-XV7NZL4B.js +57 -0
- package/dist/chunk-XZE4XARH.js +563 -0
- package/dist/chunk-XZYR5EDO.js +152 -0
- package/dist/chunk-Y3J4JMTU.js +61 -0
- package/dist/chunk-Y55LZN5U.js +52 -0
- package/dist/chunk-Y5VN7DMP.js +112 -0
- package/dist/chunk-Y67VAHN4.js +459 -0
- package/dist/chunk-YAXSKEUH.js +3544 -0
- package/dist/chunk-YB3JD4E6.js +975 -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-YTYIEZQY.js +119 -0
- package/dist/chunk-YVORHQ2S.js +579 -0
- package/dist/chunk-Z2CUQDAR.js +3429 -0
- package/dist/chunk-Z2KYOFHS.js +7000 -0
- package/dist/chunk-Z6PC7QX6.js +161 -0
- package/dist/chunk-ZDTGECTN.js +235 -0
- package/dist/chunk-ZIPWI2LY.js +151 -0
- package/dist/chunk-ZSKKMTQJ.js +554 -0
- package/dist/chunk-ZTT5IVPY.js +1160 -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-IXL26KJT.js +40 -0
- package/dist/cli-validation-WLXWLUJL.js +111 -0
- package/dist/commit-utils-P7CRJF5N.js +202 -0
- package/dist/compete-config-resolver-R5ULXMYH.js +76 -0
- package/dist/compete-request-62JESVET.js +364 -0
- package/dist/compete-results-QEPG6FZX.js +208 -0
- package/dist/competition-outcome-tracker-R32OOZ43.js +38 -0
- package/dist/config-JCOKXOQT.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-7T4E2BQO.js +67 -0
- package/dist/config-validator-KKOHOW7O.js +72 -0
- package/dist/cost-YC42XUF3.js +53 -0
- package/dist/coverage-orchestrator-CISNKJC2.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-GJOYE7AE.js +186 -0
- package/dist/domain-analyzer-AWF3RP6E.js +29 -0
- package/dist/ensure-initialized-744DIZEZ.js +52 -0
- package/dist/entry.js +940 -0
- package/dist/environment-YS45U5ZI.js +81 -0
- package/dist/error-parser-core-PPZ36A4S.js +50 -0
- package/dist/escalation-ladder-MKTCEGSA.js +130 -0
- package/dist/evaluation-context-KV4GZNN7.js +35 -0
- package/dist/evidence-plan-resolver-GBSYSAPX.js +85 -0
- package/dist/execution-data-writer-3ODTBDLH.js +53 -0
- package/dist/execution-policy-applier-ZHD3DCF3.js +31 -0
- package/dist/execution-preflight-Z4Y64V3I.js +209 -0
- package/dist/execution-roles-R3DPPMD3.js +66 -0
- package/dist/exit-code-error-Z4SW2DVK.js +14 -0
- package/dist/external-temp-cleanup-N2RZH4QP.js +311 -0
- package/dist/factory-XBN7DFIM.js +149 -0
- package/dist/file-utils-XIVR2ZMA.js +47 -0
- package/dist/flywheel-autoloop-executor-UILGOFFK.js +249 -0
- package/dist/flywheel-competition-executor-JOBEXTRB.js +259 -0
- package/dist/flywheel-executor-6JFLA6J5.js +369 -0
- package/dist/flywheel-git-isolation-UC5NIEVU.js +48 -0
- package/dist/flywheel-manifest-5UC4VBMA.js +108 -0
- package/dist/flywheel-model-defaults-7CVKP53V.js +27 -0
- package/dist/flywheel-preflight-XEY5SHM6.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-DPVWWIYY.js +73 -0
- package/dist/git-worktree-IY6V6DUO.js +18 -0
- package/dist/github-pr-manager-4LXEKJTA.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 +108661 -0
- package/dist/instructions-6BURLQJC.js +64 -0
- package/dist/invoke-provider-auth-GRUYP44M.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-BJRFLGK4.js +23 -0
- package/dist/linux-host-class-UY4KVLFD.js +29 -0
- package/dist/llm-judge-executor-F7Z3HO77.js +133 -0
- package/dist/local-executor-CEHWE2PL.js +223 -0
- package/dist/logger-33TR6EE5.js +72 -0
- package/dist/loop-spec-XTLQAVZ7.js +191 -0
- package/dist/manager-2HJG5CLT.js +25 -0
- package/dist/matrix-prompt-builder-6UDN5X3F.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-XGYBG2DW.js +72 -0
- package/dist/next-PB5ZXZKB.js +90 -0
- package/dist/next-ZBDK725T.js +69 -0
- package/dist/optimization-config-resolver-O6WKR47U.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-VAGYBV3J.js +270 -0
- package/dist/plan-backlog-show-fast-SG2CZPW3.js +406 -0
- package/dist/plan-sprint-list-fast-LURAX47V.js +162 -0
- package/dist/plan-sprint-status-fast-FJAODCHD.js +208 -0
- package/dist/plan-task-status-fast-HNYBMQI4.js +349 -0
- package/dist/plan-to-flywheel-Z4U3GWPN.js +456 -0
- package/dist/planning-backlog-3CQ5QQBQ.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-SE5EVXAP.js +149 -0
- package/dist/prompts-WZZPGWBX.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-N5X57V3Y.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-YRHMQAEI.js +70 -0
- package/dist/quickstart-FIRLKGJI.js +62 -0
- package/dist/readiness-VZTMSG6J.js +96 -0
- package/dist/registry-YODFY77A.js +153 -0
- package/dist/repair-helpers-TTV5FEF4.js +117 -0
- package/dist/repo-root-2IGD4H7X.js +22 -0
- package/dist/resolution-engine-D6TX6FRG.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-F5WQEUOM.js +160 -0
- package/dist/run-poetic-tui-J6LWRJUP.js +13517 -0
- package/dist/run-simulation.js +376 -0
- package/dist/runner-CS2TNGHA.js +1092 -0
- package/dist/runner-HHH7ZN2Z.js +1571 -0
- package/dist/safety-OCC4KJJR.js +64 -0
- package/dist/safety-stanza-7SV3HGG3.js +60 -0
- package/dist/sandbox-32QXJEMV.js +81 -0
- package/dist/sandbox-RSO7VP6V.js +94 -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-UIXPYOXQ.js +338 -0
- package/dist/sprint-bridge-4BHMSC3M.js +68 -0
- package/dist/sprint-execution-service-2B7WHL5L.js +311 -0
- package/dist/sprint-manager-IDQUDNQI.js +91 -0
- package/dist/sqlite-wrapper-UDWCTNLJ.js +17 -0
- package/dist/stale-cleanup-orchestrator-XWXV7KCZ.js +62 -0
- package/dist/storage-access-F6ALDN4S.js +22 -0
- package/dist/synthesis-XD6EDVHF.js +185 -0
- package/dist/task-classifier-LNLXSHOM.js +494 -0
- package/dist/task-list-fast-PTMA4LUC.js +147 -0
- package/dist/task-manager-XAT7GOWB.js +93 -0
- package/dist/task-splitter-U7DJ7W6A.js +79 -0
- package/dist/task-type-detector-OLVOMXZO.js +21 -0
- package/dist/task-type-resolver-KKNQYSB4.js +42 -0
- package/dist/telemetry-5HWBBXLX.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-XUOZNZZ6.js +125 -0
- package/dist/token-estimator-MEQUL3EJ.js +37 -0
- package/dist/transports-KNSSV2V4.js +255 -0
- package/dist/unified-cost-tracker-4TFRBVPR.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-KLRNG6XA.js +33 -0
- package/dist/variant-state-cleanup-MZGGLQAJ.js +280 -0
- package/dist/variant-success-PJXWE3ZV.js +12 -0
- package/dist/variant-worker-KUWKBLAH.js +4196 -0
- package/dist/variant-worker.js +24 -0
- package/dist/variants-JE2FSAQS.js +233 -0
- package/dist/verification-toolchains-V24UHW6Q.js +28 -0
- package/dist/verify-commands-H3DTCSGI.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-7SA2VS2Y.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 +7042 -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/npm-shrinkwrap.json +4950 -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,206 @@
|
|
|
1
|
+
import {
|
|
2
|
+
evaluateStaleReclaim
|
|
3
|
+
} from "./chunk-P7CQGPLS.js";
|
|
4
|
+
import {
|
|
5
|
+
signalCoordinator
|
|
6
|
+
} from "./chunk-72YTZMAM.js";
|
|
7
|
+
|
|
8
|
+
// src/planning/ingest-lock.ts
|
|
9
|
+
import { randomUUID } from "crypto";
|
|
10
|
+
import * as fs from "fs/promises";
|
|
11
|
+
import * as os from "os";
|
|
12
|
+
import * as path from "path";
|
|
13
|
+
var DEFAULTS = {
|
|
14
|
+
timeoutMs: 6e4,
|
|
15
|
+
staleThresholdMs: 3e5,
|
|
16
|
+
initialRetryMs: 50,
|
|
17
|
+
maxRetryMs: 2e3,
|
|
18
|
+
backoffFactor: 2
|
|
19
|
+
};
|
|
20
|
+
var CROSS_HOST_STALE_MULTIPLIER = 3;
|
|
21
|
+
function sleep(ms) {
|
|
22
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
23
|
+
}
|
|
24
|
+
function getHostIdentity() {
|
|
25
|
+
const envHostname = process.env.HOSTNAME?.trim();
|
|
26
|
+
return envHostname || os.hostname() || "unknown";
|
|
27
|
+
}
|
|
28
|
+
async function readLockPayload(lockFile) {
|
|
29
|
+
const read = await readLockPayloadWithRaw(lockFile);
|
|
30
|
+
return read?.payload ?? null;
|
|
31
|
+
}
|
|
32
|
+
async function readLockPayloadWithRaw(lockFile) {
|
|
33
|
+
try {
|
|
34
|
+
const content = await fs.readFile(lockFile, "utf-8");
|
|
35
|
+
let payload = null;
|
|
36
|
+
try {
|
|
37
|
+
payload = JSON.parse(content);
|
|
38
|
+
} catch {
|
|
39
|
+
payload = null;
|
|
40
|
+
}
|
|
41
|
+
return { payload, rawContent: content };
|
|
42
|
+
} catch {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function isProcessAlive(pid) {
|
|
47
|
+
try {
|
|
48
|
+
process.kill(pid, 0);
|
|
49
|
+
return true;
|
|
50
|
+
} catch (error) {
|
|
51
|
+
if (error.code === "EPERM") {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async function isLockStaleAndAbandoned(lockFile, staleThresholdMs) {
|
|
58
|
+
try {
|
|
59
|
+
const stat2 = await fs.stat(lockFile);
|
|
60
|
+
const ageMs = Date.now() - stat2.mtimeMs;
|
|
61
|
+
const read = await readLockPayloadWithRaw(lockFile);
|
|
62
|
+
if (!read) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
const payload = read.payload;
|
|
66
|
+
let holder = null;
|
|
67
|
+
if (payload && typeof payload.pid === "number") {
|
|
68
|
+
const currentHostname = getHostIdentity();
|
|
69
|
+
const hasUnknownHost = payload.hostname === "unknown" || currentHostname === "unknown";
|
|
70
|
+
const sameHost = !hasUnknownHost && payload.hostname === currentHostname;
|
|
71
|
+
holder = { sameHost, pidAlive: sameHost ? isProcessAlive(payload.pid) : false };
|
|
72
|
+
}
|
|
73
|
+
const decision = evaluateStaleReclaim(
|
|
74
|
+
{ ageMs, holder },
|
|
75
|
+
{
|
|
76
|
+
staleMs: staleThresholdMs,
|
|
77
|
+
corruptPayload: "reclaim",
|
|
78
|
+
foreignHost: { kind: "after-multiplier", multiplier: CROSS_HOST_STALE_MULTIPLIER },
|
|
79
|
+
// Preserve the original strict-greater-than age boundary (age <= stale
|
|
80
|
+
// holds; reclaim only strictly past stale / past 3x for foreign hosts).
|
|
81
|
+
ageBoundary: "gt"
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
return decision === "reclaim" ? { dev: stat2.dev, ino: stat2.ino, rawContent: read.rawContent } : null;
|
|
85
|
+
} catch {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
async function releaseOwnLock(lockFile, snapshot) {
|
|
90
|
+
try {
|
|
91
|
+
if (!await lockSnapshotStillMatches(lockFile, snapshot)) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
try {
|
|
95
|
+
await fs.unlink(lockFile);
|
|
96
|
+
} catch (error) {
|
|
97
|
+
if (error.code !== "ENOENT") {
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
} finally {
|
|
101
|
+
await snapshot.fileHandle?.close().catch(() => {
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
async function lockSnapshotStillMatches(lockFile, snapshot) {
|
|
106
|
+
try {
|
|
107
|
+
const [openFileStat, stat2, rawContent] = await Promise.all([
|
|
108
|
+
snapshot.fileHandle?.stat(),
|
|
109
|
+
fs.stat(lockFile),
|
|
110
|
+
fs.readFile(lockFile, "utf-8")
|
|
111
|
+
]);
|
|
112
|
+
const acquiredDev = openFileStat?.dev ?? snapshot.dev;
|
|
113
|
+
const acquiredIno = openFileStat?.ino ?? snapshot.ino;
|
|
114
|
+
return stat2.dev === acquiredDev && stat2.ino === acquiredIno && rawContent === snapshot.rawContent;
|
|
115
|
+
} catch {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
async function forceRelease(lockFile, snapshot) {
|
|
120
|
+
if (!await lockSnapshotStillMatches(lockFile, snapshot)) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
try {
|
|
124
|
+
await fs.unlink(lockFile);
|
|
125
|
+
} catch (error) {
|
|
126
|
+
if (error.code !== "ENOENT") {
|
|
127
|
+
throw error;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
async function withIngestLock(planningRoot, fn, options) {
|
|
132
|
+
const timeoutMs = options?.timeoutMs ?? DEFAULTS.timeoutMs;
|
|
133
|
+
const staleThresholdMs = options?.staleThresholdMs ?? DEFAULTS.staleThresholdMs;
|
|
134
|
+
const initialRetryMs = options?.initialRetryMs ?? DEFAULTS.initialRetryMs;
|
|
135
|
+
const maxRetryMs = options?.maxRetryMs ?? DEFAULTS.maxRetryMs;
|
|
136
|
+
const backoffFactor = options?.backoffFactor ?? DEFAULTS.backoffFactor;
|
|
137
|
+
const operation = options?.operation ?? "ingest";
|
|
138
|
+
const lockDir = options?.lockDir ?? path.join(planningRoot, ".poetic", "planning", "locks");
|
|
139
|
+
const lockFile = path.join(lockDir, "ingest.lock");
|
|
140
|
+
await fs.mkdir(lockDir, { recursive: true });
|
|
141
|
+
const startTime = Date.now();
|
|
142
|
+
let retryMs = initialRetryMs;
|
|
143
|
+
while (Date.now() - startTime < timeoutMs) {
|
|
144
|
+
const staleSnapshot = await isLockStaleAndAbandoned(lockFile, staleThresholdMs);
|
|
145
|
+
if (staleSnapshot) {
|
|
146
|
+
await forceRelease(lockFile, staleSnapshot);
|
|
147
|
+
}
|
|
148
|
+
try {
|
|
149
|
+
const ownerId = randomUUID();
|
|
150
|
+
const payload = {
|
|
151
|
+
pid: process.pid,
|
|
152
|
+
hostname: getHostIdentity(),
|
|
153
|
+
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
154
|
+
operation,
|
|
155
|
+
ownerId
|
|
156
|
+
};
|
|
157
|
+
const rawContent = JSON.stringify(payload, null, 2);
|
|
158
|
+
const fileHandle = await fs.open(lockFile, "wx");
|
|
159
|
+
let lockSnapshot;
|
|
160
|
+
try {
|
|
161
|
+
await fileHandle.writeFile(rawContent, "utf-8");
|
|
162
|
+
const lockStat = await fileHandle.stat();
|
|
163
|
+
lockSnapshot = { dev: lockStat.dev, ino: lockStat.ino, rawContent, fileHandle };
|
|
164
|
+
} catch (writeError) {
|
|
165
|
+
await fileHandle.close().catch(() => {
|
|
166
|
+
});
|
|
167
|
+
await fs.unlink(lockFile).catch(() => {
|
|
168
|
+
});
|
|
169
|
+
throw writeError;
|
|
170
|
+
}
|
|
171
|
+
const cleanupName = `planning-ingest-lock:${process.pid}:${operation}`;
|
|
172
|
+
const release = async () => {
|
|
173
|
+
try {
|
|
174
|
+
await releaseOwnLock(lockFile, lockSnapshot);
|
|
175
|
+
} finally {
|
|
176
|
+
signalCoordinator.unregister(cleanupName);
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
signalCoordinator.register(cleanupName, release, {
|
|
180
|
+
priority: "critical",
|
|
181
|
+
phase: "artifact-cleanup"
|
|
182
|
+
});
|
|
183
|
+
try {
|
|
184
|
+
return await fn();
|
|
185
|
+
} finally {
|
|
186
|
+
await release();
|
|
187
|
+
}
|
|
188
|
+
} catch (error) {
|
|
189
|
+
if (error.code === "EEXIST") {
|
|
190
|
+
await sleep(retryMs);
|
|
191
|
+
retryMs = Math.min(retryMs * backoffFactor, maxRetryMs);
|
|
192
|
+
continue;
|
|
193
|
+
}
|
|
194
|
+
throw error;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
const lockInfo = await readLockPayload(lockFile);
|
|
198
|
+
throw new Error(
|
|
199
|
+
`Ingest lock acquisition timed out after ${timeoutMs}ms. Lock held by PID ${lockInfo?.pid ?? "unknown"} since ${lockInfo?.createdAt ?? "unknown"} (operation: ${lockInfo?.operation ?? "unknown"})`
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
export {
|
|
204
|
+
withIngestLock
|
|
205
|
+
};
|
|
206
|
+
//# sourceMappingURL=chunk-MQ4WA34C.js.map
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import {
|
|
2
|
+
byteLength,
|
|
3
|
+
getUserAgentsPath,
|
|
4
|
+
loadUserGlobalAgentsFile,
|
|
5
|
+
sha256Text
|
|
6
|
+
} from "./chunk-3FOZ2VHV.js";
|
|
7
|
+
import {
|
|
8
|
+
emitWarning
|
|
9
|
+
} from "./chunk-EJGCZGUF.js";
|
|
10
|
+
|
|
11
|
+
// src/core/steering/doctrine.ts
|
|
12
|
+
var DOCTRINE_VERSION = "2026.05";
|
|
13
|
+
var CORE_DOCTRINE = [
|
|
14
|
+
{
|
|
15
|
+
id: "boundary-validation",
|
|
16
|
+
applies: "always",
|
|
17
|
+
text: "Validate and handle failures at external process, file, network, and database boundaries.",
|
|
18
|
+
since: DOCTRINE_VERSION
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: "root-cause-scope",
|
|
22
|
+
applies: "always",
|
|
23
|
+
text: "Fix root causes within the same subsystem; otherwise keep the fix local and report the deeper issue.",
|
|
24
|
+
since: DOCTRINE_VERSION
|
|
25
|
+
}
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
// src/core/steering/guidance.ts
|
|
29
|
+
var STRATEGY_GUIDANCE_TEXT = {
|
|
30
|
+
conservative: "Strategy: conservative. Favor proven patterns and minimal changes.",
|
|
31
|
+
hybrid: "Strategy: hybrid. Balance proven patterns with targeted improvements.",
|
|
32
|
+
innovative: "Strategy: innovative. Favor creative solutions and new patterns."
|
|
33
|
+
};
|
|
34
|
+
var STAGE_EXECUTION_TEXT = "You are executing a Poetic Flywheel stage. Apply all requested file operations directly using your Write/Edit tools. Documentation discipline rules in CLAUDE.md (e.g. limits on new .md files) govern human developers committing to the repo, not automated stage execution. Do not let them prevent you from creating or modifying any file the task requires.";
|
|
35
|
+
var SUBAGENTS_TEXT = "Use poetic-explorer to understand patterns before editing. Use poetic-verifier to validate changes.";
|
|
36
|
+
function resolveStrategyKind(input) {
|
|
37
|
+
const normalized = (input ?? "conservative").trim().toLowerCase();
|
|
38
|
+
if (normalized === "innovative") return "innovative";
|
|
39
|
+
if (normalized === "hybrid") return "hybrid";
|
|
40
|
+
return "conservative";
|
|
41
|
+
}
|
|
42
|
+
function strategyGuidance(input) {
|
|
43
|
+
const kind = resolveStrategyKind(input);
|
|
44
|
+
return {
|
|
45
|
+
id: `strategy:${kind}`,
|
|
46
|
+
kind: "strategy",
|
|
47
|
+
text: STRATEGY_GUIDANCE_TEXT[kind]
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function stageExecutionGuidance() {
|
|
51
|
+
return {
|
|
52
|
+
id: "stage:flywheel-execution",
|
|
53
|
+
kind: "stage",
|
|
54
|
+
text: STAGE_EXECUTION_TEXT
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function subagentsGuidance() {
|
|
58
|
+
return {
|
|
59
|
+
id: "subagents:explorer-verifier",
|
|
60
|
+
kind: "subagents",
|
|
61
|
+
text: SUBAGENTS_TEXT
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
function recentContextGuidance(context) {
|
|
65
|
+
return {
|
|
66
|
+
id: "recent-context:custom",
|
|
67
|
+
kind: "recent-context",
|
|
68
|
+
text: `Recent Poetic context: ${context}`
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function acceptanceGuidance(criteria) {
|
|
72
|
+
return {
|
|
73
|
+
id: "acceptance:custom",
|
|
74
|
+
kind: "acceptance",
|
|
75
|
+
text: `Acceptance: ${criteria}`
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// src/core/steering/resolver.ts
|
|
80
|
+
var PREAMBLE_PROVIDERS = /* @__PURE__ */ new Set([
|
|
81
|
+
"cursor",
|
|
82
|
+
"gemini"
|
|
83
|
+
]);
|
|
84
|
+
var SYSTEM_CAPS = {
|
|
85
|
+
channel: "system",
|
|
86
|
+
softWarnBytes: 4 * 1024,
|
|
87
|
+
hardRefuseBytes: 16 * 1024
|
|
88
|
+
};
|
|
89
|
+
var PREAMBLE_CAPS = {
|
|
90
|
+
channel: "preamble",
|
|
91
|
+
softWarnBytes: 2 * 1024,
|
|
92
|
+
hardRefuseBytes: 8 * 1024
|
|
93
|
+
};
|
|
94
|
+
var softWarnedSteering = /* @__PURE__ */ new Set();
|
|
95
|
+
function resolveSteeringChannelCaps(provider) {
|
|
96
|
+
return PREAMBLE_PROVIDERS.has(provider) ? PREAMBLE_CAPS : SYSTEM_CAPS;
|
|
97
|
+
}
|
|
98
|
+
function assessSteeringCap(provider, bytes) {
|
|
99
|
+
const caps = resolveSteeringChannelCaps(provider);
|
|
100
|
+
return {
|
|
101
|
+
...caps,
|
|
102
|
+
bytes,
|
|
103
|
+
status: bytes > caps.hardRefuseBytes ? "hard-refuse" : bytes > caps.softWarnBytes ? "soft-warn" : "ok"
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
function isSteeringDisabled(env = process.env) {
|
|
107
|
+
return env.POETIC_STEERING_DISABLE === "1";
|
|
108
|
+
}
|
|
109
|
+
function emptyPayload(version) {
|
|
110
|
+
return {
|
|
111
|
+
systemChannel: "",
|
|
112
|
+
promptPreamble: "",
|
|
113
|
+
policyChannel: "",
|
|
114
|
+
version,
|
|
115
|
+
steeringHash: sha256Text(""),
|
|
116
|
+
bytesByChannel: { system: 0, preamble: 0, policy: 0 },
|
|
117
|
+
applied: { doctrine: [], guidance: [], sources: [] }
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
function maybeWarnSoftCap(provider, status) {
|
|
121
|
+
if (status.status !== "soft-warn") return;
|
|
122
|
+
const key = `${provider}:${status.channel}:${status.bytes}`;
|
|
123
|
+
if (softWarnedSteering.has(key)) return;
|
|
124
|
+
softWarnedSteering.add(key);
|
|
125
|
+
emitWarning(
|
|
126
|
+
"CFG-001",
|
|
127
|
+
{
|
|
128
|
+
taskId: "runtime-steering",
|
|
129
|
+
subsystem: "steering",
|
|
130
|
+
executionPhase: "setup",
|
|
131
|
+
provider
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
severity: "WARN" /* WARN */,
|
|
135
|
+
metadata: {
|
|
136
|
+
operation: "assessSteeringCap",
|
|
137
|
+
channel: status.channel,
|
|
138
|
+
bytes: status.bytes,
|
|
139
|
+
softWarnBytes: status.softWarnBytes,
|
|
140
|
+
hardRefuseBytes: status.hardRefuseBytes
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
function assembleSteering(context) {
|
|
146
|
+
if (isSteeringDisabled()) {
|
|
147
|
+
return emptyPayload(DOCTRINE_VERSION);
|
|
148
|
+
}
|
|
149
|
+
const parts = [];
|
|
150
|
+
const appliedGuidance = [];
|
|
151
|
+
const appliedDoctrine = [];
|
|
152
|
+
const sources = [];
|
|
153
|
+
const floorText = CORE_DOCTRINE.map((entry) => entry.text).join("\n\n");
|
|
154
|
+
if (floorText) {
|
|
155
|
+
parts.push(floorText);
|
|
156
|
+
appliedDoctrine.push(...CORE_DOCTRINE.map((entry) => entry.id));
|
|
157
|
+
sources.push({
|
|
158
|
+
kind: "floor",
|
|
159
|
+
sha256: sha256Text(floorText),
|
|
160
|
+
bytes: byteLength(floorText)
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
const userGlobal = loadUserGlobalAgentsFile();
|
|
164
|
+
if (userGlobal) {
|
|
165
|
+
parts.push(userGlobal.text);
|
|
166
|
+
sources.push(userGlobal.source);
|
|
167
|
+
}
|
|
168
|
+
const emitGuidance = (entry) => {
|
|
169
|
+
parts.push(entry.text);
|
|
170
|
+
appliedGuidance.push(entry.id);
|
|
171
|
+
};
|
|
172
|
+
if (context.guidance.stageExecution) {
|
|
173
|
+
emitGuidance(stageExecutionGuidance());
|
|
174
|
+
}
|
|
175
|
+
emitGuidance(strategyGuidance(context.guidance.strategy));
|
|
176
|
+
if (context.guidance.subagents) {
|
|
177
|
+
emitGuidance(subagentsGuidance());
|
|
178
|
+
}
|
|
179
|
+
if (context.guidance.recentContext) {
|
|
180
|
+
emitGuidance(recentContextGuidance(context.guidance.recentContext));
|
|
181
|
+
}
|
|
182
|
+
if (context.guidance.acceptanceCriteria) {
|
|
183
|
+
emitGuidance(acceptanceGuidance(context.guidance.acceptanceCriteria));
|
|
184
|
+
}
|
|
185
|
+
const assembled = parts.join("\n\n");
|
|
186
|
+
const usesPreamble = PREAMBLE_PROVIDERS.has(context.provider);
|
|
187
|
+
const systemChannel = usesPreamble ? "" : assembled;
|
|
188
|
+
const promptPreamble = usesPreamble ? assembled : "";
|
|
189
|
+
const policyChannel = "";
|
|
190
|
+
const bytesByChannel = {
|
|
191
|
+
system: byteLength(systemChannel),
|
|
192
|
+
preamble: byteLength(promptPreamble),
|
|
193
|
+
policy: byteLength(policyChannel)
|
|
194
|
+
};
|
|
195
|
+
const routedBytes = usesPreamble ? bytesByChannel.preamble : bytesByChannel.system;
|
|
196
|
+
const capStatus = assessSteeringCap(context.provider, routedBytes);
|
|
197
|
+
if (capStatus.status === "hard-refuse" && context.enforceCaps !== false) {
|
|
198
|
+
throw new Error(
|
|
199
|
+
`Poetic runtime AGENTS.md steering is ${capStatus.bytes} bytes for ${context.provider} (${capStatus.channel} hard limit ${capStatus.hardRefuseBytes} bytes). Run "poetic instructions lint" and shorten ${getUserAgentsPath()}.`
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
maybeWarnSoftCap(context.provider, capStatus);
|
|
203
|
+
return {
|
|
204
|
+
systemChannel,
|
|
205
|
+
promptPreamble,
|
|
206
|
+
policyChannel,
|
|
207
|
+
version: DOCTRINE_VERSION,
|
|
208
|
+
steeringHash: sha256Text(assembled),
|
|
209
|
+
bytesByChannel,
|
|
210
|
+
applied: {
|
|
211
|
+
doctrine: appliedDoctrine,
|
|
212
|
+
guidance: appliedGuidance,
|
|
213
|
+
sources
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
export {
|
|
219
|
+
resolveSteeringChannelCaps,
|
|
220
|
+
assessSteeringCap,
|
|
221
|
+
assembleSteering
|
|
222
|
+
};
|
|
223
|
+
//# sourceMappingURL=chunk-MWHF5V7U.js.map
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
// src/core/providers/claude/config.ts
|
|
2
|
+
var CLAUDE_MODELS = {
|
|
3
|
+
// Current models
|
|
4
|
+
OPUS: "opus",
|
|
5
|
+
SONNET: "sonnet",
|
|
6
|
+
HAIKU: "haiku",
|
|
7
|
+
FABLE: "fable",
|
|
8
|
+
// Fable 5 is Anthropic's most capable widely released model. The Claude CLI
|
|
9
|
+
// accepts both the `fable` alias and the `claude-fable-5` full id (per its own
|
|
10
|
+
// --help, verified against CLI 2.1.177). NOTE: Fable 5 is temporarily
|
|
11
|
+
// Verified live 2026-07-25: `claude -p --model claude-fable-5` succeeds and
|
|
12
|
+
// both global./us. Bedrock inference profiles are enumerated. The earlier
|
|
13
|
+
// export-control suspension no longer blocks invocation; error-parser.ts still
|
|
14
|
+
// surfaces a clear "temporarily unavailable" message if upstream availability
|
|
15
|
+
// regresses.
|
|
16
|
+
CLAUDE_FABLE_5: "claude-fable-5",
|
|
17
|
+
// 5-series. Verified live on Bedrock 2026-07-26 (`claude -p --output-format json`,
|
|
18
|
+
// reading modelUsage[].contextWindow): both ids invoke successfully, and
|
|
19
|
+
// global./us. inference profiles are enumerated (see providers.yaml). Opus 5
|
|
20
|
+
// reports 200000 unsuffixed and 1000000 with `[1m]`; Sonnet 5 reports 1000000
|
|
21
|
+
// either way (it has no 200K variant — see CLAUDE_CONTEXT_SUFFIXES).
|
|
22
|
+
CLAUDE_OPUS_5: "claude-opus-5",
|
|
23
|
+
CLAUDE_SONNET_5: "claude-sonnet-5",
|
|
24
|
+
// Legacy canonical IDs retained for compatibility with existing callers/tests.
|
|
25
|
+
SONNET_3_5: "claude-3-5-sonnet-latest",
|
|
26
|
+
OPUS_3: "claude-3-opus-latest",
|
|
27
|
+
HAIKU_3: "claude-3-haiku-latest",
|
|
28
|
+
CLAUDE_OPUS_4_8: "claude-opus-4-8",
|
|
29
|
+
CLAUDE_OPUS_4_7: "claude-opus-4-7",
|
|
30
|
+
CLAUDE_OPUS_4_6: "claude-opus-4-6",
|
|
31
|
+
CLAUDE_OPUS_4_5: "claude-opus-4-5",
|
|
32
|
+
CLAUDE_SONNET_4_6: "claude-sonnet-4-6",
|
|
33
|
+
CLAUDE_SONNET_4_5: "claude-sonnet-4-5",
|
|
34
|
+
CLAUDE_HAIKU_4_5: "claude-haiku-4-5"
|
|
35
|
+
};
|
|
36
|
+
var CLAUDE_BEDROCK_MODELS = {
|
|
37
|
+
// claude-opus-4-7 uses the bare (undated) base id. Verified live 2026-06-14
|
|
38
|
+
// via bedrock list-inference-profiles + bedrock-runtime converse: the
|
|
39
|
+
// global/us/eu/jp `anthropic.claude-opus-4-7` profiles all invoke OK. The
|
|
40
|
+
// primary source of truth is the providers.yaml bedrock block (which also
|
|
41
|
+
// pins each regional profile and intentionally omits apac, since
|
|
42
|
+
// apac.anthropic.claude-opus-4-7 is NOT invokable); this flat entry is the
|
|
43
|
+
// registry-miss fallback that mirrors that base id.
|
|
44
|
+
// claude-fable-5 is VERIFIED (2026-07-25): `claude -p --model claude-fable-5`
|
|
45
|
+
// succeeds, and `aws bedrock list-inference-profiles` returns both
|
|
46
|
+
// global.anthropic.claude-fable-5 and us.anthropic.claude-fable-5.
|
|
47
|
+
// claude-opus-5 / claude-sonnet-5 are VERIFIED (2026-07-26): both invoke on
|
|
48
|
+
// Bedrock and their global./us. inference profiles are enumerated.
|
|
49
|
+
"claude-opus-5": "anthropic.claude-opus-5",
|
|
50
|
+
"claude-sonnet-5": "anthropic.claude-sonnet-5",
|
|
51
|
+
"claude-fable-5": "anthropic.claude-fable-5",
|
|
52
|
+
"claude-opus-4-8": "anthropic.claude-opus-4-8",
|
|
53
|
+
"claude-opus-4-7": "anthropic.claude-opus-4-7",
|
|
54
|
+
"claude-opus-4-6": "anthropic.claude-opus-4-6-v1",
|
|
55
|
+
"claude-opus-4-5": "anthropic.claude-opus-4-5-20251101-v1:0",
|
|
56
|
+
"claude-sonnet-4-6": "anthropic.claude-sonnet-4-6",
|
|
57
|
+
"claude-sonnet-4-5": "anthropic.claude-sonnet-4-5-20250929-v1:0",
|
|
58
|
+
"claude-haiku-4-5": "anthropic.claude-haiku-4-5-20251001-v1:0"
|
|
59
|
+
};
|
|
60
|
+
var CLAUDE_ALIAS_TO_MODEL_ID = {
|
|
61
|
+
// Generic aliases → latest *backend-executable* version. This is POETIC'S
|
|
62
|
+
// cross-backend latest-pin POLICY, not a mirror of Claude Code's native alias
|
|
63
|
+
// resolution. Native Claude Code resolves a bare alias to a DIFFERENT version
|
|
64
|
+
// per backend (verified 2026-06-19, https://code.claude.com/docs/en/model-config):
|
|
65
|
+
// Anthropic API `opus` → Opus 4.8, Claude Platform on AWS → Opus 4.7, and
|
|
66
|
+
// Bedrock/Vertex/Foundry → Opus 4.6 unless pinned. Poetic deliberately pins
|
|
67
|
+
// bare `opus` to claude-opus-4-8 on EVERY backend (mirrored in providers.yaml
|
|
68
|
+
// mappings.opus) so a bare family alias means "latest Opus" uniformly rather
|
|
69
|
+
// than the CLI's conservative, backend-specific default. claude-opus-4-8 carries
|
|
70
|
+
// a verified Bedrock id (CLAUDE_BEDROCK_MODELS + providers.yaml bedrock block),
|
|
71
|
+
// so `--model opus` works on Anthropic, Vertex, and Bedrock. An explicit pin
|
|
72
|
+
// (`opus-4-8` / `claude-opus-4-8`) selects the same 4.8.
|
|
73
|
+
sonnet: CLAUDE_MODELS.CLAUDE_SONNET_4_6,
|
|
74
|
+
opus: CLAUDE_MODELS.CLAUDE_OPUS_4_8,
|
|
75
|
+
haiku: CLAUDE_MODELS.CLAUDE_HAIKU_4_5,
|
|
76
|
+
// bare `fable` -> claude-fable-5 (latest Fable). Verified on Anthropic and
|
|
77
|
+
// Bedrock (2026-07-25); resolves on Vertex per Anthropic's published id table.
|
|
78
|
+
fable: CLAUDE_MODELS.CLAUDE_FABLE_5,
|
|
79
|
+
"fable-5": CLAUDE_MODELS.CLAUDE_FABLE_5,
|
|
80
|
+
// Version-pinned shorthands → exact version
|
|
81
|
+
"opus-5": CLAUDE_MODELS.CLAUDE_OPUS_5,
|
|
82
|
+
"opus.5": CLAUDE_MODELS.CLAUDE_OPUS_5,
|
|
83
|
+
"sonnet-5": CLAUDE_MODELS.CLAUDE_SONNET_5,
|
|
84
|
+
"sonnet.5": CLAUDE_MODELS.CLAUDE_SONNET_5,
|
|
85
|
+
"sonnet-4-6": CLAUDE_MODELS.CLAUDE_SONNET_4_6,
|
|
86
|
+
"sonnet-4.6": CLAUDE_MODELS.CLAUDE_SONNET_4_6,
|
|
87
|
+
"sonnet-4-5": CLAUDE_MODELS.CLAUDE_SONNET_4_5,
|
|
88
|
+
"sonnet-4.5": CLAUDE_MODELS.CLAUDE_SONNET_4_5,
|
|
89
|
+
"opus-4-8": CLAUDE_MODELS.CLAUDE_OPUS_4_8,
|
|
90
|
+
"opus-4.8": CLAUDE_MODELS.CLAUDE_OPUS_4_8,
|
|
91
|
+
"opus-4-7": CLAUDE_MODELS.CLAUDE_OPUS_4_7,
|
|
92
|
+
"opus-4.7": CLAUDE_MODELS.CLAUDE_OPUS_4_7,
|
|
93
|
+
"opus-4-6": CLAUDE_MODELS.CLAUDE_OPUS_4_6,
|
|
94
|
+
"opus-4.6": CLAUDE_MODELS.CLAUDE_OPUS_4_6,
|
|
95
|
+
"opus-4-5": CLAUDE_MODELS.CLAUDE_OPUS_4_5,
|
|
96
|
+
"opus-4.5": CLAUDE_MODELS.CLAUDE_OPUS_4_5,
|
|
97
|
+
"haiku-4-5": CLAUDE_MODELS.CLAUDE_HAIKU_4_5,
|
|
98
|
+
"haiku-4.5": CLAUDE_MODELS.CLAUDE_HAIKU_4_5
|
|
99
|
+
};
|
|
100
|
+
var CLAUDE_VERTEX_VERSION_PINS = Object.freeze({
|
|
101
|
+
"claude-sonnet-4-5": "claude-sonnet-4-5@20250929",
|
|
102
|
+
"claude-opus-4-5": "claude-opus-4-5@20251101",
|
|
103
|
+
"claude-haiku-4-5": "claude-haiku-4-5@20251001",
|
|
104
|
+
"claude-opus-4-1": "claude-opus-4-1@20250805"
|
|
105
|
+
});
|
|
106
|
+
var CLAUDE_CONTEXT_SUFFIXES = /* @__PURE__ */ new Set(["[1m]"]);
|
|
107
|
+
var CLAUDE_DISABLE_1M_CONTEXT_ENV = "CLAUDE_CODE_DISABLE_1M_CONTEXT";
|
|
108
|
+
function is1MContextDisabled(env) {
|
|
109
|
+
const raw = (env ?? process.env)[CLAUDE_DISABLE_1M_CONTEXT_ENV];
|
|
110
|
+
if (typeof raw !== "string") {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
const normalized = raw.trim().toLowerCase();
|
|
114
|
+
return normalized === "1" || normalized === "true";
|
|
115
|
+
}
|
|
116
|
+
function splitClaudeModelContextSuffix(model) {
|
|
117
|
+
const match = model.match(/^(.*?)(\[[^\]]*\])\s*$/);
|
|
118
|
+
if (!match || match[1] === void 0 || match[2] === void 0) {
|
|
119
|
+
return { base: model, suffix: "" };
|
|
120
|
+
}
|
|
121
|
+
const suffix = match[2].toLowerCase();
|
|
122
|
+
if (!CLAUDE_CONTEXT_SUFFIXES.has(suffix)) {
|
|
123
|
+
return { base: model, suffix: "" };
|
|
124
|
+
}
|
|
125
|
+
return { base: match[1].trim(), suffix };
|
|
126
|
+
}
|
|
127
|
+
function getClaudeModelContextSuffixWarning(model) {
|
|
128
|
+
const trimmed = model.trim();
|
|
129
|
+
const match = trimmed.match(/^(.*?)(\[[^\]]*\])\s*$/);
|
|
130
|
+
if (!match || match[2] === void 0) {
|
|
131
|
+
return void 0;
|
|
132
|
+
}
|
|
133
|
+
const suffix = match[2].toLowerCase();
|
|
134
|
+
if (CLAUDE_CONTEXT_SUFFIXES.has(suffix)) {
|
|
135
|
+
return void 0;
|
|
136
|
+
}
|
|
137
|
+
return `Claude model '${model}' has unrecognized trailing context suffix '${match[2]}'; supported suffixes: ${Array.from(CLAUDE_CONTEXT_SUFFIXES).join(", ")}`;
|
|
138
|
+
}
|
|
139
|
+
var CLAUDE_FAMILY_TOKENS = ["opus", "sonnet", "haiku", "fable", "mythos"];
|
|
140
|
+
var CLAUDE_FAMILY_LIKE_PIN_PATTERN = new RegExp(
|
|
141
|
+
`^(${CLAUDE_FAMILY_TOKENS.join("|")})(?:[-.]\\d+)?$`
|
|
142
|
+
);
|
|
143
|
+
var CLAUDE_SPECIFIC_PIN_PATTERN = new RegExp(
|
|
144
|
+
`^(?:${CLAUDE_FAMILY_TOKENS.join("|")})(?:[-.]\\d+){2,}$`
|
|
145
|
+
);
|
|
146
|
+
function isSpecificClaudeVersionPin(model) {
|
|
147
|
+
const normalized = model.trim().toLowerCase();
|
|
148
|
+
if (normalized === "") return false;
|
|
149
|
+
return CLAUDE_SPECIFIC_PIN_PATTERN.test(normalized);
|
|
150
|
+
}
|
|
151
|
+
function extractClaudeFamilyToken(model) {
|
|
152
|
+
const match = model.trim().toLowerCase().match(CLAUDE_FAMILY_LIKE_PIN_PATTERN);
|
|
153
|
+
return match?.[1];
|
|
154
|
+
}
|
|
155
|
+
function resolveModel(model) {
|
|
156
|
+
if (!model) {
|
|
157
|
+
return void 0;
|
|
158
|
+
}
|
|
159
|
+
const trimmed = model.trim();
|
|
160
|
+
if (trimmed === "") {
|
|
161
|
+
return void 0;
|
|
162
|
+
}
|
|
163
|
+
const { base, suffix } = splitClaudeModelContextSuffix(trimmed);
|
|
164
|
+
if (base === "") {
|
|
165
|
+
return void 0;
|
|
166
|
+
}
|
|
167
|
+
const resolvedBase = resolveModelBase(base);
|
|
168
|
+
if (resolvedBase === void 0) {
|
|
169
|
+
return void 0;
|
|
170
|
+
}
|
|
171
|
+
return suffix ? `${resolvedBase}${suffix}` : resolvedBase;
|
|
172
|
+
}
|
|
173
|
+
var CLAUDE_CLI_ONLY_LEGACY_ALIASES = {
|
|
174
|
+
"opus-4-1": "claude-opus-4-1",
|
|
175
|
+
"opus-4.1": "claude-opus-4-1"
|
|
176
|
+
};
|
|
177
|
+
function resolveModelBase(base) {
|
|
178
|
+
const trimmed = base;
|
|
179
|
+
const normalized = trimmed.toLowerCase();
|
|
180
|
+
const claudeValues = Object.values(CLAUDE_MODELS);
|
|
181
|
+
const knownClaudeModel = claudeValues.find((value) => value.toLowerCase() === normalized);
|
|
182
|
+
if (knownClaudeModel) {
|
|
183
|
+
return knownClaudeModel;
|
|
184
|
+
}
|
|
185
|
+
const mapped = CLAUDE_ALIAS_TO_MODEL_ID[normalized] ?? CLAUDE_CLI_ONLY_LEGACY_ALIASES[normalized];
|
|
186
|
+
if (mapped) {
|
|
187
|
+
return mapped;
|
|
188
|
+
}
|
|
189
|
+
if (normalized.startsWith("claude-")) {
|
|
190
|
+
return normalized;
|
|
191
|
+
}
|
|
192
|
+
if (normalized.startsWith("anthropic.claude-") || normalized.includes(".anthropic.claude-")) {
|
|
193
|
+
return trimmed;
|
|
194
|
+
}
|
|
195
|
+
return void 0;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export {
|
|
199
|
+
CLAUDE_MODELS,
|
|
200
|
+
CLAUDE_BEDROCK_MODELS,
|
|
201
|
+
CLAUDE_ALIAS_TO_MODEL_ID,
|
|
202
|
+
CLAUDE_VERTEX_VERSION_PINS,
|
|
203
|
+
CLAUDE_DISABLE_1M_CONTEXT_ENV,
|
|
204
|
+
is1MContextDisabled,
|
|
205
|
+
splitClaudeModelContextSuffix,
|
|
206
|
+
getClaudeModelContextSuffixWarning,
|
|
207
|
+
isSpecificClaudeVersionPin,
|
|
208
|
+
extractClaudeFamilyToken,
|
|
209
|
+
resolveModel
|
|
210
|
+
};
|
|
211
|
+
//# sourceMappingURL=chunk-MWHLBPNU.js.map
|