@casual-simulation/aux-records 3.4.6-alpha.14668890889 → 3.5.0-alpha.15119114602

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 (211) hide show
  1. package/AIController.js +835 -890
  2. package/AIController.js.map +1 -1
  3. package/AIHumeInterface.js +43 -54
  4. package/AIHumeInterface.js.map +1 -1
  5. package/AIOpenAIRealtimeInterface.js +60 -71
  6. package/AIOpenAIRealtimeInterface.js.map +1 -1
  7. package/AnthropicAIChatInterface.js +96 -142
  8. package/AnthropicAIChatInterface.js.map +1 -1
  9. package/AuthController.d.ts +3 -2
  10. package/AuthController.js +1907 -1933
  11. package/AuthController.js.map +1 -1
  12. package/AuthStore.d.ts +1 -10
  13. package/BlockadeLabsGenerateSkyboxInterface.js +57 -72
  14. package/BlockadeLabsGenerateSkyboxInterface.js.map +1 -1
  15. package/CachingConfigStore.js +30 -45
  16. package/CachingConfigStore.js.map +1 -1
  17. package/CachingPolicyStore.d.ts +8 -2
  18. package/CachingPolicyStore.js +108 -135
  19. package/CachingPolicyStore.js.map +1 -1
  20. package/ComIdConfig.d.ts +18 -18
  21. package/ComIdConfig.js.map +1 -1
  22. package/ConsoleAuthMessenger.js +7 -20
  23. package/ConsoleAuthMessenger.js.map +1 -1
  24. package/DataRecordsController.d.ts +2 -2
  25. package/DataRecordsController.js +369 -377
  26. package/DataRecordsController.js.map +1 -1
  27. package/DataRecordsStore.d.ts +1 -1
  28. package/DataRecordsStore.js +1 -1
  29. package/DataRecordsStore.js.map +1 -1
  30. package/EventRecordsController.js +226 -240
  31. package/EventRecordsController.js.map +1 -1
  32. package/FileRecordsController.d.ts +13 -2
  33. package/FileRecordsController.js +458 -450
  34. package/FileRecordsController.js.map +1 -1
  35. package/GoogleAIChatInterface.js +133 -179
  36. package/GoogleAIChatInterface.js.map +1 -1
  37. package/LivekitController.js +43 -54
  38. package/LivekitController.js.map +1 -1
  39. package/LoomController.js +64 -75
  40. package/LoomController.js.map +1 -1
  41. package/MemoryAuthMessenger.js +10 -23
  42. package/MemoryAuthMessenger.js.map +1 -1
  43. package/MemoryCache.js +18 -35
  44. package/MemoryCache.js.map +1 -1
  45. package/MemoryFileRecordsLookup.js +105 -125
  46. package/MemoryFileRecordsLookup.js.map +1 -1
  47. package/MemoryModerationJobProvider.js +17 -30
  48. package/MemoryModerationJobProvider.js.map +1 -1
  49. package/MemoryRateLimiter.js +12 -27
  50. package/MemoryRateLimiter.js.map +1 -1
  51. package/MemoryStore.d.ts +18 -6
  52. package/MemoryStore.js +1879 -1997
  53. package/MemoryStore.js.map +1 -1
  54. package/MetricsStore.d.ts +2 -2
  55. package/ModerationController.js +186 -200
  56. package/ModerationController.js.map +1 -1
  57. package/OpenAIChatInterface.js +105 -135
  58. package/OpenAIChatInterface.js.map +1 -1
  59. package/OpenAIImageInterface.js +57 -51
  60. package/OpenAIImageInterface.js.map +1 -1
  61. package/PolicyController.d.ts +150 -10
  62. package/PolicyController.js +1546 -1299
  63. package/PolicyController.js.map +1 -1
  64. package/PolicyStore.d.ts +110 -2
  65. package/PolicyStore.js +36 -1
  66. package/PolicyStore.js.map +1 -1
  67. package/PrivoClient.js +398 -435
  68. package/PrivoClient.js.map +1 -1
  69. package/RateLimitController.js +25 -36
  70. package/RateLimitController.js.map +1 -1
  71. package/RecordsClient.js +51 -74
  72. package/RecordsClient.js.map +1 -1
  73. package/RecordsController.d.ts +2 -42
  74. package/RecordsController.js +1026 -1182
  75. package/RecordsController.js.map +1 -1
  76. package/RecordsServer.d.ts +196 -27
  77. package/RecordsServer.js +1701 -1343
  78. package/RecordsServer.js.map +1 -1
  79. package/RecordsStore.d.ts +1 -10
  80. package/RecordsStore.js.map +1 -1
  81. package/ServerConfig.d.ts +339 -195
  82. package/ServerConfig.js +13 -0
  83. package/ServerConfig.js.map +1 -1
  84. package/SloydInterface.js +62 -75
  85. package/SloydInterface.js.map +1 -1
  86. package/StabilityAIImageInterface.js +150 -167
  87. package/StabilityAIImageInterface.js.map +1 -1
  88. package/SubscriptionConfigBuilder.d.ts +6 -1
  89. package/SubscriptionConfigBuilder.js +22 -0
  90. package/SubscriptionConfigBuilder.js.map +1 -1
  91. package/SubscriptionConfiguration.d.ts +266 -169
  92. package/SubscriptionConfiguration.js +101 -79
  93. package/SubscriptionConfiguration.js.map +1 -1
  94. package/SubscriptionController.d.ts +2 -1
  95. package/SubscriptionController.js +643 -650
  96. package/SubscriptionController.js.map +1 -1
  97. package/SystemNotificationMessenger.d.ts +21 -4
  98. package/SystemNotificationMessenger.js +36 -30
  99. package/SystemNotificationMessenger.js.map +1 -1
  100. package/TestUtils.d.ts +9 -1
  101. package/TestUtils.js +105 -129
  102. package/TestUtils.js.map +1 -1
  103. package/Utils.d.ts +2 -16
  104. package/Utils.js +21 -22
  105. package/Utils.js.map +1 -1
  106. package/crud/CrudHelpers.js +17 -26
  107. package/crud/CrudHelpers.js.map +1 -1
  108. package/crud/CrudRecordsController.d.ts +1 -1
  109. package/crud/CrudRecordsController.js +259 -267
  110. package/crud/CrudRecordsController.js.map +1 -1
  111. package/crud/CrudRecordsControllerTests.js +174 -185
  112. package/crud/CrudRecordsControllerTests.js.map +1 -1
  113. package/crud/CrudRecordsStore.d.ts +7 -3
  114. package/crud/MemoryCrudRecordsStore.d.ts +4 -4
  115. package/crud/MemoryCrudRecordsStore.js +98 -118
  116. package/crud/MemoryCrudRecordsStore.js.map +1 -1
  117. package/crud/sub/MemorySubCrudRecordsStore.d.ts +24 -0
  118. package/crud/sub/MemorySubCrudRecordsStore.js +146 -0
  119. package/crud/sub/MemorySubCrudRecordsStore.js.map +1 -0
  120. package/crud/sub/SubCrudRecordsController.d.ts +182 -0
  121. package/crud/sub/SubCrudRecordsController.js +360 -0
  122. package/crud/sub/SubCrudRecordsController.js.map +1 -0
  123. package/crud/sub/SubCrudRecordsControllerTests.d.ts +39 -0
  124. package/crud/sub/SubCrudRecordsControllerTests.js +821 -0
  125. package/crud/sub/SubCrudRecordsControllerTests.js.map +1 -0
  126. package/crud/sub/SubCrudRecordsStore.d.ts +95 -0
  127. package/{forms/index.js → crud/sub/SubCrudRecordsStore.js} +2 -2
  128. package/crud/sub/SubCrudRecordsStore.js.map +1 -0
  129. package/crud/sub/index.d.ts +3 -0
  130. package/crud/sub/index.js +20 -0
  131. package/{forms → crud/sub}/index.js.map +1 -1
  132. package/index.d.ts +1 -1
  133. package/index.js +1 -1
  134. package/index.js.map +1 -1
  135. package/notifications/MemoryNotificationRecordsStore.js +189 -198
  136. package/notifications/MemoryNotificationRecordsStore.js.map +1 -1
  137. package/notifications/NotificationRecordsController.js +438 -460
  138. package/notifications/NotificationRecordsController.js.map +1 -1
  139. package/notifications/NotificationRecordsStore.d.ts +2 -1
  140. package/notifications/WebPushInterface.d.ts +0 -1
  141. package/notifications/WebPushInterface.js +0 -1
  142. package/notifications/WebPushInterface.js.map +1 -1
  143. package/package.json +6 -6
  144. package/packages/MemoryPackageRecordsStore.d.ts +10 -0
  145. package/packages/MemoryPackageRecordsStore.js +38 -0
  146. package/packages/MemoryPackageRecordsStore.js.map +1 -0
  147. package/packages/PackageRecordsController.d.ts +26 -0
  148. package/packages/PackageRecordsController.js +49 -0
  149. package/packages/PackageRecordsController.js.map +1 -0
  150. package/packages/PackageRecordsStore.d.ts +32 -0
  151. package/packages/PackageRecordsStore.js +19 -0
  152. package/packages/PackageRecordsStore.js.map +1 -0
  153. package/packages/index.d.ts +4 -0
  154. package/packages/index.js +21 -0
  155. package/packages/index.js.map +1 -0
  156. package/packages/version/MemoryPackageVersionRecordsStore.d.ts +21 -0
  157. package/packages/version/MemoryPackageVersionRecordsStore.js +177 -0
  158. package/packages/version/MemoryPackageVersionRecordsStore.js.map +1 -0
  159. package/packages/version/PackageVersionRecordsController.d.ts +144 -0
  160. package/packages/version/PackageVersionRecordsController.js +656 -0
  161. package/packages/version/PackageVersionRecordsController.js.map +1 -0
  162. package/packages/version/PackageVersionRecordsStore.d.ts +342 -0
  163. package/packages/version/PackageVersionRecordsStore.js +126 -0
  164. package/packages/version/PackageVersionRecordsStore.js.map +1 -0
  165. package/packages/version/index.d.ts +4 -0
  166. package/packages/version/index.js +21 -0
  167. package/packages/version/index.js.map +1 -0
  168. package/tracing/TracingDecorators.js +31 -40
  169. package/tracing/TracingDecorators.js.map +1 -1
  170. package/webhooks/MemoryWebhookRecordsStore.js +56 -72
  171. package/webhooks/MemoryWebhookRecordsStore.js.map +1 -1
  172. package/webhooks/WebhookEnvironment.d.ts +3 -3
  173. package/webhooks/WebhookRecordsController.d.ts +2 -1
  174. package/webhooks/WebhookRecordsController.js +389 -382
  175. package/webhooks/WebhookRecordsController.js.map +1 -1
  176. package/webhooks/WebhookRecordsStore.d.ts +2 -1
  177. package/websockets/InstRecordsStore.d.ts +50 -0
  178. package/websockets/InstRecordsStore.js +17 -0
  179. package/websockets/InstRecordsStore.js.map +1 -1
  180. package/websockets/MemoryTempInstRecordsStore.d.ts +5 -0
  181. package/websockets/MemoryTempInstRecordsStore.js +168 -179
  182. package/websockets/MemoryTempInstRecordsStore.js.map +1 -1
  183. package/websockets/MemoryWebsocketConnectionStore.js +98 -135
  184. package/websockets/MemoryWebsocketConnectionStore.js.map +1 -1
  185. package/websockets/MemoryWebsocketMessenger.js +29 -48
  186. package/websockets/MemoryWebsocketMessenger.js.map +1 -1
  187. package/websockets/SplitInstRecordsStore.d.ts +4 -1
  188. package/websockets/SplitInstRecordsStore.js +167 -185
  189. package/websockets/SplitInstRecordsStore.js.map +1 -1
  190. package/websockets/TemporaryInstRecordsStore.d.ts +19 -1
  191. package/websockets/TemporaryInstRecordsStore.js +17 -0
  192. package/websockets/TemporaryInstRecordsStore.js.map +1 -1
  193. package/websockets/WebsocketController.d.ts +147 -3
  194. package/websockets/WebsocketController.js +1735 -1391
  195. package/websockets/WebsocketController.js.map +1 -1
  196. package/websockets/index.d.ts +0 -1
  197. package/websockets/index.js +0 -1
  198. package/websockets/index.js.map +1 -1
  199. package/AAGUID.d.ts +0 -11
  200. package/AAGUID.js +0 -116
  201. package/AAGUID.js.map +0 -1
  202. package/AuthUtils.d.ts +0 -162
  203. package/AuthUtils.js +0 -327
  204. package/AuthUtils.js.map +0 -1
  205. package/forms/FormError.d.ts +0 -43
  206. package/forms/FormError.js +0 -56
  207. package/forms/FormError.js.map +0 -1
  208. package/forms/index.d.ts +0 -2
  209. package/websockets/Utils.d.ts +0 -33
  210. package/websockets/Utils.js +0 -82
  211. package/websockets/Utils.js.map +0 -1
