@seedprotocol/sdk 0.1.73 → 0.1.75

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 (50) hide show
  1. package/dist/bin.js +1 -6
  2. package/dist/bin.js.map +1 -1
  3. package/dist/{constants-CtmwCBma.js → constants-B9hSFQXL.js} +3 -2
  4. package/dist/{constants-CtmwCBma.js.map → constants-B9hSFQXL.js.map} +1 -1
  5. package/dist/main.js +7542 -29
  6. package/dist/main.js.map +1 -1
  7. package/dist/{seed.schema.config-DfD4DkGq.js → seed.schema.config-BPJfo_5h.js} +9 -9
  8. package/dist/{seed.schema.config-DfD4DkGq.js.map → seed.schema.config-BPJfo_5h.js.map} +1 -1
  9. package/dist/src/analyzeInput.ts +102 -0
  10. package/dist/src/db.ts +0 -29
  11. package/dist/src/drizzle.ts +0 -4
  12. package/dist/src/getSchemaUidForModel.ts +27 -0
  13. package/dist/src/hydrateFromDb.ts +246 -230
  14. package/dist/src/item.ts +0 -1
  15. package/dist/src/propertyMachine.ts +3 -14
  16. package/dist/src/request.ts +0 -9
  17. package/dist/src/saveImageSrc.ts +0 -4
  18. package/dist/src/services.ts +0 -3
  19. package/dist/src/updateItemPropertyValue.ts +1 -0
  20. package/dist/src/waitForFiles.ts +33 -0
  21. package/dist/src/write.ts +8 -0
  22. package/dist/types/src/browser/db/read/getSchemaUidForModel.d.ts +2 -0
  23. package/dist/types/src/browser/db/read/getSchemaUidForModel.d.ts.map +1 -0
  24. package/dist/types/src/browser/db/write/updateItemPropertyValue.d.ts.map +1 -1
  25. package/dist/types/src/browser/db/write.d.ts.map +1 -1
  26. package/dist/types/src/browser/events/item/request.d.ts.map +1 -1
  27. package/dist/types/src/browser/item/Item.d.ts.map +1 -1
  28. package/dist/types/src/browser/property/ItemProperty.d.ts +2 -2
  29. package/dist/types/src/browser/property/actors/hydrateFromDb.d.ts +4 -1
  30. package/dist/types/src/browser/property/actors/hydrateFromDb.d.ts.map +1 -1
  31. package/dist/types/src/browser/property/actors/saveValueToDb/analyzeInput.d.ts +5 -0
  32. package/dist/types/src/browser/property/actors/saveValueToDb/analyzeInput.d.ts.map +1 -0
  33. package/dist/types/src/browser/property/actors/saveValueToDb/index.d.ts +1 -4
  34. package/dist/types/src/browser/property/actors/saveValueToDb/index.d.ts.map +1 -1
  35. package/dist/types/src/browser/property/actors/saveValueToDb/saveImageSrc.d.ts.map +1 -1
  36. package/dist/types/src/browser/property/propertyMachine.d.ts.map +1 -1
  37. package/dist/types/src/browser/react/item.d.ts.map +1 -1
  38. package/dist/types/src/browser/react/services.d.ts.map +1 -1
  39. package/dist/types/src/browser/services/db/actors/waitForFiles.d.ts +4 -0
  40. package/dist/types/src/browser/services/db/actors/waitForFiles.d.ts.map +1 -0
  41. package/dist/types/src/node/codegen/drizzle.d.ts.map +1 -1
  42. package/dist/types/src/node/constants.d.ts.map +1 -1
  43. package/dist/types/src/node/webpack/index.d.ts.map +1 -1
  44. package/dist/types/src/shared/helpers/constants.d.ts.map +1 -1
  45. package/dist/types/src/shared/helpers/db.d.ts.map +1 -1
  46. package/package.json +1 -1
  47. package/dist/index-BmDmbqJM.js +0 -7600
  48. package/dist/index-BmDmbqJM.js.map +0 -1
  49. package/dist/index-Clo50o_L.js +0 -32
  50. package/dist/index-Clo50o_L.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { _ as __decorate, a as __metadata } from './constants-CtmwCBma.js';
