@casual-simulation/aux-records 3.2.15 → 3.2.17-alpha.8117520706

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.
package/AAGUID.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ export type AuthenticatorKind = 'google-password-manager' | 'chrome-on-mac' | 'windows-hello' | 'icloud-keychain' | 'dashlane' | '1password' | 'nord-pass' | 'keeper' | 'enpass' | 'chromium-browser' | 'ms-edge-on-mac' | 'idmelon' | 'bitwarden' | 'samsung-pass' | 'thales' | 'unknown';
2
+ export interface AAGUIDInfo {
3
+ kind: AuthenticatorKind;
4
+ name: string;
5
+ }
6
+ export interface AAGUIDMap {
7
+ [aaguid: string]: AAGUIDInfo;
8
+ }
9
+ export declare const aaguidMap: AAGUIDMap;
10
+ export declare function getInfoForAAGUID(aaguid: string): AAGUIDInfo;
11
+ //# sourceMappingURL=AAGUID.d.ts.map
package/AAGUID.js ADDED
@@ -0,0 +1,100 @@
1
+ // Taken from https://github.com/passkeydeveloper/passkey-authenticator-aaguids
2
+ export const aaguidMap = {
3
+ 'ea9b8d66-4d01-1d21-3ce4-b6b48cb575d4': {
4
+ kind: 'google-password-manager',
5
+ name: 'Google Password Manager',
6
+ },
7
+ 'adce0002-35bc-c60a-648b-0b25f1f05503': {
8
+ kind: 'chrome-on-mac',
9
+ name: 'Chrome on Mac',
10
+ },
11
+ '08987058-cadc-4b81-b6e1-30de50dcbe96': {
12
+ kind: 'windows-hello',
13
+ name: 'Windows Hello',
14
+ },
15
+ '9ddd1817-af5a-4672-a2b9-3e3dd95000a9': {
16
+ kind: 'windows-hello',
17
+ name: 'Windows Hello',
18
+ },
19
+ '6028b017-b1d4-4c02-b4b3-afcdafc96bb2': {
20
+ kind: 'windows-hello',
21
+ name: 'Windows Hello',
22
+ },
23
+ 'dd4ec289-e01d-41c9-bb89-70fa845d4bf2': {
24
+ kind: 'icloud-keychain',
25
+ name: 'iCloud Keychain (Managed)',
26
+ },
27
+ '531126d6-e717-415c-9320-3d9aa6981239': {
28
+ kind: 'dashlane',
29
+ name: 'Dashlane',
30
+ },
31
+ 'bada5566-a7aa-401f-bd96-45619a55120d': {
32
+ kind: '1password',
33
+ name: '1Password',
34
+ },
35
+ 'b84e4048-15dc-4dd0-8640-f4f60813c8af': {
36
+ kind: 'nord-pass',
37
+ name: 'NordPass',
38
+ },
39
+ '0ea242b4-43c4-4a1b-8b17-dd6d0b6baec6': {
40
+ kind: 'keeper',
41
+ name: 'Keeper',
42
+ },
43
+ 'f3809540-7f14-49c1-a8b3-8f813b225541': {
44
+ kind: 'enpass',
45
+ name: 'Enpass',
46
+ },
47
+ 'b5397666-4885-aa6b-cebf-e52262a439a2': {
48
+ kind: 'chromium-browser',
49
+ name: 'Chromium Browser',
50
+ },
51
+ '771b48fd-d3d4-4f74-9232-fc157ab0507a': {
52
+ kind: 'ms-edge-on-mac',
53
+ name: 'Edge on Mac',
54
+ },
55
+ '39a5647e-1853-446c-a1f6-a79bae9f5bc7': {
56
+ kind: 'idmelon',
57
+ name: 'IDmelon',
58
+ },
59
+ 'd548826e-79b4-db40-a3d8-11116f7e8349': {
60
+ kind: 'bitwarden',
61
+ name: 'Bitwarden',
62
+ },
63
+ 'fbfc3007-154e-4ecc-8c0b-6e020557d7bd': {
64
+ kind: 'icloud-keychain',
65
+ name: 'iCloud Keychain',
66
+ },
67
+ '53414d53-554e-4700-0000-000000000000': {
68
+ kind: 'samsung-pass',
69
+ name: 'Samsung Pass',
70
+ },
71
+ '66a0ccb3-bd6a-191f-ee06-e375c50b9846': {
72
+ kind: 'thales',
73
+ name: 'Thales Bio iOS SDK',
74
+ },
75
+ '8836336a-f590-0921-301d-46427531eee6': {
76
+ kind: 'thales',
77
+ name: 'Thales Bio Android SDK',
78
+ },
79
+ 'cd69adb5-3c7a-deb9-3177-6800ea6cb72a': {
80
+ kind: 'thales',
81
+ name: 'Thales PIN Android SDK',
82
+ },
83
+ '17290f1e-c212-34d0-1423-365d729f09d9': {
84
+ kind: 'thales',
85
+ name: 'Thales PIN iOS SDK',
86
+ },
87
+ };
88
+ export function getInfoForAAGUID(aaguid) {
89
+ const info = aaguidMap[aaguid];
90
+ if (info) {
91
+ return info;
92
+ }
93
+ else {
94
+ return {
95
+ name: 'Unknown Authenticator',
96
+ kind: 'unknown',
97
+ };
98
+ }
99
+ }
100
+ //# sourceMappingURL=AAGUID.js.map
package/AAGUID.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AAGUID.js","sourceRoot":"","sources":["AAGUID.ts"],"names":[],"mappings":"AAAA,+EAA+E;AA+B/E,MAAM,CAAC,MAAM,SAAS,GAAc;IAChC,sCAAsC,EAAE;QACpC,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,yBAAyB;KAClC;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,eAAe;KACxB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,eAAe;KACxB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,eAAe;KACxB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,eAAe;KACxB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,2BAA2B;KACpC;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;KACnB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW;KACpB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,UAAU;KACnB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;KACjB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;KACjB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,kBAAkB;KAC3B;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,aAAa;KACtB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KAClB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW;KACpB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,iBAAiB;KAC1B;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,cAAc;KACvB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,oBAAoB;KAC7B;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,wBAAwB;KACjC;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,wBAAwB;KACjC;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,oBAAoB;KAC7B;CACK,CAAC;AAEX,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC3C,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAE/B,IAAI,IAAI,EAAE;QACN,OAAO,IAAI,CAAC;KACf;SAAM;QACH,OAAO;YACH,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,SAAS;SAClB,CAAC;KACL;AACL,CAAC"}
@@ -87,8 +87,9 @@ export interface AIChatMessage {
87
87
  role: 'system' | 'user' | 'assistant' | 'function';
88
88
  /**
89
89
  * The contents of the message.
90
+ * This can be a string, an array of objects which represent the contents of the message.
90
91
  */
91
- content: string;
92
+ content: string | AIChatContent[];
92
93
  /**
93
94
  * The name of the author of the message.
94
95
  *
@@ -104,20 +105,106 @@ export interface AIChatMessage {
104
105
  */
105
106
  functionCall?: AIFunctionCall;
106
107
  }