@@ -5,14 +5,17 @@ import type { DeviceConnection, WebsocketConnectionStore } from './WebsocketConn
5
5
  import type { AddUpdatesMessage, LoginMessage, RequestMissingPermissionMessage, RequestMissingPermissionResponseMessage, SendActionMessage, TimeSyncRequestMessage, UploadHttpHeaders, WatchBranchMessage, WebsocketErrorInfo, WebsocketEvent } from '@casual-simulation/aux-common/websockets/WebsocketEvents';
6
6
  import type { ConnectionInfo } from '@casual-simulation/aux-common/common/ConnectionInfo';
7
7
  import type { AuthController } from '../AuthController';
8
- import type { InstRecord, InstRecordsStore, InstWithSubscriptionInfo, SaveInstFailure } from './InstRecordsStore';
8
+ import type { InstRecord, InstRecordsStore, InstWithSubscriptionInfo, LoadedPackage, SaveInstFailure } from './InstRecordsStore';
9
9
  import type { TemporaryInstRecordsStore } from './TemporaryInstRecordsStore';
10
- import type { DenialReason, ServerError, NotSupportedError } from '@casual-simulation/aux-common';
10
+ import type { DenialReason, ServerError, NotSupportedError, KnownErrorCodes, UserRole } from '@casual-simulation/aux-common';
11
+ import type { ZodIssue } from 'zod';
11
12
  import type { AuthorizationContext, AuthorizeSubjectFailure, ConstructAuthorizationContextFailure, PolicyController } from '../PolicyController';
