@xyo-network/archivist-abstract 2.75.3 → 2.75.5

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,3 +1,4 @@
1
+ // src/AbstractArchivist.ts
1
2
  import { assertEx } from "@xylabs/assert";
2
3
  import { compact } from "@xylabs/lodash";
3
4
  import {
@@ -15,7 +16,7 @@ import { BoundWitnessSchema } from "@xyo-network/boundwitness-model";
15
16
  import { PayloadHasher } from "@xyo-network/core";
16
17
  import { AbstractModuleInstance, duplicateModules } from "@xyo-network/module";
17
18
  import { PayloadWrapper } from "@xyo-network/payload-wrapper";
18
- class AbstractArchivist extends AbstractModuleInstance {
19
+ var AbstractArchivist = class extends AbstractModuleInstance {
19
20
  _lastInsertedPayload;
20
21
  _parents;
21
22
  get queries() {
@@ -261,7 +262,7 @@ class AbstractArchivist extends AbstractModuleInstance {
261
262
  return prev;
262
263
  }, {});
263
264
  }
264
- }
265
+ };
265
266
  export {
266
267
  AbstractArchivist
267
268
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/AbstractArchivist.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { compact } from '@xylabs/lodash'\nimport {\n ArchivistAllQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistDeleteQuery,\n ArchivistDeleteQuerySchema,\n ArchivistGetQuerySchema,\n ArchivistInsertQuerySchema,\n ArchivistInstance,\n ArchivistModuleEventData,\n ArchivistParams,\n ArchivistQuery,\n ArchivistQueryBase,\n asArchivistInstance,\n isArchivistInstance,\n} from '@xyo-network/archivist-model'\nimport { QueryBoundWitness, QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { BoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { PayloadHasher } from '@xyo-network/core'\nimport { AbstractModuleInstance, duplicateModules, ModuleConfig, ModuleQueryHandlerResult } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\nimport { Promisable, PromisableArray } from '@xyo-network/promise'\n\nexport interface ActionConfig {\n emitEvents?: boolean\n}\n\nexport interface InsertConfig extends ActionConfig {\n writeToParents?: boolean\n}\n\nexport interface ArchivistParentInstances {\n commit?: Record<string, ArchivistInstance>\n read?: Record<string, ArchivistInstance>\n write?: Record<string, ArchivistInstance>\n}\n\nexport abstract class AbstractArchivist<\n TParams extends ArchivistParams = ArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n >\n extends AbstractModuleInstance<TParams, TEventData>\n implements ArchivistInstance<TParams>\n{\n private _lastInsertedPayload: Payload | undefined\n private _parents?: ArchivistParentInstances\n\n override get queries(): string[] {\n return [ArchivistGetQuerySchema, ...super.queries]\n }\n\n get requireAllParents() {\n return this.config.requireAllParents ?? true\n }\n\n protected override get _queryAccountPaths(): Record<ArchivistQueryBase['schema'], string> {\n return {\n 'network.xyo.query.archivist.all': '1/1',\n 'network.xyo.query.archivist.clear': '1/2',\n 'network.xyo.query.archivist.commit': '1/3',\n 'network.xyo.query.archivist.delete': '1/4',\n 'network.xyo.query.archivist.get': '1/5',\n 'network.xyo.query.archivist.insert': '1/6',\n }\n }\n\n protected get storeParentReads() {\n return !!this.config?.storeParentReads\n }\n\n all(): PromisableArray<Payload> {\n this._noOverride('all')\n return this.busy(async () => {\n await this.started('throw')\n return await this.allHandler()\n })\n }\n\n clear(): Promisable<void> {\n this._noOverride('clear')\n return this.busy(async () => {\n await this.started('throw')\n return await this.clearHandler()\n })\n }\n\n commit(): Promisable<BoundWitness[]> {\n this._noOverride('commit')\n return this.busy(async () => {\n await this.started('throw')\n return await this.commitHandler()\n })\n }\n\n async delete(hashes: string[]): Promise<string[]> {\n this._noOverride('delete')\n return await this.busy(async () => {\n await this.started('throw')\n return await this.deleteWithConfig(hashes)\n })\n }\n\n async get(hashes: string[]): Promise<Payload[]> {\n this._noOverride('get')\n return await this.busy(async () => {\n await this.started('throw')\n return await this.getWithConfig(hashes)\n })\n }\n\n async insert(payloads: Payload[]): Promise<Payload[]> {\n this._noOverride('insert')\n return await this.busy(async () => {\n await this.started('throw')\n return await this.insertWithConfig(payloads)\n })\n }\n\n protected allHandler(): PromisableArray<Payload> {\n throw Error('Not implemented')\n }\n\n protected clearHandler(): Promisable<void> {\n throw Error('Not implemented')\n }\n\n protected commitHandler(): Promisable<BoundWitness[]> {\n throw Error('Not implemented')\n }\n\n protected deleteHandler(_hashes: string[]): PromisableArray<string> {\n throw Error('Not implemented')\n }\n\n protected async deleteWithConfig(hashes: string[], config?: ActionConfig): Promise<string[]> {\n const emitEvents = config?.emitEvents ?? true\n\n const deletedHashes = await this.deleteHandler(hashes)\n\n if (emitEvents) {\n await this.emit('deleted', { hashes: deletedHashes, module: this })\n }\n\n return deletedHashes\n }\n\n protected async getFromParent(hashes: string[], archivist: ArchivistInstance): Promise<[Payload[], string[]]> {\n const foundPairs = (\n await Promise.all(\n (await archivist.get(hashes)).map<Promise<[string, Payload]>>(async (payload) => [await PayloadHasher.hashAsync(payload), payload]),\n )\n ).filter(([hash]) => {\n const askedFor = hashes.includes(hash)\n if (!askedFor) {\n console.warn(`Parent returned payload with hash not asked for: ${hash}`)\n //throw Error(`Parent returned payload with hash not asked for: ${hash}`)\n }\n return askedFor\n })\n\n const foundHashes = foundPairs.map(([hash]) => hash)\n const foundPayloads = foundPairs.map(([, payload]) => payload)\n\n const notfound = hashes.filter((hash) => !foundHashes.includes(hash))\n return [foundPayloads, notfound]\n }\n\n protected async getFromParents(hashes: string[]): Promise<[Payload[], string[]]> {\n const parents = Object.values((await this.parents())?.read ?? {})\n let remainingHashes = [...hashes]\n let parentIndex = 0\n let result: Payload[] = []\n\n //intentionally doing this serially\n while (parentIndex < parents.length && remainingHashes.length > 0) {\n const [found, notfound] = await this.getFromParent(remainingHashes, parents[parentIndex])\n result = [...result, ...found]\n remainingHashes = notfound\n parentIndex++\n }\n return [result, remainingHashes]\n }\n\n protected getHandler(_hashes: string[]): Promisable<Payload[]> {\n throw Error('Not implemented')\n }\n\n protected async getWithConfig(hashes: string[], config?: InsertConfig): Promise<Payload[]> {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const emitEvents = config?.emitEvents ?? true\n const map = await PayloadWrapper.toMap(await this.getHandler(hashes))\n\n const { foundPayloads, notfoundHashes } = hashes.reduce<{ foundPayloads: Payload[]; notfoundHashes: string[] }>(\n (prev, hash) => {\n const found = map[hash]\n if (found) {\n //TODO: Find a better way to scrub meta data without scrubbing _signatures\n if (found.schema === BoundWitnessSchema) {\n prev.foundPayloads.push({ ...PayloadHasher.hashFields(found), ...{ _signatures: (found as BoundWitness)._signatures } } as BoundWitness)\n } else {\n prev.foundPayloads.push({ ...PayloadHasher.hashFields(found) } as Payload)\n }\n } else {\n prev.notfoundHashes.push(hash)\n }\n return prev\n },\n { foundPayloads: [], notfoundHashes: [] },\n )\n\n const [parentFoundPayloads] = await this.getFromParents(notfoundHashes)\n\n if (this.storeParentReads) {\n await this.insertWithConfig(parentFoundPayloads)\n }\n return [...foundPayloads, ...parentFoundPayloads]\n }\n\n protected head(): Promisable<Payload | undefined> {\n return this._lastInsertedPayload\n }\n\n protected insertHandler(_payloads: Payload[]): Promise<Payload[]> {\n throw Error('Not implemented')\n }\n\n protected async insertWithConfig(payloads: Payload[], config?: InsertConfig): Promise<Payload[]> {\n const emitEvents = config?.emitEvents ?? true\n const writeToParents = config?.writeToParents ?? true\n\n const insertedPayloads = await this.insertHandler(payloads)\n\n if (writeToParents) {\n await this.writeToParents(insertedPayloads)\n }\n if (emitEvents) {\n await this.emit('inserted', { module: this, payloads: insertedPayloads })\n }\n\n return insertedPayloads\n }\n\n protected async parents() {\n this._parents = this._parents ?? {\n commit: await this.resolveArchivists(this.config?.parents?.commit),\n read: await this.resolveArchivists(this.config?.parents?.read),\n write: await this.resolveArchivists(this.config?.parents?.write),\n }\n return assertEx(this._parents)\n }\n\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(\n query: T,\n payloads?: Payload[],\n queryConfig?: TConfig,\n ): Promise<ModuleQueryHandlerResult> {\n const wrappedQuery = QueryBoundWitnessWrapper.parseQuery<ArchivistQuery>(query, payloads)\n const queryPayload = await wrappedQuery.getQuery()\n assertEx(this.queryable(query, payloads, queryConfig))\n const resultPayloads: Payload[] = []\n if (this.config.storeQueries) {\n await this.insertHandler([query])\n }\n\n switch (queryPayload.schema) {\n case ArchivistAllQuerySchema:\n resultPayloads.push(...(await this.allHandler()))\n break\n case ArchivistClearQuerySchema:\n await this.clearHandler()\n break\n case ArchivistCommitQuerySchema:\n resultPayloads.push(...(await this.commitHandler()))\n break\n case ArchivistDeleteQuerySchema: {\n const resultPayload: ArchivistDeleteQuery = {\n hashes: [...(await this.deleteWithConfig(queryPayload.hashes))],\n schema: ArchivistDeleteQuerySchema,\n }\n resultPayloads.push(resultPayload)\n break\n }\n case ArchivistGetQuerySchema:\n if (queryPayload.hashes?.length) {\n resultPayloads.push(...(await this.getWithConfig(queryPayload.hashes)))\n } else {\n const head = await this.head()\n if (head) resultPayloads.push(head)\n }\n break\n case ArchivistInsertQuerySchema: {\n const payloads = await wrappedQuery.getPayloads()\n assertEx(await wrappedQuery.getPayloads(), `Missing payloads: ${JSON.stringify(wrappedQuery.payload(), null, 2)}`)\n const resolvedPayloads = await PayloadWrapper.filterExclude(payloads, await wrappedQuery.hashAsync())\n assertEx(resolvedPayloads.length === payloads.length, `Could not find some passed hashes [${resolvedPayloads.length} != ${payloads.length}]`)\n resultPayloads.push(...(await this.insertWithConfig(payloads)))\n // NOTE: There isn't an exact equivalence between what we get and what we store. Once\n // we move to returning only inserted Payloads(/hash) instead of a BoundWitness, we\n // can grab the actual last one\n this._lastInsertedPayload = resolvedPayloads[resolvedPayloads.length - 1]\n break\n }\n default:\n return await super.queryHandler(query, payloads)\n }\n return resultPayloads\n }\n\n protected async writeToParent(parent: ArchivistInstance, payloads: Payload[]) {\n return await parent.insert(payloads)\n }\n\n protected async writeToParents(payloads: Payload[]): Promise<Payload[]> {\n const parents = await this.parents()\n return compact(\n await Promise.all(\n Object.values(parents.write ?? {}).map(async (parent) => {\n return parent ? await this.writeToParent(parent, payloads) : undefined\n }),\n ),\n ).flat()\n }\n\n private async resolveArchivists(archivists: string[] = []) {\n const archivistModules = [...(await this.resolve({ address: archivists })), ...(await this.resolve({ name: archivists }))].filter(\n duplicateModules,\n )\n\n assertEx(\n !this.requireAllParents || archivistModules.length === archivists.length,\n `Failed to find some archivists (set allRequired to false if ok): [${archivists.filter((archivist) =>\n archivistModules.map((module) => !(module.address === archivist || module.config.name === archivist)),\n )}]`,\n )\n\n return archivistModules.reduce<Record<string, ArchivistInstance>>((prev, module) => {\n prev[module.address] = asArchivistInstance(module, () => {\n isArchivistInstance(module, { log: console })\n return `Unable to cast resolved module to an archivist: [${module.address}, ${module.config.name}, ${module.config.schema})}]`\n })\n\n return prev\n }, {})\n }\n}\n"],"mappings":"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","names":["payloads"]}
1
+ {"version":3,"sources":["../../src/AbstractArchivist.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { compact } from '@xylabs/lodash'\nimport {\n ArchivistAllQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistDeleteQuery,\n ArchivistDeleteQuerySchema,\n ArchivistGetQuerySchema,\n ArchivistInsertQuerySchema,\n ArchivistInstance,\n ArchivistModuleEventData,\n ArchivistParams,\n ArchivistQuery,\n ArchivistQueryBase,\n asArchivistInstance,\n isArchivistInstance,\n} from '@xyo-network/archivist-model'\nimport { QueryBoundWitness, QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { BoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { PayloadHasher } from '@xyo-network/core'\nimport { AbstractModuleInstance, duplicateModules, ModuleConfig, ModuleQueryHandlerResult } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\nimport { Promisable, PromisableArray } from '@xyo-network/promise'\n\nexport interface ActionConfig {\n emitEvents?: boolean\n}\n\nexport interface InsertConfig extends ActionConfig {\n writeToParents?: boolean\n}\n\nexport interface ArchivistParentInstances {\n commit?: Record<string, ArchivistInstance>\n read?: Record<string, ArchivistInstance>\n write?: Record<string, ArchivistInstance>\n}\n\nexport abstract class AbstractArchivist<\n TParams extends ArchivistParams = ArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n >\n extends AbstractModuleInstance<TParams, TEventData>\n implements ArchivistInstance<TParams>\n{\n private _lastInsertedPayload: Payload | undefined\n private _parents?: ArchivistParentInstances\n\n override get queries(): string[] {\n return [ArchivistGetQuerySchema, ...super.queries]\n }\n\n get requireAllParents() {\n return this.config.requireAllParents ?? true\n }\n\n protected override get _queryAccountPaths(): Record<ArchivistQueryBase['schema'], string> {\n return {\n 'network.xyo.query.archivist.all': '1/1',\n 'network.xyo.query.archivist.clear': '1/2',\n 'network.xyo.query.archivist.commit': '1/3',\n 'network.xyo.query.archivist.delete': '1/4',\n 'network.xyo.query.archivist.get': '1/5',\n 'network.xyo.query.archivist.insert': '1/6',\n }\n }\n\n protected get storeParentReads() {\n return !!this.config?.storeParentReads\n }\n\n all(): PromisableArray<Payload> {\n this._noOverride('all')\n return this.busy(async () => {\n await this.started('throw')\n return await this.allHandler()\n })\n }\n\n clear(): Promisable<void> {\n this._noOverride('clear')\n return this.busy(async () => {\n await this.started('throw')\n return await this.clearHandler()\n })\n }\n\n commit(): Promisable<BoundWitness[]> {\n this._noOverride('commit')\n return this.busy(async () => {\n await this.started('throw')\n return await this.commitHandler()\n })\n }\n\n async delete(hashes: string[]): Promise<string[]> {\n this._noOverride('delete')\n return await this.busy(async () => {\n await this.started('throw')\n return await this.deleteWithConfig(hashes)\n })\n }\n\n async get(hashes: string[]): Promise<Payload[]> {\n this._noOverride('get')\n return await this.busy(async () => {\n await this.started('throw')\n return await this.getWithConfig(hashes)\n })\n }\n\n async insert(payloads: Payload[]): Promise<Payload[]> {\n this._noOverride('insert')\n return await this.busy(async () => {\n await this.started('throw')\n return await this.insertWithConfig(payloads)\n })\n }\n\n protected allHandler(): PromisableArray<Payload> {\n throw Error('Not implemented')\n }\n\n protected clearHandler(): Promisable<void> {\n throw Error('Not implemented')\n }\n\n protected commitHandler(): Promisable<BoundWitness[]> {\n throw Error('Not implemented')\n }\n\n protected deleteHandler(_hashes: string[]): PromisableArray<string> {\n throw Error('Not implemented')\n }\n\n protected async deleteWithConfig(hashes: string[], config?: ActionConfig): Promise<string[]> {\n const emitEvents = config?.emitEvents ?? true\n\n const deletedHashes = await this.deleteHandler(hashes)\n\n if (emitEvents) {\n await this.emit('deleted', { hashes: deletedHashes, module: this })\n }\n\n return deletedHashes\n }\n\n protected async getFromParent(hashes: string[], archivist: ArchivistInstance): Promise<[Payload[], string[]]> {\n const foundPairs = (\n await Promise.all(\n (await archivist.get(hashes)).map<Promise<[string, Payload]>>(async (payload) => [await PayloadHasher.hashAsync(payload), payload]),\n )\n ).filter(([hash]) => {\n const askedFor = hashes.includes(hash)\n if (!askedFor) {\n console.warn(`Parent returned payload with hash not asked for: ${hash}`)\n //throw Error(`Parent returned payload with hash not asked for: ${hash}`)\n }\n return askedFor\n })\n\n const foundHashes = foundPairs.map(([hash]) => hash)\n const foundPayloads = foundPairs.map(([, payload]) => payload)\n\n const notfound = hashes.filter((hash) => !foundHashes.includes(hash))\n return [foundPayloads, notfound]\n }\n\n protected async getFromParents(hashes: string[]): Promise<[Payload[], string[]]> {\n const parents = Object.values((await this.parents())?.read ?? {})\n let remainingHashes = [...hashes]\n let parentIndex = 0\n let result: Payload[] = []\n\n //intentionally doing this serially\n while (parentIndex < parents.length && remainingHashes.length > 0) {\n const [found, notfound] = await this.getFromParent(remainingHashes, parents[parentIndex])\n result = [...result, ...found]\n remainingHashes = notfound\n parentIndex++\n }\n return [result, remainingHashes]\n }\n\n protected getHandler(_hashes: string[]): Promisable<Payload[]> {\n throw Error('Not implemented')\n }\n\n protected async getWithConfig(hashes: string[], config?: InsertConfig): Promise<Payload[]> {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const emitEvents = config?.emitEvents ?? true\n const map = await PayloadWrapper.toMap(await this.getHandler(hashes))\n\n const { foundPayloads, notfoundHashes } = hashes.reduce<{ foundPayloads: Payload[]; notfoundHashes: string[] }>(\n (prev, hash) => {\n const found = map[hash]\n if (found) {\n //TODO: Find a better way to scrub meta data without scrubbing _signatures\n if (found.schema === BoundWitnessSchema) {\n prev.foundPayloads.push({ ...PayloadHasher.hashFields(found), ...{ _signatures: (found as BoundWitness)._signatures } } as BoundWitness)\n } else {\n prev.foundPayloads.push({ ...PayloadHasher.hashFields(found) } as Payload)\n }\n } else {\n prev.notfoundHashes.push(hash)\n }\n return prev\n },\n { foundPayloads: [], notfoundHashes: [] },\n )\n\n const [parentFoundPayloads] = await this.getFromParents(notfoundHashes)\n\n if (this.storeParentReads) {\n await this.insertWithConfig(parentFoundPayloads)\n }\n return [...foundPayloads, ...parentFoundPayloads]\n }\n\n protected head(): Promisable<Payload | undefined> {\n return this._lastInsertedPayload\n }\n\n protected insertHandler(_payloads: Payload[]): Promise<Payload[]> {\n throw Error('Not implemented')\n }\n\n protected async insertWithConfig(payloads: Payload[], config?: InsertConfig): Promise<Payload[]> {\n const emitEvents = config?.emitEvents ?? true\n const writeToParents = config?.writeToParents ?? true\n\n const insertedPayloads = await this.insertHandler(payloads)\n\n if (writeToParents) {\n await this.writeToParents(insertedPayloads)\n }\n if (emitEvents) {\n await this.emit('inserted', { module: this, payloads: insertedPayloads })\n }\n\n return insertedPayloads\n }\n\n protected async parents() {\n this._parents = this._parents ?? {\n commit: await this.resolveArchivists(this.config?.parents?.commit),\n read: await this.resolveArchivists(this.config?.parents?.read),\n write: await this.resolveArchivists(this.config?.parents?.write),\n }\n return assertEx(this._parents)\n }\n\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(\n query: T,\n payloads?: Payload[],\n queryConfig?: TConfig,\n ): Promise<ModuleQueryHandlerResult> {\n const wrappedQuery = QueryBoundWitnessWrapper.parseQuery<ArchivistQuery>(query, payloads)\n const queryPayload = await wrappedQuery.getQuery()\n assertEx(this.queryable(query, payloads, queryConfig))\n const resultPayloads: Payload[] = []\n if (this.config.storeQueries) {\n await this.insertHandler([query])\n }\n\n switch (queryPayload.schema) {\n case ArchivistAllQuerySchema:\n resultPayloads.push(...(await this.allHandler()))\n break\n case ArchivistClearQuerySchema:\n await this.clearHandler()\n break\n case ArchivistCommitQuerySchema:\n resultPayloads.push(...(await this.commitHandler()))\n break\n case ArchivistDeleteQuerySchema: {\n const resultPayload: ArchivistDeleteQuery = {\n hashes: [...(await this.deleteWithConfig(queryPayload.hashes))],\n schema: ArchivistDeleteQuerySchema,\n }\n resultPayloads.push(resultPayload)\n break\n }\n case ArchivistGetQuerySchema:\n if (queryPayload.hashes?.length) {\n resultPayloads.push(...(await this.getWithConfig(queryPayload.hashes)))\n } else {\n const head = await this.head()\n if (head) resultPayloads.push(head)\n }\n break\n case ArchivistInsertQuerySchema: {\n const payloads = await wrappedQuery.getPayloads()\n assertEx(await wrappedQuery.getPayloads(), `Missing payloads: ${JSON.stringify(wrappedQuery.payload(), null, 2)}`)\n const resolvedPayloads = await PayloadWrapper.filterExclude(payloads, await wrappedQuery.hashAsync())\n assertEx(resolvedPayloads.length === payloads.length, `Could not find some passed hashes [${resolvedPayloads.length} != ${payloads.length}]`)\n resultPayloads.push(...(await this.insertWithConfig(payloads)))\n // NOTE: There isn't an exact equivalence between what we get and what we store. Once\n // we move to returning only inserted Payloads(/hash) instead of a BoundWitness, we\n // can grab the actual last one\n this._lastInsertedPayload = resolvedPayloads[resolvedPayloads.length - 1]\n break\n }\n default:\n return await super.queryHandler(query, payloads)\n }\n return resultPayloads\n }\n\n protected async writeToParent(parent: ArchivistInstance, payloads: Payload[]) {\n return await parent.insert(payloads)\n }\n\n protected async writeToParents(payloads: Payload[]): Promise<Payload[]> {\n const parents = await this.parents()\n return compact(\n await Promise.all(\n Object.values(parents.write ?? {}).map(async (parent) => {\n return parent ? await this.writeToParent(parent, payloads) : undefined\n }),\n ),\n ).flat()\n }\n\n private async resolveArchivists(archivists: string[] = []) {\n const archivistModules = [...(await this.resolve({ address: archivists })), ...(await this.resolve({ name: archivists }))].filter(\n duplicateModules,\n )\n\n assertEx(\n !this.requireAllParents || archivistModules.length === archivists.length,\n `Failed to find some archivists (set allRequired to false if ok): [${archivists.filter((archivist) =>\n archivistModules.map((module) => !(module.address === archivist || module.config.name === archivist)),\n )}]`,\n )\n\n return archivistModules.reduce<Record<string, ArchivistInstance>>((prev, module) => {\n prev[module.address] = asArchivistInstance(module, () => {\n isArchivistInstance(module, { log: console })\n return `Unable to cast resolved module to an archivist: [${module.address}, ${module.config.name}, ${module.config.schema})}]`\n })\n\n return prev\n }, {})\n }\n}\n"],"mappings":"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","names":["payloads"]}
@@ -1,2 +1,269 @@
1
- export * from "./AbstractArchivist";
1
+ // src/AbstractArchivist.ts
2
+ import { assertEx } from "@xylabs/assert";
3
+ import { compact } from "@xylabs/lodash";
4
+ import {
5
+ ArchivistAllQuerySchema,
6
+ ArchivistClearQuerySchema,
7
+ ArchivistCommitQuerySchema,
8
+ ArchivistDeleteQuerySchema,
9
+ ArchivistGetQuerySchema,
10
+ ArchivistInsertQuerySchema,
11
+ asArchivistInstance,
12
+ isArchivistInstance
13
+ } from "@xyo-network/archivist-model";
14
+ import { QueryBoundWitnessWrapper } from "@xyo-network/boundwitness-builder";
15
+ import { BoundWitnessSchema } from "@xyo-network/boundwitness-model";
16
+ import { PayloadHasher } from "@xyo-network/core";
17
+ import { AbstractModuleInstance, duplicateModules } from "@xyo-network/module";
18
+ import { PayloadWrapper } from "@xyo-network/payload-wrapper";
19
+ var AbstractArchivist = class extends AbstractModuleInstance {
20
+ _lastInsertedPayload;
21
+ _parents;
22
+ get queries() {
23
+ return [ArchivistGetQuerySchema, ...super.queries];
24
+ }
25
+ get requireAllParents() {
26
+ return this.config.requireAllParents ?? true;
27
+ }
28
+ get _queryAccountPaths() {
29
+ return {
30
+ "network.xyo.query.archivist.all": "1/1",
31
+ "network.xyo.query.archivist.clear": "1/2",
32
+ "network.xyo.query.archivist.commit": "1/3",
33
+ "network.xyo.query.archivist.delete": "1/4",
34
+ "network.xyo.query.archivist.get": "1/5",
35
+ "network.xyo.query.archivist.insert": "1/6"
36
+ };
37
+ }
38
+ get storeParentReads() {
39
+ return !!this.config?.storeParentReads;
40
+ }
41
+ all() {
42
+ this._noOverride("all");
43
+ return this.busy(async () => {
44
+ await this.started("throw");
45
+ return await this.allHandler();
46
+ });
47
+ }
48
+ clear() {
49
+ this._noOverride("clear");
50
+ return this.busy(async () => {
51
+ await this.started("throw");
52
+ return await this.clearHandler();
53
+ });
54
+ }
55
+ commit() {
56
+ this._noOverride("commit");
57
+ return this.busy(async () => {
58
+ await this.started("throw");
59
+ return await this.commitHandler();
60
+ });
61
+ }
62
+ async delete(hashes) {
63
+ this._noOverride("delete");
64
+ return await this.busy(async () => {
65
+ await this.started("throw");
66
+ return await this.deleteWithConfig(hashes);
67
+ });
68
+ }
69
+ async get(hashes) {
70
+ this._noOverride("get");
71
+ return await this.busy(async () => {
72
+ await this.started("throw");
73
+ return await this.getWithConfig(hashes);
74
+ });
75
+ }
76
+ async insert(payloads) {
77
+ this._noOverride("insert");
78
+ return await this.busy(async () => {
79
+ await this.started("throw");
80
+ return await this.insertWithConfig(payloads);
81
+ });
82
+ }
83
+ allHandler() {
84
+ throw Error("Not implemented");
85
+ }
86
+ clearHandler() {
87
+ throw Error("Not implemented");
88
+ }
89
+ commitHandler() {
90
+ throw Error("Not implemented");
91
+ }
92
+ deleteHandler(_hashes) {
93
+ throw Error("Not implemented");
94
+ }
95
+ async deleteWithConfig(hashes, config) {
96
+ const emitEvents = config?.emitEvents ?? true;
97
+ const deletedHashes = await this.deleteHandler(hashes);
98
+ if (emitEvents) {
99
+ await this.emit("deleted", { hashes: deletedHashes, module: this });
100
+ }
101
+ return deletedHashes;
102
+ }
103
+ async getFromParent(hashes, archivist) {
104
+ const foundPairs = (await Promise.all(
105
+ (await archivist.get(hashes)).map(async (payload) => [await PayloadHasher.hashAsync(payload), payload])
106
+ )).filter(([hash]) => {
107
+ const askedFor = hashes.includes(hash);
108
+ if (!askedFor) {
109
+ console.warn(`Parent returned payload with hash not asked for: ${hash}`);
110
+ }
111
+ return askedFor;
112
+ });
113
+ const foundHashes = foundPairs.map(([hash]) => hash);
114
+ const foundPayloads = foundPairs.map(([, payload]) => payload);
115
+ const notfound = hashes.filter((hash) => !foundHashes.includes(hash));
116
+ return [foundPayloads, notfound];
117
+ }
118
+ async getFromParents(hashes) {
119
+ const parents = Object.values((await this.parents())?.read ?? {});
120
+ let remainingHashes = [...hashes];
121
+ let parentIndex = 0;
122
+ let result = [];
123
+ while (parentIndex < parents.length && remainingHashes.length > 0) {
124
+ const [found, notfound] = await this.getFromParent(remainingHashes, parents[parentIndex]);
125
+ result = [...result, ...found];
126
+ remainingHashes = notfound;
127
+ parentIndex++;
128
+ }
129
+ return [result, remainingHashes];
130
+ }
131
+ getHandler(_hashes) {
132
+ throw Error("Not implemented");
133
+ }
134
+ async getWithConfig(hashes, config) {
135
+ const emitEvents = config?.emitEvents ?? true;
136
+ const map = await PayloadWrapper.toMap(await this.getHandler(hashes));
137
+ const { foundPayloads, notfoundHashes } = hashes.reduce(
138
+ (prev, hash) => {
139
+ const found = map[hash];
140
+ if (found) {
141
+ if (found.schema === BoundWitnessSchema) {
142
+ prev.foundPayloads.push({ ...PayloadHasher.hashFields(found), ...{ _signatures: found._signatures } });
143
+ } else {
144
+ prev.foundPayloads.push({ ...PayloadHasher.hashFields(found) });
145
+ }
146
+ } else {
147
+ prev.notfoundHashes.push(hash);
148
+ }
149
+ return prev;
150
+ },
151
+ { foundPayloads: [], notfoundHashes: [] }
152
+ );
153
+ const [parentFoundPayloads] = await this.getFromParents(notfoundHashes);
154
+ if (this.storeParentReads) {
155
+ await this.insertWithConfig(parentFoundPayloads);
156
+ }
157
+ return [...foundPayloads, ...parentFoundPayloads];
158
+ }
159
+ head() {
160
+ return this._lastInsertedPayload;
161
+ }
162
+ insertHandler(_payloads) {
163
+ throw Error("Not implemented");
164
+ }
165
+ async insertWithConfig(payloads, config) {
166
+ const emitEvents = config?.emitEvents ?? true;
167
+ const writeToParents = config?.writeToParents ?? true;
168
+ const insertedPayloads = await this.insertHandler(payloads);
169
+ if (writeToParents) {
170
+ await this.writeToParents(insertedPayloads);
171
+ }
172
+ if (emitEvents) {
173
+ await this.emit("inserted", { module: this, payloads: insertedPayloads });
174
+ }
175
+ return insertedPayloads;
176
+ }
177
+ async parents() {
178
+ this._parents = this._parents ?? {
179
+ commit: await this.resolveArchivists(this.config?.parents?.commit),
180
+ read: await this.resolveArchivists(this.config?.parents?.read),
181
+ write: await this.resolveArchivists(this.config?.parents?.write)
182
+ };
183
+ return assertEx(this._parents);
184
+ }
185
+ async queryHandler(query, payloads, queryConfig) {
186
+ const wrappedQuery = QueryBoundWitnessWrapper.parseQuery(query, payloads);
187
+ const queryPayload = await wrappedQuery.getQuery();
188
+ assertEx(this.queryable(query, payloads, queryConfig));
189
+ const resultPayloads = [];
190
+ if (this.config.storeQueries) {
191
+ await this.insertHandler([query]);
192
+ }
193
+ switch (queryPayload.schema) {
194
+ case ArchivistAllQuerySchema:
195
+ resultPayloads.push(...await this.allHandler());
196
+ break;
197
+ case ArchivistClearQuerySchema:
198
+ await this.clearHandler();
199
+ break;
200
+ case ArchivistCommitQuerySchema:
201
+ resultPayloads.push(...await this.commitHandler());
202
+ break;
203
+ case ArchivistDeleteQuerySchema: {
204
+ const resultPayload = {
205
+ hashes: [...await this.deleteWithConfig(queryPayload.hashes)],
206
+ schema: ArchivistDeleteQuerySchema
207
+ };
208
+ resultPayloads.push(resultPayload);
209
+ break;
210
+ }
211
+ case ArchivistGetQuerySchema:
212
+ if (queryPayload.hashes?.length) {
213
+ resultPayloads.push(...await this.getWithConfig(queryPayload.hashes));
214
+ } else {
215
+ const head = await this.head();
216
+ if (head)
217
+ resultPayloads.push(head);
218
+ }
219
+ break;
220
+ case ArchivistInsertQuerySchema: {
221
+ const payloads2 = await wrappedQuery.getPayloads();
222
+ assertEx(await wrappedQuery.getPayloads(), `Missing payloads: ${JSON.stringify(wrappedQuery.payload(), null, 2)}`);
223
+ const resolvedPayloads = await PayloadWrapper.filterExclude(payloads2, await wrappedQuery.hashAsync());
224
+ assertEx(resolvedPayloads.length === payloads2.length, `Could not find some passed hashes [${resolvedPayloads.length} != ${payloads2.length}]`);
225
+ resultPayloads.push(...await this.insertWithConfig(payloads2));
226
+ this._lastInsertedPayload = resolvedPayloads[resolvedPayloads.length - 1];
227
+ break;
228
+ }
229
+ default:
230
+ return await super.queryHandler(query, payloads);
231
+ }
232
+ return resultPayloads;
233
+ }
234
+ async writeToParent(parent, payloads) {
235
+ return await parent.insert(payloads);
236
+ }
237
+ async writeToParents(payloads) {
238
+ const parents = await this.parents();
239
+ return compact(
240
+ await Promise.all(
241
+ Object.values(parents.write ?? {}).map(async (parent) => {
242
+ return parent ? await this.writeToParent(parent, payloads) : void 0;
243
+ })
244
+ )
245
+ ).flat();
246
+ }
247
+ async resolveArchivists(archivists = []) {
248
+ const archivistModules = [...await this.resolve({ address: archivists }), ...await this.resolve({ name: archivists })].filter(
249
+ duplicateModules
250
+ );
251
+ assertEx(
252
+ !this.requireAllParents || archivistModules.length === archivists.length,
253
+ `Failed to find some archivists (set allRequired to false if ok): [${archivists.filter(
254
+ (archivist) => archivistModules.map((module) => !(module.address === archivist || module.config.name === archivist))
255
+ )}]`
256
+ );
257
+ return archivistModules.reduce((prev, module) => {
258
+ prev[module.address] = asArchivistInstance(module, () => {
259
+ isArchivistInstance(module, { log: console });
260
+ return `Unable to cast resolved module to an archivist: [${module.address}, ${module.config.name}, ${module.config.schema})}]`;
261
+ });
262
+ return prev;
263
+ }, {});
264
+ }
265
+ };
266
+ export {
267
+ AbstractArchivist
268
+ };
2
269
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './AbstractArchivist'\n"],"mappings":"AAAA,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../src/AbstractArchivist.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { compact } from '@xylabs/lodash'\nimport {\n ArchivistAllQuerySchema,\n ArchivistClearQuerySchema,\n ArchivistCommitQuerySchema,\n ArchivistDeleteQuery,\n ArchivistDeleteQuerySchema,\n ArchivistGetQuerySchema,\n ArchivistInsertQuerySchema,\n ArchivistInstance,\n ArchivistModuleEventData,\n ArchivistParams,\n ArchivistQuery,\n ArchivistQueryBase,\n asArchivistInstance,\n isArchivistInstance,\n} from '@xyo-network/archivist-model'\nimport { QueryBoundWitness, QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { BoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { PayloadHasher } from '@xyo-network/core'\nimport { AbstractModuleInstance, duplicateModules, ModuleConfig, ModuleQueryHandlerResult } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\nimport { Promisable, PromisableArray } from '@xyo-network/promise'\n\nexport interface ActionConfig {\n emitEvents?: boolean\n}\n\nexport interface InsertConfig extends ActionConfig {\n writeToParents?: boolean\n}\n\nexport interface ArchivistParentInstances {\n commit?: Record<string, ArchivistInstance>\n read?: Record<string, ArchivistInstance>\n write?: Record<string, ArchivistInstance>\n}\n\nexport abstract class AbstractArchivist<\n TParams extends ArchivistParams = ArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n >\n extends AbstractModuleInstance<TParams, TEventData>\n implements ArchivistInstance<TParams>\n{\n private _lastInsertedPayload: Payload | undefined\n private _parents?: ArchivistParentInstances\n\n override get queries(): string[] {\n return [ArchivistGetQuerySchema, ...super.queries]\n }\n\n get requireAllParents() {\n return this.config.requireAllParents ?? true\n }\n\n protected override get _queryAccountPaths(): Record<ArchivistQueryBase['schema'], string> {\n return {\n 'network.xyo.query.archivist.all': '1/1',\n 'network.xyo.query.archivist.clear': '1/2',\n 'network.xyo.query.archivist.commit': '1/3',\n 'network.xyo.query.archivist.delete': '1/4',\n 'network.xyo.query.archivist.get': '1/5',\n 'network.xyo.query.archivist.insert': '1/6',\n }\n }\n\n protected get storeParentReads() {\n return !!this.config?.storeParentReads\n }\n\n all(): PromisableArray<Payload> {\n this._noOverride('all')\n return this.busy(async () => {\n await this.started('throw')\n return await this.allHandler()\n })\n }\n\n clear(): Promisable<void> {\n this._noOverride('clear')\n return this.busy(async () => {\n await this.started('throw')\n return await this.clearHandler()\n })\n }\n\n commit(): Promisable<BoundWitness[]> {\n this._noOverride('commit')\n return this.busy(async () => {\n await this.started('throw')\n return await this.commitHandler()\n })\n }\n\n async delete(hashes: string[]): Promise<string[]> {\n this._noOverride('delete')\n return await this.busy(async () => {\n await this.started('throw')\n return await this.deleteWithConfig(hashes)\n })\n }\n\n async get(hashes: string[]): Promise<Payload[]> {\n this._noOverride('get')\n return await this.busy(async () => {\n await this.started('throw')\n return await this.getWithConfig(hashes)\n })\n }\n\n async insert(payloads: Payload[]): Promise<Payload[]> {\n this._noOverride('insert')\n return await this.busy(async () => {\n await this.started('throw')\n return await this.insertWithConfig(payloads)\n })\n }\n\n protected allHandler(): PromisableArray<Payload> {\n throw Error('Not implemented')\n }\n\n protected clearHandler(): Promisable<void> {\n throw Error('Not implemented')\n }\n\n protected commitHandler(): Promisable<BoundWitness[]> {\n throw Error('Not implemented')\n }\n\n protected deleteHandler(_hashes: string[]): PromisableArray<string> {\n throw Error('Not implemented')\n }\n\n protected async deleteWithConfig(hashes: string[], config?: ActionConfig): Promise<string[]> {\n const emitEvents = config?.emitEvents ?? true\n\n const deletedHashes = await this.deleteHandler(hashes)\n\n if (emitEvents) {\n await this.emit('deleted', { hashes: deletedHashes, module: this })\n }\n\n return deletedHashes\n }\n\n protected async getFromParent(hashes: string[], archivist: ArchivistInstance): Promise<[Payload[], string[]]> {\n const foundPairs = (\n await Promise.all(\n (await archivist.get(hashes)).map<Promise<[string, Payload]>>(async (payload) => [await PayloadHasher.hashAsync(payload), payload]),\n )\n ).filter(([hash]) => {\n const askedFor = hashes.includes(hash)\n if (!askedFor) {\n console.warn(`Parent returned payload with hash not asked for: ${hash}`)\n //throw Error(`Parent returned payload with hash not asked for: ${hash}`)\n }\n return askedFor\n })\n\n const foundHashes = foundPairs.map(([hash]) => hash)\n const foundPayloads = foundPairs.map(([, payload]) => payload)\n\n const notfound = hashes.filter((hash) => !foundHashes.includes(hash))\n return [foundPayloads, notfound]\n }\n\n protected async getFromParents(hashes: string[]): Promise<[Payload[], string[]]> {\n const parents = Object.values((await this.parents())?.read ?? {})\n let remainingHashes = [...hashes]\n let parentIndex = 0\n let result: Payload[] = []\n\n //intentionally doing this serially\n while (parentIndex < parents.length && remainingHashes.length > 0) {\n const [found, notfound] = await this.getFromParent(remainingHashes, parents[parentIndex])\n result = [...result, ...found]\n remainingHashes = notfound\n parentIndex++\n }\n return [result, remainingHashes]\n }\n\n protected getHandler(_hashes: string[]): Promisable<Payload[]> {\n throw Error('Not implemented')\n }\n\n protected async getWithConfig(hashes: string[], config?: InsertConfig): Promise<Payload[]> {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const emitEvents = config?.emitEvents ?? true\n const map = await PayloadWrapper.toMap(await this.getHandler(hashes))\n\n const { foundPayloads, notfoundHashes } = hashes.reduce<{ foundPayloads: Payload[]; notfoundHashes: string[] }>(\n (prev, hash) => {\n const found = map[hash]\n if (found) {\n //TODO: Find a better way to scrub meta data without scrubbing _signatures\n if (found.schema === BoundWitnessSchema) {\n prev.foundPayloads.push({ ...PayloadHasher.hashFields(found), ...{ _signatures: (found as BoundWitness)._signatures } } as BoundWitness)\n } else {\n prev.foundPayloads.push({ ...PayloadHasher.hashFields(found) } as Payload)\n }\n } else {\n prev.notfoundHashes.push(hash)\n }\n return prev\n },\n { foundPayloads: [], notfoundHashes: [] },\n )\n\n const [parentFoundPayloads] = await this.getFromParents(notfoundHashes)\n\n if (this.storeParentReads) {\n await this.insertWithConfig(parentFoundPayloads)\n }\n return [...foundPayloads, ...parentFoundPayloads]\n }\n\n protected head(): Promisable<Payload | undefined> {\n return this._lastInsertedPayload\n }\n\n protected insertHandler(_payloads: Payload[]): Promise<Payload[]> {\n throw Error('Not implemented')\n }\n\n protected async insertWithConfig(payloads: Payload[], config?: InsertConfig): Promise<Payload[]> {\n const emitEvents = config?.emitEvents ?? true\n const writeToParents = config?.writeToParents ?? true\n\n const insertedPayloads = await this.insertHandler(payloads)\n\n if (writeToParents) {\n await this.writeToParents(insertedPayloads)\n }\n if (emitEvents) {\n await this.emit('inserted', { module: this, payloads: insertedPayloads })\n }\n\n return insertedPayloads\n }\n\n protected async parents() {\n this._parents = this._parents ?? {\n commit: await this.resolveArchivists(this.config?.parents?.commit),\n read: await this.resolveArchivists(this.config?.parents?.read),\n write: await this.resolveArchivists(this.config?.parents?.write),\n }\n return assertEx(this._parents)\n }\n\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(\n query: T,\n payloads?: Payload[],\n queryConfig?: TConfig,\n ): Promise<ModuleQueryHandlerResult> {\n const wrappedQuery = QueryBoundWitnessWrapper.parseQuery<ArchivistQuery>(query, payloads)\n const queryPayload = await wrappedQuery.getQuery()\n assertEx(this.queryable(query, payloads, queryConfig))\n const resultPayloads: Payload[] = []\n if (this.config.storeQueries) {\n await this.insertHandler([query])\n }\n\n switch (queryPayload.schema) {\n case ArchivistAllQuerySchema:\n resultPayloads.push(...(await this.allHandler()))\n break\n case ArchivistClearQuerySchema:\n await this.clearHandler()\n break\n case ArchivistCommitQuerySchema:\n resultPayloads.push(...(await this.commitHandler()))\n break\n case ArchivistDeleteQuerySchema: {\n const resultPayload: ArchivistDeleteQuery = {\n hashes: [...(await this.deleteWithConfig(queryPayload.hashes))],\n schema: ArchivistDeleteQuerySchema,\n }\n resultPayloads.push(resultPayload)\n break\n }\n case ArchivistGetQuerySchema:\n if (queryPayload.hashes?.length) {\n resultPayloads.push(...(await this.getWithConfig(queryPayload.hashes)))\n } else {\n const head = await this.head()\n if (head) resultPayloads.push(head)\n }\n break\n case ArchivistInsertQuerySchema: {\n const payloads = await wrappedQuery.getPayloads()\n assertEx(await wrappedQuery.getPayloads(), `Missing payloads: ${JSON.stringify(wrappedQuery.payload(), null, 2)}`)\n const resolvedPayloads = await PayloadWrapper.filterExclude(payloads, await wrappedQuery.hashAsync())\n assertEx(resolvedPayloads.length === payloads.length, `Could not find some passed hashes [${resolvedPayloads.length} != ${payloads.length}]`)\n resultPayloads.push(...(await this.insertWithConfig(payloads)))\n // NOTE: There isn't an exact equivalence between what we get and what we store. Once\n // we move to returning only inserted Payloads(/hash) instead of a BoundWitness, we\n // can grab the actual last one\n this._lastInsertedPayload = resolvedPayloads[resolvedPayloads.length - 1]\n break\n }\n default:\n return await super.queryHandler(query, payloads)\n }\n return resultPayloads\n }\n\n protected async writeToParent(parent: ArchivistInstance, payloads: Payload[]) {\n return await parent.insert(payloads)\n }\n\n protected async writeToParents(payloads: Payload[]): Promise<Payload[]> {\n const parents = await this.parents()\n return compact(\n await Promise.all(\n Object.values(parents.write ?? {}).map(async (parent) => {\n return parent ? await this.writeToParent(parent, payloads) : undefined\n }),\n ),\n ).flat()\n }\n\n private async resolveArchivists(archivists: string[] = []) {\n const archivistModules = [...(await this.resolve({ address: archivists })), ...(await this.resolve({ name: archivists }))].filter(\n duplicateModules,\n )\n\n assertEx(\n !this.requireAllParents || archivistModules.length === archivists.length,\n `Failed to find some archivists (set allRequired to false if ok): [${archivists.filter((archivist) =>\n archivistModules.map((module) => !(module.address === archivist || module.config.name === archivist)),\n )}]`,\n )\n\n return archivistModules.reduce<Record<string, ArchivistInstance>>((prev, module) => {\n prev[module.address] = asArchivistInstance(module, () => {\n isArchivistInstance(module, { log: console })\n return `Unable to cast resolved module to an archivist: [${module.address}, ${module.config.name}, ${module.config.schema})}]`\n })\n\n return prev\n }, {})\n }\n}\n"],"mappings":"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","names":["payloads"]}
package/dist/docs.json CHANGED
@@ -3630,7 +3630,7 @@
3630
3630
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
3631
3631
  "line": 48,
3632
3632
  "character": 10,
3633
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L48"
3633
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L48"
3634
3634
  }
3635
3635
  ],
3636
3636
  "type": {
@@ -3716,7 +3716,7 @@
3716
3716
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
3717
3717
  "line": 49,
3718
3718
  "character": 10,
3719
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L49"
3719
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L49"
3720
3720
  }
3721
3721
  ],
3722
3722
  "type": {
@@ -4488,7 +4488,7 @@
4488
4488
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
4489
4489
  "line": 59,
4490
4490
  "character": 25,
4491
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L59"
4491
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L59"
4492
4492
  }
4493
4493
  ],
4494
4494
  "getSignature": {
@@ -4502,7 +4502,7 @@
4502
4502
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
4503
4503
  "line": 59,
4504
4504
  "character": 2,
4505
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L59"
4505
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L59"
4506
4506
  }
4507
4507
  ],
4508
4508
  "type": {
@@ -4879,7 +4879,7 @@
4879
4879
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
4880
4880
  "line": 51,
4881
4881
  "character": 15,
4882
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L51"
4882
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L51"
4883
4883
  }
4884
4884
  ],
4885
4885
  "getSignature": {
@@ -4893,7 +4893,7 @@
4893
4893
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
4894
4894
  "line": 51,
4895
4895
  "character": 2,
4896
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L51"
4896
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L51"
4897
4897
  }
4898
4898
  ],
4899
4899
  "type": {
@@ -5095,7 +5095,7 @@
5095
5095
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
5096
5096
  "line": 55,
5097
5097
  "character": 6,
5098
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L55"
5098
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L55"
5099
5099
  }
5100
5100
  ],
5101
5101
  "getSignature": {
@@ -5109,7 +5109,7 @@
5109
5109
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
5110
5110
  "line": 55,
5111
5111
  "character": 2,
5112
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L55"
5112
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L55"
5113
5113
  }
5114
5114
  ],
5115
5115
  "type": {
@@ -5131,7 +5131,7 @@
5131
5131
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
5132
5132
  "line": 70,
5133
5133
  "character": 16,
5134
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L70"
5134
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L70"
5135
5135
  }
5136
5136
  ],
5137
5137
  "getSignature": {
@@ -5145,7 +5145,7 @@
5145
5145
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
5146
5146
  "line": 70,
5147
5147
  "character": 2,
5148
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L70"
5148
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L70"
5149
5149
  }
5150
5150
  ],
5151
5151
  "type": {
@@ -5365,7 +5365,7 @@
5365
5365
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
5366
5366
  "line": 74,
5367
5367
  "character": 2,
5368
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L74"
5368
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L74"
5369
5369
  }
5370
5370
  ],
5371
5371
  "signatures": [
@@ -5380,7 +5380,7 @@
5380
5380
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
5381
5381
  "line": 74,
5382
5382
  "character": 2,
5383
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L74"
5383
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L74"
5384
5384
  }
5385
5385
  ],
5386
5386
  "type": {
@@ -5479,7 +5479,7 @@
5479
5479
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
5480
5480
  "line": 122,
5481
5481
  "character": 12,
5482
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L122"
5482
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L122"
5483
5483
  }
5484
5484
  ],
5485
5485
  "signatures": [
@@ -5494,7 +5494,7 @@
5494
5494
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
5495
5495
  "line": 122,
5496
5496
  "character": 2,
5497
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L122"
5497
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L122"
5498
5498
  }
5499
5499
  ],
