@reticlehq/browser 2.0.1 → 2.2.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 (179) hide show
  1. package/NOTICE +5 -0
  2. package/dist/actions/actions-dom.d.ts.map +1 -1
  3. package/dist/actions/actions-dom.js +3 -20
  4. package/dist/actions/actions-dom.js.map +1 -1
  5. package/dist/actions/actions.d.ts +1 -1
  6. package/dist/actions/actions.d.ts.map +1 -1
  7. package/dist/actions/actions.js +37 -19
  8. package/dist/actions/actions.js.map +1 -1
  9. package/dist/commands/commands.d.ts +2 -0
  10. package/dist/commands/commands.d.ts.map +1 -1
  11. package/dist/commands/commands.js +30 -31
  12. package/dist/commands/commands.js.map +1 -1
  13. package/dist/dom/a11y.d.ts +17 -6
  14. package/dist/dom/a11y.d.ts.map +1 -1
  15. package/dist/dom/a11y.js +68 -32
  16. package/dist/dom/a11y.js.map +1 -1
  17. package/dist/dom/auto-anchor.d.ts +10 -10
  18. package/dist/dom/auto-anchor.js +10 -10
  19. package/dist/dom/blind-spots.d.ts +14 -0
  20. package/dist/dom/blind-spots.d.ts.map +1 -0
  21. package/dist/dom/blind-spots.js +30 -0
  22. package/dist/dom/blind-spots.js.map +1 -0
  23. package/dist/dom/chart.d.ts +93 -0
  24. package/dist/dom/chart.d.ts.map +1 -0
  25. package/dist/dom/chart.js +119 -0
  26. package/dist/dom/chart.js.map +1 -0
  27. package/dist/dom/dom-ignore.d.ts +2 -0
  28. package/dist/dom/dom-ignore.d.ts.map +1 -1
  29. package/dist/dom/dom-ignore.js +17 -2
  30. package/dist/dom/dom-ignore.js.map +1 -1
  31. package/dist/dom/occlusion.d.ts +9 -0
  32. package/dist/dom/occlusion.d.ts.map +1 -0
  33. package/dist/dom/occlusion.js +21 -0
  34. package/dist/dom/occlusion.js.map +1 -0
  35. package/dist/dom/query.d.ts +17 -4
  36. package/dist/dom/query.d.ts.map +1 -1
  37. package/dist/dom/query.js +185 -30
  38. package/dist/dom/query.js.map +1 -1
  39. package/dist/dom/refs.d.ts +26 -3
  40. package/dist/dom/refs.d.ts.map +1 -1
  41. package/dist/dom/refs.js +79 -4
  42. package/dist/dom/refs.js.map +1 -1
  43. package/dist/dom/snapshot.d.ts +7 -1
  44. package/dist/dom/snapshot.d.ts.map +1 -1
  45. package/dist/dom/snapshot.js +43 -16
  46. package/dist/dom/snapshot.js.map +1 -1
  47. package/dist/dom/source.d.ts +40 -0
  48. package/dist/dom/source.d.ts.map +1 -0
  49. package/dist/dom/source.js +59 -0
  50. package/dist/dom/source.js.map +1 -0
  51. package/dist/dom/theme.js +2 -2
  52. package/dist/dom/theme.js.map +1 -1
  53. package/dist/index.d.ts +6 -2
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +9 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/observers/animation.d.ts +1 -1
  58. package/dist/observers/animation.d.ts.map +1 -1
  59. package/dist/observers/animation.js +1 -1
  60. package/dist/observers/animation.js.map +1 -1
  61. package/dist/observers/blind-spots.d.ts +19 -0
  62. package/dist/observers/blind-spots.d.ts.map +1 -0
  63. package/dist/observers/blind-spots.js +89 -0
  64. package/dist/observers/blind-spots.js.map +1 -0
  65. package/dist/observers/console.d.ts.map +1 -1
  66. package/dist/observers/console.js +39 -6
  67. package/dist/observers/console.js.map +1 -1
  68. package/dist/observers/dom.d.ts +1 -1
  69. package/dist/observers/dom.d.ts.map +1 -1
  70. package/dist/observers/dom.js +69 -10
  71. package/dist/observers/dom.js.map +1 -1
  72. package/dist/observers/focus.d.ts +10 -0
  73. package/dist/observers/focus.d.ts.map +1 -0
  74. package/dist/observers/focus.js +49 -0
  75. package/dist/observers/focus.js.map +1 -0
  76. package/dist/observers/network-body.d.ts +19 -0
  77. package/dist/observers/network-body.d.ts.map +1 -0
  78. package/dist/observers/network-body.js +143 -0
  79. package/dist/observers/network-body.js.map +1 -0
  80. package/dist/observers/network-redact.d.ts +8 -0
  81. package/dist/observers/network-redact.d.ts.map +1 -0
  82. package/dist/observers/network-redact.js +66 -0
  83. package/dist/observers/network-redact.js.map +1 -0
  84. package/dist/observers/network.d.ts +19 -7
  85. package/dist/observers/network.d.ts.map +1 -1
  86. package/dist/observers/network.js +439 -53
  87. package/dist/observers/network.js.map +1 -1
  88. package/dist/observers/perf.d.ts +13 -0
  89. package/dist/observers/perf.d.ts.map +1 -0
  90. package/dist/observers/perf.js +62 -0
  91. package/dist/observers/perf.js.map +1 -0
  92. package/dist/observers/route.d.ts.map +1 -1
  93. package/dist/observers/route.js +19 -10
  94. package/dist/observers/route.js.map +1 -1
  95. package/dist/observers/scroll.d.ts +1 -1
  96. package/dist/observers/scroll.d.ts.map +1 -1
  97. package/dist/observers/scroll.js +36 -9
  98. package/dist/observers/scroll.js.map +1 -1
  99. package/dist/observers/state.d.ts +20 -0
  100. package/dist/observers/state.d.ts.map +1 -0
  101. package/dist/observers/state.js +87 -0
  102. package/dist/observers/state.js.map +1 -0
  103. package/dist/observers/storage.d.ts +23 -0
  104. package/dist/observers/storage.d.ts.map +1 -0
  105. package/dist/observers/storage.js +177 -0
  106. package/dist/observers/storage.js.map +1 -0
  107. package/dist/observers/types.d.ts +15 -0
  108. package/dist/observers/types.d.ts.map +1 -1
  109. package/dist/observers/types.js +29 -1
  110. package/dist/observers/types.js.map +1 -1
  111. package/dist/patching/capture-method.d.ts +27 -0
  112. package/dist/patching/capture-method.d.ts.map +1 -0
  113. package/dist/patching/capture-method.js +37 -0
  114. package/dist/patching/capture-method.js.map +1 -0
  115. package/dist/presenter/presenter-config.d.ts +3 -3
  116. package/dist/presenter/presenter-config.d.ts.map +1 -1
  117. package/dist/presenter/presenter-config.js +3 -3
  118. package/dist/presenter/presenter-config.js.map +1 -1
  119. package/dist/presenter/presenter-controls.d.ts +1 -1
  120. package/dist/presenter/presenter-controls.d.ts.map +1 -1
  121. package/dist/presenter/presenter-controls.js +3 -3
  122. package/dist/presenter/presenter-controls.js.map +1 -1
  123. package/dist/presenter/presenter-glow.d.ts +1 -1
  124. package/dist/presenter/presenter-glow.js +1 -1
  125. package/dist/presenter/presenter-styles.d.ts +1 -1
  126. package/dist/presenter/presenter-styles.d.ts.map +1 -1
  127. package/dist/presenter/presenter-styles.js +12 -3
  128. package/dist/presenter/presenter-styles.js.map +1 -1
  129. package/dist/presenter/presenter-test-helpers.d.ts +16 -0
  130. package/dist/presenter/presenter-test-helpers.d.ts.map +1 -0
  131. package/dist/presenter/presenter-test-helpers.js +42 -0
  132. package/dist/presenter/presenter-test-helpers.js.map +1 -0
  133. package/dist/presenter/presenter.d.ts +4 -6
  134. package/dist/presenter/presenter.d.ts.map +1 -1
  135. package/dist/presenter/presenter.js +5 -9
  136. package/dist/presenter/presenter.js.map +1 -1
  137. package/dist/recorder/recorder.d.ts +8 -8
  138. package/dist/recorder/recorder.d.ts.map +1 -1
  139. package/dist/recorder/recorder.js +22 -9
  140. package/dist/recorder/recorder.js.map +1 -1
  141. package/dist/registry/capabilities.d.ts +2 -2
  142. package/dist/registry/capabilities.d.ts.map +1 -1
  143. package/dist/registry/capabilities.js +1 -1
  144. package/dist/registry/capabilities.js.map +1 -1
  145. package/dist/registry/domains.d.ts +1 -1
  146. package/dist/registry/domains.js +1 -1
  147. package/dist/registry/emitter.d.ts +2 -2
  148. package/dist/registry/emitter.js +2 -2
  149. package/dist/registry/store-adapters.d.ts +128 -0
  150. package/dist/registry/store-adapters.d.ts.map +1 -0
  151. package/dist/registry/store-adapters.js +135 -0
  152. package/dist/registry/store-adapters.js.map +1 -0
  153. package/dist/registry/stores.d.ts +45 -3
  154. package/dist/registry/stores.d.ts.map +1 -1
  155. package/dist/registry/stores.js +121 -8
  156. package/dist/registry/stores.js.map +1 -1
  157. package/dist/reticle.d.ts +28 -4
  158. package/dist/reticle.d.ts.map +1 -1
  159. package/dist/reticle.js +83 -15
  160. package/dist/reticle.js.map +1 -1
  161. package/dist/review/annotator.d.ts.map +1 -1
  162. package/dist/review/annotator.js +4 -2
  163. package/dist/review/annotator.js.map +1 -1
  164. package/dist/review/mark-anchor.d.ts.map +1 -1
  165. package/dist/review/mark-anchor.js +1 -21
  166. package/dist/review/mark-anchor.js.map +1 -1
  167. package/dist/security/serialization.d.ts +29 -1
  168. package/dist/security/serialization.d.ts.map +1 -1
  169. package/dist/security/serialization.js +172 -20
  170. package/dist/security/serialization.js.map +1 -1
  171. package/dist/timers/clock.d.ts +13 -0
  172. package/dist/timers/clock.d.ts.map +1 -1
  173. package/dist/timers/clock.js +76 -6
  174. package/dist/timers/clock.js.map +1 -1
  175. package/dist/transport/transport.d.ts +1 -1
  176. package/dist/transport/transport.d.ts.map +1 -1
  177. package/dist/transport/transport.js +49 -8
  178. package/dist/transport/transport.js.map +1 -1
  179. package/package.json +7 -3
