@farukada/aws-langgraph-dynamodb-ts 0.0.6 → 0.0.8
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/README.md +191 -745
- package/dist/checkpointer/actions/get-tuple.d.ts.map +1 -1
- package/dist/checkpointer/actions/get-tuple.js.map +1 -1
- package/dist/checkpointer/actions/put.d.ts.map +1 -1
- package/dist/checkpointer/actions/put.js.map +1 -1
- package/dist/checkpointer/index.d.ts +3 -3
- package/dist/checkpointer/index.d.ts.map +1 -1
- package/dist/checkpointer/index.js +4 -4
- package/dist/checkpointer/index.js.map +1 -1
- package/dist/checkpointer/utils/validation.d.ts.map +1 -1
- package/dist/checkpointer/utils/validation.js +1 -0
- package/dist/checkpointer/utils/validation.js.map +1 -1
- package/dist/history/actions/add-message.d.ts +13 -0
- package/dist/history/actions/add-message.d.ts.map +1 -0
- package/dist/history/actions/add-message.js +64 -0
- package/dist/history/actions/add-message.js.map +1 -0
- package/dist/history/actions/add-messages.d.ts +14 -0
- package/dist/history/actions/add-messages.d.ts.map +1 -0
- package/dist/history/actions/add-messages.js +65 -0
- package/dist/history/actions/add-messages.js.map +1 -0
- package/dist/history/actions/clear.d.ts +13 -0
- package/dist/history/actions/clear.d.ts.map +1 -0
- package/dist/history/actions/clear.js +32 -0
- package/dist/history/actions/clear.js.map +1 -0
- package/dist/history/actions/get-messages.d.ts +15 -0
- package/dist/history/actions/get-messages.d.ts.map +1 -0
- package/dist/history/actions/get-messages.js +40 -0
- package/dist/history/actions/get-messages.js.map +1 -0
- package/dist/history/actions/index.d.ts +9 -0
- package/dist/history/actions/index.d.ts.map +1 -0
- package/dist/history/actions/index.js +17 -0
- package/dist/history/actions/index.js.map +1 -0
- package/dist/history/actions/list-sessions.d.ts +14 -0
- package/dist/history/actions/list-sessions.d.ts.map +1 -0
- package/dist/history/actions/list-sessions.js +56 -0
- package/dist/history/actions/list-sessions.js.map +1 -0
- package/dist/history/index.d.ts +74 -0
- package/dist/history/index.d.ts.map +1 -0
- package/dist/history/index.js +125 -0
- package/dist/history/index.js.map +1 -0
- package/dist/history/types/index.d.ts +131 -0
- package/dist/history/types/index.d.ts.map +1 -0
- package/dist/history/types/index.js +6 -0
- package/dist/history/types/index.js.map +1 -0
- package/dist/history/utils/index.d.ts +7 -0
- package/dist/history/utils/index.d.ts.map +1 -0
- package/dist/history/utils/index.js +25 -0
- package/dist/history/utils/index.js.map +1 -0
- package/dist/history/utils/title-generator.d.ts +12 -0
- package/dist/history/utils/title-generator.d.ts.map +1 -0
- package/dist/history/utils/title-generator.js +52 -0
- package/dist/history/utils/title-generator.js.map +1 -0
- package/dist/history/utils/validation.d.ts +60 -0
- package/dist/history/utils/validation.d.ts.map +1 -0
- package/dist/history/utils/validation.js +171 -0
- package/dist/history/utils/validation.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/shared/utils/retry.d.ts.map +1 -1
- package/dist/shared/utils/retry.js +2 -0
- package/dist/shared/utils/retry.js.map +1 -1
- package/dist/store/actions/get-operation.d.ts.map +1 -1
- package/dist/store/actions/get-operation.js.map +1 -1
- package/dist/store/actions/list-namespaces-operation.d.ts.map +1 -1
- package/dist/store/actions/list-namespaces-operation.js.map +1 -1
- package/dist/store/actions/put-operation.d.ts.map +1 -1
- package/dist/store/actions/put-operation.js.map +1 -1
- package/dist/store/actions/search-operation.d.ts.map +1 -1
- package/dist/store/actions/search-operation.js.map +1 -1
- package/dist/store/index.d.ts +3 -3
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +4 -4
- package/dist/store/index.js.map +1 -1
- package/dist/store/utils/validation.d.ts +1 -1
- package/dist/store/utils/validation.d.ts.map +1 -1
- package/dist/store/utils/validation.js +2 -1
- package/dist/store/utils/validation.js.map +1 -1
- package/package.json +10 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-tuple.d.ts","sourceRoot":"","sources":["../../../src/checkpointer/actions/get-tuple.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-tuple.d.ts","sourceRoot":"","sources":["../../../src/checkpointer/actions/get-tuple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,eAAe,EAChB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EAGL,oBAAoB,EAErB,MAAM,UAAU,CAAC;AAGlB;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,QAAQ,oBAAoB,KAC3B,OAAO,CAAC,eAAe,GAAG,SAAS,CAqFrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-tuple.js","sourceRoot":"","sources":["../../../src/checkpointer/actions/get-tuple.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"get-tuple.js","sourceRoot":"","sources":["../../../src/checkpointer/actions/get-tuple.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/checkpointer/actions/put.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/checkpointer/actions/put.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,EAAkB,eAAe,EAAE,MAAM,UAAU,CAAC;AAI3D;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAU,QAAQ,eAAe,KAAG,OAAO,CAAC,cAAc,CA8C/E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put.js","sourceRoot":"","sources":["../../../src/checkpointer/actions/put.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"put.js","sourceRoot":"","sources":["../../../src/checkpointer/actions/put.ts"],"names":[],"mappings":";;;AAEA,mEAA+D;AAE/D,oCAAiE;AACjE,yCAAiD;AAEjD;;;;;;GAMG;AACI,MAAM,SAAS,GAAG,KAAK,EAAE,MAAuB,EAA2B,EAAE;IAClF,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,4CAAoB,EAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAEvE,6CAA6C;IAC7C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,IAAA,4BAAoB,EAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjD,IAAA,uBAAe,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEhC,MAAM,CAAC,KAAK,EAAE,oBAAoB,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACvF,MAAM,CAAC,KAAK,EAAE,kBAAkB,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEnF,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,IAAI,GAAsC;QAC9C,SAAS;QACT,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,IAAI,EAAE;QAC9D,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE;QACnC,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa;QAC/D,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,oBAAoB;QAChC,QAAQ,EAAE,kBAAkB;KAC7B,CAAC;IAEF,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC3E,CAAC;IAED,2BAA2B;IAC3B,MAAM,IAAA,0BAAiB,EAAC,KAAK,IAAI,EAAE;QACjC,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;YACtB,SAAS,EAAE,MAAM,CAAC,oBAAoB;YACtC,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,YAAY,EAAE;YACZ,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC;KACF,CAAC;AACJ,CAAC,CAAC;AA9CW,QAAA,SAAS,aA8CpB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { BaseCheckpointSaver, type Checkpoint, type CheckpointTuple, type CheckpointMetadata, type CheckpointListOptions, type PendingWrite, type ChannelVersions } from '@langchain/langgraph-checkpoint';
|
|
2
|
-
import type { RunnableConfig } from '@langchain/core/runnables';
|
|
3
|
-
import type { DynamoDBSaverOptions } from './types';
|
|
4
1
|
/**
|
|
5
2
|
* DynamoDB-based checkpoint saver for LangGraph
|
|
6
3
|
* Provides persistent storage for checkpoints and pending writes
|
|
7
4
|
*/
|
|
5
|
+
import { BaseCheckpointSaver, type Checkpoint, type CheckpointTuple, type CheckpointMetadata, type CheckpointListOptions, type PendingWrite, type ChannelVersions } from '@langchain/langgraph-checkpoint';
|
|
6
|
+
import type { RunnableConfig } from '@langchain/core/runnables';
|
|
7
|
+
import type { DynamoDBSaverOptions } from './types';
|
|
8
8
|
export declare class DynamoDBSaver extends BaseCheckpointSaver {
|
|
9
9
|
private readonly ddbClient;
|
|
10
10
|
private readonly client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checkpointer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checkpointer/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAkB,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAIpE,qBAAa,aAAc,SAAQ,mBAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAElC;;;;;;;;;OASG;gBACS,OAAO,EAAE,oBAAoB;IASzC;;;;;OAKG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASnD;;;;;;OAMG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAU5E;;;;;;;;;OASG;IACG,GAAG,CACP,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,kBAAkB,EAC5B,WAAW,EAAE,eAAe,GAC3B,OAAO,CAAC,cAAc,CAAC;IAY1B;;;;;;;OAOG;IACG,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9F;;;;;;;OAOG;IACI,IAAI,CACT,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,qBAAqB,GAAG,SAAS,GACzC,cAAc,CAAC,eAAe,CAAC;CAgEnC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* DynamoDB-based checkpoint saver for LangGraph
|
|
4
|
+
* Provides persistent storage for checkpoints and pending writes
|
|
5
|
+
*/
|
|
2
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
7
|
exports.DynamoDBSaver = void 0;
|
|
4
8
|
const langgraph_checkpoint_1 = require("@langchain/langgraph-checkpoint");
|
|
@@ -7,10 +11,6 @@ const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
|
|
|
7
11
|
const actions_1 = require("./actions");
|
|
8
12
|
const utils_1 = require("./utils");
|
|
9
13
|
const shared_1 = require("../shared");
|
|
10
|
-
/**
|
|
11
|
-
* DynamoDB-based checkpoint saver for LangGraph
|
|
12
|
-
* Provides persistent storage for checkpoints and pending writes
|
|
13
|
-
*/
|
|
14
14
|
class DynamoDBSaver extends langgraph_checkpoint_1.BaseCheckpointSaver {
|
|
15
15
|
ddbClient;
|
|
16
16
|
client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checkpointer/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checkpointer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/checkpointer/utils/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,qBAAa,2BAA4B,SAAQ,KAAK;gBACxC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAyBvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,QAAQ,GAAE,OAAe,GACxB,IAAI,CAgCN;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAyB3E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAmBnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAcrD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAc7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAgBjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/checkpointer/utils/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,qBAAa,2BAA4B,SAAQ,KAAK;gBACxC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAyBvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,QAAQ,GAAE,OAAe,GACxB,IAAI,CAgCN;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAyB3E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAmBnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAcrD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAc7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAgBjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAOjE;AAED;;GAEG;AACH,eAAO,MAAM,+BAA+B;;;;;CAKlC,CAAC"}
|
|
@@ -175,6 +175,7 @@ function validateTTLDays(ttlDays) {
|
|
|
175
175
|
(0, utils_1.validateTTLDays)(ttlDays);
|
|
176
176
|
}
|
|
177
177
|
catch (error) {
|
|
178
|
+
// eslint-disable-next-line no-instanceof/no-instanceof
|
|
178
179
|
throw new CheckpointerValidationError(error instanceof Error ? error.message : String(error));
|
|
179
180
|
}
|
|
180
181
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/checkpointer/utils/validation.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAwBH,4CAyBC;AAKD,oDAmCC;AAKD,oDAyBC;AAKD,wCAmBC;AAKD,0CAcC;AAKD,kDAcC;AAKD,8CAgBC;AAKD,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/checkpointer/utils/validation.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAwBH,4CAyBC;AAKD,oDAmCC;AAKD,oDAyBC;AAKD,wCAmBC;AAKD,0CAcC;AAKD,kDAcC;AAKD,8CAgBC;AAKD,0CAOC;AApND,8CAA0E;AAE1E,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AACrC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AACrC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,qBAAqB,GAAG,GAAG,CAAC,CAAC,wCAAwC;AAC3E,MAAM,SAAS,GAAG,KAAK,CAAC;AAExB,MAAa,2BAA4B,SAAQ,KAAK;IACpD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AALD,kEAKC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,2BAA2B,CAAC,4BAA4B,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,2BAA2B,CAAC,2BAA2B,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QAC3C,MAAM,IAAI,2BAA2B,CACnC,uCAAuC,oBAAoB,aAAa,CACzE,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,2BAA2B,CAAC,uCAAuC,SAAS,GAAG,CAAC,CAAC;IAC7F,CAAC;IAED,4CAA4C;IAC5C,4CAA4C;IAC5C,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,2BAA2B,CAAC,6CAA6C,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAClC,YAAgC,EAChC,WAAoB,KAAK;IAEzB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,2BAA2B,CAAC,2BAA2B,CAAC,CAAC;QACrE,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,2BAA2B,CAAC,gCAAgC,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,2BAA2B,CAAC,+BAA+B,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,wBAAwB,EAAE,CAAC;QACnD,MAAM,IAAI,2BAA2B,CACnC,2CAA2C,wBAAwB,aAAa,CACjF,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,2BAA2B,CAAC,2CAA2C,SAAS,GAAG,CAAC,CAAC;IACjG,CAAC;IAED,6BAA6B;IAC7B,4CAA4C;IAC5C,IAAI,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,2BAA2B,CAAC,iDAAiD,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,YAAgC;IACnE,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;QACtD,OAAO,CAAC,6BAA6B;IACvC,CAAC;IAED,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,2BAA2B,CAAC,gCAAgC,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,wBAAwB,EAAE,CAAC;QACnD,MAAM,IAAI,2BAA2B,CACnC,2CAA2C,wBAAwB,aAAa,CACjF,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,2BAA2B,CAAC,2CAA2C,SAAS,GAAG,CAAC,CAAC;IACjG,CAAC;IAED,6BAA6B;IAC7B,4CAA4C;IAC5C,IAAI,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,2BAA2B,CAAC,iDAAiD,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAc;IAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,2BAA2B,CAAC,0BAA0B,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,2BAA2B,CAAC,yBAAyB,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,2BAA2B,CACnC,qCAAqC,kBAAkB,aAAa,CACrE,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,2BAA2B,CAAC,qCAAqC,SAAS,GAAG,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,OAAe;IAC7C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,2BAA2B,CAAC,0BAA0B,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,2BAA2B,CAAC,yBAAyB,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACxC,MAAM,IAAI,2BAA2B,CACnC,qCAAqC,kBAAkB,aAAa,CACrE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,WAAmB;IACrD,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,2BAA2B,CAAC,iCAAiC,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,2BAA2B,CAAC,iCAAiC,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,WAAW,GAAG,oBAAoB,EAAE,CAAC;QACvC,MAAM,IAAI,2BAA2B,CACnC,iBAAiB,WAAW,wBAAwB,oBAAoB,EAAE,CAC3E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAyB;IACzD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,2BAA2B,CAAC,0BAA0B,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,2BAA2B,CAAC,wBAAwB,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,KAAK,GAAG,cAAc,EAAE,CAAC;QAC3B,MAAM,IAAI,2BAA2B,CAAC,uBAAuB,cAAc,EAAE,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,OAA2B;IACzD,IAAI,CAAC;QACH,IAAA,uBAAiB,EAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uDAAuD;QACvD,MAAM,IAAI,2BAA2B,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED;;GAEG;AACU,QAAA,+BAA+B,GAAG;IAC7C,qBAAqB;IACrB,oBAAoB;IACpB,cAAc;IACd,SAAS;CACD,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Add a single message to a session
|
|
3
|
+
*/
|
|
4
|
+
import type { AddMessageActionParams } from '../types';
|
|
5
|
+
/**
|
|
6
|
+
* Add a single message to a session
|
|
7
|
+
* Automatically handles creating a new session with a title
|
|
8
|
+
*
|
|
9
|
+
* @param params - Parameters for the add message operation
|
|
10
|
+
* @throws Error if the operation fails or validation fails
|
|
11
|
+
*/
|
|
12
|
+
export declare const addMessageAction: (params: AddMessageActionParams) => Promise<void>;
|
|
13
|
+
//# sourceMappingURL=add-message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-message.d.ts","sourceRoot":"","sources":["../../../src/history/actions/add-message.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAWvD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAAU,QAAQ,sBAAsB,KAAG,OAAO,CAAC,IAAI,CAyDnF,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Add a single message to a session
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.addMessageAction = void 0;
|
|
7
|
+
const utils_1 = require("../utils");
|
|
8
|
+
/**
|
|
9
|
+
* Add a single message to a session
|
|
10
|
+
* Automatically handles creating a new session with a title
|
|
11
|
+
*
|
|
12
|
+
* @param params - Parameters for the add message operation
|
|
13
|
+
* @throws Error if the operation fails or validation fails
|
|
14
|
+
*/
|
|
15
|
+
const addMessageAction = async (params) => {
|
|
16
|
+
const { client, tableName, userId, sessionId, message, title, ttlDays } = params;
|
|
17
|
+
// Validate inputs
|
|
18
|
+
(0, utils_1.validateUserId)(userId);
|
|
19
|
+
(0, utils_1.validateSessionId)(sessionId);
|
|
20
|
+
(0, utils_1.validateMessage)(message);
|
|
21
|
+
(0, utils_1.validateTitle)(title);
|
|
22
|
+
(0, utils_1.validateTTLDays)(ttlDays);
|
|
23
|
+
const now = Date.now();
|
|
24
|
+
// Generate a title if this is the first message and no title provided
|
|
25
|
+
let sessionTitle = title;
|
|
26
|
+
if (!sessionTitle) {
|
|
27
|
+
sessionTitle = (0, utils_1.generateTitle)(message);
|
|
28
|
+
}
|
|
29
|
+
// Build update expression
|
|
30
|
+
const updateExpressionParts = ['updatedAt = :updatedAt'];
|
|
31
|
+
const expressionAttributeValues = {
|
|
32
|
+
':updatedAt': now,
|
|
33
|
+
':createdAt': now,
|
|
34
|
+
':emptyList': [],
|
|
35
|
+
':one': 1,
|
|
36
|
+
':message': [message],
|
|
37
|
+
};
|
|
38
|
+
if (sessionTitle) {
|
|
39
|
+
updateExpressionParts.push('title = if_not_exists(title, :title)');
|
|
40
|
+
expressionAttributeValues[':title'] = sessionTitle;
|
|
41
|
+
}
|
|
42
|
+
updateExpressionParts.push('messages = list_append(if_not_exists(messages, :emptyList), :message)');
|
|
43
|
+
updateExpressionParts.push('messageCount = if_not_exists(messageCount, :zero) + :one');
|
|
44
|
+
expressionAttributeValues[':zero'] = 0;
|
|
45
|
+
// Add TTL if configured
|
|
46
|
+
if (ttlDays !== undefined) {
|
|
47
|
+
updateExpressionParts.push('ttl = :ttl');
|
|
48
|
+
expressionAttributeValues[':ttl'] = Math.floor(Date.now() / 1000) + ttlDays * 24 * 60 * 60;
|
|
49
|
+
}
|
|
50
|
+
// Execute with retry logic
|
|
51
|
+
await (0, utils_1.withDynamoDBRetry)(async () => {
|
|
52
|
+
await client.update({
|
|
53
|
+
TableName: tableName,
|
|
54
|
+
Key: {
|
|
55
|
+
userId,
|
|
56
|
+
sessionId,
|
|
57
|
+
},
|
|
58
|
+
UpdateExpression: `SET ${updateExpressionParts.join(', ')}, createdAt = if_not_exists(createdAt, :createdAt)`,
|
|
59
|
+
ExpressionAttributeValues: expressionAttributeValues,
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
exports.addMessageAction = addMessageAction;
|
|
64
|
+
//# sourceMappingURL=add-message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-message.js","sourceRoot":"","sources":["../../../src/history/actions/add-message.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,oCAQkB;AAElB;;;;;;GAMG;AACI,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAA8B,EAAiB,EAAE;IACtF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEjF,kBAAkB;IAClB,IAAA,sBAAc,EAAC,MAAM,CAAC,CAAC;IACvB,IAAA,yBAAiB,EAAC,SAAS,CAAC,CAAC;IAC7B,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC;IACzB,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;IACrB,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC;IAEzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,sEAAsE;IACtE,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,IAAA,qBAAa,EAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,0BAA0B;IAC1B,MAAM,qBAAqB,GAAa,CAAC,wBAAwB,CAAC,CAAC;IACnE,MAAM,yBAAyB,GAAwB;QACrD,YAAY,EAAE,GAAG;QACjB,YAAY,EAAE,GAAG;QACjB,YAAY,EAAE,EAAE;QAChB,MAAM,EAAE,CAAC;QACT,UAAU,EAAE,CAAC,OAAO,CAAC;KACtB,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,qBAAqB,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACnE,yBAAyB,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;IACrD,CAAC;IAED,qBAAqB,CAAC,IAAI,CACxB,uEAAuE,CACxE,CAAC;IACF,qBAAqB,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IACvF,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEvC,wBAAwB;IACxB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzC,yBAAyB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC7F,CAAC;IAED,2BAA2B;IAC3B,MAAM,IAAA,yBAAiB,EAAC,KAAK,IAAI,EAAE;QACjC,MAAM,MAAM,CAAC,MAAM,CAAC;YAClB,SAAS,EAAE,SAAS;YACpB,GAAG,EAAE;gBACH,MAAM;gBACN,SAAS;aACV;YACD,gBAAgB,EAAE,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,oDAAoD;YAC7G,yBAAyB,EAAE,yBAAyB;SACrD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAzDW,QAAA,gBAAgB,oBAyD3B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Add multiple messages to a session
|
|
3
|
+
*/
|
|
4
|
+
import type { AddMessagesActionParams } from '../types';
|
|
5
|
+
/**
|
|
6
|
+
* Add multiple messages to a session
|
|
7
|
+
* Automatically handles creating a new session with title
|
|
8
|
+
* Preferred over calling addMessage multiple times
|
|
9
|
+
*
|
|
10
|
+
* @param params - Parameters for the add messages operation
|
|
11
|
+
* @throws Error if the operation fails or validation fails
|
|
12
|
+
*/
|
|
13
|
+
export declare const addMessagesAction: (params: AddMessagesActionParams) => Promise<void>;
|
|
14
|
+
//# sourceMappingURL=add-messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-messages.d.ts","sourceRoot":"","sources":["../../../src/history/actions/add-messages.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAWxD;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAU,QAAQ,uBAAuB,KAAG,OAAO,CAAC,IAAI,CAyDrF,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Add multiple messages to a session
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.addMessagesAction = void 0;
|
|
7
|
+
const utils_1 = require("../utils");
|
|
8
|
+
/**
|
|
9
|
+
* Add multiple messages to a session
|
|
10
|
+
* Automatically handles creating a new session with title
|
|
11
|
+
* Preferred over calling addMessage multiple times
|
|
12
|
+
*
|
|
13
|
+
* @param params - Parameters for the add messages operation
|
|
14
|
+
* @throws Error if the operation fails or validation fails
|
|
15
|
+
*/
|
|
16
|
+
const addMessagesAction = async (params) => {
|
|
17
|
+
const { client, tableName, userId, sessionId, messages, title, ttlDays } = params;
|
|
18
|
+
// Validate inputs
|
|
19
|
+
(0, utils_1.validateUserId)(userId);
|
|
20
|
+
(0, utils_1.validateSessionId)(sessionId);
|
|
21
|
+
(0, utils_1.validateMessages)(messages);
|
|
22
|
+
(0, utils_1.validateTitle)(title);
|
|
23
|
+
(0, utils_1.validateTTLDays)(ttlDays);
|
|
24
|
+
const now = Date.now();
|
|
25
|
+
// Generate a title if this is the first message batch and no title provided
|
|
26
|
+
let sessionTitle = title;
|
|
27
|
+
if (!sessionTitle) {
|
|
28
|
+
sessionTitle = (0, utils_1.generateTitle)(messages[0]);
|
|
29
|
+
}
|
|
30
|
+
// Build update expression
|
|
31
|
+
const updateExpressionParts = ['updatedAt = :updatedAt'];
|
|
32
|
+
const expressionAttributeValues = {
|
|
33
|
+
':updatedAt': now,
|
|
34
|
+
':createdAt': now,
|
|
35
|
+
':emptyList': [],
|
|
36
|
+
':messageCount': messages.length,
|
|
37
|
+
':messages': messages,
|
|
38
|
+
};
|
|
39
|
+
if (sessionTitle) {
|
|
40
|
+
updateExpressionParts.push('title = if_not_exists(title, :title)');
|
|
41
|
+
expressionAttributeValues[':title'] = sessionTitle;
|
|
42
|
+
}
|
|
43
|
+
updateExpressionParts.push('messages = list_append(if_not_exists(messages, :emptyList), :messages)');
|
|
44
|
+
updateExpressionParts.push('messageCount = if_not_exists(messageCount, :zero) + :messageCount');
|
|
45
|
+
expressionAttributeValues[':zero'] = 0;
|
|
46
|
+
// Add TTL if configured
|
|
47
|
+
if (ttlDays !== undefined) {
|
|
48
|
+
updateExpressionParts.push('ttl = :ttl');
|
|
49
|
+
expressionAttributeValues[':ttl'] = Math.floor(Date.now() / 1000) + ttlDays * 24 * 60 * 60;
|
|
50
|
+
}
|
|
51
|
+
// Execute with retry logic
|
|
52
|
+
await (0, utils_1.withDynamoDBRetry)(async () => {
|
|
53
|
+
await client.update({
|
|
54
|
+
TableName: tableName,
|
|
55
|
+
Key: {
|
|
56
|
+
userId,
|
|
57
|
+
sessionId,
|
|
58
|
+
},
|
|
59
|
+
UpdateExpression: `SET ${updateExpressionParts.join(', ')}, createdAt = if_not_exists(createdAt, :createdAt)`,
|
|
60
|
+
ExpressionAttributeValues: expressionAttributeValues,
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
exports.addMessagesAction = addMessagesAction;
|
|
65
|
+
//# sourceMappingURL=add-messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-messages.js","sourceRoot":"","sources":["../../../src/history/actions/add-messages.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,oCAQkB;AAElB;;;;;;;GAOG;AACI,MAAM,iBAAiB,GAAG,KAAK,EAAE,MAA+B,EAAiB,EAAE;IACxF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAElF,kBAAkB;IAClB,IAAA,sBAAc,EAAC,MAAM,CAAC,CAAC;IACvB,IAAA,yBAAiB,EAAC,SAAS,CAAC,CAAC;IAC7B,IAAA,wBAAgB,EAAC,QAAQ,CAAC,CAAC;IAC3B,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;IACrB,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC;IAEzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,4EAA4E;IAC5E,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,IAAA,qBAAa,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,0BAA0B;IAC1B,MAAM,qBAAqB,GAAa,CAAC,wBAAwB,CAAC,CAAC;IACnE,MAAM,yBAAyB,GAAwB;QACrD,YAAY,EAAE,GAAG;QACjB,YAAY,EAAE,GAAG;QACjB,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,QAAQ,CAAC,MAAM;QAChC,WAAW,EAAE,QAAQ;KACtB,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,qBAAqB,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACnE,yBAAyB,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;IACrD,CAAC;IAED,qBAAqB,CAAC,IAAI,CACxB,wEAAwE,CACzE,CAAC;IACF,qBAAqB,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IAChG,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEvC,wBAAwB;IACxB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzC,yBAAyB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC7F,CAAC;IAED,2BAA2B;IAC3B,MAAM,IAAA,yBAAiB,EAAC,KAAK,IAAI,EAAE;QACjC,MAAM,MAAM,CAAC,MAAM,CAAC;YAClB,SAAS,EAAE,SAAS;YACpB,GAAG,EAAE;gBACH,MAAM;gBACN,SAAS;aACV;YACD,gBAAgB,EAAE,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,oDAAoD;YAC7G,yBAAyB,EAAE,yBAAyB;SACrD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAzDW,QAAA,iBAAiB,qBAyD5B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clear all messages in a session
|
|
3
|
+
*/
|
|
4
|
+
import type { ClearActionParams } from '../types';
|
|
5
|
+
/**
|
|
6
|
+
* Clear all messages in a session by deleting the session item
|
|
7
|
+
* No error is thrown if the session doesn't exist
|
|
8
|
+
*
|
|
9
|
+
* @param params - Parameters for the clear operation
|
|
10
|
+
* @throws Error if the operation fails or validation fails
|
|
11
|
+
*/
|
|
12
|
+
export declare const clearAction: (params: ClearActionParams) => Promise<void>;
|
|
13
|
+
//# sourceMappingURL=clear.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clear.d.ts","sourceRoot":"","sources":["../../../src/history/actions/clear.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAU,QAAQ,iBAAiB,KAAG,OAAO,CAAC,IAAI,CAiBzE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Clear all messages in a session
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.clearAction = void 0;
|
|
7
|
+
const utils_1 = require("../utils");
|
|
8
|
+
/**
|
|
9
|
+
* Clear all messages in a session by deleting the session item
|
|
10
|
+
* No error is thrown if the session doesn't exist
|
|
11
|
+
*
|
|
12
|
+
* @param params - Parameters for the clear operation
|
|
13
|
+
* @throws Error if the operation fails or validation fails
|
|
14
|
+
*/
|
|
15
|
+
const clearAction = async (params) => {
|
|
16
|
+
const { client, tableName, userId, sessionId } = params;
|
|
17
|
+
// Validate inputs
|
|
18
|
+
(0, utils_1.validateUserId)(userId);
|
|
19
|
+
(0, utils_1.validateSessionId)(sessionId);
|
|
20
|
+
// Execute delete with retry logic
|
|
21
|
+
await (0, utils_1.withDynamoDBRetry)(async () => {
|
|
22
|
+
await client.delete({
|
|
23
|
+
TableName: tableName,
|
|
24
|
+
Key: {
|
|
25
|
+
userId,
|
|
26
|
+
sessionId,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
exports.clearAction = clearAction;
|
|
32
|
+
//# sourceMappingURL=clear.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clear.js","sourceRoot":"","sources":["../../../src/history/actions/clear.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,oCAAgF;AAEhF;;;;;;GAMG;AACI,MAAM,WAAW,GAAG,KAAK,EAAE,MAAyB,EAAiB,EAAE;IAC5E,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAExD,kBAAkB;IAClB,IAAA,sBAAc,EAAC,MAAM,CAAC,CAAC;IACvB,IAAA,yBAAiB,EAAC,SAAS,CAAC,CAAC;IAE7B,kCAAkC;IAClC,MAAM,IAAA,yBAAiB,EAAC,KAAK,IAAI,EAAE;QACjC,MAAM,MAAM,CAAC,MAAM,CAAC;YAClB,SAAS,EAAE,SAAS;YACpB,GAAG,EAAE;gBACH,MAAM;gBACN,SAAS;aACV;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAjBW,QAAA,WAAW,eAiBtB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get all messages for a session
|
|
3
|
+
*/
|
|
4
|
+
import { BaseMessage } from '@langchain/core/messages';
|
|
5
|
+
import type { GetMessagesActionParams } from '../types';
|
|
6
|
+
/**
|
|
7
|
+
* Get all messages for a session from DynamoDB
|
|
8
|
+
* Messages are returned in chronological order
|
|
9
|
+
*
|
|
10
|
+
* @param params - Parameters for the get messages operation
|
|
11
|
+
* @returns Array of BaseMessage objects in chronological order
|
|
12
|
+
* @throws Error if the operation fails or validation fails
|
|
13
|
+
*/
|
|
14
|
+
export declare const getMessagesAction: (params: GetMessagesActionParams) => Promise<BaseMessage[]>;
|
|
15
|
+
//# sourceMappingURL=get-messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-messages.d.ts","sourceRoot":"","sources":["../../../src/history/actions/get-messages.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,EAAE,uBAAuB,EAAuB,MAAM,UAAU,CAAC;AAG7E;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,uBAAuB,KAC9B,OAAO,CAAC,WAAW,EAAE,CA2BvB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Get all messages for a session
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getMessagesAction = void 0;
|
|
7
|
+
const utils_1 = require("../utils");
|
|
8
|
+
/**
|
|
9
|
+
* Get all messages for a session from DynamoDB
|
|
10
|
+
* Messages are returned in chronological order
|
|
11
|
+
*
|
|
12
|
+
* @param params - Parameters for the get messages operation
|
|
13
|
+
* @returns Array of BaseMessage objects in chronological order
|
|
14
|
+
* @throws Error if the operation fails or validation fails
|
|
15
|
+
*/
|
|
16
|
+
const getMessagesAction = async (params) => {
|
|
17
|
+
const { client, tableName, userId, sessionId } = params;
|
|
18
|
+
// Validate inputs
|
|
19
|
+
(0, utils_1.validateUserId)(userId);
|
|
20
|
+
(0, utils_1.validateSessionId)(sessionId);
|
|
21
|
+
// Execute with retry logic
|
|
22
|
+
const result = await (0, utils_1.withDynamoDBRetry)(async () => {
|
|
23
|
+
return await client.get({
|
|
24
|
+
TableName: tableName,
|
|
25
|
+
Key: {
|
|
26
|
+
userId,
|
|
27
|
+
sessionId,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
// Return empty array if session doesn't exist
|
|
32
|
+
if (!result.Item) {
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
35
|
+
const item = result.Item;
|
|
36
|
+
// Return messages array (already in chronological order)
|
|
37
|
+
return item.messages || [];
|
|
38
|
+
};
|
|
39
|
+
exports.getMessagesAction = getMessagesAction;
|
|
40
|
+
//# sourceMappingURL=get-messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-messages.js","sourceRoot":"","sources":["../../../src/history/actions/get-messages.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAKH,oCAAgF;AAEhF;;;;;;;GAOG;AACI,MAAM,iBAAiB,GAAG,KAAK,EACpC,MAA+B,EACP,EAAE;IAC1B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAExD,kBAAkB;IAClB,IAAA,sBAAc,EAAC,MAAM,CAAC,CAAC;IACvB,IAAA,yBAAiB,EAAC,SAAS,CAAC,CAAC;IAE7B,2BAA2B;IAC3B,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAiB,EAAC,KAAK,IAAI,EAAE;QAChD,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC;YACtB,SAAS,EAAE,SAAS;YACpB,GAAG,EAAE;gBACH,MAAM;gBACN,SAAS;aACV;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,8CAA8C;IAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAA2B,CAAC;IAEhD,yDAAyD;IACzD,OAAO,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;AAC7B,CAAC,CAAC;AA7BW,QAAA,iBAAiB,qBA6B5B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Action functions for chat message history operations
|
|
3
|
+
*/
|
|
4
|
+
export { getMessagesAction } from './get-messages';
|
|
5
|
+
export { addMessageAction } from './add-message';
|
|
6
|
+
export { addMessagesAction } from './add-messages';
|
|
7
|
+
export { clearAction } from './clear';
|
|
8
|
+
export { listSessionsAction } from './list-sessions';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/history/actions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Action functions for chat message history operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.listSessionsAction = exports.clearAction = exports.addMessagesAction = exports.addMessageAction = exports.getMessagesAction = void 0;
|
|
7
|
+
var get_messages_1 = require("./get-messages");
|
|
8
|
+
Object.defineProperty(exports, "getMessagesAction", { enumerable: true, get: function () { return get_messages_1.getMessagesAction; } });
|
|
9
|
+
var add_message_1 = require("./add-message");
|
|
10
|
+
Object.defineProperty(exports, "addMessageAction", { enumerable: true, get: function () { return add_message_1.addMessageAction; } });
|
|
11
|
+
var add_messages_1 = require("./add-messages");
|
|
12
|
+
Object.defineProperty(exports, "addMessagesAction", { enumerable: true, get: function () { return add_messages_1.addMessagesAction; } });
|
|
13
|
+
var clear_1 = require("./clear");
|
|
14
|
+
Object.defineProperty(exports, "clearAction", { enumerable: true, get: function () { return clear_1.clearAction; } });
|
|
15
|
+
var list_sessions_1 = require("./list-sessions");
|
|
16
|
+
Object.defineProperty(exports, "listSessionsAction", { enumerable: true, get: function () { return list_sessions_1.listSessionsAction; } });
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/history/actions/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,6CAAiD;AAAxC,+GAAA,gBAAgB,OAAA;AACzB,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,iCAAsC;AAA7B,oGAAA,WAAW,OAAA;AACpB,iDAAqD;AAA5C,mHAAA,kBAAkB,OAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* List all sessions for a user
|
|
3
|
+
*/
|
|
4
|
+
import type { ListSessionsActionParams, SessionMetadata } from '../types';
|
|
5
|
+
/**
|
|
6
|
+
* List all sessions for a user, sorted by most recent
|
|
7
|
+
* Uses projection expression to exclude messages for performance
|
|
8
|
+
*
|
|
9
|
+
* @param params - Parameters for the list sessions operation
|
|
10
|
+
* @returns Array of session metadata, sorted by most recent first
|
|
11
|
+
* @throws Error if the operation fails or validation fails
|
|
12
|
+
*/
|
|
13
|
+
export declare const listSessionsAction: (params: ListSessionsActionParams) => Promise<SessionMetadata[]>;
|
|
14
|
+
//# sourceMappingURL=list-sessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-sessions.d.ts","sourceRoot":"","sources":["../../../src/history/actions/list-sessions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG1E;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,wBAAwB,KAC/B,OAAO,CAAC,eAAe,EAAE,CA8C3B,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* List all sessions for a user
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.listSessionsAction = void 0;
|
|
7
|
+
const utils_1 = require("../utils");
|
|
8
|
+
/**
|
|
9
|
+
* List all sessions for a user, sorted by most recent
|
|
10
|
+
* Uses projection expression to exclude messages for performance
|
|
11
|
+
*
|
|
12
|
+
* @param params - Parameters for the list sessions operation
|
|
13
|
+
* @returns Array of session metadata, sorted by most recent first
|
|
14
|
+
* @throws Error if the operation fails or validation fails
|
|
15
|
+
*/
|
|
16
|
+
const listSessionsAction = async (params) => {
|
|
17
|
+
const { client, tableName, userId, limit } = params;
|
|
18
|
+
// Validate inputs
|
|
19
|
+
(0, utils_1.validateUserId)(userId);
|
|
20
|
+
(0, utils_1.validateLimit)(limit);
|
|
21
|
+
const sessions = [];
|
|
22
|
+
let lastEvaluatedKey;
|
|
23
|
+
// Paginate through all results
|
|
24
|
+
do {
|
|
25
|
+
const result = await (0, utils_1.withDynamoDBRetry)(async () => {
|
|
26
|
+
return await client.query({
|
|
27
|
+
TableName: tableName,
|
|
28
|
+
KeyConditionExpression: 'userId = :userId',
|
|
29
|
+
ExpressionAttributeValues: {
|
|
30
|
+
':userId': userId,
|
|
31
|
+
},
|
|
32
|
+
ProjectionExpression: 'sessionId, title, createdAt, updatedAt, messageCount',
|
|
33
|
+
Limit: limit,
|
|
34
|
+
ExclusiveStartKey: lastEvaluatedKey,
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
if (!result.Items || result.Items.length === 0) {
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
// Map items to SessionMetadata
|
|
41
|
+
const mappedSessions = result.Items.map((item) => ({
|
|
42
|
+
sessionId: item.sessionId,
|
|
43
|
+
title: item.title,
|
|
44
|
+
createdAt: item.createdAt,
|
|
45
|
+
updatedAt: item.updatedAt,
|
|
46
|
+
messageCount: item.messageCount,
|
|
47
|
+
}));
|
|
48
|
+
sessions.push(...mappedSessions);
|
|
49
|
+
lastEvaluatedKey = result.LastEvaluatedKey;
|
|
50
|
+
} while (lastEvaluatedKey);
|
|
51
|
+
// Sort by most recent first (updatedAt DESC)
|
|
52
|
+
sessions.sort((a, b) => b.updatedAt - a.updatedAt);
|
|
53
|
+
return sessions;
|
|
54
|
+
};
|
|
55
|
+
exports.listSessionsAction = listSessionsAction;
|
|
56
|
+
//# sourceMappingURL=list-sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-sessions.js","sourceRoot":"","sources":["../../../src/history/actions/list-sessions.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,oCAA4E;AAE5E;;;;;;;GAOG;AACI,MAAM,kBAAkB,GAAG,KAAK,EACrC,MAAgC,EACJ,EAAE;IAC9B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAEpD,kBAAkB;IAClB,IAAA,sBAAc,EAAC,MAAM,CAAC,CAAC;IACvB,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;IAErB,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,IAAI,gBAAiD,CAAC;IAEtD,+BAA+B;IAC/B,GAAG,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAiB,EAAC,KAAK,IAAI,EAAE;YAChD,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC;gBACxB,SAAS,EAAE,SAAS;gBACpB,sBAAsB,EAAE,kBAAkB;gBAC1C,yBAAyB,EAAE;oBACzB,SAAS,EAAE,MAAM;iBAClB;gBACD,oBAAoB,EAAE,sDAAsD;gBAC5E,KAAK,EAAE,KAAK;gBACZ,iBAAiB,EAAE,gBAAgB;aACpC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM;QACR,CAAC;QAED,+BAA+B;QAC/B,MAAM,cAAc,GAAsB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpE,SAAS,EAAE,IAAI,CAAC,SAAmB;YACnC,KAAK,EAAE,IAAI,CAAC,KAAe;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAmB;YACnC,SAAS,EAAE,IAAI,CAAC,SAAmB;YACnC,YAAY,EAAE,IAAI,CAAC,YAAsB;SAC1C,CAAC,CAAC,CAAC;QAEJ,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QACjC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAC7C,CAAC,QAAQ,gBAAgB,EAAE;IAE3B,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAEnD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAhDW,QAAA,kBAAkB,sBAgD7B"}
|