diff --git a/src/api/resources/memory/client/requests/AddMemoryRequest.ts b/src/api/resources/memory/client/requests/AddMemoryRequest.ts index b073c83..1e8a901 100644 --- a/src/api/resources/memory/client/requests/AddMemoryRequest.ts +++ b/src/api/resources/memory/client/requests/AddMemoryRequest.ts @@ -11,6 +11,10 @@ import * as Zep from "../../../../index"; * } */ export interface AddMemoryRequest { + /** Additional instruction for generating the facts. */ + factInstruction?: string; /** A list of message objects, where each message contains a role and content. */ messages: Zep.ModelsMessage[]; + /** Additional instruction for generating the summary. */ + summaryInstruction?: string; } diff --git a/src/api/resources/memory/client/requests/CreateSessionRequest.ts b/src/api/resources/memory/client/requests/CreateSessionRequest.ts index 13f1336..b61dd4e 100644 --- a/src/api/resources/memory/client/requests/CreateSessionRequest.ts +++ b/src/api/resources/memory/client/requests/CreateSessionRequest.ts @@ -2,6 +2,8 @@ * This file was auto-generated by Fern from our API Definition. */ +import * as Zep from "../../../../index"; + /** * @example * { @@ -9,6 +11,8 @@ * } */ export interface CreateSessionRequest { + /** Optional instruction to use for fact rating. */ + factRatingInstruction?: Zep.FactRatingInstruction; /** The metadata associated with the session. */ metadata?: Record; /** The unique identifier of the session. */ diff --git a/src/api/resources/memory/client/requests/SessionSearchQuery.ts b/src/api/resources/memory/client/requests/SessionSearchQuery.ts index 3ab4f11..212c496 100644 --- a/src/api/resources/memory/client/requests/SessionSearchQuery.ts +++ b/src/api/resources/memory/client/requests/SessionSearchQuery.ts @@ -2,6 +2,8 @@ * This file was auto-generated by Fern from our API Definition. */ +import * as Zep from "../../../../index"; + /** * @example * {} @@ -11,6 +13,20 @@ export interface SessionSearchQuery { * The maximum number of search results to return. Defaults to None (no limit). */ limit?: number; + /** The minimum fact rating to filter on. Only supported on cloud. Will be ignored on Community Edition. */ + minFactRating?: number; + /** The minimum score for search results. Only supported on cloud. Will be ignored on Community Edition. */ + minScore?: number; + /** The lambda parameter for the MMR Reranking Algorithm. Only supported on cloud. Will be ignored on Community Edition. */ + mmrLambda?: number; + /** Record filter on the metadata. Only supported on cloud. Will be ignored on Community Edition. */ + recordFilter?: Record; + /** Search scope. Only supported on cloud. On Community Edition the search scope is always "facts". */ + searchScope?: Zep.SearchScope; + /** Search type. Only supported on cloud. Will be ignored on Community Edition. */ + searchType?: Zep.SearchType; + /** the session ids to search */ + sessionIds?: string[]; /** The search text. */ text?: string; /** User ID used to determine which sessions to search. Required on Community Edition. */ diff --git a/src/api/resources/memory/client/requests/UpdateSessionRequest.ts b/src/api/resources/memory/client/requests/UpdateSessionRequest.ts index acaef0a..cd916a7 100644 --- a/src/api/resources/memory/client/requests/UpdateSessionRequest.ts +++ b/src/api/resources/memory/client/requests/UpdateSessionRequest.ts @@ -2,6 +2,8 @@ * This file was auto-generated by Fern from our API Definition. */ +import * as Zep from "../../../../index"; + /** * @example * { @@ -11,6 +13,11 @@ * } */ export interface UpdateSessionRequest { + /** + * Optional instruction to use for fact rating. + * Fact rating instructions can not be unset. + */ + factRatingInstruction?: Zep.FactRatingInstruction; /** The metadata to update */ metadata: Record; } diff --git a/src/api/types/FactRatingExamples.ts b/src/api/types/FactRatingExamples.ts new file mode 100644 index 0000000..239e987 --- /dev/null +++ b/src/api/types/FactRatingExamples.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface FactRatingExamples { + high?: string; + low?: string; + medium?: string; +} diff --git a/src/api/types/FactRatingInstruction.ts b/src/api/types/FactRatingInstruction.ts new file mode 100644 index 0000000..18f7b18 --- /dev/null +++ b/src/api/types/FactRatingInstruction.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Zep from "../index"; + +export interface FactRatingInstruction { + /** + * Examples is a list of examples that demonstrate how facts might be rated based on your instruction. You should provide + * an example of a highly rated example, a low rated example, and a medium (or in between example). For example, if you are rating + * based on relevance to a trip planning application, your examples might be: + * High: "Joe's dream vacation is Bali" + * Medium: "Joe has a fear of flying", + * Low: "Joe's favorite food is Japanese", + */ + examples?: Zep.FactRatingExamples; + /** + * A string describing how to rate facts as they apply to your application. A trip planning application may + * use something like "relevancy to planning a trip, the user's preferences when traveling, + * or the user's travel history." + */ + instruction?: string; +} diff --git a/src/api/types/SearchScope.ts b/src/api/types/SearchScope.ts new file mode 100644 index 0000000..5ddaa19 --- /dev/null +++ b/src/api/types/SearchScope.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type SearchScope = "messages" | "summary" | "facts"; + +export const SearchScope = { + Messages: "messages", + Summary: "summary", + Facts: "facts", +} as const; diff --git a/src/api/types/SearchType.ts b/src/api/types/SearchType.ts new file mode 100644 index 0000000..63cdd86 --- /dev/null +++ b/src/api/types/SearchType.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type SearchType = "similarity" | "mmr"; + +export const SearchType = { + Similarity: "similarity", + Mmr: "mmr", +} as const; diff --git a/src/api/types/Session.ts b/src/api/types/Session.ts index bf00d68..ed52ab2 100644 --- a/src/api/types/Session.ts +++ b/src/api/types/Session.ts @@ -2,10 +2,15 @@ * This file was auto-generated by Fern from our API Definition. */ +import * as Zep from "../index"; + export interface Session { + classifications?: Record; createdAt?: string; deletedAt?: string; endedAt?: string; + factRatingInstruction?: Zep.SessionFactRatingInstruction; + facts?: string[]; id?: number; metadata?: Record; projectUuid?: string; diff --git a/src/api/types/SessionFactRatingExamples.ts b/src/api/types/SessionFactRatingExamples.ts new file mode 100644 index 0000000..10130a4 --- /dev/null +++ b/src/api/types/SessionFactRatingExamples.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface SessionFactRatingExamples { + high?: string; + low?: string; + medium?: string; +} diff --git a/src/api/types/SessionFactRatingInstruction.ts b/src/api/types/SessionFactRatingInstruction.ts new file mode 100644 index 0000000..9567655 --- /dev/null +++ b/src/api/types/SessionFactRatingInstruction.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Zep from "../index"; + +export interface SessionFactRatingInstruction { + /** + * Examples is a list of examples that demonstrate how facts might be rated based on your instruction. You should provide + * an example of a highly rated example, a low rated example, and a medium (or in between example). For example, if you are rating + * based on relevance to a trip planning application, your examples might be: + * High: "Joe's dream vacation is Bali" + * Medium: "Joe has a fear of flying", + * Low: "Joe's favorite food is Japanese", + */ + examples?: Zep.SessionFactRatingExamples; + /** + * A string describing how to rate facts as they apply to your application. A trip planning application may + * use something like "relevancy to planning a trip, the user's preferences when traveling, + * or the user's travel history." + */ + instruction?: string; +} diff --git a/src/api/types/SessionSearchResult.ts b/src/api/types/SessionSearchResult.ts index 0c6367e..fe882d2 100644 --- a/src/api/types/SessionSearchResult.ts +++ b/src/api/types/SessionSearchResult.ts @@ -6,4 +6,8 @@ import * as Zep from "../index"; export interface SessionSearchResult { fact?: Zep.Fact; + message?: Zep.Message; + score?: number; + sessionId?: string; + summary?: Zep.Summary; } diff --git a/src/api/types/index.ts b/src/api/types/index.ts index a304292..9353618 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -6,6 +6,8 @@ export * from "./Message"; export * from "./MessageListResponse"; export * from "./RoleType"; export * from "./Session"; +export * from "./SessionFactRatingExamples"; +export * from "./SessionFactRatingInstruction"; export * from "./SessionListResponse"; export * from "./SessionSearchResponse"; export * from "./SessionSearchResult"; @@ -13,6 +15,10 @@ export * from "./SuccessResponse"; export * from "./Summary"; export * from "./User"; export * from "./UserListResponse"; +export * from "./FactRatingExamples"; +export * from "./FactRatingInstruction"; export * from "./ModelsMessage"; export * from "./ModelsRoleType"; +export * from "./SearchScope"; +export * from "./SearchType"; export * from "./MemoryType"; diff --git a/src/serialization/resources/memory/client/requests/AddMemoryRequest.ts b/src/serialization/resources/memory/client/requests/AddMemoryRequest.ts index b0c39df..819523c 100644 --- a/src/serialization/resources/memory/client/requests/AddMemoryRequest.ts +++ b/src/serialization/resources/memory/client/requests/AddMemoryRequest.ts @@ -9,11 +9,15 @@ import { ModelsMessage } from "../../../../types/ModelsMessage"; export const AddMemoryRequest: core.serialization.Schema = core.serialization.object({ + factInstruction: core.serialization.property("fact_instruction", core.serialization.string().optional()), messages: core.serialization.list(ModelsMessage), + summaryInstruction: core.serialization.property("summary_instruction", core.serialization.string().optional()), }); export declare namespace AddMemoryRequest { interface Raw { + fact_instruction?: string | null; messages: ModelsMessage.Raw[]; + summary_instruction?: string | null; } } diff --git a/src/serialization/resources/memory/client/requests/CreateSessionRequest.ts b/src/serialization/resources/memory/client/requests/CreateSessionRequest.ts index 915dfb4..2231aaf 100644 --- a/src/serialization/resources/memory/client/requests/CreateSessionRequest.ts +++ b/src/serialization/resources/memory/client/requests/CreateSessionRequest.ts @@ -5,11 +5,13 @@ import * as serializers from "../../../../index"; import * as Zep from "../../../../../api/index"; import * as core from "../../../../../core"; +import { FactRatingInstruction } from "../../../../types/FactRatingInstruction"; export const CreateSessionRequest: core.serialization.Schema< serializers.CreateSessionRequest.Raw, Zep.CreateSessionRequest > = core.serialization.object({ + factRatingInstruction: core.serialization.property("fact_rating_instruction", FactRatingInstruction.optional()), metadata: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), sessionId: core.serialization.property("session_id", core.serialization.string()), userId: core.serialization.property("user_id", core.serialization.string().optional()), @@ -17,6 +19,7 @@ export const CreateSessionRequest: core.serialization.Schema< export declare namespace CreateSessionRequest { interface Raw { + fact_rating_instruction?: FactRatingInstruction.Raw | null; metadata?: Record | null; session_id: string; user_id?: string | null; diff --git a/src/serialization/resources/memory/client/requests/SessionSearchQuery.ts b/src/serialization/resources/memory/client/requests/SessionSearchQuery.ts index 59e6f32..bd9e681 100644 --- a/src/serialization/resources/memory/client/requests/SessionSearchQuery.ts +++ b/src/serialization/resources/memory/client/requests/SessionSearchQuery.ts @@ -5,17 +5,39 @@ import * as serializers from "../../../../index"; import * as Zep from "../../../../../api/index"; import * as core from "../../../../../core"; +import { SearchScope } from "../../../../types/SearchScope"; +import { SearchType } from "../../../../types/SearchType"; export const SessionSearchQuery: core.serialization.Schema< serializers.SessionSearchQuery.Raw, Omit > = core.serialization.object({ + minFactRating: core.serialization.property("min_fact_rating", core.serialization.number().optional()), + minScore: core.serialization.property("min_score", core.serialization.number().optional()), + mmrLambda: core.serialization.property("mmr_lambda", core.serialization.number().optional()), + recordFilter: core.serialization.property( + "record_filter", + core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional() + ), + searchScope: core.serialization.property("search_scope", SearchScope.optional()), + searchType: core.serialization.property("search_type", SearchType.optional()), + sessionIds: core.serialization.property( + "session_ids", + core.serialization.list(core.serialization.string()).optional() + ), text: core.serialization.string().optional(), userId: core.serialization.property("user_id", core.serialization.string().optional()), }); export declare namespace SessionSearchQuery { interface Raw { + min_fact_rating?: number | null; + min_score?: number | null; + mmr_lambda?: number | null; + record_filter?: Record | null; + search_scope?: SearchScope.Raw | null; + search_type?: SearchType.Raw | null; + session_ids?: string[] | null; text?: string | null; user_id?: string | null; } diff --git a/src/serialization/resources/memory/client/requests/UpdateSessionRequest.ts b/src/serialization/resources/memory/client/requests/UpdateSessionRequest.ts index 615180e..b94f119 100644 --- a/src/serialization/resources/memory/client/requests/UpdateSessionRequest.ts +++ b/src/serialization/resources/memory/client/requests/UpdateSessionRequest.ts @@ -5,16 +5,19 @@ import * as serializers from "../../../../index"; import * as Zep from "../../../../../api/index"; import * as core from "../../../../../core"; +import { FactRatingInstruction } from "../../../../types/FactRatingInstruction"; export const UpdateSessionRequest: core.serialization.Schema< serializers.UpdateSessionRequest.Raw, Zep.UpdateSessionRequest > = core.serialization.object({ + factRatingInstruction: core.serialization.property("fact_rating_instruction", FactRatingInstruction.optional()), metadata: core.serialization.record(core.serialization.string(), core.serialization.unknown()), }); export declare namespace UpdateSessionRequest { interface Raw { + fact_rating_instruction?: FactRatingInstruction.Raw | null; metadata: Record; } } diff --git a/src/serialization/types/FactRatingExamples.ts b/src/serialization/types/FactRatingExamples.ts new file mode 100644 index 0000000..6ec3694 --- /dev/null +++ b/src/serialization/types/FactRatingExamples.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Zep from "../../api/index"; +import * as core from "../../core"; + +export const FactRatingExamples: core.serialization.ObjectSchema< + serializers.FactRatingExamples.Raw, + Zep.FactRatingExamples +> = core.serialization.object({ + high: core.serialization.string().optional(), + low: core.serialization.string().optional(), + medium: core.serialization.string().optional(), +}); + +export declare namespace FactRatingExamples { + interface Raw { + high?: string | null; + low?: string | null; + medium?: string | null; + } +} diff --git a/src/serialization/types/FactRatingInstruction.ts b/src/serialization/types/FactRatingInstruction.ts new file mode 100644 index 0000000..95c0226 --- /dev/null +++ b/src/serialization/types/FactRatingInstruction.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Zep from "../../api/index"; +import * as core from "../../core"; +import { FactRatingExamples } from "./FactRatingExamples"; + +export const FactRatingInstruction: core.serialization.ObjectSchema< + serializers.FactRatingInstruction.Raw, + Zep.FactRatingInstruction +> = core.serialization.object({ + examples: FactRatingExamples.optional(), + instruction: core.serialization.string().optional(), +}); + +export declare namespace FactRatingInstruction { + interface Raw { + examples?: FactRatingExamples.Raw | null; + instruction?: string | null; + } +} diff --git a/src/serialization/types/SearchScope.ts b/src/serialization/types/SearchScope.ts new file mode 100644 index 0000000..947c5db --- /dev/null +++ b/src/serialization/types/SearchScope.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Zep from "../../api/index"; +import * as core from "../../core"; + +export const SearchScope: core.serialization.Schema = + core.serialization.enum_(["messages", "summary", "facts"]); + +export declare namespace SearchScope { + type Raw = "messages" | "summary" | "facts"; +} diff --git a/src/serialization/types/SearchType.ts b/src/serialization/types/SearchType.ts new file mode 100644 index 0000000..25472a7 --- /dev/null +++ b/src/serialization/types/SearchType.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Zep from "../../api/index"; +import * as core from "../../core"; + +export const SearchType: core.serialization.Schema = + core.serialization.enum_(["similarity", "mmr"]); + +export declare namespace SearchType { + type Raw = "similarity" | "mmr"; +} diff --git a/src/serialization/types/Session.ts b/src/serialization/types/Session.ts index 5f1bdd5..7846876 100644 --- a/src/serialization/types/Session.ts +++ b/src/serialization/types/Session.ts @@ -5,12 +5,19 @@ import * as serializers from "../index"; import * as Zep from "../../api/index"; import * as core from "../../core"; +import { SessionFactRatingInstruction } from "./SessionFactRatingInstruction"; export const Session: core.serialization.ObjectSchema = core.serialization.object( { + classifications: core.serialization.record(core.serialization.string(), core.serialization.string()).optional(), createdAt: core.serialization.property("created_at", core.serialization.string().optional()), deletedAt: core.serialization.property("deleted_at", core.serialization.string().optional()), endedAt: core.serialization.property("ended_at", core.serialization.string().optional()), + factRatingInstruction: core.serialization.property( + "fact_rating_instruction", + SessionFactRatingInstruction.optional() + ), + facts: core.serialization.list(core.serialization.string()).optional(), id: core.serialization.number().optional(), metadata: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), projectUuid: core.serialization.property("project_uuid", core.serialization.string().optional()), @@ -23,9 +30,12 @@ export const Session: core.serialization.ObjectSchema | null; created_at?: string | null; deleted_at?: string | null; ended_at?: string | null; + fact_rating_instruction?: SessionFactRatingInstruction.Raw | null; + facts?: string[] | null; id?: number | null; metadata?: Record | null; project_uuid?: string | null; diff --git a/src/serialization/types/SessionFactRatingExamples.ts b/src/serialization/types/SessionFactRatingExamples.ts new file mode 100644 index 0000000..c744eea --- /dev/null +++ b/src/serialization/types/SessionFactRatingExamples.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Zep from "../../api/index"; +import * as core from "../../core"; + +export const SessionFactRatingExamples: core.serialization.ObjectSchema< + serializers.SessionFactRatingExamples.Raw, + Zep.SessionFactRatingExamples +> = core.serialization.object({ + high: core.serialization.string().optional(), + low: core.serialization.string().optional(), + medium: core.serialization.string().optional(), +}); + +export declare namespace SessionFactRatingExamples { + interface Raw { + high?: string | null; + low?: string | null; + medium?: string | null; + } +} diff --git a/src/serialization/types/SessionFactRatingInstruction.ts b/src/serialization/types/SessionFactRatingInstruction.ts new file mode 100644 index 0000000..e2b465c --- /dev/null +++ b/src/serialization/types/SessionFactRatingInstruction.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Zep from "../../api/index"; +import * as core from "../../core"; +import { SessionFactRatingExamples } from "./SessionFactRatingExamples"; + +export const SessionFactRatingInstruction: core.serialization.ObjectSchema< + serializers.SessionFactRatingInstruction.Raw, + Zep.SessionFactRatingInstruction +> = core.serialization.object({ + examples: SessionFactRatingExamples.optional(), + instruction: core.serialization.string().optional(), +}); + +export declare namespace SessionFactRatingInstruction { + interface Raw { + examples?: SessionFactRatingExamples.Raw | null; + instruction?: string | null; + } +} diff --git a/src/serialization/types/SessionSearchResult.ts b/src/serialization/types/SessionSearchResult.ts index 3efc735..c4a304a 100644 --- a/src/serialization/types/SessionSearchResult.ts +++ b/src/serialization/types/SessionSearchResult.ts @@ -6,16 +6,26 @@ import * as serializers from "../index"; import * as Zep from "../../api/index"; import * as core from "../../core"; import { Fact } from "./Fact"; +import { Message } from "./Message"; +import { Summary } from "./Summary"; export const SessionSearchResult: core.serialization.ObjectSchema< serializers.SessionSearchResult.Raw, Zep.SessionSearchResult > = core.serialization.object({ fact: Fact.optional(), + message: Message.optional(), + score: core.serialization.number().optional(), + sessionId: core.serialization.property("session_id", core.serialization.string().optional()), + summary: Summary.optional(), }); export declare namespace SessionSearchResult { interface Raw { fact?: Fact.Raw | null; + message?: Message.Raw | null; + score?: number | null; + session_id?: string | null; + summary?: Summary.Raw | null; } } diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index a304292..9353618 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -6,6 +6,8 @@ export * from "./Message"; export * from "./MessageListResponse"; export * from "./RoleType"; export * from "./Session"; +export * from "./SessionFactRatingExamples"; +export * from "./SessionFactRatingInstruction"; export * from "./SessionListResponse"; export * from "./SessionSearchResponse"; export * from "./SessionSearchResult"; @@ -13,6 +15,10 @@ export * from "./SuccessResponse"; export * from "./Summary"; export * from "./User"; export * from "./UserListResponse"; +export * from "./FactRatingExamples"; +export * from "./FactRatingInstruction"; export * from "./ModelsMessage"; export * from "./ModelsRoleType"; +export * from "./SearchScope"; +export * from "./SearchType"; export * from "./MemoryType";