@xenon-device-management/xenon 2.9.1 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/lib/package.json +1 -1
  2. package/lib/public/assets/{AnnotationOverlay-Dm_URoOL.js → AnnotationOverlay-LzfXiiZJ.js} +1 -1
  3. package/lib/public/assets/{ApiKeyGate-BdGOuXDm.js → ApiKeyGate-BzFDp4mK.js} +1 -1
  4. package/lib/public/assets/{BugReportButton-BuWGEjgw.js → BugReportButton-BpgWvmZo.js} +1 -1
  5. package/lib/public/assets/{DeviceMosaicView-Pu3rJ99D.js → DeviceMosaicView-CCB-egSH.js} +2 -2
  6. package/lib/public/assets/{EmptyState-syyHElMd.js → EmptyState-DkUVmANo.js} +1 -1
  7. package/lib/public/assets/{FieldGroup-BZR5ZBVv.js → FieldGroup-mbfnfTql.js} +1 -1
  8. package/lib/public/assets/{FilterMenu-CsgtrmPb.js → FilterMenu-BH5usz4Y.js} +1 -1
  9. package/lib/public/assets/{Menu-DP8XOm1A.js → Menu-Cbo9mdTk.js} +1 -1
  10. package/lib/public/assets/{Modal-Dtd-8uI2.js → Modal-D6XfQHPr.js} +1 -1
  11. package/lib/public/assets/{RecordingPage-CdAtAmHj.js → RecordingPage-CmFPkWqH.js} +1 -1
  12. package/lib/public/assets/{RecordingsPage-Br3CKxTe.js → RecordingsPage-CSlKk2qC.js} +1 -1
  13. package/lib/public/assets/{SegmentedControl-BOaNmUL-.js → SegmentedControl-BFW9Dlqd.js} +1 -1
  14. package/lib/public/assets/{SettingCard-CQuK9ZZX.js → SettingCard-C4DioTTi.js} +1 -1
  15. package/lib/public/assets/{Table-CswCefnT.js → Table-DrKjlL00.js} +1 -1
  16. package/lib/public/assets/{activity-6fhH3u4C.js → activity-C9bE7Jm8.js} +1 -1
  17. package/lib/public/assets/{ai-settings-CU24L3D4.js → ai-settings-DRYic4oO.js} +1 -1
  18. package/lib/public/assets/{api-keys-DC3BZDaG.js → api-keys-CaQU0g7c.js} +1 -1
  19. package/lib/public/assets/{apps-Ce5Z-wNc.js → apps-c1gUFmmK.js} +1 -1
  20. package/lib/public/assets/{arrow-left-DZJqYn7r.js → arrow-left-DMvAWA8r.js} +1 -1
  21. package/lib/public/assets/{arrow-right-nIvK8CyN.js → arrow-right-BEQgxmKT.js} +1 -1
  22. package/lib/public/assets/{arrow-up-right-BfugJj3f.js → arrow-up-right-Ba0e2GeU.js} +1 -1
  23. package/lib/public/assets/{auth-shell-B1Cz75Vq.js → auth-shell-COODQnc7.js} +2 -2
  24. package/lib/public/assets/{builds-page-5mlJGjIk.js → builds-page-DZQgWBUs.js} +4 -4
  25. package/lib/public/assets/{button-D_W88sn-.js → button-WW9j43wR.js} +1 -1
  26. package/lib/public/assets/{calendar-Dc6pWZS9.js → calendar-COUs9VxF.js} +1 -1
  27. package/lib/public/assets/{check-BbvtnP8m.js → check-D8ifHIJR.js} +1 -1
  28. package/lib/public/assets/{chevron-right-CgBUaRCA.js → chevron-right-BjKVUlB_.js} +1 -1
  29. package/lib/public/assets/{circle-check-BWjEKvA4.js → circle-check-CfP79QE2.js} +1 -1
  30. package/lib/public/assets/{circle-x-BLUdeRhT.js → circle-x-BZbFCixZ.js} +1 -1
  31. package/lib/public/assets/{clock-PAhKG1jT.js → clock-BuTm35Qg.js} +1 -1
  32. package/lib/public/assets/{copy-2CHdAPBf.js → copy-W00zUBwN.js} +1 -1
  33. package/lib/public/assets/{device-explorer-EyAhEL_S.js → device-explorer-BEpS-Y-_.js} +5 -5
  34. package/lib/public/assets/{download-B1vKGhGP.js → download-CGz-MS3y.js} +1 -1
  35. package/lib/public/assets/{forgot-password-NSrrBA5N.js → forgot-password-DG7SqVgU.js} +1 -1
  36. package/lib/public/assets/{index-C8pvxG1f.css → index-DQa193-A.css} +1 -1
  37. package/lib/public/assets/{index-BEk1D5-B.js → index-DWHTp1YP.js} +1 -1
  38. package/lib/public/assets/{index-BxaH84UO.js → index-EkaQM1DK.js} +2 -2
  39. package/lib/public/assets/{input-cA_lrNIw.js → input-ChaTXeCq.js} +1 -1
  40. package/lib/public/assets/{keycodes-DZLCZ-uv.js → keycodes-BhbgeW_r.js} +10 -5
  41. package/lib/public/assets/line-chart-9P3RxScy.js +1 -0
  42. package/lib/public/assets/list-checks-_23IIEEL.js +11 -0
  43. package/lib/public/assets/{lock-ChoclF8X.js → lock-B2JaqqRI.js} +1 -1
  44. package/lib/public/assets/{login-63DiXJ0M.js → login-BEWIfLfC.js} +1 -1
  45. package/lib/public/assets/{maintenance-settings-A47Y-PYy.js → maintenance-settings-BGJIJQ-k.js} +1 -1
  46. package/lib/public/assets/{monitor-BYPF43Ds.js → monitor-BrwMY4G0.js} +1 -1
  47. package/lib/public/assets/{mouse-pointer-2-Pcl7inmZ.js → mouse-pointer-2-DsWDMyrY.js} +1 -1
  48. package/lib/public/assets/{network-ChaLfnWe.js → network-DfIhNVJv.js} +1 -1
  49. package/lib/public/assets/overview-B1mePY2_.js +6 -0
  50. package/lib/public/assets/{page-header-bv2AQSMG.js → page-header-DoD3TOzZ.js} +1 -1
  51. package/lib/public/assets/{plus-u0x2Y5uW.js → plus-BGvWvpBB.js} +1 -1
  52. package/lib/public/assets/{profile-page-Cvmef2iY.js → profile-page-CvV5aWvl.js} +1 -1
  53. package/lib/public/assets/{reset-password-DqStVhBo.js → reset-password-CGVd31LR.js} +1 -1
  54. package/lib/public/assets/{runbook-page-UK0C95QF.js → runbook-page-Bq2cvwb5.js} +1 -1
  55. package/lib/public/assets/{select-CQ6O804R.js → select-CTcD4jWR.js} +1 -1
  56. package/lib/public/assets/selector-detail-redirect-19odlD4B.js +1 -0
  57. package/lib/public/assets/selector-health-page-LqIsLrjW.js +11 -0
  58. package/lib/public/assets/session-detail-page-DQzb8_fq.js +4 -0
  59. package/lib/public/assets/{settings-Cva7V4n-.js → settings-C-EnGIqs.js} +1 -1
  60. package/lib/public/assets/stat-tile-BY0RDTRm.js +1 -0
  61. package/lib/public/assets/{tablet-BPtlTsKn.js → tablet-B4cFM-5B.js} +1 -1
  62. package/lib/public/assets/{teams-D4r1UMME.js → teams-BFe-RpYd.js} +1 -1
  63. package/lib/public/assets/time-D-gjmE1o.js +1 -0
  64. package/lib/public/assets/{trash-2-CnysPtdR.js → trash-2-CJCKBOP9.js} +1 -1
  65. package/lib/public/assets/{upload-Uyj4-Cyq.js → upload-DidWkbld.js} +1 -1
  66. package/lib/public/assets/use-builds-data-fnfxatOd.js +8 -0
  67. package/lib/public/assets/{use-password-reset-mode-Du-ykGHP.js → use-password-reset-mode-iPen3tmC.js} +1 -1
  68. package/lib/public/assets/{users-ttkwKBos.js → users-CrcjmRdf.js} +1 -1
  69. package/lib/public/assets/{users-Cs00GNmy.js → users-DBUv0CJx.js} +1 -1
  70. package/lib/public/assets/{video-off-BYa4qD8N.js → video-off-eh69-FKB.js} +1 -1
  71. package/lib/public/assets/view-state-CP9dE1UI.js +1 -0
  72. package/lib/public/assets/{webhook-settings-DuEnPlet.js → webhook-settings-CQoSshBn.js} +1 -1
  73. package/lib/public/assets/{zap-CxHn6Vwu.js → zap-CICtWiLn.js} +1 -1
  74. package/lib/public/index.html +2 -2
  75. package/lib/schema.json +5 -0
  76. package/lib/src/app/routers/dashboard.js +86 -40
  77. package/lib/src/app/routers/selector-health.js +75 -0
  78. package/lib/src/app/swagger-docs.js +77 -8
  79. package/lib/src/dashboard/event-manager.js +15 -99
  80. package/lib/src/device-managers/ios/IOSDiscoveryService.js +6 -65
  81. package/lib/src/device-managers/ios/IOSStreamService.js +7 -66
  82. package/lib/src/device-managers/ios/WDAClient.js +65 -86
  83. package/lib/src/generated/client/edge.js +27 -3
  84. package/lib/src/generated/client/index-browser.js +24 -0
  85. package/lib/src/generated/client/index.d.ts +8207 -5283
  86. package/lib/src/generated/client/index.js +27 -3
  87. package/lib/src/generated/client/package.json +1 -1
  88. package/lib/src/generated/client/schema.prisma +43 -9
  89. package/lib/src/generated/client/wasm.js +24 -0
  90. package/lib/src/prisma.js +2 -0
  91. package/lib/src/services/CleanupService.js +1 -0
  92. package/lib/src/services/NotificationService.js +3 -4
  93. package/lib/src/services/SelectorStateService.js +151 -113
  94. package/lib/src/services/SelectorVerificationJob.js +14 -9
  95. package/lib/src/services/metrics/AndroidMetricsSampler.js +94 -0
  96. package/lib/src/services/metrics/IOSMetricsSampler.js +120 -0
  97. package/lib/src/services/metrics/SessionMetricsService.js +238 -0
  98. package/lib/src/services/metrics/androidMetrics.js +94 -0
  99. package/lib/src/services/metrics/iosMetrics.js +26 -0
  100. package/lib/src/services/metrics/metricsBody.js +37 -0
  101. package/lib/src/services/metrics/types.js +19 -0
  102. package/lib/src/services/selector-health/access.js +66 -0
  103. package/lib/src/services/selector-health/healingTrend.js +49 -0
  104. package/lib/src/services/selector-health/people.js +27 -0
  105. package/lib/src/services/selector-health/selectorDetail.js +198 -0
  106. package/lib/src/services/selector-health/selectorKeys.js +36 -0
  107. package/lib/src/services/selector-health/selectorList.js +333 -0
  108. package/lib/src/services/selector-health/stateView.js +67 -0
  109. package/lib/test/helpers/scratch-database.js +2 -0
  110. package/lib/test/helpers/selector-health-fixture.js +216 -0
  111. package/lib/test/integration/team-visibility-sessions.spec.js +1 -0
  112. package/lib/test/unit/CleanupService.spec.js +28 -2
  113. package/lib/test/unit/dashboard-events-metrics.spec.js +146 -0
  114. package/lib/test/unit/healing-no-cost.spec.js +134 -0
  115. package/lib/test/unit/healing-state-endpoints.spec.js +70 -0
  116. package/lib/test/unit/healing-trend.spec.js +118 -0
  117. package/lib/test/unit/ios-discovery-same-host.spec.js +0 -1
  118. package/lib/test/unit/ios-no-network-fallback.spec.js +219 -0
  119. package/lib/test/unit/selector-event-model.spec.js +47 -0
  120. package/lib/test/unit/selector-health-actions.spec.js +106 -0
  121. package/lib/test/unit/selector-health-detail.spec.js +131 -0
  122. package/lib/test/unit/selector-health-list.spec.js +185 -0
  123. package/lib/test/unit/selector-state-service.spec.js +74 -1
  124. package/lib/test/unit/selector-verification-job.spec.js +38 -0
  125. package/lib/test/unit/session-metrics-parse.spec.js +138 -0
  126. package/lib/test/unit/session-metrics-route.spec.js +140 -0
  127. package/lib/test/unit/session-metrics-samplers.spec.js +248 -0
  128. package/lib/test/unit/session-metrics-service.spec.js +215 -0
  129. package/lib/tsconfig.tsbuildinfo +1 -1
  130. package/package.json +1 -1
  131. package/prisma/migrations/20261002120000_session_metric/migration.sql +17 -0
  132. package/prisma/migrations/20261002130000_selector_event/migration.sql +13 -0
  133. package/prisma/schema.prisma +43 -9
  134. package/schema.json +5 -0
  135. package/lib/public/assets/chevron-left-DQDpR9ne.js +0 -6
  136. package/lib/public/assets/funnel-C9mzkCSI.js +0 -6
  137. package/lib/public/assets/layers-BuXMIJz3.js +0 -6
  138. package/lib/public/assets/list-checks-B8q68tPG.js +0 -6
  139. package/lib/public/assets/overview-bj_vktQG.js +0 -1
  140. package/lib/public/assets/selector-detail-page-D-PjU6mC.js +0 -1
  141. package/lib/public/assets/selector-health-BlICzZlk.css +0 -1
  142. package/lib/public/assets/selector-health-CVm0cTOU.js +0 -16
  143. package/lib/public/assets/selector-health-page-BdibBs8g.js +0 -16
  144. package/lib/public/assets/session-detail-page-BijicGOF.js +0 -4
  145. package/lib/public/assets/stat-tile-BdIoEoou.js +0 -8
  146. package/lib/public/assets/time-B8FIgwPE.js +0 -1
  147. package/lib/src/profiling/AndroidAppProfiler.js +0 -213
  148. /package/lib/public/assets/{session-detail-page-Bzzc3bMl.css → line-chart-Bzzc3bMl.css} +0 -0
