@rakun-kit/core 1.6.0 → 1.7.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 (377) hide show
  1. package/README.md +1387 -1279
  2. package/dist/cjs/api/operations/manager-contract.js +49 -0
  3. package/dist/cjs/api/operations/manager-contract.js.map +1 -1
  4. package/dist/cjs/api/operations/manager-manifest.js +30 -0
  5. package/dist/cjs/api/operations/manager-manifest.js.map +1 -1
  6. package/dist/cjs/api/operations/manager.js +20 -0
  7. package/dist/cjs/api/operations/manager.js.map +1 -1
  8. package/dist/cjs/api/realtime.js +144 -0
  9. package/dist/cjs/api/realtime.js.map +1 -0
  10. package/dist/cjs/api/routes/manager/auth/externalLogin.js +7 -5
  11. package/dist/cjs/api/routes/manager/auth/externalLogin.js.map +1 -1
  12. package/dist/cjs/api/routes/manager/auth/mfa/verifyRecoveryCode.js +2 -1
  13. package/dist/cjs/api/routes/manager/auth/mfa/verifyRecoveryCode.js.map +1 -1
  14. package/dist/cjs/api/routes/manager/auth/passwordRecovery.js +3 -3
  15. package/dist/cjs/api/routes/manager/auth/passwordRecovery.js.map +1 -1
  16. package/dist/cjs/api/routes/manager/auth/totp/enrollTotp.js +2 -2
  17. package/dist/cjs/api/routes/manager/auth/totp/enrollTotp.js.map +1 -1
  18. package/dist/cjs/api/routes/manager/auth/totp/verifyTotp.js +2 -1
  19. package/dist/cjs/api/routes/manager/auth/totp/verifyTotp.js.map +1 -1
  20. package/dist/cjs/api/routes/manager/auth/webauthn/webauthnAuthVerify.js +2 -1
  21. package/dist/cjs/api/routes/manager/auth/webauthn/webauthnAuthVerify.js.map +1 -1
  22. package/dist/cjs/api/routes/manager/auth/webauthn/webauthnRegisterOptions.js +2 -2
  23. package/dist/cjs/api/routes/manager/auth/webauthn/webauthnRegisterOptions.js.map +1 -1
  24. package/dist/cjs/api/routes/manager/auth/webauthn/webauthnRegisterVerify.js +2 -1
  25. package/dist/cjs/api/routes/manager/auth/webauthn/webauthnRegisterVerify.js.map +1 -1
  26. package/dist/cjs/api/routes/manager/collaborationBinary.js +8 -0
  27. package/dist/cjs/api/routes/manager/collaborationBinary.js.map +1 -0
  28. package/dist/cjs/api/routes/manager/comments.js +4 -0
  29. package/dist/cjs/api/routes/manager/comments.js.map +1 -1
  30. package/dist/cjs/api/routes/manager/contentCollaboration.js +102 -0
  31. package/dist/cjs/api/routes/manager/contentCollaboration.js.map +1 -0
  32. package/dist/cjs/api/routes/manager/contentVersions.js +3 -0
  33. package/dist/cjs/api/routes/manager/contentVersions.js.map +1 -1
  34. package/dist/cjs/api/routes/manager/delete.js +15 -0
  35. package/dist/cjs/api/routes/manager/delete.js.map +1 -1
  36. package/dist/cjs/api/routes/manager/duplicate.js +2 -2
  37. package/dist/cjs/api/routes/manager/duplicate.js.map +1 -1
  38. package/dist/cjs/api/routes/manager/localeVariants.js +9 -1
  39. package/dist/cjs/api/routes/manager/localeVariants.js.map +1 -1
  40. package/dist/cjs/api/routes/manager/notifications.js +2 -0
  41. package/dist/cjs/api/routes/manager/notifications.js.map +1 -1
  42. package/dist/cjs/api/routes/manager/template.js +3 -2
  43. package/dist/cjs/api/routes/manager/template.js.map +1 -1
  44. package/dist/cjs/api/routes/manager/templateCollaboration.js +101 -0
  45. package/dist/cjs/api/routes/manager/templateCollaboration.js.map +1 -0
  46. package/dist/cjs/api/routes/manager/translateDocument.js +4 -22
  47. package/dist/cjs/api/routes/manager/translateDocument.js.map +1 -1
  48. package/dist/cjs/api/routes/manager/trash.js +4 -0
  49. package/dist/cjs/api/routes/manager/trash.js.map +1 -1
  50. package/dist/cjs/api/routes/manager/uiLocales.js +47 -5
  51. package/dist/cjs/api/routes/manager/uiLocales.js.map +1 -1
  52. package/dist/cjs/api/routes/manager/update.js +4 -0
  53. package/dist/cjs/api/routes/manager/update.js.map +1 -1
  54. package/dist/cjs/api/routes/web/llms.js +5 -5
  55. package/dist/cjs/api/routes/web/llms.js.map +1 -1
  56. package/dist/cjs/api/routes/web/seo.js +2 -2
  57. package/dist/cjs/api/routes/web/seo.js.map +1 -1
  58. package/dist/cjs/api/utils/contentTemplate.js +11 -14
  59. package/dist/cjs/api/utils/contentTemplate.js.map +1 -1
  60. package/dist/cjs/api/utils/iteratorVisibility.js +5 -5
  61. package/dist/cjs/api/utils/iteratorVisibility.js.map +1 -1
  62. package/dist/cjs/api/utils/managerNotifications.js +4 -1
  63. package/dist/cjs/api/utils/managerNotifications.js.map +1 -1
  64. package/dist/cjs/api/utils/mediaUploadToken.js +3 -3
  65. package/dist/cjs/api/utils/mediaUploadToken.js.map +1 -1
  66. package/dist/cjs/api/utils/passwords.js +13 -0
  67. package/dist/cjs/api/utils/passwords.js.map +1 -1
  68. package/dist/cjs/api/utils/previewToken.js +2 -2
  69. package/dist/cjs/api/utils/previewToken.js.map +1 -1
  70. package/dist/cjs/api/utils/realtime.js +20 -0
  71. package/dist/cjs/api/utils/realtime.js.map +1 -0
  72. package/dist/cjs/api/utils/recoveryCodes.js +7 -4
  73. package/dist/cjs/api/utils/recoveryCodes.js.map +1 -1
  74. package/dist/cjs/api/utils/safeManagerQuery.js +5 -5
  75. package/dist/cjs/api/utils/safeManagerQuery.js.map +1 -1
  76. package/dist/cjs/api/utils/sanitizeManagerOutput.js +2 -2
  77. package/dist/cjs/api/utils/sanitizeManagerOutput.js.map +1 -1
  78. package/dist/cjs/auth/completePrimaryAuthentication.js +3 -3
  79. package/dist/cjs/auth/completePrimaryAuthentication.js.map +1 -1
  80. package/dist/cjs/bootstrapState.js.map +1 -1
  81. package/dist/cjs/client.js +12 -1
  82. package/dist/cjs/client.js.map +1 -1
  83. package/dist/cjs/collaboration/document.js +170 -0
  84. package/dist/cjs/collaboration/document.js.map +1 -0
  85. package/dist/cjs/collaboration/index.js +31 -0
  86. package/dist/cjs/collaboration/index.js.map +1 -0
  87. package/dist/cjs/collaboration/memory.js +38 -0
  88. package/dist/cjs/collaboration/memory.js.map +1 -0
  89. package/dist/cjs/collaboration/rooms.js +39 -0
  90. package/dist/cjs/collaboration/rooms.js.map +1 -0
  91. package/dist/cjs/collaboration/service.js +237 -0
  92. package/dist/cjs/collaboration/service.js.map +1 -0
  93. package/dist/cjs/collaboration/types.js +3 -0
  94. package/dist/cjs/collaboration/types.js.map +1 -0
  95. package/dist/cjs/contracts.js +2 -0
  96. package/dist/cjs/contracts.js.map +1 -1
  97. package/dist/cjs/index.js +19 -2
  98. package/dist/cjs/index.js.map +1 -1
  99. package/dist/cjs/lib/utils/isRecord.js +9 -0
  100. package/dist/cjs/lib/utils/isRecord.js.map +1 -0
  101. package/dist/cjs/mail/mailService.js +2 -1
  102. package/dist/cjs/mail/mailService.js.map +1 -1
  103. package/dist/cjs/media/imageOptimization.js +22 -32
  104. package/dist/cjs/media/imageOptimization.js.map +1 -1
  105. package/dist/cjs/media/mediaService.js +2 -2
  106. package/dist/cjs/media/mediaService.js.map +1 -1
  107. package/dist/cjs/media/videoOptimization.js +11 -24
  108. package/dist/cjs/media/videoOptimization.js.map +1 -1
  109. package/dist/cjs/platform/image.js +140 -0
  110. package/dist/cjs/platform/image.js.map +1 -0
  111. package/dist/cjs/platform/index.js +55 -0
  112. package/dist/cjs/platform/index.js.map +1 -0
  113. package/dist/cjs/platform/node.js +53 -0
  114. package/dist/cjs/platform/node.js.map +1 -0
  115. package/dist/cjs/platform/realtime.js +55 -0
  116. package/dist/cjs/platform/realtime.js.map +1 -0
  117. package/dist/cjs/platform/realtimeServer.js +126 -0
  118. package/dist/cjs/platform/realtimeServer.js.map +1 -0
  119. package/dist/cjs/platform/realtimeTopics.js +16 -0
  120. package/dist/cjs/platform/realtimeTopics.js.map +1 -0
  121. package/dist/cjs/platform/runtime.js +8 -0
  122. package/dist/cjs/platform/runtime.js.map +1 -0
  123. package/dist/cjs/platform/types.js +3 -0
  124. package/dist/cjs/platform/types.js.map +1 -0
  125. package/dist/cjs/schemas/manager/collaborationPresence.js +22 -0
  126. package/dist/cjs/schemas/manager/collaborationPresence.js.map +1 -0
  127. package/dist/cjs/schemas/manager/contentCollaboration.js +36 -0
  128. package/dist/cjs/schemas/manager/contentCollaboration.js.map +1 -0
  129. package/dist/cjs/schemas/manager/templateCollaboration.js +36 -0
  130. package/dist/cjs/schemas/manager/templateCollaboration.js.map +1 -0
  131. package/dist/cjs/schemas/manager/uiLocales.js +13 -0
  132. package/dist/cjs/schemas/manager/uiLocales.js.map +1 -1
  133. package/dist/cjs/translation/document.js +19 -19
  134. package/dist/cjs/translation/document.js.map +1 -1
  135. package/dist/docs/index.md +555 -423
  136. package/dist/esm/api/operations/index.d.ts +93 -0
  137. package/dist/esm/api/operations/index.d.ts.map +1 -1
  138. package/dist/esm/api/operations/manager-contract.d.ts +93 -0
  139. package/dist/esm/api/operations/manager-contract.d.ts.map +1 -1
  140. package/dist/esm/api/operations/manager-contract.js +50 -1
  141. package/dist/esm/api/operations/manager-contract.js.map +1 -1
  142. package/dist/esm/api/operations/manager-manifest.d.ts +30 -0
  143. package/dist/esm/api/operations/manager-manifest.d.ts.map +1 -1
  144. package/dist/esm/api/operations/manager-manifest.js +30 -0
  145. package/dist/esm/api/operations/manager-manifest.js.map +1 -1
  146. package/dist/esm/api/operations/manager.d.ts +93 -0
  147. package/dist/esm/api/operations/manager.d.ts.map +1 -1
  148. package/dist/esm/api/operations/manager.js +20 -0
  149. package/dist/esm/api/operations/manager.js.map +1 -1
  150. package/dist/esm/api/realtime.d.ts +16 -0
  151. package/dist/esm/api/realtime.d.ts.map +1 -0
  152. package/dist/esm/api/realtime.js +140 -0
  153. package/dist/esm/api/realtime.js.map +1 -0
  154. package/dist/esm/api/routes/manager/auth/externalLogin.d.ts.map +1 -1
  155. package/dist/esm/api/routes/manager/auth/externalLogin.js +7 -5
  156. package/dist/esm/api/routes/manager/auth/externalLogin.js.map +1 -1
  157. package/dist/esm/api/routes/manager/auth/mfa/verifyRecoveryCode.d.ts +1 -1
  158. package/dist/esm/api/routes/manager/auth/mfa/verifyRecoveryCode.d.ts.map +1 -1
  159. package/dist/esm/api/routes/manager/auth/mfa/verifyRecoveryCode.js +2 -1
  160. package/dist/esm/api/routes/manager/auth/mfa/verifyRecoveryCode.js.map +1 -1
  161. package/dist/esm/api/routes/manager/auth/passwordRecovery.d.ts.map +1 -1
  162. package/dist/esm/api/routes/manager/auth/passwordRecovery.js +3 -3
  163. package/dist/esm/api/routes/manager/auth/passwordRecovery.js.map +1 -1
  164. package/dist/esm/api/routes/manager/auth/totp/enrollTotp.d.ts.map +1 -1
  165. package/dist/esm/api/routes/manager/auth/totp/enrollTotp.js +2 -2
  166. package/dist/esm/api/routes/manager/auth/totp/enrollTotp.js.map +1 -1
  167. package/dist/esm/api/routes/manager/auth/totp/verifyTotp.d.ts +1 -1
  168. package/dist/esm/api/routes/manager/auth/totp/verifyTotp.d.ts.map +1 -1
  169. package/dist/esm/api/routes/manager/auth/totp/verifyTotp.js +2 -1
  170. package/dist/esm/api/routes/manager/auth/totp/verifyTotp.js.map +1 -1
  171. package/dist/esm/api/routes/manager/auth/webauthn/webauthnAuthVerify.d.ts +1 -1
  172. package/dist/esm/api/routes/manager/auth/webauthn/webauthnAuthVerify.d.ts.map +1 -1
  173. package/dist/esm/api/routes/manager/auth/webauthn/webauthnAuthVerify.js +2 -1
  174. package/dist/esm/api/routes/manager/auth/webauthn/webauthnAuthVerify.js.map +1 -1
  175. package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterOptions.d.ts.map +1 -1
  176. package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterOptions.js +2 -2
  177. package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterOptions.js.map +1 -1
  178. package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterVerify.d.ts.map +1 -1
  179. package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterVerify.js +2 -1
  180. package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterVerify.js.map +1 -1
  181. package/dist/esm/api/routes/manager/collaborationBinary.d.ts +3 -0
  182. package/dist/esm/api/routes/manager/collaborationBinary.d.ts.map +1 -0
  183. package/dist/esm/api/routes/manager/collaborationBinary.js +3 -0
  184. package/dist/esm/api/routes/manager/collaborationBinary.js.map +1 -0
  185. package/dist/esm/api/routes/manager/comments.d.ts.map +1 -1
  186. package/dist/esm/api/routes/manager/comments.js +4 -0
  187. package/dist/esm/api/routes/manager/comments.js.map +1 -1
  188. package/dist/esm/api/routes/manager/contentCollaboration.d.ts +21 -0
  189. package/dist/esm/api/routes/manager/contentCollaboration.d.ts.map +1 -0
  190. package/dist/esm/api/routes/manager/contentCollaboration.js +95 -0
  191. package/dist/esm/api/routes/manager/contentCollaboration.js.map +1 -0
  192. package/dist/esm/api/routes/manager/contentVersions.d.ts.map +1 -1
  193. package/dist/esm/api/routes/manager/contentVersions.js +3 -0
  194. package/dist/esm/api/routes/manager/contentVersions.js.map +1 -1
  195. package/dist/esm/api/routes/manager/delete.d.ts.map +1 -1
  196. package/dist/esm/api/routes/manager/delete.js +15 -0
  197. package/dist/esm/api/routes/manager/delete.js.map +1 -1
  198. package/dist/esm/api/routes/manager/duplicate.d.ts.map +1 -1
  199. package/dist/esm/api/routes/manager/duplicate.js +1 -1
  200. package/dist/esm/api/routes/manager/duplicate.js.map +1 -1
  201. package/dist/esm/api/routes/manager/localeVariants.d.ts.map +1 -1
  202. package/dist/esm/api/routes/manager/localeVariants.js +9 -1
  203. package/dist/esm/api/routes/manager/localeVariants.js.map +1 -1
  204. package/dist/esm/api/routes/manager/notifications.d.ts.map +1 -1
  205. package/dist/esm/api/routes/manager/notifications.js +2 -0
  206. package/dist/esm/api/routes/manager/notifications.js.map +1 -1
  207. package/dist/esm/api/routes/manager/template.d.ts +1 -0
  208. package/dist/esm/api/routes/manager/template.d.ts.map +1 -1
  209. package/dist/esm/api/routes/manager/template.js +1 -1
  210. package/dist/esm/api/routes/manager/template.js.map +1 -1
  211. package/dist/esm/api/routes/manager/templateCollaboration.d.ts +17 -0
  212. package/dist/esm/api/routes/manager/templateCollaboration.d.ts.map +1 -0
  213. package/dist/esm/api/routes/manager/templateCollaboration.js +95 -0
  214. package/dist/esm/api/routes/manager/templateCollaboration.js.map +1 -0
  215. package/dist/esm/api/routes/manager/translateDocument.d.ts.map +1 -1
  216. package/dist/esm/api/routes/manager/translateDocument.js +5 -23
  217. package/dist/esm/api/routes/manager/translateDocument.js.map +1 -1
  218. package/dist/esm/api/routes/manager/trash.d.ts.map +1 -1
  219. package/dist/esm/api/routes/manager/trash.js +4 -0
  220. package/dist/esm/api/routes/manager/trash.js.map +1 -1
  221. package/dist/esm/api/routes/manager/uiLocales.d.ts +3 -0
  222. package/dist/esm/api/routes/manager/uiLocales.d.ts.map +1 -1
  223. package/dist/esm/api/routes/manager/uiLocales.js +45 -5
  224. package/dist/esm/api/routes/manager/uiLocales.js.map +1 -1
  225. package/dist/esm/api/routes/manager/update.d.ts.map +1 -1
  226. package/dist/esm/api/routes/manager/update.js +4 -0
  227. package/dist/esm/api/routes/manager/update.js.map +1 -1
  228. package/dist/esm/api/routes/web/llms.d.ts.map +1 -1
  229. package/dist/esm/api/routes/web/llms.js +1 -1
  230. package/dist/esm/api/routes/web/llms.js.map +1 -1
  231. package/dist/esm/api/routes/web/seo.d.ts.map +1 -1
  232. package/dist/esm/api/routes/web/seo.js +1 -1
  233. package/dist/esm/api/routes/web/seo.js.map +1 -1
  234. package/dist/esm/api/utils/contentTemplate.d.ts.map +1 -1
  235. package/dist/esm/api/utils/contentTemplate.js +1 -4
  236. package/dist/esm/api/utils/contentTemplate.js.map +1 -1
  237. package/dist/esm/api/utils/iteratorVisibility.d.ts.map +1 -1
  238. package/dist/esm/api/utils/iteratorVisibility.js +1 -1
  239. package/dist/esm/api/utils/iteratorVisibility.js.map +1 -1
  240. package/dist/esm/api/utils/managerNotifications.d.ts.map +1 -1
  241. package/dist/esm/api/utils/managerNotifications.js +4 -1
  242. package/dist/esm/api/utils/managerNotifications.js.map +1 -1
  243. package/dist/esm/api/utils/mediaUploadToken.d.ts.map +1 -1
  244. package/dist/esm/api/utils/mediaUploadToken.js +3 -3
  245. package/dist/esm/api/utils/mediaUploadToken.js.map +1 -1
  246. package/dist/esm/api/utils/passwords.d.ts.map +1 -1
  247. package/dist/esm/api/utils/passwords.js +13 -0
  248. package/dist/esm/api/utils/passwords.js.map +1 -1
  249. package/dist/esm/api/utils/previewToken.d.ts.map +1 -1
  250. package/dist/esm/api/utils/previewToken.js +2 -2
  251. package/dist/esm/api/utils/previewToken.js.map +1 -1
  252. package/dist/esm/api/utils/realtime.d.ts +3 -0
  253. package/dist/esm/api/utils/realtime.d.ts.map +1 -0
  254. package/dist/esm/api/utils/realtime.js +15 -0
  255. package/dist/esm/api/utils/realtime.js.map +1 -0
  256. package/dist/esm/api/utils/recoveryCodes.d.ts.map +1 -1
  257. package/dist/esm/api/utils/recoveryCodes.js +7 -4
  258. package/dist/esm/api/utils/recoveryCodes.js.map +1 -1
  259. package/dist/esm/api/utils/safeManagerQuery.d.ts.map +1 -1
  260. package/dist/esm/api/utils/safeManagerQuery.js +1 -1
  261. package/dist/esm/api/utils/safeManagerQuery.js.map +1 -1
  262. package/dist/esm/api/utils/sanitizeManagerOutput.d.ts.map +1 -1
  263. package/dist/esm/api/utils/sanitizeManagerOutput.js +1 -1
  264. package/dist/esm/api/utils/sanitizeManagerOutput.js.map +1 -1
  265. package/dist/esm/auth/completePrimaryAuthentication.d.ts.map +1 -1
  266. package/dist/esm/auth/completePrimaryAuthentication.js +3 -3
  267. package/dist/esm/auth/completePrimaryAuthentication.js.map +1 -1
  268. package/dist/esm/bootstrapState.d.ts +11 -1
  269. package/dist/esm/bootstrapState.d.ts.map +1 -1
  270. package/dist/esm/bootstrapState.js.map +1 -1
  271. package/dist/esm/client.d.ts +6 -0
  272. package/dist/esm/client.d.ts.map +1 -1
  273. package/dist/esm/client.js +3 -0
  274. package/dist/esm/client.js.map +1 -1
  275. package/dist/esm/collaboration/document.d.ts +7 -0
  276. package/dist/esm/collaboration/document.d.ts.map +1 -0
  277. package/dist/esm/collaboration/document.js +130 -0
  278. package/dist/esm/collaboration/document.js.map +1 -0
  279. package/dist/esm/collaboration/index.d.ts +12 -0
  280. package/dist/esm/collaboration/index.d.ts.map +1 -0
  281. package/dist/esm/collaboration/index.js +19 -0
  282. package/dist/esm/collaboration/index.js.map +1 -0
  283. package/dist/esm/collaboration/memory.d.ts +3 -0
  284. package/dist/esm/collaboration/memory.d.ts.map +1 -0
  285. package/dist/esm/collaboration/memory.js +34 -0
  286. package/dist/esm/collaboration/memory.js.map +1 -0
  287. package/dist/esm/collaboration/rooms.d.ts +10 -0
  288. package/dist/esm/collaboration/rooms.d.ts.map +1 -0
  289. package/dist/esm/collaboration/rooms.js +33 -0
  290. package/dist/esm/collaboration/rooms.js.map +1 -0
  291. package/dist/esm/collaboration/service.d.ts +48 -0
  292. package/dist/esm/collaboration/service.d.ts.map +1 -0
  293. package/dist/esm/collaboration/service.js +200 -0
  294. package/dist/esm/collaboration/service.js.map +1 -0
  295. package/dist/esm/collaboration/types.d.ts +30 -0
  296. package/dist/esm/collaboration/types.d.ts.map +1 -0
  297. package/dist/esm/collaboration/types.js +2 -0
  298. package/dist/esm/collaboration/types.js.map +1 -0
  299. package/dist/esm/contracts.d.ts +2 -0
  300. package/dist/esm/contracts.d.ts.map +1 -1
  301. package/dist/esm/contracts.js +2 -0
  302. package/dist/esm/contracts.js.map +1 -1
  303. package/dist/esm/index.d.ts +3 -0
  304. package/dist/esm/index.d.ts.map +1 -1
  305. package/dist/esm/index.js +12 -0
  306. package/dist/esm/index.js.map +1 -1
  307. package/dist/esm/lib/utils/isRecord.d.ts +2 -0
  308. package/dist/esm/lib/utils/isRecord.d.ts.map +1 -0
  309. package/dist/esm/lib/utils/isRecord.js +5 -0
  310. package/dist/esm/lib/utils/isRecord.js.map +1 -0
  311. package/dist/esm/mail/mailService.d.ts.map +1 -1
  312. package/dist/esm/mail/mailService.js +2 -1
  313. package/dist/esm/mail/mailService.js.map +1 -1
  314. package/dist/esm/manager.d.ts +30 -0
  315. package/dist/esm/manager.d.ts.map +1 -1
  316. package/dist/esm/media/imageOptimization.d.ts.map +1 -1
  317. package/dist/esm/media/imageOptimization.js +22 -32
  318. package/dist/esm/media/imageOptimization.js.map +1 -1
  319. package/dist/esm/media/mediaService.d.ts.map +1 -1
  320. package/dist/esm/media/mediaService.js +2 -2
  321. package/dist/esm/media/mediaService.js.map +1 -1
  322. package/dist/esm/media/videoOptimization.d.ts.map +1 -1
  323. package/dist/esm/media/videoOptimization.js +11 -24
  324. package/dist/esm/media/videoOptimization.js.map +1 -1
  325. package/dist/esm/platform/image.d.ts +5 -0
  326. package/dist/esm/platform/image.d.ts.map +1 -0
  327. package/dist/esm/platform/image.js +134 -0
  328. package/dist/esm/platform/image.js.map +1 -0
  329. package/dist/esm/platform/index.d.ts +13 -0
  330. package/dist/esm/platform/index.d.ts.map +1 -0
  331. package/dist/esm/platform/index.js +34 -0
  332. package/dist/esm/platform/index.js.map +1 -0
  333. package/dist/esm/platform/node.d.ts +6 -0
  334. package/dist/esm/platform/node.d.ts.map +1 -0
  335. package/dist/esm/platform/node.js +43 -0
  336. package/dist/esm/platform/node.js.map +1 -0
  337. package/dist/esm/platform/realtime.d.ts +10 -0
  338. package/dist/esm/platform/realtime.d.ts.map +1 -0
  339. package/dist/esm/platform/realtime.js +49 -0
  340. package/dist/esm/platform/realtime.js.map +1 -0
  341. package/dist/esm/platform/realtimeServer.d.ts +26 -0
  342. package/dist/esm/platform/realtimeServer.d.ts.map +1 -0
  343. package/dist/esm/platform/realtimeServer.js +118 -0
  344. package/dist/esm/platform/realtimeServer.js.map +1 -0
  345. package/dist/esm/platform/realtimeTopics.d.ts +7 -0
  346. package/dist/esm/platform/realtimeTopics.d.ts.map +1 -0
  347. package/dist/esm/platform/realtimeTopics.js +7 -0
  348. package/dist/esm/platform/realtimeTopics.js.map +1 -0
  349. package/dist/esm/platform/runtime.d.ts +4 -0
  350. package/dist/esm/platform/runtime.d.ts.map +1 -0
  351. package/dist/esm/platform/runtime.js +3 -0
  352. package/dist/esm/platform/runtime.js.map +1 -0
  353. package/dist/esm/platform/types.d.ts +94 -0
  354. package/dist/esm/platform/types.d.ts.map +1 -0
  355. package/dist/esm/platform/types.js +2 -0
  356. package/dist/esm/platform/types.js.map +1 -0
  357. package/dist/esm/schemas/manager/collaborationPresence.d.ts +20 -0
  358. package/dist/esm/schemas/manager/collaborationPresence.d.ts.map +1 -0
  359. package/dist/esm/schemas/manager/collaborationPresence.js +16 -0
  360. package/dist/esm/schemas/manager/collaborationPresence.js.map +1 -0
  361. package/dist/esm/schemas/manager/contentCollaboration.d.ts +51 -0
  362. package/dist/esm/schemas/manager/contentCollaboration.d.ts.map +1 -0
  363. package/dist/esm/schemas/manager/contentCollaboration.js +30 -0
  364. package/dist/esm/schemas/manager/contentCollaboration.js.map +1 -0
  365. package/dist/esm/schemas/manager/templateCollaboration.d.ts +54 -0
  366. package/dist/esm/schemas/manager/templateCollaboration.d.ts.map +1 -0
  367. package/dist/esm/schemas/manager/templateCollaboration.js +30 -0
  368. package/dist/esm/schemas/manager/templateCollaboration.js.map +1 -0
  369. package/dist/esm/schemas/manager/uiLocales.d.ts +10 -0
  370. package/dist/esm/schemas/manager/uiLocales.d.ts.map +1 -1
  371. package/dist/esm/schemas/manager/uiLocales.js +13 -0
  372. package/dist/esm/schemas/manager/uiLocales.js.map +1 -1
  373. package/dist/esm/translation/document.d.ts.map +1 -1
  374. package/dist/esm/translation/document.js +1 -1
  375. package/dist/esm/translation/document.js.map +1 -1
  376. package/dist/tsconfig.build.tsbuildinfo +1 -1
  377. package/package.json +150 -140
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MediaErrorNotFound = exports.MediaErrorInvalidData = exports.MediaErrorUnknown = exports.MediaError = void 0;
4
4
  exports.createMediaServiceFromAdapter = createMediaServiceFromAdapter;
