@getzep/zep-cloud 2.5.0 → 2.6.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.
- package/api/resources/document/client/Client.js +13 -13
- package/api/resources/graph/client/Client.js +3 -3
- package/api/resources/graph/resources/edge/client/Client.js +4 -4
- package/api/resources/graph/resources/episode/client/Client.js +4 -4
- package/api/resources/graph/resources/node/client/Client.js +3 -3
- package/api/resources/group/client/Client.js +6 -6
- package/api/resources/memory/client/Client.js +22 -22
- package/api/resources/memory/client/requests/AddMemoryRequest.d.ts +6 -0
- package/api/resources/user/client/Client.js +8 -8
- package/dist/api/resources/document/client/Client.js +13 -13
- package/dist/api/resources/graph/client/Client.js +3 -3
- package/dist/api/resources/graph/resources/edge/client/Client.js +4 -4
- package/dist/api/resources/graph/resources/episode/client/Client.js +4 -4
- package/dist/api/resources/graph/resources/node/client/Client.js +3 -3
- package/dist/api/resources/group/client/Client.js +6 -6
- package/dist/api/resources/memory/client/Client.js +22 -22
- package/dist/api/resources/memory/client/requests/AddMemoryRequest.d.ts +6 -0
- package/dist/api/resources/user/client/Client.js +8 -8
- package/dist/serialization/resources/memory/client/requests/AddMemoryRequest.d.ts +2 -0
- package/dist/serialization/resources/memory/client/requests/AddMemoryRequest.js +2 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/examples/langgraph/.env.example +7 -0
- package/examples/langgraph/README.md +165 -0
- package/examples/langgraph/agent.ts +261 -0
- package/examples/langgraph/package-lock.json +1697 -0
- package/examples/langgraph/package.json +20 -0
- package/examples/langgraph/zep-memory.ts +271 -0
- package/package.json +1 -1
- package/serialization/resources/memory/client/requests/AddMemoryRequest.d.ts +2 -0
- package/serialization/resources/memory/client/requests/AddMemoryRequest.js +2 -0
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -88,7 +88,7 @@ class Memory {
|
|
|
88
88
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
89
89
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `facts/${encodeURIComponent(factUuid)}`),
|
|
90
90
|
method: "GET",
|
|
91
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
91
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
92
92
|
contentType: "application/json",
|
|
93
93
|
requestType: "json",
|
|
94
94
|
timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
|
|
@@ -162,7 +162,7 @@ class Memory {
|
|
|
162
162
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
163
163
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `facts/${encodeURIComponent(factUuid)}`),
|
|
164
164
|
method: "DELETE",
|
|
165
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
165
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
166
166
|
contentType: "application/json",
|
|
167
167
|
requestType: "json",
|
|
168
168
|
timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
|
|
@@ -239,7 +239,7 @@ class Memory {
|
|
|
239
239
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
240
240
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, "sessions"),
|
|
241
241
|
method: "POST",
|
|
242
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
242
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
243
243
|
contentType: "application/json",
|
|
244
244
|
requestType: "json",
|
|
245
245
|
body: serializers.CreateSessionRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }),
|
|
@@ -328,7 +328,7 @@ class Memory {
|
|
|
328
328
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
329
329
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, "sessions-ordered"),
|
|
330
330
|
method: "GET",
|
|
331
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
331
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
332
332
|
contentType: "application/json",
|
|
333
333
|
queryParameters: _queryParams,
|
|
334
334
|
requestType: "json",
|
|
@@ -406,7 +406,7 @@ class Memory {
|
|
|
406
406
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
407
407
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, "sessions/end"),
|
|
408
408
|
method: "POST",
|
|
409
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
409
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
410
410
|
contentType: "application/json",
|
|
411
411
|
requestType: "json",
|
|
412
412
|
body: serializers.EndSessionsRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }),
|
|
@@ -495,7 +495,7 @@ class Memory {
|
|
|
495
495
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
496
496
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, "sessions/search"),
|
|
497
497
|
method: "POST",
|
|
498
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
498
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
499
499
|
contentType: "application/json",
|
|
500
500
|
queryParameters: _queryParams,
|
|
501
501
|
requestType: "json",
|
|
@@ -563,7 +563,7 @@ class Memory {
|
|
|
563
563
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
564
564
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `sessions/${encodeURIComponent(sessionId)}`),
|
|
565
565
|
method: "GET",
|
|
566
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
566
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
567
567
|
contentType: "application/json",
|
|
568
568
|
requestType: "json",
|
|
569
569
|
timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
|
|
@@ -644,7 +644,7 @@ class Memory {
|
|
|
644
644
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
645
645
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `sessions/${encodeURIComponent(sessionId)}`),
|
|
646
646
|
method: "PATCH",
|
|
647
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
647
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
648
648
|
contentType: "application/json",
|
|
649
649
|
requestType: "json",
|
|
650
650
|
body: serializers.UpdateSessionRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }),
|
|
@@ -739,7 +739,7 @@ class Memory {
|
|
|
739
739
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
740
740
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `sessions/${encodeURIComponent(sessionId)}/classify`),
|
|
741
741
|
method: "POST",
|
|
742
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
742
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
743
743
|
contentType: "application/json",
|
|
744
744
|
requestType: "json",
|
|
745
745
|
body: serializers.ClassifySessionRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }),
|
|
@@ -816,7 +816,7 @@ class Memory {
|
|
|
816
816
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
817
817
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `sessions/${encodeURIComponent(sessionId)}/end`),
|
|
818
818
|
method: "POST",
|
|
819
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
819
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
820
820
|
contentType: "application/json",
|
|
821
821
|
requestType: "json",
|
|
822
822
|
body: serializers.EndSessionRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }),
|
|
@@ -904,7 +904,7 @@ class Memory {
|
|
|
904
904
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
905
905
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `sessions/${encodeURIComponent(sessionId)}/extract`),
|
|
906
906
|
method: "POST",
|
|
907
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
907
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
908
908
|
contentType: "application/json",
|
|
909
909
|
requestType: "json",
|
|
910
910
|
body: serializers.ExtractDataRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }),
|
|
@@ -993,7 +993,7 @@ class Memory {
|
|
|
993
993
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
994
994
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `sessions/${encodeURIComponent(sessionId)}/facts`),
|
|
995
995
|
method: "GET",
|
|
996
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
996
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
997
997
|
contentType: "application/json",
|
|
998
998
|
queryParameters: _queryParams,
|
|
999
999
|
requestType: "json",
|
|
@@ -1069,7 +1069,7 @@ class Memory {
|
|
|
1069
1069
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
1070
1070
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `sessions/${encodeURIComponent(sessionId)}/facts`),
|
|
1071
1071
|
method: "POST",
|
|
1072
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
1072
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
1073
1073
|
contentType: "application/json",
|
|
1074
1074
|
requestType: "json",
|
|
1075
1075
|
body: serializers.AddFactsRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }),
|
|
@@ -1153,7 +1153,7 @@ class Memory {
|
|
|
1153
1153
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
1154
1154
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `sessions/${encodeURIComponent(sessionId)}/memory`),
|
|
1155
1155
|
method: "GET",
|
|
1156
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
1156
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
1157
1157
|
contentType: "application/json",
|
|
1158
1158
|
queryParameters: _queryParams,
|
|
1159
1159
|
requestType: "json",
|
|
@@ -1233,7 +1233,7 @@ class Memory {
|
|
|
1233
1233
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
1234
1234
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `sessions/${encodeURIComponent(sessionId)}/memory`),
|
|
1235
1235
|
method: "POST",
|
|
1236
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
1236
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
1237
1237
|
contentType: "application/json",
|
|
1238
1238
|
requestType: "json",
|
|
1239
1239
|
body: serializers.AddMemoryRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }),
|
|
@@ -1300,7 +1300,7 @@ class Memory {
|
|
|
1300
1300
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
1301
1301
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `sessions/${encodeURIComponent(sessionId)}/memory`),
|
|
1302
1302
|
method: "DELETE",
|
|
1303
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
1303
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
1304
1304
|
contentType: "application/json",
|
|
1305
1305
|
requestType: "json",
|
|
1306
1306
|
timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
|
|
@@ -1383,7 +1383,7 @@ class Memory {
|
|
|
1383
1383
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
1384
1384
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `sessions/${encodeURIComponent(sessionId)}/messages`),
|
|
1385
1385
|
method: "GET",
|
|
1386
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
1386
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
1387
1387
|
contentType: "application/json",
|
|
1388
1388
|
queryParameters: _queryParams,
|
|
1389
1389
|
requestType: "json",
|
|
@@ -1459,7 +1459,7 @@ class Memory {
|
|
|
1459
1459
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
1460
1460
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `sessions/${encodeURIComponent(sessionId)}/messages/${encodeURIComponent(messageUuid)}`),
|
|
1461
1461
|
method: "GET",
|
|
1462
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
1462
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
1463
1463
|
contentType: "application/json",
|
|
1464
1464
|
requestType: "json",
|
|
1465
1465
|
timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
|
|
@@ -1539,7 +1539,7 @@ class Memory {
|
|
|
1539
1539
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
1540
1540
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `sessions/${encodeURIComponent(sessionId)}/messages/${encodeURIComponent(messageUuid)}`),
|
|
1541
1541
|
method: "PATCH",
|
|
1542
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
1542
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
1543
1543
|
contentType: "application/json",
|
|
1544
1544
|
requestType: "json",
|
|
1545
1545
|
body: serializers.ModelsMessageMetadataUpdate.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }),
|
|
@@ -1618,7 +1618,7 @@ class Memory {
|
|
|
1618
1618
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
1619
1619
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `sessions/${encodeURIComponent(sessionId)}/search`),
|
|
1620
1620
|
method: "POST",
|
|
1621
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
1621
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
1622
1622
|
contentType: "application/json",
|
|
1623
1623
|
queryParameters: _queryParams,
|
|
1624
1624
|
requestType: "json",
|
|
@@ -1694,7 +1694,7 @@ class Memory {
|
|
|
1694
1694
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
1695
1695
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `sessions/${encodeURIComponent(sessionId)}/summary`),
|
|
1696
1696
|
method: "GET",
|
|
1697
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
1697
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
1698
1698
|
contentType: "application/json",
|
|
1699
1699
|
requestType: "json",
|
|
1700
1700
|
timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
|
|
@@ -1774,7 +1774,7 @@ class Memory {
|
|
|
1774
1774
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
1775
1775
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `sessions/${encodeURIComponent(sessionId)}/synthesize_question`),
|
|
1776
1776
|
method: "GET",
|
|
1777
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
1777
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
1778
1778
|
contentType: "application/json",
|
|
1779
1779
|
queryParameters: _queryParams,
|
|
1780
1780
|
requestType: "json",
|
|
@@ -14,6 +14,12 @@ import * as Zep from "../../../../index";
|
|
|
14
14
|
export interface AddMemoryRequest {
|
|
15
15
|
/** Deprecated */
|
|
16
16
|
factInstruction?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Optional list of role types to ignore when adding messages to graph memory.
|
|
19
|
+
* The message itself will still be added retained and used as context for messages
|
|
20
|
+
* that are added to a user's graph.
|
|
21
|
+
*/
|
|
22
|
+
ignoreRoles?: Zep.RoleType[];
|
|
17
23
|
/** A list of message objects, where each message contains a role and content. */
|
|
18
24
|
messages: Zep.Message[];
|
|
19
25
|
/** Optionally return memory context relevant to the most recent messages. */
|
|
@@ -77,7 +77,7 @@ class User {
|
|
|
77
77
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
78
78
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, "users"),
|
|
79
79
|
method: "POST",
|
|
80
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
80
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
81
81
|
contentType: "application/json",
|
|
82
82
|
requestType: "json",
|
|
83
83
|
body: serializers.CreateUserRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }),
|
|
@@ -160,7 +160,7 @@ class User {
|
|
|
160
160
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
161
161
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, "users-ordered"),
|
|
162
162
|
method: "GET",
|
|
163
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
163
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
164
164
|
contentType: "application/json",
|
|
165
165
|
queryParameters: _queryParams,
|
|
166
166
|
requestType: "json",
|
|
@@ -235,7 +235,7 @@ class User {
|
|
|
235
235
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
236
236
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `users/${encodeURIComponent(userId)}`),
|
|
237
237
|
method: "GET",
|
|
238
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
238
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
239
239
|
contentType: "application/json",
|
|
240
240
|
requestType: "json",
|
|
241
241
|
timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
|
|
@@ -309,7 +309,7 @@ class User {
|
|
|
309
309
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
310
310
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `users/${encodeURIComponent(userId)}`),
|
|
311
311
|
method: "DELETE",
|
|
312
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
312
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
313
313
|
contentType: "application/json",
|
|
314
314
|
requestType: "json",
|
|
315
315
|
timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
|
|
@@ -385,7 +385,7 @@ class User {
|
|
|
385
385
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
386
386
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `users/${encodeURIComponent(userId)}`),
|
|
387
387
|
method: "PATCH",
|
|
388
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
388
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
389
389
|
contentType: "application/json",
|
|
390
390
|
requestType: "json",
|
|
391
391
|
body: serializers.UpdateUserRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }),
|
|
@@ -468,7 +468,7 @@ class User {
|
|
|
468
468
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
469
469
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `users/${encodeURIComponent(userId)}/facts`),
|
|
470
470
|
method: "GET",
|
|
471
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
471
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
472
472
|
contentType: "application/json",
|
|
473
473
|
requestType: "json",
|
|
474
474
|
timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
|
|
@@ -542,7 +542,7 @@ class User {
|
|
|
542
542
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
543
543
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `users/${encodeURIComponent(userId)}/node`),
|
|
544
544
|
method: "GET",
|
|
545
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
545
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
546
546
|
contentType: "application/json",
|
|
547
547
|
requestType: "json",
|
|
548
548
|
timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
|
|
@@ -615,7 +615,7 @@ class User {
|
|
|
615
615
|
const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
|
|
616
616
|
url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.ZepEnvironment.Default, `users/${encodeURIComponent(userId)}/sessions`),
|
|
617
617
|
method: "GET",
|
|
618
|
-
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.
|
|
618
|
+
headers: Object.assign(Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "zep-cloud", "X-Fern-SDK-Version": "2.6.0", "User-Agent": "zep-cloud/2.6.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
|
|
619
619
|
contentType: "application/json",
|
|
620
620
|
requestType: "json",
|
|
621
621
|
timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
|
|
@@ -4,11 +4,13 @@
|
|
|
4
4
|
import * as serializers from "../../../../index";
|
|
5
5
|
import * as Zep from "../../../../../api/index";
|
|
6
6
|
import * as core from "../../../../../core";
|
|
7
|
+
import { RoleType } from "../../../../types/RoleType";
|
|
7
8
|
import { Message } from "../../../../types/Message";
|
|
8
9
|
export declare const AddMemoryRequest: core.serialization.Schema<serializers.AddMemoryRequest.Raw, Zep.AddMemoryRequest>;
|
|
9
10
|
export declare namespace AddMemoryRequest {
|
|
10
11
|
interface Raw {
|
|
11
12
|
fact_instruction?: string | null;
|
|
13
|
+
ignore_roles?: RoleType.Raw[] | null;
|
|
12
14
|
messages: Message.Raw[];
|
|
13
15
|
return_context?: boolean | null;
|
|
14
16
|
summary_instruction?: string | null;
|
|
@@ -38,9 +38,11 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.AddMemoryRequest = void 0;
|
|
40
40
|
const core = __importStar(require("../../../../../core"));
|
|
41
|
+
const RoleType_1 = require("../../../../types/RoleType");
|
|
41
42
|
const Message_1 = require("../../../../types/Message");
|
|
42
43
|
exports.AddMemoryRequest = core.serialization.object({
|
|
43
44
|
factInstruction: core.serialization.property("fact_instruction", core.serialization.string().optional()),
|
|
45
|
+
ignoreRoles: core.serialization.property("ignore_roles", core.serialization.list(RoleType_1.RoleType).optional()),
|
|
44
46
|
messages: core.serialization.list(Message_1.Message),
|
|
45
47
|
returnContext: core.serialization.property("return_context", core.serialization.boolean().optional()),
|
|
46
48
|
summaryInstruction: core.serialization.property("summary_instruction", core.serialization.string().optional()),
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "2.
|
|
1
|
+
export declare const SDK_VERSION = "2.6.0";
|
package/dist/version.js
CHANGED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# LangGraph CLI Agent
|
|
2
|
+
|
|
3
|
+
This is a simple CLI agent built with LangGraph.js that can answer questions and use tools to search for information. It also integrates with Zep for memory persistence.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- Node.js 18+ installed
|
|
8
|
+
- OpenAI API key
|
|
9
|
+
- Tavily API key (for search functionality)
|
|
10
|
+
- Zep API key (for memory persistence)
|
|
11
|
+
|
|
12
|
+
## Setup
|
|
13
|
+
|
|
14
|
+
1. Install dependencies:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
2. Create a `.env` file in this directory with your API keys:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
OPENAI_API_KEY=your_openai_api_key_here
|
|
24
|
+
TAVILY_API_KEY=your_tavily_api_key_here
|
|
25
|
+
ZEP_API_KEY=your_zep_api_key_here
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Running the Agent
|
|
29
|
+
|
|
30
|
+
To start the CLI agent, run:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npm start
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Command-Line Options
|
|
37
|
+
|
|
38
|
+
The agent supports various command-line options through Commander.js:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Get help
|
|
42
|
+
npm start -- --help
|
|
43
|
+
|
|
44
|
+
# Basic usage with user ID
|
|
45
|
+
npm start -- --userId john_doe
|
|
46
|
+
|
|
47
|
+
# Using kebab-case format
|
|
48
|
+
npm start -- --user-id john_doe --session-id vacation_planning
|
|
49
|
+
|
|
50
|
+
# Customize the system message
|
|
51
|
+
npm start -- --system-message "You are a travel assistant helping with vacation planning."
|
|
52
|
+
|
|
53
|
+
# Enable debug mode
|
|
54
|
+
npm start -- --debug
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Available options:
|
|
58
|
+
|
|
59
|
+
| Option | Description |
|
|
60
|
+
| ---------------------------- | ------------------------------------------ |
|
|
61
|
+
| `--userId <id>` | User ID to associate with the conversation |
|
|
62
|
+
| `--user-id <id>` | Alternative format for user ID |
|
|
63
|
+
| `--sessionId <id>` | Session ID for the conversation |
|
|
64
|
+
| `--session-id <id>` | Alternative format for session ID |
|
|
65
|
+
| `--system-message <message>` | Custom system message to use |
|
|
66
|
+
| `--debug` | Enable debug mode with additional logging |
|
|
67
|
+
| `--help` | Display help information |
|
|
68
|
+
| `--version` | Display version information |
|
|
69
|
+
|
|
70
|
+
### Memory Features
|
|
71
|
+
|
|
72
|
+
Using the user ID and session ID options allows you to:
|
|
73
|
+
|
|
74
|
+
- **Maintain separate conversation histories** for different users
|
|
75
|
+
- **Continue specific conversations** by using the same session ID
|
|
76
|
+
- **Group related conversations** under the same user ID
|
|
77
|
+
- **Switch between different contexts** by changing the session ID
|
|
78
|
+
|
|
79
|
+
The agent will automatically create users and sessions in Zep if they don't exist, and will load previous conversation history when available.
|
|
80
|
+
|
|
81
|
+
## Features
|
|
82
|
+
|
|
83
|
+
This will launch an interactive CLI where you can chat with the agent. Type your questions and the agent will respond. The agent can:
|
|
84
|
+
|
|
85
|
+
- Answer general knowledge questions
|
|
86
|
+
- Search the web for information using Tavily
|
|
87
|
+
- Maintain context throughout the conversation
|
|
88
|
+
- Persist conversation history using Zep memory
|
|
89
|
+
- Retrieve past conversations when restarted
|
|
90
|
+
- Associate conversations with specific users
|
|
91
|
+
- Continue conversations across different sessions
|
|
92
|
+
- Use custom system messages
|
|
93
|
+
|
|
94
|
+
Type `exit` to quit the application.
|
|
95
|
+
|
|
96
|
+
## How It Works
|
|
97
|
+
|
|
98
|
+
This agent is built using LangGraph.js, which allows for creating stateful, multi-step AI workflows as graphs. The agent:
|
|
99
|
+
|
|
100
|
+
1. Takes user input
|
|
101
|
+
2. Processes it through an LLM (OpenAI)
|
|
102
|
+
3. Decides whether to use tools or respond directly
|
|
103
|
+
4. If tools are needed, executes them and returns to the LLM
|
|
104
|
+
5. Returns the final response to the user
|
|
105
|
+
6. Persists all messages to Zep memory (if configured)
|
|
106
|
+
|
|
107
|
+
The graph maintains state between interactions, allowing for conversational context to be preserved. Additionally, the Zep memory integration provides long-term persistence of conversation history.
|
|
108
|
+
|
|
109
|
+
## Memory Integration
|
|
110
|
+
|
|
111
|
+
The agent uses Zep for memory persistence. When a Zep API key is provided, the agent will:
|
|
112
|
+
|
|
113
|
+
1. Create a new session in Zep (or use an existing one)
|
|
114
|
+
2. Store all user and AI messages in Zep memory
|
|
115
|
+
3. Maintain conversation history across restarts
|
|
116
|
+
4. Load previous messages when restarted
|
|
117
|
+
5. Provide context to the agent about the previous conversation
|
|
118
|
+
|
|
119
|
+
### User and Session Management
|
|
120
|
+
|
|
121
|
+
The agent supports specifying a user ID and session ID via command-line arguments:
|
|
122
|
+
|
|
123
|
+
- **User ID**: Associates conversations with a specific user in Zep
|
|
124
|
+
- **Session ID**: Uses a specific session ID for the conversation
|
|
125
|
+
|
|
126
|
+
This allows for powerful use cases such as:
|
|
127
|
+
|
|
128
|
+
- **Multi-user support**: Different users can have their own conversation histories
|
|
129
|
+
- **Topic-based sessions**: Create different sessions for different topics (e.g., "travel_planning", "tech_support")
|
|
130
|
+
- **Conversation continuity**: Resume specific conversations by using the same session ID
|
|
131
|
+
- **Organizational structure**: Group related conversations under the same user ID
|
|
132
|
+
- **A/B testing**: Compare different conversation flows by using different session IDs
|
|
133
|
+
|
|
134
|
+
### Advanced Memory Features
|
|
135
|
+
|
|
136
|
+
The Zep memory integration includes several advanced features:
|
|
137
|
+
|
|
138
|
+
- **User Management**: Creates and manages users associated with conversations
|
|
139
|
+
- **Session Management**: Creates and retrieves sessions for persistent conversations
|
|
140
|
+
- **Message Retrieval**: Loads previous messages when the agent is restarted
|
|
141
|
+
- **Memory Search**: Can search for relevant messages based on semantic similarity
|
|
142
|
+
- **Context Retrieval**: Can retrieve context information about the conversation
|
|
143
|
+
|
|
144
|
+
This allows the agent to maintain context over long periods and provide more personalized responses based on past interactions.
|
|
145
|
+
|
|
146
|
+
## Customization
|
|
147
|
+
|
|
148
|
+
You can modify `agent.ts` to:
|
|
149
|
+
|
|
150
|
+
- Change the LLM model
|
|
151
|
+
- Add additional tools
|
|
152
|
+
- Adjust the graph structure
|
|
153
|
+
- Customize the CLI interface
|
|
154
|
+
- Configure memory settings
|
|
155
|
+
|
|
156
|
+
The `zep-memory.ts` file contains the Zep memory integration and can be customized to:
|
|
157
|
+
|
|
158
|
+
- Change how messages are stored and retrieved
|
|
159
|
+
- Modify user and session management
|
|
160
|
+
- Add additional memory features
|
|
161
|
+
- Customize message conversion between LangChain and Zep formats
|
|
162
|
+
|
|
163
|
+
## License
|
|
164
|
+
|
|
165
|
+
MIT
|