108
+ /**
109
+ * Defines an interface that represents the contents of an AI chat message.
110
+ *
111
+ * @dochash types/ai
112
+ * @docname AIChatContent
113
+ */
114
+ export type AIChatContent = AITextContent | AIDataContent | AIUrlContent;
115
+ /**
116
+ * Defines an interface that represents text that is passed to an AI chat model.
117
+ *
118
+ * @dochash types/ai
119
+ * @docname AITextContent
120
+ */
121
+ export interface AITextContent {
122
+ /**
123
+ * The text of the content.
124
+ */
125
+ text: string;
126
+ }
127
+ /**
128
+ * Defines an interface that represents data that is passed to an AI chat model.
129
+ * This data can be used to represent images, videos, or other types of binary data that the model supports.
130
+ * Some models do not support this type of content.
131
+ *
132
+ * @dochash types/ai
133
+ * @docname AIDataContent
134
+ */
135
+ export interface AIDataContent {
136
+ /**
137
+ * The base 64 encoded data of the content.
138
+ */
139
+ base64: string;
140
+ /**
141
+ * The MIME type of the content.
142
+ */
143
+ mimeType: string;
144
+ }
145
+ /**
146
+ * Defines an interface that represents a URL that is passed to an AI chat model.
147
+ * This data can be used to represent images, videos, or other types of data that the model supports fetching.
148
+ * Some models do not support this type of content.
149
+ *
150
+ * @dochash types/ai
151
+ * @docname AIUrlContent
152
+ */
153
+ export interface AIUrlContent {
154
+ /**
155
+ * The URL that the content is available at.
156
+ */
157
+ url: string;
158
+ }
107
159
  /**
108
160
  * Defines a schema that represents an AI chat message.
109
161
  */
