Hyperlinkv0.9.0-beta.0
interface PriorityTagConfig<F extends Schema.Struct.Fields, Success extends Schema.Top = Schema.Void>

WorkPool.priority tag config — config object only (no positional schemas). payload is the item schema; laneCount is the number of priority lanes; namedLanes maps names → lane indices. Optional success / error wire slots match WorkPool.Tag (stamped for engine + store).

@categorymodels@public
PriorityTagConfig<F, Success> & { readonly node: NodeKey<HSelf> }, ): NodeBoundTag<Self, PriorityInstanceSpec<F>, HSelf>; function build< F extends Schema.Struct.Fields, Success extends Schema.Top = typeof Schema.Void, >( key: string, config: PriorityTagConfig<F, Success>, ): HyperlinkTag<Self, PriorityInstanceSpec<F>>; function build<F extends Schema.Struct.Fields, Success extends Schema.Top>( key: string, config: PriorityTagConfig<F, Success>, ): HyperlinkTag<Self, PriorityInstanceSpec<F>> { const laneConfig: PriorityTagLaneConfig = { laneCount: config.laneCount, namedLanes: config.namedLanes ?? {}, }; const wire = { success: config.success, error: config.error }; const spec = assertPriorityInstanceSpec<F>( prioritySpec(config.payload, laneConfig, wire), prioritySpec(config.payload, laneConfig), wire, ); const base = config.node === undefined ? Hyperlink.Tag<Self>()(key, spec, { description: config.description, kind: priorityKind }) : Hyperlink.Tag<Self>()(key, spec, { description: config.description, kind: priorityKind, node: config.node, }); const ready = Hyperlink.withReadiness(base, (svc) => Effect.map(svc.status.get, (status) => ({ ready: status.phase === "running", ...(status.phase === "running" ? {} : { detail: `phase: ${status.phase}` }), })), ); return stampQueueWireSchemas(ready, { success: config.success, error: config.error, }); } return build; };