@seedprotocol/sdk 0.4.2 → 0.4.4

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 (1400) hide show
  1. package/dist/ArweaveClient-CczHvccG.js +202 -0
  2. package/dist/ArweaveClient-CczHvccG.js.map +1 -0
  3. package/dist/ArweaveClient-DkNLWiSZ.js +202 -0
  4. package/dist/ArweaveClient-DkNLWiSZ.js.map +1 -0
  5. package/dist/ClientManager-DoHUt8tU.js +15258 -0
  6. package/dist/ClientManager-DoHUt8tU.js.map +1 -0
  7. package/dist/Db-BzQR2KX9.js +343 -0
  8. package/dist/Db-BzQR2KX9.js.map +1 -0
  9. package/dist/Db-DJvjXVlp.js +1514 -0
  10. package/dist/Db-DJvjXVlp.js.map +1 -0
  11. package/dist/EasClient-CHQYmjj2.js +29 -0
  12. package/dist/EasClient-CHQYmjj2.js.map +1 -0
  13. package/dist/EasClient-CodrIgW-.js +29 -0
  14. package/dist/EasClient-CodrIgW-.js.map +1 -0
  15. package/dist/FileManager-BIVsDnMu.js +165 -0
  16. package/dist/FileManager-BIVsDnMu.js.map +1 -0
  17. package/dist/FileManager-BbvkZJCH.js +1152 -0
  18. package/dist/FileManager-BbvkZJCH.js.map +1 -0
  19. package/dist/Item/Item.d.ts +134 -0
  20. package/dist/Item/Item.d.ts.map +1 -0
  21. package/dist/Item/queries.d.ts.map +1 -0
  22. package/dist/Item/service/actors/fetchDataFromEas.d.ts +4 -0
  23. package/dist/Item/service/actors/fetchDataFromEas.d.ts.map +1 -0
  24. package/dist/Item/service/actors/hydrateExistingItem.d.ts.map +1 -0
  25. package/dist/Item/service/actors/hydrateNewItem.d.ts.map +1 -0
  26. package/dist/Item/service/actors/initialize.d.ts.map +1 -0
  27. package/dist/Item/service/actors/loadOrCreateItem.d.ts.map +1 -0
  28. package/dist/Item/service/actors/reload.d.ts.map +1 -0
  29. package/dist/Item/service/actors/runPublish.d.ts +5 -0
  30. package/dist/Item/service/actors/runPublish.d.ts.map +1 -0
  31. package/dist/Item/service/actors/saveDataToDb.d.ts +4 -0
  32. package/dist/Item/service/actors/saveDataToDb.d.ts.map +1 -0
  33. package/dist/Item/service/actors/waitForDb.d.ts.map +1 -0
  34. package/dist/Item/service/itemMachineSingle.d.ts +53 -0
  35. package/dist/Item/service/itemMachineSingle.d.ts.map +1 -0
  36. package/dist/ItemProperty/ItemProperty.d.ts +118 -0
  37. package/dist/ItemProperty/ItemProperty.d.ts.map +1 -0
  38. package/dist/ItemProperty/service/actors/hydrateFromDb.d.ts.map +1 -0
  39. package/dist/ItemProperty/service/actors/initialize.d.ts.map +1 -0
  40. package/dist/ItemProperty/service/actors/loadOrCreateProperty.d.ts.map +1 -0
  41. package/dist/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +1 -0
  42. package/dist/ItemProperty/service/actors/resolveRemoteStorage.d.ts.map +1 -0
  43. package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts.map +1 -0
  44. package/dist/ItemProperty/service/actors/saveValueToDb/index.d.ts.map +1 -0
  45. package/dist/ItemProperty/service/actors/saveValueToDb/saveImage.d.ts.map +1 -0
  46. package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts.map +1 -0
  47. package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.d.ts.map +1 -0
  48. package/dist/ItemProperty/service/actors/waitForDb.d.ts.map +1 -0
  49. package/dist/ItemProperty/service/propertyMachine.d.ts +68 -0
  50. package/dist/ItemProperty/service/propertyMachine.d.ts.map +1 -0
  51. package/dist/Model/Model.d.ts +225 -0
  52. package/dist/Model/Model.d.ts.map +1 -0
  53. package/dist/Model/index.d.ts +26 -0
  54. package/dist/Model/index.d.ts.map +1 -0
  55. package/dist/Model/service/actors/createModelProperties.d.ts.map +1 -0
  56. package/dist/Model/service/actors/loadOrCreateModel.d.ts.map +1 -0
  57. package/dist/Model/service/actors/validateModel.d.ts.map +1 -0
  58. package/dist/Model/service/modelMachine.d.ts +222 -0
  59. package/dist/Model/service/modelMachine.d.ts.map +1 -0
  60. package/dist/ModelProperty/ModelProperty.d.ts +146 -0
  61. package/dist/ModelProperty/ModelProperty.d.ts.map +1 -0
  62. package/dist/ModelProperty/service/actors/compareAndMarkDraft.d.ts.map +1 -0
  63. package/dist/ModelProperty/service/actors/saveToSchema.d.ts.map +1 -0
  64. package/dist/ModelProperty/service/actors/validateProperty.d.ts.map +1 -0
  65. package/dist/ModelProperty/service/modelPropertyMachine.d.ts +197 -0
  66. package/dist/ModelProperty/service/modelPropertyMachine.d.ts.map +1 -0
  67. package/dist/ModelProperty-gjcA83Mq.js +2485 -0
  68. package/dist/ModelProperty-gjcA83Mq.js.map +1 -0
  69. package/dist/PathResolver-9zAzPhee.js +191 -0
  70. package/dist/PathResolver-9zAzPhee.js.map +1 -0
  71. package/dist/PathResolver-kGzba-zC.js +78 -0
  72. package/dist/PathResolver-kGzba-zC.js.map +1 -0
  73. package/dist/QueryClient-C7ZkTT0z.js +47 -0
  74. package/dist/QueryClient-C7ZkTT0z.js.map +1 -0
  75. package/dist/QueryClient-CEtsek7Q.js +34 -0
  76. package/dist/QueryClient-CEtsek7Q.js.map +1 -0
  77. package/dist/Schema/Schema.d.ts +186 -0
  78. package/dist/Schema/Schema.d.ts.map +1 -0
  79. package/dist/Schema/errors.d.ts.map +1 -0
  80. package/dist/Schema/index.d.ts.map +1 -0
  81. package/dist/Schema/service/actors/checkExistingSchema.d.ts.map +1 -0
  82. package/dist/Schema/service/actors/createModelInstances.d.ts.map +1 -0
  83. package/dist/Schema/service/actors/createPropertyInstances.d.ts.map +1 -0
  84. package/dist/Schema/service/actors/loadOrCreateSchema.d.ts.map +1 -0
  85. package/dist/Schema/service/actors/validateSchema.d.ts.map +1 -0
  86. package/dist/Schema/service/actors/verifyModelInstancesInCache.d.ts.map +1 -0
  87. package/dist/Schema/service/actors/verifyModelsInDb.d.ts.map +1 -0
  88. package/dist/Schema/service/actors/verifyPropertiesInDb.d.ts.map +1 -0
  89. package/dist/Schema/service/actors/verifyPropertyInstancesInCache.d.ts.map +1 -0
  90. package/dist/Schema/service/actors/verifySchemaInDb.d.ts.map +1 -0
  91. package/dist/Schema/service/actors/writeModelsToDb.d.ts.map +1 -0
  92. package/dist/Schema/service/actors/writePropertiesToDb.d.ts.map +1 -0
  93. package/dist/Schema/service/actors/writeSchemaToDb.d.ts.map +1 -0
  94. package/dist/Schema/service/addModelsMachine.d.ts +123 -0
  95. package/dist/Schema/service/addModelsMachine.d.ts.map +1 -0
  96. package/dist/Schema/service/schemaMachine.d.ts +526 -0
  97. package/dist/Schema/service/schemaMachine.d.ts.map +1 -0
  98. package/dist/Schema/service/validation/SchemaValidationService.d.ts.map +1 -0
  99. package/dist/Schema/validation.d.ts.map +1 -0
  100. package/dist/Schema-ClTcpgbt.js +5856 -0
  101. package/dist/Schema-ClTcpgbt.js.map +1 -0
  102. package/dist/SchemaValidationService-BfoEiHNr.js +563 -0
  103. package/dist/SchemaValidationService-BfoEiHNr.js.map +1 -0
  104. package/dist/browser/db/Db.d.ts.map +1 -0
  105. package/dist/browser/db/drizzleFiles.d.ts.map +1 -0
  106. package/dist/browser/db/sqlWasmClient.d.ts.map +1 -0
  107. package/dist/browser/helpers/ArweaveClient.d.ts +31 -0
  108. package/dist/browser/helpers/ArweaveClient.d.ts.map +1 -0
  109. package/dist/browser/helpers/EasClient.d.ts.map +1 -0
  110. package/dist/browser/helpers/FileManager.d.ts.map +1 -0
  111. package/dist/browser/helpers/PathResolver.d.ts.map +1 -0
  112. package/dist/browser/helpers/QueryClient.d.ts.map +1 -0
  113. package/dist/browser/helpers/index.d.ts +4 -0
  114. package/dist/browser/helpers/index.d.ts.map +1 -0
  115. package/dist/browser/index.d.ts +4 -0
  116. package/dist/browser/index.d.ts.map +1 -0
  117. package/dist/browser/react/OPFSImage.d.ts.map +1 -0
  118. package/dist/browser/react/SeedImage.d.ts.map +1 -0
  119. package/dist/browser/react/SeedProvider.d.ts +30 -0
  120. package/dist/browser/react/SeedProvider.d.ts.map +1 -0
  121. package/dist/browser/react/client.d.ts.map +1 -0
  122. package/dist/browser/react/db.d.ts.map +1 -0
  123. package/dist/browser/react/index.d.ts +13 -0
  124. package/dist/browser/react/index.d.ts.map +1 -0
  125. package/dist/browser/react/item.d.ts +42 -0
  126. package/dist/browser/react/item.d.ts.map +1 -0
  127. package/dist/browser/react/itemProperty.d.ts +93 -0
  128. package/dist/browser/react/itemProperty.d.ts.map +1 -0
  129. package/dist/browser/react/liveQuery.d.ts.map +1 -0
  130. package/dist/browser/react/model.d.ts +48 -0
  131. package/dist/browser/react/model.d.ts.map +1 -0
  132. package/dist/browser/react/modelProperty.d.ts +82 -0
  133. package/dist/browser/react/modelProperty.d.ts.map +1 -0
  134. package/dist/browser/react/queryClient.d.ts +28 -0
  135. package/dist/browser/react/queryClient.d.ts.map +1 -0
  136. package/dist/browser/react/schema.d.ts +45 -0
  137. package/dist/browser/react/schema.d.ts.map +1 -0
  138. package/dist/browser/react/services.d.ts.map +1 -0
  139. package/dist/browser/react/trash.d.ts +9 -0
  140. package/dist/browser/react/trash.d.ts.map +1 -0
  141. package/dist/browser/seed.d.ts +21 -0
  142. package/dist/browser/seed.d.ts.map +1 -0
  143. package/dist/browser/workers/FileDownloader.d.ts.map +1 -0
  144. package/dist/browser/workers/ImageResizer.d.ts.map +1 -0
  145. package/dist/browser/workers/content-hash.d.ts.map +1 -0
  146. package/dist/browser/workers/dbWorker.d.ts.map +1 -0
  147. package/dist/browser/workers/filesDownload.d.ts.map +1 -0
  148. package/dist/browser/workers/imageResize.d.ts.map +1 -0
  149. package/dist/cjs/ModelProperty-BRKRREYP.js +2140 -0
  150. package/dist/cjs/ModelProperty-BRKRREYP.js.map +1 -0
  151. package/dist/cjs/Schema-CV9hMg8m.js +5873 -0
  152. package/dist/cjs/Schema-CV9hMg8m.js.map +1 -0
  153. package/dist/cjs/SchemaValidationService-DUtQUerg.js +579 -0
  154. package/dist/cjs/SchemaValidationService-DUtQUerg.js.map +1 -0
  155. package/dist/cjs/getItem-BThT-UOt.js +55 -0
  156. package/dist/cjs/getItem-BThT-UOt.js.map +1 -0
  157. package/dist/cjs/getPublishPayload-CKZ7rVbU.js +338 -0
  158. package/dist/cjs/getPublishPayload-CKZ7rVbU.js.map +1 -0
  159. package/dist/cjs/getPublishUploads-CuGIvV-Q.js +229 -0
  160. package/dist/cjs/getPublishUploads-CuGIvV-Q.js.map +1 -0
  161. package/dist/cjs/getSegmentedItemProperties-BCJXJlTR.js +61 -0
  162. package/dist/cjs/getSegmentedItemProperties-BCJXJlTR.js.map +1 -0
  163. package/dist/cjs/index-C3j3m34a.js +16642 -0
  164. package/dist/cjs/index-C3j3m34a.js.map +1 -0
  165. package/dist/cjs/index-CbTBDqTJ.js +57 -0
  166. package/dist/cjs/index-CbTBDqTJ.js.map +1 -0
  167. package/dist/client/BaseClientManager.d.ts.map +1 -0
  168. package/dist/client/ClientManager.d.ts.map +1 -0
  169. package/dist/client/actions/setAddresses.d.ts.map +1 -0
  170. package/dist/client/actors/addModelsToDb.d.ts.map +1 -0
  171. package/dist/client/actors/addModelsToStore.d.ts.map +1 -0
  172. package/dist/client/actors/dbInit.d.ts.map +1 -0
  173. package/dist/client/actors/fileSystemInit.d.ts.map +1 -0
  174. package/dist/client/actors/platformClassesInit.d.ts.map +1 -0
  175. package/dist/client/actors/processSchemaFiles.d.ts.map +1 -0
  176. package/dist/client/actors/saveAppState.d.ts.map +1 -0
  177. package/dist/client/actors/saveConfig.d.ts.map +1 -0
  178. package/dist/client/clientManagerMachine.d.ts.map +1 -0
  179. package/dist/client/constants.d.ts +89 -0
  180. package/dist/client/constants.d.ts.map +1 -0
  181. package/dist/client/index.d.ts.map +1 -0
  182. package/dist/db/Db/BaseDb.d.ts +42 -0
  183. package/dist/db/Db/BaseDb.d.ts.map +1 -0
  184. package/dist/db/configs/dev.schema.config.d.ts.map +1 -0
  185. package/dist/db/read/getExistingItem.d.ts +12 -0
  186. package/dist/db/read/getExistingItem.d.ts.map +1 -0
  187. package/dist/db/read/getItem.d.ts.map +1 -0
  188. package/dist/db/read/getItemData.d.ts.map +1 -0
  189. package/dist/db/read/getItemProperties.d.ts.map +1 -0
  190. package/dist/db/read/getItemProperty.d.ts.map +1 -0
  191. package/dist/db/read/getItems.d.ts.map +1 -0
  192. package/dist/db/read/getMetadata.d.ts.map +1 -0
  193. package/dist/db/read/getModelPropertiesData.d.ts +19 -0
  194. package/dist/db/read/getModelPropertiesData.d.ts.map +1 -0
  195. package/dist/db/read/getModelSchemas.d.ts.map +1 -0
  196. package/dist/db/read/getModels.d.ts.map +1 -0
  197. package/dist/db/read/getModelsData.d.ts +15 -0
  198. package/dist/db/read/getModelsData.d.ts.map +1 -0
  199. package/dist/db/read/getPropertyData.d.ts.map +1 -0
  200. package/dist/db/read/getPublishPayload.d.ts.map +1 -0
  201. package/dist/db/read/getPublishUploads.d.ts +10 -0
  202. package/dist/db/read/getPublishUploads.d.ts.map +1 -0
  203. package/dist/db/read/getRelationValueData.d.ts.map +1 -0
  204. package/dist/db/read/getSchemaUidForModel.d.ts.map +1 -0
  205. package/dist/db/read/getSeedData.d.ts.map +1 -0
  206. package/dist/db/read/getStorageTransactionIdForSeedUid.d.ts.map +1 -0
  207. package/dist/db/read/getVersionData.d.ts.map +1 -0
  208. package/dist/db/read/getVersionsForVersionUids.d.ts.map +1 -0
  209. package/dist/db/read/subqueries/metadataLatest.d.ts.map +1 -0
  210. package/dist/db/read/subqueries/versionData.d.ts.map +1 -0
  211. package/dist/db/write/createMetadata.d.ts.map +1 -0
  212. package/dist/db/write/createNewItem.d.ts.map +1 -0
  213. package/dist/db/write/createSeed.d.ts.map +1 -0
  214. package/dist/db/write/createSeeds.d.ts.map +1 -0
  215. package/dist/db/write/createVersion.d.ts.map +1 -0
  216. package/dist/db/write/deleteItem.d.ts.map +1 -0
  217. package/dist/db/write/recoverDeletedItem.d.ts.map +1 -0
  218. package/dist/db/write/saveAppState.d.ts.map +1 -0
  219. package/dist/db/write/saveMetadata.d.ts.map +1 -0
  220. package/dist/db/write/updateItemPropertyValue.d.ts +13 -0
  221. package/dist/db/write/updateItemPropertyValue.d.ts.map +1 -0
  222. package/dist/db/write/updateMetadata.d.ts.map +1 -0
  223. package/dist/db/write/updateSeedUid.d.ts +7 -0
  224. package/dist/db/write/updateSeedUid.d.ts.map +1 -0
  225. package/dist/eas.d.ts.map +1 -0
  226. package/dist/eslint-rules/align-imports.d.ts.map +1 -0
  227. package/dist/eventBus.d.ts.map +1 -0
  228. package/dist/events/files/download.d.ts +9 -0
  229. package/dist/events/files/download.d.ts.map +1 -0
  230. package/dist/events/files/index.d.ts.map +1 -0
  231. package/dist/events/index.d.ts.map +1 -0
  232. package/dist/events/item/index.d.ts +2 -0
  233. package/dist/events/item/index.d.ts.map +1 -0
  234. package/dist/events/item/syncDbWithEas.d.ts.map +1 -0
  235. package/dist/events/services/allItems.d.ts.map +1 -0
  236. package/dist/events/services/index.d.ts.map +1 -0
  237. package/dist/feed.d.ts.map +1 -0
  238. package/dist/getItem-BWPo8wd0.js +38 -0
  239. package/dist/getItem-BWPo8wd0.js.map +1 -0
  240. package/dist/getPublishPayload-Caw2laZM.js +322 -0
  241. package/dist/getPublishPayload-Caw2laZM.js.map +1 -0
  242. package/dist/getPublishUploads-MlyBuoXh.js +193 -0
  243. package/dist/getPublishUploads-MlyBuoXh.js.map +1 -0
  244. package/dist/getSegmentedItemProperties-COLLdDo4.js +59 -0
  245. package/dist/getSegmentedItemProperties-COLLdDo4.js.map +1 -0
  246. package/dist/graphql/fragments/Attestation.d.ts.map +1 -0
  247. package/dist/graphql/fragments/Schema.d.ts.map +1 -0
  248. package/dist/graphql/fragments/index.d.ts.map +1 -0
  249. package/dist/graphql/gql/fragment-masking.d.ts.map +1 -0
  250. package/dist/graphql/gql/gql.d.ts.map +1 -0
  251. package/dist/graphql/gql/graphql.d.ts.map +1 -0
  252. package/dist/graphql/gql/index.d.ts.map +1 -0
  253. package/dist/helpers/ArweaveClient/BaseArweaveClient.d.ts +71 -0
  254. package/dist/helpers/ArweaveClient/BaseArweaveClient.d.ts.map +1 -0
  255. package/dist/helpers/ArweaveClient/index.d.ts +30 -0
  256. package/dist/helpers/ArweaveClient/index.d.ts.map +1 -0
  257. package/dist/helpers/ArweaveClient/queries.d.ts +13 -0
  258. package/dist/helpers/ArweaveClient/queries.d.ts.map +1 -0
  259. package/dist/helpers/EasClient/BaseEasClient.d.ts +10 -0
  260. package/dist/helpers/EasClient/BaseEasClient.d.ts.map +1 -0
  261. package/dist/helpers/FileManager/BaseFileManager.d.ts.map +1 -0
  262. package/dist/helpers/PathResolver/BasePathResolver.d.ts.map +1 -0
  263. package/dist/helpers/QueryClient/BaseQueryClient.d.ts.map +1 -0
  264. package/dist/helpers/constants.d.ts +67 -0
  265. package/dist/helpers/constants.d.ts.map +1 -0
  266. package/dist/helpers/crypto.d.ts.map +1 -0
  267. package/dist/helpers/db.d.ts +131 -0
  268. package/dist/helpers/db.d.ts.map +1 -0
  269. package/dist/helpers/entity/entityCache.d.ts +49 -0
  270. package/dist/helpers/entity/entityCache.d.ts.map +1 -0
  271. package/dist/helpers/entity/entityCommon.d.ts +23 -0
  272. package/dist/helpers/entity/entityCommon.d.ts.map +1 -0
  273. package/dist/helpers/entity/entityDestroy.d.ts +41 -0
  274. package/dist/helpers/entity/entityDestroy.d.ts.map +1 -0
  275. package/dist/helpers/entity/entityFind.d.ts +52 -0
  276. package/dist/helpers/entity/entityFind.d.ts.map +1 -0
  277. package/dist/helpers/entity/entityLiveQuery.d.ts +68 -0
  278. package/dist/helpers/entity/entityLiveQuery.d.ts.map +1 -0
  279. package/dist/helpers/entity/entityUnload.d.ts +50 -0
  280. package/dist/helpers/entity/entityUnload.d.ts.map +1 -0
  281. package/dist/helpers/entity/index.d.ts +11 -0
  282. package/dist/helpers/entity/index.d.ts.map +1 -0
  283. package/dist/helpers/environment.d.ts.map +1 -0
  284. package/dist/helpers/file/download/actors.d.ts +17 -0
  285. package/dist/helpers/file/download/actors.d.ts.map +1 -0
  286. package/dist/helpers/file/download/index.d.ts +70 -0
  287. package/dist/helpers/file/download/index.d.ts.map +1 -0
  288. package/dist/helpers/file/fetchAll/actors.d.ts +16 -0
  289. package/dist/helpers/file/fetchAll/actors.d.ts.map +1 -0
  290. package/dist/helpers/file/fetchAll/index.d.ts +58 -0
  291. package/dist/helpers/file/fetchAll/index.d.ts.map +1 -0
  292. package/dist/helpers/file/queries.d.ts.map +1 -0
  293. package/dist/helpers/files.d.ts.map +1 -0
  294. package/dist/helpers/getSchemaForItemProperty.d.ts.map +1 -0
  295. package/dist/helpers/getSegmentedItemProperties.d.ts +10 -0
  296. package/dist/helpers/getSegmentedItemProperties.d.ts.map +1 -0
  297. package/dist/helpers/image/queries.d.ts.map +1 -0
  298. package/dist/helpers/index.d.ts +29 -0
  299. package/dist/helpers/index.d.ts.map +1 -0
  300. package/dist/helpers/model.d.ts.map +1 -0
  301. package/dist/helpers/property/index.d.ts +298 -0
  302. package/dist/helpers/property/index.d.ts.map +1 -0
  303. package/dist/helpers/property.d.ts.map +1 -0
  304. package/dist/helpers/reactiveProxy.d.ts.map +1 -0
  305. package/dist/helpers/schema.d.ts.map +1 -0
  306. package/dist/helpers/updateMachineContext.d.ts.map +1 -0
  307. package/dist/helpers/updateSchema.d.ts +118 -0
  308. package/dist/helpers/updateSchema.d.ts.map +1 -0
  309. package/dist/helpers/waitForEntityIdle.d.ts +16 -0
  310. package/dist/helpers/waitForEntityIdle.d.ts.map +1 -0
  311. package/dist/imports/index.d.ts +4 -0
  312. package/dist/imports/index.d.ts.map +1 -0
  313. package/dist/imports/json.d.ts.map +1 -0
  314. package/dist/imports/markdown.d.ts.map +1 -0
  315. package/dist/index-B9i_mXXp.js +18 -0
  316. package/dist/index-B9i_mXXp.js.map +1 -0
  317. package/dist/index-D2OGsG4v.js +23 -0
  318. package/dist/index-D2OGsG4v.js.map +1 -0
  319. package/dist/index.d.ts +22 -0
  320. package/dist/index.d.ts.map +1 -0
  321. package/dist/interfaces/IDb.d.ts.map +1 -0
  322. package/dist/interfaces/IEasClient.d.ts.map +1 -0
  323. package/dist/interfaces/IItem.d.ts +29 -0
  324. package/dist/interfaces/IItem.d.ts.map +1 -0
  325. package/dist/interfaces/IItemProperty.d.ts +36 -0
  326. package/dist/interfaces/IItemProperty.d.ts.map +1 -0
  327. package/dist/interfaces/IQueryClient.d.ts.map +1 -0
  328. package/dist/interfaces/index.d.ts.map +1 -0
  329. package/dist/main.cjs +75 -78
  330. package/dist/main.cjs.map +1 -1
  331. package/dist/main.js +2681 -32
  332. package/dist/main.js.map +1 -1
  333. package/dist/node/codegen/drizzle.d.ts.map +1 -0
  334. package/dist/node/codegen/index.d.ts.map +1 -0
  335. package/dist/node/codegen/ts-to-proto.d.ts.map +1 -0
  336. package/dist/node/constants.d.ts.map +1 -0
  337. package/dist/node/db/Db.d.ts.map +1 -0
  338. package/dist/node/db/index.d.ts.map +1 -0
  339. package/dist/node/db/node.app.db.config.d.ts.map +1 -0
  340. package/dist/node/helpers/ArweaveClient.d.ts +31 -0
  341. package/dist/node/helpers/ArweaveClient.d.ts.map +1 -0
  342. package/dist/node/helpers/EasClient.d.ts.map +1 -0
  343. package/dist/node/helpers/FileManager.d.ts.map +1 -0
  344. package/dist/node/helpers/PathResolver.d.ts.map +1 -0
  345. package/dist/node/helpers/QueryClient.d.ts.map +1 -0
  346. package/dist/node/helpers/index.d.ts.map +1 -0
  347. package/dist/node/helpers/scripts.d.ts.map +1 -0
  348. package/dist/node/index.d.ts +24 -0
  349. package/dist/node/index.d.ts.map +1 -0
  350. package/dist/node/seed.d.ts.map +1 -0
  351. package/dist/node/webpack/fs-proxy.d.ts.map +1 -0
  352. package/dist/node/webpack/index.d.ts.map +1 -0
  353. package/dist/node.js +524 -34
  354. package/dist/node.js.map +1 -1
  355. package/dist/property-fK7tSUDX.js +276 -0
  356. package/dist/property-fK7tSUDX.js.map +1 -0
  357. package/dist/queries-DGOk16cd.js +16 -0
  358. package/dist/queries-DGOk16cd.js.map +1 -0
  359. package/dist/seedSchema/AppStateSchema.d.ts.map +1 -0
  360. package/dist/seedSchema/ConfigSchema.d.ts.map +1 -0
  361. package/dist/seedSchema/MetadataSchema.d.ts.map +1 -0
  362. package/dist/seedSchema/ModelSchema.d.ts.map +1 -0
  363. package/dist/seedSchema/ModelSchemaSchema.d.ts.map +1 -0
  364. package/dist/seedSchema/ModelSchemaSchema.ts +2 -2
  365. package/dist/seedSchema/ModelUidSchema.d.ts.map +1 -0
  366. package/dist/seedSchema/ModelUidSchema.ts +2 -2
  367. package/dist/seedSchema/PropertyUidSchema.d.ts.map +1 -0
  368. package/dist/seedSchema/PropertyUidSchema.ts +1 -1
  369. package/dist/seedSchema/SchemaSchema.d.ts.map +1 -0
  370. package/dist/seedSchema/SeedSchema.d.ts.map +1 -0
  371. package/dist/seedSchema/VersionSchema.d.ts.map +1 -0
  372. package/dist/seedSchema/index.d.ts +11 -0
  373. package/dist/seedSchema/index.d.ts.map +1 -0
  374. package/dist/seedSchema/index.ts +10 -10
  375. package/dist/services/events.d.ts.map +1 -0
  376. package/dist/services/publish/actors/createPublishAttempt.d.ts.map +1 -0
  377. package/dist/services/publish/actors/preparePublishRequestData.d.ts.map +1 -0
  378. package/dist/services/publish/actors/upload.d.ts.map +1 -0
  379. package/dist/services/publish/actors/validateItemData.d.ts.map +1 -0
  380. package/dist/services/publish/publishMachine.d.ts.map +1 -0
  381. package/dist/services/write/actors/validateEntity.d.ts +6 -0
  382. package/dist/services/write/actors/validateEntity.d.ts.map +1 -0
  383. package/dist/services/write/actors/writeToDatabase.d.ts.map +1 -0
  384. package/dist/services/write/writeProcessMachine.d.ts +83 -0
  385. package/dist/services/write/writeProcessMachine.d.ts.map +1 -0
  386. package/dist/stores/eas.d.ts.map +1 -0
  387. package/dist/types/arweave.d.ts +56 -0
  388. package/dist/types/arweave.d.ts.map +1 -0
  389. package/dist/types/browser.d.ts.map +1 -0
  390. package/dist/types/db.d.ts.map +1 -0
  391. package/dist/types/fileManager.d.ts.map +1 -0
  392. package/dist/types/helpers.d.ts.map +1 -0
  393. package/dist/types/import.d.ts.map +1 -0
  394. package/dist/types/index.d.ts +54 -0
  395. package/dist/types/index.d.ts.map +1 -0
  396. package/dist/types/item.d.ts +84 -0
  397. package/dist/types/item.d.ts.map +1 -0
  398. package/dist/types/machines.d.ts.map +1 -0
  399. package/dist/types/model.d.ts.map +1 -0
  400. package/dist/types/property.d.ts +55 -0
  401. package/dist/types/property.d.ts.map +1 -0
  402. package/dist/types/publish.d.ts +9 -0
  403. package/dist/types/publish.d.ts.map +1 -0
  404. package/dist/types/seedProtocol.d.ts.map +1 -0
  405. package/dist/types/services.d.ts.map +1 -0
  406. package/dist/vite/easFix.d.ts +2 -0
  407. package/dist/vite/easFix.d.ts.map +1 -0
  408. package/dist/vite/index.d.ts +48 -0
  409. package/dist/vite/index.d.ts.map +1 -0
  410. package/dist/vite.cjs +217 -0
  411. package/dist/vite.cjs.map +1 -0
  412. package/dist/vite.js +215 -0
  413. package/dist/vite.js.map +1 -0
  414. package/package.json +26 -9
  415. package/dist/Item/Item.js +0 -954
  416. package/dist/Item/Item.js.map +0 -1
  417. package/dist/Item/queries.js +0 -66
  418. package/dist/Item/queries.js.map +0 -1
  419. package/dist/Item/service/actors/fetchDataFromEas.js +0 -94
  420. package/dist/Item/service/actors/fetchDataFromEas.js.map +0 -1
  421. package/dist/Item/service/actors/hydrateExistingItem.js +0 -124
  422. package/dist/Item/service/actors/hydrateExistingItem.js.map +0 -1
  423. package/dist/Item/service/actors/hydrateNewItem.js +0 -28
  424. package/dist/Item/service/actors/hydrateNewItem.js.map +0 -1
  425. package/dist/Item/service/actors/initialize.js +0 -50
  426. package/dist/Item/service/actors/initialize.js.map +0 -1
  427. package/dist/Item/service/actors/loadOrCreateItem.js +0 -210
  428. package/dist/Item/service/actors/loadOrCreateItem.js.map +0 -1
  429. package/dist/Item/service/actors/reload.js +0 -26
  430. package/dist/Item/service/actors/reload.js.map +0 -1
  431. package/dist/Item/service/actors/waitForDb.js +0 -22
  432. package/dist/Item/service/actors/waitForDb.js.map +0 -1
  433. package/dist/Item/service/itemMachineSingle.js +0 -211
  434. package/dist/Item/service/itemMachineSingle.js.map +0 -1
  435. package/dist/ItemProperty/ItemProperty.js +0 -613
  436. package/dist/ItemProperty/ItemProperty.js.map +0 -1
  437. package/dist/ItemProperty/service/actors/hydrateFromDb.js +0 -207
  438. package/dist/ItemProperty/service/actors/hydrateFromDb.js.map +0 -1
  439. package/dist/ItemProperty/service/actors/initialize.js +0 -74
  440. package/dist/ItemProperty/service/actors/initialize.js.map +0 -1
  441. package/dist/ItemProperty/service/actors/loadOrCreateProperty.js +0 -125
  442. package/dist/ItemProperty/service/actors/loadOrCreateProperty.js.map +0 -1
  443. package/dist/ItemProperty/service/actors/resolveRelatedValue.js +0 -321
  444. package/dist/ItemProperty/service/actors/resolveRelatedValue.js.map +0 -1
  445. package/dist/ItemProperty/service/actors/resolveRemoteStorage.js +0 -62
  446. package/dist/ItemProperty/service/actors/resolveRemoteStorage.js.map +0 -1
  447. package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.js +0 -111
  448. package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +0 -1
  449. package/dist/ItemProperty/service/actors/saveValueToDb/saveImage.js +0 -178
  450. package/dist/ItemProperty/service/actors/saveValueToDb/saveImage.js.map +0 -1
  451. package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +0 -121
  452. package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +0 -1
  453. package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.js +0 -85
  454. package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +0 -1
  455. package/dist/ItemProperty/service/actors/waitForDb.js +0 -22
  456. package/dist/ItemProperty/service/actors/waitForDb.js.map +0 -1
  457. package/dist/ItemProperty/service/propertyMachine.js +0 -233
  458. package/dist/ItemProperty/service/propertyMachine.js.map +0 -1
  459. package/dist/Model/Model.js +0 -1831
  460. package/dist/Model/Model.js.map +0 -1
  461. package/dist/Model/index.js +0 -8
  462. package/dist/Model/index.js.map +0 -1
  463. package/dist/Model/service/actors/createModelProperties.js +0 -102
  464. package/dist/Model/service/actors/createModelProperties.js.map +0 -1
  465. package/dist/Model/service/actors/loadOrCreateModel.js +0 -397
  466. package/dist/Model/service/actors/loadOrCreateModel.js.map +0 -1
  467. package/dist/Model/service/actors/validateModel.js +0 -123
  468. package/dist/Model/service/actors/validateModel.js.map +0 -1
  469. package/dist/Model/service/modelMachine.js +0 -385
  470. package/dist/Model/service/modelMachine.js.map +0 -1
  471. package/dist/ModelProperty/ModelProperty.js +0 -841
  472. package/dist/ModelProperty/ModelProperty.js.map +0 -1
  473. package/dist/ModelProperty/service/actors/compareAndMarkDraft.js +0 -119
  474. package/dist/ModelProperty/service/actors/compareAndMarkDraft.js.map +0 -1
  475. package/dist/ModelProperty/service/actors/saveToSchema.js +0 -108
  476. package/dist/ModelProperty/service/actors/saveToSchema.js.map +0 -1
  477. package/dist/ModelProperty/service/actors/validateProperty.js +0 -129
  478. package/dist/ModelProperty/service/actors/validateProperty.js.map +0 -1
  479. package/dist/ModelProperty/service/modelPropertyMachine.js +0 -275
  480. package/dist/ModelProperty/service/modelPropertyMachine.js.map +0 -1
  481. package/dist/Schema/Schema.js +0 -1732
  482. package/dist/Schema/Schema.js.map +0 -1
  483. package/dist/Schema/errors.js +0 -14
  484. package/dist/Schema/errors.js.map +0 -1
  485. package/dist/Schema/index.js +0 -7
  486. package/dist/Schema/index.js.map +0 -1
  487. package/dist/Schema/service/actors/checkExistingSchema.js +0 -454
  488. package/dist/Schema/service/actors/checkExistingSchema.js.map +0 -1
  489. package/dist/Schema/service/actors/createModelInstances.js +0 -71
  490. package/dist/Schema/service/actors/createModelInstances.js.map +0 -1
  491. package/dist/Schema/service/actors/createPropertyInstances.js +0 -86
  492. package/dist/Schema/service/actors/createPropertyInstances.js.map +0 -1
  493. package/dist/Schema/service/actors/loadOrCreateSchema.js +0 -1336
  494. package/dist/Schema/service/actors/loadOrCreateSchema.js.map +0 -1
  495. package/dist/Schema/service/actors/validateSchema.js +0 -65
  496. package/dist/Schema/service/actors/validateSchema.js.map +0 -1
  497. package/dist/Schema/service/actors/verifyModelInstancesInCache.js +0 -88
  498. package/dist/Schema/service/actors/verifyModelInstancesInCache.js.map +0 -1
  499. package/dist/Schema/service/actors/verifyModelsInDb.js +0 -107
  500. package/dist/Schema/service/actors/verifyModelsInDb.js.map +0 -1
  501. package/dist/Schema/service/actors/verifyPropertiesInDb.js +0 -131
  502. package/dist/Schema/service/actors/verifyPropertiesInDb.js.map +0 -1
  503. package/dist/Schema/service/actors/verifyPropertyInstancesInCache.js +0 -88
  504. package/dist/Schema/service/actors/verifyPropertyInstancesInCache.js.map +0 -1
  505. package/dist/Schema/service/actors/verifySchemaInDb.js +0 -85
  506. package/dist/Schema/service/actors/verifySchemaInDb.js.map +0 -1
  507. package/dist/Schema/service/actors/writeModelsToDb.js +0 -185
  508. package/dist/Schema/service/actors/writeModelsToDb.js.map +0 -1
  509. package/dist/Schema/service/actors/writePropertiesToDb.js +0 -69
  510. package/dist/Schema/service/actors/writePropertiesToDb.js.map +0 -1
  511. package/dist/Schema/service/actors/writeSchemaToDb.js +0 -137
  512. package/dist/Schema/service/actors/writeSchemaToDb.js.map +0 -1
  513. package/dist/Schema/service/addModelsMachine.js +0 -545
  514. package/dist/Schema/service/addModelsMachine.js.map +0 -1
  515. package/dist/Schema/service/schemaMachine.js +0 -667
  516. package/dist/Schema/service/schemaMachine.js.map +0 -1
  517. package/dist/Schema/service/validation/SchemaValidationService.js +0 -565
  518. package/dist/Schema/service/validation/SchemaValidationService.js.map +0 -1
  519. package/dist/Schema/validation.js +0 -15
  520. package/dist/Schema/validation.js.map +0 -1
  521. package/dist/browser/db/Db.js +0 -484
  522. package/dist/browser/db/Db.js.map +0 -1
  523. package/dist/browser/db/drizzleFiles.js +0 -1022
  524. package/dist/browser/db/drizzleFiles.js.map +0 -1
  525. package/dist/browser/helpers/ArweaveClient.js +0 -13
  526. package/dist/browser/helpers/ArweaveClient.js.map +0 -1
  527. package/dist/browser/helpers/EasClient.js +0 -16
  528. package/dist/browser/helpers/EasClient.js.map +0 -1
  529. package/dist/browser/helpers/FileManager.js +0 -415
  530. package/dist/browser/helpers/FileManager.js.map +0 -1
  531. package/dist/browser/helpers/PathResolver.js +0 -64
  532. package/dist/browser/helpers/PathResolver.js.map +0 -1
  533. package/dist/browser/helpers/QueryClient.js +0 -33
  534. package/dist/browser/helpers/QueryClient.js.map +0 -1
  535. package/dist/browser/react/client.js +0 -16
  536. package/dist/browser/react/client.js.map +0 -1
  537. package/dist/browser/react/db.js +0 -7
  538. package/dist/browser/react/db.js.map +0 -1
  539. package/dist/browser/react/item.js +0 -192
  540. package/dist/browser/react/item.js.map +0 -1
  541. package/dist/browser/react/itemProperty.js +0 -545
  542. package/dist/browser/react/itemProperty.js.map +0 -1
  543. package/dist/browser/react/liveQuery.js +0 -95
  544. package/dist/browser/react/liveQuery.js.map +0 -1
  545. package/dist/browser/react/model.js +0 -276
  546. package/dist/browser/react/model.js.map +0 -1
  547. package/dist/browser/react/modelProperty.js +0 -412
  548. package/dist/browser/react/modelProperty.js.map +0 -1
  549. package/dist/browser/react/schema.js +0 -387
  550. package/dist/browser/react/schema.js.map +0 -1
  551. package/dist/browser/react/services.js +0 -47
  552. package/dist/browser/react/services.js.map +0 -1
  553. package/dist/browser/react/trash.js +0 -25
  554. package/dist/browser/react/trash.js.map +0 -1
  555. package/dist/browser/workers/FileDownloader.js +0 -52
  556. package/dist/browser/workers/FileDownloader.js.map +0 -1
  557. package/dist/browser/workers/ImageResizer.js +0 -63
  558. package/dist/browser/workers/ImageResizer.js.map +0 -1
  559. package/dist/browser/workers/filesDownload.js +0 -245
  560. package/dist/browser/workers/filesDownload.js.map +0 -1
  561. package/dist/browser/workers/imageResize.js +0 -382
  562. package/dist/browser/workers/imageResize.js.map +0 -1
  563. package/dist/client/ClientManager.js +0 -177
  564. package/dist/client/ClientManager.js.map +0 -1
  565. package/dist/client/actors/addModelsToDb.js +0 -150
  566. package/dist/client/actors/addModelsToDb.js.map +0 -1
  567. package/dist/client/actors/addModelsToStore.js +0 -28
  568. package/dist/client/actors/addModelsToStore.js.map +0 -1
  569. package/dist/client/actors/dbInit.js +0 -38
  570. package/dist/client/actors/dbInit.js.map +0 -1
  571. package/dist/client/actors/fileSystemInit.js +0 -43
  572. package/dist/client/actors/fileSystemInit.js.map +0 -1
  573. package/dist/client/actors/platformClassesInit.js +0 -175
  574. package/dist/client/actors/platformClassesInit.js.map +0 -1
  575. package/dist/client/actors/processSchemaFiles.js +0 -169
  576. package/dist/client/actors/processSchemaFiles.js.map +0 -1
  577. package/dist/client/actors/saveAppState.js +0 -80
  578. package/dist/client/actors/saveAppState.js.map +0 -1
  579. package/dist/client/actors/saveConfig.js +0 -110
  580. package/dist/client/actors/saveConfig.js.map +0 -1
  581. package/dist/client/clientManagerMachine.js +0 -191
  582. package/dist/client/clientManagerMachine.js.map +0 -1
  583. package/dist/client/constants.js +0 -80
  584. package/dist/client/constants.js.map +0 -1
  585. package/dist/db/Db/BaseDb.js +0 -55
  586. package/dist/db/Db/BaseDb.js.map +0 -1
  587. package/dist/db/read/getExistingItem.js +0 -33
  588. package/dist/db/read/getExistingItem.js.map +0 -1
  589. package/dist/db/read/getItem.js +0 -26
  590. package/dist/db/read/getItem.js.map +0 -1
  591. package/dist/db/read/getItemData.js +0 -88
  592. package/dist/db/read/getItemData.js.map +0 -1
  593. package/dist/db/read/getItemProperties.js +0 -53
  594. package/dist/db/read/getItemProperties.js.map +0 -1
  595. package/dist/db/read/getItemProperty.js +0 -34
  596. package/dist/db/read/getItemProperty.js.map +0 -1
  597. package/dist/db/read/getItems.js +0 -53
  598. package/dist/db/read/getItems.js.map +0 -1
  599. package/dist/db/read/getMetadata.js +0 -36
  600. package/dist/db/read/getMetadata.js.map +0 -1
  601. package/dist/db/read/getModelSchemas.js +0 -63
  602. package/dist/db/read/getModelSchemas.js.map +0 -1
  603. package/dist/db/read/getPropertyData.js +0 -42
  604. package/dist/db/read/getPropertyData.js.map +0 -1
  605. package/dist/db/read/getPublishPayload.js +0 -294
  606. package/dist/db/read/getPublishPayload.js.map +0 -1
  607. package/dist/db/read/getPublishUploads.js +0 -166
  608. package/dist/db/read/getPublishUploads.js.map +0 -1
  609. package/dist/db/read/getRelationValueData.js +0 -34
  610. package/dist/db/read/getRelationValueData.js.map +0 -1
  611. package/dist/db/read/getSchemaUidForModel.js +0 -28
  612. package/dist/db/read/getSchemaUidForModel.js.map +0 -1
  613. package/dist/db/read/getSeedData.js +0 -32
  614. package/dist/db/read/getSeedData.js.map +0 -1
  615. package/dist/db/read/getStorageTransactionIdForSeedUid.js +0 -34
  616. package/dist/db/read/getStorageTransactionIdForSeedUid.js.map +0 -1
  617. package/dist/db/read/getVersionData.js +0 -37
  618. package/dist/db/read/getVersionData.js.map +0 -1
  619. package/dist/db/read/subqueries/metadataLatest.js +0 -39
  620. package/dist/db/read/subqueries/metadataLatest.js.map +0 -1
  621. package/dist/db/read/subqueries/versionData.js +0 -31
  622. package/dist/db/read/subqueries/versionData.js.map +0 -1
  623. package/dist/db/write/createMetadata.js +0 -94
  624. package/dist/db/write/createMetadata.js.map +0 -1
  625. package/dist/db/write/createNewItem.js +0 -43
  626. package/dist/db/write/createNewItem.js.map +0 -1
  627. package/dist/db/write/createSeed.js +0 -32
  628. package/dist/db/write/createSeed.js.map +0 -1
  629. package/dist/db/write/createSeeds.js +0 -29
  630. package/dist/db/write/createSeeds.js.map +0 -1
  631. package/dist/db/write/createVersion.js +0 -29
  632. package/dist/db/write/createVersion.js.map +0 -1
  633. package/dist/db/write/deleteItem.js +0 -25
  634. package/dist/db/write/deleteItem.js.map +0 -1
  635. package/dist/db/write/saveAppState.js +0 -30
  636. package/dist/db/write/saveAppState.js.map +0 -1
  637. package/dist/db/write/saveMetadata.js +0 -26
  638. package/dist/db/write/saveMetadata.js.map +0 -1
  639. package/dist/db/write/updateItemPropertyValue.js +0 -165
  640. package/dist/db/write/updateItemPropertyValue.js.map +0 -1
  641. package/dist/db/write/updateMetadata.js +0 -38
  642. package/dist/db/write/updateMetadata.js.map +0 -1
  643. package/dist/eas.js +0 -176
  644. package/dist/eas.js.map +0 -1
  645. package/dist/eventBus.js +0 -6
  646. package/dist/eventBus.js.map +0 -1
  647. package/dist/events/files/download.js +0 -191
  648. package/dist/events/files/download.js.map +0 -1
  649. package/dist/events/files/index.js +0 -23
  650. package/dist/events/files/index.js.map +0 -1
  651. package/dist/events/index.js +0 -28
  652. package/dist/events/index.js.map +0 -1
  653. package/dist/events/item/index.js +0 -28
  654. package/dist/events/item/index.js.map +0 -1
  655. package/dist/events/item/publish.js +0 -50
  656. package/dist/events/item/publish.js.map +0 -1
  657. package/dist/events/item/syncDbWithEas.js +0 -453
  658. package/dist/events/item/syncDbWithEas.js.map +0 -1
  659. package/dist/events/services/allItems.js +0 -10
  660. package/dist/events/services/allItems.js.map +0 -1
  661. package/dist/events/services/index.js +0 -9
  662. package/dist/events/services/index.js.map +0 -1
  663. package/dist/feed.js +0 -534
  664. package/dist/feed.js.map +0 -1
  665. package/dist/graphql/gql/gql.js +0 -27
  666. package/dist/graphql/gql/gql.js.map +0 -1
  667. package/dist/graphql/gql/graphql.js +0 -129
  668. package/dist/graphql/gql/graphql.js.map +0 -1
  669. package/dist/helpers/ArweaveClient/BaseArweaveClient.js +0 -11
  670. package/dist/helpers/ArweaveClient/BaseArweaveClient.js.map +0 -1
  671. package/dist/helpers/ArweaveClient/index.js +0 -61
  672. package/dist/helpers/ArweaveClient/index.js.map +0 -1
  673. package/dist/helpers/ArweaveClient/queries.js +0 -16
  674. package/dist/helpers/ArweaveClient/queries.js.map +0 -1
  675. package/dist/helpers/EasClient/BaseEasClient.js +0 -20
  676. package/dist/helpers/EasClient/BaseEasClient.js.map +0 -1
  677. package/dist/helpers/FileManager/BaseFileManager.js +0 -119
  678. package/dist/helpers/FileManager/BaseFileManager.js.map +0 -1
  679. package/dist/helpers/PathResolver/BasePathResolver.js +0 -20
  680. package/dist/helpers/PathResolver/BasePathResolver.js.map +0 -1
  681. package/dist/helpers/QueryClient/BaseQueryClient.js +0 -11
  682. package/dist/helpers/QueryClient/BaseQueryClient.js.map +0 -1
  683. package/dist/helpers/constants.js +0 -107
  684. package/dist/helpers/constants.js.map +0 -1
  685. package/dist/helpers/crypto.js +0 -9
  686. package/dist/helpers/crypto.js.map +0 -1
  687. package/dist/helpers/db.js +0 -1335
  688. package/dist/helpers/db.js.map +0 -1
  689. package/dist/helpers/environment.js +0 -14
  690. package/dist/helpers/environment.js.map +0 -1
  691. package/dist/helpers/file/queries.js +0 -15
  692. package/dist/helpers/file/queries.js.map +0 -1
  693. package/dist/helpers/getSchemaForItemProperty.js +0 -65
  694. package/dist/helpers/getSchemaForItemProperty.js.map +0 -1
  695. package/dist/helpers/getSegmentedItemProperties.js +0 -71
  696. package/dist/helpers/getSegmentedItemProperties.js.map +0 -1
  697. package/dist/helpers/index.js +0 -101
  698. package/dist/helpers/index.js.map +0 -1
  699. package/dist/helpers/model.js +0 -24
  700. package/dist/helpers/model.js.map +0 -1
  701. package/dist/helpers/property/index.js +0 -110
  702. package/dist/helpers/property/index.js.map +0 -1
  703. package/dist/helpers/property.js +0 -286
  704. package/dist/helpers/property.js.map +0 -1
  705. package/dist/helpers/reactiveProxy.js +0 -87
  706. package/dist/helpers/reactiveProxy.js.map +0 -1
  707. package/dist/helpers/schema.js +0 -473
  708. package/dist/helpers/schema.js.map +0 -1
  709. package/dist/helpers/updateMachineContext.js +0 -20
  710. package/dist/helpers/updateMachineContext.js.map +0 -1
  711. package/dist/helpers/updateSchema.js +0 -721
  712. package/dist/helpers/updateSchema.js.map +0 -1
  713. package/dist/imports/json.js +0 -1129
  714. package/dist/imports/json.js.map +0 -1
  715. package/dist/imports/markdown.js +0 -141
  716. package/dist/imports/markdown.js.map +0 -1
  717. package/dist/node/codegen/drizzle.js +0 -136
  718. package/dist/node/codegen/drizzle.js.map +0 -1
  719. package/dist/node/codegen/templates/header.njk +0 -10
  720. package/dist/node/codegen/templates/index.njk +0 -27
  721. package/dist/node/codegen/templates/model.njk +0 -18
  722. package/dist/node/codegen/templates/relations.njk +0 -13
  723. package/dist/node/codegen/templates/schema.njk +0 -11
  724. package/dist/node/codegen/templates/table.njk +0 -43
  725. package/dist/node/db/Db.js +0 -332
  726. package/dist/node/db/Db.js.map +0 -1
  727. package/dist/node/helpers/ArweaveClient.js +0 -13
  728. package/dist/node/helpers/ArweaveClient.js.map +0 -1
  729. package/dist/node/helpers/EasClient.js +0 -16
  730. package/dist/node/helpers/EasClient.js.map +0 -1
  731. package/dist/node/helpers/FileManager.js +0 -151
  732. package/dist/node/helpers/FileManager.js.map +0 -1
  733. package/dist/node/helpers/PathResolver.js +0 -182
  734. package/dist/node/helpers/PathResolver.js.map +0 -1
  735. package/dist/node/helpers/QueryClient.js +0 -20
  736. package/dist/node/helpers/QueryClient.js.map +0 -1
  737. package/dist/node/helpers/index.js +0 -62
  738. package/dist/node/helpers/index.js.map +0 -1
  739. package/dist/node/helpers/scripts.js +0 -121
  740. package/dist/node/helpers/scripts.js.map +0 -1
  741. package/dist/node/webpack/index.js +0 -96
  742. package/dist/node/webpack/index.js.map +0 -1
  743. package/dist/node_modules/.bun/events@3.3.0/node_modules/events/events.d.ts +0 -31
  744. package/dist/node_modules/.bun/events@3.3.0/node_modules/events/events.d.ts.map +0 -1
  745. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.d.mts +0 -90
  746. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.d.mts.map +0 -1
  747. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/index.d.ts +0 -28
  748. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/index.d.ts.map +0 -1
  749. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/common.d.ts +0 -7
  750. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/common.d.ts.map +0 -1
  751. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/dumper.d.ts +0 -2
  752. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/dumper.d.ts.map +0 -1
  753. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/exception.d.ts +0 -12
  754. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/exception.d.ts.map +0 -1
  755. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/loader.d.ts +0 -3
  756. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/loader.d.ts.map +0 -1
  757. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/core.d.ts +0 -3
  758. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/core.d.ts.map +0 -1
  759. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/default.d.ts +0 -3
  760. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/default.d.ts.map +0 -1
  761. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/failsafe.d.ts +0 -4
  762. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/failsafe.d.ts.map +0 -1
  763. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/json.d.ts +0 -3
  764. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/json.d.ts.map +0 -1
  765. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema.d.ts +0 -7
  766. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema.d.ts.map +0 -1
  767. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/snippet.d.ts +0 -3
  768. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/snippet.d.ts.map +0 -1
  769. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/binary.d.ts +0 -4
  770. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/binary.d.ts.map +0 -1
  771. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/bool.d.ts +0 -4
  772. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/bool.d.ts.map +0 -1
  773. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/float.d.ts +0 -4
  774. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/float.d.ts.map +0 -1
  775. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/int.d.ts +0 -4
  776. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/int.d.ts.map +0 -1
  777. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/map.d.ts +0 -4
  778. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/map.d.ts.map +0 -1
  779. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/merge.d.ts +0 -4
  780. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/merge.d.ts.map +0 -1
  781. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/null.d.ts +0 -4
  782. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/null.d.ts.map +0 -1
  783. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/omap.d.ts +0 -4
  784. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/omap.d.ts.map +0 -1
  785. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/pairs.d.ts +0 -4
  786. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/pairs.d.ts.map +0 -1
  787. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/seq.d.ts +0 -4
  788. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/seq.d.ts.map +0 -1
  789. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/set.d.ts +0 -4
  790. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/set.d.ts.map +0 -1
  791. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/str.d.ts +0 -4
  792. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/str.d.ts.map +0 -1
  793. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/timestamp.d.ts +0 -4
  794. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/timestamp.d.ts.map +0 -1
  795. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type.d.ts +0 -18
  796. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type.d.ts.map +0 -1
  797. package/dist/node_modules/.bun/process@0.11.10/node_modules/process/index.d.ts +0 -3
  798. package/dist/node_modules/.bun/process@0.11.10/node_modules/process/index.d.ts.map +0 -1
  799. package/dist/node_modules/.bun/punycode@1.4.1/node_modules/punycode/punycode.d.ts +0 -1
  800. package/dist/node_modules/.bun/punycode@1.4.1/node_modules/punycode/punycode.d.ts.map +0 -1
  801. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/add-abort-signal.d.ts +0 -3
  802. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/add-abort-signal.d.ts.map +0 -1
  803. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/buffer_list.d.ts +0 -19
  804. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/buffer_list.d.ts.map +0 -1
  805. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/compose.d.ts +0 -3
  806. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/compose.d.ts.map +0 -1
  807. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/destroy.d.ts +0 -6
  808. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/destroy.d.ts.map +0 -1
  809. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplex.d.ts +0 -12
  810. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplex.d.ts.map +0 -1
  811. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplexify.d.ts +0 -3
  812. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplexify.d.ts.map +0 -1
  813. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/end-of-stream.d.ts +0 -7
  814. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/end-of-stream.d.ts.map +0 -1
  815. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/from.d.ts +0 -3
  816. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/from.d.ts.map +0 -1
  817. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/legacy.d.ts +0 -7
  818. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/legacy.d.ts.map +0 -1
  819. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/operators.d.ts +0 -31
  820. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/operators.d.ts.map +0 -1
  821. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/passthrough.d.ts +0 -7
  822. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/passthrough.d.ts.map +0 -1
  823. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/pipeline.d.ts +0 -3
  824. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/pipeline.d.ts.map +0 -1
  825. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/readable.d.ts +0 -55
  826. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/readable.d.ts.map +0 -1
  827. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/state.d.ts +0 -4
  828. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/state.d.ts.map +0 -1
  829. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/transform.d.ts +0 -12
  830. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/transform.d.ts.map +0 -1
  831. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/utils.d.ts +0 -33
  832. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/utils.d.ts.map +0 -1
  833. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/writable.d.ts +0 -59
  834. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/writable.d.ts.map +0 -1
  835. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/validators.d.ts +0 -199
  836. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/validators.d.ts.map +0 -1
  837. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/errors.d.ts +0 -8
  838. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/errors.d.ts.map +0 -1
  839. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/index.d.ts +0 -2
  840. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/index.d.ts.map +0 -1
  841. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/primordials.d.ts +0 -51
  842. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/primordials.d.ts.map +0 -1
  843. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util/inspect.d.ts +0 -3
  844. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util/inspect.d.ts.map +0 -1
  845. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util.d.ts +0 -22
  846. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util.d.ts.map +0 -1
  847. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream/promises.d.ts +0 -4
  848. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream/promises.d.ts.map +0 -1
  849. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream.d.ts +0 -3
  850. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream.d.ts.map +0 -1
  851. package/dist/node_modules/.bun/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.d.ts +0 -33
  852. package/dist/node_modules/.bun/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.d.ts.map +0 -1
  853. package/dist/node_modules/.bun/url@0.11.4/node_modules/url/url.d.ts +0 -26
  854. package/dist/node_modules/.bun/url@0.11.4/node_modules/url/url.d.ts.map +0 -1
  855. package/dist/scripts/build-with-tests.d.ts +0 -3
  856. package/dist/scripts/build-with-tests.d.ts.map +0 -1
  857. package/dist/scripts/rpcServer.cursor.d.ts +0 -2
  858. package/dist/scripts/rpcServer.cursor.d.ts.map +0 -1
  859. package/dist/scripts/rpcServer.d.ts +0 -3
  860. package/dist/scripts/rpcServer.d.ts.map +0 -1
  861. package/dist/scripts/sync-versions.d.ts +0 -7
  862. package/dist/scripts/sync-versions.d.ts.map +0 -1
  863. package/dist/scripts/track-drizzle-changes.d.ts +0 -13
  864. package/dist/scripts/track-drizzle-changes.d.ts.map +0 -1
  865. package/dist/scripts/vite.config.d.ts +0 -3
  866. package/dist/scripts/vite.config.d.ts.map +0 -1
  867. package/dist/seedSchema/AppStateSchema.js +0 -11
  868. package/dist/seedSchema/AppStateSchema.js.map +0 -1
  869. package/dist/seedSchema/ConfigSchema.js +0 -12
  870. package/dist/seedSchema/ConfigSchema.js.map +0 -1
  871. package/dist/seedSchema/MetadataSchema.js +0 -29
  872. package/dist/seedSchema/MetadataSchema.js.map +0 -1
  873. package/dist/seedSchema/ModelSchema.js +0 -40
  874. package/dist/seedSchema/ModelSchema.js.map +0 -1
  875. package/dist/seedSchema/ModelSchemaSchema.js +0 -12
  876. package/dist/seedSchema/ModelSchemaSchema.js.map +0 -1
  877. package/dist/seedSchema/ModelUidSchema.js +0 -18
  878. package/dist/seedSchema/ModelUidSchema.js.map +0 -1
  879. package/dist/seedSchema/PropertyUidSchema.js +0 -18
  880. package/dist/seedSchema/PropertyUidSchema.js.map +0 -1
  881. package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json.js +0 -94
  882. package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json.js.map +0 -1
  883. package/dist/seedSchema/SchemaSchema.js +0 -20
  884. package/dist/seedSchema/SchemaSchema.js.map +0 -1
  885. package/dist/seedSchema/SeedSchema.js +0 -16
  886. package/dist/seedSchema/SeedSchema.js.map +0 -1
  887. package/dist/seedSchema/VersionSchema.js +0 -17
  888. package/dist/seedSchema/VersionSchema.js.map +0 -1
  889. package/dist/seedSchema/index.js +0 -11
  890. package/dist/seedSchema/index.js.map +0 -1
  891. package/dist/services/events.js +0 -16
  892. package/dist/services/events.js.map +0 -1
  893. package/dist/services/publish/actors/createPublishAttempt.js +0 -14
  894. package/dist/services/publish/actors/createPublishAttempt.js.map +0 -1
  895. package/dist/services/publish/actors/preparePublishRequestData.js +0 -76
  896. package/dist/services/publish/actors/preparePublishRequestData.js.map +0 -1
  897. package/dist/services/publish/actors/upload.js +0 -61
  898. package/dist/services/publish/actors/upload.js.map +0 -1
  899. package/dist/services/publish/actors/validateItemData.js +0 -18
  900. package/dist/services/publish/actors/validateItemData.js.map +0 -1
  901. package/dist/services/publish/publishMachine.js +0 -71
  902. package/dist/services/publish/publishMachine.js.map +0 -1
  903. package/dist/services/write/actors/validateEntity.js +0 -145
  904. package/dist/services/write/actors/validateEntity.js.map +0 -1
  905. package/dist/services/write/actors/writeToDatabase.js +0 -91
  906. package/dist/services/write/actors/writeToDatabase.js.map +0 -1
  907. package/dist/services/write/writeProcessMachine.js +0 -233
  908. package/dist/services/write/writeProcessMachine.js.map +0 -1
  909. package/dist/src/Item/Item.d.ts +0 -94
  910. package/dist/src/Item/Item.d.ts.map +0 -1
  911. package/dist/src/Item/queries.d.ts.map +0 -1
  912. package/dist/src/Item/service/actors/fetchDataFromEas.d.ts +0 -2
  913. package/dist/src/Item/service/actors/fetchDataFromEas.d.ts.map +0 -1
  914. package/dist/src/Item/service/actors/hydrateExistingItem.d.ts.map +0 -1
  915. package/dist/src/Item/service/actors/hydrateNewItem.d.ts.map +0 -1
  916. package/dist/src/Item/service/actors/initialize.d.ts.map +0 -1
  917. package/dist/src/Item/service/actors/loadOrCreateItem.d.ts.map +0 -1
  918. package/dist/src/Item/service/actors/reload.d.ts.map +0 -1
  919. package/dist/src/Item/service/actors/saveDataToDb.d.ts +0 -3
  920. package/dist/src/Item/service/actors/saveDataToDb.d.ts.map +0 -1
  921. package/dist/src/Item/service/actors/waitForDb.d.ts.map +0 -1
  922. package/dist/src/Item/service/itemMachineSingle.d.ts +0 -2
  923. package/dist/src/Item/service/itemMachineSingle.d.ts.map +0 -1
  924. package/dist/src/ItemProperty/ItemProperty.d.ts +0 -67
  925. package/dist/src/ItemProperty/ItemProperty.d.ts.map +0 -1
  926. package/dist/src/ItemProperty/service/actors/hydrateFromDb.d.ts.map +0 -1
  927. package/dist/src/ItemProperty/service/actors/initialize.d.ts.map +0 -1
  928. package/dist/src/ItemProperty/service/actors/loadOrCreateProperty.d.ts.map +0 -1
  929. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +0 -1
  930. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.d.ts.map +0 -1
  931. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts.map +0 -1
  932. package/dist/src/ItemProperty/service/actors/saveValueToDb/index.d.ts.map +0 -1
  933. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImage.d.ts.map +0 -1
  934. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts.map +0 -1
  935. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.d.ts.map +0 -1
  936. package/dist/src/ItemProperty/service/actors/waitForDb.d.ts.map +0 -1
  937. package/dist/src/ItemProperty/service/propertyMachine.d.ts +0 -48
  938. package/dist/src/ItemProperty/service/propertyMachine.d.ts.map +0 -1
  939. package/dist/src/Model/Model.d.ts +0 -199
  940. package/dist/src/Model/Model.d.ts.map +0 -1
  941. package/dist/src/Model/index.d.ts +0 -26
  942. package/dist/src/Model/index.d.ts.map +0 -1
  943. package/dist/src/Model/service/actors/createModelProperties.d.ts.map +0 -1
  944. package/dist/src/Model/service/actors/loadOrCreateModel.d.ts.map +0 -1
  945. package/dist/src/Model/service/actors/validateModel.d.ts.map +0 -1
  946. package/dist/src/Model/service/modelMachine.d.ts +0 -206
  947. package/dist/src/Model/service/modelMachine.d.ts.map +0 -1
  948. package/dist/src/ModelProperty/ModelProperty.d.ts +0 -112
  949. package/dist/src/ModelProperty/ModelProperty.d.ts.map +0 -1
  950. package/dist/src/ModelProperty/service/actors/compareAndMarkDraft.d.ts.map +0 -1
  951. package/dist/src/ModelProperty/service/actors/saveToSchema.d.ts.map +0 -1
  952. package/dist/src/ModelProperty/service/actors/validateProperty.d.ts.map +0 -1
  953. package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts +0 -183
  954. package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts.map +0 -1
  955. package/dist/src/Schema/Schema.d.ts +0 -143
  956. package/dist/src/Schema/Schema.d.ts.map +0 -1
  957. package/dist/src/Schema/errors.d.ts.map +0 -1
  958. package/dist/src/Schema/index.d.ts.map +0 -1
  959. package/dist/src/Schema/service/actors/checkExistingSchema.d.ts.map +0 -1
  960. package/dist/src/Schema/service/actors/createModelInstances.d.ts.map +0 -1
  961. package/dist/src/Schema/service/actors/createPropertyInstances.d.ts.map +0 -1
  962. package/dist/src/Schema/service/actors/loadOrCreateSchema.d.ts.map +0 -1
  963. package/dist/src/Schema/service/actors/validateSchema.d.ts.map +0 -1
  964. package/dist/src/Schema/service/actors/verifyModelInstancesInCache.d.ts.map +0 -1
  965. package/dist/src/Schema/service/actors/verifyModelsInDb.d.ts.map +0 -1
  966. package/dist/src/Schema/service/actors/verifyPropertiesInDb.d.ts.map +0 -1
  967. package/dist/src/Schema/service/actors/verifyPropertyInstancesInCache.d.ts.map +0 -1
  968. package/dist/src/Schema/service/actors/verifySchemaInDb.d.ts.map +0 -1
  969. package/dist/src/Schema/service/actors/writeModelsToDb.d.ts.map +0 -1
  970. package/dist/src/Schema/service/actors/writePropertiesToDb.d.ts.map +0 -1
  971. package/dist/src/Schema/service/actors/writeSchemaToDb.d.ts.map +0 -1
  972. package/dist/src/Schema/service/addModelsMachine.d.ts +0 -111
  973. package/dist/src/Schema/service/addModelsMachine.d.ts.map +0 -1
  974. package/dist/src/Schema/service/schemaMachine.d.ts +0 -494
  975. package/dist/src/Schema/service/schemaMachine.d.ts.map +0 -1
  976. package/dist/src/Schema/service/validation/SchemaValidationService.d.ts.map +0 -1
  977. package/dist/src/Schema/validation.d.ts.map +0 -1
  978. package/dist/src/browser/db/Db.d.ts.map +0 -1
  979. package/dist/src/browser/db/drizzleFiles.d.ts.map +0 -1
  980. package/dist/src/browser/db/sqlWasmClient.d.ts.map +0 -1
  981. package/dist/src/browser/helpers/ArweaveClient.d.ts +0 -7
  982. package/dist/src/browser/helpers/ArweaveClient.d.ts.map +0 -1
  983. package/dist/src/browser/helpers/EasClient.d.ts.map +0 -1
  984. package/dist/src/browser/helpers/FileManager.d.ts.map +0 -1
  985. package/dist/src/browser/helpers/PathResolver.d.ts.map +0 -1
  986. package/dist/src/browser/helpers/QueryClient.d.ts.map +0 -1
  987. package/dist/src/browser/helpers/index.d.ts +0 -2
  988. package/dist/src/browser/helpers/index.d.ts.map +0 -1
  989. package/dist/src/browser/index.d.ts +0 -6
  990. package/dist/src/browser/index.d.ts.map +0 -1
  991. package/dist/src/browser/react/OPFSImage.d.ts.map +0 -1
  992. package/dist/src/browser/react/SeedImage.d.ts.map +0 -1
  993. package/dist/src/browser/react/client.d.ts.map +0 -1
  994. package/dist/src/browser/react/db.d.ts.map +0 -1
  995. package/dist/src/browser/react/index.d.ts +0 -10
  996. package/dist/src/browser/react/index.d.ts.map +0 -1
  997. package/dist/src/browser/react/item.d.ts +0 -41
  998. package/dist/src/browser/react/item.d.ts.map +0 -1
  999. package/dist/src/browser/react/itemProperty.d.ts +0 -57
  1000. package/dist/src/browser/react/itemProperty.d.ts.map +0 -1
  1001. package/dist/src/browser/react/liveQuery.d.ts.map +0 -1
  1002. package/dist/src/browser/react/model.d.ts +0 -34
  1003. package/dist/src/browser/react/model.d.ts.map +0 -1
  1004. package/dist/src/browser/react/modelProperty.d.ts +0 -59
  1005. package/dist/src/browser/react/modelProperty.d.ts.map +0 -1
  1006. package/dist/src/browser/react/schema.d.ts +0 -37
  1007. package/dist/src/browser/react/schema.d.ts.map +0 -1
  1008. package/dist/src/browser/react/services.d.ts.map +0 -1
  1009. package/dist/src/browser/react/trash.d.ts +0 -6
  1010. package/dist/src/browser/react/trash.d.ts.map +0 -1
  1011. package/dist/src/browser/seed.d.ts +0 -10
  1012. package/dist/src/browser/seed.d.ts.map +0 -1
  1013. package/dist/src/browser/workers/FileDownloader.d.ts.map +0 -1
  1014. package/dist/src/browser/workers/ImageResizer.d.ts.map +0 -1
  1015. package/dist/src/browser/workers/content-hash.d.ts.map +0 -1
  1016. package/dist/src/browser/workers/dbWorker.d.ts.map +0 -1
  1017. package/dist/src/browser/workers/filesDownload.d.ts.map +0 -1
  1018. package/dist/src/browser/workers/imageResize.d.ts.map +0 -1
  1019. package/dist/src/client/BaseClientManager.d.ts.map +0 -1
  1020. package/dist/src/client/ClientManager.d.ts.map +0 -1
  1021. package/dist/src/client/actions/setAddresses.d.ts.map +0 -1
  1022. package/dist/src/client/actors/addModelsToDb.d.ts.map +0 -1
  1023. package/dist/src/client/actors/addModelsToStore.d.ts.map +0 -1
  1024. package/dist/src/client/actors/dbInit.d.ts.map +0 -1
  1025. package/dist/src/client/actors/fileSystemInit.d.ts.map +0 -1
  1026. package/dist/src/client/actors/platformClassesInit.d.ts.map +0 -1
  1027. package/dist/src/client/actors/processSchemaFiles.d.ts.map +0 -1
  1028. package/dist/src/client/actors/saveAppState.d.ts.map +0 -1
  1029. package/dist/src/client/actors/saveConfig.d.ts.map +0 -1
  1030. package/dist/src/client/clientManagerMachine.d.ts.map +0 -1
  1031. package/dist/src/client/constants.d.ts +0 -79
  1032. package/dist/src/client/constants.d.ts.map +0 -1
  1033. package/dist/src/client/index.d.ts.map +0 -1
  1034. package/dist/src/db/Db/BaseDb.d.ts +0 -43
  1035. package/dist/src/db/Db/BaseDb.d.ts.map +0 -1
  1036. package/dist/src/db/configs/dev.schema.config.d.ts.map +0 -1
  1037. package/dist/src/db/read/getExistingItem.d.ts +0 -12
  1038. package/dist/src/db/read/getExistingItem.d.ts.map +0 -1
  1039. package/dist/src/db/read/getItem.d.ts.map +0 -1
  1040. package/dist/src/db/read/getItemData.d.ts.map +0 -1
  1041. package/dist/src/db/read/getItemProperties.d.ts.map +0 -1
  1042. package/dist/src/db/read/getItemProperty.d.ts.map +0 -1
  1043. package/dist/src/db/read/getItems.d.ts.map +0 -1
  1044. package/dist/src/db/read/getMetadata.d.ts.map +0 -1
  1045. package/dist/src/db/read/getModelSchemas.d.ts.map +0 -1
  1046. package/dist/src/db/read/getModels.d.ts.map +0 -1
  1047. package/dist/src/db/read/getPropertyData.d.ts.map +0 -1
  1048. package/dist/src/db/read/getPublishPayload.d.ts.map +0 -1
  1049. package/dist/src/db/read/getPublishUploads.d.ts +0 -16
  1050. package/dist/src/db/read/getPublishUploads.d.ts.map +0 -1
  1051. package/dist/src/db/read/getRelationValueData.d.ts.map +0 -1
  1052. package/dist/src/db/read/getSchemaUidForModel.d.ts.map +0 -1
  1053. package/dist/src/db/read/getSeedData.d.ts.map +0 -1
  1054. package/dist/src/db/read/getStorageTransactionIdForSeedUid.d.ts.map +0 -1
  1055. package/dist/src/db/read/getVersionData.d.ts.map +0 -1
  1056. package/dist/src/db/read/getVersionsForVersionUids.d.ts.map +0 -1
  1057. package/dist/src/db/read/subqueries/metadataLatest.d.ts.map +0 -1
  1058. package/dist/src/db/read/subqueries/versionData.d.ts.map +0 -1
  1059. package/dist/src/db/write/createMetadata.d.ts.map +0 -1
  1060. package/dist/src/db/write/createNewItem.d.ts.map +0 -1
  1061. package/dist/src/db/write/createSeed.d.ts.map +0 -1
  1062. package/dist/src/db/write/createSeeds.d.ts.map +0 -1
  1063. package/dist/src/db/write/createVersion.d.ts.map +0 -1
  1064. package/dist/src/db/write/deleteItem.d.ts.map +0 -1
  1065. package/dist/src/db/write/recoverDeletedItem.d.ts.map +0 -1
  1066. package/dist/src/db/write/saveAppState.d.ts.map +0 -1
  1067. package/dist/src/db/write/saveMetadata.d.ts.map +0 -1
  1068. package/dist/src/db/write/updateItemPropertyValue.d.ts +0 -9
  1069. package/dist/src/db/write/updateItemPropertyValue.d.ts.map +0 -1
  1070. package/dist/src/db/write/updateMetadata.d.ts.map +0 -1
  1071. package/dist/src/eas.d.ts.map +0 -1
  1072. package/dist/src/eslint-rules/align-imports.d.ts.map +0 -1
  1073. package/dist/src/eventBus.d.ts.map +0 -1
  1074. package/dist/src/events/files/download.d.ts +0 -6
  1075. package/dist/src/events/files/download.d.ts.map +0 -1
  1076. package/dist/src/events/files/index.d.ts.map +0 -1
  1077. package/dist/src/events/index.d.ts.map +0 -1
  1078. package/dist/src/events/item/create.d.ts +0 -2
  1079. package/dist/src/events/item/create.d.ts.map +0 -1
  1080. package/dist/src/events/item/index.d.ts +0 -3
  1081. package/dist/src/events/item/index.d.ts.map +0 -1
  1082. package/dist/src/events/item/publish.d.ts +0 -7
  1083. package/dist/src/events/item/publish.d.ts.map +0 -1
  1084. package/dist/src/events/item/request.d.ts +0 -2
  1085. package/dist/src/events/item/request.d.ts.map +0 -1
  1086. package/dist/src/events/item/requestAll.d.ts +0 -9
  1087. package/dist/src/events/item/requestAll.d.ts.map +0 -1
  1088. package/dist/src/events/item/syncDbWithEas.d.ts.map +0 -1
  1089. package/dist/src/events/services/allItems.d.ts.map +0 -1
  1090. package/dist/src/events/services/index.d.ts.map +0 -1
  1091. package/dist/src/feed.d.ts.map +0 -1
  1092. package/dist/src/graphql/fragments/Attestation.d.ts.map +0 -1
  1093. package/dist/src/graphql/fragments/Schema.d.ts.map +0 -1
  1094. package/dist/src/graphql/fragments/index.d.ts.map +0 -1
  1095. package/dist/src/graphql/gql/fragment-masking.d.ts.map +0 -1
  1096. package/dist/src/graphql/gql/gql.d.ts.map +0 -1
  1097. package/dist/src/graphql/gql/graphql.d.ts.map +0 -1
  1098. package/dist/src/graphql/gql/index.d.ts.map +0 -1
  1099. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.d.ts +0 -7
  1100. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.d.ts.map +0 -1
  1101. package/dist/src/helpers/ArweaveClient/index.d.ts +0 -9
  1102. package/dist/src/helpers/ArweaveClient/index.d.ts.map +0 -1
  1103. package/dist/src/helpers/ArweaveClient/queries.d.ts +0 -6
  1104. package/dist/src/helpers/ArweaveClient/queries.d.ts.map +0 -1
  1105. package/dist/src/helpers/EasClient/BaseEasClient.d.ts +0 -10
  1106. package/dist/src/helpers/EasClient/BaseEasClient.d.ts.map +0 -1
  1107. package/dist/src/helpers/FileManager/BaseFileManager.d.ts.map +0 -1
  1108. package/dist/src/helpers/PathResolver/BasePathResolver.d.ts.map +0 -1
  1109. package/dist/src/helpers/QueryClient/BaseQueryClient.d.ts.map +0 -1
  1110. package/dist/src/helpers/constants.d.ts +0 -58
  1111. package/dist/src/helpers/constants.d.ts.map +0 -1
  1112. package/dist/src/helpers/crypto.d.ts.map +0 -1
  1113. package/dist/src/helpers/db.d.ts +0 -119
  1114. package/dist/src/helpers/db.d.ts.map +0 -1
  1115. package/dist/src/helpers/environment.d.ts.map +0 -1
  1116. package/dist/src/helpers/file/download/actors.d.ts +0 -3
  1117. package/dist/src/helpers/file/download/actors.d.ts.map +0 -1
  1118. package/dist/src/helpers/file/download/index.d.ts +0 -2
  1119. package/dist/src/helpers/file/download/index.d.ts.map +0 -1
  1120. package/dist/src/helpers/file/fetchAll/actors.d.ts +0 -3
  1121. package/dist/src/helpers/file/fetchAll/actors.d.ts.map +0 -1
  1122. package/dist/src/helpers/file/fetchAll/index.d.ts +0 -2
  1123. package/dist/src/helpers/file/fetchAll/index.d.ts.map +0 -1
  1124. package/dist/src/helpers/file/queries.d.ts.map +0 -1
  1125. package/dist/src/helpers/files.d.ts.map +0 -1
  1126. package/dist/src/helpers/getSchemaForItemProperty.d.ts.map +0 -1
  1127. package/dist/src/helpers/getSegmentedItemProperties.d.ts +0 -10
  1128. package/dist/src/helpers/getSegmentedItemProperties.d.ts.map +0 -1
  1129. package/dist/src/helpers/image/queries.d.ts.map +0 -1
  1130. package/dist/src/helpers/index.d.ts +0 -27
  1131. package/dist/src/helpers/index.d.ts.map +0 -1
  1132. package/dist/src/helpers/model.d.ts.map +0 -1
  1133. package/dist/src/helpers/property/index.d.ts +0 -298
  1134. package/dist/src/helpers/property/index.d.ts.map +0 -1
  1135. package/dist/src/helpers/property.d.ts.map +0 -1
  1136. package/dist/src/helpers/reactiveProxy.d.ts.map +0 -1
  1137. package/dist/src/helpers/schema.d.ts.map +0 -1
  1138. package/dist/src/helpers/updateMachineContext.d.ts.map +0 -1
  1139. package/dist/src/helpers/updateSchema.d.ts +0 -109
  1140. package/dist/src/helpers/updateSchema.d.ts.map +0 -1
  1141. package/dist/src/imports/index.d.ts +0 -3
  1142. package/dist/src/imports/index.d.ts.map +0 -1
  1143. package/dist/src/imports/json.d.ts.map +0 -1
  1144. package/dist/src/imports/markdown.d.ts.map +0 -1
  1145. package/dist/src/index.d.ts +0 -25
  1146. package/dist/src/index.d.ts.map +0 -1
  1147. package/dist/src/interfaces/IDb.d.ts.map +0 -1
  1148. package/dist/src/interfaces/IEasClient.d.ts.map +0 -1
  1149. package/dist/src/interfaces/IItem.d.ts +0 -27
  1150. package/dist/src/interfaces/IItem.d.ts.map +0 -1
  1151. package/dist/src/interfaces/IItemProperty.d.ts +0 -32
  1152. package/dist/src/interfaces/IItemProperty.d.ts.map +0 -1
  1153. package/dist/src/interfaces/IQueryClient.d.ts.map +0 -1
  1154. package/dist/src/interfaces/index.d.ts.map +0 -1
  1155. package/dist/src/node/codegen/drizzle.d.ts.map +0 -1
  1156. package/dist/src/node/codegen/index.d.ts.map +0 -1
  1157. package/dist/src/node/codegen/ts-to-proto.d.ts.map +0 -1
  1158. package/dist/src/node/constants.d.ts.map +0 -1
  1159. package/dist/src/node/db/Db.d.ts.map +0 -1
  1160. package/dist/src/node/db/index.d.ts.map +0 -1
  1161. package/dist/src/node/db/node.app.db.config.d.ts.map +0 -1
  1162. package/dist/src/node/helpers/ArweaveClient.d.ts +0 -7
  1163. package/dist/src/node/helpers/ArweaveClient.d.ts.map +0 -1
  1164. package/dist/src/node/helpers/EasClient.d.ts.map +0 -1
  1165. package/dist/src/node/helpers/FileManager.d.ts.map +0 -1
  1166. package/dist/src/node/helpers/PathResolver.d.ts.map +0 -1
  1167. package/dist/src/node/helpers/QueryClient.d.ts.map +0 -1
  1168. package/dist/src/node/helpers/index.d.ts.map +0 -1
  1169. package/dist/src/node/helpers/scripts.d.ts.map +0 -1
  1170. package/dist/src/node/index.d.ts +0 -25
  1171. package/dist/src/node/index.d.ts.map +0 -1
  1172. package/dist/src/node/seed.d.ts.map +0 -1
  1173. package/dist/src/node/webpack/fs-proxy.d.ts.map +0 -1
  1174. package/dist/src/node/webpack/index.d.ts.map +0 -1
  1175. package/dist/src/seedSchema/AppStateSchema.d.ts.map +0 -1
  1176. package/dist/src/seedSchema/ConfigSchema.d.ts.map +0 -1
  1177. package/dist/src/seedSchema/MetadataSchema.d.ts.map +0 -1
  1178. package/dist/src/seedSchema/ModelSchema.d.ts.map +0 -1
  1179. package/dist/src/seedSchema/ModelSchemaSchema.d.ts.map +0 -1
  1180. package/dist/src/seedSchema/ModelUidSchema.d.ts.map +0 -1
  1181. package/dist/src/seedSchema/PropertyUidSchema.d.ts.map +0 -1
  1182. package/dist/src/seedSchema/SchemaSchema.d.ts.map +0 -1
  1183. package/dist/src/seedSchema/SeedSchema.d.ts.map +0 -1
  1184. package/dist/src/seedSchema/VersionSchema.d.ts.map +0 -1
  1185. package/dist/src/seedSchema/index.d.ts +0 -11
  1186. package/dist/src/seedSchema/index.d.ts.map +0 -1
  1187. package/dist/src/services/events.d.ts.map +0 -1
  1188. package/dist/src/services/publish/actors/createPublishAttempt.d.ts.map +0 -1
  1189. package/dist/src/services/publish/actors/preparePublishRequestData.d.ts.map +0 -1
  1190. package/dist/src/services/publish/actors/upload.d.ts.map +0 -1
  1191. package/dist/src/services/publish/actors/validateItemData.d.ts.map +0 -1
  1192. package/dist/src/services/publish/publishMachine.d.ts.map +0 -1
  1193. package/dist/src/services/write/actors/validateEntity.d.ts +0 -12
  1194. package/dist/src/services/write/actors/validateEntity.d.ts.map +0 -1
  1195. package/dist/src/services/write/actors/writeToDatabase.d.ts.map +0 -1
  1196. package/dist/src/services/write/writeProcessMachine.d.ts +0 -84
  1197. package/dist/src/services/write/writeProcessMachine.d.ts.map +0 -1
  1198. package/dist/src/stores/eas.d.ts.map +0 -1
  1199. package/dist/src/types/browser.d.ts.map +0 -1
  1200. package/dist/src/types/db.d.ts.map +0 -1
  1201. package/dist/src/types/fileManager.d.ts.map +0 -1
  1202. package/dist/src/types/helpers.d.ts.map +0 -1
  1203. package/dist/src/types/import.d.ts.map +0 -1
  1204. package/dist/src/types/index.d.ts +0 -43
  1205. package/dist/src/types/index.d.ts.map +0 -1
  1206. package/dist/src/types/item.d.ts +0 -68
  1207. package/dist/src/types/item.d.ts.map +0 -1
  1208. package/dist/src/types/machines.d.ts.map +0 -1
  1209. package/dist/src/types/model.d.ts.map +0 -1
  1210. package/dist/src/types/property.d.ts +0 -49
  1211. package/dist/src/types/property.d.ts.map +0 -1
  1212. package/dist/src/types/seedProtocol.d.ts.map +0 -1
  1213. package/dist/src/types/services.d.ts.map +0 -1
  1214. package/dist/src/vite/index.d.ts +0 -47
  1215. package/dist/src/vite/index.d.ts.map +0 -1
  1216. package/dist/stores/eas.js +0 -23
  1217. package/dist/stores/eas.js.map +0 -1
  1218. package/dist/vite/index.js +0 -568
  1219. package/dist/vite/index.js.map +0 -1
  1220. /package/dist/{src/Item → Item}/queries.d.ts +0 -0
  1221. /package/dist/{src/Item → Item}/service/actors/hydrateExistingItem.d.ts +0 -0
  1222. /package/dist/{src/Item → Item}/service/actors/hydrateNewItem.d.ts +0 -0
  1223. /package/dist/{src/Item → Item}/service/actors/initialize.d.ts +0 -0
  1224. /package/dist/{src/Item → Item}/service/actors/loadOrCreateItem.d.ts +0 -0
  1225. /package/dist/{src/Item → Item}/service/actors/reload.d.ts +0 -0
  1226. /package/dist/{src/Item → Item}/service/actors/waitForDb.d.ts +0 -0
  1227. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/hydrateFromDb.d.ts +0 -0
  1228. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/initialize.d.ts +0 -0
  1229. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/loadOrCreateProperty.d.ts +0 -0
  1230. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/resolveRelatedValue.d.ts +0 -0
  1231. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/resolveRemoteStorage.d.ts +0 -0
  1232. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/analyzeInput.d.ts +0 -0
  1233. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/index.d.ts +0 -0
  1234. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/saveImage.d.ts +0 -0
  1235. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/saveItemStorage.d.ts +0 -0
  1236. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/saveRelation.d.ts +0 -0
  1237. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/waitForDb.d.ts +0 -0
  1238. /package/dist/{src/Model → Model}/service/actors/createModelProperties.d.ts +0 -0
  1239. /package/dist/{src/Model → Model}/service/actors/loadOrCreateModel.d.ts +0 -0
  1240. /package/dist/{src/Model → Model}/service/actors/validateModel.d.ts +0 -0
  1241. /package/dist/{src/ModelProperty → ModelProperty}/service/actors/compareAndMarkDraft.d.ts +0 -0
  1242. /package/dist/{src/ModelProperty → ModelProperty}/service/actors/saveToSchema.d.ts +0 -0
  1243. /package/dist/{src/ModelProperty → ModelProperty}/service/actors/validateProperty.d.ts +0 -0
  1244. /package/dist/{src/Schema → Schema}/errors.d.ts +0 -0
  1245. /package/dist/{src/Schema → Schema}/index.d.ts +0 -0
  1246. /package/dist/{src/Schema → Schema}/service/actors/checkExistingSchema.d.ts +0 -0
  1247. /package/dist/{src/Schema → Schema}/service/actors/createModelInstances.d.ts +0 -0
  1248. /package/dist/{src/Schema → Schema}/service/actors/createPropertyInstances.d.ts +0 -0
  1249. /package/dist/{src/Schema → Schema}/service/actors/loadOrCreateSchema.d.ts +0 -0
  1250. /package/dist/{src/Schema → Schema}/service/actors/validateSchema.d.ts +0 -0
  1251. /package/dist/{src/Schema → Schema}/service/actors/verifyModelInstancesInCache.d.ts +0 -0
  1252. /package/dist/{src/Schema → Schema}/service/actors/verifyModelsInDb.d.ts +0 -0
  1253. /package/dist/{src/Schema → Schema}/service/actors/verifyPropertiesInDb.d.ts +0 -0
  1254. /package/dist/{src/Schema → Schema}/service/actors/verifyPropertyInstancesInCache.d.ts +0 -0
  1255. /package/dist/{src/Schema → Schema}/service/actors/verifySchemaInDb.d.ts +0 -0
  1256. /package/dist/{src/Schema → Schema}/service/actors/writeModelsToDb.d.ts +0 -0
  1257. /package/dist/{src/Schema → Schema}/service/actors/writePropertiesToDb.d.ts +0 -0
  1258. /package/dist/{src/Schema → Schema}/service/actors/writeSchemaToDb.d.ts +0 -0
  1259. /package/dist/{src/Schema → Schema}/service/validation/SchemaValidationService.d.ts +0 -0
  1260. /package/dist/{src/Schema → Schema}/validation.d.ts +0 -0
  1261. /package/dist/{src/browser → browser}/db/Db.d.ts +0 -0
  1262. /package/dist/{src/browser → browser}/db/drizzleFiles.d.ts +0 -0
  1263. /package/dist/{src/browser → browser}/db/sqlWasmClient.d.ts +0 -0
  1264. /package/dist/{src/browser → browser}/helpers/EasClient.d.ts +0 -0
  1265. /package/dist/{src/browser → browser}/helpers/FileManager.d.ts +0 -0
  1266. /package/dist/{src/browser → browser}/helpers/PathResolver.d.ts +0 -0
  1267. /package/dist/{src/browser → browser}/helpers/QueryClient.d.ts +0 -0
  1268. /package/dist/{src/browser → browser}/react/OPFSImage.d.ts +0 -0
  1269. /package/dist/{src/browser → browser}/react/SeedImage.d.ts +0 -0
  1270. /package/dist/{src/browser → browser}/react/client.d.ts +0 -0
  1271. /package/dist/{src/browser → browser}/react/db.d.ts +0 -0
  1272. /package/dist/{src/browser → browser}/react/liveQuery.d.ts +0 -0
  1273. /package/dist/{src/browser → browser}/react/services.d.ts +0 -0
  1274. /package/dist/{src/browser → browser}/workers/FileDownloader.d.ts +0 -0
  1275. /package/dist/{src/browser → browser}/workers/ImageResizer.d.ts +0 -0
  1276. /package/dist/{src/browser → browser}/workers/content-hash.d.ts +0 -0
  1277. /package/dist/{src/browser → browser}/workers/dbWorker.d.ts +0 -0
  1278. /package/dist/{src/browser → browser}/workers/filesDownload.d.ts +0 -0
  1279. /package/dist/{src/browser → browser}/workers/imageResize.d.ts +0 -0
  1280. /package/dist/{src/client → client}/BaseClientManager.d.ts +0 -0
  1281. /package/dist/{src/client → client}/ClientManager.d.ts +0 -0
  1282. /package/dist/{src/client → client}/actions/setAddresses.d.ts +0 -0
  1283. /package/dist/{src/client → client}/actors/addModelsToDb.d.ts +0 -0
  1284. /package/dist/{src/client → client}/actors/addModelsToStore.d.ts +0 -0
  1285. /package/dist/{src/client → client}/actors/dbInit.d.ts +0 -0
  1286. /package/dist/{src/client → client}/actors/fileSystemInit.d.ts +0 -0
  1287. /package/dist/{src/client → client}/actors/platformClassesInit.d.ts +0 -0
  1288. /package/dist/{src/client → client}/actors/processSchemaFiles.d.ts +0 -0
  1289. /package/dist/{src/client → client}/actors/saveAppState.d.ts +0 -0
  1290. /package/dist/{src/client → client}/actors/saveConfig.d.ts +0 -0
  1291. /package/dist/{src/client → client}/clientManagerMachine.d.ts +0 -0
  1292. /package/dist/{src/client → client}/index.d.ts +0 -0
  1293. /package/dist/{src/db → db}/configs/dev.schema.config.d.ts +0 -0
  1294. /package/dist/{src/db → db}/read/getItem.d.ts +0 -0
  1295. /package/dist/{src/db → db}/read/getItemData.d.ts +0 -0
  1296. /package/dist/{src/db → db}/read/getItemProperties.d.ts +0 -0
  1297. /package/dist/{src/db → db}/read/getItemProperty.d.ts +0 -0
  1298. /package/dist/{src/db → db}/read/getItems.d.ts +0 -0
  1299. /package/dist/{src/db → db}/read/getMetadata.d.ts +0 -0
  1300. /package/dist/{src/db → db}/read/getModelSchemas.d.ts +0 -0
  1301. /package/dist/{src/db → db}/read/getModels.d.ts +0 -0
  1302. /package/dist/{src/db → db}/read/getPropertyData.d.ts +0 -0
  1303. /package/dist/{src/db → db}/read/getPublishPayload.d.ts +0 -0
  1304. /package/dist/{src/db → db}/read/getRelationValueData.d.ts +0 -0
  1305. /package/dist/{src/db → db}/read/getSchemaUidForModel.d.ts +0 -0
  1306. /package/dist/{src/db → db}/read/getSeedData.d.ts +0 -0
  1307. /package/dist/{src/db → db}/read/getStorageTransactionIdForSeedUid.d.ts +0 -0
  1308. /package/dist/{src/db → db}/read/getVersionData.d.ts +0 -0
  1309. /package/dist/{src/db → db}/read/getVersionsForVersionUids.d.ts +0 -0
  1310. /package/dist/{src/db → db}/read/subqueries/metadataLatest.d.ts +0 -0
  1311. /package/dist/{src/db → db}/read/subqueries/versionData.d.ts +0 -0
  1312. /package/dist/{src/db → db}/write/createMetadata.d.ts +0 -0
  1313. /package/dist/{src/db → db}/write/createNewItem.d.ts +0 -0
  1314. /package/dist/{src/db → db}/write/createSeed.d.ts +0 -0
  1315. /package/dist/{src/db → db}/write/createSeeds.d.ts +0 -0
  1316. /package/dist/{src/db → db}/write/createVersion.d.ts +0 -0
  1317. /package/dist/{src/db → db}/write/deleteItem.d.ts +0 -0
  1318. /package/dist/{src/db → db}/write/recoverDeletedItem.d.ts +0 -0
  1319. /package/dist/{src/db → db}/write/saveAppState.d.ts +0 -0
  1320. /package/dist/{src/db → db}/write/saveMetadata.d.ts +0 -0
  1321. /package/dist/{src/db → db}/write/updateMetadata.d.ts +0 -0
  1322. /package/dist/{src/eas.d.ts → eas.d.ts} +0 -0
  1323. /package/dist/{src/eslint-rules → eslint-rules}/align-imports.d.ts +0 -0
  1324. /package/dist/{src/eventBus.d.ts → eventBus.d.ts} +0 -0
  1325. /package/dist/{src/events → events}/files/index.d.ts +0 -0
  1326. /package/dist/{src/events → events}/index.d.ts +0 -0
  1327. /package/dist/{src/events → events}/item/syncDbWithEas.d.ts +0 -0
  1328. /package/dist/{src/events → events}/services/allItems.d.ts +0 -0
  1329. /package/dist/{src/events → events}/services/index.d.ts +0 -0
  1330. /package/dist/{src/feed.d.ts → feed.d.ts} +0 -0
  1331. /package/dist/{src/graphql → graphql}/fragments/Attestation.d.ts +0 -0
  1332. /package/dist/{src/graphql → graphql}/fragments/Schema.d.ts +0 -0
  1333. /package/dist/{src/graphql → graphql}/fragments/index.d.ts +0 -0
  1334. /package/dist/{src/graphql → graphql}/gql/fragment-masking.d.ts +0 -0
  1335. /package/dist/{src/graphql → graphql}/gql/gql.d.ts +0 -0
  1336. /package/dist/{src/graphql → graphql}/gql/graphql.d.ts +0 -0
  1337. /package/dist/{src/graphql → graphql}/gql/index.d.ts +0 -0
  1338. /package/dist/{src/helpers → helpers}/FileManager/BaseFileManager.d.ts +0 -0
  1339. /package/dist/{src/helpers → helpers}/PathResolver/BasePathResolver.d.ts +0 -0
  1340. /package/dist/{src/helpers → helpers}/QueryClient/BaseQueryClient.d.ts +0 -0
  1341. /package/dist/{src/helpers → helpers}/crypto.d.ts +0 -0
  1342. /package/dist/{src/helpers → helpers}/environment.d.ts +0 -0
  1343. /package/dist/{src/helpers → helpers}/file/queries.d.ts +0 -0
  1344. /package/dist/{src/helpers → helpers}/files.d.ts +0 -0
  1345. /package/dist/{src/helpers → helpers}/getSchemaForItemProperty.d.ts +0 -0
  1346. /package/dist/{src/helpers → helpers}/image/queries.d.ts +0 -0
  1347. /package/dist/{src/helpers → helpers}/model.d.ts +0 -0
  1348. /package/dist/{src/helpers → helpers}/property.d.ts +0 -0
  1349. /package/dist/{src/helpers → helpers}/reactiveProxy.d.ts +0 -0
  1350. /package/dist/{src/helpers → helpers}/schema.d.ts +0 -0
  1351. /package/dist/{src/helpers → helpers}/updateMachineContext.d.ts +0 -0
  1352. /package/dist/{src/imports → imports}/json.d.ts +0 -0
  1353. /package/dist/{src/imports → imports}/markdown.d.ts +0 -0
  1354. /package/dist/{src/interfaces → interfaces}/IDb.d.ts +0 -0
  1355. /package/dist/{src/interfaces → interfaces}/IEasClient.d.ts +0 -0
  1356. /package/dist/{src/interfaces → interfaces}/IQueryClient.d.ts +0 -0
  1357. /package/dist/{src/interfaces → interfaces}/index.d.ts +0 -0
  1358. /package/dist/{src/node → node}/codegen/drizzle.d.ts +0 -0
  1359. /package/dist/{src/node → node}/codegen/index.d.ts +0 -0
  1360. /package/dist/{src/node → node}/codegen/ts-to-proto.d.ts +0 -0
  1361. /package/dist/{src/node → node}/constants.d.ts +0 -0
  1362. /package/dist/{src/node → node}/db/Db.d.ts +0 -0
  1363. /package/dist/{src/node → node}/db/index.d.ts +0 -0
  1364. /package/dist/{src/node → node}/db/node.app.db.config.d.ts +0 -0
  1365. /package/dist/{src/node → node}/helpers/EasClient.d.ts +0 -0
  1366. /package/dist/{src/node → node}/helpers/FileManager.d.ts +0 -0
  1367. /package/dist/{src/node → node}/helpers/PathResolver.d.ts +0 -0
  1368. /package/dist/{src/node → node}/helpers/QueryClient.d.ts +0 -0
  1369. /package/dist/{src/node → node}/helpers/index.d.ts +0 -0
  1370. /package/dist/{src/node → node}/helpers/scripts.d.ts +0 -0
  1371. /package/dist/{src/node → node}/seed.d.ts +0 -0
  1372. /package/dist/{src/node → node}/webpack/fs-proxy.d.ts +0 -0
  1373. /package/dist/{src/node → node}/webpack/index.d.ts +0 -0
  1374. /package/dist/{src/seedSchema → seedSchema}/AppStateSchema.d.ts +0 -0
  1375. /package/dist/{src/seedSchema → seedSchema}/ConfigSchema.d.ts +0 -0
  1376. /package/dist/{src/seedSchema → seedSchema}/MetadataSchema.d.ts +0 -0
  1377. /package/dist/{src/seedSchema → seedSchema}/ModelSchema.d.ts +0 -0
  1378. /package/dist/{src/seedSchema → seedSchema}/ModelSchemaSchema.d.ts +0 -0
  1379. /package/dist/{src/seedSchema → seedSchema}/ModelUidSchema.d.ts +0 -0
  1380. /package/dist/{src/seedSchema → seedSchema}/PropertyUidSchema.d.ts +0 -0
  1381. /package/dist/{src/seedSchema → seedSchema}/SchemaSchema.d.ts +0 -0
  1382. /package/dist/{src/seedSchema → seedSchema}/SeedSchema.d.ts +0 -0
  1383. /package/dist/{src/seedSchema → seedSchema}/VersionSchema.d.ts +0 -0
  1384. /package/dist/{src/services → services}/events.d.ts +0 -0
  1385. /package/dist/{src/services → services}/publish/actors/createPublishAttempt.d.ts +0 -0
  1386. /package/dist/{src/services → services}/publish/actors/preparePublishRequestData.d.ts +0 -0
  1387. /package/dist/{src/services → services}/publish/actors/upload.d.ts +0 -0
  1388. /package/dist/{src/services → services}/publish/actors/validateItemData.d.ts +0 -0
  1389. /package/dist/{src/services → services}/publish/publishMachine.d.ts +0 -0
  1390. /package/dist/{src/services → services}/write/actors/writeToDatabase.d.ts +0 -0
  1391. /package/dist/{src/stores → stores}/eas.d.ts +0 -0
  1392. /package/dist/{src/types → types}/browser.d.ts +0 -0
  1393. /package/dist/{src/types → types}/db.d.ts +0 -0
  1394. /package/dist/{src/types → types}/fileManager.d.ts +0 -0
  1395. /package/dist/{src/types → types}/helpers.d.ts +0 -0
  1396. /package/dist/{src/types → types}/import.d.ts +0 -0
  1397. /package/dist/{src/types → types}/machines.d.ts +0 -0
  1398. /package/dist/{src/types → types}/model.d.ts +0 -0
  1399. /package/dist/{src/types → types}/seedProtocol.d.ts +0 -0
  1400. /package/dist/{src/types → types}/services.d.ts +0 -0