110
162
  export declare const AI_CHAT_MESSAGE_SCHEMA: z.ZodObject<{
111
163
  role: z.ZodUnion<[z.ZodLiteral<"system">, z.ZodLiteral<"user">, z.ZodLiteral<"assistant">, z.ZodLiteral<"function">]>;
112
- content: z.ZodString;
164
+ content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
165
+ text: z.ZodString;
166
+ }, "strip", z.ZodTypeAny, {
167
+ text?: string;
168
+ }, {
169
+ text?: string;
170
+ }>, z.ZodObject<{
171
+ base64: z.ZodString;
172
+ mimeType: z.ZodString;
173
+ }, "strip", z.ZodTypeAny, {
174
+ base64?: string;
175
+ mimeType?: string;
176
+ }, {
177
+ base64?: string;
178
+ mimeType?: string;
179
+ }>, z.ZodObject<{
180
+ url: z.ZodString;
181
+ }, "strip", z.ZodTypeAny, {
182
+ url?: string;
183
+ }, {
184
+ url?: string;
185
+ }>]>, "many">]>;
113
186
  author: z.ZodOptional<z.ZodString>;
114
187
  }, "strip", z.ZodTypeAny, {
115
188
  role?: "function" | "system" | "user" | "assistant";
116
- content?: string;
189
+ content?: string | ({
190
+ text?: string;
191
+ } | {
192
+ base64?: string;
193
+ mimeType?: string;
194
+ } | {
195
+ url?: string;
196
+ })[];
117
197
  author?: string;
118
198
  }, {
119
199
  role?: "function" | "system" | "user" | "assistant";
120
- content?: string;
200
+ content?: string | ({
201
+ text?: string;
202
+ } | {
203
+ base64?: string;
204
+ mimeType?: string;
205
+ } | {
206
+ url?: string;
207
+ })[];
121
208
  author?: string;
122
209
  }>;
123
210
  /**
@@ -9,7 +9,21 @@ export const AI_CHAT_MESSAGE_SCHEMA = z.object({
9
9
  z.literal('assistant'),
10
10
  z.literal('function'),
11
11
  ]),
12
- content: z.string().nonempty(),
12
+ content: z.union([
13
+ z.string().nonempty(),
14
+ z.array(z.union([
15
+ z.object({
16
+ text: z.string().nonempty(),
17
+ }),
18
+ z.object({
19
+ base64: z.string().nonempty(),
20
+ mimeType: z.string().nonempty(),
21
+ }),
22
+ z.object({
23
+ url: z.string().url().nonempty(),
24
+ }),
25
+ ])),
26
+ ]),
13
27
  author: z.string().nonempty().optional(),
14
28
  });
15
29
  //# sourceMappingURL=AIChatInterface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AIChatInterface.js","sourceRoot":"","sources":["AIChatInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4HxB;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;QACV,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACjB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QACtB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KACxB,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC"}
1
+ {"version":3,"file":"AIChatInterface.js","sourceRoot":"","sources":["AIChatInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqLxB;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;QACV,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACjB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QACtB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KACxB,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;QACb,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrB,CAAC,CAAC,KAAK,CACH,CAAC,CAAC,KAAK,CAAC;YACJ,CAAC,CAAC,MAAM,CAAC;gBACL,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC9B,CAAC;YACF,CAAC,CAAC,MAAM,CAAC;gBACL,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAClC,CAAC;YACF,CAAC,CAAC,MAAM,CAAC;gBACL,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;aACnC,CAAC;SACL,CAAC,CACL;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC"}
package/AIController.d.ts CHANGED
@@ -14,7 +14,7 @@ export interface AIConfiguration {
14
14
  policies: PolicyStore;
15
15
  }
16
16
  export interface AIChatConfiguration {
17
- interface: AIChatInterface;
17
+ interfaces: AIChatProviders;
18
18
  options: AIChatOptions;
19
19
  }
20
20
  export interface AIChatOptions {
@@ -22,10 +22,14 @@ export interface AIChatOptions {
22
22
  * The model that should be used when none is specified in a request.
23
23
  */