1
+ import { c as __decorate, e as __metadata } from './constants-B9hSFQXL.js';
2
2
  import 'drizzle-orm';
3
- import { T as Text, M as Model } from './index-BmDmbqJM.js';
3
+ import { Text, Model } from './main.js';
4
4
  import 'react';
5
5
  import 'reflect-metadata';
6
6
  import 'xstate';
@@ -17,18 +17,18 @@ import 'nanoid-dictionary';
17
17
  import 'debug';
18
18
  import 'lodash-es';
19
19
  import 'drizzle-orm/sqlite-core';
20
- import 'rxjs';
21
- import 'immer';
22
- import 'pluralize';
23
- import 'eventemitter3';
24
20
  import '@tanstack/react-query';
25
21
  import 'graphql-request';
26
22
  import '@tanstack/query-sync-storage-persister';
27
23
  import '@tanstack/react-query-persist-client';
28
- import '@statelyai/inspect';
29
- import 'drizzle-orm/sqlite-proxy';
30
24
  import 'use-immer';
31
25
  import '@xstate/react';
26
+ import 'eventemitter3';
27
+ import 'immer';
28
+ import 'pluralize';
29
+ import '@statelyai/inspect';
30
+ import 'rxjs';
31
+ import 'drizzle-orm/sqlite-proxy';
32
32
 
33
33
  let Seed = class Seed {
34
34
  };
@@ -76,4 +76,4 @@ const models = {
76
76
  };
77
77
 
78
78
  export { models };
