@xyo-network/diviner-address-space-memory 4.2.1 → 5.0.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryAddressSpaceDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryAddressSpaceDiviner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AAEzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEjE;;GAEG;AACH,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CACvI,OAAO,EACP,OAAO,EACP,cAAc,CACf;IACC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA4D;IAC5G,gBAAyB,mBAAmB,EAAE,MAAM,CAAkC;cAE7D,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE;CAW5D"}
1
+ {"version":3,"file":"MemoryAddressSpaceDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryAddressSpaceDiviner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AAEzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEjE;;GAEG;AACH,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CACvI,OAAO,EACP,OAAO,EACP,cAAc,CACf;IACC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA4D;IAC5G,gBAAyB,mBAAmB,EAAE,MAAM,CAAkC;cAE7D,aAAa,CAAC,QAAQ,GAAE,OAAO,EAAO;CAWhE"}
@@ -9,8 +9,8 @@ import { PayloadBuilder } from "@xyo-network/payload-builder";
9
9
  var MemoryAddressSpaceDiviner = class extends AddressSpaceDiviner {
10
10
  static configSchemas = [...super.configSchemas, AddressSpaceDivinerConfigSchema];
11
11
  static defaultConfigSchema = AddressSpaceDivinerConfigSchema;
12
- async divineHandler(payloads) {
13
- assertEx(!payloads?.length, () => "MemoryAddressSpaceDiviner.divine does not allow payloads to be sent");
12
+ async divineHandler(payloads = []) {
13
+ assertEx(payloads.length === 0, () => "MemoryAddressSpaceDiviner.divine does not allow payloads to be sent");
14
14
  const archivistMod = assertEx(await this.archivistInstance(), () => "Unable to resolve archivist");
15
15
  const archivist = ArchivistWrapper.wrap(archivistMod, this.account);
16
16
  const all = await archivist.all?.();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/MemoryAddressSpaceDiviner.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport type { Address } from '@xylabs/hex'\nimport { ArchivistWrapper } from '@xyo-network/archivist-wrapper'\nimport { isBoundWitnessWithStorageMeta } from '@xyo-network/boundwitness-model'\nimport { AddressSpaceDiviner } from '@xyo-network/diviner-address-space-abstract'\nimport type { AddressSpaceDivinerParams } from '@xyo-network/diviner-address-space-model'\nimport { AddressSpaceDivinerConfigSchema } from '@xyo-network/diviner-address-space-model'\nimport type { AddressPayload } from '@xyo-network/module-model'\nimport { AddressSchema } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\n\n/**\n * This Diviner returns the list of all addresses encountered for the reachable archivists\n */\nexport class MemoryAddressSpaceDiviner<TParams extends AddressSpaceDivinerParams = AddressSpaceDivinerParams> extends AddressSpaceDiviner<\n TParams,\n Payload,\n AddressPayload\n> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, AddressSpaceDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = AddressSpaceDivinerConfigSchema\n\n protected override async divineHandler(payloads?: Payload[]) {\n assertEx(!payloads?.length, () => 'MemoryAddressSpaceDiviner.divine does not allow payloads to be sent')\n const archivistMod = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const archivist = ArchivistWrapper.wrap(archivistMod, this.account)\n const all = await archivist.all?.()\n const bwLists = all?.filter(isBoundWitnessWithStorageMeta) ?? []\n const addresses = new Set<Address>(bwLists.flatMap(bw => bw.addresses).map(address => address.toLowerCase() as Address))\n return await Promise.all(\n [...addresses].map(address => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()),\n )\n }\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AAEzB,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;AAC9C,SAAS,2BAA2B;AAEpC,SAAS,uCAAuC;AAEhD,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAMxB,IAAM,4BAAN,cAA+G,oBAIpH;AAAA,EACA,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,+BAA+B;AAAA,EAC3G,OAAyB,sBAA8B;AAAA,EAEvD,MAAyB,cAAc,UAAsB;AAC3D,aAAS,CAAC,UAAU,QAAQ,MAAM,qEAAqE;AACvG,UAAM,eAAe,SAAS,MAAM,KAAK,kBAAkB,GAAG,MAAM,6BAA6B;AACjG,UAAM,YAAY,iBAAiB,KAAK,cAAc,KAAK,OAAO;AAClE,UAAM,MAAM,MAAM,UAAU,MAAM;AAClC,UAAM,UAAU,KAAK,OAAO,6BAA6B,KAAK,CAAC;AAC/D,UAAM,YAAY,IAAI,IAAa,QAAQ,QAAQ,QAAM,GAAG,SAAS,EAAE,IAAI,aAAW,QAAQ,YAAY,CAAY,CAAC;AACvH,WAAO,MAAM,QAAQ;AAAA,MACnB,CAAC,GAAG,SAAS,EAAE,IAAI,aAAW,IAAI,eAA+B,EAAE,QAAQ,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;AAAA,IACzH;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/MemoryAddressSpaceDiviner.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport type { Address } from '@xylabs/hex'\nimport { ArchivistWrapper } from '@xyo-network/archivist-wrapper'\nimport { isBoundWitnessWithStorageMeta } from '@xyo-network/boundwitness-model'\nimport { AddressSpaceDiviner } from '@xyo-network/diviner-address-space-abstract'\nimport type { AddressSpaceDivinerParams } from '@xyo-network/diviner-address-space-model'\nimport { AddressSpaceDivinerConfigSchema } from '@xyo-network/diviner-address-space-model'\nimport type { AddressPayload } from '@xyo-network/module-model'\nimport { AddressSchema } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\n\n/**\n * This Diviner returns the list of all addresses encountered for the reachable archivists\n */\nexport class MemoryAddressSpaceDiviner<TParams extends AddressSpaceDivinerParams = AddressSpaceDivinerParams> extends AddressSpaceDiviner<\n TParams,\n Payload,\n AddressPayload\n> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, AddressSpaceDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = AddressSpaceDivinerConfigSchema\n\n protected override async divineHandler(payloads: Payload[] = []) {\n assertEx(payloads.length === 0, () => 'MemoryAddressSpaceDiviner.divine does not allow payloads to be sent')\n const archivistMod = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const archivist = ArchivistWrapper.wrap(archivistMod, this.account)\n const all = await archivist.all?.()\n const bwLists = all?.filter(isBoundWitnessWithStorageMeta) ?? []\n const addresses = new Set<Address>(bwLists.flatMap(bw => bw.addresses).map(address => address.toLowerCase() as Address))\n return await Promise.all(\n [...addresses].map(address => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()),\n )\n }\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AAEzB,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;AAC9C,SAAS,2BAA2B;AAEpC,SAAS,uCAAuC;AAEhD,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAMxB,IAAM,4BAAN,cAA+G,oBAIpH;AAAA,EACA,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,+BAA+B;AAAA,EAC3G,OAAyB,sBAA8B;AAAA,EAEvD,MAAyB,cAAc,WAAsB,CAAC,GAAG;AAC/D,aAAS,SAAS,WAAW,GAAG,MAAM,qEAAqE;AAC3G,UAAM,eAAe,SAAS,MAAM,KAAK,kBAAkB,GAAG,MAAM,6BAA6B;AACjG,UAAM,YAAY,iBAAiB,KAAK,cAAc,KAAK,OAAO;AAClE,UAAM,MAAM,MAAM,UAAU,MAAM;AAClC,UAAM,UAAU,KAAK,OAAO,6BAA6B,KAAK,CAAC;AAC/D,UAAM,YAAY,IAAI,IAAa,QAAQ,QAAQ,QAAM,GAAG,SAAS,EAAE,IAAI,aAAW,QAAQ,YAAY,CAAY,CAAC;AACvH,WAAO,MAAM,QAAQ;AAAA,MACnB,CAAC,GAAG,SAAS,EAAE,IAAI,aAAW,IAAI,eAA+B,EAAE,QAAQ,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;AAAA,IACzH;AAAA,EACF;AACF;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/diviner-address-space-memory",
3
- "version": "4.2.1",
3
+ "version": "5.0.0",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -28,25 +28,29 @@
28
28
  },
29
29
  "module": "dist/neutral/index.mjs",
30
30
  "types": "dist/neutral/index.d.ts",
31
+ "files": [
32
+ "dist",
33
+ "src"
34
+ ],
31
35
  "dependencies": {
32
- "@xylabs/assert": "^4.14.1",
33
- "@xyo-network/archivist-wrapper": "^4.2.1",
34
- "@xyo-network/boundwitness-model": "^4.2.1",
35
- "@xyo-network/diviner-address-space-abstract": "^4.2.1",
36
- "@xyo-network/diviner-address-space-model": "^4.2.1",
37
- "@xyo-network/module-model": "^4.2.1",
38
- "@xyo-network/payload-builder": "^4.2.1",
39
- "@xyo-network/payload-model": "^4.2.1"
36
+ "@xylabs/assert": "^5.0.0",
37
+ "@xyo-network/archivist-wrapper": "^5.0.0",
38
+ "@xyo-network/boundwitness-model": "^5.0.0",
39
+ "@xyo-network/diviner-address-space-abstract": "^5.0.0",
40
+ "@xyo-network/diviner-address-space-model": "^5.0.0",
41
+ "@xyo-network/module-model": "^5.0.0",
42
+ "@xyo-network/payload-builder": "^5.0.0",
43
+ "@xyo-network/payload-model": "^5.0.0"
40
44
  },
41
45
  "devDependencies": {
42
- "@xylabs/hex": "^4.14.1",
43
- "@xylabs/ts-scripts-yarn3": "^7.0.1",
44
- "@xylabs/tsconfig": "^7.0.1",
45
- "@xylabs/vitest-extended": "^4.14.1",
46
- "@xyo-network/account": "^4.2.1",
47
- "@xyo-network/archivist-memory": "^4.2.1",
48
- "@xyo-network/node-memory": "^4.2.1",
49
- "@xyo-network/payload-wrapper": "^4.2.1",
46
+ "@xylabs/hex": "^5.0.0",
47
+ "@xylabs/ts-scripts-yarn3": "^7.0.2",
48
+ "@xylabs/tsconfig": "^7.0.2",
49
+ "@xylabs/vitest-extended": "^5.0.0",
50
+ "@xyo-network/account": "^5.0.0",
51
+ "@xyo-network/archivist-memory": "^5.0.0",
52
+ "@xyo-network/node-memory": "^5.0.0",
53
+ "@xyo-network/payload-wrapper": "^5.0.0",
50
54
  "typescript": "^5.8.3",
51
55
  "vitest": "^3.2.4"
52
56
  },
@@ -21,8 +21,8 @@ export class MemoryAddressSpaceDiviner<TParams extends AddressSpaceDivinerParams
21
21
  static override readonly configSchemas: Schema[] = [...super.configSchemas, AddressSpaceDivinerConfigSchema]
22
22
  static override readonly defaultConfigSchema: Schema = AddressSpaceDivinerConfigSchema
23
23
 
24
- protected override async divineHandler(payloads?: Payload[]) {
25
- assertEx(!payloads?.length, () => 'MemoryAddressSpaceDiviner.divine does not allow payloads to be sent')
24
+ protected override async divineHandler(payloads: Payload[] = []) {
25
+ assertEx(payloads.length === 0, () => 'MemoryAddressSpaceDiviner.divine does not allow payloads to be sent')
26
26
  const archivistMod = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')
27
27
  const archivist = ArchivistWrapper.wrap(archivistMod, this.account)
28
28
  const all = await archivist.all?.()
@@ -0,0 +1,62 @@
1
+ import '@xylabs/vitest-extended'
2
+
3
+ import { Account } from '@xyo-network/account'
4
+ import { MemoryArchivist } from '@xyo-network/archivist-memory'
5
+ import { ArchivistWrapper } from '@xyo-network/archivist-wrapper'
6
+ import { AddressSpaceDivinerConfigSchema } from '@xyo-network/diviner-address-space-model'
7
+ import { AddressSchema } from '@xyo-network/module-model'
8
+ import { MemoryNode } from '@xyo-network/node-memory'
9
+ import { PayloadWrapper } from '@xyo-network/payload-wrapper'
10
+ import {
11
+ describe, expect, it,
12
+ } from 'vitest'
13
+
14
+ import { MemoryAddressSpaceDiviner } from '../MemoryAddressSpaceDiviner.ts'
15
+
16
+ /**
17
+ * @group module
18
+ * @group diviner
19
+ */
20
+
21
+ describe('MemoryAddressSpaceDiviner', () => {
22
+ describe('divine (listed archivists)', () => {
23
+ it('returns divined result', async () => {
24
+ const node = await MemoryNode.create({ account: 'random' })
25
+ const archivistAccount = await Account.random()
26
+ const divinerAccount = await Account.random()
27
+ const wrapperAccount = await Account.random()
28
+ const archivist = ArchivistWrapper.wrap(
29
+ await MemoryArchivist.create({ account: archivistAccount, config: { schema: MemoryArchivist.defaultConfigSchema, storeQueries: true } }),
30
+ wrapperAccount,
31
+ )
32
+
33
+ const payload1 = PayloadWrapper.wrap({ index: 1, schema: 'network.xyo.test' })
34
+ const payload2 = PayloadWrapper.wrap({ index: 2, schema: 'network.xyo.test' })
35
+ const payload3 = PayloadWrapper.wrap({ index: 3, schema: 'network.xyo.test' })
36
+
37
+ await archivist.insert([payload1.payload])
38
+ await archivist.insert([payload2.payload])
39
+ await archivist.insert([payload3.payload])
40
+
41
+ const all = await archivist.all()
42
+
43
+ expect(all).toBeArrayOfSize(6)
44
+
45
+ await node.register(archivist)
46
+ await node.attach(archivist.address)
47
+ const diviner = await MemoryAddressSpaceDiviner.create({
48
+ account: divinerAccount,
49
+ config: { archivist: archivist.address, schema: AddressSpaceDivinerConfigSchema },
50
+ })
51
+ await node.register(diviner)
52
+ await node.attach(diviner.address)
53
+ const results = await diviner.divine()
54
+ expect(results.length).toBe(1)
55
+ for (const payload of results) {
56
+ expect(payload.schema).toBe(AddressSchema)
57
+ }
58
+ const addresses = results.map(payload => payload.address)
59
+ expect(addresses).toContain(wrapperAccount.address)
60
+ })
61
+ })
62
+ })
package/xy.config.ts DELETED
@@ -1,10 +0,0 @@
1
- import type { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
2
- const config: XyTsupConfig = {
3
- compile: {
4
- browser: {},
5
- neutral: { src: true },
6
- node: {},
7
- },
8
- }
9
-
10
- export default config