5
- const crypto_1 = require("crypto");
5
+ const platform_1 = require("../platform");
6
6
  class MediaError extends Error {
7
7
  constructor(message, details, status = 500) {
8
8
  super(message);
@@ -72,7 +72,7 @@ const buildObjectKey = (input, access) => {
72
72
  const safeFolder = input.folder ? sanitizeSegment(input.folder) : "uploads";
73
73
  const ext = getExtension(input.fileName);
74
74
  const date = new Date().toISOString().slice(0, 10);
75
- const id = (0, crypto_1.randomUUID)().replace(/-/g, "");
75
+ const id = (0, platform_1.getPlatform)().crypto.randomUUID().replace(/-/g, "");
76
76
  return `${access}/${safeFolder}/${date}/${id}${ext ? `.${ext}` : ""}`;
77
77
  };
78
78
  function createMediaServiceFromAdapter(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"mediaService.js","sourceRoot":"","sources":["../../../src/media/mediaService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mediaService.js","sourceRoot":"","sources":["../../../src/media/mediaService.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.optimizeVideoUpload = optimizeVideoUpload;
7
- const child_process_1 = require("child_process");
8
- const promises_1 = require("fs/promises");
9
- const os_1 = __importDefault(require("os"));
10
7
  const path_1 = __importDefault(require("path"));
11
8
  const File_1 = require("../lib/fields/File");
12
9
  const peerDependencies_1 = require("../lib/utils/peerDependencies");
10
+ const platform_1 = require("../platform");
13
11
  const formatMetadata = {
14
12
  mp4: { extension: "mp4", mime: "video/mp4" },
15
13
  webm: { extension: "webm", mime: "video/webm" },
@@ -35,31 +33,20 @@ const getFfmpegPath = () => {
35
33
  };
36
34
  const runFfmpeg = async (args) => {
37
35
  const ffmpegPath = getFfmpegPath();
38
- await new Promise((resolve, reject) => {
39
- const child = (0, child_process_1.spawn)(ffmpegPath, args, {
40
- stdio: ["ignore", "ignore", "pipe"],
41
- windowsHide: true,
42
- });
43
- let stderr = "";
44
- child.stderr?.on("data", (chunk) => {
45
- stderr = `${stderr}${String(chunk)}`.slice(-16384);
46
- });
47
- child.on("error", reject);
48
- child.on("close", (code) => {
49
- if (code === 0) {
50
- resolve();
51
- return;
52
- }
53
- reject(new Error(`FFmpeg video conversion failed${stderr.trim() ? `: ${stderr.trim()}` : ""}`));
54
- });
36
+ const result = await (0, platform_1.getPlatform)().workers.runProcess(ffmpegPath, args, {
37
+ windowsHide: true,
55
38
  });
39
+ if (result.exitCode !== 0) {
40
+ throw new Error(`FFmpeg video conversion failed${result.stderr.trim() ? `: ${result.stderr.trim()}` : ''}`);
41
+ }
56
42
  };
57
43
  const transcodeWithFfmpeg = async ({ buffer, format, quality, }) => {
58
- const temporaryDirectory = await (0, promises_1.mkdtemp)(path_1.default.join(os_1.default.tmpdir(), "rakun-video-"));
44
+ const filesystem = (0, platform_1.getPlatform)().filesystem;
45
+ const temporaryDirectory = await filesystem.makeTemporaryDirectory('rakun-video-');
59
46
  const inputPath = path_1.default.join(temporaryDirectory, "input.video");
60
47
  const outputPath = path_1.default.join(temporaryDirectory, `output.${format}`);
61
48
  try {
62
- await (0, promises_1.writeFile)(inputPath, buffer);
49
+ await filesystem.writeFile(inputPath, buffer);
63
50
  const commonArgs = ["-y", "-i", inputPath, "-map", "0:v:0", "-map", "0:a?"];
64
51
  if (format === "mp4") {
65
52
  await runFfmpeg([
@@ -99,10 +86,10 @@ const transcodeWithFfmpeg = async ({ buffer, format, quality, }) => {
99
86
  outputPath,
100
87
  ]);
101
88
  }
102
- return await (0, promises_1.readFile)(outputPath);
89
+ return Buffer.from(await filesystem.readFile(outputPath));
103
90
  }
104
91
  finally {
105
- await (0, promises_1.rm)(temporaryDirectory, { recursive: true, force: true });
92
+ await filesystem.remove(temporaryDirectory, { recursive: true, force: true });
106
93
  }
107
94
  };
108
95
  async function optimizeVideoUpload(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"videoOptimization.js","sourceRoot":"","sources":["../../../src/media/videoOptimization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"videoOptimization.js","sourceRoot":"","sources":["../../../src/media/videoOptimization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bunImage = exports.hasBunImage = exports.sharpImage = void 0;
4
+ const peerDependencies_1 = require("../lib/utils/peerDependencies");
5
+ const getSharp = () => {
6
+ const sharp = (0, peerDependencies_1.requirePeerDependency)('sharp', 'npm install sharp', 'Rakun uses sharp to read image dimensions and optimize media uploads on Node.js.');
7
+ return sharp.default ?? sharp;
8
+ };
9
+ const applySharpFormat = (pipeline, format, quality) => {
10
+ if (format === 'webp')
11
+ return pipeline.webp({ quality });
12
+ if (format === 'jpeg')
13
+ return pipeline.jpeg({ quality });
14
+ if (format === 'png')
15
+ return pipeline.png({ quality });
16
+ return pipeline.avif({ quality });
17
+ };
18
+ const imageFormatMime = {
19
+ avif: 'image/avif',
20
+ jpeg: 'image/jpeg',
21
+ png: 'image/png',
22
+ webp: 'image/webp',
23
+ };
24
+ const transformWithSharp = async (input, options) => {
25
+ let pipeline = getSharp()(input, { failOn: 'none' });
26
+ if (options.autoOrient !== false)
27
+ pipeline = pipeline.rotate();
28
+ if (options.width) {
29
+ pipeline = pipeline.resize({
30
+ width: options.width,
31
+ withoutEnlargement: options.withoutEnlargement,
32
+ });
33
+ }
34
+ return await applySharpFormat(pipeline, options.format, options.quality).toBuffer();
35
+ };
36
+ const placeholderFromTransform = async (input, options) => {
37
+ const content = await transformWithSharp(input, options);
38
+ const mime = imageFormatMime[options.format];
39
+ return {
40
+ dataUrl: `data:${mime};base64,${content.toString('base64')}`,
41
+ mime,
42
+ };
43
+ };
44
+ const sharpImage = () => ({
45
+ id: 'sharp',
46
+ async metadata(input) {
47
+ const metadata = await getSharp()(input, { failOn: 'none' }).metadata();
48
+ return {
49
+ width: metadata.width,
50
+ height: metadata.height,
51
+ format: metadata.format,
52
+ };
53
+ },
54
+ placeholder: placeholderFromTransform,
55
+ transform: transformWithSharp,
56
+ });
57
+ exports.sharpImage = sharpImage;
58
+ const getBunImage = () => {
59
+ const BunImage = globalThis.Bun?.Image;
60
+ if (!BunImage) {
61
+ throw new Error('Bun.Image is not available in this Bun runtime.');
62
+ }
63
+ return BunImage;
64
+ };
65
+ const hasBunImage = () => typeof globalThis.Bun?.Image === 'function';
66
+ exports.hasBunImage = hasBunImage;
67
+ const applyBunFormat = (pipeline, options) => {
68
+ if (options.format === 'webp')
69
+ return pipeline.webp({ quality: options.quality });
70
+ if (options.format === 'jpeg')
71
+ return pipeline.jpeg({ quality: options.quality });
72
+ if (options.format === 'png') {
73
+ return pipeline.png({
74
+ compressionLevel: Math.max(0, Math.min(9, Math.round((options.quality / 100) * 9))),
75
+ });
76
+ }
77
+ return pipeline.avif({ quality: options.quality });
78
+ };
79
+ const shouldFallbackFromBunImage = (error) => !!error &&
80
+ typeof error === 'object' &&
81
+ 'code' in error &&
82
+ (error.code === 'ERR_IMAGE_FORMAT_UNSUPPORTED' || error.code === 'ERR_IMAGE_ENCODE_FAILED');
83
+ const bunPlaceholder = async (input, options) => {
84
+ const pipeline = new (getBunImage())(input, {
85
+ autoOrient: options.autoOrient !== false,
86
+ });
87
+ if (!pipeline.placeholder)
88
+ return await placeholderFromTransform(input, options);
89
+ const dataUrl = await pipeline.placeholder('dataurl');
90
+ const mime = /^data:([^;,]+)[;,]/.exec(dataUrl)?.[1];
91
+ if (!mime)
92
+ throw new Error('Bun.Image.placeholder() returned an invalid data URL.');
93
+ return { dataUrl, mime };
94
+ };
95
+ const bunImage = () => ({
96
+ id: 'bun',
97
+ async metadata(input) {
98
+ try {
99
+ return await new (getBunImage())(input, { autoOrient: false }).metadata();
100
+ }
101
+ catch (error) {
102
+ if (shouldFallbackFromBunImage(error)) {
103
+ return await (0, exports.sharpImage)().metadata(input);
104
+ }
105
+ throw error;
106
+ }
107
+ },
108
+ async placeholder(input, options) {
109
+ try {
110
+ return await bunPlaceholder(input, options);
111
+ }
112
+ catch (error) {
113
+ if (shouldFallbackFromBunImage(error)) {
114
+ return await placeholderFromTransform(input, options);
115
+ }
116
+ throw error;
117
+ }
118
+ },
119
+ async transform(input, options) {
120
+ let pipeline = new (getBunImage())(input, {
121
+ autoOrient: options.autoOrient !== false,
122
+ });
123
+ if (options.width) {
124
+ pipeline = pipeline.resize(options.width, undefined, {
125
+ withoutEnlargement: options.withoutEnlargement,
126
+ });
127
+ }
128
+ try {
129
+ return await applyBunFormat(pipeline, options).bytes();
130
+ }
131
+ catch (error) {
132
+ if (shouldFallbackFromBunImage(error)) {
133
+ return await (0, exports.sharpImage)().transform(input, options);
134
+ }
135
+ throw error;
136
+ }
137
+ },
138
+ });
139
+ exports.bunImage = bunImage;
140
+ //# sourceMappingURL=image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/platform/image.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.resolvePlatform = exports.setPlatform = exports.getPlatform = exports.createPlatform = void 0;
18
+ const image_1 = require("./image");
19
+ const node_1 = require("./node");
20
+ const realtime_1 = require("./realtime");
21
+ const runtime_1 = require("./runtime");
22
+ let defaultPlatform = null;
23
+ const createPlatform = (options = {}) => {
24
+ const runtime = options.runtime ?? (0, runtime_1.detectRuntime)();
25
+ return {
26
+ runtime,
27
+ framework: options.framework ?? 'standalone',
28
+ deployment: options.deployment ?? 'persistent',
29
+ image: options.image ?? (runtime === 'bun' && (0, image_1.hasBunImage)() ? (0, image_1.bunImage)() : (0, image_1.sharpImage)()),
30
+ realtime: options.realtime ?? (0, realtime_1.pollingRealtime)(),
31
+ crypto: options.crypto ?? (0, node_1.nodeCrypto)(),
32
+ filesystem: options.filesystem ?? (0, node_1.nodeFilesystem)(),
33
+ compression: options.compression ?? (0, node_1.nodeCompression)(),
34
+ workers: options.workers ?? (0, node_1.nodeWorkers)(),
35
+ };
36
+ };
37
+ exports.createPlatform = createPlatform;
38
+ const getPlatform = () => {
39
+ defaultPlatform ?? (defaultPlatform = (0, exports.createPlatform)());
40
+ return defaultPlatform;
41
+ };
42
+ exports.getPlatform = getPlatform;
43
+ const setPlatform = (platform) => {
44
+ defaultPlatform = platform;
45
+ };
46
+ exports.setPlatform = setPlatform;
47
+ const resolvePlatform = (platform) => platform ?? (0, exports.createPlatform)();
48
+ exports.resolvePlatform = resolvePlatform;
49
+ __exportStar(require("./image"), exports);
50
+ __exportStar(require("./node"), exports);
51
+ __exportStar(require("./realtime"), exports);
52
+ __exportStar(require("./realtimeServer"), exports);
53
+ __exportStar(require("./realtimeTopics"), exports);
54
+ __exportStar(require("./runtime"), exports);
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/platform/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAA2D;AAC3D,iCAAiF;AACjF,yCAA4C;AAC5C,uCAAyC;AAGzC,IAAI,eAAe,GAAoB,IAAI,CAAA;AAEpC,MAAM,cAAc,GAAG,CAAC,UAA2B,EAAE,EAAY,EAAE;IACxE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAA,uBAAa,GAAE,CAAA;IAElD,OAAO;QACL,OAAO;QACP,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,YAAY;QAC5C,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,YAAY;QAC9C,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,IAAA,mBAAW,GAAE,CAAC,CAAC,CAAC,IAAA,gBAAQ,GAAE,CAAC,CAAC,CAAC,IAAA,kBAAU,GAAE,CAAC;QACxF,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAA,0BAAe,GAAE;QAC/C,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAA,iBAAU,GAAE;QACtC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAA,qBAAc,GAAE;QAClD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAA,sBAAe,GAAE;QACrD,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAA,kBAAW,GAAE;KAC1C,CAAA;AACH,CAAC,CAAA;AAdY,QAAA,cAAc,kBAc1B;AAEM,MAAM,WAAW,GAAG,GAAa,EAAE;IACxC,eAAe,KAAf,eAAe,GAAK,IAAA,sBAAc,GAAE,EAAA;IACpC,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA;AAHY,QAAA,WAAW,eAGvB;AAEM,MAAM,WAAW,GAAG,CAAC,QAAkB,EAAQ,EAAE;IACtD,eAAe,GAAG,QAAQ,CAAA;AAC5B,CAAC,CAAA;AAFY,QAAA,WAAW,eAEvB;AAEM,MAAM,eAAe,GAAG,CAAC,QAAmB,EAAY,EAAE,CAAC,QAAQ,IAAI,IAAA,sBAAc,GAAE,CAAA;AAAjF,QAAA,eAAe,mBAAkE;AAE9F,0CAAuB;AACvB,yCAAsB;AACtB,6CAA0B;AAC1B,mDAAgC;AAChC,mDAAgC;AAChC,4CAAyB"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.nodeWorkers = exports.nodeCompression = exports.nodeFilesystem = exports.nodeCrypto = void 0;
7
+ const node_crypto_1 = require("node:crypto");
8
+ const promises_1 = require("node:fs/promises");
9
+ const node_os_1 = __importDefault(require("node:os"));
10
+ const node_path_1 = __importDefault(require("node:path"));
11
+ const node_child_process_1 = require("node:child_process");
12
+ const node_util_1 = require("node:util");
13
+ const node_zlib_1 = require("node:zlib");
14
+ const nodeCrypto = () => ({
15
+ randomBytes: node_crypto_1.randomBytes,
16
+ randomUUID: node_crypto_1.randomUUID,
17
+ hash: (algorithm, value, encoding) => (0, node_crypto_1.createHash)(algorithm).update(value).digest(encoding),
18
+ hmac: (algorithm, secret, value, encoding) => (0, node_crypto_1.createHmac)(algorithm, secret).update(value).digest(encoding),
19
+ timingSafeEqual: node_crypto_1.timingSafeEqual,
20
+ });
21
+ exports.nodeCrypto = nodeCrypto;
22
+ const nodeFilesystem = () => ({
23
+ makeTemporaryDirectory: (prefix) => (0, promises_1.mkdtemp)(node_path_1.default.join(node_os_1.default.tmpdir(), prefix)),
24
+ readFile: promises_1.readFile,
25
+ writeFile: promises_1.writeFile,
26
+ remove: promises_1.rm,
27
+ });
28
+ exports.nodeFilesystem = nodeFilesystem;
29
+ const gzipAsync = (0, node_util_1.promisify)(node_zlib_1.gzip);
30
+ const gunzipAsync = (0, node_util_1.promisify)(node_zlib_1.gunzip);
31
+ const nodeCompression = () => ({
32
+ gzip: gzipAsync,
33
+ gunzip: gunzipAsync,
34
+ });
35
+ exports.nodeCompression = nodeCompression;
36
+ const nodeWorkers = () => ({
37
+ runProcess(executable, args, options) {
38
+ return new Promise((resolve, reject) => {
39
+ const child = (0, node_child_process_1.spawn)(executable, [...args], {
40
+ stdio: ['ignore', 'ignore', 'pipe'],
41
+ windowsHide: options?.windowsHide ?? true,
42
+ });
43
+ let stderr = '';
44
+ child.stderr?.on('data', (chunk) => {
45
+ stderr = `${stderr}${String(chunk)}`.slice(-16384);
46
+ });
47
+ child.on('error', reject);
48
+ child.on('close', (exitCode) => resolve({ exitCode, stderr }));
49
+ });
50
+ },
51
+ });
52
+ exports.nodeWorkers = nodeWorkers;
53
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/platform/node.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA8F;AAC9F,+CAAmE;AACnE,sDAAwB;AACxB,0DAA4B;AAC5B,2DAA0C;AAC1C,yCAAqC;AACrC,yCAAwC;AASjC,MAAM,UAAU,GAAG,GAAmB,EAAE,CAAC,CAAC;IAC/C,WAAW,EAAX,yBAAW;IACX,UAAU,EAAV,wBAAU;IACV,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAA,wBAAU,EAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC1F,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAC3C,IAAA,wBAAU,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9D,eAAe,EAAf,6BAAe;CAChB,CAAC,CAAA;AAPW,QAAA,UAAU,cAOrB;AAEK,MAAM,cAAc,GAAG,GAAuB,EAAE,CAAC,CAAC;IACvD,sBAAsB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,kBAAO,EAAC,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3E,QAAQ,EAAR,mBAAQ;IACR,SAAS,EAAT,oBAAS;IACT,MAAM,EAAE,aAAE;CACX,CAAC,CAAA;AALW,QAAA,cAAc,kBAKzB;AAEF,MAAM,SAAS,GAAG,IAAA,qBAAS,EAAC,gBAAI,CAAC,CAAA;AACjC,MAAM,WAAW,GAAG,IAAA,qBAAS,EAAC,kBAAM,CAAC,CAAA;AAE9B,MAAM,eAAe,GAAG,GAAwB,EAAE,CAAC,CAAC;IACzD,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,WAAW;CACpB,CAAC,CAAA;AAHW,QAAA,eAAe,mBAG1B;AAEK,MAAM,WAAW,GAAG,GAAoB,EAAE,CAAC,CAAC;IACjD,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO;QAClC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;gBACzC,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;gBACnC,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI;aAC1C,CAAC,CAAA;YACF,IAAI,MAAM,GAAG,EAAE,CAAA;YACf,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;gBAClD,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAM,CAAC,CAAA;YACrD,CAAC,CAAC,CAAA;YACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YACzB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;QAChE,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAC,CAAA;AAfW,QAAA,WAAW,eAetB"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.realtimeFromMetadata = exports.sseRealtime = exports.pollingRealtime = exports.DEFAULT_SSE_ENDPOINT = void 0;
4
+ const normalizeInterval = (value) => typeof value === 'number' && Number.isFinite(value) && value >= 250 ? Math.round(value) : 3000;
5
+ exports.DEFAULT_SSE_ENDPOINT = '/realtime';
6
+ const eventRealtime = (metadata) => {
7
+ const listeners = new Map();
8
+ return {
9
+ metadata,
10
+ subscribe(topic, onChange) {
11
+ const topicListeners = listeners.get(topic) ?? new Set();
12
+ topicListeners.add(onChange);
13
+ listeners.set(topic, topicListeners);
14
+ return () => {
15
+ topicListeners.delete(onChange);
16
+ if (topicListeners.size === 0)
17
+ listeners.delete(topic);
18
+ };
19
+ },
20
+ publish(topic) {
21
+ for (const listener of listeners.get(topic) ?? []) {
22
+ try {
23
+ listener();
24
+ }
25
+ catch {
26
+ // A stale connection must not block other subscribers or the mutation.
27
+ }
28
+ }
29
+ },
30
+ };
31
+ };
32
+ const pollingRealtime = (options = {}) => {
33
+ const intervalMs = normalizeInterval(options.intervalMs);
34
+ return {
35
+ metadata: { transport: 'polling', intervalMs },
36
+ subscribe(_topic, onChange, subscriptionOptions) {
37
+ const timer = setInterval(onChange, normalizeInterval(subscriptionOptions?.intervalMs ?? intervalMs));
38
+ return () => clearInterval(timer);
39
+ },
40
+ publish() {
41
+ // Polling consumers discover changes on their next scheduled refresh.
42
+ },
43
+ };
44
+ };
45
+ exports.pollingRealtime = pollingRealtime;
46
+ const sseRealtime = (options = {}) => eventRealtime({ transport: 'sse', endpoint: options.endpoint ?? exports.DEFAULT_SSE_ENDPOINT });
47
+ exports.sseRealtime = sseRealtime;
48
+ const realtimeFromMetadata = (metadata) => {
49
+ if (metadata.transport === 'sse') {
50
+ return (0, exports.sseRealtime)({ endpoint: metadata.endpoint });
51
+ }
52
+ return (0, exports.pollingRealtime)({ intervalMs: metadata.intervalMs });
53
+ };
54
+ exports.realtimeFromMetadata = realtimeFromMetadata;
55
+ //# sourceMappingURL=realtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../../src/platform/realtime.ts"],"names":[],"mappings":";;;AAEA,MAAM,iBAAiB,GAAG,CAAC,KAAyB,EAAU,EAAE,CAC9D,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAK,CAAA;AAEpF,QAAA,oBAAoB,GAAG,WAAW,CAAA;AAE/C,MAAM,aAAa,GAAG,CAAC,QAA0B,EAAoB,EAAE;IACrE,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAA;IAEpD,OAAO;QACL,QAAQ;QACR,SAAS,CAAC,KAAK,EAAE,QAAQ;YACvB,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAAc,CAAA;YACpE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC5B,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;YAEpC,OAAO,GAAG,EAAE;gBACV,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC/B,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC;oBAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACxD,CAAC,CAAA;QACH,CAAC;QACD,OAAO,CAAC,KAAK;YACX,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClD,IAAI,CAAC;oBACH,QAAQ,EAAE,CAAA;gBACZ,CAAC;gBAAC,MAAM,CAAC;oBACP,uEAAuE;gBACzE,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAEM,MAAM,eAAe,GAAG,CAAC,UAAmC,EAAE,EAAoB,EAAE;IACzF,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACxD,OAAO;QACL,QAAQ,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE;QAC9C,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,mBAAmB;YAC7C,MAAM,KAAK,GAAG,WAAW,CACvB,QAAQ,EACR,iBAAiB,CAAC,mBAAmB,EAAE,UAAU,IAAI,UAAU,CAAC,CACjE,CAAA;YACD,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC;QACD,OAAO;YACL,sEAAsE;QACxE,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAfY,QAAA,eAAe,mBAe3B;AAEM,MAAM,WAAW,GAAG,CAAC,UAAiC,EAAE,EAAoB,EAAE,CACnF,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,4BAAoB,EAAE,CAAC,CAAA;AAD5E,QAAA,WAAW,eACiE;AAElF,MAAM,oBAAoB,GAAG,CAAC,QAA0B,EAAoB,EAAE;IACnF,IAAI,QAAQ,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QACjC,OAAO,IAAA,mBAAW,EAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,IAAA,uBAAe,EAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;AAC7D,CAAC,CAAA;AALY,QAAA,oBAAoB,wBAKhC"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createRealtimeSseStream = exports.isRealtimeEndpointRequest = exports.resolveRealtimeEndpointPath = exports.parseRealtimePresenceBindings = exports.parseRealtimeTopics = void 0;
4
+ const DEFAULT_HEARTBEAT_MS = 15000;
5
+ const MAX_TOPIC_LENGTH = 2048;
6
+ const MAX_TOPICS = 64;
7
+ const MAX_PRESENCE_CLIENT_ID_LENGTH = 128;
8
+ const REQUEST_URL_BASE = 'http://rakun.local';
9
+ const parseRequestUrl = (value) => value instanceof URL ? value : new URL(value, REQUEST_URL_BASE);
10
+ const parseRealtimeTopics = (requestUrl) => {
11
+ const topics = parseRequestUrl(requestUrl)
12
+ .searchParams.getAll('topic')
13
+ .map((topic) => topic.trim())
14
+ .filter((topic, index, values) => topic.length > 0 && values.indexOf(topic) === index);
15
+ if (topics.length === 0 ||
16
+ topics.length > MAX_TOPICS ||
17
+ topics.some((topic) => topic.length > MAX_TOPIC_LENGTH)) {
18
+ return null;
19
+ }
20
+ return topics;
21
+ };
22
+ exports.parseRealtimeTopics = parseRealtimeTopics;
23
+ const parseRealtimePresenceBindings = (requestUrl, topics) => {
24
+ const values = parseRequestUrl(requestUrl).searchParams.getAll('presence');
25
+ const bindings = [];
26
+ for (const value of values) {
27
+ try {
28
+ const binding = JSON.parse(value);
29
+ if (!Array.isArray(binding) ||
30
+ binding.length !== 2 ||
31
+ typeof binding[0] !== 'string' ||
32
+ !topics.includes(binding[0]) ||
33
+ typeof binding[1] !== 'string' ||
34
+ !binding[1] ||
35
+ binding[1].length > MAX_PRESENCE_CLIENT_ID_LENGTH) {
36
+ return null;
37
+ }
38
+ if (bindings.some((current) => current.topic === binding[0]))
39
+ return null;
40
+ bindings.push({ topic: binding[0], clientId: binding[1] });
41
+ }
42
+ catch {
43
+ return null;
44
+ }
45
+ }
46
+ return bindings;
47
+ };
48
+ exports.parseRealtimePresenceBindings = parseRealtimePresenceBindings;
49
+ const normalizePath = (value) => {
50
+ const segments = value.split('/').filter(Boolean);
51
+ return segments.length > 0 ? `/${segments.join('/')}` : '';
52
+ };
53
+ const resolveRealtimeEndpointPath = (endpoint, basePath = '') => {
54
+ if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(endpoint)) {
55
+ return new URL(endpoint).pathname;
56
+ }
57
+ const normalizedEndpoint = normalizePath(parseRequestUrl(endpoint).pathname);
58
+ const normalizedBasePath = normalizePath(basePath);
59
+ if (!normalizedBasePath ||
60
+ normalizedEndpoint === normalizedBasePath ||
61
+ normalizedEndpoint.startsWith(`${normalizedBasePath}/`)) {
62
+ return normalizedEndpoint;
63
+ }
64
+ return `${normalizedBasePath}${normalizedEndpoint}`;
65
+ };
66
+ exports.resolveRealtimeEndpointPath = resolveRealtimeEndpointPath;
67
+ const isRealtimeEndpointRequest = ({ basePath, endpoint, method, requestUrl, }) => {
68
+ if (method !== 'GET')
69
+ return false;
70
+ const resolvedRequestUrl = parseRequestUrl(requestUrl);
71
+ return resolvedRequestUrl.pathname === (0, exports.resolveRealtimeEndpointPath)(endpoint, basePath);
72
+ };
73
+ exports.isRealtimeEndpointRequest = isRealtimeEndpointRequest;
74
+ const createRealtimeSseStream = ({ heartbeatMs = DEFAULT_HEARTBEAT_MS, realtime, signal, lifecycle, topics, }) => {
75
+ const encoder = new TextEncoder();
76
+ const normalizedHeartbeatMs = Number.isFinite(heartbeatMs)
77
+ ? Math.max(1000, heartbeatMs)
78
+ : DEFAULT_HEARTBEAT_MS;
79
+ let cleanup = () => undefined;
80
+ let sequence = 0;
81
+ return new ReadableStream({
82
+ start(controller) {
83
+ let active = true;
84
+ const send = (topic) => {
85
+ if (!active)
86
+ return;
87
+ sequence += 1;
88
+ controller.enqueue(encoder.encode(`id: ${sequence}\ndata: ${JSON.stringify({ topic })}\n\n`));
89
+ };
90
+ const unsubscribers = topics.map((topic) => realtime.subscribe(topic, () => send(topic)));
91
+ const heartbeat = setInterval(() => {
92
+ if (active) {
93
+ lifecycle?.heartbeat?.();
94
+ controller.enqueue(encoder.encode(': heartbeat\n\n'));
95
+ }
96
+ }, normalizedHeartbeatMs);
97
+ let abort;
98
+ const close = () => {
99
+ if (!active)
100
+ return;
101
+ active = false;
102
+ clearInterval(heartbeat);
103
+ for (const unsubscribe of unsubscribers)
104
+ unsubscribe();
105
+ lifecycle?.close?.();
106
+ signal?.removeEventListener('abort', abort);
107
+ };
108
+ abort = () => {
109
+ close();
110
+ controller.close();
111
+ };
112
+ cleanup = close;
113
+ if (signal?.aborted) {
114
+ abort();
115
+ return;
116
+ }
117
+ signal?.addEventListener('abort', abort, { once: true });
118
+ controller.enqueue(encoder.encode(': connected\n\n'));
119
+ },
120
+ cancel() {
121
+ cleanup();
122
+ },
123
+ });
124
+ };
125
+ exports.createRealtimeSseStream = createRealtimeSseStream;
126
+ //# sourceMappingURL=realtimeServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtimeServer.js","sourceRoot":"","sources":["../../../src/platform/realtimeServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.managerNotificationsRealtimeTopic = exports.contentCommentsRealtimeTopic = exports.contentVersionsRealtimeTopic = exports.localeVariantsRealtimeTopic = exports.collaborationRealtimeTopic = exports.createRealtimeTopic = void 0;
4
+ const createRealtimeTopic = (...parts) => JSON.stringify(parts);
5
+ exports.createRealtimeTopic = createRealtimeTopic;
6
+ const collaborationRealtimeTopic = (resource, contentType, documentId) => (0, exports.createRealtimeTopic)('collaboration', resource, contentType, documentId);
7
+ exports.collaborationRealtimeTopic = collaborationRealtimeTopic;
8
+ const localeVariantsRealtimeTopic = (contentType) => (0, exports.createRealtimeTopic)('locale-variants', contentType);
9
+ exports.localeVariantsRealtimeTopic = localeVariantsRealtimeTopic;
10
+ const contentVersionsRealtimeTopic = (contentType) => (0, exports.createRealtimeTopic)('content-versions', contentType);
11
+ exports.contentVersionsRealtimeTopic = contentVersionsRealtimeTopic;
12
+ const contentCommentsRealtimeTopic = (contentType, documentId) => (0, exports.createRealtimeTopic)('content-comments', contentType, documentId);
13
+ exports.contentCommentsRealtimeTopic = contentCommentsRealtimeTopic;
14
+ const managerNotificationsRealtimeTopic = () => (0, exports.createRealtimeTopic)('manager-notifications');
15
+ exports.managerNotificationsRealtimeTopic = managerNotificationsRealtimeTopic;
16
+ //# sourceMappingURL=realtimeTopics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtimeTopics.js","sourceRoot":"","sources":["../../../src/platform/realtimeTopics.ts"],"names":[],"mappings":";;;AAAO,MAAM,mBAAmB,GAAG,CAAC,GAAG,KAAgD,EAAU,EAAE,CACjG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AADV,QAAA,mBAAmB,uBACT;AAEhB,MAAM,0BAA0B,GAAG,CACxC,QAAgC,EAChC,WAAmB,EACnB,UAAmB,EACX,EAAE,CAAC,IAAA,2BAAmB,EAAC,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;AAJvE,QAAA,0BAA0B,8BAI6C;AAE7E,MAAM,2BAA2B,GAAG,CAAC,WAAmB,EAAU,EAAE,CACzE,IAAA,2BAAmB,EAAC,iBAAiB,EAAE,WAAW,CAAC,CAAA;AADxC,QAAA,2BAA2B,+BACa;AAE9C,MAAM,4BAA4B,GAAG,CAAC,WAAmB,EAAU,EAAE,CAC1E,IAAA,2BAAmB,EAAC,kBAAkB,EAAE,WAAW,CAAC,CAAA;AADzC,QAAA,4BAA4B,gCACa;AAE/C,MAAM,4BAA4B,GAAG,CAAC,WAAmB,EAAE,UAAkB,EAAU,EAAE,CAC9F,IAAA,2BAAmB,EAAC,kBAAkB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;AADrD,QAAA,4BAA4B,gCACyB;AAE3D,MAAM,iCAAiC,GAAG,GAAW,EAAE,CAC5D,IAAA,2BAAmB,EAAC,uBAAuB,CAAC,CAAA;AADjC,QAAA,iCAAiC,qCACA"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBun = exports.detectRuntime = void 0;
4
+ const detectRuntime = () => typeof process !== 'undefined' && process.versions?.bun ? 'bun' : 'node';
5
+ exports.detectRuntime = detectRuntime;
6
+ const isBun = () => (0, exports.detectRuntime)() === 'bun';
7
+ exports.isBun = isBun;
8
+ //# sourceMappingURL=runtime.js.map