@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,601 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BB wire schemas for the closed sprint-composition vocabulary (BPAU-03).
|
|
3
|
+
*
|
|
4
|
+
* Five mutations and two read-only projections. Every request object is
|
|
5
|
+
* `.strict()`, so a caller cannot smuggle `--split`, `--splitter`, `--provider`,
|
|
6
|
+
* `--model`, `--hint`, `--force`, `--no-sync`, `--dry-run`, retry controls,
|
|
7
|
+
* argv, cwd, env, an executable, or a filesystem path into a spawn. Sprint
|
|
8
|
+
* lifecycle (`complete`/`close`/`tidy`/`unlock`/`prune-missing`/`run`/`apply`)
|
|
9
|
+
* and custom task creation are absent by construction: they have no action name,
|
|
10
|
+
* no argv entry, and no schema member here.
|
|
11
|
+
*
|
|
12
|
+
* `--json` is never a caller-controlled field. It is appended by the lane only
|
|
13
|
+
* on the two BPAU-00B identity commands and on the already-JSON reads.
|
|
14
|
+
*
|
|
15
|
+
* Schemas live in this lane-owned file so tests can load them without
|
|
16
|
+
* `@bb/plugin-sdk` and without importing any BPAU-07A-reserved module.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
import { z } from 'zod';
|
|
20
|
+
import { planningWorkspaceProjectionSchema } from './planning-workspace-schema.js';
|
|
21
|
+
import { repositorySchema } from './repository-schema.js';
|
|
22
|
+
import { getTaskDetailOutputSchema } from './task-detail-schema.js';
|
|
23
|
+
|
|
24
|
+
export const SPRINT_COMPOSITION_OUTCOME_VERSION = '1.0.0' as const;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Closed sprint-composition vocabulary. Product names, not CLI subcommand
|
|
28
|
+
* names: `addSprintWorkFromBacklog` creates a new task from an existing backlog
|
|
29
|
+
* item and attaches it, and is never an "attach existing task" action.
|
|
30
|
+
*/
|
|
31
|
+
export const SPRINT_COMPOSITION_VOCABULARY = [
|
|
32
|
+
'createSprint',
|
|
33
|
+
'renameSprint',
|
|
34
|
+
'addSprintWorkFromBacklog',
|
|
35
|
+
'removeSprintTask',
|
|
36
|
+
'migrateSprintTask',
|
|
37
|
+
] as const;
|
|
38
|
+
|
|
39
|
+
export type SprintCompositionAction = (typeof SPRINT_COMPOSITION_VOCABULARY)[number];
|
|
40
|
+
|
|
41
|
+
/** Actions that mint a new Poetic-minted identity. */
|
|
42
|
+
export const SPRINT_COMPOSITION_NEW_IDENTITY_ACTIONS = [
|
|
43
|
+
'createSprint',
|
|
44
|
+
'addSprintWorkFromBacklog',
|
|
45
|
+
] as const;
|
|
46
|
+
|
|
47
|
+
/** Actions that change sprint membership. */
|
|
48
|
+
export const SPRINT_COMPOSITION_MEMBERSHIP_ACTIONS = [
|
|
49
|
+
'addSprintWorkFromBacklog',
|
|
50
|
+
'removeSprintTask',
|
|
51
|
+
'migrateSprintTask',
|
|
52
|
+
] as const;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* A managed planning id addresses one file under a managed bucket, so it must be
|
|
56
|
+
* a single safe path component: no separators, no traversal, and no leading dot
|
|
57
|
+
* or dash that could read as a hidden file or a CLI flag.
|
|
58
|
+
*/
|
|
59
|
+
export const managedPlanningIdSchema = z
|
|
60
|
+
.string()
|
|
61
|
+
.min(1)
|
|
62
|
+
.max(200)
|
|
63
|
+
.regex(
|
|
64
|
+
/^[A-Za-z0-9][A-Za-z0-9._-]*$/,
|
|
65
|
+
'A managed planning id must be a single safe path component.'
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Free text carried in a single `--flag=value` token. The exact value `-` is
|
|
70
|
+
* rejected because Poetic reads it as the stdin sentinel.
|
|
71
|
+
*/
|
|
72
|
+
const flagTextSchema = z
|
|
73
|
+
.string()
|
|
74
|
+
.trim()
|
|
75
|
+
.min(1)
|
|
76
|
+
.max(4_000)
|
|
77
|
+
.refine((value) => value !== '-', 'Free text must not be the stdin sentinel "-".');
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Free text bound to a positional argument. A positional cannot use the
|
|
81
|
+
* `--flag=value` form, so a leading dash could be parsed as another option and
|
|
82
|
+
* is rejected in the schema instead of being escaped with `--`.
|
|
83
|
+
*/
|
|
84
|
+
const positionalTextSchema = flagTextSchema.refine(
|
|
85
|
+
(value) => !value.startsWith('-'),
|
|
86
|
+
'Positional text must not begin with "-".'
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
const isoDateSchema = z
|
|
90
|
+
.string()
|
|
91
|
+
.regex(/^\d{4}-\d{2}-\d{2}$/, 'A sprint date must be an ISO calendar date (YYYY-MM-DD).');
|
|
92
|
+
|
|
93
|
+
const prioritySchema = z.enum(['P0', 'P1', 'P2', 'P3']);
|
|
94
|
+
|
|
95
|
+
/** Estimate hours: Poetic refuses a non-positive estimate, so BB never sends one. */
|
|
96
|
+
const estimateHoursSchema = z.number().finite().positive().max(10_000);
|
|
97
|
+
|
|
98
|
+
const capacityHoursSchema = z.number().finite().positive().max(100_000);
|
|
99
|
+
|
|
100
|
+
const runtimeMinutesSchema = z.number().int().positive().max(1_000_000);
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Consent every sprint-composition mutation must acknowledge. Each field is a
|
|
104
|
+
* required `true` literal inside a strict object, so partial or false consent
|
|
105
|
+
* fails schema validation rather than degrading into a silent default.
|
|
106
|
+
*
|
|
107
|
+
* This lane declares its own copy on purpose (frozen contract §5): BPAU-01,
|
|
108
|
+
* BPAU-02, and BPAU-03 must not share a consent module, and BPAU-07A must not
|
|
109
|
+
* consolidate them inside BPAU.
|
|
110
|
+
*/
|
|
111
|
+
export const sprintCompositionConsentSchema = z
|
|
112
|
+
.object({
|
|
113
|
+
hostExecution: z.literal(true),
|
|
114
|
+
managedPlanningMutation: z.literal(true),
|
|
115
|
+
automaticCommitAndPush: z.literal(true),
|
|
116
|
+
selectedRepositoryAndBranch: z.literal(true),
|
|
117
|
+
})
|
|
118
|
+
.strict();
|
|
119
|
+
|
|
120
|
+
/** Additive consent for actions that mint a new Poetic id. */
|
|
121
|
+
export const sprintCompositionNewIdentityConsentSchema = sprintCompositionConsentSchema
|
|
122
|
+
.extend({ newIdentityCreation: z.literal(true) })
|
|
123
|
+
.strict();
|
|
124
|
+
|
|
125
|
+
/** Additive consent for actions that move sprint membership. */
|
|
126
|
+
export const sprintCompositionMembershipConsentSchema = sprintCompositionConsentSchema
|
|
127
|
+
.extend({ sprintMembershipChange: z.literal(true) })
|
|
128
|
+
.strict();
|
|
129
|
+
|
|
130
|
+
/** `addSprintWorkFromBacklog` both mints a task id and changes membership. */
|
|
131
|
+
export const sprintCompositionNewMembershipConsentSchema = sprintCompositionConsentSchema
|
|
132
|
+
.extend({
|
|
133
|
+
newIdentityCreation: z.literal(true),
|
|
134
|
+
sprintMembershipChange: z.literal(true),
|
|
135
|
+
})
|
|
136
|
+
.strict();
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* What the caller believed when it built the request. The service re-checks all
|
|
140
|
+
* of it against fresh canonical evidence immediately before spawning, so a moved
|
|
141
|
+
* checkout, a switched branch, or drifted membership is refused rather than
|
|
142
|
+
* mutated blind. There is no `cwd`, `env`, `executable`, or `argv` field: the
|
|
143
|
+
* repository path here is compared, never spawned into.
|
|
144
|
+
*/
|
|
145
|
+
export const sprintCompositionExpectedSchema = z
|
|
146
|
+
.object({
|
|
147
|
+
repositoryPath: z.string().min(1),
|
|
148
|
+
branch: z.string().min(1).nullable(),
|
|
149
|
+
entityIds: z.array(managedPlanningIdSchema).max(16),
|
|
150
|
+
/** Sprint membership as last read, or an empty list when not observed. */
|
|
151
|
+
observedMembership: z.array(managedPlanningIdSchema).max(2_000),
|
|
152
|
+
})
|
|
153
|
+
.strict();
|
|
154
|
+
|
|
155
|
+
const requestTargetFields = {
|
|
156
|
+
projectId: z.string().min(1),
|
|
157
|
+
sourceId: z.string().min(1),
|
|
158
|
+
expected: sprintCompositionExpectedSchema,
|
|
159
|
+
} as const;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Closed discriminated `applySprintComposition` request.
|
|
163
|
+
*
|
|
164
|
+
* `createSprint` has no `--dry-run`/`--verbose` field; `addSprintWorkFromBacklog`
|
|
165
|
+
* requires an explicit estimate rather than relying on Poetic's 4h default and
|
|
166
|
+
* has no splitting, provider, model, or hint field; `migrateSprintTask` names its
|
|
167
|
+
* source sprint so consent, admission, and the reread can all be explicit even
|
|
168
|
+
* though the CLI argv does not carry it.
|
|
169
|
+
*/
|
|
170
|
+
export const applySprintCompositionInputSchema = z.discriminatedUnion('action', [
|
|
171
|
+
z
|
|
172
|
+
.object({
|
|
173
|
+
...requestTargetFields,
|
|
174
|
+
action: z.literal('createSprint'),
|
|
175
|
+
input: z
|
|
176
|
+
.object({
|
|
177
|
+
name: flagTextSchema,
|
|
178
|
+
start: isoDateSchema,
|
|
179
|
+
end: isoDateSchema,
|
|
180
|
+
goal: flagTextSchema.optional(),
|
|
181
|
+
hours: capacityHoursSchema.optional(),
|
|
182
|
+
})
|
|
183
|
+
.strict(),
|
|
184
|
+
consent: sprintCompositionNewIdentityConsentSchema,
|
|
185
|
+
})
|
|
186
|
+
.strict(),
|
|
187
|
+
z
|
|
188
|
+
.object({
|
|
189
|
+
...requestTargetFields,
|
|
190
|
+
action: z.literal('renameSprint'),
|
|
191
|
+
input: z
|
|
192
|
+
.object({
|
|
193
|
+
sprintId: managedPlanningIdSchema,
|
|
194
|
+
name: positionalTextSchema,
|
|
195
|
+
})
|
|
196
|
+
.strict(),
|
|
197
|
+
consent: sprintCompositionConsentSchema,
|
|
198
|
+
})
|
|
199
|
+
.strict(),
|
|
200
|
+
z
|
|
201
|
+
.object({
|
|
202
|
+
...requestTargetFields,
|
|
203
|
+
action: z.literal('addSprintWorkFromBacklog'),
|
|
204
|
+
input: z
|
|
205
|
+
.object({
|
|
206
|
+
sprintId: managedPlanningIdSchema,
|
|
207
|
+
backlogItemId: managedPlanningIdSchema,
|
|
208
|
+
estimate: estimateHoursSchema,
|
|
209
|
+
expectedRuntimeMinutes: runtimeMinutesSchema.optional(),
|
|
210
|
+
priority: prioritySchema.optional(),
|
|
211
|
+
})
|
|
212
|
+
.strict(),
|
|
213
|
+
consent: sprintCompositionNewMembershipConsentSchema,
|
|
214
|
+
})
|
|
215
|
+
.strict(),
|
|
216
|
+
z
|
|
217
|
+
.object({
|
|
218
|
+
...requestTargetFields,
|
|
219
|
+
action: z.literal('removeSprintTask'),
|
|
220
|
+
input: z
|
|
221
|
+
.object({
|
|
222
|
+
sprintId: managedPlanningIdSchema,
|
|
223
|
+
taskId: managedPlanningIdSchema,
|
|
224
|
+
})
|
|
225
|
+
.strict(),
|
|
226
|
+
consent: sprintCompositionMembershipConsentSchema,
|
|
227
|
+
})
|
|
228
|
+
.strict(),
|
|
229
|
+
z
|
|
230
|
+
.object({
|
|
231
|
+
...requestTargetFields,
|
|
232
|
+
action: z.literal('migrateSprintTask'),
|
|
233
|
+
input: z
|
|
234
|
+
.object({
|
|
235
|
+
taskId: managedPlanningIdSchema,
|
|
236
|
+
sourceSprintId: managedPlanningIdSchema,
|
|
237
|
+
targetSprintId: managedPlanningIdSchema,
|
|
238
|
+
})
|
|
239
|
+
.strict(),
|
|
240
|
+
consent: sprintCompositionMembershipConsentSchema,
|
|
241
|
+
})
|
|
242
|
+
.strict(),
|
|
243
|
+
]);
|
|
244
|
+
|
|
245
|
+
export type ApplySprintCompositionInput = z.infer<typeof applySprintCompositionInputSchema>;
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Lane disclosure. Every field is a literal so the type system, not prose,
|
|
249
|
+
* states that sprint composition never launches Fusion, never starts tracked
|
|
250
|
+
* backlog execution, never opens a pull request, never cancels a run, and never
|
|
251
|
+
* reaches the task lifecycle vocabulary.
|
|
252
|
+
*/
|
|
253
|
+
export const sprintCompositionDisclosureSchema = z
|
|
254
|
+
.object({
|
|
255
|
+
fullTrust: z.literal(true),
|
|
256
|
+
hostEquivalentExecution: z.literal(true),
|
|
257
|
+
providerAuth: z.literal('native'),
|
|
258
|
+
planningSync: z.literal(true),
|
|
259
|
+
gitCommits: z.literal(true),
|
|
260
|
+
gitPush: z.literal(true),
|
|
261
|
+
managedPlanningMutation: z.literal(true),
|
|
262
|
+
pullRequestCreation: z.literal(false),
|
|
263
|
+
fusionLaunch: z.literal(false),
|
|
264
|
+
trackedBacklogExecution: z.literal(false),
|
|
265
|
+
runCancellation: z.literal(false),
|
|
266
|
+
taskLifecycleTransition: z.literal(false),
|
|
267
|
+
summary: z.string(),
|
|
268
|
+
})
|
|
269
|
+
.strict();
|
|
270
|
+
|
|
271
|
+
/** BPAU-00B `sprintCreateV1` identity envelope. */
|
|
272
|
+
export const sprintCreateEnvelopeSchema = z
|
|
273
|
+
.object({
|
|
274
|
+
schemaVersion: z.string().min(1),
|
|
275
|
+
state: z.enum(['created', 'overlap-conflict', 'refused-invalid']),
|
|
276
|
+
sprintId: z.string().min(1).nullable(),
|
|
277
|
+
name: z.string(),
|
|
278
|
+
startDate: z.string(),
|
|
279
|
+
endDate: z.string(),
|
|
280
|
+
capacity: z.object({ totalHours: z.number().nullable() }).strict(),
|
|
281
|
+
fileCreated: z.boolean(),
|
|
282
|
+
sync: z.literal('refused-branch').optional(),
|
|
283
|
+
conflictingSprintId: z.string().min(1).optional(),
|
|
284
|
+
recoveryText: z.string().optional(),
|
|
285
|
+
})
|
|
286
|
+
.strict();
|
|
287
|
+
|
|
288
|
+
/** BPAU-00B `sprintAddTaskV1` identity envelope (non-split only). */
|
|
289
|
+
export const sprintAddTaskEnvelopeSchema = z
|
|
290
|
+
.object({
|
|
291
|
+
schemaVersion: z.string().min(1),
|
|
292
|
+
state: z.enum([
|
|
293
|
+
'added',
|
|
294
|
+
'refused-unfilled-markers',
|
|
295
|
+
'refused-duplicate-backlog',
|
|
296
|
+
'refused-capacity',
|
|
297
|
+
'refused-invalid',
|
|
298
|
+
'failed-after-partial-effect',
|
|
299
|
+
'unknown-after-timeout',
|
|
300
|
+
]),
|
|
301
|
+
taskId: z.string().min(1).nullable(),
|
|
302
|
+
sprintId: z.string().min(1),
|
|
303
|
+
backlogItemId: z.string().min(1),
|
|
304
|
+
estimatedHours: z.number(),
|
|
305
|
+
estimateSource: z.enum(['flag', 'default-4h']),
|
|
306
|
+
fileCreated: z.boolean(),
|
|
307
|
+
sync: z.literal('refused-branch').optional(),
|
|
308
|
+
membershipApplied: z.boolean(),
|
|
309
|
+
capacity: z
|
|
310
|
+
.object({
|
|
311
|
+
allocatedHours: z.number().nullable(),
|
|
312
|
+
totalHours: z.number().nullable(),
|
|
313
|
+
})
|
|
314
|
+
.strict(),
|
|
315
|
+
capacityWarningLevel: z.union([z.null(), z.literal('warning')]),
|
|
316
|
+
})
|
|
317
|
+
.strict();
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Structured identity evidence, or null for the three actions that mint nothing.
|
|
321
|
+
* A missing, malformed, or inconsistent envelope is never replaced by the newest
|
|
322
|
+
* list row: the service reports `ambiguous` instead.
|
|
323
|
+
*/
|
|
324
|
+
export const sprintCompositionIdentityOutcomeSchema = z
|
|
325
|
+
.discriminatedUnion('kind', [
|
|
326
|
+
z.object({ kind: z.literal('sprintCreateV1'), value: sprintCreateEnvelopeSchema }).strict(),
|
|
327
|
+
z.object({ kind: z.literal('sprintAddTaskV1'), value: sprintAddTaskEnvelopeSchema }).strict(),
|
|
328
|
+
])
|
|
329
|
+
.nullable();
|
|
330
|
+
|
|
331
|
+
/** One sprint row from `plan sprint list --json`, carried verbatim. */
|
|
332
|
+
export const sprintSummarySchema = z
|
|
333
|
+
.object({
|
|
334
|
+
id: z.string().min(1),
|
|
335
|
+
name: z.string(),
|
|
336
|
+
status: z.string(),
|
|
337
|
+
startDate: z.string(),
|
|
338
|
+
endDate: z.string(),
|
|
339
|
+
taskCount: z.number().int().nonnegative(),
|
|
340
|
+
capacity: z
|
|
341
|
+
.object({
|
|
342
|
+
allocatedHours: z.number(),
|
|
343
|
+
totalHours: z.number(),
|
|
344
|
+
utilizationPercent: z.number(),
|
|
345
|
+
})
|
|
346
|
+
.strict(),
|
|
347
|
+
})
|
|
348
|
+
.strict();
|
|
349
|
+
|
|
350
|
+
export const sprintListScopeSchema = z.enum(['all', 'current', 'archived']);
|
|
351
|
+
|
|
352
|
+
/** `plan sprint list [--current|--archived] --json` payload. */
|
|
353
|
+
export const sprintListEnvelopeSchema = z
|
|
354
|
+
.object({
|
|
355
|
+
scope: sprintListScopeSchema,
|
|
356
|
+
total: z.number().int().nonnegative(),
|
|
357
|
+
sprints: z.array(sprintSummarySchema),
|
|
358
|
+
})
|
|
359
|
+
.strict();
|
|
360
|
+
|
|
361
|
+
/**
|
|
362
|
+
* `plan sprint status <sprint-id> --json` payload: Poetic-computed membership,
|
|
363
|
+
* capacity, readiness, and integrity. None of it is recomputed in BB.
|
|
364
|
+
*/
|
|
365
|
+
export const sprintStatusEnvelopeSchema = z
|
|
366
|
+
.object({
|
|
367
|
+
sprintId: z.string().min(1),
|
|
368
|
+
name: z.string(),
|
|
369
|
+
status: z.string(),
|
|
370
|
+
archived: z.boolean(),
|
|
371
|
+
startDate: z.string().optional(),
|
|
372
|
+
endDate: z.string().optional(),
|
|
373
|
+
goal: z.string().optional(),
|
|
374
|
+
capacity: z
|
|
375
|
+
.object({
|
|
376
|
+
allocatedHours: z.number(),
|
|
377
|
+
totalHours: z.number(),
|
|
378
|
+
utilizationPercent: z.number(),
|
|
379
|
+
})
|
|
380
|
+
.strict(),
|
|
381
|
+
completedCapacity: z
|
|
382
|
+
.object({
|
|
383
|
+
activeDoneHours: z.number(),
|
|
384
|
+
archivedDoneHours: z.number(),
|
|
385
|
+
totalDoneHours: z.number(),
|
|
386
|
+
archivedTaskCount: z.number().int().nonnegative(),
|
|
387
|
+
})
|
|
388
|
+
.strict(),
|
|
389
|
+
progress: z
|
|
390
|
+
.object({
|
|
391
|
+
todo: z.number().int().nonnegative(),
|
|
392
|
+
in_progress: z.number().int().nonnegative(),
|
|
393
|
+
review: z.number().int().nonnegative(),
|
|
394
|
+
done: z.number().int().nonnegative(),
|
|
395
|
+
blocked: z.number().int().nonnegative(),
|
|
396
|
+
cancelled: z.number().int().nonnegative(),
|
|
397
|
+
total: z.number().int().nonnegative(),
|
|
398
|
+
allDone: z.boolean(),
|
|
399
|
+
allTerminal: z.boolean(),
|
|
400
|
+
integrityClean: z.boolean(),
|
|
401
|
+
closable: z.boolean(),
|
|
402
|
+
})
|
|
403
|
+
.strict(),
|
|
404
|
+
tasks: z.array(
|
|
405
|
+
z
|
|
406
|
+
.object({
|
|
407
|
+
id: z.string().min(1),
|
|
408
|
+
title: z.string(),
|
|
409
|
+
status: z.string(),
|
|
410
|
+
estimatedHours: z.number(),
|
|
411
|
+
expectedRuntimeMinutes: z.number().optional(),
|
|
412
|
+
resultArtifactPath: z.string().optional(),
|
|
413
|
+
})
|
|
414
|
+
.strict()
|
|
415
|
+
),
|
|
416
|
+
missingTaskIds: z.array(z.string()),
|
|
417
|
+
})
|
|
418
|
+
.strict();
|
|
419
|
+
|
|
420
|
+
/** Minimal backlog identity confirmation from `plan backlog show <id> --json`. */
|
|
421
|
+
export const backlogIdentityEnvelopeSchema = z.object({ id: z.string().min(1) });
|
|
422
|
+
|
|
423
|
+
/** Available-or-unavailable evidence; an unavailable member never reads as healthy. */
|
|
424
|
+
export function sprintCompositionEvidenceSchema<T extends z.ZodType>(value: T) {
|
|
425
|
+
return z.discriminatedUnion('state', [
|
|
426
|
+
z.object({ state: z.literal('available'), value }).strict(),
|
|
427
|
+
z.object({ state: z.literal('unavailable'), reason: z.string().min(1) }).strict(),
|
|
428
|
+
]);
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
export type SprintCompositionEvidence<T> =
|
|
432
|
+
| { state: 'available'; value: T }
|
|
433
|
+
| { state: 'unavailable'; reason: string };
|
|
434
|
+
|
|
435
|
+
/**
|
|
436
|
+
* The authoritative reread set (frozen contract §6). Only the members the action
|
|
437
|
+
* actually rereads are present; a failed reread is an `unavailable` member and
|
|
438
|
+
* never converts an applied mutation into a failure.
|
|
439
|
+
*/
|
|
440
|
+
export const sprintCompositionRereadsSchema = z
|
|
441
|
+
.object({
|
|
442
|
+
sprints: sprintCompositionEvidenceSchema(sprintListEnvelopeSchema).optional(),
|
|
443
|
+
sprint: sprintCompositionEvidenceSchema(sprintStatusEnvelopeSchema).optional(),
|
|
444
|
+
sourceSprint: sprintCompositionEvidenceSchema(sprintStatusEnvelopeSchema).optional(),
|
|
445
|
+
targetSprint: sprintCompositionEvidenceSchema(sprintStatusEnvelopeSchema).optional(),
|
|
446
|
+
task: sprintCompositionEvidenceSchema(getTaskDetailOutputSchema).optional(),
|
|
447
|
+
backlogItem: sprintCompositionEvidenceSchema(backlogIdentityEnvelopeSchema).optional(),
|
|
448
|
+
})
|
|
449
|
+
.strict();
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* Evidence about the single invocation only.
|
|
453
|
+
*
|
|
454
|
+
* `state` gains `timed_out` and `ambiguous` over the shipped task-action
|
|
455
|
+
* evidence because an `add-task` attach failure is genuinely undetermined
|
|
456
|
+
* without the structured envelope and must render as neither success nor
|
|
457
|
+
* "nothing happened". `attempts` is a literal 1: nothing is retried.
|
|
458
|
+
* `remoteSyncConfirmedByExitCode` is a literal false, so exit 0 can never be
|
|
459
|
+
* rendered as confirmed remote synchronization.
|
|
460
|
+
*/
|
|
461
|
+
export const sprintCompositionCommandEvidenceSchema = z
|
|
462
|
+
.object({
|
|
463
|
+
state: z.enum(['succeeded', 'failed', 'timed_out', 'ambiguous']),
|
|
464
|
+
attempts: z.literal(1),
|
|
465
|
+
argv: z.array(z.string().min(1)),
|
|
466
|
+
exitCode: z.number().int().nullable(),
|
|
467
|
+
diagnostics: z.string().nullable(),
|
|
468
|
+
remoteSyncConfirmedByExitCode: z.literal(false),
|
|
469
|
+
})
|
|
470
|
+
.strict();
|
|
471
|
+
|
|
472
|
+
/**
|
|
473
|
+
* Explicit effect phase. It is reported, never inferred by a consumer from an
|
|
474
|
+
* exit code, and `overlap-conflict` stays a distinct outcome rather than a
|
|
475
|
+
* generic failure.
|
|
476
|
+
*/
|
|
477
|
+
export const sprintCompositionEffectPhaseSchema = z.enum([
|
|
478
|
+
'refused-before-launch',
|
|
479
|
+
'refused-before-effect',
|
|
480
|
+
'applied',
|
|
481
|
+
'applied-incomplete',
|
|
482
|
+
'failed-after-partial-effect',
|
|
483
|
+
'overlap-conflict',
|
|
484
|
+
'unknown-after-timeout',
|
|
485
|
+
]);
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* Sync state as reported, never as proven. Poetic's managed sync commits and
|
|
489
|
+
* pushes; BB derives this only from a fresh planning-workspace reread. This lane
|
|
490
|
+
* never emits `skipped_incomplete` (that is the backlog-create shape in
|
|
491
|
+
* BPAU-01); the vocabulary is shared and frozen.
|
|
492
|
+
*/
|
|
493
|
+
export const sprintCompositionSyncStateSchema = z.enum([
|
|
494
|
+
'not_attempted',
|
|
495
|
+
'skipped_incomplete',
|
|
496
|
+
'remote_verified',
|
|
497
|
+
'local_commit_only',
|
|
498
|
+
'failed',
|
|
499
|
+
'unknown',
|
|
500
|
+
]);
|
|
501
|
+
|
|
502
|
+
export const applySprintCompositionOutputSchema = z
|
|
503
|
+
.object({
|
|
504
|
+
outcomeVersion: z.literal(SPRINT_COMPOSITION_OUTCOME_VERSION),
|
|
505
|
+
repository: repositorySchema,
|
|
506
|
+
disclosure: sprintCompositionDisclosureSchema,
|
|
507
|
+
action: z.enum(SPRINT_COMPOSITION_VOCABULARY),
|
|
508
|
+
requestedIdentities: z.array(z.string().min(1)),
|
|
509
|
+
command: sprintCompositionCommandEvidenceSchema,
|
|
510
|
+
identityOutcome: sprintCompositionIdentityOutcomeSchema,
|
|
511
|
+
effect: z
|
|
512
|
+
.object({
|
|
513
|
+
phase: sprintCompositionEffectPhaseSchema,
|
|
514
|
+
createdIdentities: z.array(z.string().min(1)),
|
|
515
|
+
affectedIdentities: z.array(z.string().min(1)),
|
|
516
|
+
})
|
|
517
|
+
.strict(),
|
|
518
|
+
sync: z
|
|
519
|
+
.object({
|
|
520
|
+
state: sprintCompositionSyncStateSchema,
|
|
521
|
+
detail: z.string().nullable(),
|
|
522
|
+
})
|
|
523
|
+
.strict(),
|
|
524
|
+
syncWarnings: z.array(z.string()),
|
|
525
|
+
integrityNotes: z.array(z.string()),
|
|
526
|
+
canonicalRereads: sprintCompositionRereadsSchema,
|
|
527
|
+
workspace: sprintCompositionEvidenceSchema(planningWorkspaceProjectionSchema),
|
|
528
|
+
})
|
|
529
|
+
.strict();
|
|
530
|
+
|
|
531
|
+
export type ApplySprintCompositionOutput = z.infer<typeof applySprintCompositionOutputSchema>;
|
|
532
|
+
|
|
533
|
+
/** Read-only multi-sprint enumeration request. Carries no consent. */
|
|
534
|
+
export const listSprintsInputSchema = z
|
|
535
|
+
.object({
|
|
536
|
+
projectId: z.string().min(1),
|
|
537
|
+
sourceId: z.string().min(1),
|
|
538
|
+
scope: sprintListScopeSchema.optional(),
|
|
539
|
+
})
|
|
540
|
+
.strict();
|
|
541
|
+
|
|
542
|
+
/** Read-only single-sprint projection request. Always names an explicit id. */
|
|
543
|
+
export const getSprintInputSchema = z
|
|
544
|
+
.object({
|
|
545
|
+
projectId: z.string().min(1),
|
|
546
|
+
sourceId: z.string().min(1),
|
|
547
|
+
sprintId: managedPlanningIdSchema,
|
|
548
|
+
})
|
|
549
|
+
.strict();
|
|
550
|
+
|
|
551
|
+
export const listSprintsOutputSchema = z
|
|
552
|
+
.object({
|
|
553
|
+
repository: repositorySchema,
|
|
554
|
+
scope: sprintListScopeSchema,
|
|
555
|
+
sprints: sprintCompositionEvidenceSchema(sprintListEnvelopeSchema),
|
|
556
|
+
})
|
|
557
|
+
.strict();
|
|
558
|
+
|
|
559
|
+
export const getSprintOutputSchema = z
|
|
560
|
+
.object({
|
|
561
|
+
repository: repositorySchema,
|
|
562
|
+
sprintId: managedPlanningIdSchema,
|
|
563
|
+
sprint: sprintCompositionEvidenceSchema(sprintStatusEnvelopeSchema),
|
|
564
|
+
integrityNotes: z.array(z.string()),
|
|
565
|
+
})
|
|
566
|
+
.strict();
|
|
567
|
+
|
|
568
|
+
export type ListSprintsInput = z.infer<typeof listSprintsInputSchema>;
|
|
569
|
+
export type ListSprintsOutput = z.infer<typeof listSprintsOutputSchema>;
|
|
570
|
+
export type GetSprintInput = z.infer<typeof getSprintInputSchema>;
|
|
571
|
+
export type GetSprintOutput = z.infer<typeof getSprintOutputSchema>;
|
|
572
|
+
export type SprintListEnvelope = z.infer<typeof sprintListEnvelopeSchema>;
|
|
573
|
+
export type SprintStatusEnvelope = z.infer<typeof sprintStatusEnvelopeSchema>;
|
|
574
|
+
export type SprintCreateEnvelope = z.infer<typeof sprintCreateEnvelopeSchema>;
|
|
575
|
+
export type SprintAddTaskEnvelope = z.infer<typeof sprintAddTaskEnvelopeSchema>;
|
|
576
|
+
export type SprintCompositionIdentityOutcome = z.infer<
|
|
577
|
+
typeof sprintCompositionIdentityOutcomeSchema
|
|
578
|
+
>;
|
|
579
|
+
export type SprintCompositionRereads = z.infer<typeof sprintCompositionRereadsSchema>;
|
|
580
|
+
export type SprintCompositionEffectPhase = z.infer<typeof sprintCompositionEffectPhaseSchema>;
|
|
581
|
+
export type SprintCompositionSyncState = z.infer<typeof sprintCompositionSyncStateSchema>;
|
|
582
|
+
|
|
583
|
+
/**
|
|
584
|
+
* Frozen method surfaces for the BPAU-07A registration delta. Declaring them
|
|
585
|
+
* here keeps the request/outcome contract in this lane; 07A reads the live
|
|
586
|
+
* `LIVE_POETIC_RPC_METHODS` and registers these names.
|
|
587
|
+
*/
|
|
588
|
+
export const applySprintCompositionMethod = {
|
|
589
|
+
input: applySprintCompositionInputSchema,
|
|
590
|
+
output: applySprintCompositionOutputSchema,
|
|
591
|
+
} as const;
|
|
592
|
+
|
|
593
|
+
export const listSprintsMethod = {
|
|
594
|
+
input: listSprintsInputSchema,
|
|
595
|
+
output: listSprintsOutputSchema,
|
|
596
|
+
} as const;
|
|
597
|
+
|
|
598
|
+
export const getSprintMethod = {
|
|
599
|
+
input: getSprintInputSchema,
|
|
600
|
+
output: getSprintOutputSchema,
|
|
601
|
+
} as const;
|