{
  "version": 3,
  "sources": ["../../src/modules/payload-plugin-resolver/contexts/PayloadPluginResolver/Context.ts", "../../src/modules/payload-plugin-resolver/contexts/PayloadPluginResolver/Provider.tsx", "../../src/modules/payload-plugin-resolver/contexts/PayloadPluginResolver/use.ts", "../../src/modules/payload-plugin-resolver/contexts/PayloadRenderPluginResolver/Context.ts", "../../src/modules/payload-plugin-resolver/contexts/PayloadRenderPluginResolver/Provider.tsx", "../../src/modules/payload-plugin-resolver/contexts/PayloadRenderPluginResolver/use.ts", "../../src/modules/payload-plugin-resolver/contexts/PayloadSetPluginResolver/Context.ts", "../../src/modules/payload-plugin-resolver/contexts/PayloadSetPluginResolver/Provider.tsx", "../../src/modules/payload-plugin-resolver/contexts/PayloadSetPluginResolver/use.ts", "../../src/modules/payload-plugin-resolver/LegacyPayloadRenderPluginAdapter.ts", "../../src/modules/payload-plugin-resolver/PayloadRenderPluginResolver.ts", "../../src/modules/payload-plugin-resolver/ViewerRegistry.ts"],
  "sourcesContent": ["import { createContextEx } from '@ariestools/sdk-react/shared'\n\nimport type { PayloadPluginResolverState } from './State.ts'\n\n/** React context holding a {@link PayloadPluginResolver}. */\nexport const PayloadPluginResolverContext = createContextEx<PayloadPluginResolverState>()\n", "import type { ContextExProviderProps } from '@ariestools/sdk-react/shared'\nimport type { PayloadPluginResolver } from '@xyo-network/sdk'\nimport React, { useMemo, useState } from 'react'\n\nimport { PayloadPluginResolverContext } from './Context.ts'\nimport type { PayloadPluginResolverState } from './State.ts'\n\n/** Props for {@link PayloadPluginResolverProvider}. */\nexport type PayloadPluginResolverProviderProps = ContextExProviderProps<{\n  resolver: PayloadPluginResolver\n}>\n\n/** Provides a {@link PayloadPluginResolver} to descendant components. */\nexport const PayloadPluginResolverProvider: React.FC<PayloadPluginResolverProviderProps> = ({\n  resolver: resolverProp,\n  required = false,\n  children,\n}) => {\n  const [resolver, setResolver] = useState<PayloadPluginResolver>(resolverProp)\n\n  const value: PayloadPluginResolverState = useMemo(() => ({\n    provided: true, resolver, setResolver,\n  }), [resolver, setResolver])\n\n  return (\n    <PayloadPluginResolverContext\n      value={value}\n    >\n      {resolver\n        ? children\n        : required\n          ? null\n          : children}\n    </PayloadPluginResolverContext>\n  )\n}\n", "import { useContextEx } from '@ariestools/sdk-react/shared'\n\nimport { PayloadPluginResolverContext } from './Context.ts'\n\n/** Returns the payload plugin resolver from context. */\nexport const usePayloadPluginResolver = (required = false) => {\n  return useContextEx(PayloadPluginResolverContext, 'PayloadPluginResolver', required)\n}\n", "import { createContextEx } from '@ariestools/sdk-react/shared'\n\nimport type { PayloadRenderPluginResolverState } from './State.ts'\n\n/** React context holding a {@link PayloadRenderPluginResolver}. */\nexport const PayloadRenderPluginResolverContext = createContextEx<PayloadRenderPluginResolverState>()\n", "import type { ContextExProviderProps } from '@ariestools/sdk-react/shared'\nimport React, { useMemo, useState } from 'react'\n\nimport type { PayloadRenderPluginResolver } from '../../PayloadRenderPluginResolver.ts'\nimport { PayloadRenderPluginResolverContext } from './Context.ts'\nimport type { PayloadRenderPluginResolverState } from './State.ts'\n\n/** Props for {@link PayloadRenderPluginResolverProvider}. */\nexport type PayloadRenderPluginResolverProviderProps = ContextExProviderProps<{\n  resolver: PayloadRenderPluginResolver\n}>\n\n/** Provides a {@link PayloadRenderPluginResolver} to descendant components. */\nexport const PayloadRenderPluginResolverProvider: React.FC<PayloadRenderPluginResolverProviderProps> = ({\n  resolver: resolverProp,\n  required = false,\n  children,\n}) => {\n  const [resolver, setResolver] = useState<PayloadRenderPluginResolver>(resolverProp)\n\n  const value: PayloadRenderPluginResolverState = useMemo(() => ({\n    resolver, provided: true, setResolver,\n  }), [resolver, setResolver])\n\n  return (\n    <PayloadRenderPluginResolverContext\n      value={value}\n    >\n      {resolver\n        ? children\n        : required\n          ? null\n          : children}\n    </PayloadRenderPluginResolverContext>\n  )\n}\n", "import { useContextEx } from '@ariestools/sdk-react/shared'\n\nimport { PayloadRenderPluginResolverContext } from './Context.ts'\n\n/** Returns the payload render plugin resolver from context. */\nexport const usePayloadRenderPluginResolver = (required = false) => {\n  return useContextEx(PayloadRenderPluginResolverContext, 'PayloadRenderPluginResolver', required)\n}\n", "import { createContextEx } from '@ariestools/sdk-react/shared'\n\nimport type { PayloadSetPluginResolverState } from './State.ts'\n\n/** React context holding a {@link PayloadSetPluginResolver}. */\nexport const PayloadSetPluginResolverContext = createContextEx<PayloadSetPluginResolverState>()\n", "import { useResetState } from '@ariestools/sdk-react/hooks'\nimport type { ContextExProviderProps } from '@ariestools/sdk-react/shared'\nimport type { PayloadSetPluginResolver } from '@xyo-network/sdk'\nimport React, { useMemo } from 'react'\n\nimport { PayloadSetPluginResolverContext } from './Context.ts'\n\n/** Props for {@link PayloadSetPluginResolverProvider}. */\nexport type PayloadSetPluginResolverProviderProps = ContextExProviderProps<{\n  resolver: PayloadSetPluginResolver\n}>\n\n/** Provides a {@link PayloadSetPluginResolver} to descendant components. */\nexport const PayloadSetPluginResolverProvider: React.FC<PayloadSetPluginResolverProviderProps> = ({\n  resolver: resolverProp,\n  required = false,\n  children,\n}) => {\n  const [resolver, setResolver] = useResetState<PayloadSetPluginResolver>(resolverProp)\n\n  const value = useMemo(() => ({\n    provided: true as const,\n    resolver,\n    setResolver,\n  }), [resolver, setResolver])\n\n  return (\n    <PayloadSetPluginResolverContext\n      value={value}\n    >\n      {resolver\n        ? children\n        : required\n          ? null\n          : children}\n    </PayloadSetPluginResolverContext>\n  )\n}\n", "import { useContextEx } from '@ariestools/sdk-react/shared'\n\nimport { PayloadSetPluginResolverContext } from './Context.ts'\n\n/** Returns the payload set plugin resolver from context. */\nexport const usePayloadSetPluginResolver = (required = false) => {\n  return useContextEx(PayloadSetPluginResolverContext, 'PayloadSetPluginResolver', required)\n}\n", "import type { Payload } from '@xyo-network/sdk'\n\nimport type { PayloadRenderPlugin } from '#payload-plugin'\n\nimport type { ViewerRegistryDiagnostic, ViewerRegistryEntry } from './ViewerRegistry.ts'\n\n/** Legacy render plugin shape that may include a slug and deprecated details. */\nexport interface LegacyPayloadRenderPlugin extends PayloadRenderPlugin {\n  slug?: string\n}\n\n/** Options for adapting a legacy render plugin into a registry entry. */\nexport interface LegacyPayloadRenderPluginAdapterOptions {\n  aliases?: readonly string[]\n  id?: string\n  includeSlugAlias?: boolean\n  onDiagnostic?: (diagnostic: ViewerRegistryDiagnostic) => void\n}\n\nconst legacyId = (plugin: LegacyPayloadRenderPlugin) => plugin.slug ?? plugin.name\n\n/** Normalizes deprecated `box.details` onto `detailsBox` for a legacy plugin. */\nexport const normalizeLegacyPayloadRenderPlugin = (\n  plugin: LegacyPayloadRenderPlugin,\n  onDiagnostic?: (diagnostic: ViewerRegistryDiagnostic) => void,\n): PayloadRenderPlugin => {\n  const deprecatedDetails = plugin.components.box.details\n  if (!deprecatedDetails) return plugin\n\n  onDiagnostic?.({\n    code: 'deprecated-details-normalized',\n    message: `Normalized deprecated box.details for legacy viewer: ${legacyId(plugin)}`,\n    viewerId: legacyId(plugin),\n  })\n\n  return {\n    ...plugin,\n    components: {\n      ...plugin.components,\n      box: {\n        ...plugin.components.box,\n        detailsBox: deprecatedDetails,\n      },\n    },\n  }\n}\n\n/** Adapts a legacy payload render plugin into a {@link ViewerRegistryEntry}. */\nexport class LegacyPayloadRenderPluginAdapter implements ViewerRegistryEntry<Payload, PayloadRenderPlugin> {\n  readonly aliases: readonly string[]\n  readonly id: string\n  readonly plugin: LegacyPayloadRenderPlugin\n  readonly viewer: PayloadRenderPlugin\n\n  constructor(\n    plugin: LegacyPayloadRenderPlugin,\n    {\n      aliases = [], id = legacyId(plugin), includeSlugAlias = true, onDiagnostic,\n    }: LegacyPayloadRenderPluginAdapterOptions = {},\n  ) {\n    this.plugin = plugin\n    this.id = id\n    const slug = plugin.slug?.trim()\n    this.aliases = includeSlugAlias && slug && slug !== id ? [...aliases, slug] : aliases\n    this.viewer = normalizeLegacyPayloadRenderPlugin(plugin, onDiagnostic)\n  }\n\n  matches(payload: Payload) {\n    return this.plugin.canRender(payload)\n  }\n}\n", "import { assertEx } from '@ariestools/sdk'\nimport type { Payload, Schema } from '@xyo-network/sdk'\n\nimport type { PayloadRenderPlugin } from '#payload-plugin'\n\nimport { type LegacyPayloadRenderPlugin, LegacyPayloadRenderPluginAdapter } from './LegacyPayloadRenderPluginAdapter.ts'\nimport type { ViewerRegistryDiagnostic } from './ViewerRegistry.ts'\nimport { ViewerRegistry } from './ViewerRegistry.ts'\n\n/** Options for constructing a {@link PayloadRenderPluginResolver}. */\nexport interface PayloadRenderPluginResolverOptions {\n  onDiagnostic?: (diagnostic: ViewerRegistryDiagnostic) => void\n}\n\n/** Resolves registered {@link PayloadRenderPlugin} viewers for payloads by schema. */\nexport class PayloadRenderPluginResolver {\n  readonly registry: ViewerRegistry<Payload, PayloadRenderPlugin>\n\n  protected plugins: PayloadRenderPlugin[] = []\n  protected schemaDefaultPlugin = new Map<string, PayloadRenderPlugin>()\n\n  private readonly onDiagnostic?: (diagnostic: ViewerRegistryDiagnostic) => void\n  private readonly schemaDefaultViewerId = new Map<string, string>()\n\n  constructor({ onDiagnostic }: PayloadRenderPluginResolverOptions = {}) {\n    this.onDiagnostic = onDiagnostic\n    this.registry = new ViewerRegistry({ onDiagnostic })\n  }\n\n  list(payload?: Payload) {\n    if (!payload) return this.plugins\n\n    const defaultPlugin = this.schemaDefaultPlugin.get(payload.schema)\n    const result = defaultPlugin ? [defaultPlugin] : []\n    for (const plugin of this.plugins) {\n      if (defaultPlugin !== plugin && plugin.canRender(payload)) result.push(plugin)\n    }\n    return result\n  }\n\n  register(plugin: PayloadRenderPlugin, defaultForSchema?: Schema[]) {\n    this.plugins.push(plugin)\n    if (defaultForSchema) {\n      for (const schema of defaultForSchema) {\n        assertEx(plugin.canRender({ schema }), () => 'Default renderer must be able to render schema')\n        this.schemaDefaultPlugin.set(schema, plugin)\n      }\n    }\n\n    const adapter = this.registerLegacyPlugin(plugin)\n    for (const schema of defaultForSchema ?? []) this.schemaDefaultViewerId.set(schema, adapter.id)\n    return this\n  }\n\n  resolve(payload: Payload) {\n    return this.schemaDefaultPlugin.get(payload.schema) ?? this.plugins.values().find(plugin => plugin.canRender(payload))\n  }\n\n  resolveDetailed(payload: Payload, explicitId?: string) {\n    return this.registry.resolve({\n      allowExplicitMismatch: true,\n      defaultId: this.schemaDefaultViewerId.get(payload.schema),\n      explicitId,\n      payload,\n    })\n  }\n\n  private registerLegacyPlugin(plugin: PayloadRenderPlugin) {\n    const legacyPlugin = plugin as LegacyPayloadRenderPlugin\n    const preferredId = (legacyPlugin.slug ?? plugin.name).trim()\n    const baseId = preferredId || `legacy-viewer-${this.registry.list().length + 1}`\n    let id = baseId\n    let duplicateIndex = 2\n    while (this.registry.get(id)) id = `${baseId}#${duplicateIndex++}`\n\n    const adapter = new LegacyPayloadRenderPluginAdapter(legacyPlugin, {\n      id,\n      includeSlugAlias: id === preferredId,\n      onDiagnostic: this.onDiagnostic,\n    })\n    this.registry.register(adapter)\n    return adapter\n  }\n}\n", "/** Diagnostic codes emitted while registering or resolving viewers. */\nexport type ViewerRegistryDiagnosticCode\n  = | 'default-not-found'\n    | 'deprecated-details-normalized'\n    | 'explicit-not-found'\n    | 'matcher-error'\n\n/** Structured diagnostic event from viewer registration or resolution. */\nexport interface ViewerRegistryDiagnostic {\n  code: ViewerRegistryDiagnosticCode\n  error?: unknown\n  identity?: string\n  message: string\n  viewerId?: string\n}\n\n/** Registered viewer entry with optional aliases and a payload matcher. */\nexport interface ViewerRegistryEntry<TPayload, TViewer> {\n  aliases?: readonly string[]\n  id: string\n  matches: (payload: TPayload) => boolean\n  viewer: TViewer\n}\n\n/** Error codes raised when registering a viewer fails. */\nexport type ViewerRegistryRegistrationErrorCode = 'duplicate-alias' | 'duplicate-id' | 'invalid-identity'\n\n/** Error thrown when a viewer cannot be registered in the registry. */\nexport class ViewerRegistryRegistrationError extends Error {\n  readonly code: ViewerRegistryRegistrationErrorCode\n  readonly identity?: string\n\n  constructor(\n    code: ViewerRegistryRegistrationErrorCode,\n    message: string,\n    identity?: string,\n  ) {\n    super(message)\n    this.code = code\n    this.identity = identity\n    this.name = 'ViewerRegistryRegistrationError'\n  }\n}\n\n/** Result of matching a payload against registered viewers. */\nexport interface ViewerRegistryMatchResult<TPayload, TViewer> {\n  diagnostics: ViewerRegistryDiagnostic[]\n  matches: ViewerRegistryEntry<TPayload, TViewer>[]\n}\n\n/** How a resolved viewer was selected from the registry. */\nexport type ViewerRegistrySelectionSource = 'default' | 'explicit' | 'fallback' | 'none' | 'ordered'\n\n/** Options controlling how {@link ViewerRegistry} resolves a viewer for a payload. */\nexport interface ViewerRegistryResolveOptions<TPayload, TViewer> {\n  allowExplicitMismatch?: boolean\n  defaultId?: string\n  explicitId?: string\n  fallback?: TViewer\n  payload: TPayload\n}\n\n/** Result of resolving a single viewer for a payload, including source and diagnostics. */\nexport interface ViewerRegistryResolveResult<TPayload, TViewer> extends ViewerRegistryMatchResult<TPayload, TViewer> {\n  entry?: ViewerRegistryEntry<TPayload, TViewer>\n  source: ViewerRegistrySelectionSource\n  viewer?: TViewer\n}\n\n/** Construction options for {@link ViewerRegistry}. */\nexport interface ViewerRegistryOptions {\n  onDiagnostic?: (diagnostic: ViewerRegistryDiagnostic) => void\n}\n\n/** Registry that matches payloads to registered viewers by id, alias, or matcher. */\nexport class ViewerRegistry<TPayload, TViewer> {\n  private readonly entries: ViewerRegistryEntry<TPayload, TViewer>[] = []\n  private readonly identities = new Map<string, ViewerRegistryEntry<TPayload, TViewer>>()\n  private readonly onDiagnostic?: (diagnostic: ViewerRegistryDiagnostic) => void\n\n  constructor({ onDiagnostic }: ViewerRegistryOptions = {}) {\n    this.onDiagnostic = onDiagnostic\n  }\n\n  get(identity: string) {\n    return this.identities.get(identity)\n  }\n\n  list() {\n    return [...this.entries]\n  }\n\n  match(payload: TPayload): ViewerRegistryMatchResult<TPayload, TViewer> {\n    const diagnostics: ViewerRegistryDiagnostic[] = []\n    const matches: ViewerRegistryEntry<TPayload, TViewer>[] = []\n    for (const entry of this.entries) {\n      try {\n        if (entry.matches(payload)) matches.push(entry)\n      } catch (error) {\n        const diagnostic: ViewerRegistryDiagnostic = {\n          code: 'matcher-error',\n          error,\n          message: `Viewer matcher failed: ${entry.id}`,\n          viewerId: entry.id,\n        }\n        diagnostics.push(diagnostic)\n        this.onDiagnostic?.(diagnostic)\n      }\n    }\n    return { diagnostics, matches }\n  }\n\n  register(entry: ViewerRegistryEntry<TPayload, TViewer>) {\n    const id = entry.id.trim()\n    if (!id) throw new ViewerRegistryRegistrationError('invalid-identity', 'Viewer id must not be empty', entry.id)\n    if (this.identities.has(id)) {\n      throw new ViewerRegistryRegistrationError('duplicate-id', `Viewer id is already registered: ${id}`, id)\n    }\n\n    const aliases = new Set<string>()\n    for (const value of entry.aliases ?? []) {\n      const alias = value.trim()\n      if (!alias) throw new ViewerRegistryRegistrationError('invalid-identity', 'Viewer alias must not be empty', value)\n      if (alias === id || aliases.has(alias) || this.identities.has(alias)) {\n        throw new ViewerRegistryRegistrationError('duplicate-alias', `Viewer alias is already registered: ${alias}`, alias)\n      }\n      aliases.add(alias)\n    }\n\n    const registered: ViewerRegistryEntry<TPayload, TViewer> = {\n      aliases: [...aliases],\n      id,\n      matches: payload => entry.matches(payload),\n      viewer: entry.viewer,\n    }\n    this.entries.push(registered)\n    this.identities.set(id, registered)\n    for (const alias of aliases) this.identities.set(alias, registered)\n    return this\n  }\n\n  resolve({\n    allowExplicitMismatch = false,\n    defaultId,\n    explicitId,\n    fallback,\n    payload,\n  }: ViewerRegistryResolveOptions<TPayload, TViewer>): ViewerRegistryResolveResult<TPayload, TViewer> {\n    const result = this.match(payload)\n    const matchedEntries = new Set(result.matches)\n\n    if (explicitId) {\n      const explicit = this.get(explicitId)\n      if (explicit && (allowExplicitMismatch || matchedEntries.has(explicit))) {\n        return {\n          ...result, entry: explicit, source: 'explicit', viewer: explicit.viewer,\n        }\n      }\n      if (!explicit) this.reportMissing(result.diagnostics, 'explicit-not-found', explicitId)\n    }\n\n    if (defaultId) {\n      const defaultEntry = this.get(defaultId)\n      if (defaultEntry && matchedEntries.has(defaultEntry)) {\n        return {\n          ...result, entry: defaultEntry, source: 'default', viewer: defaultEntry.viewer,\n        }\n      }\n      if (!defaultEntry) this.reportMissing(result.diagnostics, 'default-not-found', defaultId)\n    }\n\n    const entry = result.matches[0]\n    if (entry) return {\n      ...result, entry, source: 'ordered', viewer: entry.viewer,\n    }\n    if (fallback) return {\n      ...result, source: 'fallback', viewer: fallback,\n    }\n    return { ...result, source: 'none' }\n  }\n\n  private reportMissing(\n    diagnostics: ViewerRegistryDiagnostic[],\n    code: 'default-not-found' | 'explicit-not-found',\n    identity: string,\n  ) {\n    const diagnostic: ViewerRegistryDiagnostic = {\n      code,\n      identity,\n      message: `Viewer identity is not registered: ${identity}`,\n    }\n    diagnostics.push(diagnostic)\n    this.onDiagnostic?.(diagnostic)\n  }\n}\n"],
  "mappings": "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",
  "names": ["createContextEx", "useMemo", "useState", "jsx", "useState", "useMemo", "useContextEx", "useContextEx", "createContextEx", "useMemo", "jsx", "useMemo", "useContextEx", "useContextEx"]
}
