@bitrix24/b24jssdk 0.5.1 → 1.0.2

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 (258) hide show
  1. package/README-AI.md +2 -1
  2. package/dist/esm/_virtual/_commonjsHelpers.mjs +16 -0
  3. package/dist/esm/_virtual/_commonjsHelpers.mjs.map +1 -0
  4. package/dist/esm/_virtual/protobuf.mjs +16 -0
  5. package/dist/esm/_virtual/protobuf.mjs.map +1 -0
  6. package/dist/esm/_virtual/protobuf2.mjs +12 -0
  7. package/dist/esm/_virtual/protobuf2.mjs.map +1 -0
  8. package/dist/esm/core/abstract-b24.mjs +355 -0
  9. package/dist/esm/core/abstract-b24.mjs.map +1 -0
  10. package/dist/esm/core/actions/abstract-action.mjs +24 -0
  11. package/dist/esm/core/actions/abstract-action.mjs.map +1 -0
  12. package/dist/esm/core/actions/abstract-batch.mjs +95 -0
  13. package/dist/esm/core/actions/abstract-batch.mjs.map +1 -0
  14. package/dist/esm/core/actions/manager.mjs +53 -0
  15. package/dist/esm/core/actions/manager.mjs.map +1 -0
  16. package/dist/esm/core/actions/v2/batch-by-chunk.mjs +92 -0
  17. package/dist/esm/core/actions/v2/batch-by-chunk.mjs.map +1 -0
  18. package/dist/esm/core/actions/v2/batch.mjs +126 -0
  19. package/dist/esm/core/actions/v2/batch.mjs.map +1 -0
  20. package/dist/esm/core/actions/v2/call-list.mjs +131 -0
  21. package/dist/esm/core/actions/v2/call-list.mjs.map +1 -0
  22. package/dist/esm/core/actions/v2/call.mjs +68 -0
  23. package/dist/esm/core/actions/v2/call.mjs.map +1 -0
  24. package/dist/esm/core/actions/v2/fetch-list.mjs +132 -0
  25. package/dist/esm/core/actions/v2/fetch-list.mjs.map +1 -0
  26. package/dist/esm/core/actions/v2/manager-v2.mjs +74 -0
  27. package/dist/esm/core/actions/v2/manager-v2.mjs.map +1 -0
  28. package/dist/esm/core/actions/v3/batch-by-chunk.mjs +91 -0
  29. package/dist/esm/core/actions/v3/batch-by-chunk.mjs.map +1 -0
  30. package/dist/esm/core/actions/v3/batch.mjs +129 -0
  31. package/dist/esm/core/actions/v3/batch.mjs.map +1 -0
  32. package/dist/esm/core/actions/v3/call-list.mjs +127 -0
  33. package/dist/esm/core/actions/v3/call-list.mjs.map +1 -0
  34. package/dist/esm/core/actions/v3/call.mjs +58 -0
  35. package/dist/esm/core/actions/v3/call.mjs.map +1 -0
  36. package/dist/esm/core/actions/v3/fetch-list.mjs +125 -0
  37. package/dist/esm/core/actions/v3/fetch-list.mjs.map +1 -0
  38. package/dist/esm/core/actions/v3/manager-v3.mjs +74 -0
  39. package/dist/esm/core/actions/v3/manager-v3.mjs.map +1 -0
  40. package/dist/esm/core/http/abstract-http.mjs +563 -0
  41. package/dist/esm/core/http/abstract-http.mjs.map +1 -0
  42. package/dist/esm/core/http/ajax-error.mjs +107 -0
  43. package/dist/esm/core/http/ajax-error.mjs.map +1 -0
  44. package/dist/esm/core/http/ajax-result.mjs +176 -0
  45. package/dist/esm/core/http/ajax-result.mjs.map +1 -0
  46. package/dist/esm/core/http/limiters/adaptive-delayer.mjs +135 -0
  47. package/dist/esm/core/http/limiters/adaptive-delayer.mjs.map +1 -0
  48. package/dist/esm/core/http/limiters/manager.mjs +309 -0
  49. package/dist/esm/core/http/limiters/manager.mjs.map +1 -0
  50. package/dist/esm/core/http/limiters/operating-limiter.mjs +171 -0
  51. package/dist/esm/core/http/limiters/operating-limiter.mjs.map +1 -0
  52. package/dist/esm/core/http/limiters/params-factory.mjs +121 -0
  53. package/dist/esm/core/http/limiters/params-factory.mjs.map +1 -0
  54. package/dist/esm/core/http/limiters/rate-limiter.mjs +402 -0
  55. package/dist/esm/core/http/limiters/rate-limiter.mjs.map +1 -0
  56. package/dist/esm/core/http/v2.mjs +100 -0
  57. package/dist/esm/core/http/v2.mjs.map +1 -0
  58. package/dist/esm/core/http/v3.mjs +94 -0
  59. package/dist/esm/core/http/v3.mjs.map +1 -0
  60. package/dist/esm/core/interaction/batch/abstract-interaction-batch.mjs +69 -0
  61. package/dist/esm/core/interaction/batch/abstract-interaction-batch.mjs.map +1 -0
  62. package/dist/esm/core/interaction/batch/parse-row.mjs +67 -0
  63. package/dist/esm/core/interaction/batch/parse-row.mjs.map +1 -0
  64. package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs +42 -0
  65. package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs.map +1 -0
  66. package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs +121 -0
  67. package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs.map +1 -0
  68. package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs +32 -0
  69. package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs.map +1 -0
  70. package/dist/esm/core/interaction/batch/processing/v2/as-object.mjs +32 -0
  71. package/dist/esm/core/interaction/batch/processing/v2/as-object.mjs.map +1 -0
  72. package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs +118 -0
  73. package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs.map +1 -0
  74. package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs +32 -0
  75. package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs.map +1 -0
  76. package/dist/esm/core/interaction/batch/processing/v3/as-object.mjs +32 -0
  77. package/dist/esm/core/interaction/batch/processing/v3/as-object.mjs.map +1 -0
  78. package/dist/esm/core/interaction/batch/v2.mjs +44 -0
  79. package/dist/esm/core/interaction/batch/v2.mjs.map +1 -0
  80. package/dist/esm/core/interaction/batch/v3.mjs +42 -0
  81. package/dist/esm/core/interaction/batch/v3.mjs.map +1 -0
  82. package/dist/esm/core/language/list.mjs +56 -0
  83. package/dist/esm/core/language/list.mjs.map +1 -0
  84. package/dist/esm/core/request-id-generator.mjs +42 -0
  85. package/dist/esm/core/request-id-generator.mjs.map +1 -0
  86. package/dist/esm/core/result.mjs +101 -0
  87. package/dist/esm/core/result.mjs.map +1 -0
  88. package/dist/esm/core/sdk-error.mjs +83 -0
  89. package/dist/esm/core/sdk-error.mjs.map +1 -0
  90. package/dist/esm/core/tools/abstract-tool.mjs +24 -0
  91. package/dist/esm/core/tools/abstract-tool.mjs.map +1 -0
  92. package/dist/esm/core/tools/healthcheck.mjs +48 -0
  93. package/dist/esm/core/tools/healthcheck.mjs.map +1 -0
  94. package/dist/esm/core/tools/manager.mjs +50 -0
  95. package/dist/esm/core/tools/manager.mjs.map +1 -0
  96. package/dist/esm/core/tools/ping.mjs +56 -0
  97. package/dist/esm/core/tools/ping.mjs.map +1 -0
  98. package/dist/esm/core/version-manager.mjs +116 -0
  99. package/dist/esm/core/version-manager.mjs.map +1 -0
  100. package/dist/esm/frame/auth.mjs +98 -0
  101. package/dist/esm/frame/auth.mjs.map +1 -0
  102. package/dist/esm/frame/b24.mjs +170 -0
  103. package/dist/esm/frame/b24.mjs.map +1 -0
  104. package/dist/esm/frame/dialog.mjs +78 -0
  105. package/dist/esm/frame/dialog.mjs.map +1 -0
  106. package/dist/esm/frame/frame.mjs +101 -0
  107. package/dist/esm/frame/frame.mjs.map +1 -0
  108. package/dist/esm/frame/message/commands.mjs +37 -0
  109. package/dist/esm/frame/message/commands.mjs.map +1 -0
  110. package/dist/esm/frame/message/controller.mjs +178 -0
  111. package/dist/esm/frame/message/controller.mjs.map +1 -0
  112. package/dist/esm/frame/options.mjs +106 -0
  113. package/dist/esm/frame/options.mjs.map +1 -0
  114. package/dist/esm/frame/parent.mjs +253 -0
  115. package/dist/esm/frame/parent.mjs.map +1 -0
  116. package/dist/esm/frame/placement.mjs +131 -0
  117. package/dist/esm/frame/placement.mjs.map +1 -0
  118. package/dist/esm/frame/slider.mjs +156 -0
  119. package/dist/esm/frame/slider.mjs.map +1 -0
  120. package/dist/esm/helper/abstract-helper.mjs +52 -0
  121. package/dist/esm/helper/abstract-helper.mjs.map +1 -0
  122. package/dist/esm/helper/app-manager.mjs +37 -0
  123. package/dist/esm/helper/app-manager.mjs.map +1 -0
  124. package/dist/esm/helper/currency-manager.mjs +207 -0
  125. package/dist/esm/helper/currency-manager.mjs.map +1 -0
  126. package/dist/esm/helper/helper-manager.mjs +388 -0
  127. package/dist/esm/helper/helper-manager.mjs.map +1 -0
  128. package/dist/esm/helper/license-manager.mjs +50 -0
  129. package/dist/esm/helper/license-manager.mjs.map +1 -0
  130. package/dist/esm/helper/options-manager.mjs +196 -0
  131. package/dist/esm/helper/options-manager.mjs.map +1 -0
  132. package/dist/esm/helper/payment-manager.mjs +33 -0
  133. package/dist/esm/helper/payment-manager.mjs.map +1 -0
  134. package/dist/esm/helper/profile-manager.mjs +33 -0
  135. package/dist/esm/helper/profile-manager.mjs.map +1 -0
  136. package/dist/esm/helper/use-b24-helper.mjs +84 -0
  137. package/dist/esm/helper/use-b24-helper.mjs.map +1 -0
  138. package/dist/esm/hook/auth.mjs +77 -0
  139. package/dist/esm/hook/auth.mjs.map +1 -0
  140. package/dist/esm/hook/b24.mjs +115 -0
  141. package/dist/esm/hook/b24.mjs.map +1 -0
  142. package/dist/esm/index.d.mts +2768 -534
  143. package/dist/esm/index.d.ts +2768 -534
  144. package/dist/esm/index.mjs +70 -14118
  145. package/dist/esm/index.mjs.map +1 -1
  146. package/dist/esm/loader-b24frame.mjs +101 -0
  147. package/dist/esm/loader-b24frame.mjs.map +1 -0
  148. package/dist/esm/logger/abstract-logger.mjs +69 -0
  149. package/dist/esm/logger/abstract-logger.mjs.map +1 -0
  150. package/dist/esm/logger/browser.mjs +162 -0
  151. package/dist/esm/logger/browser.mjs.map +1 -0
  152. package/dist/esm/logger/formatter/abstract-formatter.mjs +34 -0
  153. package/dist/esm/logger/formatter/abstract-formatter.mjs.map +1 -0
  154. package/dist/esm/logger/formatter/json-formatter.mjs +34 -0
  155. package/dist/esm/logger/formatter/json-formatter.mjs.map +1 -0
  156. package/dist/esm/logger/formatter/line-formatter.mjs +41 -0
  157. package/dist/esm/logger/formatter/line-formatter.mjs.map +1 -0
  158. package/dist/esm/logger/formatter/telegram-formatter.mjs +103 -0
  159. package/dist/esm/logger/formatter/telegram-formatter.mjs.map +1 -0
  160. package/dist/esm/logger/handler/abstract-handler.mjs +39 -0
  161. package/dist/esm/logger/handler/abstract-handler.mjs.map +1 -0
  162. package/dist/esm/logger/handler/consola-adapter.mjs +62 -0
  163. package/dist/esm/logger/handler/consola-adapter.mjs.map +1 -0
  164. package/dist/esm/logger/handler/console-handler.mjs +98 -0
  165. package/dist/esm/logger/handler/console-handler.mjs.map +1 -0
  166. package/dist/esm/logger/handler/console-v2-handler.mjs +51 -0
  167. package/dist/esm/logger/handler/console-v2-handler.mjs.map +1 -0
  168. package/dist/esm/logger/handler/memory-handler.mjs +48 -0
  169. package/dist/esm/logger/handler/memory-handler.mjs.map +1 -0
  170. package/dist/esm/logger/handler/stream-handler.mjs +73 -0
  171. package/dist/esm/logger/handler/stream-handler.mjs.map +1 -0
  172. package/dist/esm/logger/handler/telegram-handler.mjs +157 -0
  173. package/dist/esm/logger/handler/telegram-handler.mjs.map +1 -0
  174. package/dist/esm/logger/handler/winston-adapter.mjs +57 -0
  175. package/dist/esm/logger/handler/winston-adapter.mjs.map +1 -0
  176. package/dist/esm/logger/logger-factory.mjs +67 -0
  177. package/dist/esm/logger/logger-factory.mjs.map +1 -0
  178. package/dist/esm/logger/logger.mjs +76 -0
  179. package/dist/esm/logger/logger.mjs.map +1 -0
  180. package/dist/esm/logger/null-logger.mjs +32 -0
  181. package/dist/esm/logger/null-logger.mjs.map +1 -0
  182. package/dist/esm/logger/processor/memory-usage-processor.mjs +20 -0
  183. package/dist/esm/logger/processor/memory-usage-processor.mjs.map +1 -0
  184. package/dist/esm/logger/processor/pid-processor.mjs +20 -0
  185. package/dist/esm/logger/processor/pid-processor.mjs.map +1 -0
  186. package/dist/esm/oauth/auth.mjs +211 -0
  187. package/dist/esm/oauth/auth.mjs.map +1 -0
  188. package/dist/esm/oauth/b24.mjs +117 -0
  189. package/dist/esm/oauth/b24.mjs.map +1 -0
  190. package/dist/esm/oauth/refresh-token-error.mjs +20 -0
  191. package/dist/esm/oauth/refresh-token-error.mjs.map +1 -0
  192. package/dist/esm/pullClient/abstract-connector.mjs +78 -0
  193. package/dist/esm/pullClient/abstract-connector.mjs.map +1 -0
  194. package/dist/esm/pullClient/channel-manager.mjs +89 -0
  195. package/dist/esm/pullClient/channel-manager.mjs.map +1 -0
  196. package/dist/esm/pullClient/client.mjs +2064 -0
  197. package/dist/esm/pullClient/client.mjs.map +1 -0
  198. package/dist/esm/pullClient/errors.mjs +31 -0
  199. package/dist/esm/pullClient/errors.mjs.map +1 -0
  200. package/dist/esm/pullClient/json-rpc.mjs +210 -0
  201. package/dist/esm/pullClient/json-rpc.mjs.map +1 -0
  202. package/dist/esm/pullClient/long-polling-connector.mjs +157 -0
  203. package/dist/esm/pullClient/long-polling-connector.mjs.map +1 -0
  204. package/dist/esm/pullClient/protobuf/index.mjs +17 -0
  205. package/dist/esm/pullClient/protobuf/index.mjs.map +1 -0
  206. package/dist/esm/pullClient/protobuf/model.mjs +1058 -0
  207. package/dist/esm/pullClient/protobuf/model.mjs.map +1 -0
  208. package/dist/esm/pullClient/protobuf/protobuf.mjs +4653 -0
  209. package/dist/esm/pullClient/protobuf/protobuf.mjs.map +1 -0
  210. package/dist/esm/pullClient/shared-config.mjs +133 -0
  211. package/dist/esm/pullClient/shared-config.mjs.map +1 -0
  212. package/dist/esm/pullClient/storage-manager.mjs +72 -0
  213. package/dist/esm/pullClient/storage-manager.mjs.map +1 -0
  214. package/dist/esm/pullClient/web-socket-connector.mjs +129 -0
  215. package/dist/esm/pullClient/web-socket-connector.mjs.map +1 -0
  216. package/dist/esm/tools/browser.mjs +154 -0
  217. package/dist/esm/tools/browser.mjs.map +1 -0
  218. package/dist/esm/tools/environment.mjs +29 -0
  219. package/dist/esm/tools/environment.mjs.map +1 -0
  220. package/dist/esm/tools/formatters/iban.mjs +304 -0
  221. package/dist/esm/tools/formatters/iban.mjs.map +1 -0
  222. package/dist/esm/tools/formatters/numbers.mjs +64 -0
  223. package/dist/esm/tools/formatters/numbers.mjs.map +1 -0
  224. package/dist/esm/tools/index.mjs +37 -0
  225. package/dist/esm/tools/index.mjs.map +1 -0
  226. package/dist/esm/tools/scroll-size.mjs +25 -0
  227. package/dist/esm/tools/scroll-size.mjs.map +1 -0
  228. package/dist/esm/tools/text.mjs +208 -0
  229. package/dist/esm/tools/text.mjs.map +1 -0
  230. package/dist/esm/tools/type.mjs +337 -0
  231. package/dist/esm/tools/type.mjs.map +1 -0
  232. package/dist/esm/tools/use-formatters.mjs +460 -0
  233. package/dist/esm/tools/use-formatters.mjs.map +1 -0
  234. package/dist/esm/tools/uuidv7.mjs +54 -0
  235. package/dist/esm/tools/uuidv7.mjs.map +1 -0
  236. package/dist/esm/types/b24-helper.mjs +56 -0
  237. package/dist/esm/types/b24-helper.mjs.map +1 -0
  238. package/dist/esm/types/b24.mjs +16 -0
  239. package/dist/esm/types/b24.mjs.map +1 -0
  240. package/dist/esm/types/bizproc/index.mjs +187 -0
  241. package/dist/esm/types/bizproc/index.mjs.map +1 -0
  242. package/dist/esm/types/catalog/index.mjs +35 -0
  243. package/dist/esm/types/catalog/index.mjs.map +1 -0
  244. package/dist/esm/types/common.mjs +31 -0
  245. package/dist/esm/types/common.mjs.map +1 -0
  246. package/dist/esm/types/crm/entity-type.mjs +57 -0
  247. package/dist/esm/types/crm/entity-type.mjs.map +1 -0
  248. package/dist/esm/types/crm/productrow.mjs +17 -0
  249. package/dist/esm/types/crm/productrow.mjs.map +1 -0
  250. package/dist/esm/types/logger.mjs +22 -0
  251. package/dist/esm/types/logger.mjs.map +1 -0
  252. package/dist/esm/types/pull.mjs +83 -0
  253. package/dist/esm/types/pull.mjs.map +1 -0
  254. package/dist/umd/index.js +31312 -26912
  255. package/dist/umd/index.js.map +1 -1
  256. package/dist/umd/index.min.js +63 -40
  257. package/dist/umd/index.min.js.map +1 -1
  258. package/package.json +34 -29
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 1.0.2
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ import { AbstractProcessingV3 } from './abstract-processing.mjs';
10
+ import { ParseRow } from '../../parse-row.mjs';
11
+
12
+ var __defProp = Object.defineProperty;
13
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
14
+ class ProcessingAsObjectV3 extends AbstractProcessingV3 {
15
+ static {
16
+ __name(this, "ProcessingAsObjectV3");
17
+ }
18
+ prepareCommands(calls, options) {
19
+ const result = [];
20
+ Object.entries(calls).forEach(([index, row]) => {
21
+ const command = ParseRow.getBatchCommand(row, { ...options, asDefaultValue: index });
22
+ result.push(command);
23
+ });
24
+ return result;
25
+ }
26
+ _processResponseError(result, ajaxError, index) {
27
+ result.addError(ajaxError, index);
28
+ }
29
+ }
30
+
31
+ export { ProcessingAsObjectV3 };
32
+ //# sourceMappingURL=as-object.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"as-object.mjs","sources":["../../../../../../../src/core/interaction/batch/processing/v3/as-object.ts"],"sourcesContent":["import type { GetCommandsOptions, IProcessingStrategy } from '../interface-strategy'\nimport type {\n BatchCommandV3, BatchNamedCommandsUniversal, ICallBatchResult\n} from '../../../../../types/http'\nimport type { Result } from '../../../../result'\nimport type { AjaxError } from '../../../../http/ajax-error'\nimport { AbstractProcessingV3 } from './abstract-processing'\nimport { ParseRow } from '../../parse-row'\n\nexport class ProcessingAsObjectV3 extends AbstractProcessingV3 implements IProcessingStrategy {\n public prepareCommands(\n calls: BatchNamedCommandsUniversal,\n options: GetCommandsOptions\n ): BatchCommandV3[] {\n const result: BatchCommandV3[] = []\n Object.entries(calls).forEach(([index, row]) => {\n const command = ParseRow.getBatchCommand(row, { ...options, asDefaultValue: index })\n result.push(command)\n })\n\n return result\n }\n\n protected _processResponseError<T>(\n result: Result<ICallBatchResult<T>>,\n ajaxError: AjaxError,\n index: string\n ): void {\n result.addError(ajaxError, index)\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AASO,MAAM,6BAA6B,oBAAA,CAAoD;AAAA,EAT9F;AAS8F,IAAA,MAAA,CAAA,IAAA,EAAA,sBAAA,CAAA;AAAA;AAAA,EACrF,eAAA,CACL,OACA,OAAA,EACkB;AAClB,IAAA,MAAM,SAA2B,EAAC;AAClC,IAAA,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAC,KAAA,EAAO,GAAG,CAAA,KAAM;AAC9C,MAAA,MAAM,OAAA,GAAU,SAAS,eAAA,CAAgB,GAAA,EAAK,EAAE,GAAG,OAAA,EAAS,cAAA,EAAgB,KAAA,EAAO,CAAA;AACnF,MAAA,MAAA,CAAO,KAAK,OAAO,CAAA;AAAA,IACrB,CAAC,CAAA;AAED,IAAA,OAAO,MAAA;AAAA,EACT;AAAA,EAEU,qBAAA,CACR,MAAA,EACA,SAAA,EACA,KAAA,EACM;AACN,IAAA,MAAA,CAAO,QAAA,CAAS,WAAW,KAAK,CAAA;AAAA,EAClC;AACF;;;;"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 1.0.2
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ import { AbstractInteractionBatch } from './abstract-interaction-batch.mjs';
10
+ import { SdkError } from '../../sdk-error.mjs';
11
+
12
+ var __defProp = Object.defineProperty;
13
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
14
+ const MAX_BATCH_COMMANDS_V2 = 50;
15
+ class InteractionBatchV2 extends AbstractInteractionBatch {
16
+ static {
17
+ __name(this, "InteractionBatchV2");
18
+ }
19
+ get maxSize() {
20
+ return MAX_BATCH_COMMANDS_V2;
21
+ }
22
+ // region Response ////
23
+ async prepareResponse(response) {
24
+ if (!this.processingStrategy) {
25
+ throw new SdkError({
26
+ code: "JSSDK_INTERACTION_BATCH_EMPTY_PROCESSING_STRATEGY",
27
+ description: "ProcessingStrategy not set",
28
+ status: 500
29
+ });
30
+ }
31
+ const responseHelper = {
32
+ requestId: response.getQuery().requestId,
33
+ parallelDefaultValue: this.parallelDefaultValue,
34
+ restrictionManager: this.restrictionManager,
35
+ response
36
+ };
37
+ const results = await this.processingStrategy.prepareItems(this._commands, responseHelper);
38
+ return this.processingStrategy.handleResults(this._commands, results, responseHelper);
39
+ }
40
+ // endregion ////
41
+ }
42
+
43
+ export { InteractionBatchV2, MAX_BATCH_COMMANDS_V2 };
44
+ //# sourceMappingURL=v2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v2.mjs","sources":["../../../../../src/core/interaction/batch/v2.ts"],"sourcesContent":["import { AbstractInteractionBatch } from './abstract-interaction-batch'\nimport { SdkError } from '../../sdk-error'\nimport type { AjaxResult } from '../../http/ajax-result'\nimport type { BatchPayload } from '../../../types/payloads'\nimport type { Result } from '../../result'\nimport type { ICallBatchResult } from '../../../types/http'\n\n/**\n * Working with batch requests in `restApi:v2`\n */\n\nexport const MAX_BATCH_COMMANDS_V2 = 50\n\nexport class InteractionBatchV2 extends AbstractInteractionBatch {\n override get maxSize(): number {\n return MAX_BATCH_COMMANDS_V2\n }\n\n // region Response ////\n public override async prepareResponse<T>(response: AjaxResult<BatchPayload<T>>): Promise<Result<ICallBatchResult<T>>> {\n if (!this.processingStrategy) {\n throw new SdkError({\n code: 'JSSDK_INTERACTION_BATCH_EMPTY_PROCESSING_STRATEGY',\n description: 'ProcessingStrategy not set',\n status: 500\n })\n }\n\n const responseHelper = {\n requestId: response.getQuery().requestId,\n parallelDefaultValue: this.parallelDefaultValue,\n restrictionManager: this.restrictionManager,\n response\n }\n\n const results = await this.processingStrategy.prepareItems<T>(this._commands, responseHelper)\n\n return this.processingStrategy.handleResults<T>(this._commands, results, responseHelper)\n }\n // endregion ////\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAWO,MAAM,qBAAA,GAAwB;AAE9B,MAAM,2BAA2B,wBAAA,CAAyB;AAAA,EAbjE;AAaiE,IAAA,MAAA,CAAA,IAAA,EAAA,oBAAA,CAAA;AAAA;AAAA,EAC/D,IAAa,OAAA,GAAkB;AAC7B,IAAA,OAAO,qBAAA;AAAA,EACT;AAAA;AAAA,EAGA,MAAsB,gBAAmB,QAAA,EAA6E;AACpH,IAAA,IAAI,CAAC,KAAK,kBAAA,EAAoB;AAC5B,MAAA,MAAM,IAAI,QAAA,CAAS;AAAA,QACjB,IAAA,EAAM,mDAAA;AAAA,QACN,WAAA,EAAa,4BAAA;AAAA,QACb,MAAA,EAAQ;AAAA,OACT,CAAA;AAAA,IACH;AAEA,IAAA,MAAM,cAAA,GAAiB;AAAA,MACrB,SAAA,EAAW,QAAA,CAAS,QAAA,EAAS,CAAE,SAAA;AAAA,MAC/B,sBAAsB,IAAA,CAAK,oBAAA;AAAA,MAC3B,oBAAoB,IAAA,CAAK,kBAAA;AAAA,MACzB;AAAA,KACF;AAEA,IAAA,MAAM,UAAU,MAAM,IAAA,CAAK,mBAAmB,YAAA,CAAgB,IAAA,CAAK,WAAW,cAAc,CAAA;AAE5F,IAAA,OAAO,KAAK,kBAAA,CAAmB,aAAA,CAAiB,IAAA,CAAK,SAAA,EAAW,SAAS,cAAc,CAAA;AAAA,EACzF;AAAA;AAEF;;;;"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 1.0.2
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ import { AbstractInteractionBatch } from './abstract-interaction-batch.mjs';
10
+ import { SdkError } from '../../sdk-error.mjs';
11
+
12
+ var __defProp = Object.defineProperty;
13
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
14
+ const MAX_BATCH_COMMANDS_V3 = 50;
15
+ class InteractionBatchV3 extends AbstractInteractionBatch {
16
+ static {
17
+ __name(this, "InteractionBatchV3");
18
+ }
19
+ get maxSize() {
20
+ return MAX_BATCH_COMMANDS_V3;
21
+ }
22
+ async prepareResponse(response) {
23
+ if (!this.processingStrategy) {
24
+ throw new SdkError({
25
+ code: "JSSDK_INTERACTION_BATCH_EMPTY_PROCESSING_STRATEGY",
26
+ description: "ProcessingStrategy not set",
27
+ status: 500
28
+ });
29
+ }
30
+ const responseHelper = {
31
+ requestId: response.getQuery().requestId,
32
+ parallelDefaultValue: this.parallelDefaultValue,
33
+ restrictionManager: this.restrictionManager,
34
+ response
35
+ };
36
+ const results = await this.processingStrategy.prepareItems(this._commands, responseHelper);
37
+ return this.processingStrategy.handleResults(this._commands, results, responseHelper);
38
+ }
39
+ }
40
+
41
+ export { InteractionBatchV3, MAX_BATCH_COMMANDS_V3 };
42
+ //# sourceMappingURL=v3.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v3.mjs","sources":["../../../../../src/core/interaction/batch/v3.ts"],"sourcesContent":["import { AbstractInteractionBatch } from './abstract-interaction-batch'\nimport type { AjaxResult } from '../../http/ajax-result'\nimport type { BatchPayload } from '../../../types/payloads'\nimport type { Result } from '../../result'\nimport type { ICallBatchResult } from '../../../types/http'\nimport { SdkError } from '../../sdk-error'\n\n/**\n * Working with batch requests in `restApi:v3`\n */\n\n/**\n * @todo waite docs apiVer3\n */\nexport const MAX_BATCH_COMMANDS_V3 = 50\n\nexport class InteractionBatchV3 extends AbstractInteractionBatch {\n override get maxSize(): number {\n return MAX_BATCH_COMMANDS_V3\n }\n\n public override async prepareResponse<T>(response: AjaxResult<BatchPayload<T>>): Promise<Result<ICallBatchResult<T>>> {\n if (!this.processingStrategy) {\n throw new SdkError({\n code: 'JSSDK_INTERACTION_BATCH_EMPTY_PROCESSING_STRATEGY',\n description: 'ProcessingStrategy not set',\n status: 500\n })\n }\n\n // const responseData = response.getData()\n const responseHelper = {\n requestId: response.getQuery().requestId,\n parallelDefaultValue: this.parallelDefaultValue,\n restrictionManager: this.restrictionManager,\n response\n }\n\n const results = await this.processingStrategy.prepareItems<T>(this._commands, responseHelper)\n\n return this.processingStrategy.handleResults<T>(this._commands, results, responseHelper)\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAcO,MAAM,qBAAA,GAAwB;AAE9B,MAAM,2BAA2B,wBAAA,CAAyB;AAAA,EAhBjE;AAgBiE,IAAA,MAAA,CAAA,IAAA,EAAA,oBAAA,CAAA;AAAA;AAAA,EAC/D,IAAa,OAAA,GAAkB;AAC7B,IAAA,OAAO,qBAAA;AAAA,EACT;AAAA,EAEA,MAAsB,gBAAmB,QAAA,EAA6E;AACpH,IAAA,IAAI,CAAC,KAAK,kBAAA,EAAoB;AAC5B,MAAA,MAAM,IAAI,QAAA,CAAS;AAAA,QACjB,IAAA,EAAM,mDAAA;AAAA,QACN,WAAA,EAAa,4BAAA;AAAA,QACb,MAAA,EAAQ;AAAA,OACT,CAAA;AAAA,IACH;AAGA,IAAA,MAAM,cAAA,GAAiB;AAAA,MACrB,SAAA,EAAW,QAAA,CAAS,QAAA,EAAS,CAAE,SAAA;AAAA,MAC/B,sBAAsB,IAAA,CAAK,oBAAA;AAAA,MAC3B,oBAAoB,IAAA,CAAK,kBAAA;AAAA,MACzB;AAAA,KACF;AAEA,IAAA,MAAM,UAAU,MAAM,IAAA,CAAK,mBAAmB,YAAA,CAAgB,IAAA,CAAK,WAAW,cAAc,CAAA;AAE5F,IAAA,OAAO,KAAK,kBAAA,CAAmB,aAAA,CAAiB,IAAA,CAAK,SAAA,EAAW,SAAS,cAAc,CAAA;AAAA,EACzF;AACF;;;;"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 1.0.2
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ var B24LangList = /* @__PURE__ */ ((B24LangList2) => {
10
+ B24LangList2["ru"] = "ru";
11
+ B24LangList2["id"] = "id";
12
+ B24LangList2["ms"] = "ms";
13
+ B24LangList2["de"] = "de";
14
+ B24LangList2["en"] = "en";
15
+ B24LangList2["la"] = "la";
16
+ B24LangList2["fr"] = "fr";
17
+ B24LangList2["in"] = "in";
18
+ B24LangList2["it"] = "it";
19
+ B24LangList2["pl"] = "pl";
20
+ B24LangList2["br"] = "br";
21
+ B24LangList2["vn"] = "vn";
22
+ B24LangList2["tr"] = "tr";
23
+ B24LangList2["kz"] = "kz";
24
+ B24LangList2["ua"] = "ua";
25
+ B24LangList2["ar"] = "ar";
26
+ B24LangList2["th"] = "th";
27
+ B24LangList2["sc"] = "sc";
28
+ B24LangList2["tc"] = "tc";
29
+ B24LangList2["ja"] = "ja";
30
+ return B24LangList2;
31
+ })(B24LangList || {});
32
+ const B24LocaleMap = {
33
+ ["ru" /* ru */]: "ru-RU",
34
+ ["id" /* id */]: "id-ID",
35
+ ["ms" /* ms */]: "ms-MY",
36
+ ["de" /* de */]: "de-DE",
37
+ ["en" /* en */]: "en-EN",
38
+ ["la" /* la */]: "es-ES",
39
+ ["fr" /* fr */]: "fr-FR",
40
+ ["in" /* in */]: "hi-IN",
41
+ ["it" /* it */]: "it-IT",
42
+ ["pl" /* pl */]: "pl-PL",
43
+ ["br" /* br */]: "pt-BR",
44
+ ["vn" /* vn */]: "vi-VN",
45
+ ["tr" /* tr */]: "tr-TR",
46
+ ["kz" /* kz */]: "kk",
47
+ ["ua" /* ua */]: "uk-UA",
48
+ ["ar" /* ar */]: "ar-SA",
49
+ ["th" /* th */]: "th-TH",
50
+ ["sc" /* sc */]: "zh-CN",
51
+ ["tc" /* tc */]: "zh-TW",
52
+ ["ja" /* ja */]: "ja-JP"
53
+ };
54
+
55
+ export { B24LangList, B24LocaleMap };
56
+ //# sourceMappingURL=list.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.mjs","sources":["../../../../src/core/language/list.ts"],"sourcesContent":["/**\n * List of supported languages in B24.Cloud\n *\n * It is worth remembering that there will be 1-2 languages for the B24.Box\n */\nexport enum B24LangList {\n ru = 'ru',\n id = 'id',\n ms = 'ms',\n\n de = 'de',\n en = 'en',\n la = 'la',\n\n fr = 'fr',\n in = 'in',\n it = 'it',\n\n pl = 'pl',\n br = 'br',\n vn = 'vn',\n\n tr = 'tr',\n kz = 'kz',\n ua = 'ua',\n\n ar = 'ar',\n th = 'th',\n sc = 'sc',\n\n tc = 'tc',\n ja = 'ja'\n}\n\nexport const B24LocaleMap: Record<B24LangList, string> = {\n [B24LangList.ru]: 'ru-RU',\n [B24LangList.id]: 'id-ID',\n [B24LangList.ms]: 'ms-MY',\n\n [B24LangList.de]: 'de-DE',\n [B24LangList.en]: 'en-EN',\n [B24LangList.la]: 'es-ES',\n\n [B24LangList.fr]: 'fr-FR',\n [B24LangList.in]: 'hi-IN',\n [B24LangList.it]: 'it-IT',\n\n [B24LangList.pl]: 'pl-PL',\n [B24LangList.br]: 'pt-BR',\n [B24LangList.vn]: 'vi-VN',\n\n [B24LangList.tr]: 'tr-TR',\n [B24LangList.kz]: 'kk',\n [B24LangList.ua]: 'uk-UA',\n\n [B24LangList.ar]: 'ar-SA',\n [B24LangList.th]: 'th-TH',\n [B24LangList.sc]: 'zh-CN',\n\n [B24LangList.tc]: 'zh-TW',\n [B24LangList.ja]: 'ja-JP'\n}\n"],"names":["B24LangList"],"mappings":";;;;;;;;AAKO,IAAK,WAAA,qBAAAA,YAAAA,KAAL;AACL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AAEL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AAEL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AAEL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AAEL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AAEL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AAEL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,aAAA,IAAA,CAAA,GAAK,IAAA;AA1BK,EAAA,OAAAA,YAAAA;AAAA,CAAA,EAAA,WAAA,IAAA,EAAA;AA6BL,MAAM,YAAA,GAA4C;AAAA,EACvD,CAAC,gBAAiB,OAAA;AAAA,EAClB,CAAC,gBAAiB,OAAA;AAAA,EAClB,CAAC,gBAAiB,OAAA;AAAA,EAElB,CAAC,gBAAiB,OAAA;AAAA,EAClB,CAAC,gBAAiB,OAAA;AAAA,EAClB,CAAC,gBAAiB,OAAA;AAAA,EAElB,CAAC,gBAAiB,OAAA;AAAA,EAClB,CAAC,gBAAiB,OAAA;AAAA,EAClB,CAAC,gBAAiB,OAAA;AAAA,EAElB,CAAC,gBAAiB,OAAA;AAAA,EAClB,CAAC,gBAAiB,OAAA;AAAA,EAClB,CAAC,gBAAiB,OAAA;AAAA,EAElB,CAAC,gBAAiB,OAAA;AAAA,EAClB,CAAC,gBAAiB,IAAA;AAAA,EAClB,CAAC,gBAAiB,OAAA;AAAA,EAElB,CAAC,gBAAiB,OAAA;AAAA,EAClB,CAAC,gBAAiB,OAAA;AAAA,EAClB,CAAC,gBAAiB,OAAA;AAAA,EAElB,CAAC,gBAAiB,OAAA;AAAA,EAClB,CAAC,gBAAiB;AACpB;;;;"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 1.0.2
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ import { Text } from '../tools/text.mjs';
10
+
11
+ var __defProp = Object.defineProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ const DEFAULT_REQUEST_ID_HEADER_FIELD_NAME = "X-Request-ID";
14
+ const DEFAULT_QUERY_STRING_PARAMETER_NAME = "bx24_request_id";
15
+ const DEFAULT_QUERY_STRING_SDK_VER_PARAMETER_NAME = "bx24_sdk_ver";
16
+ const DEFAULT_QUERY_STRING_SDK_TYPE_PARAMETER_NAME = "bx24_sdk_type";
17
+ class RequestIdGenerator {
18
+ static {
19
+ __name(this, "RequestIdGenerator");
20
+ }
21
+ getQueryStringParameterName() {
22
+ return DEFAULT_QUERY_STRING_PARAMETER_NAME;
23
+ }
24
+ getQueryStringSdkParameterName() {
25
+ return DEFAULT_QUERY_STRING_SDK_VER_PARAMETER_NAME;
26
+ }
27
+ getQueryStringSdkTypeParameterName() {
28
+ return DEFAULT_QUERY_STRING_SDK_TYPE_PARAMETER_NAME;
29
+ }
30
+ generate() {
31
+ return Text.getUuidRfc4122();
32
+ }
33
+ getRequestId() {
34
+ return this.generate();
35
+ }
36
+ getHeaderFieldName() {
37
+ return DEFAULT_REQUEST_ID_HEADER_FIELD_NAME;
38
+ }
39
+ }
40
+
41
+ export { RequestIdGenerator };
42
+ //# sourceMappingURL=request-id-generator.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-id-generator.mjs","sources":["../../../src/core/request-id-generator.ts"],"sourcesContent":["import type { IRequestIdGenerator } from '../types/http'\nimport { Text } from '../tools/text'\n\nconst DEFAULT_REQUEST_ID_HEADER_FIELD_NAME = 'X-Request-ID'\nconst DEFAULT_QUERY_STRING_PARAMETER_NAME = 'bx24_request_id'\nconst DEFAULT_QUERY_STRING_SDK_VER_PARAMETER_NAME = 'bx24_sdk_ver'\nconst DEFAULT_QUERY_STRING_SDK_TYPE_PARAMETER_NAME = 'bx24_sdk_type'\n\nexport class RequestIdGenerator implements IRequestIdGenerator {\n public getQueryStringParameterName(): string {\n return DEFAULT_QUERY_STRING_PARAMETER_NAME\n }\n\n public getQueryStringSdkParameterName(): string {\n return DEFAULT_QUERY_STRING_SDK_VER_PARAMETER_NAME\n }\n\n public getQueryStringSdkTypeParameterName(): string {\n return DEFAULT_QUERY_STRING_SDK_TYPE_PARAMETER_NAME\n }\n\n private generate(): string {\n return Text.getUuidRfc4122()\n }\n\n public getRequestId(): string {\n return this.generate()\n }\n\n public getHeaderFieldName(): string {\n return DEFAULT_REQUEST_ID_HEADER_FIELD_NAME\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAGA,MAAM,oCAAA,GAAuC,cAAA;AAC7C,MAAM,mCAAA,GAAsC,iBAAA;AAC5C,MAAM,2CAAA,GAA8C,cAAA;AACpD,MAAM,4CAAA,GAA+C,eAAA;AAE9C,MAAM,kBAAA,CAAkD;AAAA,EAR/D;AAQ+D,IAAA,MAAA,CAAA,IAAA,EAAA,oBAAA,CAAA;AAAA;AAAA,EACtD,2BAAA,GAAsC;AAC3C,IAAA,OAAO,mCAAA;AAAA,EACT;AAAA,EAEO,8BAAA,GAAyC;AAC9C,IAAA,OAAO,2CAAA;AAAA,EACT;AAAA,EAEO,kCAAA,GAA6C;AAClD,IAAA,OAAO,4CAAA;AAAA,EACT;AAAA,EAEQ,QAAA,GAAmB;AACzB,IAAA,OAAO,KAAK,cAAA,EAAe;AAAA,EAC7B;AAAA,EAEO,YAAA,GAAuB;AAC5B,IAAA,OAAO,KAAK,QAAA,EAAS;AAAA,EACvB;AAAA,EAEO,kBAAA,GAA6B;AAClC,IAAA,OAAO,oCAAA;AAAA,EACT;AACF;;;;"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 1.0.2
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ import { Text } from '../tools/text.mjs';
10
+
11
+ var __defProp = Object.defineProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ class Result {
14
+ static {
15
+ __name(this, "Result");
16
+ }
17
+ _errors;
18
+ _data;
19
+ constructor(data) {
20
+ this._errors = /* @__PURE__ */ new Map();
21
+ this._data = data ?? null;
22
+ }
23
+ get isSuccess() {
24
+ return this._errors.size === 0;
25
+ }
26
+ get errors() {
27
+ return this._errors;
28
+ }
29
+ setData(data) {
30
+ this._data = data;
31
+ return this;
32
+ }
33
+ getData() {
34
+ return this._data;
35
+ }
36
+ addError(error, key) {
37
+ const errorKey = key ?? Text.getUuidRfc4122();
38
+ const errorObj = typeof error === "string" ? new Error(error) : error;
39
+ this._errors.set(errorKey, errorObj);
40
+ return this;
41
+ }
42
+ addErrors(errors) {
43
+ for (const error of errors) {
44
+ this.addError(error);
45
+ }
46
+ return this;
47
+ }
48
+ getErrors() {
49
+ return this._errors.values();
50
+ }
51
+ hasError(key) {
52
+ return this._errors.has(key);
53
+ }
54
+ /**
55
+ * Retrieves an array of error messages from the collected errors.
56
+ *
57
+ * @returns An array of strings representing the error messages. Each string
58
+ * contains the message of a corresponding error object.
59
+ */
60
+ getErrorMessages() {
61
+ return Array.from(this._errors.values(), (e) => e.message);
62
+ }
63
+ /**
64
+ * Converts the Result object to a string.
65
+ *
66
+ * @returns {string} Returns a string representation of the result operation
67
+ */
68
+ toString() {
69
+ const status = this.isSuccess ? "success" : "failure";
70
+ const data = this.safeStringify(this._data);
71
+ return this.isSuccess ? `Result(${status}): ${data}` : `Result(${status}): ${data}
72
+ Errors: ${this.getErrorMessages().join(", ")}`;
73
+ }
74
+ safeStringify(data) {
75
+ try {
76
+ return JSON.stringify(data, this.replacer, 2);
77
+ } catch {
78
+ return "[Unable to serialize data]";
79
+ }
80
+ }
81
+ replacer(_, value) {
82
+ if (value instanceof Error) {
83
+ return {
84
+ name: value.name,
85
+ message: value.message,
86
+ stack: value.stack
87
+ };
88
+ }
89
+ return value;
90
+ }
91
+ // Static constructors
92
+ static ok(data) {
93
+ return new Result(data);
94
+ }
95
+ static fail(error, key) {
96
+ return new Result().addError(error, key);
97
+ }
98
+ }
99
+
100
+ export { Result };
101
+ //# sourceMappingURL=result.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.mjs","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 */\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 * 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 * 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":[],"mappings":";;;;;;;;;;;;AA0EO,MAAM,MAAA,CAAsC;AAAA,EA1EnD;AA0EmD,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,IAAO,IAAA,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,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,83 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 1.0.2
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ var __defProp = Object.defineProperty;
10
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
11
+ class SdkError extends Error {
12
+ static {
13
+ __name(this, "SdkError");
14
+ }
15
+ code;
16
+ _status;
17
+ timestamp;
18
+ originalError;
19
+ constructor(params) {
20
+ const message = SdkError.formatErrorMessage(params);
21
+ super(message);
22
+ this.name = "SdkError";
23
+ this.code = params.code;
24
+ this._status = params.status;
25
+ this.originalError = params.originalError;
26
+ this.timestamp = /* @__PURE__ */ new Date();
27
+ this.cleanErrorStack();
28
+ }
29
+ get status() {
30
+ return this._status;
31
+ }
32
+ /**
33
+ * Creates SdkError from exception
34
+ */
35
+ static fromException(error, context) {
36
+ if (error instanceof SdkError) return error;
37
+ return new SdkError({
38
+ code: context?.code || "JSSDK_INTERNAL_ERROR",
39
+ status: context?.status || 500,
40
+ description: error instanceof Error ? error.message : `${error}`,
41
+ originalError: error
42
+ });
43
+ }
44
+ /**
45
+ * Serializes error for logging and debugging
46
+ */
47
+ toJSON() {
48
+ return {
49
+ name: this.name,
50
+ code: this.code,
51
+ message: this.message,
52
+ status: this._status,
53
+ timestamp: this.timestamp.toISOString(),
54
+ stack: this.stack
55
+ };
56
+ }
57
+ /**
58
+ * Formats error information for human-readable output
59
+ */
60
+ toString() {
61
+ let output = `[${this.name}] ${this.code} (${this._status}): ${this.message}`;
62
+ if (this.stack) {
63
+ output += `
64
+ Stack trace:
65
+ ${this.stack}`;
66
+ }
67
+ return output;
68
+ }
69
+ static formatErrorMessage(params) {
70
+ if (!params?.description) {
71
+ return `Internal error`;
72
+ }
73
+ return `${params.description}`;
74
+ }
75
+ cleanErrorStack() {
76
+ if (typeof this.stack === "string") {
77
+ this.stack = this.stack.split("\n").filter((line) => !line.includes("SdkError.constructor")).join("\n");
78
+ }
79
+ }
80
+ }
81
+
82
+ export { SdkError };
83
+ //# sourceMappingURL=sdk-error.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-error.mjs","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,24 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 1.0.2
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ var __defProp = Object.defineProperty;
10
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
11
+ class AbstractTool {
12
+ static {
13
+ __name(this, "AbstractTool");
14
+ }
15
+ _b24;
16
+ _logger;
17
+ constructor(b24, logger) {
18
+ this._b24 = b24;
19
+ this._logger = logger;
20
+ }
21
+ }
22
+
23
+ export { AbstractTool };
24
+ //# sourceMappingURL=abstract-tool.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-tool.mjs","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,48 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 1.0.2
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ import { AbstractTool } from './abstract-tool.mjs';
10
+
11
+ var __defProp = Object.defineProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ class HealthCheck extends AbstractTool {
14
+ static {
15
+ __name(this, "HealthCheck");
16
+ }
17
+ /**
18
+ * Checks the availability of the Bitrix24 REST API.
19
+ * Performs a simple request to the API to verify the service is operational and that the required access rights are present.
20
+ *
21
+ * @note The method uses a minimal API request (`server.time`) to check availability.
22
+ * Does not overload the server with large amounts of data.
23
+ *
24
+ * @param options Some options for executing
25
+ * - `requestId?: string` - Unique request identifier for tracking. Used for query deduplication and debugging (default: undefined)
26
+ *
27
+ * @returns {Promise<false>} Promise that resolves to a Boolean value:
28
+ * - `true`: the API is available and responding
29
+ * - `false`: the API is unavailable, an error occurred, or the required access rights are missing
30
+ *
31
+ * @see {@link Ping} To measure API response speed
32
+ */
33
+ async make(options) {
34
+ try {
35
+ const response = await this._b24.actions.v2.call.make({
36
+ method: "server.time",
37
+ params: {},
38
+ requestId: options?.requestId
39
+ });
40
+ return response.isSuccess;
41
+ } catch {
42
+ return false;
43
+ }
44
+ }
45
+ }
46
+
47
+ export { HealthCheck };
48
+ //# sourceMappingURL=healthcheck.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"healthcheck.mjs","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":[],"mappings":";;;;;;;;;;;;AAQO,MAAM,oBAAoB,YAAA,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,50 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 1.0.2
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ import { Ping } from './ping.mjs';
10
+ import { HealthCheck } from './healthcheck.mjs';
11
+ import { LoggerFactory } from '../../logger/logger-factory.mjs';
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
+ const pingName = Symbol("ping");
16
+ const healthCheckName = Symbol("healthCheck");
17
+ class ToolsManager {
18
+ static {
19
+ __name(this, "ToolsManager");
20
+ }
21
+ _b24;
22
+ _logger;
23
+ _mapTools;
24
+ constructor(b24) {
25
+ this._b24 = b24;
26
+ this._logger = LoggerFactory.createNullLogger();
27
+ this._mapTools = /* @__PURE__ */ new Map();
28
+ }
29
+ setLogger(logger) {
30
+ this._logger = logger;
31
+ }
32
+ getLogger() {
33
+ return this._logger;
34
+ }
35
+ get ping() {
36
+ if (!this._mapTools.has(pingName)) {
37
+ this._mapTools.set(pingName, new Ping(this._b24, this._logger));
38
+ }
39
+ return this._mapTools.get(pingName);
40
+ }
41
+ get healthCheck() {
42
+ if (!this._mapTools.has(healthCheckName)) {
43
+ this._mapTools.set(healthCheckName, new HealthCheck(this._b24, this._logger));
44
+ }
45
+ return this._mapTools.get(healthCheckName);
46
+ }
47
+ }
48
+
49
+ export { ToolsManager };
50
+ //# sourceMappingURL=manager.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.mjs","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":[],"mappings":";;;;;;;;;;;;;;AAOA,MAAM,QAAA,GAAW,OAAO,MAAM,CAAA;AAC9B,MAAM,eAAA,GAAkB,OAAO,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,GAAU,cAAc,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,IAAI,KAAK,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,IAAI,YAAY,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;;;;"}