@@ -211,6 +211,18 @@ exports.Prisma.ProfilingScalarFieldEnum = {
211
211
  updatedAt: 'updatedAt'
212
212
  };
213
213
 
214
+ exports.Prisma.SessionMetricScalarFieldEnum = {
215
+ id: 'id',
216
+ session_id: 'session_id',
217
+ at: 'at',
218
+ device_cpu_pct: 'device_cpu_pct',
219
+ device_mem_mb: 'device_mem_mb',
220
+ device_mem_total: 'device_mem_total',
221
+ app_cpu_pct: 'app_cpu_pct',
222
+ app_mem_mb: 'app_mem_mb',
223
+ app_id: 'app_id'
224
+ };
225
+
214
226
  exports.Prisma.AppScalarFieldEnum = {
215
227
  id: 'id',
216
228
  name: 'name',
@@ -399,6 +411,16 @@ exports.Prisma.SelectorStateScalarFieldEnum = {
399
411
  updatedAt: 'updatedAt'
400
412
  };
401
413
 
414
+ exports.Prisma.SelectorEventScalarFieldEnum = {
415
+ id: 'id',
416
+ original_strategy: 'original_strategy',
417
+ original_selector: 'original_selector',
418
+ action: 'action',
419
+ user_id: 'user_id',
420
+ reason: 'reason',
421
+ createdAt: 'createdAt'
422
+ };
423
+
402
424
  exports.Prisma.RecordingScalarFieldEnum = {
403
425
  id: 'id',
404
426
  group_id: 'group_id',
@@ -510,6 +532,7 @@ exports.Prisma.ModelName = {
510
532
  SessionLog: 'SessionLog',
511
533
  Log: 'Log',
512
534
  Profiling: 'Profiling',
535
+ SessionMetric: 'SessionMetric',
513
536
  App: 'App',
514
537
  Device: 'Device',
515
538
  PendingSession: 'PendingSession',
@@ -522,6 +545,7 @@ exports.Prisma.ModelName = {
522
545
  ApiKey: 'ApiKey',
523
546
  Team: 'Team',
524
547
  SelectorState: 'SelectorState',
548
+ SelectorEvent: 'SelectorEvent',
525
549
  Recording: 'Recording',
526
550
  Bookmark: 'Bookmark',
527
551
  Annotation: 'Annotation',