@rine-kit/pubg-intelligence 0.0.0-stage → 0.1.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.
Files changed (87) hide show
  1. package/LICENSE +21 -0
  2. package/dist/src/analytics.d.ts +176 -0
  3. package/dist/src/analytics.js +431 -0
  4. package/dist/src/analytics.js.map +1 -0
  5. package/dist/src/assistant.d.ts +87 -0
  6. package/dist/src/assistant.js +310 -0
  7. package/dist/src/assistant.js.map +1 -0
  8. package/dist/src/battle.d.ts +280 -0
  9. package/dist/src/battle.js +1249 -0
  10. package/dist/src/battle.js.map +1 -0
  11. package/dist/src/combat-long.d.ts +42 -0
  12. package/dist/src/combat-long.js +146 -0
  13. package/dist/src/combat-long.js.map +1 -0
  14. package/dist/src/combat-quality.d.ts +101 -0
  15. package/dist/src/combat-quality.js +253 -0
  16. package/dist/src/combat-quality.js.map +1 -0
  17. package/dist/src/evaluation-fixtures.d.ts +13 -0
  18. package/dist/src/evaluation-fixtures.js +144 -0
  19. package/dist/src/evaluation-fixtures.js.map +1 -0
  20. package/dist/src/evaluation-replay.d.ts +5 -0
  21. package/dist/src/evaluation-replay.js +107 -0
  22. package/dist/src/evaluation-replay.js.map +1 -0
  23. package/dist/src/evaluation.d.ts +140 -0
  24. package/dist/src/evaluation.js +180 -0
  25. package/dist/src/evaluation.js.map +1 -0
  26. package/dist/src/experiment-store.d.ts +56 -0
  27. package/dist/src/experiment-store.js +159 -0
  28. package/dist/src/experiment-store.js.map +1 -0
  29. package/dist/src/field.d.ts +103 -0
  30. package/dist/src/field.js +298 -0
  31. package/dist/src/field.js.map +1 -0
  32. package/dist/src/fights.d.ts +89 -0
  33. package/dist/src/fights.js +238 -0
  34. package/dist/src/fights.js.map +1 -0
  35. package/dist/src/highlights.d.ts +44 -0
  36. package/dist/src/highlights.js +153 -0
  37. package/dist/src/highlights.js.map +1 -0
  38. package/dist/src/index.d.ts +24 -0
  39. package/dist/src/index.js +25 -0
  40. package/dist/src/index.js.map +1 -0
  41. package/dist/src/insights.d.ts +44 -0
  42. package/dist/src/insights.js +343 -0
  43. package/dist/src/insights.js.map +1 -0
  44. package/dist/src/intent.d.ts +40 -0
  45. package/dist/src/intent.js +119 -0
  46. package/dist/src/intent.js.map +1 -0
  47. package/dist/src/landing.d.ts +74 -0
  48. package/dist/src/landing.js +195 -0
  49. package/dist/src/landing.js.map +1 -0
  50. package/dist/src/lobby.d.ts +48 -0
  51. package/dist/src/lobby.js +209 -0
  52. package/dist/src/lobby.js.map +1 -0
  53. package/dist/src/match-insight.d.ts +165 -0
  54. package/dist/src/match-insight.js +542 -0
  55. package/dist/src/match-insight.js.map +1 -0
  56. package/dist/src/match-relative.d.ts +73 -0
  57. package/dist/src/match-relative.js +145 -0
  58. package/dist/src/match-relative.js.map +1 -0
  59. package/dist/src/match-story.d.ts +155 -0
  60. package/dist/src/match-story.js +636 -0
  61. package/dist/src/match-story.js.map +1 -0
  62. package/dist/src/profiles.d.ts +41 -0
  63. package/dist/src/profiles.js +136 -0
  64. package/dist/src/profiles.js.map +1 -0
  65. package/dist/src/raw-telemetry-archive.d.ts +29 -0
  66. package/dist/src/raw-telemetry-archive.js +340 -0
  67. package/dist/src/raw-telemetry-archive.js.map +1 -0
  68. package/dist/src/raw-telemetry-backfill.d.ts +28 -0
  69. package/dist/src/raw-telemetry-backfill.js +144 -0
  70. package/dist/src/raw-telemetry-backfill.js.map +1 -0
  71. package/dist/src/research.d.ts +89 -0
  72. package/dist/src/research.js +376 -0
  73. package/dist/src/research.js.map +1 -0
  74. package/dist/src/rhythm.d.ts +104 -0
  75. package/dist/src/rhythm.js +260 -0
  76. package/dist/src/rhythm.js.map +1 -0
  77. package/dist/src/streaks.d.ts +117 -0
  78. package/dist/src/streaks.js +367 -0
  79. package/dist/src/streaks.js.map +1 -0
  80. package/dist/src/style.d.ts +304 -0
  81. package/dist/src/style.js +1461 -0
  82. package/dist/src/style.js.map +1 -0
  83. package/dist/src/tactics.d.ts +88 -0
  84. package/dist/src/tactics.js +1221 -0
  85. package/dist/src/tactics.js.map +1 -0
  86. package/package.json +49 -3
  87. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fights.js","sourceRoot":"","sources":["../../src/fights.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,cAAc,GAGf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAmC,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AAEpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAU,CAAC;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAqClC,MAAM,UAAU,eAAe;IAC7B,OAAO,SAAS,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,SAAS;IAChB,OAAO;QACL,MAAM,EAAE,CAAC;QACT,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,CAAC;QACd,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,eAAe,EAAE,CAAC;QAClB,WAAW,EAAE,CAAC;QACd,cAAc,EAAE,CAAC;KAClB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAkC,EAClC,OAAe,EACf,iBAAoC;IAEpC,MAAM,KAAK,GAAoB,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACzD,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CACvF,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK;YAC9B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;gBAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,GAAkB,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,CAAC,GAAW,EAAc,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC;IAEhG,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa;SACjC,MAAM,CACL,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,CAC3F;SACA,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAY,GAAG,KAAK,CAAC,WAAY,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,CAAC,IAAY,EAAiB,EAAE;QACnD,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,WAAY,GAAG,IAAI;gBAAE,MAAM;YACtC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;QAC5B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAAE,SAAS;QACnE,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/F,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,IAAI,SAAS,GAAmB,SAAS,CAAC;QAC1C,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,KAAK,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACzF,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,KAAK,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC5F,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAS,CAAC,CAAC;YACxD,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAU,CAAC,CAAC;YAC1D,IACE,SAAS,KAAK,SAAS;gBACvB,KAAK,CAAC,IAAI,KAAK,QAAQ;gBACvB,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;gBACvB,YAAY,KAAK,aAAa,EAC9B,CAAC;gBACD,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;gBACzC,IAAI,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAAE,IAAI,CAAC,KAAK,CAAC,QAAS,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpD,IAAI,KAAK,CAAC,SAAS,IAAI,aAAa,IAAI,CAAC,YAAY;oBAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;qBAC5E,IAAI,KAAK,CAAC,SAAS,IAAI,YAAY,IAAI,CAAC,aAAa;oBAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACvF,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,cAAc,GAAG,IAAI,CAAC;oBACtB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa;wBAAE,IAAI,CAAC,KAAK,CAAC,QAAS,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;oBACnF,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY;wBAAE,IAAI,CAAC,KAAK,CAAC,SAAU,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;gBACtF,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC3C,IAAI,CAAC,KAAK,CAAC,QAAS,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;oBACvC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAS,CAAC,CAAC;gBAChC,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY;oBAAE,IAAI,CAAC,KAAK,CAAC,SAAU,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;YACtF,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC3E,IAAI,CAAC,KAAK,CAAC,QAAS,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YACnC,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC;gBAC5E,IAAI,CAAC,KAAK,CAAC,QAAS,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,QAAQ;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,QAAQ;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC;QAC3D,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,SAAS;QACzC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC/C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAChB,OAAO,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAC9E,SAAS;YACT,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;YAC1B,UAAU,EAAE,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;YAC/C,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;YAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC;gBAAE,SAAS;YACjD,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBAAE,SAAS;YACvE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAY,CAAC,CAAC;YACvC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM;gBAAE,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AA0BD,SAAS,MAAM,CAAC,GAAW,EAAE,KAAa,EAAE,OAA+B;IACzE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;IACzE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAC5E,OAAO;QACL,GAAG;QACH,KAAK;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI;QACJ,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM;QACrC,OAAO,EAAE,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAA6B;IAC3D,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,SAA2C,EAAE,EAAE,CACxF,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9C,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1E,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3E,OAAO;QACL,aAAa,EAAE,qBAAqB;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;QACrC,WAAW,EAAE;YACX,EAAE;YACF,IAAI;YACJ,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC;SACrE;QACD,OAAO,EAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAChE,KAAK,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAClF;QACD,YAAY,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QACvC,UAAU,EAAE;YACV,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,GAAG,EAAE,CAAC;YACnE,KAAK,CACH,QAAQ,EACR,YAAY,EACZ,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,IAAI,MAAM,CAAC,eAAe,GAAG,EAAE,CACxE;YACD,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;SACpE;QACD,aAAa,EACX,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,MAAM,IAAI,eAAe,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,eAAe;YAClF,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;YAC9C,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,cAAc,EACZ,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,IAAI,eAAe;YACpD,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,IAAI,eAAe;YACxD,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;YAC7D,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,KAAK,EAAE;YACL,yDAAyD;YACzD,sGAAsG;SACvG;KACF,CAAC;AACJ,CAAC;AAyBD,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEpC,MAAM,UAAU,cAAc,CAC5B,KAAiC,EACjC,KAAkC;IAElC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,OAAO,CAA6B,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAChE,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,GAAqB,EAAE,EAAE,CACpC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE;QAC3B,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC9D,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAClD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IACE,UAAU,IAAI,cAAc;YAC5B,eAAe,KAAK,IAAI;YACxB,eAAe,IAAI,gBAAgB;YAEnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,IACE,WAAW,IAAI,cAAc;YAC7B,gBAAgB,KAAK,IAAI;YACzB,gBAAgB,IAAI,gBAAgB;YAEpC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,IAAI,YAAY,IAAI,cAAc,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,IAAI,gBAAgB;YAC3F,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,UAAU,IAAI,cAAc,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,IAAI,gBAAgB;YACrF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACL,SAAS;YACT,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI;YAClC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,eAAe;YACf,gBAAgB;YAChB,WAAW;YACX,SAAS;YACT,MAAM;YACN,MAAM;SACP,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9F,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { type NormalizedMatch } from '@rine-kit/pubg-domain';
