@preference-sl/pref-configurator-sdk 2.0.0-beta.0 → 2.0.0-beta.10

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 (196) hide show
  1. package/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.5x7che0m43.wasm +0 -0
  2. package/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.5x7che0m43.wasm.br +0 -0
  3. package/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.5x7che0m43.wasm.gz +0 -0
  4. package/_framework/PrefConfigurator.Abstractions.d3loh6831u.wasm +0 -0
  5. package/_framework/PrefConfigurator.Abstractions.d3loh6831u.wasm.br +0 -0
  6. package/_framework/PrefConfigurator.Abstractions.d3loh6831u.wasm.gz +0 -0
  7. package/_framework/PrefConfigurator.Application.rcxkp8bbv3.wasm +0 -0
  8. package/_framework/PrefConfigurator.Application.rcxkp8bbv3.wasm.br +0 -0
  9. package/_framework/PrefConfigurator.Application.rcxkp8bbv3.wasm.gz +0 -0
  10. package/_framework/PrefConfigurator.Domain.dnxlg9rd4h.wasm +0 -0
  11. package/_framework/PrefConfigurator.Domain.dnxlg9rd4h.wasm.br +0 -0
  12. package/_framework/PrefConfigurator.Domain.dnxlg9rd4h.wasm.gz +0 -0
  13. package/_framework/PrefConfigurator.Infrastructure.qafi57g09e.wasm +0 -0
  14. package/_framework/PrefConfigurator.Infrastructure.qafi57g09e.wasm.br +0 -0
  15. package/_framework/PrefConfigurator.Infrastructure.qafi57g09e.wasm.gz +0 -0
  16. package/_framework/PrefConfigurator.Wasm.148dl7p585.wasm +0 -0
  17. package/_framework/PrefConfigurator.Wasm.148dl7p585.wasm.br +0 -0
  18. package/_framework/PrefConfigurator.Wasm.148dl7p585.wasm.gz +0 -0
  19. package/_framework/{System.cvgusyd4es.wasm → System.1h5i8a3bq8.wasm} +0 -0
  20. package/_framework/System.1h5i8a3bq8.wasm.br +0 -0
  21. package/_framework/System.1h5i8a3bq8.wasm.gz +0 -0
  22. package/_framework/{System.Collections.Concurrent.084nyzwsgq.wasm → System.Collections.Concurrent.1okee7g0qs.wasm} +0 -0
  23. package/_framework/System.Collections.Concurrent.1okee7g0qs.wasm.br +0 -0
  24. package/_framework/System.Collections.Concurrent.1okee7g0qs.wasm.gz +0 -0
  25. package/_framework/{System.Collections.NonGeneric.7txf8b8bch.wasm → System.Collections.NonGeneric.0ye778y0zr.wasm} +0 -0
  26. package/_framework/System.Collections.NonGeneric.0ye778y0zr.wasm.br +0 -0
  27. package/_framework/System.Collections.NonGeneric.0ye778y0zr.wasm.gz +0 -0
  28. package/_framework/{System.Collections.Specialized.2k7ngkl7ud.wasm → System.Collections.Specialized.jur99etuzh.wasm} +0 -0
  29. package/_framework/System.Collections.Specialized.jur99etuzh.wasm.br +0 -0
  30. package/_framework/System.Collections.Specialized.jur99etuzh.wasm.gz +0 -0
  31. package/_framework/{System.Collections.64fiptb0yw.wasm → System.Collections.p8e7s473yq.wasm} +0 -0
  32. package/_framework/System.Collections.p8e7s473yq.wasm.br +0 -0
  33. package/_framework/System.Collections.p8e7s473yq.wasm.gz +0 -0
  34. package/_framework/{System.ComponentModel.Primitives.nwku2zem4q.wasm → System.ComponentModel.Primitives.itywihe3qr.wasm} +0 -0
  35. package/_framework/System.ComponentModel.Primitives.itywihe3qr.wasm.br +0 -0
  36. package/_framework/System.ComponentModel.Primitives.itywihe3qr.wasm.gz +0 -0
  37. package/_framework/{System.ComponentModel.TypeConverter.inzrddtxya.wasm → System.ComponentModel.TypeConverter.l94q0qtbbi.wasm} +0 -0
  38. package/_framework/System.ComponentModel.TypeConverter.l94q0qtbbi.wasm.br +0 -0
  39. package/_framework/{System.ComponentModel.TypeConverter.inzrddtxya.wasm.gz → System.ComponentModel.TypeConverter.l94q0qtbbi.wasm.gz} +0 -0
  40. package/_framework/{System.ComponentModel.j8t4mlscoa.wasm → System.ComponentModel.tpqldnnl29.wasm} +0 -0
  41. package/_framework/System.ComponentModel.tpqldnnl29.wasm.br +0 -0
  42. package/_framework/System.ComponentModel.tpqldnnl29.wasm.gz +0 -0
  43. package/_framework/{System.Console.mgq196h0ks.wasm → System.Console.eegqclopey.wasm} +0 -0
  44. package/_framework/System.Console.eegqclopey.wasm.br +0 -0
  45. package/_framework/System.Console.eegqclopey.wasm.gz +0 -0
  46. package/_framework/{System.Diagnostics.DiagnosticSource.xtrc74y2g8.wasm → System.Diagnostics.DiagnosticSource.g6uu6fiq9i.wasm} +0 -0
  47. package/_framework/System.Diagnostics.DiagnosticSource.g6uu6fiq9i.wasm.br +0 -0
  48. package/_framework/System.Diagnostics.DiagnosticSource.g6uu6fiq9i.wasm.gz +0 -0
  49. package/_framework/{System.IO.FileSystem.Watcher.0kqjb65dgw.wasm → System.IO.FileSystem.Watcher.adl4rm97cu.wasm} +0 -0
  50. package/_framework/System.IO.FileSystem.Watcher.adl4rm97cu.wasm.br +0 -0
  51. package/_framework/System.IO.FileSystem.Watcher.adl4rm97cu.wasm.gz +0 -0
  52. package/_framework/{System.IO.Pipelines.uznrqn6wwr.wasm → System.IO.Pipelines.qz0hrnqp31.wasm} +0 -0
  53. package/_framework/System.IO.Pipelines.qz0hrnqp31.wasm.br +0 -0
  54. package/_framework/System.IO.Pipelines.qz0hrnqp31.wasm.gz +0 -0
  55. package/_framework/{System.Linq.1zr53agk3u.wasm → System.Linq.t8gduvf7n7.wasm} +0 -0
  56. package/_framework/System.Linq.t8gduvf7n7.wasm.br +0 -0
  57. package/_framework/System.Linq.t8gduvf7n7.wasm.gz +0 -0
  58. package/_framework/{System.Memory.fhg1j9plm5.wasm → System.Memory.dxhy2ac6ni.wasm} +0 -0
  59. package/_framework/System.Memory.dxhy2ac6ni.wasm.br +0 -0
  60. package/_framework/System.Memory.dxhy2ac6ni.wasm.gz +0 -0
  61. package/_framework/{System.Net.Http.nkjnrs0of8.wasm → System.Net.Http.6b09u95z40.wasm} +0 -0
  62. package/_framework/System.Net.Http.6b09u95z40.wasm.br +0 -0
  63. package/_framework/{System.Net.Http.nkjnrs0of8.wasm.gz → System.Net.Http.6b09u95z40.wasm.gz} +0 -0
  64. package/_framework/{System.Net.Http.Json.inmwl4uur4.wasm → System.Net.Http.Json.fyy6yufwat.wasm} +0 -0
  65. package/_framework/System.Net.Http.Json.fyy6yufwat.wasm.br +0 -0
  66. package/_framework/System.Net.Http.Json.fyy6yufwat.wasm.gz +0 -0
  67. package/_framework/{System.Net.Primitives.5dpvrmwpzs.wasm → System.Net.Primitives.cmknywwdix.wasm} +0 -0
  68. package/_framework/System.Net.Primitives.cmknywwdix.wasm.br +0 -0
  69. package/_framework/System.Net.Primitives.cmknywwdix.wasm.gz +0 -0
  70. package/_framework/{System.ObjectModel.ec8ukh2ldt.wasm → System.ObjectModel.xjq46mdlbf.wasm} +0 -0
  71. package/_framework/System.ObjectModel.xjq46mdlbf.wasm.br +0 -0
  72. package/_framework/System.ObjectModel.xjq46mdlbf.wasm.gz +0 -0
  73. package/_framework/{System.Private.CoreLib.utl1mjsn18.wasm → System.Private.CoreLib.41yndbvnkt.wasm} +0 -0
  74. package/_framework/System.Private.CoreLib.41yndbvnkt.wasm.br +0 -0
  75. package/_framework/{System.Private.CoreLib.utl1mjsn18.wasm.gz → System.Private.CoreLib.41yndbvnkt.wasm.gz} +0 -0
  76. package/_framework/{System.Private.Uri.36hw244tg5.wasm → System.Private.Uri.0sq9ujbzxl.wasm} +0 -0
  77. package/_framework/System.Private.Uri.0sq9ujbzxl.wasm.br +0 -0
  78. package/_framework/{System.Private.Uri.36hw244tg5.wasm.gz → System.Private.Uri.0sq9ujbzxl.wasm.gz} +0 -0
  79. package/_framework/{System.Private.Xml.Linq.hdcz2lt8ic.wasm → System.Private.Xml.Linq.qfw0szijjd.wasm} +0 -0
  80. package/_framework/System.Private.Xml.Linq.qfw0szijjd.wasm.br +0 -0
  81. package/_framework/System.Private.Xml.Linq.qfw0szijjd.wasm.gz +0 -0
  82. package/_framework/{System.Private.Xml.79pgn68jgg.wasm → System.Private.Xml.amxvu1qxuv.wasm} +0 -0
  83. package/_framework/System.Private.Xml.amxvu1qxuv.wasm.br +0 -0
  84. package/_framework/{System.Private.Xml.79pgn68jgg.wasm.gz → System.Private.Xml.amxvu1qxuv.wasm.gz} +0 -0
  85. package/_framework/{System.Runtime.InteropServices.JavaScript.x5dlzowbu5.wasm → System.Runtime.InteropServices.JavaScript.pl5zrdt7e5.wasm} +0 -0
  86. package/_framework/System.Runtime.InteropServices.JavaScript.pl5zrdt7e5.wasm.br +0 -0
  87. package/_framework/System.Runtime.InteropServices.JavaScript.pl5zrdt7e5.wasm.gz +0 -0
  88. package/_framework/{System.Security.Cryptography.4ky8orn24u.wasm → System.Security.Cryptography.hns9vte9uy.wasm} +0 -0
  89. package/_framework/System.Security.Cryptography.hns9vte9uy.wasm.br +0 -0
  90. package/_framework/System.Security.Cryptography.hns9vte9uy.wasm.gz +0 -0
  91. package/_framework/{System.Text.Encodings.Web.alb2shaopt.wasm → System.Text.Encodings.Web.mktf3oni1u.wasm} +0 -0
  92. package/_framework/System.Text.Encodings.Web.mktf3oni1u.wasm.br +0 -0
  93. package/_framework/System.Text.Encodings.Web.mktf3oni1u.wasm.gz +0 -0
  94. package/_framework/System.Text.Json.1v7pyjt4fb.wasm +0 -0
  95. package/_framework/System.Text.Json.1v7pyjt4fb.wasm.br +0 -0
  96. package/_framework/System.Text.Json.1v7pyjt4fb.wasm.gz +0 -0
  97. package/_framework/{System.Text.RegularExpressions.5qljazlhjq.wasm → System.Text.RegularExpressions.4817xyow8b.wasm} +0 -0
  98. package/_framework/System.Text.RegularExpressions.4817xyow8b.wasm.br +0 -0
  99. package/_framework/{System.Text.RegularExpressions.5qljazlhjq.wasm.gz → System.Text.RegularExpressions.4817xyow8b.wasm.gz} +0 -0
  100. package/_framework/{System.Xml.Linq.xorxxf2zgs.wasm → System.Xml.Linq.224i7l5jfb.wasm} +0 -0
  101. package/_framework/System.Xml.Linq.224i7l5jfb.wasm.br +0 -0
  102. package/_framework/System.Xml.Linq.224i7l5jfb.wasm.gz +0 -0
  103. package/_framework/dotnet.js +80 -80
  104. package/_framework/dotnet.js.br +0 -0
  105. package/_framework/dotnet.js.gz +0 -0
  106. package/_framework/{dotnet.native.vu8ihvjlgk.wasm → dotnet.native.did122nxoc.wasm} +0 -0
  107. package/_framework/dotnet.native.did122nxoc.wasm.br +0 -0
  108. package/_framework/dotnet.native.did122nxoc.wasm.gz +0 -0
  109. package/_framework/{dotnet.native.kbxlxzpq0y.js → dotnet.native.luwfslgwef.js} +3 -3
  110. package/_framework/dotnet.native.luwfslgwef.js.br +0 -0
  111. package/_framework/{dotnet.native.kbxlxzpq0y.js.gz → dotnet.native.luwfslgwef.js.gz} +0 -0
  112. package/_framework/{dotnet.runtime.web2r9gqbh.js → dotnet.runtime.zbexyp8zrs.js} +1 -1
  113. package/_framework/dotnet.runtime.zbexyp8zrs.js.br +0 -0
  114. package/_framework/dotnet.runtime.zbexyp8zrs.js.gz +0 -0
  115. package/js/PrefGltfMergerWasm.js +1 -1
  116. package/js/PrefGltfMergerWasm.wasm +0 -0
  117. package/js/prefconfigurator-api.d.ts +9 -4
  118. package/js/sdk-framework-assets.js +37 -37
  119. package/js/sdk-init.d.ts +9 -0
  120. package/js/sdk-init.js +45 -4
  121. package/js/sdk-worker.js +30 -0
  122. package/package.json +27 -27
  123. package/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.tnr9bu0qg4.wasm +0 -0
  124. package/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.tnr9bu0qg4.wasm.br +0 -0
  125. package/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.tnr9bu0qg4.wasm.gz +0 -0
  126. package/_framework/PrefConfigurator.Abstractions.l0f9cu0k1v.wasm +0 -0
  127. package/_framework/PrefConfigurator.Abstractions.l0f9cu0k1v.wasm.br +0 -0
  128. package/_framework/PrefConfigurator.Abstractions.l0f9cu0k1v.wasm.gz +0 -0
  129. package/_framework/PrefConfigurator.Application.eegqfhiwkk.wasm +0 -0
  130. package/_framework/PrefConfigurator.Application.eegqfhiwkk.wasm.br +0 -0
  131. package/_framework/PrefConfigurator.Application.eegqfhiwkk.wasm.gz +0 -0
  132. package/_framework/PrefConfigurator.Domain.itrer0ptt7.wasm +0 -0
  133. package/_framework/PrefConfigurator.Domain.itrer0ptt7.wasm.br +0 -0
  134. package/_framework/PrefConfigurator.Domain.itrer0ptt7.wasm.gz +0 -0
  135. package/_framework/PrefConfigurator.Infrastructure.c663cwvlwi.wasm +0 -0
  136. package/_framework/PrefConfigurator.Infrastructure.c663cwvlwi.wasm.br +0 -0
  137. package/_framework/PrefConfigurator.Infrastructure.c663cwvlwi.wasm.gz +0 -0
  138. package/_framework/PrefConfigurator.Wasm.x4rhghnj4a.wasm +0 -0
  139. package/_framework/PrefConfigurator.Wasm.x4rhghnj4a.wasm.br +0 -0
  140. package/_framework/PrefConfigurator.Wasm.x4rhghnj4a.wasm.gz +0 -0
  141. package/_framework/System.Collections.64fiptb0yw.wasm.br +0 -0
  142. package/_framework/System.Collections.64fiptb0yw.wasm.gz +0 -0
  143. package/_framework/System.Collections.Concurrent.084nyzwsgq.wasm.br +0 -0
  144. package/_framework/System.Collections.Concurrent.084nyzwsgq.wasm.gz +0 -0
  145. package/_framework/System.Collections.NonGeneric.7txf8b8bch.wasm.br +0 -0
  146. package/_framework/System.Collections.NonGeneric.7txf8b8bch.wasm.gz +0 -0
  147. package/_framework/System.Collections.Specialized.2k7ngkl7ud.wasm.br +0 -0
  148. package/_framework/System.Collections.Specialized.2k7ngkl7ud.wasm.gz +0 -0
  149. package/_framework/System.ComponentModel.Primitives.nwku2zem4q.wasm.br +0 -0
  150. package/_framework/System.ComponentModel.Primitives.nwku2zem4q.wasm.gz +0 -0
  151. package/_framework/System.ComponentModel.TypeConverter.inzrddtxya.wasm.br +0 -0
  152. package/_framework/System.ComponentModel.j8t4mlscoa.wasm.br +0 -0
  153. package/_framework/System.ComponentModel.j8t4mlscoa.wasm.gz +0 -0
  154. package/_framework/System.Console.mgq196h0ks.wasm.br +0 -0
  155. package/_framework/System.Console.mgq196h0ks.wasm.gz +0 -0
  156. package/_framework/System.Diagnostics.DiagnosticSource.xtrc74y2g8.wasm.br +0 -0
  157. package/_framework/System.Diagnostics.DiagnosticSource.xtrc74y2g8.wasm.gz +0 -0
  158. package/_framework/System.IO.FileSystem.Watcher.0kqjb65dgw.wasm.br +0 -0
  159. package/_framework/System.IO.FileSystem.Watcher.0kqjb65dgw.wasm.gz +0 -0
  160. package/_framework/System.IO.Pipelines.uznrqn6wwr.wasm.br +0 -0
  161. package/_framework/System.IO.Pipelines.uznrqn6wwr.wasm.gz +0 -0
  162. package/_framework/System.Linq.1zr53agk3u.wasm.br +0 -0
  163. package/_framework/System.Linq.1zr53agk3u.wasm.gz +0 -0
  164. package/_framework/System.Memory.fhg1j9plm5.wasm.br +0 -0
  165. package/_framework/System.Memory.fhg1j9plm5.wasm.gz +0 -0
  166. package/_framework/System.Net.Http.Json.inmwl4uur4.wasm.br +0 -0
  167. package/_framework/System.Net.Http.Json.inmwl4uur4.wasm.gz +0 -0
  168. package/_framework/System.Net.Http.nkjnrs0of8.wasm.br +0 -0
  169. package/_framework/System.Net.Primitives.5dpvrmwpzs.wasm.br +0 -0
  170. package/_framework/System.Net.Primitives.5dpvrmwpzs.wasm.gz +0 -0
  171. package/_framework/System.ObjectModel.ec8ukh2ldt.wasm.br +0 -0
  172. package/_framework/System.ObjectModel.ec8ukh2ldt.wasm.gz +0 -0
  173. package/_framework/System.Private.CoreLib.utl1mjsn18.wasm.br +0 -0
  174. package/_framework/System.Private.Uri.36hw244tg5.wasm.br +0 -0
  175. package/_framework/System.Private.Xml.79pgn68jgg.wasm.br +0 -0
  176. package/_framework/System.Private.Xml.Linq.hdcz2lt8ic.wasm.br +0 -0
  177. package/_framework/System.Private.Xml.Linq.hdcz2lt8ic.wasm.gz +0 -0
  178. package/_framework/System.Runtime.InteropServices.JavaScript.x5dlzowbu5.wasm.br +0 -0
  179. package/_framework/System.Runtime.InteropServices.JavaScript.x5dlzowbu5.wasm.gz +0 -0
  180. package/_framework/System.Security.Cryptography.4ky8orn24u.wasm.br +0 -0
  181. package/_framework/System.Security.Cryptography.4ky8orn24u.wasm.gz +0 -0
  182. package/_framework/System.Text.Encodings.Web.alb2shaopt.wasm.br +0 -0
  183. package/_framework/System.Text.Encodings.Web.alb2shaopt.wasm.gz +0 -0
  184. package/_framework/System.Text.Json.0pjfq5rqh9.wasm +0 -0
  185. package/_framework/System.Text.Json.0pjfq5rqh9.wasm.br +0 -0
  186. package/_framework/System.Text.Json.0pjfq5rqh9.wasm.gz +0 -0
  187. package/_framework/System.Text.RegularExpressions.5qljazlhjq.wasm.br +0 -0
  188. package/_framework/System.Xml.Linq.xorxxf2zgs.wasm.br +0 -0
  189. package/_framework/System.Xml.Linq.xorxxf2zgs.wasm.gz +0 -0
  190. package/_framework/System.cvgusyd4es.wasm.br +0 -0
  191. package/_framework/System.cvgusyd4es.wasm.gz +0 -0
  192. package/_framework/dotnet.native.kbxlxzpq0y.js.br +0 -0
  193. package/_framework/dotnet.native.vu8ihvjlgk.wasm.br +0 -0
  194. package/_framework/dotnet.native.vu8ihvjlgk.wasm.gz +0 -0
  195. package/_framework/dotnet.runtime.web2r9gqbh.js.br +0 -0
  196. package/_framework/dotnet.runtime.web2r9gqbh.js.gz +0 -0
