Hyperlinkv0.8.0-beta.28

CustomQueueHyperlink

CustomQueueHyperlink.customQueueSpecconstsrc/CustomQueueHyperlink.ts:218
<F extends Schema.Struct.Fields>(
  itemSchema: Schema.Struct<F>,
  levelConfig: CustomQueueLevelConfig,
  wire?: { readonly success?: Schema.Top; readonly error?: Schema.Top }
): {
  add: Hyperlink.Method<
    Schema.Tuple<
      readonly [
        Schema.Union<
          readonly [Schema.Struct<F>, Schema.$Array<Schema.Struct<F>>]
        >,
        Schema.optional<Schema.Schema<string | number>>
      ]
    >,
    Schema.Void,
    Schema.Never,
    false,
    Hyperlink.MethodAnnotations & { readonly callStyle: "pair" } & {
      description: string
    },
    Hyperlink.Derive
  >
  enqueue: Hyperlink.Method<
    Schema.$Array<
      Schema.Struct<{
        readonly item: Schema.Struct<F>
        readonly entryId: Schema.String
        readonly key: Schema.optional<Schema.String>
        readonly priority: Schema.Literals<
          readonly ["high", "normal", "low"]
        >
        readonly level: Schema.optional<Schema.Number>
        readonly attempts: Schema.Number
        readonly timestamps: Schema.Struct<{
          readonly enqueuedAt: Schema.DateTimeUtc
          readonly startedAt: Schema.optionalKey<Schema.DateTimeUtc>
          readonly completedAt: Schema.optionalKey<Schema.DateTimeUtc>
          readonly interruptedAt: Schema.optionalKey<Schema.DateTimeUtc>
        }>
        readonly batchId: Schema.optional<Schema.String>
        readonly releaseId: Schema.optional<Schema.String>
        readonly sourceHyperlinkId: Schema.optional<Schema.String>
        readonly attributes: Schema.optional<
          Schema.$Record<Schema.String, Schema.Unknown>
        >
      }>
    >,
    Schema.Void,
    Schema.Never,
    false,
    Hyperlink.MethodAnnotations & { description: string },
    Hyperlink.Derive
  >
  release: Hyperlink.Method<
    {
      readonly options: Schema.optionalKey<
        Schema.Struct<{
          readonly scope: Schema.optionalKey<
            Schema.Literal<"pendingOnly">
          >
          readonly releaseId: Schema.optionalKey<Schema.String>
          readonly attributes: Schema.optionalKey<
            Schema.$Record<
              Schema.String,
              Schema.Codec<JsonValue, JsonValue, never, never>
            >
          >
        }>
      >
    },
    Schema.$Array<
      Schema.Struct<{
        readonly item: Schema.Struct<F>
        readonly entryId: Schema.String
        readonly key: Schema.optional<Schema.String>
        readonly priority: Schema.Literals<
          readonly ["high", "normal", "low"]
        >
        readonly level: Schema.optional<Schema.Number>
        readonly attempts: Schema.Number
        readonly timestamps: Schema.Struct<{
          readonly enqueuedAt: Schema.DateTimeUtc
          readonly startedAt: Schema.optionalKey<Schema.DateTimeUtc>
          readonly completedAt: Schema.optionalKey<Schema.DateTimeUtc>
          readonly interruptedAt: Schema.optionalKey<Schema.DateTimeUtc>
        }>
        readonly batchId: Schema.optional<Schema.String>
        readonly releaseId: Schema.optional<Schema.String>
        readonly sourceHyperlinkId: Schema.optional<Schema.String>
        readonly attributes: Schema.optional<
          Schema.$Record<Schema.String, Schema.Unknown>
        >
      }>
    >,
    Schema.Never,
    false,
    Hyperlink.MethodAnnotations & {
      description: string
      destructive: true
    },
    Hyperlink.Derive
  >
  releaseEncoded: Hyperlink.Method<
    {
      readonly options: Schema.optionalKey<
        Schema.Struct<{
          readonly scope: Schema.optionalKey<
            Schema.Literal<"pendingOnly">
          >
          readonly releaseId: Schema.optionalKey<Schema.String>
          readonly attributes: Schema.optionalKey<
            Schema.$Record<
              Schema.String,
              Schema.Codec<JsonValue, JsonValue, never, never>
            >
          >
        }>
      >
    },
    Schema.$Array<
      Schema.Struct<{
        readonly payload: Schema.Codec<JsonValue, JsonValue, never, never>
        readonly item: Schema.Struct<{
          readonly id: Schema.String
          readonly version: Schema.String
          readonly encoding: Schema.Literal<"json">
          readonly jsonSchema: Schema.Unknown
        }>
        readonly entryId: Schema.String
        readonly key: Schema.optional<Schema.String>
        readonly priority: Schema.Literals<
          readonly ["high", "normal", "low"]
        >
        readonly attempts: Schema.Number
        readonly timestamps: Schema.Struct<{
          readonly enqueuedAt: Schema.DateTimeUtc
          readonly startedAt: Schema.optionalKey<Schema.DateTimeUtc>
          readonly completedAt: Schema.optionalKey<Schema.DateTimeUtc>
          readonly interruptedAt: Schema.optionalKey<Schema.DateTimeUtc>
        }>
        readonly batchId: Schema.optional<Schema.String>
        readonly releaseId: Schema.optional<Schema.String>
        readonly sourceHyperlinkId: Schema.optional<Schema.String>
        readonly attributes: Schema.optional<
          Schema.$Record<Schema.String, Schema.Unknown>
        >
      }>
    >,
    Schema.Union<
      readonly [
        typeof QueueMissingItemSchemaError,
        typeof QueueItemEncodingError
      ]
    >,
    false,
    Hyperlink.MethodAnnotations & {
      description: string
      destructive: true
    },
    Hyperlink.Derive
  >
  deadLetter: Hyperlink.Method<
    {
      readonly selector: Schema.Struct<{
        readonly entryId: Schema.optionalKey<Schema.String>
        readonly key: Schema.optional<Schema.String>
        readonly item: Schema.optionalKey<Schema.Struct<F>>
      }>
      readonly options: Schema.Struct<{
        readonly reason: Schema.String
        readonly attributes: Schema.optionalKey<
          Schema.$Record<
            Schema.String,
            Schema.Codec<JsonValue, JsonValue, never, never>
          >
        >
      }>
    },
    Schema.$Array<
      Schema.Struct<{
        readonly item: Schema.Struct<F>
        readonly entryId: Schema.String
        readonly key: Schema.optional<Schema.String>
        readonly priority: Schema.Literals<
          readonly ["high", "normal", "low"]
        >
        readonly level: Schema.optional<Schema.Number>
        readonly attempts: Schema.Number
        readonly timestamps: Schema.Struct<{
          readonly enqueuedAt: Schema.DateTimeUtc
          readonly startedAt: Schema.optionalKey<Schema.DateTimeUtc>
          readonly completedAt: Schema.optionalKey<Schema.DateTimeUtc>
          readonly interruptedAt: Schema.optionalKey<Schema.DateTimeUtc>
        }>
        readonly batchId: Schema.optional<Schema.String>
        readonly releaseId: Schema.optional<Schema.String>
        readonly sourceHyperlinkId: Schema.optional<Schema.String>
        readonly attributes: Schema.optional<
          Schema.$Record<Schema.String, Schema.Unknown>
        >
      }>
    >,
    Schema.Never,
    false,
    Hyperlink.MethodAnnotations & {
      description: string
      destructive: true
    },
    Hyperlink.Derive
  >
  drop: Hyperlink.Method<
    {
      readonly selector: Schema.Struct<{
        readonly entryId: Schema.optionalKey<Schema.String>
        readonly key: Schema.optional<Schema.String>
        readonly item: Schema.optionalKey<Schema.Struct<F>>
      }>
      readonly options: Schema.Struct<{
        readonly reason: Schema.String
        readonly attributes: Schema.optionalKey<
          Schema.$Record<
            Schema.String,
            Schema.Codec<JsonValue, JsonValue, never, never>
          >
        >
      }>
    },
    Schema.$Array<
      Schema.Struct<{
        readonly item: Schema.Struct<F>
        readonly entryId: Schema.String
        readonly key: Schema.optional<Schema.String>
        readonly priority: Schema.Literals<
          readonly ["high", "normal", "low"]
        >
        readonly level: Schema.optional<Schema.Number>
        readonly attempts: Schema.Number
        readonly timestamps: Schema.Struct<{
          readonly enqueuedAt: Schema.DateTimeUtc
          readonly startedAt: Schema.optionalKey<Schema.DateTimeUtc>
          readonly completedAt: Schema.optionalKey<Schema.DateTimeUtc>
          readonly interruptedAt: Schema.optionalKey<Schema.DateTimeUtc>
        }>
        readonly batchId: Schema.optional<Schema.String>
        readonly releaseId: Schema.optional<Schema.String>
        readonly sourceHyperlinkId: Schema.optional<Schema.String>
        readonly attributes: Schema.optional<
          Schema.$Record<Schema.String, Schema.Unknown>
        >
      }>
    >,
    Schema.Never,
    false,
    Hyperlink.MethodAnnotations & {
      description: string
      destructive: true
    },
    Hyperlink.Derive
  >
  events: Hyperlink.Method<
    undefined,
    Schema.Union<
      readonly [
        Schema.TaggedStruct<"Start", { readonly key: Schema.String }>,
        Schema.TaggedStruct<
          "Enqueued",
          {
            readonly entries: Schema.$Array<
              Schema.Struct<{
                readonly item: Schema.Struct<F>
                readonly entryId: Schema.String
                readonly key: Schema.optional<Schema.String>
                readonly priority: Schema.Literals<
                  readonly ["high", "normal", "low"]
                >
                readonly attempts: Schema.Number
                readonly timestamps: Schema.Struct<{
                  readonly enqueuedAt: Schema.DateTimeUtc
                  readonly startedAt: Schema.optionalKey<Schema.DateTimeUtc>
                  readonly completedAt: Schema.optionalKey<Schema.DateTimeUtc>
                  readonly interruptedAt: Schema.optionalKey<Schema.DateTimeUtc>
                }>
                readonly batchId: Schema.optional<Schema.String>
                readonly releaseId: Schema.optional<Schema.String>
                readonly sourceHyperlinkId: Schema.optional<Schema.String>
                readonly attributes: Schema.optional<
                  Schema.$Record<Schema.String, Schema.Unknown>
                >
              }>
            >
            readonly priority: Schema.Literals<
              readonly ["high", "normal", "low"]
            >
            readonly batchId: Schema.optionalKey<Schema.String>
          }
        >,
        Schema.TaggedStruct<
          "Started",
          {
            readonly entry: Schema.Struct<{
              readonly item: Schema.Struct<F>
              readonly entryId: Schema.String
              readonly key: Schema.optional<Schema.String>
              readonly priority: Schema.Literals<
                readonly ["high", "normal", "low"]
              >
              readonly attempts: Schema.Number
              readonly timestamps: Schema.Struct<{
                readonly enqueuedAt: Schema.DateTimeUtc
                readonly startedAt: Schema.optionalKey<Schema.DateTimeUtc>
                readonly completedAt: Schema.optionalKey<Schema.DateTimeUtc>
                readonly interruptedAt: Schema.optionalKey<Schema.DateTimeUtc>
              }>
              readonly batchId: Schema.optional<Schema.String>
              readonly releaseId: Schema.optional<Schema.String>
              readonly sourceHyperlinkId: Schema.optional<Schema.String>
              readonly attributes: Schema.optional<
                Schema.$Record<Schema.String, Schema.Unknown>
              >
            }>
          }
        >,
        Schema.TaggedStruct<
          "Completed",
          {
            readonly entry: Schema.Struct<{
              readonly item: Schema.Struct<F>
              readonly entryId: Schema.String
              readonly key: Schema.optional<Schema.String>
              readonly priority: Schema.Literals<
                readonly ["high", "normal", "low"]
              >
              readonly attempts: Schema.Number
              readonly timestamps: Schema.Struct<{
                readonly enqueuedAt: Schema.DateTimeUtc
                readonly startedAt: Schema.optionalKey<Schema.DateTimeUtc>
                readonly completedAt: Schema.optionalKey<Schema.DateTimeUtc>
                readonly interruptedAt: Schema.optionalKey<Schema.DateTimeUtc>
              }>
              readonly batchId: Schema.optional<Schema.String>
              readonly releaseId: Schema.optional<Schema.String>
              readonly sourceHyperlinkId: Schema.optional<Schema.String>
              readonly attributes: Schema.optional<
                Schema.$Record<Schema.String, Schema.Unknown>
              >
            }>
            readonly success: Schema.Union<
              readonly [Schema.Top | Schema.Void]
            >
            readonly elapsed: Schema.Duration
          }
        >,
        Schema.TaggedStruct<
          "Failed",
          {
            readonly entry: Schema.Struct<{
              readonly item: Schema.Struct<F>
              readonly entryId: Schema.String
              readonly key: Schema.optional<Schema.String>
              readonly priority: Schema.Literals<
                readonly ["high", "normal", "low"]
              >
              readonly attempts: Schema.Number
              readonly timestamps: Schema.Struct<{
                readonly enqueuedAt: Schema.DateTimeUtc
                readonly startedAt: Schema.optionalKey<Schema.DateTimeUtc>
                readonly completedAt: Schema.optionalKey<Schema.DateTimeUtc>
                readonly interruptedAt: Schema.optionalKey<Schema.DateTimeUtc>
              }>
              readonly batchId: Schema.optional<Schema.String>
              readonly releaseId: Schema.optional<Schema.String>
              readonly sourceHyperlinkId: Schema.optional<Schema.String>
              readonly attributes: Schema.optional<
                Schema.$Record<Schema.String, Schema.Unknown>
              >
            }>
            readonly cause: Schema.Cause<
              Schema.Top | Schema.Unknown,
              Schema.Unknown
            >
            readonly elapsed: Schema.Duration
          }
        >,
        Schema.TaggedStruct<
          "RetryScheduled",
          {
            readonly entry: Schema.Struct<{
              readonly item: Schema.Struct<F>
              readonly entryId: Schema.String
              readonly key: Schema.optional<Schema.String>
              readonly priority: Schema.Literals<
                readonly ["high", "normal", "low"]
              >
              readonly attempts: Schema.Number
              readonly timestamps: Schema.Struct<{
                readonly enqueuedAt: Schema.DateTimeUtc
                readonly startedAt: Schema.optionalKey<Schema.DateTimeUtc>
                readonly completedAt: Schema.optionalKey<Schema.DateTimeUtc>
                readonly interruptedAt: Schema.optionalKey<Schema.DateTimeUtc>
              }>
              readonly batchId: Schema.optional<Schema.String>
              readonly releaseId: Schema.optional<Schema.String>
              readonly sourceHyperlinkId: Schema.optional<Schema.String>
              readonly attributes: Schema.optional<
                Schema.$Record<Schema.String, Schema.Unknown>
              >
            }>
            readonly cause: Schema.Cause<
              Schema.Top | Schema.Unknown,
              Schema.Unknown
            >
            readonly nextAttempt: Schema.Number
          }
        >,
        Schema.TaggedStruct<
          "RetryExhausted",
          {
            readonly entry: Schema.Struct<{
              readonly item: Schema.Struct<F>
              readonly entryId: Schema.String
              readonly key: Schema.optional<Schema.String>
              readonly priority: Schema.Literals<
                readonly ["high", "normal", "low"]
              >
              readonly attempts: Schema.Number
              readonly timestamps: Schema.Struct<{
                readonly enqueuedAt: Schema.DateTimeUtc
                readonly startedAt: Schema.optionalKey<Schema.DateTimeUtc>
                readonly completedAt: Schema.optionalKey<Schema.DateTimeUtc>
                readonly interruptedAt: Schema.optionalKey<Schema.DateTimeUtc>
              }>
              readonly batchId: Schema.optional<Schema.String>
              readonly releaseId: Schema.optional<Schema.String>
              readonly sourceHyperlinkId: Schema.optional<Schema.String>
              readonly attributes: Schema.optional<
                Schema.$Record<Schema.String, Schema.Unknown>
              >
            }>
            readonly cause: Schema.Cause<
              Schema.Top | Schema.Unknown,
              Schema.Unknown
            >
          }
        >,
        Schema.TaggedStruct<
          "Drained",
          {
            readonly key: Schema.String
            readonly completed: Schema.Number
          }
        >,
        Schema.TaggedStruct<
          "Cleared",
          { readonly key: Schema.String; readonly count: Schema.Number }
        >,
        Schema.TaggedStruct<
          "ShutdownRequested",
          {
            readonly key: Schema.String
            readonly mode: Schema.Literals<
              readonly ["drain", "finishActive"]
            >
            readonly pending: Schema.Number
          }
        >,
        Schema.TaggedStruct<
          "ShutdownComplete",
          {
            readonly key: Schema.String
            readonly completed: Schema.Number
          }
        >,
        Schema.TaggedStruct<
          "Released",
          {
            readonly key: Schema.String
            readonly releaseId: Schema.String
            readonly entries: Schema.$Array<
              Schema.Struct<{
                readonly item: Schema.Struct<F>
                readonly entryId: Schema.String
                readonly key: Schema.optional<Schema.String>
                readonly priority: Schema.Literals<
                  readonly ["high", "normal", "low"]
                >
                readonly attempts: Schema.Number
                readonly timestamps: Schema.Struct<{
                  readonly enqueuedAt: Schema.DateTimeUtc
                  readonly startedAt: Schema.optionalKey<Schema.DateTimeUtc>
                  readonly completedAt: Schema.optionalKey<Schema.DateTimeUtc>
                  readonly interruptedAt: Schema.optionalKey<Schema.DateTimeUtc>
                }>
                readonly batchId: Schema.optional<Schema.String>
                readonly releaseId: Schema.optional<Schema.String>
                readonly sourceHyperlinkId: Schema.optional<Schema.String>
                readonly attributes: Schema.optional<
                  Schema.$Record<Schema.String, Schema.Unknown>
                >
              }>
            >
          }
        >,
        Schema.TaggedStruct<
          "DeadLettered",
          {
            readonly key: Schema.String
            readonly entries: Schema.$Array<
              Schema.Struct<{
                readonly item: Schema.Struct<F>
                readonly entryId: Schema.String
                readonly key: Schema.optional<Schema.String>
                readonly priority: Schema.Literals<
                  readonly ["high", "normal", "low"]
                >
                readonly attempts: Schema.Number
                readonly timestamps: Schema.Struct<{
                  readonly enqueuedAt: Schema.DateTimeUtc
                  readonly startedAt: Schema.optionalKey<Schema.DateTimeUtc>
                  readonly completedAt: Schema.optionalKey<Schema.DateTimeUtc>
                  readonly interruptedAt: Schema.optionalKey<Schema.DateTimeUtc>
                }>
                readonly batchId: Schema.optional<Schema.String>
                readonly releaseId: Schema.optional<Schema.String>
                readonly sourceHyperlinkId: Schema.optional<Schema.String>
                readonly attributes: Schema.optional<
                  Schema.$Record<Schema.String, Schema.Unknown>
                >
              }>
            >
            readonly reason: Schema.String
          }
        >,
        Schema.TaggedStruct<
          "Dropped",
          {
            readonly key: Schema.String
            readonly entries: Schema.$Array<
              Schema.Struct<{
                readonly item: Schema.Struct<F>
                readonly entryId: Schema.String
                readonly key: Schema.optional<Schema.String>
                readonly priority: Schema.Literals<
                  readonly ["high", "normal", "low"]
                >
                readonly attempts: Schema.Number
                readonly timestamps: Schema.Struct<{
                  readonly enqueuedAt: Schema.DateTimeUtc
                  readonly startedAt: Schema.optionalKey<Schema.DateTimeUtc>
                  readonly completedAt: Schema.optionalKey<Schema.DateTimeUtc>
                  readonly interruptedAt: Schema.optionalKey<Schema.DateTimeUtc>
                }>
                readonly batchId: Schema.optional<Schema.String>
                readonly releaseId: Schema.optional<Schema.String>
                readonly sourceHyperlinkId: Schema.optional<Schema.String>
                readonly attributes: Schema.optional<
                  Schema.$Record<Schema.String, Schema.Unknown>
                >
              }>
            >
            readonly reason: Schema.String
          }
        >,
        Schema.TaggedStruct<
          "RateLimitExceeded",
          {
            readonly key: Schema.String
            readonly entry: Schema.Struct<{
              readonly item: Schema.Struct<F>
              readonly entryId: Schema.String
              readonly key: Schema.optional<Schema.String>
              readonly priority: Schema.Literals<
                readonly ["high", "normal", "low"]
              >
              readonly attempts: Schema.Number
              readonly timestamps: Schema.Struct<{
                readonly enqueuedAt: Schema.DateTimeUtc
                readonly startedAt: Schema.optionalKey<Schema.DateTimeUtc>
                readonly completedAt: Schema.optionalKey<Schema.DateTimeUtc>
                readonly interruptedAt: Schema.optionalKey<Schema.DateTimeUtc>
              }>
              readonly batchId: Schema.optional<Schema.String>
              readonly releaseId: Schema.optional<Schema.String>
              readonly sourceHyperlinkId: Schema.optional<Schema.String>
              readonly attributes: Schema.optional<
                Schema.$Record<Schema.String, Schema.Unknown>
              >
            }>
            readonly limitKey: Schema.String
            readonly algorithm: Schema.Literals<
              readonly ["fixed-window", "token-bucket"]
            >
            readonly outcome: Schema.Literals<
              readonly ["delayed", "rejected"]
            >
          }
        >
      ]
    >,
    Schema.Never,
    true,
    Hyperlink.MethodAnnotations & { description: string },
    Hyperlink.Derive
  >
  status: Hyperlink.Marked<
    Hyperlink.Method<
      undefined,
      Schema.Struct<{
        readonly sizes: Schema.$Record<Schema.String, Schema.Number>
        readonly paused: Schema.Boolean
        readonly inFlight: Schema.Number
        readonly completed: Schema.Number
        readonly phase: Schema.Literals<
          readonly ["running", "draining", "off"]
        >
      }>,
      Schema.Never,
      true,
      Hyperlink.MethodAnnotations & { description: string },
      Hyperlink.Derive
    >,
    { readonly _tag: "ref" }
  >
  size: Hyperlink.Marked<
    Hyperlink.Method<
      undefined,
      Schema.Number,
      Schema.Never,
      true,
      Hyperlink.MethodAnnotations & { description: string },
      Hyperlink.Derive
    >,
    { readonly _tag: "ref" }
  >
  isEmpty: Hyperlink.Marked<
    Hyperlink.Method<
      undefined,
      Schema.Boolean,
      Schema.Never,
      true,
      Hyperlink.MethodAnnotations & { description: string },
      Hyperlink.Derive
    >,
    { readonly _tag: "ref" }
  >
  levelSizes: Hyperlink.Method<
    undefined,
    Schema.$Array<Schema.Number>,
    Schema.Never,
    false,
    Hyperlink.MethodAnnotations & { description: string },
    Hyperlink.Derive
  >
  start: Hyperlink.Method<
    undefined,
    Schema.Void,
    Schema.Never,
    false,
    Hyperlink.MethodAnnotations & { description: string },
    Hyperlink.Derive
  >
  pause: Hyperlink.Method<
    undefined,
    Schema.Void,
    Schema.Never,
    false,
    Hyperlink.MethodAnnotations & { description: string },
    Hyperlink.Derive
  >
  resume: Hyperlink.Method<
    undefined,
    Schema.Void,
    Schema.Never,
    false,
    Hyperlink.MethodAnnotations & { description: string },
    Hyperlink.Derive
  >
  shutdown: Hyperlink.Method<
    undefined,
    Schema.Void,
    Schema.Never,
    false,
    Hyperlink.MethodAnnotations & {
      description: string
      destructive: true
    },
    Hyperlink.Derive
  >
  clear: Hyperlink.Method<
    undefined,
    Schema.Number,
    Schema.Never,
    false,
    Hyperlink.MethodAnnotations & {
      description: string
      destructive: true
    },
    Hyperlink.Derive
  >
  metrics: {
    stream: Hyperlink.Method<
      undefined,
      Schema.Struct<{
        readonly windowStart: Schema.DateTimeUtc
        readonly windowEnd: Schema.DateTimeUtc
        readonly windowMillis: Schema.Number
        readonly enqueued: Schema.Number
        readonly started: Schema.Number
        readonly completed: Schema.Number
        readonly failed: Schema.Number
        readonly retried: Schema.Number
        readonly deadLettered: Schema.Number
        readonly dropped: Schema.Number
        readonly rateLimitExceeded: Schema.Number
        readonly inFlight: Schema.Number
        readonly throughputPerSec: Schema.Number
        readonly avgWaitMillis: Schema.Struct<{
          readonly high: Schema.optionalKey<Schema.Number>
          readonly normal: Schema.optionalKey<Schema.Number>
          readonly low: Schema.optionalKey<Schema.Number>
        }>
        readonly avgExecutionMillis: Schema.optionalKey<Schema.Number>
        readonly avgTotalMillis: Schema.optionalKey<Schema.Number>
      }>,
      Schema.Never,
      true,
      Hyperlink.MethodAnnotations & { description: string },
      Hyperlink.Derive
    >
    query: Hyperlink.Method<
      {
        limit: Schema.optionalKey<Schema.Number>
        since: Schema.optionalKey<Schema.DateTimeUtc>
        until: Schema.optionalKey<Schema.DateTimeUtc>
      },
      Schema.$Array<
        Schema.Struct<{
          readonly windowStart: Schema.DateTimeUtc
          readonly windowEnd: Schema.DateTimeUtc
          readonly windowMillis: Schema.Number
          readonly enqueued: Schema.Number
          readonly started: Schema.Number
          readonly completed: Schema.Number
          readonly failed: Schema.Number
          readonly retried: Schema.Number
          readonly deadLettered: Schema.Number
          readonly dropped: Schema.Number
          readonly rateLimitExceeded: Schema.Number
          readonly inFlight: Schema.Number
          readonly throughputPerSec: Schema.Number
          readonly avgWaitMillis: Schema.Struct<{
            readonly high: Schema.optionalKey<Schema.Number>
            readonly normal: Schema.optionalKey<Schema.Number>
            readonly low: Schema.optionalKey<Schema.Number>
          }>
          readonly avgExecutionMillis: Schema.optionalKey<Schema.Number>
          readonly avgTotalMillis: Schema.optionalKey<Schema.Number>
        }>
      >,
      Schema.Never,
      false,
      Hyperlink.MethodAnnotations & { description: string },
      Hyperlink.Derive
    >
  }
}