2
+ import { type BattleTelemetryDocument } from './battle.js';
3
+ import { type MatchStory } from './match-story.js';
4
+ import { type StreakMatchStats } from './streaks.js';
5
+ export declare const HIGHLIGHT_RULE_VERSION: "cross-match-highlights-v1";
6
+ export type HighlightKind = 'streak' | 'wipe' | 'comeback' | 'rescue';
7
+ export declare const HIGHLIGHT_LABELS: Record<HighlightKind, string>;
8
+ export interface MatchHighlight {
9
+ id: string;
10
+ ruleVersion: typeof HIGHLIGHT_RULE_VERSION;
11
+ kind: HighlightKind;
12
+ title: string;
13
+ summary: string;
14
+ matchId: string;
15
+ createdAt: string | null;
16
+ mapLabel: string;
17
+ startSeconds: number;
18
+ endSeconds: number;
19
+ fightIndex: number | null;
20
+ players: Array<{
21
+ id: string;
22
+ name: string;
23
+ }>;
24
+ count: number;
25
+ evidence: Array<{
26
+ matchId: string;
27
+ eventId: string;
28
+ timeSeconds: number;
29
+ type: string;
30
+ description: string;
31
+ }>;
32
+ notes: string[];
33
+ }
34
+ /** Reuses the streak detector and story fights; evidence IDs are the original telemetry array ordinals. */
35
+ export declare function identifyMatchHighlights(input: {
36
+ payload: unknown;
37
+ match: NormalizedMatch;
38
+ memberIds: readonly string[];
39
+ streaks?: StreakMatchStats;
40
+ story?: MatchStory;
41
+ telemetry?: BattleTelemetryDocument;
42
+ }): MatchHighlight[];
43
+ /** Stronger moments first, then newer matches and event time; input order never breaks a tie. */
44
+ export declare function rankCrossMatchHighlights(items: readonly MatchHighlight[]): MatchHighlight[];
@@ -0,0 +1,153 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { parseTelemetryPayload } from '@rine-kit/pubg-domain';
3
+ import { normalizeBattleTelemetry, } from './battle.js';
4
+ import { analyzeMatchStory } from './match-story.js';
5
+ import { analyzeStreaks } from './streaks.js';
6
+ import { mapDisplayName } from './analytics.js';
7
+ export const HIGHLIGHT_RULE_VERSION = 'cross-match-highlights-v1';
8
+ export const HIGHLIGHT_LABELS = {
9
+ streak: '连续击倒',
10
+ wipe: '观测灭队',
11
+ comeback: '逆风反击',
12
+ rescue: '队友救援',
13
+ };
14
+ /** Reuses the streak detector and story fights; evidence IDs are the original telemetry array ordinals. */
15
+ export function identifyMatchHighlights(input) {
16
+ const payload = parseTelemetryPayload(input.payload);
17
+ const raw = payload.map((event) => event && typeof event === 'object' ? event : {});
18
+ const startEvent = raw.find((event) => event._T === 'LogMatchStart');
19
+ const startValue = startEvent?._D ??
20
+ raw.find((event) => typeof event._D === 'string' && Number.isFinite(Date.parse(event._D)))?._D;
21
+ const startMs = typeof startValue === 'string' ? Date.parse(startValue) : NaN;
22
+ if (!Number.isFinite(startMs))
23
+ return [];
24
+ const members = new Set(input.memberIds);
25
+ const story = input.story ?? analyzeMatchStory(payload, members);
26
+ const streaks = input.streaks ?? analyzeStreaks(payload, members);
27
+ const telemetry = input.telemetry ?? normalizeBattleTelemetry(payload, input.match);
28
+ const time = (event) => {
29
+ const original = raw[Number(event.sourceEventId.replace('telemetry-', '')) - 1];
30
+ const timestamp = typeof original?._D === 'string' ? Date.parse(original._D) : NaN;
31
+ return Number.isFinite(timestamp) && timestamp >= startMs ? (timestamp - startMs) / 1000 : null;
32
+ };
33
+ const seen = new Set();
34
+ const events = telemetry.events
35
+ .filter((event) => event.phase === 'in_match' &&
36
+ ['KNOCK', 'KILL', 'REVIVE'].includes(event.type) &&
37
+ time(event) !== null)
38
+ .filter((event) => {
39
+ if (seen.has(event.semanticKey))
40
+ return false;
41
+ seen.add(event.semanticKey);
42
+ return true;
43
+ });
44
+ const byId = new Map(events.map((event) => [event.sourceEventId, event]));
45
+ const names = new Map(input.match.players
46
+ .filter((player) => members.has(player.accountId))
47
+ .map((player) => [player.accountId, player.displayName || player.playerName || '队员']));
48
+ const name = (id) => id && names.has(id) ? names.get(id) : id ? '范围外队员' : '来源未知';
49
+ const enemy = (event) => Boolean(event.actorId &&
50
+ event.victimId &&
51
+ event.actorId !== event.victimId &&
52
+ event.actorTeamId &&
53
+ event.victimTeamId &&
54
+ event.actorTeamId !== event.victimTeamId);
55
+ const highlights = [];
56
+ const add = (kind, source, playerIds, count, summary, notes = [], replayWindow) => {
57
+ const refs = [...new Map(source.map((event) => [event.sourceEventId, event])).values()].sort((a, b) => time(a) - time(b) || a.sourceEventId.localeCompare(b.sourceEventId));
58
+ if (!refs.length)
59
+ return;
60
+ const startSeconds = replayWindow?.[0] ?? time(refs[0]);
61
+ const endSeconds = replayWindow?.[1] ?? time(refs.at(-1));
62
+ const fight = story.fights.find((fight) => startSeconds >= fight.start - 1 && startSeconds <= fight.end + 1);
63
+ const id = createHash('sha256')
64
+ .update(`${HIGHLIGHT_RULE_VERSION}|${input.match.matchId}|${kind}|${refs.map((event) => event.sourceEventId).join(',')}`)
65
+ .digest('hex')
66
+ .slice(0, 24);
67
+ highlights.push({
68
+ id,
69
+ ruleVersion: HIGHLIGHT_RULE_VERSION,
70
+ kind,
71
+ title: kind === 'streak' ? `${count} 人连续击倒` : HIGHLIGHT_LABELS[kind],
72
+ summary,
73
+ matchId: input.match.matchId,
74
+ createdAt: input.match.createdAt ?? null,
75
+ mapLabel: mapDisplayName(input.match.mapName),
76
+ startSeconds,
77
+ endSeconds,
78
+ fightIndex: fight?.index ?? null,
79
+ players: [...new Set(playerIds)]
80
+ .filter((id) => members.has(id))
81
+ .map((id) => ({ id, name: name(id) })),
82
+ count,
83
+ evidence: refs.map((event) => ({
84
+ matchId: input.match.matchId,
85
+ eventId: event.sourceEventId,
86
+ timeSeconds: time(event),
87
+ type: event.type,
88
+ description: `${name(event.actorId)} → ${name(event.victimId)}`,
89
+ })),
90
+ notes,
91
+ });
92
+ };
93
+ for (const moment of streaks.moments ?? []) {
94
+ const source = moment.eventIds.flatMap((id) => (byId.has(id) ? [byId.get(id)] : []));
95
+ // A chain containing unknown teams, untimed events or duplicated source contacts cannot support a highlight.
96
+ if (source.length !== moment.eventIds.length || source.some((event) => !enemy(event)))
97
+ continue;
98
+ if (moment.kind === 'streak') {
99
+ add('streak', source, moment.playerIds, moment.count, `${name(moment.playerIds[0])} 连续压制 ${moment.count} 名不同敌人,历时 ${Math.round(moment.end - moment.start)} 秒。`, ['计数为击倒,或无前序击倒的直接淘汰;不等同于最终击杀数。']);
100
+ }
101
+ else {
102
+ add('wipe', source, moment.playerIds, moment.count, `最后一轮推进击倒 ${moment.count} 人;该敌队已观测的 ${moment.observedTeamSize} 名成员均已淘汰。`, ['只说明遥测已观测名单被清空;不推断未观测成员或完整四人编制。'], [moment.start - startMs / 1000, moment.end - startMs / 1000]);
103
+ }
104
+ }
105
+ for (const revive of events.filter((event) => event.type === 'REVIVE' &&
106
+ event.actorId &&
107
+ event.victimId &&
108
+ members.has(event.actorId) &&
109
+ members.has(event.victimId) &&
110
+ event.actorId !== event.victimId &&
111
+ event.actorTeamId &&
112
+ event.actorTeamId === event.victimTeamId)) {
113
+ const preceding = events
114
+ .filter((event) => event.victimId === revive.victimId &&
115
+ time(event) < time(revive) &&
116
+ ['KNOCK', 'KILL', 'REVIVE'].includes(event.type))
117
+ .at(-1);
118
+ const knock = preceding?.type === 'KNOCK' ? preceding : undefined;
119
+ const delay = knock ? Math.round(time(revive) - time(knock)) : null;
120
+ add('rescue', [...(knock ? [knock] : []), revive], [revive.actorId, revive.victimId], 1, `${name(revive.actorId)} 扶起 ${name(revive.victimId)}${delay === null ? '。' : `,距已记录倒地 ${delay} 秒。`}`, delay === null ? ['未找到对应倒地事件,倒地至救援时长未知。'] : []);
121
+ }
122
+ // "Comeback" is strictly a recorded knock-balance reversal in one story fight, not an inferred match victory.
123
+ for (const fight of story.fights.filter((fight) => fight.outcome === 'win')) {
124
+ const contacts = events.filter((event) => ['KNOCK', 'KILL'].includes(event.type) &&
125
+ enemy(event) &&
126
+ time(event) >= fight.start &&
127
+ time(event) <= fight.end &&
128
+ (members.has(event.actorId) || members.has(event.victimId)));
129
+ const first = contacts[0];
130
+ if (!first || !members.has(first.victimId) || first.type !== 'KNOCK')
131
+ continue;
132
+ const counters = contacts.filter((event) => event.type === 'KNOCK' && members.has(event.actorId) && time(event) > time(first));
133
+ const enemyCount = new Set(counters.map((event) => event.victimId)).size;
134
+ const ownCount = new Set(contacts
135
+ .filter((event) => event.type === 'KNOCK' && members.has(event.victimId))
136
+ .map((event) => event.victimId)).size;
137
+ if (enemyCount < 2 || enemyCount <= ownCount)
138
+ continue;
139
+ add('comeback', contacts, [...contacts.flatMap((event) => [event.actorId, event.victimId])], enemyCount, `本次交战先有队员倒地,随后反击;记录到击倒 ${enemyCount} 名不同敌人、本队 ${ownCount} 人倒地。`, ['逆风反击按同一交战的击倒记录判定,不代表最终吃鸡或因果结论。']);
140
+ }
141
+ return rankCrossMatchHighlights(highlights);
142
+ }
143
+ /** Stronger moments first, then newer matches and event time; input order never breaks a tie. */
144
+ export function rankCrossMatchHighlights(items) {
145
+ const priority = { wipe: 4, comeback: 3, streak: 2, rescue: 1 };
146
+ return [...new Map(items.map((item) => [item.id, item])).values()].sort((a, b) => priority[b.kind] - priority[a.kind] ||
147
+ b.count - a.count ||
148
+ (Date.parse(b.createdAt ?? '') || 0) - (Date.parse(a.createdAt ?? '') || 0) ||
149
+ a.matchId.localeCompare(b.matchId) ||
150
+ a.startSeconds - b.startSeconds ||
151
+ a.id.localeCompare(b.id));
152
+ }
153
+ //# sourceMappingURL=highlights.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"highlights.js","sourceRoot":"","sources":["../../src/highlights.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export * from './intent.js';
2
+ export * from './research.js';
3
+ export * from './experiment-store.js';
4
+ export * from './battle.js';
5
+ export * from './tactics.js';
6
+ export * from './assistant.js';
7
+ export * from './evaluation.js';
8
+ export * from './evaluation-replay.js';
9
+ export * from './analytics.js';
10
+ export * from './landing.js';
11
+ export * from './combat-quality.js';
12
+ export * from './insights.js';
13
+ export * from './profiles.js';
14
+ export * from './field.js';
15
+ export * from './fights.js';
16
+ export * from './style.js';
17
+ export * from './combat-long.js';
18
+ export * from './lobby.js';
19
+ export * from './streaks.js';
20
+ export * from './match-relative.js';
21
+ export * from './match-story.js';
22
+ export * from './match-insight.js';
23
+ export * from './rhythm.js';
24
+ export * from './highlights.js';
@@ -0,0 +1,25 @@
1
+ export * from './intent.js';
2
+ export * from './research.js';
3
+ export * from './experiment-store.js';
4
+ export * from './battle.js';
5
+ export * from './tactics.js';
6
+ export * from './assistant.js';
7
+ export * from './evaluation.js';
8
+ export * from './evaluation-replay.js';
9
+ export * from './analytics.js';
10
+ export * from './landing.js';
11
+ export * from './combat-quality.js';
12
+ export * from './insights.js';
13
+ export * from './profiles.js';
14
+ export * from './field.js';
15
+ export * from './fights.js';
16
+ export * from './style.js';
17
+ export * from './combat-long.js';
18
+ export * from './lobby.js';
19
+ export * from './streaks.js';
20
+ export * from './match-relative.js';
21
+ export * from './match-story.js';
22
+ export * from './match-insight.js';
23
+ export * from './rhythm.js';
24
+ export * from './highlights.js';
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { type LineupAnalytics, type MapAnalytics, type MatchSeriesPoint, type SquadAnalytics } from './analytics.js';
2
+ import type { CombatQualitySummary, DeathSummary } from './combat-quality.js';
3
+ import type { LandingPreference } from './landing.js';
4
+ import { type DistanceSummary, type ZoneSummary } from './field.js';
5
+ import { type FightSummary, type RoleShare } from './fights.js';
6
+ export declare const INSIGHT_RULE_VERSION: "highlight-rules-v1";
7
+ export declare const INSIGHT_MAX = 6;
8
+ export declare const INSIGHT_MAP_MIN_MATCHES = 15;
9
+ export declare const INSIGHT_REVIVE_MIN_KNOCKS = 15;
10
+ export declare const INSIGHT_DEATH_MIN = 30;
11
+ export declare const INSIGHT_RECENT_MATCHES = 20;
12
+ export type InsightTone = 'good' | 'warn' | 'info';
13
+ export interface Insight {
14
+ id: string;
15
+ tone: InsightTone;
16
+ title: string;
17
+ detail: string;
18
+ /** Short sample/interval statement so every claim carries its own uncertainty. */
19
+ evidence: string;
20
+ }
21
+ /** Orders warnings first, then good news, then context, and keeps the list short enough to read. */
22
+ export declare function rankInsights(insights: Insight[], max?: number): Insight[];
23
+ export interface PerformanceInsightInput {
24
+ squad: SquadAnalytics;
25
+ maps: readonly MapAnalytics[];
26
+ lineups: LineupAnalytics;
27
+ series: readonly MatchSeriesPoint[];
28
+ }
29
+ export declare function buildPerformanceInsights(input: PerformanceInsightInput): Insight[];
30
+ export interface CombatInsightInput {
31
+ combat: CombatQualitySummary;
32
+ deaths: DeathSummary;
33
+ landing: LandingPreference;
34
+ }
35
+ export declare function buildCombatInsights(input: CombatInsightInput): Insight[];
36
+ export declare const FIELD_INSIGHT_MAX = 10;
37
+ export interface FieldInsightInput {
38
+ fights: FightSummary;
39
+ distance: DistanceSummary;
40
+ zone: ZoneSummary;
41
+ landing: LandingPreference;
42
+ roles: readonly RoleShare[];
43
+ }
44
+ export declare function buildFieldInsights(input: FieldInsightInput): Insight[];