@siteping/widget 0.11.1 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +5 -5
  2. package/dist/chunk-ISSCC4XP.js +9 -0
  3. package/dist/chunk-ISSCC4XP.js.map +1 -0
  4. package/dist/chunk-QDJDQQ6E.cjs +9 -0
  5. package/dist/chunk-QDJDQQ6E.cjs.map +1 -0
  6. package/dist/de-GCYQ3JCH.cjs +2 -0
  7. package/dist/de-GCYQ3JCH.cjs.map +1 -0
  8. package/dist/de-U3V6TPCZ.js +2 -0
  9. package/dist/de-U3V6TPCZ.js.map +1 -0
  10. package/dist/deep-link.d.cts +10 -0
  11. package/dist/deep-link.d.ts +10 -0
  12. package/dist/errors.d.cts +46 -16
  13. package/dist/errors.d.ts +46 -16
  14. package/dist/es-435K3LIV.cjs +2 -0
  15. package/dist/es-435K3LIV.cjs.map +1 -0
  16. package/dist/es-CSZUS23Z.js +2 -0
  17. package/dist/es-CSZUS23Z.js.map +1 -0
  18. package/dist/fr-DVOFE3WF.js +2 -0
  19. package/dist/fr-DVOFE3WF.js.map +1 -0
  20. package/dist/fr-RKRDGOTP.cjs +2 -0
  21. package/dist/fr-RKRDGOTP.cjs.map +1 -0
  22. package/dist/i18n.d.cts +14 -10
  23. package/dist/i18n.d.ts +14 -10
  24. package/dist/index.cjs +3 -3
  25. package/dist/index.cjs.map +1 -1
  26. package/dist/index.d.cts +26 -19
  27. package/dist/index.d.ts +26 -19
  28. package/dist/index.global.js +3 -3
  29. package/dist/index.global.js.map +1 -1
  30. package/dist/index.js +3 -3
  31. package/dist/index.js.map +1 -1
  32. package/dist/it-COLRVG26.cjs +2 -0
  33. package/dist/it-COLRVG26.cjs.map +1 -0
  34. package/dist/it-ZWPEN22A.js +2 -0
  35. package/dist/it-ZWPEN22A.js.map +1 -0
  36. package/dist/ja-HLZ2GVFS.js +2 -0
  37. package/dist/ja-HLZ2GVFS.js.map +1 -0
  38. package/dist/ja-SNVDY7QP.cjs +2 -0
  39. package/dist/ja-SNVDY7QP.cjs.map +1 -0
  40. package/dist/ko-ORUCHGUZ.cjs +2 -0
  41. package/dist/ko-ORUCHGUZ.cjs.map +1 -0
  42. package/dist/ko-ZNF7AMXI.js +2 -0
  43. package/dist/ko-ZNF7AMXI.js.map +1 -0
  44. package/dist/logger.d.cts +30 -0
  45. package/dist/logger.d.ts +30 -0
  46. package/dist/panel-4CIN3Y66.js +2 -0
  47. package/dist/panel-4CIN3Y66.js.map +1 -0
  48. package/dist/panel-TD4UUEZA.cjs +2 -0
  49. package/dist/panel-TD4UUEZA.cjs.map +1 -0
  50. package/dist/pt-QQX5CA7D.cjs +2 -0
  51. package/dist/pt-QQX5CA7D.cjs.map +1 -0
  52. package/dist/pt-WGEJRQFC.js +2 -0
  53. package/dist/pt-WGEJRQFC.js.map +1 -0
  54. package/dist/react.cjs +2 -3
  55. package/dist/react.cjs.map +1 -1
  56. package/dist/react.d.cts +9 -0
  57. package/dist/react.d.ts +9 -0
  58. package/dist/react.js +2 -3
  59. package/dist/react.js.map +1 -1
  60. package/dist/ru-SERDK6PQ.js +2 -0
  61. package/dist/ru-SERDK6PQ.js.map +1 -0
  62. package/dist/ru-YRXPV57R.cjs +2 -0
  63. package/dist/ru-YRXPV57R.cjs.map +1 -0
  64. package/dist/schema.d.cts +31 -0
  65. package/dist/schema.d.ts +31 -0
  66. package/dist/screenshot-storage.d.cts +14 -17
  67. package/dist/screenshot-storage.d.ts +14 -17
  68. package/dist/siteping-core.d.cts +8 -5
  69. package/dist/siteping-core.d.ts +8 -5
  70. package/dist/store-helpers.d.cts +13 -9
  71. package/dist/store-helpers.d.ts +13 -9
  72. package/dist/text.d.cts +28 -0
  73. package/dist/text.d.ts +28 -0
  74. package/dist/types.d.cts +114 -37
  75. package/dist/types.d.ts +114 -37
  76. package/dist/wire.d.cts +6 -1
  77. package/dist/wire.d.ts +6 -1
  78. package/package.json +10 -8
  79. package/dist/chunk-26577FDQ.js +0 -9
  80. package/dist/chunk-26577FDQ.js.map +0 -1
  81. package/dist/chunk-3EHIWTJH.js +0 -9
  82. package/dist/chunk-3EHIWTJH.js.map +0 -1
  83. package/dist/chunk-6MCFOKVG.cjs +0 -9
  84. package/dist/chunk-6MCFOKVG.cjs.map +0 -1
  85. package/dist/chunk-Q34GDCKE.cjs +0 -9
  86. package/dist/chunk-Q34GDCKE.cjs.map +0 -1
  87. package/dist/de-73CTH2E4.cjs +0 -2
  88. package/dist/de-73CTH2E4.cjs.map +0 -1
  89. package/dist/de-GUUJUHYP.js +0 -2
  90. package/dist/de-GUUJUHYP.js.map +0 -1
  91. package/dist/es-3MXMSDUC.js +0 -2
  92. package/dist/es-3MXMSDUC.js.map +0 -1
  93. package/dist/es-WJZ3XARH.cjs +0 -2
  94. package/dist/es-WJZ3XARH.cjs.map +0 -1
  95. package/dist/fr-52F3ZCLQ.js +0 -2
  96. package/dist/fr-52F3ZCLQ.js.map +0 -1
  97. package/dist/fr-ZCRIJWI3.cjs +0 -2
  98. package/dist/fr-ZCRIJWI3.cjs.map +0 -1
  99. package/dist/it-MEUT3RCC.js +0 -2
  100. package/dist/it-MEUT3RCC.js.map +0 -1
  101. package/dist/it-TGUTW6MO.cjs +0 -2
  102. package/dist/it-TGUTW6MO.cjs.map +0 -1
  103. package/dist/ja-DOS7AWLW.cjs +0 -2
  104. package/dist/ja-DOS7AWLW.cjs.map +0 -1
  105. package/dist/ja-U7NRNGPQ.js +0 -2
  106. package/dist/ja-U7NRNGPQ.js.map +0 -1
  107. package/dist/ko-U2CS6XQ4.js +0 -2
  108. package/dist/ko-U2CS6XQ4.js.map +0 -1
  109. package/dist/ko-ZUL567LW.cjs +0 -2
  110. package/dist/ko-ZUL567LW.cjs.map +0 -1
  111. package/dist/panel-3BEMZFIR.cjs +0 -2
  112. package/dist/panel-3BEMZFIR.cjs.map +0 -1
  113. package/dist/panel-HPDIAYLQ.js +0 -2
  114. package/dist/panel-HPDIAYLQ.js.map +0 -1
  115. package/dist/panel-MIWFGD7X.cjs +0 -2
  116. package/dist/panel-MIWFGD7X.cjs.map +0 -1
  117. package/dist/panel-XTNU6XHV.js +0 -2
  118. package/dist/panel-XTNU6XHV.js.map +0 -1
  119. package/dist/pt-BZRBHCYN.cjs +0 -2
  120. package/dist/pt-BZRBHCYN.cjs.map +0 -1
  121. package/dist/pt-MOS5DVOG.js +0 -2
  122. package/dist/pt-MOS5DVOG.js.map +0 -1
  123. package/dist/ru-KDNRHHNZ.cjs +0 -2
  124. package/dist/ru-KDNRHHNZ.cjs.map +0 -1
  125. package/dist/ru-VSWB5NKK.js +0 -2
  126. package/dist/ru-VSWB5NKK.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ var e={"panel.title":"\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C","panel.ariaLabel":"\u041F\u0430\u043D\u0435\u043B\u044C \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u0439 \u0441\u0432\u044F\u0437\u0438 Siteping","panel.feedbackList":"\u0421\u043F\u0438\u0441\u043E\u043A \u043E\u0442\u0437\u044B\u0432\u043E\u0432","panel.loading":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043E\u0442\u0437\u044B\u0432\u043E\u0432","panel.close":"\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C","panel.deleteAll":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0451","panel.deleteAllConfirmTitle":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0451","panel.deleteAllConfirmMessage":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u043E\u0442\u0437\u044B\u0432\u044B \u044D\u0442\u043E\u0433\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430? \u042D\u0442\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043D\u0435\u043E\u0431\u0440\u0430\u0442\u0438\u043C\u043E.","panel.search":"\u041F\u043E\u0438\u0441\u043A...","panel.searchAria":"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u043E\u0442\u0437\u044B\u0432\u0430\u043C","panel.filterAll":"\u0412\u0441\u0435","panel.loadError":"\u041E\u0448\u0438\u0431\u043A\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438","panel.retry":"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C","panel.empty":"\u041F\u043E\u043A\u0430 \u043D\u0435\u0442 \u043E\u0442\u0437\u044B\u0432\u043E\u0432","panel.showMore":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435","panel.notOnPage":"\u041D\u0435 \u0432\u0438\u0434\u043D\u043E \u043D\u0430 \u044D\u0442\u043E\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0435","panel.showLess":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043C\u0435\u043D\u044C\u0448\u0435","panel.resolve":"\u0420\u0435\u0448\u0435\u043D\u043E","panel.reopen":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u043D\u043E\u0432\u043E","panel.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","panel.cancel":"\u041E\u0442\u043C\u0435\u043D\u0430","panel.confirmDelete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","panel.loadMore":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0451 ({remaining} \u043E\u0441\u0442\u0430\u043B\u043E\u0441\u044C)","panel.statusAll":"\u0412\u0441\u0435","panel.statusOpen":"\u041E\u0442\u043A\u0440\u044B\u0442","panel.statusResolved":"\u0420\u0435\u0448\u0451\u043D","panel.statusInProgress":"\u0412 \u0440\u0430\u0431\u043E\u0442\u0435","panel.statusWontFix":"\u041D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E","panel.statusClosed":"\u0417\u0430\u043A\u0440\u044B\u0442","type.label":"\u0422\u0438\u043F","type.question":"\u0412\u043E\u043F\u0440\u043E\u0441","type.change":"\u0423\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u0435","type.bug":"\u0411\u0430\u0433","type.other":"\u0414\u0440\u0443\u0433\u043E\u0435","status.label":"\u0421\u0442\u0430\u0442\u0443\u0441","scope.label":"\u041E\u0431\u043B\u0430\u0441\u0442\u044C","scope.thisPage":"\u042D\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430","scope.thisType":"\u042D\u0442\u043E\u0442 \u0442\u0438\u043F","scope.all":"\u0412\u0441\u0435 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B","panel.filterMine":"\u041C\u043E\u0438","panel.filterMineHint":"\u0422\u043E\u043B\u044C\u043A\u043E \u043E\u0442\u0437\u044B\u0432\u044B, \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0438\u0437 \u044D\u0442\u043E\u0433\u043E \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430","fab.aria":"Siteping \u2014 \u041C\u0435\u043D\u044E \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u0439 \u0441\u0432\u044F\u0437\u0438","fab.messages":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C","fab.annotate":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0430\u043D\u043D\u043E\u0442\u0430\u0446\u0438\u044E","fab.annotations":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0438\u043B\u0438 \u0441\u043A\u0440\u044B\u0442\u044C \u043C\u0435\u0442\u043A\u0438","annotator.instruction":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u0435 \u043E\u0431\u043B\u0430\u0441\u0442\u044C \u0434\u043B\u044F \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u044F \u2014 \u0438\u043B\u0438 \u043D\u0430\u0436\u043C\u0438\u0442\u0435 Enter, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u043E\u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 \u044D\u043B\u0435\u043C\u0435\u043D\u0442","annotator.instantInstruction":"\u041A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439 \u043A \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0442\u043E\u0447\u043A\u0435","annotator.touchInstruction":"\u041A\u043E\u0441\u043D\u0438\u0442\u0435\u0441\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u0438\u043B\u0438 \u043F\u0440\u043E\u0432\u0435\u0434\u0438\u0442\u0435 \u043F\u0430\u043B\u044C\u0446\u0435\u043C, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u043E\u0431\u043B\u0430\u0441\u0442\u044C","annotator.cancel":"\u041E\u0442\u043C\u0435\u043D\u0430","popup.ariaLabel":"\u0424\u043E\u0440\u043C\u0430 \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u0439 \u0441\u0432\u044F\u0437\u0438","popup.placeholder":"\u041E\u043F\u0438\u0448\u0438\u0442\u0435 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443 \u0438\u043B\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435...","popup.textareaAria":"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","popup.submitHintMac":"\u2318+Enter \u2014 \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","popup.submitHintOther":"Ctrl+Enter \u2014 \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","popup.cancel":"\u041E\u0442\u043C\u0435\u043D\u0430","popup.submit":"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","identity.title":"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044C\u0442\u0435\u0441\u044C","identity.nameLabel":"\u0418\u043C\u044F","identity.namePlaceholder":"\u0412\u0430\u0448\u0435 \u0438\u043C\u044F","identity.emailLabel":"Email","identity.emailPlaceholder":"\u0432\u0430\u0448@email.com","identity.cancel":"\u041E\u0442\u043C\u0435\u043D\u0430","identity.submit":"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C","marker.approximate":"\u041F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u0430\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u044F (\u0442\u043E\u0447\u043D\u043E\u0441\u0442\u044C: {confidence}%)","marker.aria":"\u041E\u0442\u0437\u044B\u0432 #{number}: {type}, {status} \u2014 {message}","marker.count":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043E \u043C\u0430\u0440\u043A\u0435\u0440\u043E\u0432 \u043E\u0442\u0437\u044B\u0432\u043E\u0432: {count}","fab.badge":"\u041D\u0435\u0440\u0435\u0448\u0451\u043D\u043D\u044B\u0445 \u043E\u0442\u0437\u044B\u0432\u043E\u0432: {count}","feedback.sent.confirmation":"\u041E\u0442\u0437\u044B\u0432 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D","feedback.error.message":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u0437\u044B\u0432","feedback.queued":"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043E \u043D\u0430 \u044D\u0442\u043E\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435. \u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0441\u044F \u043F\u0440\u0438 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C \u043F\u043E\u0441\u0435\u0449\u0435\u043D\u0438\u0438.","feedback.deleted.confirmation":"\u041E\u0442\u0437\u044B\u0432 \u0443\u0434\u0430\u043B\u0451\u043D","badge.count":"\u041D\u0435\u0440\u0435\u0448\u0451\u043D\u043D\u044B\u0445 \u043E\u0442\u0437\u044B\u0432\u043E\u0432: {count}","bulk.aria":"\u041C\u0430\u0441\u0441\u043E\u0432\u044B\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F","bulk.selectAll":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435","bulk.selectFeedback":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C: {label}","bulk.selected":"\u0412\u044B\u0431\u0440\u0430\u043D\u043E: {count}","bulk.resolve":"\u0420\u0435\u0448\u0438\u0442\u044C","bulk.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","bulk.deselect":"\u0421\u043D\u044F\u0442\u044C \u0432\u044B\u0431\u043E\u0440","sort.newest":"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u043D\u043E\u0432\u044B\u0435","sort.oldest":"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u0441\u0442\u0430\u0440\u044B\u0435","sort.byType":"\u041F\u043E \u0442\u0438\u043F\u0443","sort.openFirst":"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0435","sort.label":"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430","group.byPage":"\u041F\u043E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0435","group.feedbacks":"\u041E\u0442\u0437\u044B\u0432\u043E\u0432: {count}","stats.aria":"\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 \u043E\u0442\u0437\u044B\u0432\u043E\u0432","stats.open":"\u041E\u0442\u043A\u0440\u044B\u0442\u044B\u0435","stats.closed":"\u0417\u0430\u043A\u0440\u044B\u0442\u044B\u0435","stats.bugs":"\u0411\u0430\u0433\u0438","stats.progress":"\u0417\u0430\u043A\u0440\u044B\u0442\u043E: {percent}%","detail.back":"\u041D\u0430\u0437\u0430\u0434","detail.aria":"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438 \u043E\u0442\u0437\u044B\u0432\u0430","detail.title":"\u041E\u0442\u0437\u044B\u0432 #{number}","detail.status":"\u0421\u0442\u0430\u0442\u0443\u0441","detail.message":"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","detail.screenshot":"\u0421\u043A\u0440\u0438\u043D\u0448\u043E\u0442","detail.screenshotAlt":"\u0421\u043A\u0440\u0438\u043D\u0448\u043E\u0442 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438","detail.metadata":"\u0414\u0435\u0442\u0430\u043B\u0438","detail.annotation":"\u0410\u043D\u043D\u043E\u0442\u0430\u0446\u0438\u044F","detail.page":"\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430","detail.author":"\u0410\u0432\u0442\u043E\u0440","detail.date":"\u0421\u043E\u0437\u0434\u0430\u043D","detail.viewport":"Viewport","detail.browser":"\u0411\u0440\u0430\u0443\u0437\u0435\u0440","detail.resolvedAt":"\u0420\u0435\u0448\u0451\u043D","detail.closedAt":"\u0417\u0430\u043A\u0440\u044B\u0442","detail.goToAnnotation":"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0430\u043D\u043D\u043E\u0442\u0430\u0446\u0438\u0438","detail.element":"\u042D\u043B\u0435\u043C\u0435\u043D\u0442","detail.selector":"\u0421\u0435\u043B\u0435\u043A\u0442\u043E\u0440","detail.position":"\u041F\u043E\u0437\u0438\u0446\u0438\u044F","detail.resolve":"\u0420\u0435\u0448\u0438\u0442\u044C","detail.reopen":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u043D\u043E\u0432\u043E","detail.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","detail.diagnostics":"\u0414\u0438\u0430\u0433\u043D\u043E\u0441\u0442\u0438\u043A\u0430","detail.diagnostics.console":"\u041A\u043E\u043D\u0441\u043E\u043B\u044C","detail.diagnostics.network":"\u0421\u0435\u0442\u0435\u0432\u044B\u0435 \u043E\u0448\u0438\u0431\u043A\u0438","detail.diagnostics.expand":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0434\u0438\u0430\u0433\u043D\u043E\u0441\u0442\u0438\u043A\u0443","detail.diagnostics.collapse":"\u0421\u043A\u0440\u044B\u0442\u044C \u0434\u0438\u0430\u0433\u043D\u043E\u0441\u0442\u0438\u043A\u0443","detail.diagnostics.noEntries":"\u041D\u0435\u0442 \u0437\u0430\u043F\u0438\u0441\u0435\u0439","comments.title":"\u041E\u0442\u0432\u0435\u0442\u044B","comments.placeholder":"\u041E\u0442\u0432\u0435\u0442\u0438\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u0435...","comments.error":"\u041D\u0435 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.","comments.full":"\u041E\u0431\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u0435 \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u043E.","comments.team":"\u041A\u043E\u043C\u0430\u043D\u0434\u0430","shortcuts.title":"\u0413\u043E\u0440\u044F\u0447\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0438","shortcuts.navigate":"\u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \u043F\u043E \u043E\u0442\u0437\u044B\u0432\u0430\u043C","shortcuts.resolve":"\u0420\u0435\u0448\u0438\u0442\u044C / \u041F\u0435\u0440\u0435\u043E\u0442\u043A\u0440\u044B\u0442\u044C","shortcuts.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","shortcuts.search":"\u041F\u043E\u0438\u0441\u043A","shortcuts.select":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u044B\u0431\u043E\u0440","shortcuts.help":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043A\u043B\u0430\u0432\u0438\u0448\u0438","shortcuts.close":"\u0417\u0430\u043A\u0440\u044B\u0442\u044C","shortcuts.hint":"\u0413\u043E\u0440\u044F\u0447\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0438","export.label":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442","export.csv":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 CSV","export.json":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 JSON"};export{e as ru};//# sourceMappingURL=ru-SERDK6PQ.js.map
2
+ //# sourceMappingURL=ru-SERDK6PQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/i18n/ru.ts"],"names":["ru"],"mappings":"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","file":"ru-SERDK6PQ.js","sourcesContent":["import type { Translations } from \"./types.js\";\n\nexport const ru: Translations = {\n // Panel\n \"panel.title\": \"Обратная связь\",\n \"panel.ariaLabel\": \"Панель обратной связи Siteping\",\n \"panel.feedbackList\": \"Список отзывов\",\n \"panel.loading\": \"Загрузка отзывов\",\n \"panel.close\": \"Закрыть панель\",\n \"panel.deleteAll\": \"Удалить всё\",\n \"panel.deleteAllConfirmTitle\": \"Удалить всё\",\n \"panel.deleteAllConfirmMessage\": \"Удалить все отзывы этого проекта? Это действие необратимо.\",\n \"panel.search\": \"Поиск...\",\n \"panel.searchAria\": \"Поиск по отзывам\",\n \"panel.filterAll\": \"Все\",\n \"panel.loadError\": \"Ошибка загрузки\",\n \"panel.retry\": \"Повторить\",\n \"panel.empty\": \"Пока нет отзывов\",\n \"panel.showMore\": \"Показать больше\",\n \"panel.notOnPage\": \"Не видно на этой странице\",\n \"panel.showLess\": \"Показать меньше\",\n \"panel.resolve\": \"Решено\",\n \"panel.reopen\": \"Открыть заново\",\n \"panel.delete\": \"Удалить\",\n \"panel.cancel\": \"Отмена\",\n \"panel.confirmDelete\": \"Удалить\",\n \"panel.loadMore\": \"Показать ещё ({remaining} осталось)\",\n\n // Status filter labels\n \"panel.statusAll\": \"Все\",\n \"panel.statusOpen\": \"Открыт\",\n \"panel.statusResolved\": \"Решён\",\n \"panel.statusInProgress\": \"В работе\",\n \"panel.statusWontFix\": \"Не будет исправлено\",\n \"panel.statusClosed\": \"Закрыт\",\n\n // Feedback type labels\n \"type.label\": \"Тип\",\n \"type.question\": \"Вопрос\",\n \"type.change\": \"Улучшение\",\n \"type.bug\": \"Баг\",\n \"type.other\": \"Другое\",\n\n // Status segmented control label\n \"status.label\": \"Статус\",\n\n // Page scope segmented control\n \"scope.label\": \"Область\",\n \"scope.thisPage\": \"Эта страница\",\n \"scope.thisType\": \"Этот тип\",\n \"scope.all\": \"Все страницы\",\n\n // \"Mine\" toggle\n \"panel.filterMine\": \"Мои\",\n \"panel.filterMineHint\": \"Только отзывы, отправленные из этого браузера\",\n\n // FAB menu\n \"fab.aria\": \"Siteping — Меню обратной связи\",\n \"fab.messages\": \"Показать панель\",\n \"fab.annotate\": \"Создать аннотацию\",\n \"fab.annotations\": \"Показать или скрыть метки\",\n\n // Annotator\n \"annotator.instruction\":\n \"Выделите область для комментария — или нажмите Enter, чтобы прокомментировать последний активный элемент\",\n \"annotator.instantInstruction\": \"Комментарий к выбранной точке\",\n \"annotator.touchInstruction\": \"Коснитесь элемента или проведите пальцем, чтобы выделить область\",\n \"annotator.cancel\": \"Отмена\",\n\n // Popup\n \"popup.ariaLabel\": \"Форма обратной связи\",\n \"popup.placeholder\": \"Опишите проблему или предложение...\",\n \"popup.textareaAria\": \"Сообщение\",\n \"popup.submitHintMac\": \"⌘+Enter — отправить\",\n \"popup.submitHintOther\": \"Ctrl+Enter — отправить\",\n \"popup.cancel\": \"Отмена\",\n \"popup.submit\": \"Отправить\",\n\n // Identity modal\n \"identity.title\": \"Представьтесь\",\n \"identity.nameLabel\": \"Имя\",\n \"identity.namePlaceholder\": \"Ваше имя\",\n \"identity.emailLabel\": \"Email\",\n \"identity.emailPlaceholder\": \"ваш@email.com\",\n \"identity.cancel\": \"Отмена\",\n \"identity.submit\": \"Продолжить\",\n\n // Markers\n \"marker.approximate\": \"Приблизительная позиция (точность: {confidence}%)\",\n \"marker.aria\": \"Отзыв #{number}: {type}, {status} — {message}\",\n \"marker.count\": \"Отображено маркеров отзывов: {count}\",\n\n // FAB badge\n \"fab.badge\": \"Нерешённых отзывов: {count}\",\n\n // Accessibility — screen reader announcements\n \"feedback.sent.confirmation\": \"Отзыв успешно отправлен\",\n \"feedback.error.message\": \"Не удалось отправить отзыв\",\n \"feedback.queued\": \"Сохранено на этом устройстве. Отправится при следующем посещении.\",\n \"feedback.deleted.confirmation\": \"Отзыв удалён\",\n\n // Badge\n \"badge.count\": \"Нерешённых отзывов: {count}\",\n\n // Bulk actions toolbar\n \"bulk.aria\": \"Массовые действия\",\n \"bulk.selectAll\": \"Выбрать все\",\n \"bulk.selectFeedback\": \"Выбрать: {label}\",\n \"bulk.selected\": \"Выбрано: {count}\",\n \"bulk.resolve\": \"Решить\",\n \"bulk.delete\": \"Удалить\",\n \"bulk.deselect\": \"Снять выбор\",\n\n // Sort and group controls\n \"sort.newest\": \"Сначала новые\",\n \"sort.oldest\": \"Сначала старые\",\n \"sort.byType\": \"По типу\",\n \"sort.openFirst\": \"Сначала открытые\",\n \"sort.label\": \"Сортировка\",\n \"group.byPage\": \"По странице\",\n \"group.feedbacks\": \"Отзывов: {count}\",\n\n // Stats bar\n \"stats.aria\": \"Статистика отзывов\",\n \"stats.open\": \"Открытые\",\n \"stats.closed\": \"Закрытые\",\n \"stats.bugs\": \"Баги\",\n \"stats.progress\": \"Закрыто: {percent}%\",\n\n // Detail view\n \"detail.back\": \"Назад\",\n \"detail.aria\": \"Подробности отзыва\",\n \"detail.title\": \"Отзыв #{number}\",\n \"detail.status\": \"Статус\",\n \"detail.message\": \"Сообщение\",\n \"detail.screenshot\": \"Скриншот\",\n \"detail.screenshotAlt\": \"Скриншот выделенной области\",\n \"detail.metadata\": \"Детали\",\n \"detail.annotation\": \"Аннотация\",\n \"detail.page\": \"Страница\",\n \"detail.author\": \"Автор\",\n \"detail.date\": \"Создан\",\n \"detail.viewport\": \"Viewport\",\n \"detail.browser\": \"Браузер\",\n \"detail.resolvedAt\": \"Решён\",\n \"detail.closedAt\": \"Закрыт\",\n \"detail.goToAnnotation\": \"Перейти к аннотации\",\n \"detail.element\": \"Элемент\",\n \"detail.selector\": \"Селектор\",\n \"detail.position\": \"Позиция\",\n \"detail.resolve\": \"Решить\",\n \"detail.reopen\": \"Открыть заново\",\n \"detail.delete\": \"Удалить\",\n \"detail.diagnostics\": \"Диагностика\",\n \"detail.diagnostics.console\": \"Консоль\",\n \"detail.diagnostics.network\": \"Сетевые ошибки\",\n \"detail.diagnostics.expand\": \"Показать диагностику\",\n \"detail.diagnostics.collapse\": \"Скрыть диагностику\",\n \"detail.diagnostics.noEntries\": \"Нет записей\",\n\n // Discussion thread (detail view)\n \"comments.title\": \"Ответы\",\n \"comments.placeholder\": \"Ответить команде...\",\n \"comments.error\": \"Не отправлено. Попробуйте ещё раз.\",\n \"comments.full\": \"Обсуждение заполнено.\",\n \"comments.team\": \"Команда\",\n\n // Keyboard shortcuts overlay\n \"shortcuts.title\": \"Горячие клавиши\",\n \"shortcuts.navigate\": \"Навигация по отзывам\",\n \"shortcuts.resolve\": \"Решить / Переоткрыть\",\n \"shortcuts.delete\": \"Удалить\",\n \"shortcuts.search\": \"Поиск\",\n \"shortcuts.select\": \"Переключить выбор\",\n \"shortcuts.help\": \"Показать клавиши\",\n \"shortcuts.close\": \"Закрыть\",\n \"shortcuts.hint\": \"Горячие клавиши\",\n\n // Export controls\n \"export.label\": \"Экспорт\",\n \"export.csv\": \"Экспорт в CSV\",\n \"export.json\": \"Экспорт в JSON\",\n};\n"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';var e={"panel.title":"\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C","panel.ariaLabel":"\u041F\u0430\u043D\u0435\u043B\u044C \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u0439 \u0441\u0432\u044F\u0437\u0438 Siteping","panel.feedbackList":"\u0421\u043F\u0438\u0441\u043E\u043A \u043E\u0442\u0437\u044B\u0432\u043E\u0432","panel.loading":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043E\u0442\u0437\u044B\u0432\u043E\u0432","panel.close":"\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C","panel.deleteAll":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0451","panel.deleteAllConfirmTitle":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0451","panel.deleteAllConfirmMessage":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u043E\u0442\u0437\u044B\u0432\u044B \u044D\u0442\u043E\u0433\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430? \u042D\u0442\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043D\u0435\u043E\u0431\u0440\u0430\u0442\u0438\u043C\u043E.","panel.search":"\u041F\u043E\u0438\u0441\u043A...","panel.searchAria":"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u043E\u0442\u0437\u044B\u0432\u0430\u043C","panel.filterAll":"\u0412\u0441\u0435","panel.loadError":"\u041E\u0448\u0438\u0431\u043A\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438","panel.retry":"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C","panel.empty":"\u041F\u043E\u043A\u0430 \u043D\u0435\u0442 \u043E\u0442\u0437\u044B\u0432\u043E\u0432","panel.showMore":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435","panel.notOnPage":"\u041D\u0435 \u0432\u0438\u0434\u043D\u043E \u043D\u0430 \u044D\u0442\u043E\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0435","panel.showLess":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043C\u0435\u043D\u044C\u0448\u0435","panel.resolve":"\u0420\u0435\u0448\u0435\u043D\u043E","panel.reopen":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u043D\u043E\u0432\u043E","panel.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","panel.cancel":"\u041E\u0442\u043C\u0435\u043D\u0430","panel.confirmDelete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","panel.loadMore":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0451 ({remaining} \u043E\u0441\u0442\u0430\u043B\u043E\u0441\u044C)","panel.statusAll":"\u0412\u0441\u0435","panel.statusOpen":"\u041E\u0442\u043A\u0440\u044B\u0442","panel.statusResolved":"\u0420\u0435\u0448\u0451\u043D","panel.statusInProgress":"\u0412 \u0440\u0430\u0431\u043E\u0442\u0435","panel.statusWontFix":"\u041D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E","panel.statusClosed":"\u0417\u0430\u043A\u0440\u044B\u0442","type.label":"\u0422\u0438\u043F","type.question":"\u0412\u043E\u043F\u0440\u043E\u0441","type.change":"\u0423\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u0435","type.bug":"\u0411\u0430\u0433","type.other":"\u0414\u0440\u0443\u0433\u043E\u0435","status.label":"\u0421\u0442\u0430\u0442\u0443\u0441","scope.label":"\u041E\u0431\u043B\u0430\u0441\u0442\u044C","scope.thisPage":"\u042D\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430","scope.thisType":"\u042D\u0442\u043E\u0442 \u0442\u0438\u043F","scope.all":"\u0412\u0441\u0435 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B","panel.filterMine":"\u041C\u043E\u0438","panel.filterMineHint":"\u0422\u043E\u043B\u044C\u043A\u043E \u043E\u0442\u0437\u044B\u0432\u044B, \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0438\u0437 \u044D\u0442\u043E\u0433\u043E \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430","fab.aria":"Siteping \u2014 \u041C\u0435\u043D\u044E \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u0439 \u0441\u0432\u044F\u0437\u0438","fab.messages":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C","fab.annotate":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0430\u043D\u043D\u043E\u0442\u0430\u0446\u0438\u044E","fab.annotations":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0438\u043B\u0438 \u0441\u043A\u0440\u044B\u0442\u044C \u043C\u0435\u0442\u043A\u0438","annotator.instruction":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u0435 \u043E\u0431\u043B\u0430\u0441\u0442\u044C \u0434\u043B\u044F \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u044F \u2014 \u0438\u043B\u0438 \u043D\u0430\u0436\u043C\u0438\u0442\u0435 Enter, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u043E\u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 \u044D\u043B\u0435\u043C\u0435\u043D\u0442","annotator.instantInstruction":"\u041A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439 \u043A \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0442\u043E\u0447\u043A\u0435","annotator.touchInstruction":"\u041A\u043E\u0441\u043D\u0438\u0442\u0435\u0441\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u0438\u043B\u0438 \u043F\u0440\u043E\u0432\u0435\u0434\u0438\u0442\u0435 \u043F\u0430\u043B\u044C\u0446\u0435\u043C, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u043E\u0431\u043B\u0430\u0441\u0442\u044C","annotator.cancel":"\u041E\u0442\u043C\u0435\u043D\u0430","popup.ariaLabel":"\u0424\u043E\u0440\u043C\u0430 \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u0439 \u0441\u0432\u044F\u0437\u0438","popup.placeholder":"\u041E\u043F\u0438\u0448\u0438\u0442\u0435 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443 \u0438\u043B\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435...","popup.textareaAria":"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","popup.submitHintMac":"\u2318+Enter \u2014 \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","popup.submitHintOther":"Ctrl+Enter \u2014 \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","popup.cancel":"\u041E\u0442\u043C\u0435\u043D\u0430","popup.submit":"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","identity.title":"\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044C\u0442\u0435\u0441\u044C","identity.nameLabel":"\u0418\u043C\u044F","identity.namePlaceholder":"\u0412\u0430\u0448\u0435 \u0438\u043C\u044F","identity.emailLabel":"Email","identity.emailPlaceholder":"\u0432\u0430\u0448@email.com","identity.cancel":"\u041E\u0442\u043C\u0435\u043D\u0430","identity.submit":"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C","marker.approximate":"\u041F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u0430\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u044F (\u0442\u043E\u0447\u043D\u043E\u0441\u0442\u044C: {confidence}%)","marker.aria":"\u041E\u0442\u0437\u044B\u0432 #{number}: {type}, {status} \u2014 {message}","marker.count":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043E \u043C\u0430\u0440\u043A\u0435\u0440\u043E\u0432 \u043E\u0442\u0437\u044B\u0432\u043E\u0432: {count}","fab.badge":"\u041D\u0435\u0440\u0435\u0448\u0451\u043D\u043D\u044B\u0445 \u043E\u0442\u0437\u044B\u0432\u043E\u0432: {count}","feedback.sent.confirmation":"\u041E\u0442\u0437\u044B\u0432 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D","feedback.error.message":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u0437\u044B\u0432","feedback.queued":"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043E \u043D\u0430 \u044D\u0442\u043E\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435. \u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0441\u044F \u043F\u0440\u0438 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C \u043F\u043E\u0441\u0435\u0449\u0435\u043D\u0438\u0438.","feedback.deleted.confirmation":"\u041E\u0442\u0437\u044B\u0432 \u0443\u0434\u0430\u043B\u0451\u043D","badge.count":"\u041D\u0435\u0440\u0435\u0448\u0451\u043D\u043D\u044B\u0445 \u043E\u0442\u0437\u044B\u0432\u043E\u0432: {count}","bulk.aria":"\u041C\u0430\u0441\u0441\u043E\u0432\u044B\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F","bulk.selectAll":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435","bulk.selectFeedback":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C: {label}","bulk.selected":"\u0412\u044B\u0431\u0440\u0430\u043D\u043E: {count}","bulk.resolve":"\u0420\u0435\u0448\u0438\u0442\u044C","bulk.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","bulk.deselect":"\u0421\u043D\u044F\u0442\u044C \u0432\u044B\u0431\u043E\u0440","sort.newest":"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u043D\u043E\u0432\u044B\u0435","sort.oldest":"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u0441\u0442\u0430\u0440\u044B\u0435","sort.byType":"\u041F\u043E \u0442\u0438\u043F\u0443","sort.openFirst":"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0435","sort.label":"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430","group.byPage":"\u041F\u043E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0435","group.feedbacks":"\u041E\u0442\u0437\u044B\u0432\u043E\u0432: {count}","stats.aria":"\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 \u043E\u0442\u0437\u044B\u0432\u043E\u0432","stats.open":"\u041E\u0442\u043A\u0440\u044B\u0442\u044B\u0435","stats.closed":"\u0417\u0430\u043A\u0440\u044B\u0442\u044B\u0435","stats.bugs":"\u0411\u0430\u0433\u0438","stats.progress":"\u0417\u0430\u043A\u0440\u044B\u0442\u043E: {percent}%","detail.back":"\u041D\u0430\u0437\u0430\u0434","detail.aria":"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438 \u043E\u0442\u0437\u044B\u0432\u0430","detail.title":"\u041E\u0442\u0437\u044B\u0432 #{number}","detail.status":"\u0421\u0442\u0430\u0442\u0443\u0441","detail.message":"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","detail.screenshot":"\u0421\u043A\u0440\u0438\u043D\u0448\u043E\u0442","detail.screenshotAlt":"\u0421\u043A\u0440\u0438\u043D\u0448\u043E\u0442 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438","detail.metadata":"\u0414\u0435\u0442\u0430\u043B\u0438","detail.annotation":"\u0410\u043D\u043D\u043E\u0442\u0430\u0446\u0438\u044F","detail.page":"\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430","detail.author":"\u0410\u0432\u0442\u043E\u0440","detail.date":"\u0421\u043E\u0437\u0434\u0430\u043D","detail.viewport":"Viewport","detail.browser":"\u0411\u0440\u0430\u0443\u0437\u0435\u0440","detail.resolvedAt":"\u0420\u0435\u0448\u0451\u043D","detail.closedAt":"\u0417\u0430\u043A\u0440\u044B\u0442","detail.goToAnnotation":"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0430\u043D\u043D\u043E\u0442\u0430\u0446\u0438\u0438","detail.element":"\u042D\u043B\u0435\u043C\u0435\u043D\u0442","detail.selector":"\u0421\u0435\u043B\u0435\u043A\u0442\u043E\u0440","detail.position":"\u041F\u043E\u0437\u0438\u0446\u0438\u044F","detail.resolve":"\u0420\u0435\u0448\u0438\u0442\u044C","detail.reopen":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u043D\u043E\u0432\u043E","detail.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","detail.diagnostics":"\u0414\u0438\u0430\u0433\u043D\u043E\u0441\u0442\u0438\u043A\u0430","detail.diagnostics.console":"\u041A\u043E\u043D\u0441\u043E\u043B\u044C","detail.diagnostics.network":"\u0421\u0435\u0442\u0435\u0432\u044B\u0435 \u043E\u0448\u0438\u0431\u043A\u0438","detail.diagnostics.expand":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0434\u0438\u0430\u0433\u043D\u043E\u0441\u0442\u0438\u043A\u0443","detail.diagnostics.collapse":"\u0421\u043A\u0440\u044B\u0442\u044C \u0434\u0438\u0430\u0433\u043D\u043E\u0441\u0442\u0438\u043A\u0443","detail.diagnostics.noEntries":"\u041D\u0435\u0442 \u0437\u0430\u043F\u0438\u0441\u0435\u0439","comments.title":"\u041E\u0442\u0432\u0435\u0442\u044B","comments.placeholder":"\u041E\u0442\u0432\u0435\u0442\u0438\u0442\u044C \u043A\u043E\u043C\u0430\u043D\u0434\u0435...","comments.error":"\u041D\u0435 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.","comments.full":"\u041E\u0431\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u0435 \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u043E.","comments.team":"\u041A\u043E\u043C\u0430\u043D\u0434\u0430","shortcuts.title":"\u0413\u043E\u0440\u044F\u0447\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0438","shortcuts.navigate":"\u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \u043F\u043E \u043E\u0442\u0437\u044B\u0432\u0430\u043C","shortcuts.resolve":"\u0420\u0435\u0448\u0438\u0442\u044C / \u041F\u0435\u0440\u0435\u043E\u0442\u043A\u0440\u044B\u0442\u044C","shortcuts.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","shortcuts.search":"\u041F\u043E\u0438\u0441\u043A","shortcuts.select":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u044B\u0431\u043E\u0440","shortcuts.help":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043A\u043B\u0430\u0432\u0438\u0448\u0438","shortcuts.close":"\u0417\u0430\u043A\u0440\u044B\u0442\u044C","shortcuts.hint":"\u0413\u043E\u0440\u044F\u0447\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0438","export.label":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442","export.csv":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 CSV","export.json":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 JSON"};exports.ru=e;//# sourceMappingURL=ru-YRXPV57R.cjs.map
2
+ //# sourceMappingURL=ru-YRXPV57R.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/i18n/ru.ts"],"names":["ru"],"mappings":"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","file":"ru-YRXPV57R.cjs","sourcesContent":["import type { Translations } from \"./types.js\";\n\nexport const ru: Translations = {\n // Panel\n \"panel.title\": \"Обратная связь\",\n \"panel.ariaLabel\": \"Панель обратной связи Siteping\",\n \"panel.feedbackList\": \"Список отзывов\",\n \"panel.loading\": \"Загрузка отзывов\",\n \"panel.close\": \"Закрыть панель\",\n \"panel.deleteAll\": \"Удалить всё\",\n \"panel.deleteAllConfirmTitle\": \"Удалить всё\",\n \"panel.deleteAllConfirmMessage\": \"Удалить все отзывы этого проекта? Это действие необратимо.\",\n \"panel.search\": \"Поиск...\",\n \"panel.searchAria\": \"Поиск по отзывам\",\n \"panel.filterAll\": \"Все\",\n \"panel.loadError\": \"Ошибка загрузки\",\n \"panel.retry\": \"Повторить\",\n \"panel.empty\": \"Пока нет отзывов\",\n \"panel.showMore\": \"Показать больше\",\n \"panel.notOnPage\": \"Не видно на этой странице\",\n \"panel.showLess\": \"Показать меньше\",\n \"panel.resolve\": \"Решено\",\n \"panel.reopen\": \"Открыть заново\",\n \"panel.delete\": \"Удалить\",\n \"panel.cancel\": \"Отмена\",\n \"panel.confirmDelete\": \"Удалить\",\n \"panel.loadMore\": \"Показать ещё ({remaining} осталось)\",\n\n // Status filter labels\n \"panel.statusAll\": \"Все\",\n \"panel.statusOpen\": \"Открыт\",\n \"panel.statusResolved\": \"Решён\",\n \"panel.statusInProgress\": \"В работе\",\n \"panel.statusWontFix\": \"Не будет исправлено\",\n \"panel.statusClosed\": \"Закрыт\",\n\n // Feedback type labels\n \"type.label\": \"Тип\",\n \"type.question\": \"Вопрос\",\n \"type.change\": \"Улучшение\",\n \"type.bug\": \"Баг\",\n \"type.other\": \"Другое\",\n\n // Status segmented control label\n \"status.label\": \"Статус\",\n\n // Page scope segmented control\n \"scope.label\": \"Область\",\n \"scope.thisPage\": \"Эта страница\",\n \"scope.thisType\": \"Этот тип\",\n \"scope.all\": \"Все страницы\",\n\n // \"Mine\" toggle\n \"panel.filterMine\": \"Мои\",\n \"panel.filterMineHint\": \"Только отзывы, отправленные из этого браузера\",\n\n // FAB menu\n \"fab.aria\": \"Siteping — Меню обратной связи\",\n \"fab.messages\": \"Показать панель\",\n \"fab.annotate\": \"Создать аннотацию\",\n \"fab.annotations\": \"Показать или скрыть метки\",\n\n // Annotator\n \"annotator.instruction\":\n \"Выделите область для комментария — или нажмите Enter, чтобы прокомментировать последний активный элемент\",\n \"annotator.instantInstruction\": \"Комментарий к выбранной точке\",\n \"annotator.touchInstruction\": \"Коснитесь элемента или проведите пальцем, чтобы выделить область\",\n \"annotator.cancel\": \"Отмена\",\n\n // Popup\n \"popup.ariaLabel\": \"Форма обратной связи\",\n \"popup.placeholder\": \"Опишите проблему или предложение...\",\n \"popup.textareaAria\": \"Сообщение\",\n \"popup.submitHintMac\": \"⌘+Enter — отправить\",\n \"popup.submitHintOther\": \"Ctrl+Enter — отправить\",\n \"popup.cancel\": \"Отмена\",\n \"popup.submit\": \"Отправить\",\n\n // Identity modal\n \"identity.title\": \"Представьтесь\",\n \"identity.nameLabel\": \"Имя\",\n \"identity.namePlaceholder\": \"Ваше имя\",\n \"identity.emailLabel\": \"Email\",\n \"identity.emailPlaceholder\": \"ваш@email.com\",\n \"identity.cancel\": \"Отмена\",\n \"identity.submit\": \"Продолжить\",\n\n // Markers\n \"marker.approximate\": \"Приблизительная позиция (точность: {confidence}%)\",\n \"marker.aria\": \"Отзыв #{number}: {type}, {status} — {message}\",\n \"marker.count\": \"Отображено маркеров отзывов: {count}\",\n\n // FAB badge\n \"fab.badge\": \"Нерешённых отзывов: {count}\",\n\n // Accessibility — screen reader announcements\n \"feedback.sent.confirmation\": \"Отзыв успешно отправлен\",\n \"feedback.error.message\": \"Не удалось отправить отзыв\",\n \"feedback.queued\": \"Сохранено на этом устройстве. Отправится при следующем посещении.\",\n \"feedback.deleted.confirmation\": \"Отзыв удалён\",\n\n // Badge\n \"badge.count\": \"Нерешённых отзывов: {count}\",\n\n // Bulk actions toolbar\n \"bulk.aria\": \"Массовые действия\",\n \"bulk.selectAll\": \"Выбрать все\",\n \"bulk.selectFeedback\": \"Выбрать: {label}\",\n \"bulk.selected\": \"Выбрано: {count}\",\n \"bulk.resolve\": \"Решить\",\n \"bulk.delete\": \"Удалить\",\n \"bulk.deselect\": \"Снять выбор\",\n\n // Sort and group controls\n \"sort.newest\": \"Сначала новые\",\n \"sort.oldest\": \"Сначала старые\",\n \"sort.byType\": \"По типу\",\n \"sort.openFirst\": \"Сначала открытые\",\n \"sort.label\": \"Сортировка\",\n \"group.byPage\": \"По странице\",\n \"group.feedbacks\": \"Отзывов: {count}\",\n\n // Stats bar\n \"stats.aria\": \"Статистика отзывов\",\n \"stats.open\": \"Открытые\",\n \"stats.closed\": \"Закрытые\",\n \"stats.bugs\": \"Баги\",\n \"stats.progress\": \"Закрыто: {percent}%\",\n\n // Detail view\n \"detail.back\": \"Назад\",\n \"detail.aria\": \"Подробности отзыва\",\n \"detail.title\": \"Отзыв #{number}\",\n \"detail.status\": \"Статус\",\n \"detail.message\": \"Сообщение\",\n \"detail.screenshot\": \"Скриншот\",\n \"detail.screenshotAlt\": \"Скриншот выделенной области\",\n \"detail.metadata\": \"Детали\",\n \"detail.annotation\": \"Аннотация\",\n \"detail.page\": \"Страница\",\n \"detail.author\": \"Автор\",\n \"detail.date\": \"Создан\",\n \"detail.viewport\": \"Viewport\",\n \"detail.browser\": \"Браузер\",\n \"detail.resolvedAt\": \"Решён\",\n \"detail.closedAt\": \"Закрыт\",\n \"detail.goToAnnotation\": \"Перейти к аннотации\",\n \"detail.element\": \"Элемент\",\n \"detail.selector\": \"Селектор\",\n \"detail.position\": \"Позиция\",\n \"detail.resolve\": \"Решить\",\n \"detail.reopen\": \"Открыть заново\",\n \"detail.delete\": \"Удалить\",\n \"detail.diagnostics\": \"Диагностика\",\n \"detail.diagnostics.console\": \"Консоль\",\n \"detail.diagnostics.network\": \"Сетевые ошибки\",\n \"detail.diagnostics.expand\": \"Показать диагностику\",\n \"detail.diagnostics.collapse\": \"Скрыть диагностику\",\n \"detail.diagnostics.noEntries\": \"Нет записей\",\n\n // Discussion thread (detail view)\n \"comments.title\": \"Ответы\",\n \"comments.placeholder\": \"Ответить команде...\",\n \"comments.error\": \"Не отправлено. Попробуйте ещё раз.\",\n \"comments.full\": \"Обсуждение заполнено.\",\n \"comments.team\": \"Команда\",\n\n // Keyboard shortcuts overlay\n \"shortcuts.title\": \"Горячие клавиши\",\n \"shortcuts.navigate\": \"Навигация по отзывам\",\n \"shortcuts.resolve\": \"Решить / Переоткрыть\",\n \"shortcuts.delete\": \"Удалить\",\n \"shortcuts.search\": \"Поиск\",\n \"shortcuts.select\": \"Переключить выбор\",\n \"shortcuts.help\": \"Показать клавиши\",\n \"shortcuts.close\": \"Закрыть\",\n \"shortcuts.hint\": \"Горячие клавиши\",\n\n // Export controls\n \"export.label\": \"Экспорт\",\n \"export.csv\": \"Экспорт в CSV\",\n \"export.json\": \"Экспорт в JSON\",\n};\n"]}
package/dist/schema.d.cts CHANGED
@@ -52,6 +52,13 @@ export interface FieldDef {
52
52
  isUnique?: boolean;
53
53
  /** Prisma native type attribute (e.g. "Text" for @db.Text) — used for MySQL compatibility on long strings */
54
54
  nativeType?: PrismaNativeType;
55
+ /**
56
+ * Longest value the HTTP handler accepts for this column, in characters —
57
+ * set on every `String` column filled from a request body, and checked
58
+ * against the handler's own caps. The CLI sizes the column from it where a
59
+ * plain `String` is shorter: on MySQL, a `VARCHAR(191)`.
60
+ */
61
+ maxLength?: number;
55
62
  /** Prisma @updatedAt attribute */
56
63
  isUpdatedAt?: boolean;
57
64
  }
@@ -82,6 +89,7 @@ declare const _SITEPING_MODELS: {
82
89
  };
83
90
  readonly projectName: {
84
91
  readonly type: "String";
92
+ readonly maxLength: 191;
85
93
  };
86
94
  readonly type: {
87
95
  readonly type: "String";
@@ -89,6 +97,7 @@ declare const _SITEPING_MODELS: {
89
97
  readonly message: {
90
98
  readonly type: "String";
91
99
  readonly nativeType: "Text";
100
+ readonly maxLength: 5000;
92
101
  };
93
102
  readonly status: {
94
103
  readonly type: "String";
@@ -96,15 +105,18 @@ declare const _SITEPING_MODELS: {
96
105
  };
97
106
  readonly url: {
98
107
  readonly type: "String";
108
+ readonly maxLength: 2000;
99
109
  };
100
110
  readonly urlPattern: {
101
111
  readonly type: "String";
102
112
  readonly optional: true;
113
+ readonly maxLength: 2000;
103
114
  };
104
115
  readonly screenshotUrl: {
105
116
  readonly type: "String";
106
117
  readonly optional: true;
107
118
  readonly nativeType: "Text";
119
+ readonly maxLength: 1500000;
108
120
  };
109
121
  readonly screenshotRegion: {
110
122
  readonly type: "Json";
@@ -116,19 +128,24 @@ declare const _SITEPING_MODELS: {
116
128
  };
117
129
  readonly viewport: {
118
130
  readonly type: "String";
131
+ readonly maxLength: 50;
119
132
  };
120
133
  readonly userAgent: {
121
134
  readonly type: "String";
135
+ readonly maxLength: 500;
122
136
  };
123
137
  readonly authorName: {
124
138
  readonly type: "String";
139
+ readonly maxLength: 200;
125
140
  };
126
141
  readonly authorEmail: {
127
142
  readonly type: "String";
143
+ readonly maxLength: 200;
128
144
  };
129
145
  readonly clientId: {
130
146
  readonly type: "String";
131
147
  readonly isUnique: true;
148
+ readonly maxLength: 191;
132
149
  };
133
150
  readonly resolvedAt: {
134
151
  readonly type: "DateTime";
@@ -188,40 +205,50 @@ declare const _SITEPING_MODELS: {
188
205
  readonly cssSelector: {
189
206
  readonly type: "String";
190
207
  readonly nativeType: "Text";
208
+ readonly maxLength: 2000;
191
209
  };
192
210
  readonly xpath: {
193
211
  readonly type: "String";
194
212
  readonly nativeType: "Text";
213
+ readonly maxLength: 2000;
195
214
  };
196
215
  readonly textSnippet: {
197
216
  readonly type: "String";
198
217
  readonly nativeType: "Text";
218
+ readonly maxLength: 500;
199
219
  };
200
220
  readonly elementTag: {
201
221
  readonly type: "String";
222
+ readonly maxLength: 191;
202
223
  };
203
224
  readonly elementId: {
204
225
  readonly type: "String";
205
226
  readonly optional: true;
227
+ readonly maxLength: 191;
206
228
  };
207
229
  readonly textPrefix: {
208
230
  readonly type: "String";
209
231
  readonly nativeType: "Text";
232
+ readonly maxLength: 200;
210
233
  };
211
234
  readonly textSuffix: {
212
235
  readonly type: "String";
213
236
  readonly nativeType: "Text";
237
+ readonly maxLength: 200;
214
238
  };
215
239
  readonly fingerprint: {
216
240
  readonly type: "String";
241
+ readonly maxLength: 200;
217
242
  };
218
243
  readonly neighborText: {
219
244
  readonly type: "String";
220
245
  readonly nativeType: "Text";
246
+ readonly maxLength: 500;
221
247
  };
222
248
  readonly anchorKey: {
223
249
  readonly type: "String";
224
250
  readonly optional: true;
251
+ readonly maxLength: 200;
225
252
  };
226
253
  readonly xPct: {
227
254
  readonly type: "Float";
@@ -283,12 +310,15 @@ declare const _SITEPING_MODELS: {
283
310
  readonly body: {
284
311
  readonly type: "String";
285
312
  readonly nativeType: "Text";
313
+ readonly maxLength: 5000;
286
314
  };
287
315
  readonly authorName: {
288
316
  readonly type: "String";
317
+ readonly maxLength: 200;
289
318
  };
290
319
  readonly authorEmail: {
291
320
  readonly type: "String";
321
+ readonly maxLength: 200;
292
322
  };
293
323
  readonly authorRole: {
294
324
  readonly type: "String";
@@ -297,6 +327,7 @@ declare const _SITEPING_MODELS: {
297
327
  readonly clientId: {
298
328
  readonly type: "String";
299
329
  readonly isUnique: true;
330
+ readonly maxLength: 191;
300
331
  };
301
332
  readonly createdAt: {
302
333
  readonly type: "DateTime";
package/dist/schema.d.ts CHANGED
@@ -52,6 +52,13 @@ export interface FieldDef {
52
52
  isUnique?: boolean;
53
53
  /** Prisma native type attribute (e.g. "Text" for @db.Text) — used for MySQL compatibility on long strings */
54
54
  nativeType?: PrismaNativeType;
55
+ /**
56
+ * Longest value the HTTP handler accepts for this column, in characters —
57
+ * set on every `String` column filled from a request body, and checked
58
+ * against the handler's own caps. The CLI sizes the column from it where a
59
+ * plain `String` is shorter: on MySQL, a `VARCHAR(191)`.
60
+ */
61
+ maxLength?: number;
55
62
  /** Prisma @updatedAt attribute */
56
63
  isUpdatedAt?: boolean;
57
64
  }
@@ -82,6 +89,7 @@ declare const _SITEPING_MODELS: {
82
89
  };
83
90
  readonly projectName: {
84
91
  readonly type: "String";
92
+ readonly maxLength: 191;
85
93
  };
86
94
  readonly type: {
87
95
  readonly type: "String";
@@ -89,6 +97,7 @@ declare const _SITEPING_MODELS: {
89
97
  readonly message: {
90
98
  readonly type: "String";
91
99
  readonly nativeType: "Text";
100
+ readonly maxLength: 5000;
92
101
  };
93
102
  readonly status: {
94
103
  readonly type: "String";
@@ -96,15 +105,18 @@ declare const _SITEPING_MODELS: {
96
105
  };
97
106
  readonly url: {
98
107
  readonly type: "String";
108
+ readonly maxLength: 2000;
99
109
  };
100
110
  readonly urlPattern: {
101
111
  readonly type: "String";
102
112
  readonly optional: true;
113
+ readonly maxLength: 2000;
103
114
  };
104
115
  readonly screenshotUrl: {
105
116
  readonly type: "String";
106
117
  readonly optional: true;
107
118
  readonly nativeType: "Text";
119
+ readonly maxLength: 1500000;
108
120
  };
109
121
  readonly screenshotRegion: {
110
122
  readonly type: "Json";
@@ -116,19 +128,24 @@ declare const _SITEPING_MODELS: {
116
128
  };
117
129
  readonly viewport: {
118
130
  readonly type: "String";
131
+ readonly maxLength: 50;
119
132
  };
120
133
  readonly userAgent: {
121
134
  readonly type: "String";
135
+ readonly maxLength: 500;
122
136
  };
123
137
  readonly authorName: {
124
138
  readonly type: "String";
139
+ readonly maxLength: 200;
125
140
  };
126
141
  readonly authorEmail: {
127
142
  readonly type: "String";
143
+ readonly maxLength: 200;
128
144
  };
129
145
  readonly clientId: {
130
146
  readonly type: "String";
131
147
  readonly isUnique: true;
148
+ readonly maxLength: 191;
132
149
  };
133
150
  readonly resolvedAt: {
134
151
  readonly type: "DateTime";
@@ -188,40 +205,50 @@ declare const _SITEPING_MODELS: {
188
205
  readonly cssSelector: {
189
206
  readonly type: "String";
190
207
  readonly nativeType: "Text";
208
+ readonly maxLength: 2000;
191
209
  };
192
210
  readonly xpath: {
193
211
  readonly type: "String";
194
212
  readonly nativeType: "Text";
213
+ readonly maxLength: 2000;
195
214
  };
196
215
  readonly textSnippet: {
197
216
  readonly type: "String";
198
217
  readonly nativeType: "Text";
218
+ readonly maxLength: 500;
199
219
  };
200
220
  readonly elementTag: {
201
221
  readonly type: "String";
222
+ readonly maxLength: 191;
202
223
  };
203
224
  readonly elementId: {
204
225
  readonly type: "String";
205
226
  readonly optional: true;
227
+ readonly maxLength: 191;
206
228
  };
207
229
  readonly textPrefix: {
208
230
  readonly type: "String";
209
231
  readonly nativeType: "Text";
232
+ readonly maxLength: 200;
210
233
  };
211
234
  readonly textSuffix: {
212
235
  readonly type: "String";
213
236
  readonly nativeType: "Text";
237
+ readonly maxLength: 200;
214
238
  };
215
239
  readonly fingerprint: {
216
240
  readonly type: "String";
241
+ readonly maxLength: 200;
217
242
  };
218
243
  readonly neighborText: {
219
244
  readonly type: "String";
220
245
  readonly nativeType: "Text";
246
+ readonly maxLength: 500;
221
247
  };
222
248
  readonly anchorKey: {
223
249
  readonly type: "String";
224
250
  readonly optional: true;
251
+ readonly maxLength: 200;
225
252
  };
226
253
  readonly xPct: {
227
254
  readonly type: "Float";
@@ -283,12 +310,15 @@ declare const _SITEPING_MODELS: {
283
310
  readonly body: {
284
311
  readonly type: "String";
285
312
  readonly nativeType: "Text";
313
+ readonly maxLength: 5000;
286
314
  };
287
315
  readonly authorName: {
288
316
  readonly type: "String";
317
+ readonly maxLength: 200;
289
318
  };
290
319
  readonly authorEmail: {
291
320
  readonly type: "String";
321
+ readonly maxLength: 200;
292
322
  };
293
323
  readonly authorRole: {
294
324
  readonly type: "String";
@@ -297,6 +327,7 @@ declare const _SITEPING_MODELS: {
297
327
  readonly clientId: {
298
328
  readonly type: "String";
299
329
  readonly isUnique: true;
330
+ readonly maxLength: 191;
300
331
  };
301
332
  readonly createdAt: {
302
333
  readonly type: "DateTime";
@@ -42,26 +42,24 @@ export interface ScreenshotStorage {
42
42
  * Adapters call this synchronously inside `createFeedback` — keep it
43
43
  * fast or move to a queue if needed.
44
44
  *
45
- * `ctx.feedbackId` identifies the upload. Adapters that upload before the
46
- * record exists pass the *client-generated* `clientId` (Prisma); the
47
- * Drizzle adapter passes the server-generated id the create attempt will
48
- * insert the record under.
45
+ * `ctx.feedbackId` is the id the feedback is stored under. The record does
46
+ * not exist yet, so the store draws it before the upload — fresh for each
47
+ * create attempt, never client-supplied — and inserts the row under it.
48
+ * Two submissions of one `clientId` therefore upload under two ids, and
49
+ * only one of them is stored.
49
50
  *
50
51
  * **URL ownership:** every call must return a URL no other call returns —
51
52
  * key the object by a fresh random value (`crypto.randomUUID()`, as the
52
53
  * example does), never by `ctx.feedbackId` alone nor by a content hash.
53
54
  * Adapters treat each URL as the property of the one record that stores it
54
55
  * and may pass it to `delete` once that record is deleted, or once its
55
- * create lost a race: two submissions of one `clientId` both upload, and
56
- * the object of the one that is not stored is deleted. Under Prisma,
57
- * `ctx.feedbackId` is that client-supplied `clientId`, so an object keyed
58
- * by it is rewritten by every replay — a retry, or anyone who learns the
59
- * id — and a URL shared by several records lets deleting one remove the
60
- * object another still points at.
56
+ * create lost a race: the object of the submission that is not stored is
57
+ * deleted, and a URL shared by several records would let deleting one
58
+ * remove the object another still points at.
61
59
  *
62
- * **Security note:** treat `ctx.feedbackId` as attacker-controlled:
63
- * sanitize before using it in filesystem paths or object keys, even though
64
- * server adapters validate its shape upstream.
60
+ * **Security note:** the bundled stores generate `ctx.feedbackId`, but a
61
+ * third-party one may not honour the contract: sanitize it before using it
62
+ * in a filesystem path or an object key.
65
63
  */
66
64
  upload(dataUrl: string, ctx: {
67
65
  feedbackId: string;
@@ -72,10 +70,9 @@ export interface ScreenshotStorage {
72
70
  /**
73
71
  * Optional cleanup hook called when the feedback is deleted, and for an
74
72
  * object uploaded by a create whose record was not stored: one rejected
75
- * because its `clientId` is already stored, or — in adapters that key
76
- * uploads per attempt, like Drizzle — one whose insert failed. An object a
77
- * stored row still references (a deterministic key reused by the replay)
78
- * is kept. Receives only URLs returned by {@link ScreenshotStorage.upload}.
73
+ * because its `clientId` is already stored, or one whose insert failed. An
74
+ * object a stored row still references (a storage that broke URL
75
+ * ownership) is kept. Receives only URLs returned by {@link ScreenshotStorage.upload}.
79
76
  * Adapters call this best-effort and swallow errors — orphaned objects are
80
77
  * preferred over failed deletes.
81
78
  */
@@ -42,26 +42,24 @@ export interface ScreenshotStorage {
42
42
  * Adapters call this synchronously inside `createFeedback` — keep it
43
43
  * fast or move to a queue if needed.
44
44
  *
45
- * `ctx.feedbackId` identifies the upload. Adapters that upload before the
46
- * record exists pass the *client-generated* `clientId` (Prisma); the
47
- * Drizzle adapter passes the server-generated id the create attempt will
48
- * insert the record under.
45
+ * `ctx.feedbackId` is the id the feedback is stored under. The record does
46
+ * not exist yet, so the store draws it before the upload — fresh for each
47
+ * create attempt, never client-supplied — and inserts the row under it.
48
+ * Two submissions of one `clientId` therefore upload under two ids, and
49
+ * only one of them is stored.
49
50
  *
50
51
  * **URL ownership:** every call must return a URL no other call returns —
51
52
  * key the object by a fresh random value (`crypto.randomUUID()`, as the
52
53
  * example does), never by `ctx.feedbackId` alone nor by a content hash.
53
54
  * Adapters treat each URL as the property of the one record that stores it
54
55
  * and may pass it to `delete` once that record is deleted, or once its
55
- * create lost a race: two submissions of one `clientId` both upload, and
56
- * the object of the one that is not stored is deleted. Under Prisma,
57
- * `ctx.feedbackId` is that client-supplied `clientId`, so an object keyed
58
- * by it is rewritten by every replay — a retry, or anyone who learns the
59
- * id — and a URL shared by several records lets deleting one remove the
60
- * object another still points at.
56
+ * create lost a race: the object of the submission that is not stored is
57
+ * deleted, and a URL shared by several records would let deleting one
58
+ * remove the object another still points at.
61
59
  *
62
- * **Security note:** treat `ctx.feedbackId` as attacker-controlled:
63
- * sanitize before using it in filesystem paths or object keys, even though
64
- * server adapters validate its shape upstream.
60
+ * **Security note:** the bundled stores generate `ctx.feedbackId`, but a
61
+ * third-party one may not honour the contract: sanitize it before using it
62
+ * in a filesystem path or an object key.
65
63
  */
66
64
  upload(dataUrl: string, ctx: {
67
65
  feedbackId: string;
@@ -72,10 +70,9 @@ export interface ScreenshotStorage {
72
70
  /**
73
71
  * Optional cleanup hook called when the feedback is deleted, and for an
74
72
  * object uploaded by a create whose record was not stored: one rejected
75
- * because its `clientId` is already stored, or — in adapters that key
76
- * uploads per attempt, like Drizzle — one whose insert failed. An object a
77
- * stored row still references (a deterministic key reused by the replay)
78
- * is kept. Receives only URLs returned by {@link ScreenshotStorage.upload}.
73
+ * because its `clientId` is already stored, or one whose insert failed. An
74
+ * object a stored row still references (a storage that broke URL
75
+ * ownership) is kept. Receives only URLs returned by {@link ScreenshotStorage.upload}.
79
76
  * Adapters call this best-effort and swallow errors — orphaned objects are
80
77
  * preferred over failed deletes.
81
78
  */
@@ -1,20 +1,23 @@
1
1
  export { settleWithConcurrencyLimit } from "./concurrency.cjs";
2
- export { buildDeepLink, parseHttpUrl } from "./deep-link.cjs";
2
+ export { buildDeepLink, isSafeImageUrl, parseHttpUrl } from "./deep-link.cjs";
3
3
  export { EMAIL_PATTERN, isValidEmail } from "./email.cjs";
4
- export type { SitepingErrorCode } from "./errors.cjs";
5
- export { SitepingAuthError, SitepingError, SitepingNetworkError, SitepingValidationError } from "./errors.cjs";
4
+ export type { SitepingClientError, SitepingConfigErrorCode, SitepingErrorCode } from "./errors.cjs";
5
+ export { isSitepingConfigError, isSitepingError, SitepingAuthError, SitepingConfigError, SitepingError, SitepingNetworkError, SitepingValidationError, } from "./errors.cjs";
6
6
  export type { FilterResult, Pagination } from "./filters.cjs";
7
7
  export { applyFeedbackFilters, clampPagination, DEFAULT_PAGE_LIMIT, isUnreachableOffset, MAX_PAGE_LIMIT, matchesFeedbackQuery, } from "./filters.cjs";
8
8
  export type { I18n, LocaleLoaders, TranslateFunction } from "./i18n.cjs";
9
9
  export { canonicalizeLocale, createI18n, interpolate, intlLocale, tWithParams } from "./i18n.cjs";
10
+ export type { SitepingLogger, SitepingWarnLogger } from "./logger.cjs";
11
+ export { warnSafely } from "./logger.cjs";
10
12
  export type { FieldDef, IndexDef, ModelDef, PrismaNativeType, PrismaScalarType, RelationDef, RelationKind, RelationOnDelete, SitepingModelFieldName, SitepingModelName, } from "./schema.cjs";
11
13
  export { isRelationField, isScalarField, SITEPING_MODELS } from "./schema.cjs";
12
14
  export type { ScreenshotStorage } from "./screenshot-storage.cjs";
13
15
  export { SCREENSHOT_DELETE_CONCURRENCY, screenshotMimeType } from "./screenshot-storage.cjs";
14
16
  export type { CollectionStore, CollectionStoreBackend } from "./store-helpers.cjs";
15
17
  export { buildAnnotationRecord, buildCommentRecord, buildFeedbackRecord, createCollectionStore, } from "./store-helpers.cjs";
18
+ export { REPLACEMENT_CHARACTER, toStorableText, toStorableValue, UNSTORABLE_CODE_UNITS } from "./text.cjs";
16
19
  export type { AssertEqual, IfEquals, Prettify, Serialized } from "./type-utils.cjs";
17
20
  export { hasOwn, isRecord } from "./type-utils.cjs";
18
- export type { AnchorData, AnnotationCreateInput, AnnotationPayload, AnnotationRecord, AnnotationResponse, BuiltinLocale, ClosedFeedbackStatus, CommentAuthorRole, CommentCreateInput, CommentDeletePayload, CommentPayload, CommentRecord, CommentResponse, ConsoleDiagnosticEntry, ConsoleDiagnosticLevel, DiagnosticsCaptureOptions, DiagnosticsSnapshot, FeedbackCreateInput, FeedbackCreateOutcome, FeedbackListPermissions, FeedbackPage, FeedbackPayload, FeedbackPermissions, FeedbackQuery, FeedbackRecord, FeedbackResponse, FeedbackResponseList, FeedbackStatus, FeedbackType, FeedbackUpdateInput, NetworkDiagnosticEntry, OpenFeedbackStatus, PageScope, RectData, ScreenshotRegion, SitepingBaseConfig, SitepingCapabilities, SitepingConfig, SitepingDeepLinkOptions, SitepingHeadersOption, SitepingHttpConfig, SitepingIdentity, SitepingInstance, SitepingLocale, SitepingPanelAction, SitepingPanelActionContext, SitepingPanelActionFeedback, SitepingPanelButtonAction, SitepingPanelLinkAction, SitepingPosition, SitepingPublicEventListener, SitepingPublicEvents, SitepingSkipReason, SitepingStore, SitepingStoreConfig, SitepingTheme, SitepingUnsubscribe, } from "./types.cjs";
19
- export { ANCHOR_ELEMENT_ID_MAX, ANCHOR_ELEMENT_TAG_MAX, BUILTIN_LOCALES, CLOSED_FEEDBACK_STATUSES, COMMENT_AUTHOR_ROLES, COMMENT_BODY_MAX_LENGTH, CONSOLE_DIAGNOSTIC_LEVELS, FEEDBACK_STATUSES, FEEDBACK_TYPES, flattenAnnotation, IDENTITY_FIELD_MAX_LENGTH, isClosedStatus, isStoreDuplicate, isStoreLimit, isStoreNotFound, isStorePersistence, isStoreValueTooLong, MAX_COMMENTS_PER_FEEDBACK, OPEN_FEEDBACK_STATUSES, StoreDuplicateError, StoreLimitError, StoreNotFoundError, StorePersistenceError, StoreValueTooLongError, toFeedbackUpdate, } from "./types.cjs";
21
+ export type { AnchorData, AnnotationCreateInput, AnnotationPayload, AnnotationRecord, AnnotationResponse, BuiltinLocale, ClosedFeedbackStatus, CommentAuthorRole, CommentCreateInput, CommentCreateOutcome, CommentDeletePayload, CommentPayload, CommentPermissions, CommentRecord, CommentResponse, ConsoleDiagnosticEntry, ConsoleDiagnosticLevel, DiagnosticsCaptureOptions, DiagnosticsSnapshot, FeedbackCreateInput, FeedbackCreateOutcome, FeedbackListPermissions, FeedbackPage, FeedbackPayload, FeedbackPermissions, FeedbackQuery, FeedbackRecord, FeedbackResponse, FeedbackResponseList, FeedbackStatus, FeedbackType, FeedbackUpdateInput, NetworkDiagnosticEntry, OpenFeedbackStatus, PageScope, RectData, ScreenshotRegion, SitepingBaseConfig, SitepingCapabilities, SitepingConfig, SitepingDeepLinkOptions, SitepingHeadersOption, SitepingHttpConfig, SitepingIdentity, SitepingInstance, SitepingLocale, SitepingPanelAction, SitepingPanelActionContext, SitepingPanelActionFeedback, SitepingPanelButtonAction, SitepingPanelLinkAction, SitepingPosition, SitepingPublicEventListener, SitepingPublicEvents, SitepingSkipReason, SitepingStore, SitepingStoreConfig, SitepingTheme, SitepingUnsubscribe, } from "./types.cjs";
22
+ export { ANCHOR_ELEMENT_ID_MAX, ANCHOR_ELEMENT_TAG_MAX, BUILTIN_LOCALES, CLIENT_ID_MAX_LENGTH, CLOSED_FEEDBACK_STATUSES, COMMENT_AUTHOR_ROLES, COMMENT_BODY_MAX_LENGTH, CONSOLE_DIAGNOSTIC_LEVELS, FEEDBACK_STATUSES, FEEDBACK_TYPES, flattenAnnotation, IDENTITY_FIELD_MAX_LENGTH, isClosedStatus, isStoreDuplicate, isStoreLimit, isStoreNotFound, isStorePersistence, isStoreValueTooLong, MAX_COMMENTS_PER_FEEDBACK, OPEN_FEEDBACK_STATUSES, PROJECT_NAME_MAX_LENGTH, SITEPING_PROTOCOL_VERSION, StoreDuplicateError, StoreLimitError, StoreNotFoundError, StorePersistenceError, StoreValueTooLongError, toFeedbackUpdate, } from "./types.cjs";
20
23
  export { errorFromResponse, feedbackQueryToSearchParams, isCommentGone, isThreadFull, mergeRequestHeaders, networkErrorFromException, newClientId, withSearchParams, } from "./wire.cjs";
@@ -1,20 +1,23 @@
1
1
  export { settleWithConcurrencyLimit } from "./concurrency.js";
2
- export { buildDeepLink, parseHttpUrl } from "./deep-link.js";
2
+ export { buildDeepLink, isSafeImageUrl, parseHttpUrl } from "./deep-link.js";
3
3
  export { EMAIL_PATTERN, isValidEmail } from "./email.js";
4
- export type { SitepingErrorCode } from "./errors.js";
5
- export { SitepingAuthError, SitepingError, SitepingNetworkError, SitepingValidationError } from "./errors.js";
4
+ export type { SitepingClientError, SitepingConfigErrorCode, SitepingErrorCode } from "./errors.js";
5
+ export { isSitepingConfigError, isSitepingError, SitepingAuthError, SitepingConfigError, SitepingError, SitepingNetworkError, SitepingValidationError, } from "./errors.js";
6
6
  export type { FilterResult, Pagination } from "./filters.js";
7
7
  export { applyFeedbackFilters, clampPagination, DEFAULT_PAGE_LIMIT, isUnreachableOffset, MAX_PAGE_LIMIT, matchesFeedbackQuery, } from "./filters.js";
8
8
  export type { I18n, LocaleLoaders, TranslateFunction } from "./i18n.js";
9
9
  export { canonicalizeLocale, createI18n, interpolate, intlLocale, tWithParams } from "./i18n.js";
10
+ export type { SitepingLogger, SitepingWarnLogger } from "./logger.js";
11
+ export { warnSafely } from "./logger.js";
10
12
  export type { FieldDef, IndexDef, ModelDef, PrismaNativeType, PrismaScalarType, RelationDef, RelationKind, RelationOnDelete, SitepingModelFieldName, SitepingModelName, } from "./schema.js";
11
13
  export { isRelationField, isScalarField, SITEPING_MODELS } from "./schema.js";
12
14
  export type { ScreenshotStorage } from "./screenshot-storage.js";
13
15
  export { SCREENSHOT_DELETE_CONCURRENCY, screenshotMimeType } from "./screenshot-storage.js";
14
16
  export type { CollectionStore, CollectionStoreBackend } from "./store-helpers.js";
15
17
  export { buildAnnotationRecord, buildCommentRecord, buildFeedbackRecord, createCollectionStore, } from "./store-helpers.js";
18
+ export { REPLACEMENT_CHARACTER, toStorableText, toStorableValue, UNSTORABLE_CODE_UNITS } from "./text.js";
16
19
  export type { AssertEqual, IfEquals, Prettify, Serialized } from "./type-utils.js";
17
20
  export { hasOwn, isRecord } from "./type-utils.js";
18
- export type { AnchorData, AnnotationCreateInput, AnnotationPayload, AnnotationRecord, AnnotationResponse, BuiltinLocale, ClosedFeedbackStatus, CommentAuthorRole, CommentCreateInput, CommentDeletePayload, CommentPayload, CommentRecord, CommentResponse, ConsoleDiagnosticEntry, ConsoleDiagnosticLevel, DiagnosticsCaptureOptions, DiagnosticsSnapshot, FeedbackCreateInput, FeedbackCreateOutcome, FeedbackListPermissions, FeedbackPage, FeedbackPayload, FeedbackPermissions, FeedbackQuery, FeedbackRecord, FeedbackResponse, FeedbackResponseList, FeedbackStatus, FeedbackType, FeedbackUpdateInput, NetworkDiagnosticEntry, OpenFeedbackStatus, PageScope, RectData, ScreenshotRegion, SitepingBaseConfig, SitepingCapabilities, SitepingConfig, SitepingDeepLinkOptions, SitepingHeadersOption, SitepingHttpConfig, SitepingIdentity, SitepingInstance, SitepingLocale, SitepingPanelAction, SitepingPanelActionContext, SitepingPanelActionFeedback, SitepingPanelButtonAction, SitepingPanelLinkAction, SitepingPosition, SitepingPublicEventListener, SitepingPublicEvents, SitepingSkipReason, SitepingStore, SitepingStoreConfig, SitepingTheme, SitepingUnsubscribe, } from "./types.js";
19
- export { ANCHOR_ELEMENT_ID_MAX, ANCHOR_ELEMENT_TAG_MAX, BUILTIN_LOCALES, CLOSED_FEEDBACK_STATUSES, COMMENT_AUTHOR_ROLES, COMMENT_BODY_MAX_LENGTH, CONSOLE_DIAGNOSTIC_LEVELS, FEEDBACK_STATUSES, FEEDBACK_TYPES, flattenAnnotation, IDENTITY_FIELD_MAX_LENGTH, isClosedStatus, isStoreDuplicate, isStoreLimit, isStoreNotFound, isStorePersistence, isStoreValueTooLong, MAX_COMMENTS_PER_FEEDBACK, OPEN_FEEDBACK_STATUSES, StoreDuplicateError, StoreLimitError, StoreNotFoundError, StorePersistenceError, StoreValueTooLongError, toFeedbackUpdate, } from "./types.js";
21
+ export type { AnchorData, AnnotationCreateInput, AnnotationPayload, AnnotationRecord, AnnotationResponse, BuiltinLocale, ClosedFeedbackStatus, CommentAuthorRole, CommentCreateInput, CommentCreateOutcome, CommentDeletePayload, CommentPayload, CommentPermissions, CommentRecord, CommentResponse, ConsoleDiagnosticEntry, ConsoleDiagnosticLevel, DiagnosticsCaptureOptions, DiagnosticsSnapshot, FeedbackCreateInput, FeedbackCreateOutcome, FeedbackListPermissions, FeedbackPage, FeedbackPayload, FeedbackPermissions, FeedbackQuery, FeedbackRecord, FeedbackResponse, FeedbackResponseList, FeedbackStatus, FeedbackType, FeedbackUpdateInput, NetworkDiagnosticEntry, OpenFeedbackStatus, PageScope, RectData, ScreenshotRegion, SitepingBaseConfig, SitepingCapabilities, SitepingConfig, SitepingDeepLinkOptions, SitepingHeadersOption, SitepingHttpConfig, SitepingIdentity, SitepingInstance, SitepingLocale, SitepingPanelAction, SitepingPanelActionContext, SitepingPanelActionFeedback, SitepingPanelButtonAction, SitepingPanelLinkAction, SitepingPosition, SitepingPublicEventListener, SitepingPublicEvents, SitepingSkipReason, SitepingStore, SitepingStoreConfig, SitepingTheme, SitepingUnsubscribe, } from "./types.js";
22
+ export { ANCHOR_ELEMENT_ID_MAX, ANCHOR_ELEMENT_TAG_MAX, BUILTIN_LOCALES, CLIENT_ID_MAX_LENGTH, CLOSED_FEEDBACK_STATUSES, COMMENT_AUTHOR_ROLES, COMMENT_BODY_MAX_LENGTH, CONSOLE_DIAGNOSTIC_LEVELS, FEEDBACK_STATUSES, FEEDBACK_TYPES, flattenAnnotation, IDENTITY_FIELD_MAX_LENGTH, isClosedStatus, isStoreDuplicate, isStoreLimit, isStoreNotFound, isStorePersistence, isStoreValueTooLong, MAX_COMMENTS_PER_FEEDBACK, OPEN_FEEDBACK_STATUSES, PROJECT_NAME_MAX_LENGTH, SITEPING_PROTOCOL_VERSION, StoreDuplicateError, StoreLimitError, StoreNotFoundError, StorePersistenceError, StoreValueTooLongError, toFeedbackUpdate, } from "./types.js";
20
23
  export { errorFromResponse, feedbackQueryToSearchParams, isCommentGone, isThreadFull, mergeRequestHeaders, networkErrorFromException, newClientId, withSearchParams, } from "./wire.js";