@casual-simulation/aux-records 3.3.6 → 3.3.7-alpha.9747723960

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 (60) hide show
  1. package/AIController.d.ts +126 -0
  2. package/AIController.js +177 -7
  3. package/AIController.js.map +1 -1
  4. package/AISloydInterface.d.ts +154 -0
  5. package/AISloydInterface.js +2 -0
  6. package/AISloydInterface.js.map +1 -0
  7. package/AuthController.js +165 -0
  8. package/AuthController.js.map +1 -1
  9. package/BlockadeLabsGenerateSkyboxInterface.js +28 -0
  10. package/BlockadeLabsGenerateSkyboxInterface.js.map +1 -1
  11. package/DataRecordsController.js +39 -0
  12. package/DataRecordsController.js.map +1 -1
  13. package/EventRecordsController.js +33 -0
  14. package/EventRecordsController.js.map +1 -1
  15. package/FileRecordsController.js +54 -0
  16. package/FileRecordsController.js.map +1 -1
  17. package/GoogleAIChatInterface.js +28 -0
  18. package/GoogleAIChatInterface.js.map +1 -1
  19. package/LivekitController.js +15 -0
  20. package/LivekitController.js.map +1 -1
  21. package/LoomController.js +15 -0
  22. package/LoomController.js.map +1 -1
  23. package/MemoryStore.d.ts +6 -1
  24. package/MemoryStore.js +41 -0
  25. package/MemoryStore.js.map +1 -1
  26. package/MetricsStore.d.ts +65 -0
  27. package/ModerationController.js +15 -0
  28. package/ModerationController.js.map +1 -1
  29. package/OpenAIChatInterface.js +25 -0
  30. package/OpenAIChatInterface.js.map +1 -1
  31. package/OpenAIImageInterface.js +19 -0
  32. package/OpenAIImageInterface.js.map +1 -1
  33. package/PolicyController.d.ts +26 -1
  34. package/PolicyController.js +126 -0
  35. package/PolicyController.js.map +1 -1
  36. package/PrivoClient.js +40 -0
  37. package/PrivoClient.js.map +1 -1
  38. package/RateLimitController.js +15 -0
  39. package/RateLimitController.js.map +1 -1
  40. package/RecordsController.js +114 -0
  41. package/RecordsController.js.map +1 -1
  42. package/RecordsServer.d.ts +49 -10
  43. package/RecordsServer.js +152 -4
  44. package/RecordsServer.js.map +1 -1
  45. package/SloydInterface.d.ts +16 -0
  46. package/SloydInterface.js +109 -0
  47. package/SloydInterface.js.map +1 -0
  48. package/StabilityAIImageInterface.js +11 -0
  49. package/StabilityAIImageInterface.js.map +1 -1
  50. package/SubscriptionConfiguration.d.ts +304 -0
  51. package/SubscriptionConfiguration.js +33 -0
  52. package/SubscriptionConfiguration.js.map +1 -1
  53. package/SubscriptionController.js +35 -0
  54. package/SubscriptionController.js.map +1 -1
  55. package/package.json +7 -4
  56. package/tracing/TracingDecorators.d.ts +18 -0
  57. package/tracing/TracingDecorators.js +138 -0
  58. package/tracing/TracingDecorators.js.map +1 -0
  59. package/websockets/WebsocketController.js +83 -0
  60. package/websockets/WebsocketController.js.map +1 -1
package/AIController.d.ts CHANGED
@@ -6,14 +6,19 @@ import { MetricsStore } from './MetricsStore';
6
6
  import { ConfigurationStore } from './ConfigurationStore';
7
7
  import { PolicyStore } from './PolicyStore';
8
8
  import { AIHumeInterface, AIHumeInterfaceGetAccessTokenFailure } from './AIHumeInterface';
