@xyo-network/xl1-protocol-sdk 2.1.8 → 2.2.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.
Files changed (130) hide show
  1. package/dist/neutral/CreatableProvider/AbstractCreatableProvider.d.ts +62 -8
  2. package/dist/neutral/CreatableProvider/AbstractCreatableProvider.d.ts.map +1 -1
  3. package/dist/neutral/capabilities/resolveProviders.d.ts +6 -0
  4. package/dist/neutral/capabilities/resolveProviders.d.ts.map +1 -1
  5. package/dist/neutral/config/Actor.d.ts +372 -48
  6. package/dist/neutral/config/Actor.d.ts.map +1 -1
  7. package/dist/neutral/config/Actors.d.ts +62 -8
  8. package/dist/neutral/config/Actors.d.ts.map +1 -1
  9. package/dist/neutral/config/Base.d.ts +62 -8
  10. package/dist/neutral/config/Base.d.ts.map +1 -1
  11. package/dist/neutral/config/Chain.d.ts +1 -1
  12. package/dist/neutral/config/Config.d.ts +248 -32
  13. package/dist/neutral/config/Config.d.ts.map +1 -1
  14. package/dist/neutral/config/HostActor.d.ts +372 -48
  15. package/dist/neutral/config/HostActor.d.ts.map +1 -1
  16. package/dist/neutral/config/ProviderBinding.d.ts +18 -0
  17. package/dist/neutral/config/ProviderBinding.d.ts.map +1 -0
  18. package/dist/neutral/config/Validation.d.ts +2 -2
  19. package/dist/neutral/config/adaptLegacyConfig.d.ts +9 -0
  20. package/dist/neutral/config/adaptLegacyConfig.d.ts.map +1 -0
  21. package/dist/neutral/config/index.d.ts +5 -1
  22. package/dist/neutral/config/index.d.ts.map +1 -1
  23. package/dist/neutral/config/storage/Storage.d.ts +26 -5
  24. package/dist/neutral/config/storage/Storage.d.ts.map +1 -1
  25. package/dist/neutral/config/storage/driver/S3.d.ts +77 -0
  26. package/dist/neutral/config/storage/driver/S3.d.ts.map +1 -0
  27. package/dist/neutral/config/storage/driver/index.d.ts +1 -1
  28. package/dist/neutral/config/transports/Transport.d.ts +111 -0
  29. package/dist/neutral/config/transports/Transport.d.ts.map +1 -0
  30. package/dist/neutral/config/transports/index.d.ts +2 -0
  31. package/dist/neutral/config/transports/index.d.ts.map +1 -0
  32. package/dist/neutral/context/Actor.d.ts +372 -48
  33. package/dist/neutral/context/Actor.d.ts.map +1 -1
  34. package/dist/neutral/context/HostActor.d.ts +372 -48
  35. package/dist/neutral/context/HostActor.d.ts.map +1 -1
  36. package/dist/neutral/createDeclarationPayload.d.ts +1 -1
  37. package/dist/neutral/createDeclarationPayload.d.ts.map +1 -1
  38. package/dist/neutral/createTransferPayload.d.ts +1 -1
  39. package/dist/neutral/createTransferPayload.d.ts.map +1 -1
  40. package/dist/neutral/getFileConfig.d.ts +124 -16
  41. package/dist/neutral/getFileConfig.d.ts.map +1 -1
  42. package/dist/neutral/getFileConfig.mjs +157 -108
  43. package/dist/neutral/getFileConfig.mjs.map +4 -4
  44. package/dist/neutral/index.mjs +427 -216
  45. package/dist/neutral/index.mjs.map +4 -4
  46. package/dist/neutral/instances/Address.d.ts +1 -1
  47. package/dist/neutral/instances/Address.d.ts.map +1 -1
  48. package/dist/neutral/instances/Signature.d.ts +1 -1
  49. package/dist/neutral/instances/Signature.d.ts.map +1 -1
  50. package/dist/neutral/model/CreatableProviderContext.zod.d.ts +372 -48
  51. package/dist/neutral/model/CreatableProviderContext.zod.d.ts.map +1 -1
  52. package/dist/neutral/payloads/AddressPairPayload.d.ts +1 -2
  53. package/dist/neutral/payloads/AddressPairPayload.d.ts.map +1 -1
  54. package/dist/neutral/payloads/netBalancesForPayloads.d.ts +2 -2
  55. package/dist/neutral/payloads/netBalancesForPayloads.d.ts.map +1 -1
  56. package/dist/neutral/payloads/netSchemasForPayloads.d.ts +2 -2
  57. package/dist/neutral/payloads/netSchemasForPayloads.d.ts.map +1 -1
  58. package/dist/neutral/payloads/netTransfersForPayloads.d.ts +1 -2
  59. package/dist/neutral/payloads/netTransfersForPayloads.d.ts.map +1 -1
  60. package/dist/neutral/primitives/chain/step/chainStepRewardAddress.d.ts +1 -1
  61. package/dist/neutral/primitives/chain/step/chainStepRewardAddress.d.ts.map +1 -1
  62. package/dist/neutral/primitives/payload/mergeTransfers.d.ts +1 -1
  63. package/dist/neutral/primitives/payload/mergeTransfers.d.ts.map +1 -1
  64. package/dist/neutral/primitives/stake/activeStakeAtTimeByAddress.d.ts +1 -1
  65. package/dist/neutral/primitives/stake/activeStakeAtTimeByAddress.d.ts.map +1 -1
  66. package/dist/neutral/primitives/stake/allStakersForRange.d.ts +1 -1
  67. package/dist/neutral/primitives/stake/allStakersForRange.d.ts.map +1 -1
  68. package/dist/neutral/primitives/stake/allStakersForStep.d.ts +1 -1
  69. package/dist/neutral/primitives/stake/allStakersForStep.d.ts.map +1 -1
  70. package/dist/neutral/primitives/stake/mergedAddRemoveStakeEventsByStaker.d.ts +1 -1
  71. package/dist/neutral/primitives/stake/mergedAddRemoveStakeEventsByStaker.d.ts.map +1 -1
  72. package/dist/neutral/primitives/stake/weightedStakeForRangeByPosition.d.ts +1 -1
  73. package/dist/neutral/primitives/stake/weightedStakeForRangeByPosition.d.ts.map +1 -1
  74. package/dist/neutral/primitives/uncle/findUncles.d.ts +2 -2
  75. package/dist/neutral/services/AccountTransfersService.d.ts +1 -1
  76. package/dist/neutral/services/AccountTransfersService.d.ts.map +1 -1
  77. package/dist/neutral/services/Election.d.ts +1 -2
  78. package/dist/neutral/services/Election.d.ts.map +1 -1
  79. package/dist/neutral/services/StakeIntentService/StakeIntentService.d.ts +1 -1
  80. package/dist/neutral/services/StakeIntentService/StakeIntentService.d.ts.map +1 -1
  81. package/dist/neutral/simple/StakeTotalsViewer/SimpleStakeTotalsViewer.d.ts +1 -1
  82. package/dist/neutral/simple/StakeTotalsViewer/SimpleStakeTotalsViewer.d.ts.map +1 -1
  83. package/dist/neutral/simple/StakeViewer/SimpleStakeViewer.d.ts +1 -1
  84. package/dist/neutral/simple/StakeViewer/SimpleStakeViewer.d.ts.map +1 -1
  85. package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts +9 -10
  86. package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts.map +1 -1
  87. package/dist/neutral/simple/blockInvalidation/SimpleBlockInvalidationViewer.d.ts +1 -1
  88. package/dist/neutral/simple/blockValidation/SimpleBlockValidationViewer.d.ts +1 -1
  89. package/dist/neutral/simple/chainContractViewer/SimpleChainContractViewer.d.ts +3 -3
  90. package/dist/neutral/simple/chainContractViewer/SimpleChainContractViewer.d.ts.map +1 -1
  91. package/dist/neutral/simple/gateway/SimpleXyoGatewayRunner.d.ts +1 -2
  92. package/dist/neutral/simple/gateway/SimpleXyoGatewayRunner.d.ts.map +1 -1
  93. package/dist/neutral/simple/mempool/SimpleMempoolRunner.d.ts +1 -1
  94. package/dist/neutral/simple/signer/SimpleXyoSigner.d.ts +1 -2
  95. package/dist/neutral/simple/signer/SimpleXyoSigner.d.ts.map +1 -1
  96. package/dist/neutral/simple/timeSync2/SimpleTimeSyncViewer.d.ts +1 -1
  97. package/dist/neutral/simple/timeSync2/SimpleTimeSyncViewer.d.ts.map +1 -1
  98. package/dist/neutral/simple/transactionInvalidation/SimpleTransactionInvalidationViewer.d.ts +1 -1
  99. package/dist/neutral/simple/transactionValidation/SimpleTransactionValidationViewer.d.ts +1 -1
  100. package/dist/neutral/summary/model/BalancesStepSummary.d.ts +1 -2
  101. package/dist/neutral/summary/model/BalancesStepSummary.d.ts.map +1 -1
  102. package/dist/neutral/summary/model/TransfersSummary.d.ts +1 -2
  103. package/dist/neutral/summary/model/TransfersSummary.d.ts.map +1 -1
  104. package/dist/neutral/summary/primitives/balances/balancesSummary.d.ts +1 -1
  105. package/dist/neutral/summary/primitives/balances/balancesSummary.d.ts.map +1 -1
  106. package/dist/neutral/summary/primitives/transfers/transfersSummary.d.ts +1 -1
  107. package/dist/neutral/summary/primitives/transfers/transfersSummary.d.ts.map +1 -1
  108. package/dist/neutral/test/BuildBlockOptions.d.ts +1 -2
  109. package/dist/neutral/test/BuildBlockOptions.d.ts.map +1 -1
  110. package/dist/neutral/test/buildNextBlock.d.ts +1 -2
  111. package/dist/neutral/test/buildNextBlock.d.ts.map +1 -1
  112. package/dist/neutral/test/buildRandomChain.d.ts +1 -2
  113. package/dist/neutral/test/buildRandomChain.d.ts.map +1 -1
  114. package/dist/neutral/test/buildRandomTransaction.d.ts +1 -2
  115. package/dist/neutral/test/buildRandomTransaction.d.ts.map +1 -1
  116. package/dist/neutral/test/createGenesisBlock.d.ts +1 -2
  117. package/dist/neutral/test/createGenesisBlock.d.ts.map +1 -1
  118. package/dist/neutral/test/createProducerChainStakeIntentTransaction.d.ts +1 -2
  119. package/dist/neutral/test/createProducerChainStakeIntentTransaction.d.ts.map +1 -1
  120. package/dist/neutral/test/getSimpleBlockViewerLocator.d.ts +1 -2
  121. package/dist/neutral/test/getSimpleBlockViewerLocator.d.ts.map +1 -1
  122. package/dist/neutral/test/index.mjs +159 -110
  123. package/dist/neutral/test/index.mjs.map +4 -4
  124. package/dist/neutral/transaction/buildTransaction.d.ts +1 -2
  125. package/dist/neutral/transaction/buildTransaction.d.ts.map +1 -1
  126. package/dist/neutral/transaction/buildUnsignedTransaction.d.ts +1 -2
  127. package/dist/neutral/transaction/buildUnsignedTransaction.d.ts.map +1 -1
  128. package/package.json +14 -16
  129. package/dist/neutral/config/storage/driver/R2.d.ts +0 -27
  130. package/dist/neutral/config/storage/driver/R2.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/getFileConfig.ts", "../../src/config/Actor.ts", "../../src/config/Base.ts", "../../src/config/Chain.ts", "../../src/config/DataLake/DataLake.ts", "../../src/config/DataLake/RestDataLakeConfig.ts", "../../src/config/DataLake/DataLakeRemoteConfig.ts", "../../src/config/DataLake/RouterDataLakeConfig.ts", "../../src/config/Evm.ts", "../../src/config/Log.ts", "../../src/config/Providers.ts", "../../src/config/Provider.ts", "../../src/config/Remote.ts", "../../src/config/storage/driver/Mongo.ts", "../../src/config/storage/driver/R2.ts", "../../src/config/storage/Storage.ts", "../../src/config/Telemetry.ts", "../../src/config/Validation.ts", "../../src/primitives/uncle/findBestUncle.ts", "../../src/config/Actors.ts", "../../src/config/Config.ts"],