12
13
  import type { ConfigurationStore } from '../ConfigurationStore';
13
14
  import type { FeaturesConfiguration } from '../SubscriptionConfiguration';
14
15
  import type { MetricsStore } from '../MetricsStore';
15
16
  import type { AuthStore } from '../AuthStore';
17
+ import type { PackageRecordVersionWithMetadata } from '../packages/version';
18
+ import { type PackageVersionRecordsController, type PackageVersionSpecifier } from '../packages/version';
16
19
  export declare const SAVE_PERMANENT_BRANCHES_LOCK = "savePermanentBranches";
17
20
  /**
18
21
  * Defines a class that is able to serve causal repos in realtime.
@@ -27,6 +30,7 @@ export declare class WebsocketController {
27
30
  private _config;
28
31
  private _metrics;
29
32
  private _authStore;
33
+ private _packageVersions;
30
34
  /**
31
35
  * Gets or sets the default device selector that should be used
32
36
  * for events that are sent without a selector.
@@ -34,7 +38,7 @@ export declare class WebsocketController {
34
38
  defaultDeviceSelector: DeviceSelector;
35
39
  mergeUpdatesOnMaxSizeExceeded: boolean;
36
40
  get messenger(): WebsocketMessenger;
37
- constructor(connectionStore: WebsocketConnectionStore, messenger: WebsocketMessenger, instStore: InstRecordsStore, temporaryInstStore: TemporaryInstRecordsStore, auth: AuthController, policies: PolicyController, config: ConfigurationStore, metrics: MetricsStore, authStore: AuthStore);
41
+ constructor(connectionStore: WebsocketConnectionStore, messenger: WebsocketMessenger, instStore: InstRecordsStore, temporaryInstStore: TemporaryInstRecordsStore, auth: AuthController, policies: PolicyController, config: ConfigurationStore, metrics: MetricsStore, authStore: AuthStore, packageVersions?: PackageVersionRecordsController);
38
42
  /**
39
43
  * Attempts to log the given connection in.
40
44
  * @param connectionId The ID of the connection.
@@ -46,6 +50,7 @@ export declare class WebsocketController {
46
50
  watchBranch(connectionId: string, event: WatchBranchMessage): Promise<void>;
47
51
  unwatchBranch(connectionId: string, recordName: string | null, inst: string, branch: string): Promise<void>;
48
52
  addUpdates(connectionId: string, event: AddUpdatesMessage): Promise<void>;
53
+ addUserUpdates(request: AddUpdatesRequest): Promise<AddInstUpdatesResult>;
49
54
  sendAction(connectionId: string, event: SendActionMessage): Promise<void>;
50
55
  watchBranchDevices(connectionId: string, recordName: string | null, inst: string, branch: string): Promise<void>;
51
56
  unwatchBranchDevices(connectionId: string, recordName: string | null, inst: string, branch: string): Promise<void>;
@@ -83,6 +88,12 @@ export declare class WebsocketController {
83
88
  * @param event The response to the missing permission request.
84
89
  */