9
+ import { AISloydInterface, AISloydInterfaceCreateModelFailure } from './AISloydInterface';
10
+ import { AuthorizeSubjectFailure, PolicyController } from './PolicyController';
11
+ import { DenialReason } from '@casual-simulation/aux-common';
9
12
  export interface AIConfiguration {
10
13
  chat: AIChatConfiguration | null;
11
14
  generateSkybox: AIGenerateSkyboxConfiguration | null;
12
15
  images: AIGenerateImageConfiguration | null;
13
16
  hume: AIHumeConfiguration | null;
17
+ sloyd: AISloydConfiguration | null;
14
18
  metrics: MetricsStore;
15
19
  config: ConfigurationStore;
16
20
  policies: PolicyStore | null;
21
+ policyController: PolicyController | null;
17
22
  }
18
23
  export interface AIChatConfiguration {
19
24
  interfaces: AIChatProviders;
@@ -124,6 +129,12 @@ export interface AIHumeConfiguration {
124
129
  */
125
130
  interface: AIHumeInterface;
126
131
  }
132
+ export interface AISloydConfiguration {
133
+ /**
134
+ * The interface that should be used for sloyd.ai.
135
+ */
136
+ interface: AISloydInterface;
137
+ }
127
138
  /**
128
139
  * Defines a class that is able to handle AI requests.
129
140
  */
@@ -141,9 +152,11 @@ export declare class AIController {
141
152
  private _allowedImageModels;
142
153
  private _allowedImageSubscriptionTiers;
143
154
  private _humeInterface;
155
+ private _sloydInterface;
144
156
  private _imageOptions;
145
157
  private _metrics;
146
158
  private _config;
159
+ private _policyStore;
147
160
  private _policies;
148
161
  constructor(configuration: AIConfiguration);
149
162
  chat(request: AIChatRequest): Promise<AIChatResponse>;
@@ -152,6 +165,7 @@ export declare class AIController {
152
165
  getSkybox(request: AIGetSkyboxRequest): Promise<AIGetSkyboxResponse>;
153
166
  generateImage(request: AIGenerateImageRequest): Promise<AIGenerateImageResponse>;
154
167
  getHumeAccessToken(request: AIHumeGetAccessTokenRequest): Promise<AIHumeGetAccessTokenResult>;
168
+ sloydGenerateModel(request: AISloydGenerateModelRequest): Promise<AISloydGenerateModelResponse>;
155
169
  private _matchesSubscriptionTiers;
156
170
  }
157
171
  /**
@@ -388,4 +402,116 @@ export interface AIHumeGetAccessTokenFailure {
388
402
  errorCode: ServerError | NotLoggedInError | NotSubscribedError | InvalidSubscriptionTierError | NotSupportedError | SubscriptionLimitReached | NotAuthorizedError | AIHumeInterfaceGetAccessTokenFailure['errorCode'];
389
403
  errorMessage: string;
390
404
  }
405
+ export interface AISloydGenerateModelRequest {
406
+ /**
407
+ * The ID of the user that is logged in.
408
+ */
409
+ userId: string;
410
+ /**
411
+ * The name of the record that the request is for.
412
+ */
413
+ recordName: string;
414
+ /**
415
+ * The prompt that should be used to create the model.
416
+ */
417
+ prompt: string;
418
+ /**
419
+ * The MIME type that should be output.
420
+ * - `model/gltf+json` indicates that the output should be a glTF file.
421
+ * - `model/gltf-binary` indicates that the output should be a glb file.
422
+ */
423
+ outputMimeType: 'model/gltf+json' | 'model/gltf-binary';
424
+ /**
425
+ * The level of detail of the model that should be created.
426
+ * Higher values indicate higher levels of detail.
427
+ * Should be between 0.01 and 1.
428
+ * Defaults to 0.5.
429
+ */
430
+ levelOfDetail?: number;
431
+ /**
432
+ * The ID of the model that the new model should be based on.
433
+ */
434
+ baseModelId?: string | null;
435
+ /**
436
+ * Options for generating a thumbnail for the model.
437
+ * If not provided, no thumbnail will be generated.
438
+ */
439
+ thumbnail?: {
440
+ /**
441
+ * The mime type of the thumbnail.
442
+ */
443
+ type: 'image/png';
444
+ /**
445
+ * The desired width of the thumbnail in pixels.
446
+ */
447
+ width: number;
448
+ /**
449
+ * The desired height of the thumbnail in pixels.
450
+ */
451
+ height: number;
452
+ };
453
+ }
454
+ /**
455
+ * The response to a request to generate a model using the Sloyd AI interface.
456
+ *
457
+ * @dochash types/ai
458
+ * @docname AISloydGenerateModelResponse
459
+ */
460
+ export type AISloydGenerateModelResponse = AISloydGenerateModelSuccess | AISloydGenerateModelFailure;
461
+ /**
462
+ * A successful response to a request to generate a model using the Sloyd AI interface.
463
+ *
464
+ * @dochash types/ai
465
+ * @docname AISloydGenerateModelSuccess
466
+ */
467
+ export interface AISloydGenerateModelSuccess {
468
+ success: true;
469
+ /**
470
+ * The ID of the model that was created.
471
+ */
472
+ modelId: string;
473
+ /**
474
+ * The name of the model.
475
+ */
476
+ name?: string;
477
+ /**
478
+ * The confidence of the AI in the created model.
479
+ */
480
+ confidence?: number;
481
+ /**
482
+ * The MIME type of the model.
483
+ */
484
+ mimeType: 'model/gltf+json' | 'model/gltf-binary';
485
+ /**
486
+ * The data for the model.
487
+ * If the mimeType is "model/gltf+json", then this will be a JSON string.
488
+ * If the mimeType is "model/gltf-binary", then this will be a base64 encoded string.
489
+ */
490
+ modelData: string;
491
+ /**
492
+ * The base64 encoded thumbnail of the model.
493
+ */
494
+ thumbnailBase64?: string;
495
+ }
496
+ /**
497
+ * A failed response to a request to generate a model using the Sloyd AI interface.
498
+ *
499
+ * @dochash types/ai
500
+ * @docname AISloydGenerateModelFailure
501
+ */
502
+ export interface AISloydGenerateModelFailure {
503
+ success: false;
504
+ /**
505
+ * The error code.
506
+ */
507
+ errorCode: ServerError | NotLoggedInError | NotSubscribedError | InvalidSubscriptionTierError | NotSupportedError | SubscriptionLimitReached | NotAuthorizedError | AuthorizeSubjectFailure['errorCode'] | AISloydInterfaceCreateModelFailure['errorCode'];
508
+ /**
509
+ * The error message.
510
+ */
511
+ errorMessage: string;
512
+ /**
513
+ * The reason why the request was denied.
514
+ */
515
+ reason?: DenialReason;
516
+ }
391
517
  //# sourceMappingURL=AIController.d.ts.map
package/AIController.js CHANGED
@@ -1,3 +1,9 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
1
7
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
8
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
9
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -27,13 +33,17 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
27
33
  function reject(value) { resume("throw", value); }
28
34
  function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
29
35
  };
