@shpitdev/convex-cliproxy-observability 0.2.2 → 0.3.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/protocols/checkpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/protocols/checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,GAIb,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAsB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB1C,MAAM,WAAW,GAAG;IAClB,cAAc;IACd,eAAe;IACf,cAAc;IACd,eAAe;IACf,mBAAmB;IACnB,yBAAyB;IACzB,6BAA6B;CACrB,CAAC;AACX,SAAS,YAAY,CAAC,KAAc;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IACD,KAAK,MAAM,KAAK,IAAI;QAClB,sBAAsB;QACtB,uBAAuB;QACvB,uBAAuB;QACvB,2BAA2B;QAC3B,gBAAgB;KACjB,EAAE,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,MAAM,IAAI,GAAgB,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI;YACjB,eAAe;YACf,oBAAoB;YACpB,wBAAwB;YACxB,uBAAuB;YACvB,kBAAkB;YAClB,iBAAiB;YACjB,2BAA2B;YAC3B,2BAA2B;SAC5B,EAAE,CAAC;YACF,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AACD,SAAS,QAAQ,CAAC,KAAkB;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAC7C;QACD,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAClC,OAAO,CACL,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAChD,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAC7C,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CACnC,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AACD,SAAS,eAAe,CACtB,IAAiB,EACjB,KAA2B,EAC3B,KAAkB,EAClB,MAAe;IAEf,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,MAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QACvC,kFAAkF;QAClF,kFAAkF;QAClF,IAAI,uBAAuB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW;YAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;IAC7E,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpF,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACzD,IACE,CAAC,MAAM;YACP,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EACvF,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,IACE,QAAQ,CAAC,MAAM,KAAK,UAAU;gBAC9B,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ;gBAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC/B,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACvD,CAAC,MAAM,IAAI,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC,EACzC,CAAC;gBACD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1F,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;YACxB,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtF,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC;YAChD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC7B,CAAC;aAAM,IACL,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EACtF,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ;gBAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;iBACvF,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;gBACzC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC1B,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,KAAK,oBAAoB,EAAE,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACvD,IACE,OAAO,CAAC,IAAI,KAAK,SAAS;gBAC1B,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ;gBAC9B,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAC/B,CAAC;gBACD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACxF,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC;gBAC7B,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC;gBAC/C,IAAI,CAAC,YAAY;oBACf,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,CAAC;QACH,CAAC;QACD,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7B,KAAK,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;YAC/C,KAAK,CAAC,UAAU;gBACd,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC;YACvF,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC7D,CAAC;QACD,IAAI,IAAI,KAAK,cAAc;YAAE,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC1D,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC1B,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC;QACnF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAChD,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC7D,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,KAAK,WAAW,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;QACjF,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC1B,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AACD,MAAM,UAAU,gBAAgB,CAC9B,IAAiB,EACjB,KAA2B,EAC3B,CAAuB;IAEvB,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,wBAAwB,GAAG,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QACV,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YACpE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,2EAA2E;IAC3E,gFAAgF;IAChF,IACE,CAAC,CAAC,IAAI,KAAK,oBAAoB;QAC/B,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa;YACvB,CAAC,CAAC,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,EACxE,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,CAAC,cAAc;YAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC;YACvC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IACD,kFAAkF;IAClF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChF,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAClF,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YAClF,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChD,IAAI,IAAI,CAAC,SAAS,KAAK,YAAY;oBAAE,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;qBAC3E,CAAC;oBACJ,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC;oBAC7B,IAAI,IAAI,CAAC,SAAS,KAAK,aAAa;wBAAE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC1E,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxC,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,WAAW,KAAK,kBAAkB;oBACtD,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC;oBAC3D,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC5B,IAAI,IAAI,CAAC,cAAc,KAAK,kBAAkB,IAAI,KAAK,CAAC,YAAY;4BAClE,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC;wBAC/B,SAAS;oBACX,CAAC;oBACD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACtC,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC;wBAC5D,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC;oBAC/C,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC5C,CAAC;gBACD,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,iBAAiB;gBAAE,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QAC7F,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS;gBAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1E,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC;QACjB,OAAO,KAAK,CAAC,OAAO,CAAC;QACrB,IACE,IAAI,CAAC,cAAc,KAAK,kBAAkB;YAC1C,KAAK,CAAC,YAAY;YAClB,CAAC,CAAC,iBAAiB,KAAK,WAAW;YAEnC,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC7C,IAAI,KAAK;YAAE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC1C,IAAI,KAAK,IAAI,IAAI,CAAC,eAAe;YAC/B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC3C,IAAI,CAAC,KAAK;YACR,CAAC,CAAC,iBAAiB,KAAK,UAAU;gBAChC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,CAAC,iBAAiB,KAAK,QAAQ;oBAChC,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,CAAC,CAAC,iBAAiB,KAAK,UAAU;wBAClC,CAAC,CAAC,UAAU;wBACZ,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,WAAW;4BAC9B,CAAC,CAAC,WAAW;4BACb,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,YAAY;gCAC9D,CAAC,CAAC,QAAQ;gCACV,CAAC,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC;IACvC,MAAM,KAAK,GACT,CAAC,CAAC,KAAK,CAAC,QAAQ;QAChB,KAAK,CAAC,UAAU;QAChB,CAAC,KAAK,CAAC,OAAO;QACd,CAAC,KAAK,CAAC,SAAS;QAChB,CAAC,KAAK,CAAC,WAAW;QAClB,CAAC,KAAK,CAAC,MAAM,CAAC;IAChB,MAAM,UAAU,GAAuB;QACrC,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,IAAI,CAAC,cAAc,IAAI,SAAS;QAC1C,YAAY,EAAE,QAAQ;QACtB,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;QAC9C,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;QACnD,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,YAAY,GAAuB,EAAE,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACxC,IAAI,KAAK,KAAK,SAAS;gBACrB,YAAY,CAAC,IAAI,CAAC;oBAChB,KAAK;oBACL,WAAW,EAAE,KAAK;oBAClB,MAAM,EAAE,iBAAiB;oBACzB,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;oBACrC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;iBAC7D,CAAC,CAAC;QACP,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,SAAS;YACpD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzB,IAAI,KAAK,KAAK,SAAS;oBACrB,YAAY,CAAC,IAAI,CAAC;wBAChB,KAAK;wBACL,WAAW,EAAE,GAAG,GAAG,IAAI,KAAK,EAAE;wBAC9B,MAAM,EAAE,iBAAiB;wBACzB,KAAK,EAAE,MAAM;wBACb,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;wBACrC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;qBAC7D,CAAC,CAAC;YACP,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,YAAY;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC,UAAU,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,wBAAwB,GAAG,CAAC,CAAC,QAAQ,CAAC;IACnD,IAAI,CAAC,OAAO,CAAC,wBAAwB,GAAG,CAAC,CAAC,QAAQ,CAAC;IACnD,IAAI,CAAC,OAAO,CAAC,GAAG;QACd,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,UAAU;QAC7C,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,KAAK,CAAC,OAAO;YACb,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,KAAK,CAAC,SAAS;gBACf,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,KAAK,CAAC,WAAW;oBACjB,CAAC,CAAC,sBAAsB;oBACxB,CAAC,CAAC,SAAS,CAAC;IACpB,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO;QACrC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,KAAK,CAAC,SAAS;YACf,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,KAAK,CAAC,WAAW;gBACjB,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,KAAK,CAAC,QAAQ;oBACd,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,SAAS,CAAC;IACpB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;AAC5F,CAAC"}
@@ -20,6 +20,7 @@ export type CliproxyProjection = {
20
20
  totalTokens?: number;
21
21
  reasoningTokens?: number;
22
22
  cachedInputTokens?: number;
23
+ cacheCreationInputTokens?: number;
23
24
  statusJson?: string;
24
25
  };
