@inlang/sdk 2.0.0-prerelease.0 → 2.0.1

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 (1031) hide show
  1. package/LICENSE +21 -201
  2. package/dist/index.d.ts +0 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -4
  5. package/dist/index.js.map +1 -1
  6. package/dist/json-schema/settings.d.ts +8 -10
  7. package/dist/json-schema/settings.d.ts.map +1 -1
  8. package/dist/json-schema/settings.js +4 -27
  9. package/dist/json-schema/settings.js.map +1 -1
  10. package/dist/json-schema/settings.test.d.ts +2 -0
  11. package/dist/json-schema/settings.test.d.ts.map +1 -0
  12. package/dist/json-schema/settings.test.js +26 -0
  13. package/dist/json-schema/settings.test.js.map +1 -0
  14. package/dist/lix/index.d.ts +2 -0
  15. package/dist/lix/index.d.ts.map +1 -0
  16. package/dist/lix/index.js +5 -0
  17. package/dist/lix/index.js.map +1 -0
  18. package/dist/plugin/importPlugins.test.js +2 -3
  19. package/dist/plugin/importPlugins.test.js.map +1 -1
  20. package/dist/project/api.d.ts +0 -4
  21. package/dist/project/api.d.ts.map +1 -1
  22. package/dist/project/api.js +2 -2
  23. package/dist/project/api.js.map +1 -1
  24. package/dist/project/initHandleSaveToLixOnChange.d.ts.map +1 -1
  25. package/dist/project/initHandleSaveToLixOnChange.js +16 -10
  26. package/dist/project/initHandleSaveToLixOnChange.js.map +1 -1
  27. package/dist/project/loadProject.d.ts +11 -1
  28. package/dist/project/loadProject.d.ts.map +1 -1
  29. package/dist/project/loadProject.js +79 -16
  30. package/dist/project/loadProject.js.map +1 -1
  31. package/dist/project/loadProject.test.js +45 -22
  32. package/dist/project/loadProject.test.js.map +1 -1
  33. package/dist/project/loadProjectFromDirectory.d.ts +2 -11
  34. package/dist/project/loadProjectFromDirectory.d.ts.map +1 -1
  35. package/dist/project/loadProjectFromDirectory.js +68 -89
  36. package/dist/project/loadProjectFromDirectory.js.map +1 -1
  37. package/dist/project/loadProjectFromDirectory.test.js +89 -12
  38. package/dist/project/loadProjectFromDirectory.test.js.map +1 -1
  39. package/dist/project/loadProjectInMemory.d.ts.map +1 -1
  40. package/dist/project/loadProjectInMemory.js +3 -2
  41. package/dist/project/loadProjectInMemory.js.map +1 -1
  42. package/dist/project/maybeCaptureTelemetry.d.ts +8 -2
  43. package/dist/project/maybeCaptureTelemetry.d.ts.map +1 -1
  44. package/dist/project/maybeCaptureTelemetry.js +49 -37
  45. package/dist/project/maybeCaptureTelemetry.js.map +1 -1
  46. package/dist/project/maybeCaptureTelemetry.test.js +14 -3
  47. package/dist/project/maybeCaptureTelemetry.test.js.map +1 -1
  48. package/dist/project/newProject.d.ts.map +1 -1
  49. package/dist/project/newProject.js +6 -5
  50. package/dist/project/newProject.js.map +1 -1
  51. package/dist/project/saveProjectToDirectory.test.js +3 -3
  52. package/dist/project/saveProjectToDirectory.test.js.map +1 -1
  53. package/dist/query-utilities/index.d.ts +0 -1
  54. package/dist/query-utilities/index.d.ts.map +1 -1
  55. package/dist/query-utilities/index.js +2 -3
  56. package/dist/query-utilities/index.js.map +1 -1
  57. package/dist/services/env-variables/index.js +3 -3
  58. package/dist/services/env-variables/index.js.map +1 -1
  59. package/dist/services/telemetry/capture.d.ts +1 -0
  60. package/dist/services/telemetry/capture.d.ts.map +1 -1
  61. package/dist/services/telemetry/capture.js +5 -6
  62. package/dist/services/telemetry/capture.js.map +1 -1
  63. package/dist/services/telemetry/capture.test.js +4 -2
  64. package/dist/services/telemetry/capture.test.js.map +1 -1
  65. package/package.json +4 -10
  66. package/src/index.ts +0 -2
  67. package/src/json-schema/settings.test.ts +26 -0
  68. package/src/json-schema/settings.ts +3 -36
  69. package/src/lix/index.ts +1 -0
  70. package/src/plugin/importPlugins.test.ts +0 -1
  71. package/src/project/api.ts +0 -4
  72. package/src/project/initHandleSaveToLixOnChange.ts +13 -8
  73. package/src/project/loadProject.test.ts +51 -23
  74. package/src/project/loadProject.ts +108 -15
  75. package/src/project/loadProjectFromDirectory.test.ts +113 -10
  76. package/src/project/loadProjectFromDirectory.ts +79 -143
  77. package/src/project/loadProjectInMemory.ts +1 -0
  78. package/src/project/maybeCaptureTelemetry.test.ts +16 -2
  79. package/src/project/maybeCaptureTelemetry.ts +55 -37
  80. package/src/project/newProject.ts +4 -3
  81. package/src/project/saveProjectToDirectory.test.ts +1 -1
  82. package/src/query-utilities/index.ts +0 -1
  83. package/src/services/telemetry/capture.test.ts +2 -0
  84. package/src/services/telemetry/capture.ts +5 -4
  85. package/dist/project/state/id$.d.ts +0 -6
  86. package/dist/project/state/id$.d.ts.map +0 -1
  87. package/dist/project/state/id$.js +0 -19
  88. package/dist/project/state/id$.js.map +0 -1
  89. package/dist/project/state/id$.test.d.ts +0 -2
  90. package/dist/project/state/id$.test.d.ts.map +0 -1
  91. package/dist/project/state/id$.test.js +0 -36
  92. package/dist/project/state/id$.test.js.map +0 -1
  93. package/dist/project/state/setSettings.d.ts +0 -7
  94. package/dist/project/state/setSettings.d.ts.map +0 -1
  95. package/dist/project/state/setSettings.js +0 -16
  96. package/dist/project/state/setSettings.js.map +0 -1
  97. package/dist/project/state/setSettings.test.d.ts +0 -2
  98. package/dist/project/state/setSettings.test.d.ts.map +0 -1
  99. package/dist/project/state/setSettings.test.js +0 -58
  100. package/dist/project/state/setSettings.test.js.map +0 -1
  101. package/dist/project/state/settings$.d.ts +0 -7
  102. package/dist/project/state/settings$.d.ts.map +0 -1
  103. package/dist/project/state/settings$.js +0 -21
  104. package/dist/project/state/settings$.js.map +0 -1
  105. package/dist/project/state/settings$.test.d.ts +0 -2
  106. package/dist/project/state/settings$.test.d.ts.map +0 -1
  107. package/dist/project/state/settings$.test.js +0 -51
  108. package/dist/project/state/settings$.test.js.map +0 -1
  109. package/dist/project/state/state.d.ts +0 -58
  110. package/dist/project/state/state.d.ts.map +0 -1
  111. package/dist/project/state/state.js +0 -67
  112. package/dist/project/state/state.js.map +0 -1
  113. package/dist/project/state/state.test.d.ts +0 -2
  114. package/dist/project/state/state.test.d.ts.map +0 -1
  115. package/dist/project/state/state.test.js +0 -103
  116. package/dist/project/state/state.test.js.map +0 -1
  117. package/dist/query-utilities/pollQuery.d.ts +0 -14
  118. package/dist/query-utilities/pollQuery.d.ts.map +0 -1
  119. package/dist/query-utilities/pollQuery.js +0 -22
  120. package/dist/query-utilities/pollQuery.js.map +0 -1
  121. package/dist/query-utilities/pollQuery.test.d.ts +0 -2
  122. package/dist/query-utilities/pollQuery.test.d.ts.map +0 -1
  123. package/dist/query-utilities/pollQuery.test.js +0 -67
  124. package/dist/query-utilities/pollQuery.test.js.map +0 -1
  125. package/node_modules/@lix-js/sdk/LICENSE +0 -21
  126. package/node_modules/@lix-js/sdk/README.md +0 -68
  127. package/node_modules/@lix-js/sdk/dist/account/create-account.d.ts +0 -7
  128. package/node_modules/@lix-js/sdk/dist/account/create-account.d.ts.map +0 -1
  129. package/node_modules/@lix-js/sdk/dist/account/create-account.js +0 -20
  130. package/node_modules/@lix-js/sdk/dist/account/create-account.js.map +0 -1
  131. package/node_modules/@lix-js/sdk/dist/account/create-account.test.d.ts +0 -2
  132. package/node_modules/@lix-js/sdk/dist/account/create-account.test.d.ts.map +0 -1
  133. package/node_modules/@lix-js/sdk/dist/account/create-account.test.js +0 -22
  134. package/node_modules/@lix-js/sdk/dist/account/create-account.test.js.map +0 -1
  135. package/node_modules/@lix-js/sdk/dist/account/database-schema.d.ts +0 -18
  136. package/node_modules/@lix-js/sdk/dist/account/database-schema.d.ts.map +0 -1
  137. package/node_modules/@lix-js/sdk/dist/account/database-schema.js +0 -36
  138. package/node_modules/@lix-js/sdk/dist/account/database-schema.js.map +0 -1
  139. package/node_modules/@lix-js/sdk/dist/account/database-schema.test.d.ts +0 -2
  140. package/node_modules/@lix-js/sdk/dist/account/database-schema.test.d.ts.map +0 -1
  141. package/node_modules/@lix-js/sdk/dist/account/database-schema.test.js +0 -139
  142. package/node_modules/@lix-js/sdk/dist/account/database-schema.test.js.map +0 -1
  143. package/node_modules/@lix-js/sdk/dist/account/index.d.ts +0 -4
  144. package/node_modules/@lix-js/sdk/dist/account/index.d.ts.map +0 -1
  145. package/node_modules/@lix-js/sdk/dist/account/index.js +0 -4
  146. package/node_modules/@lix-js/sdk/dist/account/index.js.map +0 -1
  147. package/node_modules/@lix-js/sdk/dist/account/switch-account.d.ts +0 -26
  148. package/node_modules/@lix-js/sdk/dist/account/switch-account.d.ts.map +0 -1
  149. package/node_modules/@lix-js/sdk/dist/account/switch-account.js +0 -34
  150. package/node_modules/@lix-js/sdk/dist/account/switch-account.js.map +0 -1
  151. package/node_modules/@lix-js/sdk/dist/account/switch-account.test.d.ts +0 -2
  152. package/node_modules/@lix-js/sdk/dist/account/switch-account.test.d.ts.map +0 -1
  153. package/node_modules/@lix-js/sdk/dist/account/switch-account.test.js +0 -48
  154. package/node_modules/@lix-js/sdk/dist/account/switch-account.test.js.map +0 -1
  155. package/node_modules/@lix-js/sdk/dist/change/apply-changes.d.ts +0 -25
  156. package/node_modules/@lix-js/sdk/dist/change/apply-changes.d.ts.map +0 -1
  157. package/node_modules/@lix-js/sdk/dist/change/apply-changes.js +0 -98
  158. package/node_modules/@lix-js/sdk/dist/change/apply-changes.js.map +0 -1
  159. package/node_modules/@lix-js/sdk/dist/change/apply-changes.test.d.ts +0 -2
  160. package/node_modules/@lix-js/sdk/dist/change/apply-changes.test.d.ts.map +0 -1
  161. package/node_modules/@lix-js/sdk/dist/change/apply-changes.test.js +0 -222
  162. package/node_modules/@lix-js/sdk/dist/change/apply-changes.test.js.map +0 -1
  163. package/node_modules/@lix-js/sdk/dist/change/create-change.d.ts +0 -27
  164. package/node_modules/@lix-js/sdk/dist/change/create-change.d.ts.map +0 -1
  165. package/node_modules/@lix-js/sdk/dist/change/create-change.js +0 -97
  166. package/node_modules/@lix-js/sdk/dist/change/create-change.js.map +0 -1
  167. package/node_modules/@lix-js/sdk/dist/change/create-change.test.d.ts +0 -2
  168. package/node_modules/@lix-js/sdk/dist/change/create-change.test.d.ts.map +0 -1
  169. package/node_modules/@lix-js/sdk/dist/change/create-change.test.js +0 -235
  170. package/node_modules/@lix-js/sdk/dist/change/create-change.test.js.map +0 -1
  171. package/node_modules/@lix-js/sdk/dist/change/index.d.ts +0 -3
  172. package/node_modules/@lix-js/sdk/dist/change/index.d.ts.map +0 -1
  173. package/node_modules/@lix-js/sdk/dist/change/index.js +0 -3
  174. package/node_modules/@lix-js/sdk/dist/change/index.js.map +0 -1
  175. package/node_modules/@lix-js/sdk/dist/change/mock-change.d.ts +0 -10
  176. package/node_modules/@lix-js/sdk/dist/change/mock-change.d.ts.map +0 -1
  177. package/node_modules/@lix-js/sdk/dist/change/mock-change.js +0 -20
  178. package/node_modules/@lix-js/sdk/dist/change/mock-change.js.map +0 -1
  179. package/node_modules/@lix-js/sdk/dist/change-conflict/create-change-conflict.d.ts +0 -15
  180. package/node_modules/@lix-js/sdk/dist/change-conflict/create-change-conflict.d.ts.map +0 -1
  181. package/node_modules/@lix-js/sdk/dist/change-conflict/create-change-conflict.js +0 -67
  182. package/node_modules/@lix-js/sdk/dist/change-conflict/create-change-conflict.js.map +0 -1
  183. package/node_modules/@lix-js/sdk/dist/change-conflict/create-change-conflict.test.d.ts +0 -2
  184. package/node_modules/@lix-js/sdk/dist/change-conflict/create-change-conflict.test.d.ts.map +0 -1
  185. package/node_modules/@lix-js/sdk/dist/change-conflict/create-change-conflict.test.js +0 -145
  186. package/node_modules/@lix-js/sdk/dist/change-conflict/create-change-conflict.test.js.map +0 -1
  187. package/node_modules/@lix-js/sdk/dist/change-conflict/detect-change-conflicts.d.ts +0 -23
  188. package/node_modules/@lix-js/sdk/dist/change-conflict/detect-change-conflicts.d.ts.map +0 -1
  189. package/node_modules/@lix-js/sdk/dist/change-conflict/detect-change-conflicts.js +0 -50
  190. package/node_modules/@lix-js/sdk/dist/change-conflict/detect-change-conflicts.js.map +0 -1
  191. package/node_modules/@lix-js/sdk/dist/change-conflict/detect-change-conflicts.test.d.ts +0 -2
  192. package/node_modules/@lix-js/sdk/dist/change-conflict/detect-change-conflicts.test.d.ts.map +0 -1
  193. package/node_modules/@lix-js/sdk/dist/change-conflict/detect-change-conflicts.test.js +0 -182
  194. package/node_modules/@lix-js/sdk/dist/change-conflict/detect-change-conflicts.test.js.map +0 -1
  195. package/node_modules/@lix-js/sdk/dist/change-conflict/detect-diverging-entity-conflict.d.ts +0 -32
  196. package/node_modules/@lix-js/sdk/dist/change-conflict/detect-diverging-entity-conflict.d.ts.map +0 -1
  197. package/node_modules/@lix-js/sdk/dist/change-conflict/detect-diverging-entity-conflict.js +0 -66
  198. package/node_modules/@lix-js/sdk/dist/change-conflict/detect-diverging-entity-conflict.js.map +0 -1
  199. package/node_modules/@lix-js/sdk/dist/change-conflict/detect-diverging-entity-conflict.test.d.ts +0 -2
  200. package/node_modules/@lix-js/sdk/dist/change-conflict/detect-diverging-entity-conflict.test.d.ts.map +0 -1
  201. package/node_modules/@lix-js/sdk/dist/change-conflict/detect-diverging-entity-conflict.test.js +0 -201
  202. package/node_modules/@lix-js/sdk/dist/change-conflict/detect-diverging-entity-conflict.test.js.map +0 -1
  203. package/node_modules/@lix-js/sdk/dist/change-conflict/garbage-collect-change-conflicts.d.ts +0 -14
  204. package/node_modules/@lix-js/sdk/dist/change-conflict/garbage-collect-change-conflicts.d.ts.map +0 -1
  205. package/node_modules/@lix-js/sdk/dist/change-conflict/garbage-collect-change-conflicts.js +0 -67
  206. package/node_modules/@lix-js/sdk/dist/change-conflict/garbage-collect-change-conflicts.js.map +0 -1
  207. package/node_modules/@lix-js/sdk/dist/change-conflict/garbage-collect-change-conflicts.test.d.ts +0 -2
  208. package/node_modules/@lix-js/sdk/dist/change-conflict/garbage-collect-change-conflicts.test.d.ts.map +0 -1
  209. package/node_modules/@lix-js/sdk/dist/change-conflict/garbage-collect-change-conflicts.test.js +0 -182
  210. package/node_modules/@lix-js/sdk/dist/change-conflict/garbage-collect-change-conflicts.test.js.map +0 -1
  211. package/node_modules/@lix-js/sdk/dist/change-conflict/index.d.ts +0 -4
  212. package/node_modules/@lix-js/sdk/dist/change-conflict/index.d.ts.map +0 -1
  213. package/node_modules/@lix-js/sdk/dist/change-conflict/index.js +0 -4
  214. package/node_modules/@lix-js/sdk/dist/change-conflict/index.js.map +0 -1
  215. package/node_modules/@lix-js/sdk/dist/change-conflict/resolve-conflict-by-selecting.d.ts +0 -12
  216. package/node_modules/@lix-js/sdk/dist/change-conflict/resolve-conflict-by-selecting.d.ts.map +0 -1
  217. package/node_modules/@lix-js/sdk/dist/change-conflict/resolve-conflict-by-selecting.js +0 -48
  218. package/node_modules/@lix-js/sdk/dist/change-conflict/resolve-conflict-by-selecting.js.map +0 -1
  219. package/node_modules/@lix-js/sdk/dist/change-conflict/resolve-conflict-by-selecting.test.d.ts +0 -2
  220. package/node_modules/@lix-js/sdk/dist/change-conflict/resolve-conflict-by-selecting.test.d.ts.map +0 -1
  221. package/node_modules/@lix-js/sdk/dist/change-conflict/resolve-conflict-by-selecting.test.js +0 -95
  222. package/node_modules/@lix-js/sdk/dist/change-conflict/resolve-conflict-by-selecting.test.js.map +0 -1
  223. package/node_modules/@lix-js/sdk/dist/change-conflict/update-change-conflicts.d.ts +0 -2
  224. package/node_modules/@lix-js/sdk/dist/change-conflict/update-change-conflicts.d.ts.map +0 -1
  225. package/node_modules/@lix-js/sdk/dist/change-conflict/update-change-conflicts.js +0 -72
  226. package/node_modules/@lix-js/sdk/dist/change-conflict/update-change-conflicts.js.map +0 -1
  227. package/node_modules/@lix-js/sdk/dist/change-queue/change-queue-settled.d.ts +0 -13
  228. package/node_modules/@lix-js/sdk/dist/change-queue/change-queue-settled.d.ts.map +0 -1
  229. package/node_modules/@lix-js/sdk/dist/change-queue/change-queue-settled.js +0 -25
  230. package/node_modules/@lix-js/sdk/dist/change-queue/change-queue-settled.js.map +0 -1
  231. package/node_modules/@lix-js/sdk/dist/change-queue/change-queue-settled.test.d.ts +0 -2
  232. package/node_modules/@lix-js/sdk/dist/change-queue/change-queue-settled.test.d.ts.map +0 -1
  233. package/node_modules/@lix-js/sdk/dist/change-queue/change-queue-settled.test.js +0 -47
  234. package/node_modules/@lix-js/sdk/dist/change-queue/change-queue-settled.test.js.map +0 -1
  235. package/node_modules/@lix-js/sdk/dist/change-queue/file-handlers.d.ts +0 -24
  236. package/node_modules/@lix-js/sdk/dist/change-queue/file-handlers.d.ts.map +0 -1
  237. package/node_modules/@lix-js/sdk/dist/change-queue/file-handlers.js +0 -209
  238. package/node_modules/@lix-js/sdk/dist/change-queue/file-handlers.js.map +0 -1
  239. package/node_modules/@lix-js/sdk/dist/change-queue/index.d.ts +0 -2
  240. package/node_modules/@lix-js/sdk/dist/change-queue/index.d.ts.map +0 -1
  241. package/node_modules/@lix-js/sdk/dist/change-queue/index.js +0 -2
  242. package/node_modules/@lix-js/sdk/dist/change-queue/index.js.map +0 -1
  243. package/node_modules/@lix-js/sdk/dist/change-queue/init-change-queue.d.ts +0 -7
  244. package/node_modules/@lix-js/sdk/dist/change-queue/init-change-queue.d.ts.map +0 -1
  245. package/node_modules/@lix-js/sdk/dist/change-queue/init-change-queue.js +0 -80
  246. package/node_modules/@lix-js/sdk/dist/change-queue/init-change-queue.js.map +0 -1
  247. package/node_modules/@lix-js/sdk/dist/change-queue/init-change-queue.test.d.ts +0 -2
  248. package/node_modules/@lix-js/sdk/dist/change-queue/init-change-queue.test.d.ts.map +0 -1
  249. package/node_modules/@lix-js/sdk/dist/change-queue/init-change-queue.test.js +0 -373
  250. package/node_modules/@lix-js/sdk/dist/change-queue/init-change-queue.test.js.map +0 -1
  251. package/node_modules/@lix-js/sdk/dist/change-queue/with-skip-change-queue.d.ts +0 -3
  252. package/node_modules/@lix-js/sdk/dist/change-queue/with-skip-change-queue.d.ts.map +0 -1
  253. package/node_modules/@lix-js/sdk/dist/change-queue/with-skip-change-queue.js +0 -26
  254. package/node_modules/@lix-js/sdk/dist/change-queue/with-skip-change-queue.js.map +0 -1
  255. package/node_modules/@lix-js/sdk/dist/change-queue/with-skip-change-queue.test.d.ts +0 -2
  256. package/node_modules/@lix-js/sdk/dist/change-queue/with-skip-change-queue.test.d.ts.map +0 -1
  257. package/node_modules/@lix-js/sdk/dist/change-queue/with-skip-change-queue.test.js +0 -138
  258. package/node_modules/@lix-js/sdk/dist/change-queue/with-skip-change-queue.test.js.map +0 -1
  259. package/node_modules/@lix-js/sdk/dist/change-schema/index.d.ts +0 -2
  260. package/node_modules/@lix-js/sdk/dist/change-schema/index.d.ts.map +0 -1
  261. package/node_modules/@lix-js/sdk/dist/change-schema/index.js +0 -2
  262. package/node_modules/@lix-js/sdk/dist/change-schema/index.js.map +0 -1
  263. package/node_modules/@lix-js/sdk/dist/change-schema/types.d.ts +0 -40
  264. package/node_modules/@lix-js/sdk/dist/change-schema/types.d.ts.map +0 -1
  265. package/node_modules/@lix-js/sdk/dist/change-schema/types.js +0 -2
  266. package/node_modules/@lix-js/sdk/dist/change-schema/types.js.map +0 -1
  267. package/node_modules/@lix-js/sdk/dist/change-schema/types.test-d.d.ts +0 -2
  268. package/node_modules/@lix-js/sdk/dist/change-schema/types.test-d.d.ts.map +0 -1
  269. package/node_modules/@lix-js/sdk/dist/change-schema/types.test-d.js +0 -34
  270. package/node_modules/@lix-js/sdk/dist/change-schema/types.test-d.js.map +0 -1
  271. package/node_modules/@lix-js/sdk/dist/change-set/change-set-element-in-symmetric-difference.d.ts +0 -19
  272. package/node_modules/@lix-js/sdk/dist/change-set/change-set-element-in-symmetric-difference.d.ts.map +0 -1
  273. package/node_modules/@lix-js/sdk/dist/change-set/change-set-element-in-symmetric-difference.js +0 -36
  274. package/node_modules/@lix-js/sdk/dist/change-set/change-set-element-in-symmetric-difference.js.map +0 -1
  275. package/node_modules/@lix-js/sdk/dist/change-set/change-set-element-in-symmetric-difference.test.d.ts +0 -2
  276. package/node_modules/@lix-js/sdk/dist/change-set/change-set-element-in-symmetric-difference.test.d.ts.map +0 -1
  277. package/node_modules/@lix-js/sdk/dist/change-set/change-set-element-in-symmetric-difference.test.js +0 -106
  278. package/node_modules/@lix-js/sdk/dist/change-set/change-set-element-in-symmetric-difference.test.js.map +0 -1
  279. package/node_modules/@lix-js/sdk/dist/change-set/create-change-set.d.ts +0 -16
  280. package/node_modules/@lix-js/sdk/dist/change-set/create-change-set.d.ts.map +0 -1
  281. package/node_modules/@lix-js/sdk/dist/change-set/create-change-set.js +0 -33
  282. package/node_modules/@lix-js/sdk/dist/change-set/create-change-set.js.map +0 -1
  283. package/node_modules/@lix-js/sdk/dist/change-set/create-change-set.test.d.ts +0 -2
  284. package/node_modules/@lix-js/sdk/dist/change-set/create-change-set.test.d.ts.map +0 -1
  285. package/node_modules/@lix-js/sdk/dist/change-set/create-change-set.test.js +0 -37
  286. package/node_modules/@lix-js/sdk/dist/change-set/create-change-set.test.js.map +0 -1
  287. package/node_modules/@lix-js/sdk/dist/change-set/index.d.ts +0 -3
  288. package/node_modules/@lix-js/sdk/dist/change-set/index.d.ts.map +0 -1
  289. package/node_modules/@lix-js/sdk/dist/change-set/index.js +0 -3
  290. package/node_modules/@lix-js/sdk/dist/change-set/index.js.map +0 -1
  291. package/node_modules/@lix-js/sdk/dist/database/apply-schema.d.ts +0 -8
  292. package/node_modules/@lix-js/sdk/dist/database/apply-schema.d.ts.map +0 -1
  293. package/node_modules/@lix-js/sdk/dist/database/apply-schema.js +0 -266
  294. package/node_modules/@lix-js/sdk/dist/database/apply-schema.js.map +0 -1
  295. package/node_modules/@lix-js/sdk/dist/database/execute-sync.d.ts +0 -18
  296. package/node_modules/@lix-js/sdk/dist/database/execute-sync.d.ts.map +0 -1
  297. package/node_modules/@lix-js/sdk/dist/database/execute-sync.js +0 -36
  298. package/node_modules/@lix-js/sdk/dist/database/execute-sync.js.map +0 -1
  299. package/node_modules/@lix-js/sdk/dist/database/execute-sync.test.d.ts +0 -2
  300. package/node_modules/@lix-js/sdk/dist/database/execute-sync.test.d.ts.map +0 -1
  301. package/node_modules/@lix-js/sdk/dist/database/execute-sync.test.js +0 -118
  302. package/node_modules/@lix-js/sdk/dist/database/execute-sync.test.js.map +0 -1
  303. package/node_modules/@lix-js/sdk/dist/database/index.d.ts +0 -5
  304. package/node_modules/@lix-js/sdk/dist/database/index.d.ts.map +0 -1
  305. package/node_modules/@lix-js/sdk/dist/database/index.js +0 -5
  306. package/node_modules/@lix-js/sdk/dist/database/index.js.map +0 -1
  307. package/node_modules/@lix-js/sdk/dist/database/init-db.d.ts +0 -7
  308. package/node_modules/@lix-js/sdk/dist/database/init-db.d.ts.map +0 -1
  309. package/node_modules/@lix-js/sdk/dist/database/init-db.js +0 -95
  310. package/node_modules/@lix-js/sdk/dist/database/init-db.js.map +0 -1
  311. package/node_modules/@lix-js/sdk/dist/database/init-db.test.d.ts +0 -2
  312. package/node_modules/@lix-js/sdk/dist/database/init-db.test.d.ts.map +0 -1
  313. package/node_modules/@lix-js/sdk/dist/database/init-db.test.js +0 -497
  314. package/node_modules/@lix-js/sdk/dist/database/init-db.test.js.map +0 -1
  315. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/parse-jsonb-plugin-v1.d.ts +0 -3
  316. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/parse-jsonb-plugin-v1.d.ts.map +0 -1
  317. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/parse-jsonb-plugin-v1.js +0 -44
  318. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/parse-jsonb-plugin-v1.js.map +0 -1
  319. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/parse-jsonb-plugin-v1.test.d.ts +0 -2
  320. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/parse-jsonb-plugin-v1.test.d.ts.map +0 -1
  321. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/parse-jsonb-plugin-v1.test.js +0 -162
  322. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/parse-jsonb-plugin-v1.test.js.map +0 -1
  323. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/parse-jsonb-plugin-v2.d.ts +0 -12
  324. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/parse-jsonb-plugin-v2.d.ts.map +0 -1
  325. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/parse-jsonb-plugin-v2.js +0 -149
  326. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/parse-jsonb-plugin-v2.js.map +0 -1
  327. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/parse-jsonb-plugin-v2.no_test.d.ts +0 -2
  328. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/parse-jsonb-plugin-v2.no_test.d.ts.map +0 -1
  329. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/parse-jsonb-plugin-v2.no_test.js +0 -162
  330. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/parse-jsonb-plugin-v2.no_test.js.map +0 -1
  331. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/serialize-jsonb-plugin.d.ts +0 -3
  332. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/serialize-jsonb-plugin.d.ts.map +0 -1
  333. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/serialize-jsonb-plugin.js +0 -100
  334. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/serialize-jsonb-plugin.js.map +0 -1
  335. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/serialize-jsonb-plugin.test.d.ts +0 -2
  336. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/serialize-jsonb-plugin.test.d.ts.map +0 -1
  337. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/serialize-jsonb-plugin.test.js +0 -107
  338. package/node_modules/@lix-js/sdk/dist/database/kysely-plugin/serialize-jsonb-plugin.test.js.map +0 -1
  339. package/node_modules/@lix-js/sdk/dist/database/mutation-log/database-schema.d.ts +0 -16
  340. package/node_modules/@lix-js/sdk/dist/database/mutation-log/database-schema.d.ts.map +0 -1
  341. package/node_modules/@lix-js/sdk/dist/database/mutation-log/database-schema.js +0 -101
  342. package/node_modules/@lix-js/sdk/dist/database/mutation-log/database-schema.js.map +0 -1
  343. package/node_modules/@lix-js/sdk/dist/database/mutation-log/lix-session.d.ts +0 -8
  344. package/node_modules/@lix-js/sdk/dist/database/mutation-log/lix-session.d.ts.map +0 -1
  345. package/node_modules/@lix-js/sdk/dist/database/mutation-log/lix-session.js +0 -18
  346. package/node_modules/@lix-js/sdk/dist/database/mutation-log/lix-session.js.map +0 -1
  347. package/node_modules/@lix-js/sdk/dist/database/nano-id.d.ts +0 -21
  348. package/node_modules/@lix-js/sdk/dist/database/nano-id.d.ts.map +0 -1
  349. package/node_modules/@lix-js/sdk/dist/database/nano-id.js +0 -58
  350. package/node_modules/@lix-js/sdk/dist/database/nano-id.js.map +0 -1
  351. package/node_modules/@lix-js/sdk/dist/database/nano-id.test.d.ts +0 -2
  352. package/node_modules/@lix-js/sdk/dist/database/nano-id.test.d.ts.map +0 -1
  353. package/node_modules/@lix-js/sdk/dist/database/nano-id.test.js +0 -13
  354. package/node_modules/@lix-js/sdk/dist/database/nano-id.test.js.map +0 -1
  355. package/node_modules/@lix-js/sdk/dist/database/schema.d.ts +0 -212
  356. package/node_modules/@lix-js/sdk/dist/database/schema.d.ts.map +0 -1
  357. package/node_modules/@lix-js/sdk/dist/database/schema.js +0 -2
  358. package/node_modules/@lix-js/sdk/dist/database/schema.js.map +0 -1
  359. package/node_modules/@lix-js/sdk/dist/discussion/create-comment.d.ts +0 -8
  360. package/node_modules/@lix-js/sdk/dist/discussion/create-comment.d.ts.map +0 -1
  361. package/node_modules/@lix-js/sdk/dist/discussion/create-comment.js +0 -12
  362. package/node_modules/@lix-js/sdk/dist/discussion/create-comment.js.map +0 -1
  363. package/node_modules/@lix-js/sdk/dist/discussion/create-discussion.d.ts +0 -21
  364. package/node_modules/@lix-js/sdk/dist/discussion/create-discussion.d.ts.map +0 -1
  365. package/node_modules/@lix-js/sdk/dist/discussion/create-discussion.js +0 -40
  366. package/node_modules/@lix-js/sdk/dist/discussion/create-discussion.js.map +0 -1
  367. package/node_modules/@lix-js/sdk/dist/discussion/create-discussion.test.d.ts +0 -2
  368. package/node_modules/@lix-js/sdk/dist/discussion/create-discussion.test.d.ts.map +0 -1
  369. package/node_modules/@lix-js/sdk/dist/discussion/create-discussion.test.js +0 -38
  370. package/node_modules/@lix-js/sdk/dist/discussion/create-discussion.test.js.map +0 -1
  371. package/node_modules/@lix-js/sdk/dist/discussion/index.d.ts +0 -3
  372. package/node_modules/@lix-js/sdk/dist/discussion/index.d.ts.map +0 -1
  373. package/node_modules/@lix-js/sdk/dist/discussion/index.js +0 -3
  374. package/node_modules/@lix-js/sdk/dist/discussion/index.js.map +0 -1
  375. package/node_modules/@lix-js/sdk/dist/file/index.d.ts +0 -2
  376. package/node_modules/@lix-js/sdk/dist/file/index.d.ts.map +0 -1
  377. package/node_modules/@lix-js/sdk/dist/file/index.js +0 -2
  378. package/node_modules/@lix-js/sdk/dist/file/index.js.map +0 -1
  379. package/node_modules/@lix-js/sdk/dist/file/validate-file-path.d.ts +0 -16
  380. package/node_modules/@lix-js/sdk/dist/file/validate-file-path.d.ts.map +0 -1
  381. package/node_modules/@lix-js/sdk/dist/file/validate-file-path.js +0 -44
  382. package/node_modules/@lix-js/sdk/dist/file/validate-file-path.js.map +0 -1
  383. package/node_modules/@lix-js/sdk/dist/file/validate-file-path.test.d.ts +0 -2
  384. package/node_modules/@lix-js/sdk/dist/file/validate-file-path.test.d.ts.map +0 -1
  385. package/node_modules/@lix-js/sdk/dist/file/validate-file-path.test.js +0 -36
  386. package/node_modules/@lix-js/sdk/dist/file/validate-file-path.test.js.map +0 -1
  387. package/node_modules/@lix-js/sdk/dist/file-queue/file-handlers.d.ts +0 -24
  388. package/node_modules/@lix-js/sdk/dist/file-queue/file-handlers.d.ts.map +0 -1
  389. package/node_modules/@lix-js/sdk/dist/file-queue/file-handlers.js +0 -209
  390. package/node_modules/@lix-js/sdk/dist/file-queue/file-handlers.js.map +0 -1
  391. package/node_modules/@lix-js/sdk/dist/file-queue/file-queue-process.d.ts +0 -5
  392. package/node_modules/@lix-js/sdk/dist/file-queue/file-queue-process.d.ts.map +0 -1
  393. package/node_modules/@lix-js/sdk/dist/file-queue/file-queue-process.js +0 -85
  394. package/node_modules/@lix-js/sdk/dist/file-queue/file-queue-process.js.map +0 -1
  395. package/node_modules/@lix-js/sdk/dist/file-queue/file-queue-process.test.d.ts +0 -2
  396. package/node_modules/@lix-js/sdk/dist/file-queue/file-queue-process.test.d.ts.map +0 -1
  397. package/node_modules/@lix-js/sdk/dist/file-queue/file-queue-process.test.js +0 -373
  398. package/node_modules/@lix-js/sdk/dist/file-queue/file-queue-process.test.js.map +0 -1
  399. package/node_modules/@lix-js/sdk/dist/file-queue/file-queue-settled.d.ts +0 -13
  400. package/node_modules/@lix-js/sdk/dist/file-queue/file-queue-settled.d.ts.map +0 -1
  401. package/node_modules/@lix-js/sdk/dist/file-queue/file-queue-settled.js +0 -25
  402. package/node_modules/@lix-js/sdk/dist/file-queue/file-queue-settled.js.map +0 -1
  403. package/node_modules/@lix-js/sdk/dist/file-queue/file-queue-settled.test.d.ts +0 -2
  404. package/node_modules/@lix-js/sdk/dist/file-queue/file-queue-settled.test.d.ts.map +0 -1
  405. package/node_modules/@lix-js/sdk/dist/file-queue/file-queue-settled.test.js +0 -47
  406. package/node_modules/@lix-js/sdk/dist/file-queue/file-queue-settled.test.js.map +0 -1
  407. package/node_modules/@lix-js/sdk/dist/file-queue/index.d.ts +0 -2
  408. package/node_modules/@lix-js/sdk/dist/file-queue/index.d.ts.map +0 -1
  409. package/node_modules/@lix-js/sdk/dist/file-queue/index.js +0 -2
  410. package/node_modules/@lix-js/sdk/dist/file-queue/index.js.map +0 -1
  411. package/node_modules/@lix-js/sdk/dist/file-queue/with-skip-file-queue.d.ts +0 -3
  412. package/node_modules/@lix-js/sdk/dist/file-queue/with-skip-file-queue.d.ts.map +0 -1
  413. package/node_modules/@lix-js/sdk/dist/file-queue/with-skip-file-queue.js +0 -26
  414. package/node_modules/@lix-js/sdk/dist/file-queue/with-skip-file-queue.js.map +0 -1
  415. package/node_modules/@lix-js/sdk/dist/file-queue/with-skip-file-queue.test.d.ts +0 -2
  416. package/node_modules/@lix-js/sdk/dist/file-queue/with-skip-file-queue.test.d.ts.map +0 -1
  417. package/node_modules/@lix-js/sdk/dist/file-queue/with-skip-file-queue.test.js +0 -138
  418. package/node_modules/@lix-js/sdk/dist/file-queue/with-skip-file-queue.test.js.map +0 -1
  419. package/node_modules/@lix-js/sdk/dist/index.d.ts +0 -17
  420. package/node_modules/@lix-js/sdk/dist/index.d.ts.map +0 -1
  421. package/node_modules/@lix-js/sdk/dist/index.js +0 -17
  422. package/node_modules/@lix-js/sdk/dist/index.js.map +0 -1
  423. package/node_modules/@lix-js/sdk/dist/key-value/database-schema.d.ts +0 -42
  424. package/node_modules/@lix-js/sdk/dist/key-value/database-schema.d.ts.map +0 -1
  425. package/node_modules/@lix-js/sdk/dist/key-value/database-schema.js +0 -21
  426. package/node_modules/@lix-js/sdk/dist/key-value/database-schema.js.map +0 -1
  427. package/node_modules/@lix-js/sdk/dist/key-value/database-schema.test.d.ts +0 -2
  428. package/node_modules/@lix-js/sdk/dist/key-value/database-schema.test.d.ts.map +0 -1
  429. package/node_modules/@lix-js/sdk/dist/key-value/database-schema.test.js +0 -114
  430. package/node_modules/@lix-js/sdk/dist/key-value/database-schema.test.js.map +0 -1
  431. package/node_modules/@lix-js/sdk/dist/lix/close-lix.d.ts +0 -8
  432. package/node_modules/@lix-js/sdk/dist/lix/close-lix.d.ts.map +0 -1
  433. package/node_modules/@lix-js/sdk/dist/lix/close-lix.js +0 -7
  434. package/node_modules/@lix-js/sdk/dist/lix/close-lix.js.map +0 -1
  435. package/node_modules/@lix-js/sdk/dist/lix/index.d.ts +0 -5
  436. package/node_modules/@lix-js/sdk/dist/lix/index.d.ts.map +0 -1
  437. package/node_modules/@lix-js/sdk/dist/lix/index.js +0 -8
  438. package/node_modules/@lix-js/sdk/dist/lix/index.js.map +0 -1
  439. package/node_modules/@lix-js/sdk/dist/lix/merge.d.ts +0 -9
  440. package/node_modules/@lix-js/sdk/dist/lix/merge.d.ts.map +0 -1
  441. package/node_modules/@lix-js/sdk/dist/lix/merge.get-leaf-changes-only-in-source.d.ts +0 -15
  442. package/node_modules/@lix-js/sdk/dist/lix/merge.get-leaf-changes-only-in-source.d.ts.map +0 -1
  443. package/node_modules/@lix-js/sdk/dist/lix/merge.get-leaf-changes-only-in-source.js +0 -34
  444. package/node_modules/@lix-js/sdk/dist/lix/merge.get-leaf-changes-only-in-source.js.map +0 -1
  445. package/node_modules/@lix-js/sdk/dist/lix/merge.get-leaf-changes-only-in-source.test.d.ts +0 -2
  446. package/node_modules/@lix-js/sdk/dist/lix/merge.get-leaf-changes-only-in-source.test.d.ts.map +0 -1
  447. package/node_modules/@lix-js/sdk/dist/lix/merge.get-leaf-changes-only-in-source.test.js +0 -121
  448. package/node_modules/@lix-js/sdk/dist/lix/merge.get-leaf-changes-only-in-source.test.js.map +0 -1
  449. package/node_modules/@lix-js/sdk/dist/lix/merge.js +0 -195
  450. package/node_modules/@lix-js/sdk/dist/lix/merge.js.map +0 -1
  451. package/node_modules/@lix-js/sdk/dist/lix/merge.test.d.ts +0 -2
  452. package/node_modules/@lix-js/sdk/dist/lix/merge.test.d.ts.map +0 -1
  453. package/node_modules/@lix-js/sdk/dist/lix/merge.test.js +0 -689
  454. package/node_modules/@lix-js/sdk/dist/lix/merge.test.js.map +0 -1
  455. package/node_modules/@lix-js/sdk/dist/lix/new-lix.d.ts +0 -8
  456. package/node_modules/@lix-js/sdk/dist/lix/new-lix.d.ts.map +0 -1
  457. package/node_modules/@lix-js/sdk/dist/lix/new-lix.js +0 -26
  458. package/node_modules/@lix-js/sdk/dist/lix/new-lix.js.map +0 -1
  459. package/node_modules/@lix-js/sdk/dist/lix/new-lix.test.d.ts +0 -2
  460. package/node_modules/@lix-js/sdk/dist/lix/new-lix.test.d.ts.map +0 -1
  461. package/node_modules/@lix-js/sdk/dist/lix/new-lix.test.js +0 -21
  462. package/node_modules/@lix-js/sdk/dist/lix/new-lix.test.js.map +0 -1
  463. package/node_modules/@lix-js/sdk/dist/lix/open-lix-in-memory.d.ts +0 -12
  464. package/node_modules/@lix-js/sdk/dist/lix/open-lix-in-memory.d.ts.map +0 -1
  465. package/node_modules/@lix-js/sdk/dist/lix/open-lix-in-memory.js +0 -19
  466. package/node_modules/@lix-js/sdk/dist/lix/open-lix-in-memory.js.map +0 -1
  467. package/node_modules/@lix-js/sdk/dist/lix/open-lix-in-memory.test.d.ts +0 -2
  468. package/node_modules/@lix-js/sdk/dist/lix/open-lix-in-memory.test.d.ts.map +0 -1
  469. package/node_modules/@lix-js/sdk/dist/lix/open-lix-in-memory.test.js +0 -30
  470. package/node_modules/@lix-js/sdk/dist/lix/open-lix-in-memory.test.js.map +0 -1
  471. package/node_modules/@lix-js/sdk/dist/lix/open-lix.d.ts +0 -50
  472. package/node_modules/@lix-js/sdk/dist/lix/open-lix.d.ts.map +0 -1
  473. package/node_modules/@lix-js/sdk/dist/lix/open-lix.js +0 -33
  474. package/node_modules/@lix-js/sdk/dist/lix/open-lix.js.map +0 -1
  475. package/node_modules/@lix-js/sdk/dist/lix/open-lix.test.d.ts +0 -2
  476. package/node_modules/@lix-js/sdk/dist/lix/open-lix.test.d.ts.map +0 -1
  477. package/node_modules/@lix-js/sdk/dist/lix/open-lix.test.js +0 -38
  478. package/node_modules/@lix-js/sdk/dist/lix/open-lix.test.js.map +0 -1
  479. package/node_modules/@lix-js/sdk/dist/lix/to-blob.d.ts +0 -11
  480. package/node_modules/@lix-js/sdk/dist/lix/to-blob.d.ts.map +0 -1
  481. package/node_modules/@lix-js/sdk/dist/lix/to-blob.js +0 -11
  482. package/node_modules/@lix-js/sdk/dist/lix/to-blob.js.map +0 -1
  483. package/node_modules/@lix-js/sdk/dist/own-change-control/apply-own-change.d.ts +0 -10
  484. package/node_modules/@lix-js/sdk/dist/own-change-control/apply-own-change.d.ts.map +0 -1
  485. package/node_modules/@lix-js/sdk/dist/own-change-control/apply-own-change.js +0 -69
  486. package/node_modules/@lix-js/sdk/dist/own-change-control/apply-own-change.js.map +0 -1
  487. package/node_modules/@lix-js/sdk/dist/own-change-control/apply-own-change.test.d.ts +0 -2
  488. package/node_modules/@lix-js/sdk/dist/own-change-control/apply-own-change.test.d.ts.map +0 -1
  489. package/node_modules/@lix-js/sdk/dist/own-change-control/apply-own-change.test.js +0 -297
  490. package/node_modules/@lix-js/sdk/dist/own-change-control/apply-own-change.test.js.map +0 -1
  491. package/node_modules/@lix-js/sdk/dist/own-change-control/change-controlled-tables.d.ts +0 -60
  492. package/node_modules/@lix-js/sdk/dist/own-change-control/change-controlled-tables.d.ts.map +0 -1
  493. package/node_modules/@lix-js/sdk/dist/own-change-control/change-controlled-tables.js +0 -70
  494. package/node_modules/@lix-js/sdk/dist/own-change-control/change-controlled-tables.js.map +0 -1
  495. package/node_modules/@lix-js/sdk/dist/own-change-control/change-controlled-tables.test.d.ts +0 -2
  496. package/node_modules/@lix-js/sdk/dist/own-change-control/change-controlled-tables.test.d.ts.map +0 -1
  497. package/node_modules/@lix-js/sdk/dist/own-change-control/change-controlled-tables.test.js +0 -48
  498. package/node_modules/@lix-js/sdk/dist/own-change-control/change-controlled-tables.test.js.map +0 -1
  499. package/node_modules/@lix-js/sdk/dist/own-change-control/database-triggers.d.ts +0 -5
  500. package/node_modules/@lix-js/sdk/dist/own-change-control/database-triggers.d.ts.map +0 -1
  501. package/node_modules/@lix-js/sdk/dist/own-change-control/database-triggers.js +0 -135
  502. package/node_modules/@lix-js/sdk/dist/own-change-control/database-triggers.js.map +0 -1
  503. package/node_modules/@lix-js/sdk/dist/own-change-control/database-triggers.test.d.ts +0 -2
  504. package/node_modules/@lix-js/sdk/dist/own-change-control/database-triggers.test.d.ts.map +0 -1
  505. package/node_modules/@lix-js/sdk/dist/own-change-control/database-triggers.test.js +0 -214
  506. package/node_modules/@lix-js/sdk/dist/own-change-control/database-triggers.test.js.map +0 -1
  507. package/node_modules/@lix-js/sdk/dist/own-change-control/index.d.ts +0 -2
  508. package/node_modules/@lix-js/sdk/dist/own-change-control/index.d.ts.map +0 -1
  509. package/node_modules/@lix-js/sdk/dist/own-change-control/index.js +0 -2
  510. package/node_modules/@lix-js/sdk/dist/own-change-control/index.js.map +0 -1
  511. package/node_modules/@lix-js/sdk/dist/own-change-control/with-skip-own-change-control.d.ts +0 -3
  512. package/node_modules/@lix-js/sdk/dist/own-change-control/with-skip-own-change-control.d.ts.map +0 -1
  513. package/node_modules/@lix-js/sdk/dist/own-change-control/with-skip-own-change-control.js +0 -28
  514. package/node_modules/@lix-js/sdk/dist/own-change-control/with-skip-own-change-control.js.map +0 -1
  515. package/node_modules/@lix-js/sdk/dist/own-change-control/with-skip-own-change-control.test.d.ts +0 -2
  516. package/node_modules/@lix-js/sdk/dist/own-change-control/with-skip-own-change-control.test.d.ts.map +0 -1
  517. package/node_modules/@lix-js/sdk/dist/own-change-control/with-skip-own-change-control.test.js +0 -49
  518. package/node_modules/@lix-js/sdk/dist/own-change-control/with-skip-own-change-control.test.js.map +0 -1
  519. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/apply-own-entity-change.d.ts +0 -10
  520. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/apply-own-entity-change.d.ts.map +0 -1
  521. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/apply-own-entity-change.js +0 -69
  522. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/apply-own-entity-change.js.map +0 -1
  523. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/apply-own-entity-change.test.d.ts +0 -2
  524. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/apply-own-entity-change.test.d.ts.map +0 -1
  525. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/apply-own-entity-change.test.js +0 -297
  526. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/apply-own-entity-change.test.js.map +0 -1
  527. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/change-controlled-tables.d.ts +0 -61
  528. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/change-controlled-tables.d.ts.map +0 -1
  529. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/change-controlled-tables.js +0 -71
  530. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/change-controlled-tables.js.map +0 -1
  531. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/change-controlled-tables.test.d.ts +0 -2
  532. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/change-controlled-tables.test.d.ts.map +0 -1
  533. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/change-controlled-tables.test.js +0 -48
  534. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/change-controlled-tables.test.js.map +0 -1
  535. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/database-triggers.d.ts +0 -5
  536. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/database-triggers.d.ts.map +0 -1
  537. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/database-triggers.js +0 -135
  538. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/database-triggers.js.map +0 -1
  539. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/database-triggers.test.d.ts +0 -2
  540. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/database-triggers.test.d.ts.map +0 -1
  541. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/database-triggers.test.js +0 -214
  542. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/database-triggers.test.js.map +0 -1
  543. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/index.d.ts +0 -2
  544. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/index.d.ts.map +0 -1
  545. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/index.js +0 -2
  546. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/index.js.map +0 -1
  547. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/with-skip-own-change-control.d.ts +0 -3
  548. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/with-skip-own-change-control.d.ts.map +0 -1
  549. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/with-skip-own-change-control.js +0 -24
  550. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/with-skip-own-change-control.js.map +0 -1
  551. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/with-skip-own-change-control.test.d.ts +0 -2
  552. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/with-skip-own-change-control.test.d.ts.map +0 -1
  553. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/with-skip-own-change-control.test.js +0 -49
  554. package/node_modules/@lix-js/sdk/dist/own-entity-change-control/with-skip-own-change-control.test.js.map +0 -1
  555. package/node_modules/@lix-js/sdk/dist/plugin/index.d.ts +0 -2
  556. package/node_modules/@lix-js/sdk/dist/plugin/index.d.ts.map +0 -1
  557. package/node_modules/@lix-js/sdk/dist/plugin/index.js +0 -2
  558. package/node_modules/@lix-js/sdk/dist/plugin/index.js.map +0 -1
  559. package/node_modules/@lix-js/sdk/dist/plugin/lix-plugin.d.ts +0 -114
  560. package/node_modules/@lix-js/sdk/dist/plugin/lix-plugin.d.ts.map +0 -1
  561. package/node_modules/@lix-js/sdk/dist/plugin/lix-plugin.js +0 -2
  562. package/node_modules/@lix-js/sdk/dist/plugin/lix-plugin.js.map +0 -1
  563. package/node_modules/@lix-js/sdk/dist/plugin/lix-plugin.test-d.d.ts +0 -2
  564. package/node_modules/@lix-js/sdk/dist/plugin/lix-plugin.test-d.d.ts.map +0 -1
  565. package/node_modules/@lix-js/sdk/dist/plugin/lix-plugin.test-d.js +0 -40
  566. package/node_modules/@lix-js/sdk/dist/plugin/lix-plugin.test-d.js.map +0 -1
  567. package/node_modules/@lix-js/sdk/dist/plugin/load-plugin.d.ts +0 -5
  568. package/node_modules/@lix-js/sdk/dist/plugin/load-plugin.d.ts.map +0 -1
  569. package/node_modules/@lix-js/sdk/dist/plugin/load-plugin.js +0 -20
  570. package/node_modules/@lix-js/sdk/dist/plugin/load-plugin.js.map +0 -1
  571. package/node_modules/@lix-js/sdk/dist/plugin/with-transaction.d.ts +0 -11
  572. package/node_modules/@lix-js/sdk/dist/plugin/with-transaction.d.ts.map +0 -1
  573. package/node_modules/@lix-js/sdk/dist/plugin/with-transaction.js +0 -15
  574. package/node_modules/@lix-js/sdk/dist/plugin/with-transaction.js.map +0 -1
  575. package/node_modules/@lix-js/sdk/dist/query-filter/change-conflict-in-version.d.ts +0 -15
  576. package/node_modules/@lix-js/sdk/dist/query-filter/change-conflict-in-version.d.ts.map +0 -1
  577. package/node_modules/@lix-js/sdk/dist/query-filter/change-conflict-in-version.js +0 -18
  578. package/node_modules/@lix-js/sdk/dist/query-filter/change-conflict-in-version.js.map +0 -1
  579. package/node_modules/@lix-js/sdk/dist/query-filter/change-conflict-in-version.test.d.ts +0 -2
  580. package/node_modules/@lix-js/sdk/dist/query-filter/change-conflict-in-version.test.d.ts.map +0 -1
  581. package/node_modules/@lix-js/sdk/dist/query-filter/change-conflict-in-version.test.js +0 -55
  582. package/node_modules/@lix-js/sdk/dist/query-filter/change-conflict-in-version.test.js.map +0 -1
  583. package/node_modules/@lix-js/sdk/dist/query-filter/change-has-label.d.ts +0 -25
  584. package/node_modules/@lix-js/sdk/dist/query-filter/change-has-label.d.ts.map +0 -1
  585. package/node_modules/@lix-js/sdk/dist/query-filter/change-has-label.js +0 -30
  586. package/node_modules/@lix-js/sdk/dist/query-filter/change-has-label.js.map +0 -1
  587. package/node_modules/@lix-js/sdk/dist/query-filter/change-has-label.test.d.ts +0 -2
  588. package/node_modules/@lix-js/sdk/dist/query-filter/change-has-label.test.d.ts.map +0 -1
  589. package/node_modules/@lix-js/sdk/dist/query-filter/change-has-label.test.js +0 -46
  590. package/node_modules/@lix-js/sdk/dist/query-filter/change-has-label.test.js.map +0 -1
  591. package/node_modules/@lix-js/sdk/dist/query-filter/change-in-version.d.ts +0 -16
  592. package/node_modules/@lix-js/sdk/dist/query-filter/change-in-version.d.ts.map +0 -1
  593. package/node_modules/@lix-js/sdk/dist/query-filter/change-in-version.js +0 -29
  594. package/node_modules/@lix-js/sdk/dist/query-filter/change-in-version.js.map +0 -1
  595. package/node_modules/@lix-js/sdk/dist/query-filter/change-in-version.test.d.ts +0 -2
  596. package/node_modules/@lix-js/sdk/dist/query-filter/change-in-version.test.d.ts.map +0 -1
  597. package/node_modules/@lix-js/sdk/dist/query-filter/change-in-version.test.js +0 -75
  598. package/node_modules/@lix-js/sdk/dist/query-filter/change-in-version.test.js.map +0 -1
  599. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-in-version.d.ts +0 -16
  600. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-in-version.d.ts.map +0 -1
  601. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-in-version.js +0 -35
  602. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-in-version.js.map +0 -1
  603. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-in-version.test.d.ts +0 -2
  604. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-in-version.test.d.ts.map +0 -1
  605. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-in-version.test.js +0 -70
  606. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-in-version.test.js.map +0 -1
  607. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-of.bench.d.ts +0 -2
  608. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-of.bench.d.ts.map +0 -1
  609. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-of.bench.js +0 -132
  610. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-of.bench.js.map +0 -1
  611. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-of.d.ts +0 -29
  612. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-of.d.ts.map +0 -1
  613. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-of.js +0 -44
  614. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-of.js.map +0 -1
  615. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-of.test.d.ts +0 -2
  616. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-of.test.d.ts.map +0 -1
  617. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-of.test.js +0 -71
  618. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf-of.test.js.map +0 -1
  619. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf.d.ts +0 -18
  620. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf.d.ts.map +0 -1
  621. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf.js +0 -18
  622. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf.js.map +0 -1
  623. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf.test.d.ts +0 -2
  624. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf.test.d.ts.map +0 -1
  625. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf.test.js +0 -122
  626. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-leaf.test.js.map +0 -1
  627. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-lowest-common-ancestor-of.d.ts +0 -16
  628. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-lowest-common-ancestor-of.d.ts.map +0 -1
  629. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-lowest-common-ancestor-of.js +0 -55
  630. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-lowest-common-ancestor-of.js.map +0 -1
  631. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-lowest-common-ancestor-of.test.d.ts +0 -2
  632. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-lowest-common-ancestor-of.test.d.ts.map +0 -1
  633. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-lowest-common-ancestor-of.test.js +0 -155
  634. package/node_modules/@lix-js/sdk/dist/query-filter/change-is-lowest-common-ancestor-of.test.js.map +0 -1
  635. package/node_modules/@lix-js/sdk/dist/query-filter/change-set-has-label.d.ts +0 -25
  636. package/node_modules/@lix-js/sdk/dist/query-filter/change-set-has-label.d.ts.map +0 -1
  637. package/node_modules/@lix-js/sdk/dist/query-filter/change-set-has-label.js +0 -29
  638. package/node_modules/@lix-js/sdk/dist/query-filter/change-set-has-label.js.map +0 -1
  639. package/node_modules/@lix-js/sdk/dist/query-filter/change-set-has-label.test.d.ts +0 -2
  640. package/node_modules/@lix-js/sdk/dist/query-filter/change-set-has-label.test.d.ts.map +0 -1
  641. package/node_modules/@lix-js/sdk/dist/query-filter/change-set-has-label.test.js +0 -43
  642. package/node_modules/@lix-js/sdk/dist/query-filter/change-set-has-label.test.js.map +0 -1
  643. package/node_modules/@lix-js/sdk/dist/query-filter/index.d.ts +0 -9
  644. package/node_modules/@lix-js/sdk/dist/query-filter/index.d.ts.map +0 -1
  645. package/node_modules/@lix-js/sdk/dist/query-filter/index.js +0 -9
  646. package/node_modules/@lix-js/sdk/dist/query-filter/index.js.map +0 -1
  647. package/node_modules/@lix-js/sdk/dist/query-filter/version-change-in-difference.d.ts +0 -18
  648. package/node_modules/@lix-js/sdk/dist/query-filter/version-change-in-difference.d.ts.map +0 -1
  649. package/node_modules/@lix-js/sdk/dist/query-filter/version-change-in-difference.js +0 -25
  650. package/node_modules/@lix-js/sdk/dist/query-filter/version-change-in-difference.js.map +0 -1
  651. package/node_modules/@lix-js/sdk/dist/query-filter/version-change-in-difference.test.d.ts +0 -2
  652. package/node_modules/@lix-js/sdk/dist/query-filter/version-change-in-difference.test.d.ts.map +0 -1
  653. package/node_modules/@lix-js/sdk/dist/query-filter/version-change-in-difference.test.js +0 -85
  654. package/node_modules/@lix-js/sdk/dist/query-filter/version-change-in-difference.test.js.map +0 -1
  655. package/node_modules/@lix-js/sdk/dist/query-filter/version-change-in-symmetric-difference.d.ts +0 -19
  656. package/node_modules/@lix-js/sdk/dist/query-filter/version-change-in-symmetric-difference.d.ts.map +0 -1
  657. package/node_modules/@lix-js/sdk/dist/query-filter/version-change-in-symmetric-difference.js +0 -36
  658. package/node_modules/@lix-js/sdk/dist/query-filter/version-change-in-symmetric-difference.js.map +0 -1
  659. package/node_modules/@lix-js/sdk/dist/query-filter/version-change-in-symmetric-difference.test.d.ts +0 -2
  660. package/node_modules/@lix-js/sdk/dist/query-filter/version-change-in-symmetric-difference.test.d.ts.map +0 -1
  661. package/node_modules/@lix-js/sdk/dist/query-filter/version-change-in-symmetric-difference.test.js +0 -84
  662. package/node_modules/@lix-js/sdk/dist/query-filter/version-change-in-symmetric-difference.test.js.map +0 -1
  663. package/node_modules/@lix-js/sdk/dist/server-api-handler/create-server-api-handler.d.ts +0 -48
  664. package/node_modules/@lix-js/sdk/dist/server-api-handler/create-server-api-handler.d.ts.map +0 -1
  665. package/node_modules/@lix-js/sdk/dist/server-api-handler/create-server-api-handler.js +0 -68
  666. package/node_modules/@lix-js/sdk/dist/server-api-handler/create-server-api-handler.js.map +0 -1
  667. package/node_modules/@lix-js/sdk/dist/server-api-handler/environment/create-in-memory-environment.d.ts +0 -8
  668. package/node_modules/@lix-js/sdk/dist/server-api-handler/environment/create-in-memory-environment.d.ts.map +0 -1
  669. package/node_modules/@lix-js/sdk/dist/server-api-handler/environment/create-in-memory-environment.js +0 -97
  670. package/node_modules/@lix-js/sdk/dist/server-api-handler/environment/create-in-memory-environment.js.map +0 -1
  671. package/node_modules/@lix-js/sdk/dist/server-api-handler/environment/create-in-memory-environment.test.d.ts +0 -2
  672. package/node_modules/@lix-js/sdk/dist/server-api-handler/environment/create-in-memory-environment.test.d.ts.map +0 -1
  673. package/node_modules/@lix-js/sdk/dist/server-api-handler/environment/create-in-memory-environment.test.js +0 -103
  674. package/node_modules/@lix-js/sdk/dist/server-api-handler/environment/create-in-memory-environment.test.js.map +0 -1
  675. package/node_modules/@lix-js/sdk/dist/server-api-handler/environment/environment.d.ts +0 -53
  676. package/node_modules/@lix-js/sdk/dist/server-api-handler/environment/environment.d.ts.map +0 -1
  677. package/node_modules/@lix-js/sdk/dist/server-api-handler/environment/environment.js +0 -2
  678. package/node_modules/@lix-js/sdk/dist/server-api-handler/environment/environment.js.map +0 -1
  679. package/node_modules/@lix-js/sdk/dist/server-api-handler/index.d.ts +0 -3
  680. package/node_modules/@lix-js/sdk/dist/server-api-handler/index.d.ts.map +0 -1
  681. package/node_modules/@lix-js/sdk/dist/server-api-handler/index.js +0 -3
  682. package/node_modules/@lix-js/sdk/dist/server-api-handler/index.js.map +0 -1
  683. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/get-v1.d.ts +0 -3
  684. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/get-v1.d.ts.map +0 -1
  685. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/get-v1.js +0 -44
  686. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/get-v1.js.map +0 -1
  687. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/get-v1.test.d.ts +0 -2
  688. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/get-v1.test.d.ts.map +0 -1
  689. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/get-v1.test.js +0 -108
  690. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/get-v1.test.js.map +0 -1
  691. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/new-v1.d.ts +0 -3
  692. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/new-v1.d.ts.map +0 -1
  693. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/new-v1.js +0 -38
  694. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/new-v1.js.map +0 -1
  695. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/new-v1.test.d.ts +0 -2
  696. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/new-v1.test.d.ts.map +0 -1
  697. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/new-v1.test.js +0 -72
  698. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/new-v1.test.js.map +0 -1
  699. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/pull-v1.d.ts +0 -3
  700. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/pull-v1.d.ts.map +0 -1
  701. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/pull-v1.js +0 -41
  702. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/pull-v1.js.map +0 -1
  703. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/pull-v1.test.d.ts +0 -2
  704. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/pull-v1.test.d.ts.map +0 -1
  705. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/pull-v1.test.js +0 -146
  706. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/pull-v1.test.js.map +0 -1
  707. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/push-v1.d.ts +0 -3
  708. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/push-v1.d.ts.map +0 -1
  709. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/push-v1.js +0 -142
  710. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/push-v1.js.map +0 -1
  711. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/push-v1.test.d.ts +0 -2
  712. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/push-v1.test.d.ts.map +0 -1
  713. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/push-v1.test.js +0 -231
  714. package/node_modules/@lix-js/sdk/dist/server-api-handler/routes/push-v1.test.js.map +0 -1
  715. package/node_modules/@lix-js/sdk/dist/snapshot/create-snapshot.d.ts +0 -18
  716. package/node_modules/@lix-js/sdk/dist/snapshot/create-snapshot.d.ts.map +0 -1
  717. package/node_modules/@lix-js/sdk/dist/snapshot/create-snapshot.js +0 -33
  718. package/node_modules/@lix-js/sdk/dist/snapshot/create-snapshot.js.map +0 -1
  719. package/node_modules/@lix-js/sdk/dist/snapshot/create-snapshot.test.d.ts +0 -2
  720. package/node_modules/@lix-js/sdk/dist/snapshot/create-snapshot.test.d.ts.map +0 -1
  721. package/node_modules/@lix-js/sdk/dist/snapshot/create-snapshot.test.js +0 -54
  722. package/node_modules/@lix-js/sdk/dist/snapshot/create-snapshot.test.js.map +0 -1
  723. package/node_modules/@lix-js/sdk/dist/snapshot/index.d.ts +0 -3
  724. package/node_modules/@lix-js/sdk/dist/snapshot/index.d.ts.map +0 -1
  725. package/node_modules/@lix-js/sdk/dist/snapshot/index.js +0 -3
  726. package/node_modules/@lix-js/sdk/dist/snapshot/index.js.map +0 -1
  727. package/node_modules/@lix-js/sdk/dist/snapshot/json-sha-256.d.ts +0 -8
  728. package/node_modules/@lix-js/sdk/dist/snapshot/json-sha-256.d.ts.map +0 -1
  729. package/node_modules/@lix-js/sdk/dist/snapshot/json-sha-256.js +0 -29
  730. package/node_modules/@lix-js/sdk/dist/snapshot/json-sha-256.js.map +0 -1
  731. package/node_modules/@lix-js/sdk/dist/snapshot/json-sha-256.test.d.ts +0 -2
  732. package/node_modules/@lix-js/sdk/dist/snapshot/json-sha-256.test.d.ts.map +0 -1
  733. package/node_modules/@lix-js/sdk/dist/snapshot/json-sha-256.test.js +0 -10
  734. package/node_modules/@lix-js/sdk/dist/snapshot/json-sha-256.test.js.map +0 -1
  735. package/node_modules/@lix-js/sdk/dist/snapshot/mock-json-snapshot.d.ts +0 -8
  736. package/node_modules/@lix-js/sdk/dist/snapshot/mock-json-snapshot.d.ts.map +0 -1
  737. package/node_modules/@lix-js/sdk/dist/snapshot/mock-json-snapshot.js +0 -13
  738. package/node_modules/@lix-js/sdk/dist/snapshot/mock-json-snapshot.js.map +0 -1
  739. package/node_modules/@lix-js/sdk/dist/sync/get-diffing-rows.d.ts +0 -16
  740. package/node_modules/@lix-js/sdk/dist/sync/get-diffing-rows.d.ts.map +0 -1
  741. package/node_modules/@lix-js/sdk/dist/sync/get-diffing-rows.js +0 -62
  742. package/node_modules/@lix-js/sdk/dist/sync/get-diffing-rows.js.map +0 -1
  743. package/node_modules/@lix-js/sdk/dist/sync/merge-state.d.ts +0 -20
  744. package/node_modules/@lix-js/sdk/dist/sync/merge-state.d.ts.map +0 -1
  745. package/node_modules/@lix-js/sdk/dist/sync/merge-state.js +0 -237
  746. package/node_modules/@lix-js/sdk/dist/sync/merge-state.js.map +0 -1
  747. package/node_modules/@lix-js/sdk/dist/sync/pull-from-server.d.ts +0 -8
  748. package/node_modules/@lix-js/sdk/dist/sync/pull-from-server.d.ts.map +0 -1
  749. package/node_modules/@lix-js/sdk/dist/sync/pull-from-server.js +0 -113
  750. package/node_modules/@lix-js/sdk/dist/sync/pull-from-server.js.map +0 -1
  751. package/node_modules/@lix-js/sdk/dist/sync/pull-from-server.test.d.ts +0 -2
  752. package/node_modules/@lix-js/sdk/dist/sync/pull-from-server.test.d.ts.map +0 -1
  753. package/node_modules/@lix-js/sdk/dist/sync/pull-from-server.test.js +0 -340
  754. package/node_modules/@lix-js/sdk/dist/sync/pull-from-server.test.js.map +0 -1
  755. package/node_modules/@lix-js/sdk/dist/sync/push-to-server.d.ts +0 -12
  756. package/node_modules/@lix-js/sdk/dist/sync/push-to-server.d.ts.map +0 -1
  757. package/node_modules/@lix-js/sdk/dist/sync/push-to-server.js +0 -35
  758. package/node_modules/@lix-js/sdk/dist/sync/push-to-server.js.map +0 -1
  759. package/node_modules/@lix-js/sdk/dist/sync/push-to-server.test.d.ts +0 -2
  760. package/node_modules/@lix-js/sdk/dist/sync/push-to-server.test.d.ts.map +0 -1
  761. package/node_modules/@lix-js/sdk/dist/sync/push-to-server.test.js +0 -308
  762. package/node_modules/@lix-js/sdk/dist/sync/push-to-server.test.js.map +0 -1
  763. package/node_modules/@lix-js/sdk/dist/sync/sync-process.d.ts +0 -5
  764. package/node_modules/@lix-js/sdk/dist/sync/sync-process.d.ts.map +0 -1
  765. package/node_modules/@lix-js/sdk/dist/sync/sync-process.js +0 -74
  766. package/node_modules/@lix-js/sdk/dist/sync/sync-process.js.map +0 -1
  767. package/node_modules/@lix-js/sdk/dist/sync/sync-process.test.d.ts +0 -2
  768. package/node_modules/@lix-js/sdk/dist/sync/sync-process.test.d.ts.map +0 -1
  769. package/node_modules/@lix-js/sdk/dist/sync/sync-process.test.js +0 -243
  770. package/node_modules/@lix-js/sdk/dist/sync/sync-process.test.js.map +0 -1
  771. package/node_modules/@lix-js/sdk/dist/version/create-version.d.ts +0 -27
  772. package/node_modules/@lix-js/sdk/dist/version/create-version.d.ts.map +0 -1
  773. package/node_modules/@lix-js/sdk/dist/version/create-version.js +0 -74
  774. package/node_modules/@lix-js/sdk/dist/version/create-version.js.map +0 -1
  775. package/node_modules/@lix-js/sdk/dist/version/create-version.test.d.ts +0 -2
  776. package/node_modules/@lix-js/sdk/dist/version/create-version.test.d.ts.map +0 -1
  777. package/node_modules/@lix-js/sdk/dist/version/create-version.test.js +0 -126
  778. package/node_modules/@lix-js/sdk/dist/version/create-version.test.js.map +0 -1
  779. package/node_modules/@lix-js/sdk/dist/version/index.d.ts +0 -8
  780. package/node_modules/@lix-js/sdk/dist/version/index.d.ts.map +0 -1
  781. package/node_modules/@lix-js/sdk/dist/version/index.js +0 -8
  782. package/node_modules/@lix-js/sdk/dist/version/index.js.map +0 -1
  783. package/node_modules/@lix-js/sdk/dist/version/merge-version.d.ts +0 -8
  784. package/node_modules/@lix-js/sdk/dist/version/merge-version.d.ts.map +0 -1
  785. package/node_modules/@lix-js/sdk/dist/version/merge-version.js +0 -67
  786. package/node_modules/@lix-js/sdk/dist/version/merge-version.js.map +0 -1
  787. package/node_modules/@lix-js/sdk/dist/version/merge-version.test.d.ts +0 -2
  788. package/node_modules/@lix-js/sdk/dist/version/merge-version.test.d.ts.map +0 -1
  789. package/node_modules/@lix-js/sdk/dist/version/merge-version.test.js +0 -434
  790. package/node_modules/@lix-js/sdk/dist/version/merge-version.test.js.map +0 -1
  791. package/node_modules/@lix-js/sdk/dist/version/switch-version.d.ts +0 -27
  792. package/node_modules/@lix-js/sdk/dist/version/switch-version.d.ts.map +0 -1
  793. package/node_modules/@lix-js/sdk/dist/version/switch-version.js +0 -91
  794. package/node_modules/@lix-js/sdk/dist/version/switch-version.js.map +0 -1
  795. package/node_modules/@lix-js/sdk/dist/version/switch-version.test.d.ts +0 -2
  796. package/node_modules/@lix-js/sdk/dist/version/switch-version.test.d.ts.map +0 -1
  797. package/node_modules/@lix-js/sdk/dist/version/switch-version.test.js +0 -227
  798. package/node_modules/@lix-js/sdk/dist/version/switch-version.test.js.map +0 -1
  799. package/node_modules/@lix-js/sdk/dist/version/update-changes-in-version.d.ts +0 -13
  800. package/node_modules/@lix-js/sdk/dist/version/update-changes-in-version.d.ts.map +0 -1
  801. package/node_modules/@lix-js/sdk/dist/version/update-changes-in-version.js +0 -36
  802. package/node_modules/@lix-js/sdk/dist/version/update-changes-in-version.js.map +0 -1
  803. package/node_modules/@lix-js/sdk/dist/version/update-changes-in-version.test.d.ts +0 -2
  804. package/node_modules/@lix-js/sdk/dist/version/update-changes-in-version.test.d.ts.map +0 -1
  805. package/node_modules/@lix-js/sdk/dist/version/update-changes-in-version.test.js +0 -323
  806. package/node_modules/@lix-js/sdk/dist/version/update-changes-in-version.test.js.map +0 -1
  807. package/node_modules/@lix-js/sdk/package.json +0 -52
  808. package/node_modules/@lix-js/sdk/src/account/create-account.test.ts +0 -26
  809. package/node_modules/@lix-js/sdk/src/account/create-account.ts +0 -26
  810. package/node_modules/@lix-js/sdk/src/account/database-schema.test.ts +0 -187
  811. package/node_modules/@lix-js/sdk/src/account/database-schema.ts +0 -58
  812. package/node_modules/@lix-js/sdk/src/account/index.ts +0 -3
  813. package/node_modules/@lix-js/sdk/src/account/switch-account.test.ts +0 -63
  814. package/node_modules/@lix-js/sdk/src/account/switch-account.ts +0 -39
  815. package/node_modules/@lix-js/sdk/src/change/apply-changes.test.ts +0 -268
  816. package/node_modules/@lix-js/sdk/src/change/apply-changes.ts +0 -114
  817. package/node_modules/@lix-js/sdk/src/change/create-change.test.ts +0 -296
  818. package/node_modules/@lix-js/sdk/src/change/create-change.ts +0 -129
  819. package/node_modules/@lix-js/sdk/src/change/index.ts +0 -2
  820. package/node_modules/@lix-js/sdk/src/change/mock-change.ts +0 -21
  821. package/node_modules/@lix-js/sdk/src/change-conflict/create-change-conflict.test.ts +0 -173
  822. package/node_modules/@lix-js/sdk/src/change-conflict/create-change-conflict.ts +0 -105
  823. package/node_modules/@lix-js/sdk/src/change-conflict/detect-change-conflicts.test.ts +0 -215
  824. package/node_modules/@lix-js/sdk/src/change-conflict/detect-change-conflicts.ts +0 -65
  825. package/node_modules/@lix-js/sdk/src/change-conflict/detect-diverging-entity-conflict.test.ts +0 -228
  826. package/node_modules/@lix-js/sdk/src/change-conflict/detect-diverging-entity-conflict.ts +0 -82
  827. package/node_modules/@lix-js/sdk/src/change-conflict/garbage-collect-change-conflicts.test.ts +0 -219
  828. package/node_modules/@lix-js/sdk/src/change-conflict/garbage-collect-change-conflicts.ts +0 -96
  829. package/node_modules/@lix-js/sdk/src/change-conflict/index.ts +0 -3
  830. package/node_modules/@lix-js/sdk/src/change-conflict/resolve-conflict-by-selecting.test.ts +0 -118
  831. package/node_modules/@lix-js/sdk/src/change-conflict/resolve-conflict-by-selecting.ts +0 -66
  832. package/node_modules/@lix-js/sdk/src/change-conflict/update-change-conflicts.ts +0 -79
  833. package/node_modules/@lix-js/sdk/src/change-schema/README.md +0 -3
  834. package/node_modules/@lix-js/sdk/src/change-schema/index.ts +0 -4
  835. package/node_modules/@lix-js/sdk/src/change-schema/types.test-d.ts +0 -52
  836. package/node_modules/@lix-js/sdk/src/change-schema/types.ts +0 -53
  837. package/node_modules/@lix-js/sdk/src/change-set/change-set-element-in-symmetric-difference.test.ts +0 -128
  838. package/node_modules/@lix-js/sdk/src/change-set/change-set-element-in-symmetric-difference.ts +0 -52
  839. package/node_modules/@lix-js/sdk/src/change-set/create-change-set.test.ts +0 -43
  840. package/node_modules/@lix-js/sdk/src/change-set/create-change-set.ts +0 -41
  841. package/node_modules/@lix-js/sdk/src/change-set/index.ts +0 -2
  842. package/node_modules/@lix-js/sdk/src/database/apply-schema.ts +0 -270
  843. package/node_modules/@lix-js/sdk/src/database/execute-sync.test.ts +0 -152
  844. package/node_modules/@lix-js/sdk/src/database/execute-sync.ts +0 -47
  845. package/node_modules/@lix-js/sdk/src/database/index.ts +0 -4
  846. package/node_modules/@lix-js/sdk/src/database/init-db.test.ts +0 -628
  847. package/node_modules/@lix-js/sdk/src/database/init-db.ts +0 -111
  848. package/node_modules/@lix-js/sdk/src/database/kysely-plugin/parse-jsonb-plugin-v1.test.ts +0 -204
  849. package/node_modules/@lix-js/sdk/src/database/kysely-plugin/parse-jsonb-plugin-v1.ts +0 -55
  850. package/node_modules/@lix-js/sdk/src/database/kysely-plugin/parse-jsonb-plugin-v2.no_test.ts +0 -204
  851. package/node_modules/@lix-js/sdk/src/database/kysely-plugin/parse-jsonb-plugin-v2.ts +0 -194
  852. package/node_modules/@lix-js/sdk/src/database/kysely-plugin/serialize-jsonb-plugin.test.ts +0 -132
  853. package/node_modules/@lix-js/sdk/src/database/kysely-plugin/serialize-jsonb-plugin.ts +0 -122
  854. package/node_modules/@lix-js/sdk/src/database/mutation-log/database-schema.ts +0 -126
  855. package/node_modules/@lix-js/sdk/src/database/mutation-log/lix-session.ts +0 -19
  856. package/node_modules/@lix-js/sdk/src/database/nano-id.test.ts +0 -15
  857. package/node_modules/@lix-js/sdk/src/database/nano-id.ts +0 -72
  858. package/node_modules/@lix-js/sdk/src/database/schema.ts +0 -273
  859. package/node_modules/@lix-js/sdk/src/discussion/create-comment.ts +0 -18
  860. package/node_modules/@lix-js/sdk/src/discussion/create-discussion.test.ts +0 -45
  861. package/node_modules/@lix-js/sdk/src/discussion/create-discussion.ts +0 -48
  862. package/node_modules/@lix-js/sdk/src/discussion/index.ts +0 -2
  863. package/node_modules/@lix-js/sdk/src/file/index.ts +0 -1
  864. package/node_modules/@lix-js/sdk/src/file/validate-file-path.test.ts +0 -44
  865. package/node_modules/@lix-js/sdk/src/file/validate-file-path.ts +0 -60
  866. package/node_modules/@lix-js/sdk/src/file-queue/file-handlers.ts +0 -273
  867. package/node_modules/@lix-js/sdk/src/file-queue/file-queue-process.test.ts +0 -457
  868. package/node_modules/@lix-js/sdk/src/file-queue/file-queue-process.ts +0 -101
  869. package/node_modules/@lix-js/sdk/src/file-queue/file-queue-settled.test.ts +0 -56
  870. package/node_modules/@lix-js/sdk/src/file-queue/file-queue-settled.ts +0 -31
  871. package/node_modules/@lix-js/sdk/src/file-queue/index.ts +0 -1
  872. package/node_modules/@lix-js/sdk/src/file-queue/with-skip-file-queue.test.ts +0 -158
  873. package/node_modules/@lix-js/sdk/src/file-queue/with-skip-file-queue.ts +0 -33
  874. package/node_modules/@lix-js/sdk/src/index.ts +0 -16
  875. package/node_modules/@lix-js/sdk/src/key-value/database-schema.test.ts +0 -140
  876. package/node_modules/@lix-js/sdk/src/key-value/database-schema.ts +0 -66
  877. package/node_modules/@lix-js/sdk/src/lix/close-lix.ts +0 -8
  878. package/node_modules/@lix-js/sdk/src/lix/index.ts +0 -7
  879. package/node_modules/@lix-js/sdk/src/lix/merge.get-leaf-changes-only-in-source.test.ts +0 -143
  880. package/node_modules/@lix-js/sdk/src/lix/merge.get-leaf-changes-only-in-source.ts +0 -46
  881. package/node_modules/@lix-js/sdk/src/lix/merge.test.ts +0 -858
  882. package/node_modules/@lix-js/sdk/src/lix/merge.ts +0 -244
  883. package/node_modules/@lix-js/sdk/src/lix/new-lix.test.ts +0 -23
  884. package/node_modules/@lix-js/sdk/src/lix/new-lix.ts +0 -29
  885. package/node_modules/@lix-js/sdk/src/lix/open-lix-in-memory.test.ts +0 -34
  886. package/node_modules/@lix-js/sdk/src/lix/open-lix-in-memory.ts +0 -28
  887. package/node_modules/@lix-js/sdk/src/lix/open-lix.test.ts +0 -45
  888. package/node_modules/@lix-js/sdk/src/lix/open-lix.ts +0 -86
  889. package/node_modules/@lix-js/sdk/src/lix/to-blob.ts +0 -14
  890. package/node_modules/@lix-js/sdk/src/own-change-control/apply-own-change.test.ts +0 -361
  891. package/node_modules/@lix-js/sdk/src/own-change-control/apply-own-change.ts +0 -110
  892. package/node_modules/@lix-js/sdk/src/own-change-control/change-controlled-tables.test.ts +0 -69
  893. package/node_modules/@lix-js/sdk/src/own-change-control/change-controlled-tables.ts +0 -102
  894. package/node_modules/@lix-js/sdk/src/own-change-control/database-triggers.test.ts +0 -259
  895. package/node_modules/@lix-js/sdk/src/own-change-control/database-triggers.ts +0 -189
  896. package/node_modules/@lix-js/sdk/src/own-change-control/index.ts +0 -1
  897. package/node_modules/@lix-js/sdk/src/own-change-control/with-skip-own-change-control.test.ts +0 -57
  898. package/node_modules/@lix-js/sdk/src/own-change-control/with-skip-own-change-control.ts +0 -34
  899. package/node_modules/@lix-js/sdk/src/plugin/index.ts +0 -6
  900. package/node_modules/@lix-js/sdk/src/plugin/lix-plugin.test-d.ts +0 -45
  901. package/node_modules/@lix-js/sdk/src/plugin/lix-plugin.ts +0 -128
  902. package/node_modules/@lix-js/sdk/src/plugin/load-plugin.ts +0 -28
  903. package/node_modules/@lix-js/sdk/src/plugin/with-transaction.ts +0 -22
  904. package/node_modules/@lix-js/sdk/src/query-filter/change-conflict-in-version.test.ts +0 -62
  905. package/node_modules/@lix-js/sdk/src/query-filter/change-conflict-in-version.ts +0 -25
  906. package/node_modules/@lix-js/sdk/src/query-filter/change-has-label.test.ts +0 -52
  907. package/node_modules/@lix-js/sdk/src/query-filter/change-has-label.ts +0 -41
  908. package/node_modules/@lix-js/sdk/src/query-filter/change-in-version.test.ts +0 -82
  909. package/node_modules/@lix-js/sdk/src/query-filter/change-in-version.ts +0 -31
  910. package/node_modules/@lix-js/sdk/src/query-filter/change-is-leaf-in-version.test.ts +0 -77
  911. package/node_modules/@lix-js/sdk/src/query-filter/change-is-leaf-in-version.ts +0 -36
  912. package/node_modules/@lix-js/sdk/src/query-filter/change-is-leaf-of.bench.ts +0 -175
  913. package/node_modules/@lix-js/sdk/src/query-filter/change-is-leaf-of.test.ts +0 -84
  914. package/node_modules/@lix-js/sdk/src/query-filter/change-is-leaf-of.ts +0 -46
  915. package/node_modules/@lix-js/sdk/src/query-filter/change-is-leaf.test.ts +0 -140
  916. package/node_modules/@lix-js/sdk/src/query-filter/change-is-leaf.ts +0 -25
  917. package/node_modules/@lix-js/sdk/src/query-filter/change-is-lowest-common-ancestor-of.test.ts +0 -173
  918. package/node_modules/@lix-js/sdk/src/query-filter/change-is-lowest-common-ancestor-of.ts +0 -57
  919. package/node_modules/@lix-js/sdk/src/query-filter/change-set-has-label.test.ts +0 -50
  920. package/node_modules/@lix-js/sdk/src/query-filter/change-set-has-label.ts +0 -36
  921. package/node_modules/@lix-js/sdk/src/query-filter/index.ts +0 -8
  922. package/node_modules/@lix-js/sdk/src/query-filter/version-change-in-difference.test.ts +0 -105
  923. package/node_modules/@lix-js/sdk/src/query-filter/version-change-in-difference.ts +0 -37
  924. package/node_modules/@lix-js/sdk/src/query-filter/version-change-in-symmetric-difference.test.ts +0 -104
  925. package/node_modules/@lix-js/sdk/src/query-filter/version-change-in-symmetric-difference.ts +0 -52
  926. package/node_modules/@lix-js/sdk/src/server-api-handler/create-server-api-handler.ts +0 -84
  927. package/node_modules/@lix-js/sdk/src/server-api-handler/environment/create-in-memory-environment.test.ts +0 -131
  928. package/node_modules/@lix-js/sdk/src/server-api-handler/environment/create-in-memory-environment.ts +0 -115
  929. package/node_modules/@lix-js/sdk/src/server-api-handler/environment/environment.ts +0 -43
  930. package/node_modules/@lix-js/sdk/src/server-api-handler/index.ts +0 -5
  931. package/node_modules/@lix-js/sdk/src/server-api-handler/routes/get-v1.test.ts +0 -147
  932. package/node_modules/@lix-js/sdk/src/server-api-handler/routes/get-v1.ts +0 -61
  933. package/node_modules/@lix-js/sdk/src/server-api-handler/routes/new-v1.test.ts +0 -103
  934. package/node_modules/@lix-js/sdk/src/server-api-handler/routes/new-v1.ts +0 -46
  935. package/node_modules/@lix-js/sdk/src/server-api-handler/routes/pull-v1.test.ts +0 -201
  936. package/node_modules/@lix-js/sdk/src/server-api-handler/routes/pull-v1.ts +0 -57
  937. package/node_modules/@lix-js/sdk/src/server-api-handler/routes/push-v1.test.ts +0 -302
  938. package/node_modules/@lix-js/sdk/src/server-api-handler/routes/push-v1.ts +0 -180
  939. package/node_modules/@lix-js/sdk/src/snapshot/create-snapshot.test.ts +0 -68
  940. package/node_modules/@lix-js/sdk/src/snapshot/create-snapshot.ts +0 -40
  941. package/node_modules/@lix-js/sdk/src/snapshot/index.ts +0 -2
  942. package/node_modules/@lix-js/sdk/src/snapshot/json-sha-256.test.ts +0 -12
  943. package/node_modules/@lix-js/sdk/src/snapshot/json-sha-256.ts +0 -35
  944. package/node_modules/@lix-js/sdk/src/snapshot/mock-json-snapshot.ts +0 -14
  945. package/node_modules/@lix-js/sdk/src/sync/get-diffing-rows.ts +0 -96
  946. package/node_modules/@lix-js/sdk/src/sync/merge-state.ts +0 -310
  947. package/node_modules/@lix-js/sdk/src/sync/pull-from-server.test.ts +0 -425
  948. package/node_modules/@lix-js/sdk/src/sync/pull-from-server.ts +0 -144
  949. package/node_modules/@lix-js/sdk/src/sync/push-to-server.test.ts +0 -391
  950. package/node_modules/@lix-js/sdk/src/sync/push-to-server.ts +0 -47
  951. package/node_modules/@lix-js/sdk/src/sync/sync-process.test.ts +0 -321
  952. package/node_modules/@lix-js/sdk/src/sync/sync-process.ts +0 -85
  953. package/node_modules/@lix-js/sdk/src/version/create-version.test.ts +0 -149
  954. package/node_modules/@lix-js/sdk/src/version/create-version.ts +0 -88
  955. package/node_modules/@lix-js/sdk/src/version/index.ts +0 -8
  956. package/node_modules/@lix-js/sdk/src/version/merge-version.test.ts +0 -530
  957. package/node_modules/@lix-js/sdk/src/version/merge-version.ts +0 -88
  958. package/node_modules/@lix-js/sdk/src/version/switch-version.test.ts +0 -292
  959. package/node_modules/@lix-js/sdk/src/version/switch-version.ts +0 -110
  960. package/node_modules/@lix-js/sdk/src/version/update-changes-in-version.test.ts +0 -371
  961. package/node_modules/@lix-js/sdk/src/version/update-changes-in-version.ts +0 -47
  962. package/node_modules/sqlite-wasm-kysely/LICENSE +0 -21
  963. package/node_modules/sqlite-wasm-kysely/README.md +0 -11
  964. package/node_modules/sqlite-wasm-kysely/dist/dialect.d.ts +0 -11
  965. package/node_modules/sqlite-wasm-kysely/dist/dialect.js +0 -13
  966. package/node_modules/sqlite-wasm-kysely/dist/dialect.js.map +0 -1
  967. package/node_modules/sqlite-wasm-kysely/dist/index.d.ts +0 -2
  968. package/node_modules/sqlite-wasm-kysely/dist/index.js +0 -3
  969. package/node_modules/sqlite-wasm-kysely/dist/index.js.map +0 -1
  970. package/node_modules/sqlite-wasm-kysely/dist/kysely/ConnectionMutex.d.ts +0 -5
  971. package/node_modules/sqlite-wasm-kysely/dist/kysely/ConnectionMutex.js +0 -34
  972. package/node_modules/sqlite-wasm-kysely/dist/kysely/ConnectionMutex.js.map +0 -1
  973. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmConnection.d.ts +0 -8
  974. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmConnection.js +0 -57
  975. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmConnection.js.map +0 -1
  976. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmDialectConfig.d.ts +0 -18
  977. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmDialectConfig.js +0 -2
  978. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmDialectConfig.js.map +0 -1
  979. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmDriver.d.ts +0 -13
  980. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmDriver.js +0 -57
  981. package/node_modules/sqlite-wasm-kysely/dist/kysely/SqliteWasmDriver.js.map +0 -1
  982. package/node_modules/sqlite-wasm-kysely/dist/kysely/index.d.ts +0 -4
  983. package/node_modules/sqlite-wasm-kysely/dist/kysely/index.js +0 -4
  984. package/node_modules/sqlite-wasm-kysely/dist/kysely/index.js.map +0 -1
  985. package/node_modules/sqlite-wasm-kysely/dist/kysely/sqliteModule.d.ts +0 -3
  986. package/node_modules/sqlite-wasm-kysely/dist/kysely/sqliteModule.js +0 -5
  987. package/node_modules/sqlite-wasm-kysely/dist/kysely/sqliteModule.js.map +0 -1
  988. package/node_modules/sqlite-wasm-kysely/dist/util/contentFromDatabase.d.ts +0 -9
  989. package/node_modules/sqlite-wasm-kysely/dist/util/contentFromDatabase.js +0 -12
  990. package/node_modules/sqlite-wasm-kysely/dist/util/contentFromDatabase.js.map +0 -1
  991. package/node_modules/sqlite-wasm-kysely/dist/util/createInMemoryDatabase.d.ts +0 -3
  992. package/node_modules/sqlite-wasm-kysely/dist/util/createInMemoryDatabase.js +0 -22
  993. package/node_modules/sqlite-wasm-kysely/dist/util/createInMemoryDatabase.js.map +0 -1
  994. package/node_modules/sqlite-wasm-kysely/dist/util/importDatabase.d.ts +0 -7
  995. package/node_modules/sqlite-wasm-kysely/dist/util/importDatabase.js +0 -15
  996. package/node_modules/sqlite-wasm-kysely/dist/util/importDatabase.js.map +0 -1
  997. package/node_modules/sqlite-wasm-kysely/dist/util/index.d.ts +0 -5
  998. package/node_modules/sqlite-wasm-kysely/dist/util/index.js +0 -5
  999. package/node_modules/sqlite-wasm-kysely/dist/util/index.js.map +0 -1
  1000. package/node_modules/sqlite-wasm-kysely/dist/util/loadDatabaseInMemory.d.ts +0 -1
  1001. package/node_modules/sqlite-wasm-kysely/dist/util/loadDatabaseInMemory.js +0 -13
  1002. package/node_modules/sqlite-wasm-kysely/dist/util/loadDatabaseInMemory.js.map +0 -1
  1003. package/node_modules/sqlite-wasm-kysely/dist/util/sqliteWasmBinary.d.ts +0 -7
  1004. package/node_modules/sqlite-wasm-kysely/dist/util/sqliteWasmBinary.js +0 -17
  1005. package/node_modules/sqlite-wasm-kysely/dist/util/sqliteWasmBinary.js.map +0 -1
  1006. package/node_modules/sqlite-wasm-kysely/package.json +0 -34
  1007. package/node_modules/sqlite-wasm-kysely/src/dialect.ts +0 -15
  1008. package/node_modules/sqlite-wasm-kysely/src/index.ts +0 -2
  1009. package/node_modules/sqlite-wasm-kysely/src/kysely/ConnectionMutex.ts +0 -23
  1010. package/node_modules/sqlite-wasm-kysely/src/kysely/SqliteWasmConnection.ts +0 -57
  1011. package/node_modules/sqlite-wasm-kysely/src/kysely/SqliteWasmDialectConfig.ts +0 -19
  1012. package/node_modules/sqlite-wasm-kysely/src/kysely/SqliteWasmDriver.ts +0 -58
  1013. package/node_modules/sqlite-wasm-kysely/src/kysely/index.ts +0 -4
  1014. package/node_modules/sqlite-wasm-kysely/src/kysely/sqliteModule.ts +0 -7
  1015. package/node_modules/sqlite-wasm-kysely/src/util/contentFromDatabase.ts +0 -13
  1016. package/node_modules/sqlite-wasm-kysely/src/util/createInMemoryDatabase.ts +0 -30
  1017. package/node_modules/sqlite-wasm-kysely/src/util/importDatabase.ts +0 -34
  1018. package/node_modules/sqlite-wasm-kysely/src/util/index.ts +0 -5
  1019. package/node_modules/sqlite-wasm-kysely/src/util/loadDatabaseInMemory.ts +0 -13
  1020. package/node_modules/sqlite-wasm-kysely/src/util/sqliteWasmBinary.ts +0 -20
  1021. package/src/project/state/README.md +0 -22
  1022. package/src/project/state/id$.test.ts +0 -40
  1023. package/src/project/state/id$.ts +0 -21
  1024. package/src/project/state/setSettings.test.ts +0 -73
  1025. package/src/project/state/setSettings.ts +0 -19
  1026. package/src/project/state/settings$.test.ts +0 -63
  1027. package/src/project/state/settings$.ts +0 -26
  1028. package/src/project/state/state.test.ts +0 -128
  1029. package/src/project/state/state.ts +0 -94
  1030. package/src/query-utilities/pollQuery.test.ts +0 -88
  1031. package/src/query-utilities/pollQuery.ts +0 -26
