@secrecy/lib 1.0.0-dev.68 → 1.0.0-dev.69

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 (196) hide show
  1. package/dist/index.cjs +257 -2
  2. package/dist/index.d.ts +5016 -18
  3. package/dist/index.js +257 -2
  4. package/package.json +4 -4
  5. package/dist/BaseClient-e5e97df7.d.ts +0 -351
  6. package/dist/BaseClient.cjs +0 -2
  7. package/dist/BaseClient.cjs.map +0 -1
  8. package/dist/BaseClient.d.ts +0 -16
  9. package/dist/BaseClient.js +0 -2
  10. package/dist/BaseClient.js.map +0 -1
  11. package/dist/PopupTools.cjs +0 -2
  12. package/dist/PopupTools.cjs.map +0 -1
  13. package/dist/PopupTools.d.ts +0 -18
  14. package/dist/PopupTools.js +0 -2
  15. package/dist/PopupTools.js.map +0 -1
  16. package/dist/ZeusThunder.cjs +0 -2
  17. package/dist/ZeusThunder.cjs.map +0 -1
  18. package/dist/ZeusThunder.d.ts +0 -6
  19. package/dist/ZeusThunder.js +0 -2
  20. package/dist/ZeusThunder.js.map +0 -1
  21. package/dist/cache.cjs +0 -2
  22. package/dist/cache.cjs.map +0 -1
  23. package/dist/cache.d.ts +0 -24
  24. package/dist/cache.js +0 -2
  25. package/dist/cache.js.map +0 -1
  26. package/dist/chunk-UPFDSEKI.js +0 -2
  27. package/dist/chunk-UPFDSEKI.js.map +0 -1
  28. package/dist/chunk-XDPEU3HV.cjs +0 -2
  29. package/dist/chunk-XDPEU3HV.cjs.map +0 -1
  30. package/dist/client/SecrecyAppClient.cjs +0 -2
  31. package/dist/client/SecrecyAppClient.cjs.map +0 -1
  32. package/dist/client/SecrecyAppClient.d.ts +0 -16
  33. package/dist/client/SecrecyAppClient.js +0 -2
  34. package/dist/client/SecrecyAppClient.js.map +0 -1
  35. package/dist/client/SecrecyCloudClient.cjs +0 -2
  36. package/dist/client/SecrecyCloudClient.cjs.map +0 -1
  37. package/dist/client/SecrecyCloudClient.d.ts +0 -16
  38. package/dist/client/SecrecyCloudClient.js +0 -2
  39. package/dist/client/SecrecyCloudClient.js.map +0 -1
  40. package/dist/client/SecrecyDbClient.cjs +0 -2
  41. package/dist/client/SecrecyDbClient.cjs.map +0 -1
  42. package/dist/client/SecrecyDbClient.d.ts +0 -16
  43. package/dist/client/SecrecyDbClient.js +0 -2
  44. package/dist/client/SecrecyDbClient.js.map +0 -1
  45. package/dist/client/SecrecyMailClient.cjs +0 -2
  46. package/dist/client/SecrecyMailClient.cjs.map +0 -1
  47. package/dist/client/SecrecyMailClient.d.ts +0 -16
  48. package/dist/client/SecrecyMailClient.js +0 -2
  49. package/dist/client/SecrecyMailClient.js.map +0 -1
  50. package/dist/client/SecrecyPayClient.cjs +0 -2
  51. package/dist/client/SecrecyPayClient.cjs.map +0 -1
  52. package/dist/client/SecrecyPayClient.d.ts +0 -16
  53. package/dist/client/SecrecyPayClient.js +0 -2
  54. package/dist/client/SecrecyPayClient.js.map +0 -1
  55. package/dist/client/SecrecyWalletClient.cjs +0 -2
  56. package/dist/client/SecrecyWalletClient.cjs.map +0 -1
  57. package/dist/client/SecrecyWalletClient.d.ts +0 -16
  58. package/dist/client/SecrecyWalletClient.js +0 -2
  59. package/dist/client/SecrecyWalletClient.js.map +0 -1
  60. package/dist/client/convert/file.cjs +0 -2
  61. package/dist/client/convert/file.cjs.map +0 -1
  62. package/dist/client/convert/file.d.ts +0 -11
  63. package/dist/client/convert/file.js +0 -2
  64. package/dist/client/convert/file.js.map +0 -1
  65. package/dist/client/convert/mail.cjs +0 -2
  66. package/dist/client/convert/mail.cjs.map +0 -1
  67. package/dist/client/convert/mail.d.ts +0 -13
  68. package/dist/client/convert/mail.js +0 -2
  69. package/dist/client/convert/mail.js.map +0 -1
  70. package/dist/client/convert/node.cjs +0 -2
  71. package/dist/client/convert/node.cjs.map +0 -1
  72. package/dist/client/convert/node.d.ts +0 -18
  73. package/dist/client/convert/node.js +0 -2
  74. package/dist/client/convert/node.js.map +0 -1
  75. package/dist/client/helpers.cjs +0 -2
  76. package/dist/client/helpers.cjs.map +0 -1
  77. package/dist/client/helpers.d.ts +0 -16
  78. package/dist/client/helpers.js +0 -2
  79. package/dist/client/helpers.js.map +0 -1
  80. package/dist/client/index.cjs +0 -2
  81. package/dist/client/index.cjs.map +0 -1
  82. package/dist/client/index.d.ts +0 -16
  83. package/dist/client/index.js +0 -2
  84. package/dist/client/index.js.map +0 -1
  85. package/dist/client/storage.cjs +0 -2
  86. package/dist/client/storage.cjs.map +0 -1
  87. package/dist/client/storage.d.ts +0 -10
  88. package/dist/client/storage.js +0 -2
  89. package/dist/client/storage.js.map +0 -1
  90. package/dist/client/types/File.cjs +0 -1
  91. package/dist/client/types/File.cjs.map +0 -1
  92. package/dist/client/types/File.d.ts +0 -18
  93. package/dist/client/types/File.js +0 -1
  94. package/dist/client/types/File.js.map +0 -1
  95. package/dist/client/types/Inputs.cjs +0 -1
  96. package/dist/client/types/Inputs.cjs.map +0 -1
  97. package/dist/client/types/Inputs.d.ts +0 -18
  98. package/dist/client/types/Inputs.js +0 -1
  99. package/dist/client/types/Inputs.js.map +0 -1
  100. package/dist/client/types/Node.cjs +0 -1
  101. package/dist/client/types/Node.cjs.map +0 -1
  102. package/dist/client/types/Node.d.ts +0 -9
  103. package/dist/client/types/Node.js +0 -1
  104. package/dist/client/types/Node.js.map +0 -1
  105. package/dist/client/types/UserAppNotifications.cjs +0 -1
  106. package/dist/client/types/UserAppNotifications.cjs.map +0 -1
  107. package/dist/client/types/UserAppNotifications.d.ts +0 -8
  108. package/dist/client/types/UserAppNotifications.js +0 -1
  109. package/dist/client/types/UserAppNotifications.js.map +0 -1
  110. package/dist/client/types/UserAppSettings.cjs +0 -1
  111. package/dist/client/types/UserAppSettings.cjs.map +0 -1
  112. package/dist/client/types/UserAppSettings.d.ts +0 -7
  113. package/dist/client/types/UserAppSettings.js +0 -1
  114. package/dist/client/types/UserAppSettings.js.map +0 -1
  115. package/dist/client/types/index.cjs +0 -2
  116. package/dist/client/types/index.cjs.map +0 -1
  117. package/dist/client/types/index.d.ts +0 -176
  118. package/dist/client/types/index.js +0 -2
  119. package/dist/client/types/index.js.map +0 -1
  120. package/dist/client/types/selectors.cjs +0 -2
  121. package/dist/client/types/selectors.cjs.map +0 -1
  122. package/dist/client/types/selectors.d.ts +0 -402
  123. package/dist/client/types/selectors.js +0 -2
  124. package/dist/client/types/selectors.js.map +0 -1
  125. package/dist/crypto/file.cjs +0 -2
  126. package/dist/crypto/file.cjs.map +0 -1
  127. package/dist/crypto/file.d.ts +0 -16
  128. package/dist/crypto/file.js +0 -2
  129. package/dist/crypto/file.js.map +0 -1
  130. package/dist/crypto/index.cjs +0 -2
  131. package/dist/crypto/index.cjs.map +0 -1
  132. package/dist/crypto/index.d.ts +0 -14
  133. package/dist/crypto/index.js +0 -2
  134. package/dist/crypto/index.js.map +0 -1
  135. package/dist/error.cjs +0 -1
  136. package/dist/error.cjs.map +0 -1
  137. package/dist/error.d.ts +0 -35
  138. package/dist/error.js +0 -1
  139. package/dist/error.js.map +0 -1
  140. package/dist/index.cjs.map +0 -1
  141. package/dist/index.js.map +0 -1
  142. package/dist/minify/index.cjs +0 -2
  143. package/dist/minify/index.cjs.map +0 -1
  144. package/dist/minify/index.d.ts +0 -4
  145. package/dist/minify/index.js +0 -2
  146. package/dist/minify/index.js.map +0 -1
  147. package/dist/minify/lz4.cjs +0 -3
  148. package/dist/minify/lz4.cjs.map +0 -1
  149. package/dist/minify/lz4.d.ts +0 -7
  150. package/dist/minify/lz4.js +0 -3
  151. package/dist/minify/lz4.js.map +0 -1
  152. package/dist/sodium.cjs +0 -2
  153. package/dist/sodium.cjs.map +0 -1
  154. package/dist/sodium.d.ts +0 -5
  155. package/dist/sodium.js +0 -2
  156. package/dist/sodium.js.map +0 -1
  157. package/dist/utils/store-buddy.cjs +0 -2
  158. package/dist/utils/store-buddy.cjs.map +0 -1
  159. package/dist/utils/store-buddy.d.ts +0 -15
  160. package/dist/utils/store-buddy.js +0 -2
  161. package/dist/utils/store-buddy.js.map +0 -1
  162. package/dist/utils/time.cjs +0 -2
  163. package/dist/utils/time.cjs.map +0 -1
  164. package/dist/utils/time.d.ts +0 -12
  165. package/dist/utils/time.js +0 -2
  166. package/dist/utils/time.js.map +0 -1
  167. package/dist/utils/utils.cjs +0 -2
  168. package/dist/utils/utils.cjs.map +0 -1
  169. package/dist/utils/utils.d.ts +0 -6
  170. package/dist/utils/utils.js +0 -2
  171. package/dist/utils/utils.js.map +0 -1
  172. package/dist/worker/md5.cjs +0 -2
  173. package/dist/worker/md5.cjs.map +0 -1
  174. package/dist/worker/md5.d.ts +0 -3
  175. package/dist/worker/md5.js +0 -2
  176. package/dist/worker/md5.js.map +0 -1
  177. package/dist/worker/sodium.cjs +0 -2
  178. package/dist/worker/sodium.cjs.map +0 -1
  179. package/dist/worker/sodium.d.ts +0 -6
  180. package/dist/worker/sodium.js +0 -2
  181. package/dist/worker/sodium.js.map +0 -1
  182. package/dist/worker/workerCodes.cjs +0 -254
  183. package/dist/worker/workerCodes.cjs.map +0 -1
  184. package/dist/worker/workerCodes.d.ts +0 -4
  185. package/dist/worker/workerCodes.js +0 -254
  186. package/dist/worker/workerCodes.js.map +0 -1
  187. package/dist/zeus/const.cjs +0 -2
  188. package/dist/zeus/const.cjs.map +0 -1
  189. package/dist/zeus/const.d.ts +0 -9
  190. package/dist/zeus/const.js +0 -2
  191. package/dist/zeus/const.js.map +0 -1
  192. package/dist/zeus/index.cjs +0 -5
  193. package/dist/zeus/index.cjs.map +0 -1
  194. package/dist/zeus/index.d.ts +0 -8218
  195. package/dist/zeus/index.js +0 -5
  196. package/dist/zeus/index.js.map +0 -1
