@sogni-ai/sogni-client 4.0.0-alpha.2 → 4.0.0-alpha.21

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/CHANGELOG.md +142 -0
  2. package/README.md +38 -2
  3. package/dist/Account/index.d.ts +5 -2
  4. package/dist/Account/index.js +20 -7
  5. package/dist/Account/index.js.map +1 -1
  6. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.d.ts +66 -0
  7. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.js +332 -0
  8. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.js.map +1 -0
  9. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.d.ts +28 -0
  10. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js +207 -0
  11. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js.map +1 -0
  12. package/dist/ApiClient/WebSocketClient/events.d.ts +1 -0
  13. package/dist/ApiClient/WebSocketClient/index.d.ts +2 -2
  14. package/dist/ApiClient/WebSocketClient/index.js +2 -2
  15. package/dist/ApiClient/WebSocketClient/index.js.map +1 -1
  16. package/dist/ApiClient/WebSocketClient/types.d.ts +13 -0
  17. package/dist/ApiClient/index.d.ts +4 -4
  18. package/dist/ApiClient/index.js +22 -3
  19. package/dist/ApiClient/index.js.map +1 -1
  20. package/dist/Projects/Job.d.ts +1 -1
  21. package/dist/Projects/createJobRequestMessage.js +3 -3
  22. package/dist/Projects/createJobRequestMessage.js.map +1 -1
  23. package/dist/Projects/index.d.ts +3 -9
  24. package/dist/Projects/index.js +7 -4
  25. package/dist/Projects/index.js.map +1 -1
  26. package/dist/Projects/types/EstimationResponse.d.ts +2 -0
  27. package/dist/Projects/types/SamplerParams.d.ts +13 -0
  28. package/dist/Projects/types/SamplerParams.js +26 -0
  29. package/dist/Projects/types/SamplerParams.js.map +1 -0
  30. package/dist/Projects/types/SchedulerParams.d.ts +14 -0
  31. package/dist/Projects/types/SchedulerParams.js +24 -0
  32. package/dist/Projects/types/SchedulerParams.js.map +1 -0
  33. package/dist/Projects/types/index.d.ts +21 -6
  34. package/dist/Projects/types/index.js +5 -0
  35. package/dist/Projects/types/index.js.map +1 -1
  36. package/dist/index.d.ts +12 -4
  37. package/dist/index.js +12 -4
  38. package/dist/index.js.map +1 -1
  39. package/dist/lib/DataEntity.js +4 -2
  40. package/dist/lib/DataEntity.js.map +1 -1
  41. package/dist/lib/validation.d.ts +2 -0
  42. package/dist/lib/validation.js +28 -0
  43. package/dist/lib/validation.js.map +1 -1
  44. package/package.json +4 -4
  45. package/src/Account/index.ts +22 -13
  46. package/src/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.ts +426 -0
  47. package/src/ApiClient/WebSocketClient/BrowserWebSocketClient/index.ts +241 -0
  48. package/src/ApiClient/WebSocketClient/events.ts +2 -0
  49. package/src/ApiClient/WebSocketClient/index.ts +4 -4
  50. package/src/ApiClient/WebSocketClient/types.ts +16 -0
  51. package/src/ApiClient/index.ts +29 -7
  52. package/src/Projects/createJobRequestMessage.ts +11 -5
  53. package/src/Projects/index.ts +9 -5
  54. package/src/Projects/types/EstimationResponse.ts +2 -0
  55. package/src/Projects/types/SamplerParams.ts +24 -0
  56. package/src/Projects/types/SchedulerParams.ts +22 -0
  57. package/src/Projects/types/index.ts +22 -12
  58. package/src/index.ts +23 -8
  59. package/src/lib/DataEntity.ts +4 -2
  60. package/src/lib/validation.ts +33 -0
@@ -25,9 +25,11 @@ abstract class DataEntity<D, E extends EntityEvents = EntityEvents> extends Type
25
25
  _update(delta: Partial<D>) {
26
26
  //@ts-ignore
27
27
  const changedKeys = Object.keys(delta).filter((key) => this.data[key] !== delta[key]);
28
- this.data = { ...this.data, ...delta };
29
28
  this.lastUpdated = new Date();
30
- this.emit('updated', changedKeys);
29
+ if (changedKeys.length > 0) {
30
+ this.data = { ...this.data, ...delta };
31
+ this.emit('updated', changedKeys);
32
+ }
31
33
  }
32
34
 
33
35
  /**
@@ -1,3 +1,6 @@
1
+ import { isRawSampler, isSampler, SupportedSamplers } from '../Projects/types/SamplerParams';
2
+ import { isScheduler, SupportedSchedulers } from '../Projects/types/SchedulerParams';
3
+
1
4
  export function validateCustomImageSize(value: any): number {
2
5
  return validateNumber(value, { min: 256, max: 2048, propertyName: 'Width and height' });
3
6
  }
@@ -38,3 +41,33 @@ export function validateNumber(
38
41
  }
39
42
  return number;
40
43
  }
44
+
45
+ export function validateSampler(value?: string) {
46
+ if (!value) {
47
+ return null;
48
+ }
49
+ if (isRawSampler(value)) {
50
+ return value;
51
+ }
52
+ if (isSampler(value)) {
53
+ return SupportedSamplers[value];
54
+ }
55
+ throw new Error(
56
+ `Invalid sampler: ${value}. Supported options: ${Object.keys(SupportedSamplers).join(', ')}`
57
+ );
58
+ }
59
+
60
+ export function validateScheduler(value?: string) {
61
+ if (!value) {
62
+ return null;
63
+ }
64
+ if (isRawSampler(value)) {
65
+ return value;
66
+ }
67
+ if (isScheduler(value)) {
68
+ return SupportedSchedulers[value];
69
+ }
70
+ throw new Error(
71
+ `Invalid scheduler: ${value}. Supported options: ${Object.keys(SupportedSchedulers).join(', ')}`
72
+ );
73
+ }