@casual-simulation/aux-records 3.2.3 → 3.2.4-alpha.5940763320

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 (79) hide show
  1. package/AIChatInterface.d.ts +8 -0
  2. package/AIChatInterface.js.map +1 -1
  3. package/AIController.d.ts +10 -4
  4. package/AIController.js +112 -3
  5. package/AIController.js.map +1 -1
  6. package/AuthController.d.ts +4 -8
  7. package/AuthController.js +39 -45
  8. package/AuthController.js.map +1 -1
  9. package/AuthStore.d.ts +236 -4
  10. package/ConfigurationStore.d.ts +12 -0
  11. package/ConfigurationStore.js +2 -0
  12. package/ConfigurationStore.js.map +1 -0
  13. package/DataRecordsController.d.ts +18 -6
  14. package/DataRecordsController.js +31 -5
  15. package/DataRecordsController.js.map +1 -1
  16. package/Errors.d.ts +4 -0
  17. package/EventRecordsController.d.ts +12 -3
  18. package/EventRecordsController.js +27 -5
  19. package/EventRecordsController.js.map +1 -1
  20. package/FileRecordsController.d.ts +13 -3
  21. package/FileRecordsController.js +46 -9
  22. package/FileRecordsController.js.map +1 -1
  23. package/MemoryFileRecordsLookup.d.ts +11 -0
  24. package/MemoryFileRecordsLookup.js +128 -0
  25. package/MemoryFileRecordsLookup.js.map +1 -0
  26. package/MemoryStore.d.ts +191 -0
  27. package/MemoryStore.js +1381 -0
  28. package/MemoryStore.js.map +1 -0
  29. package/MetricsStore.d.ts +186 -0
  30. package/MetricsStore.js +2 -0
  31. package/MetricsStore.js.map +1 -0
  32. package/OpenAIChatInterface.js +1 -0
  33. package/OpenAIChatInterface.js.map +1 -1
  34. package/PolicyController.d.ts +7 -4
  35. package/PolicyController.js +33 -8
  36. package/PolicyController.js.map +1 -1
  37. package/RecordsController.d.ts +185 -7
  38. package/RecordsController.js +588 -70
  39. package/RecordsController.js.map +1 -1
  40. package/RecordsHttpServer.d.ts +8 -0
  41. package/RecordsHttpServer.js +450 -8
  42. package/RecordsHttpServer.js.map +1 -1
  43. package/RecordsStore.d.ts +263 -5
  44. package/StripeInterface.d.ts +331 -0
  45. package/StripeInterface.js +37 -1
  46. package/StripeInterface.js.map +1 -1
  47. package/SubscriptionConfiguration.d.ts +2523 -33
  48. package/SubscriptionConfiguration.js +130 -1
  49. package/SubscriptionConfiguration.js.map +1 -1
  50. package/SubscriptionController.d.ts +23 -6
  51. package/SubscriptionController.js +344 -69
  52. package/SubscriptionController.js.map +1 -1
  53. package/TestUtils.d.ts +7 -6
  54. package/TestUtils.js +28 -14
  55. package/TestUtils.js.map +1 -1
  56. package/Utils.js +9 -0
  57. package/Utils.js.map +1 -1
  58. package/index.d.ts +5 -4
  59. package/index.js +5 -4
  60. package/index.js.map +1 -1
  61. package/package.json +2 -2
  62. package/MemoryAuthStore.d.ts +0 -33
  63. package/MemoryAuthStore.js +0 -186
  64. package/MemoryAuthStore.js.map +0 -1
  65. package/MemoryDataRecordsStore.d.ts +0 -10
  66. package/MemoryDataRecordsStore.js +0 -98
  67. package/MemoryDataRecordsStore.js.map +0 -1
  68. package/MemoryEventRecordsStore.d.ts +0 -10
  69. package/MemoryEventRecordsStore.js +0 -89
  70. package/MemoryEventRecordsStore.js.map +0 -1
  71. package/MemoryFileRecordsStore.d.ts +0 -25
  72. package/MemoryFileRecordsStore.js +0 -310
  73. package/MemoryFileRecordsStore.js.map +0 -1
  74. package/MemoryPolicyStore.d.ts +0 -43
  75. package/MemoryPolicyStore.js +0 -255
  76. package/MemoryPolicyStore.js.map +0 -1
  77. package/MemoryRecordsStore.d.ts +0 -13
  78. package/MemoryRecordsStore.js +0 -67
  79. package/MemoryRecordsStore.js.map +0 -1
