@omujs/omu 0.9.10 → 0.9.26

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 (458) hide show
  1. package/CHANGELOG.md +146 -0
  2. package/README.md +0 -1
  3. package/dist/dts/address.d.ts +4 -4
  4. package/dist/dts/api/asset/extension.d.ts +25 -0
  5. package/dist/dts/api/asset/index.d.ts +2 -0
  6. package/dist/dts/api/dashboard/extension.d.ts +186 -0
  7. package/dist/dts/api/dashboard/handler.d.ts +21 -0
  8. package/dist/dts/api/dashboard/index.d.ts +3 -0
  9. package/dist/dts/api/dashboard/packets.d.ts +73 -0
  10. package/dist/dts/api/endpoint/endpoint.d.ts +32 -0
  11. package/dist/dts/api/endpoint/extension.d.ts +23 -0
  12. package/dist/dts/api/endpoint/index.d.ts +2 -0
  13. package/dist/dts/api/endpoint/packets.d.ts +51 -0
  14. package/dist/dts/api/extension-registry.d.ts +8 -0
  15. package/dist/dts/api/extension.d.ts +11 -0
  16. package/dist/dts/api/http/extension.d.ts +174 -0
  17. package/dist/dts/api/http/index.d.ts +1 -0
  18. package/dist/dts/api/i18n/extension.d.ts +22 -0
  19. package/dist/dts/api/i18n/index.d.ts +1 -0
  20. package/dist/dts/api/index.d.ts +2 -0
  21. package/dist/dts/api/logger/extension.d.ts +25 -0
  22. package/dist/dts/api/logger/index.d.ts +1 -0
  23. package/dist/dts/api/logger/packets.d.ts +18 -0
  24. package/dist/dts/api/permission/extension.d.ts +18 -0
  25. package/dist/dts/api/permission/index.d.ts +1 -0
  26. package/dist/dts/api/permission/permission.d.ts +25 -0
  27. package/dist/dts/api/plugin/extension.d.ts +43 -0
  28. package/dist/dts/api/plugin/index.d.ts +2 -0
  29. package/dist/dts/api/plugin/package-info.d.ts +84 -0
  30. package/dist/dts/api/registry/extension.d.ts +26 -0
  31. package/dist/dts/api/registry/index.d.ts +2 -0
  32. package/dist/dts/api/registry/packets.d.ts +20 -0
  33. package/dist/dts/api/registry/registry.d.ts +44 -0
  34. package/dist/dts/api/server/extension.d.ts +47 -0
  35. package/dist/dts/api/server/index.d.ts +1 -0
  36. package/dist/dts/api/session/extension.d.ts +51 -0
  37. package/dist/dts/api/session/index.d.ts +1 -0
  38. package/dist/dts/api/signal/extension.d.ts +22 -0
  39. package/dist/dts/api/signal/index.d.ts +1 -0
  40. package/dist/dts/api/signal/packets.d.ts +21 -0
  41. package/dist/dts/api/signal/signal.d.ts +33 -0
  42. package/dist/dts/api/table/extension.d.ts +29 -0
  43. package/dist/dts/api/table/index.d.ts +2 -0
  44. package/dist/dts/api/table/packets.d.ts +65 -0
  45. package/dist/dts/api/table/table.d.ts +76 -0
  46. package/dist/dts/app.d.ts +44 -37
  47. package/dist/dts/const.d.ts +0 -1
  48. package/dist/dts/errors.d.ts +18 -13
  49. package/dist/dts/event/index.d.ts +6 -0
  50. package/dist/dts/helper.d.ts +13 -0
  51. package/dist/dts/identifier.d.ts +45 -39
  52. package/dist/dts/index.d.ts +37 -7
  53. package/dist/dts/localization/index.d.ts +2 -3
  54. package/dist/dts/localization/locale.d.ts +732 -733
  55. package/dist/dts/localization/localization.d.ts +3 -6
  56. package/dist/dts/lock.d.ts +6 -0
  57. package/dist/dts/network/connection.d.ts +13 -13
  58. package/dist/dts/network/encryption.d.ts +38 -0
  59. package/dist/dts/network/frame-transport.d.ts +22 -0
  60. package/dist/dts/network/index.d.ts +5 -4
  61. package/dist/dts/network/network.d.ts +52 -51
  62. package/dist/dts/network/packet/index.d.ts +2 -3
  63. package/dist/dts/network/packet/packet-types.d.ts +73 -52
  64. package/dist/dts/network/packet/packet.d.ts +26 -22
  65. package/dist/dts/network/websocket-transport.d.ts +24 -0
  66. package/dist/dts/omu.d.ts +60 -49
  67. package/dist/dts/serialize/bytebuffer.d.ts +71 -0
  68. package/dist/dts/serialize/index.d.ts +2 -0
  69. package/dist/dts/serialize/serializer.d.ts +38 -0
  70. package/dist/dts/token.d.ts +11 -10
  71. package/dist/dts/version.d.ts +1 -2
  72. package/dist/esm/address.js +4 -2
  73. package/dist/esm/api/asset/extension.js +877 -0
  74. package/dist/esm/api/asset/index.js +875 -0
  75. package/dist/esm/api/dashboard/extension.js +1281 -0
  76. package/dist/esm/api/dashboard/handler.js +4 -0
  77. package/dist/esm/api/dashboard/index.js +1279 -0
  78. package/dist/esm/api/dashboard/packets.js +413 -0
  79. package/dist/esm/api/endpoint/endpoint.js +380 -0
  80. package/dist/esm/api/endpoint/extension.js +1087 -0
  81. package/dist/esm/api/endpoint/index.js +380 -0
  82. package/dist/esm/api/endpoint/packets.js +790 -0
  83. package/dist/esm/api/extension-registry.js +23 -0
  84. package/dist/esm/api/extension.js +275 -0
  85. package/dist/esm/api/http/extension.js +1426 -0
  86. package/dist/esm/api/http/index.js +1312 -0
  87. package/dist/esm/api/i18n/extension.js +1237 -0
  88. package/dist/esm/api/i18n/index.js +1235 -0
  89. package/dist/esm/api/index.js +292 -0
  90. package/dist/esm/api/logger/extension.js +847 -0
  91. package/dist/esm/api/logger/index.js +843 -0
  92. package/dist/esm/api/logger/packets.js +664 -0
  93. package/dist/esm/api/permission/extension.js +529 -0
  94. package/dist/esm/api/permission/index.js +291 -0
  95. package/dist/esm/api/permission/permission.js +291 -0
  96. package/dist/esm/api/plugin/extension.js +528 -0
  97. package/dist/esm/api/plugin/index.js +526 -0
  98. package/dist/esm/api/plugin/package-info.js +4 -0
  99. package/dist/esm/api/registry/extension.js +1170 -0
  100. package/dist/esm/api/registry/index.js +1169 -0
  101. package/dist/esm/api/registry/packets.js +685 -0
  102. package/dist/esm/api/registry/registry.js +380 -0
  103. package/dist/esm/api/server/extension.js +2009 -0
  104. package/dist/esm/api/server/index.js +1987 -0
  105. package/dist/esm/api/session/extension.js +2111 -0
  106. package/dist/esm/api/session/index.js +2111 -0
  107. package/dist/esm/api/signal/extension.js +1022 -0
  108. package/dist/esm/api/signal/index.js +376 -0
  109. package/dist/esm/api/signal/packets.js +681 -0
  110. package/dist/esm/api/signal/signal.js +376 -0
  111. package/dist/esm/api/table/extension.js +1544 -0
  112. package/dist/esm/api/table/index.js +1543 -0
  113. package/dist/esm/api/table/packets.js +895 -0
  114. package/dist/esm/api/table/table.js +380 -0
  115. package/dist/esm/app.js +259 -40
  116. package/dist/esm/const.js +11 -3
  117. package/dist/esm/errors.js +533 -40
  118. package/dist/esm/event/index.js +22 -0
  119. package/dist/esm/helper.js +15 -0
  120. package/dist/esm/identifier.js +244 -139
  121. package/dist/esm/index.js +4837 -6
  122. package/dist/esm/localization/index.js +742 -2
  123. package/dist/esm/localization/locale.js +741 -735
  124. package/dist/esm/localization/localization.js +4 -2
  125. package/dist/esm/lock.js +46 -0
  126. package/dist/esm/network/connection.js +288 -27
  127. package/dist/esm/network/encryption.js +977 -0
  128. package/dist/esm/network/frame-transport.js +525 -0
  129. package/dist/esm/network/index.js +1614 -2
  130. package/dist/esm/network/network.js +1337 -195
  131. package/dist/esm/network/packet/index.js +482 -2
  132. package/dist/esm/network/packet/packet-types.js +478 -80
  133. package/dist/esm/network/packet/packet.js +125 -16
  134. package/dist/esm/network/websocket-transport.js +487 -0
  135. package/dist/esm/omu.js +4621 -91
  136. package/dist/esm/serialize/bytebuffer.js +378 -0
  137. package/dist/esm/serialize/index.js +465 -0
  138. package/dist/esm/serialize/serializer.js +97 -0
  139. package/dist/esm/token.js +42 -18
  140. package/dist/esm/version.js +9 -2
  141. package/package.json +26 -33
  142. package/src/address.ts +1 -0
  143. package/src/api/asset/extension.ts +159 -0
  144. package/src/api/asset/index.ts +6 -0
  145. package/src/api/dashboard/extension.ts +614 -0
  146. package/src/api/dashboard/handler.ts +23 -0
  147. package/src/api/dashboard/index.ts +36 -0
  148. package/src/api/dashboard/packets.ts +126 -0
  149. package/src/api/endpoint/endpoint.ts +56 -0
  150. package/src/api/endpoint/extension.ts +133 -0
  151. package/src/api/endpoint/index.ts +3 -0
  152. package/src/api/endpoint/packets.ts +176 -0
  153. package/src/api/extension-registry.ts +17 -0
  154. package/src/{extension → api}/extension.ts +3 -4
  155. package/src/api/http/extension.ts +752 -0
  156. package/src/api/http/index.ts +2 -0
  157. package/src/{extension/i18n/i18n-extension.ts → api/i18n/extension.ts} +9 -10
  158. package/src/api/i18n/index.ts +2 -0
  159. package/src/{extension/logger/logger-extension.ts → api/logger/extension.ts} +16 -17
  160. package/src/api/logger/index.ts +4 -0
  161. package/src/{extension → api}/logger/packets.ts +3 -3
  162. package/src/{extension/permission/permission-extension.ts → api/permission/extension.ts} +24 -23
  163. package/src/api/permission/index.ts +2 -0
  164. package/src/{extension → api}/permission/permission.ts +8 -11
  165. package/src/{extension/plugin/plugin-extension.ts → api/plugin/extension.ts} +32 -19
  166. package/src/api/plugin/index.ts +3 -0
  167. package/src/{extension/registry/registry-extension.ts → api/registry/extension.ts} +76 -47
  168. package/src/api/registry/index.ts +3 -0
  169. package/src/api/registry/packets.ts +64 -0
  170. package/src/api/registry/registry.ts +73 -0
  171. package/src/api/server/extension.ts +126 -0
  172. package/src/api/server/index.ts +11 -0
  173. package/src/api/session/extension.ts +196 -0
  174. package/src/api/session/index.ts +7 -0
  175. package/src/{extension/signal/signal-extension.ts → api/signal/extension.ts} +42 -35
  176. package/src/api/signal/index.ts +1 -0
  177. package/src/api/signal/packets.ts +61 -0
  178. package/src/api/signal/signal.ts +67 -0
  179. package/src/{extension/table/table-extension.ts → api/table/extension.ts} +111 -154
  180. package/src/api/table/index.ts +3 -0
  181. package/src/{extension → api}/table/packets.ts +28 -27
  182. package/src/{extension → api}/table/table.ts +24 -18
  183. package/src/app.ts +43 -25
  184. package/src/const.ts +2 -2
  185. package/src/errors.ts +12 -0
  186. package/src/helper.ts +16 -0
  187. package/src/identifier.ts +59 -4
  188. package/src/index.ts +86 -5
  189. package/src/localization/index.ts +2 -2
  190. package/src/lock.ts +43 -0
  191. package/src/network/connection.ts +7 -5
  192. package/src/network/encryption.ts +221 -0
  193. package/src/network/frame-transport.ts +186 -0
  194. package/src/network/index.ts +4 -1
  195. package/src/network/network.ts +138 -90
  196. package/src/network/packet/index.ts +3 -2
  197. package/src/network/packet/packet-types.ts +79 -36
  198. package/src/network/packet/packet.ts +20 -11
  199. package/src/network/websocket-transport.ts +123 -0
  200. package/src/omu.ts +56 -30
  201. package/src/serialize/bytebuffer.ts +424 -0
  202. package/src/serialize/index.ts +2 -0
  203. package/src/serialize/serializer.ts +149 -0
  204. package/src/token.ts +28 -14
  205. package/src/version.ts +1 -1
  206. package/tsconfig.json +8 -2
  207. package/tsconfig.tsbuildinfo +1 -0
  208. package/LICENSE +0 -21
  209. package/dist/dts/address.d.ts.map +0 -1
  210. package/dist/dts/app.d.ts.map +0 -1
  211. package/dist/dts/bytebuffer.d.ts +0 -49
  212. package/dist/dts/bytebuffer.d.ts.map +0 -1
  213. package/dist/dts/client.d.ts +0 -48
  214. package/dist/dts/client.d.ts.map +0 -1
  215. package/dist/dts/const.d.ts.map +0 -1
  216. package/dist/dts/errors.d.ts.map +0 -1
  217. package/dist/dts/event-emitter.d.ts +0 -7
  218. package/dist/dts/event-emitter.d.ts.map +0 -1
  219. package/dist/dts/extension/asset/asset-extension.d.ts +0 -24
  220. package/dist/dts/extension/asset/asset-extension.d.ts.map +0 -1
  221. package/dist/dts/extension/asset/index.d.ts +0 -2
  222. package/dist/dts/extension/asset/index.d.ts.map +0 -1
  223. package/dist/dts/extension/dashboard/dashboard-extension.d.ts +0 -29
  224. package/dist/dts/extension/dashboard/dashboard-extension.d.ts.map +0 -1
  225. package/dist/dts/extension/dashboard/dashboard.d.ts +0 -10
  226. package/dist/dts/extension/dashboard/dashboard.d.ts.map +0 -1
  227. package/dist/dts/extension/dashboard/index.d.ts +0 -3
  228. package/dist/dts/extension/dashboard/index.d.ts.map +0 -1
  229. package/dist/dts/extension/dashboard/packets.d.ts +0 -41
  230. package/dist/dts/extension/dashboard/packets.d.ts.map +0 -1
  231. package/dist/dts/extension/endpoint/endpoint-extension.d.ts +0 -16
  232. package/dist/dts/extension/endpoint/endpoint-extension.d.ts.map +0 -1
  233. package/dist/dts/extension/endpoint/endpoint.d.ts +0 -22
  234. package/dist/dts/extension/endpoint/endpoint.d.ts.map +0 -1
  235. package/dist/dts/extension/endpoint/index.d.ts +0 -3
  236. package/dist/dts/extension/endpoint/index.d.ts.map +0 -1
  237. package/dist/dts/extension/endpoint/packets.d.ts +0 -24
  238. package/dist/dts/extension/endpoint/packets.d.ts.map +0 -1
  239. package/dist/dts/extension/extension-registry.d.ts +0 -12
  240. package/dist/dts/extension/extension-registry.d.ts.map +0 -1
  241. package/dist/dts/extension/extension.d.ts +0 -13
  242. package/dist/dts/extension/extension.d.ts.map +0 -1
  243. package/dist/dts/extension/i18n/i18n-extension.d.ts +0 -21
  244. package/dist/dts/extension/i18n/i18n-extension.d.ts.map +0 -1
  245. package/dist/dts/extension/i18n/index.d.ts +0 -2
  246. package/dist/dts/extension/i18n/index.d.ts.map +0 -1
  247. package/dist/dts/extension/index.d.ts +0 -3
  248. package/dist/dts/extension/index.d.ts.map +0 -1
  249. package/dist/dts/extension/logger/index.d.ts +0 -2
  250. package/dist/dts/extension/logger/index.d.ts.map +0 -1
  251. package/dist/dts/extension/logger/logger-extension.d.ts +0 -25
  252. package/dist/dts/extension/logger/logger-extension.d.ts.map +0 -1
  253. package/dist/dts/extension/logger/packets.d.ts +0 -19
  254. package/dist/dts/extension/logger/packets.d.ts.map +0 -1
  255. package/dist/dts/extension/permission/index.d.ts +0 -3
  256. package/dist/dts/extension/permission/index.d.ts.map +0 -1
  257. package/dist/dts/extension/permission/permission-extension.d.ts +0 -18
  258. package/dist/dts/extension/permission/permission-extension.d.ts.map +0 -1
  259. package/dist/dts/extension/permission/permission.d.ts +0 -28
  260. package/dist/dts/extension/permission/permission.d.ts.map +0 -1
  261. package/dist/dts/extension/plugin/index.d.ts +0 -2
  262. package/dist/dts/extension/plugin/index.d.ts.map +0 -1
  263. package/dist/dts/extension/plugin/package-info.d.ts +0 -85
  264. package/dist/dts/extension/plugin/package-info.d.ts.map +0 -1
  265. package/dist/dts/extension/plugin/plugin-extension.d.ts +0 -34
  266. package/dist/dts/extension/plugin/plugin-extension.d.ts.map +0 -1
  267. package/dist/dts/extension/registry/index.d.ts +0 -3
  268. package/dist/dts/extension/registry/index.d.ts.map +0 -1
  269. package/dist/dts/extension/registry/packets.d.ts +0 -17
  270. package/dist/dts/extension/registry/packets.d.ts.map +0 -1
  271. package/dist/dts/extension/registry/registry-extension.d.ts +0 -19
  272. package/dist/dts/extension/registry/registry-extension.d.ts.map +0 -1
  273. package/dist/dts/extension/registry/registry.d.ts +0 -40
  274. package/dist/dts/extension/registry/registry.d.ts.map +0 -1
  275. package/dist/dts/extension/server/index.d.ts +0 -2
  276. package/dist/dts/extension/server/index.d.ts.map +0 -1
  277. package/dist/dts/extension/server/server-extension.d.ts +0 -41
  278. package/dist/dts/extension/server/server-extension.d.ts.map +0 -1
  279. package/dist/dts/extension/signal/index.d.ts +0 -3
  280. package/dist/dts/extension/signal/index.d.ts.map +0 -1
  281. package/dist/dts/extension/signal/packets.d.ts +0 -17
  282. package/dist/dts/extension/signal/packets.d.ts.map +0 -1
  283. package/dist/dts/extension/signal/signal-extension.d.ts +0 -18
  284. package/dist/dts/extension/signal/signal-extension.d.ts.map +0 -1
  285. package/dist/dts/extension/signal/signal.d.ts +0 -33
  286. package/dist/dts/extension/signal/signal.d.ts.map +0 -1
  287. package/dist/dts/extension/table/index.d.ts +0 -3
  288. package/dist/dts/extension/table/index.d.ts.map +0 -1
  289. package/dist/dts/extension/table/packets.d.ts +0 -66
  290. package/dist/dts/extension/table/packets.d.ts.map +0 -1
  291. package/dist/dts/extension/table/table-extension.d.ts +0 -31
  292. package/dist/dts/extension/table/table-extension.d.ts.map +0 -1
  293. package/dist/dts/extension/table/table.d.ts +0 -79
  294. package/dist/dts/extension/table/table.d.ts.map +0 -1
  295. package/dist/dts/identifier.d.ts.map +0 -1
  296. package/dist/dts/index.d.ts.map +0 -1
  297. package/dist/dts/interface.d.ts +0 -7
  298. package/dist/dts/interface.d.ts.map +0 -1
  299. package/dist/dts/localization/index.d.ts.map +0 -1
  300. package/dist/dts/localization/locale.d.ts.map +0 -1
  301. package/dist/dts/localization/localization.d.ts.map +0 -1
  302. package/dist/dts/model.d.ts +0 -5
  303. package/dist/dts/model.d.ts.map +0 -1
  304. package/dist/dts/network/connection.d.ts.map +0 -1
  305. package/dist/dts/network/index.d.ts.map +0 -1
  306. package/dist/dts/network/network.d.ts.map +0 -1
  307. package/dist/dts/network/packet/index.d.ts.map +0 -1
  308. package/dist/dts/network/packet/packet-types.d.ts.map +0 -1
  309. package/dist/dts/network/packet/packet.d.ts.map +0 -1
  310. package/dist/dts/network/websocket-connection.d.ts +0 -20
  311. package/dist/dts/network/websocket-connection.d.ts.map +0 -1
  312. package/dist/dts/omu.d.ts.map +0 -1
  313. package/dist/dts/serializer.d.ts +0 -22
  314. package/dist/dts/serializer.d.ts.map +0 -1
  315. package/dist/dts/token.d.ts.map +0 -1
  316. package/dist/dts/version.d.ts.map +0 -1
  317. package/dist/esm/address.js.map +0 -1
  318. package/dist/esm/app.js.map +0 -1
  319. package/dist/esm/bytebuffer.js +0 -191
  320. package/dist/esm/bytebuffer.js.map +0 -1
  321. package/dist/esm/client.js +0 -2
  322. package/dist/esm/client.js.map +0 -1
  323. package/dist/esm/const.js.map +0 -1
  324. package/dist/esm/errors.js.map +0 -1
  325. package/dist/esm/event-emitter.js +0 -15
  326. package/dist/esm/event-emitter.js.map +0 -1
  327. package/dist/esm/extension/asset/asset-extension.js +0 -104
  328. package/dist/esm/extension/asset/asset-extension.js.map +0 -1
  329. package/dist/esm/extension/asset/index.js +0 -2
  330. package/dist/esm/extension/asset/index.js.map +0 -1
  331. package/dist/esm/extension/dashboard/dashboard-extension.js +0 -186
  332. package/dist/esm/extension/dashboard/dashboard-extension.js.map +0 -1
  333. package/dist/esm/extension/dashboard/dashboard.js +0 -2
  334. package/dist/esm/extension/dashboard/dashboard.js.map +0 -1
  335. package/dist/esm/extension/dashboard/index.js +0 -2
  336. package/dist/esm/extension/dashboard/index.js.map +0 -1
  337. package/dist/esm/extension/dashboard/packets.js +0 -96
  338. package/dist/esm/extension/dashboard/packets.js.map +0 -1
  339. package/dist/esm/extension/endpoint/endpoint-extension.js +0 -86
  340. package/dist/esm/extension/endpoint/endpoint-extension.js.map +0 -1
  341. package/dist/esm/extension/endpoint/endpoint.js +0 -22
  342. package/dist/esm/extension/endpoint/endpoint.js.map +0 -1
  343. package/dist/esm/extension/endpoint/index.js +0 -2
  344. package/dist/esm/extension/endpoint/index.js.map +0 -1
  345. package/dist/esm/extension/endpoint/packets.js +0 -77
  346. package/dist/esm/extension/endpoint/packets.js.map +0 -1
  347. package/dist/esm/extension/extension-registry.js +0 -34
  348. package/dist/esm/extension/extension-registry.js.map +0 -1
  349. package/dist/esm/extension/extension.js +0 -16
  350. package/dist/esm/extension/extension.js.map +0 -1
  351. package/dist/esm/extension/i18n/i18n-extension.js +0 -68
  352. package/dist/esm/extension/i18n/i18n-extension.js.map +0 -1
  353. package/dist/esm/extension/i18n/index.js +0 -2
  354. package/dist/esm/extension/i18n/index.js.map +0 -1
  355. package/dist/esm/extension/index.js +0 -3
  356. package/dist/esm/extension/index.js.map +0 -1
  357. package/dist/esm/extension/logger/index.js +0 -2
  358. package/dist/esm/extension/logger/index.js.map +0 -1
  359. package/dist/esm/extension/logger/logger-extension.js +0 -60
  360. package/dist/esm/extension/logger/logger-extension.js.map +0 -1
  361. package/dist/esm/extension/logger/packets.js +0 -33
  362. package/dist/esm/extension/logger/packets.js.map +0 -1
  363. package/dist/esm/extension/permission/index.js +0 -3
  364. package/dist/esm/extension/permission/index.js.map +0 -1
  365. package/dist/esm/extension/permission/permission-extension.js +0 -74
  366. package/dist/esm/extension/permission/permission-extension.js.map +0 -1
  367. package/dist/esm/extension/permission/permission.js +0 -28
  368. package/dist/esm/extension/permission/permission.js.map +0 -1
  369. package/dist/esm/extension/plugin/index.js +0 -2
  370. package/dist/esm/extension/plugin/index.js.map +0 -1
  371. package/dist/esm/extension/plugin/package-info.js +0 -2
  372. package/dist/esm/extension/plugin/package-info.js.map +0 -1
  373. package/dist/esm/extension/plugin/plugin-extension.js +0 -63
  374. package/dist/esm/extension/plugin/plugin-extension.js.map +0 -1
  375. package/dist/esm/extension/registry/index.js +0 -3
  376. package/dist/esm/extension/registry/index.js.map +0 -1
  377. package/dist/esm/extension/registry/packets.js +0 -48
  378. package/dist/esm/extension/registry/packets.js.map +0 -1
  379. package/dist/esm/extension/registry/registry-extension.js +0 -134
  380. package/dist/esm/extension/registry/registry-extension.js.map +0 -1
  381. package/dist/esm/extension/registry/registry.js +0 -55
  382. package/dist/esm/extension/registry/registry.js.map +0 -1
  383. package/dist/esm/extension/server/index.js +0 -2
  384. package/dist/esm/extension/server/index.js.map +0 -1
  385. package/dist/esm/extension/server/server-extension.js +0 -145
  386. package/dist/esm/extension/server/server-extension.js.map +0 -1
  387. package/dist/esm/extension/signal/index.js +0 -3
  388. package/dist/esm/extension/signal/index.js.map +0 -1
  389. package/dist/esm/extension/signal/packets.js +0 -44
  390. package/dist/esm/extension/signal/packets.js.map +0 -1
  391. package/dist/esm/extension/signal/signal-extension.js +0 -95
  392. package/dist/esm/extension/signal/signal-extension.js.map +0 -1
  393. package/dist/esm/extension/signal/signal.js +0 -53
  394. package/dist/esm/extension/signal/signal.js.map +0 -1
  395. package/dist/esm/extension/table/index.js +0 -3
  396. package/dist/esm/extension/table/index.js.map +0 -1
  397. package/dist/esm/extension/table/packets.js +0 -252
  398. package/dist/esm/extension/table/packets.js.map +0 -1
  399. package/dist/esm/extension/table/table-extension.js +0 -454
  400. package/dist/esm/extension/table/table-extension.js.map +0 -1
  401. package/dist/esm/extension/table/table.js +0 -20
  402. package/dist/esm/extension/table/table.js.map +0 -1
  403. package/dist/esm/identifier.js.map +0 -1
  404. package/dist/esm/index.js.map +0 -1
  405. package/dist/esm/interface.js +0 -2
  406. package/dist/esm/interface.js.map +0 -1
  407. package/dist/esm/localization/index.js.map +0 -1
  408. package/dist/esm/localization/locale.js.map +0 -1
  409. package/dist/esm/localization/localization.js.map +0 -1
  410. package/dist/esm/model.js +0 -2
  411. package/dist/esm/model.js.map +0 -1
  412. package/dist/esm/network/connection.js.map +0 -1
  413. package/dist/esm/network/index.js.map +0 -1
  414. package/dist/esm/network/network.js.map +0 -1
  415. package/dist/esm/network/packet/index.js.map +0 -1
  416. package/dist/esm/network/packet/packet-types.js.map +0 -1
  417. package/dist/esm/network/packet/packet.js.map +0 -1
  418. package/dist/esm/network/websocket-connection.js +0 -95
  419. package/dist/esm/network/websocket-connection.js.map +0 -1
  420. package/dist/esm/omu.js.map +0 -1
  421. package/dist/esm/serializer.js +0 -55
  422. package/dist/esm/serializer.js.map +0 -1
  423. package/dist/esm/token.js.map +0 -1
  424. package/dist/esm/version.js.map +0 -1
  425. package/eslint.config.js +0 -6
  426. package/src/bytebuffer.ts +0 -222
  427. package/src/client.ts +0 -53
  428. package/src/extension/asset/asset-extension.ts +0 -148
  429. package/src/extension/asset/index.ts +0 -6
  430. package/src/extension/dashboard/dashboard-extension.ts +0 -238
  431. package/src/extension/dashboard/dashboard.ts +0 -11
  432. package/src/extension/dashboard/index.ts +0 -9
  433. package/src/extension/dashboard/packets.ts +0 -98
  434. package/src/extension/endpoint/endpoint-extension.ts +0 -125
  435. package/src/extension/endpoint/endpoint.ts +0 -58
  436. package/src/extension/endpoint/index.ts +0 -3
  437. package/src/extension/endpoint/packets.ts +0 -78
  438. package/src/extension/extension-registry.ts +0 -39
  439. package/src/extension/i18n/index.ts +0 -2
  440. package/src/extension/logger/index.ts +0 -5
  441. package/src/extension/permission/index.ts +0 -3
  442. package/src/extension/plugin/index.ts +0 -4
  443. package/src/extension/registry/index.ts +0 -3
  444. package/src/extension/registry/packets.ts +0 -50
  445. package/src/extension/registry/registry.ts +0 -98
  446. package/src/extension/server/index.ts +0 -6
  447. package/src/extension/server/server-extension.ts +0 -180
  448. package/src/extension/signal/index.ts +0 -3
  449. package/src/extension/signal/packets.ts +0 -46
  450. package/src/extension/signal/signal.ts +0 -89
  451. package/src/extension/table/index.ts +0 -3
  452. package/src/interface.ts +0 -8
  453. package/src/model.ts +0 -4
  454. package/src/network/websocket-connection.ts +0 -109
  455. package/src/serializer.ts +0 -89
  456. /package/src/{extension → api}/index.ts +0 -0
  457. /package/src/{extension → api}/plugin/package-info.ts +0 -0
  458. /package/src/{event-emitter.ts → event/index.ts} +0 -0
