@xyo-network/archivist-model 3.6.10 → 3.6.12

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,12 +1,11 @@
1
- import type { Address } from '@xylabs/hex';
2
1
  import type { EmptyObject, WithAdditional } from '@xylabs/object';
3
- import type { ModuleConfig } from '@xyo-network/module-model';
2
+ import type { ModuleConfig, ModuleIdentifier } from '@xyo-network/module-model';
4
3
  import type { Payload } from '@xyo-network/payload-model';
5
4
  import type { IndexDescription } from './IndexDescription.ts';
6
5
  export interface ArchivistParents {
7
- commit?: Address[];
8
- read?: Address[];
9
- write?: Address[];
6
+ commit?: ModuleIdentifier[];
7
+ read?: ModuleIdentifier[];
8
+ write?: ModuleIdentifier[];
10
9
  }
11
10
  export interface ArchivistStorage {
12
11
  /** The indexes to create on the object store */
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC7B;AAED,eAAO,MAAM,qBAAqB,EAAG,8BAAuC,CAAA;AAC5E,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAA;AAEhE,MAAM,MAAM,eAAe,CAAC,OAAO,SAAS,OAAO,GAAG,WAAW,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,YAAY,CACnI,cAAc,CACZ;IACE,mEAAmE;IACnE,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,MAAM,EAAE,OAAO,SAAS,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,qBAAqB,CAAA;IAC3E,mCAAmC;IACnC,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,EACD,OAAO,CACR,EACD,OAAO,CACR,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC3B,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAA;IACzB,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC7B;AAED,eAAO,MAAM,qBAAqB,EAAG,8BAAuC,CAAA;AAC5E,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAA;AAEhE,MAAM,MAAM,eAAe,CAAC,OAAO,SAAS,OAAO,GAAG,WAAW,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,YAAY,CACnI,cAAc,CACZ;IACE,mEAAmE;IACnE,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,MAAM,EAAE,OAAO,SAAS,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,qBAAqB,CAAA;IAC3E,mCAAmC;IACnC,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,EACD,OAAO,CACR,EACD,OAAO,CACR,CAAA"}
@@ -7,9 +7,9 @@ export declare const asAttachableArchivistInstance: {
7
7
  config: import("@xylabs/object").DeepRestrictToStringKeys<{
8
8
  schema: import("@xyo-network/payload-model").Schema;
9
9
  parents?: {
10
- commit?: Lowercase<string>[] | undefined;
11
- read?: Lowercase<string>[] | undefined;
12
- write?: Lowercase<string>[] | undefined;
10
+ commit?: string[] | undefined;
11
+ read?: string[] | undefined;
12
+ write?: string[] | undefined;
13
13
  } | undefined;
14
14
  requireAllParents?: boolean | undefined;
15
15
  storage?: {
@@ -70,9 +70,9 @@ export declare const asAttachableArchivistInstance: {
70
70
  config: import("@xylabs/object").DeepRestrictToStringKeys<{
71
71
  schema: import("@xyo-network/payload-model").Schema;
72
72
  parents?: {
73
- commit?: Lowercase<string>[] | undefined;
74
- read?: Lowercase<string>[] | undefined;
75
- write?: Lowercase<string>[] | undefined;
73
+ commit?: string[] | undefined;
74
+ read?: string[] | undefined;
75
+ write?: string[] | undefined;
76
76
  } | undefined;
77
77
  requireAllParents?: boolean | undefined;
78
78
  storage?: {
@@ -132,9 +132,9 @@ export declare const asAttachableArchivistInstance: {
132
132
  config: import("@xylabs/object").DeepRestrictToStringKeys<{
133
133
  schema: import("@xyo-network/payload-model").Schema;
134
134
  parents?: {
135
- commit?: Lowercase<string>[] | undefined;
136
- read?: Lowercase<string>[] | undefined;
137
- write?: Lowercase<string>[] | undefined;
135
+ commit?: string[] | undefined;
136
+ read?: string[] | undefined;
137
+ write?: string[] | undefined;
138
138
  } | undefined;
139
139
  requireAllParents?: boolean | undefined;
140
140
  storage?: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/attachable/asAttachableInstance.ts","../../src/attachable/isAttachableInstance.ts","../../src/typeChecks.ts","../../src/Queries/All.ts","../../src/Queries/Clear.ts","../../src/Queries/Commit.ts","../../src/Queries/Delete.ts","../../src/Queries/Get.ts","../../src/Queries/Insert.ts","../../src/Queries/Next.ts","../../src/attachable/AttachableInstance.ts","../../src/Config.ts","../../src/IndexDescription.ts"],"sourcesContent":["import { AsObjectFactory } from '@xylabs/object'\n\nimport { isAttachableArchivistInstance } from './isAttachableInstance.ts'\n\nexport const asAttachableArchivistInstance = AsObjectFactory.create(isAttachableArchivistInstance)\n","import type { TypeCheck } from '@xylabs/object'\nimport { IsObjectFactory } from '@xylabs/object'\nimport type { ObjectTypeShape } from '@xylabs/typeof'\nimport { isAttachableModuleInstance } from '@xyo-network/module-model'\n\nimport { isArchivistInstance } from '../typeChecks.ts'\nimport type { AttachableArchivistInstance } from './AttachableInstance.ts'\n\nexport const requiredAttachableArchivistInstanceFunctions: ObjectTypeShape = {}\n\n// we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsObjectFactory<AttachableArchivistInstance>()\n\nexport const isAttachableArchivistInstance: TypeCheck<AttachableArchivistInstance> = factory.create(requiredAttachableArchivistInstanceFunctions, [\n isArchivistInstance,\n isAttachableModuleInstance,\n])\n","import { AsObjectFactory } from '@xylabs/object'\nimport {\n IsInstanceFactory, IsModuleFactory, isModuleInstance, WithFactory,\n} from '@xyo-network/module-model'\n\nimport type { ArchivistInstance } from './Instance.ts'\nimport type { ArchivistModule } from './Module.ts'\nimport { ArchivistGetQuerySchema } from './Queries/index.ts'\n\nexport const isArchivistInstance = new IsInstanceFactory<ArchivistInstance>().create({ get: 'function' }, [isModuleInstance])\nexport const isArchivistModule = new IsModuleFactory<ArchivistModule>().create([ArchivistGetQuerySchema])\n\nexport const asArchivistModule = AsObjectFactory.create(isArchivistModule)\nexport const asArchivistInstance = AsObjectFactory.create(isArchivistInstance)\nexport const withArchivistModule = WithFactory.create(isArchivistModule)\nexport const withArchivistInstance = WithFactory.create(isArchivistInstance)\n","import type { Query } from '@xyo-network/payload-model'\n\nexport const ArchivistAllQuerySchema = 'network.xyo.query.archivist.all' as const\nexport type ArchivistAllQuerySchema = typeof ArchivistAllQuerySchema\n\nexport type ArchivistAllQuery = Query<{\n schema: ArchivistAllQuerySchema\n}>\n","import type { Query } from '@xyo-network/payload-model'\n\nexport const ArchivistClearQuerySchema = 'network.xyo.query.archivist.clear' as const\nexport type ArchivistClearQuerySchema = typeof ArchivistClearQuerySchema\n\nexport type ArchivistClearQuery = Query<{\n schema: ArchivistClearQuerySchema\n}>\n","import type { Query } from '@xyo-network/payload-model'\n\nexport const ArchivistCommitQuerySchema = 'network.xyo.query.archivist.commit' as const\nexport type ArchivistCommitQuerySchema = typeof ArchivistCommitQuerySchema\n\nexport type ArchivistCommitQuery = Query<{\n schema: ArchivistCommitQuerySchema\n}>\n","import type { Hash } from '@xylabs/hex'\nimport type { Query } from '@xyo-network/payload-model'\n\nexport const ArchivistDeleteQuerySchema = 'network.xyo.query.archivist.delete' as const\nexport type ArchivistDeleteQuerySchema = typeof ArchivistDeleteQuerySchema\n\nexport type ArchivistDeleteQuery = Query<{\n hashes: Hash[]\n schema: ArchivistDeleteQuerySchema\n}>\n","import type { Hash } from '@xylabs/hex'\nimport type { Query } from '@xyo-network/payload-model'\n\nexport const ArchivistGetQuerySchema = 'network.xyo.query.archivist.get' as const\nexport type ArchivistGetQuerySchema = typeof ArchivistGetQuerySchema\n\nexport type ArchivistGetQuery = Query<{\n hashes: Hash[]\n schema: ArchivistGetQuerySchema\n}>\n","import type { Query } from '@xyo-network/payload-model'\n\nexport const ArchivistInsertQuerySchema = 'network.xyo.query.archivist.insert' as const\nexport type ArchivistInsertQuerySchema = typeof ArchivistInsertQuerySchema\n\nexport type ArchivistInsertQuery = Query<{\n schema: ArchivistInsertQuerySchema\n}>\n","import type { Query } from '@xyo-network/payload-model'\n\nimport type { ArchivistNextOptions } from '../NextOptions.ts'\n\nexport const ArchivistNextQuerySchema = 'network.xyo.query.archivist.next' as const\nexport type ArchivistNextQuerySchema = typeof ArchivistNextQuerySchema\n\nexport type ArchivistNextQuery = Query<ArchivistNextOptions, ArchivistNextQuerySchema>\n","import type { TypeCheck } from '@xylabs/object'\nimport { IsObjectFactory } from '@xylabs/object'\nimport type { AttachableModuleInstance } from '@xyo-network/module-model'\nimport type { Payload } from '@xyo-network/payload-model'\n\nimport type { ArchivistModuleEventData } from '../EventData.ts'\nimport type { ArchivistInstance } from '../Instance.ts'\nimport type { ArchivistModule } from '../Module.ts'\nimport type { ArchivistParams } from '../Params.ts'\n\nexport interface AttachableArchivistInstance<\n TParams extends ArchivistParams = ArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n TPayload extends Payload = Payload,\n> extends ArchivistModule<TParams, TEventData>,\n AttachableModuleInstance<TParams, TEventData>,\n ArchivistInstance<TParams, TEventData, TPayload> {}\n\nexport type AttachableArchivistInstanceTypeCheck<T extends AttachableArchivistInstance = AttachableArchivistInstance> = TypeCheck<T>\n\nexport class IsAttachableArchivistInstanceFactory<T extends AttachableArchivistInstance = AttachableArchivistInstance> extends IsObjectFactory<T> {}\n","import type { Address } from '@xylabs/hex'\nimport type { EmptyObject, WithAdditional } from '@xylabs/object'\nimport type { ModuleConfig } from '@xyo-network/module-model'\nimport type { Payload } from '@xyo-network/payload-model'\n\nimport type { IndexDescription } from './IndexDescription.ts'\n\nexport interface ArchivistParents {\n commit?: Address[]\n read?: Address[]\n write?: Address[]\n}\n\nexport interface ArchivistStorage {\n /** The indexes to create on the object store */\n indexes?: IndexDescription[]\n}\n\nexport const ArchivistConfigSchema = 'network.xyo.archivist.config' as const\nexport type ArchivistConfigSchema = typeof ArchivistConfigSchema\n\nexport type ArchivistConfig<TConfig extends Payload | EmptyObject | void = void, TSchema extends string | void = void> = ModuleConfig<\n WithAdditional<\n {\n /** @field address of one or more parent archivists to read from */\n parents?: ArchivistParents\n /** @field fail if some parents can not be resolved (true if unspecified) */\n requireAllParents?: boolean\n schema: TConfig extends Payload ? TConfig['schema'] : ArchivistConfigSchema\n /** @field storage configuration */\n storage?: ArchivistStorage\n /** @field should child store all reads from parents? */\n storeParentReads?: boolean\n },\n TConfig\n >,\n TSchema\n>\n","/**\n * The index direction (1 for ascending, -1 for descending)\n */\nexport type IndexDirection = -1 | 1\n\n/**\n * Description of index(es) to be created on a store\n */\nexport type IndexDescription = {\n /**\n * The key(s) to index\n */\n key: Record<string, IndexDirection>\n /**\n * Is the indexed value an array\n */\n multiEntry?: boolean\n /**\n * The name of the index\n */\n name?: string\n /**\n * If true, the index must enforce uniqueness on the key\n */\n unique?: boolean\n}\n\nexport const IndexSeparator = '-'\n\n/**\n * Given an index description, this will build the index\n * name in standard form\n * @param index The index description\n * @returns The index name in standard form\n */\nexport const buildStandardIndexName = (index: IndexDescription) => {\n const { key, unique } = index\n const prefix = unique ? 'UX' : 'IX'\n const indexKeys = Object.keys(key)\n return `${prefix}_${indexKeys.join(IndexSeparator)}`\n}\n"],"mappings":";AAAA,SAAS,mBAAAA,wBAAuB;;;ACChC,SAAS,uBAAuB;AAEhC,SAAS,kCAAkC;;;ACH3C,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,EAAmB;AAAA,EAAiB;AAAA,EAAkB;AAAA,OACjD;;;ACDA,IAAM,0BAA0B;;;ACAhC,IAAM,4BAA4B;;;ACAlC,IAAM,6BAA6B;;;ACCnC,IAAM,6BAA6B;;;ACAnC,IAAM,0BAA0B;;;ACDhC,IAAM,6BAA6B;;;ACEnC,IAAM,2BAA2B;;;APKjC,IAAM,sBAAsB,IAAI,kBAAqC,EAAE,OAAO,EAAE,KAAK,WAAW,GAAG,CAAC,gBAAgB,CAAC;AACrH,IAAM,oBAAoB,IAAI,gBAAiC,EAAE,OAAO,CAAC,uBAAuB,CAAC;AAEjG,IAAM,oBAAoB,gBAAgB,OAAO,iBAAiB;AAClE,IAAM,sBAAsB,gBAAgB,OAAO,mBAAmB;AACtE,IAAM,sBAAsB,YAAY,OAAO,iBAAiB;AAChE,IAAM,wBAAwB,YAAY,OAAO,mBAAmB;;;ADPpE,IAAM,+CAAgE,CAAC;AAG9E,IAAM,UAAU,IAAI,gBAA6C;AAE1D,IAAM,gCAAwE,QAAQ,OAAO,8CAA8C;AAAA,EAChJ;AAAA,EACA;AACF,CAAC;;;ADZM,IAAM,gCAAgCC,iBAAgB,OAAO,6BAA6B;;;AUHjG,SAAS,mBAAAC,wBAAuB;AAmBzB,IAAM,uCAAN,cAAwHA,iBAAmB;AAAC;;;ACF5I,IAAM,wBAAwB;;;ACS9B,IAAM,iBAAiB;AAQvB,IAAM,yBAAyB,CAAC,UAA4B;AACjE,QAAM,EAAE,KAAK,OAAO,IAAI;AACxB,QAAM,SAAS,SAAS,OAAO;AAC/B,QAAM,YAAY,OAAO,KAAK,GAAG;AACjC,SAAO,GAAG,MAAM,IAAI,UAAU,KAAK,cAAc,CAAC;AACpD;","names":["AsObjectFactory","AsObjectFactory","IsObjectFactory"]}
1
+ {"version":3,"sources":["../../src/attachable/asAttachableInstance.ts","../../src/attachable/isAttachableInstance.ts","../../src/typeChecks.ts","../../src/Queries/All.ts","../../src/Queries/Clear.ts","../../src/Queries/Commit.ts","../../src/Queries/Delete.ts","../../src/Queries/Get.ts","../../src/Queries/Insert.ts","../../src/Queries/Next.ts","../../src/attachable/AttachableInstance.ts","../../src/Config.ts","../../src/IndexDescription.ts"],"sourcesContent":["import { AsObjectFactory } from '@xylabs/object'\n\nimport { isAttachableArchivistInstance } from './isAttachableInstance.ts'\n\nexport const asAttachableArchivistInstance = AsObjectFactory.create(isAttachableArchivistInstance)\n","import type { TypeCheck } from '@xylabs/object'\nimport { IsObjectFactory } from '@xylabs/object'\nimport type { ObjectTypeShape } from '@xylabs/typeof'\nimport { isAttachableModuleInstance } from '@xyo-network/module-model'\n\nimport { isArchivistInstance } from '../typeChecks.ts'\nimport type { AttachableArchivistInstance } from './AttachableInstance.ts'\n\nexport const requiredAttachableArchivistInstanceFunctions: ObjectTypeShape = {}\n\n// we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsObjectFactory<AttachableArchivistInstance>()\n\nexport const isAttachableArchivistInstance: TypeCheck<AttachableArchivistInstance> = factory.create(requiredAttachableArchivistInstanceFunctions, [\n isArchivistInstance,\n isAttachableModuleInstance,\n])\n","import { AsObjectFactory } from '@xylabs/object'\nimport {\n IsInstanceFactory, IsModuleFactory, isModuleInstance, WithFactory,\n} from '@xyo-network/module-model'\n\nimport type { ArchivistInstance } from './Instance.ts'\nimport type { ArchivistModule } from './Module.ts'\nimport { ArchivistGetQuerySchema } from './Queries/index.ts'\n\nexport const isArchivistInstance = new IsInstanceFactory<ArchivistInstance>().create({ get: 'function' }, [isModuleInstance])\nexport const isArchivistModule = new IsModuleFactory<ArchivistModule>().create([ArchivistGetQuerySchema])\n\nexport const asArchivistModule = AsObjectFactory.create(isArchivistModule)\nexport const asArchivistInstance = AsObjectFactory.create(isArchivistInstance)\nexport const withArchivistModule = WithFactory.create(isArchivistModule)\nexport const withArchivistInstance = WithFactory.create(isArchivistInstance)\n","import type { Query } from '@xyo-network/payload-model'\n\nexport const ArchivistAllQuerySchema = 'network.xyo.query.archivist.all' as const\nexport type ArchivistAllQuerySchema = typeof ArchivistAllQuerySchema\n\nexport type ArchivistAllQuery = Query<{\n schema: ArchivistAllQuerySchema\n}>\n","import type { Query } from '@xyo-network/payload-model'\n\nexport const ArchivistClearQuerySchema = 'network.xyo.query.archivist.clear' as const\nexport type ArchivistClearQuerySchema = typeof ArchivistClearQuerySchema\n\nexport type ArchivistClearQuery = Query<{\n schema: ArchivistClearQuerySchema\n}>\n","import type { Query } from '@xyo-network/payload-model'\n\nexport const ArchivistCommitQuerySchema = 'network.xyo.query.archivist.commit' as const\nexport type ArchivistCommitQuerySchema = typeof ArchivistCommitQuerySchema\n\nexport type ArchivistCommitQuery = Query<{\n schema: ArchivistCommitQuerySchema\n}>\n","import type { Hash } from '@xylabs/hex'\nimport type { Query } from '@xyo-network/payload-model'\n\nexport const ArchivistDeleteQuerySchema = 'network.xyo.query.archivist.delete' as const\nexport type ArchivistDeleteQuerySchema = typeof ArchivistDeleteQuerySchema\n\nexport type ArchivistDeleteQuery = Query<{\n hashes: Hash[]\n schema: ArchivistDeleteQuerySchema\n}>\n","import type { Hash } from '@xylabs/hex'\nimport type { Query } from '@xyo-network/payload-model'\n\nexport const ArchivistGetQuerySchema = 'network.xyo.query.archivist.get' as const\nexport type ArchivistGetQuerySchema = typeof ArchivistGetQuerySchema\n\nexport type ArchivistGetQuery = Query<{\n hashes: Hash[]\n schema: ArchivistGetQuerySchema\n}>\n","import type { Query } from '@xyo-network/payload-model'\n\nexport const ArchivistInsertQuerySchema = 'network.xyo.query.archivist.insert' as const\nexport type ArchivistInsertQuerySchema = typeof ArchivistInsertQuerySchema\n\nexport type ArchivistInsertQuery = Query<{\n schema: ArchivistInsertQuerySchema\n}>\n","import type { Query } from '@xyo-network/payload-model'\n\nimport type { ArchivistNextOptions } from '../NextOptions.ts'\n\nexport const ArchivistNextQuerySchema = 'network.xyo.query.archivist.next' as const\nexport type ArchivistNextQuerySchema = typeof ArchivistNextQuerySchema\n\nexport type ArchivistNextQuery = Query<ArchivistNextOptions, ArchivistNextQuerySchema>\n","import type { TypeCheck } from '@xylabs/object'\nimport { IsObjectFactory } from '@xylabs/object'\nimport type { AttachableModuleInstance } from '@xyo-network/module-model'\nimport type { Payload } from '@xyo-network/payload-model'\n\nimport type { ArchivistModuleEventData } from '../EventData.ts'\nimport type { ArchivistInstance } from '../Instance.ts'\nimport type { ArchivistModule } from '../Module.ts'\nimport type { ArchivistParams } from '../Params.ts'\n\nexport interface AttachableArchivistInstance<\n TParams extends ArchivistParams = ArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n TPayload extends Payload = Payload,\n> extends ArchivistModule<TParams, TEventData>,\n AttachableModuleInstance<TParams, TEventData>,\n ArchivistInstance<TParams, TEventData, TPayload> {}\n\nexport type AttachableArchivistInstanceTypeCheck<T extends AttachableArchivistInstance = AttachableArchivistInstance> = TypeCheck<T>\n\nexport class IsAttachableArchivistInstanceFactory<T extends AttachableArchivistInstance = AttachableArchivistInstance> extends IsObjectFactory<T> {}\n","import type { EmptyObject, WithAdditional } from '@xylabs/object'\nimport type { ModuleConfig, ModuleIdentifier } from '@xyo-network/module-model'\nimport type { Payload } from '@xyo-network/payload-model'\n\nimport type { IndexDescription } from './IndexDescription.ts'\n\nexport interface ArchivistParents {\n commit?: ModuleIdentifier[]\n read?: ModuleIdentifier[]\n write?: ModuleIdentifier[]\n}\n\nexport interface ArchivistStorage {\n /** The indexes to create on the object store */\n indexes?: IndexDescription[]\n}\n\nexport const ArchivistConfigSchema = 'network.xyo.archivist.config' as const\nexport type ArchivistConfigSchema = typeof ArchivistConfigSchema\n\nexport type ArchivistConfig<TConfig extends Payload | EmptyObject | void = void, TSchema extends string | void = void> = ModuleConfig<\n WithAdditional<\n {\n /** @field address of one or more parent archivists to read from */\n parents?: ArchivistParents\n /** @field fail if some parents can not be resolved (true if unspecified) */\n requireAllParents?: boolean\n schema: TConfig extends Payload ? TConfig['schema'] : ArchivistConfigSchema\n /** @field storage configuration */\n storage?: ArchivistStorage\n /** @field should child store all reads from parents? */\n storeParentReads?: boolean\n },\n TConfig\n >,\n TSchema\n>\n","/**\n * The index direction (1 for ascending, -1 for descending)\n */\nexport type IndexDirection = -1 | 1\n\n/**\n * Description of index(es) to be created on a store\n */\nexport type IndexDescription = {\n /**\n * The key(s) to index\n */\n key: Record<string, IndexDirection>\n /**\n * Is the indexed value an array\n */\n multiEntry?: boolean\n /**\n * The name of the index\n */\n name?: string\n /**\n * If true, the index must enforce uniqueness on the key\n */\n unique?: boolean\n}\n\nexport const IndexSeparator = '-'\n\n/**\n * Given an index description, this will build the index\n * name in standard form\n * @param index The index description\n * @returns The index name in standard form\n */\nexport const buildStandardIndexName = (index: IndexDescription) => {\n const { key, unique } = index\n const prefix = unique ? 'UX' : 'IX'\n const indexKeys = Object.keys(key)\n return `${prefix}_${indexKeys.join(IndexSeparator)}`\n}\n"],"mappings":";AAAA,SAAS,mBAAAA,wBAAuB;;;ACChC,SAAS,uBAAuB;AAEhC,SAAS,kCAAkC;;;ACH3C,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,EAAmB;AAAA,EAAiB;AAAA,EAAkB;AAAA,OACjD;;;ACDA,IAAM,0BAA0B;;;ACAhC,IAAM,4BAA4B;;;ACAlC,IAAM,6BAA6B;;;ACCnC,IAAM,6BAA6B;;;ACAnC,IAAM,0BAA0B;;;ACDhC,IAAM,6BAA6B;;;ACEnC,IAAM,2BAA2B;;;APKjC,IAAM,sBAAsB,IAAI,kBAAqC,EAAE,OAAO,EAAE,KAAK,WAAW,GAAG,CAAC,gBAAgB,CAAC;AACrH,IAAM,oBAAoB,IAAI,gBAAiC,EAAE,OAAO,CAAC,uBAAuB,CAAC;AAEjG,IAAM,oBAAoB,gBAAgB,OAAO,iBAAiB;AAClE,IAAM,sBAAsB,gBAAgB,OAAO,mBAAmB;AACtE,IAAM,sBAAsB,YAAY,OAAO,iBAAiB;AAChE,IAAM,wBAAwB,YAAY,OAAO,mBAAmB;;;ADPpE,IAAM,+CAAgE,CAAC;AAG9E,IAAM,UAAU,IAAI,gBAA6C;AAE1D,IAAM,gCAAwE,QAAQ,OAAO,8CAA8C;AAAA,EAChJ;AAAA,EACA;AACF,CAAC;;;ADZM,IAAM,gCAAgCC,iBAAgB,OAAO,6BAA6B;;;AUHjG,SAAS,mBAAAC,wBAAuB;AAmBzB,IAAM,uCAAN,cAAwHA,iBAAmB;AAAC;;;ACH5I,IAAM,wBAAwB;;;ACU9B,IAAM,iBAAiB;AAQvB,IAAM,yBAAyB,CAAC,UAA4B;AACjE,QAAM,EAAE,KAAK,OAAO,IAAI;AACxB,QAAM,SAAS,SAAS,OAAO;AAC/B,QAAM,YAAY,OAAO,KAAK,GAAG;AACjC,SAAO,GAAG,MAAM,IAAI,UAAU,KAAK,cAAc,CAAC;AACpD;","names":["AsObjectFactory","AsObjectFactory","IsObjectFactory"]}
@@ -8,9 +8,9 @@ export declare const isArchivistInstance: import("@xylabs/object").TypeCheck<Arc
8
8
  config: import("@xylabs/object").DeepRestrictToStringKeys<{
9
9
  schema: import("@xyo-network/payload-model").Schema;
10
10
  parents?: {
11
- commit?: Lowercase<string>[] | undefined;
12
- read?: Lowercase<string>[] | undefined;
13
- write?: Lowercase<string>[] | undefined;
11
+ commit?: string[] | undefined;
12
+ read?: string[] | undefined;
13
+ write?: string[] | undefined;
14
14
  } | undefined;
15
15
  requireAllParents?: boolean | undefined;
16
16
  storage?: {
@@ -71,9 +71,9 @@ export declare const isArchivistModule: import("@xyo-network/module-model").Modu
71
71
  config: import("@xylabs/object").DeepRestrictToStringKeys<{
72
72
  schema: import("@xyo-network/payload-model").Schema;
73
73
  parents?: {
74
- commit?: Lowercase<string>[] | undefined;
75
- read?: Lowercase<string>[] | undefined;
76
- write?: Lowercase<string>[] | undefined;
74
+ commit?: string[] | undefined;
75
+ read?: string[] | undefined;
76
+ write?: string[] | undefined;
77
77
  } | undefined;
78
78
  requireAllParents?: boolean | undefined;
79
79
  storage?: {
@@ -133,9 +133,9 @@ export declare const asArchivistModule: {
133
133
  config: import("@xylabs/object").DeepRestrictToStringKeys<{
134
134
  schema: import("@xyo-network/payload-model").Schema;
135
135
  parents?: {
136
- commit?: Lowercase<string>[] | undefined;
137
- read?: Lowercase<string>[] | undefined;
138
- write?: Lowercase<string>[] | undefined;
136
+ commit?: string[] | undefined;
137
+ read?: string[] | undefined;
138
+ write?: string[] | undefined;
139
139
  } | undefined;
140
140
  requireAllParents?: boolean | undefined;
141
141
  storage?: {
@@ -194,9 +194,9 @@ export declare const asArchivistModule: {
194
194
  config: import("@xylabs/object").DeepRestrictToStringKeys<{
195
195
  schema: import("@xyo-network/payload-model").Schema;
196
196
  parents?: {
197
- commit?: Lowercase<string>[] | undefined;
198
- read?: Lowercase<string>[] | undefined;
199
- write?: Lowercase<string>[] | undefined;
197
+ commit?: string[] | undefined;
198
+ read?: string[] | undefined;
199
+ write?: string[] | undefined;
200
200
  } | undefined;
201
201
  requireAllParents?: boolean | undefined;
202
202
  storage?: {
@@ -254,9 +254,9 @@ export declare const asArchivistModule: {
254
254
  config: import("@xylabs/object").DeepRestrictToStringKeys<{
255
255
  schema: import("@xyo-network/payload-model").Schema;
256
256
  parents?: {
257
- commit?: Lowercase<string>[] | undefined;
258
- read?: Lowercase<string>[] | undefined;
259
- write?: Lowercase<string>[] | undefined;
257
+ commit?: string[] | undefined;
258
+ read?: string[] | undefined;
259
+ write?: string[] | undefined;
260
260
  } | undefined;
261
261
  requireAllParents?: boolean | undefined;
262
262
  storage?: {
@@ -317,9 +317,9 @@ export declare const asArchivistInstance: {
317
317
  config: import("@xylabs/object").DeepRestrictToStringKeys<{
318
318
  schema: import("@xyo-network/payload-model").Schema;
319
319
  parents?: {
320
- commit?: Lowercase<string>[] | undefined;
321
- read?: Lowercase<string>[] | undefined;
322
- write?: Lowercase<string>[] | undefined;
320
+ commit?: string[] | undefined;
321
+ read?: string[] | undefined;
322
+ write?: string[] | undefined;
323
323
  } | undefined;
324
324
  requireAllParents?: boolean | undefined;
325
325
  storage?: {
@@ -380,9 +380,9 @@ export declare const asArchivistInstance: {
380
380
  config: import("@xylabs/object").DeepRestrictToStringKeys<{
381
381
  schema: import("@xyo-network/payload-model").Schema;
382
382
  parents?: {
383
- commit?: Lowercase<string>[] | undefined;
384
- read?: Lowercase<string>[] | undefined;
385
- write?: Lowercase<string>[] | undefined;
383
+ commit?: string[] | undefined;
384
+ read?: string[] | undefined;
385
+ write?: string[] | undefined;
386
386
  } | undefined;
387
387
  requireAllParents?: boolean | undefined;
388
388
  storage?: {
@@ -442,9 +442,9 @@ export declare const asArchivistInstance: {
442
442
  config: import("@xylabs/object").DeepRestrictToStringKeys<{
443
443
  schema: import("@xyo-network/payload-model").Schema;
444
444
  parents?: {
445
- commit?: Lowercase<string>[] | undefined;
446
- read?: Lowercase<string>[] | undefined;
447
- write?: Lowercase<string>[] | undefined;
445
+ commit?: string[] | undefined;
446
+ read?: string[] | undefined;
447
+ write?: string[] | undefined;
448
448
  } | undefined;
449
449
  requireAllParents?: boolean | undefined;
450
450
  storage?: {
@@ -506,9 +506,9 @@ export declare const withArchivistModule: <R>(mod: any, closure: (mod: Archivist
506
506
  config: import("@xylabs/object").DeepRestrictToStringKeys<{
507
507
  schema: import("@xyo-network/payload-model").Schema;
508
508
  parents?: {
509
- commit?: Lowercase<string>[] | undefined;
510
- read?: Lowercase<string>[] | undefined;
511
- write?: Lowercase<string>[] | undefined;
509
+ commit?: string[] | undefined;
510
+ read?: string[] | undefined;
511
+ write?: string[] | undefined;
512
512
  } | undefined;
513
513
  requireAllParents?: boolean | undefined;
514
514
  storage?: {
@@ -567,9 +567,9 @@ export declare const withArchivistInstance: <R>(mod: any, closure: (mod: Archivi
567
567
  config: import("@xylabs/object").DeepRestrictToStringKeys<{
568
568
  schema: import("@xyo-network/payload-model").Schema;
569
569
  parents?: {
570
- commit?: Lowercase<string>[] | undefined;
571
- read?: Lowercase<string>[] | undefined;
572
- write?: Lowercase<string>[] | undefined;
570
+ commit?: string[] | undefined;
571
+ read?: string[] | undefined;
572
+ write?: string[] | undefined;
573
573
  } | undefined;
574
574
  requireAllParents?: boolean | undefined;
575
575
  storage?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/archivist-model",
3
- "version": "3.6.10",
3
+ "version": "3.6.12",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -33,10 +33,10 @@
33
33
  "@xylabs/object": "^4.5.1",
34
34
  "@xylabs/promise": "^4.5.1",
35
35
  "@xylabs/typeof": "^4.5.1",
36
- "@xyo-network/account-model": "^3.6.10",
37
- "@xyo-network/module-events": "^3.6.10",
38
- "@xyo-network/module-model": "^3.6.10",
39
- "@xyo-network/payload-model": "^3.6.10"
36
+ "@xyo-network/account-model": "^3.6.12",
37
+ "@xyo-network/module-events": "^3.6.12",
38
+ "@xyo-network/module-model": "^3.6.12",
39
+ "@xyo-network/payload-model": "^3.6.12"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@xylabs/ts-scripts-yarn3": "^4.2.6",
package/src/Config.ts CHANGED
@@ -1,14 +1,13 @@
1
- import type { Address } from '@xylabs/hex'
2
1
  import type { EmptyObject, WithAdditional } from '@xylabs/object'
3
- import type { ModuleConfig } from '@xyo-network/module-model'
2
+ import type { ModuleConfig, ModuleIdentifier } from '@xyo-network/module-model'
4
3
  import type { Payload } from '@xyo-network/payload-model'
5
4
 
6
5
  import type { IndexDescription } from './IndexDescription.ts'
7
6
 
8
7
  export interface ArchivistParents {
9
- commit?: Address[]
10
- read?: Address[]
11
- write?: Address[]
8
+ commit?: ModuleIdentifier[]
9
+ read?: ModuleIdentifier[]
10
+ write?: ModuleIdentifier[]
12
11
  }
13
12
 
14
13
  export interface ArchivistStorage {