@bitrix24/b24jssdk 1.3.0 → 2.0.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 (440) hide show
  1. package/README-AI.md +3 -2
  2. package/README.md +2 -0
  3. package/dist/cjs/_virtual/_commonjsHelpers.cjs +19 -0
  4. package/dist/cjs/_virtual/_commonjsHelpers.cjs.map +1 -0
  5. package/dist/cjs/_virtual/protobuf.cjs +20 -0
  6. package/dist/cjs/_virtual/protobuf.cjs.map +1 -0
  7. package/dist/cjs/_virtual/protobuf2.cjs +14 -0
  8. package/dist/cjs/_virtual/protobuf2.cjs.map +1 -0
  9. package/dist/cjs/core/abstract-b24.cjs +357 -0
  10. package/dist/cjs/core/abstract-b24.cjs.map +1 -0
  11. package/dist/cjs/core/actions/abstract-action.cjs +26 -0
  12. package/dist/cjs/core/actions/abstract-action.cjs.map +1 -0
  13. package/dist/cjs/core/actions/abstract-batch.cjs +97 -0
  14. package/dist/cjs/core/actions/abstract-batch.cjs.map +1 -0
  15. package/dist/cjs/core/actions/manager.cjs +55 -0
  16. package/dist/cjs/core/actions/manager.cjs.map +1 -0
  17. package/dist/cjs/core/actions/v2/batch-by-chunk.cjs +95 -0
  18. package/dist/cjs/core/actions/v2/batch-by-chunk.cjs.map +1 -0
  19. package/dist/cjs/core/actions/v2/batch.cjs +128 -0
  20. package/dist/cjs/core/actions/v2/batch.cjs.map +1 -0
  21. package/dist/cjs/core/actions/v2/call-list.cjs +144 -0
  22. package/dist/cjs/core/actions/v2/call-list.cjs.map +1 -0
  23. package/dist/cjs/core/actions/v2/call.cjs +56 -0
  24. package/dist/cjs/core/actions/v2/call.cjs.map +1 -0
  25. package/dist/cjs/core/actions/v2/fetch-list.cjs +145 -0
  26. package/dist/cjs/core/actions/v2/fetch-list.cjs.map +1 -0
  27. package/dist/cjs/core/actions/v2/manager-v2.cjs +76 -0
  28. package/dist/cjs/core/actions/v2/manager-v2.cjs.map +1 -0
  29. package/dist/cjs/core/actions/v3/_keyset-paginate.cjs +69 -0
  30. package/dist/cjs/core/actions/v3/_keyset-paginate.cjs.map +1 -0
  31. package/dist/cjs/core/actions/v3/aggregate.cjs +96 -0
  32. package/dist/cjs/core/actions/v3/aggregate.cjs.map +1 -0
  33. package/dist/cjs/core/actions/v3/batch-by-chunk.cjs +93 -0
  34. package/dist/cjs/core/actions/v3/batch-by-chunk.cjs.map +1 -0
  35. package/dist/cjs/core/actions/v3/batch.cjs +122 -0
  36. package/dist/cjs/core/actions/v3/batch.cjs.map +1 -0
  37. package/dist/cjs/core/actions/v3/call-list.cjs +126 -0
  38. package/dist/cjs/core/actions/v3/call-list.cjs.map +1 -0
  39. package/dist/cjs/core/actions/v3/call-tail.cjs +118 -0
  40. package/dist/cjs/core/actions/v3/call-tail.cjs.map +1 -0
  41. package/dist/cjs/core/actions/v3/call.cjs +51 -0
  42. package/dist/cjs/core/actions/v3/call.cjs.map +1 -0
  43. package/dist/cjs/core/actions/v3/fetch-list.cjs +122 -0
  44. package/dist/cjs/core/actions/v3/fetch-list.cjs.map +1 -0
  45. package/dist/cjs/core/actions/v3/fetch-tail.cjs +112 -0
  46. package/dist/cjs/core/actions/v3/fetch-tail.cjs.map +1 -0
  47. package/dist/cjs/core/actions/v3/manager-v3.cjs +100 -0
  48. package/dist/cjs/core/actions/v3/manager-v3.cjs.map +1 -0
  49. package/dist/cjs/core/http/abstract-http.cjs +641 -0
  50. package/dist/cjs/core/http/abstract-http.cjs.map +1 -0
  51. package/dist/cjs/core/http/ajax-error.cjs +113 -0
  52. package/dist/cjs/core/http/ajax-error.cjs.map +1 -0
  53. package/dist/cjs/core/http/ajax-result.cjs +219 -0
  54. package/dist/cjs/core/http/ajax-result.cjs.map +1 -0
  55. package/dist/cjs/core/http/limiters/adaptive-delayer.cjs +137 -0
  56. package/dist/cjs/core/http/limiters/adaptive-delayer.cjs.map +1 -0
  57. package/dist/cjs/core/http/limiters/manager.cjs +373 -0
  58. package/dist/cjs/core/http/limiters/manager.cjs.map +1 -0
  59. package/dist/cjs/core/http/limiters/operating-limiter.cjs +173 -0
  60. package/dist/cjs/core/http/limiters/operating-limiter.cjs.map +1 -0
  61. package/dist/cjs/core/http/limiters/params-factory.cjs +124 -0
  62. package/dist/cjs/core/http/limiters/params-factory.cjs.map +1 -0
  63. package/dist/cjs/core/http/limiters/rate-limiter.cjs +404 -0
  64. package/dist/cjs/core/http/limiters/rate-limiter.cjs.map +1 -0
  65. package/dist/cjs/core/http/redact.cjs +85 -0
  66. package/dist/cjs/core/http/redact.cjs.map +1 -0
  67. package/dist/cjs/core/http/v2.cjs +85 -0
  68. package/dist/cjs/core/http/v2.cjs.map +1 -0
  69. package/dist/cjs/core/http/v3.cjs +82 -0
  70. package/dist/cjs/core/http/v3.cjs.map +1 -0
  71. package/dist/cjs/core/interaction/batch/abstract-interaction-batch.cjs +71 -0
  72. package/dist/cjs/core/interaction/batch/abstract-interaction-batch.cjs.map +1 -0
  73. package/dist/cjs/core/interaction/batch/parse-row.cjs +69 -0
  74. package/dist/cjs/core/interaction/batch/parse-row.cjs.map +1 -0
  75. package/dist/cjs/core/interaction/batch/processing/interface-strategy.cjs +87 -0
  76. package/dist/cjs/core/interaction/batch/processing/interface-strategy.cjs.map +1 -0
  77. package/dist/cjs/core/interaction/batch/processing/v2/abstract-processing.cjs +138 -0
  78. package/dist/cjs/core/interaction/batch/processing/v2/abstract-processing.cjs.map +1 -0
  79. package/dist/cjs/core/interaction/batch/processing/v2/as-array.cjs +34 -0
  80. package/dist/cjs/core/interaction/batch/processing/v2/as-array.cjs.map +1 -0
  81. package/dist/cjs/core/interaction/batch/processing/v2/as-object.cjs +34 -0
  82. package/dist/cjs/core/interaction/batch/processing/v2/as-object.cjs.map +1 -0
  83. package/dist/cjs/core/interaction/batch/processing/v3/abstract-processing.cjs +115 -0
  84. package/dist/cjs/core/interaction/batch/processing/v3/abstract-processing.cjs.map +1 -0
  85. package/dist/cjs/core/interaction/batch/processing/v3/as-array.cjs +34 -0
  86. package/dist/cjs/core/interaction/batch/processing/v3/as-array.cjs.map +1 -0
  87. package/dist/cjs/core/interaction/batch/processing/v3/as-object.cjs +34 -0
  88. package/dist/cjs/core/interaction/batch/processing/v3/as-object.cjs.map +1 -0
  89. package/dist/cjs/core/interaction/batch/v2.cjs +47 -0
  90. package/dist/cjs/core/interaction/batch/v2.cjs.map +1 -0
  91. package/dist/cjs/core/interaction/batch/v3.cjs +45 -0
  92. package/dist/cjs/core/interaction/batch/v3.cjs.map +1 -0
  93. package/dist/cjs/core/language/list.cjs +59 -0
  94. package/dist/cjs/core/language/list.cjs.map +1 -0
  95. package/dist/cjs/core/request-id-generator.cjs +44 -0
  96. package/dist/cjs/core/request-id-generator.cjs.map +1 -0
  97. package/dist/cjs/core/result.cjs +137 -0
  98. package/dist/cjs/core/result.cjs.map +1 -0
  99. package/dist/cjs/core/sdk-error.cjs +85 -0
  100. package/dist/cjs/core/sdk-error.cjs.map +1 -0
  101. package/dist/cjs/core/tools/abstract-tool.cjs +26 -0
  102. package/dist/cjs/core/tools/abstract-tool.cjs.map +1 -0
  103. package/dist/cjs/core/tools/healthcheck.cjs +50 -0
  104. package/dist/cjs/core/tools/healthcheck.cjs.map +1 -0
  105. package/dist/cjs/core/tools/manager.cjs +52 -0
  106. package/dist/cjs/core/tools/manager.cjs.map +1 -0
  107. package/dist/cjs/core/tools/ping.cjs +58 -0
  108. package/dist/cjs/core/tools/ping.cjs.map +1 -0
  109. package/dist/cjs/core/version-manager.cjs +57 -0
  110. package/dist/cjs/core/version-manager.cjs.map +1 -0
  111. package/dist/cjs/frame/auth.cjs +100 -0
  112. package/dist/cjs/frame/auth.cjs.map +1 -0
  113. package/dist/cjs/frame/b24.cjs +178 -0
  114. package/dist/cjs/frame/b24.cjs.map +1 -0
  115. package/dist/cjs/frame/dialog.cjs +120 -0
  116. package/dist/cjs/frame/dialog.cjs.map +1 -0
  117. package/dist/cjs/frame/frame.cjs +103 -0
  118. package/dist/cjs/frame/frame.cjs.map +1 -0
  119. package/dist/cjs/frame/message/commands.cjs +39 -0
  120. package/dist/cjs/frame/message/commands.cjs.map +1 -0
  121. package/dist/cjs/frame/message/controller.cjs +191 -0
  122. package/dist/cjs/frame/message/controller.cjs.map +1 -0
  123. package/dist/cjs/frame/options.cjs +108 -0
  124. package/dist/cjs/frame/options.cjs.map +1 -0
  125. package/dist/cjs/frame/parent.cjs +259 -0
  126. package/dist/cjs/frame/parent.cjs.map +1 -0
  127. package/dist/cjs/frame/placement.cjs +156 -0
  128. package/dist/cjs/frame/placement.cjs.map +1 -0
  129. package/dist/cjs/frame/slider.cjs +162 -0
  130. package/dist/cjs/frame/slider.cjs.map +1 -0
  131. package/dist/cjs/helper/abstract-helper.cjs +55 -0
  132. package/dist/cjs/helper/abstract-helper.cjs.map +1 -0
  133. package/dist/cjs/helper/app-manager.cjs +39 -0
  134. package/dist/cjs/helper/app-manager.cjs.map +1 -0
  135. package/dist/cjs/helper/currency-manager.cjs +215 -0
  136. package/dist/cjs/helper/currency-manager.cjs.map +1 -0
  137. package/dist/cjs/helper/helper-manager.cjs +397 -0
  138. package/dist/cjs/helper/helper-manager.cjs.map +1 -0
  139. package/dist/cjs/helper/license-manager.cjs +52 -0
  140. package/dist/cjs/helper/license-manager.cjs.map +1 -0
  141. package/dist/cjs/helper/options-manager.cjs +205 -0
  142. package/dist/cjs/helper/options-manager.cjs.map +1 -0
  143. package/dist/cjs/helper/payment-manager.cjs +35 -0
  144. package/dist/cjs/helper/payment-manager.cjs.map +1 -0
  145. package/dist/cjs/helper/profile-manager.cjs +35 -0
  146. package/dist/cjs/helper/profile-manager.cjs.map +1 -0
  147. package/dist/cjs/helper/use-b24-helper.cjs +85 -0
  148. package/dist/cjs/helper/use-b24-helper.cjs.map +1 -0
  149. package/dist/cjs/hook/auth.cjs +79 -0
  150. package/dist/cjs/hook/auth.cjs.map +1 -0
  151. package/dist/cjs/hook/b24.cjs +117 -0
  152. package/dist/cjs/hook/b24.cjs.map +1 -0
  153. package/dist/cjs/index.cjs +176 -0
  154. package/dist/cjs/index.cjs.map +1 -0
  155. package/dist/cjs/index.d.cts +6415 -0
  156. package/dist/cjs/index.d.mts +6415 -0
  157. package/dist/cjs/index.d.ts +6415 -0
  158. package/dist/cjs/loader-b24frame.cjs +103 -0
  159. package/dist/cjs/loader-b24frame.cjs.map +1 -0
  160. package/dist/cjs/logger/abstract-logger.cjs +71 -0
  161. package/dist/cjs/logger/abstract-logger.cjs.map +1 -0
  162. package/dist/cjs/logger/browser.cjs +165 -0
  163. package/dist/cjs/logger/browser.cjs.map +1 -0
  164. package/dist/cjs/logger/formatter/abstract-formatter.cjs +36 -0
  165. package/dist/cjs/logger/formatter/abstract-formatter.cjs.map +1 -0
  166. package/dist/cjs/logger/formatter/json-formatter.cjs +36 -0
  167. package/dist/cjs/logger/formatter/json-formatter.cjs.map +1 -0
  168. package/dist/cjs/logger/formatter/line-formatter.cjs +43 -0
  169. package/dist/cjs/logger/formatter/line-formatter.cjs.map +1 -0
  170. package/dist/cjs/logger/formatter/telegram-formatter.cjs +105 -0
  171. package/dist/cjs/logger/formatter/telegram-formatter.cjs.map +1 -0
  172. package/dist/cjs/logger/handler/abstract-handler.cjs +41 -0
  173. package/dist/cjs/logger/handler/abstract-handler.cjs.map +1 -0
  174. package/dist/cjs/logger/handler/consola-adapter.cjs +64 -0
  175. package/dist/cjs/logger/handler/consola-adapter.cjs.map +1 -0
  176. package/dist/cjs/logger/handler/console-handler.cjs +100 -0
  177. package/dist/cjs/logger/handler/console-handler.cjs.map +1 -0
  178. package/dist/cjs/logger/handler/console-v2-handler.cjs +53 -0
  179. package/dist/cjs/logger/handler/console-v2-handler.cjs.map +1 -0
  180. package/dist/cjs/logger/handler/memory-handler.cjs +50 -0
  181. package/dist/cjs/logger/handler/memory-handler.cjs.map +1 -0
  182. package/dist/cjs/logger/handler/stream-handler.cjs +75 -0
  183. package/dist/cjs/logger/handler/stream-handler.cjs.map +1 -0
  184. package/dist/cjs/logger/handler/telegram-handler.cjs +159 -0
  185. package/dist/cjs/logger/handler/telegram-handler.cjs.map +1 -0
  186. package/dist/cjs/logger/handler/winston-adapter.cjs +59 -0
  187. package/dist/cjs/logger/handler/winston-adapter.cjs.map +1 -0
  188. package/dist/cjs/logger/logger-factory.cjs +69 -0
  189. package/dist/cjs/logger/logger-factory.cjs.map +1 -0
  190. package/dist/cjs/logger/logger.cjs +78 -0
  191. package/dist/cjs/logger/logger.cjs.map +1 -0
  192. package/dist/cjs/logger/null-logger.cjs +34 -0
  193. package/dist/cjs/logger/null-logger.cjs.map +1 -0
  194. package/dist/cjs/logger/processor/memory-usage-processor.cjs +22 -0
  195. package/dist/cjs/logger/processor/memory-usage-processor.cjs.map +1 -0
  196. package/dist/cjs/logger/processor/pid-processor.cjs +22 -0
  197. package/dist/cjs/logger/processor/pid-processor.cjs.map +1 -0
  198. package/dist/cjs/oauth/auth.cjs +214 -0
  199. package/dist/cjs/oauth/auth.cjs.map +1 -0
  200. package/dist/cjs/oauth/b24.cjs +119 -0
  201. package/dist/cjs/oauth/b24.cjs.map +1 -0
  202. package/dist/cjs/oauth/refresh-token-error.cjs +22 -0
  203. package/dist/cjs/oauth/refresh-token-error.cjs.map +1 -0
  204. package/dist/cjs/pullClient/abstract-connector.cjs +80 -0
  205. package/dist/cjs/pullClient/abstract-connector.cjs.map +1 -0
  206. package/dist/cjs/pullClient/channel-manager.cjs +91 -0
  207. package/dist/cjs/pullClient/channel-manager.cjs.map +1 -0
  208. package/dist/cjs/pullClient/client.cjs +2177 -0
  209. package/dist/cjs/pullClient/client.cjs.map +1 -0
  210. package/dist/cjs/pullClient/errors.cjs +34 -0
  211. package/dist/cjs/pullClient/errors.cjs.map +1 -0
  212. package/dist/cjs/pullClient/json-rpc.cjs +213 -0
  213. package/dist/cjs/pullClient/json-rpc.cjs.map +1 -0
  214. package/dist/cjs/pullClient/long-polling-connector.cjs +159 -0
  215. package/dist/cjs/pullClient/long-polling-connector.cjs.map +1 -0
  216. package/dist/cjs/pullClient/protobuf/index.cjs +22 -0
  217. package/dist/cjs/pullClient/protobuf/index.cjs.map +1 -0
  218. package/dist/cjs/pullClient/protobuf/model.cjs +1060 -0
  219. package/dist/cjs/pullClient/protobuf/model.cjs.map +1 -0
  220. package/dist/cjs/pullClient/protobuf/protobuf.cjs +4655 -0
  221. package/dist/cjs/pullClient/protobuf/protobuf.cjs.map +1 -0
  222. package/dist/cjs/pullClient/shared-config.cjs +135 -0
  223. package/dist/cjs/pullClient/shared-config.cjs.map +1 -0
  224. package/dist/cjs/pullClient/storage-manager.cjs +74 -0
  225. package/dist/cjs/pullClient/storage-manager.cjs.map +1 -0
  226. package/dist/cjs/pullClient/web-socket-connector.cjs +131 -0
  227. package/dist/cjs/pullClient/web-socket-connector.cjs.map +1 -0
  228. package/dist/cjs/tools/batch-ref-v3.cjs +54 -0
  229. package/dist/cjs/tools/batch-ref-v3.cjs.map +1 -0
  230. package/dist/cjs/tools/browser.cjs +156 -0
  231. package/dist/cjs/tools/browser.cjs.map +1 -0
  232. package/dist/cjs/tools/environment.cjs +32 -0
  233. package/dist/cjs/tools/environment.cjs.map +1 -0
  234. package/dist/cjs/tools/filter-v3.cjs +139 -0
  235. package/dist/cjs/tools/filter-v3.cjs.map +1 -0
  236. package/dist/cjs/tools/formatters/iban.cjs +307 -0
  237. package/dist/cjs/tools/formatters/iban.cjs.map +1 -0
  238. package/dist/cjs/tools/formatters/numbers.cjs +68 -0
  239. package/dist/cjs/tools/formatters/numbers.cjs.map +1 -0
  240. package/dist/cjs/tools/index.cjs +42 -0
  241. package/dist/cjs/tools/index.cjs.map +1 -0
  242. package/dist/cjs/tools/scroll-size.cjs +29 -0
  243. package/dist/cjs/tools/scroll-size.cjs.map +1 -0
  244. package/dist/cjs/tools/text.cjs +210 -0
  245. package/dist/cjs/tools/text.cjs.map +1 -0
  246. package/dist/cjs/tools/type.cjs +339 -0
  247. package/dist/cjs/tools/type.cjs.map +1 -0
  248. package/dist/cjs/tools/use-formatters.cjs +462 -0
  249. package/dist/cjs/tools/use-formatters.cjs.map +1 -0
  250. package/dist/cjs/tools/uuidv7.cjs +58 -0
  251. package/dist/cjs/tools/uuidv7.cjs.map +1 -0
  252. package/dist/cjs/types/b24-helper.cjs +62 -0
  253. package/dist/cjs/types/b24-helper.cjs.map +1 -0
  254. package/dist/cjs/types/b24.cjs +18 -0
  255. package/dist/cjs/types/b24.cjs.map +1 -0
  256. package/dist/cjs/types/bizproc/index.cjs +195 -0
  257. package/dist/cjs/types/bizproc/index.cjs.map +1 -0
  258. package/dist/cjs/types/catalog/index.cjs +39 -0
  259. package/dist/cjs/types/catalog/index.cjs.map +1 -0
  260. package/dist/cjs/types/common.cjs +33 -0
  261. package/dist/cjs/types/common.cjs.map +1 -0
  262. package/dist/cjs/types/crm/entity-type.cjs +62 -0
  263. package/dist/cjs/types/crm/entity-type.cjs.map +1 -0
  264. package/dist/cjs/types/crm/productrow.cjs +19 -0
  265. package/dist/cjs/types/crm/productrow.cjs.map +1 -0
  266. package/dist/cjs/types/logger.cjs +24 -0
  267. package/dist/cjs/types/logger.cjs.map +1 -0
  268. package/dist/cjs/types/pull.cjs +94 -0
  269. package/dist/cjs/types/pull.cjs.map +1 -0
  270. package/dist/esm/_virtual/_commonjsHelpers.mjs +1 -1
  271. package/dist/esm/_virtual/protobuf.mjs +1 -1
  272. package/dist/esm/_virtual/protobuf2.mjs +1 -1
  273. package/dist/esm/core/abstract-b24.mjs +1 -1
  274. package/dist/esm/core/actions/abstract-action.mjs +1 -1
  275. package/dist/esm/core/actions/abstract-batch.mjs +1 -1
  276. package/dist/esm/core/actions/manager.mjs +1 -1
  277. package/dist/esm/core/actions/v2/batch-by-chunk.mjs +1 -1
  278. package/dist/esm/core/actions/v2/batch.mjs +1 -1
  279. package/dist/esm/core/actions/v2/call-list.mjs +1 -1
  280. package/dist/esm/core/actions/v2/call.mjs +1 -15
  281. package/dist/esm/core/actions/v2/call.mjs.map +1 -1
  282. package/dist/esm/core/actions/v2/fetch-list.mjs +1 -1
  283. package/dist/esm/core/actions/v2/manager-v2.mjs +1 -1
  284. package/dist/esm/core/actions/v3/_keyset-paginate.mjs +66 -0
  285. package/dist/esm/core/actions/v3/_keyset-paginate.mjs.map +1 -0
  286. package/dist/esm/core/actions/v3/aggregate.mjs +94 -0
  287. package/dist/esm/core/actions/v3/aggregate.mjs.map +1 -0
  288. package/dist/esm/core/actions/v3/batch-by-chunk.mjs +1 -1
  289. package/dist/esm/core/actions/v3/batch.mjs +1 -10
  290. package/dist/esm/core/actions/v3/batch.mjs.map +1 -1
  291. package/dist/esm/core/actions/v3/call-list.mjs +30 -44
  292. package/dist/esm/core/actions/v3/call-list.mjs.map +1 -1
  293. package/dist/esm/core/actions/v3/call-tail.mjs +116 -0
  294. package/dist/esm/core/actions/v3/call-tail.mjs.map +1 -0
  295. package/dist/esm/core/actions/v3/call.mjs +1 -10
  296. package/dist/esm/core/actions/v3/call.mjs.map +1 -1
  297. package/dist/esm/core/actions/v3/fetch-list.mjs +24 -41
  298. package/dist/esm/core/actions/v3/fetch-list.mjs.map +1 -1
  299. package/dist/esm/core/actions/v3/fetch-tail.mjs +110 -0
  300. package/dist/esm/core/actions/v3/fetch-tail.mjs.map +1 -0
  301. package/dist/esm/core/actions/v3/manager-v3.mjs +25 -1
  302. package/dist/esm/core/actions/v3/manager-v3.mjs.map +1 -1
  303. package/dist/esm/core/http/abstract-http.mjs +68 -17
  304. package/dist/esm/core/http/abstract-http.mjs.map +1 -1
  305. package/dist/esm/core/http/ajax-error.mjs +1 -1
  306. package/dist/esm/core/http/ajax-result.mjs +9 -8
  307. package/dist/esm/core/http/ajax-result.mjs.map +1 -1
  308. package/dist/esm/core/http/limiters/adaptive-delayer.mjs +1 -1
  309. package/dist/esm/core/http/limiters/manager.mjs +1 -1
  310. package/dist/esm/core/http/limiters/operating-limiter.mjs +1 -1
  311. package/dist/esm/core/http/limiters/params-factory.mjs +1 -1
  312. package/dist/esm/core/http/limiters/rate-limiter.mjs +1 -1
  313. package/dist/esm/core/http/redact.mjs +41 -13
  314. package/dist/esm/core/http/redact.mjs.map +1 -1
  315. package/dist/esm/core/http/v2.mjs +1 -18
  316. package/dist/esm/core/http/v2.mjs.map +1 -1
  317. package/dist/esm/core/http/v3.mjs +1 -15
  318. package/dist/esm/core/http/v3.mjs.map +1 -1
  319. package/dist/esm/core/interaction/batch/abstract-interaction-batch.mjs +1 -1
  320. package/dist/esm/core/interaction/batch/parse-row.mjs +1 -1
  321. package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs +44 -1
  322. package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs.map +1 -1
  323. package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs +7 -6
  324. package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs.map +1 -1
  325. package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs +3 -3
  326. package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs.map +1 -1
  327. package/dist/esm/core/interaction/batch/processing/v2/as-object.mjs +1 -1
  328. package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs +7 -19
  329. package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs.map +1 -1
  330. package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs +3 -3
  331. package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs.map +1 -1
  332. package/dist/esm/core/interaction/batch/processing/v3/as-object.mjs +1 -1
  333. package/dist/esm/core/interaction/batch/v2.mjs +1 -1
  334. package/dist/esm/core/interaction/batch/v3.mjs +1 -1
  335. package/dist/esm/core/language/list.mjs +1 -1
  336. package/dist/esm/core/request-id-generator.mjs +1 -1
  337. package/dist/esm/core/result.mjs +11 -4
  338. package/dist/esm/core/result.mjs.map +1 -1
  339. package/dist/esm/core/sdk-error.mjs +1 -1
  340. package/dist/esm/core/tools/abstract-tool.mjs +1 -1
  341. package/dist/esm/core/tools/healthcheck.mjs +1 -1
  342. package/dist/esm/core/tools/manager.mjs +1 -1
  343. package/dist/esm/core/tools/ping.mjs +1 -1
  344. package/dist/esm/core/version-manager.mjs +19 -157
  345. package/dist/esm/core/version-manager.mjs.map +1 -1
  346. package/dist/esm/frame/auth.mjs +1 -1
  347. package/dist/esm/frame/b24.mjs +8 -2
  348. package/dist/esm/frame/b24.mjs.map +1 -1
  349. package/dist/esm/frame/dialog.mjs +1 -1
  350. package/dist/esm/frame/frame.mjs +1 -1
  351. package/dist/esm/frame/message/commands.mjs +1 -1
  352. package/dist/esm/frame/message/controller.mjs +17 -6
  353. package/dist/esm/frame/message/controller.mjs.map +1 -1
  354. package/dist/esm/frame/options.mjs +1 -1
  355. package/dist/esm/frame/parent.mjs +1 -1
  356. package/dist/esm/frame/placement.mjs +1 -1
  357. package/dist/esm/frame/slider.mjs +1 -1
  358. package/dist/esm/helper/abstract-helper.mjs +1 -1
  359. package/dist/esm/helper/app-manager.mjs +1 -1
  360. package/dist/esm/helper/currency-manager.mjs +1 -1
  361. package/dist/esm/helper/helper-manager.mjs +1 -1
  362. package/dist/esm/helper/license-manager.mjs +1 -1
  363. package/dist/esm/helper/options-manager.mjs +1 -1
  364. package/dist/esm/helper/payment-manager.mjs +1 -1
  365. package/dist/esm/helper/profile-manager.mjs +1 -1
  366. package/dist/esm/helper/use-b24-helper.mjs +1 -1
  367. package/dist/esm/hook/auth.mjs +1 -1
  368. package/dist/esm/hook/b24.mjs +3 -3
  369. package/dist/esm/hook/b24.mjs.map +1 -1
  370. package/dist/esm/index.d.mts +412 -39
  371. package/dist/esm/index.d.ts +412 -39
  372. package/dist/esm/index.mjs +3 -1
  373. package/dist/esm/index.mjs.map +1 -1
  374. package/dist/esm/loader-b24frame.mjs +1 -1
  375. package/dist/esm/logger/abstract-logger.mjs +1 -1
  376. package/dist/esm/logger/browser.mjs +1 -1
  377. package/dist/esm/logger/formatter/abstract-formatter.mjs +1 -1
  378. package/dist/esm/logger/formatter/json-formatter.mjs +1 -1
  379. package/dist/esm/logger/formatter/line-formatter.mjs +1 -1
  380. package/dist/esm/logger/formatter/telegram-formatter.mjs +1 -1
  381. package/dist/esm/logger/handler/abstract-handler.mjs +1 -1
  382. package/dist/esm/logger/handler/consola-adapter.mjs +1 -1
  383. package/dist/esm/logger/handler/console-handler.mjs +1 -1
  384. package/dist/esm/logger/handler/console-v2-handler.mjs +1 -1
  385. package/dist/esm/logger/handler/memory-handler.mjs +1 -1
  386. package/dist/esm/logger/handler/stream-handler.mjs +1 -1
  387. package/dist/esm/logger/handler/telegram-handler.mjs +1 -1
  388. package/dist/esm/logger/handler/winston-adapter.mjs +1 -1
  389. package/dist/esm/logger/logger-factory.mjs +1 -1
  390. package/dist/esm/logger/logger.mjs +1 -1
  391. package/dist/esm/logger/null-logger.mjs +1 -1
  392. package/dist/esm/logger/processor/memory-usage-processor.mjs +1 -1
  393. package/dist/esm/logger/processor/pid-processor.mjs +1 -1
  394. package/dist/esm/oauth/auth.mjs +13 -16
  395. package/dist/esm/oauth/auth.mjs.map +1 -1
  396. package/dist/esm/oauth/b24.mjs +1 -1
  397. package/dist/esm/oauth/refresh-token-error.mjs +1 -1
  398. package/dist/esm/pullClient/abstract-connector.mjs +1 -1
  399. package/dist/esm/pullClient/channel-manager.mjs +1 -1
  400. package/dist/esm/pullClient/client.mjs +141 -30
  401. package/dist/esm/pullClient/client.mjs.map +1 -1
  402. package/dist/esm/pullClient/errors.mjs +1 -1
  403. package/dist/esm/pullClient/json-rpc.mjs +5 -4
  404. package/dist/esm/pullClient/json-rpc.mjs.map +1 -1
  405. package/dist/esm/pullClient/long-polling-connector.mjs +1 -1
  406. package/dist/esm/pullClient/protobuf/index.mjs +1 -1
  407. package/dist/esm/pullClient/protobuf/model.mjs +1 -1
  408. package/dist/esm/pullClient/protobuf/protobuf.mjs +1 -1
  409. package/dist/esm/pullClient/shared-config.mjs +1 -1
  410. package/dist/esm/pullClient/storage-manager.mjs +1 -1
  411. package/dist/esm/pullClient/web-socket-connector.mjs +1 -1
  412. package/dist/esm/tools/batch-ref-v3.mjs +52 -0
  413. package/dist/esm/tools/batch-ref-v3.mjs.map +1 -0
  414. package/dist/esm/tools/browser.mjs +1 -1
  415. package/dist/esm/tools/environment.mjs +1 -1
  416. package/dist/esm/tools/filter-v3.mjs +137 -0
  417. package/dist/esm/tools/filter-v3.mjs.map +1 -0
  418. package/dist/esm/tools/formatters/iban.mjs +1 -1
  419. package/dist/esm/tools/formatters/numbers.mjs +1 -1
  420. package/dist/esm/tools/index.mjs +1 -1
  421. package/dist/esm/tools/scroll-size.mjs +1 -1
  422. package/dist/esm/tools/text.mjs +1 -1
  423. package/dist/esm/tools/type.mjs +1 -1
  424. package/dist/esm/tools/use-formatters.mjs +1 -1
  425. package/dist/esm/tools/uuidv7.mjs +1 -1
  426. package/dist/esm/types/b24-helper.mjs +1 -1
  427. package/dist/esm/types/b24.mjs +1 -1
  428. package/dist/esm/types/bizproc/index.mjs +1 -1
  429. package/dist/esm/types/catalog/index.mjs +1 -1
  430. package/dist/esm/types/common.mjs +1 -1
  431. package/dist/esm/types/crm/entity-type.mjs +1 -1
  432. package/dist/esm/types/crm/productrow.mjs +1 -1
  433. package/dist/esm/types/logger.mjs +1 -1
  434. package/dist/esm/types/pull.mjs +1 -1
  435. package/dist/umd/index.js +1258 -719
  436. package/dist/umd/index.js.map +1 -1
  437. package/dist/umd/index.min.js +26 -26
  438. package/dist/umd/index.min.js.map +1 -1
  439. package/dist/umd/package.json +3 -0
  440. package/package.json +12 -4
