@adonis-agora/telescope 0.9.1 → 0.11.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 (196) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/providers/telescope_ai_provider.d.ts.map +1 -1
  3. package/dist/providers/telescope_ai_provider.js.map +1 -1
  4. package/dist/providers/telescope_alerts_provider.d.ts.map +1 -1
  5. package/dist/providers/telescope_alerts_provider.js.map +1 -1
  6. package/dist/providers/telescope_cpu_profiling_provider.d.ts.map +1 -1
  7. package/dist/providers/telescope_cpu_profiling_provider.js.map +1 -1
  8. package/dist/providers/telescope_mcp_provider.d.ts.map +1 -1
  9. package/dist/providers/telescope_mcp_provider.js.map +1 -1
  10. package/dist/providers/telescope_provider.d.ts.map +1 -1
  11. package/dist/providers/telescope_provider.js.map +1 -1
  12. package/dist/providers/telescope_ui_provider.d.ts.map +1 -1
  13. package/dist/providers/telescope_ui_provider.js +48 -7
  14. package/dist/providers/telescope_ui_provider.js.map +1 -1
  15. package/dist/providers/telescope_watchers_provider.d.ts.map +1 -1
  16. package/dist/providers/telescope_watchers_provider.js.map +1 -1
  17. package/dist/src/ai/define_config.d.ts +1 -1
  18. package/dist/src/ai/define_config.d.ts.map +1 -1
  19. package/dist/src/ai/define_config.js +1 -1
  20. package/dist/src/ai/define_config.js.map +1 -1
  21. package/dist/src/ai/diagnosis_cache.d.ts.map +1 -1
  22. package/dist/src/ai/diagnosis_coordinator.d.ts.map +1 -1
  23. package/dist/src/ai/diagnosis_coordinator.js.map +1 -1
  24. package/dist/src/ai/factory.js.map +1 -1
  25. package/dist/src/ai/index.d.ts +11 -11
  26. package/dist/src/ai/index.d.ts.map +1 -1
  27. package/dist/src/ai/index.js +9 -9
  28. package/dist/src/ai/index.js.map +1 -1
  29. package/dist/src/ai/prompt.js.map +1 -1
  30. package/dist/src/ai/telescope_ai_diagnoser.d.ts.map +1 -1
  31. package/dist/src/ai/telescope_ai_diagnoser.js +1 -1
  32. package/dist/src/ai/telescope_ai_diagnoser.js.map +1 -1
  33. package/dist/src/alerts/alert_channel.d.ts.map +1 -1
  34. package/dist/src/alerts/alert_channel.js.map +1 -1
  35. package/dist/src/alerts/alerter.d.ts.map +1 -1
  36. package/dist/src/alerts/alerter.js.map +1 -1
  37. package/dist/src/alerts/alerter_service.d.ts.map +1 -1
  38. package/dist/src/alerts/alerter_service.js.map +1 -1
  39. package/dist/src/alerts/define_config.js.map +1 -1
  40. package/dist/src/alerts/exception_source.d.ts.map +1 -1
  41. package/dist/src/alerts/exception_source.js.map +1 -1
  42. package/dist/src/alerts/index.d.ts +10 -10
  43. package/dist/src/alerts/index.d.ts.map +1 -1
  44. package/dist/src/alerts/index.js +7 -7
  45. package/dist/src/alerts/index.js.map +1 -1
  46. package/dist/src/alerts/new_exception_tracker.d.ts.map +1 -1
  47. package/dist/src/alerts/new_exception_tracker.js.map +1 -1
  48. package/dist/src/client_errors/index.d.ts +2 -2
  49. package/dist/src/client_errors/index.d.ts.map +1 -1
  50. package/dist/src/client_errors/index.js.map +1 -1
  51. package/dist/src/client_errors/ingestor.d.ts.map +1 -1
  52. package/dist/src/client_errors/rate_limiter.d.ts.map +1 -1
  53. package/dist/src/define_config.d.ts +1 -1
  54. package/dist/src/define_config.d.ts.map +1 -1
  55. package/dist/src/define_config.js.map +1 -1
  56. package/dist/src/diagnostics_watcher.d.ts.map +1 -1
  57. package/dist/src/diagnostics_watcher.js.map +1 -1
  58. package/dist/src/entry.d.ts +16 -16
  59. package/dist/src/entry.d.ts.map +1 -1
  60. package/dist/src/exception_watcher.js.map +1 -1
  61. package/dist/src/extension/registry.d.ts.map +1 -1
  62. package/dist/src/index.d.ts +56 -57
  63. package/dist/src/index.d.ts.map +1 -1
  64. package/dist/src/index.js +39 -40
  65. package/dist/src/index.js.map +1 -1
  66. package/dist/src/mcp/define_config.d.ts +1 -1
  67. package/dist/src/mcp/define_config.d.ts.map +1 -1
  68. package/dist/src/mcp/define_config.js.map +1 -1
  69. package/dist/src/mcp/index.d.ts +3 -3
  70. package/dist/src/mcp/index.d.ts.map +1 -1
  71. package/dist/src/mcp/index.js +2 -2
  72. package/dist/src/mcp/index.js.map +1 -1
  73. package/dist/src/mcp/server.d.ts.map +1 -1
  74. package/dist/src/mcp/server.js.map +1 -1
  75. package/dist/src/metrics/metrics_service.d.ts.map +1 -1
  76. package/dist/src/metrics/metrics_service.js.map +1 -1
  77. package/dist/src/metrics/pulse.d.ts +1 -1
  78. package/dist/src/metrics/pulse.d.ts.map +1 -1
  79. package/dist/src/metrics/pulse.js.map +1 -1
  80. package/dist/src/metrics/stats.d.ts.map +1 -1
  81. package/dist/src/metrics/stats.js.map +1 -1
  82. package/dist/src/metrics/traces.js.map +1 -1
  83. package/dist/src/overload_guard.d.ts.map +1 -1
  84. package/dist/src/overload_guard.js.map +1 -1
  85. package/dist/src/profiling/cpu-profiler.d.ts.map +1 -1
  86. package/dist/src/profiling/cpu-profiler.js.map +1 -1
  87. package/dist/src/profiling/define_config.js.map +1 -1
  88. package/dist/src/profiling/index.d.ts +6 -6
  89. package/dist/src/profiling/index.d.ts.map +1 -1
  90. package/dist/src/profiling/index.js +3 -3
  91. package/dist/src/profiling/index.js.map +1 -1
  92. package/dist/src/profiling/profiler_service.d.ts.map +1 -1
  93. package/dist/src/profiling/profiler_service.js.map +1 -1
  94. package/dist/src/pruner.d.ts.map +1 -1
  95. package/dist/src/pruner.js.map +1 -1
  96. package/dist/src/redaction/redact.js.map +1 -1
  97. package/dist/src/redaction/redacting_store.d.ts.map +1 -1
  98. package/dist/src/redaction/redacting_store.js.map +1 -1
  99. package/dist/src/registry.js.map +1 -1
  100. package/dist/src/request_watcher.js.map +1 -1
  101. package/dist/src/sampling/sampling_store.d.ts.map +1 -1
  102. package/dist/src/sampling/sampling_store.js.map +1 -1
  103. package/dist/src/service.d.ts.map +1 -1
  104. package/dist/src/service.js.map +1 -1
  105. package/dist/src/stores/factory.d.ts.map +1 -1
  106. package/dist/src/stores/factory.js.map +1 -1
  107. package/dist/src/stores/lucid.d.ts.map +1 -1
  108. package/dist/src/stores/lucid.js.map +1 -1
  109. package/dist/src/stores/memory.d.ts.map +1 -1
  110. package/dist/src/stores/memory.js.map +1 -1
  111. package/dist/src/stream/entry_events.d.ts.map +1 -1
  112. package/dist/src/stream/index.d.ts +3 -3
  113. package/dist/src/stream/index.d.ts.map +1 -1
  114. package/dist/src/stream/index.js +1 -1
  115. package/dist/src/stream/index.js.map +1 -1
  116. package/dist/src/stream/stream_handler.d.ts.map +1 -1
  117. package/dist/src/stream/stream_handler.js.map +1 -1
  118. package/dist/src/stream/streaming_store.d.ts.map +1 -1
  119. package/dist/src/stream/streaming_store.js.map +1 -1
  120. package/dist/src/telescope_middleware.d.ts.map +1 -1
  121. package/dist/src/ui/access_denied_page.d.ts +102 -0
  122. package/dist/src/ui/access_denied_page.d.ts.map +1 -0
  123. package/dist/src/ui/access_denied_page.js +266 -0
  124. package/dist/src/ui/access_denied_page.js.map +1 -0
  125. package/dist/src/ui/api.d.ts.map +1 -1
  126. package/dist/src/ui/api.js.map +1 -1
  127. package/dist/src/ui/dashboard_auth.d.ts.map +1 -1
  128. package/dist/src/ui/dashboard_auth.js +1 -1
  129. package/dist/src/ui/dashboard_auth.js.map +1 -1
  130. package/dist/src/ui/define_config.d.ts +27 -0
  131. package/dist/src/ui/define_config.d.ts.map +1 -1
  132. package/dist/src/ui/define_config.js +1 -0
  133. package/dist/src/ui/define_config.js.map +1 -1
  134. package/dist/src/ui/diagnosis_api.d.ts.map +1 -1
  135. package/dist/src/ui/diagnosis_api.js.map +1 -1
  136. package/dist/src/ui/ext_table.d.ts +4 -6
  137. package/dist/src/ui/ext_table.d.ts.map +1 -1
  138. package/dist/src/ui/ext_table.js +4 -6
  139. package/dist/src/ui/ext_table.js.map +1 -1
  140. package/dist/src/ui/extension_api.d.ts.map +1 -1
  141. package/dist/src/ui/extension_api.js.map +1 -1
  142. package/dist/src/ui/guard.d.ts +29 -0
  143. package/dist/src/ui/guard.d.ts.map +1 -1
  144. package/dist/src/ui/guard.js +49 -0
  145. package/dist/src/ui/guard.js.map +1 -1
  146. package/dist/src/ui/http.d.ts.map +1 -1
  147. package/dist/src/ui/http.js.map +1 -1
  148. package/dist/src/ui/index.d.ts +22 -21
  149. package/dist/src/ui/index.d.ts.map +1 -1
  150. package/dist/src/ui/index.js +18 -17
  151. package/dist/src/ui/index.js.map +1 -1
  152. package/dist/src/ui/login_page.d.ts +24 -11
  153. package/dist/src/ui/login_page.d.ts.map +1 -1
  154. package/dist/src/ui/login_page.js +29 -41
  155. package/dist/src/ui/login_page.js.map +1 -1
  156. package/dist/src/ui/profiles_api.d.ts.map +1 -1
  157. package/dist/src/ui/profiles_api.js.map +1 -1
  158. package/dist/src/ui/queue_manager_api.d.ts.map +1 -1
  159. package/dist/src/ui/queue_manager_api.js.map +1 -1
  160. package/dist/src/ui/request_replay.js.map +1 -1
  161. package/dist/src/ui/schedules_api.d.ts.map +1 -1
  162. package/dist/src/ui/schedules_api.js.map +1 -1
  163. package/dist/src/watchers/cache_watcher.d.ts.map +1 -1
  164. package/dist/src/watchers/cache_watcher.js.map +1 -1
  165. package/dist/src/watchers/cron_next_run.js.map +1 -1
  166. package/dist/src/watchers/define_config.js.map +1 -1
  167. package/dist/src/watchers/events_watcher.d.ts.map +1 -1
  168. package/dist/src/watchers/events_watcher.js.map +1 -1
  169. package/dist/src/watchers/http_client_watcher.d.ts.map +1 -1
  170. package/dist/src/watchers/http_client_watcher.js.map +1 -1
  171. package/dist/src/watchers/index.d.ts +23 -23
  172. package/dist/src/watchers/index.d.ts.map +1 -1
  173. package/dist/src/watchers/index.js +18 -18
  174. package/dist/src/watchers/index.js.map +1 -1
  175. package/dist/src/watchers/logs_watcher.d.ts +1 -1
  176. package/dist/src/watchers/logs_watcher.d.ts.map +1 -1
  177. package/dist/src/watchers/logs_watcher.js.map +1 -1
  178. package/dist/src/watchers/lucid_query_watcher.d.ts.map +1 -1
  179. package/dist/src/watchers/lucid_query_watcher.js.map +1 -1
  180. package/dist/src/watchers/mail_watcher.d.ts.map +1 -1
  181. package/dist/src/watchers/profiling_watcher.d.ts.map +1 -1
  182. package/dist/src/watchers/profiling_watcher.js.map +1 -1
  183. package/dist/src/watchers/queue_manager.d.ts.map +1 -1
  184. package/dist/src/watchers/queue_manager.js.map +1 -1
  185. package/dist/src/watchers/queue_watcher.d.ts.map +1 -1
  186. package/dist/src/watchers/queue_watcher.js.map +1 -1
  187. package/dist/src/watchers/redis_watcher.d.ts.map +1 -1
  188. package/dist/src/watchers/schedule_watcher.d.ts.map +1 -1
  189. package/dist/src/watchers/schedule_watcher.js.map +1 -1
  190. package/dist/stubs/main.js.map +1 -1
  191. package/package.json +13 -14
  192. package/dist/src/ui/dashboard.d.ts +0 -8
  193. package/dist/src/ui/dashboard.d.ts.map +0 -1
  194. package/dist/src/ui/dashboard.html +0 -674
  195. package/dist/src/ui/dashboard.js +0 -29
  196. package/dist/src/ui/dashboard.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"diagnosis_api.js","sourceRoot":"","sources":["../../../src/ui/diagnosis_api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAKxC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,YAAY;IAEJ;IACA;IAFnB,YACmB,OAAyB,EACzB,WAAwC;QADxC,YAAO,GAAP,OAAO,CAAkB;QACzB,gBAAW,GAAX,WAAW,CAA6B;IACxD,CAAC;IAEJ,8FAA8F;IAC9F,YAAY;QACV,OAAO,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,KAAK,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAkB,EAAE,EAAU,EAAE,KAAc;QAC3D,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC;YAClE,OAAO,GAAG,CAAC,QAAQ;iBAChB,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CAAC,EAAE,KAAK,EAAE,oDAAoD,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAqC,EAAE;YACvF,KAAK;SACN,CAAC,CAAC;QACH,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,GAAG,CAAC,QAAQ;aAChB,MAAM,CAAC,GAAG,CAAC;aACX,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC;aAC1C,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,uBAAuB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChG,CAAC;CACF;AAED,SAAS,eAAe,CAAC,KAAY;IACnC,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,eAAe,CAAC;AACxF,CAAC"}