5500
5500
  "type": {
@@ -7535,7 +7535,7 @@
7535
7535
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
7536
7536
  "line": 82,
7537
7537
  "character": 2,
7538
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L82"
7538
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L82"
7539
7539
  }
7540
7540
  ],
7541
7541
  "signatures": [
@@ -7550,7 +7550,7 @@
7550
7550
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
7551
7551
  "line": 82,
7552
7552
  "character": 2,
7553
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L82"
7553
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L82"
7554
7554
  }
7555
7555
  ],
7556
7556
  "type": {
@@ -7594,7 +7594,7 @@
7594
7594
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
7595
7595
  "line": 126,
7596
7596
  "character": 12,
7597
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L126"
7597
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L126"
7598
7598
  }
7599
7599
  ],
7600
7600
  "signatures": [
@@ -7609,7 +7609,7 @@
7609
7609
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
7610
7610
  "line": 126,
7611
7611
  "character": 2,
7612
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L126"
7612
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L126"
7613
7613
  }
7614
7614
  ],
7615
7615
  "type": {
@@ -7732,7 +7732,7 @@
7732
7732
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
7733
7733
  "line": 90,
7734
7734
  "character": 2,
7735
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L90"
7735
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L90"
7736
7736
  }
7737
7737
  ],
7738
7738
  "signatures": [
@@ -7747,7 +7747,7 @@
7747
7747
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
7748
7748
  "line": 90,
7749
7749
  "character": 2,
7750
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L90"
7750
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L90"
7751
7751
  }