@@ -1,16 +0,0 @@
1
- export { r as SecrecyPayClient } from '../BaseClient-e5e97df7.js';
2
- import '../crypto/index.js';
3
- import '../zeus/index.js';
4
- import 'ky';
5
- import '../error.js';
6
- import '../crypto/file.js';
7
- import './types/File.js';
8
- import './types/selectors.js';
9
- import '../zeus/const.js';
10
- import './types/index.js';
11
- import './types/UserAppSettings.js';
12
- import './types/UserAppNotifications.js';
13
- import './types/Inputs.js';
14
- import 'jsonwebtoken';
15
- import 'bson';
16
- import 'ethers';
@@ -1,2 +0,0 @@
1
- import{e,f as r}from"../chunk-UPFDSEKI.js";var t,i,y;class s{constructor(n,c,o){e(this,t,void 0);e(this,i,void 0);e(this,y,void 0);r(this,t,n),r(this,i,c),r(this,y,o)}}t=new WeakMap,i=new WeakMap,y=new WeakMap;export{s as SecrecyPayClient};
2
- //# sourceMappingURL=SecrecyPayClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/client/SecrecyPayClient.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport type { SecrecyClient } from \"../index.js\";\nimport type { KeyPair } from \"../crypto/index.js\";\nimport type { Thunder } from \"../zeus/index.js\";\n\nexport class SecrecyPayClient {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n #client: SecrecyClient;\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n #keys: KeyPair;\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n #thunder: ReturnType<typeof Thunder>;\n\n constructor(\n client: SecrecyClient,\n keys: KeyPair,\n thunder: ReturnType<typeof Thunder>\n ) {\n this.#client = client;\n this.#keys = keys;\n this.#thunder = thunder;\n }\n}\n"],"mappings":"2CAAA,IAAAA,EAAAC,EAAAC,EAKO,MAAMC,CAAiB,CAa5B,YACEC,EACAC,EACAC,EACA,CAdFC,EAAA,KAAAP,EAAA,QAIAO,EAAA,KAAAN,EAAA,QAIAM,EAAA,KAAAL,EAAA,QAOEM,EAAA,KAAKR,EAAUI,GACfI,EAAA,KAAKP,EAAQI,GACbG,EAAA,KAAKN,EAAWI,EAClB,CACF,CAnBEN,EAAA,YAIAC,EAAA,YAIAC,EAAA","names":["_client","_keys","_thunder","SecrecyPayClient","client","keys","thunder","__privateAdd","__privateSet"]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXDPEU3HVcjs = require('../chunk-XDPEU3HV.cjs');var e;var _indexjs = require('../index.js');var _indexjs3 = require('../zeus/index.js');var _PopupToolsjs = require('../PopupTools.js');class w{constructor(r){_chunkXDPEU3HVcjs.e.call(void 0, this,e,void 0);_chunkXDPEU3HVcjs.f.call(void 0, this,e,r)}createTransaction(v){return _chunkXDPEU3HVcjs.h.call(void 0, this,arguments,function*({env:r="prod",network:s=_indexjs3.InfuraNetwork.mainnet,tx:n}){const o=_indexjs.getUrl.call(void 0, {env:r,hash:Buffer.from(JSON.stringify({appSession:_chunkXDPEU3HVcjs.d.call(void 0, this,e).sessionId,network:s,tx:n})).toString("base64"),path:"/account/iframe/wallet-transaction"});return new Promise((a,i)=>_PopupToolsjs.popup.call(void 0, o,"Secrecy Wallet - Transaction",{width:500},(t,c)=>t?i(t):a(c)))})}createSignature(v){return _chunkXDPEU3HVcjs.h.call(void 0, this,arguments,function*({env:r="prod",network:s=_indexjs3.InfuraNetwork.mainnet,message:n}){const o=_indexjs.getUrl.call(void 0, {env:r,hash:Buffer.from(JSON.stringify({appSession:_chunkXDPEU3HVcjs.d.call(void 0, this,e).sessionId,network:s,message:n})).toString("base64"),path:"/account/iframe/wallet-signature"});return new Promise((a,i)=>_PopupToolsjs.popup.call(void 0, o,"Secrecy Wallet - Signature",{width:500},(t,c)=>t?i(t):a(c)))})}}e=new WeakMap;exports.SecrecyWalletClient = w;
2
- //# sourceMappingURL=SecrecyWalletClient.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/client/SecrecyWalletClient.ts"],"names":["_client","getUrl","InfuraNetwork","popup","SecrecyWalletClient","client","__privateAdd","__privateSet","_0","__async","env","network","tx","url","__privateGet","resolve","reject","err","data","message"],"mappings":"+DAAA,IAAAA,EAEA,OAAS,UAAAC,MAAc,cACvB,OAAS,iBAAAC,MAAqB,mBAC9B,OAAS,SAAAC,MAAa,mBAiBf,MAAMC,CAAoB,CAO/B,YACEC,EAGA,CAVFC,EAAA,KAAAN,EAAA,QAWEO,EAAA,KAAKP,EAAUK,EAGjB,CAEM,kBAAkBG,EAQyC,QAAAC,EAAA,yBARzC,CACtB,IAAAC,EAAM,OACN,QAAAC,EAAUT,EAAc,QACxB,GAAAU,CACF,EAIiE,CAC/D,MAAMC,EAAMZ,EAAO,CACjB,IAAAS,EACA,KAAM,OAAO,KACX,KAAK,UAAU,CACb,WAAYI,EAAA,KAAKd,GAAQ,UACzB,QAAAW,EACA,GAAAC,CACF,CAAC,CACH,EAAE,SAAS,QAAQ,EACnB,KAAM,oCACR,CAAC,EACD,OAAO,IAAI,QAAQ,CAACG,EAASC,IAC3Bb,EACEU,EACA,+BACA,CACE,MAAO,GACT,EACA,CAACI,EAAKC,IACAD,EACKD,EAAOC,CAAG,EAEZF,EACLG,CACF,CAEJ,CACF,CACF,GAEM,gBAAgBV,EAQqB,QAAAC,EAAA,yBARrB,CACpB,IAAAC,EAAM,OACN,QAAAC,EAAUT,EAAc,QACxB,QAAAiB,CACF,EAI2C,CACzC,MAAMN,EAAMZ,EAAO,CACjB,IAAAS,EACA,KAAM,OAAO,KACX,KAAK,UAAU,CACb,WAAYI,EAAA,KAAKd,GAAQ,UACzB,QAAAW,EACA,QAAAQ,CACF,CAAC,CACH,EAAE,SAAS,QAAQ,EACnB,KAAM,kCACR,CAAC,EACD,OAAO,IAAI,QAAQ,CAACJ,EAASC,IAC3Bb,EACEU,EACA,6BACA,CACE,MAAO,GACT,EACA,CAACI,EAAKC,IACAD,EACKD,EAAOC,CAAG,EAEZF,EAAQG,CAAqC,CAExD,CACF,CACF,GACF,CA3FElB,EAAA","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport type { SecrecyClient, SecrecyEnv } from \"../index.js\";\nimport { getUrl } from \"../index.js\";\nimport { InfuraNetwork } from \"../zeus/index.js\";\nimport { popup } from \"../PopupTools.js\";\nimport type { providers } from \"ethers\";\n\ntype SuccessWalletResponse<T> = {\n success: true;\n data: T;\n};\n\ntype ErrorWalletResponse = {\n success: false;\n error: string;\n};\n\nexport type SecrecyWalletResponse<T> =\n | SuccessWalletResponse<T>\n | ErrorWalletResponse;\n\nexport class SecrecyWalletClient {\n #client: SecrecyClient;\n\n // #keys: KeyPair;\n\n // #thunder: ReturnType<typeof Thunder>;\n\n constructor(\n client: SecrecyClient\n // _keys: KeyPair,\n // _thunder: ReturnType<typeof Thunder>\n ) {\n this.#client = client;\n // this.#keys = keys;\n // this.#thunder = thunder;\n }\n\n async createTransaction({\n env = \"prod\",\n network = InfuraNetwork.mainnet,\n tx\n }: {\n env?: SecrecyEnv;\n network?: InfuraNetwork;\n tx: providers.TransactionRequest;\n }): Promise<SecrecyWalletResponse<{ id: string; hash: string }>> {\n const url = getUrl({\n env,\n hash: Buffer.from(\n JSON.stringify({\n appSession: this.#client.sessionId,\n network,\n tx\n })\n ).toString(\"base64\"),\n path: \"/account/iframe/wallet-transaction\"\n });\n return new Promise((resolve, reject) =>\n popup(\n url,\n \"Secrecy Wallet - Transaction\",\n {\n width: 500\n },\n (err, data) => {\n if (err) {\n return reject(err);\n }\n return resolve(\n data as SecrecyWalletResponse<{ id: string; hash: string }>\n );\n }\n )\n );\n }\n\n async createSignature({\n env = \"prod\",\n network = InfuraNetwork.mainnet,\n message\n }: {\n env?: SecrecyEnv;\n network?: InfuraNetwork;\n message: string;\n }): Promise<SecrecyWalletResponse<string>> {\n const url = getUrl({\n env,\n hash: Buffer.from(\n JSON.stringify({\n appSession: this.#client.sessionId,\n network,\n message\n })\n ).toString(\"base64\"),\n path: \"/account/iframe/wallet-signature\"\n });\n return new Promise((resolve, reject) =>\n popup(\n url,\n \"Secrecy Wallet - Signature\",\n {\n width: 500\n },\n (err, data) => {\n if (err) {\n return reject(err);\n }\n return resolve(data as SecrecyWalletResponse<string>);\n }\n )\n );\n }\n}\n"]}
@@ -1,16 +0,0 @@
1
- export { q as SecrecyWalletClient, o as SecrecyWalletResponse } from '../BaseClient-e5e97df7.js';
2
- import '../zeus/index.js';
3
- import 'ethers';
4
- import 'ky';
5
- import '../error.js';
6
- import '../crypto/file.js';
7
- import '../crypto/index.js';
8
- import './types/File.js';
9
- import './types/selectors.js';
10
- import '../zeus/const.js';
11
- import './types/index.js';
12
- import './types/UserAppSettings.js';
13
- import './types/UserAppNotifications.js';
14
- import './types/Inputs.js';
15
- import 'jsonwebtoken';
16
- import 'bson';
@@ -1,2 +0,0 @@
1
- import{d as l,e as u,f as S,h as p}from"../chunk-UPFDSEKI.js";var e;import{getUrl as y}from"../index.js";import{InfuraNetwork as f}from"../zeus/index.js";import{popup as m}from"../PopupTools.js";class w{constructor(r){u(this,e,void 0);S(this,e,r)}createTransaction(v){return p(this,arguments,function*({env:r="prod",network:s=f.mainnet,tx:n}){const o=y({env:r,hash:Buffer.from(JSON.stringify({appSession:l(this,e).sessionId,network:s,tx:n})).toString("base64"),path:"/account/iframe/wallet-transaction"});return new Promise((a,i)=>m(o,"Secrecy Wallet - Transaction",{width:500},(t,c)=>t?i(t):a(c)))})}createSignature(v){return p(this,arguments,function*({env:r="prod",network:s=f.mainnet,message:n}){const o=y({env:r,hash:Buffer.from(JSON.stringify({appSession:l(this,e).sessionId,network:s,message:n})).toString("base64"),path:"/account/iframe/wallet-signature"});return new Promise((a,i)=>m(o,"Secrecy Wallet - Signature",{width:500},(t,c)=>t?i(t):a(c)))})}}e=new WeakMap;export{w as SecrecyWalletClient};
2
- //# sourceMappingURL=SecrecyWalletClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/client/SecrecyWalletClient.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport type { SecrecyClient, SecrecyEnv } from \"../index.js\";\nimport { getUrl } from \"../index.js\";\nimport { InfuraNetwork } from \"../zeus/index.js\";\nimport { popup } from \"../PopupTools.js\";\nimport type { providers } from \"ethers\";\n\ntype SuccessWalletResponse<T> = {\n success: true;\n data: T;\n};\n\ntype ErrorWalletResponse = {\n success: false;\n error: string;\n};\n\nexport type SecrecyWalletResponse<T> =\n | SuccessWalletResponse<T>\n | ErrorWalletResponse;\n\nexport class SecrecyWalletClient {\n #client: SecrecyClient;\n\n // #keys: KeyPair;\n\n // #thunder: ReturnType<typeof Thunder>;\n\n constructor(\n client: SecrecyClient\n // _keys: KeyPair,\n // _thunder: ReturnType<typeof Thunder>\n ) {\n this.#client = client;\n // this.#keys = keys;\n // this.#thunder = thunder;\n }\n\n async createTransaction({\n env = \"prod\",\n network = InfuraNetwork.mainnet,\n tx\n }: {\n env?: SecrecyEnv;\n network?: InfuraNetwork;\n tx: providers.TransactionRequest;\n }): Promise<SecrecyWalletResponse<{ id: string; hash: string }>> {\n const url = getUrl({\n env,\n hash: Buffer.from(\n JSON.stringify({\n appSession: this.#client.sessionId,\n network,\n tx\n })\n ).toString(\"base64\"),\n path: \"/account/iframe/wallet-transaction\"\n });\n return new Promise((resolve, reject) =>\n popup(\n url,\n \"Secrecy Wallet - Transaction\",\n {\n width: 500\n },\n (err, data) => {\n if (err) {\n return reject(err);\n }\n return resolve(\n data as SecrecyWalletResponse<{ id: string; hash: string }>\n );\n }\n )\n );\n }\n\n async createSignature({\n env = \"prod\",\n network = InfuraNetwork.mainnet,\n message\n }: {\n env?: SecrecyEnv;\n network?: InfuraNetwork;\n message: string;\n }): Promise<SecrecyWalletResponse<string>> {\n const url = getUrl({\n env,\n hash: Buffer.from(\n JSON.stringify({\n appSession: this.#client.sessionId,\n network,\n message\n })\n ).toString(\"base64\"),\n path: \"/account/iframe/wallet-signature\"\n });\n return new Promise((resolve, reject) =>\n popup(\n url,\n \"Secrecy Wallet - Signature\",\n {\n width: 500\n },\n (err, data) => {\n if (err) {\n return reject(err);\n }\n return resolve(data as SecrecyWalletResponse<string>);\n }\n )\n );\n }\n}\n"],"mappings":"8DAAA,IAAAA,EAEA,OAAS,UAAAC,MAAc,cACvB,OAAS,iBAAAC,MAAqB,mBAC9B,OAAS,SAAAC,MAAa,mBAiBf,MAAMC,CAAoB,CAO/B,YACEC,EAGA,CAVFC,EAAA,KAAAN,EAAA,QAWEO,EAAA,KAAKP,EAAUK,EAGjB,CAEM,kBAAkBG,EAQyC,QAAAC,EAAA,yBARzC,CACtB,IAAAC,EAAM,OACN,QAAAC,EAAUT,EAAc,QACxB,GAAAU,CACF,EAIiE,CAC/D,MAAMC,EAAMZ,EAAO,CACjB,IAAAS,EACA,KAAM,OAAO,KACX,KAAK,UAAU,CACb,WAAYI,EAAA,KAAKd,GAAQ,UACzB,QAAAW,EACA,GAAAC,CACF,CAAC,CACH,EAAE,SAAS,QAAQ,EACnB,KAAM,oCACR,CAAC,EACD,OAAO,IAAI,QAAQ,CAACG,EAASC,IAC3Bb,EACEU,EACA,+BACA,CACE,MAAO,GACT,EACA,CAACI,EAAKC,IACAD,EACKD,EAAOC,CAAG,EAEZF,EACLG,CACF,CAEJ,CACF,CACF,GAEM,gBAAgBV,EAQqB,QAAAC,EAAA,yBARrB,CACpB,IAAAC,EAAM,OACN,QAAAC,EAAUT,EAAc,QACxB,QAAAiB,CACF,EAI2C,CACzC,MAAMN,EAAMZ,EAAO,CACjB,IAAAS,EACA,KAAM,OAAO,KACX,KAAK,UAAU,CACb,WAAYI,EAAA,KAAKd,GAAQ,UACzB,QAAAW,EACA,QAAAQ,CACF,CAAC,CACH,EAAE,SAAS,QAAQ,EACnB,KAAM,kCACR,CAAC,EACD,OAAO,IAAI,QAAQ,CAACJ,EAASC,IAC3Bb,EACEU,EACA,6BACA,CACE,MAAO,GACT,EACA,CAACI,EAAKC,IACAD,EACKD,EAAOC,CAAG,EAEZF,EAAQG,CAAqC,CAExD,CACF,CACF,GACF,CA3FElB,EAAA","names":["_client","getUrl","InfuraNetwork","popup","SecrecyWalletClient","client","__privateAdd","__privateSet","_0","__async","env","network","tx","url","__privateGet","resolve","reject","err","data","message"]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-XDPEU3HV.cjs');var _cachejs = require('../../cache.js');var _indexjs = require('../../crypto/index.js');var _sodiumjs = require('../../sodium.js');function d(e,t){if(!e.access||!e.access.sharedBy.keyPair)throw`File ${e.id} doesn't have access`;const i={id:e.id,md5:e.md5,md5Encrypted:e.md5Encrypted,createdAt:new Date(e.createdAt),size:BigInt(e.size),sizeBefore:BigInt(e.sizeBefore),key:_sodiumjs.sodium.to_hex(_indexjs.decryptCryptoBox.call(void 0, _sodiumjs.sodium.from_hex(e.access.key),e.access.sharedBy.keyPair.pub,t.privateKey))};return _cachejs.filesCache.set(i.id,i),i}function o(e){return{id:e.id,md5:e.md5,md5Encrypted:e.md5Encrypted,createdAt:e.createdAt,size:e.size,sizeBefore:e.sizeBefore}}function p(e,t){return o(d(e,t))}exports.gqlFileToExternal = p; exports.gqlFileToInternal = d; exports.internalFileToFile = o;
2
- //# sourceMappingURL=file.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/client/convert/file.ts"],"names":["filesCache","decryptCryptoBox","sodium","gqlFileToInternal","gql","keyPair","file","internalFileToFile","internal","gqlFileToExternal"],"mappings":"iCAAA,OAAS,cAAAA,MAAkB,iBAE3B,OAAS,oBAAAC,MAAwB,wBACjC,OAAS,UAAAC,MAAc,kBAGhB,SAASC,EACdC,EACAC,EACc,CACd,GAAI,CAACD,EAAI,QAAU,CAACA,EAAI,OAAO,SAAS,QACtC,KAAM,QAAQA,EAAI,yBAGpB,MAAME,EAAqB,CACzB,GAAIF,EAAI,GACR,IAAKA,EAAI,IACT,aAAcA,EAAI,aAClB,UAAW,IAAI,KAAKA,EAAI,SAAmB,EAC3C,KAAM,OAAOA,EAAI,IAAc,EAC/B,WAAY,OAAOA,EAAI,UAAoB,EAC3C,IAAKF,EAAO,OACVD,EACEC,EAAO,SAASE,EAAI,OAAO,GAAG,EAC9BA,EAAI,OAAO,SAAS,QAAQ,IAC5BC,EAAQ,UACV,CACF,CACF,EAEA,OAAAL,EAAW,IAAIM,EAAK,GAAIA,CAAI,EAErBA,CACT,CAEO,SAASC,EAAmBC,EAAsC,CACvE,MAAO,CACL,GAAIA,EAAS,GACb,IAAKA,EAAS,IACd,aAAcA,EAAS,aACvB,UAAWA,EAAS,UACpB,KAAMA,EAAS,KACf,WAAYA,EAAS,UACvB,CACF,CAEO,SAASC,EACdL,EACAC,EACc,CACd,OAAOE,EAAmBJ,EAAkBC,EAAKC,CAAO,CAAC,CAC3D","sourcesContent":["import { filesCache } from \"../../cache.js\";\nimport type { KeyPair } from \"../../crypto/index.js\";\nimport { decryptCryptoBox } from \"../../crypto/index.js\";\nimport { sodium } from \"../../sodium.js\";\nimport type { GQLFile, InternalFile, FileMetadata } from \"../types/index.js\";\n\nexport function gqlFileToInternal(\n gql: GQLFile,\n keyPair: KeyPair\n): InternalFile {\n if (!gql.access || !gql.access.sharedBy.keyPair) {\n throw `File ${gql.id} doesn't have access`;\n }\n\n const file: InternalFile = {\n id: gql.id,\n md5: gql.md5,\n md5Encrypted: gql.md5Encrypted,\n createdAt: new Date(gql.createdAt as string),\n size: BigInt(gql.size as string),\n sizeBefore: BigInt(gql.sizeBefore as string),\n key: sodium.to_hex(\n decryptCryptoBox(\n sodium.from_hex(gql.access.key),\n gql.access.sharedBy.keyPair.pub,\n keyPair.privateKey\n )\n )\n };\n\n filesCache.set(file.id, file);\n\n return file;\n}\n\nexport function internalFileToFile(internal: InternalFile): FileMetadata {\n return {\n id: internal.id,\n md5: internal.md5,\n md5Encrypted: internal.md5Encrypted,\n createdAt: internal.createdAt,\n size: internal.size,\n sizeBefore: internal.sizeBefore\n };\n}\n\nexport function gqlFileToExternal(\n gql: GQLFile,\n keyPair: KeyPair\n): FileMetadata {\n return internalFileToFile(gqlFileToInternal(gql, keyPair));\n}\n"]}
@@ -1,11 +0,0 @@
1
- import { KeyPair } from '../../crypto/index.js';
2
- import { GQLFile, InternalFile, FileMetadata } from '../types/File.js';
3
- import '../../zeus/index.js';
4
- import '../../zeus/const.js';
5
- import '../types/selectors.js';
6
-
7
- declare function gqlFileToInternal(gql: GQLFile, keyPair: KeyPair): InternalFile;
8
- declare function internalFileToFile(internal: InternalFile): FileMetadata;
9
- declare function gqlFileToExternal(gql: GQLFile, keyPair: KeyPair): FileMetadata;
10
-
11
- export { gqlFileToExternal, gqlFileToInternal, internalFileToFile };
@@ -1,2 +0,0 @@
1
- import"../../chunk-UPFDSEKI.js";import{filesCache as a}from"../../cache.js";import{decryptCryptoBox as s}from"../../crypto/index.js";import{sodium as r}from"../../sodium.js";function d(e,t){if(!e.access||!e.access.sharedBy.keyPair)throw`File ${e.id} doesn't have access`;const i={id:e.id,md5:e.md5,md5Encrypted:e.md5Encrypted,createdAt:new Date(e.createdAt),size:BigInt(e.size),sizeBefore:BigInt(e.sizeBefore),key:r.to_hex(s(r.from_hex(e.access.key),e.access.sharedBy.keyPair.pub,t.privateKey))};return a.set(i.id,i),i}function o(e){return{id:e.id,md5:e.md5,md5Encrypted:e.md5Encrypted,createdAt:e.createdAt,size:e.size,sizeBefore:e.sizeBefore}}function p(e,t){return o(d(e,t))}export{p as gqlFileToExternal,d as gqlFileToInternal,o as internalFileToFile};
2
- //# sourceMappingURL=file.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/client/convert/file.ts"],"sourcesContent":["import { filesCache } from \"../../cache.js\";\nimport type { KeyPair } from \"../../crypto/index.js\";\nimport { decryptCryptoBox } from \"../../crypto/index.js\";\nimport { sodium } from \"../../sodium.js\";\nimport type { GQLFile, InternalFile, FileMetadata } from \"../types/index.js\";\n\nexport function gqlFileToInternal(\n gql: GQLFile,\n keyPair: KeyPair\n): InternalFile {\n if (!gql.access || !gql.access.sharedBy.keyPair) {\n throw `File ${gql.id} doesn't have access`;\n }\n\n const file: InternalFile = {\n id: gql.id,\n md5: gql.md5,\n md5Encrypted: gql.md5Encrypted,\n createdAt: new Date(gql.createdAt as string),\n size: BigInt(gql.size as string),\n sizeBefore: BigInt(gql.sizeBefore as string),\n key: sodium.to_hex(\n decryptCryptoBox(\n sodium.from_hex(gql.access.key),\n gql.access.sharedBy.keyPair.pub,\n keyPair.privateKey\n )\n )\n };\n\n filesCache.set(file.id, file);\n\n return file;\n}\n\nexport function internalFileToFile(internal: InternalFile): FileMetadata {\n return {\n id: internal.id,\n md5: internal.md5,\n md5Encrypted: internal.md5Encrypted,\n createdAt: internal.createdAt,\n size: internal.size,\n sizeBefore: internal.sizeBefore\n };\n}\n\nexport function gqlFileToExternal(\n gql: GQLFile,\n keyPair: KeyPair\n): FileMetadata {\n return internalFileToFile(gqlFileToInternal(gql, keyPair));\n}\n"],"mappings":"gCAAA,OAAS,cAAAA,MAAkB,iBAE3B,OAAS,oBAAAC,MAAwB,wBACjC,OAAS,UAAAC,MAAc,kBAGhB,SAASC,EACdC,EACAC,EACc,CACd,GAAI,CAACD,EAAI,QAAU,CAACA,EAAI,OAAO,SAAS,QACtC,KAAM,QAAQA,EAAI,yBAGpB,MAAME,EAAqB,CACzB,GAAIF,EAAI,GACR,IAAKA,EAAI,IACT,aAAcA,EAAI,aAClB,UAAW,IAAI,KAAKA,EAAI,SAAmB,EAC3C,KAAM,OAAOA,EAAI,IAAc,EAC/B,WAAY,OAAOA,EAAI,UAAoB,EAC3C,IAAKF,EAAO,OACVD,EACEC,EAAO,SAASE,EAAI,OAAO,GAAG,EAC9BA,EAAI,OAAO,SAAS,QAAQ,IAC5BC,EAAQ,UACV,CACF,CACF,EAEA,OAAAL,EAAW,IAAIM,EAAK,GAAIA,CAAI,EAErBA,CACT,CAEO,SAASC,EAAmBC,EAAsC,CACvE,MAAO,CACL,GAAIA,EAAS,GACb,IAAKA,EAAS,IACd,aAAcA,EAAS,aACvB,UAAWA,EAAS,UACpB,KAAMA,EAAS,KACf,WAAYA,EAAS,UACvB,CACF,CAEO,SAASC,EACdL,EACAC,EACc,CACd,OAAOE,EAAmBJ,EAAkBC,EAAKC,CAAO,CAAC,CAC3D","names":["filesCache","decryptCryptoBox","sodium","gqlFileToInternal","gql","keyPair","file","internalFileToFile","internal","gqlFileToExternal"]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-XDPEU3HV.cjs');var _indexjs = require('../../index.js');function h(e,r){var c;let n=e.type;e.mailIntegrityDraft&&(n="draft");const i=n==="draft"?e.mailIntegrityDraft:e.mailIntegrity;if(!i)return null;const o=e.type==="received"?e.sender.publicKey:r.publicKey,s=_indexjs.sodium.to_string(_indexjs.decryptCryptoBox.call(void 0, _indexjs.sodium.from_hex(e.body),o,r.privateKey)),y=_indexjs.sodium.to_string(_indexjs.decryptCryptoBox.call(void 0, _indexjs.sodium.from_hex(e.subject),o,r.privateKey)),m=_indexjs.sodium.crypto_generichash(_indexjs.sodium.crypto_generichash_BYTES,JSON.stringify({body:s,subject:y}),i.hashKey,"hex");return{type:n,id:e.id,mailIntegrityId:i.id,replyTo:(c=i.replyTo)==null?void 0:c.id,body:s,subject:y,createdAt:new Date(e.createdAt),deletedAt:e.deletedAt?new Date(e.deletedAt):null,openedAt:e.openedAt?new Date(e.openedAt):null,isAltered:m!==i.hash,temporaryRecipients:i.temporaryRecipients,recipients:n==="draft"?i.recipients:e.recipients,sender:e.sender,files:e.files.map(p=>{const f=_indexjs.sodium.to_string(_indexjs.decryptCryptoBox.call(void 0, _indexjs.sodium.from_hex(p.filename),o,r.privateKey));return{id:p.file.id,name:f,key:p.fileKey}})}}exports.convertInternalMailToExternal = h;
2
- //# sourceMappingURL=mail.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/client/convert/mail.ts"],"names":["sodium","decryptCryptoBox","convertInternalMailToExternal","data","keys","_a","type","mI","pubKey","body","subject","hash","f","name"],"mappings":"iCAEA,OAAS,UAAAA,EAAQ,oBAAAC,MAAwB,iBAElC,SAASC,EACdC,EACAC,EACa,CAPf,IAAAC,EAQE,IAAIC,EAAiBH,EAAK,KACtBA,EAAK,qBACPG,EAAO,SAGT,MAAMC,EAAKD,IAAS,QAAUH,EAAK,mBAAqBA,EAAK,cAE7D,GAAI,CAACI,EACH,OAAO,KAGT,MAAMC,EACJL,EAAK,OAAS,WAAaA,EAAK,OAAO,UAAYC,EAAK,UAEpDK,EAAOT,EAAO,UAClBC,EAAiBD,EAAO,SAASG,EAAK,IAAI,EAAGK,EAAQJ,EAAK,UAAU,CACtE,EAEMM,EAAUV,EAAO,UACrBC,EAAiBD,EAAO,SAASG,EAAK,OAAO,EAAGK,EAAQJ,EAAK,UAAU,CACzE,EAEMO,EAAOX,EAAO,mBAClBA,EAAO,yBACP,KAAK,UAAU,CAAE,KAAAS,EAAM,QAAAC,CAAQ,CAAC,EAChCH,EAAG,QACH,KACF,EAEA,MAAO,CACL,KAAAD,EACA,GAAIH,EAAK,GACT,gBAAiBI,EAAG,GACpB,SAASF,EAAAE,EAAG,UAAH,YAAAF,EAAY,GACrB,KAAAI,EACA,QAAAC,EACA,UAAW,IAAI,KAAKP,EAAK,SAAmB,EAC5C,UAAWA,EAAK,UAAY,IAAI,KAAKA,EAAK,SAAmB,EAAI,KACjE,SAAUA,EAAK,SAAW,IAAI,KAAKA,EAAK,QAAkB,EAAI,KAC9D,UAAWQ,IAASJ,EAAG,KACvB,oBAAqBA,EAAG,oBACxB,WAAYD,IAAS,QAAUC,EAAG,WAAaJ,EAAK,WACpD,OAAQA,EAAK,OACb,MAAOA,EAAK,MAAM,IAAIS,GAAK,CACzB,MAAMC,EAAOb,EAAO,UAClBC,EAAiBD,EAAO,SAASY,EAAE,QAAQ,EAAGJ,EAAQJ,EAAK,UAAU,CACvE,EAEA,MAAO,CACL,GAAIQ,EAAE,KAAK,GACX,KAAAC,EACA,IAAKD,EAAE,OACT,CACF,CAAC,CACH,CACF","sourcesContent":["import type { KeyPair } from \"../../crypto/index.js\";\nimport type { GQLMail, Mail, MailType } from \"../types/index.js\";\nimport { sodium, decryptCryptoBox } from \"../../index.js\";\n\nexport function convertInternalMailToExternal(\n data: GQLMail,\n keys: KeyPair\n): Mail | null {\n let type: MailType = data.type;\n if (data.mailIntegrityDraft) {\n type = \"draft\";\n }\n\n const mI = type === \"draft\" ? data.mailIntegrityDraft : data.mailIntegrity;\n\n if (!mI) {\n return null;\n }\n\n const pubKey =\n data.type === \"received\" ? data.sender.publicKey : keys.publicKey;\n\n const body = sodium.to_string(\n decryptCryptoBox(sodium.from_hex(data.body), pubKey, keys.privateKey)\n );\n\n const subject = sodium.to_string(\n decryptCryptoBox(sodium.from_hex(data.subject), pubKey, keys.privateKey)\n );\n\n const hash = sodium.crypto_generichash(\n sodium.crypto_generichash_BYTES,\n JSON.stringify({ body, subject }),\n mI.hashKey,\n \"hex\"\n );\n\n return {\n type,\n id: data.id,\n mailIntegrityId: mI.id,\n replyTo: mI.replyTo?.id,\n body,\n subject,\n createdAt: new Date(data.createdAt as string),\n deletedAt: data.deletedAt ? new Date(data.deletedAt as string) : null,\n openedAt: data.openedAt ? new Date(data.openedAt as string) : null,\n isAltered: hash !== mI.hash,\n temporaryRecipients: mI.temporaryRecipients,\n recipients: type === \"draft\" ? mI.recipients : data.recipients,\n sender: data.sender,\n files: data.files.map(f => {\n const name = sodium.to_string(\n decryptCryptoBox(sodium.from_hex(f.filename), pubKey, keys.privateKey)\n );\n\n return {\n id: f.file.id,\n name,\n key: f.fileKey\n };\n })\n };\n}\n"]}
@@ -1,13 +0,0 @@
1
- import { KeyPair } from '../../crypto/index.js';
2
- import { GQLMail, Mail } from '../types/index.js';
3
- import '../../zeus/index.js';
4
- import '../../zeus/const.js';
5
- import '../types/selectors.js';
6
- import '../types/File.js';
7
- import '../types/UserAppSettings.js';
8
- import '../types/UserAppNotifications.js';
9
- import '../types/Inputs.js';
10
-
11
- declare function convertInternalMailToExternal(data: GQLMail, keys: KeyPair): Mail | null;
12
-
13
- export { convertInternalMailToExternal };
@@ -1,2 +0,0 @@
1
- import"../../chunk-UPFDSEKI.js";import{sodium as t,decryptCryptoBox as l}from"../../index.js";function h(e,r){var c;let n=e.type;e.mailIntegrityDraft&&(n="draft");const i=n==="draft"?e.mailIntegrityDraft:e.mailIntegrity;if(!i)return null;const o=e.type==="received"?e.sender.publicKey:r.publicKey,s=t.to_string(l(t.from_hex(e.body),o,r.privateKey)),y=t.to_string(l(t.from_hex(e.subject),o,r.privateKey)),m=t.crypto_generichash(t.crypto_generichash_BYTES,JSON.stringify({body:s,subject:y}),i.hashKey,"hex");return{type:n,id:e.id,mailIntegrityId:i.id,replyTo:(c=i.replyTo)==null?void 0:c.id,body:s,subject:y,createdAt:new Date(e.createdAt),deletedAt:e.deletedAt?new Date(e.deletedAt):null,openedAt:e.openedAt?new Date(e.openedAt):null,isAltered:m!==i.hash,temporaryRecipients:i.temporaryRecipients,recipients:n==="draft"?i.recipients:e.recipients,sender:e.sender,files:e.files.map(p=>{const f=t.to_string(l(t.from_hex(p.filename),o,r.privateKey));return{id:p.file.id,name:f,key:p.fileKey}})}}export{h as convertInternalMailToExternal};
2
- //# sourceMappingURL=mail.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/client/convert/mail.ts"],"sourcesContent":["import type { KeyPair } from \"../../crypto/index.js\";\nimport type { GQLMail, Mail, MailType } from \"../types/index.js\";\nimport { sodium, decryptCryptoBox } from \"../../index.js\";\n\nexport function convertInternalMailToExternal(\n data: GQLMail,\n keys: KeyPair\n): Mail | null {\n let type: MailType = data.type;\n if (data.mailIntegrityDraft) {\n type = \"draft\";\n }\n\n const mI = type === \"draft\" ? data.mailIntegrityDraft : data.mailIntegrity;\n\n if (!mI) {\n return null;\n }\n\n const pubKey =\n data.type === \"received\" ? data.sender.publicKey : keys.publicKey;\n\n const body = sodium.to_string(\n decryptCryptoBox(sodium.from_hex(data.body), pubKey, keys.privateKey)\n );\n\n const subject = sodium.to_string(\n decryptCryptoBox(sodium.from_hex(data.subject), pubKey, keys.privateKey)\n );\n\n const hash = sodium.crypto_generichash(\n sodium.crypto_generichash_BYTES,\n JSON.stringify({ body, subject }),\n mI.hashKey,\n \"hex\"\n );\n\n return {\n type,\n id: data.id,\n mailIntegrityId: mI.id,\n replyTo: mI.replyTo?.id,\n body,\n subject,\n createdAt: new Date(data.createdAt as string),\n deletedAt: data.deletedAt ? new Date(data.deletedAt as string) : null,\n openedAt: data.openedAt ? new Date(data.openedAt as string) : null,\n isAltered: hash !== mI.hash,\n temporaryRecipients: mI.temporaryRecipients,\n recipients: type === \"draft\" ? mI.recipients : data.recipients,\n sender: data.sender,\n files: data.files.map(f => {\n const name = sodium.to_string(\n decryptCryptoBox(sodium.from_hex(f.filename), pubKey, keys.privateKey)\n );\n\n return {\n id: f.file.id,\n name,\n key: f.fileKey\n };\n })\n };\n}\n"],"mappings":"gCAEA,OAAS,UAAAA,EAAQ,oBAAAC,MAAwB,iBAElC,SAASC,EACdC,EACAC,EACa,CAPf,IAAAC,EAQE,IAAIC,EAAiBH,EAAK,KACtBA,EAAK,qBACPG,EAAO,SAGT,MAAMC,EAAKD,IAAS,QAAUH,EAAK,mBAAqBA,EAAK,cAE7D,GAAI,CAACI,EACH,OAAO,KAGT,MAAMC,EACJL,EAAK,OAAS,WAAaA,EAAK,OAAO,UAAYC,EAAK,UAEpDK,EAAOT,EAAO,UAClBC,EAAiBD,EAAO,SAASG,EAAK,IAAI,EAAGK,EAAQJ,EAAK,UAAU,CACtE,EAEMM,EAAUV,EAAO,UACrBC,EAAiBD,EAAO,SAASG,EAAK,OAAO,EAAGK,EAAQJ,EAAK,UAAU,CACzE,EAEMO,EAAOX,EAAO,mBAClBA,EAAO,yBACP,KAAK,UAAU,CAAE,KAAAS,EAAM,QAAAC,CAAQ,CAAC,EAChCH,EAAG,QACH,KACF,EAEA,MAAO,CACL,KAAAD,EACA,GAAIH,EAAK,GACT,gBAAiBI,EAAG,GACpB,SAASF,EAAAE,EAAG,UAAH,YAAAF,EAAY,GACrB,KAAAI,EACA,QAAAC,EACA,UAAW,IAAI,KAAKP,EAAK,SAAmB,EAC5C,UAAWA,EAAK,UAAY,IAAI,KAAKA,EAAK,SAAmB,EAAI,KACjE,SAAUA,EAAK,SAAW,IAAI,KAAKA,EAAK,QAAkB,EAAI,KAC9D,UAAWQ,IAASJ,EAAG,KACvB,oBAAqBA,EAAG,oBACxB,WAAYD,IAAS,QAAUC,EAAG,WAAaJ,EAAK,WACpD,OAAQA,EAAK,OACb,MAAOA,EAAK,MAAM,IAAIS,GAAK,CACzB,MAAMC,EAAOb,EAAO,UAClBC,EAAiBD,EAAO,SAASY,EAAE,QAAQ,EAAGJ,EAAQJ,EAAK,UAAU,CACvE,EAEA,MAAO,CACL,GAAIQ,EAAE,KAAK,GACX,KAAAC,EACA,IAAKD,EAAE,OACT,CACF,CAAC,CACH,CACF","names":["sodium","decryptCryptoBox","convertInternalMailToExternal","data","keys","_a","type","mI","pubKey","body","subject","hash","f","name"]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXDPEU3HVcjs = require('../../chunk-XDPEU3HV.cjs');var _sodiumjs = require('../../sodium.js');var _indexjs = require('../../crypto/index.js');var _cachejs = require('../../cache.js');var _filejs = require('../../crypto/file.js');var _filejs3 = require('./file.js');function c(e,r){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){var o,m;if(!e.access)throw`Can't access Node ${e.id}`;const t={id:e.id,type:e.type,access:e.access,name:e.name,isFavorite:e.isFavorite,breadcrumb:e.breadcrumb,createdBy:e.createdBy.user,sizes:{size:BigInt(e.sizes.size),sizeBefore:BigInt(e.sizes.sizeBefore)},createdAt:new Date(e.createdAt),updatedAt:new Date(e.updatedAt),deletedAt:e.deletedAt?new Date(e.deletedAt):null,users:e.accesses.map(n=>[n.userApp.user,n.rights]),parentId:(o=e.parentId)!=null?o:null,currentFileId:(m=e.currentFileId)!=null?m:null};if(t.access=_chunkXDPEU3HVcjs.a.call(void 0, {},e.access),e.access.nameKey){if(!e.access.sharedBy.keyPair)throw new Error("Can't find keyPair for access");const n=_indexjs.decryptCryptoBox.call(void 0, _sodiumjs.sodium.from_hex(e.access.nameKey),e.createdBy.user.publicKey,r.privateKey);t.name=_sodiumjs.sodium.to_string(yield _filejs.decryptSecretstream.call(void 0, n,_sodiumjs.sodium.from_hex(t.name))),t.access.nameKey=_sodiumjs.sodium.to_hex(n)}for(const n of t.breadcrumb){if(!n.nameKey)continue;const p=_indexjs.decryptCryptoBox.call(void 0, _sodiumjs.sodium.from_hex(n.nameKey),n.pubKey,r.privateKey);n.nameKey=_sodiumjs.sodium.to_hex(p),n.name=_sodiumjs.sodium.to_string(yield _filejs.decryptSecretstream.call(void 0, p,_sodiumjs.sodium.from_hex(n.name)))}return _cachejs.nodesCache.set(t.id,t),t})}function h(e,r){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){const t=yield c(e,r);return _chunkXDPEU3HVcjs.b.call(void 0, _chunkXDPEU3HVcjs.a.call(void 0, {},t),{current:e.current?_filejs3.gqlFileToInternal.call(void 0, e.current,r):void 0,parent:e.parent?yield c(e.parent,r):null,children:yield Promise.all(e.children.map(o=>c(o,r))),history:e.history.map(o=>_filejs3.gqlFileToInternal.call(void 0, o,r))})})}function u(e){var t;const r=_chunkXDPEU3HVcjs.b.call(void 0, _chunkXDPEU3HVcjs.a.call(void 0, {},e),{access:e.access?_chunkXDPEU3HVcjs.a.call(void 0, {},e.access):void 0});for(const o of r.breadcrumb)delete o.pubKey;return(t=r.access)==null||delete t.nameKey,r}function x(e){return _chunkXDPEU3HVcjs.b.call(void 0, _chunkXDPEU3HVcjs.a.call(void 0, {},u(e)),{parent:e.parent?u(e.parent):null,children:e.children.map(u),history:e.history.map(r=>_filejs3.internalFileToFile.call(void 0, r)),current:e.current?_filejs3.internalFileToFile.call(void 0, e.current):void 0})}function A(e,r){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){return x(yield h(e,r))})}function T(e,r){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){return u(yield c(e,r))})}exports.gqlNodeFullToInternalFull = h; exports.gqlNodeToExternal = T; exports.gqlNodeToExternalNodeFull = A; exports.gqlNodeToInternal = c; exports.internalNodeFullToNodeFull = x; exports.internalNodeToNode = u;
2
- //# sourceMappingURL=node.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/client/convert/node.ts"],"names":["sodium","decryptCryptoBox","nodesCache","decryptSecretstream","gqlFileToInternal","internalFileToFile","gqlNodeToInternal","gql","keyPair","__async","_a","_b","internal","u","__spreadValues","key","b","gqlNodeFullToInternalFull","f","__spreadProps","s","internalNodeToNode","node","internalNodeFullToNodeFull","gqlNodeToExternalNodeFull","gqlNodeToExternal"],"mappings":"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","sourcesContent":["import { sodium } from \"../../sodium.js\";\nimport type { KeyPair } from \"../../crypto/index.js\";\nimport { decryptCryptoBox } from \"../../crypto/index.js\";\nimport type { Node } from \"../types/index.js\";\nimport type {\n GQLNode,\n InternalNode,\n GQLNodeFull,\n InternalNodeFull,\n NodeFull\n} from \"../types/index.js\";\nimport { nodesCache } from \"../../cache.js\";\nimport { decryptSecretstream } from \"../../crypto/file.js\";\nimport { gqlFileToInternal, internalFileToFile } from \"./file.js\";\n\nexport async function gqlNodeToInternal(\n gql: GQLNode,\n keyPair: KeyPair\n): Promise<InternalNode> {\n if (!gql.access) {\n throw `Can't access Node ${gql.id}`;\n }\n\n const internal: InternalNode = {\n id: gql.id,\n type: gql.type,\n access: gql.access,\n name: gql.name,\n isFavorite: gql.isFavorite,\n breadcrumb: gql.breadcrumb,\n createdBy: gql.createdBy.user,\n sizes: {\n size: BigInt(gql.sizes.size as string),\n sizeBefore: BigInt(gql.sizes.sizeBefore as string)\n },\n createdAt: new Date(gql.createdAt as string),\n updatedAt: new Date(gql.updatedAt as string),\n deletedAt: gql.deletedAt ? new Date(gql.deletedAt as string) : null,\n users: gql.accesses.map(u => [u.userApp.user, u.rights]),\n parentId: gql.parentId ?? null,\n currentFileId: gql.currentFileId ?? null\n };\n\n internal.access = { ...gql.access };\n\n if (gql.access.nameKey) {\n if (!gql.access.sharedBy.keyPair) {\n throw new Error(`Can't find keyPair for access`);\n }\n const key = decryptCryptoBox(\n sodium.from_hex(gql.access.nameKey),\n gql.createdBy.user.publicKey,\n keyPair.privateKey\n );\n internal.name = sodium.to_string(\n await decryptSecretstream(key, sodium.from_hex(internal.name))\n );\n\n internal.access.nameKey = sodium.to_hex(key);\n }\n\n for (const b of internal.breadcrumb) {\n if (!b.nameKey) {\n continue;\n }\n const key = decryptCryptoBox(\n sodium.from_hex(b.nameKey),\n b.pubKey,\n keyPair.privateKey\n );\n\n b.nameKey = sodium.to_hex(key);\n\n b.name = sodium.to_string(\n await decryptSecretstream(key, sodium.from_hex(b.name))\n );\n }\n\n nodesCache.set(internal.id, internal);\n return internal;\n}\n\nexport async function gqlNodeFullToInternalFull(\n gql: GQLNodeFull,\n keyPair: KeyPair\n): Promise<InternalNodeFull> {\n const f = await gqlNodeToInternal(gql, keyPair);\n return {\n ...f,\n current: gql.current ? gqlFileToInternal(gql.current, keyPair) : undefined,\n parent: gql.parent ? await gqlNodeToInternal(gql.parent, keyPair) : null,\n children: await Promise.all(\n gql.children.map(s => gqlNodeToInternal(s, keyPair))\n ),\n history: gql.history.map(f => gqlFileToInternal(f, keyPair))\n };\n}\n\nexport function internalNodeToNode(internal: InternalNode): Node {\n const node: Node = {\n ...internal,\n access: internal.access ? { ...internal.access } : undefined\n };\n\n for (const b of node.breadcrumb) {\n // @ts-ignore\n delete b.pubKey;\n }\n // @ts-ignore\n delete node.access?.nameKey;\n return node;\n}\n\nexport function internalNodeFullToNodeFull(\n internal: InternalNodeFull\n): NodeFull {\n return {\n ...internalNodeToNode(internal),\n parent: internal.parent ? internalNodeToNode(internal.parent) : null,\n children: internal.children.map(internalNodeToNode),\n history: internal.history.map(f => internalFileToFile(f)),\n current: internal.current ? internalFileToFile(internal.current) : undefined\n };\n}\n\nexport async function gqlNodeToExternalNodeFull(\n gql: GQLNodeFull,\n keyPair: KeyPair\n): Promise<NodeFull> {\n return internalNodeFullToNodeFull(\n await gqlNodeFullToInternalFull(gql, keyPair)\n );\n}\n\nexport async function gqlNodeToExternal(\n gql: GQLNode,\n keyPair: KeyPair\n): Promise<Node> {\n return internalNodeToNode(await gqlNodeToInternal(gql, keyPair));\n}\n"]}
@@ -1,18 +0,0 @@
1
- import { KeyPair } from '../../crypto/index.js';
2
- import { GQLNode, InternalNode, GQLNodeFull, InternalNodeFull, Node, NodeFull } from '../types/index.js';
3
- import '../../zeus/index.js';
4
- import '../../zeus/const.js';
5
- import '../types/selectors.js';
6
- import '../types/File.js';
7
- import '../types/UserAppSettings.js';
8
- import '../types/UserAppNotifications.js';
9
- import '../types/Inputs.js';
10
-
11
- declare function gqlNodeToInternal(gql: GQLNode, keyPair: KeyPair): Promise<InternalNode>;
12
- declare function gqlNodeFullToInternalFull(gql: GQLNodeFull, keyPair: KeyPair): Promise<InternalNodeFull>;
13
- declare function internalNodeToNode(internal: InternalNode): Node;
14
- declare function internalNodeFullToNodeFull(internal: InternalNodeFull): NodeFull;
15
- declare function gqlNodeToExternalNodeFull(gql: GQLNodeFull, keyPair: KeyPair): Promise<NodeFull>;
16
- declare function gqlNodeToExternal(gql: GQLNode, keyPair: KeyPair): Promise<Node>;
17
-
18
- export { gqlNodeFullToInternalFull, gqlNodeToExternal, gqlNodeToExternalNodeFull, gqlNodeToInternal, internalNodeFullToNodeFull, internalNodeToNode };
@@ -1,2 +0,0 @@
1
- import{a as s,b as i,h as d}from"../../chunk-UPFDSEKI.js";import{sodium as a}from"../../sodium.js";import{decryptCryptoBox as l}from"../../crypto/index.js";import{nodesCache as F}from"../../cache.js";import{decryptSecretstream as y}from"../../crypto/file.js";import{gqlFileToInternal as f,internalFileToFile as N}from"./file.js";function c(e,r){return d(this,null,function*(){var o,m;if(!e.access)throw`Can't access Node ${e.id}`;const t={id:e.id,type:e.type,access:e.access,name:e.name,isFavorite:e.isFavorite,breadcrumb:e.breadcrumb,createdBy:e.createdBy.user,sizes:{size:BigInt(e.sizes.size),sizeBefore:BigInt(e.sizes.sizeBefore)},createdAt:new Date(e.createdAt),updatedAt:new Date(e.updatedAt),deletedAt:e.deletedAt?new Date(e.deletedAt):null,users:e.accesses.map(n=>[n.userApp.user,n.rights]),parentId:(o=e.parentId)!=null?o:null,currentFileId:(m=e.currentFileId)!=null?m:null};if(t.access=s({},e.access),e.access.nameKey){if(!e.access.sharedBy.keyPair)throw new Error("Can't find keyPair for access");const n=l(a.from_hex(e.access.nameKey),e.createdBy.user.publicKey,r.privateKey);t.name=a.to_string(yield y(n,a.from_hex(t.name))),t.access.nameKey=a.to_hex(n)}for(const n of t.breadcrumb){if(!n.nameKey)continue;const p=l(a.from_hex(n.nameKey),n.pubKey,r.privateKey);n.nameKey=a.to_hex(p),n.name=a.to_string(yield y(p,a.from_hex(n.name)))}return F.set(t.id,t),t})}function h(e,r){return d(this,null,function*(){const t=yield c(e,r);return i(s({},t),{current:e.current?f(e.current,r):void 0,parent:e.parent?yield c(e.parent,r):null,children:yield Promise.all(e.children.map(o=>c(o,r))),history:e.history.map(o=>f(o,r))})})}function u(e){var t;const r=i(s({},e),{access:e.access?s({},e.access):void 0});for(const o of r.breadcrumb)delete o.pubKey;return(t=r.access)==null||delete t.nameKey,r}function x(e){return i(s({},u(e)),{parent:e.parent?u(e.parent):null,children:e.children.map(u),history:e.history.map(r=>N(r)),current:e.current?N(e.current):void 0})}function A(e,r){return d(this,null,function*(){return x(yield h(e,r))})}function T(e,r){return d(this,null,function*(){return u(yield c(e,r))})}export{h as gqlNodeFullToInternalFull,T as gqlNodeToExternal,A as gqlNodeToExternalNodeFull,c as gqlNodeToInternal,x as internalNodeFullToNodeFull,u as internalNodeToNode};
2
- //# sourceMappingURL=node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/client/convert/node.ts"],"sourcesContent":["import { sodium } from \"../../sodium.js\";\nimport type { KeyPair } from \"../../crypto/index.js\";\nimport { decryptCryptoBox } from \"../../crypto/index.js\";\nimport type { Node } from \"../types/index.js\";\nimport type {\n GQLNode,\n InternalNode,\n GQLNodeFull,\n InternalNodeFull,\n NodeFull\n} from \"../types/index.js\";\nimport { nodesCache } from \"../../cache.js\";\nimport { decryptSecretstream } from \"../../crypto/file.js\";\nimport { gqlFileToInternal, internalFileToFile } from \"./file.js\";\n\nexport async function gqlNodeToInternal(\n gql: GQLNode,\n keyPair: KeyPair\n): Promise<InternalNode> {\n if (!gql.access) {\n throw `Can't access Node ${gql.id}`;\n }\n\n const internal: InternalNode = {\n id: gql.id,\n type: gql.type,\n access: gql.access,\n name: gql.name,\n isFavorite: gql.isFavorite,\n breadcrumb: gql.breadcrumb,\n createdBy: gql.createdBy.user,\n sizes: {\n size: BigInt(gql.sizes.size as string),\n sizeBefore: BigInt(gql.sizes.sizeBefore as string)\n },\n createdAt: new Date(gql.createdAt as string),\n updatedAt: new Date(gql.updatedAt as string),\n deletedAt: gql.deletedAt ? new Date(gql.deletedAt as string) : null,\n users: gql.accesses.map(u => [u.userApp.user, u.rights]),\n parentId: gql.parentId ?? null,\n currentFileId: gql.currentFileId ?? null\n };\n\n internal.access = { ...gql.access };\n\n if (gql.access.nameKey) {\n if (!gql.access.sharedBy.keyPair) {\n throw new Error(`Can't find keyPair for access`);\n }\n const key = decryptCryptoBox(\n sodium.from_hex(gql.access.nameKey),\n gql.createdBy.user.publicKey,\n keyPair.privateKey\n );\n internal.name = sodium.to_string(\n await decryptSecretstream(key, sodium.from_hex(internal.name))\n );\n\n internal.access.nameKey = sodium.to_hex(key);\n }\n\n for (const b of internal.breadcrumb) {\n if (!b.nameKey) {\n continue;\n }\n const key = decryptCryptoBox(\n sodium.from_hex(b.nameKey),\n b.pubKey,\n keyPair.privateKey\n );\n\n b.nameKey = sodium.to_hex(key);\n\n b.name = sodium.to_string(\n await decryptSecretstream(key, sodium.from_hex(b.name))\n );\n }\n\n nodesCache.set(internal.id, internal);\n return internal;\n}\n\nexport async function gqlNodeFullToInternalFull(\n gql: GQLNodeFull,\n keyPair: KeyPair\n): Promise<InternalNodeFull> {\n const f = await gqlNodeToInternal(gql, keyPair);\n return {\n ...f,\n current: gql.current ? gqlFileToInternal(gql.current, keyPair) : undefined,\n parent: gql.parent ? await gqlNodeToInternal(gql.parent, keyPair) : null,\n children: await Promise.all(\n gql.children.map(s => gqlNodeToInternal(s, keyPair))\n ),\n history: gql.history.map(f => gqlFileToInternal(f, keyPair))\n };\n}\n\nexport function internalNodeToNode(internal: InternalNode): Node {\n const node: Node = {\n ...internal,\n access: internal.access ? { ...internal.access } : undefined\n };\n\n for (const b of node.breadcrumb) {\n // @ts-ignore\n delete b.pubKey;\n }\n // @ts-ignore\n delete node.access?.nameKey;\n return node;\n}\n\nexport function internalNodeFullToNodeFull(\n internal: InternalNodeFull\n): NodeFull {\n return {\n ...internalNodeToNode(internal),\n parent: internal.parent ? internalNodeToNode(internal.parent) : null,\n children: internal.children.map(internalNodeToNode),\n history: internal.history.map(f => internalFileToFile(f)),\n current: internal.current ? internalFileToFile(internal.current) : undefined\n };\n}\n\nexport async function gqlNodeToExternalNodeFull(\n gql: GQLNodeFull,\n keyPair: KeyPair\n): Promise<NodeFull> {\n return internalNodeFullToNodeFull(\n await gqlNodeFullToInternalFull(gql, keyPair)\n );\n}\n\nexport async function gqlNodeToExternal(\n gql: GQLNode,\n keyPair: KeyPair\n): Promise<Node> {\n return internalNodeToNode(await gqlNodeToInternal(gql, keyPair));\n}\n"],"mappings":"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","names":["sodium","decryptCryptoBox","nodesCache","decryptSecretstream","gqlFileToInternal","internalFileToFile","gqlNodeToInternal","gql","keyPair","__async","_a","_b","internal","u","__spreadValues","key","b","gqlNodeFullToInternalFull","f","__spreadProps","s","internalNodeToNode","node","internalNodeFullToNodeFull","gqlNodeToExternalNodeFull","gqlNodeToExternal"]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-XDPEU3HV.cjs');var _indexjs = require('./index.js');var _PopupToolsjs = require('../PopupTools.js');var _storagejs = require('./storage.js');function g(){if(!window.location.hash)return null;const n=window.location.hash.substr(1);try{const t=JSON.parse(atob(n));return window.location.hash="",t}catch(t){return null}}const x=({env:n,hash:t,path:e})=>{let a="";n==="dev"&&(a="dev.");const r=document.documentElement.lang;return process.env.NEXT_PUBLIC_SECRECY_API_URL?`http://localhost:3002${r?`/${r}`:""}${e.startsWith("/")?e:`/${e}`}#${t}`:`https://auth.${a}secrecy.me${r?`/${r}`:""}${e.startsWith("/")?e:`/${e}`}#${t}`};function A(n,t){const e=_storagejs.getStorage.call(void 0, t),a=e.userAppSession.load(),r=e.userAppKeys.load(),i=e.jwt.load();if(!a||!r||!i){const o=g();return o?(e.userAppKeys.save(o.keys),e.userAppSession.save(o.uaSession),e.jwt.save(o.jwt),new (0, _indexjs.SecrecyClient)(o.uaSession,o.keys,o.jwt,n)):null}return new (0, _indexjs.SecrecyClient)(a,r,i,n)}function b({appCode:n,path:t,redirect:e,scopes:a,backPath:r,env:i,session:o}={}){return new Promise((l,p)=>{const d=window.location.origin;if(n&&!d.includes("localhost"))return p("Can't use appCode if not in localhost");const y=A(i);if(y)return l(y);{const m={appUrl:d,appCode:n,redirect:e,path:t,scopes:a,backPath:r},v=btoa(JSON.stringify(m)).replaceAll("=",""),S=x({env:i,hash:v,path:"login"}),f=s=>{const c=_storagejs.getStorage.call(void 0, o);return c.userAppSession.save(s.uaSession),c.userAppKeys.save(s.keys),c.jwt.save(s.jwt),l(new (0, _indexjs.SecrecyClient)(s.uaSession,s.keys,s.jwt,i))};if(e){const s=g();return s?f(s):(window.location.href=S,l(null))}else _PopupToolsjs.popup.call(void 0, S,"Secrecy Login",{width:500},(s,c)=>{if(s)return p(s);{const h=c;if(h)return f(h)}})}})}exports.getSecrecyClient = A; exports.getUrl = x; exports.login = b; exports.parseInfos = g;
2
- //# sourceMappingURL=helpers.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/client/helpers.ts"],"names":["SecrecyClient","popup","getStorage","parseInfos","hash","res","e","getUrl","env","path","envStr","lang","getSecrecyClient","session","storage","uaSession","uaKeys","uaJwt","infos","login","appCode","redirect","scopes","backPath","resolve","reject","appUrl","client","data","url","validate","err"],"mappings":"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","sourcesContent":["import { SecrecyClient } from \"./index.js\";\nimport { popup } from \"../PopupTools.js\";\nimport type { SecrecyUserApp } from \"./types/index.js\";\nimport { getStorage } from \"./storage.js\";\n\nexport function parseInfos(): SecrecyUserApp | null {\n if (!window.location.hash) {\n return null;\n }\n const hash = window.location.hash.substr(1);\n try {\n const res = JSON.parse(atob(hash));\n window.location.hash = \"\";\n // TODO Add object content validation\n return res;\n } catch {\n return null;\n }\n}\n\nexport const getUrl = ({\n env,\n hash,\n path\n}: {\n env: string;\n hash: string;\n path: string;\n}): string => {\n let envStr = \"\";\n if (env === \"dev\") {\n envStr = \"dev.\";\n }\n const lang = document.documentElement.lang;\n return process.env.NEXT_PUBLIC_SECRECY_API_URL\n ? `http://localhost:3002${lang ? `/${lang}` : \"\"}${\n path.startsWith(\"/\") ? path : `/${path}`\n }#${hash}`\n : `https://auth.${envStr}secrecy.me${lang ? `/${lang}` : \"\"}${\n path.startsWith(\"/\") ? path : `/${path}`\n }#${hash}`;\n};\n\nexport type HashInfos = {\n appUrl: string;\n backPath?: string;\n appCode?: string | null | undefined;\n path?: string | null | undefined;\n redirect?: boolean;\n scopes?: {\n email: boolean;\n };\n};\nexport type SecrecyEnv = \"dev\" | \"prod\";\nexport type UseSecrecyParams = Omit<HashInfos, \"appUrl\"> & {\n env: SecrecyEnv;\n session?: boolean | undefined;\n};\n\nexport type Value<T extends UseSecrecyParams> = T extends { redirect: true }\n ? SecrecyClient | null\n : SecrecyClient;\n\nexport function getSecrecyClient(\n env: SecrecyEnv,\n session?: boolean | undefined\n): SecrecyClient | null {\n const storage = getStorage(session);\n const uaSession = storage.userAppSession.load();\n const uaKeys = storage.userAppKeys.load();\n const uaJwt = storage.jwt.load();\n if (!uaSession || !uaKeys || !uaJwt) {\n const infos = parseInfos();\n if (infos) {\n storage.userAppKeys.save(infos.keys);\n storage.userAppSession.save(infos.uaSession);\n storage.jwt.save(infos.jwt);\n return new SecrecyClient(infos.uaSession, infos.keys, infos.jwt, env);\n }\n return null;\n }\n\n return new SecrecyClient(uaSession, uaKeys, uaJwt, env);\n}\n\nexport function login<T extends UseSecrecyParams>(\n { appCode, path, redirect, scopes, backPath, env, session }: T = {} as T\n): Promise<Value<T>> {\n return new Promise((resolve, reject) => {\n const appUrl = window.location.origin;\n if (appCode && !appUrl.includes(\"localhost\")) {\n return reject(\"Can't use appCode if not in localhost\");\n }\n const client = getSecrecyClient(env);\n\n if (!client) {\n const infos: HashInfos = {\n appUrl,\n appCode,\n redirect,\n path,\n scopes,\n backPath\n };\n const data = btoa(JSON.stringify(infos)).replaceAll(\"=\", \"\");\n\n const url = getUrl({\n env,\n hash: data,\n path: \"login\"\n });\n\n const validate = (infos: SecrecyUserApp): void => {\n const storage = getStorage(session);\n storage.userAppSession.save(infos.uaSession);\n storage.userAppKeys.save(infos.keys);\n storage.jwt.save(infos.jwt);\n return resolve(\n new SecrecyClient(\n infos.uaSession,\n infos.keys,\n infos.jwt,\n env\n ) as Value<T>\n );\n };\n\n if (redirect) {\n const infos = parseInfos();\n if (infos) {\n return validate(infos);\n } else {\n window.location.href = url;\n return resolve(null as Value<T>);\n }\n } else {\n popup(\n url,\n \"Secrecy Login\",\n {\n width: 500\n },\n (err, data) => {\n if (err) {\n return reject(err);\n } else {\n const infos = data as SecrecyUserApp;\n if (infos) {\n return validate(infos);\n }\n }\n }\n );\n }\n } else {\n return resolve(client as Value<T>);\n }\n });\n}\n"]}
@@ -1,16 +0,0 @@
1
- export { H as HashInfos, f as SecrecyEnv, h as UseSecrecyParams, V as Value, i as getSecrecyClient, g as getUrl, l as login, p as parseInfos } from '../BaseClient-e5e97df7.js';
2
- import './types/index.js';
3
- import 'ky';
4
- import '../zeus/index.js';
5
- import '../zeus/const.js';
6
- import '../error.js';
7
- import '../crypto/file.js';
8
- import '../crypto/index.js';
9
- import './types/File.js';
10
- import './types/selectors.js';
11
- import './types/UserAppSettings.js';
12
- import './types/UserAppNotifications.js';
13
- import 'jsonwebtoken';
14
- import 'bson';
15
- import 'ethers';
16
- import './types/Inputs.js';
@@ -1,2 +0,0 @@
1
- import"../chunk-UPFDSEKI.js";import{SecrecyClient as u}from"./index.js";import{popup as U}from"../PopupTools.js";import{getStorage as w}from"./storage.js";function g(){if(!window.location.hash)return null;const n=window.location.hash.substr(1);try{const t=JSON.parse(atob(n));return window.location.hash="",t}catch(t){return null}}const x=({env:n,hash:t,path:e})=>{let a="";n==="dev"&&(a="dev.");const r=document.documentElement.lang;return process.env.NEXT_PUBLIC_SECRECY_API_URL?`http://localhost:3002${r?`/${r}`:""}${e.startsWith("/")?e:`/${e}`}#${t}`:`https://auth.${a}secrecy.me${r?`/${r}`:""}${e.startsWith("/")?e:`/${e}`}#${t}`};function A(n,t){const e=w(t),a=e.userAppSession.load(),r=e.userAppKeys.load(),i=e.jwt.load();if(!a||!r||!i){const o=g();return o?(e.userAppKeys.save(o.keys),e.userAppSession.save(o.uaSession),e.jwt.save(o.jwt),new u(o.uaSession,o.keys,o.jwt,n)):null}return new u(a,r,i,n)}function b({appCode:n,path:t,redirect:e,scopes:a,backPath:r,env:i,session:o}={}){return new Promise((l,p)=>{const d=window.location.origin;if(n&&!d.includes("localhost"))return p("Can't use appCode if not in localhost");const y=A(i);if(y)return l(y);{const m={appUrl:d,appCode:n,redirect:e,path:t,scopes:a,backPath:r},v=btoa(JSON.stringify(m)).replaceAll("=",""),S=x({env:i,hash:v,path:"login"}),f=s=>{const c=w(o);return c.userAppSession.save(s.uaSession),c.userAppKeys.save(s.keys),c.jwt.save(s.jwt),l(new u(s.uaSession,s.keys,s.jwt,i))};if(e){const s=g();return s?f(s):(window.location.href=S,l(null))}else U(S,"Secrecy Login",{width:500},(s,c)=>{if(s)return p(s);{const h=c;if(h)return f(h)}})}})}export{A as getSecrecyClient,x as getUrl,b as login,g as parseInfos};
2
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/client/helpers.ts"],"sourcesContent":["import { SecrecyClient } from \"./index.js\";\nimport { popup } from \"../PopupTools.js\";\nimport type { SecrecyUserApp } from \"./types/index.js\";\nimport { getStorage } from \"./storage.js\";\n\nexport function parseInfos(): SecrecyUserApp | null {\n if (!window.location.hash) {\n return null;\n }\n const hash = window.location.hash.substr(1);\n try {\n const res = JSON.parse(atob(hash));\n window.location.hash = \"\";\n // TODO Add object content validation\n return res;\n } catch {\n return null;\n }\n}\n\nexport const getUrl = ({\n env,\n hash,\n path\n}: {\n env: string;\n hash: string;\n path: string;\n}): string => {\n let envStr = \"\";\n if (env === \"dev\") {\n envStr = \"dev.\";\n }\n const lang = document.documentElement.lang;\n return process.env.NEXT_PUBLIC_SECRECY_API_URL\n ? `http://localhost:3002${lang ? `/${lang}` : \"\"}${\n path.startsWith(\"/\") ? path : `/${path}`\n }#${hash}`\n : `https://auth.${envStr}secrecy.me${lang ? `/${lang}` : \"\"}${\n path.startsWith(\"/\") ? path : `/${path}`\n }#${hash}`;\n};\n\nexport type HashInfos = {\n appUrl: string;\n backPath?: string;\n appCode?: string | null | undefined;\n path?: string | null | undefined;\n redirect?: boolean;\n scopes?: {\n email: boolean;\n };\n};\nexport type SecrecyEnv = \"dev\" | \"prod\";\nexport type UseSecrecyParams = Omit<HashInfos, \"appUrl\"> & {\n env: SecrecyEnv;\n session?: boolean | undefined;\n};\n\nexport type Value<T extends UseSecrecyParams> = T extends { redirect: true }\n ? SecrecyClient | null\n : SecrecyClient;\n\nexport function getSecrecyClient(\n env: SecrecyEnv,\n session?: boolean | undefined\n): SecrecyClient | null {\n const storage = getStorage(session);\n const uaSession = storage.userAppSession.load();\n const uaKeys = storage.userAppKeys.load();\n const uaJwt = storage.jwt.load();\n if (!uaSession || !uaKeys || !uaJwt) {\n const infos = parseInfos();\n if (infos) {\n storage.userAppKeys.save(infos.keys);\n storage.userAppSession.save(infos.uaSession);\n storage.jwt.save(infos.jwt);\n return new SecrecyClient(infos.uaSession, infos.keys, infos.jwt, env);\n }\n return null;\n }\n\n return new SecrecyClient(uaSession, uaKeys, uaJwt, env);\n}\n\nexport function login<T extends UseSecrecyParams>(\n { appCode, path, redirect, scopes, backPath, env, session }: T = {} as T\n): Promise<Value<T>> {\n return new Promise((resolve, reject) => {\n const appUrl = window.location.origin;\n if (appCode && !appUrl.includes(\"localhost\")) {\n return reject(\"Can't use appCode if not in localhost\");\n }\n const client = getSecrecyClient(env);\n\n if (!client) {\n const infos: HashInfos = {\n appUrl,\n appCode,\n redirect,\n path,\n scopes,\n backPath\n };\n const data = btoa(JSON.stringify(infos)).replaceAll(\"=\", \"\");\n\n const url = getUrl({\n env,\n hash: data,\n path: \"login\"\n });\n\n const validate = (infos: SecrecyUserApp): void => {\n const storage = getStorage(session);\n storage.userAppSession.save(infos.uaSession);\n storage.userAppKeys.save(infos.keys);\n storage.jwt.save(infos.jwt);\n return resolve(\n new SecrecyClient(\n infos.uaSession,\n infos.keys,\n infos.jwt,\n env\n ) as Value<T>\n );\n };\n\n if (redirect) {\n const infos = parseInfos();\n if (infos) {\n return validate(infos);\n } else {\n window.location.href = url;\n return resolve(null as Value<T>);\n }\n } else {\n popup(\n url,\n \"Secrecy Login\",\n {\n width: 500\n },\n (err, data) => {\n if (err) {\n return reject(err);\n } else {\n const infos = data as SecrecyUserApp;\n if (infos) {\n return validate(infos);\n }\n }\n }\n );\n }\n } else {\n return resolve(client as Value<T>);\n }\n });\n}\n"],"mappings":"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","names":["SecrecyClient","popup","getStorage","parseInfos","hash","res","e","getUrl","env","path","envStr","lang","getSecrecyClient","session","storage","uaSession","uaKeys","uaJwt","infos","login","appCode","redirect","scopes","backPath","resolve","reject","appUrl","client","data","url","validate","err"]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXDPEU3HVcjs = require('../chunk-XDPEU3HV.cjs');var e;var _BaseClientjs = require('../BaseClient.js');var _filejs = require('../crypto/file.js');var _sodiumjs = require('../sodium.js');var _SecrecyCloudClientjs = require('./SecrecyCloudClient.js');var _SecrecyMailClientjs = require('./SecrecyMailClient.js');var _SecrecyAppClientjs = require('./SecrecyAppClient.js');var _cachejs = require('../cache.js');var _SecrecyDbClientjs = require('./SecrecyDbClient.js');var _SecrecyWalletClientjs = require('./SecrecyWalletClient.js');var _SecrecyPayClientjs = require('./SecrecyPayClient.js');const I=(h,c)=>_chunkXDPEU3HVcjs.h.call(void 0, void 0,null,function*(){const{data:i}=yield _filejs.encryptSecretstream.call(void 0, _sodiumjs.sodium.from_hex(c),_sodiumjs.sodium.from_string(h));return _sodiumjs.sodium.to_hex(i)}),o=class extends _BaseClientjs.BaseClient{constructor(i,l,d,u){super(i,u);_chunkXDPEU3HVcjs.e.call(void 0, this,e,void 0);_chunkXDPEU3HVcjs.c.call(void 0, this,"cloud");_chunkXDPEU3HVcjs.c.call(void 0, this,"mail");_chunkXDPEU3HVcjs.c.call(void 0, this,"app");_chunkXDPEU3HVcjs.c.call(void 0, this,"db");_chunkXDPEU3HVcjs.c.call(void 0, this,"wallet");_chunkXDPEU3HVcjs.c.call(void 0, this,"pay");_chunkXDPEU3HVcjs.f.call(void 0, this,e,l),this.cloud=new (0, _SecrecyCloudClientjs.SecrecyCloudClient)(this,_chunkXDPEU3HVcjs.d.call(void 0, this,e),this.thunder),this.mail=new (0, _SecrecyMailClientjs.SecrecyMailClient)(this,_chunkXDPEU3HVcjs.d.call(void 0, this,e),this.thunder),this.app=new (0, _SecrecyAppClientjs.SecrecyAppClient)(d,this,_chunkXDPEU3HVcjs.d.call(void 0, this,e),this.thunder),this.db=new (0, _SecrecyDbClientjs.SecrecyDbClient)(this,_chunkXDPEU3HVcjs.d.call(void 0, this,e),this.thunder),this.wallet=new (0, _SecrecyWalletClientjs.SecrecyWalletClient)(this),this.pay=new (0, _SecrecyPayClientjs.SecrecyPayClient)(this,_chunkXDPEU3HVcjs.d.call(void 0, this,e),this.thunder)}get publicKey(){return _chunkXDPEU3HVcjs.d.call(void 0, this,e).publicKey}logout(i){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){_cachejs.nodesCache.clear(),_cachejs.filesCache.clear(),yield _chunkXDPEU3HVcjs.g.call(void 0, o.prototype,this,"logout").call(this,i)})}};let y=o;e=new WeakMap;exports.SecrecyClient = y; exports.encryptName = I;
2
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/client/index.ts"],"names":["_keys","BaseClient","encryptSecretstream","sodium","SecrecyCloudClient","SecrecyMailClient","SecrecyAppClient","nodesCache","filesCache","SecrecyDbClient","SecrecyWalletClient","SecrecyPayClient","encryptName","name","nameKey","__async","data","_SecrecyClient","uaSession","uaKeys","uaJwt","env","__privateAdd","__publicField","__privateSet","__privateGet","sessionId","__superGet","SecrecyClient"],"mappings":"6EAAA,IAAAA,EACA,OAAS,cAAAC,MAAkB,mBAE3B,OAAS,uBAAAC,MAA2B,oBACpC,OAAS,UAAAC,MAAc,eAGvB,OAAS,sBAAAC,MAA0B,0BACnC,OAAS,qBAAAC,MAAyB,yBAClC,OAAS,oBAAAC,MAAwB,wBACjC,OAAS,cAAAC,EAAY,cAAAC,MAAkB,cACvC,OAAS,mBAAAC,MAAuB,uBAChC,OAAS,uBAAAC,MAA2B,2BACpC,OAAS,oBAAAC,MAAwB,wBAW1B,MAAMC,EAAc,CACzBC,EACAC,IACoBC,EAAA,wBACpB,KAAM,CAAE,KAAAC,CAAK,EAAI,MAAMd,EACrBC,EAAO,SAASW,CAAO,EACvBX,EAAO,YAAYU,CAAI,CACzB,EAEA,OADsBV,EAAO,OAAOa,CAAI,CAE1C,GAEaC,EAAN,cAA4BhB,CAAW,CAe5C,YACEiB,EACAC,EACAC,EACAC,EACA,CACA,MAAMH,EAAWG,CAAG,EApBtBC,EAAA,KAAAtB,EAAA,QAEAuB,EAAA,cAEAA,EAAA,aAEAA,EAAA,YAEAA,EAAA,WAEAA,EAAA,eAEAA,EAAA,YASEC,EAAA,KAAKxB,EAAQmB,GACb,KAAK,MAAQ,IAAIf,EAAmB,KAAMqB,EAAA,KAAKzB,GAAO,KAAK,OAAO,EAClE,KAAK,KAAO,IAAIK,EAAkB,KAAMoB,EAAA,KAAKzB,GAAO,KAAK,OAAO,EAChE,KAAK,IAAM,IAAIM,EAAiBc,EAAO,KAAMK,EAAA,KAAKzB,GAAO,KAAK,OAAO,EACrE,KAAK,GAAK,IAAIS,EAAgB,KAAMgB,EAAA,KAAKzB,GAAO,KAAK,OAAO,EAC5D,KAAK,OAAS,IAAIU,EAAoB,IAAI,EAC1C,KAAK,IAAM,IAAIC,EAAiB,KAAMc,EAAA,KAAKzB,GAAO,KAAK,OAAO,CAChE,CAEA,IAAI,WAAoB,CACtB,OAAOyB,EAAA,KAAKzB,GAAM,SACpB,CAEM,OAAO0B,EAAsD,QAAAX,EAAA,sBACjER,EAAW,MAAM,EACjBC,EAAW,MAAM,EACjB,MAAMmB,EAAAV,EAAA,eAAM,eAAN,KAAaS,CAAS,CAC9B,GACF,EAxCO,IAAME,EAANX,EACLjB,EAAA","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { BaseClient } from \"../BaseClient.js\";\nimport type { Progress } from \"../crypto/file.js\";\nimport { encryptSecretstream } from \"../crypto/file.js\";\nimport { sodium } from \"../sodium.js\";\nimport type { KeyPair } from \"../crypto/index.js\";\nimport type { SecrecyEnv } from \"./helpers.js\";\nimport { SecrecyCloudClient } from \"./SecrecyCloudClient.js\";\nimport { SecrecyMailClient } from \"./SecrecyMailClient.js\";\nimport { SecrecyAppClient } from \"./SecrecyAppClient.js\";\nimport { nodesCache, filesCache } from \"../cache.js\";\nimport { SecrecyDbClient } from \"./SecrecyDbClient.js\";\nimport { SecrecyWalletClient } from \"./SecrecyWalletClient.js\";\nimport { SecrecyPayClient } from \"./SecrecyPayClient.js\";\n\nexport type NewMail = {\n body: string;\n subject: string;\n files: { id: string; name: string }[];\n recipientsIds: string[];\n replyTo?: string | null | undefined;\n};\nexport type ProgressCallback = (progress: Progress) => Promise<void>;\n\nexport const encryptName = async (\n name: string,\n nameKey: string\n): Promise<string> => {\n const { data } = await encryptSecretstream(\n sodium.from_hex(nameKey),\n sodium.from_string(name)\n );\n const nameEncrypted = sodium.to_hex(data);\n return nameEncrypted;\n};\n\nexport class SecrecyClient extends BaseClient {\n #keys: KeyPair;\n\n cloud: SecrecyCloudClient;\n\n mail: SecrecyMailClient;\n\n app: SecrecyAppClient;\n\n db: SecrecyDbClient;\n\n wallet: SecrecyWalletClient;\n\n pay: SecrecyPayClient;\n\n constructor(\n uaSession: string,\n uaKeys: KeyPair,\n uaJwt: string,\n env: SecrecyEnv\n ) {\n super(uaSession, env);\n this.#keys = uaKeys;\n this.cloud = new SecrecyCloudClient(this, this.#keys, this.thunder);\n this.mail = new SecrecyMailClient(this, this.#keys, this.thunder);\n this.app = new SecrecyAppClient(uaJwt, this, this.#keys, this.thunder);\n this.db = new SecrecyDbClient(this, this.#keys, this.thunder);\n this.wallet = new SecrecyWalletClient(this);\n this.pay = new SecrecyPayClient(this, this.#keys, this.thunder);\n }\n\n get publicKey(): string {\n return this.#keys.publicKey;\n }\n\n async logout(sessionId?: string | null | undefined): Promise<void> {\n nodesCache.clear();\n filesCache.clear();\n await super.logout(sessionId);\n }\n}\n"]}
@@ -1,16 +0,0 @@
1
- export { N as NewMail, P as ProgressCallback, d as SecrecyClient, e as encryptName } from '../BaseClient-e5e97df7.js';
2
- import '../crypto/file.js';
3
- import '../crypto/index.js';
4
- import 'ky';
5
- import '../zeus/index.js';
6
- import '../zeus/const.js';
7
- import '../error.js';
8
- import './types/File.js';
9
- import './types/selectors.js';
10
- import './types/index.js';
11
- import './types/UserAppSettings.js';
12
- import './types/UserAppNotifications.js';
13
- import './types/Inputs.js';
14
- import 'jsonwebtoken';
15
- import 'bson';
16
- import 'ethers';
@@ -1,2 +0,0 @@
1
- import{c as t,d as r,e as p,f as a,g as m,h as s}from"../chunk-UPFDSEKI.js";var e;import{BaseClient as g}from"../BaseClient.js";import{encryptSecretstream as f}from"../crypto/file.js";import{sodium as n}from"../sodium.js";import{SecrecyCloudClient as C}from"./SecrecyCloudClient.js";import{SecrecyMailClient as S}from"./SecrecyMailClient.js";import{SecrecyAppClient as w}from"./SecrecyAppClient.js";import{nodesCache as P,filesCache as b}from"../cache.js";import{SecrecyDbClient as x}from"./SecrecyDbClient.js";import{SecrecyWalletClient as K}from"./SecrecyWalletClient.js";import{SecrecyPayClient as j}from"./SecrecyPayClient.js";const I=(h,c)=>s(void 0,null,function*(){const{data:i}=yield f(n.from_hex(c),n.from_string(h));return n.to_hex(i)}),o=class extends g{constructor(i,l,d,u){super(i,u);p(this,e,void 0);t(this,"cloud");t(this,"mail");t(this,"app");t(this,"db");t(this,"wallet");t(this,"pay");a(this,e,l),this.cloud=new C(this,r(this,e),this.thunder),this.mail=new S(this,r(this,e),this.thunder),this.app=new w(d,this,r(this,e),this.thunder),this.db=new x(this,r(this,e),this.thunder),this.wallet=new K(this),this.pay=new j(this,r(this,e),this.thunder)}get publicKey(){return r(this,e).publicKey}logout(i){return s(this,null,function*(){P.clear(),b.clear(),yield m(o.prototype,this,"logout").call(this,i)})}};let y=o;e=new WeakMap;export{y as SecrecyClient,I as encryptName};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/client/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { BaseClient } from \"../BaseClient.js\";\nimport type { Progress } from \"../crypto/file.js\";\nimport { encryptSecretstream } from \"../crypto/file.js\";\nimport { sodium } from \"../sodium.js\";\nimport type { KeyPair } from \"../crypto/index.js\";\nimport type { SecrecyEnv } from \"./helpers.js\";\nimport { SecrecyCloudClient } from \"./SecrecyCloudClient.js\";\nimport { SecrecyMailClient } from \"./SecrecyMailClient.js\";\nimport { SecrecyAppClient } from \"./SecrecyAppClient.js\";\nimport { nodesCache, filesCache } from \"../cache.js\";\nimport { SecrecyDbClient } from \"./SecrecyDbClient.js\";\nimport { SecrecyWalletClient } from \"./SecrecyWalletClient.js\";\nimport { SecrecyPayClient } from \"./SecrecyPayClient.js\";\n\nexport type NewMail = {\n body: string;\n subject: string;\n files: { id: string; name: string }[];\n recipientsIds: string[];\n replyTo?: string | null | undefined;\n};\nexport type ProgressCallback = (progress: Progress) => Promise<void>;\n\nexport const encryptName = async (\n name: string,\n nameKey: string\n): Promise<string> => {\n const { data } = await encryptSecretstream(\n sodium.from_hex(nameKey),\n sodium.from_string(name)\n );\n const nameEncrypted = sodium.to_hex(data);\n return nameEncrypted;\n};\n\nexport class SecrecyClient extends BaseClient {\n #keys: KeyPair;\n\n cloud: SecrecyCloudClient;\n\n mail: SecrecyMailClient;\n\n app: SecrecyAppClient;\n\n db: SecrecyDbClient;\n\n wallet: SecrecyWalletClient;\n\n pay: SecrecyPayClient;\n\n constructor(\n uaSession: string,\n uaKeys: KeyPair,\n uaJwt: string,\n env: SecrecyEnv\n ) {\n super(uaSession, env);\n this.#keys = uaKeys;\n this.cloud = new SecrecyCloudClient(this, this.#keys, this.thunder);\n this.mail = new SecrecyMailClient(this, this.#keys, this.thunder);\n this.app = new SecrecyAppClient(uaJwt, this, this.#keys, this.thunder);\n this.db = new SecrecyDbClient(this, this.#keys, this.thunder);\n this.wallet = new SecrecyWalletClient(this);\n this.pay = new SecrecyPayClient(this, this.#keys, this.thunder);\n }\n\n get publicKey(): string {\n return this.#keys.publicKey;\n }\n\n async logout(sessionId?: string | null | undefined): Promise<void> {\n nodesCache.clear();\n filesCache.clear();\n await super.logout(sessionId);\n }\n}\n"],"mappings":"4EAAA,IAAAA,EACA,OAAS,cAAAC,MAAkB,mBAE3B,OAAS,uBAAAC,MAA2B,oBACpC,OAAS,UAAAC,MAAc,eAGvB,OAAS,sBAAAC,MAA0B,0BACnC,OAAS,qBAAAC,MAAyB,yBAClC,OAAS,oBAAAC,MAAwB,wBACjC,OAAS,cAAAC,EAAY,cAAAC,MAAkB,cACvC,OAAS,mBAAAC,MAAuB,uBAChC,OAAS,uBAAAC,MAA2B,2BACpC,OAAS,oBAAAC,MAAwB,wBAW1B,MAAMC,EAAc,CACzBC,EACAC,IACoBC,EAAA,wBACpB,KAAM,CAAE,KAAAC,CAAK,EAAI,MAAMd,EACrBC,EAAO,SAASW,CAAO,EACvBX,EAAO,YAAYU,CAAI,CACzB,EAEA,OADsBV,EAAO,OAAOa,CAAI,CAE1C,GAEaC,EAAN,cAA4BhB,CAAW,CAe5C,YACEiB,EACAC,EACAC,EACAC,EACA,CACA,MAAMH,EAAWG,CAAG,EApBtBC,EAAA,KAAAtB,EAAA,QAEAuB,EAAA,cAEAA,EAAA,aAEAA,EAAA,YAEAA,EAAA,WAEAA,EAAA,eAEAA,EAAA,YASEC,EAAA,KAAKxB,EAAQmB,GACb,KAAK,MAAQ,IAAIf,EAAmB,KAAMqB,EAAA,KAAKzB,GAAO,KAAK,OAAO,EAClE,KAAK,KAAO,IAAIK,EAAkB,KAAMoB,EAAA,KAAKzB,GAAO,KAAK,OAAO,EAChE,KAAK,IAAM,IAAIM,EAAiBc,EAAO,KAAMK,EAAA,KAAKzB,GAAO,KAAK,OAAO,EACrE,KAAK,GAAK,IAAIS,EAAgB,KAAMgB,EAAA,KAAKzB,GAAO,KAAK,OAAO,EAC5D,KAAK,OAAS,IAAIU,EAAoB,IAAI,EAC1C,KAAK,IAAM,IAAIC,EAAiB,KAAMc,EAAA,KAAKzB,GAAO,KAAK,OAAO,CAChE,CAEA,IAAI,WAAoB,CACtB,OAAOyB,EAAA,KAAKzB,GAAM,SACpB,CAEM,OAAO0B,EAAsD,QAAAX,EAAA,sBACjER,EAAW,MAAM,EACjBC,EAAW,MAAM,EACjB,MAAMmB,EAAAV,EAAA,eAAM,eAAN,KAAaS,CAAS,CAC9B,GACF,EAxCO,IAAME,EAANX,EACLjB,EAAA","names":["_keys","BaseClient","encryptSecretstream","sodium","SecrecyCloudClient","SecrecyMailClient","SecrecyAppClient","nodesCache","filesCache","SecrecyDbClient","SecrecyWalletClient","SecrecyPayClient","encryptName","name","nameKey","__async","data","_SecrecyClient","uaSession","uaKeys","uaJwt","env","__privateAdd","__publicField","__privateSet","__privateGet","sessionId","__superGet","SecrecyClient"]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-XDPEU3HV.cjs');var _storebuddyjs = require('../utils/store-buddy.js');function i(e){const t=_storebuddyjs.storeBuddy.call(void 0, "secrecy.user_app_session",e).init(null),n=_storebuddyjs.storeBuddy.call(void 0, "secrecy.user_app_keys",e).init(null),s=_storebuddyjs.storeBuddy.call(void 0, "secrecy.jwt",e).init(null);return{userAppKeys:n,userAppSession:t,jwt:s}}exports.getStorage = i;
2
- //# sourceMappingURL=storage.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/client/storage.ts"],"names":["storeBuddy","getStorage","session","userAppSession","userAppKeys","jwt"],"mappings":"8BAEA,OAAS,cAAAA,MAAkB,0BAEpB,SAASC,EAAWC,EAIzB,CACA,MAAMC,EAAiBH,EACrB,2BACAE,CACF,EAAE,KAAK,IAAI,EACLE,EAAcJ,EAClB,wBACAE,CACF,EAAE,KAAK,IAAI,EACLG,EAAML,EAA0B,cAAeE,CAAO,EAAE,KAAK,IAAI,EACvE,MAAO,CAAE,YAAAE,EAAa,eAAAD,EAAgB,IAAAE,CAAI,CAC5C","sourcesContent":["import type { KeyPair } from \"../index.js\";\nimport type { StoreBuddy } from \"../utils/store-buddy.js\";\nimport { storeBuddy } from \"../utils/store-buddy.js\";\n\nexport function getStorage(session?: boolean | undefined): {\n userAppKeys: StoreBuddy<KeyPair | null>;\n userAppSession: StoreBuddy<string | null>;\n jwt: StoreBuddy<string | null>;\n} {\n const userAppSession = storeBuddy<string | null>(\n `secrecy.user_app_session`,\n session\n ).init(null);\n const userAppKeys = storeBuddy<KeyPair | null>(\n `secrecy.user_app_keys`,\n session\n ).init(null);\n const jwt = storeBuddy<string | null>(`secrecy.jwt`, session).init(null);\n return { userAppKeys, userAppSession, jwt };\n}\n"]}
@@ -1,10 +0,0 @@
1
- import { KeyPair } from '../crypto/index.js';
2
- import { StoreBuddy } from '../utils/store-buddy.js';
3
-
4
- declare function getStorage(session?: boolean | undefined): {
5
- userAppKeys: StoreBuddy<KeyPair | null>;
6
- userAppSession: StoreBuddy<string | null>;
7
- jwt: StoreBuddy<string | null>;
8
- };
9
-
10
- export { getStorage };
@@ -1,2 +0,0 @@
1
- import"../chunk-UPFDSEKI.js";import{storeBuddy as r}from"../utils/store-buddy.js";function i(e){const t=r("secrecy.user_app_session",e).init(null),n=r("secrecy.user_app_keys",e).init(null),s=r("secrecy.jwt",e).init(null);return{userAppKeys:n,userAppSession:t,jwt:s}}export{i as getStorage};
2
- //# sourceMappingURL=storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/client/storage.ts"],"sourcesContent":["import type { KeyPair } from \"../index.js\";\nimport type { StoreBuddy } from \"../utils/store-buddy.js\";\nimport { storeBuddy } from \"../utils/store-buddy.js\";\n\nexport function getStorage(session?: boolean | undefined): {\n userAppKeys: StoreBuddy<KeyPair | null>;\n userAppSession: StoreBuddy<string | null>;\n jwt: StoreBuddy<string | null>;\n} {\n const userAppSession = storeBuddy<string | null>(\n `secrecy.user_app_session`,\n session\n ).init(null);\n const userAppKeys = storeBuddy<KeyPair | null>(\n `secrecy.user_app_keys`,\n session\n ).init(null);\n const jwt = storeBuddy<string | null>(`secrecy.jwt`, session).init(null);\n return { userAppKeys, userAppSession, jwt };\n}\n"],"mappings":"6BAEA,OAAS,cAAAA,MAAkB,0BAEpB,SAASC,EAAWC,EAIzB,CACA,MAAMC,EAAiBH,EACrB,2BACAE,CACF,EAAE,KAAK,IAAI,EACLE,EAAcJ,EAClB,wBACAE,CACF,EAAE,KAAK,IAAI,EACLG,EAAML,EAA0B,cAAeE,CAAO,EAAE,KAAK,IAAI,EACvE,MAAO,CAAE,YAAAE,EAAa,eAAAD,EAAgB,IAAAE,CAAI,CAC5C","names":["storeBuddy","getStorage","session","userAppSession","userAppKeys","jwt"]}
@@ -1 +0,0 @@
1
- "use strict";//# sourceMappingURL=File.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,18 +0,0 @@
1
- import { InputType, GraphQLTypes } from '../../zeus/index.js';
2
- import { fileSelector } from './selectors.js';
3
- import '../../zeus/const.js';
4
-
5
- declare type FileMetadata = {
6
- id: string;
7
- size: bigint;
8
- sizeBefore: bigint;
9
- md5: string;
10
- md5Encrypted: string;
11
- createdAt: Date;
12
- };
13
- declare type InternalFile = FileMetadata & {
14
- key: string;
15
- };
16
- declare type GQLFile = InputType<GraphQLTypes["File"], typeof fileSelector>;
17
-
18
- export { FileMetadata, GQLFile, InternalFile };
@@ -1 +0,0 @@
1
- //# sourceMappingURL=File.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +0,0 @@
1
- "use strict";//# sourceMappingURL=Inputs.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,18 +0,0 @@
1
- declare type ShareFileKeyInput = {
2
- id: string;
3
- key: string;
4
- };
5
- declare type NameKeyInput = {
6
- id: string;
7
- nameKey: string;
8
- files: ShareFileKeyInput[];
9
- };
10
- declare type ShareNodesInput = {
11
- nodes: NameKeyInput[];
12
- };
13
- declare type ShareFileInHistoryInput = {
14
- fileId: string;
15
- users: ShareFileKeyInput[];
16
- };
17
-
18
- export { NameKeyInput, ShareFileInHistoryInput, ShareFileKeyInput, ShareNodesInput };
@@ -1 +0,0 @@
1
- //# sourceMappingURL=Inputs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +0,0 @@
1
- "use strict";//# sourceMappingURL=Node.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- import '../../zeus/index.js';
2
- export { GQLNode, GQLNodeFull, InternalNode, InternalNodeBreadcrumbItem, InternalNodeFull, Node, NodeAccess, NodeBreadcrumbItem, NodeFull, NodeSize } from './index.js';
3
- import './selectors.js';
4
- import './File.js';
5
- import '../../zeus/const.js';
6
- import '../../crypto/index.js';
7
- import './UserAppSettings.js';
8
- import './UserAppNotifications.js';
9
- import './Inputs.js';
@@ -1 +0,0 @@
1
- //# sourceMappingURL=Node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +0,0 @@
1
- "use strict";//# sourceMappingURL=UserAppNotifications.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- declare type UserAppNotifications = {
2
- enableAll: boolean;
3
- mail: boolean;
4
- cloud: boolean;
5
- disableAllUntil?: Date;
6
- };
7
-
8
- export { UserAppNotifications };
@@ -1 +0,0 @@
1
- //# sourceMappingURL=UserAppNotifications.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +0,0 @@
1
- "use strict";//# sourceMappingURL=UserAppSettings.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- declare type UserAppSettings = {
2
- cloudNodeDaysForDelete: number;
3
- historyFileDaysForDelete?: number;
4
- historyMaxFileCount: number;
5
- };
6
-
7
- export { UserAppSettings };
@@ -1 +0,0 @@
1
- //# sourceMappingURL=UserAppSettings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); }var _Filejs = require('./File.js'); _createStarExport(_Filejs);var _Nodejs = require('./Node.js'); _createStarExport(_Nodejs);var _UserAppSettingsjs = require('./UserAppSettings.js'); _createStarExport(_UserAppSettingsjs);var _UserAppNotificationsjs = require('./UserAppNotifications.js'); _createStarExport(_UserAppNotificationsjs);var _Inputsjs = require('./Inputs.js'); _createStarExport(_Inputsjs);
2
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/client/types/index.ts"],"names":[],"mappings":"AAGA,WAAc,YACd,WAAc,YACd,WAAc,uBACd,WAAc,4BACd,WAAc","sourcesContent":["import type { KeyPair } from \"../../index.js\";\nimport type { InputType, GraphQLTypes } from \"../../zeus/index.js\";\nimport type { mailSelector, userSelector } from \"./selectors.js\";\nexport * from \"./File.js\";\nexport * from \"./Node.js\";\nexport * from \"./UserAppSettings.js\";\nexport * from \"./UserAppNotifications.js\";\nexport * from \"./Inputs.js\";\n\nexport type SecrecyUserApp = {\n keys: KeyPair;\n jwt: string;\n uaSession: string;\n};\n\nexport interface FileContentPart {\n contentUrl: string;\n order: number;\n md5: string;\n}\n\nexport type FilePartResponse = {\n order: number;\n fields: Record<string, string>;\n url: string;\n};\n\nexport type MailFileInput = { id: string; name: string; fileKey: string };\n\nexport type MailIntegrity = {\n id: string;\n hash: string;\n hashKey: string;\n replyTo?: {\n id: string;\n };\n temporaryRecipients: TemporaryMailUser[];\n recipients: PublicUser[];\n};\n\nexport type MailIntegrityDraft = MailIntegrity & {\n recipients: PublicUser[];\n};\n\nexport type TemporaryMailUser = {\n email?: string;\n};\n\nexport type InternalWaitingReceivedMail = {\n sender: PublicUser;\n date: string;\n attachmentsCount: number;\n recipients: PublicUser[];\n temporaryRecipients: TemporaryMailUser[];\n};\n\nexport type WaitingReceivedMail = {\n id: string;\n sender: PublicUser;\n date: Date;\n attachmentsCount: number;\n recipients: PublicUser[];\n temporaryRecipients: TemporaryMailUser[];\n};\n\nexport type MailFile = {\n fileKey: string;\n filename: string;\n file: {\n id: string;\n };\n};\n\nexport type MailType = \"sent\" | \"received\" | \"draft\";\n\nexport type GQLMail = InputType<GraphQLTypes[\"Mail\"], typeof mailSelector>;\n\nexport type InternalReceivedMail = {\n user: {\n receivedMails: GQLMail[];\n };\n};\n\nexport type BaseMail = {\n type: MailType;\n id: string;\n mailIntegrityId: string;\n replyTo?: string;\n body: string;\n subject: string;\n createdAt: Date;\n deletedAt: Date | null;\n openedAt: Date | null;\n isAltered: boolean;\n recipients: Omit<PublicUser, \"publicKey\">[];\n temporaryRecipients: TemporaryMailUser[];\n files: { id: string; name: string; key: string }[];\n};\n\nexport type PublicUser = InputType<GraphQLTypes[\"User\"], typeof userSelector>;\n\nexport interface ReceivedMail extends BaseMail {\n type: \"received\";\n sender: PublicUser;\n}\n\nexport type InternalSentMail = {\n user: {\n sentMails: GQLMail[];\n };\n};\n\nexport type InternalDraftMails = {\n user: {\n draftMails: GQLMail[];\n };\n};\n\nexport interface SentMail extends BaseMail {\n type: \"sent\";\n}\n\nexport interface DraftMail extends BaseMail {\n type: \"draft\";\n}\n\nexport type Mail = DraftMail | SentMail | ReceivedMail;\n\nexport type MailRecipientInput = {\n body: string;\n subject: string;\n recipientId: string;\n files: MailFileInput[];\n};\n"]}