@@ -1 +1 @@
1
- {"version":3,"file":"loadProjectFromDirectory.test.js","sources":["project/loadProjectFromDirectory.test.ts"],"sourceRoot":"/","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { beforeEach, describe, expect, test, vi } from \"vitest\";\nimport { ProjectSettings } from \"../json-schema/settings.js\";\nimport { fs, vol, Volume } from \"memfs\";\nimport {\n\tloadProjectFromDirectory,\n\tResourceFileImportError,\n\tWarningDeprecatedLintRule,\n\tWarningLocalPluginImport,\n} from \"./loadProjectFromDirectory.js\";\nimport { selectBundleNested } from \"../query-utilities/selectBundleNested.js\";\nimport { Text } from \"../json-schema/pattern.js\";\nimport type { InlangPlugin } from \"../plugin/schema.js\";\nimport type {\n\tMessageV1,\n\tVariantV1,\n} from \"../json-schema/old-v1-message/schemaV1.js\";\nimport { saveProjectToDirectory } from \"./saveProjectToDirectory.js\";\nimport { insertBundleNested } from \"../query-utilities/insertBundleNested.js\";\n\ntest(\"plugin.loadMessages and plugin.saveMessages must not be configured together with import export\", async () => {\n\tconst mockLegacyPlugin: InlangPlugin = {\n\t\tkey: \"mock-legacy-plugin\",\n\t\tloadMessages: async () => {\n\t\t\treturn [];\n\t\t},\n\t\tsaveMessages: async () => {},\n\t};\n\n\tconst mockLegacyPlugin2: InlangPlugin = {\n\t\tkey: \"mock-legacy-plugin-2\",\n\t\tloadMessages: async () => {\n\t\t\treturn [];\n\t\t},\n\t\tsaveMessages: async () => {},\n\t};\n\n\tconst mockImportExportPlugin: InlangPlugin = {\n\t\tkey: \"mock-import-export-plugin\",\n\t\texportFiles: () => {\n\t\t\treturn [];\n\t\t},\n\t\timportFiles: () => {\n\t\t\treturn {} as any;\n\t\t},\n\t};\n\n\tawait expect(\n\t\t(async () => {\n\t\t\tawait loadProjectFromDirectory({\n\t\t\t\tfs: Volume.fromJSON({\n\t\t\t\t\t\"./project.inlang/settings.json\": JSON.stringify({\n\t\t\t\t\t\tbaseLocale: \"en\",\n\t\t\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\t\t\tmodules: [],\n\t\t\t\t\t} satisfies ProjectSettings),\n\t\t\t\t}) as any,\n\t\t\t\tpath: \"./project.inlang\",\n\t\t\t\tprovidePlugins: [\n\t\t\t\t\tmockLegacyPlugin,\n\t\t\t\t\tmockLegacyPlugin2,\n\t\t\t\t\tmockImportExportPlugin,\n\t\t\t\t],\n\t\t\t});\n\t\t})()\n\t).rejects.toThrowError();\n\n\tawait expect(\n\t\t(async () => {\n\t\t\tawait loadProjectFromDirectory({\n\t\t\t\tfs: Volume.fromJSON({\n\t\t\t\t\t\"./project.inlang/settings.json\": JSON.stringify({\n\t\t\t\t\t\tbaseLocale: \"en\",\n\t\t\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\t\t\tmodules: [],\n\t\t\t\t\t} satisfies ProjectSettings),\n\t\t\t\t}) as any,\n\t\t\t\tpath: \"./project.inlang\",\n\t\t\t\tprovidePlugins: [\n\t\t\t\t\tmockLegacyPlugin,\n\t\t\t\t\tmockLegacyPlugin2,\n\t\t\t\t\tmockImportExportPlugin,\n\t\t\t\t],\n\t\t\t});\n\t\t})()\n\t).rejects.toThrowError();\n});\n\ntest(\"plugin.loadMessages and plugin.saveMessages should work for legacy purposes\", async () => {\n\tconst mockLegacyPlugin: InlangPlugin = {\n\t\tid: \"mock-legacy-plugin\",\n\t\t// @ts-expect-error - id is deprecated, key can be undefined\n\t\tkey: undefined,\n\t\tloadMessages: async ({ nodeishFs, settings }) => {\n\t\t\tconst pathPattern = settings[\"plugin.mock-plugin\"]?.pathPattern as string;\n\n\t\t\tconst messages: MessageV1[] = [];\n\n\t\t\t// @ts-expect-error - language tag is always given by the sdk v2\n\t\t\tfor (const languageTag of settings.languageTags) {\n\t\t\t\tconst data = await nodeishFs.readFile(\n\t\t\t\t\tpathPattern.replace(\"{languageTag}\", languageTag)\n\t\t\t\t);\n\n\t\t\t\tfor (const [key, value] of Object.entries(\n\t\t\t\t\tJSON.parse(data.toString())\n\t\t\t\t)) {\n\t\t\t\t\tconst exisitngMessage = messages.find(\n\t\t\t\t\t\t(message) => message.id === key\n\t\t\t\t\t);\n\t\t\t\t\tconst variant = {\n\t\t\t\t\t\tlanguageTag: languageTag,\n\t\t\t\t\t\tmatch: [],\n\t\t\t\t\t\tpattern: [{ type: \"Text\", value: value }],\n\t\t\t\t\t} as VariantV1;\n\t\t\t\t\tif (exisitngMessage !== undefined) {\n\t\t\t\t\t\texisitngMessage.variants.push(variant);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmessages.push({\n\t\t\t\t\t\t\talias: {},\n\t\t\t\t\t\t\tid: key,\n\t\t\t\t\t\t\tselectors: [],\n\t\t\t\t\t\t\tvariants: [variant],\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn messages;\n\t\t},\n\t\tsaveMessages: async ({ messages, nodeishFs, settings }) => {\n\t\t\tconst pathPattern = settings[\"plugin.mock-plugin\"]?.pathPattern as string;\n\t\t\tfor (const languageTag of settings.languageTags!) {\n\t\t\t\tconst messagesInLanguage = {} as Record<string, string>;\n\t\t\t\tfor (const message of messages) {\n\t\t\t\t\tconst variantsInLanguage = message.variants.filter(\n\t\t\t\t\t\t(variant) => variant.languageTag === languageTag\n\t\t\t\t\t);\n\t\t\t\t\tif (variantsInLanguage.length > 1) {\n\t\t\t\t\t\t// data will get lost during export => throw?\n\t\t\t\t\t} else if (variantsInLanguage.length === 1) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tvariantsInLanguage[0]!.pattern.length != 1 ||\n\t\t\t\t\t\t\tvariantsInLanguage[0]!.pattern[0]?.type !== \"Text\"\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// throw?\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmessagesInLanguage[message.id] = (\n\t\t\t\t\t\t\tvariantsInLanguage[0]!.pattern[0]! as any\n\t\t\t\t\t\t).value;\n\t\t\t\t\t}\n\t\t\t\t\t// else no-op\n\t\t\t\t}\n\t\t\t\tawait nodeishFs.writeFile(\n\t\t\t\t\tpathPattern.replace(\"{languageTag}\", languageTag),\n\t\t\t\t\tJSON.stringify(messagesInLanguage, null, 2)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t};\n\tconst mockRepo = {\n\t\t\"./README.md\": \"# Hello World\",\n\t\t\"./src/index.js\": \"console.log('Hello World')\",\n\t\t\"./src/translations/en.json\": JSON.stringify({\n\t\t\tkey1: \"value1\",\n\t\t\tkey2: \"value2\",\n\t\t}),\n\t\t\"./src/translations/de.json\": JSON.stringify({\n\t\t\tkey1: \"wert1\",\n\t\t\tkey2: \"wert2\",\n\t\t}),\n\t\t\"./project.inlang/settings.json\": JSON.stringify({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\", \"de\"],\n\t\t\tmodules: [\"./mock-module.js\"],\n\t\t\t\"plugin.mock-plugin\": {\n\t\t\t\tpathPattern: \"./src/translations/{languageTag}.json\",\n\t\t\t},\n\t\t} satisfies ProjectSettings),\n\t};\n\n\tconst fs = Volume.fromJSON(mockRepo);\n\n\tlet project = await loadProjectFromDirectory({\n\t\tfs: fs as any,\n\t\tpath: \"./project.inlang\",\n\t\tprovidePlugins: [mockLegacyPlugin],\n\t});\n\n\tawait insertBundleNested(project.db, {\n\t\tid: \"key-id\",\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tid: \"mock-message\",\n\t\t\t\tbundleId: \"mock-bundle\",\n\t\t\t\tlocale: \"en\",\n\t\t\t\tselectors: [],\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tmessageId: \"mock-message\",\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\tvalue: \"JOJO\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\tawait saveProjectToDirectory({\n\t\tfs: fs.promises as any,\n\t\tpath: \"./project.inlang\",\n\t\tproject,\n\t});\n\n\tproject = await loadProjectFromDirectory({\n\t\tfs: fs as any,\n\t\tpath: \"./project.inlang\",\n\t\tprovidePlugins: [mockLegacyPlugin],\n\t});\n\n\tconst bundles = await selectBundleNested(project.db).execute();\n\n\tconst bundlesOrdered = bundles.sort((a, b) => a.id.localeCompare(b.id));\n\n\texpect(bundles.length).toBe(3);\n\texpect(bundlesOrdered[0]?.messages[0]?.locale).toBe(\"en\");\n\texpect(\n\t\t(bundlesOrdered[0]?.messages[0]?.variants[0]?.pattern[0] as Text)?.value\n\t).toBe(\"JOJO\");\n\n\t// TODO fix\n\t// expect(bundlesOrdered[0]?.messages[9]?.locale).toBe(\"en\");\n\t// expect(\n\t// \t(bundlesOrdered[0]?.messages[1]?.variants[0]?.pattern[0] as Text)?.value\n\t// ).toBe(\"wert1\");\n\n\t// expect(bundlesOrdered[1]?.messages[0]?.locale).toBe(\"en\");\n\t// expect(\n\t// \t(bundlesOrdered[1]?.messages[0]?.variants[0]?.pattern[0] as Text)?.value\n\t// ).toBe(\"value2\");\n\n\t// expect(bundlesOrdered[1]?.messages[1]?.locale).toBe(\"de\");\n\t// expect(\n\t// \t(bundlesOrdered[1]?.messages[1]?.variants[0]?.pattern[0] as Text)?.value\n\t// ).toBe(\"wert2\");\n});\n\nconst mockSettings = {\n\tbaseLocale: \"en\",\n\tlocales: [\"en\", \"de\"],\n\tmodules: [],\n} satisfies ProjectSettings;\n\nconst mockDirectory = {\n\t\"/project.inlang/cache/plugin/29j49j2\": \"cache value\",\n\t\"/project.inlang/.gitignore\": \"git value\",\n\t\"/project.inlang/prettierrc.json\": \"prettier value\",\n\t\"/project.inlang/README.md\": \"readme value\",\n\t\"/project.inlang/settings.json\": JSON.stringify(mockSettings),\n};\n\ndescribe(\"it should keep files between the inlang directory and lix in sync\", async () => {\n\ttest(\"files from directory should be available via lix after project has been loaded from directory\", async () => {\n\t\tconst syncInterval = 100;\n\t\tconst fs = Volume.fromJSON(mockDirectory);\n\n\t\tconst project = await loadProjectFromDirectory({\n\t\t\tfs: fs as any,\n\t\t\tpath: \"/project.inlang\",\n\t\t\tsyncInterval: syncInterval,\n\t\t});\n\n\t\tconst files = await project.lix.db.selectFrom(\"file\").selectAll().execute();\n\n\t\texpect(files.length).toBe(\n\t\t\t5 + 1 /* the db.sqlite file */ + 1 /* project_id */\n\t\t);\n\n\t\tconst filesByPath = files.reduce((acc, file) => {\n\t\t\tacc[file.path] = new TextDecoder().decode(file.data);\n\t\t\treturn acc;\n\t\t}, {} as any);\n\n\t\texpect(filesByPath[\"/cache/plugin/29j49j2\"]).toBe(\"cache value\");\n\t\texpect(filesByPath[\"/.gitignore\"]).toBe(\"git value\");\n\t\texpect(filesByPath[\"/prettierrc.json\"]).toBe(\"prettier value\");\n\t\texpect(filesByPath[\"/README.md\"]).toBe(\"readme value\");\n\t\texpect(filesByPath[\"/settings.json\"]).toBe(JSON.stringify(mockSettings));\n\t});\n\n\ttest(\"file created in fs should be avaialable in lix \", async () => {\n\t\tconst syncInterval = 100;\n\t\tconst fs = Volume.fromJSON(mockDirectory);\n\n\t\tconst project = await loadProjectFromDirectory({\n\t\t\tfs: fs as any,\n\t\t\tpath: \"/project.inlang\",\n\t\t\tsyncInterval: syncInterval,\n\t\t});\n\n\t\tfs.writeFileSync(\n\t\t\t\"/project.inlang/file-created-on-fs.txt\",\n\t\t\t\"value written by fs\",\n\t\t\t{\n\t\t\t\tencoding: \"utf-8\",\n\t\t\t}\n\t\t);\n\n\t\t// lets wait a seconds to allow the sync process catch up\n\t\tawait new Promise((resolve) => setTimeout(resolve, syncInterval + 10));\n\n\t\tconst randomFileInLix = await project.lix.db\n\t\t\t.selectFrom(\"file\")\n\t\t\t.selectAll()\n\t\t\t.where(\"path\", \"=\", \"/file-created-on-fs.txt\")\n\t\t\t.executeTakeFirstOrThrow();\n\n\t\texpect(new TextDecoder().decode(randomFileInLix.data)).toBe(\n\t\t\t\"value written by fs\"\n\t\t);\n\t});\n\n\ttest(\"file updated in fs should be avaialable in lix \", async () => {\n\t\tconst syncInterval = 100;\n\t\tconst fs = Volume.fromJSON(mockDirectory);\n\n\t\tconst project = await loadProjectFromDirectory({\n\t\t\tfs: fs as any,\n\t\t\tpath: \"/project.inlang\",\n\t\t\tsyncInterval: syncInterval,\n\t\t});\n\n\t\t// \"changes to a file on disk should reflect in lix\n\t\tfs.writeFileSync(\n\t\t\t\"/project.inlang/settings.json\",\n\t\t\tJSON.stringify({\n\t\t\t\t...mockSettings,\n\t\t\t\tbaseLocale: \"brand-new-locale-written-to-fs-file\",\n\t\t\t})\n\t\t);\n\n\t\t// console.log(\"wrting fs settings\");\n\t\tawait new Promise((resolve) => setTimeout(resolve, syncInterval + 10));\n\t\tconst fileInLix = await project.lix.db\n\t\t\t.selectFrom(\"file\")\n\t\t\t.selectAll()\n\t\t\t.where(\"path\", \"=\", \"/settings.json\")\n\t\t\t.executeTakeFirstOrThrow();\n\n\t\tconst settingsAfterUpdateOnDisk = JSON.parse(\n\t\t\tnew TextDecoder().decode(fileInLix.data)\n\t\t);\n\n\t\texpect(settingsAfterUpdateOnDisk.baseLocale).toBe(\n\t\t\t\"brand-new-locale-written-to-fs-file\"\n\t\t);\n\t});\n\n\ttest(\"file deleted in fs should be droped from lix \", async () => {\n\t\tconst syncInterval = 100;\n\t\tconst fs = Volume.fromJSON(mockDirectory);\n\n\t\tconst project = await loadProjectFromDirectory({\n\t\t\tfs: fs as any,\n\t\t\tpath: \"/project.inlang\",\n\t\t\tsyncInterval: syncInterval,\n\t\t});\n\n\t\tconst filesInLixBefore = await project.lix.db\n\t\t\t.selectFrom(\"file\")\n\t\t\t.selectAll()\n\t\t\t.where(\"path\", \"=\", \"/README.md\")\n\t\t\t.execute();\n\n\t\texpect(filesInLixBefore.length).toBe(1);\n\n\t\t// \"changes to a file on disk should reflect in lix\n\t\tfs.unlinkSync(\"/project.inlang/README.md\");\n\n\t\t// console.log(\"wrting fs settings\");\n\t\tawait new Promise((resolve) => setTimeout(resolve, syncInterval + 10));\n\t\tconst fileInLixAfter = await project.lix.db\n\t\t\t.selectFrom(\"file\")\n\t\t\t.selectAll()\n\t\t\t.where(\"path\", \"=\", \"/README.md\")\n\t\t\t.execute();\n\n\t\texpect(fileInLixAfter.length).toBe(0);\n\t});\n\n\ttest(\"file created in lix should be avaialable in fs \", async () => {\n\t\tconst syncInterval = 100;\n\t\tconst fs = Volume.fromJSON(mockDirectory);\n\n\t\tconst project = await loadProjectFromDirectory({\n\t\t\tfs: fs as any,\n\t\t\tpath: \"/project.inlang\",\n\t\t\tsyncInterval: syncInterval,\n\t\t});\n\n\t\tawait project.lix.db\n\t\t\t.insertInto(\"file\")\n\t\t\t.values({\n\t\t\t\tpath: \"/file-created-in.lix.txt\",\n\t\t\t\tdata: new TextEncoder().encode(\"random value lix\"),\n\t\t\t})\n\t\t\t.execute();\n\n\t\t// lets wait a seconds to allow the sync process catch up\n\t\tawait new Promise((resolve) => setTimeout(resolve, syncInterval + 10));\n\n\t\tconst randomFileOnDiskContent = fs\n\t\t\t.readFileSync(\"/project.inlang/file-created-in.lix.txt\")\n\t\t\t.toString();\n\t\texpect(randomFileOnDiskContent).toBe(\"random value lix\");\n\t});\n\n\ttest(\"file updated in lix should be avaialable in fs \", async () => {\n\t\tconst syncInterval = 100;\n\t\tconst fs = Volume.fromJSON(mockDirectory);\n\n\t\tconst project = await loadProjectFromDirectory({\n\t\t\tfs: fs as any,\n\t\t\tpath: \"/project.inlang\",\n\t\t\tsyncInterval: syncInterval,\n\t\t});\n\n\t\t// console.log(\"wrting lix settings\");\n\t\t// changes to a file in lix should reflect in the project directory\n\t\tawait project.lix.db\n\t\t\t.updateTable(\"file\")\n\t\t\t.where(\"path\", \"=\", \"/settings.json\")\n\t\t\t.set({\n\t\t\t\tdata: new TextEncoder().encode(\n\t\t\t\t\tJSON.stringify({ ...mockSettings, baseLocale: \"brand-new-locale2\" })\n\t\t\t\t),\n\t\t\t})\n\t\t\t.execute();\n\n\t\t// lets wait a seconds to allow the sync process catch up\n\t\tawait new Promise((resolve) => setTimeout(resolve, syncInterval + 10));\n\n\t\tconst fileOnDisk = fs.readFileSync(\"/project.inlang/settings.json\");\n\t\tconst settings = JSON.parse(fileOnDisk.toString());\n\n\t\texpect(settings.baseLocale).toBe(\"brand-new-locale2\");\n\t});\n\n\ttest(\"file deleted in lix should be gone in fs as awell\", async () => {\n\t\tconst syncInterval = 100;\n\t\tconst fs = Volume.fromJSON(mockDirectory);\n\n\t\tconst project = await loadProjectFromDirectory({\n\t\t\tfs: fs as any,\n\t\t\tpath: \"/project.inlang\",\n\t\t\tsyncInterval: syncInterval,\n\t\t});\n\n\t\t// console.log(\"wrting lix settings\");\n\t\t// changes to a file in lix should reflect in the project directory\n\t\tawait project.lix.db\n\t\t\t.deleteFrom(\"file\")\n\t\t\t.where(\"path\", \"=\", \"/.gitignore\")\n\t\t\t.execute();\n\n\t\t// lets wait a seconds to allow the sync process catch up\n\t\tawait new Promise((resolve) => setTimeout(resolve, syncInterval + 10));\n\n\t\tconst fileExistsOnDisk = fs.existsSync(\"/project.inlang/.gitignore\");\n\n\t\texpect(fileExistsOnDisk).toBe(false);\n\t});\n\n\ttest(\"file updated in fs and lix (conflicting) should result in the fs state\", async () => {\n\t\tconst syncInterval = 100;\n\t\tconst fs = Volume.fromJSON(mockDirectory);\n\n\t\tconst project = await loadProjectFromDirectory({\n\t\t\tfs: fs as any,\n\t\t\tpath: \"/project.inlang\",\n\t\t\tsyncInterval: syncInterval,\n\t\t});\n\n\t\t// console.log(\"wrting fs settings simultanous\");\n\t\t// changes to a file on disk and lix at the same time should lead to the fs version\n\t\tfs.writeFileSync(\n\t\t\t\"/project.inlang/settings.json\",\n\t\t\tJSON.stringify({ ...mockSettings, baseLocale: \"fs-version\" })\n\t\t);\n\n\t\t// console.log(\"wrting lix settings simultanous\");\n\t\tawait project.lix.db\n\t\t\t.updateTable(\"file\")\n\t\t\t.where(\"path\", \"=\", \"/settings.json\")\n\t\t\t.set({\n\t\t\t\tdata: new TextEncoder().encode(\n\t\t\t\t\tJSON.stringify({ ...mockSettings, baseLocale: \"lix-version\" })\n\t\t\t\t),\n\t\t\t})\n\t\t\t.execute();\n\n\t\t// lets wait a seconds to allow the sync process catch up\n\t\tawait new Promise((resolve) => setTimeout(resolve, 1010));\n\n\t\tconst fileOnDiskUpdated = fs.readFileSync(\"/project.inlang/settings.json\");\n\t\tconst settingsUpdated = JSON.parse(fileOnDiskUpdated.toString());\n\n\t\texpect(settingsUpdated.baseLocale).toBe(\"fs-version\");\n\n\t\tconst fileInLixUpdated = await project.lix.db\n\t\t\t.selectFrom(\"file\")\n\t\t\t.selectAll()\n\t\t\t.where(\"path\", \"=\", \"/settings.json\")\n\t\t\t.executeTakeFirstOrThrow();\n\n\t\tconst settingsAfterUpdateOnDiskAndLix = JSON.parse(\n\t\t\tnew TextDecoder().decode(fileInLixUpdated.data)\n\t\t);\n\n\t\texpect(settingsAfterUpdateOnDiskAndLix.baseLocale).toBe(\"fs-version\");\n\t});\n});\n\ntest(\"errors from importing translation files should be shown\", async () => {\n\tconst mock = {\n\t\t\"/project.inlang/settings.json\": JSON.stringify({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\", \"de\"],\n\t\t\tmodules: [],\n\t\t} satisfies ProjectSettings),\n\t};\n\n\tconst fs = Volume.fromJSON(mock);\n\n\tconst proxiedFs = new Proxy(fs, {\n\t\tget: (target, prop) => {\n\t\t\tif (prop === \"promises\") {\n\t\t\t\t// Intercept the 'promises' object\n\t\t\t\treturn new Proxy(target.promises, {\n\t\t\t\t\tget: (promisesTarget, promisesProp) => {\n\t\t\t\t\t\tif (promisesProp === \"readFile\") {\n\t\t\t\t\t\t\t// @ts-expect-error - we are mocking the fs\n\t\t\t\t\t\t\treturn (path, ...args) => {\n\t\t\t\t\t\t\t\tif (path.endsWith(\"some-file.json\")) {\n\t\t\t\t\t\t\t\t\tthrow new Error(\"MOCK ERROR\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn promisesTarget.readFile(path, ...args);\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn Reflect.get(promisesTarget, promisesProp);\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn Reflect.get(target, prop);\n\t\t},\n\t});\n\n\tconst mockPlugin: InlangPlugin = {\n\t\tkey: \"mock-plugin\",\n\t\timportFiles: async () => {\n\t\t\treturn { bundles: [], messages: [], variants: [] };\n\t\t},\n\t\ttoBeImportedFiles: async () => {\n\t\t\treturn [{ path: \"./some-file.json\", locale: \"mock\" }];\n\t\t},\n\t};\n\n\tconst project = await loadProjectFromDirectory({\n\t\tfs: proxiedFs as any,\n\t\tpath: \"/project.inlang\",\n\t\tprovidePlugins: [mockPlugin],\n\t});\n\n\tconst errors = await project.errors.get();\n\t// TODO deactivated for now - we need to proxy fs.promises or change the signature of loadProject\n\texpect(errors).toHaveLength(1);\n\texpect(errors[0]).toBeInstanceOf(ResourceFileImportError);\n});\n\n// it happens often that a resource file doesn't exist yet on import\ntest(\"errors from importing translation files that are ENOENT should not be shown\", async () => {\n\tconst mock = {\n\t\t\"/project.inlang/settings.json\": JSON.stringify({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\", \"de\"],\n\t\t\tmodules: [],\n\t\t} satisfies ProjectSettings),\n\t};\n\n\tconst fs = Volume.fromJSON(mock);\n\n\tconst mockPlugin: InlangPlugin = {\n\t\tkey: \"mock-plugin\",\n\t\timportFiles: async () => {\n\t\t\treturn { bundles: [], messages: [], variants: [] };\n\t\t},\n\t\ttoBeImportedFiles: async () => {\n\t\t\treturn [{ path: \"./some-non-existing-file.json\", locale: \"mock\" }];\n\t\t},\n\t};\n\n\tconst project = await loadProjectFromDirectory({\n\t\tfs: fs as any,\n\t\tpath: \"/project.inlang\",\n\t\tprovidePlugins: [mockPlugin],\n\t});\n\n\tconst errors = await project.errors.get();\n\texpect(errors).toHaveLength(0);\n});\n\n// it happens often that a resource file doesn't exist yet on import\ntest(\"it should pass toBeImportedMetadata on import\", async () => {\n\tconst mock = {\n\t\t\"/foo/en.json\": JSON.stringify({}),\n\t\t\"/project.inlang/settings.json\": JSON.stringify({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\", \"de\"],\n\t\t} satisfies ProjectSettings),\n\t};\n\n\tconst fs = Volume.fromJSON(mock);\n\n\tconst mockPlugin: InlangPlugin = {\n\t\tkey: \"mock-plugin\",\n\t\ttoBeImportedFiles: async () => {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tpath: \"/foo/en.json\",\n\t\t\t\t\tlocale: \"mock\",\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\tfoo: \"bar\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t];\n\t\t},\n\t\timportFiles: async () => {\n\t\t\treturn { bundles: [], messages: [], variants: [] };\n\t\t},\n\t};\n\n\tconst toBeSpy = vi.spyOn(mockPlugin, \"toBeImportedFiles\");\n\tconst importSpy = vi.spyOn(mockPlugin, \"importFiles\");\n\n\tconst project = await loadProjectFromDirectory({\n\t\tfs: fs as any,\n\t\tpath: \"/project.inlang\",\n\t\tprovidePlugins: [mockPlugin],\n\t});\n\n\texpect(toBeSpy).toHaveBeenCalled();\n\n\texpect(importSpy).toHaveBeenCalledWith(\n\t\texpect.objectContaining({\n\t\t\tfiles: [\n\t\t\t\texpect.objectContaining({\n\t\t\t\t\tname: \"en.json\",\n\t\t\t\t\ttoBeImportedFilesMetadata: {\n\t\t\t\t\t\tfoo: \"bar\",\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t],\n\t\t})\n\t);\n});\n\ntest(\"it should provide plugins from disk for backwards compatibility but warn that those plugins are not portable\", async () => {\n\tconst mockRepo = {\n\t\t\"/local-plugins/mock-plugin.js\": \"export default { key: 'mock-plugin' }\",\n\t\t\"/local-plugins/mock-rule.js\":\n\t\t\t\"export default { id: 'messageLintRule.mock }\",\n\t\t\"/website/project.inlang/settings.json\": JSON.stringify({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\", \"de\"],\n\t\t\tmodules: [\n\t\t\t\t\"../local-plugins/mock-plugin.js\",\n\t\t\t\t\"../local-plugins/mock-rule.js\",\n\t\t\t],\n\t\t} satisfies ProjectSettings),\n\t};\n\n\tconst fs = Volume.fromJSON(mockRepo);\n\n\tconst project = await loadProjectFromDirectory({\n\t\tfs: fs as any,\n\t\tpath: \"/website/project.inlang\",\n\t});\n\n\tconst plugins = await project.plugins.get();\n\tconst errors = await project.errors.get();\n\tconst settings = await project.settings.get();\n\n\texpect(plugins.length).toBe(1);\n\texpect(plugins[0]?.key).toBe(\"mock-plugin\");\n\n\t// old mock lint rule import is number two import\n\t// it's hard to model the import of a lint rule\n\t// best if they are removed\n\texpect(errors.length).toBe(3);\n\texpect(errors[0]).toBeInstanceOf(WarningLocalPluginImport);\n\texpect(errors[1]).toBeInstanceOf(WarningLocalPluginImport);\n\texpect(errors[2]).toBeInstanceOf(WarningDeprecatedLintRule);\n\n\t// it should not remove the module from the settings\n\t// else roundtrips would not work\n\texpect(settings.modules?.[0]).toBe(\"../local-plugins/mock-plugin.js\");\n});\n\n// https://github.com/opral/inlang-sdk/issues/174\ntest(\"plugin calls that use fs should be intercepted to use an absolute path\", async () => {\n\tprocess.cwd = () => \"/\";\n\n\tconst mockRepo = {\n\t\t\"/messages/en.json\": JSON.stringify({\n\t\t\tkey1: \"value1\",\n\t\t\tkey2: \"value2\",\n\t\t}),\n\t\t\"/project.inlang/settings.json\": JSON.stringify({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\"plugin.mock-plugin\": {\n\t\t\t\tpathPattern: \"./messages/{locale}.json\",\n\t\t\t},\n\t\t} satisfies ProjectSettings),\n\t};\n\n\tconst mockPlugin: InlangPlugin = {\n\t\tkey: \"mock-plugin\",\n\t\tloadMessages: async ({ nodeishFs, settings }) => {\n\t\t\tconst pathPattern = settings[\"plugin.mock-plugin\"]?.pathPattern.replace(\n\t\t\t\t\"{locale}\",\n\t\t\t\t\"en\"\n\t\t\t) as string;\n\t\t\tconst file = await nodeishFs.readFile(pathPattern);\n\t\t\t// reading the file should be possible without an error\n\t\t\texpect(file.toString()).toBe(\n\t\t\t\tJSON.stringify({\n\t\t\t\t\tkey1: \"value1\",\n\t\t\t\t\tkey2: \"value2\",\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn [];\n\t\t},\n\t\tsaveMessages: async ({ nodeishFs, settings }) => {\n\t\t\tconst pathPattern = settings[\"plugin.mock-plugin\"]?.pathPattern.replace(\n\t\t\t\t\"{locale}\",\n\t\t\t\t\"en\"\n\t\t\t) as string;\n\t\t\tconst file = new TextEncoder().encode(\n\t\t\t\tJSON.stringify({\n\t\t\t\t\tkey1: \"value1\",\n\t\t\t\t\tkey2: \"value2\",\n\t\t\t\t\tkey3: \"value3\",\n\t\t\t\t})\n\t\t\t);\n\t\t\tawait nodeishFs.writeFile(pathPattern, file.buffer as ArrayBuffer);\n\t\t},\n\t\ttoBeImportedFiles: async ({ settings }) => {\n\t\t\tconst pathPattern = settings[\"plugin.mock-plugin\"]?.pathPattern.replace(\n\t\t\t\t\"{locale}\",\n\t\t\t\t\"en\"\n\t\t\t) as string;\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tpath: pathPattern,\n\t\t\t\t\tlocale: \"en\",\n\t\t\t\t},\n\t\t\t];\n\t\t},\n\t};\n\n\tconst fs = Volume.fromJSON(mockRepo);\n\n\tconst loadMessagesSpy = vi.spyOn(mockPlugin, \"loadMessages\");\n\tconst saveMessagesSpy = vi.spyOn(mockPlugin, \"saveMessages\");\n\tconst toBeImportedFilesSpy = vi.spyOn(mockPlugin, \"toBeImportedFiles\");\n\tconst fsReadFileSpy = vi.spyOn(fs.promises, \"readFile\");\n\tconst fsWriteFileSpy = vi.spyOn(fs.promises, \"writeFile\");\n\n\tconst project = await loadProjectFromDirectory({\n\t\tfs: fs as any,\n\t\tpath: \"/project.inlang\",\n\t\tprovidePlugins: [mockPlugin],\n\t});\n\n\texpect(loadMessagesSpy).toHaveBeenCalled();\n\texpect(fsReadFileSpy).toHaveBeenCalledWith(\"/messages/en.json\", undefined);\n\n\t// todo test that saveMessages works too.\n\t// await project.db.insertInto(\"bundle\").defaultValues().execute();\n\n\t// const translationFile = await fs.readFile(\"/messages/en.json\", \"utf-8\");\n\n\t// expect(translationFile).toBe(\n\t// \tJSON.stringify({\n\t// \t\tkey1: \"value1\",\n\t// \t\tkey2: \"value2\",\n\t// \t\tkey3: \"value3\",\n\t// \t})\n\t// );\n\n\t// expect(fsWriteFileSpy).toHaveBeenCalledWith(\n\t// \t\"/messages/en.json\",\n\t// \tJSON.stringify({\n\t// \t\tkey1: \"value1\",\n\t// \t\tkey2: \"value2\",\n\t// \t\tkey3: \"value3\",\n\t// \t}),\n\t// \t\"utf-8\"\n\t// );\n\n\t// expect(saveMessagesSpy).toHaveBeenCalled();\n\t// expect(toBeImportedFilesSpy).toHaveBeenCalled();\n});\n"],"names":[],"mappings":"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","debug_id":"38d550fe-29bc-58ce-bc46-e34467821546"}
1
+ {"version":3,"file":"loadProjectFromDirectory.test.js","sources":["project/loadProjectFromDirectory.test.ts"],"sourceRoot":"/","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\nimport { beforeEach, describe, expect, test, vi } from \"vitest\";\nimport { ProjectSettings } from \"../json-schema/settings.js\";\nimport { fs, vol, Volume } from \"memfs\";\nimport {\n\tloadProjectFromDirectory,\n\tResourceFileImportError,\n\tWarningDeprecatedLintRule,\n} from \"./loadProjectFromDirectory.js\";\nimport { selectBundleNested } from \"../query-utilities/selectBundleNested.js\";\nimport { Text } from \"../json-schema/pattern.js\";\nimport type { InlangPlugin } from \"../plugin/schema.js\";\nimport type {\n\tMessageV1,\n\tVariantV1,\n} from \"../json-schema/old-v1-message/schemaV1.js\";\nimport { saveProjectToDirectory } from \"./saveProjectToDirectory.js\";\nimport { insertBundleNested } from \"../query-utilities/insertBundleNested.js\";\n\ntest(\"plugin.loadMessages and plugin.saveMessages must not be configured together with import export\", async () => {\n\tconst mockLegacyPlugin: InlangPlugin = {\n\t\tkey: \"mock-legacy-plugin\",\n\t\tloadMessages: async () => {\n\t\t\treturn [];\n\t\t},\n\t\tsaveMessages: async () => {},\n\t};\n\n\tconst mockLegacyPlugin2: InlangPlugin = {\n\t\tkey: \"mock-legacy-plugin-2\",\n\t\tloadMessages: async () => {\n\t\t\treturn [];\n\t\t},\n\t\tsaveMessages: async () => {},\n\t};\n\n\tconst mockImportExportPlugin: InlangPlugin = {\n\t\tkey: \"mock-import-export-plugin\",\n\t\texportFiles: () => {\n\t\t\treturn [];\n\t\t},\n\t\timportFiles: () => {\n\t\t\treturn {} as any;\n\t\t},\n\t};\n\n\tawait expect(\n\t\t(async () => {\n\t\t\tawait loadProjectFromDirectory({\n\t\t\t\tfs: Volume.fromJSON({\n\t\t\t\t\t\"./project.inlang/settings.json\": JSON.stringify({\n\t\t\t\t\t\tbaseLocale: \"en\",\n\t\t\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\t\t\tmodules: [],\n\t\t\t\t\t} satisfies ProjectSettings),\n\t\t\t\t}) as any,\n\t\t\t\tpath: \"./project.inlang\",\n\t\t\t\tprovidePlugins: [\n\t\t\t\t\tmockLegacyPlugin,\n\t\t\t\t\tmockLegacyPlugin2,\n\t\t\t\t\tmockImportExportPlugin,\n\t\t\t\t],\n\t\t\t});\n\t\t})()\n\t).rejects.toThrowError();\n\n\tawait expect(\n\t\t(async () => {\n\t\t\tawait loadProjectFromDirectory({\n\t\t\t\tfs: Volume.fromJSON({\n\t\t\t\t\t\"./project.inlang/settings.json\": JSON.stringify({\n\t\t\t\t\t\tbaseLocale: \"en\",\n\t\t\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\t\t\tmodules: [],\n\t\t\t\t\t} satisfies ProjectSettings),\n\t\t\t\t}) as any,\n\t\t\t\tpath: \"./project.inlang\",\n\t\t\t\tprovidePlugins: [\n\t\t\t\t\tmockLegacyPlugin,\n\t\t\t\t\tmockLegacyPlugin2,\n\t\t\t\t\tmockImportExportPlugin,\n\t\t\t\t],\n\t\t\t});\n\t\t})()\n\t).rejects.toThrowError();\n});\n\ntest(\"plugin.loadMessages and plugin.saveMessages should work for legacy purposes\", async () => {\n\tconst mockLegacyPlugin: InlangPlugin = {\n\t\tid: \"mock-legacy-plugin\",\n\t\t// @ts-expect-error - id is deprecated, key can be undefined\n\t\tkey: undefined,\n\t\tloadMessages: async ({ nodeishFs, settings }) => {\n\t\t\tconst pathPattern = settings[\"plugin.mock-plugin\"]?.pathPattern as string;\n\n\t\t\tconst messages: MessageV1[] = [];\n\n\t\t\t// @ts-expect-error - language tag is always given by the sdk v2\n\t\t\tfor (const languageTag of settings.languageTags) {\n\t\t\t\tconst data = await nodeishFs.readFile(\n\t\t\t\t\tpathPattern.replace(\"{languageTag}\", languageTag)\n\t\t\t\t);\n\n\t\t\t\tfor (const [key, value] of Object.entries(\n\t\t\t\t\tJSON.parse(data.toString())\n\t\t\t\t)) {\n\t\t\t\t\tconst exisitngMessage = messages.find(\n\t\t\t\t\t\t(message) => message.id === key\n\t\t\t\t\t);\n\t\t\t\t\tconst variant = {\n\t\t\t\t\t\tlanguageTag: languageTag,\n\t\t\t\t\t\tmatch: [],\n\t\t\t\t\t\tpattern: [{ type: \"Text\", value: value }],\n\t\t\t\t\t} as VariantV1;\n\t\t\t\t\tif (exisitngMessage !== undefined) {\n\t\t\t\t\t\texisitngMessage.variants.push(variant);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmessages.push({\n\t\t\t\t\t\t\talias: {},\n\t\t\t\t\t\t\tid: key,\n\t\t\t\t\t\t\tselectors: [],\n\t\t\t\t\t\t\tvariants: [variant],\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn messages;\n\t\t},\n\t\tsaveMessages: async ({ messages, nodeishFs, settings }) => {\n\t\t\tconst pathPattern = settings[\"plugin.mock-plugin\"]?.pathPattern as string;\n\t\t\tfor (const languageTag of settings.languageTags!) {\n\t\t\t\tconst messagesInLanguage = {} as Record<string, string>;\n\t\t\t\tfor (const message of messages) {\n\t\t\t\t\tconst variantsInLanguage = message.variants.filter(\n\t\t\t\t\t\t(variant) => variant.languageTag === languageTag\n\t\t\t\t\t);\n\t\t\t\t\tif (variantsInLanguage.length > 1) {\n\t\t\t\t\t\t// data will get lost during export => throw?\n\t\t\t\t\t} else if (variantsInLanguage.length === 1) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tvariantsInLanguage[0]!.pattern.length != 1 ||\n\t\t\t\t\t\t\tvariantsInLanguage[0]!.pattern[0]?.type !== \"Text\"\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// throw?\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmessagesInLanguage[message.id] = (\n\t\t\t\t\t\t\tvariantsInLanguage[0]!.pattern[0]! as any\n\t\t\t\t\t\t).value;\n\t\t\t\t\t}\n\t\t\t\t\t// else no-op\n\t\t\t\t}\n\t\t\t\tawait nodeishFs.writeFile(\n\t\t\t\t\tpathPattern.replace(\"{languageTag}\", languageTag),\n\t\t\t\t\tJSON.stringify(messagesInLanguage, null, 2)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t};\n\tconst mockRepo = {\n\t\t\"./README.md\": \"# Hello World\",\n\t\t\"./src/index.js\": \"console.log('Hello World')\",\n\t\t\"./src/translations/en.json\": JSON.stringify({\n\t\t\tkey1: \"value1\",\n\t\t\tkey2: \"value2\",\n\t\t}),\n\t\t\"./src/translations/de.json\": JSON.stringify({\n\t\t\tkey1: \"wert1\",\n\t\t\tkey2: \"wert2\",\n\t\t}),\n\t\t\"./project.inlang/settings.json\": JSON.stringify({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\", \"de\"],\n\t\t\tmodules: [\"./mock-module.js\"],\n\t\t\t\"plugin.mock-plugin\": {\n\t\t\t\tpathPattern: \"./src/translations/{languageTag}.json\",\n\t\t\t},\n\t\t} satisfies ProjectSettings),\n\t};\n\n\tconst fs = Volume.fromJSON(mockRepo);\n\n\tlet project = await loadProjectFromDirectory({\n\t\tfs: fs as any,\n\t\tpath: \"./project.inlang\",\n\t\tprovidePlugins: [mockLegacyPlugin],\n\t});\n\n\tawait insertBundleNested(project.db, {\n\t\tid: \"key-id\",\n\t\tmessages: [\n\t\t\t{\n\t\t\t\tid: \"mock-message\",\n\t\t\t\tbundleId: \"mock-bundle\",\n\t\t\t\tlocale: \"en\",\n\t\t\t\tselectors: [],\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tmessageId: \"mock-message\",\n\t\t\t\t\t\tpattern: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\tvalue: \"JOJO\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\tawait saveProjectToDirectory({\n\t\tfs: fs.promises as any,\n\t\tpath: \"./project.inlang\",\n\t\tproject,\n\t});\n\n\tproject = await loadProjectFromDirectory({\n\t\tfs: fs as any,\n\t\tpath: \"./project.inlang\",\n\t\tprovidePlugins: [mockLegacyPlugin],\n\t});\n\n\tconst bundles = await selectBundleNested(project.db).execute();\n\n\tconst bundlesOrdered = bundles.sort((a, b) => a.id.localeCompare(b.id));\n\n\texpect(bundles.length).toBe(3);\n\texpect(bundlesOrdered[0]?.messages[0]?.locale).toBe(\"en\");\n\texpect(\n\t\t(bundlesOrdered[0]?.messages[0]?.variants[0]?.pattern[0] as Text)?.value\n\t).toBe(\"JOJO\");\n\n\t// TODO fix\n\t// expect(bundlesOrdered[0]?.messages[9]?.locale).toBe(\"en\");\n\t// expect(\n\t// \t(bundlesOrdered[0]?.messages[1]?.variants[0]?.pattern[0] as Text)?.value\n\t// ).toBe(\"wert1\");\n\n\t// expect(bundlesOrdered[1]?.messages[0]?.locale).toBe(\"en\");\n\t// expect(\n\t// \t(bundlesOrdered[1]?.messages[0]?.variants[0]?.pattern[0] as Text)?.value\n\t// ).toBe(\"value2\");\n\n\t// expect(bundlesOrdered[1]?.messages[1]?.locale).toBe(\"de\");\n\t// expect(\n\t// \t(bundlesOrdered[1]?.messages[1]?.variants[0]?.pattern[0] as Text)?.value\n\t// ).toBe(\"wert2\");\n});\n\nconst mockSettings = {\n\tbaseLocale: \"en\",\n\tlocales: [\"en\", \"de\"],\n\tmodules: [],\n} satisfies ProjectSettings;\n\nconst mockDirectory = {\n\t\"/project.inlang/cache/plugin/29j49j2\": \"cache value\",\n\t\"/project.inlang/.gitignore\": \"git value\",\n\t\"/project.inlang/prettierrc.json\": \"prettier value\",\n\t\"/project.inlang/README.md\": \"readme value\",\n\t\"/project.inlang/settings.json\": JSON.stringify(mockSettings),\n};\n\ndescribe(\"it should keep files between the inlang directory and lix in sync\", async () => {\n\ttest(\"files from directory should be available via lix after project has been loaded from directory\", async () => {\n\t\tconst syncInterval = 100;\n\t\tconst fs = Volume.fromJSON(mockDirectory);\n\n\t\tconst project = await loadProjectFromDirectory({\n\t\t\tfs: fs as any,\n\t\t\tpath: \"/project.inlang\",\n\t\t\tsyncInterval: syncInterval,\n\t\t});\n\n\t\tconst files = await project.lix.db.selectFrom(\"file\").selectAll().execute();\n\n\t\texpect(files.length).toBe(\n\t\t\t5 + 1 /* the db.sqlite file */ + 1 /* project_id */\n\t\t);\n\n\t\tconst filesByPath = files.reduce((acc, file) => {\n\t\t\tacc[file.path] = new TextDecoder().decode(file.data);\n\t\t\treturn acc;\n\t\t}, {} as any);\n\n\t\texpect(filesByPath[\"/cache/plugin/29j49j2\"]).toBe(\"cache value\");\n\t\texpect(filesByPath[\"/.gitignore\"]).toBe(\"git value\");\n\t\texpect(filesByPath[\"/prettierrc.json\"]).toBe(\"prettier value\");\n\t\texpect(filesByPath[\"/README.md\"]).toBe(\"readme value\");\n\t\texpect(filesByPath[\"/settings.json\"]).toBe(JSON.stringify(mockSettings));\n\t});\n\n\ttest(\"file created in fs should be avaialable in lix \", async () => {\n\t\tconst syncInterval = 100;\n\t\tconst fs = Volume.fromJSON(mockDirectory);\n\n\t\tconst project = await loadProjectFromDirectory({\n\t\t\tfs: fs as any,\n\t\t\tpath: \"/project.inlang\",\n\t\t\tsyncInterval: syncInterval,\n\t\t});\n\n\t\tfs.writeFileSync(\n\t\t\t\"/project.inlang/file-created-on-fs.txt\",\n\t\t\t\"value written by fs\",\n\t\t\t{\n\t\t\t\tencoding: \"utf-8\",\n\t\t\t}\n\t\t);\n\n\t\t// lets wait a seconds to allow the sync process catch up\n\t\tawait new Promise((resolve) => setTimeout(resolve, syncInterval + 10));\n\n\t\tconst randomFileInLix = await project.lix.db\n\t\t\t.selectFrom(\"file\")\n\t\t\t.selectAll()\n\t\t\t.where(\"path\", \"=\", \"/file-created-on-fs.txt\")\n\t\t\t.executeTakeFirstOrThrow();\n\n\t\texpect(new TextDecoder().decode(randomFileInLix.data)).toBe(\n\t\t\t\"value written by fs\"\n\t\t);\n\t});\n\n\ttest(\"file updated in fs should be avaialable in lix \", async () => {\n\t\tconst syncInterval = 100;\n\t\tconst fs = Volume.fromJSON(mockDirectory);\n\n\t\tconst project = await loadProjectFromDirectory({\n\t\t\tfs: fs as any,\n\t\t\tpath: \"/project.inlang\",\n\t\t\tsyncInterval: syncInterval,\n\t\t});\n\n\t\t// \"changes to a file on disk should reflect in lix\n\t\tfs.writeFileSync(\n\t\t\t\"/project.inlang/settings.json\",\n\t\t\tJSON.stringify({\n\t\t\t\t...mockSettings,\n\t\t\t\tbaseLocale: \"brand-new-locale-written-to-fs-file\",\n\t\t\t})\n\t\t);\n\n\t\t// console.log(\"wrting fs settings\");\n\t\tawait new Promise((resolve) => setTimeout(resolve, syncInterval + 10));\n\t\tconst fileInLix = await project.lix.db\n\t\t\t.selectFrom(\"file\")\n\t\t\t.selectAll()\n\t\t\t.where(\"path\", \"=\", \"/settings.json\")\n\t\t\t.executeTakeFirstOrThrow();\n\n\t\tconst settingsAfterUpdateOnDisk = JSON.parse(\n\t\t\tnew TextDecoder().decode(fileInLix.data)\n\t\t);\n\n\t\texpect(settingsAfterUpdateOnDisk.baseLocale).toBe(\n\t\t\t\"brand-new-locale-written-to-fs-file\"\n\t\t);\n\t});\n\n\ttest(\"file deleted in fs should be droped from lix \", async () => {\n\t\tconst syncInterval = 100;\n\t\tconst fs = Volume.fromJSON(mockDirectory);\n\n\t\tconst project = await loadProjectFromDirectory({\n\t\t\tfs: fs as any,\n\t\t\tpath: \"/project.inlang\",\n\t\t\tsyncInterval: syncInterval,\n\t\t});\n\n\t\tconst filesInLixBefore = await project.lix.db\n\t\t\t.selectFrom(\"file\")\n\t\t\t.selectAll()\n\t\t\t.where(\"path\", \"=\", \"/README.md\")\n\t\t\t.execute();\n\n\t\texpect(filesInLixBefore.length).toBe(1);\n\n\t\t// \"changes to a file on disk should reflect in lix\n\t\tfs.unlinkSync(\"/project.inlang/README.md\");\n\n\t\t// console.log(\"wrting fs settings\");\n\t\tawait new Promise((resolve) => setTimeout(resolve, syncInterval + 10));\n\t\tconst fileInLixAfter = await project.lix.db\n\t\t\t.selectFrom(\"file\")\n\t\t\t.selectAll()\n\t\t\t.where(\"path\", \"=\", \"/README.md\")\n\t\t\t.execute();\n\n\t\texpect(fileInLixAfter.length).toBe(0);\n\t});\n\n\ttest(\"file created in lix should be avaialable in fs \", async () => {\n\t\tconst syncInterval = 100;\n\t\tconst fs = Volume.fromJSON(mockDirectory);\n\n\t\tconst project = await loadProjectFromDirectory({\n\t\t\tfs: fs as any,\n\t\t\tpath: \"/project.inlang\",\n\t\t\tsyncInterval: syncInterval,\n\t\t});\n\n\t\tawait project.lix.db\n\t\t\t.insertInto(\"file\")\n\t\t\t.values({\n\t\t\t\tpath: \"/file-created-in.lix.txt\",\n\t\t\t\tdata: new TextEncoder().encode(\"random value lix\"),\n\t\t\t})\n\t\t\t.execute();\n\n\t\t// lets wait a seconds to allow the sync process catch up\n\t\tawait new Promise((resolve) => setTimeout(resolve, syncInterval + 10));\n\n\t\tconst randomFileOnDiskContent = fs\n\t\t\t.readFileSync(\"/project.inlang/file-created-in.lix.txt\")\n\t\t\t.toString();\n\t\texpect(randomFileOnDiskContent).toBe(\"random value lix\");\n\t});\n\n\ttest(\"file updated in lix should be avaialable in fs \", async () => {\n\t\tconst syncInterval = 100;\n\t\tconst fs = Volume.fromJSON(mockDirectory);\n\n\t\tconst project = await loadProjectFromDirectory({\n\t\t\tfs: fs as any,\n\t\t\tpath: \"/project.inlang\",\n\t\t\tsyncInterval: syncInterval,\n\t\t});\n\n\t\t// console.log(\"wrting lix settings\");\n\t\t// changes to a file in lix should reflect in the project directory\n\t\tawait project.lix.db\n\t\t\t.updateTable(\"file\")\n\t\t\t.where(\"path\", \"=\", \"/settings.json\")\n\t\t\t.set({\n\t\t\t\tdata: new TextEncoder().encode(\n\t\t\t\t\tJSON.stringify({ ...mockSettings, baseLocale: \"brand-new-locale2\" })\n\t\t\t\t),\n\t\t\t})\n\t\t\t.execute();\n\n\t\t// lets wait a seconds to allow the sync process catch up\n\t\tawait new Promise((resolve) => setTimeout(resolve, syncInterval + 10));\n\n\t\tconst fileOnDisk = fs.readFileSync(\"/project.inlang/settings.json\");\n\t\tconst settings = JSON.parse(fileOnDisk.toString());\n\n\t\texpect(settings.baseLocale).toBe(\"brand-new-locale2\");\n\t});\n\n\ttest(\"file deleted in lix should be gone in fs as awell\", async () => {\n\t\tconst syncInterval = 100;\n\t\tconst fs = Volume.fromJSON(mockDirectory);\n\n\t\tconst project = await loadProjectFromDirectory({\n\t\t\tfs: fs as any,\n\t\t\tpath: \"/project.inlang\",\n\t\t\tsyncInterval: syncInterval,\n\t\t});\n\n\t\t// console.log(\"wrting lix settings\");\n\t\t// changes to a file in lix should reflect in the project directory\n\t\tawait project.lix.db\n\t\t\t.deleteFrom(\"file\")\n\t\t\t.where(\"path\", \"=\", \"/.gitignore\")\n\t\t\t.execute();\n\n\t\t// lets wait a seconds to allow the sync process catch up\n\t\tawait new Promise((resolve) => setTimeout(resolve, syncInterval + 10));\n\n\t\tconst fileExistsOnDisk = fs.existsSync(\"/project.inlang/.gitignore\");\n\n\t\texpect(fileExistsOnDisk).toBe(false);\n\t});\n\n\ttest(\"file updated in fs and lix (conflicting) should result in the fs state\", async () => {\n\t\tconst syncInterval = 100;\n\t\tconst fs = Volume.fromJSON(mockDirectory);\n\n\t\tconst project = await loadProjectFromDirectory({\n\t\t\tfs: fs as any,\n\t\t\tpath: \"/project.inlang\",\n\t\t\tsyncInterval: syncInterval,\n\t\t});\n\n\t\t// console.log(\"wrting fs settings simultanous\");\n\t\t// changes to a file on disk and lix at the same time should lead to the fs version\n\t\tfs.writeFileSync(\n\t\t\t\"/project.inlang/settings.json\",\n\t\t\tJSON.stringify({ ...mockSettings, baseLocale: \"fs-version\" })\n\t\t);\n\n\t\t// console.log(\"wrting lix settings simultanous\");\n\t\tawait project.lix.db\n\t\t\t.updateTable(\"file\")\n\t\t\t.where(\"path\", \"=\", \"/settings.json\")\n\t\t\t.set({\n\t\t\t\tdata: new TextEncoder().encode(\n\t\t\t\t\tJSON.stringify({ ...mockSettings, baseLocale: \"lix-version\" })\n\t\t\t\t),\n\t\t\t})\n\t\t\t.execute();\n\n\t\t// lets wait a seconds to allow the sync process catch up\n\t\tawait new Promise((resolve) => setTimeout(resolve, 1010));\n\n\t\tconst fileOnDiskUpdated = fs.readFileSync(\"/project.inlang/settings.json\");\n\t\tconst settingsUpdated = JSON.parse(fileOnDiskUpdated.toString());\n\n\t\texpect(settingsUpdated.baseLocale).toBe(\"fs-version\");\n\n\t\tconst fileInLixUpdated = await project.lix.db\n\t\t\t.selectFrom(\"file\")\n\t\t\t.selectAll()\n\t\t\t.where(\"path\", \"=\", \"/settings.json\")\n\t\t\t.executeTakeFirstOrThrow();\n\n\t\tconst settingsAfterUpdateOnDiskAndLix = JSON.parse(\n\t\t\tnew TextDecoder().decode(fileInLixUpdated.data)\n\t\t);\n\n\t\texpect(settingsAfterUpdateOnDiskAndLix.baseLocale).toBe(\"fs-version\");\n\t});\n});\n\ntest(\"errors from importing translation files should be shown\", async () => {\n\tconst mock = {\n\t\t\"/project.inlang/settings.json\": JSON.stringify({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\", \"de\"],\n\t\t\tmodules: [],\n\t\t} satisfies ProjectSettings),\n\t};\n\n\tconst fs = Volume.fromJSON(mock);\n\n\tconst proxiedFs = new Proxy(fs, {\n\t\tget: (target, prop) => {\n\t\t\tif (prop === \"promises\") {\n\t\t\t\t// Intercept the 'promises' object\n\t\t\t\treturn new Proxy(target.promises, {\n\t\t\t\t\tget: (promisesTarget, promisesProp) => {\n\t\t\t\t\t\tif (promisesProp === \"readFile\") {\n\t\t\t\t\t\t\t// @ts-expect-error - we are mocking the fs\n\t\t\t\t\t\t\treturn (path, ...args) => {\n\t\t\t\t\t\t\t\tif (path.endsWith(\"some-file.json\")) {\n\t\t\t\t\t\t\t\t\tthrow new Error(\"MOCK ERROR\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn promisesTarget.readFile(path, ...args);\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn Reflect.get(promisesTarget, promisesProp);\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn Reflect.get(target, prop);\n\t\t},\n\t});\n\n\tconst mockPlugin: InlangPlugin = {\n\t\tkey: \"mock-plugin\",\n\t\timportFiles: async () => {\n\t\t\treturn { bundles: [], messages: [], variants: [] };\n\t\t},\n\t\ttoBeImportedFiles: async () => {\n\t\t\treturn [{ path: \"./some-file.json\", locale: \"mock\" }];\n\t\t},\n\t};\n\n\tconst project = await loadProjectFromDirectory({\n\t\tfs: proxiedFs as any,\n\t\tpath: \"/project.inlang\",\n\t\tprovidePlugins: [mockPlugin],\n\t});\n\n\tconst errors = await project.errors.get();\n\t// TODO deactivated for now - we need to proxy fs.promises or change the signature of loadProject\n\texpect(errors).toHaveLength(1);\n\texpect(errors[0]).toBeInstanceOf(ResourceFileImportError);\n});\n\n// it happens often that a resource file doesn't exist yet on import\ntest(\"errors from importing translation files that are ENOENT should not be shown\", async () => {\n\tconst mock = {\n\t\t\"/project.inlang/settings.json\": JSON.stringify({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\", \"de\"],\n\t\t\tmodules: [],\n\t\t} satisfies ProjectSettings),\n\t};\n\n\tconst fs = Volume.fromJSON(mock);\n\n\tconst mockPlugin: InlangPlugin = {\n\t\tkey: \"mock-plugin\",\n\t\timportFiles: async () => {\n\t\t\treturn { bundles: [], messages: [], variants: [] };\n\t\t},\n\t\ttoBeImportedFiles: async () => {\n\t\t\treturn [{ path: \"./some-non-existing-file.json\", locale: \"mock\" }];\n\t\t},\n\t};\n\n\tconst project = await loadProjectFromDirectory({\n\t\tfs: fs as any,\n\t\tpath: \"/project.inlang\",\n\t\tprovidePlugins: [mockPlugin],\n\t});\n\n\tconst errors = await project.errors.get();\n\texpect(errors).toHaveLength(0);\n});\n\n// it happens often that a resource file doesn't exist yet on import\ntest(\"it should pass toBeImportedMetadata on import\", async () => {\n\tconst mock = {\n\t\t\"/foo/en.json\": JSON.stringify({}),\n\t\t\"/project.inlang/settings.json\": JSON.stringify({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\", \"de\"],\n\t\t} satisfies ProjectSettings),\n\t};\n\n\tconst fs = Volume.fromJSON(mock);\n\n\tconst mockPlugin: InlangPlugin = {\n\t\tkey: \"mock-plugin\",\n\t\ttoBeImportedFiles: async () => {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tpath: \"/foo/en.json\",\n\t\t\t\t\tlocale: \"mock\",\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\tfoo: \"bar\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t];\n\t\t},\n\t\timportFiles: async () => {\n\t\t\treturn { bundles: [], messages: [], variants: [] };\n\t\t},\n\t};\n\n\tconst toBeSpy = vi.spyOn(mockPlugin, \"toBeImportedFiles\");\n\tconst importSpy = vi.spyOn(mockPlugin, \"importFiles\");\n\n\tconst project = await loadProjectFromDirectory({\n\t\tfs: fs as any,\n\t\tpath: \"/project.inlang\",\n\t\tprovidePlugins: [mockPlugin],\n\t});\n\n\texpect(toBeSpy).toHaveBeenCalled();\n\n\texpect(importSpy).toHaveBeenCalledWith(\n\t\texpect.objectContaining({\n\t\t\tfiles: [\n\t\t\t\texpect.objectContaining({\n\t\t\t\t\ttoBeImportedFilesMetadata: {\n\t\t\t\t\t\tfoo: \"bar\",\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t],\n\t\t})\n\t);\n});\n\ntest(\"it should provide plugins from disk for backwards compatibility but warn that those plugins are not portable\", async () => {\n\tconst mockRepo = {\n\t\t\"/local-plugins/mock-plugin.js\": \"export default { key: 'mock-plugin' }\",\n\t\t\"/local-plugins/mock-rule.js\":\n\t\t\t\"export default { id: 'messageLintRule.mock }\",\n\t\t\"/website/project.inlang/settings.json\": JSON.stringify({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\", \"de\"],\n\t\t\tmodules: [\n\t\t\t\t\"../local-plugins/mock-plugin.js\",\n\t\t\t\t\"../local-plugins/mock-rule.js\",\n\t\t\t],\n\t\t} satisfies ProjectSettings),\n\t};\n\n\tconst fs = Volume.fromJSON(mockRepo);\n\n\tconst project = await loadProjectFromDirectory({\n\t\tfs: fs as any,\n\t\tpath: \"/website/project.inlang\",\n\t});\n\n\tconst plugins = await project.plugins.get();\n\tconst errors = await project.errors.get();\n\tconst settings = await project.settings.get();\n\n\texpect(plugins.length).toBe(1);\n\texpect(plugins[0]?.key).toBe(\"mock-plugin\");\n\n\texpect(errors.length).toBe(1);\n\texpect(errors[0]).toBeInstanceOf(WarningDeprecatedLintRule);\n\n\t// it should not remove the module from the settings\n\t// else roundtrips would not work\n\texpect(settings.modules?.[0]).toBe(\"../local-plugins/mock-plugin.js\");\n});\n\n// https://github.com/opral/inlang-sdk/issues/174\ntest(\"plugin calls that use fs should be intercepted to use an absolute path\", async () => {\n\tprocess.cwd = () => \"/\";\n\n\tconst mockRepo = {\n\t\t\"/messages/en.json\": JSON.stringify({\n\t\t\tkey1: \"value1\",\n\t\t\tkey2: \"value2\",\n\t\t}),\n\t\t\"/project.inlang/settings.json\": JSON.stringify({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\"plugin.mock-plugin\": {\n\t\t\t\tpathPattern: \"./messages/{locale}.json\",\n\t\t\t},\n\t\t} satisfies ProjectSettings),\n\t};\n\n\tconst mockPlugin: InlangPlugin = {\n\t\tkey: \"mock-plugin\",\n\t\tloadMessages: async ({ nodeishFs, settings }) => {\n\t\t\tconst pathPattern = settings[\"plugin.mock-plugin\"]?.pathPattern.replace(\n\t\t\t\t\"{locale}\",\n\t\t\t\t\"en\"\n\t\t\t) as string;\n\t\t\tconst file = await nodeishFs.readFile(pathPattern);\n\t\t\t// reading the file should be possible without an error\n\t\t\texpect(file.toString()).toBe(\n\t\t\t\tJSON.stringify({\n\t\t\t\t\tkey1: \"value1\",\n\t\t\t\t\tkey2: \"value2\",\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn [];\n\t\t},\n\t\tsaveMessages: async ({ nodeishFs, settings }) => {\n\t\t\tconst pathPattern = settings[\"plugin.mock-plugin\"]?.pathPattern.replace(\n\t\t\t\t\"{locale}\",\n\t\t\t\t\"en\"\n\t\t\t) as string;\n\t\t\tconst file = new TextEncoder().encode(\n\t\t\t\tJSON.stringify({\n\t\t\t\t\tkey1: \"value1\",\n\t\t\t\t\tkey2: \"value2\",\n\t\t\t\t\tkey3: \"value3\",\n\t\t\t\t})\n\t\t\t);\n\t\t\tawait nodeishFs.writeFile(pathPattern, file.buffer as ArrayBuffer);\n\t\t},\n\t\ttoBeImportedFiles: async ({ settings }) => {\n\t\t\tconst pathPattern = settings[\"plugin.mock-plugin\"]?.pathPattern.replace(\n\t\t\t\t\"{locale}\",\n\t\t\t\t\"en\"\n\t\t\t) as string;\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tpath: pathPattern,\n\t\t\t\t\tlocale: \"en\",\n\t\t\t\t},\n\t\t\t];\n\t\t},\n\t};\n\n\tconst fs = Volume.fromJSON(mockRepo);\n\n\tconst loadMessagesSpy = vi.spyOn(mockPlugin, \"loadMessages\");\n\tconst saveMessagesSpy = vi.spyOn(mockPlugin, \"saveMessages\");\n\tconst toBeImportedFilesSpy = vi.spyOn(mockPlugin, \"toBeImportedFiles\");\n\tconst fsReadFileSpy = vi.spyOn(fs.promises, \"readFile\");\n\tconst fsWriteFileSpy = vi.spyOn(fs.promises, \"writeFile\");\n\n\tconst project = await loadProjectFromDirectory({\n\t\tfs: fs as any,\n\t\tpath: \"/project.inlang\",\n\t\tprovidePlugins: [mockPlugin],\n\t});\n\n\texpect(loadMessagesSpy).toHaveBeenCalled();\n\texpect(fsReadFileSpy).toHaveBeenCalledWith(\"/messages/en.json\", undefined);\n\n\t// todo test that saveMessages works too.\n\t// await project.db.insertInto(\"bundle\").defaultValues().execute();\n\n\t// const translationFile = await fs.readFile(\"/messages/en.json\", \"utf-8\");\n\n\t// expect(translationFile).toBe(\n\t// \tJSON.stringify({\n\t// \t\tkey1: \"value1\",\n\t// \t\tkey2: \"value2\",\n\t// \t\tkey3: \"value3\",\n\t// \t})\n\t// );\n\n\t// expect(fsWriteFileSpy).toHaveBeenCalledWith(\n\t// \t\"/messages/en.json\",\n\t// \tJSON.stringify({\n\t// \t\tkey1: \"value1\",\n\t// \t\tkey2: \"value2\",\n\t// \t\tkey3: \"value3\",\n\t// \t}),\n\t// \t\"utf-8\"\n\t// );\n\n\t// expect(saveMessagesSpy).toHaveBeenCalled();\n\t// expect(toBeImportedFilesSpy).toHaveBeenCalled();\n});\n\ntest(\"it can import plugins via http\", async () => {\n\tconst mockRepo = {\n\t\t\"/project.inlang/settings.json\": JSON.stringify({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\"],\n\t\t\tmodules: [\"https://example.com/plugin.js\"],\n\t\t} satisfies ProjectSettings),\n\t};\n\n\tconst fs = Volume.fromJSON(mockRepo);\n\n\tconst mockPluginModule = `export default {\n\t\t\tkey: \"mock-plugin\"\t\n\t\t}`;\n\n\tglobal.fetch = vi.fn(() => Promise.resolve(new Response(mockPluginModule)));\n\n\tconst project = await loadProjectFromDirectory({\n\t\tfs: fs as any,\n\t\tpath: \"/project.inlang\",\n\t});\n\n\tconst plugins = await project.plugins.get();\n\n\texpect(global.fetch).toHaveBeenCalledWith(\"https://example.com/plugin.js\");\n\texpect(plugins.length).toBe(1);\n\n\tconst pluginCache = await project.lix.db\n\t\t.selectFrom(\"file\")\n\t\t.selectAll()\n\t\t.where(\"path\", \"like\", \"/cache/plugins/%\")\n\t\t.execute();\n\n\texpect(\n\t\tpluginCache.some(\n\t\t\t(file) => new TextDecoder().decode(file.data) === mockPluginModule\n\t\t),\n\t\t\"expecting the plugin to be cached\"\n\t).toBe(true);\n});\n\ntest(\"plugins that provide both loadMessages and importFiles should be allowed and the importFiles should be called\", async () => {\n\tconst mockRepo = {\n\t\t\"/project.inlang/settings.json\": JSON.stringify({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\"],\n\t\t\tmodules: [],\n\t\t} satisfies ProjectSettings),\n\t};\n\n\tconst fs = Volume.fromJSON(mockRepo);\n\n\tconst mockPlugin: InlangPlugin = {\n\t\tkey: \"mock-plugin\",\n\t\tloadMessages: vi.fn(async () => []),\n\t\timportFiles: vi.fn(async () => {\n\t\t\treturn { bundles: [], messages: [], variants: [] };\n\t\t}),\n\t};\n\n\tconst project = await loadProjectFromDirectory({\n\t\tfs: fs as any,\n\t\tpath: \"/project.inlang\",\n\t\tprovidePlugins: [mockPlugin],\n\t});\n\n\texpect(mockPlugin.importFiles).toHaveBeenCalled();\n\texpect(mockPlugin.loadMessages).not.toHaveBeenCalled();\n});\n\ntest(\"providing multiple plugins that have legacy loadMessages and saveMessages function should be possible if they have import/export functions\", async () => {\n\tconst mockRepo = {\n\t\t\"/project.inlang/settings.json\": JSON.stringify({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\"],\n\t\t\tmodules: [],\n\t\t} satisfies ProjectSettings),\n\t};\n\n\tconst fs = Volume.fromJSON(mockRepo);\n\n\tconst mockPlugin1: InlangPlugin = {\n\t\tkey: \"mock-plugin1\",\n\t\tloadMessages: vi.fn(async () => []),\n\t\timportFiles: vi.fn(async () => {\n\t\t\treturn { bundles: [], messages: [], variants: [] };\n\t\t}),\n\t};\n\n\tconst mockPlugin2: InlangPlugin = {\n\t\tkey: \"mock-plugin2\",\n\t\tloadMessages: vi.fn(async () => []),\n\t\timportFiles: vi.fn(async () => {\n\t\t\treturn { bundles: [], messages: [], variants: [] };\n\t\t}),\n\t};\n\n\tconst project = await loadProjectFromDirectory({\n\t\tfs: fs as any,\n\t\tpath: \"/project.inlang\",\n\t\tprovidePlugins: [mockPlugin1, mockPlugin2],\n\t});\n\n\texpect(mockPlugin1.importFiles).toHaveBeenCalled();\n\texpect(mockPlugin1.loadMessages).not.toHaveBeenCalled();\n\n\texpect(mockPlugin2.importFiles).toHaveBeenCalled();\n\texpect(mockPlugin2.loadMessages).not.toHaveBeenCalled();\n});\n"],"names":[],"mappings":"AAAA,sDAAsD;;;AAEtD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EACN,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAMjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAE9E,IAAI,CAAC,gGAAgG,EAAE,KAAK,IAAI,EAAE;IACjH,MAAM,gBAAgB,GAAiB;QACtC,GAAG,EAAE,oBAAoB;QACzB,YAAY,EAAE,KAAK,IAAI,EAAE;YACxB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,YAAY,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;KAC5B,CAAC;IAEF,MAAM,iBAAiB,GAAiB;QACvC,GAAG,EAAE,sBAAsB;QAC3B,YAAY,EAAE,KAAK,IAAI,EAAE;YACxB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,YAAY,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;KAC5B,CAAC;IAEF,MAAM,sBAAsB,GAAiB;QAC5C,GAAG,EAAE,2BAA2B;QAChC,WAAW,EAAE,GAAG,EAAE;YACjB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YACjB,OAAO,EAAS,CAAC;QAClB,CAAC;KACD,CAAC;IAEF,MAAM,MAAM,CACX,CAAC,KAAK,IAAI,EAAE;QACX,MAAM,wBAAwB,CAAC;YAC9B,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;gBACnB,gCAAgC,EAAE,IAAI,CAAC,SAAS,CAAC;oBAChD,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;oBACrB,OAAO,EAAE,EAAE;iBACe,CAAC;aAC5B,CAAQ;YACT,IAAI,EAAE,kBAAkB;YACxB,cAAc,EAAE;gBACf,gBAAgB;gBAChB,iBAAiB;gBACjB,sBAAsB;aACtB;SACD,CAAC,CAAC;IACJ,CAAC,CAAC,EAAE,CACJ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IAEzB,MAAM,MAAM,CACX,CAAC,KAAK,IAAI,EAAE;QACX,MAAM,wBAAwB,CAAC;YAC9B,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;gBACnB,gCAAgC,EAAE,IAAI,CAAC,SAAS,CAAC;oBAChD,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;oBACrB,OAAO,EAAE,EAAE;iBACe,CAAC;aAC5B,CAAQ;YACT,IAAI,EAAE,kBAAkB;YACxB,cAAc,EAAE;gBACf,gBAAgB;gBAChB,iBAAiB;gBACjB,sBAAsB;aACtB;SACD,CAAC,CAAC;IACJ,CAAC,CAAC,EAAE,CACJ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;IAC9F,MAAM,gBAAgB,GAAiB;QACtC,EAAE,EAAE,oBAAoB;QACxB,4DAA4D;QAC5D,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,oBAAoB,CAAC,EAAE,WAAqB,CAAC;YAE1E,MAAM,QAAQ,GAAgB,EAAE,CAAC;YAEjC,gEAAgE;YAChE,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBACjD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CACpC,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE,WAAW,CAAC,CACjD,CAAC;gBAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CACxC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAC3B,EAAE,CAAC;oBACH,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CACpC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,CAC/B,CAAC;oBACF,MAAM,OAAO,GAAG;wBACf,WAAW,EAAE,WAAW;wBACxB,KAAK,EAAE,EAAE;wBACT,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAC5B,CAAC;oBACf,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;wBACnC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACP,QAAQ,CAAC,IAAI,CAAC;4BACb,KAAK,EAAE,EAAE;4BACT,EAAE,EAAE,GAAG;4BACP,SAAS,EAAE,EAAE;4BACb,QAAQ,EAAE,CAAC,OAAO,CAAC;yBACnB,CAAC,CAAC;oBACJ,CAAC;gBACF,CAAC;YACF,CAAC;YAED,OAAO,QAAQ,CAAC;QACjB,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;YACzD,MAAM,WAAW,GAAG,QAAQ,CAAC,oBAAoB,CAAC,EAAE,WAAqB,CAAC;YAC1E,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,YAAa,EAAE,CAAC;gBAClD,MAAM,kBAAkB,GAAG,EAA4B,CAAC;gBACxD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAChC,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CACjD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAChD,CAAC;oBACF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnC,6CAA6C;oBAC9C,CAAC;yBAAM,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC5C,IACC,kBAAkB,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;4BAC1C,kBAAkB,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,EACjD,CAAC;4BACF,SAAS;wBACV,CAAC;wBACD,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,GAC7B,kBAAkB,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,CAChC,CAAC,KAAK,CAAC;oBACT,CAAC;oBACD,aAAa;gBACd,CAAC;gBACD,MAAM,SAAS,CAAC,SAAS,CACxB,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE,WAAW,CAAC,EACjD,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAC3C,CAAC;YACH,CAAC;QACF,CAAC;KACD,CAAC;IACF,MAAM,QAAQ,GAAG;QAChB,aAAa,EAAE,eAAe;QAC9B,gBAAgB,EAAE,4BAA4B;QAC9C,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC;YAC5C,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;SACd,CAAC;QACF,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC;YAC5C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;SACb,CAAC;QACF,gCAAgC,EAAE,IAAI,CAAC,SAAS,CAAC;YAChD,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;YACrB,OAAO,EAAE,CAAC,kBAAkB,CAAC;YAC7B,oBAAoB,EAAE;gBACrB,WAAW,EAAE,uCAAuC;aACpD;SACyB,CAAC;KAC5B,CAAC;IAEF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAErC,IAAI,OAAO,GAAG,MAAM,wBAAwB,CAAC;QAC5C,EAAE,EAAE,EAAS;QACb,IAAI,EAAE,kBAAkB;QACxB,cAAc,EAAE,CAAC,gBAAgB,CAAC;KAClC,CAAC,CAAC;IAEH,MAAM,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE;QACpC,EAAE,EAAE,QAAQ;QACZ,QAAQ,EAAE;YACT;gBACC,EAAE,EAAE,cAAc;gBAClB,QAAQ,EAAE,aAAa;gBACvB,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE;oBACT;wBACC,SAAS,EAAE,cAAc;wBACzB,OAAO,EAAE;4BACR;gCACC,IAAI,EAAE,MAAM;gCACZ,KAAK,EAAE,MAAM;6BACb;yBACD;qBACD;iBACD;aACD;SACD;KACD,CAAC,CAAC;IAEH,MAAM,sBAAsB,CAAC;QAC5B,EAAE,EAAE,EAAE,CAAC,QAAe;QACtB,IAAI,EAAE,kBAAkB;QACxB,OAAO;KACP,CAAC,CAAC;IAEH,OAAO,GAAG,MAAM,wBAAwB,CAAC;QACxC,EAAE,EAAE,EAAS;QACb,IAAI,EAAE,kBAAkB;QACxB,cAAc,EAAE,CAAC,gBAAgB,CAAC;KAClC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAE/D,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAExE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,CACJ,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAU,EAAE,KAAK,CACxE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,WAAW;IACX,6DAA6D;IAC7D,UAAU;IACV,4EAA4E;IAC5E,mBAAmB;IAEnB,6DAA6D;IAC7D,UAAU;IACV,4EAA4E;IAC5E,oBAAoB;IAEpB,6DAA6D;IAC7D,UAAU;IACV,4EAA4E;IAC5E,mBAAmB;AACpB,CAAC,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG;IACpB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACrB,OAAO,EAAE,EAAE;CACe,CAAC;AAE5B,MAAM,aAAa,GAAG;IACrB,sCAAsC,EAAE,aAAa;IACrD,4BAA4B,EAAE,WAAW;IACzC,iCAAiC,EAAE,gBAAgB;IACnD,2BAA2B,EAAE,cAAc;IAC3C,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;CAC7D,CAAC;AAEF,QAAQ,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;IACxF,IAAI,CAAC,+FAA+F,EAAE,KAAK,IAAI,EAAE;QAChH,MAAM,YAAY,GAAG,GAAG,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;YAC9C,EAAE,EAAE,EAAS;YACb,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,YAAY;SAC1B,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC;QAE5E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CACxB,CAAC,GAAG,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,gBAAgB,CACnD,CAAC;QAEF,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO,GAAG,CAAC;QACZ,CAAC,EAAE,EAAS,CAAC,CAAC;QAEd,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,YAAY,GAAG,GAAG,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;YAC9C,EAAE,EAAE,EAAS;YACb,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,YAAY;SAC1B,CAAC,CAAC;QAEH,EAAE,CAAC,aAAa,CACf,wCAAwC,EACxC,qBAAqB,EACrB;YACC,QAAQ,EAAE,OAAO;SACjB,CACD,CAAC;QAEF,yDAAyD;QACzD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC;QAEvE,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE;aAC1C,UAAU,CAAC,MAAM,CAAC;aAClB,SAAS,EAAE;aACX,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,yBAAyB,CAAC;aAC7C,uBAAuB,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAC1D,qBAAqB,CACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,YAAY,GAAG,GAAG,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;YAC9C,EAAE,EAAE,EAAS;YACb,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,YAAY;SAC1B,CAAC,CAAC;QAEH,mDAAmD;QACnD,EAAE,CAAC,aAAa,CACf,+BAA+B,EAC/B,IAAI,CAAC,SAAS,CAAC;YACd,GAAG,YAAY;YACf,UAAU,EAAE,qCAAqC;SACjD,CAAC,CACF,CAAC;QAEF,qCAAqC;QACrC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE;aACpC,UAAU,CAAC,MAAM,CAAC;aAClB,SAAS,EAAE;aACX,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,gBAAgB,CAAC;aACpC,uBAAuB,EAAE,CAAC;QAE5B,MAAM,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAC3C,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CACxC,CAAC;QAEF,MAAM,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,IAAI,CAChD,qCAAqC,CACrC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,YAAY,GAAG,GAAG,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;YAC9C,EAAE,EAAE,EAAS;YACb,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,YAAY;SAC1B,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE;aAC3C,UAAU,CAAC,MAAM,CAAC;aAClB,SAAS,EAAE;aACX,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC;aAChC,OAAO,EAAE,CAAC;QAEZ,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAExC,mDAAmD;QACnD,EAAE,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;QAE3C,qCAAqC;QACrC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC;QACvE,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE;aACzC,UAAU,CAAC,MAAM,CAAC;aAClB,SAAS,EAAE;aACX,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC;aAChC,OAAO,EAAE,CAAC;QAEZ,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,YAAY,GAAG,GAAG,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;YAC9C,EAAE,EAAE,EAAS;YACb,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,YAAY;SAC1B,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE;aAClB,UAAU,CAAC,MAAM,CAAC;aAClB,MAAM,CAAC;YACP,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC;SAClD,CAAC;aACD,OAAO,EAAE,CAAC;QAEZ,yDAAyD;QACzD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC;QAEvE,MAAM,uBAAuB,GAAG,EAAE;aAChC,YAAY,CAAC,yCAAyC,CAAC;aACvD,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,YAAY,GAAG,GAAG,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;YAC9C,EAAE,EAAE,EAAS;YACb,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,YAAY;SAC1B,CAAC,CAAC;QAEH,sCAAsC;QACtC,mEAAmE;QACnE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE;aAClB,WAAW,CAAC,MAAM,CAAC;aACnB,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,gBAAgB,CAAC;aACpC,GAAG,CAAC;YACJ,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAC7B,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC,CACpE;SACD,CAAC;aACD,OAAO,EAAE,CAAC;QAEZ,yDAAyD;QACzD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC;QAEvE,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,+BAA+B,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEnD,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,YAAY,GAAG,GAAG,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;YAC9C,EAAE,EAAE,EAAS;YACb,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,YAAY;SAC1B,CAAC,CAAC;QAEH,sCAAsC;QACtC,mEAAmE;QACnE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE;aAClB,UAAU,CAAC,MAAM,CAAC;aAClB,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,CAAC;aACjC,OAAO,EAAE,CAAC;QAEZ,yDAAyD;QACzD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC;QAEvE,MAAM,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC;QAErE,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,YAAY,GAAG,GAAG,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;YAC9C,EAAE,EAAE,EAAS;YACb,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,YAAY;SAC1B,CAAC,CAAC;QAEH,iDAAiD;QACjD,mFAAmF;QACnF,EAAE,CAAC,aAAa,CACf,+BAA+B,EAC/B,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAC7D,CAAC;QAEF,kDAAkD;QAClD,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE;aAClB,WAAW,CAAC,MAAM,CAAC;aACnB,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,gBAAgB,CAAC;aACpC,GAAG,CAAC;YACJ,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAC7B,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAC9D;SACD,CAAC;aACD,OAAO,EAAE,CAAC;QAEZ,yDAAyD;QACzD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAE1D,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,CAAC,+BAA+B,CAAC,CAAC;QAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEjE,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEtD,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE;aAC3C,UAAU,CAAC,MAAM,CAAC;aAClB,SAAS,EAAE;aACX,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,gBAAgB,CAAC;aACpC,uBAAuB,EAAE,CAAC;QAE5B,MAAM,+BAA+B,GAAG,IAAI,CAAC,KAAK,CACjD,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAC/C,CAAC;QAEF,MAAM,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;IAC1E,MAAM,IAAI,GAAG;QACZ,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/C,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;YACrB,OAAO,EAAE,EAAE;SACe,CAAC;KAC5B,CAAC;IAEF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEjC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE;QAC/B,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACrB,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACzB,kCAAkC;gBAClC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACjC,GAAG,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,EAAE;wBACrC,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;4BACjC,2CAA2C;4BAC3C,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE;gCACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;oCACrC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;gCAC/B,CAAC;gCACD,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;4BAC/C,CAAC,CAAC;wBACH,CAAC;wBACD,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;oBAClD,CAAC;iBACD,CAAC,CAAC;YACJ,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;KACD,CAAC,CAAC;IAEH,MAAM,UAAU,GAAiB;QAChC,GAAG,EAAE,aAAa;QAClB,WAAW,EAAE,KAAK,IAAI,EAAE;YACvB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACpD,CAAC;QACD,iBAAiB,EAAE,KAAK,IAAI,EAAE;YAC7B,OAAO,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;KACD,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;QAC9C,EAAE,EAAE,SAAgB;QACpB,IAAI,EAAE,iBAAiB;QACvB,cAAc,EAAE,CAAC,UAAU,CAAC;KAC5B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAC1C,iGAAiG;IACjG,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;AAEH,oEAAoE;AACpE,IAAI,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;IAC9F,MAAM,IAAI,GAAG;QACZ,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/C,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;YACrB,OAAO,EAAE,EAAE;SACe,CAAC;KAC5B,CAAC;IAEF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEjC,MAAM,UAAU,GAAiB;QAChC,GAAG,EAAE,aAAa;QAClB,WAAW,EAAE,KAAK,IAAI,EAAE;YACvB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACpD,CAAC;QACD,iBAAiB,EAAE,KAAK,IAAI,EAAE;YAC7B,OAAO,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;KACD,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;QAC9C,EAAE,EAAE,EAAS;QACb,IAAI,EAAE,iBAAiB;QACvB,cAAc,EAAE,CAAC,UAAU,CAAC;KAC5B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,oEAAoE;AACpE,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;IAChE,MAAM,IAAI,GAAG;QACZ,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/C,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;SACK,CAAC;KAC5B,CAAC;IAEF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEjC,MAAM,UAAU,GAAiB;QAChC,GAAG,EAAE,aAAa;QAClB,iBAAiB,EAAE,KAAK,IAAI,EAAE;YAC7B,OAAO;gBACN;oBACC,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE;wBACT,GAAG,EAAE,KAAK;qBACV;iBACD;aACD,CAAC;QACH,CAAC;QACD,WAAW,EAAE,KAAK,IAAI,EAAE;YACvB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACpD,CAAC;KACD,CAAC;IAEF,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAEtD,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;QAC9C,EAAE,EAAE,EAAS;QACb,IAAI,EAAE,iBAAiB;QACvB,cAAc,EAAE,CAAC,UAAU,CAAC;KAC5B,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAEnC,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACrC,MAAM,CAAC,gBAAgB,CAAC;QACvB,KAAK,EAAE;YACN,MAAM,CAAC,gBAAgB,CAAC;gBACvB,yBAAyB,EAAE;oBAC1B,GAAG,EAAE,KAAK;iBACV;aACD,CAAC;SACF;KACD,CAAC,CACF,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8GAA8G,EAAE,KAAK,IAAI,EAAE;IAC/H,MAAM,QAAQ,GAAG;QAChB,+BAA+B,EAAE,uCAAuC;QACxE,6BAA6B,EAC5B,8CAA8C;QAC/C,uCAAuC,EAAE,IAAI,CAAC,SAAS,CAAC;YACvD,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;YACrB,OAAO,EAAE;gBACR,iCAAiC;gBACjC,+BAA+B;aAC/B;SACyB,CAAC;KAC5B,CAAC;IAEF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;QAC9C,EAAE,EAAE,EAAS;QACb,IAAI,EAAE,yBAAyB;KAC/B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IAE9C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;IAE5D,oDAAoD;IACpD,iCAAiC;IACjC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC;AAEH,iDAAiD;AACjD,IAAI,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;IACzF,OAAO,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;IAExB,MAAM,QAAQ,GAAG;QAChB,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC;YACnC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;SACd,CAAC;QACF,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/C,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;YACrB,oBAAoB,EAAE;gBACrB,WAAW,EAAE,0BAA0B;aACvC;SACyB,CAAC;KAC5B,CAAC;IAEF,MAAM,UAAU,GAAiB;QAChC,GAAG,EAAE,aAAa;QAClB,YAAY,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC,OAAO,CACtE,UAAU,EACV,IAAI,CACM,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACnD,uDAAuD;YACvD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAC3B,IAAI,CAAC,SAAS,CAAC;gBACd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;aACd,CAAC,CACF,CAAC;YACF,OAAO,EAAE,CAAC;QACX,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC,OAAO,CACtE,UAAU,EACV,IAAI,CACM,CAAC;YACZ,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CACpC,IAAI,CAAC,SAAS,CAAC;gBACd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;aACd,CAAC,CACF,CAAC;YACF,MAAM,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,MAAqB,CAAC,CAAC;QACpE,CAAC;QACD,iBAAiB,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC,OAAO,CACtE,UAAU,EACV,IAAI,CACM,CAAC;YACZ,OAAO;gBACN;oBACC,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,IAAI;iBACZ;aACD,CAAC;QACH,CAAC;KACD,CAAC;IAEF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,oBAAoB,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;QAC9C,EAAE,EAAE,EAAS;QACb,IAAI,EAAE,iBAAiB;QACvB,cAAc,EAAE,CAAC,UAAU,CAAC;KAC5B,CAAC,CAAC;IAEH,MAAM,CAAC,eAAe,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC3C,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;IAE3E,yCAAyC;IACzC,mEAAmE;IAEnE,2EAA2E;IAE3E,gCAAgC;IAChC,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,MAAM;IACN,KAAK;IAEL,+CAA+C;IAC/C,wBAAwB;IACxB,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,OAAO;IACP,WAAW;IACX,KAAK;IAEL,8CAA8C;IAC9C,mDAAmD;AACpD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;IACjD,MAAM,QAAQ,GAAG;QAChB,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/C,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,CAAC,+BAA+B,CAAC;SAChB,CAAC;KAC5B,CAAC;IAEF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,gBAAgB,GAAG;;IAEtB,CAAC;IAEJ,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;QAC9C,EAAE,EAAE,EAAS;QACb,IAAI,EAAE,iBAAiB;KACvB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAE5C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,+BAA+B,CAAC,CAAC;IAC3E,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE/B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE;SACtC,UAAU,CAAC,MAAM,CAAC;SAClB,SAAS,EAAE;SACX,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC;SACzC,OAAO,EAAE,CAAC;IAEZ,MAAM,CACL,WAAW,CAAC,IAAI,CACf,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAClE,EACD,mCAAmC,CACnC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+GAA+G,EAAE,KAAK,IAAI,EAAE;IAChI,MAAM,QAAQ,GAAG;QAChB,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/C,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,EAAE;SACe,CAAC;KAC5B,CAAC;IAEF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,UAAU,GAAiB;QAChC,GAAG,EAAE,aAAa;QAClB,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACnC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE;YAC7B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACpD,CAAC,CAAC;KACF,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;QAC9C,EAAE,EAAE,EAAS;QACb,IAAI,EAAE,iBAAiB;QACvB,cAAc,EAAE,CAAC,UAAU,CAAC;KAC5B,CAAC,CAAC;IAEH,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAClD,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4IAA4I,EAAE,KAAK,IAAI,EAAE;IAC7J,MAAM,QAAQ,GAAG;QAChB,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/C,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,EAAE;SACe,CAAC;KAC5B,CAAC;IAEF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,WAAW,GAAiB;QACjC,GAAG,EAAE,cAAc;QACnB,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACnC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE;YAC7B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACpD,CAAC,CAAC;KACF,CAAC;IAEF,MAAM,WAAW,GAAiB;QACjC,GAAG,EAAE,cAAc;QACnB,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACnC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE;YAC7B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACpD,CAAC,CAAC;KACF,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;QAC9C,EAAE,EAAE,EAAS;QACb,IAAI,EAAE,iBAAiB;QACvB,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;KAC1C,CAAC,CAAC;IAEH,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACnD,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAExD,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACnD,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;AACzD,CAAC,CAAC,CAAC","debug_id":"a2e360a7-8037-526f-b036-d39152e1fa8a"}
@@ -1 +1 @@
1
- {"version":3,"file":"loadProjectInMemory.d.ts","sourceRoot":"/","sources":["project/loadProjectInMemory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;GAEG;AACH,wBAAsB,mBAAmB,CACxC,IAAI,EAAE;IACL,IAAI,EAAE,IAAI,CAAC;CACX,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,6CAwB7D"}
1
+ {"version":3,"file":"loadProjectInMemory.d.ts","sourceRoot":"/","sources":["project/loadProjectInMemory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;GAEG;AACH,wBAAsB,mBAAmB,CACxC,IAAI,EAAE;IACL,IAAI,EAAE,IAAI,CAAC;CACX,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,6CAyB7D"}
@@ -1,5 +1,5 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a1ae0d85-c53d-5b04-9c3e-d16a61fa7e92")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e6c68a72-5735-5221-ad8a-f9bdb6041efb")}catch(e){}}();
3
3
  import { openLixInMemory } from "@lix-js/sdk";