85
90
  respondToPermissionRequest(connectionId: string, event: RequestMissingPermissionResponseMessage): Promise<void>;
91
+ /**
92
+ * Attempts to install a package into an inst.
93
+ * @param request The request to load the package.
94
+ */
95
+ installPackage(request: LoadPackageRequest): Promise<LoadPackageResult>;
96
+ listInstalledPackages(request: ListInstalledPackagesRequest): Promise<ListInstalledPackagesResult>;
86
97
  syncTime(connectionId: string, event: TimeSyncRequestMessage, requestTime: number): Promise<void>;
87
98
  /**
88
99
  * Handles when the rate limit has been exceeded by the given connection.
@@ -201,4 +212,137 @@ export interface EraseInstFailure {
201
212
  errorMessage: string;
202
213
  reason?: DenialReason;
203
214
  }
215
+ export interface AddUpdatesRequest {
216
+ /**
217
+ * The ID of the currently logged in user.
218
+ */
219
+ userId: string | null;
220
+ /**
221
+ * The role of the currently logged in user.
222
+ */
223
+ userRole?: UserRole | null;
224
+ /**
225
+ * The name of the record that the branch is for.
226
+ * Null if the branch should be public and non-permanent.
227
+ */
228
+ recordName: string | null;
229
+ /**
230
+ * The name of the inst.
231
+ */
232
+ inst: string;
233
+ /**
234
+ * The branch that the updates are for.
235
+ */
236
+ branch: string;
237
+ /**
238
+ * The updates that should be added.
239
+ */
240
+ updates: string[];
241
+ /**
242
+ * Whether this message should be treated as the first message
243
+ * after a watch_branch event.
244
+ * This flag MUST be included on the first message as large apiary messages may appear out of order.
245
+ */
246
+ initial?: boolean;
247
+ /**
248
+ * The list of timestamps that the updates occurred at.
249
+ */
250
+ timestamps?: number[];
251
+ }
252
+ export type AddInstUpdatesResult = AddInstUpdatesSuccess | AddInstUpdatesFailure;
253
+ export interface AddInstUpdatesSuccess {
254
+ success: true;
255
+ }
256
+ export interface AddInstUpdatesFailure {
257
+ success: false;
258
+ errorCode: KnownErrorCodes;
259
+ errorMessage: string;
260
+ reason?: DenialReason;
261
+ }
262
+ export interface LoadPackageRequest {
263
+ /**
264
+ * The ID of the currently logged in user.
265
+ */
266
+ userId: string | null;
267
+ /**
268
+ * The role of the currently logged in user.
269
+ */
270
+ userRole?: UserRole | null;
271
+ /**
272
+ * The name of the record that the package should be loaded into.
273
+ * Null if the inst is a public inst.
274
+ */
275
+ recordName: string | null;
276
+ /**
277
+ * The inst that the package should be loaded into.
278
+ */
279
+ inst: string;
280
+ /**
281
+ * The branch that the package should be loaded into.
282
+ * If omitted, then the default branch will be used.
283
+ */
284
+ branch?: string;
285
+ /**
286
+ * The package that should be loaded.
287
+ */
288
+ package: PackageVersionSpecifier;
289
+ /**
290
+ * The list of instances that are currently loaded.
291
+ */
292
+ instances?: string[];
293
+ }
294
+ export type LoadPackageResult = LoadPackageSuccess | LoadPackageFailure;
295
+ export interface LoadPackageSuccess {
296
+ success: true;
297
+ /**
298
+ * The ID of the record which records that the package was loaded into the inst.
299
+ */
300
+ packageLoadId: string;
301
+ /**
302
+ * The package that was loaded.
303
+ */
304
+ package: PackageRecordVersionWithMetadata;
305
+ }
306
+ export interface LoadPackageFailure {
307
+ success: false;
308
+ errorCode: KnownErrorCodes;
309
+ errorMessage: string;
310
+ reason?: DenialReason;
311
+ issues?: ZodIssue[];
312
+ }
313
+ export interface ListInstalledPackagesRequest {
314
+ /**
315
+ * The ID of the currently logged in user.
316
+ */
317
+ userId: string | null;
318
+ /**
319
+ * The role of the currently logged in user.
320
+ */
321
+ userRole?: UserRole | null;
322
+ /**
323
+ * The name of the record that the installed packages should be listed from.
324
+ * If null, then the inst is a public inst.
325
+ */
326
+ recordName: string | null;
327
+ /**
328
+ * The inst that the installed packages should be listed from.
329
+ */
330
+ inst: string;
331
+ /**
332
+ * The instances that are trying to list the packages.
333
+ */
334
+ instances?: string[];
335
+ }
336
+ export type ListInstalledPackagesResult = ListInstalledPackagesRequestSuccess | ListInstalledPackagesFailure;
337
+ export interface ListInstalledPackagesRequestSuccess {
338
+ success: true;
339
+ packages: LoadedPackage[];
340
+ }
341
+ export interface ListInstalledPackagesFailure {
342
+ success: false;
343
+ errorCode: KnownErrorCodes;
344
+ errorMessage: string;
345
+ reason?: DenialReason;
346
+ issues?: ZodIssue[];
347
+ }
204
348
  //# sourceMappingURL=WebsocketController.d.ts.map