@seedprotocol/sdk 0.4.1 → 0.4.3

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 (1375) hide show
  1. package/dist/ArweaveClient-BvJ1FhQ5.js +202 -0
  2. package/dist/ArweaveClient-BvJ1FhQ5.js.map +1 -0
  3. package/dist/ArweaveClient-CleX_4Gw.js +202 -0
  4. package/dist/ArweaveClient-CleX_4Gw.js.map +1 -0
  5. package/dist/Db-BPnO1-_p.js +343 -0
  6. package/dist/Db-BPnO1-_p.js.map +1 -0
  7. package/dist/Db-DX08SxS9.js +1521 -0
  8. package/dist/Db-DX08SxS9.js.map +1 -0
  9. package/dist/EasClient-BwhUcPjY.js +29 -0
  10. package/dist/EasClient-BwhUcPjY.js.map +1 -0
  11. package/dist/EasClient-CJSs38Db.js +29 -0
  12. package/dist/EasClient-CJSs38Db.js.map +1 -0
  13. package/dist/FileManager-B1tdLMsX.js +1152 -0
  14. package/dist/FileManager-B1tdLMsX.js.map +1 -0
  15. package/dist/FileManager-Ct91ZhOE.js +165 -0
  16. package/dist/FileManager-Ct91ZhOE.js.map +1 -0
  17. package/dist/Item/Item.d.ts +113 -0
  18. package/dist/Item/Item.d.ts.map +1 -0
  19. package/dist/Item/queries.d.ts.map +1 -0
  20. package/dist/Item/service/actors/fetchDataFromEas.d.ts +4 -0
  21. package/dist/Item/service/actors/fetchDataFromEas.d.ts.map +1 -0
  22. package/dist/Item/service/actors/hydrateExistingItem.d.ts.map +1 -0
  23. package/dist/Item/service/actors/hydrateNewItem.d.ts.map +1 -0
  24. package/dist/Item/service/actors/initialize.d.ts.map +1 -0
  25. package/dist/Item/service/actors/loadOrCreateItem.d.ts.map +1 -0
  26. package/dist/Item/service/actors/reload.d.ts.map +1 -0
  27. package/dist/Item/service/actors/saveDataToDb.d.ts +4 -0
  28. package/dist/Item/service/actors/saveDataToDb.d.ts.map +1 -0
  29. package/dist/Item/service/actors/waitForDb.d.ts.map +1 -0
  30. package/dist/Item/service/itemMachineSingle.d.ts +48 -0
  31. package/dist/Item/service/itemMachineSingle.d.ts.map +1 -0
  32. package/dist/ItemProperty/ItemProperty.d.ts +93 -0
  33. package/dist/ItemProperty/ItemProperty.d.ts.map +1 -0
  34. package/dist/ItemProperty/service/actors/hydrateFromDb.d.ts.map +1 -0
  35. package/dist/ItemProperty/service/actors/initialize.d.ts.map +1 -0
  36. package/dist/ItemProperty/service/actors/loadOrCreateProperty.d.ts.map +1 -0
  37. package/dist/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +1 -0
  38. package/dist/ItemProperty/service/actors/resolveRemoteStorage.d.ts.map +1 -0
  39. package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts.map +1 -0
  40. package/dist/ItemProperty/service/actors/saveValueToDb/index.d.ts.map +1 -0
  41. package/dist/ItemProperty/service/actors/saveValueToDb/saveImage.d.ts.map +1 -0
  42. package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts.map +1 -0
  43. package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.d.ts.map +1 -0
  44. package/dist/ItemProperty/service/actors/waitForDb.d.ts.map +1 -0
  45. package/dist/ItemProperty/service/propertyMachine.d.ts +68 -0
  46. package/dist/ItemProperty/service/propertyMachine.d.ts.map +1 -0
  47. package/dist/Model/Model.d.ts +218 -0
  48. package/dist/Model/Model.d.ts.map +1 -0
  49. package/dist/Model/index.d.ts +26 -0
  50. package/dist/Model/index.d.ts.map +1 -0
  51. package/dist/Model/service/actors/createModelProperties.d.ts.map +1 -0
  52. package/dist/Model/service/actors/loadOrCreateModel.d.ts.map +1 -0
  53. package/dist/Model/service/actors/validateModel.d.ts.map +1 -0
  54. package/dist/Model/service/modelMachine.d.ts +207 -0
  55. package/dist/Model/service/modelMachine.d.ts.map +1 -0
  56. package/dist/ModelProperty/ModelProperty.d.ts +123 -0
  57. package/dist/ModelProperty/ModelProperty.d.ts.map +1 -0
  58. package/dist/ModelProperty/service/actors/compareAndMarkDraft.d.ts.map +1 -0
  59. package/dist/ModelProperty/service/actors/saveToSchema.d.ts.map +1 -0
  60. package/dist/ModelProperty/service/actors/validateProperty.d.ts.map +1 -0
  61. package/dist/ModelProperty/service/modelPropertyMachine.d.ts +183 -0
  62. package/dist/ModelProperty/service/modelPropertyMachine.d.ts.map +1 -0
  63. package/dist/ModelProperty-Cr3BmgkC.js +2218 -0
  64. package/dist/ModelProperty-Cr3BmgkC.js.map +1 -0
  65. package/dist/PathResolver-BErmcZqP.js +191 -0
  66. package/dist/PathResolver-BErmcZqP.js.map +1 -0
  67. package/dist/PathResolver-DJdxE_OK.js +78 -0
  68. package/dist/PathResolver-DJdxE_OK.js.map +1 -0
  69. package/dist/QueryClient-D2mv63gP.js +34 -0
  70. package/dist/QueryClient-D2mv63gP.js.map +1 -0
  71. package/dist/QueryClient-DIu9c-w6.js +47 -0
  72. package/dist/QueryClient-DIu9c-w6.js.map +1 -0
  73. package/dist/Schema/Schema.d.ts +165 -0
  74. package/dist/Schema/Schema.d.ts.map +1 -0
  75. package/dist/Schema/errors.d.ts.map +1 -0
  76. package/dist/Schema/index.d.ts.map +1 -0
  77. package/dist/Schema/service/actors/checkExistingSchema.d.ts.map +1 -0
  78. package/dist/Schema/service/actors/createModelInstances.d.ts.map +1 -0
  79. package/dist/Schema/service/actors/createPropertyInstances.d.ts.map +1 -0
  80. package/dist/Schema/service/actors/loadOrCreateSchema.d.ts.map +1 -0
  81. package/dist/Schema/service/actors/validateSchema.d.ts.map +1 -0
  82. package/dist/Schema/service/actors/verifyModelInstancesInCache.d.ts.map +1 -0
  83. package/dist/Schema/service/actors/verifyModelsInDb.d.ts.map +1 -0
  84. package/dist/Schema/service/actors/verifyPropertiesInDb.d.ts.map +1 -0
  85. package/dist/Schema/service/actors/verifyPropertyInstancesInCache.d.ts.map +1 -0
  86. package/dist/Schema/service/actors/verifySchemaInDb.d.ts.map +1 -0
  87. package/dist/Schema/service/actors/writeModelsToDb.d.ts.map +1 -0
  88. package/dist/Schema/service/actors/writePropertiesToDb.d.ts.map +1 -0
  89. package/dist/Schema/service/actors/writeSchemaToDb.d.ts.map +1 -0
  90. package/dist/Schema/service/addModelsMachine.d.ts +123 -0
  91. package/dist/Schema/service/addModelsMachine.d.ts.map +1 -0
  92. package/dist/Schema/service/schemaMachine.d.ts +512 -0
  93. package/dist/Schema/service/schemaMachine.d.ts.map +1 -0
  94. package/dist/Schema/service/validation/SchemaValidationService.d.ts.map +1 -0
  95. package/dist/Schema/validation.d.ts.map +1 -0
  96. package/dist/Schema-DeKabJ0T.js +5745 -0
  97. package/dist/Schema-DeKabJ0T.js.map +1 -0
  98. package/dist/SchemaValidationService-cTlURuDt.js +563 -0
  99. package/dist/SchemaValidationService-cTlURuDt.js.map +1 -0
  100. package/dist/browser/db/Db.d.ts.map +1 -0
  101. package/dist/browser/db/drizzleFiles.d.ts.map +1 -0
  102. package/dist/browser/db/sqlWasmClient.d.ts.map +1 -0
  103. package/dist/browser/helpers/ArweaveClient.d.ts +31 -0
  104. package/dist/browser/helpers/ArweaveClient.d.ts.map +1 -0
  105. package/dist/browser/helpers/EasClient.d.ts.map +1 -0
  106. package/dist/browser/helpers/FileManager.d.ts.map +1 -0
  107. package/dist/browser/helpers/PathResolver.d.ts.map +1 -0
  108. package/dist/browser/helpers/QueryClient.d.ts.map +1 -0
  109. package/dist/browser/helpers/index.d.ts +4 -0
  110. package/dist/browser/helpers/index.d.ts.map +1 -0
  111. package/dist/browser/index.d.ts +4 -0
  112. package/dist/browser/index.d.ts.map +1 -0
  113. package/dist/browser/react/OPFSImage.d.ts.map +1 -0
  114. package/dist/browser/react/SeedImage.d.ts.map +1 -0
  115. package/dist/browser/react/client.d.ts.map +1 -0
  116. package/dist/browser/react/db.d.ts.map +1 -0
  117. package/dist/browser/react/index.d.ts.map +1 -0
  118. package/dist/browser/react/item.d.ts +38 -0
  119. package/dist/browser/react/item.d.ts.map +1 -0
  120. package/dist/browser/react/itemProperty.d.ts.map +1 -0
  121. package/dist/browser/react/liveQuery.d.ts.map +1 -0
  122. package/dist/browser/react/model.d.ts.map +1 -0
  123. package/dist/browser/react/modelProperty.d.ts.map +1 -0
  124. package/dist/browser/react/schema.d.ts.map +1 -0
  125. package/dist/browser/react/services.d.ts.map +1 -0
  126. package/dist/browser/react/trash.d.ts +6 -0
  127. package/dist/browser/react/trash.d.ts.map +1 -0
  128. package/dist/browser/seed.d.ts +21 -0
  129. package/dist/browser/seed.d.ts.map +1 -0
  130. package/dist/browser/workers/FileDownloader.d.ts.map +1 -0
  131. package/dist/browser/workers/ImageResizer.d.ts.map +1 -0
  132. package/dist/browser/workers/content-hash.d.ts.map +1 -0
  133. package/dist/browser/workers/dbWorker.d.ts.map +1 -0
  134. package/dist/browser/workers/filesDownload.d.ts.map +1 -0
  135. package/dist/browser/workers/imageResize.d.ts.map +1 -0
  136. package/dist/cjs/ModelProperty-MkN5Rmx7.js +1866 -0
  137. package/dist/cjs/ModelProperty-MkN5Rmx7.js.map +1 -0
  138. package/dist/cjs/Schema-B5cr_JVK.js +5762 -0
  139. package/dist/cjs/Schema-B5cr_JVK.js.map +1 -0
  140. package/dist/cjs/SchemaValidationService-BgIzc3-r.js +579 -0
  141. package/dist/cjs/SchemaValidationService-BgIzc3-r.js.map +1 -0
  142. package/dist/cjs/getItem-CVJJPky2.js +55 -0
  143. package/dist/cjs/getItem-CVJJPky2.js.map +1 -0
  144. package/dist/cjs/getPublishPayload-DbOc3WA-.js +323 -0
  145. package/dist/cjs/getPublishPayload-DbOc3WA-.js.map +1 -0
  146. package/dist/cjs/getPublishUploads-NzioLz-3.js +229 -0
  147. package/dist/cjs/getPublishUploads-NzioLz-3.js.map +1 -0
  148. package/dist/cjs/getSegmentedItemProperties-BsaklLwI.js +61 -0
  149. package/dist/cjs/getSegmentedItemProperties-BsaklLwI.js.map +1 -0
  150. package/dist/cjs/index-BmIVfqGN.js +16231 -0
  151. package/dist/cjs/index-BmIVfqGN.js.map +1 -0
  152. package/dist/cjs/index-C_0angRB.js +57 -0
  153. package/dist/cjs/index-C_0angRB.js.map +1 -0
  154. package/dist/client/BaseClientManager.d.ts.map +1 -0
  155. package/dist/client/ClientManager.d.ts.map +1 -0
  156. package/dist/client/actions/setAddresses.d.ts.map +1 -0
  157. package/dist/client/actors/addModelsToDb.d.ts.map +1 -0
  158. package/dist/client/actors/addModelsToStore.d.ts.map +1 -0
  159. package/dist/client/actors/dbInit.d.ts.map +1 -0
  160. package/dist/client/actors/fileSystemInit.d.ts.map +1 -0
  161. package/dist/client/actors/platformClassesInit.d.ts.map +1 -0
  162. package/dist/client/actors/processSchemaFiles.d.ts.map +1 -0
  163. package/dist/client/actors/saveAppState.d.ts.map +1 -0
  164. package/dist/client/actors/saveConfig.d.ts.map +1 -0
  165. package/dist/client/clientManagerMachine.d.ts.map +1 -0
  166. package/dist/client/constants.d.ts +89 -0
  167. package/dist/client/constants.d.ts.map +1 -0
  168. package/dist/client/index.d.ts.map +1 -0
  169. package/dist/db/Db/BaseDb.d.ts +42 -0
  170. package/dist/db/Db/BaseDb.d.ts.map +1 -0
  171. package/dist/db/configs/dev.schema.config.d.ts.map +1 -0
  172. package/dist/db/read/getExistingItem.d.ts +12 -0
  173. package/dist/db/read/getExistingItem.d.ts.map +1 -0
  174. package/dist/db/read/getItem.d.ts.map +1 -0
  175. package/dist/db/read/getItemData.d.ts.map +1 -0
  176. package/dist/db/read/getItemProperties.d.ts.map +1 -0
  177. package/dist/db/read/getItemProperty.d.ts.map +1 -0
  178. package/dist/db/read/getItems.d.ts.map +1 -0
  179. package/dist/db/read/getMetadata.d.ts.map +1 -0
  180. package/dist/db/read/getModelSchemas.d.ts.map +1 -0
  181. package/dist/db/read/getModels.d.ts.map +1 -0
  182. package/dist/db/read/getPropertyData.d.ts.map +1 -0
  183. package/dist/db/read/getPublishPayload.d.ts.map +1 -0
  184. package/dist/db/read/getPublishUploads.d.ts +16 -0
  185. package/dist/db/read/getPublishUploads.d.ts.map +1 -0
  186. package/dist/db/read/getRelationValueData.d.ts.map +1 -0
  187. package/dist/db/read/getSchemaUidForModel.d.ts.map +1 -0
  188. package/dist/db/read/getSeedData.d.ts.map +1 -0
  189. package/dist/db/read/getStorageTransactionIdForSeedUid.d.ts.map +1 -0
  190. package/dist/db/read/getVersionData.d.ts.map +1 -0
  191. package/dist/db/read/getVersionsForVersionUids.d.ts.map +1 -0
  192. package/dist/db/read/subqueries/metadataLatest.d.ts.map +1 -0
  193. package/dist/db/read/subqueries/versionData.d.ts.map +1 -0
  194. package/dist/db/write/createMetadata.d.ts.map +1 -0
  195. package/dist/db/write/createNewItem.d.ts.map +1 -0
  196. package/dist/db/write/createSeed.d.ts.map +1 -0
  197. package/dist/db/write/createSeeds.d.ts.map +1 -0
  198. package/dist/db/write/createVersion.d.ts.map +1 -0
  199. package/dist/db/write/deleteItem.d.ts.map +1 -0
  200. package/dist/db/write/recoverDeletedItem.d.ts.map +1 -0
  201. package/dist/db/write/saveAppState.d.ts.map +1 -0
  202. package/dist/db/write/saveMetadata.d.ts.map +1 -0
  203. package/dist/db/write/updateItemPropertyValue.d.ts +13 -0
  204. package/dist/db/write/updateItemPropertyValue.d.ts.map +1 -0
  205. package/dist/db/write/updateMetadata.d.ts.map +1 -0
  206. package/dist/eas.d.ts.map +1 -0
  207. package/dist/eslint-rules/align-imports.d.ts.map +1 -0
  208. package/dist/eventBus.d.ts.map +1 -0
  209. package/dist/events/files/download.d.ts +9 -0
  210. package/dist/events/files/download.d.ts.map +1 -0
  211. package/dist/events/files/index.d.ts.map +1 -0
  212. package/dist/events/index.d.ts.map +1 -0
  213. package/dist/events/item/index.d.ts +2 -0
  214. package/dist/events/item/index.d.ts.map +1 -0
  215. package/dist/events/item/publish.d.ts.map +1 -0
  216. package/dist/events/item/syncDbWithEas.d.ts.map +1 -0
  217. package/dist/events/services/allItems.d.ts.map +1 -0
  218. package/dist/events/services/index.d.ts.map +1 -0
  219. package/dist/feed.d.ts.map +1 -0
  220. package/dist/getItem-CcttmUY_.js +38 -0
  221. package/dist/getItem-CcttmUY_.js.map +1 -0
  222. package/dist/getPublishPayload-NFpqbd_H.js +307 -0
  223. package/dist/getPublishPayload-NFpqbd_H.js.map +1 -0
  224. package/dist/getPublishUploads-Cpb9vgwE.js +193 -0
  225. package/dist/getPublishUploads-Cpb9vgwE.js.map +1 -0
  226. package/dist/getSegmentedItemProperties-DiyQPMgI.js +59 -0
  227. package/dist/getSegmentedItemProperties-DiyQPMgI.js.map +1 -0
  228. package/dist/graphql/fragments/Attestation.d.ts.map +1 -0
  229. package/dist/graphql/fragments/Schema.d.ts.map +1 -0
  230. package/dist/graphql/fragments/index.d.ts.map +1 -0
  231. package/dist/graphql/gql/fragment-masking.d.ts.map +1 -0
  232. package/dist/graphql/gql/gql.d.ts.map +1 -0
  233. package/dist/graphql/gql/graphql.d.ts.map +1 -0
  234. package/dist/graphql/gql/index.d.ts.map +1 -0
  235. package/dist/helpers/ArweaveClient/BaseArweaveClient.d.ts +71 -0
  236. package/dist/helpers/ArweaveClient/BaseArweaveClient.d.ts.map +1 -0
  237. package/dist/helpers/ArweaveClient/index.d.ts +30 -0
  238. package/dist/helpers/ArweaveClient/index.d.ts.map +1 -0
  239. package/dist/helpers/ArweaveClient/queries.d.ts +13 -0
  240. package/dist/helpers/ArweaveClient/queries.d.ts.map +1 -0
  241. package/dist/helpers/EasClient/BaseEasClient.d.ts +10 -0
  242. package/dist/helpers/EasClient/BaseEasClient.d.ts.map +1 -0
  243. package/dist/helpers/FileManager/BaseFileManager.d.ts.map +1 -0
  244. package/dist/helpers/PathResolver/BasePathResolver.d.ts.map +1 -0
  245. package/dist/helpers/QueryClient/BaseQueryClient.d.ts.map +1 -0
  246. package/dist/helpers/constants.d.ts +67 -0
  247. package/dist/helpers/constants.d.ts.map +1 -0
  248. package/dist/helpers/crypto.d.ts.map +1 -0
  249. package/dist/helpers/db.d.ts.map +1 -0
  250. package/dist/helpers/entity/entityCache.d.ts +49 -0
  251. package/dist/helpers/entity/entityCache.d.ts.map +1 -0
  252. package/dist/helpers/entity/entityCommon.d.ts +23 -0
  253. package/dist/helpers/entity/entityCommon.d.ts.map +1 -0
  254. package/dist/helpers/entity/entityFind.d.ts +52 -0
  255. package/dist/helpers/entity/entityFind.d.ts.map +1 -0
  256. package/dist/helpers/entity/entityLiveQuery.d.ts +68 -0
  257. package/dist/helpers/entity/entityLiveQuery.d.ts.map +1 -0
  258. package/dist/helpers/entity/entityUnload.d.ts +50 -0
  259. package/dist/helpers/entity/entityUnload.d.ts.map +1 -0
  260. package/dist/helpers/entity/index.d.ts +10 -0
  261. package/dist/helpers/entity/index.d.ts.map +1 -0
  262. package/dist/helpers/environment.d.ts.map +1 -0
  263. package/dist/helpers/file/download/actors.d.ts +17 -0
  264. package/dist/helpers/file/download/actors.d.ts.map +1 -0
  265. package/dist/helpers/file/download/index.d.ts +70 -0
  266. package/dist/helpers/file/download/index.d.ts.map +1 -0
  267. package/dist/helpers/file/fetchAll/actors.d.ts +16 -0
  268. package/dist/helpers/file/fetchAll/actors.d.ts.map +1 -0
  269. package/dist/helpers/file/fetchAll/index.d.ts +58 -0
  270. package/dist/helpers/file/fetchAll/index.d.ts.map +1 -0
  271. package/dist/helpers/file/queries.d.ts.map +1 -0
  272. package/dist/helpers/files.d.ts.map +1 -0
  273. package/dist/helpers/getSchemaForItemProperty.d.ts.map +1 -0
  274. package/dist/helpers/getSegmentedItemProperties.d.ts +10 -0
  275. package/dist/helpers/getSegmentedItemProperties.d.ts.map +1 -0
  276. package/dist/helpers/image/queries.d.ts.map +1 -0
  277. package/dist/helpers/index.d.ts +28 -0
  278. package/dist/helpers/index.d.ts.map +1 -0
  279. package/dist/helpers/model.d.ts.map +1 -0
  280. package/dist/helpers/property/index.d.ts.map +1 -0
  281. package/dist/helpers/property.d.ts.map +1 -0
  282. package/dist/helpers/reactiveProxy.d.ts.map +1 -0
  283. package/dist/helpers/schema.d.ts.map +1 -0
  284. package/dist/helpers/updateMachineContext.d.ts.map +1 -0
  285. package/dist/helpers/updateSchema.d.ts.map +1 -0
  286. package/dist/helpers/waitForEntityIdle.d.ts +16 -0
  287. package/dist/helpers/waitForEntityIdle.d.ts.map +1 -0
  288. package/dist/imports/index.d.ts +4 -0
  289. package/dist/imports/index.d.ts.map +1 -0
  290. package/dist/imports/json.d.ts.map +1 -0
  291. package/dist/imports/markdown.d.ts.map +1 -0
  292. package/dist/index-CRuq6HVi.js +18 -0
  293. package/dist/index-CRuq6HVi.js.map +1 -0
  294. package/dist/index-r45w9hEq.js +23 -0
  295. package/dist/index-r45w9hEq.js.map +1 -0
  296. package/dist/index.d.ts +20 -0
  297. package/dist/index.d.ts.map +1 -0
  298. package/dist/interfaces/IDb.d.ts.map +1 -0
  299. package/dist/interfaces/IEasClient.d.ts.map +1 -0
  300. package/dist/interfaces/IItem.d.ts.map +1 -0
  301. package/dist/interfaces/IItemProperty.d.ts +35 -0
  302. package/dist/interfaces/IItemProperty.d.ts.map +1 -0
  303. package/dist/interfaces/IQueryClient.d.ts.map +1 -0
  304. package/dist/interfaces/index.d.ts.map +1 -0
  305. package/dist/json-I3vJhXo8.js +14851 -0
  306. package/dist/json-I3vJhXo8.js.map +1 -0
  307. package/dist/main.cjs +75 -78
  308. package/dist/main.cjs.map +1 -1
  309. package/dist/main.js +2715 -32
  310. package/dist/main.js.map +1 -1
  311. package/dist/node/codegen/drizzle.d.ts.map +1 -0
  312. package/dist/node/codegen/index.d.ts.map +1 -0
  313. package/dist/node/codegen/ts-to-proto.d.ts.map +1 -0
  314. package/dist/node/constants.d.ts.map +1 -0
  315. package/dist/node/db/Db.d.ts.map +1 -0
  316. package/dist/node/db/index.d.ts.map +1 -0
  317. package/dist/node/db/node.app.db.config.d.ts.map +1 -0
  318. package/dist/node/helpers/ArweaveClient.d.ts +31 -0
  319. package/dist/node/helpers/ArweaveClient.d.ts.map +1 -0
  320. package/dist/node/helpers/EasClient.d.ts.map +1 -0
  321. package/dist/node/helpers/FileManager.d.ts.map +1 -0
  322. package/dist/node/helpers/PathResolver.d.ts.map +1 -0
  323. package/dist/node/helpers/QueryClient.d.ts.map +1 -0
  324. package/dist/node/helpers/index.d.ts.map +1 -0
  325. package/dist/node/helpers/scripts.d.ts.map +1 -0
  326. package/dist/node/index.d.ts +24 -0
  327. package/dist/node/index.d.ts.map +1 -0
  328. package/dist/node/seed.d.ts.map +1 -0
  329. package/dist/node/webpack/fs-proxy.d.ts.map +1 -0
  330. package/dist/node/webpack/index.d.ts.map +1 -0
  331. package/dist/node.js +524 -34
  332. package/dist/node.js.map +1 -1
  333. package/dist/property-Dy09KTxg.js +274 -0
  334. package/dist/property-Dy09KTxg.js.map +1 -0
  335. package/dist/queries-LZYSuhtz.js +16 -0
  336. package/dist/queries-LZYSuhtz.js.map +1 -0
  337. package/dist/seedSchema/AppStateSchema.d.ts.map +1 -0
  338. package/dist/seedSchema/ConfigSchema.d.ts.map +1 -0
  339. package/dist/seedSchema/MetadataSchema.d.ts.map +1 -0
  340. package/dist/seedSchema/ModelSchema.d.ts.map +1 -0
  341. package/dist/seedSchema/ModelSchemaSchema.d.ts.map +1 -0
  342. package/dist/seedSchema/ModelSchemaSchema.ts +2 -2
  343. package/dist/seedSchema/ModelUidSchema.d.ts.map +1 -0
  344. package/dist/seedSchema/ModelUidSchema.ts +2 -2
  345. package/dist/seedSchema/PropertyUidSchema.d.ts.map +1 -0
  346. package/dist/seedSchema/PropertyUidSchema.ts +1 -1
  347. package/dist/seedSchema/SchemaSchema.d.ts.map +1 -0
  348. package/dist/seedSchema/SeedSchema.d.ts.map +1 -0
  349. package/dist/seedSchema/VersionSchema.d.ts.map +1 -0
  350. package/dist/seedSchema/index.d.ts +11 -0
  351. package/dist/seedSchema/index.d.ts.map +1 -0
  352. package/dist/seedSchema/index.ts +10 -10
  353. package/dist/services/events.d.ts.map +1 -0
  354. package/dist/services/publish/actors/createPublishAttempt.d.ts.map +1 -0
  355. package/dist/services/publish/actors/preparePublishRequestData.d.ts.map +1 -0
  356. package/dist/services/publish/actors/upload.d.ts.map +1 -0
  357. package/dist/services/publish/actors/validateItemData.d.ts.map +1 -0
  358. package/dist/services/publish/publishMachine.d.ts.map +1 -0
  359. package/dist/services/write/actors/validateEntity.d.ts +6 -0
  360. package/dist/services/write/actors/validateEntity.d.ts.map +1 -0
  361. package/dist/services/write/actors/writeToDatabase.d.ts.map +1 -0
  362. package/dist/services/write/writeProcessMachine.d.ts +83 -0
  363. package/dist/services/write/writeProcessMachine.d.ts.map +1 -0
  364. package/dist/stores/eas.d.ts.map +1 -0
  365. package/dist/types/arweave.d.ts +56 -0
  366. package/dist/types/arweave.d.ts.map +1 -0
  367. package/dist/types/browser.d.ts.map +1 -0
  368. package/dist/types/db.d.ts.map +1 -0
  369. package/dist/types/fileManager.d.ts.map +1 -0
  370. package/dist/types/helpers.d.ts.map +1 -0
  371. package/dist/types/import.d.ts.map +1 -0
  372. package/dist/types/index.d.ts +45 -0
  373. package/dist/types/index.d.ts.map +1 -0
  374. package/dist/types/item.d.ts +72 -0
  375. package/dist/types/item.d.ts.map +1 -0
  376. package/dist/types/machines.d.ts.map +1 -0
  377. package/dist/types/model.d.ts.map +1 -0
  378. package/dist/types/property.d.ts.map +1 -0
  379. package/dist/types/seedProtocol.d.ts.map +1 -0
  380. package/dist/types/services.d.ts.map +1 -0
  381. package/dist/vite/easFix.d.ts +2 -0
  382. package/dist/vite/easFix.d.ts.map +1 -0
  383. package/dist/vite/index.d.ts +48 -0
  384. package/dist/vite/index.d.ts.map +1 -0
  385. package/dist/vite.cjs +217 -0
  386. package/dist/vite.cjs.map +1 -0
  387. package/dist/vite.js +215 -0
  388. package/dist/vite.js.map +1 -0
  389. package/package.json +22 -9
  390. package/dist/Item/Item.js +0 -954
  391. package/dist/Item/Item.js.map +0 -1
  392. package/dist/Item/queries.js +0 -66
  393. package/dist/Item/queries.js.map +0 -1
  394. package/dist/Item/service/actors/fetchDataFromEas.js +0 -94
  395. package/dist/Item/service/actors/fetchDataFromEas.js.map +0 -1
  396. package/dist/Item/service/actors/hydrateExistingItem.js +0 -124
  397. package/dist/Item/service/actors/hydrateExistingItem.js.map +0 -1
  398. package/dist/Item/service/actors/hydrateNewItem.js +0 -28
  399. package/dist/Item/service/actors/hydrateNewItem.js.map +0 -1
  400. package/dist/Item/service/actors/initialize.js +0 -50
  401. package/dist/Item/service/actors/initialize.js.map +0 -1
  402. package/dist/Item/service/actors/loadOrCreateItem.js +0 -210
  403. package/dist/Item/service/actors/loadOrCreateItem.js.map +0 -1
  404. package/dist/Item/service/actors/reload.js +0 -26
  405. package/dist/Item/service/actors/reload.js.map +0 -1
  406. package/dist/Item/service/actors/waitForDb.js +0 -22
  407. package/dist/Item/service/actors/waitForDb.js.map +0 -1
  408. package/dist/Item/service/itemMachineSingle.js +0 -211
  409. package/dist/Item/service/itemMachineSingle.js.map +0 -1
  410. package/dist/ItemProperty/ItemProperty.js +0 -613
  411. package/dist/ItemProperty/ItemProperty.js.map +0 -1
  412. package/dist/ItemProperty/service/actors/hydrateFromDb.js +0 -207
  413. package/dist/ItemProperty/service/actors/hydrateFromDb.js.map +0 -1
  414. package/dist/ItemProperty/service/actors/initialize.js +0 -74
  415. package/dist/ItemProperty/service/actors/initialize.js.map +0 -1
  416. package/dist/ItemProperty/service/actors/loadOrCreateProperty.js +0 -125
  417. package/dist/ItemProperty/service/actors/loadOrCreateProperty.js.map +0 -1
  418. package/dist/ItemProperty/service/actors/resolveRelatedValue.js +0 -321
  419. package/dist/ItemProperty/service/actors/resolveRelatedValue.js.map +0 -1
  420. package/dist/ItemProperty/service/actors/resolveRemoteStorage.js +0 -62
  421. package/dist/ItemProperty/service/actors/resolveRemoteStorage.js.map +0 -1
  422. package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.js +0 -111
  423. package/dist/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +0 -1
  424. package/dist/ItemProperty/service/actors/saveValueToDb/saveImage.js +0 -178
  425. package/dist/ItemProperty/service/actors/saveValueToDb/saveImage.js.map +0 -1
  426. package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +0 -121
  427. package/dist/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +0 -1
  428. package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.js +0 -85
  429. package/dist/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +0 -1
  430. package/dist/ItemProperty/service/actors/waitForDb.js +0 -22
  431. package/dist/ItemProperty/service/actors/waitForDb.js.map +0 -1
  432. package/dist/ItemProperty/service/propertyMachine.js +0 -233
  433. package/dist/ItemProperty/service/propertyMachine.js.map +0 -1
  434. package/dist/Model/Model.js +0 -1831
  435. package/dist/Model/Model.js.map +0 -1
  436. package/dist/Model/index.js +0 -8
  437. package/dist/Model/index.js.map +0 -1
  438. package/dist/Model/service/actors/createModelProperties.js +0 -102
  439. package/dist/Model/service/actors/createModelProperties.js.map +0 -1
  440. package/dist/Model/service/actors/loadOrCreateModel.js +0 -397
  441. package/dist/Model/service/actors/loadOrCreateModel.js.map +0 -1
  442. package/dist/Model/service/actors/validateModel.js +0 -123
  443. package/dist/Model/service/actors/validateModel.js.map +0 -1
  444. package/dist/Model/service/modelMachine.js +0 -385
  445. package/dist/Model/service/modelMachine.js.map +0 -1
  446. package/dist/ModelProperty/ModelProperty.js +0 -841
  447. package/dist/ModelProperty/ModelProperty.js.map +0 -1
  448. package/dist/ModelProperty/service/actors/compareAndMarkDraft.js +0 -119
  449. package/dist/ModelProperty/service/actors/compareAndMarkDraft.js.map +0 -1
  450. package/dist/ModelProperty/service/actors/saveToSchema.js +0 -108
  451. package/dist/ModelProperty/service/actors/saveToSchema.js.map +0 -1
  452. package/dist/ModelProperty/service/actors/validateProperty.js +0 -129
  453. package/dist/ModelProperty/service/actors/validateProperty.js.map +0 -1
  454. package/dist/ModelProperty/service/modelPropertyMachine.js +0 -275
  455. package/dist/ModelProperty/service/modelPropertyMachine.js.map +0 -1
  456. package/dist/Schema/Schema.js +0 -1732
  457. package/dist/Schema/Schema.js.map +0 -1
  458. package/dist/Schema/errors.js +0 -14
  459. package/dist/Schema/errors.js.map +0 -1
  460. package/dist/Schema/index.js +0 -7
  461. package/dist/Schema/index.js.map +0 -1
  462. package/dist/Schema/service/actors/checkExistingSchema.js +0 -454
  463. package/dist/Schema/service/actors/checkExistingSchema.js.map +0 -1
  464. package/dist/Schema/service/actors/createModelInstances.js +0 -71
  465. package/dist/Schema/service/actors/createModelInstances.js.map +0 -1
  466. package/dist/Schema/service/actors/createPropertyInstances.js +0 -86
  467. package/dist/Schema/service/actors/createPropertyInstances.js.map +0 -1
  468. package/dist/Schema/service/actors/loadOrCreateSchema.js +0 -1336
  469. package/dist/Schema/service/actors/loadOrCreateSchema.js.map +0 -1
  470. package/dist/Schema/service/actors/validateSchema.js +0 -65
  471. package/dist/Schema/service/actors/validateSchema.js.map +0 -1
  472. package/dist/Schema/service/actors/verifyModelInstancesInCache.js +0 -88
  473. package/dist/Schema/service/actors/verifyModelInstancesInCache.js.map +0 -1
  474. package/dist/Schema/service/actors/verifyModelsInDb.js +0 -107
  475. package/dist/Schema/service/actors/verifyModelsInDb.js.map +0 -1
  476. package/dist/Schema/service/actors/verifyPropertiesInDb.js +0 -131
  477. package/dist/Schema/service/actors/verifyPropertiesInDb.js.map +0 -1
  478. package/dist/Schema/service/actors/verifyPropertyInstancesInCache.js +0 -88
  479. package/dist/Schema/service/actors/verifyPropertyInstancesInCache.js.map +0 -1
  480. package/dist/Schema/service/actors/verifySchemaInDb.js +0 -85
  481. package/dist/Schema/service/actors/verifySchemaInDb.js.map +0 -1
  482. package/dist/Schema/service/actors/writeModelsToDb.js +0 -185
  483. package/dist/Schema/service/actors/writeModelsToDb.js.map +0 -1
  484. package/dist/Schema/service/actors/writePropertiesToDb.js +0 -69
  485. package/dist/Schema/service/actors/writePropertiesToDb.js.map +0 -1
  486. package/dist/Schema/service/actors/writeSchemaToDb.js +0 -137
  487. package/dist/Schema/service/actors/writeSchemaToDb.js.map +0 -1
  488. package/dist/Schema/service/addModelsMachine.js +0 -545
  489. package/dist/Schema/service/addModelsMachine.js.map +0 -1
  490. package/dist/Schema/service/schemaMachine.js +0 -667
  491. package/dist/Schema/service/schemaMachine.js.map +0 -1
  492. package/dist/Schema/service/validation/SchemaValidationService.js +0 -565
  493. package/dist/Schema/service/validation/SchemaValidationService.js.map +0 -1
  494. package/dist/Schema/validation.js +0 -15
  495. package/dist/Schema/validation.js.map +0 -1
  496. package/dist/browser/db/Db.js +0 -484
  497. package/dist/browser/db/Db.js.map +0 -1
  498. package/dist/browser/db/drizzleFiles.js +0 -1022
  499. package/dist/browser/db/drizzleFiles.js.map +0 -1
  500. package/dist/browser/helpers/ArweaveClient.js +0 -13
  501. package/dist/browser/helpers/ArweaveClient.js.map +0 -1
  502. package/dist/browser/helpers/EasClient.js +0 -16
  503. package/dist/browser/helpers/EasClient.js.map +0 -1
  504. package/dist/browser/helpers/FileManager.js +0 -415
  505. package/dist/browser/helpers/FileManager.js.map +0 -1
  506. package/dist/browser/helpers/PathResolver.js +0 -64
  507. package/dist/browser/helpers/PathResolver.js.map +0 -1
  508. package/dist/browser/helpers/QueryClient.js +0 -33
  509. package/dist/browser/helpers/QueryClient.js.map +0 -1
  510. package/dist/browser/react/client.js +0 -16
  511. package/dist/browser/react/client.js.map +0 -1
  512. package/dist/browser/react/db.js +0 -7
  513. package/dist/browser/react/db.js.map +0 -1
  514. package/dist/browser/react/item.js +0 -192
  515. package/dist/browser/react/item.js.map +0 -1
  516. package/dist/browser/react/itemProperty.js +0 -545
  517. package/dist/browser/react/itemProperty.js.map +0 -1
  518. package/dist/browser/react/liveQuery.js +0 -95
  519. package/dist/browser/react/liveQuery.js.map +0 -1
  520. package/dist/browser/react/model.js +0 -276
  521. package/dist/browser/react/model.js.map +0 -1
  522. package/dist/browser/react/modelProperty.js +0 -412
  523. package/dist/browser/react/modelProperty.js.map +0 -1
  524. package/dist/browser/react/schema.js +0 -387
  525. package/dist/browser/react/schema.js.map +0 -1
  526. package/dist/browser/react/services.js +0 -47
  527. package/dist/browser/react/services.js.map +0 -1
  528. package/dist/browser/react/trash.js +0 -25
  529. package/dist/browser/react/trash.js.map +0 -1
  530. package/dist/browser/workers/FileDownloader.js +0 -52
  531. package/dist/browser/workers/FileDownloader.js.map +0 -1
  532. package/dist/browser/workers/ImageResizer.js +0 -63
  533. package/dist/browser/workers/ImageResizer.js.map +0 -1
  534. package/dist/browser/workers/filesDownload.js +0 -245
  535. package/dist/browser/workers/filesDownload.js.map +0 -1
  536. package/dist/browser/workers/imageResize.js +0 -382
  537. package/dist/browser/workers/imageResize.js.map +0 -1
  538. package/dist/client/ClientManager.js +0 -177
  539. package/dist/client/ClientManager.js.map +0 -1
  540. package/dist/client/actors/addModelsToDb.js +0 -150
  541. package/dist/client/actors/addModelsToDb.js.map +0 -1
  542. package/dist/client/actors/addModelsToStore.js +0 -28
  543. package/dist/client/actors/addModelsToStore.js.map +0 -1
  544. package/dist/client/actors/dbInit.js +0 -38
  545. package/dist/client/actors/dbInit.js.map +0 -1
  546. package/dist/client/actors/fileSystemInit.js +0 -43
  547. package/dist/client/actors/fileSystemInit.js.map +0 -1
  548. package/dist/client/actors/platformClassesInit.js +0 -175
  549. package/dist/client/actors/platformClassesInit.js.map +0 -1
  550. package/dist/client/actors/processSchemaFiles.js +0 -169
  551. package/dist/client/actors/processSchemaFiles.js.map +0 -1
  552. package/dist/client/actors/saveAppState.js +0 -80
  553. package/dist/client/actors/saveAppState.js.map +0 -1
  554. package/dist/client/actors/saveConfig.js +0 -110
  555. package/dist/client/actors/saveConfig.js.map +0 -1
  556. package/dist/client/clientManagerMachine.js +0 -191
  557. package/dist/client/clientManagerMachine.js.map +0 -1
  558. package/dist/client/constants.js +0 -80
  559. package/dist/client/constants.js.map +0 -1
  560. package/dist/db/Db/BaseDb.js +0 -55
  561. package/dist/db/Db/BaseDb.js.map +0 -1
  562. package/dist/db/read/getExistingItem.js +0 -33
  563. package/dist/db/read/getExistingItem.js.map +0 -1
  564. package/dist/db/read/getItem.js +0 -26
  565. package/dist/db/read/getItem.js.map +0 -1
  566. package/dist/db/read/getItemData.js +0 -88
  567. package/dist/db/read/getItemData.js.map +0 -1
  568. package/dist/db/read/getItemProperties.js +0 -53
  569. package/dist/db/read/getItemProperties.js.map +0 -1
  570. package/dist/db/read/getItemProperty.js +0 -34
  571. package/dist/db/read/getItemProperty.js.map +0 -1
  572. package/dist/db/read/getItems.js +0 -53
  573. package/dist/db/read/getItems.js.map +0 -1
  574. package/dist/db/read/getMetadata.js +0 -36
  575. package/dist/db/read/getMetadata.js.map +0 -1
  576. package/dist/db/read/getModelSchemas.js +0 -63
  577. package/dist/db/read/getModelSchemas.js.map +0 -1
  578. package/dist/db/read/getPropertyData.js +0 -42
  579. package/dist/db/read/getPropertyData.js.map +0 -1
  580. package/dist/db/read/getPublishPayload.js +0 -294
  581. package/dist/db/read/getPublishPayload.js.map +0 -1
  582. package/dist/db/read/getPublishUploads.js +0 -166
  583. package/dist/db/read/getPublishUploads.js.map +0 -1
  584. package/dist/db/read/getRelationValueData.js +0 -34
  585. package/dist/db/read/getRelationValueData.js.map +0 -1
  586. package/dist/db/read/getSchemaUidForModel.js +0 -28
  587. package/dist/db/read/getSchemaUidForModel.js.map +0 -1
  588. package/dist/db/read/getSeedData.js +0 -32
  589. package/dist/db/read/getSeedData.js.map +0 -1
  590. package/dist/db/read/getStorageTransactionIdForSeedUid.js +0 -34
  591. package/dist/db/read/getStorageTransactionIdForSeedUid.js.map +0 -1
  592. package/dist/db/read/getVersionData.js +0 -37
  593. package/dist/db/read/getVersionData.js.map +0 -1
  594. package/dist/db/read/subqueries/metadataLatest.js +0 -39
  595. package/dist/db/read/subqueries/metadataLatest.js.map +0 -1
  596. package/dist/db/read/subqueries/versionData.js +0 -31
  597. package/dist/db/read/subqueries/versionData.js.map +0 -1
  598. package/dist/db/write/createMetadata.js +0 -94
  599. package/dist/db/write/createMetadata.js.map +0 -1
  600. package/dist/db/write/createNewItem.js +0 -43
  601. package/dist/db/write/createNewItem.js.map +0 -1
  602. package/dist/db/write/createSeed.js +0 -32
  603. package/dist/db/write/createSeed.js.map +0 -1
  604. package/dist/db/write/createSeeds.js +0 -29
  605. package/dist/db/write/createSeeds.js.map +0 -1
  606. package/dist/db/write/createVersion.js +0 -29
  607. package/dist/db/write/createVersion.js.map +0 -1
  608. package/dist/db/write/deleteItem.js +0 -25
  609. package/dist/db/write/deleteItem.js.map +0 -1
  610. package/dist/db/write/saveAppState.js +0 -30
  611. package/dist/db/write/saveAppState.js.map +0 -1
  612. package/dist/db/write/saveMetadata.js +0 -26
  613. package/dist/db/write/saveMetadata.js.map +0 -1
  614. package/dist/db/write/updateItemPropertyValue.js +0 -165
  615. package/dist/db/write/updateItemPropertyValue.js.map +0 -1
  616. package/dist/db/write/updateMetadata.js +0 -38
  617. package/dist/db/write/updateMetadata.js.map +0 -1
  618. package/dist/eas.js +0 -176
  619. package/dist/eas.js.map +0 -1
  620. package/dist/eventBus.js +0 -6
  621. package/dist/eventBus.js.map +0 -1
  622. package/dist/events/files/download.js +0 -191
  623. package/dist/events/files/download.js.map +0 -1
  624. package/dist/events/files/index.js +0 -23
  625. package/dist/events/files/index.js.map +0 -1
  626. package/dist/events/index.js +0 -28
  627. package/dist/events/index.js.map +0 -1
  628. package/dist/events/item/index.js +0 -28
  629. package/dist/events/item/index.js.map +0 -1
  630. package/dist/events/item/publish.js +0 -50
  631. package/dist/events/item/publish.js.map +0 -1
  632. package/dist/events/item/syncDbWithEas.js +0 -453
  633. package/dist/events/item/syncDbWithEas.js.map +0 -1
  634. package/dist/events/services/allItems.js +0 -10
  635. package/dist/events/services/allItems.js.map +0 -1
  636. package/dist/events/services/index.js +0 -9
  637. package/dist/events/services/index.js.map +0 -1
  638. package/dist/feed.js +0 -534
  639. package/dist/feed.js.map +0 -1
  640. package/dist/graphql/gql/gql.js +0 -27
  641. package/dist/graphql/gql/gql.js.map +0 -1
  642. package/dist/graphql/gql/graphql.js +0 -129
  643. package/dist/graphql/gql/graphql.js.map +0 -1
  644. package/dist/helpers/ArweaveClient/BaseArweaveClient.js +0 -11
  645. package/dist/helpers/ArweaveClient/BaseArweaveClient.js.map +0 -1
  646. package/dist/helpers/ArweaveClient/index.js +0 -61
  647. package/dist/helpers/ArweaveClient/index.js.map +0 -1
  648. package/dist/helpers/ArweaveClient/queries.js +0 -16
  649. package/dist/helpers/ArweaveClient/queries.js.map +0 -1
  650. package/dist/helpers/EasClient/BaseEasClient.js +0 -20
  651. package/dist/helpers/EasClient/BaseEasClient.js.map +0 -1
  652. package/dist/helpers/FileManager/BaseFileManager.js +0 -119
  653. package/dist/helpers/FileManager/BaseFileManager.js.map +0 -1
  654. package/dist/helpers/PathResolver/BasePathResolver.js +0 -20
  655. package/dist/helpers/PathResolver/BasePathResolver.js.map +0 -1
  656. package/dist/helpers/QueryClient/BaseQueryClient.js +0 -11
  657. package/dist/helpers/QueryClient/BaseQueryClient.js.map +0 -1
  658. package/dist/helpers/constants.js +0 -107
  659. package/dist/helpers/constants.js.map +0 -1
  660. package/dist/helpers/crypto.js +0 -9
  661. package/dist/helpers/crypto.js.map +0 -1
  662. package/dist/helpers/db.js +0 -1335
  663. package/dist/helpers/db.js.map +0 -1
  664. package/dist/helpers/environment.js +0 -14
  665. package/dist/helpers/environment.js.map +0 -1
  666. package/dist/helpers/file/queries.js +0 -15
  667. package/dist/helpers/file/queries.js.map +0 -1
  668. package/dist/helpers/getSchemaForItemProperty.js +0 -65
  669. package/dist/helpers/getSchemaForItemProperty.js.map +0 -1
  670. package/dist/helpers/getSegmentedItemProperties.js +0 -71
  671. package/dist/helpers/getSegmentedItemProperties.js.map +0 -1
  672. package/dist/helpers/index.js +0 -101
  673. package/dist/helpers/index.js.map +0 -1
  674. package/dist/helpers/model.js +0 -24
  675. package/dist/helpers/model.js.map +0 -1
  676. package/dist/helpers/property/index.js +0 -110
  677. package/dist/helpers/property/index.js.map +0 -1
  678. package/dist/helpers/property.js +0 -286
  679. package/dist/helpers/property.js.map +0 -1
  680. package/dist/helpers/reactiveProxy.js +0 -87
  681. package/dist/helpers/reactiveProxy.js.map +0 -1
  682. package/dist/helpers/schema.js +0 -473
  683. package/dist/helpers/schema.js.map +0 -1
  684. package/dist/helpers/updateMachineContext.js +0 -20
  685. package/dist/helpers/updateMachineContext.js.map +0 -1
  686. package/dist/helpers/updateSchema.js +0 -721
  687. package/dist/helpers/updateSchema.js.map +0 -1
  688. package/dist/imports/json.js +0 -1129
  689. package/dist/imports/json.js.map +0 -1
  690. package/dist/imports/markdown.js +0 -141
  691. package/dist/imports/markdown.js.map +0 -1
  692. package/dist/node/codegen/drizzle.js +0 -136
  693. package/dist/node/codegen/drizzle.js.map +0 -1
  694. package/dist/node/codegen/templates/header.njk +0 -10
  695. package/dist/node/codegen/templates/index.njk +0 -27
  696. package/dist/node/codegen/templates/model.njk +0 -18
  697. package/dist/node/codegen/templates/relations.njk +0 -13
  698. package/dist/node/codegen/templates/schema.njk +0 -11
  699. package/dist/node/codegen/templates/table.njk +0 -43
  700. package/dist/node/db/Db.js +0 -332
  701. package/dist/node/db/Db.js.map +0 -1
  702. package/dist/node/helpers/ArweaveClient.js +0 -13
  703. package/dist/node/helpers/ArweaveClient.js.map +0 -1
  704. package/dist/node/helpers/EasClient.js +0 -16
  705. package/dist/node/helpers/EasClient.js.map +0 -1
  706. package/dist/node/helpers/FileManager.js +0 -151
  707. package/dist/node/helpers/FileManager.js.map +0 -1
  708. package/dist/node/helpers/PathResolver.js +0 -182
  709. package/dist/node/helpers/PathResolver.js.map +0 -1
  710. package/dist/node/helpers/QueryClient.js +0 -20
  711. package/dist/node/helpers/QueryClient.js.map +0 -1
  712. package/dist/node/helpers/index.js +0 -62
  713. package/dist/node/helpers/index.js.map +0 -1
  714. package/dist/node/helpers/scripts.js +0 -121
  715. package/dist/node/helpers/scripts.js.map +0 -1
  716. package/dist/node/webpack/index.js +0 -96
  717. package/dist/node/webpack/index.js.map +0 -1
  718. package/dist/node_modules/.bun/events@3.3.0/node_modules/events/events.d.ts +0 -31
  719. package/dist/node_modules/.bun/events@3.3.0/node_modules/events/events.d.ts.map +0 -1
  720. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.d.mts +0 -90
  721. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.d.mts.map +0 -1
  722. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/index.d.ts +0 -28
  723. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/index.d.ts.map +0 -1
  724. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/common.d.ts +0 -7
  725. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/common.d.ts.map +0 -1
  726. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/dumper.d.ts +0 -2
  727. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/dumper.d.ts.map +0 -1
  728. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/exception.d.ts +0 -12
  729. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/exception.d.ts.map +0 -1
  730. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/loader.d.ts +0 -3
  731. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/loader.d.ts.map +0 -1
  732. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/core.d.ts +0 -3
  733. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/core.d.ts.map +0 -1
  734. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/default.d.ts +0 -3
  735. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/default.d.ts.map +0 -1
  736. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/failsafe.d.ts +0 -4
  737. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/failsafe.d.ts.map +0 -1
  738. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/json.d.ts +0 -3
  739. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/json.d.ts.map +0 -1
  740. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema.d.ts +0 -7
  741. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema.d.ts.map +0 -1
  742. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/snippet.d.ts +0 -3
  743. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/snippet.d.ts.map +0 -1
  744. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/binary.d.ts +0 -4
  745. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/binary.d.ts.map +0 -1
  746. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/bool.d.ts +0 -4
  747. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/bool.d.ts.map +0 -1
  748. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/float.d.ts +0 -4
  749. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/float.d.ts.map +0 -1
  750. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/int.d.ts +0 -4
  751. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/int.d.ts.map +0 -1
  752. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/map.d.ts +0 -4
  753. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/map.d.ts.map +0 -1
  754. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/merge.d.ts +0 -4
  755. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/merge.d.ts.map +0 -1
  756. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/null.d.ts +0 -4
  757. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/null.d.ts.map +0 -1
  758. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/omap.d.ts +0 -4
  759. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/omap.d.ts.map +0 -1
  760. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/pairs.d.ts +0 -4
  761. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/pairs.d.ts.map +0 -1
  762. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/seq.d.ts +0 -4
  763. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/seq.d.ts.map +0 -1
  764. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/set.d.ts +0 -4
  765. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/set.d.ts.map +0 -1
  766. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/str.d.ts +0 -4
  767. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/str.d.ts.map +0 -1
  768. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/timestamp.d.ts +0 -4
  769. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/timestamp.d.ts.map +0 -1
  770. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type.d.ts +0 -18
  771. package/dist/node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type.d.ts.map +0 -1
  772. package/dist/node_modules/.bun/process@0.11.10/node_modules/process/index.d.ts +0 -3
  773. package/dist/node_modules/.bun/process@0.11.10/node_modules/process/index.d.ts.map +0 -1
  774. package/dist/node_modules/.bun/punycode@1.4.1/node_modules/punycode/punycode.d.ts +0 -1
  775. package/dist/node_modules/.bun/punycode@1.4.1/node_modules/punycode/punycode.d.ts.map +0 -1
  776. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/add-abort-signal.d.ts +0 -3
  777. 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
  778. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/buffer_list.d.ts +0 -19
  779. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/buffer_list.d.ts.map +0 -1
  780. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/compose.d.ts +0 -3
  781. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/compose.d.ts.map +0 -1
  782. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/destroy.d.ts +0 -6
  783. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/destroy.d.ts.map +0 -1
  784. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplex.d.ts +0 -12
  785. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplex.d.ts.map +0 -1
  786. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplexify.d.ts +0 -3
  787. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/duplexify.d.ts.map +0 -1
  788. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/end-of-stream.d.ts +0 -7
  789. 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
  790. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/from.d.ts +0 -3
  791. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/from.d.ts.map +0 -1
  792. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/legacy.d.ts +0 -7
  793. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/legacy.d.ts.map +0 -1
  794. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/operators.d.ts +0 -31
  795. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/operators.d.ts.map +0 -1
  796. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/passthrough.d.ts +0 -7
  797. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/passthrough.d.ts.map +0 -1
  798. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/pipeline.d.ts +0 -3
  799. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/pipeline.d.ts.map +0 -1
  800. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/readable.d.ts +0 -55
  801. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/readable.d.ts.map +0 -1
  802. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/state.d.ts +0 -4
  803. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/state.d.ts.map +0 -1
  804. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/transform.d.ts +0 -12
  805. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/transform.d.ts.map +0 -1
  806. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/utils.d.ts +0 -33
  807. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/utils.d.ts.map +0 -1
  808. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/writable.d.ts +0 -59
  809. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/streams/writable.d.ts.map +0 -1
  810. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/validators.d.ts +0 -199
  811. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/internal/validators.d.ts.map +0 -1
  812. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/errors.d.ts +0 -8
  813. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/errors.d.ts.map +0 -1
  814. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/index.d.ts +0 -2
  815. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/index.d.ts.map +0 -1
  816. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/primordials.d.ts +0 -51
  817. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/primordials.d.ts.map +0 -1
  818. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util/inspect.d.ts +0 -3
  819. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util/inspect.d.ts.map +0 -1
  820. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util.d.ts +0 -22
  821. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/ours/util.d.ts.map +0 -1
  822. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream/promises.d.ts +0 -4
  823. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream/promises.d.ts.map +0 -1
  824. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream.d.ts +0 -3
  825. package/dist/node_modules/.bun/readable-stream@4.7.0/node_modules/readable-stream/lib/stream.d.ts.map +0 -1
  826. package/dist/node_modules/.bun/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.d.ts +0 -33
  827. package/dist/node_modules/.bun/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.d.ts.map +0 -1
  828. package/dist/node_modules/.bun/url@0.11.4/node_modules/url/url.d.ts +0 -26
  829. package/dist/node_modules/.bun/url@0.11.4/node_modules/url/url.d.ts.map +0 -1
  830. package/dist/scripts/build-with-tests.d.ts +0 -3
  831. package/dist/scripts/build-with-tests.d.ts.map +0 -1
  832. package/dist/scripts/rpcServer.cursor.d.ts +0 -2
  833. package/dist/scripts/rpcServer.cursor.d.ts.map +0 -1
  834. package/dist/scripts/rpcServer.d.ts +0 -3
  835. package/dist/scripts/rpcServer.d.ts.map +0 -1
  836. package/dist/scripts/sync-versions.d.ts +0 -7
  837. package/dist/scripts/sync-versions.d.ts.map +0 -1
  838. package/dist/scripts/track-drizzle-changes.d.ts +0 -13
  839. package/dist/scripts/track-drizzle-changes.d.ts.map +0 -1
  840. package/dist/scripts/vite.config.d.ts +0 -3
  841. package/dist/scripts/vite.config.d.ts.map +0 -1
  842. package/dist/seedSchema/AppStateSchema.js +0 -11
  843. package/dist/seedSchema/AppStateSchema.js.map +0 -1
  844. package/dist/seedSchema/ConfigSchema.js +0 -12
  845. package/dist/seedSchema/ConfigSchema.js.map +0 -1
  846. package/dist/seedSchema/MetadataSchema.js +0 -29
  847. package/dist/seedSchema/MetadataSchema.js.map +0 -1
  848. package/dist/seedSchema/ModelSchema.js +0 -40
  849. package/dist/seedSchema/ModelSchema.js.map +0 -1
  850. package/dist/seedSchema/ModelSchemaSchema.js +0 -12
  851. package/dist/seedSchema/ModelSchemaSchema.js.map +0 -1
  852. package/dist/seedSchema/ModelUidSchema.js +0 -18
  853. package/dist/seedSchema/ModelUidSchema.js.map +0 -1
  854. package/dist/seedSchema/PropertyUidSchema.js +0 -18
  855. package/dist/seedSchema/PropertyUidSchema.js.map +0 -1
  856. package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json.js +0 -94
  857. package/dist/seedSchema/SEEDPROTOCOL_Seed_Protocol_v1.json.js.map +0 -1
  858. package/dist/seedSchema/SchemaSchema.js +0 -20
  859. package/dist/seedSchema/SchemaSchema.js.map +0 -1
  860. package/dist/seedSchema/SeedSchema.js +0 -16
  861. package/dist/seedSchema/SeedSchema.js.map +0 -1
  862. package/dist/seedSchema/VersionSchema.js +0 -17
  863. package/dist/seedSchema/VersionSchema.js.map +0 -1
  864. package/dist/seedSchema/index.js +0 -11
  865. package/dist/seedSchema/index.js.map +0 -1
  866. package/dist/services/events.js +0 -16
  867. package/dist/services/events.js.map +0 -1
  868. package/dist/services/publish/actors/createPublishAttempt.js +0 -14
  869. package/dist/services/publish/actors/createPublishAttempt.js.map +0 -1
  870. package/dist/services/publish/actors/preparePublishRequestData.js +0 -76
  871. package/dist/services/publish/actors/preparePublishRequestData.js.map +0 -1
  872. package/dist/services/publish/actors/upload.js +0 -61
  873. package/dist/services/publish/actors/upload.js.map +0 -1
  874. package/dist/services/publish/actors/validateItemData.js +0 -18
  875. package/dist/services/publish/actors/validateItemData.js.map +0 -1
  876. package/dist/services/publish/publishMachine.js +0 -71
  877. package/dist/services/publish/publishMachine.js.map +0 -1
  878. package/dist/services/write/actors/validateEntity.js +0 -145
  879. package/dist/services/write/actors/validateEntity.js.map +0 -1
  880. package/dist/services/write/actors/writeToDatabase.js +0 -91
  881. package/dist/services/write/actors/writeToDatabase.js.map +0 -1
  882. package/dist/services/write/writeProcessMachine.js +0 -233
  883. package/dist/services/write/writeProcessMachine.js.map +0 -1
  884. package/dist/src/Item/Item.d.ts +0 -94
  885. package/dist/src/Item/Item.d.ts.map +0 -1
  886. package/dist/src/Item/queries.d.ts.map +0 -1
  887. package/dist/src/Item/service/actors/fetchDataFromEas.d.ts +0 -2
  888. package/dist/src/Item/service/actors/fetchDataFromEas.d.ts.map +0 -1
  889. package/dist/src/Item/service/actors/hydrateExistingItem.d.ts.map +0 -1
  890. package/dist/src/Item/service/actors/hydrateNewItem.d.ts.map +0 -1
  891. package/dist/src/Item/service/actors/initialize.d.ts.map +0 -1
  892. package/dist/src/Item/service/actors/loadOrCreateItem.d.ts.map +0 -1
  893. package/dist/src/Item/service/actors/reload.d.ts.map +0 -1
  894. package/dist/src/Item/service/actors/saveDataToDb.d.ts +0 -3
  895. package/dist/src/Item/service/actors/saveDataToDb.d.ts.map +0 -1
  896. package/dist/src/Item/service/actors/waitForDb.d.ts.map +0 -1
  897. package/dist/src/Item/service/itemMachineSingle.d.ts +0 -2
  898. package/dist/src/Item/service/itemMachineSingle.d.ts.map +0 -1
  899. package/dist/src/ItemProperty/ItemProperty.d.ts +0 -67
  900. package/dist/src/ItemProperty/ItemProperty.d.ts.map +0 -1
  901. package/dist/src/ItemProperty/service/actors/hydrateFromDb.d.ts.map +0 -1
  902. package/dist/src/ItemProperty/service/actors/initialize.d.ts.map +0 -1
  903. package/dist/src/ItemProperty/service/actors/loadOrCreateProperty.d.ts.map +0 -1
  904. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +0 -1
  905. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.d.ts.map +0 -1
  906. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts.map +0 -1
  907. package/dist/src/ItemProperty/service/actors/saveValueToDb/index.d.ts.map +0 -1
  908. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImage.d.ts.map +0 -1
  909. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts.map +0 -1
  910. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.d.ts.map +0 -1
  911. package/dist/src/ItemProperty/service/actors/waitForDb.d.ts.map +0 -1
  912. package/dist/src/ItemProperty/service/propertyMachine.d.ts +0 -48
  913. package/dist/src/ItemProperty/service/propertyMachine.d.ts.map +0 -1
  914. package/dist/src/Model/Model.d.ts +0 -199
  915. package/dist/src/Model/Model.d.ts.map +0 -1
  916. package/dist/src/Model/index.d.ts +0 -26
  917. package/dist/src/Model/index.d.ts.map +0 -1
  918. package/dist/src/Model/service/actors/createModelProperties.d.ts.map +0 -1
  919. package/dist/src/Model/service/actors/loadOrCreateModel.d.ts.map +0 -1
  920. package/dist/src/Model/service/actors/validateModel.d.ts.map +0 -1
  921. package/dist/src/Model/service/modelMachine.d.ts +0 -206
  922. package/dist/src/Model/service/modelMachine.d.ts.map +0 -1
  923. package/dist/src/ModelProperty/ModelProperty.d.ts +0 -112
  924. package/dist/src/ModelProperty/ModelProperty.d.ts.map +0 -1
  925. package/dist/src/ModelProperty/service/actors/compareAndMarkDraft.d.ts.map +0 -1
  926. package/dist/src/ModelProperty/service/actors/saveToSchema.d.ts.map +0 -1
  927. package/dist/src/ModelProperty/service/actors/validateProperty.d.ts.map +0 -1
  928. package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts +0 -183
  929. package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts.map +0 -1
  930. package/dist/src/Schema/Schema.d.ts +0 -143
  931. package/dist/src/Schema/Schema.d.ts.map +0 -1
  932. package/dist/src/Schema/errors.d.ts.map +0 -1
  933. package/dist/src/Schema/index.d.ts.map +0 -1
  934. package/dist/src/Schema/service/actors/checkExistingSchema.d.ts.map +0 -1
  935. package/dist/src/Schema/service/actors/createModelInstances.d.ts.map +0 -1
  936. package/dist/src/Schema/service/actors/createPropertyInstances.d.ts.map +0 -1
  937. package/dist/src/Schema/service/actors/loadOrCreateSchema.d.ts.map +0 -1
  938. package/dist/src/Schema/service/actors/validateSchema.d.ts.map +0 -1
  939. package/dist/src/Schema/service/actors/verifyModelInstancesInCache.d.ts.map +0 -1
  940. package/dist/src/Schema/service/actors/verifyModelsInDb.d.ts.map +0 -1
  941. package/dist/src/Schema/service/actors/verifyPropertiesInDb.d.ts.map +0 -1
  942. package/dist/src/Schema/service/actors/verifyPropertyInstancesInCache.d.ts.map +0 -1
  943. package/dist/src/Schema/service/actors/verifySchemaInDb.d.ts.map +0 -1
  944. package/dist/src/Schema/service/actors/writeModelsToDb.d.ts.map +0 -1
  945. package/dist/src/Schema/service/actors/writePropertiesToDb.d.ts.map +0 -1
  946. package/dist/src/Schema/service/actors/writeSchemaToDb.d.ts.map +0 -1
  947. package/dist/src/Schema/service/addModelsMachine.d.ts +0 -111
  948. package/dist/src/Schema/service/addModelsMachine.d.ts.map +0 -1
  949. package/dist/src/Schema/service/schemaMachine.d.ts +0 -494
  950. package/dist/src/Schema/service/schemaMachine.d.ts.map +0 -1
  951. package/dist/src/Schema/service/validation/SchemaValidationService.d.ts.map +0 -1
  952. package/dist/src/Schema/validation.d.ts.map +0 -1
  953. package/dist/src/browser/db/Db.d.ts.map +0 -1
  954. package/dist/src/browser/db/drizzleFiles.d.ts.map +0 -1
  955. package/dist/src/browser/db/sqlWasmClient.d.ts.map +0 -1
  956. package/dist/src/browser/helpers/ArweaveClient.d.ts +0 -7
  957. package/dist/src/browser/helpers/ArweaveClient.d.ts.map +0 -1
  958. package/dist/src/browser/helpers/EasClient.d.ts.map +0 -1
  959. package/dist/src/browser/helpers/FileManager.d.ts.map +0 -1
  960. package/dist/src/browser/helpers/PathResolver.d.ts.map +0 -1
  961. package/dist/src/browser/helpers/QueryClient.d.ts.map +0 -1
  962. package/dist/src/browser/helpers/index.d.ts +0 -2
  963. package/dist/src/browser/helpers/index.d.ts.map +0 -1
  964. package/dist/src/browser/index.d.ts +0 -6
  965. package/dist/src/browser/index.d.ts.map +0 -1
  966. package/dist/src/browser/react/OPFSImage.d.ts.map +0 -1
  967. package/dist/src/browser/react/SeedImage.d.ts.map +0 -1
  968. package/dist/src/browser/react/client.d.ts.map +0 -1
  969. package/dist/src/browser/react/db.d.ts.map +0 -1
  970. package/dist/src/browser/react/index.d.ts.map +0 -1
  971. package/dist/src/browser/react/item.d.ts +0 -41
  972. package/dist/src/browser/react/item.d.ts.map +0 -1
  973. package/dist/src/browser/react/itemProperty.d.ts.map +0 -1
  974. package/dist/src/browser/react/liveQuery.d.ts.map +0 -1
  975. package/dist/src/browser/react/model.d.ts.map +0 -1
  976. package/dist/src/browser/react/modelProperty.d.ts.map +0 -1
  977. package/dist/src/browser/react/schema.d.ts.map +0 -1
  978. package/dist/src/browser/react/services.d.ts.map +0 -1
  979. package/dist/src/browser/react/trash.d.ts +0 -6
  980. package/dist/src/browser/react/trash.d.ts.map +0 -1
  981. package/dist/src/browser/seed.d.ts +0 -10
  982. package/dist/src/browser/seed.d.ts.map +0 -1
  983. package/dist/src/browser/workers/FileDownloader.d.ts.map +0 -1
  984. package/dist/src/browser/workers/ImageResizer.d.ts.map +0 -1
  985. package/dist/src/browser/workers/content-hash.d.ts.map +0 -1
  986. package/dist/src/browser/workers/dbWorker.d.ts.map +0 -1
  987. package/dist/src/browser/workers/filesDownload.d.ts.map +0 -1
  988. package/dist/src/browser/workers/imageResize.d.ts.map +0 -1
  989. package/dist/src/client/BaseClientManager.d.ts.map +0 -1
  990. package/dist/src/client/ClientManager.d.ts.map +0 -1
  991. package/dist/src/client/actions/setAddresses.d.ts.map +0 -1
  992. package/dist/src/client/actors/addModelsToDb.d.ts.map +0 -1
  993. package/dist/src/client/actors/addModelsToStore.d.ts.map +0 -1
  994. package/dist/src/client/actors/dbInit.d.ts.map +0 -1
  995. package/dist/src/client/actors/fileSystemInit.d.ts.map +0 -1
  996. package/dist/src/client/actors/platformClassesInit.d.ts.map +0 -1
  997. package/dist/src/client/actors/processSchemaFiles.d.ts.map +0 -1
  998. package/dist/src/client/actors/saveAppState.d.ts.map +0 -1
  999. package/dist/src/client/actors/saveConfig.d.ts.map +0 -1
  1000. package/dist/src/client/clientManagerMachine.d.ts.map +0 -1
  1001. package/dist/src/client/constants.d.ts +0 -79
  1002. package/dist/src/client/constants.d.ts.map +0 -1
  1003. package/dist/src/client/index.d.ts.map +0 -1
  1004. package/dist/src/db/Db/BaseDb.d.ts +0 -43
  1005. package/dist/src/db/Db/BaseDb.d.ts.map +0 -1
  1006. package/dist/src/db/configs/dev.schema.config.d.ts.map +0 -1
  1007. package/dist/src/db/read/getExistingItem.d.ts +0 -12
  1008. package/dist/src/db/read/getExistingItem.d.ts.map +0 -1
  1009. package/dist/src/db/read/getItem.d.ts.map +0 -1
  1010. package/dist/src/db/read/getItemData.d.ts.map +0 -1
  1011. package/dist/src/db/read/getItemProperties.d.ts.map +0 -1
  1012. package/dist/src/db/read/getItemProperty.d.ts.map +0 -1
  1013. package/dist/src/db/read/getItems.d.ts.map +0 -1
  1014. package/dist/src/db/read/getMetadata.d.ts.map +0 -1
  1015. package/dist/src/db/read/getModelSchemas.d.ts.map +0 -1
  1016. package/dist/src/db/read/getModels.d.ts.map +0 -1
  1017. package/dist/src/db/read/getPropertyData.d.ts.map +0 -1
  1018. package/dist/src/db/read/getPublishPayload.d.ts.map +0 -1
  1019. package/dist/src/db/read/getPublishUploads.d.ts +0 -16
  1020. package/dist/src/db/read/getPublishUploads.d.ts.map +0 -1
  1021. package/dist/src/db/read/getRelationValueData.d.ts.map +0 -1
  1022. package/dist/src/db/read/getSchemaUidForModel.d.ts.map +0 -1
  1023. package/dist/src/db/read/getSeedData.d.ts.map +0 -1
  1024. package/dist/src/db/read/getStorageTransactionIdForSeedUid.d.ts.map +0 -1
  1025. package/dist/src/db/read/getVersionData.d.ts.map +0 -1
  1026. package/dist/src/db/read/getVersionsForVersionUids.d.ts.map +0 -1
  1027. package/dist/src/db/read/subqueries/metadataLatest.d.ts.map +0 -1
  1028. package/dist/src/db/read/subqueries/versionData.d.ts.map +0 -1
  1029. package/dist/src/db/write/createMetadata.d.ts.map +0 -1
  1030. package/dist/src/db/write/createNewItem.d.ts.map +0 -1
  1031. package/dist/src/db/write/createSeed.d.ts.map +0 -1
  1032. package/dist/src/db/write/createSeeds.d.ts.map +0 -1
  1033. package/dist/src/db/write/createVersion.d.ts.map +0 -1
  1034. package/dist/src/db/write/deleteItem.d.ts.map +0 -1
  1035. package/dist/src/db/write/recoverDeletedItem.d.ts.map +0 -1
  1036. package/dist/src/db/write/saveAppState.d.ts.map +0 -1
  1037. package/dist/src/db/write/saveMetadata.d.ts.map +0 -1
  1038. package/dist/src/db/write/updateItemPropertyValue.d.ts +0 -9
  1039. package/dist/src/db/write/updateItemPropertyValue.d.ts.map +0 -1
  1040. package/dist/src/db/write/updateMetadata.d.ts.map +0 -1
  1041. package/dist/src/eas.d.ts.map +0 -1
  1042. package/dist/src/eslint-rules/align-imports.d.ts.map +0 -1
  1043. package/dist/src/eventBus.d.ts.map +0 -1
  1044. package/dist/src/events/files/download.d.ts +0 -6
  1045. package/dist/src/events/files/download.d.ts.map +0 -1
  1046. package/dist/src/events/files/index.d.ts.map +0 -1
  1047. package/dist/src/events/index.d.ts.map +0 -1
  1048. package/dist/src/events/item/create.d.ts +0 -2
  1049. package/dist/src/events/item/create.d.ts.map +0 -1
  1050. package/dist/src/events/item/index.d.ts +0 -3
  1051. package/dist/src/events/item/index.d.ts.map +0 -1
  1052. package/dist/src/events/item/publish.d.ts.map +0 -1
  1053. package/dist/src/events/item/request.d.ts +0 -2
  1054. package/dist/src/events/item/request.d.ts.map +0 -1
  1055. package/dist/src/events/item/requestAll.d.ts +0 -9
  1056. package/dist/src/events/item/requestAll.d.ts.map +0 -1
  1057. package/dist/src/events/item/syncDbWithEas.d.ts.map +0 -1
  1058. package/dist/src/events/services/allItems.d.ts.map +0 -1
  1059. package/dist/src/events/services/index.d.ts.map +0 -1
  1060. package/dist/src/feed.d.ts.map +0 -1
  1061. package/dist/src/graphql/fragments/Attestation.d.ts.map +0 -1
  1062. package/dist/src/graphql/fragments/Schema.d.ts.map +0 -1
  1063. package/dist/src/graphql/fragments/index.d.ts.map +0 -1
  1064. package/dist/src/graphql/gql/fragment-masking.d.ts.map +0 -1
  1065. package/dist/src/graphql/gql/gql.d.ts.map +0 -1
  1066. package/dist/src/graphql/gql/graphql.d.ts.map +0 -1
  1067. package/dist/src/graphql/gql/index.d.ts.map +0 -1
  1068. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.d.ts +0 -7
  1069. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.d.ts.map +0 -1
  1070. package/dist/src/helpers/ArweaveClient/index.d.ts +0 -9
  1071. package/dist/src/helpers/ArweaveClient/index.d.ts.map +0 -1
  1072. package/dist/src/helpers/ArweaveClient/queries.d.ts +0 -6
  1073. package/dist/src/helpers/ArweaveClient/queries.d.ts.map +0 -1
  1074. package/dist/src/helpers/EasClient/BaseEasClient.d.ts +0 -10
  1075. package/dist/src/helpers/EasClient/BaseEasClient.d.ts.map +0 -1
  1076. package/dist/src/helpers/FileManager/BaseFileManager.d.ts.map +0 -1
  1077. package/dist/src/helpers/PathResolver/BasePathResolver.d.ts.map +0 -1
  1078. package/dist/src/helpers/QueryClient/BaseQueryClient.d.ts.map +0 -1
  1079. package/dist/src/helpers/constants.d.ts +0 -58
  1080. package/dist/src/helpers/constants.d.ts.map +0 -1
  1081. package/dist/src/helpers/crypto.d.ts.map +0 -1
  1082. package/dist/src/helpers/db.d.ts.map +0 -1
  1083. package/dist/src/helpers/environment.d.ts.map +0 -1
  1084. package/dist/src/helpers/file/download/actors.d.ts +0 -3
  1085. package/dist/src/helpers/file/download/actors.d.ts.map +0 -1
  1086. package/dist/src/helpers/file/download/index.d.ts +0 -2
  1087. package/dist/src/helpers/file/download/index.d.ts.map +0 -1
  1088. package/dist/src/helpers/file/fetchAll/actors.d.ts +0 -3
  1089. package/dist/src/helpers/file/fetchAll/actors.d.ts.map +0 -1
  1090. package/dist/src/helpers/file/fetchAll/index.d.ts +0 -2
  1091. package/dist/src/helpers/file/fetchAll/index.d.ts.map +0 -1
  1092. package/dist/src/helpers/file/queries.d.ts.map +0 -1
  1093. package/dist/src/helpers/files.d.ts.map +0 -1
  1094. package/dist/src/helpers/getSchemaForItemProperty.d.ts.map +0 -1
  1095. package/dist/src/helpers/getSegmentedItemProperties.d.ts +0 -10
  1096. package/dist/src/helpers/getSegmentedItemProperties.d.ts.map +0 -1
  1097. package/dist/src/helpers/image/queries.d.ts.map +0 -1
  1098. package/dist/src/helpers/index.d.ts +0 -27
  1099. package/dist/src/helpers/index.d.ts.map +0 -1
  1100. package/dist/src/helpers/model.d.ts.map +0 -1
  1101. package/dist/src/helpers/property/index.d.ts.map +0 -1
  1102. package/dist/src/helpers/property.d.ts.map +0 -1
  1103. package/dist/src/helpers/reactiveProxy.d.ts.map +0 -1
  1104. package/dist/src/helpers/schema.d.ts.map +0 -1
  1105. package/dist/src/helpers/updateMachineContext.d.ts.map +0 -1
  1106. package/dist/src/helpers/updateSchema.d.ts.map +0 -1
  1107. package/dist/src/imports/index.d.ts +0 -3
  1108. package/dist/src/imports/index.d.ts.map +0 -1
  1109. package/dist/src/imports/json.d.ts.map +0 -1
  1110. package/dist/src/imports/markdown.d.ts.map +0 -1
  1111. package/dist/src/index.d.ts +0 -25
  1112. package/dist/src/index.d.ts.map +0 -1
  1113. package/dist/src/interfaces/IDb.d.ts.map +0 -1
  1114. package/dist/src/interfaces/IEasClient.d.ts.map +0 -1
  1115. package/dist/src/interfaces/IItem.d.ts.map +0 -1
  1116. package/dist/src/interfaces/IItemProperty.d.ts +0 -32
  1117. package/dist/src/interfaces/IItemProperty.d.ts.map +0 -1
  1118. package/dist/src/interfaces/IQueryClient.d.ts.map +0 -1
  1119. package/dist/src/interfaces/index.d.ts.map +0 -1
  1120. package/dist/src/node/codegen/drizzle.d.ts.map +0 -1
  1121. package/dist/src/node/codegen/index.d.ts.map +0 -1
  1122. package/dist/src/node/codegen/ts-to-proto.d.ts.map +0 -1
  1123. package/dist/src/node/constants.d.ts.map +0 -1
  1124. package/dist/src/node/db/Db.d.ts.map +0 -1
  1125. package/dist/src/node/db/index.d.ts.map +0 -1
  1126. package/dist/src/node/db/node.app.db.config.d.ts.map +0 -1
  1127. package/dist/src/node/helpers/ArweaveClient.d.ts +0 -7
  1128. package/dist/src/node/helpers/ArweaveClient.d.ts.map +0 -1
  1129. package/dist/src/node/helpers/EasClient.d.ts.map +0 -1
  1130. package/dist/src/node/helpers/FileManager.d.ts.map +0 -1
  1131. package/dist/src/node/helpers/PathResolver.d.ts.map +0 -1
  1132. package/dist/src/node/helpers/QueryClient.d.ts.map +0 -1
  1133. package/dist/src/node/helpers/index.d.ts.map +0 -1
  1134. package/dist/src/node/helpers/scripts.d.ts.map +0 -1
  1135. package/dist/src/node/index.d.ts +0 -25
  1136. package/dist/src/node/index.d.ts.map +0 -1
  1137. package/dist/src/node/seed.d.ts.map +0 -1
  1138. package/dist/src/node/webpack/fs-proxy.d.ts.map +0 -1
  1139. package/dist/src/node/webpack/index.d.ts.map +0 -1
  1140. package/dist/src/seedSchema/AppStateSchema.d.ts.map +0 -1
  1141. package/dist/src/seedSchema/ConfigSchema.d.ts.map +0 -1
  1142. package/dist/src/seedSchema/MetadataSchema.d.ts.map +0 -1
  1143. package/dist/src/seedSchema/ModelSchema.d.ts.map +0 -1
  1144. package/dist/src/seedSchema/ModelSchemaSchema.d.ts.map +0 -1
  1145. package/dist/src/seedSchema/ModelUidSchema.d.ts.map +0 -1
  1146. package/dist/src/seedSchema/PropertyUidSchema.d.ts.map +0 -1
  1147. package/dist/src/seedSchema/SchemaSchema.d.ts.map +0 -1
  1148. package/dist/src/seedSchema/SeedSchema.d.ts.map +0 -1
  1149. package/dist/src/seedSchema/VersionSchema.d.ts.map +0 -1
  1150. package/dist/src/seedSchema/index.d.ts +0 -11
  1151. package/dist/src/seedSchema/index.d.ts.map +0 -1
  1152. package/dist/src/services/events.d.ts.map +0 -1
  1153. package/dist/src/services/publish/actors/createPublishAttempt.d.ts.map +0 -1
  1154. package/dist/src/services/publish/actors/preparePublishRequestData.d.ts.map +0 -1
  1155. package/dist/src/services/publish/actors/upload.d.ts.map +0 -1
  1156. package/dist/src/services/publish/actors/validateItemData.d.ts.map +0 -1
  1157. package/dist/src/services/publish/publishMachine.d.ts.map +0 -1
  1158. package/dist/src/services/write/actors/validateEntity.d.ts +0 -12
  1159. package/dist/src/services/write/actors/validateEntity.d.ts.map +0 -1
  1160. package/dist/src/services/write/actors/writeToDatabase.d.ts.map +0 -1
  1161. package/dist/src/services/write/writeProcessMachine.d.ts +0 -84
  1162. package/dist/src/services/write/writeProcessMachine.d.ts.map +0 -1
  1163. package/dist/src/stores/eas.d.ts.map +0 -1
  1164. package/dist/src/types/browser.d.ts.map +0 -1
  1165. package/dist/src/types/db.d.ts.map +0 -1
  1166. package/dist/src/types/fileManager.d.ts.map +0 -1
  1167. package/dist/src/types/helpers.d.ts.map +0 -1
  1168. package/dist/src/types/import.d.ts.map +0 -1
  1169. package/dist/src/types/index.d.ts +0 -43
  1170. package/dist/src/types/index.d.ts.map +0 -1
  1171. package/dist/src/types/item.d.ts +0 -68
  1172. package/dist/src/types/item.d.ts.map +0 -1
  1173. package/dist/src/types/machines.d.ts.map +0 -1
  1174. package/dist/src/types/model.d.ts.map +0 -1
  1175. package/dist/src/types/property.d.ts.map +0 -1
  1176. package/dist/src/types/seedProtocol.d.ts.map +0 -1
  1177. package/dist/src/types/services.d.ts.map +0 -1
  1178. package/dist/src/vite/index.d.ts +0 -47
  1179. package/dist/src/vite/index.d.ts.map +0 -1
  1180. package/dist/stores/eas.js +0 -23
  1181. package/dist/stores/eas.js.map +0 -1
  1182. package/dist/vite/index.js +0 -554
  1183. package/dist/vite/index.js.map +0 -1
  1184. /package/dist/{src/Item → Item}/queries.d.ts +0 -0
  1185. /package/dist/{src/Item → Item}/service/actors/hydrateExistingItem.d.ts +0 -0
  1186. /package/dist/{src/Item → Item}/service/actors/hydrateNewItem.d.ts +0 -0
  1187. /package/dist/{src/Item → Item}/service/actors/initialize.d.ts +0 -0
  1188. /package/dist/{src/Item → Item}/service/actors/loadOrCreateItem.d.ts +0 -0
  1189. /package/dist/{src/Item → Item}/service/actors/reload.d.ts +0 -0
  1190. /package/dist/{src/Item → Item}/service/actors/waitForDb.d.ts +0 -0
  1191. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/hydrateFromDb.d.ts +0 -0
  1192. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/initialize.d.ts +0 -0
  1193. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/loadOrCreateProperty.d.ts +0 -0
  1194. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/resolveRelatedValue.d.ts +0 -0
  1195. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/resolveRemoteStorage.d.ts +0 -0
  1196. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/analyzeInput.d.ts +0 -0
  1197. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/index.d.ts +0 -0
  1198. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/saveImage.d.ts +0 -0
  1199. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/saveItemStorage.d.ts +0 -0
  1200. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/saveValueToDb/saveRelation.d.ts +0 -0
  1201. /package/dist/{src/ItemProperty → ItemProperty}/service/actors/waitForDb.d.ts +0 -0
  1202. /package/dist/{src/Model → Model}/service/actors/createModelProperties.d.ts +0 -0
  1203. /package/dist/{src/Model → Model}/service/actors/loadOrCreateModel.d.ts +0 -0
  1204. /package/dist/{src/Model → Model}/service/actors/validateModel.d.ts +0 -0
  1205. /package/dist/{src/ModelProperty → ModelProperty}/service/actors/compareAndMarkDraft.d.ts +0 -0
  1206. /package/dist/{src/ModelProperty → ModelProperty}/service/actors/saveToSchema.d.ts +0 -0
  1207. /package/dist/{src/ModelProperty → ModelProperty}/service/actors/validateProperty.d.ts +0 -0
  1208. /package/dist/{src/Schema → Schema}/errors.d.ts +0 -0
  1209. /package/dist/{src/Schema → Schema}/index.d.ts +0 -0
  1210. /package/dist/{src/Schema → Schema}/service/actors/checkExistingSchema.d.ts +0 -0
  1211. /package/dist/{src/Schema → Schema}/service/actors/createModelInstances.d.ts +0 -0
  1212. /package/dist/{src/Schema → Schema}/service/actors/createPropertyInstances.d.ts +0 -0
  1213. /package/dist/{src/Schema → Schema}/service/actors/loadOrCreateSchema.d.ts +0 -0
  1214. /package/dist/{src/Schema → Schema}/service/actors/validateSchema.d.ts +0 -0
  1215. /package/dist/{src/Schema → Schema}/service/actors/verifyModelInstancesInCache.d.ts +0 -0
  1216. /package/dist/{src/Schema → Schema}/service/actors/verifyModelsInDb.d.ts +0 -0
  1217. /package/dist/{src/Schema → Schema}/service/actors/verifyPropertiesInDb.d.ts +0 -0
  1218. /package/dist/{src/Schema → Schema}/service/actors/verifyPropertyInstancesInCache.d.ts +0 -0
  1219. /package/dist/{src/Schema → Schema}/service/actors/verifySchemaInDb.d.ts +0 -0
  1220. /package/dist/{src/Schema → Schema}/service/actors/writeModelsToDb.d.ts +0 -0
  1221. /package/dist/{src/Schema → Schema}/service/actors/writePropertiesToDb.d.ts +0 -0
  1222. /package/dist/{src/Schema → Schema}/service/actors/writeSchemaToDb.d.ts +0 -0
  1223. /package/dist/{src/Schema → Schema}/service/validation/SchemaValidationService.d.ts +0 -0
  1224. /package/dist/{src/Schema → Schema}/validation.d.ts +0 -0
  1225. /package/dist/{src/browser → browser}/db/Db.d.ts +0 -0
  1226. /package/dist/{src/browser → browser}/db/drizzleFiles.d.ts +0 -0
  1227. /package/dist/{src/browser → browser}/db/sqlWasmClient.d.ts +0 -0
  1228. /package/dist/{src/browser → browser}/helpers/EasClient.d.ts +0 -0
  1229. /package/dist/{src/browser → browser}/helpers/FileManager.d.ts +0 -0
  1230. /package/dist/{src/browser → browser}/helpers/PathResolver.d.ts +0 -0
  1231. /package/dist/{src/browser → browser}/helpers/QueryClient.d.ts +0 -0
  1232. /package/dist/{src/browser → browser}/react/OPFSImage.d.ts +0 -0
  1233. /package/dist/{src/browser → browser}/react/SeedImage.d.ts +0 -0
  1234. /package/dist/{src/browser → browser}/react/client.d.ts +0 -0
  1235. /package/dist/{src/browser → browser}/react/db.d.ts +0 -0
  1236. /package/dist/{src/browser → browser}/react/index.d.ts +0 -0
  1237. /package/dist/{src/browser → browser}/react/itemProperty.d.ts +0 -0
  1238. /package/dist/{src/browser → browser}/react/liveQuery.d.ts +0 -0
  1239. /package/dist/{src/browser → browser}/react/model.d.ts +0 -0
  1240. /package/dist/{src/browser → browser}/react/modelProperty.d.ts +0 -0
  1241. /package/dist/{src/browser → browser}/react/schema.d.ts +0 -0
  1242. /package/dist/{src/browser → browser}/react/services.d.ts +0 -0
  1243. /package/dist/{src/browser → browser}/workers/FileDownloader.d.ts +0 -0
  1244. /package/dist/{src/browser → browser}/workers/ImageResizer.d.ts +0 -0
  1245. /package/dist/{src/browser → browser}/workers/content-hash.d.ts +0 -0
  1246. /package/dist/{src/browser → browser}/workers/dbWorker.d.ts +0 -0
  1247. /package/dist/{src/browser → browser}/workers/filesDownload.d.ts +0 -0
  1248. /package/dist/{src/browser → browser}/workers/imageResize.d.ts +0 -0
  1249. /package/dist/{src/client → client}/BaseClientManager.d.ts +0 -0
  1250. /package/dist/{src/client → client}/ClientManager.d.ts +0 -0
  1251. /package/dist/{src/client → client}/actions/setAddresses.d.ts +0 -0
  1252. /package/dist/{src/client → client}/actors/addModelsToDb.d.ts +0 -0
  1253. /package/dist/{src/client → client}/actors/addModelsToStore.d.ts +0 -0
  1254. /package/dist/{src/client → client}/actors/dbInit.d.ts +0 -0
  1255. /package/dist/{src/client → client}/actors/fileSystemInit.d.ts +0 -0
  1256. /package/dist/{src/client → client}/actors/platformClassesInit.d.ts +0 -0
  1257. /package/dist/{src/client → client}/actors/processSchemaFiles.d.ts +0 -0
  1258. /package/dist/{src/client → client}/actors/saveAppState.d.ts +0 -0
  1259. /package/dist/{src/client → client}/actors/saveConfig.d.ts +0 -0
  1260. /package/dist/{src/client → client}/clientManagerMachine.d.ts +0 -0
  1261. /package/dist/{src/client → client}/index.d.ts +0 -0
  1262. /package/dist/{src/db → db}/configs/dev.schema.config.d.ts +0 -0
  1263. /package/dist/{src/db → db}/read/getItem.d.ts +0 -0
  1264. /package/dist/{src/db → db}/read/getItemData.d.ts +0 -0
  1265. /package/dist/{src/db → db}/read/getItemProperties.d.ts +0 -0
  1266. /package/dist/{src/db → db}/read/getItemProperty.d.ts +0 -0
  1267. /package/dist/{src/db → db}/read/getItems.d.ts +0 -0
  1268. /package/dist/{src/db → db}/read/getMetadata.d.ts +0 -0
  1269. /package/dist/{src/db → db}/read/getModelSchemas.d.ts +0 -0
  1270. /package/dist/{src/db → db}/read/getModels.d.ts +0 -0
  1271. /package/dist/{src/db → db}/read/getPropertyData.d.ts +0 -0
  1272. /package/dist/{src/db → db}/read/getPublishPayload.d.ts +0 -0
  1273. /package/dist/{src/db → db}/read/getRelationValueData.d.ts +0 -0
  1274. /package/dist/{src/db → db}/read/getSchemaUidForModel.d.ts +0 -0
  1275. /package/dist/{src/db → db}/read/getSeedData.d.ts +0 -0
  1276. /package/dist/{src/db → db}/read/getStorageTransactionIdForSeedUid.d.ts +0 -0
  1277. /package/dist/{src/db → db}/read/getVersionData.d.ts +0 -0
  1278. /package/dist/{src/db → db}/read/getVersionsForVersionUids.d.ts +0 -0
  1279. /package/dist/{src/db → db}/read/subqueries/metadataLatest.d.ts +0 -0
  1280. /package/dist/{src/db → db}/read/subqueries/versionData.d.ts +0 -0
  1281. /package/dist/{src/db → db}/write/createMetadata.d.ts +0 -0
  1282. /package/dist/{src/db → db}/write/createNewItem.d.ts +0 -0
  1283. /package/dist/{src/db → db}/write/createSeed.d.ts +0 -0
  1284. /package/dist/{src/db → db}/write/createSeeds.d.ts +0 -0
  1285. /package/dist/{src/db → db}/write/createVersion.d.ts +0 -0
  1286. /package/dist/{src/db → db}/write/deleteItem.d.ts +0 -0
  1287. /package/dist/{src/db → db}/write/recoverDeletedItem.d.ts +0 -0
  1288. /package/dist/{src/db → db}/write/saveAppState.d.ts +0 -0
  1289. /package/dist/{src/db → db}/write/saveMetadata.d.ts +0 -0
  1290. /package/dist/{src/db → db}/write/updateMetadata.d.ts +0 -0
  1291. /package/dist/{src/eas.d.ts → eas.d.ts} +0 -0
  1292. /package/dist/{src/eslint-rules → eslint-rules}/align-imports.d.ts +0 -0
  1293. /package/dist/{src/eventBus.d.ts → eventBus.d.ts} +0 -0
  1294. /package/dist/{src/events → events}/files/index.d.ts +0 -0
  1295. /package/dist/{src/events → events}/index.d.ts +0 -0
  1296. /package/dist/{src/events → events}/item/publish.d.ts +0 -0
  1297. /package/dist/{src/events → events}/item/syncDbWithEas.d.ts +0 -0
  1298. /package/dist/{src/events → events}/services/allItems.d.ts +0 -0
  1299. /package/dist/{src/events → events}/services/index.d.ts +0 -0
  1300. /package/dist/{src/feed.d.ts → feed.d.ts} +0 -0
  1301. /package/dist/{src/graphql → graphql}/fragments/Attestation.d.ts +0 -0
  1302. /package/dist/{src/graphql → graphql}/fragments/Schema.d.ts +0 -0
  1303. /package/dist/{src/graphql → graphql}/fragments/index.d.ts +0 -0
  1304. /package/dist/{src/graphql → graphql}/gql/fragment-masking.d.ts +0 -0
  1305. /package/dist/{src/graphql → graphql}/gql/gql.d.ts +0 -0
  1306. /package/dist/{src/graphql → graphql}/gql/graphql.d.ts +0 -0
  1307. /package/dist/{src/graphql → graphql}/gql/index.d.ts +0 -0
  1308. /package/dist/{src/helpers → helpers}/FileManager/BaseFileManager.d.ts +0 -0
  1309. /package/dist/{src/helpers → helpers}/PathResolver/BasePathResolver.d.ts +0 -0
  1310. /package/dist/{src/helpers → helpers}/QueryClient/BaseQueryClient.d.ts +0 -0
  1311. /package/dist/{src/helpers → helpers}/crypto.d.ts +0 -0
  1312. /package/dist/{src/helpers → helpers}/db.d.ts +0 -0
  1313. /package/dist/{src/helpers → helpers}/environment.d.ts +0 -0
  1314. /package/dist/{src/helpers → helpers}/file/queries.d.ts +0 -0
  1315. /package/dist/{src/helpers → helpers}/files.d.ts +0 -0
  1316. /package/dist/{src/helpers → helpers}/getSchemaForItemProperty.d.ts +0 -0
  1317. /package/dist/{src/helpers → helpers}/image/queries.d.ts +0 -0
  1318. /package/dist/{src/helpers → helpers}/model.d.ts +0 -0
  1319. /package/dist/{src/helpers → helpers}/property/index.d.ts +0 -0
  1320. /package/dist/{src/helpers → helpers}/property.d.ts +0 -0
  1321. /package/dist/{src/helpers → helpers}/reactiveProxy.d.ts +0 -0
  1322. /package/dist/{src/helpers → helpers}/schema.d.ts +0 -0
  1323. /package/dist/{src/helpers → helpers}/updateMachineContext.d.ts +0 -0
  1324. /package/dist/{src/helpers → helpers}/updateSchema.d.ts +0 -0
  1325. /package/dist/{src/imports → imports}/json.d.ts +0 -0
  1326. /package/dist/{src/imports → imports}/markdown.d.ts +0 -0
  1327. /package/dist/{src/interfaces → interfaces}/IDb.d.ts +0 -0
  1328. /package/dist/{src/interfaces → interfaces}/IEasClient.d.ts +0 -0
  1329. /package/dist/{src/interfaces → interfaces}/IItem.d.ts +0 -0
  1330. /package/dist/{src/interfaces → interfaces}/IQueryClient.d.ts +0 -0
  1331. /package/dist/{src/interfaces → interfaces}/index.d.ts +0 -0
  1332. /package/dist/{src/node → node}/codegen/drizzle.d.ts +0 -0
  1333. /package/dist/{src/node → node}/codegen/index.d.ts +0 -0
  1334. /package/dist/{src/node → node}/codegen/ts-to-proto.d.ts +0 -0
  1335. /package/dist/{src/node → node}/constants.d.ts +0 -0
  1336. /package/dist/{src/node → node}/db/Db.d.ts +0 -0
  1337. /package/dist/{src/node → node}/db/index.d.ts +0 -0
  1338. /package/dist/{src/node → node}/db/node.app.db.config.d.ts +0 -0
  1339. /package/dist/{src/node → node}/helpers/EasClient.d.ts +0 -0
  1340. /package/dist/{src/node → node}/helpers/FileManager.d.ts +0 -0
  1341. /package/dist/{src/node → node}/helpers/PathResolver.d.ts +0 -0
  1342. /package/dist/{src/node → node}/helpers/QueryClient.d.ts +0 -0
  1343. /package/dist/{src/node → node}/helpers/index.d.ts +0 -0
  1344. /package/dist/{src/node → node}/helpers/scripts.d.ts +0 -0
  1345. /package/dist/{src/node → node}/seed.d.ts +0 -0
  1346. /package/dist/{src/node → node}/webpack/fs-proxy.d.ts +0 -0
  1347. /package/dist/{src/node → node}/webpack/index.d.ts +0 -0
  1348. /package/dist/{src/seedSchema → seedSchema}/AppStateSchema.d.ts +0 -0
  1349. /package/dist/{src/seedSchema → seedSchema}/ConfigSchema.d.ts +0 -0
  1350. /package/dist/{src/seedSchema → seedSchema}/MetadataSchema.d.ts +0 -0
  1351. /package/dist/{src/seedSchema → seedSchema}/ModelSchema.d.ts +0 -0
  1352. /package/dist/{src/seedSchema → seedSchema}/ModelSchemaSchema.d.ts +0 -0
  1353. /package/dist/{src/seedSchema → seedSchema}/ModelUidSchema.d.ts +0 -0
  1354. /package/dist/{src/seedSchema → seedSchema}/PropertyUidSchema.d.ts +0 -0
  1355. /package/dist/{src/seedSchema → seedSchema}/SchemaSchema.d.ts +0 -0
  1356. /package/dist/{src/seedSchema → seedSchema}/SeedSchema.d.ts +0 -0
  1357. /package/dist/{src/seedSchema → seedSchema}/VersionSchema.d.ts +0 -0
  1358. /package/dist/{src/services → services}/events.d.ts +0 -0
  1359. /package/dist/{src/services → services}/publish/actors/createPublishAttempt.d.ts +0 -0
  1360. /package/dist/{src/services → services}/publish/actors/preparePublishRequestData.d.ts +0 -0
  1361. /package/dist/{src/services → services}/publish/actors/upload.d.ts +0 -0
  1362. /package/dist/{src/services → services}/publish/actors/validateItemData.d.ts +0 -0
  1363. /package/dist/{src/services → services}/publish/publishMachine.d.ts +0 -0
  1364. /package/dist/{src/services → services}/write/actors/writeToDatabase.d.ts +0 -0
  1365. /package/dist/{src/stores → stores}/eas.d.ts +0 -0
  1366. /package/dist/{src/types → types}/browser.d.ts +0 -0
  1367. /package/dist/{src/types → types}/db.d.ts +0 -0
  1368. /package/dist/{src/types → types}/fileManager.d.ts +0 -0
  1369. /package/dist/{src/types → types}/helpers.d.ts +0 -0
  1370. /package/dist/{src/types → types}/import.d.ts +0 -0
  1371. /package/dist/{src/types → types}/machines.d.ts +0 -0
  1372. /package/dist/{src/types → types}/model.d.ts +0 -0
  1373. /package/dist/{src/types → types}/property.d.ts +0 -0
  1374. /package/dist/{src/types → types}/seedProtocol.d.ts +0 -0
  1375. /package/dist/{src/types → types}/services.d.ts +0 -0
