@opentdf/sdk 0.1.0-beta.1701

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 (566) hide show
  1. package/README.md +52 -0
  2. package/dist/cjs/package.json +3 -0
  3. package/dist/cjs/src/access.js +155 -0
  4. package/dist/cjs/src/auth/Eas.js +60 -0
  5. package/dist/cjs/src/auth/auth.js +79 -0
  6. package/dist/cjs/src/auth/oidc-clientcredentials-provider.js +26 -0
  7. package/dist/cjs/src/auth/oidc-externaljwt-provider.js +33 -0
  8. package/dist/cjs/src/auth/oidc-refreshtoken-provider.js +34 -0
  9. package/dist/cjs/src/auth/oidc.js +222 -0
  10. package/dist/cjs/src/auth/providers.js +143 -0
  11. package/dist/cjs/src/encodings/base64.js +154 -0
  12. package/dist/cjs/src/encodings/hex.js +70 -0
  13. package/dist/cjs/src/encodings/index.js +29 -0
  14. package/dist/cjs/src/errors.js +138 -0
  15. package/dist/cjs/src/index.js +344 -0
  16. package/dist/cjs/src/nanotdf/Client.js +296 -0
  17. package/dist/cjs/src/nanotdf/NanoTDF.js +94 -0
  18. package/dist/cjs/src/nanotdf/browser-entry.js +19 -0
  19. package/dist/cjs/src/nanotdf/constants.js +5 -0
  20. package/dist/cjs/src/nanotdf/decrypt.js +17 -0
  21. package/dist/cjs/src/nanotdf/encrypt-dataset.js +38 -0
  22. package/dist/cjs/src/nanotdf/encrypt.js +132 -0
  23. package/dist/cjs/src/nanotdf/enum/CipherEnum.js +13 -0
  24. package/dist/cjs/src/nanotdf/enum/CurveNameEnum.js +15 -0
  25. package/dist/cjs/src/nanotdf/enum/EncodingEnum.js +8 -0
  26. package/dist/cjs/src/nanotdf/enum/PolicyTypeEnum.js +11 -0
  27. package/dist/cjs/src/nanotdf/enum/ProtocolEnum.js +10 -0
  28. package/dist/cjs/src/nanotdf/enum/ResourceLocatorIdentifierEnum.js +11 -0
  29. package/dist/cjs/src/nanotdf/helpers/calculateByCurve.js +29 -0
  30. package/dist/cjs/src/nanotdf/helpers/getHkdfSalt.js +11 -0
  31. package/dist/cjs/src/nanotdf/index.js +25 -0
  32. package/dist/cjs/src/nanotdf/interfaces/PolicyInterface.js +3 -0
  33. package/dist/cjs/src/nanotdf/models/Ciphers.js +61 -0
  34. package/dist/cjs/src/nanotdf/models/DefaultParams.js +27 -0
  35. package/dist/cjs/src/nanotdf/models/EcCurves.js +39 -0
  36. package/dist/cjs/src/nanotdf/models/Header.js +255 -0
  37. package/dist/cjs/src/nanotdf/models/Payload.js +158 -0
  38. package/dist/cjs/src/nanotdf/models/Policy/AbstractPolicy.js +73 -0
  39. package/dist/cjs/src/nanotdf/models/Policy/EmbeddedPolicy.js +82 -0
  40. package/dist/cjs/src/nanotdf/models/Policy/PolicyFactory.js +38 -0
  41. package/dist/cjs/src/nanotdf/models/Policy/RemotePolicy.js +62 -0
  42. package/dist/cjs/src/nanotdf/models/ResourceLocator.js +211 -0
  43. package/dist/cjs/src/nanotdf/models/Signature.js +77 -0
  44. package/dist/cjs/src/nanotdf-crypto/ciphers.js +17 -0
  45. package/dist/cjs/src/nanotdf-crypto/decrypt.js +24 -0
  46. package/dist/cjs/src/nanotdf-crypto/digest.js +7 -0
  47. package/dist/cjs/src/nanotdf-crypto/ecdsaSignature.js +83 -0
  48. package/dist/cjs/src/nanotdf-crypto/encrypt.js +24 -0
  49. package/dist/cjs/src/nanotdf-crypto/enums.js +52 -0
  50. package/dist/cjs/src/nanotdf-crypto/exportCryptoKey.js +20 -0
  51. package/dist/cjs/src/nanotdf-crypto/generateKeyPair.js +13 -0
  52. package/dist/cjs/src/nanotdf-crypto/generateRandomNumber.js +12 -0
  53. package/dist/cjs/src/nanotdf-crypto/importRawKey.js +18 -0
  54. package/dist/cjs/src/nanotdf-crypto/index.js +52 -0
  55. package/dist/cjs/src/nanotdf-crypto/keyAgreement.js +91 -0
  56. package/dist/cjs/src/nanotdf-crypto/pemPublicToCrypto.js +225 -0
  57. package/dist/cjs/src/policy/api.js +58 -0
  58. package/dist/cjs/src/policy/attributes.js +3 -0
  59. package/dist/cjs/src/policy/granter.js +146 -0
  60. package/dist/cjs/src/tdf/AttributeObject.js +15 -0
  61. package/dist/cjs/src/tdf/AttributeObjectJwt.js +3 -0
  62. package/dist/cjs/src/tdf/Crypto.js +47 -0
  63. package/dist/cjs/src/tdf/EntityObject.js +3 -0
  64. package/dist/cjs/src/tdf/NanoTDF/NanoTDF.js +38 -0
  65. package/dist/cjs/src/tdf/Policy.js +50 -0
  66. package/dist/cjs/src/tdf/PolicyObject.js +3 -0
  67. package/dist/cjs/src/tdf/TypedArray.js +3 -0
  68. package/dist/cjs/src/tdf/index.js +35 -0
  69. package/dist/cjs/src/types/index.js +3 -0
  70. package/dist/cjs/src/utils.js +147 -0
  71. package/dist/cjs/src/version.js +12 -0
  72. package/dist/cjs/tdf3/index.js +57 -0
  73. package/dist/cjs/tdf3/src/assertions.js +118 -0
  74. package/dist/cjs/tdf3/src/binary.js +153 -0
  75. package/dist/cjs/tdf3/src/ciphers/aes-gcm-cipher.js +56 -0
  76. package/dist/cjs/tdf3/src/ciphers/algorithms.js +8 -0
  77. package/dist/cjs/tdf3/src/ciphers/index.js +8 -0
  78. package/dist/cjs/tdf3/src/ciphers/symmetric-cipher-base.js +22 -0
  79. package/dist/cjs/tdf3/src/client/DecoratedReadableStream.js +116 -0
  80. package/dist/cjs/tdf3/src/client/builders.js +561 -0
  81. package/dist/cjs/tdf3/src/client/index.js +460 -0
  82. package/dist/cjs/tdf3/src/client/validation.js +63 -0
  83. package/dist/cjs/tdf3/src/crypto/crypto-utils.js +116 -0
  84. package/dist/cjs/tdf3/src/crypto/declarations.js +8 -0
  85. package/dist/cjs/tdf3/src/crypto/index.js +315 -0
  86. package/dist/cjs/tdf3/src/index.js +34 -0
  87. package/dist/cjs/tdf3/src/models/attribute-set.js +122 -0
  88. package/dist/cjs/tdf3/src/models/encryption-information.js +90 -0
  89. package/dist/cjs/tdf3/src/models/index.js +25 -0
  90. package/dist/cjs/tdf3/src/models/key-access.js +103 -0
  91. package/dist/cjs/tdf3/src/models/manifest.js +3 -0
  92. package/dist/cjs/tdf3/src/models/payload.js +3 -0
  93. package/dist/cjs/tdf3/src/models/policy.js +24 -0
  94. package/dist/cjs/tdf3/src/models/upsert-response.js +3 -0
  95. package/dist/cjs/tdf3/src/tdf.js +907 -0
  96. package/dist/cjs/tdf3/src/templates/default.html.js +98 -0
  97. package/dist/cjs/tdf3/src/templates/escaper.js +15 -0
  98. package/dist/cjs/tdf3/src/templates/index.js +12 -0
  99. package/dist/cjs/tdf3/src/utils/buffer-crc32.js +48 -0
  100. package/dist/cjs/tdf3/src/utils/chunkers.js +106 -0
  101. package/dist/cjs/tdf3/src/utils/index.js +296 -0
  102. package/dist/cjs/tdf3/src/utils/keysplit.js +61 -0
  103. package/dist/cjs/tdf3/src/utils/zip-reader.js +253 -0
  104. package/dist/cjs/tdf3/src/utils/zip-writer.js +308 -0
  105. package/dist/cjs/tdf3/src/version.js +6 -0
  106. package/dist/types/src/access.d.ts +47 -0
  107. package/dist/types/src/access.d.ts.map +1 -0
  108. package/dist/types/src/auth/Eas.d.ts +34 -0
  109. package/dist/types/src/auth/Eas.d.ts.map +1 -0
  110. package/dist/types/src/auth/auth.d.ts +86 -0
  111. package/dist/types/src/auth/auth.d.ts.map +1 -0
  112. package/dist/types/src/auth/oidc-clientcredentials-provider.d.ts +9 -0
  113. package/dist/types/src/auth/oidc-clientcredentials-provider.d.ts.map +1 -0
  114. package/dist/types/src/auth/oidc-externaljwt-provider.d.ts +10 -0
  115. package/dist/types/src/auth/oidc-externaljwt-provider.d.ts.map +1 -0
  116. package/dist/types/src/auth/oidc-refreshtoken-provider.d.ts +10 -0
  117. package/dist/types/src/auth/oidc-refreshtoken-provider.d.ts.map +1 -0
  118. package/dist/types/src/auth/oidc.d.ts +104 -0
  119. package/dist/types/src/auth/oidc.d.ts.map +1 -0
  120. package/dist/types/src/auth/providers.d.ts +67 -0
  121. package/dist/types/src/auth/providers.d.ts.map +1 -0
  122. package/dist/types/src/encodings/base64.d.ts +18 -0
  123. package/dist/types/src/encodings/base64.d.ts.map +1 -0
  124. package/dist/types/src/encodings/hex.d.ts +5 -0
  125. package/dist/types/src/encodings/hex.d.ts.map +1 -0
  126. package/dist/types/src/encodings/index.d.ts +3 -0
  127. package/dist/types/src/encodings/index.d.ts.map +1 -0
  128. package/dist/types/src/errors.d.ts +72 -0
  129. package/dist/types/src/errors.d.ts.map +1 -0
  130. package/dist/types/src/index.d.ts +138 -0
  131. package/dist/types/src/index.d.ts.map +1 -0
  132. package/dist/types/src/nanotdf/Client.d.ts +95 -0
  133. package/dist/types/src/nanotdf/Client.d.ts.map +1 -0
  134. package/dist/types/src/nanotdf/NanoTDF.d.ts +25 -0
  135. package/dist/types/src/nanotdf/NanoTDF.d.ts.map +1 -0
  136. package/dist/types/src/nanotdf/browser-entry.d.ts +17 -0
  137. package/dist/types/src/nanotdf/browser-entry.d.ts.map +1 -0
  138. package/dist/types/src/nanotdf/constants.d.ts +2 -0
  139. package/dist/types/src/nanotdf/constants.d.ts.map +1 -0
  140. package/dist/types/src/nanotdf/decrypt.d.ts +9 -0
  141. package/dist/types/src/nanotdf/decrypt.d.ts.map +1 -0
  142. package/dist/types/src/nanotdf/encrypt-dataset.d.ts +12 -0
  143. package/dist/types/src/nanotdf/encrypt-dataset.d.ts.map +1 -0
  144. package/dist/types/src/nanotdf/encrypt.d.ts +14 -0
  145. package/dist/types/src/nanotdf/encrypt.d.ts.map +1 -0
  146. package/dist/types/src/nanotdf/enum/CipherEnum.d.ts +10 -0
  147. package/dist/types/src/nanotdf/enum/CipherEnum.d.ts.map +1 -0
  148. package/dist/types/src/nanotdf/enum/CurveNameEnum.d.ts +12 -0
  149. package/dist/types/src/nanotdf/enum/CurveNameEnum.d.ts.map +1 -0
  150. package/dist/types/src/nanotdf/enum/EncodingEnum.d.ts +5 -0
  151. package/dist/types/src/nanotdf/enum/EncodingEnum.d.ts.map +1 -0
  152. package/dist/types/src/nanotdf/enum/PolicyTypeEnum.d.ts +8 -0
  153. package/dist/types/src/nanotdf/enum/PolicyTypeEnum.d.ts.map +1 -0
  154. package/dist/types/src/nanotdf/enum/ProtocolEnum.d.ts +7 -0
  155. package/dist/types/src/nanotdf/enum/ProtocolEnum.d.ts.map +1 -0
  156. package/dist/types/src/nanotdf/enum/ResourceLocatorIdentifierEnum.d.ts +8 -0
  157. package/dist/types/src/nanotdf/enum/ResourceLocatorIdentifierEnum.d.ts.map +1 -0
  158. package/dist/types/src/nanotdf/helpers/calculateByCurve.d.ts +20 -0
  159. package/dist/types/src/nanotdf/helpers/calculateByCurve.d.ts.map +1 -0
  160. package/dist/types/src/nanotdf/helpers/getHkdfSalt.d.ts +9 -0
  161. package/dist/types/src/nanotdf/helpers/getHkdfSalt.d.ts.map +1 -0
  162. package/dist/types/src/nanotdf/index.d.ts +9 -0
  163. package/dist/types/src/nanotdf/index.d.ts.map +1 -0
  164. package/dist/types/src/nanotdf/interfaces/PolicyInterface.d.ts +17 -0
  165. package/dist/types/src/nanotdf/interfaces/PolicyInterface.d.ts.map +1 -0
  166. package/dist/types/src/nanotdf/models/Ciphers.d.ts +14 -0
  167. package/dist/types/src/nanotdf/models/Ciphers.d.ts.map +1 -0
  168. package/dist/types/src/nanotdf/models/DefaultParams.d.ts +21 -0
  169. package/dist/types/src/nanotdf/models/DefaultParams.d.ts.map +1 -0
  170. package/dist/types/src/nanotdf/models/EcCurves.d.ts +15 -0
  171. package/dist/types/src/nanotdf/models/EcCurves.d.ts.map +1 -0
  172. package/dist/types/src/nanotdf/models/Header.d.ts +73 -0
  173. package/dist/types/src/nanotdf/models/Header.d.ts.map +1 -0
  174. package/dist/types/src/nanotdf/models/Payload.d.ts +47 -0
  175. package/dist/types/src/nanotdf/models/Payload.d.ts.map +1 -0
  176. package/dist/types/src/nanotdf/models/Policy/AbstractPolicy.d.ts +52 -0
  177. package/dist/types/src/nanotdf/models/Policy/AbstractPolicy.d.ts.map +1 -0
  178. package/dist/types/src/nanotdf/models/Policy/EmbeddedPolicy.d.ts +35 -0
  179. package/dist/types/src/nanotdf/models/Policy/EmbeddedPolicy.d.ts.map +1 -0
  180. package/dist/types/src/nanotdf/models/Policy/PolicyFactory.d.ts +11 -0
  181. package/dist/types/src/nanotdf/models/Policy/PolicyFactory.d.ts.map +1 -0
  182. package/dist/types/src/nanotdf/models/Policy/RemotePolicy.d.ts +31 -0
  183. package/dist/types/src/nanotdf/models/Policy/RemotePolicy.d.ts.map +1 -0
  184. package/dist/types/src/nanotdf/models/ResourceLocator.d.ts +65 -0
  185. package/dist/types/src/nanotdf/models/ResourceLocator.d.ts.map +1 -0
  186. package/dist/types/src/nanotdf/models/Signature.d.ts +33 -0
  187. package/dist/types/src/nanotdf/models/Signature.d.ts.map +1 -0
  188. package/dist/types/src/nanotdf-crypto/ciphers.d.ts +8 -0
  189. package/dist/types/src/nanotdf-crypto/ciphers.d.ts.map +1 -0
  190. package/dist/types/src/nanotdf-crypto/decrypt.d.ts +14 -0
  191. package/dist/types/src/nanotdf-crypto/decrypt.d.ts.map +1 -0
  192. package/dist/types/src/nanotdf-crypto/digest.d.ts +3 -0
  193. package/dist/types/src/nanotdf-crypto/digest.d.ts.map +1 -0
  194. package/dist/types/src/nanotdf-crypto/ecdsaSignature.d.ts +35 -0
  195. package/dist/types/src/nanotdf-crypto/ecdsaSignature.d.ts.map +1 -0
  196. package/dist/types/src/nanotdf-crypto/encrypt.d.ts +14 -0
  197. package/dist/types/src/nanotdf-crypto/encrypt.d.ts.map +1 -0
  198. package/dist/types/src/nanotdf-crypto/enums.d.ts +42 -0
  199. package/dist/types/src/nanotdf-crypto/enums.d.ts.map +1 -0
  200. package/dist/types/src/nanotdf-crypto/exportCryptoKey.d.ts +7 -0
  201. package/dist/types/src/nanotdf-crypto/exportCryptoKey.d.ts.map +1 -0
  202. package/dist/types/src/nanotdf-crypto/generateKeyPair.d.ts +10 -0
  203. package/dist/types/src/nanotdf-crypto/generateKeyPair.d.ts.map +1 -0
  204. package/dist/types/src/nanotdf-crypto/generateRandomNumber.d.ts +5 -0
  205. package/dist/types/src/nanotdf-crypto/generateRandomNumber.d.ts.map +1 -0
  206. package/dist/types/src/nanotdf-crypto/importRawKey.d.ts +13 -0
  207. package/dist/types/src/nanotdf-crypto/importRawKey.d.ts.map +1 -0
  208. package/dist/types/src/nanotdf-crypto/index.d.ts +12 -0
  209. package/dist/types/src/nanotdf-crypto/index.d.ts.map +1 -0
  210. package/dist/types/src/nanotdf-crypto/keyAgreement.d.ts +28 -0
  211. package/dist/types/src/nanotdf-crypto/keyAgreement.d.ts.map +1 -0
  212. package/dist/types/src/nanotdf-crypto/pemPublicToCrypto.d.ts +28 -0
  213. package/dist/types/src/nanotdf-crypto/pemPublicToCrypto.d.ts.map +1 -0
  214. package/dist/types/src/policy/api.d.ts +4 -0
  215. package/dist/types/src/policy/api.d.ts.map +1 -0
  216. package/dist/types/src/policy/attributes.d.ts +95 -0
  217. package/dist/types/src/policy/attributes.d.ts.map +1 -0
  218. package/dist/types/src/policy/granter.d.ts +23 -0
  219. package/dist/types/src/policy/granter.d.ts.map +1 -0
  220. package/dist/types/src/tdf/AttributeObject.d.ts +13 -0
  221. package/dist/types/src/tdf/AttributeObject.d.ts.map +1 -0
  222. package/dist/types/src/tdf/AttributeObjectJwt.d.ts +4 -0
  223. package/dist/types/src/tdf/AttributeObjectJwt.d.ts.map +1 -0
  224. package/dist/types/src/tdf/Crypto.d.ts +37 -0
  225. package/dist/types/src/tdf/Crypto.d.ts.map +1 -0
  226. package/dist/types/src/tdf/EntityObject.d.ts +18 -0
  227. package/dist/types/src/tdf/EntityObject.d.ts.map +1 -0
  228. package/dist/types/src/tdf/NanoTDF/NanoTDF.d.ts +99 -0
  229. package/dist/types/src/tdf/NanoTDF/NanoTDF.d.ts.map +1 -0
  230. package/dist/types/src/tdf/Policy.d.ts +28 -0
  231. package/dist/types/src/tdf/Policy.d.ts.map +1 -0
  232. package/dist/types/src/tdf/PolicyObject.d.ts +11 -0
  233. package/dist/types/src/tdf/PolicyObject.d.ts.map +1 -0
  234. package/dist/types/src/tdf/TypedArray.d.ts +3 -0
  235. package/dist/types/src/tdf/TypedArray.d.ts.map +1 -0
  236. package/dist/types/src/tdf/index.d.ts +7 -0
  237. package/dist/types/src/tdf/index.d.ts.map +1 -0
  238. package/dist/types/src/types/index.d.ts +45 -0
  239. package/dist/types/src/types/index.d.ts.map +1 -0
  240. package/dist/types/src/utils.d.ts +45 -0
  241. package/dist/types/src/utils.d.ts.map +1 -0
  242. package/dist/types/src/version.d.ts +9 -0
  243. package/dist/types/src/version.d.ts.map +1 -0
  244. package/dist/types/tdf3/index.d.ts +16 -0
  245. package/dist/types/tdf3/index.d.ts.map +1 -0
  246. package/dist/types/tdf3/src/assertions.d.ts +63 -0
  247. package/dist/types/tdf3/src/assertions.d.ts.map +1 -0
  248. package/dist/types/tdf3/src/binary.d.ts +38 -0
  249. package/dist/types/tdf3/src/binary.d.ts.map +1 -0
  250. package/dist/types/tdf3/src/ciphers/aes-gcm-cipher.d.ts +18 -0
  251. package/dist/types/tdf3/src/ciphers/aes-gcm-cipher.d.ts.map +1 -0
  252. package/dist/types/tdf3/src/ciphers/algorithms.d.ts +4 -0
  253. package/dist/types/tdf3/src/ciphers/algorithms.d.ts.map +1 -0
  254. package/dist/types/tdf3/src/ciphers/index.d.ts +3 -0
  255. package/dist/types/tdf3/src/ciphers/index.d.ts.map +1 -0
  256. package/dist/types/tdf3/src/ciphers/symmetric-cipher-base.d.ts +14 -0
  257. package/dist/types/tdf3/src/ciphers/symmetric-cipher-base.d.ts.map +1 -0
  258. package/dist/types/tdf3/src/client/DecoratedReadableStream.d.ts +53 -0
  259. package/dist/types/tdf3/src/client/DecoratedReadableStream.d.ts.map +1 -0
  260. package/dist/types/tdf3/src/client/builders.d.ts +436 -0
  261. package/dist/types/tdf3/src/client/builders.d.ts.map +1 -0
  262. package/dist/types/tdf3/src/client/index.d.ts +139 -0
  263. package/dist/types/tdf3/src/client/index.d.ts.map +1 -0
  264. package/dist/types/tdf3/src/client/validation.d.ts +8 -0
  265. package/dist/types/tdf3/src/client/validation.d.ts.map +1 -0
  266. package/dist/types/tdf3/src/crypto/crypto-utils.d.ts +34 -0
  267. package/dist/types/tdf3/src/crypto/crypto-utils.d.ts.map +1 -0
  268. package/dist/types/tdf3/src/crypto/declarations.d.ts +60 -0
  269. package/dist/types/tdf3/src/crypto/declarations.d.ts.map +1 -0
  270. package/dist/types/tdf3/src/crypto/index.d.ts +103 -0
  271. package/dist/types/tdf3/src/crypto/index.d.ts.map +1 -0
  272. package/dist/types/tdf3/src/index.d.ts +5 -0
  273. package/dist/types/tdf3/src/index.d.ts.map +1 -0
  274. package/dist/types/tdf3/src/models/attribute-set.d.ts +65 -0
  275. package/dist/types/tdf3/src/models/attribute-set.d.ts.map +1 -0
  276. package/dist/types/tdf3/src/models/encryption-information.d.ts +49 -0
  277. package/dist/types/tdf3/src/models/encryption-information.d.ts.map +1 -0
  278. package/dist/types/tdf3/src/models/index.d.ts +9 -0
  279. package/dist/types/tdf3/src/models/index.d.ts.map +1 -0
  280. package/dist/types/tdf3/src/models/key-access.d.ts +42 -0
  281. package/dist/types/tdf3/src/models/key-access.d.ts.map +1 -0
  282. package/dist/types/tdf3/src/models/manifest.d.ts +9 -0
  283. package/dist/types/tdf3/src/models/manifest.d.ts.map +1 -0
  284. package/dist/types/tdf3/src/models/payload.d.ts +7 -0
  285. package/dist/types/tdf3/src/models/payload.d.ts.map +1 -0
  286. package/dist/types/tdf3/src/models/policy.d.ts +13 -0
  287. package/dist/types/tdf3/src/models/policy.d.ts.map +1 -0
  288. package/dist/types/tdf3/src/models/upsert-response.d.ts +16 -0
  289. package/dist/types/tdf3/src/models/upsert-response.d.ts.map +1 -0
  290. package/dist/types/tdf3/src/tdf.d.ts +152 -0
  291. package/dist/types/tdf3/src/tdf.d.ts.map +1 -0
  292. package/dist/types/tdf3/src/templates/default.html.d.ts +8 -0
  293. package/dist/types/tdf3/src/templates/default.html.d.ts.map +1 -0
  294. package/dist/types/tdf3/src/templates/escaper.d.ts +6 -0
  295. package/dist/types/tdf3/src/templates/escaper.d.ts.map +1 -0
  296. package/dist/types/tdf3/src/templates/index.d.ts +3 -0
  297. package/dist/types/tdf3/src/templates/index.d.ts.map +1 -0
  298. package/dist/types/tdf3/src/utils/buffer-crc32.d.ts +2 -0
  299. package/dist/types/tdf3/src/utils/buffer-crc32.d.ts.map +1 -0
  300. package/dist/types/tdf3/src/utils/chunkers.d.ts +29 -0
  301. package/dist/types/tdf3/src/utils/chunkers.d.ts.map +1 -0
  302. package/dist/types/tdf3/src/utils/index.d.ts +36 -0
  303. package/dist/types/tdf3/src/utils/index.d.ts.map +1 -0
  304. package/dist/types/tdf3/src/utils/keysplit.d.ts +19 -0
  305. package/dist/types/tdf3/src/utils/keysplit.d.ts.map +1 -0
  306. package/dist/types/tdf3/src/utils/zip-reader.d.ts +63 -0
  307. package/dist/types/tdf3/src/utils/zip-reader.d.ts.map +1 -0
  308. package/dist/types/tdf3/src/utils/zip-writer.d.ts +35 -0
  309. package/dist/types/tdf3/src/utils/zip-writer.d.ts.map +1 -0
  310. package/dist/types/tdf3/src/version.d.ts +3 -0
  311. package/dist/types/tdf3/src/version.d.ts.map +1 -0
  312. package/dist/web/package.json +3 -0
  313. package/dist/web/src/access.js +147 -0
  314. package/dist/web/src/auth/Eas.js +55 -0
  315. package/dist/web/src/auth/auth.js +71 -0
  316. package/dist/web/src/auth/oidc-clientcredentials-provider.js +22 -0
  317. package/dist/web/src/auth/oidc-externaljwt-provider.js +29 -0
  318. package/dist/web/src/auth/oidc-refreshtoken-provider.js +30 -0
  319. package/dist/web/src/auth/oidc.js +215 -0
  320. package/dist/web/src/auth/providers.js +119 -0
  321. package/dist/web/src/encodings/base64.js +147 -0
  322. package/dist/web/src/encodings/hex.js +63 -0
  323. package/dist/web/src/encodings/index.js +3 -0
  324. package/dist/web/src/errors.js +123 -0
  325. package/dist/web/src/index.js +313 -0
  326. package/dist/web/src/nanotdf/Client.js +268 -0
  327. package/dist/web/src/nanotdf/NanoTDF.js +89 -0
  328. package/dist/web/src/nanotdf/browser-entry.js +14 -0
  329. package/dist/web/src/nanotdf/constants.js +2 -0
  330. package/dist/web/src/nanotdf/decrypt.js +14 -0
  331. package/dist/web/src/nanotdf/encrypt-dataset.js +32 -0
  332. package/dist/web/src/nanotdf/encrypt.js +126 -0
  333. package/dist/web/src/nanotdf/enum/CipherEnum.js +11 -0
  334. package/dist/web/src/nanotdf/enum/CurveNameEnum.js +13 -0
  335. package/dist/web/src/nanotdf/enum/EncodingEnum.js +6 -0
  336. package/dist/web/src/nanotdf/enum/PolicyTypeEnum.js +9 -0
  337. package/dist/web/src/nanotdf/enum/ProtocolEnum.js +8 -0
  338. package/dist/web/src/nanotdf/enum/ResourceLocatorIdentifierEnum.js +9 -0
  339. package/dist/web/src/nanotdf/helpers/calculateByCurve.js +24 -0
  340. package/dist/web/src/nanotdf/helpers/getHkdfSalt.js +8 -0
  341. package/dist/web/src/nanotdf/index.js +11 -0
  342. package/dist/web/src/nanotdf/interfaces/PolicyInterface.js +2 -0
  343. package/dist/web/src/nanotdf/models/Ciphers.js +54 -0
  344. package/dist/web/src/nanotdf/models/DefaultParams.js +22 -0
  345. package/dist/web/src/nanotdf/models/EcCurves.js +32 -0
  346. package/dist/web/src/nanotdf/models/Header.js +250 -0
  347. package/dist/web/src/nanotdf/models/Payload.js +156 -0
  348. package/dist/web/src/nanotdf/models/Policy/AbstractPolicy.js +71 -0
  349. package/dist/web/src/nanotdf/models/Policy/EmbeddedPolicy.js +77 -0
  350. package/dist/web/src/nanotdf/models/Policy/PolicyFactory.js +33 -0
  351. package/dist/web/src/nanotdf/models/Policy/RemotePolicy.js +57 -0
  352. package/dist/web/src/nanotdf/models/ResourceLocator.js +206 -0
  353. package/dist/web/src/nanotdf/models/Signature.js +74 -0
  354. package/dist/web/src/nanotdf-crypto/ciphers.js +14 -0
  355. package/dist/web/src/nanotdf-crypto/decrypt.js +21 -0
  356. package/dist/web/src/nanotdf-crypto/digest.js +4 -0
  357. package/dist/web/src/nanotdf-crypto/ecdsaSignature.js +77 -0
  358. package/dist/web/src/nanotdf-crypto/encrypt.js +21 -0
  359. package/dist/web/src/nanotdf-crypto/enums.js +49 -0
  360. package/dist/web/src/nanotdf-crypto/exportCryptoKey.js +17 -0
  361. package/dist/web/src/nanotdf-crypto/generateKeyPair.js +10 -0
  362. package/dist/web/src/nanotdf-crypto/generateRandomNumber.js +9 -0
  363. package/dist/web/src/nanotdf-crypto/importRawKey.js +15 -0
  364. package/dist/web/src/nanotdf-crypto/index.js +12 -0
  365. package/dist/web/src/nanotdf-crypto/keyAgreement.js +87 -0
  366. package/dist/web/src/nanotdf-crypto/pemPublicToCrypto.js +197 -0
  367. package/dist/web/src/policy/api.js +54 -0
  368. package/dist/web/src/policy/attributes.js +2 -0
  369. package/dist/web/src/policy/granter.js +141 -0
  370. package/dist/web/src/tdf/AttributeObject.js +11 -0
  371. package/dist/web/src/tdf/AttributeObjectJwt.js +2 -0
  372. package/dist/web/src/tdf/Crypto.js +44 -0
  373. package/dist/web/src/tdf/EntityObject.js +2 -0
  374. package/dist/web/src/tdf/NanoTDF/NanoTDF.js +35 -0
  375. package/dist/web/src/tdf/Policy.js +48 -0
  376. package/dist/web/src/tdf/PolicyObject.js +2 -0
  377. package/dist/web/src/tdf/TypedArray.js +2 -0
  378. package/dist/web/src/tdf/index.js +4 -0
  379. package/dist/web/src/types/index.js +2 -0
  380. package/dist/web/src/utils.js +133 -0
  381. package/dist/web/src/version.js +9 -0
  382. package/dist/web/tdf3/index.js +13 -0
  383. package/dist/web/tdf3/src/assertions.js +111 -0
  384. package/dist/web/tdf3/src/binary.js +149 -0
  385. package/dist/web/tdf3/src/ciphers/aes-gcm-cipher.js +52 -0
  386. package/dist/web/tdf3/src/ciphers/algorithms.js +5 -0
  387. package/dist/web/tdf3/src/ciphers/index.js +3 -0
  388. package/dist/web/tdf3/src/ciphers/symmetric-cipher-base.js +18 -0
  389. package/dist/web/tdf3/src/client/DecoratedReadableStream.js +107 -0
  390. package/dist/web/tdf3/src/client/builders.js +557 -0
  391. package/dist/web/tdf3/src/client/index.js +423 -0
  392. package/dist/web/tdf3/src/client/validation.js +58 -0
  393. package/dist/web/tdf3/src/crypto/crypto-utils.js +107 -0
  394. package/dist/web/tdf3/src/crypto/declarations.js +5 -0
  395. package/dist/web/tdf3/src/crypto/index.js +296 -0
  396. package/dist/web/tdf3/src/index.js +5 -0
  397. package/dist/web/tdf3/src/models/attribute-set.js +118 -0
  398. package/dist/web/tdf3/src/models/encryption-information.js +86 -0
  399. package/dist/web/tdf3/src/models/index.js +9 -0
  400. package/dist/web/tdf3/src/models/key-access.js +74 -0
  401. package/dist/web/tdf3/src/models/manifest.js +2 -0
  402. package/dist/web/tdf3/src/models/payload.js +2 -0
  403. package/dist/web/tdf3/src/models/policy.js +20 -0
  404. package/dist/web/tdf3/src/models/upsert-response.js +2 -0
  405. package/dist/web/tdf3/src/tdf.js +866 -0
  406. package/dist/web/tdf3/src/templates/default.html.js +96 -0
  407. package/dist/web/tdf3/src/templates/escaper.js +10 -0
  408. package/dist/web/tdf3/src/templates/index.js +3 -0
  409. package/dist/web/tdf3/src/utils/buffer-crc32.js +44 -0
  410. package/dist/web/tdf3/src/utils/chunkers.js +96 -0
  411. package/dist/web/tdf3/src/utils/index.js +248 -0
  412. package/dist/web/tdf3/src/utils/keysplit.js +55 -0
  413. package/dist/web/tdf3/src/utils/zip-reader.js +247 -0
  414. package/dist/web/tdf3/src/utils/zip-writer.js +302 -0
  415. package/dist/web/tdf3/src/version.js +3 -0
  416. package/package.json +126 -0
  417. package/src/access.ts +198 -0
  418. package/src/auth/Eas.ts +79 -0
  419. package/src/auth/auth.ts +141 -0
  420. package/src/auth/oidc-clientcredentials-provider.ts +32 -0
  421. package/src/auth/oidc-externaljwt-provider.ts +41 -0
  422. package/src/auth/oidc-refreshtoken-provider.ts +41 -0
  423. package/src/auth/oidc.ts +307 -0
  424. package/src/auth/providers.ts +139 -0
  425. package/src/encodings/base64.ts +160 -0
  426. package/src/encodings/hex.ts +69 -0
  427. package/src/encodings/index.ts +2 -0
  428. package/src/errors.ts +113 -0
  429. package/src/index.ts +441 -0
  430. package/src/nanotdf/Client.ts +349 -0
  431. package/src/nanotdf/NanoTDF.ts +121 -0
  432. package/src/nanotdf/browser-entry.ts +20 -0
  433. package/src/nanotdf/constants.ts +1 -0
  434. package/src/nanotdf/decrypt.ts +19 -0
  435. package/src/nanotdf/encrypt-dataset.ts +52 -0
  436. package/src/nanotdf/encrypt.ts +197 -0
  437. package/src/nanotdf/enum/CipherEnum.ts +10 -0
  438. package/src/nanotdf/enum/CurveNameEnum.ts +12 -0
  439. package/src/nanotdf/enum/EncodingEnum.ts +5 -0
  440. package/src/nanotdf/enum/PolicyTypeEnum.ts +8 -0
  441. package/src/nanotdf/enum/ProtocolEnum.ts +7 -0
  442. package/src/nanotdf/enum/ResourceLocatorIdentifierEnum.ts +8 -0
  443. package/src/nanotdf/helpers/calculateByCurve.ts +26 -0
  444. package/src/nanotdf/helpers/getHkdfSalt.ts +15 -0
  445. package/src/nanotdf/index.ts +10 -0
  446. package/src/nanotdf/interfaces/PolicyInterface.ts +27 -0
  447. package/src/nanotdf/models/Ciphers.ts +67 -0
  448. package/src/nanotdf/models/DefaultParams.ts +24 -0
  449. package/src/nanotdf/models/EcCurves.ts +40 -0
  450. package/src/nanotdf/models/Header.ts +322 -0
  451. package/src/nanotdf/models/Payload.ts +196 -0
  452. package/src/nanotdf/models/Policy/AbstractPolicy.ts +90 -0
  453. package/src/nanotdf/models/Policy/EmbeddedPolicy.ts +101 -0
  454. package/src/nanotdf/models/Policy/PolicyFactory.ts +48 -0
  455. package/src/nanotdf/models/Policy/RemotePolicy.ts +74 -0
  456. package/src/nanotdf/models/ResourceLocator.ts +212 -0
  457. package/src/nanotdf/models/Signature.ts +85 -0
  458. package/src/nanotdf-crypto/ciphers.ts +13 -0
  459. package/src/nanotdf-crypto/decrypt.ts +30 -0
  460. package/src/nanotdf-crypto/digest.ts +8 -0
  461. package/src/nanotdf-crypto/ecdsaSignature.ts +109 -0
  462. package/src/nanotdf-crypto/encrypt.ts +30 -0
  463. package/src/nanotdf-crypto/enums.ts +47 -0
  464. package/src/nanotdf-crypto/exportCryptoKey.ts +17 -0
  465. package/src/nanotdf-crypto/generateKeyPair.ts +19 -0
  466. package/src/nanotdf-crypto/generateRandomNumber.ts +8 -0
  467. package/src/nanotdf-crypto/importRawKey.ts +19 -0
  468. package/src/nanotdf-crypto/index.ts +11 -0
  469. package/src/nanotdf-crypto/keyAgreement.ts +139 -0
  470. package/src/nanotdf-crypto/pemPublicToCrypto.ts +232 -0
  471. package/src/package-lock.json +6 -0
  472. package/src/package.json +3 -0
  473. package/src/platform/authorization/authorization_connect.d.ts +44 -0
  474. package/src/platform/authorization/authorization_connect.js +44 -0
  475. package/src/platform/authorization/authorization_pb.d.ts +707 -0
  476. package/src/platform/authorization/authorization_pb.js +372 -0
  477. package/src/platform/common/common_pb.d.ts +129 -0
  478. package/src/platform/common/common_pb.js +58 -0
  479. package/src/platform/entityresolution/entity_resolution_connect.d.ts +35 -0
  480. package/src/platform/entityresolution/entity_resolution_connect.js +35 -0
  481. package/src/platform/entityresolution/entity_resolution_pb.d.ts +242 -0
  482. package/src/platform/entityresolution/entity_resolution_pb.js +139 -0
  483. package/src/platform/kas/kas_connect.d.ts +59 -0
  484. package/src/platform/kas/kas_connect.js +59 -0
  485. package/src/platform/kas/kas_pb.d.ts +200 -0
  486. package/src/platform/kas/kas_pb.js +84 -0
  487. package/src/platform/policy/attributes/attributes_connect.d.ts +168 -0
  488. package/src/platform/policy/attributes/attributes_connect.js +168 -0
  489. package/src/platform/policy/attributes/attributes_pb.d.ts +929 -0
  490. package/src/platform/policy/attributes/attributes_pb.js +363 -0
  491. package/src/platform/policy/kasregistry/key_access_server_registry_connect.d.ts +62 -0
  492. package/src/platform/policy/kasregistry/key_access_server_registry_connect.js +62 -0
  493. package/src/platform/policy/kasregistry/key_access_server_registry_pb.d.ts +283 -0
  494. package/src/platform/policy/kasregistry/key_access_server_registry_pb.js +113 -0
  495. package/src/platform/policy/namespaces/namespaces_connect.d.ts +62 -0
  496. package/src/platform/policy/namespaces/namespaces_connect.js +62 -0
  497. package/src/platform/policy/namespaces/namespaces_pb.d.ts +270 -0
  498. package/src/platform/policy/namespaces/namespaces_pb.js +110 -0
  499. package/src/platform/policy/objects_pb.d.ts +725 -0
  500. package/src/platform/policy/objects_pb.js +288 -0
  501. package/src/platform/policy/resourcemapping/resource_mapping_connect.d.ts +259 -0
  502. package/src/platform/policy/resourcemapping/resource_mapping_connect.js +259 -0
  503. package/src/platform/policy/resourcemapping/resource_mapping_pb.d.ts +314 -0
  504. package/src/platform/policy/resourcemapping/resource_mapping_pb.js +142 -0
  505. package/src/platform/policy/selectors_pb.d.ts +269 -0
  506. package/src/platform/policy/selectors_pb.js +110 -0
  507. package/src/platform/policy/subjectmapping/subject_mapping_connect.d.ts +118 -0
  508. package/src/platform/policy/subjectmapping/subject_mapping_connect.js +118 -0
  509. package/src/platform/policy/subjectmapping/subject_mapping_pb.d.ts +672 -0
  510. package/src/platform/policy/subjectmapping/subject_mapping_pb.js +260 -0
  511. package/src/platform/wellknownconfiguration/wellknown_configuration_connect.d.ts +26 -0
  512. package/src/platform/wellknownconfiguration/wellknown_configuration_connect.js +26 -0
  513. package/src/platform/wellknownconfiguration/wellknown_configuration_pb.d.ts +75 -0
  514. package/src/platform/wellknownconfiguration/wellknown_configuration_pb.js +35 -0
  515. package/src/policy/api.ts +61 -0
  516. package/src/policy/attributes.ts +117 -0
  517. package/src/policy/granter.ts +181 -0
  518. package/src/tdf/AttributeObject.ts +27 -0
  519. package/src/tdf/AttributeObjectJwt.ts +3 -0
  520. package/src/tdf/Crypto.ts +42 -0
  521. package/src/tdf/EntityObject.ts +18 -0
  522. package/src/tdf/NanoTDF/NanoTDF.ts +120 -0
  523. package/src/tdf/Policy.ts +51 -0
  524. package/src/tdf/PolicyObject.ts +12 -0
  525. package/src/tdf/TypedArray.ts +12 -0
  526. package/src/tdf/index.ts +6 -0
  527. package/src/types/index.ts +55 -0
  528. package/src/utils.ts +149 -0
  529. package/src/version.ts +9 -0
  530. package/tdf3/index.ts +91 -0
  531. package/tdf3/package-lock.json +6 -0
  532. package/tdf3/package.json +3 -0
  533. package/tdf3/src/assertions.ts +191 -0
  534. package/tdf3/src/binary.ts +195 -0
  535. package/tdf3/src/ciphers/aes-gcm-cipher.ts +76 -0
  536. package/tdf3/src/ciphers/algorithms.ts +9 -0
  537. package/tdf3/src/ciphers/index.ts +2 -0
  538. package/tdf3/src/ciphers/symmetric-cipher-base.ts +38 -0
  539. package/tdf3/src/client/DecoratedReadableStream.ts +148 -0
  540. package/tdf3/src/client/builders.ts +701 -0
  541. package/tdf3/src/client/index.ts +637 -0
  542. package/tdf3/src/client/validation.ts +79 -0
  543. package/tdf3/src/crypto/crypto-utils.ts +119 -0
  544. package/tdf3/src/crypto/declarations.ts +89 -0
  545. package/tdf3/src/crypto/index.ts +394 -0
  546. package/tdf3/src/index.ts +4 -0
  547. package/tdf3/src/models/attribute-set.ts +142 -0
  548. package/tdf3/src/models/encryption-information.ts +172 -0
  549. package/tdf3/src/models/index.ts +8 -0
  550. package/tdf3/src/models/key-access.ts +128 -0
  551. package/tdf3/src/models/manifest.ts +9 -0
  552. package/tdf3/src/models/payload.ts +6 -0
  553. package/tdf3/src/models/policy.ts +35 -0
  554. package/tdf3/src/models/upsert-response.ts +17 -0
  555. package/tdf3/src/tdf.ts +1351 -0
  556. package/tdf3/src/templates/default.html.ts +105 -0
  557. package/tdf3/src/templates/escaper.ts +10 -0
  558. package/tdf3/src/templates/index.ts +2 -0
  559. package/tdf3/src/utils/buffer-crc32.ts +46 -0
  560. package/tdf3/src/utils/chunkers.ts +118 -0
  561. package/tdf3/src/utils/index.ts +309 -0
  562. package/tdf3/src/utils/keysplit.ts +63 -0
  563. package/tdf3/src/utils/zip-reader.ts +341 -0
  564. package/tdf3/src/utils/zip-writer.ts +375 -0
  565. package/tdf3/src/version.ts +2 -0
  566. package/tdf3/types.d.ts +14 -0
