@xenon-device-management/xenon 2.12.0 → 2.13.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 (150) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +223 -488
  3. package/lib/package.json +2 -2
  4. package/lib/public/assets/{AnnotationOverlay-Crkn72_3.js → AnnotationOverlay-Cvpkk4r9.js} +1 -1
  5. package/lib/public/assets/{ApiKeyGate-BThVlj_j.js → ApiKeyGate-Bhn5ZtVM.js} +1 -1
  6. package/lib/public/assets/{BugReportButton-Dwa0GnBh.js → BugReportButton-BA6aEjTC.js} +1 -1
  7. package/lib/public/assets/{DeviceMosaicView-Ccc-pOls.js → DeviceMosaicView-ChhHnpFQ.js} +1 -1
  8. package/lib/public/assets/{EmptyState-BeuTrlN_.js → EmptyState-CgzbuUvO.js} +1 -1
  9. package/lib/public/assets/{FieldGroup-DBIaNxl1.js → FieldGroup-BHc_5qNc.js} +1 -1
  10. package/lib/public/assets/{FilterMenu-BgSAS6iT.js → FilterMenu-D7OMGuRc.js} +1 -1
  11. package/lib/public/assets/{Menu-GCbP6gYN.js → Menu-C173JJ0l.js} +1 -1
  12. package/lib/public/assets/{Modal-ByESeBRC.js → Modal-ChvVUI3B.js} +1 -1
  13. package/lib/public/assets/{RecordingPage-Bwyf3WMl.js → RecordingPage-Dhw4d_O6.js} +1 -1
  14. package/lib/public/assets/{RecordingsPage-7kM1rB3i.js → RecordingsPage-z97ftGK-.js} +2 -2
  15. package/lib/public/assets/{SegmentedControl-B8tTU8kD.js → SegmentedControl-DbXhBGZC.js} +1 -1
  16. package/lib/public/assets/{SettingCard-Clg_Ijbc.js → SettingCard-C908GgiI.js} +1 -1
  17. package/lib/public/assets/{Table-CIaR0QWV.js → Table-B1DB_ZN-.js} +1 -1
  18. package/lib/public/assets/{activity-Bengh9SD.js → activity-Css0xNvp.js} +1 -1
  19. package/lib/public/assets/ai-settings-BMQK3-yN.js +21 -0
  20. package/lib/public/assets/{api-keys-CrGlbfn-.js → api-keys-CbJ42eDQ.js} +1 -1
  21. package/lib/public/assets/{apps-DIbcGVlU.js → apps-DW1pw2re.js} +2 -2
  22. package/lib/public/assets/{arrow-left-BtJIXXMY.js → arrow-left-Dpog9L0F.js} +1 -1
  23. package/lib/public/assets/{arrow-right-zm-NagQh.js → arrow-right-CsBIlSIw.js} +1 -1
  24. package/lib/public/assets/{arrow-up-right-DdU8YEYp.js → arrow-up-right-z1tRQE4R.js} +1 -1
  25. package/lib/public/assets/{auth-shell-CHmBFmOz.js → auth-shell-mXiX5vNk.js} +2 -2
  26. package/lib/public/assets/{builds-page-JkzWKRpU.js → builds-page-BcFn23bE.js} +1 -1
  27. package/lib/public/assets/{button-CqhPBGRj.js → button-Cq_zHETv.js} +1 -1
  28. package/lib/public/assets/{calendar-C7eYYJTo.js → calendar-CKxABX9q.js} +1 -1
  29. package/lib/public/assets/{check-DpbIM4E0.js → check-C7xu-hGU.js} +1 -1
  30. package/lib/public/assets/{chevron-right-Dl4X1PRz.js → chevron-right-BiqfdCGA.js} +1 -1
  31. package/lib/public/assets/{circle-check-Du3sjbfV.js → circle-check-CyBjjPxR.js} +1 -1
  32. package/lib/public/assets/{circle-x-BSSqhpXi.js → circle-x-6gMRcx6z.js} +1 -1
  33. package/lib/public/assets/{clock-DMT60v1C.js → clock-U1rDTT1h.js} +1 -1
  34. package/lib/public/assets/{copy-BKNyOehd.js → copy-BIM0ZX0L.js} +1 -1
  35. package/lib/public/assets/device-explorer-DSpAA_t9.js +279 -0
  36. package/lib/public/assets/{download-BM6Xn22t.js → download-DDBRXnAZ.js} +1 -1
  37. package/lib/public/assets/{forgot-password-B8WqMqBT.js → forgot-password-Dpg7yxM8.js} +1 -1
  38. package/lib/public/assets/{index-ClrpAMAT.js → index-BGBqohfQ.js} +43 -43
  39. package/lib/public/assets/{index-DauQh6ie.js → index-BQ2luT7L.js} +1 -1
  40. package/lib/public/assets/{input-CyKdLnEx.js → input-BvB1cjHE.js} +1 -1
  41. package/lib/public/assets/{line-chart-EIBXwYGo.js → line-chart-m78VggnW.js} +1 -1
  42. package/lib/public/assets/{list-checks-fWsgD9bI.js → list-checks-cY7o1QTL.js} +1 -1
  43. package/lib/public/assets/{lock-CVCe56TH.js → lock-loz8txQm.js} +1 -1
  44. package/lib/public/assets/{login-BJ8a7yVD.js → login-BYOvz4lx.js} +1 -1
  45. package/lib/public/assets/maintenance-settings-BxbA7SkB.js +6 -0
  46. package/lib/public/assets/{monitor-Bw1YQZnL.js → monitor-C4HPHb6s.js} +1 -1
  47. package/lib/public/assets/{mouse-pointer-2-C01jbqkO.js → mouse-pointer-2-BkdKtCzi.js} +1 -1
  48. package/lib/public/assets/{network-CBGUjJDJ.js → network-C5e0MIWo.js} +1 -1
  49. package/lib/public/assets/{overview-Cxe8aQ7C.js → overview-tlu8ijGd.js} +1 -1
  50. package/lib/public/assets/{page-header-B92DKLiq.js → page-header-FXPlo6az.js} +1 -1
  51. package/lib/public/assets/{play-Ck0L-0_m.js → play-CWdk0_Sy.js} +1 -1
  52. package/lib/public/assets/{plus-Dq3tCy2N.js → plus-B2xCnntV.js} +1 -1
  53. package/lib/public/assets/{profile-page--dkDiKbr.js → profile-page-D080qzr4.js} +1 -1
  54. package/lib/public/assets/{recording-group-store-5BYIFFN9.js → recording-group-store-B75435xR.js} +1 -1
  55. package/lib/public/assets/{reset-password-KYWlfjia.js → reset-password-D3u4Mbvn.js} +1 -1
  56. package/lib/public/assets/{runbook-page-mnsxgS1d.js → runbook-page-hPRZMy7s.js} +1 -1
  57. package/lib/public/assets/{select-BBOIZTYm.js → select-12RThAXc.js} +1 -1
  58. package/lib/public/assets/{selector-detail-redirect-CcI2j_Su.js → selector-detail-redirect-uQwvV7EQ.js} +1 -1
  59. package/lib/public/assets/{selector-health-page-BdJb_x5L.js → selector-health-page-CThoxDFO.js} +2 -2
  60. package/lib/public/assets/{session-detail-page-BjLaJy8z.js → session-detail-page-Bc02YjMm.js} +1 -1
  61. package/lib/public/assets/settings-C1VIluuT.js +6 -0
  62. package/lib/public/assets/{stat-tile-BU9e4s36.js → stat-tile-B02WEte8.js} +1 -1
  63. package/lib/public/assets/{tablet-hgbEwrWq.js → tablet-Dj30VGZl.js} +1 -1
  64. package/lib/public/assets/{teams-uiiG4hZM.js → teams-uL4fjTDR.js} +1 -1
  65. package/lib/public/assets/{trash-2-NK_Iazmg.js → trash-2-B54e-TfY.js} +1 -1
  66. package/lib/public/assets/{upload-BUX8TNFi.js → upload-B3k8WCSP.js} +1 -1
  67. package/lib/public/assets/{use-builds-data-DZszmFyl.js → use-builds-data-BFn90NH3.js} +1 -1
  68. package/lib/public/assets/{use-password-reset-mode-BK4B9kRC.js → use-password-reset-mode-DL2TmWZ0.js} +1 -1
  69. package/lib/public/assets/{users-BU4XBbMT.js → users-CqBuxMlX.js} +1 -1
  70. package/lib/public/assets/{users-BDh1xjad.js → users-DjQSucKb.js} +1 -1
  71. package/lib/public/assets/{video-off-BOjNwT4R.js → video-off-T0rlt0GA.js} +1 -1
  72. package/lib/public/assets/webhook-settings-DAHgnJyZ.js +1 -0
  73. package/lib/public/assets/{zap-DTWwVMUg.js → zap-gBHqutZV.js} +1 -1
  74. package/lib/public/index.html +1 -1
  75. package/lib/src/app/apiErrors.js +118 -0
  76. package/lib/src/app/index.js +6 -1
  77. package/lib/src/app/openapi/control.yaml +3129 -0
  78. package/lib/src/app/openapi/grid.yaml +2295 -0
  79. package/lib/src/app/openapi/identity.yaml +2168 -0
  80. package/lib/src/app/openapi/platform.yaml +2885 -0
  81. package/lib/src/app/openapi/sessions.yaml +3784 -0
  82. package/lib/src/app/routers/bug-report.js +4 -1
  83. package/lib/src/app/routers/config.js +6 -107
  84. package/lib/src/app/routers/control.js +117 -59
  85. package/lib/src/app/routers/dashboard.js +13 -7
  86. package/lib/src/app/routers/grid.js +54 -14
  87. package/lib/src/app/routers/profile.js +27 -13
  88. package/lib/src/app/routers/recordings.js +11 -5
  89. package/lib/src/app/routers/reservation.js +63 -15
  90. package/lib/src/app/routers/users.js +4 -0
  91. package/lib/src/app/routers/webhook.js +17 -8
  92. package/lib/src/app/swagger.js +259 -177
  93. package/lib/src/data-service/device-service.js +4 -1
  94. package/lib/src/data-service/deviceFieldOwners.js +1 -0
  95. package/lib/src/device-managers/AndroidDeviceManager.js +5 -2
  96. package/lib/src/device-managers/ios/WDAClient.js +153 -41
  97. package/lib/src/generated/client/edge.js +4 -3
  98. package/lib/src/generated/client/index-browser.js +1 -0
  99. package/lib/src/generated/client/index.d.ts +38 -0
  100. package/lib/src/generated/client/index.js +4 -3
  101. package/lib/src/generated/client/package.json +1 -1
  102. package/lib/src/generated/client/schema.prisma +2 -0
  103. package/lib/src/generated/client/wasm.js +1 -0
  104. package/lib/src/middleware/csrfMiddleware.js +13 -5
  105. package/lib/src/middleware/rateLimitMiddleware.js +19 -5
  106. package/lib/src/middleware/roleGuard.js +20 -0
  107. package/lib/src/services/AIService.js +13 -3
  108. package/lib/src/services/NotificationService.js +28 -28
  109. package/lib/src/services/bug-report/BugReportService.js +8 -2
  110. package/lib/src/services/lease/LeaseService.js +71 -20
  111. package/lib/src/services/omni-vision/OmniVisionService.js +14 -5
  112. package/lib/src/services/recording/RecordingOrchestrator.js +16 -2
  113. package/lib/test/helpers/expressRoutes.js +41 -0
  114. package/lib/test/integration/team-visibility-control.spec.js +2 -2
  115. package/lib/test/unit/access-scopes.spec.js +227 -0
  116. package/lib/test/unit/api-error-handling.spec.js +179 -0
  117. package/lib/test/unit/bug-report/route.spec.js +29 -0
  118. package/lib/test/unit/bug-report/service.spec.js +30 -0
  119. package/lib/test/unit/control-honest-answers.spec.js +134 -0
  120. package/lib/test/unit/device-allocation-routes.spec.js +232 -0
  121. package/lib/test/unit/healing-state-endpoints.spec.js +8 -5
  122. package/lib/test/unit/install-repository-app-team.spec.js +4 -1
  123. package/lib/test/unit/lease/LeaseService.spec.js +5 -4
  124. package/lib/test/unit/lease/lease-device-match.spec.js +161 -0
  125. package/lib/test/unit/lease/lease-session-ownership.spec.js +10 -9
  126. package/lib/test/unit/omni-vision-failures.spec.js +81 -0
  127. package/lib/test/unit/openapi-coverage.spec.js +114 -0
  128. package/lib/test/unit/profile-router.test.js +42 -0
  129. package/lib/test/unit/rateLimitMiddleware.test.js +49 -0
  130. package/lib/test/unit/recording-orchestrator.spec.js +80 -0
  131. package/lib/test/unit/recordings-library-routes.spec.js +37 -0
  132. package/lib/test/unit/reservation-team-visibility.spec.js +4 -3
  133. package/lib/test/unit/reset-link.test.js +2 -1
  134. package/lib/test/unit/stream-ticket-identity.spec.js +1 -1
  135. package/lib/test/unit/users-router.test.js +14 -1
  136. package/lib/test/unit/wda-client-failures.spec.js +90 -0
  137. package/lib/test/unit/wda-client-session.spec.js +128 -0
  138. package/lib/test/unit/wda-clipboard-write.spec.js +135 -0
  139. package/lib/test/unit/webhook-delivery.spec.js +142 -0
  140. package/lib/tsconfig.tsbuildinfo +1 -1
  141. package/package.json +2 -2
  142. package/prisma/migrations/20261004120000_reservation_holder/migration.sql +2 -0
  143. package/prisma/schema.prisma +2 -0
  144. package/scripts/dev/readme-screenshots.js +231 -0
  145. package/lib/public/assets/ai-settings-G9SymiPH.js +0 -21
  146. package/lib/public/assets/device-explorer-CoPR8DW3.js +0 -279
  147. package/lib/public/assets/maintenance-settings-DcRmTLS6.js +0 -6
  148. package/lib/public/assets/settings-B6cpMhsx.js +0 -6
  149. package/lib/public/assets/webhook-settings-BMzyUcx5.js +0 -1
  150. package/lib/src/app/swagger-docs.js +0 -1701
package/LICENSE ADDED
@@ -0,0 +1,15 @@
1
+ ISC License
2
+
3
+ Copyright (c) 2026 Rabindra Biswal and Xenon contributors
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.