@@ -1,1732 +0,0 @@
1
- import { createActor } from 'xstate';
2
- import { schemaMachine } from './service/schemaMachine.js';
3
- import { loadAllSchemasFromDb, listCompleteSchemaFiles } from '../helpers/schema.js';
4
- import { convertPropertyToSchemaUpdate, updateModelProperties } from '../helpers/updateSchema.js';
5
- import { ModelProperty } from '../ModelProperty/ModelProperty.js';
6
- import { Model } from '../Model/Model.js';
7
- import { BaseDb } from '../db/Db/BaseDb.js';
8
- import { schemas } from '../seedSchema/SchemaSchema.js';
9
- import { eq, desc, and } from 'drizzle-orm';
10
- import { createReactiveProxy } from '../helpers/reactiveProxy.js';
11
- import { ConflictError } from './errors.js';
12
- import { isInternalSchema } from '../helpers/constants.js';
13
- import debug from 'debug';
14
-
15
- const logger = debug('seedSdk:schema:saveNewVersion');
16
- const saveDraftLogger = debug('seedSdk:schema:saveDraftToDb');
17
- // WeakMap to store non-serializable resources per Schema instance
18
- // Only stores resources that cannot be serialized (subscriptions, timers, etc.)
19
- const schemaInstanceState = new WeakMap();
20
- // Cache client initialization state globally to avoid repeated checks
21
- let cachedClientInitialized = null;
22
- let clientCheckTime = 0;
23
- const CLIENT_CHECK_CACHE_MS = 50; // Cache for 50ms to avoid excessive checks (reduced from 100ms for faster updates)
24
- // Define tracked properties for the Proxy
25
- // These properties will be read from/written to the actor context
26
- const TRACKED_PROPERTIES = [
27
- 'id', // schemaFileId (string) - public ID
28
- '$schema',
29
- 'version',
30
- 'metadata',
31
- 'enums',
32
- 'migrations',
33
- 'models',
34
- 'name', // metadata.name (flattened)
35
- 'createdAt', // metadata.createdAt (flattened)
36
- 'updatedAt', // metadata.updatedAt (flattened)
37
- ];
38
- class Schema {
39
- constructor(schemaName) {
40
- const serviceInput = {
41
- schemaName,
42
- };
43
- this._service = createActor(schemaMachine, {
44
- input: serviceInput,
45
- });
46
- this._service.start();
47
- console.log('started Schema service for schema:', schemaName);
48
- // Initialize instance state in WeakMap (only non-serializable resources)
49
- schemaInstanceState.set(this, {
50
- liveQuerySubscription: null,
51
- });
52
- // Set up liveQuery subscription for cross-instance model updates
53
- // This will be initialized once we have the schemaId
54
- this._setupLiveQuerySubscription();
55
- // Subscribe to schema context changes to update cache keys when schemaFileId becomes available
56
- this._service.subscribe((snapshot) => {
57
- console.log('Schema service subscribed to snapshot', snapshot.value);
58
- // Update cache to use id (schemaFileId) as key once we have it (only once)
59
- if (snapshot.value === 'idle' && snapshot.context.metadata?.name && snapshot.context.id) {
60
- // Use a static Set to track which schemas have had their cache key updated
61
- const cacheKeyUpdatedSet = Schema._cacheKeyUpdatedSet || new Set();
62
- if (!Schema._cacheKeyUpdatedSet) {
63
- Schema._cacheKeyUpdatedSet = cacheKeyUpdatedSet;
64
- }
65
- if (!cacheKeyUpdatedSet.has(snapshot.context.id)) {
66
- Schema._updateCacheKey(snapshot.context.schemaName, snapshot.context.id);
67
- cacheKeyUpdatedSet.add(snapshot.context.id);
68
- }
69
- }
70
- });
71
- // Note: Property getters/setters are now handled by the Proxy in create()
72
- }
73
- static create(schemaName) {
74
- if (!schemaName) {
75
- throw new Error('Schema name is required');
76
- }
77
- // First, check if we have an instance cached by name
78
- if (this.instanceCacheByName.has(schemaName)) {
79
- const { instance, refCount } = this.instanceCacheByName.get(schemaName);
80
- this.instanceCacheByName.set(schemaName, {
81
- instance,
82
- refCount: refCount + 1,
83
- });
84
- return instance;
85
- }
86
- // Create new instance
87
- const newInstance = new this(schemaName);
88
- // Wrap instance in Proxy for reactive property access
89
- const proxiedInstance = createReactiveProxy({
90
- instance: newInstance,
91
- service: newInstance._service,
92
- trackedProperties: TRACKED_PROPERTIES,
93
- getContext: (instance) => {
94
- // Handle special cases like metadata.name, models array conversion
95
- const context = instance._getSnapshotContext();
96
- // Get model IDs from service context (reactive state)
97
- const liveQueryIds = context._liveQueryModelIds || [];
98
- // Get pending model IDs (not yet in DB)
99
- // Note: schemaId lookup is async, so we skip pending IDs here
100
- // They will be included when schemaId is available asynchronously
101
- const pendingIds = [];
102
- // Combine and deduplicate
103
- const allModelIds = [...new Set([...liveQueryIds, ...pendingIds])];
104
- // Get Model instances from static cache
105
- const modelInstances = [];
106
- for (const modelFileId of allModelIds) {
107
- const model = Model.getById(modelFileId);
108
- if (model) {
109
- modelInstances.push(model);
110
- }
111
- // Note: Cannot create models asynchronously in this synchronous getter
112
- // Models will be created elsewhere when needed
113
- }
114
- // Get the schema name, ensuring it's never the ID
115
- // Prefer metadata.name, then schemaName (but only if it's not the ID)
116
- const schemaFileId = context.id; // id is now the schemaFileId (string)
117
- let name = context.metadata?.name;
118
- // If metadata.name is not available, use schemaName but only if it's not the ID
119
- // This prevents returning the ID when the schema is still loading
120
- if (!name) {
121
- name = (context.schemaName && context.schemaName !== schemaFileId)
122
- ? context.schemaName
123
- : undefined;
124
- }
125
- // Final fallback - if we still don't have a name, use schemaName (even if it might be the ID)
126
- // This handles edge cases during loading
127
- if (!name) {
128
- name = context.schemaName;
129
- }
130
- // CRITICAL: Always create a new metadata object to ensure React detects changes
131
- // Even if the metadata content is the same, we need a new reference so React re-renders
132
- const metadata = context.metadata ? {
133
- ...context.metadata,
134
- } : undefined;
135
- return {
136
- ...context,
137
- // Always return a new metadata object reference so React detects changes
138
- metadata,
139
- // Flatten metadata properties to top level for convenience
140
- // Fall back to schemaName if metadata.name is not available (handles loading states)
141
- name,
142
- createdAt: context.metadata?.createdAt,
143
- updatedAt: context.metadata?.updatedAt,
144
- // Return Model instances instead of plain objects
145
- // CRITICAL: Always create a new array reference so React detects changes
146
- // This ensures that even if the models are the same, React will re-render when the array reference changes
147
- models: [...modelInstances], // New array reference for React
148
- };
149
- },
150
- sendUpdate: (instance, prop, value) => {
151
- // Handle special property updates
152
- if (prop === 'name') {
153
- // Update both metadata.name and schemaName
154
- const context = instance._getSnapshotContext();
155
- const currentMetadata = context.metadata || {
156
- name: schemaName,
157
- createdAt: new Date().toISOString(),
158
- updatedAt: new Date().toISOString(),
159
- };
160
- const oldName = currentMetadata.name || context.schemaName;
161
- const newName = value;
162
- // Only update if the name actually changed
163
- if (oldName !== newName) {
164
- logger(`Updating schema name from "${oldName}" to "${newName}"`);
165
- // Check if service is still running before sending events
166
- let snapshot = instance._service.getSnapshot();
167
- const wasServiceStopped = snapshot.status === 'stopped';
168
- if (wasServiceStopped) {
169
- // CRITICAL: Update the schemaName in the service context BEFORE restarting
170
- // This ensures that when loadOrCreateSchema runs, it looks for the schema with the NEW name
171
- // We need to do this by sending updateContext to a running service, but if it's stopped,
172
- // we need to restart it first, update, then it will reload with the new name
173
- logger(`Service is stopped, will update schemaName to "${newName}" then restart`);
174
- // Start the service first
175
- instance._service.start();
176
- // Immediately update the schemaName so loadOrCreateSchema uses the new name
177
- // This must happen before loadOrCreateSchema runs
178
- instance._service.send({
179
- type: 'updateContext',
180
- schemaName: newName,
181
- });
182
- logger(`Updated schemaName to "${newName}" before loadOrCreateSchema runs`);
183
- // Re-check snapshot after restart - service might be loading or already idle
184
- snapshot = instance._service.getSnapshot();
185
- }
186
- // Build the update event with the new name
187
- const updateEvent = {
188
- type: 'updateContext',
189
- schemaName: newName,
190
- metadata: {
191
- ...(currentMetadata || {
192
- name: newName,
193
- createdAt: new Date().toISOString(),
194
- updatedAt: new Date().toISOString(),
195
- }),
196
- name: newName, // Always use the new name
197
- updatedAt: new Date().toISOString(), // Always update timestamp
198
- },
199
- };
200
- // Check current state after potential restart
201
- const currentState = snapshot.value;
202
- const isServiceLoading = currentState === 'loading';
203
- // If service is loading (or was just restarted and might be loading), wait for it to finish
204
- // Otherwise loadOrCreateSchemaSuccess might overwrite our update with old data
205
- if (isServiceLoading || wasServiceStopped) {
206
- logger(`Service is ${isServiceLoading ? 'loading' : 'was stopped'}, will send updateContext after loading completes (current state: ${currentState})`);
207
- // Helper function to send the update
208
- const sendUpdate = () => {
209
- logger(`Sending updateContext with newName="${newName}"`);
210
- instance._service.send(updateEvent);
211
- // Verify the update
212
- setTimeout(() => {
213
- const verifySnapshot = instance._service.getSnapshot();
214
- logger(`After updateContext: context schemaName="${verifySnapshot.context.schemaName}", metadata.name="${verifySnapshot.context.metadata?.name}"`);
215
- }, 0);
216
- };
217
- // Check if already idle (might have loaded synchronously)
218
- if (currentState === 'idle') {
219
- // Service is already idle, but loadOrCreateSchemaSuccess might have just fired
220
- // Use a small delay to ensure loadOrCreateSchemaSuccess has been processed
221
- logger(`Service is already idle after restart, will send updateContext after brief delay to ensure loadOrCreateSchemaSuccess processed`);
222
- setTimeout(() => {
223
- sendUpdate();
224
- }, 10);
225
- }
226
- else {
227
- // Subscribe to wait for loading to complete, then send the update
228
- // Use a small delay after idle to ensure loadOrCreateSchemaSuccess has been processed
229
- const loadingSubscription = instance._service.subscribe((snapshot) => {
230
- if (snapshot.value === 'idle') {
231
- loadingSubscription.unsubscribe();
232
- logger(`Service finished loading, will send updateContext with newName="${newName}" after brief delay`);
233
- setTimeout(() => {
234
- sendUpdate();
235
- }, 10);
236
- }
237
- else if (snapshot.value === 'error') {
238
- loadingSubscription.unsubscribe();
239
- logger(`Service failed to load, cannot update context`);
240
- }
241
- });
242
- }
243
- }
244
- else {
245
- // Service is already idle, send update immediately
246
- logger(`Service is already idle, sending updateContext immediately: newName="${newName}", current context schemaName="${snapshot.context.schemaName}"`);
247
- instance._service.send(updateEvent);
248
- // Verify the update
249
- setTimeout(() => {
250
- const verifySnapshot = instance._service.getSnapshot();
251
- logger(`After updateContext: context schemaName="${verifySnapshot.context.schemaName}", metadata.name="${verifySnapshot.context.metadata?.name}"`);
252
- }, 0);
253
- }
254
- // Mark schema as draft when name changes
255
- instance._service.send({
256
- type: 'markAsDraft',
257
- propertyKey: 'schema:name', // Special key for schema name changes
258
- });
259
- // Save draft to database immediately so changes persist
260
- saveDraftLogger(`Name change detected, calling _saveDraftToDb (oldName: "${oldName}", newName: "${newName}")`);
261
- instance._saveDraftToDb(oldName, newName).catch((error) => {
262
- saveDraftLogger(`ERROR: Failed to save draft after name change: ${error instanceof Error ? error.message : String(error)}`);
263
- logger(`Failed to save draft to database: ${error instanceof Error ? error.message : String(error)}`);
264
- });
265
- }
266
- else {
267
- logger(`Schema name unchanged: "${oldName}"`);
268
- }
269
- }
270
- else if (prop === 'models') {
271
- // DISABLED: Array assignment to schema.models is temporarily disabled
272
- //
273
- // REASON: This approach had race condition issues where _saveDraftToDb() would run
274
- // before Model instances were fully created, causing models to not be saved to the database.
275
- //
276
- // NEW APPROACH: Use Model.create() instead:
277
- // const model = Model.create('ModelName', schemaInstance, {
278
- // properties: {...},
279
- // description: '...'
280
- // })
281
- //
282
- // This ensures:
283
- // 1. Model instance is created first with its _modelFileId
284
- // 2. Model automatically registers with the schema
285
- // 3. Schema saves to database with complete model data
286
- // 4. No race conditions between model creation and schema persistence
287
- //
288
- // TODO: Re-enable this if we can fix the race condition, or if we need backward compatibility
289
- throw new Error('Direct assignment to schema.models is disabled. ' +
290
- 'Please use Model.create() instead: ' +
291
- 'const model = Model.create("ModelName", schemaInstance, { properties: {...}, description: "..." })');
292
- /* DISABLED CODE - See comment above
293
- // Convert array of Model instances or plain objects back to object format
294
- let modelsObject: { [key: string]: any }
295
- if (Array.isArray(value)) {
296
- modelsObject = {}
297
- const seenNames = new Set<string>()
298
-
299
- // Check for duplicate model names
300
- for (const model of value) {
301
- // Handle Model instances
302
- if (model instanceof Model) {
303
- const modelName = model.modelName!
304
- if (seenNames.has(modelName)) {
305
- throw new Error(
306
- `Duplicate model name detected: "${modelName}". Each model must have a unique name.`
307
- )
308
- }
309
- seenNames.add(modelName)
310
- modelsObject[modelName] = {
311
- properties: model.properties || {},
312
- }
313
- } else if (model && typeof model === 'object' && 'name' in model) {
314
- // Handle plain objects
315
- const modelName = model.name as string
316
- if (seenNames.has(modelName)) {
317
- throw new Error(
318
- `Duplicate model name detected: "${modelName}". Each model must have a unique name.`
319
- )
320
- }
321
- seenNames.add(modelName)
322
- const { name, ...modelData } = model
323
- modelsObject[name] = modelData
324
- }
325
- }
326
- } else {
327
- modelsObject = value || {}
328
- // Check for duplicates in object format too
329
- const modelNames = Object.keys(modelsObject)
330
- const seenNames = new Set<string>()
331
- for (const modelName of modelNames) {
332
- if (seenNames.has(modelName)) {
333
- throw new Error(
334
- `Duplicate model name detected: "${modelName}". Each model must have a unique name.`
335
- )
336
- }
337
- seenNames.add(modelName)
338
- }
339
- }
340
-
341
- const context = newInstance._getSnapshotContext()
342
-
343
- // Check if service is still running before sending events
344
- let snapshot = newInstance._service.getSnapshot()
345
- const wasServiceStopped = snapshot.status === 'stopped'
346
-
347
- if (wasServiceStopped) {
348
- logger(`Service is stopped, will restart before adding models`)
349
- newInstance._service.start()
350
- snapshot = newInstance._service.getSnapshot()
351
- }
352
-
353
- // Check current state after potential restart
354
- const currentState = snapshot.value
355
- const isServiceLoading = currentState === 'loading'
356
-
357
- // If service is loading, wait for it to finish before adding models
358
- if (isServiceLoading || wasServiceStopped) {
359
- logger(`Service is ${isServiceLoading ? 'loading' : 'was stopped'}, will add models after loading completes`)
360
-
361
- const loadingSubscription = newInstance._service.subscribe((snapshot) => {
362
- if (snapshot.value === 'idle') {
363
- loadingSubscription.unsubscribe()
364
- logger(`Service finished loading, sending addModels event`)
365
- newInstance._service.send({
366
- type: 'addModels',
367
- models: modelsObject,
368
- })
369
- } else if (snapshot.value === 'error') {
370
- loadingSubscription.unsubscribe()
371
- logger(`Service failed to load, cannot add models`)
372
- }
373
- })
374
- } else {
375
- // Service is ready, send addModels event immediately
376
- // The state machine will handle all the complexity (validation, instance creation, ID collection, persistence)
377
- logger(`Service is ready, sending addModels event`)
378
- newInstance._service.send({
379
- type: 'addModels',
380
- models: modelsObject,
381
- })
382
- }
383
-
384
- // Mark schema as draft when models change
385
- newInstance._service.send({
386
- type: 'markAsDraft',
387
- propertyKey: 'schema:models',
388
- })
389
-
390
- // Save draft to database immediately so changes persist
391
- newInstance._saveDraftToDb().catch((error) => {
392
- logger(`Failed to save draft to database: ${error instanceof Error ? error.message : String(error)}`)
393
- })
394
-
395
- // Update client context so useSchema and useSchemas hooks reflect the change
396
- newInstance._updateClientContext().catch(() => {
397
- // Silently fail if not in browser environment
398
- })
399
- */
400
- }
401
- else if (prop === 'createdAt' || prop === 'updatedAt') {
402
- // Update metadata object
403
- const metadataContext = newInstance._getSnapshotContext();
404
- const currentMetadata = metadataContext.metadata || {
405
- name: schemaName,
406
- createdAt: new Date().toISOString(),
407
- updatedAt: new Date().toISOString(),
408
- };
409
- newInstance._service.send({
410
- type: 'updateContext',
411
- metadata: {
412
- ...currentMetadata,
413
- [prop]: value,
414
- updatedAt: new Date().toISOString(),
415
- },
416
- });
417
- }
418
- else {
419
- // Standard property update
420
- newInstance._service.send({
421
- type: 'updateContext',
422
- [prop]: value,
423
- });
424
- // Mark schema as draft for other property changes
425
- newInstance._service.send({
426
- type: 'markAsDraft',
427
- propertyKey: prop,
428
- });
429
- // Save draft to database for tracked properties
430
- if (TRACKED_PROPERTIES.includes(prop)) {
431
- const trackedPropContext = newInstance._getSnapshotContext();
432
- const schemaName = trackedPropContext.metadata?.name || trackedPropContext.schemaName;
433
- newInstance._saveDraftToDb(schemaName, schemaName).catch((error) => {
434
- logger(`Failed to save draft to database: ${error instanceof Error ? error.message : String(error)}`);
435
- });
436
- }
437
- }
438
- },
439
- });
440
- // Cache by name initially (will be moved to id-based cache once schemaFileId is available)
441
- this.instanceCacheByName.set(schemaName, {
442
- instance: proxiedInstance,
443
- refCount: 1,
444
- });
445
- // The proxiedInstance is Proxied<Schema> which preserves all methods
446
- // TypeScript recognizes this as Schema with all methods intact
447
- return proxiedInstance;
448
- }
449
- /**
450
- * Update the cache to use schemaFileId as the key instead of schemaName
451
- * This should be called once the schema is loaded and we have the schemaFileId
452
- * We keep the instance in BOTH caches for efficient lookups by either name or ID
453
- */
454
- static _updateCacheKey(schemaName, schemaFileId) {
455
- // If we already have an entry with this id, skip (already processed)
456
- if (this.instanceCacheById.has(schemaFileId)) {
457
- return;
458
- }
459
- // If we have an instance cached by name, also add it to id-based cache
460
- // Keep it in both caches for efficient lookups
461
- if (this.instanceCacheByName.has(schemaName)) {
462
- const cacheEntry = this.instanceCacheByName.get(schemaName);
463
- // Add to ID cache (don't remove from name cache)
464
- this.instanceCacheById.set(schemaFileId, {
465
- instance: cacheEntry.instance,
466
- refCount: cacheEntry.refCount, // Use same refCount
467
- });
468
- logger(`Added schema cache entry to id "${schemaFileId}" (kept in name cache: "${schemaName}")`);
469
- }
470
- }
471
- /**
472
- * Get schema instance by schemaFileId (preferred method)
473
- * Returns null if not found in cache
474
- */
475
- static getById(schemaFileId) {
476
- if (this.instanceCacheById.has(schemaFileId)) {
477
- const { instance, refCount } = this.instanceCacheById.get(schemaFileId);
478
- this.instanceCacheById.set(schemaFileId, {
479
- instance,
480
- refCount: refCount + 1,
481
- });
482
- return instance;
483
- }
484
- return null;
485
- }
486
- /**
487
- * Clear all cached Schema instances.
488
- * This is primarily useful for test cleanup.
489
- * All cached instances will be unloaded and removed from both caches.
490
- */
491
- static clearCache() {
492
- // Collect all unique instances from both caches
493
- const instances = new Set();
494
- // Collect from ID-based cache
495
- for (const { instance } of this.instanceCacheById.values()) {
496
- instances.add(instance);
497
- }
498
- // Collect from name-based cache
499
- for (const { instance } of this.instanceCacheByName.values()) {
500
- instances.add(instance);
501
- }
502
- // Unload all instances (this will properly clean up services and state)
503
- for (const instance of instances) {
504
- try {
505
- instance.unload();
506
- }
507
- catch (error) {
508
- // Ignore errors during cleanup (instance might already be unloaded)
509
- }
510
- }
511
- // Clear both caches explicitly
512
- this.instanceCacheById.clear();
513
- this.instanceCacheByName.clear();
514
- }
515
- /**
516
- * Create or get schema instance by schemaFileId
517
- * Queries the database to find the schema name if not cached
518
- * @param schemaFileId - The schema file ID
519
- * @returns Schema instance
520
- */
521
- static async createById(schemaFileId) {
522
- if (!schemaFileId) {
523
- throw new Error('Schema file ID is required');
524
- }
525
- // First, check if we have an instance cached by ID
526
- const cachedInstance = this.getById(schemaFileId);
527
- if (cachedInstance) {
528
- return cachedInstance;
529
- }
530
- // Query database to get schema name from ID
531
- const { BaseDb } = await import('../db/Db/BaseDb.js');
532
- const { schemas: schemasTable } = await import('../seedSchema/SchemaSchema.js');
533
- const db = BaseDb.getAppDb();
534
- if (!db) {
535
- throw new Error('Database not available');
536
- }
537
- const dbSchemas = await db
538
- .select()
539
- .from(schemasTable)
540
- .where(eq(schemasTable.schemaFileId, schemaFileId))
541
- .orderBy(desc(schemasTable.version))
542
- .limit(1);
543
- if (dbSchemas.length === 0) {
544
- throw new Error(`Schema with ID "${schemaFileId}" not found in database`);
545
- }
546
- const dbSchema = dbSchemas[0];
547
- const schemaName = dbSchema.name;
548
- if (!schemaName) {
549
- throw new Error(`Schema with ID "${schemaFileId}" has no name in database`);
550
- }
551
- // Create schema using the name (this will load from database/file)
552
- return this.create(schemaName);
553
- }
554
- /**
555
- * Get instantiated Schema objects for all schemas (from database and files)
556
- * By default, returns only the latest version of each schema and excludes the internal Seed Protocol schema.
557
- * Uses loadAllSchemasFromDb() as the single source of truth, which intelligently merges database and file data.
558
- *
559
- * @param options - Configuration options
560
- * @param options.includeAllVersions - If true, returns all versions of each schema. Default: false
561
- * @param options.includeInternal - If true, includes the internal Seed Protocol schema. Default: false
562
- * @returns Array of Schema instances
563
- */
564
- static async all(options = {}) {
565
- const { includeAllVersions = false, includeInternal = false } = options;
566
- try {
567
- // Use loadAllSchemasFromDb as single source of truth
568
- // This intelligently merges database and file data, including drafts
569
- const allSchemasData = await loadAllSchemasFromDb();
570
- // Filter internal schemas unless explicitly included
571
- let filteredSchemas = includeInternal
572
- ? allSchemasData
573
- : allSchemasData.filter(schemaData => {
574
- const schema = schemaData.schema;
575
- // Check if this is an internal schema by name or ID
576
- return !isInternalSchema(schema.metadata?.name || '', schema.id);
577
- });
578
- // Filter to latest versions if needed
579
- if (!includeAllVersions) {
580
- // Group by schema name and keep only the latest version of each
581
- const schemaMap = new Map();
582
- for (const schemaData of filteredSchemas) {
583
- const schemaName = schemaData.schema.metadata?.name || '';
584
- if (!schemaName)
585
- continue;
586
- const existing = schemaMap.get(schemaName);
587
- if (!existing || schemaData.schema.version > existing.schema.version) {
588
- schemaMap.set(schemaName, schemaData);
589
- }
590
- else if (schemaData.schema.version === existing.schema.version) {
591
- // If versions are equal, use updatedAt as tiebreaker
592
- const currentUpdatedAt = new Date(schemaData.schema.metadata?.updatedAt || 0).getTime();
593
- const existingUpdatedAt = new Date(existing.schema.metadata?.updatedAt || 0).getTime();
594
- if (currentUpdatedAt > existingUpdatedAt) {
595
- schemaMap.set(schemaName, schemaData);
596
- }
597
- }
598
- }
599
- filteredSchemas = Array.from(schemaMap.values());
600
- }
601
- // Create Schema instances using the schemaFileId from filtered data to ensure correct version
602
- const schemaInstances = [];
603
- const processedSchemaNames = new Set();
604
- for (const schemaData of filteredSchemas) {
605
- const schemaName = schemaData.schema.metadata?.name;
606
- const schemaFileId = schemaData.schema.id;
607
- const expectedVersion = schemaData.schema.version;
608
- if (!schemaName)
609
- continue;
610
- // Skip if we've already processed this schema name (to avoid duplicates)
611
- if (processedSchemaNames.has(schemaName)) {
612
- continue;
613
- }
614
- processedSchemaNames.add(schemaName);
615
- // Try to use schemaFileId to ensure we load the correct version
616
- // First check if we have a cached instance by schemaFileId
617
- if (schemaFileId) {
618
- const cachedById = this.getById(schemaFileId);
619
- if (cachedById) {
620
- // Verify the cached instance has the correct version
621
- const cachedContext = cachedById.getService().getSnapshot().context;
622
- if (cachedContext.version === expectedVersion) {
623
- schemaInstances.push(cachedById);
624
- continue;
625
- }
626
- }
627
- }
628
- // If no cached instance by ID, check by name but verify version
629
- const cachedByName = this.instanceCacheByName.get(schemaName);
630
- if (cachedByName) {
631
- const cachedContext = cachedByName.instance.getService().getSnapshot().context;
632
- // Only use cached instance if it has the correct version
633
- if (cachedContext.version === expectedVersion && (!schemaFileId || cachedContext.id === schemaFileId)) {
634
- schemaInstances.push(cachedByName.instance);
635
- continue;
636
- }
637
- }
638
- // Create new instance - it will load from database
639
- // The loadOrCreateSchema actor should query by name and get the latest version
640
- // But to ensure we get the correct version, we'll use createById if we have the schemaFileId
641
- if (schemaFileId) {
642
- try {
643
- const instance = await this.createById(schemaFileId);
644
- schemaInstances.push(instance);
645
- }
646
- catch (error) {
647
- // Fallback to creating by name if createById fails
648
- schemaInstances.push(this.create(schemaName));
649
- }
650
- }
651
- else {
652
- schemaInstances.push(this.create(schemaName));
653
- }
654
- }
655
- return schemaInstances;
656
- }
657
- catch (error) {
658
- // Fallback to file-based approach if database is unavailable
659
- // This maintains backward compatibility for environments without database
660
- logger(`Error loading schemas from database, falling back to files: ${error instanceof Error ? error.message : String(error)}`);
661
- // Use existing file-based implementation as fallback
662
- const allSchemaFiles = await listCompleteSchemaFiles();
663
- // Filter out internal schemas unless explicitly included
664
- const filteredSchemas = includeInternal
665
- ? allSchemaFiles
666
- : allSchemaFiles.filter(schema => {
667
- // Check if this is an internal schema by name or ID
668
- return !isInternalSchema(schema.name, schema.schemaFileId);
669
- });
670
- // If includeAllVersions is false, filter to only latest version of each schema
671
- const schemasToUse = includeAllVersions
672
- ? filteredSchemas
673
- : (() => {
674
- // Group by schema name and keep only the latest version of each
675
- const schemaMap = new Map();
676
- for (const schema of filteredSchemas) {
677
- const existing = schemaMap.get(schema.name);
678
- if (!existing || schema.version > existing.version) {
679
- schemaMap.set(schema.name, schema);
680
- }
681
- }
682
- return Array.from(schemaMap.values());
683
- })();
684
- // Get unique schema names (one instance per schema name)
685
- const uniqueSchemaNames = new Set();
686
- for (const schema of schemasToUse) {
687
- uniqueSchemaNames.add(schema.name);
688
- }
689
- // Create Schema instances for each unique schema name
690
- const schemaInstances = [];
691
- for (const schemaName of uniqueSchemaNames) {
692
- schemaInstances.push(this.create(schemaName));
693
- }
694
- return schemaInstances;
695
- }
696
- }
697
- getService() {
698
- return this._service;
699
- }
700
- _getSnapshot() {
701
- return this._service.getSnapshot();
702
- }
703
- _getSnapshotContext() {
704
- return this._getSnapshot().context;
705
- }
706
- get schemaName() {
707
- const context = this._getSnapshotContext();
708
- const schemaFileId = context.id; // id is now the schemaFileId (string)
709
- // Prefer metadata.name if available (most reliable)
710
- if (context.metadata?.name) {
711
- return context.metadata.name;
712
- }
713
- // If metadata.name is not available, use schemaName but only if it's not the ID
714
- // This prevents returning the ID when the schema is still loading or if an ID was mistakenly passed
715
- if (context.schemaName && context.schemaName !== schemaFileId) {
716
- return context.schemaName;
717
- }
718
- // Final fallback - return schemaName even if it might be the ID
719
- // This handles edge cases during loading, but should be rare
720
- return context.schemaName || '';
721
- }
722
- get schemaFileId() {
723
- return this._getSnapshotContext().id; // id is now the schemaFileId (string)
724
- }
725
- get id() {
726
- return this._getSnapshotContext().id; // id is now the schemaFileId (string)
727
- }
728
- get status() {
729
- return this._getSnapshot().value;
730
- }
731
- get isEdited() {
732
- const context = this._getSnapshotContext();
733
- // First check in-memory state
734
- if (context._isEdited !== undefined) {
735
- return context._isEdited;
736
- }
737
- // Fall back to reading from database if we have _dbId
738
- if (context._dbId) {
739
- // Load from database asynchronously (fire-and-forget for now)
740
- // For synchronous getter, we'll need to cache it or make it async
741
- // For now, return false if not in context
742
- return false;
743
- }
744
- return false;
745
- }
746
- get validationErrors() {
747
- return this._getSnapshotContext()._validationErrors || [];
748
- }
749
- get isValid() {
750
- const errors = this.validationErrors;
751
- return errors.length === 0;
752
- }
753
- /**
754
- * Validate the schema
755
- * @returns Validation result
756
- */
757
- async validate() {
758
- return new Promise((resolve) => {
759
- let resolved = false;
760
- const subscription = this._service.subscribe((snapshot) => {
761
- if (snapshot.value === 'idle' || snapshot.value === 'error') {
762
- if (!resolved) {
763
- resolved = true;
764
- subscription.unsubscribe();
765
- const errors = snapshot.context._validationErrors || [];
766
- resolve({
767
- isValid: errors.length === 0,
768
- errors,
769
- });
770
- }
771
- }
772
- });
773
- this._service.send({ type: 'validateSchema' });
774
- // Timeout fallback to ensure we always resolve (15 seconds - longer than actor timeout)
775
- setTimeout(() => {
776
- if (!resolved) {
777
- resolved = true;
778
- subscription.unsubscribe();
779
- const errors = this._getSnapshotContext()._validationErrors || [];
780
- resolve({
781
- isValid: errors.length === 0,
782
- errors,
783
- });
784
- }
785
- }, 15000);
786
- });
787
- }
788
- /**
789
- * Build models object from Model instances (for persistence)
790
- * Model instances are the source of truth for model data
791
- */
792
- _buildModelsFromInstances() {
793
- const context = this._getSnapshotContext();
794
- const models = {};
795
- // Get model IDs from service context (reactive state)
796
- const modelIds = context._liveQueryModelIds || [];
797
- // Iterate through Model instances from static cache
798
- for (const modelFileId of modelIds) {
799
- const modelInstance = Model.getById(modelFileId);
800
- if (!modelInstance)
801
- continue;
802
- try {
803
- const modelName = modelInstance.modelName;
804
- if (!modelName) {
805
- logger(`Model instance with ID ${modelFileId} has no modelName, skipping`);
806
- continue;
807
- }
808
- // Build model definition from Model instance context
809
- // CRITICAL: Read properties from ModelProperty instances, not from Model's properties context
810
- // ModelProperty instances are the source of truth for property data
811
- const propertiesFromInstances = modelInstance._buildPropertiesFromInstances?.() || modelInstance.properties || {};
812
- models[modelName] = {
813
- properties: propertiesFromInstances,
814
- };
815
- logger(`Built model "${modelName}" from Model instance (ID: ${modelFileId})`);
816
- }
817
- catch (error) {
818
- logger(`Error building model from instance (ID: ${modelFileId}): ${error instanceof Error ? error.message : String(error)}`);
819
- }
820
- }
821
- logger(`Built ${Object.keys(models).length} models from Model instances`);
822
- return models;
823
- }
824
- /**
825
- * Saves all edited properties to a new schema version.
826
- * This writes the changes to a new JSON file and clears the draft flags.
827
- * Validates the schema before saving.
828
- * Transitions schema from draft (DB-only) to published (file + DB).
829
- * @returns The file path of the new schema version
830
- */
831
- async saveNewVersion() {
832
- // Check for conflicts before saving
833
- const conflictCheck = await this._checkForConflicts();
834
- if (conflictCheck.hasConflict) {
835
- const errorMessage = conflictCheck.message || 'Database was updated externally. Please reload the schema and try again.';
836
- logger(`CONFLICT DETECTED: ${errorMessage}`);
837
- throw new ConflictError(errorMessage, conflictCheck);
838
- }
839
- const context = this._getSnapshotContext();
840
- const { BaseDb } = await import('../db/Db/BaseDb.js');
841
- const { schemas: schemasTable } = await import('../seedSchema/SchemaSchema.js');
842
- const { addSchemaToDb } = await import('../helpers/db.js');
843
- if (!context._isDraft || !context._editedProperties || context._editedProperties.size === 0) {
844
- logger('No changes to save');
845
- return '';
846
- }
847
- // Validate schema before saving
848
- const validationResult = await this.validate();
849
- if (!validationResult.isValid) {
850
- logger(`Schema validation failed with ${validationResult.errors.length} errors`);
851
- throw new Error(`Cannot save schema: validation failed. Errors: ${validationResult.errors.map(e => e.message).join(', ')}`);
852
- }
853
- logger(`Saving new version for schema ${this.schemaName} with ${context._editedProperties.size} edited properties`);
854
- // STEP 1: Ensure draft exists in database and update it with current state
855
- const db = BaseDb.getAppDb();
856
- if (!db) {
857
- throw new Error('Database not found');
858
- }
859
- // Build current schema state from context
860
- // CRITICAL: Read models from Model instances, not from Schema context
861
- // Model instances are the source of truth for model data
862
- const modelsFromInstances = this._buildModelsFromInstances();
863
- const currentSchema = {
864
- $schema: context.$schema || 'https://seedprotocol.org/schemas/data-model/v1',
865
- version: context.version || 1,
866
- metadata: context.metadata || {
867
- name: this.schemaName,
868
- createdAt: new Date().toISOString(),
869
- updatedAt: new Date().toISOString(),
870
- },
871
- models: modelsFromInstances, // Read from Model instances, not context.models
872
- enums: context.enums || {},
873
- migrations: context.migrations || [],
874
- };
875
- // Update draft in database with current state
876
- await addSchemaToDb({
877
- name: this.schemaName,
878
- version: currentSchema.version,
879
- createdAt: new Date(currentSchema.metadata.createdAt).getTime(),
880
- updatedAt: new Date(currentSchema.metadata.updatedAt).getTime(),
881
- }, currentSchema.id, JSON.stringify(currentSchema, null, 2), true);
882
- // Collect all edited properties and convert them to SchemaPropertyUpdate format
883
- const propertyUpdates = [];
884
- for (const propertyKey of context._editedProperties) {
885
- // Skip schema-level changes (like schema name changes)
886
- if (propertyKey === 'schema:name') {
887
- // Schema name changes are handled by using the updated schemaName in the file path
888
- continue;
889
- }
890
- const [modelName, propertyName] = propertyKey.split(':');
891
- if (!modelName || !propertyName) {
892
- logger(`Invalid property key format: ${propertyKey}`);
893
- continue;
894
- }
895
- // Get ModelProperty instance from cache
896
- const cacheKey = `${modelName}:${propertyName}`;
897
- const ModelPropertyClass = ModelProperty;
898
- const cachedInstance = ModelPropertyClass.instanceCache.get(cacheKey);
899
- if (!cachedInstance) {
900
- logger(`ModelProperty instance not found for ${cacheKey}`);
901
- continue;
902
- }
903
- const modelProperty = cachedInstance.instance;
904
- const propertyContext = modelProperty.getService().getSnapshot().context;
905
- // Convert to SchemaPropertyUpdate
906
- const propertyUpdate = await convertPropertyToSchemaUpdate(propertyContext, modelName, propertyName);
907
- propertyUpdates.push(propertyUpdate);
908
- }
909
- if (propertyUpdates.length === 0) {
910
- logger('No valid property updates to save');
911
- return '';
912
- }
913
- // STEP 2: Save to new schema version (writes file)
914
- const newFilePath = await updateModelProperties(this.schemaName, propertyUpdates);
915
- // STEP 3: After file is written, update database to mark as published (isDraft = false)
916
- // Load the file to get the final schema with IDs
917
- const { BaseFileManager } = await import('../helpers/FileManager/BaseFileManager.js');
918
- const fileContent = await BaseFileManager.readFileAsString(newFilePath);
919
- const publishedSchema = JSON.parse(fileContent);
920
- // Update database record: set isDraft = false and update schemaFileId
921
- const dbSchema = await db
922
- .select()
923
- .from(schemasTable)
924
- .where(eq(schemasTable.name, this.schemaName))
925
- .limit(1);
926
- if (dbSchema.length > 0) {
927
- await db
928
- .update(schemasTable)
929
- .set({
930
- isDraft: false,
931
- isEdited: false, // Clear isEdited flag after saving to file
932
- schemaFileId: publishedSchema.id,
933
- schemaData: JSON.stringify(publishedSchema, null, 2),
934
- version: publishedSchema.version,
935
- updatedAt: new Date(publishedSchema.metadata.updatedAt).getTime(),
936
- })
937
- .where(eq(schemasTable.id, dbSchema[0].id));
938
- }
939
- else {
940
- // Create new record if it doesn't exist (shouldn't happen, but safety)
941
- await addSchemaToDb({
942
- name: this.schemaName,
943
- version: publishedSchema.version,
944
- createdAt: new Date(publishedSchema.metadata.createdAt).getTime(),
945
- updatedAt: new Date(publishedSchema.metadata.updatedAt).getTime(),
946
- }, publishedSchema.id, JSON.stringify(publishedSchema, null, 2), false, // isDraft = false (published)
947
- false);
948
- }
949
- // Clear draft flags on Schema and update conflict detection metadata
950
- this._service.send({
951
- type: 'clearDraft',
952
- _dbUpdatedAt: new Date(publishedSchema.metadata.updatedAt).getTime(),
953
- _dbVersion: publishedSchema.version,
954
- });
955
- // Clear edited flags on all ModelProperty instances and in database
956
- const { properties: propertiesTable, models: modelsTable } = await import('../seedSchema/index.js');
957
- for (const propertyKey of context._editedProperties) {
958
- const [modelName, propertyName] = propertyKey.split(':');
959
- const cacheKey = `${modelName}:${propertyName}`;
960
- const ModelPropertyClass = ModelProperty;
961
- const cachedInstance = ModelPropertyClass.instanceCache.get(cacheKey);
962
- if (cachedInstance) {
963
- const modelProperty = cachedInstance.instance;
964
- modelProperty.getService().getSnapshot().context;
965
- // Update original values to current values and clear edited flag
966
- modelProperty.getService().send({
967
- type: 'clearEdited',
968
- });
969
- // Clear isEdited flag in database
970
- try {
971
- if (db && modelName && propertyName) {
972
- // Find model by name
973
- const modelRecords = await db
974
- .select({ id: modelsTable.id })
975
- .from(modelsTable)
976
- .where(eq(modelsTable.name, modelName))
977
- .limit(1);
978
- if (modelRecords.length > 0) {
979
- // Find property by name and modelId
980
- const propertyRecords = await db
981
- .select({ id: propertiesTable.id })
982
- .from(propertiesTable)
983
- .where(and(eq(propertiesTable.name, propertyName), eq(propertiesTable.modelId, modelRecords[0].id)))
984
- .limit(1);
985
- if (propertyRecords.length > 0) {
986
- // Clear isEdited flag in database
987
- await db
988
- .update(propertiesTable)
989
- .set({ isEdited: false })
990
- .where(eq(propertiesTable.id, propertyRecords[0].id));
991
- }
992
- }
993
- }
994
- }
995
- catch (error) {
996
- logger(`Error clearing isEdited flag in database for property ${propertyKey}: ${error}`);
997
- }
998
- }
999
- }
1000
- // Clear isEdited flags for all models in this schema
1001
- try {
1002
- if (db && context._dbId) {
1003
- // Get all models for this schema
1004
- const { modelSchemas, models: modelsTable } = await import('../seedSchema/index.js');
1005
- const modelRecords = await db
1006
- .select({ id: modelsTable.id })
1007
- .from(modelSchemas)
1008
- .innerJoin(modelsTable, eq(modelSchemas.modelId, modelsTable.id))
1009
- .where(eq(modelSchemas.schemaId, context._dbId));
1010
- // Clear isEdited flag for all models
1011
- for (const modelRecord of modelRecords) {
1012
- if (modelRecord.id) {
1013
- await db
1014
- .update(modelsTable)
1015
- .set({ isEdited: false })
1016
- .where(eq(modelsTable.id, modelRecord.id));
1017
- }
1018
- }
1019
- }
1020
- }
1021
- catch (error) {
1022
- logger(`Error clearing isEdited flags for models: ${error}`);
1023
- }
1024
- logger(`Successfully saved new version for schema ${this.schemaName} and published to file`);
1025
- return newFilePath;
1026
- }
1027
- /**
1028
- * Check for conflicts between actor context and database
1029
- * @returns ConflictResult indicating if a conflict exists
1030
- */
1031
- async _checkForConflicts() {
1032
- const context = this._getSnapshotContext();
1033
- // If we don't have load metadata, can't check for conflicts
1034
- if (!context._dbUpdatedAt || !context.id) {
1035
- return { hasConflict: false };
1036
- }
1037
- try {
1038
- const db = BaseDb.getAppDb();
1039
- if (!db) {
1040
- return { hasConflict: false }; // Can't check without DB
1041
- }
1042
- // Get current DB record
1043
- const dbSchemas = await db
1044
- .select()
1045
- .from(schemas)
1046
- .where(eq(schemas.schemaFileId, context.id)) // id is now the schemaFileId (string)
1047
- .orderBy(desc(schemas.version))
1048
- .limit(1);
1049
- if (dbSchemas.length === 0) {
1050
- return { hasConflict: false }; // No DB record, no conflict
1051
- }
1052
- const dbRecord = dbSchemas[0];
1053
- // Check if DB was updated after we loaded
1054
- const dbUpdatedAt = dbRecord.updatedAt || 0;
1055
- const localUpdatedAt = context._dbUpdatedAt;
1056
- if (dbUpdatedAt > localUpdatedAt) {
1057
- return {
1058
- hasConflict: true,
1059
- localVersion: context.version,
1060
- dbVersion: dbRecord.version,
1061
- localUpdatedAt: context.metadata?.updatedAt,
1062
- dbUpdatedAt: new Date(dbUpdatedAt).toISOString(),
1063
- message: `Database was updated externally. Local version: ${context.version}, DB version: ${dbRecord.version}`,
1064
- };
1065
- }
1066
- return { hasConflict: false };
1067
- }
1068
- catch (error) {
1069
- logger(`Error checking for conflicts: ${error instanceof Error ? error.message : String(error)}`);
1070
- return { hasConflict: false }; // On error, assume no conflict to allow save
1071
- }
1072
- }
1073
- /**
1074
- * Reload schema from database
1075
- * This refreshes the actor context with the latest data from the database
1076
- */
1077
- async reload() {
1078
- logger(`Reloading schema ${this.schemaName} from database`);
1079
- // Send reload event to machine
1080
- this._service.send({ type: 'reloadFromDb' });
1081
- // Wait for reload to complete
1082
- return new Promise((resolve, reject) => {
1083
- const subscription = this._service.subscribe((snapshot) => {
1084
- if (snapshot.value === 'idle') {
1085
- subscription.unsubscribe();
1086
- resolve();
1087
- }
1088
- else if (snapshot.value === 'error') {
1089
- subscription.unsubscribe();
1090
- reject(new Error('Failed to reload schema from database'));
1091
- }
1092
- });
1093
- // Timeout after 10 seconds
1094
- setTimeout(() => {
1095
- subscription.unsubscribe();
1096
- reject(new Error('Timeout waiting for schema reload'));
1097
- }, 10000);
1098
- });
1099
- }
1100
- /**
1101
- * Save the current schema state to the database as a draft
1102
- * This persists changes immediately without creating a new file version
1103
- * @param oldName - Optional old name to look up existing record before name change
1104
- * @param newName - Optional new name to use (if not provided, uses this.schemaName)
1105
- */
1106
- async _saveDraftToDb(oldName, newName) {
1107
- saveDraftLogger(`_saveDraftToDb called for schema (oldName: "${oldName}", newName: "${newName}")`);
1108
- // Don't save during initialization - schemas are being loaded from files, not created as drafts
1109
- // Check this FIRST before doing any expensive work like _getSnapshotContext()
1110
- if (typeof window !== 'undefined') {
1111
- const now = Date.now();
1112
- // Use cached check to avoid expensive operations
1113
- // Always check if cache is stale or if we previously got false (to allow recovery)
1114
- const cacheIsStale = cachedClientInitialized === null || (now - clientCheckTime) > CLIENT_CHECK_CACHE_MS;
1115
- const shouldRecheck = cacheIsStale || cachedClientInitialized === false;
1116
- saveDraftLogger(`Client check: cacheIsStale=${cacheIsStale}, shouldRecheck=${shouldRecheck}, cachedValue=${cachedClientInitialized}, timeSinceCheck=${now - clientCheckTime}ms`);
1117
- if (shouldRecheck) {
1118
- try {
1119
- // Use dynamic import for browser compatibility (require() doesn't work in browsers)
1120
- const { getClient } = await import('../client/ClientManager.js');
1121
- const { ClientManagerState } = await import('../client/constants.js');
1122
- const client = getClient();
1123
- const clientSnapshot = client.getService().getSnapshot();
1124
- // Check if state is IDLE (primary check) - isInitialized is set in entry action so should be true
1125
- // But we check it as a secondary safeguard
1126
- const isIdle = clientSnapshot.value === ClientManagerState.IDLE;
1127
- const isInitialized = clientSnapshot.context.isInitialized;
1128
- // If state is IDLE, trust it even if isInitialized isn't set yet (entry action should set it)
1129
- // This aligns with useIsClientReady which only checks the state value
1130
- cachedClientInitialized = isIdle && (isInitialized !== false);
1131
- clientCheckTime = now;
1132
- saveDraftLogger(`Client state checked: state=${clientSnapshot.value}, isIdle=${isIdle}, isInitialized=${isInitialized}, result=${cachedClientInitialized}`);
1133
- }
1134
- catch (error) {
1135
- // If we can't check client state, assume not initialized to be safe
1136
- // But only cache for a short time to allow recovery
1137
- cachedClientInitialized = false;
1138
- clientCheckTime = now;
1139
- saveDraftLogger(`Error checking client state: ${error instanceof Error ? error.message : String(error)}, setting cachedClientInitialized=false`);
1140
- }
1141
- }
1142
- else {
1143
- saveDraftLogger(`Using cached client state: cachedClientInitialized=${cachedClientInitialized}`);
1144
- }
1145
- if (!cachedClientInitialized) {
1146
- saveDraftLogger(`Client not initialized, skipping save (oldName: "${oldName}", newName: "${newName}")`);
1147
- // Skip silently during initialization to avoid log spam and reduce overhead
1148
- return;
1149
- }
1150
- }
1151
- saveDraftLogger(`Client is initialized, proceeding with save (oldName: "${oldName}", newName: "${newName}")`);
1152
- // Check for conflicts before saving
1153
- const conflictCheck = await this._checkForConflicts();
1154
- if (conflictCheck.hasConflict) {
1155
- const errorMessage = conflictCheck.message || 'Database was updated externally. Please reload the schema and try again.';
1156
- saveDraftLogger(`CONFLICT DETECTED: ${errorMessage}`);
1157
- throw new ConflictError(errorMessage, conflictCheck);
1158
- }
1159
- const context = this._getSnapshotContext();
1160
- const schemaName = newName || context.schemaName || oldName || '';
1161
- const schemaFileId = context.id || ''; // id is now the schemaFileId (string)
1162
- // Use schemaFileId as the key if available, otherwise use schemaName
1163
- const saveKey = schemaFileId || schemaName;
1164
- // Prevent concurrent saves for the same schema
1165
- if (Schema.savingSchemas.has(saveKey)) {
1166
- saveDraftLogger(`Schema ${schemaName} (key: ${saveKey}) is already being saved, skipping concurrent save`);
1167
- return;
1168
- }
1169
- Schema.savingSchemas.add(saveKey);
1170
- saveDraftLogger(`Starting save for schema ${schemaName} (key: ${saveKey}, schemaFileId: ${schemaFileId})`);
1171
- try {
1172
- // Get context - if service is stopped, use the last known context or build from metadata
1173
- let context;
1174
- try {
1175
- context = this._getSnapshotContext();
1176
- }
1177
- catch (error) {
1178
- // Service might be stopped, build context from what we know
1179
- logger(`Service stopped, building context from available data`);
1180
- context = {
1181
- schemaName: newName || oldName || '',
1182
- metadata: {
1183
- name: newName || oldName || '',
1184
- createdAt: new Date().toISOString(),
1185
- updatedAt: new Date().toISOString(),
1186
- },
1187
- version: 1,
1188
- _isDraft: true,
1189
- _editedProperties: new Set(),
1190
- };
1191
- }
1192
- const { addSchemaToDb } = await import('../helpers/db.js');
1193
- const { generateId } = await import('../helpers/index.js');
1194
- const { BaseDb } = await import('../db/Db/BaseDb.js');
1195
- const { schemas: schemasTable } = await import('../seedSchema/SchemaSchema.js');
1196
- const db = BaseDb.getAppDb();
1197
- if (!db) {
1198
- throw new Error('Database not found');
1199
- }
1200
- // Use provided newName or fall back to context schemaName (avoid getter which might be stale)
1201
- const finalNewName = newName || context.schemaName || this.schemaName;
1202
- // CRITICAL: If name changed, we MUST look up by old name to find the existing record
1203
- // Don't use finalNewName if oldName is provided - that would look up by the new name and not find the old record
1204
- const lookupName = oldName && oldName !== finalNewName ? oldName : finalNewName;
1205
- // Try to get existing schema ID from database to preserve it
1206
- // PRIMARY: Look up by schemaFileId (most reliable, independent of name changes)
1207
- // FALLBACK: Look up by old name if name changed, otherwise by current name
1208
- let existingSchemaId;
1209
- let existingSchemaRecord;
1210
- // PRIMARY: Look up by schemaFileId if we have it (this is the most reliable way)
1211
- if (context.id) {
1212
- logger(`Looking up schema by schemaFileId: ${context.id}`);
1213
- const schemasById = await db
1214
- .select()
1215
- .from(schemasTable)
1216
- .where(eq(schemasTable.schemaFileId, context.id)) // id is now the schemaFileId (string)
1217
- .limit(1);
1218
- if (schemasById.length > 0) {
1219
- const foundRecord = schemasById[0];
1220
- existingSchemaRecord = foundRecord;
1221
- existingSchemaId = foundRecord.schemaFileId || context.id;
1222
- logger(`Found schema by schemaFileId: ${context.id} (id: ${foundRecord.id}, name: ${foundRecord.name})`);
1223
- }
1224
- else {
1225
- logger(`No schema found by schemaFileId: ${context.id}`);
1226
- }
1227
- }
1228
- else {
1229
- logger(`No id (schemaFileId) in context, will look up by name`);
1230
- }
1231
- // FALLBACK: If not found by schemaFileId, try by name (for newly created schemas that don't have schemaFileId yet)
1232
- if (!existingSchemaRecord) {
1233
- logger(`Looking up schema by name "${lookupName}" (oldName: ${oldName}, finalNewName: ${finalNewName})`);
1234
- const existingSchemas = await db
1235
- .select()
1236
- .from(schemasTable)
1237
- .where(eq(schemasTable.name, lookupName))
1238
- .limit(10); // Get multiple to find drafts
1239
- logger(`Found ${existingSchemas.length} records with name "${lookupName}"`);
1240
- // If name changed, prefer draft records; otherwise prefer any record
1241
- if (existingSchemas.length > 0) {
1242
- if (oldName && oldName !== finalNewName) {
1243
- // When name changes, prefer draft records
1244
- const draftRecord = existingSchemas.find((s) => s.isDraft === true);
1245
- const selectedRecord = draftRecord || existingSchemas[0];
1246
- existingSchemaRecord = selectedRecord;
1247
- logger(`Selected ${draftRecord ? 'draft' : 'first'} record (id: ${selectedRecord.id}, isDraft: ${selectedRecord.isDraft})`);
1248
- }
1249
- else {
1250
- const selectedRecord = existingSchemas[0];
1251
- existingSchemaRecord = selectedRecord;
1252
- logger(`Selected first record (id: ${selectedRecord.id}, isDraft: ${selectedRecord.isDraft})`);
1253
- }
1254
- if (existingSchemaRecord?.schemaFileId) {
1255
- existingSchemaId = existingSchemaRecord.schemaFileId;
1256
- }
1257
- }
1258
- else {
1259
- logger(`No records found with name "${lookupName}"`);
1260
- }
1261
- }
1262
- if (existingSchemaRecord) {
1263
- logger(`Using existing record (id: ${existingSchemaRecord.id}, name: ${existingSchemaRecord.name}, isDraft: ${existingSchemaRecord.isDraft}, schemaFileId: ${existingSchemaRecord.schemaFileId || 'none'})`);
1264
- }
1265
- else {
1266
- logger(`No existing record found`);
1267
- }
1268
- // Build current schema state from context
1269
- // Use existing schemaFileId if we found one, otherwise use the one from context, or generate new
1270
- const schemaFileId = existingSchemaId || context.id || generateId(); // id is now the schemaFileId (string)
1271
- // Build metadata - if name changed, use newName, otherwise use context metadata
1272
- // Always ensure metadata.name matches finalNewName to prevent inconsistencies
1273
- const currentMetadata = context.metadata ? {
1274
- ...context.metadata,
1275
- name: finalNewName, // Always use the final name (from newName parameter or context)
1276
- updatedAt: new Date().toISOString(), // Always update timestamp when saving
1277
- } : {
1278
- name: finalNewName,
1279
- createdAt: new Date().toISOString(),
1280
- updatedAt: new Date().toISOString(),
1281
- };
1282
- // CRITICAL: Ensure schema.id always matches schemaFileId (database is source of truth)
1283
- // Use existingSchemaRecord.schemaFileId if available, otherwise use the calculated schemaFileId
1284
- const finalSchemaFileId = existingSchemaRecord?.schemaFileId || schemaFileId;
1285
- // CRITICAL: Read models from Model instances, not from Schema context
1286
- // Model instances are the source of truth for model data
1287
- const modelsFromInstances = this._buildModelsFromInstances();
1288
- const currentSchema = {
1289
- $schema: context.$schema || 'https://seedprotocol.org/schemas/data-model/v1',
1290
- version: context.version || 1,
1291
- id: finalSchemaFileId, // Always use schemaFileId from database as source of truth
1292
- metadata: currentMetadata,
1293
- models: modelsFromInstances, // Read from Model instances, not context.models
1294
- enums: context.enums || {},
1295
- migrations: context.migrations || [],
1296
- };
1297
- // Log if there was a mismatch that we're fixing
1298
- if (existingSchemaRecord?.schemaFileId && context.id && context.id !== finalSchemaFileId) {
1299
- saveDraftLogger(`Fixed schema ID mismatch: context.id="${context.id}" does not match DB schemaFileId="${finalSchemaFileId}". Using DB value.`);
1300
- }
1301
- saveDraftLogger(`Building schema with metadata.name="${currentMetadata.name}", finalNewName="${finalNewName}"`);
1302
- // If name changed, we MUST update the existing record (don't create a new one)
1303
- if (oldName && oldName !== finalNewName) {
1304
- if (existingSchemaRecord && existingSchemaRecord.id) {
1305
- logger(`Updating existing schema record (id: ${existingSchemaRecord.id}) from "${oldName}" to "${finalNewName}"`);
1306
- // Update the existing record with the new name
1307
- const schemaDataString = JSON.stringify(currentSchema, null, 2);
1308
- saveDraftLogger(`Saving schemaData with metadata.name="${currentSchema.metadata.name}", schemaData length=${schemaDataString.length}`);
1309
- // CRITICAL: Ensure schemaFileId column matches schema.id (schema.id is now guaranteed to match finalSchemaFileId)
1310
- // Always update schemaFileId to match the id in the schema JSON to maintain consistency
1311
- const updateData = {
1312
- name: finalNewName,
1313
- schemaData: schemaDataString,
1314
- schemaFileId: finalSchemaFileId, // Always set to match schema.id
1315
- version: currentSchema.version,
1316
- updatedAt: new Date(currentSchema.metadata.updatedAt).getTime(),
1317
- isDraft: true, // Ensure it's marked as a draft when saving via _saveDraftToDb
1318
- };
1319
- // Log if we're fixing a mismatch
1320
- if (existingSchemaRecord.schemaFileId && existingSchemaRecord.schemaFileId !== finalSchemaFileId) {
1321
- saveDraftLogger(`Fixing schemaFileId mismatch: DB had "${existingSchemaRecord.schemaFileId}", schema.id is "${finalSchemaFileId}". Updating DB to match schema.id.`);
1322
- }
1323
- else if (!existingSchemaRecord.schemaFileId && finalSchemaFileId) {
1324
- saveDraftLogger(`Setting schemaFileId to ${finalSchemaFileId} (was null)`);
1325
- }
1326
- await db
1327
- .update(schemasTable)
1328
- .set(updateData)
1329
- .where(eq(schemasTable.id, existingSchemaRecord.id));
1330
- // Verify what was saved by reading it back
1331
- const verifyRecord = await db
1332
- .select()
1333
- .from(schemasTable)
1334
- .where(eq(schemasTable.id, existingSchemaRecord.id))
1335
- .limit(1);
1336
- if (verifyRecord.length > 0 && verifyRecord[0].schemaData) {
1337
- try {
1338
- const savedSchema = JSON.parse(verifyRecord[0].schemaData);
1339
- saveDraftLogger(`Verified saved schemaData: metadata.name="${savedSchema.metadata?.name}", name column="${verifyRecord[0].name}", isDraft=${verifyRecord[0].isDraft}, schemaFileId="${verifyRecord[0].schemaFileId}"`);
1340
- if (verifyRecord[0].isDraft !== true) {
1341
- saveDraftLogger(`ERROR: isDraft is not true after save! Expected true, got ${verifyRecord[0].isDraft}. This will cause the schema to load from file instead of database!`);
1342
- // Try to fix it immediately
1343
- await db
1344
- .update(schemasTable)
1345
- .set({ isDraft: true })
1346
- .where(eq(schemasTable.id, existingSchemaRecord.id));
1347
- saveDraftLogger(`Attempted to fix isDraft by setting it to true again`);
1348
- // Verify the fix
1349
- const fixedRecord = await db
1350
- .select()
1351
- .from(schemasTable)
1352
- .where(eq(schemasTable.id, existingSchemaRecord.id))
1353
- .limit(1);
1354
- if (fixedRecord.length > 0) {
1355
- saveDraftLogger(`After fix attempt: isDraft=${fixedRecord[0].isDraft}`);
1356
- }
1357
- }
1358
- }
1359
- catch (error) {
1360
- saveDraftLogger(`Error parsing saved schemaData for verification: ${error}`);
1361
- }
1362
- }
1363
- else {
1364
- saveDraftLogger(`WARNING: Could not verify saved record - record not found or has no schemaData`);
1365
- }
1366
- // Update the context's id (schemaFileId) and conflict detection metadata
1367
- try {
1368
- const snapshot = this._service.getSnapshot();
1369
- if (snapshot.status !== 'stopped') {
1370
- // Use finalSchemaFileId which matches the schema.id
1371
- // Also update conflict detection metadata after successful save
1372
- this._service.send({
1373
- type: 'updateContext',
1374
- id: finalSchemaFileId, // id is now the schemaFileId (string)
1375
- _dbUpdatedAt: new Date(currentSchema.metadata.updatedAt).getTime(),
1376
- _dbVersion: currentSchema.version,
1377
- });
1378
- }
1379
- }
1380
- catch (error) {
1381
- // Service might be stopped, ignore
1382
- logger(`Could not update id (schemaFileId) in context: ${error instanceof Error ? error.message : String(error)}`);
1383
- }
1384
- logger(`Successfully updated schema name from "${oldName}" to "${finalNewName}" in database`);
1385
- Schema.savingSchemas.delete(saveKey);
1386
- return;
1387
- }
1388
- else {
1389
- // Name changed but we didn't find the existing record - try harder to find it
1390
- logger(`WARNING: Name changed from "${oldName}" to "${finalNewName}" but existing record not found. Trying additional lookups...`);
1391
- // Try to find by looking for ANY draft with the old name (even if it doesn't match exactly)
1392
- const allDrafts = await db
1393
- .select()
1394
- .from(schemasTable)
1395
- .where(eq(schemasTable.name, oldName))
1396
- .limit(1);
1397
- if (allDrafts.length > 0 && allDrafts[0].id) {
1398
- const foundRecord = allDrafts[0];
1399
- logger(`Found existing record by old name "${oldName}" (id: ${foundRecord.id}), updating to new name "${finalNewName}"`);
1400
- // Update the existing record with the new name
1401
- // CRITICAL: Ensure schemaFileId matches schema.id
1402
- await db
1403
- .update(schemasTable)
1404
- .set({
1405
- name: finalNewName,
1406
- schemaData: JSON.stringify(currentSchema, null, 2),
1407
- schemaFileId: finalSchemaFileId, // Always set to match schema.id
1408
- version: currentSchema.version,
1409
- updatedAt: new Date(currentSchema.metadata.updatedAt).getTime(),
1410
- isDraft: true, // Ensure it's marked as a draft when saving via _saveDraftToDb
1411
- })
1412
- .where(eq(schemasTable.id, foundRecord.id));
1413
- // Update context with id (schemaFileId) and conflict detection metadata
1414
- try {
1415
- const snapshot = this._service.getSnapshot();
1416
- if (snapshot.status !== 'stopped' && finalSchemaFileId) {
1417
- this._service.send({
1418
- type: 'updateContext',
1419
- id: finalSchemaFileId, // id is now the schemaFileId (string)
1420
- _dbUpdatedAt: new Date(currentSchema.metadata.updatedAt).getTime(),
1421
- _dbVersion: currentSchema.version,
1422
- });
1423
- }
1424
- }
1425
- catch (error) {
1426
- // Service might be stopped, ignore
1427
- }
1428
- logger(`Successfully updated schema name from "${oldName}" to "${finalNewName}" in database (found by old name)`);
1429
- Schema.savingSchemas.delete(saveKey);
1430
- return;
1431
- }
1432
- // If we still can't find it, this is an error - don't create a duplicate
1433
- logger(`ERROR: Could not find existing schema record with name "${oldName}". Cannot update name to "${finalNewName}" without creating a duplicate.`);
1434
- Schema.savingSchemas.delete(saveKey);
1435
- throw new Error(`Cannot update schema name: existing schema with name "${oldName}" not found in database`);
1436
- }
1437
- }
1438
- // If name changed, we should have already updated the record above and returned
1439
- // Only call addSchemaToDb if name didn't change (normal save scenario)
1440
- if (oldName && oldName !== finalNewName) {
1441
- // This should never happen - we should have updated above and returned
1442
- // But if we get here, it means the update path didn't work, so we need to handle it
1443
- logger(`ERROR: Name changed from "${oldName}" to "${finalNewName}" but update path didn't complete. This should not occur.`);
1444
- Schema.savingSchemas.delete(saveKey);
1445
- throw new Error(`Failed to update schema name: existing record not found or update failed`);
1446
- }
1447
- // Otherwise, use addSchemaToDb which will handle create/update logic (for normal saves, not name changes)
1448
- await addSchemaToDb({
1449
- name: finalNewName,
1450
- version: currentSchema.version,
1451
- createdAt: new Date(currentSchema.metadata.createdAt).getTime(),
1452
- updatedAt: new Date(currentSchema.metadata.updatedAt).getTime(),
1453
- }, currentSchema.id, // schemaFileId
1454
- JSON.stringify(currentSchema, null, 2), // schemaData
1455
- true);
1456
- // Update conflict detection metadata after successful save
1457
- try {
1458
- const snapshot = this._service.getSnapshot();
1459
- if (snapshot.status !== 'stopped') {
1460
- this._service.send({
1461
- type: 'updateContext',
1462
- _dbUpdatedAt: new Date(currentSchema.metadata.updatedAt).getTime(),
1463
- _dbVersion: currentSchema.version,
1464
- });
1465
- }
1466
- }
1467
- catch (error) {
1468
- // Service might be stopped, ignore
1469
- }
1470
- saveDraftLogger(`Successfully saved draft schema "${finalNewName}" to database (key: ${saveKey})`);
1471
- logger(`Saved draft schema ${finalNewName} to database`);
1472
- }
1473
- catch (error) {
1474
- saveDraftLogger(`ERROR: Failed to save draft to database for schema "${schemaName}" (key: ${saveKey}): ${error instanceof Error ? error.message : String(error)}`);
1475
- logger(`Failed to save draft to database: ${error instanceof Error ? error.message : String(error)}`);
1476
- throw error;
1477
- }
1478
- finally {
1479
- // Always remove from saving set, even if there was an error
1480
- Schema.savingSchemas.delete(saveKey);
1481
- saveDraftLogger(`Removed schema from saving set (key: ${saveKey})`);
1482
- }
1483
- }
1484
- unload() {
1485
- // Clean up instance state
1486
- const unloadInstanceState = schemaInstanceState.get(this);
1487
- if (unloadInstanceState) {
1488
- // Clean up liveQuery subscription
1489
- if (unloadInstanceState.liveQuerySubscription) {
1490
- unloadInstanceState.liveQuerySubscription.unsubscribe();
1491
- unloadInstanceState.liveQuerySubscription = null;
1492
- }
1493
- }
1494
- // Clean up WeakMap entry
1495
- schemaInstanceState.delete(this);
1496
- // Remove from both caches
1497
- try {
1498
- const context = this._getSnapshotContext();
1499
- if (context.id) { // id is now the schemaFileId (string)
1500
- if (Schema.instanceCacheById.has(context.id)) {
1501
- const entry = Schema.instanceCacheById.get(context.id);
1502
- entry.refCount -= 1;
1503
- if (entry.refCount <= 0) {
1504
- Schema.instanceCacheById.delete(context.id);
1505
- }
1506
- else {
1507
- Schema.instanceCacheById.set(context.id, entry);
1508
- }
1509
- }
1510
- }
1511
- // Also remove from name-based cache if it exists
1512
- if (context.schemaName && Schema.instanceCacheByName.has(context.schemaName)) {
1513
- const entry = Schema.instanceCacheByName.get(context.schemaName);
1514
- entry.refCount -= 1;
1515
- if (entry.refCount <= 0) {
1516
- Schema.instanceCacheByName.delete(context.schemaName);
1517
- }
1518
- else {
1519
- Schema.instanceCacheByName.set(context.schemaName, entry);
1520
- }
1521
- }
1522
- }
1523
- catch (error) {
1524
- // Service might be stopped, can't get context - that's okay
1525
- logger(`Could not get context during unload: ${error instanceof Error ? error.message : String(error)}`);
1526
- }
1527
- this._service.stop();
1528
- // Clean up liveQuery subscription
1529
- const instanceState = schemaInstanceState.get(this);
1530
- if (instanceState?.liveQuerySubscription) {
1531
- instanceState.liveQuerySubscription.unsubscribe();
1532
- instanceState.liveQuerySubscription = null;
1533
- }
1534
- }
1535
- /**
1536
- * Set up liveQuery subscription to watch for model changes in the database
1537
- * This enables cross-instance synchronization (e.g., changes in other tabs/windows)
1538
- */
1539
- _setupLiveQuerySubscription() {
1540
- // Only set up in browser environment where liveQuery is available
1541
- if (typeof window === 'undefined') {
1542
- return;
1543
- }
1544
- // Wait for schema to be loaded and have a schemaId
1545
- // Subscribe to service to detect when schema is ready
1546
- const setupSubscription = this._service.subscribe(async (snapshot) => {
1547
- // Only set up once when schema is idle and we have metadata
1548
- if (snapshot.value === 'idle' && snapshot.context.metadata?.name) {
1549
- setupSubscription.unsubscribe();
1550
- try {
1551
- const { BaseDb } = await import('../db/Db/BaseDb.js');
1552
- const { schemas: schemasTable, modelSchemas, models: modelsTable } = await import('../seedSchema/index.js');
1553
- // Get schema ID from database
1554
- const db = BaseDb.getAppDb();
1555
- if (!db) {
1556
- logger('[Schema._setupLiveQuerySubscription] Database not available');
1557
- return;
1558
- }
1559
- const schemaName = snapshot.context.metadata.name;
1560
- const schemaRecords = await db
1561
- .select()
1562
- .from(schemasTable)
1563
- .where(eq(schemasTable.name, schemaName))
1564
- .limit(1);
1565
- if (schemaRecords.length === 0) {
1566
- logger(`[Schema._setupLiveQuerySubscription] Schema "${schemaName}" not found in database`);
1567
- return;
1568
- }
1569
- const schemaId = schemaRecords[0].id;
1570
- if (!schemaId) {
1571
- logger(`[Schema._setupLiveQuerySubscription] Schema "${schemaName}" has no ID`);
1572
- return;
1573
- }
1574
- // Set up liveQuery to watch model_schemas join table for this schema
1575
- // Use Drizzle query builder instead of raw SQL to ensure proper column mapping
1576
- const models$ = BaseDb.liveQuery(db
1577
- .select({
1578
- modelId: modelSchemas.modelId,
1579
- modelName: modelsTable.name,
1580
- modelFileId: modelsTable.schemaFileId,
1581
- })
1582
- .from(modelSchemas)
1583
- .innerJoin(modelsTable, eq(modelSchemas.modelId, modelsTable.id))
1584
- .where(eq(modelSchemas.schemaId, schemaId)));
1585
- const instanceState = schemaInstanceState.get(this);
1586
- if (!instanceState) {
1587
- logger('[Schema._setupLiveQuerySubscription] Instance state not found');
1588
- return;
1589
- }
1590
- // Helper function to update models from database rows
1591
- const updateModelsFromRows = (modelRows) => {
1592
- logger(`[Schema._setupLiveQuerySubscription] Models updated in database: ${modelRows.length} models`);
1593
- // Extract model IDs from rows
1594
- const modelIds = modelRows.map(row => row.modelFileId).filter(Boolean);
1595
- // Helper function to send updateContext event with model IDs
1596
- const sendUpdateContext = () => {
1597
- // Double-check instance state still exists (for subscription cleanup check)
1598
- const verifyInstanceState = schemaInstanceState.get(this);
1599
- if (!verifyInstanceState) {
1600
- logger(`[Schema._setupLiveQuerySubscription] Instance state cleaned up before sending updateContext`);
1601
- return;
1602
- }
1603
- try {
1604
- const snapshot = this._service.getSnapshot();
1605
- if (snapshot.status === 'stopped') {
1606
- logger(`[Schema._setupLiveQuerySubscription] Service stopped before sending, skipping`);
1607
- return;
1608
- }
1609
- // Send updateContext with liveQueryModelIds in service context for reactive updates
1610
- this._service.send({
1611
- type: 'updateContext',
1612
- _liveQueryModelIds: modelIds, // Store in service context for reactivity
1613
- _modelsUpdated: Date.now(), // Internal field for tracking
1614
- });
1615
- logger(`[Schema._setupLiveQuerySubscription] Sent updateContext event with ${modelIds.length} model IDs`);
1616
- }
1617
- catch (error) {
1618
- logger(`[Schema._setupLiveQuerySubscription] Error sending updateContext: ${error}`);
1619
- }
1620
- };
1621
- // Check if service is stopped before sending events
1622
- const snapshot = this._service.getSnapshot();
1623
- const isServiceStopped = snapshot.status === 'stopped';
1624
- if (isServiceStopped) {
1625
- logger(`[Schema._setupLiveQuerySubscription] Service is stopped, restarting before sending updateContext`);
1626
- // Restart the service first
1627
- this._service.start();
1628
- // Wait for service to be ready (idle state) before sending event
1629
- // Use a small delay to ensure the service has transitioned to idle
1630
- setTimeout(() => {
1631
- // Check instanceState again after delay
1632
- const delayedInstanceState = schemaInstanceState.get(this);
1633
- if (!delayedInstanceState) {
1634
- logger(`[Schema._setupLiveQuerySubscription] Instance state cleaned up during restart delay`);
1635
- return;
1636
- }
1637
- const newSnapshot = this._service.getSnapshot();
1638
- if (newSnapshot.status !== 'stopped') {
1639
- sendUpdateContext();
1640
- }
1641
- else {
1642
- logger(`[Schema._setupLiveQuerySubscription] Service still stopped after restart attempt`);
1643
- }
1644
- }, 10);
1645
- }
1646
- else {
1647
- // Service is running, send immediately
1648
- sendUpdateContext();
1649
- }
1650
- };
1651
- // Manually query the database once to get initial models immediately
1652
- // This ensures models are available right away, not just when liveQuery emits
1653
- // Retry a few times in case models are still being added to the database
1654
- const queryInitialModels = async (retries = 3) => {
1655
- try {
1656
- const initialModels = await db
1657
- .select({
1658
- modelId: modelSchemas.modelId,
1659
- modelName: modelsTable.name,
1660
- modelFileId: modelsTable.schemaFileId,
1661
- })
1662
- .from(modelSchemas)
1663
- .innerJoin(modelsTable, eq(modelSchemas.modelId, modelsTable.id))
1664
- .where(eq(modelSchemas.schemaId, schemaId));
1665
- logger(`[Schema._setupLiveQuerySubscription] Initial query found ${initialModels.length} models for schema "${schemaName}" (id: ${schemaId})`);
1666
- if (initialModels.length > 0) {
1667
- // Update models immediately
1668
- updateModelsFromRows(initialModels.map((row) => ({
1669
- modelId: row.modelId,
1670
- modelName: row.modelName,
1671
- modelFileId: row.modelFileId || '',
1672
- })));
1673
- }
1674
- else if (retries > 0) {
1675
- // Retry after a short delay in case models are still being added
1676
- logger(`[Schema._setupLiveQuerySubscription] No models found, retrying... (${retries} retries left)`);
1677
- await new Promise(resolve => setTimeout(resolve, 100));
1678
- return queryInitialModels(retries - 1);
1679
- }
1680
- else {
1681
- logger(`[Schema._setupLiveQuerySubscription] No models found in initial query for schema "${schemaName}" (id: ${schemaId}) after retries`);
1682
- }
1683
- }
1684
- catch (error) {
1685
- if (retries > 0) {
1686
- logger(`[Schema._setupLiveQuerySubscription] Error querying initial models, retrying... (${retries} retries left): ${error}`);
1687
- await new Promise(resolve => setTimeout(resolve, 100));
1688
- return queryInitialModels(retries - 1);
1689
- }
1690
- else {
1691
- logger(`[Schema._setupLiveQuerySubscription] Error querying initial models after retries: ${error}`);
1692
- }
1693
- }
1694
- };
1695
- // Query initial models (with retries)
1696
- await queryInitialModels();
1697
- // Subscribe to liveQuery updates for future changes
1698
- const subscription = models$.subscribe({
1699
- next: (modelRows) => {
1700
- // CRITICAL: Check if instanceState still exists (hasn't been cleaned up by unload())
1701
- // This prevents race conditions where unload() is called while callback is executing
1702
- const currentInstanceState = schemaInstanceState.get(this);
1703
- if (!currentInstanceState) {
1704
- logger(`[Schema._setupLiveQuerySubscription] Instance state was cleaned up, skipping update`);
1705
- return;
1706
- }
1707
- // Use the helper function to update models (instanceState already checked above)
1708
- updateModelsFromRows(modelRows);
1709
- },
1710
- error: (error) => {
1711
- logger(`[Schema._setupLiveQuerySubscription] LiveQuery error: ${error}`);
1712
- },
1713
- });
1714
- instanceState.liveQuerySubscription = subscription;
1715
- logger(`[Schema._setupLiveQuerySubscription] LiveQuery subscription set up for schema "${schemaName}" (id: ${schemaId})`);
1716
- }
1717
- catch (error) {
1718
- logger(`[Schema._setupLiveQuerySubscription] Error setting up subscription: ${error}`);
1719
- }
1720
- }
1721
- });
1722
- }
1723
- }
1724
- // Cache by schemaFileId (primary key - doesn't change when name changes)
1725
- Schema.instanceCacheById = new Map();
1726
- // Temporary cache by schemaName (used until schemaFileId is available)
1727
- Schema.instanceCacheByName = new Map();
1728
- // Track which schemas are currently being saved to prevent concurrent saves
1729
- Schema.savingSchemas = new Set();
1730
-
1731
- export { Schema };
1732
- //# sourceMappingURL=Schema.js.map