@seedprotocol/sdk 0.3.31 → 0.4.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 (1220) hide show
  1. package/README.md +15 -2
  2. package/dist/Item/Item.js +954 -0
  3. package/dist/Item/Item.js.map +1 -0
  4. package/dist/Item/queries.js +66 -0
  5. package/dist/Item/queries.js.map +1 -0
  6. package/dist/Item/service/actors/fetchDataFromEas.js +94 -0
  7. package/dist/Item/service/actors/fetchDataFromEas.js.map +1 -0
  8. package/dist/Item/service/actors/hydrateExistingItem.js +124 -0
  9. package/dist/Item/service/actors/hydrateExistingItem.js.map +1 -0
  10. package/dist/Item/service/actors/hydrateNewItem.js.map +1 -0
  11. package/dist/Item/service/actors/initialize.js +50 -0
  12. package/dist/Item/service/actors/initialize.js.map +1 -0
  13. package/dist/Item/service/actors/loadOrCreateItem.js +210 -0
  14. package/dist/Item/service/actors/loadOrCreateItem.js.map +1 -0
  15. package/dist/Item/service/actors/reload.js.map +1 -0
  16. package/dist/Item/service/actors/waitForDb.js.map +1 -0
  17. package/dist/Item/service/itemMachineSingle.js +211 -0
  18. package/dist/Item/service/itemMachineSingle.js.map +1 -0
  19. package/dist/ItemProperty/ItemProperty.js +613 -0
  20. package/dist/ItemProperty/ItemProperty.js.map +1 -0
  21. package/dist/ItemProperty/service/actors/hydrateFromDb.js +207 -0
  22. package/dist/ItemProperty/service/actors/hydrateFromDb.js.map +1 -0
  23. package/dist/ItemProperty/service/actors/initialize.js +74 -0
  24. package/dist/ItemProperty/service/actors/initialize.js.map +1 -0
  25. package/dist/ItemProperty/service/actors/loadOrCreateProperty.js +125 -0
  26. package/dist/ItemProperty/service/actors/loadOrCreateProperty.js.map +1 -0
  27. package/dist/ItemProperty/service/actors/resolveRelatedValue.js +321 -0
  28. package/dist/ItemProperty/service/actors/resolveRelatedValue.js.map +1 -0
  29. package/dist/ItemProperty/service/actors/resolveRemoteStorage.js.map +1 -0
  30. package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.js +111 -0
  31. package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +1 -0
  32. package/dist/ItemProperty/service/actors/saveValueToDb/saveImage.js.map +1 -0
  33. package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +121 -0
  34. package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +1 -0
  35. package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.js +85 -0
  36. package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +1 -0
  37. package/dist/ItemProperty/service/actors/waitForDb.js.map +1 -0
  38. package/dist/ItemProperty/service/propertyMachine.js +233 -0
  39. package/dist/ItemProperty/service/propertyMachine.js.map +1 -0
  40. package/dist/Model/Model.js +1831 -0
  41. package/dist/Model/Model.js.map +1 -0
  42. package/dist/Model/index.js +8 -0
  43. package/dist/Model/index.js.map +1 -0
  44. package/dist/Model/service/actors/createModelProperties.js +102 -0
  45. package/dist/Model/service/actors/createModelProperties.js.map +1 -0
  46. package/dist/Model/service/actors/loadOrCreateModel.js +397 -0
  47. package/dist/Model/service/actors/loadOrCreateModel.js.map +1 -0
  48. package/dist/Model/service/actors/validateModel.js +123 -0
  49. package/dist/Model/service/actors/validateModel.js.map +1 -0
  50. package/dist/Model/service/modelMachine.js +385 -0
  51. package/dist/Model/service/modelMachine.js.map +1 -0
  52. package/dist/ModelProperty/ModelProperty.js +841 -0
  53. package/dist/ModelProperty/ModelProperty.js.map +1 -0
  54. package/dist/ModelProperty/service/actors/compareAndMarkDraft.js +119 -0
  55. package/dist/ModelProperty/service/actors/compareAndMarkDraft.js.map +1 -0
  56. package/dist/ModelProperty/service/actors/saveToSchema.js +108 -0
  57. package/dist/ModelProperty/service/actors/saveToSchema.js.map +1 -0
  58. package/dist/ModelProperty/service/actors/validateProperty.js +129 -0
  59. package/dist/ModelProperty/service/actors/validateProperty.js.map +1 -0
  60. package/dist/ModelProperty/service/modelPropertyMachine.js +275 -0
  61. package/dist/ModelProperty/service/modelPropertyMachine.js.map +1 -0
  62. package/dist/Schema/Schema.js +1732 -0
  63. package/dist/Schema/Schema.js.map +1 -0
  64. package/dist/Schema/errors.js +14 -0
  65. package/dist/Schema/errors.js.map +1 -0
  66. package/dist/Schema/index.js +7 -0
  67. package/dist/Schema/index.js.map +1 -0
  68. package/dist/Schema/service/actors/checkExistingSchema.js +454 -0
  69. package/dist/Schema/service/actors/checkExistingSchema.js.map +1 -0
  70. package/dist/Schema/service/actors/createModelInstances.js +71 -0
  71. package/dist/Schema/service/actors/createModelInstances.js.map +1 -0
  72. package/dist/Schema/service/actors/createPropertyInstances.js +86 -0
  73. package/dist/Schema/service/actors/createPropertyInstances.js.map +1 -0
  74. package/dist/Schema/service/actors/loadOrCreateSchema.js +1336 -0
  75. package/dist/Schema/service/actors/loadOrCreateSchema.js.map +1 -0
  76. package/dist/Schema/service/actors/validateSchema.js +65 -0
  77. package/dist/Schema/service/actors/validateSchema.js.map +1 -0
  78. package/dist/Schema/service/actors/verifyModelInstancesInCache.js +88 -0
  79. package/dist/Schema/service/actors/verifyModelInstancesInCache.js.map +1 -0
  80. package/dist/Schema/service/actors/verifyModelsInDb.js +107 -0
  81. package/dist/Schema/service/actors/verifyModelsInDb.js.map +1 -0
  82. package/dist/Schema/service/actors/verifyPropertiesInDb.js +131 -0
  83. package/dist/Schema/service/actors/verifyPropertiesInDb.js.map +1 -0
  84. package/dist/Schema/service/actors/verifyPropertyInstancesInCache.js +88 -0
  85. package/dist/Schema/service/actors/verifyPropertyInstancesInCache.js.map +1 -0
  86. package/dist/Schema/service/actors/verifySchemaInDb.js +85 -0
  87. package/dist/Schema/service/actors/verifySchemaInDb.js.map +1 -0
  88. package/dist/Schema/service/actors/writeModelsToDb.js +185 -0
  89. package/dist/Schema/service/actors/writeModelsToDb.js.map +1 -0
  90. package/dist/Schema/service/actors/writePropertiesToDb.js +69 -0
  91. package/dist/Schema/service/actors/writePropertiesToDb.js.map +1 -0
  92. package/dist/Schema/service/actors/writeSchemaToDb.js +137 -0
  93. package/dist/Schema/service/actors/writeSchemaToDb.js.map +1 -0
  94. package/dist/Schema/service/addModelsMachine.js +545 -0
  95. package/dist/Schema/service/addModelsMachine.js.map +1 -0
  96. package/dist/Schema/service/schemaMachine.js +667 -0
  97. package/dist/Schema/service/schemaMachine.js.map +1 -0
  98. package/dist/Schema/service/validation/SchemaValidationService.js +565 -0
  99. package/dist/Schema/service/validation/SchemaValidationService.js.map +1 -0
  100. package/dist/Schema/validation.js +15 -0
  101. package/dist/Schema/validation.js.map +1 -0
  102. package/dist/browser/db/Db.js +484 -0
  103. package/dist/browser/db/Db.js.map +1 -0
  104. package/dist/browser/db/drizzleFiles.js +1022 -0
  105. package/dist/browser/db/drizzleFiles.js.map +1 -0
  106. package/dist/browser/helpers/ArweaveClient.js +13 -0
  107. package/dist/browser/helpers/ArweaveClient.js.map +1 -0
  108. package/dist/browser/helpers/EasClient.js +16 -0
  109. package/dist/browser/helpers/EasClient.js.map +1 -0
  110. package/dist/browser/helpers/FileManager.js +415 -0
  111. package/dist/browser/helpers/FileManager.js.map +1 -0
  112. package/dist/browser/helpers/PathResolver.js +64 -0
  113. package/dist/browser/helpers/PathResolver.js.map +1 -0
  114. package/dist/browser/helpers/QueryClient.js +33 -0
  115. package/dist/browser/helpers/QueryClient.js.map +1 -0
  116. package/dist/browser/react/client.js +16 -0
  117. package/dist/browser/react/client.js.map +1 -0
  118. package/dist/browser/react/db.js +7 -0
  119. package/dist/browser/react/db.js.map +1 -0
  120. package/dist/browser/react/item.js +192 -0
  121. package/dist/browser/react/item.js.map +1 -0
  122. package/dist/browser/react/itemProperty.js +545 -0
  123. package/dist/browser/react/itemProperty.js.map +1 -0
  124. package/dist/browser/react/liveQuery.js +95 -0
  125. package/dist/browser/react/liveQuery.js.map +1 -0
  126. package/dist/browser/react/model.js +276 -0
  127. package/dist/browser/react/model.js.map +1 -0
  128. package/dist/browser/react/modelProperty.js +412 -0
  129. package/dist/browser/react/modelProperty.js.map +1 -0
  130. package/dist/browser/react/schema.js +387 -0
  131. package/dist/browser/react/schema.js.map +1 -0
  132. package/dist/browser/react/services.js +47 -0
  133. package/dist/browser/react/services.js.map +1 -0
  134. package/dist/browser/react/trash.js.map +1 -0
  135. package/dist/browser/workers/FileDownloader.js.map +1 -0
  136. package/dist/browser/workers/ImageResizer.js.map +1 -0
  137. package/dist/browser/workers/filesDownload.js.map +1 -0
  138. package/dist/browser/workers/imageResize.js.map +1 -0
  139. package/dist/client/ClientManager.js +177 -0
  140. package/dist/client/ClientManager.js.map +1 -0
  141. package/dist/client/actors/addModelsToDb.js +150 -0
  142. package/dist/client/actors/addModelsToDb.js.map +1 -0
  143. package/dist/client/actors/addModelsToStore.js +28 -0
  144. package/dist/client/actors/addModelsToStore.js.map +1 -0
  145. package/dist/client/actors/dbInit.js +38 -0
  146. package/dist/client/actors/dbInit.js.map +1 -0
  147. package/dist/client/actors/fileSystemInit.js +43 -0
  148. package/dist/client/actors/fileSystemInit.js.map +1 -0
  149. package/dist/client/actors/platformClassesInit.js +175 -0
  150. package/dist/client/actors/platformClassesInit.js.map +1 -0
  151. package/dist/client/actors/processSchemaFiles.js +169 -0
  152. package/dist/client/actors/processSchemaFiles.js.map +1 -0
  153. package/dist/client/actors/saveAppState.js +80 -0
  154. package/dist/client/actors/saveAppState.js.map +1 -0
  155. package/dist/client/actors/saveConfig.js +110 -0
  156. package/dist/client/actors/saveConfig.js.map +1 -0
  157. package/dist/client/clientManagerMachine.js +191 -0
  158. package/dist/client/clientManagerMachine.js.map +1 -0
  159. package/dist/client/constants.js +80 -0
  160. package/dist/client/constants.js.map +1 -0
  161. package/dist/db/Db/BaseDb.js +55 -0
  162. package/dist/db/Db/BaseDb.js.map +1 -0
  163. package/dist/db/drizzle/drizzle/0000_married_malice.sql +121 -0
  164. package/dist/db/drizzle/drizzle/0001_sweet_bruce_banner.sql +2 -0
  165. package/dist/db/drizzle/drizzle/0002_bitter_proudstar.sql +3 -0
  166. package/dist/db/drizzle/drizzle/0003_cultured_senator_kelly.sql +3 -0
  167. package/dist/db/drizzle/drizzle/meta/0000_snapshot.json +792 -0
  168. package/dist/db/drizzle/drizzle/meta/0001_snapshot.json +806 -0
  169. package/dist/db/drizzle/drizzle/meta/0002_snapshot.json +829 -0
  170. package/dist/db/drizzle/drizzle/meta/0003_snapshot.json +850 -0
  171. package/dist/db/drizzle/drizzle/meta/_journal.json +34 -0
  172. package/dist/db/read/getExistingItem.js +33 -0
  173. package/dist/db/read/getExistingItem.js.map +1 -0
  174. package/dist/db/read/getItem.js +26 -0
  175. package/dist/db/read/getItem.js.map +1 -0
  176. package/dist/db/read/getItemData.js +88 -0
  177. package/dist/db/read/getItemData.js.map +1 -0
  178. package/dist/db/read/getItemProperties.js +53 -0
  179. package/dist/db/read/getItemProperties.js.map +1 -0
  180. package/dist/db/read/getItemProperty.js +34 -0
  181. package/dist/db/read/getItemProperty.js.map +1 -0
  182. package/dist/db/read/getItems.js +53 -0
  183. package/dist/db/read/getItems.js.map +1 -0
  184. package/dist/db/read/getMetadata.js +36 -0
  185. package/dist/db/read/getMetadata.js.map +1 -0
  186. package/dist/db/read/getModelSchemas.js +63 -0
  187. package/dist/db/read/getModelSchemas.js.map +1 -0
  188. package/dist/db/read/getPropertyData.js +42 -0
  189. package/dist/db/read/getPropertyData.js.map +1 -0
  190. package/dist/db/read/getPublishPayload.js +294 -0
  191. package/dist/db/read/getPublishPayload.js.map +1 -0
  192. package/dist/db/read/getPublishUploads.js +166 -0
  193. package/dist/db/read/getPublishUploads.js.map +1 -0
  194. package/dist/db/read/getRelationValueData.js +34 -0
  195. package/dist/db/read/getRelationValueData.js.map +1 -0
  196. package/dist/db/read/getSchemaUidForModel.js +28 -0
  197. package/dist/db/read/getSchemaUidForModel.js.map +1 -0
  198. package/dist/db/read/getSeedData.js +32 -0
  199. package/dist/db/read/getSeedData.js.map +1 -0
  200. package/dist/db/read/getStorageTransactionIdForSeedUid.js +34 -0
  201. package/dist/db/read/getStorageTransactionIdForSeedUid.js.map +1 -0
  202. package/dist/db/read/getVersionData.js +37 -0
  203. package/dist/db/read/getVersionData.js.map +1 -0
  204. package/dist/db/read/subqueries/metadataLatest.js +39 -0
  205. package/dist/db/read/subqueries/metadataLatest.js.map +1 -0
  206. package/dist/db/read/subqueries/versionData.js +31 -0
  207. package/dist/db/read/subqueries/versionData.js.map +1 -0
  208. package/dist/db/write/createMetadata.js +94 -0
  209. package/dist/db/write/createMetadata.js.map +1 -0
  210. package/dist/db/write/createNewItem.js +43 -0
  211. package/dist/db/write/createNewItem.js.map +1 -0
  212. package/dist/db/write/createSeed.js +32 -0
  213. package/dist/db/write/createSeed.js.map +1 -0
  214. package/dist/db/write/createSeeds.js +29 -0
  215. package/dist/db/write/createSeeds.js.map +1 -0
  216. package/dist/db/write/createVersion.js +29 -0
  217. package/dist/db/write/createVersion.js.map +1 -0
  218. package/dist/db/write/deleteItem.js +25 -0
  219. package/dist/db/write/deleteItem.js.map +1 -0
  220. package/dist/db/write/saveAppState.js +30 -0
  221. package/dist/db/write/saveAppState.js.map +1 -0
  222. package/dist/db/write/saveMetadata.js +26 -0
  223. package/dist/db/write/saveMetadata.js.map +1 -0
  224. package/dist/db/write/updateItemPropertyValue.js +165 -0
  225. package/dist/db/write/updateItemPropertyValue.js.map +1 -0
  226. package/dist/db/write/updateMetadata.js +38 -0
  227. package/dist/db/write/updateMetadata.js.map +1 -0
  228. package/dist/eas.js +176 -0
  229. package/dist/eas.js.map +1 -0
  230. package/dist/eventBus.js.map +1 -0
  231. package/dist/events/files/download.js +191 -0
  232. package/dist/events/files/download.js.map +1 -0
  233. package/dist/events/files/index.js +23 -0
  234. package/dist/events/files/index.js.map +1 -0
  235. package/dist/events/index.js +28 -0
  236. package/dist/events/index.js.map +1 -0
  237. package/dist/events/item/index.js.map +1 -0
  238. package/dist/events/item/publish.js +50 -0
  239. package/dist/events/item/publish.js.map +1 -0
  240. package/dist/events/item/syncDbWithEas.js +453 -0
  241. package/dist/events/item/syncDbWithEas.js.map +1 -0
  242. package/dist/events/services/allItems.js +10 -0
  243. package/dist/events/services/allItems.js.map +1 -0
  244. package/dist/events/services/index.js.map +1 -0
  245. package/dist/feed.js +534 -0
  246. package/dist/feed.js.map +1 -0
  247. package/dist/graphql/gql/gql.js +27 -0
  248. package/dist/graphql/gql/gql.js.map +1 -0
  249. package/dist/graphql/gql/graphql.js +129 -0
  250. package/dist/graphql/gql/graphql.js.map +1 -0
  251. package/dist/helpers/ArweaveClient/BaseArweaveClient.js.map +1 -0
  252. package/dist/helpers/ArweaveClient/index.js +61 -0
  253. package/dist/helpers/ArweaveClient/index.js.map +1 -0
  254. package/dist/helpers/ArweaveClient/queries.js.map +1 -0
  255. package/dist/helpers/EasClient/BaseEasClient.js +20 -0
  256. package/dist/helpers/EasClient/BaseEasClient.js.map +1 -0
  257. package/dist/helpers/FileManager/BaseFileManager.js +119 -0
  258. package/dist/helpers/FileManager/BaseFileManager.js.map +1 -0
  259. package/dist/helpers/PathResolver/BasePathResolver.js +20 -0
  260. package/dist/helpers/PathResolver/BasePathResolver.js.map +1 -0
  261. package/dist/helpers/QueryClient/BaseQueryClient.js.map +1 -0
  262. package/dist/helpers/constants.js +107 -0
  263. package/dist/helpers/constants.js.map +1 -0
  264. package/dist/helpers/crypto.js.map +1 -0
  265. package/dist/helpers/db.js +1335 -0
  266. package/dist/helpers/db.js.map +1 -0
  267. package/dist/helpers/environment.js +14 -0
  268. package/dist/helpers/environment.js.map +1 -0
  269. package/dist/helpers/file/queries.js +15 -0
  270. package/dist/helpers/file/queries.js.map +1 -0
  271. package/dist/helpers/getSchemaForItemProperty.js +65 -0
  272. package/dist/helpers/getSchemaForItemProperty.js.map +1 -0
  273. package/dist/helpers/getSegmentedItemProperties.js +71 -0
  274. package/dist/helpers/getSegmentedItemProperties.js.map +1 -0
  275. package/dist/helpers/index.js +101 -0
  276. package/dist/helpers/index.js.map +1 -0
  277. package/dist/helpers/model.js +24 -0
  278. package/dist/helpers/model.js.map +1 -0
  279. package/dist/helpers/property/index.js +110 -0
  280. package/dist/helpers/property/index.js.map +1 -0
  281. package/dist/helpers/property.js +286 -0
  282. package/dist/helpers/property.js.map +1 -0
  283. package/dist/helpers/reactiveProxy.js +87 -0
  284. package/dist/helpers/reactiveProxy.js.map +1 -0
  285. package/dist/helpers/schema.js +473 -0
  286. package/dist/helpers/schema.js.map +1 -0
  287. package/dist/helpers/updateMachineContext.js.map +1 -0
  288. package/dist/helpers/updateSchema.js +721 -0
  289. package/dist/helpers/updateSchema.js.map +1 -0
  290. package/dist/imports/json.js +1129 -0
  291. package/dist/imports/json.js.map +1 -0
  292. package/dist/imports/markdown.js +141 -0
  293. package/dist/imports/markdown.js.map +1 -0
  294. package/dist/main.cjs +81 -0
  295. package/dist/main.cjs.map +1 -0
  296. package/dist/main.js +34 -29
  297. package/dist/main.js.map +1 -1
  298. package/dist/node/codegen/drizzle.js +136 -0
  299. package/dist/node/codegen/drizzle.js.map +1 -0
  300. package/dist/node/codegen/templates/model.njk +4 -0
  301. package/dist/node/db/Db.js +332 -0
  302. package/dist/node/db/Db.js.map +1 -0
  303. package/dist/node/helpers/ArweaveClient.js +13 -0
  304. package/dist/node/helpers/ArweaveClient.js.map +1 -0
  305. package/dist/node/helpers/EasClient.js +16 -0
  306. package/dist/node/helpers/EasClient.js.map +1 -0
  307. package/dist/node/helpers/FileManager.js +151 -0
  308. package/dist/node/helpers/FileManager.js.map +1 -0
  309. package/dist/node/helpers/PathResolver.js +182 -0
  310. package/dist/node/helpers/PathResolver.js.map +1 -0
  311. package/dist/node/helpers/QueryClient.js.map +1 -0
  312. package/dist/node/helpers/index.js +62 -0
  313. package/dist/node/helpers/index.js.map +1 -0
  314. package/dist/node/helpers/scripts.js +121 -0
  315. package/dist/node/helpers/scripts.js.map +1 -0
  316. package/dist/node/webpack/index.js.map +1 -0
  317. package/dist/node.js +40 -0
  318. package/dist/node.js.map +1 -0
  319. package/dist/node_modules/.bun/events@3.3.0/node_modules/events/events.d.ts +31 -0
  320. package/dist/node_modules/.bun/events@3.3.0/node_modules/events/events.d.ts.map +1 -0
  321. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.d.mts +90 -0
  322. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.d.mts.map +1 -0
  323. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/index.d.ts +28 -0
  324. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/index.d.ts.map +1 -0
  325. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/common.d.ts +7 -0
  326. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/common.d.ts.map +1 -0
  327. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/dumper.d.ts +2 -0
  328. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/dumper.d.ts.map +1 -0
  329. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/exception.d.ts +12 -0
  330. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/exception.d.ts.map +1 -0
  331. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/loader.d.ts +3 -0
  332. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/loader.d.ts.map +1 -0
  333. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/core.d.ts +3 -0
  334. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/core.d.ts.map +1 -0
  335. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/default.d.ts +3 -0
  336. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/default.d.ts.map +1 -0
  337. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/failsafe.d.ts +4 -0
  338. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/failsafe.d.ts.map +1 -0
  339. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/json.d.ts +3 -0
  340. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/json.d.ts.map +1 -0
  341. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema.d.ts +7 -0
  342. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema.d.ts.map +1 -0
  343. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/snippet.d.ts +3 -0
  344. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/snippet.d.ts.map +1 -0
  345. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/binary.d.ts +4 -0
  346. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/binary.d.ts.map +1 -0
  347. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/bool.d.ts +4 -0
  348. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/bool.d.ts.map +1 -0
  349. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/float.d.ts +4 -0
  350. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/float.d.ts.map +1 -0
  351. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/int.d.ts +4 -0
  352. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/int.d.ts.map +1 -0
  353. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/map.d.ts +4 -0
  354. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/map.d.ts.map +1 -0
  355. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/merge.d.ts +4 -0
  356. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/merge.d.ts.map +1 -0
  357. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/null.d.ts +4 -0
  358. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/null.d.ts.map +1 -0
  359. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/omap.d.ts +4 -0
  360. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/omap.d.ts.map +1 -0
  361. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/pairs.d.ts +4 -0
  362. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/pairs.d.ts.map +1 -0
  363. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/seq.d.ts +4 -0
  364. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/seq.d.ts.map +1 -0
  365. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/set.d.ts +4 -0
  366. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/set.d.ts.map +1 -0
  367. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/str.d.ts +4 -0
  368. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/str.d.ts.map +1 -0
  369. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/timestamp.d.ts +4 -0
  370. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/timestamp.d.ts.map +1 -0
  371. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type.d.ts +18 -0
  372. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type.d.ts.map +1 -0
  373. package/dist/node_modules/.bun/process@0.11.10/node_modules/process/index.d.ts +3 -0
  374. package/dist/node_modules/.bun/process@0.11.10/node_modules/process/index.d.ts.map +1 -0
  375. package/dist/node_modules/.bun/punycode@1.4.1/node_modules/punycode/punycode.d.ts +1 -0
  376. package/dist/node_modules/.bun/punycode@1.4.1/node_modules/punycode/punycode.d.ts.map +1 -0
  377. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/add-abort-signal.d.ts +3 -0
  378. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/add-abort-signal.d.ts.map +1 -0
  379. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/buffer_list.d.ts +19 -0
  380. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/buffer_list.d.ts.map +1 -0
  381. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/compose.d.ts +3 -0
  382. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/compose.d.ts.map +1 -0
  383. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/destroy.d.ts +6 -0
  384. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/destroy.d.ts.map +1 -0
  385. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplex.d.ts +12 -0
  386. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplex.d.ts.map +1 -0
  387. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplexify.d.ts +3 -0
  388. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplexify.d.ts.map +1 -0
  389. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/end-of-stream.d.ts +7 -0
  390. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/end-of-stream.d.ts.map +1 -0
  391. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/from.d.ts +3 -0
  392. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/from.d.ts.map +1 -0
  393. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/legacy.d.ts +7 -0
  394. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/legacy.d.ts.map +1 -0
  395. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/operators.d.ts +31 -0
  396. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/operators.d.ts.map +1 -0
  397. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/passthrough.d.ts +7 -0
  398. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/passthrough.d.ts.map +1 -0
  399. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/pipeline.d.ts +3 -0
  400. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/pipeline.d.ts.map +1 -0
  401. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/readable.d.ts +55 -0
  402. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/readable.d.ts.map +1 -0
  403. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/state.d.ts +4 -0
  404. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/state.d.ts.map +1 -0
  405. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/transform.d.ts +12 -0
  406. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/transform.d.ts.map +1 -0
  407. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/utils.d.ts +33 -0
  408. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/utils.d.ts.map +1 -0
  409. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/writable.d.ts +59 -0
  410. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/writable.d.ts.map +1 -0
  411. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/validators.d.ts +199 -0
  412. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/validators.d.ts.map +1 -0
  413. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/errors.d.ts +8 -0
  414. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/errors.d.ts.map +1 -0
  415. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/index.d.ts +2 -0
  416. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/index.d.ts.map +1 -0
  417. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/primordials.d.ts +51 -0
  418. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/primordials.d.ts.map +1 -0
  419. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util/inspect.d.ts +3 -0
  420. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util/inspect.d.ts.map +1 -0
  421. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util.d.ts +22 -0
  422. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util.d.ts.map +1 -0
  423. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream/promises.d.ts +4 -0
  424. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream/promises.d.ts.map +1 -0
  425. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream.d.ts +3 -0
  426. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream.d.ts.map +1 -0
  427. package/dist/node_modules/.bun/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.d.ts +33 -0
  428. package/dist/node_modules/.bun/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.d.ts.map +1 -0
  429. package/dist/node_modules/.bun/url@0.11.4/node_modules/url/url.d.ts +26 -0
  430. package/dist/node_modules/.bun/url@0.11.4/node_modules/url/url.d.ts.map +1 -0
  431. package/dist/scripts/build-with-tests.d.ts +3 -0
  432. package/dist/scripts/build-with-tests.d.ts.map +1 -0
  433. package/dist/scripts/sync-versions.d.ts +7 -0
  434. package/dist/scripts/sync-versions.d.ts.map +1 -0
  435. package/dist/scripts/track-drizzle-changes.d.ts +13 -0
  436. package/dist/scripts/track-drizzle-changes.d.ts.map +1 -0
  437. package/dist/scripts/vite.config.d.ts +1 -1
  438. package/dist/seedSchema/AppStateSchema.js.map +1 -0
  439. package/dist/seedSchema/ConfigSchema.js.map +1 -0
  440. package/dist/seedSchema/MetadataSchema.js.map +1 -0
  441. package/dist/seedSchema/ModelSchema.js +40 -0
  442. package/dist/seedSchema/ModelSchema.js.map +1 -0
  443. package/dist/seedSchema/ModelSchema.ts +19 -6
  444. package/dist/seedSchema/ModelSchemaSchema.js +12 -0
  445. package/dist/seedSchema/ModelSchemaSchema.js.map +1 -0
  446. package/dist/seedSchema/ModelSchemaSchema.ts +12 -0
  447. package/dist/seedSchema/ModelUidSchema.js +18 -0
  448. package/dist/seedSchema/ModelUidSchema.js.map +1 -0
  449. package/dist/seedSchema/PropertyUidSchema.js +18 -0
  450. package/dist/seedSchema/PropertyUidSchema.js.map +1 -0
  451. package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json +83 -0
  452. package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json.js +94 -0
  453. package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json.js.map +1 -0
  454. package/dist/seedSchema/SchemaSchema.js +20 -0
  455. package/dist/seedSchema/SchemaSchema.js.map +1 -0
  456. package/dist/seedSchema/SchemaSchema.ts +25 -0
  457. package/dist/seedSchema/SeedSchema.js.map +1 -0
  458. package/dist/seedSchema/VersionSchema.js.map +1 -0
  459. package/dist/seedSchema/index.js +11 -0
  460. package/dist/seedSchema/index.js.map +1 -0
  461. package/dist/seedSchema/index.ts +2 -0
  462. package/dist/services/events.js +16 -0
  463. package/dist/services/events.js.map +1 -0
  464. package/dist/services/publish/actors/createPublishAttempt.js.map +1 -0
  465. package/dist/services/publish/actors/preparePublishRequestData.js +76 -0
  466. package/dist/services/publish/actors/preparePublishRequestData.js.map +1 -0
  467. package/dist/services/publish/actors/upload.js +61 -0
  468. package/dist/services/publish/actors/upload.js.map +1 -0
  469. package/dist/services/publish/actors/validateItemData.js.map +1 -0
  470. package/dist/services/publish/publishMachine.js +71 -0
  471. package/dist/services/publish/publishMachine.js.map +1 -0
  472. package/dist/services/write/actors/validateEntity.js +145 -0
  473. package/dist/services/write/actors/validateEntity.js.map +1 -0
  474. package/dist/services/write/actors/writeToDatabase.js +91 -0
  475. package/dist/services/write/actors/writeToDatabase.js.map +1 -0
  476. package/dist/services/write/writeProcessMachine.js +233 -0
  477. package/dist/services/write/writeProcessMachine.js.map +1 -0
  478. package/dist/src/Item/Item.d.ts +94 -0
  479. package/dist/src/Item/Item.d.ts.map +1 -0
  480. package/dist/src/Item/queries.d.ts +2 -2
  481. package/dist/src/Item/queries.d.ts.map +1 -1
  482. package/dist/src/Item/service/actors/fetchDataFromEas.d.ts.map +1 -1
  483. package/dist/src/Item/service/actors/hydrateExistingItem.d.ts.map +1 -1
  484. package/dist/src/Item/service/actors/initialize.d.ts.map +1 -1
  485. package/dist/src/Item/service/actors/loadOrCreateItem.d.ts +5 -0
  486. package/dist/src/Item/service/actors/loadOrCreateItem.d.ts.map +1 -0
  487. package/dist/src/Item/service/actors/saveDataToDb.d.ts.map +1 -1
  488. package/dist/src/Item/service/itemMachineSingle.d.ts.map +1 -1
  489. package/dist/src/ItemProperty/ItemProperty.d.ts +67 -0
  490. package/dist/src/ItemProperty/ItemProperty.d.ts.map +1 -0
  491. package/dist/src/ItemProperty/service/actors/hydrateFromDb.d.ts.map +1 -1
  492. package/dist/src/ItemProperty/service/actors/initialize.d.ts.map +1 -1
  493. package/dist/src/ItemProperty/service/actors/loadOrCreateProperty.d.ts +5 -0
  494. package/dist/src/ItemProperty/service/actors/loadOrCreateProperty.d.ts.map +1 -0
  495. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +1 -1
  496. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts.map +1 -1
  497. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.d.ts.map +1 -1
  498. package/dist/src/ItemProperty/service/propertyMachine.d.ts +44 -93
  499. package/dist/src/ItemProperty/service/propertyMachine.d.ts.map +1 -1
  500. package/dist/src/Model/Model.d.ts +199 -0
  501. package/dist/src/Model/Model.d.ts.map +1 -0
  502. package/dist/src/Model/index.d.ts +26 -0
  503. package/dist/src/Model/index.d.ts.map +1 -0
  504. package/dist/src/Model/service/actors/createModelProperties.d.ts +9 -0
  505. package/dist/src/Model/service/actors/createModelProperties.d.ts.map +1 -0
  506. package/dist/src/Model/service/actors/loadOrCreateModel.d.ts +5 -0
  507. package/dist/src/Model/service/actors/loadOrCreateModel.d.ts.map +1 -0
  508. package/dist/src/Model/service/actors/validateModel.d.ts +5 -0
  509. package/dist/src/Model/service/actors/validateModel.d.ts.map +1 -0
  510. package/dist/src/Model/service/modelMachine.d.ts +206 -0
  511. package/dist/src/Model/service/modelMachine.d.ts.map +1 -0
  512. package/dist/src/ModelProperty/ModelProperty.d.ts +112 -0
  513. package/dist/src/ModelProperty/ModelProperty.d.ts.map +1 -0
  514. package/dist/src/ModelProperty/service/actors/compareAndMarkDraft.d.ts +5 -0
  515. package/dist/src/ModelProperty/service/actors/compareAndMarkDraft.d.ts.map +1 -0
  516. package/dist/src/ModelProperty/service/actors/saveToSchema.d.ts +11 -0
  517. package/dist/src/ModelProperty/service/actors/saveToSchema.d.ts.map +1 -0
  518. package/dist/src/ModelProperty/service/actors/validateProperty.d.ts +5 -0
  519. package/dist/src/ModelProperty/service/actors/validateProperty.d.ts.map +1 -0
  520. package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts +183 -0
  521. package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts.map +1 -0
  522. package/dist/src/Schema/Schema.d.ts +143 -0
  523. package/dist/src/Schema/Schema.d.ts.map +1 -0
  524. package/dist/src/Schema/errors.d.ts +20 -0
  525. package/dist/src/Schema/errors.d.ts.map +1 -0
  526. package/dist/src/Schema/index.d.ts +6 -0
  527. package/dist/src/Schema/index.d.ts.map +1 -0
  528. package/dist/src/Schema/service/actors/checkExistingSchema.d.ts +5 -0
  529. package/dist/src/Schema/service/actors/checkExistingSchema.d.ts.map +1 -0
  530. package/dist/src/Schema/service/actors/createModelInstances.d.ts +11 -0
  531. package/dist/src/Schema/service/actors/createModelInstances.d.ts.map +1 -0
  532. package/dist/src/Schema/service/actors/createPropertyInstances.d.ts +12 -0
  533. package/dist/src/Schema/service/actors/createPropertyInstances.d.ts.map +1 -0
  534. package/dist/src/Schema/service/actors/loadOrCreateSchema.d.ts +5 -0
  535. package/dist/src/Schema/service/actors/loadOrCreateSchema.d.ts.map +1 -0
  536. package/dist/src/Schema/service/actors/validateSchema.d.ts +5 -0
  537. package/dist/src/Schema/service/actors/validateSchema.d.ts.map +1 -0
  538. package/dist/src/Schema/service/actors/verifyModelInstancesInCache.d.ts +6 -0
  539. package/dist/src/Schema/service/actors/verifyModelInstancesInCache.d.ts.map +1 -0
  540. package/dist/src/Schema/service/actors/verifyModelsInDb.d.ts +7 -0
  541. package/dist/src/Schema/service/actors/verifyModelsInDb.d.ts.map +1 -0
  542. package/dist/src/Schema/service/actors/verifyPropertiesInDb.d.ts +8 -0
  543. package/dist/src/Schema/service/actors/verifyPropertiesInDb.d.ts.map +1 -0
  544. package/dist/src/Schema/service/actors/verifyPropertyInstancesInCache.d.ts +6 -0
  545. package/dist/src/Schema/service/actors/verifyPropertyInstancesInCache.d.ts.map +1 -0
  546. package/dist/src/Schema/service/actors/verifySchemaInDb.d.ts +7 -0
  547. package/dist/src/Schema/service/actors/verifySchemaInDb.d.ts.map +1 -0
  548. package/dist/src/Schema/service/actors/writeModelsToDb.d.ts +9 -0
  549. package/dist/src/Schema/service/actors/writeModelsToDb.d.ts.map +1 -0
  550. package/dist/src/Schema/service/actors/writePropertiesToDb.d.ts +10 -0
  551. package/dist/src/Schema/service/actors/writePropertiesToDb.d.ts.map +1 -0
  552. package/dist/src/Schema/service/actors/writeSchemaToDb.d.ts +11 -0
  553. package/dist/src/Schema/service/actors/writeSchemaToDb.d.ts.map +1 -0
  554. package/dist/src/Schema/service/addModelsMachine.d.ts +111 -0
  555. package/dist/src/Schema/service/addModelsMachine.d.ts.map +1 -0
  556. package/dist/src/Schema/service/schemaMachine.d.ts +494 -0
  557. package/dist/src/Schema/service/schemaMachine.d.ts.map +1 -0
  558. package/dist/src/Schema/service/validation/SchemaValidationService.d.ts +76 -0
  559. package/dist/src/Schema/service/validation/SchemaValidationService.d.ts.map +1 -0
  560. package/dist/src/Schema/validation.d.ts +40 -0
  561. package/dist/src/Schema/validation.d.ts.map +1 -0
  562. package/dist/src/browser/db/Db.d.ts +34 -2
  563. package/dist/src/browser/db/Db.d.ts.map +1 -1
  564. package/dist/src/browser/db/drizzleFiles.d.ts +7 -0
  565. package/dist/src/browser/db/drizzleFiles.d.ts.map +1 -0
  566. package/dist/src/browser/helpers/EasClient.d.ts +2 -0
  567. package/dist/src/browser/helpers/EasClient.d.ts.map +1 -1
  568. package/dist/src/browser/helpers/FileManager.d.ts +15 -2
  569. package/dist/src/browser/helpers/FileManager.d.ts.map +1 -1
  570. package/dist/src/browser/helpers/PathResolver.d.ts +40 -0
  571. package/dist/src/browser/helpers/PathResolver.d.ts.map +1 -0
  572. package/dist/src/browser/helpers/QueryClient.d.ts +2 -2
  573. package/dist/src/browser/helpers/QueryClient.d.ts.map +1 -1
  574. package/dist/src/browser/index.d.ts +1 -0
  575. package/dist/src/browser/index.d.ts.map +1 -1
  576. package/dist/src/browser/react/SeedImage.d.ts +2 -2
  577. package/dist/src/browser/react/SeedImage.d.ts.map +1 -1
  578. package/dist/src/browser/react/client.d.ts +2 -0
  579. package/dist/src/browser/react/client.d.ts.map +1 -0
  580. package/dist/src/browser/react/db.d.ts.map +1 -1
  581. package/dist/src/browser/react/index.d.ts +5 -2
  582. package/dist/src/browser/react/index.d.ts.map +1 -1
  583. package/dist/src/browser/react/item.d.ts +6 -6
  584. package/dist/src/browser/react/item.d.ts.map +1 -1
  585. package/dist/src/browser/react/itemProperty.d.ts +57 -0
  586. package/dist/src/browser/react/itemProperty.d.ts.map +1 -0
  587. package/dist/src/browser/react/liveQuery.d.ts +29 -0
  588. package/dist/src/browser/react/liveQuery.d.ts.map +1 -0
  589. package/dist/src/browser/react/model.d.ts +32 -5
  590. package/dist/src/browser/react/model.d.ts.map +1 -1
  591. package/dist/src/browser/react/modelProperty.d.ts +59 -0
  592. package/dist/src/browser/react/modelProperty.d.ts.map +1 -0
  593. package/dist/src/browser/react/schema.d.ts +37 -0
  594. package/dist/src/browser/react/schema.d.ts.map +1 -0
  595. package/dist/src/browser/react/services.d.ts +3 -2
  596. package/dist/src/browser/react/services.d.ts.map +1 -1
  597. package/dist/src/browser/seed.d.ts +0 -1
  598. package/dist/src/browser/seed.d.ts.map +1 -1
  599. package/dist/src/browser/workers/FileDownloader.d.ts.map +1 -1
  600. package/dist/src/browser/workers/content-hash.d.ts.map +1 -1
  601. package/dist/src/client/ClientManager.d.ts +179 -175
  602. package/dist/src/client/ClientManager.d.ts.map +1 -1
  603. package/dist/src/client/actors/addModelsToDb.d.ts +4 -0
  604. package/dist/src/client/actors/addModelsToDb.d.ts.map +1 -0
  605. package/dist/src/client/actors/addModelsToStore.d.ts +4 -0
  606. package/dist/src/client/actors/addModelsToStore.d.ts.map +1 -0
  607. package/dist/src/client/actors/dbInit.d.ts +4 -0
  608. package/dist/src/client/actors/dbInit.d.ts.map +1 -0
  609. package/dist/src/client/actors/fileSystemInit.d.ts +4 -0
  610. package/dist/src/client/actors/fileSystemInit.d.ts.map +1 -0
  611. package/dist/src/client/actors/platformClassesInit.d.ts +9 -0
  612. package/dist/src/client/actors/platformClassesInit.d.ts.map +1 -0
  613. package/dist/src/client/actors/processSchemaFiles.d.ts +4 -0
  614. package/dist/src/client/actors/processSchemaFiles.d.ts.map +1 -0
  615. package/dist/src/client/actors/saveAppState.d.ts +6 -3
  616. package/dist/src/client/actors/saveAppState.d.ts.map +1 -1
  617. package/dist/src/client/actors/saveConfig.d.ts +4 -0
  618. package/dist/src/client/actors/saveConfig.d.ts.map +1 -0
  619. package/dist/src/client/clientManagerMachine.d.ts +57 -89
  620. package/dist/src/client/clientManagerMachine.d.ts.map +1 -1
  621. package/dist/src/client/constants.d.ts +79 -0
  622. package/dist/src/client/constants.d.ts.map +1 -0
  623. package/dist/src/client/index.d.ts.map +1 -1
  624. package/dist/src/db/Db/BaseDb.d.ts +30 -0
  625. package/dist/src/db/Db/BaseDb.d.ts.map +1 -1
  626. package/dist/src/db/configs/dev.schema.config.d.ts +3 -0
  627. package/dist/src/db/configs/dev.schema.config.d.ts.map +1 -0
  628. package/dist/src/db/read/getExistingItem.d.ts.map +1 -1
  629. package/dist/src/db/read/getModelSchemas.d.ts +8 -3
  630. package/dist/src/db/read/getModelSchemas.d.ts.map +1 -1
  631. package/dist/src/db/read/getPropertyData.d.ts.map +1 -1
  632. package/dist/src/db/read/getPublishPayload.d.ts +2 -2
  633. package/dist/src/db/read/getPublishPayload.d.ts.map +1 -1
  634. package/dist/src/db/read/getPublishUploads.d.ts.map +1 -1
  635. package/dist/src/db/read/getRelationValueData.d.ts.map +1 -1
  636. package/dist/src/db/read/getSchemaUidForModel.d.ts +1 -1
  637. package/dist/src/db/read/getSchemaUidForModel.d.ts.map +1 -1
  638. package/dist/src/db/read/getStorageTransactionIdForSeedUid.d.ts.map +1 -1
  639. package/dist/src/db/read/subqueries/metadataLatest.d.ts.map +1 -1
  640. package/dist/src/db/write/createMetadata.d.ts +3 -1
  641. package/dist/src/db/write/createMetadata.d.ts.map +1 -1
  642. package/dist/src/db/write/createNewItem.d.ts.map +1 -1
  643. package/dist/src/db/write/createSeed.d.ts.map +1 -1
  644. package/dist/src/db/write/recoverDeletedItem.d.ts.map +1 -1
  645. package/dist/src/db/write/saveAppState.d.ts.map +1 -1
  646. package/dist/src/db/write/saveMetadata.d.ts.map +1 -1
  647. package/dist/src/db/write/updateMetadata.d.ts.map +1 -1
  648. package/dist/src/eas.d.ts +26 -0
  649. package/dist/src/eas.d.ts.map +1 -0
  650. package/dist/src/eslint-rules/align-imports.d.ts +12 -0
  651. package/dist/src/eslint-rules/align-imports.d.ts.map +1 -0
  652. package/dist/src/events/files/download.d.ts.map +1 -1
  653. package/dist/src/events/files/index.d.ts.map +1 -1
  654. package/dist/src/events/item/create.d.ts.map +1 -1
  655. package/dist/src/events/item/publish.d.ts.map +1 -1
  656. package/dist/src/events/item/request.d.ts.map +1 -1
  657. package/dist/src/events/item/requestAll.d.ts.map +1 -1
  658. package/dist/src/events/item/syncDbWithEas.d.ts.map +1 -1
  659. package/dist/src/events/services/allItems.d.ts.map +1 -1
  660. package/dist/src/feed.d.ts +2 -0
  661. package/dist/src/feed.d.ts.map +1 -0
  662. package/dist/src/graphql/gql/gql.d.ts +29 -58
  663. package/dist/src/graphql/gql/gql.d.ts.map +1 -1
  664. package/dist/src/graphql/gql/graphql.d.ts +115 -83
  665. package/dist/src/graphql/gql/graphql.d.ts.map +1 -1
  666. package/dist/src/helpers/ArweaveClient/index.d.ts +1 -0
  667. package/dist/src/helpers/ArweaveClient/index.d.ts.map +1 -1
  668. package/dist/src/helpers/EasClient/BaseEasClient.d.ts +3 -0
  669. package/dist/src/helpers/EasClient/BaseEasClient.d.ts.map +1 -1
  670. package/dist/src/helpers/FileManager/BaseFileManager.d.ts +7 -1
  671. package/dist/src/helpers/FileManager/BaseFileManager.d.ts.map +1 -1
  672. package/dist/src/helpers/PathResolver/BasePathResolver.d.ts +22 -0
  673. package/dist/src/helpers/PathResolver/BasePathResolver.d.ts.map +1 -0
  674. package/dist/src/helpers/constants.d.ts +14 -0
  675. package/dist/src/helpers/constants.d.ts.map +1 -1
  676. package/dist/src/helpers/crypto.d.ts.map +1 -1
  677. package/dist/src/helpers/db.d.ts +109 -1
  678. package/dist/src/helpers/db.d.ts.map +1 -1
  679. package/dist/src/helpers/environment.d.ts +16 -0
  680. package/dist/src/helpers/environment.d.ts.map +1 -1
  681. package/dist/src/helpers/file/download/actors.d.ts.map +1 -0
  682. package/dist/src/helpers/file/download/index.d.ts.map +1 -0
  683. package/dist/src/helpers/file/fetchAll/actors.d.ts.map +1 -0
  684. package/dist/src/helpers/file/fetchAll/index.d.ts.map +1 -0
  685. package/dist/src/helpers/file/queries.d.ts.map +1 -0
  686. package/dist/src/helpers/files.d.ts.map +1 -1
  687. package/dist/src/helpers/getSchemaForItemProperty.d.ts +7 -3
  688. package/dist/src/helpers/getSchemaForItemProperty.d.ts.map +1 -1
  689. package/dist/src/helpers/getSegmentedItemProperties.d.ts +4 -4
  690. package/dist/src/helpers/getSegmentedItemProperties.d.ts.map +1 -1
  691. package/dist/src/helpers/image/queries.d.ts.map +1 -0
  692. package/dist/src/helpers/index.d.ts +7 -7
  693. package/dist/src/helpers/index.d.ts.map +1 -1
  694. package/dist/src/helpers/model.d.ts +9 -0
  695. package/dist/src/helpers/model.d.ts.map +1 -0
  696. package/dist/src/helpers/property/index.d.ts +298 -0
  697. package/dist/src/helpers/property/index.d.ts.map +1 -0
  698. package/dist/src/helpers/property.d.ts +39 -0
  699. package/dist/src/helpers/property.d.ts.map +1 -0
  700. package/dist/src/helpers/reactiveProxy.d.ts +44 -0
  701. package/dist/src/helpers/reactiveProxy.d.ts.map +1 -0
  702. package/dist/src/helpers/schema.d.ts +131 -0
  703. package/dist/src/helpers/schema.d.ts.map +1 -0
  704. package/dist/src/helpers/updateSchema.d.ts +109 -0
  705. package/dist/src/helpers/updateSchema.d.ts.map +1 -0
  706. package/dist/src/imports/index.d.ts +3 -0
  707. package/dist/src/imports/index.d.ts.map +1 -0
  708. package/dist/src/imports/json.d.ts +81 -0
  709. package/dist/src/imports/json.d.ts.map +1 -0
  710. package/dist/src/imports/markdown.d.ts +38 -0
  711. package/dist/src/imports/markdown.d.ts.map +1 -0
  712. package/dist/src/index.d.ts +22 -14
  713. package/dist/src/index.d.ts.map +1 -1
  714. package/dist/src/interfaces/IItem.d.ts +5 -2
  715. package/dist/src/interfaces/IItem.d.ts.map +1 -1
  716. package/dist/src/interfaces/IItemProperty.d.ts +5 -5
  717. package/dist/src/interfaces/IItemProperty.d.ts.map +1 -1
  718. package/dist/src/node/codegen/drizzle.d.ts +3 -3
  719. package/dist/src/node/codegen/drizzle.d.ts.map +1 -1
  720. package/dist/src/node/constants.d.ts +0 -1
  721. package/dist/src/node/constants.d.ts.map +1 -1
  722. package/dist/src/node/db/Db.d.ts +36 -2
  723. package/dist/src/node/db/Db.d.ts.map +1 -1
  724. package/dist/src/node/db/index.d.ts +4 -4
  725. package/dist/src/node/db/index.d.ts.map +1 -1
  726. package/dist/src/node/helpers/EasClient.d.ts.map +1 -1
  727. package/dist/src/node/helpers/FileManager.d.ts +10 -1
  728. package/dist/src/node/helpers/FileManager.d.ts.map +1 -1
  729. package/dist/src/node/helpers/PathResolver.d.ts +43 -0
  730. package/dist/src/node/helpers/PathResolver.d.ts.map +1 -0
  731. package/dist/src/node/helpers/index.d.ts.map +1 -1
  732. package/dist/src/node/helpers/scripts.d.ts +16 -0
  733. package/dist/src/node/helpers/scripts.d.ts.map +1 -0
  734. package/dist/src/node/index.d.ts +25 -0
  735. package/dist/src/node/index.d.ts.map +1 -0
  736. package/dist/src/node/webpack/fs-proxy.d.ts +4 -0
  737. package/dist/src/node/webpack/fs-proxy.d.ts.map +1 -0
  738. package/dist/src/node/webpack/index.d.ts.map +1 -1
  739. package/dist/src/seedSchema/ModelSchema.d.ts +72 -38
  740. package/dist/src/seedSchema/ModelSchema.d.ts.map +1 -1
  741. package/dist/src/seedSchema/ModelSchemaSchema.d.ts +61 -0
  742. package/dist/src/seedSchema/ModelSchemaSchema.d.ts.map +1 -0
  743. package/dist/src/seedSchema/SchemaSchema.d.ts +169 -0
  744. package/dist/src/seedSchema/SchemaSchema.d.ts.map +1 -0
  745. package/dist/src/seedSchema/index.d.ts +2 -0
  746. package/dist/src/seedSchema/index.d.ts.map +1 -1
  747. package/dist/src/services/events.d.ts.map +1 -1
  748. package/dist/src/services/publish/actors/preparePublishRequestData.d.ts.map +1 -1
  749. package/dist/src/services/publish/actors/upload.d.ts.map +1 -1
  750. package/dist/src/services/publish/publishMachine.d.ts +24 -185
  751. package/dist/src/services/publish/publishMachine.d.ts.map +1 -1
  752. package/dist/src/services/write/actors/validateEntity.d.ts +12 -0
  753. package/dist/src/services/write/actors/validateEntity.d.ts.map +1 -0
  754. package/dist/src/services/write/actors/writeToDatabase.d.ts +9 -0
  755. package/dist/src/services/write/actors/writeToDatabase.d.ts.map +1 -0
  756. package/dist/src/services/write/writeProcessMachine.d.ts +84 -0
  757. package/dist/src/services/write/writeProcessMachine.d.ts.map +1 -0
  758. package/dist/src/types/import.d.ts +72 -0
  759. package/dist/src/types/import.d.ts.map +1 -0
  760. package/dist/src/types/index.d.ts +9 -3
  761. package/dist/src/types/index.d.ts.map +1 -1
  762. package/dist/src/types/item.d.ts +7 -26
  763. package/dist/src/types/item.d.ts.map +1 -1
  764. package/dist/src/types/machines.d.ts +16 -27
  765. package/dist/src/types/machines.d.ts.map +1 -1
  766. package/dist/src/types/model.d.ts +12 -15
  767. package/dist/src/types/model.d.ts.map +1 -1
  768. package/dist/src/types/property.d.ts +1 -1
  769. package/dist/src/vite/index.d.ts +47 -0
  770. package/dist/src/vite/index.d.ts.map +1 -0
  771. package/dist/stores/eas.js +23 -0
  772. package/dist/stores/eas.js.map +1 -0
  773. package/dist/vite/index.js +554 -0
  774. package/dist/vite/index.js.map +1 -0
  775. package/package.json +106 -74
  776. package/dist/addModel.js +0 -93
  777. package/dist/addModel.js.map +0 -1
  778. package/dist/bin.js +0 -306
  779. package/dist/bin.js.map +0 -1
  780. package/dist/db/configs/browser.app.db.config.ts +0 -28
  781. package/dist/db/configs/node.app.db.config.js +0 -21
  782. package/dist/db/configs/node.app.db.config.js.map +0 -1
  783. package/dist/db/configs/node.app.db.config.ts +0 -28
  784. package/dist/db/configs/seed.schema.config.ts +0 -25
  785. package/dist/protos/seed.proto +0 -97
  786. package/dist/rpcServer.js +0 -358
  787. package/dist/rpcServer.js.map +0 -1
  788. package/dist/scripts/addModel.d.ts +0 -3
  789. package/dist/scripts/addModel.d.ts.map +0 -1
  790. package/dist/scripts/bin.d.ts +0 -8
  791. package/dist/scripts/bin.d.ts.map +0 -1
  792. package/dist/seedData.json +0 -23
  793. package/dist/src/Item/BaseItem.d.ts +0 -54
  794. package/dist/src/Item/BaseItem.d.ts.map +0 -1
  795. package/dist/src/Item/BaseItem.js +0 -309
  796. package/dist/src/Item/BaseItem.js.map +0 -1
  797. package/dist/src/Item/queries.js +0 -94
  798. package/dist/src/Item/queries.js.map +0 -1
  799. package/dist/src/Item/service/actors/fetchDataFromEas.js +0 -74
  800. package/dist/src/Item/service/actors/fetchDataFromEas.js.map +0 -1
  801. package/dist/src/Item/service/actors/hydrateExistingItem.js +0 -119
  802. package/dist/src/Item/service/actors/hydrateExistingItem.js.map +0 -1
  803. package/dist/src/Item/service/actors/hydrateNewItem.js.map +0 -1
  804. package/dist/src/Item/service/actors/initialize.js +0 -39
  805. package/dist/src/Item/service/actors/initialize.js.map +0 -1
  806. package/dist/src/Item/service/actors/reload.js.map +0 -1
  807. package/dist/src/Item/service/actors/waitForDb.js.map +0 -1
  808. package/dist/src/Item/service/itemMachineSingle.js +0 -154
  809. package/dist/src/Item/service/itemMachineSingle.js.map +0 -1
  810. package/dist/src/ItemProperty/BaseItemProperty.d.ts +0 -109
  811. package/dist/src/ItemProperty/BaseItemProperty.d.ts.map +0 -1
  812. package/dist/src/ItemProperty/BaseItemProperty.js +0 -350
  813. package/dist/src/ItemProperty/BaseItemProperty.js.map +0 -1
  814. package/dist/src/ItemProperty/service/actors/hydrateFromDb.js +0 -208
  815. package/dist/src/ItemProperty/service/actors/hydrateFromDb.js.map +0 -1
  816. package/dist/src/ItemProperty/service/actors/initialize.js +0 -65
  817. package/dist/src/ItemProperty/service/actors/initialize.js.map +0 -1
  818. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js +0 -317
  819. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js.map +0 -1
  820. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js.map +0 -1
  821. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js +0 -100
  822. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +0 -1
  823. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImage.js.map +0 -1
  824. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +0 -119
  825. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +0 -1
  826. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js +0 -81
  827. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +0 -1
  828. package/dist/src/ItemProperty/service/actors/waitForDb.js.map +0 -1
  829. package/dist/src/ItemProperty/service/propertyMachine.js +0 -198
  830. package/dist/src/ItemProperty/service/propertyMachine.js.map +0 -1
  831. package/dist/src/browser/Item/Item.d.ts +0 -7
  832. package/dist/src/browser/Item/Item.d.ts.map +0 -1
  833. package/dist/src/browser/Item/Item.js +0 -10
  834. package/dist/src/browser/Item/Item.js.map +0 -1
  835. package/dist/src/browser/ItemProperty/ItemProperty.d.ts +0 -8
  836. package/dist/src/browser/ItemProperty/ItemProperty.d.ts.map +0 -1
  837. package/dist/src/browser/ItemProperty/ItemProperty.js +0 -10
  838. package/dist/src/browser/ItemProperty/ItemProperty.js.map +0 -1
  839. package/dist/src/browser/db/Db.js +0 -243
  840. package/dist/src/browser/db/Db.js.map +0 -1
  841. package/dist/src/browser/helpers/ArweaveClient.js +0 -13
  842. package/dist/src/browser/helpers/ArweaveClient.js.map +0 -1
  843. package/dist/src/browser/helpers/FileManager.js +0 -323
  844. package/dist/src/browser/helpers/FileManager.js.map +0 -1
  845. package/dist/src/browser/helpers/QueryClient.js +0 -19
  846. package/dist/src/browser/helpers/QueryClient.js.map +0 -1
  847. package/dist/src/browser/helpers/eas.d.ts +0 -20
  848. package/dist/src/browser/helpers/eas.d.ts.map +0 -1
  849. package/dist/src/browser/helpers/eas.js +0 -89
  850. package/dist/src/browser/helpers/eas.js.map +0 -1
  851. package/dist/src/browser/react/SeedImage.js +0 -105
  852. package/dist/src/browser/react/SeedImage.js.map +0 -1
  853. package/dist/src/browser/react/db.js +0 -6
  854. package/dist/src/browser/react/db.js.map +0 -1
  855. package/dist/src/browser/react/item.js +0 -216
  856. package/dist/src/browser/react/item.js.map +0 -1
  857. package/dist/src/browser/react/model.js +0 -20
  858. package/dist/src/browser/react/model.js.map +0 -1
  859. package/dist/src/browser/react/property.d.ts +0 -20
  860. package/dist/src/browser/react/property.d.ts.map +0 -1
  861. package/dist/src/browser/react/property.js +0 -107
  862. package/dist/src/browser/react/property.js.map +0 -1
  863. package/dist/src/browser/react/services.js +0 -306
  864. package/dist/src/browser/react/services.js.map +0 -1
  865. package/dist/src/browser/react/trash.js.map +0 -1
  866. package/dist/src/browser/workers/FileDownloader.js.map +0 -1
  867. package/dist/src/browser/workers/ImageResizer.js.map +0 -1
  868. package/dist/src/browser/workers/filesDownload.js.map +0 -1
  869. package/dist/src/browser/workers/imageResize.js.map +0 -1
  870. package/dist/src/client/ClientManager.js +0 -90
  871. package/dist/src/client/ClientManager.js.map +0 -1
  872. package/dist/src/client/actions/setAddresses.js +0 -19
  873. package/dist/src/client/actions/setAddresses.js.map +0 -1
  874. package/dist/src/client/actors/initialize.d.ts +0 -4
  875. package/dist/src/client/actors/initialize.d.ts.map +0 -1
  876. package/dist/src/client/actors/initialize.js +0 -107
  877. package/dist/src/client/actors/initialize.js.map +0 -1
  878. package/dist/src/client/actors/saveAppState.js +0 -46
  879. package/dist/src/client/actors/saveAppState.js.map +0 -1
  880. package/dist/src/client/clientManagerMachine.js +0 -63
  881. package/dist/src/client/clientManagerMachine.js.map +0 -1
  882. package/dist/src/db/Db/BaseDb.js +0 -25
  883. package/dist/src/db/Db/BaseDb.js.map +0 -1
  884. package/dist/src/db/configs/browser.app.db.config.d.ts +0 -3
  885. package/dist/src/db/configs/browser.app.db.config.d.ts.map +0 -1
  886. package/dist/src/db/configs/node.app.db.config.d.ts +0 -3
  887. package/dist/src/db/configs/node.app.db.config.d.ts.map +0 -1
  888. package/dist/src/db/configs/seed.schema.config.d.ts +0 -19
  889. package/dist/src/db/configs/seed.schema.config.d.ts.map +0 -1
  890. package/dist/src/db/configs/seed.schema.config.js +0 -52
  891. package/dist/src/db/configs/seed.schema.config.js.map +0 -1
  892. package/dist/src/db/read/getExistingItem.js +0 -31
  893. package/dist/src/db/read/getExistingItem.js.map +0 -1
  894. package/dist/src/db/read/getItem.js +0 -26
  895. package/dist/src/db/read/getItem.js.map +0 -1
  896. package/dist/src/db/read/getItemData.js +0 -86
  897. package/dist/src/db/read/getItemData.js.map +0 -1
  898. package/dist/src/db/read/getItemProperties.js +0 -51
  899. package/dist/src/db/read/getItemProperties.js.map +0 -1
  900. package/dist/src/db/read/getItemProperty.js +0 -32
  901. package/dist/src/db/read/getItemProperty.js.map +0 -1
  902. package/dist/src/db/read/getItems.js +0 -51
  903. package/dist/src/db/read/getItems.js.map +0 -1
  904. package/dist/src/db/read/getMetadata.js +0 -34
  905. package/dist/src/db/read/getMetadata.js.map +0 -1
  906. package/dist/src/db/read/getModelSchemas.js +0 -51
  907. package/dist/src/db/read/getModelSchemas.js.map +0 -1
  908. package/dist/src/db/read/getModels.js +0 -18
  909. package/dist/src/db/read/getModels.js.map +0 -1
  910. package/dist/src/db/read/getPropertyData.js +0 -40
  911. package/dist/src/db/read/getPropertyData.js.map +0 -1
  912. package/dist/src/db/read/getPublishPayload.js +0 -265
  913. package/dist/src/db/read/getPublishPayload.js.map +0 -1
  914. package/dist/src/db/read/getPublishUploads.js +0 -166
  915. package/dist/src/db/read/getPublishUploads.js.map +0 -1
  916. package/dist/src/db/read/getRelationValueData.js +0 -32
  917. package/dist/src/db/read/getRelationValueData.js.map +0 -1
  918. package/dist/src/db/read/getSchemaUidForModel.js +0 -28
  919. package/dist/src/db/read/getSchemaUidForModel.js.map +0 -1
  920. package/dist/src/db/read/getSeedData.js +0 -30
  921. package/dist/src/db/read/getSeedData.js.map +0 -1
  922. package/dist/src/db/read/getStorageTransactionIdForSeedUid.js +0 -32
  923. package/dist/src/db/read/getStorageTransactionIdForSeedUid.js.map +0 -1
  924. package/dist/src/db/read/getVersionData.js +0 -35
  925. package/dist/src/db/read/getVersionData.js.map +0 -1
  926. package/dist/src/db/read/subqueries/metadataLatest.js +0 -37
  927. package/dist/src/db/read/subqueries/metadataLatest.js.map +0 -1
  928. package/dist/src/db/read/subqueries/versionData.js +0 -29
  929. package/dist/src/db/read/subqueries/versionData.js.map +0 -1
  930. package/dist/src/db/write/createMetadata.js +0 -65
  931. package/dist/src/db/write/createMetadata.js.map +0 -1
  932. package/dist/src/db/write/createNewItem.js +0 -38
  933. package/dist/src/db/write/createNewItem.js.map +0 -1
  934. package/dist/src/db/write/createSeed.js +0 -31
  935. package/dist/src/db/write/createSeed.js.map +0 -1
  936. package/dist/src/db/write/createSeeds.js +0 -27
  937. package/dist/src/db/write/createSeeds.js.map +0 -1
  938. package/dist/src/db/write/createVersion.js +0 -27
  939. package/dist/src/db/write/createVersion.js.map +0 -1
  940. package/dist/src/db/write/deleteItem.js +0 -23
  941. package/dist/src/db/write/deleteItem.js.map +0 -1
  942. package/dist/src/db/write/saveAppState.js +0 -28
  943. package/dist/src/db/write/saveAppState.js.map +0 -1
  944. package/dist/src/db/write/saveMetadata.js +0 -24
  945. package/dist/src/db/write/saveMetadata.js.map +0 -1
  946. package/dist/src/db/write/updateItemPropertyValue.js +0 -163
  947. package/dist/src/db/write/updateItemPropertyValue.js.map +0 -1
  948. package/dist/src/db/write/updateMetadata.js +0 -27
  949. package/dist/src/db/write/updateMetadata.js.map +0 -1
  950. package/dist/src/eventBus.js.map +0 -1
  951. package/dist/src/events/files/download.js +0 -162
  952. package/dist/src/events/files/download.js.map +0 -1
  953. package/dist/src/events/files/index.js +0 -60
  954. package/dist/src/events/files/index.js.map +0 -1
  955. package/dist/src/events/index.js +0 -28
  956. package/dist/src/events/index.js.map +0 -1
  957. package/dist/src/events/item/index.js.map +0 -1
  958. package/dist/src/events/item/publish.js +0 -19
  959. package/dist/src/events/item/publish.js.map +0 -1
  960. package/dist/src/events/item/syncDbWithEas.js +0 -411
  961. package/dist/src/events/item/syncDbWithEas.js.map +0 -1
  962. package/dist/src/events/services/allItems.js +0 -19
  963. package/dist/src/events/services/allItems.js.map +0 -1
  964. package/dist/src/events/services/index.js.map +0 -1
  965. package/dist/src/graphql/gql/gql.js +0 -38
  966. package/dist/src/graphql/gql/gql.js.map +0 -1
  967. package/dist/src/graphql/gql/graphql.js +0 -106
  968. package/dist/src/graphql/gql/graphql.js.map +0 -1
  969. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.js.map +0 -1
  970. package/dist/src/helpers/ArweaveClient/index.js +0 -45
  971. package/dist/src/helpers/ArweaveClient/index.js.map +0 -1
  972. package/dist/src/helpers/ArweaveClient/queries.js.map +0 -1
  973. package/dist/src/helpers/EasClient/BaseEasClient.js +0 -14
  974. package/dist/src/helpers/EasClient/BaseEasClient.js.map +0 -1
  975. package/dist/src/helpers/FileManager/BaseFileManager.js +0 -80
  976. package/dist/src/helpers/FileManager/BaseFileManager.js.map +0 -1
  977. package/dist/src/helpers/QueryClient/BaseQueryClient.js.map +0 -1
  978. package/dist/src/helpers/constants.js +0 -85
  979. package/dist/src/helpers/constants.js.map +0 -1
  980. package/dist/src/helpers/crypto.js.map +0 -1
  981. package/dist/src/helpers/db.js +0 -45
  982. package/dist/src/helpers/db.js.map +0 -1
  983. package/dist/src/helpers/environment.js +0 -29
  984. package/dist/src/helpers/environment.js.map +0 -1
  985. package/dist/src/helpers/getSchemaForItemProperty.js +0 -51
  986. package/dist/src/helpers/getSchemaForItemProperty.js.map +0 -1
  987. package/dist/src/helpers/getSegmentedItemProperties.js +0 -54
  988. package/dist/src/helpers/getSegmentedItemProperties.js.map +0 -1
  989. package/dist/src/helpers/index.js +0 -113
  990. package/dist/src/helpers/index.js.map +0 -1
  991. package/dist/src/helpers/scripts.d.ts +0 -2
  992. package/dist/src/helpers/scripts.d.ts.map +0 -1
  993. package/dist/src/helpers/scripts.js +0 -14
  994. package/dist/src/helpers/scripts.js.map +0 -1
  995. package/dist/src/helpers/updateMachineContext.js.map +0 -1
  996. package/dist/src/node/Item/Item.d.ts +0 -7
  997. package/dist/src/node/Item/Item.d.ts.map +0 -1
  998. package/dist/src/node/Item/Item.js +0 -11
  999. package/dist/src/node/Item/Item.js.map +0 -1
  1000. package/dist/src/node/ItemProperty/ItemProperty.d.ts +0 -7
  1001. package/dist/src/node/ItemProperty/ItemProperty.d.ts.map +0 -1
  1002. package/dist/src/node/ItemProperty/ItemProperty.js +0 -10
  1003. package/dist/src/node/ItemProperty/ItemProperty.js.map +0 -1
  1004. package/dist/src/node/PathResolver.d.ts +0 -45
  1005. package/dist/src/node/PathResolver.d.ts.map +0 -1
  1006. package/dist/src/node/PathResolver.js +0 -170
  1007. package/dist/src/node/PathResolver.js.map +0 -1
  1008. package/dist/src/node/codegen/drizzle.js +0 -108
  1009. package/dist/src/node/codegen/drizzle.js.map +0 -1
  1010. package/dist/src/node/constants.js +0 -6
  1011. package/dist/src/node/constants.js.map +0 -1
  1012. package/dist/src/node/db/Db.js +0 -65
  1013. package/dist/src/node/db/Db.js.map +0 -1
  1014. package/dist/src/node/helpers/ArweaveClient.js +0 -13
  1015. package/dist/src/node/helpers/ArweaveClient.js.map +0 -1
  1016. package/dist/src/node/helpers/EasClient.js +0 -13
  1017. package/dist/src/node/helpers/EasClient.js.map +0 -1
  1018. package/dist/src/node/helpers/FileManager.js +0 -53
  1019. package/dist/src/node/helpers/FileManager.js.map +0 -1
  1020. package/dist/src/node/helpers/QueryClient.js.map +0 -1
  1021. package/dist/src/node/helpers/index.js +0 -38
  1022. package/dist/src/node/helpers/index.js.map +0 -1
  1023. package/dist/src/node/webpack/index.js.map +0 -1
  1024. package/dist/src/schema/file/download/actors.d.ts.map +0 -1
  1025. package/dist/src/schema/file/download/index.d.ts.map +0 -1
  1026. package/dist/src/schema/file/fetchAll/actors.d.ts.map +0 -1
  1027. package/dist/src/schema/file/fetchAll/index.d.ts.map +0 -1
  1028. package/dist/src/schema/file/queries.d.ts.map +0 -1
  1029. package/dist/src/schema/file/queries.js +0 -48
  1030. package/dist/src/schema/file/queries.js.map +0 -1
  1031. package/dist/src/schema/image/model.d.ts +0 -8
  1032. package/dist/src/schema/image/model.d.ts.map +0 -1
  1033. package/dist/src/schema/image/model.js +0 -29
  1034. package/dist/src/schema/image/model.js.map +0 -1
  1035. package/dist/src/schema/image/queries.d.ts.map +0 -1
  1036. package/dist/src/schema/index.d.ts +0 -4
  1037. package/dist/src/schema/index.d.ts.map +0 -1
  1038. package/dist/src/schema/model/index.d.ts +0 -63
  1039. package/dist/src/schema/model/index.d.ts.map +0 -1
  1040. package/dist/src/schema/model/index.js +0 -44
  1041. package/dist/src/schema/model/index.js.map +0 -1
  1042. package/dist/src/schema/property/index.d.ts +0 -151
  1043. package/dist/src/schema/property/index.d.ts.map +0 -1
  1044. package/dist/src/schema/property/index.js +0 -88
  1045. package/dist/src/schema/property/index.js.map +0 -1
  1046. package/dist/src/seedSchema/AppStateSchema.js.map +0 -1
  1047. package/dist/src/seedSchema/ConfigSchema.js.map +0 -1
  1048. package/dist/src/seedSchema/MetadataSchema.js.map +0 -1
  1049. package/dist/src/seedSchema/ModelSchema.js +0 -33
  1050. package/dist/src/seedSchema/ModelSchema.js.map +0 -1
  1051. package/dist/src/seedSchema/ModelUidSchema.js +0 -18
  1052. package/dist/src/seedSchema/ModelUidSchema.js.map +0 -1
  1053. package/dist/src/seedSchema/PropertyUidSchema.js +0 -18
  1054. package/dist/src/seedSchema/PropertyUidSchema.js.map +0 -1
  1055. package/dist/src/seedSchema/SeedSchema.js.map +0 -1
  1056. package/dist/src/seedSchema/VersionSchema.js.map +0 -1
  1057. package/dist/src/services/allItems/actors/fetchDbData.d.ts +0 -4
  1058. package/dist/src/services/allItems/actors/fetchDbData.d.ts.map +0 -1
  1059. package/dist/src/services/allItems/actors/fetchDbData.js +0 -13
  1060. package/dist/src/services/allItems/actors/fetchDbData.js.map +0 -1
  1061. package/dist/src/services/allItems/actors/fetchRelatedItems.d.ts +0 -4
  1062. package/dist/src/services/allItems/actors/fetchRelatedItems.d.ts.map +0 -1
  1063. package/dist/src/services/allItems/actors/fetchRelatedItems.js +0 -139
  1064. package/dist/src/services/allItems/actors/fetchRelatedItems.js.map +0 -1
  1065. package/dist/src/services/allItems/actors/fetchSeeds.d.ts +0 -4
  1066. package/dist/src/services/allItems/actors/fetchSeeds.d.ts.map +0 -1
  1067. package/dist/src/services/allItems/actors/fetchSeeds.js +0 -31
  1068. package/dist/src/services/allItems/actors/fetchSeeds.js.map +0 -1
  1069. package/dist/src/services/allItems/actors/fetchVersions.d.ts +0 -4
  1070. package/dist/src/services/allItems/actors/fetchVersions.d.ts.map +0 -1
  1071. package/dist/src/services/allItems/actors/fetchVersions.js +0 -35
  1072. package/dist/src/services/allItems/actors/fetchVersions.js.map +0 -1
  1073. package/dist/src/services/allItems/actors/initialize.d.ts +0 -4
  1074. package/dist/src/services/allItems/actors/initialize.d.ts.map +0 -1
  1075. package/dist/src/services/allItems/actors/initialize.js +0 -146
  1076. package/dist/src/services/allItems/actors/initialize.js.map +0 -1
  1077. package/dist/src/services/allItems/actors/processItems.d.ts +0 -4
  1078. package/dist/src/services/allItems/actors/processItems.d.ts.map +0 -1
  1079. package/dist/src/services/allItems/actors/processItems.js +0 -55
  1080. package/dist/src/services/allItems/actors/processItems.js.map +0 -1
  1081. package/dist/src/services/allItems/itemMachineAll.d.ts +0 -67
  1082. package/dist/src/services/allItems/itemMachineAll.d.ts.map +0 -1
  1083. package/dist/src/services/allItems/itemMachineAll.js +0 -153
  1084. package/dist/src/services/allItems/itemMachineAll.js.map +0 -1
  1085. package/dist/src/services/db/actors/checkStatus.d.ts +0 -4
  1086. package/dist/src/services/db/actors/checkStatus.d.ts.map +0 -1
  1087. package/dist/src/services/db/actors/checkStatus.js +0 -41
  1088. package/dist/src/services/db/actors/checkStatus.js.map +0 -1
  1089. package/dist/src/services/db/actors/connectToDb.d.ts +0 -4
  1090. package/dist/src/services/db/actors/connectToDb.d.ts.map +0 -1
  1091. package/dist/src/services/db/actors/connectToDb.js +0 -31
  1092. package/dist/src/services/db/actors/connectToDb.js.map +0 -1
  1093. package/dist/src/services/db/actors/migrate.d.ts +0 -4
  1094. package/dist/src/services/db/actors/migrate.d.ts.map +0 -1
  1095. package/dist/src/services/db/actors/migrate.js +0 -40
  1096. package/dist/src/services/db/actors/migrate.js.map +0 -1
  1097. package/dist/src/services/db/actors/validate.d.ts +0 -4
  1098. package/dist/src/services/db/actors/validate.d.ts.map +0 -1
  1099. package/dist/src/services/db/actors/validate.js +0 -40
  1100. package/dist/src/services/db/actors/validate.js.map +0 -1
  1101. package/dist/src/services/db/actors/waitForFiles.d.ts +0 -4
  1102. package/dist/src/services/db/actors/waitForFiles.d.ts.map +0 -1
  1103. package/dist/src/services/db/actors/waitForFiles.js +0 -32
  1104. package/dist/src/services/db/actors/waitForFiles.js.map +0 -1
  1105. package/dist/src/services/db/connectionManager.d.ts +0 -18
  1106. package/dist/src/services/db/connectionManager.d.ts.map +0 -1
  1107. package/dist/src/services/db/dbMachine.d.ts +0 -58
  1108. package/dist/src/services/db/dbMachine.d.ts.map +0 -1
  1109. package/dist/src/services/db/dbMachine.js +0 -156
  1110. package/dist/src/services/db/dbMachine.js.map +0 -1
  1111. package/dist/src/services/db/index.d.ts +0 -2
  1112. package/dist/src/services/db/index.d.ts.map +0 -1
  1113. package/dist/src/services/events.js +0 -15
  1114. package/dist/src/services/events.js.map +0 -1
  1115. package/dist/src/services/global/actors/addModelsToDb.d.ts +0 -4
  1116. package/dist/src/services/global/actors/addModelsToDb.d.ts.map +0 -1
  1117. package/dist/src/services/global/actors/addModelsToDb.js +0 -117
  1118. package/dist/src/services/global/actors/addModelsToDb.js.map +0 -1
  1119. package/dist/src/services/global/actors/getSchemaForModel.d.ts +0 -4
  1120. package/dist/src/services/global/actors/getSchemaForModel.d.ts.map +0 -1
  1121. package/dist/src/services/global/actors/getSchemaForModel.js +0 -26
  1122. package/dist/src/services/global/actors/getSchemaForModel.js.map +0 -1
  1123. package/dist/src/services/global/actors/initialize.d.ts +0 -4
  1124. package/dist/src/services/global/actors/initialize.d.ts.map +0 -1
  1125. package/dist/src/services/global/actors/initialize.js +0 -88
  1126. package/dist/src/services/global/actors/initialize.js.map +0 -1
  1127. package/dist/src/services/global/actors/savePublishService.d.ts +0 -4
  1128. package/dist/src/services/global/actors/savePublishService.d.ts.map +0 -1
  1129. package/dist/src/services/global/actors/savePublishService.js +0 -22
  1130. package/dist/src/services/global/actors/savePublishService.js.map +0 -1
  1131. package/dist/src/services/global/globalMachine.d.ts +0 -662
  1132. package/dist/src/services/global/globalMachine.d.ts.map +0 -1
  1133. package/dist/src/services/global/globalMachine.js +0 -246
  1134. package/dist/src/services/global/globalMachine.js.map +0 -1
  1135. package/dist/src/services/internal/actors/configureFs.d.ts +0 -4
  1136. package/dist/src/services/internal/actors/configureFs.d.ts.map +0 -1
  1137. package/dist/src/services/internal/actors/configureFs.js +0 -70
  1138. package/dist/src/services/internal/actors/configureFs.js.map +0 -1
  1139. package/dist/src/services/internal/actors/loadAppDb.d.ts +0 -4
  1140. package/dist/src/services/internal/actors/loadAppDb.d.ts.map +0 -1
  1141. package/dist/src/services/internal/actors/loadAppDb.js +0 -22
  1142. package/dist/src/services/internal/actors/loadAppDb.js.map +0 -1
  1143. package/dist/src/services/internal/actors/prepareDb.d.ts +0 -5
  1144. package/dist/src/services/internal/actors/prepareDb.d.ts.map +0 -1
  1145. package/dist/src/services/internal/actors/saveConfig.d.ts +0 -4
  1146. package/dist/src/services/internal/actors/saveConfig.d.ts.map +0 -1
  1147. package/dist/src/services/internal/actors/saveConfig.js +0 -76
  1148. package/dist/src/services/internal/actors/saveConfig.js.map +0 -1
  1149. package/dist/src/services/internal/actors/validateInput.d.ts +0 -4
  1150. package/dist/src/services/internal/actors/validateInput.d.ts.map +0 -1
  1151. package/dist/src/services/internal/actors/validateInput.js +0 -34
  1152. package/dist/src/services/internal/actors/validateInput.js.map +0 -1
  1153. package/dist/src/services/internal/actors/waitForFiles.d.ts +0 -4
  1154. package/dist/src/services/internal/actors/waitForFiles.d.ts.map +0 -1
  1155. package/dist/src/services/internal/actors/waitForFiles.js +0 -33
  1156. package/dist/src/services/internal/actors/waitForFiles.js.map +0 -1
  1157. package/dist/src/services/internal/constants.d.ts +0 -75
  1158. package/dist/src/services/internal/constants.d.ts.map +0 -1
  1159. package/dist/src/services/internal/constants.js +0 -85
  1160. package/dist/src/services/internal/constants.js.map +0 -1
  1161. package/dist/src/services/internal/helpers.d.ts +0 -10
  1162. package/dist/src/services/internal/helpers.d.ts.map +0 -1
  1163. package/dist/src/services/internal/helpers.js +0 -171
  1164. package/dist/src/services/internal/helpers.js.map +0 -1
  1165. package/dist/src/services/internal/internalMachine.d.ts +0 -57
  1166. package/dist/src/services/internal/internalMachine.d.ts.map +0 -1
  1167. package/dist/src/services/internal/internalMachine.js +0 -188
  1168. package/dist/src/services/internal/internalMachine.js.map +0 -1
  1169. package/dist/src/services/internal/queries.d.ts +0 -4
  1170. package/dist/src/services/internal/queries.d.ts.map +0 -1
  1171. package/dist/src/services/internal/types.d.ts +0 -12
  1172. package/dist/src/services/internal/types.d.ts.map +0 -1
  1173. package/dist/src/services/publish/actors/createPublishAttempt.js.map +0 -1
  1174. package/dist/src/services/publish/actors/preparePublishRequestData.js +0 -72
  1175. package/dist/src/services/publish/actors/preparePublishRequestData.js.map +0 -1
  1176. package/dist/src/services/publish/actors/upload.js +0 -55
  1177. package/dist/src/services/publish/actors/upload.js.map +0 -1
  1178. package/dist/src/services/publish/actors/validateItemData.js.map +0 -1
  1179. package/dist/src/services/publish/publishMachine.js +0 -71
  1180. package/dist/src/services/publish/publishMachine.js.map +0 -1
  1181. package/dist/src/stores/eas.js +0 -45
  1182. package/dist/src/stores/eas.js.map +0 -1
  1183. package/dist/src/stores/modelClass.d.ts +0 -6
  1184. package/dist/src/stores/modelClass.d.ts.map +0 -1
  1185. package/dist/src/stores/modelClass.js +0 -16
  1186. package/dist/src/stores/modelClass.js.map +0 -1
  1187. /package/dist/{src/Item → Item}/service/actors/hydrateNewItem.js +0 -0
  1188. /package/dist/{src/Item → Item}/service/actors/reload.js +0 -0
  1189. /package/dist/{src/Item → Item}/service/actors/waitForDb.js +0 -0
  1190. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/resolveRemoteStorage.js +0 -0
  1191. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/saveImage.js +0 -0
  1192. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/waitForDb.js +0 -0
  1193. /package/dist/{src/browser → browser}/react/trash.js +0 -0
  1194. /package/dist/{src/browser → browser}/workers/FileDownloader.js +0 -0
  1195. /package/dist/{src/browser → browser}/workers/ImageResizer.js +0 -0
  1196. /package/dist/{src/browser → browser}/workers/filesDownload.js +0 -0
  1197. /package/dist/{src/browser → browser}/workers/imageResize.js +0 -0
  1198. /package/dist/{src/eventBus.js → eventBus.js} +0 -0
  1199. /package/dist/{src/events → events}/item/index.js +0 -0
  1200. /package/dist/{src/events → events}/services/index.js +0 -0
  1201. /package/dist/{src/helpers → helpers}/ArweaveClient/BaseArweaveClient.js +0 -0
  1202. /package/dist/{src/helpers → helpers}/ArweaveClient/queries.js +0 -0
  1203. /package/dist/{src/helpers → helpers}/QueryClient/BaseQueryClient.js +0 -0
  1204. /package/dist/{src/helpers → helpers}/crypto.js +0 -0
  1205. /package/dist/{src/helpers → helpers}/updateMachineContext.js +0 -0
  1206. /package/dist/{src/node → node}/helpers/QueryClient.js +0 -0
  1207. /package/dist/{src/node → node}/webpack/index.js +0 -0
  1208. /package/dist/{src/seedSchema → seedSchema}/AppStateSchema.js +0 -0
  1209. /package/dist/{src/seedSchema → seedSchema}/ConfigSchema.js +0 -0
  1210. /package/dist/{src/seedSchema → seedSchema}/MetadataSchema.js +0 -0
  1211. /package/dist/{src/seedSchema → seedSchema}/SeedSchema.js +0 -0
  1212. /package/dist/{src/seedSchema → seedSchema}/VersionSchema.js +0 -0
  1213. /package/dist/{src/services → services}/publish/actors/createPublishAttempt.js +0 -0
  1214. /package/dist/{src/services → services}/publish/actors/validateItemData.js +0 -0
  1215. /package/dist/src/{schema → helpers}/file/download/actors.d.ts +0 -0
  1216. /package/dist/src/{schema → helpers}/file/download/index.d.ts +0 -0
  1217. /package/dist/src/{schema → helpers}/file/fetchAll/actors.d.ts +0 -0
  1218. /package/dist/src/{schema → helpers}/file/fetchAll/index.d.ts +0 -0
  1219. /package/dist/src/{schema → helpers}/file/queries.d.ts +0 -0
  1220. /package/dist/src/{schema → helpers}/image/queries.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelProperty.js","sources":["../../../src/ModelProperty/ModelProperty.ts"],"sourcesContent":["import { ActorRefFrom, createActor, SnapshotFrom } from 'xstate'\nimport { Static } from '@sinclair/typebox'\nimport { ModelPropertyDataTypes, TProperty } from '@/Schema'\nimport { modelPropertyMachine, ModelPropertyMachineContext } from './service/modelPropertyMachine'\nimport { StorageType } from '@/types'\nimport { BaseFileManager, generateId } from '@/helpers'\nimport { createReactiveProxy } from '@/helpers/reactiveProxy'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:modelProperty:ModelProperty')\n\ntype ModelPropertyService = ActorRefFrom<typeof modelPropertyMachine>\ntype ModelPropertySnapshot = SnapshotFrom<typeof modelPropertyMachine>\n\n// Define the property keys from TProperty\nconst TPropertyKeys = [\n 'id',\n 'name',\n 'dataType',\n 'ref',\n 'modelId',\n 'refModelId',\n 'refValueType',\n 'storageType',\n 'localStorageDir',\n 'filenameSuffix',\n 'modelName',\n 'refModelName',\n] as const\n\nexport class ModelProperty {\n protected static instanceCache: Map<\n string,\n { instance: ModelProperty; refCount: number }\n > = new Map()\n \n // Pending writes tracking\n private static pendingWrites = new Map<string, {\n propertyFileId: string\n modelId: number\n status: 'pending' | 'writing' | 'success' | 'error'\n timestamp: number\n }>()\n \n protected readonly _service: ModelPropertyService\n\n name?: string\n dataType?: ModelPropertyDataTypes\n ref?: string\n modelId?: number\n modelName?: string\n refModelId?: number\n refModelName?: string\n refValueType?: ModelPropertyDataTypes\n storageType?: StorageType\n localStorageDir?: string\n filenameSuffix?: string\n\n constructor(property: Static<typeof TProperty>) {\n // id is now the schemaFileId (string), _dbId is the database integer ID\n // Preserve _propertyFileId if it exists in the property object (from getPropertySchema)\n const serviceInput: ModelPropertyMachineContext = {\n ...property,\n _propertyFileId: (property as any)._propertyFileId || property.id,\n }\n\n this._service = createActor(modelPropertyMachine, {\n input: serviceInput,\n })\n\n this._service.start()\n\n // Initialize original values from the input property\n this._initializeOriginalValues(property)\n\n // Note: Property getters/setters are now handled by the Proxy in create()\n }\n\n /**\n * Initialize original values and schema name for tracking changes\n * This is called asynchronously after construction\n * If the property was loaded from the database and differs from the schema file,\n * it will be marked as edited.\n */\n private _initializeOriginalValues(property: Static<typeof TProperty>): void {\n // Resolve refModelId if ref/refModelName is provided but refModelId is missing\n const refModelName = property.refModelName || property.ref\n if (refModelName && !property.refModelId) {\n // Resolve refModelId asynchronously and update context\n this._resolveRefModelId(refModelName).then((refModelId) => {\n if (refModelId) {\n // Update the context with the resolved refModelId\n this._service.send({\n type: 'updateContext',\n refModelId,\n })\n }\n }).catch(() => {\n // Ignore errors - model might not exist yet\n })\n }\n\n // Get schema file values to use as \"original\" values\n // This allows us to detect if the property was edited (DB value differs from schema file)\n this._getSchemaFileValues(property).then((schemaFileValues) => {\n // Use schema file values as original (not the current property values)\n // This way, if current values differ from schema file, _isEdited will be true\n const originalValues: Partial<Static<typeof TProperty>> = schemaFileValues || {}\n \n // Compare current property values with schema file values to determine if edited\n // Only compare schema-relevant fields, not database-specific fields like id, modelId\n let isEdited = false\n if (schemaFileValues) {\n // Fields that are schema-relevant and should be compared\n const schemaRelevantFields: (keyof Static<typeof TProperty>)[] = [\n 'dataType',\n 'ref',\n 'refModelName',\n 'refValueType',\n 'storageType',\n 'localStorageDir',\n 'filenameSuffix',\n ]\n \n // Check if any schema-relevant field differs between current property and schema file\n isEdited = schemaRelevantFields.some((key) => {\n const currentValue = (property as any)[key]\n const originalValue = (schemaFileValues as any)[key]\n \n // Handle ref fields - compare by name\n if (key === 'ref' || key === 'refModelName') {\n const currentRef = property.refModelName || property.ref\n const originalRef = schemaFileValues.refModelName || schemaFileValues.ref\n // Both undefined/null means no ref, so they're the same\n if (!currentRef && !originalRef) return false\n return currentRef !== originalRef\n }\n \n // For other fields, compare values (handling undefined/null)\n if (currentValue === undefined && originalValue === undefined) return false\n if (currentValue === null && originalValue === null) return false\n if (currentValue === undefined && originalValue === null) return false\n if (currentValue === null && originalValue === undefined) return false\n \n return currentValue !== originalValue\n })\n } else {\n // No schema file values found - this is a runtime-created property\n // Use current property as original, but mark as edited since it hasn't been exported to file\n TPropertyKeys.forEach((key) => {\n if (property[key] !== undefined) {\n (originalValues as any)[key] = property[key]\n }\n })\n // For runtime-created properties, set isEdited = true initially\n isEdited = true\n }\n\n // Initialize with original values, including isEdited flag\n // Load isEdited from database if property exists in DB (async, fire-and-forget)\n this._loadIsEditedFromDb(property, isEdited).then((isEditedFromDb: boolean) => {\n this._service.send({\n type: 'initializeOriginalValues',\n originalValues,\n schemaName: undefined, // Will be set later if needed\n isEdited: isEditedFromDb,\n })\n }).catch(() => {\n // If we can't load from DB, use computed isEdited value\n this._service.send({\n type: 'initializeOriginalValues',\n originalValues,\n schemaName: undefined, // Will be set later if needed\n isEdited,\n })\n })\n }).catch(() => {\n // If we can't get schema file values, use current property as original\n const originalValues: Partial<Static<typeof TProperty>> = {}\n TPropertyKeys.forEach((key) => {\n if (property[key] !== undefined) {\n (originalValues as any)[key] = property[key]\n }\n })\n\n this._service.send({\n type: 'initializeOriginalValues',\n originalValues,\n schemaName: undefined,\n })\n })\n\n // Get schema name from model asynchronously (fire-and-forget)\n if (property.modelName) {\n this._setSchemaName(property.modelName).catch(() => {\n // If we can't get schema name, that's okay - it will be set later if needed\n })\n }\n }\n\n /**\n * Load isEdited flag from database if property exists in DB\n * @param property - The property data\n * @param fallbackIsEdited - Fallback value if property doesn't exist in DB\n * @returns The isEdited flag from database or fallback value\n */\n private async _loadIsEditedFromDb(\n property: Static<typeof TProperty>,\n fallbackIsEdited: boolean,\n ): Promise<boolean> {\n if (!property.modelName || !property.name) {\n return fallbackIsEdited\n }\n\n try {\n const { BaseDb } = await import('@/db/Db/BaseDb')\n const { properties: propertiesTable, models: modelsTable } = await import('@/seedSchema')\n const { eq, and } = await import('drizzle-orm')\n \n const db = BaseDb.getAppDb()\n if (!db) {\n return fallbackIsEdited\n }\n\n // Find model by name\n const modelRecords = await db\n .select({ id: modelsTable.id })\n .from(modelsTable)\n .where(eq(modelsTable.name, property.modelName))\n .limit(1)\n \n if (modelRecords.length === 0) {\n return fallbackIsEdited\n }\n\n // Find property by name and modelId\n const propertyRecords = await db\n .select({ isEdited: propertiesTable.isEdited })\n .from(propertiesTable)\n .where(\n and(\n eq(propertiesTable.name, property.name),\n eq(propertiesTable.modelId, modelRecords[0].id)\n )\n )\n .limit(1)\n \n if (propertyRecords.length > 0) {\n return propertyRecords[0].isEdited ?? false\n }\n } catch (error) {\n // Ignore errors - use fallback value\n }\n\n return fallbackIsEdited\n }\n\n /**\n * Resolve refModelId from refModelName by querying the database\n * @param refModelName - The name of the referenced model\n * @returns The database ID of the referenced model, or undefined if not found\n */\n private async _resolveRefModelId(refModelName: string): Promise<number | undefined> {\n if (!refModelName) {\n return undefined\n }\n\n try {\n const { BaseDb } = await import('@/db/Db/BaseDb')\n const seedSchema = await import('@/seedSchema')\n const modelsTable = seedSchema.models\n const { eq } = await import('drizzle-orm')\n \n const db = BaseDb.getAppDb()\n if (!db) {\n return undefined\n }\n\n const refModelRecords = await db\n .select()\n .from(modelsTable)\n .where(eq(modelsTable.name, refModelName))\n .limit(1)\n \n if (refModelRecords.length > 0 && refModelRecords[0].id) {\n return refModelRecords[0].id\n }\n } catch (error) {\n // Ignore errors - model might not exist yet or database not available\n logger(`Error resolving refModelId for model \"${refModelName}\":`, error)\n }\n\n return undefined\n }\n\n /**\n * Get schema file values for this property to use as \"original\" values\n * This allows comparison with database values to detect edits\n */\n private async _getSchemaFileValues(\n property: Static<typeof TProperty>,\n ): Promise<Partial<Static<typeof TProperty>> | undefined> {\n if (!property.modelName || !property.name) {\n return undefined\n }\n\n try {\n const { Model } = await import('@/Model/Model')\n const { modelPropertiesToObject } = await import('@/helpers/model')\n const model = await Model.getByNameAsync(property.modelName)\n \n if (!model || !model.properties || model.properties.length === 0) {\n return undefined\n }\n\n const schema = modelPropertiesToObject(model.properties)\n // Get the schema file value for this property\n const schemaFileValue = schema[property.name]\n if (!schemaFileValue) {\n return undefined\n }\n\n // Return schema file values as original values\n const originalValues: Partial<Static<typeof TProperty>> = {\n name: property.name,\n modelName: property.modelName,\n dataType: schemaFileValue.dataType,\n storageType: schemaFileValue.storageType,\n localStorageDir: schemaFileValue.localStorageDir,\n filenameSuffix: schemaFileValue.filenameSuffix,\n }\n\n // Handle ref fields\n if (schemaFileValue.ref) {\n originalValues.ref = schemaFileValue.ref\n originalValues.refModelName = schemaFileValue.ref\n // Try to get refModelId from database\n const refModelId = await this._resolveRefModelId(schemaFileValue.ref)\n if (refModelId) {\n originalValues.refModelId = refModelId\n }\n }\n\n if (schemaFileValue.refValueType) {\n originalValues.refValueType = schemaFileValue.refValueType\n }\n\n return originalValues\n } catch (error) {\n return undefined\n }\n }\n\n /**\n * Set the schema name for this property by looking it up from the model\n * Tries database first (more reliable), then falls back to schema files\n */\n private async _setSchemaName(modelName: string): Promise<void> {\n try {\n let schemaName: string | undefined\n\n // Try to get schema name from database first (more reliable)\n if (this.modelId) {\n try {\n const { BaseDb } = await import('@/db/Db/BaseDb')\n const seedSchema = await import('@/seedSchema')\n const modelsTable = seedSchema.models\n const modelSchemas = seedSchema.modelSchemas\n const schemas = seedSchema.schemas\n const { eq } = await import('drizzle-orm')\n \n const db = BaseDb.getAppDb()\n if (db) {\n const modelSchemaRecords = await db\n .select({\n schemaName: schemas.name,\n })\n .from(modelSchemas)\n .innerJoin(schemas, eq(modelSchemas.schemaId, schemas.id))\n .innerJoin(modelsTable, eq(modelSchemas.modelId, modelsTable.id))\n .where(eq(modelsTable.id, this.modelId))\n .limit(1)\n\n if (modelSchemaRecords.length > 0) {\n schemaName = modelSchemaRecords[0].schemaName\n }\n }\n } catch (error) {\n // Database lookup failed, continue to file-based lookup\n }\n }\n\n // Fall back to schema file lookup if database didn't work\n if (!schemaName) {\n const { getSchemaNameFromModel } = await import('./service/actors/saveToSchema')\n schemaName = await getSchemaNameFromModel(modelName)\n }\n\n if (schemaName) {\n // Update the context with the schema name using dedicated event\n this._service.send({\n type: 'setSchemaName',\n schemaName,\n })\n }\n } catch (error) {\n // If we can't get schema name, that's okay - it will be set later if needed\n }\n }\n\n /**\n * Manually set the schema name for this property\n * Useful when you know the schema name from context (e.g., when working with Schema instances)\n */\n setSchemaName(schemaName: string): void {\n this._service.send({\n type: 'setSchemaName',\n schemaName,\n })\n }\n\n static create(property: Static<typeof TProperty>): ModelProperty {\n if (!property) {\n throw new Error('Property is required')\n }\n\n // Debug: Log what's being passed to create()\n console.log(`[ModelProperty.create] Input property data:`, JSON.stringify({\n name: property.name,\n modelName: property.modelName,\n ref: property.ref,\n refModelName: property.refModelName,\n refModelId: property.refModelId,\n dataType: property.dataType,\n type: (property as any).type, // Check if it's using 'type' instead of 'dataType'\n }, null, 2))\n\n // Handle 'type' field from JSON schema format - convert to 'dataType'\n const propertyWithId = { ...property }\n if ((propertyWithId as any).type && !propertyWithId.dataType) {\n propertyWithId.dataType = (propertyWithId as any).type\n }\n \n // Ensure id (schemaFileId) is set correctly\n // Priority: _propertyFileId > id (if string) > generate new\n // If id is a number (old format), use _propertyFileId instead\n if (typeof propertyWithId.id === 'number') {\n // id is a database integer ID, not schemaFileId - use _propertyFileId if available\n if ((propertyWithId as any)._propertyFileId) {\n propertyWithId.id = (propertyWithId as any)._propertyFileId\n } else {\n // Fallback: generate new schemaFileId (shouldn't happen, but safety)\n propertyWithId.id = generateId()\n logger(`ModelProperty.create: id was a number, generated new schemaFileId \"${propertyWithId.id}\" for property \"${property.name}\"`)\n }\n } else if (!propertyWithId.id && (propertyWithId as any)._propertyFileId) {\n // id is not set but _propertyFileId is available - use it\n propertyWithId.id = (propertyWithId as any)._propertyFileId\n } else if (!propertyWithId.id) {\n // Generate id (schemaFileId) if not provided (for new properties)\n // This ensures new properties can trigger write process\n propertyWithId.id = generateId()\n logger(`ModelProperty.create: Generated new id (schemaFileId) \"${propertyWithId.id}\" for property \"${property.name}\"`)\n }\n\n // Create cache key from modelName and name, or use id\n const cacheKey = propertyWithId.modelName && propertyWithId.name\n ? `${propertyWithId.modelName}:${propertyWithId.name}`\n : propertyWithId.id\n ? `id:${propertyWithId.id}`\n : propertyWithId.name || 'unnamed'\n\n // Check if instance exists in cache\n if (this.instanceCache.has(cacheKey)) {\n const { instance, refCount } = this.instanceCache.get(cacheKey)!\n const cachedContext = instance._getSnapshotContext()\n console.log(`[ModelProperty.create] Returning cached instance for ${cacheKey}, context has ref:`, cachedContext.ref)\n \n // Update cached instance if new property data has fields that the cached instance doesn't have\n // This handles cases where the property was created without ref initially, but now we have ref from schema\n const needsUpdate: any = {}\n if (propertyWithId.ref && !cachedContext.ref) {\n needsUpdate.ref = propertyWithId.ref\n }\n if (propertyWithId.refModelName && !cachedContext.refModelName) {\n needsUpdate.refModelName = propertyWithId.refModelName\n }\n if (propertyWithId.refModelId && !cachedContext.refModelId) {\n needsUpdate.refModelId = propertyWithId.refModelId\n }\n \n if (Object.keys(needsUpdate).length > 0) {\n console.log(`[ModelProperty.create] Updating cached instance with missing fields:`, needsUpdate)\n instance._service.send({\n type: 'updateContext',\n ...needsUpdate,\n })\n }\n \n this.instanceCache.set(cacheKey, {\n instance,\n refCount: refCount + 1,\n })\n return instance\n }\n\n // Debug: Log what's being passed to the constructor\n console.log(`[ModelProperty.create] propertyWithId before constructor:`, JSON.stringify({\n name: propertyWithId.name,\n modelName: propertyWithId.modelName,\n ref: propertyWithId.ref,\n refModelName: propertyWithId.refModelName,\n refModelId: propertyWithId.refModelId,\n dataType: propertyWithId.dataType,\n }, null, 2))\n \n const newInstance = new this(propertyWithId)\n \n // Debug: Log what's being passed to the constructor\n console.log(`[ModelProperty.create] Creating instance for ${propertyWithId.modelName}:${propertyWithId.name}`, {\n ref: propertyWithId.ref,\n refModelName: propertyWithId.refModelName,\n refModelId: propertyWithId.refModelId,\n dataType: propertyWithId.dataType\n })\n \n // Wrap instance in Proxy for reactive property access\n const proxiedInstance = createReactiveProxy<ModelProperty>({\n instance: newInstance,\n service: newInstance._service,\n trackedProperties: TPropertyKeys,\n getContext: (instance) => {\n const context = instance._getSnapshotContext()\n console.log(`[ModelProperty.create] getContext for ${propertyWithId.modelName}:${propertyWithId.name}`, {\n ref: context.ref,\n refModelName: context.refModelName,\n refModelId: context.refModelId\n })\n return context\n },\n sendUpdate: (instance, prop: string, value: any) => {\n if (prop === 'name') {\n const currentContext = instance._getSnapshotContext()\n console.log(`[ModelProperty.sendUpdate] Name change: \"${currentContext.name}\" -> \"${value}\"`)\n console.log(`[ModelProperty.sendUpdate] Current state: ${instance._service.getSnapshot().value}`)\n console.log(`[ModelProperty.sendUpdate] Has _originalValues: ${!!currentContext._originalValues}`)\n }\n instance._service.send({\n type: 'updateContext',\n [prop]: value,\n })\n if (prop === 'name') {\n // Check state after sending\n setTimeout(() => {\n const newState = instance._service.getSnapshot().value\n console.log(`[ModelProperty.sendUpdate] State after name change: ${newState}`)\n }, 10)\n }\n },\n })\n \n this.instanceCache.set(cacheKey, {\n instance: proxiedInstance,\n refCount: 1,\n })\n \n // Trigger write process if property has modelId (or modelName) and id (schemaFileId)\n // Wait for service to be ready (idle state) and have writeProcess spawned\n const propertyFileId = propertyWithId.id // id is now the schemaFileId (string)\n const hasModelId = propertyWithId.modelId || propertyWithId.modelName\n \n if (hasModelId && propertyFileId) {\n // Wait for writeProcess to be spawned (it's spawned in idle state entry action)\n // Retry a few times if writeProcess isn't available yet\n let retries = 0\n const maxRetries = 10\n const checkAndSend = async () => {\n const service = proxiedInstance.getService()\n const snapshot = service.getSnapshot()\n \n if (snapshot.value === 'idle' && snapshot.context.writeProcess) {\n const writeProcess = snapshot.context.writeProcess\n \n // Resolve dbModelId - convert from string (modelFileId) to number (database ID) if needed\n let resolvedModelId: number | undefined = undefined\n \n if (propertyWithId.modelId) {\n if (typeof propertyWithId.modelId === 'number') {\n resolvedModelId = propertyWithId.modelId\n } else if (typeof propertyWithId.modelId === 'string') {\n // modelId is a string (modelFileId), need to convert to database ID\n try {\n const { getModelIdByFileId } = await import('@/helpers/db')\n resolvedModelId = await getModelIdByFileId(propertyWithId.modelId)\n logger(`Converted modelFileId \"${propertyWithId.modelId}\" to database modelId: ${resolvedModelId}`)\n } catch (error) {\n logger(`Failed to convert modelFileId \"${propertyWithId.modelId}\" to database ID: ${error}`)\n console.error(`[ModelProperty.create] Failed to convert modelFileId: ${error}`)\n }\n }\n }\n \n // If we still don't have a modelId, try to resolve it from modelName\n if (!resolvedModelId && propertyWithId.modelName) {\n try {\n const { getModelId } = await import('@/helpers/db')\n // Get schemaName from context if available\n const schemaName = snapshot.context._schemaName\n resolvedModelId = await getModelId(propertyWithId.modelName, schemaName)\n logger(`Resolved modelId for model \"${propertyWithId.modelName}\": ${resolvedModelId}`)\n } catch (error) {\n logger(`Failed to resolve modelId for model \"${propertyWithId.modelName}\": ${error}`)\n console.error(`[ModelProperty.create] Failed to resolve modelId: ${error}`)\n }\n }\n \n if (!resolvedModelId) {\n logger(`ERROR: Cannot write property \"${property.name}\" - no modelId available`)\n console.error(`[ModelProperty.create] ERROR: Cannot write property \"${property.name}\" - no modelId available. modelId: ${propertyWithId.modelId}, modelName: ${propertyWithId.modelName}`)\n // Don't clear pending write here - it might resolve later\n return\n }\n \n // Track pending write now that we have the resolved modelId\n this.trackPendingWrite(propertyFileId, resolvedModelId)\n \n logger(`Triggering write process for property \"${property.name}\" (modelId: ${resolvedModelId}, propertyFileId: ${propertyFileId})`)\n \n // Check current write state\n const currentWriteState = writeProcess.getSnapshot()\n \n if (currentWriteState.value === 'success') {\n // Write already succeeded, clear pending write immediately\n this.clearPendingWrite(propertyFileId, 'success')\n } else {\n // Set up subscription to catch future state changes\n const writeSubscription = writeProcess.subscribe((writeSnapshot) => {\n if (writeSnapshot.value === 'success') {\n writeSubscription.unsubscribe()\n logger(`[writeProcess subscription] Write succeeded for property \"${property.name}\" (propertyFileId: ${propertyFileId})`)\n // Clear pending write on success\n this.clearPendingWrite(propertyFileId, 'success')\n } else if (writeSnapshot.value === 'error') {\n writeSubscription.unsubscribe()\n const errorContext = writeSnapshot.context\n logger(`Write process failed for property \"${property.name}\" (propertyFileId: ${propertyFileId}): ${errorContext.error?.message || 'Unknown error'}`)\n logger(`Write process error details:`, errorContext.error)\n // Mark pending write as error\n this.clearPendingWrite(propertyFileId, 'error')\n }\n })\n }\n \n const propertyData = {\n modelId: resolvedModelId,\n name: property.name!,\n dataType: property.dataType!,\n refModelId: property.refModelId,\n refValueType: property.refValueType,\n storageType: property.storageType,\n localStorageDir: property.localStorageDir,\n filenameSuffix: property.filenameSuffix,\n }\n \n service.send({\n type: 'requestWrite',\n data: propertyData,\n })\n } else if (retries < maxRetries) {\n retries++\n setTimeout(checkAndSend, 50) // Retry after 50ms\n } else {\n logger(`ERROR: writeProcess not available after ${maxRetries} retries for property \"${property.name}\" (propertyFileId: ${propertyFileId})`)\n console.error(`[ModelProperty.create] ERROR: writeProcess not available after ${maxRetries} retries for property \"${property.name}\" (propertyFileId: ${propertyFileId})`)\n // Mark as error if we couldn't even start the write process\n this.clearPendingWrite(propertyFileId, 'error')\n }\n }\n \n // Start checking after a short delay to allow state machine to initialize\n setTimeout(checkAndSend, 0)\n }\n \n return proxiedInstance\n }\n\n /**\n * Get ModelProperty instance by propertyFileId from static cache\n */\n static getById(propertyFileId: string): ModelProperty | undefined {\n if (!propertyFileId) return undefined\n \n // Search through cache to find by propertyFileId\n // Cache key might be \"modelName:propertyName\" or \"id:propertyId\"\n for (const [cacheKey, { instance }] of this.instanceCache.entries()) {\n const context = instance._getSnapshotContext()\n // id is now the schemaFileId (string)\n if (context.id === propertyFileId) {\n return instance\n }\n }\n \n return undefined\n }\n\n /**\n * Create or get ModelProperty instance by propertyFileId\n * Queries the database to find the property if not cached\n */\n static async createById(propertyFileId: string): Promise<ModelProperty | undefined> {\n console.log('createById', propertyFileId)\n if (!propertyFileId) {\n return undefined\n }\n\n // First, check if we have an instance cached\n const cachedInstance = this.getById(propertyFileId)\n console.log('cachedInstance', cachedInstance)\n if (cachedInstance) {\n console.log('cachedInstance found', cachedInstance)\n return cachedInstance\n }\n\n // Query database to get property data from ID\n const { BaseDb } = await import('@/db/Db/BaseDb')\n const { properties: propertiesTable, models: modelsTable } = await import('@/seedSchema')\n const { eq } = await import('drizzle-orm')\n\n const db = BaseDb.getAppDb()\n console.log('db', !!db)\n if (!db) {\n console.log('db not found')\n return undefined\n }\n\n const testRecords = await db\n .select()\n .from(propertiesTable)\n .limit(100)\n\n console.log('testRecords', testRecords)\n\n const propertyRecords = await db\n .select()\n .from(propertiesTable)\n .where(eq(propertiesTable.schemaFileId, propertyFileId))\n .limit(1)\n\n console.log('propertyRecords', propertyRecords)\n\n if (propertyRecords.length === 0) {\n return undefined\n }\n\n const propertyRecord = propertyRecords[0]\n\n // Get model name\n const modelRecords = await db\n .select({ name: modelsTable.name })\n .from(modelsTable)\n .where(eq(modelsTable.id, propertyRecord.modelId))\n .limit(1)\n\n if (modelRecords.length === 0) {\n return undefined\n }\n\n const modelName = modelRecords[0].name\n\n // Build property data\n // id is now the schemaFileId (string), _dbId is the database integer ID\n const propertyData: Static<typeof TProperty> = {\n id: propertyFileId, // schemaFileId (string) - public ID\n _dbId: propertyRecord.id ?? undefined, // Database integer ID - internal only\n name: propertyRecord.name,\n dataType: propertyRecord.dataType as ModelPropertyDataTypes,\n modelId: propertyRecord.modelId,\n modelName,\n refModelId: propertyRecord.refModelId || undefined,\n refValueType: propertyRecord.refValueType as ModelPropertyDataTypes | undefined,\n }\n \n // Load isEdited from database\n const isEditedFromDb = propertyRecord.isEdited ?? false\n\n // Get ref model name if applicable\n if (propertyRecord.refModelId) {\n const refModelRecords = await db\n .select({ name: modelsTable.name })\n .from(modelsTable)\n .where(eq(modelsTable.id, propertyRecord.refModelId))\n .limit(1)\n\n if (refModelRecords.length > 0) {\n propertyData.refModelName = refModelRecords[0].name\n propertyData.ref = refModelRecords[0].name\n }\n }\n\n // Create ModelProperty instance\n const instance = this.create(propertyData)\n \n // Set isEdited from database after creation\n if (isEditedFromDb) {\n instance._service.send({\n type: 'updateContext',\n _isEdited: true,\n })\n }\n \n return instance\n }\n\n /**\n * Track a pending write for a property\n */\n static trackPendingWrite(propertyFileId: string, modelId: number): void {\n this.pendingWrites.set(propertyFileId, {\n propertyFileId,\n modelId,\n status: 'pending',\n timestamp: Date.now(),\n })\n }\n\n /**\n * Clear or update pending write status\n */\n static clearPendingWrite(propertyFileId: string, status: 'success' | 'error' = 'success'): void {\n const write = this.pendingWrites.get(propertyFileId)\n if (write) {\n if (status === 'success') {\n // Remove successful writes from pendingWrites\n this.pendingWrites.delete(propertyFileId)\n logger(`Cleared pending write for property \"${propertyFileId}\" (status: success)`)\n } else {\n // Update status to error but keep in map (for debugging/retry purposes)\n write.status = 'error'\n this.pendingWrites.set(propertyFileId, write)\n logger(`Marked pending write as error for property \"${propertyFileId}\"`)\n }\n }\n }\n\n /**\n * Get all pending property IDs for a model\n */\n static getPendingPropertyIds(modelId: number): string[] {\n console.log(`[ModelProperty.getPendingPropertyIds] Getting pending property IDs for modelId: ${modelId}`)\n console.log(`[ModelProperty.getPendingPropertyIds] Pending writes:`, Array.from(this.pendingWrites.entries()))\n return Array.from(this.pendingWrites.entries())\n .filter(([_, write]) => write.modelId === modelId && write.status !== 'error')\n .map(([propertyFileId]) => propertyFileId)\n }\n\n getService(): ModelPropertyService {\n return this._service\n }\n\n private _getSnapshot(): ModelPropertySnapshot {\n return this._service.getSnapshot() as ModelPropertySnapshot\n }\n\n private _getSnapshotContext(): ModelPropertyMachineContext {\n return this._getSnapshot().context\n }\n\n get path() {\n const workingDir = BaseFileManager.getWorkingDir()\n if (!this.localStorageDir || !this.name || !this.filenameSuffix) {\n return undefined\n }\n return `${workingDir}/${this.localStorageDir}/${this.name}${this.filenameSuffix || ''}`\n }\n\n get status() {\n return this._getSnapshot().value\n }\n\n get isEdited() {\n const context = this._getSnapshotContext()\n // First check in-memory state\n if (context._isEdited !== undefined) {\n return context._isEdited\n }\n // Fall back to reading from database if we have _dbId\n if (context._dbId) {\n // Load from database asynchronously (fire-and-forget for now)\n // For synchronous getter, we'll need to cache it or make it async\n // For now, return false if not in context\n return false\n }\n return false\n }\n\n get validationErrors() {\n return this._getSnapshotContext()._validationErrors || []\n }\n\n get isValid() {\n const errors = this.validationErrors\n return errors.length === 0\n }\n\n /**\n * Validate the property\n * @returns Validation result\n */\n async validate(): Promise<{ isValid: boolean; errors: any[] }> {\n return new Promise((resolve) => {\n let resolved = false\n const subscription = this._service.subscribe((snapshot) => {\n const state = snapshot.value\n // Wait for validation to complete (idle state after validating)\n if (state === 'idle' && !resolved) {\n resolved = true\n subscription.unsubscribe()\n const errors = snapshot.context._validationErrors || []\n resolve({\n isValid: errors.length === 0,\n errors,\n })\n }\n })\n\n this._service.send({ type: 'validateProperty' })\n \n // Timeout fallback\n setTimeout(() => {\n if (!resolved) {\n resolved = true\n subscription.unsubscribe()\n const errors = this._getSnapshotContext()._validationErrors || []\n resolve({\n isValid: errors.length === 0,\n errors,\n })\n }\n }, 5000)\n })\n }\n\n save(): void {\n // Validation will happen automatically in the machine before saving\n this._service.send({\n type: 'saveToSchema',\n })\n }\n\n /**\n * Reload property from database\n * This refreshes the actor context with the latest data from the database\n * Note: ModelProperty doesn't have a dedicated load actor, so this will\n * re-initialize from the current property data\n */\n async reload(): Promise<void> {\n // ModelProperty doesn't have a separate load mechanism\n // It's loaded as part of the Model/Schema\n // This method is provided for API consistency\n // To actually reload, you'd need to reload the parent Model or Schema\n logger('ModelProperty.reload() called - ModelProperty is loaded as part of Model/Schema. Reload the parent Model or Schema instead.')\n // No-op for now, but could be enhanced to reload from DB if needed\n }\n\n unload(): void {\n this._service.stop()\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ import { fromCallback } from 'xstate';