30
- import { getHumeAiFeatures, getSubscriptionFeatures, } from './SubscriptionConfiguration';
36
+ import { getHumeAiFeatures, getSloydAiFeatures, getSubscriptionFeatures, } from './SubscriptionConfiguration';
37
+ import { traced } from './tracing/TracingDecorators';
38
+ import { SpanStatusCode, trace } from '@opentelemetry/api';
39
+ import { fromByteArray } from 'base64-js';
40
+ const TRACE_NAME = 'AIController';
31
41
  /**
32
42
  * Defines a class that is able to handle AI requests.
33
43
  */
34
44
  export class AIController {
35
45
  constructor(configuration) {
36
- var _a;
46
+ var _a, _b;
37
47
  if (configuration.chat) {
38
48
  const chat = configuration.chat;
39
49
  const options = chat.options;
@@ -70,10 +80,12 @@ export class AIController {
70
80
  }
71
81
  }
72
82
  }
83
+ this._policies = configuration.policyController;
73
84
  this._humeInterface = (_a = configuration.hume) === null || _a === void 0 ? void 0 : _a.interface;
85
+ this._sloydInterface = (_b = configuration.sloyd) === null || _b === void 0 ? void 0 : _b.interface;
74
86
  this._metrics = configuration.metrics;
75
87
  this._config = configuration.config;
76
- this._policies = configuration.policies;
88
+ this._policyStore = configuration.policies;
77
89
  }
