@casual-simulation/aux-vm 3.3.9 → 3.3.11-alpha.11019730384

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.
@@ -1,7 +1,6 @@
1
1
  import { ConnectionClient, RemoteCausalRepoProtocol } from '@casual-simulation/aux-common';
2
2
  import { RoomOptions, RoomJoinOptions } from '@casual-simulation/aux-runtime';
3
3
  import { AuxConfigParameters } from '../vm/AuxConfig';
4
- import { AuthHelperInterface } from './AuthHelperInterface';
5
4
  import { BotHelper } from './BotHelper';
6
5
  import { ReportInstRequest, ReportInstResult } from '@casual-simulation/aux-records';
7
6
  import '@casual-simulation/aux-common/BlobPolyfill';
@@ -11,14 +10,46 @@ import { RuntimeActions } from '@casual-simulation/aux-runtime';
11
10
  * The list of headers that JavaScript applications are not allowed to set by themselves.
12
11
  */
13
12
  export declare const UNSAFE_HEADERS: Set<string>;
13
+ /**
14
+ * Defines an interface that represents info about a records endpoint.
15
+ */
16
+ export interface RecordsEndpointInfo {
17
+ /**
18
+ * The HTTP origin that API requests should be made to.
19
+ */
20
+ recordsOrigin: string;
21
+ /**
22
+ * The WebSocket origin that Websocket requests should be made to.
23
+ */
24
+ websocketOrigin?: string;
25
+ /**
26
+ * The protocol that websocket requests should be made over.
27
+ */
28
+ websocketProtocol?: RemoteCausalRepoProtocol;
29
+ /**
30
+ * The headers that should be included in HTTP requests to authenticate the user.
31
+ */
32
+ headers: {
33
+ [key: string]: string;
34
+ };
35
+ /**
36
+ * The token that should be used for the request.
37
+ * Null if the user isn't logged in.
38
+ */
39
+ token: string | null;
40
+ /**
41
+ * Whether there was an error resolving the info.
42
+ */
43
+ error: boolean;
44
+ }
45
+ export type GetEndpointInfoFunction = (endpoint: string, authenticateIfNotLoggedIn: boolean) => Promise<RecordsEndpointInfo | null>;
14
46
  /**
15
47
  * Defines a class that provides capabilities for storing and retrieving records.
16
48
  */