79
- //# sourceMappingURL=seed.schema.config-DfD4DkGq.js.map
79
+ //# sourceMappingURL=seed.schema.config-BPJfo_5h.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seed.schema.config-DfD4DkGq.js","sources":["../../src/shared/configs/seed.schema.config.ts"],"sourcesContent":["import { Model, Text } from '@/browser'\n\n@Model\nclass Seed {\n @Text() uid!: string\n @Text() type!: string\n}\n\n@Model\nclass Version {\n @Text() seedUid!: string\n @Text() note!: string\n}\n\n@Model\nclass Metadata {\n @Text() key!: string\n @Text() value!: string\n}\n\nexport const models = {\n Seed,\n Version,\n Metadata,\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,IAAI,GAAV,MAAM,IAAI,CAAA;CAGT;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAa,CAAA,EAAA,IAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AACZ,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAc,CAAA,EAAA,IAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAFjB,IAAI,GAAA,UAAA,CAAA;IADT;AACK,CAAA,EAAA,IAAI,CAGT;AAGD,IAAM,OAAO,GAAb,MAAM,OAAO,CAAA;CAGZ;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAiB,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAc,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAFjB,OAAO,GAAA,UAAA,CAAA;IADZ;AACK,CAAA,EAAA,OAAO,CAGZ;AAGD,IAAM,QAAQ,GAAd,MAAM,QAAQ,CAAA;CAGb;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAa,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AACZ,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAe,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAFlB,QAAQ,GAAA,UAAA,CAAA;IADb;AACK,CAAA,EAAA,QAAQ,CAGb;AAEY,MAAA,MAAM,GAAG;IACpB,IAAI;IACJ,OAAO;IACP,QAAQ;;;;;"}
1
+ {"version":3,"file":"seed.schema.config-BPJfo_5h.js","sources":["../../src/shared/configs/seed.schema.config.ts"],"sourcesContent":["import { Model, Text } from '@/browser'\n\n@Model\nclass Seed {\n @Text() uid!: string\n @Text() type!: string\n}\n\n@Model\nclass Version {\n @Text() seedUid!: string\n @Text() note!: string\n}\n\n@Model\nclass Metadata {\n @Text() key!: string\n @Text() value!: string\n}\n\nexport const models = {\n Seed,\n Version,\n Metadata,\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,IAAI,GAAV,MAAM,IAAI,CAAA;CAGT;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAa,CAAA,EAAA,IAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AACZ,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAc,CAAA,EAAA,IAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAFjB,IAAI,GAAA,UAAA,CAAA;IADT;AACK,CAAA,EAAA,IAAI,CAGT;AAGD,IAAM,OAAO,GAAb,MAAM,OAAO,CAAA;CAGZ;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAiB,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAc,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAFjB,OAAO,GAAA,UAAA,CAAA;IADZ;AACK,CAAA,EAAA,OAAO,CAGZ;AAGD,IAAM,QAAQ,GAAd,MAAM,QAAQ,CAAA;CAGb;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAa,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AACZ,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAe,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAFlB,QAAQ,GAAA,UAAA,CAAA;IADb;AACK,CAAA,EAAA,QAAQ,CAGb;AAEY,MAAA,MAAM,GAAG;IACpB,IAAI;IACJ,OAAO;IACP,QAAQ;;;;;"}
@@ -0,0 +1,102 @@
1
+ import { EventObject, fromCallback } from 'xstate'
2
+ import { FromCallbackInput } from '@/types/machines'
3
+ import {
4
+ ItemPropertyValueType,
5
+ PropertyMachineContext,
6
+ SaveValueToDbEvent,
7
+ } from '@/types/property'
8
+ import { updateItemPropertyValue } from '@/browser/db/write/updateItemPropertyValue'
9
+
10
+ export const analyzeInput = fromCallback<
11
+ EventObject,
12
+ FromCallbackInput<PropertyMachineContext, SaveValueToDbEvent>
13
+ >(({ sendBack, input: { context, event } }) => {
14
+ const {
15
+ localId,
16
+ propertyName: propertyNameRaw,
17
+ seedLocalId,
18
+ versionLocalId,
19
+ versionUid,
20
+ propertyValue: existingValue,
21
+ propertyRecordSchema,
22
+ itemModelName,
23
+ schemaUid,
24
+ } = context
25
+
26
+ let newValue: ItemPropertyValueType
27
+
28
+ if (event) {
29
+ newValue = event.newValue
30
+ }
31
+
32
+ if (existingValue === newValue) {
33
+ sendBack({ type: 'saveValueToDbSuccess' })
34
+ return
35
+ }
36
+
37
+ if (!propertyRecordSchema) {
38
+ throw new Error('Missing propertyRecordSchema')
39
+ }
40
+
41
+ const _analyzeInput = async (): Promise<boolean> => {
42
+ let propertyName = propertyNameRaw
43
+
44
+ if (
45
+ propertyRecordSchema.refValueType &&
46
+ propertyRecordSchema.refValueType !== 'ImageSrc' &&
47
+ propertyRecordSchema.dataType === 'Relation'
48
+ ) {
49
+ sendBack({
50
+ type: 'saveRelation',
51
+ newValue,
52
+ })
53
+ return false
54
+ }
55
+
56
+ if (
57
+ propertyRecordSchema.refValueType === 'ImageSrc' ||
58
+ propertyRecordSchema.dataType === 'ImageSrc'
59
+ ) {
60
+ sendBack({
61
+ type: 'saveImageSrc',
62
+ newValue,
63
+ })
64
+ return false
65
+ }
66
+
67
+ if (
68
+ propertyRecordSchema.storageType &&
69
+ propertyRecordSchema.storageType === 'ItemStorage'
70
+ ) {
71
+ sendBack({
72
+ type: 'saveItemStorage',
73
+ newValue,
74
+ })
75
+ return false
76
+ }
77
+
78
+ await updateItemPropertyValue({
79
+ localId: localId,
80
+ propertyName,
81
+ newValue,
82
+ seedLocalId,
83
+ versionLocalId,
84
+ versionUid,
85
+ modelName: itemModelName,
86
+ schemaUid,
87
+ })
88
+
89
+ sendBack({
90
+ type: 'updateContext',
91
+ propertyValue: newValue,
92
+ })
93
+
94
+ return true
95
+ }
96
+
97
+ _analyzeInput().then((isDone) => {
98
+ if (isDone) {
99
+ sendBack({ type: 'saveValueToDbSuccess' })
100
+ }
101
+ })
102
+ })
package/dist/src/db.ts CHANGED
@@ -135,31 +135,13 @@ export const createOrUpdate = async <T>(
135
135
  .update(table)
136
136
  .set(safeValues)
137
137
  .where(and(...valueFilters))
138
- console.log('updatedRecord:', {
139
- ...existingRecords[0],
140
- ...safeValues,
141
- })
142
138
 
143
139
  const doneWithUpdate = Date.now()
144
140
 
145
- console.log(
146
- '[helpers/db] [createOrUpdate] filters duration:',
147
- doneWithFilters - startTime,
148
- )
149
- console.log(
150
- '[helpers/db] [createOrUpdate] existingRecords duration:',
151
- doneWithExistingRecords - doneWithFilters,
152
- )
153
- console.log(
154
- '[helpers/db] [createOrUpdate] update duration:',
155
- doneWithUpdate - doneWithExistingRecords,
156
- )
157
-
158
141
  return existingRecords[0] as T
159
142
  } else {
160
143
  // If no record exists, create a new one
161
144
  const newRecord = await db.insert(table).values(safeValues).returning()
162
- console.log('newRecord:', newRecord)
163
145
  return newRecord[0] as T
164
146
  }
165
147
  }
