@casual-simulation/aux-records 3.8.1 → 3.10.2

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 (239) hide show
  1. package/AIChatInterface.d.ts +7 -43
  2. package/AIChatInterface.js +8 -6
  3. package/AIChatInterface.js.map +1 -1
  4. package/AIController.js +44 -49
  5. package/AIController.js.map +1 -1
  6. package/AIOpenAIRealtimeInterface.d.ts +1 -1
  7. package/AnthropicAIChatInterface.js +4 -4
  8. package/AnthropicAIChatInterface.js.map +1 -1
  9. package/AuthController.d.ts +78 -10
  10. package/AuthController.js +230 -166
  11. package/AuthController.js.map +1 -1
  12. package/AuthStore.d.ts +317 -4
  13. package/BigIntPatch.d.ts +1 -0
  14. package/BigIntPatch.js +24 -0
  15. package/BigIntPatch.js.map +1 -0
  16. package/BlockadeLabsGenerateSkyboxInterface.js +4 -4
  17. package/BlockadeLabsGenerateSkyboxInterface.js.map +1 -1
  18. package/CachingConfigStore.d.ts +8 -1
  19. package/CachingConfigStore.js +50 -0
  20. package/CachingConfigStore.js.map +1 -1
  21. package/ComIdConfig.d.ts +132 -86
  22. package/ComIdConfig.js +5 -5
  23. package/ComIdConfig.js.map +1 -1
  24. package/ConfigurationStore.d.ts +1393 -3
  25. package/ConfigurationStore.js +49 -0
  26. package/ConfigurationStore.js.map +1 -1
  27. package/DataRecordsController.js +28 -28
  28. package/DataRecordsController.js.map +1 -1
  29. package/EventRecordsController.js +9 -9
  30. package/EventRecordsController.js.map +1 -1
  31. package/FileRecordsController.js +18 -17
  32. package/FileRecordsController.js.map +1 -1
  33. package/GoogleAIChatInterface.js +4 -4
  34. package/GoogleAIChatInterface.js.map +1 -1
  35. package/HttpTestUtils.d.ts +48 -0
  36. package/HttpTestUtils.js +256 -0
  37. package/HttpTestUtils.js.map +1 -0
  38. package/LivekitController.js +2 -2
  39. package/LivekitController.js.map +1 -1
  40. package/LoomController.js +3 -4
  41. package/LoomController.js.map +1 -1
  42. package/MemoryStore.d.ts +60 -7
  43. package/MemoryStore.js +427 -59
  44. package/MemoryStore.js.map +1 -1
  45. package/MetricsStore.d.ts +11 -0
  46. package/ModerationConfiguration.d.ts +11 -85
  47. package/ModerationConfiguration.js +17 -17
  48. package/ModerationConfiguration.js.map +1 -1
  49. package/ModerationController.js +9 -11
  50. package/ModerationController.js.map +1 -1
  51. package/OpenAIChatInterface.js +8 -13
  52. package/OpenAIChatInterface.js.map +1 -1
  53. package/OpenAIImageInterface.js +4 -5
  54. package/OpenAIImageInterface.js.map +1 -1
  55. package/PolicyController.js +66 -73
  56. package/PolicyController.js.map +1 -1
  57. package/PolicyStore.d.ts +59 -33
  58. package/PolicyStore.js +35 -1
  59. package/PolicyStore.js.map +1 -1
  60. package/PrivoClient.d.ts +3 -1
  61. package/PrivoClient.js +2 -4
  62. package/PrivoClient.js.map +1 -1
  63. package/PrivoConfiguration.d.ts +6 -72
  64. package/PrivoConfiguration.js +30 -31
  65. package/PrivoConfiguration.js.map +1 -1
  66. package/README.md +276 -2
  67. package/RateLimitController.js +2 -2
  68. package/RateLimitController.js.map +1 -1
  69. package/RecordsClient.d.ts +3 -1
  70. package/RecordsClient.js +6 -6
  71. package/RecordsClient.js.map +1 -1
  72. package/RecordsController.d.ts +145 -3
  73. package/RecordsController.js +399 -61
  74. package/RecordsController.js.map +1 -1
  75. package/RecordsServer.d.ts +1932 -1109
  76. package/RecordsStore.d.ts +99 -14
  77. package/RecordsStore.js +8 -10
  78. package/RecordsStore.js.map +1 -1
  79. package/ServerConfig.d.ts +698 -9867
  80. package/ServerConfig.js +457 -377
  81. package/ServerConfig.js.map +1 -1
  82. package/SloydInterface.js +1 -1
  83. package/SloydInterface.js.map +1 -1
  84. package/StabilityAIImageInterface.js +6 -9
  85. package/StabilityAIImageInterface.js.map +1 -1
  86. package/StripeInterface.d.ts +431 -287
  87. package/StripeInterface.js +21 -1
  88. package/StripeInterface.js.map +1 -1
  89. package/SubscriptionConfigBuilder.d.ts +10 -1
  90. package/SubscriptionConfigBuilder.js +72 -41
  91. package/SubscriptionConfigBuilder.js.map +1 -1
  92. package/SubscriptionConfiguration.d.ts +606 -6334
  93. package/SubscriptionConfiguration.js +460 -277
  94. package/SubscriptionConfiguration.js.map +1 -1
  95. package/SubscriptionController.d.ts +677 -4
  96. package/SubscriptionController.js +2986 -186
  97. package/SubscriptionController.js.map +1 -1
  98. package/SystemNotificationMessenger.d.ts +14 -70
  99. package/SystemNotificationMessenger.js +17 -20
  100. package/SystemNotificationMessenger.js.map +1 -1
  101. package/TestUtils.d.ts +18 -3
  102. package/TestUtils.js +84 -8
  103. package/TestUtils.js.map +1 -1
  104. package/TypeUtils.d.ts +991 -0
  105. package/TypeUtils.js +2 -0
  106. package/TypeUtils.js.map +1 -0
  107. package/Utils.d.ts +59 -0
  108. package/Utils.js +507 -3
  109. package/Utils.js.map +1 -1
  110. package/Validations.d.ts +24 -108
  111. package/Validations.js +62 -45
  112. package/Validations.js.map +1 -1
  113. package/ViewTemplateRenderer.d.ts +39 -0
  114. package/ViewTemplateRenderer.js +19 -0
  115. package/ViewTemplateRenderer.js.map +1 -0
  116. package/contracts/ContractRecordsController.d.ts +58 -0
  117. package/contracts/ContractRecordsController.js +144 -0
  118. package/contracts/ContractRecordsController.js.map +1 -0
  119. package/contracts/ContractRecordsStore.d.ts +285 -0
  120. package/contracts/ContractRecordsStore.js +19 -0
  121. package/contracts/ContractRecordsStore.js.map +1 -0
  122. package/contracts/MemoryContractRecordsStore.d.ts +27 -0
  123. package/contracts/MemoryContractRecordsStore.js +124 -0
  124. package/contracts/MemoryContractRecordsStore.js.map +1 -0
  125. package/contracts/index.d.ts +4 -0
  126. package/contracts/index.js +21 -0
  127. package/contracts/index.js.map +1 -0
  128. package/crud/CrudHelpers.d.ts +25 -26
  129. package/crud/CrudHelpers.js +1 -1
  130. package/crud/CrudHelpers.js.map +1 -1
  131. package/crud/CrudRecordsController.js +13 -16
  132. package/crud/CrudRecordsController.js.map +1 -1
  133. package/crud/CrudRecordsControllerTests.d.ts +2 -2
  134. package/crud/CrudRecordsControllerTests.js +605 -580
  135. package/crud/CrudRecordsControllerTests.js.map +1 -1
  136. package/crud/MemoryCrudRecordsStore.js +1 -2
  137. package/crud/MemoryCrudRecordsStore.js.map +1 -1
  138. package/crud/sub/MemorySubCrudRecordsStore.js +4 -6
  139. package/crud/sub/MemorySubCrudRecordsStore.js.map +1 -1
  140. package/crud/sub/SubCrudRecordsController.js +8 -8
  141. package/crud/sub/SubCrudRecordsController.js.map +1 -1
  142. package/database/DatabaseRecordsController.js +1 -2
  143. package/database/DatabaseRecordsController.js.map +1 -1
  144. package/database/SqliteDatabaseInterface.js +1 -2
  145. package/database/SqliteDatabaseInterface.js.map +1 -1
  146. package/dns/DNSDomainNameValidator.d.ts +11 -0
  147. package/dns/DNSDomainNameValidator.js +59 -0
  148. package/dns/DNSDomainNameValidator.js.map +1 -0
  149. package/dns/DomainNameValidator.d.ts +36 -0
  150. package/dns/DomainNameValidator.js +19 -0
  151. package/dns/DomainNameValidator.js.map +1 -0
  152. package/dns/index.d.ts +3 -0
  153. package/dns/index.js +20 -0
  154. package/dns/index.js.map +1 -0
  155. package/financial/FinancialController.d.ts +272 -0
  156. package/financial/FinancialController.js +762 -0
  157. package/financial/FinancialController.js.map +1 -0
  158. package/financial/FinancialInterface.d.ts +352 -0
  159. package/financial/FinancialInterface.js +642 -0
  160. package/financial/FinancialInterface.js.map +1 -0
  161. package/financial/FinancialStore.d.ts +186 -0
  162. package/financial/FinancialStore.js +19 -0
  163. package/financial/FinancialStore.js.map +1 -0
  164. package/financial/MemoryFinancialInterface.d.ts +23 -0
  165. package/financial/MemoryFinancialInterface.js +592 -0
  166. package/financial/MemoryFinancialInterface.js.map +1 -0
  167. package/financial/TigerBeetleFinancialInterface.d.ts +46 -0
  168. package/financial/TigerBeetleFinancialInterface.js +109 -0
  169. package/financial/TigerBeetleFinancialInterface.js.map +1 -0
  170. package/financial/TigerBeetleTestUtils.d.ts +40 -0
  171. package/financial/TigerBeetleTestUtils.js +185 -0
  172. package/financial/TigerBeetleTestUtils.js.map +1 -0
  173. package/financial/Types.d.ts +1 -0
  174. package/financial/Types.js +801 -0
  175. package/financial/Types.js.map +1 -0
  176. package/financial/index.d.ts +6 -0
  177. package/financial/index.js +24 -0
  178. package/financial/index.js.map +1 -0
  179. package/index.d.ts +4 -0
  180. package/index.js +3 -0
  181. package/index.js.map +1 -1
  182. package/notifications/NotificationRecordsController.js +14 -14
  183. package/notifications/NotificationRecordsController.js.map +1 -1
  184. package/notifications/WebPushInterface.d.ts +24 -155
  185. package/notifications/WebPushInterface.js +2 -2
  186. package/notifications/WebPushInterface.js.map +1 -1
  187. package/package.json +72 -70
  188. package/packages/version/MemoryPackageVersionRecordsStore.js +12 -15
  189. package/packages/version/MemoryPackageVersionRecordsStore.js.map +1 -1
  190. package/packages/version/PackageVersionRecordsController.d.ts +19 -0
  191. package/packages/version/PackageVersionRecordsController.js +102 -22
  192. package/packages/version/PackageVersionRecordsController.js.map +1 -1
  193. package/packages/version/PackageVersionRecordsStore.js +6 -8
  194. package/packages/version/PackageVersionRecordsStore.js.map +1 -1
  195. package/purchasable-items/MemoryPurchasableItemRecordsStore.d.ts +7 -0
  196. package/purchasable-items/MemoryPurchasableItemRecordsStore.js +33 -0
  197. package/purchasable-items/MemoryPurchasableItemRecordsStore.js.map +1 -0
  198. package/purchasable-items/PurchasableItemRecordsController.d.ts +16 -0
  199. package/purchasable-items/PurchasableItemRecordsController.js +72 -0
  200. package/purchasable-items/PurchasableItemRecordsController.js.map +1 -0
  201. package/purchasable-items/PurchasableItemRecordsStore.d.ts +66 -0
  202. package/purchasable-items/PurchasableItemRecordsStore.js +2 -0
  203. package/purchasable-items/PurchasableItemRecordsStore.js.map +1 -0
  204. package/purchasable-items/index.d.ts +4 -0
  205. package/purchasable-items/index.js +21 -0
  206. package/purchasable-items/index.js.map +1 -0
  207. package/queue/MemoryQueue.js +1 -1
  208. package/queue/MemoryQueue.js.map +1 -1
  209. package/search/MemorySearchInterface.js +1 -2
  210. package/search/MemorySearchInterface.js.map +1 -1
  211. package/search/SearchRecordsController.d.ts +66 -244
  212. package/search/SearchRecordsController.js +35 -36
  213. package/search/SearchRecordsController.js.map +1 -1
  214. package/search/SearchSyncProcessor.d.ts +7 -83
  215. package/search/TypesenseSearchInterface.js +8 -11
  216. package/search/TypesenseSearchInterface.js.map +1 -1
  217. package/tracing/TracingDecorators.js +5 -8
  218. package/tracing/TracingDecorators.js.map +1 -1
  219. package/webhooks/WebhookEnvironment.d.ts +36 -560
  220. package/webhooks/WebhookEnvironment.js +1 -1
  221. package/webhooks/WebhookEnvironment.js.map +1 -1
  222. package/webhooks/WebhookRecordsController.js +14 -16
  223. package/webhooks/WebhookRecordsController.js.map +1 -1
  224. package/websockets/MemoryLockStore.d.ts +18 -0
  225. package/websockets/MemoryLockStore.js +2 -0
  226. package/websockets/MemoryLockStore.js.map +1 -0
  227. package/websockets/MemoryTempInstRecordsStore.js +15 -27
  228. package/websockets/MemoryTempInstRecordsStore.js.map +1 -1
  229. package/websockets/MemoryWebsocketConnectionStore.js +6 -8
  230. package/websockets/MemoryWebsocketConnectionStore.js.map +1 -1
  231. package/websockets/MemoryWebsocketMessenger.js +1 -2
  232. package/websockets/MemoryWebsocketMessenger.js.map +1 -1
  233. package/websockets/SplitInstRecordsStore.js +2 -2
  234. package/websockets/SplitInstRecordsStore.js.map +1 -1
  235. package/websockets/WebsocketController.d.ts +5 -0
  236. package/websockets/WebsocketController.js +122 -83
  237. package/websockets/WebsocketController.js.map +1 -1
  238. package/RecordsServer.js +0 -6435
  239. package/RecordsServer.js.map +0 -1