4
- "sourcesContent": ["import { isDefined, isNull } from '@xylabs/sdk-js'\nimport { cosmiconfig } from 'cosmiconfig'\nimport { z } from 'zod/mini'\n\nimport { ConfigZod } from './config/index.ts'\n\n/**\n * The name of the configuration file to search for.\n */\nconst configName = 'xyo'\n\n/**\n * The name of the section within the configuration file to parse.\n */\nconst configSection = 'xl1' // Default section in the config file\n\n/**\n * Attempts to parse the configuration from a file using cosmiconfig.\n * @returns The parsed configuration object if found and valid, otherwise undefined.\n */\nexport async function getFileConfig(searchPlaces?: string[]) {\n const explorer = cosmiconfig(\n configName,\n {\n cache: true,\n searchPlaces,\n },\n )\n const result: unknown = (await explorer.search())?.config\n if (!isNull(result)) {\n const section = (result as Record<string, unknown>)[configSection]\n if (isDefined(section) && typeof section === 'object') {\n return z.looseObject(ConfigZod.shape).parse(section)\n }\n }\n return ConfigZod.parse({})\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport { globalRegistry, z } from 'zod/mini'\n\nimport { BaseConfigZod } from './Base.ts'\n\n/**\n * BIP-32 derivation path for an actor wallet.\n *\n * - Absolute form: starts with `m/` (e.g. `m/44'/60'/0'/0/0`). The full path is used as-is,\n * giving the caller complete control over coin type, account, and hardening.\n * - Relative form: a segment list without the `m/` prefix (e.g. `0`, `0/1`, `44'/60'/0'/0/0`).\n * The consumer appends this to its configured root base path.\n *\n * Each segment is a non-negative integer, optionally suffixed with `'` to mark it as hardened.\n */\nexport const AccountPathZod = z.string().check(z.regex(\n /^(m(\\/\\d+'?)+|\\d+'?(\\/\\d+'?)*)$/,\n 'Invalid BIP-32 derivation path. Use either an absolute path like \"m/44\\'/60\\'/0\\'/0/0\" or a relative path like \"0\", \"0/1\", or \"44\\'/60\\'/0\\'/0/0\".',\n))\n\n/** ActorConfigZod constant. */\nexport const ActorConfigZod = z.extend(BaseConfigZod, {\n name: z.string(),\n accountPath: z.optional(AccountPathZod).register(globalRegistry, {\n description: 'BIP-32 derivation path for the actor wallet. Absolute when it starts with \"m/\"; otherwise relative to the root wallet base path. Each actor must derive to a distinct path.',\n title: 'accountPath',\n type: 'string',\n }),\n})\n\n/** ActorConfig type. */\nexport type ActorConfig = z.infer<typeof ActorConfigZod>\n\n/** Type guard that checks if a value is a valid ActorConfig. */\nexport const isActorConfig = zodIsFactory(ActorConfigZod)\n/** Converts a value to ActorConfig, throwing if invalid. */\nexport const asActorConfig = zodAsFactory(ActorConfigZod, 'asActorConfig')\n/** toActorConfig constant. */\nexport const toActorConfig = zodToFactory(ActorConfigZod, 'toActorConfig')\n", "import { z } from 'zod/mini'\n\nimport { ChainConfigZod } from './Chain.ts'\nimport { DataLakeConfigZod } from './DataLake/index.ts'\nimport { EvmConfigZod } from './Evm.ts'\nimport { LogConfigZod } from './Log.ts'\nimport { ProvidersConfigZod } from './Providers.ts'\nimport { RemoteConfigZod } from './Remote.ts'\nimport { StorageConfigZod } from './storage/index.ts'\nimport { TelemetryConfigZod } from './Telemetry.ts'\nimport { ValidationConfigZod } from './Validation.ts'\n\n/** BaseConfigZod constant. */\nexport const BaseConfigZod = z.object({\n chain: z._default(ChainConfigZod, ChainConfigZod.parse({})).check(z.describe('Configuration for the chain')),\n dataLake: z.optional(DataLakeConfigZod).check(z.describe('Configuration for data lakes')),\n evm: z._default(EvmConfigZod, EvmConfigZod.parse({})).check(z.describe('Configuration for EVM-backed services')),\n log: z._default(LogConfigZod, LogConfigZod.parse({})).check(z.describe('Configuration for logging')),\n providers: z._default(ProvidersConfigZod, ProvidersConfigZod.parse([])).check(z.describe('Configuration for providers')),\n remote: z._default(RemoteConfigZod, RemoteConfigZod.parse({})).check(z.describe('Configuration for remote services')),\n storage: z._default(StorageConfigZod, StorageConfigZod.parse({})).check(z.describe('Configuration for the storage')),\n telemetry: z._default(TelemetryConfigZod, TelemetryConfigZod.parse({})).check(z.describe('Configuration for telemetry')),\n validation: z._default(ValidationConfigZod, ValidationConfigZod.parse({})).check(z.describe('Configuration for validation')),\n})\n\n/** BaseConfig type. */\nexport type BaseConfig = z.infer<typeof BaseConfigZod>\n", "import { HexZod } from '@xylabs/sdk-js'\nimport { XyoAddressZod } from '@xyo-network/address'\nimport { globalRegistry, z } from 'zod/mini'\n\n/** ChainConfigZod constant. */\nexport const ChainConfigZod = z.object({\n id: z.optional(HexZod)\n .register(globalRegistry, {\n description:\n 'The unique identifier for the chain. Should be the staking contract address for contract-backed chains.',\n title: 'chain.id',\n type: 'string',\n }),\n genesisRewardAddress: z.optional(XyoAddressZod)\n .register(globalRegistry, {\n description:\n 'Address to send the initial genesis rewards to, if a new chain is being created.',\n title: 'chain.genesisRewardAddress',\n type: 'Address',\n }),\n})\n\n/** ChainConfig type. */\nexport type ChainConfig = z.infer<typeof ChainConfigZod>\n", "import { z } from 'zod'\n\nimport { type RestDataLakeConfig, RestDataLakeConfigZod } from './RestDataLakeConfig.ts'\n// eslint-disable-next-line import-x/no-cycle -- intentional cycle for z.lazy recursive type\nimport { type RouterDataLakeConfig, RouterDataLakeConfigZod } from './RouterDataLakeConfig.ts'\n\n/** DataLakeConfig type. */\nexport type DataLakeConfig = RestDataLakeConfig | RouterDataLakeConfig\n\n// z.lazy handles the circular reference between DataLakeConfigZod and RouterDataLakeZod\n/** DataLakeConfigZod constant. */\nexport const DataLakeConfigZod: z.ZodType<DataLakeConfig> = z.lazy(() =>\n z.union([RestDataLakeConfigZod, RouterDataLakeConfigZod])).describe('Configuration for a data lake')\n", "import { globalRegistry, z } from 'zod'\n\nimport { DataLakeDriverConfigBaseZod } from './DataLakeRemoteConfig.ts'\n\n/** RestDataLakeConfigZod constant. */\nexport const RestDataLakeConfigZod = DataLakeDriverConfigBaseZod.extend({\n driver: z.literal('rest').register(globalRegistry, {\n description: 'Driver for the REST data lake',\n type: 'string',\n }),\n url: z.string().register(globalRegistry, {\n description: 'URL for the REST data lake',\n type: 'string',\n }),\n}).describe('Configuration for the REST data lake driver')\n\n/** RestDataLakeConfig type. */\nexport type RestDataLakeConfig = z.infer<typeof RestDataLakeConfigZod>\n", "import { globalRegistry, z } from 'zod'\n\n/** DataLakeDriverConfigBaseZod constant. */\nexport const DataLakeDriverConfigBaseZod = z.object({\n driver: z.string().register(globalRegistry, {\n description: 'Driver for the data lake',\n type: 'string',\n }),\n}).describe('Base configuration for a data lake driver')\n/** DataLakeDriverConfigBase type. */\nexport type DataLakeDriverConfigBase = z.infer<typeof DataLakeDriverConfigBaseZod>\n", "import { globalRegistry, z } from 'zod'\n\nimport type { DataLakeConfig } from './DataLake.ts'\n// eslint-disable-next-line import-x/no-cycle -- intentional cycle for z.lazy recursive type\nimport { DataLakeConfigZod } from './DataLake.ts'\n\n/** Configuration for RouterDataLake. */\nexport interface RouterDataLakeConfig {\n children: DataLakeConfig[]\n driver: 'router'\n}\n\n/** RouterDataLakeConfigZod constant. */\nexport const RouterDataLakeConfigZod: z.ZodType<RouterDataLakeConfig> = z.object({\n driver: z.literal('router').register(globalRegistry, {\n description: 'Driver for the router data lake',\n type: 'string',\n }),\n children: z.array(z.lazy(() => DataLakeConfigZod)).register(globalRegistry, {\n description: 'Child data lake drivers',\n type: 'array',\n }),\n}).describe('Configuration for the router data lake driver')\n", "import { globalRegistry, z } from 'zod'\n\n/** EvmInfuraConfigZod constant. */\nexport const EvmInfuraConfigZod = z.object({\n projectId: z.string().optional().register(globalRegistry, {\n description: 'Infura project ID',\n title: 'evm.infura.projectId',\n type: 'string',\n }),\n projectSecret: z.string().optional().register(globalRegistry, {\n description: 'Infura project secret',\n title: 'evm.infura.projectSecret',\n type: 'string',\n }),\n})\n\n/** EvmJsonRpcConfigZod constant. */\nexport const EvmJsonRpcConfigZod = z.object({\n url: z.url().optional().register(globalRegistry, {\n description: 'JSON-RPC URL',\n title: 'evm.jsonRpc.url',\n type: 'string',\n }),\n})\n\n/** EvmConfigZod constant. */\nexport const EvmConfigZod = z.object({\n chainId: z.string().optional().register(globalRegistry, {\n description: 'EVM chain ID',\n title: 'evm.chainId',\n type: 'string',\n }),\n infura: EvmInfuraConfigZod.optional().describe('Infura Provider configuration'),\n jsonRpc: EvmJsonRpcConfigZod.optional().describe('JSON-RPC Provider configuration'),\n})\n\n/** EvmConfig type. */\nexport type EvmConfig = z.infer<typeof EvmConfigZod>\n", "import type { LogLevelKey } from '@xylabs/sdk-js'\nimport { LogLevel } from '@xylabs/sdk-js'\nimport { globalRegistry, z } from 'zod'\n\nconst LogLevelNames = Object.keys(LogLevel) as [LogLevelKey]\n\n/** LogConfigZod constant. */\nexport const LogConfigZod = z.object({\n logLevel: z.enum(LogLevelNames).default('info').register(globalRegistry, {\n choices: LogLevelNames,\n default: 'info',\n description: 'Desired process verbosity',\n title: 'logLevel',\n type: 'string',\n }),\n silent: z.boolean().default(false).register(globalRegistry, {\n default: false,\n description: 'Whether to run in silent mode',\n title: 'silent',\n type: 'boolean',\n }),\n})\n\n/** LogConfig type. */\nexport type LogConfig = z.infer<typeof LogConfigZod>\n", "import z from 'zod'\n\nimport { ProviderConfigZod } from './Provider.ts'\n\n/** ProvidersConfigZod constant. */\nexport const ProvidersConfigZod = z.array(ProviderConfigZod.loose()).describe('Configuration for providers').default([])\n\n/** ProvidersConfig type. */\nexport type ProvidersConfig = z.infer<typeof ProvidersConfigZod>\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\n/** ProviderConfigZod constant. */\nexport const ProviderConfigZod = z.object({\n moniker: z.string(),\n labels: z.array(z.string()).optional(),\n}).describe('Configuration for a Provider')\n\n/** ProviderConfig type. */\nexport type ProviderConfig = z.infer<typeof ProviderConfigZod>\n\n/** Type guard that checks if a value is a valid ProviderConfig. */\nexport const isProviderConfig = zodIsFactory(ProviderConfigZod)\n/** Converts a value to ProviderConfig, throwing if invalid. */\nexport const asProviderConfig = zodAsFactory(ProviderConfigZod, 'asProviderConfig')\n/** toProviderConfig constant. */\nexport const toProviderConfig = zodToFactory(ProviderConfigZod, 'toProviderConfig')\n", "import { globalRegistry, z } from 'zod'\n\n/** RpcRemoteConfigBaseZod constant. */\nexport const RpcRemoteConfigBaseZod = z.object({\n protocol: z.string('http').register(globalRegistry, {\n description: 'Protocol for the RPC connection',\n type: 'string',\n }),\n}).describe('Base configuration for the remote RPC')\n\n/** RpcRemoteConfigBase type. */\nexport type RpcRemoteConfigBase = z.infer<typeof RpcRemoteConfigBaseZod>\n\n/** HttpRpcRemoteConfigZod constant. */\nexport const HttpRpcRemoteConfigZod = RpcRemoteConfigBaseZod.extend({\n protocol: z.string('http').register(globalRegistry, {\n description: 'Protocol for the RPC connection',\n type: 'string',\n }).default('http'),\n url: z.string().register(globalRegistry, {\n description: 'URL for the Chain RPC API',\n type: 'string',\n }),\n}).describe('Configuration for the remote RPC using Http')\n\n/** HttpRpcRemoteConfig type. */\nexport type HttpRpcRemoteConfig = z.infer<typeof HttpRpcRemoteConfigZod>\n\n/** PostMessageRpcRemoteConfigZod constant. */\nexport const PostMessageRpcRemoteConfigZod = RpcRemoteConfigBaseZod.extend({\n protocol: z.string().register(globalRegistry, {\n description: 'Protocol for the RPC connection',\n type: 'string',\n }).default('postMessage'),\n networkId: z.string().register(globalRegistry, {\n description: 'Network ID to use for the postMessage RPC connection',\n type: 'string',\n }),\n sessionId: z.string().register(globalRegistry, {\n description: 'Session ID to use for the postMessage RPC connection',\n type: 'string',\n }),\n}).describe('Configuration for the remote RPC using postMessage')\n\n/** PostMessageRpcRemoteConfig type. */\nexport type PostMessageRpcRemoteConfig = z.infer<typeof PostMessageRpcRemoteConfigZod>\n\n/** RpcRemoteConfigZod constant. */\nexport const RpcRemoteConfigZod = z.union([HttpRpcRemoteConfigZod, PostMessageRpcRemoteConfigZod])\n .describe('Configuration for a remote RPC connection, either Http or postMessage')\n\n/** RpcRemoteConfig type. */\nexport type RpcRemoteConfig = z.infer<typeof RpcRemoteConfigZod>\n\n/** RemoteConfigZod constant. */\nexport const RemoteConfigZod = z.object({ rpc: RpcRemoteConfigZod.optional() }).describe('Configuration for remote connections, including RPC')\n\n/** RemoteConfig type. */\nexport type RemoteConfig = z.infer<typeof RemoteConfigZod>\n", "import { isDefined, isUndefined } from '@xylabs/sdk-js'\nimport { globalRegistry, z } from 'zod'\n\n/**\n * Checks if the provided MongoDB configuration contains the fields needed to\n * identify a Mongo target. `username` / `password` are intentionally not\n * required: `mongodb-memory-server` and many production deployments run\n * without auth (or carry credentials inline in the `connectionString` URI).\n * @param config MongoDB configuration object\n * @returns True iff `connectionString`, `database`, and `domain` are all set\n */\nexport const hasMongoConfig = (\n config?: MongoConfig,\n): config is MongoConfig & { connectionString: string; database: string; domain: string } => {\n if (isUndefined(config)) return false\n return (\n isDefined(config.connectionString)\n && isDefined(config.database)\n && isDefined(config.domain)\n )\n}\n\n/** MongoConfigZod constant. */\nexport const MongoConfigZod = z.object({\n // TODO: Create from other arguments\n connectionString: z.string().nonempty().optional().register(globalRegistry, {\n description: 'MongoDB connection string',\n title: 'storage.mongo.connectionString',\n type: 'string',\n }),\n database: z.string().nonempty().optional().register(globalRegistry, {\n description: 'MongoDB database name',\n title: 'storage.mongo.database',\n type: 'string',\n }),\n domain: z.string().nonempty().optional().register(globalRegistry, {\n description: 'MongoDB domain',\n title: 'storage.mongo.domain',\n type: 'string',\n }),\n password: z.string().nonempty().optional().register(globalRegistry, {\n description: 'MongoDB password',\n title: 'storage.mongo.password',\n type: 'string',\n }),\n username: z.string().nonempty().optional().register(globalRegistry, {\n description: 'MongoDB username',\n title: 'storage.mongo.username',\n type: 'string',\n }),\n})\n\n/** MongoConfig type. */\nexport type MongoConfig = z.infer<typeof MongoConfigZod>\n", "import { isDefined, isUndefined } from '@xylabs/sdk-js'\nimport { globalRegistry, z } from 'zod'\n\n/**\n * Checks if the provided Cloudflare R2 configuration contains the fields needed\n * to construct an S3-compatible client and target a bucket. `prefix` is\n * intentionally not required: it only namespaces keys within the bucket.\n * @param config Cloudflare R2 configuration object\n * @returns True iff `accountId`, `accessKeyId`, `secretAccessKey`, and `bucket` are all set\n */\nexport const hasR2Config = (\n config?: R2Config,\n): config is R2Config & { accessKeyId: string; accountId: string; bucket: string; secretAccessKey: string } => {\n if (isUndefined(config)) return false\n return (\n isDefined(config.accountId)\n && isDefined(config.accessKeyId)\n && isDefined(config.secretAccessKey)\n && isDefined(config.bucket)\n )\n}\n\n/** R2ConfigZod constant. */\nexport const R2ConfigZod = z.object({\n accessKeyId: z.string().nonempty().optional().register(globalRegistry, {\n description: 'Cloudflare R2 access key id (from an R2 API token)',\n title: 'storage.r2.accessKeyId',\n type: 'string',\n }),\n accountId: z.string().nonempty().optional().register(globalRegistry, {\n description: 'Cloudflare account id; determines the R2 endpoint https://<accountId>.r2.cloudflarestorage.com',\n title: 'storage.r2.accountId',\n type: 'string',\n }),\n bucket: z.string().nonempty().optional().register(globalRegistry, {\n description: 'Cloudflare R2 bucket name',\n title: 'storage.r2.bucket',\n type: 'string',\n }),\n chainStateBucket: z.string().nonempty().optional().register(globalRegistry, {\n description: 'Cloudflare R2 bucket for the mutable chain state (the head pointer); defaults to `bucket` when unset',\n title: 'storage.r2.chainStateBucket',\n type: 'string',\n }),\n indexBucket: z.string().nonempty().optional().register(globalRegistry, {\n description: 'Cloudflare R2 bucket for the chain index (the step-summary families); defaults to `bucket` when unset',\n title: 'storage.r2.indexBucket',\n type: 'string',\n }),\n prefix: z.string().nonempty().optional().register(globalRegistry, {\n description: 'Optional key prefix namespacing this store within the bucket',\n title: 'storage.r2.prefix',\n type: 'string',\n }),\n secretAccessKey: z.string().nonempty().optional().register(globalRegistry, {\n description: 'Cloudflare R2 secret access key (from an R2 API token)',\n title: 'storage.r2.secretAccessKey',\n type: 'string',\n }),\n})\n\n/** R2Config type. */\nexport type R2Config = z.infer<typeof R2ConfigZod>\n", "import { globalRegistry, z } from 'zod'\n\nimport { MongoConfigZod, R2ConfigZod } from './driver/index.ts'\n\n/** StorageConfigZod constant. */\nexport const StorageConfigZod = z.object({\n mongo: MongoConfigZod.optional().describe('Configuration for the MongoD storage driver'),\n r2: R2ConfigZod.optional().describe('Configuration for the Cloudflare R2 storage driver'),\n root: z.string().optional().register(globalRegistry, {\n description: 'Root directory for local storage',\n title: 'storage.root',\n type: 'string',\n }),\n}).describe('Storage configuration options')\n\n/** StorageConfig type. */\nexport type StorageConfig = z.infer<typeof StorageConfigZod>\n", "import { globalRegistry, z } from 'zod'\n\n/** DefaultMetricsScrapePorts constant. */\nexport const DefaultMetricsScrapePorts = {\n api: 9465,\n bridge: 9468,\n mempool: 9466,\n producer: 9464,\n rewardRedemptionApi: 9467,\n}\n\n/** MetricsScrapeConfigZod constant. */\nexport const MetricsScrapeConfigZod = z.object({\n path: z.string().default('/metrics').register(globalRegistry, {\n default: '/metrics',\n description: 'Path for the metrics scrape endpoint',\n title: 'telemetry.metrics.scrape.path',\n type: 'string',\n }),\n port: z.coerce.number().int().positive().optional().register(globalRegistry, {\n description: 'Port for the metrics scrape endpoint',\n title: 'telemetry.metrics.scrape.port',\n type: 'number',\n }),\n}).describe('Metrics scrape configuration')\n\n/** MetricsConfigZod constant. */\nexport const MetricsConfigZod = z.object({ scrape: MetricsScrapeConfigZod }).describe('Metrics configuration options')\n\n/** OpenTelemetryConfigZod constant. */\nexport const OpenTelemetryConfigZod = z.object({\n // OpenTelemetry options\n otlpEndpoint: z.url().optional().register(globalRegistry, {\n description: 'OTLP endpoint for exporting telemetry data',\n title: 'telemetry.otel.otlpEndpoint',\n type: 'string',\n }),\n})\n\n/** TelemetryConfigZod constant. */\nexport const TelemetryConfigZod = z.object({\n // Metrics configuration\n metrics: MetricsConfigZod.optional().describe('Metrics configuration'),\n // OpenTelemetry configuration\n otel: OpenTelemetryConfigZod.optional().describe('OpenTelemetry configuration'),\n}).describe('Telemetry configuration options')\n\n/** TelemetryConfig type. */\nexport type TelemetryConfig = z.infer<typeof TelemetryConfigZod>\n", "import { XyoAddressZod } from '@xyo-network/address'\nimport { globalRegistry, z } from 'zod'\n\nimport { DEFAULT_BACKOFF_MS, DEFAULT_MIN_CANDIDATES } from '../primitives/index.ts'\n\n/** ValidationConfigZod constant. */\nexport const ValidationConfigZod = z.object({\n allowedRewardRedeemers: z.array(XyoAddressZod).optional().register(globalRegistry, {\n description: 'List of allowed reward redeemer addresses, if undefined anyone can participate',\n title: 'allowedRewardRedeemers',\n type: 'array',\n }),\n allowedRewardEscrowAccountSigners: z.array(XyoAddressZod).optional().register(globalRegistry, {\n description: 'List of allowed reward escrow account signer addresses, if undefined anyone can participate',\n title: 'allowedRewardEscrowAccountSigners',\n type: 'array',\n }),\n minCandidates: z.coerce.number().default(DEFAULT_MIN_CANDIDATES).register(globalRegistry, {\n default: DEFAULT_MIN_CANDIDATES,\n description: 'Minimum number of uncle candidates before selecting the best uncle',\n title: 'validation.minCandidates',\n type: 'number',\n }),\n backoffMs: z.coerce.number().default(DEFAULT_BACKOFF_MS).register(globalRegistry, {\n default: DEFAULT_BACKOFF_MS,\n description: 'Back-off timeout in ms. If head age exceeds this, minCandidates is ignored',\n title: 'validation.backoffMs',\n type: 'number',\n }),\n})\n\n/** ValidationConfig type. */\nexport type ValidationConfig = z.infer<typeof ValidationConfigZod>\n", "import type { SignedHydratedBlockWithHashMeta } from '@xyo-network/xl1-protocol-lib'\n\nimport { scoreUncle } from './scoreUncle.ts'\n\n/** Default minimum number of uncle candidates before selecting. */\nexport const DEFAULT_MIN_CANDIDATES = 1\n\n/** Default back-off timeout in milliseconds. If the head has not changed for this long, minCandidates is ignored. */\nexport const DEFAULT_BACKOFF_MS = 120_000\n\n/** Options for findBestUncle block selection. */\nexport interface FindBestUncleOptions {\n /** Back-off timeout in ms. If head age exceeds this, minCandidates is ignored. Default: 120_000. */\n backoffMs?: number\n /** Minimum number of uncle candidates before selecting. Default: 1. */\n minCandidates?: number\n /** Current timestamp in ms. Injectable for testing. Default: Date.now(). */\n now?: number\n}\n\n/** Selects the best uncle chain from candidates using Proof of Perfect scoring. */\nexport function findBestUncle(\n finalizedWindowedChain: SignedHydratedBlockWithHashMeta[],\n uncles: SignedHydratedBlockWithHashMeta[][],\n options?: FindBestUncleOptions,\n): SignedHydratedBlockWithHashMeta[] | undefined {\n if (uncles.length === 0) return undefined\n\n const minCandidates = options?.minCandidates ?? DEFAULT_MIN_CANDIDATES\n const backoffMs = options?.backoffMs ?? DEFAULT_BACKOFF_MS\n const now = options?.now ?? Date.now()\n\n if (uncles.length < minCandidates) {\n const headEpoch = finalizedWindowedChain.at(-1)?.[0].$epoch ?? 0\n const headAge = now - headEpoch\n if (headAge < backoffMs) {\n return undefined\n }\n }\n\n const scores = uncles.map(uncle => ([scoreUncle(finalizedWindowedChain, uncle), uncle] as const)).toSorted((a, b) => b[0] - a[0])\n return scores[0]?.[1]\n}\n", "import { z } from 'zod/mini'\n\nimport { ActorConfigZod } from './Actor.ts'\n\n/** ActorsConfigZod constant. */\nexport const ActorsConfigZod = z._default(\n z.array(z.looseObject(ActorConfigZod.shape)).check(z.describe('Actor-specific configurations that override the base configuration when the actor is running')),\n [],\n)\n\n/** ActorsConfig type. */\nexport type ActorsConfig = z.infer<typeof ActorsConfigZod>\n", "import { globalRegistry, z } from 'zod/mini'\n\nimport { ActorConfigZod } from './Actor.ts'\nimport { ActorsConfigZod } from './Actors.ts'\nimport { BaseConfigZod } from './Base.ts'\nimport type { DeepPartial } from './DeepPartial.ts'\n\n/** ConfigZod constant. */\nexport const ConfigZod = z.extend(BaseConfigZod, {\n actors: ActorsConfigZod,\n healthCheckPort: z.optional(z.coerce.number()).register(globalRegistry, {\n description: 'Port for the system-wide health, readiness, and liveness endpoints (/healthz, /livez, /readyz). Set to 0 to disable.',\n title: 'healthCheckPort',\n type: 'number',\n }),\n}).check(z.describe('The complete configuration for the protocol, including global settings and actor-specific overrides'))\n\n/** Config type. */\nexport type Config = z.infer<typeof ConfigZod>\n\n/** ResolveConfig helper function. */\nexport function resolveConfig(\n config: DeepPartial<Config>,\n) {\n const parsedConfig = ConfigZod.parse(config)\n const {\n actors, healthCheckPort: _healthCheckPort, ...rootConfig\n } = parsedConfig\n parsedConfig.actors = actors.map((actorConfig: z.infer<typeof ActorConfigZod>) => {\n return z.looseObject(ActorConfigZod.shape).parse({ ...rootConfig, ...actorConfig })\n })\n return parsedConfig\n}\n"],
5
- "mappings": "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",
6
- "names": ["isDefined", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "globalRegistry", "z", "z", "z", "globalRegistry", "z", "globalRegistry", "z", "z", "globalRegistry", "globalRegistry", "z", "z", "globalRegistry", "z", "globalRegistry", "z", "globalRegistry", "z", "z", "z", "z", "globalRegistry", "z", "globalRegistry", "z", "z", "globalRegistry", "isDefined", "isUndefined", "globalRegistry", "z", "z", "globalRegistry", "globalRegistry", "z", "z", "globalRegistry", "globalRegistry", "z", "z", "globalRegistry", "XyoAddressZod", "globalRegistry", "z", "z", "XyoAddressZod", "globalRegistry", "z", "z", "globalRegistry", "zodIsFactory", "zodAsFactory", "zodToFactory", "z", "z", "globalRegistry", "z", "z", "globalRegistry", "isDefined", "z"]
3
+ "sources": ["../../src/getFileConfig.ts", "../../src/config/Actor.ts", "../../src/config/Base.ts", "../../src/config/Chain.ts", "../../src/config/DataLake/DataLake.ts", "../../src/config/DataLake/RestDataLakeConfig.ts", "../../src/config/DataLake/DataLakeRemoteConfig.ts", "../../src/config/DataLake/RouterDataLakeConfig.ts", "../../src/config/Evm.ts", "../../src/config/Log.ts", "../../src/config/ProviderBinding.ts", "../../src/config/Providers.ts", "../../src/config/Provider.ts", "../../src/config/Remote.ts", "../../src/config/storage/driver/Mongo.ts", "../../src/config/storage/driver/S3.ts", "../../src/config/storage/Storage.ts", "../../src/config/Telemetry.ts", "../../src/config/transports/Transport.ts", "../../src/config/Validation.ts", "../../src/primitives/uncle/findBestUncle.ts", "../../src/config/Actors.ts", "../../src/config/Config.ts"],
4
+ "sourcesContent": ["import { isDefined, isNull } from '@xylabs/sdk-js'\nimport { cosmiconfig } from 'cosmiconfig'\nimport { z } from 'zod/mini'\n\nimport { ConfigZod } from './config/index.ts'\n\n/**\n * The name of the configuration file to search for.\n */\nconst configName = 'xyo'\n\n/**\n * The name of the section within the configuration file to parse.\n */\nconst configSection = 'xl1' // Default section in the config file\n\n/**\n * Attempts to parse the configuration from a file using cosmiconfig.\n * @returns The parsed configuration object if found and valid, otherwise undefined.\n */\nexport async function getFileConfig(searchPlaces?: string[]) {\n const explorer = cosmiconfig(\n configName,\n {\n cache: true,\n searchPlaces,\n },\n )\n const result: unknown = (await explorer.search())?.config\n if (!isNull(result)) {\n const section = (result as Record<string, unknown>)[configSection]\n if (isDefined(section) && typeof section === 'object') {\n return z.looseObject(ConfigZod.shape).parse(section)\n }\n }\n return ConfigZod.parse({})\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport { globalRegistry, z } from 'zod/mini'\n\nimport { BaseConfigZod } from './Base.ts'\n\n/**\n * BIP-32 derivation path for an actor wallet.\n *\n * - Absolute form: starts with `m/` (e.g. `m/44'/60'/0'/0/0`). The full path is used as-is,\n * giving the caller complete control over coin type, account, and hardening.\n * - Relative form: a segment list without the `m/` prefix (e.g. `0`, `0/1`, `44'/60'/0'/0/0`).\n * The consumer appends this to its configured root base path.\n *\n * Each segment is a non-negative integer, optionally suffixed with `'` to mark it as hardened.\n */\nexport const AccountPathZod = z.string().check(z.regex(\n /^(m(\\/\\d+'?)+|\\d+'?(\\/\\d+'?)*)$/,\n 'Invalid BIP-32 derivation path. Use either an absolute path like \"m/44\\'/60\\'/0\\'/0/0\" or a relative path like \"0\", \"0/1\", or \"44\\'/60\\'/0\\'/0/0\".',\n))\n\n/** ActorConfigZod constant. */\nexport const ActorConfigZod = z.extend(BaseConfigZod, {\n name: z.string(),\n accountPath: z.optional(AccountPathZod).register(globalRegistry, {\n description: 'BIP-32 derivation path for the actor wallet. Absolute when it starts with \"m/\"; otherwise relative to the root wallet base path. Each actor must derive to a distinct path.',\n title: 'accountPath',\n type: 'string',\n }),\n})\n\n/** ActorConfig type. */\nexport type ActorConfig = z.infer<typeof ActorConfigZod>\n\n/** Type guard that checks if a value is a valid ActorConfig. */\nexport const isActorConfig = zodIsFactory(ActorConfigZod)\n/** Converts a value to ActorConfig, throwing if invalid. */\nexport const asActorConfig = zodAsFactory(ActorConfigZod, 'asActorConfig')\n/** toActorConfig constant. */\nexport const toActorConfig = zodToFactory(ActorConfigZod, 'toActorConfig')\n", "import { z } from 'zod/mini'\n\nimport { ChainConfigZod } from './Chain.ts'\nimport { DataLakeConfigZod } from './DataLake/index.ts'\nimport { EvmConfigZod } from './Evm.ts'\nimport { LogConfigZod } from './Log.ts'\nimport { ProviderBindingsConfigZod } from './ProviderBinding.ts'\nimport { ProvidersConfigZod } from './Providers.ts'\nimport { RemoteConfigZod } from './Remote.ts'\nimport { StorageConfigZod } from './storage/index.ts'\nimport { TelemetryConfigZod } from './Telemetry.ts'\nimport { TransportsConfigZod } from './transports/index.ts'\nimport { ValidationConfigZod } from './Validation.ts'\n\n/** BaseConfigZod constant. */\nexport const BaseConfigZod = z.object({\n chain: z._default(ChainConfigZod, ChainConfigZod.parse({})).check(z.describe('Configuration for the chain')),\n dataLake: z.optional(DataLakeConfigZod).check(z.describe('Configuration for data lakes')),\n evm: z._default(EvmConfigZod, EvmConfigZod.parse({})).check(z.describe('Configuration for EVM-backed services')),\n log: z._default(LogConfigZod, LogConfigZod.parse({})).check(z.describe('Configuration for logging')),\n providerBindings: z._default(ProviderBindingsConfigZod, ProviderBindingsConfigZod.parse({})).check(z.describe('Per-moniker provider implementation and transport bindings')),\n providers: z._default(ProvidersConfigZod, ProvidersConfigZod.parse([])).check(z.describe('Configuration for providers')),\n remote: z._default(RemoteConfigZod, RemoteConfigZod.parse({})).check(z.describe('Configuration for remote services')),\n transports: z._default(TransportsConfigZod, TransportsConfigZod.parse({})).check(z.describe('Named connection profiles (rpc, rest, s3, lmdb, mongo, evm-rpc)')),\n storage: z._default(StorageConfigZod, StorageConfigZod.parse({})).check(z.describe('Configuration for the storage')),\n telemetry: z._default(TelemetryConfigZod, TelemetryConfigZod.parse({})).check(z.describe('Configuration for telemetry')),\n validation: z._default(ValidationConfigZod, ValidationConfigZod.parse({})).check(z.describe('Configuration for validation')),\n})\n\n/** BaseConfig type. */\nexport type BaseConfig = z.infer<typeof BaseConfigZod>\n", "import { HexZod } from '@xylabs/sdk-js'\nimport { XyoAddressZod } from '@xyo-network/sdk-js'\nimport { globalRegistry, z } from 'zod/mini'\n\n/** ChainConfigZod constant. */\nexport const ChainConfigZod = z.object({\n id: z.optional(HexZod)\n .register(globalRegistry, {\n description:\n 'The unique identifier for the chain. Should be the staking contract address for contract-backed chains.',\n title: 'chain.id',\n type: 'string',\n }),\n genesisRewardAddress: z.optional(XyoAddressZod)\n .register(globalRegistry, {\n description:\n 'Address to send the initial genesis rewards to, if a new chain is being created.',\n title: 'chain.genesisRewardAddress',\n type: 'Address',\n }),\n})\n\n/** ChainConfig type. */\nexport type ChainConfig = z.infer<typeof ChainConfigZod>\n", "import { z } from 'zod'\n\nimport { type RestDataLakeConfig, RestDataLakeConfigZod } from './RestDataLakeConfig.ts'\n// eslint-disable-next-line import-x/no-cycle -- intentional cycle for z.lazy recursive type\nimport { type RouterDataLakeConfig, RouterDataLakeConfigZod } from './RouterDataLakeConfig.ts'\n\n/** DataLakeConfig type. */\nexport type DataLakeConfig = RestDataLakeConfig | RouterDataLakeConfig\n\n// z.lazy handles the circular reference between DataLakeConfigZod and RouterDataLakeZod\n/** DataLakeConfigZod constant. */\nexport const DataLakeConfigZod: z.ZodType<DataLakeConfig> = z.lazy(() =>\n z.union([RestDataLakeConfigZod, RouterDataLakeConfigZod])).describe('Configuration for a data lake')\n", "import { globalRegistry, z } from 'zod'\n\nimport { DataLakeDriverConfigBaseZod } from './DataLakeRemoteConfig.ts'\n\n/** RestDataLakeConfigZod constant. */\nexport const RestDataLakeConfigZod = DataLakeDriverConfigBaseZod.extend({\n driver: z.literal('rest').register(globalRegistry, {\n description: 'Driver for the REST data lake',\n type: 'string',\n }),\n url: z.string().register(globalRegistry, {\n description: 'URL for the REST data lake',\n type: 'string',\n }),\n}).describe('Configuration for the REST data lake driver')\n\n/** RestDataLakeConfig type. */\nexport type RestDataLakeConfig = z.infer<typeof RestDataLakeConfigZod>\n", "import { globalRegistry, z } from 'zod'\n\n/** DataLakeDriverConfigBaseZod constant. */\nexport const DataLakeDriverConfigBaseZod = z.object({\n driver: z.string().register(globalRegistry, {\n description: 'Driver for the data lake',\n type: 'string',\n }),\n}).describe('Base configuration for a data lake driver')\n/** DataLakeDriverConfigBase type. */\nexport type DataLakeDriverConfigBase = z.infer<typeof DataLakeDriverConfigBaseZod>\n", "import { globalRegistry, z } from 'zod'\n\nimport type { DataLakeConfig } from './DataLake.ts'\n// eslint-disable-next-line import-x/no-cycle -- intentional cycle for z.lazy recursive type\nimport { DataLakeConfigZod } from './DataLake.ts'\n\n/** Configuration for RouterDataLake. */\nexport interface RouterDataLakeConfig {\n children: DataLakeConfig[]\n driver: 'router'\n}\n\n/** RouterDataLakeConfigZod constant. */\nexport const RouterDataLakeConfigZod: z.ZodType<RouterDataLakeConfig> = z.object({\n driver: z.literal('router').register(globalRegistry, {\n description: 'Driver for the router data lake',\n type: 'string',\n }),\n children: z.array(z.lazy(() => DataLakeConfigZod)).register(globalRegistry, {\n description: 'Child data lake drivers',\n type: 'array',\n }),\n}).describe('Configuration for the router data lake driver')\n", "import { globalRegistry, z } from 'zod'\n\n/** EvmInfuraConfigZod constant. */\nexport const EvmInfuraConfigZod = z.object({\n projectId: z.string().optional().register(globalRegistry, {\n description: 'Infura project ID',\n title: 'evm.infura.projectId',\n type: 'string',\n }),\n projectSecret: z.string().optional().register(globalRegistry, {\n description: 'Infura project secret',\n title: 'evm.infura.projectSecret',\n type: 'string',\n }),\n})\n\n/** EvmJsonRpcConfigZod constant. */\nexport const EvmJsonRpcConfigZod = z.object({\n url: z.url().optional().register(globalRegistry, {\n description: 'JSON-RPC URL',\n title: 'evm.jsonRpc.url',\n type: 'string',\n }),\n})\n\n/** EvmConfigZod constant. */\nexport const EvmConfigZod = z.object({\n chainId: z.string().optional().register(globalRegistry, {\n description: 'EVM chain ID',\n title: 'evm.chainId',\n type: 'string',\n }),\n infura: EvmInfuraConfigZod.optional().describe('Infura Provider configuration'),\n jsonRpc: EvmJsonRpcConfigZod.optional().describe('JSON-RPC Provider configuration'),\n})\n\n/** EvmConfig type. */\nexport type EvmConfig = z.infer<typeof EvmConfigZod>\n", "import type { LogLevelKey } from '@xylabs/sdk-js'\nimport { LogLevel } from '@xylabs/sdk-js'\nimport { globalRegistry, z } from 'zod'\n\nconst LogLevelNames = Object.keys(LogLevel) as [LogLevelKey]\n\n/** LogConfigZod constant. */\nexport const LogConfigZod = z.object({\n logLevel: z.enum(LogLevelNames).default('info').register(globalRegistry, {\n choices: LogLevelNames,\n default: 'info',\n description: 'Desired process verbosity',\n title: 'logLevel',\n type: 'string',\n }),\n silent: z.boolean().default(false).register(globalRegistry, {\n default: false,\n description: 'Whether to run in silent mode',\n title: 'silent',\n type: 'boolean',\n }),\n})\n\n/** LogConfig type. */\nexport type LogConfig = z.infer<typeof LogConfigZod>\n", "import { globalRegistry, z } from 'zod'\n\n/**\n * Binds a capability moniker to an installed implementation and optional named\n * transport. Keys in `providerBindings` use the provider moniker (e.g.\n * `BlockViewer`).\n */\nexport const ProviderBindingConfigZod = z.object({\n implementation: z.string().optional().register(globalRegistry, {\n description: 'Installed provider implementation id (descriptor id)',\n title: 'providerBindings.implementation',\n type: 'string',\n }),\n transport: z.string().optional().register(globalRegistry, {\n description: 'Named transport from the top-level transports map',\n title: 'providerBindings.transport',\n type: 'string',\n }),\n}).describe('Provider implementation and transport binding')\n\nexport type ProviderBindingConfig = z.infer<typeof ProviderBindingConfigZod>\n\n/** Map of provider moniker \u2192 binding. */\nexport const ProviderBindingsConfigZod = z.record(z.string(), ProviderBindingConfigZod).default({})\n\nexport type ProviderBindingsConfig = z.infer<typeof ProviderBindingsConfigZod>\n", "import z from 'zod'\n\nimport { ProviderConfigZod } from './Provider.ts'\n\n/** ProvidersConfigZod constant. */\nexport const ProvidersConfigZod = z.array(ProviderConfigZod.loose()).describe('Configuration for providers').default([])\n\n/** ProvidersConfig type. */\nexport type ProvidersConfig = z.infer<typeof ProvidersConfigZod>\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\n/** ProviderConfigZod constant. */\nexport const ProviderConfigZod = z.object({\n moniker: z.string(),\n labels: z.array(z.string()).optional(),\n}).describe('Configuration for a Provider')\n\n/** ProviderConfig type. */\nexport type ProviderConfig = z.infer<typeof ProviderConfigZod>\n\n/** Type guard that checks if a value is a valid ProviderConfig. */\nexport const isProviderConfig = zodIsFactory(ProviderConfigZod)\n/** Converts a value to ProviderConfig, throwing if invalid. */\nexport const asProviderConfig = zodAsFactory(ProviderConfigZod, 'asProviderConfig')\n/** toProviderConfig constant. */\nexport const toProviderConfig = zodToFactory(ProviderConfigZod, 'toProviderConfig')\n", "import { globalRegistry, z } from 'zod'\n\n/** RpcRemoteConfigBaseZod constant. */\nexport const RpcRemoteConfigBaseZod = z.object({\n protocol: z.string('http').register(globalRegistry, {\n description: 'Protocol for the RPC connection',\n type: 'string',\n }),\n}).describe('Base configuration for the remote RPC')\n\n/** RpcRemoteConfigBase type. */\nexport type RpcRemoteConfigBase = z.infer<typeof RpcRemoteConfigBaseZod>\n\n/** HttpRpcRemoteConfigZod constant. */\nexport const HttpRpcRemoteConfigZod = RpcRemoteConfigBaseZod.extend({\n protocol: z.string('http').register(globalRegistry, {\n description: 'Protocol for the RPC connection',\n type: 'string',\n }).default('http'),\n url: z.string().register(globalRegistry, {\n description: 'URL for the Chain RPC API',\n type: 'string',\n }),\n}).describe('Configuration for the remote RPC using Http')\n\n/** HttpRpcRemoteConfig type. */\nexport type HttpRpcRemoteConfig = z.infer<typeof HttpRpcRemoteConfigZod>\n\n/** PostMessageRpcRemoteConfigZod constant. */\nexport const PostMessageRpcRemoteConfigZod = RpcRemoteConfigBaseZod.extend({\n protocol: z.string().register(globalRegistry, {\n description: 'Protocol for the RPC connection',\n type: 'string',\n }).default('postMessage'),\n networkId: z.string().register(globalRegistry, {\n description: 'Network ID to use for the postMessage RPC connection',\n type: 'string',\n }),\n sessionId: z.string().register(globalRegistry, {\n description: 'Session ID to use for the postMessage RPC connection',\n type: 'string',\n }),\n}).describe('Configuration for the remote RPC using postMessage')\n\n/** PostMessageRpcRemoteConfig type. */\nexport type PostMessageRpcRemoteConfig = z.infer<typeof PostMessageRpcRemoteConfigZod>\n\n/** RpcRemoteConfigZod constant. */\nexport const RpcRemoteConfigZod = z.union([HttpRpcRemoteConfigZod, PostMessageRpcRemoteConfigZod])\n .describe('Configuration for a remote RPC connection, either Http or postMessage')\n\n/** RpcRemoteConfig type. */\nexport type RpcRemoteConfig = z.infer<typeof RpcRemoteConfigZod>\n\n/** RemoteConfigZod constant. */\nexport const RemoteConfigZod = z.object({ rpc: RpcRemoteConfigZod.optional() }).describe('Configuration for remote connections, including RPC')\n\n/** RemoteConfig type. */\nexport type RemoteConfig = z.infer<typeof RemoteConfigZod>\n", "import { isDefined, isUndefined } from '@xylabs/sdk-js'\nimport { globalRegistry, z } from 'zod'\n\n/**\n * Checks if the provided MongoDB configuration contains the fields needed to\n * identify a Mongo target. `username` / `password` are intentionally not\n * required: `mongodb-memory-server` and many production deployments run\n * without auth (or carry credentials inline in the `connectionString` URI).\n * @param config MongoDB configuration object\n * @returns True iff `connectionString`, `database`, and `domain` are all set\n */\nexport const hasMongoConfig = (\n config?: MongoConfig,\n): config is MongoConfig & { connectionString: string; database: string; domain: string } => {\n if (isUndefined(config)) return false\n return (\n isDefined(config.connectionString)\n && isDefined(config.database)\n && isDefined(config.domain)\n )\n}\n\n/** MongoConfigZod constant. */\nexport const MongoConfigZod = z.object({\n // TODO: Create from other arguments\n connectionString: z.string().nonempty().optional().register(globalRegistry, {\n description: 'MongoDB connection string',\n title: 'storage.mongo.connectionString',\n type: 'string',\n }),\n database: z.string().nonempty().optional().register(globalRegistry, {\n description: 'MongoDB database name',\n title: 'storage.mongo.database',\n type: 'string',\n }),\n domain: z.string().nonempty().optional().register(globalRegistry, {\n description: 'MongoDB domain',\n title: 'storage.mongo.domain',\n type: 'string',\n }),\n password: z.string().nonempty().optional().register(globalRegistry, {\n description: 'MongoDB password',\n title: 'storage.mongo.password',\n type: 'string',\n }),\n username: z.string().nonempty().optional().register(globalRegistry, {\n description: 'MongoDB username',\n title: 'storage.mongo.username',\n type: 'string',\n }),\n})\n\n/** MongoConfig type. */\nexport type MongoConfig = z.infer<typeof MongoConfigZod>\n", "import { isDefined } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\n/**\n * Per-bucket S3 configuration: the bucket name, an optional public read URL (CDN), and optional\n * credential/prefix overrides. Any omitted credential or prefix falls back to the shared top-level\n * S3 config; an omitted bucket name falls back to the finalized bucket.\n *\n * \"S3\" is the S3-compatible object-storage protocol; Cloudflare R2 is one such implementation.\n */\nexport const S3BucketConfigZod = z.object({\n accessKeyId: z.string().nonempty().optional().describe('S3-compatible access key id for this bucket (overrides the shared default)'),\n accountId: z.string().nonempty().optional().describe('Account id for this bucket; on Cloudflare R2 it forms the endpoint (overrides the shared default)'),\n bucket: z.string().nonempty().optional().describe('S3-compatible bucket name'),\n prefix: z.string().nonempty().optional().describe('Optional key prefix within the bucket'),\n readUrl: z.string().nonempty().optional().describe('Public HTTP/CDN base URL for anonymous reads of this bucket'),\n secretAccessKey: z.string().nonempty().optional().describe('S3-compatible secret access key for this bucket (overrides the shared default)'),\n})\n\n/** S3BucketConfig type. */\nexport type S3BucketConfig = z.infer<typeof S3BucketConfigZod>\n\n/**\n * S3-compatible object-storage configuration (e.g. Cloudflare R2). Credentials and prefix set at the\n * top level are shared defaults; each bucket \u2014 finalized (blocks/payloads/manifest), chain state (the\n * head pointer), and the chain index (the step-summary families) \u2014 may override them and set its own\n * name and public read URL. `chainState` and `index` default their bucket name to `finalized.bucket`.\n */\nexport const S3ConfigZod = z.object({\n accessKeyId: z.string().nonempty().optional().describe('Shared S3-compatible access key id (default for all buckets)'),\n accountId: z.string().nonempty().optional().describe('Shared account id (default for all buckets; on Cloudflare R2 it forms the endpoint)'),\n chainState: S3BucketConfigZod.optional().describe('Bucket for the mutable chain state (the head pointer)'),\n finalized: S3BucketConfigZod.optional().describe('Bucket for the finalized files (blocks, payloads, manifest)'),\n index: S3BucketConfigZod.optional().describe('Bucket for the chain index (the step-summary families)'),\n prefix: z.string().nonempty().optional().describe('Shared key prefix (default for all buckets)'),\n secretAccessKey: z.string().nonempty().optional().describe('Shared S3-compatible secret access key (default for all buckets)'),\n})\n\n/** S3Config type. */\nexport type S3Config = z.infer<typeof S3ConfigZod>\n\n/** The named buckets in the S3 layout. */\nexport type S3BucketName = 'chainState' | 'finalized' | 'index'\n\n/** A fully-resolved S3 bucket target: name and credentials, plus an optional prefix and read URL. */\nexport interface ResolvedS3Bucket {\n accessKeyId: string\n accountId: string\n bucket: string\n prefix?: string\n readUrl?: string\n secretAccessKey: string\n}\n\n/**\n * Resolves a bucket's effective target: credentials and prefix fall back from the per-bucket entry\n * to the shared top-level defaults; the bucket name falls back to the finalized bucket; the read URL\n * comes from the per-bucket entry. Returns undefined when credentials or the bucket name cannot be\n * fully resolved (i.e. that bucket is not configured).\n */\nexport function resolveS3Bucket(config: S3Config | undefined, which: S3BucketName): ResolvedS3Bucket | undefined {\n if (config === undefined) return undefined\n const entry = config[which]\n const accessKeyId = entry?.accessKeyId ?? config.accessKeyId\n const accountId = entry?.accountId ?? config.accountId\n const secretAccessKey = entry?.secretAccessKey ?? config.secretAccessKey\n const bucket = entry?.bucket ?? config.finalized?.bucket\n if (!isDefined(accessKeyId) || !isDefined(accountId) || !isDefined(secretAccessKey) || !isDefined(bucket)) return undefined\n return {\n accessKeyId, accountId, bucket, prefix: entry?.prefix ?? config.prefix, readUrl: entry?.readUrl, secretAccessKey,\n }\n}\n\n/** True when the given bucket (default `finalized`) is fully configured \u2014 credentials and name resolvable. */\nexport function hasS3Config(config?: S3Config, which: S3BucketName = 'finalized'): boolean {\n return resolveS3Bucket(config, which) !== undefined\n}\n", "import { globalRegistry, z } from 'zod'\n\nimport { MongoConfigZod, S3ConfigZod } from './driver/index.ts'\n\n/** StorageConfigZod constant. */\nexport const StorageConfigZod = z.object({\n mongo: MongoConfigZod.optional().describe('Configuration for the MongoD storage driver'),\n root: z.string().optional().register(globalRegistry, {\n description: 'Root directory for local storage',\n title: 'storage.root',\n type: 'string',\n }),\n s3: S3ConfigZod.optional().describe('Configuration for S3-compatible object storage (e.g. Cloudflare R2)'),\n}).describe('Storage configuration options')\n\n/** StorageConfig type. */\nexport type StorageConfig = z.infer<typeof StorageConfigZod>\n", "import { globalRegistry, z } from 'zod'\n\n/** DefaultMetricsScrapePorts constant. */\nexport const DefaultMetricsScrapePorts = {\n api: 9465,\n bridge: 9468,\n mempool: 9466,\n producer: 9464,\n rewardRedemptionApi: 9467,\n}\n\n/** MetricsScrapeConfigZod constant. */\nexport const MetricsScrapeConfigZod = z.object({\n path: z.string().default('/metrics').register(globalRegistry, {\n default: '/metrics',\n description: 'Path for the metrics scrape endpoint',\n title: 'telemetry.metrics.scrape.path',\n type: 'string',\n }),\n port: z.coerce.number().int().positive().optional().register(globalRegistry, {\n description: 'Port for the metrics scrape endpoint',\n title: 'telemetry.metrics.scrape.port',\n type: 'number',\n }),\n}).describe('Metrics scrape configuration')\n\n/** MetricsConfigZod constant. */\nexport const MetricsConfigZod = z.object({ scrape: MetricsScrapeConfigZod }).describe('Metrics configuration options')\n\n/** OpenTelemetryConfigZod constant. */\nexport const OpenTelemetryConfigZod = z.object({\n // OpenTelemetry options\n otlpEndpoint: z.url().optional().register(globalRegistry, {\n description: 'OTLP endpoint for exporting telemetry data',\n title: 'telemetry.otel.otlpEndpoint',\n type: 'string',\n }),\n})\n\n/** TelemetryConfigZod constant. */\nexport const TelemetryConfigZod = z.object({\n // Metrics configuration\n metrics: MetricsConfigZod.optional().describe('Metrics configuration'),\n // OpenTelemetry configuration\n otel: OpenTelemetryConfigZod.optional().describe('OpenTelemetry configuration'),\n}).describe('Telemetry configuration options')\n\n/** TelemetryConfig type. */\nexport type TelemetryConfig = z.infer<typeof TelemetryConfigZod>\n", "import { globalRegistry, z } from 'zod'\n\nimport { HttpRpcRemoteConfigZod } from '../Remote.ts'\nimport { MongoConfigZod } from '../storage/driver/Mongo.ts'\nimport { S3BucketConfigZod } from '../storage/driver/S3.ts'\n\n/** Named LMDB backing-store transport. */\nexport const LmdbTransportConfigZod = z.object({\n type: z.literal('lmdb'),\n root: z.string().register(globalRegistry, {\n description: 'Root directory for local LMDB storage',\n title: 'transports.lmdb.root',\n type: 'string',\n }),\n}).describe('LMDB local storage transport')\n\n/** MongoDB backing-store transport. */\nexport const MongoTransportConfigZod = z.object({\n type: z.literal('mongo'),\n connectionString: MongoConfigZod.shape.connectionString,\n database: MongoConfigZod.shape.database,\n domain: MongoConfigZod.shape.domain,\n password: MongoConfigZod.shape.password,\n username: MongoConfigZod.shape.username,\n}).describe('MongoDB storage transport')\n\n/** JSON-RPC wire transport (HTTP or postMessage). */\nexport const RpcTransportConfigZod = HttpRpcRemoteConfigZod.extend({ type: z.literal('rpc') }).describe('XL1 JSON-RPC transport')\n\n/** HTTP REST read transport (CDN / public read base URL). */\nexport const RestTransportConfigZod = z.object({\n type: z.literal('rest'),\n baseUrl: z.string().register(globalRegistry, {\n description: 'HTTP base URL for REST reads',\n title: 'transports.rest.baseUrl',\n type: 'string',\n }),\n}).describe('HTTP REST read transport')\n\n/** S3-compatible object storage transport (API + optional public read URL). */\nexport const S3TransportConfigZod = S3BucketConfigZod.extend({\n type: z.literal('s3'),\n accessKeyId: z.string().optional(),\n accountId: z.string().optional(),\n secretAccessKey: z.string().optional(),\n}).describe('S3-compatible object storage transport')\n\n/** EVM JSON-RPC transport. */\nexport const EvmRpcTransportConfigZod = z.object({\n type: z.literal('evm-rpc'),\n url: z.string().register(globalRegistry, {\n description: 'EVM JSON-RPC URL',\n title: 'transports.evm-rpc.url',\n type: 'string',\n }),\n}).describe('EVM JSON-RPC transport')\n\n/** Discriminated union of all supported transport kinds. */\nexport const TransportConfigZod = z.discriminatedUnion('type', [\n LmdbTransportConfigZod,\n MongoTransportConfigZod,\n RpcTransportConfigZod,\n RestTransportConfigZod,\n S3TransportConfigZod,\n EvmRpcTransportConfigZod,\n])\n\nexport type LmdbTransportConfig = z.infer<typeof LmdbTransportConfigZod>\nexport type MongoTransportConfig = z.infer<typeof MongoTransportConfigZod>\nexport type RpcTransportConfig = z.infer<typeof RpcTransportConfigZod>\nexport type RestTransportConfig = z.infer<typeof RestTransportConfigZod>\nexport type S3TransportConfig = z.infer<typeof S3TransportConfigZod>\nexport type EvmRpcTransportConfig = z.infer<typeof EvmRpcTransportConfigZod>\nexport type TransportConfig = z.infer<typeof TransportConfigZod>\n\n/** Map of transport name \u2192 transport configuration. */\nexport const TransportsConfigZod = z.record(z.string(), TransportConfigZod).default({})\n\nexport type TransportsConfig = z.infer<typeof TransportsConfigZod>\n\nexport type TransportKind = TransportConfig['type']\n", "import { XyoAddressZod } from '@xyo-network/sdk-js'\nimport { globalRegistry, z } from 'zod'\n\nimport { DEFAULT_BACKOFF_MS, DEFAULT_MIN_CANDIDATES } from '../primitives/index.ts'\n\n/** ValidationConfigZod constant. */\nexport const ValidationConfigZod = z.object({\n allowedRewardRedeemers: z.array(XyoAddressZod).optional().register(globalRegistry, {\n description: 'List of allowed reward redeemer addresses, if undefined anyone can participate',\n title: 'allowedRewardRedeemers',\n type: 'array',\n }),\n allowedRewardEscrowAccountSigners: z.array(XyoAddressZod).optional().register(globalRegistry, {\n description: 'List of allowed reward escrow account signer addresses, if undefined anyone can participate',\n title: 'allowedRewardEscrowAccountSigners',\n type: 'array',\n }),\n minCandidates: z.coerce.number().default(DEFAULT_MIN_CANDIDATES).register(globalRegistry, {\n default: DEFAULT_MIN_CANDIDATES,\n description: 'Minimum number of uncle candidates before selecting the best uncle',\n title: 'validation.minCandidates',\n type: 'number',\n }),\n backoffMs: z.coerce.number().default(DEFAULT_BACKOFF_MS).register(globalRegistry, {\n default: DEFAULT_BACKOFF_MS,\n description: 'Back-off timeout in ms. If head age exceeds this, minCandidates is ignored',\n title: 'validation.backoffMs',\n type: 'number',\n }),\n})\n\n/** ValidationConfig type. */\nexport type ValidationConfig = z.infer<typeof ValidationConfigZod>\n", "import type { SignedHydratedBlockWithHashMeta } from '@xyo-network/xl1-protocol-lib'\n\nimport { scoreUncle } from './scoreUncle.ts'\n\n/** Default minimum number of uncle candidates before selecting. */\nexport const DEFAULT_MIN_CANDIDATES = 1\n\n/** Default back-off timeout in milliseconds. If the head has not changed for this long, minCandidates is ignored. */\nexport const DEFAULT_BACKOFF_MS = 120_000\n\n/** Options for findBestUncle block selection. */\nexport interface FindBestUncleOptions {\n /** Back-off timeout in ms. If head age exceeds this, minCandidates is ignored. Default: 120_000. */\n backoffMs?: number\n /** Minimum number of uncle candidates before selecting. Default: 1. */\n minCandidates?: number\n /** Current timestamp in ms. Injectable for testing. Default: Date.now(). */\n now?: number\n}\n\n/** Selects the best uncle chain from candidates using Proof of Perfect scoring. */\nexport function findBestUncle(\n finalizedWindowedChain: SignedHydratedBlockWithHashMeta[],\n uncles: SignedHydratedBlockWithHashMeta[][],\n options?: FindBestUncleOptions,\n): SignedHydratedBlockWithHashMeta[] | undefined {\n if (uncles.length === 0) return undefined\n\n const minCandidates = options?.minCandidates ?? DEFAULT_MIN_CANDIDATES\n const backoffMs = options?.backoffMs ?? DEFAULT_BACKOFF_MS\n const now = options?.now ?? Date.now()\n\n if (uncles.length < minCandidates) {\n const headEpoch = finalizedWindowedChain.at(-1)?.[0].$epoch ?? 0\n const headAge = now - headEpoch\n if (headAge < backoffMs) {\n return undefined\n }\n }\n\n const scores = uncles.map(uncle => ([scoreUncle(finalizedWindowedChain, uncle), uncle] as const)).toSorted((a, b) => b[0] - a[0])\n return scores[0]?.[1]\n}\n", "import { z } from 'zod/mini'\n\nimport { ActorConfigZod } from './Actor.ts'\n\n/** ActorsConfigZod constant. */\nexport const ActorsConfigZod = z._default(\n z.array(z.looseObject(ActorConfigZod.shape)).check(z.describe('Actor-specific configurations that override the base configuration when the actor is running')),\n [],\n)\n\n/** ActorsConfig type. */\nexport type ActorsConfig = z.infer<typeof ActorsConfigZod>\n", "import { globalRegistry, z } from 'zod/mini'\n\nimport { ActorConfigZod } from './Actor.ts'\nimport { ActorsConfigZod } from './Actors.ts'\nimport { BaseConfigZod } from './Base.ts'\nimport type { DeepPartial } from './DeepPartial.ts'\n\n/** ConfigZod constant. */\nexport const ConfigZod = z.extend(BaseConfigZod, {\n actors: ActorsConfigZod,\n healthCheckPort: z.optional(z.coerce.number()).register(globalRegistry, {\n description: 'Port for the system-wide health, readiness, and liveness endpoints (/healthz, /livez, /readyz). Set to 0 to disable.',\n title: 'healthCheckPort',\n type: 'number',\n }),\n}).check(z.describe('The complete configuration for the protocol, including global settings and actor-specific overrides'))\n\n/** Config type. */\nexport type Config = z.infer<typeof ConfigZod>\n\n/** ResolveConfig helper function. */\nexport function resolveConfig(\n config: DeepPartial<Config>,\n) {\n const parsedConfig = ConfigZod.parse(config)\n const {\n actors, healthCheckPort: _healthCheckPort, ...rootConfig\n } = parsedConfig\n parsedConfig.actors = actors.map((actorConfig: z.infer<typeof ActorConfigZod>) => {\n return z.looseObject(ActorConfigZod.shape).parse({ ...rootConfig, ...actorConfig })\n })\n return parsedConfig\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["isDefined", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "globalRegistry", "z", "z", "z", "globalRegistry", "z", "globalRegistry", "z", "z", "globalRegistry", "globalRegistry", "z", "z", "globalRegistry", "z", "globalRegistry", "z", "globalRegistry", "z", "globalRegistry", "z", "z", "z", "z", "globalRegistry", "z", "globalRegistry", "z", "z", "globalRegistry", "isDefined", "z", "globalRegistry", "z", "z", "globalRegistry", "globalRegistry", "z", "z", "globalRegistry", "globalRegistry", "z", "z", "globalRegistry", "XyoAddressZod", "globalRegistry", "z", "z", "XyoAddressZod", "globalRegistry", "z", "z", "globalRegistry", "zodIsFactory", "zodAsFactory", "zodToFactory", "z", "z", "globalRegistry", "z", "z", "globalRegistry", "isDefined", "z"]
7
7
  }