7752
7752
  ],
7753
7753
  "type": {
@@ -7867,7 +7867,7 @@
7867
7867
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
7868
7868
  "line": 130,
7869
7869
  "character": 12,
7870
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L130"
7870
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L130"
7871
7871
  }
7872
7872
  ],
7873
7873
  "signatures": [
@@ -7882,7 +7882,7 @@
7882
7882
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
7883
7883
  "line": 130,
7884
7884
  "character": 2,
7885
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L130"
7885
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L130"
7886
7886
  }
7887
7887
  ],
7888
7888
  "type": {
@@ -7990,7 +7990,7 @@
7990
7990
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
7991
7991
  "line": 98,
7992
7992
  "character": 8,
7993
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L98"
7993
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L98"
7994
7994
  }
7995
7995
  ],
7996
7996
  "signatures": [
@@ -8005,7 +8005,7 @@
8005
8005
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
8006
8006
  "line": 98,
8007
8007
  "character": 2,
8008
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L98"
8008
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L98"
8009
8009
  }
8010
8010
  ],
8011
8011
  "parameters": [
@@ -8068,7 +8068,7 @@
8068
8068
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
8069
8069
  "line": 134,
8070
8070
  "character": 12,
8071
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L134"
8071
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L134"
8072
8072
  }
8073
8073
  ],