25
26
  metadata: RecordValue;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/protocols/types.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;AAC7F,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,WAAW,GAAG,SAAS,CAAC;IAC9E,YAAY,EAAE,eAAe,CAAC;IAC9B,aAAa,EAAE,eAAe,CAAC;IAC/B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE;QACP,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/protocols/types.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;AAC7F,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,WAAW,GAAG,SAAS,CAAC;IAC9E,YAAY,EAAE,eAAe,CAAC;IAC9B,aAAa,EAAE,eAAe,CAAC;IAC/B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE;QACP,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC"}
@@ -1,3 +1,21 @@
1
+ import { type TokenField } from "../model-call/index.js";
1
2
  import type { CliproxyProjection, RecordValue } from "./types.js";
3
+ /**
4
+ * The one token normalization rule, read from terminal native usage (`details.field` for
5
+ * nested counts). `first` takes the first listed field reported. `base` needs its field and
6
+ * adds each `plus` field, counting an absent one as 0. Input includes cache reads and writes,
7
+ * as OpenAI-style usage reports it. Anthropic reports them apart from `input_tokens` and omits
8
+ * them when no cache is used, as do CLIProxy's translators, so its input is the sum.
9
+ * `totalTokens` is only ever the reported `total_tokens`; Anthropic reports none and it is
10
+ * never summed. Nothing is manufactured from byte or text lengths.
11
+ */
12
+ declare const TOKEN_NORMALIZATION: Record<Exclude<CliproxyProjection["protocol"], "unknown">, Record<TokenField, {
13
+ first: readonly string[];
14
+ } | {
15
+ base: string;
16
+ plus: readonly string[];
17
+ }>>;
18
+ export declare function normalizeUsage(protocol: keyof typeof TOKEN_NORMALIZATION, reported: ReadonlyMap<string, number>): Partial<Record<TokenField, number>>;
2
19
  export declare function extractUsage(projection: CliproxyProjection, raw: RecordValue): void;