@@ -0,0 +1,260 @@
1
+ // @generated by protoc-gen-es v1.9.0 with parameter "target=js+dts,import_extension=none"
2
+ // @generated from file policy/subjectmapping/subject_mapping.proto (package policy.subjectmapping, syntax proto3)
3
+ /* eslint-disable */
4
+ // @ts-nocheck
5
+
6
+ import { proto3 } from "@bufbuild/protobuf";
7
+ import { Action, SubjectConditionSet, SubjectMapping, SubjectProperty, SubjectSet } from "../objects_pb";
8
+ import { MetadataMutable, MetadataUpdateEnum } from "../../common/common_pb";
9
+
10
+ /**
11
+ * MatchSubjectMappingsRequest liberally returns a list of SubjectMappings based on the provided SubjectProperties. The SubjectMappings are returned
12
+ * if there is any single condition found among the structures that matches for one of the provided properties:
13
+ * 1. The external selector value, external value, and an IN operator
14
+ * 2. The external selector value, _no_ external value, and a NOT_IN operator
15
+ *
16
+ * Without this filtering, if a selector value was something like '.emailAddress' or '.username', every Subject is probably going to relate to that mapping
17
+ * in some way or another, potentially matching every single attribute in the DB if a policy admin has relied heavily on that field. There is no
18
+ * logic applied beyond a single condition within the query to avoid business logic interpreting the supplied conditions beyond the bare minimum
19
+ * initial filter.
20
+ *
21
+ * NOTE: if you have any issues, debug logs are available within the service to help identify why a mapping was or was not returned.
22
+ *
23
+ * @generated from message policy.subjectmapping.MatchSubjectMappingsRequest
24
+ */
25
+ export const MatchSubjectMappingsRequest = /*@__PURE__*/ proto3.makeMessageType(
26
+ "policy.subjectmapping.MatchSubjectMappingsRequest",
27
+ () => [
28
+ { no: 1, name: "subject_properties", kind: "message", T: SubjectProperty, repeated: true },
29
+ ],
30
+ );
31
+
32
+ /**
33
+ * @generated from message policy.subjectmapping.MatchSubjectMappingsResponse
34
+ */
35
+ export const MatchSubjectMappingsResponse = /*@__PURE__*/ proto3.makeMessageType(
36
+ "policy.subjectmapping.MatchSubjectMappingsResponse",
37
+ () => [
38
+ { no: 1, name: "subject_mappings", kind: "message", T: SubjectMapping, repeated: true },
39
+ ],
40
+ );
41
+
42
+ /**
43
+ * @generated from message policy.subjectmapping.GetSubjectMappingRequest
44
+ */
45
+ export const GetSubjectMappingRequest = /*@__PURE__*/ proto3.makeMessageType(
46
+ "policy.subjectmapping.GetSubjectMappingRequest",
47
+ () => [
48
+ { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
49
+ ],
50
+ );
51
+
52
+ /**
53
+ * @generated from message policy.subjectmapping.GetSubjectMappingResponse
54
+ */
55
+ export const GetSubjectMappingResponse = /*@__PURE__*/ proto3.makeMessageType(
56
+ "policy.subjectmapping.GetSubjectMappingResponse",
57
+ () => [
58
+ { no: 1, name: "subject_mapping", kind: "message", T: SubjectMapping },
59
+ ],
60
+ );
61
+
62
+ /**
63
+ * @generated from message policy.subjectmapping.ListSubjectMappingsRequest
64
+ */
65
+ export const ListSubjectMappingsRequest = /*@__PURE__*/ proto3.makeMessageType(
66
+ "policy.subjectmapping.ListSubjectMappingsRequest",
67
+ [],
68
+ );
69
+
70
+ /**
71
+ * @generated from message policy.subjectmapping.ListSubjectMappingsResponse
72
+ */
73
+ export const ListSubjectMappingsResponse = /*@__PURE__*/ proto3.makeMessageType(
74
+ "policy.subjectmapping.ListSubjectMappingsResponse",
75
+ () => [
76
+ { no: 1, name: "subject_mappings", kind: "message", T: SubjectMapping, repeated: true },
77
+ ],
78
+ );
79
+
80
+ /**
81
+ * @generated from message policy.subjectmapping.CreateSubjectMappingRequest
82
+ */
83
+ export const CreateSubjectMappingRequest = /*@__PURE__*/ proto3.makeMessageType(
84
+ "policy.subjectmapping.CreateSubjectMappingRequest",
85
+ () => [
86
+ { no: 1, name: "attribute_value_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
87
+ { no: 2, name: "actions", kind: "message", T: Action, repeated: true },
88
+ { no: 3, name: "existing_subject_condition_set_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
89
+ { no: 4, name: "new_subject_condition_set", kind: "message", T: SubjectConditionSetCreate },
90
+ { no: 100, name: "metadata", kind: "message", T: MetadataMutable },
91
+ ],
92
+ );
93
+
94
+ /**
95
+ * @generated from message policy.subjectmapping.CreateSubjectMappingResponse
96
+ */
97
+ export const CreateSubjectMappingResponse = /*@__PURE__*/ proto3.makeMessageType(
98
+ "policy.subjectmapping.CreateSubjectMappingResponse",
99
+ () => [
100
+ { no: 1, name: "subject_mapping", kind: "message", T: SubjectMapping },
101
+ ],
102
+ );
103
+
104
+ /**
105
+ * @generated from message policy.subjectmapping.UpdateSubjectMappingRequest
106
+ */
107
+ export const UpdateSubjectMappingRequest = /*@__PURE__*/ proto3.makeMessageType(
108
+ "policy.subjectmapping.UpdateSubjectMappingRequest",
109
+ () => [
110
+ { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
111
+ { no: 2, name: "subject_condition_set_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
112
+ { no: 3, name: "actions", kind: "message", T: Action, repeated: true },
113
+ { no: 100, name: "metadata", kind: "message", T: MetadataMutable },
114
+ { no: 101, name: "metadata_update_behavior", kind: "enum", T: proto3.getEnumType(MetadataUpdateEnum) },
115
+ ],
116
+ );
117
+
118
+ /**
119
+ * @generated from message policy.subjectmapping.UpdateSubjectMappingResponse
120
+ */
121
+ export const UpdateSubjectMappingResponse = /*@__PURE__*/ proto3.makeMessageType(
122
+ "policy.subjectmapping.UpdateSubjectMappingResponse",
123
+ () => [
124
+ { no: 1, name: "subject_mapping", kind: "message", T: SubjectMapping },
125
+ ],
126
+ );
127
+
128
+ /**
129
+ * @generated from message policy.subjectmapping.DeleteSubjectMappingRequest
130
+ */
131
+ export const DeleteSubjectMappingRequest = /*@__PURE__*/ proto3.makeMessageType(
132
+ "policy.subjectmapping.DeleteSubjectMappingRequest",
133
+ () => [
134
+ { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
135
+ ],
136
+ );
137
+
138
+ /**
139
+ * @generated from message policy.subjectmapping.DeleteSubjectMappingResponse
140
+ */
141
+ export const DeleteSubjectMappingResponse = /*@__PURE__*/ proto3.makeMessageType(
142
+ "policy.subjectmapping.DeleteSubjectMappingResponse",
143
+ () => [
144
+ { no: 1, name: "subject_mapping", kind: "message", T: SubjectMapping },
145
+ ],
146
+ );
147
+
148
+ /**
149
+ * @generated from message policy.subjectmapping.GetSubjectConditionSetRequest
150
+ */
151
+ export const GetSubjectConditionSetRequest = /*@__PURE__*/ proto3.makeMessageType(
152
+ "policy.subjectmapping.GetSubjectConditionSetRequest",
153
+ () => [
154
+ { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
155
+ ],
156
+ );
157
+
158
+ /**
159
+ * @generated from message policy.subjectmapping.GetSubjectConditionSetResponse
160
+ */
161
+ export const GetSubjectConditionSetResponse = /*@__PURE__*/ proto3.makeMessageType(
162
+ "policy.subjectmapping.GetSubjectConditionSetResponse",
163
+ () => [
164
+ { no: 1, name: "subject_condition_set", kind: "message", T: SubjectConditionSet },
165
+ { no: 2, name: "associated_subject_mappings", kind: "message", T: SubjectMapping, repeated: true },
166
+ ],
167
+ );
168
+
169
+ /**
170
+ * @generated from message policy.subjectmapping.ListSubjectConditionSetsRequest
171
+ */
172
+ export const ListSubjectConditionSetsRequest = /*@__PURE__*/ proto3.makeMessageType(
173
+ "policy.subjectmapping.ListSubjectConditionSetsRequest",
174
+ [],
175
+ );
176
+
177
+ /**
178
+ * @generated from message policy.subjectmapping.ListSubjectConditionSetsResponse
179
+ */
180
+ export const ListSubjectConditionSetsResponse = /*@__PURE__*/ proto3.makeMessageType(
181
+ "policy.subjectmapping.ListSubjectConditionSetsResponse",
182
+ () => [
183
+ { no: 1, name: "subject_condition_sets", kind: "message", T: SubjectConditionSet, repeated: true },
184
+ ],
185
+ );
186
+
187
+ /**
188
+ * @generated from message policy.subjectmapping.SubjectConditionSetCreate
189
+ */
190
+ export const SubjectConditionSetCreate = /*@__PURE__*/ proto3.makeMessageType(
191
+ "policy.subjectmapping.SubjectConditionSetCreate",
192
+ () => [
193
+ { no: 1, name: "subject_sets", kind: "message", T: SubjectSet, repeated: true },
194
+ { no: 100, name: "metadata", kind: "message", T: MetadataMutable },
195
+ ],
196
+ );
197
+
198
+ /**
199
+ * @generated from message policy.subjectmapping.CreateSubjectConditionSetRequest
200
+ */
201
+ export const CreateSubjectConditionSetRequest = /*@__PURE__*/ proto3.makeMessageType(
202
+ "policy.subjectmapping.CreateSubjectConditionSetRequest",
203
+ () => [
204
+ { no: 1, name: "subject_condition_set", kind: "message", T: SubjectConditionSetCreate },
205
+ ],
206
+ );
207
+
208
+ /**
209
+ * @generated from message policy.subjectmapping.CreateSubjectConditionSetResponse
210
+ */
211
+ export const CreateSubjectConditionSetResponse = /*@__PURE__*/ proto3.makeMessageType(
212
+ "policy.subjectmapping.CreateSubjectConditionSetResponse",
213
+ () => [
214
+ { no: 1, name: "subject_condition_set", kind: "message", T: SubjectConditionSet },
215
+ ],
216
+ );
217
+
218
+ /**
219
+ * @generated from message policy.subjectmapping.UpdateSubjectConditionSetRequest
220
+ */
221
+ export const UpdateSubjectConditionSetRequest = /*@__PURE__*/ proto3.makeMessageType(
222
+ "policy.subjectmapping.UpdateSubjectConditionSetRequest",
223
+ () => [
224
+ { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
225
+ { no: 2, name: "subject_sets", kind: "message", T: SubjectSet, repeated: true },
226
+ { no: 100, name: "metadata", kind: "message", T: MetadataMutable },
227
+ { no: 101, name: "metadata_update_behavior", kind: "enum", T: proto3.getEnumType(MetadataUpdateEnum) },
228
+ ],
229
+ );
230
+
231
+ /**
232
+ * @generated from message policy.subjectmapping.UpdateSubjectConditionSetResponse
233
+ */
234
+ export const UpdateSubjectConditionSetResponse = /*@__PURE__*/ proto3.makeMessageType(
235
+ "policy.subjectmapping.UpdateSubjectConditionSetResponse",
236
+ () => [
237
+ { no: 1, name: "subject_condition_set", kind: "message", T: SubjectConditionSet },
238
+ ],
239
+ );
240
+
241
+ /**
242
+ * @generated from message policy.subjectmapping.DeleteSubjectConditionSetRequest
243
+ */
244
+ export const DeleteSubjectConditionSetRequest = /*@__PURE__*/ proto3.makeMessageType(
245
+ "policy.subjectmapping.DeleteSubjectConditionSetRequest",
246
+ () => [
247
+ { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
248
+ ],
249
+ );
250
+
251
+ /**
252
+ * @generated from message policy.subjectmapping.DeleteSubjectConditionSetResponse
253
+ */
254
+ export const DeleteSubjectConditionSetResponse = /*@__PURE__*/ proto3.makeMessageType(
255
+ "policy.subjectmapping.DeleteSubjectConditionSetResponse",
256
+ () => [
257
+ { no: 1, name: "subject_condition_set", kind: "message", T: SubjectConditionSet },
258
+ ],
259
+ );
260
+
@@ -0,0 +1,26 @@
1
+ // @generated by protoc-gen-connect-es v1.4.0 with parameter "target=js+dts,import_extension=none"
2
+ // @generated from file wellknownconfiguration/wellknown_configuration.proto (package wellknownconfiguration, syntax proto3)
3
+ /* eslint-disable */
4
+ // @ts-nocheck
5
+
6
+ import { GetWellKnownConfigurationRequest, GetWellKnownConfigurationResponse } from "./wellknown_configuration_pb";
7
+ import { MethodKind } from "@bufbuild/protobuf";
8
+
9
+ /**
10
+ * @generated from service wellknownconfiguration.WellKnownService
11
+ */
12
+ export declare const WellKnownService: {
13
+ readonly typeName: "wellknownconfiguration.WellKnownService",
14
+ readonly methods: {
15
+ /**
16
+ * @generated from rpc wellknownconfiguration.WellKnownService.GetWellKnownConfiguration
17
+ */
18
+ readonly getWellKnownConfiguration: {
19
+ readonly name: "GetWellKnownConfiguration",
20
+ readonly I: typeof GetWellKnownConfigurationRequest,
21
+ readonly O: typeof GetWellKnownConfigurationResponse,
22
+ readonly kind: MethodKind.Unary,
23
+ },
24
+ }
25
+ };
26
+
@@ -0,0 +1,26 @@
1
+ // @generated by protoc-gen-connect-es v1.4.0 with parameter "target=js+dts,import_extension=none"
2
+ // @generated from file wellknownconfiguration/wellknown_configuration.proto (package wellknownconfiguration, syntax proto3)
3
+ /* eslint-disable */
4
+ // @ts-nocheck
5
+
6
+ import { GetWellKnownConfigurationRequest, GetWellKnownConfigurationResponse } from "./wellknown_configuration_pb";
7
+ import { MethodKind } from "@bufbuild/protobuf";
8
+
9
+ /**
10
+ * @generated from service wellknownconfiguration.WellKnownService
11
+ */
12
+ export const WellKnownService = {
13
+ typeName: "wellknownconfiguration.WellKnownService",
14
+ methods: {
15
+ /**
16
+ * @generated from rpc wellknownconfiguration.WellKnownService.GetWellKnownConfiguration
17
+ */
18
+ getWellKnownConfiguration: {
19
+ name: "GetWellKnownConfiguration",
20
+ I: GetWellKnownConfigurationRequest,
21
+ O: GetWellKnownConfigurationResponse,
22
+ kind: MethodKind.Unary,
23
+ },
24
+ }
25
+ };
26
+
@@ -0,0 +1,75 @@
1
+ // @generated by protoc-gen-es v1.9.0 with parameter "target=js+dts,import_extension=none"
2
+ // @generated from file wellknownconfiguration/wellknown_configuration.proto (package wellknownconfiguration, syntax proto3)
3
+ /* eslint-disable */
4
+ // @ts-nocheck
5
+
6
+ import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage, Struct } from "@bufbuild/protobuf";
7
+ import { Message, proto3 } from "@bufbuild/protobuf";
8
+
9
+ /**
10
+ * @generated from message wellknownconfiguration.WellKnownConfig
11
+ */
12
+ export declare class WellKnownConfig extends Message<WellKnownConfig> {
13
+ /**
14
+ * @generated from field: map<string, google.protobuf.Struct> configuration = 1;
15
+ */
16
+ configuration: { [key: string]: Struct };
17
+
18
+ constructor(data?: PartialMessage<WellKnownConfig>);
19
+
20
+ static readonly runtime: typeof proto3;
21
+ static readonly typeName = "wellknownconfiguration.WellKnownConfig";
22
+ static readonly fields: FieldList;
23
+
24
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): WellKnownConfig;
25
+
26
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): WellKnownConfig;
27
+
28
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): WellKnownConfig;
29
+
30
+ static equals(a: WellKnownConfig | PlainMessage<WellKnownConfig> | undefined, b: WellKnownConfig | PlainMessage<WellKnownConfig> | undefined): boolean;
31
+ }
32
+
33
+ /**
34
+ * @generated from message wellknownconfiguration.GetWellKnownConfigurationRequest
35
+ */
36
+ export declare class GetWellKnownConfigurationRequest extends Message<GetWellKnownConfigurationRequest> {
37
+ constructor(data?: PartialMessage<GetWellKnownConfigurationRequest>);
38
+
39
+ static readonly runtime: typeof proto3;
40
+ static readonly typeName = "wellknownconfiguration.GetWellKnownConfigurationRequest";
41
+ static readonly fields: FieldList;
42
+
43
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetWellKnownConfigurationRequest;
44
+
45
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetWellKnownConfigurationRequest;
46
+
47
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetWellKnownConfigurationRequest;
48
+
49
+ static equals(a: GetWellKnownConfigurationRequest | PlainMessage<GetWellKnownConfigurationRequest> | undefined, b: GetWellKnownConfigurationRequest | PlainMessage<GetWellKnownConfigurationRequest> | undefined): boolean;
50
+ }
51
+
52
+ /**
53
+ * @generated from message wellknownconfiguration.GetWellKnownConfigurationResponse
54
+ */
55
+ export declare class GetWellKnownConfigurationResponse extends Message<GetWellKnownConfigurationResponse> {
56
+ /**
57
+ * @generated from field: google.protobuf.Struct configuration = 1;
58
+ */
59
+ configuration?: Struct;
60
+
61
+ constructor(data?: PartialMessage<GetWellKnownConfigurationResponse>);
62
+
63
+ static readonly runtime: typeof proto3;
64
+ static readonly typeName = "wellknownconfiguration.GetWellKnownConfigurationResponse";
65
+ static readonly fields: FieldList;
66
+
67
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetWellKnownConfigurationResponse;
68
+
69
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetWellKnownConfigurationResponse;
70
+
71
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetWellKnownConfigurationResponse;
72
+
73
+ static equals(a: GetWellKnownConfigurationResponse | PlainMessage<GetWellKnownConfigurationResponse> | undefined, b: GetWellKnownConfigurationResponse | PlainMessage<GetWellKnownConfigurationResponse> | undefined): boolean;
74
+ }
75
+
@@ -0,0 +1,35 @@
1
+ // @generated by protoc-gen-es v1.9.0 with parameter "target=js+dts,import_extension=none"
2
+ // @generated from file wellknownconfiguration/wellknown_configuration.proto (package wellknownconfiguration, syntax proto3)
3
+ /* eslint-disable */
4
+ // @ts-nocheck
5
+
6
+ import { proto3, Struct } from "@bufbuild/protobuf";
7
+
8
+ /**
9
+ * @generated from message wellknownconfiguration.WellKnownConfig
10
+ */
11
+ export const WellKnownConfig = /*@__PURE__*/ proto3.makeMessageType(
12
+ "wellknownconfiguration.WellKnownConfig",
13
+ () => [
14
+ { no: 1, name: "configuration", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "message", T: Struct} },
15
+ ],
16
+ );
17
+
18
+ /**
19
+ * @generated from message wellknownconfiguration.GetWellKnownConfigurationRequest
20
+ */
21
+ export const GetWellKnownConfigurationRequest = /*@__PURE__*/ proto3.makeMessageType(
22
+ "wellknownconfiguration.GetWellKnownConfigurationRequest",
23
+ [],
24
+ );
25
+
26
+ /**
27
+ * @generated from message wellknownconfiguration.GetWellKnownConfigurationResponse
28
+ */
29
+ export const GetWellKnownConfigurationResponse = /*@__PURE__*/ proto3.makeMessageType(
30
+ "wellknownconfiguration.GetWellKnownConfigurationResponse",
31
+ () => [
32
+ { no: 1, name: "configuration", kind: "message", T: Struct },
33
+ ],
34
+ );
35
+
@@ -0,0 +1,61 @@
1
+ import { NetworkError, ServiceError } from '../errors.js';
2
+ import { AuthProvider } from '../auth/auth.js';
3
+ import { rstrip } from '../utils.js';
4
+ import { GetAttributeValuesByFqnsResponse, Value } from './attributes.js';
5
+
6
+ export async function attributeFQNsAsValues(
7
+ kasUrl: string,
8
+ authProvider: AuthProvider,
9
+ ...fqns: string[]
10
+ ): Promise<Value[]> {
11
+ const avs = new URLSearchParams();
12
+ for (const fqn of fqns) {
13
+ avs.append('fqns', fqn);
14
+ }
15
+ avs.append('withValue.withKeyAccessGrants', 'true');
16
+ avs.append('withValue.withAttribute.withKeyAccessGrants', 'true');
17
+ const uNoSlash = rstrip(kasUrl, '/');
18
+ const uNoKas = uNoSlash.endsWith('/kas') ? uNoSlash.slice(0, -4) : uNoSlash;
19
+ const url = `${uNoKas}/attributes/*/fqn?${avs}`;
20
+ const req = await authProvider.withCreds({
21
+ url,
22
+ headers: {},
23
+ method: 'GET',
24
+ });
25
+ let response: Response;
26
+ try {
27
+ response = await fetch(req.url, {
28
+ mode: 'cors',
29
+ credentials: 'same-origin',
30
+ headers: req.headers,
31
+ redirect: 'follow',
32
+ referrerPolicy: 'no-referrer',
33
+ });
34
+ } catch (e) {
35
+ throw new NetworkError(`network error [${req.method} ${req.url}]`, e);
36
+ }
37
+
38
+ if (!response.ok) {
39
+ throw new ServiceError(`${req.method} ${req.url} => ${response.status} ${response.statusText}`);
40
+ }
41
+
42
+ let resp: GetAttributeValuesByFqnsResponse;
43
+ try {
44
+ resp = (await response.json()) as GetAttributeValuesByFqnsResponse;
45
+ } catch (e) {
46
+ throw new ServiceError(`response parse error [${req.method} ${req.url}]`, e);
47
+ }
48
+
49
+ const values: Value[] = [];
50
+ for (const [fqn, av] of Object.entries(resp.fqnAttributeValues)) {
51
+ if (!av.value) {
52
+ console.log(`Missing value definition for [${fqn}]; is this a valid attribute?`);
53
+ continue;
54
+ }
55
+ if (av.attribute && !av.value.attribute) {
56
+ av.value.attribute = av.attribute;
57
+ }
58
+ values.push(av.value);
59
+ }
60
+ return values;
61
+ }
@@ -0,0 +1,117 @@
1
+ export type Metadata = {
2
+ /**
3
+ * created_at set by server (entity who created will recorded in an audit event)
4
+ * Format: date-time
5
+ */
6
+ createdAt?: string;
7
+
8
+ /**
9
+ * updated_at set by server (entity who updated will recorded in an audit event)
10
+ * Format: date-time
11
+ */
12
+ updatedAt?: string;
13
+
14
+ /** optional short description */
15
+ labels?: Record<string, string>;
16
+ };
17
+
18
+ export type KasPublicKeyAlgorithm =
19
+ | 'KAS_PUBLIC_KEY_ALG_ENUM_UNSPECIFIED'
20
+ | 'KAS_PUBLIC_KEY_ALG_ENUM_RSA_2048'
21
+ | 'KAS_PUBLIC_KEY_ALG_ENUM_EC_SECP256R1';
22
+
23
+ export type KasPublicKey = {
24
+ /** x509 ASN.1 content in PEM envelope, usually */
25
+ pem: string;
26
+ /** A unique string identifier for this key */
27
+ kid: string;
28
+ /**
29
+ * @description A known algorithm type with any additional parameters encoded.
30
+ * To start, these may be `rsa:2048` for encrypting ZTDF files and
31
+ * `ec:secp256r1` for nanoTDF, but more formats may be added as needed.
32
+ */
33
+ alg: KasPublicKeyAlgorithm;
34
+ };
35
+
36
+ export type KasPublicKeySet = {
37
+ keys: KasPublicKey[];
38
+ };
39
+
40
+ export type PublicKey = {
41
+ /** kas public key url - optional since can also be retrieved via public key */
42
+ remote?: string;
43
+ /** public key; PEM of RSA public key; prefer `cached` */
44
+ local?: string;
45
+ /** public key with additional information. Current preferred version */
46
+ cached?: KasPublicKeySet;
47
+ };
48
+
49
+ export type KeyAccessServer = {
50
+ id?: string;
51
+ /** Address of a KAS instance */
52
+ uri: string;
53
+ publicKey?: PublicKey;
54
+ metadata?: Metadata;
55
+ };
56
+
57
+ export type Namespace = {
58
+ /** uuid */
59
+ id?: string;
60
+ /** used to partition Attribute Definitions, support by namespace AuthN and enable federation */
61
+ name?: string;
62
+ fqn: string;
63
+ /** active by default until explicitly deactivated */
64
+ active?: boolean;
65
+ metadata?: Metadata;
66
+ grants?: KeyAccessServer[];
67
+ };
68
+
69
+ export type AttributeRuleType =
70
+ | 'ATTRIBUTE_RULE_TYPE_ENUM_UNSPECIFIED'
71
+ | 'ATTRIBUTE_RULE_TYPE_ENUM_ALL_OF'
72
+ | 'ATTRIBUTE_RULE_TYPE_ENUM_ANY_OF'
73
+ | 'ATTRIBUTE_RULE_TYPE_ENUM_HIERARCHY';
74
+
75
+ export type Attribute = {
76
+ /** UUID */
77
+ id?: string;
78
+ namespace?: Namespace;
79
+ /** attribute name */
80
+ name?: string;
81
+ /** attribute rule enum */
82
+ rule?: AttributeRuleType;
83
+ values?: Value[];
84
+ grants?: KeyAccessServer[];
85
+ fqn: string;
86
+ /** active by default until explicitly deactivated */
87
+ active?: boolean;
88
+ /** Common metadata */
89
+ metadata?: Metadata;
90
+ };
91
+
92
+ // This is not currently needed by the client, but may be returned.
93
+ // Setting it to unknown to allow it to be ignored for now.
94
+ export type SubjectMapping = unknown;
95
+
96
+ export type Value = {
97
+ id?: string;
98
+ attribute?: Attribute;
99
+ value?: string;
100
+ /** list of key access servers */
101
+ grants?: KeyAccessServer[];
102
+ fqn: string;
103
+ /** active by default until explicitly deactivated */
104
+ active?: boolean;
105
+ subjectMappings?: SubjectMapping[];
106
+ /** Common metadata */
107
+ metadata?: Metadata;
108
+ };
109
+
110
+ export type AttributeAndValue = {
111
+ attribute: Attribute;
112
+ value: Value;
113
+ };
114
+
115
+ export type GetAttributeValuesByFqnsResponse = {
116
+ fqnAttributeValues: Record<string, AttributeAndValue>;
117
+ };