package/TestUtils.js CHANGED
@@ -24,13 +24,17 @@ import { buildSubscriptionConfig } from './SubscriptionConfigBuilder';
24
24
  import { MemoryPackageRecordsStore, PackageRecordsController, } from './packages';
25
25
  import { MemoryPackageVersionRecordsStore, PackageVersionRecordsController, } from './packages/version';
26
26
  import { FileRecordsController } from './FileRecordsController';
27
- import { parseSessionKey } from '@casual-simulation/aux-common';
27
+ import { mapValuesDeep, parseSessionKey } from '@casual-simulation/aux-common';
28
+ import { FinancialController, MemoryFinancialInterface } from './financial';
29
+ import { v4 as uuidv4, parse } from 'uuid';
28
30
  export function createTestSubConfiguration(build = (config) => config) {
29
31
  return buildSubscriptionConfig((config) => build(config
30
- .withCancelUrl('http://cancel-url')
31
- .withReturnUrl('http://return-url')
32
- .withSuccessUrl('http://success-url')
33
- .withWebhookSecret('webhook-secret')));
32
+ .withCancelUrl('https://cancel-url/')
33
+ .withReturnUrl('https://return-url/')
34
+ .withSuccessUrl('https://success-url/')
35
+ .withWebhookSecret('webhook-secret')
36
+ .withUserDefaultFeatures((f) => f.withAllDefaultFeatures())
37
+ .withStudioDefaultFeatures((f) => f.withAllDefaultFeatures())));
34
38
  }
