@xyo-network/archivist 2.66.9 → 2.67.0-rc.2
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/cjs/{ArchivingModule.js → AbstractArchivingModule.js} +7 -7
- package/dist/cjs/AbstractArchivingModule.js.map +1 -0
- package/dist/cjs/CookieArchivist.js +6 -8
- package/dist/cjs/CookieArchivist.js.map +1 -1
- package/dist/cjs/StorageArchivist.js +22 -32
- package/dist/cjs/StorageArchivist.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/{ArchivingModule.js → AbstractArchivingModule.js} +6 -7
- package/dist/esm/AbstractArchivingModule.js.map +1 -0
- package/dist/esm/CookieArchivist.js +7 -9
- package/dist/esm/CookieArchivist.js.map +1 -1
- package/dist/esm/StorageArchivist.js +22 -27
- package/dist/esm/StorageArchivist.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/types/AbstractArchivingModule.d.ts +15 -0
- package/dist/types/AbstractArchivingModule.d.ts.map +1 -0
- package/dist/types/CookieArchivist.d.ts +3 -3
- package/dist/types/CookieArchivist.d.ts.map +1 -1
- package/dist/types/StorageArchivist.d.ts +3 -7
- package/dist/types/StorageArchivist.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +16 -17
- package/src/{ArchivingModule.ts → AbstractArchivingModule.ts} +11 -12
- package/src/CookieArchivist.ts +8 -10
- package/src/StorageArchivist.ts +11 -16
- package/src/index.ts +1 -1
- package/src/spec/testArchivist.ts +1 -6
- package/dist/cjs/ArchivingModule.js.map +0 -1
- package/dist/docs.json +0 -144315
- package/dist/esm/ArchivingModule.js.map +0 -1
- package/dist/types/ArchivingModule.d.ts +0 -17
- package/dist/types/ArchivingModule.d.ts.map +0 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA"}
|
package/package.json
CHANGED
|
@@ -11,18 +11,17 @@
|
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@xylabs/assert": "^2.9.3",
|
|
13
13
|
"@xylabs/promise": "^2.9.3",
|
|
14
|
-
"@xyo-network/abstract-archivist": "~2.
|
|
15
|
-
"@xyo-network/account": "~2.
|
|
16
|
-
"@xyo-network/
|
|
17
|
-
"@xyo-network/archivist-
|
|
18
|
-
"@xyo-network/
|
|
19
|
-
"@xyo-network/
|
|
20
|
-
"@xyo-network/
|
|
21
|
-
"@xyo-network/
|
|
22
|
-
"@xyo-network/
|
|
23
|
-
"@xyo-network/payload-
|
|
24
|
-
"@xyo-network/
|
|
25
|
-
"@xyo-network/promise": "~2.66.9",
|
|
14
|
+
"@xyo-network/abstract-archivist": "~2.67.0-rc.2",
|
|
15
|
+
"@xyo-network/account-model": "~2.67.0-rc.2",
|
|
16
|
+
"@xyo-network/archivist-model": "~2.67.0-rc.2",
|
|
17
|
+
"@xyo-network/archivist-wrapper": "~2.67.0-rc.2",
|
|
18
|
+
"@xyo-network/boundwitness-model": "~2.67.0-rc.2",
|
|
19
|
+
"@xyo-network/core": "~2.67.0-rc.2",
|
|
20
|
+
"@xyo-network/memory-archivist": "~2.67.0-rc.2",
|
|
21
|
+
"@xyo-network/module": "~2.67.0-rc.2",
|
|
22
|
+
"@xyo-network/payload-model": "~2.67.0-rc.2",
|
|
23
|
+
"@xyo-network/payload-wrapper": "~2.67.0-rc.2",
|
|
24
|
+
"@xyo-network/promise": "~2.67.0-rc.2",
|
|
26
25
|
"js-cookie": "^3.0.5",
|
|
27
26
|
"lodash": "^4.17.21",
|
|
28
27
|
"store2": "^2.14.2"
|
|
@@ -31,10 +30,9 @@
|
|
|
31
30
|
"@types/js-cookie": "^3.0.3",
|
|
32
31
|
"@types/lodash": "^4.14.195",
|
|
33
32
|
"@xylabs/delay": "^2.9.3",
|
|
34
|
-
"@xylabs/ts-scripts-yarn3": "^2.
|
|
35
|
-
"@xylabs/tsconfig": "^2.
|
|
36
|
-
"@xyo-network/
|
|
37
|
-
"@xyo-network/id-payload-plugin": "~2.66.9",
|
|
33
|
+
"@xylabs/ts-scripts-yarn3": "^2.19.0",
|
|
34
|
+
"@xylabs/tsconfig": "^2.19.0",
|
|
35
|
+
"@xyo-network/id-payload-plugin": "~2.67.0-rc.2",
|
|
38
36
|
"typescript": "^5.1.6"
|
|
39
37
|
},
|
|
40
38
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -71,5 +69,6 @@
|
|
|
71
69
|
},
|
|
72
70
|
"sideEffects": false,
|
|
73
71
|
"types": "dist/types/index.d.ts",
|
|
74
|
-
"version": "2.
|
|
72
|
+
"version": "2.67.0-rc.2",
|
|
73
|
+
"stableVersion": "2.66.9"
|
|
75
74
|
}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { AccountInstance } from '@xyo-network/account-model'
|
|
2
|
-
import {
|
|
3
|
-
import { IndirectArchivistWrapper } from '@xyo-network/archivist-wrapper'
|
|
4
|
-
import { BoundWitness } from '@xyo-network/boundwitness-model'
|
|
2
|
+
import { ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist-model'
|
|
5
3
|
import { AnyObject } from '@xyo-network/core'
|
|
6
|
-
import {
|
|
4
|
+
import { AbstractModuleInstance, Module, ModuleConfig, ModuleEventData, ModuleParams, ModuleQueryResult } from '@xyo-network/module'
|
|
7
5
|
import { ModuleError, Payload, Query } from '@xyo-network/payload-model'
|
|
8
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
9
6
|
import compact from 'lodash/compact'
|
|
10
7
|
|
|
11
8
|
export type ArchivingModuleConfig<T extends AnyObject = AnyObject> = ModuleConfig<
|
|
@@ -15,14 +12,14 @@ export type ArchivingModuleConfig<T extends AnyObject = AnyObject> = ModuleConfi
|
|
|
15
12
|
} & T
|
|
16
13
|
>
|
|
17
14
|
// @creatableModule()
|
|
18
|
-
export abstract class
|
|
15
|
+
export abstract class AbstractArchivingModule<
|
|
19
16
|
TParams extends ModuleParams<ArchivingModuleConfig> = ModuleParams<ArchivingModuleConfig>,
|
|
20
17
|
TEventData extends ModuleEventData = ModuleEventData,
|
|
21
18
|
>
|
|
22
|
-
extends
|
|
19
|
+
extends AbstractModuleInstance<TParams, TEventData>
|
|
23
20
|
implements Module<TParams, TEventData>
|
|
24
21
|
{
|
|
25
|
-
protected override async bindQueryResult<T extends Query
|
|
22
|
+
protected override async bindQueryResult<T extends Query>(
|
|
26
23
|
query: T,
|
|
27
24
|
payloads: Payload[],
|
|
28
25
|
additionalWitnesses: AccountInstance[] = [],
|
|
@@ -33,18 +30,20 @@ export abstract class ArchivingModule<
|
|
|
33
30
|
return [result, witnesses]
|
|
34
31
|
}
|
|
35
32
|
|
|
36
|
-
protected async resolveArchivists(): Promise<
|
|
33
|
+
protected async resolveArchivists(): Promise<ArchivistInstance[]> {
|
|
37
34
|
return compact(
|
|
38
|
-
(await Promise.all((await this.resolve({ address: this.config.archivists ?? [] })) ?? [])).map((module) =>
|
|
35
|
+
(await Promise.all((await this.resolve({ address: this.config.archivists ?? [] })) ?? [])).map((module) =>
|
|
36
|
+
asArchivistInstance(module, () => `Module failed to cast to Archivist [${module.config.name}]`),
|
|
37
|
+
),
|
|
39
38
|
)
|
|
40
39
|
}
|
|
41
40
|
|
|
42
|
-
protected async storeToArchivists(payloads: Payload[]): Promise<
|
|
41
|
+
protected async storeToArchivists(payloads: Payload[]): Promise<Payload[]> {
|
|
43
42
|
const archivists = await this.resolveArchivists()
|
|
44
43
|
return (
|
|
45
44
|
await Promise.all(
|
|
46
45
|
archivists.map((archivist) => {
|
|
47
|
-
return
|
|
46
|
+
return archivist.insert?.(payloads)
|
|
48
47
|
}),
|
|
49
48
|
)
|
|
50
49
|
).map(([bw]) => bw)
|
package/src/CookieArchivist.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { fulfilled } from '@xylabs/promise'
|
|
3
|
-
import {
|
|
3
|
+
import { AbstractArchivist } from '@xyo-network/abstract-archivist'
|
|
4
4
|
import {
|
|
5
5
|
ArchivistAllQuerySchema,
|
|
6
6
|
ArchivistClearQuerySchema,
|
|
@@ -37,7 +37,7 @@ export type CookieArchivistParams = ArchivistParams<AnyConfigSchema<CookieArchiv
|
|
|
37
37
|
export class CookieArchivist<
|
|
38
38
|
TParams extends CookieArchivistParams,
|
|
39
39
|
TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,
|
|
40
|
-
> extends
|
|
40
|
+
> extends AbstractArchivist<TParams, TEventData> {
|
|
41
41
|
static override configSchemas = [CookieArchivistConfigSchema]
|
|
42
42
|
|
|
43
43
|
get domain() {
|
|
@@ -100,10 +100,10 @@ export class CookieArchivist<
|
|
|
100
100
|
const settled = await Promise.allSettled(
|
|
101
101
|
compact(
|
|
102
102
|
Object.values((await this.parents()).commit ?? [])?.map(async (parent) => {
|
|
103
|
-
const queryPayload =
|
|
103
|
+
const queryPayload: ArchivistInsertQuery = {
|
|
104
104
|
payloads: await PayloadHasher.hashes(payloads),
|
|
105
105
|
schema: ArchivistInsertQuerySchema,
|
|
106
|
-
}
|
|
106
|
+
}
|
|
107
107
|
const query = await this.bindQuery(queryPayload, payloads)
|
|
108
108
|
return (await parent?.query(query[0], query[1]))?.[0]
|
|
109
109
|
}),
|
|
@@ -145,7 +145,7 @@ export class CookieArchivist<
|
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
protected async insertHandler(payloads: Payload[]): Promise<
|
|
148
|
+
protected async insertHandler(payloads: Payload[]): Promise<Payload[]> {
|
|
149
149
|
try {
|
|
150
150
|
const resultPayloads: Payload[] = await Promise.all(
|
|
151
151
|
payloads.map(async (payload) => {
|
|
@@ -158,15 +158,13 @@ export class CookieArchivist<
|
|
|
158
158
|
}),
|
|
159
159
|
)
|
|
160
160
|
const [result] = await this.bindQueryResult({ payloads, schema: ArchivistInsertQuerySchema }, resultPayloads)
|
|
161
|
-
const parentBoundWitnesses: BoundWitness[] = []
|
|
162
161
|
const parents = await this.parents()
|
|
163
162
|
if (Object.entries(parents.write ?? {}).length) {
|
|
164
163
|
//we store the child bw also
|
|
165
|
-
|
|
164
|
+
await this.writeToParents([result[0], ...resultPayloads])
|
|
166
165
|
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
return boundWitnesses
|
|
166
|
+
await this.emit('inserted', { module: this, payloads })
|
|
167
|
+
return payloads
|
|
170
168
|
} catch (ex) {
|
|
171
169
|
console.error(`Error: ${JSON.stringify(ex, null, 2)}`)
|
|
172
170
|
throw ex
|
package/src/StorageArchivist.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { fulfilled } from '@xylabs/promise'
|
|
3
|
-
import {
|
|
4
|
-
import { Account } from '@xyo-network/account'
|
|
5
|
-
import { AccountInstance } from '@xyo-network/account-model'
|
|
3
|
+
import { AbstractArchivist } from '@xyo-network/abstract-archivist'
|
|
6
4
|
import {
|
|
7
5
|
ArchivistAllQuerySchema,
|
|
8
6
|
ArchivistClearQuerySchema,
|
|
@@ -16,7 +14,7 @@ import {
|
|
|
16
14
|
ArchivistParams,
|
|
17
15
|
} from '@xyo-network/archivist-model'
|
|
18
16
|
import { BoundWitness } from '@xyo-network/boundwitness-model'
|
|
19
|
-
import {
|
|
17
|
+
import { PayloadHasher } from '@xyo-network/core'
|
|
20
18
|
import { AnyConfigSchema } from '@xyo-network/module'
|
|
21
19
|
import { Payload } from '@xyo-network/payload-model'
|
|
22
20
|
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
@@ -41,7 +39,7 @@ export class StorageArchivist<
|
|
|
41
39
|
TParams extends StorageArchivistParams = StorageArchivistParams,
|
|
42
40
|
TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,
|
|
43
41
|
>
|
|
44
|
-
extends
|
|
42
|
+
extends AbstractArchivist<TParams, TEventData>
|
|
45
43
|
implements ArchivistInstance
|
|
46
44
|
{
|
|
47
45
|
static override configSchemas = [StorageArchivistConfigSchema]
|
|
@@ -92,7 +90,7 @@ export class StorageArchivist<
|
|
|
92
90
|
return this._storage
|
|
93
91
|
}
|
|
94
92
|
|
|
95
|
-
override async loadAccount(account?: AccountInstance, persistAccount?: boolean, privateStorage?: StoreBase, _logger?: Logger) {
|
|
93
|
+
/*override async loadAccount(account?: AccountInstance, persistAccount?: boolean, privateStorage?: StoreBase, _logger?: Logger) {
|
|
96
94
|
if (!this._account) {
|
|
97
95
|
if (persistAccount) {
|
|
98
96
|
const privateKey = privateStorage?.get('privateKey')
|
|
@@ -108,7 +106,7 @@ export class StorageArchivist<
|
|
|
108
106
|
}
|
|
109
107
|
}
|
|
110
108
|
return await super.loadAccount()
|
|
111
|
-
}
|
|
109
|
+
}*/
|
|
112
110
|
|
|
113
111
|
protected override allHandler(): PromisableArray<Payload> {
|
|
114
112
|
this.logger?.log(`this.storage.length: ${this.storage.length}`)
|
|
@@ -128,10 +126,10 @@ export class StorageArchivist<
|
|
|
128
126
|
const settled = await Promise.allSettled(
|
|
129
127
|
compact(
|
|
130
128
|
Object.values((await this.parents()).commit ?? [])?.map(async (parent) => {
|
|
131
|
-
const queryPayload =
|
|
129
|
+
const queryPayload: ArchivistInsertQuery = {
|
|
132
130
|
payloads: await PayloadHasher.hashes(payloads),
|
|
133
131
|
schema: ArchivistInsertQuerySchema,
|
|
134
|
-
}
|
|
132
|
+
}
|
|
135
133
|
const query = await this.bindQuery(queryPayload, payloads)
|
|
136
134
|
return (await parent?.query(query[0], query[1]))?.[0]
|
|
137
135
|
}),
|
|
@@ -166,7 +164,7 @@ export class StorageArchivist<
|
|
|
166
164
|
)
|
|
167
165
|
}
|
|
168
166
|
|
|
169
|
-
protected async insertHandler(payloads: Payload[]): Promise<
|
|
167
|
+
protected async insertHandler(payloads: Payload[]): Promise<Payload[]> {
|
|
170
168
|
const resultPayloads = await Promise.all(
|
|
171
169
|
payloads.map(async (payload) => {
|
|
172
170
|
const wrapper = PayloadWrapper.wrap(payload)
|
|
@@ -178,16 +176,13 @@ export class StorageArchivist<
|
|
|
178
176
|
}),
|
|
179
177
|
)
|
|
180
178
|
const [[storageBoundWitness]] = await this.bindQueryResult({ payloads, schema: ArchivistInsertQuerySchema }, resultPayloads)
|
|
181
|
-
const parentBoundWitnesses: BoundWitness[] = []
|
|
182
179
|
const parents = await this.parents()
|
|
183
180
|
if (Object.entries(parents.write ?? {}).length) {
|
|
184
181
|
//we store the child bw also
|
|
185
|
-
|
|
186
|
-
parentBoundWitnesses.push(parentBoundWitness)
|
|
182
|
+
await this.writeToParents([storageBoundWitness, ...resultPayloads])
|
|
187
183
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
return boundWitnesses
|
|
184
|
+
await this.emit('inserted', { module: this, payloads })
|
|
185
|
+
return payloads
|
|
191
186
|
}
|
|
192
187
|
|
|
193
188
|
protected saveAccount() {
|
package/src/index.ts
CHANGED
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
import { delay } from '@xylabs/delay'
|
|
6
6
|
import { ArchivistInstance } from '@xyo-network/archivist-model'
|
|
7
|
-
import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'
|
|
8
|
-
import { PayloadHasher } from '@xyo-network/core'
|
|
9
7
|
import { IdSchema } from '@xyo-network/id-payload-plugin'
|
|
10
8
|
import { Payload } from '@xyo-network/payload-model'
|
|
11
9
|
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
@@ -21,11 +19,8 @@ export const testArchivistRoundTrip = (archivistPromise: Promisable<ArchivistIns
|
|
|
21
19
|
|
|
22
20
|
const archivist = await archivistPromise
|
|
23
21
|
const insertResult = await archivist.insert([idPayload])
|
|
24
|
-
|
|
25
|
-
const insertResultPayload = insertResultWrappers.pop() as BoundWitnessWrapper
|
|
26
|
-
expect(insertResultPayload).toBeDefined()
|
|
22
|
+
expect(insertResult).toBeDefined()
|
|
27
23
|
|
|
28
|
-
expect(PayloadHasher.find(insertResultPayload.payloadHashes, await payloadWrapper.hashAsync())).toBeDefined()
|
|
29
24
|
const getResult = await archivist.get([await payloadWrapper.hashAsync()])
|
|
30
25
|
expect(getResult).toBeDefined()
|
|
31
26
|
expect(getResult.length).toBe(1)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArchivingModule.js","sourceRoot":"","sources":["../../src/ArchivingModule.ts"],"names":[],"mappings":";;;;AACA,kEAAsG;AACtG,sEAAyE;AAGzE,gDAA4H;AAG5H,qEAAoC;AAQpC,qBAAqB;AACrB,MAAsB,eAIpB,SAAQ,uBAAmC;IAGlB,eAAe,CACtC,KAAQ,EACR,QAAmB,EACnB,sBAAyC,EAAE,EAC3C,gBAA+B,EAAE;;;;;YAEjC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,OAAM,eAAe,YAAC,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAA;YAC5G,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACvD,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAC5B,CAAC;KAAA;IAEe,iBAAiB;;;YAC/B,OAAO,IAAA,iBAAO,EACZ,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAA,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,UAAU,mCAAI,EAAE,EAAE,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,mCAAiB,EAAC,MAAM,CAAC,CAAC,CACtI,CAAA;;KACF;IAEe,iBAAiB,CAAC,QAAmB;;YACnD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;YACjD,OAAO,CACL,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC3B,OAAO,IAAA,qCAAmB,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,4CAAwB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC9I,CAAC,CAAC,CACH,CACF,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;QACrB,CAAC;KAAA;CACF;AAlCD,0CAkCC"}
|