@@ -1 +1 @@
1
- {"version":3,"file":"annotator.js","sourceRoot":"","sources":["../../src/review/annotator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAElF,sGAAsG;AACtG,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAwB9B;gGACgG;AAChG,MAAM,SAAS,GAAG,mBAAmB,CAAC;AACtC,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAC/C,MAAM,CAAC,GAAG,UAAU,CAAC;AACrB,MAAM,GAAG,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC;AAEjE,MAAM,GAAG,GAAG;EACV,GAAG,CAAC,KAAK,CAAC,iDAAiD,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;;;;;;EAMxE,GAAG,CAAC,KAAK,CAAC;EACV,GAAG,CAAC,KAAK,CAAC;EACV,GAAG,CAAC,KAAK,CAAC;EACV,GAAG,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,KAAK,CAAC;OAChC,WAAW;;OAEX,WAAW,KAAK,GAAG,CAAC,KAAK,CAAC,SAAS,WAAW,KAAK,GAAG,CAAC,KAAK,CAAC,WAAW,WAAW,KAAK,GAAG,CAAC,KAAK,CAAC,SAAS,WAAW,KAAK,GAAG,CAAC,KAAK,CAAC;;EAE1I,GAAG,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;;;EAGjD,GAAG,CAAC,IAAI,CAAC;EACT,GAAG,CAAC,SAAS,CAAC;;;EAGd,GAAG,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;;;EAGlD,GAAG,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;;;;EAIlD,GAAG,CAAC,KAAK,CAAC;;EAEV,GAAG,CAAC,KAAK,CAAC;;;EAGV,GAAG,CAAC,KAAK,CAAC;EACV,GAAG,CAAC,KAAK,CAAC;EACV,GAAG,CAAC,KAAK,CAAC;EACV,GAAG,CAAC,KAAK,CAAC;EACV,GAAG,CAAC,KAAK,CAAC;EACV,GAAG,CAAC,KAAK,CAAC,yDAAyD,CAAC;AAEtE,MAAM,OAAO,SAAS;IACX,KAAK,CAAwB;IAC7B,IAAI,CAAuB;IAC3B,OAAO,CAA0B;IAC1C,KAAK,CAA0B;IAC/B,IAAI,CAA0B;IAC9B,IAAI,CAA0B;IAC9B,wFAAwF;IACxF,GAAG,CAA0B;IAC7B,QAAQ,CAA0B;IAClC,sGAAsG;IACtG,QAAQ,CAAkD;IAC1D,OAAO,GAAG,KAAK,CAAC;IAChB,UAAU,GAAG,CAAC,CAAC;IACf,QAAQ,CAAyC;IACjD,UAAU,CAA4C;IACtD,OAAO,CAAyC;IAEhD,YAAY,IAAmB;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,2DAA2D;IAC3D,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,oEAAoE;IACpE,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE,OAAO;QACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACvC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEjC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,yBAAyB,SAAS;cACzC,SAAS;aACV,SAAS,eAAe,SAAS,0BAA0B,CAAC;QACrE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAc,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC;QACrE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAc,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,CAAC;QACnE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAc,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,SAAS,CAAC;QAC7E,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACzC,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,sFAAsF;QACtF,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAc,EAAQ,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAChE,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAErE,wGAAwG;QACxG,IAAI,CAAC,OAAO,GAAG,CAAC,EAAc,EAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAChE,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAEvF,uFAAuF;QACvF,IAAI,CAAC,UAAU,GAAG,CAAC,EAAiB,EAAQ,EAAE;YAC5C,IAAI,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YACjD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,IAAI,CAAC,aAAa,EAAE,CAAC;;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,CAAC,gBAAgB,CAAC,SAAS,SAAS,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,4EAA4E;IAC5E,MAAM,CAAC,EAAY;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,OAAO;YAAE,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;aACrE,CAAC;YACJ,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,YAAY,CAAC,EAAc;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC;YAAE,OAAO;QACzC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,SAAS,GAAG,CAAC,KAAK,IAAI;YAAE,OAAO,CAAC,wBAAwB;QAC/E,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,eAAe,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,EAAc;QAC1B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACxB,CAAC;IAED,qGAAqG;IACrG,WAAW,CAAC,EAAc;QACxB,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS;YAAE,OAAO;QACnC,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QACzB,MAAM,IAAI,GACR,CAAC,IAAI,CAAC,OAAO;YACb,IAAI,CAAC,IAAI,KAAK,SAAS;YACvB,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC;YAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,SAAS,GAAG,CAAC,KAAK,IAAI,CAAC;QAC5C,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAClF,CAAC;IAED,mGAAmG;IACnG,cAAc;QACZ,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,YAAY,CAAC,EAAW,EAAE,CAAS,EAAE,CAAS;QAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,mDAAmD;QAC1E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,KAAK,GACT,QAAQ,CAAC,MAAM,KAAK,SAAS;YAC3B,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC/E,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrB,GAAG,CAAC,SAAS,GAAG;;;4EAGwD,CAAC;QACzE,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QACzD,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;QACvD,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC;QAClD,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAEhB,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAoB,mBAAmB,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,GAAS,EAAE;YACxB,MAAM,IAAI,GAAG,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,2BAA2B;YAC1D,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC;QACF,QAAQ,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACvC,IAAI,IAAI,KAAK,IAAI;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,mGAAmG;QACnG,QAAQ,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YAC1C,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACvB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzD,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC,CAAC,CAAC;QACH,QAAQ,EAAE,KAAK,EAAE,CAAC;QAClB,GAAG,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAChG,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,CACP,IAAY,EACZ,QAA8C,EAC9C,CAAS,EACT,CAAS;QAET,MAAM,IAAI,GAA4B;YACpC,IAAI;YACJ,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM;SAClF,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QACpE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,2DAA2D;QACjG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;QACtC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO;QACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACnC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAClC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5B,2FAA2F;QAC3F,MAAM,GAAG,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,yEAAyE;QACtF,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,EAAW;IAC7B,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACxD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,GAAG,GAAG,KAAK,IAAI,GAAG,CAAC;IAChE,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACpD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,IAAmB;IAClD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,SAAS,CAAC,KAAK,EAAE,CAAC;IAClB,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"annotator.js","sourceRoot":"","sources":["../../src/review/annotator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mark-anchor.d.ts","sourceRoot":"","sources":["../../src/review/mark-anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AASrD;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAqCD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,OAAO,GAAG,UAAU,CAuBzD"}
1
+ {"version":3,"file":"mark-anchor.d.ts","sourceRoot":"","sources":["../../src/review/mark-anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AASrD;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAgBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,OAAO,GAAG,UAAU,CAuBzD"}
@@ -2,9 +2,9 @@ import { MarkAnchorStrategy } from '@reticlehq/core';
2
2
  import { AnchorStrategy, synthesizeAnchor } from '../dom/auto-anchor.js';
3
3
  import { getAccessibleName, getRole } from '../dom/a11y.js';
4
4
  import { identifyComponent } from '../registry/adapters.js';
5
+ import { sourceFor } from '../dom/source.js';
5
6
  /** Attribute names — defined locally per the recorder/query convention (no shared free string). */
6
7
  const TESTID_ATTR = 'data-testid';
7
- const SOURCE_ATTR = 'data-reticle-source';
8
8
  /** AnchorStrategy and MarkAnchorStrategy share string values; map explicitly (no cross-cast). */
9
9
  const STRATEGY = {
10
10
  [AnchorStrategy.TESTID]: MarkAnchorStrategy.TESTID,
@@ -12,26 +12,6 @@ const STRATEGY = {
12
12
  [AnchorStrategy.ROLE]: MarkAnchorStrategy.ROLE,
13
13
  [AnchorStrategy.POSITION]: MarkAnchorStrategy.POSITION,
14
14
  };
15
- /** Parse a `data-reticle-source="file:line:column"` value into `{ file, line }` (column dropped). */
16
- function parseSourceAttr(value) {
17
- if (value === null)
18
- return undefined;
19
- const m = /^(.*):(\d+):(\d+)$/.exec(value);
20
- if (m === null)
21
- return undefined;
22
- const file = m[1];
23
- const line = Number(m[2]);
24
- if (file === undefined || file.length === 0 || !Number.isFinite(line))
25
- return undefined;
26
- return { file, line };
27
- }
28
- /** Best source for the element: the framework adapter's, else the nearest babel-stamped attribute. */
29
- function sourceFor(el, adapterSource) {
30
- if (adapterSource !== undefined)
31
- return { file: adapterSource.file, line: adapterSource.line };
32
- const host = el.closest(`[${SOURCE_ATTR}]`);
33
- return host !== null ? parseSourceAttr(host.getAttribute(SOURCE_ATTR)) : undefined;
34
- }
35
15
  /** A short, human-legible label for the element: `role "name"`, falling back to role / tag name. */
36
16
  function labelFor(el, role, name) {
37
17
  if (name.length > 0)
@@ -1 +1 @@
1
- {"version":3,"file":"mark-anchor.js","sourceRoot":"","sources":["../../src/review/mark-anchor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mark-anchor.js","sourceRoot":"","sources":["../../src/review/mark-anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAoB,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,mGAAmG;AACnG,MAAM,WAAW,GAAG,aAAa,CAAC;AAelC,iGAAiG;AACjG,MAAM,QAAQ,GAA+C;IAC3D,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,MAAM;IAClD,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,SAAS;IACxD,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,IAAI;IAC9C,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,QAAQ;CACvD,CAAC;AAEF,oGAAoG;AACpG,SAAS,QAAQ,CAAC,EAAW,EAAE,IAAY,EAAE,IAAY;IACvD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;IAChF,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAW;IAC3C,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;IACzD,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAEnC,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,IAAI,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAChD,IAAI,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACzD,IAAI,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAChD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IACvC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAEvC,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAe;QACtB,MAAM,EAAE,WAAW,CAAC,KAAK;QACzB,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;QACxC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC;KAChC,CAAC;IACF,IAAI,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9C,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,6 +1,34 @@
1
- export declare function isSensitiveKey(key: string): boolean;
1
+ import { isSensitiveKey, scrubKnownSecrets } from '@reticlehq/core';
2
+ /**
3
+ * What the transport caps removed from a value, if anything.
4
+ *
5
+ * Truncation used to be entirely silent: a 1,000-entity store came back as ~142 entities with no
6
+ * marker and no count, and a caller comparing it against expected data would conclude the app had
7
+ * lost the rest. A partial answer that cannot be distinguished from a complete one is the precise
8
+ * shape of a false green — the failure this project exists to prevent — so the caps now report.
9
+ */
10
+ export interface TruncationReport {
11
+ /** Whole collection items not included, either past the item cap or past the node budget. */
12
+ droppedItems: number;
13
+ /** Values replaced by the `[TRUNCATED]` placeholder because a cap was hit inside them. */
14
+ truncatedValues: number;
15
+ /** Human-and-agent readable summary. Present so a consumer never has to compose one. */
16
+ note: string;
17
+ }
2
18
  /** Convert arbitrary app state into a bounded, redacted JSON-compatible value. */
3
19
  export declare function sanitizeForTransport(value: unknown): unknown;
20
+ /**
21
+ * As `sanitizeForTransport`, but also reports what the caps removed.
22
+ *
23
+ * Returned as a separate field rather than embedded in the value: the value has to keep the exact
24
+ * shape the consumer's schema declares, so a marker spliced inside it would break validation on the
25
+ * very payloads that are already under pressure.
26
+ */
27
+ export declare function sanitizeWithReport(value: unknown): {
28
+ value: unknown;
29
+ truncation?: TruncationReport;
30
+ };
4
31
  /** Serialize without allowing cycles, BigInt, getters, or secrets to break the transport. */
5
32
  export declare function safeStringify(value: unknown): string;
33
+ export { isSensitiveKey, scrubKnownSecrets };
6
34
  //# sourceMappingURL=serialization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../src/security/serialization.ts"],"names":[],"mappings":"AAgBA,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAmFD,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAW5D;AAED,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMpD"}
1
+ {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../src/security/serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,cAAc,EACd,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAwNzB;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6FAA6F;IAC7F,YAAY,EAAE,MAAM,CAAC;IACrB,0FAA0F;IAC1F,eAAe,EAAE,MAAM,CAAC;IACxB,wFAAwF;IACxF,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG;IAClD,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B,CAsBA;AAED,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMpD;AAID,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,24 +1,22 @@
1
- import { REDACTED_VALUE, TRANSPORT_LIMITS } from '@reticlehq/core';
1
+ import { REDACTED_VALUE, TRANSPORT_LIMITS, isSensitiveKey, scrubKnownSecrets, } from '@reticlehq/core';
2
2
  const TRUNCATED_VALUE = '[TRUNCATED]';
3
3
  const UNSERIALIZABLE_VALUE = '[UNSERIALIZABLE]';
4
4
  const OMIT_VALUE = Symbol('omit');
5
5
  const MAX_KEY_LENGTH = 256;
6
- const MAX_TOTAL_CHARACTERS = Math.floor(TRANSPORT_LIMITS.MAX_MESSAGE_BYTES / 8);
6
+ // UTF-8 encodes at most ~3 bytes per JS (UTF-16) code unit, so /4 is a provably-safe bound that never
7
+ // exceeds the byte budget — /8 was ~1/8 of the real 1MiB wire budget and truncated legitimate state.
8
+ const MAX_TOTAL_CHARACTERS = Math.floor(TRANSPORT_LIMITS.MAX_MESSAGE_BYTES / 4);
7
9
  const MAX_TOTAL_NODES = TRANSPORT_LIMITS.MAX_COLLECTION_ITEMS * 5;
8
- // `token` must match auth CREDENTIALS, not compound design fields. Bare/separated `token(s)` and
9
- // auth-prefixed tokens (accessToken, auth_token, sessionToken, …) are redacted; `colorToken`,
10
- // `backgroundToken`, `tokenCount`, `designToken` are NOT — they were false-positives that redacted
11
- // legitimate reticle_inspect/reticle_state output.
12
- const SENSITIVE_KEY = /password|passwd|passcode|secret|(?:(?:access|refresh|auth|bearer|api|id|session|csrf|client)[-_]?tokens?|(?:^|[-_])tokens?(?=$|[-_]))|authorization|api[-_]?key|access[-_]?key|private[-_]?key|client[-_]?secret|credit[-_]?card|card[-_]?number|cvv|cvc|ssn/i;
13
- export function isSensitiveKey(key) {
14
- return SENSITIVE_KEY.test(key);
15
- }
16
10
  function boundedString(value, state, max) {
17
11
  const allowed = Math.max(0, Math.min(max, state.remainingCharacters));
18
12
  if (value.length <= allowed) {
19
13
  state.remainingCharacters -= value.length;
20
14
  return value;
21
15
  }
16
+ // Count the cut. A silently shortened string is the same false green the collection caps were made
17
+ // to report: a caller comparing a 500k-char value against expected data sees 65k and concludes the
18
+ // app dropped the rest, with no marker saying WE did. The report interface exists for exactly this.
19
+ state.truncatedValues += 1;
22
20
  const truncated = allowed <= TRUNCATED_VALUE.length
23
21
  ? TRUNCATED_VALUE.slice(0, allowed)
24
22
  : `${value.slice(0, allowed - TRUNCATED_VALUE.length)}${TRUNCATED_VALUE}`;
@@ -29,6 +27,7 @@ function sanitize(value, state, depth, key) {
29
27
  if (key !== undefined && isSensitiveKey(key))
30
28
  return REDACTED_VALUE;
31
29
  if (depth > TRANSPORT_LIMITS.MAX_SERIALIZE_DEPTH || state.nodes >= MAX_TOTAL_NODES) {
30
+ state.truncatedValues += 1;
32
31
  return TRUNCATED_VALUE;
33
32
  }
34
33
  state.nodes += 1;
@@ -46,8 +45,67 @@ function sanitize(value, state, depth, key) {
46
45
  if (typeof value === 'undefined' || typeof value === 'function' || typeof value === 'symbol') {
47
46
  return OMIT_VALUE;
48
47
  }
48
+ // An invalid Date (`new Date(NaN)` / `new Date(undefined)`, easy to land in app state) throws
49
+ // RangeError on toISOString — and only safeStringify catches it, so a direct sanitize caller
50
+ // (readStoresWithTruncation, the state observer) crashed the WHOLE state read over one bad Date.
51
+ // Degrade to null, the same way a non-finite number does two branches up.
49
52
  if (value instanceof Date)
50
- return value.toISOString();
53
+ return Number.isNaN(value.getTime()) ? null : value.toISOString();
54
+ // Map and Set are common enough in app state (a normalized store keyed by id, a set of selected
55
+ // ids) that serializing them to `{}` — which is what the plain-object branch below does, since they
56
+ // have no enumerable own keys — is a false green: an agent reads empty and concludes the state is
57
+ // empty, when really it was unrepresentable. Convert to a readable shape, bounded by the same caps.
58
+ if (value instanceof Map) {
59
+ const out = Object.create(null);
60
+ let n = 0;
61
+ for (const [k, v] of value) {
62
+ if (state.nodes >= MAX_TOTAL_NODES || n >= TRANSPORT_LIMITS.MAX_COLLECTION_ITEMS) {
63
+ // Budget spent — STOP. `continue` iterated a million-entry Map to the end just to count drops
64
+ // one at a time; size-n records the remainder in one shot (like the typed-array branch).
65
+ state.droppedItems += value.size - n;
66
+ break;
67
+ }
68
+ const sk = boundedString(typeof k === 'string' ? k : String(k), state, MAX_KEY_LENGTH);
69
+ const sv = sanitize(v, state, depth + 1, sk);
70
+ if (sv !== OMIT_VALUE)
71
+ out[sk] = sv;
72
+ n += 1;
73
+ }
74
+ return out;
75
+ }
76
+ if (value instanceof Set) {
77
+ const out = [];
78
+ let n = 0;
79
+ for (const item of value) {
80
+ if (state.nodes >= MAX_TOTAL_NODES || n >= TRANSPORT_LIMITS.MAX_COLLECTION_ITEMS) {
81
+ state.droppedItems += value.size - n; // stop; record the remainder at once, don't walk the rest
82
+ break;
83
+ }
84
+ const sv = sanitize(item, state, depth + 1);
85
+ out.push(sv === OMIT_VALUE ? null : sv);
86
+ n += 1;
87
+ }
88
+ return out;
89
+ }
90
+ // A typed array (Uint8Array, Float32Array, …) is array-like DATA, not a plain object. The
91
+ // plain-object branch below turned it into index-keyed keys ({"0":1,"1":2,…}) — a shape lie: an
92
+ // agent reading a tensor/binary field saw an object where an array lives, and a big one blew the key
93
+ // cap silently. Emit its numbers as a bounded array like a Set. DataView is opaque bytes — leave it.
94
+ if (ArrayBuffer.isView(value) && !(value instanceof DataView)) {
95
+ const len = value.length;
96
+ const out = [];
97
+ let n = 0;
98
+ for (const item of value) {
99
+ if (state.nodes >= MAX_TOTAL_NODES || n >= TRANSPORT_LIMITS.MAX_COLLECTION_ITEMS) {
100
+ state.droppedItems += len - n;
101
+ break;
102
+ }
103
+ out.push(item);
104
+ state.nodes += 1;
105
+ n += 1;
106
+ }
107
+ return out;
108
+ }
51
109
  if (value instanceof Error) {
52
110
  return {
53
111
  name: boundedString(value.name, state, 256),
@@ -59,16 +117,79 @@ function sanitize(value, state, depth, key) {
59
117
  state.seen.add(value);
60
118
  try {
61
119
  if (Array.isArray(value)) {
62
- return value.slice(0, TRANSPORT_LIMITS.MAX_COLLECTION_ITEMS).map((item) => {
120
+ // Truncate by dropping whole ITEMS, never by corrupting them.
121
+ //
122
+ // The node budget used to run out mid-collection, so later items kept their shape while
123
+ // individual fields became the string "[TRUNCATED]" — an array field turned into a string, a
124
+ // boolean into a string. Consumers declare output schemas over these payloads, so that was not
125
+ // a degraded answer: validation rejected the whole message and the caller received NOTHING. On
126
+ // a page with thousands of matches that is a total loss of the query tool, in exactly the
127
+ // conditions where it matters most.
128
+ //
129
+ // Stopping BEFORE an item that will not fit keeps every survivor whole and type-correct. The
130
+ // collection's true size travels separately as a scalar (serialized first), so "how many" stays
131
+ // exact while the sample shrinks.
132
+ const out = [];
133
+ const considered = value.slice(0, TRANSPORT_LIMITS.MAX_COLLECTION_ITEMS);
134
+ // Items beyond the collection cap are dropped before the loop even sees them; count them here
135
+ // so the report covers BOTH reasons a caller is holding a short list.
136
+ state.droppedItems += Math.max(0, value.length - considered.length);
137
+ for (const item of considered) {
138
+ if (state.nodes >= MAX_TOTAL_NODES) {
139
+ state.droppedItems += 1;
140
+ continue;
141
+ }
142
+ // Checking only BEFORE the item is not enough: one that starts under the budget can cross it
143
+ // partway through and come back with its tail replaced by placeholders. Serialize, then keep
144
+ // it only if it fitted — otherwise discard it and stop, so what ships is always whole.
63
145
  const sanitized = sanitize(item, state, depth + 1);
64
- return sanitized === OMIT_VALUE ? null : sanitized;
65
- });
146
+ // `>=`, not `>`: sanitize stops AT the ceiling rather than passing it, so the budget never
147
+ // reads as exceeded. Reaching it during this item means some field inside was replaced by a
148
+ // placeholder, which makes the item schema-invalid — drop it and stop.
149
+ if (state.nodes >= MAX_TOTAL_NODES) {
150
+ state.droppedItems += 1;
151
+ continue;
152
+ }
153
+ out.push(sanitized === OMIT_VALUE ? null : sanitized);
154
+ }
155
+ return out;
66
156
  }
67
157
  const out = Object.create(null);
68
- for (const rawKey of Object.keys(value).slice(0, TRANSPORT_LIMITS.MAX_OBJECT_KEYS)) {
69
- const safeKey = boundedString(rawKey, state, MAX_KEY_LENGTH);
158
+ // Scalars first, collections second. The node budget is spent in iteration order, so a large
159
+ // array sitting earlier in the object would consume the whole budget and turn the scalars after
160
+ // it into "[TRUNCATED]". Those scalars are the summary fields — a match `count`, a `total`, a
161
+ // status — and a summary that degrades to a placeholder while its own sample survives is the
162
+ // worst trade available: the caller keeps a partial list and loses the number that says the list
163
+ // is partial. Ordering by cost makes that impossible regardless of how a producer writes its
164
+ // object literal, so no caller has to know this rule to stay correct.
165
+ const allKeys = Object.keys(value);
166
+ const keys = allKeys.slice(0, TRANSPORT_LIMITS.MAX_OBJECT_KEYS);
167
+ // Keys past the cap are dropped — count them, like the array/Map/Set paths do, so a 5,000-key
168
+ // store reported as 200 keys carries a droppedItems marker instead of reading as complete.
169
+ state.droppedItems += Math.max(0, allKeys.length - keys.length);
170
+ // Read each key's value ONCE, inside the guard. A property getter can throw — MobX strict mode,
171
+ // a Vue reactive trap read outside a reactive context, any hostile Proxy — and that throw must
172
+ // cost only its own key, not the whole object read. The earlier code dereferenced the getter in
173
+ // an unguarded `isScalar` (and again in the sanitize call: two invocations, doubling side
174
+ // effects), so one bad property lost the entire STATE_READ — the exact silent-loss shape the Date
175
+ // guard above was written to prevent. Snapshot first, then partition scalars-before-collections.
176
+ const read = keys.map((key) => {
70
177
  try {
71
- const sanitized = sanitize(value[rawKey], state, depth + 1, rawKey);
178
+ const v = value[key];
179
+ return { key, value: v, scalar: v === null || typeof v !== 'object', ok: true };
180
+ }
181
+ catch {
182
+ return { key, value: undefined, scalar: true, ok: false };
183
+ }
184
+ });
185
+ for (const entry of [...read.filter((e) => e.scalar), ...read.filter((e) => !e.scalar)]) {
186
+ const safeKey = boundedString(entry.key, state, MAX_KEY_LENGTH);
187
+ if (!entry.ok) {
188
+ out[safeKey] = UNSERIALIZABLE_VALUE;
189
+ continue;
190
+ }
191
+ try {
192
+ const sanitized = sanitize(entry.value, state, depth + 1, entry.key);
72
193
  if (sanitized !== OMIT_VALUE)
73
194
  out[safeKey] = sanitized;
74
195
  }
@@ -84,12 +205,40 @@ function sanitize(value, state, depth, key) {
84
205
  }
85
206
  /** Convert arbitrary app state into a bounded, redacted JSON-compatible value. */
86
207
  export function sanitizeForTransport(value) {
87
- const sanitized = sanitize(value, {
208
+ return sanitizeWithReport(value).value;
209
+ }
210
+ /**
211
+ * As `sanitizeForTransport`, but also reports what the caps removed.
212
+ *
213
+ * Returned as a separate field rather than embedded in the value: the value has to keep the exact
214
+ * shape the consumer's schema declares, so a marker spliced inside it would break validation on the
215
+ * very payloads that are already under pressure.
216
+ */
217
+ export function sanitizeWithReport(value) {
218
+ const state = {
88
219
  seen: new WeakSet(),
89
220
  remainingCharacters: MAX_TOTAL_CHARACTERS,
90
221
  nodes: 0,
91
- }, 0);
92
- return sanitized === OMIT_VALUE ? null : sanitized;
222
+ droppedItems: 0,
223
+ truncatedValues: 0,
224
+ };
225
+ const sanitized = sanitize(value, state, 0);
226
+ const out = sanitized === OMIT_VALUE ? null : sanitized;
227
+ if (state.droppedItems === 0 && state.truncatedValues === 0)
228
+ return { value: out };
229
+ const parts = [];
230
+ if (state.droppedItems > 0)
231
+ parts.push(`${state.droppedItems} item(s) dropped`);
232
+ if (state.truncatedValues > 0)
233
+ parts.push(`${state.truncatedValues} value(s) truncated`);
234
+ return {
235
+ value: out,
236
+ truncation: {
237
+ droppedItems: state.droppedItems,
238
+ truncatedValues: state.truncatedValues,
239
+ note: `partial — ${parts.join(', ')}; this is NOT the whole value. Scope the read with \`path\`/\`depth\` to see the rest.`,
240
+ },
241
+ };
93
242
  }
94
243
  /** Serialize without allowing cycles, BigInt, getters, or secrets to break the transport. */
95
244
  export function safeStringify(value) {
@@ -100,4 +249,7 @@ export function safeStringify(value) {
100
249
  return JSON.stringify(UNSERIALIZABLE_VALUE);
101
250
  }
102
251
  }
252
+ // Re-exported: these moved to @reticlehq/core (they are wire rules, not DOM rules).
253
+ // Kept on this module's surface so every existing importer inside the SDK is unaffected.
254
+ export { isSensitiveKey, scrubKnownSecrets };
103
255
  //# sourceMappingURL=serialization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../src/security/serialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../src/security/serialization.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,18 @@ export declare function isClockFrozen(): boolean;
2
2
  export declare function freezeClock(): void;
3
3
  /** Run all timers due within the next `ms` of virtual time, in order. */
4
4
  export declare function advanceClock(ms: number): void;
5
+ /**
6
+ * Restore the real timers AND hand back everything the app queued while frozen.
7
+ *
8
+ * The queue used to be discarded (`tasks = []`). Restoring the native functions is only half the job:
9
+ * the callbacks the app scheduled during the freeze live in the virtual queue, and dropping them leaves
10
+ * the app quietly broken in a new way — a toast that never dismisses, a retry that never fires, a
11
+ * session-expiry check that never runs. `Date.now()` and future timers look healthy, so nothing points
12
+ * at the cause. That matters most on the path this is called from: an agent freezes the clock, the
13
+ * bridge dies, and the developer is left with an app that was never un-frozen deliberately.
14
+ *
15
+ * Pending work is re-scheduled onto REAL timers with its remaining virtual delay (a 5s toast frozen 2s
16
+ * in still has ~3s to go), and the ids the app is holding keep working — see the translation note.
17
+ */
5
18
  export declare function resetClock(): void;
6
19
  //# sourceMappingURL=clock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../../src/timers/clock.ts"],"names":[],"mappings":"AA2BA,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,wBAAgB,WAAW,IAAI,IAAI,CAgClC;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAkB7C;AAED,wBAAgB,UAAU,IAAI,IAAI,CAWjC"}
1
+ {"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../../src/timers/clock.ts"],"names":[],"mappings":"AA2BA,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,wBAAgB,WAAW,IAAI,IAAI,CAgClC;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAqB7C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAkDjC"}
@@ -59,22 +59,92 @@ export function advanceClock(ms) {
59
59
  virtualNow = next.time;
60
60
  next.cb();
61
61
  if (next.interval !== undefined) {
62
- tasks.push({ ...next, id: seq++, time: virtualNow + next.interval });
62
+ // Reschedule under the SAME id — a real setInterval keeps one id for its whole life. Minting a
63
+ // fresh id here (an earlier `id: seq++`) meant the app still held the original id, so its own
64
+ // clearInterval(id) after the first tick matched nothing and the interval fired forever.
65
+ tasks.push({ ...next, time: virtualNow + next.interval });
63
66
  }
64
67
  }
65
68
  virtualNow = target;
66
69
  }
70
+ /**
71
+ * Restore the real timers AND hand back everything the app queued while frozen.
72
+ *
73
+ * The queue used to be discarded (`tasks = []`). Restoring the native functions is only half the job:
74
+ * the callbacks the app scheduled during the freeze live in the virtual queue, and dropping them leaves
75
+ * the app quietly broken in a new way — a toast that never dismisses, a retry that never fires, a
76
+ * session-expiry check that never runs. `Date.now()` and future timers look healthy, so nothing points
77
+ * at the cause. That matters most on the path this is called from: an agent freezes the clock, the
78
+ * bridge dies, and the developer is left with an app that was never un-frozen deliberately.
79
+ *
80
+ * Pending work is re-scheduled onto REAL timers with its remaining virtual delay (a 5s toast frozen 2s
81
+ * in still has ~3s to go), and the ids the app is holding keep working — see the translation note.
82
+ */
67
83
  export function resetClock() {
68
84
  if (!installed || originals === null)
69
85
  return;
70
- window.setTimeout = originals.setTimeout;
71
- window.clearTimeout = originals.clearTimeout;
72
- window.setInterval = originals.setInterval;
73
- window.clearInterval = originals.clearInterval;
74
- Date.now = originals.dateNow;
86
+ const natives = originals;
87
+ const pending = tasks;
88
+ window.setTimeout = natives.setTimeout;
89
+ window.clearTimeout = natives.clearTimeout;
90
+ window.setInterval = natives.setInterval;
91
+ window.clearInterval = natives.clearInterval;
92
+ Date.now = natives.dateNow;
93
+ const resumeFrom = virtualNow;
75
94
  originals = null;
76
95
  tasks = [];
77
96
  installed = false;
78
97
  virtualNow = 0;
98
+ if (pending.length === 0)
99
+ return;
100
+ // Re-arm the app's pending work onto REAL timers, translating ids as we go.
101
+ //
102
+ // The app is still holding the VIRTUAL id it was handed while frozen; a native re-arm returns a
103
+ // different one. Without translation the app's own `clearTimeout(id)` would fail to cancel the
104
+ // re-armed callback AND would cancel whichever unrelated native timer happens to hold that id — both
105
+ // id spaces start at 1, so the collision is likely, not theoretical. An earlier version dropped
106
+ // intervals to dodge this and re-armed timeouts anyway, which has the identical hazard: a component
107
+ // that does `const t = setTimeout(hide, 5000); return () => clearTimeout(t)` cannot cancel `hide`,
108
+ // so it fires on an unmounted component.
109
+ //
110
+ // So keep a translation map and a clear-shim for exactly as long as re-armed work is outstanding.
111
+ // Nothing is dropped, and the app's handles keep working.
112
+ const reArmed = new Map();
113
+ const done = (virtualId) => {
114
+ reArmed.delete(virtualId);
115
+ if (reArmed.size === 0)
116
+ restoreRawClears(natives);
117
+ };
118
+ for (const task of pending) {
119
+ if (task.interval !== undefined) {
120
+ reArmed.set(task.id, natives.setInterval(task.cb, task.interval));
121
+ }
122
+ else {
123
+ reArmed.set(task.id, natives.setTimeout(() => {
124
+ done(task.id);
125
+ task.cb();
126
+ }, Math.max(0, task.time - resumeFrom)));
127
+ }
128
+ }
129
+ installTranslatingClears(reArmed, natives, done);
130
+ }
131
+ /** Route a clear() for a re-armed virtual id to its real native id; everything else passes through. */
132
+ function installTranslatingClears(reArmed, natives, done) {
133
+ const translate = (rawClear) => ((id) => {
134
+ const nativeId = reArmed.get(id);
135
+ if (nativeId === undefined) {
136
+ rawClear(id);
137
+ return;
138
+ }
139
+ rawClear(nativeId);
140
+ done(id);
141
+ });
142
+ window.clearTimeout = translate(natives.clearTimeout);
143
+ window.clearInterval = translate(natives.clearInterval);
144
+ }
145
+ /** Drop the shim once no re-armed work is outstanding — it costs nothing to remove and one hop to keep. */
146
+ function restoreRawClears(natives) {
147
+ window.clearTimeout = natives.clearTimeout;
148
+ window.clearInterval = natives.clearInterval;
79
149
  }
80
150
  //# sourceMappingURL=clock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clock.js","sourceRoot":"","sources":["../../src/timers/clock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clock.js","sourceRoot":"","sources":["../../src/timers/clock.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ interface TransportDeps {
14
14
  onConnected?: () => void;
15
15
  /**
16
16
  * Liveness fallback: fired once when the bridge has been unreachable for SESSION_LIFECYCLE
17
- * .BRIDGE_LOST_MS — i.e. the server/agent process is gone, so no server-pushed end can arrive and
17
+ *.BRIDGE_LOST_MS — i.e. the server/agent process is gone, so no server-pushed end can arrive and
18
18
  * the SDK must end the session itself instead of showing a forever-"running" HUD.
19
19
  */
20
20
  onConnectionLost?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/transport/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAIzB,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,YAAY,CAAC;IAC1B,aAAa,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACpE,oGAAoG;IACpG,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACpE;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;CACjD;AAiBD,4FAA4F;AAC5F,qBAAa,SAAS;;gBAoBR,IAAI,EAAE,aAAa;IAK/B,OAAO,IAAI,IAAI;IAqHf,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAepC,KAAK,IAAI,IAAI;CAOd"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/transport/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAIzB,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,YAAY,CAAC;IAC1B,aAAa,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACpE,oGAAoG;IACpG,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACpE;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;CACjD;AAyBD,4FAA4F;AAC5F,qBAAa,SAAS;;gBAuBR,IAAI,EAAE,aAAa;IAK/B,OAAO,IAAI,IAAI;IA8If,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAoBpC,KAAK,IAAI,IAAI;CAOd"}