@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,44 @@
|
|
|
1
|
+
// src/core/config/redaction.ts
|
|
2
|
+
var CONFIG_REDACTION_PLACEHOLDER = "<redacted>";
|
|
3
|
+
var SENSITIVE_CONFIG_PATH_PATTERN = /(?:^|[._-])(?:api[_-]?key|tokens?|secrets?|password|credentials?|auth[_-]?(?:key|token)|access[_-]?(?:key|token)|refresh[_-]?token|client[_-]?secret|private[_-]?key)(?:$|[._-])|(?:apiKey|authKey|authToken|accessKey|accessToken|refreshToken|clientSecret|privateKey)|(?:secret|password|passwd|credential)/i;
|
|
4
|
+
function normalizePath(path) {
|
|
5
|
+
return typeof path === "string" ? path : path.join(".");
|
|
6
|
+
}
|
|
7
|
+
function isSensitiveConfigPath(path) {
|
|
8
|
+
return SENSITIVE_CONFIG_PATH_PATTERN.test(normalizePath(path));
|
|
9
|
+
}
|
|
10
|
+
function isSensitiveEnvName(name) {
|
|
11
|
+
return isSensitiveConfigPath(name);
|
|
12
|
+
}
|
|
13
|
+
function redactSensitiveConfig(value, path = []) {
|
|
14
|
+
return redactValue(value, path, path.length > 0 && isSensitiveConfigPath(path));
|
|
15
|
+
}
|
|
16
|
+
function redactValue(value, path, forceRedact) {
|
|
17
|
+
if (value === void 0 || value === null) {
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
if (Array.isArray(value)) {
|
|
21
|
+
return value.map((item, index) => redactValue(item, [...path, String(index)], forceRedact));
|
|
22
|
+
}
|
|
23
|
+
if (typeof value === "object") {
|
|
24
|
+
const redacted = {};
|
|
25
|
+
for (const [key, childValue] of Object.entries(value)) {
|
|
26
|
+
const childPath = [...path, key];
|
|
27
|
+
redacted[key] = redactValue(
|
|
28
|
+
childValue,
|
|
29
|
+
childPath,
|
|
30
|
+
forceRedact || isSensitiveConfigPath(childPath)
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
return redacted;
|
|
34
|
+
}
|
|
35
|
+
return forceRedact ? CONFIG_REDACTION_PLACEHOLDER : value;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export {
|
|
39
|
+
CONFIG_REDACTION_PLACEHOLDER,
|
|
40
|
+
isSensitiveConfigPath,
|
|
41
|
+
isSensitiveEnvName,
|
|
42
|
+
redactSensitiveConfig
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=chunk-3M57DADF.js.map
|
|
@@ -0,0 +1,543 @@
|
|
|
1
|
+
import {
|
|
2
|
+
redactPersistedTelemetryString
|
|
3
|
+
} from "./chunk-6Y5U7UFY.js";
|
|
4
|
+
|
|
5
|
+
// src/telemetry/telemetry-health-tracker.ts
|
|
6
|
+
import { randomUUID } from "crypto";
|
|
7
|
+
var TelemetryHealthTracker = class _TelemetryHealthTracker {
|
|
8
|
+
db;
|
|
9
|
+
/** Operation count for error rate calculation. Thread-safe in Node.js single-threaded context. */
|
|
10
|
+
operationCount = 0;
|
|
11
|
+
static buildId(prefix) {
|
|
12
|
+
return `${prefix}-${randomUUID()}`;
|
|
13
|
+
}
|
|
14
|
+
lastResetTime = Date.now();
|
|
15
|
+
normalizeResolvedValue(resolved) {
|
|
16
|
+
if (typeof resolved === "boolean") {
|
|
17
|
+
return resolved;
|
|
18
|
+
}
|
|
19
|
+
if (typeof resolved === "number") {
|
|
20
|
+
return resolved !== 0;
|
|
21
|
+
}
|
|
22
|
+
if (typeof resolved === "string") {
|
|
23
|
+
const normalized = resolved.trim().toLowerCase();
|
|
24
|
+
return normalized === "1" || normalized === "true" || normalized === "yes";
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
normalizeErrorRow(row) {
|
|
29
|
+
return {
|
|
30
|
+
...row,
|
|
31
|
+
resolved: this.normalizeResolvedValue(row.resolved)
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Create a new health tracker
|
|
36
|
+
*
|
|
37
|
+
* @param db - SQLite database connection
|
|
38
|
+
*/
|
|
39
|
+
constructor(db) {
|
|
40
|
+
this.db = db;
|
|
41
|
+
this.createSchema();
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Create database schema for health tracking
|
|
45
|
+
*/
|
|
46
|
+
createSchema() {
|
|
47
|
+
try {
|
|
48
|
+
this.db.exec(`
|
|
49
|
+
CREATE TABLE IF NOT EXISTS telemetry_errors (
|
|
50
|
+
id TEXT PRIMARY KEY,
|
|
51
|
+
timestamp TEXT NOT NULL,
|
|
52
|
+
operation TEXT NOT NULL,
|
|
53
|
+
error_type TEXT NOT NULL,
|
|
54
|
+
error_message TEXT NOT NULL,
|
|
55
|
+
context_json TEXT,
|
|
56
|
+
task_id TEXT,
|
|
57
|
+
resolved INTEGER DEFAULT 0,
|
|
58
|
+
resolved_at TEXT,
|
|
59
|
+
created_at TEXT DEFAULT CURRENT_TIMESTAMP
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_errors_timestamp
|
|
63
|
+
ON telemetry_errors(timestamp);
|
|
64
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_errors_task_id
|
|
65
|
+
ON telemetry_errors(task_id);
|
|
66
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_errors_operation
|
|
67
|
+
ON telemetry_errors(operation);
|
|
68
|
+
CREATE INDEX IF NOT EXISTS idx_telemetry_errors_resolved
|
|
69
|
+
ON telemetry_errors(resolved);
|
|
70
|
+
|
|
71
|
+
-- Queue depth snapshots table
|
|
72
|
+
CREATE TABLE IF NOT EXISTS queue_depth_snapshots (
|
|
73
|
+
id TEXT PRIMARY KEY,
|
|
74
|
+
timestamp TEXT NOT NULL,
|
|
75
|
+
queue_depth INTEGER NOT NULL,
|
|
76
|
+
flush_interval_ms INTEGER,
|
|
77
|
+
fallback_active INTEGER DEFAULT 0
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
CREATE INDEX IF NOT EXISTS idx_queue_snapshots_timestamp
|
|
81
|
+
ON queue_depth_snapshots(timestamp);
|
|
82
|
+
|
|
83
|
+
-- Fallback events table
|
|
84
|
+
CREATE TABLE IF NOT EXISTS fallback_events (
|
|
85
|
+
id TEXT PRIMARY KEY,
|
|
86
|
+
timestamp TEXT NOT NULL,
|
|
87
|
+
event_type TEXT NOT NULL,
|
|
88
|
+
reason TEXT,
|
|
89
|
+
duration_ms INTEGER
|
|
90
|
+
);
|
|
91
|
+
|
|
92
|
+
CREATE INDEX IF NOT EXISTS idx_fallback_events_timestamp
|
|
93
|
+
ON fallback_events(timestamp);
|
|
94
|
+
`);
|
|
95
|
+
} catch (error) {
|
|
96
|
+
console.warn(
|
|
97
|
+
"Failed to create telemetry health tracking schema:",
|
|
98
|
+
error instanceof Error ? error.message : String(error)
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Log a telemetry error
|
|
104
|
+
*
|
|
105
|
+
* @param error - Error details (id will be auto-generated if not provided)
|
|
106
|
+
*/
|
|
107
|
+
logError(error) {
|
|
108
|
+
const id = error.id || _TelemetryHealthTracker.buildId("err");
|
|
109
|
+
if (!this.isDbOpen()) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
try {
|
|
113
|
+
this.db.prepare(
|
|
114
|
+
`
|
|
115
|
+
INSERT INTO telemetry_errors (
|
|
116
|
+
id, timestamp, operation, error_type, error_message,
|
|
117
|
+
context_json, task_id, resolved
|
|
118
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
119
|
+
`
|
|
120
|
+
).run(
|
|
121
|
+
id,
|
|
122
|
+
error.timestamp,
|
|
123
|
+
error.operation,
|
|
124
|
+
error.error_type,
|
|
125
|
+
redactPersistedTelemetryString(error.error_message),
|
|
126
|
+
typeof error.context_json === "string" ? redactPersistedTelemetryString(error.context_json) : error.context_json,
|
|
127
|
+
error.task_id || null,
|
|
128
|
+
error.resolved ? 1 : 0
|
|
129
|
+
);
|
|
130
|
+
} catch (dbError) {
|
|
131
|
+
console.warn("Failed to log telemetry error:", dbError);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Check whether the underlying DB connection is still open.
|
|
136
|
+
*
|
|
137
|
+
* better-sqlite3 exposes `Database#open` (boolean). We use optional chaining
|
|
138
|
+
* so this degrades gracefully when the DB is a noop adapter or mock.
|
|
139
|
+
*/
|
|
140
|
+
isDbOpen() {
|
|
141
|
+
const db = this.db;
|
|
142
|
+
return db.open !== false;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Get recent errors since a specific timestamp
|
|
146
|
+
*
|
|
147
|
+
* @param sinceTimestamp - ISO 8601 timestamp
|
|
148
|
+
* @param limit - Maximum number of errors to return
|
|
149
|
+
* @returns Array of telemetry errors
|
|
150
|
+
*/
|
|
151
|
+
getRecentErrors(sinceTimestamp, limit = 100) {
|
|
152
|
+
if (!this.isDbOpen()) {
|
|
153
|
+
return [];
|
|
154
|
+
}
|
|
155
|
+
try {
|
|
156
|
+
const rows = this.db.prepare(
|
|
157
|
+
`
|
|
158
|
+
SELECT * FROM telemetry_errors
|
|
159
|
+
WHERE timestamp >= ?
|
|
160
|
+
ORDER BY timestamp DESC
|
|
161
|
+
LIMIT ?
|
|
162
|
+
`
|
|
163
|
+
).all(sinceTimestamp, limit);
|
|
164
|
+
return rows.map((row) => this.normalizeErrorRow(row));
|
|
165
|
+
} catch (error) {
|
|
166
|
+
console.warn("Failed to query recent errors:", error);
|
|
167
|
+
return [];
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Get errors for a specific task
|
|
172
|
+
*
|
|
173
|
+
* @param taskId - Task ID
|
|
174
|
+
* @returns Array of telemetry errors
|
|
175
|
+
*/
|
|
176
|
+
getErrorsForTask(taskId) {
|
|
177
|
+
if (!this.isDbOpen()) {
|
|
178
|
+
return [];
|
|
179
|
+
}
|
|
180
|
+
try {
|
|
181
|
+
const rows = this.db.prepare(
|
|
182
|
+
`
|
|
183
|
+
SELECT * FROM telemetry_errors
|
|
184
|
+
WHERE task_id = ?
|
|
185
|
+
ORDER BY timestamp DESC
|
|
186
|
+
`
|
|
187
|
+
).all(taskId);
|
|
188
|
+
return rows.map((row) => this.normalizeErrorRow(row));
|
|
189
|
+
} catch (error) {
|
|
190
|
+
console.warn("Failed to query task errors:", error);
|
|
191
|
+
return [];
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Get health metrics for telemetry system
|
|
196
|
+
*
|
|
197
|
+
* @param queueDepth - Current event queue depth
|
|
198
|
+
* @param fallbackActive - Whether fallback mode is active
|
|
199
|
+
* @returns Health metrics
|
|
200
|
+
*/
|
|
201
|
+
getHealthMetrics(queueDepth, fallbackActive) {
|
|
202
|
+
if (!this.isDbOpen()) {
|
|
203
|
+
return {
|
|
204
|
+
error_rate: 0,
|
|
205
|
+
fallback_mode_active: fallbackActive,
|
|
206
|
+
queue_depth: queueDepth,
|
|
207
|
+
last_error_timestamp: void 0,
|
|
208
|
+
errors_last_hour: 0,
|
|
209
|
+
unresolved_errors: 0,
|
|
210
|
+
database_healthy: false
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
const oneHourAgo = new Date(Date.now() - 36e5).toISOString();
|
|
214
|
+
let errorsLastHour = 0;
|
|
215
|
+
let unresolvedErrors = 0;
|
|
216
|
+
let lastErrorTimestamp;
|
|
217
|
+
let dbQueryFailed = false;
|
|
218
|
+
try {
|
|
219
|
+
const hourlyCount = this.db.prepare(
|
|
220
|
+
`
|
|
221
|
+
SELECT COUNT(*) as count FROM telemetry_errors
|
|
222
|
+
WHERE timestamp >= ?
|
|
223
|
+
`
|
|
224
|
+
).get(oneHourAgo);
|
|
225
|
+
errorsLastHour = hourlyCount.count;
|
|
226
|
+
const unresolvedCount = this.db.prepare(
|
|
227
|
+
`
|
|
228
|
+
SELECT COUNT(*) as count FROM telemetry_errors
|
|
229
|
+
WHERE resolved = 0
|
|
230
|
+
`
|
|
231
|
+
).get();
|
|
232
|
+
unresolvedErrors = unresolvedCount.count;
|
|
233
|
+
const lastError = this.db.prepare(
|
|
234
|
+
`
|
|
235
|
+
SELECT timestamp FROM telemetry_errors
|
|
236
|
+
ORDER BY timestamp DESC
|
|
237
|
+
LIMIT 1
|
|
238
|
+
`
|
|
239
|
+
).get();
|
|
240
|
+
lastErrorTimestamp = lastError?.timestamp;
|
|
241
|
+
} catch (error) {
|
|
242
|
+
dbQueryFailed = true;
|
|
243
|
+
console.warn("Failed to calculate health metrics:", error);
|
|
244
|
+
}
|
|
245
|
+
const now = Date.now();
|
|
246
|
+
const operationCountSnapshot = this.operationCount;
|
|
247
|
+
const errorRate = operationCountSnapshot > 0 ? errorsLastHour / operationCountSnapshot : 0;
|
|
248
|
+
if (now - this.lastResetTime > 36e5) {
|
|
249
|
+
this.operationCount = 0;
|
|
250
|
+
this.lastResetTime = now;
|
|
251
|
+
}
|
|
252
|
+
return {
|
|
253
|
+
error_rate: errorRate,
|
|
254
|
+
fallback_mode_active: fallbackActive,
|
|
255
|
+
queue_depth: queueDepth,
|
|
256
|
+
last_error_timestamp: lastErrorTimestamp,
|
|
257
|
+
errors_last_hour: errorsLastHour,
|
|
258
|
+
unresolved_errors: unresolvedErrors,
|
|
259
|
+
database_healthy: !fallbackActive && !dbQueryFailed && unresolvedErrors === 0
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Increment operation counter for error rate calculation
|
|
264
|
+
*
|
|
265
|
+
* Note: This operation is safe in Node.js single-threaded execution model.
|
|
266
|
+
* The increment is atomic within JavaScript's event loop.
|
|
267
|
+
*/
|
|
268
|
+
incrementOperationCount() {
|
|
269
|
+
this.operationCount++;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Mark an error as resolved
|
|
273
|
+
*
|
|
274
|
+
* @param errorId - Error ID to mark as resolved
|
|
275
|
+
*/
|
|
276
|
+
resolveError(errorId) {
|
|
277
|
+
if (!this.isDbOpen()) {
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
try {
|
|
281
|
+
const resolvedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
282
|
+
this.db.prepare(
|
|
283
|
+
`
|
|
284
|
+
UPDATE telemetry_errors
|
|
285
|
+
SET resolved = 1, resolved_at = ?
|
|
286
|
+
WHERE id = ?
|
|
287
|
+
`
|
|
288
|
+
).run(resolvedAt, errorId);
|
|
289
|
+
} catch (error) {
|
|
290
|
+
console.warn("Failed to resolve error:", error);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Mark all unresolved errors of a specific type as resolved
|
|
295
|
+
*
|
|
296
|
+
* @param errorType - Error type to resolve
|
|
297
|
+
* @returns Number of errors resolved
|
|
298
|
+
*/
|
|
299
|
+
resolveErrorsByType(errorType) {
|
|
300
|
+
if (!this.isDbOpen()) {
|
|
301
|
+
return 0;
|
|
302
|
+
}
|
|
303
|
+
try {
|
|
304
|
+
const resolvedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
305
|
+
const result = this.db.prepare(
|
|
306
|
+
`
|
|
307
|
+
UPDATE telemetry_errors
|
|
308
|
+
SET resolved = 1, resolved_at = ?
|
|
309
|
+
WHERE error_type = ? AND resolved = 0
|
|
310
|
+
`
|
|
311
|
+
).run(resolvedAt, errorType);
|
|
312
|
+
return result.changes;
|
|
313
|
+
} catch (error) {
|
|
314
|
+
console.warn("Failed to resolve errors by type:", error);
|
|
315
|
+
return 0;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Get error statistics by operation
|
|
320
|
+
*
|
|
321
|
+
* @returns Map of operation name to error count
|
|
322
|
+
*/
|
|
323
|
+
getErrorStatsByOperation() {
|
|
324
|
+
const stats = /* @__PURE__ */ new Map();
|
|
325
|
+
if (!this.isDbOpen()) {
|
|
326
|
+
return stats;
|
|
327
|
+
}
|
|
328
|
+
try {
|
|
329
|
+
const results = this.db.prepare(
|
|
330
|
+
`
|
|
331
|
+
SELECT operation, COUNT(*) as count
|
|
332
|
+
FROM telemetry_errors
|
|
333
|
+
WHERE resolved = 0
|
|
334
|
+
GROUP BY operation
|
|
335
|
+
ORDER BY count DESC
|
|
336
|
+
`
|
|
337
|
+
).all();
|
|
338
|
+
for (const row of results) {
|
|
339
|
+
stats.set(row.operation, row.count);
|
|
340
|
+
}
|
|
341
|
+
} catch (error) {
|
|
342
|
+
console.warn("Failed to get error stats:", error);
|
|
343
|
+
}
|
|
344
|
+
return stats;
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Clean up old resolved errors
|
|
348
|
+
*
|
|
349
|
+
* @param olderThan - Delete errors older than this timestamp
|
|
350
|
+
* @returns Number of errors deleted
|
|
351
|
+
*/
|
|
352
|
+
cleanupOldErrors(olderThan) {
|
|
353
|
+
if (!this.isDbOpen()) {
|
|
354
|
+
return 0;
|
|
355
|
+
}
|
|
356
|
+
try {
|
|
357
|
+
const result = this.db.prepare(
|
|
358
|
+
`
|
|
359
|
+
DELETE FROM telemetry_errors
|
|
360
|
+
WHERE resolved = 1 AND timestamp < ?
|
|
361
|
+
`
|
|
362
|
+
).run(olderThan);
|
|
363
|
+
return result.changes;
|
|
364
|
+
} catch (error) {
|
|
365
|
+
console.warn("Failed to cleanup old errors:", error);
|
|
366
|
+
return 0;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Get total error count
|
|
371
|
+
*
|
|
372
|
+
* @returns Total number of errors in database
|
|
373
|
+
*/
|
|
374
|
+
getTotalErrorCount() {
|
|
375
|
+
if (!this.isDbOpen()) {
|
|
376
|
+
return 0;
|
|
377
|
+
}
|
|
378
|
+
try {
|
|
379
|
+
const result = this.db.prepare("SELECT COUNT(*) as count FROM telemetry_errors").get();
|
|
380
|
+
return result.count;
|
|
381
|
+
} catch (error) {
|
|
382
|
+
console.warn("Failed to get total error count:", error);
|
|
383
|
+
return 0;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Record a queue depth snapshot
|
|
388
|
+
*
|
|
389
|
+
* @param queueDepth - Current queue depth
|
|
390
|
+
* @param flushIntervalMs - Flush interval in milliseconds
|
|
391
|
+
* @param fallbackActive - Whether fallback mode is active
|
|
392
|
+
*/
|
|
393
|
+
recordQueueDepthSnapshot(queueDepth, flushIntervalMs, fallbackActive) {
|
|
394
|
+
if (!this.isDbOpen()) {
|
|
395
|
+
return;
|
|
396
|
+
}
|
|
397
|
+
try {
|
|
398
|
+
const id = _TelemetryHealthTracker.buildId("qd");
|
|
399
|
+
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
|
|
400
|
+
this.db.prepare(
|
|
401
|
+
`
|
|
402
|
+
INSERT INTO queue_depth_snapshots
|
|
403
|
+
(id, timestamp, queue_depth, flush_interval_ms, fallback_active)
|
|
404
|
+
VALUES (?, ?, ?, ?, ?)
|
|
405
|
+
`
|
|
406
|
+
).run(id, timestamp, queueDepth, flushIntervalMs, fallbackActive ? 1 : 0);
|
|
407
|
+
} catch (error) {
|
|
408
|
+
console.warn("Failed to record queue depth snapshot:", error);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Log a fallback event (entered or exited fallback mode)
|
|
413
|
+
*
|
|
414
|
+
* @param eventType - 'entered' or 'exited'
|
|
415
|
+
* @param reason - Reason for the event
|
|
416
|
+
* @param durationMs - Duration of fallback mode (for 'exited' events)
|
|
417
|
+
*/
|
|
418
|
+
logFallbackEvent(eventType, reason, durationMs) {
|
|
419
|
+
if (!this.isDbOpen()) {
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
422
|
+
try {
|
|
423
|
+
const id = _TelemetryHealthTracker.buildId("fb");
|
|
424
|
+
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
|
|
425
|
+
this.db.prepare(
|
|
426
|
+
`
|
|
427
|
+
INSERT INTO fallback_events
|
|
428
|
+
(id, timestamp, event_type, reason, duration_ms)
|
|
429
|
+
VALUES (?, ?, ?, ?, ?)
|
|
430
|
+
`
|
|
431
|
+
).run(id, timestamp, eventType, reason, durationMs ?? null);
|
|
432
|
+
} catch (error) {
|
|
433
|
+
console.warn("Failed to log fallback event:", error);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Calculate MTTR (Mean Time To Resolution) metrics
|
|
438
|
+
*
|
|
439
|
+
* @param timeWindowHours - Time window in hours for calculation (default: 24)
|
|
440
|
+
* @returns MTTR metrics
|
|
441
|
+
*/
|
|
442
|
+
calculateMTTR(timeWindowHours = 24) {
|
|
443
|
+
if (!this.isDbOpen()) {
|
|
444
|
+
return {
|
|
445
|
+
mean_time_to_resolution: 0,
|
|
446
|
+
median_resolution_time: 0,
|
|
447
|
+
p50_resolution_time: 0,
|
|
448
|
+
p95_resolution_time: 0,
|
|
449
|
+
p99_resolution_time: 0,
|
|
450
|
+
mtbf: 0,
|
|
451
|
+
error_count_last_24h: 0,
|
|
452
|
+
resolution_rate: 0,
|
|
453
|
+
resolved_count: 0,
|
|
454
|
+
unresolved_count: 0
|
|
455
|
+
};
|
|
456
|
+
}
|
|
457
|
+
const timeWindowMs = timeWindowHours * 36e5;
|
|
458
|
+
const cutoffTime = new Date(Date.now() - timeWindowMs).toISOString();
|
|
459
|
+
try {
|
|
460
|
+
const allErrors = this.db.prepare(
|
|
461
|
+
`
|
|
462
|
+
SELECT timestamp, resolved, resolved_at
|
|
463
|
+
FROM telemetry_errors
|
|
464
|
+
WHERE timestamp >= ?
|
|
465
|
+
ORDER BY timestamp ASC
|
|
466
|
+
`
|
|
467
|
+
).all(cutoffTime);
|
|
468
|
+
const errorCount = allErrors.length;
|
|
469
|
+
const resolvedErrors = allErrors.filter((e) => e.resolved === 1 && e.resolved_at);
|
|
470
|
+
const unresolvedErrors = allErrors.filter((e) => e.resolved === 0);
|
|
471
|
+
const resolvedCount = resolvedErrors.length;
|
|
472
|
+
const unresolvedCount = unresolvedErrors.length;
|
|
473
|
+
const resolutionTimes = [];
|
|
474
|
+
for (const error of resolvedErrors) {
|
|
475
|
+
if (error.resolved_at) {
|
|
476
|
+
const detectionTime = new Date(error.timestamp).getTime();
|
|
477
|
+
const resolutionTime = new Date(error.resolved_at).getTime();
|
|
478
|
+
const duration = resolutionTime - detectionTime;
|
|
479
|
+
if (duration > 0 && duration < 30 * 24 * 36e5) {
|
|
480
|
+
resolutionTimes.push(duration);
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
let meanTimeToResolution = 0;
|
|
485
|
+
let medianResolutionTime = 0;
|
|
486
|
+
let p50ResolutionTime = 0;
|
|
487
|
+
let p95ResolutionTime = 0;
|
|
488
|
+
let p99ResolutionTime = 0;
|
|
489
|
+
if (resolutionTimes.length > 0) {
|
|
490
|
+
const sorted = [...resolutionTimes].sort((a, b) => a - b);
|
|
491
|
+
const sum = sorted.reduce((acc, val) => acc + val, 0);
|
|
492
|
+
meanTimeToResolution = sum / sorted.length;
|
|
493
|
+
medianResolutionTime = sorted[Math.floor(sorted.length / 2)] ?? 0;
|
|
494
|
+
p50ResolutionTime = medianResolutionTime;
|
|
495
|
+
p95ResolutionTime = sorted[Math.floor(sorted.length * 0.95)] ?? 0;
|
|
496
|
+
p99ResolutionTime = sorted[Math.floor(sorted.length * 0.99)] ?? 0;
|
|
497
|
+
}
|
|
498
|
+
let mtbf = 0;
|
|
499
|
+
if (allErrors.length > 1) {
|
|
500
|
+
const firstErrorTime = new Date(allErrors[0]?.timestamp ?? cutoffTime).getTime();
|
|
501
|
+
const lastErrorTime = new Date(
|
|
502
|
+
allErrors[allErrors.length - 1]?.timestamp ?? Date.now()
|
|
503
|
+
).getTime();
|
|
504
|
+
const totalTime = lastErrorTime - firstErrorTime;
|
|
505
|
+
if (totalTime > 0) {
|
|
506
|
+
mtbf = totalTime / (allErrors.length - 1);
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
const resolutionRate = errorCount > 0 ? resolvedCount / errorCount : 0;
|
|
510
|
+
return {
|
|
511
|
+
mean_time_to_resolution: meanTimeToResolution,
|
|
512
|
+
median_resolution_time: medianResolutionTime,
|
|
513
|
+
p50_resolution_time: p50ResolutionTime,
|
|
514
|
+
p95_resolution_time: p95ResolutionTime,
|
|
515
|
+
p99_resolution_time: p99ResolutionTime,
|
|
516
|
+
mtbf,
|
|
517
|
+
error_count_last_24h: errorCount,
|
|
518
|
+
resolution_rate: resolutionRate,
|
|
519
|
+
resolved_count: resolvedCount,
|
|
520
|
+
unresolved_count: unresolvedCount
|
|
521
|
+
};
|
|
522
|
+
} catch (error) {
|
|
523
|
+
console.warn("Failed to calculate MTTR:", error);
|
|
524
|
+
return {
|
|
525
|
+
mean_time_to_resolution: 0,
|
|
526
|
+
median_resolution_time: 0,
|
|
527
|
+
p50_resolution_time: 0,
|
|
528
|
+
p95_resolution_time: 0,
|
|
529
|
+
p99_resolution_time: 0,
|
|
530
|
+
mtbf: 0,
|
|
531
|
+
error_count_last_24h: 0,
|
|
532
|
+
resolution_rate: 0,
|
|
533
|
+
resolved_count: 0,
|
|
534
|
+
unresolved_count: 0
|
|
535
|
+
};
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
};
|
|
539
|
+
|
|
540
|
+
export {
|
|
541
|
+
TelemetryHealthTracker
|
|
542
|
+
};
|
|
543
|
+
//# sourceMappingURL=chunk-3S62LLWJ.js.map
|