@lifeready/core 0.6.0-beta.1

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 (225) hide show
  1. package/README.md +62 -0
  2. package/bundles/lifeready-core.umd.js +15939 -0
  3. package/bundles/lifeready-core.umd.js.map +1 -0
  4. package/bundles/lifeready-core.umd.min.js +2 -0
  5. package/bundles/lifeready-core.umd.min.js.map +1 -0
  6. package/esm2015/lib/_common/ast.js +40 -0
  7. package/esm2015/lib/_common/deferred-promise.js +24 -0
  8. package/esm2015/lib/_common/exceptions.js +157 -0
  9. package/esm2015/lib/_common/queries.gql.js +190 -0
  10. package/esm2015/lib/_common/run-outside-angular.js +79 -0
  11. package/esm2015/lib/_common/types.js +1 -0
  12. package/esm2015/lib/_common/utils.js +44 -0
  13. package/esm2015/lib/api/contact-card.gql.js +79 -0
  14. package/esm2015/lib/api/contact-card.service.js +154 -0
  15. package/esm2015/lib/api/contact-card2.gql.js +60 -0
  16. package/esm2015/lib/api/contact-card2.service.js +103 -0
  17. package/esm2015/lib/api/file.service.js +74 -0
  18. package/esm2015/lib/api/item2.gql.js +110 -0
  19. package/esm2015/lib/api/item2.service.js +311 -0
  20. package/esm2015/lib/api/key-exchange.gql.js +188 -0
  21. package/esm2015/lib/api/key-exchange.service.js +442 -0
  22. package/esm2015/lib/api/key-exchange.types.js +18 -0
  23. package/esm2015/lib/api/key-exchange2.gql.js +171 -0
  24. package/esm2015/lib/api/key-exchange2.service.js +479 -0
  25. package/esm2015/lib/api/lock.gql.js +40 -0
  26. package/esm2015/lib/api/lock.service.js +64 -0
  27. package/esm2015/lib/api/lr-apollo.service.js +46 -0
  28. package/esm2015/lib/api/lr-graphql/index.js +6 -0
  29. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +155 -0
  30. package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +213 -0
  31. package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +51 -0
  32. package/esm2015/lib/api/lr-graphql/lr-mutation.js +48 -0
  33. package/esm2015/lib/api/lr-graphql/lr.service.js +18 -0
  34. package/esm2015/lib/api/message.service.js +138 -0
  35. package/esm2015/lib/api/persist.service.js +181 -0
  36. package/esm2015/lib/api/query-processor/common-processors.service.js +93 -0
  37. package/esm2015/lib/api/query-processor/index.js +3 -0
  38. package/esm2015/lib/api/query-processor/query-processor.service.js +192 -0
  39. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +109 -0
  40. package/esm2015/lib/api/shared-contact-card.service.js +119 -0
  41. package/esm2015/lib/api/shared-contact-card2.gql.js +41 -0
  42. package/esm2015/lib/api/shared-contact-card2.service.js +117 -0
  43. package/esm2015/lib/api/time.service.js +146 -0
  44. package/esm2015/lib/api/types/graphql.types.js +7 -0
  45. package/esm2015/lib/api/types/index.js +3 -0
  46. package/esm2015/lib/api/types/lr-graphql.types.js +71 -0
  47. package/esm2015/lib/auth/auth.config.js +57 -0
  48. package/esm2015/lib/auth/auth.gql.js +48 -0
  49. package/esm2015/lib/auth/auth.types.js +27 -0
  50. package/esm2015/lib/auth/idle.service.js +168 -0
  51. package/esm2015/lib/auth/idle.types.js +7 -0
  52. package/esm2015/lib/auth/lbop.service.js +355 -0
  53. package/esm2015/lib/auth/life-ready-auth.service.js +333 -0
  54. package/esm2015/lib/auth/password.service.js +320 -0
  55. package/esm2015/lib/auth/register.service.js +172 -0
  56. package/esm2015/lib/auth/two-factor.service.js +74 -0
  57. package/esm2015/lib/category/category-meta.service.js +99 -0
  58. package/esm2015/lib/category/category.gql.js +406 -0
  59. package/esm2015/lib/category/category.service.js +390 -0
  60. package/esm2015/lib/category/category.types.js +29 -0
  61. package/esm2015/lib/cryptography/cryptography.types.js +11 -0
  62. package/esm2015/lib/cryptography/encryption.service.js +189 -0
  63. package/esm2015/lib/cryptography/key-factory.service.js +237 -0
  64. package/esm2015/lib/cryptography/key-graph.service.js +280 -0
  65. package/esm2015/lib/cryptography/key-meta.service.js +200 -0
  66. package/esm2015/lib/cryptography/key.service.js +124 -0
  67. package/esm2015/lib/cryptography/slip39.service.js +169 -0
  68. package/esm2015/lib/cryptography/web-crypto.service.js +29 -0
  69. package/esm2015/lib/life-ready.config.js +84 -0
  70. package/esm2015/lib/life-ready.module.js +74 -0
  71. package/esm2015/lib/plan/plan.gql.js +123 -0
  72. package/esm2015/lib/plan/plan.service.js +149 -0
  73. package/esm2015/lib/plan/plan.types.js +11 -0
  74. package/esm2015/lib/record/record-attachment.service.js +101 -0
  75. package/esm2015/lib/record/record.gql.js +179 -0
  76. package/esm2015/lib/record/record.service.js +206 -0
  77. package/esm2015/lib/record/record.types.js +15 -0
  78. package/esm2015/lib/record-type/record-type.service.js +75 -0
  79. package/esm2015/lib/record-type/record-type.types.js +28 -0
  80. package/esm2015/lib/scenario/approvals/scenario-approval.gql.js +105 -0
  81. package/esm2015/lib/scenario/approvals/scenario-approval.types.js +1 -0
  82. package/esm2015/lib/scenario/approvals/scenario-approver.service.js +300 -0
  83. package/esm2015/lib/scenario/claimants/scenario-claimant.gql.js +52 -0
  84. package/esm2015/lib/scenario/claimants/scenario-claimant.service.js +97 -0
  85. package/esm2015/lib/scenario/claimants/scenario-claimant.types.js +1 -0
  86. package/esm2015/lib/scenario/receivers/scenario-receiver.gql.js +150 -0
  87. package/esm2015/lib/scenario/receivers/scenario-receiver.service.js +229 -0
  88. package/esm2015/lib/scenario/receivers/scenario-receiver.types.js +1 -0
  89. package/esm2015/lib/scenario/scenario-setup.service.js +269 -0
  90. package/esm2015/lib/scenario/scenario.gql.js +368 -0
  91. package/esm2015/lib/scenario/scenario.service.js +611 -0
  92. package/esm2015/lib/scenario/scenario.types.js +64 -0
  93. package/esm2015/lib/search/search.gql.js +62 -0
  94. package/esm2015/lib/search/search.service.js +156 -0
  95. package/esm2015/lib/search/search.types.js +6 -0
  96. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +112 -0
  97. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +266 -0
  98. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +232 -0
  99. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +300 -0
  100. package/esm2015/lib/trusted-parties/trusted-party.gql.js +148 -0
  101. package/esm2015/lib/trusted-parties/trusted-party.service.js +326 -0
  102. package/esm2015/lib/trusted-parties/trusted-party.types.js +41 -0
  103. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +87 -0
  104. package/esm2015/lib/trusted-parties/trusted-party2.service.js +215 -0
  105. package/esm2015/lib/users/profile-details.service.js +214 -0
  106. package/esm2015/lib/users/profile.gql.js +97 -0
  107. package/esm2015/lib/users/profile.service.js +169 -0
  108. package/esm2015/lib/users/profile.types.js +34 -0
  109. package/esm2015/lib/users/user.gql.js +60 -0
  110. package/esm2015/lib/users/user.service.js +79 -0
  111. package/esm2015/lib/users/user.types.js +5 -0
  112. package/esm2015/lifeready-core.js +10 -0
  113. package/esm2015/public-api.js +81 -0
  114. package/fesm2015/lifeready-core.js +13290 -0
  115. package/fesm2015/lifeready-core.js.map +1 -0
  116. package/lib/_common/ast.d.ts +11 -0
  117. package/lib/_common/deferred-promise.d.ts +12 -0
  118. package/lib/_common/exceptions.d.ts +109 -0
  119. package/lib/_common/queries.gql.d.ts +10 -0
  120. package/lib/_common/run-outside-angular.d.ts +14 -0
  121. package/lib/_common/types.d.ts +10 -0
  122. package/lib/_common/utils.d.ts +3 -0
  123. package/lib/api/contact-card.gql.d.ts +7 -0
  124. package/lib/api/contact-card.service.d.ts +52 -0
  125. package/lib/api/contact-card2.gql.d.ts +34 -0
  126. package/lib/api/contact-card2.service.d.ts +49 -0
  127. package/lib/api/file.service.d.ts +18 -0
  128. package/lib/api/item2.gql.d.ts +96 -0
  129. package/lib/api/item2.service.d.ts +177 -0
  130. package/lib/api/key-exchange.gql.d.ts +9 -0
  131. package/lib/api/key-exchange.service.d.ts +39 -0
  132. package/lib/api/key-exchange.types.d.ts +196 -0
  133. package/lib/api/key-exchange2.gql.d.ts +125 -0
  134. package/lib/api/key-exchange2.service.d.ts +187 -0
  135. package/lib/api/lock.gql.d.ts +27 -0
  136. package/lib/api/lock.service.d.ts +25 -0
  137. package/lib/api/lr-apollo.service.d.ts +15 -0
  138. package/lib/api/lr-graphql/index.d.ts +5 -0
  139. package/lib/api/lr-graphql/lr-graphql.service.d.ts +60 -0
  140. package/lib/api/lr-graphql/lr-merged-mutation.d.ts +27 -0
  141. package/lib/api/lr-graphql/lr-mutation-base.d.ts +28 -0
  142. package/lib/api/lr-graphql/lr-mutation.d.ts +8 -0
  143. package/lib/api/lr-graphql/lr.service.d.ts +9 -0
  144. package/lib/api/message.service.d.ts +58 -0
  145. package/lib/api/persist.service.d.ts +31 -0
  146. package/lib/api/query-processor/common-processors.service.d.ts +36 -0
  147. package/lib/api/query-processor/index.d.ts +2 -0
  148. package/lib/api/query-processor/query-processor.service.d.ts +18 -0
  149. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +15 -0
  150. package/lib/api/shared-contact-card.service.d.ts +33 -0
  151. package/lib/api/shared-contact-card2.gql.d.ts +36 -0
  152. package/lib/api/shared-contact-card2.service.d.ts +45 -0
  153. package/lib/api/time.service.d.ts +16 -0
  154. package/lib/api/types/graphql.types.d.ts +29 -0
  155. package/lib/api/types/index.d.ts +2 -0
  156. package/lib/api/types/lr-graphql.types.d.ts +385 -0
  157. package/lib/auth/auth.config.d.ts +5 -0
  158. package/lib/auth/auth.gql.d.ts +15 -0
  159. package/lib/auth/auth.types.d.ts +66 -0
  160. package/lib/auth/idle.service.d.ts +40 -0
  161. package/lib/auth/idle.types.d.ts +10 -0
  162. package/lib/auth/lbop.service.d.ts +91 -0
  163. package/lib/auth/life-ready-auth.service.d.ts +46 -0
  164. package/lib/auth/password.service.d.ts +78 -0
  165. package/lib/auth/register.service.d.ts +25 -0
  166. package/lib/auth/two-factor.service.d.ts +15 -0
  167. package/lib/category/category-meta.service.d.ts +23 -0
  168. package/lib/category/category.gql.d.ts +45 -0
  169. package/lib/category/category.service.d.ts +67 -0
  170. package/lib/category/category.types.d.ts +79 -0
  171. package/lib/cryptography/cryptography.types.d.ts +83 -0
  172. package/lib/cryptography/encryption.service.d.ts +41 -0
  173. package/lib/cryptography/key-factory.service.d.ts +38 -0
  174. package/lib/cryptography/key-graph.service.d.ts +33 -0
  175. package/lib/cryptography/key-meta.service.d.ts +44 -0
  176. package/lib/cryptography/key.service.d.ts +36 -0
  177. package/lib/cryptography/slip39.service.d.ts +43 -0
  178. package/lib/cryptography/web-crypto.service.d.ts +5 -0
  179. package/lib/life-ready.config.d.ts +14 -0
  180. package/lib/life-ready.module.d.ts +5 -0
  181. package/lib/plan/plan.gql.d.ts +11 -0
  182. package/lib/plan/plan.service.d.ts +33 -0
  183. package/lib/plan/plan.types.d.ts +31 -0
  184. package/lib/record/record-attachment.service.d.ts +16 -0
  185. package/lib/record/record.gql.d.ts +14 -0
  186. package/lib/record/record.service.d.ts +25 -0
  187. package/lib/record/record.types.d.ts +57 -0
  188. package/lib/record-type/record-type.service.d.ts +11 -0
  189. package/lib/record-type/record-type.types.d.ts +50 -0
  190. package/lib/scenario/approvals/scenario-approval.gql.d.ts +7 -0
  191. package/lib/scenario/approvals/scenario-approval.types.d.ts +63 -0
  192. package/lib/scenario/approvals/scenario-approver.service.d.ts +32 -0
  193. package/lib/scenario/claimants/scenario-claimant.gql.d.ts +5 -0
  194. package/lib/scenario/claimants/scenario-claimant.service.d.ts +17 -0
  195. package/lib/scenario/claimants/scenario-claimant.types.d.ts +18 -0
  196. package/lib/scenario/receivers/scenario-receiver.gql.d.ts +8 -0
  197. package/lib/scenario/receivers/scenario-receiver.service.d.ts +30 -0
  198. package/lib/scenario/receivers/scenario-receiver.types.d.ts +54 -0
  199. package/lib/scenario/scenario-setup.service.d.ts +22 -0
  200. package/lib/scenario/scenario.gql.d.ts +34 -0
  201. package/lib/scenario/scenario.service.d.ts +58 -0
  202. package/lib/scenario/scenario.types.d.ts +217 -0
  203. package/lib/search/search.gql.d.ts +1 -0
  204. package/lib/search/search.service.d.ts +25 -0
  205. package/lib/search/search.types.d.ts +20 -0
  206. package/lib/trusted-parties/tp-password-reset-request.service.d.ts +20 -0
  207. package/lib/trusted-parties/tp-password-reset-user.service.d.ts +41 -0
  208. package/lib/trusted-parties/tp-password-reset.gql.d.ts +218 -0
  209. package/lib/trusted-parties/tp-password-reset.service.d.ts +131 -0
  210. package/lib/trusted-parties/trusted-party.gql.d.ts +9 -0
  211. package/lib/trusted-parties/trusted-party.service.d.ts +44 -0
  212. package/lib/trusted-parties/trusted-party.types.d.ts +102 -0
  213. package/lib/trusted-parties/trusted-party2.gql.d.ts +79 -0
  214. package/lib/trusted-parties/trusted-party2.service.d.ts +114 -0
  215. package/lib/users/profile-details.service.d.ts +21 -0
  216. package/lib/users/profile.gql.d.ts +11 -0
  217. package/lib/users/profile.service.d.ts +35 -0
  218. package/lib/users/profile.types.d.ts +96 -0
  219. package/lib/users/user.gql.d.ts +9 -0
  220. package/lib/users/user.service.d.ts +12 -0
  221. package/lib/users/user.types.d.ts +23 -0
  222. package/lifeready-core.d.ts +9 -0
  223. package/lifeready-core.metadata.json +1 -0
  224. package/package.json +29 -0
  225. package/public-api.d.ts +77 -0
