MCPcopy Create free account
hub / github.com/effect-app/libs / activeReplyRequestIds

Function activeReplyRequestIds

packages/infra/src/ClusterCosmos.ts:765–779  ·  view source on GitHub ↗
(
  docs: ReadonlyArray<MessageDoc>,
  queryReplies: (
    query: string,
    parameters: ReadonlyArray<CosmosParameter>
  ) => Effect.Effect<Array<ReplyDoc>, E>
)

Source from the content-addressed store, hash-verified

763 })
764
765const activeReplyRequestIds = <E>(
766 docs: ReadonlyArray<MessageDoc>,
767 queryReplies: (
768 query: string,
769 parameters: ReadonlyArray<CosmosParameter>
770 ) => Effect.Effect<Array<ReplyDoc>, E>
771) => {
772 const requestIds = Array.from(new Set(docs.map((doc) => doc.requestId)))
773 if (!Arr.isArrayNonEmpty(requestIds)) return Effect.succeed(new Set<string>())
774 return queryReplies(
775 "SELECT * FROM c WHERE c.type = 'reply' AND ARRAY_CONTAINS(@requestIds, c.requestId) AND (c.kind = 'WithExit' OR (c.kind = 'Chunk' AND c.acked = false))",
776 [{ name: "@requestIds", value: requestIds }]
777 )
778 .pipe(Effect.map((replies) => new Set(replies.map((reply) => reply.requestId))))
779}
780
781const lastRepliesById = <E>(
782 docs: ReadonlyArray<MessageDoc>,

Callers 2

collectUnprocessedFunction · 0.85
collectUnprocessedByIdFunction · 0.85

Calls 4

queryRepliesFunction · 0.85
mapMethod · 0.65
pipeMethod · 0.65
succeedMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…