@bitrix24/b24jssdk 1.2.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 (447) hide show
  1. package/README-AI.md +6 -5
  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 +17 -10
  280. package/dist/esm/core/actions/v2/call-list.mjs.map +1 -1
  281. package/dist/esm/core/actions/v2/call.mjs +1 -15
  282. package/dist/esm/core/actions/v2/call.mjs.map +1 -1
  283. package/dist/esm/core/actions/v2/fetch-list.mjs +17 -10
  284. package/dist/esm/core/actions/v2/fetch-list.mjs.map +1 -1
  285. package/dist/esm/core/actions/v2/manager-v2.mjs +6 -6
  286. package/dist/esm/core/actions/v2/manager-v2.mjs.map +1 -1
  287. package/dist/esm/core/actions/v3/_keyset-paginate.mjs +66 -0
  288. package/dist/esm/core/actions/v3/_keyset-paginate.mjs.map +1 -0
  289. package/dist/esm/core/actions/v3/aggregate.mjs +94 -0
  290. package/dist/esm/core/actions/v3/aggregate.mjs.map +1 -0
  291. package/dist/esm/core/actions/v3/batch-by-chunk.mjs +1 -1
  292. package/dist/esm/core/actions/v3/batch.mjs +1 -10
  293. package/dist/esm/core/actions/v3/batch.mjs.map +1 -1
  294. package/dist/esm/core/actions/v3/call-list.mjs +40 -47
  295. package/dist/esm/core/actions/v3/call-list.mjs.map +1 -1
  296. package/dist/esm/core/actions/v3/call-tail.mjs +116 -0
  297. package/dist/esm/core/actions/v3/call-tail.mjs.map +1 -0
  298. package/dist/esm/core/actions/v3/call.mjs +1 -10
  299. package/dist/esm/core/actions/v3/call.mjs.map +1 -1
  300. package/dist/esm/core/actions/v3/fetch-list.mjs +34 -44
  301. package/dist/esm/core/actions/v3/fetch-list.mjs.map +1 -1
  302. package/dist/esm/core/actions/v3/fetch-tail.mjs +110 -0
  303. package/dist/esm/core/actions/v3/fetch-tail.mjs.map +1 -0
  304. package/dist/esm/core/actions/v3/manager-v3.mjs +30 -6
  305. package/dist/esm/core/actions/v3/manager-v3.mjs.map +1 -1
  306. package/dist/esm/core/http/abstract-http.mjs +96 -21
  307. package/dist/esm/core/http/abstract-http.mjs.map +1 -1
  308. package/dist/esm/core/http/ajax-error.mjs +1 -1
  309. package/dist/esm/core/http/ajax-result.mjs +9 -8
  310. package/dist/esm/core/http/ajax-result.mjs.map +1 -1
  311. package/dist/esm/core/http/limiters/adaptive-delayer.mjs +1 -1
  312. package/dist/esm/core/http/limiters/manager.mjs +2 -1
  313. package/dist/esm/core/http/limiters/manager.mjs.map +1 -1
  314. package/dist/esm/core/http/limiters/operating-limiter.mjs +1 -1
  315. package/dist/esm/core/http/limiters/params-factory.mjs +1 -1
  316. package/dist/esm/core/http/limiters/rate-limiter.mjs +1 -1
  317. package/dist/esm/core/http/redact.mjs +41 -13
  318. package/dist/esm/core/http/redact.mjs.map +1 -1
  319. package/dist/esm/core/http/v2.mjs +1 -18
  320. package/dist/esm/core/http/v2.mjs.map +1 -1
  321. package/dist/esm/core/http/v3.mjs +1 -15
  322. package/dist/esm/core/http/v3.mjs.map +1 -1
  323. package/dist/esm/core/interaction/batch/abstract-interaction-batch.mjs +1 -1
  324. package/dist/esm/core/interaction/batch/parse-row.mjs +1 -1
  325. package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs +44 -1
  326. package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs.map +1 -1
  327. package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs +7 -6
  328. package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs.map +1 -1
  329. package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs +3 -3
  330. package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs.map +1 -1
  331. package/dist/esm/core/interaction/batch/processing/v2/as-object.mjs +1 -1
  332. package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs +7 -19
  333. package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs.map +1 -1
  334. package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs +3 -3
  335. package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs.map +1 -1
  336. package/dist/esm/core/interaction/batch/processing/v3/as-object.mjs +1 -1
  337. package/dist/esm/core/interaction/batch/v2.mjs +1 -1
  338. package/dist/esm/core/interaction/batch/v3.mjs +1 -1
  339. package/dist/esm/core/language/list.mjs +1 -1
  340. package/dist/esm/core/request-id-generator.mjs +1 -1
  341. package/dist/esm/core/result.mjs +35 -1
  342. package/dist/esm/core/result.mjs.map +1 -1
  343. package/dist/esm/core/sdk-error.mjs +1 -1
  344. package/dist/esm/core/tools/abstract-tool.mjs +1 -1
  345. package/dist/esm/core/tools/healthcheck.mjs +1 -1
  346. package/dist/esm/core/tools/manager.mjs +3 -3
  347. package/dist/esm/core/tools/manager.mjs.map +1 -1
  348. package/dist/esm/core/tools/ping.mjs +1 -1
  349. package/dist/esm/core/version-manager.mjs +19 -80
  350. package/dist/esm/core/version-manager.mjs.map +1 -1
  351. package/dist/esm/frame/auth.mjs +1 -1
  352. package/dist/esm/frame/b24.mjs +8 -2
  353. package/dist/esm/frame/b24.mjs.map +1 -1
  354. package/dist/esm/frame/dialog.mjs +1 -1
  355. package/dist/esm/frame/frame.mjs +1 -1
  356. package/dist/esm/frame/message/commands.mjs +1 -1
  357. package/dist/esm/frame/message/controller.mjs +17 -6
  358. package/dist/esm/frame/message/controller.mjs.map +1 -1
  359. package/dist/esm/frame/options.mjs +1 -1
  360. package/dist/esm/frame/parent.mjs +6 -2
  361. package/dist/esm/frame/parent.mjs.map +1 -1
  362. package/dist/esm/frame/placement.mjs +1 -1
  363. package/dist/esm/frame/slider.mjs +5 -1
  364. package/dist/esm/frame/slider.mjs.map +1 -1
  365. package/dist/esm/helper/abstract-helper.mjs +1 -1
  366. package/dist/esm/helper/app-manager.mjs +1 -1
  367. package/dist/esm/helper/currency-manager.mjs +1 -1
  368. package/dist/esm/helper/helper-manager.mjs +1 -1
  369. package/dist/esm/helper/license-manager.mjs +1 -1
  370. package/dist/esm/helper/options-manager.mjs +1 -1
  371. package/dist/esm/helper/payment-manager.mjs +1 -1
  372. package/dist/esm/helper/profile-manager.mjs +1 -1
  373. package/dist/esm/helper/use-b24-helper.mjs +1 -1
  374. package/dist/esm/hook/auth.mjs +1 -1
  375. package/dist/esm/hook/b24.mjs +3 -3
  376. package/dist/esm/hook/b24.mjs.map +1 -1
  377. package/dist/esm/index.d.mts +501 -49
  378. package/dist/esm/index.d.ts +501 -49
  379. package/dist/esm/index.mjs +3 -1
  380. package/dist/esm/index.mjs.map +1 -1
  381. package/dist/esm/loader-b24frame.mjs +1 -1
  382. package/dist/esm/logger/abstract-logger.mjs +1 -1
  383. package/dist/esm/logger/browser.mjs +1 -1
  384. package/dist/esm/logger/formatter/abstract-formatter.mjs +1 -1
  385. package/dist/esm/logger/formatter/json-formatter.mjs +1 -1
  386. package/dist/esm/logger/formatter/line-formatter.mjs +1 -1
  387. package/dist/esm/logger/formatter/telegram-formatter.mjs +1 -1
  388. package/dist/esm/logger/handler/abstract-handler.mjs +1 -1
  389. package/dist/esm/logger/handler/consola-adapter.mjs +1 -1
  390. package/dist/esm/logger/handler/console-handler.mjs +1 -1
  391. package/dist/esm/logger/handler/console-v2-handler.mjs +1 -1
  392. package/dist/esm/logger/handler/memory-handler.mjs +1 -1
  393. package/dist/esm/logger/handler/stream-handler.mjs +1 -1
  394. package/dist/esm/logger/handler/telegram-handler.mjs +1 -1
  395. package/dist/esm/logger/handler/winston-adapter.mjs +1 -1
  396. package/dist/esm/logger/logger-factory.mjs +1 -1
  397. package/dist/esm/logger/logger.mjs +1 -1
  398. package/dist/esm/logger/null-logger.mjs +1 -1
  399. package/dist/esm/logger/processor/memory-usage-processor.mjs +1 -1
  400. package/dist/esm/logger/processor/pid-processor.mjs +1 -1
  401. package/dist/esm/oauth/auth.mjs +13 -16
  402. package/dist/esm/oauth/auth.mjs.map +1 -1
  403. package/dist/esm/oauth/b24.mjs +1 -1
  404. package/dist/esm/oauth/refresh-token-error.mjs +1 -1
  405. package/dist/esm/pullClient/abstract-connector.mjs +1 -1
  406. package/dist/esm/pullClient/channel-manager.mjs +1 -1
  407. package/dist/esm/pullClient/client.mjs +141 -30
  408. package/dist/esm/pullClient/client.mjs.map +1 -1
  409. package/dist/esm/pullClient/errors.mjs +1 -1
  410. package/dist/esm/pullClient/json-rpc.mjs +5 -4
  411. package/dist/esm/pullClient/json-rpc.mjs.map +1 -1
  412. package/dist/esm/pullClient/long-polling-connector.mjs +1 -1
  413. package/dist/esm/pullClient/protobuf/index.mjs +1 -1
  414. package/dist/esm/pullClient/protobuf/model.mjs +1 -1
  415. package/dist/esm/pullClient/protobuf/protobuf.mjs +1 -1
  416. package/dist/esm/pullClient/shared-config.mjs +1 -1
  417. package/dist/esm/pullClient/storage-manager.mjs +1 -1
  418. package/dist/esm/pullClient/web-socket-connector.mjs +1 -1
  419. package/dist/esm/tools/batch-ref-v3.mjs +52 -0
  420. package/dist/esm/tools/batch-ref-v3.mjs.map +1 -0
  421. package/dist/esm/tools/browser.mjs +1 -1
  422. package/dist/esm/tools/environment.mjs +1 -1
  423. package/dist/esm/tools/filter-v3.mjs +137 -0
  424. package/dist/esm/tools/filter-v3.mjs.map +1 -0
  425. package/dist/esm/tools/formatters/iban.mjs +1 -1
  426. package/dist/esm/tools/formatters/numbers.mjs +1 -1
  427. package/dist/esm/tools/index.mjs +1 -1
  428. package/dist/esm/tools/scroll-size.mjs +1 -1
  429. package/dist/esm/tools/text.mjs +1 -1
  430. package/dist/esm/tools/type.mjs +1 -1
  431. package/dist/esm/tools/use-formatters.mjs +1 -1
  432. package/dist/esm/tools/uuidv7.mjs +1 -1
  433. package/dist/esm/types/b24-helper.mjs +1 -1
  434. package/dist/esm/types/b24.mjs +1 -1
  435. package/dist/esm/types/bizproc/index.mjs +1 -1
  436. package/dist/esm/types/catalog/index.mjs +1 -1
  437. package/dist/esm/types/common.mjs +1 -1
  438. package/dist/esm/types/crm/entity-type.mjs +1 -1
  439. package/dist/esm/types/crm/productrow.mjs +1 -1
  440. package/dist/esm/types/logger.mjs +1 -1
  441. package/dist/esm/types/pull.mjs +1 -1
  442. package/dist/umd/index.js +1384 -680
  443. package/dist/umd/index.js.map +1 -1
  444. package/dist/umd/index.min.js +26 -26
  445. package/dist/umd/index.min.js.map +1 -1
  446. package/dist/umd/package.json +3 -0
  447. package/package.json +12 -4