@@ -12,13 +12,16 @@ import { returnAuthorizationResult, } from './PolicyController';
12
12
  import { PUBLIC_READ_MARKER } from './PolicyPermissions';
13
13
  import { getMarkersOrDefault } from './Utils';
14
14
  import { without } from 'lodash';
15
+ import { getSubscriptionFeatures } from './SubscriptionConfiguration';
15
16
  /**
16
17
  * Defines a class that can manage file records.
17
18
  */
18
19
  export class FileRecordsController {
19
- constructor(policies, store) {
20
- this._policies = policies;
21
- this._store = store;
20
+ constructor(config) {
21
+ this._policies = config.policies;
22
+ this._store = config.store;
23
+ this._metrics = config.metrics;
24
+ this._config = config.config;
22
25
  }
23
26
  /**
24
27
  * Attempts to record a file.
@@ -43,12 +46,6 @@ export class FileRecordsController {
43
46
  if (result.allowed === false) {
44
47
  return returnAuthorizationResult(result);
45
48
  }
46
- // const keyResult = await this._controller.validatePublicRecordKey(
47
- // recordNameOrKey
48
- // );
49
- // if (keyResult.success === false) {
50
- // return keyResult;
51
- // }
52
49
  const policy = result.subject.subjectPolicy;
53
50
  userId = result.subject.userId;
54
51
  if (!result.subject.userId && policy !== 'subjectless') {
@@ -64,6 +61,46 @@ export class FileRecordsController {
64
61
  const publisherId = result.authorizerId;
65
62
  const recordName = result.recordName;
66
63
  const subjectId = userId;
64
+ const metricsResult = yield this._metrics.getSubscriptionFileMetricsByRecordName(recordName);
65
+ const config = yield this._config.getSubscriptionConfiguration();
66
+ const features = getSubscriptionFeatures(config, metricsResult.subscriptionStatus, metricsResult.subscriptionId, metricsResult.ownerId ? 'user' : 'studio');
67
+ if (!features.files.allowed) {
68
+ return {
69
+ success: false,
70
+ errorCode: 'not_authorized',
71
+ errorMessage: 'The subscription does not permit the recording of files.',
72
+ };
73
+ }
74
+ if (features.files.maxBytesPerFile > 0) {
75
+ if (request.fileByteLength > features.files.maxBytesPerFile) {
76
+ return {
77
+ success: false,
78
+ errorCode: 'unacceptable_request',
79
+ errorMessage: 'The file is too large.',
80
+ };
81
+ }
82
+ }
83
+ if (features.files.maxBytesTotal > 0) {
84
+ const newSize = metricsResult.totalFileBytesReserved +
85
+ request.fileByteLength;
86
+ if (newSize > features.files.maxBytesTotal) {
87
+ return {
88
+ success: false,
89
+ errorCode: 'subscription_limit_reached',
90
+ errorMessage: 'The file storage limit has been reached for the subscription.',
91
+ };
92
+ }
93
+ }
94
+ if (features.files.maxFiles > 0) {
95
+ const newCount = metricsResult.totalFiles + 1;
96
+ if (newCount > features.files.maxFiles) {
97
+ return {
98
+ success: false,
99
+ errorCode: 'subscription_limit_reached',
100
+ errorMessage: 'The file count limit has been reached for the subscription.',
101
+ };
102
+ }
103
+ }
67
104
  const extension = getExtension(request.fileMimeType);
68
105
  const fileName = extension
69
106
  ? `${request.fileSha256Hex}.${extension}`
@@ -1 +1 @@
1
- {"version":3,"file":"FileRecordsController.js","sourceRoot":"","sources":["FileRecordsController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileRecordsController.js","sourceRoot":"","sources":["FileRecordsController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { AddFileResult, EraseFileStoreResult, FileRecord, FileRecordsLookup, ListFilesLookupResult, MarkFileRecordAsUploadedResult, UpdateFileResult } from './FileRecordsStore';
2
+ export declare class MemoryFileRecordsLookup implements FileRecordsLookup {
3
+ private _files;
4
+ getFileRecord(recordName: string, fileName: string): Promise<FileRecord>;
5
+ listUploadedFiles(recordName: string, fileName: string): Promise<ListFilesLookupResult>;
6
+ addFileRecord(recordName: string, fileName: string, publisherId: string, subjectId: string, sizeInBytes: number, description: string, markers: string[]): Promise<AddFileResult>;
7
+ updateFileRecord(recordName: string, fileName: string, markers: string[]): Promise<UpdateFileResult>;
8
+ setFileRecordAsUploaded(recordName: string, fileName: string): Promise<MarkFileRecordAsUploadedResult>;
9
+ eraseFileRecord(recordName: string, fileName: string): Promise<EraseFileStoreResult>;
10
+ }
11
+ //# sourceMappingURL=MemoryFileRecordsLookup.d.ts.map
@@ -0,0 +1,128 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { sortBy } from 'lodash';
11
+ export class MemoryFileRecordsLookup {
12
+ constructor() {
13
+ this._files = new Map();
14
+ }
15
+ getFileRecord(recordName, fileName) {
16
+ return __awaiter(this, void 0, void 0, function* () {
17
+ let file = this._files.get(fileName);
18
+ if (file) {
19
+ return {
20
+ fileName: file.fileName,
21
+ recordName: file.recordName,
22
+ publisherId: file.publisherId,
23
+ subjectId: file.subjectId,
24
+ sizeInBytes: file.sizeInBytes,
25
+ uploaded: file.uploaded,
26
+ description: file.description,
27
+ markers: file.markers,
28
+ };
29
+ }
30
+ else {
31
+ return null;
32
+ }
33
+ });
34
+ }
35
+ listUploadedFiles(recordName, fileName) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ let files = sortBy([...this._files.values()].filter((f) => f.recordName === recordName && f.uploaded), (f) => f.fileName);
38
+ const count = files.length;
39
+ if (fileName) {
40
+ files = files.filter((f) => f.fileName > fileName);
41
+ }
42
+ return {
43
+ success: true,
44
+ files: files.slice(0, 10).map((f) => ({
45
+ fileName: f.fileName,
46
+ sizeInBytes: f.sizeInBytes,
47
+ uploaded: f.uploaded,
48
+ markers: f.markers,
49
+ description: f.description,
50
+ })),
51
+ totalCount: count,
52
+ };
53
+ });
54
+ }
55
+ addFileRecord(recordName, fileName, publisherId, subjectId, sizeInBytes, description, markers) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ if (this._files.has(fileName)) {
58
+ return {
59
+ success: false,
60
+ errorCode: 'file_already_exists',
61
+ errorMessage: 'The file already exists in the store.',
62
+ };
63
+ }
64
+ let file = {
65
+ fileName: fileName,
66
+ recordName: recordName,
67
+ publisherId,
68
+ subjectId,
69
+ sizeInBytes,
70
+ description,
71
+ markers,
72
+ uploaded: false,
73
+ };
74
+ this._files.set(fileName, file);
75
+ return {
76
+ success: true,
77
+ };
78
+ });
79
+ }
80
+ updateFileRecord(recordName, fileName, markers) {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ if (!this._files.has(fileName)) {
83
+ return {
84
+ success: false,
85
+ errorCode: 'file_not_found',
86
+ errorMessage: 'The file was not found in the store.',
87
+ };
88
+ }
89
+ let file = this._files.get(fileName);
90
+ this._files.set(fileName, Object.assign(Object.assign({}, file), { markers: markers.slice() }));
91
+ return {
92
+ success: true,
93
+ };
94
+ });
95
+ }
96
+ setFileRecordAsUploaded(recordName, fileName) {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ let file = this._files.get(fileName);
99
+ if (!file) {
100
+ return {
101
+ success: false,
102
+ errorCode: 'file_not_found',
103
+ errorMessage: 'The file was not found in the store.',
104
+ };
105
+ }
106
+ file.uploaded = true;
107
+ return {
108
+ success: true,
109
+ };
110
+ });
111
+ }
112
+ eraseFileRecord(recordName, fileName) {
113
+ return __awaiter(this, void 0, void 0, function* () {
114
+ const deleted = this._files.delete(fileName);
115
+ if (!deleted) {
116
+ return {
117
+ success: false,
118
+ errorCode: 'file_not_found',
119
+ errorMessage: 'The file was not found in the store.',
120
+ };
121
+ }
122
+ return {
123
+ success: true,
124
+ };
125
+ });
126
+ }
127
+ }
128
+ //# sourceMappingURL=MemoryFileRecordsLookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryFileRecordsLookup.js","sourceRoot":"","sources":["MemoryFileRecordsLookup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,191 @@
1
+ import { RegexRule } from './Utils';
2
+ import { AddressType, AuthInvoice, AuthLoginRequest, AuthSession, AuthStore, AuthSubscription, AuthSubscriptionPeriod, AuthUser, ListSessionsDataResult, SaveNewUserResult, UpdateSubscriptionInfoRequest, UpdateSubscriptionPeriodRequest } from './AuthStore';
3
+ import { ListStudioAssignmentFilters, ListedStudioAssignment, ListedUserAssignment, RecordsStore, Studio, Record, RecordKey, StudioAssignment, CountRecordsFilter, ListedRecord, ListedStudio } from './RecordsStore';
4
+ import { DataRecordsStore, EraseDataStoreResult, GetDataStoreResult, ListDataStoreResult, SetDataResult, UserPolicy } from './DataRecordsStore';
5
+ import { AddFileResult, EraseFileStoreResult, FileRecordsStore, GetFileNameFromUrlResult, GetFileRecordResult, ListFilesStoreResult, MarkFileRecordAsUploadedResult, PresignFileReadRequest, PresignFileReadResult, PresignFileUploadRequest, PresignFileUploadResult, UpdateFileResult } from './FileRecordsStore';
6
+ import { AddEventCountStoreResult, EventRecordUpdate, EventRecordsStore, GetEventCountStoreResult, ListEventsStoreResult, UpdateEventResult } from './EventRecordsStore';
7
+ import { AssignedRole, GetUserPolicyResult, ListUserPoliciesStoreResult, ListedRoleAssignments, PolicyStore, UpdateRolesUpdate, UpdateUserPolicyResult, UpdateUserRolesResult, UserPolicyRecord } from './PolicyStore';
8
+ import { PolicyDocument } from './PolicyPermissions';
9
+ import { AIChatMetrics, AIImageMetrics, AISkyboxMetrics, AIChatSubscriptionMetrics, DataSubscriptionMetrics, EventSubscriptionMetrics, FileSubscriptionMetrics, MetricsStore, RecordSubscriptionMetrics, SubscriptionFilter, AIImageSubscriptionMetrics, AISkyboxSubscriptionMetrics } from './MetricsStore';
10
+ import { ConfigurationStore } from './ConfigurationStore';
11
+ import { SubscriptionConfiguration } from './SubscriptionConfiguration';
12
+ export interface MemoryConfiguration {
13
+ subscriptions: SubscriptionConfiguration;
14
+ }
15
+ export declare class MemoryStore implements AuthStore, RecordsStore, DataRecordsStore, FileRecordsStore, EventRecordsStore, PolicyStore, MetricsStore, ConfigurationStore {
16
+ private _users;
17
+ private _loginRequests;
18
+ private _sessions;
19
+ private _subscriptions;
20
+ private _periods;
21
+ private _invoices;
22
+ private _records;
23
+ private _recordKeys;
24
+ private _studios;
25
+ private _studioAssignments;
26
+ private _aiChatMetrics;
27
+ private _aiImageMetrics;
28
+ private _aiSkyboxMetrics;
29
+ private _dataBuckets;
30
+ private _eventBuckets;
31
+ private _files;
32
+ private _fileUploadUrl;
33
+ private _emailRules;
34
+ private _smsRules;
35
+ private _subscriptionConfiguration;
36
+ policies: {
37
+ [recordName: string]: {
38
+ [marker: string]: {
39
+ document: PolicyDocument;
40
+ markers: string[];
41
+ };
42
+ };
43
+ };
44
+ roles: {
45
+ [recordName: string]: {
46
+ [userId: string]: Set<string>;
47
+ };
48
+ };
49
+ roleAssignments: {
50
+ [recordName: string]: {
51
+ [userId: string]: {
52
+ role: string;
53
+ expireTimeMs: number | null;
54
+ }[];
55
+ };
56
+ };
57
+ get users(): AuthUser[];
58
+ get loginRequests(): AuthLoginRequest[];
59
+ get sessions(): AuthSession[];
60
+ get emailRules(): RegexRule[];
61
+ get smsRules(): RegexRule[];
62
+ get recordKeys(): RecordKey[];
63
+ get dataBuckets(): Map<string, Map<string, RecordData>>;
64
+ get eventBuckets(): Map<string, Map<string, EventData>>;
65
+ get files(): Map<string, StoredFile>;
66
+ get subscriptionConfiguration(): SubscriptionConfiguration | null;
67
+ set subscriptionConfiguration(value: SubscriptionConfiguration | null);
68
+ constructor(config: MemoryConfiguration);
69
+ getSubscriptionConfiguration(): Promise<SubscriptionConfiguration | null>;
70
+ getRecordByName(name: string): Promise<Record>;
71
+ updateRecord(record: Record): Promise<void>;
72
+ addRecord(record: Record): Promise<void>;
73
+ addRecordKey(key: RecordKey): Promise<void>;
74
+ getRecordKeyByRecordAndHash(recordName: string, hash: string): Promise<RecordKey>;
75
+ listRecordsByOwnerId(ownerId: string): Promise<ListedRecord[]>;
76
+ listRecordsByStudioId(studioId: string): Promise<ListedRecord[]>;
77
+ listRecordsByStudioIdAndUserId(studioId: string, userId: string): Promise<ListedRecord[]>;
78
+ addStudio(studio: Studio): Promise<void>;
79
+ createStudioForUser(studio: Studio, adminId: string): Promise<{
80
+ studio: Studio;
81
+ assignment: StudioAssignment;
82
+ }>;
83
+ updateStudio(studio: Studio): Promise<void>;
84
+ getStudioById(id: string): Promise<Studio>;
85
+ getStudioByStripeCustomerId(customerId: string): Promise<Studio>;
86
+ listStudiosForUser(userId: string): Promise<ListedStudio[]>;
87
+ addStudioAssignment(assignment: StudioAssignment): Promise<void>;
88
+ removeStudioAssignment(studioId: string, userId: string): Promise<void>;
89
+ updateStudioAssignment(assignment: StudioAssignment): Promise<void>;
90
+ listStudioAssignments(studioId: string, filters?: ListStudioAssignmentFilters): Promise<ListedStudioAssignment[]>;
91
+ listUserAssignments(userId: string): Promise<ListedUserAssignment[]>;
92
+ countRecords(filter: CountRecordsFilter): Promise<number>;
93
+ saveUser(user: AuthUser): Promise<void>;
94
+ saveNewUser(user: AuthUser): Promise<SaveNewUserResult>;
95
+ findUser(userId: string): Promise<AuthUser>;
96
+ setRevokeAllSessionsTimeForUser(userId: string, allSessionRevokeTimeMs: number): Promise<void>;
97
+ findUserByAddress(address: string, addressType: AddressType): Promise<AuthUser>;
98
+ findUserByStripeCustomerId(customerId: string): Promise<AuthUser>;
99
+ findLoginRequest(userId: string, requestId: string): Promise<AuthLoginRequest>;
100
+ findSession(userId: string, sessionId: string): Promise<AuthSession>;
101
+ saveLoginRequest(request: AuthLoginRequest): Promise<AuthLoginRequest>;
102
+ setCurrentLoginRequest(userId: string, requestId: string): Promise<void>;
103
+ markLoginRequestComplete(userId: string, requestId: string, completedTimeMs: number): Promise<void>;
104
+ incrementLoginRequestAttemptCount(userId: string, requestId: string): Promise<void>;
105
+ saveSession(session: AuthSession): Promise<void>;
106
+ replaceSession(session: AuthSession, newSession: AuthSession, revokeTimeMs: number): Promise<void>;
107
+ listSessions(userId: string, expireTimeMs: number): Promise<ListSessionsDataResult>;
108
+ listEmailRules(): Promise<RegexRule[]>;
109
+ listSmsRules(): Promise<RegexRule[]>;
110
+ saveSubscription(subscription: AuthSubscription): Promise<void>;
111
+ getSubscriptionById(id: string): Promise<AuthSubscription>;
112
+ getSubscriptionByStripeSubscriptionId(id: string): Promise<AuthSubscription>;
113
+ saveSubscriptionPeriod(period: AuthSubscriptionPeriod): Promise<void>;
114
+ getSubscriptionPeriodById(id: string): Promise<AuthSubscriptionPeriod>;
115
+ listSubscriptionPeriodsBySubscriptionId(subscriptionId: string): Promise<AuthSubscriptionPeriod[]>;
116
+ saveInvoice(invoice: AuthInvoice): Promise<void>;
117
+ getInvoiceById(id: string): Promise<AuthInvoice>;
118
+ updateSubscriptionInfo(request: UpdateSubscriptionInfoRequest): Promise<void>;
119
+ updateSubscriptionPeriod(request: UpdateSubscriptionPeriodRequest): Promise<void>;
120
+ private _findUserIndex;
121
+ setData(recordName: string, address: string, data: any, publisherId: string, subjectId: string, updatePolicy: UserPolicy, deletePolicy: UserPolicy, markers: string[]): Promise<SetDataResult>;
122
+ getData(recordName: string, address: string): Promise<GetDataStoreResult>;
123
+ eraseData(recordName: string, address: string): Promise<EraseDataStoreResult>;
124
+ listData(recordName: string, address: string): Promise<ListDataStoreResult>;
125
+ private _getDataRecord;
126
+ presignFileUpload(request: PresignFileUploadRequest): Promise<PresignFileUploadResult>;
127
+ presignFileRead(request: PresignFileReadRequest): Promise<PresignFileReadResult>;
128
+ getFileNameFromUrl(fileUrl: string): Promise<GetFileNameFromUrlResult>;
129
+ getFileRecord(recordName: string, fileName: string): Promise<GetFileRecordResult>;
130
+ listUploadedFiles(recordName: string, fileName: string): Promise<ListFilesStoreResult>;
131
+ addFileRecord(recordName: string, fileName: string, publisherId: string, subjectId: string, sizeInBytes: number, description: string, markers: string[]): Promise<AddFileResult>;
132
+ updateFileRecord(recordName: string, fileName: string, markers: string[]): Promise<UpdateFileResult>;
133
+ setFileRecordAsUploaded(recordName: string, fileName: string): Promise<MarkFileRecordAsUploadedResult>;
134
+ eraseFileRecord(recordName: string, fileName: string): Promise<EraseFileStoreResult>;
135
+ getAllowedUploadHeaders(): string[];
136
+ addEventCount(recordName: string, eventName: string, count: number): Promise<AddEventCountStoreResult>;
137
+ getEventCount(recordName: string, eventName: string): Promise<GetEventCountStoreResult>;
138
+ updateEvent(recordName: string, eventName: string, updates: EventRecordUpdate): Promise<UpdateEventResult>;
139
+ listEvents(recordName: string, eventName: string): Promise<ListEventsStoreResult>;
140
+ private _getEventRecord;
141
+ listUserPolicies(recordName: string, startingMarker: string): Promise<ListUserPoliciesStoreResult>;
142
+ getUserPolicy(recordName: string, marker: string): Promise<GetUserPolicyResult>;
143
+ updateUserPolicy(recordName: string, marker: string, policy: UserPolicyRecord): Promise<UpdateUserPolicyResult>;
144
+ listPoliciesForMarker(recordName: string, marker: string): Promise<PolicyDocument[]>;
145
+ listRolesForUser(recordName: string, userId: string): Promise<AssignedRole[]>;
146
+ listRolesForInst(recordName: string, inst: string): Promise<AssignedRole[]>;
147
+ listAssignmentsForRole(recordName: string, role: string): Promise<ListedRoleAssignments>;
148
+ listAssignments(recordName: string, startingRole: string): Promise<ListedRoleAssignments>;
149
+ assignSubjectRole(recordName: string, subjectId: string, type: 'user' | 'inst', role: AssignedRole): Promise<UpdateUserRolesResult>;
150
+ revokeSubjectRole(recordName: string, subjectId: string, type: 'user' | 'inst', role: string): Promise<UpdateUserRolesResult>;
151
+ updateUserRoles(recordName: string, userId: string, update: UpdateRolesUpdate): Promise<UpdateUserRolesResult>;
152
+ updateInstRoles(recordName: string, inst: string, update: UpdateRolesUpdate): Promise<UpdateUserRolesResult>;
153
+ private _getRolesForEntity;
154
+ getSubscriptionDataMetricsByRecordName(recordName: string): Promise<DataSubscriptionMetrics>;
155
+ getSubscriptionFileMetricsByRecordName(recordName: string): Promise<FileSubscriptionMetrics>;
156
+ getSubscriptionEventMetricsByRecordName(recordName: string): Promise<EventSubscriptionMetrics>;
157
+ getSubscriptionRecordMetrics(filter: SubscriptionFilter): Promise<RecordSubscriptionMetrics>;
158
+ getSubscriptionAiChatMetrics(filter: SubscriptionFilter): Promise<AIChatSubscriptionMetrics>;
159
+ recordChatMetrics(metrics: AIChatMetrics): Promise<void>;
160
+ getSubscriptionAiImageMetrics(filter: SubscriptionFilter): Promise<AIImageSubscriptionMetrics>;
161
+ recordImageMetrics(metrics: AIImageMetrics): Promise<void>;
162
+ getSubscriptionAiSkyboxMetrics(filter: SubscriptionFilter): Promise<AISkyboxSubscriptionMetrics>;
163
+ recordSkyboxMetrics(metrics: AISkyboxMetrics): Promise<void>;
164
+ private _getSubscriptionInfo;
165
+ private _getSubscriptionMetrics;
166
+ private _listRecordsForSubscription;
167
+ }
168
+ interface RecordData {
169
+ data: any;
170
+ publisherId: string;
171
+ subjectId: string;
172
+ updatePolicy: UserPolicy;
173
+ deletePolicy: UserPolicy;
174
+ markers: string[];
175
+ }
176
+ interface EventData {
177
+ count: number;
178
+ markers?: string[];
179
+ }
180
+ interface StoredFile {
181
+ fileName: string;
182
+ recordName: string;
183
+ publisherId: string;
184
+ subjectId: string;
185
+ sizeInBytes: number;
186
+ uploaded: boolean;
187
+ description: string;
188
+ markers: string[];
189
+ }
190
+ export {};
191
+ //# sourceMappingURL=MemoryStore.d.ts.map