2
+ import debug from 'debug';
3
+
4
+ const logger = debug('seedSdk:modelProperty:actors:compareAndMarkDraft');
5
+ const compareAndMarkDraft = fromCallback(({ sendBack, input: { context } }) => {
6
+ const _compareAndMarkDraft = async () => {
7
+ // If _originalValues is not set, we still need to save to database if the property exists
8
+ // This handles the case where the name is changed before _originalValues is initialized
9
+ if (!context._originalValues) {
10
+ logger('No original values to compare against');
11
+ logger(`[compareAndMarkDraft] Context: modelName=${context.modelName}, name=${context.name}, id=${context.id}`);
12
+ // If we have a name and modelName, try to save to database anyway
13
+ // This ensures name changes are persisted even if _originalValues isn't initialized yet
14
+ if (context.modelName && context.name && (context.id || context._propertyFileId)) {
15
+ logger(`[compareAndMarkDraft] _originalValues not set, but saving to database anyway for property ${context.modelName}:${context.name}`);
16
+ try {
17
+ const { savePropertyToDb } = await import('../../../helpers/db.js');
18
+ await savePropertyToDb(context);
19
+ logger(`[compareAndMarkDraft] Successfully saved property ${context.modelName}:${context.name} to database (no _originalValues)`);
20
+ }
21
+ catch (error) {
22
+ logger(`[compareAndMarkDraft] Error saving property to database (no _originalValues): ${error}`);
23
+ // Don't throw - this is a best-effort save
24
+ }
25
+ }
26
+ return;
27
+ }
28
+ logger(`[compareAndMarkDraft] Comparing: context.name=${context.name}, _originalValues.name=${context._originalValues?.name}`);
29
+ // Compare current values with original
30
+ const hasChanges = Object.keys(context).some(key => {
31
+ if (key.startsWith('_'))
32
+ return false; // Skip internal fields
33
+ const changed = context[key] !== context._originalValues?.[key];
34
+ if (changed && key === 'name') {
35
+ logger(`[compareAndMarkDraft] Name change detected: "${context._originalValues?.name}" -> "${context[key]}"`);
36
+ }
37
+ return changed;
38
+ });
39
+ if (hasChanges) {
40
+ logger(`Property ${context.modelName}:${context.name} has changes, marking as edited`);
41
+ logger(`[compareAndMarkDraft] Context when saving: id=${context.id}, _propertyFileId=${context._propertyFileId}, name=${context.name}, _originalValues.name=${context._originalValues?.name}`);
42
+ // Use dynamic import to break circular dependency
43
+ const { savePropertyToDb } = await import('../../../helpers/db.js');
44
+ // Save to database (but not JSON file) - always save to DB when there are changes
45
+ try {
46
+ await savePropertyToDb(context);
47
+ logger(`[compareAndMarkDraft] Successfully saved property ${context.modelName}:${context.name} to database`);
48
+ }
49
+ catch (error) {
50
+ logger(`[compareAndMarkDraft] Error saving property to database: ${error}`);
51
+ throw error;
52
+ }
53
+ // Mark schema as draft if schema name is available
54
+ if (context._schemaName) {
55
+ // Get the Schema instance and mark it as draft
56
+ const { Schema } = await import('../../../Schema/Schema.js');
57
+ const schema = Schema.create(context._schemaName);
58
+ // Send event to Schema machine to mark as draft
59
+ schema.getService().send({
60
+ type: 'markAsDraft',
61
+ propertyKey: `${context.modelName}:${context.name}`,
62
+ });
63
+ }
64
+ }
65
+ else {
66
+ // No changes - clear edited flag in database and context
67
+ logger(`Property ${context.modelName}:${context.name} has no changes`);
68
+ // Clear isEdited flag in database
69
+ try {
70
+ const { BaseDb } = await import('../../../db/Db/BaseDb.js');
71
+ const { properties: propertiesTable, models: modelsTable } = await import('../../../seedSchema/index.js');
72
+ const { eq, and } = await import('drizzle-orm');
73
+ const db = BaseDb.getAppDb();
74
+ if (db && context.modelName && context.name) {
75
+ // Find model by name
76
+ const modelRecords = await db
77
+ .select({ id: modelsTable.id })
78
+ .from(modelsTable)
79
+ .where(eq(modelsTable.name, context.modelName))
80
+ .limit(1);
81
+ if (modelRecords.length > 0) {
82
+ // Find property by name and modelId
83
+ const propertyRecords = await db
84
+ .select({ id: propertiesTable.id })
85
+ .from(propertiesTable)
86
+ .where(and(eq(propertiesTable.name, context.name), eq(propertiesTable.modelId, modelRecords[0].id)))
87
+ .limit(1);
88
+ if (propertyRecords.length > 0) {
89
+ // Clear isEdited flag in database
90
+ await db
91
+ .update(propertiesTable)
92
+ .set({ isEdited: false })
93
+ .where(eq(propertiesTable.id, propertyRecords[0].id));
94
+ logger(`Cleared isEdited flag in database for property ${context.modelName}:${context.name}`);
95
+ }
96
+ }
97
+ }
98
+ }
99
+ catch (error) {
100
+ logger(`Error clearing isEdited flag in database: ${error}`);
101
+ }
102
+ sendBack({
103
+ type: 'clearEdited',
104
+ });
105
+ }
106
+ };
107
+ _compareAndMarkDraft().then(() => {
108
+ sendBack({ type: 'compareAndMarkDraftSuccess' });
109
+ }).catch((error) => {
110
+ logger('Error comparing and marking draft:', error);
111
+ sendBack({ type: 'compareAndMarkDraftError', error });
112
+ });
113
+ return () => {
114
+ // Cleanup function (optional)
115
+ };
116
+ });
117
+
118
+ export { compareAndMarkDraft };
119
+ //# sourceMappingURL=compareAndMarkDraft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compareAndMarkDraft.js","sources":["../../../../../src/ModelProperty/service/actors/compareAndMarkDraft.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { FromCallbackInput } from '@/types'\nimport { ModelPropertyMachineContext } from '../modelPropertyMachine'\n// Dynamic import to break circular dependency: helpers/db -> ModelProperty -> compareAndMarkDraft -> helpers/db\n// import { savePropertyToDb } from '@/helpers/db'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:modelProperty:actors:compareAndMarkDraft')\n\nexport const compareAndMarkDraft = fromCallback<\n EventObject,\n FromCallbackInput<ModelPropertyMachineContext>\n>(({ sendBack, input: { context } }) => {\n const _compareAndMarkDraft = async (): Promise<void> => {\n // If _originalValues is not set, we still need to save to database if the property exists\n // This handles the case where the name is changed before _originalValues is initialized\n if (!context._originalValues) {\n logger('No original values to compare against')\n logger(`[compareAndMarkDraft] Context: modelName=${context.modelName}, name=${context.name}, id=${context.id}`)\n \n // If we have a name and modelName, try to save to database anyway\n // This ensures name changes are persisted even if _originalValues isn't initialized yet\n if (context.modelName && context.name && (context.id || context._propertyFileId)) {\n logger(`[compareAndMarkDraft] _originalValues not set, but saving to database anyway for property ${context.modelName}:${context.name}`)\n try {\n const { savePropertyToDb } = await import('@/helpers/db')\n await savePropertyToDb(context)\n logger(`[compareAndMarkDraft] Successfully saved property ${context.modelName}:${context.name} to database (no _originalValues)`)\n } catch (error) {\n logger(`[compareAndMarkDraft] Error saving property to database (no _originalValues): ${error}`)\n // Don't throw - this is a best-effort save\n }\n }\n return\n }\n\n logger(`[compareAndMarkDraft] Comparing: context.name=${context.name}, _originalValues.name=${context._originalValues?.name}`)\n \n // Compare current values with original\n const hasChanges = Object.keys(context).some(key => {\n if (key.startsWith('_')) return false // Skip internal fields\n const changed = context[key] !== context._originalValues?.[key]\n if (changed && key === 'name') {\n logger(`[compareAndMarkDraft] Name change detected: \"${context._originalValues?.name}\" -> \"${context[key]}\"`)\n }\n return changed\n })\n\n if (hasChanges) {\n logger(`Property ${context.modelName}:${context.name} has changes, marking as edited`)\n logger(`[compareAndMarkDraft] Context when saving: id=${context.id}, _propertyFileId=${context._propertyFileId}, name=${context.name}, _originalValues.name=${context._originalValues?.name}`)\n\n // Use dynamic import to break circular dependency\n const { savePropertyToDb } = await import('@/helpers/db')\n \n // Save to database (but not JSON file) - always save to DB when there are changes\n try {\n await savePropertyToDb(context)\n logger(`[compareAndMarkDraft] Successfully saved property ${context.modelName}:${context.name} to database`)\n } catch (error) {\n logger(`[compareAndMarkDraft] Error saving property to database: ${error}`)\n throw error\n }\n\n // Mark schema as draft if schema name is available\n if (context._schemaName) {\n // Get the Schema instance and mark it as draft\n const { Schema } = await import('@/Schema/Schema')\n const schema = Schema.create(context._schemaName)\n\n // Send event to Schema machine to mark as draft\n schema.getService().send({\n type: 'markAsDraft',\n propertyKey: `${context.modelName}:${context.name}`,\n })\n }\n } else {\n // No changes - clear edited flag in database and context\n logger(`Property ${context.modelName}:${context.name} has no changes`)\n \n // Clear isEdited flag in database\n try {\n const { BaseDb } = await import('@/db/Db/BaseDb')\n const { properties: propertiesTable, models: modelsTable } = await import('@/seedSchema')\n const { eq, and } = await import('drizzle-orm')\n \n const db = BaseDb.getAppDb()\n if (db && context.modelName && context.name) {\n // Find model by name\n const modelRecords = await db\n .select({ id: modelsTable.id })\n .from(modelsTable)\n .where(eq(modelsTable.name, context.modelName))\n .limit(1)\n \n if (modelRecords.length > 0) {\n // Find property by name and modelId\n const propertyRecords = await db\n .select({ id: propertiesTable.id })\n .from(propertiesTable)\n .where(\n and(\n eq(propertiesTable.name, context.name),\n eq(propertiesTable.modelId, modelRecords[0].id)\n )\n )\n .limit(1)\n \n if (propertyRecords.length > 0) {\n // Clear isEdited flag in database\n await db\n .update(propertiesTable)\n .set({ isEdited: false })\n .where(eq(propertiesTable.id, propertyRecords[0].id!))\n logger(`Cleared isEdited flag in database for property ${context.modelName}:${context.name}`)\n }\n }\n }\n } catch (error) {\n logger(`Error clearing isEdited flag in database: ${error}`)\n }\n \n sendBack({\n type: 'clearEdited',\n })\n }\n }\n\n _compareAndMarkDraft().then(() => {\n sendBack({ type: 'compareAndMarkDraftSuccess' })\n }).catch((error) => {\n logger('Error comparing and marking draft:', error)\n sendBack({ type: 'compareAndMarkDraftError', error })\n })\n\n return () => {\n // Cleanup function (optional)\n }\n})\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import { fromCallback } from 'xstate';
2
+ import { convertPropertyToSchemaUpdate, updateModelProperties } from '../../../helpers/updateSchema.js';
3
+ import debug from 'debug';
4
+
5
+ const logger = debug('seedSdk:modelProperty:actors:saveToSchema');
6
+ /**
7
+ * Get schema name from model
8
+ * This function finds which schema contains the given model
9
+ * Exported so it can be reused by ModelProperty for setting schema name
10
+ */
11
+ async function getSchemaNameFromModel(modelName) {
12
+ // Get the latest schema files and find which one contains this model
13
+ const { listLatestSchemaFiles } = await import('../../../helpers/schema.js');
14
+ const latestSchemas = await listLatestSchemaFiles();
15
+ for (const schema of latestSchemas) {
16
+ try {
17
+ const { BaseFileManager } = await import('../../../helpers/FileManager/BaseFileManager.js');
18
+ const content = await BaseFileManager.readFileAsString(schema.filePath);
19
+ const schemaFile = JSON.parse(content);
20
+ if (schemaFile.models && schemaFile.models[modelName]) {
21
+ return schema.name;
22
+ }
23
+ }
24
+ catch (error) {
25
+ logger('Error reading schema file:', error);
26
+ continue;
27
+ }
28
+ }
29
+ return undefined;
30
+ }
31
+ const saveToSchema = fromCallback(({ sendBack, input: { context } }) => {
32
+ const _saveToSchema = async () => {
33
+ // Use dynamic import to break circular dependency
34
+ const { SchemaValidationService } = await import('../../../Schema/service/validation/SchemaValidationService.js');
35
+ const validationService = new SchemaValidationService();
36
+ // Validate property structure before saving
37
+ const validationResult = validationService.validatePropertyStructure(context);
38
+ if (!validationResult.isValid) {
39
+ throw new Error(`Property validation failed: ${validationResult.errors.map(e => e.message).join(', ')}`);
40
+ }
41
+ // Validate required fields
42
+ if (!context.name) {
43
+ throw new Error('Property name is required');
44
+ }
45
+ if (!context.dataType) {
46
+ throw new Error('Data type is required');
47
+ }
48
+ if (!context.modelName) {
49
+ throw new Error(`Model not found for modelId: ${context.modelId}`);
50
+ }
51
+ // Get schema name from model
52
+ const schemaName = await getSchemaNameFromModel(context.modelName);
53
+ if (!schemaName) {
54
+ throw new Error(`Schema not found for model: ${context.modelName}`);
55
+ }
56
+ // Convert property context to SchemaPropertyUpdate
57
+ const propertyUpdate = await convertPropertyToSchemaUpdate(context, context.modelName, context.name);
58
+ // Update the schema with the property changes
59
+ await updateModelProperties(schemaName, [propertyUpdate]);
60
+ // Clear isEdited flag in database after saving to schema file
61
+ try {
62
+ const { BaseDb } = await import('../../../db/Db/BaseDb.js');
63
+ const { properties: propertiesTable, models: modelsTable } = await import('../../../seedSchema/index.js');
64
+ const { eq, and } = await import('drizzle-orm');
65
+ const db = BaseDb.getAppDb();
66
+ if (db && context.modelName && context.name) {
67
+ // Find model by name
68
+ const modelRecords = await db
69
+ .select({ id: modelsTable.id })
70
+ .from(modelsTable)
71
+ .where(eq(modelsTable.name, context.modelName))
72
+ .limit(1);
73
+ if (modelRecords.length > 0) {
74
+ // Find property by name and modelId
75
+ const propertyRecords = await db
76
+ .select({ id: propertiesTable.id })
77
+ .from(propertiesTable)
78
+ .where(and(eq(propertiesTable.name, context.name), eq(propertiesTable.modelId, modelRecords[0].id)))
79
+ .limit(1);
80
+ if (propertyRecords.length > 0) {
81
+ // Clear isEdited flag in database
82
+ await db
83
+ .update(propertiesTable)
84
+ .set({ isEdited: false })
85
+ .where(eq(propertiesTable.id, propertyRecords[0].id));
86
+ logger(`Cleared isEdited flag in database for property ${context.modelName}:${context.name}`);
87
+ }
88
+ }
89
+ }
90
+ }
91
+ catch (error) {
92
+ logger(`Error clearing isEdited flag in database: ${error}`);
93
+ }
94
+ logger(`Successfully saved property ${context.name} to schema ${schemaName}`);
95
+ };
96
+ _saveToSchema().then(() => {
97
+ sendBack({ type: 'saveToSchemaSuccess' });
98
+ }).catch((error) => {
99
+ logger('Error saving to schema:', error);
100
+ sendBack({ type: 'saveToSchemaError', error });
101
+ });
102
+ return () => {
103
+ // Cleanup function (optional)
104
+ };
105
+ });
106
+
107
+ export { getSchemaNameFromModel, saveToSchema };
108
+ //# sourceMappingURL=saveToSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saveToSchema.js","sources":["../../../../../src/ModelProperty/service/actors/saveToSchema.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { FromCallbackInput } from '@/types'\nimport { ModelPropertyMachineContext } from '../modelPropertyMachine'\nimport { convertPropertyToSchemaUpdate, updateModelProperties, getModelNameFromId } from '@/helpers/updateSchema'\n// Dynamic import to break circular dependency: schema/index -> ... -> saveToSchema -> SchemaValidationService -> schema/index\n// import { SchemaValidationService } from '@/Schema/service/validation/SchemaValidationService'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:modelProperty:actors:saveToSchema')\n\n/**\n * Get schema name from model\n * This function finds which schema contains the given model\n * Exported so it can be reused by ModelProperty for setting schema name\n */\nexport async function getSchemaNameFromModel(modelName: string): Promise<string | undefined> {\n // Get the latest schema files and find which one contains this model\n const { listLatestSchemaFiles } = await import('@/helpers/schema')\n const latestSchemas = await listLatestSchemaFiles()\n\n for (const schema of latestSchemas) {\n try {\n const { BaseFileManager } = await import('@/helpers/FileManager/BaseFileManager')\n const content = await BaseFileManager.readFileAsString(schema.filePath)\n const schemaFile = JSON.parse(content) as any\n\n if (schemaFile.models && schemaFile.models[modelName]) {\n return schema.name\n }\n } catch (error) {\n logger('Error reading schema file:', error)\n continue\n }\n }\n\n return undefined\n}\n\nexport const saveToSchema = fromCallback<\n EventObject,\n FromCallbackInput<ModelPropertyMachineContext>\n>(({ sendBack, input: { context } }) => {\n const _saveToSchema = async (): Promise<void> => {\n // Use dynamic import to break circular dependency\n const { SchemaValidationService } = await import('@/Schema/service/validation/SchemaValidationService')\n const validationService = new SchemaValidationService()\n \n // Validate property structure before saving\n const validationResult = validationService.validatePropertyStructure(context)\n if (!validationResult.isValid) {\n throw new Error(`Property validation failed: ${validationResult.errors.map(e => e.message).join(', ')}`)\n }\n\n // Validate required fields\n if (!context.name) {\n throw new Error('Property name is required')\n }\n\n if (!context.dataType) {\n throw new Error('Data type is required')\n }\n\n if (!context.modelName) {\n throw new Error(`Model not found for modelId: ${context.modelId}`)\n }\n\n // Get schema name from model\n const schemaName = await getSchemaNameFromModel(context.modelName)\n if (!schemaName) {\n throw new Error(`Schema not found for model: ${context.modelName}`)\n }\n\n // Convert property context to SchemaPropertyUpdate\n const propertyUpdate = await convertPropertyToSchemaUpdate(\n context,\n context.modelName,\n context.name,\n )\n\n // Update the schema with the property changes\n await updateModelProperties(schemaName, [propertyUpdate])\n\n // Clear isEdited flag in database after saving to schema file\n try {\n const { BaseDb } = await import('@/db/Db/BaseDb')\n const { properties: propertiesTable, models: modelsTable } = await import('@/seedSchema')\n const { eq, and } = await import('drizzle-orm')\n \n const db = BaseDb.getAppDb()\n if (db && context.modelName && context.name) {\n // Find model by name\n const modelRecords = await db\n .select({ id: modelsTable.id })\n .from(modelsTable)\n .where(eq(modelsTable.name, context.modelName))\n .limit(1)\n \n if (modelRecords.length > 0) {\n // Find property by name and modelId\n const propertyRecords = await db\n .select({ id: propertiesTable.id })\n .from(propertiesTable)\n .where(\n and(\n eq(propertiesTable.name, context.name),\n eq(propertiesTable.modelId, modelRecords[0].id)\n )\n )\n .limit(1)\n \n if (propertyRecords.length > 0) {\n // Clear isEdited flag in database\n await db\n .update(propertiesTable)\n .set({ isEdited: false })\n .where(eq(propertiesTable.id, propertyRecords[0].id!))\n logger(`Cleared isEdited flag in database for property ${context.modelName}:${context.name}`)\n }\n }\n }\n } catch (error) {\n logger(`Error clearing isEdited flag in database: ${error}`)\n }\n\n logger(`Successfully saved property ${context.name} to schema ${schemaName}`)\n }\n\n _saveToSchema().then(() => {\n sendBack({ type: 'saveToSchemaSuccess' })\n }).catch((error) => {\n logger('Error saving to schema:', error)\n sendBack({ type: 'saveToSchemaError', error })\n })\n\n return () => {\n // Cleanup function (optional)\n }\n})\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import { fromCallback } from 'xstate';
2
+ import debug from 'debug';
3
+
4
+ const logger = debug('seedSdk:modelProperty:actors:validateProperty');
5
+ const validateProperty = fromCallback(({ sendBack, input: { context } }) => {
6
+ const _validateProperty = async () => {
7
+ console.log('[validateProperty] Starting validation for property:', context.name);
8
+ console.log('[validateProperty] Context:', {
9
+ name: context.name,
10
+ modelName: context.modelName,
11
+ _schemaName: context._schemaName,
12
+ _originalValues: context._originalValues
13
+ });
14
+ // Use dynamic imports to break circular dependencies
15
+ const { SchemaValidationService } = await import('../../../Schema/service/validation/SchemaValidationService.js');
16
+ const validationService = new SchemaValidationService();
17
+ const { Schema } = await import('../../../Schema/Schema.js');
18
+ // Validate property structure
19
+ console.log('[validateProperty] Validating property structure...');
20
+ const structureResult = validationService.validatePropertyStructure(context);
21
+ console.log('[validateProperty] Structure validation result:', structureResult.isValid);
22
+ if (!structureResult.isValid) {
23
+ console.log('[validateProperty] Structure validation failed:', structureResult.errors);
24
+ sendBack({ type: 'validationError', errors: structureResult.errors });
25
+ return;
26
+ }
27
+ console.log('[validateProperty] Structure validation passed');
28
+ // If we have schema name and model name, validate against schema
29
+ console.log('[validateProperty] Checking schema validation:', { hasSchemaName: !!context._schemaName, hasModelName: !!context.modelName });
30
+ if (context._schemaName && context.modelName) {
31
+ try {
32
+ console.log('[validateProperty] Creating schema instance:', context._schemaName);
33
+ const schema = Schema.create(context._schemaName);
34
+ const schemaSnapshot = schema.getService().getSnapshot();
35
+ const schemaStatus = schemaSnapshot.value;
36
+ console.log('[validateProperty] Schema status:', schemaStatus);
37
+ // Only validate against schema if it's loaded (in idle state)
38
+ // If still loading, skip schema validation and only do structure validation
39
+ if (schemaStatus === 'idle') {
40
+ const schemaContext = schemaSnapshot.context;
41
+ console.log('[validateProperty] Schema context models:', schemaContext.models ? Object.keys(schemaContext.models).length : 'null');
42
+ // Check if models are actually loaded
43
+ if (schemaContext.models && Object.keys(schemaContext.models).length > 0) {
44
+ // If property name has changed, validate against the original name (from schema file)
45
+ // This handles the case where a property is renamed - the schema file still has the old name
46
+ const propertyNameToValidate = context._originalValues?.name && context._originalValues.name !== context.name
47
+ ? context._originalValues.name
48
+ : context.name || '';
49
+ console.log('[validateProperty] Validating against schema:', {
50
+ modelName: context.modelName,
51
+ propertyNameToValidate,
52
+ originalName: context._originalValues?.name,
53
+ currentName: context.name
54
+ });
55
+ const schemaResult = validationService.validateProperty(schemaContext, context.modelName, propertyNameToValidate, context);
56
+ console.log('[validateProperty] Schema validation result:', { isValid: schemaResult.isValid, errors: schemaResult.errors.length, errorCodes: schemaResult.errors.map(e => e.code) });
57
+ if (!schemaResult.isValid) {
58
+ // If property was renamed, some validation errors are expected (like property_not_found, missing_type)
59
+ // Only fail if it's a critical error that's not related to the rename
60
+ const isRenamed = context._originalValues?.name && context._originalValues.name !== context.name;
61
+ const criticalErrors = schemaResult.errors.filter(err => {
62
+ // Allow property_not_found and missing_type errors when property is renamed
63
+ if (isRenamed && (err.code === 'property_not_found' || err.code === 'missing_type')) {
64
+ return false; // Not critical
65
+ }
66
+ // For non-renamed properties, only allow property_not_found if we're validating with the same name
67
+ if (err.code === 'property_not_found' && propertyNameToValidate === context.name) {
68
+ return false; // Not critical
69
+ }
70
+ return true; // Critical error
71
+ });
72
+ console.log('[validateProperty] Filtered critical errors:', {
73
+ totalErrors: schemaResult.errors.length,
74
+ criticalErrors: criticalErrors.length,
75
+ errorCodes: schemaResult.errors.map(e => e.code),
76
+ criticalErrorCodes: criticalErrors.map(e => e.code)
77
+ });
78
+ if (criticalErrors.length > 0) {
79
+ console.log('[validateProperty] Sending validationError with critical errors');
80
+ sendBack({ type: 'validationError', errors: criticalErrors });
81
+ return;
82
+ }
83
+ console.log('[validateProperty] No critical errors, continuing with validation');
84
+ // Continue with validation - rename-related errors are acceptable
85
+ }
86
+ }
87
+ else {
88
+ console.log('[validateProperty] Schema models not loaded yet, skipping schema validation');
89
+ logger('Schema models not loaded yet, skipping schema validation');
90
+ // Continue with structure validation only
91
+ }
92
+ }
93
+ else {
94
+ logger(`Schema is in ${schemaStatus} state, skipping schema validation`);
95
+ // Continue with structure validation only
96
+ }
97
+ }
98
+ catch (error) {
99
+ console.log('[validateProperty] Error validating property against schema:', error);
100
+ logger('Error validating property against schema:', error);
101
+ // Continue with structure validation only
102
+ }
103
+ }
104
+ else {
105
+ console.log('[validateProperty] Skipping schema validation (no _schemaName or modelName)');
106
+ }
107
+ // All validations passed
108
+ console.log('[validateProperty] All validations passed, sending validationSuccess');
109
+ sendBack({ type: 'validationSuccess', errors: [] });
110
+ };
111
+ _validateProperty().catch((error) => {
112
+ logger('Error in validateProperty:', error);
113
+ sendBack({
114
+ type: 'validationError',
115
+ errors: [{
116
+ field: 'property',
117
+ message: error instanceof Error ? error.message : 'Unknown validation error',
118
+ code: 'validation_exception',
119
+ severity: 'error',
120
+ }],
121
+ });
122
+ });
123
+ return () => {
124
+ // Cleanup function (optional)
125
+ };
126
+ });
127
+
128
+ export { validateProperty };
129
+ //# sourceMappingURL=validateProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateProperty.js","sources":["../../../../../src/ModelProperty/service/actors/validateProperty.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { FromCallbackInput } from '@/types'\nimport { ModelPropertyMachineContext } from '../modelPropertyMachine'\n// Dynamic imports to break circular dependencies:\n// - schema/index -> ... -> validateProperty -> SchemaValidationService -> schema/index\n// - schema/Schema -> ... -> validateProperty -> Schema -> schema/Schema\n// import { SchemaValidationService } from '@/Schema/service/validation/SchemaValidationService'\n// import { Schema } from '@/Schema/Schema'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:modelProperty:actors:validateProperty')\n\nexport const validateProperty = fromCallback<\n EventObject,\n FromCallbackInput<ModelPropertyMachineContext>\n>(({ sendBack, input: { context } }) => {\n const _validateProperty = async (): Promise<void> => {\n console.log('[validateProperty] Starting validation for property:', context.name)\n console.log('[validateProperty] Context:', { \n name: context.name, \n modelName: context.modelName, \n _schemaName: context._schemaName,\n _originalValues: context._originalValues \n })\n // Use dynamic imports to break circular dependencies\n const { SchemaValidationService } = await import('@/Schema/service/validation/SchemaValidationService')\n const validationService = new SchemaValidationService()\n const { Schema } = await import('@/Schema/Schema')\n \n // Validate property structure\n console.log('[validateProperty] Validating property structure...')\n const structureResult = validationService.validatePropertyStructure(context)\n console.log('[validateProperty] Structure validation result:', structureResult.isValid)\n \n if (!structureResult.isValid) {\n console.log('[validateProperty] Structure validation failed:', structureResult.errors)\n sendBack({ type: 'validationError', errors: structureResult.errors })\n return\n }\n console.log('[validateProperty] Structure validation passed')\n\n // If we have schema name and model name, validate against schema\n console.log('[validateProperty] Checking schema validation:', { hasSchemaName: !!context._schemaName, hasModelName: !!context.modelName })\n if (context._schemaName && context.modelName) {\n try {\n console.log('[validateProperty] Creating schema instance:', context._schemaName)\n const schema = Schema.create(context._schemaName)\n const schemaSnapshot = schema.getService().getSnapshot()\n const schemaStatus = schemaSnapshot.value\n console.log('[validateProperty] Schema status:', schemaStatus)\n \n // Only validate against schema if it's loaded (in idle state)\n // If still loading, skip schema validation and only do structure validation\n if (schemaStatus === 'idle') {\n const schemaContext = schemaSnapshot.context\n console.log('[validateProperty] Schema context models:', schemaContext.models ? Object.keys(schemaContext.models).length : 'null')\n \n // Check if models are actually loaded\n if (schemaContext.models && Object.keys(schemaContext.models).length > 0) {\n // If property name has changed, validate against the original name (from schema file)\n // This handles the case where a property is renamed - the schema file still has the old name\n const propertyNameToValidate = context._originalValues?.name && context._originalValues.name !== context.name\n ? context._originalValues.name\n : context.name || ''\n \n console.log('[validateProperty] Validating against schema:', { \n modelName: context.modelName, \n propertyNameToValidate,\n originalName: context._originalValues?.name,\n currentName: context.name \n })\n const schemaResult = validationService.validateProperty(\n schemaContext,\n context.modelName,\n propertyNameToValidate,\n context\n )\n console.log('[validateProperty] Schema validation result:', { isValid: schemaResult.isValid, errors: schemaResult.errors.length, errorCodes: schemaResult.errors.map(e => e.code) })\n \n if (!schemaResult.isValid) {\n // If property was renamed, some validation errors are expected (like property_not_found, missing_type)\n // Only fail if it's a critical error that's not related to the rename\n const isRenamed = context._originalValues?.name && context._originalValues.name !== context.name\n const criticalErrors = schemaResult.errors.filter(err => {\n // Allow property_not_found and missing_type errors when property is renamed\n if (isRenamed && (err.code === 'property_not_found' || err.code === 'missing_type')) {\n return false // Not critical\n }\n // For non-renamed properties, only allow property_not_found if we're validating with the same name\n if (err.code === 'property_not_found' && propertyNameToValidate === context.name) {\n return false // Not critical\n }\n return true // Critical error\n })\n \n console.log('[validateProperty] Filtered critical errors:', { \n totalErrors: schemaResult.errors.length, \n criticalErrors: criticalErrors.length,\n errorCodes: schemaResult.errors.map(e => e.code),\n criticalErrorCodes: criticalErrors.map(e => e.code)\n })\n \n if (criticalErrors.length > 0) {\n console.log('[validateProperty] Sending validationError with critical errors')\n sendBack({ type: 'validationError', errors: criticalErrors })\n return\n }\n console.log('[validateProperty] No critical errors, continuing with validation')\n // Continue with validation - rename-related errors are acceptable\n }\n } else {\n console.log('[validateProperty] Schema models not loaded yet, skipping schema validation')\n logger('Schema models not loaded yet, skipping schema validation')\n // Continue with structure validation only\n }\n } else {\n logger(`Schema is in ${schemaStatus} state, skipping schema validation`)\n // Continue with structure validation only\n }\n } catch (error) {\n console.log('[validateProperty] Error validating property against schema:', error)\n logger('Error validating property against schema:', error)\n // Continue with structure validation only\n }\n } else {\n console.log('[validateProperty] Skipping schema validation (no _schemaName or modelName)')\n }\n\n // All validations passed\n console.log('[validateProperty] All validations passed, sending validationSuccess')\n sendBack({ type: 'validationSuccess', errors: [] })\n }\n\n _validateProperty().catch((error) => {\n logger('Error in validateProperty:', error)\n sendBack({\n type: 'validationError',\n errors: [{\n field: 'property',\n message: error instanceof Error ? error.message : 'Unknown validation error',\n code: 'validation_exception',\n severity: 'error' as const,\n }],\n })\n })\n\n return () => {\n // Cleanup function (optional)\n }\n})\n\n"],"names":[],"mappings":"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"}