@@ -168,10 +150,6 @@ export const addModelsToInternalDb = async (
168
150
  models: ModelDefinitions,
169
151
  ) => {
170
152
  for (const [modelName, modelClass] of Object.entries(models)) {
171
- console.log(
172
- '[helpers/db] [addModelsToInternalDb] starting modelName:',
173
- modelName,
174
- )
175
153
  const modelRecord = await createOrUpdate<NewModelRecord>(db, modelsTable, {
176
154
  name: modelName,
177
155
  })
@@ -203,14 +181,7 @@ export const addModelsToInternalDb = async (
203
181
  properties,
204
182
  propertyValues,
205
183
  )
206
-
207
- console.log('propertyRecord:', propertyRecord)
208
184
  }
209
-
210
- console.log(
211
- '[helpers/db] [addModelsToInternalDb] done modelName:',
212
- modelName,
213
- )
214
185
  }
215
186
  }
216
187
  export const getAddressesFromDb = async (): Promise<string[]> => {
@@ -60,14 +60,10 @@ const generateDrizzleSchemaCode = (
60
60
  export const createDrizzleSchemaFilesFromConfig = async () => {
61
61
  const schemaFilePath = path.join(dotSeedDir, 'schema.ts') // Developer created file with model definitions
62
62
 
63
- console.log('schemaFilePath:', schemaFilePath)
64
-
65
63
  const { models } = await getTsImport<{
66
64
  models: Record<string, ModelClassType>
67
65
  }>(schemaFilePath)
68
66
 
69
- console.log('models:', models)
70
-
71
67
  for (const [modelName, modelClass] of Object.entries(models)) {
72
68
  const code = generateDrizzleSchemaCode(modelName, modelClass)
73
69
 
@@ -0,0 +1,27 @@
1
+ import { easClient, queryClient } from '@/browser/helpers'
2
+ import { GET_SCHEMAS } from '@/browser'
3
+
4
+ export const getSchemaUidForModel = async (
5
+ modelName: string,
6
+ ): Promise<string> => {
7
+ const modeType = modelName.toLowerCase()
8
+
9
+ const modelSchemaQuery = await queryClient.fetchQuery({
10
+ queryKey: [`getPropertySchema${modelName}`],
11
+ queryFn: async () =>
12
+ easClient.request(GET_SCHEMAS, {
13
+ where: {
14
+ schemaNames: {
15
+ some: {
16
+ name: {
17
+ equals: modeType,
18
+ },
19
+ },
20
+ },
21
+ },
22
+ }),
23
+ })
24
+
25
+ const foundSchema = modelSchemaQuery.schemas[0]
26
+ return foundSchema.id
27
+ }