@seedprotocol/sdk 0.1.117 → 0.1.118
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/{index-Dd6tPdUt.js → index-BPIesZ_6.js} +27 -8
- package/dist/index-BPIesZ_6.js.map +1 -0
- package/dist/{index-Dwb6l5UL.js → index-B_TEG7RD.js} +3 -2
- package/dist/index-B_TEG7RD.js.map +1 -0
- package/dist/main.js +2 -1
- package/dist/main.js.map +1 -1
- package/dist/{seed.schema.config-CPGWVSWI.js → seed.schema.config-BB6-tbUU.js} +3 -2
- package/dist/seed.schema.config-BB6-tbUU.js.map +1 -0
- package/dist/src/files.ts +43 -0
- package/dist/src/index.ts +21 -4
- package/dist/src/migrate.ts +36 -7
- package/dist/src/seed.ts +4 -31
- package/dist/types/src/browser/services/db/actors/migrate.d.ts.map +1 -1
- package/dist/types/src/shared/helpers/files.d.ts +8 -0
- package/dist/types/src/shared/helpers/files.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/index-Dd6tPdUt.js.map +0 -1
- package/dist/index-Dwb6l5UL.js.map +0 -1
- package/dist/seed.schema.config-CPGWVSWI.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { g as GET_ALL_PROPERTIES_FOR_ALL_VERSIONS, f as GET_PROPERTIES, G as GET_SCHEMAS, a as GET_SCHEMA_BY_NAME, b as GET_SEEDS, c as GET_SEED_IDS, d as GET_STORAGE_TRANSACTION_ID, e as GET_VERSIONS, I as Item, h as itemMachineAll, i as itemMachineSingle } from './index-
|
|
1
|
+
export { g as GET_ALL_PROPERTIES_FOR_ALL_VERSIONS, f as GET_PROPERTIES, G as GET_SCHEMAS, a as GET_SCHEMA_BY_NAME, b as GET_SEEDS, c as GET_SEED_IDS, d as GET_STORAGE_TRANSACTION_ID, e as GET_VERSIONS, I as Item, h as itemMachineAll, i as itemMachineSingle } from './index-BPIesZ_6.js';
|
|
2
2
|
import 'tslib';
|
|
3
3
|
import 'path';
|
|
4
4
|
import 'reflect-metadata';
|
|
@@ -28,8 +28,9 @@ import 'drizzle-orm/sqlite-proxy';
|
|
|
28
28
|
import 'drizzle-orm/sqlite-proxy/migrator';
|
|
29
29
|
import 'drizzle-orm/migrator';
|
|
30
30
|
import '@zenfs/dom';
|
|
31
|
+
import 'node:fs';
|
|
31
32
|
import 'arweave';
|
|
32
33
|
import './constants-B6s6tGup.js';
|
|
33
34
|
import '@ethereum-attestation-service/eas-sdk';
|
|
34
35
|
import 'thirdweb';
|
|
35
|
-
//# sourceMappingURL=index-
|
|
36
|
+
//# sourceMappingURL=index-B_TEG7RD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-B_TEG7RD.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/main.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { j as ImageSrc, I as Item, k as ItemProperty, J as Json, L as List, M as Model, P as Property, R as Relation, T as Text, t as client, v as getCorrectId, s as getGlobalService, n as useCreateItem, p as useDeleteItem, q as useGlobalServiceStatus, l as useItem, m as useItemProperties, o as useItemProperty, u as useItems, r as useServices, w as withSeed } from './index-
|
|
1
|
+
export { j as ImageSrc, I as Item, k as ItemProperty, J as Json, L as List, M as Model, P as Property, R as Relation, T as Text, t as client, v as getCorrectId, s as getGlobalService, n as useCreateItem, p as useDeleteItem, q as useGlobalServiceStatus, l as useItem, m as useItemProperties, o as useItemProperty, u as useItems, r as useServices, w as withSeed } from './index-BPIesZ_6.js';
|
|
2
2
|
import 'immer';
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import 'tslib';
|
|
@@ -29,6 +29,7 @@ import 'drizzle-orm/sqlite-proxy';
|
|
|
29
29
|
import 'drizzle-orm/sqlite-proxy/migrator';
|
|
30
30
|
import 'drizzle-orm/migrator';
|
|
31
31
|
import '@zenfs/dom';
|
|
32
|
+
import 'node:fs';
|
|
32
33
|
import './constants-B6s6tGup.js';
|
|
33
34
|
import '@ethereum-attestation-service/eas-sdk';
|
|
34
35
|
import 'thirdweb';
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate, __metadata } from 'tslib';
|
|
2
2
|
import 'drizzle-orm';
|
|
3
|
-
import { T as Text, M as Model } from './index-
|
|
3
|
+
import { T as Text, M as Model } from './index-BPIesZ_6.js';
|
|
4
4
|
import 'react';
|
|
5
5
|
import 'reflect-metadata';
|
|
6
6
|
import 'xstate';
|
|
@@ -29,6 +29,7 @@ import 'rxjs';
|
|
|
29
29
|
import 'drizzle-orm/sqlite-proxy';
|
|
30
30
|
import 'drizzle-orm/sqlite-proxy/migrator';
|
|
31
31
|
import 'drizzle-orm/migrator';
|
|
32
|
+
import 'node:fs';
|
|
32
33
|
import './constants-B6s6tGup.js';
|
|
33
34
|
import '@ethereum-attestation-service/eas-sdk';
|
|
34
35
|
import 'thirdweb';
|
|
@@ -79,4 +80,4 @@ const models = {
|
|
|
79
80
|
};
|
|
80
81
|
|
|
81
82
|
export { models };
|
|
82
|
-
//# sourceMappingURL=seed.schema.config-
|
|
83
|
+
//# sourceMappingURL=seed.schema.config-BB6-tbUU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seed.schema.config-BB6-tbUU.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;;;;;"}
|
package/dist/src/files.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { fs } from '@zenfs/core'
|
|
2
|
+
import retry from 'async-es/retry'
|
|
3
|
+
|
|
1
4
|
export const listFilesInOPFSRoot = async () => {
|
|
2
5
|
// Get the root directory handle
|
|
3
6
|
const rootDirHandle = await navigator.storage.getDirectory()
|
|
@@ -14,3 +17,43 @@ export const listFilesInOPFSRoot = async () => {
|
|
|
14
17
|
|
|
15
18
|
return fileNames
|
|
16
19
|
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Waits for a file to exist at the specified path.
|
|
23
|
+
* @param {string} filePath - The path of the file to check.
|
|
24
|
+
* @param {number} interval - The interval in milliseconds between checks (default: 500ms).
|
|
25
|
+
* @param {number} timeout - The maximum time in milliseconds to wait (default: 10000ms).
|
|
26
|
+
* @returns {Promise<boolean>} - Resolves to true if the file exists within the timeout period, otherwise false.
|
|
27
|
+
*/
|
|
28
|
+
export const waitForFile = (
|
|
29
|
+
filePath: string,
|
|
30
|
+
interval = 500,
|
|
31
|
+
timeout = 10000,
|
|
32
|
+
) => {
|
|
33
|
+
return new Promise((resolve, reject) => {
|
|
34
|
+
const startTime = Date.now()
|
|
35
|
+
|
|
36
|
+
retry(
|
|
37
|
+
{
|
|
38
|
+
times: Math.ceil(timeout / interval),
|
|
39
|
+
interval: interval,
|
|
40
|
+
errorFilter: () => !fs.existsSync(filePath), // Retry only if file does not exist
|
|
41
|
+
},
|
|
42
|
+
(callback) => {
|
|
43
|
+
if (fs.existsSync(filePath)) {
|
|
44
|
+
return callback(null, true) // File exists, finish with success
|
|
45
|
+
}
|
|
46
|
+
if (Date.now() - startTime >= timeout) {
|
|
47
|
+
return callback(new Error('Timeout exceeded while waiting for file'))
|
|
48
|
+
}
|
|
49
|
+
callback(new Error('File does not exist yet')) // Retry with this error
|
|
50
|
+
},
|
|
51
|
+
(err, result) => {
|
|
52
|
+
if (err) {
|
|
53
|
+
return resolve(false) // Resolve as false if timeout or error occurs
|
|
54
|
+
}
|
|
55
|
+
resolve(result) // Resolve as true if file exists
|
|
56
|
+
},
|
|
57
|
+
)
|
|
58
|
+
})
|
|
59
|
+
}
|
package/dist/src/index.ts
CHANGED
|
@@ -1,4 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { setup } from 'xstate'
|
|
2
|
+
import {
|
|
3
|
+
uploadBinaryData,
|
|
4
|
+
uploadMetadata,
|
|
5
|
+
} from '@/browser/schema/file/upload/actors'
|
|
6
|
+
|
|
7
|
+
export const uploadMachine = setup({
|
|
8
|
+
actors: {
|
|
9
|
+
uploadBinaryData,
|
|
10
|
+
uploadMetadata,
|
|
11
|
+
},
|
|
12
|
+
}).createMachine({
|
|
13
|
+
id: 'upload',
|
|
14
|
+
initial: 'idle',
|
|
15
|
+
context: {
|
|
16
|
+
file: '',
|
|
17
|
+
},
|
|
18
|
+
states: {
|
|
19
|
+
idle: {},
|
|
20
|
+
},
|
|
21
|
+
})
|
package/dist/src/migrate.ts
CHANGED
|
@@ -7,10 +7,12 @@ import {
|
|
|
7
7
|
import { getSqliteWasmClient, setAppDb } from '@/browser/db/sqlWasmClient'
|
|
8
8
|
import { drizzle } from 'drizzle-orm/sqlite-proxy'
|
|
9
9
|
import { sql } from 'drizzle-orm'
|
|
10
|
-
import { fs } from '@zenfs/core'
|
|
10
|
+
import { configureSingle, fs } from '@zenfs/core'
|
|
11
11
|
import debug from 'debug'
|
|
12
12
|
import { migrate as drizzleMigrate } from 'drizzle-orm/sqlite-proxy/migrator'
|
|
13
13
|
import { readMigrationFiles } from 'drizzle-orm/migrator'
|
|
14
|
+
import { WebAccess } from '@zenfs/dom'
|
|
15
|
+
import * as fsNode from 'node:fs'
|
|
14
16
|
|
|
15
17
|
const logger = debug('app:services:db:actors:migrate')
|
|
16
18
|
|
|
@@ -81,6 +83,7 @@ export const dbExec = async (dbId, params, sql, dbName, retries = 2) => {
|
|
|
81
83
|
|
|
82
84
|
return rowsToReturn || []
|
|
83
85
|
}
|
|
86
|
+
|
|
84
87
|
export const migrate = fromCallback<
|
|
85
88
|
EventObject,
|
|
86
89
|
FromCallbackInput<DbServiceContext>
|
|
@@ -105,12 +108,30 @@ export const migrate = fromCallback<
|
|
|
105
108
|
// _initFs()
|
|
106
109
|
|
|
107
110
|
const _checkForFiles = async (): Promise<void> => {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
)
|
|
111
|
+
const journalPath = `/${pathToDbDir}/meta/_journal.json`
|
|
112
|
+
|
|
113
|
+
journalExists = await fs.promises.exists(journalPath)
|
|
114
|
+
|
|
115
|
+
const journalExistsAsync = journalExists
|
|
116
|
+
|
|
117
|
+
const journalExistsSync = fs.existsSync(journalPath)
|
|
118
|
+
|
|
119
|
+
const journalExistsSyncNode = fsNode.existsSync(journalPath)
|
|
120
|
+
|
|
121
|
+
console.log('journalExistsAsync', journalExistsAsync)
|
|
122
|
+
console.log('journalExistsSync', journalExistsSync)
|
|
123
|
+
console.log('journalExistsSyncNode', journalExistsSyncNode)
|
|
111
124
|
|
|
112
125
|
if (!journalExists) {
|
|
113
|
-
|
|
126
|
+
const handle = await navigator.storage.getDirectory()
|
|
127
|
+
|
|
128
|
+
await configureSingle({
|
|
129
|
+
backend: WebAccess,
|
|
130
|
+
handle,
|
|
131
|
+
})
|
|
132
|
+
|
|
133
|
+
// window.location.reload()
|
|
134
|
+
|
|
114
135
|
// setTimeout(() => {
|
|
115
136
|
// _checkForFiles().then(() => {
|
|
116
137
|
// return
|
|
@@ -206,8 +227,16 @@ export const migrate = fromCallback<
|
|
|
206
227
|
},
|
|
207
228
|
)
|
|
208
229
|
} catch (error) {
|
|
209
|
-
console.error('Error migrating database: ', error)
|
|
210
|
-
window.location.reload()
|
|
230
|
+
// console.error('Error migrating database: ', error)
|
|
231
|
+
// window.location.reload()
|
|
232
|
+
const handle = await navigator.storage.getDirectory()
|
|
233
|
+
|
|
234
|
+
await configureSingle({
|
|
235
|
+
backend: WebAccess,
|
|
236
|
+
handle,
|
|
237
|
+
})
|
|
238
|
+
|
|
239
|
+
return _migrate()
|
|
211
240
|
}
|
|
212
241
|
|
|
213
242
|
setAppDb(drizzleDb)
|
package/dist/src/seed.ts
CHANGED
|
@@ -1,37 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { Subject } from 'rxjs'
|
|
1
|
+
import { SeedConstructorOptions } from '@/types/types'
|
|
2
|
+
import { SeedBase } from '@/shared/seed'
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
abstract class SeedBase {
|
|
8
|
-
private readonly _env: Environment = 'browser'
|
|
9
|
-
protected _subject: Subject<void> = new Subject<void>()
|
|
10
|
-
|
|
11
|
-
constructor(props: { endpoints: Endpoints }) {
|
|
12
|
-
console.log('Seed constructor called')
|
|
13
|
-
if (isNode()) {
|
|
14
|
-
this._env = 'node'
|
|
15
|
-
}
|
|
16
|
-
if (isBrowser()) {
|
|
17
|
-
this._env = 'browser'
|
|
18
|
-
}
|
|
19
|
-
if (isReactNative()) {
|
|
20
|
-
this._env = 'react-native'
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
async initialize() {}
|
|
25
|
-
|
|
26
|
-
subscribe(callback: (event: any) => void) {
|
|
27
|
-
return this._subject.subscribe(callback)
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
class SeedSync extends SeedBase {
|
|
4
|
+
class SeedNode extends SeedBase {
|
|
32
5
|
constructor(props: SeedConstructorOptions) {
|
|
33
6
|
super(props)
|
|
34
7
|
}
|
|
35
8
|
}
|
|
36
9
|
|
|
37
|
-
export {
|
|
10
|
+
export { SeedNode }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../../../../../src/browser/services/db/actors/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAoB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../../../../../src/browser/services/db/actors/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAoB,MAAM,SAAS,CAAA;AAiB/E,eAAO,MAAM,MAAM,kFAkElB,CAAA;AAED,eAAO,MAAM,OAAO,oGAiOlB,CAAA"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
1
|
export declare const listFilesInOPFSRoot: () => Promise<any[]>;
|
|
2
|
+
/**
|
|
3
|
+
* Waits for a file to exist at the specified path.
|
|
4
|
+
* @param {string} filePath - The path of the file to check.
|
|
5
|
+
* @param {number} interval - The interval in milliseconds between checks (default: 500ms).
|
|
6
|
+
* @param {number} timeout - The maximum time in milliseconds to wait (default: 10000ms).
|
|
7
|
+
* @returns {Promise<boolean>} - Resolves to true if the file exists within the timeout period, otherwise false.
|
|
8
|
+
*/
|
|
9
|
+
export declare const waitForFile: (filePath: string, interval?: number, timeout?: number) => Promise<unknown>;
|
|
2
10
|
//# sourceMappingURL=files.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../../../src/shared/helpers/files.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../../../src/shared/helpers/files.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,sBAe/B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,aACZ,MAAM,0DA8BjB,CAAA"}
|