8074
8074
  "signatures": [
@@ -8083,7 +8083,7 @@
8083
8083
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
8084
8084
  "line": 134,
8085
8085
  "character": 2,
8086
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L134"
8086
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L134"
8087
8087
  }
8088
8088
  ],
8089
8089
  "parameters": [
@@ -8133,7 +8133,7 @@
8133
8133
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
8134
8134
  "line": 138,
8135
8135
  "character": 18,
8136
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L138"
8136
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L138"
8137
8137
  }
8138
8138
  ],
8139
8139
  "signatures": [
@@ -8148,7 +8148,7 @@
8148
8148
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
8149
8149
  "line": 138,
8150
8150
  "character": 2,
8151
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L138"
8151
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L138"
8152
8152
  }
8153
8153
  ],
8154
8154
  "parameters": [
@@ -9040,7 +9040,7 @@
9040
9040
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
9041
9041
  "line": 106,
9042
9042
  "character": 8,
9043
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L106"
9043
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L106"
9044
9044
  }
9045
9045
  ],
9046
9046
  "signatures": [
@@ -9055,7 +9055,7 @@
9055
9055
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
9056
9056
  "line": 106,
9057
9057
  "character": 2,
9058
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L106"
9058
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L106"
9059
9059
  }
9060
9060
  ],
