@xyo-network/sdk 7.4.2 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/neutral/api-location-diviner.mjs +1 -1
- package/dist/neutral/api-location-diviner.mjs.map +2 -2
- package/dist/neutral/archivist-abstract.mjs +30 -25
- package/dist/neutral/archivist-abstract.mjs.map +2 -2
- package/dist/neutral/archivist-generic.mjs +4 -2
- package/dist/neutral/archivist-generic.mjs.map +2 -2
- package/dist/neutral/archivist-memory.mjs +5 -4
- package/dist/neutral/archivist-memory.mjs.map +2 -2
- package/dist/neutral/archivist-model.mjs +10 -5
- package/dist/neutral/archivist-model.mjs.map +2 -2
- package/dist/neutral/archivist-view.mjs +5 -3
- package/dist/neutral/archivist-view.mjs.map +2 -2
- package/dist/neutral/boundwitness-loader.mjs +11 -6
- package/dist/neutral/boundwitness-loader.mjs.map +2 -2
- package/dist/neutral/bridge-abstract.mjs +39 -26
- package/dist/neutral/bridge-abstract.mjs.map +2 -2
- package/dist/neutral/bridge-http.mjs +19 -15
- package/dist/neutral/bridge-http.mjs.map +2 -2
- package/dist/neutral/bridge-wrapper.mjs +4 -2
- package/dist/neutral/bridge-wrapper.mjs.map +2 -2
- package/dist/neutral/diviner-abstract.mjs +2 -2
- package/dist/neutral/diviner-abstract.mjs.map +2 -2
- package/dist/neutral/diviner-boundwitness.memory.mjs +4 -5
- package/dist/neutral/diviner-boundwitness.memory.mjs.map +2 -2
- package/dist/neutral/diviner-boundwitness.mjs +4 -5
- package/dist/neutral/diviner-boundwitness.mjs.map +2 -2
- package/dist/neutral/diviner-payload-generic.mjs +13 -15
- package/dist/neutral/diviner-payload-generic.mjs.map +2 -2
- package/dist/neutral/manifest-wrapper.mjs +4 -2
- package/dist/neutral/manifest-wrapper.mjs.map +2 -2
- package/dist/neutral/module-abstract.mjs +43 -46
- package/dist/neutral/module-abstract.mjs.map +3 -3
- package/dist/neutral/module-model.mjs +18 -1
- package/dist/neutral/module-model.mjs.map +2 -2
- package/dist/neutral/module-resolver.mjs +59 -51
- package/dist/neutral/module-resolver.mjs.map +3 -3
- package/dist/neutral/module-wrapper.mjs +11 -6
- package/dist/neutral/module-wrapper.mjs.map +2 -2
- package/dist/neutral/modules/archivist-abstract/AbstractArchivist.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-generic/Archivist.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-memory/MemoryDriver.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-model/lib/getBoundWitness.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-model/lib/hydrateBoundWitness.d.ts.map +1 -1
- package/dist/neutral/modules/archivist-view/ViewArchivist.d.ts.map +1 -1
- package/dist/neutral/modules/boundwitness-loader/Loader.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-abstract/AbstractBridge.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-abstract/AbstractModuleProxy/AbstractModuleProxy.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-http/HttpBridge.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-http/ModuleProxy/ModuleProxy.d.ts.map +1 -1
- package/dist/neutral/modules/bridge-wrapper/BridgeWrapper.d.ts.map +1 -1
- package/dist/neutral/modules/diviner-boundwitness/MemoryBoundWitnessDiviner.d.ts.map +1 -1
- package/dist/neutral/modules/diviner-payload-generic/Diviner.d.ts.map +1 -1
- package/dist/neutral/modules/manifest-wrapper/Wrapper.d.ts.map +1 -1
- package/dist/neutral/modules/manifest-wrapper/WrapperEx.d.ts.map +1 -1
- package/dist/neutral/modules/module-abstract/AbstractModule.d.ts +0 -1
- package/dist/neutral/modules/module-abstract/AbstractModule.d.ts.map +1 -1
- package/dist/neutral/modules/module-abstract/AbstractModuleInstance.d.ts.map +1 -1
- package/dist/neutral/modules/module-abstract/QueryValidator/ModuleConfigQueryValidator.d.ts.map +1 -1
- package/dist/neutral/modules/module-model/QueryableModule/IsQueryableModuleFactory.d.ts.map +1 -1
- package/dist/neutral/modules/module-resolver/CompositeModuleResolver.d.ts.map +1 -1
- package/dist/neutral/modules/module-resolver/ResolveHelper/ResolveHelper.d.ts.map +1 -1
- package/dist/neutral/modules/module-resolver/ResolveHelper/resolveAll.d.ts.map +1 -1
- package/dist/neutral/modules/module-resolver/ResolveHelper/resolveLocalNameToAddress.d.ts.map +1 -1
- package/dist/neutral/modules/module-resolver/ResolveHelper/resolvePathToAddress.d.ts.map +1 -1
- package/dist/neutral/modules/module-resolver/SimpleModuleResolver.d.ts.map +1 -1
- package/dist/neutral/modules/module-wrapper/ModuleWrapper.d.ts.map +1 -1
- package/dist/neutral/modules/node-abstract/AbstractNode.d.ts.map +1 -1
- package/dist/neutral/modules/node-memory/MemoryNode.d.ts.map +1 -1
- package/dist/neutral/modules/node-memory/NodeHelper/flatAttachToExistingNode.d.ts.map +1 -1
- package/dist/neutral/modules/node-view/ViewNode.d.ts.map +1 -1
- package/dist/neutral/modules/node-wrapper/NodeWrapper.d.ts.map +1 -1
- package/dist/neutral/modules/payloadset-plugin/Resolver.d.ts.map +1 -1
- package/dist/neutral/modules/sentinel-abstract/AbstractSentinel.d.ts.map +1 -1
- package/dist/neutral/modules/sentinel-memory/MemorySentinel.d.ts.map +1 -1
- package/dist/neutral/modules/sentinel-memory/SentinelRunner.d.ts.map +1 -1
- package/dist/neutral/modules/witness-abstract/AbstractWitness.d.ts.map +1 -1
- package/dist/neutral/node-abstract.mjs +8 -4
- package/dist/neutral/node-abstract.mjs.map +2 -2
- package/dist/neutral/node-memory.mjs +6 -4
- package/dist/neutral/node-memory.mjs.map +2 -2
- package/dist/neutral/node-view.mjs +2 -1
- package/dist/neutral/node-view.mjs.map +2 -2
- package/dist/neutral/node-wrapper.mjs +16 -7
- package/dist/neutral/node-wrapper.mjs.map +2 -2
- package/dist/neutral/payloadset-plugin.mjs +11 -10
- package/dist/neutral/payloadset-plugin.mjs.map +2 -2
- package/dist/neutral/sentinel-abstract.mjs +4 -3
- package/dist/neutral/sentinel-abstract.mjs.map +2 -2
- package/dist/neutral/sentinel-memory.mjs +12 -7
- package/dist/neutral/sentinel-memory.mjs.map +2 -2
- package/dist/neutral/witness-abstract.mjs +4 -3
- package/dist/neutral/witness-abstract.mjs.map +2 -2
- package/dist/node/modules/archivist-abstract/AbstractArchivist.d.ts.map +1 -1
- package/dist/node/modules/archivist-generic/Archivist.d.ts.map +1 -1
- package/dist/node/modules/archivist-memory/MemoryDriver.d.ts.map +1 -1
- package/dist/node/modules/archivist-model/lib/getBoundWitness.d.ts.map +1 -1
- package/dist/node/modules/archivist-model/lib/hydrateBoundWitness.d.ts.map +1 -1
- package/dist/node/modules/archivist-view/ViewArchivist.d.ts.map +1 -1
- package/dist/node/modules/boundwitness-loader/Loader.d.ts.map +1 -1
- package/dist/node/modules/bridge-abstract/AbstractBridge.d.ts.map +1 -1
- package/dist/node/modules/bridge-abstract/AbstractModuleProxy/AbstractModuleProxy.d.ts.map +1 -1
- package/dist/node/modules/bridge-http/HttpBridge.d.ts.map +1 -1
- package/dist/node/modules/bridge-http/ModuleProxy/ModuleProxy.d.ts.map +1 -1
- package/dist/node/modules/bridge-wrapper/BridgeWrapper.d.ts.map +1 -1
- package/dist/node/modules/diviner-boundwitness/MemoryBoundWitnessDiviner.d.ts.map +1 -1
- package/dist/node/modules/diviner-payload-generic/Diviner.d.ts.map +1 -1
- package/dist/node/modules/manifest-wrapper/Wrapper.d.ts.map +1 -1
- package/dist/node/modules/manifest-wrapper/WrapperEx.d.ts.map +1 -1
- package/dist/node/modules/module-abstract/AbstractModule.d.ts +0 -1
- package/dist/node/modules/module-abstract/AbstractModule.d.ts.map +1 -1
- package/dist/node/modules/module-abstract/AbstractModuleInstance.d.ts.map +1 -1
- package/dist/node/modules/module-abstract/QueryValidator/ModuleConfigQueryValidator.d.ts.map +1 -1
- package/dist/node/modules/module-model/QueryableModule/IsQueryableModuleFactory.d.ts.map +1 -1
- package/dist/node/modules/module-resolver/CompositeModuleResolver.d.ts.map +1 -1
- package/dist/node/modules/module-resolver/ResolveHelper/ResolveHelper.d.ts.map +1 -1
- package/dist/node/modules/module-resolver/ResolveHelper/resolveAll.d.ts.map +1 -1
- package/dist/node/modules/module-resolver/ResolveHelper/resolveLocalNameToAddress.d.ts.map +1 -1
- package/dist/node/modules/module-resolver/ResolveHelper/resolvePathToAddress.d.ts.map +1 -1
- package/dist/node/modules/module-resolver/SimpleModuleResolver.d.ts.map +1 -1
- package/dist/node/modules/module-wrapper/ModuleWrapper.d.ts.map +1 -1
- package/dist/node/modules/node-abstract/AbstractNode.d.ts.map +1 -1
- package/dist/node/modules/node-memory/MemoryNode.d.ts.map +1 -1
- package/dist/node/modules/node-memory/NodeHelper/flatAttachToExistingNode.d.ts.map +1 -1
- package/dist/node/modules/node-view/ViewNode.d.ts.map +1 -1
- package/dist/node/modules/node-wrapper/NodeWrapper.d.ts.map +1 -1
- package/dist/node/modules/payloadset-plugin/Resolver.d.ts.map +1 -1
- package/dist/node/modules/sentinel-abstract/AbstractSentinel.d.ts.map +1 -1
- package/dist/node/modules/sentinel-memory/MemorySentinel.d.ts.map +1 -1
- package/dist/node/modules/sentinel-memory/SentinelRunner.d.ts.map +1 -1
- package/dist/node/modules/witness-abstract/AbstractWitness.d.ts.map +1 -1
- package/package.json +11 -11
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
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"],
|
|
4
|
-
"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"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"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 if (!isQueryableModuleObject(mod, config)) {\n return false\n }\n if (expectedQueries !== undefined) {\n for (const query of expectedQueries) {\n if (!mod.queries.includes(query)) {\n return false\n }\n }\n }\n // perform additional checks\n if (additionalChecks !== undefined) {\n for (const check of additionalChecks) {\n if (!check(obj, config)) {\n return false\n }\n }\n }\n return true\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"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"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"]
|
|
7
7
|
}
|
|
@@ -65,8 +65,8 @@ var resolveAddressToInstanceDown = async (root, address, includePrivate, ignore
|
|
|
65
65
|
if (root.address === address) {
|
|
66
66
|
return root;
|
|
67
67
|
}
|
|
68
|
-
const cache = root.addressCache?.("up",
|
|
69
|
-
const privateChildren = (includePrivate ? await root.privateChildren?.() : []) ?? [];
|
|
68
|
+
const cache = root.addressCache?.("up", includePrivate ?? false);
|
|
69
|
+
const privateChildren = (includePrivate === true ? await root.privateChildren?.() : []) ?? [];
|
|
70
70
|
const publicChildren = await root.publicChildren?.() ?? [];
|
|
71
71
|
const children = [...privateChildren, ...publicChildren];
|
|
72
72
|
for (const child of children) {
|
|
@@ -100,7 +100,7 @@ var resolveAddressToInstanceUp = async (root, address, includePrivate, ignore =
|
|
|
100
100
|
cache?.set(address, null);
|
|
101
101
|
};
|
|
102
102
|
var resolveAddressToInstanceAll = async (root, address, includePrivate, ignore = []) => {
|
|
103
|
-
const cache = root.addressCache?.("all",
|
|
103
|
+
const cache = root.addressCache?.("all", includePrivate ?? false);
|
|
104
104
|
const result = await resolveAddressToInstanceDown(root, address, includePrivate ?? false, ignore) ?? await resolveAddressToInstanceUp(root, address, includePrivate ?? true, ignore);
|
|
105
105
|
cache?.set(address, result ? new WeakRef(result) : null);
|
|
106
106
|
return result;
|
|
@@ -125,26 +125,29 @@ var resolveAllUp = async (root, maxDepth = 10, exclude = []) => {
|
|
|
125
125
|
if (maxDepth === 0) {
|
|
126
126
|
return [root].filter((mod) => !exclude.includes(mod.address));
|
|
127
127
|
}
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
128
|
+
const allParents = await root.parents();
|
|
129
|
+
const parents = allParents.filter((mod) => !exclude.includes(mod.address));
|
|
130
|
+
if (maxDepth <= 1) {
|
|
131
|
+
return [...parents, root];
|
|
132
|
+
}
|
|
133
|
+
const upResults = await Promise.all(parents.map(async (mod) => await resolveAllUp(mod, maxDepth - 1, [...exclude, root.address])));
|
|
134
|
+
const downResults = await Promise.all(parents.map(async (mod) => await resolveAllDown(mod, maxDepth - 1, [...exclude, root.address], true)));
|
|
135
|
+
return [...upResults.flat(), ...downResults.flat(), ...parents, root];
|
|
135
136
|
};
|
|
136
137
|
var resolveAllDown = async (root, maxDepth = 10, exclude = [], includePrivate = false) => {
|
|
137
138
|
if (maxDepth === 0) {
|
|
138
139
|
return [root];
|
|
139
140
|
}
|
|
140
|
-
const
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
...children,
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
141
|
+
const publicModules = await root.publicChildren();
|
|
142
|
+
const children = publicModules.filter((mod) => !exclude.includes(mod.address));
|
|
143
|
+
if (maxDepth <= 1) {
|
|
144
|
+
return [...children, root];
|
|
145
|
+
}
|
|
146
|
+
const privateModules = includePrivate ? await root.privateChildren() : [];
|
|
147
|
+
const privateChildren = privateModules.filter((mod) => !exclude.includes(mod.address));
|
|
148
|
+
const childResults = await Promise.all(children.map((child) => resolveAllDown(child, maxDepth - 1, [...exclude, root.address])));
|
|
149
|
+
const privateChildResults = await Promise.all(privateChildren.map((child) => resolveAllDown(child, maxDepth - 1, [...exclude, root.address])));
|
|
150
|
+
return [...children, ...childResults.flat(), ...privateChildResults.flat(), root];
|
|
148
151
|
};
|
|
149
152
|
var resolveAll = async (root, maxDepth = 10, exclude = []) => {
|
|
150
153
|
if (maxDepth === 0) {
|
|
@@ -181,7 +184,7 @@ var resolveLocalNameToInstanceUp = async (root, modName) => {
|
|
|
181
184
|
return parents.find((parent) => parent.config.name === modName);
|
|
182
185
|
};
|
|
183
186
|
var resolveLocalNameToInstanceDown = async (root, modName, includePrivate) => {
|
|
184
|
-
const privateChildren = (includePrivate ? await root.privateChildren?.() : []) ?? [];
|
|
187
|
+
const privateChildren = (includePrivate === true ? await root.privateChildren?.() : []) ?? [];
|
|
185
188
|
const publicChildren = await root.publicChildren?.() ?? [];
|
|
186
189
|
const children = [...privateChildren, ...publicChildren];
|
|
187
190
|
return children.find((child) => child.config.name === modName);
|
|
@@ -205,16 +208,20 @@ var resolveLocalNameToInstance = async (root, modName, includePrivate = false, d
|
|
|
205
208
|
|
|
206
209
|
// src/modules/module-resolver/ResolveHelper/resolveLocalNameToAddress.ts
|
|
207
210
|
var resolveLocalNameToAddressUp = async (root, modName) => {
|
|
208
|
-
|
|
211
|
+
const instance = await resolveLocalNameToInstanceUp(root, modName);
|
|
212
|
+
return instance?.address;
|
|
209
213
|
};
|
|
210
214
|
var resolveLocalNameToAddressDown = async (root, modName, includePrivate) => {
|
|
211
|
-
|
|
215
|
+
const instance = await resolveLocalNameToInstanceDown(root, modName, includePrivate);
|
|
216
|
+
return instance?.address;
|
|
212
217
|
};
|
|
213
218
|
var resolveLocalNameToAddressAll = async (root, modName, includePrivate) => {
|
|
214
|
-
|
|
219
|
+
const instance = await resolveLocalNameToInstanceAll(root, modName, includePrivate);
|
|
220
|
+
return instance?.address;
|
|
215
221
|
};
|
|
216
222
|
var resolveLocalNameToAddress = async (root, modName, includePrivate, direction = "all") => {
|
|
217
|
-
|
|
223
|
+
const instance = await resolveLocalNameToInstance(root, modName, includePrivate, direction);
|
|
224
|
+
return instance?.address;
|
|
218
225
|
};
|
|
219
226
|
|
|
220
227
|
// src/modules/module-resolver/ResolveHelper/transformModuleIdentifier.ts
|
|
@@ -233,7 +240,7 @@ var resolvePathToInstance = async (root, path, includePrivate, transformers = Re
|
|
|
233
240
|
assertEx2(parts.shift(), () => `First part is invalid [${path}]`),
|
|
234
241
|
transformers
|
|
235
242
|
);
|
|
236
|
-
if (
|
|
243
|
+
if (first === void 0 || first === "") {
|
|
237
244
|
return void 0;
|
|
238
245
|
}
|
|
239
246
|
const firstAddress = asAddress(first) ?? await resolveLocalNameToAddress(root, first, includePrivate);
|
|
@@ -248,7 +255,8 @@ var resolvePathToInstance = async (root, path, includePrivate, transformers = Re
|
|
|
248
255
|
|
|
249
256
|
// src/modules/module-resolver/ResolveHelper/resolvePathToAddress.ts
|
|
250
257
|
var resolvePathToAddress = async (root, path, includePrivate, transformers = ResolveHelperStatic.transformers) => {
|
|
251
|
-
|
|
258
|
+
const instance = await resolvePathToInstance(root, path, includePrivate, transformers);
|
|
259
|
+
return instance?.address;
|
|
252
260
|
};
|
|
253
261
|
|
|
254
262
|
// src/modules/module-resolver/ResolveHelper/traceModuleIdentifier.ts
|
|
@@ -315,7 +323,8 @@ var ResolveHelper = class extends ResolveHelperStatic {
|
|
|
315
323
|
if (maxDepth === 0) {
|
|
316
324
|
return modules;
|
|
317
325
|
}
|
|
318
|
-
const
|
|
326
|
+
const resolvedChildren = await Promise.all(modules.map(async (mod2) => await mod2.resolve("*", childOptions)));
|
|
327
|
+
const childModules = resolvedChildren.flat().filter(duplicateModules2);
|
|
319
328
|
return [...modules, ...childModules, mod].filter(duplicateModules2);
|
|
320
329
|
}
|
|
321
330
|
let result;
|
|
@@ -349,7 +358,7 @@ var ResolveHelper = class extends ResolveHelperStatic {
|
|
|
349
358
|
const first = parts.shift();
|
|
350
359
|
const firstIsAddress = isAddress(first);
|
|
351
360
|
const resolvedModule = await resolver.resolve(first, { maxDepth: firstIsAddress ? 10 : 1 }) ?? (isString(first) ? await resolver.resolvePrivate(first, { maxDepth: firstIsAddress ? 10 : 1 }) : void 0);
|
|
352
|
-
const finalModule = required ? assertEx4(resolvedModule, () => `Failed to resolve [${first}] [${firstIsAddress}]`) : resolvedModule;
|
|
361
|
+
const finalModule = required === true ? assertEx4(resolvedModule, () => `Failed to resolve [${first}] [${firstIsAddress}]`) : resolvedModule;
|
|
353
362
|
const firstModule = asModuleInstance3(finalModule, () => `Resolved invalid module instance [${first}]`);
|
|
354
363
|
return isDefined(firstModule) ? parts.length > 0 ? await this.resolveModuleIdentifier(firstModule, parts.join(":")) : firstModule : void 0;
|
|
355
364
|
}
|
|
@@ -420,19 +429,18 @@ var SimpleModuleResolver = class extends AbstractModuleResolver {
|
|
|
420
429
|
}
|
|
421
430
|
resolveHandler(id = "*", options) {
|
|
422
431
|
const unfiltered = (() => {
|
|
423
|
-
if (id) {
|
|
424
|
-
if (typeof id === "string") {
|
|
425
|
-
if (id === "*") {
|
|
426
|
-
return Object.values(this.modules);
|
|
427
|
-
}
|
|
428
|
-
const name = isModuleName(id) ? id : void 0;
|
|
429
|
-
const address = isAddress2(id) ? id : void 0;
|
|
430
|
-
assertEx5(name ?? address, () => "module identifier must be a ModuleName or Address");
|
|
431
|
-
return (name ? this.resolveByName(Object.values(this.modules), [name]).pop() : void 0) ?? (address ? this.resolveByAddress(this.modules, [address]).pop() : void 0);
|
|
432
|
-
}
|
|
433
|
-
} else {
|
|
432
|
+
if (id === "") {
|
|
434
433
|
return Object.values(this.modules);
|
|
435
434
|
}
|
|
435
|
+
if (typeof id === "string") {
|
|
436
|
+
if (id === "*") {
|
|
437
|
+
return Object.values(this.modules);
|
|
438
|
+
}
|
|
439
|
+
const name = isModuleName(id) ? id : void 0;
|
|
440
|
+
const address = isAddress2(id) ? id : void 0;
|
|
441
|
+
assertEx5(name ?? address, () => "module identifier must be a ModuleName or Address");
|
|
442
|
+
return (name !== void 0 && name !== "" ? this.resolveByName(Object.values(this.modules), [name]).pop() : void 0) ?? (address ? this.resolveByAddress(this.modules, [address]).pop() : void 0);
|
|
443
|
+
}
|
|
436
444
|
})();
|
|
437
445
|
const identity = options?.identity;
|
|
438
446
|
if (identity) {
|
|
@@ -442,7 +450,7 @@ var SimpleModuleResolver = class extends AbstractModuleResolver {
|
|
|
442
450
|
}
|
|
443
451
|
resolveIdentifier(id, _options) {
|
|
444
452
|
const moduleFromName = this.nameToModule[id];
|
|
445
|
-
if (moduleFromName) {
|
|
453
|
+
if (moduleFromName !== void 0) {
|
|
446
454
|
return moduleFromName.address;
|
|
447
455
|
}
|
|
448
456
|
for (const mod of Object.values(this.modules)) {
|
|
@@ -456,7 +464,7 @@ var SimpleModuleResolver = class extends AbstractModuleResolver {
|
|
|
456
464
|
return;
|
|
457
465
|
}
|
|
458
466
|
const modName = mod.modName;
|
|
459
|
-
if (modName && this.allowNameResolution) {
|
|
467
|
+
if (modName !== void 0 && modName !== "" && this.allowNameResolution) {
|
|
460
468
|
assertEx5(this.nameToModule[modName] === void 0, () => `Module with name ${modName} already added`);
|
|
461
469
|
this.nameToModule[modName] = mod;
|
|
462
470
|
}
|
|
@@ -467,7 +475,7 @@ var SimpleModuleResolver = class extends AbstractModuleResolver {
|
|
|
467
475
|
const mod = assertEx5(this.modules[address], () => "Address not found in modules");
|
|
468
476
|
delete this.modules[address];
|
|
469
477
|
const modName = mod.modName;
|
|
470
|
-
if (modName) {
|
|
478
|
+
if (modName !== void 0 && modName !== "") {
|
|
471
479
|
delete this.nameToModule[modName];
|
|
472
480
|
}
|
|
473
481
|
}
|
|
@@ -482,12 +490,10 @@ var SimpleModuleResolver = class extends AbstractModuleResolver {
|
|
|
482
490
|
}).filter(exists2);
|
|
483
491
|
}
|
|
484
492
|
resolveByQuery(modules, query) {
|
|
485
|
-
return modules.filter((mod) =>
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
}, true) || supported;
|
|
490
|
-
}, false)).filter(exists2);
|
|
493
|
+
return modules.filter((mod) => {
|
|
494
|
+
const queryLists = query ?? [];
|
|
495
|
+
return queryLists.some((queryList) => queryList.every((querySchema) => mod.queries.includes(querySchema)));
|
|
496
|
+
}).filter(exists2);
|
|
491
497
|
}
|
|
492
498
|
};
|
|
493
499
|
|
|
@@ -604,12 +610,13 @@ var CompositeModuleResolver = class _CompositeModuleResolver extends AbstractMod
|
|
|
604
610
|
}
|
|
605
611
|
const resolvePriority = async (priority) => {
|
|
606
612
|
const resolvers = this.resolvers.filter((resolver) => resolver.priority === priority);
|
|
607
|
-
const
|
|
613
|
+
const resolved = await Promise.all(
|
|
608
614
|
resolvers.map(async (resolver) => {
|
|
609
615
|
const result2 = await resolver.resolve(resolvedId, mutatedOptions);
|
|
610
616
|
return result2;
|
|
611
617
|
})
|
|
612
|
-
)
|
|
618
|
+
);
|
|
619
|
+
const results = resolved.filter(exists3);
|
|
613
620
|
const result = results.filter(exists3).findLast((v, i, a) => duplicateModules3(v, i, a));
|
|
614
621
|
if (result) {
|
|
615
622
|
this._cache.set(resolvedId, result);
|
|
@@ -628,11 +635,12 @@ var CompositeModuleResolver = class _CompositeModuleResolver extends AbstractMod
|
|
|
628
635
|
if (idParts.length > 1) {
|
|
629
636
|
return this.resolveComplexIdentifier(id);
|
|
630
637
|
}
|
|
631
|
-
const
|
|
638
|
+
const resolved = await Promise.all(
|
|
632
639
|
this.resolvers.map(async (resolver) => {
|
|
633
640
|
return await resolver.resolveIdentifier(id);
|
|
634
641
|
})
|
|
635
|
-
)
|
|
642
|
+
);
|
|
643
|
+
const results = resolved.filter(exists3);
|
|
636
644
|
const result = results.shift();
|
|
637
645
|
if (results.length > 0) {
|
|
638
646
|
for (const altResult of results) {
|