4
4
  import { createInMemoryDatabase, importDatabase } from "sqlite-wasm-kysely";
5
5
  import { loadProject } from "./loadProject.js";
@@ -9,6 +9,7 @@ import { loadProject } from "./loadProject.js";
9
9
  export async function loadProjectInMemory(args) {
10
10
  const lix = await openLixInMemory({
11
11
  blob: args.blob,
12
+ account: args.account,
12
13
  providePlugins: [
13
14
  // inlangLixPluginV1
14
15
  ],
@@ -28,4 +29,4 @@ export async function loadProjectInMemory(args) {
28
29
  });
29
30
  }
30
31
  //# sourceMappingURL=loadProjectInMemory.js.map
31
- //# debugId=a1ae0d85-c53d-5b04-9c3e-d16a61fa7e92
32
+ //# debugId=e6c68a72-5735-5221-ad8a-f9bdb6041efb
@@ -1 +1 @@
1
- {"version":3,"file":"loadProjectInMemory.js","sources":["project/loadProjectInMemory.ts"],"sourceRoot":"/","sourcesContent":["import { openLixInMemory } from \"@lix-js/sdk\";\nimport { createInMemoryDatabase, importDatabase } from \"sqlite-wasm-kysely\";\nimport { loadProject } from \"./loadProject.js\";\n\n/**\n * Load a project from a blob in memory.\n */\nexport async function loadProjectInMemory(\n\targs: {\n\t\tblob: Blob;\n\t} & Omit<Parameters<typeof loadProject>[0], \"sqlite\" | \"lix\">\n) {\n\tconst lix = await openLixInMemory({\n\t\tblob: args.blob,\n\t\tprovidePlugins: [\n\t\t\t// inlangLixPluginV1\n\t\t],\n\t});\n\n\tconst dbFile = await lix.db\n\t\t.selectFrom(\"file\")\n\t\t.select(\"data\")\n\t\t.where(\"path\", \"=\", \"/db.sqlite\")\n\t\t.executeTakeFirstOrThrow();\n\n\tconst sqlite = await createInMemoryDatabase({});\n\timportDatabase({ db: sqlite, content: new Uint8Array(dbFile.data) });\n\n\treturn await loadProject({\n\t\t// pass common arguments to loadProject\n\t\t...args,\n\t\tsqlite,\n\t\tlix,\n\t});\n}\n"],"names":[],"mappings":";;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,IAE6D;IAE7D,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC;QACjC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,cAAc,EAAE;QACf,oBAAoB;SACpB;KACD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE;SACzB,UAAU,CAAC,MAAM,CAAC;SAClB,MAAM,CAAC,MAAM,CAAC;SACd,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC;SAChC,uBAAuB,EAAE,CAAC;IAE5B,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAErE,OAAO,MAAM,WAAW,CAAC;QACxB,uCAAuC;QACvC,GAAG,IAAI;QACP,MAAM;QACN,GAAG;KACH,CAAC,CAAC;AACJ,CAAC","debug_id":"a1ae0d85-c53d-5b04-9c3e-d16a61fa7e92"}
1
+ {"version":3,"file":"loadProjectInMemory.js","sources":["project/loadProjectInMemory.ts"],"sourceRoot":"/","sourcesContent":["import { openLixInMemory } from \"@lix-js/sdk\";\nimport { createInMemoryDatabase, importDatabase } from \"sqlite-wasm-kysely\";\nimport { loadProject } from \"./loadProject.js\";\n\n/**\n * Load a project from a blob in memory.\n */\nexport async function loadProjectInMemory(\n\targs: {\n\t\tblob: Blob;\n\t} & Omit<Parameters<typeof loadProject>[0], \"sqlite\" | \"lix\">\n) {\n\tconst lix = await openLixInMemory({\n\t\tblob: args.blob,\n\t\taccount: args.account,\n\t\tprovidePlugins: [\n\t\t\t// inlangLixPluginV1\n\t\t],\n\t});\n\n\tconst dbFile = await lix.db\n\t\t.selectFrom(\"file\")\n\t\t.select(\"data\")\n\t\t.where(\"path\", \"=\", \"/db.sqlite\")\n\t\t.executeTakeFirstOrThrow();\n\n\tconst sqlite = await createInMemoryDatabase({});\n\timportDatabase({ db: sqlite, content: new Uint8Array(dbFile.data) });\n\n\treturn await loadProject({\n\t\t// pass common arguments to loadProject\n\t\t...args,\n\t\tsqlite,\n\t\tlix,\n\t});\n}\n"],"names":[],"mappings":";;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,IAE6D;IAE7D,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC;QACjC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,cAAc,EAAE;QACf,oBAAoB;SACpB;KACD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE;SACzB,UAAU,CAAC,MAAM,CAAC;SAClB,MAAM,CAAC,MAAM,CAAC;SACd,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC;SAChC,uBAAuB,EAAE,CAAC;IAE5B,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAErE,OAAO,MAAM,WAAW,CAAC;QACxB,uCAAuC;QACvC,GAAG,IAAI;QACP,MAAM;QACN,GAAG;KACH,CAAC,CAAC;AACJ,CAAC","debug_id":"e6c68a72-5735-5221-ad8a-f9bdb6041efb"}
@@ -1,8 +1,14 @@
1
1
  import { Kysely } from "kysely";
2
- import { type ProjectState } from "./state/state.js";
3
2
  import type { InlangDatabaseSchema } from "../database/schema.js";
3
+ import type { ProjectSettings } from "../json-schema/settings.js";
4
+ import type { Lix } from "@lix-js/sdk";
4
5
  export declare function maybeCaptureLoadedProject(args: {
5
- state: ProjectState;
6
+ id: string;
7
+ lix: Lix;
8
+ settings: ProjectSettings;
9
+ plugins: Readonly<Array<{
10
+ key: string;
11
+ }>>;
6
12
  appId?: string;
7
13
  db: Kysely<InlangDatabaseSchema>;
8
14
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"maybeCaptureTelemetry.d.ts","sourceRoot":"/","sources":["project/maybeCaptureTelemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACrD,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;CACjC,iBAwCA"}
1
+ {"version":3,"file":"maybeCaptureTelemetry.d.ts","sourceRoot":"/","sources":["project/maybeCaptureTelemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;CACjC,iBAqDA"}
@@ -1,46 +1,58 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="05ec05b9-89c8-5cfd-9449-d84fb722933f")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="55ec9f86-02cc-595e-9046-4e7388e9f61b")}catch(e){}}();
3
3
  import { Kysely } from "kysely";
