fix(session): hide pending admission sequence
This commit is contained in:
parent
9554f9a16e
commit
2a85c861e0
17 changed files with 32 additions and 48 deletions
|
|
@ -3,7 +3,7 @@ export * as SessionPending from "./session-pending.js"
|
|||
import { Schema } from "effect"
|
||||
import { optional } from "./schema.js"
|
||||
import { Prompt } from "./prompt.js"
|
||||
import { DateTimeUtcFromMillis, NonNegativeInt } from "./schema.js"
|
||||
import { DateTimeUtcFromMillis } from "./schema.js"
|
||||
import { SessionDelivery } from "./session-delivery.js"
|
||||
import { SessionID } from "./session-id.js"
|
||||
import { SessionMessage } from "./session-message.js"
|
||||
|
|
@ -45,7 +45,6 @@ export const Message = Schema.Union([UserMessage, SyntheticMessage]).pipe(
|
|||
export type Message = typeof Message.Type
|
||||
|
||||
const Admitted = {
|
||||
admittedSeq: NonNegativeInt,
|
||||
id: SessionMessage.ID,
|
||||
sessionID: SessionID,
|
||||
timeCreated: DateTimeUtcFromMillis,
|
||||
|
|
|
|||
|
|
@ -54,6 +54,29 @@ describe("contract hygiene", () => {
|
|||
).toEqual({ text: "completed" })
|
||||
})
|
||||
|
||||
test("pending session items omit the internal admission sequence", () => {
|
||||
expect(
|
||||
Schema.encodeSync(SessionPending.Info)(
|
||||
Schema.decodeUnknownSync(SessionPending.Info)({
|
||||
admittedSeq: 3,
|
||||
id: "msg_pending",
|
||||
sessionID: "ses_pending",
|
||||
timeCreated: 1,
|
||||
type: "user",
|
||||
data: { text: "hello" },
|
||||
delivery: "steer",
|
||||
}),
|
||||
),
|
||||
).toEqual({
|
||||
id: "msg_pending",
|
||||
sessionID: "ses_pending",
|
||||
timeCreated: 1,
|
||||
type: "user",
|
||||
data: { text: "hello" },
|
||||
delivery: "steer",
|
||||
})
|
||||
})
|
||||
|
||||
test("forms require at least one field", () => {
|
||||
expect(() =>
|
||||
Schema.decodeUnknownSync(Form.Info)({
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue