@getzep/zep-cloud 3.1.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/cjs/Client.js +2 -2
  2. package/dist/cjs/api/resources/graph/client/Client.d.ts +1 -1
  3. package/dist/cjs/api/resources/graph/client/Client.js +1 -1
  4. package/dist/cjs/api/resources/thread/client/Client.d.ts +19 -0
  5. package/dist/cjs/api/resources/thread/client/Client.js +88 -1
  6. package/dist/cjs/api/resources/thread/client/requests/ThreadGetRequest.d.ts +4 -0
  7. package/dist/cjs/api/resources/thread/client/requests/index.d.ts +0 -1
  8. package/dist/cjs/api/{resources/thread/client/requests → types}/AddThreadMessagesRequest.d.ts +1 -10
  9. package/dist/cjs/api/types/AddThreadMessagesResponse.d.ts +1 -0
  10. package/dist/cjs/api/types/index.d.ts +1 -0
  11. package/dist/cjs/api/types/index.js +1 -0
  12. package/dist/cjs/contextString.d.ts +5 -4
  13. package/dist/cjs/contextString.js +65 -8
  14. package/dist/cjs/serialization/resources/thread/client/requests/index.d.ts +0 -1
  15. package/dist/cjs/serialization/resources/thread/client/requests/index.js +1 -3
  16. package/dist/cjs/serialization/types/AddThreadMessagesRequest.d.ts +16 -0
  17. package/dist/cjs/serialization/{resources/thread/client/requests → types}/AddThreadMessagesRequest.js +3 -3
  18. package/dist/cjs/serialization/types/AddThreadMessagesResponse.d.ts +1 -0
  19. package/dist/cjs/serialization/types/AddThreadMessagesResponse.js +1 -0
  20. package/dist/cjs/serialization/types/index.d.ts +1 -0
  21. package/dist/cjs/serialization/types/index.js +1 -0
  22. package/dist/cjs/version.d.ts +1 -1
  23. package/dist/cjs/version.js +1 -1
  24. package/dist/esm/Client.mjs +2 -2
  25. package/dist/esm/api/resources/graph/client/Client.d.mts +1 -1
  26. package/dist/esm/api/resources/graph/client/Client.mjs +1 -1
  27. package/dist/esm/api/resources/thread/client/Client.d.mts +19 -0
  28. package/dist/esm/api/resources/thread/client/Client.mjs +88 -1
  29. package/dist/esm/api/resources/thread/client/requests/ThreadGetRequest.d.mts +4 -0
  30. package/dist/esm/api/resources/thread/client/requests/index.d.mts +0 -1
  31. package/dist/esm/api/{resources/thread/client/requests → types}/AddThreadMessagesRequest.d.mts +1 -10
  32. package/dist/esm/api/types/AddThreadMessagesResponse.d.mts +1 -0
  33. package/dist/esm/api/types/index.d.mts +1 -0
  34. package/dist/esm/api/types/index.mjs +1 -0
  35. package/dist/esm/contextString.d.mts +5 -4
  36. package/dist/esm/contextString.mjs +65 -8
  37. package/dist/esm/serialization/resources/thread/client/requests/index.d.mts +0 -1
  38. package/dist/esm/serialization/resources/thread/client/requests/index.mjs +0 -1
  39. package/dist/esm/serialization/types/AddThreadMessagesRequest.d.mts +16 -0
  40. package/dist/esm/serialization/{resources/thread/client/requests → types}/AddThreadMessagesRequest.mjs +3 -3
  41. package/dist/esm/serialization/types/AddThreadMessagesResponse.d.mts +1 -0
  42. package/dist/esm/serialization/types/AddThreadMessagesResponse.mjs +1 -0
  43. package/dist/esm/serialization/types/index.d.mts +1 -0
  44. package/dist/esm/serialization/types/index.mjs +1 -0
  45. package/dist/esm/version.d.mts +1 -1
  46. package/dist/esm/version.mjs +1 -1
  47. package/package.json +1 -1
  48. package/reference.md +79 -1
  49. package/dist/cjs/serialization/resources/thread/client/requests/AddThreadMessagesRequest.d.ts +0 -16
  50. package/dist/esm/serialization/resources/thread/client/requests/AddThreadMessagesRequest.d.mts +0 -16
  51. /package/dist/cjs/api/{resources/thread/client/requests → types}/AddThreadMessagesRequest.js +0 -0
  52. /package/dist/esm/api/{resources/thread/client/requests → types}/AddThreadMessagesRequest.mjs +0 -0
