@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,137 @@
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
+
13
+ var __defProp = Object.defineProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
+ class Result {
16
+ static {
17
+ __name(this, "Result");
18
+ }
19
+ _errors;
20
+ _data;
21
+ constructor(data) {
22
+ this._errors = /* @__PURE__ */ new Map();
23
+ this._data = data ?? null;
24
+ }
25
+ get isSuccess() {
26
+ return this._errors.size === 0;
27
+ }
28
+ get errors() {
29
+ return this._errors;
30
+ }
31
+ setData(data) {
32
+ this._data = data;
33
+ return this;
34
+ }
35
+ getData() {
36
+ return this._data;
37
+ }
38
+ addError(error, key) {
39
+ const errorKey = key ?? text.Text.getUuidRfc4122();
40
+ const errorObj = typeof error === "string" ? new Error(error) : error;
41
+ this._errors.set(errorKey, errorObj);
42
+ return this;
43
+ }
44
+ addErrors(errors) {
45
+ for (const error of errors) {
46
+ this.addError(error);
47
+ }
48
+ return this;
49
+ }
50
+ getErrors() {
51
+ return this._errors.values();
52
+ }
53
+ hasError(key) {
54
+ return this._errors.has(key);
55
+ }
56
+ /**
57
+ * Retrieves an array of error messages from the collected errors.
58
+ *
59
+ * @returns An array of strings representing the error messages. Each string
60
+ * contains the message of a corresponding error object.
61
+ */
62
+ getErrorMessages() {
63
+ return Array.from(this._errors.values(), (e) => e.message);
64
+ }
65
+ /**
66
+ * Retrieves all errors as a plain object (a snapshot copy) keyed by their
67
+ * identifier, preserving which request produced each error. Unlike
68
+ * {@link Result.getErrors}, the keys are not discarded — useful for batch
69
+ * calls with `isHaltOnError: false`.
70
+ *
71
+ * For batch calls the key tells you *which* command failed:
72
+ * - an **object / named-command batch** keys each error by the command label;
73
+ * - an **array-mode batch** keys each per-command error by its **numeric
74
+ * position** (`'0'`, `'1'`, … as a string), matching the command order you
75
+ * passed in. (#255 — previously these fell back to a random UUID.)
76
+ *
77
+ * An envelope-level soft error (not tied to one command) lands under the
78
+ * internal `'base-error'` key, and {@link Result.addErrors} (no explicit key)
79
+ * still uses generated UUIDs — for those, prefer {@link Result.getErrors} /
80
+ * {@link Result.getErrorMessages}. (#230)
81
+ *
82
+ * @returns {Record<string, Error>} A map of error key to Error object.
83
+ */
84
+ getErrorsByKey() {
85
+ return Object.fromEntries(this._errors);
86
+ }
87
+ /**
88
+ * Retrieves all error messages as a plain object (a snapshot copy) keyed by
89
+ * their identifier. Unlike {@link Result.getErrorMessages}, the keys are
90
+ * preserved. See {@link Result.getErrorsByKey} for when keys are meaningful.
91
+ *
92
+ * @returns {Record<string, string>} A map of error key to error message.
93
+ */
94
+ getErrorMessagesByKey() {
95
+ return Object.fromEntries(
96
+ Array.from(this._errors, ([key, error]) => [key, error.message])
97
+ );
98
+ }
99
+ /**
100
+ * Converts the Result object to a string.
101
+ *
102
+ * @returns {string} Returns a string representation of the result operation
103
+ */
104
+ toString() {
105
+ const status = this.isSuccess ? "success" : "failure";
106
+ const data = this.safeStringify(this._data);
107
+ return this.isSuccess ? `Result(${status}): ${data}` : `Result(${status}): ${data}
108
+ Errors: ${this.getErrorMessages().join(", ")}`;
109
+ }
110
+ safeStringify(data) {
111
+ try {
112
+ return JSON.stringify(data, this.replacer, 2);
113
+ } catch {
114
+ return "[Unable to serialize data]";
115
+ }
116
+ }
117
+ replacer(_, value) {
118
+ if (value instanceof Error) {
119
+ return {
120
+ name: value.name,
121
+ message: value.message,
122
+ stack: value.stack
123
+ };
124
+ }
125
+ return value;
126
+ }
127
+ // Static constructors
128
+ static ok(data) {
129
+ return new Result(data);
130
+ }
131
+ static fail(error, key) {
132
+ return new Result().addError(error, key);
133
+ }
134
+ }
135
+
136
+ exports.Result = Result;
137
+ //# sourceMappingURL=result.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.cjs","sources":["../../../src/core/result.ts"],"sourcesContent":["import { Text } from '../tools/text'\n\n/**\n * Interface defining the structure and methods of a Result object.\n */\nexport interface IResult<T = any> {\n /**\n * Indicates whether the operation resulted in success (no errors).\n */\n readonly isSuccess: boolean\n /**\n * Collection of errors\n */\n readonly errors: Map<string, Error>\n\n /**\n * Sets the data associated with the result.\n *\n * @param data The data to be stored in the result.\n * @returns The current Result object for chaining methods.\n */\n setData: (data: T) => IResult<T>\n /**\n * Retrieves the data associated with the result.\n *\n * @returns The data stored in the result, if any.\n */\n getData: () => T | null | undefined\n\n /**\n * Adds an error message or Error object to the result.\n * @param error The error message or Error object to be added.\n * @param key Error key. You can leave it blank. Then it will be generated automatically.\n * @returns {IResult} The current Result object for chaining methods.\n */\n addError: (error: Error | string, key?: string) => IResult\n /**\n * Adds multiple errors to the result in a single call.\n *\n * @param errors An array of errors or strings that will be converted to errors.\n * @returns {IResult} The current Result object for chaining methods.\n */\n addErrors: (errors: (Error | string)[]) => IResult\n /**\n * Retrieves an iterator for the errors collected in the result.\n *\n * @returns {IterableIterator<Error>} An iterator over the stored Error objects.\n * @see {@link IResult.getErrorsByKey} — keeps the request keys.\n */\n getErrors: () => IterableIterator<Error>\n\n /**\n * Retrieves an array of error messages from the collected errors.\n *\n * @returns {string[]} An array of strings representing the error messages.\n */\n getErrorMessages: () => string[]\n\n /**\n * Retrieves all errors keyed by their identifier (e.g. the batch request key),\n * preserving which request produced each error. Unlike {@link getErrors}, the\n * keys are not discarded — useful for batch calls with `isHaltOnError: false`.\n *\n * @returns {Record<string, Error>} A map of error key to Error object.\n */\n getErrorsByKey: () => Record<string, Error>\n\n /**\n * Retrieves all error messages keyed by their identifier (e.g. the batch\n * request key). Unlike {@link getErrorMessages}, the keys are preserved.\n *\n * @returns {Record<string, string>} A map of error key to error message.\n */\n getErrorMessagesByKey: () => Record<string, string>\n\n /**\n * Checks for an error in a collection by key\n * @param key - Error key\n */\n hasError(key: string): boolean\n /**\n * Converts the Result object to a string.\n *\n * @returns {string} Returns a string representation of the result operation\n */\n toString: () => string\n}\n\n/**\n * A class representing an operation result with success/failure status, data, and errors.\n * Similar to \\Bitrix\\Main\\Result from Bitrix Framework.\n * @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/result/index.php\n */\nexport class Result<T = any> implements IResult<T> {\n protected _errors: Map<string, Error>\n protected _data: T | null | undefined\n\n constructor(data?: T) {\n this._errors = new Map()\n this._data = data ?? null\n }\n\n get isSuccess(): boolean {\n return this._errors.size === 0\n }\n\n get errors(): Map<string, Error> {\n return this._errors\n }\n\n setData(data: T | null | undefined): Result<T> {\n this._data = data\n\n return this\n }\n\n getData(): T | null | undefined {\n return this._data\n }\n\n addError(error: Error | string, key?: string): Result<T> {\n const errorKey = key ?? Text.getUuidRfc4122()\n const errorObj = typeof error === 'string' ? new Error(error) : error\n\n this._errors.set(errorKey, errorObj)\n\n return this\n }\n\n addErrors(errors: (Error | string)[]): Result<T> {\n for (const error of errors) {\n this.addError(error)\n }\n\n return this\n }\n\n getErrors(): IterableIterator<Error> {\n return this._errors.values()\n }\n\n hasError(key: string): boolean {\n return this._errors.has(key)\n }\n\n /**\n * Retrieves an array of error messages from the collected errors.\n *\n * @returns An array of strings representing the error messages. Each string\n * contains the message of a corresponding error object.\n */\n getErrorMessages(): string[] {\n return Array.from(this._errors.values(), e => e.message)\n }\n\n /**\n * Retrieves all errors as a plain object (a snapshot copy) keyed by their\n * identifier, preserving which request produced each error. Unlike\n * {@link Result.getErrors}, the keys are not discarded — useful for batch\n * calls with `isHaltOnError: false`.\n *\n * For batch calls the key tells you *which* command failed:\n * - an **object / named-command batch** keys each error by the command label;\n * - an **array-mode batch** keys each per-command error by its **numeric\n * position** (`'0'`, `'1'`, … as a string), matching the command order you\n * passed in. (#255 — previously these fell back to a random UUID.)\n *\n * An envelope-level soft error (not tied to one command) lands under the\n * internal `'base-error'` key, and {@link Result.addErrors} (no explicit key)\n * still uses generated UUIDs — for those, prefer {@link Result.getErrors} /\n * {@link Result.getErrorMessages}. (#230)\n *\n * @returns {Record<string, Error>} A map of error key to Error object.\n */\n getErrorsByKey(): Record<string, Error> {\n return Object.fromEntries(this._errors)\n }\n\n /**\n * Retrieves all error messages as a plain object (a snapshot copy) keyed by\n * their identifier. Unlike {@link Result.getErrorMessages}, the keys are\n * preserved. See {@link Result.getErrorsByKey} for when keys are meaningful.\n *\n * @returns {Record<string, string>} A map of error key to error message.\n */\n getErrorMessagesByKey(): Record<string, string> {\n // `Object.fromEntries` (like getErrorsByKey) is prototype-safe: a literal\n // `__proto__` key becomes an own property instead of being silently dropped.\n return Object.fromEntries(\n Array.from(this._errors, ([key, error]): [string, string] => [key, error.message])\n )\n }\n\n /**\n * Converts the Result object to a string.\n *\n * @returns {string} Returns a string representation of the result operation\n */\n toString(): string {\n const status = this.isSuccess ? 'success' : 'failure'\n const data = this.safeStringify(this._data)\n\n return this.isSuccess\n ? `Result(${status}): ${data}`\n : `Result(${status}): ${data}\\nErrors: ${this.getErrorMessages().join(', ')}`\n }\n\n private safeStringify(data: unknown): string {\n try {\n return JSON.stringify(data, this.replacer, 2)\n } catch {\n return '[Unable to serialize data]'\n }\n }\n\n private replacer(_: string, value: unknown) {\n if (value instanceof Error) {\n return {\n name: value.name,\n message: value.message,\n stack: value.stack\n }\n }\n return value\n }\n\n // Static constructors\n static ok<U>(data?: U): Result<U> {\n return new Result<U>(data)\n }\n\n static fail<U>(error: Error | string, key?: string): Result<U> {\n return new Result<U>().addError(error, key)\n }\n}\n"],"names":["Text"],"mappings":";;;;;;;;;;;;;;AA6FO,MAAM,MAAA,CAAsC;AAAA,EA7FnD;AA6FmD,IAAA,MAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AAAA;AAAA,EACvC,OAAA;AAAA,EACA,KAAA;AAAA,EAEV,YAAY,IAAA,EAAU;AACpB,IAAA,IAAA,CAAK,OAAA,uBAAc,GAAA,EAAI;AACvB,IAAA,IAAA,CAAK,QAAQ,IAAA,IAAQ,IAAA;AAAA,EACvB;AAAA,EAEA,IAAI,SAAA,GAAqB;AACvB,IAAA,OAAO,IAAA,CAAK,QAAQ,IAAA,KAAS,CAAA;AAAA,EAC/B;AAAA,EAEA,IAAI,MAAA,GAA6B;AAC/B,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA,EAEA,QAAQ,IAAA,EAAuC;AAC7C,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAA;AAEb,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,OAAA,GAAgC;AAC9B,IAAA,OAAO,IAAA,CAAK,KAAA;AAAA,EACd;AAAA,EAEA,QAAA,CAAS,OAAuB,GAAA,EAAyB;AACvD,IAAA,MAAM,QAAA,GAAW,GAAA,IAAOA,SAAA,CAAK,cAAA,EAAe;AAC5C,IAAA,MAAM,WAAW,OAAO,KAAA,KAAU,WAAW,IAAI,KAAA,CAAM,KAAK,CAAA,GAAI,KAAA;AAEhE,IAAA,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAI,QAAA,EAAU,QAAQ,CAAA;AAEnC,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,UAAU,MAAA,EAAuC;AAC/C,IAAA,KAAA,MAAW,SAAS,MAAA,EAAQ;AAC1B,MAAA,IAAA,CAAK,SAAS,KAAK,CAAA;AAAA,IACrB;AAEA,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,SAAA,GAAqC;AACnC,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,EAAO;AAAA,EAC7B;AAAA,EAEA,SAAS,GAAA,EAAsB;AAC7B,IAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAI,GAAG,CAAA;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,gBAAA,GAA6B;AAC3B,IAAA,OAAO,KAAA,CAAM,KAAK,IAAA,CAAK,OAAA,CAAQ,QAAO,EAAG,CAAA,CAAA,KAAK,EAAE,OAAO,CAAA;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,cAAA,GAAwC;AACtC,IAAA,OAAO,MAAA,CAAO,WAAA,CAAY,IAAA,CAAK,OAAO,CAAA;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,qBAAA,GAAgD;AAG9C,IAAA,OAAO,MAAA,CAAO,WAAA;AAAA,MACZ,KAAA,CAAM,IAAA,CAAK,IAAA,CAAK,OAAA,EAAS,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAwB,CAAC,GAAA,EAAK,KAAA,CAAM,OAAO,CAAC;AAAA,KACnF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAA,GAAmB;AACjB,IAAA,MAAM,MAAA,GAAS,IAAA,CAAK,SAAA,GAAY,SAAA,GAAY,SAAA;AAC5C,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,aAAA,CAAc,IAAA,CAAK,KAAK,CAAA;AAE1C,IAAA,OAAO,IAAA,CAAK,SAAA,GACR,CAAA,OAAA,EAAU,MAAM,CAAA,GAAA,EAAM,IAAI,CAAA,CAAA,GAC1B,CAAA,OAAA,EAAU,MAAM,CAAA,GAAA,EAAM,IAAI;AAAA,QAAA,EAAa,IAAA,CAAK,gBAAA,EAAiB,CAAE,IAAA,CAAK,IAAI,CAAC,CAAA,CAAA;AAAA,EAC/E;AAAA,EAEQ,cAAc,IAAA,EAAuB;AAC3C,IAAA,IAAI;AACF,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,IAAA,EAAM,IAAA,CAAK,UAAU,CAAC,CAAA;AAAA,IAC9C,CAAA,CAAA,MAAQ;AACN,MAAA,OAAO,4BAAA;AAAA,IACT;AAAA,EACF;AAAA,EAEQ,QAAA,CAAS,GAAW,KAAA,EAAgB;AAC1C,IAAA,IAAI,iBAAiB,KAAA,EAAO;AAC1B,MAAA,OAAO;AAAA,QACL,MAAM,KAAA,CAAM,IAAA;AAAA,QACZ,SAAS,KAAA,CAAM,OAAA;AAAA,QACf,OAAO,KAAA,CAAM;AAAA,OACf;AAAA,IACF;AACA,IAAA,OAAO,KAAA;AAAA,EACT;AAAA;AAAA,EAGA,OAAO,GAAM,IAAA,EAAqB;AAChC,IAAA,OAAO,IAAI,OAAU,IAAI,CAAA;AAAA,EAC3B;AAAA,EAEA,OAAO,IAAA,CAAQ,KAAA,EAAuB,GAAA,EAAyB;AAC7D,IAAA,OAAO,IAAI,MAAA,EAAU,CAAE,QAAA,CAAS,OAAO,GAAG,CAAA;AAAA,EAC5C;AACF;;;;"}
@@ -0,0 +1,85 @@
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
+ class SdkError extends Error {
14
+ static {
15
+ __name(this, "SdkError");
16
+ }
17
+ code;
18
+ _status;
19
+ timestamp;
20
+ originalError;
21
+ constructor(params) {
22
+ const message = SdkError.formatErrorMessage(params);
23
+ super(message);
24
+ this.name = "SdkError";
25
+ this.code = params.code;
26
+ this._status = params.status;
27
+ this.originalError = params.originalError;
28
+ this.timestamp = /* @__PURE__ */ new Date();
29
+ this.cleanErrorStack();
30
+ }
31
+ get status() {
32
+ return this._status;
33
+ }
34
+ /**
35
+ * Creates SdkError from exception
36
+ */
37
+ static fromException(error, context) {
38
+ if (error instanceof SdkError) return error;
39
+ return new SdkError({
40
+ code: context?.code || "JSSDK_INTERNAL_ERROR",
41
+ status: context?.status || 500,
42
+ description: error instanceof Error ? error.message : `${error}`,
43
+ originalError: error
44
+ });
45
+ }
46
+ /**
47
+ * Serializes error for logging and debugging
48
+ */
49
+ toJSON() {
50
+ return {
51
+ name: this.name,
52
+ code: this.code,
53
+ message: this.message,
54
+ status: this._status,
55
+ timestamp: this.timestamp.toISOString(),
56
+ stack: this.stack
57
+ };
58
+ }
59
+ /**
60
+ * Formats error information for human-readable output
61
+ */
62
+ toString() {
63
+ let output = `[${this.name}] ${this.code} (${this._status}): ${this.message}`;
64
+ if (this.stack) {
65
+ output += `
66
+ Stack trace:
67
+ ${this.stack}`;
68
+ }
69
+ return output;
70
+ }
71
+ static formatErrorMessage(params) {
72
+ if (!params?.description) {
73
+ return `Internal error`;
74
+ }
75
+ return `${params.description}`;
76
+ }
77
+ cleanErrorStack() {
78
+ if (typeof this.stack === "string") {
79
+ this.stack = this.stack.split("\n").filter((line) => !line.includes("SdkError.constructor")).join("\n");
80
+ }
81
+ }
82
+ }
83
+
84
+ exports.SdkError = SdkError;
85
+ //# sourceMappingURL=sdk-error.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-error.cjs","sources":["../../../src/core/sdk-error.ts"],"sourcesContent":["export type SdkErrorDetails = {\n code: string\n description?: string\n status: number\n originalError?: unknown\n}\n\n/**\n * Error in Sdk\n */\nexport class SdkError extends Error {\n public readonly code: string\n protected _status: number\n public readonly timestamp: Date\n public readonly originalError?: unknown\n\n constructor(params: SdkErrorDetails) {\n const message = SdkError.formatErrorMessage(params)\n super(message)\n\n this.name = 'SdkError' as const\n this.code = params.code\n\n this._status = params.status\n this.originalError = params.originalError\n this.timestamp = new Date()\n\n this.cleanErrorStack()\n }\n\n get status(): number {\n return this._status\n }\n\n /**\n * Creates SdkError from exception\n */\n static fromException(error: unknown, context?: {\n code?: string\n status?: number\n }): SdkError {\n if (error instanceof SdkError) return error\n\n return new SdkError({\n code: context?.code || 'JSSDK_INTERNAL_ERROR',\n status: context?.status || 500,\n description: error instanceof Error ? error.message : `${error}`,\n originalError: error\n })\n }\n\n /**\n * Serializes error for logging and debugging\n */\n toJSON() {\n return {\n name: this.name,\n code: this.code,\n message: this.message,\n status: this._status,\n timestamp: this.timestamp.toISOString(),\n stack: this.stack\n }\n }\n\n /**\n * Formats error information for human-readable output\n */\n override toString(): string {\n let output = `[${this.name}] ${this.code} (${this._status}): ${this.message}`\n\n if (this.stack) {\n output += `\\nStack trace:\\n${this.stack}`\n }\n\n return output\n }\n\n protected static formatErrorMessage(params: SdkErrorDetails): string {\n if (!params?.description) {\n return `Internal error`\n }\n\n return `${params.description}`\n }\n\n protected cleanErrorStack() {\n if (typeof this.stack === 'string') {\n this.stack = this.stack\n .split('\\n')\n .filter(line => !line.includes('SdkError.constructor'))\n .join('\\n')\n }\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAUO,MAAM,iBAAiB,KAAA,CAAM;AAAA,EAVpC;AAUoC,IAAA,MAAA,CAAA,IAAA,EAAA,UAAA,CAAA;AAAA;AAAA,EAClB,IAAA;AAAA,EACN,OAAA;AAAA,EACM,SAAA;AAAA,EACA,aAAA;AAAA,EAEhB,YAAY,MAAA,EAAyB;AACnC,IAAA,MAAM,OAAA,GAAU,QAAA,CAAS,kBAAA,CAAmB,MAAM,CAAA;AAClD,IAAA,KAAA,CAAM,OAAO,CAAA;AAEb,IAAA,IAAA,CAAK,IAAA,GAAO,UAAA;AACZ,IAAA,IAAA,CAAK,OAAO,MAAA,CAAO,IAAA;AAEnB,IAAA,IAAA,CAAK,UAAU,MAAA,CAAO,MAAA;AACtB,IAAA,IAAA,CAAK,gBAAgB,MAAA,CAAO,aAAA;AAC5B,IAAA,IAAA,CAAK,SAAA,uBAAgB,IAAA,EAAK;AAE1B,IAAA,IAAA,CAAK,eAAA,EAAgB;AAAA,EACvB;AAAA,EAEA,IAAI,MAAA,GAAiB;AACnB,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,aAAA,CAAc,KAAA,EAAgB,OAAA,EAGxB;AACX,IAAA,IAAI,KAAA,YAAiB,UAAU,OAAO,KAAA;AAEtC,IAAA,OAAO,IAAI,QAAA,CAAS;AAAA,MAClB,IAAA,EAAM,SAAS,IAAA,IAAQ,sBAAA;AAAA,MACvB,MAAA,EAAQ,SAAS,MAAA,IAAU,GAAA;AAAA,MAC3B,aAAa,KAAA,YAAiB,KAAA,GAAQ,KAAA,CAAM,OAAA,GAAU,GAAG,KAAK,CAAA,CAAA;AAAA,MAC9D,aAAA,EAAe;AAAA,KAChB,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAA,GAAS;AACP,IAAA,OAAO;AAAA,MACL,MAAM,IAAA,CAAK,IAAA;AAAA,MACX,MAAM,IAAA,CAAK,IAAA;AAAA,MACX,SAAS,IAAA,CAAK,OAAA;AAAA,MACd,QAAQ,IAAA,CAAK,OAAA;AAAA,MACb,SAAA,EAAW,IAAA,CAAK,SAAA,CAAU,WAAA,EAAY;AAAA,MACtC,OAAO,IAAA,CAAK;AAAA,KACd;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKS,QAAA,GAAmB;AAC1B,IAAA,IAAI,MAAA,GAAS,CAAA,CAAA,EAAI,IAAA,CAAK,IAAI,CAAA,EAAA,EAAK,IAAA,CAAK,IAAI,CAAA,EAAA,EAAK,IAAA,CAAK,OAAO,CAAA,GAAA,EAAM,IAAA,CAAK,OAAO,CAAA,CAAA;AAE3E,IAAA,IAAI,KAAK,KAAA,EAAO;AACd,MAAA,MAAA,IAAU;AAAA;AAAA,EAAmB,KAAK,KAAK,CAAA,CAAA;AAAA,IACzC;AAEA,IAAA,OAAO,MAAA;AAAA,EACT;AAAA,EAEA,OAAiB,mBAAmB,MAAA,EAAiC;AACnE,IAAA,IAAI,CAAC,QAAQ,WAAA,EAAa;AACxB,MAAA,OAAO,CAAA,cAAA,CAAA;AAAA,IACT;AAEA,IAAA,OAAO,CAAA,EAAG,OAAO,WAAW,CAAA,CAAA;AAAA,EAC9B;AAAA,EAEU,eAAA,GAAkB;AAC1B,IAAA,IAAI,OAAO,IAAA,CAAK,KAAA,KAAU,QAAA,EAAU;AAClC,MAAA,IAAA,CAAK,KAAA,GAAQ,IAAA,CAAK,KAAA,CACf,KAAA,CAAM,IAAI,CAAA,CACV,MAAA,CAAO,CAAA,IAAA,KAAQ,CAAC,KAAK,QAAA,CAAS,sBAAsB,CAAC,CAAA,CACrD,KAAK,IAAI,CAAA;AAAA,IACd;AAAA,EACF;AACF;;;;"}
@@ -0,0 +1,26 @@
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
+ class AbstractTool {
14
+ static {
15
+ __name(this, "AbstractTool");
16
+ }
17
+ _b24;
18
+ _logger;
19
+ constructor(b24, logger) {
20
+ this._b24 = b24;
21
+ this._logger = logger;
22
+ }
23
+ }
24
+
25
+ exports.AbstractTool = AbstractTool;
26
+ //# sourceMappingURL=abstract-tool.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-tool.cjs","sources":["../../../../src/core/tools/abstract-tool.ts"],"sourcesContent":["import type { TypeB24 } from '../../types/b24'\nimport type { LoggerInterface } from '../../types/logger'\n\n/**\n * Abstract Class for working with tools\n */\n\nexport type ToolOptions = {\n [key: string]: any\n}\n\nexport abstract class AbstractTool {\n protected _b24: TypeB24\n protected _logger: LoggerInterface\n\n constructor(b24: TypeB24, logger: LoggerInterface) {\n this._b24 = b24\n this._logger = logger\n }\n\n public abstract make(options?: ToolOptions): Promise<unknown>\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAWO,MAAe,YAAA,CAAa;AAAA,EAXnC;AAWmC,IAAA,MAAA,CAAA,IAAA,EAAA,cAAA,CAAA;AAAA;AAAA,EACvB,IAAA;AAAA,EACA,OAAA;AAAA,EAEV,WAAA,CAAY,KAAc,MAAA,EAAyB;AACjD,IAAA,IAAA,CAAK,IAAA,GAAO,GAAA;AACZ,IAAA,IAAA,CAAK,OAAA,GAAU,MAAA;AAAA,EACjB;AAGF;;;;"}
@@ -0,0 +1,50 @@
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 abstractTool = require('./abstract-tool.cjs');
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
+ class HealthCheck extends abstractTool.AbstractTool {
16
+ static {
17
+ __name(this, "HealthCheck");
18
+ }
19
+ /**
20
+ * Checks the availability of the Bitrix24 REST API.
21
+ * Performs a simple request to the API to verify the service is operational and that the required access rights are present.
22
+ *
23
+ * @note The method uses a minimal API request (`server.time`) to check availability.
24
+ * Does not overload the server with large amounts of data.
25
+ *
26
+ * @param options Some options for executing
27
+ * - `requestId?: string` - Unique request identifier for tracking. Used for query deduplication and debugging (default: undefined)
28
+ *
29
+ * @returns {Promise<false>} Promise that resolves to a Boolean value:
30
+ * - `true`: the API is available and responding
31
+ * - `false`: the API is unavailable, an error occurred, or the required access rights are missing
32
+ *
33
+ * @see {@link Ping} To measure API response speed
34
+ */
35
+ async make(options) {
36
+ try {
37
+ const response = await this._b24.actions.v2.call.make({
38
+ method: "server.time",
39
+ params: {},
40
+ requestId: options?.requestId
41
+ });
42
+ return response.isSuccess;
43
+ } catch {
44
+ return false;
45
+ }
46
+ }
47
+ }
48
+
49
+ exports.HealthCheck = HealthCheck;
50
+ //# sourceMappingURL=healthcheck.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"healthcheck.cjs","sources":["../../../../src/core/tools/healthcheck.ts"],"sourcesContent":["import type { ToolOptions } from './abstract-tool'\nimport { AbstractTool } from './abstract-tool'\n\n/**\n * HealthCheck `restApi:v2`\n *\n * @todo use apiVer3\n */\nexport class HealthCheck extends AbstractTool {\n /**\n * Checks the availability of the Bitrix24 REST API.\n * Performs a simple request to the API to verify the service is operational and that the required access rights are present.\n *\n * @note The method uses a minimal API request (`server.time`) to check availability.\n * Does not overload the server with large amounts of data.\n *\n * @param options Some options for executing\n * - `requestId?: string` - Unique request identifier for tracking. Used for query deduplication and debugging (default: undefined)\n *\n * @returns {Promise<false>} Promise that resolves to a Boolean value:\n * - `true`: the API is available and responding\n * - `false`: the API is unavailable, an error occurred, or the required access rights are missing\n *\n * @see {@link Ping} To measure API response speed\n */\n public override async make(options?: ToolOptions & { requestId?: string }): Promise<boolean> {\n try {\n const response = await this._b24.actions.v2.call.make({\n method: 'server.time',\n params: {},\n requestId: options?.requestId\n })\n return response.isSuccess\n } catch {\n return false\n }\n }\n}\n"],"names":["AbstractTool"],"mappings":";;;;;;;;;;;;;;AAQO,MAAM,oBAAoBA,yBAAA,CAAa;AAAA,EAR9C;AAQ8C,IAAA,MAAA,CAAA,IAAA,EAAA,aAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiB5C,MAAsB,KAAK,OAAA,EAAkE;AAC3F,IAAA,IAAI;AACF,MAAA,MAAM,WAAW,MAAM,IAAA,CAAK,KAAK,OAAA,CAAQ,EAAA,CAAG,KAAK,IAAA,CAAK;AAAA,QACpD,MAAA,EAAQ,aAAA;AAAA,QACR,QAAQ,EAAC;AAAA,QACT,WAAW,OAAA,EAAS;AAAA,OACrB,CAAA;AACD,MAAA,OAAO,QAAA,CAAS,SAAA;AAAA,IAClB,CAAA,CAAA,MAAQ;AACN,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,EACF;AACF;;;;"}
@@ -0,0 +1,52 @@
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 ping = require('./ping.cjs');
12
+ const healthcheck = require('./healthcheck.cjs');
13
+ const loggerFactory = require('../../logger/logger-factory.cjs');
14
+
15
+ var __defProp = Object.defineProperty;
16
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
17
+ const pingName = /* @__PURE__ */ Symbol("ping");
18
+ const healthCheckName = /* @__PURE__ */ Symbol("healthCheck");
19
+ class ToolsManager {
20
+ static {
21
+ __name(this, "ToolsManager");
22
+ }
23
+ _b24;
24
+ _logger;
25
+ _mapTools;
26
+ constructor(b24) {
27
+ this._b24 = b24;
28
+ this._logger = loggerFactory.LoggerFactory.createNullLogger();
29
+ this._mapTools = /* @__PURE__ */ new Map();
30
+ }
31
+ setLogger(logger) {
32
+ this._logger = logger;
33
+ }
34
+ getLogger() {
35
+ return this._logger;
36
+ }
37
+ get ping() {
38
+ if (!this._mapTools.has(pingName)) {
39
+ this._mapTools.set(pingName, new ping.Ping(this._b24, this._logger));
40
+ }
41
+ return this._mapTools.get(pingName);
42
+ }
43
+ get healthCheck() {
44
+ if (!this._mapTools.has(healthCheckName)) {
45
+ this._mapTools.set(healthCheckName, new healthcheck.HealthCheck(this._b24, this._logger));
46
+ }
47
+ return this._mapTools.get(healthCheckName);
48
+ }
49
+ }
50
+
51
+ exports.ToolsManager = ToolsManager;
52
+ //# sourceMappingURL=manager.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.cjs","sources":["../../../../src/core/tools/manager.ts"],"sourcesContent":["import type { TypeB24 } from '../../types/b24'\nimport type { LoggerInterface } from '../../types/logger'\nimport type { AbstractTool } from './abstract-tool'\nimport { LoggerFactory } from '../../logger'\nimport { Ping } from './ping'\nimport { HealthCheck } from './healthcheck'\n\nconst pingName = Symbol('ping')\nconst healthCheckName = Symbol('healthCheck')\n/**\n * Some tools for TypeB24\n * @todo add docs\n */\nexport class ToolsManager {\n protected _b24: TypeB24\n protected _logger: LoggerInterface\n\n protected _mapTools: Map<symbol, AbstractTool>\n\n constructor(b24: TypeB24) {\n this._b24 = b24\n this._logger = LoggerFactory.createNullLogger()\n\n this._mapTools = new Map()\n }\n\n public setLogger(logger: LoggerInterface): void {\n this._logger = logger\n }\n\n public getLogger(): LoggerInterface {\n return this._logger\n }\n\n get ping(): Ping {\n if (!this._mapTools.has(pingName)) {\n this._mapTools.set(pingName, new Ping(this._b24, this._logger))\n }\n return this._mapTools.get(pingName)! as Ping\n }\n\n get healthCheck(): HealthCheck {\n if (!this._mapTools.has(healthCheckName)) {\n this._mapTools.set(healthCheckName, new HealthCheck(this._b24, this._logger))\n }\n return this._mapTools.get(healthCheckName)! as HealthCheck\n }\n}\n"],"names":["LoggerFactory","Ping","HealthCheck"],"mappings":";;;;;;;;;;;;;;;;AAOA,MAAM,QAAA,0BAAkB,MAAM,CAAA;AAC9B,MAAM,eAAA,0BAAyB,aAAa,CAAA;AAKrC,MAAM,YAAA,CAAa;AAAA,EAb1B;AAa0B,IAAA,MAAA,CAAA,IAAA,EAAA,cAAA,CAAA;AAAA;AAAA,EACd,IAAA;AAAA,EACA,OAAA;AAAA,EAEA,SAAA;AAAA,EAEV,YAAY,GAAA,EAAc;AACxB,IAAA,IAAA,CAAK,IAAA,GAAO,GAAA;AACZ,IAAA,IAAA,CAAK,OAAA,GAAUA,4BAAc,gBAAA,EAAiB;AAE9C,IAAA,IAAA,CAAK,SAAA,uBAAgB,GAAA,EAAI;AAAA,EAC3B;AAAA,EAEO,UAAU,MAAA,EAA+B;AAC9C,IAAA,IAAA,CAAK,OAAA,GAAU,MAAA;AAAA,EACjB;AAAA,EAEO,SAAA,GAA6B;AAClC,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA,EAEA,IAAI,IAAA,GAAa;AACf,IAAA,IAAI,CAAC,IAAA,CAAK,SAAA,CAAU,GAAA,CAAI,QAAQ,CAAA,EAAG;AACjC,MAAA,IAAA,CAAK,SAAA,CAAU,IAAI,QAAA,EAAU,IAAIC,UAAK,IAAA,CAAK,IAAA,EAAM,IAAA,CAAK,OAAO,CAAC,CAAA;AAAA,IAChE;AACA,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,GAAA,CAAI,QAAQ,CAAA;AAAA,EACpC;AAAA,EAEA,IAAI,WAAA,GAA2B;AAC7B,IAAA,IAAI,CAAC,IAAA,CAAK,SAAA,CAAU,GAAA,CAAI,eAAe,CAAA,EAAG;AACxC,MAAA,IAAA,CAAK,SAAA,CAAU,IAAI,eAAA,EAAiB,IAAIC,wBAAY,IAAA,CAAK,IAAA,EAAM,IAAA,CAAK,OAAO,CAAC,CAAA;AAAA,IAC9E;AACA,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,GAAA,CAAI,eAAe,CAAA;AAAA,EAC3C;AACF;;;;"}
@@ -0,0 +1,58 @@
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 abstractTool = require('./abstract-tool.cjs');
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
+ class Ping extends abstractTool.AbstractTool {
16
+ static {
17
+ __name(this, "Ping");
18
+ }
19
+ /**
20
+ * Measures the response speed of the Bitrix24 REST API.
21
+ * Performs a test request and returns the response time in milliseconds.
22
+ * Useful for performance monitoring and diagnosing latency issues.
23
+ *
24
+ * @note The method uses a minimal API request (`server.time`) to check availability.
25
+ * Does not overload the server with large amounts of data.
26
+ *
27
+ * @warning Response time may vary depending on server load, network conditions
28
+ * and HTTP client settings (timeouts, retries).
29
+ *
30
+ * @tip For consistent results, it is recommended to perform multiple measurements
31
+ * and use the median value.
32
+ *
33
+ * @param options Some options for executing
34
+ * - `requestId?: string` - Unique request identifier for tracking. Used for query deduplication and debugging (default: undefined)
35
+ *
36
+ * @returns {Promise<number>} Promise that resolves to a response time in milliseconds:
37
+ * - Positive number: time from sending the request to receiving the response
38
+ * - In case of an error or timeout: `-1`
39
+ *
40
+ * @see {@link HealthCheck} To check API availability
41
+ */
42
+ async make(options) {
43
+ const startTime = Date.now();
44
+ try {
45
+ await this._b24.actions.v2.call.make({
46
+ method: "server.time",
47
+ params: {},
48
+ requestId: options?.requestId
49
+ });
50
+ return Date.now() - startTime;
51
+ } catch {
52
+ return -1;
53
+ }
54
+ }
55
+ }
56
+
57
+ exports.Ping = Ping;
58
+ //# sourceMappingURL=ping.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ping.cjs","sources":["../../../../src/core/tools/ping.ts"],"sourcesContent":["import type { ToolOptions } from './abstract-tool'\nimport { AbstractTool } from './abstract-tool'\n\n/**\n * Ping `restApi:v2`\n *\n * @todo use apiVer3\n */\nexport class Ping extends AbstractTool {\n /**\n * Measures the response speed of the Bitrix24 REST API.\n * Performs a test request and returns the response time in milliseconds.\n * Useful for performance monitoring and diagnosing latency issues.\n *\n * @note The method uses a minimal API request (`server.time`) to check availability.\n * Does not overload the server with large amounts of data.\n *\n * @warning Response time may vary depending on server load, network conditions\n * and HTTP client settings (timeouts, retries).\n *\n * @tip For consistent results, it is recommended to perform multiple measurements\n * and use the median value.\n *\n * @param options Some options for executing\n * - `requestId?: string` - Unique request identifier for tracking. Used for query deduplication and debugging (default: undefined)\n *\n * @returns {Promise<number>} Promise that resolves to a response time in milliseconds:\n * - Positive number: time from sending the request to receiving the response\n * - In case of an error or timeout: `-1`\n *\n * @see {@link HealthCheck} To check API availability\n */\n public override async make(options?: ToolOptions & { requestId?: string }): Promise<number> {\n const startTime = Date.now()\n try {\n await this._b24.actions.v2.call.make({\n method: 'server.time',\n params: {},\n requestId: options?.requestId\n })\n return Date.now() - startTime\n } catch {\n return -1\n }\n }\n}\n"],"names":["AbstractTool"],"mappings":";;;;;;;;;;;;;;AAQO,MAAM,aAAaA,yBAAA,CAAa;AAAA,EARvC;AAQuC,IAAA,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwBrC,MAAsB,KAAK,OAAA,EAAiE;AAC1F,IAAA,MAAM,SAAA,GAAY,KAAK,GAAA,EAAI;AAC3B,IAAA,IAAI;AACF,MAAA,MAAM,IAAA,CAAK,IAAA,CAAK,OAAA,CAAQ,EAAA,CAAG,KAAK,IAAA,CAAK;AAAA,QACnC,MAAA,EAAQ,aAAA;AAAA,QACR,QAAQ,EAAC;AAAA,QACT,WAAW,OAAA,EAAS;AAAA,OACrB,CAAA;AACD,MAAA,OAAO,IAAA,CAAK,KAAI,GAAI,SAAA;AAAA,IACtB,CAAA,CAAA,MAAQ;AACN,MAAA,OAAO,EAAA;AAAA,IACT;AAAA,EACF;AACF;;;;"}
@@ -0,0 +1,57 @@
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 b24 = require('../types/b24.cjs');
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
+ class VersionManager {
16
+ static {
17
+ __name(this, "VersionManager");
18
+ }
19
+ static create() {
20
+ return new VersionManager();
21
+ }
22
+ /**
23
+ * List of supported API versions.
24
+ * The highest version must be first.
25
+ */
26
+ getAllApiVersions() {
27
+ return [b24.ApiVersion.v3, b24.ApiVersion.v2];
28
+ }
29
+ /**
30
+ * Retained for backward compatibility. The SDK no longer keeps a v3 method
31
+ * allowlist, so support is not decided client-side any more — always returns
32
+ * `true`. Method existence is validated by the server.
33
+ */
34
+ isSupport(_version, _method) {
35
+ return true;
36
+ }
37
+ /**
38
+ * Returns the API version to use when the caller did not specify one. With the
39
+ * allowlist removed there is no client-side signal that a method is a v3
40
+ * method, so this defaults to v2 (the universal endpoint). Use the explicit
41
+ * `actions.v3.*` surface to call a method on v3.
42
+ */
43
+ automaticallyObtainApiVersion(_method) {
44
+ return b24.ApiVersion.v2;
45
+ }
46
+ /**
47
+ * Batch counterpart of {@link automaticallyObtainApiVersion}. Defaults to v2;
48
+ * call `actions.v3.batch.make` explicitly to run a batch on v3.
49
+ */
50
+ automaticallyObtainApiVersionForBatch(_calls) {
51
+ return b24.ApiVersion.v2;
52
+ }
53
+ }
54
+ const versionManager = VersionManager.create();
55
+
56
+ exports.versionManager = versionManager;
57
+ //# sourceMappingURL=version-manager.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-manager.cjs","sources":["../../../src/core/version-manager.ts"],"sourcesContent":["import { ApiVersion } from '../types/b24'\nimport type {\n BatchCommandsArrayUniversal,\n BatchCommandsObjectUniversal,\n BatchNamedCommandsUniversal\n} from '../types/http'\n\n/**\n * Decides which REST API version a method is routed through.\n *\n * The SDK no longer maintains a hardcoded v3 method allowlist. A portal's set of\n * v3 methods is large and version/edition-dependent (the authoritative list is\n * the portal's own OpenAPI document, `rest.documentation.openapi`), so gating on\n * a static list both lagged behind the server and blocked valid methods. The\n * server is now the single source of truth: an unknown v3 method simply comes\n * back as `METHODNOTFOUNDEXCEPTION`.\n *\n * Consequences:\n * - `actions.v3.*` no longer pre-flight-rejects a method — it is sent to the v3\n * endpoint and the server validates it.\n * - v3 is opt-in only via the explicit `actions.v3.*` surface; version\n * auto-detection therefore defaults to v2 (the universal endpoint).\n */\nclass VersionManager {\n static create(): VersionManager {\n return new VersionManager()\n }\n\n /**\n * List of supported API versions.\n * The highest version must be first.\n */\n public getAllApiVersions(): ApiVersion[] {\n return [ApiVersion.v3, ApiVersion.v2]\n }\n\n /**\n * Retained for backward compatibility. The SDK no longer keeps a v3 method\n * allowlist, so support is not decided client-side any more — always returns\n * `true`. Method existence is validated by the server.\n */\n public isSupport(_version: ApiVersion, _method: string): boolean {\n return true\n }\n\n /**\n * Returns the API version to use when the caller did not specify one. With the\n * allowlist removed there is no client-side signal that a method is a v3\n * method, so this defaults to v2 (the universal endpoint). Use the explicit\n * `actions.v3.*` surface to call a method on v3.\n */\n public automaticallyObtainApiVersion(_method: string): ApiVersion {\n return ApiVersion.v2\n }\n\n /**\n * Batch counterpart of {@link automaticallyObtainApiVersion}. Defaults to v2;\n * call `actions.v3.batch.make` explicitly to run a batch on v3.\n */\n public automaticallyObtainApiVersionForBatch(\n _calls: BatchCommandsArrayUniversal | BatchCommandsObjectUniversal | BatchNamedCommandsUniversal\n ): ApiVersion {\n return ApiVersion.v2\n }\n}\n\nexport const versionManager = VersionManager.create()\n"],"names":["ApiVersion"],"mappings":";;;;;;;;;;;;;;AAuBA,MAAM,cAAA,CAAe;AAAA,EAvBrB;AAuBqB,IAAA,MAAA,CAAA,IAAA,EAAA,gBAAA,CAAA;AAAA;AAAA,EACnB,OAAO,MAAA,GAAyB;AAC9B,IAAA,OAAO,IAAI,cAAA,EAAe;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMO,iBAAA,GAAkC;AACvC,IAAA,OAAO,CAACA,cAAA,CAAW,EAAA,EAAIA,cAAA,CAAW,EAAE,CAAA;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,SAAA,CAAU,UAAsB,OAAA,EAA0B;AAC/D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,8BAA8B,OAAA,EAA6B;AAChE,IAAA,OAAOA,cAAA,CAAW,EAAA;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMO,sCACL,MAAA,EACY;AACZ,IAAA,OAAOA,cAAA,CAAW,EAAA;AAAA,EACpB;AACF;AAEO,MAAM,cAAA,GAAiB,eAAe,MAAA;;;;"}
@@ -0,0 +1,100 @@
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 commands = require('./message/commands.cjs');
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
+ class AuthManager {
16
+ static {
17
+ __name(this, "AuthManager");
18
+ }
19
+ #accessToken = null;
20
+ #refreshId = null;
21
+ #authExpires = 0;
22
+ #authExpiresIn = 0;
23
+ #memberId = null;
24
+ #isAdmin = false;
25
+ #appFrame;
26
+ #messageManager;
27
+ constructor(appFrame, messageManager) {
28
+ this.#appFrame = appFrame;
29
+ this.#messageManager = messageManager;
30
+ }
31
+ /**
32
+ * Initializes the data received from the parent window message.
33
+ * @param data
34
+ */
35
+ initData(data) {
36
+ if (data.AUTH_ID) {
37
+ this.#accessToken = data.AUTH_ID;
38
+ this.#refreshId = data.REFRESH_ID;
39
+ this.#authExpiresIn = Number.parseInt(data.AUTH_EXPIRES);
40
+ this.#authExpires = Date.now() + this.#authExpiresIn * 1e3;
41
+ this.#isAdmin = data.IS_ADMIN;
42
+ this.#memberId = data.MEMBER_ID || "";
43
+ }
44
+ return this;
45
+ }
46
+ /**
47
+ * Returns authorization data
48
+ *
49
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/system-functions/bx24-get-auth.html
50
+ */
51
+ getAuthData() {
52
+ return this.#authExpires > Date.now() ? {
53
+ access_token: this.#accessToken,
54
+ refresh_token: this.#refreshId,
55
+ expires: this.#authExpires / 1e3,
56
+ expires_in: this.#authExpiresIn,
57
+ domain: this.#appFrame.getTargetOrigin(),
58
+ member_id: this.#memberId
59
+ } : false;
60
+ }
61
+ /**
62
+ * Updates authorization data through the parent window
63
+ *
64
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/system-functions/bx24-refresh-auth.html
65
+ */
66
+ async refreshAuth() {
67
+ return this.#messageManager.send(commands.MessageCommands.refreshAuth, {}).then((data) => {
68
+ this.#accessToken = data.AUTH_ID;
69
+ this.#refreshId = data.REFRESH_ID;
70
+ this.#authExpires = Date.now() + Number.parseInt(data.AUTH_EXPIRES) * 1e3;
71
+ return Promise.resolve(this.getAuthData());
72
+ });
73
+ }
74
+ getUniq(prefix) {
75
+ return [prefix, this.#memberId || ""].join("_");
76
+ }
77
+ /**
78
+ * Determines whether the current user has administrator rights
79
+ *
80
+ * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-is-admin.html
81
+ */
82
+ get isAdmin() {
83
+ return this.#isAdmin;
84
+ }
85
+ /**
86
+ * @inheritDoc
87
+ */
88
+ getTargetOrigin() {
89
+ return this.#appFrame.getTargetOrigin();
90
+ }
91
+ /**
92
+ * @inheritDoc
93
+ */
94
+ getTargetOriginWithPath() {
95
+ return this.#appFrame.getTargetOriginWithPath();
96
+ }
97
+ }
98
+
99
+ exports.AuthManager = AuthManager;
100
+ //# sourceMappingURL=auth.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.cjs","sources":["../../../src/frame/auth.ts"],"sourcesContent":["import type { AppFrame } from './frame'\nimport type { MessageManager } from './message'\nimport type { AuthActions, AuthData, RefreshAuthData, MessageInitData } from '../types/auth'\nimport type { ApiVersion } from '../types/b24'\nimport { MessageCommands } from './message'\n\n/**\n * Authorization Manager\n */\nexport class AuthManager implements AuthActions {\n #accessToken: null | string = null\n #refreshId: null | string = null\n #authExpires: number = 0\n #authExpiresIn: number = 0\n #memberId: null | string = null\n\n #isAdmin: boolean = false\n\n #appFrame: AppFrame\n #messageManager: MessageManager\n\n constructor(\n appFrame: AppFrame,\n messageManager: MessageManager\n ) {\n this.#appFrame = appFrame\n this.#messageManager = messageManager\n }\n\n /**\n * Initializes the data received from the parent window message.\n * @param data\n */\n public initData(data: MessageInitData): AuthManager {\n if (data.AUTH_ID) {\n this.#accessToken = data.AUTH_ID\n this.#refreshId = data.REFRESH_ID\n this.#authExpiresIn = Number.parseInt(data.AUTH_EXPIRES)\n this.#authExpires = Date.now() + this.#authExpiresIn * 1_000\n\n this.#isAdmin = data.IS_ADMIN\n this.#memberId = data.MEMBER_ID || ''\n }\n\n return this\n }\n\n /**\n * Returns authorization data\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/system-functions/bx24-get-auth.html\n */\n public getAuthData(): false | AuthData {\n return this.#authExpires > Date.now()\n ? ({\n access_token: this.#accessToken,\n refresh_token: this.#refreshId,\n expires: this.#authExpires / 1_000,\n expires_in: this.#authExpiresIn,\n domain: this.#appFrame.getTargetOrigin(),\n member_id: this.#memberId\n } as AuthData)\n : false\n }\n\n /**\n * Updates authorization data through the parent window\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/system-functions/bx24-refresh-auth.html\n */\n public async refreshAuth(): Promise<AuthData> {\n return this.#messageManager\n .send(MessageCommands.refreshAuth, {})\n .then((data: RefreshAuthData) => {\n this.#accessToken = data.AUTH_ID\n this.#refreshId = data.REFRESH_ID\n this.#authExpires = Date.now() + Number.parseInt(data.AUTH_EXPIRES) * 1_000\n\n return Promise.resolve(this.getAuthData() as AuthData)\n })\n }\n\n public getUniq(prefix: string): string {\n return [prefix, this.#memberId || ''].join('_')\n }\n\n /**\n * Determines whether the current user has administrator rights\n *\n * @link https://apidocs.bitrix24.com/sdk/bx24-js-sdk/additional-functions/bx24-is-admin.html\n */\n get isAdmin(): boolean {\n return this.#isAdmin\n }\n\n /**\n * @inheritDoc\n */\n public getTargetOrigin(): string {\n return this.#appFrame.getTargetOrigin()\n }\n\n /**\n * @inheritDoc\n */\n public getTargetOriginWithPath(): Map<ApiVersion, string> {\n return this.#appFrame.getTargetOriginWithPath()\n }\n}\n"],"names":["MessageCommands"],"mappings":"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"}