Binary file
@@ -197,6 +197,8 @@ export interface EnvJson {
197
197
  kbUiBaseUrl?: string | null;
198
198
  wallGeneratorBaseUrl?: string | null;
199
199
  usdBaseUrl?: string | null;
200
+ /** Global photorealistic backend switch (TEC-3456). Default true = Hypercube; false = usd-service, and GetModelImage skips the Hypercube attempt. */
201
+ useHypercube?: boolean | null;
200
202
  };
201
203
 
202
204
  maker: {
@@ -217,6 +219,8 @@ export interface EnvJson {
217
219
 
218
220
  images: {
219
221
  model: {
222
+ /** Skip scene composition: GetModelImage returns the model glTF alone, with no KB
223
+ * scene lookup, no wall geometry and no merge. Default false. */
220
224
  onlyModelImage: boolean;
221
225
  type2D: number;
222
226
  type3D: number;
@@ -225,7 +229,6 @@ export interface EnvJson {
225
229
  daysToLive: number;
226
230
  };
227
231
  scene: {
228
- name: string;
229
232
  format: string;
230
233
  };
231
234
  materials: {
@@ -332,6 +335,8 @@ export interface HcProductStatusResult {
332
335
 
333
336
  export interface UsdImagesModel {
334
337
  itemId: string;
338
+ // Omit to let the SDK derive it from Maker.Name + Maker.Environment.
339
+ tenant?: string | null;
335
340
  generateWall?: boolean | null;
336
341
  }
337
342
 
@@ -346,9 +351,9 @@ export interface UsdImagesRequest {
346
351
  cameras?: string[] | null;
347
352
  imageFormat?: string | null;
348
353
  variantSets?: UsdVariantSet[] | null;
349
- // Note (TEC-2975): each models[] entry accepts an optional `regenerate` bool, passed through
350
- // to the usd-service (absent -> service default true, rebuild the base model). The SDK does
351
- // not compute it; consumers that track their own changes may send false on variant-only ones.
354
+ // TEC-3489: the SDK sends no per-model `regenerate` on either route. The usd-service reads the
355
+ // absent field as its default (true, rebuild the base model) and HC decides server-side. A
356
+ // consumer that needs to suppress the rebuild must call the usd-service directly over REST.
352
357
  renderMode?: string | null;
353
358
  visualProperties?: string | null;
354
359
  }
@@ -13,9 +13,9 @@
13
13
 
14
14
  export const FRAMEWORK_ASSETS = Object.freeze({
15
15
  "dotnet.js": new URL("../_framework/dotnet.js", import.meta.url),
16
- "dotnet.native.kbxlxzpq0y.js": new URL("../_framework/dotnet.native.kbxlxzpq0y.js", import.meta.url),
17
- "dotnet.native.vu8ihvjlgk.wasm": new URL("../_framework/dotnet.native.vu8ihvjlgk.wasm", import.meta.url),
18
- "dotnet.runtime.web2r9gqbh.js": new URL("../_framework/dotnet.runtime.web2r9gqbh.js", import.meta.url),
16
+ "dotnet.native.did122nxoc.wasm": new URL("../_framework/dotnet.native.did122nxoc.wasm", import.meta.url),
17
+ "dotnet.native.luwfslgwef.js": new URL("../_framework/dotnet.native.luwfslgwef.js", import.meta.url),
18
+ "dotnet.runtime.zbexyp8zrs.js": new URL("../_framework/dotnet.runtime.zbexyp8zrs.js", import.meta.url),
19
19
  "icudt_CJK.tjcz0u77k5.dat": new URL("../_framework/icudt_CJK.tjcz0u77k5.dat", import.meta.url),
20
20
  "icudt_EFIGS.tptq2av103.dat": new URL("../_framework/icudt_EFIGS.tptq2av103.dat", import.meta.url),
21
21
  "icudt_no_CJK.lfu7j35m59.dat": new URL("../_framework/icudt_no_CJK.lfu7j35m59.dat", import.meta.url),
@@ -29,7 +29,7 @@ export const FRAMEWORK_ASSETS = Object.freeze({
29
29
  "Microsoft.Extensions.Configuration.FileExtensions.gkccepp1zw.wasm": new URL("../_framework/Microsoft.Extensions.Configuration.FileExtensions.gkccepp1zw.wasm", import.meta.url),
30
30
  "Microsoft.Extensions.Configuration.Json.wulbkczaua.wasm": new URL("../_framework/Microsoft.Extensions.Configuration.Json.wulbkczaua.wasm", import.meta.url),
31
31
  "Microsoft.Extensions.Configuration.UserSecrets.3hquxzl9oa.wasm": new URL("../_framework/Microsoft.Extensions.Configuration.UserSecrets.3hquxzl9oa.wasm", import.meta.url),
32
- "Microsoft.Extensions.DependencyInjection.Abstractions.tnr9bu0qg4.wasm": new URL("../_framework/Microsoft.Extensions.DependencyInjection.Abstractions.tnr9bu0qg4.wasm", import.meta.url),
32
+ "Microsoft.Extensions.DependencyInjection.Abstractions.5x7che0m43.wasm": new URL("../_framework/Microsoft.Extensions.DependencyInjection.Abstractions.5x7che0m43.wasm", import.meta.url),
33
33
  "Microsoft.Extensions.DependencyInjection.npo4ctt27h.wasm": new URL("../_framework/Microsoft.Extensions.DependencyInjection.npo4ctt27h.wasm", import.meta.url),
34
34
  "Microsoft.Extensions.Diagnostics.Abstractions.o01zsa67a9.wasm": new URL("../_framework/Microsoft.Extensions.Diagnostics.Abstractions.o01zsa67a9.wasm", import.meta.url),
35
35
  "Microsoft.Extensions.Diagnostics.bwnulo9rzd.wasm": new URL("../_framework/Microsoft.Extensions.Diagnostics.bwnulo9rzd.wasm", import.meta.url),
@@ -48,38 +48,38 @@ export const FRAMEWORK_ASSETS = Object.freeze({
48
48
  "Microsoft.Extensions.Options.0xyfq7w7oa.wasm": new URL("../_framework/Microsoft.Extensions.Options.0xyfq7w7oa.wasm", import.meta.url),
49
49
  "Microsoft.Extensions.Options.ConfigurationExtensions.i146gqqpbz.wasm": new URL("../_framework/Microsoft.Extensions.Options.ConfigurationExtensions.i146gqqpbz.wasm", import.meta.url),
50
50
  "Microsoft.Extensions.Primitives.l6yivxpywg.wasm": new URL("../_framework/Microsoft.Extensions.Primitives.l6yivxpywg.wasm", import.meta.url),
51
- "PrefConfigurator.Abstractions.l0f9cu0k1v.wasm": new URL("../_framework/PrefConfigurator.Abstractions.l0f9cu0k1v.wasm", import.meta.url),
52
- "PrefConfigurator.Application.eegqfhiwkk.wasm": new URL("../_framework/PrefConfigurator.Application.eegqfhiwkk.wasm", import.meta.url),
53
- "PrefConfigurator.Domain.itrer0ptt7.wasm": new URL("../_framework/PrefConfigurator.Domain.itrer0ptt7.wasm", import.meta.url),
54
- "PrefConfigurator.Infrastructure.c663cwvlwi.wasm": new URL("../_framework/PrefConfigurator.Infrastructure.c663cwvlwi.wasm", import.meta.url),
55
- "PrefConfigurator.Wasm.x4rhghnj4a.wasm": new URL("../_framework/PrefConfigurator.Wasm.x4rhghnj4a.wasm", import.meta.url),
56
- "System.Collections.64fiptb0yw.wasm": new URL("../_framework/System.Collections.64fiptb0yw.wasm", import.meta.url),
57
- "System.Collections.Concurrent.084nyzwsgq.wasm": new URL("../_framework/System.Collections.Concurrent.084nyzwsgq.wasm", import.meta.url),
58
- "System.Collections.NonGeneric.7txf8b8bch.wasm": new URL("../_framework/System.Collections.NonGeneric.7txf8b8bch.wasm", import.meta.url),
59
- "System.Collections.Specialized.2k7ngkl7ud.wasm": new URL("../_framework/System.Collections.Specialized.2k7ngkl7ud.wasm", import.meta.url),
60
- "System.ComponentModel.j8t4mlscoa.wasm": new URL("../_framework/System.ComponentModel.j8t4mlscoa.wasm", import.meta.url),
61
- "System.ComponentModel.Primitives.nwku2zem4q.wasm": new URL("../_framework/System.ComponentModel.Primitives.nwku2zem4q.wasm", import.meta.url),
62
- "System.ComponentModel.TypeConverter.inzrddtxya.wasm": new URL("../_framework/System.ComponentModel.TypeConverter.inzrddtxya.wasm", import.meta.url),
63
- "System.Console.mgq196h0ks.wasm": new URL("../_framework/System.Console.mgq196h0ks.wasm", import.meta.url),
64
- "System.cvgusyd4es.wasm": new URL("../_framework/System.cvgusyd4es.wasm", import.meta.url),
65
- "System.Diagnostics.DiagnosticSource.xtrc74y2g8.wasm": new URL("../_framework/System.Diagnostics.DiagnosticSource.xtrc74y2g8.wasm", import.meta.url),
51
+ "PrefConfigurator.Abstractions.d3loh6831u.wasm": new URL("../_framework/PrefConfigurator.Abstractions.d3loh6831u.wasm", import.meta.url),
52
+ "PrefConfigurator.Application.rcxkp8bbv3.wasm": new URL("../_framework/PrefConfigurator.Application.rcxkp8bbv3.wasm", import.meta.url),
53
+ "PrefConfigurator.Domain.dnxlg9rd4h.wasm": new URL("../_framework/PrefConfigurator.Domain.dnxlg9rd4h.wasm", import.meta.url),
54
+ "PrefConfigurator.Infrastructure.qafi57g09e.wasm": new URL("../_framework/PrefConfigurator.Infrastructure.qafi57g09e.wasm", import.meta.url),
55
+ "PrefConfigurator.Wasm.148dl7p585.wasm": new URL("../_framework/PrefConfigurator.Wasm.148dl7p585.wasm", import.meta.url),
56
+ "System.1h5i8a3bq8.wasm": new URL("../_framework/System.1h5i8a3bq8.wasm", import.meta.url),
57
+ "System.Collections.Concurrent.1okee7g0qs.wasm": new URL("../_framework/System.Collections.Concurrent.1okee7g0qs.wasm", import.meta.url),
58
+ "System.Collections.NonGeneric.0ye778y0zr.wasm": new URL("../_framework/System.Collections.NonGeneric.0ye778y0zr.wasm", import.meta.url),
59
+ "System.Collections.p8e7s473yq.wasm": new URL("../_framework/System.Collections.p8e7s473yq.wasm", import.meta.url),
60
+ "System.Collections.Specialized.jur99etuzh.wasm": new URL("../_framework/System.Collections.Specialized.jur99etuzh.wasm", import.meta.url),
61
+ "System.ComponentModel.Primitives.itywihe3qr.wasm": new URL("../_framework/System.ComponentModel.Primitives.itywihe3qr.wasm", import.meta.url),
62
+ "System.ComponentModel.tpqldnnl29.wasm": new URL("../_framework/System.ComponentModel.tpqldnnl29.wasm", import.meta.url),
63
+ "System.ComponentModel.TypeConverter.l94q0qtbbi.wasm": new URL("../_framework/System.ComponentModel.TypeConverter.l94q0qtbbi.wasm", import.meta.url),
64
+ "System.Console.eegqclopey.wasm": new URL("../_framework/System.Console.eegqclopey.wasm", import.meta.url),
65
+ "System.Diagnostics.DiagnosticSource.g6uu6fiq9i.wasm": new URL("../_framework/System.Diagnostics.DiagnosticSource.g6uu6fiq9i.wasm", import.meta.url),
66
66
  "System.Diagnostics.EventLog.r3m23h8juo.wasm": new URL("../_framework/System.Diagnostics.EventLog.r3m23h8juo.wasm", import.meta.url),
67
- "System.IO.FileSystem.Watcher.0kqjb65dgw.wasm": new URL("../_framework/System.IO.FileSystem.Watcher.0kqjb65dgw.wasm", import.meta.url),
68
- "System.IO.Pipelines.uznrqn6wwr.wasm": new URL("../_framework/System.IO.Pipelines.uznrqn6wwr.wasm", import.meta.url),
69
- "System.Linq.1zr53agk3u.wasm": new URL("../_framework/System.Linq.1zr53agk3u.wasm", import.meta.url),
70
- "System.Memory.fhg1j9plm5.wasm": new URL("../_framework/System.Memory.fhg1j9plm5.wasm", import.meta.url),
71
- "System.Net.Http.Json.inmwl4uur4.wasm": new URL("../_framework/System.Net.Http.Json.inmwl4uur4.wasm", import.meta.url),
72
- "System.Net.Http.nkjnrs0of8.wasm": new URL("../_framework/System.Net.Http.nkjnrs0of8.wasm", import.meta.url),
73
- "System.Net.Primitives.5dpvrmwpzs.wasm": new URL("../_framework/System.Net.Primitives.5dpvrmwpzs.wasm", import.meta.url),
74
- "System.ObjectModel.ec8ukh2ldt.wasm": new URL("../_framework/System.ObjectModel.ec8ukh2ldt.wasm", import.meta.url),
75
- "System.Private.CoreLib.utl1mjsn18.wasm": new URL("../_framework/System.Private.CoreLib.utl1mjsn18.wasm", import.meta.url),
76
- "System.Private.Uri.36hw244tg5.wasm": new URL("../_framework/System.Private.Uri.36hw244tg5.wasm", import.meta.url),
77
- "System.Private.Xml.79pgn68jgg.wasm": new URL("../_framework/System.Private.Xml.79pgn68jgg.wasm", import.meta.url),
78
- "System.Private.Xml.Linq.hdcz2lt8ic.wasm": new URL("../_framework/System.Private.Xml.Linq.hdcz2lt8ic.wasm", import.meta.url),
79
- "System.Runtime.InteropServices.JavaScript.x5dlzowbu5.wasm": new URL("../_framework/System.Runtime.InteropServices.JavaScript.x5dlzowbu5.wasm", import.meta.url),
80
- "System.Security.Cryptography.4ky8orn24u.wasm": new URL("../_framework/System.Security.Cryptography.4ky8orn24u.wasm", import.meta.url),
81
- "System.Text.Encodings.Web.alb2shaopt.wasm": new URL("../_framework/System.Text.Encodings.Web.alb2shaopt.wasm", import.meta.url),
82
- "System.Text.Json.0pjfq5rqh9.wasm": new URL("../_framework/System.Text.Json.0pjfq5rqh9.wasm", import.meta.url),
83
- "System.Text.RegularExpressions.5qljazlhjq.wasm": new URL("../_framework/System.Text.RegularExpressions.5qljazlhjq.wasm", import.meta.url),
84
- "System.Xml.Linq.xorxxf2zgs.wasm": new URL("../_framework/System.Xml.Linq.xorxxf2zgs.wasm", import.meta.url),
67
+ "System.IO.FileSystem.Watcher.adl4rm97cu.wasm": new URL("../_framework/System.IO.FileSystem.Watcher.adl4rm97cu.wasm", import.meta.url),
68
+ "System.IO.Pipelines.qz0hrnqp31.wasm": new URL("../_framework/System.IO.Pipelines.qz0hrnqp31.wasm", import.meta.url),
69
+ "System.Linq.t8gduvf7n7.wasm": new URL("../_framework/System.Linq.t8gduvf7n7.wasm", import.meta.url),
70
+ "System.Memory.dxhy2ac6ni.wasm": new URL("../_framework/System.Memory.dxhy2ac6ni.wasm", import.meta.url),
71
+ "System.Net.Http.6b09u95z40.wasm": new URL("../_framework/System.Net.Http.6b09u95z40.wasm", import.meta.url),
72
+ "System.Net.Http.Json.fyy6yufwat.wasm": new URL("../_framework/System.Net.Http.Json.fyy6yufwat.wasm", import.meta.url),
73
+ "System.Net.Primitives.cmknywwdix.wasm": new URL("../_framework/System.Net.Primitives.cmknywwdix.wasm", import.meta.url),
74
+ "System.ObjectModel.xjq46mdlbf.wasm": new URL("../_framework/System.ObjectModel.xjq46mdlbf.wasm", import.meta.url),
75
+ "System.Private.CoreLib.41yndbvnkt.wasm": new URL("../_framework/System.Private.CoreLib.41yndbvnkt.wasm", import.meta.url),
76
+ "System.Private.Uri.0sq9ujbzxl.wasm": new URL("../_framework/System.Private.Uri.0sq9ujbzxl.wasm", import.meta.url),
77
+ "System.Private.Xml.amxvu1qxuv.wasm": new URL("../_framework/System.Private.Xml.amxvu1qxuv.wasm", import.meta.url),
78
+ "System.Private.Xml.Linq.qfw0szijjd.wasm": new URL("../_framework/System.Private.Xml.Linq.qfw0szijjd.wasm", import.meta.url),
79
+ "System.Runtime.InteropServices.JavaScript.pl5zrdt7e5.wasm": new URL("../_framework/System.Runtime.InteropServices.JavaScript.pl5zrdt7e5.wasm", import.meta.url),
80
+ "System.Security.Cryptography.hns9vte9uy.wasm": new URL("../_framework/System.Security.Cryptography.hns9vte9uy.wasm", import.meta.url),
81
+ "System.Text.Encodings.Web.mktf3oni1u.wasm": new URL("../_framework/System.Text.Encodings.Web.mktf3oni1u.wasm", import.meta.url),
82
+ "System.Text.Json.1v7pyjt4fb.wasm": new URL("../_framework/System.Text.Json.1v7pyjt4fb.wasm", import.meta.url),
83
+ "System.Text.RegularExpressions.4817xyow8b.wasm": new URL("../_framework/System.Text.RegularExpressions.4817xyow8b.wasm", import.meta.url),
84
+ "System.Xml.Linq.224i7l5jfb.wasm": new URL("../_framework/System.Xml.Linq.224i7l5jfb.wasm", import.meta.url),
85
85
  });
package/js/sdk-init.d.ts CHANGED
@@ -19,6 +19,15 @@ export interface InitOptions {
19
19
  workerUrl?: URL | string;
20
20
  /** Forwarded to `dotnet.withDiagnosticTracing(true)` when enabled. */
21
21
  diagnosticTracing?: boolean;
22
+ /**
23
+ * Host-owned PrefWeb authentication (REY-650). When provided, the SDK calls this
24
+ * for every PrefWeb API request instead of performing the OAuth2 password grant
25
+ * itself — `auth.username`/`auth.password` are then not required. Return a valid
26
+ * bearer token; when `ctx.forceRefresh` is true the previous token was rejected
27
+ * (HTTP 401), so bypass any cache and obtain a fresh one. The SDK retries once
28
+ * after a forced refresh; a second 401 surfaces as a failed operation.
29
+ */
30
+ tokenProvider?: (ctx?: { forceRefresh?: boolean }) => Promise<string>;
22
31
  }
23
32
 
24
33
  /**
package/js/sdk-init.js CHANGED
@@ -114,14 +114,41 @@ function rebuildError(serialized) {
114
114
  return err;
115
115
  }
116
116
 
117
- function makeRpc(worker) {
117
+ function makeRpc(worker, tokenProvider) {
118
118
  let nextId = 1;
119
119
  const pending = new Map();
120
120
  let terminated = false;
121
121
 
122
+ // REY-650: the worker requests host-supplied PrefWeb bearer tokens over the same
123
+ // channel. Dispatch on type BEFORE the pending-id lookup — token-request ids live
124
+ // in the worker's own namespace, not in `pending`.
125
+ async function answerTokenRequest(msg) {
126
+ try {
127
+ if (typeof tokenProvider !== "function") {
128
+ throw new Error("The SDK requested a token but no tokenProvider was passed to init().");
129
+ }
130
+ const token = await tokenProvider({ forceRefresh: !!msg.forceRefresh });
131
+ if (typeof token !== "string" || token.length === 0) {
132
+ throw new Error("tokenProvider must resolve to a non-empty string bearer token.");
133
+ }
134
+ worker.postMessage({ type: "token-response", id: msg.id, token });
135
+ } catch (err) {
136
+ worker.postMessage({
137
+ type: "token-response",
138
+ id: msg.id,
139
+ error: { name: err?.name ?? "Error", message: err?.message ?? String(err) },
140
+ });
141
+ }
142
+ }
143
+
122
144
  worker.addEventListener("message", (ev) => {
123
145
  const msg = ev?.data;
124
- if (!msg || typeof msg !== "object" || msg.id === undefined) return;
146
+ if (!msg || typeof msg !== "object") return;
147
+ if (msg.type === "token-request") {
148
+ void answerTokenRequest(msg);
149
+ return;
150
+ }
151
+ if (msg.id === undefined) return;
125
152
  const ctl = pending.get(msg.id);
126
153
  if (!ctl) return;
127
154
  pending.delete(msg.id);
@@ -163,6 +190,11 @@ function makeRpc(worker) {
163
190
  * @param {object} [opts]
164
191
  * @param {URL|string} [opts.workerUrl] Override the worker URL (tests, custom hosting).
165
192
  * @param {boolean} [opts.diagnosticTracing] Forwarded to dotnet.withDiagnosticTracing.
193
+ * @param {(ctx?: {forceRefresh?: boolean}) => Promise<string>} [opts.tokenProvider]
194
+ * Host-owned PrefWeb auth (REY-650): called whenever the SDK needs a bearer token
195
+ * for a PrefWeb API call. When set, auth.username/password are not required and the
196
+ * SDK never calls the PrefWeb /token endpoint. forceRefresh=true after a 401 —
197
+ * bypass any cache and return a fresh token.
166
198
  * @returns {Promise<object>} a proxy whose methods unwrap OperationResult<T> via ensureOk.
167
199
  */
168
200
  export async function init(env, opts) {
@@ -172,9 +204,18 @@ export async function init(env, opts) {
172
204
  const options = opts ?? {};
173
205
  const workerUrl = options.workerUrl ?? new URL("./sdk-worker.js", import.meta.url);
174
206
  const worker = new Worker(workerUrl, { type: "module" });
175
- const rpc = makeRpc(worker);
207
+ const rpc = makeRpc(worker, options.tokenProvider);
176
208
 
177
- const envJson = typeof env === "string" ? env : JSON.stringify(env);
209
+ // The env JSON cannot carry the tokenProvider function across the worker boundary,
210
+ // so external-token mode travels as a flag the C# boundary validation reads.
211
+ let envJson;
212
+ if (typeof options.tokenProvider === "function") {
213
+ const envObj = typeof env === "string" ? JSON.parse(env) : { ...env };
214
+ envObj.auth = { ...(envObj.auth ?? {}), externalTokenProvider: true };
215
+ envJson = JSON.stringify(envObj);
216
+ } else {
217
+ envJson = typeof env === "string" ? env : JSON.stringify(env);
218
+ }
178
219
 
179
220
  // Build a plain { name: string } map. We force each value through String(...) and
180
221
  // copy with Object.assign-style key iteration so the postMessage clone never sees a
package/js/sdk-worker.js CHANGED
@@ -11,6 +11,21 @@
11
11
  let api = null;
12
12
  let bootPromise = null;
13
13
 
14
+ // REY-650 token bridge: the C# "auth" [JSImport] module resolves host-supplied PrefWeb
15
+ // bearer tokens. getToken posts a token-request to the main thread, where sdk-init.js
16
+ // invokes the consumer's tokenProvider and answers with token-response. Ids are local
17
+ // to this direction (string-prefixed so they can never be confused with call ids).
18
+ let nextTokenRequestId = 1;
19
+ const pendingTokenRequests = new Map();
20
+
21
+ function getToken(forceRefresh) {
22
+ const id = `tok-${nextTokenRequestId++}`;
23
+ return new Promise((resolve, reject) => {
24
+ pendingTokenRequests.set(id, { resolve, reject });
25
+ self.postMessage({ type: "token-request", id, forceRefresh: !!forceRefresh });
26
+ });
27
+ }
28
+
14
29
  async function bootDotnet({ envJson, diagnosticTracing, frameworkAssets, gltfStorageUrl, gltfMergerUrl, prefGltfMergerWasmUrl, prefGltfMergerWasmBinUrl }) {
15
30
  const dotnetUrl = frameworkAssets["dotnet.js"];
16
31
  if (!dotnetUrl) throw new Error("Framework asset manifest missing 'dotnet.js'.");
@@ -52,6 +67,7 @@ async function bootDotnet({ envJson, diagnosticTracing, frameworkAssets, gltfSto
52
67
  ]);
53
68
  setModuleImports("gltf-storage", gltfStorage);
54
69
  setModuleImports("gltf-merger", gltfMerger);
70
+ setModuleImports("auth", { getToken });
55
71
 
56
72
  const cfg = getConfig();
57
73
  const mainAssembly = cfg.mainAssemblyName;
@@ -97,6 +113,20 @@ self.addEventListener("message", async (ev) => {
97
113
  const msg = ev?.data;
98
114
  if (!msg || typeof msg !== "object") return;
99
115
 
116
+ if (msg.type === "token-response") {
117
+ const ctl = pendingTokenRequests.get(msg.id);
118
+ if (!ctl) return;
119
+ pendingTokenRequests.delete(msg.id);
120
+ if (msg.error) {
121
+ const err = new Error(msg.error.message ?? "tokenProvider failed");
122
+ err.name = msg.error.name ?? "TokenProviderError";
123
+ ctl.reject(err);
124
+ } else {
125
+ ctl.resolve(msg.token);
126
+ }
127
+ return;
128
+ }
129
+
100
130
  if (msg.type === "init") {
101
131
  try {
102
132
  if (!bootPromise) bootPromise = bootDotnet(msg);
package/package.json CHANGED
@@ -1,32 +1,9 @@
1
1
  {
2
- "private": false,
3
- "version": "2.0.0-beta.0",
4
- "type": "module",
5
- "main": "index.js",
6
2
  "types": "index.d.ts",
7
- "license": "MIT",
8
- "sideEffects": false,
9
- "files": [
10
- "_framework/**",
11
- "**/*.js",
12
- "**/*.d.ts",
13
- "**/*.wasm",
14
- "index.html",
15
- "README.md"
16
- ],
17
3
  "description": ".NET WebAssembly SDK that embeds Preference's business logic for building product configurators (windows, doors, joinery) in browser-based ecommerce platforms.",
18
- "name": "@preference-sl/pref-configurator-sdk",
4
+ "sideEffects": false,
5
+ "main": "index.js",
19
6
  "exports": {
20
- "./js/*": {
21
- "default": "./js/*.js",
22
- "types": "./js/*.d.ts"
23
- },
24
- "./package.json": "./package.json",
25
- "./js/prefconfigurator-api": {
26
- "default": "./js/prefconfigurator-api.js",
27
- "types": "./js/prefconfigurator-api.d.ts"
28
- },
29
- "./index.html": "./index.html",
30
7
  ".": {
31
8
  "default": "./index.js",
32
9
  "types": "./index.d.ts"
@@ -35,9 +12,32 @@
35
12
  "default": "./js/sdk-init.js",
36
13
  "types": "./js/sdk-init.d.ts"
37
14
  },
15
+ "./js/prefconfigurator-api": {
16
+ "default": "./js/prefconfigurator-api.js",
17
+ "types": "./js/prefconfigurator-api.d.ts"
18
+ },
19
+ "./js/*": {
20
+ "default": "./js/*.js",
21
+ "types": "./js/*.d.ts"
22
+ },
23
+ "./index.html": "./index.html",
38
24
  "./_framework/*": "./_framework/*",
39
- "./js/sdk-worker": "./js/sdk-worker.js"
25
+ "./js/sdk-worker": "./js/sdk-worker.js",
26
+ "./package.json": "./package.json"
40
27
  },
28
+ "name": "@preference-sl/pref-configurator-sdk",
29
+ "version": "2.0.0-beta.10",
30
+ "license": "MIT",
31
+ "files": [
32
+ "_framework/**",
33
+ "**/*.js",
34
+ "**/*.d.ts",
35
+ "**/*.wasm",
36
+ "index.html",
37
+ "README.md"
38
+ ],
41
39
  "module": "index.js",
42
- "author": "Alex Moreno Palacio <amoreno@preference.es>"
40
+ "private": false,
41
+ "author": "Alex Moreno Palacio <amoreno@preference.es>",
42
+ "type": "module"
43
43
  }