9061
9061
  "parameters": [
@@ -9266,7 +9266,7 @@
9266
9266
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
9267
9267
  "line": 150,
9268
9268
  "character": 18,
9269
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L150"
9269
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L150"
9270
9270
  }
9271
9271
  ],
9272
9272
  "signatures": [
@@ -9281,7 +9281,7 @@
9281
9281
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
9282
9282
  "line": 150,
9283
9283
  "character": 2,
9284
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L150"
9284
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L150"
9285
9285
  }
9286
9286
  ],
9287
9287
  "parameters": [
@@ -9417,7 +9417,7 @@
9417
9417
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
9418
9418
  "line": 171,
9419
9419
  "character": 18,
9420
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L171"
9420
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L171"
9421
9421
  }
9422
9422
  ],
9423
9423
  "signatures": [
@@ -9432,7 +9432,7 @@
9432
9432
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
9433
9433
  "line": 171,
9434
9434
  "character": 2,
9435
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L171"
9435
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L171"
9436
9436
  }
9437
9437
  ],
9438
9438
  "parameters": [
@@ -9552,7 +9552,7 @@
9552
9552
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
9553
9553
  "line": 187,
9554
9554
  "character": 12,
9555
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L187"
9555
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L187"
9556
9556
  }
9557
9557
  ],