@@ -0,0 +1,135 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 2.0.0
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ 'use strict';
10
+
11
+ const type = require('../tools/type.cjs');
12
+ const text = require('../tools/text.cjs');
13
+ const storageManager = require('./storage-manager.cjs');
14
+ const pull = require('../types/pull.cjs');
15
+ const loggerFactory = require('../logger/logger-factory.cjs');
16
+
17
+ var __defProp = Object.defineProperty;
18
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
19
+ class SharedConfig {
20
+ static {
21
+ __name(this, "SharedConfig");
22
+ }
23
+ _logger;
24
+ _storage;
25
+ _ttl = 24 * 60 * 60;
26
+ _callbacks;
27
+ constructor(params = {}) {
28
+ this._logger = loggerFactory.LoggerFactory.createNullLogger();
29
+ params = params || {};
30
+ this._storage = params.storage || new storageManager.StorageManager();
31
+ this._callbacks = {
32
+ onWebSocketBlockChanged: type.Type.isFunction(params.onWebSocketBlockChanged) ? params.onWebSocketBlockChanged : () => {
33
+ }
34
+ };
35
+ if (this._storage) {
36
+ window.addEventListener("storage", this.onLocalStorageSet.bind(this));
37
+ }
38
+ }
39
+ setLogger(logger) {
40
+ this._logger = logger;
41
+ }
42
+ getLogger() {
43
+ return this._logger;
44
+ }
45
+ onLocalStorageSet(params) {
46
+ if (this._storage.compareKey(
47
+ params.key || "",
48
+ pull.LsKeys.WebsocketBlocked
49
+ ) && params.newValue !== params.oldValue) {
50
+ this._callbacks.onWebSocketBlockChanged({
51
+ isWebSocketBlocked: this.isWebSocketBlocked()
52
+ });
53
+ }
54
+ }
55
+ isWebSocketBlocked() {
56
+ if (!this._storage) {
57
+ return false;
58
+ }
59
+ return this._storage.get(pull.LsKeys.WebsocketBlocked, 0) > Date.now();
60
+ }
61
+ setWebSocketBlocked(isWebSocketBlocked) {
62
+ if (!this._storage) {
63
+ return false;
64
+ }
65
+ try {
66
+ this._storage.set(
67
+ pull.LsKeys.WebsocketBlocked,
68
+ isWebSocketBlocked ? Date.now() + this._ttl : 0
69
+ );
70
+ } catch (error) {
71
+ this.getLogger().error(
72
+ `${text.Text.getDateForLog()}: Pull: Could not save WS_blocked flag in local storage`,
73
+ { error }
74
+ );
75
+ return false;
76
+ }
77
+ return true;
78
+ }
79
+ isLongPollingBlocked() {
80
+ if (!this._storage) {
81
+ return false;
82
+ }
83
+ return this._storage.get(pull.LsKeys.LongPollingBlocked, 0) > Date.now();
84
+ }
85
+ setLongPollingBlocked(isLongPollingBlocked) {
86
+ if (!this._storage) {
87
+ return false;
88
+ }
89
+ try {
90
+ this._storage.set(
91
+ pull.LsKeys.LongPollingBlocked,
92
+ isLongPollingBlocked ? Date.now() + this._ttl : 0
93
+ );
94
+ } catch (error) {
95
+ this.getLogger().error(
96
+ `${text.Text.getDateForLog()}: Pull: Could not save LP_blocked flag in local storage.`,
97
+ { error }
98
+ );
99
+ return false;
100
+ }
101
+ return true;
102
+ }
103
+ isLoggingEnabled() {
104
+ if (!this._storage) {
105
+ return false;
106
+ }
107
+ return this._storage.get(pull.LsKeys.LoggingEnabled, 0) > this.getTimestamp();
108
+ }
109
+ setLoggingEnabled(isLoggingEnabled) {
110
+ if (!this._storage) {
111
+ return false;
112
+ }
113
+ try {
114
+ this._storage.set(
115
+ pull.LsKeys.LoggingEnabled,
116
+ isLoggingEnabled ? this.getTimestamp() + this._ttl : 0
117
+ );
118
+ } catch (error) {
119
+ this.getLogger().error(
120
+ `${text.Text.getDateForLog()}: LocalStorage error.`,
121
+ { error }
122
+ );
123
+ return false;
124
+ }
125
+ return true;
126
+ }
127
+ // region Tools ////
128
+ getTimestamp() {
129
+ return Date.now();
130
+ }
131
+ // endregion ////
132
+ }
133
+
134
+ exports.SharedConfig = SharedConfig;
135
+ //# sourceMappingURL=shared-config.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-config.cjs","sources":["../../../src/pullClient/shared-config.ts"],"sourcesContent":["import type { SharedConfigCallbacks, SharedConfigParams, TypeStorageManager } from '../types/pull'\nimport type { LoggerInterface } from '../logger'\nimport { LoggerFactory } from '../logger'\nimport { Type } from '../tools/type'\nimport { Text } from '../tools/text'\nimport { StorageManager } from './storage-manager'\nimport { LsKeys } from '../types/pull'\n\nexport class SharedConfig {\n private _logger: LoggerInterface\n private readonly _storage: TypeStorageManager\n private _ttl: number = 24 * 60 * 60\n private _callbacks: SharedConfigCallbacks\n\n constructor(params: SharedConfigParams = {}) {\n this._logger = LoggerFactory.createNullLogger()\n params = params || {}\n this._storage = params.storage || new StorageManager()\n\n this._callbacks = {\n onWebSocketBlockChanged: Type.isFunction(params.onWebSocketBlockChanged)\n ? params.onWebSocketBlockChanged\n : () => {}\n } as SharedConfigCallbacks\n\n if (this._storage) {\n window.addEventListener('storage', this.onLocalStorageSet.bind(this))\n }\n }\n\n setLogger(logger: LoggerInterface): void {\n this._logger = logger\n }\n\n getLogger(): LoggerInterface {\n return this._logger\n }\n\n private onLocalStorageSet(params: StorageEvent): void {\n if (\n (this._storage as StorageManager).compareKey(\n params.key || '',\n LsKeys.WebsocketBlocked\n )\n && params.newValue !== params.oldValue\n ) {\n this._callbacks.onWebSocketBlockChanged({\n isWebSocketBlocked: this.isWebSocketBlocked()\n })\n }\n }\n\n isWebSocketBlocked(): boolean {\n if (!this._storage) {\n return false\n }\n\n return this._storage.get(LsKeys.WebsocketBlocked, 0) > Date.now()\n }\n\n setWebSocketBlocked(isWebSocketBlocked: boolean): boolean {\n if (!this._storage) {\n return false\n }\n\n try {\n this._storage.set(\n LsKeys.WebsocketBlocked,\n isWebSocketBlocked ? Date.now() + this._ttl : 0\n )\n } catch (error) {\n this.getLogger().error(\n `${Text.getDateForLog()}: Pull: Could not save WS_blocked flag in local storage`,\n { error }\n )\n\n return false\n }\n\n return true\n }\n\n isLongPollingBlocked(): boolean {\n if (!this._storage) {\n return false\n }\n\n return this._storage.get(LsKeys.LongPollingBlocked, 0) > Date.now()\n }\n\n setLongPollingBlocked(isLongPollingBlocked: boolean) {\n if (!this._storage) {\n return false\n }\n\n try {\n this._storage.set(\n LsKeys.LongPollingBlocked,\n isLongPollingBlocked ? Date.now() + this._ttl : 0\n )\n } catch (error) {\n this.getLogger().error(\n `${Text.getDateForLog()}: Pull: Could not save LP_blocked flag in local storage.`,\n { error }\n )\n\n return false\n }\n\n return true\n }\n\n isLoggingEnabled(): boolean {\n if (!this._storage) {\n return false\n }\n\n return this._storage.get(LsKeys.LoggingEnabled, 0) > this.getTimestamp()\n }\n\n setLoggingEnabled(isLoggingEnabled: boolean): boolean {\n if (!this._storage) {\n return false\n }\n\n try {\n this._storage.set(\n LsKeys.LoggingEnabled,\n isLoggingEnabled ? this.getTimestamp() + this._ttl : 0\n )\n } catch (error) {\n this.getLogger().error(\n `${Text.getDateForLog()}: LocalStorage error.`,\n { error }\n )\n\n return false\n }\n\n return true\n }\n\n // region Tools ////\n getTimestamp(): number {\n return Date.now()\n }\n // endregion ////\n}\n"],"names":["LoggerFactory","StorageManager","Type","LsKeys","Text"],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 2.0.0
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ 'use strict';
10
+
11
+ const text = require('../tools/text.cjs');
12
+ const loggerFactory = require('../logger/logger-factory.cjs');
13
+
14
+ var __defProp = Object.defineProperty;
15
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
16
+ class StorageManager {
17
+ static {
18
+ __name(this, "StorageManager");
19
+ }
20
+ _logger;
21
+ userId;
22
+ siteId;
23
+ constructor(params = {}) {
24
+ this._logger = loggerFactory.LoggerFactory.createNullLogger();
25
+ this.userId = params.userId ? text.Text.toInteger(params.userId) : 0;
26
+ this.siteId = params.siteId ?? "none";
27
+ }
28
+ setLogger(logger) {
29
+ this._logger = logger;
30
+ }
31
+ getLogger() {
32
+ return this._logger;
33
+ }
34
+ set(name, value) {
35
+ if (typeof window.localStorage === "undefined") {
36
+ this.getLogger().error("localStorage undefined", {
37
+ error: new Error("undefined window.localStorage")
38
+ });
39
+ return;
40
+ }
41
+ if (typeof value !== "string" && value) {
42
+ value = JSON.stringify(value);
43
+ }
44
+ window.localStorage.setItem(this._getKey(name), value);
45
+ }
46
+ get(name, defaultValue) {
47
+ if (typeof window.localStorage === "undefined") {
48
+ return defaultValue || null;
49
+ }
50
+ const result = window.localStorage.getItem(this._getKey(name));
51
+ if (result === null) {
52
+ return defaultValue || null;
53
+ }
54
+ return JSON.parse(result);
55
+ }
56
+ remove(name) {
57
+ if (typeof window.localStorage === "undefined") {
58
+ this.getLogger().error("localStorage undefined", {
59
+ error: new Error("undefined window.localStorage")
60
+ });
61
+ return;
62
+ }
63
+ return window.localStorage.removeItem(this._getKey(name));
64
+ }
65
+ _getKey(name) {
66
+ return `@bitrix24/b24jssdk-pull-${this.userId}-${this.siteId}-${name}`;
67
+ }
68
+ compareKey(eventKey, userKey) {
69
+ return eventKey === this._getKey(userKey);
70
+ }
71
+ }
72
+
73
+ exports.StorageManager = StorageManager;
74
+ //# sourceMappingURL=storage-manager.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-manager.cjs","sources":["../../../src/pullClient/storage-manager.ts"],"sourcesContent":["import type { StorageManagerParams, TypeStorageManager } from '../types/pull'\nimport type { LoggerInterface } from '../logger'\nimport { LoggerFactory } from '../logger'\nimport { Text } from '../tools/text'\n\nexport class StorageManager implements TypeStorageManager {\n private _logger: LoggerInterface\n\n private readonly userId: number\n private readonly siteId: string\n\n constructor(params: StorageManagerParams = {}) {\n this._logger = LoggerFactory.createNullLogger()\n this.userId = params.userId ? Text.toInteger(params.userId) : 0\n this.siteId = params.siteId ?? 'none'\n }\n\n setLogger(logger: LoggerInterface): void {\n this._logger = logger\n }\n\n getLogger(): LoggerInterface {\n return this._logger\n }\n\n set(name: string, value: any): void {\n if (typeof window.localStorage === 'undefined') {\n this.getLogger().error('localStorage undefined', {\n error: new Error('undefined window.localStorage')\n })\n return\n }\n\n if (typeof value !== 'string' && value) {\n value = JSON.stringify(value)\n }\n\n window.localStorage.setItem(this._getKey(name), value)\n }\n\n get(name: string, defaultValue: any): any {\n if (typeof window.localStorage === 'undefined') {\n return defaultValue || null\n }\n\n const result = window.localStorage.getItem(this._getKey(name))\n if (result === null) {\n return defaultValue || null\n }\n\n return JSON.parse(result)\n }\n\n remove(name: string): void {\n if (typeof window.localStorage === 'undefined') {\n this.getLogger().error('localStorage undefined', {\n error: new Error('undefined window.localStorage')\n })\n return\n }\n\n return window.localStorage.removeItem(this._getKey(name))\n }\n\n private _getKey(name: string): string {\n return `@bitrix24/b24jssdk-pull-${this.userId}-${this.siteId}-${name}`\n }\n\n compareKey(eventKey: string, userKey: string): boolean {\n return eventKey === this._getKey(userKey)\n }\n}\n"],"names":["LoggerFactory","Text"],"mappings":";;;;;;;;;;;;;;;AAKO,MAAM,cAAA,CAA6C;AAAA,EAL1D;AAK0D,IAAA,MAAA,CAAA,IAAA,EAAA,gBAAA,CAAA;AAAA;AAAA,EAChD,OAAA;AAAA,EAES,MAAA;AAAA,EACA,MAAA;AAAA,EAEjB,WAAA,CAAY,MAAA,GAA+B,EAAC,EAAG;AAC7C,IAAA,IAAA,CAAK,OAAA,GAAUA,4BAAc,gBAAA,EAAiB;AAC9C,IAAA,IAAA,CAAK,SAAS,MAAA,CAAO,MAAA,GAASC,UAAK,SAAA,CAAU,MAAA,CAAO,MAAM,CAAA,GAAI,CAAA;AAC9D,IAAA,IAAA,CAAK,MAAA,GAAS,OAAO,MAAA,IAAU,MAAA;AAAA,EACjC;AAAA,EAEA,UAAU,MAAA,EAA+B;AACvC,IAAA,IAAA,CAAK,OAAA,GAAU,MAAA;AAAA,EACjB;AAAA,EAEA,SAAA,GAA6B;AAC3B,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA,EAEA,GAAA,CAAI,MAAc,KAAA,EAAkB;AAClC,IAAA,IAAI,OAAO,MAAA,CAAO,YAAA,KAAiB,WAAA,EAAa;AAC9C,MAAA,IAAA,CAAK,SAAA,EAAU,CAAE,KAAA,CAAM,wBAAA,EAA0B;AAAA,QAC/C,KAAA,EAAO,IAAI,KAAA,CAAM,+BAA+B;AAAA,OACjD,CAAA;AACD,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,OAAO,KAAA,KAAU,QAAA,IAAY,KAAA,EAAO;AACtC,MAAA,KAAA,GAAQ,IAAA,CAAK,UAAU,KAAK,CAAA;AAAA,IAC9B;AAEA,IAAA,MAAA,CAAO,aAAa,OAAA,CAAQ,IAAA,CAAK,OAAA,CAAQ,IAAI,GAAG,KAAK,CAAA;AAAA,EACvD;AAAA,EAEA,GAAA,CAAI,MAAc,YAAA,EAAwB;AACxC,IAAA,IAAI,OAAO,MAAA,CAAO,YAAA,KAAiB,WAAA,EAAa;AAC9C,MAAA,OAAO,YAAA,IAAgB,IAAA;AAAA,IACzB;AAEA,IAAA,MAAM,SAAS,MAAA,CAAO,YAAA,CAAa,QAAQ,IAAA,CAAK,OAAA,CAAQ,IAAI,CAAC,CAAA;AAC7D,IAAA,IAAI,WAAW,IAAA,EAAM;AACnB,MAAA,OAAO,YAAA,IAAgB,IAAA;AAAA,IACzB;AAEA,IAAA,OAAO,IAAA,CAAK,MAAM,MAAM,CAAA;AAAA,EAC1B;AAAA,EAEA,OAAO,IAAA,EAAoB;AACzB,IAAA,IAAI,OAAO,MAAA,CAAO,YAAA,KAAiB,WAAA,EAAa;AAC9C,MAAA,IAAA,CAAK,SAAA,EAAU,CAAE,KAAA,CAAM,wBAAA,EAA0B;AAAA,QAC/C,KAAA,EAAO,IAAI,KAAA,CAAM,+BAA+B;AAAA,OACjD,CAAA;AACD,MAAA;AAAA,IACF;AAEA,IAAA,OAAO,OAAO,YAAA,CAAa,UAAA,CAAW,IAAA,CAAK,OAAA,CAAQ,IAAI,CAAC,CAAA;AAAA,EAC1D;AAAA,EAEQ,QAAQ,IAAA,EAAsB;AACpC,IAAA,OAAO,2BAA2B,IAAA,CAAK,MAAM,IAAI,IAAA,CAAK,MAAM,IAAI,IAAI,CAAA,CAAA;AAAA,EACtE;AAAA,EAEA,UAAA,CAAW,UAAkB,OAAA,EAA0B;AACrD,IAAA,OAAO,QAAA,KAAa,IAAA,CAAK,OAAA,CAAQ,OAAO,CAAA;AAAA,EAC1C;AACF;;;;"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 2.0.0
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ 'use strict';
10
+
11
+ const text = require('../tools/text.cjs');
12
+ const abstractConnector = require('./abstract-connector.cjs');
13
+ const pull = require('../types/pull.cjs');
14
+
15
+ var __defProp = Object.defineProperty;
16
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
17
+ class WebSocketConnector extends abstractConnector.AbstractConnector {
18
+ static {
19
+ __name(this, "WebSocketConnector");
20
+ }
21
+ _socket;
22
+ _onSocketOpenHandler;
23
+ _onSocketCloseHandler;
24
+ _onSocketErrorHandler;
25
+ _onSocketMessageHandler;
26
+ constructor(config) {
27
+ super(config);
28
+ this._connectionType = pull.ConnectionType.WebSocket;
29
+ this._socket = null;
30
+ this._onSocketOpenHandler = this._onSocketOpen.bind(this);
31
+ this._onSocketCloseHandler = this._onSocketClose.bind(this);
32
+ this._onSocketErrorHandler = this._onSocketError.bind(this);
33
+ this._onSocketMessageHandler = this._onSocketMessage.bind(this);
34
+ }
35
+ destroy() {
36
+ super.destroy();
37
+ if (this._socket) {
38
+ this._socket.close();
39
+ this._socket = null;
40
+ }
41
+ }
42
+ /**
43
+ * @inheritDoc
44
+ */
45
+ connect() {
46
+ if (this._socket) {
47
+ if (this._socket.readyState === 1) {
48
+ return;
49
+ } else {
50
+ this.clearEventListener();
51
+ this._socket.close();
52
+ this._socket = null;
53
+ }
54
+ }
55
+ this._createSocket();
56
+ }
57
+ get socket() {
58
+ return this._socket;
59
+ }
60
+ /**
61
+ * @inheritDoc
62
+ * @param code
63
+ * @param reason
64
+ */
65
+ disconnect(code, reason) {
66
+ if (this._socket !== null) {
67
+ this.clearEventListener();
68
+ this._socket.close(code, reason);
69
+ }
70
+ this._socket = null;
71
+ this._disconnectCode = code;
72
+ this._disconnectReason = reason;
73
+ this.connected = false;
74
+ }
75
+ /**
76
+ * Via websocket connection
77
+ * @inheritDoc
78
+ */
79
+ send(buffer) {
80
+ if (!this._socket || this._socket.readyState !== 1) {
81
+ this.getLogger().error(`${text.Text.getDateForLog()}: Pull: WebSocket is not connected`);
82
+ return false;
83
+ }
84
+ this._socket.send(buffer);
85
+ return true;
86
+ }
87
+ // region Event Handlers ////
88
+ _onSocketOpen() {
89
+ this.connected = true;
90
+ }
91
+ _onSocketClose(event) {
92
+ this._socket = null;
93
+ this._disconnectCode = Number(event.code);
94
+ this._disconnectReason = event.reason;
95
+ this.connected = false;
96
+ }
97
+ _onSocketError(event) {
98
+ this._callbacks.onError(new Error(`Socket error: ${event}`));
99
+ }
100
+ _onSocketMessage(event) {
101
+ this._callbacks.onMessage(event.data);
102
+ }
103
+ // endregion ////
104
+ // region Tools ////
105
+ clearEventListener() {
106
+ if (this._socket) {
107
+ this._socket.removeEventListener("open", this._onSocketOpenHandler);
108
+ this._socket.removeEventListener("close", this._onSocketCloseHandler);
109
+ this._socket.removeEventListener("error", this._onSocketErrorHandler);
110
+ this._socket.removeEventListener("message", this._onSocketMessageHandler);
111
+ }
112
+ }
113
+ _createSocket() {
114
+ if (this._socket) {
115
+ throw new Error("Socket already exists");
116
+ }
117
+ if (!this.connectionPath) {
118
+ throw new Error("Websocket connection path is not defined");
119
+ }
120
+ this._socket = new WebSocket(this.connectionPath);
121
+ this._socket.binaryType = "arraybuffer";
122
+ this._socket.addEventListener("open", this._onSocketOpenHandler);
123
+ this._socket.addEventListener("close", this._onSocketCloseHandler);
124
+ this._socket.addEventListener("error", this._onSocketErrorHandler);
125
+ this._socket.addEventListener("message", this._onSocketMessageHandler);
126
+ }
127
+ // endregion ////
128
+ }
129
+
130
+ exports.WebSocketConnector = WebSocketConnector;
131
+ //# sourceMappingURL=web-socket-connector.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-socket-connector.cjs","sources":["../../../src/pullClient/web-socket-connector.ts"],"sourcesContent":["import type { ConnectorConfig } from '../types/pull'\nimport { Text } from '../tools/text'\nimport { AbstractConnector } from './abstract-connector'\nimport { ConnectionType } from '../types/pull'\n\nexport class WebSocketConnector extends AbstractConnector {\n private _socket: null | WebSocket\n\n private readonly _onSocketOpenHandler: () => void\n private readonly _onSocketCloseHandler: (event: CloseEvent) => void\n private readonly _onSocketErrorHandler: (event: Event) => void\n private readonly _onSocketMessageHandler: (event: MessageEvent) => void\n\n constructor(config: ConnectorConfig) {\n super(config)\n\n this._connectionType = ConnectionType.WebSocket\n this._socket = null\n\n this._onSocketOpenHandler = this._onSocketOpen.bind(this)\n this._onSocketCloseHandler = this._onSocketClose.bind(this)\n this._onSocketErrorHandler = this._onSocketError.bind(this)\n this._onSocketMessageHandler = this._onSocketMessage.bind(this)\n }\n\n override destroy() {\n super.destroy()\n\n if (this._socket) {\n this._socket.close()\n this._socket = null\n }\n }\n\n /**\n * @inheritDoc\n */\n override connect(): void {\n if (this._socket) {\n if (this._socket.readyState === 1) {\n /**\n * @memo already connected\n */\n return\n } else {\n this.clearEventListener()\n\n this._socket.close()\n this._socket = null\n }\n }\n\n this._createSocket()\n }\n\n get socket(): null | WebSocket {\n return this._socket\n }\n\n /**\n * @inheritDoc\n * @param code\n * @param reason\n */\n override disconnect(code: number, reason: string): void {\n if (this._socket !== null) {\n this.clearEventListener()\n\n this._socket.close(code, reason)\n }\n this._socket = null\n this._disconnectCode = code\n this._disconnectReason = reason\n this.connected = false\n }\n\n /**\n * Via websocket connection\n * @inheritDoc\n */\n override send(buffer: ArrayBuffer | string): boolean {\n if (!this._socket || this._socket.readyState !== 1) {\n this.getLogger().error(`${Text.getDateForLog()}: Pull: WebSocket is not connected`)\n\n return false\n }\n\n this._socket.send(buffer)\n return true\n }\n\n // region Event Handlers ////\n private _onSocketOpen(): void {\n this.connected = true\n }\n\n private _onSocketClose(event: CloseEvent) {\n this._socket = null\n this._disconnectCode = Number(event.code)\n this._disconnectReason = event.reason\n this.connected = false\n }\n\n private _onSocketError(event: Event): void {\n this._callbacks.onError(new Error(`Socket error: ${event}`))\n }\n\n private _onSocketMessage(event: MessageEvent): void {\n this._callbacks.onMessage(event.data)\n }\n // endregion ////\n\n // region Tools ////\n private clearEventListener(): void {\n if (this._socket) {\n this._socket.removeEventListener('open', this._onSocketOpenHandler)\n\n this._socket.removeEventListener('close', this._onSocketCloseHandler)\n\n this._socket.removeEventListener('error', this._onSocketErrorHandler)\n\n this._socket.removeEventListener('message', this._onSocketMessageHandler)\n }\n }\n\n private _createSocket(): void {\n if (this._socket) {\n throw new Error('Socket already exists')\n }\n\n if (!this.connectionPath) {\n throw new Error('Websocket connection path is not defined')\n }\n\n this._socket = new WebSocket(this.connectionPath)\n this._socket.binaryType = 'arraybuffer'\n\n this._socket.addEventListener('open', this._onSocketOpenHandler)\n\n this._socket.addEventListener('close', this._onSocketCloseHandler)\n\n this._socket.addEventListener('error', this._onSocketErrorHandler)\n\n this._socket.addEventListener('message', this._onSocketMessageHandler)\n }\n // endregion ////\n}\n"],"names":["AbstractConnector","ConnectionType","Text"],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 2.0.0
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ 'use strict';
10
+
11
+ const sdkError = require('../core/sdk-error.cjs');
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
+ function assertPath(path, who) {
16
+ if (typeof path !== "string" || path.length === 0) {
17
+ throw new sdkError.SdkError({
18
+ code: "JSSDK_BATCH_REF_V3_INVALID_PATH",
19
+ description: `${who}: path must be a non-empty dotted string (e.g. "tasks.id").`,
20
+ status: 400
21
+ });
22
+ }
23
+ }
24
+ __name(assertPath, "assertPath");
25
+ const BatchRefV3 = Object.freeze({
26
+ /**
27
+ * `{ $ref: path }` — substitute a single value from context, e.g.
28
+ * `ref('newTask.item.id')`. `add` → id / `update` → bool results are NOT in
29
+ * context (reference §8); only `item` (get) and `items` (list/tail) are.
30
+ */
31
+ ref(path) {
32
+ assertPath(path, "BatchRefV3.ref");
33
+ return { $ref: path };
34
+ },
35
+ /**
36
+ * `{ $refArray: path }` — collect one field across the `items[]` of an earlier
37
+ * list/tail command, e.g. `refArray('tasks.id')`. The path MUST contain a dot
38
+ * (`alias.field`); the server rejects a dot-less path with INVALIDSELECTEXCEPTION.
39
+ */
40
+ refArray(path) {
41
+ assertPath(path, "BatchRefV3.refArray");
42
+ if (!path.includes(".")) {
43
+ throw new sdkError.SdkError({
44
+ code: "JSSDK_BATCH_REF_V3_INVALID_REF_ARRAY",
45
+ description: `BatchRefV3.refArray: path "${path}" must contain a dot ("alias.field") \u2014 the server collects <field> across the alias's items[].`,
46
+ status: 400
47
+ });
48
+ }
49
+ return { $refArray: path };
50
+ }
51
+ });
52
+
53
+ exports.BatchRefV3 = BatchRefV3;
54
+ //# sourceMappingURL=batch-ref-v3.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-ref-v3.cjs","sources":["../../../src/tools/batch-ref-v3.ts"],"sourcesContent":["import { SdkError } from '../core/sdk-error'\n\n/**\n * A `$ref` substitution marker: pulls a single value from an earlier batch\n * command's context by dotted path (reference §8).\n */\nexport interface BatchRef { $ref: string }\n\n/**\n * A `$refArray` substitution marker: collects one field across the `items[]` of\n * an earlier list/tail command into an array (reference §8).\n */\nexport interface BatchRefArray { $refArray: string }\n\nfunction assertPath(path: string, who: string): void {\n if (typeof path !== 'string' || path.length === 0) {\n throw new SdkError({\n code: 'JSSDK_BATCH_REF_V3_INVALID_PATH',\n description: `${who}: path must be a non-empty dotted string (e.g. \"tasks.id\").`,\n status: 400\n })\n }\n}\n\n/**\n * Helpers for the v3 batch `$ref` / `$refArray` substitution markers (reference\n * §8). The **server** performs the substitution: these helpers just build the\n * marker objects you drop into a later command's `params` (the SDK forwards\n * `params` to the wire `query`), with a little client-side validation. Reference\n * an earlier command by its `as` alias — or by its numeric index if you omit `as`.\n * Only `item` (get) and `items` (list/tail) results land in context; `add` → id\n * and `update` → bool results do not.\n *\n * **v3 only.** Substitution is a v3 batch feature. Dropped into a v2 batch\n * (`actions.v2.batch.make`) the markers are NOT substituted — they are encoded\n * as literal filter values and silently yield wrong/empty results.\n *\n * **Security:** the `path` selects from the batch's own response context, but do\n * not build it from untrusted end-user input — a crafted path could read context\n * the caller did not intend to expose to the next command.\n *\n * @example\n * import { BatchRefV3 as R } from '@bitrix24/b24jssdk'\n *\n * const response = await b24.actions.v3.batch.make({\n * calls: [\n * { method: 'tasks.task.list', as: 'tasks', params: { select: ['id'] } },\n * {\n * method: 'tasks.task.comment.list',\n * // server substitutes the array of ids collected from the first command's items[]\n * params: { filter: [['taskId', 'in', R.refArray('tasks.id')]] }\n * }\n * ]\n * })\n */\nexport const BatchRefV3 = Object.freeze({\n /**\n * `{ $ref: path }` — substitute a single value from context, e.g.\n * `ref('newTask.item.id')`. `add` → id / `update` → bool results are NOT in\n * context (reference §8); only `item` (get) and `items` (list/tail) are.\n */\n ref(path: string): BatchRef {\n assertPath(path, 'BatchRefV3.ref')\n return { $ref: path }\n },\n /**\n * `{ $refArray: path }` — collect one field across the `items[]` of an earlier\n * list/tail command, e.g. `refArray('tasks.id')`. The path MUST contain a dot\n * (`alias.field`); the server rejects a dot-less path with INVALIDSELECTEXCEPTION.\n */\n refArray(path: string): BatchRefArray {\n assertPath(path, 'BatchRefV3.refArray')\n if (!path.includes('.')) {\n throw new SdkError({\n code: 'JSSDK_BATCH_REF_V3_INVALID_REF_ARRAY',\n description: `BatchRefV3.refArray: path \"${path}\" must contain a dot (\"alias.field\") — the server collects <field> across the alias's items[].`,\n status: 400\n })\n }\n return { $refArray: path }\n }\n})\n"],"names":["SdkError"],"mappings":";;;;;;;;;;;;;;AAcA,SAAS,UAAA,CAAW,MAAc,GAAA,EAAmB;AACnD,EAAA,IAAI,OAAO,IAAA,KAAS,QAAA,IAAY,IAAA,CAAK,WAAW,CAAA,EAAG;AACjD,IAAA,MAAM,IAAIA,iBAAA,CAAS;AAAA,MACjB,IAAA,EAAM,iCAAA;AAAA,MACN,WAAA,EAAa,GAAG,GAAG,CAAA,2DAAA,CAAA;AAAA,MACnB,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,EACH;AACF;AARS,MAAA,CAAA,UAAA,EAAA,YAAA,CAAA;AAyCF,MAAM,UAAA,GAAa,OAAO,MAAA,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMtC,IAAI,IAAA,EAAwB;AAC1B,IAAA,UAAA,CAAW,MAAM,gBAAgB,CAAA;AACjC,IAAA,OAAO,EAAE,MAAM,IAAA,EAAK;AAAA,EACtB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS,IAAA,EAA6B;AACpC,IAAA,UAAA,CAAW,MAAM,qBAAqB,CAAA;AACtC,IAAA,IAAI,CAAC,IAAA,CAAK,QAAA,CAAS,GAAG,CAAA,EAAG;AACvB,MAAA,MAAM,IAAIA,iBAAA,CAAS;AAAA,QACjB,IAAA,EAAM,sCAAA;AAAA,QACN,WAAA,EAAa,8BAA8B,IAAI,CAAA,mGAAA,CAAA;AAAA,QAC/C,MAAA,EAAQ;AAAA,OACT,CAAA;AAAA,IACH;AACA,IAAA,OAAO,EAAE,WAAW,IAAA,EAAK;AAAA,EAC3B;AACF,CAAC;;;;"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 2.0.0
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ 'use strict';
10
+
11
+ const type = require('./type.cjs');
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
+ let UA = "";
16
+ try {
17
+ UA = navigator?.userAgent.toLowerCase();
18
+ } catch {
19
+ UA = "?";
20
+ }
21
+ class BrowserManager {
22
+ static {
23
+ __name(this, "BrowserManager");
24
+ }
25
+ isOpera() {
26
+ return UA.includes("opera");
27
+ }
28
+ isIE() {
29
+ return "attachEvent" in document && !this.isOpera();
30
+ }
31
+ isIE6() {
32
+ return UA.includes("msie 6");
33
+ }
34
+ isIE7() {
35
+ return UA.includes("msie 7");
36
+ }
37
+ isIE8() {
38
+ return UA.includes("msie 8");
39
+ }
40
+ isIE9() {
41
+ return "documentMode" in document && document?.documentMode >= 9;
42
+ }
43
+ isIE10() {
44
+ return "documentMode" in document && document?.documentMode >= 10;
45
+ }
46
+ isSafari() {
47
+ return UA.includes("safari") && !UA.includes("chrome");
48
+ }
49
+ isFirefox() {
50
+ return UA.includes("firefox");
51
+ }
52
+ isChrome() {
53
+ return UA.includes("chrome");
54
+ }
55
+ detectIEVersion() {
56
+ if (this.isOpera() || this.isSafari() || this.isFirefox() || this.isChrome()) {
57
+ return -1;
58
+ }
59
+ let rv = -1;
60
+ if (
61
+ // @ts-expect-error we detect IEVersion ////
62
+ !!window.MSStream && !window.ActiveXObject && "ActiveXObject" in window
63
+ ) {
64
+ rv = 11;
65
+ } else if (this.isIE10()) {
66
+ rv = 10;
67
+ } else if (this.isIE9()) {
68
+ rv = 9;
69
+ } else if (this.isIE()) {
70
+ rv = 8;
71
+ }
72
+ if (rv === -1 || rv === 8) {
73
+ if (navigator.appName === "Microsoft Internet Explorer") {
74
+ const re = /MSIE (\d[.0-9]*)/;
75
+ const res = navigator.userAgent.match(re);
76
+ if (type.Type.isArrayLike(res) && res.length > 0) {
77
+ rv = Number.parseFloat(res[1]);
78
+ }
79
+ }
80
+ if (navigator.appName === "Netscape") {
81
+ rv = 11;
82
+ const re = /Trident\/.*rv:(\d[.0-9]*)/;
83
+ if (re.exec(navigator.userAgent) != null) {
84
+ const res = navigator.userAgent.match(re);
85
+ if (type.Type.isArrayLike(res) && res.length > 0) {
86
+ rv = Number.parseFloat(res[1]);
87
+ }
88
+ }
89
+ }
90
+ }
91
+ return rv;
92
+ }
93
+ isIE11() {
94
+ return this.detectIEVersion() >= 11;
95
+ }
96
+ isMac() {
97
+ return UA.includes("macintosh");
98
+ }
99
+ isWin() {
100
+ return UA.includes("windows");
101
+ }
102
+ isLinux() {
103
+ return UA.includes("linux") && !this.isAndroid();
104
+ }
105
+ isAndroid() {
106
+ return UA.includes("android");
107
+ }
108
+ isIPad() {
109
+ return UA.includes("ipad;") || this.isMac() && this.isTouchDevice();
110
+ }
111
+ isIPhone() {
112
+ return UA.includes("iphone;");
113
+ }
114
+ isIOS() {
115
+ return this.isIPad() || this.isIPhone();
116
+ }
117
+ isMobile() {
118
+ return this.isIPhone() || this.isIPad() || this.isAndroid() || UA.includes("mobile") || UA.includes("touch");
119
+ }
120
+ isRetina() {
121
+ return (window.devicePixelRatio && window.devicePixelRatio >= 2) === true;
122
+ }
123
+ isTouchDevice() {
124
+ return "ontouchstart" in window || navigator.maxTouchPoints > 0;
125
+ }
126
+ isDoctype(target) {
127
+ const doc = target || document;
128
+ if (doc.compatMode) {
129
+ return doc.compatMode === "CSS1Compat";
130
+ }
131
+ return doc.documentElement && doc.documentElement.clientHeight;
132
+ }
133
+ isLocalStorageSupported() {
134
+ try {
135
+ localStorage.setItem("test", "test");
136
+ localStorage.removeItem("test");
137
+ return true;
138
+ } catch {
139
+ return false;
140
+ }
141
+ }
142
+ detectAndroidVersion() {
143
+ const re = /Android (\d[.0-9]*)/;
144
+ if (re.exec(navigator.userAgent) != null) {
145
+ const res = navigator.userAgent.match(re);
146
+ if (type.Type.isArrayLike(res) && res.length > 0) {
147
+ return Number.parseFloat(res[1]);
148
+ }
149
+ }
150
+ return 0;
151
+ }
152
+ }
153
+ const Browser = new BrowserManager();
154
+
155
+ exports.Browser = Browser;
156
+ //# sourceMappingURL=browser.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.cjs","sources":["../../../src/tools/browser.ts"],"sourcesContent":["import { Type } from './type'\n\nlet UA: string = ''\ntry {\n UA = navigator?.userAgent.toLowerCase()\n} catch {\n UA = '?'\n}\n\n/**\n * @see bitrix/js/main/core/src/lib/browser.js\n */\nclass BrowserManager {\n isOpera(): boolean {\n return UA.includes('opera')\n }\n\n isIE(): boolean {\n return 'attachEvent' in document && !this.isOpera()\n }\n\n isIE6(): boolean {\n return UA.includes('msie 6')\n }\n\n isIE7(): boolean {\n return UA.includes('msie 7')\n }\n\n isIE8(): boolean {\n return UA.includes('msie 8')\n }\n\n isIE9(): boolean {\n return 'documentMode' in document && ((document?.documentMode as number) >= 9)\n }\n\n isIE10(): boolean {\n return 'documentMode' in document && ((document?.documentMode as number) >= 10)\n }\n\n isSafari(): boolean {\n return UA.includes('safari') && !UA.includes('chrome')\n }\n\n isFirefox() {\n return UA.includes('firefox')\n }\n\n isChrome() {\n return UA.includes('chrome')\n }\n\n detectIEVersion() {\n if (\n this.isOpera()\n || this.isSafari()\n || this.isFirefox()\n || this.isChrome()\n ) {\n return -1\n }\n\n let rv = -1\n\n if (\n // @ts-expect-error we detect IEVersion ////\n !!window.MSStream\n // @ts-expect-error we detect IEVersion ////\n && !window.ActiveXObject\n && 'ActiveXObject' in window\n ) {\n rv = 11\n } else if (this.isIE10()) {\n rv = 10\n } else if (this.isIE9()) {\n rv = 9\n } else if (this.isIE()) {\n rv = 8\n }\n\n if (rv === -1 || rv === 8) {\n if (navigator.appName === 'Microsoft Internet Explorer') {\n const re = /MSIE (\\d[.0-9]*)/\n const res = navigator.userAgent.match(re)\n\n if (Type.isArrayLike(res) && res.length > 0) {\n rv = Number.parseFloat(res[1]!)\n }\n }\n\n if (navigator.appName === 'Netscape') {\n // Alternative check for IE 11\n rv = 11\n const re = /Trident\\/.*rv:(\\d[.0-9]*)/\n\n if (re.exec(navigator.userAgent) != null) {\n const res = navigator.userAgent.match(re)\n\n if (Type.isArrayLike(res) && res.length > 0) {\n rv = Number.parseFloat(res[1]!)\n }\n }\n }\n }\n\n return rv\n }\n\n isIE11(): boolean {\n return this.detectIEVersion() >= 11\n }\n\n isMac(): boolean {\n return UA.includes('macintosh')\n }\n\n isWin(): boolean {\n return UA.includes('windows')\n }\n\n isLinux(): boolean {\n return UA.includes('linux') && !this.isAndroid()\n }\n\n isAndroid(): boolean {\n return UA.includes('android')\n }\n\n isIPad(): boolean {\n return UA.includes('ipad;') || (this.isMac() && this.isTouchDevice())\n }\n\n isIPhone(): boolean {\n return UA.includes('iphone;')\n }\n\n isIOS(): boolean {\n return this.isIPad() || this.isIPhone()\n }\n\n isMobile(): boolean {\n return (\n this.isIPhone()\n || this.isIPad()\n || this.isAndroid()\n || UA.includes('mobile')\n || UA.includes('touch')\n )\n }\n\n isRetina(): boolean {\n return (window.devicePixelRatio && window.devicePixelRatio >= 2) === true\n }\n\n isTouchDevice(): boolean {\n return (\n 'ontouchstart' in window\n || navigator.maxTouchPoints > 0\n )\n }\n\n isDoctype(target: any): boolean {\n const doc = target || document\n\n if (doc.compatMode) {\n return doc.compatMode === 'CSS1Compat'\n }\n\n return doc.documentElement && doc.documentElement.clientHeight\n }\n\n isLocalStorageSupported(): boolean {\n try {\n localStorage.setItem('test', 'test')\n localStorage.removeItem('test')\n return true\n } catch {\n return false\n }\n }\n\n detectAndroidVersion(): number {\n const re = /Android (\\d[.0-9]*)/\n\n if (re.exec(navigator.userAgent) != null) {\n const res = navigator.userAgent.match(re)\n if (Type.isArrayLike(res) && res.length > 0) {\n return Number.parseFloat(res[1]!)\n }\n }\n\n return 0\n }\n}\n\nexport const Browser = new BrowserManager()\n"],"names":["Type"],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 2.0.0
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ 'use strict';
10
+
11
+ var __defProp = Object.defineProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ var Environment = /* @__PURE__ */ ((Environment2) => {
14
+ Environment2["UNKNOWN"] = "unknown";
15
+ Environment2["BROWSE"] = "browser";
16
+ Environment2["NODE"] = "node";
17
+ return Environment2;
18
+ })(Environment || {});
19
+ function getEnvironment() {
20
+ if (typeof window !== "undefined" && typeof window.document !== "undefined") {
21
+ return "browser" /* BROWSE */;
22
+ }
23
+ if (typeof process !== "undefined" && process.versions && process.versions.node) {
24
+ return "node" /* NODE */;
25
+ }
26
+ return "unknown" /* UNKNOWN */;
27
+ }
28
+ __name(getEnvironment, "getEnvironment");
29
+
30
+ exports.Environment = Environment;
31
+ exports.getEnvironment = getEnvironment;
32
+ //# sourceMappingURL=environment.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.cjs","sources":["../../../src/tools/environment.ts"],"sourcesContent":["/**\n * Define the environment\n */\n\nexport enum Environment {\n UNKNOWN = 'unknown',\n BROWSE = 'browser',\n NODE = 'node'\n}\n\nexport function getEnvironment(): Environment {\n // Check for the presence of a window (browser)\n if (typeof window !== 'undefined' && typeof window.document !== 'undefined') {\n return Environment.BROWSE\n }\n\n // Check for the presence of process (Node.js)\n if (typeof process !== 'undefined' && process.versions && process.versions.node) {\n return Environment.NODE\n }\n\n return Environment.UNKNOWN\n}\n"],"names":["Environment"],"mappings":";;;;;;;;;;;;AAIO,IAAK,WAAA,qBAAAA,YAAAA,KAAL;AACL,EAAAA,aAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,aAAA,QAAA,CAAA,GAAS,SAAA;AACT,EAAAA,aAAA,MAAA,CAAA,GAAO,MAAA;AAHG,EAAA,OAAAA,YAAAA;AAAA,CAAA,EAAA,WAAA,IAAA,EAAA;AAML,SAAS,cAAA,GAA8B;AAE5C,EAAA,IAAI,OAAO,MAAA,KAAW,WAAA,IAAe,OAAO,MAAA,CAAO,aAAa,WAAA,EAAa;AAC3E,IAAA,OAAO,SAAA;AAAA,EACT;AAGA,EAAA,IAAI,OAAO,OAAA,KAAY,WAAA,IAAe,QAAQ,QAAA,IAAY,OAAA,CAAQ,SAAS,IAAA,EAAM;AAC/E,IAAA,OAAO,MAAA;AAAA,EACT;AAEA,EAAA,OAAO,SAAA;AACT;AAZgB,MAAA,CAAA,cAAA,EAAA,gBAAA,CAAA;;;;;"}