session-input.ts 830 B

1234567891011121314151617181920212223
  1. export * as SessionInput from "./session-input"
  2. import { Schema } from "effect"
  3. import { optional } from "./schema"
  4. import { Prompt } from "./prompt"
  5. import { DateTimeUtcFromMillis, NonNegativeInt } from "./schema"
  6. import { SessionDelivery } from "./session-delivery"
  7. import { SessionID } from "./session-id"
  8. import { SessionMessage } from "./session-message"
  9. export const Delivery = SessionDelivery.Delivery
  10. export type Delivery = SessionDelivery.Delivery
  11. export interface Admitted extends Schema.Schema.Type<typeof Admitted> {}
  12. export const Admitted = Schema.Struct({
  13. admittedSeq: NonNegativeInt,
  14. id: SessionMessage.ID,
  15. sessionID: SessionID,
  16. prompt: Prompt,
  17. delivery: Delivery,
  18. timeCreated: DateTimeUtcFromMillis,
  19. promotedSeq: NonNegativeInt.pipe(optional),
  20. }).annotate({ identifier: "SessionInput.Admitted" })