Build a custom-queue instance spec: shared customQueueControlSpec plus per-instance data-plane procedures typed by itemSchema.

export const customQueueSpec = <F extends Schema.Struct.Fields>(
  itemSchema: Schema.Struct<F>,
  levelConfig: CustomQueueLevelConfig,
  wire?: { readonly success?: Schema.Top; readonly error?: Schema.Top },
) => {
  const itemOrItems = Schema.Union([itemSchema, Schema.Array(itemSchema)]);
  const level = customQueueLevel(levelConfig.namedLevels);
  const entry = customQueueEntry(itemSchema);
  const eventSchema = buildQueueEvent(
    itemSchema,
    wire?.success ?? Schema.Void,
    wire?.error ?? Schema.Unknown,
  );
  return {
    ...customQueueControlSpec,
    add: Hyperlink.mutatePair(Schema.Void, itemOrItems, Schema.optional(level)).annotate({
      description:
        "Enqueue an item (or batch) at an optional lane — numeric index or configured name.",
    }),
    enqueue: Hyperlink.effectFn(Schema.Array(entry)).annotate({
      description:
        "Re-inject existing entries — each re-enters at its own level with attempts preserved.",
    }),
    release: Hyperlink.effectFn(
      { options: Schema.optionalKey(queueReleaseOptions) },
      Schema.Array(entry),
    ).annotate({
      description:
        "Export pending entries for handoff and remove them from this queue.",
      destructive: true,
    }),
    releaseEncoded: Hyperlink.effectFn(
      { options: Schema.optionalKey(queueReleaseOptions) },
      Schema.Array(queueEncodedEntry),
      queueReleaseEncodingError,
    ).annotate({
      description: "Export pending entries in encoded/wire form for remote handoff.",
      destructive: true,
    }),
    deadLetter: Hyperlink.effectFn(
      {
        selector: customQueueEntrySelector(itemSchema),
        options: queueRouteOptions,
      },
      Schema.Array(entry),
    ).annotate({
      description: "Remove pending entries matching the selector and route to dead letter.",
      destructive: true,
    }),
    drop: Hyperlink.effectFn(
      {
        selector: customQueueEntrySelector(itemSchema),
        options: queueRouteOptions,
      },
      Schema.Array(entry),
    ).annotate({
      description: "Remove pending entries matching the selector without preserving them.",
      destructive: true,
    }),
    events: Hyperlink.stream(eventSchema).annotate({
      description: "Discrete entry / worker / queue lifecycle events.",
    }),
  };
};
Referenced by 2 symbols