@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,103 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 2.0.0
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ 'use strict';
10
+
11
+ const sdkError = require('./core/sdk-error.cjs');
12
+ const b24 = require('./frame/b24.cjs');
13
+
14
+ var __defProp = Object.defineProperty;
15
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
16
+ const delay = 50;
17
+ let $b24Frame = null;
18
+ let isInit = false;
19
+ let connectError = null;
20
+ let isMakeFirstCall = false;
21
+ let listCallBack = [];
22
+ let isStartWatch = false;
23
+ function startWatch() {
24
+ window.setTimeout(() => {
25
+ if (!isInit || $b24Frame === null) {
26
+ startWatch();
27
+ return;
28
+ }
29
+ processResult();
30
+ listCallBack = [];
31
+ }, delay);
32
+ }
33
+ __name(startWatch, "startWatch");
34
+ function processResult() {
35
+ if (null !== connectError) {
36
+ for (const callBack of listCallBack) {
37
+ callBack.reject(connectError);
38
+ }
39
+ }
40
+ if (!isInit || $b24Frame === null) {
41
+ return;
42
+ }
43
+ for (const callBack of listCallBack) {
44
+ callBack.resolve($b24Frame);
45
+ }
46
+ }
47
+ __name(processResult, "processResult");
48
+ async function initializeB24Frame(options) {
49
+ if (isInit && null !== $b24Frame) {
50
+ return Promise.resolve($b24Frame);
51
+ }
52
+ if (isMakeFirstCall) {
53
+ if (!isStartWatch) {
54
+ isStartWatch = true;
55
+ startWatch();
56
+ }
57
+ return new Promise((resolve, reject) => {
58
+ listCallBack.push({
59
+ resolve,
60
+ reject
61
+ });
62
+ });
63
+ }
64
+ isMakeFirstCall = true;
65
+ return new Promise((resolve, reject) => {
66
+ const queryParams = {
67
+ DOMAIN: null,
68
+ PROTOCOL: false,
69
+ APP_SID: null,
70
+ LANG: null
71
+ };
72
+ if (window.name) {
73
+ const [domain, protocol, appSid] = window.name.split("|");
74
+ queryParams.DOMAIN = domain;
75
+ queryParams.PROTOCOL = Number.parseInt(protocol ?? "0") === 1;
76
+ queryParams.APP_SID = appSid;
77
+ queryParams.LANG = null;
78
+ }
79
+ if (!queryParams.DOMAIN || !queryParams.APP_SID) {
80
+ connectError = new sdkError.SdkError({
81
+ code: "JSSDK_CLIENT_SIDE_WARNING",
82
+ description: "Well done! Now paste this URL into the Bitrix24 app settings",
83
+ status: 500
84
+ });
85
+ reject(connectError);
86
+ }
87
+ $b24Frame = new b24.B24Frame(
88
+ queryParams,
89
+ options
90
+ );
91
+ $b24Frame.init().then(() => {
92
+ isInit = true;
93
+ resolve($b24Frame);
94
+ }).catch((error) => {
95
+ connectError = error;
96
+ reject(connectError);
97
+ });
98
+ });
99
+ }
100
+ __name(initializeB24Frame, "initializeB24Frame");
101
+
102
+ exports.initializeB24Frame = initializeB24Frame;
103
+ //# sourceMappingURL=loader-b24frame.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader-b24frame.cjs","sources":["../../src/loader-b24frame.ts"],"sourcesContent":["import type { B24FrameQueryParams } from './types/auth'\nimport type { RestrictionParams } from './types/limiters'\nimport type { ApiVersion } from './types/b24'\nimport { B24Frame } from './frame'\nimport { SdkError } from './core/sdk-error'\n\ntype whileB24InitCallback = {\n resolve: (b24Frame: B24Frame) => void\n reject: (error: any) => void\n}\n\nconst delay = 50\n\nlet $b24Frame: null | B24Frame = null\nlet isInit = false\nlet connectError: null | Error = null\nlet isMakeFirstCall = false\n\nlet listCallBack: whileB24InitCallback[] = []\nlet isStartWatch = false\n\n// region Watch ////\nfunction startWatch() {\n window.setTimeout(() => {\n if (!isInit || $b24Frame === null) {\n startWatch()\n return\n }\n\n processResult()\n listCallBack = []\n }, delay)\n}\n\nfunction processResult(): void {\n if (null !== connectError) {\n for (const callBack of listCallBack) {\n callBack.reject(connectError)\n }\n }\n\n if (!isInit || $b24Frame === null) {\n return\n }\n\n for (const callBack of listCallBack) {\n callBack.resolve($b24Frame as B24Frame)\n }\n}\n// endregion ////\n\nexport async function initializeB24Frame(\n options?: {\n version?: ApiVersion\n restrictionParams?: Partial<RestrictionParams>\n }\n): Promise<B24Frame> {\n // region isInit ////\n if (isInit && null !== $b24Frame) {\n return Promise.resolve($b24Frame)\n }\n // endregion ////\n\n // region Not First Call ///\n if (isMakeFirstCall) {\n // region startWatch ///\n if (!isStartWatch) {\n isStartWatch = true\n startWatch()\n }\n // endregion ////\n\n return new Promise((resolve, reject) => {\n listCallBack.push({\n resolve: resolve,\n reject: reject\n })\n })\n }\n // endregion ////\n\n // region First Call ///\n isMakeFirstCall = true\n\n return new Promise((resolve, reject) => {\n const queryParams: B24FrameQueryParams = {\n DOMAIN: null,\n PROTOCOL: false,\n APP_SID: null,\n LANG: null\n }\n\n if (window.name) {\n const [domain, protocol, appSid] = window.name.split('|')\n queryParams.DOMAIN = domain\n queryParams.PROTOCOL = Number.parseInt(protocol ?? '0') === 1\n queryParams.APP_SID = appSid\n queryParams.LANG = null\n }\n\n if (!queryParams.DOMAIN || !queryParams.APP_SID) {\n // throw new Error('Unable to initialize Bitrix24Frame library!')\n connectError = new SdkError({\n code: 'JSSDK_CLIENT_SIDE_WARNING',\n description: 'Well done! Now paste this URL into the Bitrix24 app settings',\n status: 500\n })\n reject(connectError)\n }\n\n $b24Frame = new B24Frame(\n queryParams,\n options\n )\n\n $b24Frame\n .init()\n .then(() => {\n isInit = true\n resolve($b24Frame as B24Frame)\n })\n .catch((error) => {\n connectError = error\n reject(connectError)\n })\n })\n // endregion ////\n}\n"],"names":["SdkError","B24Frame"],"mappings":"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"}
@@ -0,0 +1,71 @@
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 logger = require('../types/logger.cjs');
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
+ class AbstractLogger {
16
+ static {
17
+ __name(this, "AbstractLogger");
18
+ }
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ async debug(message, context) {
23
+ return this.log(logger.LogLevel.DEBUG, message, context);
24
+ }
25
+ /**
26
+ * @inheritDoc
27
+ */
28
+ async info(message, context) {
29
+ return this.log(logger.LogLevel.INFO, message, context);
30
+ }
31
+ /**
32
+ * @inheritDoc
33
+ */
34
+ async notice(message, context) {
35
+ return this.log(logger.LogLevel.NOTICE, message, context);
36
+ }
37
+ /**
38
+ * @inheritDoc
39
+ */
40
+ async warning(message, context) {
41
+ return this.log(logger.LogLevel.WARNING, message, context);
42
+ }
43
+ /**
44
+ * @inheritDoc
45
+ */
46
+ async error(message, context) {
47
+ return this.log(logger.LogLevel.ERROR, message, context);
48
+ }
49
+ /**
50
+ * @inheritDoc
51
+ */
52
+ async critical(message, context) {
53
+ return this.log(logger.LogLevel.CRITICAL, message, context);
54
+ }
55
+ /**
56
+ * @inheritDoc
57
+ */
58
+ async alert(message, context) {
59
+ return this.log(logger.LogLevel.ALERT, message, context);
60
+ }
61
+ /**
62
+ * @inheritDoc
63
+ */
64
+ async emergency(message, context) {
65
+ return this.log(logger.LogLevel.EMERGENCY, message, context);
66
+ }
67
+ // endregion ////
68
+ }
69
+
70
+ exports.AbstractLogger = AbstractLogger;
71
+ //# sourceMappingURL=abstract-logger.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-logger.cjs","sources":["../../../src/logger/abstract-logger.ts"],"sourcesContent":["import type { LoggerInterface } from '../types/logger'\nimport { LogLevel } from '../types/logger'\n\nexport abstract class AbstractLogger implements LoggerInterface {\n // region logging methods ////\n /**\n * @inheritDoc\n */\n public abstract log(_level: LogLevel, _message: string, _context?: Record<string, any>): Promise<void>\n\n /**\n * @inheritDoc\n */\n public async debug(message: string, context?: Record<string, any>): Promise<void> {\n return this.log(LogLevel.DEBUG, message, context)\n }\n\n /**\n * @inheritDoc\n */\n public async info(message: string, context?: Record<string, any>): Promise<void> {\n return this.log(LogLevel.INFO, message, context)\n }\n\n /**\n * @inheritDoc\n */\n public async notice(message: string, context?: Record<string, any>): Promise<void> {\n return this.log(LogLevel.NOTICE, message, context)\n }\n\n /**\n * @inheritDoc\n */\n public async warning(message: string, context?: Record<string, any>): Promise<void> {\n return this.log(LogLevel.WARNING, message, context)\n }\n\n /**\n * @inheritDoc\n */\n public async error(message: string, context: Record<string, any>): Promise<void> {\n return this.log(LogLevel.ERROR, message, context)\n }\n\n /**\n * @inheritDoc\n */\n public async critical(message: string, context?: Record<string, any>): Promise<void> {\n return this.log(LogLevel.CRITICAL, message, context)\n }\n\n /**\n * @inheritDoc\n */\n public async alert(message: string, context?: Record<string, any>): Promise<void> {\n return this.log(LogLevel.ALERT, message, context)\n }\n\n /**\n * @inheritDoc\n */\n public async emergency(message: string, context?: Record<string, any>): Promise<void> {\n return this.log(LogLevel.EMERGENCY, message, context)\n }\n // endregion ////\n}\n"],"names":["LogLevel"],"mappings":";;;;;;;;;;;;;;AAGO,MAAe,cAAA,CAA0C;AAAA,EAHhE;AAGgE,IAAA,MAAA,CAAA,IAAA,EAAA,gBAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAU9D,MAAa,KAAA,CAAM,OAAA,EAAiB,OAAA,EAA8C;AAChF,IAAA,OAAO,IAAA,CAAK,GAAA,CAAIA,eAAA,CAAS,KAAA,EAAO,SAAS,OAAO,CAAA;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAa,IAAA,CAAK,OAAA,EAAiB,OAAA,EAA8C;AAC/E,IAAA,OAAO,IAAA,CAAK,GAAA,CAAIA,eAAA,CAAS,IAAA,EAAM,SAAS,OAAO,CAAA;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAa,MAAA,CAAO,OAAA,EAAiB,OAAA,EAA8C;AACjF,IAAA,OAAO,IAAA,CAAK,GAAA,CAAIA,eAAA,CAAS,MAAA,EAAQ,SAAS,OAAO,CAAA;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAa,OAAA,CAAQ,OAAA,EAAiB,OAAA,EAA8C;AAClF,IAAA,OAAO,IAAA,CAAK,GAAA,CAAIA,eAAA,CAAS,OAAA,EAAS,SAAS,OAAO,CAAA;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAa,KAAA,CAAM,OAAA,EAAiB,OAAA,EAA6C;AAC/E,IAAA,OAAO,IAAA,CAAK,GAAA,CAAIA,eAAA,CAAS,KAAA,EAAO,SAAS,OAAO,CAAA;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAa,QAAA,CAAS,OAAA,EAAiB,OAAA,EAA8C;AACnF,IAAA,OAAO,IAAA,CAAK,GAAA,CAAIA,eAAA,CAAS,QAAA,EAAU,SAAS,OAAO,CAAA;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAa,KAAA,CAAM,OAAA,EAAiB,OAAA,EAA8C;AAChF,IAAA,OAAO,IAAA,CAAK,GAAA,CAAIA,eAAA,CAAS,KAAA,EAAO,SAAS,OAAO,CAAA;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAa,SAAA,CAAU,OAAA,EAAiB,OAAA,EAA8C;AACpF,IAAA,OAAO,IAAA,CAAK,GAAA,CAAIA,eAAA,CAAS,SAAA,EAAW,SAAS,OAAO,CAAA;AAAA,EACtD;AAAA;AAEF;;;;"}
@@ -0,0 +1,165 @@
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 loggerFactory = require('./logger-factory.cjs');
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
+ const deprecateMessage = "@deprecate: use Logger. https://bitrix24.github.io/b24jssdk/docs/working-with-the-rest-api/logger/";
16
+ var LoggerType = /* @__PURE__ */ ((LoggerType2) => {
17
+ LoggerType2["desktop"] = "desktop";
18
+ LoggerType2["log"] = "log";
19
+ LoggerType2["info"] = "info";
20
+ LoggerType2["warn"] = "warn";
21
+ LoggerType2["error"] = "error";
22
+ LoggerType2["trace"] = "trace";
23
+ return LoggerType2;
24
+ })(LoggerType || {});
25
+ class LoggerBrowser {
26
+ static {
27
+ __name(this, "LoggerBrowser");
28
+ }
29
+ #logger;
30
+ /**
31
+ * Create a LoggerBrowser instance
32
+ *
33
+ * @deprecated This method is deprecated and will be removed in version `2.0.0`
34
+ *
35
+ * @removed 2.0.0
36
+ */
37
+ static build(title, isDevelopment = false) {
38
+ return new LoggerBrowser(title, isDevelopment);
39
+ }
40
+ constructor(title, isDevelopment = false) {
41
+ console.warn(deprecateMessage);
42
+ if (isDevelopment) {
43
+ this.#logger = loggerFactory.LoggerFactory.createForBrowserDevelopment(title);
44
+ } else {
45
+ this.#logger = loggerFactory.LoggerFactory.createForBrowserProduction(title);
46
+ }
47
+ }
48
+ // region Config ////
49
+ /**
50
+ * Set config
51
+ *
52
+ * @deprecated This method is deprecated and will be removed in version `2.0.0`
53
+ *
54
+ * @removed 2.0.0
55
+ */
56
+ setConfig(_types) {
57
+ console.warn(deprecateMessage);
58
+ }
59
+ /**
60
+ * Set enable
61
+ *
62
+ * @deprecated This method is deprecated and will be removed in version `2.0.0`
63
+ *
64
+ * @removed 2.0.0
65
+ */
66
+ enable(_type) {
67
+ console.warn(deprecateMessage);
68
+ return true;
69
+ }
70
+ /**
71
+ * Set disable
72
+ *
73
+ * @deprecated This method is deprecated and will be removed in version `2.0.0`
74
+ *
75
+ * @removed 2.0.0
76
+ */
77
+ disable(_type) {
78
+ console.warn(deprecateMessage);
79
+ return true;
80
+ }
81
+ /**
82
+ * Test is enable
83
+ *
84
+ * @deprecated This method is deprecated and will be removed in version `2.0.0`
85
+ *
86
+ * @removed 2.0.0
87
+ */
88
+ isEnabled(_type) {
89
+ console.warn(deprecateMessage);
90
+ return false;
91
+ }
92
+ // endregion ////
93
+ // region Functions ////
94
+ async desktop(...params) {
95
+ console.warn(deprecateMessage);
96
+ const context = {
97
+ needDesktop: true,
98
+ params: { ...params }
99
+ };
100
+ return this.#logger.debug("desktop", context);
101
+ }
102
+ async log(...params) {
103
+ console.warn(deprecateMessage);
104
+ const context = { params: { ...params } };
105
+ return this.#logger.debug("log", context);
106
+ }
107
+ async info(...params) {
108
+ console.warn(deprecateMessage);
109
+ const context = { params: { ...params } };
110
+ return this.#logger.info("info", context);
111
+ }
112
+ async warn(...params) {
113
+ console.warn(deprecateMessage);
114
+ const context = { params: { ...params } };
115
+ return this.#logger.warning("warn", context);
116
+ }
117
+ async error(...params) {
118
+ console.warn(deprecateMessage);
119
+ const context = { params: { ...params } };
120
+ return this.#logger.error("error", context);
121
+ }
122
+ async trace(...params) {
123
+ console.warn(deprecateMessage);
124
+ const context = {
125
+ needTrace: true,
126
+ params: { ...params }
127
+ };
128
+ return this.#logger.debug("trace", context);
129
+ }
130
+ async debug(...params) {
131
+ console.warn(deprecateMessage);
132
+ const context = { params: { ...params } };
133
+ return this.#logger.debug("debug", context);
134
+ }
135
+ async notice(...params) {
136
+ console.warn(deprecateMessage);
137
+ const context = { params: { ...params } };
138
+ return this.#logger.info("notice", context);
139
+ }
140
+ async warning(...params) {
141
+ console.warn(deprecateMessage);
142
+ const context = { params: { ...params } };
143
+ return this.#logger.warning("warning", context);
144
+ }
145
+ async critical(...params) {
146
+ console.warn(deprecateMessage);
147
+ const context = { params: { ...params } };
148
+ return this.#logger.critical("critical", context);
149
+ }
150
+ async alert(...params) {
151
+ console.warn(deprecateMessage);
152
+ const context = { params: { ...params } };
153
+ return this.#logger.alert("alert", context);
154
+ }
155
+ async emergency(...params) {
156
+ console.warn(deprecateMessage);
157
+ const context = { params: { ...params } };
158
+ return this.#logger.emergency("alert", context);
159
+ }
160
+ // endregion ////
161
+ }
162
+
163
+ exports.LoggerBrowser = LoggerBrowser;
164
+ exports.LoggerType = LoggerType;
165
+ //# sourceMappingURL=browser.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.cjs","sources":["../../../src/logger/browser.ts"],"sourcesContent":["import type { LoggerInterface } from '../types/logger'\nimport { LoggerFactory } from './logger-factory'\n\nconst deprecateMessage = '@deprecate: use Logger. https://bitrix24.github.io/b24jssdk/docs/working-with-the-rest-api/logger/'\n\n/**\n * @deprecate This enum is deprecated and will be removed in version `2.0.0`\n */\nexport enum LoggerType {\n desktop = 'desktop',\n log = 'log',\n info = 'info',\n warn = 'warn',\n error = 'error',\n trace = 'trace'\n}\n\n/**\n * LoggerBrowser\n *\n * @deprecate This class is deprecated and will be removed in version `2.0.0`\n * - use {@link Logger `Logger`}\n *\n * @removed 2.0.0\n */\nexport class LoggerBrowser implements LoggerInterface {\n #logger: LoggerInterface\n\n /**\n * Create a LoggerBrowser instance\n *\n * @deprecated This method is deprecated and will be removed in version `2.0.0`\n *\n * @removed 2.0.0\n */\n static build(title: string, isDevelopment: boolean = false): LoggerBrowser {\n return new LoggerBrowser(title, isDevelopment)\n }\n\n private constructor(title: string, isDevelopment: boolean = false) {\n console.warn(deprecateMessage)\n if (isDevelopment) {\n this.#logger = LoggerFactory.createForBrowserDevelopment(title)\n } else {\n this.#logger = LoggerFactory.createForBrowserProduction(title)\n }\n }\n\n // region Config ////\n /**\n * Set config\n *\n * @deprecated This method is deprecated and will be removed in version `2.0.0`\n *\n * @removed 2.0.0\n */\n setConfig(_types: Record<string | LoggerType, boolean>): void {\n console.warn(deprecateMessage)\n }\n\n /**\n * Set enable\n *\n * @deprecated This method is deprecated and will be removed in version `2.0.0`\n *\n * @removed 2.0.0\n */\n enable(_type: LoggerType): boolean {\n console.warn(deprecateMessage)\n return true\n }\n\n /**\n * Set disable\n *\n * @deprecated This method is deprecated and will be removed in version `2.0.0`\n *\n * @removed 2.0.0\n */\n disable(_type: LoggerType): boolean {\n console.warn(deprecateMessage)\n return true\n }\n\n /**\n * Test is enable\n *\n * @deprecated This method is deprecated and will be removed in version `2.0.0`\n *\n * @removed 2.0.0\n */\n isEnabled(_type: LoggerType): boolean {\n console.warn(deprecateMessage)\n return false\n }\n // endregion ////\n\n // region Functions ////\n public async desktop(...params: any[]): Promise<void> {\n console.warn(deprecateMessage)\n const context = {\n needDesktop: true,\n params: { ...params }\n }\n return this.#logger.debug('desktop', context)\n }\n\n public async log(...params: any[]): Promise<void> {\n console.warn(deprecateMessage)\n const context = { params: { ...params } }\n return this.#logger.debug('log', context)\n }\n\n public async info(...params: any[]): Promise<void> {\n console.warn(deprecateMessage)\n const context = { params: { ...params } }\n return this.#logger.info('info', context)\n }\n\n public async warn(...params: any[]): Promise<void> {\n console.warn(deprecateMessage)\n const context = { params: { ...params } }\n return this.#logger.warning('warn', context)\n }\n\n public async error(...params: any[]): Promise<void> {\n console.warn(deprecateMessage)\n const context = { params: { ...params } }\n return this.#logger.error('error', context)\n }\n\n public async trace(...params: any[]): Promise<void> {\n console.warn(deprecateMessage)\n const context = {\n needTrace: true,\n params: { ...params }\n }\n return this.#logger.debug('trace', context)\n }\n\n public async debug(...params: any[]): Promise<void> {\n console.warn(deprecateMessage)\n const context = { params: { ...params } }\n return this.#logger.debug('debug', context)\n }\n\n public async notice(...params: any[]): Promise<void> {\n console.warn(deprecateMessage)\n const context = { params: { ...params } }\n return this.#logger.info('notice', context)\n }\n\n public async warning(...params: any[]): Promise<void> {\n console.warn(deprecateMessage)\n const context = { params: { ...params } }\n return this.#logger.warning('warning', context)\n }\n\n public async critical(...params: any[]): Promise<void> {\n console.warn(deprecateMessage)\n const context = { params: { ...params } }\n return this.#logger.critical('critical', context)\n }\n\n public async alert(...params: any[]): Promise<void> {\n console.warn(deprecateMessage)\n const context = { params: { ...params } }\n return this.#logger.alert('alert', context)\n }\n\n public async emergency(...params: any[]): Promise<void> {\n console.warn(deprecateMessage)\n const context = { params: { ...params } }\n return this.#logger.emergency('alert', context)\n }\n // endregion ////\n}\n"],"names":["LoggerType","LoggerFactory"],"mappings":"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"}
@@ -0,0 +1,36 @@
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 luxon = require('luxon');
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
+ class AbstractFormatter {
16
+ static {
17
+ __name(this, "AbstractFormatter");
18
+ }
19
+ dateFormat;
20
+ constructor(dateFormat = "YYYY-MM-DD HH:mm:ss") {
21
+ this.dateFormat = dateFormat;
22
+ }
23
+ _formatTimestamp(date) {
24
+ const dt = luxon.DateTime.fromJSDate(date);
25
+ return Math.floor(dt.toSeconds()).toFixed(0);
26
+ }
27
+ _formatDate(date) {
28
+ const dt = luxon.DateTime.fromJSDate(date);
29
+ return dt.toFormat(
30
+ this.dateFormat.replace(/YYYY/g, "yyyy").replace(/YY/g, "yy").replace(/DD/g, "dd").replace(/D/g, "d")
31
+ );
32
+ }
33
+ }
34
+
35
+ exports.AbstractFormatter = AbstractFormatter;
36
+ //# sourceMappingURL=abstract-formatter.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-formatter.cjs","sources":["../../../../src/logger/formatter/abstract-formatter.ts"],"sourcesContent":["import type { Formatter, LogRecord } from '../../types/logger'\nimport { DateTime } from 'luxon'\n\n/**\n * Support date format:\n * - `YYYY` - Full year (e.g., 2024)\n * - `YY` - Two-digit year (e.g., 24)\n * - `MMMM` - Full month name (e.g., \"January\")\n * - `MMM` - Abbreviated month name (e.g., \"Jan\")\n * - `MM` - Month with leading zero (01-12)\n * - `M` - Month without leading zero (1-12)\n * - `DD` - Day of month with leading zero (01-31)\n * - `D` - Day of month without leading zero (1-31)\n * - `HH` - Hour (24-hour) with leading zero (00-23)\n * - `H` - Hour (24-hour) without leading zero (0-23)\n * - `hh` - Hour (12-hour) with leading zero (00-11)\n * - `h` - Hour (12-hour) without leading zero (0-11)\n * - `mm` - Minutes with leading zero (00-59)\n * - `m` - Minutes without leading zero (0-59)\n * - `ss` - Seconds with leading zero (00-59)\n * - `s` - Seconds without leading zero (0-59)\n * - `SSS` - Milliseconds (000-999)\n * - `a` - AM/PM lowercase (am/pm)\n * - `A` - AM/PM uppercase (AM/PM)\n * - `ZZZ` - Timezone (e.g., UTC)\n * - `ZZ` - Timezone offset (e.g., +03:00)\n */\nexport abstract class AbstractFormatter implements Formatter {\n protected dateFormat: string\n\n constructor(\n dateFormat: string = 'YYYY-MM-DD HH:mm:ss'\n ) {\n this.dateFormat = dateFormat\n }\n\n public abstract format(record: LogRecord): string\n\n protected _formatTimestamp(date: Date): string {\n const dt = DateTime.fromJSDate(date)\n return Math.floor(dt.toSeconds()).toFixed(0)\n }\n\n protected _formatDate(date: Date): string {\n const dt = DateTime.fromJSDate(date)\n return dt.toFormat(this.dateFormat\n .replace(/YYYY/g, 'yyyy')\n .replace(/YY/g, 'yy')\n .replace(/DD/g, 'dd')\n .replace(/D/g, 'd')\n )\n }\n}\n"],"names":["DateTime"],"mappings":";;;;;;;;;;;;;;AA2BO,MAAe,iBAAA,CAAuC;AAAA,EA3B7D;AA2B6D,IAAA,MAAA,CAAA,IAAA,EAAA,mBAAA,CAAA;AAAA;AAAA,EACjD,UAAA;AAAA,EAEV,WAAA,CACE,aAAqB,qBAAA,EACrB;AACA,IAAA,IAAA,CAAK,UAAA,GAAa,UAAA;AAAA,EACpB;AAAA,EAIU,iBAAiB,IAAA,EAAoB;AAC7C,IAAA,MAAM,EAAA,GAAKA,cAAA,CAAS,UAAA,CAAW,IAAI,CAAA;AACnC,IAAA,OAAO,KAAK,KAAA,CAAM,EAAA,CAAG,WAAW,CAAA,CAAE,QAAQ,CAAC,CAAA;AAAA,EAC7C;AAAA,EAEU,YAAY,IAAA,EAAoB;AACxC,IAAA,MAAM,EAAA,GAAKA,cAAA,CAAS,UAAA,CAAW,IAAI,CAAA;AACnC,IAAA,OAAO,EAAA,CAAG,QAAA;AAAA,MAAS,KAAK,UAAA,CACrB,OAAA,CAAQ,OAAA,EAAS,MAAM,EACvB,OAAA,CAAQ,KAAA,EAAO,IAAI,CAAA,CACnB,QAAQ,KAAA,EAAO,IAAI,CAAA,CACnB,OAAA,CAAQ,MAAM,GAAG;AAAA,KACpB;AAAA,EACF;AACF;;;;"}
@@ -0,0 +1,36 @@
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 abstractFormatter = require('./abstract-formatter.cjs');
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
+ class JsonFormatter extends abstractFormatter.AbstractFormatter {
16
+ static {
17
+ __name(this, "JsonFormatter");
18
+ }
19
+ constructor(dateFormat = "YYYY-MM-DD HH:mm:ss") {
20
+ super(dateFormat);
21
+ }
22
+ format(record) {
23
+ return JSON.stringify({
24
+ channel: record.channel,
25
+ levelName: record.levelName,
26
+ message: record.message,
27
+ context: record.context,
28
+ extra: record.extra,
29
+ timestamp: this._formatTimestamp(record.timestamp),
30
+ date: this._formatDate(record.timestamp)
31
+ });
32
+ }
33
+ }
34
+
35
+ exports.JsonFormatter = JsonFormatter;
36
+ //# sourceMappingURL=json-formatter.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-formatter.cjs","sources":["../../../../src/logger/formatter/json-formatter.ts"],"sourcesContent":["import type { Formatter, LogRecord } from '../../types/logger'\nimport { AbstractFormatter } from './abstract-formatter'\n\n/**\n * JsonFormatter\n *\n * @inheritDoc\n */\nexport class JsonFormatter extends AbstractFormatter implements Formatter {\n constructor(\n dateFormat: string = 'YYYY-MM-DD HH:mm:ss'\n ) {\n super(dateFormat)\n }\n\n public override format(record: LogRecord): string {\n return JSON.stringify({\n channel: record.channel,\n levelName: record.levelName,\n message: record.message,\n context: record.context,\n extra: record.extra,\n timestamp: this._formatTimestamp(record.timestamp),\n date: this._formatDate(record.timestamp)\n })\n }\n}\n"],"names":["AbstractFormatter"],"mappings":";;;;;;;;;;;;;;AAQO,MAAM,sBAAsBA,mCAAA,CAAuC;AAAA,EAR1E;AAQ0E,IAAA,MAAA,CAAA,IAAA,EAAA,eAAA,CAAA;AAAA;AAAA,EACxE,WAAA,CACE,aAAqB,qBAAA,EACrB;AACA,IAAA,KAAA,CAAM,UAAU,CAAA;AAAA,EAClB;AAAA,EAEgB,OAAO,MAAA,EAA2B;AAChD,IAAA,OAAO,KAAK,SAAA,CAAU;AAAA,MACpB,SAAS,MAAA,CAAO,OAAA;AAAA,MAChB,WAAW,MAAA,CAAO,SAAA;AAAA,MAClB,SAAS,MAAA,CAAO,OAAA;AAAA,MAChB,SAAS,MAAA,CAAO,OAAA;AAAA,MAChB,OAAO,MAAA,CAAO,KAAA;AAAA,MACd,SAAA,EAAW,IAAA,CAAK,gBAAA,CAAiB,MAAA,CAAO,SAAS,CAAA;AAAA,MACjD,IAAA,EAAM,IAAA,CAAK,WAAA,CAAY,MAAA,CAAO,SAAS;AAAA,KACxC,CAAA;AAAA,EACH;AACF;;;;"}
@@ -0,0 +1,43 @@
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 abstractFormatter = require('./abstract-formatter.cjs');
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
+ class LineFormatter extends abstractFormatter.AbstractFormatter {
16
+ static {
17
+ __name(this, "LineFormatter");
18
+ }
19
+ formatString;
20
+ constructor(formatString = "[{channel}] {levelName}: {message} {context} {extra} {date}", dateFormat = "YYYY-MM-DD HH:mm:ss") {
21
+ super(dateFormat);
22
+ this.formatString = formatString;
23
+ }
24
+ format(record) {
25
+ let formatted = this.formatString;
26
+ const replacements = {
27
+ "{channel}": record.channel,
28
+ "{levelName}": record.levelName,
29
+ "{message}": record.message,
30
+ "{context}": JSON.stringify(record.context),
31
+ "{extra}": JSON.stringify(record.extra),
32
+ "{timestamp}": this._formatTimestamp(record.timestamp),
33
+ "{date}": this._formatDate(record.timestamp)
34
+ };
35
+ for (const [key, value] of Object.entries(replacements)) {
36
+ formatted = formatted.replace(key, value);
37
+ }
38
+ return formatted;
39
+ }
40
+ }
41
+
42
+ exports.LineFormatter = LineFormatter;
43
+ //# sourceMappingURL=line-formatter.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line-formatter.cjs","sources":["../../../../src/logger/formatter/line-formatter.ts"],"sourcesContent":["import type { Formatter, LogRecord } from '../../types/logger'\nimport { AbstractFormatter } from './abstract-formatter'\n\n/**\n * LineFormatter\n *\n * @inheritDoc\n */\nexport class LineFormatter extends AbstractFormatter implements Formatter {\n protected formatString: string\n\n constructor(\n formatString: string = '[{channel}] {levelName}: {message} {context} {extra} {date}',\n dateFormat: string = 'YYYY-MM-DD HH:mm:ss'\n ) {\n super(dateFormat)\n\n this.formatString = formatString\n }\n\n public override format(record: LogRecord): string {\n let formatted = this.formatString\n\n const replacements: Record<string, string> = {\n '{channel}': record.channel,\n '{levelName}': record.levelName,\n '{message}': record.message,\n '{context}': JSON.stringify(record.context),\n '{extra}': JSON.stringify(record.extra),\n '{timestamp}': this._formatTimestamp(record.timestamp),\n '{date}': this._formatDate(record.timestamp)\n }\n\n for (const [key, value] of Object.entries(replacements)) {\n formatted = formatted.replace(key, value)\n }\n\n return formatted\n }\n}\n"],"names":["AbstractFormatter"],"mappings":";;;;;;;;;;;;;;AAQO,MAAM,sBAAsBA,mCAAA,CAAuC;AAAA,EAR1E;AAQ0E,IAAA,MAAA,CAAA,IAAA,EAAA,eAAA,CAAA;AAAA;AAAA,EAC9D,YAAA;AAAA,EAEV,WAAA,CACE,YAAA,GAAuB,6DAAA,EACvB,UAAA,GAAqB,qBAAA,EACrB;AACA,IAAA,KAAA,CAAM,UAAU,CAAA;AAEhB,IAAA,IAAA,CAAK,YAAA,GAAe,YAAA;AAAA,EACtB;AAAA,EAEgB,OAAO,MAAA,EAA2B;AAChD,IAAA,IAAI,YAAY,IAAA,CAAK,YAAA;AAErB,IAAA,MAAM,YAAA,GAAuC;AAAA,MAC3C,aAAa,MAAA,CAAO,OAAA;AAAA,MACpB,eAAe,MAAA,CAAO,SAAA;AAAA,MACtB,aAAa,MAAA,CAAO,OAAA;AAAA,MACpB,WAAA,EAAa,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,OAAO,CAAA;AAAA,MAC1C,SAAA,EAAW,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,KAAK,CAAA;AAAA,MACtC,aAAA,EAAe,IAAA,CAAK,gBAAA,CAAiB,MAAA,CAAO,SAAS,CAAA;AAAA,MACrD,QAAA,EAAU,IAAA,CAAK,WAAA,CAAY,MAAA,CAAO,SAAS;AAAA,KAC7C;AAEA,IAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,YAAY,CAAA,EAAG;AACvD,MAAA,SAAA,GAAY,SAAA,CAAU,OAAA,CAAQ,GAAA,EAAK,KAAK,CAAA;AAAA,IAC1C;AAEA,IAAA,OAAO,SAAA;AAAA,EACT;AACF;;;;"}
@@ -0,0 +1,105 @@
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 abstractFormatter = require('./abstract-formatter.cjs');
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
+ class TelegramFormatter extends abstractFormatter.AbstractFormatter {
16
+ static {
17
+ __name(this, "TelegramFormatter");
18
+ }
19
+ useHtml;
20
+ maxMessageLength;
21
+ constructor(useHtml = true, dateFormat = "YYYY-MM-DD HH:mm:ss", maxMessageLength = 4096) {
22
+ super(dateFormat);
23
+ this.useHtml = useHtml;
24
+ this.maxMessageLength = maxMessageLength;
25
+ }
26
+ format(record) {
27
+ let message = this._formatBaseMessage(record);
28
+ const additionalInfo = this._formatAdditionalInfo(record);
29
+ if (additionalInfo) {
30
+ message += `
31
+
32
+ ${additionalInfo}`;
33
+ }
34
+ if (message.length > this.maxMessageLength) {
35
+ message = message.substring(0, this.maxMessageLength - 3) + "...";
36
+ }
37
+ return message;
38
+ }
39
+ _formatBaseMessage(record) {
40
+ const date = this._formatDate(record.timestamp);
41
+ const level = record.levelName;
42
+ if (this.useHtml) {
43
+ return `<b>${level}</b> | <code>${record.channel}</code>
44
+ <i>Time:</i> ${date}
45
+ <i>Message:</i>
46
+ ${record.message}`;
47
+ } else {
48
+ return `*${level}* \`${record.channel}\`
49
+ _Time:_ \`${date}\`
50
+ _Message:_
51
+ ${record.message}`;
52
+ }
53
+ }
54
+ _formatAdditionalInfo(record) {
55
+ const parts = [];
56
+ if (record.context && Object.keys(record.context).length > 0) {
57
+ const contextStr = JSON.stringify(record.context, null, 2);
58
+ if (this.useHtml) {
59
+ parts.push(`<i>Context:</i>
60
+ <pre><code class="language-json">${this._escapeHtml(contextStr)}</code></pre>`);
61
+ } else {
62
+ parts.push(`_Context:_
63
+ \`\`\`json
64
+ ${contextStr}
65
+ \`\`\``);
66
+ }
67
+ }
68
+ if (record.extra && Object.keys(record.extra).length > 0) {
69
+ const extraStr = JSON.stringify(record.extra, null, 2);
70
+ if (this.useHtml) {
71
+ parts.push(`<i>Extra:</i>
72
+ <pre><code class="language-json">${this._escapeHtml(extraStr)}</code></pre>`);
73
+ } else {
74
+ parts.push(`_Extra:_
75
+ \`\`\`json
76
+ ${extraStr}
77
+ \`\`\``);
78
+ }
79
+ }
80
+ return parts.join("\n\n");
81
+ }
82
+ _escapeHtml(text) {
83
+ return text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#039;");
84
+ }
85
+ _escapeMarkdownV2(text) {
86
+ return text.replace(/_/g, "\\_").replace(/\*/g, "\\*").replace(/\[/g, "\\[").replace(/\]/g, "\\]").replace(/\(/g, "\\(").replace(/\)/g, "\\)").replace(/~/g, "\\~").replace(/`/g, "\\`").replace(/>/g, "\\>").replace(/#/g, "\\#").replace(/\+/g, "\\+").replace(/-/g, "\\-").replace(/=/g, "\\=").replace(/\|/g, "\\|").replace(/\{/g, "\\{").replace(/\}/g, "\\}").replace(/\./g, "\\.").replace(/!/g, "\\!");
87
+ }
88
+ /**
89
+ * Set the use of HTML markup
90
+ */
91
+ setUseHtml(useHtml) {
92
+ this.useHtml = useHtml;
93
+ return this;
94
+ }
95
+ /**
96
+ * // Set the maximum message length
97
+ */
98
+ setMaxMessageLength(maxLength) {
99
+ this.maxMessageLength = maxLength;
100
+ return this;
101
+ }
102
+ }
103
+
104
+ exports.TelegramFormatter = TelegramFormatter;
105
+ //# sourceMappingURL=telegram-formatter.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telegram-formatter.cjs","sources":["../../../../src/logger/formatter/telegram-formatter.ts"],"sourcesContent":["import type { Formatter, LogRecord } from '../../types/logger'\nimport { AbstractFormatter } from './abstract-formatter'\n\n/**\n * TelegramFormatter\n *\n * Formats a log entry for sending to Telegram.\n * Supports HTML markup with escaped special characters.\n *\n * @link https://core.telegram.org/bots/api#html-style\n */\nexport class TelegramFormatter extends AbstractFormatter implements Formatter {\n private useHtml: boolean\n private maxMessageLength: number\n\n constructor(\n useHtml: boolean = true,\n dateFormat: string = 'YYYY-MM-DD HH:mm:ss',\n maxMessageLength: number = 4096\n ) {\n super(dateFormat)\n this.useHtml = useHtml\n this.maxMessageLength = maxMessageLength\n }\n\n public override format(record: LogRecord): string {\n // Basic formatting\n let message = this._formatBaseMessage(record)\n\n // Add context and extra, if any\n const additionalInfo = this._formatAdditionalInfo(record)\n if (additionalInfo) {\n message += `\\n\\n${additionalInfo}`\n }\n\n // Truncate the message if it exceeds the maximum length\n if (message.length > this.maxMessageLength) {\n message = message.substring(0, this.maxMessageLength - 3) + '...'\n }\n\n return message\n }\n\n protected _formatBaseMessage(record: LogRecord): string {\n const date = this._formatDate(record.timestamp)\n const level = record.levelName\n\n if (this.useHtml) {\n return `<b>${level}</b> | <code>${record.channel}</code>\\n`\n + `<i>Time:</i> ${date}\\n`\n + `<i>Message:</i>\\n${record.message}`\n } else {\n return `*${level}* \\`${record.channel}\\`\\n`\n + `_Time:_ \\`${date}\\`\\n`\n + `_Message:_\\n${record.message}`\n }\n }\n\n protected _formatAdditionalInfo(record: LogRecord): string {\n const parts: string[] = []\n\n // Add context if it is not empty\n if (record.context && Object.keys(record.context).length > 0) {\n const contextStr = JSON.stringify(record.context, null, 2)\n if (this.useHtml) {\n parts.push(`<i>Context:</i>\\n<pre><code class=\"language-json\">${this._escapeHtml(contextStr)}</code></pre>`)\n } else {\n parts.push(`_Context:_\\n\\`\\`\\`json\\n${contextStr}\\n\\`\\`\\``)\n }\n }\n\n // Add extra if it is not empty\n if (record.extra && Object.keys(record.extra).length > 0) {\n const extraStr = JSON.stringify(record.extra, null, 2)\n if (this.useHtml) {\n parts.push(`<i>Extra:</i>\\n<pre><code class=\"language-json\">${this._escapeHtml(extraStr)}</code></pre>`)\n } else {\n parts.push(`_Extra:_\\n\\`\\`\\`json\\n${extraStr}\\n\\`\\`\\``)\n }\n }\n\n return parts.join('\\n\\n')\n }\n\n protected _escapeHtml(text: string): string {\n return text\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n .replace(/'/g, '&#039;')\n }\n\n protected _escapeMarkdownV2(text: string): string {\n return text\n .replace(/_/g, '\\\\_')\n .replace(/\\*/g, '\\\\*')\n .replace(/\\[/g, '\\\\[')\n .replace(/\\]/g, '\\\\]')\n .replace(/\\(/g, '\\\\(')\n .replace(/\\)/g, '\\\\)')\n .replace(/~/g, '\\\\~')\n .replace(/`/g, '\\\\`')\n .replace(/>/g, '\\\\>')\n .replace(/#/g, '\\\\#')\n .replace(/\\+/g, '\\\\+')\n .replace(/-/g, '\\\\-')\n .replace(/=/g, '\\\\=')\n .replace(/\\|/g, '\\\\|')\n .replace(/\\{/g, '\\\\{')\n .replace(/\\}/g, '\\\\}')\n .replace(/\\./g, '\\\\.')\n .replace(/!/g, '\\\\!')\n }\n\n /**\n * Set the use of HTML markup\n */\n public setUseHtml(useHtml: boolean): this {\n this.useHtml = useHtml\n return this\n }\n\n /**\n * // Set the maximum message length\n */\n public setMaxMessageLength(maxLength: number): this {\n this.maxMessageLength = maxLength\n return this\n }\n}\n"],"names":["AbstractFormatter"],"mappings":"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"}