35
39
  export function createTestPrivoConfiguration() {
36
40
  return {
@@ -60,13 +64,13 @@ export function createTestPrivoConfiguration() {
60
64
  ageOfConsent: 18,
61
65
  };
62
66
  }
63
- export function createTestControllers(config) {
64
- const subConfig = typeof config === 'undefined' ? createTestSubConfiguration() : null;
67
+ export function createTestControllers(config, financialInterface) {
68
+ const subConfig = typeof config === 'undefined' ? createTestSubConfiguration() : config;
65
69
  const store = new MemoryStore({
66
70
  subscriptions: subConfig,
67
71
  });
68
72
  const authMessenger = new MemoryAuthMessenger();
69
- const auth = new AuthController(store, authMessenger, store);
73
+ const auth = new AuthController(store, authMessenger, store, store);
70
74
  const records = new RecordsController({
71
75
  store: store,
72
76
  auth: store,
@@ -74,9 +78,12 @@ export function createTestControllers(config) {
74
78
  metrics: store,
75
79
  messenger: store,
76
80
  privo: null,
81
+ domainNameValidator: null,
77
82
  });
78
83
  const packagesStore = new MemoryPackageRecordsStore(store);
79
84
  const packageVersionStore = new MemoryPackageVersionRecordsStore(store, packagesStore);
85
+ financialInterface ?? (financialInterface = new MemoryFinancialInterface());
86
+ const financialController = new FinancialController(financialInterface, store);
80
87
  const policies = new PolicyController(auth, records, store, store, packageVersionStore);
81
88
  const files = new FileRecordsController({
82
89
  config: store,
@@ -113,6 +120,8 @@ export function createTestControllers(config) {
113
120
  packages,
114
121
  packageVersionStore,
115
122
  packageVersions,
123
+ financialController,
124
+ financialInterface,
116
125
  };
117
126
  }
118
127
  export async function createTestUser({ auth, authMessenger }, emailAddress = 'test@example.com') {
@@ -149,6 +158,13 @@ export async function createTestUser({ auth, authMessenger }, emailAddress = 'te
149
158
  sessionId,
150
159
  };
151
160
  }
161
+ // export async function createTestXpUser(
162
+ // xpController: XpController,
163
+ // ...createTestUserParams: Parameters<typeof createTestUser>
164
+ // ) {
165
+ // const authUser = await createTestUser(...createTestUserParams);
166
+ // return await xpController.getXpUser({ userId: authUser.userId });
167
+ // }
152
168
  export async function createTestRecordKey({ records }, userId, recordName = 'testRecord', policy = 'subjectfull') {
153
169
  const createRecordKeyResult = await records.createPublicRecordKey(recordName, policy, userId);
154
170
  if (!createRecordKeyResult.success) {
@@ -224,4 +240,64 @@ export function readableFromAsyncIterable(iterator) {
224
240
  },
225
241
  });
226
242
  }
243
+ export function mapBigInts(obj) {
244
+ return mapValuesDeep(obj, (value) => {
245
+ if (typeof value === 'bigint') {
246
+ if (value > Number.MAX_SAFE_INTEGER) {
247
+ return Number.MAX_SAFE_INTEGER;
248
+ }
249
+ else {
250
+ return Number(value);
251
+ }
252
+ }
253
+ return value;
254
+ });
255
+ }
256
+ export async function checkAccounts(financialInterface, accounts) {
257
+ const accountValues = await financialInterface.lookupAccounts(accounts.map((a) => a.id));
258
+ expect(accountValues).toEqual(accounts.map((a) => expect.objectContaining(a)));
259
+ // for(let i = 0; i < accounts.length; i++) {
260
+ // const expected = accounts[i];
261
+ // const actual = accountValues[i];
262
+ // expect(mapBigInts(actual)).toMatchObject(mapBigInts(expected));
263
+ // }
264
+ }
265
+ export function checkTransfers(actual, expected) {
266
+ expect(actual).toEqual(expected.map((t) => expect.objectContaining(t)));
267
+ // for(let i = 0; i < accounts.length; i++) {
268
+ // const expected = accounts[i];
269
+ // const actual = accountValues[i];
270
+ // expect(mapBigInts(actual)).toMatchObject(mapBigInts(expected));
271
+ // }
272
+ }
273
+ export function randomBigInt() {
274
+ const uuid = uuidv4();
275
+ const uuidBytes = parse(uuid);
276
+ // get bigint from uuid bytes
277
+ return BigInt('0x' + Buffer.from(uuidBytes).toString('hex'));
278
+ }
279
+ /**
280
+ * Creates a new stripe interface mock.
281
+ */
282
+ export function createStripeMock() {
283
+ return {
284
+ publishableKey: 'publishable_key',
285
+ getProductAndPriceInfo: jest.fn(),
286
+ listPricesForProduct: jest.fn(),
287
+ createCheckoutSession: jest.fn(),
288
+ createPortalSession: jest.fn(),
289
+ createCustomer: jest.fn(),
290
+ listActiveSubscriptionsForCustomer: jest.fn(),
291
+ constructWebhookEvent: jest.fn(),
292
+ getSubscriptionById: jest.fn(),
293
+ createAccountLink: jest.fn(),
294
+ createAccount: jest.fn(),
295
+ getAccountById: jest.fn(),
296
+ getCheckoutSessionById: jest.fn(),
297
+ createAccountSession: jest.fn(),
298
+ createLoginLink: jest.fn(),
299
+ createTransfer: jest.fn(),
300
+ getPaymentIntentById: jest.fn(),
301
+ };
302
+ }
227
303
  //# sourceMappingURL=TestUtils.js.map
package/TestUtils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"TestUtils.js","sourceRoot":"","sources":["TestUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TestUtils.js","sourceRoot":"","sources":["TestUtils.ts"],"names":[],"mappings":"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"}