@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.
Files changed (35) hide show
  1. package/dist/cjs/{ArchivingModule.js → AbstractArchivingModule.js} +7 -7
  2. package/dist/cjs/AbstractArchivingModule.js.map +1 -0
  3. package/dist/cjs/CookieArchivist.js +6 -8
  4. package/dist/cjs/CookieArchivist.js.map +1 -1
  5. package/dist/cjs/StorageArchivist.js +22 -32
  6. package/dist/cjs/StorageArchivist.js.map +1 -1
  7. package/dist/cjs/index.js +1 -1
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/esm/{ArchivingModule.js → AbstractArchivingModule.js} +6 -7
  10. package/dist/esm/AbstractArchivingModule.js.map +1 -0
  11. package/dist/esm/CookieArchivist.js +7 -9
  12. package/dist/esm/CookieArchivist.js.map +1 -1
  13. package/dist/esm/StorageArchivist.js +22 -27
  14. package/dist/esm/StorageArchivist.js.map +1 -1
  15. package/dist/esm/index.js +1 -1
  16. package/dist/esm/index.js.map +1 -1
  17. package/dist/types/AbstractArchivingModule.d.ts +15 -0
  18. package/dist/types/AbstractArchivingModule.d.ts.map +1 -0
  19. package/dist/types/CookieArchivist.d.ts +3 -3
  20. package/dist/types/CookieArchivist.d.ts.map +1 -1
  21. package/dist/types/StorageArchivist.d.ts +3 -7
  22. package/dist/types/StorageArchivist.d.ts.map +1 -1
  23. package/dist/types/index.d.ts +1 -1
  24. package/dist/types/index.d.ts.map +1 -1
  25. package/package.json +16 -17
  26. package/src/{ArchivingModule.ts → AbstractArchivingModule.ts} +11 -12
  27. package/src/CookieArchivist.ts +8 -10
  28. package/src/StorageArchivist.ts +11 -16
  29. package/src/index.ts +1 -1
  30. package/src/spec/testArchivist.ts +1 -6
  31. package/dist/cjs/ArchivingModule.js.map +0 -1
  32. package/dist/docs.json +0 -144315
  33. package/dist/esm/ArchivingModule.js.map +0 -1
  34. package/dist/types/ArchivingModule.d.ts +0 -17
  35. package/dist/types/ArchivingModule.d.ts.map +0 -1
@@ -1,4 +1,4 @@
1
- export * from './ArchivingModule';
1
+ export * from './AbstractArchivingModule';
2
2
  export * from './CookieArchivist';
3
3
  export * from './StorageArchivist';
4
4
  export * from '@xyo-network/abstract-archivist';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,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"}
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.66.9",
15
- "@xyo-network/account": "~2.66.9",
16
- "@xyo-network/account-model": "~2.66.9",
17
- "@xyo-network/archivist-model": "~2.66.9",
18
- "@xyo-network/archivist-wrapper": "~2.66.9",
19
- "@xyo-network/boundwitness-model": "~2.66.9",
20
- "@xyo-network/core": "~2.66.9",
21
- "@xyo-network/memory-archivist": "~2.66.9",
22
- "@xyo-network/module": "~2.66.9",
23
- "@xyo-network/payload-model": "~2.66.9",
24
- "@xyo-network/payload-wrapper": "~2.66.9",
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.18.11",
35
- "@xylabs/tsconfig": "^2.18.11",
36
- "@xyo-network/boundwitness-wrapper": "~2.66.9",
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.66.9"
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 { ArchivistModule, asArchivistModule, isArchivistInstance } from '@xyo-network/archivist-model'
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 { AbstractModule, Module, ModuleConfig, ModuleEventData, ModuleParams, ModuleQueryResult } from '@xyo-network/module'
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 ArchivingModule<
15
+ export abstract class AbstractArchivingModule<
19
16
  TParams extends ModuleParams<ArchivingModuleConfig> = ModuleParams<ArchivingModuleConfig>,
20
17
  TEventData extends ModuleEventData = ModuleEventData,
21
18
  >
22
- extends AbstractModule<TParams, TEventData>
19
+ extends AbstractModuleInstance<TParams, TEventData>
23
20
  implements Module<TParams, TEventData>
24
21
  {
25
- protected override async bindQueryResult<T extends Query | PayloadWrapper<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<ArchivistModule[]> {
33
+ protected async resolveArchivists(): Promise<ArchivistInstance[]> {
37
34
  return compact(
38
- (await Promise.all((await this.resolve({ address: this.config.archivists ?? [] })) ?? [])).map((module) => asArchivistModule(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<BoundWitness[]> {
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 isArchivistInstance(archivist) ? archivist.insert(payloads) : IndirectArchivistWrapper.wrap(archivist, this.account).insert(payloads)
46
+ return archivist.insert?.(payloads)
48
47
  }),
49
48
  )
50
49
  ).map(([bw]) => bw)
@@ -1,6 +1,6 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
2
  import { fulfilled } from '@xylabs/promise'
3
- import { AbstractDirectArchivist } from '@xyo-network/abstract-archivist'
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 AbstractDirectArchivist<TParams, TEventData> {
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 = PayloadWrapper.wrap<ArchivistInsertQuery>({
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<BoundWitness[]> {
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
- parentBoundWitnesses.push(...(await this.writeToParents([result[0], ...resultPayloads])))
164
+ await this.writeToParents([result[0], ...resultPayloads])
166
165
  }
167
- const boundWitnesses = [result[0], ...parentBoundWitnesses]
168
- await this.emit('inserted', { boundWitnesses, module: this })
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
@@ -1,8 +1,6 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
2
  import { fulfilled } from '@xylabs/promise'
3
- import { AbstractDirectArchivist } from '@xyo-network/abstract-archivist'
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 { Logger, PayloadHasher } from '@xyo-network/core'
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 AbstractDirectArchivist<TParams, TEventData>
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 = PayloadWrapper.wrap<ArchivistInsertQuery>({
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<BoundWitness[]> {
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
- const [parentBoundWitness] = await this.writeToParents([storageBoundWitness, ...resultPayloads])
186
- parentBoundWitnesses.push(parentBoundWitness)
182
+ await this.writeToParents([storageBoundWitness, ...resultPayloads])
187
183
  }
188
- const boundWitnesses = [storageBoundWitness, ...parentBoundWitnesses]
189
- await this.emit('inserted', { boundWitnesses, module: this })
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
@@ -1,4 +1,4 @@
1
- export * from './ArchivingModule'
1
+ export * from './AbstractArchivingModule'
2
2
  export * from './CookieArchivist'
3
3
  export * from './StorageArchivist'
4
4
  export * from '@xyo-network/abstract-archivist'
@@ -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
- const insertResultWrappers = insertResult.map((bw) => BoundWitnessWrapper.wrap(bw))
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"}