@seedprotocol/sdk 0.4.3 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ArweaveClient-BvJ1FhQ5.js → ArweaveClient-CczHvccG.js} +4 -4
- package/dist/{ArweaveClient-BvJ1FhQ5.js.map → ArweaveClient-CczHvccG.js.map} +1 -1
- package/dist/{ArweaveClient-CleX_4Gw.js → ArweaveClient-DkNLWiSZ.js} +4 -4
- package/dist/{ArweaveClient-CleX_4Gw.js.map → ArweaveClient-DkNLWiSZ.js.map} +1 -1
- package/dist/{json-I3vJhXo8.js → ClientManager-DoHUt8tU.js} +6732 -6325
- package/dist/ClientManager-DoHUt8tU.js.map +1 -0
- package/dist/{Db-BPnO1-_p.js → Db-BzQR2KX9.js} +4 -4
- package/dist/{Db-BPnO1-_p.js.map → Db-BzQR2KX9.js.map} +1 -1
- package/dist/{Db-DX08SxS9.js → Db-DJvjXVlp.js} +4 -11
- package/dist/{Db-DX08SxS9.js.map → Db-DJvjXVlp.js.map} +1 -1
- package/dist/{EasClient-BwhUcPjY.js → EasClient-CHQYmjj2.js} +3 -3
- package/dist/{EasClient-BwhUcPjY.js.map → EasClient-CHQYmjj2.js.map} +1 -1
- package/dist/{EasClient-CJSs38Db.js → EasClient-CodrIgW-.js} +3 -3
- package/dist/{EasClient-CJSs38Db.js.map → EasClient-CodrIgW-.js.map} +1 -1
- package/dist/{FileManager-Ct91ZhOE.js → FileManager-BIVsDnMu.js} +3 -3
- package/dist/{FileManager-Ct91ZhOE.js.map → FileManager-BIVsDnMu.js.map} +1 -1
- package/dist/{FileManager-B1tdLMsX.js → FileManager-BbvkZJCH.js} +3 -3
- package/dist/{FileManager-B1tdLMsX.js.map → FileManager-BbvkZJCH.js.map} +1 -1
- package/dist/Item/Item.d.ts +28 -7
- package/dist/Item/Item.d.ts.map +1 -1
- package/dist/Item/service/actors/runPublish.d.ts +5 -0
- package/dist/Item/service/actors/runPublish.d.ts.map +1 -0
- package/dist/Item/service/itemMachineSingle.d.ts +10 -5
- package/dist/Item/service/itemMachineSingle.d.ts.map +1 -1
- package/dist/ItemProperty/ItemProperty.d.ts +30 -5
- package/dist/ItemProperty/ItemProperty.d.ts.map +1 -1
- package/dist/ItemProperty/service/actors/loadOrCreateProperty.d.ts.map +1 -1
- package/dist/ItemProperty/service/propertyMachine.d.ts +10 -10
- package/dist/ItemProperty/service/propertyMachine.d.ts.map +1 -1
- package/dist/Model/Model.d.ts +27 -20
- package/dist/Model/Model.d.ts.map +1 -1
- package/dist/Model/index.d.ts +1 -1
- package/dist/Model/service/actors/createModelProperties.d.ts.map +1 -1
- package/dist/Model/service/actors/loadOrCreateModel.d.ts.map +1 -1
- package/dist/Model/service/actors/validateModel.d.ts.map +1 -1
- package/dist/Model/service/modelMachine.d.ts +18 -3
- package/dist/Model/service/modelMachine.d.ts.map +1 -1
- package/dist/ModelProperty/ModelProperty.d.ts +25 -2
- package/dist/ModelProperty/ModelProperty.d.ts.map +1 -1
- package/dist/ModelProperty/service/actors/compareAndMarkDraft.d.ts.map +1 -1
- package/dist/ModelProperty/service/actors/validateProperty.d.ts.map +1 -1
- package/dist/ModelProperty/service/modelPropertyMachine.d.ts +17 -3
- package/dist/ModelProperty/service/modelPropertyMachine.d.ts.map +1 -1
- package/dist/{ModelProperty-Cr3BmgkC.js → ModelProperty-gjcA83Mq.js} +380 -113
- package/dist/ModelProperty-gjcA83Mq.js.map +1 -0
- package/dist/{PathResolver-BErmcZqP.js → PathResolver-9zAzPhee.js} +3 -3
- package/dist/{PathResolver-BErmcZqP.js.map → PathResolver-9zAzPhee.js.map} +1 -1
- package/dist/{PathResolver-DJdxE_OK.js → PathResolver-kGzba-zC.js} +3 -3
- package/dist/{PathResolver-DJdxE_OK.js.map → PathResolver-kGzba-zC.js.map} +1 -1
- package/dist/{QueryClient-DIu9c-w6.js → QueryClient-C7ZkTT0z.js} +3 -3
- package/dist/{QueryClient-DIu9c-w6.js.map → QueryClient-C7ZkTT0z.js.map} +1 -1
- package/dist/{QueryClient-D2mv63gP.js → QueryClient-CEtsek7Q.js} +3 -3
- package/dist/{QueryClient-D2mv63gP.js.map → QueryClient-CEtsek7Q.js.map} +1 -1
- package/dist/Schema/Schema.d.ts +24 -3
- package/dist/Schema/Schema.d.ts.map +1 -1
- package/dist/Schema/service/actors/checkExistingSchema.d.ts.map +1 -1
- package/dist/Schema/service/actors/createPropertyInstances.d.ts.map +1 -1
- package/dist/Schema/service/actors/loadOrCreateSchema.d.ts.map +1 -1
- package/dist/Schema/service/actors/verifyPropertyInstancesInCache.d.ts.map +1 -1
- package/dist/Schema/service/actors/writeModelsToDb.d.ts.map +1 -1
- package/dist/Schema/service/actors/writeSchemaToDb.d.ts.map +1 -1
- package/dist/Schema/service/addModelsMachine.d.ts.map +1 -1
- package/dist/Schema/service/schemaMachine.d.ts +17 -3
- package/dist/Schema/service/schemaMachine.d.ts.map +1 -1
- package/dist/{Schema-DeKabJ0T.js → Schema-ClTcpgbt.js} +272 -161
- package/dist/Schema-ClTcpgbt.js.map +1 -0
- package/dist/{SchemaValidationService-cTlURuDt.js → SchemaValidationService-BfoEiHNr.js} +3 -3
- package/dist/{SchemaValidationService-cTlURuDt.js.map → SchemaValidationService-BfoEiHNr.js.map} +1 -1
- package/dist/browser/db/Db.d.ts.map +1 -1
- package/dist/browser/react/SeedProvider.d.ts +30 -0
- package/dist/browser/react/SeedProvider.d.ts.map +1 -0
- package/dist/browser/react/index.d.ts +4 -1
- package/dist/browser/react/index.d.ts.map +1 -1
- package/dist/browser/react/item.d.ts +10 -6
- package/dist/browser/react/item.d.ts.map +1 -1
- package/dist/browser/react/itemProperty.d.ts +37 -1
- package/dist/browser/react/itemProperty.d.ts.map +1 -1
- package/dist/browser/react/liveQuery.d.ts.map +1 -1
- package/dist/browser/react/model.d.ts +21 -7
- package/dist/browser/react/model.d.ts.map +1 -1
- package/dist/browser/react/modelProperty.d.ts +23 -0
- package/dist/browser/react/modelProperty.d.ts.map +1 -1
- package/dist/browser/react/queryClient.d.ts +28 -0
- package/dist/browser/react/queryClient.d.ts.map +1 -0
- package/dist/browser/react/schema.d.ts +8 -0
- package/dist/browser/react/schema.d.ts.map +1 -1
- package/dist/browser/react/trash.d.ts +5 -2
- package/dist/browser/react/trash.d.ts.map +1 -1
- package/dist/cjs/{ModelProperty-MkN5Rmx7.js → ModelProperty-BRKRREYP.js} +387 -113
- package/dist/cjs/ModelProperty-BRKRREYP.js.map +1 -0
- package/dist/cjs/{Schema-B5cr_JVK.js → Schema-CV9hMg8m.js} +320 -209
- package/dist/cjs/Schema-CV9hMg8m.js.map +1 -0
- package/dist/cjs/{SchemaValidationService-BgIzc3-r.js → SchemaValidationService-DUtQUerg.js} +3 -3
- package/dist/cjs/{SchemaValidationService-BgIzc3-r.js.map → SchemaValidationService-DUtQUerg.js.map} +1 -1
- package/dist/cjs/{getItem-CVJJPky2.js → getItem-BThT-UOt.js} +3 -3
- package/dist/cjs/{getItem-CVJJPky2.js.map → getItem-BThT-UOt.js.map} +1 -1
- package/dist/cjs/{getPublishPayload-DbOc3WA-.js → getPublishPayload-CKZ7rVbU.js} +25 -10
- package/dist/cjs/getPublishPayload-CKZ7rVbU.js.map +1 -0
- package/dist/cjs/{getPublishUploads-NzioLz-3.js → getPublishUploads-CuGIvV-Q.js} +4 -4
- package/dist/cjs/getPublishUploads-CuGIvV-Q.js.map +1 -0
- package/dist/cjs/{getSegmentedItemProperties-BsaklLwI.js → getSegmentedItemProperties-BCJXJlTR.js} +2 -2
- package/dist/cjs/{getSegmentedItemProperties-BsaklLwI.js.map → getSegmentedItemProperties-BCJXJlTR.js.map} +1 -1
- package/dist/cjs/{index-BmIVfqGN.js → index-C3j3m34a.js} +10302 -9891
- package/dist/cjs/index-C3j3m34a.js.map +1 -0
- package/dist/cjs/{index-C_0angRB.js → index-CbTBDqTJ.js} +3 -3
- package/dist/cjs/index-CbTBDqTJ.js.map +1 -0
- package/dist/client/actors/processSchemaFiles.d.ts.map +1 -1
- package/dist/db/read/getItemData.d.ts.map +1 -1
- package/dist/db/read/getItems.d.ts.map +1 -1
- package/dist/db/read/getModelPropertiesData.d.ts +19 -0
- package/dist/db/read/getModelPropertiesData.d.ts.map +1 -0
- package/dist/db/read/getModelsData.d.ts +15 -0
- package/dist/db/read/getModelsData.d.ts.map +1 -0
- package/dist/db/read/getPublishPayload.d.ts.map +1 -1
- package/dist/db/read/getPublishUploads.d.ts +1 -7
- package/dist/db/read/getPublishUploads.d.ts.map +1 -1
- package/dist/db/read/getSchemaUidForModel.d.ts.map +1 -1
- package/dist/db/write/updateSeedUid.d.ts +7 -0
- package/dist/db/write/updateSeedUid.d.ts.map +1 -0
- package/dist/events/item/index.d.ts.map +1 -1
- package/dist/events/item/syncDbWithEas.d.ts.map +1 -1
- package/dist/{getItem-CcttmUY_.js → getItem-BWPo8wd0.js} +3 -3
- package/dist/{getItem-CcttmUY_.js.map → getItem-BWPo8wd0.js.map} +1 -1
- package/dist/{getPublishPayload-NFpqbd_H.js → getPublishPayload-Caw2laZM.js} +24 -9
- package/dist/getPublishPayload-Caw2laZM.js.map +1 -0
- package/dist/{getPublishUploads-Cpb9vgwE.js → getPublishUploads-MlyBuoXh.js} +4 -4
- package/dist/getPublishUploads-MlyBuoXh.js.map +1 -0
- package/dist/{getSegmentedItemProperties-DiyQPMgI.js → getSegmentedItemProperties-COLLdDo4.js} +2 -2
- package/dist/{getSegmentedItemProperties-DiyQPMgI.js.map → getSegmentedItemProperties-COLLdDo4.js.map} +1 -1
- package/dist/helpers/db.d.ts +12 -0
- package/dist/helpers/db.d.ts.map +1 -1
- package/dist/helpers/entity/entityDestroy.d.ts +41 -0
- package/dist/helpers/entity/entityDestroy.d.ts.map +1 -0
- package/dist/helpers/entity/index.d.ts +1 -0
- package/dist/helpers/entity/index.d.ts.map +1 -1
- package/dist/helpers/index.d.ts +1 -0
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/property/index.d.ts +12 -12
- package/dist/helpers/property/index.d.ts.map +1 -1
- package/dist/helpers/reactiveProxy.d.ts.map +1 -1
- package/dist/helpers/updateSchema.d.ts +9 -0
- package/dist/helpers/updateSchema.d.ts.map +1 -1
- package/dist/helpers/waitForEntityIdle.d.ts +2 -2
- package/dist/helpers/waitForEntityIdle.d.ts.map +1 -1
- package/dist/imports/json.d.ts.map +1 -1
- package/dist/{index-CRuq6HVi.js → index-B9i_mXXp.js} +4 -4
- package/dist/index-B9i_mXXp.js.map +1 -0
- package/dist/{index-r45w9hEq.js → index-D2OGsG4v.js} +2 -2
- package/dist/index-D2OGsG4v.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/interfaces/IItem.d.ts +2 -0
- package/dist/interfaces/IItem.d.ts.map +1 -1
- package/dist/interfaces/IItemProperty.d.ts +1 -0
- package/dist/interfaces/IItemProperty.d.ts.map +1 -1
- package/dist/main.cjs +2 -2
- package/dist/main.js +996 -1030
- package/dist/main.js.map +1 -1
- package/dist/node.js +11 -11
- package/dist/node.js.map +1 -1
- package/dist/{property-Dy09KTxg.js → property-fK7tSUDX.js} +7 -5
- package/dist/property-fK7tSUDX.js.map +1 -0
- package/dist/{queries-LZYSuhtz.js → queries-DGOk16cd.js} +2 -2
- package/dist/{queries-LZYSuhtz.js.map → queries-DGOk16cd.js.map} +1 -1
- package/dist/services/write/actors/validateEntity.d.ts.map +1 -1
- package/dist/services/write/actors/writeToDatabase.d.ts.map +1 -1
- package/dist/services/write/writeProcessMachine.d.ts +1 -1
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/item.d.ts +12 -0
- package/dist/types/item.d.ts.map +1 -1
- package/dist/types/property.d.ts +6 -0
- package/dist/types/property.d.ts.map +1 -1
- package/dist/types/publish.d.ts +9 -0
- package/dist/types/publish.d.ts.map +1 -0
- package/package.json +7 -3
- package/dist/ModelProperty-Cr3BmgkC.js.map +0 -1
- package/dist/Schema-DeKabJ0T.js.map +0 -1
- package/dist/cjs/ModelProperty-MkN5Rmx7.js.map +0 -1
- package/dist/cjs/Schema-B5cr_JVK.js.map +0 -1
- package/dist/cjs/getPublishPayload-DbOc3WA-.js.map +0 -1
- package/dist/cjs/getPublishUploads-NzioLz-3.js.map +0 -1
- package/dist/cjs/index-BmIVfqGN.js.map +0 -1
- package/dist/cjs/index-C_0angRB.js.map +0 -1
- package/dist/events/item/publish.d.ts +0 -7
- package/dist/events/item/publish.d.ts.map +0 -1
- package/dist/getPublishPayload-NFpqbd_H.js.map +0 -1
- package/dist/getPublishUploads-Cpb9vgwE.js.map +0 -1
- package/dist/index-CRuq6HVi.js.map +0 -1
- package/dist/index-r45w9hEq.js.map +0 -1
- package/dist/json-I3vJhXo8.js.map +0 -1
- package/dist/property-Dy09KTxg.js.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var xstate = require('xstate');
|
|
4
|
-
var main_cjs = require('./index-
|
|
4
|
+
var main_cjs = require('./index-C3j3m34a.js');
|
|
5
5
|
var drizzleOrm = require('drizzle-orm');
|
|
6
6
|
var debug = require('debug');
|
|
7
|
-
var SchemaValidationService = require('./SchemaValidationService-
|
|
8
|
-
var ModelProperty = require('./ModelProperty-
|
|
7
|
+
var SchemaValidationService = require('./SchemaValidationService-DUtQUerg.js');
|
|
8
|
+
var ModelProperty = require('./ModelProperty-BRKRREYP.js');
|
|
9
9
|
require('immer');
|
|
10
10
|
require('reflect-metadata');
|
|
11
11
|
require('drizzle-orm/sqlite-core');
|
|
@@ -15,8 +15,8 @@ require('pluralize');
|
|
|
15
15
|
require('ethers');
|
|
16
16
|
require('rxjs');
|
|
17
17
|
require('lodash-es');
|
|
18
|
-
require('eventemitter3');
|
|
19
18
|
require('drizzle-orm/casing');
|
|
19
|
+
require('eventemitter3');
|
|
20
20
|
require('@sinclair/typebox');
|
|
21
21
|
require('fs/promises');
|
|
22
22
|
require('fs');
|
|
@@ -48,14 +48,13 @@ const getModelIdsForSchema$1 = async (schemaId) => {
|
|
|
48
48
|
return [];
|
|
49
49
|
}
|
|
50
50
|
try {
|
|
51
|
-
const { modelSchemas, models: modelsTable } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.schema; });
|
|
52
51
|
const modelRecords = await db
|
|
53
52
|
.select({
|
|
54
|
-
modelFileId:
|
|
53
|
+
modelFileId: main_cjs.models.schemaFileId,
|
|
55
54
|
})
|
|
56
|
-
.from(modelSchemas)
|
|
57
|
-
.innerJoin(
|
|
58
|
-
.where(drizzleOrm.eq(modelSchemas.schemaId, schemaId));
|
|
55
|
+
.from(main_cjs.modelSchemas)
|
|
56
|
+
.innerJoin(main_cjs.models, drizzleOrm.eq(main_cjs.modelSchemas.modelId, main_cjs.models.id))
|
|
57
|
+
.where(drizzleOrm.eq(main_cjs.modelSchemas.schemaId, schemaId));
|
|
59
58
|
const modelIds = modelRecords
|
|
60
59
|
.map((row) => row.modelFileId)
|
|
61
60
|
.filter((id) => id !== null && id !== undefined);
|
|
@@ -77,7 +76,7 @@ const createModelInstances$2 = async (modelIds) => {
|
|
|
77
76
|
return;
|
|
78
77
|
}
|
|
79
78
|
try {
|
|
80
|
-
const { Model } = await Promise.resolve().then(function () { return require('./index-
|
|
79
|
+
const { Model } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.Model$1; });
|
|
81
80
|
// Create instances for all model IDs in parallel
|
|
82
81
|
// Model.createById() will check cache first, then query DB and create if needed
|
|
83
82
|
const createPromises = modelIds.map(async (modelFileId) => {
|
|
@@ -117,13 +116,11 @@ const verifyPropertiesPersisted = async (modelId, modelName, maxRetries = 10, re
|
|
|
117
116
|
if (!db) {
|
|
118
117
|
throw new Error('Database not available for property verification');
|
|
119
118
|
}
|
|
120
|
-
const { properties: propertiesTable } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.ModelSchema; });
|
|
121
|
-
const { eq } = await import('drizzle-orm');
|
|
122
119
|
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
123
120
|
const props = await db
|
|
124
121
|
.select()
|
|
125
|
-
.from(
|
|
126
|
-
.where(eq(
|
|
122
|
+
.from(main_cjs.properties)
|
|
123
|
+
.where(drizzleOrm.eq(main_cjs.properties.modelId, modelId))
|
|
127
124
|
.limit(1);
|
|
128
125
|
if (props.length > 0) {
|
|
129
126
|
logger$c(`Verified properties exist for model "${modelName}" (modelId: ${modelId}) after ${attempt + 1} attempt(s)`);
|
|
@@ -185,15 +182,14 @@ const getSchemaFilePath$1 = (name, version, schemaFileId) => {
|
|
|
185
182
|
const loadOrCreateSchema = xstate.fromCallback(({ sendBack, input: { context } }) => {
|
|
186
183
|
const _loadOrCreateSchema = async () => {
|
|
187
184
|
const { schemaName } = context;
|
|
188
|
-
// Check if this is an internal SDK schema (should not create files in app directory)
|
|
189
|
-
const
|
|
190
|
-
|
|
191
|
-
if (isInternal && schemaName === SEED_PROTOCOL_SCHEMA_NAME) {
|
|
185
|
+
// Check if this is an internal SDK schema (should not create files in app directory) — use static import so consumer bundles resolve correctly
|
|
186
|
+
const isInternal = main_cjs.isInternalSchema(schemaName);
|
|
187
|
+
if (isInternal && schemaName === main_cjs.SEED_PROTOCOL_SCHEMA_NAME) {
|
|
192
188
|
// For Seed Protocol, always load from internal file, never create new
|
|
193
189
|
logger$c(`Loading internal Seed Protocol schema from SDK`);
|
|
194
190
|
console.log('[loadOrCreateSchema] Loading internal Seed Protocol schema from SDK');
|
|
195
191
|
try {
|
|
196
|
-
const internalSchema = await Promise.resolve().then(function () { return require('./index-
|
|
192
|
+
const internalSchema = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.SEEDPROTOCOL_Seed_Protocol_v1; });
|
|
197
193
|
const schemaFile = internalSchema.default;
|
|
198
194
|
console.log('[loadOrCreateSchema] Loaded schema file, models count:', Object.keys(schemaFile.models || {}).length);
|
|
199
195
|
// Check if it exists in database, if not, add it
|
|
@@ -218,8 +214,6 @@ const loadOrCreateSchema = xstate.fromCallback(({ sendBack, input: { context } }
|
|
|
218
214
|
logger$c(`Added Seed Protocol schema to database`);
|
|
219
215
|
// Also add models and properties to database
|
|
220
216
|
// Convert to JsonImportSchema format for processing
|
|
221
|
-
const { createModelsFromJson } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.json; });
|
|
222
|
-
const { addModelsToDb } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.db; });
|
|
223
217
|
const importData = {
|
|
224
218
|
name: schemaName,
|
|
225
219
|
models: Object.fromEntries(Object.entries(schemaFile.models || {}).map(([modelName, model]) => [
|
|
@@ -297,10 +291,10 @@ const loadOrCreateSchema = xstate.fromCallback(({ sendBack, input: { context } }
|
|
|
297
291
|
}
|
|
298
292
|
}
|
|
299
293
|
// Convert JSON models to Model classes, passing modelFileIds and propertyFileIds so Model instances use correct IDs
|
|
300
|
-
const modelDefinitions = await createModelsFromJson(importData, modelFileIds, propertyFileIds);
|
|
294
|
+
const modelDefinitions = await main_cjs.createModelsFromJson(importData, modelFileIds, propertyFileIds);
|
|
301
295
|
// Add models to database and link them to the schema with schemaFileIds
|
|
302
296
|
if (Object.keys(modelDefinitions).length > 0 && schemaRecord) {
|
|
303
|
-
await addModelsToDb(modelDefinitions, schemaRecord, undefined, {
|
|
297
|
+
await main_cjs.addModelsToDb(modelDefinitions, schemaRecord, undefined, {
|
|
304
298
|
schemaFileId: schemaFile.id,
|
|
305
299
|
modelFileIds,
|
|
306
300
|
propertyFileIds,
|
|
@@ -308,16 +302,14 @@ const loadOrCreateSchema = xstate.fromCallback(({ sendBack, input: { context } }
|
|
|
308
302
|
logger$c(`Added ${Object.keys(modelDefinitions).length} models and their properties to database for Seed Protocol schema`);
|
|
309
303
|
// Verify properties are persisted (important for browser environments)
|
|
310
304
|
// Query the database to get model IDs that were just created
|
|
311
|
-
const { modelSchemas } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.ModelSchemaSchema; });
|
|
312
|
-
const { models: modelsTable } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.ModelSchema; });
|
|
313
305
|
const modelLinks = await db
|
|
314
306
|
.select({
|
|
315
|
-
modelId: modelSchemas.modelId,
|
|
316
|
-
modelName:
|
|
307
|
+
modelId: main_cjs.modelSchemas.modelId,
|
|
308
|
+
modelName: main_cjs.models.name,
|
|
317
309
|
})
|
|
318
|
-
.from(modelSchemas)
|
|
319
|
-
.innerJoin(
|
|
320
|
-
.where(drizzleOrm.eq(modelSchemas.schemaId, schemaRecord.id));
|
|
310
|
+
.from(main_cjs.modelSchemas)
|
|
311
|
+
.innerJoin(main_cjs.models, drizzleOrm.eq(main_cjs.modelSchemas.modelId, main_cjs.models.id))
|
|
312
|
+
.where(drizzleOrm.eq(main_cjs.modelSchemas.schemaId, schemaRecord.id));
|
|
321
313
|
// Verify properties for at least one model (Seed model if available)
|
|
322
314
|
const seedModelLink = modelLinks.find((link) => link.modelName === 'Seed');
|
|
323
315
|
if (seedModelLink && seedModelLink.modelId) {
|
|
@@ -333,18 +325,15 @@ const loadOrCreateSchema = xstate.fromCallback(({ sendBack, input: { context } }
|
|
|
333
325
|
// Schema exists, but always ensure models/properties are in database
|
|
334
326
|
// This handles the case where schema was added but models weren't (from previous code)
|
|
335
327
|
// or where models were added but properties weren't
|
|
336
|
-
const { modelSchemas } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.ModelSchemaSchema; });
|
|
337
|
-
const { models: modelsTable } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.ModelSchema; });
|
|
338
|
-
const { properties: propertiesTable } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.ModelSchema; });
|
|
339
328
|
// Check if models are linked to the schema
|
|
340
329
|
const modelLinks = await db
|
|
341
330
|
.select({
|
|
342
|
-
modelId: modelSchemas.modelId,
|
|
343
|
-
modelName:
|
|
331
|
+
modelId: main_cjs.modelSchemas.modelId,
|
|
332
|
+
modelName: main_cjs.models.name,
|
|
344
333
|
})
|
|
345
|
-
.from(modelSchemas)
|
|
346
|
-
.innerJoin(
|
|
347
|
-
.where(drizzleOrm.eq(modelSchemas.schemaId, schemaRecord.id));
|
|
334
|
+
.from(main_cjs.modelSchemas)
|
|
335
|
+
.innerJoin(main_cjs.models, drizzleOrm.eq(main_cjs.modelSchemas.modelId, main_cjs.models.id))
|
|
336
|
+
.where(drizzleOrm.eq(main_cjs.modelSchemas.schemaId, schemaRecord.id));
|
|
348
337
|
// Check if we have all expected models
|
|
349
338
|
const expectedModelNames = Object.keys(schemaFile.models || {});
|
|
350
339
|
const linkedModelNames = modelLinks
|
|
@@ -359,8 +348,8 @@ const loadOrCreateSchema = xstate.fromCallback(({ sendBack, input: { context } }
|
|
|
359
348
|
if (link.modelId) {
|
|
360
349
|
const props = await db
|
|
361
350
|
.select()
|
|
362
|
-
.from(
|
|
363
|
-
.where(drizzleOrm.eq(
|
|
351
|
+
.from(main_cjs.properties)
|
|
352
|
+
.where(drizzleOrm.eq(main_cjs.properties.modelId, link.modelId))
|
|
364
353
|
.limit(1);
|
|
365
354
|
if (props.length === 0) {
|
|
366
355
|
missingProperties = true;
|
|
@@ -374,8 +363,6 @@ const loadOrCreateSchema = xstate.fromCallback(({ sendBack, input: { context } }
|
|
|
374
363
|
if (missingModels.length > 0 || missingProperties || modelLinks.length === 0) {
|
|
375
364
|
logger$c(`Seed Protocol schema exists but models/properties incomplete (missing models: ${missingModels.length}, missing properties: ${missingProperties}), adding them now`);
|
|
376
365
|
console.log(`[loadOrCreateSchema] Adding models/properties: missingModels=${missingModels.length}, missingProperties=${missingProperties}, modelLinks=${modelLinks.length}`);
|
|
377
|
-
const { createModelsFromJson } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.json; });
|
|
378
|
-
const { addModelsToDb } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.db; });
|
|
379
366
|
// Convert SchemaFileFormat to JsonImportSchema format
|
|
380
367
|
// Schema format: { dataType, ref, refValueType, storageType, localStorageDir, filenameSuffix }
|
|
381
368
|
// JSON import format: { type, model, items, storage: { type, path, extension } }
|
|
@@ -449,7 +436,7 @@ const loadOrCreateSchema = xstate.fromCallback(({ sendBack, input: { context } }
|
|
|
449
436
|
}
|
|
450
437
|
}
|
|
451
438
|
// Convert JSON models to Model classes, passing modelFileIds and propertyFileIds so Model instances use correct IDs
|
|
452
|
-
const modelDefinitions = await createModelsFromJson(importData, modelFileIds, propertyFileIds);
|
|
439
|
+
const modelDefinitions = await main_cjs.createModelsFromJson(importData, modelFileIds, propertyFileIds);
|
|
453
440
|
console.log(`[loadOrCreateSchema] createModelsFromJson returned ${Object.keys(modelDefinitions).length} models: ${Object.keys(modelDefinitions).join(', ')}`);
|
|
454
441
|
console.log(`[loadOrCreateSchema] Expected ${expectedModelNames.length} models from schema file: ${expectedModelNames.join(', ')}`);
|
|
455
442
|
// Verify all expected models are in modelDefinitions
|
|
@@ -459,7 +446,7 @@ const loadOrCreateSchema = xstate.fromCallback(({ sendBack, input: { context } }
|
|
|
459
446
|
}
|
|
460
447
|
if (Object.keys(modelDefinitions).length > 0) {
|
|
461
448
|
console.log(`[loadOrCreateSchema] Calling addModelsToDb with ${Object.keys(modelDefinitions).length} models: ${Object.keys(modelDefinitions).join(', ')}`);
|
|
462
|
-
await addModelsToDb(modelDefinitions, schemaRecord, undefined, {
|
|
449
|
+
await main_cjs.addModelsToDb(modelDefinitions, schemaRecord, undefined, {
|
|
463
450
|
schemaFileId: schemaFile.id,
|
|
464
451
|
modelFileIds,
|
|
465
452
|
propertyFileIds,
|
|
@@ -478,12 +465,12 @@ const loadOrCreateSchema = xstate.fromCallback(({ sendBack, input: { context } }
|
|
|
478
465
|
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
479
466
|
updatedModelLinks = await db
|
|
480
467
|
.select({
|
|
481
|
-
modelId: modelSchemas.modelId,
|
|
482
|
-
modelName:
|
|
468
|
+
modelId: main_cjs.modelSchemas.modelId,
|
|
469
|
+
modelName: main_cjs.models.name,
|
|
483
470
|
})
|
|
484
|
-
.from(modelSchemas)
|
|
485
|
-
.innerJoin(
|
|
486
|
-
.where(drizzleOrm.eq(modelSchemas.schemaId, schemaRecord.id));
|
|
471
|
+
.from(main_cjs.modelSchemas)
|
|
472
|
+
.innerJoin(main_cjs.models, drizzleOrm.eq(main_cjs.modelSchemas.modelId, main_cjs.models.id))
|
|
473
|
+
.where(drizzleOrm.eq(main_cjs.modelSchemas.schemaId, schemaRecord.id));
|
|
487
474
|
const linkedModelNames = updatedModelLinks
|
|
488
475
|
.map((link) => link.modelName)
|
|
489
476
|
.filter((n) => n !== null);
|
|
@@ -702,7 +689,7 @@ const loadOrCreateSchema = xstate.fromCallback(({ sendBack, input: { context } }
|
|
|
702
689
|
// Ensure models are populated (fallback for seed-protocol if missing)
|
|
703
690
|
if ((!mergedModels || Object.keys(mergedModels).length === 0) && schemaName === 'Seed Protocol') {
|
|
704
691
|
try {
|
|
705
|
-
const internalSchema = await Promise.resolve().then(function () { return require('./index-
|
|
692
|
+
const internalSchema = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.SEEDPROTOCOL_Seed_Protocol_v1; });
|
|
706
693
|
const internalSchemaFile = internalSchema.default;
|
|
707
694
|
mergedModels = { ...(internalSchemaFile.models || {}) };
|
|
708
695
|
logger$c(`Populated models for seed-protocol schema from internal file`);
|
|
@@ -897,7 +884,7 @@ const loadOrCreateSchema = xstate.fromCallback(({ sendBack, input: { context } }
|
|
|
897
884
|
// Ensure models are populated (fallback for seed-protocol if missing)
|
|
898
885
|
if ((!mergedModels || Object.keys(mergedModels).length === 0) && schemaName === 'Seed Protocol') {
|
|
899
886
|
try {
|
|
900
|
-
const internalSchema = await Promise.resolve().then(function () { return require('./index-
|
|
887
|
+
const internalSchema = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.SEEDPROTOCOL_Seed_Protocol_v1; });
|
|
901
888
|
const internalSchemaFile = internalSchema.default;
|
|
902
889
|
mergedModels = { ...(internalSchemaFile.models || {}) };
|
|
903
890
|
logger$c(`Populated models for seed-protocol schema from internal file`);
|
|
@@ -969,7 +956,7 @@ const loadOrCreateSchema = xstate.fromCallback(({ sendBack, input: { context } }
|
|
|
969
956
|
// Ensure models are populated (fallback for seed-protocol if missing)
|
|
970
957
|
if ((!mergedModels || Object.keys(mergedModels).length === 0) && schemaName === 'Seed Protocol') {
|
|
971
958
|
try {
|
|
972
|
-
const internalSchema = await Promise.resolve().then(function () { return require('./index-
|
|
959
|
+
const internalSchema = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.SEEDPROTOCOL_Seed_Protocol_v1; });
|
|
973
960
|
const internalSchemaFile = internalSchema.default;
|
|
974
961
|
mergedModels = { ...(internalSchemaFile.models || {}) };
|
|
975
962
|
logger$c(`Populated models for seed-protocol schema from internal file`);
|
|
@@ -1038,7 +1025,7 @@ const loadOrCreateSchema = xstate.fromCallback(({ sendBack, input: { context } }
|
|
|
1038
1025
|
// If schemaData is missing, try to load from internal schema file for seed-protocol
|
|
1039
1026
|
if (!dbSchema.schemaData && schemaName === 'Seed Protocol') {
|
|
1040
1027
|
try {
|
|
1041
|
-
const internalSchema = await Promise.resolve().then(function () { return require('./index-
|
|
1028
|
+
const internalSchema = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.SEEDPROTOCOL_Seed_Protocol_v1; });
|
|
1042
1029
|
const schemaFile = internalSchema.default;
|
|
1043
1030
|
logger$c(`Found seed-protocol schema in internal file (schemaData missing, using internal schema)`);
|
|
1044
1031
|
// Update database with schemaData for future loads
|
|
@@ -1147,7 +1134,7 @@ const loadOrCreateSchema = xstate.fromCallback(({ sendBack, input: { context } }
|
|
|
1147
1134
|
// Ensure models are populated (fallback for seed-protocol if missing)
|
|
1148
1135
|
if ((!mergedModels || Object.keys(mergedModels).length === 0) && schemaName === 'Seed Protocol') {
|
|
1149
1136
|
try {
|
|
1150
|
-
const internalSchema = await Promise.resolve().then(function () { return require('./index-
|
|
1137
|
+
const internalSchema = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.SEEDPROTOCOL_Seed_Protocol_v1; });
|
|
1151
1138
|
const internalSchemaFile = internalSchema.default;
|
|
1152
1139
|
mergedModels = { ...(internalSchemaFile.models || {}) };
|
|
1153
1140
|
logger$c(`Populated models for seed-protocol schema from internal file`);
|
|
@@ -1464,14 +1451,16 @@ const addModelsMachine = xstate.setup({
|
|
|
1464
1451
|
createModelInstances: xstate.fromCallback(({ sendBack, input }) => {
|
|
1465
1452
|
const _createInstances = async () => {
|
|
1466
1453
|
const { Schema } = await Promise.resolve().then(function () { return Schema$1; });
|
|
1467
|
-
const { BaseDb } = await Promise.resolve().then(function () { return require('./index-
|
|
1468
|
-
const { models: modelsTable } = await Promise.resolve().then(function () { return require('./index-
|
|
1454
|
+
const { BaseDb } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.BaseDb$1; });
|
|
1455
|
+
const { models: modelsTable } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.ModelSchema; });
|
|
1469
1456
|
const { eq } = await import('drizzle-orm');
|
|
1470
|
-
const { generateId } = await Promise.resolve().then(function () { return require('./index-
|
|
1457
|
+
const { generateId } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.index; });
|
|
1471
1458
|
const debug = (await import('debug')).default;
|
|
1472
1459
|
const logger = debug('seedSdk:schema:addModels:createInstances');
|
|
1473
1460
|
const schemaName = input.schemaContext.metadata?.name || input.schemaContext.schemaName;
|
|
1474
|
-
const schemaInstance = Schema.create(schemaName
|
|
1461
|
+
const schemaInstance = Schema.create(schemaName, {
|
|
1462
|
+
waitForReady: false,
|
|
1463
|
+
});
|
|
1475
1464
|
const modelInstances = new Map();
|
|
1476
1465
|
// Get instance state to store model instances
|
|
1477
1466
|
const { schemaInstanceState } = await Promise.resolve().then(function () { return Schema$1; });
|
|
@@ -1508,7 +1497,10 @@ const addModelsMachine = xstate.setup({
|
|
|
1508
1497
|
}
|
|
1509
1498
|
// Create new Model instance with modelFileId
|
|
1510
1499
|
// Model.create() will set _modelFileId in the context automatically
|
|
1511
|
-
const modelInstance = main_cjs.Model.create(modelName, schemaName, {
|
|
1500
|
+
const modelInstance = main_cjs.Model.create(modelName, schemaName, {
|
|
1501
|
+
modelFileId,
|
|
1502
|
+
waitForReady: false,
|
|
1503
|
+
});
|
|
1512
1504
|
const service = modelInstance.getService();
|
|
1513
1505
|
logger(`Created Model instance for "${modelName}" with modelFileId "${modelFileId}"`);
|
|
1514
1506
|
// Wait for the Model service to finish loading (loadOrCreateModel completes)
|
|
@@ -1689,10 +1681,8 @@ const addModelsMachine = xstate.setup({
|
|
|
1689
1681
|
const _persist = async () => {
|
|
1690
1682
|
const debug = (await import('debug')).default;
|
|
1691
1683
|
const logger = debug('seedSdk:schema:addModels:persist');
|
|
1692
|
-
const {
|
|
1693
|
-
const {
|
|
1694
|
-
const { BaseDb } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.BaseDb$1; });
|
|
1695
|
-
const { schemas: schemasTable } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.SchemaSchema; });
|
|
1684
|
+
const { BaseDb } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.BaseDb$1; });
|
|
1685
|
+
const { schemas: schemasTable } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.SchemaSchema; });
|
|
1696
1686
|
const { eq } = await import('drizzle-orm');
|
|
1697
1687
|
// Only process in browser environment where store is available
|
|
1698
1688
|
if (typeof window === 'undefined') {
|
|
@@ -1813,14 +1803,14 @@ const addModelsMachine = xstate.setup({
|
|
|
1813
1803
|
properties: convertedProperties,
|
|
1814
1804
|
};
|
|
1815
1805
|
// Create Model instance
|
|
1816
|
-
const ModelClass = await createModelFromJson(modelName, jsonModelDef, schemaName);
|
|
1806
|
+
const ModelClass = await main_cjs.createModelFromJson(modelName, jsonModelDef, schemaName);
|
|
1817
1807
|
modelDefinitions[modelName] = ModelClass;
|
|
1818
1808
|
// Model is now accessible via Model static methods, no registration needed
|
|
1819
1809
|
logger(`Created model "${modelName}"`);
|
|
1820
1810
|
}
|
|
1821
1811
|
// Add models to database with modelFileIds
|
|
1822
1812
|
if (Object.keys(modelDefinitions).length > 0) {
|
|
1823
|
-
await addModelsToDb(modelDefinitions, schemaRecord, undefined, {
|
|
1813
|
+
await main_cjs.addModelsToDb(modelDefinitions, schemaRecord, undefined, {
|
|
1824
1814
|
schemaFileId: input.schemaContext.id, // id is the schemaFileId (string) in SchemaMachineContext
|
|
1825
1815
|
modelFileIds: input.modelFileIds.size > 0 ? input.modelFileIds : undefined,
|
|
1826
1816
|
});
|
|
@@ -2007,14 +1997,13 @@ const getModelIdsForSchema = async (schemaId) => {
|
|
|
2007
1997
|
return [];
|
|
2008
1998
|
}
|
|
2009
1999
|
try {
|
|
2010
|
-
const { modelSchemas, models: modelsTable } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.schema; });
|
|
2011
2000
|
const modelRecords = await db
|
|
2012
2001
|
.select({
|
|
2013
|
-
modelFileId:
|
|
2002
|
+
modelFileId: main_cjs.models.schemaFileId,
|
|
2014
2003
|
})
|
|
2015
|
-
.from(modelSchemas)
|
|
2016
|
-
.innerJoin(
|
|
2017
|
-
.where(drizzleOrm.eq(modelSchemas.schemaId, schemaId));
|
|
2004
|
+
.from(main_cjs.modelSchemas)
|
|
2005
|
+
.innerJoin(main_cjs.models, drizzleOrm.eq(main_cjs.modelSchemas.modelId, main_cjs.models.id))
|
|
2006
|
+
.where(drizzleOrm.eq(main_cjs.modelSchemas.schemaId, schemaId));
|
|
2018
2007
|
const modelIds = modelRecords
|
|
2019
2008
|
.map((row) => row.modelFileId)
|
|
2020
2009
|
.filter((id) => id !== null && id !== undefined);
|
|
@@ -2051,7 +2040,12 @@ const createModelInstances$1 = async (modelIds) => {
|
|
|
2051
2040
|
return;
|
|
2052
2041
|
}
|
|
2053
2042
|
try {
|
|
2054
|
-
const
|
|
2043
|
+
const mod = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.Model$1; });
|
|
2044
|
+
const Model = mod?.Model ?? mod?.default;
|
|
2045
|
+
if (!Model) {
|
|
2046
|
+
logger$b('Model not available from dynamic import');
|
|
2047
|
+
return;
|
|
2048
|
+
}
|
|
2055
2049
|
const createPromises = modelIds.map(async (modelFileId) => {
|
|
2056
2050
|
try {
|
|
2057
2051
|
const model = await Model.createById(modelFileId);
|
|
@@ -2086,13 +2080,12 @@ const checkExistingSchema = xstate.fromCallback(({ sendBack, input: { context }
|
|
|
2086
2080
|
});
|
|
2087
2081
|
return;
|
|
2088
2082
|
}
|
|
2089
|
-
// Check if this is an internal SDK schema (Seed Protocol)
|
|
2090
|
-
const
|
|
2091
|
-
|
|
2092
|
-
if (isInternal && schemaName === SEED_PROTOCOL_SCHEMA_NAME) {
|
|
2083
|
+
// Check if this is an internal SDK schema (Seed Protocol) — use static import so consumer bundles resolve correctly
|
|
2084
|
+
const isInternal = main_cjs.isInternalSchema(schemaName);
|
|
2085
|
+
if (isInternal && schemaName === main_cjs.SEED_PROTOCOL_SCHEMA_NAME) {
|
|
2093
2086
|
// For Seed Protocol, check if it exists in database
|
|
2094
2087
|
try {
|
|
2095
|
-
const internalSchema = await Promise.resolve().then(function () { return require('./index-
|
|
2088
|
+
const internalSchema = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.SEEDPROTOCOL_Seed_Protocol_v1; });
|
|
2096
2089
|
const schemaFile = internalSchema.default;
|
|
2097
2090
|
if (db && schemaFile.id) {
|
|
2098
2091
|
const existing = await db
|
|
@@ -2443,15 +2436,14 @@ const writeSchemaToDb = xstate.fromCallback(({ sendBack, input }) => {
|
|
|
2443
2436
|
const _write = async () => {
|
|
2444
2437
|
const { schemaName, schemaFile, existingDbSchema } = input;
|
|
2445
2438
|
try {
|
|
2446
|
-
// Check if this is an internal SDK schema (Seed Protocol)
|
|
2447
|
-
const
|
|
2448
|
-
const isInternal = isInternalSchema(schemaName);
|
|
2439
|
+
// Check if this is an internal SDK schema (Seed Protocol) — use static import so consumer bundles resolve correctly
|
|
2440
|
+
const isInternal = main_cjs.isInternalSchema(schemaName);
|
|
2449
2441
|
let finalSchema;
|
|
2450
2442
|
let schemaRecord;
|
|
2451
|
-
if (isInternal && schemaName === SEED_PROTOCOL_SCHEMA_NAME) {
|
|
2443
|
+
if (isInternal && schemaName === main_cjs.SEED_PROTOCOL_SCHEMA_NAME) {
|
|
2452
2444
|
// For Seed Protocol, load from internal file
|
|
2453
2445
|
logger$a(`Loading internal Seed Protocol schema from SDK`);
|
|
2454
|
-
const internalSchema = await Promise.resolve().then(function () { return require('./index-
|
|
2446
|
+
const internalSchema = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.SEEDPROTOCOL_Seed_Protocol_v1; });
|
|
2455
2447
|
finalSchema = internalSchema.default;
|
|
2456
2448
|
const db = main_cjs.BaseDb.getAppDb();
|
|
2457
2449
|
if (db && finalSchema.id) {
|
|
@@ -2647,23 +2639,19 @@ const writeModelsToDb = xstate.fromCallback(({ sendBack, input }) => {
|
|
|
2647
2639
|
const { schema, schemaRecord, schemaName } = input;
|
|
2648
2640
|
try {
|
|
2649
2641
|
// Check if models already exist in database
|
|
2650
|
-
const
|
|
2651
|
-
const { modelSchemas } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.ModelSchemaSchema; });
|
|
2652
|
-
const { models: modelsTable } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.ModelSchema; });
|
|
2653
|
-
const { eq } = await import('drizzle-orm');
|
|
2654
|
-
const db = BaseDb.getAppDb();
|
|
2642
|
+
const db = main_cjs.BaseDb.getAppDb();
|
|
2655
2643
|
if (!db) {
|
|
2656
2644
|
throw new Error('Database not available');
|
|
2657
2645
|
}
|
|
2658
2646
|
// Check if models are linked to the schema
|
|
2659
2647
|
const modelLinks = await db
|
|
2660
2648
|
.select({
|
|
2661
|
-
modelId: modelSchemas.modelId,
|
|
2662
|
-
modelName:
|
|
2649
|
+
modelId: main_cjs.modelSchemas.modelId,
|
|
2650
|
+
modelName: main_cjs.models.name,
|
|
2663
2651
|
})
|
|
2664
|
-
.from(modelSchemas)
|
|
2665
|
-
.innerJoin(
|
|
2666
|
-
.where(eq(modelSchemas.schemaId, schemaRecord.id));
|
|
2652
|
+
.from(main_cjs.modelSchemas)
|
|
2653
|
+
.innerJoin(main_cjs.models, drizzleOrm.eq(main_cjs.modelSchemas.modelId, main_cjs.models.id))
|
|
2654
|
+
.where(drizzleOrm.eq(main_cjs.modelSchemas.schemaId, schemaRecord.id));
|
|
2667
2655
|
// Check if we have all expected models
|
|
2668
2656
|
const expectedModelNames = Object.keys(schema.models || {});
|
|
2669
2657
|
const linkedModelNames = modelLinks
|
|
@@ -2678,9 +2666,9 @@ const writeModelsToDb = xstate.fromCallback(({ sendBack, input }) => {
|
|
|
2678
2666
|
for (const link of modelLinks) {
|
|
2679
2667
|
if (link.modelId) {
|
|
2680
2668
|
const modelRecord = await db
|
|
2681
|
-
.select({ schemaFileId:
|
|
2682
|
-
.from(
|
|
2683
|
-
.where(eq(
|
|
2669
|
+
.select({ schemaFileId: main_cjs.models.schemaFileId })
|
|
2670
|
+
.from(main_cjs.models)
|
|
2671
|
+
.where(drizzleOrm.eq(main_cjs.models.id, link.modelId))
|
|
2684
2672
|
.limit(1);
|
|
2685
2673
|
if (modelRecord.length > 0 && modelRecord[0].schemaFileId) {
|
|
2686
2674
|
modelFileIds.push(modelRecord[0].schemaFileId);
|
|
@@ -2693,13 +2681,10 @@ const writeModelsToDb = xstate.fromCallback(({ sendBack, input }) => {
|
|
|
2693
2681
|
});
|
|
2694
2682
|
return;
|
|
2695
2683
|
}
|
|
2696
|
-
//
|
|
2697
|
-
const
|
|
2698
|
-
// Check if this is Seed Protocol schema (has different format)
|
|
2699
|
-
const { isInternalSchema, SEED_PROTOCOL_SCHEMA_NAME } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.constants$1; });
|
|
2700
|
-
const isInternal = isInternalSchema(schemaName);
|
|
2684
|
+
// Check if this is Seed Protocol schema (has different format) — use static import so consumer bundles resolve correctly
|
|
2685
|
+
const isInternal = main_cjs.isInternalSchema(schemaName);
|
|
2701
2686
|
let importData;
|
|
2702
|
-
if (isInternal && schemaName === SEED_PROTOCOL_SCHEMA_NAME) {
|
|
2687
|
+
if (isInternal && schemaName === main_cjs.SEED_PROTOCOL_SCHEMA_NAME) {
|
|
2703
2688
|
// Convert Seed Protocol schema format to JSON import format
|
|
2704
2689
|
importData = {
|
|
2705
2690
|
name: schemaName,
|
|
@@ -2782,7 +2767,7 @@ const writeModelsToDb = xstate.fromCallback(({ sendBack, input }) => {
|
|
|
2782
2767
|
}
|
|
2783
2768
|
}
|
|
2784
2769
|
// Convert JSON models to Model classes
|
|
2785
|
-
const modelDefinitions = await createModelsFromJson(importData, modelFileIds, propertyFileIds);
|
|
2770
|
+
const modelDefinitions = await main_cjs.createModelsFromJson(importData, modelFileIds, propertyFileIds);
|
|
2786
2771
|
// Add models to database
|
|
2787
2772
|
if (Object.keys(modelDefinitions).length > 0) {
|
|
2788
2773
|
await main_cjs.addModelsToDb(modelDefinitions, schemaRecord, undefined, {
|
|
@@ -2926,7 +2911,7 @@ const createModelInstances = xstate.fromCallback(({ sendBack, input }) => {
|
|
|
2926
2911
|
return;
|
|
2927
2912
|
}
|
|
2928
2913
|
try {
|
|
2929
|
-
const { Model } = await Promise.resolve().then(function () { return require('./index-
|
|
2914
|
+
const { Model } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.Model$1; });
|
|
2930
2915
|
// Create instances for all model IDs in parallel
|
|
2931
2916
|
// Model.createById() will check cache first, then query DB and create if needed
|
|
2932
2917
|
const createPromises = modelIds.map(async (modelFileId) => {
|
|
@@ -3011,7 +2996,7 @@ const verifyModelInstancesInCache = xstate.fromCallback(({ sendBack, input }) =>
|
|
|
3011
2996
|
}
|
|
3012
2997
|
try {
|
|
3013
2998
|
const result = await verifyWithRetry$2(async () => {
|
|
3014
|
-
const { Model } = await Promise.resolve().then(function () { return require('./index-
|
|
2999
|
+
const { Model } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.Model$1; });
|
|
3015
3000
|
// Check each model ID in the cache
|
|
3016
3001
|
const verifiedInstances = [];
|
|
3017
3002
|
const missingIds = [];
|
|
@@ -3067,8 +3052,8 @@ const writePropertiesToDb = xstate.fromCallback(({ sendBack, input }) => {
|
|
|
3067
3052
|
const _write = async () => {
|
|
3068
3053
|
const { modelIds } = input;
|
|
3069
3054
|
try {
|
|
3070
|
-
const { BaseDb } = await Promise.resolve().then(function () { return require('./index-
|
|
3071
|
-
const { models: modelsTable, properties: propertiesTable } = await Promise.resolve().then(function () { return require('./index-
|
|
3055
|
+
const { BaseDb } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.BaseDb$1; });
|
|
3056
|
+
const { models: modelsTable, properties: propertiesTable } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.ModelSchema; });
|
|
3072
3057
|
const { eq } = await import('drizzle-orm');
|
|
3073
3058
|
const db = BaseDb.getAppDb();
|
|
3074
3059
|
if (!db) {
|
|
@@ -3254,8 +3239,15 @@ const createPropertyInstances = xstate.fromCallback(({ sendBack, input }) => {
|
|
|
3254
3239
|
return;
|
|
3255
3240
|
}
|
|
3256
3241
|
try {
|
|
3257
|
-
const
|
|
3258
|
-
const
|
|
3242
|
+
const modProp = await Promise.resolve().then(function () { return require('./ModelProperty-BRKRREYP.js'); }).then(function (n) { return n.ModelProperty$1; });
|
|
3243
|
+
const ModelProperty = modProp?.ModelProperty ?? modProp?.default;
|
|
3244
|
+
const modModel = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.Model$1; });
|
|
3245
|
+
const Model = modModel?.Model ?? modModel?.default;
|
|
3246
|
+
if (!ModelProperty || !Model) {
|
|
3247
|
+
logger$2('ModelProperty or Model not available from dynamic import');
|
|
3248
|
+
sendBack({ type: 'instancesCreated', count: 0 });
|
|
3249
|
+
return;
|
|
3250
|
+
}
|
|
3259
3251
|
// Properties are typically loaded when Model instances are loaded
|
|
3260
3252
|
// But we can verify they exist by checking Model instances
|
|
3261
3253
|
let successCount = 0;
|
|
@@ -3354,7 +3346,11 @@ const verifyPropertyInstancesInCache = xstate.fromCallback(({ sendBack, input })
|
|
|
3354
3346
|
}
|
|
3355
3347
|
try {
|
|
3356
3348
|
const result = await verifyWithRetry(async () => {
|
|
3357
|
-
const
|
|
3349
|
+
const mod = await Promise.resolve().then(function () { return require('./ModelProperty-BRKRREYP.js'); }).then(function (n) { return n.ModelProperty$1; });
|
|
3350
|
+
const ModelProperty = mod?.ModelProperty ?? mod?.default;
|
|
3351
|
+
if (!ModelProperty) {
|
|
3352
|
+
throw new Error('ModelProperty not available from dynamic import');
|
|
3353
|
+
}
|
|
3358
3354
|
// Check each property ID in the cache
|
|
3359
3355
|
const verifiedInstances = [];
|
|
3360
3356
|
const missingIds = [];
|
|
@@ -3514,6 +3510,23 @@ const schemaMachine = xstate.setup({
|
|
|
3514
3510
|
return newContext;
|
|
3515
3511
|
}),
|
|
3516
3512
|
},
|
|
3513
|
+
destroyStarted: {
|
|
3514
|
+
actions: xstate.assign({ _destroyInProgress: true, _destroyError: null }),
|
|
3515
|
+
},
|
|
3516
|
+
destroyDone: {
|
|
3517
|
+
actions: xstate.assign({ _destroyInProgress: false }),
|
|
3518
|
+
},
|
|
3519
|
+
destroyError: {
|
|
3520
|
+
actions: xstate.assign(({ event }) => ({
|
|
3521
|
+
_destroyInProgress: false,
|
|
3522
|
+
_destroyError: event.error instanceof Error
|
|
3523
|
+
? { message: event.error.message, name: event.error.name }
|
|
3524
|
+
: { message: String(event.error) },
|
|
3525
|
+
})),
|
|
3526
|
+
},
|
|
3527
|
+
clearDestroyError: {
|
|
3528
|
+
actions: xstate.assign({ _destroyError: null }),
|
|
3529
|
+
},
|
|
3517
3530
|
},
|
|
3518
3531
|
states: {
|
|
3519
3532
|
loading: {
|
|
@@ -4107,10 +4120,12 @@ class Schema {
|
|
|
4107
4120
|
});
|
|
4108
4121
|
// Note: Property getters/setters are now handled by the Proxy in create()
|
|
4109
4122
|
}
|
|
4110
|
-
static create(schemaName) {
|
|
4123
|
+
static create(schemaName, options) {
|
|
4111
4124
|
if (!schemaName) {
|
|
4112
4125
|
throw new Error('Schema name is required');
|
|
4113
4126
|
}
|
|
4127
|
+
const waitForReady = options?.waitForReady !== false;
|
|
4128
|
+
const readyTimeout = options?.readyTimeout ?? 5000;
|
|
4114
4129
|
// First, check if we have an instance cached by name
|
|
4115
4130
|
if (this.instanceCacheByName.has(schemaName)) {
|
|
4116
4131
|
const { instance, refCount } = this.instanceCacheByName.get(schemaName);
|
|
@@ -4118,7 +4133,9 @@ class Schema {
|
|
|
4118
4133
|
instance,
|
|
4119
4134
|
refCount: refCount + 1,
|
|
4120
4135
|
});
|
|
4121
|
-
|
|
4136
|
+
if (!waitForReady)
|
|
4137
|
+
return instance;
|
|
4138
|
+
return main_cjs.waitForEntityIdle(instance, { timeout: readyTimeout }).then(() => instance);
|
|
4122
4139
|
}
|
|
4123
4140
|
// Create new instance
|
|
4124
4141
|
const newInstance = new this(schemaName);
|
|
@@ -4441,9 +4458,10 @@ class Schema {
|
|
|
4441
4458
|
instance: proxiedInstance,
|
|
4442
4459
|
refCount: 1,
|
|
4443
4460
|
});
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4461
|
+
const schema = proxiedInstance;
|
|
4462
|
+
if (!waitForReady)
|
|
4463
|
+
return schema;
|
|
4464
|
+
return main_cjs.waitForEntityIdle(schema, { timeout: readyTimeout }).then(() => schema);
|
|
4447
4465
|
}
|
|
4448
4466
|
/**
|
|
4449
4467
|
* Update the cache to use schemaFileId as the key instead of schemaName
|
|
@@ -4480,7 +4498,7 @@ class Schema {
|
|
|
4480
4498
|
});
|
|
4481
4499
|
return instance;
|
|
4482
4500
|
}
|
|
4483
|
-
return
|
|
4501
|
+
return null;
|
|
4484
4502
|
}
|
|
4485
4503
|
/**
|
|
4486
4504
|
* Clear all cached Schema instances.
|
|
@@ -4527,17 +4545,15 @@ class Schema {
|
|
|
4527
4545
|
return cachedInstance;
|
|
4528
4546
|
}
|
|
4529
4547
|
// Query database to get schema name from ID
|
|
4530
|
-
const
|
|
4531
|
-
const { schemas: schemasTable } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.SchemaSchema; });
|
|
4532
|
-
const db = BaseDb.getAppDb();
|
|
4548
|
+
const db = main_cjs.BaseDb.getAppDb();
|
|
4533
4549
|
if (!db) {
|
|
4534
4550
|
throw new Error('Database not available');
|
|
4535
4551
|
}
|
|
4536
4552
|
const dbSchemas = await db
|
|
4537
4553
|
.select()
|
|
4538
|
-
.from(
|
|
4539
|
-
.where(drizzleOrm.eq(
|
|
4540
|
-
.orderBy(drizzleOrm.desc(
|
|
4554
|
+
.from(main_cjs.schemas)
|
|
4555
|
+
.where(drizzleOrm.eq(main_cjs.schemas.schemaFileId, schemaFileId))
|
|
4556
|
+
.orderBy(drizzleOrm.desc(main_cjs.schemas.version))
|
|
4541
4557
|
.limit(1);
|
|
4542
4558
|
if (dbSchemas.length === 0) {
|
|
4543
4559
|
throw new Error(`Schema with ID "${schemaFileId}" not found in database`);
|
|
@@ -4584,7 +4600,7 @@ class Schema {
|
|
|
4584
4600
|
* @returns Array of Schema instances
|
|
4585
4601
|
*/
|
|
4586
4602
|
static async all(options = {}) {
|
|
4587
|
-
const { includeAllVersions = false, includeInternal = false } = options;
|
|
4603
|
+
const { includeAllVersions = false, includeInternal = false, waitForReady = false, readyTimeout = 5000, } = options;
|
|
4588
4604
|
try {
|
|
4589
4605
|
// Use loadAllSchemasFromDb as single source of truth
|
|
4590
4606
|
// This intelligently merges database and file data, including drafts
|
|
@@ -4667,13 +4683,18 @@ class Schema {
|
|
|
4667
4683
|
}
|
|
4668
4684
|
catch (error) {
|
|
4669
4685
|
// Fallback to creating by name if createById fails
|
|
4670
|
-
schemaInstances.push(this.create(schemaName));
|
|
4686
|
+
schemaInstances.push(this.create(schemaName, { waitForReady: false }));
|
|
4671
4687
|
}
|
|
4672
4688
|
}
|
|
4673
4689
|
else {
|
|
4674
|
-
schemaInstances.push(this.create(schemaName));
|
|
4690
|
+
schemaInstances.push(this.create(schemaName, { waitForReady: false }));
|
|
4675
4691
|
}
|
|
4676
4692
|
}
|
|
4693
|
+
if (waitForReady && schemaInstances.length > 0) {
|
|
4694
|
+
await Promise.all(schemaInstances.map((s) => main_cjs.waitForEntityIdle(s, {
|
|
4695
|
+
timeout: readyTimeout,
|
|
4696
|
+
})));
|
|
4697
|
+
}
|
|
4677
4698
|
return schemaInstances;
|
|
4678
4699
|
}
|
|
4679
4700
|
catch (error) {
|
|
@@ -4711,7 +4732,12 @@ class Schema {
|
|
|
4711
4732
|
// Create Schema instances for each unique schema name
|
|
4712
4733
|
const schemaInstances = [];
|
|
4713
4734
|
for (const schemaName of uniqueSchemaNames) {
|
|
4714
|
-
schemaInstances.push(this.create(schemaName));
|
|
4735
|
+
schemaInstances.push(this.create(schemaName, { waitForReady: false }));
|
|
4736
|
+
}
|
|
4737
|
+
if (waitForReady && schemaInstances.length > 0) {
|
|
4738
|
+
await Promise.all(schemaInstances.map((s) => main_cjs.waitForEntityIdle(s, {
|
|
4739
|
+
timeout: readyTimeout,
|
|
4740
|
+
})));
|
|
4715
4741
|
}
|
|
4716
4742
|
return schemaInstances;
|
|
4717
4743
|
}
|
|
@@ -4754,6 +4780,7 @@ class Schema {
|
|
|
4754
4780
|
*/
|
|
4755
4781
|
get models() {
|
|
4756
4782
|
const context = this._getSnapshotContext();
|
|
4783
|
+
const schemaName = context.schemaName;
|
|
4757
4784
|
// Get model IDs from service context (reactive state)
|
|
4758
4785
|
const liveQueryIds = context._liveQueryModelIds || [];
|
|
4759
4786
|
// Get pending model IDs (not yet in DB)
|
|
@@ -4762,15 +4789,27 @@ class Schema {
|
|
|
4762
4789
|
const pendingIds = [];
|
|
4763
4790
|
// Combine and deduplicate
|
|
4764
4791
|
const allModelIds = [...new Set([...liveQueryIds, ...pendingIds])];
|
|
4765
|
-
// Get Model instances from static cache
|
|
4792
|
+
// Get Model instances from static cache (from schema load)
|
|
4793
|
+
const seen = new Set();
|
|
4766
4794
|
const modelInstances = [];
|
|
4767
4795
|
for (const modelFileId of allModelIds) {
|
|
4768
4796
|
const model = main_cjs.Model.getById(modelFileId);
|
|
4769
|
-
if (model) {
|
|
4797
|
+
if (model && modelFileId && !seen.has(modelFileId)) {
|
|
4770
4798
|
modelInstances.push(model);
|
|
4799
|
+
seen.add(modelFileId);
|
|
4800
|
+
}
|
|
4801
|
+
}
|
|
4802
|
+
// Include models created at runtime via Model.create() that belong to this schema
|
|
4803
|
+
// (they may not be in _liveQueryModelIds until schema context is updated)
|
|
4804
|
+
if (schemaName) {
|
|
4805
|
+
const cachedForSchema = main_cjs.Model.getCachedInstancesForSchema(schemaName);
|
|
4806
|
+
for (const model of cachedForSchema) {
|
|
4807
|
+
const id = model.id;
|
|
4808
|
+
if (id && !seen.has(id)) {
|
|
4809
|
+
modelInstances.push(model);
|
|
4810
|
+
seen.add(id);
|
|
4811
|
+
}
|
|
4771
4812
|
}
|
|
4772
|
-
// Note: Cannot create models asynchronously in this synchronous getter
|
|
4773
|
-
// Models will be created elsewhere when needed
|
|
4774
4813
|
}
|
|
4775
4814
|
// Return a new array reference (snapshot at time of access)
|
|
4776
4815
|
return [...modelInstances];
|
|
@@ -4887,9 +4926,7 @@ class Schema {
|
|
|
4887
4926
|
throw new main_cjs.ConflictError(errorMessage, conflictCheck);
|
|
4888
4927
|
}
|
|
4889
4928
|
const context = this._getSnapshotContext();
|
|
4890
|
-
const {
|
|
4891
|
-
const { schemas: schemasTable } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.SchemaSchema; });
|
|
4892
|
-
const { addSchemaToDb } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.db; });
|
|
4929
|
+
const { addSchemaToDb } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.db; });
|
|
4893
4930
|
if (!context._isDraft || !context._editedProperties || context._editedProperties.size === 0) {
|
|
4894
4931
|
logger('No changes to save');
|
|
4895
4932
|
return '';
|
|
@@ -4902,7 +4939,7 @@ class Schema {
|
|
|
4902
4939
|
}
|
|
4903
4940
|
logger(`Saving new version for schema ${this.schemaName} with ${context._editedProperties.size} edited properties`);
|
|
4904
4941
|
// STEP 1: Ensure draft exists in database and update it with current state
|
|
4905
|
-
const db = BaseDb.getAppDb();
|
|
4942
|
+
const db = main_cjs.BaseDb.getAppDb();
|
|
4906
4943
|
if (!db) {
|
|
4907
4944
|
throw new Error('Database not found');
|
|
4908
4945
|
}
|
|
@@ -4929,6 +4966,11 @@ class Schema {
|
|
|
4929
4966
|
createdAt: new Date(currentSchema.metadata.createdAt).getTime(),
|
|
4930
4967
|
updatedAt: new Date(currentSchema.metadata.updatedAt).getTime(),
|
|
4931
4968
|
}, currentSchema.id, JSON.stringify(currentSchema, null, 2), true);
|
|
4969
|
+
const dbSchema = await db
|
|
4970
|
+
.select()
|
|
4971
|
+
.from(main_cjs.schemas)
|
|
4972
|
+
.where(drizzleOrm.eq(main_cjs.schemas.name, this.schemaName))
|
|
4973
|
+
.limit(1);
|
|
4932
4974
|
// Collect all edited properties and convert them to SchemaPropertyUpdate format
|
|
4933
4975
|
const propertyUpdates = [];
|
|
4934
4976
|
for (const propertyKey of context._editedProperties) {
|
|
@@ -4957,6 +4999,32 @@ class Schema {
|
|
|
4957
4999
|
propertyUpdates.push(propertyUpdate);
|
|
4958
5000
|
}
|
|
4959
5001
|
if (propertyUpdates.length === 0) {
|
|
5002
|
+
// When only new models were added, _editedProperties contains 'schema:models' and we write the full schema
|
|
5003
|
+
if (context._editedProperties.has('schema:models')) {
|
|
5004
|
+
const newFilePath = await ModelProperty.writeFullSchemaNewVersion(this.schemaName, currentSchema);
|
|
5005
|
+
const { BaseFileManager } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.BaseFileManager$1; });
|
|
5006
|
+
const fileContent = await BaseFileManager.readFileAsString(newFilePath);
|
|
5007
|
+
const publishedSchema = JSON.parse(fileContent);
|
|
5008
|
+
if (dbSchema.length > 0) {
|
|
5009
|
+
await db
|
|
5010
|
+
.update(main_cjs.schemas)
|
|
5011
|
+
.set({
|
|
5012
|
+
isDraft: false,
|
|
5013
|
+
isEdited: false,
|
|
5014
|
+
schemaFileId: publishedSchema.id,
|
|
5015
|
+
schemaData: JSON.stringify(publishedSchema, null, 2),
|
|
5016
|
+
version: publishedSchema.version,
|
|
5017
|
+
updatedAt: new Date(publishedSchema.metadata.updatedAt).getTime(),
|
|
5018
|
+
})
|
|
5019
|
+
.where(drizzleOrm.eq(main_cjs.schemas.id, dbSchema[0].id));
|
|
5020
|
+
}
|
|
5021
|
+
this._service.send({
|
|
5022
|
+
type: 'clearDraft',
|
|
5023
|
+
_dbUpdatedAt: new Date(publishedSchema.metadata.updatedAt).getTime(),
|
|
5024
|
+
_dbVersion: publishedSchema.version,
|
|
5025
|
+
});
|
|
5026
|
+
return newFilePath;
|
|
5027
|
+
}
|
|
4960
5028
|
logger('No valid property updates to save');
|
|
4961
5029
|
return '';
|
|
4962
5030
|
}
|
|
@@ -4964,18 +5032,13 @@ class Schema {
|
|
|
4964
5032
|
const newFilePath = await ModelProperty.updateModelProperties(this.schemaName, propertyUpdates);
|
|
4965
5033
|
// STEP 3: After file is written, update database to mark as published (isDraft = false)
|
|
4966
5034
|
// Load the file to get the final schema with IDs
|
|
4967
|
-
const { BaseFileManager } = await Promise.resolve().then(function () { return require('./index-
|
|
5035
|
+
const { BaseFileManager } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.BaseFileManager$1; });
|
|
4968
5036
|
const fileContent = await BaseFileManager.readFileAsString(newFilePath);
|
|
4969
5037
|
const publishedSchema = JSON.parse(fileContent);
|
|
4970
5038
|
// Update database record: set isDraft = false and update schemaFileId
|
|
4971
|
-
const dbSchema = await db
|
|
4972
|
-
.select()
|
|
4973
|
-
.from(schemasTable)
|
|
4974
|
-
.where(drizzleOrm.eq(schemasTable.name, this.schemaName))
|
|
4975
|
-
.limit(1);
|
|
4976
5039
|
if (dbSchema.length > 0) {
|
|
4977
5040
|
await db
|
|
4978
|
-
.update(
|
|
5041
|
+
.update(main_cjs.schemas)
|
|
4979
5042
|
.set({
|
|
4980
5043
|
isDraft: false,
|
|
4981
5044
|
isEdited: false, // Clear isEdited flag after saving to file
|
|
@@ -4984,7 +5047,7 @@ class Schema {
|
|
|
4984
5047
|
version: publishedSchema.version,
|
|
4985
5048
|
updatedAt: new Date(publishedSchema.metadata.updatedAt).getTime(),
|
|
4986
5049
|
})
|
|
4987
|
-
.where(drizzleOrm.eq(
|
|
5050
|
+
.where(drizzleOrm.eq(main_cjs.schemas.id, dbSchema[0].id));
|
|
4988
5051
|
}
|
|
4989
5052
|
else {
|
|
4990
5053
|
// Create new record if it doesn't exist (shouldn't happen, but safety)
|
|
@@ -5003,7 +5066,6 @@ class Schema {
|
|
|
5003
5066
|
_dbVersion: publishedSchema.version,
|
|
5004
5067
|
});
|
|
5005
5068
|
// Clear edited flags on all ModelProperty instances and in database
|
|
5006
|
-
const { properties: propertiesTable, models: modelsTable } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.schema; });
|
|
5007
5069
|
for (const propertyKey of context._editedProperties) {
|
|
5008
5070
|
const [modelName, propertyName] = propertyKey.split(':');
|
|
5009
5071
|
const cacheKey = `${modelName}:${propertyName}`;
|
|
@@ -5021,23 +5083,23 @@ class Schema {
|
|
|
5021
5083
|
if (db && modelName && propertyName) {
|
|
5022
5084
|
// Find model by name
|
|
5023
5085
|
const modelRecords = await db
|
|
5024
|
-
.select({ id:
|
|
5025
|
-
.from(
|
|
5026
|
-
.where(drizzleOrm.eq(
|
|
5086
|
+
.select({ id: main_cjs.models.id })
|
|
5087
|
+
.from(main_cjs.models)
|
|
5088
|
+
.where(drizzleOrm.eq(main_cjs.models.name, modelName))
|
|
5027
5089
|
.limit(1);
|
|
5028
5090
|
if (modelRecords.length > 0) {
|
|
5029
5091
|
// Find property by name and modelId
|
|
5030
5092
|
const propertyRecords = await db
|
|
5031
|
-
.select({ id:
|
|
5032
|
-
.from(
|
|
5033
|
-
.where(drizzleOrm.and(drizzleOrm.eq(
|
|
5093
|
+
.select({ id: main_cjs.properties.id })
|
|
5094
|
+
.from(main_cjs.properties)
|
|
5095
|
+
.where(drizzleOrm.and(drizzleOrm.eq(main_cjs.properties.name, propertyName), drizzleOrm.eq(main_cjs.properties.modelId, modelRecords[0].id)))
|
|
5034
5096
|
.limit(1);
|
|
5035
5097
|
if (propertyRecords.length > 0) {
|
|
5036
5098
|
// Clear isEdited flag in database
|
|
5037
5099
|
await db
|
|
5038
|
-
.update(
|
|
5100
|
+
.update(main_cjs.properties)
|
|
5039
5101
|
.set({ isEdited: false })
|
|
5040
|
-
.where(drizzleOrm.eq(
|
|
5102
|
+
.where(drizzleOrm.eq(main_cjs.properties.id, propertyRecords[0].id));
|
|
5041
5103
|
}
|
|
5042
5104
|
}
|
|
5043
5105
|
}
|
|
@@ -5051,19 +5113,18 @@ class Schema {
|
|
|
5051
5113
|
try {
|
|
5052
5114
|
if (db && context._dbId) {
|
|
5053
5115
|
// Get all models for this schema
|
|
5054
|
-
const { modelSchemas, models: modelsTable } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.schema; });
|
|
5055
5116
|
const modelRecords = await db
|
|
5056
|
-
.select({ id:
|
|
5057
|
-
.from(modelSchemas)
|
|
5058
|
-
.innerJoin(
|
|
5059
|
-
.where(drizzleOrm.eq(modelSchemas.schemaId, context._dbId));
|
|
5117
|
+
.select({ id: main_cjs.models.id })
|
|
5118
|
+
.from(main_cjs.modelSchemas)
|
|
5119
|
+
.innerJoin(main_cjs.models, drizzleOrm.eq(main_cjs.modelSchemas.modelId, main_cjs.models.id))
|
|
5120
|
+
.where(drizzleOrm.eq(main_cjs.modelSchemas.schemaId, context._dbId));
|
|
5060
5121
|
// Clear isEdited flag for all models
|
|
5061
5122
|
for (const modelRecord of modelRecords) {
|
|
5062
5123
|
if (modelRecord.id) {
|
|
5063
5124
|
await db
|
|
5064
|
-
.update(
|
|
5125
|
+
.update(main_cjs.models)
|
|
5065
5126
|
.set({ isEdited: false })
|
|
5066
|
-
.where(drizzleOrm.eq(
|
|
5127
|
+
.where(drizzleOrm.eq(main_cjs.models.id, modelRecord.id));
|
|
5067
5128
|
}
|
|
5068
5129
|
}
|
|
5069
5130
|
}
|
|
@@ -5167,8 +5228,8 @@ class Schema {
|
|
|
5167
5228
|
if (shouldRecheck) {
|
|
5168
5229
|
try {
|
|
5169
5230
|
// Use dynamic import for browser compatibility (require() doesn't work in browsers)
|
|
5170
|
-
const { getClient } = await Promise.resolve().then(function () { return require('./index-
|
|
5171
|
-
const { ClientManagerState } = await Promise.resolve().then(function () { return require('./index-
|
|
5231
|
+
const { getClient } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.ClientManager$1; });
|
|
5232
|
+
const { ClientManagerState } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.constants; });
|
|
5172
5233
|
const client = getClient();
|
|
5173
5234
|
const clientSnapshot = client.getService().getSnapshot();
|
|
5174
5235
|
// Check if state is IDLE (primary check) - isInitialized is set in entry action so should be true
|
|
@@ -5239,11 +5300,9 @@ class Schema {
|
|
|
5239
5300
|
_editedProperties: new Set(),
|
|
5240
5301
|
};
|
|
5241
5302
|
}
|
|
5242
|
-
const { addSchemaToDb } = await Promise.resolve().then(function () { return require('./index-
|
|
5243
|
-
const { generateId } = await Promise.resolve().then(function () { return require('./index-
|
|
5244
|
-
const
|
|
5245
|
-
const { schemas: schemasTable } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.SchemaSchema; });
|
|
5246
|
-
const db = BaseDb.getAppDb();
|
|
5303
|
+
const { addSchemaToDb } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.db; });
|
|
5304
|
+
const { generateId } = await Promise.resolve().then(function () { return require('./index-C3j3m34a.js'); }).then(function (n) { return n.index; });
|
|
5305
|
+
const db = main_cjs.BaseDb.getAppDb();
|
|
5247
5306
|
if (!db) {
|
|
5248
5307
|
throw new Error('Database not found');
|
|
5249
5308
|
}
|
|
@@ -5262,8 +5321,8 @@ class Schema {
|
|
|
5262
5321
|
logger(`Looking up schema by schemaFileId: ${context.id}`);
|
|
5263
5322
|
const schemasById = await db
|
|
5264
5323
|
.select()
|
|
5265
|
-
.from(
|
|
5266
|
-
.where(drizzleOrm.eq(
|
|
5324
|
+
.from(main_cjs.schemas)
|
|
5325
|
+
.where(drizzleOrm.eq(main_cjs.schemas.schemaFileId, context.id)) // id is now the schemaFileId (string)
|
|
5267
5326
|
.limit(1);
|
|
5268
5327
|
if (schemasById.length > 0) {
|
|
5269
5328
|
const foundRecord = schemasById[0];
|
|
@@ -5283,8 +5342,8 @@ class Schema {
|
|
|
5283
5342
|
logger(`Looking up schema by name "${lookupName}" (oldName: ${oldName}, finalNewName: ${finalNewName})`);
|
|
5284
5343
|
const existingSchemas = await db
|
|
5285
5344
|
.select()
|
|
5286
|
-
.from(
|
|
5287
|
-
.where(drizzleOrm.eq(
|
|
5345
|
+
.from(main_cjs.schemas)
|
|
5346
|
+
.where(drizzleOrm.eq(main_cjs.schemas.name, lookupName))
|
|
5288
5347
|
.limit(10); // Get multiple to find drafts
|
|
5289
5348
|
logger(`Found ${existingSchemas.length} records with name "${lookupName}"`);
|
|
5290
5349
|
// If name changed, prefer draft records; otherwise prefer any record
|
|
@@ -5374,14 +5433,14 @@ class Schema {
|
|
|
5374
5433
|
saveDraftLogger(`Setting schemaFileId to ${finalSchemaFileId} (was null)`);
|
|
5375
5434
|
}
|
|
5376
5435
|
await db
|
|
5377
|
-
.update(
|
|
5436
|
+
.update(main_cjs.schemas)
|
|
5378
5437
|
.set(updateData)
|
|
5379
|
-
.where(drizzleOrm.eq(
|
|
5438
|
+
.where(drizzleOrm.eq(main_cjs.schemas.id, existingSchemaRecord.id));
|
|
5380
5439
|
// Verify what was saved by reading it back
|
|
5381
5440
|
const verifyRecord = await db
|
|
5382
5441
|
.select()
|
|
5383
|
-
.from(
|
|
5384
|
-
.where(drizzleOrm.eq(
|
|
5442
|
+
.from(main_cjs.schemas)
|
|
5443
|
+
.where(drizzleOrm.eq(main_cjs.schemas.id, existingSchemaRecord.id))
|
|
5385
5444
|
.limit(1);
|
|
5386
5445
|
if (verifyRecord.length > 0 && verifyRecord[0].schemaData) {
|
|
5387
5446
|
try {
|
|
@@ -5391,15 +5450,15 @@ class Schema {
|
|
|
5391
5450
|
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!`);
|
|
5392
5451
|
// Try to fix it immediately
|
|
5393
5452
|
await db
|
|
5394
|
-
.update(
|
|
5453
|
+
.update(main_cjs.schemas)
|
|
5395
5454
|
.set({ isDraft: true })
|
|
5396
|
-
.where(drizzleOrm.eq(
|
|
5455
|
+
.where(drizzleOrm.eq(main_cjs.schemas.id, existingSchemaRecord.id));
|
|
5397
5456
|
saveDraftLogger(`Attempted to fix isDraft by setting it to true again`);
|
|
5398
5457
|
// Verify the fix
|
|
5399
5458
|
const fixedRecord = await db
|
|
5400
5459
|
.select()
|
|
5401
|
-
.from(
|
|
5402
|
-
.where(drizzleOrm.eq(
|
|
5460
|
+
.from(main_cjs.schemas)
|
|
5461
|
+
.where(drizzleOrm.eq(main_cjs.schemas.id, existingSchemaRecord.id))
|
|
5403
5462
|
.limit(1);
|
|
5404
5463
|
if (fixedRecord.length > 0) {
|
|
5405
5464
|
saveDraftLogger(`After fix attempt: isDraft=${fixedRecord[0].isDraft}`);
|
|
@@ -5441,8 +5500,8 @@ class Schema {
|
|
|
5441
5500
|
// Try to find by looking for ANY draft with the old name (even if it doesn't match exactly)
|
|
5442
5501
|
const allDrafts = await db
|
|
5443
5502
|
.select()
|
|
5444
|
-
.from(
|
|
5445
|
-
.where(drizzleOrm.eq(
|
|
5503
|
+
.from(main_cjs.schemas)
|
|
5504
|
+
.where(drizzleOrm.eq(main_cjs.schemas.name, oldName))
|
|
5446
5505
|
.limit(1);
|
|
5447
5506
|
if (allDrafts.length > 0 && allDrafts[0].id) {
|
|
5448
5507
|
const foundRecord = allDrafts[0];
|
|
@@ -5450,7 +5509,7 @@ class Schema {
|
|
|
5450
5509
|
// Update the existing record with the new name
|
|
5451
5510
|
// CRITICAL: Ensure schemaFileId matches schema.id
|
|
5452
5511
|
await db
|
|
5453
|
-
.update(
|
|
5512
|
+
.update(main_cjs.schemas)
|
|
5454
5513
|
.set({
|
|
5455
5514
|
name: finalNewName,
|
|
5456
5515
|
schemaData: JSON.stringify(currentSchema, null, 2),
|
|
@@ -5459,7 +5518,7 @@ class Schema {
|
|
|
5459
5518
|
updatedAt: new Date(currentSchema.metadata.updatedAt).getTime(),
|
|
5460
5519
|
isDraft: true, // Ensure it's marked as a draft when saving via _saveDraftToDb
|
|
5461
5520
|
})
|
|
5462
|
-
.where(drizzleOrm.eq(
|
|
5521
|
+
.where(drizzleOrm.eq(main_cjs.schemas.id, foundRecord.id));
|
|
5463
5522
|
// Update context with id (schemaFileId) and conflict detection metadata
|
|
5464
5523
|
try {
|
|
5465
5524
|
const snapshot = this._service.getSnapshot();
|
|
@@ -5570,6 +5629,68 @@ class Schema {
|
|
|
5570
5629
|
}
|
|
5571
5630
|
}
|
|
5572
5631
|
}
|
|
5632
|
+
/**
|
|
5633
|
+
* Destroy the schema instance completely: remove from caches, delete from database (cascade),
|
|
5634
|
+
* and stop the service. Uses shared destroy helpers.
|
|
5635
|
+
*/
|
|
5636
|
+
async destroy() {
|
|
5637
|
+
const context = this._getSnapshotContext();
|
|
5638
|
+
const schemaFileId = context.id;
|
|
5639
|
+
const schemaName = context.schemaName;
|
|
5640
|
+
main_cjs.clearDestroySubscriptions(this, {
|
|
5641
|
+
instanceState: schemaInstanceState,
|
|
5642
|
+
onUnload: () => schemaInstanceState.delete(this),
|
|
5643
|
+
});
|
|
5644
|
+
const cacheKeys = [];
|
|
5645
|
+
if (schemaFileId)
|
|
5646
|
+
cacheKeys.push(schemaFileId);
|
|
5647
|
+
if (schemaName)
|
|
5648
|
+
cacheKeys.push(schemaName);
|
|
5649
|
+
main_cjs.forceRemoveFromCaches(this, {
|
|
5650
|
+
getCacheKeys: () => cacheKeys,
|
|
5651
|
+
caches: [
|
|
5652
|
+
Schema.instanceCacheById,
|
|
5653
|
+
Schema.instanceCacheByName,
|
|
5654
|
+
],
|
|
5655
|
+
});
|
|
5656
|
+
await main_cjs.runDestroyLifecycle(this, {
|
|
5657
|
+
getService: (instance) => instance._service,
|
|
5658
|
+
doDestroy: async () => {
|
|
5659
|
+
const db = main_cjs.BaseDb.getAppDb();
|
|
5660
|
+
if (!db || !schemaFileId)
|
|
5661
|
+
return;
|
|
5662
|
+
const schemaRecords = await db
|
|
5663
|
+
.select({ id: main_cjs.schemas.id })
|
|
5664
|
+
.from(main_cjs.schemas)
|
|
5665
|
+
.where(drizzleOrm.eq(main_cjs.schemas.schemaFileId, schemaFileId));
|
|
5666
|
+
if (schemaRecords.length === 0)
|
|
5667
|
+
return;
|
|
5668
|
+
const schemaIds = schemaRecords
|
|
5669
|
+
.map((r) => r.id)
|
|
5670
|
+
.filter((id) => id != null);
|
|
5671
|
+
if (schemaIds.length === 0)
|
|
5672
|
+
return;
|
|
5673
|
+
const { inArray } = await import('drizzle-orm');
|
|
5674
|
+
const joinRows = await db
|
|
5675
|
+
.select({ modelId: main_cjs.modelSchemas.modelId })
|
|
5676
|
+
.from(main_cjs.modelSchemas)
|
|
5677
|
+
.where(inArray(main_cjs.modelSchemas.schemaId, schemaIds));
|
|
5678
|
+
const modelIds = [
|
|
5679
|
+
...new Set(joinRows
|
|
5680
|
+
.map((r) => r.modelId)
|
|
5681
|
+
.filter((id) => id != null)),
|
|
5682
|
+
];
|
|
5683
|
+
await db.delete(main_cjs.modelSchemas).where(inArray(main_cjs.modelSchemas.schemaId, schemaIds));
|
|
5684
|
+
for (const modelId of modelIds) {
|
|
5685
|
+
await db.delete(main_cjs.properties).where(drizzleOrm.eq(main_cjs.properties.modelId, modelId));
|
|
5686
|
+
}
|
|
5687
|
+
for (const modelId of modelIds) {
|
|
5688
|
+
await db.delete(main_cjs.models).where(drizzleOrm.eq(main_cjs.models.id, modelId));
|
|
5689
|
+
}
|
|
5690
|
+
await db.delete(main_cjs.schemas).where(drizzleOrm.eq(main_cjs.schemas.schemaFileId, schemaFileId));
|
|
5691
|
+
},
|
|
5692
|
+
});
|
|
5693
|
+
}
|
|
5573
5694
|
/**
|
|
5574
5695
|
* Set up liveQuery subscription to watch for model changes in the database
|
|
5575
5696
|
* This enables cross-instance synchronization (e.g., changes in other tabs/windows)
|
|
@@ -5581,10 +5702,7 @@ class Schema {
|
|
|
5581
5702
|
}
|
|
5582
5703
|
main_cjs.setupEntityLiveQuery(this, {
|
|
5583
5704
|
getEntityId: async (schema) => {
|
|
5584
|
-
const
|
|
5585
|
-
const { schemas: schemasTable } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.schema; });
|
|
5586
|
-
const { eq } = await import('drizzle-orm');
|
|
5587
|
-
const db = BaseDb.getAppDb();
|
|
5705
|
+
const db = main_cjs.BaseDb.getAppDb();
|
|
5588
5706
|
if (!db) {
|
|
5589
5707
|
return undefined;
|
|
5590
5708
|
}
|
|
@@ -5595,8 +5713,8 @@ class Schema {
|
|
|
5595
5713
|
}
|
|
5596
5714
|
const schemaRecords = await db
|
|
5597
5715
|
.select()
|
|
5598
|
-
.from(
|
|
5599
|
-
.where(eq(
|
|
5716
|
+
.from(main_cjs.schemas)
|
|
5717
|
+
.where(drizzleOrm.eq(main_cjs.schemas.name, schemaName))
|
|
5600
5718
|
.limit(1);
|
|
5601
5719
|
if (schemaRecords.length === 0 || !schemaRecords[0].id) {
|
|
5602
5720
|
return undefined;
|
|
@@ -5604,22 +5722,19 @@ class Schema {
|
|
|
5604
5722
|
return schemaRecords[0].id;
|
|
5605
5723
|
},
|
|
5606
5724
|
buildQuery: async (schemaId) => {
|
|
5607
|
-
const
|
|
5608
|
-
const { modelSchemas, models: modelsTable } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.schema; });
|
|
5609
|
-
const { eq } = await import('drizzle-orm');
|
|
5610
|
-
const db = BaseDb.getAppDb();
|
|
5725
|
+
const db = main_cjs.BaseDb.getAppDb();
|
|
5611
5726
|
if (!db) {
|
|
5612
5727
|
throw new Error('Database not available');
|
|
5613
5728
|
}
|
|
5614
|
-
return BaseDb.liveQuery(db
|
|
5729
|
+
return main_cjs.BaseDb.liveQuery(db
|
|
5615
5730
|
.select({
|
|
5616
|
-
modelId: modelSchemas.modelId,
|
|
5617
|
-
modelName:
|
|
5618
|
-
modelFileId:
|
|
5731
|
+
modelId: main_cjs.modelSchemas.modelId,
|
|
5732
|
+
modelName: main_cjs.models.name,
|
|
5733
|
+
modelFileId: main_cjs.models.schemaFileId,
|
|
5619
5734
|
})
|
|
5620
|
-
.from(modelSchemas)
|
|
5621
|
-
.innerJoin(
|
|
5622
|
-
.where(eq(modelSchemas.schemaId, typeof schemaId === 'string' ? parseInt(schemaId, 10) : schemaId)));
|
|
5735
|
+
.from(main_cjs.modelSchemas)
|
|
5736
|
+
.innerJoin(main_cjs.models, drizzleOrm.eq(main_cjs.modelSchemas.modelId, main_cjs.models.id))
|
|
5737
|
+
.where(drizzleOrm.eq(main_cjs.modelSchemas.schemaId, typeof schemaId === 'string' ? parseInt(schemaId, 10) : schemaId)));
|
|
5623
5738
|
},
|
|
5624
5739
|
extractEntityIds: (rows) => rows.map(row => row.modelFileId).filter(Boolean),
|
|
5625
5740
|
updateContext: (schema, ids) => {
|
|
@@ -5678,16 +5793,12 @@ class Schema {
|
|
|
5678
5793
|
}
|
|
5679
5794
|
},
|
|
5680
5795
|
createChildInstances: async (ids) => {
|
|
5681
|
-
const { Model } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.Model$1; });
|
|
5682
5796
|
for (const id of ids) {
|
|
5683
|
-
await Model.createById(id);
|
|
5797
|
+
await main_cjs.Model.createById(id);
|
|
5684
5798
|
}
|
|
5685
5799
|
},
|
|
5686
5800
|
queryInitialData: async (schemaId) => {
|
|
5687
|
-
const
|
|
5688
|
-
const { modelSchemas, models: modelsTable } = await Promise.resolve().then(function () { return require('./index-BmIVfqGN.js'); }).then(function (n) { return n.schema; });
|
|
5689
|
-
const { eq } = await import('drizzle-orm');
|
|
5690
|
-
const db = BaseDb.getAppDb();
|
|
5801
|
+
const db = main_cjs.BaseDb.getAppDb();
|
|
5691
5802
|
if (!db) {
|
|
5692
5803
|
return [];
|
|
5693
5804
|
}
|
|
@@ -5696,13 +5807,13 @@ class Schema {
|
|
|
5696
5807
|
try {
|
|
5697
5808
|
const initialModels = await db
|
|
5698
5809
|
.select({
|
|
5699
|
-
modelId: modelSchemas.modelId,
|
|
5700
|
-
modelName:
|
|
5701
|
-
modelFileId:
|
|
5810
|
+
modelId: main_cjs.modelSchemas.modelId,
|
|
5811
|
+
modelName: main_cjs.models.name,
|
|
5812
|
+
modelFileId: main_cjs.models.schemaFileId,
|
|
5702
5813
|
})
|
|
5703
|
-
.from(modelSchemas)
|
|
5704
|
-
.innerJoin(
|
|
5705
|
-
.where(eq(modelSchemas.schemaId, typeof schemaId === 'string' ? parseInt(schemaId, 10) : schemaId));
|
|
5814
|
+
.from(main_cjs.modelSchemas)
|
|
5815
|
+
.innerJoin(main_cjs.models, drizzleOrm.eq(main_cjs.modelSchemas.modelId, main_cjs.models.id))
|
|
5816
|
+
.where(drizzleOrm.eq(main_cjs.modelSchemas.schemaId, typeof schemaId === 'string' ? parseInt(schemaId, 10) : schemaId));
|
|
5706
5817
|
logger(`[Schema._setupLiveQuerySubscription] Initial query found ${initialModels.length} models`);
|
|
5707
5818
|
if (initialModels.length > 0) {
|
|
5708
5819
|
return initialModels.map((row) => ({
|
|
@@ -5759,4 +5870,4 @@ var Schema$1 = /*#__PURE__*/Object.freeze({
|
|
|
5759
5870
|
|
|
5760
5871
|
exports.Schema = Schema;
|
|
5761
5872
|
exports.schemaInstanceState = schemaInstanceState;
|
|
5762
|
-
//# sourceMappingURL=Schema-
|
|
5873
|
+
//# sourceMappingURL=Schema-CV9hMg8m.js.map
|