@getzep/zep-cloud 3.2.0 → 3.4.1
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.
- package/dist/cjs/Client.js +2 -2
- package/dist/cjs/api/resources/graph/client/Client.d.ts +1 -1
- package/dist/cjs/api/resources/graph/client/Client.js +1 -1
- package/dist/cjs/api/resources/thread/client/Client.d.ts +21 -2
- package/dist/cjs/api/resources/thread/client/Client.js +86 -2
- package/dist/cjs/api/resources/thread/client/requests/index.d.ts +0 -1
- package/dist/cjs/api/{resources/thread/client/requests → types}/AddThreadMessagesRequest.d.ts +2 -11
- package/dist/cjs/api/types/AddThreadMessagesResponse.d.ts +1 -0
- package/dist/cjs/api/types/ThreadContextResponse.d.ts +1 -1
- package/dist/cjs/api/types/index.d.ts +1 -0
- package/dist/cjs/api/types/index.js +1 -0
- package/dist/cjs/contextString.d.ts +5 -4
- package/dist/cjs/contextString.js +65 -8
- package/dist/cjs/serialization/resources/thread/client/requests/index.d.ts +0 -1
- package/dist/cjs/serialization/resources/thread/client/requests/index.js +1 -3
- package/dist/cjs/serialization/types/AddThreadMessagesRequest.d.ts +16 -0
- package/dist/cjs/serialization/{resources/thread/client/requests → types}/AddThreadMessagesRequest.js +3 -3
- package/dist/cjs/serialization/types/AddThreadMessagesResponse.d.ts +1 -0
- package/dist/cjs/serialization/types/AddThreadMessagesResponse.js +1 -0
- package/dist/cjs/serialization/types/index.d.ts +1 -0
- package/dist/cjs/serialization/types/index.js +1 -0
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/Client.mjs +2 -2
- package/dist/esm/api/resources/graph/client/Client.d.mts +1 -1
- package/dist/esm/api/resources/graph/client/Client.mjs +1 -1
- package/dist/esm/api/resources/thread/client/Client.d.mts +21 -2
- package/dist/esm/api/resources/thread/client/Client.mjs +86 -2
- package/dist/esm/api/resources/thread/client/requests/index.d.mts +0 -1
- package/dist/esm/api/{resources/thread/client/requests → types}/AddThreadMessagesRequest.d.mts +2 -11
- package/dist/esm/api/types/AddThreadMessagesResponse.d.mts +1 -0
- package/dist/esm/api/types/ThreadContextResponse.d.mts +1 -1
- package/dist/esm/api/types/index.d.mts +1 -0
- package/dist/esm/api/types/index.mjs +1 -0
- package/dist/esm/contextString.d.mts +5 -4
- package/dist/esm/contextString.mjs +65 -8
- package/dist/esm/serialization/resources/thread/client/requests/index.d.mts +0 -1
- package/dist/esm/serialization/resources/thread/client/requests/index.mjs +0 -1
- package/dist/esm/serialization/types/AddThreadMessagesRequest.d.mts +16 -0
- package/dist/esm/serialization/{resources/thread/client/requests → types}/AddThreadMessagesRequest.mjs +3 -3
- package/dist/esm/serialization/types/AddThreadMessagesResponse.d.mts +1 -0
- package/dist/esm/serialization/types/AddThreadMessagesResponse.mjs +1 -0
- package/dist/esm/serialization/types/index.d.mts +1 -0
- package/dist/esm/serialization/types/index.mjs +1 -0
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +1 -1
- package/package.json +1 -1
- package/reference.md +81 -3
- package/dist/cjs/serialization/resources/thread/client/requests/AddThreadMessagesRequest.d.ts +0 -16
- package/dist/esm/serialization/resources/thread/client/requests/AddThreadMessagesRequest.d.mts +0 -16
- /package/dist/cjs/api/{resources/thread/client/requests → types}/AddThreadMessagesRequest.js +0 -0
- /package/dist/esm/api/{resources/thread/client/requests → types}/AddThreadMessagesRequest.mjs +0 -0
package/dist/cjs/Client.js
CHANGED
|
@@ -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.
|
|
51
|
-
"User-Agent": "zep-cloud/3.
|
|
50
|
+
"X-Fern-SDK-Version": "3.4.1",
|
|
51
|
+
"User-Agent": "zep-cloud/3.4.1",
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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.
|
|
@@ -74,9 +74,9 @@ export declare class Thread {
|
|
|
74
74
|
delete(threadId: string, requestOptions?: Thread.RequestOptions): core.HttpResponsePromise<Zep.SuccessResponse>;
|
|
75
75
|
private __delete;
|
|
76
76
|
/**
|
|
77
|
-
* Returns most relevant context
|
|
77
|
+
* Returns most relevant context from the user graph (including memory from any/all past threads) based on the content of the past few messages of the given thread.
|
|
78
78
|
*
|
|
79
|
-
* @param {string} threadId - The ID of the thread for which
|
|
79
|
+
* @param {string} threadId - The ID of the current thread (for which context is being retrieved).
|
|
80
80
|
* @param {Zep.ThreadGetUserContextRequest} request
|
|
81
81
|
* @param {Thread.RequestOptions} requestOptions - Request-specific configuration.
|
|
82
82
|
*
|
|
@@ -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
|
}>;
|
|
@@ -324,9 +324,9 @@ class Thread {
|
|
|
324
324
|
});
|
|
325
325
|
}
|
|
326
326
|
/**
|
|
327
|
-
* Returns most relevant context
|
|
327
|
+
* Returns most relevant context from the user graph (including memory from any/all past threads) based on the content of the past few messages of the given thread.
|
|
328
328
|
*
|
|
329
|
-
* @param {string} threadId - The ID of the thread for which
|
|
329
|
+
* @param {string} threadId - The ID of the current thread (for which context is being retrieved).
|
|
330
330
|
* @param {Zep.ThreadGetUserContextRequest} request
|
|
331
331
|
* @param {Thread.RequestOptions} requestOptions - Request-specific configuration.
|
|
332
332
|
*
|
|
@@ -595,6 +595,90 @@ class Thread {
|
|
|
595
595
|
}
|
|
596
596
|
});
|
|
597
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
|
+
}
|
|
598
682
|
_getCustomAuthorizationHeaders() {
|
|
599
683
|
return __awaiter(this, void 0, void 0, function* () {
|
|
600
684
|
var _a;
|
|
@@ -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";
|
package/dist/cjs/api/{resources/thread/client/requests → types}/AddThreadMessagesRequest.d.ts
RENAMED
|
@@ -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 "
|
|
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.
|
|
@@ -20,6 +11,6 @@ export interface AddThreadMessagesRequest {
|
|
|
20
11
|
ignoreRoles?: Zep.RoleType[];
|
|
21
12
|
/** A list of message objects, where each message contains a role and content. */
|
|
22
13
|
messages: Zep.Message[];
|
|
23
|
-
/** Optionally return
|
|
14
|
+
/** Optionally return context block relevant to the most recent messages. */
|
|
24
15
|
returnContext?: boolean;
|
|
25
16
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
* This file was auto-generated by Fern from our API Definition.
|
|
3
3
|
*/
|
|
4
4
|
export interface ThreadContextResponse {
|
|
5
|
-
/**
|
|
5
|
+
/** Context block containing relevant facts, entities, and messages/episodes from the user graph. Meant to be replaced in the system prompt on every chat turn. */
|
|
6
6
|
context?: string;
|
|
7
7
|
}
|
|
@@ -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
|
|
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
|
-
* @
|
|
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
|
-
#
|
|
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
|
|
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
|
-
* @
|
|
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
|
-
|
|
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
|
-
|
|
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,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
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("
|
|
41
|
-
const RoleType_js_1 = require("
|
|
42
|
-
const Message_js_1 = require("
|
|
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),
|
|
@@ -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
|
});
|
|
@@ -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);
|
package/dist/cjs/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "3.
|
|
1
|
+
export declare const SDK_VERSION = "3.4.1";
|
package/dist/cjs/version.js
CHANGED
package/dist/esm/Client.mjs
CHANGED
|
@@ -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.
|
|
15
|
-
"User-Agent": "zep-cloud/3.
|
|
14
|
+
"X-Fern-SDK-Version": "3.4.1",
|
|
15
|
+
"User-Agent": "zep-cloud/3.4.1",
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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.
|
|
@@ -74,9 +74,9 @@ export declare class Thread {
|
|
|
74
74
|
delete(threadId: string, requestOptions?: Thread.RequestOptions): core.HttpResponsePromise<Zep.SuccessResponse>;
|
|
75
75
|
private __delete;
|
|
76
76
|
/**
|
|
77
|
-
* Returns most relevant context
|
|
77
|
+
* Returns most relevant context from the user graph (including memory from any/all past threads) based on the content of the past few messages of the given thread.
|
|
78
78
|
*
|
|
79
|
-
* @param {string} threadId - The ID of the thread for which
|
|
79
|
+
* @param {string} threadId - The ID of the current thread (for which context is being retrieved).
|
|
80
80
|
* @param {Zep.ThreadGetUserContextRequest} request
|
|
81
81
|
* @param {Thread.RequestOptions} requestOptions - Request-specific configuration.
|
|
82
82
|
*
|
|
@@ -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
|
}>;
|
|
@@ -288,9 +288,9 @@ export class Thread {
|
|
|
288
288
|
});
|
|
289
289
|
}
|
|
290
290
|
/**
|
|
291
|
-
* Returns most relevant context
|
|
291
|
+
* Returns most relevant context from the user graph (including memory from any/all past threads) based on the content of the past few messages of the given thread.
|
|
292
292
|
*
|
|
293
|
-
* @param {string} threadId - The ID of the thread for which
|
|
293
|
+
* @param {string} threadId - The ID of the current thread (for which context is being retrieved).
|
|
294
294
|
* @param {Zep.ThreadGetUserContextRequest} request
|
|
295
295
|
* @param {Thread.RequestOptions} requestOptions - Request-specific configuration.
|
|
296
296
|
*
|
|
@@ -559,6 +559,90 @@ export class Thread {
|
|
|
559
559
|
}
|
|
560
560
|
});
|
|
561
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
|
+
}
|
|
562
646
|
_getCustomAuthorizationHeaders() {
|
|
563
647
|
return __awaiter(this, void 0, void 0, function* () {
|
|
564
648
|
var _a;
|
|
@@ -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";
|
package/dist/esm/api/{resources/thread/client/requests → types}/AddThreadMessagesRequest.d.mts
RENAMED
|
@@ -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 "
|
|
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.
|
|
@@ -20,6 +11,6 @@ export interface AddThreadMessagesRequest {
|
|
|
20
11
|
ignoreRoles?: Zep.RoleType[];
|
|
21
12
|
/** A list of message objects, where each message contains a role and content. */
|
|
22
13
|
messages: Zep.Message[];
|
|
23
|
-
/** Optionally return
|
|
14
|
+
/** Optionally return context block relevant to the most recent messages. */
|
|
24
15
|
returnContext?: boolean;
|
|
25
16
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
* This file was auto-generated by Fern from our API Definition.
|
|
3
3
|
*/
|
|
4
4
|
export interface ThreadContextResponse {
|
|
5
|
-
/**
|
|
5
|
+
/** Context block containing relevant facts, entities, and messages/episodes from the user graph. Meant to be replaced in the system prompt on every chat turn. */
|
|
6
6
|
context?: string;
|
|
7
7
|
}
|
|
@@ -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
|
|
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
|
-
* @
|
|
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
|
-
#
|
|
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
|
|
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
|
-
* @
|
|
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
|
-
|
|
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
|
-
|
|
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
|
}
|
|
@@ -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 "
|
|
5
|
-
import { RoleType } from "
|
|
6
|
-
import { Message } from "
|
|
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),
|
|
@@ -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
|
});
|
package/dist/esm/version.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "3.
|
|
1
|
+
export declare const SDK_VERSION = "3.4.1";
|
package/dist/esm/version.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const SDK_VERSION = "3.
|
|
1
|
+
export const SDK_VERSION = "3.4.1";
|
package/package.json
CHANGED
package/reference.md
CHANGED
|
@@ -471,7 +471,7 @@ await client.graph.create({
|
|
|
471
471
|
<dl>
|
|
472
472
|
<dd>
|
|
473
473
|
|
|
474
|
-
|
|
474
|
+
Returns all graphs. In order to list users, use user.list_ordered instead
|
|
475
475
|
|
|
476
476
|
</dd>
|
|
477
477
|
</dl>
|
|
@@ -990,7 +990,7 @@ await client.thread.delete("threadId");
|
|
|
990
990
|
<dl>
|
|
991
991
|
<dd>
|
|
992
992
|
|
|
993
|
-
Returns most relevant context
|
|
993
|
+
Returns most relevant context from the user graph (including memory from any/all past threads) based on the content of the past few messages of the given thread.
|
|
994
994
|
|
|
995
995
|
</dd>
|
|
996
996
|
</dl>
|
|
@@ -1022,7 +1022,7 @@ await client.thread.getUserContext("threadId");
|
|
|
1022
1022
|
<dl>
|
|
1023
1023
|
<dd>
|
|
1024
1024
|
|
|
1025
|
-
**threadId:** `string` — The ID of the thread for which
|
|
1025
|
+
**threadId:** `string` — The ID of the current thread (for which context is being retrieved).
|
|
1026
1026
|
|
|
1027
1027
|
</dd>
|
|
1028
1028
|
</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>
|
package/dist/cjs/serialization/resources/thread/client/requests/AddThreadMessagesRequest.d.ts
DELETED
|
@@ -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
|
-
}
|
package/dist/esm/serialization/resources/thread/client/requests/AddThreadMessagesRequest.d.mts
DELETED
|
@@ -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
|
-
}
|
/package/dist/cjs/api/{resources/thread/client/requests → types}/AddThreadMessagesRequest.js
RENAMED
|
File without changes
|
/package/dist/esm/api/{resources/thread/client/requests → types}/AddThreadMessagesRequest.mjs
RENAMED
|
File without changes
|