{
  "version": 3,
  "sources": ["../../src/modules/module-model/Config/Archiving.ts", "../../src/modules/module-model/Config/Config.ts", "../../src/modules/module-model/Config/Fields.ts", "../../src/modules/module-model/Config/Reentrancy.ts", "../../src/modules/module-model/Config/Security.ts", "../../src/modules/module-model/CreatableModule/CreatableModule.ts", "../../src/modules/module-model/CreatableModule/CreatableModuleRegistry.ts", "../../src/modules/module-model/CreatableModule/LabeledCreatableModule.ts", "../../src/modules/module-model/CreatableModule/LabeledCreatableModuleFactory.ts", "../../src/modules/module-model/CreatableModule/ModuleFactory.ts", "../../src/modules/module-model/DetailsError.ts", "../../src/modules/module-model/instance/asModuleInstance.ts", "../../src/modules/module-model/instance/isModuleInstance.ts", "../../src/modules/module-model/QueryableModule/asQueryableModule.ts", "../../src/modules/module-model/Queries/Manifest.ts", "../../src/modules/module-model/Queries/ModuleAddress/Query.ts", "../../src/modules/module-model/Queries/State.ts", "../../src/modules/module-model/Queries/Subscribe.ts", "../../src/modules/module-model/QueryableModule/asQueryableModuleObject.ts", "../../src/modules/module-model/QueryableModule/isQueryableModuleObject.ts", "../../src/modules/module-model/QueryableModule/IsQueryableModuleFactory.ts", "../../src/modules/module-model/QueryableModule/isQueryableModule.ts", "../../src/modules/module-model/instance/attachable/asAttachableInstance.ts", "../../src/modules/module-model/instance/attachable/isAttachableInstance.ts", "../../src/modules/module-model/instance/attachable/AttachableInstance.ts", "../../src/modules/module-model/instance/Instance.ts", "../../src/modules/module-model/instance/ObjectFilter.ts", "../../src/modules/module-model/instance/ModuleFilter.ts", "../../src/modules/module-model/instance/ObjectResolver.ts", "../../src/modules/module-model/instance/ModuleResolver.ts", "../../src/modules/module-model/Labels/Labels.ts", "../../src/modules/module-model/Labels/standard/View.ts", "../../src/modules/module-model/lib/duplicateModules.ts", "../../src/modules/module-model/lib/serializable.ts", "../../src/modules/module-model/ModuleIdentifier.ts", "../../src/modules/module-model/Payload/Address.ts", "../../src/modules/module-model/Payload/AddressPreviousHash.ts", "../../src/modules/module-model/Payload/Description.ts", "../../src/modules/module-model/Payload/ModuleState.ts", "../../src/modules/module-model/withModule.ts"],
  "sourcesContent": ["import type { Schema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport type { ModuleIdentifier } from '../ModuleIdentifier.ts'\n\nexport const ArchivingModuleConfigZod: z.ZodMiniObject<{\n  archiving: z.ZodMiniOptional<z.ZodMiniObject<{\n    archivists: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniCustom<ModuleIdentifier, ModuleIdentifier>>>\n    queries: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniCustom<Schema, Schema>>>\n  }, z.core.$strip>>\n}, z.core.$strip> = z.object({\n  archiving: z.optional(z.object({\n    archivists: z.optional(z.array(z.custom<ModuleIdentifier>())),\n    queries: z.optional(z.array(z.custom<Schema>())),\n  })),\n})\n\nexport type ArchivingModuleConfig = z.infer<typeof ArchivingModuleConfigZod>\n", "import type { EmptyObject } from '@ariestools/sdk'\nimport {\n  zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n  asSchema, type Payload, PayloadZod, type Schema,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport { ArchivingModuleConfigZod } from './Archiving.ts'\nimport { ModuleConfigFieldsZod } from './Fields.ts'\nimport { ArchivingReentrancyConfigZod } from './Reentrancy.ts'\n\nexport const ModuleConfigSchema: 'network.xyo.module.config' & {\n  readonly __schema: true\n} = asSchema('network.xyo.module.config', true)\nexport type ModuleConfigSchema = typeof ModuleConfigSchema\n\nexport type WithAdditional<T extends EmptyObject = EmptyObject, TAdditional extends EmptyObject = EmptyObject>\n  = T & TAdditional\n\nexport const ModuleConfigZod: z.ZodMiniObject<\n  & (typeof PayloadZod)['shape']\n  & (typeof ModuleConfigFieldsZod)['shape']\n  & (typeof ArchivingModuleConfigZod)['shape']\n  & (typeof ArchivingReentrancyConfigZod)['shape'],\n  z.core.$strip\n> = z.extend(PayloadZod, {\n  ...ModuleConfigFieldsZod.shape,\n  ...ArchivingModuleConfigZod.shape,\n  ...ArchivingReentrancyConfigZod.shape,\n})\n\nexport type ModuleConfigBase = z.infer<typeof ModuleConfigZod>\n\nexport const isModuleConfig: ReturnType<typeof zodIsFactory<ModuleConfigBase>> = zodIsFactory(ModuleConfigZod)\nexport const asModuleConfig: ReturnType<typeof zodAsFactory<ModuleConfigBase>> = zodAsFactory(ModuleConfigZod, 'asModuleConfig')\nexport const toModuleConfig: ReturnType<typeof zodToFactory<ModuleConfigBase>> = zodToFactory(ModuleConfigZod, 'toModuleConfig')\n\nexport type ModuleConfig<TConfig extends EmptyObject | Payload = EmptyObject, TSchema extends Schema | void = void> = Payload<\n  WithAdditional<Omit<ModuleConfigBase, 'schema'>, TConfig>,\n  TSchema extends void ? TConfig extends Payload ? TConfig['schema']\n    : Schema : TSchema\n>\n\nexport type AnyConfigSchema<TConfig extends Omit<ModuleConfig, 'schema'> & { schema: Schema } = Omit<ModuleConfig, 'schema'> & { schema: Schema }>\n  = ModuleConfig<TConfig, Schema>\n\nexport type OptionalConfigSchema<TConfig extends AnyConfigSchema<ModuleConfig> = AnyConfigSchema<ModuleConfig>> = Omit<TConfig, 'schema'> & {\n  schema?: TConfig['schema']\n}\n\nexport type AnyModuleConfig = AnyConfigSchema<ModuleConfig>\n", "import type { LogLevelValue, RetryConfig } from '@ariestools/sdk'\nimport type { Schema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport type { Labels } from '../Labels/index.ts'\nimport type { ModuleIdentifier, ModuleName } from '../ModuleIdentifier.ts'\nimport type { ModuleSecurityConfig } from './Security.ts'\n\nexport const ModuleConfigFieldsZod: z.ZodMiniObject<{\n  allowedQueries: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniCustom<Schema, Schema>>>\n  archivist: z.ZodMiniOptional<z.ZodMiniCustom<ModuleIdentifier, ModuleIdentifier>>\n  labels: z.ZodMiniOptional<z.ZodMiniCustom<Labels, Labels>>\n  logLevel: z.ZodMiniOptional<z.ZodMiniCustom<LogLevelValue, LogLevelValue>>\n  name: z.ZodMiniOptional<z.ZodMiniCustom<ModuleName, ModuleName>>\n  paging: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{\n    size: z.ZodMiniOptional<z.ZodMiniNumber<number>>\n  }, z.core.$strip>>>\n  retry: z.ZodMiniOptional<z.ZodMiniCustom<RetryConfig, RetryConfig>>\n  security: z.ZodMiniOptional<z.ZodMiniCustom<ModuleSecurityConfig, ModuleSecurityConfig>>\n  sign: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>\n  storeQueries: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>\n  timeBudget: z.ZodMiniOptional<z.ZodMiniNumber<number>>\n  timestamp: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>\n}, z.core.$strip> = z.object({\n  allowedQueries: z.optional(z.array(z.custom<Schema>())),\n  archivist: z.optional(z.custom<ModuleIdentifier>()),\n  labels: z.optional(z.custom<Labels>()),\n  logLevel: z.optional(z.custom<LogLevelValue>()),\n  name: z.optional(z.custom<ModuleName>()),\n  paging: z.optional(z.record(z.string(), z.object({ size: z.optional(z.number()) }))),\n  retry: z.optional(z.custom<RetryConfig>()),\n  security: z.optional(z.custom<ModuleSecurityConfig>()),\n  sign: z.optional(z.boolean()),\n  storeQueries: z.optional(z.boolean()),\n  timeBudget: z.optional(z.number()),\n  timestamp: z.optional(z.boolean()),\n})\n\nexport type ModuleConfigFields = z.infer<typeof ModuleConfigFieldsZod>\n", "import * as z from 'zod/mini'\n\nexport const ArchivingReentrancyConfigZod: z.ZodMiniObject<{\n  reentrancy: z.ZodMiniOptional<z.ZodMiniObject<{\n    action: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<'skip'>, z.ZodMiniLiteral<'wait'>]>\n    scope: z.ZodMiniLiteral<'global'>\n  }, z.core.$strip>>\n}, z.core.$strip> = z.object({\n  reentrancy: z.optional(z.object({\n    action: z.union([z.literal('skip'), z.literal('wait')]),\n    scope: z.literal('global'),\n  })),\n})\n\nexport type ArchivingReentrancyConfig = z.infer<typeof ArchivingReentrancyConfigZod>\n", "import type { Schema, XyoAddress } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport type CosigningAddressSet = XyoAddress[]\n\nexport const ModuleSecurityConfigZod: z.ZodMiniObject<{\n  allowAnonymous: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>\n  allowed: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniCustom<Schema, Schema>, z.ZodMiniArray<z.ZodMiniCustom<XyoAddress | CosigningAddressSet, XyoAddress | CosigningAddressSet>>>>\n  disallowed: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniCustom<Schema, Schema>, z.ZodMiniArray<z.ZodMiniCustom<XyoAddress, XyoAddress>>>>\n}, z.core.$strip> = z.object({\n  allowAnonymous: z.optional(z.boolean()),\n  allowed: z.optional(z.record(z.custom<Schema>(), z.array(z.custom<XyoAddress | CosigningAddressSet>()))),\n  disallowed: z.optional(z.record(z.custom<Schema>(), z.array(z.custom<XyoAddress>()))),\n})\n\nexport type ModuleSecurityConfig = z.infer<typeof ModuleSecurityConfigZod>\n", "import type {\n  Creatable, CreatableInstance, Logger,\n} from '@ariestools/sdk'\nimport type { Schema } from '@xyo-network/sdk-protocol'\n\nimport type { ModuleEventData } from '../EventsModels/index.ts'\nimport type { AttachableModuleInstance } from '../instance/index.ts'\nimport type { QueryableModuleParams } from '../QueryableModule/index.ts'\n\nexport interface CreatableModuleInstance<TParams extends QueryableModuleParams = QueryableModuleParams, TEventData extends ModuleEventData = ModuleEventData>\n  extends CreatableInstance<TParams, TEventData>, AttachableModuleInstance<TParams, TEventData> {}\n\nexport interface CreatableModuleFactory<T extends CreatableModuleInstance = CreatableModuleInstance>\n  extends Omit<CreatableModule<T>, 'create' | 'createHandler' | 'paramsHandler'> {\n  creatableModule: CreatableModule<T>\n  defaultParams?: Partial<T['params']>\n\n  create(\n    this: CreatableModuleFactory<T>,\n    params?: Partial<T['params']>): Promise<T>\n}\n\nexport interface CreatableModule<T extends CreatableModuleInstance = CreatableModuleInstance> extends Creatable<T> {\n  configSchemas: Schema[]\n  defaultConfigSchema: Schema\n  defaultLogger?: Logger\n  new(key: unknown, params: Partial<T['params']>): T\n  factory(params?: Partial<T['params']>): CreatableModuleFactory<T>\n}\n\n/**\n * Class annotation to be used to decorate Modules which support\n * an asynchronous creation pattern\n * @returns The decorated Module requiring it implement the members\n * of the CreatableModule as statics properties/methods\n */\nexport function creatableModule<TModule extends CreatableModuleInstance = CreatableModuleInstance>() {\n  return <U extends CreatableModule<TModule>>(constructor: U): void => {\n    // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n    constructor\n  }\n}\n", "import { isTruthy } from '@ariestools/sdk'\nimport { asSchema, type Schema } from '@xyo-network/sdk-protocol'\n\nimport type { Labels } from '../Labels/index.ts'\nimport type { CreatableModuleFactory, CreatableModuleInstance } from './CreatableModule.ts'\nimport type { LabeledCreatableModuleFactory } from './LabeledCreatableModuleFactory.ts'\n\nexport type CreatableModuleRegistry = Record<Schema, (CreatableModuleFactory | LabeledCreatableModuleFactory)[] | undefined>\n\nconst buildModuleFactory = <TModule extends CreatableModuleInstance>(\n  mod: CreatableModuleFactory<TModule>,\n  labels?: Labels,\n): LabeledCreatableModuleFactory<TModule> => {\n  const factory: LabeledCreatableModuleFactory<TModule> = {\n    // Destructure instance properties\n    ...mod,\n\n    configSchemas: mod.configSchemas,\n    // Copy static methods\n    create: mod.create.bind(mod),\n\n    defaultConfigSchema: mod.defaultConfigSchema,\n    // Merge module & supplied labels\n    labels: { ...(mod as LabeledCreatableModuleFactory).labels, ...labels },\n  }\n  return factory\n}\n\nexport const registerCreatableModuleFactory = <TModule extends CreatableModuleInstance>(\n  registry: CreatableModuleRegistry,\n  factory: CreatableModuleFactory<TModule> | LabeledCreatableModuleFactory<TModule>,\n  labels?: Labels,\n  /** register this as the primary factory for every schema it supports */\n  primary: boolean | Schema | Schema[] = false,\n): void => {\n  const primarySchemas\n    = primary !== true && isTruthy(primary)\n      ? Array.isArray(primary)\n        ? primary\n        : [primary]\n      : []\n\n  for (const primarySchema of primarySchemas) {\n    if (!factory.configSchemas.includes(primarySchema)) {\n      console.warn(`Primary schema ${String(primary)} not found in factory configSchemas`)\n    }\n  }\n\n  const isPrimaryForSchema = (schema: Schema) => {\n    switch (typeof primary) {\n      case 'boolean': {\n        return primary\n      }\n      case 'string': {\n        return schema === primary\n      }\n      case 'object': {\n        if (Array.isArray(primary)) {\n          return primary.includes(schema)\n        }\n      }\n    }\n    throw new Error(`Invalid primary value: ${String(primary)}`)\n  }\n\n  const factoryClone: LabeledCreatableModuleFactory<TModule> = buildModuleFactory(factory, labels)\n  // add the defaultConfigSchema as the first key in the registry\n  registry[factory.defaultConfigSchema] = [factoryClone, ...(registry[factoryClone.defaultConfigSchema] ?? [])]\n  for (const schema of factoryClone.configSchemas) {\n    registry[schema] = isPrimaryForSchema(schema) ? [factoryClone, ...(registry[schema] ?? [])] : [...(registry[schema] ?? []), factoryClone]\n  }\n}\n\nexport const registerCreatableModuleFactories = (\n  factories: (CreatableModuleFactory | LabeledCreatableModuleFactory)[],\n  registry: CreatableModuleRegistry = {},\n  primary = false,\n): CreatableModuleRegistry => {\n  for (const factory of factories) {\n    registerCreatableModuleFactory(registry, factory, undefined, primary)\n  }\n  return registry\n}\n\n/** @deprecated use registerCreatableModuleFactory instead */\nexport const assignCreatableModuleRegistry = (\n  target: CreatableModuleRegistry = {},\n  ...sources: CreatableModuleRegistry[]\n): CreatableModuleRegistry => {\n  for (const source of sources)\n    for (const [schemaString, factories] of Object.entries(source)) {\n      const schema = asSchema(schemaString, true)\n      if (factories) {\n        const existingFactories = target[schema]\n        target[schema] = [...existingFactories ?? [], ...factories]\n      }\n    }\n\n  return target\n}\n", "import type { WithOptionalLabels } from '../Labels/index.ts'\nimport type { CreatableModule, CreatableModuleInstance } from './CreatableModule.ts'\nimport type { LabeledCreatableModuleFactory } from './LabeledCreatableModuleFactory.ts'\n\nexport interface LabeledCreatableModule<T extends CreatableModuleInstance = CreatableModuleInstance> extends CreatableModule<T>, WithOptionalLabels {\n  factory(params?: Partial<T['params']>): LabeledCreatableModuleFactory<T>\n}\n\n/**\n * Class annotation to be used to decorate Modules which support\n * an asynchronous creation pattern\n * @returns The decorated Module requiring it implement the members\n * of the CreatableModule as statics properties/methods\n */\nexport function labeledCreatableModule<TModule extends CreatableModuleInstance = CreatableModuleInstance>() {\n  return <U extends LabeledCreatableModule<TModule>>(constructor: U): void => {\n    // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n    constructor\n  }\n}\n", "import type { WithOptionalLabels } from '../Labels/index.ts'\nimport type { CreatableModuleFactory, CreatableModuleInstance } from './CreatableModule.ts'\n\nexport type LabeledCreatableModuleFactory<T extends CreatableModuleInstance = CreatableModuleInstance> = CreatableModuleFactory<T> & WithOptionalLabels\n\nexport const hasLabels = (factory: CreatableModuleFactory | LabeledCreatableModuleFactory): factory is LabeledCreatableModuleFactory => {\n  return (factory as LabeledCreatableModuleFactory).labels !== undefined\n}\n\n/**\n * Class annotation to be used to decorate Modules which support\n * an asynchronous labeled creation factory pattern\n * @returns The decorated Module requiring it implement the members\n * of the CreatableModule as statics properties/methods\n */\nexport function labeledCreatableModuleFactory<TModule extends CreatableModuleInstance = CreatableModuleInstance>() {\n  return <U extends LabeledCreatableModuleFactory<TModule>>(constructor: U): void => {\n    // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n    constructor\n  }\n}\n", "import type { Logger } from '@ariestools/sdk'\nimport { assertEx } from '@ariestools/sdk'\nimport type { Schema } from '@xyo-network/sdk-protocol'\n\nimport type { Labels, WithOptionalLabels } from '../Labels/index.ts'\nimport type {\n  CreatableModule, CreatableModuleFactory, CreatableModuleInstance,\n} from './CreatableModule.ts'\n\nexport class ModuleFactory<TModule extends CreatableModuleInstance> implements CreatableModuleFactory<TModule> {\n  configSchemas: CreatableModule<TModule>['configSchemas']\n\n  creatableModule: CreatableModule<TModule>\n\n  defaultConfigSchema: Schema\n\n  defaultLogger?: Logger\n\n  defaultParams?: Partial<TModule['params']>\n\n  labels?: Labels\n\n  constructor(\n    creatableModule: CreatableModule<TModule>,\n    params?: Partial<TModule['params']>,\n    labels: Labels = {},\n  ) {\n    this.creatableModule = creatableModule\n    this.defaultParams = params\n    this.configSchemas = creatableModule.configSchemas\n    this.defaultConfigSchema = creatableModule.defaultConfigSchema\n    assertEx(this.configSchemas.includes(this.defaultConfigSchema), () => 'defaultConfigSchema must be in configSchemas')\n    this.labels = Object.assign({}, (creatableModule as WithOptionalLabels).labels ?? {}, labels ?? {})\n  }\n\n  static withParams<T extends CreatableModuleInstance>(\n    creatableModule: CreatableModule<T>,\n    params?: Partial<T['params']>,\n    labels: Labels = {},\n  ): ModuleFactory<T> {\n    return new ModuleFactory<T>(creatableModule, params, labels)\n  }\n\n  create(this: CreatableModuleFactory<TModule>, params?: Partial<TModule['params']>): Promise<TModule> {\n    const mergedParams: TModule['params'] = {\n      ...this.defaultParams,\n      ...params,\n      config: {\n        schema: this.creatableModule.defaultConfigSchema,\n        ...this.defaultParams?.config,\n        ...params?.config,\n      },\n    }\n    return this.creatableModule.create<TModule>(mergedParams)\n  }\n\n  factory<T extends CreatableModuleInstance>(this: CreatableModuleFactory<T>, params?: Partial<T['params']>, labels: Labels = {}): CreatableModuleFactory<T> {\n    return new ModuleFactory<T>(this.creatableModule, params, labels)\n  }\n}\n", "import type { JsonValue } from '@ariestools/sdk'\n\nexport class ModuleDetailsError extends Error {\n  details?: JsonValue\n  constructor(\n    message: string,\n    details?: JsonValue,\n  ) {\n    super(message)\n    this.details = details\n    this.name = 'ModuleError'\n  }\n}\n", "import type { AsTypeFunction } from '@ariestools/sdk'\nimport { AsObjectFactory } from '@ariestools/sdk'\n\nimport type { AnyConfigSchema, ModuleConfig } from '../Config/Config.ts'\nimport type { ModuleEventData } from '../EventsModels/ModuleEventData.ts'\nimport type { QueryableModuleParams } from '../QueryableModule/QueryableModuleParams.ts'\nimport type { ModuleInstance } from './Instance.ts'\nimport { isModuleInstance } from './isModuleInstance.ts'\n\nexport const asModuleInstance: AsTypeFunction<ModuleInstance<QueryableModuleParams<AnyConfigSchema<ModuleConfig>>, ModuleEventData<object>>> = AsObjectFactory.create(isModuleInstance)\n", "import type { ObjectTypeShape, TypeCheck } from '@ariestools/sdk'\nimport { IsObjectFactory } from '@ariestools/sdk'\n\nimport { isQueryableModule } from '../QueryableModule/index.ts'\nimport type { ModuleInstance } from './Instance.ts'\n\nexport const requiredModuleInstanceFunctions: ObjectTypeShape = {\n  manifest: 'function',\n  state: 'function',\n}\n\n// we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsObjectFactory<ModuleInstance>()\n\nexport const isModuleInstance: TypeCheck<ModuleInstance> = factory.create(requiredModuleInstanceFunctions, [isQueryableModule])\n", "import type { AsTypeFunction } from '@ariestools/sdk'\nimport { AsObjectFactory } from '@ariestools/sdk'\n\nimport type { AnyConfigSchema, ModuleConfig } from '../Config/Config.ts'\nimport type { ModuleEventData } from '../EventsModels/ModuleEventData.ts'\nimport { isQueryableModule } from './isQueryableModule.ts'\nimport type { QueryableModule } from './QueryableModule.ts'\nimport type { QueryableModuleParams } from './QueryableModuleParams.ts'\n\nexport const asQueryableModule: AsTypeFunction<QueryableModule<QueryableModuleParams<AnyConfigSchema<ModuleConfig>>, ModuleEventData<object>>> = AsObjectFactory.create(isQueryableModule)\n\n/** @deprecated use asQueryableModule instead */\nexport const asModule: AsTypeFunction<QueryableModule<QueryableModuleParams<AnyConfigSchema<ModuleConfig>>, ModuleEventData<object>>> = asQueryableModule\n", "import {\n  zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n  asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ModuleManifestQuerySchema: 'network.xyo.query.module.manifest' & {\n  readonly __schema: true\n} = asSchema('network.xyo.query.module.manifest', true)\nexport type ModuleManifestQuerySchema = typeof ModuleManifestQuerySchema\n\nexport const ModuleManifestQueryZod: z.ZodMiniObject<\n  & { schema: z.ZodMiniLiteral<ModuleManifestQuerySchema> }\n  & (typeof QueryFieldsZod)['shape']\n  & { maxDepth: z.ZodMiniOptional<z.ZodMiniNumber<number>> },\n  z.core.$strip\n> = z.extend(PayloadZodOfSchema(ModuleManifestQuerySchema), {\n  ...QueryFieldsZod.shape,\n  maxDepth: z.optional(z.number()),\n})\n\nexport type ModuleManifestQuery = z.infer<typeof ModuleManifestQueryZod>\n\nexport const isModuleManifestQuery: ReturnType<typeof zodIsFactory<ModuleManifestQuery>> = zodIsFactory(ModuleManifestQueryZod)\nexport const asModuleManifestQuery: ReturnType<typeof zodAsFactory<ModuleManifestQuery>> = zodAsFactory(ModuleManifestQueryZod, 'asModuleManifestQuery')\nexport const toModuleManifestQuery: ReturnType<typeof zodToFactory<ModuleManifestQuery>> = zodToFactory(ModuleManifestQueryZod, 'toModuleManifestQuery')\n", "import {\n  zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n  asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ModuleAddressQuerySchema: 'network.xyo.query.module.address' & {\n  readonly __schema: true\n} = asSchema('network.xyo.query.module.address', true)\nexport type ModuleAddressQuerySchema = typeof ModuleAddressQuerySchema\n\nexport const ModuleAddressQueryZod: z.ZodMiniObject<\n  & { schema: z.ZodMiniLiteral<ModuleAddressQuerySchema> }\n  & (typeof QueryFieldsZod)['shape'],\n  z.core.$strip\n> = z.extend(PayloadZodOfSchema(ModuleAddressQuerySchema), { ...QueryFieldsZod.shape })\n\nexport type ModuleAddressQuery = z.infer<typeof ModuleAddressQueryZod>\n\nexport const isModuleAddressQuery: ReturnType<typeof zodIsFactory<ModuleAddressQuery>> = zodIsFactory(ModuleAddressQueryZod)\nexport const asModuleAddressQuery: ReturnType<typeof zodAsFactory<ModuleAddressQuery>> = zodAsFactory(ModuleAddressQueryZod, 'asModuleAddressQuery')\nexport const toModuleAddressQuery: ReturnType<typeof zodToFactory<ModuleAddressQuery>> = zodToFactory(ModuleAddressQueryZod, 'toModuleAddressQuery')\n", "import {\n  zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n  asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ModuleStateQuerySchema: 'network.xyo.query.module.state' & {\n  readonly __schema: true\n} = asSchema('network.xyo.query.module.state', true)\nexport type ModuleStateQuerySchema = typeof ModuleStateQuerySchema\n\nexport const ModuleStateQueryZod: z.ZodMiniObject<\n  & { schema: z.ZodMiniLiteral<ModuleStateQuerySchema> }\n  & (typeof QueryFieldsZod)['shape'],\n  z.core.$strip\n> = z.extend(PayloadZodOfSchema(ModuleStateQuerySchema), { ...QueryFieldsZod.shape })\n\nexport type ModuleStateQuery = z.infer<typeof ModuleStateQueryZod>\n\nexport const isModuleStateQuery: ReturnType<typeof zodIsFactory<ModuleStateQuery>> = zodIsFactory(ModuleStateQueryZod)\nexport const asModuleStateQuery: ReturnType<typeof zodAsFactory<ModuleStateQuery>> = zodAsFactory(ModuleStateQueryZod, 'asModuleStateQuery')\nexport const toModuleStateQuery: ReturnType<typeof zodToFactory<ModuleStateQuery>> = zodToFactory(ModuleStateQueryZod, 'toModuleStateQuery')\n", "import {\n  zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n  asSchema, PayloadZodOfSchema, QueryFieldsZod, type XyoAddress,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const ModuleSubscribeQuerySchema: 'network.xyo.query.module.subscribe' & {\n  readonly __schema: true\n} = asSchema('network.xyo.query.module.subscribe', true)\nexport type ModuleSubscribeQuerySchema = typeof ModuleSubscribeQuerySchema\n\nexport interface ModuleSubscribeFilter {\n  /** @field if specified, at least one of the schemas must be present in the boundwtness to generate a notification */\n  schema?: string[]\n}\n\n// requests notification when a boundwitness is added to the modules chain that meets the filter criteria\nexport const ModuleSubscribeQueryZod: z.ZodMiniObject<\n  & { schema: z.ZodMiniLiteral<ModuleSubscribeQuerySchema> }\n  & Omit<(typeof QueryFieldsZod)['shape'], 'address'>\n  & {\n    address: z.ZodMiniCustom<XyoAddress, XyoAddress>\n    filter: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniCustom<ModuleSubscribeFilter, ModuleSubscribeFilter>>>\n    maxQueue: z.ZodMiniOptional<z.ZodMiniNumber<number>>\n  },\n  z.core.$strip\n> = z.extend(PayloadZodOfSchema(ModuleSubscribeQuerySchema), {\n  ...QueryFieldsZod.shape,\n  /** @field The address that will receive notifications */\n  address: z.custom<XyoAddress>(),\n  /** @field A subscribe with a null for filter is an unsubscribe */\n  filter: z.optional(z.nullable(z.custom<ModuleSubscribeFilter>())),\n  /** @field The maximum events queued per send [may increase frequency] */\n  maxQueue: z.optional(z.number()),\n})\n\nexport type ModuleSubscribeQuery = z.infer<typeof ModuleSubscribeQueryZod>\n\nexport const isModuleSubscribeQuery: ReturnType<typeof zodIsFactory<ModuleSubscribeQuery>> = zodIsFactory(ModuleSubscribeQueryZod)\nexport const asModuleSubscribeQuery: ReturnType<typeof zodAsFactory<ModuleSubscribeQuery>> = zodAsFactory(ModuleSubscribeQueryZod, 'asModuleSubscribeQuery')\nexport const toModuleSubscribeQuery: ReturnType<typeof zodToFactory<ModuleSubscribeQuery>> = zodToFactory(ModuleSubscribeQueryZod, 'toModuleSubscribeQuery')\n", "import type { AsTypeFunction } from '@ariestools/sdk'\nimport { AsObjectFactory } from '@ariestools/sdk'\n\nimport type { AnyConfigSchema, ModuleConfig } from '../Config/Config.ts'\nimport type { ModuleEventData } from '../EventsModels/ModuleEventData.ts'\nimport { isQueryableModuleObject } from './isQueryableModuleObject.ts'\nimport type { QueryableModule } from './QueryableModule.ts'\nimport type { QueryableModuleParams } from './QueryableModuleParams.ts'\n\nexport const asQueryableModuleObject: AsTypeFunction<QueryableModule<QueryableModuleParams<AnyConfigSchema<ModuleConfig>>, ModuleEventData<object>>> = AsObjectFactory.create(isQueryableModuleObject)\n\n/** @deprecated use asQueryableModuleObject instead */\nexport const asModuleObject: AsTypeFunction<QueryableModule<QueryableModuleParams<AnyConfigSchema<ModuleConfig>>, ModuleEventData<object>>> = asQueryableModuleObject\n", "import type { ObjectTypeShape, TypeCheck } from '@ariestools/sdk'\nimport { IsObjectFactory } from '@ariestools/sdk'\n\nimport type { QueryableModule } from './QueryableModule.ts'\n\nexport const requiredQueryableModuleShape: ObjectTypeShape = {\n  address: 'string',\n  queries: 'array',\n  query: 'function',\n}\n\n/** @deprecated use requiredQueryableModuleShape instead */\nexport const requiredModuleShape: ObjectTypeShape = requiredQueryableModuleShape\n\nconst factory = new IsObjectFactory<QueryableModule>()\n\nexport const isQueryableModuleObject: TypeCheck<QueryableModule> = factory.create(requiredQueryableModuleShape)\n\n/** @deprecated use isQueryableModuleObject instead */\nexport const isModuleObject: TypeCheck<QueryableModule> = isQueryableModuleObject\n", "import type {\n  AnyNonPromise,\n  AnyObject, EmptyObject, TypeCheck,\n  TypeCheckConfig,\n} from '@ariestools/sdk'\n\nimport { asQueryableModuleObject } from './asQueryableModuleObject.ts'\nimport { isQueryableModuleObject } from './isQueryableModuleObject.ts'\nimport type { QueryableModule } from './QueryableModule.ts'\n\nexport type QueryableModuleTypeCheck<T extends QueryableModule = QueryableModule> = TypeCheck<T>\n\n/** @deprecated use QueryableModuleTypeCheck instead */\nexport type ModuleTypeCheck<T extends QueryableModule = QueryableModule> = TypeCheck<T>\n\nexport class IsQueryableModuleFactory<T extends QueryableModule = QueryableModule> {\n  create(expectedQueries?: string[], additionalChecks?: TypeCheck<AnyObject | EmptyObject>[]): QueryableModuleTypeCheck<T> {\n    const result = (obj: AnyNonPromise, config?: TypeCheckConfig | number): obj is T => {\n      const mod = asQueryableModuleObject(obj)\n      return (\n        isQueryableModuleObject(mod, config)\n\n        && (expectedQueries?.reduce((prev, query) => prev && mod.queries.includes(query), true) ?? true)\n        // perform additional checks\n\n        && (additionalChecks?.reduce((prev, check) => prev && check(obj, config), true) ?? true)\n      )\n    }\n    return result\n  }\n}\n\n/** @deprecated use IsQueryableModuleFactory instead */\nexport class IsModuleFactory<T extends QueryableModule = QueryableModule> extends IsQueryableModuleFactory<T> {}\n", "import type { TypeCheck } from '@ariestools/sdk'\nimport type { Schema } from '@xyo-network/sdk-protocol'\n\nimport { ModuleStateQuerySchema } from '../Queries/index.ts'\nimport { IsQueryableModuleFactory } from './IsQueryableModuleFactory.ts'\nimport { isQueryableModuleObject } from './isQueryableModuleObject.ts'\nimport type { QueryableModule } from './QueryableModule.ts'\n\nexport const requiredQueryableModuleQueries: Schema[] = [ModuleStateQuerySchema]\n\n/** @deprecated use requiredQueryableModuleQueries instead */\nexport const requiredModuleQueries: Schema[] = requiredQueryableModuleQueries\n\n// we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsQueryableModuleFactory<QueryableModule>()\n\nexport const isQueryableModule: TypeCheck<QueryableModule> = factory.create(requiredQueryableModuleQueries, [isQueryableModuleObject])\n\n/** @deprecated use isQueryableModule instead */\nexport const isModule: TypeCheck<QueryableModule> = isQueryableModule\n", "import type { AsTypeFunction } from '@ariestools/sdk'\nimport { AsObjectFactory } from '@ariestools/sdk'\n\nimport type { AttachableModuleInstance } from './AttachableInstance.ts'\nimport { isAttachableModuleInstance } from './isAttachableInstance.ts'\n\nexport const asAttachableModuleInstance: AsTypeFunction<AttachableModuleInstance> = AsObjectFactory.create(isAttachableModuleInstance)\n", "import type { ObjectTypeShape, TypeCheck } from '@ariestools/sdk'\nimport { IsObjectFactory } from '@ariestools/sdk'\n\nimport { isModuleInstance } from '../isModuleInstance.ts'\nimport type { AttachableModuleInstance } from './AttachableInstance.ts'\n\nexport const requiredAttachableModuleInstanceFunctions: ObjectTypeShape = {\n  downResolver: 'object',\n  upResolver: 'object',\n}\n\n// we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsObjectFactory<AttachableModuleInstance>()\n\nexport const isAttachableModuleInstance: TypeCheck<AttachableModuleInstance> = factory.create(requiredAttachableModuleInstanceFunctions, [\n  isModuleInstance,\n])\n", "import type { CreatableInstance, TypeCheck } from '@ariestools/sdk'\nimport { IsObjectFactory } from '@ariestools/sdk'\n\nimport type { ModuleEventData } from '../../EventsModels/index.ts'\nimport type { QueryableModuleParams } from '../../QueryableModule/index.ts'\nimport type { ModuleInstance } from '../Instance.ts'\nimport type { ModuleResolverInstance } from '../ModuleResolver.ts'\n\nexport interface AttachableModuleInstance<TParams extends QueryableModuleParams = QueryableModuleParams, TEventData extends ModuleEventData = ModuleEventData>\n  extends ModuleInstance<TParams, TEventData>, CreatableInstance<TParams, TEventData> {\n  config: TParams['config']\n  /* The resolver is a 'down' resolver.  It can resolve the module or any children (if it is a node for example), that are in the module */\n  readonly downResolver: ModuleResolverInstance\n\n  // The resolver that gets called by children (usually only Nodes have this)\n  readonly privateResolver: ModuleResolverInstance\n\n  /* The resolver is a 'up' resolver.  It can resolve the parent or any children of the parent */\n  /* This is set by a NodeModule when attaching to the module */\n  readonly upResolver: ModuleResolverInstance\n}\n\nexport type AttachableModuleInstanceTypeCheck<T extends AttachableModuleInstance = AttachableModuleInstance> = TypeCheck<T>\n\nexport class IsAttachableModuleInstanceFactory<T extends AttachableModuleInstance = AttachableModuleInstance> extends IsObjectFactory<T> {}\n", "import type {\n  CreatableStatus, Promisable,\n  TypeCheck,\n} from '@ariestools/sdk'\nimport { IsObjectFactory, toSafeJsonString } from '@ariestools/sdk'\nimport type { AccountInstance, XyoAddress } from '@xyo-network/sdk-protocol'\n\nimport type { ModuleEventData } from '../EventsModels/index.ts'\nimport type { ModuleIdentifier, ModuleName } from '../ModuleIdentifier.ts'\nimport type {\n  QueryableModule, QueryableModuleFunctions,\n  QueryableModuleParams,\n} from '../QueryableModule/index.ts'\nimport type { Direction } from './ObjectFilter.ts'\nimport type { ObjectResolver } from './ObjectResolver.ts'\n\nexport type ModulePipeLine = Lowercase<'one-to-one' | 'one-to-many' | 'many-to-one' | 'many-to-many'>\n\nexport type ModuleStatus = CreatableStatus | 'wrapped' | 'proxy'\n\nexport class DeadModuleError extends Error {\n  error: Error | undefined\n  id: ModuleIdentifier\n  constructor(\n    id: ModuleIdentifier,\n    error: Error | undefined,\n    msg = 'Dead Module Error',\n  ) {\n    super(`${msg} [${id}]: ${error?.message ?? toSafeJsonString(error)}`)\n    this.id = id\n    this.error = error\n\n    // Set the prototype explicitly.\n    Object.setPrototypeOf(this, DeadModuleError.prototype)\n  }\n}\n\nexport interface AddressToWeakInstanceCache {\n  get: (address: XyoAddress) => WeakRef<ModuleInstance> | null\n  set: (address: XyoAddress, instance: WeakRef<ModuleInstance> | null) => void\n}\n\nexport interface ModuleFamilyFunctions {\n  account?: AccountInstance\n  addParent: (mod: ModuleInstance) => void\n  addressCache?: (direction: Direction, includePrivate: boolean) => AddressToWeakInstanceCache | undefined\n  modName?: ModuleName\n  parents: () => Promisable<ModuleInstance[]>\n  privateChildren: () => Promisable<ModuleInstance[]>\n  publicChildren: () => Promisable<ModuleInstance[]>\n  removeParent: (address: XyoAddress) => void\n  siblings: () => Promisable<ModuleInstance[]>\n}\n\nexport interface ModuleInstance<TParams extends QueryableModuleParams = QueryableModuleParams, TEventData extends ModuleEventData = ModuleEventData>\n  extends QueryableModule<TParams, TEventData>,\n  ObjectResolver<ModuleInstance>,\n  QueryableModuleFunctions,\n  ModuleFamilyFunctions {\n  readonly pipeline?: ModulePipeLine\n\n  // if the module has become non-functional, such as a broken bridge connection, this will be 'dead'\n  readonly status: ModuleStatus | null\n}\n\nexport type InstanceTypeCheck<T extends ModuleInstance = ModuleInstance> = TypeCheck<T>\n\nexport class IsInstanceFactory<T extends ModuleInstance = ModuleInstance> extends IsObjectFactory<T> {}\n", "import type {\n  AnyObject, EmptyObject, TypeCheck,\n} from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk-protocol'\n\nimport type { ModuleName } from '../ModuleIdentifier.ts'\n\nexport type Direction = 'up' | 'down' | 'all'\nexport type Visibility = 'public' | 'private' | 'all'\n\nexport interface ResolveStrategy {\n  maxDepth?: number\n  required?: boolean | 'warn' | 'log'\n  retry?: number\n  timeout?: number\n}\n\nexport interface ObjectFilterOptions<T extends EmptyObject = AnyObject> extends ResolveStrategy {\n  direction?: Direction\n  identity?: TypeCheck<T>\n}\n\nexport interface AddressObjectFilter<T extends EmptyObject = AnyObject> extends ObjectFilterOptions<T> {\n  address: XyoAddress[]\n}\n\nexport const isAddressObjectFilter = <T extends EmptyObject = AnyObject>(value: unknown): value is AddressObjectFilter<T> =>\n  (value as AddressObjectFilter<T>).address !== undefined\n\nexport interface NameObjectFilter<T extends EmptyObject = AnyObject> extends ObjectFilterOptions<T> {\n  name: ModuleName[]\n}\n\nexport const isNameObjectFilter = <T extends EmptyObject = AnyObject>(value: unknown): value is NameObjectFilter<T> =>\n  (value as NameObjectFilter<T>).name !== undefined\n\nexport interface QueryObjectFilter<T extends EmptyObject = AnyObject> extends ObjectFilterOptions<T> {\n  query: string[][]\n}\n\nexport const isQueryObjectFilter = <T extends EmptyObject = AnyObject>(value: unknown): value is QueryObjectFilter<T> =>\n  (value as QueryObjectFilter<T>).query !== undefined\n\nexport type AnyObjectFilter<T extends EmptyObject = AnyObject> = Partial<AddressObjectFilter<T>>\n  & Partial<NameObjectFilter<T>>\n  & Partial<QueryObjectFilter<T>>\n\nexport type ObjectFilter<T extends EmptyObject> = ObjectFilterOptions<T> | AddressObjectFilter<T> | NameObjectFilter<T> | QueryObjectFilter<T>\n", "import type { ModuleInstance } from './Instance.ts'\nimport type {\n  AddressObjectFilter,\n  AnyObjectFilter,\n  NameObjectFilter,\n  ObjectFilter,\n  ObjectFilterOptions,\n  QueryObjectFilter,\n} from './ObjectFilter.ts'\nimport {\n  isAddressObjectFilter,\n  isNameObjectFilter,\n  isQueryObjectFilter,\n} from './ObjectFilter.ts'\n\nexport interface ModuleFilterOptions<T extends ModuleInstance = ModuleInstance> extends ObjectFilterOptions<T> {}\n\nexport const isAddressModuleFilter: (value: unknown) => value is AddressObjectFilter<ModuleInstance> = isAddressObjectFilter<ModuleInstance>\n\nexport const isNameModuleFilter: (value: unknown) => value is NameObjectFilter<ModuleInstance> = isNameObjectFilter<ModuleInstance>\n\nexport const isQueryModuleFilter: (value: unknown) => value is QueryObjectFilter<ModuleInstance> = isQueryObjectFilter<ModuleInstance>\n\nexport type AnyModuleFilter<T extends ModuleInstance = ModuleInstance> = AnyObjectFilter<T>\n\nexport type AddressModuleFilter<T extends ModuleInstance = ModuleInstance> = AddressObjectFilter<T>\n\nexport type NameModuleFilter<T extends ModuleInstance = ModuleInstance> = NameObjectFilter<T>\n\nexport type QueryModuleFilter<T extends ModuleInstance = ModuleInstance> = QueryObjectFilter<T>\n\n/** @deprecated use ModuleIdentifier instead */\nexport type ModuleFilter<T extends ModuleInstance = ModuleInstance> = ObjectFilter<T>\n", "import type {\n  AnyObject, EmptyObject, Promisable,\n} from '@ariestools/sdk'\n\nimport type { ModuleIdentifier } from '../ModuleIdentifier.ts'\nimport type { ObjectFilterOptions } from './ObjectFilter.ts'\n\nexport const isObjectResolver = <T extends EmptyObject = AnyObject>(value?: unknown): value is ObjectResolver<T> => {\n  return typeof (value as Partial<ObjectResolver<T>>).resolve === 'function'\n}\n\nexport const ObjectResolverPriority = {\n  Disabled: -1,\n  VeryLow: 0,\n  Low: 1,\n  Normal: 2,\n  High: 3,\n  VeryHigh: 4,\n} as const\n\nexport type ObjectResolverPriority = typeof ObjectResolverPriority[keyof typeof ObjectResolverPriority]\n\nexport interface ObjectResolver<TResult extends EmptyObject> {\n  priority: ObjectResolverPriority\n  resolve<T extends TResult = TResult>(all: '*', options?: ObjectFilterOptions<T>): Promisable<T[]>\n  resolve<T extends TResult = TResult>(id: ModuleIdentifier, options?: ObjectFilterOptions<T>): Promisable<T | undefined>\n  resolve<T extends TResult = TResult>(\n    id?: ModuleIdentifier,\n    options?: ObjectFilterOptions<T>,\n  ): Promisable<T | T[] | undefined>\n\n  resolvePrivate<T extends TResult = TResult>(all: '*', options?: ObjectFilterOptions<T>): Promise<T[]>\n  resolvePrivate<T extends TResult = TResult>(id: ModuleIdentifier, options?: ObjectFilterOptions<T>): Promise<T | undefined>\n  resolvePrivate<T extends TResult = TResult>(id: ModuleIdentifier, options?: ObjectFilterOptions<T>): Promise<T | T[] | undefined>\n}\n\nexport interface ObjectResolverInstance<TResult extends EmptyObject> extends ObjectResolver<TResult> {\n  addResolver: (resolver: ObjectResolverInstance<TResult>) => this\n  removeResolver: (resolver: ObjectResolverInstance<TResult>) => this\n}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk-protocol'\n\nimport type { ModuleIdentifier } from '../ModuleIdentifier.ts'\nimport type { ModuleInstance } from './Instance.ts'\nimport type { ObjectFilterOptions } from './ObjectFilter.ts'\nimport type { ObjectResolver } from './ObjectResolver.ts'\nimport { isObjectResolver } from './ObjectResolver.ts'\n\nexport const isModuleResolver: (value?: unknown) => value is ObjectResolver<ModuleInstance> = isObjectResolver<ModuleInstance>\n\nexport interface ModuleResolver<TResult extends ModuleInstance = ModuleInstance> extends ObjectResolver<TResult> {}\n\nexport interface ModuleNameResolver {\n  readonly root: ModuleInstance\n  resolveIdentifier(id: ModuleIdentifier, options?: ObjectFilterOptions): Promisable<XyoAddress | undefined>\n}\n\nexport interface ModuleResolverInstance<TResult extends ModuleInstance = ModuleInstance> extends ModuleResolver<TResult>, ModuleNameResolver {\n  addResolver: (resolver: ModuleResolverInstance<TResult>) => this\n  removeResolver: (resolver: ModuleResolverInstance<TResult>) => this\n}\n", "/**\n * Object used to represent labels identifying a resource.\n */\nexport type Labels = Record<string, string | undefined>\n\n/**\n * Interface for objects that have labels.\n */\nexport interface WithLabels<T extends Labels = Labels> {\n  labels: T\n}\n\n/**\n * Interface for objects that have labels.\n */\nexport interface WithOptionalLabels<T extends Labels = Labels> {\n  labels?: T\n}\n\n/**\n * Returns true if the source object has all the labels from the required set\n * @param source Source object to check against\n * @param required Set of labels to check for in source\n * @returns True of the source object has all the labels from the required set\n */\nexport const hasAllLabels = (source?: Labels, required?: Labels): boolean => {\n  if (!required) return true\n  return Object.entries(required).every(([key, value]) => {\n    return Object.hasOwn(source ?? {}, key) && source?.[key] === value\n  })\n}\n", "export const ModuleLimitationLabelName = 'network.xyo.module.limitation'\nexport type ModuleLimitationLabelName = typeof ModuleLimitationLabelName\n\nexport const ModuleLimitationViewLabel = { ModuleLimitationLabelName: 'view' }\n", "import type { QueryableModule } from '../QueryableModule/index.ts'\n\n/**\n * Used to filter duplicates from an array of modules\n * @example: modulesArray.filter(duplicateModules)\n * @param value Current Module\n * @param index Current Module's index\n * @param array Module Array\n * @returns True if the Module's address is the first occurrence of\n * that address in the array, false otherwise\n */\nexport const duplicateModules = (value: QueryableModule, index: number, array: QueryableModule[]): value is QueryableModule => {\n  return array.findIndex(v => v.address === value.address) === index\n}\n", "export const isSerializable = (value: unknown, maxDepth = 10): boolean => {\n  if (maxDepth <= 0) {\n    return false\n  }\n  if (value === null || typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {\n    return true\n  }\n\n  if (Array.isArray(value)) {\n    return value.every(item => isSerializable(item, maxDepth - 1))\n  }\n\n  if (typeof value === 'object') {\n    if (value instanceof Date || value instanceof RegExp) {\n      return true\n    }\n\n    // Check for non-serializable objects like Set and Map\n    if (value instanceof Set || value instanceof Map) {\n      return false\n    }\n\n    if (value !== null && value !== undefined) {\n      return Object.values(value).every(item => isSerializable(item, maxDepth - 1))\n    }\n  }\n\n  // Exclude functions, symbols, undefined, and BigInt explicitly\n  return false\n}\n", "import type { Address } from '@ariestools/sdk'\nimport { isAddress } from '@ariestools/sdk'\n\nexport const MODULE_PATH_SEPARATOR = ':' as const\n\nexport const DisallowedModuleIdentifierCharacters = {\n  ' ': true,\n  '!': true,\n  '\"': true,\n  '#': true,\n  '$': true,\n  '%': true,\n  '&': true,\n  \"'\": true,\n  '(': true,\n  ')': true,\n  '*': true,\n  ',': true,\n  '.': true,\n  '/': true,\n  ':': true,\n  ';': true,\n  '<': true,\n  '=': true,\n  '>': true,\n  '?': true,\n  '@': true,\n  '[': true,\n  ']': true,\n  '^': true,\n  '_': true,\n  '{': true,\n  '|': true,\n  '}': true,\n  '~': true,\n}\nexport type ReservedModuleIdentifierCharacter = keyof typeof DisallowedModuleIdentifierCharacters\nexport const ReservedModuleIdentifierCharacters: Set<ReservedModuleIdentifierCharacter> = new Set<ReservedModuleIdentifierCharacter>(\n  Object.keys(DisallowedModuleIdentifierCharacters) as ReservedModuleIdentifierCharacter[],\n)\n\n// TODO: Use Brand, but avoid too complex error\n// export type ModuleName = Brand<string, { __moduleName: true }>\nexport type ModuleName = string\n\nexport type ModuleIdentifier\n  = | ColonPair<ModuleIdentifierPart>\n    | ColonPair<ColonPair<ModuleIdentifierPart>>\n    | ColonPair<ColonPair<ColonPair<ModuleIdentifierPart>>>\n    | ColonPair<ColonPair<ColonPair<ColonPair<ModuleIdentifierPart>>>>\n    | ColonPair<ColonPair<ColonPair<ColonPair<ColonPair<ModuleIdentifierPart>>>>>\n    | ColonPair<ColonPair<ColonPair<ColonPair<ColonPair<ColonPair<ModuleIdentifierPart>>>>>>\n    | ColonPair<ColonPair<ColonPair<ColonPair<ColonPair<ColonPair<ColonPair<ModuleIdentifierPart>>>>>>>\n\nexport type ColonPair<T extends string> = `${T}:${T}` | T\n\nexport type ModuleIdentifierPart = Exclude<Address | ModuleName, '*'>\n\nexport const isModuleName = (value: unknown): value is ModuleName => {\n  return typeof value === 'string' && !isAddress(value) && !includesReservedModuleIdentifierCharacter(value)\n}\n\nexport const includesReservedModuleIdentifierCharacter = (value: unknown): boolean => {\n  return typeof value === 'string' && [...value].some(char => ReservedModuleIdentifierCharacters.has(char as ReservedModuleIdentifierCharacter))\n}\n\nexport const isModuleIdentifierPart = (value: unknown): value is ModuleIdentifierPart => {\n  return isModuleName(value) || isAddress(value)\n}\n", "import {\n  zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n  asSchema, PayloadZodOfSchema, type XyoAddress,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const AddressSchema: 'network.xyo.address' & {\n  readonly __schema: true\n} = asSchema('network.xyo.address', true)\nexport type AddressSchema = typeof AddressSchema\n\nexport const AddressChildSchema: 'network.xyo.address.child' & {\n  readonly __schema: true\n} = asSchema('network.xyo.address.child', true)\nexport type AddressChildSchema = typeof AddressChildSchema\n\nexport interface AddressFields {\n  address: XyoAddress\n}\n\nexport const AddressPayloadZod: z.ZodMiniObject<{\n  address: z.ZodMiniCustom<XyoAddress, XyoAddress>\n  schema: z.ZodMiniLiteral<AddressSchema>\n}, z.core.$strip> = z.extend(PayloadZodOfSchema(AddressSchema), { address: z.custom<XyoAddress>() })\n\nexport type AddressPayload = z.infer<typeof AddressPayloadZod>\n\n/**\n * Identity function for determining if an object is an Address\n */\nexport const isAddressPayload: ReturnType<typeof zodIsFactory<AddressPayload>> = zodIsFactory(AddressPayloadZod)\nexport const asAddressPayload: ReturnType<typeof zodAsFactory<AddressPayload>> = zodAsFactory(AddressPayloadZod, 'asAddressPayload')\nexport const toAddressPayload: ReturnType<typeof zodToFactory<AddressPayload>> = zodToFactory(AddressPayloadZod, 'toAddressPayload')\n\n/** @deprecated use asAddressPayload instead */\nexport const asOptionalAddressPayload: ReturnType<typeof zodAsFactory<AddressPayload>> = asAddressPayload\n\nexport interface AddressChildFields extends AddressFields {\n  /**\n   * The derivation path of the child address\n   */\n  path?: string\n  /**\n   * The public address of the root of the hierarchy\n   */\n  root?: XyoAddress\n}\n\nexport const AddressChildPayloadZod: z.ZodMiniObject<{\n  address: z.ZodMiniCustom<XyoAddress, XyoAddress>\n  path: z.ZodMiniOptional<z.ZodMiniString<string>>\n  root: z.ZodMiniOptional<z.ZodMiniCustom<XyoAddress, XyoAddress>>\n  schema: z.ZodMiniLiteral<AddressChildSchema>\n}, z.core.$strip> = z.extend(PayloadZodOfSchema(AddressChildSchema), {\n  address: z.custom<XyoAddress>(),\n  path: z.optional(z.string()),\n  root: z.optional(z.custom<XyoAddress>()),\n})\n\nexport type AddressChildPayload = z.infer<typeof AddressChildPayloadZod>\n\nexport const isAddressChildPayload: ReturnType<typeof zodIsFactory<AddressChildPayload>> = zodIsFactory(AddressChildPayloadZod)\nexport const asAddressChildPayload: ReturnType<typeof zodAsFactory<AddressChildPayload>> = zodAsFactory(AddressChildPayloadZod, 'asAddressChildPayload')\nexport const toAddressChildPayload: ReturnType<typeof zodToFactory<AddressChildPayload>> = zodToFactory(AddressChildPayloadZod, 'toAddressChildPayload')\n", "import {\n  zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n  asSchema, PayloadZodOfSchema, type XyoAddress,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport const AddressPreviousHashSchema: 'network.xyo.address.hash.previous' & {\n  readonly __schema: true\n} = asSchema('network.xyo.address.hash.previous', true)\nexport type AddressPreviousHashSchema = typeof AddressPreviousHashSchema\n\nexport const AddressPreviousHashPayloadZod: z.ZodMiniObject<{\n  address: z.ZodMiniCustom<XyoAddress, XyoAddress>\n  previousHash: z.ZodMiniOptional<z.ZodMiniString<string>>\n  schema: z.ZodMiniLiteral<AddressPreviousHashSchema>\n}, z.core.$strip> = z.extend(PayloadZodOfSchema(AddressPreviousHashSchema), {\n  address: z.custom<XyoAddress>(),\n  previousHash: z.optional(z.string()),\n})\n\nexport type AddressPreviousHashPayload = z.infer<typeof AddressPreviousHashPayloadZod>\n\nexport const isAddressPreviousHashPayload: ReturnType<typeof zodIsFactory<AddressPreviousHashPayload>> = zodIsFactory(AddressPreviousHashPayloadZod)\nexport const asAddressPreviousHashPayload: ReturnType<typeof zodAsFactory<AddressPreviousHashPayload>> = zodAsFactory(AddressPreviousHashPayloadZod, 'asAddressPreviousHashPayload')\nexport const toAddressPreviousHashPayload: ReturnType<typeof zodToFactory<AddressPreviousHashPayload>> = zodToFactory(AddressPreviousHashPayloadZod, 'toAddressPreviousHashPayload')\n", "import {\n  zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { asSchema, PayloadZodOfSchema } from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nimport type { ModuleDescription } from '../ModuleDescription.ts'\n\nexport const ModuleDescriptionSchema: 'network.xyo.module.description' & {\n  readonly __schema: true\n} = asSchema('network.xyo.module.description', true)\nexport type ModuleDescriptionSchema = typeof ModuleDescriptionSchema\n\nexport const ModuleDescriptionPayloadZod: z.ZodMiniIntersection<\n  z.ZodMiniObject<{ schema: z.ZodMiniLiteral<ModuleDescriptionSchema> }, z.core.$strip>,\n  z.ZodMiniCustom<ModuleDescription, ModuleDescription>\n> = z.intersection(PayloadZodOfSchema(ModuleDescriptionSchema), z.custom<ModuleDescription>())\n\nexport type ModuleDescriptionPayload = z.infer<typeof ModuleDescriptionPayloadZod>\n\nexport const isModuleDescriptionPayload: ReturnType<typeof zodIsFactory<ModuleDescriptionPayload>> = zodIsFactory(ModuleDescriptionPayloadZod)\nexport const asModuleDescriptionPayload: ReturnType<typeof zodAsFactory<ModuleDescriptionPayload>> = zodAsFactory(ModuleDescriptionPayloadZod, 'asModuleDescriptionPayload')\nexport const toModuleDescriptionPayload: ReturnType<typeof zodToFactory<ModuleDescriptionPayload>> = zodToFactory(ModuleDescriptionPayloadZod, 'toModuleDescriptionPayload')\n", "import {\n  zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type { Payload, WithSources } from '@xyo-network/sdk-protocol'\nimport {\n  asSchema, isPayloadOfSchemaTypeWithSources, PayloadZodOfSchema,\n} from '@xyo-network/sdk-protocol'\nimport * as z from 'zod/mini'\n\nexport type StateDictionary = Record<string, string | number>\nexport interface State<T extends StateDictionary = StateDictionary> {\n  state: T\n}\n\nexport const ModuleStateSchema: 'network.xyo.module.state' & {\n  readonly __schema: true\n} = asSchema('network.xyo.module.state', true)\nexport type ModuleStateSchema = typeof ModuleStateSchema\n\nexport const ModuleStateZod: z.ZodMiniObject<{\n  schema: z.ZodMiniLiteral<ModuleStateSchema>\n  state: z.ZodMiniCustom<StateDictionary, StateDictionary>\n}, z.core.$strip> = z.extend(PayloadZodOfSchema(ModuleStateSchema), { state: z.custom<StateDictionary>() })\n\nexport type ModuleState<T extends StateDictionary = StateDictionary> = Payload<State<T>, ModuleStateSchema>\n\nconst isModuleStateInternal = zodIsFactory(ModuleStateZod)\n\nexport const isModuleState = <T extends StateDictionary = StateDictionary, TInput = unknown>(payload?: TInput): payload is ModuleState<T> & TInput => isModuleStateInternal(payload)\n\nexport const isModuleStateWithSources = <T extends StateDictionary = StateDictionary,\n  TInput = unknown>(payload?: TInput): payload is WithSources<ModuleState<T>> & TInput => {\n  return isPayloadOfSchemaTypeWithSources<ModuleState<T>>(ModuleStateSchema)(payload)\n}\n\nexport const asModuleState: ReturnType<typeof zodAsFactory<ModuleState>> = zodAsFactory(ModuleStateZod, 'asModuleState')\nexport const toModuleState: ReturnType<typeof zodToFactory<ModuleState>> = zodToFactory(ModuleStateZod, 'toModuleState')\n\n/** @deprecated use asModuleState instead */\nexport const asOptionalModuleState: ReturnType<typeof zodAsFactory<ModuleState>> = asModuleState\n", "import type { TypeCheck } from '@ariestools/sdk'\n\n/** @deprecated use narrowing instead [ if(is) ] */\nexport const WithFactory = {\n  create: <T extends object>(typeCheck: TypeCheck<T>) => {\n    return <R>(\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any\n      mod: any,\n\n      closure: (mod: T) => R,\n    ): R | undefined => {\n      // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n      return typeCheck(mod) ? closure(mod) : undefined\n    }\n  },\n}\n"],
  "mappings": "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",
  "names": ["z", "z", "z", "z", "asSchema", "factory", "factory", "creatableModule", "AsObjectFactory", "IsObjectFactory", "AsObjectFactory", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "QueryFieldsZod", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "QueryFieldsZod", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "QueryFieldsZod", "z", "factory", "AsObjectFactory", "factory", "IsObjectFactory", "AsObjectFactory", "AsObjectFactory", "IsObjectFactory", "factory", "IsObjectFactory", "AsObjectFactory", "IsObjectFactory", "IsObjectFactory", "array", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "PayloadZodOfSchema", "z"]
}