1
+ {"version":3,"file":"diagnosis_api.js","sourceRoot":"","sources":["../../../src/ui/diagnosis_api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,YAAY;IAEJ,OAAO;IACP,WAAW;IAF9B,YACmB,OAAyB,EACzB,WAAwC;uBADxC,OAAO;2BACP,WAAW;IAC3B,CAAC;IAEJ,8FAA8F;IAC9F,YAAY;QACV,OAAO,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,KAAK,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAkB,EAAE,EAAU,EAAE,KAAc;QAC3D,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC;YAClE,OAAO,GAAG,CAAC,QAAQ;iBAChB,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CAAC,EAAE,KAAK,EAAE,oDAAoD,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAqC,EAAE;YACvF,KAAK;SACN,CAAC,CAAC;QACH,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,GAAG,CAAC,QAAQ;aAChB,MAAM,CAAC,GAAG,CAAC;aACX,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC;aAC1C,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,uBAAuB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChG,CAAC;CACF;AAED,SAAS,eAAe,CAAC,KAAY;IACnC,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,eAAe,CAAC;AACxF,CAAC"}
@@ -1,10 +1,8 @@
1
1
  /**
2
- * Pure helpers for the paged extension-dashboard table. These are the SOURCE OF
3
- * TRUTH for the pagination math and the deep-link templating that the
4
- * server-rendered `dashboard.html` mirrors in its inline JS. Kept framework-free
5
- * and side-effect-free so the logic is unit-tested directly (dashboard.html's
6
- * inline `<script>` is a static asset that can't import, so it carries a faithful
7
- * mirror of these two functions).
2
+ * Pure helpers for the paged extension-dashboard table: the pagination math and the deep-link
3
+ * templating a dashboard renders a `{ kind: 'table', paged: true }` panel with. Kept framework-free
4
+ * and side-effect-free so the logic is unit-tested directly and any front end (the
5
+ * `@adonis-agora/telescope-ui` console, or one of your own over the JSON API) can share it.
8
6
  */
9
7
  /**
10
8
  * The provider payload for a `{ kind: 'table', paged: true }` panel — the shape
@@ -1 +1 @@
1
- {"version":3,"file":"ext_table.d.ts","sourceRoot":"","sources":["../../../src/ui/ext_table.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,CAcrE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAK/E"}
1
+ {"version":3,"file":"ext_table.d.ts","sourceRoot":"","sources":["../../../src/ui/ext_table.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,CAcrE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAK/E"}
@@ -1,10 +1,8 @@
1
1
  /**
2
- * Pure helpers for the paged extension-dashboard table. These are the SOURCE OF
3
- * TRUTH for the pagination math and the deep-link templating that the
4
- * server-rendered `dashboard.html` mirrors in its inline JS. Kept framework-free
5
- * and side-effect-free so the logic is unit-tested directly (dashboard.html's
6
- * inline `<script>` is a static asset that can't import, so it carries a faithful
7
- * mirror of these two functions).
2
+ * Pure helpers for the paged extension-dashboard table: the pagination math and the deep-link
3
+ * templating a dashboard renders a `{ kind: 'table', paged: true }` panel with. Kept framework-free
4
+ * and side-effect-free so the logic is unit-tested directly and any front end (the
5
+ * `@adonis-agora/telescope-ui` console, or one of your own over the JSON API) can share it.
8
6
  */
9
7
  /**
10
8
  * Normalize a paged provider payload into pager state: clamp `page` to >= 1,
@@ -1 +1 @@
1
- {"version":3,"file":"ext_table.js","sourceRoot":"","sources":["../../../src/ui/ext_table.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA+BH;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAoB;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;IACzD,OAAO;QACL,IAAI;QACJ,KAAK;QACL,KAAK;QACL,UAAU;QACV,OAAO,EAAE,IAAI,GAAG,CAAC;QACjB,OAAO,EAAE,IAAI,GAAG,UAAU;KAC3B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,GAA4B;IACrE,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,GAAW,EAAE,EAAE;QACnD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,kBAAkB,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"ext_table.js","sourceRoot":"","sources":["../../../src/ui/ext_table.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+BH;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAoB;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;IACzD,OAAO;QACL,IAAI;QACJ,KAAK;QACL,KAAK;QACL,UAAU;QACV,OAAO,EAAE,IAAI,GAAG,CAAC;QACjB,OAAO,EAAE,IAAI,GAAG,UAAU;KAC3B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,GAA4B;IACrE,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,GAAW,EAAE,EAAE;QACnD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,kBAAkB,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"extension_api.d.ts","sourceRoot":"","sources":["../../../src/ui/extension_api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C;;;;;GAKG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBADH,QAAQ,EAAE,iBAAiB,EAC3B,GAAG,EAAE,gBAAgB;IAGxC;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO;IAUvE;;;;OAIG;IACG,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAoBrF"}
1
+ {"version":3,"file":"extension_api.d.ts","sourceRoot":"","sources":["../../../src/ui/extension_api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C;;;;;GAKG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAFtB,YACmB,QAAQ,EAAE,iBAAiB,EAC3B,GAAG,EAAE,gBAAgB,EACpC;IAEJ;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAQtE;IAED;;;;OAIG;IACG,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBnF;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"extension_api.js","sourceRoot":"","sources":["../../../src/ui/extension_api.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IAEJ;IACA;IAFnB,YACmB,QAA2B,EAC3B,GAAqB;QADrB,aAAQ,GAAR,QAAQ,CAAmB;QAC3B,QAAG,GAAH,GAAG,CAAkB;IACrC,CAAC;IAEJ;;;;OAIG;IACH,IAAI,CAAC,IAAmB,EAAE,QAAiC,EAAE;QAC3D,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACpC,IAAI,EAAE;gBACJ,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;gBACtC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;gBACtC,GAAG,KAAK;aACT;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,IAAmB,EAAE,GAAW,EAAE,YAAoB;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,QAAQ;iBACjB,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CAAC,EAAE,KAAK,EAAE,0BAA0B,GAAG,IAAI,YAAY,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,0BAA0B,YAAY,GAAG,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,QAAQ;iBACjB,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"extension_api.js","sourceRoot":"","sources":["../../../src/ui/extension_api.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IAEJ,QAAQ;IACR,GAAG;IAFtB,YACmB,QAA2B,EAC3B,GAAqB;wBADrB,QAAQ;mBACR,GAAG;IACnB,CAAC;IAEJ;;;;OAIG;IACH,IAAI,CAAC,IAAmB,EAAE,KAAK,GAA4B,EAAE;QAC3D,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACpC,IAAI,EAAE;gBACJ,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;gBACtC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;gBACtC,GAAG,KAAK;aACT;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,IAAmB,EAAE,GAAW,EAAE,YAAoB;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,QAAQ;iBACjB,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CAAC,EAAE,KAAK,EAAE,0BAA0B,GAAG,IAAI,YAAY,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,0BAA0B,YAAY,GAAG,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,QAAQ;iBACjB,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;CACF"}
@@ -1,3 +1,4 @@
1
+ import { type AccessDeniedOption } from './access_denied_page.js';
1
2
  import type { AuthorizeHook } from './define_config.js';
2
3
  import type { UiHttpContext } from './http.js';
3
4
  /** The outcome of an authorization check. */
@@ -37,4 +38,32 @@ export declare function runGuard(ctx: UiHttpContext, authorize: AuthorizeHook):
37
38
  * separate hook.
38
39
  */
39
40
  export declare function enforceGuard(ctx: UiHttpContext, authorize: AuthorizeHook): Promise<boolean>;
41
+ /** What {@link enforcePageGuard} needs to serve (or delegate) the access-denied page. */
42
+ export interface PageGuardOptions {
43
+ /** The console's mount (`/telescope`) — reported to a custom renderer as `basePath`. */
44
+ basePath: string;
45
+ /** The built-in login page (`<path>/login`), present only when `dashboardAuth` is configured. */
46
+ loginHref?: string;
47
+ /** The host's `telescope_ui.accessDenied` option — tweak the built-in page, or render it. */
48
+ accessDenied?: AccessDeniedOption<UiHttpContext> | null;
49
+ /** The request's CSP nonce, applied to the page's inline `<style>`. */
50
+ nonce?: string;
51
+ /**
52
+ * Send the `WWW-Authenticate: Basic …` challenge on a `401`. Default `true` (what the JSON guard
53
+ * always did). Browsers answer that header with a native username/password prompt, which only
54
+ * makes sense when the built-in `basic` credentials are configured — for a host gating on its own
55
+ * `authorize` hook the prompt is noise over the page, so the SPA provider passes `false` then.
56
+ */
57
+ challenge?: boolean;
58
+ }
59
+ /**
60
+ * {@link enforceGuard} for a PAGE navigation — the `@adonis-agora/telescope-ui` SPA shell and its
61
+ * assets. Same decision ({@link runGuard}), same statuses, same "a redirect the hook wrote wins"
62
+ * rule; what differs is the body: a browser gets the built-in access-denied page (or the host's
63
+ * `accessDenied` customisation of it) instead of the `{ error }` JSON the API answers with. The
64
+ * `WWW-Authenticate` challenge still rides on a `401` unless `challenge: false`, so the built-in
65
+ * `basic` credentials keep prompting natively in a browser — the page is what shows if the prompt
66
+ * is dismissed.
67
+ */
68
+ export declare function enforcePageGuard(ctx: UiHttpContext, authorize: AuthorizeHook, options: PageGuardOptions): Promise<boolean>;
40
69
  //# sourceMappingURL=guard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../../src/ui/guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,6CAA6C;AAC7C,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAejG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAWjG"}
1
+ {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../../src/ui/guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,6CAA6C;AAC7C,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAejG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAWjG;AAED,yFAAyF;AACzF,MAAM,WAAW,gBAAgB;IAC/B,wFAAwF;IACxF,QAAQ,EAAE,MAAM,CAAC;IACjB,iGAAiG;IACjG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,YAAY,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACxD,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,OAAO,CAAC,CAyBlB"}
@@ -1,3 +1,4 @@
1
+ import { resolveAccessDeniedPage, } from './access_denied_page.js';
1
2
  /**
2
3
  * Run the configured {@link AuthorizeHook} against a request and translate the
3
4
  * decision into a {@link GuardResult}. Framework-light: takes the same minimal
@@ -53,4 +54,52 @@ export async function enforceGuard(ctx, authorize) {
53
54
  ctx.response.send({ error: result.message ?? 'Forbidden' });
54
55
  return false;
55
56
  }
57
+ /**
58
+ * {@link enforceGuard} for a PAGE navigation — the `@adonis-agora/telescope-ui` SPA shell and its
59
+ * assets. Same decision ({@link runGuard}), same statuses, same "a redirect the hook wrote wins"
60
+ * rule; what differs is the body: a browser gets the built-in access-denied page (or the host's
61
+ * `accessDenied` customisation of it) instead of the `{ error }` JSON the API answers with. The
62
+ * `WWW-Authenticate` challenge still rides on a `401` unless `challenge: false`, so the built-in
63
+ * `basic` credentials keep prompting natively in a browser — the page is what shows if the prompt
64
+ * is dismissed.
65
+ */
66
+ export async function enforcePageGuard(ctx, authorize, options) {
67
+ const result = await runGuard(ctx, authorize);
68
+ if (result.allowed)
69
+ return true;
70
+ const answered = () => responseAnswered(ctx);
71
+ if (answered())
72
+ return false;
73
+ const status = result.status === 401 ? 401 : 403;
74
+ const info = {
75
+ status,
76
+ reason: status === 401 ? 'unauthenticated' : 'forbidden',
77
+ basePath: options.basePath,
78
+ ...(options.loginHref !== undefined ? { loginHref: options.loginHref } : {}),
79
+ ...(options.nonce !== undefined ? { nonce: options.nonce } : {}),
80
+ };
81
+ const html = await resolveAccessDeniedPage(info, options.accessDenied, ctx, answered);
82
+ if (html === null)
83
+ return false;
84
+ ctx.response.status(status);
85
+ if (status === 401 && options.challenge !== false) {
86
+ ctx.response.header('WWW-Authenticate', 'Basic realm="Telescope", Bearer');
87
+ }
88
+ ctx.response.header('content-type', 'text/html; charset=utf-8');
89
+ ctx.response.header('cache-control', 'no-store, must-revalidate');
90
+ ctx.response.send(html);
91
+ return false;
92
+ }
93
+ /**
94
+ * Whether something already answered this request: a redirect (`location` header — the signal the
95
+ * `authorize` contract has always honoured) or a body already queued. The body check reads
96
+ * AdonisJS's `response.hasLazyBody` (and {@link RecordingResponse}'s `sent`) structurally, so the
97
+ * framework-light context stays framework-light.
98
+ */
99
+ function responseAnswered(ctx) {
100
+ if (ctx.response.getHeader('location'))
101
+ return true;
102
+ const response = ctx.response;
103
+ return response.hasLazyBody === true || response.headersSent === true || response.sent === true;
104
+ }
56
105
  //# sourceMappingURL=guard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../../src/ui/guard.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAkB,EAAE,SAAwB;IACzE,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAEtC,MAAM,mBAAmB,GACvB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC;IAElG,OAAO,mBAAmB;QACxB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE;QACvD,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AAC/D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAkB,EAAE,SAAwB;IAC7E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;IACpC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,iCAAiC,CAAC,CAAC;IAC7E,CAAC;IACD,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../../src/ui/guard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/ui/http.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,oDAAoD;AACpD,MAAM,WAAW,SAAS;IACxB,gEAAgE;IAChE,MAAM,IAAI,MAAM,CAAC;IACjB,wEAAwE;IACxE,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,0EAA0E;IAC1E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED,uDAAuD;AACvD,MAAM,WAAW,UAAU;IACzB,iFAAiF;IACjF,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IACjC,8EAA8E;IAC9E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;IAChD;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,6DAA6D;IAC7D,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;CAC9B;AAED,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IAClD,UAAU,SAAO;IACjB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAC9C,IAAI,EAAE,OAAO,CAAa;IAC1B,IAAI,UAAS;IAEb,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIhC,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;CAK7B;AAKD;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACtB,qEAAqE;IACrE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,sEAAsE;IACtE,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAIpE;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;GAGG;AACH,qBAAa,aAAc,YAAW,OAAO;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAM;IAC/B,MAAM,UAAS;IACf,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IAEvD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI1B,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAIlC,gFAAgF;IAChF,KAAK,IAAI,IAAI;CAKd;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,EAAE,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAChC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACnC,SAAS,CAQX"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/ui/http.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,oDAAoD;AACpD,MAAM,WAAW,SAAS;IACxB,gEAAgE;IAChE,MAAM,IAAI,MAAM,CAAC;IACjB,wEAAwE;IACxE,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,0EAA0E;IAC1E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED,uDAAuD;AACvD,MAAM,WAAW,UAAU;IACzB,iFAAiF;IACjF,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IACjC,8EAA8E;IAC9E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;IAChD;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,6DAA6D;IAC7D,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;CAC9B;AAED,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IAClD,UAAU,SAAO;IACjB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAC9C,IAAI,EAAE,OAAO,CAAa;IAC1B,IAAI,UAAS;IAEb,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGzB;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAGxC;IAED,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/B;IAED,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAI3B;CACF;AAKD;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACtB,qEAAqE;IACrE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,sEAAsE;IACtE,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAIpE;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;GAGG;AACH,qBAAa,aAAc,YAAW,OAAO;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAM;IAC/B,MAAM,UAAS;IACf,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IAEvD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEzB;IAED,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAEjC;IAED,gFAAgF;IAChF,KAAK,IAAI,IAAI,CAIZ;CACF;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,EAAE,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAChC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACnC,SAAS,CAQX"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/ui/http.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAkCH;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAC5B,UAAU,GAAG,GAAG,CAAC;IACR,OAAO,GAA2B,EAAE,CAAC;IAC9C,IAAI,GAAY,SAAS,CAAC;IAC1B,IAAI,GAAG,KAAK,CAAC;IAEb,MAAM,CAAC,IAAY;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,KAAa;QAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,IAAa;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAmBD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,IAAa,EAAE,KAAc;IAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,OAAO,GAAG,MAAM,SAAS,OAAO,MAAM,CAAC;AACzC,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,kBAAkB;IAChC,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IACf,MAAM,GAAa,EAAE,CAAC;IAC/B,MAAM,GAAG,KAAK,CAAC;IACE,aAAa,GAAsB,EAAE,CAAC;IAEvD,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,CAAC,OAAmB;QACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,gFAAgF;IAChF,KAAK;QACH,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;IAChE,CAAC;CACF;AAED,gFAAgF;AAChF,MAAM,UAAU,WAAW,CACzB,MAAc,EACd,KAA8B,EAAE,EAChC,UAAkC,EAAE;IAEpC,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;IACrF,OAAO;QACL,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;QACpB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;QACZ,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/ui/http.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAkCH;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAC5B,UAAU,GAAG,GAAG,CAAC;IACR,OAAO,GAA2B,EAAE,CAAC;IAC9C,IAAI,GAAY,SAAS,CAAC;IAC1B,IAAI,GAAG,KAAK,CAAC;IAEb,MAAM,CAAC,IAAY;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,KAAa;QAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,IAAa;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAmBD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,IAAa,EAAE,KAAc;IAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,OAAO,GAAG,MAAM,SAAS,OAAO,MAAM,CAAC;AACzC,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,kBAAkB;IAChC,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IACf,MAAM,GAAa,EAAE,CAAC;IAC/B,MAAM,GAAG,KAAK,CAAC;IACE,aAAa,GAAsB,EAAE,CAAC;IAEvD,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,CAAC,OAAmB;QACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,gFAAgF;IAChF,KAAK;QACH,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;IAChE,CAAC;CACF;AAED,gFAAgF;AAChF,MAAM,UAAU,WAAW,CACzB,MAAc,EACd,EAAE,GAA4B,EAAE,EAChC,OAAO,GAA2B,EAAE;IAEpC,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;IACrF,OAAO;QACL,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;QACpB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;QACZ,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC"}
@@ -1,28 +1,29 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export declare const VERSION = "0.9.1";
3
- export { defineConfig, resolveConfig, normalizePath, defaultAuthorize } from './define_config.js';
4
- export type { AuthorizeHook, ReplayConfig, ResolvedTelescopeUiConfig, TelescopeUiConfig, UiCredentials, } from './define_config.js';
5
- export { resolveDashboardAuth, performLogin, readSession, sanitizeReturnTo, decideDashboardAuth, SESSION_COOKIE_NAME, } from './auth.js';
6
- export type { DashboardAuthOptions, ResolvedDashboardAuth, LoginHook, LoginOutcome, DashboardAuthDecision, } from './auth.js';
7
- export { signSessionCookie, verifySessionCookie, } from './session_cookie.js';
8
- export type { DashboardSession, DashboardSessionUser, SignOptions, VerifyOptions, } from './session_cookie.js';
9
- export { renderLoginPage } from './login_page.js';
10
- export { fillLinkHref, tablePagination } from './ext_table.js';
2
+ export declare const VERSION = "0.11.0";
3
+ export type { AccessDeniedInfo, AccessDeniedPageOptions, AccessDeniedReason, } from './access_denied_page.js';
4
+ export { CONSOLE as ACCESS_DENIED_CONSOLE, escapeHtml, renderAccessDeniedPage, resolveAccessDeniedPage, } from './access_denied_page.js';
5
+ export type { EntrySummary, RetentionInfo, RetentionOptions, RetentionPruneOptions, RetentionSamplingRate, } from './api.js';
6
+ export { buildQuery, TelescopeApi, toSummary } from './api.js';
7
+ export type { DashboardAuthDecision, DashboardAuthOptions, LoginHook, LoginOutcome, ResolvedDashboardAuth, } from './auth.js';
8
+ export { decideDashboardAuth, performLogin, readSession, resolveDashboardAuth, SESSION_COOKIE_NAME, sanitizeReturnTo, } from './auth.js';
9
+ export { clearSessionCookie, enforceDashboardAuth, readSessionCookie, writeSessionCookie, } from './dashboard_auth.js';
10
+ export type { AccessDeniedOption, AccessDeniedRenderer, AuthorizeHook, ReplayConfig, ResolvedTelescopeUiConfig, TelescopeUiConfig, UiCredentials, } from './define_config.js';
11
+ export { defaultAuthorize, defineConfig, normalizePath, resolveConfig } from './define_config.js';
11
12
  export type { PagedTableData, TablePagination } from './ext_table.js';
12
- export { readSessionCookie, writeSessionCookie, clearSessionCookie, enforceDashboardAuth, } from './dashboard_auth.js';
13
- export { RecordingResponse, RecordingSink, formatSseFrame, formatSseHeartbeat, makeRequest, } from './http.js';
13
+ export { fillLinkHref, tablePagination } from './ext_table.js';
14
+ export type { GuardResult, PageGuardOptions } from './guard.js';
15
+ export { enforceGuard, enforcePageGuard, runGuard } from './guard.js';
14
16
  export type { SseSink, UiHttpContext, UiRequest, UiResponse } from './http.js';
15
- export { enforceGuard, runGuard } from './guard.js';
16
- export type { GuardResult } from './guard.js';
17
- export { TelescopeApi, buildQuery, toSummary } from './api.js';
18
- export type { EntrySummary, RetentionInfo, RetentionOptions, RetentionPruneOptions, RetentionSamplingRate, } from './api.js';
19
- export { ProfilesApi } from './profiles_api.js';
17
+ export { formatSseFrame, formatSseHeartbeat, makeRequest, RecordingResponse, RecordingSink, } from './http.js';
18
+ export { renderLoginPage } from './login_page.js';
20
19
  export type { ArmProfileBody } from './profiles_api.js';
21
- export { QueueManagerApi } from './queue_manager_api.js';
20
+ export { ProfilesApi } from './profiles_api.js';
22
21
  export type { EnqueueBody } from './queue_manager_api.js';
23
- export { SchedulesApi } from './schedules_api.js';
24
- export type { LiveScheduledTask } from './schedules_api.js';
25
- export { replayRequest, REPLAY_BODY_CAP, REPLAY_STRIPPED_HEADERS, REPLAY_TIMEOUT_MS, } from './request_replay.js';
22
+ export { QueueManagerApi } from './queue_manager_api.js';
26
23
  export type { ReplayOptions, ReplayResult, ReplayTransport } from './request_replay.js';
27
- export { renderDashboard } from './dashboard.js';
24
+ export { REPLAY_BODY_CAP, REPLAY_STRIPPED_HEADERS, REPLAY_TIMEOUT_MS, replayRequest, } from './request_replay.js';
25
+ export type { LiveScheduledTask } from './schedules_api.js';
26
+ export { SchedulesApi } from './schedules_api.js';
27
+ export type { DashboardSession, DashboardSessionUser, SignOptions, VerifyOptions, } from './session_cookie.js';
28
+ export { signSessionCookie, verifySessionCookie, } from './session_cookie.js';
28
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAClG,YAAY,EACV,aAAa,EACb,YAAY,EACZ,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,EACT,YAAY,EACZ,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC/D,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC/D,YAAY,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EACL,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGxF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,OAAO,WAAW,CAAC;AAEhC,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,OAAO,IAAI,qBAAqB,EAChC,UAAU,EACV,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC/D,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClG,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/E,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAExF,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC"}
@@ -1,28 +1,29 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export const VERSION = '0.9.1';
3
- // — config —
4
- export { defineConfig, resolveConfig, normalizePath, defaultAuthorize } from './define_config.js';
2
+ export const VERSION = '0.11.0';
3
+ // — the built-in "access denied" page (what a browser sees on a refused page navigation) —
4
+ export { CONSOLE as ACCESS_DENIED_CONSOLE, escapeHtml, renderAccessDeniedPage, resolveAccessDeniedPage, } from './access_denied_page.js';
5
+ // — JSON API —
6
+ export { buildQuery, TelescopeApi, toSummary } from './api.js';
5
7
  // — built-in `dashboardAuth` login screen (optional; opt-in via `config/telescope_ui.ts`) —
6
- export { resolveDashboardAuth, performLogin, readSession, sanitizeReturnTo, decideDashboardAuth, SESSION_COOKIE_NAME, } from './auth.js';
7
- export { signSessionCookie, verifySessionCookie, } from './session_cookie.js';
8
- export { renderLoginPage } from './login_page.js';
9
- // — paged extension-dashboard tables (source of truth for dashboard.html's mirror) —
8
+ export { decideDashboardAuth, performLogin, readSession, resolveDashboardAuth, SESSION_COOKIE_NAME, sanitizeReturnTo, } from './auth.js';
9
+ // — dashboard auth —
10
+ export { clearSessionCookie, enforceDashboardAuth, readSessionCookie, writeSessionCookie, } from './dashboard_auth.js';
11
+ // — config —
12
+ export { defaultAuthorize, defineConfig, normalizePath, resolveConfig } from './define_config.js';
13
+ // — paged extension-dashboard tables —
10
14
  export { fillLinkHref, tablePagination } from './ext_table.js';
11
- export { readSessionCookie, writeSessionCookie, clearSessionCookie, enforceDashboardAuth, } from './dashboard_auth.js';
12
- // — HTTP shapes (framework-light) —
13
- export { RecordingResponse, RecordingSink, formatSseFrame, formatSseHeartbeat, makeRequest, } from './http.js';
14
15
  // — auth guard —
15
- export { enforceGuard, runGuard } from './guard.js';
16
- // — JSON API —
17
- export { TelescopeApi, buildQuery, toSummary } from './api.js';
16
+ export { enforceGuard, enforcePageGuard, runGuard } from './guard.js';
17
+ // — HTTP shapes (framework-light) —
18
+ export { formatSseFrame, formatSseHeartbeat, makeRequest, RecordingResponse, RecordingSink, } from './http.js';
19
+ export { renderLoginPage } from './login_page.js';
18
20
  // — CPU profiling JSON API (optional feature: @adonis-agora/telescope/cpu_profiling) —
19
21
  export { ProfilesApi } from './profiles_api.js';
20
22
  // — live queue manager JSON API (optional peer: @adonisjs/queue) —
21
23
  export { QueueManagerApi } from './queue_manager_api.js';
24
+ // — request replay —
25
+ export { REPLAY_BODY_CAP, REPLAY_STRIPPED_HEADERS, REPLAY_TIMEOUT_MS, replayRequest, } from './request_replay.js';
22
26
  // — live schedules JSON API (registry: `registerSchedule()`) —
23
27
  export { SchedulesApi } from './schedules_api.js';
24
- // — request replay —
25
- export { replayRequest, REPLAY_BODY_CAP, REPLAY_STRIPPED_HEADERS, REPLAY_TIMEOUT_MS, } from './request_replay.js';
26
- // — dashboard —
27
- export { renderDashboard } from './dashboard.js';
28
+ export { signSessionCookie, verifySessionCookie, } from './session_cookie.js';
28
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,aAAa;AACb,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AASlG,4FAA4F;AAC5F,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAQnB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,qFAAqF;AACrF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,oCAAoC;AACpC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,WAAW,GACZ,MAAM,WAAW,CAAC;AAGnB,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGpD,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAS/D,uFAAuF;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,mEAAmE;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,+DAA+D;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,qBAAqB;AACrB,OAAO,EACL,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAG7B,gBAAgB;AAChB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAOhC,2FAA2F;AAC3F,OAAO,EACL,OAAO,IAAI,qBAAqB,EAChC,UAAU,EACV,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAQjC,eAAe;AACf,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAQ/D,4FAA4F;AAC5F,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,qBAAqB;AACrB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAU7B,aAAa;AACb,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAElG,uCAAuC;AACvC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/D,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtE,oCAAoC;AACpC,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,uFAAuF;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,mEAAmE;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,qBAAqB;AACrB,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAE7B,+DAA+D;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC"}
@@ -1,23 +1,36 @@
1
1
  /**
2
2
  * The built-in `dashboardAuth` login page (`GET <basePath>/login`). Deliberately a small,
3
- * dependency-free, hand-authored HTML page — NOT part of the bundled dashboard SPA — so gating the
4
- * dashboard shell doesn't require rebuilding or extending the bundled Vite app.
3
+ * dependency-free, hand-authored HTML page — NOT part of the bundled Vite app — so gating the
4
+ * dashboard shell doesn't require rebuilding or extending the bundled SPA.
5
5
  *
6
- * `returnTo` and any error state are read CLIENT-SIDE from `location.search` (never server-echoed
7
- * into the HTML), so this function's only per-request-ish input is `basePath` — a developer-
8
- * controlled config value, not user input — and the page body is otherwise a static template.
9
- * This sidesteps HTML-escaping entirely: there is no reflected query-param interpolation surface
10
- * to get wrong.
6
+ * It works WITHOUT JavaScript: the markup is a classic `<form method="post">` carrying `returnTo`
7
+ * in a hidden field, and the provider answers a form-encoded `POST` with a redirect (to `returnTo`
8
+ * on success, back here with `?error` on failure). The inline `<script>` is progressive
9
+ * enhancement only — it swaps the full-page round trip for a JSON `fetch` and shows the error in
10
+ * place — and it carries the request's CSP nonce when the provider hands one over, so a host
11
+ * running `@adonisjs/shield`'s `script-src 'self' @nonce` keeps the enhancement instead of a
12
+ * dead form. The `<style>` takes the same nonce.
13
+ *
14
+ * The only per-request values interpolated are `returnTo` (already passed through
15
+ * {@link sanitizeReturnTo}, so it is a root-relative path) and the `error` flag; both go through
16
+ * {@link escapeHtml} (and `JSON.stringify` inside the script) so nothing in the query string can
17
+ * break out of an attribute or the script. `basePath` is developer-controlled config.
11
18
  *
12
19
  * The visual language (dark zinc card, mono type, emerald accent) mirrors the Agora consoles so
13
- * they feel like one family. The submit flow POSTs JSON via `fetch` and follows the JSON
14
- * `redirectTo` it gets back (rather than a classic form POST + server redirect), which is why the
15
- * markup keeps its own `<script>`.
20
+ * they feel like one family.
16
21
  *
17
22
  * The password input has NO `required` attribute and the value is forwarded AS-IS (empty string
18
23
  * when blank): the host's `login` hook — not this page — decides whether a password matters, so an
19
24
  * email-only host (gate on username, ignore password) works with the same page as a host with real
20
25
  * passwords.
21
26
  */
22
- export declare function renderLoginPage(basePath: string): string;
27
+ export interface LoginPageOptions {
28
+ /** The request's CSP nonce, applied to the inline `<style>` and `<script>`. */
29
+ nonce?: string;
30
+ /** Render the "Invalid username or password." notice (the no-JS failure round trip). */
31
+ error?: boolean;
32
+ /** Where to send the operator after a successful sign-in. Sanitized here; default `basePath`. */
33
+ returnTo?: unknown;
34
+ }
35
+ export declare function renderLoginPage(basePath: string, options?: LoginPageOptions): string;
23
36
  //# sourceMappingURL=login_page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login_page.d.ts","sourceRoot":"","sources":["../../../src/ui/login_page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmJxD"}
1
+ {"version":3,"file":"login_page.d.ts","sourceRoot":"","sources":["../../../src/ui/login_page.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iGAAiG;IACjG,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAkBD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CA2IxF"}
@@ -1,27 +1,26 @@
1
+ import { escapeHtml } from './access_denied_page.js';
2
+ import { sanitizeReturnTo } from './auth.js';
1
3
  /**
2
- * The built-in `dashboardAuth` login page (`GET <basePath>/login`). Deliberately a small,
3
- * dependency-free, hand-authored HTML page — NOT part of the bundled dashboard SPA — so gating the
4
- * dashboard shell doesn't require rebuilding or extending the bundled Vite app.
5
- *
6
- * `returnTo` and any error state are read CLIENT-SIDE from `location.search` (never server-echoed
7
- * into the HTML), so this function's only per-request-ish input is `basePath` — a developer-
8
- * controlled config value, not user input — and the page body is otherwise a static template.
9
- * This sidesteps HTML-escaping entirely: there is no reflected query-param interpolation surface
10
- * to get wrong.
11
- *
12
- * The visual language (dark zinc card, mono type, emerald accent) mirrors the Agora consoles so
13
- * they feel like one family. The submit flow POSTs JSON via `fetch` and follows the JSON
14
- * `redirectTo` it gets back (rather than a classic form POST + server redirect), which is why the
15
- * markup keeps its own `<script>`.
16
- *
17
- * The password input has NO `required` attribute and the value is forwarded AS-IS (empty string
18
- * when blank): the host's `login` hook — not this page — decides whether a password matters, so an
19
- * email-only host (gate on username, ignore password) works with the same page as a host with real
20
- * passwords.
4
+ * JSON for embedding INSIDE an inline `<script>`: `JSON.stringify` alone leaves `</script>` (and
5
+ * `<!--`) untouched, and the HTML parser ends the script element on the first `</script>` it sees
6
+ * regardless of JavaScript string boundaries — so a `returnTo` of `/x</script><script>…` would run.
7
+ * Escaping the angle brackets (and `&`, plus the two line terminators JSON allows but JS doesn't)
8
+ * as `\uXXXX` keeps the value byte-identical once parsed and inert to the HTML parser.
21
9
  */
22
- export function renderLoginPage(basePath) {
10
+ function jsonForScript(value) {
11
+ return JSON.stringify(value)
12
+ .replaceAll('<', '\\u003c')
13
+ .replaceAll('>', '\\u003e')
14
+ .replaceAll('&', '\\u0026')
15
+ .replaceAll('\u2028', '\\u2028')
16
+ .replaceAll('\u2029', '\\u2029');
17
+ }
18
+ export function renderLoginPage(basePath, options = {}) {
23
19
  const loginAction = `${basePath}/login`;
24
20
  const defaultReturnTo = basePath === '' ? '/' : basePath;
21
+ const returnTo = sanitizeReturnTo(options.returnTo, defaultReturnTo);
22
+ const nonceAttr = options.nonce !== undefined ? ` nonce="${escapeHtml(options.nonce)}"` : '';
23
+ const errorStyle = options.error ? ' style="display:block"' : '';
25
24
  return `<!doctype html>
26
25
  <html lang="en">
27
26
  <head>
@@ -29,7 +28,7 @@ export function renderLoginPage(basePath) {
29
28
  <meta name="viewport" content="width=device-width, initial-scale=1" />
30
29
  <meta name="robots" content="noindex, nofollow" />
31
30
  <title>Sign in — Telescope</title>
32
- <style>
31
+ <style${nonceAttr}>
33
32
  :root { color-scheme: dark; }
34
33
  * { box-sizing: border-box; }
35
34
  body {
@@ -104,7 +103,8 @@ export function renderLoginPage(basePath) {
104
103
  <body>
105
104
  <div class="card">
106
105
  <p class="brand">Telescope</p>
107
- <form id="login-form" autocomplete="on">
106
+ <form id="login-form" method="post" action="${escapeHtml(loginAction)}" autocomplete="on">
107
+ <input type="hidden" name="returnTo" value="${escapeHtml(returnTo)}" />
108
108
  <label>
109
109
  <span class="field-label">Username</span>
110
110
  <input id="username" name="username" type="text" autocomplete="username" required autofocus />
@@ -113,41 +113,29 @@ export function renderLoginPage(basePath) {
113
113
  <span class="field-label">Password</span>
114
114
  <input id="password" name="password" type="password" autocomplete="current-password" />
115
115
  </label>
116
- <p id="error" role="alert">Invalid username or password.</p>
116
+ <p id="error" role="alert"${errorStyle}>Invalid username or password.</p>
117
117
  <button id="submit" type="submit">Sign in</button>
118
118
  </form>
119
119
  </div>
120
- <script>
120
+ <script${nonceAttr}>
121
121
  (function () {
122
- var LOGIN_ACTION = ${JSON.stringify(loginAction)};
123
- var DEFAULT_RETURN_TO = ${JSON.stringify(defaultReturnTo)};
124
- var params = new URLSearchParams(window.location.search);
122
+ var LOGIN_ACTION = ${jsonForScript(loginAction)};
123
+ var RETURN_TO = ${jsonForScript(returnTo)};
125
124
  var errorBox = document.getElementById('error');
126
- if (params.get('error')) errorBox.style.display = 'block';
127
-
128
- function sameOriginReturnTo(value) {
129
- if (typeof value !== 'string' || value === '') return DEFAULT_RETURN_TO;
130
- if (value.charAt(0) !== '/' || value.charAt(1) === '/' || value.indexOf('://') !== -1) {
131
- return DEFAULT_RETURN_TO;
132
- }
133
- return value;
134
- }
135
-
136
125
  var form = document.getElementById('login-form');
137
126
  var submitButton = document.getElementById('submit');
138
127
  form.addEventListener('submit', function (event) {
139
128
  event.preventDefault();
140
129
  submitButton.disabled = true;
141
130
  errorBox.style.display = 'none';
142
- var returnTo = sameOriginReturnTo(params.get('returnTo'));
143
131
  fetch(LOGIN_ACTION, {
144
132
  method: 'POST',
145
- headers: { 'content-type': 'application/json' },
133
+ headers: { 'content-type': 'application/json', accept: 'application/json' },
146
134
  credentials: 'same-origin',
147
135
  body: JSON.stringify({
148
136
  username: document.getElementById('username').value,
149
137
  password: document.getElementById('password').value,
150
- returnTo: returnTo,
138
+ returnTo: RETURN_TO,
151
139
  }),
152
140
  })
153
141
  .then(function (response) {
@@ -155,7 +143,7 @@ export function renderLoginPage(basePath) {
155
143
  return response.json();
156
144
  })
157
145
  .then(function (data) {
158
- window.location.href = data.redirectTo || DEFAULT_RETURN_TO;
146
+ window.location.href = data.redirectTo || RETURN_TO;
159
147
  })
160
148
  .catch(function () {
161
149
  errorBox.style.display = 'block';
@@ -1 +1 @@
1
- {"version":3,"file":"login_page.js","sourceRoot":"","sources":["../../../src/ui/login_page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,WAAW,GAAG,GAAG,QAAQ,QAAQ,CAAC;IACxC,MAAM,eAAe,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAiGc,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;4BACtB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6CnD,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"login_page.js","sourceRoot":"","sources":["../../../src/ui/login_page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAqC7C;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC;SAC1B,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC;SAC1B,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC;SAC1B,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;SAC/B,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,OAAO,GAAqB,EAAE;IAC9E,MAAM,WAAW,GAAG,GAAG,QAAQ,QAAQ,CAAC;IACxC,MAAM,eAAe,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,OAAO;;;;;;;QAOD,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDA2EiC,UAAU,CAAC,WAAW,CAAC;oDACrB,UAAU,CAAC,QAAQ,CAAC;;;;;;;;;kCAStC,UAAU;;;;SAInC,SAAS;;uBAEK,aAAa,CAAC,WAAW,CAAC;oBAC7B,aAAa,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiCnC,CAAC;AACT,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"profiles_api.d.ts","sourceRoot":"","sources":["../../../src/ui/profiles_api.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,kCAAkC,CAAC;AAExF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,eAAe,GAAG,IAAI;IAGnD,4EAA4E;IAC5E,YAAY,IAAI,OAAO;IAIvB,oFAAoF;IACpF,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO;IAMnC;;;OAGG;IACG,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAahD,sGAAsG;IAChG,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAY5D;;;;;;;OAOG;IACH,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO;CAevD"}
1
+ {"version":3,"file":"profiles_api.d.ts","sourceRoot":"","sources":["../../../src/ui/profiles_api.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,kCAAkC,CAAC;AAExF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAF3B,YACmB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,eAAe,GAAG,IAAI,EAC/C;IAEJ,4EAA4E;IAC5E,YAAY,IAAI,OAAO,CAEtB;IAED,oFAAoF;IACpF,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAIlC;IAED;;;OAGG;IACG,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAW/C;IAED,sGAAsG;IAChG,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAU3D;IAED;;;;;;;OAOG;IACH,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAcrD;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"profiles_api.js","sourceRoot":"","sources":["../../../src/ui/profiles_api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiles_api.js","sourceRoot":"","sources":["../../../src/ui/profiles_api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"queue_manager_api.d.ts","sourceRoot":"","sources":["../../../src/ui/queue_manager_api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,YAAY,EAEb,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY,GAAG,IAAI;IAEzD,oFAAoF;IACpF,YAAY,IAAI,OAAO;IAIvB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAShB,qFAAqF;IAC/E,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAY3E,sEAAsE;IAChE,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAO1E;;;;;;OAMG;IACG,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB5E,iGAAiG;IAC3F,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;CAsBtF"}
1
+ {"version":3,"file":"queue_manager_api.d.ts","sourceRoot":"","sources":["../../../src/ui/queue_manager_api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,YAAY,EAEb,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO;IAApC,YAA6B,OAAO,EAAE,YAAY,GAAG,IAAI,EAAI;IAE7D,oFAAoF;IACpF,YAAY,IAAI,OAAO,CAEtB;IAED;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAShB,qFAAqF;IAC/E,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAU1E;IAED,sEAAsE;IAChE,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKzE;IAED;;;;;;OAMG;IACG,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB3E;IAED,iGAAiG;IAC3F,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAqBpF;CACF"}