20
+ export {};
3
21
  //# sourceMappingURL=usage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/protocols/usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAElE,wBAAgB,YAAY,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,EAAE,WAAW,QAiC5E"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/protocols/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIlE;;;;;;;;GAQG;AACH,QAAA,MAAM,mBAAmB,EAAE,MAAM,CAC/B,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,EAClD,MAAM,CAAC,UAAU,EAAE;IAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,CAwC7F,CAAC;AACF,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,OAAO,mBAAmB,EAC1C,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAiBrC;AAYD,wBAAgB,YAAY,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,EAAE,WAAW,QAK5E"}
@@ -1,27 +1,91 @@
1
- import { count, object } from "./values.js";
1
+ import { TOKEN_FIELDS } from "../model-call/index.js";
2
+ import { count } from "./values.js";
3
+ /** Names the rule below in each usage measurement. */
4
+ const USAGE_SEMANTICS = "client_protocol_usage_v2";
5
+ /**
6
+ * The one token normalization rule, read from terminal native usage (`details.field` for
7
+ * nested counts). `first` takes the first listed field reported. `base` needs its field and
8
+ * adds each `plus` field, counting an absent one as 0. Input includes cache reads and writes,
9
+ * as OpenAI-style usage reports it. Anthropic reports them apart from `input_tokens` and omits
10
+ * them when no cache is used, as do CLIProxy's translators, so its input is the sum.
11
+ * `totalTokens` is only ever the reported `total_tokens`; Anthropic reports none and it is
12
+ * never summed. Nothing is manufactured from byte or text lengths.
13
+ */
14
+ const TOKEN_NORMALIZATION = {
15
+ anthropic_messages: {
16
+ inputTokens: {
17
+ base: "input_tokens",
18
+ plus: ["cache_read_input_tokens", "cache_creation_input_tokens"],
19
+ },
20
+ outputTokens: { first: ["output_tokens"] },
21
+ totalTokens: { first: ["total_tokens"] },
22
+ reasoningTokens: { first: ["output_tokens_details.thinking_tokens"] },
23
+ cachedInputTokens: { first: ["cache_read_input_tokens"] },
24
+ cacheCreationInputTokens: { first: ["cache_creation_input_tokens"] },
25
+ },
26
+ responses: {
27
+ inputTokens: { first: ["input_tokens"] },
28
+ outputTokens: { first: ["output_tokens"] },
29
+ totalTokens: { first: ["total_tokens"] },
30
+ reasoningTokens: { first: ["output_tokens_details.reasoning_tokens"] },
31
+ cachedInputTokens: { first: ["input_tokens_details.cached_tokens"] },
32
+ cacheCreationInputTokens: {
33
+ first: [
34
+ "input_tokens_details.cache_write_tokens",
35
+ "input_tokens_details.cache_creation_tokens",
36
+ ],
37
+ },
38
+ },
39
+ chat_completions: {
40
+ inputTokens: { first: ["prompt_tokens"] },
41
+ outputTokens: { first: ["completion_tokens"] },
42
+ totalTokens: { first: ["total_tokens"] },
43
+ reasoningTokens: { first: ["completion_tokens_details.reasoning_tokens"] },
44
+ cachedInputTokens: { first: ["prompt_tokens_details.cached_tokens"] },
45
+ cacheCreationInputTokens: {
46
+ first: [
47
+ "prompt_tokens_details.cache_write_tokens",
48
+ "prompt_tokens_details.cached_creation_tokens",
49
+ "prompt_tokens_details.cache_creation_tokens",
50
+ ],
51
+ },
52
+ },
53
+ };
54
+ export function normalizeUsage(protocol, reported) {
55
+ const out = {};
56
+ for (const field of TOKEN_FIELDS) {
57
+ const rule = TOKEN_NORMALIZATION[protocol][field];
58
+ if ("first" in rule) {
59
+ out[field] = rule.first
60
+ .map((name) => reported.get(name))
61
+ .find((value) => value !== undefined);
62
+ continue;
63
+ }
64
+ const base = reported.get(rule.base);
65
+ out[field] =
66
+ base === undefined
67
+ ? undefined
68
+ : count(rule.plus.reduce((total, name) => total + (reported.get(name) ?? 0), base));
69
+ }
70
+ return out;
71
+ }
72
+ /** Native counts keyed as usage measurements name them. */
73
+ function reportedCounts(raw) {
74
+ const reported = new Map();
75
+ for (const [key, value] of Object.entries(raw)) {
76
+ if (count(value) !== undefined)
77
+ reported.set(key, value);
78
+ else if (value && typeof value === "object" && !Array.isArray(value))
79
+ for (const [field, nested] of Object.entries(value))
80
+ if (count(nested) !== undefined)
81
+ reported.set(`${key}.${field}`, nested);
82
+ }
83
+ return reported;
84
+ }
2
85
  export function extractUsage(projection, raw) {
3
- // Anthropic reports disjoint uncached/cache creation/cache read input counts.
4
- // Never manufacture totals, costs, or token counts from byte/text lengths.
5
86
  projection.metadata.usage = raw;
6
- const anthropic = projection.protocol === "anthropic_messages";
7
- const responses = projection.protocol === "responses";
8
- const nativeInput = count(raw.input_tokens);
9
- const cacheRead = count(raw.cache_read_input_tokens);
10
- const cacheCreated = count(raw.cache_creation_input_tokens);
11
- const anthropicInput = nativeInput !== undefined && cacheRead !== undefined && cacheCreated !== undefined
12
- ? count(nativeInput + cacheRead + cacheCreated)
13
- : undefined;
14
- Object.assign(projection.scalars, {
15
- inputTokens: anthropic ? anthropicInput : responses ? nativeInput : count(raw.prompt_tokens),
16
- outputTokens: count(raw[anthropic || responses ? "output_tokens" : "completion_tokens"]),
17
- totalTokens: count(raw.total_tokens),
18
- cachedInputTokens: count(anthropic
19
- ? raw.cache_read_input_tokens
20
- : object(raw[responses ? "input_tokens_details" : "prompt_tokens_details"]).cached_tokens),
21
- reasoningTokens: count(object(raw[anthropic || responses ? "output_tokens_details" : "completion_tokens_details"])[anthropic ? "thinking_tokens" : "reasoning_tokens"]),
22
- });
23
- projection.metadata.tokenSemantics = anthropic
24
- ? "input_is_sum_of_reported_input_cache_creation_cache_read; cached_input_is_cache_read; missing_components_mean_unknown; no_synthesized_total"
25
- : "input_includes_reported_cached_input; terminal_usage_snapshot";
87
+ projection.metadata.tokenSemantics = USAGE_SEMANTICS;
88
+ if (projection.protocol !== "unknown")
89
+ Object.assign(projection.scalars, normalizeUsage(projection.protocol, reportedCounts(raw)));
26
90
  }