@@ -0,0 +1,2485 @@
1
+ import { fromCallback, setup, assign, createActor } from 'xstate';
2
+ import { a as ModelPropertyDataTypes, ad as getLatestSchemaVersion, s as BaseFileManager, p as BaseDb, q as models, ae as createModelsFromJson, aa as loadSchemaFromFile, af as writeProcessMachine, r as properties, W as schemas, G as modelSchemas, ag as generateId, ah as waitForEntityIdle, ai as createReactiveProxy, aj as findEntity, ak as forceRemoveFromCaches, al as runDestroyLifecycle } from './ClientManager-DoHUt8tU.js';
3
+ import 'pluralize';
4
+ import { eq, and } from 'drizzle-orm';
5
+ import debug from 'debug';
6
+
7
+ const logger$4 = debug('seedSdk:helpers:updateSchema');
8
+ /**
9
+ * Get the file path for a schema file
10
+ */
11
+ /**
12
+ * Sanitize a schema name to be filesystem-safe
13
+ * Replaces all special characters (except alphanumeric, hyphens, underscores) with underscores
14
+ * Converts spaces to underscores
15
+ * Removes leading/trailing underscores
16
+ *
17
+ * @param name - Schema name to sanitize
18
+ * @returns Sanitized name safe for use in filenames
19
+ */
20
+ const sanitizeSchemaName = (name) => {
21
+ return name
22
+ .replace(/[^a-zA-Z0-9\s_-]/g, '_') // Replace special chars (except spaces, hyphens, underscores) with underscore
23
+ .replace(/\s+/g, '_') // Convert spaces to underscores
24
+ .replace(/^_+|_+$/g, '') // Remove leading/trailing underscores
25
+ .replace(/_+/g, '_'); // Collapse multiple underscores to single
26
+ };
27
+ /**
28
+ * Get the full file path for a schema
29
+ * Format: {schemaFileId}_{schemaName}_v{version}.json
30
+ *
31
+ * The ID-first format ensures all files for a schema group together when sorted alphabetically.
32
+ *
33
+ * @param name - Schema name
34
+ * @param version - Schema version
35
+ * @param schemaFileId - Schema file ID (required)
36
+ */
37
+ const getSchemaFilePath = (name, version, schemaFileId) => {
38
+ const path = BaseFileManager.getPathModule();
39
+ const workingDir = BaseFileManager.getWorkingDir();
40
+ const sanitizedName = sanitizeSchemaName(name);
41
+ const filename = schemaFileId
42
+ ? `${schemaFileId}_${sanitizedName}_v${version}.json`
43
+ : `${sanitizedName}_v${version}.json`;
44
+ return path.join(workingDir, filename);
45
+ };
46
+ /**
47
+ * Get schemaFileId from database for a schema
48
+ * @param schemaName - Schema name
49
+ * @returns Schema file ID
50
+ * @throws Error if schema not found or missing schemaFileId
51
+ */
52
+ async function getSchemaFileId(schemaName) {
53
+ const { BaseDb } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aP; });
54
+ const db = BaseDb.getAppDb();
55
+ const { schemas } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aU; });
56
+ const { eq, desc } = await import('drizzle-orm');
57
+ const dbSchema = await db
58
+ .select()
59
+ .from(schemas)
60
+ .where(eq(schemas.name, schemaName))
61
+ .orderBy(desc(schemas.version))
62
+ .limit(1);
63
+ if (dbSchema.length === 0 || !dbSchema[0].schemaFileId) {
64
+ throw new Error(`Schema ${schemaName} not found in database or missing schemaFileId`);
65
+ }
66
+ return dbSchema[0].schemaFileId;
67
+ }
68
+ /**
69
+ * Write the full schema to a new version file (e.g. when new models were added).
70
+ * Used when _editedProperties contains 'schema:models' and there are no property-level updates.
71
+ * @param schemaName - Schema name
72
+ * @param schema - Full schema object (e.g. from _buildModelsFromInstances)
73
+ * @returns The file path of the new schema version
74
+ */
75
+ async function writeFullSchemaNewVersion(schemaName, schema) {
76
+ const latestVersion = await getLatestSchemaVersion(schemaName);
77
+ const newVersion = latestVersion + 1;
78
+ const schemaWithNewVersion = {
79
+ ...schema,
80
+ version: newVersion,
81
+ metadata: {
82
+ ...schema.metadata,
83
+ updatedAt: new Date().toISOString(),
84
+ },
85
+ migrations: [
86
+ ...(schema.migrations || []),
87
+ {
88
+ version: newVersion,
89
+ timestamp: new Date().toISOString(),
90
+ description: 'New schema version (e.g. new models added)',
91
+ changes: [{ type: 'full_schema_write' }],
92
+ },
93
+ ],
94
+ };
95
+ const newFilePath = getSchemaFilePath(schemaName, newVersion, schema.id ?? (await getSchemaFileId(schemaName)));
96
+ const newContent = JSON.stringify(schemaWithNewVersion, null, 2);
97
+ await BaseFileManager.saveFile(newFilePath, newContent);
98
+ await BaseFileManager.waitForFileWithContent(newFilePath);
99
+ logger$4(`Created new schema version ${newVersion} for ${schemaName} at ${newFilePath}`);
100
+ return newFilePath;
101
+ }
102
+ /**
103
+ * Get model name from modelId
104
+ * @param modelId - The model ID to look up
105
+ * @returns The model name, or undefined if not found
106
+ */
107
+ async function getModelNameFromId(modelId) {
108
+ if (!modelId) {
109
+ return undefined;
110
+ }
111
+ const db = BaseDb.getAppDb();
112
+ if (!db) {
113
+ throw new Error('Database not found');
114
+ }
115
+ const modelRecords = await db
116
+ .select()
117
+ .from(models)
118
+ .where(eq(models.id, modelId))
119
+ .limit(1);
120
+ if (modelRecords.length === 0) {
121
+ return undefined;
122
+ }
123
+ return modelRecords[0].name;
124
+ }
125
+ /**
126
+ * Convert a TProperty/ModelPropertyMachineContext to SchemaPropertyUpdate format
127
+ * This function converts the internal property representation to the schema file format
128
+ * @param property - The TProperty instance to convert
129
+ * @param modelName - The name of the model this property belongs to
130
+ * @param propertyName - The name of the property
131
+ * @returns A SchemaPropertyUpdate object ready to be passed to updateModelProperties
132
+ */
133
+ async function convertPropertyToSchemaUpdate(property, modelName, propertyName) {
134
+ const updates = {};
135
+ // Convert dataType to type
136
+ if (property.dataType) {
137
+ updates.type = property.dataType;
138
+ }
139
+ // Handle Relation type
140
+ if (property.dataType === ModelPropertyDataTypes.Relation) {
141
+ if (property.ref) {
142
+ updates.model = property.ref;
143
+ }
144
+ else if (property.refModelId) {
145
+ // If ref is not set but refModelId is, get the model name from the database
146
+ const refModelName = await getModelNameFromId(property.refModelId);
147
+ if (refModelName) {
148
+ updates.model = refModelName;
149
+ }
150
+ }
151
+ }
152
+ // Handle List type
153
+ if (property.dataType === ModelPropertyDataTypes.List) {
154
+ if (property.refValueType) {
155
+ updates.items = {
156
+ type: property.refValueType,
157
+ };
158
+ if (property.ref) {
159
+ updates.items.model = property.ref;
160
+ }
161
+ else if (property.refModelId) {
162
+ // If ref is not set but refModelId is, get the model name from the database
163
+ const refModelName = await getModelNameFromId(property.refModelId);
164
+ if (refModelName) {
165
+ updates.items.model = refModelName;
166
+ }
167
+ }
168
+ }
169
+ }
170
+ // Handle storage configuration (for Text properties with storage)
171
+ if (property.storageType || property.localStorageDir || property.filenameSuffix) {
172
+ const storageType = property.storageType || 'ItemStorage'; // Default to ItemStorage if not specified
173
+ updates.storage = {
174
+ type: storageType,
175
+ };
176
+ if (property.localStorageDir) {
177
+ updates.storage.path = property.localStorageDir;
178
+ }
179
+ if (property.filenameSuffix) {
180
+ updates.storage.extension = property.filenameSuffix;
181
+ }
182
+ }
183
+ return {
184
+ modelName,
185
+ propertyName,
186
+ updates,
187
+ };
188
+ }
189
+ /**
190
+ * Update model properties in a schema and create a new version
191
+ * @param schemaName - The name of the schema to update
192
+ * @param propertyUpdates - Array of property updates to apply
193
+ * @param modelUpdates - Optional array of model renames
194
+ * @returns The file path of the new schema version
195
+ * @throws Error if schema not found or updates are invalid
196
+ */
197
+ async function updateModelProperties(schemaName, propertyUpdates, modelUpdates) {
198
+ // Get the latest version of the schema
199
+ const latestVersion = await getLatestSchemaVersion(schemaName);
200
+ if (latestVersion === 0) {
201
+ throw new Error(`Schema ${schemaName} not found`);
202
+ }
203
+ // Get schemaFileId from database
204
+ const schemaFileId = await getSchemaFileId(schemaName);
205
+ // Load the latest schema file
206
+ const latestFilePath = getSchemaFilePath(schemaName, latestVersion, schemaFileId);
207
+ const content = await BaseFileManager.readFileAsString(latestFilePath);
208
+ const schemaFile = JSON.parse(content);
209
+ if (!schemaFile.$schema) {
210
+ throw new Error(`Schema file ${latestFilePath} is not a complete schema file`);
211
+ }
212
+ // Create a copy of the schema for the new version
213
+ // Preserve schema ID and all model/property IDs
214
+ const newVersion = latestVersion + 1;
215
+ const updatedSchema = {
216
+ ...schemaFile,
217
+ version: newVersion,
218
+ // Preserve schema ID from previous version
219
+ id: schemaFile.id,
220
+ metadata: {
221
+ ...schemaFile.metadata,
222
+ updatedAt: new Date().toISOString(),
223
+ },
224
+ // Deep copy models to preserve IDs
225
+ models: Object.fromEntries(Object.entries(schemaFile.models).map(([modelName, model]) => [
226
+ modelName,
227
+ {
228
+ ...model,
229
+ // Preserve model ID
230
+ id: model.id,
231
+ // Deep copy properties to preserve IDs
232
+ properties: Object.fromEntries(Object.entries(model.properties).map(([propName, prop]) => [
233
+ propName,
234
+ {
235
+ ...prop,
236
+ // Preserve property ID
237
+ id: prop.id,
238
+ },
239
+ ])),
240
+ },
241
+ ])),
242
+ migrations: [
243
+ ...schemaFile.migrations,
244
+ {
245
+ version: newVersion,
246
+ timestamp: new Date().toISOString(),
247
+ description: `Updated model properties: ${propertyUpdates.map(u => `${u.modelName}.${u.propertyName}`).join(', ')}`,
248
+ changes: propertyUpdates.map(update => ({
249
+ type: 'property_update',
250
+ modelName: update.modelName,
251
+ propertyName: update.propertyName,
252
+ updates: update.updates,
253
+ })),
254
+ },
255
+ ],
256
+ };
257
+ // Apply model renames first (if any)
258
+ if (modelUpdates && modelUpdates.length > 0) {
259
+ for (const modelUpdate of modelUpdates) {
260
+ if (updatedSchema.models[modelUpdate.oldName]) {
261
+ // Rename the model in the models object
262
+ updatedSchema.models[modelUpdate.newName] = updatedSchema.models[modelUpdate.oldName];
263
+ delete updatedSchema.models[modelUpdate.oldName];
264
+ // Update any property references to this model
265
+ for (const modelName in updatedSchema.models) {
266
+ const model = updatedSchema.models[modelName];
267
+ for (const propertyName in model.properties) {
268
+ const property = model.properties[propertyName];
269
+ if (property.model === modelUpdate.oldName) {
270
+ property.model = modelUpdate.newName;
271
+ }
272
+ if (property.items?.model === modelUpdate.oldName) {
273
+ property.items.model = modelUpdate.newName;
274
+ }
275
+ }
276
+ }
277
+ // Add to migration changes
278
+ updatedSchema.migrations[updatedSchema.migrations.length - 1].changes.push({
279
+ type: 'model_rename',
280
+ oldName: modelUpdate.oldName,
281
+ newName: modelUpdate.newName,
282
+ });
283
+ }
284
+ }
285
+ }
286
+ // Apply property updates
287
+ for (const update of propertyUpdates) {
288
+ const model = updatedSchema.models[update.modelName];
289
+ if (!model) {
290
+ throw new Error(`Model ${update.modelName} not found in schema ${schemaName}`);
291
+ }
292
+ if (!model.properties[update.propertyName]) {
293
+ throw new Error(`Property ${update.propertyName} not found in model ${update.modelName} of schema ${schemaName}`);
294
+ }
295
+ // Update the property with new values
296
+ const property = model.properties[update.propertyName];
297
+ Object.assign(property, update.updates);
298
+ }
299
+ // Write the new schema version to file using ID-based naming (preferred)
300
+ const newFilePath = getSchemaFilePath(schemaName, newVersion, updatedSchema.id ?? undefined);
301
+ const newContent = JSON.stringify(updatedSchema, null, 2);
302
+ await BaseFileManager.saveFile(newFilePath, newContent);
303
+ // Wait for the file to be available with content (important for browser/OPFS where writes may not be immediately readable)
304
+ await BaseFileManager.waitForFileWithContent(newFilePath);
305
+ logger$4(`Created new schema version ${newVersion} for ${schemaName} at ${newFilePath}`);
306
+ // Load the new schema file to process models and add them to the database
307
+ // Extract model renames from migrations to pass to database update
308
+ const modelRenames = new Map();
309
+ const latestMigration = updatedSchema.migrations[updatedSchema.migrations.length - 1];
310
+ for (const change of latestMigration.changes) {
311
+ if (change.type === 'model_rename') {
312
+ modelRenames.set(change.oldName, change.newName);
313
+ }
314
+ }
315
+ // Load schema with model renames handled
316
+ await loadSchemaWithRenames(newFilePath, modelRenames);
317
+ return newFilePath;
318
+ }
319
+ /**
320
+ * Load a schema file and handle model renames in the database
321
+ * This is a helper function that processes model renames before loading
322
+ */
323
+ async function loadSchemaWithRenames(schemaFilePath, modelRenames) {
324
+ const content = await BaseFileManager.readFileAsString(schemaFilePath);
325
+ const schemaFile = JSON.parse(content);
326
+ if (!schemaFile.$schema) {
327
+ throw new Error(`File ${schemaFilePath} is not a complete schema file (missing $schema field).`);
328
+ }
329
+ const schemaName = schemaFile.metadata?.name;
330
+ const version = schemaFile.version;
331
+ if (!schemaName) {
332
+ throw new Error('Schema name is required in metadata.name');
333
+ }
334
+ // Convert to JsonImportSchema format for processing
335
+ // Remove id fields for JsonImportSchema format (they're not part of the import format)
336
+ const importData = {
337
+ name: schemaName,
338
+ models: Object.fromEntries(Object.entries(schemaFile.models).map(([modelName, model]) => [
339
+ modelName,
340
+ {
341
+ description: model.description,
342
+ properties: Object.fromEntries(Object.entries(model.properties).map(([propName, prop]) => [
343
+ propName,
344
+ {
345
+ type: prop.type || 'string', // Ensure type is present
346
+ ...prop,
347
+ // Remove id field for import format (not part of JsonImportSchema)
348
+ },
349
+ ])),
350
+ indexes: model.indexes,
351
+ },
352
+ ])),
353
+ };
354
+ // Generate schema ID if missing
355
+ if (!schemaFile.id) {
356
+ const { generateId } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aS; });
357
+ schemaFile.id = generateId();
358
+ logger$4('Generated schema ID for schema:', schemaFile.id);
359
+ }
360
+ // Extract schemaFileIds from JSON file and generate missing ones BEFORE creating models
361
+ // This ensures Model instances are created with correct IDs
362
+ const modelFileIds = new Map();
363
+ const propertyFileIds = new Map();
364
+ const { generateId } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aS; });
365
+ for (const [modelName, model] of Object.entries(schemaFile.models)) {
366
+ // Generate model ID if missing
367
+ if (!model.id) {
368
+ model.id = generateId();
369
+ logger$4(`Generated model ID for ${modelName}:`, model.id);
370
+ }
371
+ modelFileIds.set(modelName, model.id);
372
+ const propIds = new Map();
373
+ for (const [propName, prop] of Object.entries(model.properties)) {
374
+ // Generate property ID if missing
375
+ if (!prop.id) {
376
+ prop.id = generateId();
377
+ logger$4(`Generated property ID for ${modelName}.${propName}:`, prop.id);
378
+ }
379
+ propIds.set(propName, prop.id);
380
+ }
381
+ if (propIds.size > 0) {
382
+ propertyFileIds.set(modelName, propIds);
383
+ }
384
+ }
385
+ // Convert JSON models to Model classes, passing modelFileIds and propertyFileIds so Model instances use correct IDs
386
+ const modelDefinitions = await createModelsFromJson(importData, modelFileIds, propertyFileIds);
387
+ // Convert schema file metadata to schema input for database
388
+ const schemaInput = {
389
+ name: schemaName,
390
+ version,
391
+ schemaFileId: schemaFile.id || null,
392
+ schemaData: null,
393
+ isDraft: false,
394
+ isEdited: false,
395
+ createdAt: new Date(schemaFile.metadata.createdAt).getTime(),
396
+ updatedAt: new Date(schemaFile.metadata.updatedAt).getTime(),
397
+ };
398
+ // Use dynamic import to break circular dependency
399
+ const { addSchemaToDb, addModelsToDb } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aW; });
400
+ // Add schema to database with schemaFileId
401
+ const schemaRecord = await addSchemaToDb(schemaInput, schemaFile.id);
402
+ // Add models to database with model renames handled and schemaFileIds
403
+ await addModelsToDb(modelDefinitions, schemaRecord, modelRenames, {
404
+ schemaFileId: schemaFile.id,
405
+ modelFileIds,
406
+ propertyFileIds,
407
+ });
408
+ // Models are now Model instances, no registration needed
409
+ // They should be created via Model.create() and are accessible via Model static methods
410
+ for (const [modelName] of Object.entries(modelDefinitions)) {
411
+ logger$4('loadSchemaWithRenames - model available:', modelName);
412
+ }
413
+ return schemaFilePath;
414
+ }
415
+ /**
416
+ * Rename a property in a model
417
+ * This is a convenience function that updates the property name
418
+ * Note: This creates a new property and you may want to handle the old property separately
419
+ * @param schemaName - The name of the schema
420
+ * @param modelName - The name of the model
421
+ * @param oldPropertyName - The current property name
422
+ * @param newPropertyName - The new property name
423
+ * @returns The file path of the new schema version
424
+ */
425
+ async function renameModelProperty(schemaName, modelName, oldPropertyName, newPropertyName) {
426
+ // Get the latest version
427
+ const latestVersion = await getLatestSchemaVersion(schemaName);
428
+ if (latestVersion === 0) {
429
+ throw new Error(`Schema ${schemaName} not found`);
430
+ }
431
+ // Get schemaFileId from database
432
+ const schemaFileId = await getSchemaFileId(schemaName);
433
+ // Load the latest schema file
434
+ const latestFilePath = getSchemaFilePath(schemaName, latestVersion, schemaFileId);
435
+ const content = await BaseFileManager.readFileAsString(latestFilePath);
436
+ const schemaFile = JSON.parse(content);
437
+ if (!schemaFile.$schema) {
438
+ throw new Error(`Schema file ${latestFilePath} is not a complete schema file`);
439
+ }
440
+ const model = schemaFile.models[modelName];
441
+ if (!model) {
442
+ throw new Error(`Model ${modelName} not found in schema ${schemaName}`);
443
+ }
444
+ if (!model.properties[oldPropertyName]) {
445
+ throw new Error(`Property ${oldPropertyName} not found in model ${modelName} of schema ${schemaName}`);
446
+ }
447
+ if (model.properties[newPropertyName]) {
448
+ throw new Error(`Property ${newPropertyName} already exists in model ${modelName} of schema ${schemaName}`);
449
+ }
450
+ // Create new version with renamed property
451
+ // Preserve all IDs - when renaming, we keep the same property ID
452
+ const newVersion = latestVersion + 1;
453
+ const oldProperty = model.properties[oldPropertyName];
454
+ const updatedSchema = {
455
+ ...schemaFile,
456
+ version: newVersion,
457
+ id: schemaFile.id, // Preserve schema ID
458
+ metadata: {
459
+ ...schemaFile.metadata,
460
+ updatedAt: new Date().toISOString(),
461
+ },
462
+ models: {
463
+ ...schemaFile.models,
464
+ [modelName]: {
465
+ ...model,
466
+ id: model.id, // Preserve model ID
467
+ properties: {
468
+ ...Object.fromEntries(Object.entries(model.properties)
469
+ .filter(([name]) => name !== oldPropertyName)
470
+ .map(([name, prop]) => [name, { ...prop, id: prop.id }])),
471
+ [newPropertyName]: {
472
+ ...oldProperty,
473
+ id: oldProperty.id, // Preserve property ID when renaming
474
+ },
475
+ },
476
+ },
477
+ },
478
+ migrations: [
479
+ ...schemaFile.migrations,
480
+ {
481
+ version: newVersion,
482
+ timestamp: new Date().toISOString(),
483
+ description: `Renamed property ${modelName}.${oldPropertyName} to ${newPropertyName}`,
484
+ changes: [
485
+ {
486
+ type: 'property_rename',
487
+ modelName,
488
+ oldPropertyName,
489
+ newPropertyName,
490
+ },
491
+ ],
492
+ },
493
+ ],
494
+ };
495
+ // Remove the old property name
496
+ delete updatedSchema.models[modelName].properties[oldPropertyName];
497
+ // Write the new schema version using ID-based naming (preferred)
498
+ const newFilePath = getSchemaFilePath(schemaName, newVersion, updatedSchema.id ?? undefined);
499
+ const newContent = JSON.stringify(updatedSchema, null, 2);
500
+ // Ensure the directory exists before saving
501
+ const path = BaseFileManager.getPathModule();
502
+ const dir = path.dirname(newFilePath);
503
+ await BaseFileManager.createDirIfNotExists(dir);
504
+ await BaseFileManager.saveFile(newFilePath, newContent);
505
+ // Wait for the file to be available with content (important for browser/OPFS where writes may not be immediately readable)
506
+ await BaseFileManager.waitForFileWithContent(newFilePath);
507
+ logger$4(`Renamed property ${oldPropertyName} to ${newPropertyName} in schema ${schemaName} v${newVersion}`);
508
+ // Load the new schema file
509
+ await loadSchemaFromFile(newFilePath);
510
+ return newFilePath;
511
+ }
512
+ /**
513
+ * Delete a model from a schema
514
+ * @param schemaName - The name of the schema
515
+ * @param modelName - The name of the model to delete
516
+ * @param options - Optional deletion options
517
+ * @returns The file path of the new schema version
518
+ * @throws Error if schema or model not found
519
+ */
520
+ async function deleteModelFromSchema(schemaName, modelName, options = {}) {
521
+ const { removeReferencingProperties = false } = options;
522
+ // Get the latest version
523
+ const latestVersion = await getLatestSchemaVersion(schemaName);
524
+ if (latestVersion === 0) {
525
+ throw new Error(`Schema ${schemaName} not found`);
526
+ }
527
+ // Get schemaFileId from database
528
+ const schemaFileId = await getSchemaFileId(schemaName);
529
+ // Load the latest schema file
530
+ const latestFilePath = getSchemaFilePath(schemaName, latestVersion, schemaFileId);
531
+ const content = await BaseFileManager.readFileAsString(latestFilePath);
532
+ const schemaFile = JSON.parse(content);
533
+ if (!schemaFile.$schema) {
534
+ throw new Error(`Schema file ${latestFilePath} is not a complete schema file`);
535
+ }
536
+ if (!schemaFile.models[modelName]) {
537
+ throw new Error(`Model ${modelName} not found in schema ${schemaName}`);
538
+ }
539
+ // Create new version without the model
540
+ // Preserve IDs for remaining models and properties
541
+ const newVersion = latestVersion + 1;
542
+ const updatedSchema = {
543
+ ...schemaFile,
544
+ version: newVersion,
545
+ id: schemaFile.id, // Preserve schema ID
546
+ metadata: {
547
+ ...schemaFile.metadata,
548
+ updatedAt: new Date().toISOString(),
549
+ },
550
+ // Preserve IDs for remaining models and their properties
551
+ models: Object.fromEntries(Object.entries(schemaFile.models)
552
+ .filter(([name]) => name !== modelName)
553
+ .map(([name, model]) => [
554
+ name,
555
+ {
556
+ ...model,
557
+ id: model.id, // Preserve model ID
558
+ properties: Object.fromEntries(Object.entries(model.properties).map(([propName, prop]) => [
559
+ propName,
560
+ { ...prop, id: prop.id }, // Preserve property ID
561
+ ])),
562
+ },
563
+ ])),
564
+ migrations: [
565
+ ...schemaFile.migrations,
566
+ {
567
+ version: newVersion,
568
+ timestamp: new Date().toISOString(),
569
+ description: `Deleted model ${modelName} from schema`,
570
+ changes: [
571
+ {
572
+ type: 'model_delete',
573
+ modelName,
574
+ removeReferencingProperties,
575
+ },
576
+ ],
577
+ },
578
+ ],
579
+ };
580
+ // Remove the model
581
+ delete updatedSchema.models[modelName];
582
+ // Handle properties that reference this model
583
+ const propertiesToRemove = [];
584
+ for (const [otherModelName, model] of Object.entries(updatedSchema.models)) {
585
+ for (const [propertyName, property] of Object.entries(model.properties)) {
586
+ // Check if property references the deleted model
587
+ if (property.model === modelName || property.items?.model === modelName) {
588
+ if (removeReferencingProperties) {
589
+ // Mark for removal
590
+ propertiesToRemove.push({ modelName: otherModelName, propertyName });
591
+ }
592
+ else {
593
+ // Remove the reference (set to null or remove model field)
594
+ if (property.model === modelName) {
595
+ delete property.model;
596
+ }
597
+ if (property.items?.model === modelName) {
598
+ delete property.items.model;
599
+ // If items only had model, we might want to remove items entirely
600
+ // But for now, just remove the model reference
601
+ }
602
+ }
603
+ }
604
+ }
605
+ }
606
+ // Remove properties if requested
607
+ if (removeReferencingProperties) {
608
+ for (const { modelName: mName, propertyName } of propertiesToRemove) {
609
+ delete updatedSchema.models[mName].properties[propertyName];
610
+ updatedSchema.migrations[updatedSchema.migrations.length - 1].changes.push({
611
+ type: 'property_delete',
612
+ modelName: mName,
613
+ propertyName,
614
+ reason: `Referenced deleted model ${modelName}`,
615
+ });
616
+ }
617
+ }
618
+ else {
619
+ // Update migration to note which properties were updated
620
+ const updatedProperties = [];
621
+ for (const [otherModelName, model] of Object.entries(updatedSchema.models)) {
622
+ for (const [propertyName, property] of Object.entries(model.properties)) {
623
+ if (property.model === modelName || property.items?.model === modelName) {
624
+ updatedProperties.push({ modelName: otherModelName, propertyName });
625
+ }
626
+ }
627
+ }
628
+ if (updatedProperties.length > 0) {
629
+ updatedSchema.migrations[updatedSchema.migrations.length - 1].changes.push({
630
+ type: 'properties_updated',
631
+ properties: updatedProperties,
632
+ reason: `Removed references to deleted model ${modelName}`,
633
+ });
634
+ }
635
+ }
636
+ // Write the new schema version using ID-based naming (preferred)
637
+ const newFilePath = getSchemaFilePath(schemaName, newVersion, updatedSchema.id ?? undefined);
638
+ const newContent = JSON.stringify(updatedSchema, null, 2);
639
+ // Ensure the directory exists before saving
640
+ const path = BaseFileManager.getPathModule();
641
+ const dir = path.dirname(newFilePath);
642
+ await BaseFileManager.createDirIfNotExists(dir);
643
+ await BaseFileManager.saveFile(newFilePath, newContent);
644
+ // Wait for the file to be available with content (important for browser/OPFS where writes may not be immediately readable)
645
+ await BaseFileManager.waitForFileWithContent(newFilePath);
646
+ logger$4(`Deleted model ${modelName} from schema ${schemaName} v${newVersion}`);
647
+ // Load the new schema file
648
+ await loadSchemaFromFile(newFilePath);
649
+ return newFilePath;
650
+ }
651
+ /**
652
+ * Delete a property from a model in a schema
653
+ * @param schemaName - The name of the schema
654
+ * @param modelName - The name of the model
655
+ * @param propertyName - The name of the property to delete
656
+ * @param options - Optional deletion options
657
+ * @returns The file path of the new schema version
658
+ * @throws Error if schema, model, or property not found
659
+ */
660
+ async function deletePropertyFromModel(schemaName, modelName, propertyName, options = {}) {
661
+ // Get the latest version
662
+ const latestVersion = await getLatestSchemaVersion(schemaName);
663
+ if (latestVersion === 0) {
664
+ throw new Error(`Schema ${schemaName} not found`);
665
+ }
666
+ // Get schemaFileId from database
667
+ const schemaFileId = await getSchemaFileId(schemaName);
668
+ // Load the latest schema file
669
+ const latestFilePath = getSchemaFilePath(schemaName, latestVersion, schemaFileId);
670
+ const content = await BaseFileManager.readFileAsString(latestFilePath);
671
+ const schemaFile = JSON.parse(content);
672
+ if (!schemaFile.$schema) {
673
+ throw new Error(`Schema file ${latestFilePath} is not a complete schema file`);
674
+ }
675
+ const model = schemaFile.models[modelName];
676
+ if (!model) {
677
+ throw new Error(`Model ${modelName} not found in schema ${schemaName}`);
678
+ }
679
+ if (!model.properties[propertyName]) {
680
+ throw new Error(`Property ${propertyName} not found in model ${modelName} of schema ${schemaName}`);
681
+ }
682
+ // Create new version without the property
683
+ // Preserve IDs for schema, models, and remaining properties
684
+ const newVersion = latestVersion + 1;
685
+ const updatedSchema = {
686
+ ...schemaFile,
687
+ version: newVersion,
688
+ id: schemaFile.id, // Preserve schema ID
689
+ metadata: {
690
+ ...schemaFile.metadata,
691
+ updatedAt: new Date().toISOString(),
692
+ },
693
+ models: Object.fromEntries(Object.entries(schemaFile.models).map(([mName, m]) => [
694
+ mName,
695
+ {
696
+ ...m,
697
+ id: m.id, // Preserve model ID
698
+ properties: Object.fromEntries(Object.entries(m.properties)
699
+ .filter(([propName]) => !(mName === modelName && propName === propertyName))
700
+ .map(([propName, prop]) => [
701
+ propName,
702
+ { ...prop, id: prop.id }, // Preserve property ID
703
+ ])),
704
+ },
705
+ ])),
706
+ migrations: [
707
+ ...schemaFile.migrations,
708
+ {
709
+ version: newVersion,
710
+ timestamp: new Date().toISOString(),
711
+ description: `Deleted property ${modelName}.${propertyName} from schema`,
712
+ changes: [
713
+ {
714
+ type: 'property_delete',
715
+ modelName,
716
+ propertyName,
717
+ },
718
+ ],
719
+ },
720
+ ],
721
+ };
722
+ // Write the new schema version using ID-based naming (preferred)
723
+ const newFilePath = getSchemaFilePath(schemaName, newVersion, updatedSchema.id ?? undefined);
724
+ const newContent = JSON.stringify(updatedSchema, null, 2);
725
+ // Ensure the directory exists before saving
726
+ const path = BaseFileManager.getPathModule();
727
+ const dir = path.dirname(newFilePath);
728
+ await BaseFileManager.createDirIfNotExists(dir);
729
+ await BaseFileManager.saveFile(newFilePath, newContent);
730
+ // Wait for the file to be available with content (important for browser/OPFS where writes may not be immediately readable)
731
+ await BaseFileManager.waitForFileWithContent(newFilePath);
732
+ logger$4(`Deleted property ${propertyName} from model ${modelName} in schema ${schemaName} v${newVersion}`);
733
+ // Load the new schema file
734
+ await loadSchemaFromFile(newFilePath);
735
+ return newFilePath;
736
+ }
737
+
738
+ const logger$3 = debug('seedSdk:modelProperty:actors:saveToSchema');
739
+ /**
740
+ * Get schema name from model
741
+ * This function finds which schema contains the given model
742
+ * Exported so it can be reused by ModelProperty for setting schema name
743
+ */
744
+ async function getSchemaNameFromModel(modelName) {
745
+ // Get the latest schema files and find which one contains this model
746
+ const { listLatestSchemaFiles } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aY; });
747
+ const latestSchemas = await listLatestSchemaFiles();
748
+ for (const schema of latestSchemas) {
749
+ try {
750
+ const { BaseFileManager } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aR; });
751
+ const content = await BaseFileManager.readFileAsString(schema.filePath);
752
+ const schemaFile = JSON.parse(content);
753
+ if (schemaFile.models && schemaFile.models[modelName]) {
754
+ return schema.name;
755
+ }
756
+ }
757
+ catch (error) {
758
+ logger$3('Error reading schema file:', error);
759
+ continue;
760
+ }
761
+ }
762
+ return undefined;
763
+ }
764
+ const saveToSchema = fromCallback(({ sendBack, input: { context } }) => {
765
+ const _saveToSchema = async () => {
766
+ // Use dynamic import to break circular dependency
767
+ const { SchemaValidationService } = await import('./SchemaValidationService-BfoEiHNr.js');
768
+ const validationService = new SchemaValidationService();
769
+ // Validate property structure before saving
770
+ const validationResult = validationService.validatePropertyStructure(context);
771
+ if (!validationResult.isValid) {
772
+ throw new Error(`Property validation failed: ${validationResult.errors.map(e => e.message).join(', ')}`);
773
+ }
774
+ // Validate required fields
775
+ if (!context.name) {
776
+ throw new Error('Property name is required');
777
+ }
778
+ if (!context.dataType) {
779
+ throw new Error('Data type is required');
780
+ }
781
+ if (!context.modelName) {
782
+ throw new Error(`Model not found for modelId: ${context.modelId}`);
783
+ }
784
+ // Get schema name from model
785
+ const schemaName = await getSchemaNameFromModel(context.modelName);
786
+ if (!schemaName) {
787
+ throw new Error(`Schema not found for model: ${context.modelName}`);
788
+ }
789
+ // Convert property context to SchemaPropertyUpdate
790
+ const propertyUpdate = await convertPropertyToSchemaUpdate(context, context.modelName, context.name);
791
+ // Update the schema with the property changes
792
+ await updateModelProperties(schemaName, [propertyUpdate]);
793
+ // Clear isEdited flag in database after saving to schema file
794
+ try {
795
+ const { BaseDb } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aP; });
796
+ const { properties: propertiesTable, models: modelsTable } = await import('./index-D2OGsG4v.js').then(function (n) { return n.s; });
797
+ const { eq, and } = await import('drizzle-orm');
798
+ const db = BaseDb.getAppDb();
799
+ if (db && context.modelName && context.name) {
800
+ // Find model by name
801
+ const modelRecords = await db
802
+ .select({ id: modelsTable.id })
803
+ .from(modelsTable)
804
+ .where(eq(modelsTable.name, context.modelName))
805
+ .limit(1);
806
+ if (modelRecords.length > 0) {
807
+ // Find property by name and modelId
808
+ const propertyRecords = await db
809
+ .select({ id: propertiesTable.id })
810
+ .from(propertiesTable)
811
+ .where(and(eq(propertiesTable.name, context.name), eq(propertiesTable.modelId, modelRecords[0].id)))
812
+ .limit(1);
813
+ if (propertyRecords.length > 0) {
814
+ // Clear isEdited flag in database
815
+ await db
816
+ .update(propertiesTable)
817
+ .set({ isEdited: false })
818
+ .where(eq(propertiesTable.id, propertyRecords[0].id));
819
+ logger$3(`Cleared isEdited flag in database for property ${context.modelName}:${context.name}`);
820
+ }
821
+ }
822
+ }
823
+ }
824
+ catch (error) {
825
+ logger$3(`Error clearing isEdited flag in database: ${error}`);
826
+ }
827
+ logger$3(`Successfully saved property ${context.name} to schema ${schemaName}`);
828
+ };
829
+ _saveToSchema().then(() => {
830
+ sendBack({ type: 'saveToSchemaSuccess' });
831
+ }).catch((error) => {
832
+ logger$3('Error saving to schema:', error);
833
+ sendBack({ type: 'saveToSchemaError', error });
834
+ });
835
+ return () => {
836
+ // Cleanup function (optional)
837
+ };
838
+ });
839
+
840
+ var saveToSchema$1 = /*#__PURE__*/Object.freeze({
841
+ __proto__: null,
842
+ getSchemaNameFromModel: getSchemaNameFromModel,
843
+ saveToSchema: saveToSchema
844
+ });
845
+
846
+ const logger$2 = debug('seedSdk:modelProperty:actors:compareAndMarkDraft');
847
+ const compareAndMarkDraft = fromCallback(({ sendBack, input: { context } }) => {
848
+ const _compareAndMarkDraft = async () => {
849
+ // Fill modelName/dataType from _originalValues when missing, then from DB by schemaFileId
850
+ let fullContext = {
851
+ ...context,
852
+ modelName: context.modelName ?? context._originalValues?.modelName,
853
+ dataType: context.dataType ?? context._originalValues?.dataType,
854
+ };
855
+ const schemaFileIdForResolve = fullContext._propertyFileId || (typeof fullContext.id === 'string' ? fullContext.id : undefined);
856
+ if (schemaFileIdForResolve && (fullContext.modelName === undefined || fullContext.dataType === undefined)) {
857
+ try {
858
+ const { getPropertyModelNameAndDataType, getModelNameByModelId } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aW; });
859
+ let fromDb;
860
+ for (let attempt = 0; attempt < 6; attempt++) {
861
+ fromDb = await getPropertyModelNameAndDataType(schemaFileIdForResolve);
862
+ if (fromDb)
863
+ break;
864
+ if (attempt < 5)
865
+ await new Promise((r) => setTimeout(r, 40));
866
+ }
867
+ if (fromDb) {
868
+ fullContext = {
869
+ ...fullContext,
870
+ modelName: fullContext.modelName ?? fromDb.modelName,
871
+ dataType: fullContext.dataType ?? fromDb.dataType,
872
+ };
873
+ }
874
+ if (fullContext.modelName === undefined && schemaFileIdForResolve) {
875
+ const mod = await Promise.resolve().then(function () { return ModelProperty$1; });
876
+ const ModelProperty = mod?.ModelProperty ?? mod?.default;
877
+ const pendingModelId = ModelProperty?.getPendingModelId?.(schemaFileIdForResolve);
878
+ if (pendingModelId != null) {
879
+ const modelName = await getModelNameByModelId(pendingModelId);
880
+ if (modelName) {
881
+ fullContext = { ...fullContext, modelName };
882
+ }
883
+ }
884
+ }
885
+ }
886
+ catch {
887
+ // ignore
888
+ }
889
+ }
890
+ const schemaFileId = fullContext._propertyFileId || (typeof fullContext.id === 'string' ? fullContext.id : undefined);
891
+ // If _originalValues is not set, we still need to save to database if the property exists
892
+ // This handles the case where the name is changed before _originalValues is initialized
893
+ if (!fullContext._originalValues) {
894
+ logger$2('No original values to compare against');
895
+ logger$2(`[compareAndMarkDraft] Context: modelName=${fullContext.modelName}, name=${fullContext.name}, id=${fullContext.id}, _propertyFileId=${fullContext._propertyFileId}`);
896
+ // If we have a name and modelName, try to save to database anyway
897
+ // This ensures name changes are persisted even if _originalValues isn't initialized yet
898
+ // We need either schemaFileId (id or _propertyFileId) to find the property in the database
899
+ if (fullContext.modelName && fullContext.name && schemaFileId) {
900
+ logger$2(`[compareAndMarkDraft] _originalValues not set, but saving to database anyway for property ${context.modelName}:${context.name} (schemaFileId: ${schemaFileId})`);
901
+ try {
902
+ const { savePropertyToDb } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aW; });
903
+ // Ensure _propertyFileId is set for savePropertyToDb to find the property
904
+ const contextWithFileId = {
905
+ ...fullContext,
906
+ _propertyFileId: schemaFileId,
907
+ };
908
+ await savePropertyToDb(contextWithFileId);
909
+ logger$2(`[compareAndMarkDraft] Successfully saved property ${fullContext.modelName}:${fullContext.name} to database (no _originalValues)`);
910
+ }
911
+ catch (error) {
912
+ logger$2(`[compareAndMarkDraft] Error saving property to database (no _originalValues): ${error}`);
913
+ // Don't throw - this is a best-effort save, but log the error for debugging
914
+ console.error(`[compareAndMarkDraft] Failed to save property ${fullContext.modelName}:${fullContext.name}:`, error);
915
+ }
916
+ }
917
+ else {
918
+ logger$2(`[compareAndMarkDraft] Cannot save property ${fullContext.modelName}:${fullContext.name} - missing required fields (schemaFileId: ${schemaFileId})`);
919
+ }
920
+ return;
921
+ }
922
+ logger$2(`[compareAndMarkDraft] Comparing: context.name=${fullContext.name}, _originalValues.name=${fullContext._originalValues?.name}`);
923
+ // Compare current values with original
924
+ // Only compare property fields, not internal fields
925
+ const propertyFields = ['name', 'dataType', 'ref', 'refModelName', 'refModelId', 'refValueType', 'storageType', 'localStorageDir', 'filenameSuffix', 'modelName', 'modelId'];
926
+ const hasChanges = propertyFields.some(key => {
927
+ const currentValue = fullContext[key];
928
+ const originalValue = fullContext._originalValues?.[key];
929
+ // Handle name changes specifically
930
+ if (key === 'name') {
931
+ const nameChanged = currentValue !== originalValue;
932
+ if (nameChanged) {
933
+ logger$2(`[compareAndMarkDraft] Name change detected: "${originalValue}" -> "${currentValue}"`);
934
+ }
935
+ return nameChanged;
936
+ }
937
+ // Handle ref fields - compare by name
938
+ if (key === 'ref' || key === 'refModelName') {
939
+ const currentRef = fullContext.refModelName || fullContext.ref;
940
+ const originalRef = fullContext._originalValues?.refModelName || fullContext._originalValues?.ref;
941
+ // Both undefined/null means no ref, so they're the same
942
+ if (!currentRef && !originalRef)
943
+ return false;
944
+ return currentRef !== originalRef;
945
+ }
946
+ // For other fields, compare values (handling undefined/null)
947
+ if (currentValue === undefined && originalValue === undefined)
948
+ return false;
949
+ if (currentValue === null && originalValue === null)
950
+ return false;
951
+ if (currentValue === undefined && originalValue === null)
952
+ return false;
953
+ if (currentValue === null && originalValue === undefined)
954
+ return false;
955
+ return currentValue !== originalValue;
956
+ });
957
+ if (hasChanges) {
958
+ logger$2(`Property ${fullContext.modelName}:${fullContext.name} has changes, marking as edited`);
959
+ logger$2(`[compareAndMarkDraft] Context when saving: id=${fullContext.id}, _propertyFileId=${fullContext._propertyFileId}, name=${fullContext.name}, _originalValues.name=${fullContext._originalValues?.name}`);
960
+ // Use dynamic import to break circular dependency
961
+ const { savePropertyToDb } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aW; });
962
+ // Save to database (but not JSON file) - always save to DB when there are changes
963
+ try {
964
+ await savePropertyToDb(fullContext);
965
+ logger$2(`[compareAndMarkDraft] Successfully saved property ${fullContext.modelName}:${fullContext.name} to database`);
966
+ }
967
+ catch (error) {
968
+ logger$2(`[compareAndMarkDraft] Error saving property to database: ${error}`);
969
+ throw error;
970
+ }
971
+ // Mark schema as draft if schema name is available
972
+ if (fullContext._schemaName) {
973
+ // Get the Schema instance and mark it as draft
974
+ const { Schema } = await import('./Schema-ClTcpgbt.js');
975
+ const schema = Schema.create(fullContext._schemaName, {
976
+ waitForReady: false,
977
+ });
978
+ // Send event to Schema machine to mark as draft
979
+ schema.getService().send({
980
+ type: 'markAsDraft',
981
+ propertyKey: `${fullContext.modelName}:${fullContext.name}`,
982
+ });
983
+ }
984
+ }
985
+ else {
986
+ // No changes - clear edited flag in database and context
987
+ logger$2(`Property ${fullContext.modelName}:${fullContext.name} has no changes`);
988
+ // Clear isEdited flag in database
989
+ try {
990
+ const { BaseDb } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aP; });
991
+ const { properties: propertiesTable, models: modelsTable } = await import('./index-D2OGsG4v.js').then(function (n) { return n.s; });
992
+ const { eq, and } = await import('drizzle-orm');
993
+ const db = BaseDb.getAppDb();
994
+ if (db && fullContext.modelName && fullContext.name) {
995
+ // Find model by name
996
+ const modelRecords = await db
997
+ .select({ id: modelsTable.id })
998
+ .from(modelsTable)
999
+ .where(eq(modelsTable.name, fullContext.modelName))
1000
+ .limit(1);
1001
+ if (modelRecords.length > 0) {
1002
+ // Find property by name and modelId
1003
+ const propertyRecords = await db
1004
+ .select({ id: propertiesTable.id })
1005
+ .from(propertiesTable)
1006
+ .where(and(eq(propertiesTable.name, fullContext.name), eq(propertiesTable.modelId, modelRecords[0].id)))
1007
+ .limit(1);
1008
+ if (propertyRecords.length > 0) {
1009
+ // Clear isEdited flag in database
1010
+ await db
1011
+ .update(propertiesTable)
1012
+ .set({ isEdited: false })
1013
+ .where(eq(propertiesTable.id, propertyRecords[0].id));
1014
+ logger$2(`Cleared isEdited flag in database for property ${fullContext.modelName}:${fullContext.name}`);
1015
+ }
1016
+ }
1017
+ }
1018
+ }
1019
+ catch (error) {
1020
+ logger$2(`Error clearing isEdited flag in database: ${error}`);
1021
+ }
1022
+ sendBack({
1023
+ type: 'clearEdited',
1024
+ });
1025
+ }
1026
+ };
1027
+ _compareAndMarkDraft().then(() => {
1028
+ sendBack({ type: 'compareAndMarkDraftSuccess' });
1029
+ }).catch((error) => {
1030
+ logger$2('Error comparing and marking draft:', error);
1031
+ sendBack({ type: 'compareAndMarkDraftError', error });
1032
+ });
1033
+ return () => {
1034
+ // Cleanup function (optional)
1035
+ };
1036
+ });
1037
+
1038
+ const logger$1 = debug('seedSdk:modelProperty:actors:validateProperty');
1039
+ const validateProperty = fromCallback(({ sendBack, input: { context } }) => {
1040
+ const _validateProperty = async () => {
1041
+ // Use full context for validation: fill modelName/dataType from _originalValues when missing, then
1042
+ // from DB by schemaFileId (context.id) so just-created renames don't fail structure validation.
1043
+ let fullContext = {
1044
+ ...context,
1045
+ modelName: context.modelName ?? context._originalValues?.modelName,
1046
+ dataType: context.dataType ?? context._originalValues?.dataType,
1047
+ };
1048
+ const schemaFileId = typeof context.id === 'string' ? context.id : undefined;
1049
+ if (schemaFileId && (fullContext.modelName === undefined || fullContext.dataType === undefined)) {
1050
+ // Brief wait so trackPendingWrite from ModelProperty.create() has time to run (it's in setTimeout(0))
1051
+ await new Promise((r) => setTimeout(r, 60));
1052
+ try {
1053
+ const { getPropertyModelNameAndDataType, getModelNameByModelId } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aW; });
1054
+ // Try pending write first (property row may not exist yet)
1055
+ if (fullContext.modelName === undefined && schemaFileId) {
1056
+ const mod = await Promise.resolve().then(function () { return ModelProperty$1; });
1057
+ const ModelProperty = mod?.ModelProperty ?? mod?.default;
1058
+ const pendingModelId = ModelProperty?.getPendingModelId?.(schemaFileId);
1059
+ if (pendingModelId != null) {
1060
+ const modelName = await getModelNameByModelId(pendingModelId);
1061
+ if (modelName) {
1062
+ fullContext = { ...fullContext, modelName };
1063
+ }
1064
+ }
1065
+ }
1066
+ // Then DB property lookup with retry (catches row after initial write)
1067
+ let fromDb;
1068
+ for (let attempt = 0; attempt < 6; attempt++) {
1069
+ fromDb = await getPropertyModelNameAndDataType(schemaFileId);
1070
+ if (fromDb)
1071
+ break;
1072
+ if (attempt < 5)
1073
+ await new Promise((r) => setTimeout(r, 40));
1074
+ }
1075
+ if (fromDb) {
1076
+ fullContext = {
1077
+ ...fullContext,
1078
+ modelName: fullContext.modelName ?? fromDb.modelName,
1079
+ dataType: fullContext.dataType ?? fromDb.dataType,
1080
+ };
1081
+ }
1082
+ // If still no modelName, try pending write again (may have been set during retries)
1083
+ if (fullContext.modelName === undefined && schemaFileId) {
1084
+ const mod = await Promise.resolve().then(function () { return ModelProperty$1; });
1085
+ const ModelProperty = mod?.ModelProperty ?? mod?.default;
1086
+ const pendingModelId = ModelProperty?.getPendingModelId?.(schemaFileId);
1087
+ if (pendingModelId != null) {
1088
+ const modelName = await getModelNameByModelId(pendingModelId);
1089
+ if (modelName) {
1090
+ fullContext = { ...fullContext, modelName };
1091
+ }
1092
+ }
1093
+ }
1094
+ }
1095
+ catch {
1096
+ // ignore
1097
+ }
1098
+ }
1099
+ // Last resort for structure validation: TProperty requires dataType; allow name+id to pass if we have schemaFileId
1100
+ if (fullContext.dataType === undefined && (fullContext.modelName !== undefined || schemaFileId)) {
1101
+ fullContext = { ...fullContext, dataType: (fullContext.dataType ?? context._originalValues?.dataType) || 'Text' };
1102
+ }
1103
+ console.log('[validateProperty] Starting validation for property:', fullContext.name);
1104
+ console.log('[validateProperty] Context:', {
1105
+ name: fullContext.name,
1106
+ modelName: fullContext.modelName,
1107
+ _schemaName: fullContext._schemaName,
1108
+ _originalValues: fullContext._originalValues
1109
+ });
1110
+ // Use dynamic imports to break circular dependencies
1111
+ const { SchemaValidationService } = await import('./SchemaValidationService-BfoEiHNr.js');
1112
+ const validationService = new SchemaValidationService();
1113
+ const { Schema } = await import('./Schema-ClTcpgbt.js');
1114
+ // Validate property structure
1115
+ console.log('[validateProperty] Validating property structure...');
1116
+ const structureResult = validationService.validatePropertyStructure(fullContext);
1117
+ console.log('[validateProperty] Structure validation result:', structureResult.isValid);
1118
+ if (!structureResult.isValid) {
1119
+ console.log('[validateProperty] Structure validation failed:', structureResult.errors);
1120
+ sendBack({ type: 'validationError', errors: structureResult.errors });
1121
+ return;
1122
+ }
1123
+ console.log('[validateProperty] Structure validation passed');
1124
+ // If we have schema name and model name, validate against schema
1125
+ console.log('[validateProperty] Checking schema validation:', { hasSchemaName: !!fullContext._schemaName, hasModelName: !!fullContext.modelName });
1126
+ if (fullContext._schemaName && fullContext.modelName) {
1127
+ try {
1128
+ console.log('[validateProperty] Creating schema instance:', fullContext._schemaName);
1129
+ const schema = Schema.create(fullContext._schemaName, {
1130
+ waitForReady: false,
1131
+ });
1132
+ const schemaSnapshot = schema.getService().getSnapshot();
1133
+ const schemaStatus = schemaSnapshot.value;
1134
+ console.log('[validateProperty] Schema status:', schemaStatus);
1135
+ // Only validate against schema if it's loaded (in idle state)
1136
+ // If still loading, skip schema validation and only do structure validation
1137
+ if (schemaStatus === 'idle') {
1138
+ const schemaContext = schemaSnapshot.context;
1139
+ console.log('[validateProperty] Schema context models:', schemaContext.models ? Object.keys(schemaContext.models).length : 'null');
1140
+ // Check if models are actually loaded
1141
+ if (schemaContext.models && Object.keys(schemaContext.models).length > 0) {
1142
+ // If property name has changed, validate against the original name (from schema file)
1143
+ // This handles the case where a property is renamed - the schema file still has the old name
1144
+ const propertyNameToValidate = fullContext._originalValues?.name && fullContext._originalValues.name !== fullContext.name
1145
+ ? fullContext._originalValues.name
1146
+ : fullContext.name || '';
1147
+ console.log('[validateProperty] Validating against schema:', {
1148
+ modelName: fullContext.modelName,
1149
+ propertyNameToValidate,
1150
+ originalName: fullContext._originalValues?.name,
1151
+ currentName: fullContext.name
1152
+ });
1153
+ const schemaResult = validationService.validateProperty(schemaContext, fullContext.modelName, propertyNameToValidate, fullContext);
1154
+ console.log('[validateProperty] Schema validation result:', { isValid: schemaResult.isValid, errors: schemaResult.errors.length, errorCodes: schemaResult.errors.map(e => e.code) });
1155
+ if (!schemaResult.isValid) {
1156
+ // If property was renamed, some validation errors are expected (like property_not_found, missing_type)
1157
+ // Only fail if it's a critical error that's not related to the rename
1158
+ const isRenamed = fullContext._originalValues?.name && fullContext._originalValues.name !== fullContext.name;
1159
+ const criticalErrors = schemaResult.errors.filter(err => {
1160
+ // Allow property_not_found and missing_type errors when property is renamed
1161
+ if (isRenamed && (err.code === 'property_not_found' || err.code === 'missing_type')) {
1162
+ return false; // Not critical
1163
+ }
1164
+ // For non-renamed properties, only allow property_not_found if we're validating with the same name
1165
+ if (err.code === 'property_not_found' && propertyNameToValidate === fullContext.name) {
1166
+ return false; // Not critical
1167
+ }
1168
+ return true; // Critical error
1169
+ });
1170
+ console.log('[validateProperty] Filtered critical errors:', {
1171
+ totalErrors: schemaResult.errors.length,
1172
+ criticalErrors: criticalErrors.length,
1173
+ errorCodes: schemaResult.errors.map(e => e.code),
1174
+ criticalErrorCodes: criticalErrors.map(e => e.code)
1175
+ });
1176
+ if (criticalErrors.length > 0) {
1177
+ console.log('[validateProperty] Sending validationError with critical errors');
1178
+ sendBack({ type: 'validationError', errors: criticalErrors });
1179
+ return;
1180
+ }
1181
+ console.log('[validateProperty] No critical errors, continuing with validation');
1182
+ // Continue with validation - rename-related errors are acceptable
1183
+ }
1184
+ }
1185
+ else {
1186
+ console.log('[validateProperty] Schema models not loaded yet, skipping schema validation');
1187
+ logger$1('Schema models not loaded yet, skipping schema validation');
1188
+ // Continue with structure validation only
1189
+ }
1190
+ }
1191
+ else {
1192
+ logger$1(`Schema is in ${schemaStatus} state, skipping schema validation`);
1193
+ // Continue with structure validation only
1194
+ }
1195
+ }
1196
+ catch (error) {
1197
+ console.log('[validateProperty] Error validating property against schema:', error);
1198
+ logger$1('Error validating property against schema:', error);
1199
+ // Continue with structure validation only
1200
+ }
1201
+ }
1202
+ else {
1203
+ console.log('[validateProperty] Skipping schema validation (no _schemaName or modelName)');
1204
+ }
1205
+ // All validations passed
1206
+ console.log('[validateProperty] All validations passed, sending validationSuccess');
1207
+ sendBack({ type: 'validationSuccess', errors: [] });
1208
+ };
1209
+ _validateProperty().catch((error) => {
1210
+ logger$1('Error in validateProperty:', error);
1211
+ sendBack({
1212
+ type: 'validationError',
1213
+ errors: [{
1214
+ field: 'property',
1215
+ message: error instanceof Error ? error.message : 'Unknown validation error',
1216
+ code: 'validation_exception',
1217
+ severity: 'error',
1218
+ }],
1219
+ });
1220
+ });
1221
+ return () => {
1222
+ // Cleanup function (optional)
1223
+ };
1224
+ });
1225
+
1226
+ const modelPropertyMachine = setup({
1227
+ types: {
1228
+ context: {},
1229
+ input: {},
1230
+ events: {},
1231
+ },
1232
+ actors: {
1233
+ saveToSchema,
1234
+ compareAndMarkDraft,
1235
+ validateProperty,
1236
+ writeProcessMachine,
1237
+ },
1238
+ guards: {
1239
+ isPropertyValid: ({ context }) => {
1240
+ return !context._validationErrors || context._validationErrors.length === 0;
1241
+ },
1242
+ hasValidationErrors: ({ context }) => {
1243
+ return !!context._validationErrors && context._validationErrors.length > 0;
1244
+ },
1245
+ },
1246
+ actions: {
1247
+ assignValidationErrors: assign(({ context, event }) => {
1248
+ if (event.type === 'validationError') {
1249
+ return {
1250
+ ...context,
1251
+ _validationErrors: event.errors,
1252
+ };
1253
+ }
1254
+ return context;
1255
+ }),
1256
+ },
1257
+ }).createMachine({
1258
+ id: 'modelProperty',
1259
+ initial: 'idle',
1260
+ context: ({ input }) => {
1261
+ const context = input;
1262
+ console.log('[modelPropertyMachine] Initializing context with input:', JSON.stringify({
1263
+ name: context.name,
1264
+ modelName: context.modelName,
1265
+ ref: context.ref,
1266
+ refModelName: context.refModelName,
1267
+ refModelId: context.refModelId,
1268
+ dataType: context.dataType,
1269
+ }, null, 2));
1270
+ return context;
1271
+ },
1272
+ on: {
1273
+ updateContext: {
1274
+ actions: assign(({ context, event }) => {
1275
+ const newContext = Object.assign({}, context);
1276
+ // Check if this is only updating internal fields
1277
+ const onlyInternalFields = Object.keys(event).every((key) => {
1278
+ return key === 'type' || key.startsWith('_');
1279
+ });
1280
+ // Debug logging
1281
+ if (event.name !== undefined) {
1282
+ console.log(`[modelPropertyMachine] updateContext with name change: "${context.name}" -> "${event.name}"`);
1283
+ console.log(`[modelPropertyMachine] onlyInternalFields: ${onlyInternalFields}, has _originalValues: ${!!context._originalValues}`);
1284
+ }
1285
+ // Update the context with new values
1286
+ for (let i = 0; i < Object.keys(event).length; i++) {
1287
+ const key = Object.keys(event)[i];
1288
+ if (key === 'type') {
1289
+ continue;
1290
+ }
1291
+ let value = event[key];
1292
+ // Convert null to undefined for optional fields (TypeBox validation expects undefined, not null)
1293
+ // This is especially important for refValueType, refModelId, etc.
1294
+ if (value === null && (key === 'refValueType' || key === 'refModelId' || key === 'ref' || key === 'refModelName')) {
1295
+ value = undefined;
1296
+ }
1297
+ newContext[key] = value;
1298
+ }
1299
+ // Preserve modelName and dataType from context or _originalValues so validation and savePropertyToDb
1300
+ // never run with missing required/needed fields (e.g. when a just-created property is renamed before
1301
+ // the full context is available from the creator).
1302
+ if (newContext.modelName === undefined && context._originalValues?.modelName !== undefined) {
1303
+ newContext.modelName = context._originalValues.modelName;
1304
+ }
1305
+ if (newContext.dataType === undefined && context._originalValues?.dataType !== undefined) {
1306
+ newContext.dataType = context._originalValues.dataType;
1307
+ }
1308
+ // Compare with original values and set _isEdited flag (only for non-internal updates)
1309
+ if (!onlyInternalFields && context._originalValues) {
1310
+ const hasChanges = Object.keys(event).some((key) => {
1311
+ if (key === 'type' || key.startsWith('_'))
1312
+ return false;
1313
+ return newContext[key] !== context._originalValues?.[key];
1314
+ });
1315
+ newContext._isEdited = hasChanges;
1316
+ }
1317
+ // Clear validation errors on context update (will be re-validated if needed)
1318
+ newContext._validationErrors = undefined;
1319
+ // Convert null to undefined for optional fields (TypeBox validation expects undefined, not null)
1320
+ // This is especially important for refValueType, refModelId, etc.
1321
+ const optionalFields = ['refValueType', 'refModelId', 'ref', 'refModelName'];
1322
+ for (const field of optionalFields) {
1323
+ if (newContext[field] === null) {
1324
+ newContext[field] = undefined;
1325
+ }
1326
+ }
1327
+ return newContext;
1328
+ }),
1329
+ // Only trigger validation and compareAndMarkDraft if we're updating non-internal fields
1330
+ guard: ({ event }) => {
1331
+ const shouldTransition = !Object.keys(event).every((key) => {
1332
+ return key === 'type' || key.startsWith('_');
1333
+ });
1334
+ if (event.name !== undefined) {
1335
+ console.log(`[modelPropertyMachine] updateContext guard result: ${shouldTransition} (will ${shouldTransition ? 'transition' : 'not transition'} to validating)`);
1336
+ }
1337
+ return shouldTransition;
1338
+ },
1339
+ target: '.validating',
1340
+ },
1341
+ validateProperty: {
1342
+ target: '.validating',
1343
+ },
1344
+ validationSuccess: {
1345
+ actions: assign(({ context, event }) => ({
1346
+ ...context,
1347
+ _validationErrors: [],
1348
+ })),
1349
+ },
1350
+ validationError: {
1351
+ actions: 'assignValidationErrors',
1352
+ // Note: State-specific transitions are handled in child states
1353
+ // This root handler ensures errors are always assigned to context
1354
+ },
1355
+ initializeOriginalValues: {
1356
+ actions: assign(({ context, event }) => ({
1357
+ ...context,
1358
+ _originalValues: event.originalValues,
1359
+ _schemaName: event.schemaName,
1360
+ _isEdited: event.isEdited ?? false,
1361
+ _validationErrors: undefined,
1362
+ })),
1363
+ },
1364
+ clearEdited: {
1365
+ actions: assign(({ context }) => ({
1366
+ ...context,
1367
+ _isEdited: false,
1368
+ _originalValues: { ...context },
1369
+ })),
1370
+ },
1371
+ setSchemaName: {
1372
+ actions: assign(({ context, event }) => ({
1373
+ ...context,
1374
+ _schemaName: event.schemaName,
1375
+ })),
1376
+ },
1377
+ destroyStarted: {
1378
+ actions: assign({ _destroyInProgress: true, _destroyError: null }),
1379
+ },
1380
+ destroyDone: {
1381
+ actions: assign({ _destroyInProgress: false }),
1382
+ },
1383
+ destroyError: {
1384
+ actions: assign(({ event }) => ({
1385
+ _destroyInProgress: false,
1386
+ _destroyError: event.error instanceof Error
1387
+ ? { message: event.error.message, name: event.error.name }
1388
+ : { message: String(event.error) },
1389
+ })),
1390
+ },
1391
+ clearDestroyError: {
1392
+ actions: assign({ _destroyError: null }),
1393
+ },
1394
+ },
1395
+ states: {
1396
+ idle: {
1397
+ entry: assign({
1398
+ writeProcess: ({ spawn, context }) => {
1399
+ // Spawn writeProcess if we have id (schemaFileId)
1400
+ // New properties will have id generated
1401
+ const entityId = context.id;
1402
+ if (!context.writeProcess && entityId) {
1403
+ return spawn(writeProcessMachine, {
1404
+ input: {
1405
+ entityType: 'modelProperty',
1406
+ entityId: String(entityId),
1407
+ entityData: context,
1408
+ },
1409
+ });
1410
+ }
1411
+ return context.writeProcess;
1412
+ },
1413
+ }),
1414
+ on: {
1415
+ validateProperty: {
1416
+ target: 'validating',
1417
+ },
1418
+ requestWrite: {
1419
+ actions: ({ context, event }) => {
1420
+ if (context.writeProcess) {
1421
+ context.writeProcess.send({
1422
+ type: 'startWrite',
1423
+ data: event.data,
1424
+ });
1425
+ }
1426
+ },
1427
+ },
1428
+ },
1429
+ },
1430
+ validating: {
1431
+ entry: () => {
1432
+ console.log('[modelPropertyMachine] Entered validating state');
1433
+ },
1434
+ on: {
1435
+ validationSuccess: {
1436
+ target: 'compareAndMarkDraft',
1437
+ actions: assign(({ context, event }) => {
1438
+ console.log('[modelPropertyMachine] validationSuccess, transitioning to compareAndMarkDraft');
1439
+ return {
1440
+ ...context,
1441
+ _validationErrors: [],
1442
+ };
1443
+ }),
1444
+ },
1445
+ // validationError: Uses root handler for assignment, but needs state-specific transition
1446
+ validationError: {
1447
+ target: 'idle',
1448
+ actions: 'assignValidationErrors',
1449
+ },
1450
+ },
1451
+ invoke: {
1452
+ src: 'validateProperty',
1453
+ input: ({ context }) => ({ context }),
1454
+ },
1455
+ },
1456
+ compareAndMarkDraft: {
1457
+ entry: () => {
1458
+ console.log('[modelPropertyMachine] Entered compareAndMarkDraft state');
1459
+ },
1460
+ on: {
1461
+ compareAndMarkDraftSuccess: {
1462
+ target: 'idle',
1463
+ },
1464
+ compareAndMarkDraftError: {
1465
+ target: 'idle',
1466
+ },
1467
+ },
1468
+ invoke: {
1469
+ src: 'compareAndMarkDraft',
1470
+ input: ({ context }) => {
1471
+ console.log('[modelPropertyMachine] Invoking compareAndMarkDraft with context:', {
1472
+ name: context.name,
1473
+ _originalValues: context._originalValues,
1474
+ modelName: context.modelName,
1475
+ id: context.id,
1476
+ _propertyFileId: context._propertyFileId
1477
+ });
1478
+ return { context };
1479
+ },
1480
+ },
1481
+ },
1482
+ saveToSchema: {
1483
+ always: {
1484
+ guard: 'isPropertyValid',
1485
+ target: '.saving',
1486
+ },
1487
+ initial: 'saving',
1488
+ on: {
1489
+ // validationError: Uses root handler for assignment, but needs state-specific transition
1490
+ validationError: {
1491
+ target: 'idle',
1492
+ actions: 'assignValidationErrors',
1493
+ },
1494
+ },
1495
+ invoke: {
1496
+ src: 'validateProperty',
1497
+ input: ({ context }) => ({ context }),
1498
+ },
1499
+ states: {
1500
+ saving: {
1501
+ on: {
1502
+ saveToSchemaSuccess: {
1503
+ target: '#modelProperty.idle',
1504
+ },
1505
+ saveToSchemaError: {
1506
+ target: '#modelProperty.idle',
1507
+ },
1508
+ },
1509
+ invoke: {
1510
+ src: 'saveToSchema',
1511
+ input: ({ context }) => ({ context }),
1512
+ },
1513
+ },
1514
+ },
1515
+ },
1516
+ },
1517
+ });
1518
+
1519
+ /**
1520
+ * Returns property rows for a model identified by modelFileId (model's schemaFileId).
1521
+ * Resolves modelFileId -> modelId via models table, then selects all properties where modelId = ?.
1522
+ * Each row includes schemaFileId for use with ModelProperty.createById(schemaFileId).
1523
+ */
1524
+ const getModelPropertiesData = async (modelFileId) => {
1525
+ const appDb = BaseDb.getAppDb();
1526
+ if (!appDb || !modelFileId) {
1527
+ return [];
1528
+ }
1529
+ const modelRows = await appDb
1530
+ .select({ id: models.id })
1531
+ .from(models)
1532
+ .where(eq(models.schemaFileId, modelFileId))
1533
+ .limit(1);
1534
+ if (modelRows.length === 0) {
1535
+ return [];
1536
+ }
1537
+ const modelId = modelRows[0].id;
1538
+ const rows = await appDb
1539
+ .select()
1540
+ .from(properties)
1541
+ .where(eq(properties.modelId, modelId));
1542
+ return rows;
1543
+ };
1544
+
1545
+ const logger = debug('seedSdk:modelProperty:ModelProperty');
1546
+ // Define the property keys from TProperty
1547
+ const TPropertyKeys = [
1548
+ 'id',
1549
+ 'name',
1550
+ 'dataType',
1551
+ 'ref',
1552
+ 'modelId',
1553
+ 'refModelId',
1554
+ 'refValueType',
1555
+ 'storageType',
1556
+ 'localStorageDir',
1557
+ 'filenameSuffix',
1558
+ 'modelName',
1559
+ 'refModelName',
1560
+ ];
1561
+ class ModelProperty {
1562
+ constructor(property) {
1563
+ // id is now the schemaFileId (string), _dbId is the database integer ID
1564
+ // Preserve _propertyFileId if it exists in the property object (from getPropertySchema)
1565
+ // Convert null to undefined for optional fields (TypeBox validation expects undefined, not null)
1566
+ const serviceInput = {
1567
+ ...property,
1568
+ _propertyFileId: property._propertyFileId || property.id,
1569
+ refValueType: property.refValueType ?? undefined,
1570
+ refModelId: property.refModelId ?? undefined,
1571
+ ref: property.ref ?? undefined,
1572
+ refModelName: property.refModelName ?? undefined,
1573
+ };
1574
+ this._service = createActor(modelPropertyMachine, {
1575
+ input: serviceInput,
1576
+ });
1577
+ this._service.start();
1578
+ // Initialize original values from the input property
1579
+ this._initializeOriginalValues(property);
1580
+ // Note: Property getters/setters are now handled by the Proxy in create()
1581
+ }
1582
+ /**
1583
+ * Initialize original values and schema name for tracking changes
1584
+ * This is called asynchronously after construction
1585
+ * If the property was loaded from the database and differs from the schema file,
1586
+ * it will be marked as edited.
1587
+ */
1588
+ _initializeOriginalValues(property) {
1589
+ // Resolve refModelId if ref/refModelName is provided but refModelId is missing
1590
+ const refModelName = property.refModelName || property.ref;
1591
+ if (refModelName && !property.refModelId) {
1592
+ // Resolve refModelId asynchronously and update context
1593
+ this._resolveRefModelId(refModelName).then((refModelId) => {
1594
+ if (refModelId) {
1595
+ // Update the context with the resolved refModelId
1596
+ this._service.send({
1597
+ type: 'updateContext',
1598
+ refModelId,
1599
+ });
1600
+ }
1601
+ }).catch(() => {
1602
+ // Ignore errors - model might not exist yet
1603
+ });
1604
+ }
1605
+ // Get schema file values to use as "original" values
1606
+ // This allows us to detect if the property was edited (DB value differs from schema file)
1607
+ this._getSchemaFileValues(property).then((schemaFileValues) => {
1608
+ // Use schema file values as original (not the current property values)
1609
+ // This way, if current values differ from schema file, _isEdited will be true
1610
+ const originalValues = schemaFileValues || {};
1611
+ // Compare current property values with schema file values to determine if edited
1612
+ // Only compare schema-relevant fields, not database-specific fields like id, modelId
1613
+ let isEdited = false;
1614
+ if (schemaFileValues) {
1615
+ // Fields that are schema-relevant and should be compared
1616
+ const schemaRelevantFields = [
1617
+ 'dataType',
1618
+ 'ref',
1619
+ 'refModelName',
1620
+ 'refValueType',
1621
+ 'storageType',
1622
+ 'localStorageDir',
1623
+ 'filenameSuffix',
1624
+ ];
1625
+ // Check if any schema-relevant field differs between current property and schema file
1626
+ isEdited = schemaRelevantFields.some((key) => {
1627
+ const currentValue = property[key];
1628
+ const originalValue = schemaFileValues[key];
1629
+ // Handle ref fields - compare by name
1630
+ if (key === 'ref' || key === 'refModelName') {
1631
+ const currentRef = property.refModelName || property.ref;
1632
+ const originalRef = schemaFileValues.refModelName || schemaFileValues.ref;
1633
+ // Both undefined/null means no ref, so they're the same
1634
+ if (!currentRef && !originalRef)
1635
+ return false;
1636
+ return currentRef !== originalRef;
1637
+ }
1638
+ // For other fields, compare values (handling undefined/null)
1639
+ if (currentValue === undefined && originalValue === undefined)
1640
+ return false;
1641
+ if (currentValue === null && originalValue === null)
1642
+ return false;
1643
+ if (currentValue === undefined && originalValue === null)
1644
+ return false;
1645
+ if (currentValue === null && originalValue === undefined)
1646
+ return false;
1647
+ return currentValue !== originalValue;
1648
+ });
1649
+ }
1650
+ else {
1651
+ // No schema file values found - this is a runtime-created property
1652
+ // Use current property as original, but mark as edited since it hasn't been exported to file
1653
+ TPropertyKeys.forEach((key) => {
1654
+ if (property[key] !== undefined) {
1655
+ originalValues[key] = property[key];
1656
+ }
1657
+ });
1658
+ // For runtime-created properties, set isEdited = true initially
1659
+ isEdited = true;
1660
+ }
1661
+ // Initialize with original values, including isEdited flag
1662
+ // Load isEdited from database if property exists in DB (async, fire-and-forget)
1663
+ this._loadIsEditedFromDb(property, isEdited).then((isEditedFromDb) => {
1664
+ this._service.send({
1665
+ type: 'initializeOriginalValues',
1666
+ originalValues,
1667
+ schemaName: undefined, // Will be set later if needed
1668
+ isEdited: isEditedFromDb,
1669
+ });
1670
+ }).catch(() => {
1671
+ // If we can't load from DB, use computed isEdited value
1672
+ this._service.send({
1673
+ type: 'initializeOriginalValues',
1674
+ originalValues,
1675
+ schemaName: undefined, // Will be set later if needed
1676
+ isEdited,
1677
+ });
1678
+ });
1679
+ }).catch(() => {
1680
+ // If we can't get schema file values, use current property as original
1681
+ const originalValues = {};
1682
+ TPropertyKeys.forEach((key) => {
1683
+ if (property[key] !== undefined) {
1684
+ originalValues[key] = property[key];
1685
+ }
1686
+ });
1687
+ this._service.send({
1688
+ type: 'initializeOriginalValues',
1689
+ originalValues,
1690
+ schemaName: undefined,
1691
+ });
1692
+ });
1693
+ // Get schema name from model asynchronously (fire-and-forget)
1694
+ if (property.modelName) {
1695
+ this._setSchemaName(property.modelName).catch(() => {
1696
+ // If we can't get schema name, that's okay - it will be set later if needed
1697
+ });
1698
+ }
1699
+ }
1700
+ /**
1701
+ * Load isEdited flag from database if property exists in DB
1702
+ * @param property - The property data
1703
+ * @param fallbackIsEdited - Fallback value if property doesn't exist in DB
1704
+ * @returns The isEdited flag from database or fallback value
1705
+ */
1706
+ async _loadIsEditedFromDb(property, fallbackIsEdited) {
1707
+ if (!property.modelName || !property.name) {
1708
+ return fallbackIsEdited;
1709
+ }
1710
+ try {
1711
+ const { eq, and } = await import('drizzle-orm');
1712
+ const db = BaseDb.getAppDb();
1713
+ if (!db) {
1714
+ return fallbackIsEdited;
1715
+ }
1716
+ // Find model by name
1717
+ const modelRecords = await db
1718
+ .select({ id: models.id })
1719
+ .from(models)
1720
+ .where(eq(models.name, property.modelName))
1721
+ .limit(1);
1722
+ if (modelRecords.length === 0) {
1723
+ return fallbackIsEdited;
1724
+ }
1725
+ // Find property by name and modelId
1726
+ const propertyRecords = await db
1727
+ .select({ isEdited: properties.isEdited })
1728
+ .from(properties)
1729
+ .where(and(eq(properties.name, property.name), eq(properties.modelId, modelRecords[0].id)))
1730
+ .limit(1);
1731
+ if (propertyRecords.length > 0) {
1732
+ return propertyRecords[0].isEdited ?? false;
1733
+ }
1734
+ }
1735
+ catch (error) {
1736
+ // Ignore errors - use fallback value
1737
+ }
1738
+ return fallbackIsEdited;
1739
+ }
1740
+ /**
1741
+ * Resolve refModelId from refModelName by querying the database
1742
+ * @param refModelName - The name of the referenced model
1743
+ * @returns The database ID of the referenced model, or undefined if not found
1744
+ */
1745
+ async _resolveRefModelId(refModelName) {
1746
+ if (!refModelName) {
1747
+ return undefined;
1748
+ }
1749
+ try {
1750
+ const { eq } = await import('drizzle-orm');
1751
+ const db = BaseDb.getAppDb();
1752
+ if (!db) {
1753
+ return undefined;
1754
+ }
1755
+ const refModelRecords = await db
1756
+ .select()
1757
+ .from(models)
1758
+ .where(eq(models.name, refModelName))
1759
+ .limit(1);
1760
+ if (refModelRecords.length > 0 && refModelRecords[0].id) {
1761
+ return refModelRecords[0].id;
1762
+ }
1763
+ }
1764
+ catch (error) {
1765
+ // Ignore errors - model might not exist yet or database not available
1766
+ logger(`Error resolving refModelId for model "${refModelName}":`, error);
1767
+ }
1768
+ return undefined;
1769
+ }
1770
+ /**
1771
+ * Get schema file values for this property to use as "original" values
1772
+ * This allows comparison with database values to detect edits
1773
+ */
1774
+ async _getSchemaFileValues(property) {
1775
+ if (!property.modelName || !property.name) {
1776
+ return undefined;
1777
+ }
1778
+ try {
1779
+ const { Model } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aX; });
1780
+ const { modelPropertiesToObject } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aV; });
1781
+ const model = await Model.getByNameAsync(property.modelName);
1782
+ if (!model || !model.properties || model.properties.length === 0) {
1783
+ return undefined;
1784
+ }
1785
+ const schema = modelPropertiesToObject(model.properties);
1786
+ // Get the schema file value for this property
1787
+ const schemaFileValue = schema[property.name];
1788
+ if (!schemaFileValue) {
1789
+ return undefined;
1790
+ }
1791
+ // Return schema file values as original values
1792
+ const originalValues = {
1793
+ name: property.name,
1794
+ modelName: property.modelName,
1795
+ dataType: schemaFileValue.dataType,
1796
+ storageType: schemaFileValue.storageType,
1797
+ localStorageDir: schemaFileValue.localStorageDir,
1798
+ filenameSuffix: schemaFileValue.filenameSuffix,
1799
+ };
1800
+ // Handle ref fields
1801
+ if (schemaFileValue.ref) {
1802
+ originalValues.ref = schemaFileValue.ref;
1803
+ originalValues.refModelName = schemaFileValue.ref;
1804
+ // Try to get refModelId from database
1805
+ const refModelId = await this._resolveRefModelId(schemaFileValue.ref);
1806
+ if (refModelId) {
1807
+ originalValues.refModelId = refModelId;
1808
+ }
1809
+ }
1810
+ if (schemaFileValue.refValueType) {
1811
+ originalValues.refValueType = schemaFileValue.refValueType;
1812
+ }
1813
+ return originalValues;
1814
+ }
1815
+ catch (error) {
1816
+ return undefined;
1817
+ }
1818
+ }
1819
+ /**
1820
+ * Set the schema name for this property by looking it up from the model
1821
+ * Tries database first (more reliable), then falls back to schema files
1822
+ */
1823
+ async _setSchemaName(modelName) {
1824
+ try {
1825
+ let schemaName;
1826
+ // Try to get schema name from database first (more reliable)
1827
+ if (this.modelId) {
1828
+ try {
1829
+ const { eq } = await import('drizzle-orm');
1830
+ const db = BaseDb.getAppDb();
1831
+ if (db) {
1832
+ const modelSchemaRecords = await db
1833
+ .select({
1834
+ schemaName: schemas.name,
1835
+ })
1836
+ .from(modelSchemas)
1837
+ .innerJoin(schemas, eq(modelSchemas.schemaId, schemas.id))
1838
+ .innerJoin(models, eq(modelSchemas.modelId, models.id))
1839
+ .where(eq(models.id, this.modelId))
1840
+ .limit(1);
1841
+ if (modelSchemaRecords.length > 0) {
1842
+ schemaName = modelSchemaRecords[0].schemaName;
1843
+ }
1844
+ }
1845
+ }
1846
+ catch (error) {
1847
+ // Database lookup failed, continue to file-based lookup
1848
+ }
1849
+ }
1850
+ // Fall back to schema file lookup if database didn't work
1851
+ if (!schemaName) {
1852
+ const { getSchemaNameFromModel } = await Promise.resolve().then(function () { return saveToSchema$1; });
1853
+ schemaName = await getSchemaNameFromModel(modelName);
1854
+ }
1855
+ if (schemaName) {
1856
+ // Update the context with the schema name using dedicated event
1857
+ this._service.send({
1858
+ type: 'setSchemaName',
1859
+ schemaName,
1860
+ });
1861
+ }
1862
+ }
1863
+ catch (error) {
1864
+ // If we can't get schema name, that's okay - it will be set later if needed
1865
+ }
1866
+ }
1867
+ /**
1868
+ * Manually set the schema name for this property
1869
+ * Useful when you know the schema name from context (e.g., when working with Schema instances)
1870
+ */
1871
+ setSchemaName(schemaName) {
1872
+ this._service.send({
1873
+ type: 'setSchemaName',
1874
+ schemaName,
1875
+ });
1876
+ }
1877
+ static create(property, options) {
1878
+ if (!property) {
1879
+ throw new Error('Property is required');
1880
+ }
1881
+ const waitForReady = options?.waitForReady !== false;
1882
+ const readyTimeout = options?.readyTimeout ?? 5000;
1883
+ // Debug: Log what's being passed to create()
1884
+ console.log(`[ModelProperty.create] Input property data:`, JSON.stringify({
1885
+ name: property.name,
1886
+ modelName: property.modelName,
1887
+ ref: property.ref,
1888
+ refModelName: property.refModelName,
1889
+ refModelId: property.refModelId,
1890
+ dataType: property.dataType,
1891
+ type: property.type, // Check if it's using 'type' instead of 'dataType'
1892
+ }, null, 2));
1893
+ // Handle 'type' field from JSON schema format - convert to 'dataType'
1894
+ const propertyWithId = { ...property };
1895
+ if (propertyWithId.type && !propertyWithId.dataType) {
1896
+ propertyWithId.dataType = propertyWithId.type;
1897
+ }
1898
+ // Ensure id (schemaFileId) is set correctly
1899
+ // Priority: _propertyFileId > id (if string) > generate new
1900
+ // If id is a number (old format), use _propertyFileId instead
1901
+ if (typeof propertyWithId.id === 'number') {
1902
+ // id is a database integer ID, not schemaFileId - use _propertyFileId if available
1903
+ if (propertyWithId._propertyFileId) {
1904
+ propertyWithId.id = propertyWithId._propertyFileId;
1905
+ }
1906
+ else {
1907
+ // Fallback: generate new schemaFileId (shouldn't happen, but safety)
1908
+ propertyWithId.id = generateId();
1909
+ logger(`ModelProperty.create: id was a number, generated new schemaFileId "${propertyWithId.id}" for property "${property.name}"`);
1910
+ }
1911
+ }
1912
+ else if (!propertyWithId.id && propertyWithId._propertyFileId) {
1913
+ // id is not set but _propertyFileId is available - use it
1914
+ propertyWithId.id = propertyWithId._propertyFileId;
1915
+ }
1916
+ else if (!propertyWithId.id) {
1917
+ // Generate id (schemaFileId) if not provided (for new properties)
1918
+ // This ensures new properties can trigger write process
1919
+ propertyWithId.id = generateId();
1920
+ logger(`ModelProperty.create: Generated new id (schemaFileId) "${propertyWithId.id}" for property "${property.name}"`);
1921
+ }
1922
+ // Create cache key from modelName and name, or use id
1923
+ const cacheKey = propertyWithId.modelName && propertyWithId.name
1924
+ ? `${propertyWithId.modelName}:${propertyWithId.name}`
1925
+ : propertyWithId.id
1926
+ ? `id:${propertyWithId.id}`
1927
+ : propertyWithId.name || 'unnamed';
1928
+ // Check if instance exists in cache
1929
+ if (this.instanceCache.has(cacheKey)) {
1930
+ const { instance, refCount } = this.instanceCache.get(cacheKey);
1931
+ const cachedContext = instance._getSnapshotContext();
1932
+ console.log(`[ModelProperty.create] Returning cached instance for ${cacheKey}, context has ref:`, cachedContext.ref);
1933
+ // Update cached instance if new property data has fields that the cached instance doesn't have
1934
+ // This handles cases where the property was created without ref initially, but now we have ref from schema
1935
+ const needsUpdate = {};
1936
+ if (propertyWithId.ref && !cachedContext.ref) {
1937
+ needsUpdate.ref = propertyWithId.ref;
1938
+ }
1939
+ if (propertyWithId.refModelName && !cachedContext.refModelName) {
1940
+ needsUpdate.refModelName = propertyWithId.refModelName;
1941
+ }
1942
+ if (propertyWithId.refModelId && !cachedContext.refModelId) {
1943
+ needsUpdate.refModelId = propertyWithId.refModelId;
1944
+ }
1945
+ if (Object.keys(needsUpdate).length > 0) {
1946
+ console.log(`[ModelProperty.create] Updating cached instance with missing fields:`, needsUpdate);
1947
+ instance._service.send({
1948
+ type: 'updateContext',
1949
+ ...needsUpdate,
1950
+ });
1951
+ }
1952
+ this.instanceCache.set(cacheKey, {
1953
+ instance,
1954
+ refCount: refCount + 1,
1955
+ });
1956
+ if (!waitForReady)
1957
+ return instance;
1958
+ return waitForEntityIdle(instance, { timeout: readyTimeout }).then(() => instance);
1959
+ }
1960
+ // Debug: Log what's being passed to the constructor
1961
+ console.log(`[ModelProperty.create] propertyWithId before constructor:`, JSON.stringify({
1962
+ name: propertyWithId.name,
1963
+ modelName: propertyWithId.modelName,
1964
+ ref: propertyWithId.ref,
1965
+ refModelName: propertyWithId.refModelName,
1966
+ refModelId: propertyWithId.refModelId,
1967
+ dataType: propertyWithId.dataType,
1968
+ }, null, 2));
1969
+ const newInstance = new this(propertyWithId);
1970
+ // Debug: Log what's being passed to the constructor
1971
+ console.log(`[ModelProperty.create] Creating instance for ${propertyWithId.modelName}:${propertyWithId.name}`, {
1972
+ ref: propertyWithId.ref,
1973
+ refModelName: propertyWithId.refModelName,
1974
+ refModelId: propertyWithId.refModelId,
1975
+ dataType: propertyWithId.dataType
1976
+ });
1977
+ // Wrap instance in Proxy for reactive property access
1978
+ const proxiedInstance = createReactiveProxy({
1979
+ instance: newInstance,
1980
+ service: newInstance._service,
1981
+ trackedProperties: TPropertyKeys,
1982
+ getContext: (instance) => {
1983
+ const context = instance._getSnapshotContext();
1984
+ return context;
1985
+ },
1986
+ sendUpdate: (instance, prop, value) => {
1987
+ if (prop === 'name') {
1988
+ const currentContext = instance._getSnapshotContext();
1989
+ console.log(`[ModelProperty.sendUpdate] Name change: "${currentContext.name}" -> "${value}"`);
1990
+ console.log(`[ModelProperty.sendUpdate] Current state: ${instance._service.getSnapshot().value}`);
1991
+ console.log(`[ModelProperty.sendUpdate] Has _originalValues: ${!!currentContext._originalValues}`);
1992
+ }
1993
+ instance._service.send({
1994
+ type: 'updateContext',
1995
+ [prop]: value,
1996
+ });
1997
+ if (prop === 'name') {
1998
+ // Check state after sending
1999
+ setTimeout(() => {
2000
+ const newState = instance._service.getSnapshot().value;
2001
+ console.log(`[ModelProperty.sendUpdate] State after name change: ${newState}`);
2002
+ }, 10);
2003
+ }
2004
+ },
2005
+ });
2006
+ this.instanceCache.set(cacheKey, {
2007
+ instance: proxiedInstance,
2008
+ refCount: 1,
2009
+ });
2010
+ // Trigger write process if property has modelId (or modelName) and id (schemaFileId)
2011
+ // Wait for service to be ready (idle state) and have writeProcess spawned
2012
+ const propertyFileId = propertyWithId.id; // id is now the schemaFileId (string)
2013
+ const hasModelId = propertyWithId.modelId || propertyWithId.modelName;
2014
+ if (hasModelId && propertyFileId) {
2015
+ // Wait for writeProcess to be spawned (it's spawned in idle state entry action)
2016
+ // Retry a few times if writeProcess isn't available yet
2017
+ let retries = 0;
2018
+ const maxRetries = 10;
2019
+ const checkAndSend = async () => {
2020
+ const service = proxiedInstance.getService();
2021
+ const snapshot = service.getSnapshot();
2022
+ if (snapshot.value === 'idle' && snapshot.context.writeProcess) {
2023
+ const writeProcess = snapshot.context.writeProcess;
2024
+ // Resolve dbModelId - convert from string (modelFileId) to number (database ID) if needed
2025
+ let resolvedModelId = undefined;
2026
+ if (propertyWithId.modelId) {
2027
+ if (typeof propertyWithId.modelId === 'number') {
2028
+ resolvedModelId = propertyWithId.modelId;
2029
+ }
2030
+ else if (typeof propertyWithId.modelId === 'string') {
2031
+ // modelId is a string (modelFileId), need to convert to database ID
2032
+ try {
2033
+ const { getModelIdByFileId } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aW; });
2034
+ resolvedModelId = await getModelIdByFileId(propertyWithId.modelId);
2035
+ logger(`Converted modelFileId "${propertyWithId.modelId}" to database modelId: ${resolvedModelId}`);
2036
+ }
2037
+ catch (error) {
2038
+ logger(`Failed to convert modelFileId "${propertyWithId.modelId}" to database ID: ${error}`);
2039
+ console.error(`[ModelProperty.create] Failed to convert modelFileId: ${error}`);
2040
+ }
2041
+ }
2042
+ }
2043
+ // If we still don't have a modelId, try to resolve it from modelName
2044
+ if (!resolvedModelId && propertyWithId.modelName) {
2045
+ try {
2046
+ const { getModelId } = await import('./ClientManager-DoHUt8tU.js').then(function (n) { return n.aW; });
2047
+ // Get schemaName from context if available
2048
+ const schemaName = snapshot.context._schemaName;
2049
+ resolvedModelId = await getModelId(propertyWithId.modelName, schemaName);
2050
+ logger(`Resolved modelId for model "${propertyWithId.modelName}": ${resolvedModelId}`);
2051
+ }
2052
+ catch (error) {
2053
+ logger(`Failed to resolve modelId for model "${propertyWithId.modelName}": ${error}`);
2054
+ console.error(`[ModelProperty.create] Failed to resolve modelId: ${error}`);
2055
+ }
2056
+ }
2057
+ if (!resolvedModelId) {
2058
+ logger(`ERROR: Cannot write property "${property.name}" - no modelId available`);
2059
+ console.error(`[ModelProperty.create] ERROR: Cannot write property "${property.name}" - no modelId available. modelId: ${propertyWithId.modelId}, modelName: ${propertyWithId.modelName}`);
2060
+ // Don't clear pending write here - it might resolve later
2061
+ return;
2062
+ }
2063
+ // Track pending write now that we have the resolved modelId
2064
+ this.trackPendingWrite(propertyFileId, resolvedModelId);
2065
+ logger(`Triggering write process for property "${property.name}" (modelId: ${resolvedModelId}, propertyFileId: ${propertyFileId})`);
2066
+ // Check current write state
2067
+ const currentWriteState = writeProcess.getSnapshot();
2068
+ if (currentWriteState.value === 'success') {
2069
+ // Write already succeeded, clear pending write immediately
2070
+ this.clearPendingWrite(propertyFileId, 'success');
2071
+ }
2072
+ else {
2073
+ // Set up subscription to catch future state changes
2074
+ const writeSubscription = writeProcess.subscribe((writeSnapshot) => {
2075
+ if (writeSnapshot.value === 'success') {
2076
+ writeSubscription.unsubscribe();
2077
+ logger(`[writeProcess subscription] Write succeeded for property "${property.name}" (propertyFileId: ${propertyFileId})`);
2078
+ // Clear pending write on success
2079
+ this.clearPendingWrite(propertyFileId, 'success');
2080
+ }
2081
+ else if (writeSnapshot.value === 'error') {
2082
+ writeSubscription.unsubscribe();
2083
+ const errorContext = writeSnapshot.context;
2084
+ logger(`Write process failed for property "${property.name}" (propertyFileId: ${propertyFileId}): ${errorContext.error?.message || 'Unknown error'}`);
2085
+ logger(`Write process error details:`, errorContext.error);
2086
+ // Mark pending write as error
2087
+ this.clearPendingWrite(propertyFileId, 'error');
2088
+ }
2089
+ });
2090
+ }
2091
+ const propertyData = {
2092
+ modelId: resolvedModelId,
2093
+ name: property.name,
2094
+ dataType: property.dataType,
2095
+ refModelId: property.refModelId,
2096
+ refValueType: property.refValueType,
2097
+ storageType: property.storageType,
2098
+ localStorageDir: property.localStorageDir,
2099
+ filenameSuffix: property.filenameSuffix,
2100
+ };
2101
+ service.send({
2102
+ type: 'requestWrite',
2103
+ data: propertyData,
2104
+ });
2105
+ }
2106
+ else if (retries < maxRetries) {
2107
+ retries++;
2108
+ setTimeout(checkAndSend, 50); // Retry after 50ms
2109
+ }
2110
+ else {
2111
+ logger(`ERROR: writeProcess not available after ${maxRetries} retries for property "${property.name}" (propertyFileId: ${propertyFileId})`);
2112
+ console.error(`[ModelProperty.create] ERROR: writeProcess not available after ${maxRetries} retries for property "${property.name}" (propertyFileId: ${propertyFileId})`);
2113
+ // Mark as error if we couldn't even start the write process
2114
+ this.clearPendingWrite(propertyFileId, 'error');
2115
+ }
2116
+ };
2117
+ // Start checking after a short delay to allow state machine to initialize
2118
+ setTimeout(checkAndSend, 0);
2119
+ }
2120
+ if (!waitForReady)
2121
+ return proxiedInstance;
2122
+ return waitForEntityIdle(proxiedInstance, { timeout: readyTimeout }).then(() => proxiedInstance);
2123
+ }
2124
+ /**
2125
+ * Get ModelProperty instance by propertyFileId from static cache
2126
+ */
2127
+ static getById(propertyFileId) {
2128
+ if (!propertyFileId)
2129
+ return undefined;
2130
+ // Search through cache to find by propertyFileId
2131
+ // Cache key might be "modelName:propertyName" or "id:propertyId"
2132
+ for (const [cacheKey, { instance }] of this.instanceCache.entries()) {
2133
+ const context = instance._getSnapshotContext();
2134
+ // id is now the schemaFileId (string)
2135
+ if (context.id === propertyFileId) {
2136
+ return instance;
2137
+ }
2138
+ }
2139
+ return undefined;
2140
+ }
2141
+ /**
2142
+ * Create or get ModelProperty instance by propertyFileId
2143
+ * Queries the database to find the property if not cached
2144
+ */
2145
+ static async createById(propertyFileId) {
2146
+ if (!propertyFileId) {
2147
+ return undefined;
2148
+ }
2149
+ // First, check if we have an instance cached
2150
+ const cachedInstance = this.getById(propertyFileId);
2151
+ if (cachedInstance) {
2152
+ return cachedInstance;
2153
+ }
2154
+ // Query database to get property data from ID
2155
+ const { eq } = await import('drizzle-orm');
2156
+ const db = BaseDb.getAppDb();
2157
+ console.log('db', !!db);
2158
+ if (!db) {
2159
+ console.log('db not found');
2160
+ return undefined;
2161
+ }
2162
+ const testRecords = await db
2163
+ .select()
2164
+ .from(properties)
2165
+ .limit(100);
2166
+ console.log('testRecords', testRecords);
2167
+ const propertyRecords = await db
2168
+ .select()
2169
+ .from(properties)
2170
+ .where(eq(properties.schemaFileId, propertyFileId))
2171
+ .limit(1);
2172
+ console.log('propertyRecords', propertyRecords);
2173
+ if (propertyRecords.length === 0) {
2174
+ return undefined;
2175
+ }
2176
+ const propertyRecord = propertyRecords[0];
2177
+ // Get model name
2178
+ const modelRecords = await db
2179
+ .select({ name: models.name })
2180
+ .from(models)
2181
+ .where(eq(models.id, propertyRecord.modelId))
2182
+ .limit(1);
2183
+ if (modelRecords.length === 0) {
2184
+ return undefined;
2185
+ }
2186
+ const modelName = modelRecords[0].name;
2187
+ // Build property data
2188
+ // id is now the schemaFileId (string), _dbId is the database integer ID
2189
+ const propertyData = {
2190
+ id: propertyFileId, // schemaFileId (string) - public ID
2191
+ _dbId: propertyRecord.id ?? undefined, // Database integer ID - internal only
2192
+ name: propertyRecord.name,
2193
+ dataType: propertyRecord.dataType,
2194
+ modelId: propertyRecord.modelId,
2195
+ modelName,
2196
+ refModelId: propertyRecord.refModelId || undefined,
2197
+ refValueType: propertyRecord.refValueType ? propertyRecord.refValueType : undefined,
2198
+ };
2199
+ // Load isEdited from database
2200
+ const isEditedFromDb = propertyRecord.isEdited ?? false;
2201
+ // Get ref model name if applicable
2202
+ if (propertyRecord.refModelId) {
2203
+ const refModelRecords = await db
2204
+ .select({ name: models.name })
2205
+ .from(models)
2206
+ .where(eq(models.id, propertyRecord.refModelId))
2207
+ .limit(1);
2208
+ if (refModelRecords.length > 0) {
2209
+ propertyData.refModelName = refModelRecords[0].name;
2210
+ propertyData.ref = refModelRecords[0].name;
2211
+ }
2212
+ }
2213
+ // Create ModelProperty instance (sync for createById so we can send updateContext)
2214
+ const instance = this.create(propertyData, { waitForReady: false });
2215
+ // Set isEdited from database after creation
2216
+ if (isEditedFromDb) {
2217
+ instance._service.send({
2218
+ type: 'updateContext',
2219
+ _isEdited: true,
2220
+ });
2221
+ }
2222
+ return instance;
2223
+ }
2224
+ /**
2225
+ * Find ModelProperty instance by propertyFileId
2226
+ * Waits for the property to be fully loaded (idle state) by default
2227
+ * @param options - Find options including propertyFileId and wait configuration
2228
+ * @returns ModelProperty instance if found, undefined otherwise
2229
+ */
2230
+ static async find({ propertyFileId, waitForReady = true, readyTimeout = 5000, }) {
2231
+ if (!propertyFileId) {
2232
+ return undefined;
2233
+ }
2234
+ return await findEntity({
2235
+ getById: (id) => ModelProperty.getById(id),
2236
+ createById: (id) => ModelProperty.createById(id),
2237
+ }, { id: propertyFileId }, {
2238
+ waitForReady,
2239
+ readyTimeout,
2240
+ });
2241
+ }
2242
+ /**
2243
+ * Get all ModelProperty instances for a model.
2244
+ * Loads property rows from DB for the given modelFileId, creates instances via createById, optionally waits for idle.
2245
+ */
2246
+ static async all(modelFileId, options) {
2247
+ const { waitForReady = false, readyTimeout = 5000 } = options ?? {};
2248
+ if (!modelFileId) {
2249
+ return [];
2250
+ }
2251
+ const rows = await getModelPropertiesData(modelFileId);
2252
+ const instances = [];
2253
+ for (const row of rows) {
2254
+ if (row.schemaFileId) {
2255
+ const instance = await this.createById(row.schemaFileId);
2256
+ if (instance) {
2257
+ instances.push(instance);
2258
+ }
2259
+ }
2260
+ }
2261
+ if (waitForReady && instances.length > 0) {
2262
+ await Promise.all(instances.map((p) => waitForEntityIdle(p, {
2263
+ timeout: readyTimeout,
2264
+ })));
2265
+ }
2266
+ return instances;
2267
+ }
2268
+ /**
2269
+ * Track a pending write for a property
2270
+ */
2271
+ static trackPendingWrite(propertyFileId, modelId) {
2272
+ this.pendingWrites.set(propertyFileId, {
2273
+ propertyFileId,
2274
+ modelId,
2275
+ status: 'pending',
2276
+ timestamp: Date.now(),
2277
+ });
2278
+ }
2279
+ /**
2280
+ * Clear or update pending write status
2281
+ */
2282
+ static clearPendingWrite(propertyFileId, status = 'success') {
2283
+ const write = this.pendingWrites.get(propertyFileId);
2284
+ if (write) {
2285
+ if (status === 'success') {
2286
+ // Remove successful writes from pendingWrites
2287
+ this.pendingWrites.delete(propertyFileId);
2288
+ logger(`Cleared pending write for property "${propertyFileId}" (status: success)`);
2289
+ }
2290
+ else {
2291
+ // Update status to error but keep in map (for debugging/retry purposes)
2292
+ write.status = 'error';
2293
+ this.pendingWrites.set(propertyFileId, write);
2294
+ logger(`Marked pending write as error for property "${propertyFileId}"`);
2295
+ }
2296
+ }
2297
+ }
2298
+ /**
2299
+ * Get all pending property IDs for a model
2300
+ */
2301
+ static getPendingPropertyIds(modelId) {
2302
+ return Array.from(this.pendingWrites.entries())
2303
+ .filter(([_, write]) => write.modelId === modelId && write.status !== 'error')
2304
+ .map(([propertyFileId]) => propertyFileId);
2305
+ }
2306
+ /**
2307
+ * Get modelId for a property that has a pending write (row may not be in DB yet).
2308
+ * Used to resolve modelName when validating a just-created property rename.
2309
+ */
2310
+ static getPendingModelId(propertyFileId) {
2311
+ return this.pendingWrites.get(propertyFileId)?.modelId;
2312
+ }
2313
+ getService() {
2314
+ return this._service;
2315
+ }
2316
+ _getSnapshot() {
2317
+ return this._service.getSnapshot();
2318
+ }
2319
+ _getSnapshotContext() {
2320
+ return this._getSnapshot().context;
2321
+ }
2322
+ get path() {
2323
+ const workingDir = BaseFileManager.getWorkingDir();
2324
+ if (!this.localStorageDir || !this.name || !this.filenameSuffix) {
2325
+ return undefined;
2326
+ }
2327
+ return `${workingDir}/${this.localStorageDir}/${this.name}${this.filenameSuffix || ''}`;
2328
+ }
2329
+ get status() {
2330
+ return this._getSnapshot().value;
2331
+ }
2332
+ get isEdited() {
2333
+ const context = this._getSnapshotContext();
2334
+ // First check in-memory state
2335
+ if (context._isEdited !== undefined) {
2336
+ return context._isEdited;
2337
+ }
2338
+ // Fall back to reading from database if we have _dbId
2339
+ if (context._dbId) {
2340
+ // Load from database asynchronously (fire-and-forget for now)
2341
+ // For synchronous getter, we'll need to cache it or make it async
2342
+ // For now, return false if not in context
2343
+ return false;
2344
+ }
2345
+ return false;
2346
+ }
2347
+ get validationErrors() {
2348
+ return this._getSnapshotContext()._validationErrors || [];
2349
+ }
2350
+ get isValid() {
2351
+ const errors = this.validationErrors;
2352
+ return errors.length === 0;
2353
+ }
2354
+ /**
2355
+ * Validate the property
2356
+ * @returns Validation result
2357
+ */
2358
+ async validate() {
2359
+ return new Promise((resolve) => {
2360
+ let resolved = false;
2361
+ const subscription = this._service.subscribe((snapshot) => {
2362
+ const state = snapshot.value;
2363
+ // Wait for validation to complete (idle state after validating)
2364
+ if (state === 'idle' && !resolved) {
2365
+ resolved = true;
2366
+ subscription.unsubscribe();
2367
+ const errors = snapshot.context._validationErrors || [];
2368
+ resolve({
2369
+ isValid: errors.length === 0,
2370
+ errors,
2371
+ });
2372
+ }
2373
+ });
2374
+ this._service.send({ type: 'validateProperty' });
2375
+ // Timeout fallback
2376
+ setTimeout(() => {
2377
+ if (!resolved) {
2378
+ resolved = true;
2379
+ subscription.unsubscribe();
2380
+ const errors = this._getSnapshotContext()._validationErrors || [];
2381
+ resolve({
2382
+ isValid: errors.length === 0,
2383
+ errors,
2384
+ });
2385
+ }
2386
+ }, 5000);
2387
+ });
2388
+ }
2389
+ save() {
2390
+ // Validation will happen automatically in the machine before saving
2391
+ this._service.send({
2392
+ type: 'saveToSchema',
2393
+ });
2394
+ }
2395
+ /**
2396
+ * Reload property from database
2397
+ * This refreshes the actor context with the latest data from the database
2398
+ * Note: ModelProperty doesn't have a dedicated load actor, so this will
2399
+ * re-initialize from the current property data
2400
+ */
2401
+ async reload() {
2402
+ // ModelProperty doesn't have a separate load mechanism
2403
+ // It's loaded as part of the Model/Schema
2404
+ // This method is provided for API consistency
2405
+ // To actually reload, you'd need to reload the parent Model or Schema
2406
+ logger('ModelProperty.reload() called - ModelProperty is loaded as part of Model/Schema. Reload the parent Model or Schema instead.');
2407
+ // No-op for now, but could be enhanced to reload from DB if needed
2408
+ }
2409
+ unload() {
2410
+ // ModelProperty doesn't have liveQuery subscriptions or complex cache management
2411
+ // Just stop the service
2412
+ try {
2413
+ this._service.stop();
2414
+ }
2415
+ catch (error) {
2416
+ // Service might already be stopped
2417
+ }
2418
+ }
2419
+ /**
2420
+ * Destroy the model property: remove from caches, delete from database, update Schema context, stop service.
2421
+ */
2422
+ async destroy() {
2423
+ const context = this._getSnapshotContext();
2424
+ const cacheKey = context.modelName && context.name
2425
+ ? `${context.modelName}:${context.name}`
2426
+ : (context.id ?? '');
2427
+ if (!cacheKey)
2428
+ return;
2429
+ forceRemoveFromCaches(this, {
2430
+ getCacheKeys: () => [cacheKey],
2431
+ caches: [ModelProperty.instanceCache],
2432
+ });
2433
+ await runDestroyLifecycle(this, {
2434
+ getService: (instance) => instance._service,
2435
+ doDestroy: async () => {
2436
+ const db = BaseDb.getAppDb();
2437
+ const schemaName = context._schemaName;
2438
+ const modelName = context.modelName;
2439
+ const propertyName = context.name;
2440
+ if (!modelName || !propertyName)
2441
+ return;
2442
+ if (db && schemaName) {
2443
+ const propertyRecords = await db
2444
+ .select({ propertyId: properties.id })
2445
+ .from(properties)
2446
+ .innerJoin(models, eq(properties.modelId, models.id))
2447
+ .innerJoin(modelSchemas, eq(models.id, modelSchemas.modelId))
2448
+ .innerJoin(schemas, eq(modelSchemas.schemaId, schemas.id))
2449
+ .where(and(eq(schemas.name, schemaName), eq(models.name, modelName), eq(properties.name, propertyName)))
2450
+ .limit(1);
2451
+ if (propertyRecords.length > 0 && propertyRecords[0].propertyId != null) {
2452
+ await db
2453
+ .delete(properties)
2454
+ .where(eq(properties.id, propertyRecords[0].propertyId));
2455
+ }
2456
+ }
2457
+ if (schemaName) {
2458
+ const { Schema } = await import('./Schema-ClTcpgbt.js');
2459
+ const schema = Schema.create(schemaName, { waitForReady: false });
2460
+ const snapshot = schema.getService().getSnapshot();
2461
+ const schemaContext = snapshot.context;
2462
+ if (schemaContext.models?.[modelName]?.properties?.[propertyName]) {
2463
+ const updatedModels = { ...schemaContext.models };
2464
+ const updatedProperties = { ...updatedModels[modelName].properties };
2465
+ delete updatedProperties[propertyName];
2466
+ updatedModels[modelName] = { ...updatedModels[modelName], properties: updatedProperties };
2467
+ schema.getService().send({ type: 'updateContext', models: updatedModels });
2468
+ schema.getService().send({ type: 'markAsDraft', propertyKey: `property:${modelName}:${propertyName}` });
2469
+ }
2470
+ }
2471
+ },
2472
+ });
2473
+ }
2474
+ }
2475
+ ModelProperty.instanceCache = new Map();
2476
+ // Pending writes tracking
2477
+ ModelProperty.pendingWrites = new Map();
2478
+
2479
+ var ModelProperty$1 = /*#__PURE__*/Object.freeze({
2480
+ __proto__: null,
2481
+ ModelProperty: ModelProperty
2482
+ });
2483
+
2484
+ export { ModelProperty as M, deleteModelFromSchema as a, ModelProperty$1 as b, convertPropertyToSchemaUpdate as c, deletePropertyFromModel as d, renameModelProperty as r, updateModelProperties as u, writeFullSchemaNewVersion as w };
2485
+ //# sourceMappingURL=ModelProperty-gjcA83Mq.js.map