@@ -0,0 +1,385 @@
1
+ import { Connection, DateTime, GenericScalar, ID, JSONString, LrEmail, Node, TimeStamped } from './graphql.types';
2
+ export declare type UserStripeNode = any;
3
+ export declare type UserPlanNode = any;
4
+ export declare type UserDeleteNode = any;
5
+ export declare type FeaturesNode = any;
6
+ export declare type ScenarioNode = any;
7
+ export declare type SharedScenarioNode = any;
8
+ export declare type TpPasswordResetRequestNode = any;
9
+ export interface PassKeyNode extends Node, TimeStamped {
10
+ passKeyParams?: GenericScalar;
11
+ passIdpParams?: GenericScalar;
12
+ wrappedPassIdpVerifierPrk?: GenericScalar;
13
+ }
14
+ export interface CurrentUserKeyNode extends Node, TimeStamped {
15
+ passKeys?: PassKeyNode[];
16
+ passKey?: PassKeyNode;
17
+ rootKey?: KeyNode;
18
+ masterKey?: KeyNode;
19
+ pxk?: KeyNode;
20
+ sigPxk?: KeyNode;
21
+ }
22
+ export interface UserNode extends Node {
23
+ username?: string;
24
+ contactCards?: Connection<ContactCardNode>;
25
+ currentUserKey?: CurrentUserKeyNode;
26
+ ownedContactCard?: SharedContactCardNode;
27
+ receivedContactCard?: SharedContactCardNode;
28
+ isCurrentUser?: boolean;
29
+ haveTp?: boolean;
30
+ stripe?: UserStripeNode;
31
+ userPlans?: Connection<UserPlanNode>;
32
+ userDelete?: UserDeleteNode;
33
+ features?: FeaturesNode;
34
+ }
35
+ export interface ServerTime {
36
+ timestamp?: string;
37
+ }
38
+ export interface KeyNode extends Node, TimeStamped {
39
+ pbk?: string;
40
+ }
41
+ export interface ContactCardNode extends Node, TimeStamped {
42
+ owner?: UserNode;
43
+ publicDataSig?: string;
44
+ publicSearchableSig?: string;
45
+ sigPxk?: KeyNode;
46
+ defaultFrom?: DateTime;
47
+ publicData?: string;
48
+ publicSearchable?: string;
49
+ cipherData?: string;
50
+ cipherDataClearJson?: any;
51
+ key?: KeyNode;
52
+ plainData?: string;
53
+ plainDataSig?: string;
54
+ }
55
+ export interface DirectoryNode extends Node, TimeStamped {
56
+ plainMeta?: JSONString;
57
+ plainMetaJson?: any;
58
+ cipherMeta?: string;
59
+ cipherMetaClearJson?: any;
60
+ archived?: boolean;
61
+ keyId?: ID;
62
+ childFileLinks?: Connection<FileLinkNode>;
63
+ childDirectoryLinks?: Connection<DirectoryLinkNode>;
64
+ parentDirectoryLinks?: Connection<DirectoryLinkNode>;
65
+ nParentDirectoryLinks?: DirectoryLinkNodeLrNList;
66
+ descendants?: Descendants;
67
+ accessRoles?: AccessRole[];
68
+ }
69
+ export interface FileNode extends Node, TimeStamped {
70
+ currentVersion?: FileVersionNode;
71
+ archived?: boolean;
72
+ versions?: Connection<FileVersionNode>;
73
+ keyId?: ID;
74
+ parentDirectoryLinks?: Connection<FileLinkNode>;
75
+ nParentDirectoryLinks?: FileLinkNodeLrNList;
76
+ accessRoles?: AccessRole[];
77
+ }
78
+ export interface DirectoryLinkNode extends Node, TimeStamped {
79
+ parentDirectory?: DirectoryNode;
80
+ childDirectory?: DirectoryNode;
81
+ }
82
+ export interface FileLinkNode extends Node, TimeStamped {
83
+ parentDirectory?: DirectoryNode;
84
+ childFile?: FileNode;
85
+ }
86
+ export interface DirectoryLinkNodeLrNList {
87
+ list?: DirectoryLinkNode[];
88
+ }
89
+ export interface FileLinkNodeLrNList {
90
+ list?: FileLinkNode[];
91
+ }
92
+ export interface Descendants {
93
+ directories?: Connection<DirectoryNode>;
94
+ files?: Connection<FileNode>;
95
+ directoriesCount?: number;
96
+ filesCount?: number;
97
+ }
98
+ export declare enum AccessRoleChoice {
99
+ READER = "READER",
100
+ WRITER = "WRITER",
101
+ ADMIN = "ADMIN",
102
+ DENY = "DENY",
103
+ OWNER = "OWNER"
104
+ }
105
+ export declare enum AccessRoleMethod {
106
+ inherited = "inherited",
107
+ direct = "direct"
108
+ }
109
+ export interface AccessRole {
110
+ issuer?: UserNode;
111
+ subject?: UserNode;
112
+ role?: AccessRoleChoice;
113
+ method?: AccessRoleMethod;
114
+ inheritedFrom?: DirectoryNode;
115
+ trustedParty?: TpNode;
116
+ isIssuer?: boolean;
117
+ }
118
+ export declare enum FileVersionOperation {
119
+ CREATE = "CREATE",
120
+ READ = "READ",
121
+ UPDATE = "UPDATE",
122
+ REVERT = "REVERT",
123
+ DELETE = "DELETE"
124
+ }
125
+ export interface FileVersionNode extends Node, TimeStamped {
126
+ file?: FileNode;
127
+ state?: FileStateNode;
128
+ operation?: FileVersionOperation;
129
+ author?: UserNode;
130
+ }
131
+ export interface FileStateNode extends Node, TimeStamped {
132
+ plainMeta?: JSONString;
133
+ plainMetaJson?: any;
134
+ cipherMeta?: string;
135
+ cipherMetaClearJson?: any;
136
+ contentResource?: string;
137
+ versions?: Connection<FileVersionNode>;
138
+ keyId: ID;
139
+ }
140
+ export declare enum KeyExchangeOtkState {
141
+ OTK_INITIATED = "OTK_INITIATED",
142
+ OTK_ACCEPTED = "OTK_ACCEPTED",
143
+ OTK_COMPLETED = "OTK_COMPLETED"
144
+ }
145
+ export interface ContactCardSharedCipherData {
146
+ sharedCipherDataClearJson: any;
147
+ }
148
+ /**
149
+ * The contents of the one-time key cipher
150
+ */
151
+ export interface OtKeyCipherClearJson2 {
152
+ nonce: string;
153
+ initiator: {
154
+ oneTimePbk: object;
155
+ pbk: object;
156
+ sigPbk: object;
157
+ message?: any;
158
+ contactCard?: ContactCardSharedCipherData;
159
+ };
160
+ }
161
+ export interface KeyExchangeOtkNode extends Node, TimeStamped {
162
+ state?: KeyExchangeOtkState;
163
+ sharedKey?: KeyNode;
164
+ mkSharedKey?: KeyNode;
165
+ initiatorSigPxk?: KeyNode;
166
+ responderSigPxk?: KeyNode;
167
+ initiatorOneTimePbkCipher?: string;
168
+ otKeyParams?: string;
169
+ otKeyCipher?: string;
170
+ otKeyCipherClearJson?: OtKeyCipherClearJson2;
171
+ responderPbkCipher?: string;
172
+ }
173
+ export declare enum KeyExchangeState {
174
+ IN_PROGRESS = "IN_PROGRESS",
175
+ COMPLETED = "COMPLETED",
176
+ DECLINED = "DECLINED",
177
+ CANCELLED = "CANCELLED",
178
+ DELETED = "DELETED"
179
+ }
180
+ export declare enum KeyExchangeMode {
181
+ OTK = "OTK"
182
+ }
183
+ export interface KeyExchangeNode extends Node, TimeStamped {
184
+ expiryTime?: DateTime;
185
+ token?: string;
186
+ tokenExpiryTime?: DateTime;
187
+ state?: KeyExchangeState;
188
+ mode?: KeyExchangeMode;
189
+ initiator?: UserNode;
190
+ responder?: UserNode;
191
+ initiatorRootKeyCipher?: string;
192
+ responderRootKeyCipher?: string;
193
+ initiatorActionRequired?: boolean;
194
+ responderActionRequired?: boolean;
195
+ createTp?: boolean;
196
+ otk?: KeyExchangeOtkNode;
197
+ isInitiator?: boolean;
198
+ isExpired?: boolean;
199
+ responderEmailAddress?: LrEmail;
200
+ }
201
+ export interface SharedItems {
202
+ directories?: Connection<DirectoryNode>;
203
+ files?: Connection<FileNode>;
204
+ }
205
+ export interface SharedContactCardNode extends Node, TimeStamped {
206
+ owner?: UserNode;
207
+ receiver?: UserNode;
208
+ sharedKey?: KeyNode;
209
+ sharedCipherData?: string;
210
+ sharedCipherDataClearJson?: any;
211
+ sharedCipherDataSig?: string;
212
+ sharedCipherDataSigPxk?: KeyNode;
213
+ ownerCipherData?: string;
214
+ ownerCipherDataClearJson?: any;
215
+ ownerKey?: KeyNode;
216
+ ownerPlainData?: string;
217
+ ownerPlainDataJson?: any;
218
+ ownerPlainDataSig?: string;
219
+ receiverCipherData?: string;
220
+ receiverCipherDataClearJson?: any;
221
+ receiverKey?: KeyNode;
222
+ }
223
+ export interface UserSharedKeyNode extends Node, TimeStamped {
224
+ keyExchange?: KeyExchangeNode;
225
+ user?: UserNode;
226
+ userPrk?: KeyNode;
227
+ userSigPrk?: KeyNode;
228
+ other?: UserNode;
229
+ otherPbk?: KeyNode;
230
+ otherSigPbk?: KeyNode;
231
+ sharedKey?: KeyNode;
232
+ mkSharedKey?: KeyNode;
233
+ mkPxk?: KeyNode;
234
+ mkReshareRequestCipher?: string;
235
+ mkReshareResponseCipher?: string;
236
+ mkReshareRequestCipherClearJson?: any;
237
+ mkReshareResponseCipherClearJson?: any;
238
+ mkReshareRequestSent?: boolean;
239
+ mkReshareResponseSent?: boolean;
240
+ }
241
+ export interface CurrentUserSharedKeyNode extends Node, TimeStamped {
242
+ user?: UserNode;
243
+ other?: UserNode;
244
+ userSharedKey?: UserSharedKeyNode;
245
+ }
246
+ export interface TpNode extends Node, TimeStamped {
247
+ user?: UserNode;
248
+ other?: UserNode;
249
+ currentUserSharedKey?: CurrentUserSharedKeyNode;
250
+ isCompleted?: boolean;
251
+ sharedKey?: KeyNode;
252
+ sharedContactCard?: SharedContactCardNode;
253
+ myContactCard?: SharedContactCardNode;
254
+ myItems?: SharedItems;
255
+ sharedItems?: SharedItems;
256
+ myScenarios?: Connection<ScenarioNode>;
257
+ sharedScenarios?: Connection<SharedScenarioNode>;
258
+ }
259
+ export declare enum TpAssemblyState {
260
+ DISABLED = "DISABLED",
261
+ ENABLED = "ENABLED",
262
+ CLAIMED = "CLAIMED",
263
+ APPROVED = "APPROVED",
264
+ REJECTED = "REJECTED",
265
+ EXPIRED = "EXPIRED",
266
+ CANCELLED = "CANCELLED",
267
+ RESET = "RESET"
268
+ }
269
+ export declare enum TpClaimState {
270
+ CLAIMED = "CLAIMED",
271
+ APPROVED = "APPROVED",
272
+ REJECTED = "REJECTED",
273
+ EXPIRED = "EXPIRED",
274
+ CANCELLED = "CANCELLED",
275
+ RESET = "RESET"
276
+ }
277
+ export declare enum TpClaimApproverState {
278
+ CLAIMED = "CLAIMED",
279
+ APPROVED = "APPROVED",
280
+ REJECTED = "REJECTED"
281
+ }
282
+ export interface TpPasswordResetApproval extends Node, TimeStamped {
283
+ approverEmail?: string;
284
+ receiverCipher?: string;
285
+ receiverCipherClearJson?: any;
286
+ receiverCipherPartialAssemblyKey?: string;
287
+ receiverCipherPartialAssemblyKeyClearJson?: any;
288
+ }
289
+ export interface TpPasswordResetUserApprovalNode extends Node, TimeStamped {
290
+ receiverCipher?: string;
291
+ receiverCipherClearJson?: any;
292
+ receiverCipherPartialAssemblyKey?: string;
293
+ receiverCipherPartialAssemblyKeyClearJson?: any;
294
+ approverEmail?: string;
295
+ }
296
+ export interface TpPasswordResetUserApprover {
297
+ name?: string;
298
+ email?: string;
299
+ state?: TpClaimApproverState;
300
+ }
301
+ export interface TpPasswordResetUserSubAssembly {
302
+ singleReject?: boolean;
303
+ quorum?: number;
304
+ approvers?: TpPasswordResetUserApprover[];
305
+ }
306
+ export interface TpPasswordResetUserAssembly {
307
+ singleReject?: boolean;
308
+ quorum?: number;
309
+ subAssemblies?: TpPasswordResetUserSubAssembly[];
310
+ }
311
+ export interface TpPasswordResetUserNode {
312
+ username?: string;
313
+ resetUsername?: string;
314
+ state?: TpClaimState;
315
+ passKey?: PassKeyNode;
316
+ masterKey?: KeyNode;
317
+ pxk?: KeyNode;
318
+ sessionEncryptionKey?: string;
319
+ approvals?: TpPasswordResetUserApprovalNode[];
320
+ assemblyCipherData?: string;
321
+ wrappedAssemblyKeyVerifierPrk?: string;
322
+ assembly?: TpPasswordResetUserAssembly;
323
+ }
324
+ export interface TpPasswordResetNode extends Node, TimeStamped {
325
+ assembly?: TpAssemblyNode;
326
+ request?: TpPasswordResetRequestNode;
327
+ applied?: boolean;
328
+ }
329
+ export interface TpAssemblyNode extends Node, TimeStamped {
330
+ id?: ID;
331
+ singleReject?: boolean;
332
+ quorum?: number;
333
+ subjectKey?: KeyNode;
334
+ assemblyKey?: KeyNode;
335
+ assemblyCipherData?: string;
336
+ assemblyCipherDataClearJson?: any;
337
+ subAssemblies?: Connection<TpSubAssemblyNode>;
338
+ }
339
+ export interface TpSubAssemblyNode extends Node, TimeStamped {
340
+ singleReject?: boolean;
341
+ quorum?: number;
342
+ subjectCipherData?: string;
343
+ subjectCipherDataClearJson?: string;
344
+ approvers?: Connection<TpAssemblyApproverNode>;
345
+ }
346
+ export interface TpAssemblyApproverNode extends Node, TimeStamped {
347
+ sharedKey?: KeyNode;
348
+ sharedCipherData?: string;
349
+ sharedCipherApprovalData?: string;
350
+ tp?: TpNode;
351
+ }
352
+ export interface SharedTpPasswordResetNode extends Node, TimeStamped {
353
+ assembly?: SharedTpAssemblyNode;
354
+ tp?: TpNode;
355
+ sharedRequest?: SharedTpPasswordResetRequestNode;
356
+ }
357
+ export interface SharedTpAssemblyNode extends Node, TimeStamped {
358
+ asApprovers?: Connection<TpAssemblyAsApproverNode>;
359
+ }
360
+ export interface TpAssemblyAsApproverNode extends Node, TimeStamped {
361
+ sharedKey?: KeyNode;
362
+ sharedCipherData?: string;
363
+ }
364
+ export interface SharedTpPasswordResetRequestNode extends Node, TimeStamped {
365
+ claim?: SharedTpClaimNode;
366
+ pxk?: KeyNode;
367
+ }
368
+ export interface SharedTpClaimNode extends Node, TimeStamped {
369
+ state?: TpClaimState;
370
+ asClaimApprovers?: Connection<SharedTpClaimApproverNode>;
371
+ }
372
+ export interface SharedTpClaimApproverNode extends Node, TimeStamped {
373
+ state?: TpClaimApproverState;
374
+ sharedKey?: KeyNode;
375
+ sharedCipherApprovalData?: string;
376
+ sharedCipherPartialAssemblyKey?: string;
377
+ receiverApprovals?: Connection<SharedTpClaimReceiverApprovalNode>;
378
+ }
379
+ export interface SharedTpClaimReceiverApprovalNode extends Node, TimeStamped {
380
+ pxk?: KeyNode;
381
+ }
382
+ export declare enum LockState {
383
+ UNLOCKED = "UNLOCKED",
384
+ MUTEX_LOCKED = "MUTEX_LOCKED"
385
+ }
@@ -0,0 +1,5 @@
1
+ import { AuthClass } from '@aws-amplify/auth/lib-esm/Auth';
2
+ import { LifeReadyConfig } from '../life-ready.config';
3
+ export declare function handleCognitoCallback<T>(method: (callback: (err?: Error, result?: T) => void) => void): Promise<T>;
4
+ export declare const awsFetch: (authUrl: string) => (url: any, options: any) => Promise<Response>;
5
+ export declare const configureAmplifyAuth: ({ authUrl: authUrl, userPoolId, userPoolWebClientId }: LifeReadyConfig, auth: AuthClass) => () => void;
@@ -0,0 +1,15 @@
1
+ export declare const PasswordChangeRequestMutation: import("graphql").DocumentNode;
2
+ export declare const PasswordChangeMutation: import("graphql").DocumentNode;
3
+ export declare const PasswordChangeConfigQuery: import("graphql").DocumentNode;
4
+ export interface SetSessionEncryptionKeyMutation {
5
+ setSessionEncryptionKey: {
6
+ sessionEncryptionKey: string;
7
+ };
8
+ }
9
+ export declare const SetSessionEncryptionKeyMutation: import("../_common/ast").TypedDocumentNode<SetSessionEncryptionKeyMutation>;
10
+ export interface ClearSessionEncryptionKeyMutation {
11
+ clearSessionEncryptionKey: {
12
+ sessionEncryptionKey: string;
13
+ };
14
+ }
15
+ export declare const ClearSessionEncryptionKeyMutation: import("../_common/ast").TypedDocumentNode<ClearSessionEncryptionKeyMutation>;
@@ -0,0 +1,66 @@
1
+ import { CognitoUser } from '@aws-amplify/auth';
2
+ import { JWK } from 'node-jose';
3
+ import { TpPasswordResetUserNode } from '../api/types';
4
+ import { PassIdpParams, PassKeyParams } from '../cryptography/cryptography.types';
5
+ import { UserPlan } from '../plan/plan.types';
6
+ import { CurrentUserKey, MainContactCard } from '../users/profile.types';
7
+ import { UserDelete } from '../users/user.types';
8
+ export interface PassKeyBundle {
9
+ passKeyParams: PassKeyParams;
10
+ passKey: JWK.Key;
11
+ passIdpParams: PassIdpParams;
12
+ passIdp: JWK.Key;
13
+ passIdpVerifier: JWK.Key;
14
+ wrappedPassIdpVerifierPrk: object;
15
+ }
16
+ export declare class CognitoChallengeUser extends CognitoUser {
17
+ recoveryStatus: RecoveryStatus;
18
+ challengeName: 'SMS_MFA' | 'SOFTWARE_TOKEN_MFA';
19
+ challengeParam: any;
20
+ isTpPasswordResetUser: boolean;
21
+ }
22
+ export declare enum FeatureAction {
23
+ ACCESS = "access"
24
+ }
25
+ export declare class Features {
26
+ myVault: FeatureAction[];
27
+ tpVault: FeatureAction[];
28
+ shareVault: FeatureAction[];
29
+ }
30
+ export declare class CurrentUser {
31
+ id: string;
32
+ sub: string;
33
+ username: string;
34
+ currentUserKey: CurrentUserKey;
35
+ email: string;
36
+ emailVerified: boolean;
37
+ phone: string;
38
+ phoneVerified: boolean;
39
+ getAccessJwtToken: () => string;
40
+ contactCard: MainContactCard;
41
+ userDelete?: UserDelete;
42
+ userPlans: UserPlan[];
43
+ features: Features;
44
+ hasTPVaultAccess: boolean;
45
+ sessionEncryptionKey: string;
46
+ }
47
+ export interface TpPasswordResetUser extends TpPasswordResetUserNode {
48
+ sub: string;
49
+ }
50
+ export declare class LoginResult {
51
+ hasChallenge: boolean;
52
+ challenge?: CognitoChallengeUser;
53
+ user?: CurrentUser;
54
+ resetUser?: TpPasswordResetUserNode;
55
+ }
56
+ export declare class RegisterResult {
57
+ username: string;
58
+ userId: string;
59
+ preSignUpToken: string;
60
+ userSub: string;
61
+ }
62
+ export declare enum RecoveryStatus {
63
+ NONE = "none",
64
+ NEW_PASSWORD = "new-password",
65
+ OLD_PASSWORD = "old-password"
66
+ }
@@ -0,0 +1,40 @@
1
+ import { Idle } from '@ng-idle/core';
2
+ import { Keepalive } from '@ng-idle/keepalive';
3
+ import { KeyService } from '../cryptography/key.service';
4
+ import { LifeReadyConfig } from '../life-ready.config';
5
+ import { HttpClient } from '@angular/common/http';
6
+ import { KeepaliveResult } from './idle.types';
7
+ import { Key } from '../cryptography/cryptography.types';
8
+ import { AuthClass } from '@aws-amplify/auth/lib-esm/Auth';
9
+ export interface IdleServiceInit {
10
+ onTimeout?: (() => any) | (() => Promise<any>) | null;
11
+ onKeepalive?: (() => any) | (() => Promise<any>) | null;
12
+ idleSec?: number;
13
+ timeoutSec?: number;
14
+ keepAliveIntervalSec?: number;
15
+ }
16
+ export declare class IdleService {
17
+ private config;
18
+ private http;
19
+ private idle;
20
+ private keepalive;
21
+ private keyService;
22
+ private auth;
23
+ private readonly IDLE_EXPIRY_KEY;
24
+ private readonly IDLING_KEY;
25
+ private initCalled;
26
+ private onTimeout;
27
+ private onKeepalive;
28
+ constructor(config: LifeReadyConfig, http: HttpClient, idle: Idle, keepalive: Keepalive, keyService: KeyService, auth: AuthClass);
29
+ private assertInit;
30
+ init(params?: IdleServiceInit): Promise<void>;
31
+ keepalivePost(): Promise<{
32
+ expiresAfterSeconds: number;
33
+ keepaliveResult: KeepaliveResult;
34
+ }>;
35
+ persistMasterKey(masterKey: Key): Promise<void>;
36
+ private onPing;
37
+ start(): Promise<void>;
38
+ stop(): void;
39
+ private reset;
40
+ }
@@ -0,0 +1,10 @@
1
+ export declare enum Config {
2
+ TIMEOUT = 0.01,
3
+ IDLE = 1200,
4
+ KEEP_ALIVE_INTERVAL = 60
5
+ }
6
+ export interface KeepaliveResult {
7
+ session: {
8
+ expires_after_seconds: number;
9
+ };
10
+ }
@@ -0,0 +1,91 @@
1
+ import { LrApolloService } from '../api/lr-apollo.service';
2
+ import { HttpClient } from '@angular/common/http';
3
+ import { AuthClass } from '@aws-amplify/auth/lib-esm/Auth';
4
+ import { JWK } from 'node-jose';
5
+ import { EncryptionService } from '../cryptography/encryption.service';
6
+ import { KeyGraphService } from '../cryptography/key-graph.service';
7
+ import { KeyService } from '../cryptography/key.service';
8
+ import { LifeReadyConfig } from '../life-ready.config';
9
+ import { LifeReadyAuthService } from './life-ready-auth.service';
10
+ import { PasswordService } from './password.service';
11
+ import { KeyFactoryService as KFS } from '../cryptography/key-factory.service';
12
+ export interface SetPasswordParams {
13
+ lbopId: string;
14
+ newPassword: string;
15
+ verifiedToken: string;
16
+ masterKeyId: string;
17
+ masterKey: JWK.Key;
18
+ }
19
+ export interface VerifyContactParams {
20
+ email?: string;
21
+ phone?: string;
22
+ }
23
+ export interface VerifyContactResult {
24
+ claimId: string;
25
+ }
26
+ export interface ConfirmContactParams {
27
+ claimId: string;
28
+ vCode: string;
29
+ }
30
+ export interface ConfirmContactResult {
31
+ token: string;
32
+ }
33
+ export interface VerifyParams {
34
+ claimId: string;
35
+ claimToken: string;
36
+ lbop: string;
37
+ }
38
+ export interface VerifyResult {
39
+ lbopId: string;
40
+ verifiedToken: string;
41
+ masterKeyId: string;
42
+ masterKey: JWK.Key;
43
+ }
44
+ export interface ChallengeResult {
45
+ challenge: any;
46
+ lbops: any;
47
+ }
48
+ export interface Lbop {
49
+ id: string;
50
+ partial?: string;
51
+ name?: string;
52
+ lbopString?: string;
53
+ }
54
+ export interface CreateLbopParams {
55
+ name?: string;
56
+ }
57
+ export declare const CreateLbopQuery: import("graphql").DocumentNode;
58
+ export declare const DeleteLbopQuery: import("graphql").DocumentNode;
59
+ export interface UpdateLbopParams {
60
+ id: string;
61
+ name: string;
62
+ }
63
+ export declare const UpdateLbopQuery: import("graphql").DocumentNode;
64
+ export declare const LbopQuery: import("graphql").DocumentNode;
65
+ export declare const LbopsQuery: import("graphql").DocumentNode;
66
+ export declare class LbopService {
67
+ private config;
68
+ private http;
69
+ private lrApollo;
70
+ private auth;
71
+ private authService;
72
+ private keyFactory;
73
+ private keyService;
74
+ private encryptionService;
75
+ private keyGraph;
76
+ private passwordService;
77
+ private readonly CLIENT_NONCE_LENGTH;
78
+ private readonly LBOP_WORDS;
79
+ constructor(config: LifeReadyConfig, http: HttpClient, lrApollo: LrApolloService, auth: AuthClass, authService: LifeReadyAuthService, keyFactory: KFS, keyService: KeyService, encryptionService: EncryptionService, keyGraph: KeyGraphService, passwordService: PasswordService);
80
+ private getPartial;
81
+ remove(id: string): Promise<string>;
82
+ update({ id, name }: UpdateLbopParams): Promise<Lbop>;
83
+ get(id: string): Promise<Lbop>;
84
+ list(): Promise<Lbop[]>;
85
+ create({ name }: CreateLbopParams): Promise<Lbop>;
86
+ private verifyLbops;
87
+ verifyContact(params: VerifyContactParams): Promise<VerifyContactResult>;
88
+ confirmContact(params: ConfirmContactParams): Promise<ConfirmContactResult>;
89
+ verify(params: VerifyParams): Promise<VerifyResult>;
90
+ setPassword(params: SetPasswordParams): Promise<any>;
91
+ }
@@ -0,0 +1,46 @@
1
+ import { Observable } from 'rxjs';
2
+ import { KeyGraphService } from '../cryptography/key-graph.service';
3
+ import { KeyService } from '../cryptography/key.service';
4
+ import { ProfileService } from '../users/profile.service';
5
+ import { CognitoChallengeUser, CurrentUser, TpPasswordResetUser, LoginResult } from './auth.types';
6
+ import { PasswordService } from './password.service';
7
+ import { AuthClass } from '@aws-amplify/auth/lib-esm/Auth';
8
+ import { IdleService } from './idle.service';
9
+ import { KeyFactoryService } from '../cryptography/key-factory.service';
10
+ import { LrGraphQLService } from '../api/lr-graphql';
11
+ import { TpPasswordResetProcessorService } from '../api/query-processor/tp-password-reset-processor.service';
12
+ import { PersistService } from '../api/persist.service';
13
+ import { LifeReadyConfig } from '../life-ready.config';
14
+ export declare const initialiseAuth: (authService: LifeReadyAuthService) => () => Promise<void>;
15
+ export declare class LifeReadyAuthService {
16
+ private config;
17
+ private auth;
18
+ private keyFactory;
19
+ private keyService;
20
+ private profileService;
21
+ private keyGraphService;
22
+ private passwordService;
23
+ private idleService;
24
+ private lrGraphQL;
25
+ private tpPasswordResetProcessorService;
26
+ private persistService;
27
+ private hubSubject;
28
+ private currentUser;
29
+ constructor(config: LifeReadyConfig, auth: AuthClass, keyFactory: KeyFactoryService, keyService: KeyService, profileService: ProfileService, keyGraphService: KeyGraphService, passwordService: PasswordService, idleService: IdleService, lrGraphQL: LrGraphQLService, tpPasswordResetProcessorService: TpPasswordResetProcessorService, persistService: PersistService);
30
+ initialise(): Promise<void>;
31
+ private loginIdpImpl;
32
+ private loginIdp;
33
+ protected handleSessionEncryptionKey(): Promise<void>;
34
+ protected handlePostAuth(cognitoUser: CognitoChallengeUser): Promise<void>;
35
+ login(emailOrPhone: string, password: string): Promise<LoginResult>;
36
+ verifyLogin(challenge: CognitoChallengeUser, password: string, rememberMe: boolean, code: string): Promise<CurrentUser>;
37
+ handlePasswordRecovery(user: CognitoChallengeUser): Promise<void>;
38
+ getUser(reload?: boolean): Promise<CurrentUser>;
39
+ private mapTPVaultAccess;
40
+ private loadUser;
41
+ watchAuth(): Observable<any>;
42
+ logout(): Promise<void>;
43
+ private getUserAttribute;
44
+ loadResetUser(password?: string): Promise<TpPasswordResetUser>;
45
+ refreshAccessToken(): Promise<unknown>;
46
+ }