27
91
  //# sourceMappingURL=usage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/protocols/usage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC5C,MAAM,UAAU,YAAY,CAAC,UAA8B,EAAE,GAAgB;IAC3E,8EAA8E;IAC9E,2EAA2E;IAC3E,UAAU,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;IAChC,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,KAAK,oBAAoB,CAAC;IAE/D,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,KAAK,WAAW,CAAC;IAEtD,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC5D,MAAM,cAAc,GAClB,WAAW,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS;QAChF,CAAC,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC;QAC/C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE;QAChC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;QAC5F,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QACxF,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;QACpC,iBAAiB,EAAE,KAAK,CACtB,SAAS;YACP,CAAC,CAAC,GAAG,CAAC,uBAAuB;YAC7B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,aAAa,CAC5F;QACD,eAAe,EAAE,KAAK,CACpB,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CACzF,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CACnD,CACF;KACF,CAAC,CAAC;IACH,UAAU,CAAC,QAAQ,CAAC,cAAc,GAAG,SAAS;QAC5C,CAAC,CAAC,6IAA6I;QAC/I,CAAC,CAAC,+DAA+D,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/protocols/usage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@shpitdev/convex-cliproxy-observability",
3
3
  "description": "Private stock CLIProxy capture, protocol projections, and bounded model-call reads.",