9558
9558
  "signatures": [
@@ -9567,7 +9567,7 @@
9567
9567
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
9568
9568
  "line": 187,
9569
9569
  "character": 2,
9570
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L187"
9570
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L187"
9571
9571
  }
9572
9572
  ],
9573
9573
  "parameters": [
@@ -9675,7 +9675,7 @@
9675
9675
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
9676
9676
  "line": 191,
9677
9677
  "character": 18,
9678
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L191"
9678
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L191"
9679
9679
  }
9680
9680
  ],
9681
9681
  "signatures": [
@@ -9690,7 +9690,7 @@
9690
9690
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
9691
9691
  "line": 191,
9692
9692
  "character": 2,
9693
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L191"
9693
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L191"
9694
9694
  }
9695
9695
  ],
9696
9696
  "parameters": [
@@ -9813,7 +9813,7 @@
9813
9813
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
9814
9814
  "line": 222,
9815
9815
  "character": 12,
9816
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L222"
9816
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L222"
9817
9817
  }
9818
9818
  ],
9819
9819
  "signatures": [
@@ -9828,7 +9828,7 @@
9828
9828
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
9829
9829
  "line": 222,
9830
9830
  "character": 2,
9831
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L222"
9831
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L222"
9832
9832
  }
9833
9833
  ],