package/dist/esm/token.js CHANGED
@@ -1,21 +1,45 @@
1
- export class BrowserTokenProvider {
2
- key;
3
- constructor(key) {
4
- this.key = key;
5
- }
6
- getKey(serverAddress, app) {
7
- return JSON.stringify([serverAddress.host, serverAddress.port, app.key()]);
8
- }
9
- async set(serverAddress, app, token) {
10
- const tokens = JSON.parse(localStorage.getItem(this.key) || '{}');
11
- const key = this.getKey(serverAddress, app);
12
- tokens[key] = token;
13
- localStorage.setItem(this.key, JSON.stringify(tokens));
1
+ // @bun
2
+ // src/helper.ts
3
+ function tryCatch(func) {
4
+ try {
5
+ return { ok: true, data: func() };
6
+ } catch (e) {
7
+ return { ok: false, data: e };
8
+ }
9
+ }
10
+
11
+ // src/token.ts
12
+ class BrowserTokenProvider {
13
+ static TOKEN_PARAM_KEY = "_omu_session";
14
+ getKey(address, app) {
15
+ return JSON.stringify([address.host, address.port, address.hash ?? "", app.id.key()]);
16
+ }
17
+ async get(address, app) {
18
+ const foundToken = this.parseParamSession(address);
19
+ if (foundToken)
20
+ return foundToken;
21
+ return;
22
+ }
23
+ parseParamSession(address) {
24
+ const searchParams = new URLSearchParams(location.search);
25
+ const param = searchParams.get(BrowserTokenProvider.TOKEN_PARAM_KEY);
26
+ if (!param)
27
+ return;
28
+ const { ok, data: session } = tryCatch(() => JSON.parse(param));
29
+ if (!ok) {
30
+ console.warn(`Failed to parse session from URL parameter: ${session}`);
31
+ return;
14
32
  }
15
- async get(serverAddress, app) {
16
- const tokens = JSON.parse(localStorage.getItem(this.key) || '{}');
17
- const key = this.getKey(serverAddress, app);
18
- return Promise.resolve(tokens[key] || null);
33
+ if (session.address.hash !== address.hash) {
34
+ console.warn(`Session address hash does not match: expected ${address.hash}, got ${session.address.hash}`);
35
+ return;
19
36
  }
37
+ return session.token;
38
+ }
20
39
  }
21
- //# sourceMappingURL=token.js.map
40
+ export {
41
+ BrowserTokenProvider
42
+ };
43
+
44
+ //# debugId=D80F3ACCD7BEF08A64756E2164756E21
45
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2hlbHBlci50cyIsICIuLi8uLi9zcmMvdG9rZW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbCiAgICAidHlwZSBPazxUPiA9IHtcbiAgICBvazogdHJ1ZTtcbiAgICBkYXRhOiBUO1xufTtcbnR5cGUgRXJyPEU+ID0ge1xuICAgIG9rOiBmYWxzZTtcbiAgICBkYXRhOiBFO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRyeUNhdGNoPFQsIEUgPSBFcnJvcj4oZnVuYzogKCkgPT4gVCk6IE9rPFQ+IHwgRXJyPEU+IHtcbiAgICB0cnkge1xuICAgICAgICByZXR1cm4geyBvazogdHJ1ZSwgZGF0YTogZnVuYygpIH07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4geyBvazogZmFsc2UsIGRhdGE6IGUgYXMgRSB9O1xuICAgIH1cbn1cbiIsCiAgICAiaW1wb3J0IHR5cGUgeyBBZGRyZXNzIH0gZnJvbSAnLi9hZGRyZXNzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICcuL2FwcC5qcyc7XG5pbXBvcnQgeyB0cnlDYXRjaCB9IGZyb20gJy4vaGVscGVyLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBUb2tlblByb3ZpZGVyIHtcbiAgICBnZXQoc2VydmVyQWRkcmVzczogQWRkcmVzcywgYXBwOiBBcHApOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD47XG59XG5cbmV4cG9ydCB0eXBlIFNlc3Npb25QYXJhbSA9IHtcbiAgICBhZGRyZXNzOiBBZGRyZXNzO1xuICAgIHRva2VuOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY2xhc3MgQnJvd3NlclRva2VuUHJvdmlkZXIgaW1wbGVtZW50cyBUb2tlblByb3ZpZGVyIHtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRPS0VOX1BBUkFNX0tFWSA9ICdfb211X3Nlc3Npb24nO1xuXG4gICAgcHJpdmF0ZSBnZXRLZXkoYWRkcmVzczogQWRkcmVzcywgYXBwOiBBcHApOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoW2FkZHJlc3MuaG9zdCwgYWRkcmVzcy5wb3J0LCBhZGRyZXNzLmhhc2ggPz8gJycsIGFwcC5pZC5rZXkoKV0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXQoYWRkcmVzczogQWRkcmVzcywgYXBwOiBBcHApOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBjb25zdCBmb3VuZFRva2VuID0gdGhpcy5wYXJzZVBhcmFtU2Vzc2lvbihhZGRyZXNzKTtcbiAgICAgICAgaWYgKGZvdW5kVG9rZW4pIHJldHVybiBmb3VuZFRva2VuO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZVBhcmFtU2Vzc2lvbihhZGRyZXNzOiBBZGRyZXNzKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICAgICAgICBjb25zdCBwYXJhbSA9IHNlYXJjaFBhcmFtcy5nZXQoQnJvd3NlclRva2VuUHJvdmlkZXIuVE9LRU5fUEFSQU1fS0VZKTtcbiAgICAgICAgaWYgKCFwYXJhbSkgcmV0dXJuO1xuICAgICAgICBjb25zdCB7IG9rLCBkYXRhOiBzZXNzaW9uIH0gPSB0cnlDYXRjaDxTZXNzaW9uUGFyYW0+KCgpID0+IEpTT04ucGFyc2UocGFyYW0pKTtcbiAgICAgICAgaWYgKCFvaykge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBGYWlsZWQgdG8gcGFyc2Ugc2Vzc2lvbiBmcm9tIFVSTCBwYXJhbWV0ZXI6ICR7c2Vzc2lvbn1gKTtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNlc3Npb24uYWRkcmVzcy5oYXNoICE9PSBhZGRyZXNzLmhhc2gpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgU2Vzc2lvbiBhZGRyZXNzIGhhc2ggZG9lcyBub3QgbWF0Y2g6IGV4cGVjdGVkICR7YWRkcmVzcy5oYXNofSwgZ290ICR7c2Vzc2lvbi5hZGRyZXNzLmhhc2h9YCk7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzZXNzaW9uLnRva2VuO1xuICAgIH1cbn1cbiIKICBdLAogICJtYXBwaW5ncyI6ICI7O0FBU08sU0FBUyxRQUFzQixDQUFDLE1BQStCO0FBQUEsRUFDbEUsSUFBSTtBQUFBLElBQ0EsT0FBTyxFQUFFLElBQUksTUFBTSxNQUFNLEtBQUssRUFBRTtBQUFBLElBQ2xDLE9BQU8sR0FBRztBQUFBLElBQ1IsT0FBTyxFQUFFLElBQUksT0FBTyxNQUFNLEVBQU87QUFBQTtBQUFBOzs7QUNDbEMsTUFBTSxxQkFBOEM7QUFBQSxTQUNoQyxrQkFBa0I7QUFBQSxFQUVqQyxNQUFNLENBQUMsU0FBa0IsS0FBa0I7QUFBQSxJQUMvQyxPQUFPLEtBQUssVUFBVSxDQUFDLFFBQVEsTUFBTSxRQUFRLE1BQU0sUUFBUSxRQUFRLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQUE7QUFBQSxPQUczRSxJQUFHLENBQUMsU0FBa0IsS0FBdUM7QUFBQSxJQUN0RSxNQUFNLGFBQWEsS0FBSyxrQkFBa0IsT0FBTztBQUFBLElBQ2pELElBQUk7QUFBQSxNQUFZLE9BQU87QUFBQSxJQUN2QjtBQUFBO0FBQUEsRUFHSSxpQkFBaUIsQ0FBQyxTQUFzQztBQUFBLElBQzVELE1BQU0sZUFBZSxJQUFJLGdCQUFnQixTQUFTLE1BQU07QUFBQSxJQUN4RCxNQUFNLFFBQVEsYUFBYSxJQUFJLHFCQUFxQixlQUFlO0FBQUEsSUFDbkUsSUFBSSxDQUFDO0FBQUEsTUFBTztBQUFBLElBQ1osUUFBUSxJQUFJLE1BQU0sWUFBWSxTQUF1QixNQUFNLEtBQUssTUFBTSxLQUFLLENBQUM7QUFBQSxJQUM1RSxJQUFJLENBQUMsSUFBSTtBQUFBLE1BQ0wsUUFBUSxLQUFLLCtDQUErQyxTQUFTO0FBQUEsTUFDckU7QUFBQSxJQUNKO0FBQUEsSUFDQSxJQUFJLFFBQVEsUUFBUSxTQUFTLFFBQVEsTUFBTTtBQUFBLE1BQ3ZDLFFBQVEsS0FBSyxpREFBaUQsUUFBUSxhQUFhLFFBQVEsUUFBUSxNQUFNO0FBQUEsTUFDekc7QUFBQSxJQUNKO0FBQUEsSUFDQSxPQUFPLFFBQVE7QUFBQTtBQUV2QjsiLAogICJkZWJ1Z0lkIjogIkQ4MEYzQUNDRDdCRUYwOEE2NDc1NkUyMTY0NzU2RTIxIiwKICAibmFtZXMiOiBbXQp9
@@ -1,2 +1,9 @@
1
- export const VERSION = '0.9.9';
2
- //# sourceMappingURL=version.js.map
1
+ // @bun
2
+ // src/version.ts
3
+ var VERSION = "0.9.26";
4
+ export {
5
+ VERSION
6
+ };
7
+
8
+ //# debugId=75DB6A8223A77D0264756E2164756E21
9
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3ZlcnNpb24udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbCiAgICAiZXhwb3J0IGNvbnN0IFZFUlNJT04gPSAnMC45LjI2JztcbiIKICBdLAogICJtYXBwaW5ncyI6ICI7O0FBQU8sSUFBTSxVQUFVOyIsCiAgImRlYnVnSWQiOiAiNzVEQjZBODIyM0E3N0QwMjY0NzU2RTIxNjQ3NTZFMjEiLAogICJuYW1lcyI6IFtdCn0=
package/package.json CHANGED
@@ -1,35 +1,28 @@
1
1
  {
2
- "type": "module",
3
- "name": "@omujs/omu",
4
- "version": "0.9.10",
5
- "exports": {
6
- ".": {
7
- "import": "./dist/esm/index.js",
8
- "types": "./dist/dts/index.d.ts"
2
+ "type": "module",
3
+ "name": "@omujs/omu",
4
+ "version": "0.9.26",
5
+ "main": "./dist/esm/index.js",
6
+ "types": "./dist/dts/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "import": "./dist/esm/index.js",
10
+ "types": "./dist/dts/index.d.ts"
11
+ },
12
+ "./*": {
13
+ "import": "./dist/esm/*/index.js",
14
+ "types": "./dist/dts/*/index.d.js"
15
+ }
9
16
  },
10
- "./*": {
11
- "import": "./dist/esm/*",
12
- "types": "./dist/dts/*"
13
- }
14
- },
15
- "repository": {
16
- "type": "git",
17
- "url": "https://github.com/OMUAPPS/omuapps"
18
- },
19
- "devDependencies": {
20
- "eslint": "^9.9.1",
21
- "nodemon": "^3.1.4",
22
- "@omujs/eslint-config": "1.0.0"
23
- },
24
- "gitHead": "04559d5aec52117d707e0d554ee429b858da522a",
25
- "scripts": {
26
- "build": "pnpm run ts",
27
- "dev": "pnpm run watch",
28
- "ts": "pnpm run ts-esm && pnpm run ts-dts",
29
- "ts-dts": "tsc --outDir dist/dts --declaration true --emitDeclarationOnly true --declarationMap true",
30
- "ts-esm": "tsc --outDir dist/esm",
31
- "watch": "nodemon -w src -e ts,json --exec \"pnpm --workspace-root build --only @omujs/omu\"",
32
- "lint": "eslint .",
33
- "fix": "eslint . --fix"
34
- }
35
- }
17
+ "module": "",
18
+ "scripts": {
19
+ "build": "bun ../../scripts/package-helper.ts --glob --entrypoint \"src/**/*.ts\" --outdir \"dist/esm\" --dtsdir \"../dts\" --root \"src/\"",
20
+ "dev": "bun run watch",
21
+ "watch": "bun ../../scripts/package-helper.ts --glob --entrypoint \"src/**/*.ts\" --outdir \"dist/esm\" --dtsdir \"../dts\" --root \"src/\" --watch"
22
+ },
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "https://github.com/OMUAPPS/omuapps"
26
+ },
27
+ "gitHead": "04559d5aec52117d707e0d554ee429b858da522a"
28
+ }
package/src/address.ts CHANGED
@@ -2,4 +2,5 @@ export interface Address {
2
2
  host: string;
3
3
  port: number;
4
4
  secure: boolean;
5
+ hash?: string;
5
6
  }
