session-input.ts 811 B

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