9834
9834
  "type": {
@@ -9981,7 +9981,7 @@
9981
9981
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
9982
9982
  "line": 114,
9983
9983
  "character": 8,
9984
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L114"
9984
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L114"
9985
9985
  }
9986
9986
  ],
9987
9987
  "signatures": [
@@ -9996,7 +9996,7 @@
9996
9996
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
9997
9997
  "line": 114,
9998
9998
  "character": 2,
9999
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L114"
9999
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L114"
10000
10000
  }
10001
10001
  ],
10002
10002
  "parameters": [
@@ -10169,7 +10169,7 @@
10169
10169
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
10170
10170
  "line": 226,
10171
10171
  "character": 12,
10172
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L226"
10172
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L226"
10173
10173
  }
10174
10174
  ],
10175
10175
  "signatures": [
@@ -10184,7 +10184,7 @@
10184
10184
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
10185
10185
  "line": 226,
10186
10186
  "character": 2,
10187
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L226"
10187
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L226"
10188
10188
  }
10189
10189
  ],
10190
10190
  "parameters": [
@@ -10347,7 +10347,7 @@
10347
10347
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
10348
10348
  "line": 230,
10349
10349
  "character": 18,
10350
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L230"
10350
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L230"
10351
10351
  }
10352
10352
  ],