@@ -1 +1 @@
1
- {"version":3,"file":"parent.mjs","sources":["../../../src/frame/parent.ts"],"sourcesContent":["import type { MessageManager } from './message'\nimport { MessageCommands } from './message'\nimport useScrollSize from '../tools/scroll-size'\n\n/**\n * Parent window manager\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/\n */\nexport class ParentManager {\n #messageManager: MessageManager\n\n constructor(messageManager: MessageManager) {\n this.#messageManager = messageManager\n }\n\n get message(): MessageManager {\n return this.#messageManager\n }\n\n /**\n * The method closes the open modal window with the application\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-close-application.html\n */\n async closeApplication(): Promise<void> {\n return this.#messageManager.send(MessageCommands.closeApplication, {\n /**\n * @memo There is no point - everything will be closed, and timeout will not be able to do anything\n */\n isSafely: false\n })\n }\n\n /**\n * Sets the size of the frame containing the application to the size of the frame's content.\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-fit-window.html\n *\n * @memo in certain situations it may not be executed (placement of the main window after installing the application), in this case isSafely mode will work\n */\n async fitWindow(): Promise<any> {\n const width = '100%'\n const height = this.getScrollSize().scrollHeight\n\n return this.#messageManager.send(MessageCommands.resizeWindow, {\n width,\n height,\n isSafely: true\n })\n }\n\n /**\n * Sets the size of the frame containing the application to the size of the frame's content.\n *\n * @param {number} width\n * @param {number} height\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-resize-window.html\n *\n * @memo in certain situations it may not be executed, in this case isSafely mode will be triggered\n */\n async resizeWindow(width: number, height: number): Promise<void> {\n if (width > 0 && height > 0) {\n return this.#messageManager.send(MessageCommands.resizeWindow, {\n width,\n height,\n isSafely: true\n })\n }\n\n return Promise.reject(\n new Error(`Wrong width:number = ${width} or height:number = ${height}`)\n )\n }\n\n /**\n * Automatically resize `document.body` of frame with application according to frame content dimensions\n * If you pass appNode, the height will be calculated relative to it\n *\n * @param {HTMLElement|null} appNode\n * @param {number} minHeight\n * @param {number} minWidth\n *\n * @return {Promise<void>}\n */\n async resizeWindowAuto(\n appNode: null | HTMLElement = null,\n minHeight: number = 0,\n minWidth: number = 0\n ): Promise<void> {\n const body = document.body\n // const html = document.documentElement\n\n let width = Math.max(\n body.scrollWidth,\n body.offsetWidth\n\n // html.clientWidth,\n // html.scrollWidth,\n // html.offsetWidth\n )\n\n if (minWidth > 0) {\n width = Math.max(minWidth, width)\n }\n\n let height = Math.max(\n body.scrollHeight,\n body.offsetHeight\n\n // html.clientHeight,\n // html.scrollHeight,\n // html.offsetHeight\n )\n\n if (appNode) {\n height = Math.max(appNode.scrollHeight, appNode.offsetHeight)\n }\n\n if (minHeight > 0) {\n height = Math.max(minHeight, height)\n }\n\n return this.resizeWindow(width, height)\n }\n\n /**\n * This function returns the inner dimensions of the application frame\n *\n * @return {Promise<{scrollWidth: number; scrollHeight: number}>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-get-scroll-size.html\n */\n getScrollSize(): {\n scrollWidth: number\n scrollHeight: number\n } {\n return useScrollSize()\n }\n\n /**\n * Scrolls the parent window\n *\n * @param {number} scroll should specify the vertical scrollbar position (0 - scroll to the very top)\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-scroll-parent-window.html\n */\n async scrollParentWindow(scroll: number): Promise<void> {\n if (!Number.isInteger(scroll)) {\n return Promise.reject(new Error('Wrong scroll number'))\n }\n\n if (scroll < 0) {\n scroll = 0\n }\n\n return this.#messageManager.send(MessageCommands.setScroll, {\n scroll,\n isSafely: true\n })\n }\n\n /**\n * Reload the page with the application (the whole page, not just the frame).\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-reload-window.html\n */\n async reloadWindow(): Promise<void> {\n return this.#messageManager.send(MessageCommands.reloadWindow, {\n isSafely: true\n })\n }\n\n /**\n * Set Page Title\n *\n * @param {string} title\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-set-title.html\n */\n async setTitle(title: string): Promise<void> {\n return this.#messageManager.send(MessageCommands.setTitle, {\n title: title.toString(),\n isSafely: true\n })\n }\n\n /**\n * Initiates a call via internal communication\n *\n * @param {number} userId The identifier of the account user\n * @param {boolean} isVideo true - video call, false - audio call. Optional parameter.\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-im-call-to.html\n */\n async imCallTo(userId: number, isVideo: boolean = true): Promise<void> {\n return this.#messageManager.send(MessageCommands.imCallTo, {\n userId,\n video: isVideo,\n isSafely: true\n })\n }\n\n /**\n * Makes a call to the phone number\n *\n * @param {string} phone Phone number. The number can be in the format: `+44 20 1234 5678` or `x (xxx) xxx-xx-xx`\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-im-phone-to.html\n */\n async imPhoneTo(phone: string): Promise<void> {\n return this.#messageManager.send(MessageCommands.imPhoneTo, {\n phone,\n isSafely: true\n })\n }\n\n /**\n * Opens the messenger window\n * userId or chatXXX - chat, where XXX is the chat identifier, which can simply be a number.\n * sgXXX - group chat, where XXX is the social network group number (the chat must be enabled in this group).\n *\n * XXXX** - open line, where XXX is the code obtained via the Rest method imopenlines.network.join.\n *\n * If nothing is passed, the chat interface will open with the last opened dialog.\n *\n * @param {number|`chat${number}`|`sg${number}`|`imol|${number}`|undefined} dialogId\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-im-open-messenger.html\n * @link https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=20152&LESSON_PATH=7657.7883.8025.20150.20152\n *\n */\n async imOpenMessenger(\n dialogId:\n | number\n | `chat${number}`\n | `sg${number}`\n | `imol|${number}`\n | undefined\n ): Promise<void> {\n return this.#messageManager.send(MessageCommands.imOpenMessenger, {\n dialogId: dialogId,\n isSafely: true\n })\n }\n\n /**\n * Opens the history window\n * Identifier of the dialog:\n *\n * userId or chatXXX - chat, where XXX is the chat identifier, which can simply be a number.\n * imol|XXXX - open line, where XXX is the session number of the open line.\n *\n * @param {number|`chat${number}`|`imol|${number}`} dialogId\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-im-open-history.html\n */\n async imOpenHistory(\n dialogId: number | `chat${number}` | `imol|${number}`\n ): Promise<void> {\n return this.#messageManager.send(MessageCommands.imOpenHistory, {\n dialogId: dialogId,\n isSafely: true\n })\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parent.mjs","sources":["../../../src/frame/parent.ts"],"sourcesContent":["import type { MessageManager } from './message'\nimport { MessageCommands } from './message'\nimport useScrollSize from '../tools/scroll-size'\n\n/**\n * Parent window manager\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/\n */\nexport class ParentManager {\n #messageManager: MessageManager\n\n constructor(messageManager: MessageManager) {\n this.#messageManager = messageManager\n }\n\n get message(): MessageManager {\n return this.#messageManager\n }\n\n /**\n * The method closes the open modal window with the application\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-close-application.html\n */\n async closeApplication(): Promise<void> {\n return this.#messageManager.send(MessageCommands.closeApplication, {\n /**\n * @memo There is no point - everything will be closed, and timeout will not be able to do anything\n */\n isSafely: false\n })\n }\n\n /**\n * Sets the size of the frame containing the application to the size of the frame's content.\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-fit-window.html\n *\n * @memo in certain situations it may not be executed (placement of the main window after installing the application), in this case isSafely mode will work\n */\n async fitWindow(): Promise<any> {\n const width = '100%'\n const height = this.getScrollSize().scrollHeight\n\n return this.#messageManager.send(MessageCommands.resizeWindow, {\n width,\n height,\n isSafely: true\n })\n }\n\n /**\n * Sets the size of the frame containing the application to the size of the frame's content.\n *\n * @param {number} width\n * @param {number} height\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-resize-window.html\n *\n * @memo in certain situations it may not be executed, in this case isSafely mode will be triggered\n */\n async resizeWindow(width: number, height: number): Promise<void> {\n if (width > 0 && height > 0) {\n return this.#messageManager.send(MessageCommands.resizeWindow, {\n width,\n height,\n isSafely: true\n })\n }\n\n return Promise.reject(\n new Error(`Wrong width:number = ${width} or height:number = ${height}`)\n )\n }\n\n /**\n * Automatically resize `document.body` of frame with application according to frame content dimensions\n * If you pass appNode, the height will be calculated relative to it\n *\n * @param {HTMLElement|null} appNode\n * @param {number} minHeight\n * @param {number} minWidth\n *\n * @return {Promise<void>}\n */\n async resizeWindowAuto(\n appNode: null | HTMLElement = null,\n minHeight: number = 0,\n minWidth: number = 0\n ): Promise<void> {\n const body = document.body\n // const html = document.documentElement\n\n let width = Math.max(\n body.scrollWidth,\n body.offsetWidth\n\n // html.clientWidth,\n // html.scrollWidth,\n // html.offsetWidth\n )\n\n if (minWidth > 0) {\n width = Math.max(minWidth, width)\n }\n\n let height = Math.max(\n body.scrollHeight,\n body.offsetHeight\n\n // html.clientHeight,\n // html.scrollHeight,\n // html.offsetHeight\n )\n\n if (appNode) {\n height = Math.max(appNode.scrollHeight, appNode.offsetHeight)\n }\n\n if (minHeight > 0) {\n height = Math.max(minHeight, height)\n }\n\n return this.resizeWindow(width, height)\n }\n\n /**\n * This function returns the inner dimensions of the application frame\n *\n * @return {Promise<{scrollWidth: number; scrollHeight: number}>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-get-scroll-size.html\n */\n getScrollSize(): {\n scrollWidth: number\n scrollHeight: number\n } {\n return useScrollSize()\n }\n\n /**\n * Scrolls the parent window\n *\n * @param {number} scroll should specify the vertical scrollbar position (0 - scroll to the very top)\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-scroll-parent-window.html\n */\n async scrollParentWindow(scroll: number): Promise<void> {\n if (!Number.isInteger(scroll)) {\n return Promise.reject(new Error('Wrong scroll number'))\n }\n\n if (scroll < 0) {\n scroll = 0\n }\n\n return this.#messageManager.send(MessageCommands.setScroll, {\n scroll,\n isSafely: true\n })\n }\n\n /**\n * Reload the page with the application (the whole page, not just the frame).\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-reload-window.html\n */\n async reloadWindow(): Promise<void> {\n return this.#messageManager.send(MessageCommands.reloadWindow, {\n isSafely: true\n })\n }\n\n /**\n * Sets the in-layout page title (the `#pagetitle` element the portal renders around the app).\n *\n * Does NOT change the browser tab title (`document.title`): the portal applies this command to\n * `#pagetitle`, never to the tab. To set the browser tab title, open the view as a slider via\n * `SliderManager.openSliderAppPage` with a `bx24_title` option.\n *\n * @param {string} title\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-set-title.html\n */\n async setTitle(title: string): Promise<void> {\n return this.#messageManager.send(MessageCommands.setTitle, {\n title: title.toString(),\n isSafely: true\n })\n }\n\n /**\n * Initiates a call via internal communication\n *\n * @param {number} userId The identifier of the account user\n * @param {boolean} isVideo true - video call, false - audio call. Optional parameter.\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-im-call-to.html\n */\n async imCallTo(userId: number, isVideo: boolean = true): Promise<void> {\n return this.#messageManager.send(MessageCommands.imCallTo, {\n userId,\n video: isVideo,\n isSafely: true\n })\n }\n\n /**\n * Makes a call to the phone number\n *\n * @param {string} phone Phone number. The number can be in the format: `+44 20 1234 5678` or `x (xxx) xxx-xx-xx`\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-im-phone-to.html\n */\n async imPhoneTo(phone: string): Promise<void> {\n return this.#messageManager.send(MessageCommands.imPhoneTo, {\n phone,\n isSafely: true\n })\n }\n\n /**\n * Opens the messenger window\n * userId or chatXXX - chat, where XXX is the chat identifier, which can simply be a number.\n * sgXXX - group chat, where XXX is the social network group number (the chat must be enabled in this group).\n *\n * XXXX** - open line, where XXX is the code obtained via the Rest method imopenlines.network.join.\n *\n * If nothing is passed, the chat interface will open with the last opened dialog.\n *\n * @param {number|`chat${number}`|`sg${number}`|`imol|${number}`|undefined} dialogId\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-im-open-messenger.html\n * @link https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=20152&LESSON_PATH=7657.7883.8025.20150.20152\n *\n */\n async imOpenMessenger(\n dialogId:\n | number\n | `chat${number}`\n | `sg${number}`\n | `imol|${number}`\n | undefined\n ): Promise<void> {\n return this.#messageManager.send(MessageCommands.imOpenMessenger, {\n dialogId: dialogId,\n isSafely: true\n })\n }\n\n /**\n * Opens the history window\n * Identifier of the dialog:\n *\n * userId or chatXXX - chat, where XXX is the chat identifier, which can simply be a number.\n * imol|XXXX - open line, where XXX is the session number of the open line.\n *\n * @param {number|`chat${number}`|`imol|${number}`} dialogId\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-im-open-history.html\n */\n async imOpenHistory(\n dialogId: number | `chat${number}` | `imol|${number}`\n ): Promise<void> {\n return this.#messageManager.send(MessageCommands.imOpenHistory, {\n dialogId: dialogId,\n isSafely: true\n })\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.2.0
3
+ * @version 2.0.0
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.2.0
3
+ * @version 2.0.0
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -35,6 +35,10 @@ class SliderManager {
35
35
  /**
36
36
  * When the method is called, a pop-up window with the application frame will be opened.
37
37
  *
38
+ * Settings are passed via `bx24_`-prefixed keys (e.g. `bx24_title`, `bx24_width`).
39
+ * `bx24_title` sets the slider title; the portal also reflects it to the browser tab title
40
+ * (`document.title`) — unlike `ParentManager.setTitle`, which only updates the in-layout `#pagetitle`.
41
+ *
38
42
  * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-open-application.html
39
43
  */
40
44
  async openSliderAppPage(params = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"slider.mjs","sources":["../../../src/frame/slider.ts"],"sourcesContent":["import type { AppFrame } from './frame'\nimport type { MessageManager } from './message'\nimport { MessageCommands } from './message'\nimport type { StatusClose } from '../types/slider'\n\n/**\n * Sliders Manager\n */\nexport class SliderManager {\n #appFrame: AppFrame\n #messageManager: MessageManager\n\n constructor(appFrame: AppFrame, messageManager: MessageManager) {\n this.#appFrame = appFrame\n this.#messageManager = messageManager\n }\n\n /**\n * Returns the URL relative to the domain name and path\n */\n getUrl(path: string = '/'): URL {\n return new URL(path, this.#appFrame.getTargetOrigin())\n }\n\n /**\n * Get the account address BX24\n */\n getTargetOrigin(): string {\n return this.#appFrame.getTargetOrigin()\n }\n\n /**\n * When the method is called, a pop-up window with the application frame will be opened.\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-open-application.html\n */\n async openSliderAppPage(params: any = {}): Promise<any> {\n return this.#messageManager.send(MessageCommands.openApplication, params)\n }\n\n /**\n * The method closes the open modal window with the application\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-close-application.html\n */\n async closeSliderAppPage(): Promise<void> {\n return this.#messageManager.send(MessageCommands.closeApplication, {\n /**\n * @memo There is no point - everything will be closed, and timeout will not be able to do anything\n */\n isSafely: false\n })\n }\n\n /**\n * Defines the base path for width sampling.\n *\n * @param width\n * @private\n */\n #getBaseUrlByWidth(width: number = 1640): string {\n if (width > 0) {\n // region Init baseUrl by Width ////\n if (width > 1200 && width <= 1640) {\n return '/crm/type/0/details/0/../../../../..'\n } else if (width > 950 && width <= 1200) {\n return '/company/personal/user/0/groups/create/../../../../../..'\n } else if (width > 900 && width <= 950) {\n return '/crm/company/requisite/0/../../../..'\n } else if (width <= 900) {\n return '/workgroups/group/0/card/../../../..'\n } else {\n // 1640 /////\n return '/crm/deal/../..'\n }\n // endregion ////\n } else {\n return '/crm/deal/../..'\n }\n }\n\n /**\n * Opens the specified path inside the portal in the slider.\n * @param {URL} url\n * @param {number} width - Number in the range from 1640 to 1200, from 1200 to 950, from 950 to 900, from 900 ...\n * @return {Promise<StatusClose>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-open-path.html\n * @memo /^\\/(crm\\/(deal|lead|contact|company|type)|marketplace|company\\/personal\\/user\\/[0-9]+|workgroups\\/group\\/[0-9]+)\\//\n */\n async openPath(url: URL, width: number = 1640): Promise<StatusClose> {\n const openSliderUrl = new URL(url)\n openSliderUrl.searchParams.set('IFRAME', 'Y')\n openSliderUrl.searchParams.set('IFRAME_TYPE', 'SIDE_SLIDER')\n\n /**\n * We are trying to open the slider\n */\n return this.#messageManager\n .send(MessageCommands.openPath, {\n path: [\n this.#getBaseUrlByWidth(width),\n openSliderUrl.pathname,\n openSliderUrl.search\n ].join('')\n })\n .then((response) => {\n /**\n * Error handling\n */\n if (response?.result === 'error') {\n /**\n * If the error is related to using a mobile device, we will open it in a new tab\n * Let's wait 5 minutes - and return the promise to open and not close\n */\n if (response?.errorCode === 'METHOD_NOT_SUPPORTED_ON_DEVICE') {\n return new Promise((resolve, reject) => {\n const windowObjectReference = window.open(url, '_blank')\n if (!windowObjectReference) {\n reject(new Error('Error open window'))\n return\n }\n\n let iterator = 0\n // 5 min ////\n const iteratorMax = 1_000 * 60 * 5\n const waitCloseWindow = window.setInterval(() => {\n iterator = iterator + 1\n\n if (windowObjectReference.closed) {\n clearInterval(waitCloseWindow)\n resolve({\n isOpenAtNewWindow: true,\n isClose: true\n })\n } else if (iterator > iteratorMax) {\n clearInterval(waitCloseWindow)\n resolve({\n isOpenAtNewWindow: true,\n isClose: false\n })\n }\n }, 1_000)\n })\n } else {\n /**\n * If the error is different, we will return it.\n */\n return Promise.reject(new Error(response?.errorCode))\n }\n } else if (response?.result === 'close') {\n /**\n * Processing a successful close\n */\n return Promise.resolve({\n isOpenAtNewWindow: false,\n isClose: true\n })\n }\n\n return Promise.resolve({\n isOpenAtNewWindow: false,\n isClose: false\n })\n })\n }\n\n /**\n * @todo test this and remove\n */\n // async showAppForm(params: any): Promise<void> {\n // console.warn(`deprecated showAppForm`)\n // return this.#messageManager.send(MessageCommands.showAppForm, {\n // params: params,\n // isSafely: true\n // })\n // }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slider.mjs","sources":["../../../src/frame/slider.ts"],"sourcesContent":["import type { AppFrame } from './frame'\nimport type { MessageManager } from './message'\nimport { MessageCommands } from './message'\nimport type { StatusClose } from '../types/slider'\n\n/**\n * Sliders Manager\n */\nexport class SliderManager {\n #appFrame: AppFrame\n #messageManager: MessageManager\n\n constructor(appFrame: AppFrame, messageManager: MessageManager) {\n this.#appFrame = appFrame\n this.#messageManager = messageManager\n }\n\n /**\n * Returns the URL relative to the domain name and path\n */\n getUrl(path: string = '/'): URL {\n return new URL(path, this.#appFrame.getTargetOrigin())\n }\n\n /**\n * Get the account address BX24\n */\n getTargetOrigin(): string {\n return this.#appFrame.getTargetOrigin()\n }\n\n /**\n * When the method is called, a pop-up window with the application frame will be opened.\n *\n * Settings are passed via `bx24_`-prefixed keys (e.g. `bx24_title`, `bx24_width`).\n * `bx24_title` sets the slider title; the portal also reflects it to the browser tab title\n * (`document.title`) — unlike `ParentManager.setTitle`, which only updates the in-layout `#pagetitle`.\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-open-application.html\n */\n async openSliderAppPage(params: any = {}): Promise<any> {\n return this.#messageManager.send(MessageCommands.openApplication, params)\n }\n\n /**\n * The method closes the open modal window with the application\n *\n * @return {Promise<void>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-close-application.html\n */\n async closeSliderAppPage(): Promise<void> {\n return this.#messageManager.send(MessageCommands.closeApplication, {\n /**\n * @memo There is no point - everything will be closed, and timeout will not be able to do anything\n */\n isSafely: false\n })\n }\n\n /**\n * Defines the base path for width sampling.\n *\n * @param width\n * @private\n */\n #getBaseUrlByWidth(width: number = 1640): string {\n if (width > 0) {\n // region Init baseUrl by Width ////\n if (width > 1200 && width <= 1640) {\n return '/crm/type/0/details/0/../../../../..'\n } else if (width > 950 && width <= 1200) {\n return '/company/personal/user/0/groups/create/../../../../../..'\n } else if (width > 900 && width <= 950) {\n return '/crm/company/requisite/0/../../../..'\n } else if (width <= 900) {\n return '/workgroups/group/0/card/../../../..'\n } else {\n // 1640 /////\n return '/crm/deal/../..'\n }\n // endregion ////\n } else {\n return '/crm/deal/../..'\n }\n }\n\n /**\n * Opens the specified path inside the portal in the slider.\n * @param {URL} url\n * @param {number} width - Number in the range from 1640 to 1200, from 1200 to 950, from 950 to 900, from 900 ...\n * @return {Promise<StatusClose>}\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-open-path.html\n * @memo /^\\/(crm\\/(deal|lead|contact|company|type)|marketplace|company\\/personal\\/user\\/[0-9]+|workgroups\\/group\\/[0-9]+)\\//\n */\n async openPath(url: URL, width: number = 1640): Promise<StatusClose> {\n const openSliderUrl = new URL(url)\n openSliderUrl.searchParams.set('IFRAME', 'Y')\n openSliderUrl.searchParams.set('IFRAME_TYPE', 'SIDE_SLIDER')\n\n /**\n * We are trying to open the slider\n */\n return this.#messageManager\n .send(MessageCommands.openPath, {\n path: [\n this.#getBaseUrlByWidth(width),\n openSliderUrl.pathname,\n openSliderUrl.search\n ].join('')\n })\n .then((response) => {\n /**\n * Error handling\n */\n if (response?.result === 'error') {\n /**\n * If the error is related to using a mobile device, we will open it in a new tab\n * Let's wait 5 minutes - and return the promise to open and not close\n */\n if (response?.errorCode === 'METHOD_NOT_SUPPORTED_ON_DEVICE') {\n return new Promise((resolve, reject) => {\n const windowObjectReference = window.open(url, '_blank')\n if (!windowObjectReference) {\n reject(new Error('Error open window'))\n return\n }\n\n let iterator = 0\n // 5 min ////\n const iteratorMax = 1_000 * 60 * 5\n const waitCloseWindow = window.setInterval(() => {\n iterator = iterator + 1\n\n if (windowObjectReference.closed) {\n clearInterval(waitCloseWindow)\n resolve({\n isOpenAtNewWindow: true,\n isClose: true\n })\n } else if (iterator > iteratorMax) {\n clearInterval(waitCloseWindow)\n resolve({\n isOpenAtNewWindow: true,\n isClose: false\n })\n }\n }, 1_000)\n })\n } else {\n /**\n * If the error is different, we will return it.\n */\n return Promise.reject(new Error(response?.errorCode))\n }\n } else if (response?.result === 'close') {\n /**\n * Processing a successful close\n */\n return Promise.resolve({\n isOpenAtNewWindow: false,\n isClose: true\n })\n }\n\n return Promise.resolve({\n isOpenAtNewWindow: false,\n isClose: false\n })\n })\n }\n\n /**\n * @todo test this and remove\n */\n // async showAppForm(params: any): Promise<void> {\n // console.warn(`deprecated showAppForm`)\n // return this.#messageManager.send(MessageCommands.showAppForm, {\n // params: params,\n // isSafely: true\n // })\n // }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAQO,MAAM,aAAA,CAAc;AAAA,EAR3B;AAQ2B,IAAA,MAAA,CAAA,IAAA,EAAA,eAAA,CAAA;AAAA;AAAA,EACzB,SAAA;AAAA,EACA,eAAA;AAAA,EAEA,WAAA,CAAY,UAAoB,cAAA,EAAgC;AAC9D,IAAA,IAAA,CAAK,SAAA,GAAY,QAAA;AACjB,IAAA,IAAA,CAAK,eAAA,GAAkB,cAAA;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAA,CAAO,OAAe,GAAA,EAAU;AAC9B,IAAA,OAAO,IAAI,GAAA,CAAI,IAAA,EAAM,IAAA,CAAK,SAAA,CAAU,iBAAiB,CAAA;AAAA,EACvD;AAAA;AAAA;AAAA;AAAA,EAKA,eAAA,GAA0B;AACxB,IAAA,OAAO,IAAA,CAAK,UAAU,eAAA,EAAgB;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAM,iBAAA,CAAkB,MAAA,GAAc,EAAC,EAAiB;AACtD,IAAA,OAAO,IAAA,CAAK,eAAA,CAAgB,IAAA,CAAK,eAAA,CAAgB,iBAAiB,MAAM,CAAA;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,kBAAA,GAAoC;AACxC,IAAA,OAAO,IAAA,CAAK,eAAA,CAAgB,IAAA,CAAK,eAAA,CAAgB,gBAAA,EAAkB;AAAA;AAAA;AAAA;AAAA,MAIjE,QAAA,EAAU;AAAA,KACX,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,kBAAA,CAAmB,QAAgB,IAAA,EAAc;AAC/C,IAAA,IAAI,QAAQ,CAAA,EAAG;AAEb,MAAA,IAAI,KAAA,GAAQ,IAAA,IAAQ,KAAA,IAAS,IAAA,EAAM;AACjC,QAAA,OAAO,sCAAA;AAAA,MACT,CAAA,MAAA,IAAW,KAAA,GAAQ,GAAA,IAAO,KAAA,IAAS,IAAA,EAAM;AACvC,QAAA,OAAO,0DAAA;AAAA,MACT,CAAA,MAAA,IAAW,KAAA,GAAQ,GAAA,IAAO,KAAA,IAAS,GAAA,EAAK;AACtC,QAAA,OAAO,sCAAA;AAAA,MACT,CAAA,MAAA,IAAW,SAAS,GAAA,EAAK;AACvB,QAAA,OAAO,sCAAA;AAAA,MACT,CAAA,MAAO;AAEL,QAAA,OAAO,iBAAA;AAAA,MACT;AAAA,IAEF,CAAA,MAAO;AACL,MAAA,OAAO,iBAAA;AAAA,IACT;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAM,QAAA,CAAS,GAAA,EAAU,KAAA,GAAgB,IAAA,EAA4B;AACnE,IAAA,MAAM,aAAA,GAAgB,IAAI,GAAA,CAAI,GAAG,CAAA;AACjC,IAAA,aAAA,CAAc,YAAA,CAAa,GAAA,CAAI,QAAA,EAAU,GAAG,CAAA;AAC5C,IAAA,aAAA,CAAc,YAAA,CAAa,GAAA,CAAI,aAAA,EAAe,aAAa,CAAA;AAK3D,IAAA,OAAO,IAAA,CAAK,eAAA,CACT,IAAA,CAAK,eAAA,CAAgB,QAAA,EAAU;AAAA,MAC9B,IAAA,EAAM;AAAA,QACJ,IAAA,CAAK,mBAAmB,KAAK,CAAA;AAAA,QAC7B,aAAA,CAAc,QAAA;AAAA,QACd,aAAA,CAAc;AAAA,OAChB,CAAE,KAAK,EAAE;AAAA,KACV,CAAA,CACA,IAAA,CAAK,CAAC,QAAA,KAAa;AAIlB,MAAA,IAAI,QAAA,EAAU,WAAW,OAAA,EAAS;AAKhC,QAAA,IAAI,QAAA,EAAU,cAAc,gCAAA,EAAkC;AAC5D,UAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAA,KAAW;AACtC,YAAA,MAAM,qBAAA,GAAwB,MAAA,CAAO,IAAA,CAAK,GAAA,EAAK,QAAQ,CAAA;AACvD,YAAA,IAAI,CAAC,qBAAA,EAAuB;AAC1B,cAAA,MAAA,CAAO,IAAI,KAAA,CAAM,mBAAmB,CAAC,CAAA;AACrC,cAAA;AAAA,YACF;AAEA,YAAA,IAAI,QAAA,GAAW,CAAA;AAEf,YAAA,MAAM,WAAA,GAAc,MAAQ,EAAA,GAAK,CAAA;AACjC,YAAA,MAAM,eAAA,GAAkB,MAAA,CAAO,WAAA,CAAY,MAAM;AAC/C,cAAA,QAAA,GAAW,QAAA,GAAW,CAAA;AAEtB,cAAA,IAAI,sBAAsB,MAAA,EAAQ;AAChC,gBAAA,aAAA,CAAc,eAAe,CAAA;AAC7B,gBAAA,OAAA,CAAQ;AAAA,kBACN,iBAAA,EAAmB,IAAA;AAAA,kBACnB,OAAA,EAAS;AAAA,iBACV,CAAA;AAAA,cACH,CAAA,MAAA,IAAW,WAAW,WAAA,EAAa;AACjC,gBAAA,aAAA,CAAc,eAAe,CAAA;AAC7B,gBAAA,OAAA,CAAQ;AAAA,kBACN,iBAAA,EAAmB,IAAA;AAAA,kBACnB,OAAA,EAAS;AAAA,iBACV,CAAA;AAAA,cACH;AAAA,YACF,GAAG,GAAK,CAAA;AAAA,UACV,CAAC,CAAA;AAAA,QACH,CAAA,MAAO;AAIL,UAAA,OAAO,QAAQ,MAAA,CAAO,IAAI,KAAA,CAAM,QAAA,EAAU,SAAS,CAAC,CAAA;AAAA,QACtD;AAAA,MACF,CAAA,MAAA,IAAW,QAAA,EAAU,MAAA,KAAW,OAAA,EAAS;AAIvC,QAAA,OAAO,QAAQ,OAAA,CAAQ;AAAA,UACrB,iBAAA,EAAmB,KAAA;AAAA,UACnB,OAAA,EAAS;AAAA,SACV,CAAA;AAAA,MACH;AAEA,MAAA,OAAO,QAAQ,OAAA,CAAQ;AAAA,QACrB,iBAAA,EAAmB,KAAA;AAAA,QACnB,OAAA,EAAS;AAAA,OACV,CAAA;AAAA,IACH,CAAC,CAAA;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYF;;;;"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.2.0
3
+ * @version 2.0.0
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.2.0
3
+ * @version 2.0.0
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.2.0
3
+ * @version 2.0.0
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.2.0
3
+ * @version 2.0.0
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.2.0
3
+ * @version 2.0.0
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.2.0
3
+ * @version 2.0.0
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.2.0
3
+ * @version 2.0.0
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.2.0
3
+ * @version 2.0.0
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.2.0
3
+ * @version 2.0.0
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.2.0
3
+ * @version 2.0.0
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.2.0
3
+ * @version 2.0.0
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -78,7 +78,7 @@ class B24Hook extends AbstractB24 {
78
78
  try {
79
79
  parsedUrl = new URL(url.replace("/rest/api", "/rest"));
80
80
  } catch {
81
- throw new Error(`Invalid webhook URL format: ${url}`);
81
+ throw new Error("Invalid webhook URL format");
82
82
  }
83
83
  if (parsedUrl.protocol !== "https:") {
84
84
  throw new Error("Webhook requires HTTPS protocol");
@@ -96,7 +96,7 @@ class B24Hook extends AbstractB24 {
96
96
  const userIdStr = pathParts[userIdIndex];
97
97
  const secret = pathParts[secretIndex];
98
98
  if (!/^\d+$/.test(userIdStr)) {
99
- throw new Error(`User ID must be numeric in webhook URL, received: ${userIdStr}`);
99
+ throw new Error("User ID must be numeric in webhook URL");
100
100
  }
101
101
  const userId = Number.parseInt(userIdStr, 10);
102
102
  return new B24Hook(
@@ -1 +1 @@
1
- {"version":3,"file":"b24.mjs","sources":["../../../src/hook/b24.ts"],"sourcesContent":["import type { AuthActions, B24HookParams } from '../types/auth'\nimport type { RestrictionParams } from '../types/limiters'\nimport type { TypeB24, ApiVersion } from '../types/b24'\nimport { AbstractB24 } from '../core/abstract-b24'\nimport { HttpV2 } from '../core/http/v2'\nimport { HttpV3 } from '../core/http/v3'\nimport { AuthHookManager } from './auth'\nimport { versionManager } from '../core/version-manager'\n\n/**\n * B24.Hook Manager.\n *\n * @link https://bitrix24.github.io/b24jssdk/docs/hook/\n *\n * @todo docs\n */\nexport class B24Hook extends AbstractB24 implements TypeB24 {\n readonly #authHookManager: AuthHookManager\n\n // region Init ////\n constructor(\n b24HookParams: B24HookParams,\n options?: {\n restrictionParams?: Partial<RestrictionParams>\n }\n ) {\n super()\n\n this.#authHookManager = new AuthHookManager(\n b24HookParams\n )\n\n const warningText = 'The B24Hook object is intended exclusively for use on the server.\\nA webhook contains a secret access key, which MUST NOT be used in client-side code (browser, mobile app).'\n\n this._httpV2 = new HttpV2(this.#authHookManager, this._getHttpOptions(), options?.restrictionParams)\n this._httpV2.setClientSideWarning(true, warningText)\n this._httpV3 = new HttpV3(this.#authHookManager, this._getHttpOptions(), options?.restrictionParams)\n this._httpV3.setClientSideWarning(true, warningText)\n\n this._isInit = true\n }\n // endregion ////\n\n override get auth(): AuthActions {\n return this.#authHookManager\n }\n\n // region Core ////\n /**\n * Disables warning about client-side query execution\n */\n public offClientSideWarning(): void {\n versionManager.getAllApiVersions().forEach((version) => {\n this.getHttpClient(version).setClientSideWarning(false, '')\n })\n }\n\n // endregion ////\n\n // region Get ////\n /**\n * @inheritDoc\n */\n public override getTargetOrigin(): string {\n this._ensureInitialized()\n return this.#authHookManager.getTargetOrigin()\n }\n\n /**\n * @inheritDoc\n */\n public override getTargetOriginWithPath(): Map<ApiVersion, string> {\n this._ensureInitialized()\n return this.#authHookManager.getTargetOriginWithPath()\n }\n\n // endregion ////\n\n // region Tools ////\n /**\n * Init Webhook from url\n * - ver2 `https://your_domain.bitrix24.com/rest/{id}/{webhook}`\n * - ver3 `https://your_domain.bitrix24.com/rest/api/{id}/{webhook}`\n *\n * @todo docs\n */\n public static fromWebhookUrl(\n url: string,\n options?: { restrictionParams?: Partial<RestrictionParams> }\n ): B24Hook {\n if (!url.trim()) {\n throw new Error('Webhook URL cannot be empty')\n }\n\n let parsedUrl: URL\n\n try {\n parsedUrl = new URL(url.replace('/rest/api', '/rest'))\n } catch {\n throw new Error(`Invalid webhook URL format: ${url}`)\n }\n\n if (parsedUrl.protocol !== 'https:') {\n throw new Error('Webhook requires HTTPS protocol')\n }\n\n const pathParts = parsedUrl.pathname.split('/').filter(Boolean)\n const isValidFormat = (\n // Format: /rest/{id}/{webhook}\n (pathParts.length === 3 && pathParts[0] === 'rest')\n // Format: /rest/api/{id}/{webhook}\n || (pathParts.length === 4 && pathParts[0] === 'rest' && pathParts[1] === 'api')\n )\n\n if (!isValidFormat) {\n throw new Error('Webhook URL must follow format: /rest/<userId>/<secret> or /rest/api/<userId>/<secret>')\n }\n\n // Determine the position of userId and secret depending on the format\n const userIdIndex = pathParts[1] === 'api' ? 2 : 1\n const secretIndex = pathParts[1] === 'api' ? 3 : 2\n\n const userIdStr = pathParts[userIdIndex]!\n const secret = pathParts[secretIndex]!\n\n if (!/^\\d+$/.test(userIdStr)) {\n throw new Error(`User ID must be numeric in webhook URL, received: ${userIdStr}`)\n }\n const userId = Number.parseInt(userIdStr, 10)\n\n return new B24Hook(\n {\n b24Url: parsedUrl.origin,\n userId,\n secret\n },\n options\n )\n }\n // endregion ////\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"b24.mjs","sources":["../../../src/hook/b24.ts"],"sourcesContent":["import type { AuthActions, B24HookParams } from '../types/auth'\nimport type { RestrictionParams } from '../types/limiters'\nimport type { TypeB24, ApiVersion } from '../types/b24'\nimport { AbstractB24 } from '../core/abstract-b24'\nimport { HttpV2 } from '../core/http/v2'\nimport { HttpV3 } from '../core/http/v3'\nimport { AuthHookManager } from './auth'\nimport { versionManager } from '../core/version-manager'\n\n/**\n * B24.Hook Manager.\n *\n * @link https://bitrix24.github.io/b24jssdk/docs/hook/\n *\n * @todo docs\n */\nexport class B24Hook extends AbstractB24 implements TypeB24 {\n readonly #authHookManager: AuthHookManager\n\n // region Init ////\n constructor(\n b24HookParams: B24HookParams,\n options?: {\n restrictionParams?: Partial<RestrictionParams>\n }\n ) {\n super()\n\n this.#authHookManager = new AuthHookManager(\n b24HookParams\n )\n\n const warningText = 'The B24Hook object is intended exclusively for use on the server.\\nA webhook contains a secret access key, which MUST NOT be used in client-side code (browser, mobile app).'\n\n this._httpV2 = new HttpV2(this.#authHookManager, this._getHttpOptions(), options?.restrictionParams)\n this._httpV2.setClientSideWarning(true, warningText)\n this._httpV3 = new HttpV3(this.#authHookManager, this._getHttpOptions(), options?.restrictionParams)\n this._httpV3.setClientSideWarning(true, warningText)\n\n this._isInit = true\n }\n // endregion ////\n\n override get auth(): AuthActions {\n return this.#authHookManager\n }\n\n // region Core ////\n /**\n * Disables warning about client-side query execution\n */\n public offClientSideWarning(): void {\n versionManager.getAllApiVersions().forEach((version) => {\n this.getHttpClient(version).setClientSideWarning(false, '')\n })\n }\n\n // endregion ////\n\n // region Get ////\n /**\n * @inheritDoc\n */\n public override getTargetOrigin(): string {\n this._ensureInitialized()\n return this.#authHookManager.getTargetOrigin()\n }\n\n /**\n * @inheritDoc\n */\n public override getTargetOriginWithPath(): Map<ApiVersion, string> {\n this._ensureInitialized()\n return this.#authHookManager.getTargetOriginWithPath()\n }\n\n // endregion ////\n\n // region Tools ////\n /**\n * Init Webhook from url\n * - ver2 `https://your_domain.bitrix24.com/rest/{id}/{webhook}`\n * - ver3 `https://your_domain.bitrix24.com/rest/api/{id}/{webhook}`\n *\n * @todo docs\n */\n public static fromWebhookUrl(\n url: string,\n options?: { restrictionParams?: Partial<RestrictionParams> }\n ): B24Hook {\n if (!url.trim()) {\n throw new Error('Webhook URL cannot be empty')\n }\n\n let parsedUrl: URL\n\n try {\n parsedUrl = new URL(url.replace('/rest/api', '/rest'))\n } catch {\n // Don't echo the URL — it carries the webhook secret in its path (#43).\n throw new Error('Invalid webhook URL format')\n }\n\n if (parsedUrl.protocol !== 'https:') {\n throw new Error('Webhook requires HTTPS protocol')\n }\n\n const pathParts = parsedUrl.pathname.split('/').filter(Boolean)\n const isValidFormat = (\n // Format: /rest/{id}/{webhook}\n (pathParts.length === 3 && pathParts[0] === 'rest')\n // Format: /rest/api/{id}/{webhook}\n || (pathParts.length === 4 && pathParts[0] === 'rest' && pathParts[1] === 'api')\n )\n\n if (!isValidFormat) {\n throw new Error('Webhook URL must follow format: /rest/<userId>/<secret> or /rest/api/<userId>/<secret>')\n }\n\n // Determine the position of userId and secret depending on the format\n const userIdIndex = pathParts[1] === 'api' ? 2 : 1\n const secretIndex = pathParts[1] === 'api' ? 3 : 2\n\n const userIdStr = pathParts[userIdIndex]!\n const secret = pathParts[secretIndex]!\n\n if (!/^\\d+$/.test(userIdStr)) {\n // Don't echo the segment — in a transposed URL it could be the secret (#43).\n throw new Error('User ID must be numeric in webhook URL')\n }\n const userId = Number.parseInt(userIdStr, 10)\n\n return new B24Hook(\n {\n b24Url: parsedUrl.origin,\n userId,\n secret\n },\n options\n )\n }\n // endregion ////\n}\n"],"names":[],"mappings":"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"}