@seedprotocol/sdk 0.2.50 → 0.2.52
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-Dcqcpsq4.js → ArweaveClient-D5iJisYr.js} +2 -2
- package/dist/{ArweaveClient-Dcqcpsq4.js.map → ArweaveClient-D5iJisYr.js.map} +1 -1
- package/dist/{ArweaveClient-Dh7LRIqD.js → ArweaveClient-HEIIuOfB.js} +2 -2
- package/dist/{ArweaveClient-Dh7LRIqD.js.map → ArweaveClient-HEIIuOfB.js.map} +1 -1
- package/dist/{Db-jJH2s0gO.js → Db-D-BsZYlN.js} +3 -3
- package/dist/{Db-jJH2s0gO.js.map → Db-D-BsZYlN.js.map} +1 -1
- package/dist/{Db-BwkMqaQe.js → Db-Dpsbk_T7.js} +3 -3
- package/dist/{Db-BwkMqaQe.js.map → Db-Dpsbk_T7.js.map} +1 -1
- package/dist/{EasClient-A1xC7Gm-.js → EasClient-D3wKgt0o.js} +2 -2
- package/dist/{EasClient-m2mXad59.js.map → EasClient-D3wKgt0o.js.map} +1 -1
- package/dist/{EasClient-m2mXad59.js → EasClient-jqkT2ZBt.js} +2 -2
- package/dist/{EasClient-A1xC7Gm-.js.map → EasClient-jqkT2ZBt.js.map} +1 -1
- package/dist/{FileManager-Dv2zn1RW.js → FileManager-4mWYO3Mt.js} +3 -5
- package/dist/FileManager-4mWYO3Mt.js.map +1 -0
- package/dist/{Item-DI3FxVPV.js → Item-CqWdJsyg.js} +3 -3
- package/dist/{Item-DI3FxVPV.js.map → Item-CqWdJsyg.js.map} +1 -1
- package/dist/{ItemProperty-CxNUwVnR.js → ItemProperty-BpBW3IWx.js} +3 -3
- package/dist/{ItemProperty-CxNUwVnR.js.map → ItemProperty-BpBW3IWx.js.map} +1 -1
- package/dist/{QueryClient-C-hFMF2j.js → QueryClient-CBOP3OoU.js} +2 -2
- package/dist/{QueryClient-C-hFMF2j.js.map → QueryClient-CBOP3OoU.js.map} +1 -1
- package/dist/{QueryClient-C02sPZ-K.js → QueryClient-bKb3SB0W.js} +2 -2
- package/dist/{QueryClient-C02sPZ-K.js.map → QueryClient-bKb3SB0W.js.map} +1 -1
- package/dist/bin.js +5 -5
- package/dist/{constants-C03RQQht.js → constants-CIDbABDz.js} +5 -2
- package/dist/constants-CIDbABDz.js.map +1 -0
- package/dist/{index-CKrLHw3B.js → index-BRxO1tLl.js} +300 -149
- package/dist/index-BRxO1tLl.js.map +1 -0
- package/dist/{index-Dv8GeuSw.js → index-d8Qsot6w.js} +3 -3
- package/dist/index-d8Qsot6w.js.map +1 -0
- package/dist/main.js +2 -2
- package/dist/package.json +189 -0
- package/dist/{seed.schema.config-1s-iWHq_.js → seed.schema.config-CPRn6KVL.js} +3 -3
- package/dist/{seed.schema.config-1s-iWHq_.js.map → seed.schema.config-CPRn6KVL.js.map} +1 -1
- package/dist/types/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts.map +1 -1
- package/dist/types/src/browser/helpers/FileManager.d.ts +1 -0
- package/dist/types/src/browser/helpers/FileManager.d.ts.map +1 -1
- package/dist/types/src/client/BaseClientManager.d.ts +7 -0
- package/dist/types/src/client/BaseClientManager.d.ts.map +1 -0
- package/dist/types/src/client/actions/setAddresses.d.ts +2 -0
- package/dist/types/src/client/actions/setAddresses.d.ts.map +1 -0
- package/dist/types/src/client/actors/initialize.d.ts +4 -0
- package/dist/types/src/client/actors/initialize.d.ts.map +1 -0
- package/dist/types/src/client/actors/saveAppState.d.ts +5 -0
- package/dist/types/src/client/actors/saveAppState.d.ts.map +1 -0
- package/dist/types/src/client/clientManagerMachine.d.ts +19 -0
- package/dist/types/src/client/clientManagerMachine.d.ts.map +1 -0
- package/dist/types/src/client/index.d.ts +41 -0
- package/dist/types/src/client/index.d.ts.map +1 -0
- package/dist/types/src/client.d.ts.map +1 -1
- package/dist/types/src/helpers/FileManager/BaseFileManager.d.ts +1 -0
- package/dist/types/src/helpers/FileManager/BaseFileManager.d.ts.map +1 -1
- package/dist/types/src/node/helpers/FileManager.d.ts.map +1 -1
- package/dist/types/src/services/internal/actors/validateInput.d.ts.map +1 -1
- package/dist/types/src/types/machines.d.ts +5 -0
- package/dist/types/src/types/machines.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/FileManager-Dv2zn1RW.js.map +0 -1
- package/dist/constants-C03RQQht.js.map +0 -1
- package/dist/index-CKrLHw3B.js.map +0 -1
- package/dist/index-Dv8GeuSw.js.map +0 -1
- package/dist/src/AppStateSchema.ts +0 -10
- package/dist/src/ArweaveClient.ts +0 -13
- package/dist/src/Attestation.ts +0 -21
- package/dist/src/BaseArweaveClient.ts +0 -13
- package/dist/src/BaseDb.ts +0 -35
- package/dist/src/BaseEasClient.ts +0 -13
- package/dist/src/BaseFileManager.ts +0 -52
- package/dist/src/BaseItem.ts +0 -413
- package/dist/src/BaseItemProperty.ts +0 -416
- package/dist/src/BaseQueryClient.ts +0 -13
- package/dist/src/ConfigSchema.ts +0 -15
- package/dist/src/Db.ts +0 -78
- package/dist/src/EasClient.ts +0 -13
- package/dist/src/FileDownloader.ts +0 -63
- package/dist/src/FileManager.ts +0 -57
- package/dist/src/IDb.ts +0 -7
- package/dist/src/IEasClient.ts +0 -2
- package/dist/src/IItem.ts +0 -26
- package/dist/src/IItemProperty.ts +0 -28
- package/dist/src/IQueryClient.ts +0 -4
- package/dist/src/ImageResizer.ts +0 -81
- package/dist/src/Item.ts +0 -12
- package/dist/src/ItemProperty.ts +0 -9
- package/dist/src/MetadataSchema.ts +0 -28
- package/dist/src/ModelSchema.ts +0 -46
- package/dist/src/ModelUidSchema.ts +0 -16
- package/dist/src/PropertyUidSchema.ts +0 -16
- package/dist/src/QueryClient.ts +0 -22
- package/dist/src/Schema.ts +0 -17
- package/dist/src/SeedProtocolSdk.d.ts +0 -19
- package/dist/src/SeedSchema.ts +0 -29
- package/dist/src/VersionSchema.ts +0 -16
- package/dist/src/actors.ts +0 -295
- package/dist/src/addModelsToDb.ts +0 -152
- package/dist/src/allItems.ts +0 -31
- package/dist/src/analyzeInput.ts +0 -144
- package/dist/src/browser.app.db.config.ts +0 -27
- package/dist/src/browser.ts +0 -30
- package/dist/src/checkStatus.ts +0 -50
- package/dist/src/client.ts +0 -148
- package/dist/src/configureFs.ts +0 -94
- package/dist/src/connectToDb.ts +0 -41
- package/dist/src/connectionManager.ts +0 -67
- package/dist/src/constants.ts +0 -125
- package/dist/src/content-hash.ts +0 -30
- package/dist/src/create.ts +0 -39
- package/dist/src/createMetadata.ts +0 -77
- package/dist/src/createNewItem.ts +0 -61
- package/dist/src/createPublishAttempt.ts +0 -16
- package/dist/src/createSeed.ts +0 -31
- package/dist/src/createSeeds.ts +0 -24
- package/dist/src/createVersion.ts +0 -33
- package/dist/src/dbMachine.ts +0 -182
- package/dist/src/deleteItem.ts +0 -19
- package/dist/src/download.ts +0 -202
- package/dist/src/drizzle.ts +0 -78
- package/dist/src/eas.ts +0 -40
- package/dist/src/environment.ts +0 -35
- package/dist/src/eventBus.ts +0 -5
- package/dist/src/events.ts +0 -14
- package/dist/src/fetchDataFromEas.ts +0 -94
- package/dist/src/fetchDbData.ts +0 -19
- package/dist/src/fetchRelatedItems.ts +0 -184
- package/dist/src/fetchSeeds.ts +0 -52
- package/dist/src/fetchVersions.ts +0 -49
- package/dist/src/files.ts +0 -81
- package/dist/src/filesDownload.ts +0 -326
- package/dist/src/fragment-masking.ts +0 -87
- package/dist/src/getExistingItem.ts +0 -60
- package/dist/src/getItem.ts +0 -32
- package/dist/src/getItemData.ts +0 -99
- package/dist/src/getItemProperties.ts +0 -56
- package/dist/src/getItemProperty.ts +0 -34
- package/dist/src/getItems.ts +0 -70
- package/dist/src/getMetadata.ts +0 -40
- package/dist/src/getModelSchemas.ts +0 -89
- package/dist/src/getPropertyData.ts +0 -50
- package/dist/src/getPublishPayload.ts +0 -355
- package/dist/src/getPublishUploads.ts +0 -207
- package/dist/src/getRelationValueData.ts +0 -27
- package/dist/src/getSchemaForItemProperty.ts +0 -68
- package/dist/src/getSchemaForModel.ts +0 -42
- package/dist/src/getSchemaUidForModel.ts +0 -32
- package/dist/src/getSeedData.ts +0 -34
- package/dist/src/getSegmentedItemProperties.ts +0 -65
- package/dist/src/getStorageTransactionIdForSeedUid.ts +0 -38
- package/dist/src/getVersionData.ts +0 -46
- package/dist/src/getVersionsForVersionUids.ts +0 -39
- package/dist/src/globalMachine.ts +0 -280
- package/dist/src/gql.ts +0 -118
- package/dist/src/graphql.ts +0 -3209
- package/dist/src/helpers.ts +0 -273
- package/dist/src/hydrateExistingItem.ts +0 -137
- package/dist/src/hydrateFromDb.ts +0 -270
- package/dist/src/hydrateNewItem.ts +0 -34
- package/dist/src/imageResize.ts +0 -507
- package/dist/src/index.d.ts +0 -5
- package/dist/src/index.ts +0 -4
- package/dist/src/initialize.ts +0 -124
- package/dist/src/internalMachine.ts +0 -238
- package/dist/src/itemMachineAll.ts +0 -157
- package/dist/src/itemMachineSingle.ts +0 -158
- package/dist/src/loadAppDb.ts +0 -47
- package/dist/src/machines.ts +0 -60
- package/dist/src/metadataLatest.ts +0 -34
- package/dist/src/migrate.ts +0 -53
- package/dist/src/model.ts +0 -72
- package/dist/src/modelClass.ts +0 -19
- package/dist/src/node.app.db.config.ts +0 -41
- package/dist/src/prepareDb.ts +0 -29
- package/dist/src/preparePublishRequestData.ts +0 -81
- package/dist/src/processItems.ts +0 -74
- package/dist/src/property.ts +0 -156
- package/dist/src/propertyMachine.ts +0 -202
- package/dist/src/publish.ts +0 -28
- package/dist/src/publishMachine.ts +0 -77
- package/dist/src/queries.ts +0 -13
- package/dist/src/recoverDeletedItem.ts +0 -14
- package/dist/src/reload.ts +0 -33
- package/dist/src/request.ts +0 -45
- package/dist/src/requestAll.ts +0 -157
- package/dist/src/resolveRelatedValue.ts +0 -367
- package/dist/src/resolveRemoteStorage.ts +0 -88
- package/dist/src/saveAppState.ts +0 -19
- package/dist/src/saveConfig.ts +0 -88
- package/dist/src/saveDataToDb.ts +0 -145
- package/dist/src/saveImageSrc.ts +0 -242
- package/dist/src/saveItemStorage.ts +0 -155
- package/dist/src/saveMetadata.ts +0 -18
- package/dist/src/savePublishService.ts +0 -30
- package/dist/src/saveRelation.ts +0 -112
- package/dist/src/seed.schema.config.ts +0 -25
- package/dist/src/seed.ts +0 -10
- package/dist/src/seedProtocol.ts +0 -17
- package/dist/src/services.ts +0 -365
- package/dist/src/sqlWasmClient.ts +0 -88
- package/dist/src/syncDbWithEas.ts +0 -628
- package/dist/src/trash.ts +0 -29
- package/dist/src/ts-to-proto.ts +0 -101
- package/dist/src/types.ts +0 -12
- package/dist/src/updateItemPropertyValue.ts +0 -243
- package/dist/src/updateMachineContext.ts +0 -21
- package/dist/src/updateMetadata.ts +0 -59
- package/dist/src/upload.ts +0 -86
- package/dist/src/validate.ts +0 -45
- package/dist/src/validateInput.ts +0 -47
- package/dist/src/validateItemData.ts +0 -20
- package/dist/src/versionData.ts +0 -24
- package/dist/src/waitForDb.ts +0 -25
- package/dist/src/waitForFiles.ts +0 -34
- package/dist/src/wasm.d.ts +0 -8300
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ActorRefFrom, Subscription } from 'xstate';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { Static } from '@sinclair/typebox';
|
|
4
|
-
import { TProperty } from '@/schema';
|
|
5
|
-
import { CreatePropertyInstanceProps } from '@/types';
|
|
6
|
-
|
|
7
|
-
export interface IItemProperty<PropertyType> {
|
|
8
|
-
|
|
9
|
-
readonly localId: string;
|
|
10
|
-
readonly uid: string;
|
|
11
|
-
readonly seedLocalId: string;
|
|
12
|
-
readonly seedUid: string;
|
|
13
|
-
readonly schemaUid: string;
|
|
14
|
-
readonly propertyName: string;
|
|
15
|
-
readonly modelName: string;
|
|
16
|
-
readonly propertyDef: Static<typeof TProperty> | undefined;
|
|
17
|
-
readonly localStoragePath: string | void;
|
|
18
|
-
readonly versionLocalId: string | undefined;
|
|
19
|
-
readonly status: any;
|
|
20
|
-
readonly alias: string | undefined;
|
|
21
|
-
value: any;
|
|
22
|
-
readonly published: boolean;
|
|
23
|
-
|
|
24
|
-
subscribe(callback: Partial<BehaviorSubject<any>>): Subscription;
|
|
25
|
-
save(): Promise<void>;
|
|
26
|
-
unload(): void;
|
|
27
|
-
getService(): ActorRefFrom<any>;
|
|
28
|
-
}
|
package/dist/src/IQueryClient.ts
DELETED
package/dist/src/ImageResizer.ts
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import fs from '@zenfs/core';
|
|
2
|
-
import imageResize from './imageResize'
|
|
3
|
-
import { FileManager } from '@/browser/helpers/FileManager';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export class ImageResizer {
|
|
8
|
-
private cores: number
|
|
9
|
-
private workersArchive: Map<string, Worker> = new Map()
|
|
10
|
-
private workerBlobUrl: string
|
|
11
|
-
|
|
12
|
-
constructor() {
|
|
13
|
-
this.cores = Math.min(navigator.hardwareConcurrency || 4, 4);
|
|
14
|
-
|
|
15
|
-
this.workerBlobUrl = globalThis.URL.createObjectURL(
|
|
16
|
-
new Blob([imageResize], { type: 'application/javascript' })
|
|
17
|
-
)
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
public async resize({filePath, width, height}: ResizeImageParams) {
|
|
21
|
-
|
|
22
|
-
if (this.workersArchive.has(filePath)) {
|
|
23
|
-
const savedWorker = this.workersArchive.get(filePath)
|
|
24
|
-
savedWorker?.terminate()
|
|
25
|
-
console.log('[ImageResizer.resize] Terminated worker for filePath due to incoming request', filePath)
|
|
26
|
-
this.workersArchive.delete(filePath)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const worker = new Worker(this.workerBlobUrl);
|
|
30
|
-
|
|
31
|
-
this.workersArchive.set(filePath, worker)
|
|
32
|
-
|
|
33
|
-
return new Promise((resolve, reject) => {
|
|
34
|
-
worker.onmessage = (e) => {
|
|
35
|
-
console.log('[ImageResizer.resize] main thread onmessage', e.data);
|
|
36
|
-
if (e.data.done) {
|
|
37
|
-
const savedWorker = this.workersArchive.get(filePath)
|
|
38
|
-
savedWorker?.terminate()
|
|
39
|
-
console.log('[ImageResizer.resize] Terminated worker for filePath due to done', filePath)
|
|
40
|
-
this.workersArchive.delete(filePath)
|
|
41
|
-
resolve(e.data)
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
if (e.data.error) {
|
|
45
|
-
reject(e.data.error)
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
worker.postMessage({
|
|
50
|
-
filePath,
|
|
51
|
-
width,
|
|
52
|
-
height,
|
|
53
|
-
});
|
|
54
|
-
})
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
public async resizeAll({width, height}: ResizeAllImagesParams) {
|
|
58
|
-
|
|
59
|
-
const imageDir = '/files/images'
|
|
60
|
-
let imageFilesStats = await fs.promises.readdir(imageDir, {
|
|
61
|
-
withFileTypes: true
|
|
62
|
-
})
|
|
63
|
-
|
|
64
|
-
imageFilesStats = imageFilesStats.filter(file => file.isFile())
|
|
65
|
-
|
|
66
|
-
const imageFiles = imageFilesStats.map(file => file.path)
|
|
67
|
-
|
|
68
|
-
const widthDir = `${imageDir}/${width}`
|
|
69
|
-
|
|
70
|
-
await FileManager.createDirIfNotExists(widthDir)
|
|
71
|
-
|
|
72
|
-
for (const imageFile of imageFiles) {
|
|
73
|
-
const resizedImageExists = await fs.promises.exists(`${widthDir}/${imageFile}`)
|
|
74
|
-
if (!resizedImageExists) {
|
|
75
|
-
await this.resize({filePath: `${imageDir}/${imageFile}`, width, height})
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
}
|
package/dist/src/Item.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { IItem } from '@/interfaces';
|
|
2
|
-
import { BaseItem } from '@/Item/BaseItem';
|
|
3
|
-
import { ModelSchema, ModelValues, NewItemProps } from '@/types';
|
|
4
|
-
|
|
5
|
-
export class Item<T extends ModelValues<ModelSchema>> extends BaseItem<T> implements IItem<T> {
|
|
6
|
-
constructor(initialValues: NewItemProps<T>) {
|
|
7
|
-
super(initialValues);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
BaseItem.setPlatformClass(Item)
|
package/dist/src/ItemProperty.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { IItemProperty } from '@/interfaces'
|
|
2
|
-
import { BaseItemProperty } from '@/ItemProperty/BaseItemProperty'
|
|
3
|
-
import { CreatePropertyInstanceProps, ModelSchema, ModelValues, } from '@/types'
|
|
4
|
-
|
|
5
|
-
export class ItemProperty<PropertyType> extends BaseItemProperty<PropertyType> implements IItemProperty<PropertyType> {
|
|
6
|
-
constructor(initialValues: Partial<CreatePropertyInstanceProps>) {
|
|
7
|
-
super(initialValues)
|
|
8
|
-
}
|
|
9
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'
|
|
2
|
-
|
|
3
|
-
export const metadata = sqliteTable('metadata', {
|
|
4
|
-
localId: text('local_id').unique(),
|
|
5
|
-
uid: text('uid'),
|
|
6
|
-
propertyName: text('property_name'),
|
|
7
|
-
propertyValue: text('property_value'),
|
|
8
|
-
schemaUid: text('schema_uid'),
|
|
9
|
-
modelType: text('model_type'),
|
|
10
|
-
seedLocalId: text('seed_local_id'),
|
|
11
|
-
seedUid: text('seed_uid'),
|
|
12
|
-
versionLocalId: text('version_local_id'),
|
|
13
|
-
versionUid: text('version_uid'),
|
|
14
|
-
easDataType: text('eas_data_type'),
|
|
15
|
-
refValueType: text('ref_value_type'),
|
|
16
|
-
refModelUid: text('ref_schema_uid'),
|
|
17
|
-
refSeedType: text('ref_seed_type'),
|
|
18
|
-
refResolvedValue: text('ref_resolved_value'),
|
|
19
|
-
refResolvedDisplayValue: text('ref_resolved_display_value'),
|
|
20
|
-
localStorageDir: text('local_storage_dir'),
|
|
21
|
-
attestationRaw: text('attestation_raw'),
|
|
22
|
-
attestationCreatedAt: int('attestation_created_at'),
|
|
23
|
-
contentHash: text('content_hash'),
|
|
24
|
-
createdAt: int('created_at'),
|
|
25
|
-
updatedAt: int('updated_at'),
|
|
26
|
-
})
|
|
27
|
-
|
|
28
|
-
export type MetadataType = metadata.$inferSelect
|
package/dist/src/ModelSchema.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { int, sqliteTable, text, unique } from 'drizzle-orm/sqlite-core'
|
|
2
|
-
import { relations } from 'drizzle-orm'
|
|
3
|
-
|
|
4
|
-
export const models = sqliteTable('models', {
|
|
5
|
-
id: int('id').primaryKey({ autoIncrement: true }),
|
|
6
|
-
name: text('name').notNull(),
|
|
7
|
-
})
|
|
8
|
-
|
|
9
|
-
export const modelsRelations = relations(models, ({ many }) => ({
|
|
10
|
-
properties: many(properties),
|
|
11
|
-
}))
|
|
12
|
-
|
|
13
|
-
export type NewModelRecord = typeof models.$inferInsert
|
|
14
|
-
export type ModelRecordType = typeof models.$inferSelect
|
|
15
|
-
|
|
16
|
-
export const properties = sqliteTable(
|
|
17
|
-
'properties',
|
|
18
|
-
{
|
|
19
|
-
id: int('id').primaryKey({ autoIncrement: true }),
|
|
20
|
-
name: text('name').notNull(),
|
|
21
|
-
dataType: text('data_type').notNull(),
|
|
22
|
-
readEndpoint: text('read_endpoint'),
|
|
23
|
-
updateEndpoint: text('update_endpoint'),
|
|
24
|
-
modelId: int('model_id')
|
|
25
|
-
.notNull()
|
|
26
|
-
.references(() => models.id),
|
|
27
|
-
refModelId: int('ref_model_id').references(() => models.id),
|
|
28
|
-
refValueType: text('ref_value_type'),
|
|
29
|
-
},
|
|
30
|
-
(table) => {
|
|
31
|
-
return {
|
|
32
|
-
uniqueNameModelId: unique('unique_name_model_id').on(
|
|
33
|
-
table.name,
|
|
34
|
-
table.modelId,
|
|
35
|
-
),
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
)
|
|
39
|
-
|
|
40
|
-
export const propertiesRelations = relations(properties, ({ one }) => ({
|
|
41
|
-
model: one(models),
|
|
42
|
-
refModel: one(models),
|
|
43
|
-
}))
|
|
44
|
-
|
|
45
|
-
export type NewPropertyRecord = typeof properties.$inferInsert
|
|
46
|
-
export type PropertyType = typeof properties.$inferSelect
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'
|
|
2
|
-
import { relations } from 'drizzle-orm'
|
|
3
|
-
import { models } from './ModelSchema'
|
|
4
|
-
|
|
5
|
-
export const modelUids = sqliteTable('model_uids', {
|
|
6
|
-
id: int('id').primaryKey({ autoIncrement: true }),
|
|
7
|
-
uid: text('uid').notNull(),
|
|
8
|
-
modelId: int('model_id')
|
|
9
|
-
.notNull()
|
|
10
|
-
.unique()
|
|
11
|
-
.references(() => models.id),
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
export const modelRelations = relations(modelUids, ({ many, one }) => ({
|
|
15
|
-
model: one(models),
|
|
16
|
-
}))
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'
|
|
2
|
-
import { relations } from 'drizzle-orm'
|
|
3
|
-
import { models, properties } from './ModelSchema'
|
|
4
|
-
|
|
5
|
-
export const propertyUids = sqliteTable('property_uids', {
|
|
6
|
-
id: int('id').primaryKey({ autoIncrement: true }),
|
|
7
|
-
uid: text('uid').notNull(),
|
|
8
|
-
propertyId: int('property_id')
|
|
9
|
-
.notNull()
|
|
10
|
-
.unique()
|
|
11
|
-
.references(() => models.id),
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
export const propertyUidRelations = relations(propertyUids, ({ one }) => ({
|
|
15
|
-
property: one(properties),
|
|
16
|
-
}))
|
package/dist/src/QueryClient.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { BaseQueryClient } from "@/helpers/QueryClient/BaseQueryClient"
|
|
2
|
-
|
|
3
|
-
class QueryClient extends BaseQueryClient {
|
|
4
|
-
static getQueryClient() {
|
|
5
|
-
return {
|
|
6
|
-
fetchQuery: () => {
|
|
7
|
-
return new Promise((resolve, reject) => {
|
|
8
|
-
reject(new Error('Not implemented'))
|
|
9
|
-
})
|
|
10
|
-
},
|
|
11
|
-
getQueryData: () => {
|
|
12
|
-
return new Promise((resolve, reject) => {
|
|
13
|
-
reject(new Error('Not implemented'))
|
|
14
|
-
})
|
|
15
|
-
},
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
BaseQueryClient.setPlatformClass(QueryClient)
|
|
21
|
-
|
|
22
|
-
export { QueryClient }
|
package/dist/src/Schema.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export interface SeedProtocolSdk {
|
|
2
|
-
|
|
3
|
-
getCorrectId: typeof import('@/helpers').getCorrectId;
|
|
4
|
-
|
|
5
|
-
// Exported constants
|
|
6
|
-
eventEmitter: typeof import('@/eventBus').eventEmitter;
|
|
7
|
-
|
|
8
|
-
// Exported types
|
|
9
|
-
Model: typeof import('@/schema').Model;
|
|
10
|
-
Property: typeof import('@/schema').Property;
|
|
11
|
-
ImageSrc: typeof import('@/schema').ImageSrc;
|
|
12
|
-
List: typeof import('@/schema').List;
|
|
13
|
-
Text: typeof import('@/schema').Text;
|
|
14
|
-
Json: typeof import('@/schema').Json;
|
|
15
|
-
Relation: typeof import('@/schema').Relation;
|
|
16
|
-
|
|
17
|
-
// Node-specific exports
|
|
18
|
-
withSeed?: typeof import('@/node').withSeed;
|
|
19
|
-
}
|
package/dist/src/SeedSchema.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'
|
|
2
|
-
|
|
3
|
-
export const seeds = sqliteTable(
|
|
4
|
-
'seeds',
|
|
5
|
-
{
|
|
6
|
-
localId: text('local_id').unique(),
|
|
7
|
-
uid: text('uid'),
|
|
8
|
-
schemaUid: text('schema_uid'),
|
|
9
|
-
type: text('type'),
|
|
10
|
-
attestationRaw: text('attestation_raw'),
|
|
11
|
-
attestationCreatedAt: int('attestation_created_at'),
|
|
12
|
-
createdAt: int('created_at'),
|
|
13
|
-
updatedAt: int('updated_at'),
|
|
14
|
-
_markedForDeletion: int('_marked_for_deletion'),
|
|
15
|
-
},
|
|
16
|
-
// {
|
|
17
|
-
// triggers: [
|
|
18
|
-
// sql<string>`CREATE TRIGGER IF NOT EXISTS seeds_created_at_trigger
|
|
19
|
-
// BEFORE INSERT
|
|
20
|
-
// ON seeds
|
|
21
|
-
// FOR EACH ROW
|
|
22
|
-
// BEGIN
|
|
23
|
-
// SELECT strftime('%s', 'now') * 1000 INTO NEW.created_at;
|
|
24
|
-
// END;`,
|
|
25
|
-
// ],
|
|
26
|
-
// },
|
|
27
|
-
)
|
|
28
|
-
|
|
29
|
-
export type SeedType = seeds.$inferSelect
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'
|
|
2
|
-
|
|
3
|
-
export const versions = sqliteTable('versions', {
|
|
4
|
-
localId: text('local_id').unique(),
|
|
5
|
-
uid: text('uid'),
|
|
6
|
-
seedLocalId: text('seed_local_id'),
|
|
7
|
-
seedUid: text('seed_uid'),
|
|
8
|
-
seedType: text('seed_type'),
|
|
9
|
-
note: text('note'),
|
|
10
|
-
createdAt: int('created_at'),
|
|
11
|
-
updatedAt: int('updated_at'),
|
|
12
|
-
attestationCreatedAt: int('attestation_created_at'),
|
|
13
|
-
attestationRaw: text('attestation_raw'),
|
|
14
|
-
})
|
|
15
|
-
|
|
16
|
-
export type VersionsType = versions.$inferSelect
|
package/dist/src/actors.ts
DELETED
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
import { EventObject, fromCallback } from 'xstate'
|
|
2
|
-
import { fetchAllFilesMachine } from '@/schema/file/fetchAll/index'
|
|
3
|
-
import { ARWEAVE_HOST } from '@/services/internal/constants'
|
|
4
|
-
import { GET_FILES_METADATA } from '@/schema/file/queries'
|
|
5
|
-
import { getArweave } from '@/helpers/ArweaveClient'
|
|
6
|
-
import fs from '@zenfs/core'
|
|
7
|
-
import {
|
|
8
|
-
getDataTypeFromString,
|
|
9
|
-
getMimeType,
|
|
10
|
-
identifyString,
|
|
11
|
-
} from '@/helpers'
|
|
12
|
-
import { appState } from '@/seedSchema'
|
|
13
|
-
import { eq } from 'drizzle-orm'
|
|
14
|
-
import { BaseEasClient } from '@/helpers/EasClient/BaseEasClient'
|
|
15
|
-
import { BaseQueryClient } from '@/helpers/QueryClient/BaseQueryClient'
|
|
16
|
-
import debug from 'debug'
|
|
17
|
-
import { BaseDb } from '@/db/Db/BaseDb'
|
|
18
|
-
import { saveAppState } from '@/db/write/saveAppState'
|
|
19
|
-
|
|
20
|
-
const logger = debug('app:file:actors:fetchAll')
|
|
21
|
-
|
|
22
|
-
type FileType = {
|
|
23
|
-
mimeType: string
|
|
24
|
-
extension: string
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// Map of common MIME types to file extensions
|
|
28
|
-
const fileTypeMap: Record<string, FileType> = {
|
|
29
|
-
'image/jpeg': { mimeType: 'image/jpeg', extension: '.jpg' },
|
|
30
|
-
'image/png': { mimeType: 'image/png', extension: '.png' },
|
|
31
|
-
'application/json': { mimeType: 'application/json', extension: '.json' },
|
|
32
|
-
'text/plain': { mimeType: 'text/plain', extension: '.txt' },
|
|
33
|
-
// Add more MIME types and file extensions as needed
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export const fetchAllMetadataRecords = fromCallback<
|
|
37
|
-
EventObject,
|
|
38
|
-
typeof fetchAllFilesMachine
|
|
39
|
-
>(({ sendBack, receive, input: { context, event } }) => {
|
|
40
|
-
const { addresses } = context
|
|
41
|
-
|
|
42
|
-
const _fetchAllMetadataRecords = async () => {
|
|
43
|
-
const queryClient = BaseQueryClient.getQueryClient()
|
|
44
|
-
const easClient = BaseEasClient.getEasClient()
|
|
45
|
-
|
|
46
|
-
const { filesMetadata } = await queryClient.fetchQuery({
|
|
47
|
-
queryKey: ['getFilesMetadata', ...addresses],
|
|
48
|
-
queryFn: async () =>
|
|
49
|
-
easClient.request(GET_FILES_METADATA, {
|
|
50
|
-
where: {
|
|
51
|
-
attester: {
|
|
52
|
-
in: addresses,
|
|
53
|
-
},
|
|
54
|
-
schema: {
|
|
55
|
-
is: {
|
|
56
|
-
id: {
|
|
57
|
-
equals:
|
|
58
|
-
'0x55fdefb36fcbbaebeb7d6b41dc3a1a9666e4e42154267c889de064faa7ede517',
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
}),
|
|
64
|
-
})
|
|
65
|
-
|
|
66
|
-
return filesMetadata
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
_fetchAllMetadataRecords().then((filesMetadata) => {
|
|
70
|
-
sendBack({ type: 'fetchingAllMetadataRecordsSuccess', filesMetadata })
|
|
71
|
-
})
|
|
72
|
-
|
|
73
|
-
return () => { }
|
|
74
|
-
})
|
|
75
|
-
|
|
76
|
-
export const fetchAllBinaryData = fromCallback<
|
|
77
|
-
EventObject,
|
|
78
|
-
typeof fetchAllFilesMachine
|
|
79
|
-
>(({ sendBack, input: { context } }) => {
|
|
80
|
-
const { filesMetadata, addresses } = context
|
|
81
|
-
|
|
82
|
-
const _fetchAllBinaryData = async () => {
|
|
83
|
-
if (!(await fs.promises.exists('/files'))) {
|
|
84
|
-
await fs.promises.mkdir('/files', { recursive: true })
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if (!(await fs.promises.exists('/files/html'))) {
|
|
88
|
-
await fs.promises.mkdir('/files/html', { recursive: true })
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
if (!(await fs.promises.exists('/files/json'))) {
|
|
92
|
-
await fs.promises.mkdir('/files/json', { recursive: true })
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
if (!(await fs.promises.exists('/files/images'))) {
|
|
96
|
-
await fs.promises.mkdir('/files/images', { recursive: true })
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
const appDb = BaseDb.getAppDb()
|
|
100
|
-
|
|
101
|
-
if (!appDb) {
|
|
102
|
-
logger('[fetchAll/actors] [fetchAllBinaryData] seedDb not available')
|
|
103
|
-
return []
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
for (const fileMetadata of filesMetadata) {
|
|
107
|
-
const json = JSON.parse(fileMetadata.decodedDataJson)
|
|
108
|
-
const transactionId = json[0].value.value
|
|
109
|
-
|
|
110
|
-
const excludedTransactionsQuery = await appDb
|
|
111
|
-
.select()
|
|
112
|
-
.from(appState)
|
|
113
|
-
.where(eq(appState.key, 'excludedTransactions'))
|
|
114
|
-
|
|
115
|
-
let excludedTransactions = new Set<string>()
|
|
116
|
-
|
|
117
|
-
if (excludedTransactionsQuery && excludedTransactionsQuery.length === 1) {
|
|
118
|
-
const valueString = excludedTransactionsQuery[0].value
|
|
119
|
-
if (valueString) {
|
|
120
|
-
const excludedTransactionsArray = JSON.parse(valueString)
|
|
121
|
-
excludedTransactions = new Set(excludedTransactionsArray)
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
if (excludedTransactions.has(transactionId)) {
|
|
126
|
-
continue
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
const arweave = getArweave()
|
|
130
|
-
|
|
131
|
-
if (!arweave) {
|
|
132
|
-
logger('[fetchAll/actors] [fetchAllBinaryData] arweave not available')
|
|
133
|
-
return []
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
try {
|
|
137
|
-
const res = await fetch(
|
|
138
|
-
`https://${ARWEAVE_HOST}/tx/${transactionId}/status`,
|
|
139
|
-
)
|
|
140
|
-
|
|
141
|
-
if (res.status !== 200) {
|
|
142
|
-
logger(
|
|
143
|
-
`[fetchAll/actors] [fetchAllBinaryData] error fetching transaction data for ${transactionId}`,
|
|
144
|
-
)
|
|
145
|
-
|
|
146
|
-
excludedTransactions.add(transactionId)
|
|
147
|
-
|
|
148
|
-
await saveAppState(
|
|
149
|
-
'excludedTransactions',
|
|
150
|
-
JSON.stringify(Array.from(excludedTransactions)),
|
|
151
|
-
)
|
|
152
|
-
|
|
153
|
-
logger(
|
|
154
|
-
'[fetchAll/actors] [fetchAllBinaryData] updated excludedTransactions:',
|
|
155
|
-
excludedTransactions,
|
|
156
|
-
)
|
|
157
|
-
|
|
158
|
-
continue
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
const dataString = await arweave.transactions
|
|
162
|
-
.getData(transactionId, {
|
|
163
|
-
decode: true,
|
|
164
|
-
string: true,
|
|
165
|
-
})
|
|
166
|
-
.catch((error) => {
|
|
167
|
-
logger(
|
|
168
|
-
`[fetchAll/actors] [fetchAllBinaryData] error fetching transaction data for ${transactionId}`,
|
|
169
|
-
error,
|
|
170
|
-
)
|
|
171
|
-
})
|
|
172
|
-
|
|
173
|
-
const dataUint8Array = await arweave.transactions.getData(transactionId)
|
|
174
|
-
// let buffer
|
|
175
|
-
//
|
|
176
|
-
// if (dataUint8Array && dataUint8Array instanceof Uint8Array) {
|
|
177
|
-
// }
|
|
178
|
-
|
|
179
|
-
let contentType = identifyString(dataString)
|
|
180
|
-
if (
|
|
181
|
-
contentType !== 'json' &&
|
|
182
|
-
contentType !== 'base64' &&
|
|
183
|
-
contentType !== 'html'
|
|
184
|
-
) {
|
|
185
|
-
const possibleImageType = getDataTypeFromString(dataString)
|
|
186
|
-
if (!possibleImageType) {
|
|
187
|
-
logger(
|
|
188
|
-
`[fetchAll/actors] [fetchAllBinaryData] transaction ${transactionId} data not in expected format: ${possibleImageType}`,
|
|
189
|
-
)
|
|
190
|
-
continue
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
contentType = possibleImageType
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
if (contentType === 'url') {
|
|
197
|
-
const url = dataString as string
|
|
198
|
-
const response = await fetch(url)
|
|
199
|
-
if (!response.ok) {
|
|
200
|
-
throw new Error(`Failed to fetch image: ${response.statusText}`)
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
// Get the image as a Blob
|
|
204
|
-
const blob = await response.blob()
|
|
205
|
-
const buffer = await blob.arrayBuffer()
|
|
206
|
-
const bufferUint8Array = new Uint8Array(buffer)
|
|
207
|
-
|
|
208
|
-
// Extract the file extension from the URL
|
|
209
|
-
const extensionMatch = url.match(
|
|
210
|
-
/\.(jpg|jpeg|png|gif|bmp|webp|svg)$/i,
|
|
211
|
-
)
|
|
212
|
-
if (!extensionMatch) {
|
|
213
|
-
throw new Error(
|
|
214
|
-
'Unable to determine the file extension from the URL.',
|
|
215
|
-
)
|
|
216
|
-
}
|
|
217
|
-
const fileExtension = extensionMatch[0] // e.g., ".jpg"
|
|
218
|
-
|
|
219
|
-
// Set the file name (you can customize this)
|
|
220
|
-
// const fileNameFromUrl = `${transactionId}${fileExtension}`
|
|
221
|
-
|
|
222
|
-
await fs.promises.writeFile(
|
|
223
|
-
`/files/images/${transactionId}`,
|
|
224
|
-
bufferUint8Array,
|
|
225
|
-
{
|
|
226
|
-
encoding: 'binary',
|
|
227
|
-
},
|
|
228
|
-
)
|
|
229
|
-
|
|
230
|
-
continue
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
let mimeType = getMimeType(dataString as string)
|
|
234
|
-
let fileExtension = mimeType
|
|
235
|
-
|
|
236
|
-
if (fileExtension && fileExtension?.startsWith('image')) {
|
|
237
|
-
fileExtension = fileExtension.replace('image/', '')
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
let fileName = transactionId
|
|
241
|
-
|
|
242
|
-
if (contentType === 'base64') {
|
|
243
|
-
if (mimeType) {
|
|
244
|
-
fileName += `.${fileExtension}`
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
// Remove the Base64 header if it exists (e.g., "data:image/png;base64,")
|
|
248
|
-
const base64Data = dataString.split(',').pop() || ''
|
|
249
|
-
|
|
250
|
-
// Decode the Base64 string to binary
|
|
251
|
-
const binaryString = atob(base64Data)
|
|
252
|
-
const length = binaryString.length
|
|
253
|
-
const binaryData = new Uint8Array(length)
|
|
254
|
-
|
|
255
|
-
for (let i = 0; i < length; i++) {
|
|
256
|
-
binaryData[i] = binaryString.charCodeAt(i)
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
console.log(`attempting to writeFile to /files/images/${fileName}`)
|
|
260
|
-
|
|
261
|
-
await fs.promises.writeFile(`/files/images/${fileName}`, binaryData, {
|
|
262
|
-
encoding: 'binary',
|
|
263
|
-
})
|
|
264
|
-
|
|
265
|
-
// if (dataUint8Array && dataUint8Array instanceof Uint8Array) {
|
|
266
|
-
// await fs.promises.writeFile(
|
|
267
|
-
// `/files/images/${fileName}`,
|
|
268
|
-
// dataUint8Array,
|
|
269
|
-
// )
|
|
270
|
-
// }
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
if (contentType === 'html') {
|
|
274
|
-
fileName += '.html'
|
|
275
|
-
await fs.promises.writeFile(`/files/html/${fileName}`, dataString)
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
if (contentType === 'json') {
|
|
279
|
-
fileName += '.json'
|
|
280
|
-
await fs.promises.writeFile(`/files/json/${fileName}`, dataString)
|
|
281
|
-
}
|
|
282
|
-
} catch (error) {
|
|
283
|
-
logger(error)
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
return []
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
_fetchAllBinaryData().then((binaryData) => {
|
|
291
|
-
sendBack({ type: 'fetchingAllBinaryDataSuccess', binaryData })
|
|
292
|
-
})
|
|
293
|
-
|
|
294
|
-
return () => { }
|
|
295
|
-
})
|