@@ -0,0 +1,159 @@
1
+ import { Identifier, IntoId } from '../../identifier';
2
+ import { Omu } from '../../omu';
3
+ import { ByteReader, ByteWriter, Serializer } from '../../serialize';
4
+ import { EndpointType } from '../endpoint/endpoint.js';
5
+ import { ExtensionType } from '../extension.js';
6
+
7
+ export const ASSET_EXTENSION_TYPE: ExtensionType<AssetExtension> = new ExtensionType(
8
+ 'asset',
9
+ (omu: Omu) => new AssetExtension(omu),
10
+ );
11
+
12
+ export type Asset = {
13
+ identifier: Identifier;
14
+ buffer: Uint8Array;
15
+ };
16
+
17
+ const FILE_SERIALIZER = new Serializer<Asset, Uint8Array>(
18
+ (file) => {
19
+ const writer = new ByteWriter();
20
+ writer.writeString(file.identifier.key());
21
+ writer.writeUint8Array(file.buffer);
22
+ return writer.finish();
23
+ },
24
+ (data) => {
25
+ const reader = ByteReader.fromUint8Array(data);
26
+ const identifier = Identifier.fromKey(reader.readString());
27
+ const buffer = reader.readUint8Array();
28
+ reader.finish();
29
+ return { identifier, buffer };
30
+ },
31
+ );
32
+ const FILE_ARRAY_SERIALIZER = new Serializer<Asset[], Uint8Array>(
33
+ (files) => {
34
+ const writer = new ByteWriter();
35
+ writer.writeULEB128(files.length);
36
+ for (const file of files) {
37
+ writer.writeString(file.identifier.key());
38
+ writer.writeUint8Array(file.buffer);
39
+ }
40
+ return writer.finish();
41
+ },
42
+ (data) => {
43
+ const reader = ByteReader.fromUint8Array(data);
44
+ const length = reader.readULEB128();
45
+ const files: Asset[] = [];
46
+ for (let i = 0; i < length; i++) {
47
+ const identifier = Identifier.fromKey(reader.readString());
48
+ const buffer = reader.readUint8Array();
49
+ files.push({ identifier, buffer });
50
+ }
51
+ reader.finish();
52
+ return files;
53
+ },
54
+ );
55
+
56
+ export const ASSET_UPLOAD_PERMISSION_ID: Identifier = ASSET_EXTENSION_TYPE.join('upload');
57
+ const ASSET_UPLOAD_ENDPOINT = EndpointType.createSerialized<Asset, Identifier>(
58
+ ASSET_EXTENSION_TYPE,
59
+ {
60
+ name: 'upload',
61
+ requestSerializer: FILE_SERIALIZER,
62
+ responseSerializer: Serializer.of(Identifier).toJson(),
63
+ permissionId: ASSET_UPLOAD_PERMISSION_ID,
64
+ },
65
+ );
66
+ const ASSET_UPLOAD_MANY_ENDPOINT = EndpointType.createSerialized<Asset[], Identifier[]>(
67
+ ASSET_EXTENSION_TYPE,
68
+ {
69
+ name: 'upload_many',
70
+ requestSerializer: FILE_ARRAY_SERIALIZER,
71
+ responseSerializer: Serializer.of(Identifier).toArray().pipe(Serializer.json()),
72
+ permissionId: ASSET_UPLOAD_PERMISSION_ID,
73
+ },
74
+ );
75
+ export const ASSET_DOWNLOAD_PERMISSION_ID: Identifier = ASSET_EXTENSION_TYPE.join('download');
76
+ const ASSET_DOWNLOAD_ENDPOINT = EndpointType.createSerialized<Identifier, Asset>(
77
+ ASSET_EXTENSION_TYPE,
78
+ {
79
+ name: 'download',
80
+ requestSerializer: Serializer.of(Identifier).pipe(Serializer.json()),
81
+ responseSerializer: FILE_SERIALIZER,
82
+ permissionId: ASSET_DOWNLOAD_PERMISSION_ID,
83
+ },
84
+ );
85
+ const ASSET_DOWNLOAD_MANY_ENDPOINT = EndpointType.createSerialized<Identifier[], Asset[]>(
86
+ ASSET_EXTENSION_TYPE,
87
+ {
88
+ name: 'download_many',
89
+ requestSerializer: Serializer.of(Identifier).toArray().pipe(Serializer.json()),
90
+ responseSerializer: FILE_ARRAY_SERIALIZER,
91
+ permissionId: ASSET_DOWNLOAD_PERMISSION_ID,
92
+ },
93
+ );
94
+ export const ASSET_DELETE_PERMISSION_ID: Identifier = ASSET_EXTENSION_TYPE.join('delete');
95
+ const ASSET_DELETE_ENDPOINT = EndpointType.createJson<Identifier, null>(
96
+ ASSET_EXTENSION_TYPE,
97
+ {
98
+ name: 'delete',
99
+ requestSerializer: Identifier,
100
+ permissionId: ASSET_DELETE_PERMISSION_ID,
101
+ },
102
+ );
103
+
104
+ export class AssetExtension {
105
+ public readonly type: ExtensionType<AssetExtension> = ASSET_EXTENSION_TYPE;
106
+
107
+ constructor(private readonly omu: Omu) {}
108
+
109
+ public async upload(identifier: IntoId, buffer: Uint8Array): Promise<Identifier> {
110
+ const assetIdentifier = await this.omu.endpoints.call(ASSET_UPLOAD_ENDPOINT, {
111
+ identifier: Identifier.from(identifier),
112
+ buffer,
113
+ });
114
+ return assetIdentifier;
115
+ }
116
+
117
+ public async uploadMany(...files: Asset[]): Promise<Identifier[]> {
118
+ const uploaded = await this.omu.endpoints.call(ASSET_UPLOAD_MANY_ENDPOINT, files);
119
+ return uploaded;
120
+ }
121
+
122
+ public async download(identifier: IntoId): Promise<Asset> {
123
+ const id = Identifier.from(identifier);
124
+ const downloaded = await this.omu.endpoints.call(ASSET_DOWNLOAD_ENDPOINT, id);
125
+ return downloaded;
126
+ }
127
+
128
+ public async downloadMany(...identifiers: IntoId[]): Promise<Asset[]> {
129
+ const downloaded = await this.omu.endpoints.call(
130
+ ASSET_DOWNLOAD_MANY_ENDPOINT,
131
+ identifiers.map((id) => Identifier.from(id)),
132
+ );
133
+ return downloaded;
134
+ }
135
+
136
+ public async delete(identifier: IntoId): Promise<void> {
137
+ const id = Identifier.from(identifier);
138
+ await this.omu.endpoints.call(ASSET_DELETE_ENDPOINT, id);
139
+ }
140
+
141
+ public url(
142
+ id: IntoId,
143
+ options?: { cache?: 'no-cache' },
144
+ ): string {
145
+ const key = Identifier.from(id).key();
146
+ const address = this.omu.network.address;
147
+ const protocol = address.secure ? 'https' : 'http';
148
+ if (options?.cache === 'no-cache') {
149
+ return `${protocol}://${address.host}:${address.port}/asset?id=${encodeURIComponent(key)}&t=${Date.now()}`;
150
+ }
151
+ return `${protocol}://${address.host}:${address.port}/asset?id=${encodeURIComponent(key)}`;
152
+ }
153
+
154
+ public proxy(url: string): string {
155
+ const address = this.omu.network.address;
156
+ const protocol = address.secure ? 'https' : 'http';
157
+ return `${protocol}://${address.host}:${address.port}/proxy?url=${encodeURIComponent(url)}`;
158
+ }
159
+ }
@@ -0,0 +1,6 @@
1
+ export {
2
+ ASSET_DELETE_PERMISSION_ID, ASSET_DOWNLOAD_PERMISSION_ID,
3
+ ASSET_UPLOAD_PERMISSION_ID,
4
+ } from './extension';
5
+ export type { Asset } from './extension';
6
+