4
- "version": "0.2.2",
4
+ "version": "0.3.1",
5
5
  "author": "Anand Pant",
6
6
  "license": "Apache-2.0",
7
7
  "repository": "github:anandpant/convex-components",
package/src/client.ts CHANGED
@@ -8,7 +8,11 @@ import type {
8
8
  import type { ComponentApi } from "./component/_generated/component.js";
9
9
  import type { CaptureObservationV1 } from "./capture/index.js";
10
10
  import { MAX_ENVELOPE_BYTES, validateSegment, sha256 } from "./capture/index.js";
11
- import type { ModelCallV1, PrivateContentReference } from "./model-call/index.js";
11
+ import {
12
+ providerIdentity,
13
+ type ModelCallV1,
14
+ type PrivateContentReference,
15
+ } from "./model-call/index.js";
12
16
  import type { PrivateCaptureStorage } from "./content/index.js";
13
17
  import { nanoTime, protocolForRoute, PARSER_VERSION } from "./protocols/index.js";
14
18
  export * from "./model-call/index.js";
@@ -63,6 +67,7 @@ export function initialCall(
63
67
  callId: string,
64
68
  receivedAt: number,
65
69
  ): ModelCallV1 {
70
+ const requestModel = o.requestedModel?.slice(0, 256);
66
71
  return {
67
72
  schemaVersion: 1,
68
73
  source: "cliproxy",
@@ -78,7 +83,8 @@ export function initialCall(
78
83
  executionId: o.requestId,
79
84
  sourceTraceId: o.sourceTraceId,
80
85
  traceId: o.correlation?.traceId,
81
- requestModel: o.requestedModel?.slice(0, 256),
86
+ requestModel,
87
+ ...providerIdentity({ requestModel }),
82
88
  operation:
83
89
  o.route === "GET /v1/models"
84
90
  ? "discovery"
@@ -93,6 +99,7 @@ export function initialCall(
93
99
  correlationConflicts: o.correlationConflicts ?? [],
94
100
  usage: [],
95
101
  cost: { kind: "unknown" },
102
+ costProvenance: "unknown",
96
103
  attemptDetail: "unavailable",
97
104
  capture: {
98
105
  raw: "partial",
@@ -1,4 +1,5 @@
1
- import type { ModelCallV1 } from "../model-call/index.js";
1
+ import { providerIdentity, type ModelCallV1 } from "../model-call/index.js";
2
+ import { normalizeUsage } from "../protocols/usage.js";
2
3
  import { v } from "convex/values";
3
4
  import { query, type QueryCtx } from "./_generated/server.js";
4
5
  async function summaryView(
@@ -12,6 +13,28 @@ async function summaryView(
12
13
  },
13
14
  ) {
14
15
  const summary = JSON.parse(row.summaryJson) as ModelCallV1;
16
+ // Summaries projected before 0.3.0 lack these. Derive them from the facts they recorded,
17
+ // keeping any stored provider name as observed and applying the current token rule to
18
+ // their final native counts.
19
+ if (summary.providerProvenance === undefined) {
20
+ Object.assign(
21
+ summary,
22
+ providerIdentity({ ...summary, observedProvider: summary.providerName }),
23
+ );
24
+ summary.costProvenance = summary.cost.kind;
25
+ if (
26
+ summary.capture.usage === "complete" &&
27
+ summary.clientProtocol !== undefined &&
28
+ summary.clientProtocol !== "unknown"
29
+ )
30
+ Object.assign(
31
+ summary,
32
+ normalizeUsage(
33
+ summary.clientProtocol,
34
+ new Map(summary.usage.map((measurement) => [measurement.nativeField, measurement.value])),
35
+ ),
36
+ );
37
+ }
15
38
  if (summary.state === "in_progress" && row.terminalSequence === undefined) {
16
39
  const source = await ctx.db
17
40
  .query("sourceStatus")
@@ -33,6 +33,27 @@ export type PrivateContentReference = {
33
33
  byteLength: number;
34
34
  contentType: string;
35
35
  };
36
+ /**
37
+ * Where `providerName` came from. Only `observed` is recorded identity. A wire format
38
+ * names an API family, not a vendor account; a model name is a guess.
39
+ */
40
+ export type ProviderProvenance =
41
+ "observed" | "derived_from_wire_format" | "derived_from_model" | "unavailable";
42
+ export type ModelCallCost =
43
+ | { kind: "unknown" }
44
+ | { kind: "provider_billed" | "proxy_reported"; currency: string; total: string };
45
+ /** Who reported `cost`. Nothing estimates cost, so native CLIProxy calls stay `unknown`. */
46
+ export type CostProvenance = ModelCallCost["kind"];
47
+ /** Per-call token counts, named and counted as the OpenRouter component names them. */
48
+ export const TOKEN_FIELDS = [
49
+ "inputTokens",
50
+ "outputTokens",
51
+ "totalTokens",
52
+ "reasoningTokens",
53
+ "cachedInputTokens",
54
+ "cacheCreationInputTokens",
55
+ ] as const;
56
+ export type TokenField = (typeof TOKEN_FIELDS)[number];
36
57
  export type ModelCallV1 = {
37
58
  schemaVersion: 1;
38
59
  source: ModelCallSource;
@@ -58,8 +79,11 @@ export type ModelCallV1 = {
58
79
  executionModel?: string;
59
80
  selectedAuthId?: string;
60
81
  selectedAuthIndex?: string;
82
+ /** CLIProxy's upstream wire format (ToFormat) from the last after-auth event. */
61
83
  executionProtocol?: string;
62
84
  providerName?: string;
85
+ /** Stored from 0.3.0; reads derive it for older summaries. */
86
+ providerProvenance?: ProviderProvenance;
63
87
  streamed?: boolean;
64
88
  operation: "generation" | "token_count" | "discovery" | "unknown";
65
89
  tokenCount?: number;
@@ -82,10 +106,11 @@ export type ModelCallV1 = {
82
106
  totalTokens?: number;
83
107
  reasoningTokens?: number;
84
108
  cachedInputTokens?: number;
109
+ cacheCreationInputTokens?: number;
85
110
  usage: UsageMeasurement[];
86
- cost:
87
- | { kind: "unknown" }
88
- | { kind: "provider_billed" | "proxy_reported"; currency: string; total: string };
111
+ cost: ModelCallCost;
112
+ /** Mirrors `cost.kind`. Stored from 0.3.0; reads derive it for older summaries. */
113
+ costProvenance?: CostProvenance;
89
114
  attemptDetail: "unavailable";
90
115
  capture: {
91
116
  raw: EvidenceState;
@@ -108,12 +133,66 @@ export type ModelCallV1 = {
108
133
  };
109
134
  export type ModelCallSummaryV1 = ModelCallV1;
110
135
 
136
+ /**
137
+ * CLIProxy upstream wire formats (the after-auth ToFormat), by API family. A format names
138
+ * the protocol CLIProxy speaks upstream, not the vendor account behind it: `claude` also
139
+ * reaches other Anthropic-compatible hosts, and CLIProxy uses `codex` for xAI and Meta too.
140
+ */
141
+ export const PROVIDER_BY_WIRE_FORMAT: Readonly<Record<string, string>> = {
142
+ claude: "anthropic",
143
+ openai: "openai",
144
+ "openai-response": "openai",
145
+ codex: "openai",
146
+ gemini: "google",
147
+ "gemini-cli": "google",
148
+ antigravity: "google",
149
+ };
150
+ /** Requested-model prefixes: a guess from the model name. */
151
+ export const PROVIDER_BY_MODEL_PREFIX: ReadonlyArray<readonly [RegExp, string]> = [
152
+ [/^claude-/, "anthropic"],
153
+ [/^gpt-/, "openai"],
154
+ [/^o\d/, "openai"],
155
+ [/^codex/, "openai"],
156
+ [/^gemini-/, "google"],
157
+ ];
158
+ /**
159
+ * Provider identity from one call's recorded facts, never from time or call order: an
160
+ * observed provider, else the wire format's API family, else a guess from the requested
161
+ * model. An absent or unmapped wire format falls back to the model rule.
162
+ */
163
+ export function providerIdentity(
164
+ facts: Pick<ModelCallV1, "requestModel" | "executionProtocol"> & {
165
+ /** A provider named by the recording itself, such as an OpenRouter span. */
166
+ observedProvider?: string;
167
+ },
168
+ ): Pick<ModelCallV1, "providerName" | "providerProvenance"> {
169
+ if (facts.observedProvider)
170
+ return { providerName: facts.observedProvider, providerProvenance: "observed" };
171
+ if (
172
+ facts.executionProtocol !== undefined &&
173
+ Object.hasOwn(PROVIDER_BY_WIRE_FORMAT, facts.executionProtocol)
174
+ )
175
+ return {
176
+ providerName: PROVIDER_BY_WIRE_FORMAT[facts.executionProtocol],
177
+ providerProvenance: "derived_from_wire_format",
178
+ };
179
+ const providerName = PROVIDER_BY_MODEL_PREFIX.find(([prefix]) =>
180
+ prefix.test(facts.requestModel ?? ""),
181
+ )?.[1];
182
+ return providerName
183
+ ? { providerName, providerProvenance: "derived_from_model" }
184
+ : { providerName: undefined, providerProvenance: "unavailable" };
185
+ }
186
+
111
187
  /** Structural input: there is no runtime dependency on the OpenRouter component. */
112
188
  export type OpenRouterSpanInput = {
113
189
  _id: string;
114
190
  receivedAt: number;
115
191
  totalCost?: number;
116
192
  openrouterUsageCost?: number;
193
+ isByok?: boolean;
194
+ /** What a BYOK call's inference cost on the caller's own provider key, as OpenRouter reports it. */
195
+ byokInferenceUsageCost?: number;
117
196
  traceId?: string;
118
197
  spanId?: string;
119
198
  parentSpanId?: string;
@@ -139,6 +218,7 @@ export type OpenRouterSpanInput = {
139
218
  totalTokens?: number;
140
219
  reasoningTokens?: number;
141
220
  cachedInputTokens?: number;
221
+ cacheCreationInputTokens?: number;
142
222
  };
143
223
  export function fromOpenRouterSpan(span: OpenRouterSpanInput): ModelCallV1 {
144
224
  const correlation: ExactCorrelation = {};
@@ -152,13 +232,7 @@ export function fromOpenRouterSpan(span: OpenRouterSpanInput): ModelCallV1 {
152
232
  if (span[field] !== undefined) correlation[field] = span[field];
153
233
  }
154
234
  const usage: UsageMeasurement[] = [];
155
- for (const field of [
156
- "inputTokens",
157
- "outputTokens",
158
- "totalTokens",
159
- "reasoningTokens",
160
- "cachedInputTokens",
161
- ] as const) {
235
+ for (const field of TOKEN_FIELDS) {
162
236
  const value = span[field];
163
237
  if (value !== undefined && Number.isSafeInteger(value) && value >= 0)
164
238
  usage.push({
@@ -171,6 +245,16 @@ export function fromOpenRouterSpan(span: OpenRouterSpanInput): ModelCallV1 {
171
245
  semanticsVersion: "stored_openrouter_span_v1",
172
246
  });
173
247
  }
248
+ const isCost = (value: unknown): value is number =>
249
+ typeof value === "number" && Number.isFinite(value) && value >= 0;
250
+ const reported = span.totalCost ?? span.openrouterUsageCost;
251
+ // A BYOK charge is only OpenRouter's fee: the provider bills the inference to the caller's own
252
+ // key. Without that inference cost the call's cost is unknown, not the fee alone.
253
+ const inference = span.isByok === true ? span.byokInferenceUsageCost : 0;
254
+ const cost: ModelCallCost =
255
+ isCost(reported) && isCost(inference)
256
+ ? { kind: "proxy_reported", currency: "USD", total: String(reported + inference) }
257
+ : { kind: "unknown" };
174
258
  return {
175
259
  schemaVersion: 1,
176
260
  source: "openrouter",
@@ -183,7 +267,7 @@ export function fromOpenRouterSpan(span: OpenRouterSpanInput): ModelCallV1 {
183
267
  parentSpanId: span.parentSpanId,
184
268
  requestModel: span.requestModel,
185
269
  responseModel: span.responseModel,
186
- providerName: span.providerName,
270
+ ...providerIdentity({ observedProvider: span.providerName }),
187
271
  streamed: span.streamed,
188
272
  operation: "generation",
189
273
  state: "unknown",
@@ -198,17 +282,10 @@ export function fromOpenRouterSpan(span: OpenRouterSpanInput): ModelCallV1 {
198
282
  totalTokens: span.totalTokens,
199
283
  reasoningTokens: span.reasoningTokens,
200
284
  cachedInputTokens: span.cachedInputTokens,
285
+ cacheCreationInputTokens: span.cacheCreationInputTokens,
201
286
  usage,
202
- cost:
203
- typeof (span.totalCost ?? span.openrouterUsageCost) === "number" &&
204
- Number.isFinite(span.totalCost ?? span.openrouterUsageCost) &&
205
- (span.totalCost ?? span.openrouterUsageCost)! >= 0
206
- ? {
207
- kind: "proxy_reported",
208
- currency: "USD",
209
- total: String(span.totalCost ?? span.openrouterUsageCost),
210
- }
211
- : { kind: "unknown" },
287
+ cost,
288
+ costProvenance: cost.kind,
212
289
  attemptDetail: "unavailable",
213
290
  capture: {
214
291
  raw: "unavailable",
@@ -231,7 +308,9 @@ export function fromLegacyCliproxySpan(span: OpenRouterSpanInput): ModelCallV1 {
231
308
  callId: `cliproxy_legacy:${span._id}`,
232
309
  gateway: "cliproxy",
233
310
  providerName: undefined,
311
+ providerProvenance: "unavailable",
234
312
  timingSource: "unavailable",
235
313
  cost: { kind: "unknown" },
314
+ costProvenance: "unknown",
236
315
  };
237
316
  }
@@ -1,7 +1,9 @@
1
- import type {
2
- ModelCallV1,
3
- UsageMeasurement,
4
- PrivateContentReference,
1
+ import {
2
+ providerIdentity,
3
+ TOKEN_FIELDS,
4
+ type ModelCallV1,
5
+ type UsageMeasurement,
6
+ type PrivateContentReference,
5
7
  } from "../model-call/index.js";
6
8
  import type { CaptureObservationV1 } from "../capture/index.js";
7
9
  import { decodeBody } from "../capture/index.js";
@@ -52,6 +54,9 @@ function boundedUsage(value: unknown): RecordValue {
52
54
  const safe: RecordValue = {};
53
55
  for (const name of [
54
56
  "cached_tokens",
57
+ "cache_write_tokens",
58
+ "cached_creation_tokens",
59
+ "cache_creation_tokens",
55
60
  "reasoning_tokens",
56
61
  "thinking_tokens",
57
62
  "ephemeral_5m_input_tokens",
@@ -223,6 +228,8 @@ export function applyObservation(
223
228
  state.invalid = true;
224
229
  }
225
230
  }
231
+ // Derived read fields: reads fill them only for summaries projected before 0.3.0.
232
+ Object.assign(call, providerIdentity(call), { costProvenance: call.cost.kind });
226
233
  if (o.kind === "response" || o.kind === "stream_chunk" || o.kind === "completion") {
227
234
  if (call.timeToFirstByteMs === undefined && (o.observedBodyBytes ?? body.length) > 0)
228
235
  call.timeToFirstByteMs = o.offsetNs / 1e6;
@@ -341,14 +348,7 @@ export function applyObservation(
341
348
  }
342
349
  }
343
350
  call.usage = measurements;
344
- for (const field of [
345
- "inputTokens",
346
- "outputTokens",
347
- "totalTokens",
348
- "reasoningTokens",
349
- "cachedInputTokens",
350
- ] as const)
351
- call[field] = final ? projection.scalars[field] : undefined;
351
+ for (const field of TOKEN_FIELDS) call[field] = final ? projection.scalars[field] : undefined;
352
352
  }
353
353
  call.capture.lastObservedAt = o.observedAt;
354
354
  call.capture.projectedThroughSequence = o.sequence;
@@ -20,6 +20,7 @@ export type CliproxyProjection = {
20
20
  totalTokens?: number;
21
21
  reasoningTokens?: number;
22
22
  cachedInputTokens?: number;
23
+ cacheCreationInputTokens?: number;
23
24
  statusJson?: string;
24
25
  };
25
26
  metadata: RecordValue;