24
24
  defaultModel: string;
25
+ /**
26
+ * The provider for the default model.
27
+ */
28
+ defaultModelProvider: string;
25
29
  /**
26
30
  * The list of allowed models that are allowed to be used for chat.
27
31
  */
28
- allowedChatModels: string[];
32
+ allowedChatModels: AllowedAIChatModel[];
29
33
  /**
30
34
  * The list of subscription tiers that are allowed to be used for chat.
31
35
  *
@@ -34,6 +38,16 @@ export interface AIChatOptions {
34
38
  */
35
39
  allowedChatSubscriptionTiers: true | string[];
36
40
  }
41
+ export interface AllowedAIChatModel {
42
+ /**
43
+ * The provider for the model.
44
+ */
45
+ provider: string;
46
+ /**
47
+ * The name of the model.
48
+ */
49
+ model: string;
50
+ }
37
51
  export interface AIGenerateSkyboxConfiguration {
38
52
  interface: AIGenerateSkyboxInterface;
39
53
  options: AIGenerateSkyboxConfigurationOptions;
@@ -99,13 +113,19 @@ export interface AIGenerateImageConfigurationOptions {
99
113
  export interface AIImageProviders {
100
114
  [provider: string]: AIImageInterface;
101
115
  }
116
+ export interface AIChatProviders {
117
+ [provider: string]: AIChatInterface;
118
+ }
102
119
  /**
103
120
  * Defines a class that is able to handle AI requests.
104
121
  */
105
122
  export declare class AIController {
106
- private _chat;
123
+ private _chatProviders;
107
124
  private _chatOptions;
108
125
  private _generateSkybox;
126
+ /**
127
+ * A map of model names to their providers
128
+ */
109
129
  private _allowedChatModels;
110
130
  private _allowedChatSubscriptionTiers;
111
131
  private _allowedGenerateSkyboxSubscriptionTiers;
package/AIController.js CHANGED
@@ -16,9 +16,11 @@ export class AIController {
16
16
  if (configuration.chat) {
17
17
  const chat = configuration.chat;
18
18
  const options = chat.options;
19
- this._chat = chat.interface;
19
+ this._chatProviders = chat.interfaces;
20
20
  this._chatOptions = options;
21
- this._allowedChatModels = new Set(options.allowedChatModels);
21
+ this._allowedChatModels = new Map(options.allowedChatModels.map((m) => typeof m === 'string'
22
+ ? [m, options.defaultModel]
23
+ : [m.model, m.provider]));
22
24
  this._allowedChatSubscriptionTiers =
23
25
  typeof options.allowedChatSubscriptionTiers === 'boolean'
24
26
  ? options.allowedChatSubscriptionTiers
@@ -52,10 +54,10 @@ export class AIController {
52
54
  this._policies = configuration.policies;
53
55
  }
54
56
  chat(request) {
55
- var _a;
57
+ var _a, _b;
56
58
  return __awaiter(this, void 0, void 0, function* () {
57
59
  try {
58
- if (!this._chat) {
60
+ if (!this._chatProviders) {
59
61
  return {
60
62
  success: false,
61
63
  errorCode: 'not_supported',
@@ -102,6 +104,20 @@ export class AIController {
102
104
  errorMessage: `The given model is not allowed for chats.`,
103
105
  };
104
106
  }
107
+ const model = (_a = request.model) !== null && _a !== void 0 ? _a : this._chatOptions.defaultModel;
108
+ const provider = (_b = this._allowedChatModels.get(request.model)) !== null && _b !== void 0 ? _b : this._chatOptions.defaultModelProvider;
109
+ const chat = this._chatProviders[provider];
110
+ if (!chat) {
111
+ console.error('[AIController] No chat provider found for model:', model);
112
+ return {
113
+ success: false,
114
+ errorCode: 'not_supported',
115
+ errorMessage: 'The given model is not supported.',
116
+ };
117
+ }
118
+ else {
119
+ console.log('[AIController] Using chat provider:', provider, 'for model:', model);
120
+ }
105
121
  const metrics = yield this._metrics.getSubscriptionAiChatMetrics({
106
122
  ownerId: request.userId,
107
123
  });
@@ -145,9 +161,9 @@ export class AIController {
145
161
  };
146
162
  }
147
163
  }
148
- const result = yield this._chat.chat({
164
+ const result = yield chat.chat({
149
165
  messages: request.messages,
150
- model: (_a = request.model) !== null && _a !== void 0 ? _a : this._chatOptions.defaultModel,
166
+ model: model,
151
167
  temperature: request.temperature,
152
168
  topP: request.topP,
153
169
  frequencyPenalty: request.frequencyPenalty,
@@ -1 +1 @@
1
- {"version":3,"file":"AIController.js","sourceRoot":"","sources":["AIController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AIController.js","sourceRoot":"","sources":["AIController.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { AddressType, AuthStore, AuthUser } from './AuthStore';
2
- import { NotSupportedError, ServerError } from '@casual-simulation/aux-common/Errors';
1
+ import { AddressType, AuthListedUserAuthenticator, AuthStore, AuthUser } from './AuthStore';
2
+ import { NotAuthorizedError, NotLoggedInError, NotSupportedError, ServerError } from '@casual-simulation/aux-common/Errors';
3
3
  import { AuthMessenger } from './AuthMessenger';
4
4
  import { RegexRule } from './Utils';
5
5
  import { ConfigurationStore } from './ConfigurationStore';
@@ -7,6 +7,7 @@ import { PrivacyFeatures, PublicUserInfo } from '@casual-simulation/aux-common';
7
7
  import { PrivoClientInterface, PrivoFeatureStatus, PrivoPermission } from './PrivoClient';
8
8
  import { PrivoConfiguration } from './PrivoConfiguration';
9
9
  import { ZodIssue } from 'zod';
10
+ import type { PublicKeyCredentialCreationOptionsJSON, RegistrationResponseJSON, PublicKeyCredentialRequestOptionsJSON, AuthenticationResponseJSON } from '@simplewebauthn/types';
10
11
  /**
11
12
  * The number of miliseconds that a login request should be valid for before expiration.
12
13
  */
@@ -15,6 +16,10 @@ export declare const LOGIN_REQUEST_LIFETIME_MS: number;
15
16
  * The number of miliseconds that an Open ID login request should be valid for before expiration.
16
17
  */
17
18
  export declare const OPEN_ID_LOGIN_REQUEST_LIFETIME_MS: number;
19
+ /**
20
+ * The number of miliseconds that a WebAuthN request should be valid for before expiration.
21
+ */
22
+ export declare const WEB_AUTHN_LOGIN_REQUEST_LIFETIME_MS: number;
18
23
  /**
19
24
  * The number of bytes that should be used for login request IDs.
20
25
  */
@@ -67,6 +72,20 @@ export declare const MAX_OPEN_AI_API_KEY_LENGTH = 100;
67
72
  * The name of the Privo Open ID provider.
68
73
  */
69
74
  export declare const PRIVO_OPEN_ID_PROVIDER = "privo";
75
+ export interface RelyingParty {
76
+ /**
77
+ * The human readable name of the relying party.
78
+ */
79
+ name: string;
80
+ /**
81
+ * The domain of the relying party.
82
+ */
83
+ id: string;
84
+ /**
85
+ * The HTTP origin that the relying party is hosted on.
86
+ */
87
+ origin: string;
88
+ }
70
89
  /**
71
90
  * Defines a class that is able to authenticate users.
72
91
  */
@@ -76,7 +95,10 @@ export declare class AuthController {
76
95
  private _forceAllowSubscriptionFeatures;
77
96
  private _config;
78
97
  private _privoClient;
79
- constructor(authStore: AuthStore, messenger: AuthMessenger, configStore: ConfigurationStore, forceAllowSubscriptionFeatures?: boolean, privoClient?: PrivoClientInterface);
98
+ private _webAuthNRelyingParties;
99
+ get relyingParties(): RelyingParty[];
100
+ set relyingParties(value: RelyingParty[]);
101
+ constructor(authStore: AuthStore, messenger: AuthMessenger, configStore: ConfigurationStore, forceAllowSubscriptionFeatures?: boolean, privoClient?: PrivoClientInterface, relyingParties?: RelyingParty[]);
80
102
  requestLogin(request: LoginRequest): Promise<LoginRequestResult>;
81
103
  private _validateAddress;
82
104
  completeLogin(request: CompleteLoginRequest): Promise<CompleteLoginResult>;
@@ -84,6 +106,12 @@ export declare class AuthController {
84
106
  processOpenIDAuthorizationCode(request: ProcessOpenIDAuthorizationCodeRequest): Promise<ProcessOpenIDAuthorizationCodeResult>;
85
107
  completeOpenIDLogin(request: CompleteOpenIDLoginRequest): Promise<CompleteOpenIDLoginResult>;
86
108
  requestPrivoSignUp(request: PrivoSignUpRequest): Promise<PrivoSignUpRequestResult>;
109
+ requestWebAuthnRegistration(request: RequestWebAuthnRegistration): Promise<RequestWebAuthnRegistrationResult>;
110
+ completeWebAuthnRegistration(request: CompleteWebAuthnRegistrationRequest): Promise<CompleteWebAuthnRegistrationResult>;
111
+ requestWebAuthnLogin(request: RequestWebAuthnLogin): Promise<RequestWebAuthnLoginResult>;
112
+ completeWebAuthnLogin(request: CompleteWebAuthnLoginRequest): Promise<CompleteWebAuthnLoginResult>;
113
+ listUserAuthenticators(userId: string): Promise<ListUserAuthenticatorsResult>;
114
+ deleteUserAuthenticator(userId: string, authenticatorId: string): Promise<DeleteUserAuthenticatorResult>;
87
115
  validateSessionKey(key: string): Promise<ValidateSessionKeyResult>;
88
116
  validateConnectionToken(token: string): Promise<ValidateConnectionTokenResult>;
89
117
  revokeSession(request: RevokeSessionRequest): Promise<RevokeSessionResult>;
@@ -764,10 +792,150 @@ export interface IsValidDisplayNameSuccess {
764
792
  */
765
793
  containsName?: boolean;
766
794
  }
795
+ export interface RequestWebAuthnRegistration {
796
+ /**
797
+ * The ID of the user that is currently logged in.
798
+ */
799
+ userId: string;
800
+ originOrHost: string | null;
801
+ }
802
+ export type RequestWebAuthnRegistrationResult = RequestWebAuthnRegistrationSuccess | RequestWebAuthnRegistrationFailure;
803
+ export interface RequestWebAuthnRegistrationSuccess {
804
+ success: true;
805
+ options: PublicKeyCredentialCreationOptionsJSON;
806
+ }
807
+ export interface RequestWebAuthnRegistrationFailure {
808
+ success: false;
809
+ errorCode: ServerError | NotLoggedInError | NotSupportedError | 'invalid_origin';
810
+ errorMessage: string;
811
+ }
812
+ export interface CompleteWebAuthnRegistrationRequest {
813
+ /**
814
+ * The ID of the user that is logged in.
815
+ */
816
+ userId: string;
817
+ /**
818
+ * The registration response.
819
+ */
820
+ response: RegistrationResponseJSON;
821
+ /**
822
+ * The HTTP origin or host that the request was made from.
823
+ */
824
+ originOrHost: string;
825
+ /**
826
+ * The user agent that the request was made from.
827
+ */
828
+ userAgent: string | null;
829
+ }
830
+ export interface RequestWebAuthnLogin {
831
+ /**
832
+ * The IP Address that the login request is from.
833
+ */
834
+ ipAddress: string;
835
+ /**
836
+ * The HTTP origin or host that the request is coming from.
837
+ * Null if the request is coming from the same origin as the server.
838
+ */
839
+ originOrHost: string | null;
840
+ }
841
+ export type RequestWebAuthnLoginResult = RequestWebAuthnLoginSuccess | RequestWebAuthnLoginFailure;
842
+ export interface RequestWebAuthnLoginSuccess {
843
+ success: true;
844
+ /**
845
+ * The ID of the login request.
846
+ */
847
+ requestId: string;
848
+ /**
849
+ * The options for the login request.
850
+ */
851
+ options: PublicKeyCredentialRequestOptionsJSON;
852
+ }
853
+ export interface RequestWebAuthnLoginFailure {
854
+ success: false;
855
+ errorCode: ServerError | NotLoggedInError | NotSupportedError | LoginRequestFailure['errorCode'] | 'invalid_origin';
856
+ errorMessage: string;
857
+ }
858
+ export interface CompleteWebAuthnLoginRequest {
859
+ /**
860
+ * The ID of the login request.
861
+ */
862
+ requestId: string;
863
+ /**
864
+ * The response to the login request.
865
+ */
866
+ response: AuthenticationResponseJSON;
867
+ /**
868
+ * The IP Address that the login request is from.
869
+ */
870
+ ipAddress: string;
871
+ /**
872
+ * The HTTP origin or host that the request is coming from.
873
+ * Null if the origin is from the same origin as the server.
874
+ */
875
+ originOrHost: string | null;
876
+ }
877
+ export type CompleteWebAuthnLoginResult = CompleteWebAuthnLoginSuccess | CompleteWebAuthnLoginFailure;
878
+ export interface CompleteWebAuthnLoginSuccess {
879
+ success: true;
880
+ /**
881
+ * The ID of the user that the session is for.
882
+ */
883
+ userId: string;
884
+ /**
885
+ * The secret key that provides access for the session.
886
+ */
887
+ sessionKey: string;
888
+ /**
889
+ * The connection key that provides websocket access for the session.
890
+ */
891
+ connectionKey: string;
892
+ /**
893
+ * The unix timestamp in miliseconds that the session will expire at.
894
+ */
895
+ expireTimeMs: number;
896
+ }
897
+ export interface CompleteWebAuthnLoginFailure {
898
+ success: false;
899
+ errorCode: ServerError | NotLoggedInError | NotSupportedError | CompleteLoginFailure['errorCode'] | LoginRequestFailure['errorCode'] | 'invalid_origin';
900
+ errorMessage: string;
901
+ /**
902
+ * The ban reason for the user.
903
+ */
904
+ banReason?: AuthUser['banReason'];
905
+ }
906
+ export type CompleteWebAuthnRegistrationResult = CompleteWebAuthnRegistrationSuccess | CompleteWebAuthnRegistrationFailure;
907
+ export interface CompleteWebAuthnRegistrationSuccess {
908
+ success: true;
909
+ }
910
+ export interface CompleteWebAuthnRegistrationFailure {
911
+ success: false;
912
+ errorCode: ServerError | NotLoggedInError | NotSupportedError | NotAuthorizedError | 'invalid_origin' | 'unacceptable_request';
913
+ errorMessage: string;
914
+ }
915
+ export type ListUserAuthenticatorsResult = ListUserAuthenticatorsSuccess | ListUserAuthenticatorsFailure;
916
+ export interface ListUserAuthenticatorsSuccess {
917
+ success: true;
918
+ authenticators: AuthListedUserAuthenticator[];
919
+ }
920
+ export interface ListUserAuthenticatorsFailure {
921
+ success: false;
922
+ errorCode: ServerError | NotLoggedInError;
923
+ errorMessage: string;
924
+ }
925
+ export type DeleteUserAuthenticatorResult = DeleteUserAuthenticatorSuccess | DeleteUserAuthenticatorFailure;
926
+ export interface DeleteUserAuthenticatorSuccess {
927
+ success: true;
928
+ }
929
+ export interface DeleteUserAuthenticatorFailure {
930
+ success: false;
931
+ errorCode: ServerError | NotLoggedInError | NotAuthorizedError | 'not_found';
932
+ errorMessage: string;
933
+ }
767
934
  export interface IsValidDisplayNameFailure {
768
935
  success: false;
769
936
  errorCode: ServerError;
770
937
  errorMessage: string;
771
938
  }
772
939
  export declare function getPrivacyFeaturesFromPermissions(featureIds: PrivoConfiguration['featureIds'], permissions: (PrivoPermission | PrivoFeatureStatus)[]): PrivacyFeatures;
940
+ export declare function findRelyingPartyForOrigin(relyingParties: RelyingParty[], originOrHost: string): RelyingParty;
773
941
  //# sourceMappingURL=AuthController.d.ts.map