4
4
  import { capture } from "../services/telemetry/capture.js";
5
- import {} from "./state/state.js";
6
5
  import { ENV_VARIABLES } from "../services/env-variables/index.js";
6
+ import { captureError } from "../services/error-reporting/index.js";
7
7
  export async function maybeCaptureLoadedProject(args) {
8
- const id = await args.state.id.get();
9
- const settings = await args.state.settings.get();
10
- const plugins = await args.state.plugins.get();
11
- if (settings.telemetry === "off") {
8
+ if (args.settings.telemetry === "off") {
12
9
  return;
13
10
  }
14
- const bundles = await args.db
15
- .selectFrom("bundle")
16
- .select((s) => s.fn.count("id").as("count"))
17
- .executeTakeFirst();
18
- const messages = await args.db
19
- .selectFrom("message")
20
- .select((s) => s.fn.count("id").as("count"))
21
- .executeTakeFirst();
22
- const variants = await args.db
23
- .selectFrom("variant")
24
- .select((s) => s.fn.count("id").as("count"))
25
- .executeTakeFirst();
26
- await capture("SDK loaded project", {
27
- projectId: id,
28
- settings,
29
- properties: {
30
- // Insight: Which app is used by the SDK
31
- appId: args.appId,
32
- // Insight: How many languages are used, etc.
33
- settings,
34
- // Insight on the used plugins (which one's to prioritize)
35
- pluginKeys: plugins.map((plugin) => plugin.key),
36
- // Insight: Which version of the SDK is used (can be used to deprecate old versions)
37
- sdkVersion: ENV_VARIABLES.SDK_VERSION,
38
- // Insight: Scale of projects (what project size to optimize for)
39
- numBundles: bundles?.count,
40
- numMessages: messages?.count,
41
- numVariants: variants?.count,
42
- },
43
- });
11
+ try {
12
+ const activeAccount = await args.lix.db
13
+ .selectFrom("active_account")
14
+ .select("id")
15
+ .executeTakeFirstOrThrow();
16
+ const bundles = await args.db
17
+ .selectFrom("bundle")
18
+ .select((s) => s.fn.count("id").as("count"))
19
+ .executeTakeFirst();
20
+ const messages = await args.db
21
+ .selectFrom("message")
22
+ .select((s) => s.fn.count("id").as("count"))
23
+ .executeTakeFirst();
24
+ const variants = await args.db
25
+ .selectFrom("variant")
26
+ .select((s) => s.fn.count("id").as("count"))
27
+ .executeTakeFirst();
28
+ await capture("SDK loaded project", {
29
+ projectId: args.id,
30
+ settings: args.settings,
31
+ accountId: activeAccount.id,
32
+ properties: {
33
+ // Insight: Which app is used by the SDK
34
+ appId: args.appId,
35
+ // Insight: How many languages are used, etc.
36
+ settings: args.settings,
37
+ // Insight on the used plugins (which one's to prioritize)
38
+ pluginKeys: args.plugins.map((plugin) => plugin.key),
39
+ // Insight: Which version of the SDK is used (can be used to deprecate old versions)
40
+ sdkVersion: ENV_VARIABLES.SDK_VERSION,
41
+ // Insight: Scale of projects (what project size to optimize for)
42
+ numBundles: bundles?.count,
43
+ numMessages: messages?.count,
44
+ numVariants: variants?.count,
45
+ },
46
+ });
47
+ }
48
+ catch (e) {
49
+ if (e instanceof Error &&
50
+ e.message.includes("driver has already been destroyed")) {
51
+ // The project has been closed, nothing to capture
52
+ return;
53
+ }
54
+ captureError(e);
55
+ }
44
56
  }
45
57
  //# sourceMappingURL=maybeCaptureTelemetry.js.map
46
- //# debugId=05ec05b9-89c8-5cfd-9449-d84fb722933f
58
+ //# debugId=55ec9f86-02cc-595e-9046-4e7388e9f61b
@@ -1 +1 @@
1
- {"version":3,"file":"maybeCaptureTelemetry.js","sources":["project/maybeCaptureTelemetry.ts"],"sourceRoot":"/","sourcesContent":["import { Kysely } from \"kysely\";\nimport { capture } from \"../services/telemetry/capture.js\";\nimport { type ProjectState } from \"./state/state.js\";\nimport type { InlangDatabaseSchema } from \"../database/schema.js\";\nimport { ENV_VARIABLES } from \"../services/env-variables/index.js\";\n\nexport async function maybeCaptureLoadedProject(args: {\n\tstate: ProjectState;\n\tappId?: string;\n\tdb: Kysely<InlangDatabaseSchema>;\n}) {\n\tconst id = await args.state.id.get();\n\tconst settings = await args.state.settings.get();\n\tconst plugins = await args.state.plugins.get();\n\n\tif (settings.telemetry === \"off\") {\n\t\treturn;\n\t}\n\n\tconst bundles = await args.db\n\t\t.selectFrom(\"bundle\")\n\t\t.select((s) => s.fn.count(\"id\").as(\"count\"))\n\t\t.executeTakeFirst();\n\tconst messages = await args.db\n\t\t.selectFrom(\"message\")\n\t\t.select((s) => s.fn.count(\"id\").as(\"count\"))\n\t\t.executeTakeFirst();\n\tconst variants = await args.db\n\t\t.selectFrom(\"variant\")\n\t\t.select((s) => s.fn.count(\"id\").as(\"count\"))\n\t\t.executeTakeFirst();\n\n\tawait capture(\"SDK loaded project\", {\n\t\tprojectId: id,\n\t\tsettings,\n\t\tproperties: {\n\t\t\t// Insight: Which app is used by the SDK\n\t\t\tappId: args.appId,\n\t\t\t// Insight: How many languages are used, etc.\n\t\t\tsettings,\n\t\t\t// Insight on the used plugins (which one's to prioritize)\n\t\t\tpluginKeys: plugins.map((plugin) => plugin.key),\n\t\t\t// Insight: Which version of the SDK is used (can be used to deprecate old versions)\n\t\t\tsdkVersion: ENV_VARIABLES.SDK_VERSION,\n\t\t\t// Insight: Scale of projects (what project size to optimize for)\n\t\t\tnumBundles: bundles?.count,\n\t\t\tnumMessages: messages?.count,\n\t\t\tnumVariants: variants?.count,\n\t\t},\n\t});\n}\n"],"names":[],"mappings":";;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAqB,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAI/C;IACA,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAE/C,IAAI,QAAQ,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAClC,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE;SAC3B,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;SAC3C,gBAAgB,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE;SAC5B,UAAU,CAAC,SAAS,CAAC;SACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;SAC3C,gBAAgB,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE;SAC5B,UAAU,CAAC,SAAS,CAAC;SACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;SAC3C,gBAAgB,EAAE,CAAC;IAErB,MAAM,OAAO,CAAC,oBAAoB,EAAE;QACnC,SAAS,EAAE,EAAE;QACb,QAAQ;QACR,UAAU,EAAE;YACX,wCAAwC;YACxC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,6CAA6C;YAC7C,QAAQ;YACR,0DAA0D;YAC1D,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;YAC/C,oFAAoF;YACpF,UAAU,EAAE,aAAa,CAAC,WAAW;YACrC,iEAAiE;YACjE,UAAU,EAAE,OAAO,EAAE,KAAK;YAC1B,WAAW,EAAE,QAAQ,EAAE,KAAK;YAC5B,WAAW,EAAE,QAAQ,EAAE,KAAK;SAC5B;KACD,CAAC,CAAC;AACJ,CAAC","debug_id":"05ec05b9-89c8-5cfd-9449-d84fb722933f"}
1
+ {"version":3,"file":"maybeCaptureTelemetry.js","sources":["project/maybeCaptureTelemetry.ts"],"sourceRoot":"/","sourcesContent":["import { Kysely } from \"kysely\";\nimport { capture } from \"../services/telemetry/capture.js\";\nimport type { InlangDatabaseSchema } from \"../database/schema.js\";\nimport { ENV_VARIABLES } from \"../services/env-variables/index.js\";\nimport type { ProjectSettings } from \"../json-schema/settings.js\";\nimport { captureError } from \"../services/error-reporting/index.js\";\nimport type { Lix } from \"@lix-js/sdk\";\n\nexport async function maybeCaptureLoadedProject(args: {\n\tid: string;\n\tlix: Lix;\n\tsettings: ProjectSettings;\n\tplugins: Readonly<Array<{ key: string }>>;\n\tappId?: string;\n\tdb: Kysely<InlangDatabaseSchema>;\n}) {\n\tif (args.settings.telemetry === \"off\") {\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst activeAccount = await args.lix.db\n\t\t\t.selectFrom(\"active_account\")\n\t\t\t.select(\"id\")\n\t\t\t.executeTakeFirstOrThrow();\n\n\t\tconst bundles = await args.db\n\t\t\t.selectFrom(\"bundle\")\n\t\t\t.select((s) => s.fn.count(\"id\").as(\"count\"))\n\t\t\t.executeTakeFirst();\n\t\tconst messages = await args.db\n\t\t\t.selectFrom(\"message\")\n\t\t\t.select((s) => s.fn.count(\"id\").as(\"count\"))\n\t\t\t.executeTakeFirst();\n\t\tconst variants = await args.db\n\t\t\t.selectFrom(\"variant\")\n\t\t\t.select((s) => s.fn.count(\"id\").as(\"count\"))\n\t\t\t.executeTakeFirst();\n\n\t\tawait capture(\"SDK loaded project\", {\n\t\t\tprojectId: args.id,\n\t\t\tsettings: args.settings,\n\t\t\taccountId: activeAccount.id,\n\t\t\tproperties: {\n\t\t\t\t// Insight: Which app is used by the SDK\n\t\t\t\tappId: args.appId,\n\t\t\t\t// Insight: How many languages are used, etc.\n\t\t\t\tsettings: args.settings,\n\t\t\t\t// Insight on the used plugins (which one's to prioritize)\n\t\t\t\tpluginKeys: args.plugins.map((plugin) => plugin.key),\n\t\t\t\t// Insight: Which version of the SDK is used (can be used to deprecate old versions)\n\t\t\t\tsdkVersion: ENV_VARIABLES.SDK_VERSION,\n\t\t\t\t// Insight: Scale of projects (what project size to optimize for)\n\t\t\t\tnumBundles: bundles?.count,\n\t\t\t\tnumMessages: messages?.count,\n\t\t\t\tnumVariants: variants?.count,\n\t\t\t},\n\t\t});\n\t} catch (e) {\n\t\tif (\n\t\t\te instanceof Error &&\n\t\t\te.message.includes(\"driver has already been destroyed\")\n\t\t) {\n\t\t\t// The project has been closed, nothing to capture\n\t\t\treturn;\n\t\t}\n\t\tcaptureError(e);\n\t}\n}\n"],"names":[],"mappings":";;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAGpE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAO/C;IACA,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO;IACR,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE;aACrC,UAAU,CAAC,gBAAgB,CAAC;aAC5B,MAAM,CAAC,IAAI,CAAC;aACZ,uBAAuB,EAAE,CAAC;QAE5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE;aAC3B,UAAU,CAAC,QAAQ,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;aAC3C,gBAAgB,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE;aAC5B,UAAU,CAAC,SAAS,CAAC;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;aAC3C,gBAAgB,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE;aAC5B,UAAU,CAAC,SAAS,CAAC;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;aAC3C,gBAAgB,EAAE,CAAC;QAErB,MAAM,OAAO,CAAC,oBAAoB,EAAE;YACnC,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,aAAa,CAAC,EAAE;YAC3B,UAAU,EAAE;gBACX,wCAAwC;gBACxC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,6CAA6C;gBAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,0DAA0D;gBAC1D,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;gBACpD,oFAAoF;gBACpF,UAAU,EAAE,aAAa,CAAC,WAAW;gBACrC,iEAAiE;gBACjE,UAAU,EAAE,OAAO,EAAE,KAAK;gBAC1B,WAAW,EAAE,QAAQ,EAAE,KAAK;gBAC5B,WAAW,EAAE,QAAQ,EAAE,KAAK;aAC5B;SACD,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,IACC,CAAC,YAAY,KAAK;YAClB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EACtD,CAAC;YACF,kDAAkD;YAClD,OAAO;QACR,CAAC;QACD,YAAY,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC","debug_id":"55ec9f86-02cc-595e-9046-4e7388e9f61b"}
@@ -1,5 +1,5 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e39b7383-67af-5940-8d17-34a197721f3f")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="4ffe5d07-d7e2-5ed5-a722-195e67f62ddf")}catch(e){}}();
3
3
  import { expect, test, vi } from "vitest";
4
4
  import { loadProjectInMemory } from "./loadProjectInMemory.js";
5
5
  import { newProject } from "./newProject.js";
@@ -22,6 +22,10 @@ test("it should capture as expected", async () => {
22
22
  const project = await loadProjectInMemory({
23
23
  blob: await newProject(),
24
24
  });
25
+ const account = await project.lix.db
26
+ .selectFrom("active_account")
27
+ .select("id")
28
+ .executeTakeFirstOrThrow();
25
29
  const bundle = await project.db
26
30
  .insertInto("bundle")
27
31
  .defaultValues()
@@ -37,14 +41,21 @@ test("it should capture as expected", async () => {
37
41
  .values({ messageId: message.id })
38
42
  .returningAll()
39
43
  .executeTakeFirst();
44
+ const settings = await project.settings.get();
45
+ const id = await project.id.get();
46
+ const plugins = await project.plugins.get();
40
47
  await maybeCaptureLoadedProject({
41
- state: project,
48
+ id,
49
+ settings,
50
+ plugins,
51
+ lix: project.lix,
42
52
  appId: "test",
43
53
  db: project.db,
44
54
  });
45
55
  expect(capture).toHaveBeenCalledWith("SDK loaded project", {
46
56
  projectId: await project.id.get(),
47
57
  settings: await project.settings.get(),
58
+ accountId: account.id,
48
59
  properties: {
49
60
  appId: "test",
50
61
  settings: await project.settings.get(),
@@ -57,4 +68,4 @@ test("it should capture as expected", async () => {
57
68
  });
58
69
  });
59
70
  //# sourceMappingURL=maybeCaptureTelemetry.test.js.map
60
- //# debugId=e39b7383-67af-5940-8d17-34a197721f3f
71
+ //# debugId=4ffe5d07-d7e2-5ed5-a722-195e67f62ddf
@@ -1 +1 @@
1
- {"version":3,"file":"maybeCaptureTelemetry.test.js","sources":["project/maybeCaptureTelemetry.test.ts"],"sourceRoot":"/","sourcesContent":["import { expect, test, vi } from \"vitest\";\nimport { loadProjectInMemory } from \"./loadProjectInMemory.js\";\nimport { newProject } from \"./newProject.js\";\nimport { maybeCaptureLoadedProject } from \"./maybeCaptureTelemetry.js\";\nimport type { ProjectState } from \"./state/state.js\";\nimport { capture } from \"../services/telemetry/capture.js\";\n\ntest(\"it should capture as expected\", async () => {\n\tvi.mock(\"../services/telemetry/capture.js\", async () => {\n\t\treturn {\n\t\t\tcapture: vi.fn(() => Promise.resolve()),\n\t\t};\n\t});\n\n\tvi.mock(\"../services/env-variables/index\", async () => {\n\t\treturn {\n\t\t\tENV_VARIABLES: {\n\t\t\t\tPUBLIC_POSTHOG_TOKEN: \"mock-defined\",\n\t\t\t\tSDK_VERSION: \"1.0.0-mock\",\n\t\t\t},\n\t\t};\n\t});\n\n\tconst project = await loadProjectInMemory({\n\t\tblob: await newProject(),\n\t});\n\n\tconst bundle = await project.db\n\t\t.insertInto(\"bundle\")\n\t\t.defaultValues()\n\t\t.returningAll()\n\t\t.executeTakeFirstOrThrow();\n\n\tconst message = await project.db\n\t\t.insertInto(\"message\")\n\t\t.values({ bundleId: bundle.id, locale: \"en\" })\n\t\t.returningAll()\n\t\t.executeTakeFirstOrThrow();\n\n\tawait project.db\n\t\t.insertInto(\"variant\")\n\t\t.values({ messageId: message.id })\n\t\t.returningAll()\n\t\t.executeTakeFirst();\n\n\tawait maybeCaptureLoadedProject({\n\t\tstate: project as unknown as ProjectState,\n\t\tappId: \"test\",\n\t\tdb: project.db,\n\t});\n\n\texpect(capture).toHaveBeenCalledWith(\"SDK loaded project\", {\n\t\tprojectId: await project.id.get(),\n\t\tsettings: await project.settings.get(),\n\t\tproperties: {\n\t\t\tappId: \"test\",\n\t\t\tsettings: await project.settings.get(),\n\t\t\tpluginKeys: [],\n\t\t\tsdkVersion: \"1.0.0-mock\",\n\t\t\tnumBundles: 1,\n\t\t\tnumMessages: 1,\n\t\t\tnumVariants: 1,\n\t\t},\n\t});\n});\n"],"names":[],"mappings":";;AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3D,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;IAChD,EAAE,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QACtD,OAAO;YACN,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QACrD,OAAO;YACN,aAAa,EAAE;gBACd,oBAAoB,EAAE,cAAc;gBACpC,WAAW,EAAE,YAAY;aACzB;SACD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC;QACzC,IAAI,EAAE,MAAM,UAAU,EAAE;KACxB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,EAAE;SAC7B,UAAU,CAAC,QAAQ,CAAC;SACpB,aAAa,EAAE;SACf,YAAY,EAAE;SACd,uBAAuB,EAAE,CAAC;IAE5B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,EAAE;SAC9B,UAAU,CAAC,SAAS,CAAC;SACrB,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAC7C,YAAY,EAAE;SACd,uBAAuB,EAAE,CAAC;IAE5B,MAAM,OAAO,CAAC,EAAE;SACd,UAAU,CAAC,SAAS,CAAC;SACrB,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;SACjC,YAAY,EAAE;SACd,gBAAgB,EAAE,CAAC;IAErB,MAAM,yBAAyB,CAAC;QAC/B,KAAK,EAAE,OAAkC;QACzC,KAAK,EAAE,MAAM;QACb,EAAE,EAAE,OAAO,CAAC,EAAE;KACd,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,EAAE;QAC1D,SAAS,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE;QACjC,QAAQ,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;QACtC,UAAU,EAAE;YACX,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;YACtC,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,YAAY;YACxB,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,CAAC;SACd;KACD,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","debug_id":"e39b7383-67af-5940-8d17-34a197721f3f"}
1
+ {"version":3,"file":"maybeCaptureTelemetry.test.js","sources":["project/maybeCaptureTelemetry.test.ts"],"sourceRoot":"/","sourcesContent":["import { expect, test, vi } from \"vitest\";\nimport { loadProjectInMemory } from \"./loadProjectInMemory.js\";\nimport { newProject } from \"./newProject.js\";\nimport { maybeCaptureLoadedProject } from \"./maybeCaptureTelemetry.js\";\nimport { capture } from \"../services/telemetry/capture.js\";\n\ntest(\"it should capture as expected\", async () => {\n\tvi.mock(\"../services/telemetry/capture.js\", async () => {\n\t\treturn {\n\t\t\tcapture: vi.fn(() => Promise.resolve()),\n\t\t};\n\t});\n\n\tvi.mock(\"../services/env-variables/index\", async () => {\n\t\treturn {\n\t\t\tENV_VARIABLES: {\n\t\t\t\tPUBLIC_POSTHOG_TOKEN: \"mock-defined\",\n\t\t\t\tSDK_VERSION: \"1.0.0-mock\",\n\t\t\t},\n\t\t};\n\t});\n\n\tconst project = await loadProjectInMemory({\n\t\tblob: await newProject(),\n\t});\n\n\tconst account = await project.lix.db\n\t\t.selectFrom(\"active_account\")\n\t\t.select(\"id\")\n\t\t.executeTakeFirstOrThrow();\n\n\tconst bundle = await project.db\n\t\t.insertInto(\"bundle\")\n\t\t.defaultValues()\n\t\t.returningAll()\n\t\t.executeTakeFirstOrThrow();\n\n\tconst message = await project.db\n\t\t.insertInto(\"message\")\n\t\t.values({ bundleId: bundle.id, locale: \"en\" })\n\t\t.returningAll()\n\t\t.executeTakeFirstOrThrow();\n\n\tawait project.db\n\t\t.insertInto(\"variant\")\n\t\t.values({ messageId: message.id })\n\t\t.returningAll()\n\t\t.executeTakeFirst();\n\n\tconst settings = await project.settings.get();\n\n\tconst id = await project.id.get();\n\n\tconst plugins = await project.plugins.get();\n\n\tawait maybeCaptureLoadedProject({\n\t\tid,\n\t\tsettings,\n\t\tplugins,\n\t\tlix: project.lix,\n\t\tappId: \"test\",\n\t\tdb: project.db,\n\t});\n\n\texpect(capture).toHaveBeenCalledWith(\"SDK loaded project\", {\n\t\tprojectId: await project.id.get(),\n\t\tsettings: await project.settings.get(),\n\t\taccountId: account.id,\n\t\tproperties: {\n\t\t\tappId: \"test\",\n\t\t\tsettings: await project.settings.get(),\n\t\t\tpluginKeys: [],\n\t\t\tsdkVersion: \"1.0.0-mock\",\n\t\t\tnumBundles: 1,\n\t\t\tnumMessages: 1,\n\t\t\tnumVariants: 1,\n\t\t},\n\t});\n});\n"],"names":[],"mappings":"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","debug_id":"4ffe5d07-d7e2-5ed5-a722-195e67f62ddf"}
@@ -1 +1 @@
1
- {"version":3,"file":"newProject.d.ts","sourceRoot":"/","sources":["project/newProject.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAQlE;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,CAAC,EAAE;IACvC,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC3B,GAAG,OAAO,CAAC,IAAI,CAAC,CA0ChB;AAED,eAAO,MAAM,sBAAsB;;;;;CAcR,CAAC"}
1
+ {"version":3,"file":"newProject.d.ts","sourceRoot":"/","sources":["project/newProject.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAQlE;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,CAAC,EAAE;IACvC,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC3B,GAAG,OAAO,CAAC,IAAI,CAAC,CA2ChB;AAED,eAAO,MAAM,sBAAsB;;;;;CAcR,CAAC"}
@@ -1,5 +1,5 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="4ddd7804-f0f6-51b0-aca0-2e79cb11b110")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="c3af6497-ac1c-5547-9957-3b8b155ff12a")}catch(e){}}();
3
3
  import { newLixFile, openLixInMemory, toBlob } from "@lix-js/sdk";
4
4
  import { v4 } from "uuid";
5
5
  import { contentFromDatabase, createInMemoryDatabase, } from "sqlite-wasm-kysely";
@@ -15,7 +15,7 @@ export async function newProject(args) {
15
15
  const sqlite = await createInMemoryDatabase({
16
16
  readOnly: false,
17
17
  });
18
- const db = initDb({ sqlite });
18
+ initDb({ sqlite });
19
19
  try {
20
20
  const inlangDbContent = contentFromDatabase(sqlite);
21
21
  const lix = await openLixInMemory({ blob: await newLixFile() });
@@ -37,7 +37,9 @@ export async function newProject(args) {
37
37
  },
38
38
  ])
39
39
  .execute();
40
- return toBlob({ lix });
40
+ const blob = toBlob({ lix });
41
+ lix.sqlite.close();
42
+ return blob;
41
43
  }
42
44
  catch (e) {
43
45
  const error = new Error(`Failed to create new inlang project: ${e}`, {
@@ -48,7 +50,6 @@ export async function newProject(args) {
48
50
  }
49
51
  finally {
50
52
  sqlite.close();
51
- await db.destroy();
52
53
  }
53
54
  }
54
55
  export const defaultProjectSettings = {
@@ -67,4 +68,4 @@ export const defaultProjectSettings = {
67
68
  ],
68
69
  };
69
70
  //# sourceMappingURL=newProject.js.map
70
- //# debugId=4ddd7804-f0f6-51b0-aca0-2e79cb11b110
71
+ //# debugId=c3af6497-ac1c-5547-9957-3b8b155ff12a
@@ -1 +1 @@
1
- {"version":3,"file":"newProject.js","sources":["project/newProject.ts"],"sourceRoot":"/","sourcesContent":["import { newLixFile, openLixInMemory, toBlob } from \"@lix-js/sdk\";\nimport { v4 } from \"uuid\";\nimport type { ProjectSettings } from \"../json-schema/settings.js\";\nimport {\n\tcontentFromDatabase,\n\tcreateInMemoryDatabase,\n} from \"sqlite-wasm-kysely\";\nimport { initDb } from \"../database/initDb.js\";\nimport { captureError } from \"../services/error-reporting/index.js\";\n\n/**\n * Creates a new inlang project.\n *\n * The app is responsible for saving the project \"whereever\"\n * e.g. the user's computer, cloud storage, or OPFS in the browser.\n */\nexport async function newProject(args?: {\n\tsettings?: ProjectSettings;\n}): Promise<Blob> {\n\tconst sqlite = await createInMemoryDatabase({\n\t\treadOnly: false,\n\t});\n\tconst db = initDb({ sqlite });\n\n\ttry {\n\t\tconst inlangDbContent = contentFromDatabase(sqlite);\n\n\t\tconst lix = await openLixInMemory({ blob: await newLixFile() });\n\n\t\t// write files to lix\n\t\tawait lix.db\n\t\t\t.insertInto(\"file\")\n\t\t\t.values([\n\t\t\t\t{\n\t\t\t\t\tpath: \"/db.sqlite\",\n\t\t\t\t\tdata: inlangDbContent,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: \"/settings.json\",\n\t\t\t\t\tdata: new TextEncoder().encode(\n\t\t\t\t\t\tJSON.stringify(args?.settings ?? defaultProjectSettings)\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: \"/project_id\",\n\t\t\t\t\tdata: new TextEncoder().encode(v4()),\n\t\t\t\t},\n\t\t\t])\n\t\t\t.execute();\n\t\treturn toBlob({ lix });\n\t} catch (e) {\n\t\tconst error = new Error(`Failed to create new inlang project: ${e}`, {\n\t\t\tcause: e,\n\t\t});\n\t\tcaptureError(error);\n\t\tthrow error;\n\t} finally {\n\t\tsqlite.close();\n\t\tawait db.destroy();\n\t}\n}\n\nexport const defaultProjectSettings = {\n\t$schema: \"https://inlang.com/schema/project-settings\",\n\tbaseLocale: \"en\",\n\tlocales: [\"en\"],\n\tmodules: [\n\t\t// for instant gratification, we're adding common rules\n\t\t// \"https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-empty-pattern@latest/dist/index.js\",\n\t\t// \"https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-missing-translation@latest/dist/index.js\",\n\t\t// \"https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-without-source@latest/dist/index.js\",\n\t\t// default to the message format plugin because it supports all features\n\t\t// \"https://cdn.jsdelivr.net/npm/@inlang/plugin-message-format@latest/dist/index.js\",\n\t\t// the m function matcher should be installed by default in case Sherlock (VS Code extension) is adopted\n\t\t// \"https://cdn.jsdelivr.net/npm/@inlang/plugin-m-function-matcher@latest/dist/index.js\",\n\t],\n} satisfies ProjectSettings;\n"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAE1B,OAAO,EACN,mBAAmB,EACnB,sBAAsB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAEhC;IACA,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC;QAC3C,QAAQ,EAAE,KAAK;KACf,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9B,IAAI,CAAC;QACJ,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEpD,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,UAAU,EAAE,EAAE,CAAC,CAAC;QAEhE,qBAAqB;QACrB,MAAM,GAAG,CAAC,EAAE;aACV,UAAU,CAAC,MAAM,CAAC;aAClB,MAAM,CAAC;YACP;gBACC,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,eAAe;aACrB;YACD;gBACC,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,IAAI,sBAAsB,CAAC,CACxD;aACD;YACD;gBACC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;aACpC;SACD,CAAC;aACD,OAAO,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,wCAAwC,CAAC,EAAE,EAAE;YACpE,KAAK,EAAE,CAAC;SACR,CAAC,CAAC;QACH,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,KAAK,CAAC;IACb,CAAC;YAAS,CAAC;QACV,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACrC,OAAO,EAAE,4CAA4C;IACrD,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,CAAC,IAAI,CAAC;IACf,OAAO,EAAE;IACR,uDAAuD;IACvD,+FAA+F;IAC/F,qGAAqG;IACrG,gGAAgG;IAChG,wEAAwE;IACxE,qFAAqF;IACrF,wGAAwG;IACxG,yFAAyF;KACzF;CACyB,CAAC","debug_id":"4ddd7804-f0f6-51b0-aca0-2e79cb11b110"}
1
+ {"version":3,"file":"newProject.js","sources":["project/newProject.ts"],"sourceRoot":"/","sourcesContent":["import { newLixFile, openLixInMemory, toBlob } from \"@lix-js/sdk\";\nimport { v4 } from \"uuid\";\nimport type { ProjectSettings } from \"../json-schema/settings.js\";\nimport {\n\tcontentFromDatabase,\n\tcreateInMemoryDatabase,\n} from \"sqlite-wasm-kysely\";\nimport { initDb } from \"../database/initDb.js\";\nimport { captureError } from \"../services/error-reporting/index.js\";\n\n/**\n * Creates a new inlang project.\n *\n * The app is responsible for saving the project \"whereever\"\n * e.g. the user's computer, cloud storage, or OPFS in the browser.\n */\nexport async function newProject(args?: {\n\tsettings?: ProjectSettings;\n}): Promise<Blob> {\n\tconst sqlite = await createInMemoryDatabase({\n\t\treadOnly: false,\n\t});\n\tinitDb({ sqlite });\n\n\ttry {\n\t\tconst inlangDbContent = contentFromDatabase(sqlite);\n\n\t\tconst lix = await openLixInMemory({ blob: await newLixFile() });\n\n\t\t// write files to lix\n\t\tawait lix.db\n\t\t\t.insertInto(\"file\")\n\t\t\t.values([\n\t\t\t\t{\n\t\t\t\t\tpath: \"/db.sqlite\",\n\t\t\t\t\tdata: inlangDbContent,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: \"/settings.json\",\n\t\t\t\t\tdata: new TextEncoder().encode(\n\t\t\t\t\t\tJSON.stringify(args?.settings ?? defaultProjectSettings)\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: \"/project_id\",\n\t\t\t\t\tdata: new TextEncoder().encode(v4()),\n\t\t\t\t},\n\t\t\t])\n\t\t\t.execute();\n\t\tconst blob = toBlob({ lix });\n\t\tlix.sqlite.close();\n\t\treturn blob;\n\t} catch (e) {\n\t\tconst error = new Error(`Failed to create new inlang project: ${e}`, {\n\t\t\tcause: e,\n\t\t});\n\t\tcaptureError(error);\n\t\tthrow error;\n\t} finally {\n\t\tsqlite.close();\n\t}\n}\n\nexport const defaultProjectSettings = {\n\t$schema: \"https://inlang.com/schema/project-settings\",\n\tbaseLocale: \"en\",\n\tlocales: [\"en\"],\n\tmodules: [\n\t\t// for instant gratification, we're adding common rules\n\t\t// \"https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-empty-pattern@latest/dist/index.js\",\n\t\t// \"https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-missing-translation@latest/dist/index.js\",\n\t\t// \"https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-without-source@latest/dist/index.js\",\n\t\t// default to the message format plugin because it supports all features\n\t\t// \"https://cdn.jsdelivr.net/npm/@inlang/plugin-message-format@latest/dist/index.js\",\n\t\t// the m function matcher should be installed by default in case Sherlock (VS Code extension) is adopted\n\t\t// \"https://cdn.jsdelivr.net/npm/@inlang/plugin-m-function-matcher@latest/dist/index.js\",\n\t],\n} satisfies ProjectSettings;\n"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAE1B,OAAO,EACN,mBAAmB,EACnB,sBAAsB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAEhC;IACA,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC;QAC3C,QAAQ,EAAE,KAAK;KACf,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnB,IAAI,CAAC;QACJ,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEpD,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,UAAU,EAAE,EAAE,CAAC,CAAC;QAEhE,qBAAqB;QACrB,MAAM,GAAG,CAAC,EAAE;aACV,UAAU,CAAC,MAAM,CAAC;aAClB,MAAM,CAAC;YACP;gBACC,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,eAAe;aACrB;YACD;gBACC,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,IAAI,sBAAsB,CAAC,CACxD;aACD;YACD;gBACC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;aACpC;SACD,CAAC;aACD,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7B,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,wCAAwC,CAAC,EAAE,EAAE;YACpE,KAAK,EAAE,CAAC;SACR,CAAC,CAAC;QACH,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,KAAK,CAAC;IACb,CAAC;YAAS,CAAC;QACV,MAAM,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACrC,OAAO,EAAE,4CAA4C;IACrD,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,CAAC,IAAI,CAAC;IACf,OAAO,EAAE;IACR,uDAAuD;IACvD,+FAA+F;IAC/F,qGAAqG;IACrG,gGAAgG;IAChG,wEAAwE;IACxE,qFAAqF;IACrF,wGAAwG;IACxG,yFAAyF;KACzF;CACyB,CAAC","debug_id":"c3af6497-ac1c-5547-9957-3b8b155ff12a"}