78
90
  chat(request) {
79
91
  var _a, _b;
@@ -173,8 +185,8 @@ export class AIController {
173
185
  maxTokens = allowedFeatures.ai.chat.maxTokensPerRequest;
174
186
  }
175
187
  }
176
- if (this._policies) {
177
- const privacyFeatures = yield this._policies.getUserPrivacyFeatures(request.userId);
188
+ if (this._policyStore) {
189
+ const privacyFeatures = yield this._policyStore.getUserPrivacyFeatures(request.userId);
178
190
  if (!privacyFeatures.allowAI) {
179
191
  return {
180
192
  success: false,
@@ -207,6 +219,9 @@ export class AIController {
207
219
  };
208
220
  }
209
221
  catch (err) {
222
+ const span = trace.getActiveSpan();
223
+ span === null || span === void 0 ? void 0 : span.recordException(err);
224
+ span === null || span === void 0 ? void 0 : span.setStatus({ code: SpanStatusCode.ERROR });
210
225
  console.error('[AIController] Error handling chat request:', err);
211
226
  return {
212
227
  success: false,
@@ -323,8 +338,8 @@ export class AIController {
323
338
  maxTokens = allowedFeatures.ai.chat.maxTokensPerRequest;
324
339
  }
325
340
  }
326
- if (this._policies) {
327
- const privacyFeatures = yield __await(this._policies.getUserPrivacyFeatures(request.userId));
341
+ if (this._policyStore) {
342
+ const privacyFeatures = yield __await(this._policyStore.getUserPrivacyFeatures(request.userId));
328
343
  if (!privacyFeatures.allowAI) {
329
344
  return yield __await({
330
345
  success: false,
@@ -373,6 +388,9 @@ export class AIController {
373
388
  });
374
389
  }
375
390
  catch (err) {
391
+ const span = trace.getActiveSpan();
392
+ span === null || span === void 0 ? void 0 : span.recordException(err);
393
+ span === null || span === void 0 ? void 0 : span.setStatus({ code: SpanStatusCode.ERROR });
376
394
  console.error('[AIController] Error handling chat stream request:', err);
377
395
  return yield __await({
378
396
  success: false,
@@ -466,6 +484,9 @@ export class AIController {
466
484
  }
467
485
  }
468
486
  catch (err) {
487
+ const span = trace.getActiveSpan();
488
+ span === null || span === void 0 ? void 0 : span.recordException(err);
489
+ span === null || span === void 0 ? void 0 : span.setStatus({ code: SpanStatusCode.ERROR });
469
490
  console.error('[AIController] Error handling generate skybox request:', err);
470
491
  return {
471
492
  success: false,
@@ -531,6 +552,9 @@ export class AIController {
531
552
  }
532
553
  }
533
554
  catch (err) {
555
+ const span = trace.getActiveSpan();
556
+ span === null || span === void 0 ? void 0 : span.recordException(err);
557
+ span === null || span === void 0 ? void 0 : span.setStatus({ code: SpanStatusCode.ERROR });
534
558
  console.error('[AIController] Error handling get skybox request:', err);
535
559
  return {
536
560
  success: false,
@@ -660,6 +684,9 @@ export class AIController {
660
684
  };
661
685
  }
662
686
  catch (err) {
687
+ const span = trace.getActiveSpan();
688
+ span === null || span === void 0 ? void 0 : span.recordException(err);
689
+ span === null || span === void 0 ? void 0 : span.setStatus({ code: SpanStatusCode.ERROR });
663
690
  console.error('[AIController] Error handling generate image request:', err);
664
691
  return {
665
692
  success: false,
@@ -713,6 +740,9 @@ export class AIController {
713
740
  }
714
741
  }
715
742
  catch (err) {
743
+ const span = trace.getActiveSpan();
744
+ span === null || span === void 0 ? void 0 : span.recordException(err);
745
+ span === null || span === void 0 ? void 0 : span.setStatus({ code: SpanStatusCode.ERROR });
716
746
  console.error('[AIController] Error handling get hume access token request:', err);
717
747
  return {
718
748
  success: false,
@@ -722,8 +752,148 @@ export class AIController {
722
752
  }
723
753
  });
724
754
  }
755
+ sloydGenerateModel(request) {
756
+ var _a, _b, _c, _d, _e, _f, _g, _h;
757
+ return __awaiter(this, void 0, void 0, function* () {
758
+ try {
759
+ if (!this._sloydInterface) {
760
+ return {
761
+ success: false,
762
+ errorCode: 'not_supported',
763
+ errorMessage: 'This operation is not supported.',
764
+ };
765
+ }
766
+ if (!request.userId) {
767
+ return {
768
+ success: false,
769
+ errorCode: 'not_logged_in',
770
+ errorMessage: 'The user must be logged in. Please provide a sessionKey.',
771
+ };
772
+ }
773
+ const context = yield this._policies.constructAuthorizationContext({
774
+ recordKeyOrRecordName: request.recordName,
775
+ userId: request.userId,
776
+ });
777
+ if (context.success === false) {
778
+ return context;
779
+ }
780
+ const authResult = yield this._policies.authorizeSubjectUsingContext(context.context, {
781
+ resourceKind: 'ai.sloyd',
782
+ action: 'create',
783
+ markers: null,
784
+ subjectId: request.userId,
785
+ subjectType: 'user',
786
+ });
787
+ if (authResult.success === false) {
788
+ return authResult;
789
+ }
790
+ let metricsFilter = {};
791
+ console.log('context', context.context);
792
+ if (context.context.recordStudioId) {
793
+ metricsFilter.studioId = context.context.recordStudioId;
794
+ }
795
+ else {
796
+ metricsFilter.ownerId = context.context.recordOwnerId;
797
+ }
798
+ const metrics = yield this._metrics.getSubscriptionAiSloydMetrics(metricsFilter);
799
+ const config = yield this._config.getSubscriptionConfiguration();
800
+ const features = getSloydAiFeatures(config, metrics.subscriptionStatus, metrics.subscriptionId, context.context.recordStudioId ? 'studio' : 'user');
801
+ if (!features.allowed) {
802
+ return {
803
+ success: false,
804
+ errorCode: 'not_authorized',
805
+ errorMessage: 'The subscription does not permit Sloyd AI features.',
806
+ };
807
+ }
808
+ console.log(`[AIController] [sloydGenerateModel] [maxModelsPerPeriod: ${features.maxModelsPerPeriod} totalModelsInCurrentPeriod: ${metrics.totalModelsInCurrentPeriod}]`);
809
+ if (typeof features.maxModelsPerPeriod === 'number' &&
810
+ metrics.totalModelsInCurrentPeriod >=
811
+ features.maxModelsPerPeriod) {
812
+ return {
813
+ success: false,
814
+ errorCode: 'subscription_limit_reached',
815
+ errorMessage: `The request exceeds allowed subscription limits.`,
816
+ };
817
+ }
818
+ const result = yield (request.baseModelId
819
+ ? this._sloydInterface.editModel({
820
+ prompt: request.prompt,
821
+ modelMimeType: request.outputMimeType,
822
+ levelOfDetail: request.levelOfDetail,
823
+ thumbnailPreviewExportType: (_a = request.thumbnail) === null || _a === void 0 ? void 0 : _a.type,
824
+ thumbnailPreviewSizeX: (_b = request.thumbnail) === null || _b === void 0 ? void 0 : _b.width,
825
+ thumbnailPreviewSizeY: (_c = request.thumbnail) === null || _c === void 0 ? void 0 : _c.height,
826
+ interactionId: request.baseModelId,
827
+ })
828
+ : this._sloydInterface.createModel({
829
+ prompt: request.prompt,
830
+ modelMimeType: request.outputMimeType,
831
+ levelOfDetail: request.levelOfDetail,
832
+ thumbnailPreviewExportType: (_d = request.thumbnail) === null || _d === void 0 ? void 0 : _d.type,
833
+ thumbnailPreviewSizeX: (_e = request.thumbnail) === null || _e === void 0 ? void 0 : _e.width,
834
+ thumbnailPreviewSizeY: (_f = request.thumbnail) === null || _f === void 0 ? void 0 : _f.height,
835
+ }));
836
+ if (result.success === false) {
837
+ return result;
838
+ }
839
+ const response = {
840
+ success: true,
841
+ modelId: result.interactionId,
842
+ mimeType: request.outputMimeType,
843
+ modelData: typeof result.modelData === 'string'
844
+ ? result.modelData
845
+ : fromByteArray(result.modelData),
846
+ thumbnailBase64: result.previewImage,
847
+ };
848
+ if ('name' in result && typeof result.name === 'string') {
849
+ response.name = result.name;
850
+ response.confidence = result.confidenceScore;
851
+ }
852
+ yield this._metrics.recordSloydMetrics({
853
+ userId: (_g = context.context.recordOwnerId) !== null && _g !== void 0 ? _g : undefined,
854
+ studioId: (_h = context.context.recordStudioId) !== null && _h !== void 0 ? _h : undefined,
855
+ modelId: response.modelId,
856
+ confidence: response.confidence,
857
+ mimeType: response.mimeType,
858
+ modelData: response.modelData,
859
+ name: response.name,
860
+ thumbnailBase64: response.thumbnailBase64,
861
+ createdAtMs: Date.now(),
862
+ baseModelId: request.baseModelId,
863
+ modelsCreated: 1,
864
+ });
865
+ return response;
866
+ }
867
+ catch (err) {
868
+ console.error('[AIController] Error handling sloyd create model request:', err);
869
+ return {
870
+ success: false,
871
+ errorCode: 'server_error',
872
+ errorMessage: 'A server error occurred.',
873
+ };
874
+ }
875
+ });
876
+ }
725
877
  _matchesSubscriptionTiers(tier, allowedTiers) {
726
878
  return allowedTiers === true || allowedTiers.has(tier);
727
879
  }
728
880
  }
881
+ __decorate([
882
+ traced(TRACE_NAME)
883
+ ], AIController.prototype, "chat", null);
884
+ __decorate([
885
+ traced(TRACE_NAME)
886
+ ], AIController.prototype, "chatStream", null);
887
+ __decorate([
888
+ traced(TRACE_NAME)
889
+ ], AIController.prototype, "generateSkybox", null);
890
+ __decorate([
891
+ traced(TRACE_NAME)
892
+ ], AIController.prototype, "getSkybox", null);
893
+ __decorate([
894
+ traced(TRACE_NAME)
895
+ ], AIController.prototype, "generateImage", null);
896
+ __decorate([
897
+ traced(TRACE_NAME)
898
+ ], AIController.prototype, "getHumeAccessToken", null);
729
899
  //# sourceMappingURL=AIController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AIController.js","sourceRoot":"","sources":["AIController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AIController.js","sourceRoot":"","sources":["AIController.ts"],"names":[],"mappings":"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"}