refactor: unwrap SessionV2 namespace + self-reexport (#22978)
This commit is contained in:
@@ -4,7 +4,6 @@ import { Struct } from "effect"
|
|||||||
import { Session } from "@/session"
|
import { Session } from "@/session"
|
||||||
import { SessionID } from "@/session/schema"
|
import { SessionID } from "@/session/schema"
|
||||||
|
|
||||||
export namespace SessionV2 {
|
|
||||||
export const ID = SessionID
|
export const ID = SessionID
|
||||||
|
|
||||||
export type ID = Schema.Schema.Type<typeof ID>
|
export type ID = Schema.Schema.Type<typeof ID>
|
||||||
@@ -12,15 +11,15 @@ export namespace SessionV2 {
|
|||||||
export class PromptInput extends Schema.Class<PromptInput>("Session.PromptInput")({
|
export class PromptInput extends Schema.Class<PromptInput>("Session.PromptInput")({
|
||||||
...Struct.omit(SessionEntry.User.fields, ["time", "type"]),
|
...Struct.omit(SessionEntry.User.fields, ["time", "type"]),
|
||||||
id: Schema.optionalKey(SessionEntry.ID),
|
id: Schema.optionalKey(SessionEntry.ID),
|
||||||
sessionID: SessionV2.ID,
|
sessionID: ID,
|
||||||
}) {}
|
}) {}
|
||||||
|
|
||||||
export class CreateInput extends Schema.Class<CreateInput>("Session.CreateInput")({
|
export class CreateInput extends Schema.Class<CreateInput>("Session.CreateInput")({
|
||||||
id: Schema.optionalKey(SessionV2.ID),
|
id: Schema.optionalKey(ID),
|
||||||
}) {}
|
}) {}
|
||||||
|
|
||||||
export class Info extends Schema.Class<Info>("Session.Info")({
|
export class Info extends Schema.Class<Info>("Session.Info")({
|
||||||
id: SessionV2.ID,
|
id: ID,
|
||||||
model: Schema.Struct({
|
model: Schema.Struct({
|
||||||
id: Schema.String,
|
id: Schema.String,
|
||||||
providerID: Schema.String,
|
providerID: Schema.String,
|
||||||
@@ -29,7 +28,7 @@ export namespace SessionV2 {
|
|||||||
}) {}
|
}) {}
|
||||||
|
|
||||||
export interface Interface {
|
export interface Interface {
|
||||||
fromID: (id: SessionV2.ID) => Effect.Effect<Info>
|
fromID: (id: ID) => Effect.Effect<Info>
|
||||||
create: (input: CreateInput) => Effect.Effect<Info>
|
create: (input: CreateInput) => Effect.Effect<Info>
|
||||||
prompt: (input: PromptInput) => Effect.Effect<SessionEntry.User>
|
prompt: (input: PromptInput) => Effect.Effect<SessionEntry.User>
|
||||||
}
|
}
|
||||||
@@ -63,7 +62,8 @@ export namespace SessionV2 {
|
|||||||
|
|
||||||
function fromV1(input: Session.Info): Info {
|
function fromV1(input: Session.Info): Info {
|
||||||
return new Info({
|
return new Info({
|
||||||
id: SessionV2.ID.make(input.id),
|
id: ID.make(input.id),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
export * as SessionV2 from "./session"
|
||||||
|
|||||||
Reference in New Issue
Block a user