10353
10353
  "signatures": [
@@ -10362,7 +10362,7 @@
10362
10362
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
10363
10363
  "line": 230,
10364
10364
  "character": 2,
10365
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L230"
10365
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L230"
10366
10366
  }
10367
10367
  ],
10368
10368
  "parameters": [
@@ -11790,7 +11790,7 @@
11790
11790
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
11791
11791
  "line": 246,
11792
11792
  "character": 18,
11793
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L246"
11793
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L246"
11794
11794
  }
11795
11795
  ],
11796
11796
  "signatures": [
@@ -11805,7 +11805,7 @@
11805
11805
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
11806
11806
  "line": 246,
11807
11807
  "character": 2,
11808
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L246"
11808
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L246"
11809
11809
  }
11810
11810
  ],
11811
11811
  "type": {
@@ -13796,7 +13796,7 @@
13796
13796
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
13797
13797
  "line": 255,
13798
13798
  "character": 27,
13799
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L255"
13799
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L255"
13800
13800
  }
13801
13801
  ],
13802
13802
  "signatures": [
@@ -13811,7 +13811,7 @@
13811
13811
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
13812
13812
  "line": 255,
13813
13813
  "character": 2,
13814
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L255"
13814
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L255"
13815
13815
  }
13816
13816
  ],
13817
13817
  "typeParameter": [
@@ -17800,7 +17800,7 @@
17800
17800
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
17801
17801
  "line": 327,
17802
17802
  "character": 16,
17803
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L327"
17803
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L327"
17804
17804
  }
17805
17805
  ],
17806
17806
  "signatures": [
@@ -17815,7 +17815,7 @@
17815
17815
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
17816
17816
  "line": 327,
17817
17817
  "character": 2,
17818
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L327"
17818
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L327"
17819
17819
  }
17820
17820
  ],
17821
17821
  "parameters": [
@@ -18466,7 +18466,7 @@
18466
18466
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
18467
18467
  "line": 312,
18468
18468
  "character": 18,
18469
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L312"
18469
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L312"
18470
18470
  }
18471
18471
  ],
18472
18472
  "signatures": [
@@ -18481,7 +18481,7 @@
18481
18481
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
18482
18482
  "line": 312,
18483
18483
  "character": 2,
18484
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L312"
18484
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L312"
18485
18485
  }
18486
18486
  ],
18487
18487
  "parameters": [
@@ -18660,7 +18660,7 @@
18660
18660
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
18661
18661
  "line": 316,
18662
18662
  "character": 18,
18663
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L316"
18663
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L316"
18664
18664
  }
18665
18665
  ],
18666
18666
  "signatures": [
@@ -18675,7 +18675,7 @@
18675
18675
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
18676
18676
  "line": 316,
18677
18677
  "character": 2,
18678
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L316"
18678
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L316"
18679
18679
  }
18680
18680
  ],
18681
18681
  "parameters": [
@@ -19668,7 +19668,7 @@
19668
19668
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
19669
19669
  "line": 41,
19670
19670
  "character": 22,
19671
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L41"
19671
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L41"
19672
19672
  }
19673
19673
  ],
19674
19674
  "typeParameters": [
@@ -19788,7 +19788,7 @@
19788
19788
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
19789
19789
  "line": 28,
19790
19790
  "character": 2,
19791
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L28"
19791
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L28"
19792
19792
  }
19793
19793
  ],
19794
19794
  "type": {
@@ -19810,7 +19810,7 @@
19810
19810
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
19811
19811
  "line": 27,
19812
19812
  "character": 17,
19813
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L27"
19813
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L27"
19814
19814
  }
19815
19815
  ],
19816
19816
  "extendedBy": [
@@ -19841,7 +19841,7 @@
19841
19841
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
19842
19842
  "line": 36,
19843
19843
  "character": 2,
19844
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L36"
19844
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L36"
19845
19845
  }
19846
19846
  ],
19847
19847
  "type": {
@@ -19882,7 +19882,7 @@
19882
19882
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
19883
19883
  "line": 37,
19884
19884
  "character": 2,
19885
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L37"
19885
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L37"
19886
19886
  }
19887
19887
  ],
19888
19888
  "type": {
@@ -19923,7 +19923,7 @@
19923
19923
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
19924
19924
  "line": 38,
19925
19925
  "character": 2,
19926
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L38"
19926
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L38"
19927
19927
  }
19928
19928
  ],
19929
19929
  "type": {
@@ -19967,7 +19967,7 @@
19967
19967
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
19968
19968
  "line": 35,
19969
19969
  "character": 17,
19970
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L35"
19970
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L35"
19971
19971
  }
19972
19972
  ]
19973
19973
  },
@@ -19991,7 +19991,7 @@
19991
19991
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
19992
19992
  "line": 28,
19993
19993
  "character": 2,
19994
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L28"
19994
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L28"
19995
19995
  }
19996
19996
  ],
19997
19997
  "type": {
@@ -20017,7 +20017,7 @@
20017
20017
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
20018
20018
  "line": 32,
20019
20019
  "character": 2,
20020
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L32"
20020
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L32"
20021
20021
  }
20022
20022
  ],
20023
20023
  "type": {
@@ -20040,7 +20040,7 @@
20040
20040
  "fileName": "modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts",
20041
20041
  "line": 31,
20042
20042
  "character": 17,
20043
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/0141374586ea4/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L31"
20043
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/2de3323eaedda/packages/modules/packages/archivist/packages/abstract/src/AbstractArchivist.ts#L31"
20044
20044
  }
20045
20045
  ],
20046
20046
  "extendedTypes": [
package/package.json CHANGED
@@ -10,20 +10,20 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/assert": "^2.12.10",
14
- "@xylabs/lodash": "^2.12.10",
15
- "@xyo-network/archivist-model": "~2.75.3",
16
- "@xyo-network/boundwitness-builder": "~2.75.3",
17
- "@xyo-network/boundwitness-model": "~2.75.3",
18
- "@xyo-network/core": "~2.75.3",
19
- "@xyo-network/module": "~2.75.3",
20
- "@xyo-network/payload-model": "~2.75.3",
21
- "@xyo-network/payload-wrapper": "~2.75.3",
22
- "@xyo-network/promise": "~2.75.3"
13
+ "@xylabs/assert": "^2.12.14",
14
+ "@xylabs/lodash": "^2.12.14",
15
+ "@xyo-network/archivist-model": "~2.75.5",
16
+ "@xyo-network/boundwitness-builder": "~2.75.5",
17
+ "@xyo-network/boundwitness-model": "~2.75.5",
18
+ "@xyo-network/core": "~2.75.5",
19
+ "@xyo-network/module": "~2.75.5",
20
+ "@xyo-network/payload-model": "~2.75.5",
21
+ "@xyo-network/payload-wrapper": "~2.75.5",
22
+ "@xyo-network/promise": "~2.75.5"
23
23
  },
24
24
  "devDependencies": {
25
- "@xylabs/ts-scripts-yarn3": "^3.0.77",
26
- "@xylabs/tsconfig": "^3.0.77",
25
+ "@xylabs/ts-scripts-yarn3": "^3.0.79",
26
+ "@xylabs/tsconfig": "^3.0.79",
27
27
  "typescript": "^5.2.2"
28
28
  },
29
29
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -69,5 +69,5 @@
69
69
  },
70
70
  "sideEffects": false,
71
71
  "types": "dist/node/index.d.ts",
72
- "version": "2.75.3"
72
+ "version": "2.75.5"
73
73
  }