49 lines · 1.8 KB · TypeScript
RawDownload
import { CheckpointRef, IsoDateTime, NonNegativeInt, ThreadId, TurnId } from "@t3tools/contracts";import { Schema, ServiceMap } from "effect";import type { Effect, Stream } from "effect"; export const CheckpointBaselineCapturedReceipt = Schema.Struct({  type: Schema.Literal("checkpoint.baseline.captured"),  threadId: ThreadId,  checkpointTurnCount: NonNegativeInt,  checkpointRef: CheckpointRef,  createdAt: IsoDateTime,});export type CheckpointBaselineCapturedReceipt = typeof CheckpointBaselineCapturedReceipt.Type; export const CheckpointDiffFinalizedReceipt = Schema.Struct({  type: Schema.Literal("checkpoint.diff.finalized"),  threadId: ThreadId,  turnId: TurnId,  checkpointTurnCount: NonNegativeInt,  checkpointRef: CheckpointRef,  status: Schema.Literals(["ready", "missing", "error"]),  createdAt: IsoDateTime,});export type CheckpointDiffFinalizedReceipt = typeof CheckpointDiffFinalizedReceipt.Type; export const TurnProcessingQuiescedReceipt = Schema.Struct({  type: Schema.Literal("turn.processing.quiesced"),  threadId: ThreadId,  turnId: TurnId,  checkpointTurnCount: NonNegativeInt,  createdAt: IsoDateTime,});export type TurnProcessingQuiescedReceipt = typeof TurnProcessingQuiescedReceipt.Type; export const OrchestrationRuntimeReceipt = Schema.Union([  CheckpointBaselineCapturedReceipt,  CheckpointDiffFinalizedReceipt,  TurnProcessingQuiescedReceipt,]);export type OrchestrationRuntimeReceipt = typeof OrchestrationRuntimeReceipt.Type; export interface RuntimeReceiptBusShape {  readonly publish: (receipt: OrchestrationRuntimeReceipt) => Effect.Effect<void>;  readonly stream: Stream.Stream<OrchestrationRuntimeReceipt>;} export class RuntimeReceiptBus extends ServiceMap.Service<  RuntimeReceiptBus,  RuntimeReceiptBusShape>()("t3/orchestration/Services/RuntimeReceiptBus") {}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t