crewly 1.20.67 → 1.20.68
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/config/skills/agent/core/drive-read/SKILL.md +1 -10
- package/config/skills/agent/core/drive-search/SKILL.md +0 -9
- package/config/skills/agent/core/drive-upload/SKILL.md +0 -9
- package/dist/backend/backend/src/constants.d.ts +44 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +44 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.js +6 -19
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts +16 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +32 -0
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +17 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +57 -9
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +23 -0
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js +50 -0
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts +28 -1
- package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/trigger-engine.service.js +66 -30
- package/dist/backend/backend/src/services/v3/trigger-engine.service.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts +11 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.js +68 -18
- package/dist/backend/backend/src/services/workflow/cron-task.service.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +44 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +44 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +17 -0
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.js +57 -9
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +23 -0
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js +50 -0
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts +162 -0
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js +708 -0
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js.map +1 -0
- package/dist/cli/backend/src/services/monitoring/runtime-token-parser.service.d.ts +73 -0
- package/dist/cli/backend/src/services/monitoring/runtime-token-parser.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/monitoring/runtime-token-parser.service.js +199 -0
- package/dist/cli/backend/src/services/monitoring/runtime-token-parser.service.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-monitor.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/monitoring/activity-monitor.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAwB,MAAM,qBAAqB,CAAC;AACxG,OAAO,EAAE,aAAa,EAAmB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,aAAa,EAAE,0BAA0B,EAAE,aAAa,EAAsB,MAAM,oBAAoB,CAAC;AACtL,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAGrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AA8BrE;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,sBAAsB;IACzB,MAAM,CAAC,QAAQ,CAAyB;IACxC,MAAM,CAAkB;IACxB,cAAc,CAAiB;IAC/B,eAAe,GAA2B,IAAI,CAAC;IAC/C,qBAAqB,CAAwB;IAC7C,UAAU,GAA0B,IAAI,CAAC;IAChC,gBAAgB,GAAG,0BAA0B,CAAC,mBAAmB,CAAC;IAC3E,mBAAmB,GAAwB,IAAI,GAAG,EAAE,CAAC;IAC5C,eAAe,GAAG,GAAG,CAAC,CAAC,2BAA2B;IAClD,sBAAsB,GAAG,IAAI,CAAC,CAAC,6BAA6B;IACrE,WAAW,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;IACjC,UAAU,CAAS;IACnB,qBAAqB,CAAS;IAC9B,eAAe,GAA2B,IAAI,CAAC;IACvD,8DAA8D;IACtD,wBAAwB,GAAwB,IAAI,GAAG,EAAE,CAAC;IAClE,oEAAoE;IAC5D,gBAAgB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAClD,iFAAiF;IACzE,kBAAkB,GAAmD,IAAI,GAAG,EAAE,CAAC;IACvF,4FAA4F;IACpF,oBAAoB,GAAG,KAAK,CAAC;IAC7B,sBAAsB,GAAG,CAAC,CAAC;IAEnC;QACE,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QACnF,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;QACnD,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACtC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;IAC/E,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,qBAAqB,EAAE,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,IAAI,CAAC,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC;YACrC,sBAAsB,CAAC,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACjE,CAAC;QACD,OAAO,sBAAsB,CAAC,QAAQ,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,OAAwB;QACzC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACK,eAAe,CACrB,IAAwB,EACxB,SAAiB,EACjB,QAAyG,EACzG,aAAqB,EACrB,QAAgB;QAEhB,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;YACvB,IAAI;YACJ,SAAS;YACT,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,aAAa;YACb,QAAQ;YACR,YAAY,EAAE,eAAe;SAChB,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;OAWG;IACK,2BAA2B,CACjC,GAAW,EACX,SAAwB,EACxB,cAA6B,EAC7B,aAAsB,EACtB,QAAyG,EACzG,GAAW;QAEX,IAAI,aAAa,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAE/D,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;gBAChC,IAAI,OAAO,IAAI,aAAa,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC7G,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC/B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC7G,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,OAAO,IAAI,aAAa,CAAC,oBAAoB,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC5G,uEAAuE;oBACvE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;oBAC3G,6EAA6E;oBAC7E,mEAAmE;oBACnE,4DAA4D;oBAC5D,6DAA6D;oBAC7D,6DAA6D;oBAC7D,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;gBACxH,CAAC;gBACD,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1E,+EAA+E;YAC/E,sDAAsD;YACtD,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YAC1D,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,aAAa,CAAC,oBAAoB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;YACzG,CAAC;QACH,CAAC;IACH,CAAC;IAEM,YAAY;QACjB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,IAAI,CAAC,gBAAgB,GAAG,IAAI,kCAAkC,CAAC,CAAC;QAEtH,wBAAwB;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,2BAA2B;QAC3B,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5B,CAAC;IAEM,WAAW;QAChB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,IAAI,CAAC;YACH,mDAAmD;YACnD,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,CAAC,4BAA4B,EAAE;gBACnC,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC9B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAC3F;aACF,CAAC,CAAC;YAEH,2BAA2B;YAC3B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEhC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBAC/C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,4BAA4B;QACxC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,CAAC;YACH,6DAA6D;YAC7D,MAAM,cAAc,GAAG,sBAAsB,CAAC,SAAS,CAAC,uBAAuB,CAAC;YAChF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YACvF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE;oBAClE,WAAW;oBACX,gBAAgB,EAAE,cAAc;iBACjC,CAAC,CAAC;gBAEH,2DAA2D;gBAC3D,kEAAkE;gBAClE,mEAAmE;gBACnE,+DAA+D;gBAC/D,2CAA2C;gBAC3C,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;oBACxC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,EAAE,CAAC;oBAE5E,mCAAmC;oBACnC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;oBACvC,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;wBAClC,IAAI,WAA+B,CAAC;wBACpC,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;4BAC/B,WAAW,GAAG,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC;wBACrD,CAAC;6BAAM,CAAC;4BACN,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;wBAC7D,CAAC;wBACD,IAAI,CAAC,WAAW;4BAAE,SAAS;wBAE3B,gFAAgF;wBAChF,2EAA2E;wBAC3E,0DAA0D;wBAC1D,IAAI,OAAO,KAAK,wBAAwB,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;4BACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6EAA6E,EAAE;gCAC/F,WAAW;6BACZ,CAAC,CAAC;4BACH,SAAS;wBACX,CAAC;wBAED,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;wBACxD,IAAI,CAAC,YAAY,EAAE,CAAC;4BAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE;gCAClE,OAAO;gCACP,WAAW;6BACZ,CAAC,CAAC;4BACH,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;4BAC9B,2EAA2E;4BAC3E,MAAM,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CACnD,WAAW,EACX,OAAO,EACP,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CACzC,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAED,2EAA2E;oBAC3E,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;wBAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;wBACnD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;wBAExC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;4BACzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gCACxC,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;oCACzC,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC,cAAc,CAAC,QAAe,CAAC;oCACrE,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oCAC5C,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAC7B,CAAC;4BACH,CAAC;wBACH,CAAC;wBAED,uEAAuE;wBACvE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;4BACzB,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gCAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BAC3C,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,YAAY,EAAE,CAAC;oBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;wBACpD,KAAK,EAAE,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;qBACnF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,2CAA2C;YAC3C,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACjE,IAAI,UAAU,GAAG,KAAK,CAAC;YAEvB,4CAA4C;YAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBAC7C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBACnF,IAAI,OAAO,CAAU,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACjC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,CACxE;aACF,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YAEtB,IAAI,mBAAmB,EAAE,CAAC;gBACxB,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBACrG,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBAC1E,MAAM,aAAa,GAAG,kBAAkB,KAAK,cAAc,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;gBAEhG,wEAAwE;gBACxE,+CAA+C;gBAC/C,IAAI,aAAa,EAAE,CAAC;oBAClB,yBAAyB,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBACtG,CAAC;gBAED,IAAI,gBAAgB,GAAkB,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC7E,MAAM,OAAO,GAAG,cAAc,CAAC;gBAC/B,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,aAAa,CAAC;gBAEpE,6EAA6E;gBAC7E,8EAA8E;gBAC9E,uDAAuD;gBACvD,IAAI,gBAAgB,KAAK,aAAa,EAAE,CAAC;oBACvC,IAAI,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,0EAA0E;wBAC1E,6EAA6E;wBAC7E,wEAAwE;wBACxE,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;wBAC3E,SAAS,GAAG,CAAC,cAAc,KAAK,aAAa,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;wBACrG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;oBACxD,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,0BAA0B,CAAC,kBAAkB,EAAE,CAAC;wBAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4FAA4F,EAAE;4BAC7G,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;4BAClC,KAAK,EAAE,0BAA0B,CAAC,kBAAkB;yBACrD,CAAC,CAAC;wBACH,gBAAgB,GAAG,MAAM,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBAED,MAAM,aAAa,GAAG,cAAc,KAAK,gBAAgB,CAAC;gBAE1D,IAAI,aAAa,EAAE,CAAC;oBAClB,iBAAiB,CAAC,YAAY,CAAC,aAAa,GAAG,gBAAgB,CAAC;oBAChE,iBAAiB,CAAC,YAAY,CAAC,iBAAiB,GAAG,GAAG,CAAC;oBACvD,iBAAiB,CAAC,YAAY,CAAC,SAAS,GAAG,GAAG,CAAC;oBAC/C,UAAU,GAAG,IAAI,CAAC;oBAElB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;wBACtD,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB;wBACxD,gBAAgB;wBAChB,aAAa;qBACd,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE;oBACzF,MAAM,EAAE,cAAc;oBACtB,QAAQ,EAAE,cAAc;oBACxB,QAAQ,EAAE,wBAAwB,CAAC,YAAY,CAAC,EAAE;oBAClD,UAAU,EAAE,cAAc;oBAC1B,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB;iBACzD,EAAE,GAAG,CAAC,CAAC;gBAER,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;gBAEjE,4DAA4D;gBAC5D,IAAI,CAAC,sBAAsB,CACzB,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,EAC3C,kBAAkB,EAClB,aAAa,CACd,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,wCAAwC;gBACxC,IAAI,iBAAiB,CAAC,YAAY,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;oBAC5D,iBAAiB,CAAC,YAAY,CAAC,aAAa,GAAG,MAAM,CAAC;oBACtD,iBAAiB,CAAC,YAAY,CAAC,iBAAiB,GAAG,GAAG,CAAC;oBACvD,iBAAiB,CAAC,YAAY,CAAC,SAAS,GAAG,GAAG,CAAC;oBAC/C,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,6CAA6C;YAC7C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAEnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;wBACvB,IAAI,CAAC;4BACH,0BAA0B;4BAC1B,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gCACvC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gCAC1D,IAAI,OAAO,CAAU,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACjC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,EAAE,GAAG,CAAC,CAClE;6BACF,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;4BAEtB,IAAI,CAAC,aAAa,EAAE,CAAC;gCACnB,qCAAqC;gCACrC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;gCACrC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;oCAC9C,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG;wCACzC,WAAW,EAAE,MAAM,CAAC,WAAW;wCAC/B,YAAY,EAAE,MAAM,CAAC,EAAE;wCACvB,aAAa,EAAE,MAAM;wCACrB,iBAAiB,EAAE,GAAG;wCACtB,SAAS,EAAE,GAAG;qCACf,CAAC;oCACF,UAAU,GAAG,IAAI,CAAC;gCACpB,CAAC;qCAAM,IAAI,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;oCAC7E,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC;oCAChE,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,iBAAiB,GAAG,GAAG,CAAC;oCACjE,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC;oCACzD,UAAU,GAAG,IAAI,CAAC;gCACpB,CAAC;gCAED,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gCAC3C,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gCAChD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gCACxC,SAAS;4BACX,CAAC;4BAED,6CAA6C;4BAC7C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;4BACvE,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;4BAC9E,IAAI,aAAa,GAAG,aAAa,KAAK,cAAc,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;4BAEpF,kEAAkE;4BAClE,kEAAkE;4BAClE,mEAAmE;4BACnE,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,WAAW,KAAK,aAAa,CAAC,UAAU,EAAE,CAAC;gCACtE,MAAM,OAAO,GAAG,yBAAyB,CAAC,WAAW,EAAE,CAAC;gCACxD,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gCACzD,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,0BAA0B,CAAC,mBAAmB,EAAE,CAAC;oCAC1E,aAAa,GAAG,IAAI,CAAC;gCACvB,CAAC;4BACH,CAAC;4BAED,IAAI,gBAAgB,GAAkB,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;4BAE7E,4EAA4E;4BAC5E,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;4BACrC,IAAI,gBAAgB,KAAK,aAAa,EAAE,CAAC;gCACvC,IAAI,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gCAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;oCACf,0EAA0E;oCAC1E,6EAA6E;oCAC7E,MAAM,aAAa,GAAG,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oCAC/D,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oCAChF,MAAM,oBAAoB,GAAG,aAAa,EAAE,aAAa,CAAC;oCAC1D,SAAS,GAAG,CAAC,oBAAoB,KAAK,aAAa,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;oCAC3G,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gCAC1D,CAAC;gCACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,0BAA0B,CAAC,kBAAkB,EAAE,CAAC;oCAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sFAAsF,EAAE;wCACvG,WAAW,EAAE,MAAM,CAAC,WAAW;wCAC/B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;wCAClC,KAAK,EAAE,0BAA0B,CAAC,kBAAkB;qCACrD,CAAC,CAAC;oCACH,gBAAgB,GAAG,MAAM,CAAC;gCAC5B,CAAC;4BACH,CAAC;4BAED,mCAAmC;4BACnC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;gCAC9C,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG;oCACzC,WAAW,EAAE,MAAM,CAAC,WAAW;oCAC/B,YAAY,EAAE,MAAM,CAAC,EAAE;oCACvB,aAAa,EAAE,gBAAgB;oCAC/B,iBAAiB,EAAE,GAAG;oCACtB,SAAS,EAAE,GAAG;iCACf,CAAC;gCACF,UAAU,GAAG,IAAI,CAAC;4BACpB,CAAC;iCAAM,CAAC;gCACN,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;gCACpF,MAAM,mBAAmB,GAAG,oBAAoB,KAAK,gBAAgB,CAAC;gCAEtE,IAAI,mBAAmB,EAAE,CAAC;oCACxB,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,aAAa,GAAG,gBAAgB,CAAC;oCAC1E,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,iBAAiB,GAAG,GAAG,CAAC;oCACjE,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC;oCACzD,UAAU,GAAG,IAAI,CAAC;oCAElB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;wCACrD,MAAM,EAAE,IAAI,CAAC,EAAE;wCACf,QAAQ,EAAE,MAAM,CAAC,EAAE;wCACnB,UAAU,EAAE,MAAM,CAAC,IAAI;wCACvB,WAAW,EAAE,MAAM,CAAC,WAAW;wCAC/B,gBAAgB;wCAChB,aAAa;qCACd,CAAC,CAAC;gCACL,CAAC;gCAED,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE;oCACvG,MAAM,EAAE,IAAI,CAAC,EAAE;oCACf,QAAQ,EAAE,IAAI,CAAC,IAAI;oCACnB,QAAQ,EAAE,MAAM,CAAC,EAAE;oCACnB,UAAU,EAAE,MAAM,CAAC,IAAI;oCACvB,WAAW,EAAE,MAAM,CAAC,WAAW;iCAChC,EAAE,GAAG,CAAC,CAAC;4BACV,CAAC;4BAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;4BAEhE,0EAA0E;4BAC1E,IAAI,CAAC,sBAAsB,CACzB,MAAM,CAAC,WAAW,EAClB,aAAa,EACb,MAAM,CAAC,WAAqE,CAC7E,CAAC;wBAEJ,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE;gCACxD,MAAM,EAAE,IAAI,CAAC,EAAE;gCACf,QAAQ,EAAE,MAAM,CAAC,EAAE;gCACnB,UAAU,EAAE,MAAM,CAAC,IAAI;gCACvB,WAAW,EAAE,MAAM,CAAC,WAAW;gCAC/B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;6BAC9D,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,8BAA8B;YAC9B,IAAI,UAAU,EAAE,CAAC;gBACf,iBAAiB,CAAC,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC;gBAC7C,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC5E,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBAC/C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB;QACrC,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,kCAAkC,EAAE,CAAC;gBAC9D,MAAM,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;gBAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;gBAC5D,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;YACpE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA0B,CAAC;YAE1D,qBAAqB;YACrB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;gBAC7E,MAAM,WAAW,GAAG,IAAI,CAAC,kCAAkC,EAAE,CAAC;gBAC9D,MAAM,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;gBAClD,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,EAAE;gBAC5E,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,kCAAkC,EAAE,CAAC;YAC9D,MAAM,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAClD,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB,CAAC,IAA2B;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,qBAAqB,MAAM,CAAC;QAErD,IAAI,CAAC;YACH,2DAA2D;YAC3D,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6CAA6C;YAC7C,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kCAAkC;QACxC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,OAAO;YACL,YAAY,EAAE;gBACZ,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB;gBACxD,aAAa,EAAE,MAAM;gBACrB,iBAAiB,EAAE,GAAG;gBACtB,SAAS,EAAE,GAAG;aACf;YACD,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE;gBACR,WAAW,EAAE,GAAG;gBAChB,OAAO,EAAE,OAAO;aACjB;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,2BAA2B;QAC3B,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YAC3C,oEAAoE;YACpE,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;gBAEjC,uCAAuC;gBACvC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;oBACzC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YAED,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YAEvB,wCAAwC;YACxC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,CAAC,EAAE,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE;oBACtE,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI;iBACvC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;oBAC9C,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI;iBACvC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,sBAAsB,CAC5B,WAAmB,EACnB,MAAc,EACd,WAAwD;QAExD,uEAAuE;QACvE,IAAI,CAAC,WAAW,IAAI,WAAW,KAAM,cAAyB;YAAE,OAAO;QAEvE,IAAI,CAAC;YACH,wDAAwD;YACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,IAAI,CAAC,sBAAsB,GAAG,MAAM,EAAE,CAAC;gBAC/C,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC;gBAClC,kBAAkB,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBAC1C,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;gBAC/D,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAgB,CAAC,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,oBAAoB;gBAAE,OAAO;YAEvC,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM;gBAAE,OAAO;YAEpB,yEAAyE;YACzE,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,YAAY,EAAE,CAAC;gBACrF,OAAO;YACT,CAAC;YAED,2EAA2E;YAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;YAC5F,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YAEhG,IAAI,UAAU,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,WAAW,UAAU,CAAC;gBACvD,iBAAiB,CAAC,WAAW,EAAE,CAAC,WAAW,CACzC,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EACX,KAAK,CACN,CAAC;gBACF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,EAAE;oBACvC,KAAK,EAAE,MAAM,CAAC,WAAW;oBACzB,MAAM,EAAE,MAAM,CAAC,YAAY;iBAC5B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2EAA2E;QAC7E,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QACjD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBAChC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe;gBACvE,IAAI,OAAO,CAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAChC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,CAC5D;aACF,CAAC,CAAC;YAEH,8DAA8D;YAC9D,8DAA8D;YAC9D,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAE9C,6CAA6C;YAC7C,OAAO,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe;gBAC1C,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;gBAC1D,CAAC,CAAC,OAAO,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;IAClC,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,oBAAoB;QAC/B,OAAO,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,0BAA0B,CAAC,WAAmB;QACzD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAEpD,IAAI,WAAW,KAAK,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;gBAChE,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACzC,CAAC;YAED,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,aAAa,IAAI,IAAI,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE;gBAC5D,WAAW;gBACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime Token Parser Service
|
|
3
|
+
*
|
|
4
|
+
* Parses token usage data from terminal output of different AI CLI runtimes.
|
|
5
|
+
* Each runtime (Claude Code, Gemini CLI, Codex CLI) has a distinct output
|
|
6
|
+
* format for reporting token consumption. This service extracts structured
|
|
7
|
+
* token data from those formats.
|
|
8
|
+
*
|
|
9
|
+
* @module services/monitoring/runtime-token-parser.service
|
|
10
|
+
*/
|
|
11
|
+
/** Parsed token usage data from runtime output */
|
|
12
|
+
export interface ParsedTokenUsage {
|
|
13
|
+
/** Number of input/prompt tokens consumed */
|
|
14
|
+
inputTokens: number;
|
|
15
|
+
/** Number of output/completion tokens generated */
|
|
16
|
+
outputTokens: number;
|
|
17
|
+
/** Total cost in USD (if reported by the runtime) */
|
|
18
|
+
cost?: number;
|
|
19
|
+
/** Model identifier (if reported by the runtime) */
|
|
20
|
+
model?: string;
|
|
21
|
+
/** Which runtime produced this data */
|
|
22
|
+
runtime: 'claude-code' | 'gemini-cli' | 'codex-cli';
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Parse Claude Code terminal output for token usage data.
|
|
26
|
+
*
|
|
27
|
+
* Claude Code reports token usage in several formats:
|
|
28
|
+
* - Status line: "↑ 15234 ↓ 3456" or "15234↑ 3456↓"
|
|
29
|
+
* - Summary: "Total: 15,234 input / 3,456 output tokens"
|
|
30
|
+
* - Cost line: "Total cost: $0.05" or "Cost: $0.0523"
|
|
31
|
+
* - Compact: "tokens: 15234 in, 3456 out"
|
|
32
|
+
*
|
|
33
|
+
* @param output - Raw terminal output from Claude Code session
|
|
34
|
+
* @returns Parsed token usage or null if no token data found
|
|
35
|
+
*/
|
|
36
|
+
export declare function parseClaudeCodeTokens(output: string): ParsedTokenUsage | null;
|
|
37
|
+
/**
|
|
38
|
+
* Parse Gemini CLI terminal output for token usage data.
|
|
39
|
+
*
|
|
40
|
+
* Gemini CLI reports token usage in formats like:
|
|
41
|
+
* - "Input tokens: 1234, Output tokens: 456"
|
|
42
|
+
* - "Cost for this turn: $0.0012 (Input: 1234 tokens, Output: 456 tokens)"
|
|
43
|
+
* - "Tokens used: 1234 input, 456 output"
|
|
44
|
+
* - "prompt_tokens: 1234, completion_tokens: 456"
|
|
45
|
+
*
|
|
46
|
+
* @param output - Raw terminal output from Gemini CLI session
|
|
47
|
+
* @returns Parsed token usage or null if no token data found
|
|
48
|
+
*/
|
|
49
|
+
export declare function parseGeminiCliTokens(output: string): ParsedTokenUsage | null;
|
|
50
|
+
/**
|
|
51
|
+
* Parse Codex CLI terminal output for token usage data.
|
|
52
|
+
*
|
|
53
|
+
* Codex CLI reports token usage in formats like:
|
|
54
|
+
* - "Tokens: 1234 prompt + 456 completion = 1690 total"
|
|
55
|
+
* - "prompt_tokens=1234 completion_tokens=456"
|
|
56
|
+
* - "Usage: 1234 input, 456 output"
|
|
57
|
+
*
|
|
58
|
+
* @param output - Raw terminal output from Codex CLI session
|
|
59
|
+
* @returns Parsed token usage or null if no token data found
|
|
60
|
+
*/
|
|
61
|
+
export declare function parseCodexCliTokens(output: string): ParsedTokenUsage | null;
|
|
62
|
+
/**
|
|
63
|
+
* Parse terminal output for token usage data from any supported runtime.
|
|
64
|
+
*
|
|
65
|
+
* Tries all runtime parsers in order and returns the first match.
|
|
66
|
+
* The runtime type hint narrows the search for efficiency.
|
|
67
|
+
*
|
|
68
|
+
* @param output - Raw terminal output
|
|
69
|
+
* @param runtimeType - Runtime type hint to try first
|
|
70
|
+
* @returns Parsed token usage or null if no token data found
|
|
71
|
+
*/
|
|
72
|
+
export declare function parseRuntimeTokens(output: string, runtimeType?: 'claude-code' | 'gemini-cli' | 'codex-cli'): ParsedTokenUsage | null;
|
|
73
|
+
//# sourceMappingURL=runtime-token-parser.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-token-parser.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/monitoring/runtime-token-parser.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,kDAAkD;AAClD,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,OAAO,EAAE,aAAa,GAAG,YAAY,GAAG,WAAW,CAAC;CACrD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAkD7E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAwC5E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAmC3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,aAAa,GAAG,YAAY,GAAG,WAAW,GACvD,gBAAgB,GAAG,IAAI,CA0BzB"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime Token Parser Service
|
|
3
|
+
*
|
|
4
|
+
* Parses token usage data from terminal output of different AI CLI runtimes.
|
|
5
|
+
* Each runtime (Claude Code, Gemini CLI, Codex CLI) has a distinct output
|
|
6
|
+
* format for reporting token consumption. This service extracts structured
|
|
7
|
+
* token data from those formats.
|
|
8
|
+
*
|
|
9
|
+
* @module services/monitoring/runtime-token-parser.service
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Parse Claude Code terminal output for token usage data.
|
|
13
|
+
*
|
|
14
|
+
* Claude Code reports token usage in several formats:
|
|
15
|
+
* - Status line: "↑ 15234 ↓ 3456" or "15234↑ 3456↓"
|
|
16
|
+
* - Summary: "Total: 15,234 input / 3,456 output tokens"
|
|
17
|
+
* - Cost line: "Total cost: $0.05" or "Cost: $0.0523"
|
|
18
|
+
* - Compact: "tokens: 15234 in, 3456 out"
|
|
19
|
+
*
|
|
20
|
+
* @param output - Raw terminal output from Claude Code session
|
|
21
|
+
* @returns Parsed token usage or null if no token data found
|
|
22
|
+
*/
|
|
23
|
+
export function parseClaudeCodeTokens(output) {
|
|
24
|
+
// Pattern 1: "Total: X input / Y output tokens" or "X input, Y output"
|
|
25
|
+
const summaryPattern = /(\d[\d,]*)\s*input\s*[/,]\s*(\d[\d,]*)\s*output/i;
|
|
26
|
+
const summaryMatch = output.match(summaryPattern);
|
|
27
|
+
if (summaryMatch) {
|
|
28
|
+
const inputTokens = parseInt(summaryMatch[1].replace(/,/g, ''), 10);
|
|
29
|
+
const outputTokens = parseInt(summaryMatch[2].replace(/,/g, ''), 10);
|
|
30
|
+
if (inputTokens > 0 || outputTokens > 0) {
|
|
31
|
+
const result = { inputTokens, outputTokens, runtime: 'claude-code' };
|
|
32
|
+
const costMatch = output.match(/(?:total\s+)?cost[:\s]+\$?([\d.]+)/i);
|
|
33
|
+
if (costMatch) {
|
|
34
|
+
result.cost = parseFloat(costMatch[1]);
|
|
35
|
+
}
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// Pattern 2: Arrow notation "↑ 15234 ↓ 3456" or "15234↑ 3456↓"
|
|
40
|
+
const arrowPattern1 = /↑\s*(\d[\d,]*)\s*↓\s*(\d[\d,]*)/;
|
|
41
|
+
const arrowMatch1 = output.match(arrowPattern1);
|
|
42
|
+
if (arrowMatch1) {
|
|
43
|
+
return {
|
|
44
|
+
inputTokens: parseInt(arrowMatch1[1].replace(/,/g, ''), 10),
|
|
45
|
+
outputTokens: parseInt(arrowMatch1[2].replace(/,/g, ''), 10),
|
|
46
|
+
runtime: 'claude-code',
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
const arrowPattern2 = /(\d[\d,]*)↑\s*(\d[\d,]*)↓/;
|
|
50
|
+
const arrowMatch2 = output.match(arrowPattern2);
|
|
51
|
+
if (arrowMatch2) {
|
|
52
|
+
return {
|
|
53
|
+
inputTokens: parseInt(arrowMatch2[1].replace(/,/g, ''), 10),
|
|
54
|
+
outputTokens: parseInt(arrowMatch2[2].replace(/,/g, ''), 10),
|
|
55
|
+
runtime: 'claude-code',
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
// Pattern 3: "tokens: X in, Y out" or "tokens: X in / Y out"
|
|
59
|
+
const compactPattern = /tokens[:\s]+(\d[\d,]*)\s*in\s*[/,]\s*(\d[\d,]*)\s*out/i;
|
|
60
|
+
const compactMatch = output.match(compactPattern);
|
|
61
|
+
if (compactMatch) {
|
|
62
|
+
return {
|
|
63
|
+
inputTokens: parseInt(compactMatch[1].replace(/,/g, ''), 10),
|
|
64
|
+
outputTokens: parseInt(compactMatch[2].replace(/,/g, ''), 10),
|
|
65
|
+
runtime: 'claude-code',
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Parse Gemini CLI terminal output for token usage data.
|
|
72
|
+
*
|
|
73
|
+
* Gemini CLI reports token usage in formats like:
|
|
74
|
+
* - "Input tokens: 1234, Output tokens: 456"
|
|
75
|
+
* - "Cost for this turn: $0.0012 (Input: 1234 tokens, Output: 456 tokens)"
|
|
76
|
+
* - "Tokens used: 1234 input, 456 output"
|
|
77
|
+
* - "prompt_tokens: 1234, completion_tokens: 456"
|
|
78
|
+
*
|
|
79
|
+
* @param output - Raw terminal output from Gemini CLI session
|
|
80
|
+
* @returns Parsed token usage or null if no token data found
|
|
81
|
+
*/
|
|
82
|
+
export function parseGeminiCliTokens(output) {
|
|
83
|
+
// Pattern 1: "Input tokens: X, Output tokens: Y" or "Input: X tokens, Output: Y tokens"
|
|
84
|
+
const ioPattern = /input(?:\s+tokens)?[:\s]+(\d[\d,]*)\s*(?:tokens)?\s*[,;]\s*output(?:\s+tokens)?[:\s]+(\d[\d,]*)/i;
|
|
85
|
+
const ioMatch = output.match(ioPattern);
|
|
86
|
+
if (ioMatch) {
|
|
87
|
+
const result = {
|
|
88
|
+
inputTokens: parseInt(ioMatch[1].replace(/,/g, ''), 10),
|
|
89
|
+
outputTokens: parseInt(ioMatch[2].replace(/,/g, ''), 10),
|
|
90
|
+
runtime: 'gemini-cli',
|
|
91
|
+
};
|
|
92
|
+
const costMatch = output.match(/cost[^$]*\$?([\d.]+)/i);
|
|
93
|
+
if (costMatch) {
|
|
94
|
+
result.cost = parseFloat(costMatch[1]);
|
|
95
|
+
}
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
98
|
+
// Pattern 2: "prompt_tokens: X, completion_tokens: Y" (API-style)
|
|
99
|
+
const apiPattern = /prompt_tokens[:\s]+(\d[\d,]*)\s*[,;]\s*completion_tokens[:\s]+(\d[\d,]*)/i;
|
|
100
|
+
const apiMatch = output.match(apiPattern);
|
|
101
|
+
if (apiMatch) {
|
|
102
|
+
return {
|
|
103
|
+
inputTokens: parseInt(apiMatch[1].replace(/,/g, ''), 10),
|
|
104
|
+
outputTokens: parseInt(apiMatch[2].replace(/,/g, ''), 10),
|
|
105
|
+
runtime: 'gemini-cli',
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
// Pattern 3: "Tokens used: X input, Y output"
|
|
109
|
+
const usedPattern = /tokens?\s+used[:\s]+(\d[\d,]*)\s*input\s*[,;]\s*(\d[\d,]*)\s*output/i;
|
|
110
|
+
const usedMatch = output.match(usedPattern);
|
|
111
|
+
if (usedMatch) {
|
|
112
|
+
return {
|
|
113
|
+
inputTokens: parseInt(usedMatch[1].replace(/,/g, ''), 10),
|
|
114
|
+
outputTokens: parseInt(usedMatch[2].replace(/,/g, ''), 10),
|
|
115
|
+
runtime: 'gemini-cli',
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Parse Codex CLI terminal output for token usage data.
|
|
122
|
+
*
|
|
123
|
+
* Codex CLI reports token usage in formats like:
|
|
124
|
+
* - "Tokens: 1234 prompt + 456 completion = 1690 total"
|
|
125
|
+
* - "prompt_tokens=1234 completion_tokens=456"
|
|
126
|
+
* - "Usage: 1234 input, 456 output"
|
|
127
|
+
*
|
|
128
|
+
* @param output - Raw terminal output from Codex CLI session
|
|
129
|
+
* @returns Parsed token usage or null if no token data found
|
|
130
|
+
*/
|
|
131
|
+
export function parseCodexCliTokens(output) {
|
|
132
|
+
// Pattern 1: "Tokens: X prompt + Y completion" or "X prompt, Y completion"
|
|
133
|
+
const promptCompPattern = /(\d[\d,]*)\s*prompt\s*[+,]\s*(\d[\d,]*)\s*completion/i;
|
|
134
|
+
const promptCompMatch = output.match(promptCompPattern);
|
|
135
|
+
if (promptCompMatch) {
|
|
136
|
+
return {
|
|
137
|
+
inputTokens: parseInt(promptCompMatch[1].replace(/,/g, ''), 10),
|
|
138
|
+
outputTokens: parseInt(promptCompMatch[2].replace(/,/g, ''), 10),
|
|
139
|
+
runtime: 'codex-cli',
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
// Pattern 2: "prompt_tokens=X completion_tokens=Y"
|
|
143
|
+
const eqPattern = /prompt_tokens\s*=\s*(\d[\d,]*)\s+completion_tokens\s*=\s*(\d[\d,]*)/i;
|
|
144
|
+
const eqMatch = output.match(eqPattern);
|
|
145
|
+
if (eqMatch) {
|
|
146
|
+
return {
|
|
147
|
+
inputTokens: parseInt(eqMatch[1].replace(/,/g, ''), 10),
|
|
148
|
+
outputTokens: parseInt(eqMatch[2].replace(/,/g, ''), 10),
|
|
149
|
+
runtime: 'codex-cli',
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
// Pattern 3: "Usage: X input, Y output"
|
|
153
|
+
const usagePattern = /usage[:\s]+(\d[\d,]*)\s*input\s*[,;]\s*(\d[\d,]*)\s*output/i;
|
|
154
|
+
const usageMatch = output.match(usagePattern);
|
|
155
|
+
if (usageMatch) {
|
|
156
|
+
return {
|
|
157
|
+
inputTokens: parseInt(usageMatch[1].replace(/,/g, ''), 10),
|
|
158
|
+
outputTokens: parseInt(usageMatch[2].replace(/,/g, ''), 10),
|
|
159
|
+
runtime: 'codex-cli',
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Parse terminal output for token usage data from any supported runtime.
|
|
166
|
+
*
|
|
167
|
+
* Tries all runtime parsers in order and returns the first match.
|
|
168
|
+
* The runtime type hint narrows the search for efficiency.
|
|
169
|
+
*
|
|
170
|
+
* @param output - Raw terminal output
|
|
171
|
+
* @param runtimeType - Runtime type hint to try first
|
|
172
|
+
* @returns Parsed token usage or null if no token data found
|
|
173
|
+
*/
|
|
174
|
+
export function parseRuntimeTokens(output, runtimeType) {
|
|
175
|
+
if (!output || output.trim().length === 0)
|
|
176
|
+
return null;
|
|
177
|
+
// Try the hinted runtime first for efficiency
|
|
178
|
+
const parsers = [];
|
|
179
|
+
switch (runtimeType) {
|
|
180
|
+
case 'claude-code':
|
|
181
|
+
parsers.push(parseClaudeCodeTokens, parseGeminiCliTokens, parseCodexCliTokens);
|
|
182
|
+
break;
|
|
183
|
+
case 'gemini-cli':
|
|
184
|
+
parsers.push(parseGeminiCliTokens, parseClaudeCodeTokens, parseCodexCliTokens);
|
|
185
|
+
break;
|
|
186
|
+
case 'codex-cli':
|
|
187
|
+
parsers.push(parseCodexCliTokens, parseClaudeCodeTokens, parseGeminiCliTokens);
|
|
188
|
+
break;
|
|
189
|
+
default:
|
|
190
|
+
parsers.push(parseClaudeCodeTokens, parseGeminiCliTokens, parseCodexCliTokens);
|
|
191
|
+
}
|
|
192
|
+
for (const parser of parsers) {
|
|
193
|
+
const result = parser(output);
|
|
194
|
+
if (result)
|
|
195
|
+
return result;
|
|
196
|
+
}
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=runtime-token-parser.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-token-parser.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/monitoring/runtime-token-parser.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "crewly",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.68",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Multi-agent orchestration platform for AI coding teams — coordinates Claude Code, Gemini CLI, and Codex agents with a real-time web dashboard",
|
|
6
6
|
"workspaces": [
|