@@ -47,8 +47,8 @@ class ZepClient {
47
47
  this._options = Object.assign(Object.assign({}, _options), { headers: (0, headers_js_1.mergeHeaders)({
48
48
  "X-Fern-Language": "JavaScript",
49
49
  "X-Fern-SDK-Name": "zep-cloud",
50
- "X-Fern-SDK-Version": "3.1.0",
51
- "User-Agent": "zep-cloud/3.1.0",
50
+ "X-Fern-SDK-Version": "3.4.0",
51
+ "User-Agent": "zep-cloud/3.4.0",
52
52
  "X-Fern-Runtime": core.RUNTIME.type,
53
53
  "X-Fern-Runtime-Version": core.RUNTIME.version,
54
54
  }, _options === null || _options === void 0 ? void 0 : _options.headers) });
@@ -151,7 +151,7 @@ export declare class Graph {
151
151
  create(request: Zep.CreateGraphRequest, requestOptions?: Graph.RequestOptions): core.HttpResponsePromise<Zep.Graph>;
152
152
  private __create;
153
153
  /**
154
- * Returns all graphs.
154
+ * Returns all graphs. In order to list users, use user.list_ordered instead
155
155
  *
156
156
  * @param {Zep.GraphListAllRequest} request
157
157
  * @param {Graph.RequestOptions} requestOptions - Request-specific configuration.
@@ -707,7 +707,7 @@ class Graph {
707
707
  });
708
708
  }
709
709
  /**
710
- * Returns all graphs.
710
+ * Returns all graphs. In order to list users, use user.list_ordered instead
711
711
  *
712
712
  * @param {Zep.GraphListAllRequest} request
713
713
  * @param {Graph.RequestOptions} requestOptions - Request-specific configuration.
@@ -122,6 +122,25 @@ export declare class Thread {
122
122
  */
123
123
  addMessages(threadId: string, request: Zep.AddThreadMessagesRequest, requestOptions?: Thread.RequestOptions): core.HttpResponsePromise<Zep.AddThreadMessagesResponse>;
124
124
  private __addMessages;
125
+ /**
126
+ * Add messages to a thread in batch mode. This will process messages concurrently, which is useful for data migrations.
127
+ *
128
+ * @param {string} threadId - The ID of the thread to which messages should be added.
129
+ * @param {Zep.AddThreadMessagesRequest} request
130
+ * @param {Thread.RequestOptions} requestOptions - Request-specific configuration.
131
+ *
132
+ * @throws {@link Zep.InternalServerError}
133
+ *
134
+ * @example
135
+ * await client.thread.addMessagesBatch("threadId", {
136
+ * messages: [{
137
+ * content: "content",
138
+ * role: "norole"
139
+ * }]
140
+ * })
141
+ */
142
+ addMessagesBatch(threadId: string, request: Zep.AddThreadMessagesRequest, requestOptions?: Thread.RequestOptions): core.HttpResponsePromise<Zep.AddThreadMessagesResponse>;
143
+ private __addMessagesBatch;
125
144
  protected _getCustomAuthorizationHeaders(): Promise<{
126
145
  Authorization: string;
127
146
  }>;
@@ -436,7 +436,7 @@ class Thread {
436
436
  __get(threadId_1) {
437
437
  return __awaiter(this, arguments, void 0, function* (threadId, request = {}, requestOptions) {
438
438
  var _a, _b, _c, _d;
439
- const { limit, cursor } = request;
439
+ const { limit, cursor, lastn } = request;
440
440
  const _queryParams = {};
441
441
  if (limit != null) {
442
442
  _queryParams["limit"] = limit.toString();
@@ -444,6 +444,9 @@ class Thread {
444
444
  if (cursor != null) {
445
445
  _queryParams["cursor"] = cursor.toString();
446
446
  }
447
+ if (lastn != null) {
448
+ _queryParams["lastn"] = lastn.toString();
449
+ }
447
450
  const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
448
451
  url: core.url.join((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.ZepEnvironment.Default, `threads/${encodeURIComponent(threadId)}/messages`),
449
452
  method: "GET",
@@ -592,6 +595,90 @@ class Thread {
592
595
  }
593
596
  });
594
597
  }
598
+ /**
599
+ * Add messages to a thread in batch mode. This will process messages concurrently, which is useful for data migrations.
600
+ *
601
+ * @param {string} threadId - The ID of the thread to which messages should be added.
602
+ * @param {Zep.AddThreadMessagesRequest} request
603
+ * @param {Thread.RequestOptions} requestOptions - Request-specific configuration.
604
+ *
605
+ * @throws {@link Zep.InternalServerError}
606
+ *
607
+ * @example
608
+ * await client.thread.addMessagesBatch("threadId", {
609
+ * messages: [{
610
+ * content: "content",
611
+ * role: "norole"
612
+ * }]
613
+ * })
614
+ */
615
+ addMessagesBatch(threadId, request, requestOptions) {
616
+ return core.HttpResponsePromise.fromPromise(this.__addMessagesBatch(threadId, request, requestOptions));
617
+ }
618
+ __addMessagesBatch(threadId, request, requestOptions) {
619
+ return __awaiter(this, void 0, void 0, function* () {
620
+ var _a, _b, _c, _d;
621
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
622
+ url: core.url.join((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.ZepEnvironment.Default, `threads/${encodeURIComponent(threadId)}/messages-batch`),
623
+ method: "POST",
624
+ headers: (0, headers_js_1.mergeHeaders)((_d = this._options) === null || _d === void 0 ? void 0 : _d.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)(Object.assign({}, (yield this._getCustomAuthorizationHeaders()))), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
625
+ contentType: "application/json",
626
+ requestType: "json",
627
+ body: serializers.AddThreadMessagesRequest.jsonOrThrow(request, {
628
+ unrecognizedObjectKeys: "strip",
629
+ omitUndefined: true,
630
+ }),
631
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
632
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
633
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
634
+ });
635
+ if (_response.ok) {
636
+ return {
637
+ data: serializers.AddThreadMessagesResponse.parseOrThrow(_response.body, {
638
+ unrecognizedObjectKeys: "passthrough",
639
+ allowUnrecognizedUnionMembers: true,
640
+ allowUnrecognizedEnumValues: true,
641
+ skipValidation: true,
642
+ breadcrumbsPrefix: ["response"],
643
+ }),
644
+ rawResponse: _response.rawResponse,
645
+ };
646
+ }
647
+ if (_response.error.reason === "status-code") {
648
+ switch (_response.error.statusCode) {
649
+ case 500:
650
+ throw new Zep.InternalServerError(serializers.ApiError.parseOrThrow(_response.error.body, {
651
+ unrecognizedObjectKeys: "passthrough",
652
+ allowUnrecognizedUnionMembers: true,
653
+ allowUnrecognizedEnumValues: true,
654
+ skipValidation: true,
655
+ breadcrumbsPrefix: ["response"],
656
+ }), _response.rawResponse);
657
+ default:
658
+ throw new errors.ZepError({
659
+ statusCode: _response.error.statusCode,
660
+ body: _response.error.body,
661
+ rawResponse: _response.rawResponse,
662
+ });
663
+ }
664
+ }
665
+ switch (_response.error.reason) {
666
+ case "non-json":
667
+ throw new errors.ZepError({
668
+ statusCode: _response.error.statusCode,
669
+ body: _response.error.rawBody,
670
+ rawResponse: _response.rawResponse,
671
+ });
672
+ case "timeout":
673
+ throw new errors.ZepTimeoutError("Timeout exceeded when calling POST /threads/{threadId}/messages-batch.");
674
+ case "unknown":
675
+ throw new errors.ZepError({
676
+ message: _response.error.errorMessage,
677
+ rawResponse: _response.rawResponse,
678
+ });
679
+ }
680
+ });
681
+ }
595
682
  _getCustomAuthorizationHeaders() {
596
683
  return __awaiter(this, void 0, void 0, function* () {
597
684
  var _a;
@@ -14,4 +14,8 @@ export interface ThreadGetRequest {
14
14
  * Cursor for pagination
15
15
  */
16
16
  cursor?: number;
17
+ /**
18
+ * Number of most recent messages to return (overrides limit and cursor)
19
+ */
20
+ lastn?: number;
17
21
  }
@@ -2,4 +2,3 @@ export { type ThreadListAllRequest } from "./ThreadListAllRequest.js";
2
2
  export { type CreateThreadRequest } from "./CreateThreadRequest.js";
3
3
  export { type ThreadGetUserContextRequest } from "./ThreadGetUserContextRequest.js";
4
4
  export { type ThreadGetRequest } from "./ThreadGetRequest.js";
5
- export { type AddThreadMessagesRequest } from "./AddThreadMessagesRequest.js";
@@ -1,16 +1,7 @@
1
1
  /**
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
- import * as Zep from "../../../../index.js";
5
- /**
6
- * @example
7
- * {
8
- * messages: [{
9
- * content: "content",
10
- * role: "norole"
11
- * }]
12
- * }
13
- */
4
+ import * as Zep from "../index.js";
14
5
  export interface AddThreadMessagesRequest {
15
6
  /**
16
7
  * Optional list of role types to ignore when adding messages to graph memory.
@@ -3,4 +3,5 @@
3
3
  */
4
4
  export interface AddThreadMessagesResponse {
5
5
  context?: string;
6
+ messageUuids?: string[];
6
7
  }
@@ -1,4 +1,5 @@
1
1
  export * from "./ApiError.js";
2
+ export * from "./AddThreadMessagesRequest.js";
2
3
  export * from "./AddThreadMessagesResponse.js";
3
4
  export * from "./CloneGraphResponse.js";
4
5
  export * from "./EdgeType.js";
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./ApiError.js"), exports);
18
+ __exportStar(require("./AddThreadMessagesRequest.js"), exports);
18
19
  __exportStar(require("./AddThreadMessagesResponse.js"), exports);
19
20
  __exportStar(require("./CloneGraphResponse.js"), exports);
20
21
  __exportStar(require("./EdgeType.js"), exports);
@@ -1,4 +1,4 @@
1
- import { EntityEdge, EntityNode } from "./api/index.js";
1
+ import { EntityEdge, EntityNode, Episode } from "./api/index.js";
2
2
  /**
3
3
  * Format the date range of an entity edge.
4
4
  *
@@ -7,10 +7,11 @@ import { EntityEdge, EntityNode } from "./api/index.js";
7
7
  */
8
8
  export declare function formatEdgeDateRange(edge: EntityEdge): string;
9
9
  /**
10
- * Compose a search context from entity edges and nodes.
10
+ * Compose a search context from entity edges, nodes, and episodes.
11
11
  *
12
12
  * @param edges - List of entity edges.
13
13
  * @param nodes - List of entity nodes.
14
- * @returns A formatted string containing facts and entities.
14
+ * @param episodes - List of episodes.
15
+ * @returns A formatted string containing facts, entities, and episodes.
15
16
  */
16
- export declare function composeContextString(edges: EntityEdge[], nodes: EntityNode[]): string;
17
+ export declare function composeContextString(edges: EntityEdge[], nodes: EntityNode[], episodes?: Episode[]): string;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.formatEdgeDateRange = formatEdgeDateRange;
4
4
  exports.composeContextString = composeContextString;
5
5
  const TEMPLATE_STRING = `
6
- FACTS and ENTITIES represent relevant context to the current conversation.
6
+ FACTS and ENTITIES%episodesHeader% represent relevant context to the current conversation.
7
7
 
8
8
  # These are the most relevant facts and their valid date ranges
9
9
  # format: FACT (Date range: from - to)
@@ -12,10 +12,15 @@ FACTS and ENTITIES represent relevant context to the current conversation.
12
12
  </FACTS>
13
13
 
14
14
  # These are the most relevant entities
15
- # ENTITY_NAME: entity summary
15
+ # Name: ENTITY_NAME
16
+ # Label: entity_label (if present)
17
+ # Attributes: (if present)
18
+ # attr_name: attr_value
19
+ # Summary: entity summary
16
20
  <ENTITIES>
17
21
  %entities%
18
22
  </ENTITIES>
23
+ %episodesSection%
19
24
  `;
20
25
  /**
21
26
  * Format the date range of an entity edge.
@@ -56,20 +61,72 @@ function formatDate(date) {
56
61
  .replace(/^(\d{2})-(\d{2})-(\d{4})/, "$3-$1-$2");
57
62
  }
58
63
  /**
59
- * Compose a search context from entity edges and nodes.
64
+ * Compose a search context from entity edges, nodes, and episodes.
60
65
  *
61
66
  * @param edges - List of entity edges.
62
67
  * @param nodes - List of entity nodes.
63
- * @returns A formatted string containing facts and entities.
68
+ * @param episodes - List of episodes.
69
+ * @returns A formatted string containing facts, entities, and episodes.
64
70
  */
65
- function composeContextString(edges, nodes) {
71
+ function composeContextString(edges, nodes, episodes = []) {
66
72
  const facts = edges.map((edge) => {
67
- return ` - ${edge.fact} (${formatEdgeDateRange(edge)})`;
73
+ return ` - ${edge.fact} (Date range: ${formatEdgeDateRange(edge)})`;
68
74
  });
69
75
  const entities = nodes.map((node) => {
70
- return ` - ${node.name}: ${node.summary}`;
76
+ const entityParts = [`Name: ${node.name}`];
77
+ if (node.labels && node.labels.length > 0) {
78
+ const labels = [...node.labels];
79
+ const entityIndex = labels.indexOf('Entity');
80
+ if (entityIndex > -1) {
81
+ labels.splice(entityIndex, 1);
82
+ }
83
+ if (labels.length > 0) {
84
+ entityParts.push(`Label: ${labels[0]}`);
85
+ }
86
+ }
87
+ if (node.attributes && Object.keys(node.attributes).length > 0) {
88
+ const filteredAttributes = Object.assign({}, node.attributes);
89
+ delete filteredAttributes.labels;
90
+ if (Object.keys(filteredAttributes).length > 0) {
91
+ entityParts.push('Attributes:');
92
+ Object.entries(filteredAttributes).forEach(([key, value]) => {
93
+ entityParts.push(` ${key}: ${value}`);
94
+ });
95
+ }
96
+ }
97
+ if (node.summary && node.summary.trim()) {
98
+ entityParts.push(`Summary: ${node.summary}`);
99
+ }
100
+ return entityParts.join('\n');
71
101
  });
102
+ const episodesList = [];
103
+ if (episodes.length > 0) {
104
+ episodes.forEach((episode) => {
105
+ let rolePrefix = "";
106
+ if (episode.role && episode.roleType) {
107
+ rolePrefix = `${episode.role} (${episode.roleType}): `;
108
+ }
109
+ else if (episode.role) {
110
+ rolePrefix = `${episode.role}: `;
111
+ }
112
+ else if (episode.roleType) {
113
+ rolePrefix = `(${episode.roleType}): `;
114
+ }
115
+ const timestamp = formatDate(new Date(episode.createdAt));
116
+ const episodeStr = ` - ${rolePrefix}${episode.content} (${timestamp})`;
117
+ episodesList.push(episodeStr);
118
+ });
119
+ }
72
120
  const factsStr = facts.join("\n");
73
121
  const entitiesStr = entities.join("\n");
74
- return TEMPLATE_STRING.replace("%facts%", factsStr).replace("%entities%", entitiesStr);
122
+ const episodesStr = episodesList.join("\n");
123
+ const episodesHeader = episodes.length > 0 ? ", and EPISODES" : "";
124
+ const episodesSection = episodes.length > 0
125
+ ? `\n# These are the most relevant episodes\n<EPISODES>\n${episodesStr}\n</EPISODES>`
126
+ : "";
127
+ return TEMPLATE_STRING
128
+ .replace("%episodesHeader%", episodesHeader)
129
+ .replace("%facts%", factsStr)
130
+ .replace("%entities%", entitiesStr)
131
+ .replace("%episodesSection%", episodesSection);
75
132
  }
@@ -1,2 +1 @@
1
1
  export { CreateThreadRequest } from "./CreateThreadRequest.js";
2
- export { AddThreadMessagesRequest } from "./AddThreadMessagesRequest.js";
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AddThreadMessagesRequest = exports.CreateThreadRequest = void 0;
3
+ exports.CreateThreadRequest = void 0;
4
4
  var CreateThreadRequest_js_1 = require("./CreateThreadRequest.js");
5
5
  Object.defineProperty(exports, "CreateThreadRequest", { enumerable: true, get: function () { return CreateThreadRequest_js_1.CreateThreadRequest; } });
6
- var AddThreadMessagesRequest_js_1 = require("./AddThreadMessagesRequest.js");
7
- Object.defineProperty(exports, "AddThreadMessagesRequest", { enumerable: true, get: function () { return AddThreadMessagesRequest_js_1.AddThreadMessagesRequest; } });
@@ -0,0 +1,16 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ import * as serializers from "../index.js";
5
+ import * as Zep from "../../api/index.js";
6
+ import * as core from "../../core/index.js";
7
+ import { RoleType } from "./RoleType.js";
8
+ import { Message } from "./Message.js";
9
+ export declare const AddThreadMessagesRequest: core.serialization.ObjectSchema<serializers.AddThreadMessagesRequest.Raw, Zep.AddThreadMessagesRequest>;
10
+ export declare namespace AddThreadMessagesRequest {
11
+ interface Raw {
12
+ ignore_roles?: RoleType.Raw[] | null;
13
+ messages: Message.Raw[];
14
+ return_context?: boolean | null;
15
+ }
16
+ }
@@ -37,9 +37,9 @@ var __importStar = (this && this.__importStar) || (function () {
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.AddThreadMessagesRequest = void 0;
40
- const core = __importStar(require("../../../../../core/index.js"));
41
- const RoleType_js_1 = require("../../../../types/RoleType.js");
42
- const Message_js_1 = require("../../../../types/Message.js");
40
+ const core = __importStar(require("../../core/index.js"));
41
+ const RoleType_js_1 = require("./RoleType.js");
42
+ const Message_js_1 = require("./Message.js");
43
43
  exports.AddThreadMessagesRequest = core.serialization.object({
44
44
  ignoreRoles: core.serialization.property("ignore_roles", core.serialization.list(RoleType_js_1.RoleType).optional()),
45
45
  messages: core.serialization.list(Message_js_1.Message),
@@ -8,5 +8,6 @@ export declare const AddThreadMessagesResponse: core.serialization.ObjectSchema<
8
8
  export declare namespace AddThreadMessagesResponse {
9
9
  interface Raw {
10
10
  context?: string | null;
11
+ message_uuids?: string[] | null;
11
12
  }
12
13
  }
@@ -40,4 +40,5 @@ exports.AddThreadMessagesResponse = void 0;
40
40
  const core = __importStar(require("../../core/index.js"));
41
41
  exports.AddThreadMessagesResponse = core.serialization.object({
42
42
  context: core.serialization.string().optional(),
43
+ messageUuids: core.serialization.property("message_uuids", core.serialization.list(core.serialization.string()).optional()),
43
44
  });
@@ -1,4 +1,5 @@
1
1
  export * from "./ApiError.js";
2
+ export * from "./AddThreadMessagesRequest.js";
2
3
  export * from "./AddThreadMessagesResponse.js";
3
4
  export * from "./CloneGraphResponse.js";
4
5
  export * from "./EdgeType.js";
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./ApiError.js"), exports);
18
+ __exportStar(require("./AddThreadMessagesRequest.js"), exports);
18
19
  __exportStar(require("./AddThreadMessagesResponse.js"), exports);
19
20
  __exportStar(require("./CloneGraphResponse.js"), exports);
20
21
  __exportStar(require("./EdgeType.js"), exports);
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "3.1.0";
1
+ export declare const SDK_VERSION = "3.4.0";
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "3.1.0";
4
+ exports.SDK_VERSION = "3.4.0";
@@ -11,8 +11,8 @@ export class ZepClient {
11
11
  this._options = Object.assign(Object.assign({}, _options), { headers: mergeHeaders({
12
12
  "X-Fern-Language": "JavaScript",
13
13
  "X-Fern-SDK-Name": "zep-cloud",
14
- "X-Fern-SDK-Version": "3.1.0",
15
- "User-Agent": "zep-cloud/3.1.0",
14
+ "X-Fern-SDK-Version": "3.4.0",
15
+ "User-Agent": "zep-cloud/3.4.0",
16
16
  "X-Fern-Runtime": core.RUNTIME.type,
17
17
  "X-Fern-Runtime-Version": core.RUNTIME.version,
18
18
  }, _options === null || _options === void 0 ? void 0 : _options.headers) });
@@ -151,7 +151,7 @@ export declare class Graph {
151
151
  create(request: Zep.CreateGraphRequest, requestOptions?: Graph.RequestOptions): core.HttpResponsePromise<Zep.Graph>;
152
152
  private __create;
153
153
  /**
154
- * Returns all graphs.
154
+ * Returns all graphs. In order to list users, use user.list_ordered instead
155
155
  *
156
156
  * @param {Zep.GraphListAllRequest} request
157
157
  * @param {Graph.RequestOptions} requestOptions - Request-specific configuration.
@@ -671,7 +671,7 @@ export class Graph {
671
671
  });
672
672
  }
673
673
  /**
674
- * Returns all graphs.
674
+ * Returns all graphs. In order to list users, use user.list_ordered instead
675
675
  *
676
676
  * @param {Zep.GraphListAllRequest} request
677
677
  * @param {Graph.RequestOptions} requestOptions - Request-specific configuration.
@@ -122,6 +122,25 @@ export declare class Thread {
122
122
  */
123
123
  addMessages(threadId: string, request: Zep.AddThreadMessagesRequest, requestOptions?: Thread.RequestOptions): core.HttpResponsePromise<Zep.AddThreadMessagesResponse>;
124
124
  private __addMessages;
125
+ /**
126
+ * Add messages to a thread in batch mode. This will process messages concurrently, which is useful for data migrations.
127
+ *
128
+ * @param {string} threadId - The ID of the thread to which messages should be added.
129
+ * @param {Zep.AddThreadMessagesRequest} request
130
+ * @param {Thread.RequestOptions} requestOptions - Request-specific configuration.
131
+ *
132
+ * @throws {@link Zep.InternalServerError}
133
+ *
134
+ * @example
135
+ * await client.thread.addMessagesBatch("threadId", {
136
+ * messages: [{
137
+ * content: "content",
138
+ * role: "norole"
139
+ * }]
140
+ * })
141
+ */
142
+ addMessagesBatch(threadId: string, request: Zep.AddThreadMessagesRequest, requestOptions?: Thread.RequestOptions): core.HttpResponsePromise<Zep.AddThreadMessagesResponse>;
143
+ private __addMessagesBatch;
125
144
  protected _getCustomAuthorizationHeaders(): Promise<{
126
145
  Authorization: string;
127
146
  }>;
@@ -400,7 +400,7 @@ export class Thread {
400
400
  __get(threadId_1) {
401
401
  return __awaiter(this, arguments, void 0, function* (threadId, request = {}, requestOptions) {
402
402
  var _a, _b, _c, _d;
403
- const { limit, cursor } = request;
403
+ const { limit, cursor, lastn } = request;
404
404
  const _queryParams = {};
405
405
  if (limit != null) {
406
406
  _queryParams["limit"] = limit.toString();
@@ -408,6 +408,9 @@ export class Thread {
408
408
  if (cursor != null) {
409
409
  _queryParams["cursor"] = cursor.toString();
410
410
  }
411
+ if (lastn != null) {
412
+ _queryParams["lastn"] = lastn.toString();
413
+ }
411
414
  const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
412
415
  url: core.url.join((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.ZepEnvironment.Default, `threads/${encodeURIComponent(threadId)}/messages`),
413
416
  method: "GET",
@@ -556,6 +559,90 @@ export class Thread {
556
559
  }
557
560
  });
558
561
  }
562
+ /**
563
+ * Add messages to a thread in batch mode. This will process messages concurrently, which is useful for data migrations.
564
+ *
565
+ * @param {string} threadId - The ID of the thread to which messages should be added.
566
+ * @param {Zep.AddThreadMessagesRequest} request
567
+ * @param {Thread.RequestOptions} requestOptions - Request-specific configuration.
568
+ *
569
+ * @throws {@link Zep.InternalServerError}
570
+ *
571
+ * @example
572
+ * await client.thread.addMessagesBatch("threadId", {
573
+ * messages: [{
574
+ * content: "content",
575
+ * role: "norole"
576
+ * }]
577
+ * })
578
+ */
579
+ addMessagesBatch(threadId, request, requestOptions) {
580
+ return core.HttpResponsePromise.fromPromise(this.__addMessagesBatch(threadId, request, requestOptions));
581
+ }
582
+ __addMessagesBatch(threadId, request, requestOptions) {
583
+ return __awaiter(this, void 0, void 0, function* () {
584
+ var _a, _b, _c, _d;
585
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
586
+ url: core.url.join((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.ZepEnvironment.Default, `threads/${encodeURIComponent(threadId)}/messages-batch`),
587
+ method: "POST",
588
+ headers: mergeHeaders((_d = this._options) === null || _d === void 0 ? void 0 : _d.headers, mergeOnlyDefinedHeaders(Object.assign({}, (yield this._getCustomAuthorizationHeaders()))), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
589
+ contentType: "application/json",
590
+ requestType: "json",
591
+ body: serializers.AddThreadMessagesRequest.jsonOrThrow(request, {
592
+ unrecognizedObjectKeys: "strip",
593
+ omitUndefined: true,
594
+ }),
595
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
596
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
597
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
598
+ });
599
+ if (_response.ok) {
600
+ return {
601
+ data: serializers.AddThreadMessagesResponse.parseOrThrow(_response.body, {
602
+ unrecognizedObjectKeys: "passthrough",
603
+ allowUnrecognizedUnionMembers: true,
604
+ allowUnrecognizedEnumValues: true,
605
+ skipValidation: true,
606
+ breadcrumbsPrefix: ["response"],
607
+ }),
608
+ rawResponse: _response.rawResponse,
609
+ };
610
+ }
611
+ if (_response.error.reason === "status-code") {
612
+ switch (_response.error.statusCode) {
613
+ case 500:
614
+ throw new Zep.InternalServerError(serializers.ApiError.parseOrThrow(_response.error.body, {
615
+ unrecognizedObjectKeys: "passthrough",
616
+ allowUnrecognizedUnionMembers: true,
617
+ allowUnrecognizedEnumValues: true,
618
+ skipValidation: true,
619
+ breadcrumbsPrefix: ["response"],
620
+ }), _response.rawResponse);
621
+ default:
622
+ throw new errors.ZepError({
623
+ statusCode: _response.error.statusCode,
624
+ body: _response.error.body,
625
+ rawResponse: _response.rawResponse,
626
+ });
627
+ }
628
+ }
629
+ switch (_response.error.reason) {
630
+ case "non-json":
631
+ throw new errors.ZepError({
632
+ statusCode: _response.error.statusCode,
633
+ body: _response.error.rawBody,
634
+ rawResponse: _response.rawResponse,
635
+ });
636
+ case "timeout":
637
+ throw new errors.ZepTimeoutError("Timeout exceeded when calling POST /threads/{threadId}/messages-batch.");
638
+ case "unknown":
639
+ throw new errors.ZepError({
640
+ message: _response.error.errorMessage,
641
+ rawResponse: _response.rawResponse,
642
+ });
643
+ }
644
+ });
645
+ }
559
646
  _getCustomAuthorizationHeaders() {
560
647
  return __awaiter(this, void 0, void 0, function* () {
561
648
  var _a;
@@ -14,4 +14,8 @@ export interface ThreadGetRequest {
14
14
  * Cursor for pagination
15
15
  */
16
16
  cursor?: number;
17
+ /**
18
+ * Number of most recent messages to return (overrides limit and cursor)
19
+ */
20
+ lastn?: number;
17
21
  }
@@ -2,4 +2,3 @@ export { type ThreadListAllRequest } from "./ThreadListAllRequest.mjs";
2
2
  export { type CreateThreadRequest } from "./CreateThreadRequest.mjs";
3
3
  export { type ThreadGetUserContextRequest } from "./ThreadGetUserContextRequest.mjs";
4
4
  export { type ThreadGetRequest } from "./ThreadGetRequest.mjs";
5
- export { type AddThreadMessagesRequest } from "./AddThreadMessagesRequest.mjs";
@@ -1,16 +1,7 @@
1
1
  /**
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
- import * as Zep from "../../../../index.mjs";
5
- /**
6
- * @example
7
- * {
8
- * messages: [{
9
- * content: "content",
10
- * role: "norole"
11
- * }]
12
- * }
13
- */
4
+ import * as Zep from "../index.mjs";
14
5
  export interface AddThreadMessagesRequest {
15
6
  /**
16
7
  * Optional list of role types to ignore when adding messages to graph memory.
@@ -3,4 +3,5 @@
3
3
  */
4
4
  export interface AddThreadMessagesResponse {
5
5
  context?: string;
6
+ messageUuids?: string[];
6
7
  }
@@ -1,4 +1,5 @@
1
1
  export * from "./ApiError.mjs";
2
+ export * from "./AddThreadMessagesRequest.mjs";
2
3
  export * from "./AddThreadMessagesResponse.mjs";
3
4
  export * from "./CloneGraphResponse.mjs";
4
5
  export * from "./EdgeType.mjs";
@@ -1,4 +1,5 @@
1
1
  export * from "./ApiError.mjs";
2
+ export * from "./AddThreadMessagesRequest.mjs";
2
3
  export * from "./AddThreadMessagesResponse.mjs";
3
4
  export * from "./CloneGraphResponse.mjs";
4
5
  export * from "./EdgeType.mjs";
@@ -1,4 +1,4 @@
1
- import { EntityEdge, EntityNode } from "./api/index.mjs";
1
+ import { EntityEdge, EntityNode, Episode } from "./api/index.mjs";
2
2
  /**
3
3
  * Format the date range of an entity edge.
4
4
  *
@@ -7,10 +7,11 @@ import { EntityEdge, EntityNode } from "./api/index.mjs";
7
7
  */
8
8
  export declare function formatEdgeDateRange(edge: EntityEdge): string;
9
9
  /**
10
- * Compose a search context from entity edges and nodes.
10
+ * Compose a search context from entity edges, nodes, and episodes.
11
11
  *
12
12
  * @param edges - List of entity edges.
13
13
  * @param nodes - List of entity nodes.
14
- * @returns A formatted string containing facts and entities.
14
+ * @param episodes - List of episodes.
15
+ * @returns A formatted string containing facts, entities, and episodes.
15
16
  */
16
- export declare function composeContextString(edges: EntityEdge[], nodes: EntityNode[]): string;
17
+ export declare function composeContextString(edges: EntityEdge[], nodes: EntityNode[], episodes?: Episode[]): string;
@@ -1,5 +1,5 @@
1
1
  const TEMPLATE_STRING = `
2
- FACTS and ENTITIES represent relevant context to the current conversation.
2
+ FACTS and ENTITIES%episodesHeader% represent relevant context to the current conversation.
3
3
 
4
4
  # These are the most relevant facts and their valid date ranges
5
5
  # format: FACT (Date range: from - to)
@@ -8,10 +8,15 @@ FACTS and ENTITIES represent relevant context to the current conversation.
8
8
  </FACTS>
9
9
 
10
10
  # These are the most relevant entities
11
- # ENTITY_NAME: entity summary
11
+ # Name: ENTITY_NAME
12
+ # Label: entity_label (if present)
13
+ # Attributes: (if present)
14
+ # attr_name: attr_value
15
+ # Summary: entity summary
12
16
  <ENTITIES>
13
17
  %entities%
14
18
  </ENTITIES>
19
+ %episodesSection%
15
20
  `;
16
21
  /**
17
22
  * Format the date range of an entity edge.
@@ -52,20 +57,72 @@ function formatDate(date) {
52
57
  .replace(/^(\d{2})-(\d{2})-(\d{4})/, "$3-$1-$2");
53
58
  }
54
59
  /**
55
- * Compose a search context from entity edges and nodes.
60
+ * Compose a search context from entity edges, nodes, and episodes.
56
61
  *
57
62
  * @param edges - List of entity edges.
58
63
  * @param nodes - List of entity nodes.
59
- * @returns A formatted string containing facts and entities.
64
+ * @param episodes - List of episodes.
65
+ * @returns A formatted string containing facts, entities, and episodes.
60
66
  */
61
- export function composeContextString(edges, nodes) {
67
+ export function composeContextString(edges, nodes, episodes = []) {
62
68
  const facts = edges.map((edge) => {
63
- return ` - ${edge.fact} (${formatEdgeDateRange(edge)})`;
69
+ return ` - ${edge.fact} (Date range: ${formatEdgeDateRange(edge)})`;
64
70
  });
65
71
  const entities = nodes.map((node) => {
66
- return ` - ${node.name}: ${node.summary}`;
72
+ const entityParts = [`Name: ${node.name}`];
73
+ if (node.labels && node.labels.length > 0) {
74
+ const labels = [...node.labels];
75
+ const entityIndex = labels.indexOf('Entity');
76
+ if (entityIndex > -1) {
77
+ labels.splice(entityIndex, 1);
78
+ }
79
+ if (labels.length > 0) {
80
+ entityParts.push(`Label: ${labels[0]}`);
81
+ }
82
+ }
83
+ if (node.attributes && Object.keys(node.attributes).length > 0) {
84
+ const filteredAttributes = Object.assign({}, node.attributes);
85
+ delete filteredAttributes.labels;
86
+ if (Object.keys(filteredAttributes).length > 0) {
87
+ entityParts.push('Attributes:');
88
+ Object.entries(filteredAttributes).forEach(([key, value]) => {
89
+ entityParts.push(` ${key}: ${value}`);
90
+ });
91
+ }
92
+ }
93
+ if (node.summary && node.summary.trim()) {
94
+ entityParts.push(`Summary: ${node.summary}`);
95
+ }
96
+ return entityParts.join('\n');
67
97
  });
98
+ const episodesList = [];
99
+ if (episodes.length > 0) {
100
+ episodes.forEach((episode) => {
101
+ let rolePrefix = "";
102
+ if (episode.role && episode.roleType) {
103
+ rolePrefix = `${episode.role} (${episode.roleType}): `;
104
+ }
105
+ else if (episode.role) {
106
+ rolePrefix = `${episode.role}: `;
107
+ }
108
+ else if (episode.roleType) {
109
+ rolePrefix = `(${episode.roleType}): `;
110
+ }
111
+ const timestamp = formatDate(new Date(episode.createdAt));
112
+ const episodeStr = ` - ${rolePrefix}${episode.content} (${timestamp})`;
113
+ episodesList.push(episodeStr);
114
+ });
115
+ }
68
116
  const factsStr = facts.join("\n");
69
117
  const entitiesStr = entities.join("\n");
70
- return TEMPLATE_STRING.replace("%facts%", factsStr).replace("%entities%", entitiesStr);
118
+ const episodesStr = episodesList.join("\n");
119
+ const episodesHeader = episodes.length > 0 ? ", and EPISODES" : "";
120
+ const episodesSection = episodes.length > 0
121
+ ? `\n# These are the most relevant episodes\n<EPISODES>\n${episodesStr}\n</EPISODES>`
122
+ : "";
123
+ return TEMPLATE_STRING
124
+ .replace("%episodesHeader%", episodesHeader)
125
+ .replace("%facts%", factsStr)
126
+ .replace("%entities%", entitiesStr)
127
+ .replace("%episodesSection%", episodesSection);
71
128
  }
@@ -1,2 +1 @@
1
1
  export { CreateThreadRequest } from "./CreateThreadRequest.mjs";
2
- export { AddThreadMessagesRequest } from "./AddThreadMessagesRequest.mjs";
@@ -1,2 +1 @@
1
1
  export { CreateThreadRequest } from "./CreateThreadRequest.mjs";
2
- export { AddThreadMessagesRequest } from "./AddThreadMessagesRequest.mjs";
@@ -0,0 +1,16 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ import * as serializers from "../index.mjs";
5
+ import * as Zep from "../../api/index.mjs";
6
+ import * as core from "../../core/index.mjs";
7
+ import { RoleType } from "./RoleType.mjs";
8
+ import { Message } from "./Message.mjs";
9
+ export declare const AddThreadMessagesRequest: core.serialization.ObjectSchema<serializers.AddThreadMessagesRequest.Raw, Zep.AddThreadMessagesRequest>;
10
+ export declare namespace AddThreadMessagesRequest {
11
+ interface Raw {
12
+ ignore_roles?: RoleType.Raw[] | null;
13
+ messages: Message.Raw[];
14
+ return_context?: boolean | null;
15
+ }
16
+ }
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
- import * as core from "../../../../../core/index.mjs";
5
- import { RoleType } from "../../../../types/RoleType.mjs";
6
- import { Message } from "../../../../types/Message.mjs";
4
+ import * as core from "../../core/index.mjs";
5
+ import { RoleType } from "./RoleType.mjs";
6
+ import { Message } from "./Message.mjs";
7
7
  export const AddThreadMessagesRequest = core.serialization.object({
8
8
  ignoreRoles: core.serialization.property("ignore_roles", core.serialization.list(RoleType).optional()),
9
9
  messages: core.serialization.list(Message),
@@ -8,5 +8,6 @@ export declare const AddThreadMessagesResponse: core.serialization.ObjectSchema<
8
8
  export declare namespace AddThreadMessagesResponse {
9
9
  interface Raw {
10
10
  context?: string | null;
11
+ message_uuids?: string[] | null;
11
12
  }
12
13
  }
@@ -4,4 +4,5 @@
4
4
  import * as core from "../../core/index.mjs";
5
5
  export const AddThreadMessagesResponse = core.serialization.object({
6
6
  context: core.serialization.string().optional(),
7
+ messageUuids: core.serialization.property("message_uuids", core.serialization.list(core.serialization.string()).optional()),
7
8
  });
@@ -1,4 +1,5 @@
1
1
  export * from "./ApiError.mjs";
2
+ export * from "./AddThreadMessagesRequest.mjs";
2
3
  export * from "./AddThreadMessagesResponse.mjs";
3
4
  export * from "./CloneGraphResponse.mjs";
4
5
  export * from "./EdgeType.mjs";
@@ -1,4 +1,5 @@
1
1
  export * from "./ApiError.mjs";
2
+ export * from "./AddThreadMessagesRequest.mjs";
2
3
  export * from "./AddThreadMessagesResponse.mjs";
3
4
  export * from "./CloneGraphResponse.mjs";
4
5
  export * from "./EdgeType.mjs";
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "3.1.0";
1
+ export declare const SDK_VERSION = "3.4.0";
@@ -1 +1 @@
1
- export const SDK_VERSION = "3.1.0";
1
+ export const SDK_VERSION = "3.4.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getzep/zep-cloud",
3
- "version": "3.1.0",
3
+ "version": "3.4.0",
4
4
  "private": false,
5
5
  "repository": "https://github.com/getzep/zep-js",
6
6
  "description": "Zep: Fast, scalable building blocks for production LLM apps",
package/reference.md CHANGED
@@ -471,7 +471,7 @@ await client.graph.create({
471
471
  <dl>
472
472
  <dd>
473
473
 
474
- Returns all graphs.
474
+ Returns all graphs. In order to list users, use user.list_ordered instead
475
475
 
476
476
  </dd>
477
477
  </dl>
@@ -1198,6 +1198,84 @@ await client.thread.addMessages("threadId", {
1198
1198
  </dl>
1199
1199
  </details>
1200
1200
 
1201
+ <details><summary><code>client.thread.<a href="/src/api/resources/thread/client/Client.ts">addMessagesBatch</a>(threadId, { ...params }) -> Zep.AddThreadMessagesResponse</code></summary>
1202
+ <dl>
1203
+ <dd>
1204
+
1205
+ #### 📝 Description
1206
+
1207
+ <dl>
1208
+ <dd>
1209
+
1210
+ <dl>
1211
+ <dd>
1212
+
1213
+ Add messages to a thread in batch mode. This will process messages concurrently, which is useful for data migrations.
1214
+
1215
+ </dd>
1216
+ </dl>
1217
+ </dd>
1218
+ </dl>
1219
+
1220
+ #### 🔌 Usage
1221
+
1222
+ <dl>
1223
+ <dd>
1224
+
1225
+ <dl>
1226
+ <dd>
1227
+
1228
+ ```typescript
1229
+ await client.thread.addMessagesBatch("threadId", {
1230
+ messages: [
1231
+ {
1232
+ content: "content",
1233
+ role: "norole",
1234
+ },
1235
+ ],
1236
+ });
1237
+ ```
1238
+
1239
+ </dd>
1240
+ </dl>
1241
+ </dd>
1242
+ </dl>
1243
+
1244
+ #### ⚙️ Parameters
1245
+
1246
+ <dl>
1247
+ <dd>
1248
+
1249
+ <dl>
1250
+ <dd>
1251
+
1252
+ **threadId:** `string` — The ID of the thread to which messages should be added.
1253
+
1254
+ </dd>
1255
+ </dl>
1256
+
1257
+ <dl>
1258
+ <dd>
1259
+
1260
+ **request:** `Zep.AddThreadMessagesRequest`
1261
+
1262
+ </dd>
1263
+ </dl>
1264
+
1265
+ <dl>
1266
+ <dd>
1267
+
1268
+ **requestOptions:** `Thread.RequestOptions`
1269
+
1270
+ </dd>
1271
+ </dl>
1272
+ </dd>
1273
+ </dl>
1274
+
1275
+ </dd>
1276
+ </dl>
1277
+ </details>
1278
+
1201
1279
  ## User
1202
1280
 
1203
1281
  <details><summary><code>client.user.<a href="/src/api/resources/user/client/Client.ts">add</a>({ ...params }) -> Zep.User</code></summary>
@@ -1,16 +0,0 @@
1
- /**
2
- * This file was auto-generated by Fern from our API Definition.
3
- */
4
- import * as serializers from "../../../../index.js";
5
- import * as Zep from "../../../../../api/index.js";
6
- import * as core from "../../../../../core/index.js";
7
- import { RoleType } from "../../../../types/RoleType.js";
8
- import { Message } from "../../../../types/Message.js";
9
- export declare const AddThreadMessagesRequest: core.serialization.Schema<serializers.AddThreadMessagesRequest.Raw, Zep.AddThreadMessagesRequest>;
10
- export declare namespace AddThreadMessagesRequest {
11
- interface Raw {
12
- ignore_roles?: RoleType.Raw[] | null;
13
- messages: Message.Raw[];
14
- return_context?: boolean | null;
15
- }
16
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * This file was auto-generated by Fern from our API Definition.
3
- */
4
- import * as serializers from "../../../../index.mjs";
5
- import * as Zep from "../../../../../api/index.mjs";
6
- import * as core from "../../../../../core/index.mjs";
7
- import { RoleType } from "../../../../types/RoleType.mjs";
8
- import { Message } from "../../../../types/Message.mjs";
9
- export declare const AddThreadMessagesRequest: core.serialization.Schema<serializers.AddThreadMessagesRequest.Raw, Zep.AddThreadMessagesRequest>;
10
- export declare namespace AddThreadMessagesRequest {
11
- interface Raw {
12
- ignore_roles?: RoleType.Raw[] | null;
13
- messages: Message.Raw[];
14
- return_context?: boolean | null;
15
- }
16
- }