17
49
  export declare class RecordsManager {
18
50
  private _config;
19
51
  private _helper;
20
- private _auths;
21
- private _authFactory;
52
+ private _getEndpointInfo;
22
53
  private _connectionClientFactory;
23
54
  private _connectionClients;
24
55
  private _roomJoin;
@@ -29,6 +60,7 @@ export declare class RecordsManager {
29
60
  private _skipTimers;
30
61
  private _httpRequestId;
31
62
  private _client;
63
+ private _allowedProcedures;
32
64
  /**
33
65
  * Gets an observable that resolves whenever a room_join event has been received.
34
66
  */
@@ -49,12 +81,13 @@ export declare class RecordsManager {
49
81
  * Creates a new RecordsManager that is able to consume records events from the AuxLibrary API.
50
82
  * @param config The AUX Config that should be used.
51
83
  * @param helper The Bot Helper that the simulation is using.
52
- * @param authFactory The function that should be used to instantiate AuthHelperInterface objects for each potential records endpoint. It should return null if the given endpoint is not supported.
84
+ * @param getEndpointInfo The function that should be used to resolve the info for the given endpoint. Should return null if the endpoint is not supported.
53
85
  * @param skipTimers Whether to skip the timers used for skybox requests.
54
86
  */
55
- constructor(config: AuxConfigParameters, helper: BotHelper, authFactory: (endpoint: string) => AuthHelperInterface, skipTimers?: boolean, connectionClientFactory?: (endpoint: string, protocol: RemoteCausalRepoProtocol) => ConnectionClient);
87
+ constructor(config: AuxConfigParameters, helper: BotHelper, getEndpointInfo: GetEndpointInfoFunction, skipTimers?: boolean, connectionClientFactory?: (endpoint: string, protocol: RemoteCausalRepoProtocol) => ConnectionClient);
56
88
  handleEvents(events: RuntimeActions[]): void;
57
89
  private _getRecordsEndpoint;
90
+ private _recordsCallProcedure;
58
91
  /**
59
92
  * Reports the given inst to the server.
60
93
  * @param request The request to send to the server.
@@ -95,14 +128,7 @@ export declare class RecordsManager {
95
128
  private _getConnectionClient;
96
129
  private _listUserStudios;
97
130
  private _resolveInfoForEvent;
98
- private _getAuthFromEvent;
99
- /**
100
- * Gets the AuthHelperInterface for the given endpoint.
101
- * Returns null if the given endpoint is unsupported.
102
- * @param endpoint The endpoint.
103
- */
104
- private _getAuth;
105
- private _getAuthToken;
131
+ private _getInfoFromEvent;
106
132
  private _publishUrl;
107
133
  }
108
134
  /**
@@ -27,7 +27,7 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
27
27
  };
28
28
  import { hasValue, asyncResult, asyncError, APPROVED_SYMBOL, iterableNext, iterableThrow, iterableComplete, } from '@casual-simulation/aux-common';
29
29
  import axios from 'axios';
30
- import { isRecordKey, formatInstId, } from '@casual-simulation/aux-records';
30
+ import { isRecordKey, formatInstId, parseRecordKey, } from '@casual-simulation/aux-records';
31
31
  import { sha256 } from 'hash.js';
32
32
  import stringify from '@casual-simulation/fast-json-stable-stringify';
33
33
  import '@casual-simulation/aux-common/BlobPolyfill';
@@ -90,10 +90,10 @@ export class RecordsManager {
90
90
  * Creates a new RecordsManager that is able to consume records events from the AuxLibrary API.
91
91
  * @param config The AUX Config that should be used.
92
92
  * @param helper The Bot Helper that the simulation is using.
93
- * @param authFactory The function that should be used to instantiate AuthHelperInterface objects for each potential records endpoint. It should return null if the given endpoint is not supported.
93
+ * @param getEndpointInfo The function that should be used to resolve the info for the given endpoint. Should return null if the endpoint is not supported.
94
94
  * @param skipTimers Whether to skip the timers used for skybox requests.
95
95
  */
96
- constructor(config, helper, authFactory, skipTimers = false, connectionClientFactory = null) {
96
+ constructor(config, helper, getEndpointInfo, skipTimers = false, connectionClientFactory = null) {
97
97
  this._connectionClients = new Map();
98
98
  this._roomJoin = new Subject();
99
99
  this._roomLeave = new Subject();
@@ -101,10 +101,16 @@ export class RecordsManager {
101
101
  this._onGetRoomOptions = new Subject();
102
102
  this._skipTimers = false;
103
103
  this._httpRequestId = 0;
104
+ this._allowedProcedures = new Set([
105
+ 'recordWebhook',
106
+ 'getWebhook',
107
+ 'listWebhooks',
108
+ 'eraseWebhook',
109
+ 'runWebhook',
110
+ ]);
104
111
  this._config = config;
105
112
  this._helper = helper;
106
- this._authFactory = authFactory;
107
- this._auths = new Map();
113
+ this._getEndpointInfo = getEndpointInfo;
108
114
  this._axiosOptions = {
109
115
  validateStatus: (status) => {
110
116
  return status < 500;
@@ -197,6 +203,9 @@ export class RecordsManager {
197
203
  else if (event.type === 'get_records_endpoint') {
198
204
  this._getRecordsEndpoint(event);
199
205
  }
206
+ else if (event.type === 'records_call_procedure') {
207
+ this._recordsCallProcedure(event);
208
+ }
200
209
  }
201
210
  }
202
211
  _getRecordsEndpoint(event) {
@@ -204,19 +213,68 @@ export class RecordsManager {
204
213
  this._helper.transaction(asyncResult(event.taskId, this._config.recordsOrigin));
205
214
  }
206
215
  }
216
+ _recordsCallProcedure(event) {
217
+ return __awaiter(this, void 0, void 0, function* () {
218
+ let name;
219
+ let input;
220
+ let query;
221
+ for (let key in event.procedure) {
222
+ if (Object.hasOwn(event.procedure, key)) {
223
+ const val = event.procedure[key];
224
+ if (val) {
225
+ name = key;
226
+ input = val.input;
227
+ query = val.query;
228
+ break;
229
+ }
230
+ }
231
+ }
232
+ if (!name || !this._allowedProcedures.has(name)) {
233
+ console.warn('[RecordsManager] No procedure found in the call procedure event.');
234
+ if (hasValue(event.taskId)) {
235
+ this._helper.transaction(asyncResult(event.taskId, {
236
+ success: false,
237
+ errorCode: 'not_found',
238
+ errorMessage: `The procedure was either not found or not allowed. (name: ${name !== null && name !== void 0 ? name : 'undefined'})`,
239
+ }));
240
+ }
241
+ return;
242
+ }
243
+ const info = yield this._resolveInfoForEvent(event);
244
+ if (info.error) {
245
+ return;
246
+ }
247
+ if (hasValue(this._helper.origin)) {
248
+ const instances = [
249
+ formatInstId(this._helper.origin.recordName, this._helper.origin.inst),
250
+ ];
251
+ if (query) {
252
+ query.instances = instances;
253
+ }
254
+ else {
255
+ input.instances = instances;
256
+ }
257
+ }
258
+ const result = yield this._client.callProcedure(name, input, {
259
+ sessionKey: info.token,
260
+ endpoint: info.recordsOrigin,
261
+ }, query);
262
+ if (hasValue(event.taskId)) {
263
+ this._helper.transaction(asyncResult(event.taskId, result));
264
+ }
265
+ });
266
+ }
207
267
  /**
208
268
  * Reports the given inst to the server.
209
269
  * @param request The request to send to the server.
210
270
  */
211
271
  reportInst(request) {
212
272
  return __awaiter(this, void 0, void 0, function* () {
213
- const auth = this._getAuth(null);
214
- const token = yield this._getAuthToken(auth, false);
215
- let headers = {};
216
- if (token) {
217
- headers['Authorization'] = `Bearer ${token}`;
273
+ const info = yield this._getEndpointInfo(null, false);
274
+ if (info.error) {
275
+ return;
218
276
  }
219
- const result = yield axios.post(yield this._publishUrl(auth, '/api/v2/records/insts/report'), Object.assign({}, request), Object.assign(Object.assign({}, this._axiosOptions), { headers }));
277
+ const result = yield axios.post(yield this._publishUrl(info.recordsOrigin, '/api/v2/records/insts/report'), Object.assign({}, request), Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
220
278
  return result.data;
221
279
  });
222
280
  }
@@ -231,7 +289,7 @@ export class RecordsManager {
231
289
  recordName,
232
290
  }, {
233
291
  sessionKey: info.token,
234
- endpoint: yield info.auth.getRecordsOrigin(),
292
+ endpoint: info.recordsOrigin,
235
293
  });
236
294
  if (result.success === false) {
237
295
  console.error('[RecordsManager] Unable to get loom token:', result);
@@ -270,7 +328,7 @@ export class RecordsManager {
270
328
  if (hasValue(event.options.deletePolicy)) {
271
329
  requestData.deletePolicy = event.options.deletePolicy;
272
330
  }
273
- const result = yield axios.post(yield this._publishUrl(info.auth, !event.requiresApproval
331
+ const result = yield axios.post(yield this._publishUrl(info.recordsOrigin, !event.requiresApproval
274
332
  ? '/api/v2/records/data'
275
333
  : '/api/v2/records/manual/data'), requestData, Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
276
334
  if (result.data.success) {
@@ -305,7 +363,7 @@ export class RecordsManager {
305
363
  ];
306
364
  }
307
365
  if (hasValue(event.taskId)) {
308
- const result = yield axios.get(yield this._publishUrl(info.auth, !event.requiresApproval
366
+ const result = yield axios.get(yield this._publishUrl(info.recordsOrigin, !event.requiresApproval
309
367
  ? '/api/v2/records/data'
310
368
  : '/api/v2/records/manual/data', {
311
369
  recordName: event.recordName,
@@ -333,7 +391,6 @@ export class RecordsManager {
333
391
  if (info.error) {
334
392
  return;
335
393
  }
336
- const auth = info.auth;
337
394
  if (event.requiresApproval) {
338
395
  if (hasValue(event.taskId)) {
339
396
  this._helper.transaction(asyncResult(event.taskId, {
@@ -359,7 +416,7 @@ export class RecordsManager {
359
416
  }
360
417
  query.address = event.startingAddress || null;
361
418
  query.instances = instances;
362
- const result = yield axios.get(yield this._publishUrl(auth, '/api/v2/records/data/list', query), Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
419
+ const result = yield axios.get(yield this._publishUrl(info.recordsOrigin, '/api/v2/records/data/list', query), Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
363
420
  this._helper.transaction(asyncResult(event.taskId, result.data));
364
421
  }
365
422
  }
@@ -388,7 +445,7 @@ export class RecordsManager {
388
445
  formatInstId(this._helper.origin.recordName, this._helper.origin.inst),
389
446
  ];
390
447
  }
391
- const result = yield axios.request(Object.assign(Object.assign({}, this._axiosOptions), { method: 'DELETE', url: yield this._publishUrl(info.auth, !event.requiresApproval
448
+ const result = yield axios.request(Object.assign(Object.assign({}, this._axiosOptions), { method: 'DELETE', url: yield this._publishUrl(info.recordsOrigin, !event.requiresApproval
392
449
  ? '/api/v2/records/data'
393
450
  : '/api/v2/records/manual/data'), data: {
394
451
  recordKey: event.recordKey,
@@ -513,7 +570,7 @@ export class RecordsManager {
513
570
  formatInstId(this._helper.origin.recordName, this._helper.origin.inst),
514
571
  ];
515
572
  }
516
- const result = yield axios.post(yield this._publishUrl(info.auth, '/api/v2/records/file'), {
573
+ const result = yield axios.post(yield this._publishUrl(info.recordsOrigin, '/api/v2/records/file'), {
517
574
  recordKey: event.recordKey,
518
575
  fileSha256Hex: hash,
519
576
  fileMimeType: mimeType,
@@ -578,7 +635,7 @@ export class RecordsManager {
578
635
  formatInstId(this._helper.origin.recordName, this._helper.origin.inst),
579
636
  ];
580
637
  }
581
- const result = yield axios.get(yield this._publishUrl(info.auth, '/api/v2/records/file', {
638
+ const result = yield axios.get(yield this._publishUrl(info.recordsOrigin, '/api/v2/records/file', {
582
639
  fileUrl: event.fileUrl,
583
640
  instances,
584
641
  }), Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
@@ -627,7 +684,7 @@ export class RecordsManager {
627
684
  formatInstId(this._helper.origin.recordName, this._helper.origin.inst),
628
685
  ];
629
686
  }
630
- const result = yield axios.request(Object.assign(Object.assign({}, this._axiosOptions), { method: 'DELETE', url: yield this._publishUrl(info.auth, '/api/v2/records/file'), data: {
687
+ const result = yield axios.request(Object.assign(Object.assign({}, this._axiosOptions), { method: 'DELETE', url: yield this._publishUrl(info.recordsOrigin, '/api/v2/records/file'), data: {
631
688
  recordKey: event.recordKey,
632
689
  fileUrl: event.fileUrl,
633
690
  instances,
@@ -661,7 +718,7 @@ export class RecordsManager {
661
718
  formatInstId(this._helper.origin.recordName, this._helper.origin.inst),
662
719
  ];
663
720
  }
664
- const result = yield axios.post(yield this._publishUrl(info.auth, '/api/v2/records/events/count'), {
721
+ const result = yield axios.post(yield this._publishUrl(info.recordsOrigin, '/api/v2/records/events/count'), {
665
722
  recordKey: event.recordKey,
666
723
  eventName: event.eventName,
667
724
  count: event.count,
@@ -689,7 +746,6 @@ export class RecordsManager {
689
746
  if (info.error) {
690
747
  return;
691
748
  }
692
- const auth = info.auth;
693
749
  if (hasValue(event.taskId)) {
694
750
  let instances = undefined;
695
751
  if (hasValue(this._helper.origin)) {
@@ -697,7 +753,7 @@ export class RecordsManager {
697
753
  formatInstId(this._helper.origin.recordName, this._helper.origin.inst),
698
754
  ];
699
755
  }
700
- const result = yield axios.get(yield this._publishUrl(auth, '/api/v2/records/events/count', {
756
+ const result = yield axios.get(yield this._publishUrl(info.recordsOrigin, '/api/v2/records/events/count', {
701
757
  recordName: event.recordName,
702
758
  eventName: event.eventName,
703
759
  instances,
@@ -716,20 +772,23 @@ export class RecordsManager {
716
772
  _joinRoom(event) {
717
773
  return __awaiter(this, void 0, void 0, function* () {
718
774
  try {
719
- const auth = this._getAuthFromEvent(event.options);
720
- if (!auth) {
721
- if (hasValue(event.taskId)) {
722
- this._helper.transaction(asyncResult(event.taskId, {
723
- success: false,
724
- errorCode: 'not_supported',
725
- errorMessage: 'Records are not supported on this inst.',
726
- }));
727
- }
775
+ const info = yield this._resolveInfoForEvent(event);
776
+ if (info.error) {
777
+ // if (hasValue(event.taskId)) {
778
+ // this._helper.transaction(
779
+ // asyncResult(event.taskId, {
780
+ // success: false,
781
+ // errorCode: 'not_supported',
782
+ // errorMessage:
783
+ // 'Records are not supported on this inst.',
784
+ // } as IssueMeetTokenResult)
785
+ // );
786
+ // }
728
787
  return;
729
788
  }
730
789
  if (hasValue(event.taskId)) {
731
790
  const userId = this._helper.userId;
732
- const result = yield axios.post(yield this._publishUrl(auth, '/api/v2/meet/token'), {
791
+ const result = yield axios.post(yield this._publishUrl(info.recordsOrigin, '/api/v2/meet/token'), {
733
792
  roomName: event.roomName,
734
793
  userName: userId,
735
794
  }, Object.assign({}, this._axiosOptions));
@@ -889,7 +948,7 @@ export class RecordsManager {
889
948
  permission: event.permission,
890
949
  instances,
891
950
  };
892
- const result = yield axios.post(yield this._publishUrl(info.auth, '/api/v2/records/permissions'), requestData, Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
951
+ const result = yield axios.post(yield this._publishUrl(info.recordsOrigin, '/api/v2/records/permissions'), requestData, Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
893
952
  if (result.data.success) {
894
953
  console.log('[RecordsManager] Permission granted!');
895
954
  }
@@ -924,7 +983,7 @@ export class RecordsManager {
924
983
  permissionId: event.permissionId,
925
984
  instances,
926
985
  };
927
- const result = yield axios.post(yield this._publishUrl(info.auth, '/api/v2/records/permissions/revoke'), requestData, Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
986
+ const result = yield axios.post(yield this._publishUrl(info.recordsOrigin, '/api/v2/records/permissions/revoke'), requestData, Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
928
987
  if (result.data.success) {
929
988
  console.log('[RecordsManager] Permission revoked!');
930
989
  }
@@ -971,7 +1030,7 @@ export class RecordsManager {
971
1030
  role: 'admin',
972
1031
  expireTimeMs: startOfNextDay.toMillis(),
973
1032
  };
974
- const result = yield axios.post(yield this._publishUrl(info.auth, '/api/v2/records/role/grant'), requestData, Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
1033
+ const result = yield axios.post(yield this._publishUrl(info.recordsOrigin, '/api/v2/records/role/grant'), requestData, Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
975
1034
  if (result.data.success) {
976
1035
  console.log('[RecordsManager] Role granted!');
977
1036
  }
@@ -1009,7 +1068,7 @@ export class RecordsManager {
1009
1068
  expireTimeMs: event.expireTimeMs,
1010
1069
  instances,
1011
1070
  };
1012
- const result = yield axios.post(yield this._publishUrl(info.auth, '/api/v2/records/role/grant'), requestData, Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
1071
+ const result = yield axios.post(yield this._publishUrl(info.recordsOrigin, '/api/v2/records/role/grant'), requestData, Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
1013
1072
  if (result.data.success) {
1014
1073
  console.log('[RecordsManager] Role granted!');
1015
1074
  }
@@ -1046,7 +1105,7 @@ export class RecordsManager {
1046
1105
  role: event.role,
1047
1106
  instances,
1048
1107
  };
1049
- const result = yield axios.post(yield this._publishUrl(info.auth, '/api/v2/records/role/revoke'), requestData, Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
1108
+ const result = yield axios.post(yield this._publishUrl(info.recordsOrigin, '/api/v2/records/role/revoke'), requestData, Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
1050
1109
  if (result.data.success) {
1051
1110
  console.log('[RecordsManager] Role revoked!');
1052
1111
  }
@@ -1086,7 +1145,7 @@ export class RecordsManager {
1086
1145
  formatInstId(this._helper.origin.recordName, this._helper.origin.inst),
1087
1146
  ];
1088
1147
  }
1089
- const result = yield axios.post(yield this._publishUrl(info.auth, '/api/v2/ai/chat'), requestData, Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
1148
+ const result = yield axios.post(yield this._publishUrl(info.recordsOrigin, '/api/v2/ai/chat'), requestData, Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
1090
1149
  if (hasValue(event.taskId)) {
1091
1150
  this._helper.transaction(asyncResult(event.taskId, result.data));
1092
1151
  }
@@ -1127,7 +1186,7 @@ export class RecordsManager {
1127
1186
  if (USE_HTTP_STREAMING) {
1128
1187
  const result = yield this._client.aiChatStream(requestData, {
1129
1188
  sessionKey: info.token,
1130
- endpoint: yield info.auth.getRecordsOrigin(),
1189
+ endpoint: info.recordsOrigin,
1131
1190
  });
1132
1191
  if (hasValue(event.taskId)) {
1133
1192
  if (Symbol.asyncIterator in result) {
@@ -1162,7 +1221,7 @@ export class RecordsManager {
1162
1221
  }
1163
1222
  return;
1164
1223
  }
1165
- const client = yield this._getWebsocketClient(info.auth);
1224
+ const client = yield this._getWebsocketClient(info.websocketOrigin, info.websocketProtocol);
1166
1225
  if (!client) {
1167
1226
  if (hasValue(event.taskId)) {
1168
1227
  this._helper.transaction(asyncResult(event.taskId, {
@@ -1228,7 +1287,7 @@ export class RecordsManager {
1228
1287
  formatInstId(this._helper.origin.recordName, this._helper.origin.inst),
1229
1288
  ];
1230
1289
  }
1231
- const result = yield axios.post(yield this._publishUrl(info.auth, '/api/v2/ai/skybox'), Object.assign(Object.assign({}, requestData), { instances }), Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
1290
+ const result = yield axios.post(yield this._publishUrl(info.recordsOrigin, '/api/v2/ai/skybox'), Object.assign(Object.assign({}, requestData), { instances }), Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
1232
1291
  if (!result.data.success) {
1233
1292
  if (hasValue(event.taskId)) {
1234
1293
  this._helper.transaction(asyncResult(event.taskId, result.data));
@@ -1253,7 +1312,7 @@ export class RecordsManager {
1253
1312
  : 32;
1254
1313
  yield wait(seconds);
1255
1314
  }
1256
- const getResult = yield axios.get(yield this._publishUrl(info.auth, '/api/v2/ai/skybox', {
1315
+ const getResult = yield axios.get(yield this._publishUrl(info.recordsOrigin, '/api/v2/ai/skybox', {
1257
1316
  skyboxId: result.data.skyboxId,
1258
1317
  instances,
1259
1318
  }), Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
@@ -1307,7 +1366,7 @@ export class RecordsManager {
1307
1366
  formatInstId(this._helper.origin.recordName, this._helper.origin.inst),
1308
1367
  ];
1309
1368
  }
1310
- const result = yield this._sendWebsocketSupportedRequest(info.auth, 'POST', '/api/v2/ai/image', {}, Object.assign(Object.assign({}, requestData), { instances }), info.headers);
1369
+ const result = yield this._sendWebsocketSupportedRequest(info.recordsOrigin, info.websocketOrigin, info.websocketProtocol, 'POST', '/api/v2/ai/image', {}, Object.assign(Object.assign({}, requestData), { instances }), info.headers);
1311
1370
  if (hasValue(event.taskId)) {
1312
1371
  this._helper.transaction(asyncResult(event.taskId, result));
1313
1372
  }
@@ -1340,8 +1399,8 @@ export class RecordsManager {
1340
1399
  const result = yield this._client.getHumeAccessToken({
1341
1400
  recordName: event.recordName,
1342
1401
  }, {
1343
- endpoint: yield info.auth.getRecordsOrigin(),
1344
1402
  sessionKey: info.token,
1403
+ endpoint: info.recordsOrigin,
1345
1404
  });
1346
1405
  if (hasValue(event.taskId)) {
1347
1406
  this._helper.transaction(asyncResult(event.taskId, result));
@@ -1380,7 +1439,7 @@ export class RecordsManager {
1380
1439
  outputMimeType: event.outputMimeType,
1381
1440
  thumbnail: event.thumbnail,
1382
1441
  }, {
1383
- endpoint: yield info.auth.getRecordsOrigin(),
1442
+ endpoint: info.recordsOrigin,
1384
1443
  sessionKey: info.token,
1385
1444
  });
1386
1445
  if (hasValue(event.taskId)) {
@@ -1395,13 +1454,11 @@ export class RecordsManager {
1395
1454
  }
1396
1455
  });
1397
1456
  }
1398
- _sendWebsocketSupportedRequest(auth, method, path, query, data, headers) {
1457
+ _sendWebsocketSupportedRequest(recordsOrigin, websocketOrigin, websocketProtocol, method, path, query, data, headers) {
1399
1458
  return __awaiter(this, void 0, void 0, function* () {
1400
- const websocketOrigin = yield auth.getWebsocketOrigin();
1401
- const websocketProtocol = yield auth.getWebsocketProtocol();
1402
1459
  const client = this._getConnectionClient(websocketOrigin, websocketProtocol);
1403
1460
  if (!client) {
1404
- const result = yield axios.request(Object.assign(Object.assign({ url: yield this._publishUrl(auth, path, query), method }, this._axiosOptions), { data: data, headers }));
1461
+ const result = yield axios.request(Object.assign(Object.assign({ url: yield this._publishUrl(recordsOrigin, path, query), method }, this._axiosOptions), { data: data, headers }));
1405
1462
  return result.data;
1406
1463
  }
1407
1464
  else {
@@ -1430,10 +1487,8 @@ export class RecordsManager {
1430
1487
  }
1431
1488
  });
1432
1489
  }
1433
- _getWebsocketClient(auth) {
1490
+ _getWebsocketClient(websocketOrigin, websocketProtocol) {
1434
1491
  return __awaiter(this, void 0, void 0, function* () {
1435
- const websocketOrigin = yield auth.getWebsocketOrigin();
1436
- const websocketProtocol = yield auth.getWebsocketProtocol();
1437
1492
  const client = this._getConnectionClient(websocketOrigin, websocketProtocol);
1438
1493
  return client;
1439
1494
  });
@@ -1503,7 +1558,7 @@ export class RecordsManager {
1503
1558
  if (this._config.comId) {
1504
1559
  query['comId'] = this._config.comId;
1505
1560
  }
1506
- const result = yield axios.get(yield this._publishUrl(info.auth, '/api/v2/studios/list', query), Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
1561
+ const result = yield axios.get(yield this._publishUrl(info.recordsOrigin, '/api/v2/studios/list', query), Object.assign(Object.assign({}, this._axiosOptions), { headers: info.headers }));
1507
1562
  if (hasValue(event.taskId)) {
1508
1563
  this._helper.transaction(asyncResult(event.taskId, result.data));
1509
1564
  }
@@ -1518,8 +1573,19 @@ export class RecordsManager {
1518
1573
  }
1519
1574
  _resolveInfoForEvent(event, authenticateIfNotLoggedIn = true) {
1520
1575
  return __awaiter(this, void 0, void 0, function* () {
1521
- const auth = this._getAuthFromEvent(event.options);
1522
- if (!auth) {
1576
+ let recordKeyPolicy = null;
1577
+ if ('recordKey' in event && isRecordKey(event.recordKey)) {
1578
+ const parsed = parseRecordKey(event.recordKey);
1579
+ if (parsed) {
1580
+ const [name, password, policy] = parsed;
1581
+ recordKeyPolicy = policy;
1582
+ if (recordKeyPolicy === 'subjectless') {
1583
+ authenticateIfNotLoggedIn = false;
1584
+ }
1585
+ }
1586
+ }
1587
+ const info = yield this._getInfoFromEvent(event.options, authenticateIfNotLoggedIn);
1588
+ if (!info) {
1523
1589
  if (hasValue(event.taskId)) {
1524
1590
  this._helper.transaction(asyncResult(event.taskId, {
1525
1591
  success: false,
@@ -1529,91 +1595,42 @@ export class RecordsManager {
1529
1595
  }
1530
1596
  return {
1531
1597
  error: true,
1532
- auth: null,
1598
+ recordsOrigin: null,
1533
1599
  headers: null,
1534
1600
  token: null,
1535
1601
  };
1536
1602
  }
1537
- let token = null;
1538
- let headers = {};
1539
- if ('recordKey' in event && isRecordKey(event.recordKey)) {
1540
- const policy = yield auth.getRecordKeyPolicy(event.recordKey);
1541
- if (policy !== 'subjectless') {
1542
- token = yield this._getAuthToken(auth, authenticateIfNotLoggedIn);
1543
- if (!token) {
1544
- if (hasValue(event.taskId)) {
1545
- this._helper.transaction(asyncResult(event.taskId, {
1546
- success: false,
1547
- errorCode: 'not_logged_in',
1548
- errorMessage: 'The user is not logged in.',
1549
- }));
1550
- }
1551
- return {
1552
- error: true,
1553
- auth: null,
1554
- headers: null,
1555
- token: null,
1556
- };
1557
- }
1558
- headers['Authorization'] = `Bearer ${token}`;
1559
- }
1560
- }
1561
- else {
1562
- token = yield this._getAuthToken(auth, authenticateIfNotLoggedIn);
1563
- if (hasValue(token)) {
1564
- headers['Authorization'] = `Bearer ${token}`;
1603
+ if (!hasValue(info.token) && recordKeyPolicy === 'subjectfull') {
1604
+ if (hasValue(event.taskId)) {
1605
+ this._helper.transaction(asyncResult(event.taskId, {
1606
+ success: false,
1607
+ errorCode: 'not_logged_in',
1608
+ errorMessage: 'The user is not logged in.',
1609
+ }));
1565
1610
  }
1611
+ return {
1612
+ error: true,
1613
+ recordsOrigin: null,
1614
+ headers: null,
1615
+ token: null,
1616
+ };
1566
1617
  }
1567
- return {
1568
- error: false,
1569
- auth,
1570
- headers,
1571
- token,
1572
- };
1618
+ return info;
1573
1619
  });
1574
1620
  }
1575
- _getAuthFromEvent(event) {
1621
+ _getInfoFromEvent(event, authenticateIfNotLoggedIn) {
1576
1622
  let endpoint = event.endpoint;
1577
- return this._getAuth(endpoint);
1578
- }
1579
- /**
1580
- * Gets the AuthHelperInterface for the given endpoint.
1581
- * Returns null if the given endpoint is unsupported.
1582
- * @param endpoint The endpoint.
1583
- */
1584
- _getAuth(endpoint) {
1585
1623
  if (!endpoint) {
1586
1624
  endpoint = this._config.authOrigin;
1587
1625
  if (!endpoint) {
1588
- return null;
1626
+ return Promise.resolve(null);
1589
1627
  }
1590
1628
  }
1591
- let auth = null;
1592
- if (this._auths.has(endpoint)) {
1593
- auth = this._auths.get(endpoint);
1594
- }
1595
- else {
1596
- auth = this._authFactory(endpoint);
1597
- this._auths.set(endpoint, auth);
1598
- }
1599
- return auth;
1600
- }
1601
- _getAuthToken(auth, authenticateIfNotLoggedIn) {
1602
- return __awaiter(this, void 0, void 0, function* () {
1603
- if (!auth) {
1604
- return null;
1605
- }
1606
- if (authenticateIfNotLoggedIn) {
1607
- if (!(yield auth.isAuthenticated())) {
1608
- yield auth.authenticate();
1609
- }
1610
- }
1611
- return auth.getAuthToken();
1612
- });
1629
+ return this._getEndpointInfo(endpoint, authenticateIfNotLoggedIn);
1613
1630
  }
1614
- _publishUrl(auth, path, queryParams = {}) {
1631
+ _publishUrl(recordsOrigin, path, queryParams = {}) {
1615
1632
  return __awaiter(this, void 0, void 0, function* () {
1616
- let url = new URL(path, yield auth.getRecordsOrigin());
1633
+ let url = new URL(path, recordsOrigin);
1617
1634
  for (let key in queryParams) {
1618
1635
  const val = queryParams[key];
1619
1636
  if (hasValue(val)) {
@@ -1 +1 @@
1
- {"version":3,"file":"RecordsManager.js","sourceRoot":"","sources":["RecordsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecordsManager.js","sourceRoot":"","sources":["RecordsManager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@casual-simulation/aux-vm",
3
- "version": "3.3.9",
3
+ "version": "3.3.11-alpha.11019730384",
4
4
  "description": "A set of abstractions required to securely run an AUX.",
5
5
  "keywords": [
6
6
  "aux"
@@ -39,9 +39,9 @@
39
39
  "url": "https://github.com/casual-simulation/casualos/issues"
40
40
  },
41
41
  "dependencies": {
42
- "@casual-simulation/aux-common": "^3.3.8",
43
- "@casual-simulation/aux-records": "^3.3.9",
44
- "@casual-simulation/aux-runtime": "^3.3.9",
42
+ "@casual-simulation/aux-common": "^3.3.11-alpha.11019730384",
43
+ "@casual-simulation/aux-records": "^3.3.11-alpha.11019730384",
44
+ "@casual-simulation/aux-runtime": "^3.3.11-alpha.11019730384",
45
45
  "@casual-simulation/crypto": "^3.3.8",
46
46
  "@casual-simulation/fast-json-stable-stringify": "^3.1.11",
47
47
  "@casual-simulation/timesync": "^3.3.4",
@@ -54,7 +54,7 @@
54
54
  "luxon": "3.4.4",
55
55
  "preact": "10.19.6",
56
56
  "rxjs": "8.0.0-alpha.14",
57
- "uuid": "^8.3.2"
57
+ "uuid": "10.0.0"
58
58
  },
59
- "gitHead": "1f298d662314d217ccbe29639cbc1fba8881607b"
59
+ "gitHead": "5dbf06024eac57e36002aef26735fa94420d643d"
60
60
  }
@@ -109,28 +109,28 @@ export class BaseAuxChannel {
109
109
  init(onLocalEvents, onDeviceEvents, onStateUpdated, onVersionUpdated, onConnectionStateChanged, onError, onSubChannelAdded, onSubChannelRemoved, onAuthMessage) {
110
110
  return __awaiter(this, void 0, void 0, function* () {
111
111
  if (onLocalEvents) {
112
- this.onLocalEvents.subscribe((e) => onLocalEvents(e));
112
+ this.onLocalEvents.subscribe(handleTransferError((e) => onLocalEvents(e), 'onLocalEvents'));
113
113
  }
114
114
  if (onStateUpdated) {
115
- this.onStateUpdated.subscribe((s) => onStateUpdated(s));
115
+ this.onStateUpdated.subscribe(handleTransferError((s) => onStateUpdated(s), 'onStateUpdated'));
116
116
  }
117
117
  if (onVersionUpdated) {
118
- this.onVersionUpdated.subscribe((v) => onVersionUpdated(v));
118
+ this.onVersionUpdated.subscribe(handleTransferError((v) => onVersionUpdated(v), 'onVersionUpdated'));
119
119
  }
120
120
  if (onConnectionStateChanged) {
121
- this.onConnectionStateChanged.subscribe((s) => onConnectionStateChanged(s));
121
+ this.onConnectionStateChanged.subscribe(handleTransferError((s) => onConnectionStateChanged(s), 'onConnectionStateChanged'));
122
122
  }
123
123
  if (onDeviceEvents) {
124
- this.onDeviceEvents.subscribe((e) => onDeviceEvents(e));
124
+ this.onDeviceEvents.subscribe(handleTransferError((e) => onDeviceEvents(e), 'onDeviceEvents'));
125
125
  }
126
126
  if (onSubChannelAdded) {
127
- this.onSubChannelAdded.subscribe((s) => onSubChannelAdded(s));
127
+ this.onSubChannelAdded.subscribe(handleTransferError((s) => onSubChannelAdded(s), 'onSubChannelAdded'));
128
128
  }
129
129
  if (onSubChannelRemoved) {
130
- this.onSubChannelRemoved.subscribe((s) => onSubChannelRemoved(s));
130
+ this.onSubChannelRemoved.subscribe(handleTransferError((s) => onSubChannelRemoved(s), 'onSubChannelRemoved'));
131
131
  }
132
132
  if (onAuthMessage) {
133
- this.onAuthMessage.subscribe((m) => onAuthMessage(m));
133
+ this.onAuthMessage.subscribe(handleTransferError((m) => onAuthMessage(m), 'onAuthMessage'));
134
134
  }
135
135
  // if (onError) {
136
136
  // this.onError.subscribe(onError);
@@ -148,36 +148,36 @@ export class BaseAuxChannel {
148
148
  registerListeners(onLocalEvents, onDeviceEvents, onStateUpdated, onVersionUpdated, onConnectionStateChanged, onError, onSubChannelAdded, onSubChannelRemoved, onAuthMessage) {
149
149
  return __awaiter(this, void 0, void 0, function* () {
150
150
  if (onLocalEvents) {
151
- this.onLocalEvents.subscribe((e) => onLocalEvents(e));
151
+ this.onLocalEvents.subscribe(handleTransferError((e) => onLocalEvents(e), 'onLocalEvents'));
152
152
  }
153
153
  if (onStateUpdated) {
154
154
  this.onStateUpdated
155
155
  .pipe(startWith(stateUpdatedEvent(this._helper.botsState)))
156
- .subscribe((s) => onStateUpdated(s));
156
+ .subscribe(handleTransferError((s) => onStateUpdated(s), 'onStateUpdated'));
157
157
  }
158
158
  if (onVersionUpdated) {
159
159
  this.onVersionUpdated
160
160
  .pipe(startWith(this._version))
161
- .subscribe((v) => onVersionUpdated(v));
161
+ .subscribe(handleTransferError((v) => onVersionUpdated(v), 'onVersionUpdated'));
162
162
  }
163
163
  if (onConnectionStateChanged) {
164
164
  this.onConnectionStateChanged
165
165
  .pipe(startWith({
166
166
  type: 'init',
167
167
  }, { type: 'sync', synced: true }))
168
- .subscribe((s) => onConnectionStateChanged(s));
168
+ .subscribe(handleTransferError((s) => onConnectionStateChanged(s), 'onConnectionStateChanged'));
169
169
  }
170
170
  if (onDeviceEvents) {
171
- this.onDeviceEvents.subscribe((e) => onDeviceEvents(e));
171
+ this.onDeviceEvents.subscribe(handleTransferError((e) => onDeviceEvents(e), 'onDeviceEvents'));
172
172
  }
173
173
  if (onSubChannelAdded) {
174
- this.onSubChannelAdded.subscribe((s) => onSubChannelAdded(s));
174
+ this.onSubChannelAdded.subscribe(handleTransferError((s) => onSubChannelAdded(s), 'onSubChannelAdded'));
175
175
  }
176
176
  if (onSubChannelRemoved) {
177
- this.onSubChannelRemoved.subscribe((s) => onSubChannelRemoved(s));
177
+ this.onSubChannelRemoved.subscribe(handleTransferError((s) => onSubChannelRemoved(s), 'onSubChannelRemoved'));
178
178
  }
179
179
  if (onAuthMessage) {
180
- this.onAuthMessage.subscribe((m) => onAuthMessage(m));
180
+ this.onAuthMessage.subscribe(handleTransferError((m) => onAuthMessage(m), 'onAuthMessage'));
181
181
  }
182
182
  });
183
183
  }
@@ -864,4 +864,21 @@ function mapBotTagsAndSpace(bot, tagNameMapper, spaceNameMapper, defaultSpace) {
864
864
  }
865
865
  return bot;
866
866
  }
867
+ function handleTransferError(func, name) {
868
+ return (val) => {
869
+ try {
870
+ const res = func(val);
871
+ if (isPromise(res)) {
872
+ res.catch((err) => {
873
+ console.error(`[BaseAuxChannel] Error transferring in ${name}:`, val);
874
+ throw err;
875
+ });
876
+ }
877
+ }
878
+ catch (err) {
879
+ console.error(`[BaseAuxChannel] Error transferring in ${name}:`, val);
880
+ throw err;
881
+ }
882
+ };
883
+ }
867
884
  //# sourceMappingURL=BaseAuxChannel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAuxChannel.js","sourceRoot":"","sources":["BaseAuxChannel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseAuxChannel.js","sourceRoot":"","sources":["BaseAuxChannel.ts"],"names":[],"mappings":"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"}